]>
git.proxmox.com Git - mirror_edk2.git/blob - Vlv2DeviceRefCodePkg/ValleyView2Soc/SouthCluster/Include/PchRegs.h
3 Copyright (c) 2011 - 2014, Intel Corporation. All rights reserved
5 This program and the accompanying materials are licensed and made available under
6 the terms and conditions of the BSD License that accompanies this distribution.
7 The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php.
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
19 Register names for VLV SC.
24 Definitions beginning with "R_" are registers
25 Definitions beginning with "B_" are bits within registers
26 Definitions beginning with "V_" are meaningful values of bits within the registers
27 Definitions beginning with "S_" are register sizes
28 Definitions beginning with "N_" are the bit position
29 - In general, PCH registers are denoted by "_PCH_" in register names
30 - Registers / bits that are different between PCH generations are denoted by
31 "_PCH_<generation_name>_" in register/bit names. e.g., "_PCH_VLV_"
32 - Registers / bits that are different between SKUs are denoted by "_<SKU_name>"
33 at the end of the register/bit names
34 - Registers / bits of new devices introduced in a PCH generation will be just named
35 as "_PCH_" without <generation_name> inserted.
42 /// Bit Definitions. BUGBUG: drive these definitions to code base. Should not need
43 /// to be part of chipset modules
62 #define BIT16 0x00010000
63 #define BIT17 0x00020000
64 #define BIT18 0x00040000
65 #define BIT19 0x00080000
66 #define BIT20 0x00100000
67 #define BIT21 0x00200000
68 #define BIT22 0x00400000
69 #define BIT23 0x00800000
70 #define BIT24 0x01000000
71 #define BIT25 0x02000000
72 #define BIT26 0x04000000
73 #define BIT27 0x08000000
74 #define BIT28 0x10000000
75 #define BIT29 0x20000000
76 #define BIT30 0x40000000
77 #define BIT31 0x80000000
78 #define BIT32 0x100000000
79 #define BIT33 0x200000000
80 #define BIT34 0x400000000
81 #define BIT35 0x800000000
82 #define BIT36 0x1000000000
83 #define BIT37 0x2000000000
84 #define BIT38 0x4000000000
85 #define BIT39 0x8000000000
86 #define BIT40 0x10000000000
87 #define BIT41 0x20000000000
88 #define BIT42 0x40000000000
89 #define BIT43 0x80000000000
90 #define BIT44 0x100000000000
91 #define BIT45 0x200000000000
92 #define BIT46 0x400000000000
93 #define BIT47 0x800000000000
94 #define BIT48 0x1000000000000
95 #define BIT49 0x2000000000000
96 #define BIT50 0x4000000000000
97 #define BIT51 0x8000000000000
98 #define BIT52 0x10000000000000
99 #define BIT53 0x20000000000000
100 #define BIT54 0x40000000000000
101 #define BIT55 0x80000000000000
102 #define BIT56 0x100000000000000
103 #define BIT57 0x200000000000000
104 #define BIT58 0x400000000000000
105 #define BIT59 0x800000000000000
106 #define BIT60 0x1000000000000000
107 #define BIT61 0x2000000000000000
108 #define BIT62 0x4000000000000000
109 #define BIT63 0x8000000000000000
112 /// The default PCH PCI bus number
114 #define DEFAULT_PCI_BUS_NUMBER_PCH 0
117 /// Default Vendor ID and Subsystem ID
119 #define V_PCH_INTEL_VENDOR_ID 0x8086
120 #define V_PCH_DEFAULT_SID 0x7270
121 #define V_PCH_DEFAULT_SVID_SID (V_PCH_INTEL_VENDOR_ID + (V_PCH_DEFAULT_SID << 16))
124 /// Include device register definitions
126 #include "PchRegs/PchRegsHda.h"
127 #include "PchRegs/PchRegsLpss.h"
128 #include "PchRegs/PchRegsPcie.h"
129 #include "PchRegs/PchRegsPcu.h"
130 #include "PchRegs/PchRegsRcrb.h"
131 #include "PchRegs/PchRegsSata.h"
132 #include "PchRegs/PchRegsScc.h"
133 #include "PchRegs/PchRegsSmbus.h"
134 #include "PchRegs/PchRegsSpi.h"
135 #include "PchRegs/PchRegsUsb.h"
136 //#include "PchRegs/PchRegsLpe.h"
139 /// Device IDS that are PCH Server specific
141 #define IS_PCH_DEVICE_ID(DeviceId) \
143 (DeviceId == V_PCH_LPC_DEVICE_ID_0) || \
144 (DeviceId == V_PCH_LPC_DEVICE_ID_1) || \
145 (DeviceId == V_PCH_LPC_DEVICE_ID_2) || \
146 (DeviceId == V_PCH_LPC_DEVICE_ID_3) \
149 #define IS_PCH_VLV_LPC_DEVICE_ID(DeviceId) \
151 IS_PCH_DEVICE_ID (DeviceId) \
154 #define IS_PCH_VLV_SATA_DEVICE_ID(DeviceId) \
156 IS_PCH_VLV_SATA_AHCI_DEVICE_ID (DeviceId) || \
157 IS_PCH_VLV_SATA_MODE_DEVICE_ID (DeviceId) || \
158 IS_PCH_VLV_SATA_RAID_DEVICE_ID (DeviceId) \
161 #define IS_PCH_VLV_SATA_AHCI_DEVICE_ID(DeviceId) \
163 (DeviceId == V_PCH_SATA_DEVICE_ID_D_AHCI) || \
164 (DeviceId == V_PCH_SATA_DEVICE_ID_M_AHCI) \
167 #define IS_PCH_VLV_SATA_RAID_DEVICE_ID(DeviceId) \
169 (DeviceId == V_PCH_SATA_DEVICE_ID_D_RAID) || \
170 (DeviceId == V_PCH_SATA_DEVICE_ID_M_RAID) \
173 #define IS_PCH_VLV_SATA_MODE_DEVICE_ID(DeviceId) \
175 (DeviceId == V_PCH_SATA_DEVICE_ID_D_IDE) || \
176 (DeviceId == V_PCH_SATA_DEVICE_ID_M_IDE) \
178 #define IS_PCH_VLV_USB_DEVICE_ID(DeviceId) \
180 (DeviceId == V_PCH_USB_DEVICE_ID_0) || \
181 (DeviceId == V_PCH_USB_DEVICE_ID_1) \
183 #define IS_PCH_VLV_PCIE_DEVICE_ID(DeviceId) \
185 (DeviceId == V_PCH_PCIE_DEVICE_ID_0) || \
186 (DeviceId == V_PCH_PCIE_DEVICE_ID_1) || \
187 (DeviceId == V_PCH_PCIE_DEVICE_ID_2) || \
188 (DeviceId == V_PCH_PCIE_DEVICE_ID_3) || \
189 (DeviceId == V_PCH_PCIE_DEVICE_ID_4) || \
190 (DeviceId == V_PCH_PCIE_DEVICE_ID_5) || \
191 (DeviceId == V_PCH_PCIE_DEVICE_ID_6) || \
192 (DeviceId == V_PCH_PCIE_DEVICE_ID_7) \
196 /// Any device ID that is Valleyview SC
198 #define IS_PCH_VLV_DEVICE_ID(DeviceId) \
200 IS_PCH_VLV_LPC_DEVICE_ID (DeviceId) || \
201 IS_PCH_VLV_SATA_DEVICE_ID (DeviceId) || \
202 IS_PCH_VLV_USB_DEVICE_ID (DeviceId) || \
203 IS_PCH_VLV_PCIE_DEVICE_ID (DeviceId) || \
204 (DeviceId) == V_PCH_SMBUS_DEVICE_ID || \
205 (DeviceId) == V_PCH_HDA_DEVICE_ID_0 || \
206 (DeviceId) == V_PCH_HDA_DEVICE_ID_1 \
209 #define IS_SUPPORTED_DEVICE_ID(DeviceId) IS_PCH_VLV_DEVICE_ID (DeviceId)