From e86c65b62e4dff095512058fe300814c424ceb6f Mon Sep 17 00:00:00 2001 From: Rudolf Marek Date: Sun, 12 Apr 2009 18:01:55 +0000 Subject: [PATCH] The IT8712F needs to have the configuration bits changed to handle the power for memory correctly during suspend.s Signed-off-by: Rudolf Marek Acked-by: Peter Stuge git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4096 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1 --- src/superio/ite/it8712f/it8712f_early_serial.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/superio/ite/it8712f/it8712f_early_serial.c b/src/superio/ite/it8712f/it8712f_early_serial.c index 9758e868fd..03899625bf 100644 --- a/src/superio/ite/it8712f/it8712f_early_serial.c +++ b/src/superio/ite/it8712f/it8712f_early_serial.c @@ -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();