/** @file Register definition for PSTH component Conventions: - Register definition format: Prefix_[GenerationName]_[ComponentName]_SubsystemName_RegisterSpace_RegisterName - Prefix: 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 size Definitions beginning with "N_" are the bit position - [GenerationName]: Three letter acronym of the generation is used (e.g. SKL,KBL,CNL etc.). Register name without GenerationName applies to all generations. - [ComponentName]: This field indicates the component name that the register belongs to (e.g. PCH, SA etc.) Register name without ComponentName applies to all components. Register that is specific to -LP denoted by "_PCH_LP_" in component name. - SubsystemName: This field indicates the subsystem name of the component that the register belongs to (e.g. PCIE, USB, SATA, GPIO, PMC etc.). - RegisterSpace: MEM - MMIO space register of subsystem. IO - IO space register of subsystem. PCR - Private configuration register of subsystem. CFG - PCI configuration space register of subsystem. - RegisterName: Full register name. Copyright (c) 2021, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ #ifndef _PCH_REGS_PSTH_H_ #define _PCH_REGS_PSTH_H_ // // Private chipset regsiter (Memory space) offset definition // The PCR register defines is used for PCR MMIO programming and PCH SBI programming as well. // // // PSTH and IO Trap PCRs (PID:PSTH) // #define R_PSTH_PCR_PSTHCTL 0x1D00 ///< PSTH control register #define B_PSTH_PCR_PSTHIOSFPTCGE BIT2 ///< PSTH IOSF primary trunk clock gating enable #define R_PSTH_PCR_TRPST 0x1E00 ///< Trap status regsiter #define R_PSTH_PCR_TRPC 0x1E10 ///< Trapped cycle #define B_PSTH_PCR_TRPC_RW BIT24 ///< Read/Write#: 1=Read, 0=Write #define B_PSTH_PCR_TRPC_AHBE 0x00000000000F0000 ///< Active high byte enables #define B_PSTH_PCR_TRPC_IOA 0x000000000000FFFC ///< Trap cycle I/O address #define R_PSTH_PCR_TRPD 0x1E18 ///< Trapped write data #define R_PSTH_PCR_TRPREG0 0x1E80 ///< IO Tarp 0 register #define R_PSTH_PCR_TRPREG1 0x1E88 ///< IO Tarp 1 register #define R_PSTH_PCR_TRPREG2 0x1E90 ///< IO Tarp 2 register #define R_PSTH_PCR_TRPREG3 0x1E98 ///< IO Tarp 3 register #define B_PSTH_PCR_TRPREG_RWM BIT17 ///< 49 - 32 for 32 bit access, Read/Write mask #define B_PSTH_PCR_TRPREG_RWIO BIT16 ///< 48 - 32 for 32 bit access, Read/Write#, 1=Read, 0=Write #define N_PSTH_PCR_TRPREG_RWIO 16 ///< 48 - 32 for 32 bit access, 16bit shift for Read/Write field #define N_PSTH_PCR_TRPREG_BEM 36 #define N_PSTH_PCR_TRPREG_BE 32 #define B_PSTH_PCR_TRPREG_AD 0x000000000000FFFC ///< IO Address #define B_PSTH_PCR_TRPREG_TSE BIT0 ///< Trap and SMI# Enable #endif