[openfirmware] [commit] r3055 - cpu/arm/olpc/cl4

repository service svn at openfirmware.info
Thu Jul 12 22:24:46 CEST 2012


Author: wmb
Date: Thu Jul 12 22:24:46 2012
New Revision: 3055
URL: http://tracker.coreboot.org/trac/openfirmware/changeset/3055

Log:
OLPC ARM - Initial revisions of CL4 support.

Added:
   cpu/arm/olpc/cl4/
   cpu/arm/olpc/cl4/cforth-version.fth
   cpu/arm/olpc/cl4/cforth.bth
   cpu/arm/olpc/cl4/config.fth
   cpu/arm/olpc/cl4/crypto-version.fth
   cpu/arm/olpc/cl4/ec-version.fth
   cpu/arm/olpc/cl4/ec.bth
   cpu/arm/olpc/cl4/fw-version.fth
   cpu/arm/olpc/cl4/fw.bth
   cpu/arm/olpc/cl4/gpiopins.fth
   cpu/arm/olpc/cl4/leds.fth
   cpu/arm/olpc/cl4/mcastnand.bth
   cpu/arm/olpc/cl4/mcnand-version.fth
   cpu/arm/olpc/cl4/olpc.bth
   cpu/arm/olpc/cl4/prefw.bth
   cpu/arm/olpc/cl4/resetvec.bth
   cpu/arm/olpc/cl4/sd8686.bth
   cpu/arm/olpc/cl4/switches.fth
   cpu/arm/olpc/cl4/testinstructions.fth
   cpu/arm/olpc/cl4/verify.bth
   cpu/arm/olpc/cl4/wlan-version.fth

Added: cpu/arm/olpc/cl4/cforth-version.fth
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ cpu/arm/olpc/cl4/cforth-version.fth	Thu Jul 12 22:24:46 2012	(r3055)
@@ -0,0 +1,17 @@
+\ This file controls which CForth source version to include in the OFW build
+\ and the method for fetching it
+
+\ If CFORTH_VERSION is "modify", the repository will be cloned with git+ssh: so can push changes.
+\ You need ssh access to the server.
+\ macro: CFORTH_VERSION modify
+
+\ If CFORTH_VERSION is "clone", the repository will be cloned with git:.  You won't be able to
+\ push changes, but you will get the full metadata so you can use commands like git grep.
+\ You don't need ssh access to the server.
+\ macro: CFORTH_VERSION clone
+
+\ Otherwise, the source code will be will be downloaded as a tarball via gitweb.
+\ macro: CFORTH_VERSION 59859f04454bc2574ab68cf0fd76ebdbc5f26fb6
+macro: CFORTH_VERSION HEAD
+
+macro: CFORTH_BUILD_DIR cforth/build/arm-xo-cl4

Added: cpu/arm/olpc/cl4/cforth.bth
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ cpu/arm/olpc/cl4/cforth.bth	Thu Jul 12 22:24:46 2012	(r3055)
@@ -0,0 +1,7 @@
+purpose: Fetch and compile CForth for the Security Processor
+
+command: &builder &this
+build-now
+
+fload ${BP}/cpu/arm/olpc/cl4/cforth-version.fth
+fload ${BP}/cpu/arm/olpc/build-cforth.fth

Added: cpu/arm/olpc/cl4/config.fth
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ cpu/arm/olpc/cl4/config.fth	Thu Jul 12 22:24:46 2012	(r3055)
@@ -0,0 +1,30 @@
+create debug-startup
+create olpc
+create olpc-cl4
+create trust-ec-keyboard
+create use-null-nvram
+create use-elf
+create has-sp-kbd
+create has-dcon
+
+fload ${BP}/cpu/arm/mmp2/hwaddrs.fth
+fload ${BP}/cpu/arm/olpc/addrs.fth
+
+h# 1f.0000 constant mfg-data-offset     \ Offset to manufacturing data area in SPI FLASH
+h# 10.0000 constant mfg-data-end-offset \ Offset to end of manufacturing data area in SPI FLASH
+h# 1e.ffd8 constant crc-offset
+
+h# 20.0000 constant /rom           \ Total size of SPI FLASH
+
+: signature$   " CL4"  ;
+: model$       " olpc,XO-CL4"  ;
+: compatible$  " olpc,xo-cl4"  ;
+
+d# 10001 constant machine-type  \ Backwards compatibility with non-device-tree kernel
+
+char 5 constant expected-ec-version
+h# 10000 value /ec-flash
+
+h# 20000 constant l2-#sets
+
+fload ${BP}/cpu/arm/olpc/cl4/gpiopins.fth

Added: cpu/arm/olpc/cl4/crypto-version.fth
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ cpu/arm/olpc/cl4/crypto-version.fth	Thu Jul 12 22:24:46 2012	(r3055)
@@ -0,0 +1,6 @@
+\ The public keys
+macro: KEYS mpkeys
+\ macro: KEYS testkeys
+
+\ The bios_verify image
+macro: CRYPTO_VERSION 0.5-ARM

Added: cpu/arm/olpc/cl4/ec-version.fth
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ cpu/arm/olpc/cl4/ec-version.fth	Thu Jul 12 22:24:46 2012	(r3055)
@@ -0,0 +1,9 @@
+\ The EC microcode
+macro: EC_PLATFORM cl4
+macro: EC_VERSION 6_0_0_00
+
+\ Alternate command for getting EC microcode, for testing new versions.
+\ Temporarily uncomment the line and modify the path as necessary
+\ macro: GET_EC cp ~rsmith/olpc/ec/ec-code15/image/ecimage.bin ec.img
+\ macro: GET_EC wget -q http://dev.laptop.org/pub/ec/ec_test.img -O ec.img
+\ macro: GET_EC cp no_event.bin ec.img

Added: cpu/arm/olpc/cl4/ec.bth
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ cpu/arm/olpc/cl4/ec.bth	Thu Jul 12 22:24:46 2012	(r3055)
@@ -0,0 +1,7 @@
+purpose: Fetch the EC (Embedded Controller, i.e. KB3700) microcode
+
+command: &builder &this
+build-now
+
+fload ${BP}/cpu/arm/olpc/cl4/ec-version.fth
+fload ${BP}/cpu/arm/olpc/fetch-ec.fth

Added: cpu/arm/olpc/cl4/fw-version.fth
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ cpu/arm/olpc/cl4/fw-version.fth	Thu Jul 12 22:24:46 2012	(r3055)
@@ -0,0 +1,4 @@
+\ The overall firmware revision
+macro: FW_PREFIX Q5
+macro: FW_MAJOR A
+macro: FW_MINOR 00ma

