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; }