[openfirmware] r1623 - cpu/x86/pc/olpc/via
svn at openfirmware.info
svn at openfirmware.info
Wed Dec 16 09:05:01 CET 2009
Author: wmb
Date: 2009-12-16 09:05:00 +0100 (Wed, 16 Dec 2009)
New Revision: 1623
Modified:
cpu/x86/pc/olpc/via/assy.fth
Log:
Via manufacturing scripts - Added auto-firmware-update to the assy script.
Modified: cpu/x86/pc/olpc/via/assy.fth
===================================================================
--- cpu/x86/pc/olpc/via/assy.fth 2009-12-16 07:56:51 UTC (rev 1622)
+++ cpu/x86/pc/olpc/via/assy.fth 2009-12-16 08:05:00 UTC (rev 1623)
@@ -2,11 +2,41 @@
visible
+\ If the firmware file is on a CIFS share on the factory server, it
+\ should be read-only so multiple clients can read it simultaneously.
+
+false value update-firmware? \ Make this true to update firmware
+: wanted-fw$ ( -- $ ) " q3a25" ; \ Set this value to the firmware version
+
: swid$ ( -- adr len ) " OFW ASSY test $Revision$" ;
\ Location of the files containing KA tag data
: ka-dir$ ( -- adr len ) " http:\\10.1.0.1\ka\" ;
+: find-firmware-file ( -- name$ )
+ wanted-fw$ " u:\\boot\\%s.rom" sprintf ( name$ )
+ ." Trying " 2dup type cr ( name$ )
+ 2dup $file-exists? if exit then ( name$ )
+ 2drop ( )
+
+ wanted-fw$ factory-server$ " %s\\%s.rom" sprintf ( name$ )
+ ." Trying " 2dup type cr ( name$ )
+ 2dup $file-exists? if exit then ( name$ )
+ 2drop
+
+ true abort" Can't find new firmware file"
+;
+
+: ?update-firmware ( -- )
+ update-firmware? 0= if exit then
+ \ Exit if the existing firmware and the wanted firmware are the same
+ fw-version$ wanted-fw$ nocase-$= if exit then
+ ." Updating firmware to version " fw-version$ type cr
+ d# 2000 ms
+ ?enough-power
+ find-firmware-file $get-file reflash
+;
+
: put-ka-tag ( value$ key$ -- )
2over 8 min ka-dir$ " %s%s" sprintf ( value$ key$ filename$ )
$read-file if ( value$ key$ )
@@ -201,6 +231,8 @@
;
: start-assy-test ( -- )
+ ?update-firmware
+
wait-lan
get-info
More information about the openfirmware
mailing list