aboutsummaryrefslogtreecommitdiff
path: root/src/soc/amd/common/block
diff options
context:
space:
mode:
Diffstat (limited to 'src/soc/amd/common/block')
-rw-r--r--src/soc/amd/common/block/acpimmio/mmio_util.c15
-rw-r--r--src/soc/amd/common/block/include/amdblocks/acpimmio.h3
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);