Author: wmb Date: 2007-04-26 04:58:02 +0200 (Thu, 26 Apr 2007) New Revision: 324
Modified: cpu/x86/pc/olpc/gpioinit.fth cpu/x86/pc/olpc/resume.bth Log: OLPC - Turn of internal pullup on THRM_ALARM# to prevent leakage during suspend.
Modified: cpu/x86/pc/olpc/gpioinit.fth =================================================================== --- cpu/x86/pc/olpc/gpioinit.fth 2007-04-25 07:27:37 UTC (rev 323) +++ cpu/x86/pc/olpc/gpioinit.fth 2007-04-26 02:58:02 UTC (rev 324) @@ -7,11 +7,11 @@ h# c100 h# 1010 pl! \ GPIOL_OUT_AUX1_SELECT - SMBDAT, SMBCLK, UART1TX \ h# ffff0000 h# 1014 pl! \ GPIOL_OUT_AUX2_SELECT - default \ h# 1001effe h# 1018 pl! \ GPIOL_PULLUP_ENABLE - I don't think we need pullups - h# 397a0000 h# 1018 pl! \ GPIOL_PULLUP_ENABLE - Disable pullups on SMI#, DCONBLNK/LOAD/STAT UART1TX, VGA, MICDC + h# 3d7a0000 h# 1018 pl! \ GPIOL_PULLUP_ENABLE - Disable pullups on SMI#, DCONBLNK/LOAD/STAT, THRM_ALARM, UART1TX, VGA, MICDC \ h# efff1000 h# 101c pl! \ GPIOL_PULLDOWN_ENABLE - default h# ffff0000 h# 101c pl! \ GPIOL_PULLDOWN_ENABLE - Disable all pull-downs - h# d6e5 h# 1020 pl! \ GPIOL_INPUT_ENABLE - DCONBLNK, DCONLOAD, THERM_ALRM, DCONIRQ, DCONSTAT1/0, MEMSIZE, PCI_INTA - h# 0081 h# 1024 pl! \ GPIOL_INPUT_INVERT_ENABLE - Invert DCONIRQ and PCI_INTA# + h# d6e5 h# 1020 pl! \ GPIOL_INPUT_ENABLE - DCONBLNK, DCONLOAD, THRM_ALARM, DCONIRQ, DCONSTAT1/0, MEMSIZE, PCI_INTA + h# 0481 h# 1024 pl! \ GPIOL_INPUT_INVERT_ENABLE - Invert THRM_ALARM, DCONIRQ and PCI_INTA# \ h# ffff0000 h# 1028 pl! \ GPIOL_IN_FILTER_ENABLE - default \ h# ffff0000 h# 102c pl! \ GPIOL_IN_EVENTCOUNT_ENABLE - default \ h# 2d9bd264 h# 1030 pl! \ GPIOL_READ_BACK
Modified: cpu/x86/pc/olpc/resume.bth =================================================================== --- cpu/x86/pc/olpc/resume.bth 2007-04-25 07:27:37 UTC (rev 323) +++ cpu/x86/pc/olpc/resume.bth 2007-04-26 02:58:02 UTC (rev 324) @@ -141,6 +141,10 @@ gpio-port h# c4 + # dx mov dx ax in ax stos \ Neg edge enable gpio-port h# bc + # dx mov dx ax in ax stos \ High bank lock
+ \ Switch the THRM_ALARM# pin to GPIO during suspend, so it doesn't trigger falsely. + \ THRM_ALARM# is in the standby power well + h# 0400.0000 # ax mov gpio-port h# 34 + # dx mov ax dx out \ GPIO, not THRM_ALARM# + [ifdef] save-display \ \ h# 3c 0 do i gp@ l!+ 4 +loop h# 4c gp@ l!+ \ h# f # cx mov gp-pa set-base begin 0 [bx] ax mov ax stos 4 # bx add loopa