[openfirmware] [commit] r1913 - in cpu/x86/pc/olpc: . via

repository service svn at openfirmware.info
Wed Aug 4 19:08:23 CEST 2010


Author: wmb
Date: Wed Aug  4 19:08:23 2010
New Revision: 1913
URL: http://tracker.coreboot.org/trac/openfirmware/changeset/1913

Log:
OLPC NANDblaster - renamed some source files so the naming scheme is consistent between XO-1 and XO-1.5

Added:
   cpu/x86/pc/olpc/nbtx.fth
      - copied unchanged from r1912, cpu/x86/pc/olpc/nandcastui.fth
   cpu/x86/pc/olpc/via/nbtx.fth
      - copied unchanged from r1912, cpu/x86/pc/olpc/nb15tx.fth
Deleted:
   cpu/x86/pc/olpc/nandcastui.fth
   cpu/x86/pc/olpc/nb15tx.fth
Modified:
   cpu/x86/pc/olpc/fw.bth
   cpu/x86/pc/olpc/via/fw.bth

Modified: cpu/x86/pc/olpc/fw.bth
==============================================================================
--- cpu/x86/pc/olpc/fw.bth	Wed Aug  4 18:51:00 2010	(r1912)
+++ cpu/x86/pc/olpc/fw.bth	Wed Aug  4 19:08:23 2010	(r1913)
@@ -466,7 +466,7 @@
 create use-mesh
 fload ${BP}/cpu/x86/bootascall.fth
 fload ${BP}/cpu/x86/pc/olpc/wifichannel.fth
-fload ${BP}/cpu/x86/pc/olpc/nandcastui.fth
+fload ${BP}/cpu/x86/pc/olpc/nbtx.fth
 fload ${BP}/cpu/x86/pc/olpc/nbrx.fth
 fload ${BP}/cpu/x86/pc/olpc/fsupdate.fth
 

