summaryrefslogtreecommitdiff
path: root/ReferenceCode/Chipset/SystemAgent/MemoryInit/Pei/Source/Include/MrcRegisters/Pci000.h
blob: 050187b0a6b522127259b22e0d092efe7ec1a0cf (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
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
/*++ @file
  PCI bus 0, device 0, function 0 register definitions


@copyright
  Copyright (c) 1999 - 2012 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 _Pci000_h_
#define _Pci000_h_
#pragma pack (push, 1)
#include "MrcTypes.h"

typedef union {
  struct {
    U32 Mchbaren : 1;  /// Bits 0:0
    U32          : 14; /// Bits 14:1
    U32 Mchbar   : 17; /// Bits 31:15
  } Bits;
  U32 Data;
  U16 Data16[2];
  U8  Data8[4];
} MRC_PCI_000_MCHBAR_LOW_STRUCT;

typedef union {
  struct {
    U32 Mchbar   : 7;  /// Bits 38:32
    U32          : 25; /// Bits 63:39
  } Bits;
  U32 Data;
  U16 Data16[2];
  U8  Data8[4];
} MRC_PCI_000_MCHBAR_HIGH_STRUCT;

typedef union {
  struct {
    U64 Mchbaren : 1;  /// Bits 0:0
    U64          : 14; /// Bits 14:1
    U64 Mchbar   : 24; /// Bits 38:15
    U64          : 25; /// Bits 63:39
  } Bits;
  U64 Data;
  struct {
    MRC_PCI_000_MCHBAR_LOW_STRUCT  Low;
    MRC_PCI_000_MCHBAR_HIGH_STRUCT High;
  } Data32;
} MRC_PCI_000_MCHBAR_STRUCT;

#define MRC_PCI_000_MCHBAR_REG (0x48)
  #define MCHBAR_MCHBAREN_OFF  (0)
  #define MCHBAR_MCHBAREN_WID  (1)
  #define MCHBAR_MCHBAREN_MSK  (0x1)
  #define MCHBAR_MCHBAREN_MAX  (0x1)
  #define MCHBAR_MCHBAREN_DEF  (0x0)
  #define MCHBAR_MCHBAR_OFF    (15)
  #define MCHBAR_MCHBAR_WID    (24)
  #define MCHBAR_MCHBAR_MSK    (0x0000007FFFFF8000)
  #define MCHBAR_MCHBAR_MAX    (0xFFFFFF)
  #define MCHBAR_MCHBAR_DEF    (0x0)

typedef union {
  struct {
    U32 Ggclck : 1;  /// Bits 0:0
    U32 Ivd    : 1;  /// Bits 1:1
    U32        : 1;  /// Bits 2:2
    U32 Gms    : 5;  /// Bits 7:3
    U32 Ggms   : 2;  /// Bits 9:8
    U32        : 4;  /// Bits 13:10
    U32 Vamen  : 1;  /// Bits 14:14
    U32        : 17; /// Bits 31:15
  } Bits;
  U32 Data;
  U16 Data16[2];
  U8  Data8[4];
} MRC_PCI_000_GGC_STRUCT;

#define MRC_PCI_000_GGC_REG (0x50)
  #define GGC_GGCLCK_OFF    (0)
  #define GGC_GGCLCK_WID    (1)
  #define GGC_GGCLCK_MSK    (0x1)
  #define GGC_GGCLCK_MAX    (0x1)
  #define GGC_GGCLCK_DEF    (0x0)
  #define GGC_IVD_OFF       (1)
  #define GGC_IVD_WID       (1)
  #define GGC_IVD_MSK       (0x2)
  #define GGC_IVD_MAX       (0x1)
  #define GGC_IVD_DEF       (0x0)
  #define GGC_GMS_OFF       (3)
  #define GGC_GMS_WID       (5)
  #define GGC_GMS_MSK       (0xF8)
  #define GGC_GMS_MAX       (0x1F)
  #define GGC_GMS_DEF       (0x5)
  #define GGC_GGMS_OFF      (8)
  #define GGC_GGMS_WID      (2)
  #define GGC_GGMS_MSK      (0x300)
  #define GGC_GGMS_MAX      (0x3)
  #define GGC_GGMS_DEF      (0x0)
  #define GGC_VAMEN_OFF     (0xe)
  #define GGC_VAMEN_WID     (0x1)
  #define GGC_VAMEN_MSK     (0x4000)
  #define GGC_VAMEN_MAX     (0x1)
  #define GGC_VAMEN_DEF     (0x0)

typedef union {
  struct {
    U32 D0EN   : 1;  /// Bits 0:0
    U32 D1F2EN : 1;  /// Bits 1:1
    U32 D1F1EN : 1;  /// Bits 2:2
    U32 D1F0EN : 1;  /// Bits 3:3
    U32 D2EN   : 1;  /// Bits 4:4
    U32 D3EN   : 1;  /// Bits 5:5
    U32        : 1;  /// Bits 6:6
    U32 D4EN   : 1;  /// Bits 7:7
    U32        : 6;  /// Bits 13:8
    U32 D7EN   : 1;  /// Bits 14:14
    U32        : 17; /// Bits 31:15
  } Bits;
  U32 Data;
  U16 Data16[2];
  U8  Data8[4];
} MRC_PCI_000_DEVEN_STRUCT;

#define MRC_PCI_000_DEVEN_REG (0x54)
  #define DEVEN_D0EN_OFF      (0)
  #define DEVEN_D0EN_WID      (1)
  #define DEVEN_D0EN_MSK      (0x1)
  #define DEVEN_D0EN_MAX      (0x1)
  #define DEVEN_D0EN_DEF      (0x1)
  #define DEVEN_D1F2EN_OFF    (1)
  #define DEVEN_D1F2EN_WID    (1)
  #define DEVEN_D1F2EN_MSK    (0x2)
  #define DEVEN_D1F2EN_MAX    (0x1)
  #define DEVEN_D1F2EN_DEF    (0x1)
  #define DEVEN_D1F1EN_OFF    (2)
  #define DEVEN_D1F1EN_WID    (1)
  #define DEVEN_D1F1EN_MSK    (0x4)
  #define DEVEN_D1F1EN_MAX    (0x1)
  #define DEVEN_D1F1EN_DEF    (0x1)
  #define DEVEN_D1F0EN_OFF    (3)
  #define DEVEN_D1F0EN_WID    (1)
  #define DEVEN_D1F0EN_MSK    (0x8)
  #define DEVEN_D1F0EN_MAX    (0x1)
  #define DEVEN_D1F0EN_DEF    (0x1)
  #define DEVEN_D2EN_OFF      (4)
  #define DEVEN_D2EN_WID      (1)
  #define DEVEN_D2EN_MSK      (0x10)
  #define DEVEN_D2EN_MAX      (0x1)
  #define DEVEN_D2EN_DEF      (0x1)
  #define DEVEN_D3EN_OFF      (5)
  #define DEVEN_D3EN_WID      (1)
  #define DEVEN_D3EN_MSK      (0x20)
  #define DEVEN_D3EN_MAX      (0x1)
  #define DEVEN_D3EN_DEF      (0x1)
  #define DEVEN_D4EN_OFF      (7)
  #define DEVEN_D4EN_WID      (1)
  #define DEVEN_D4EN_MSK      (0x80)
  #define DEVEN_D4EN_MAX      (0x1)
  #define DEVEN_D4EN_DEF      (0x1)
  #define DEVEN_D7EN_OFF      (14)
  #define DEVEN_D7EN_WID      (1)
  #define DEVEN_D7EN_MSK      (0x4000)
  #define DEVEN_D7EN_MAX      (0x1)
  #define DEVEN_D7EN_DEF      (0x0)

typedef union {
  struct {
    U32 Pciexbaren : 1;  /// Bits 0:0
    U32 Length     : 2;  /// Bits 2:1
    U32            : 23; /// Bits 25:3
    U32 Admsk64    : 1;  /// Bits 26:26
    U32 Admsk128   : 1;  /// Bits 27:27
    U32 Pciexbar   : 4;  /// Bits 31:28
  } Bits;
  U32 Data;
  U16 Data16[2];
  U8  Data8[4];
} MRC_PCI_000_PCIEXBAR_LOW_STRUCT;

typedef union {
  struct {
    U32 Pciexbar   : 7;  /// Bits 38:32
    U32            : 25; /// Bits 63:39
  } Bits;
  U32 Data;
  U16 Data16[2];
  U8  Data8[4];
} MRC_PCI_000_PCIEXBAR_HIGH_STRUCT;

typedef union {
  struct {
    U64 Pciexbaren : 1;  /// Bits 0:0
    U64 Length     : 2;  /// Bits 2:1
    U64            : 23; /// Bits 25:3
    U64 Admsk64    : 1;  /// Bits 26:26
    U64 Admsk128   : 1;  /// Bits 27:27
    U64 Pciexbar   : 11; /// Bits 38:28
    U64            : 25; /// Bits 63:39
  } Bits;
  U64 Data;
  struct {
    MRC_PCI_000_PCIEXBAR_LOW_STRUCT  Low;
    MRC_PCI_000_PCIEXBAR_HIGH_STRUCT High;
  } Data32;
} MRC_PCI_000_PCIEXBAR_STRUCT;

#define MRC_PCI_000_PCIEXBAR_REG  (0x60)
  #define PCIEXBAR_PCIEXBAREN_OFF (0)
  #define PCIEXBAR_PCIEXBAREN_WID (1)
  #define PCIEXBAR_PCIEXBAREN_MSK (0x1)
  #define PCIEXBAR_PCIEXBAREN_MAX (0x1)
  #define PCIEXBAR_PCIEXBAREN_DEF (0x0)
  #define PCIEXBAR_LENGTH_OFF     (1)
  #define PCIEXBAR_LENGTH_WID     (2)
  #define PCIEXBAR_LENGTH_MSK     (0x6)
  #define PCIEXBAR_LENGTH_MAX     (0x3)
  #define PCIEXBAR_LENGTH_DEF     (0x0)
  #define PCIEXBAR_ADMSK64_OFF    (26)
  #define PCIEXBAR_ADMSK64_WID    (1)
  #define PCIEXBAR_ADMSK64_MSK    (0x4000000)
  #define PCIEXBAR_ADMSK64_MAX    (0x1)
  #define PCIEXBAR_ADMSK64_DEF    (0x1)
  #define PCIEXBAR_ADMSK128_OFF   (27)
  #define PCIEXBAR_ADMSK128_WID   (1)
  #define PCIEXBAR_ADMSK128_MSK   (0x8000000)
  #define PCIEXBAR_ADMSK128_MAX   (0x1)
  #define PCIEXBAR_ADMSK128_DEF   (0x1)
  #define PCIEXBAR_PCIEXBAR_OFF   (28)
  #define PCIEXBAR_PCIEXBAR_WID   (11)
  #define PCIEXBAR_PCIEXBAR_MSK   (0x7FF0000000)
  #define PCIEXBAR_PCIEXBAR_MAX   (0x7FF)
  #define PCIEXBAR_PCIEXBAR_DEF   (0x0)

typedef union {
  struct {
    U32       : 20; /// Bits 19:0
    U32 Value : 12; /// Bits 31:20
  } Bits;
  U32 Data;
  U16 Data16[2];
  U8  Data8[4];
} MRC_PCI_000_MESEG_BASE_LOW_STRUCT;

typedef union {
  struct {
    U32 Value : 7;  /// Bits 38:32
    U32       : 25; /// Bits 63:39
  } Bits;
  U32 Data;
  U16 Data16[2];
  U8  Data8[4];
} MRC_PCI_000_MESEG_BASE_HIGH_STRUCT;

typedef union {
  struct {
    U64       : 20; /// Bits 19:0
    U64 Value : 19; /// Bits 38:20
    U64       : 25; /// Bits 63:39
  } Bits;
  U64 Data;
  struct {
    MRC_PCI_000_MESEG_BASE_LOW_STRUCT  Low;
    MRC_PCI_000_MESEG_BASE_HIGH_STRUCT High;
  } Data32;
} MRC_PCI_000_MESEG_BASE_STRUCT;

#define MRC_PCI_000_MESEG_BASE_REG  (0x70)
  #define MESEG_BASE_MEBASE_OFF     (20)
  #define MESEG_BASE_MEBASE_WID     (19)
  #define MESEG_BASE_MEBASE_MSK     (0x7FFFF00000)
  #define MESEG_BASE_MEBASE_MAX     (0x7FFFF)
  #define MESEG_BASE_MEBASE_DEF     (0x7FFFF)

typedef union {
  struct {
    U32        : 10; /// Bits 9:0
    U32 Lock   : 1;  /// Bits 10:10
    U32 Enable : 1;  /// Bits 11:11
    U32        : 8;  /// Bits 19:12
    U32 Value  : 12; /// Bits 31:20
  } Bits;
  U32 Data;
  U16 Data16[2];
  U8  Data8[4];
} MRC_PCI_000_MESEG_MASK_LOW_STRUCT;

typedef union {
  struct {
    U32 Value  : 7;  /// Bits 38:32
    U32        : 25; /// Bits 63:39
  } Bits;
  U32 Data;
  U16 Data16[2];
  U8  Data8[4];
} MRC_PCI_000_MESEG_MASK_HIGH_STRUCT;

typedef union {
  struct {
    U64        : 10; /// Bits 9:0
    U64 Lock   : 1;  /// Bits 10:10
    U64 Enable : 1;  /// Bits 11:11
    U64        : 8;  /// Bits 19:12
    U64 Value  : 19; /// Bits 38:20
    U64        : 25; /// Bits 63:39
  } Bits;
  U64 Data;
  struct {
    MRC_PCI_000_MESEG_MASK_LOW_STRUCT  Low;
    MRC_PCI_000_MESEG_MASK_HIGH_STRUCT High;
  } Data32;
} MRC_PCI_000_MESEG_MASK_STRUCT;

#define MRC_PCI_000_MESEG_MASK_REG   (0x78)
  #define MESEG_MASK_MELCK_OFF       (10)
  #define MESEG_MASK_MELCK_WID       (1)
  #define MESEG_MASK_MELCK_MSK       (0x400)
  #define MESEG_MASK_MELCK_MAX       (1)
  #define MESEG_MASK_MELCK_DEF       (0x0)
  #define MESEG_MASK_ME_STLEN_EN_OFF (11)
  #define MESEG_MASK_ME_STLEN_EN_WID (1)
  #define MESEG_MASK_ME_STLEN_EN_MSK (0x800)
  #define MESEG_MASK_ME_STLEN_EN_MAX (0x1)
  #define MESEG_MASK_ME_STLEN_EN_DEF (0x0)
  #define MESEG_MASK_MEMASK_OFF      (20)
  #define MESEG_MASK_MEMASK_WID      (19)
  #define MESEG_MASK_MEMASK_MSK      (0x7FFFF00000)
  #define MESEG_MASK_MEMASK_MAX      (0x7FFFF)
  #define MESEG_MASK_MEMASK_DEF      (0x0)

typedef union {
  struct {
    U32 Lock  : 1;  /// Bits 0:0
    U32       : 19; /// Bits 19:1
    U32 Value : 12; /// Bits 31:20
  } Bits;
  U32 Data;
  U16 Data16[2];
  U8  Data8[4];
} MRC_PCI_000_REMAPBASE_LOW_STRUCT;

typedef union {
  struct {
    U32 Value : 7;  /// Bits 38:32
    U32       : 25; /// Bits 63:39
  } Bits;
  U32 Data;
  U16 Data16[2];
  U8  Data8[4];
} MRC_PCI_000_REMAPBASE_HIGH_STRUCT;

typedef union {
  struct {
    U64 Lock  : 1;  /// Bits 0:0
    U64       : 19; /// Bits 19:1
    U64 Value : 19; /// Bits 38:20
    U64       : 25; /// Bits 63:39
  } Bits;
  U64 Data;
  struct {
    MRC_PCI_000_REMAPBASE_LOW_STRUCT  Low;
    MRC_PCI_000_REMAPBASE_HIGH_STRUCT High;
  } Data32;
} MRC_PCI_000_REMAPBASE_STRUCT;

#define MRC_PCI_000_REMAPBASE_REG (0x90)
  #define REMAPBASE_LOCK_OFF      (0)
  #define REMAPBASE_LOCK_WID      (1)
  #define REMAPBASE_LOCK_MSK      (0x1)
  #define REMAPBASE_LOCK_MAX      (0x1)
  #define REMAPBASE_LOCK_DEF      (0x0)
  #define REMAPBASE_REMAPBASE_OFF (20)
  #define REMAPBASE_REMAPBASE_WID (19)
  #define REMAPBASE_REMAPBASE_MSK (0x7FFFF00000)
  #define REMAPBASE_REMAPBASE_MAX (0x7FFFF)
  #define REMAPBASE_REMAPBASE_DEF (0xFFFFF)

typedef union {
  struct {
    U32 Lock  : 1;  /// Bits 0:0
    U32       : 19; /// Bits 19:1
    U32 Value : 12; /// Bits 31:20
  } Bits;
  U32 Data;
  U16 Data16[2];
  U8  Data8[4];
} MRC_PCI_000_REMAPLIMIT_LOW_STRUCT;

typedef union {
  struct {
    U32 Value : 7;  /// Bits 38:32
    U32       : 25; /// Bits 63:39
  } Bits;
  U32 Data;
  U16 Data16[2];
  U8  Data8[4];
} MRC_PCI_000_REMAPLIMIT_HIGH_STRUCT;

typedef union {
  struct {
    U64 Lock  : 1;  /// Bits 0:0
    U64       : 19; /// Bits 19:1
    U64 Value : 19; /// Bits 38:20
    U64       : 25; /// Bits 63:39
  } Bits;
  U64 Data;
  struct {
    MRC_PCI_000_REMAPLIMIT_LOW_STRUCT  Low;
    MRC_PCI_000_REMAPLIMIT_HIGH_STRUCT High;
  } Data32;
} MRC_PCI_000_REMAPLIMIT_STRUCT;

#define MRC_PCI_000_REMAPLIMIT_REG (0x98)
  #define REMAPLIMIT_LOCK_OFF      (0)
  #define REMAPLIMIT_LOCK_WID      (1)
  #define REMAPLIMIT_LOCK_MSK      (0x1)
  #define REMAPLIMIT_LOCK_MAX      (0x1)
  #define REMAPLIMIT_LOCK_DEF      (0x0)
  #define REMAPLIMIT_REMAPLMT_OFF  (20)
  #define REMAPLIMIT_REMAPLMT_WID  (19)
  #define REMAPLIMIT_REMAPLMT_MSK  (0x7FFFF00000)
  #define REMAPLIMIT_REMAPLMT_MAX  (0x7FFFF)
  #define REMAPLIMIT_REMAPLMT_DEF  (0x0)

typedef union {
  struct {
    U32 Lock  : 1;  /// Bits 0:0
    U32       : 19; /// Bits 19:1
    U32 Value : 12; /// Bits 31:20
  } Bits;
  U32 Data;
  U16 Data16[2];
  U8  Data8[4];
} MRC_PCI_000_TOM_LOW_STRUCT;

typedef union {
  struct {
    U32 Value : 7;  /// Bits 38:32
    U32       : 25; /// Bits 63:39
  } Bits;
  U32 Data;
  U16 Data16[2];
  U8  Data8[4];
} MRC_PCI_000_TOM_HIGH_STRUCT;

typedef union {
  struct {
    U64 Lock  : 1;  /// Bits 0:0
    U64       : 19; /// Bits 19:1
    U64 Value : 19; /// Bits 38:20
    U64       : 25; /// Bits 63:39
  } Bits;
  U64 Data;
  struct {
    MRC_PCI_000_TOM_LOW_STRUCT  Low;
    MRC_PCI_000_TOM_HIGH_STRUCT High;
  } Data32;
} MRC_PCI_000_TOM_STRUCT;

#define MRC_PCI_000_TOM_REG (0xA0)
  #define TOM_LOCK_OFF      (0)
  #define TOM_LOCK_WID      (1)
  #define TOM_LOCK_MSK      (0x1)
  #define TOM_LOCK_MAX      (0x1)
  #define TOM_LOCK_DEF      (0x0)
  #define TOM_TOM_OFF       (20)
  #define TOM_TOM_WID       (19)
  #define TOM_TOM_MSK       (0x7FFFF00000)
  #define TOM_TOM_MAX       (0x7FFFF)
  #define TOM_TOM_DEF       (0x7FFFF)

typedef union {
  struct {
    U32 Lock  : 1;  /// Bits 0:0
    U32       : 19; /// Bits 19:1
    U32 Value : 12; /// Bits 31:20
  } Bits;
  U32 Data;
  U16 Data16[2];
  U8  Data8[4];
} MRC_PCI_000_TOUUD_LOW_STRUCT;

typedef union {
  struct {
    U32 Value : 7;  /// Bits 38:32
    U32       : 25; /// Bits 63:39
  } Bits;
  U32 Data;
  U16 Data16[2];
  U8  Data8[4];
} MRC_PCI_000_TOUUD_HIGH_STRUCT;

typedef union {
  struct {
    U64 Lock  : 1;  /// Bits 0:0
    U64       : 19; /// Bits 19:1
    U64 Value : 19; /// Bits 38:20
    U64       : 25; /// Bits 63:39
  } Bits;
  U64 Data;
  struct {
    MRC_PCI_000_TOUUD_LOW_STRUCT  Low;
    MRC_PCI_000_TOUUD_HIGH_STRUCT High;
  } Data32;
} MRC_PCI_000_TOUUD_STRUCT;

#define MRC_PCI_000_TOUUD_REG (0xA8)
  #define TOUUD_LOCK_OFF      (0)
  #define TOUUD_LOCK_WID      (1)
  #define TOUUD_LOCK_MSK      (0x1)
  #define TOUUD_LOCK_MAX      (0x1)
  #define TOUUD_LOCK_DEF      (0x0)
  #define TOUUD_TOUUD_OFF     (20)
  #define TOUUD_TOUUD_WID     (19)
  #define TOUUD_TOUUD_MSK     (0x7FFFF00000)
  #define TOUUD_TOUUD_MAX     (0x7FFFF)
  #define TOUUD_TOUUD_DEF     (0x0)

typedef union {
  struct {
    U32 Lock  : 1;  /// Bits 0:0
    U32       : 19; /// Bits 19:1
    U32 Value : 12; /// Bits 31:20
  } Bits;
  U32 Data;
  U16 Data16[2];
  U8  Data8[4];
} MRC_PCI_000_BDSM_STRUCT;

#define MRC_PCI_000_BDSM_REG (0xB0)
  #define BDSM_LOCK_OFF      (0)
  #define BDSM_LOCK_WID      (1)
  #define BDSM_LOCK_MSK      (0x1)
  #define BDSM_LOCK_MAX      (0x1)
  #define BDSM_LOCK_DEF      (0x0)
  #define BDSM_BDSM_OFF      (20)
  #define BDSM_BDSM_WID      (12)
  #define BDSM_BDSM_MSK      (0xFFF00000)
  #define BDSM_BDSM_MAX      (0xFFF)
  #define BDSM_BDSM_DEF      (0x0)

typedef union {
  struct {
    U32 Lock  : 1;  /// Bits 0:0
    U32       : 19; /// Bits 19:1
    U32 Value : 12; /// Bits 31:20
  } Bits;
  U32 Data;
  U16 Data16[2];
  U8  Data8[4];
} MRC_PCI_000_BGSM_STRUCT;

#define MRC_PCI_000_BGSM_REG (0xB4)
  #define BGSM_LOCK_OFF      (0)
  #define BGSM_LOCK_WID      (1)
  #define BGSM_LOCK_MSK      (0x1)
  #define BGSM_LOCK_MAX      (0x1)
  #define BGSM_LOCK_DEF      (0x0)
  #define BGSM_BGSM_OFF      (20)
  #define BGSM_BGSM_WID      (12)
  #define BGSM_BGSM_MSK      (0xFFF00000)
  #define BGSM_BGSM_MAX      (0xFFF)
  #define BGSM_BGSM_DEF      (0x001)

typedef union {
  struct {
    U32 Lock  : 1;  /// Bits 0:0
    U32       : 19; /// Bits 19:1
    U32 Value : 12; /// Bits 31:20
  } Bits;
  U32 Data;
  U16 Data16[2];
  U8  Data8[4];
} MRC_PCI_000_TSEGMB_STRUCT;

#define MRC_PCI_000_TSEGMB_REG (0xB8)
  #define TSEGMB_LOCK_OFF      (0)
  #define TSEGMB_LOCK_WID      (1)
  #define TSEGMB_LOCK_MSK      (0x1)
  #define TSEGMB_LOCK_MAX      (0x1)
  #define TSEGMB_LOCK_DEF      (0x0)
  #define TSEGMB_TSEGMB_OFF    (20)
  #define TSEGMB_TSEGMB_WID    (12)
  #define TSEGMB_TSEGMB_MSK    (0xFFF00000)
  #define TSEGMB_TSEGMB_MAX    (0xFFF)
  #define TSEGMB_TSEGMB_DEF    (0x0)

typedef union {
  struct {
    U32 Lock    : 1;  /// Bits 0:0
    U32 Prs     : 1;  /// Bits 1:1
    U32 Epm     : 1;  /// Bits 2:2
    U32         : 1;  /// Bits 3:3
    U32 Dprsize : 8;  /// Bits 11:4
    U32         : 20; /// Bits 31:12
  } Bits;
  U32 Data;
  U16 Data16[2];
  U8  Data8[4];
} MRC_PCI_000_DPR_STRUCT;

#define MRC_PCI_000_DPR_REG (0x5c)
  #define DPR_LOCK_OFF      (0)
  #define DPR_LOCK_WID      (1)
  #define DPR_LOCK_MSK      (0x1)
  #define DPR_LOCK_MAX      (0x1)
  #define DPR_LOCK_DEF      (0x0)
  #define DPR_EPM_OFF       (2)
  #define DPR_EPM_WID       (1)
  #define DPR_EPM_MSK       (0x4)
  #define DPR_EPM_MAX       (0x1)
  #define DPR_EPM_DEF       (0x0)

typedef union {
  struct {
    U32 Lock  : 1;  /// Bits 0:0
    U32       : 19; /// Bits 19:1
    U32 Value : 12; /// Bits 31:20
  } Bits;
  U32 Data;
  U16 Data16[2];
  U8  Data8[4];
} MRC_PCI_000_TOLUD_STRUCT;

#define MRC_PCI_000_TOLUD_REG (0xBC)
  #define TOLUD_LOCK_OFF      (0)
  #define TOLUD_LOCK_WID      (1)
  #define TOLUD_LOCK_MSK      (0x1)
  #define TOLUD_LOCK_MAX      (0x1)
  #define TOLUD_LOCK_DEF      (0x0)
  #define TOLUD_TOLUD_OFF     (20)
  #define TOLUD_TOLUD_WID     (12)
  #define TOLUD_TOLUD_MSK     (0xFFF00000)
  #define TOLUD_TOLUD_MAX     (0xFFF)
  #define TOLUD_TOLUD_DEF     (0x001)

typedef union {
  struct {
    U32 DDR3L_EN        : 1;  /// Bits 0:0
    U32 DDR_WRTVREF     : 1;  /// Bits 1:1
    U32 OC_ENABLED_DSKU : 1;  /// Bits 2:2
    U32 DDR_OVERCLOCK   : 1;  /// Bits 3:3
    U32 CRID            : 4;  /// Bits 7:4
    U32 CDID            : 2;  /// Bits 9:8
    U32 DIDOE           : 1;  /// Bits 10:10
    U32 IGD             : 1;  /// Bits 11:11
    U32 PDCD            : 1;  /// Bits 12:12
    U32 X2APIC_EN       : 1;  /// Bits 13:13
    U32 DDPCD           : 1;  /// Bits 14:14
    U32 CDD             : 1;  /// Bits 15:15
    U32 FUFRD           : 1;  /// Bits 16:16
    U32 D1NM            : 1;  /// Bits 17:17
    U32 PCIE_RATIO_DIS  : 1;  /// Bits 18:18
    U32 DDRSZ           : 2;  /// Bits 20:19
    U32 PEGG2DIS        : 1;  /// Bits 21:21
    U32 DMIG2DIS        : 1;  /// Bits 22:22
    U32 VTDDD           : 1;  /// Bits 23:23
    U32 FDEE            : 1;  /// Bits 24:24
    U32 ECCDIS          : 1;  /// Bits 25:25
    U32 DW              : 1;  /// Bits 26:26
    U32 PELWUD          : 1;  /// Bits 27:27
    U32 PEG10D          : 1;  /// Bits 28:28
    U32 PEG11D          : 1;  /// Bits 29:29
    U32 PEG12D          : 1;  /// Bits 30:30
    U32 DHDAD           : 1;  /// Bits 31:31
  } Bits;
  U32 Data;
  U16 Data16[2];
  U8  Data8[4];
} MRC_PCI_000_CAPID0_A_STRUCT;

#define MRC_PCI_000_CAPID0_REG        (0xE4)
#define MRC_PCI_000_CAPID0_A_REG      (0xE4)
  #define CAPID0_A_DDR3L_EN_OFF       (0)
  #define CAPID0_A_DDR3L_EN_WID       (1)
  #define CAPID0_A_DDR3L_EN_MSK       (0x1)
  #define CAPID0_A_DDR3L_EN_MAX       (0x1)
  #define CAPID0_A_DDR3L_EN_DEF       (0x0)
  #define CAPID0_A_DDR_WRTVREF_OFF    (0x0)
  #define CAPID0_A_DDR_WRTVREF_WID    (0x1)
  #define CAPID0_A_DDR_WRTVREF_MSK    (0x1)
  #define CAPID0_A_DDR_WRTVREF_MAX    (0x1)
  #define CAPID0_A_DDR_WRTVREF_DEF    (0x0)
  #define CAPID0_A_DDR_OVERCLOCK_OFF  (3)
  #define CAPID0_A_DDR_OVERCLOCK_WID  (1)
  #define CAPID0_A_DDR_OVERCLOCK_MSK  (0x8)
  #define CAPID0_A_DDR_OVERCLOCK_MAX  (0x1)
  #define CAPID0_A_DDR_OVERCLOCK_DEF  (0x0)
  #define CAPID0_A_CRID_OFF           (4)
  #define CAPID0_A_CRID_WID           (4)
  #define CAPID0_A_CRID_MSK           (0xF0)
  #define CAPID0_A_CRID_MAX           (0xF)
  #define CAPID0_A_CRID_DEF           (0x0)
  #define CAPID0_A_CDID_OFF           (8)
  #define CAPID0_A_CDID_WID           (2)
  #define CAPID0_A_CDID_MSK           (0x300)
  #define CAPID0_A_CDID_MAX           (0x3)
  #define CAPID0_A_CDID_DEF           (0x0)
  #define CAPID0_A_DIDOE_OFF          (10)
  #define CAPID0_A_DIDOE_WID          (1)
  #define CAPID0_A_DIDOE_MSK          (0x400)
  #define CAPID0_A_DIDOE_MAX          (0x1)
  #define CAPID0_A_DIDOE_DEF          (0x0)
  #define CAPID0_A_IGD_OFF            (11)
  #define CAPID0_A_IGD_WID            (1)
  #define CAPID0_A_IGD_MSK            (0x800)
  #define CAPID0_A_IGD_MAX            (0x1)
  #define CAPID0_A_IGD_DEF            (0x0)
  #define CAPID0_A_PDCD_OFF           (12)
  #define CAPID0_A_PDCD_WID           (1)
  #define CAPID0_A_PDCD_MSK           (0x1000)
  #define CAPID0_A_PDCD_MAX           (0x1)
  #define CAPID0_A_PDCD_DEF           (0x0)
  #define CAPID0_A_X2APIC_EN_OFF      (13)
  #define CAPID0_A_X2APIC_EN_WID      (1)
  #define CAPID0_A_X2APIC_EN_MSK      (0x2000)
  #define CAPID0_A_X2APIC_EN_MAX      (0x1)
  #define CAPID0_A_X2APIC_EN_DEF      (0x0)
  #define CAPID0_A_DDPCD_OFF          (14)
  #define CAPID0_A_DDPCD_WID          (1)
  #define CAPID0_A_DDPCD_MSK          (0x4000)
  #define CAPID0_A_DDPCD_MAX          (0x1)
  #define CAPID0_A_DDPCD_DEF          (0x0)
  #define CAPID0_A_CDD_OFF            (15)
  #define CAPID0_A_CDD_WID            (1)
  #define CAPID0_A_CDD_MSK            (0x8000)
  #define CAPID0_A_CDD_MAX            (0x1)
  #define CAPID0_A_CDD_DEF            (0x0)
  #define CAPID0_A_FUFRD_OFF          (16)
  #define CAPID0_A_FUFRD_WID          (1)
  #define CAPID0_A_FUFRD_MSK          (0x10000)
  #define CAPID0_A_FUFRD_MAX          (0x1)
  #define CAPID0_A_FUFRD_DEF          (0x0)
  #define CAPID0_A_D1NM_OFF           (17)
  #define CAPID0_A_D1NM_WID           (1)
  #define CAPID0_A_D1NM_MSK           (0x20000)
  #define CAPID0_A_D1NM_MAX           (0x1)
  #define CAPID0_A_D1NM_DEF           (0x0)
  #define CAPID0_A_PEGX16D_OFF        (18)
  #define CAPID0_A_PEGX16D_WID        (1)
  #define CAPID0_A_PEGX16D_MSK        (0x40000)
  #define CAPID0_A_PEGX16D_MAX        (0x1)
  #define CAPID0_A_PEGX16D_DEF        (0x0)
  #define CAPID0_A_DDRSZ_OFF          (19)
  #define CAPID0_A_DDRSZ_WID          (2)
  #define CAPID0_A_DDRSZ_MSK          (0x180000)
  #define CAPID0_A_DDRSZ_MAX          (0x3)
  #define CAPID0_A_DDRSZ_DEF          (0x0)
  #define CAPID0_A_PEGG2DIS_OFF       (21)
  #define CAPID0_A_PEGG2DIS_WID       (1)
  #define CAPID0_A_PEGG2DIS_MSK       (0x200000)
  #define CAPID0_A_PEGG2DIS_MAX       (0x1)
  #define CAPID0_A_PEGG2DIS_DEF       (0x0)
  #define CAPID0_A_DMIG2DIS_OFF       (22)
  #define CAPID0_A_DMIG2DIS_WID       (1)
  #define CAPID0_A_DMIG2DIS_MSK       (0x400000)
  #define CAPID0_A_DMIG2DIS_MAX       (0x1)
  #define CAPID0_A_DMIG2DIS_DEF       (0x0)
  #define CAPID0_A_VTDD_OFF           (23)
  #define CAPID0_A_VTDD_WID           (1)
  #define CAPID0_A_VTDD_MSK           (0x800000)
  #define CAPID0_A_VTDD_MAX           (0x1)
  #define CAPID0_A_VTDD_DEF           (0x0)
  #define CAPID0_A_FDEE_OFF           (24)
  #define CAPID0_A_FDEE_WID           (1)
  #define CAPID0_A_FDEE_MSK           (0x1000000)
  #define CAPID0_A_FDEE_MAX           (0x1)
  #define CAPID0_A_FDEE_DEF           (0x0)
  #define CAPID0_A_ECCDIS_OFF         (25)
  #define CAPID0_A_ECCDIS_WID         (1)
  #define CAPID0_A_ECCDIS_MSK         (0x2000000)
  #define CAPID0_A_ECCDIS_MAX         (0x1)
  #define CAPID0_A_ECCDIS_DEF         (0x0)
  #define CAPID0_A_DW_OFF             (26)
  #define CAPID0_A_DW_WID             (1)
  #define CAPID0_A_DW_MSK             (0x4000000)
  #define CAPID0_A_DW_MAX             (0x1)
  #define CAPID0_A_DW_DEF             (0x0)
  #define CAPID0_A_PELWUD_OFF         (27)
  #define CAPID0_A_PELWUD_WID         (1)
  #define CAPID0_A_PELWUD_MSK         (0x8000000)
  #define CAPID0_A_PELWUD_MAX         (0x1)
  #define CAPID0_A_PELWUD_DEF         (0x0)
  #define CAPID0_A_PEG10D_OFF         (28)
  #define CAPID0_A_PEG10D_WID         (1)
  #define CAPID0_A_PEG10D_MSK         (0x10000000)
  #define CAPID0_A_PEG10D_MAX         (0x1)
  #define CAPID0_A_PEG10D_DEF         (0x0)
  #define CAPID0_A_PEG11D_OFF         (29)
  #define CAPID0_A_PEG11D_WID         (1)
  #define CAPID0_A_PEG11D_MSK         (0x20000000)
  #define CAPID0_A_PEG11D_MAX         (0x1)
  #define CAPID0_A_PEG11D_DEF         (0x0)
  #define CAPID0_A_PEG12D_OFF         (30)
  #define CAPID0_A_PEG12D_WID         (1)
  #define CAPID0_A_PEG12D_MSK         (0x40000000)
  #define CAPID0_A_PEG12D_MAX         (0x1)
  #define CAPID0_A_PEG12D_DEF         (0x0)

typedef union {
  struct {
    U32 SPEGFX1         : 1;  /// Bits 0:0
    U32 DPEGFX1         : 1;  /// Bits 1:1
    U32                 : 2;  /// Bits 3:2
    U32 DMFC            : 3;  /// Bits 6:4
    U32 DDD             : 1;  /// Bits 7:7
    U32                 : 3;  /// Bits 10:8
    U32 HDCPD           : 1;  /// Bits 11:11
    U32                 : 4;  /// Bits 15:12
    U32 PEGX16D         : 1;  /// Bits 16:16
    U32 ADDGFXCAP       : 1;  /// Bits 17:17
    U32 ADDGFXEN        : 1;  /// Bits 18:18
    U32 PKGTYP          : 1;  /// Bits 19:19
    U32 PEGG3_DIS       : 1;  /// Bits 20:20
    U32 PLL_REF100_CFG  : 3;  /// Bits 23:21
    U32 SOFTBIN         : 1;  /// Bits 24:24
    U32 CACHESZ         : 3;  /// Bits 27:25
    U32 SMT             : 1;  /// Bits 28:28
    U32 OC_ENABLED_SSKU : 1;  /// Bits 29:29
    U32 OC_CTL_SSKU     : 1;  /// Bits 30:30
    U32                 : 1;  /// Bits 31:31
  } Bits;
  U32 Data;
  U16 Data16[2];
  U8  Data8[4];
} MRC_PCI_000_CAPID0_B_STRUCT;

#define MRC_PCI_000_CAPID0_B_REG        (0xE8)
  #define CAPID0_B_SPEGFX1_OFF          (0)
  #define CAPID0_B_SPEGFX1_WID          (1)
  #define CAPID0_B_SPEGFX1_MSK          (0x1)
  #define CAPID0_B_SPEGFX1_MAX          (0x1)
  #define CAPID0_B_SPEGFX1_DEF          (0x0)
  #define CAPID0_B_DPEGFX1_OFF          (1)
  #define CAPID0_B_DPEGFX1_WID          (1)
  #define CAPID0_B_DPEGFX1_MSK          (0x2)
  #define CAPID0_B_DPEGFX1_MAX          (0x1)
  #define CAPID0_B_DPEGFX1_DEF          (0x0)
  #define CAPID0_B_DMFC_OFF             (4)
  #define CAPID0_B_DMFC_WID             (3)
  #define CAPID0_B_DMFC_MSK             (0x70)
  #define CAPID0_B_DMFC_MAX             (0x7)
  #define CAPID0_B_DMFC_DEF             (0x0)
  #define CAPID0_B_DDD_OFF              (7)
  #define CAPID0_B_DDD_WID              (1)
  #define CAPID0_B_DDD_MSK              (0x80)
  #define CAPID0_B_DDD_MAX              (0x1)
  #define CAPID0_B_DDD_DEF              (0x0)
  #define CAPID0_B_HGKS_OFF             (8)
  #define CAPID0_B_HGKS_WID             (3)
  #define CAPID0_B_HGKS_MSK             (0x700)
  #define CAPID0_B_HGKS_MAX             (0x7)
  #define CAPID0_B_HGKS_DEF             (0x0)
  #define CAPID0_B_HDCPD_OFF            (11)
  #define CAPID0_B_HDCPD_WID            (1)
  #define CAPID0_B_HDCPD_MSK            (0x800)
  #define CAPID0_B_HDCPD_MAX            (0x1)
  #define CAPID0_B_HDCPD_DEF            (0x0)
  #define CAPID0_B_ADDGFXCAP_OFF        (17)
  #define CAPID0_B_ADDGFXCAP_WID        (1)
  #define CAPID0_B_ADDGFXCAP_MSK        (0x20000)
  #define CAPID0_B_ADDGFXCAP_MAX        (0x1)
  #define CAPID0_B_ADDGFXCAP_DEF        (0x0)
  #define CAPID0_B_ADDGFXEN_OFF         (18)
  #define CAPID0_B_ADDGFXEN_WID         (1)
  #define CAPID0_B_ADDGFXEN_MSK         (0x40000)
  #define CAPID0_B_ADDGFXEN_MAX         (0x1)
  #define CAPID0_B_ADDGFXEN_DEF         (0x0)
  #define CAPID0_B_PKGTYP_OFF           (19)
  #define CAPID0_B_PKGTYP_WID           (1)
  #define CAPID0_B_PKGTYP_MSK           (0x80000)
  #define CAPID0_B_PKGTYP_MAX           (0x1)
  #define CAPID0_B_PKGTYP_DEF           (0x0)
  #define CAPID0_B_PLL_REF100_CFG_OFF   (21)
  #define CAPID0_B_PLL_REF100_CFG_WID   (3)
  #define CAPID0_B_PLL_REF100_CFG_MSK   (0xE00000)
  #define CAPID0_B_PLL_REF100_CFG_MAX   (0x7)
  #define CAPID0_B_PLL_REF100_CFG_DEF   (0x0)
  #define CAPID0_B_SOFTBIN_OFF          (24)
  #define CAPID0_B_SOFTBIN_WID          (1)
  #define CAPID0_B_SOFTBIN_MSK          (0x1000000)
  #define CAPID0_B_SOFTBIN_MAX          (0x1)
  #define CAPID0_B_SOFTBIN_DEF          (0x0)
  #define CAPID0_B_CACHESZ_OFF          (25)
  #define CAPID0_B_CACHESZ_WID          (3)
  #define CAPID0_B_CACHESZ_MSK          (0xe000000)
  #define CAPID0_B_CACHESZ_MAX          (0x7)
  #define CAPID0_B_CACHESZ_DEF          (0x0)
  #define CAPID0_B_SMT_OFF              (28)
  #define CAPID0_B_SMT_WID              (1)
  #define CAPID0_B_SMT_MSK              (0x10000000)
  #define CAPID0_B_SMT_MAX              (0x1)
  #define CAPID0_B_SMT_DEF              (0x0)
  #define CAPID0_B_OC_ENABLED_SSKU_OFF  (29)
  #define CAPID0_B_OC_ENABLED_SSKU_WID  (1)
  #define CAPID0_B_OC_ENABLED_SSKU_MSK  (0x20000000)
  #define CAPID0_B_OC_ENABLED_SSKU_MAX  (0x1)
  #define CAPID0_B_OC_ENABLED_SSKU_DEF  (0x0)

typedef union {
  struct {
    U64 DDR3L_EN        : 1;  /// Bits 0:0
    U64 DDR_WRTVREF     : 1;  /// Bits 1:1
    U64 OC_ENABLED_DSKU : 1;  /// Bits 2:2
    U64 DDR_OVERCLOCK   : 1;  /// Bits 3:3
    U64 CRID            : 4;  /// Bits 7:4
    U64 CDID            : 2;  /// Bits 9:8
    U64 DIDOE           : 1;  /// Bits 10:10
    U64 IGD             : 1;  /// Bits 11:11
    U64 PDCD            : 1;  /// Bits 12:12
    U64 X2APIC_EN       : 1;  /// Bits 13:13
    U64 DDPCD           : 1;  /// Bits 14:14
    U64 CDD             : 1;  /// Bits 15:15
    U64 FUFRD           : 1;  /// Bits 16:16
    U64 D1NM            : 1;  /// Bits 17:17
    U64 PCIE_RATIO_DIS  : 1;  /// Bits 18:18
    U64 DDRSZ           : 2;  /// Bits 20:19
    U64 PEGG2DIS        : 1;  /// Bits 21:21
    U64 DMIG2DIS        : 1;  /// Bits 22:22
    U64 VTDDD           : 1;  /// Bits 23:23
    U64 FDEE            : 1;  /// Bits 24:24
    U64 ECCDIS          : 1;  /// Bits 25:25
    U64 DW              : 1;  /// Bits 26:26
    U64 PELWUD          : 1;  /// Bits 27:27
    U64 PEG10D          : 1;  /// Bits 28:28
    U64 PEG11D          : 1;  /// Bits 29:29
    U64 PEG12D          : 1;  /// Bits 30:30
    U64 DHDAD           : 1;  /// Bits 31:31
    U64 SPEGFX1         : 1;  /// Bits 32:32
    U64 DPEGFX1         : 1;  /// Bits 33:33
    U64                 : 2;  /// Bits 35:34
    U64 DMFC            : 3;  /// Bits 38:36
    U64 DDD             : 1;  /// Bits 39:39
    U64                 : 3;  /// Bits 42:40
    U64 HDCPD           : 1;  /// Bits 43:43
    U64                 : 4;  /// Bits 47:44
    U64 PEGX16D         : 1;  /// Bits 48:48
    U64 ADDGFXCAP       : 1;  /// Bits 49:49
    U64 ADDGFXEN        : 1;  /// Bits 50:50
    U64 PKGTYP          : 1;  /// Bits 51:51
    U64 PEGG3_DIS       : 1;  /// Bits 52:52
    U64 PLL_REF100_CFG  : 3;  /// Bits 55:53
    U64 SOFTBIN         : 1;  /// Bits 56:56
    U64 CACHESZ         : 3;  /// Bits 59:57
    U64 SMT             : 1;  /// Bits 60:60
    U64 OC_ENABLED_SSKU : 1;  /// Bits 61:61
    U64 OC_CTL_SSKU     : 1;  /// Bits 62:62
    U64                 : 1;  /// Bits 63:63
  } Bits;
  U64 Data;
  struct {
    MRC_PCI_000_CAPID0_A_STRUCT A;
    MRC_PCI_000_CAPID0_B_STRUCT B;
  } Data32;
} MRC_PCI_000_CAPID0_STRUCT;

#pragma pack (pop)
#endif /// _Pci000_h_