]> git.proxmox.com Git - mirror_edk2.git/blame - Vlv2TbltDevicePkg/Wpce791/LpcDriver.h
Vlv2TbltDevicePkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / Vlv2TbltDevicePkg / Wpce791 / LpcDriver.h
CommitLineData
3cbfba02
DW
1/*++\r
2\r
3 Copyright (c) 2004 - 2014, Intel Corporation. All rights reserved.<BR>\r
4 \r\r
9dc8036d
MK
5 SPDX-License-Identifier: BSD-2-Clause-Patent\r
6\r
3cbfba02
DW
7 \r\r
8\r
9Module Name:\r
10\r
11 LpcDriver.h\r
12\r
13Abstract:\r
14\r
15 EFI Lpc Driver for a Generic PC Platform\r
16\r
17\r
18\r
19--*/\r
20\r
21#ifndef _LPC_DRIVER_H\r
22#define _LPC_DRIVER_H\r
23\r
24 #include "LpcSio.h"\r
25 #include "LpcIsaAcpi.h"\r
26\r
27#include "Protocol/IsaAcpi.h"\r
28#include "Protocol/PciIo.h"\r
29#include "Protocol/DriverBinding.h"\r
30#include "Library/UefiBootServicesTableLib.h"\r
31#include "IsaAcpiDxe/PcatIsaAcpi.h"\r
32#include "IndustryStandard/Pci22.h"\r
33#include "Protocol/LpcWpce791Policy.h"\r
34\r
35#include <Library/DebugLib.h>\r
36\r
37#define ICH_LPC_BRIDGE_BUS_DEV_FUNC 0x1F0000\r
38\r
39//\r
40// LPC device private data structure\r
41//\r
42//#define LPC_DEV_SIGNATURE 'W87X'\r
43#define LPC_DEV_SIGNATURE SIGNATURE_32('X', '7', '8', 'W') //'W87X'\r
44#define EFI_WPCE791_PS2_KEYBOARD_ENABLE 0x01\r
45#define EFI_WPCE791_PS2_KEYBOARD_DISABLE 0x00\r
46\r
47#define EFI_WPCE791_PS2_MOUSE_ENABLE 0x01\r
48#define EFI_WPCE791_PS2_MOUSE_DISABLE 0x00\r
49\r
50\r
51\r
52typedef struct {\r
53 UINTN Signature;\r
54 EFI_HANDLE Handle;\r
55 EFI_ISA_ACPI_PROTOCOL IsaAcpi;\r
56 EFI_PCI_IO_PROTOCOL *PciIo;\r
57\r
58} LPC_DEV;\r
59\r
60#define LPC_ISA_ACPI_FROM_THIS(a) BASE_CR (a, LPC_DEV, IsaAcpi)\r
61\r
62//\r
63// Driver entry point\r
64//\r
65EFI_STATUS\r
66EFIAPI\r
67LpcDriverEntryPoint (\r
68 IN EFI_HANDLE ImageHandle,\r
69 IN EFI_SYSTEM_TABLE *SystemTable\r
70 );\r
71\r
72//\r
73// Prototypes for Driver model protocol interface\r
74//\r
75EFI_STATUS\r
76EFIAPI\r
77LpcDriverSupported (\r
78 IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
79 IN EFI_HANDLE Controller,\r
80 IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath\r
81 );\r
82\r
83EFI_STATUS\r
84EFIAPI\r
85LpcDriverStart (\r
86 IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
87 IN EFI_HANDLE Controller,\r
88 IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath\r
89 );\r
90\r
91EFI_STATUS\r
92EFIAPI\r
93LpcDriverStop (\r
94 IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
95 IN EFI_HANDLE Controller,\r
96 IN UINTN NumberOfChildren,\r
97 IN EFI_HANDLE *ChildHandleBuffer\r
98 );\r
99\r
100VOID\r
101LpcIoRead8 (\r
102 IN UINT16 Port,\r
103 OUT UINT8 *Data\r
104 );\r
105\r
106VOID\r
107LpcIoWrite8 (\r
108 IN UINT16 Port,\r
109 IN UINT8 Data\r
110 );\r
111\r
112#endif\r