}
printk(BIOS_SPEW, "pos=0x%x, filtered freq_cap=0x%x\n", pos, freq_cap);
- //printk(BIOS_SPEW, "capping to 800/600/400/200 MHz\n");
- //freq_cap &= 0x3f;
+
+ #if CONFIG_SOUTHBRIDGE_VIA_K8M890 == 1
+ freq_cap &= 0x3f;
+ printk(BIOS_INFO, "Limiting HT to 800/600/400/200 MHz until K8M890 HT1000 is fixed.\n");
+ #endif
return freq_cap;
}
print_debug("K8T800 Pro found at LDT ");
#elif CONFIG_SOUTHBRIDGE_VIA_K8M890
print_debug("K8M890 found at LDT ");
+ /* K8M890 fix HT delay */
+ pci_write_config8(PCI_DEV(0, 0x0, 2), 0xab, 0x22);
#elif CONFIG_SOUTHBRIDGE_VIA_K8T890
print_debug("K8T890 found at LDT ");
#endif
.long 0x0
.long 0x0
-#elif CONFIG_SOUTHBRIDGE_VIA_K8M890 || CONFIG_SOUTHBRIDGE_VIA_K8T890
+#elif CONFIG_SOUTHBRIDGE_VIA_K8M890
+
+tblpointer:
+.long 0x504400FF, 0x61970FC2 //;200M
+.long 0x504400FF, 0x61970FC2 //;400M
+.long 0x504400FF, 0x61970FC2 //;600M
+.long 0x504400FF, 0x61970FC2 //;800M
+.long 0x504400FF, 0x61970FC2 //;1000M
+.long 0x0
+.long 0x0
+.long 0x0
+.long 0x0
+.long 0x0
+.long 0x0
+.long 0x0
+.long 0x0
+.long 0x0
+.long 0x0
+
+
+#elif CONFIG_SOUTHBRIDGE_VIA_K8T890
tblpointer:
.long 0x504400AA, 0x61970FC2 //;200M