Added: cpu/arm/olpc/cl4/fw.bth
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ cpu/arm/olpc/cl4/fw.bth	Thu Jul 12 22:24:46 2012	(r3055)
@@ -0,0 +1,41 @@
+purpose: Build OFW Forth dictionary for OLPC CL4
+\ See license at end of file
+
+dictionary: ${BP}/cpu/arm/olpc/cl4/build/prefw.dic
+command: &armforth &dictionary &this
+build-now
+
+" fw.tag" r/w create-file drop  tag-file !
+
+fload ${BP}/cpu/arm/olpc/build-fw.fth
+
+dev /sd
+   new-device
+   4 encode-int "reg" property
+   fload ${BP}/dev/mmc/sdhci/sdmmc.fth
+   fload ${BP}/dev/mmc/sdhci/selftest.fth
+   " internal" " slot-name" string-property
+   finish-device
+device-end
+
+devalias int     /sd/disk at 3
+devalias ext     /sd/disk at 2
+devalias int-sd  /sd/disk at 5
+devalias emmc    /sd/disk at 5
+
+stand-init:
+   boot-dev-sel-gpio# gpio-pin@  0=  if
+      " int" " /sd/disk at 5"  $devalias
+   then
+;
+
+fload ${BP}/cpu/arm/olpc/1.75/lcdcfg.fth
+fload ${BP}/cpu/arm/olpc/1.75/usb.fth
+fload ${BP}/cpu/arm/olpc/nn-touchscreen.fth
+fload ${BP}/cpu/arm/olpc/cl4/switches.fth
+fload ${BP}/cpu/arm/olpc/cl4/leds.fth
+fload ${BP}/cpu/arm/olpc/cl4/testinstructions.fth
+fload ${BP}/cpu/arm/olpc/gpio-gamekeys.fth
+fload ${BP}/cpu/arm/olpc/test-tweaks.fth
+
+fload ${BP}/cpu/arm/olpc/save-fw.fth

Added: cpu/arm/olpc/cl4/gpiopins.fth
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ cpu/arm/olpc/cl4/gpiopins.fth	Thu Jul 12 22:24:46 2012	(r3055)
@@ -0,0 +1,69 @@
+\ GPIO pin assignments - XO-CL4
+
+d# 165 constant cam-scl-gpio#
+d# 166 constant cam-sda-gpio#
+
+d# 102 constant cam-rst-gpio#
+d# 150 constant cam-pwr-gpio#
+
+d#  46 constant spi-flash-cs-gpio#
+
+d# 155 constant ec-spi-cmd-gpio#
+d# 113 constant ec-spi-ack-gpio#
+
+d# 167 constant dcon-scl-gpio#
+d# 168 constant dcon-sda-gpio#
+
+d# 126 constant dcon-irq-gpio#
+d# 142 constant dcon-load-gpio#
+
+d#  34 constant en-wlan-pwr-gpio#
+d#  35 constant wlan-pd-gpio#
+d#  36 constant wlan-reset-gpio#
+
+d# 148 constant usb-hub-reset-gpio#
+
+d#  97 constant en-emmc-pwr-gpio#
+d# 144 constant emmc-rst-gpio#
+
+d#  73 constant sec-trg-gpio#
+
+d#  53 constant rtc-scl-gpio#
+d#  54 constant rtc-sda-gpio#
+
+d# 104 constant ec-edi-cs-gpio#
+d# 105 constant ec-edi-mosi-gpio#
+d# 106 constant ec-edi-clk-gpio#
+
+d#   2 constant boot-dev-sel-gpio#
+
+d# 143 constant mic-ac/dc-gpio#
+d#   8 constant audio-reset-gpio#
+d#  13 constant hp-plug-gpio#
+
+d#  10 constant led-storage-gpio#
+d# 123 constant vid2-gpio#
+
+d# 160 constant soc-tpd-clk-gpio#
+d# 107 constant soc-tpd-dat-gpio#
+
+d#  71 constant soc-kbd-clk-gpio#
+d#  72 constant soc-kbd-dat-gpio#
+
+d# 129 constant lid-switch-gpio#
+d# 130 constant ebook-mode-gpio#
+
+d#  97 constant en-emmc-pwr-gpio#
+
+d#   4 constant hdmi-scl-gpio#
+d#   5 constant hdmi-sda-gpio#
+d#  14 constant hdmi-hp-det-gpio#
+
+d#  12 constant touch-hd-gpio#
+d# 139 constant touch-tck-gpio#
+d#  98 constant touch-rst-gpio#
+
+d#   3 constant soc-sel-gpio#
+
+d#  15 constant rotate-gpio#
+d#  17 constant check-gpio#

Added: cpu/arm/olpc/cl4/leds.fth
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ cpu/arm/olpc/cl4/leds.fth	Thu Jul 12 22:24:46 2012	(r3055)
@@ -0,0 +1,53 @@
+\ See license at end of file
+purpose: Driver/selftest for OLPC XO-1.75 LEDs
+
+0 0  " 0"  " /" begin-package
+0 0 reg  \ So test-all will run the test
+" leds" device-name
+: open  ( -- okay? )  true  ;
+: close  ( -- )  ;
+
+: hdd-led-off     ( -- )  led-storage-gpio# gpio-clr  ;
+: hdd-led-on      ( -- )  led-storage-gpio# gpio-set  ;
+: hdd-led-toggle  ( -- )  led-storage-gpio# gpio-pin@  if  hdd-led-off  else  hdd-led-on  then  ;
+
+: selftest  ( -- )
+    ." Flashing LEDs" cr
+
+   d# 10 0 do  ols-led-on d# 200 ms ols-led-off d# 200 ms  loop
+   ols-led-ec-control
+   ols-assy-mode-on
+
+   " /wlan:quiet" test-dev  " /wlan:quiet" test-dev  \ Twice for longer flashing
+
+   d# 20 0 do  hdd-led-on d# 100 ms hdd-led-off d# 100 ms  loop
+   ols-assy-mode-off
+
+   confirm-selftest?
+;
+
+end-package
+
+\ LICENSE_BEGIN
+\ Copyright (c) 2011 FirmWorks
+\ 
+\ Permission is hereby granted, free of charge, to any person obtaining
+\ a copy of this software and associated documentation files (the
+\ "Software"), to deal in the Software without restriction, including
+\ without limitation the rights to use, copy, modify, merge, publish,
+\ distribute, sublicense, and/or sell copies of the Software, and to
+\ permit persons to whom the Software is furnished to do so, subject to
+\ the following conditions:
+\ 
+\ The above copyright notice and this permission notice shall be
+\ included in all copies or substantial portions of the Software.
+\ 
+\ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+\ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+\ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+\ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+\ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+\ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+\ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+\
+\ LICENSE_END

