summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRaul E Rangel <rrangel@chromium.org>2021-02-24 16:17:54 -0700
committerPatrick Georgi <pgeorgi@google.com>2021-03-01 08:21:31 +0000
commit69ff4281596127622f4ef941a37d80baec4f65b1 (patch)
tree134189b0be1d29b6b24d4c264984d67e15d49369 /src
parentbda338a1be38a50fae86a2e02ce8dac8bb9eb3f0 (diff)
downloadcoreboot-69ff4281596127622f4ef941a37d80baec4f65b1.tar.gz
coreboot-69ff4281596127622f4ef941a37d80baec4f65b1.tar.bz2
coreboot-69ff4281596127622f4ef941a37d80baec4f65b1.zip
soc/amd/common/block/acpimmio: Add fch_disable_legacy_dma_io
Add a method to disable decoding the legacy DMA IO ports. Signed-off-by: Raul E Rangel <rrangel@chromium.org> Signed-off-by: Felix Held <felix-coreboot@felixheld.de> Change-Id: I979445cfa8317334e62e9ebf12256ece9f8058bf Reviewed-on: https://review.coreboot.org/c/coreboot/+/51075 Reviewed-by: Angel Pons <th3fanbus@gmail.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src')
-rw-r--r--src/soc/amd/common/block/acpimmio/mmio_util.c6
-rw-r--r--src/soc/amd/common/block/include/amdblocks/acpimmio.h3
2 files changed, 9 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 3a86aafbb544..cfe877952a12 100644
--- a/src/soc/amd/common/block/acpimmio/mmio_util.c
+++ b/src/soc/amd/common/block/acpimmio/mmio_util.c
@@ -69,6 +69,12 @@ void fch_enable_legacy_io(void)
pm_write32(PM_DECODE_EN, pm_read32(PM_DECODE_EN) | LEGACY_IO_EN);
}
+void fch_disable_legacy_dma_io(void)
+{
+ pm_write32(PM_DECODE_EN, pm_read32(PM_DECODE_EN) &
+ ~(LEGACY_DMA_IO_EN | LEGACY_DMA_IO_80_EN));
+}
+
void fch_io_enable_legacy_io(void)
{
pm_io_write32(PM_DECODE_EN, pm_io_read32(PM_DECODE_EN) | LEGACY_IO_EN);
diff --git a/src/soc/amd/common/block/include/amdblocks/acpimmio.h b/src/soc/amd/common/block/include/amdblocks/acpimmio.h
index a9a6986c77ec..7891bfddb1f9 100644
--- a/src/soc/amd/common/block/include/amdblocks/acpimmio.h
+++ b/src/soc/amd/common/block/include/amdblocks/acpimmio.h
@@ -22,6 +22,8 @@
#define HPET_EN (1 << 6) /* decode HPET MMIO at 0xfed00000 */
#define FCH_IOAPIC_EN (1 << 5)
#define SMBUS_ASF_IO_EN (1 << 4)
+#define LEGACY_DMA_IO_80_EN (1 << 3) /* pass 0x80-0x83 to legacy DMA IO range */
+#define LEGACY_DMA_IO_EN (1 << 2)
#define CF9_IO_EN (1 << 1)
#define LEGACY_IO_EN (1 << 0)
#define PM_RST_STATUS 0xc0
@@ -78,6 +80,7 @@ void enable_acpimmio_decode_pm24(void);
void enable_acpimmio_decode_pm04(void);
void fch_enable_cf9_io(void);
void fch_enable_legacy_io(void);
+void fch_disable_legacy_dma_io(void);
void fch_io_enable_legacy_io(void);
void fch_enable_ioapic_decode(void);
void fch_configure_hpet(void);