From 69ff4281596127622f4ef941a37d80baec4f65b1 Mon Sep 17 00:00:00 2001 From: Raul E Rangel Date: Wed, 24 Feb 2021 16:17:54 -0700 Subject: 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 Signed-off-by: Felix Held Change-Id: I979445cfa8317334e62e9ebf12256ece9f8058bf Reviewed-on: https://review.coreboot.org/c/coreboot/+/51075 Reviewed-by: Angel Pons Tested-by: build bot (Jenkins) --- src/soc/amd/common/block/acpimmio/mmio_util.c | 6 ++++++ src/soc/amd/common/block/include/amdblocks/acpimmio.h | 3 +++ 2 files changed, 9 insertions(+) (limited to 'src/soc/amd') diff --git a/src/soc/amd/common/block/acpimmio/mmio_util.c b/src/soc/amd/common/block/acpimmio/mmio_util.c index 3a86aafbb5..cfe877952a 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 a9a6986c77..7891bfddb1 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); -- cgit v1.2.3