diff options
author | Felix Held <felix-coreboot@felixheld.de> | 2020-12-08 00:40:04 +0100 |
---|---|---|
committer | Felix Held <felix-coreboot@felixheld.de> | 2020-12-09 02:10:58 +0000 |
commit | 26935d1ecc3e92803de985473b1a124982a9e226 (patch) | |
tree | 5a55d760bfb2a44276fae40d7bc2700beb1ecdd0 /src/soc/amd/common/block | |
parent | 240f99c1c3ecbf1af7ebb2c81545ca46317ba419 (diff) |
soc/amd: factor out legacy I/O and cf9 decode enable functions
Replace sb prefix with fch prefix, since those are all FCHs and no south
bridges any more. Verstage on PSP uses the I/O access mechanism instead
of the MMIO one, so keep a separate function for that, but also move it
to the common mmio_util file to have them all in one place.
Change-Id: I47dac9ee3d9e27f7b7a5fddab17cf4fc10de6c3e
Signed-off-by: Felix Held <felix-coreboot@felixheld.de>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/48435
Reviewed-by: Marshall Dawson <marshalldawson3rd@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/soc/amd/common/block')
-rw-r--r-- | src/soc/amd/common/block/acpimmio/mmio_util.c | 15 | ||||
-rw-r--r-- | src/soc/amd/common/block/include/amdblocks/acpimmio.h | 3 |
2 files changed, 18 insertions, 0 deletions
diff --git a/src/soc/amd/common/block/acpimmio/mmio_util.c b/src/soc/amd/common/block/acpimmio/mmio_util.c index 508467297c..6231d49e12 100644 --- a/src/soc/amd/common/block/acpimmio/mmio_util.c +++ b/src/soc/amd/common/block/acpimmio/mmio_util.c @@ -58,6 +58,21 @@ void enable_acpimmio_decode_pm04(void) pm_io_write32(ACPIMMIO_DECODE_REGISTER_04, dw); } +void fch_enable_cf9_io(void) +{ + pm_write32(PM_DECODE_EN, pm_read32(PM_DECODE_EN) | CF9_IO_EN); +} + +void fch_enable_legacy_io(void) +{ + pm_write32(PM_DECODE_EN, pm_read32(PM_DECODE_EN) | LEGACY_IO_EN); +} + +void fch_io_enable_legacy_io(void) +{ + pm_io_write32(PM_DECODE_EN, pm_io_read32(PM_DECODE_EN) | LEGACY_IO_EN); +} + /* PM registers are accessed a byte at a time via CD6/CD7 */ uint8_t pm_io_read8(uint8_t reg) { diff --git a/src/soc/amd/common/block/include/amdblocks/acpimmio.h b/src/soc/amd/common/block/include/amdblocks/acpimmio.h index 865ad48a9b..0e42ee60c3 100644 --- a/src/soc/amd/common/block/include/amdblocks/acpimmio.h +++ b/src/soc/amd/common/block/include/amdblocks/acpimmio.h @@ -73,6 +73,9 @@ void enable_acpimmio_decode_pm24(void); /* For newer integrated FCHs */ void enable_acpimmio_decode_pm04(void); +void fch_enable_cf9_io(void); +void fch_enable_legacy_io(void); +void fch_io_enable_legacy_io(void); /* Access PM registers using IO cycles */ uint8_t pm_io_read8(uint8_t reg); |