TianoCore EDK2 master
Loading...
Searching...
No Matches
AtaController.h
Go to the documentation of this file.
1
11#ifndef _PEI_ATA_CONTROLLER_PPI_H_
12#define _PEI_ATA_CONTROLLER_PPI_H_
13
17#define PEI_ATA_CONTROLLER_PPI_GUID \
18 { \
19 0xa45e60d1, 0xc719, 0x44aa, {0xb0, 0x7a, 0xaa, 0x77, 0x7f, 0x85, 0x90, 0x6d } \
20 }
21
26
33#define PEI_ICH_IDE_NONE 0x00
34
41#define PEI_ICH_IDE_PRIMARY 0x01
42
49#define PEI_ICH_IDE_SECONDARY 0x02
50
57#define PEI_ICH_SATA_NONE 0x04
58
65#define PEI_ICH_SATA_PRIMARY 0x08
66
73#define PEI_ICH_SATA_SECONDARY 0x010
74
78typedef struct {
88
108typedef
110(EFIAPI *PEI_ENABLE_ATA)(
111 IN EFI_PEI_SERVICES **PeiServices,
113 IN UINT8 ChannelMask
114 );
115
134typedef
135UINT32
136(EFIAPI *GET_IDE_REGS_BASE_ADDR)(
137 IN EFI_PEI_SERVICES **PeiServices,
139 OUT IDE_REGS_BASE_ADDR *IdeRegsBaseAddr
140 );
141
147 PEI_ENABLE_ATA EnableAtaChannel;
148 GET_IDE_REGS_BASE_ADDR GetIdeRegsBaseAddr;
149};
150
151extern EFI_GUID gPeiAtaControllerPpiGuid;
152
153#endif
UINT32(EFIAPI * GET_IDE_REGS_BASE_ADDR)(IN EFI_PEI_SERVICES **PeiServices, IN PEI_ATA_CONTROLLER_PPI *This, OUT IDE_REGS_BASE_ADDR *IdeRegsBaseAddr)
EFI_STATUS(EFIAPI * PEI_ENABLE_ATA)(IN EFI_PEI_SERVICES **PeiServices, IN PEI_ATA_CONTROLLER_PPI *This, IN UINT8 ChannelMask)
#define IN
Definition: Base.h:279
#define OUT
Definition: Base.h:284
RETURN_STATUS EFI_STATUS
Definition: UefiBaseType.h:29
Definition: Base.h:213
UINT16 CommandBlockBaseAddr
Definition: AtaController.h:82
UINT16 ControlBlockBaseAddr
Definition: AtaController.h:86