]> git.proxmox.com Git - mirror_edk2.git/blob - EdkModulePkg/Bus/Pci/PciBus/Dxe/PciCommand.h
Initial import.
[mirror_edk2.git] / EdkModulePkg / Bus / Pci / PciBus / Dxe / PciCommand.h
1 /*++
2
3 Copyright (c) 2006, Intel Corporation
4 All rights reserved. This program and the accompanying materials
5 are licensed and made available under the terms and conditions of the BSD License
6 which accompanies this distribution. The full text of the license may be found at
7 http://opensource.org/licenses/bsd-license.php
8
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
11
12 Module Name:
13
14 PciCommand.h
15
16 Abstract:
17
18 PCI Bus Driver
19
20 Revision History
21
22 --*/
23
24 #ifndef _EFI_PCI_COMMAND_H
25 #define _EFI_PCI_COMMAND_H
26
27 #define EFI_GET_REGISTER 1
28 #define EFI_SET_REGISTER 2
29 #define EFI_ENABLE_REGISTER 3
30 #define EFI_DISABLE_REGISTER 4
31
32 EFI_STATUS
33 PciOperateRegister (
34 IN PCI_IO_DEVICE *PciIoDevice,
35 IN UINT16 Command,
36 IN UINT8 Offset,
37 IN UINT8 Operation,
38 OUT UINT16 *PtrCommand
39 )
40 /*++
41
42 Routine Description:
43
44 TODO: Add function description
45
46 Arguments:
47
48 PciIoDevice - TODO: add argument description
49 Command - TODO: add argument description
50 Offset - TODO: add argument description
51 Operation - TODO: add argument description
52 PtrCommand - TODO: add argument description
53
54 Returns:
55
56 TODO: add return values
57
58 --*/
59 ;
60
61 BOOLEAN
62 PciCapabilitySupport (
63 IN PCI_IO_DEVICE *PciIoDevice
64 )
65 /*++
66
67 Routine Description:
68
69 TODO: Add function description
70
71 Arguments:
72
73 PciIoDevice - TODO: add argument description
74
75 Returns:
76
77 TODO: add return values
78
79 --*/
80 ;
81
82 EFI_STATUS
83 LocateCapabilityRegBlock (
84 IN PCI_IO_DEVICE *PciIoDevice,
85 IN UINT8 CapId,
86 IN OUT UINT8 *Offset,
87 OUT UINT8 *NextRegBlock OPTIONAL
88 )
89 /*++
90
91 Routine Description:
92
93 TODO: Add function description
94
95 Arguments:
96
97 PciIoDevice - TODO: add argument description
98 CapId - TODO: add argument description
99 Offset - TODO: add argument description
100 NextRegBlock - TODO: add argument description
101
102 Returns:
103
104 TODO: add return values
105
106 --*/
107 ;
108
109
110 #define PciReadCommandRegister(a,b) \
111 PciOperateRegister (a,0, PCI_COMMAND_OFFSET, EFI_GET_REGISTER, b)
112
113 #define PciSetCommandRegister(a,b) \
114 PciOperateRegister (a,b, PCI_COMMAND_OFFSET, EFI_SET_REGISTER, NULL)
115
116 #define PciEnableCommandRegister(a,b) \
117 PciOperateRegister (a,b, PCI_COMMAND_OFFSET, EFI_ENABLE_REGISTER, NULL)
118
119 #define PciDisableCommandRegister(a,b) \
120 PciOperateRegister (a,b, PCI_COMMAND_OFFSET, EFI_DISABLE_REGISTER, NULL)
121
122 #define PciReadBridgeControlRegister(a,b) \
123 PciOperateRegister (a,0, PCI_BRIDGE_CONTROL_REGISTER_OFFSET, EFI_GET_REGISTER, b)
124
125 #define PciSetBridgeControlRegister(a,b) \
126 PciOperateRegister (a,b, PCI_BRIDGE_CONTROL_REGISTER_OFFSET, EFI_SET_REGISTER, NULL)
127
128 #define PciEnableBridgeControlRegister(a,b) \
129 PciOperateRegister (a,b, PCI_BRIDGE_CONTROL_REGISTER_OFFSET, EFI_ENABLE_REGISTER, NULL)
130
131 #define PciDisableBridgeControlRegister(a,b) \
132 PciOperateRegister (a,b, PCI_BRIDGE_CONTROL_REGISTER_OFFSET, EFI_DISABLE_REGISTER, NULL)
133
134 #endif