coreboot/src/soc/intel
Tim Wawrzynczak 32f883e532 soc/intel/common/block/pcie/rtd3: Add ModPHY power gate support for RTD3
For additional power savings during RTD3, the PMC can power-gate the
ModPHY lanes that are used by the PCH PCIe root ports. Therefore,
using the previous PCIe RP-type detection functions, implement ModPHY
PG support for the PCH PCIe RPs.

This involves:
1) Adding a mutex so only one power resource accesses the PMC registers
   at a time
2) OperationRegions to access the PMC's PG registers
3) Adding ModPHY PG enable sequence to _OFF
4) Adding ModPHY PG disable sequence to _ON

BUG=b:197983574
TEST=50 S0ix suspend/resume cycles on brya0

Signed-off-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
Change-Id: I19cb05a74acfa3ded7867b1cac32c161a83b4f7d
Reviewed-on: https://review.coreboot.org/c/coreboot/+/59855
Reviewed-by: Subrata Banik <subrata.banik@intel.com>
Reviewed-by: Cliff Huang <cliff.huang@intel.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2021-12-13 13:56:01 +00:00
..
alderlake soc/intel/alderlake: Define soc_get_pcie_rp_type 2021-12-13 13:55:50 +00:00
apollolake Reland "vboot_logic: Set VB2_CONTEXT_EC_TRUSTED in verstage_main" 2021-11-15 12:00:12 +00:00
baytrail Rename ECAM-specific MMCONF Kconfigs 2021-11-10 17:24:16 +00:00
braswell Rename ECAM-specific MMCONF Kconfigs 2021-11-10 17:24:16 +00:00
broadwell lynxpoint/broadwell: Use azalia_codecs_init() 2021-11-11 22:45:11 +00:00
cannonlake soc/intel/cannonlake: Configure common FSP memory settings only once 2021-12-13 12:56:04 +00:00
common soc/intel/common/block/pcie/rtd3: Add ModPHY power gate support for RTD3 2021-12-13 13:56:01 +00:00
denverton_ns Rename ECAM-specific MMCONF Kconfigs 2021-11-10 17:24:16 +00:00
elkhartlake soc/intel/elkhartlake: Hook up public microcode 2021-12-12 16:05:04 +00:00
icelake soc/intel/common/thermal: Refactor thermal block to improve reusability 2021-11-25 07:18:04 +00:00
jasperlake soc/intel/jasperlake: Hook up public microcode 2021-12-12 16:04:47 +00:00
quark Rename ECAM-specific MMCONF Kconfigs 2021-11-10 17:24:16 +00:00
skylake soc/intel/{skylake/cannonlake}: Fix bug in vr_config 2021-12-10 14:30:12 +00:00
tigerlake soc/intel/tigerlake: Define soc_get_pcie_rp_type 2021-12-13 13:54:52 +00:00
xeon_sp commonlib/cbmem_id.h: Fix typo in macro name 2021-11-25 11:13:28 +00:00
Kconfig
Makefile.inc soc/intel/common/cse: Add support for stitching CSE components 2021-10-19 16:09:08 +00:00