]> git.proxmox.com Git - mirror_edk2.git/blob - ArmPkg/Library/ArmMtlNullLib/ArmMtlNullLib.c
f1862371113e342e4a4c8059be27884842210d08
[mirror_edk2.git] / ArmPkg / Library / ArmMtlNullLib / ArmMtlNullLib.c
1 /** @file
2
3 Copyright (c) 2017-2018, Arm Limited. All rights reserved.
4
5 This program and the accompanying materials
6 are licensed and made available under the terms and conditions of the BSD License
7 which accompanies this distribution. The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php
9
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12
13 System Control and Management Interface V1.0
14 http://infocenter.arm.com/help/topic/com.arm.doc.den0056a/
15 DEN0056A_System_Control_and_Management_Interface.pdf
16 **/
17
18 #include <Library/ArmMtlLib.h>
19 #include <Library/DebugLib.h>
20
21 /** Wait until channel is free.
22
23 @param[in] Channel Pointer to a channel.
24 @param[in] TimeOutInMicroSeconds Timeout in micro seconds.
25
26 @retval EFI_UNSUPPORTED Interface not implemented.
27 **/
28 EFI_STATUS
29 MtlWaitUntilChannelFree (
30 IN MTL_CHANNEL *Channel,
31 IN UINTN TimeOutInMicroSeconds
32 )
33 {
34 return EFI_UNSUPPORTED;
35 }
36
37 /** Return the address of the message payload.
38
39 @param[in] Channel Pointer to a channel.
40
41 @retval UINT32* Pointer to the payload.
42 **/
43 UINT32*
44 MtlGetChannelPayload (
45 IN MTL_CHANNEL *Channel
46 )
47 {
48 ASSERT (FALSE);
49 return NULL;
50 }
51
52 /** Return pointer to a channel for the requested channel type.
53
54 @param[in] ChannelType ChannelType, Low or High priority channel.
55 MTL_CHANNEL_TYPE_LOW or
56 MTL_CHANNEL_TYPE_HIGH
57
58 @param[out] Channel Holds pointer to the channel.
59
60 @retval EFI_UNSUPPORTED Requested channel type not supported or
61 interface not implemented.
62 **/
63 EFI_STATUS
64 MtlGetChannel (
65 IN MTL_CHANNEL_TYPE ChannelType,
66 OUT MTL_CHANNEL **Channel
67 )
68 {
69 return EFI_UNSUPPORTED;
70 }
71
72 /** Mark the channel busy and ring the doorbell.
73
74 @param[in] Channel Pointer to a channel.
75 @param[in] MessageHeader Message header.
76
77 @param[out] PayloadLength Message length.
78
79 @retval EFI_UNSUPPORTED Interface not implemented.
80 **/
81 EFI_STATUS
82 MtlSendMessage (
83 IN MTL_CHANNEL *Channel,
84 IN UINT32 MessageHeader,
85 OUT UINT32 PayloadLength
86 )
87 {
88 return EFI_UNSUPPORTED;
89 }
90
91 /** Wait for a response on a channel.
92
93 If channel is free after sending message, it implies SCP responded
94 with a response on the channel.
95
96 @param[in] Channel Pointer to a channel.
97
98 @retval EFI_UNSUPPORTED Interface not implemented.
99 **/
100 EFI_STATUS
101 MtlReceiveMessage (
102 IN MTL_CHANNEL *Channel,
103 OUT UINT32 *MessageHeader,
104 OUT UINT32 *PayloadLength
105 )
106 {
107 return EFI_UNSUPPORTED;
108 }