/** @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 within the bits 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. - Registers / bits that are specific to PCH-H denoted by "_H_" in register/bit names. Registers / bits that are specific to PCH-LP denoted by "_LP_" in register/bit names. e.g., "_PCH_H_", "_PCH_LP_" Registers / bits names without _H_ or _LP_ apply for both H and LP. - 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 (c) 2017, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ #ifndef _PCH_REGS_PCIE_H_ #define _PCH_REGS_PCIE_H_ // // PCH PCI Express Root Ports (D28:F0..7, D29:F0..7, D27:F0..7) // #define PCI_DEVICE_NUMBER_PCH_PCIE_DEVICE_1 28 #define PCI_DEVICE_NUMBER_PCH_PCIE_DEVICE_2 29 #define PCI_DEVICE_NUMBER_PCH_PCIE_DEVICE_3 27 #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 PCI_FUNCTION_NUMBER_PCH_PCIE_ROOT_PORT_9 0 #define PCI_FUNCTION_NUMBER_PCH_PCIE_ROOT_PORT_10 1 #define PCI_FUNCTION_NUMBER_PCH_PCIE_ROOT_PORT_11 2 #define PCI_FUNCTION_NUMBER_PCH_PCIE_ROOT_PORT_12 3 #define PCI_FUNCTION_NUMBER_PCH_PCIE_ROOT_PORT_13 4 #define PCI_FUNCTION_NUMBER_PCH_PCIE_ROOT_PORT_14 5 #define PCI_FUNCTION_NUMBER_PCH_PCIE_ROOT_PORT_15 6 #define PCI_FUNCTION_NUMBER_PCH_PCIE_ROOT_PORT_16 7 #define PCI_FUNCTION_NUMBER_PCH_PCIE_ROOT_PORT_17 0 #define PCI_FUNCTION_NUMBER_PCH_PCIE_ROOT_PORT_18 1 #define PCI_FUNCTION_NUMBER_PCH_PCIE_ROOT_PORT_19 2 #define PCI_FUNCTION_NUMBER_PCH_PCIE_ROOT_PORT_20 3 #define PCI_FUNCTION_NUMBER_PCH_PCIE_ROOT_PORT_21 4 #define PCI_FUNCTION_NUMBER_PCH_PCIE_ROOT_PORT_22 5 #define PCI_FUNCTION_NUMBER_PCH_PCIE_ROOT_PORT_23 6 #define PCI_FUNCTION_NUMBER_PCH_PCIE_ROOT_PORT_24 7 #define V_PCH_PCIE_VENDOR_ID V_PCH_INTEL_VENDOR_ID #define V_SKL_PCH_H_PCIE_DEVICE_ID_PORT1 0xA110 ///< PCI Express Root Port #1, SKL PCH H #define V_SKL_PCH_H_PCIE_DEVICE_ID_PORT2 0xA111 ///< PCI Express Root Port #2, SKL PCH H #define V_SKL_PCH_H_PCIE_DEVICE_ID_PORT3 0xA112 ///< PCI Express Root Port #3, SKL PCH H #define V_SKL_PCH_H_PCIE_DEVICE_ID_PORT4 0xA113 ///< PCI Express Root Port #4, SKL PCH H #define V_SKL_PCH_H_PCIE_DEVICE_ID_PORT5 0xA114 ///< PCI Express Root Port #5, SKL PCH H #define V_SKL_PCH_H_PCIE_DEVICE_ID_PORT6 0xA115 ///< PCI Express Root Port #6, SKL PCH H #define V_SKL_PCH_H_PCIE_DEVICE_ID_PORT7 0xA116 ///< PCI Express Root Port #7, SKL PCH H #define V_SKL_PCH_H_PCIE_DEVICE_ID_PORT8 0xA117 ///< PCI Express Root Port #8, SKL PCH H #define V_SKL_PCH_H_PCIE_DEVICE_ID_PORT9 0xA118 ///< PCI Express Root Port #9, SKL PCH H #define V_SKL_PCH_H_PCIE_DEVICE_ID_PORT10 0xA119 ///< PCI Express Root Port #10, SKL PCH H #define V_SKL_PCH_H_PCIE_DEVICE_ID_PORT11 0xA11A ///< PCI Express Root Port #11, SKL PCH H #define V_SKL_PCH_H_PCIE_DEVICE_ID_PORT12 0xA11B ///< PCI Express Root Port #12, SKL PCH H #define V_SKL_PCH_H_PCIE_DEVICE_ID_PORT13 0xA11C ///< PCI Express Root Port #13, SKL PCH H #define V_SKL_PCH_H_PCIE_DEVICE_ID_PORT14 0xA11D ///< PCI Express Root Port #14, SKL PCH H #define V_SKL_PCH_H_PCIE_DEVICE_ID_PORT15 0xA11E ///< PCI Express Root Port #15, SKL PCH H #define V_SKL_PCH_H_PCIE_DEVICE_ID_PORT16 0xA11F ///< PCI Express Root Port #16, SKL PCH H #define V_SKL_PCH_H_PCIE_DEVICE_ID_PORT17 0xA167 ///< PCI Express Root Port #17, SKL PCH H #define V_SKL_PCH_H_PCIE_DEVICE_ID_PORT18 0xA168 ///< PCI Express Root Port #18, SKL PCH H #define V_SKL_PCH_H_PCIE_DEVICE_ID_PORT19 0xA169 ///< PCI Express Root Port #19, SKL PCH H #define V_SKL_PCH_H_PCIE_DEVICE_ID_PORT20 0xA16A ///< PCI Express Root Port #20, SKL PCH H #define V_KBL_PCH_H_PCIE_DEVICE_ID_PORT1 0xA290 ///< PCI Express Root Port #1, KBL PCH H #define V_KBL_PCH_H_PCIE_DEVICE_ID_PORT2 0xA291 ///< PCI Express Root Port #2, KBL PCH H #define V_KBL_PCH_H_PCIE_DEVICE_ID_PORT3 0xA292 ///< PCI Express Root Port #3, KBL PCH H #define V_KBL_PCH_H_PCIE_DEVICE_ID_PORT4 0xA293 ///< PCI Express Root Port #4, KBL PCH H #define V_KBL_PCH_H_PCIE_DEVICE_ID_PORT5 0xA294 ///< PCI Express Root Port #5, KBL PCH H #define V_KBL_PCH_H_PCIE_DEVICE_ID_PORT6 0xA295 ///< PCI Express Root Port #6, KBL PCH H #define V_KBL_PCH_H_PCIE_DEVICE_ID_PORT7 0xA296 ///< PCI Express Root Port #7, KBL PCH H #define V_KBL_PCH_H_PCIE_DEVICE_ID_PORT8 0xA297 ///< PCI Express Root Port #8, KBL PCH H #define V_KBL_PCH_H_PCIE_DEVICE_ID_PORT9 0xA298 ///< PCI Express Root Port #9, KBL PCH H #define V_KBL_PCH_H_PCIE_DEVICE_ID_PORT10 0xA299 ///< PCI Express Root Port #10, KBL PCH H #define V_KBL_PCH_H_PCIE_DEVICE_ID_PORT11 0xA29A ///< PCI Express Root Port #11, KBL PCH H #define V_KBL_PCH_H_PCIE_DEVICE_ID_PORT12 0xA29B ///< PCI Express Root Port #12, KBL PCH H #define V_KBL_PCH_H_PCIE_DEVICE_ID_PORT13 0xA29C ///< PCI Express Root Port #13, KBL PCH H #define V_KBL_PCH_H_PCIE_DEVICE_ID_PORT14 0xA29D ///< PCI Express Root Port #14, KBL PCH H #define V_KBL_PCH_H_PCIE_DEVICE_ID_PORT15 0xA29E ///< PCI Express Root Port #15, KBL PCH H #define V_KBL_PCH_H_PCIE_DEVICE_ID_PORT16 0xA29F ///< PCI Express Root Port #16, KBL PCH H #define V_KBL_PCH_H_PCIE_DEVICE_ID_PORT17 0xA2E7 ///< PCI Express Root Port #17, KBL PCH H #define V_KBL_PCH_H_PCIE_DEVICE_ID_PORT18 0xA2E8 ///< PCI Express Root Port #18, KBL PCH H #define V_KBL_PCH_H_PCIE_DEVICE_ID_PORT19 0xA2E9 ///< PCI Express Root Port #19, KBL PCH H #define V_KBL_PCH_H_PCIE_DEVICE_ID_PORT20 0xA2EA ///< PCI Express Root Port #20, KBL PCH H #define V_KBL_PCH_H_PCIE_DEVICE_ID_PORT21 0xA2EB ///< PCI Express Root Port #21, KBL PCH H #define V_KBL_PCH_H_PCIE_DEVICE_ID_PORT22 0xA2EC ///< PCI Express Root Port #22, KBL PCH H #define V_KBL_PCH_H_PCIE_DEVICE_ID_PORT23 0xA2ED ///< PCI Express Root Port #23, KBL PCH H #define V_KBL_PCH_H_PCIE_DEVICE_ID_PORT24 0xA2EE ///< PCI Express Root Port #24, KBL PCH H #define V_PCH_LP_PCIE_DEVICE_ID_PORT1 0x9D10 ///< PCI Express Root Port #1, SKL PCH LP PCIe Device ID #define V_PCH_LP_PCIE_DEVICE_ID_PORT2 0x9D11 ///< PCI Express Root Port #2, SKL PCH LP PCIe Device ID #define V_PCH_LP_PCIE_DEVICE_ID_PORT3 0x9D12 ///< PCI Express Root Port #3, SKL PCH LP PCIe Device ID #define V_PCH_LP_PCIE_DEVICE_ID_PORT4 0x9D13 ///< PCI Express Root Port #4, SKL PCH LP PCIe Device ID #define V_PCH_LP_PCIE_DEVICE_ID_PORT5 0x9D14 ///< PCI Express Root Port #5, SKL PCH LP PCIe Device ID #define V_PCH_LP_PCIE_DEVICE_ID_PORT6 0x9D15 ///< PCI Express Root Port #6, SKL PCH LP PCIe Device ID #define V_PCH_LP_PCIE_DEVICE_ID_PORT7 0x9D16 ///< PCI Express Root Port #7, SKL PCH LP PCIe Device ID #define V_PCH_LP_PCIE_DEVICE_ID_PORT8 0x9D17 ///< PCI Express Root Port #8, SKL PCH LP PCIe Device ID #define V_PCH_LP_PCIE_DEVICE_ID_PORT9 0x9D18 ///< PCI Express Root Port #9, SKL PCH LP PCIe Device ID #define V_PCH_LP_PCIE_DEVICE_ID_PORT10 0x9D19 ///< PCI Express Root Port #10, SKL PCH LP PCIe Device ID #define V_PCH_LP_PCIE_DEVICE_ID_PORT11 0x9D1A ///< PCI Express Root Port #11, SKL PCH LP PCIe Device ID #define V_PCH_LP_PCIE_DEVICE_ID_PORT12 0x9D1B ///< PCI Express Root Port #12, SKL PCH LP PCIe Device ID #define R_PCH_PCIE_CLIST 0x40 #define R_PCH_PCIE_XCAP (R_PCH_PCIE_CLIST + R_PCIE_XCAP_OFFSET) #define R_PCH_PCIE_DCAP (R_PCH_PCIE_CLIST + R_PCIE_DCAP_OFFSET) #define R_PCH_PCIE_DCTL (R_PCH_PCIE_CLIST + R_PCIE_DCTL_OFFSET) #define R_PCH_PCIE_DSTS (R_PCH_PCIE_CLIST + R_PCIE_DSTS_OFFSET) #define R_PCH_PCIE_LCAP (R_PCH_PCIE_CLIST + R_PCIE_LCAP_OFFSET) #define B_PCH_PCIE_LCAP_PN 0xFF000000 #define N_PCH_PCIE_LCAP_PN 24 #define R_PCH_PCIE_LCTL (R_PCH_PCIE_CLIST + R_PCIE_LCTL_OFFSET) #define R_PCH_PCIE_LSTS (R_PCH_PCIE_CLIST + R_PCIE_LSTS_OFFSET) #define R_PCH_PCIE_SLCAP (R_PCH_PCIE_CLIST + R_PCIE_SLCAP_OFFSET) #define R_PCH_PCIE_SLCTL (R_PCH_PCIE_CLIST + R_PCIE_SLCTL_OFFSET) #define R_PCH_PCIE_SLSTS (R_PCH_PCIE_CLIST + R_PCIE_SLSTS_OFFSET) #define R_PCH_PCIE_RCTL (R_PCH_PCIE_CLIST + R_PCIE_RCTL_OFFSET) #define R_PCH_PCIE_RSTS (R_PCH_PCIE_CLIST + R_PCIE_RSTS_OFFSET) #define R_PCH_PCIE_DCAP2 (R_PCH_PCIE_CLIST + R_PCIE_DCAP2_OFFSET) #define R_PCH_PCIE_DCTL2 (R_PCH_PCIE_CLIST + R_PCIE_DCTL2_OFFSET) #define R_PCH_PCIE_LCTL2 (R_PCH_PCIE_CLIST + R_PCIE_LCTL2_OFFSET) #define R_PCH_PCIE_LSTS2 (R_PCH_PCIE_CLIST + R_PCIE_LSTS2_OFFSET) #define R_PCH_PCIE_MID 0x80 #define S_PCH_PCIE_MID 2 #define R_PCH_PCIE_MC 0x82 #define S_PCH_PCIE_MC 2 #define R_PCH_PCIE_MA 0x84 #define S_PCH_PCIE_MA 4 #define R_PCH_PCIE_MD 0x88 #define S_PCH_PCIE_MD 2 #define R_PCH_PCIE_SVCAP 0x90 #define S_PCH_PCIE_SVCAP 2 #define R_PCH_PCIE_SVID 0x94 #define S_PCH_PCIE_SVID 4 #define R_PCH_PCIE_PMCAP 0xA0 #define R_PCH_PCIE_PMCS (R_PCH_PCIE_PMCAP + R_PCIE_PMCS_OFFST) #define R_PCH_PCIE_MPC2 0xD4 #define S_PCH_PCIE_MPC2 4 #define B_PCH_PCIE_MPC2_PTNFAE BIT12 #define B_PCH_PCIE_MPC2_LSTP BIT6 #define B_PCH_PCIE_MPC2_IEIME 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 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_MMBNCE BIT27 #define B_PCH_PCIE_MPC_P8XDE BIT26 #define B_PCH_PCIE_MPC_IRRCE BIT25 #define B_PCH_PCIE_MPC_SRL BIT23 #define B_PCH_PCIE_MPC_UCEL (BIT20 | BIT19 | BIT18) #define N_PCH_PCIE_MPC_UCEL 18 #define B_PCH_PCIE_MPC_CCEL (BIT17 | BIT16 | BIT15) #define N_PCH_PCIE_MPC_CCEL 15 #define B_PCH_PCIE_MPC_PCIESD (BIT14 | BIT13) #define N_PCH_PCIE_MPC_PCIESD 13 #define V_PCH_PCIE_MPC_PCIESD_GEN1 1 #define V_PCH_PCIE_MPC_PCIESD_GEN2 2 #define B_PCH_PCIE_MPC_MCTPSE BIT3 #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 N_PCH_PCIE_SMSCS_LERSMIS 5 #define N_PCH_PCIE_SMSCS_HPLAS 4 #define N_PCH_PCIE_SMSCS_HPPDM 1 #define R_PCH_PCIE_RPDCGEN 0xE1 #define S_PCH_PCIE_RPDCGEN 1 #define B_PCH_PCIE_RPDCGEN_RPSCGEN BIT7 #define B_PCH_PCIE_RPDCGEN_PTOCGE BIT6 #define B_PCH_PCIE_RPDCGEN_LCLKREQEN BIT5 #define B_PCH_PCIE_RPDCGEN_BBCLKREQEN BIT4 #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_PWRCTL 0xE8 #define B_PCH_PCIE_PWRCTL_LTSSMRTC BIT20 #define B_PCH_PCIE_PWRCTL_WPDMPGEP BIT17 #define B_PCH_PCIE_PWRCTL_DBUPI BIT15 #define B_PCH_PCIE_PWRCTL_TXSWING BIT13 #define B_PCH_PCIE_PWRCTL_RPL1SQPOL BIT1 #define B_PCH_PCIE_PWRCTL_RPDTSQPOL BIT0 #define R_PCH_PCIE_DC 0xEC #define B_PCH_PCIE_DC_PCIBEM BIT2 #define R_PCH_PCIE_PHYCTL2 0xF5 #define B_PCH_PCIE_PHYCTL2_TDFT (BIT7 | BIT6) #define B_PCH_PCIE_PHYCTL2_TXCFGCHGWAIT (BIT5 | BIT4) #define N_PCH_PCIE_PHYCTL2_TXCFGCHGWAIT 4 #define B_PCH_PCIE_PHYCTL2_PXPG3PLLOFFEN BIT1 #define B_PCH_PCIE_PHYCTL2_PXPG2PLLOFFEN BIT0 #define R_PCH_PCIE_IOSFSBCS 0xF7 #define B_PCH_PCIE_IOSFSBCS_SCPTCGE BIT6 #define B_PCH_PCIE_IOSFSBCS_SIID (BIT3 | BIT2) #define R_PCH_PCIE_STRPFUSECFG 0xFC #define B_PCH_PCIE_STRPFUSECFG_PXIP (BIT27 | BIT26 | BIT25 | BIT24) #define N_PCH_PCIE_STRPFUSECFG_PXIP 24 #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 1 #define V_PCH_PCIE_STRPFUSECFG_RPC_2_2 2 #define V_PCH_PCIE_STRPFUSECFG_RPC_4 3 #define N_PCH_PCIE_STRPFUSECFG_RPC 14 #define B_PCH_PCIE_STRPFUSECFG_MODPHYIOPMDIS 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_CDCGDIS BIT3 #define B_PCH_PCIE_STRPFUSECFG_DESKTOPMOB BIT2 // //PCI Express Extended Capability Registers // #define R_PCH_PCIE_EXCAP_OFFSET 0x100 #define R_PCH_PCIE_EX_AECH 0x100 ///< Advanced Error Reporting Capability Header #define V_PCH_PCIE_EX_AEC_CV 0x1 #define R_PCH_PCIE_EX_UEM (R_PCH_PCIE_EX_AECH + R_PCIE_EX_UEM_OFFSET) // Uncorrectable Error Mask #define R_PCH_PCIE_EX_CES 0x110 ///< Correctable Error Status #define B_PCH_PCIE_EX_CES_BD BIT7 ///< Bad DLLP Status #define B_PCH_PCIE_EX_CES_BT BIT6 ///< Bad TLP Status #define B_PCH_PCIE_EX_CES_RE BIT0 ///< Receiver Error Status //CES.RE, CES.BT, CES.BD #define R_PCH_PCIE_EX_ACSECH 0x140 ///< ACS Extended Capability Header #define V_PCH_PCIE_EX_ACS_CV 0x1 #define R_PCH_PCIE_EX_ACSCAPR (R_PCH_PCIE_EX_ACSECH + R_PCIE_EX_ACSCAPR_OFFSET) #define R_PCH_PCIE_EX_L1SECH 0x200 ///< L1 Sub-States Extended Capability Header #define V_PCH_PCIE_EX_L1S_CV 0x1 #define R_PCH_PCIE_EX_L1SCAP (R_PCH_PCIE_EX_L1SECH + R_PCIE_EX_L1SCAP_OFFSET) #define R_PCH_PCIE_EX_L1SCTL1 (R_PCH_PCIE_EX_L1SECH + R_PCIE_EX_L1SCTL1_OFFSET) #define R_PCH_PCIE_EX_L1SCTL2 (R_PCH_PCIE_EX_L1SECH + R_PCIE_EX_L1SCTL2_OFFSET) #define R_PCH_PCIE_EX_SPEECH 0x220 ///< Secondary PCI Express Extended Capability Header #define V_PCH_PCIE_EX_SPEECH_CV 0x1 #define R_PCH_PCIE_EX_LCTL3 (R_PCH_PCIE_EX_SPEECH + R_PCIE_EX_LCTL3_OFFSET) #define R_PCH_PCIE_EX_LES (R_PCH_PCIE_EX_SPEECH + R_PCIE_EX_LES_OFFSET) #define R_PCH_PCIE_EX_LECTL (R_PCH_PCIE_EX_SPEECH + R_PCIE_EX_L01EC_OFFSET) #define B_PCH_PCIE_EX_LECTL_UPTPH (BIT14 | BIT13 | BIT12) #define N_PCH_PCIE_EX_LECTL_UPTPH 12 #define B_PCH_PCIE_EX_LECTL_UPTP 0x0F00 #define N_PCH_PCIE_EX_LECTL_UPTP 8 #define B_PCH_PCIE_EX_LECTL_DPTPH (BIT6 | BIT5 | BIT4) #define N_PCH_PCIE_EX_LECTL_DPTPH 4 #define B_PCH_PCIE_EX_LECTL_DPTP 0x000F #define N_PCH_PCIE_EX_LECTL_DPTP 0 #define R_PCH_PCIE_EX_L01EC (R_PCH_PCIE_EX_SPEECH + R_PCIE_EX_L01EC_OFFSET) #define R_PCH_PCIE_EX_L23EC (R_PCH_PCIE_EX_SPEECH + R_PCIE_EX_L23EC_OFFSET) #define R_PCH_PCIE_PCIERTP1 0x300 #define R_PCH_PCIE_PCIERTP2 0x304 #define R_PCH_PCIE_PCIENFTS 0x314 #define R_PCH_PCIE_PCIEL0SC 0x318 #define R_PCH_PCIE_PCIECFG2 0x320 #define B_PCH_PCIE_PCIECFG2_LBWSSTE BIT30 #define B_PCH_PCIE_PCIECFG2_RLLG3R BIT27 #define B_PCH_PCIE_PCIECFG2_CROAOV BIT24 #define B_PCH_PCIE_PCIECFG2_CROAOE BIT23 #define B_PCH_PCIE_PCIECFG2_CRSREN BIT22 #define B_PCH_PCIE_PCIECFG2_PMET (BIT21 | BIT20) #define V_PCH_PCIE_PCIECFG2_PMET 1 #define N_PCH_PCIE_PCIECFG2_PMET 20 #define R_PCH_PCIE_PCIEDBG 0x324 #define B_PCH_PCIE_PCIEDBG_USSP (BIT27 | BIT26) #define B_PCH_PCIE_PCIEDBG_LGCLKSQEXITDBTIMERS (BIT25 | BIT24) #define B_PCH_PCIE_PCIEDBG_CTONFAE BIT14 #define B_PCH_PCIE_PCIEDBG_SQOL0 BIT7 #define B_PCH_PCIE_PCIEDBG_SPCE BIT5 #define B_PCH_PCIE_PCIEDBG_LR BIT4 #define R_PCH_PCIE_PCIESTS1 0x328 #define B_PCH_PCIE_PCIESTS1_LTSMSTATE 0xFF000000 #define N_PCH_PCIE_PCIESTS1_LTSMSTATE 24 #define V_PCH_PCIE_PCIESTS1_LTSMSTATE_DETRDY 0x01 #define V_PCH_PCIE_PCIESTS1_LTSMSTATE_DETRDYECINP1CG 0x0E #define V_PCH_PCIE_PCIESTS1_LTSMSTATE_L0 0x33 #define V_PCH_PCIE_PCIESTS1_LTSMSTATE_DISWAIT 0x5E #define V_PCH_PCIE_PCIESTS1_LTSMSTATE_DISWAITPG 0x60 #define V_PCH_PCIE_PCIESTS1_LTSMSTATE_RECOVERYSPEEDREADY 0x6C #define V_PCH_PCIE_PCIESTS1_LTSMSTATE_RECOVERYLNK2DETECT 0x6F #define B_PCH_PCIE_PCIESTS1_LNKSTAT (BIT22 | BIT21 | BIT20 | BIT19) #define N_PCH_PCIE_PCIESTS1_LNKSTAT 19 #define V_PCH_PCIE_PCIESTS1_LNKSTAT_L0 0x7 #define R_PCH_PCIE_PCIESTS2 0x32C #define B_PCH_PCIE_PCIESTS2_P4PNCCWSSCMES BIT31 #define B_PCH_PCIE_PCIESTS2_P3PNCCWSSCMES BIT30 #define B_PCH_PCIE_PCIESTS2_P2PNCCWSSCMES BIT29 #define B_PCH_PCIE_PCIESTS2_P1PNCCWSSCMES BIT28 #define B_PCH_PCIE_PCIESTS2_CLRE 0x0000F000 #define N_PCH_PCIE_PCIESTS2_CLRE 12 #define R_PCH_PCIE_PCIEALC 0x338 #define B_PCH_PCIE_PCIEALC_ITLRCLD BIT29 #define B_PCH_PCIE_PCIEALC_ILLRCLD BIT28 #define B_PCH_PCIE_PCIEALC_BLKDQDA BIT26 #define R_PCH_PCIE_PHYCTL4 0x408 #define B_PCH_PCIE_PHYCTL4_SQDIS BIT27 #define R_PCH_PCIE_PCIEPMECTL2 0x424 #define B_PCH_PCIE_PCIEPMECTL2_PHYCLPGE BIT11 #define B_PCH_PCIE_PCIEPMECTL2_FDCPGE BIT8 #define B_PCH_PCIE_PCIEPMECTL2_DETSCPGE BIT7 #define B_PCH_PCIE_PCIEPMECTL2_L23RDYSCPGE BIT6 #define B_PCH_PCIE_PCIEPMECTL2_DISSCPGE BIT5 #define B_PCH_PCIE_PCIEPMECTL2_L1SCPGE BIT4 #define R_PCH_PCIE_PCE 0x428 #define B_PCH_PCIE_PCE_HAE BIT5 #define B_PCH_PCIE_PCE_PMCRE BIT0 #define R_PCH_PCIE_EQCFG1 0x450 #define S_PCH_PCIE_EQCFG1 4 #define B_PCH_PCIE_EQCFG1_REC 0xFF000000 #define N_PCH_PCIE_EQCFG1_REC 24 #define B_PCH_PCIE_EQCFG1_REIFECE BIT23 #define N_PCH_PCIE_EQCFG1_LERSMIE 21 #define B_PCH_PCIE_EQCFG1_LEP23B BIT18 #define B_PCH_PCIE_EQCFG1_LEP3B BIT17 #define B_PCH_PCIE_EQCFG1_RTLEPCEB BIT16 #define B_PCH_PCIE_EQCFG1_RTPCOE BIT15 #define B_PCH_PCIE_EQCFG1_HPCMQE BIT13 #define B_PCH_PCIE_EQCFG1_HAED BIT12 #define B_PCH_PCIE_EQCFG1_EQTS2IRRC BIT7 #define B_PCH_PCIE_EQCFG1_TUPP BIT1 #define R_PCH_PCIE_RTPCL1 0x454 #define B_PCH_PCIE_RTPCL1_PCM BIT31 #define B_PCH_PCIE_RTPCL1_RTPRECL2PL4 0x3F000000 #define B_PCH_PCIE_RTPCL1_RTPOSTCL1PL3 0xFC0000 #define B_PCH_PCIE_RTPCL1_RTPRECL1PL2 0x3F000 #define B_PCH_PCIE_RTPCL1_RTPOSTCL0PL1 0xFC0 #define B_PCH_PCIE_RTPCL1_RTPRECL0PL0 0x3F #define R_PCH_PCIE_RTPCL2 0x458 #define B_PCH_PCIE_RTPCL2_RTPOSTCL3PL 0x3F000 #define B_PCH_PCIE_RTPCL2_RTPRECL3PL6 0xFC0 #define B_PCH_PCIE_RTPCL2_RTPOSTCL2PL5 0x3F #define R_PCH_PCIE_RTPCL3 0x45C #define B_PCH_PCIE_RTPCL3_RTPRECL7 0x3F000000 #define B_PCH_PCIE_RTPCL3_RTPOSTCL6 0xFC0000 #define B_PCH_PCIE_RTPCL3_RTPRECL6 0x3F000 #define B_PCH_PCIE_RTPCL3_RTPOSTCL5 0xFC0 #define B_PCH_PCIE_RTPCL3_RTPRECL5PL10 0x3F #define R_PCH_PCIE_RTPCL4 0x460 #define B_PCH_PCIE_RTPCL4_RTPOSTCL9 0x3F000000 #define B_PCH_PCIE_RTPCL4_RTPRECL9 0xFC0000 #define B_PCH_PCIE_RTPCL4_RTPOSTCL8 0x3F000 #define B_PCH_PCIE_RTPCL4_RTPRECL8 0xFC0 #define B_PCH_PCIE_RTPCL4_RTPOSTCL7 0x3F #define R_PCH_PCIE_FOMS 0x464 #define B_PCH_PCIE_FOMS_I (BIT30 | BIT29) #define N_PCH_PCIE_FOMS_I 29 #define B_PCH_PCIE_FOMS_LN 0x1F000000 #define N_PCH_PCIE_FOMS_LN 24 #define B_PCH_PCIE_FOMS_FOMSV 0x00FFFFFF #define B_PCH_PCIE_FOMS_FOMSV0 0x000000FF #define N_PCH_PCIE_FOMS_FOMSV0 0 #define B_PCH_PCIE_FOMS_FOMSV1 0x0000FF00 #define N_PCH_PCIE_FOMS_FOMSV1 8 #define B_PCH_PCIE_FOMS_FOMSV2 0x00FF0000 #define N_PCH_PCIE_FOMS_FOMSV2 16 #define R_PCH_PCIE_HAEQ 0x468 #define B_PCH_PCIE_HAEQ_HAPCCPI (BIT31 | BIT30 | BIT29 | BIT28) #define N_PCH_PCIE_HAEQ_HAPCCPI 28 #define B_PCH_PCIE_HAEQ_MACFOMC BIT19 #define R_PCH_PCIE_LTCO1 0x470 #define B_PCH_PCIE_LTCO1_L1TCOE BIT25 #define B_PCH_PCIE_LTCO1_L0TCOE BIT24 #define B_PCH_PCIE_LTCO1_L1TPOSTCO 0xFC0000 #define N_PCH_PCIE_LTCO1_L1TPOSTCO 18 #define B_PCH_PCIE_LTCO1_L1TPRECO 0x3F000 #define N_PCH_PCIE_LTCO1_L1TPRECO 12 #define B_PCH_PCIE_LTCO1_L0TPOSTCO 0xFC0 #define N_PCH_PCIE_LTCO1_L0TPOSTCO 6 #define B_PCH_PCIE_LTCO1_L0TPRECO 0x3F #define N_PCH_PCIE_LTCO1_L0TPRECO 0 #define R_PCH_PCIE_LTCO2 0x474 #define B_PCH_PCIE_LTCO2_L3TCOE BIT25 #define B_PCH_PCIE_LTCO2_L2TCOE BIT24 #define B_PCH_PCIE_LTCO2_L3TPOSTCO 0xFC0000 #define B_PCH_PCIE_LTCO2_L3TPRECO 0x3F000 #define B_PCH_PCIE_LTCO2_L2TPOSTCO 0xFC0 #define B_PCH_PCIE_LTCO2_L2TPRECO 0x3F #define R_PCH_PCIE_G3L0SCTL 0x478 #define B_PCH_PCIE_G3L0SCTL_G3UCNFTS 0x0000FF00 #define B_PCH_PCIE_G3L0SCTL_G3CCNFTS 0x000000FF #define R_PCH_PCIE_EQCFG2 0x47C #define B_PCH_PCIE_EQCFG2_NTIC 0xFF000000 #define B_PCH_PCIE_EQCFG2_EMD BIT23 #define B_PCH_PCIE_EQCFG2_NTSS (BIT22 | BIT21 | BIT20) #define B_PCH_PCIE_EQCFG2_PCET (BIT19 | BIT18 | BIT17 | BIT16) #define N_PCH_PCIE_EQCFG2_PCET 16 #define B_PCH_PCIE_EQCFG2_HAPCSB (BIT15 | BIT14 | BIT13 | BIT12) #define N_PCH_PCIE_EQCFG2_HAPCSB 12 #define B_PCH_PCIE_EQCFG2_NTEME BIT11 #define B_PCH_PCIE_EQCFG2_MPEME BIT10 #define B_PCH_PCIE_EQCFG2_REWMETM (BIT9 | BIT8) #define B_PCH_PCIE_EQCFG2_REWMET 0xFF #define R_PCH_PCIE_MM 0x480 #define B_PCH_PCIE_MM_MSST 0xFFFFFF00 #define N_PCH_PCIE_MM_MSST 8 #define B_PCH_PCIE_MM_MSS 0xFF // //PCI Express Extended End Point Capability Registers // #define R_PCH_PCIE_LTRECH_OFFSET 0 #define R_PCH_PCIE_LTRECH_CID 0x0018 #define R_PCH_PCIE_LTRECH_MSLR_OFFSET 0x04 #define R_PCH_PCIE_LTRECH_MNSLR_OFFSET 0x06 // // PCIE PCRs (PID:SPA SPB SPC SPD SPE SPF) // #define R_PCH_PCR_SPX_PCD 0 ///< Port configuration and disable #define B_PCH_PCR_SPX_PCD_RP1FN (BIT2 | BIT1 | BIT0) ///< Port 1 Function Number #define B_PCH_PCR_SPX_PCD_RP1CH BIT3 ///< Port 1 config hide #define B_PCH_PCR_SPX_PCD_RP2FN (BIT6 | BIT5 | BIT4) ///< Port 2 Function Number #define B_PCH_PCR_SPX_PCD_RP2CH BIT7 ///< Port 2 config hide #define B_PCH_PCR_SPX_PCD_RP3FN (BIT10 | BIT9 | BIT8) ///< Port 3 Function Number #define B_PCH_PCR_SPX_PCD_RP3CH BIT11 ///< Port 3 config hide #define B_PCH_PCR_SPX_PCD_RP4FN (BIT14 | BIT13 | BIT12) ///< Port 4 Function Number #define B_PCH_PCR_SPX_PCD_RP4CH BIT15 ///< Port 4 config hide #define S_PCH_PCR_SPX_PCD_RP_FIELD 4 ///< 4 bits for each RP FN #define B_PCH_PCR_SPX_PCD_P1D BIT16 ///< Port 1 disable #define B_PCH_PCR_SPX_PCD_P2D BIT17 ///< Port 2 disable #define B_PCH_PCR_SPX_PCD_P3D BIT18 ///< Port 3 disable #define B_PCH_PCR_SPX_PCD_P4D BIT19 ///< Port 4 disable #define B_PCH_PCR_SPX_PCD_SRL BIT31 ///< Secured Register Lock #define R_PCH_PCR_SPX_PCIEHBP 0x0004 ///< PCI Express high-speed bypass #define B_PCH_PCR_SPX_PCIEHBP_PCIEHBPME BIT0 ///< PCIe HBP mode enable #define B_PCH_PCR_SPX_PCIEHBP_PCIEGMO (BIT2 | BIT1) ///< PCIe gen mode override #define B_PCH_PCR_SPX_PCIEHBP_PCIETIL0O BIT3 ///< PCIe transmitter-in-L0 override #define B_PCH_PCR_SPX_PCIEHBP_PCIERIL0O BIT4 ///< PCIe receiver-in-L0 override #define B_PCH_PCR_SPX_PCIEHBP_PCIELRO BIT5 ///< PCIe link recovery override #define B_PCH_PCR_SPX_PCIEHBP_PCIELDO BIT6 ///< PCIe link down override #define B_PCH_PCR_SPX_PCIEHBP_PCIESSM BIT7 ///< PCIe SKP suppression mode #define B_PCH_PCR_SPX_PCIEHBP_PCIESST BIT8 ///< PCIe suppress SKP transmission #define B_PCH_PCR_SPX_PCIEHBP_PCIEHBPPS (BIT13 | BIT12) ///< PCIe HBP port select #define B_PCH_PCR_SPX_PCIEHBP_CRCSEL (BIT15 | BIT14) ///< CRC select #define B_PCH_PCR_SPX_PCIEHBP_PCIEHBPCRC 0xFFFF0000 ///< PCIe HBP CRC // // ICC PCR (PID: ICC) // #define R_PCH_PCR_ICC_TMCSRCCLK 0x1000 ///< Timing Control SRC Clock Register #define R_PCH_PCR_ICC_TMCSRCCLK2 0x1004 ///< Timing Control SRC Clock Register 2 #define R_PCH_PCR_ICC_MSKCKRQ 0x100C ///< Mask Control CLKREQ #endif