mirror of https://github.com/acidanthera/audk.git
109 lines
2.8 KiB
C
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;
|
||
|
}
|