[openfirmware] [commit] r2576 - in cpu/arm: mmp2 olpc/1.75

repository service svn at openfirmware.info
Tue Oct 4 21:42:35 CEST 2011


Author: wmb
Date: Tue Oct  4 21:42:35 2011
New Revision: 2576
URL: http://tracker.coreboot.org/trac/openfirmware/changeset/2576

Log:
OLPC XO-1.75 - trac #11124 - added fuse display commands .fuses and .fuses-all .

Added:
   cpu/arm/mmp2/fuse.fth
Modified:
   cpu/arm/olpc/1.75/devices.fth

Added: cpu/arm/mmp2/fuse.fth
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ cpu/arm/mmp2/fuse.fth	Tue Oct  4 21:42:35 2011	(r2576)
@@ -0,0 +1,99 @@
+\ See license at end of file
+purpose: Display MMP2 fuse settings
+
+: fuse@  ( offset -- )   h# 29.0000 + io@  ;
+
+[ifdef] notdef
+: .4b  ( n -- n' )  u# u# u# u# [char] . hold  ;
+: .fuse-bin  ( n -- )
+   base @ >r  binary
+   <# .4b .4b .4b .4b .4b .4b .4b u# u# u# u# u#> type
+   r> base !
+;
+: .3digits  ( n -- )  <# u# u# u# u#> type  ;
+: .fuse#s  ( long# -- )
+    ."     Fuses" 
+    push-decimal
+    d# 32 *  dup .3digits  ." -"  d# 31 +  .3digits
+    pop-base
+   ." : " 
+;
+: .block-binary  ( reg #regs -- )
+   0  do                            ( reg )
+      i .fuse#s                     ( reg )
+      dup fuse@ .fuse-bin cr  la1+  ( reg' )
+   loop                             ( reg )
+   drop                             ( )
+;
+[then]
+: .2hex  ( n -- )  push-hex <# u# u# u#> type pop-base  ;
+: .8hex  ( n -- )  push-hex <# u# u# u# u# u# u# u# u# u#> type pop-base  ;
+: .block-hex  ( reg #regs -- )
+   0  do                           ( reg )
+      dup fuse@ .8hex space  la1+  ( reg )
+   loop                            ( reg )
+   drop                            ( )
+;
+: .3bits  ( n -- n' )  dup 7 and .d  3 rshift  ;
+string-array freqs  ," 800" ," 910" ," 1001" ," ??? " end-string-array
+: .max-freq  ( n -- ) ."  Max Freq: " 3 and freqs count type   ;
+: .block3-brief  ( -- )
+   ." Block 3 - Voltages: "  h# 28a0 fuse@  5 0 do  .3bits  loop  2/  .3bits drop
+   h# 28a4 fuse@  d# 14 rshift .max-freq  cr
+;
+: .block3  ( -- )
+   ." Block 3" cr
+   ."     Voltages: "  h# 28a0 fuse@  5 0 do  .3bits  loop  2/  .3bits  cr
+   ."     Lifecycle:"    h# 2888 fuse@    ( n )
+       ."  CM " .3bits  ."  DM " .3bits  ."  DD " .3bits  ."  FA " .3bits  cr  ( n' )
+
+   ."     JTAG disable: " .3bits drop   ."  SW version " h# 2898 2 .block-hex cr ( )
+
+   ."     ISP_DIS: "  h# 28a4 fuse@ .3bits  ."  DIS_TMP_FA: " .3bits
+   8 rshift
+   dup .max-freq space  2 rshift
+   d# 16 rshift
+   ."  HW Lock: " dup 1 and .d  1 rshift
+   ."  SW Lock: " 1 and .d  cr
+;
+
+: ind  ( -- )  4 spaces  ;
+: .block0-brief  ( -- )  ." Block 0 - SoC Config " h# 2904 4 .block-hex cr  ;
+: .fuses  ( -- )  .block0-brief  .block3-brief  ;
+: .fuses-all  ( -- )
+   ." Block 0 - SoC Config" cr            ind  h# 2904 4 .block-hex cr
+   ." Block 1 - WTM Root Key (RKEK)" cr   ind  h# 2924 8 .block-hex cr
+   ." Block 2 - OEM Platform Key Hash" cr ind  h# 2944 8 .block-hex cr
+   .block3
+   ." Block 5 - Chip ID" cr               ind  h# 29e8 fuse@ .8hex space h# 29ec fuse@ .8hex cr
+   ." Block 6 - OEM JTAG Key Hash" cr     ind  h# 2964 8 .block-hex cr
+\  ." Block 7 - OEM JTAG Key HASH ECC"         h# 29a8 fuse@ .8hex space h# 298c fuse@ .8hex cr
+\  ." Block 7 - USB ECC"                       h# fuse@ d# 16 rshift .2hexits cr
+   ." Block 7 - USB ID" cr                ind  h# 2998 fuse@ .8hex space h# 299c fuse@ .8hex cr
+   ." Block 8 - EC 521 low" cr            ind  h# 28a8 8 .block-hex cr
+   ." Block 9 - EC 521 high" cr           ind  h# 28c8 4 .block-hex  h# 29f0 4 .block-hex cr
+;
+
+\ 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

Modified: cpu/arm/olpc/1.75/devices.fth
==============================================================================
--- cpu/arm/olpc/1.75/devices.fth	Tue Oct  4 20:18:25 2011	(r2575)
+++ cpu/arm/olpc/1.75/devices.fth	Tue Oct  4 21:42:35 2011	(r2576)
@@ -396,6 +396,7 @@
 ;
 
 fload ${BP}/cpu/arm/mmp2/thermal.fth
+fload ${BP}/cpu/arm/mmp2/fuse.fth
 
 \ LICENSE_BEGIN
 \ Copyright (c) 2010 FirmWorks



More information about the openfirmware mailing list