summaryrefslogtreecommitdiffstats
path: root/src/soc/intel/apollolake/pmutil.c
diff options
context:
space:
mode:
authorAngel Pons <th3fanbus@gmail.com>2021-04-17 13:02:37 +0200
committerPatrick Georgi <pgeorgi@google.com>2021-04-21 09:17:40 +0000
commit505e383ccbe4cec2483341833e92ea8c1d9330e8 (patch)
treec37af425b5babc4db89b05f461dcd7418572bb69 /src/soc/intel/apollolake/pmutil.c
parentf643b63c4dcd74c3de0c1d54de8b740d831d6d73 (diff)
downloadcoreboot-505e383ccbe4cec2483341833e92ea8c1d9330e8.tar.gz
coreboot-505e383ccbe4cec2483341833e92ea8c1d9330e8.tar.bz2
coreboot-505e383ccbe4cec2483341833e92ea8c1d9330e8.zip
soc/intel: Move pmc_soc_set_afterg3_en() to pmutil.c
Commit 2c26108208e4aa48de21be576ab6cad9286d7934 moved this function to pmutil.c for Tiger Lake. Do this to all other platforms for consistency. For Skylake, __SIMPLE_DEVICE__ preprocessor guards are no longer needed. With this change, pmc.c is only needed in ramstage. Adjust Makefile.inc accordingly, and drop ENV_RAMSTAGE guards from Skylake. Change-Id: I424eb359c898f155659d085b888410b6bb58b9ed Signed-off-by: Angel Pons <th3fanbus@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/52464 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org> Reviewed-by: Michael Niewöhner <foss@mniewoehner.de>
Diffstat (limited to 'src/soc/intel/apollolake/pmutil.c')
-rw-r--r--src/soc/intel/apollolake/pmutil.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/soc/intel/apollolake/pmutil.c b/src/soc/intel/apollolake/pmutil.c
index 8f222dd244c7..891c876c8369 100644
--- a/src/soc/intel/apollolake/pmutil.c
+++ b/src/soc/intel/apollolake/pmutil.c
@@ -224,3 +224,16 @@ uint16_t get_pmbase(void)
{
return (uint16_t) ACPI_BASE_ADDRESS;
}
+
+void pmc_soc_set_afterg3_en(const bool on)
+{
+ void *const gen_pmcon1 = (void *)(soc_read_pmc_base() + GEN_PMCON1);
+ uint32_t reg32;
+
+ reg32 = read32(gen_pmcon1);
+ if (on)
+ reg32 &= ~SLEEP_AFTER_POWER_FAIL;
+ else
+ reg32 |= SLEEP_AFTER_POWER_FAIL;
+ write32(gen_pmcon1, reg32);
+}