summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mainboard/amd/quartet/auto.c5
-rw-r--r--src/mainboard/amd/solo/auto.c5
-rw-r--r--src/mainboard/arima/hdama/auto.c5
-rw-r--r--src/mainboard/tyan/s2880/auto.c3
-rw-r--r--src/mainboard/tyan/s2882/auto.c3
-rw-r--r--src/mainboard/tyan/s2885/auto.c5
-rw-r--r--src/northbridge/amd/amdk8/coherent_ht.c61
7 files changed, 27 insertions, 60 deletions
diff --git a/src/mainboard/amd/quartet/auto.c b/src/mainboard/amd/quartet/auto.c
index 54fef9304b..a347f20b70 100644
--- a/src/mainboard/amd/quartet/auto.c
+++ b/src/mainboard/amd/quartet/auto.c
@@ -91,6 +91,11 @@ static inline int spd_read_byte(unsigned device, unsigned address)
return smbus_read_byte(device, address);
}
+/* no specific code here. this should go away completely */
+static void coherent_ht_mainboard(unsigned cpus)
+{
+}
+
#include "northbridge/amd/amdk8/cpu_ldtstop.c"
#include "southbridge/amd/amd8111/amd8111_ldtstop.c"
diff --git a/src/mainboard/amd/solo/auto.c b/src/mainboard/amd/solo/auto.c
index 2b3ef3210b..895d97ea14 100644
--- a/src/mainboard/amd/solo/auto.c
+++ b/src/mainboard/amd/solo/auto.c
@@ -41,6 +41,11 @@ static inline int spd_read_byte(unsigned device, unsigned address)
return smbus_read_byte(device, address);
}
+/* no specific code here. this should go away completely */
+static void coherent_ht_mainboard(unsigned cpus)
+{
+}
+
#include "northbridge/amd/amdk8/cpu_ldtstop.c"
#include "southbridge/amd/amd8111/amd8111_ldtstop.c"
diff --git a/src/mainboard/arima/hdama/auto.c b/src/mainboard/arima/hdama/auto.c
index f47c7a0b42..ca19245293 100644
--- a/src/mainboard/arima/hdama/auto.c
+++ b/src/mainboard/arima/hdama/auto.c
@@ -85,6 +85,11 @@ static inline int spd_read_byte(unsigned device, unsigned address)
return smbus_read_byte(device, address);
}
+/* no specific code here. this should go away completely */
+static void coherent_ht_mainboard(unsigned cpus)
+{
+}
+
#include "northbridge/amd/amdk8/cpu_ldtstop.c"
#include "southbridge/amd/amd8111/amd8111_ldtstop.c"
diff --git a/src/mainboard/tyan/s2880/auto.c b/src/mainboard/tyan/s2880/auto.c
index 5386b10d97..2de3c2f5c4 100644
--- a/src/mainboard/tyan/s2880/auto.c
+++ b/src/mainboard/tyan/s2880/auto.c
@@ -81,6 +81,9 @@ static inline int spd_read_byte(unsigned device, unsigned address)
return smbus_read_byte(device, address);
}
+/* include mainboard specific ht code */
+#include "hypertransport.c"
+
#include "northbridge/amd/amdk8/cpu_ldtstop.c"
#include "southbridge/amd/amd8111/amd8111_ldtstop.c"
diff --git a/src/mainboard/tyan/s2882/auto.c b/src/mainboard/tyan/s2882/auto.c
index 5386b10d97..2de3c2f5c4 100644
--- a/src/mainboard/tyan/s2882/auto.c
+++ b/src/mainboard/tyan/s2882/auto.c
@@ -81,6 +81,9 @@ static inline int spd_read_byte(unsigned device, unsigned address)
return smbus_read_byte(device, address);
}
+/* include mainboard specific ht code */
+#include "hypertransport.c"
+
#include "northbridge/amd/amdk8/cpu_ldtstop.c"
#include "southbridge/amd/amd8111/amd8111_ldtstop.c"
diff --git a/src/mainboard/tyan/s2885/auto.c b/src/mainboard/tyan/s2885/auto.c
index d2f6c648f1..628f018ce4 100644
--- a/src/mainboard/tyan/s2885/auto.c
+++ b/src/mainboard/tyan/s2885/auto.c
@@ -81,11 +81,14 @@ static inline int spd_read_byte(unsigned device, unsigned address)
return smbus_read_byte(device, address);
}
+/* include mainboard specific ht code */
+#include "hypertransport.c"
+
#include "northbridge/amd/amdk8/cpu_ldtstop.c"
#include "southbridge/amd/amd8111/amd8111_ldtstop.c"
#include "northbridge/amd/amdk8/raminit.c"
-#include "northbridge/amd/amdk8/coherent_ht.1.c"
+#include "northbridge/amd/amdk8/coherent_ht.c"
#include "sdram/generic_sdram.c"
#include "resourcemap.c" /* tyan does not want the default */
diff --git a/src/northbridge/amd/amdk8/coherent_ht.c b/src/northbridge/amd/amdk8/coherent_ht.c
index 8bf8d15dd9..baf3781bf5 100644
--- a/src/northbridge/amd/amdk8/coherent_ht.c
+++ b/src/northbridge/amd/amdk8/coherent_ht.c
@@ -436,42 +436,6 @@ static unsigned int cpuid(unsigned int op)
static void coherent_ht_finalize(unsigned cpus)
{
-//BY LYH
-#if 1
- static const unsigned int register_values[] = {
- PCI_ADDR(0, 0x18, 0, 0x84), 0x88ff9c05, 0x11000020,
- PCI_ADDR(0, 0x18, 0, 0xa4), 0x88ff9c05, 0x11000020,
- PCI_ADDR(0, 0x18, 0, 0xc4), 0x88ff9c05, 0x770000d0,
- PCI_ADDR(0, 0x19, 0, 0x84), 0x88ff9c05, 0x770000d0,
- PCI_ADDR(0, 0x19, 0, 0xa4), 0x88ff9c05, 0x11000020,
- PCI_ADDR(0, 0x19, 0, 0xc4), 0x88ff9c05, 0x770000d0,
-
-
- PCI_ADDR(0, 0x18, 0, 0x88), 0xfffff0ff, 0x00000400,
- PCI_ADDR(0, 0x18, 0, 0xa8), 0xfffff0ff, 0x00000500,
- PCI_ADDR(0, 0x18, 0, 0xc8), 0xfffff0ff, 0x00000000,
- PCI_ADDR(0, 0x19, 0, 0x88), 0xfffff0ff, 0x00000000,
- PCI_ADDR(0, 0x19, 0, 0xa8), 0xfffff0ff, 0x00000500,
- PCI_ADDR(0, 0x19, 0, 0xc8), 0xfffff0ff, 0x00000000,
-
- PCI_ADDR(0, 0x18, 0, 0x94), 0xff0000ff, 0x00ff0000,
- PCI_ADDR(0, 0x18, 0, 0xb4), 0xff0000ff, 0x00000000,
- PCI_ADDR(0, 0x18, 0, 0xd4), 0xff0000ff, 0x00000000,
- PCI_ADDR(0, 0x19, 0, 0x94), 0xff0000ff, 0x00000000,
- PCI_ADDR(0, 0x19, 0, 0xb4), 0xff0000ff, 0x00000000,
- PCI_ADDR(0, 0x19, 0, 0xd4), 0xff0000ff, 0x00000000,
-
- };
- int i;
- int max;
-
-
- device_t dev;
- unsigned where;
- unsigned long reg;
-#endif
-//BY LYH END
-
int node;
bool rev_a0;
@@ -503,29 +467,6 @@ static void coherent_ht_finalize(unsigned cpus)
pci_write_config32(NODE_HT(node),0xd4,0);
}
}
-//BY LYH
-#if 1
- print_debug("setting up coherent ht domain....\r\n");
- max = sizeof(register_values)/sizeof(register_values[0]);
- for(i = 0; i < max; i += 3) {
-#if 0
- print_debug_hex32(i);
- print_debug(": ");
- print_debug_hex32(register_values[i]);
- print_debug(" <-");
- print_debug_hex32(register_values[i+2]);
- print_debug("\r\n");
-#endif
- dev = register_values[i] & ~0xff;
- where = register_values[i] & 0xff;
- reg = pci_read_config32(dev, where);
- reg &= register_values[i+1];
- reg |= register_values[i+2];
- pci_write_config32(dev, where, reg);
- }
-#endif
-//BY LYH END
-
#if 1
print_debug("done\r\n");
#endif
@@ -546,5 +487,7 @@ static int setup_coherent_ht_domain(void)
#endif
coherent_ht_finalize(cpus);
+ /* this should probably go away again. */
+ coherent_ht_mainboard(cpus);
return reset_needed;
}