TianoCore EDK2 master
Loading...
Searching...
No Matches
SdMmcPassThru.h
Go to the documentation of this file.
1
10#ifndef __SD_MMC_PASS_THRU_H__
11#define __SD_MMC_PASS_THRU_H__
12
13#define EFI_SD_MMC_PASS_THRU_PROTOCOL_GUID \
14 { \
15 0x716ef0d9, 0xff83, 0x4f69, {0x81, 0xe9, 0x51, 0x8b, 0xd3, 0x9a, 0x8e, 0x70 } \
16 }
17
19
20typedef enum {
21 SdMmcCommandTypeBc, // Broadcast commands, no response
22 SdMmcCommandTypeBcr, // Broadcast commands with response
23 SdMmcCommandTypeAc, // Addressed(point-to-point) commands
24 SdMmcCommandTypeAdtc // Addressed(point-to-point) data transfer commands
25} EFI_SD_MMC_COMMAND_TYPE;
26
27typedef enum {
28 SdMmcResponseTypeR1,
29 SdMmcResponseTypeR1b,
30 SdMmcResponseTypeR2,
31 SdMmcResponseTypeR3,
32 SdMmcResponseTypeR4,
33 SdMmcResponseTypeR5,
34 SdMmcResponseTypeR5b,
35 SdMmcResponseTypeR6,
36 SdMmcResponseTypeR7
37} EFI_SD_MMC_RESPONSE_TYPE;
38
40 UINT16 CommandIndex;
41 UINT32 CommandArgument;
42 UINT32 CommandType; // One of the EFI_SD_MMC_COMMAND_TYPE values
43 UINT32 ResponseType; // One of the EFI_SD_MMC_RESPONSE_TYPE values
45
47 UINT32 Resp0;
48 UINT32 Resp1;
49 UINT32 Resp2;
50 UINT32 Resp3;
52
54 UINT64 Timeout;
55 EFI_SD_MMC_COMMAND_BLOCK *SdMmcCmdBlk;
56 EFI_SD_MMC_STATUS_BLOCK *SdMmcStatusBlk;
57 VOID *InDataBuffer;
58 VOID *OutDataBuffer;
59 UINT32 InTransferLength;
60 UINT32 OutTransferLength;
61 EFI_STATUS TransactionStatus;
63
101typedef
105 IN UINT8 Slot,
107 IN EFI_EVENT Event OPTIONAL
108 );
109
139typedef
143 IN OUT UINT8 *Slot
144 );
145
180typedef
184 IN UINT8 Slot,
185 OUT EFI_DEVICE_PATH_PROTOCOL **DevicePath
186 );
187
209typedef
213 IN EFI_DEVICE_PATH_PROTOCOL *DevicePath,
214 OUT UINT8 *Slot
215 );
216
240typedef
244 IN UINT8 Slot
245 );
246
248 UINT32 IoAlign;
254};
255
256extern EFI_GUID gEfiSdMmcPassThruProtocolGuid;
257
258#endif
#define OPTIONAL
Definition: Base.h:290
#define IN
Definition: Base.h:279
#define OUT
Definition: Base.h:284
EFI_STATUS(EFIAPI * EFI_SD_MMC_PASS_THRU_GET_SLOT_NUMBER)(IN EFI_SD_MMC_PASS_THRU_PROTOCOL *This, IN EFI_DEVICE_PATH_PROTOCOL *DevicePath, OUT UINT8 *Slot)
EFI_STATUS(EFIAPI * EFI_SD_MMC_PASS_THRU_BUILD_DEVICE_PATH)(IN EFI_SD_MMC_PASS_THRU_PROTOCOL *This, IN UINT8 Slot, OUT EFI_DEVICE_PATH_PROTOCOL **DevicePath)
EFI_STATUS(EFIAPI * EFI_SD_MMC_PASS_THRU_GET_NEXT_SLOT)(IN EFI_SD_MMC_PASS_THRU_PROTOCOL *This, IN OUT UINT8 *Slot)
EFI_STATUS(EFIAPI * EFI_SD_MMC_PASS_THRU_PASSTHRU)(IN EFI_SD_MMC_PASS_THRU_PROTOCOL *This, IN UINT8 Slot, IN OUT EFI_SD_MMC_PASS_THRU_COMMAND_PACKET *Packet, IN EFI_EVENT Event OPTIONAL)
EFI_STATUS(EFIAPI * EFI_SD_MMC_PASS_THRU_RESET_DEVICE)(IN EFI_SD_MMC_PASS_THRU_PROTOCOL *This, IN UINT8 Slot)
RETURN_STATUS EFI_STATUS
Definition: UefiBaseType.h:29
VOID * EFI_EVENT
Definition: UefiBaseType.h:37
Definition: Base.h:213