summaryrefslogtreecommitdiff
path: root/ReferenceCode/Chipset/LynxPoint/Include/PchRegs/PchRegsPcie.h
blob: 7fb2afadf679ea6189d7f099ea4057b949f95e3f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
/** @file
  Register names for PCH PCI-E root port devices

  Conventions:

  - Prefixes:
    Definitions beginning with "R_" are registers
    Definitions beginning with "B_" are bits within registers
    Definitions beginning with "V_" are meaningful values of bits within the registers
    Definitions beginning with "S_" are register sizes
    Definitions beginning with "N_" are the bit position
  - In general, PCH registers are denoted by "_PCH_" in register names
  - Registers / bits that are different between PCH generations are denoted by
    "_PCH_<generation_name>_" in register/bit names. e.g., "_PCH_LPT_"
  - Registers / bits that are different between SKUs are denoted by "_<SKU_name>"
    at the end of the register/bit names
  - Registers / bits of new devices introduced in a PCH generation will be just named
    as "_PCH_" without <generation_name> inserted.

@copyright
  Copyright (c) 1999 - 2014 Intel Corporation. All rights reserved
  This software and associated documentation (if any) is furnished
  under a license and may only be used or copied in accordance
  with the terms of the license. Except as permitted by such
  license, no part of this software or documentation may be
  reproduced, stored in a retrieval system, or transmitted in any
  form or by any means without the express written consent of
  Intel Corporation.

  This file contains an 'Intel Peripheral Driver' and uniquely
  identified as "Intel Reference Module" and is
  licensed for Intel CPUs and chipsets under the terms of your
  license agreement with Intel or your vendor.  This file may
  be modified by the user, subject to additional terms of the
  license agreement
**/
#ifndef _PCH_REGS_PCIE_H_
#define _PCH_REGS_PCIE_H_

#define LPTH_PCIE_MAX_ROOT_PORTS  8
#define LPTLP_PCIE_MAX_ROOT_PORTS 6

//
// PCH PCI Express Root Ports (D28:F0~5)
//
#define PCI_DEVICE_NUMBER_PCH_PCIE_ROOT_PORTS     28
#define PCI_FUNCTION_NUMBER_PCH_PCIE_ROOT_PORT_1  0
#define PCI_FUNCTION_NUMBER_PCH_PCIE_ROOT_PORT_2  1
#define PCI_FUNCTION_NUMBER_PCH_PCIE_ROOT_PORT_3  2
#define PCI_FUNCTION_NUMBER_PCH_PCIE_ROOT_PORT_4  3
#define PCI_FUNCTION_NUMBER_PCH_PCIE_ROOT_PORT_5  4
#define PCI_FUNCTION_NUMBER_PCH_PCIE_ROOT_PORT_6  5
#define PCI_FUNCTION_NUMBER_PCH_PCIE_ROOT_PORT_7  6
#define PCI_FUNCTION_NUMBER_PCH_PCIE_ROOT_PORT_8  7
#define R_PCH_PCIE_VENDOR_ID                      0x00
#define V_PCH_PCIE_VENDOR_ID                      V_PCH_INTEL_VENDOR_ID
#define R_PCH_PCIE_DEVICE_ID                      0x02

#define V_PCH_LPTH_PCIE_DEVICE_ID_PORT1            0x8C10  ///< PCI Express Root Port #1, LPT
#define V_PCH_LPTH_PCIE_DEVICE_ID_PORT2            0x8C12  ///< PCI Express Root Port #2, LPT
#define V_PCH_LPTH_PCIE_DEVICE_ID_PORT3            0x8C14  ///< PCI Express Root Port #3, LPT
#define V_PCH_LPTH_PCIE_DEVICE_ID_PORT4            0x8C16  ///< PCI Express Root Port #4, LPT
#define V_PCH_LPTH_PCIE_DEVICE_ID_PORT5            0x8C18  ///< PCI Express Root Port #5, LPT
#define V_PCH_LPTH_PCIE_DEVICE_ID_PORT6            0x8C1A  ///< PCI Express Root Port #6, LPT
#define V_PCH_LPTH_PCIE_DEVICE_ID_PORT7            0x8C1C  ///< PCI Express Root Port #7, LPT
#define V_PCH_LPTH_PCIE_DEVICE_ID_PORT8            0x8C1E  ///< PCI Express Root Port #8, LPT
#define V_PCH_LPTH_PCIE_DEVICE_ID_MB_SUBD          0x2448  ///< Mobile with subtractive decode enable
#define V_PCH_LPTH_PCIE_DEVICE_ID_DT_SUBD          0x244E  ///< Desktop with subtractive decode enable

