[openfirmware] r1322 - cpu/x86/pc/olpc/via

svn at openfirmware.info svn at openfirmware.info
Tue Aug 25 00:55:47 CEST 2009


Author: wmb
Date: 2009-08-25 00:55:47 +0200 (Tue, 25 Aug 2009)
New Revision: 1322

Modified:
   cpu/x86/pc/olpc/via/acpi.fth
   cpu/x86/pc/olpc/via/ioinit.fth
Log:
Via - made power-off work by implementing acpi-power-off



Modified: cpu/x86/pc/olpc/via/acpi.fth
===================================================================
--- cpu/x86/pc/olpc/via/acpi.fth	2009-08-24 19:42:50 UTC (rev 1321)
+++ cpu/x86/pc/olpc/via/acpi.fth	2009-08-24 22:55:47 UTC (rev 1322)
@@ -302,6 +302,11 @@
    h# ffffffff  h# 20 acpi-l!  \ Ack all leftover events
 ;
 
+: acpi-power-off  ( -- )
+   4 acpi-w@  h# c3ff and  h# 2800 or  4 acpi-w!  \ SLP_TYPx = 2 - S4 and S5
+;
+' acpi-power-off to power-off
+
 stand-init: ACPI tables
    setup-acpi
 ;

Modified: cpu/x86/pc/olpc/via/ioinit.fth
===================================================================
--- cpu/x86/pc/olpc/via/ioinit.fth	2009-08-24 19:42:50 UTC (rev 1321)
+++ cpu/x86/pc/olpc/via/ioinit.fth	2009-08-24 22:55:47 UTC (rev 1322)
@@ -214,11 +214,12 @@
    97 ff 80 mreg  \ be like Phx 
 [then]
 
+[ifdef] xo-board
+   97 ff 80 mreg   \ Wait for power to go down before coming back up - needed for power-off
 \ NO! This doesn't work.  If these lines are set as GPIOs, the system
 \ will crash when you disable the internal KBC.
-\ [ifdef] xo-board
 \   97 ff 81 mreg  \ GPIO4/5 not KBDT/KBCK
-\ [then]
+[then]
 
 [ifdef] xo-board
    9b ff 89 mreg  \ 80 undoc but is LVDS power.  00 forces LVDS power off, 80 lets 3d5.D2[7,6,3] control it; 1 selects GPO11/12 instead of CR_PWSEL/CR_PWOFF (DCONLOAD)




More information about the openfirmware mailing list