Added: cpu/arm/olpc/cl4/mcastnand.bth
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ cpu/arm/olpc/cl4/mcastnand.bth	Thu Jul 12 22:24:46 2012	(r3055)
@@ -0,0 +1,7 @@
+purpose: Fetch and compile the multicast NAND reflash program
+
+command: &builder &this
+build-now
+
+fload ${BP}/cpu/arm/olpc/cl4/mcnand-version.fth
+fload ${BP}/cpu/arm/olpc/build-mcnand.fth

Added: cpu/arm/olpc/cl4/mcnand-version.fth
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ cpu/arm/olpc/cl4/mcnand-version.fth	Thu Jul 12 22:24:46 2012	(r3055)
@@ -0,0 +1,8 @@
+\ The multicast NAND updater code version
+\ Use a specific git commit ID for a formal release or "test" for development.
+\ With a specific ID, mcastnand.bth will download a tarball without .git stuff.
+\ With "test", mcastnand.bth will clone the git head if build/multicast-nand/
+\ is not already present, then you can modify the git subtree as needed.
+macro: MCNAND_VERSION e9c0662
+\ macro: MCNAND_VERSION test
+\ macro: MCNAND_VERSION HEAD

Added: cpu/arm/olpc/cl4/olpc.bth
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ cpu/arm/olpc/cl4/olpc.bth	Thu Jul 12 22:24:46 2012	(r3055)
@@ -0,0 +1,220 @@
+purpose: Construct the Open Firmware module collection
+
+command: &builder &this
+\ in: ${BP}/cpu/arm/olpc/cl4/build/ec.img
+in: ${BP}/cpu/arm/olpc/cl4/build/fw.img
+in: ${BP}/cpu/arm/olpc/cl4/build/resetvec.img
+in: ${BP}/cpu/arm/olpc/cl4/build/mcastnand.bin
+in: sd8686.bin
+in: verify.img
+in: ${BP}/dev/usb2/device/hub/build/hub.fc
+in: ${BP}/dev/usb2/device/generic/build/generic.fc
+in: ${BP}/dev/usb2/device/net/build/usbnet.fc
+in: ${BP}/dev/usb2/device/keyboard/build/usbkbd.fc
+in: ${BP}/dev/usb2/device/mouse/build/usbmouse.fc
+in: ${BP}/dev/usb2/device/serial/build/usbserial.fc
+in: ${BP}/dev/usb2/device/storage/build/usbstorage.fc
+in: testicons.bin
+in: ${BP}/clients/emacs/arm/emacs
+in: cforth.img
+build-now
+
+fload ${BP}/cpu/arm/olpc/cl4/fw-version.fth
+
+" macro: FW_VERSION ${FW_PREFIX}${FW_MAJOR}${FW_MINOR}" expand$ eval
+
+fload ${BP}/cpu/arm/olpc/cl4/config.fth
+
+\ Always re-create the builton.fth file when we make a new rom.img
+fload ${BP}/cpu/x86/pc/builton.bth
+fload ${BP}/cpu/arm/olpc/sourceurl.fth
+
+fload ${BP}/forth/lib/crc32.fth
+
+hex
+
+: pad-file  ( location -- )
+   ofd @ fsize
+   2dup u< abort" The ROM image is too large"
+   ?do  h# ff ofd @ fputc  loop
+;
+
+fload ${BP}/cpu/arm/marvell/tim.fth
+
+\ Marvel Trusted Image Module image creation script for
+\ XO-CL4 platform.
+
+tim: 00030400 0 OLPC PXA212x
+flash: SPI'10
+timh:  TIMH        0 d101f000
+\ Main Processor code loaded into DRAM
+image: OBMI      800 d101c000 ${BP}/cpu/arm/olpc/dummy.img
+\ Secure Processor code loaded into SRAM
+image: WTMI     1000 d1018000 shim.img
+image: CFTH     2000 d1000000 cforth.img
+reserved:
+  term:
+end-reserved
+end-tim
+
+h# 20.0000 to reserved-start
+h# 20.0000 to reserved-end
+
+.( --- Saving as )
+" ${FW_VERSION}.rom" expand$  2dup lower  ( adr len )
+2dup type cr  ( adr len )
+$new-file
+   tim$ ofd @ fputs
+
+   dropin-offset  pad-file
+
+\ Loads the set of drivers that is common to different output formats
+
+   " ${BP}/cpu/arm/build/inflate.bin"        " inflate"         $add-dropin
+   " fw.img"   " firmware"  $add-deflated-dropin
+\   " fw.img"   " firmware"  $add-dropin
+   " resetvec.img"  " reset" $add-dropin
+
+\   " ${BP}/dev/usb2/hcd/ehci/build/ehci.fc"	" class0c0320"      $add-deflated-dropin
+   " ${BP}/dev/usb2/device/hub/build/hub.fc"     " usb,class9"      $add-deflated-dropin
+   " ${BP}/dev/usb2/device/generic/build/generic.fc"  " usbdevice"  $add-deflated-dropin
+   " ${BP}/dev/usb2/device/net/build/usbnet.fc"       " usbnet"     $add-deflated-dropin
+   " ${BP}/dev/usb2/device/keyboard/build/usbkbd.fc" " usb,class3,1,1" $add-deflated-dropin
+   " ${BP}/dev/usb2/device/mouse/build/usbmouse.fc"  " usb,class3,1,2" $add-deflated-dropin
+   " ${BP}/dev/usb2/device/serial/build/usbserial.fc" " usbserial"  $add-deflated-dropin
+   " ${BP}/dev/usb2/device/storage/build/usbstorage.fc" " usbstorage"   $add-deflated-dropin
+
+   " sd8686_helper.bin"                          " helper_sd.bin" $add-deflated-dropin
+   " sd8686.bin"                                 " sd8686.bin"    $add-deflated-dropin
+
+   " builton.fth"                       " probe-"          $add-dropin
+
+0 [if]
+   " ${BP}/clients/emacs/x86/emacs"             " emacs"         $add-deflated-dropin
+   " ${BP}/clients/emacs/x86/emacs.rc"          " emacs.rc"      $add-deflated-dropin
+   " ${BP}/clients/emacs/emacs.hlp"             " emacs.hlp"     $add-deflated-dropin
+[then]
+
+   " ${BP}/ofw/inet/telnetd.fth"          " telnetd"             $add-deflated-dropin
+
+\    " ${BP}/cpu/x86/pc/olpc/images/warnings.565"  " warnings.565"  $add-deflated-dropin
+   " ${BP}/cpu/x86/pc/olpc/images/lightdot.565"  " lightdot.565"  $add-deflated-dropin
+   " ${BP}/cpu/x86/pc/olpc/images/yellowdot.565" " yellowdot.565" $add-deflated-dropin
+   " ${BP}/cpu/x86/pc/olpc/images/darkdot.565"   " darkdot.565"   $add-deflated-dropin
+   " ${BP}/cpu/x86/pc/olpc/images/lock.565"      " lock.565"      $add-deflated-dropin
+   " ${BP}/cpu/x86/pc/olpc/images/unlock.565"    " unlock.565"    $add-deflated-dropin
+   " ${BP}/cpu/x86/pc/olpc/images/plus.565"      " plus.565"      $add-deflated-dropin
+   " ${BP}/cpu/x86/pc/olpc/images/minus.565"     " minus.565"     $add-deflated-dropin
+   " ${BP}/cpu/x86/pc/olpc/images/x.565"         " x.565"         $add-deflated-dropin
+   " ${BP}/cpu/x86/pc/olpc/images/sad.565"       " sad.565"       $add-deflated-dropin
+   " ${BP}/cpu/x86/pc/olpc/images/bigdot.565"    " bigdot.565"    $add-deflated-dropin
+
+   " ${BP}/cpu/x86/pc/olpc/images/check.565"    " check.565"     $add-deflated-dropin
+   " ${BP}/cpu/x86/pc/olpc/images/xogray.565"   " xogray.565"    $add-deflated-dropin
+   " ${BP}/cpu/x86/pc/olpc/images/ethernet.565" " ethernet.565"  $add-deflated-dropin
+   " ${BP}/cpu/x86/pc/olpc/images/usbkey.565"   " disk.565"      $add-deflated-dropin
+   " ${BP}/cpu/x86/pc/olpc/images/wireless.565" " wlan.565"      $add-deflated-dropin
+   " ${BP}/cpu/x86/pc/olpc/images/laptop.565"   " int.565"       $add-deflated-dropin
+   " ${BP}/cpu/x86/pc/olpc/images/sd.565"       " ext.565"       $add-deflated-dropin
+
+   " verify.img"                                " verify"        $add-deflated-dropin
+   " os.public"                                 " ospubkey"      $add-dropin \ Incompressible
+   " fw.public"                                 " fwpubkey"      $add-dropin \ Incompressible
+   " fs.public"                                 " fspubkey"      $add-dropin \ Incompressible
+   " lease.public"                              " leasepubkey"   $add-dropin \ Incompressible
+   " developer.public"                          " develpubkey"   $add-dropin \ Incompressible
+
+   " sourceurl"   " sourceurl"                    $add-dropin
+
+   " ${BP}/cpu/x86/pc/olpc/images/Edge1-8k-EQ-Comp-Amp-Short.wav"  " splash"   $add-deflated-dropin
+
+   \ icons for mfg test gui
+   " testicons/play.565"        " play.565"     $add-deflated-dropin
+   " testicons/quit.565"        " quit.565"     $add-deflated-dropin
+   " testicons/cpu.565"         " cpu.565"      $add-deflated-dropin
+   " testicons/spi.565"         " spi.565"      $add-deflated-dropin
+   " testicons/ram.565"         " ram.565"      $add-deflated-dropin
+   " testicons/sdcard.565"      " sdcard.565"   $add-deflated-dropin
+   " testicons/keyboard.565"    " keyboard.565" $add-deflated-dropin
+   " testicons/display.565"     " display.565"  $add-deflated-dropin
+   " testicons/touchpad.565"    " touchpad.565" $add-deflated-dropin
+   " testicons/audio.565"       " audio.565"    $add-deflated-dropin
+   " testicons/usb.565"         " usb.565"      $add-deflated-dropin
+   " testicons/battery.565"     " battery.565"  $add-deflated-dropin
+   " testicons/camera.565"      " camera.565"   $add-deflated-dropin
+   " testicons/wifi.565"        " wifi.565"     $add-deflated-dropin
+   " testicons/clock.565"       " clock.565"    $add-deflated-dropin
+   " testicons/timer.565"       " timer.565"    $add-deflated-dropin
+   " ${BP}/cpu/x86/pc/olpc/images/bigx.di"      $add-file
+   " ${BP}/cpu/x86/pc/olpc/images/bigcheck.di"  $add-file
+   " ${BP}/cpu/x86/pc/olpc/images/leds.di"      $add-file
+   " ${BP}/cpu/x86/pc/olpc/images/ebook.di"     $add-file
+
+   " nandblaster15_rx.bin" " nb15_rx"  $add-deflated-dropin
+   " nandblaster_tx.bin"   " nb_tx"    $add-deflated-dropin
+
+\    " ec.img"                                     " ecimage.bin"    $add-deflated-dropin
+   " ${BP}/clients/emacs/x86/emacs.rc"          " emacs.rc"      $add-deflated-dropin
+   " ${BP}/clients/emacs/emacs.hlp"             " emacs.hlp"     $add-deflated-dropin
+   " ${BP}/clients/emacs/arm/emacs"             " emacs"         $add-deflated-dropin
+
+.( Dropin top is )  ofd @ fsize  .x cr
+
+/rom pad-file
+
+\ Insert the revision signature
+/rom h# 40 - ofd @ fseek
+h# 10 buffer: signature
+signature h# 10 blank
+signature$  signature  swap move
+" ${FW_VERSION}" expand$  signature     6 + swap move
+" ${FW_PREFIX}${FW_MAJOR}" expand$  signature d# 13 + swap move
+signature h# 10  ofd @ fputs
+
+/l buffer: crcbuf
+/rom buffer: filebuf
+
+\ Read the entire image, compute the CRC, and store it h# 28 from the end
+0 ofd @ fseek
+filebuf /rom ofd @ fgets /rom <> abort" Can't read back image"
+0 crctab  filebuf /rom  ($crc)  crcbuf !
+
+crc-offset ofd @ fseek
+crcbuf /l ofd @ fputs
+
+ofd @ fclose
+
+\ Creating olpc.version serves two purposes:
+\ a) It reports the firmware revision for use by external scripts
+\ b) It provides an olpc.* artifact for the builder dependency management.
+
+writing olpc.version
+" ${FW_VERSION}" expand$  2dup lower  ofd @ fputs
+ofd @ fclose
+
+
+
+\ LICENSE_BEGIN
+\ Copyright (c) 2010 FirmWorks
+\ 
+\ Permission is hereby granted, free of charge, to any person obtaining
+\ a copy of this software and associated documentation files (the
+\ "Software"), to deal in the Software without restriction, including
+\ without limitation the rights to use, copy, modify, merge, publish,
+\ distribute, sublicense, and/or sell copies of the Software, and to
+\ permit persons to whom the Software is furnished to do so, subject to
+\ the following conditions:
+\ 
+\ The above copyright notice and this permission notice shall be
+\ included in all copies or substantial portions of the Software.
+\ 
+\ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+\ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+\ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+\ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+\ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+\ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+\ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+\
+\ LICENSE_END
+