#define V_PCH_LPTLP_PCIE_DEVICE_ID_PORT1            0x9C10  ///< PCI Express Root Port #1, LPTLP PCIe Device ID bit[0] fuse = 0
#define V_PCH_LPTLP_PCIE_DEVICE_ID_PORT1_ALT        0x9C11  ///< PCI Express Root Port #1, LPTLP PCIe Device ID bit[0] fuse = 1
#define V_PCH_LPTLP_PCIE_DEVICE_ID_PORT2            0x9C12  ///< PCI Express Root Port #2, LPTLP PCIe Device ID bit[0] fuse = 0
#define V_PCH_LPTLP_PCIE_DEVICE_ID_PORT2_ALT        0x9C13  ///< PCI Express Root Port #2, LPTLP PCIe Device ID bit[0] fuse = 1
#define V_PCH_LPTLP_PCIE_DEVICE_ID_PORT3            0x9C14  ///< PCI Express Root Port #3, LPTLP PCIe Device ID bit[0] fuse = 0
#define V_PCH_LPTLP_PCIE_DEVICE_ID_PORT3_ALT        0x9C15  ///< PCI Express Root Port #3, LPTLP PCIe Device ID bit[0] fuse = 1
#define V_PCH_LPTLP_PCIE_DEVICE_ID_PORT4            0x9C16  ///< PCI Express Root Port #4, LPTLP PCIe Device ID bit[0] fuse = 0
#define V_PCH_LPTLP_PCIE_DEVICE_ID_PORT4_ALT        0x9C17  ///< PCI Express Root Port #4, LPTLP PCIe Device ID bit[0] fuse = 1
#define V_PCH_LPTLP_PCIE_DEVICE_ID_PORT5            0x9C18  ///< PCI Express Root Port #5, LPTLP PCIe Device ID bit[0] fuse = 0
#define V_PCH_LPTLP_PCIE_DEVICE_ID_PORT5_ALT        0x9C19  ///< PCI Express Root Port #5, LPTLP PCIe Device ID bit[0] fuse = 1
#define V_PCH_LPTLP_PCIE_DEVICE_ID_PORT6            0x9C1A  ///< PCI Express Root Port #6, LPTLP PCIe Device ID bit[0] fuse = 0
#define V_PCH_LPTLP_PCIE_DEVICE_ID_PORT6_ALT        0x9C1B  ///< PCI Express Root Port #6, LPTLP PCIe Device ID bit[0] fuse = 1

