8254TimerDxe: DuetPkg => PcAtChipsetPkg
[mirror_edk2.git] / DuetPkg / IsaAcpiDxe / PcatIsaAcpi.h
CommitLineData
c69dd9df 1/*++\r
2\r
3Copyright (c) 2006 - 2007, Intel Corporation \r
4All rights reserved. This program and the accompanying materials \r
5are licensed and made available under the terms and conditions of the BSD License \r
6which accompanies this distribution. The full text of the license may be found at \r
7http://opensource.org/licenses/bsd-license.php \r
8 \r
9THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
10WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
11\r
12\r
13Module Name:\r
14\r
15 PcatIsaAcpi.h\r
16 \r
17Abstract:\r
18\r
19 EFI PCAT ISA ACPI Driver for a Generic PC Platform\r
20\r
21Revision History\r
22\r
23--*/\r
24\r
25#ifndef _PCAT_ISA_ACPI_H_\r
26#define _PCAT_ISA_ACPI_H_\r
27\r
28#include <PiDxe.h>\r
29\r
30#include <IndustryStandard/Pci.h>\r
31\r
32#include <Protocol/DevicePath.h>\r
33#include <Protocol/PciIo.h>\r
34#include <Protocol/IsaIo.h>\r
35#include <Protocol/DriverBinding.h>\r
36#include <Protocol/ComponentName.h>\r
37#include <Protocol/ComponentName2.h>\r
38\r
39\r
40#include <Library/UefiLib.h>\r
41#include <Library/UefiBootServicesTableLib.h>\r
42\r
43#include <Protocol/IsaAcpi.h>\r
44//\r
45// PCAT ISA ACPI device private data structure\r
46//\r
eea53ce1 47#define PCAT_ISA_ACPI_DEV_SIGNATURE SIGNATURE_32('L','P','C','D')\r
c69dd9df 48\r
49typedef struct {\r
50 UINTN Signature;\r
51 EFI_HANDLE Handle; \r
52 EFI_ISA_ACPI_PROTOCOL IsaAcpi;\r
53 EFI_PCI_IO_PROTOCOL *PciIo;\r
54} PCAT_ISA_ACPI_DEV;\r
55\r
a75ff28a 56#define PCAT_ISA_ACPI_DEV_FROM_THIS(a) BASE_CR(a, PCAT_ISA_ACPI_DEV, IsaAcpi)\r
c69dd9df 57\r
58//\r
59// Global Variables\r
60//\r
61extern EFI_DRIVER_BINDING_PROTOCOL gPcatIsaAcpiDriverBinding;\r
62\r
63extern EFI_COMPONENT_NAME2_PROTOCOL gPcatIsaAcpiComponentName2;\r
64\r
65extern EFI_COMPONENT_NAME_PROTOCOL gPcatIsaAcpiComponentName;\r
66\r
67\r
68//\r
69// Prototypes for Driver model protocol interface\r
70//\r
71EFI_STATUS\r
72EFIAPI\r
73PcatIsaAcpiDriverBindingSupported (\r
74 IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
75 IN EFI_HANDLE Controller,\r
76 IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath\r
77 );\r
78\r
79EFI_STATUS\r
80EFIAPI\r
81PcatIsaAcpiDriverBindingStart (\r
82 IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
83 IN EFI_HANDLE Controller,\r
84 IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath\r
85 );\r
86\r
87EFI_STATUS\r
88EFIAPI\r
89PcatIsaAcpiDriverBindingStop (\r
90 IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
91 IN EFI_HANDLE Controller,\r
92 IN UINTN NumberOfChildren,\r
93 IN EFI_HANDLE *ChildHandleBuffer\r
94 );\r
95\r
96//\r
97// Prototypes for the ISA ACPI protocol interface\r
98//\r
99EFI_STATUS\r
100EFIAPI\r
101IsaDeviceEnumerate (\r
102 IN EFI_ISA_ACPI_PROTOCOL *This,\r
103 OUT EFI_ISA_ACPI_DEVICE_ID **Device\r
104 );\r
105\r
106EFI_STATUS\r
107EFIAPI\r
108IsaDeviceSetPower (\r
109 IN EFI_ISA_ACPI_PROTOCOL *This,\r
110 IN EFI_ISA_ACPI_DEVICE_ID *Device,\r
111 IN BOOLEAN OnOff\r
112 );\r
113 \r
114EFI_STATUS\r
115EFIAPI\r
116IsaGetCurrentResource (\r
117 IN EFI_ISA_ACPI_PROTOCOL *This,\r
118 IN EFI_ISA_ACPI_DEVICE_ID *Device,\r
119 OUT EFI_ISA_ACPI_RESOURCE_LIST **ResourceList\r
120 );\r
121 \r
122EFI_STATUS\r
123EFIAPI\r
124IsaGetPossibleResource (\r
125 IN EFI_ISA_ACPI_PROTOCOL *This,\r
126 IN EFI_ISA_ACPI_DEVICE_ID *Device, \r
127 OUT EFI_ISA_ACPI_RESOURCE_LIST **ResourceList\r
128 );\r
129 \r
130EFI_STATUS\r
131EFIAPI\r
132IsaSetResource (\r
133 IN EFI_ISA_ACPI_PROTOCOL *This,\r
134 IN EFI_ISA_ACPI_DEVICE_ID *Device,\r
135 IN EFI_ISA_ACPI_RESOURCE_LIST *ResourceList\r
136 );\r
137 \r
138EFI_STATUS\r
139EFIAPI\r
140IsaEnableDevice (\r
141 IN EFI_ISA_ACPI_PROTOCOL *This,\r
142 IN EFI_ISA_ACPI_DEVICE_ID *Device,\r
143 IN BOOLEAN Enable\r
144 );\r
145\r
146EFI_STATUS\r
147EFIAPI\r
148IsaInitDevice (\r
149 IN EFI_ISA_ACPI_PROTOCOL *This,\r
150 IN EFI_ISA_ACPI_DEVICE_ID *Device\r
151 );\r
152 \r
153EFI_STATUS\r
154EFIAPI\r
155IsaInterfaceInit (\r
156 IN EFI_ISA_ACPI_PROTOCOL *This\r
157 ); \r
158\r
159#endif\r