Added: cpu/arm/olpc/cl4/prefw.bth
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ cpu/arm/olpc/cl4/prefw.bth	Thu Jul 12 22:24:46 2012	(r3055)
@@ -0,0 +1,13 @@
+purpose: Build OFW Forth dictionary for OLPC XO-1.75
+\ See license at end of file
+
+dictionary: ${BP}/cpu/arm/build/basefw.dic
+command: &armforth &dictionary &this
+build-now
+
+\ This line must be in this file instead of in prefw.fth so the definitions
+\ in config.fth will be tagged.
+" prefw.tag" r/w create-file drop  tag-file !
+
+fload ${BP}/cpu/arm/olpc/cl4/config.fth
+fload ${BP}/cpu/arm/olpc/prefw.fth

Added: cpu/arm/olpc/cl4/resetvec.bth
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ cpu/arm/olpc/cl4/resetvec.bth	Thu Jul 12 22:24:46 2012	(r3055)
@@ -0,0 +1,7 @@
+purpose: Build script for low-level startup code
+
+command: &builder &this
+build-now
+
+fload ${BP}/cpu/arm/olpc/cl4/config.fth
+fload ${BP}/cpu/arm/olpc/resetvec.fth

Added: cpu/arm/olpc/cl4/sd8686.bth
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ cpu/arm/olpc/cl4/sd8686.bth	Thu Jul 12 22:24:46 2012	(r3055)
@@ -0,0 +1,8 @@
+purpose: Fetch the firmware for the Marvell 8686 wireless LAN module
+
+command: &builder &this
+build-now
+
+fload ${BP}/cpu/arm/olpc/cl4/wlan-version.fth
+
+fload ${BP}/cpu/arm/olpc/build-wlan.fth