#define R_PCH_PCIE_PCICMD                         0x04
#define S_PCH_PCIE_PCICMD                         2
#define B_PCH_PCIE_PCICMD_ID                      BIT10
#define B_PCH_PCIE_PCICMD_FBE                     BIT9
#define B_PCH_PCIE_PCICMD_SEE                     BIT8
#define B_PCH_PCIE_PCICMD_WCC                     BIT7
#define B_PCH_PCIE_PCICMD_PER                     BIT6
#define B_PCH_PCIE_PCICMD_VPS                     BIT5
#define B_PCH_PCIE_PCICMD_PMWE                    BIT4
#define B_PCH_PCIE_PCICMD_SCE                     BIT3
#define B_PCH_PCIE_PCICMD_BME                     BIT2
#define B_PCH_PCIE_PCICMD_MSE                     BIT1
#define B_PCH_PCIE_PCICMD_IOSE                    BIT0
#define R_PCH_PCIE_PCISTS                         0x06
#define S_PCH_PCIE_PCISTS                         2
#define B_PCH_PCIE_PCISTS_DPE                     BIT15
#define B_PCH_PCIE_PCISTS_SSE                     BIT14
#define B_PCH_PCIE_PCISTS_RMA                     BIT13
#define B_PCH_PCIE_PCISTS_RTA                     BIT12
#define B_PCH_PCIE_PCISTS_STA                     BIT11
#define B_PCH_PCIE_PCISTS_DEV_STS                 (BIT10 | BIT9)
#define B_PCH_PCIE_PCISTS_DPED                    BIT8
#define B_PCH_PCIE_PCISTS_FB2BC                   BIT7
#define B_PCH_PCIE_PCISTS_66MHZ_CAP               BIT5
#define B_PCH_PCIE_PCISTS_CAP_LST                 BIT4
#define B_PCH_PCIE_PCISTS_INTR_STS                BIT3
#define R_PCH_PCIE_RID                            0x08
#define B_PCH_PCIE_RID                            0xFF
#define R_PCH_PCIE_PI                             0x09
#define B_PCH_PCIE_PI                             0xFF
#define R_PCH_PCIE_SCC                            0x0A
#define B_PCH_PCIE_SCC                            0xFF
#define V_PCH_PCIE_SCC_04                         0x04
#define V_PCH_PCIE_SCC_00                         0x00
#define R_PCH_PCIE_BCC                            0x0B
#define B_PCH_PCIE_BCC                            0xFF
#define R_PCH_PCIE_CLS                            0x0C
#define B_PCH_PCIE_CLS                            0xFF
#define R_PCH_PCIE_PLT                            0x0D
#define B_PCH_PCIE_PLT_LC                         0xF8
#define R_PCH_PCIE_HEADTYPE                       0x0E
#define B_PCH_PCIE_HEADTYPE_MFD                   BIT7
#define B_PCH_PCIE_HEADTYPE_CL                    0x7F
#define V_PCH_PCIE_HEADTYPE_CL_01                 0x01
#define V_PCH_PCIE_HEADTYPE_CL_00                 0x00
#define R_PCH_PCIE_BNUM                           0x18
#define B_PCH_PCIE_BNUM_SBBN                      0x00FF0000
#define B_PCH_PCIE_BNUM_SCBN                      0x0000FF00
#define B_PCH_PCIE_BNUM_PBN                       0x000000FF
#define R_PCH_PCIE_SLT                            0x1B
#define B_PCH_PCIE_SLT                            0xFF
#define R_PCH_PCIE_IOBL                           0x1C
#define B_PCH_PCIE_IOBL_IOLA                      0xF000
#define B_PCH_PCIE_IOBL_IOLC                      0x0F00
#define B_PCH_PCIE_IOBL_IOBA                      0x00F0
#define B_PCH_PCIE_IOBL_IOBC                      0x000F
#define R_PCH_PCIE_SSTS                           0x1E
#define S_PCH_PCIE_SSTS                           2
#define B_PCH_PCIE_SSTS_DPE                       BIT15
#define B_PCH_PCIE_SSTS_RSE                       BIT14
#define B_PCH_PCIE_SSTS_RMA                       BIT13
#define B_PCH_PCIE_SSTS_RTA                       BIT12
#define B_PCH_PCIE_SSTS_STA                       BIT11
#define B_PCH_PCIE_SSTS_SDTS                      (BIT10 | BIT9)
#define B_PCH_PCIE_SSTS_DPD                       BIT8
#define B_PCH_PCIE_SSTS_SFBC                      BIT7
#define B_PCH_PCIE_SSTS_SC66                      BIT5
#define R_PCH_PCIE_MBL                            0x20
#define B_PCH_PCIE_MBL_ML                         0xFFF00000
#define B_PCH_PCIE_MBL_MB                         0x0000FFF0
#define R_PCH_PCIE_PMBL                           0x24
#define B_PCH_PCIE_PMBL_PML                       0xFFF00000
#define B_PCH_PCIE_PMBL_I64L                      0x000F0000
#define B_PCH_PCIE_PMBL_PMB                       0x0000FFF0
#define B_PCH_PCIE_PMBL_I64B                      0x0000000F
#define R_PCH_PCIE_PMBU32                         0x28
#define B_PCH_PCIE_PMBU32                         0xFFFFFFFF
#define R_PCH_PCIE_PMLU32                         0x2C
#define B_PCH_PCIE_PMLU32                         0xFFFFFFFF
#define R_PCH_PCIE_CAPP                           0x34
#define B_PCH_PCIE_CAPP                           0xFF
#define R_PCH_PCIE_INTR                           0x3C
#define B_PCH_PCIE_INTR_IPIN                      0xFF00
#define B_PCH_PCIE_INTR_ILINE                     0x00FF
#define R_PCH_PCIE_BCTRL                          0x3E
#define S_PCH_PCIE_BCTRL                          2
#define B_PCH_PCIE_BCTRL_DTSE                     BIT11
#define B_PCH_PCIE_BCTRL_DTS                      BIT10
#define B_PCH_PCIE_BCTRL_SDT                      BIT9
#define B_PCH_PCIE_BCTRL_PDT                      BIT8
#define B_PCH_PCIE_BCTRL_FBE                      BIT7
#define B_PCH_PCIE_BCTRL_SBR                      BIT6
#define B_PCH_PCIE_BCTRL_MAM                      BIT5
#define B_PCH_PCIE_BCTRL_V16                      BIT4
#define B_PCH_PCIE_BCTRL_VE                       BIT3
#define B_PCH_PCIE_BCTRL_IE                       BIT2
#define B_PCH_PCIE_BCTRL_SE                       BIT1
#define B_PCH_PCIE_BCTRL_PERE                     BIT0
#define R_PCH_PCIE_CLIST                          0x40
#define B_PCH_PCIE_CLIST_NEXT                     0xFF00
#define B_PCH_PCIE_CLIST_CID                      0x00FF
#define R_PCH_PCIE_XCAP                           0x42
#define S_PCH_PCIE_XCAP                           2
#define B_PCH_PCIE_XCAP_IMN                       0x3E00
#define B_PCH_PCIE_XCAP_SI                        BIT8
#define B_PCH_PCIE_XCAP_DT                        0x00F0
#define B_PCH_PCIE_XCAP_CV                        0x000F
#define R_PCH_PCIE_DCAP                           0x44
#define S_PCH_PCIE_DCAP                           4
#define B_PCH_PCIE_DCAP_CSPS                      0x0C000000
#define B_PCH_PCIE_DCAP_CSPV                      0x03FC0000
#define B_PCH_PCIE_DCAP_RBER                      BIT15
#define B_PCH_PCIE_DCAP_PIP                       BIT14
#define B_PCH_PCIE_DCAP_AIP                       BIT13
#define B_PCH_PCIE_DCAP_ABP                       BIT12
#define B_PCH_PCIE_DCAP_E1AL                      0x00000E00
#define B_PCH_PCIE_DCAP_E0AL                      0x000001C0
#define B_PCH_PCIE_DCAP_ETFS                      BIT5
#define B_PCH_PCIE_DCAP_PFS                       0x00000018
#define B_PCH_PCIE_DCAP_MPS                       0x00000007
#define R_PCH_PCIE_DCTL                           0x48
#define S_PCH_PCIE_DCTL                           2
#define B_PCH_PCIE_DCTL_MRRS                      0x7000
#define B_PCH_PCIE_DCTL_ENS                       BIT11
#define B_PCH_PCIE_DCTL_APME                      BIT10
#define B_PCH_PCIE_DCTL_PFE                       BIT9
#define B_PCH_PCIE_DCTL_ETFE                      BIT8
#define B_PCH_PCIE_DCTL_MPS                       (BIT7 | BIT6 | BIT5)
#define B_PCH_PCIE_DCTL_ERO                       BIT4
#define B_PCH_PCIE_DCTL_URE                       BIT3
#define B_PCH_PCIE_DCTL_FEE                       BIT2
#define B_PCH_PCIE_DCTL_NFE                       BIT1
#define B_PCH_PCIE_DCTL_CEE                       BIT0
#define R_PCH_PCIE_DSTS                           0x4A
#define B_PCH_PCIE_DSTS_TDP                       BIT5
#define B_PCH_PCIE_DSTS_APD                       BIT4
#define B_PCH_PCIE_DSTS_URD                       BIT3
#define B_PCH_PCIE_DSTS_FED                       BIT2
#define B_PCH_PCIE_DSTS_NFED                      BIT1
#define B_PCH_PCIE_DSTS_CED                       BIT0
#define R_PCH_PCIE_LCAP                           0x4C
#define B_PCH_PCIE_LCAP_PN                        0xFF000000
#define V_PCH_PCIE_LCAP_PN1                       (1 << 24)
#define V_PCH_PCIE_LCAP_PN2                       (2 << 24)
#define V_PCH_PCIE_LCAP_PN3                       (3 << 24)
#define V_PCH_PCIE_LCAP_PN4                       (4 << 24)
#define V_PCH_PCIE_LCAP_PN5                       (5 << 24)
#define V_PCH_PCIE_LCAP_PN6                       (6 << 24)
#define V_PCH_PCIE_LCAP_PN7                       (7 << 24)
#define V_PCH_PCIE_LCAP_PN8                       (8 << 24)
#define B_PCH_PCIE_LCAP_LARC                      BIT20
#define B_PCH_PCIE_LCAP_EL1                       (BIT17 | BIT16 | BIT15)
#define B_PCH_PCIE_LCAP_EL0                       (BIT14 | BIT13 | BIT12)
#define B_PCH_PCIE_LCAP_APMS                      (BIT11 | BIT10)
#define V_PCH_PCIE_LCAP_APMS_L0S                  (1 << 10)
#define V_PCH_PCIE_LCAP_APMS_L0S_L1               (3 << 10)
#define B_PCH_PCIE_LCAP_MLW                       0x000003F0
#define B_PCH_PCIE_LCAP_MLS                       0x0000000F
#define R_PCH_PCIE_LCTL                           0x50
#define B_PCH_PCIE_LCTL_HAWD                      BIT9
#define B_PCH_PCIE_LCTL_ES                        BIT7
#define B_PCH_PCIE_LCTL_CCC                       BIT6
#define B_PCH_PCIE_LCTL_RL                        BIT5
#define B_PCH_PCIE_LCTL_LD                        BIT4
#define B_PCH_PCIE_LCTL_RCBC                      BIT3
#define B_PCH_PCIE_LCTL_APMC                      (BIT1 | BIT0)
#define V_PCH_PCIE_LCTL_APMC_L0S                  1
#define V_PCH_PCIE_LCTL_APMC_L1                   2
#define V_PCH_PCIE_LCTL_APMC_L0S_L1               3
#define R_PCH_PCIE_LSTS                           0x52
#define S_PCH_PCIE_LSTS                           2
#define B_PCH_PCIE_LSTS_DLLA                      BIT13
#define B_PCH_PCIE_LSTS_SCC                       BIT12
#define B_PCH_PCIE_LSTS_LT                        BIT11
#define B_PCH_PCIE_LSTS_LTE                       BIT10
#define B_PCH_PCIE_LSTS_NLW                       0x03F0
#define V_PCH_PCIE_LSTS_NLW_1                     0x0010
#define V_PCH_PCIE_LSTS_NLW_2                     0x0020
#define V_PCH_PCIE_LSTS_NLW_4                     0x0040
#define B_PCH_PCIE_LSTS_LS                        0x000F
#define R_PCH_PCIE_SLCAP                          0x54
#define S_PCH_PCIE_SLCAP                          4
#define B_PCH_PCIE_SLCAP_PSN                      0xFFF80000
#define B_PCH_PCIE_SLCAP_SLS                      0x00018000
#define B_PCH_PCIE_SLCAP_SLV                      0x00007F80
#define B_PCH_PCIE_SLCAP_HPC                      BIT6
#define B_PCH_PCIE_SLCAP_HPS                      BIT5
#define B_PCH_PCIE_SLCAP_PIP                      BIT4
#define B_PCH_PCIE_SLCAP_AIP                      BIT3
#define B_PCH_PCIE_SLCAP_MSP                      BIT2
#define B_PCH_PCIE_SLCAP_PCP                      BIT1
#define B_PCH_PCIE_SLCAP_ABP                      BIT0
#define R_PCH_PCIE_SLCTL                          0x58
#define S_PCH_PCIE_SLCTL                          2
#define B_PCH_PCIE_SLCTL_LACE                     BIT12
#define B_PCH_PCIE_SLCTL_PCC                      BIT10
#define B_PCH_PCIE_SLCTL_HPE                      BIT5
#define B_PCH_PCIE_SLCTL_PDE                      BIT3
#define R_PCH_PCIE_SLSTS                          0x5A
#define S_PCH_PCIE_SLSTS                          2
#define B_PCH_PCIE_SLSTS_LASC                     BIT8
#define B_PCH_PCIE_SLSTS_PDS                      BIT6
#define B_PCH_PCIE_SLSTS_MS                       BIT5
#define B_PCH_PCIE_SLSTS_PDC                      BIT3
#define B_PCH_PCIE_SLSTS_MSC                      BIT2
#define B_PCH_PCIE_SLSTS_PFD                      BIT1
#define R_PCH_PCIE_RCTL                           0x5C
#define S_PCH_PCIE_RCTL                           2
#define B_PCH_PCIE_RCTL_PIE                       BIT3
#define B_PCH_PCIE_RCTL_SFE                       BIT2
#define B_PCH_PCIE_RCTL_SNE                       BIT1
#define B_PCH_PCIE_RCTL_SCE                       BIT0
#define R_PCH_PCIE_RSTS                           0x60
#define S_PCH_PCIE_RSTS                           4
#define B_PCH_PCIE_RSTS_PP                        BIT17
#define B_PCH_PCIE_RSTS_PS                        BIT16
#define B_PCH_PCIE_RSTS_RID                       0x0000FFFF
#define R_PCH_PCIE_DCAP2                          0x64
#define B_PCH_PCIE_DCAP2_CTDS                     BIT4
#define B_PCH_PCIE_DCAP2_CTRS                     0xF
#define V_PCH_PCIE_DCAP2_CTRS_UNSUPPORTED         0x0
#define V_PCH_PCIE_DCAP2_CTRS_RANGE_A             0x1
#define V_PCH_PCIE_DCAP2_CTRS_RANGE_B             0x2
#define V_PCH_PCIE_DCAP2_CTRS_RANGE_C             0x4
#define V_PCH_PCIE_DCAP2_CTRS_RANGE_D             0x8
#define R_PCH_PCIE_DCTL2                          0x68
#define B_PCH_PCIE_DCTL2_CTD                      BIT4
#define B_PCH_PCIE_DCTL2_CTV                      0xF
#define V_PCH_PCIE_DCTL2_CTV_DEFAULT              0x0
#define V_PCH_PCIE_DCTL2_CTV_40MS_50MS            0x5
#define V_PCH_PCIE_DCTL2_CTV_160MS_170MS          0x6
#define V_PCH_PCIE_DCTL2_CTV_400MS_500MS          0x9
#define V_PCH_PCIE_DCTL2_CTV_1P6S_1P7S            0xA
#define R_PCH_PCIE_LCTL2                          0x70
#define B_PCH_PCIE_LCTL2_TLS                      (BIT3 | BIT2 | BIT1 | BIT0)
#define R_PCH_PCIE_MID                            0x80
#define S_PCH_PCIE_MID                            2
#define B_PCH_PCIE_MID_NEXT                       0xFF00
#define B_PCH_PCIE_MID_CID                        0x00FF
#define R_PCH_PCIE_MC                             0x82
#define S_PCH_PCIE_MC                             2
#define B_PCH_PCIE_MC_C64                         BIT7
#define B_PCH_PCIE_MC_MME                         (BIT6 | BIT5 | BIT4)
#define B_PCH_PCIE_MC_MMC                         0x000E
#define B_PCH_PCIE_MC_MSIE                        BIT0
#define R_PCH_PCIE_MA                             0x84
#define S_PCH_PCIE_MA                             4
#define B_PCH_PCIE_MA_ADDR                        0xFFFFFFFC
#define R_PCH_PCIE_MD                             0x88
#define S_PCH_PCIE_MD                             2
#define B_PCH_PCIE_MD_DATA                        0xFFFF
#define R_PCH_PCIE_SVCAP                          0x90
#define S_PCH_PCIE_SVCAP                          2
#define B_PCH_PCIE_SVCAP_NEXT                     0xFF00
#define B_PCH_PCIE_SVCAP_CID                      0x00FF
#define R_PCH_PCIE_SVID                           0x94
#define S_PCH_PCIE_SVID                           4
#define B_PCH_PCIE_SVID_SID                       0xFFFF0000
#define B_PCH_PCIE_SVID_SVID                      0x0000FFFF
#define R_PCH_PCIE_PMCAP                          0xA0
#define S_PCH_PCIE_PMCAP                          2
#define B_PCH_PCIE_PMCAP_NEXT                     0xFF00
#define B_PCH_PCIE_PMCAP_CID                      0x00FF
#define R_PCH_PCIE_PMC                            0xA2
#define S_PCH_PCIE_PMC                            2
#define B_PCH_PCIE_PMC_PMES                       0xF800
#define B_PCH_PCIE_PMC_D2S                        BIT10
#define B_PCH_PCIE_PMC_D1S                        BIT9
#define B_PCH_PCIE_PMC_AC                         0x01C0
#define B_PCH_PCIE_PMC_DSI                        BIT5
#define B_PCH_PCIE_PMC_PMEC                       BIT3
#define B_PCH_PCIE_PMC_VS                         0x0007
#define R_PCH_PCIE_PMCS                           0xA4
#define S_PCH_PCIE_PMCS                           4
#define B_PCH_PCIE_PMCS_BPCE                      BIT23
#define B_PCH_PCIE_PMCS_B23S                      BIT22
#define B_PCH_PCIE_PMCS_PMES                      BIT15
#define B_PCH_PCIE_PMCS_PMEE                      BIT8
#define B_PCH_PCIE_PMCS_PS                        (BIT1 | BIT0)
#define V_PCH_PCIE_PMCS_D0                        0x00
#define V_PCH_PCIE_PMCS_D3H                       0x03
#define R_PCH_PCIE_CCFG                           0xD0
#define B_PCH_PCIE_CCFG_DCGEISMA                  BIT17
#define R_PCH_PCIE_MPC2                           0xD4
#define S_PCH_PCIE_MPC2                           4
#define B_PCH_PCIE_MPC2_PCME                      BIT5
#define B_PCH_PCIE_MPC2_ASPMCOEN                  BIT4
#define B_PCH_PCIE_MPC2_ASPMCO                    (BIT3 | BIT2)
#define V_PCH_PCIE_MPC2_ASPMCO_DISABLED           0
#define V_PCH_PCIE_MPC2_ASPMCO_L0S                1 << 2
#define V_PCH_PCIE_MPC2_ASPMCO_L1                 2 << 2
#define V_PCH_PCIE_MPC2_ASPMCO_L0S_L1             3 << 2
#define B_PCH_PCIE_MPC2_EOIFD                     BIT1
#define B_PCH_PCIE_MPC2_L1CTM                     BIT0
#define R_PCH_PCIE_MPC                            0xD8
#define S_PCH_PCIE_MPC                            4
#define B_PCH_PCIE_MPC_PMCE                       BIT31
#define B_PCH_PCIE_MPC_HPCE                       BIT30
#define B_PCH_PCIE_MPC_LHO                        BIT29
#define B_PCH_PCIE_MPC_ATE                        BIT28
#define B_PCH_PCIE_MPC_MMBNCE                     BIT27
#define B_PCH_PCIE_MPC_IRBNCE                     BIT26
#define B_PCH_PCIE_MPC_IRRCE                      BIT25
#define B_PCH_PCIE_MPC_BMERCE                     BIT24
#define B_PCH_PCIE_MPC_FORCEDET                   BIT22
#define B_PCH_PCIE_MPC_FCDL1E                     BIT21
#define B_PCH_PCIE_MPC_UCEL                       (BIT20 | BIT19 | BIT18)
#define B_PCH_PCIE_MPC_CCEL                       (BIT17 | BIT16 | BIT15)
#define B_PCH_PCIE_MPC_PAE                        BIT7
#define B_PCH_PCIE_MPC_MCTPSE                     BIT3
#define B_PCH_PCIE_MPC_BT                         BIT2
#define B_PCH_PCIE_MPC_HPME                       BIT1
#define N_PCH_PCIE_MPC_HPME                       1
#define B_PCH_PCIE_MPC_PMME                       BIT0
#define R_PCH_PCIE_SMSCS                          0xDC
#define S_PCH_PCIE_SMSCS                          4
#define B_PCH_PCIE_SMSCS_PMCS                     BIT31
#define B_PCH_PCIE_SMSCS_HPCS                     BIT30
#define B_PCH_PCIE_SMSCS_HPLAS                    BIT4
#define N_PCH_PCIE_SMSCS_HPLAS                    4
#define B_PCH_PCIE_SMSCS_HPCCM                    BIT3
#define B_PCH_PCIE_SMSCS_HPABM                    BIT2
#define B_PCH_PCIE_SMSCS_HPPDM                    BIT1
#define N_PCH_PCIE_SMSCS_HPPDM                    1
#define B_PCH_PCIE_SMSCS_PMMS                     BIT0
#define R_PCH_PCIE_RPDCGEN                        0xE1
#define S_PCH_PCIE_RPDCGEN                        1
#define B_PCH_PCIE_RPDCGEN_RPSCGEN                BIT7
#define B_PCH_PCIE_RPDCGEN_POCGE                  BIT6
#define B_PCH_PCIE_RPDCGEN_LCLKREQEN              BIT5
#define B_PCH_PCIE_RPDCGEN_BBCLKREQEN             BIT4
#define B_PCH_PCIE_RPDCGEN_SRDLCGEN               BIT3
#define B_PCH_PCIE_RPDCGEN_SRDBCGEN               BIT2
#define B_PCH_PCIE_RPDCGEN_RPDLCGEN               BIT1
#define B_PCH_PCIE_RPDCGEN_RPDBCGEN               BIT0
#define R_PCH_PCIE_RPPGEN                         0xE2
#define B_PCH_PCIE_RPPGEN_PTOTOP                  BIT6
#define B_PCH_PCIE_RPPGEN_LMSDOCGE                BIT5
#define B_PCH_PCIE_RPPGEN_SEOCGE                  BIT4
#define R_PCH_PCIE_PECR1                          0xE8
#define S_PCH_PCIE_PECR1                          4
#define B_PCH_PCIE_PECR1_FIELD_2                  BIT1
#define V_PCH_PCIE_PECR1_FIELD_3                  (BIT3 | BIT2)
#define R_PCH_PCIE_PECR3                          0xEC
#define B_PCH_PCIE_PECR3_SDCDID                   BIT1                          ///< Subtractive Decode Compatibility Device ID
#define B_PCH_PCIE_PECR3_SDE                      BIT0                          ///< Subtractive Decode Enable
#define R_PCH_PCIE_STRPFUSECFG                    0xFC
#define B_PCH_PCIE_STRPFUSECFG_SATAP3_PCIEP6L0_MODE (BIT23 | BIT22)
#define B_PCH_PCIE_STRPFUSECFG_SATAP2_PCIEP6L1_MODE (BIT21 | BIT20)
#define B_PCH_PCIE_STRPFUSECFG_SATAP5_PCIEP2_MODE (BIT23 | BIT22)
#define B_PCH_PCIE_STRPFUSECFG_SATAP4_PCIEP1_MODE (BIT21 | BIT20)
#define B_PCH_PCIE_STRPFUSECFG_GBE_PCIE_PEN       (BIT19)
#define B_PCH_PCIE_STRPFUSECFG_GBE_PCIEPORTSEL    (BIT18 | BIT17 | BIT16)
#define N_PCH_PCIE_STRPFUSECFG_GBE_PCIEPORTSEL    16
#define B_PCH_PCIE_STRPFUSECFG_RPC                (BIT15 | BIT14)
#define V_PCH_PCIE_STRPFUSECFG_RPC_1_1_1_1        (0)
#define V_PCH_PCIE_STRPFUSECFG_RPC_2_1_1          (BIT14)
#define V_PCH_PCIE_STRPFUSECFG_RPC_2_2            (BIT15)
#define V_PCH_PCIE_STRPFUSECFG_RPC_4              (BIT15 | BIT14)
#define N_PCH_PCIE_STRPFUSECFG_RPC_4              14
#define B_PCH_PCIE_STRPFUSECFG_SATAP3_PCIEP6L0_MODE_FUSE (BIT13 | BIT12)
#define B_PCH_PCIE_STRPFUSECFG_SATAP2_PCIEP6L1_MODE_FUSE (BIT11 | BIT10)
#define B_PCH_PCIE_STRPFUSECFG_SATAP5_PCIEP2_MODE_FUSE (BIT13 | BIT12)
#define B_PCH_PCIE_STRPFUSECFG_SATAP4_PCIEP1_MODE_FUSE (BIT11 | BIT10)
#define B_PCH_PCIE_STRPFUSECFG_mPHYIOPMDIS        (BIT9)
#define B_PCH_PCIE_STRPFUSECFG_PLLSHTDWNDIS       (BIT8)
#define B_PCH_PCIE_STRPFUSECFG_STPGATEDIS         (BIT7)
#define B_PCH_PCIE_STRPFUSECFG_ASPMDIS            (BIT6)
#define B_PCH_PCIE_STRPFUSECFG_LDCGDIS            (BIT5)
#define B_PCH_PCIE_STRPFUSECFG_LTCGDIS            (BIT4)
#define B_PCH_PCIE_STRPFUSECFG_BDCGDIS            (BIT3)
#define B_PCH_PCIE_STRPFUSECFG_DESKTOPMOB         (BIT1)
#define R_PCH_PCIE_AECH                           0x100
#define R_PCH_PCIE_UES                            0x104
#define S_PCH_PCIE_UES                            4
#define B_PCH_PCIE_UES_URE                        BIT20
#define B_PCH_PCIE_UES_EE                         BIT19
#define B_PCH_PCIE_UES_MT                         BIT18
#define B_PCH_PCIE_UES_RO                         BIT17
#define B_PCH_PCIE_UES_UC                         BIT16
#define B_PCH_PCIE_UES_CA                         BIT15
#define B_PCH_PCIE_UES_CT                         BIT14
#define B_PCH_PCIE_UES_FCPE                       BIT13
#define B_PCH_PCIE_UES_PT                         BIT12
#define B_PCH_PCIE_UES_DLPE                       BIT4
#define B_PCH_PCIE_UES_TE                         BIT0
#define R_PCH_PCIE_UEM                            0x108
#define S_PCH_PCIE_UEM                            4
#define B_PCH_PCIE_UEM_URE                        BIT20
#define B_PCH_PCIE_UEM_EE                         BIT19
#define B_PCH_PCIE_UEM_MT                         BIT18
#define B_PCH_PCIE_UEM_RO                         BIT17
#define B_PCH_PCIE_UEM_UC                         BIT16
#define B_PCH_PCIE_UEM_CA                         BIT15
#define B_PCH_PCIE_UEM_CT                         BIT14
#define B_PCH_PCIE_UEM_FCPE                       BIT13
#define B_PCH_PCIE_UEM_PT                         BIT12
#define B_PCH_PCIE_UEM_DLPE                       BIT4
#define B_PCH_PCIE_UEM_TE                         BIT0
#define R_PCH_PCIE_UEV                            0x10C
#define S_PCH_PCIE_UEV                            4
#define B_PCH_PCIE_UEV_URE                        BIT20
#define B_PCH_PCIE_UEV_EE                         BIT19
#define B_PCH_PCIE_UEV_MT                         BIT18
#define B_PCH_PCIE_UEV_RO                         BIT17
#define B_PCH_PCIE_UEV_UC                         BIT16
#define B_PCH_PCIE_UEV_CA                         BIT15
#define B_PCH_PCIE_UEV_CT                         BIT14
#define B_PCH_PCIE_UEV_FCPE                       BIT13
#define B_PCH_PCIE_UEV_PT                         BIT12
#define B_PCH_PCIE_UEV_DLPE                       BIT4
#define B_PCH_PCIE_UEV_TE                         BIT0
#define R_PCH_PCIE_CES                            0x110
#define S_PCH_PCIE_CES                            4
#define B_PCH_PCIE_CES_ANFES                      BIT13
#define B_PCH_PCIE_CES_RTT                        BIT12
#define B_PCH_PCIE_CES_RNR                        BIT8
#define B_PCH_PCIE_CES_BD                         BIT7
#define B_PCH_PCIE_CES_BT                         BIT6
#define B_PCH_PCIE_CES_RE                         BIT0
#define R_PCH_PCIE_CEM                            0x114
#define S_PCH_PCIE_CEM                            4
#define B_PCH_PCIE_CEM_ANFEM                      BIT13
#define B_PCH_PCIE_CEM_RTT                        BIT12
#define B_PCH_PCIE_CEM_RNR                        BIT8
#define B_PCH_PCIE_CEM_BD                         BIT7
#define B_PCH_PCIE_CEM_BT                         BIT6
#define B_PCH_PCIE_CEM_RE                         BIT0
#define R_PCH_PCIE_AECC                           0x118
#define S_PCH_PCIE_AECC                           4
#define B_PCH_PCIE_AECC_ECE                       BIT8
#define B_PCH_PCIE_AECC_ECC                       BIT7
#define B_PCH_PCIE_AECC_EGE                       BIT6
#define B_PCH_PCIE_AECC_EGC                       BIT5
#define B_PCH_PCIE_AECC_FEP                       0x0000001F
#define R_PCH_PCIE_RES                            0x130
#define S_PCH_PCIE_RES                            4
#define B_PCH_PCIE_RES_AEMN                       0xF8000000
#define B_PCH_PCIE_RES_FEMR                       BIT6
#define B_PCH_PCIE_RES_NFEMR                      BIT5
#define B_PCH_PCIE_RES_FUF                        BIT4
#define B_PCH_PCIE_RES_MENR                       BIT3
#define B_PCH_PCIE_RES_ENR                        BIT2
#define B_PCH_PCIE_RES_MCR                        BIT1
#define B_PCH_PCIE_RES_CR                         BIT0
#define R_PCH_PCIE_PECR2                          0x320
#define S_PCH_PCIE_PECR2                          4
#define B_PCH_PCIE_PECR2_FIELD_1                  BIT21
#define R_PCH_PCIE_PEETM                          0x324
#define S_PCH_PCIE_PEETM                          1
#define B_PCH_PCIE_PEETM_BAU                      BIT2
#define R_PCH_PCIE_PEC1                           0x330
#define S_PCH_PCIE_PEC1                           4
#define B_PCH_PCIE_PEC1_FIELD_1                   0xFF
#define R_PCH_PCIE_LTROVR                         0x400
#define R_PCH_PCIE_LTROVR2                        0x404
#define R_PCH_PCIE_L1SECH                         0x200
#define V_PCH_PCIE_L1SECH_L1SUBST_CAP_ID          0x1E
#define R_PCH_PCIE_L1SCAP                         0x204
#define R_PCH_PCIE_PCIEPMECTL                     0x420
#define B_PCH_PCIE_PCIEPMECTL_FDPGE               BIT31
#define B_PCH_PCIE_PCIEPMECTL_DLSULPGE            BIT30
#define B_PCH_PCIE_PCIEPMECTL_DLSULDLSD           BIT29
#define B_PCH_PCIE_PCIEPMECTL_L1LE                BIT17
#define V_PCH_PCIE_PCIEPMECTL_L1LTRTLV            (BIT13 | BIT12 | BIT11 | BIT10 | BIT9 | BIT8 | BIT7 | BIT6 | BIT5 | BIT4)
#endif