From 70f2736b8eae5aa9e83418c0318da45ca031bb55 Mon Sep 17 00:00:00 2001 From: Timothy Pearson Date: Sat, 5 Sep 2015 17:46:15 -0500 Subject: southbridge/amd/sb700: Fix boot hang on ASUS KGPE-D16 Change-Id: I1d7d6715663a13ab94fd6d71808e35f0f7384d00 Signed-off-by: Timothy Pearson Reviewed-on: http://review.coreboot.org/11938 Tested-by: build bot (Jenkins) Reviewed-by: Peter Stuge --- src/southbridge/amd/sb700/Kconfig | 4 ++++ src/southbridge/amd/sb700/early_setup.c | 8 ++++++++ 2 files changed, 12 insertions(+) (limited to 'src/southbridge') diff --git a/src/southbridge/amd/sb700/Kconfig b/src/southbridge/amd/sb700/Kconfig index 076193447b..bca74fb083 100644 --- a/src/southbridge/amd/sb700/Kconfig +++ b/src/southbridge/amd/sb700/Kconfig @@ -42,6 +42,10 @@ config SOUTHBRIDGE_AMD_SB700_SKIP_ISA_DMA_INIT bool default n +config SOUTHBRIDGE_AMD_SB700_DISABLE_ISA_DMA + bool + default n + config EHCI_BAR hex default 0xfef00000 diff --git a/src/southbridge/amd/sb700/early_setup.c b/src/southbridge/amd/sb700/early_setup.c index d25599ea2e..2828bbed51 100644 --- a/src/southbridge/amd/sb700/early_setup.c +++ b/src/southbridge/amd/sb700/early_setup.c @@ -439,6 +439,14 @@ static void sb700_devices_por_init(void) /*pci_write_config8(dev, 0x79, 0x4F); */ pci_write_config8(dev, 0x78, 0xFF); + if (IS_ENABLED(CONFIG_SOUTHBRIDGE_AMD_SB700_DISABLE_ISA_DMA)) { + printk(BIOS_DEBUG, "%s: Disabling ISA DMA support\n", __func__); + /* Disable LPC ISA DMA Capability */ + byte = pci_read_config8(dev, 0x78); + byte &= ~(1 << 0); + pci_write_config8(dev, 0x78, byte); + } + /* Set smbus iospace enable, I don't know why write 0x04 into reg5 that is reserved */ pci_write_config16(dev, 0x4, 0x0407); -- cgit v1.2.3