1 /** @file
2   Register names for PCH PCI-E root port devices
3 
4   Conventions:
5 
6   - Register definition format:
7     Prefix_[GenerationName]_[ComponentName]_SubsystemName_RegisterSpace_RegisterName
8   - Prefix:
9     Definitions beginning with "R_" are registers
10     Definitions beginning with "B_" are bits within registers
11     Definitions beginning with "V_" are meaningful values within the bits
12     Definitions beginning with "S_" are register size
13     Definitions beginning with "N_" are the bit position
14   - [GenerationName]:
15     Three letter acronym of the generation is used .
16     Register name without GenerationName applies to all generations.
17   - [ComponentName]:
18     This field indicates the component name that the register belongs to (e.g. PCH, SA etc.)
19     Register name without ComponentName applies to all components.
20     Register that is specific to -H denoted by "_PCH_H_" in component name.
21     Register that is specific to -LP denoted by "_PCH_LP_" in component name.
22   - SubsystemName:
23     This field indicates the subsystem name of the component that the register belongs to
24     (e.g. PCIE, USB, SATA, GPIO, PMC etc.).
25   - RegisterSpace:
26     MEM - MMIO space register of subsystem.
27     IO  - IO space register of subsystem.
28     PCR - Private configuration register of subsystem.
29     CFG - PCI configuration space register of subsystem.
30   - RegisterName:
31     Full register name.
32 
33   Copyright (c) 2019 Intel Corporation. All rights reserved. <BR>
34 
35   SPDX-License-Identifier: BSD-2-Clause-Patent
36 **/
37 
38 #ifndef _PCH_REGS_PCIE_H_
39 #define _PCH_REGS_PCIE_H_
40 
41 //
42 // Number of PCIe ports per PCIe controller
43 //
44 #define PCH_PCIE_CONTROLLER_PORTS                 4u
45 
46 //
47 // PCH PCI Express Root Ports (D28:F0..7, D29:F0..7, D27:F0..7)
48 //
49 #define PCI_DEVICE_NUMBER_PCH_PCIE_DEVICE_1       28
50 #define PCI_DEVICE_NUMBER_PCH_PCIE_DEVICE_2       29
51 #define PCI_DEVICE_NUMBER_PCH_PCIE_DEVICE_3       27
52 #define PCI_DEVICE_NUMBER_PCH_PCIE_ROOT_PORTS     28
53 #define PCI_FUNCTION_NUMBER_PCH_PCIE_ROOT_PORT_1  0
54 #define PCI_FUNCTION_NUMBER_PCH_PCIE_ROOT_PORT_2  1
55 #define PCI_FUNCTION_NUMBER_PCH_PCIE_ROOT_PORT_3  2
56 #define PCI_FUNCTION_NUMBER_PCH_PCIE_ROOT_PORT_4  3
57 #define PCI_FUNCTION_NUMBER_PCH_PCIE_ROOT_PORT_5  4
58 #define PCI_FUNCTION_NUMBER_PCH_PCIE_ROOT_PORT_6  5
59 #define PCI_FUNCTION_NUMBER_PCH_PCIE_ROOT_PORT_7  6
60 #define PCI_FUNCTION_NUMBER_PCH_PCIE_ROOT_PORT_8  7
61 #define PCI_FUNCTION_NUMBER_PCH_PCIE_ROOT_PORT_9  0
62 #define PCI_FUNCTION_NUMBER_PCH_PCIE_ROOT_PORT_10 1
63 #define PCI_FUNCTION_NUMBER_PCH_PCIE_ROOT_PORT_11 2
64 #define PCI_FUNCTION_NUMBER_PCH_PCIE_ROOT_PORT_12 3
65 #define PCI_FUNCTION_NUMBER_PCH_PCIE_ROOT_PORT_13 4
66 #define PCI_FUNCTION_NUMBER_PCH_PCIE_ROOT_PORT_14 5
67 #define PCI_FUNCTION_NUMBER_PCH_PCIE_ROOT_PORT_15 6
68 #define PCI_FUNCTION_NUMBER_PCH_PCIE_ROOT_PORT_16 7
69 #define PCI_FUNCTION_NUMBER_PCH_PCIE_ROOT_PORT_17 0
70 #define PCI_FUNCTION_NUMBER_PCH_PCIE_ROOT_PORT_18 1
71 #define PCI_FUNCTION_NUMBER_PCH_PCIE_ROOT_PORT_19 2
72 #define PCI_FUNCTION_NUMBER_PCH_PCIE_ROOT_PORT_20 3
73 #define PCI_FUNCTION_NUMBER_PCH_PCIE_ROOT_PORT_21 4
74 #define PCI_FUNCTION_NUMBER_PCH_PCIE_ROOT_PORT_22 5
75 #define PCI_FUNCTION_NUMBER_PCH_PCIE_ROOT_PORT_23 6
76 #define PCI_FUNCTION_NUMBER_PCH_PCIE_ROOT_PORT_24 7
77 
78 #define V_PCH_PCIE_CFG_VENDOR_ID                  V_PCH_INTEL_VENDOR_ID
79 
80 
81 #define R_PCH_PCIE_CFG_CLIST                          0x40
82 #define R_PCH_PCIE_CFG_XCAP                           (R_PCH_PCIE_CFG_CLIST + R_PCIE_XCAP_OFFSET)
83 #define R_PCH_PCIE_CFG_DCAP                           (R_PCH_PCIE_CFG_CLIST + R_PCIE_DCAP_OFFSET)
84 #define R_PCH_PCIE_CFG_DCTL                           (R_PCH_PCIE_CFG_CLIST + R_PCIE_DCTL_OFFSET)
85 #define R_PCH_PCIE_CFG_DSTS                           (R_PCH_PCIE_CFG_CLIST + R_PCIE_DSTS_OFFSET)
86 #define R_PCH_PCIE_CFG_LCAP                           (R_PCH_PCIE_CFG_CLIST + R_PCIE_LCAP_OFFSET)
87 #define B_PCH_PCIE_CFG_LCAP_PN                        0xFF000000
88 #define N_PCH_PCIE_CFG_LCAP_PN                        24
89 #define R_PCH_PCIE_CFG_LCTL                           (R_PCH_PCIE_CFG_CLIST + R_PCIE_LCTL_OFFSET)
90 #define R_PCH_PCIE_CFG_LSTS                           (R_PCH_PCIE_CFG_CLIST + R_PCIE_LSTS_OFFSET)
91 #define R_PCH_PCIE_CFG_SLCAP                          (R_PCH_PCIE_CFG_CLIST + R_PCIE_SLCAP_OFFSET)
92 #define R_PCH_PCIE_CFG_SLCTL                          (R_PCH_PCIE_CFG_CLIST + R_PCIE_SLCTL_OFFSET)
93 #define R_PCH_PCIE_CFG_SLSTS                          (R_PCH_PCIE_CFG_CLIST + R_PCIE_SLSTS_OFFSET)
94 #define R_PCH_PCIE_CFG_RCTL                           (R_PCH_PCIE_CFG_CLIST + R_PCIE_RCTL_OFFSET)
95 #define R_PCH_PCIE_CFG_RSTS                           (R_PCH_PCIE_CFG_CLIST + R_PCIE_RSTS_OFFSET)
96 #define R_PCH_PCIE_CFG_DCAP2                          (R_PCH_PCIE_CFG_CLIST + R_PCIE_DCAP2_OFFSET)
97 #define R_PCH_PCIE_CFG_DCTL2                          (R_PCH_PCIE_CFG_CLIST + R_PCIE_DCTL2_OFFSET)
98 #define R_PCH_PCIE_CFG_LCTL2                          (R_PCH_PCIE_CFG_CLIST + R_PCIE_LCTL2_OFFSET)
99 #define R_PCH_PCIE_CFG_LSTS2                          (R_PCH_PCIE_CFG_CLIST + R_PCIE_LSTS2_OFFSET)
100 
101 #define R_PCH_PCIE_CFG_MID                            0x80
102 #define S_PCH_PCIE_CFG_MID                            2
103 #define R_PCH_PCIE_CFG_MC                             0x82
104 #define S_PCH_PCIE_CFG_MC                             2
105 #define R_PCH_PCIE_CFG_MA                             0x84
106 #define S_PCH_PCIE_CFG_MA                             4
107 #define R_PCH_PCIE_CFG_MD                             0x88
108 #define S_PCH_PCIE_CFG_MD                             2
109 
110 #define R_PCH_PCIE_CFG_SVCAP                          0x90
111 #define S_PCH_PCIE_CFG_SVCAP                          2
112 #define R_PCH_PCIE_CFG_SVID                           0x94
113 #define S_PCH_PCIE_CFG_SVID                           4
114 
115 #define R_PCH_PCIE_CFG_PMCAP                          0xA0
116 #define R_PCH_PCIE_CFG_PMCS                           (R_PCH_PCIE_CFG_PMCAP + R_PCIE_PMCS_OFFST)
117 
118 #define R_PCH_PCIE_CFG_CCFG                           0xD0
119 #define B_PCH_PCIE_CFG_CCFG_UNRS                      (BIT6 | BIT5 | BIT4)
120 #define N_PCH_PCIE_CFG_CCFG_UNRS                      4
121 
122 #define R_PCH_PCIE_CFG_MPC2                           0xD4
123 #define S_PCH_PCIE_CFG_MPC2                           4
124 #define B_PCH_PCIE_CFG_MPC2_PTNFAE                    BIT12
125 #define B_PCH_PCIE_CFG_MPC2_LSTP                      BIT6
126 #define B_PCH_PCIE_CFG_MPC2_IEIME                     BIT5
127 #define B_PCH_PCIE_CFG_MPC2_ASPMCOEN                  BIT4
128 #define B_PCH_PCIE_CFG_MPC2_ASPMCO                    (BIT3 | BIT2)
129 #define V_PCH_PCIE_CFG_MPC2_ASPMCO_DISABLED           0
130 #define V_PCH_PCIE_CFG_MPC2_ASPMCO_L0S                (1 << 2)
131 #define V_PCH_PCIE_CFG_MPC2_ASPMCO_L1                 (2 << 2)
132 #define V_PCH_PCIE_CFG_MPC2_ASPMCO_L0S_L1             (3 << 2)
133 #define B_PCH_PCIE_CFG_MPC2_EOIFD                     BIT1
134 
135 #define R_PCH_PCIE_CFG_MPC                            0xD8
136 #define S_PCH_PCIE_CFG_MPC                            4
137 #define B_PCH_PCIE_CFG_MPC_PMCE                       BIT31
138 #define B_PCH_PCIE_CFG_MPC_HPCE                       BIT30
139 #define B_PCH_PCIE_CFG_MPC_MMBNCE                     BIT27
140 #define B_PCH_PCIE_CFG_MPC_P8XDE                      BIT26
141 #define B_PCH_PCIE_CFG_MPC_IRRCE                      BIT25
142 #define B_PCH_PCIE_CFG_MPC_SRL                        BIT23
143 #define B_PCH_PCIE_CFG_MPC_UCEL                       (BIT20 | BIT19 | BIT18)
144 #define N_PCH_PCIE_CFG_MPC_UCEL                       18
145 #define B_PCH_PCIE_CFG_MPC_CCEL                       (BIT17 | BIT16 | BIT15)
146 #define N_PCH_PCIE_CFG_MPC_CCEL                       15
147 #define B_PCH_PCIE_CFG_MPC_PCIESD                     (BIT14 | BIT13)
148 #define N_PCH_PCIE_CFG_MPC_PCIESD                     13
149 #define V_PCH_PCIE_CFG_MPC_PCIESD_GEN1                1
150 #define V_PCH_PCIE_CFG_MPC_PCIESD_GEN2                2
151 #define B_PCH_PCIE_CFG_MPC_MCTPSE                     BIT3
152 #define B_PCH_PCIE_CFG_MPC_HPME                       BIT1
153 #define N_PCH_PCIE_CFG_MPC_HPME                       1
154 #define B_PCH_PCIE_CFG_MPC_PMME                       BIT0
155 
156 #define R_PCH_PCIE_CFG_SMSCS                          0xDC
157 #define S_PCH_PCIE_CFG_SMSCS                          4
158 #define B_PCH_PCIE_CFG_SMSCS_PMCS                     BIT31
159 #define N_PCH_PCIE_CFG_SMSCS_LERSMIS                  5
160 #define N_PCH_PCIE_CFG_SMSCS_HPLAS                    4
161 #define N_PCH_PCIE_CFG_SMSCS_HPPDM                    1
162 
163 #define R_PCH_PCIE_CFG_RPDCGEN                        0xE1
164 #define S_PCH_PCIE_CFG_RPDCGEN                        1
165 #define B_PCH_PCIE_CFG_RPDCGEN_RPSCGEN                BIT7
166 #define B_PCH_PCIE_CFG_RPDCGEN_PTOCGE                 BIT6
167 #define B_PCH_PCIE_CFG_RPDCGEN_LCLKREQEN              BIT5
168 #define B_PCH_PCIE_CFG_RPDCGEN_BBCLKREQEN             BIT4
169 #define B_PCH_PCIE_CFG_RPDCGEN_SRDBCGEN               BIT2
170 #define B_PCH_PCIE_CFG_RPDCGEN_RPDLCGEN               BIT1
171 #define B_PCH_PCIE_CFG_RPDCGEN_RPDBCGEN               BIT0
172 
173 
174 #define R_PCH_PCIE_CFG_PWRCTL                         0xE8
175 #define B_PCH_PCIE_CFG_PWRCTL_LTSSMRTC                BIT20
176 #define B_PCH_PCIE_CFG_PWRCTL_WPDMPGEP                BIT17
177 #define B_PCH_PCIE_CFG_PWRCTL_DBUPI                   BIT15
178 #define B_PCH_PCIE_CFG_PWRCTL_TXSWING                 BIT13
179 #define B_PCH_PCIE_CFG_PWRCTL_RPL1SQPOL               BIT1
180 #define B_PCH_PCIE_CFG_PWRCTL_RPDTSQPOL               BIT0
181 
182 #define R_PCH_PCIE_CFG_DC                             0xEC
183 #define B_PCH_PCIE_CFG_DC_PCIBEM                      BIT2
184 
185 #define R_PCH_PCIE_CFG_PHYCTL2                        0xF5
186 #define B_PCH_PCIE_CFG_PHYCTL2_TDFT                   (BIT7 | BIT6)
187 #define B_PCH_PCIE_CFG_PHYCTL2_TXCFGCHGWAIT           (BIT5 | BIT4)
188 #define N_PCH_PCIE_CFG_PHYCTL2_TXCFGCHGWAIT           4
189 #define B_PCH_PCIE_CFG_PHYCTL2_PXPG3PLLOFFEN          BIT1
190 #define B_PCH_PCIE_CFG_PHYCTL2_PXPG2PLLOFFEN          BIT0
191 
192 #define R_PCH_PCIE_CFG_IOSFSBCS                       0xF7
193 #define B_PCH_PCIE_CFG_IOSFSBCS_SCPTCGE               BIT6
194 #define B_PCH_PCIE_CFG_IOSFSBCS_SIID                  (BIT3 | BIT2)
195 
196 #define R_PCH_PCIE_CFG_STRPFUSECFG                    0xFC
197 #define B_PCH_PCIE_CFG_STRPFUSECFG_PXIP               (BIT27 | BIT26 | BIT25 | BIT24)
198 #define N_PCH_PCIE_CFG_STRPFUSECFG_PXIP               24
199 #define B_PCH_PCIE_CFG_STRPFUSECFG_RPC                (BIT15 | BIT14)
200 #define V_PCH_PCIE_CFG_STRPFUSECFG_RPC_1_1_1_1        0
201 #define V_PCH_PCIE_CFG_STRPFUSECFG_RPC_2_1_1          1
202 #define V_PCH_PCIE_CFG_STRPFUSECFG_RPC_2_2            2
203 #define V_PCH_PCIE_CFG_STRPFUSECFG_RPC_4              3
204 #define N_PCH_PCIE_CFG_STRPFUSECFG_RPC                14
205 #define B_PCH_PCIE_CFG_STRPFUSECFG_MODPHYIOPMDIS      BIT9
206 #define B_PCH_PCIE_CFG_STRPFUSECFG_PLLSHTDWNDIS       BIT8
207 #define B_PCH_PCIE_CFG_STRPFUSECFG_STPGATEDIS         BIT7
208 #define B_PCH_PCIE_CFG_STRPFUSECFG_ASPMDIS            BIT6
209 #define B_PCH_PCIE_CFG_STRPFUSECFG_LDCGDIS            BIT5
210 #define B_PCH_PCIE_CFG_STRPFUSECFG_LTCGDIS            BIT4
211 #define B_PCH_PCIE_CFG_STRPFUSECFG_CDCGDIS            BIT3
212 #define B_PCH_PCIE_CFG_STRPFUSECFG_DESKTOPMOB         BIT2
213 
214 //
215 //PCI Express Extended Capability Registers
216 //
217 
218 #define R_PCH_PCIE_CFG_EXCAP_OFFSET                   0x100
219 
220 #define R_PCH_PCIE_CFG_EX_AECH                        0x100 ///< Advanced Error Reporting Capability Header
221 #define V_PCH_PCIE_CFG_EX_AEC_CV                      0x1
222 #define R_PCH_PCIE_CFG_EX_UEM                         (R_PCH_PCIE_CFG_EX_AECH + R_PCIE_EX_UEM_OFFSET) // Uncorrectable Error Mask
223 
224 #define R_PCH_PCIE_CFG_EX_CES                         0x110 ///< Correctable Error Status
225 #define B_PCH_PCIE_CFG_EX_CES_BD                      BIT7  ///< Bad DLLP Status
226 #define B_PCH_PCIE_CFG_EX_CES_BT                      BIT6  ///< Bad TLP Status
227 #define B_PCH_PCIE_CFG_EX_CES_RE                      BIT0  ///< Receiver Error Status
228 
229 
230 //CES.RE, CES.BT, CES.BD
231 
232 #define R_PCH_PCIE_CFG_EX_ACSECH                      0x140 ///< ACS Extended Capability Header
233 #define V_PCH_PCIE_CFG_EX_ACS_CV                      0x1
234 #define R_PCH_PCIE_CFG_EX_ACSCAPR                     (R_PCH_PCIE_CFG_EX_ACSECH + R_PCIE_EX_ACSCAPR_OFFSET)
235 
236 #define R_PCH_PCIE_CFG_EX_L1SECH                      0x200 ///< L1 Sub-States Extended Capability Header
237 #define V_PCH_PCIE_CFG_EX_L1S_CV                      0x1
238 #define R_PCH_PCIE_CFG_EX_L1SCAP                      (R_PCH_PCIE_CFG_EX_L1SECH + R_PCIE_EX_L1SCAP_OFFSET)
239 #define R_PCH_PCIE_CFG_EX_L1SCTL1                     (R_PCH_PCIE_CFG_EX_L1SECH + R_PCIE_EX_L1SCTL1_OFFSET)
240 #define R_PCH_PCIE_CFG_EX_L1SCTL2                     (R_PCH_PCIE_CFG_EX_L1SECH + R_PCIE_EX_L1SCTL2_OFFSET)
241 
242 #define R_PCH_PCIE_CFG_EX_SPEECH                      0x220 ///< Secondary PCI Express Extended Capability Header
243 #define V_PCH_PCIE_CFG_EX_SPEECH_CV                   0x1
244 #define R_PCH_PCIE_CFG_EX_LCTL3                       (R_PCH_PCIE_CFG_EX_SPEECH + R_PCIE_EX_LCTL3_OFFSET)
245 #define R_PCH_PCIE_CFG_EX_LES                         (R_PCH_PCIE_CFG_EX_SPEECH + R_PCIE_EX_LES_OFFSET)
246 #define R_PCH_PCIE_CFG_EX_LECTL                       (R_PCH_PCIE_CFG_EX_SPEECH + R_PCIE_EX_L01EC_OFFSET)
247 #define B_PCH_PCIE_CFG_EX_LECTL_UPTPH                 (BIT14 | BIT13 | BIT12)
248 #define N_PCH_PCIE_CFG_EX_LECTL_UPTPH                 12
249 #define B_PCH_PCIE_CFG_EX_LECTL_UPTP                  0x0F00
250 #define N_PCH_PCIE_CFG_EX_LECTL_UPTP                  8
251 #define B_PCH_PCIE_CFG_EX_LECTL_DPTPH                 (BIT6 | BIT5 | BIT4)
252 #define N_PCH_PCIE_CFG_EX_LECTL_DPTPH                 4
253 #define B_PCH_PCIE_CFG_EX_LECTL_DPTP                  0x000F
254 #define N_PCH_PCIE_CFG_EX_LECTL_DPTP                  0
255 
256 #define R_PCH_PCIE_CFG_EX_L01EC                       (R_PCH_PCIE_CFG_EX_SPEECH + R_PCIE_EX_L01EC_OFFSET)
257 #define R_PCH_PCIE_CFG_EX_L23EC                       (R_PCH_PCIE_CFG_EX_SPEECH + R_PCIE_EX_L23EC_OFFSET)
258 
259 #define R_PCH_PCIE_CFG_PCIERTP1                       0x300
260 #define R_PCH_PCIE_CFG_PCIERTP2                       0x304
261 #define R_PCH_PCIE_CFG_PCIENFTS                       0x314
262 #define R_PCH_PCIE_CFG_PCIEL0SC                       0x318
263 
264 #define R_PCH_PCIE_CFG_PCIECFG2                       0x320
265 #define B_PCH_PCIE_CFG_PCIECFG2_LBWSSTE               BIT30
266 #define B_PCH_PCIE_CFG_PCIECFG2_RLLG3R                BIT27
267 #define B_PCH_PCIE_CFG_PCIECFG2_CROAOV                BIT24
268 #define B_PCH_PCIE_CFG_PCIECFG2_CROAOE                BIT23
269 #define B_PCH_PCIE_CFG_PCIECFG2_CRSREN                BIT22
270 #define B_PCH_PCIE_CFG_PCIECFG2_PMET                  (BIT21 | BIT20)
271 #define V_PCH_PCIE_CFG_PCIECFG2_PMET                  1
272 #define N_PCH_PCIE_CFG_PCIECFG2_PMET                  20
273 
274 #define R_PCH_PCIE_CFG_PCIEDBG                        0x324
275 #define B_PCH_PCIE_CFG_PCIEDBG_LBWSSTE                BIT30
276 #define B_PCH_PCIE_CFG_PCIEDBG_USSP                   (BIT27 | BIT26)
277 #define B_PCH_PCIE_CFG_PCIEDBG_LGCLKSQEXITDBTIMERS    (BIT25 | BIT24)
278 #define B_PCH_PCIE_CFG_PCIEDBG_CTONFAE                BIT14
279 #define B_PCH_PCIE_CFG_PCIEDBG_SQOL0                  BIT7
280 #define B_PCH_PCIE_CFG_PCIEDBG_SPCE                   BIT5
281 #define B_PCH_PCIE_CFG_PCIEDBG_LR                     BIT4
282 
283 #define R_PCH_PCIE_CFG_PCIESTS1                              0x328
284 #define B_PCH_PCIE_CFG_PCIESTS1_LTSMSTATE                    0xFF000000
285 #define N_PCH_PCIE_CFG_PCIESTS1_LTSMSTATE                    24
286 #define V_PCH_PCIE_CFG_PCIESTS1_LTSMSTATE_DETRDY             0x01
287 #define V_PCH_PCIE_CFG_PCIESTS1_LTSMSTATE_DETRDYECINP1CG     0x0E
288 #define V_PCH_PCIE_CFG_PCIESTS1_LTSMSTATE_L0                 0x33
289 #define V_PCH_PCIE_CFG_PCIESTS1_LTSMSTATE_DISWAIT            0x5E
290 #define V_PCH_PCIE_CFG_PCIESTS1_LTSMSTATE_DISWAITPG          0x60
291 #define V_PCH_PCIE_CFG_PCIESTS1_LTSMSTATE_RECOVERYSPEEDREADY 0x6C
292 #define V_PCH_PCIE_CFG_PCIESTS1_LTSMSTATE_RECOVERYLNK2DETECT 0x6F
293 
294 
295 #define B_PCH_PCIE_CFG_PCIESTS1_LNKSTAT               (BIT22 | BIT21 | BIT20 | BIT19)
296 #define N_PCH_PCIE_CFG_PCIESTS1_LNKSTAT               19
297 #define V_PCH_PCIE_CFG_PCIESTS1_LNKSTAT_L0            0x7
298 
299 #define R_PCH_PCIE_CFG_PCIESTS2                       0x32C
300 #define B_PCH_PCIE_CFG_PCIESTS2_P4PNCCWSSCMES         BIT31
301 #define B_PCH_PCIE_CFG_PCIESTS2_P3PNCCWSSCMES         BIT30
302 #define B_PCH_PCIE_CFG_PCIESTS2_P2PNCCWSSCMES         BIT29
303 #define B_PCH_PCIE_CFG_PCIESTS2_P1PNCCWSSCMES         BIT28
304 #define B_PCH_PCIE_CFG_PCIESTS2_CLRE                  0x0000F000
305 #define N_PCH_PCIE_CFG_PCIESTS2_CLRE                  12
306 
307 #define R_PCH_PCIE_CFG_PCIEALC                        0x338
308 #define B_PCH_PCIE_CFG_PCIEALC_ITLRCLD                BIT29
309 #define B_PCH_PCIE_CFG_PCIEALC_ILLRCLD                BIT28
310 #define B_PCH_PCIE_CFG_PCIEALC_BLKDQDA                BIT26
311 
312 
313 #define R_PCH_PCIE_CFG_LTROVR                         0x400
314 #define B_PCH_PCIE_CFG_LTROVR_LTRNSROVR               BIT31 ///< LTR Non-Snoop Requirement Bit Override
315 #define B_PCH_PCIE_CFG_LTROVR_LTRSROVR                BIT15 ///< LTR Snoop Requirement Bit Override
316 
317 #define R_PCH_PCIE_CFG_LTROVR2                        0x404
318 #define B_PCH_PCIE_CFG_LTROVR2_FORCE_OVERRIDE         BIT3 ///< LTR Force Override Enable
319 #define B_PCH_PCIE_CFG_LTROVR2_LOCK                   BIT2 ///< LTR Override Lock
320 #define B_PCH_PCIE_CFG_LTROVR2_LTRNSOVREN             BIT1 ///< LTR Non-Snoop Override Enable
321 #define B_PCH_PCIE_CFG_LTROVR2_LTRSOVREN              BIT0 ///< LTR Snoop Override Enable
322 
323 #define R_PCH_PCIE_CFG_PHYCTL4                        0x408
324 #define B_PCH_PCIE_CFG_PHYCTL4_SQDIS                  BIT27
325 
326 #define R_PCH_PCIE_CFG_PCIEPMECTL                     0x420
327 #define B_PCH_PCIE_CFG_PCIEPMECTL_DLSULPPGE           BIT30
328 #define B_PCH_PCIE_CFG_PCIEPMECTL_L1LE                BIT17
329 #define B_PCH_PCIE_CFG_PCIEPMECTL_L1FSOE              BIT0
330 
331 #define R_PCH_PCIE_CFG_PCIEPMECTL2                    0x424
332 #define B_PCH_PCIE_CFG_PCIEPMECTL2_PHYCLPGE           BIT11
333 #define B_PCH_PCIE_CFG_PCIEPMECTL2_FDCPGE             BIT8
334 #define B_PCH_PCIE_CFG_PCIEPMECTL2_DETSCPGE           BIT7
335 #define B_PCH_PCIE_CFG_PCIEPMECTL2_L23RDYSCPGE        BIT6
336 #define B_PCH_PCIE_CFG_PCIEPMECTL2_DISSCPGE           BIT5
337 #define B_PCH_PCIE_CFG_PCIEPMECTL2_L1SCPGE            BIT4
338 
339 #define R_PCH_PCIE_CFG_PCE                            0x428
340 #define B_PCH_PCIE_CFG_PCE_HAE                        BIT5
341 #define B_PCH_PCIE_CFG_PCE_PMCRE                      BIT0
342 
343 #define R_PCH_PCIE_CFG_EQCFG1                         0x450
344 #define S_PCH_PCIE_CFG_EQCFG1                         4
345 #define B_PCH_PCIE_CFG_EQCFG1_REC                     0xFF000000
346 #define N_PCH_PCIE_CFG_EQCFG1_REC                     24
347 #define B_PCH_PCIE_CFG_EQCFG1_REIFECE                 BIT23
348 #define N_PCH_PCIE_CFG_EQCFG1_LERSMIE                 21
349 #define B_PCH_PCIE_CFG_EQCFG1_LEP23B                  BIT18
350 #define B_PCH_PCIE_CFG_EQCFG1_LEP3B                   BIT17
351 #define B_PCH_PCIE_CFG_EQCFG1_RTLEPCEB                BIT16
352 #define B_PCH_PCIE_CFG_EQCFG1_RTPCOE                  BIT15
353 #define B_PCH_PCIE_CFG_EQCFG1_HPCMQE                  BIT13
354 #define B_PCH_PCIE_CFG_EQCFG1_HAED                    BIT12
355 #define B_PCH_PCIE_CFG_EQCFG1_EQTS2IRRC               BIT7
356 #define B_PCH_PCIE_CFG_EQCFG1_TUPP                    BIT1
357 
358 #define R_PCH_PCIE_CFG_RTPCL1                         0x454
359 #define B_PCH_PCIE_CFG_RTPCL1_PCM                     BIT31
360 #define B_PCH_PCIE_CFG_RTPCL1_RTPRECL2PL4             0x3F000000
361 #define B_PCH_PCIE_CFG_RTPCL1_RTPOSTCL1PL3            0xFC0000
362 #define B_PCH_PCIE_CFG_RTPCL1_RTPRECL1PL2             0x3F000
363 #define B_PCH_PCIE_CFG_RTPCL1_RTPOSTCL0PL1            0xFC0
364 #define B_PCH_PCIE_CFG_RTPCL1_RTPRECL0PL0             0x3F
365 
366 #define R_PCH_PCIE_CFG_RTPCL2                         0x458
367 #define B_PCH_PCIE_CFG_RTPCL2_RTPOSTCL3PL             0x3F000
368 #define B_PCH_PCIE_CFG_RTPCL2_RTPRECL3PL6             0xFC0
369 #define B_PCH_PCIE_CFG_RTPCL2_RTPOSTCL2PL5            0x3F
370 
371 #define R_PCH_PCIE_CFG_RTPCL3                         0x45C
372 #define B_PCH_PCIE_CFG_RTPCL3_RTPRECL7                0x3F000000
373 #define B_PCH_PCIE_CFG_RTPCL3_RTPOSTCL6               0xFC0000
374 #define B_PCH_PCIE_CFG_RTPCL3_RTPRECL6                0x3F000
375 #define B_PCH_PCIE_CFG_RTPCL3_RTPOSTCL5               0xFC0
376 #define B_PCH_PCIE_CFG_RTPCL3_RTPRECL5PL10            0x3F
377 
378 #define R_PCH_PCIE_CFG_RTPCL4                         0x460
379 #define B_PCH_PCIE_CFG_RTPCL4_RTPOSTCL9               0x3F000000
380 #define B_PCH_PCIE_CFG_RTPCL4_RTPRECL9                0xFC0000
381 #define B_PCH_PCIE_CFG_RTPCL4_RTPOSTCL8               0x3F000
382 #define B_PCH_PCIE_CFG_RTPCL4_RTPRECL8                0xFC0
383 #define B_PCH_PCIE_CFG_RTPCL4_RTPOSTCL7               0x3F
384 
385 #define R_PCH_PCIE_CFG_FOMS                           0x464
386 #define B_PCH_PCIE_CFG_FOMS_I                         (BIT30 | BIT29)
387 #define N_PCH_PCIE_CFG_FOMS_I                         29
388 #define B_PCH_PCIE_CFG_FOMS_LN                        0x1F000000
389 #define N_PCH_PCIE_CFG_FOMS_LN                        24
390 #define B_PCH_PCIE_CFG_FOMS_FOMSV                     0x00FFFFFF
391 #define B_PCH_PCIE_CFG_FOMS_FOMSV0                    0x000000FF
392 #define N_PCH_PCIE_CFG_FOMS_FOMSV0                    0
393 #define B_PCH_PCIE_CFG_FOMS_FOMSV1                    0x0000FF00
394 #define N_PCH_PCIE_CFG_FOMS_FOMSV1                    8
395 #define B_PCH_PCIE_CFG_FOMS_FOMSV2                    0x00FF0000
396 #define N_PCH_PCIE_CFG_FOMS_FOMSV2                    16
397 
398 #define R_PCH_PCIE_CFG_HAEQ                           0x468
399 #define B_PCH_PCIE_CFG_HAEQ_HAPCCPI                   (BIT31 | BIT30 | BIT29 | BIT28)
400 #define N_PCH_PCIE_CFG_HAEQ_HAPCCPI                   28
401 #define B_PCH_PCIE_CFG_HAEQ_MACFOMC                   BIT19
402 
403 #define R_PCH_PCIE_CFG_LTCO1                          0x470
404 #define B_PCH_PCIE_CFG_LTCO1_L1TCOE                   BIT25
405 #define B_PCH_PCIE_CFG_LTCO1_L0TCOE                   BIT24
406 #define B_PCH_PCIE_CFG_LTCO1_L1TPOSTCO                0xFC0000
407 #define N_PCH_PCIE_CFG_LTCO1_L1TPOSTCO                18
408 #define B_PCH_PCIE_CFG_LTCO1_L1TPRECO                 0x3F000
409 #define N_PCH_PCIE_CFG_LTCO1_L1TPRECO                 12
410 #define B_PCH_PCIE_CFG_LTCO1_L0TPOSTCO                0xFC0
411 #define N_PCH_PCIE_CFG_LTCO1_L0TPOSTCO                6
412 #define B_PCH_PCIE_CFG_LTCO1_L0TPRECO                 0x3F
413 #define N_PCH_PCIE_CFG_LTCO1_L0TPRECO                 0
414 
415 #define R_PCH_PCIE_CFG_LTCO2                          0x474
416 #define B_PCH_PCIE_CFG_LTCO2_L3TCOE                   BIT25
417 #define B_PCH_PCIE_CFG_LTCO2_L2TCOE                   BIT24
418 #define B_PCH_PCIE_CFG_LTCO2_L3TPOSTCO                0xFC0000
419 #define B_PCH_PCIE_CFG_LTCO2_L3TPRECO                 0x3F000
420 #define B_PCH_PCIE_CFG_LTCO2_L2TPOSTCO                0xFC0
421 #define B_PCH_PCIE_CFG_LTCO2_L2TPRECO                 0x3F
422 
423 #define R_PCH_PCIE_CFG_G3L0SCTL                       0x478
424 #define B_PCH_PCIE_CFG_G3L0SCTL_G3UCNFTS              0x0000FF00
425 #define B_PCH_PCIE_CFG_G3L0SCTL_G3CCNFTS              0x000000FF
426 
427 #define R_PCH_PCIE_CFG_EQCFG2                         0x47C
428 #define B_PCH_PCIE_CFG_EQCFG2_NTIC                    0xFF000000
429 #define B_PCH_PCIE_CFG_EQCFG2_EMD                     BIT23
430 #define B_PCH_PCIE_CFG_EQCFG2_NTSS                    (BIT22 | BIT21 | BIT20)
431 #define B_PCH_PCIE_CFG_EQCFG2_PCET                    (BIT19 | BIT18 | BIT17 | BIT16)
432 #define N_PCH_PCIE_CFG_EQCFG2_PCET                    16
433 #define B_PCH_PCIE_CFG_EQCFG2_HAPCSB                  (BIT15 | BIT14 | BIT13 | BIT12)
434 #define N_PCH_PCIE_CFG_EQCFG2_HAPCSB                  12
435 #define B_PCH_PCIE_CFG_EQCFG2_NTEME                   BIT11
436 #define B_PCH_PCIE_CFG_EQCFG2_MPEME                   BIT10
437 #define B_PCH_PCIE_CFG_EQCFG2_REWMETM                 (BIT9 | BIT8)
438 #define B_PCH_PCIE_CFG_EQCFG2_REWMET                  0xFF
439 
440 #define R_PCH_PCIE_CFG_MM                             0x480
441 #define B_PCH_PCIE_CFG_MM_MSST                        0xFFFFFF00
442 #define N_PCH_PCIE_CFG_MM_MSST                        8
443 #define B_PCH_PCIE_CFG_MM_MSS                         0xFF
444 
445 //
446 // PCIE PCRs (PID:SPA SPB SPC SPD SPE SPF)
447 //
448 #define R_SPX_PCR_PCD                         0                       ///< Port configuration and disable
449 #define B_SPX_PCR_PCD_RP1FN                   (BIT2 | BIT1 | BIT0)    ///< Port 1 Function Number
450 #define B_SPX_PCR_PCD_RP1CH                   BIT3                    ///< Port 1 config hide
451 #define B_SPX_PCR_PCD_RP2FN                   (BIT6 | BIT5 | BIT4)    ///< Port 2 Function Number
452 #define B_SPX_PCR_PCD_RP2CH                   BIT7                    ///< Port 2 config hide
453 #define B_SPX_PCR_PCD_RP3FN                   (BIT10 | BIT9 | BIT8)   ///< Port 3 Function Number
454 #define B_SPX_PCR_PCD_RP3CH                   BIT11                   ///< Port 3 config hide
455 #define B_SPX_PCR_PCD_RP4FN                   (BIT14 | BIT13 | BIT12) ///< Port 4 Function Number
456 #define B_SPX_PCR_PCD_RP4CH                   BIT15                   ///< Port 4 config hide
457 #define S_SPX_PCR_PCD_RP_FIELD                4                       ///< 4 bits for each RP FN
458 #define B_SPX_PCR_PCD_P1D                     BIT16                   ///< Port 1 disable
459 #define B_SPX_PCR_PCD_P2D                     BIT17                   ///< Port 2 disable
460 #define B_SPX_PCR_PCD_P3D                     BIT18                   ///< Port 3 disable
461 #define B_SPX_PCR_PCD_P4D                     BIT19                   ///< Port 4 disable
462 #define B_SPX_PCR_PCD_SRL                     BIT31                   ///< Secured Register Lock
463 
464 #define R_SPX_PCR_PCIEHBP                     0x0004                  ///< PCI Express high-speed bypass
465 #define B_SPX_PCR_PCIEHBP_PCIEHBPME           BIT0                    ///< PCIe HBP mode enable
466 #define B_SPX_PCR_PCIEHBP_PCIEGMO             (BIT2 | BIT1)           ///< PCIe gen mode override
467 #define B_SPX_PCR_PCIEHBP_PCIETIL0O           BIT3                    ///< PCIe transmitter-in-L0 override
468 #define B_SPX_PCR_PCIEHBP_PCIERIL0O           BIT4                    ///< PCIe receiver-in-L0 override
469 #define B_SPX_PCR_PCIEHBP_PCIELRO             BIT5                    ///< PCIe link recovery override
470 #define B_SPX_PCR_PCIEHBP_PCIELDO             BIT6                    ///< PCIe link down override
471 #define B_SPX_PCR_PCIEHBP_PCIESSM             BIT7                    ///< PCIe SKP suppression mode
472 #define B_SPX_PCR_PCIEHBP_PCIESST             BIT8                    ///< PCIe suppress SKP transmission
473 #define B_SPX_PCR_PCIEHBP_PCIEHBPPS           (BIT13 | BIT12)         ///< PCIe HBP port select
474 #define B_SPX_PCR_PCIEHBP_CRCSEL              (BIT15 | BIT14)         ///< CRC select
475 #define B_SPX_PCR_PCIEHBP_PCIEHBPCRC          0xFFFF0000              ///< PCIe HBP CRC
476 
477 //
478 // ICC PCR (PID: ICC)
479 //
480 #define R_ICC_PCR_TMCSRCCLK                   0x1000                  ///< Timing Control SRC Clock Register
481 #define R_ICC_PCR_TMCSRCCLK2                  0x1004                  ///< Timing Control SRC Clock Register 2
482 #define R_ICC_PCR_MSKCKRQ                     0x100C                  ///< Mask Control CLKREQ
483 
484 #endif
485