Added: cpu/arm/olpc/cl4/switches.fth
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ cpu/arm/olpc/cl4/switches.fth	Thu Jul 12 22:24:46 2012	(r3055)
@@ -0,0 +1,64 @@
+\ See license at end of file
+purpose: Driver/selftest for OLPC lid and ebook switches
+
+0 0  " 0"  " /" begin-package
+" switches" device-name
+0 0 reg  \ So test-all will run the test
+: open  ( -- okay? )  true  ;
+: close  ( -- )  ;
+: lid?    ( -- flag )  d# 129 gpio-pin@  0=  ;
+: ebook?  ( -- flag )  d# 130 gpio-pin@  0=  ;
+
+: ?key-abort  ( -- )  key?  if  key esc =  abort" Aborted"  then  ;
+: wait-not-lid  ( -- )
+   ." Deactivate lid switch" cr
+   begin  ?key-abort  lid? 0=  until
+;
+: wait-lid  ( -- )
+   ." Activate lid switch" cr
+   begin  ?key-abort  lid? until
+;
+: wait-not-ebook  ( -- )
+   ." Deactivate ebook switch" cr
+   begin  ?key-abort  ebook? 0=  until
+;
+: wait-ebook  ( -- )
+   ." Activate ebook switch" cr
+   begin  ?key-abort  ebook? until
+;
+
+: all-switch-states  ( -- )
+   lid?  if  wait-not-lid  else  wait-lid  then
+   ebook?  if  wait-not-ebook  else  wait-ebook  then
+;
+
+: selftest  ( -- error? )
+   ['] all-switch-states catch
+;
+
+fload ${BP}/dev/olpc/lid.fth
+end-package
+
+\ LICENSE_BEGIN
+\ Copyright (c) 2011 FirmWorks
+\ 
+\ Permission is hereby granted, free of charge, to any person obtaining
+\ a copy of this software and associated documentation files (the
+\ "Software"), to deal in the Software without restriction, including
+\ without limitation the rights to use, copy, modify, merge, publish,
+\ distribute, sublicense, and/or sell copies of the Software, and to
+\ permit persons to whom the Software is furnished to do so, subject to
+\ the following conditions:
+\ 
+\ The above copyright notice and this permission notice shall be
+\ included in all copies or substantial portions of the Software.
+\ 
+\ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+\ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+\ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+\ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+\ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+\ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+\ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+\
+\ LICENSE_END

Added: cpu/arm/olpc/cl4/testinstructions.fth
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ cpu/arm/olpc/cl4/testinstructions.fth	Thu Jul 12 22:24:46 2012	(r3055)
@@ -0,0 +1,553 @@
+\ See license at end of file
+purpose: Drawings of OLPC XO-1.75 board and components for test instructions
+
+support-package: test-instructions
+
+decimal
+
+\ Common items
+
+\ FIXME: these might be shared between XO-1.5 and XO-1.75
+
+: headphones-logo
+   24 5 rmove  -6 0  -10 6  -10 13 rcurve
+   10 -13 rmove  6 0  10 6  10 13 rcurve
+   -16 4 rmove  -2 0  -3 -1  -3 -2 rcurve  0 -3  1 -3  3 -3 rcurve  0 5 rline
+   12 -5 rmove  2 0  3 0  3 2  rcurve  0 3  -1 3  -3 3 rcurve  0 -5 rline
+;
+
+: led-symbol  ( x y -- )
+   moveto  5 5 rline  5 -5 rline  -5 -5 rline  -5 5 rline
+;
+: usb-logo
+   14 11  rmove
+   1 1  1 3  0 4  rcurve
+   -1 1  -2 1  -3 0  rcurve
+   -1 -1  -1 -3  0 -4  rcurve
+   1 -1  2 -1  3 0  rcurve
+
+   10 -4  rmove
+   1 -1  1 -2  0 -2  rcurve
+   0 -1  -1 -1  -1 0  rcurve
+   0 0  0 1  0 2  rcurve
+   0 0  1 0  1 0  rcurve
+
+   -12 6  rmove  18 0  rline
+   5 0  rmove   -5 -2  rline  0 4  rline  5 -2  rline
+   -7 6  rmove   2 0  rline  0 3  rline  -2 0  rline  0 -3  rline
+   -11 -6  rmove
+   1 -2  2 -5  3 -6  rcurve
+   1 -2  2 -1  3 -1  rcurve
+
+   -2 7  rmove
+   2 2  2 5  4 7  rcurve
+   1 1  3 0  5 0  rcurve
+;
+: mic-logo
+   -4 0  -6 -3  -6 -5  rcurve
+   6 5  rmove   3 0  6 -3  6 -5  rcurve
+   -4 -8  rmove
+   0  8  rline  0  1  -1  2  -2  2  rcurve  -1 0  -2 -1  -2 -2  rcurve
+   0 -8  rline  0 -1   1 -2   2 -2  rcurve   1 0   2  1   2  2  rcurve
+   -2 13  rmove  0 3  rline   3 0  rmove  -7 0  rline
+;
+
+\ Board bottom items
+
+: rantenna  ( -- )
+   -5 -5 rmove  10 10 rbox  5 5 rmove  rpoint  5 rcircle
+;
+: wlan-card
+   122 6  75 74 boxat
+   10  9 rmove  rantenna
+   55  0 rmove  rantenna
+;
+
+: board-outline
+    ( lower left corner  )   2  370 moveto
+    ( left side cutout   )   0 -117 rline    9    0 rline
+                             0  -17 rline   -5    0 rline
+    ( upper left corner  )   0 -199 rline
+    ( wireless cutout    )  54    0 rline    0  -37 rline   54    0 rline
+                             0   96 rline   91    0 rline    0  -96 rline
+                           319    0 rline    0   37 rline
+    ( upper right corner )  56    0 rline
+    ( right side cutout  )   0  127 rline  -11    0 rline    0   43 rline
+                             7    0 rline    0   35 rline   -7    0 rline
+                             0   17 rline   11    0 rline
+    ( lower right corner )   0  111 rline
+    ( lower cutout       ) -85    0 rline    0   -4 rline  -49    0 rline
+                             0  -13 rline  -23    0 rline    0  -17 rline
+                           -27    0 rline    0 -105 rline -213    0 rline
+                             0  102 rline  -28    0 rline    0   16 rline
+                           -23    0 rline    0   17 rline  -37    0 rline
+                             0    4 rline
+    ( lower left corner  ) -93    0 rline
+;
+
+: mic-conn
+  535 52  45 28 boxat
+  24 20 rmove  mic-logo
+  580 58   8 16 boxat
+;
+: headphone-conn
+  535 90  45 28 boxat
+  headphones-logo
+  580 96   8 16 boxat
+;
+: ac-conn  553 306  36 27 boxat  ;
+: ext-sd-slot  2 280  81 90 boxat ;
+: kbd-conn   165 300  12 23 boxat  ;
+
+: ext-sd-card
+    9 293 moveto
+    9 379 lineto  76 379 lineto  76 304 lineto  65 293 lineto  9 293 lineto
+;
+
+: usb0-conn
+   537 126  45 27 boxat
+   usb-logo
+;
+: usb1-conn
+   0 54  45 27 boxat
+   usb-logo
+;
+: usb2-conn
+   0 99  45 45 boxat
+   0 9 rmove  usb-logo
+;
+: battery-conn
+   435 321  25 20 boxat
+   435 299  10 12 boxat
+;
+
+: led0  103 356 led-symbol  ;
+: led1  119 356 led-symbol  ;
+: led2  454 356 led-symbol  ;
+: led3  474 356 led-symbol  ;
+: cmos-battery-conn
+   259  47  12 18 boxat
+   261  43   8  4 boxat
+   261  65   8  4 boxat
+;
+
+\ FIXME: find out where this is to go for A2
+: cmos-battery
+   262 60  22 circleat
+   \ Wires
+   243 71 moveto
+     238  75   228  81   229  86 curveto
+     229  90   242  99   249 100 curveto
+     255 100   262  89   269  89 curveto
+     275  89   280 100   286 100 curveto
+     292 100   297  93   303  90 curveto
+   247 76 moveto
+     241  81   231  89   229  93 curveto
+     226  96   230  99   234  99 curveto
+     237  99   244  90   250  91 curveto
+     255  91   261 101   268 101 curveto
+     274 100   280  90   286  90 curveto
+     292  90   298  96   304  99 curveto
+;
+
+: rspkr-conn
+   20 153  18 16 boxat
+   16 157  4 8 boxat
+   38 157  4 8 boxat
+;
+: lspkr-conn
+   544 170  18 16 boxat
+   540 174  4 8 boxat
+   562 174  4 8 boxat
+;
+
+: wlan-conn  109 75  101 28 boxat ;
+
+: serial-conn
+   71 46  18 27 boxat
+   75 42  8 4 boxat
+   75 73  8 4 boxat
+
+   519 154  22 12 boxat
+
+;
+
+: int-sd-slot  115 143 32 37 boxat  ;
+
+: int-sd-card
+    101 146 moveto  43 0 rline  0 27 rline  -13 0 rline  -5 4 rline
+    -5 0 rline  0 -4 rline  -4 0 rline  -2 4 rline  -15 0 rline  0 -31 rline
+;
+
+: basic-layout  ( -- )
+   clear-drawing
+   d# 10 d# 20 offsetat
+   double-drawing
+;
+: draw-board  ( -- )
+   basic-layout
+   board-outline
+   mic-conn
+   headphone-conn
+   ac-conn
+   ext-sd-slot
+   kbd-conn
+   usb0-conn
+   usb1-conn
+   usb2-conn
+   battery-conn
+   led0  led1  led2  led3
+   cmos-battery-conn
+   cmos-battery
+   rspkr-conn
+   lspkr-conn
+   wlan-conn
+   serial-conn
+   int-sd-slot
+
+   wlan-card
+   int-sd-card
+   ext-sd-card
+;
+
+\ Board top items
+\ FIXME: still has XO-1.5 image, yet to update for XO-1.75
+
+: button-symbol  ( x y -- )
+   2dup  18 18 boxat
+   swap 9 +  swap 9 +  6 circleat
+;
+
+: top-outline
+    584 370 moveto
+    0 -117 rline -9 0 rline 0 -17 rline 5 0 rline 0 -199 rline -54 0 rline
+    0 -37 rline -54 0 rline 0 96 rline -91 0 rline 0 -96 rline -319 0 rline
+    0 37 rline -56 0 rline 0 127 rline 11 0 rline 0 43 rline -7 0 rline
+    0 35 rline 7 0 rline 0 17 rline -11 0 rline 0 111 rline 85 0 rline
+    0 -4 rline 49 0 rline 0 -13 rline 23 0 rline 0 -17 rline 27 0 rline
+    0 -105 rline 213 0 rline 0 102 rline 28 0 rline 0 16 rline 23 0 rline
+    0 17 rline 37 0 rline 0 4 rline 93 0 rline
+;
+
+: headphones-top
+   2 95   7 18  boxat
+   9 91  45 28  boxat
+   headphones-logo
+;
+: mic-top
+   9 54  45 28  boxat
+   24 20 rmove  mic-logo
+   2 59   7 18  boxat
+;
+: acin  0 307  36 27  boxat  ;
+: int-mic-conn
+   70 146  18 18  boxat
+   28 15 rmove  mic-logo
+;
+: usb0
+   7 128  45 27  boxat
+   usb-logo
+;
+: usb1
+   543 55  45 27  boxat
+   usb-logo
+;
+: usb2
+   543 100  45 45  boxat
+   0 9 rmove  usb-logo
+;
+: display-conn  252 1  89 18  boxat  ;
+: camera-conn  540 154  36 18  boxat  ;
+: backlight-conn  63 46  27 17  boxat  ;
+: above-int-mic-conn
+   79 87  18 27  boxat
+   81 82  9 5  boxat
+   81 114  9 5  boxat
+;
+: pwr-but  543 338  button-symbol  ;
+: rotate-but  30 338  button-symbol  ;
+: up-but  37 237  button-symbol  ;
+: down-but  37 278  button-symbol  ;
+: left-but  14 258  button-symbol  ;
+: right-but  57 258  button-symbol  ;
+: o-but  543 239  button-symbol  ;
+: x-but
+   543 279  18 18  boxat
+   548 283 moveto 557 292 lineto 548 292 moveto 557 283 lineto 
+;
+: square-but
+   521 260  18 18  boxat
+   525 264 moveto 534 264 lineto 534 273 lineto 525 273 lineto 525 264 lineto 
+;
+: check-but
+   564 259  18 18  boxat
+   570 269 moveto 573 273 lineto 578 263 lineto 
+;
+: led0-top  518 348  led-symbol  ;
+: led1-top  491 348  led-symbol  ;
+: led2-top  72 348  led-symbol  ;
+: led3-top  99 348  led-symbol  ;
+: mic-led  31 45   led-symbol  ;
+: camera-led  569 45  led-symbol  ;
+: wlan-conn-top  374 76  104 27  boxat  ;
+: wlan-card-top  389 7  75 75  boxat  ;
+: ext-sd-slot-top  497 360  81 9  boxat  ;
+: ext-sd-card-top
+   504 369 moveto  0 -75 rline  11 -11 rline  56 0 rline  0 86 rline  -67 0 rline
+;
+: draw-top  ( -- )
+   basic-layout
+
+   top-outline
+   headphones-top
+   mic-top
+   acin
+   int-mic-conn
+   usb0 usb1 usb2
+   display-conn
+   camera-conn
+   backlight-conn
+   above-int-mic-conn
+   pwr-but
+   rotate-but
+   up-but
+   down-but
+   left-but
+   right-but
+   o-but
+   x-but
+   square-but
+   check-but
+   led0-top
+   led1-top
+   led2-top
+   led3-top
+   mic-led
+   camera-led
+   wlan-conn-top
+   wlan-card-top
+   ext-sd-slot-top
+;
+
+: usb-key  ( -- )
+   95 155 moveto  130 165 lineto 130 155 lineto  95 145 lineto 95 155 lineto
+   130 155 moveto 150 140 lineto 150 150 lineto  130 165 lineto
+   150 140 moveto 115 130 lineto 95 145 lineto
+   146 153 moveto 155 155 lineto 155 135 lineto 110 122 lineto 110 133 lineto
+   110 122 moveto 110 122  171 67  197 54 curveto  229 38 295 42 155 135 curveto
+   155 156 moveto 218 111  229 100 241 81 curveto  248 65 239 51 239 51 curveto
+;
+
+: scanner  ( -- )
+   195 98 moveto
+   195 111  174 121  149 121 curveto
+   123 121  103 111  102  98 curveto
+   103  85  123  75  149  75 curveto
+   174  75  195  85  195  98 curveto
+
+   111 84 moveto
+   193 36 228 48 239 61 curveto
+   261 90 171 122 171 118 curveto
+
+   235 85 moveto
+   281 177 310 177 267 201 curveto
+   251 209 227 200 235 189 curveto
+   243 177 249 179 248 172 curveto
+   239 121 196 109 200 109 curveto
+;
+
+: usb-ethernet
+   130 212 moveto
+   141 218 145 220 145 205 curveto 145 190 145 190 125 180 curveto
+   105 170 105 171 105 185 curveto 105 190 105 185 105 190 curveto
+
+   105 190 moveto
+   106 190 105 192 105 185 curveto 105 170 105 170 135 155 curveto 165 140 165 140 185 150 curveto
+   205 160 205 160 205 175 curveto 205 190 205 190 175 205 curveto 145 220 146 221 130 212 curveto
+
+   125 190 moveto 135 195 lineto 115 205 lineto 95 195 lineto 115 185 lineto 120 188 lineto
+   105 215 moveto 115 220 lineto 115 205 lineto 95 195 lineto 95 206 lineto
+   115 220 moveto 135 210 lineto 135 195 lineto 115 205 lineto 115 220 lineto
+   102 202 moveto  105 201 109 202 110 205 curveto  111 208 111 211 109 213 curveto
+   109 213 moveto  78 232 38 242 38 242 curveto
+   103 202 moveto  76 219 38 230 38 230 curveto
+   130 188 moveto  121 193 lineto  115 190 lineto  125 185 lineto  130 188 lineto
+   130 188 moveto  130 189 130 193 130 193 curveto
+   115 185 moveto  120 188 lineto
+   135 195 moveto  126 191 lineto
+
+   321 96 moveto 321 106 lineto 322 106 308 124 287 118 curveto
+   306 108 moveto 313 105 321 96 321 96 curveto 303 89 lineto 303 89 296 92 289 98 curveto 275 112 291 117 306 108 curveto
+   327 90 moveto  327 96 lineto 321 101 lineto
+   307 90 moveto 315 85 lineto 327 90 lineto 319 95 lineto
+   283 111 moveto 284 114 287 112 288 113 curveto 289 114 289 116 288 117 curveto
+   284 111 moveto 284 110 lineto
+
+   287 111 moveto  250 134  198 157  198 157 curveto
+   288 117 moveto  238 147  203 161  203 161 curveto
+;
+
+
+0 value blink-time
+-1 value blink-state
+0 value blink-color
+h# ff0000 constant red-888
+h# 00ff00 constant green-888
+h# 0000ff constant blue-888
+h# 000000 constant black-888
+h# ffffff constant white-888
+h# ff00ff constant magenta-888
+magenta-888 to blink-color
+
+: set-default-color  ( -- )  black-888 set-fg  ;
+
+defer selected-object  ' noop to selected-object
+
+: idle  ( -- )
+   blink-state -1 =  if  exit  then
+   1 ms
+   get-msecs blink-time -  0>=  if
+      blink-state 1 xor dup to blink-state  ( state )
+      if  blink-color set-fg  else  white-888 set-fg  then
+      selected-object
+      get-msecs d# 400 +  to blink-time
+   then
+;
+
+: highlight  ( xt color -- )
+   to blink-color
+   to selected-object
+   get-msecs to blink-time
+   0 to blink-state
+   idle
+;
+: message-off  ( -- )  d# 2  d# 27  at-xy  kill-line  ;
+: message  ( adr len -- )  cursor-off  message-off  red-letters  type  cancel  ;
+
+: performed  ( -- )
+   -1 to blink-state
+   message-off
+   set-default-color
+   selected-object
+   cr
+;
+
+: connect-scanner  ( -- )
+   basic-layout
+   " Connect USB barcode scanner to continue.." message
+   ['] scanner green-888 highlight
+;
+
+: connect-usb-key  ( -- )
+   basic-layout
+   " Connect USB stick to continue.." message
+   ['] usb-key green-888 highlight
+;
+
+: connect-usb-ethernet  ( -- )
+   basic-layout
+   " Connect USB Ethernet to continue.." message
+   ['] usb-ethernet green-888 highlight
+;
+
+: connect-headphones  ( -- )
+   draw-top
+   " Connect headphones to continue.." message
+   ['] headphones-top h# 00e000  highlight  \ Green like headphone jack
+;
+: disconnect-headphones  ( -- )
+   draw-top
+   " Disconnect headphones to continue.." message
+   ['] headphones-top red-888 highlight
+;
+: connect-microphone  ( -- )
+   draw-top
+   " Connect microphone to continue.." message
+   ['] mic-top h# ff80c0 highlight \ Close enough to the pink of the mic jack
+;
+: disconnect-microphone  ( -- )
+   draw-top
+   " Disconnect microphone to continue.." message
+   ['] mic-top red-888 highlight
+;
+: mic+phones-top  ( -- )  mic-top headphones-top  ;
+: connect-loopback  ( -- )
+   draw-top
+   " Connect loopback cable to continue.." message
+   ['] mic+phones-top green-888 highlight
+;
+: disconnect-loopback  ( -- )
+   draw-top
+   " Disconnect loopback cable to continue.." message
+   ['] mic+phones-top red-888 highlight
+;
+
+: connect-int-sd  ( -- )
+   draw-board
+   " Connect internal SD card to continue.." message
+   ['] int-sd-card green-888 highlight
+;
+: connect-ext-sd  ( -- )
+   draw-top
+   " Connect external SD card to continue.." message
+   ['] ext-sd-card-top green-888 highlight
+;
+
+: disconnect-int-sd  ( -- )
+   draw-board
+   " Disconnect internal SD card to continue.." message
+   ['] int-sd-card red-888 highlight
+;
+: disconnect-ext-sd  ( -- )
+   draw-top
+   " Disconnect external SD card to continue.." message
+   ['] ext-sd-card-top red-888 highlight
+;
+
+: open  ( -- ok )  true  ;
+: close  ( -- )  ;
+
+end-support-package
+0 value instructions-ih
+
+: ($instructions)  ( name$ -- )
+   instructions-ih 0=  if
+      " "  " test-instructions" $open-package to instructions-ih
+   then
+   instructions-ih $call-method
+;
+' ($instructions) to $instructions
+
+: (instructions-idle)  ( -- )  " idle" $instructions  ;
+' (instructions-idle) to instructions-idle
+
+: (instructions-done)  ( -- )  " performed" $instructions  ;
+' (instructions-done) to instructions-done
+
+: diag-mode  ( -- )  true to diag-switch?  ;
+
+hex
+
+\ LICENSE_BEGIN
+\ Copyright (c) 2010 FirmWorks
+\
+\ Permission is hereby granted, free of charge, to any person obtaining
+\ a copy of this software and associated documentation files (the
+\ "Software"), to deal in the Software without restriction, including
+\ without limitation the rights to use, copy, modify, merge, publish,
+\ distribute, sublicense, and/or sell copies of the Software, and to
+\ permit persons to whom the Software is furnished to do so, subject to
+\ the following conditions:
+\
+\ The above copyright notice and this permission notice shall be
+\ included in all copies or substantial portions of the Software.
+\
+\ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+\ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+\ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+\ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+\ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+\ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+\ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+\
+\ LICENSE_END

Added: cpu/arm/olpc/cl4/verify.bth
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ cpu/arm/olpc/cl4/verify.bth	Thu Jul 12 22:24:46 2012	(r3055)
@@ -0,0 +1,7 @@
+purpose: Fetch the Crypto code and keys
+
+command: &builder &this
+build-now
+
+fload ${BP}/cpu/arm/olpc/cl4/crypto-version.fth
+fload ${BP}/cpu/arm/olpc/build-crypto.fth

Added: cpu/arm/olpc/cl4/wlan-version.fth
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ cpu/arm/olpc/cl4/wlan-version.fth	Thu Jul 12 22:24:46 2012	(r3055)
@@ -0,0 +1,16 @@
+\ The wireless LAN module firmware
+
+\ Thin firmware version
+macro: WLAN_SUBDIR thinfirm/
+macro: WLAN_PREFIX lbtf_sdio-
+macro: WLAN_VERSION 9.0.7.p2
+
+\ Non-thin version
+\ macro: WLAN_SUBDIR
+\ macro: WLAN_PREFIX sd8686-
+\ macro: WLAN_VERSION 9.70.20.p0
+
+\ Alternate command for getting WLAN firmware, for testing new versions.
+\ Temporarily uncomment the line and modify the path as necessary
+\ macro: GET_WLAN cp "/c/Documents and Settings/Mitch Bradley/My Documents/OLPC/DiskImages/sd8686-9.70.7.p0.bin" sd8686.bin; cp "/c/Documents and Settings/Mitch Bradley/My Documents/OLPC/DiskImages/sd8686_helper.bin" sd8686_helper.bin
+\ macro: GET_WLAN wget http://dev.laptop.org/pub/firmware/libertas/thinfirm/lbtf_sdio-9.0.7.p2.bin -O sd8686.bin



More information about the openfirmware mailing list