summaryrefslogtreecommitdiff
path: root/src/mainboard/amd/union_station/mainboard.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mainboard/amd/union_station/mainboard.c')
-rw-r--r--src/mainboard/amd/union_station/mainboard.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/mainboard/amd/union_station/mainboard.c b/src/mainboard/amd/union_station/mainboard.c
index 916b62eb26..8816e8d356 100644
--- a/src/mainboard/amd/union_station/mainboard.c
+++ b/src/mainboard/amd/union_station/mainboard.c
@@ -22,8 +22,9 @@
#include <device/pci.h>
#include <arch/io.h>
#include <cpu/x86/msr.h>
-#include <cpu/amd/mtrr.h>
#include <device/pci_def.h>
+#include <southbridge/amd/sb800/sb800.h>
+#include <cpu/amd/mtrr.h>
#include "SBPLATFORM.h" /* Platfrom Specific Definitions */
void set_pcie_reset(void);
@@ -52,6 +53,15 @@ void set_pcie_dereset(void)
static void mainboard_enable(device_t dev)
{
printk(BIOS_INFO, "Mainboard " CONFIG_MAINBOARD_PART_NUMBER " Enable.\n");
+
+ /*
+ * Initialize ASF registers to an arbitrary address because someone
+ * long ago set things up this way inside the SPD read code. The
+ * SPD read code has been made generic and moved out of the board
+ * directory, so the ASF init is being done here.
+ */
+ pm_iowrite(0x29, 0x80);
+ pm_iowrite(0x28, 0x61);
}
struct chip_operations mainboard_ops = {