]> git.proxmox.com Git - mirror_edk2.git/blame - EdkModulePkg/Bus/Pci/PciBus/Dxe/PciCommand.h
added 20ms stall to wait for slave device ready when identify some type of Seagate...
[mirror_edk2.git] / EdkModulePkg / Bus / Pci / PciBus / Dxe / PciCommand.h
CommitLineData
878ddf1f 1/*++\r
2\r
3Copyright (c) 2006, 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
12Module Name:\r
13 \r
14 PciCommand.h\r
15 \r
16Abstract:\r
17\r
18 PCI Bus Driver\r
19\r
20Revision History\r
21\r
22--*/\r
23\r
24#ifndef _EFI_PCI_COMMAND_H\r
25#define _EFI_PCI_COMMAND_H\r
26\r
27#define EFI_GET_REGISTER 1\r
28#define EFI_SET_REGISTER 2\r
29#define EFI_ENABLE_REGISTER 3\r
30#define EFI_DISABLE_REGISTER 4\r
31\r
32EFI_STATUS\r
33PciOperateRegister (\r
34 IN PCI_IO_DEVICE *PciIoDevice,\r
35 IN UINT16 Command,\r
36 IN UINT8 Offset,\r
37 IN UINT8 Operation,\r
38 OUT UINT16 *PtrCommand\r
39 )\r
40/*++\r
41\r
42Routine Description:\r
43\r
44 TODO: Add function description\r
45\r
46Arguments:\r
47\r
48 PciIoDevice - TODO: add argument description\r
49 Command - TODO: add argument description\r
50 Offset - TODO: add argument description\r
51 Operation - TODO: add argument description\r
52 PtrCommand - TODO: add argument description\r
53\r
54Returns:\r
55\r
56 TODO: add return values\r
57\r
58--*/\r
59;\r
60\r
61BOOLEAN\r
62PciCapabilitySupport (\r
63 IN PCI_IO_DEVICE *PciIoDevice\r
64 )\r
65/*++\r
66\r
67Routine Description:\r
68\r
69 TODO: Add function description\r
70\r
71Arguments:\r
72\r
73 PciIoDevice - TODO: add argument description\r
74\r
75Returns:\r
76\r
77 TODO: add return values\r
78\r
79--*/\r
80;\r
81\r
82EFI_STATUS\r
83LocateCapabilityRegBlock (\r
84 IN PCI_IO_DEVICE *PciIoDevice,\r
85 IN UINT8 CapId,\r
86 IN OUT UINT8 *Offset,\r
87 OUT UINT8 *NextRegBlock OPTIONAL\r
88 )\r
89/*++\r
90\r
91Routine Description:\r
92\r
93 TODO: Add function description\r
94\r
95Arguments:\r
96\r
97 PciIoDevice - TODO: add argument description\r
98 CapId - TODO: add argument description\r
99 Offset - TODO: add argument description\r
100 NextRegBlock - TODO: add argument description\r
101\r
102Returns:\r
103\r
104 TODO: add return values\r
105\r
106--*/\r
107;\r
108\r
109\r
110#define PciReadCommandRegister(a,b) \\r
111 PciOperateRegister (a,0, PCI_COMMAND_OFFSET, EFI_GET_REGISTER, b)\r
112\r
113#define PciSetCommandRegister(a,b) \\r
114 PciOperateRegister (a,b, PCI_COMMAND_OFFSET, EFI_SET_REGISTER, NULL)\r
115 \r
116#define PciEnableCommandRegister(a,b) \\r
117 PciOperateRegister (a,b, PCI_COMMAND_OFFSET, EFI_ENABLE_REGISTER, NULL)\r
118 \r
119#define PciDisableCommandRegister(a,b) \\r
120 PciOperateRegister (a,b, PCI_COMMAND_OFFSET, EFI_DISABLE_REGISTER, NULL)\r
121\r
122#define PciReadBridgeControlRegister(a,b) \\r
123 PciOperateRegister (a,0, PCI_BRIDGE_CONTROL_REGISTER_OFFSET, EFI_GET_REGISTER, b)\r
124 \r
125#define PciSetBridgeControlRegister(a,b) \\r
126 PciOperateRegister (a,b, PCI_BRIDGE_CONTROL_REGISTER_OFFSET, EFI_SET_REGISTER, NULL)\r
127\r
128#define PciEnableBridgeControlRegister(a,b) \\r
129 PciOperateRegister (a,b, PCI_BRIDGE_CONTROL_REGISTER_OFFSET, EFI_ENABLE_REGISTER, NULL)\r
130 \r
131#define PciDisableBridgeControlRegister(a,b) \\r
132 PciOperateRegister (a,b, PCI_BRIDGE_CONTROL_REGISTER_OFFSET, EFI_DISABLE_REGISTER, NULL)\r
133\r
134#endif\r