13#ifndef __SPI_HC_PROTOCOL_H__
14#define __SPI_HC_PROTOCOL_H__
22#define EFI_SPI_HOST_GUID \
23 { 0xc74e5db2, 0xfa96, 0x4ae2, \
24 { 0xb3, 0x99, 0x15, 0x97, 0x7f, 0xe3, 0x0, 0x2d }}
29#define EFI_SPI_HC_PROTOCOL_GUID EFI_SPI_HOST_GUID
128#define HC_SUPPORTS_WRITE_ONLY_OPERATIONS BIT0
129#define HC_SUPPORTS_READ_ONLY_OPERATIONS BIT1
130#define HC_SUPPORTS_WRITE_THEN_READ_OPERATIONS BIT2
131#define HC_TX_FRAME_IN_MOST_SIGNIFICANT_BITS BIT3
132#define HC_RX_FRAME_IN_MOST_SIGNIFICANT_BITS BIT4
133#define HC_SUPPORTS_2_BIT_DATA_BUS_WIDTH BIT5
134#define HC_SUPPORTS_4_BIT_DATA_BUS_WIDTH BIT6
135#define HC_SUPPORTS_8_BIT_DATA_BUS_WIDTH BIT7
136#define HC_TRANSFER_SIZE_INCLUDES_OPCODE BIT8
137#define HC_TRANSFER_SIZE_INCLUDES_ADDRESS BIT9
200extern EFI_GUID gEfiSpiHcProtocolGuid;
EFI_STATUS(EFIAPI * EFI_SPI_HC_PROTOCOL_TRANSACTION)(IN CONST EFI_SPI_HC_PROTOCOL *This, IN EFI_SPI_BUS_TRANSACTION *BusTransaction)
EFI_STATUS(EFIAPI * EFI_SPI_HC_PROTOCOL_CLOCK)(IN CONST EFI_SPI_HC_PROTOCOL *This, IN CONST EFI_SPI_PERIPHERAL *SpiPeripheral, IN UINT32 *ClockHz)
EFI_STATUS(EFIAPI * EFI_SPI_HC_PROTOCOL_CHIP_SELECT)(IN CONST EFI_SPI_HC_PROTOCOL *This, IN CONST EFI_SPI_PERIPHERAL *SpiPeripheral, IN BOOLEAN PinValue)
EFI_SPI_HC_PROTOCOL_TRANSACTION Transaction
EFI_SPI_HC_PROTOCOL_CLOCK Clock
UINT32 MaximumTransferBytes
UINT32 FrameSizeSupportMask
EFI_SPI_HC_PROTOCOL_CHIP_SELECT ChipSelect