summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Zumbiehl <florz@florz.de>2011-12-06 10:31:10 +0100
committerPeter Stuge <peter@stuge.se>2011-12-14 08:51:58 +0100
commit009ad83d5c1791816801216c496ba9b3fe352fb5 (patch)
treeb90390b8662bd370a93957657566a3c2bd3dd8f8
parent36b53bf2445f85cd89711de37e4123f761478afe (diff)
downloadcoreboot-009ad83d5c1791816801216c496ba9b3fe352fb5.tar.xz
asus k8v-x: explicitly set RAM and bus voltages
Change-Id: I9426cafc252ee765d723af569c4a90e090d313d9 Signed-off-by: Florian Zumbiehl <florz@florz.de> Reviewed-on: http://review.coreboot.org/482 Tested-by: build bot (Jenkins) Reviewed-by: Peter Stuge <peter@stuge.se>
-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();
}