Author: wmb Date: Sat Dec 31 21:01:51 2011 New Revision: 2790 URL: http://tracker.coreboot.org/trac/openfirmware/changeset/2790
Log: OLPC XO-1.75 and XO-3 - trac #11547 - Fixed problem with Linux not booting when a USB keyboard is attached.
Modified: cpu/arm/olpc/1.75/usb.fth cpu/arm/olpc/3.0/usb.fth cpu/arm/olpc/build-fw.fth
Modified: cpu/arm/olpc/1.75/usb.fth ============================================================================== --- cpu/arm/olpc/1.75/usb.fth Sat Dec 31 21:01:45 2011 (r2789) +++ cpu/arm/olpc/1.75/usb.fth Sat Dec 31 21:01:51 2011 (r2790) @@ -124,6 +124,11 @@ then ;
+: usb-quiet ( -- ) + detach-usb-keyboard + " /usb" " reset-usb" execute-device-method drop +; + : suspend-usb ( -- ) detach-usb-keyboard " /usb" " sleep" execute-device-method drop
Modified: cpu/arm/olpc/3.0/usb.fth ============================================================================== --- cpu/arm/olpc/3.0/usb.fth Sat Dec 31 21:01:45 2011 (r2789) +++ cpu/arm/olpc/3.0/usb.fth Sat Dec 31 21:01:51 2011 (r2790) @@ -164,6 +164,12 @@ then ;
+: usb-quiet ( -- ) + detach-usb-keyboard + " /usb@f0003000" " reset-usb" execute-device-method drop + " /usb@d4208000" " reset-usb" execute-device-method drop +; + : suspend-usb ( -- ) detach-usb-keyboard " /usb" " sleep" execute-device-method drop
Modified: cpu/arm/olpc/build-fw.fth ============================================================================== --- cpu/arm/olpc/build-fw.fth Sat Dec 31 21:01:45 2011 (r2789) +++ cpu/arm/olpc/build-fw.fth Sat Dec 31 21:01:51 2011 (r2790) @@ -361,6 +361,8 @@
fload ${BP}/cpu/arm/marvell/utmiphy.fth
+fload ${BP}/cpu/arm/linux.fth + + olpc-cl2 fload ${BP}/cpu/arm/olpc/1.75/usb.fth + olpc-cl3 fload ${BP}/cpu/arm/mmp2/ulpiphy.fth + olpc-cl3 fload ${BP}/cpu/arm/olpc/3.0/usb.fth @@ -424,19 +426,11 @@ warning on [then]
-fload ${BP}/cpu/arm/linux.fth - \ The bottom of extra-mem is the top of DMA memory. \ We give everything up to that address to Linux. : olpc-memory-limit ( -- adr ) extra-mem-va >physical ; ' olpc-memory-limit to memory-limit
-: usb-quiet ( -- ) - [ ' linux-hook behavior compile, ] \ Chain to old behavior - unload-crypto - " /usb" " reset-usb" execute-device-method drop -; - + olpc-cl2 d# 9999 to arm-linux-machine-type \ XO-1.75 + olpc-cl3 d# 10000 to arm-linux-machine-type \ XO-3
@@ -599,9 +593,10 @@ out-mux-ih close-dev ; : quiesce ( -- ) + usb-quiet teardown-mux-io timers-off - usb-quiet + unload-crypto close-ec \ Change the sleep state of EC_SPI_ACK from 1 (OFW value) to 0 (Linux value) d# 125 af@ h# 100 invert and d# 125 af!