summaryrefslogtreecommitdiff
path: root/ReferenceCode/Chipset/LynxPoint/Include/PchRegs/PchRegsRcrb.h
diff options
context:
space:
mode:
Diffstat (limited to 'ReferenceCode/Chipset/LynxPoint/Include/PchRegs/PchRegsRcrb.h')
-rw-r--r--ReferenceCode/Chipset/LynxPoint/Include/PchRegs/PchRegsRcrb.h483
1 files changed, 483 insertions, 0 deletions
diff --git a/ReferenceCode/Chipset/LynxPoint/Include/PchRegs/PchRegsRcrb.h b/ReferenceCode/Chipset/LynxPoint/Include/PchRegs/PchRegsRcrb.h
new file mode 100644
index 0000000..a5206e4
--- /dev/null
+++ b/ReferenceCode/Chipset/LynxPoint/Include/PchRegs/PchRegsRcrb.h
@@ -0,0 +1,483 @@
+/** @file
+ Register names for PCH Chipset Configuration Registers
+
+ 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 - 2013 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_RCRB_H_
+#define _PCH_REGS_RCRB_H_
+
+//
+// Chipset configuration registers (Memory space)
+// RCBA
+//
+#define R_PCH_RCRB_CIR0050 0x0050
+#define B_PCH_RCRB_CIR0_TCLOCKDN BIT31
+#define R_PCH_RCRB_RPFN 0x0404 ///< Root Port Function Number & Hide for PCI Express Root Ports
+#define B_PCH_RCRB_RPFN_RP8CH BIT31 ///< Root Port 8 Hide
+#define B_PCH_RCRB_RPFN_RP8FN (BIT30 | BIT29 | BIT28) ///< Root Port 8 Function Number
+#define B_PCH_RCRB_RPFN_RP7CH BIT27 ///< Root Port 7 Hide
+#define B_PCH_RCRB_RPFN_RP7FN (BIT26 | BIT25 | BIT24) ///< Root Port 7 Function Number
+#define B_PCH_RCRB_RPFN_RP6CH BIT23 ///< Root Port 6 Hide
+#define B_PCH_RCRB_RPFN_RP6FN (BIT22 | BIT21 | BIT20) ///< Root Port 6 Function Number
+#define B_PCH_RCRB_RPFN_RP5CH BIT19 ///< Root Port 5 Hide
+#define B_PCH_RCRB_RPFN_RP5FN (BIT18 | BIT17 | BIT16) ///< Root Port 5 Function Number
+#define B_PCH_RCRB_RPFN_RP4CH BIT15 ///< Root Port 4 Hide
+#define B_PCH_RCRB_RPFN_RP4FN (BIT14 | BIT13 | BIT12) ///< Root Port 4 Function Number
+#define B_PCH_RCRB_RPFN_RP3CH BIT11 ///< Root Port 3 Hide
+#define B_PCH_RCRB_RPFN_RP3FN (BIT10 | BIT9 | BIT8) ///< Root Port 3 Function Number
+#define B_PCH_RCRB_RPFN_RP2CH BIT7 ///< Root Port 2 Hide
+#define B_PCH_RCRB_RPFN_RP2FN (BIT6 | BIT5 | BIT4) ///< Root Port 2 Function Number
+#define B_PCH_RCRB_RPFN_RP1CH BIT3 ///< Root Port 1 Hide
+#define B_PCH_RCRB_RPFN_RP1FN (BIT2 | BIT1 | BIT0) ///< Root Port 1 Function Number
+#define S_PCH_RCRB_PRFN_RP_FIELD 4 ///< 4 bits per root port
+#define R_PCH_RCRB_CIR0900 0x0900
+#define R_PCH_RCRB_CIR1100 0x1100
+#define R_PCH_RCRB_TRSR 0x1E00 ///< Trap Status Register
+#define B_PCH_RCRB_TRSR_CTSS 0x000F ///< Cycle Trap SMI# Status mask
+#define R_PCH_RCRB_TRCR 0x1E10 ///< Trapped Cycle Register
+#define S_PCH_RCRB_TRCR 8
+#define B_PCH_RCRB_TRCR_RWI BIT24
+#define B_PCH_RCRB_TRCR_AHBE 0x00000000000F0000
+#define B_PCH_RCRB_TRCR_TIOA 0x000000000000FFFC
+#define R_PCH_RCRB_TRWDR 0x1E18 ///< Trap Write Data Register
+#define S_PCH_RCRB_TRWDR 8
+#define B_PCH_RCRB_TRWDR_TIOD 0x00000000FFFFFFFF
+#define R_PCH_RCRB_IO_TRAP_0 0x1E80 ///< Trap Configuration Register
+#define R_PCH_RCRB_IO_TRAP_1 0x1E88 ///< Trap Configuration Register
+#define R_PCH_RCRB_IO_TRAP_2 0x1E90 ///< Trap Configuration Register
+#define R_PCH_RCRB_IO_TRAP_3 0x1E98 ///< Trap Configuration Register
+#define B_PCH_RCRB_IO_TRAP_RWM BIT17 ///< 49 - 32 for 32 bit access
+#define B_PCH_RCRB_IO_TRAP_RWIO BIT16 ///< 48 - 32 for 32 bit access
+#define N_PCH_RCRB_IO_TRAP_RWIO (48 - 32) ///< for 32 bit access
+#define B_PCH_RCRB_IO_TRAP_BEM 0x000000F000000000
+#define B_PCH_RCRB_IO_TRAP_TBE 0x0000000F00000000
+#define B_PCH_RCRB_IO_TRAP_ADMA 0x0000000000FC0000
+#define B_PCH_RCRB_IO_TRAP_IOAD 0x000000000000FFFC
+#define B_PCH_RCRB_IO_TRAP_TRSE BIT0 ///< Trap and SMI# Enable
+#define R_PCH_RCRB_V0CTL 0x2014 ///< Virtual channel 0 resource control
+#define B_PCH_RCRB_V0CTL_EN BIT31
+#define B_PCH_RCRB_V0CTL_ID (7 << 24) ///< Bit[26:24]
+#define N_PCH_RCRB_V0CTL_ID 24
+#define V_PCH_RCRB_V0CTL_ETVM_MASK 0xFC00
+#define V_PCH_RCRB_V0CTL_TVM_MASK 0x7E
+#define R_PCH_RCRB_V0STS 0x201A ///< Virtual channel 0 status
+#define B_PCH_RCRB_V0STS_NP BIT1
+#define R_PCH_RCRB_V1CTL 0x2020 ///< Virtual channel 1 resource control
+#define B_PCH_RCRB_V1CTL_EN BIT31
+#define B_PCH_RCRB_V1CTL_ID (0x0F << 24) ///< Bit[27:24]
+#define N_PCH_RCRB_V1CTL_ID 24
+#define V_PCH_RCRB_V1CTL_ETVM_MASK 0xFC00
+#define V_PCH_RCRB_V1CTL_TVM_MASK 0xFE
+#define R_PCH_RCRB_V1STS 0x2026 ///< Virtual channel 1 status
+#define B_PCH_RCRB_V1STS_NP BIT1
+#define R_PCH_RCRB_CIR2030 0x2030 ///< Priority Virtual Channel resource control
+#define R_PCH_RCRB_CIR2040 0x2040 ///< Priority Virtual Channel resource control
+#define R_PCH_RCRB_CIR2088 0x2088
+#define R_PCH_RCRB_REC 0x20AC
+#define B_PCH_RCRB_REC_DPDP (BIT31)
+#define R_PCH_RCRB_LCAP 0x21A4 ///< Link capabilities
+#define B_PCH_RCRB_LCAP_EL1 (BIT17 | BIT16 | BIT15)
+#define B_PCH_RCRB_LCAP_EL0 (BIT14 | BIT13 | BIT12)
+#define B_PCH_RCRB_LCAP_APMS (BIT11 | BIT10) ///< L0 is supported on DMI
+#define B_PCH_RCRB_LCAP_MLW 0x000003F0
+#define B_PCH_RCRB_LCAP_MLS 0x0000000F
+#define R_PCH_RCRB_LCTL 0x21A8 ///< Link control
+#define B_PCH_RCRB_LCTL_ES BIT7
+#define B_PCH_RCRB_LCTL_APMC (BIT1 | BIT0)
+#define V_PCH_RCRB_LCTL_APMC_DIS 0x00
+#define V_PCH_RCRB_LCTL_APMC_L0S_EN 0x01
+#define R_PCH_RCRB_LSTS 0x21AA
+#define B_PCH_RCRB_LSTS_NLW 0x03F0
+#define B_PCH_RCRB_LSTS_LS 0x000F
+#define R_PCH_RCRB_DMIC 0x2234 ///< DMI control register
+#define B_PCH_H_RCRB_DMIC_DMICGEN (BIT3 | BIT2 | BIT1 | BIT0) ///< DMI Clock Gate Enable for PCH H
+#define B_PCH_LP_RCRB_DMIC_DMICGEN (BIT3 | BIT2 | BIT1 | BIT0) ///< DMI Clock Gate Enable for PCH LP
+#define R_PCH_RCRB_CIR2238 0x2238 ///< Chipset Initialization Register 2238
+#define R_PCH_RCBA_CIR228C 0x228C ///< Chipset Initialization Register 228C
+#define R_PCH_RCRB_DMC 0x2304 ///< DMI Miscellaneous Control Register
+#define R_PCH_RCRB_CIR2314 0x2314
+#define R_PCH_RCRB_CIR2320 0x2320
+#define R_PCH_RCRB_IOBPIRI 0x2330 ///< IOBP Indexed Register Index
+#define B_PCH_RCRB_IOBPIRI_IOBPIS 0xFF000000 ///< IOBP Interface Select
+#define V_PCH_RCRB_IOBPIRI_IOBPIS_SATA 0xEA000000 ///< SATA (Ports 0 and Ports 1)
+#define V_PCH_RCRB_IOBPIRI_IOBPIS_DMI 0xEB000000 ///< DMI
+#define V_PCH_RCRB_IOBPIRI_IOBPIS_PCIE 0xEC000000 ///< PCIe
+#define B_PCH_RCRB_IOBPIRI_IOBPFS 0xFFFF ///< IOBP Function Select
+#define R_PCH_RCRB_IOBPD 0x2334 ///< IOBP Indexed Register Data
+#define R_PCH_RCRB_IOBPS 0x2338 ///< IOBP Status
+#define B_PCH_RCRB_IOBPS_IOBPIA 0xFF00 ///< IOBP Interface Access
+#define V_PCH_RCRB_IOBPS_IOBPIA_R 0x0600 ///< Read access
+#define V_PCH_RCRB_IOBPS_IOBPIA_W 0x0700 ///< Write access
+#define B_PCH_RCRB_IOBPS (BIT2 | BIT1) ///< Status for the transaction
+#define V_PCH_RCRB_IOBPS_SUCCESS 0 ///< Successful
+#define V_PCH_RCRB_IOBPS_UNSUCCESS BIT1 ///< Unsuccessful
+#define V_PCH_RCRB_IOBPS_POWEREDDOWN BIT2 ///< Powered Down
+#define B_PCH_RCRB_IOBPS_BUSY BIT0
+#define R_PCH_RCRB_TCTL 0x3000 ///< TCO Configuration register
+#define B_PCH_RCRB_TCTL_IE BIT7 ///< TCO IRQ Enable
+#define B_PCH_RCRB_TCTL_IS (BIT2 | BIT1 | BIT0) ///< TCO IRQ Select
+#define V_PCH_RCRB_TCTL_IRQ_9 0x00
+#define V_PCH_RCRB_TCTL_IRQ_10 0x01
+#define V_PCH_RCRB_TCTL_IRQ_11 0x02
+#define V_PCH_RCRB_TCTL_IRQ_20 0x04 ///< only if APIC enabled
+#define V_PCH_RCRB_TCTL_IRQ_21 0x05 ///< only if APIC enabled
+#define V_PCH_RCRB_TCTL_IRQ_22 0x06 ///< only if APIC enabled
+#define V_PCH_RCRB_TCTL_IRQ_23 0x07 ///< only if APIC enabled
+#define R_PCH_RCRB_D31IP 0x3100 ///< Device 31 interrupt pin
+#define B_PCH_RCRB_D31IP_TTIP (BIT27 | BIT26 | BIT25 | BIT24)
+#define V_PCH_RCRB_D31IP_TTIP_INTA (1 << 24)
+#define V_PCH_RCRB_D31IP_TTIP_INTB (2 << 24)
+#define V_PCH_RCRB_D31IP_TTIP_INTC (3 << 24)
+#define V_PCH_RCRB_D31IP_TTIP_INTD (4 << 24)
+#define B_PCH_RCRB_D31IP_SIP2 (BIT23 | BIT22 | BIT21 | BIT20)
+#define V_PCH_RCRB_D31IP_SIP2_INTA (1 << 20)
+#define V_PCH_RCRB_D31IP_SIP2_INTB (2 << 20)
+#define V_PCH_RCRB_D31IP_SIP2_INTC (3 << 20)
+#define V_PCH_RCRB_D31IP_SIP2_INTD (4 << 20)
+#define B_PCH_RCRB_D31IP_SMIP (BIT15 | BIT14 | BIT13 | BIT12)
+#define V_PCH_RCRB_D31IP_SMIP_INTA (1 << 12)
+#define V_PCH_RCRB_D31IP_SMIP_INTB (2 << 12)
+#define V_PCH_RCRB_D31IP_SMIP_INTC (3 << 12)
+#define V_PCH_RCRB_D31IP_SMIP_INTD (4 << 12)
+#define B_PCH_RCRB_D31IP_SIP (BIT11 | BIT10 | BIT9 | BIT8)
+#define V_PCH_RCRB_D31IP_SIP_INTA (1 << 8)
+#define V_PCH_RCRB_D31IP_SIP_INTB (2 << 8)
+#define V_PCH_RCRB_D31IP_SIP_INTC (3 << 8)
+#define V_PCH_RCRB_D31IP_SIP_INTD (4 << 8)
+#define B_PCH_RCRB_D31IP_LIP (BIT3 | BIT2 | BIT1 | BIT0)
+#define R_PCH_RCRB_D29IP 0x3108 ///< Device 29 interrupt pin
+#define B_PCH_RCRB_D29IP_E1P (BIT3 | BIT2 | BIT1 | BIT0)
+#define V_PCH_RCRB_D29IP_E1P_INTA (1 << 0)
+#define V_PCH_RCRB_D29IP_E1P_INTB (2 << 0)
+#define V_PCH_RCRB_D29IP_E1P_INTC (3 << 0)
+#define V_PCH_RCRB_D29IP_E1P_INTD (4 << 0)
+#define R_PCH_RCRB_D28IP 0x310C ///< Device 28 interrupt pin
+#define B_PCH_RCRB_D28IP_P8IP (BIT31 | BIT30 | BIT29 | BIT28)
+#define V_PCH_RCRB_D28IP_P8IP_INTA (1 << 28)
+#define V_PCH_RCRB_D28IP_P8IP_INTB (2 << 28)
+#define V_PCH_RCRB_D28IP_P8IP_INTC (3 << 28)
+#define V_PCH_RCRB_D28IP_P8IP_INTD (4 << 28)
+#define B_PCH_RCRB_D28IP_P7IP (BIT27 | BIT26 | BIT25 | BIT24)
+#define V_PCH_RCRB_D28IP_P7IP_INTA (1 << 24)
+#define V_PCH_RCRB_D28IP_P7IP_INTB (2 << 24)
+#define V_PCH_RCRB_D28IP_P7IP_INTC (3 << 24)
+#define V_PCH_RCRB_D28IP_P7IP_INTD (4 << 24)
+#define B_PCH_RCRB_D28IP_P6IP (BIT23 | BIT22 | BIT21 | BIT20)
+#define V_PCH_RCRB_D28IP_P6IP_INTA (1 << 20)
+#define V_PCH_RCRB_D28IP_P6IP_INTB (2 << 20)
+#define V_PCH_RCRB_D28IP_P6IP_INTC (3 << 20)
+#define V_PCH_RCRB_D28IP_P6IP_INTD (4 << 20)
+#define B_PCH_RCRB_D28IP_P5IP (BIT19 | BIT18 | BIT17 | BIT16)
+#define V_PCH_RCRB_D28IP_P5IP_INTA (1 << 16)
+#define V_PCH_RCRB_D28IP_P5IP_INTB (2 << 16)
+#define V_PCH_RCRB_D28IP_P5IP_INTC (3 << 16)
+#define V_PCH_RCRB_D28IP_P5IP_INTD (4 << 16)
+#define B_PCH_RCRB_D28IP_P4IP (BIT15 | BIT14 | BIT13 | BIT12)
+#define V_PCH_RCRB_D28IP_P4IP_INTA (1 << 12)
+#define V_PCH_RCRB_D28IP_P4IP_INTB (2 << 12)
+#define V_PCH_RCRB_D28IP_P4IP_INTC (3 << 12)
+#define V_PCH_RCRB_D28IP_P4IP_INTD (4 << 12)
+#define B_PCH_RCRB_D28IP_P3IP (BIT11 | BIT10 | BIT9 | BIT8)
+#define V_PCH_RCRB_D28IP_P3IP_INTA (1 << 8)
+#define V_PCH_RCRB_D28IP_P3IP_INTB (2 << 8)
+#define V_PCH_RCRB_D28IP_P3IP_INTC (3 << 8)
+#define V_PCH_RCRB_D28IP_P3IP_INTD (4 << 8)
+#define B_PCH_RCRB_D28IP_P2IP (BIT7 | BIT6 | BIT5 | BIT4)
+#define V_PCH_RCRB_D28IP_P2IP_INTA (1 << 4)
+#define V_PCH_RCRB_D28IP_P2IP_INTB (2 << 4)
+#define V_PCH_RCRB_D28IP_P2IP_INTC (3 << 4)
+#define V_PCH_RCRB_D28IP_P2IP_INTD (4 << 4)
+#define B_PCH_RCRB_D28IP_P1IP (BIT3 | BIT2 | BIT1 | BIT0)
+#define V_PCH_RCRB_D28IP_P1IP_INTA (1 << 0)
+#define V_PCH_RCRB_D28IP_P1IP_INTB (2 << 0)
+#define V_PCH_RCRB_D28IP_P1IP_INTC (3 << 0)
+#define V_PCH_RCRB_D28IP_P1IP_INTD (4 << 0)
+#define R_PCH_RCRB_D27IP 0x3110 ///< Device 27 interrupt pin
+#define B_PCH_RCRB_D27IP_ZIP (BIT3 | BIT2 | BIT1 | BIT0)
+#define V_PCH_RCRB_D27IP_ZIP_INTA (1 << 0)
+#define V_PCH_RCRB_D27IP_ZIP_INTB (2 << 0)
+#define V_PCH_RCRB_D27IP_ZIP_INTC (3 << 0)
+#define V_PCH_RCRB_D27IP_ZIP_INTD (4 << 0)
+#define R_PCH_RCRB_D26IP 0x3114 ///< Device 26 interrupt pin
+#define B_PCH_RCRB_D26IP_E2P (BIT3 | BIT2 | BIT1 | BIT0)
+#define V_PCH_RCRB_D26IP_E2P_INTA (1 << 0)
+#define V_PCH_RCRB_D26IP_E2P_INTB (2 << 0)
+#define V_PCH_RCRB_D26IP_E2P_INTC (3 << 0)
+#define V_PCH_RCRB_D26IP_E2P_INTD (4 << 0)
+#define R_PCH_RCRB_D25IP 0x3118 ///< Device 25 interrupt pin
+#define B_PCH_RCRB_D25IP_LIP (BIT3 | BIT2 | BIT1 | BIT0)
+#define V_PCH_RCRB_D25IP_LIP_INTA (1 << 0)
+#define V_PCH_RCRB_D25IP_LIP_INTB (2 << 0)
+#define V_PCH_RCRB_D25IP_LIP_INTC (3 << 0)
+#define V_PCH_RCRB_D25IP_LIP_INTD (4 << 0)
+#define R_PCH_RCRB_D22IP 0x3124 ///< Device 22 interrupt pin
+#define B_PCH_RCRB_D22IP_KTIP (BIT15 | BIT14 | BIT13 | BIT12)
+#define V_PCH_RCRB_D22IP_KTIP_INTA (1 << 12)
+#define V_PCH_RCRB_D22IP_KTIP_INTB (2 << 12)
+#define V_PCH_RCRB_D22IP_KTIP_INTC (3 << 12)
+#define V_PCH_RCRB_D22IP_KTIP_INTD (4 << 12)
+#define B_PCH_RCRB_D22IP_IDERIP (BIT11 | BIT10 | BIT9 | BIT8)
+#define V_PCH_RCRB_D22IP_IDERIP_INTA (1 << 8)
+#define V_PCH_RCRB_D22IP_IDERIP_INTB (2 << 8)
+#define V_PCH_RCRB_D22IP_IDERIP_INTC (3 << 8)
+#define V_PCH_RCRB_D22IP_IDERIP_INTD (4 << 8)
+#define B_PCH_RCRB_D22IP_MEI2IP (BIT7 | BIT6 | BIT5 | BIT4)
+#define V_PCH_RCRB_D22IP_MEI2IP_INTA (1 << 4)
+#define V_PCH_RCRB_D22IP_MEI2IP_INTB (2 << 4)
+#define V_PCH_RCRB_D22IP_MEI2IP_INTC (3 << 4)
+#define V_PCH_RCRB_D22IP_MEI2IP_INTD (4 << 4)
+#define B_PCH_RCRB_D22IP_MEI1IP (BIT3 | BIT2 | BIT1 | BIT0)
+#define V_PCH_RCRB_D22IP_MEI1IP_INTA (1 << 0)
+#define V_PCH_RCRB_D22IP_MEI1IP_INTB (2 << 0)
+#define V_PCH_RCRB_D22IP_MEI1IP_INTC (3 << 0)
+#define V_PCH_RCRB_D22IP_MEI1IP_INTD (4 << 0)
+#define R_PCH_RCRB_D20IP 0x3128 ///< Device 20 interrupt pin
+#define B_PCH_RCRB_D20IP_XHCIP (BIT3 | BIT2 | BIT1 | BIT0)
+#define V_PCH_RCRB_D20IP_XHCIP_INTA (1 << 0)
+#define V_PCH_RCRB_D20IP_XHCIP_INTB (2 << 0)
+#define V_PCH_RCRB_D20IP_XHCIP_INTC (3 << 0)
+#define V_PCH_RCRB_D20IP_XHCIP_INTD (4 << 0)
+#define R_PCH_RCRB_D31IR 0x3140 ///< Device 31 interrupt route
+#define R_PCH_RCRB_D29IR 0x3144 ///< Device 29 interrupt route
+#define R_PCH_RCRB_D28IR 0x3146 ///< Device 28 interrupt route
+#define R_PCH_RCRB_D27IR 0x3148 ///< Device 27 interrupt route
+#define R_PCH_RCRB_D26IR 0x314C ///< Device 26 interrupt route
+#define R_PCH_RCRB_D25IR 0x3150 ///< Device 25 interrupt route
+#define R_PCH_RCRB_D23IR 0x3158 ///< Device 23 interrupt route
+#define R_PCH_RCRB_D22IR 0x315C ///< Device 22 interrupt route
+#define R_PCH_RCRB_D20IR 0x3160 ///< Device 20 interrupt route
+#define R_PCH_RCRB_D21IR 0x3164 ///< Device 21 interrupt route
+#define B_PCH_RCRB_D21IR_IE BIT15
+#define R_PCH_RCRB_D19IR 0x3168 ///< Device 19 interrupt route
+#define B_PCH_RCRB_D19IR_IS (BIT19 | BIT18 | BIT17 | BIT16)
+#define B_PCH_RCRB_D19IR_IE BIT15
+#define B_PCH_RCRB_DXXIR_IDR_MASK (BIT14 | BIT13 | BIT12)
+#define V_PCH_RCRB_DXXIR_IDR_PIRQA 0
+#define V_PCH_RCRB_DXXIR_IDR_PIRQB BIT12
+#define V_PCH_RCRB_DXXIR_IDR_PIRQC BIT13
+#define V_PCH_RCRB_DXXIR_IDR_PIRQD (BIT13 | BIT12)
+#define V_PCH_RCRB_DXXIR_IDR_PIRQE BIT14
+#define V_PCH_RCRB_DXXIR_IDR_PIRQF (BIT14 | BIT12)
+#define V_PCH_RCRB_DXXIR_IDR_PIRQG (BIT14 | BIT13)
+#define V_PCH_RCRB_DXXIR_IDR_PIRQH (BIT14 | BIT13 | BIT12)
+#define V_PCH_RCRB_DXXIR_ICR_PIRQA 0
+#define V_PCH_RCRB_DXXIR_ICR_PIRQB BIT8
+#define V_PCH_RCRB_DXXIR_ICR_PIRQC BIT9
+#define V_PCH_RCRB_DXXIR_ICR_PIRQD (BIT9 | BIT8)
+#define V_PCH_RCRB_DXXIR_ICR_PIRQE BIT10
+#define V_PCH_RCRB_DXXIR_ICR_PIRQF (BIT10 | BIT8)
+#define V_PCH_RCRB_DXXIR_ICR_PIRQG (BIT10 | BIT9)
+#define V_PCH_RCRB_DXXIR_ICR_PIRQH (BIT10 | BIT9 | BIT8)
+#define V_PCH_RCRB_DXXIR_IBR_PIRQA 0
+#define V_PCH_RCRB_DXXIR_IBR_PIRQB BIT4
+#define V_PCH_RCRB_DXXIR_IBR_PIRQC BIT5
+#define V_PCH_RCRB_DXXIR_IBR_PIRQD (BIT5 | BIT4)
+#define V_PCH_RCRB_DXXIR_IBR_PIRQE BIT6
+#define V_PCH_RCRB_DXXIR_IBR_PIRQF (BIT6 | BIT4)
+#define V_PCH_RCRB_DXXIR_IBR_PIRQG (BIT6 | BIT5)
+#define V_PCH_RCRB_DXXIR_IBR_PIRQH (BIT6 | BIT5 | BIT4)
+#define V_PCH_RCRB_DXXIR_IAR_PIRQA 0
+#define V_PCH_RCRB_DXXIR_IAR_PIRQB BIT0
+#define V_PCH_RCRB_DXXIR_IAR_PIRQC BIT1
+#define V_PCH_RCRB_DXXIR_IAR_PIRQD (BIT1 | BIT0)
+#define V_PCH_RCRB_DXXIR_IAR_PIRQE BIT2
+#define V_PCH_RCRB_DXXIR_IAR_PIRQF (BIT2 | BIT0)
+#define V_PCH_RCRB_DXXIR_IAR_PIRQG (BIT2 | BIT1)
+#define V_PCH_RCRB_DXXIR_IAR_PIRQH (BIT2 | BIT1 | BIT0)
+#define R_PCH_RCRB_OIC 0x31FE ///< Other Interrupt Control
+#define B_PCH_RCRB_OIC_OA24_39_D BIT11
+#define B_PCH_RCRB_OIC_CEN BIT9 ///< Coprocessor Error Enable
+#define B_PCH_RCRB_OIC_AEN BIT8 ///< APIC Enable
+#define V_PCH_RCRB_OIC_ASEL 0xFF
+#define R_PCH_IO_APIC_INDEX 0xFEC00000
+#define R_PCH_IO_APIC_DATA 0xFEC00010
+#define N_PCH_IO_APIC_ASEL 12
+#define R_PCH_RCRB_PRSTS 0x3310
+#define B_PCH_RCRB_PRSTS_PM_WD_TMR BIT15 ///< Power Management Watchdog Timer
+#define B_PCH_RCRB_PRSTS_VE_WD_TMR_STS BIT7 ///< VE Watchdog Timer Status
+#define B_PCH_RCRB_PRSTS_ME_WD_TMR_STS BIT6 ///< Management Engine Watchdog Timer Status
+#define B_PCH_RCRB_PRSTS_WOL_OVR_WK_STS BIT5
+#define B_PCH_RCRB_PRSTS_FIELD_1 BIT4
+#define B_PCH_RCRB_PRSTS_ME_HOST_PWRDN BIT3
+#define B_PCH_RCRB_PRSTS_ME_HRST_WARM_STS BIT2
+#define B_PCH_RCRB_PRSTS_ME_HRST_COLD_STS BIT1
+#define B_PCH_RCRB_PRSTS_ME_WAKE_STS BIT0
+#define R_PCH_RCRB_CIR3314 0x3314
+#define R_PCH_RCRB_PM_CFG 0x3318 ///< Power Management Configuration
+#define R_PCH_RCRB_PM_CFG_RTC_DS_WAKE_DIS BIT21 ///< RTC Wake from Deep S4/S5 Disable
+#define B_PCH_RCRB_PM_CFG_SSMAW_MASK (BIT19 | BIT18) ///< SLP_SUS# Min Assertion Width
+#define V_PCH_RCRB_PM_CFG_SSMAW_4S (BIT19 | BIT18) ///< 4 seconds
+#define V_PCH_RCRB_PM_CFG_SSMAW_1S BIT19 ///< 1 second
+#define V_PCH_RCRB_PM_CFG_SSMAW_0_5S BIT18 ///< 0.5 second (500ms)
+#define V_PCH_RCRB_PM_CFG_SSMAW_0S 0 ///< 0 second
+#define B_PCH_RCRB_PM_CFG_SAMAW_MASK (BIT17 | BIT16) ///< SLP_A# Min Assertion Width
+#define V_PCH_RCRB_PM_CFG_SAMAW_2S (BIT17 | BIT16) ///< 2 seconds
+#define V_PCH_RCRB_PM_CFG_SAMAW_98ms BIT17 ///< 98ms
+#define V_PCH_RCRB_PM_CFG_SAMAW_4S BIT16 ///< 4 seconds
+#define V_PCH_RCRB_PM_CFG_SAMAW_0S 0 ///< 0 second
+#define B_PCH_RCRB_PM_CFG_RPCD_MASK (BIT9 | BIT8) ///< Reset Power Cycle Duration
+#define V_PCH_RCRB_PM_CFG_RPCD_1S (BIT9 | BIT8) ///< 1-2 seconds
+#define V_PCH_RCRB_PM_CFG_RPCD_2S BIT9 ///< 2-3 seconds
+#define V_PCH_RCRB_PM_CFG_RPCD_3S BIT8 ///< 3-4 seconds
+#define V_PCH_RCRB_PM_CFG_RPCD_4S 0 ///< 4-5 seconds (Default)
+#define R_PCH_RCRB_CIR3324 0x3324
+#define R_PCH_RCRB_DEEP_S3_POL 0x3328 ///< Deep S3 Power Policies
+#define B_PCH_RCRB_DEEP_S3_POL_DPS3_EN_DC BIT1 ///< Deep S3 Enable in DC Mode
+#define B_PCH_RCRB_DEEP_S3_POL_DPS3_EN_AC BIT0 ///< Deep S3 Enable in AC Mode
+#define R_PCH_RCRB_DEEP_S4_POL 0x332C ///< Deep S4 Power Policies
+#define B_PCH_RCRB_DEEP_S4_POL_DPS4_EN_DC BIT1 ///< Deep S4 Enable in DC Mode
+#define B_PCH_RCRB_DEEP_S4_POL_DPS4_EN_AC BIT0 ///< Deep S4 Enable in AC Mode
+#define R_PCH_RCRB_DEEP_S5_POL 0x3330 ///< Deep S5 Power Policies
+#define B_PCH_RCRB_DEEP_S5_POL_DPS5_EN_DC BIT15 ///< Deep S5 Enable in DC Mode
+#define B_PCH_RCRB_DEEP_S5_POL_DPS5_EN_AC BIT14 ///< Deep S5 Enable in AC Mode
+#define R_PCH_RCRB_PM_CFG2 0x333C ///< Power Management Configuration Reg 2
+#define B_PCH_RCRB_PM_CFG2_DRAM_RESET_CTL (1 << 26) ///< DRAM RESET# control
+#define R_PCH_RCRB_CIR3340 0x3340
+#define R_PCH_RCRB_CIR3344 0x3344
+#define R_PCH_RCRB_CIR3348 0x3348
+#define R_PCH_RCRB_CIR3350 0x3350
+#define R_PCH_RCRB_CIR3360 0x3360
+#define R_PCH_RCRB_CIR3368 0x3368
+#define R_PCH_RCRB_CIR3378 0x3378
+#define R_PCH_RCRB_CIR337C 0x337C
+#define R_PCH_RCRB_CIR3388 0x3388
+#define R_PCH_RCRB_CIR3390 0x3390
+#define R_PCH_RCRB_CIR33A0 0x33A0
+#define R_PCH_RCRB_CIR33B0 0x33B0
+#define R_PCH_RCRB_CIR33C0 0x33C0
+#define PMSYNC_TPR_CONFIG 0x33C4
+#define B_PMSYNC_TPR_CONFIG_LOCK BIT31
+#define PMSYNC_TPR_CONFIG2 0x33CC
+#define R_PCH_RCRB_PMSYNC 0x33C8
+#define B_PCH_RCRB_PMSYNC_GPIO_D_SEL BIT11
+#define B_PCH_RCRB_PMSYNC_GPIO_C_SEL BIT10
+#define B_PCH_RCRB_PMSYNC_GPIO_B_SEL BIT9
+#define B_PCH_RCRB_PMSYNC_GPIO_A_SEL BIT8
+#define R_PCH_RCRB_CIR33D0 0x33D0
+#define R_PCH_RCRB_CIR33D4 0x33D4
+#define R_PCH_RCRB_RTC_CONF 0x3400 ///< RTC Configuration register
+#define S_PCH_RCRB_RTC_CONF 4
+#define B_PCH_RCRB_RTC_CONF_UCMOS_LOCK BIT4
+#define B_PCH_RCRB_RTC_CONF_LCMOS_LOCK BIT3
+#define B_PCH_RCRB_RTC_CONF_UCMOS_EN BIT2 ///< Upper CMOS bank enable
+#define R_PCH_RCRB_HPTC 0x3404 ///< High Performance Timer Configuration
+#define B_PCH_RCRB_HPTC_AE BIT7 ///< Address enable
+#define B_PCH_RCRB_HPTC_AS (BIT1 | BIT0) ///< Address selection
+#define R_PCH_PCH_HPET_CONFIG 0xFED00000
+#define N_PCH_HPET_ADDR_ASEL 12
+#define R_PCH_RCRB_GCS 0x3410 ///< General Control and Status
+#define B_PCH_RCRB_GCS_FLRCSSEL BIT12
+#define B_PCH_H_RCRB_GCS_BBS (BIT11 | BIT10) ///< Boot BIOS straps for Pch-H
+#define V_PCH_H_RCRB_GCS_BBS_SPI (3 << 10) ///< Boot BIOS strapped to SPI for Pch-H
+#define V_PCH_H_RCRB_GCS_BBS_LPC (0 << 10) ///< Boot BIOS strapped to LPC for Pch-H
+#define B_PCH_LP_RCRB_GCS_BBS BIT10 ///< Boot BIOS straps for Pch-Lp
+#define V_PCH_LP_RCRB_GCS_BBS_SPI 0 ///< Boot BIOS strapped to SPI for Pch-Lp
+#define V_PCH_LP_RCRB_GCS_BBS_LPC BIT10 ///< Boot BIOS strapped to LPC for Pch-Lp
+#define B_PCH_RCRB_GCS_SERM BIT9 ///< Server Error Reporting Mode
+#define B_PCH_RCRB_GCS_NR BIT5 ///< No Reboot strap
+#define B_PCH_RCRB_GCS_AME BIT4 ///< Alternate Access Mode Enable
+#define B_PCH_RCRB_GCS_SPS BIT3 ///< Shutdown Policy Select
+#define B_PCH_RCRB_GCS_RPR BIT2 ///< Reserved Page Route
+#define B_PCH_RCRB_GCS_BILD BIT0 ///< BIOS Interface Lock-Down
+#define R_PCH_RCRB_BUC 0x3414 ///< Backed Up Control
+#define B_PCH_RCRB_BUC_LAN_DIS BIT5 ///< LAN Disable
+#define B_PCH_RCRB_BUC_SDO BIT4 ///< Daylight Savings Override
+#define B_PCH_RCRB_BUC_TS BIT0 ///< Top Swap
+#define R_PCH_RCRB_FUNC_DIS 0x3418 ///< Function Disable Register
+#define B_PCH_RCRB_FUNC_DIS_XHCI BIT27 ///< XHCI controller disable
+#define B_PCH_RCRB_FUNC_DIS_SATA2 BIT25 ///< Serial ATA 2 disable
+#define B_PCH_RCRB_FUNC_DIS_THERMAL BIT24 ///< Thermal Throttle Disable
+#define B_PCH_RCRB_FUNC_DIS_PCI_EX_PORT8 BIT23 ///< PCI Express port 8 disable
+#define B_PCH_RCRB_FUNC_DIS_PCI_EX_PORT7 BIT22 ///< PCI Express port 7 disable
+#define B_PCH_RCRB_FUNC_DIS_PCI_EX_PORT6 BIT21 ///< PCI Express port 6 disable
+#define B_PCH_RCRB_FUNC_DIS_PCI_EX_PORT5 BIT20 ///< PCI Express port 5 disable
+#define B_PCH_RCRB_FUNC_DIS_PCI_EX_PORT4 BIT19 ///< PCI Express port 4 disable
+#define B_PCH_RCRB_FUNC_DIS_PCI_EX_PORT3 BIT18 ///< PCI Express port 3 disable
+#define B_PCH_RCRB_FUNC_DIS_PCI_EX_PORT2 BIT17 ///< PCI Express port 2 disable
+#define B_PCH_RCRB_FUNC_DIS_PCI_EX_PORT1 BIT16 ///< PCI Express port 1 disable
+#define N_PCH_RCRB_FUNC_DIS_PCI_EX_PORT1 16
+#define B_PCH_RCRB_FUNC_DIS_EHCI1 BIT15 ///< EHCI controller 1 disable
+#define B_PCH_RCRB_FUNC_DIS_LPC_BRIDGE BIT14 ///< LPC Bridge disable
+#define B_PCH_RCRB_FUNC_DIS_EHCI2 BIT13 ///< EHCI controller 2 disable
+#define B_PCH_RCRB_FUNC_DIS_AZALIA BIT4 ///< Azalia disable
+#define B_PCH_RCRB_FUNC_DIS_SMBUS BIT3 ///< SMBUS disable
+#define B_PCH_RCRB_FUNC_DIS_SATA1 BIT2 ///< Serial ATA disable
+#define B_PCH_RCRB_FUNC_DIS_ADSP BIT1 ///< Audio DSP disable
+#define B_PCH_RCRB_FUNC_DIS_FUNCTION_0 BIT0 ///< Function 0 disable
+#define R_PCH_RCRB_CG 0x341C ///< Clock Gating
+#define B_PCH_RCRB_CG_EN_DCG_BLA BIT30 ///< Platform Essential Cluster BLA unit Dynamic Clock Gate Enable
+#define B_PCH_RCRB_CG_EN_SCG_GSX BIT29 ///< GSX Static Clock Gate Enable
+#define B_PCH_RCRB_CG_EN_DCG_GPIO BIT28 ///< GPIO Dynamic Clock Gate Enable
+#define B_PCH_RCRB_CG_EN_DCG_HPET BIT27 ///< HPET Dynamic Clock Gate Enable
+#define B_PCH_RCRB_CG_EN_CG_GPEC BIT26 ///< Generic Platform Essential Clock Gate Enable
+#define B_PCH_RCRB_CG_EN_SCG_8254 BIT25 ///< 8254 Static Clock Gate Enable
+#define B_PCH_RCRB_CG_EN_SCG_8237 BIT24 ///< 8237 Static Clock Gate Enable
+
+#define B_PCH_RCRB_CG_EN_DCG_LPC BIT31 ///< Legacy(LPC) Dynamic Clock Gate Enable
+#define B_PCH_RCRB_CG_EN_SCG_LAN BIT23 ///< LAN Static Clock Gate Enable
+#define B_PCH_RCRB_CG_EN_DCG_HDA BIT22 ///< HDA Dynamic Clock Gate Enable
+#define B_PCH_RCRB_CG_EN_SCG_HDA BIT21 ///< HDA Static Clock Gate Enable
+#define B_PCH_RCRB_CG_EN_DCG_PCI BIT16 ///< PCI Dynamic Clock Gate Enable
+#define B_PCH_RCRB_CG_EN_CG_SMBUS BIT5 ///< SMBUS Static Clock Gating Enable
+#define R_PCH_RCRB_FDSW 0x3420 ///< Function Disable SUS well
+#define B_PCH_RCRB_FDSW_FDSWL BIT7 ///< Function Disable SUS well lockdown
+#define R_PCH_RCRB_DISPBDF 0x3424 ///< Display Bus, Device and Function Initialization
+#define B_PCH_RCRB_DISPBDF_DBN 0xFF00 ///< Display Bus Number
+#define B_PCH_RCRB_DISPBDF_DDN 0x00F8 ///< Display Device Number
+#define B_PCH_RCRB_DISPBDF_DFN 0x0007 ///< Display Function Number
+#define R_PCH_RCRB_FD2 0x3428 ///< Function Disable 2
+#define B_PCH_RCRB_FD2_KTD BIT4 ///< KT Disable
+#define B_PCH_RCRB_FD2_IRERD BIT3 ///< IDE-R Disable
+#define B_PCH_RCRB_FD2_MEI2D BIT2 ///< Intel MEI #2 Disable
+#define B_PCH_RCRB_FD2_MEI1D BIT1 ///< Intel MEI #1 Disable
+#define B_PCH_RCRB_FD2_DBDFEN BIT0 ///< Display BDF Enable
+#define R_PCH_RCRB_CIR3A28 0x3A28
+#define R_PCH_RCRB_CIR3A2C 0x3A2C
+#define R_PCH_RCRB_CIR3A6C 0x3A6C
+#define R_PCH_RCRB_CIR3A80 0x3A80
+#define R_PCH_RCRB_CIR3A84 0x3A84
+#define R_PCH_RCRB_CIR3A88 0x3A88
+#define R_PCH_RCRB_GSX_CTRL 0x3454 ///< GSX Control
+#define B_PCH_RCRB_GSX_BAR_ENABLE BIT4 ///< GSX BAR Enable
+#define R_PCH_RCRB_INT_ACPIIRQEN 0x31E0 ///< ACPI IRQ Control
+
+#define B_PCH_RCRB_INT_ACPIIRQEN_A15E BIT15 ///< ACPI IRQ15 Enable
+#define B_PCH_RCRB_INT_ACPIIRQEN_A14E BIT14 ///< ACPI IRQ14 Enable
+#define B_PCH_RCRB_INT_ACPIIRQEN_A13E BIT13 ///< ACPI IRQ13 Enable
+#define B_PCH_RCRB_INT_ACPIIRQEN_A7E BIT7 ///< ACPI IRQ7 Enable
+#define B_PCH_RCRB_INT_ACPIIRQEN_A6E BIT6 ///< ACPI IRQ6 Enable
+#define B_PCH_RCRB_INT_ACPIIRQEN_A5E BIT5 ///< ACPI IRQ5 Enable
+#define B_PCH_RCRB_INT_ACPIIRQEN_A4E BIT4 ///< ACPI IRQ4 Enable
+#define B_PCH_RCRB_INT_ACPIIRQEN_A3E BIT3 ///< ACPI IRQ3 Enable
+#endif