[openfirmware] [commit] r3308 - in cpu/arm/olpc/4.0: . build

repository service svn at openfirmware.info
Sat Sep 15 09:44:14 CEST 2012


Author: wmb
Date: Sat Sep 15 09:44:13 2012
New Revision: 3308
URL: http://tracker.coreboot.org/trac/openfirmware/changeset/3308

Log:
OLPC XO-4 - Initial revision of build directory for 2 MB XO-4 OFW images for B-level systems.

Added:
   cpu/arm/olpc/4.0/
   cpu/arm/olpc/4.0/build/
   cpu/arm/olpc/4.0/build/Makefile
   cpu/arm/olpc/4.0/cforth-version.fth
   cpu/arm/olpc/4.0/cforth.bth
   cpu/arm/olpc/4.0/config.fth
   cpu/arm/olpc/4.0/crypto-version.fth
   cpu/arm/olpc/4.0/ec-version.fth
   cpu/arm/olpc/4.0/ec.bth
   cpu/arm/olpc/4.0/fw-version.fth
   cpu/arm/olpc/4.0/fw.bth
   cpu/arm/olpc/4.0/mcastnand.bth
   cpu/arm/olpc/4.0/mcnand-version.fth
   cpu/arm/olpc/4.0/mv8787.bth
   cpu/arm/olpc/4.0/olpc.bth
   cpu/arm/olpc/4.0/prefw.bth
   cpu/arm/olpc/4.0/resetvec.bth
   cpu/arm/olpc/4.0/sd8686.bth
   cpu/arm/olpc/4.0/verify.bth
   cpu/arm/olpc/4.0/wlan-version.fth

