summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mainboard/asus/k8v-x/romstage.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/mainboard/asus/k8v-x/romstage.c b/src/mainboard/asus/k8v-x/romstage.c
index 014ce68b1f..f24c4d40c8 100644
--- a/src/mainboard/asus/k8v-x/romstage.c
+++ b/src/mainboard/asus/k8v-x/romstage.c
@@ -199,6 +199,19 @@ void cache_as_ram_main(unsigned long bist, unsigned long cpu_init_detectedx)
smbus_write_byte(0x48, 0x07, smbus_read_byte(0x48, 0x07) | 0x80);
smbus_write_byte(0x4a, 0x07, smbus_read_byte(0x4a, 0x07) | 0x10);
+ unsigned char mask;
+
+ mask = 0;
+// mask |= 1 /* AGP voltage 1.7 V (not verified, just vendor BIOS value) */
+// mask |= 2 /* V-Link voltage 2.6 V (not verified either) */
+ smbus_write_byte(0x4a, 0x00, (smbus_read_byte(0x4a, 0x00) & ~0x0f) | (0x0f ^ (mask << 2)));
+ smbus_write_byte(0x4a, 0x01, (smbus_read_byte(0x4a, 0x01) & ~0x03) | (0x03 ^ mask));
+
+ mask = 25; /* RAM voltage in decivolts, valid range from 25 to 28 */
+ mask = 3 - (mask - 25);
+ smbus_write_byte(0x4a, 0x02, 0x4f | (mask << 4));
+ smbus_write_byte(0x4a, 0x03, 0x04 | mask);
+
sdram_initialize(sysinfo->nodes, sysinfo->ctrl, sysinfo);
post_cache_as_ram();
}