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)
openfirmware@openfirmware.info