Added: cpu/arm/olpc/4.0/build/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ cpu/arm/olpc/4.0/build/Makefile	Sat Sep 15 09:44:13 2012	(r3308)
@@ -0,0 +1,70 @@
+ROMNAME=olpc
+
+BASEDIR= `(cd ../../../../..; pwd;)`
+
+OS := $(shell uname)
+HOSTCPU= $(shell ${BASEDIR}/forth/lib/hostcpu.sh)
+HOSTDIR= ../../../../${HOSTCPU}/${OS}
+BUILDSH= ${BASEDIR}/forth/lib/build.sh
+
+TAGFILES= ../../../build/*.tag *.tag
+CLIENTDIR=../../../../../clients
+CLIENTPROGS=${CLIENTDIR}/emacs/arm/emacs
+
+all: ${ROMNAME}.rom tags
+
+${ROMNAME}.tag: ${ROMNAME}.rom
+
+tags: ${ROMNAME}.tag
+	@${BASEDIR}/forth/lib/toctags ${BASEDIR} ${TAGFILES}
+
+${ROMNAME}.rom: FORCE build ${CLIENTPROGS} ${HOSTDIR}/forth ${HOSTDIR}/armforth
+	./build $@
+
+${HOSTDIR}/forth:
+	@make -C ${HOSTDIR} forth
+
+${HOSTDIR}/armforth:
+	@make -C ${HOSTDIR} armforth
+
+../../build/inflate.bin:
+	@make -C ../../build inflate.bin
+
+${CLIENTDIR}/emacs/arm/emacs:
+	@make -C ${CLIENTDIR}/emacs/arm emacs
+
+build:
+	@ln -sf ${BUILDSH} build
+
+clean:
+	rm -f *.dic *.log headers *~ *.elf *.di *.img builton.fth build *.rom *.version tags *.tag
+
+clean-all: clean
+	@make -C ../../build clean
+	@make -C ${HOSTDIR} clean
+
+.PHONY: FORCE clean all clean-all
+
+# LICENSE_BEGIN
+# Copyright (c) 2009 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/4.0/cforth-version.fth
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ cpu/arm/olpc/4.0/cforth-version.fth	Sat Sep 15 09:44:13 2012	(r3308)
@@ -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/4.0/cforth.bth
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ cpu/arm/olpc/4.0/cforth.bth	Sat Sep 15 09:44:13 2012	(r3308)
@@ -0,0 +1,7 @@
+purpose: Fetch and compile CForth for the Security Processor
+
+command: &builder &this
+build-now
+
+fload ${BP}/cpu/arm/olpc/4.0/cforth-version.fth
+fload ${BP}/cpu/arm/olpc/build-cforth.fth

Added: cpu/arm/olpc/4.0/config.fth
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ cpu/arm/olpc/4.0/config.fth	Sat Sep 15 09:44:13 2012	(r3308)
@@ -0,0 +1,33 @@
+create debug-startup
+create olpc
+create olpc-cl4
+create olpc-xo4
+create trust-ec-keyboard
+create use-null-nvram
+create use-elf
+create has-sp-kbd
+create has-dcon
+
+fload ${BP}/cpu/arm/mmp3/soc-config.fth
+fload ${BP}/cpu/arm/mmp2/hwaddrs.fth
+fload ${BP}/cpu/arm/olpc/addrs.fth
+
+h# 20.0000 constant /rom           \ Total size of SPI FLASH
+
+: mfg-data-offset  /rom h# 1.0000 - ;      \ Offset to start of manufacturing data area in SPI FLASH
+: mfg-data-end-offset  /rom  ;             \ Offset to end of manufacturing data area in SPI FLASH
+: crc-offset  mfg-data-offset h# 30 - ;    \ e.g. 1e.ffd0
+: signature-offset  crc-offset  h# 10 - ;  \ e.g. 1e.ffc0
+
+: signature$   " CL4"  ;
+: model$       " olpc,XO-4.0"  ;
+: compatible$  " olpc,xo-cl4"  ;
+: ec-platform$  ( -- adr len )  " 7"  ;
+
+d# 10001 constant machine-type  \ Backwards compatibility with non-device-tree kernel
+
+char 7 constant expected-ec-version
+h# ec00 constant /ec-flash
+h# eb80 constant ec-flags-offset   \ don't program or verify this page
+
+fload ${BP}/cpu/arm/olpc/cl4/gpiopins.fth

Added: cpu/arm/olpc/4.0/crypto-version.fth
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ cpu/arm/olpc/4.0/crypto-version.fth	Sat Sep 15 09:44:13 2012	(r3308)
@@ -0,0 +1,6 @@
+\ The public keys
+macro: KEYS mpkeys
+\ macro: KEYS testkeys
+
+\ The bios_verify image
+macro: CRYPTO_VERSION 0.6-ARM

Added: cpu/arm/olpc/4.0/ec-version.fth
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ cpu/arm/olpc/4.0/ec-version.fth	Sat Sep 15 09:44:13 2012	(r3308)
@@ -0,0 +1,9 @@
+\ The EC microcode
+macro: EC_PLATFORM cl4
+macro: EC_VERSION 7_0_2_01
+
+\ 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/4.0/ec.bth
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ cpu/arm/olpc/4.0/ec.bth	Sat Sep 15 09:44:13 2012	(r3308)
@@ -0,0 +1,7 @@
+purpose: Fetch the EC (Embedded Controller, i.e. KB3700) microcode
+
+command: &builder &this
+build-now
+
+fload ${BP}/cpu/arm/olpc/4.0/ec-version.fth
+fload ${BP}/cpu/arm/olpc/fetch-ec.fth

Added: cpu/arm/olpc/4.0/fw-version.fth
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ cpu/arm/olpc/4.0/fw-version.fth	Sat Sep 15 09:44:13 2012	(r3308)
@@ -0,0 +1,10 @@
+\ The overall firmware revision
+macro: FW_PREFIX Q7
+macro: FW_MAJOR B
+macro: FW_MINOR 00
+
+\ Create a 2-character build/fw-suffix file to personalize your test builds
+" fw-suffix" $file-exists?  [if]
+   " fw-suffix" $read-file 2 min  " ${FW_MINOR}%s" expand$  sprintf
+   " FW_MINOR" $set-macro
+[then]

Added: cpu/arm/olpc/4.0/fw.bth
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ cpu/arm/olpc/4.0/fw.bth	Sat Sep 15 09:44:13 2012	(r3308)
@@ -0,0 +1,29 @@
+purpose: Build OFW Forth dictionary for OLPC XO-4
+\ See license at end of file
+
+dictionary: ${BP}/cpu/arm/olpc/4.0/build/prefw.dic
+command: &armforth &dictionary &this
+build-now
+
+" fw.tag" r/w create-file drop  tag-file !
+
+h# 16000 +io constant bsl-uart-base     \ UART4
+h# 88 constant bsl-uart-clock-offset    \ APBC_UART4_CLK_RST
+
+fload ${BP}/cpu/arm/olpc/build-fw.fth
+
+\ true to stand-init-debug?
+
+fload ${BP}/cpu/arm/olpc/cl4/uart.fth
+fload ${BP}/cpu/arm/olpc/cl4/sdhci.fth
+fload ${BP}/cpu/arm/olpc/1.75/lcdcfg.fth
+fload ${BP}/cpu/arm/olpc/cl4/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/testitems.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/4.0/mcastnand.bth
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ cpu/arm/olpc/4.0/mcastnand.bth	Sat Sep 15 09:44:13 2012	(r3308)
@@ -0,0 +1,7 @@
+purpose: Fetch and compile the multicast NAND reflash program
+
+command: &builder &this
+build-now
+
+fload ${BP}/cpu/arm/olpc/4.0/mcnand-version.fth
+fload ${BP}/cpu/arm/olpc/build-mcnand.fth

Added: cpu/arm/olpc/4.0/mcnand-version.fth
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ cpu/arm/olpc/4.0/mcnand-version.fth	Sat Sep 15 09:44:13 2012	(r3308)
@@ -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/4.0/mv8787.bth
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ cpu/arm/olpc/4.0/mv8787.bth	Sat Sep 15 09:44:13 2012	(r3308)
@@ -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/4.0/wlan-version.fth
+
+fload ${BP}/cpu/arm/olpc/build-wlan.fth

Added: cpu/arm/olpc/4.0/olpc.bth
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ cpu/arm/olpc/4.0/olpc.bth	Sat Sep 15 09:44:13 2012	(r3308)
@@ -0,0 +1,219 @@
+purpose: Construct the Open Firmware module collection
+
+command: &builder &this
+in: ${BP}/cpu/arm/olpc/4.0/build/ec.img
+in: ${BP}/cpu/arm/olpc/4.0/build/fw.img
+in: ${BP}/cpu/arm/olpc/4.0/build/resetvec.img
+in: ${BP}/cpu/arm/olpc/4.0/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/4.0/fw-version.fth
+
+" macro: FW_VERSION ${FW_PREFIX}${FW_MAJOR}${FW_MINOR}" expand$ eval
+
+fload ${BP}/cpu/arm/olpc/4.0/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
+
+\ Marvell Non-Trusted Image Module image creation script for XO-4.0 platform.
+
+tim: 00030400 0 OLPC PXA212x
+  flash: SPI'10
+  timh:  TIMH        0 d101f000
+  image: OBMI     2000 d1000000 cforth.img
+  reserved:
+    \ Disable USB download/init by enabling the FFUART for download
+    \ This works around a PHY init erratum for the B0 chip
+    uart: 00004646 1
+    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
+\  " mv8787.bin"                                 " mv8787.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
+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-offset ofd @ fseek
+signature h# 10  ofd @ fputs
+
+/l buffer: crcbuf
+/rom buffer: filebuf
+
+\ Read the entire image, compute the CRC, and store it in the CRC location
+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/4.0/prefw.bth
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ cpu/arm/olpc/4.0/prefw.bth	Sat Sep 15 09:44:13 2012	(r3308)
@@ -0,0 +1,13 @@
+purpose: Build OFW Forth dictionary for OLPC XO-4
+\ 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/4.0/config.fth
+fload ${BP}/cpu/arm/olpc/prefw.fth

Added: cpu/arm/olpc/4.0/resetvec.bth
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ cpu/arm/olpc/4.0/resetvec.bth	Sat Sep 15 09:44:13 2012	(r3308)
@@ -0,0 +1,7 @@
+purpose: Build script for low-level startup code
+
+command: &builder &this
+build-now
+
+fload ${BP}/cpu/arm/olpc/4.0/config.fth
+fload ${BP}/cpu/arm/olpc/resetvec.fth

Added: cpu/arm/olpc/4.0/sd8686.bth
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ cpu/arm/olpc/4.0/sd8686.bth	Sat Sep 15 09:44:13 2012	(r3308)
@@ -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/4.0/wlan-version.fth
+
+fload ${BP}/cpu/arm/olpc/build-wlan.fth

Added: cpu/arm/olpc/4.0/verify.bth
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ cpu/arm/olpc/4.0/verify.bth	Sat Sep 15 09:44:13 2012	(r3308)
@@ -0,0 +1,7 @@
+purpose: Fetch the Crypto code and keys
+
+command: &builder &this
+build-now
+
+fload ${BP}/cpu/arm/olpc/4.0/crypto-version.fth
+fload ${BP}/cpu/arm/olpc/build-crypto.fth

Added: cpu/arm/olpc/4.0/wlan-version.fth
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ cpu/arm/olpc/4.0/wlan-version.fth	Sat Sep 15 09:44:13 2012	(r3308)
@@ -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