The IT8712F needs to have the configuration bits changed to handle the power for
authorRudolf Marek <r.marek@assembler.cz>
Sun, 12 Apr 2009 18:01:55 +0000 (18:01 +0000)
committerRudolf Marek <r.marek@assembler.cz>
Sun, 12 Apr 2009 18:01:55 +0000 (18:01 +0000)
memory correctly during suspend.s

Signed-off-by: Rudolf Marek <r.marek@assembler.cz>
Acked-by: Peter Stuge <peter@stuge.se>
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4096 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1

src/superio/ite/it8712f/it8712f_early_serial.c

index 9758e868fd30e6ce2986de1c6f4fc70c5d2570d9..03899625bfb2b2a788919ce0f5c8bc378405cc59 100644 (file)
@@ -32,6 +32,7 @@
 #define IT8712F_CONFIG_REG_CONFIGSEL 0x22 /* Configuration Select. */
 #define IT8712F_CONFIG_REG_CLOCKSEL  0x23 /* Clock Selection. */
 #define IT8712F_CONFIG_REG_SWSUSP    0x24 /* Software Suspend, Flash I/F. */
+#define IT8712F_CONFIG_REG_MFC       0x2a /* Multi-function control */
 #define IT8712F_CONFIG_REG_WATCHDOG  0x72 /* Watchdog control. */
 
 #define IT8712F_CONFIGURATION_PORT   0x2e /* Write-only. */
@@ -78,6 +79,21 @@ static void it8712f_24mhz_clkin(void)
 
 }
 
+static void it8712f_enable_3vsbsw(void) {
+
+       /* We need to set enable 3VSBSW#, this was documented only in IT8712F_V0.9.2!
+        LDN 7, reg 0x2a - needed for S3, or memory power will be cut off.
+        Enable 3VSBSW#. (For System Suspend-to-RAM)
+        0: 3VSBSW# will be always inactive.
+        1: 3VSBSW# enabled. It will be (NOT SUSB#) NAND SUSC#.
+       */
+
+       it8712f_enter_conf();
+       it8712f_sio_write(0x07, IT8712F_CONFIG_REG_MFC, 0x80);
+       it8712f_exit_conf();
+}
+
+
 static void it8712f_kill_watchdog(void)
 {
        it8712f_enter_conf();