TianoCore EDK2 master
Loading...
Searching...
No Matches
IdeControllerInit.h
Go to the documentation of this file.
1
25#ifndef _EFI_IDE_CONTROLLER_INIT_PROTOCOL_H_
26#define _EFI_IDE_CONTROLLER_INIT_PROTOCOL_H_
27
29
33#define EFI_IDE_CONTROLLER_INIT_PROTOCOL_GUID \
34 { \
35 0xa1e37052, 0x80d9, 0x4e65, {0xa3, 0x17, 0x3e, 0x9a, 0x55, 0xc4, 0x3e, 0xc9 } \
36 }
37
42
46typedef enum {
90 EfiIdeBusPhaseMaximum
92
99typedef enum {
100 EfiAtaSataTransferProtocol
102
106#define EFI_SATA_AUTO_SPEED 0
107
111#define EFI_SATA_GEN1_SPEED 1
112
116#define EFI_SATA_GEN2_SPEED 2
117
121typedef struct {
122 BOOLEAN Valid;
123 UINT32 Mode;
125
129typedef struct {
143 UINT32 Mode;
145
149typedef struct {
196
206
215#define EFI_ATAPI_DEVICE_IDENTIFY_DATA 0x8000
216
220typedef union {
232
269typedef
273 IN UINT8 Channel,
274 OUT BOOLEAN *Enabled,
275 OUT UINT8 *MaxDevices
276 );
277
302typedef
307 IN UINT8 Channel
308 );
309
349typedef
353 IN UINT8 Channel,
354 IN UINT8 Device,
355 IN EFI_IDENTIFY_DATA *IdentifyData
356 );
357
398typedef
402 IN UINT8 Channel,
403 IN UINT8 Device,
405 );
406
461typedef
465 IN UINT8 Channel,
466 IN UINT8 Device,
467 OUT EFI_ATA_COLLECTIVE_MODE **SupportedModes
468 );
469
493typedef
497 IN UINT8 Channel,
498 IN UINT8 Device,
500 );
501
510
516
521
528
533
539
545 BOOLEAN EnumAll;
546
555};
556
557extern EFI_GUID gEfiIdeControllerInitProtocolGuid;
558
559#endif
EFI_STATUS(EFIAPI * EFI_IDE_CONTROLLER_CALCULATE_MODE)(IN EFI_IDE_CONTROLLER_INIT_PROTOCOL *This, IN UINT8 Channel, IN UINT8 Device, OUT EFI_ATA_COLLECTIVE_MODE **SupportedModes)
EFI_STATUS(EFIAPI * EFI_IDE_CONTROLLER_SUBMIT_DATA)(IN EFI_IDE_CONTROLLER_INIT_PROTOCOL *This, IN UINT8 Channel, IN UINT8 Device, IN EFI_IDENTIFY_DATA *IdentifyData)
EFI_STATUS(EFIAPI * EFI_IDE_CONTROLLER_SET_TIMING)(IN EFI_IDE_CONTROLLER_INIT_PROTOCOL *This, IN UINT8 Channel, IN UINT8 Device, IN EFI_ATA_COLLECTIVE_MODE *Modes)
ATA_IDENTIFY_DATA EFI_ATA_IDENTIFY_DATA
EFI_STATUS(EFIAPI * EFI_IDE_CONTROLLER_GET_CHANNEL_INFO)(IN EFI_IDE_CONTROLLER_INIT_PROTOCOL *This, IN UINT8 Channel, OUT BOOLEAN *Enabled, OUT UINT8 *MaxDevices)
EFI_STATUS(EFIAPI * EFI_IDE_CONTROLLER_NOTIFY_PHASE)(IN EFI_IDE_CONTROLLER_INIT_PROTOCOL *This, IN EFI_IDE_CONTROLLER_ENUM_PHASE Phase, IN UINT8 Channel)
EFI_IDE_CONTROLLER_ENUM_PHASE
@ EfiIdeBeforeChannelReset
@ EfiIdeAfterChannelEnumeration
@ EfiIdeAfterChannelReset
@ EfiIdeBeforeChannelEnumeration
@ EfiIdeResetMode
@ EfiIdeBusAfterDevicePresenceDetection
@ EfiIdeBusBeforeDevicePresenceDetection
EFI_STATUS(EFIAPI * EFI_IDE_CONTROLLER_DISQUALIFY_MODE)(IN EFI_IDE_CONTROLLER_INIT_PROTOCOL *This, IN UINT8 Channel, IN UINT8 Device, IN EFI_ATA_COLLECTIVE_MODE *BadModes)
EFI_ATA_EXT_TRANSFER_PROTOCOL
#define IN
Definition: Base.h:279
#define OUT
Definition: Base.h:284
RETURN_STATUS EFI_STATUS
Definition: UefiBaseType.h:29
EFI_IDE_CONTROLLER_SUBMIT_DATA SubmitData
EFI_IDE_CONTROLLER_DISQUALIFY_MODE DisqualifyMode
EFI_IDE_CONTROLLER_SET_TIMING SetTiming
EFI_IDE_CONTROLLER_CALCULATE_MODE CalculateMode
EFI_IDE_CONTROLLER_NOTIFY_PHASE NotifyPhase
EFI_IDE_CONTROLLER_GET_CHANNEL_INFO GetChannelInfo
EFI_ATA_EXT_TRANSFER_PROTOCOL TransferProtocol
UINT32 Mode
The actual ATA mode. This field is not a bit map.
BOOLEAN Valid
TRUE if Mode is valid.
Definition: Base.h:213
EFI_ATAPI_IDENTIFY_DATA AtapiData
EFI_ATA_IDENTIFY_DATA AtaData