Copied: cpu/x86/pc/olpc/nbtx.fth (from r1912, cpu/x86/pc/olpc/nandcastui.fth)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ cpu/x86/pc/olpc/nbtx.fth	Wed Aug  4 19:08:23 2010	(r1913, copy of r1912, cpu/x86/pc/olpc/nandcastui.fth)
@@ -0,0 +1,98 @@
+purpose: User interface for NAND multicast updater - transmission
+\ See license at end of file
+
+: mesh-ssids  ( -- $ )
+   " olpc-mesh"nolpc-mesh"nolpc-mesh"nolpc-mesh"nolpc-mesh"nolpc-mesh"
+;
+
+: select-mesh-mode  ( -- )
+   \ Check for already set because re-setting it will force rescanning
+   ['] mesh-ssids to default-ssids
+   wifi-cfg >wc-ssid pstr@  " olpc-mesh" $=  0=  if
+      " olpc-mesh" $essid
+   then
+;
+
+: $file-to-mem  ( filename$ -- adr len )
+   $read-open
+   ifd @ fsize  dup alloc-mem  swap     ( adr len )
+   2dup ifd @ fgets                     ( adr len actual )
+   ifd @ fclose                         ( adr len actual )
+   over <>  abort" Can't read file" cr  ( adr len )
+;
+
+: #nb-clone  ( channel# -- )
+   depth 1 < abort" Usage: channel# #nb-clone"
+   redundancy swap
+   " rom:nb_tx ether:%d nand: %d" sprintf boot-load go
+;
+: #nb-copy  ( image-filename$ channel# -- )
+   depth 3 < abort" #nb-copy - too few arguments"
+   >r 2>r                             ( placement-filename$ r: channel# image-filename$ )
+   redundancy  2r> r>                 ( redundancy image-filename$ channel# )
+   " rom:nb_tx ether:%d %s %d 131072" sprintf boot-load go
+;
+: #nb-update  ( placement-filename$ image-filename$ channel# -- )
+   depth 5 < abort" #nb-update - too few arguments"
+   >r 2>r                             ( placement-filename$ r: channel# image-filename$ )
+   $file-to-mem                       ( spec$ r: channel# image-filename$ )
+   swap  redundancy  2r> r>           ( speclen specadr redundancy image-filename$ channel# )
+   " rom:nb_tx ether:%d %s %d 131072 %d %d" sprintf boot-load go
+;
+: #nb-secure  ( zip-filename$ image-filename$ channel# -- )
+   depth 5 < abort" #nb-secure-update - too few arguments"
+   >r 2>r                             ( placement-filename$ r: channel# image-filename$ )
+   load-read  sig$ ?save-string swap  ( siglen sigadr r: channel# image-filename$ )
+   img$ ?save-string swap             ( siglen sigadr speclen specadr r: channel# image-filename$ )
+   redundancy  2r> r>                 ( siglen sigadr speclen specadr redundancy image-filename$ channel# )
+   " rom:nb_tx ether:%d %s %d 131072 %d %d %d %d" sprintf boot-load go
+;
+
+: #nb-update-def  ( channel# -- )  >r " u:\fs.plc" " u:\fs.img" r> #nb-update  ;
+: #nb-secure-def  ( channel# -- )  >r " u:\fs.zip" " u:\fs.img" r> #nb-secure  ;
+
+: nb-clone    ( -- )  nb-auto-channel  #nb-clone  ;
+: nb-secure   ( -- )  nb-auto-channel  #nb-secure-def  ;
+: nb-update   ( -- )  nb-auto-channel  #nb-update-def  ;
+
+: nb-clone1   ( -- )      1 #nb-clone  ;
+: nb-clone6   ( -- )      6 #nb-clone  ;
+: nb-clone11  ( -- )  d# 11 #nb-clone  ;
+
+: nb-update1   ( -- )      1 #nb-update-def  ;
+: nb-update6   ( -- )      6 #nb-update-def  ;
+: nb-update11  ( -- )  d# 11 #nb-update-def  ;
+
+: nb-secure1   ( -- )      1 #nb-secure-def  ;
+: nb-secure6   ( -- )      6 #nb-secure-def  ;
+: nb-secure11  ( -- )  d# 11 #nb-secure-def  ;
+
+: mesh-clone
+   select-mesh-mode
+   false to already-go?
+   redundancy " boot rom:nb_tx udp:239.255.1.2 nand: %d" sprintf eval
+;
+
+\ LICENSE_BEGIN
+\ Copyright (c) 2008 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

Modified: cpu/x86/pc/olpc/via/fw.bth
==============================================================================
--- cpu/x86/pc/olpc/via/fw.bth	Wed Aug  4 18:51:00 2010	(r1912)
+++ cpu/x86/pc/olpc/via/fw.bth	Wed Aug  4 19:08:23 2010	(r1913)
@@ -517,7 +517,7 @@
 create use-thinmac
 fload ${BP}/cpu/x86/bootascall.fth
 fload ${BP}/cpu/x86/pc/olpc/wifichannel.fth
-fload ${BP}/cpu/x86/pc/olpc/nb15tx.fth
+fload ${BP}/cpu/x86/pc/olpc/via/nbtx.fth
 fload ${BP}/cpu/x86/pc/olpc/via/nbrx.fth
 fload ${BP}/cpu/x86/pc/olpc/via/blockfifo.fth
 fload ${BP}/cpu/x86/pc/olpc/via/fsupdate.fth

Copied: cpu/x86/pc/olpc/via/nbtx.fth (from r1912, cpu/x86/pc/olpc/nb15tx.fth)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ cpu/x86/pc/olpc/via/nbtx.fth	Wed Aug  4 19:08:23 2010	(r1913, copy of r1912, cpu/x86/pc/olpc/nb15tx.fth)
@@ -0,0 +1,110 @@
+purpose: User interface for NAND multicast updater - transmission to XO-1.5
+\ See license at end of file
+
+\ This sender is for multicast operation over a wired network.
+\ It is rarely used, because the wired multicast mode is primarily
+\ used in the factory with a big server as the sender.
+\ Example: wired-nb-tx: u:\os201.zd 224.0.0.2
+: wired-nb-tx:  ( "filename" "multicast-ip-address" -- )
+   false to already-go?
+   safe-parse-word safe-parse-word
+   " boot rom:nb_tx udp:%s %s 20 131072" sprintf eval
+;
+
+\ This sends to XO-1.5 receivers, but the sender itself can run on either XO-1 or XO-1.5.
+\ On XO-1, you must load the special "thin" firmware from a USB stick.
+: ?load-thin-wlan-fw  ( -- )
+   " /wlan" find-package 0= abort" No /wlan device"  ( phandle )
+
+   " thin" rot get-package-property  if              ( )
+      \ Absence of "thin" property means we need to get special firmware
+      " u:\usb8388t.bin" " wlan-fw" $setenv
+      \ We have to reset the device and driver to force it to reload
+      \ the thin firmware, in case firmware has already been loaded.
+      wlan-reset
+      " dev /wlan  ds-not-ready to driver-state  dend" evaluate
+   else                                              ( adr len )
+      \ Presence of "thin" property means we are good to go
+      2drop
+   then
+;
+
+: $nb-tx  ( filename$ channel# -- )
+   >r 2>r  redundancy  2r> r>
+   ?load-thin-wlan-fw
+   false to already-go?
+
+   " boot rom:nb_tx thinmac:OLPC-NANDblaster,%d %s %d 131072" sprintf eval
+;
+
+: nb-tx:  ( "filename" -- )
+   redundancy                     ( redundancy )
+   safe-parse-word                ( redundancy filename$ )
+   nb-auto-channel                ( redundancy filename$ channel# )
+
+   ?load-thin-wlan-fw
+   false to already-go?
+
+   " boot rom:nb_tx thinmac:OLPC-NANDblaster,%d %s %d 131072" sprintf eval
+;
+
+: #nb-secure  ( zip-filename$ image-filename$ channel# -- )
+   depth 5 < abort" #nb-secure-update - too few arguments"
+   >r 2>r                             ( placement-filename$ r: channel# image-filename$ )
+   load-read  sig$ ?save-string swap  ( siglen sigadr r: channel# image-filename$ )
+   img$ ?save-string swap             ( siglen sigadr speclen specadr r: channel# image-filename$ )
+   redundancy  2r> r>                 ( siglen sigadr speclen specadr redundancy image-filename$ channel# )
+   " rom:nb_tx thinmac:OLPC-NANDblaster,%d %s %d 131072 %d %d %d %d" sprintf boot-load go
+;
+: #nb-secure-def  ( channel# -- )  >r " u:\fs.zip" " u:\fs.zd" r> #nb-secure  ;
+
+: #nb-update-def  ( channel# -- )  >r  " u:\fs.zd"  r> $nb-tx  ;
+: nb-update1   ( -- )      1 #nb-update-def  ;
+: nb-update6   ( -- )      6 #nb-update-def  ;
+: nb-update11  ( -- )  d# 11 #nb-update-def  ;
+
+: nb-secure1   ( -- )      1 #nb-secure-def  ;
+: nb-secure6   ( -- )      6 #nb-secure-def  ;
+: nb-secure11  ( -- )  d# 11 #nb-secure-def  ;
+
+: nb-secure   ( -- )  nb-auto-channel  #nb-secure-def  ;
+: nb-update   ( -- )  nb-auto-channel  #nb-update-def  ;
+
+[ifdef] use-nb15-precomputed
+\ NANDblaster sender using thin firmware on XO-1.5, with precomputed
+\ packet data.  This turns out to be useless because the packets can
+\ be computed on-the-fly faster than the module can send.
+: nb15-precomputed:  ( "filename" ["delay"]-- )
+   false to already-go?
+   safe-parse-word  ( name$ )
+   safe-parse-word 2>r ( name$ r: channel$ )
+   parse-word  2swap   ( delay$ name$ r: channel$ )
+   2r>
+   " u:\usb8388t.bin" " wlan-fw" $setenv
+   " boot rom:blaster thinmac:OLPC-NANDblaster,%s %s %s" sprintf eval
+;
+[then]
+
+\ 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



More information about the openfirmware mailing list