aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/northbridge/amd/amdfam10/northbridge.c11
-rw-r--r--src/northbridge/amd/amdmct/mct_ddr3/s3utils.c8
2 files changed, 7 insertions, 12 deletions
diff --git a/src/northbridge/amd/amdfam10/northbridge.c b/src/northbridge/amd/amdfam10/northbridge.c
index 06079dd98b..da93175b21 100644
--- a/src/northbridge/amd/amdfam10/northbridge.c
+++ b/src/northbridge/amd/amdfam10/northbridge.c
@@ -1975,10 +1975,6 @@ static void root_complex_enable_dev(struct device *dev)
/* Do not delay UMA setup, as a device on the PCI bus may evaluate
the global uma_memory variables already in its enable function. */
if (!done) {
-#if IS_ENABLED(CONFIG_HAVE_ACPI_RESUME) && IS_ENABLED(CONFIG_DIMM_DDR3)
- save_mct_information_to_nvram();
-#endif
-
setup_bsp_ramtop();
setup_uma_memory();
done = 1;
@@ -1992,7 +1988,14 @@ static void root_complex_enable_dev(struct device *dev)
}
}
+static void root_complex_finalize(void *chip_info) {
+#if IS_ENABLED(CONFIG_HAVE_ACPI_RESUME) && IS_ENABLED(CONFIG_DIMM_DDR3)
+ save_mct_information_to_nvram();
+#endif
+}
+
struct chip_operations northbridge_amd_amdfam10_root_complex_ops = {
CHIP_NAME("AMD Family 10h/15h Root Complex")
.enable_dev = root_complex_enable_dev,
+ .final = root_complex_finalize,
};
diff --git a/src/northbridge/amd/amdmct/mct_ddr3/s3utils.c b/src/northbridge/amd/amdmct/mct_ddr3/s3utils.c
index fe7707591e..6589a39943 100644
--- a/src/northbridge/amd/amdmct/mct_ddr3/s3utils.c
+++ b/src/northbridge/amd/amdmct/mct_ddr3/s3utils.c
@@ -1132,11 +1132,6 @@ int8_t save_mct_information_to_nvram(void)
s3nv_offset &= ~(CONFIG_S3_DATA_SIZE-1);
s3nv_offset += CONFIG_S3_DATA_SIZE;
- /* Set temporary SPI MMIO address */
- device_t lpc_dev = dev_find_slot(0, PCI_DEVFN(0x14, 3));
- uint32_t spi_mmio_prev = pci_read_config32(lpc_dev, 0xa0);
- pci_write_config32(lpc_dev, 0xa0, (spi_mmio_prev & 0x1f) | 0xf0000000);
-
/* Initialize SPI and detect devices */
spi_init();
flash = spi_flash_probe(0, 0);
@@ -1160,9 +1155,6 @@ int8_t save_mct_information_to_nvram(void)
flash->spi->rw = SPI_WRITE_FLAG;
spi_release_bus(flash->spi);
- /* Restore SPI MMIO address */
- pci_write_config32(lpc_dev, 0xa0, spi_mmio_prev);
-
/* Allow training bypass if DIMM configuration is unchanged on next boot */
nvram = 1;
set_option("allow_spd_nvram_cache_restore", &nvram);