Files
system76-edk2/ArmPkg/Library/ArmMtlNullLib/ArmMtlNullLib.c
Girish Pathak 38a00bae86 ArmPkg: MTL Library interface and Null library implementation
Upcoming new component ArmPkg/Drivers/ArmScmiDxe is dependent on
platform specific ArmMtlLib library implementation, however in order
to be able to build the ArmScmiDxe component outside of the context of a
particular platform, this change adds Null implementation of the
ArmMtlLib along with ARM MTL library header.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Girish Pathak <girish.pathak@arm.com>
Signed-off-by: Evan Lloyd <evan.lloyd@arm.com>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
2018-04-23 12:12:23 +01:00

109 lines
2.8 KiB
C

/** @file
Copyright (c) 2017-2018, Arm Limited. All rights reserved.
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
http://opensource.org/licenses/bsd-license.php
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
System Control and Management Interface V1.0
http://infocenter.arm.com/help/topic/com.arm.doc.den0056a/
DEN0056A_System_Control_and_Management_Interface.pdf
**/
#include <Library/ArmMtlLib.h>
#include <Library/DebugLib.h>
/** Wait until channel is free.
@param[in] Channel Pointer to a channel.
@param[in] TimeOutInMicroSeconds Timeout in micro seconds.
@retval EFI_UNSUPPORTED Interface not implemented.
**/
EFI_STATUS
MtlWaitUntilChannelFree (
IN MTL_CHANNEL *Channel,
IN UINTN TimeOutInMicroSeconds
)
{
return EFI_UNSUPPORTED;
}
/** Return the address of the message payload.
@param[in] Channel Pointer to a channel.
@retval UINT32* Pointer to the payload.
**/
UINT32*
MtlGetChannelPayload (
IN MTL_CHANNEL *Channel
)
{
ASSERT (FALSE);
return NULL;
}
/** Return pointer to a channel for the requested channel type.
@param[in] ChannelType ChannelType, Low or High priority channel.
MTL_CHANNEL_TYPE_LOW or
MTL_CHANNEL_TYPE_HIGH
@param[out] Channel Holds pointer to the channel.
@retval EFI_UNSUPPORTED Requested channel type not supported or
interface not implemented.
**/
EFI_STATUS
MtlGetChannel (
IN MTL_CHANNEL_TYPE ChannelType,
OUT MTL_CHANNEL **Channel
)
{
return EFI_UNSUPPORTED;
}
/** Mark the channel busy and ring the doorbell.
@param[in] Channel Pointer to a channel.
@param[in] MessageHeader Message header.
@param[out] PayloadLength Message length.
@retval EFI_UNSUPPORTED Interface not implemented.
**/
EFI_STATUS
MtlSendMessage (
IN MTL_CHANNEL *Channel,
IN UINT32 MessageHeader,
OUT UINT32 PayloadLength
)
{
return EFI_UNSUPPORTED;
}
/** Wait for a response on a channel.
If channel is free after sending message, it implies SCP responded
with a response on the channel.
@param[in] Channel Pointer to a channel.
@retval EFI_UNSUPPORTED Interface not implemented.
**/
EFI_STATUS
MtlReceiveMessage (
IN MTL_CHANNEL *Channel,
OUT UINT32 *MessageHeader,
OUT UINT32 *PayloadLength
)
{
return EFI_UNSUPPORTED;
}