[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