Author: wmb Date: 2009-08-20 08:26:26 +0200 (Thu, 20 Aug 2009) New Revision: 1308
Modified: cpu/x86/pc/olpc/via/boardrev.fth cpu/x86/pc/olpc/via/suspend.fth Log: Via - enable UART on atest, both in stand-init-io and in resume path.
Modified: cpu/x86/pc/olpc/via/boardrev.fth =================================================================== --- cpu/x86/pc/olpc/via/boardrev.fth 2009-08-20 06:24:07 UTC (rev 1307) +++ cpu/x86/pc/olpc/via/boardrev.fth 2009-08-20 06:26:26 UTC (rev 1308) @@ -19,13 +19,26 @@ 2dup + 2- 2 upper ( model$ ) \ Upper case for base model ;
-\ stand-init: board revision +: enable-uart ( -- ) h# 40 h# 8846 config-b! ; + +warning @ warning off +\ Do this in stand-init-io so the serial port is enabled prior +\ to the early interact point : stand-init-io stand-init-io + +[ifndef] notdef ['] board-id@ catch if 0 then case 0 of 0 endof \ EC broken ( board-id ) dup h# 10 * 8 + swap \ E.g. b3 -> b38 endcase +[else] + \ wait-ib-empty + \ autowack-off + 0 h# 68 pc! + h# d08 +[then] + to board-revision
\ Cache the board revision in CMOS RAM so the early startup code @@ -35,8 +48,9 @@ \ Force the serial port back on for A-test, even when SERIAL_EN is \ not asserted, because many developers use serial on A-test systems \ and it is not easy to jumper SERIAL_EN on A-test. - atest? if h# 40 h# 8846 config-b! then + atest? if enable-uart then ; +warning !
\ LICENSE_BEGIN \ Copyright (c) 2007 FirmWorks
Modified: cpu/x86/pc/olpc/via/suspend.fth =================================================================== --- cpu/x86/pc/olpc/via/suspend.fth 2009-08-20 06:24:07 UTC (rev 1307) +++ cpu/x86/pc/olpc/via/suspend.fth 2009-08-20 06:26:26 UTC (rev 1308) @@ -18,14 +18,12 @@ : sci-wakeup ( -- ) h# 22 acpi-w@ h# 0002 or h# 22 acpi-w! ;
: s3 + ['] noop to stdin-idle \ Until we work out how to restore interrupt delivery + \ Enable wakeup from power button, also clearing \ any status bits in the low half of the register. 0 acpi-l@ h# 100.0000 or 0 acpi-l!
-\ Unnecessary, as asm code does it -\ h# ffff h# 20 acpi-w! \ Clear PME status bits -\ XXX may need to clear other status bits elsewhere as well - \ sum-forth [ifdef] virtual-mode [ also dev /mmu ] pdir-va h# f0000 ax-call [ previous definitions ] @@ -33,6 +31,8 @@ sp@ 4 - h# f0000 ax-call \ sp@ 4 - is a dummy pdir-va location [then] \ sum-forth + + atest? if enable-uart then ukey? if ukey drop then ; : kb-suspend ( -- ) sci-wakeup