[openfirmware] [commit] r3360 - dev

repository service svn at openfirmware.info
Thu Oct 11 08:03:46 CEST 2012


Author: quozl
Date: Thu Oct 11 08:03:46 2012
New Revision: 3360
URL: http://tracker.coreboot.org/trac/openfirmware/changeset/3360

Log:
OLPC WLAN driver - extend antenna testing to 8787

Modified:
   dev/libertas.fth

Modified: dev/libertas.fth
==============================================================================
--- dev/libertas.fth	Thu Oct 11 02:55:36 2012	(r3359)
+++ dev/libertas.fth	Thu Oct 11 08:03:46 2012	(r3360)
@@ -651,7 +651,7 @@
    dup h#   2 and  if  ."  PS;" then
    dup h#   8 and  if  ."  EEPROM does not exit;"  then
    dup h#  30 and  case
-                      h# 00  of  ."  TX antanna 0;"  endof
+                      h# 00  of  ."  TX antenna 0;"  endof
                       h# 10  of  ."  TX antenna 1;"  endof
                       ( default )  ."  TX diversity; "
                    endcase
@@ -792,6 +792,16 @@
    respbuf >fw-data 4 + le-l@
 ;
 
+0 [if]
+: reg-access!  ( n reg cmd -- )
+   8 swap prepare-cmd
+   ACTION_SET +xw
+   ( n reg ) +xw
+   ( n ) +xl
+   outbuf-wait drop
+;
+[then]
+
 : bbp-reg@  ( reg -- n )
    1a ( CMD_BBP_REG_ACCESS ) reg-access@  h# ff and
 ;
@@ -801,6 +811,18 @@
 : mac-reg@  ( reg -- n )
    19 ( CMD_MAC_REG_ACCESS ) reg-access@
 ;
+0 [if]
+: bbp-reg!  ( n reg -- )
+   1a ( CMD_BBP_REG_ACCESS ) reg-access!
+;
+: rf-reg!  ( n reg -- )
+   1b ( CMD_RF_REG_ACCESS ) reg-access!
+;
+: mac-reg!  ( n reg -- )
+   19 ( CMD_MAC_REG_ACCESS ) reg-access!
+;
+[then]
+
 : eeprom-l@  ( idx -- n )
    a 59 ( CMD_EEPROM_ACCESS ) prepare-cmd
    ACTION_GET +xw
@@ -2314,12 +2336,22 @@
    ."  snr" 3 .r  ."  nf" 4 .r          ( )
 ;
 
+: show-rssi  ( -- )
+   get-rssi                             ( base avg_nf avg_snr nf snr )
+   ." now" .rssi                        ( base avg_nf avg_snr )
+   ."  avg" .rssi                       ( base )
+;
+
 : .antenna  ( antenna -- )
    dup h# ffff =  if  ."  d" drop exit  then    \ diversity (default)
    dup h#  100 =  if  ."  ?" drop exit  then    \ occurs after 0/0
    2 .r
 ;
 
+: show-antenna
+   get-antenna  ."  ant" .antenna
+;
+
 : .rx-antenna  ( antenna -- )
    6 rshift
    case
@@ -2340,18 +2372,32 @@
    endcase
 ;
 
-: show-antenna  ( -- )
-   base @                               ( base )
-   get-rssi                             ( base avg_nf avg_snr nf snr )
-   decimal
-   ." now" .rssi                        ( base avg_nf avg_snr )
-   ."  avg" .rssi                       ( base )
-   get-antenna                          ( base antenna )
-   hex
-   ."  ant" .antenna                    ( base )
-   ."  rx "  h# 3f bbp-reg@ .rx-antenna ( base )
-   ."  tx "  h# 40 bbp-reg@ .tx-antenna ( base )
-   base !
+: show-antenna-bbp  ( -- )
+   ."  rx "  h# 3f bbp-reg@ .rx-antenna
+   ."  tx "  h# 40 bbp-reg@ .tx-antenna
+;
+
+0 value #antennae
+: ta-init  ( -- )
+   get-hw-spec  0=  if  d# 16 + le-w@  to #antennae  then
+   #antennae
+   case
+      d# 1  of  ." keys: (a,s,q)"  endof
+      d# 2  of  ." keys: (0,1,2,3,d,a,s,q)"  endof
+   endcase
+   cr
+;
+
+: ta-show  ( -- )
+   base @                       ( base )
+   decimal                      ( base )
+   show-rssi                    ( base )
+   #antennae d# 1 <> if         ( base )
+      hex                       ( base )
+      show-antenna              ( base )
+      show-antenna-bbp          ( base )
+   then                         ( base )
+   base !                       ( )
 ;
 
 : ta-scan  ( -- )
@@ -2360,20 +2406,37 @@
    0=  if  drop .ssids cr  then         ( )
 ;
 
+: ta-n  ( n -- )
+   #antennae d# 2 =  if
+      ." antenna to" dup .
+      set-antenna cr
+   else
+      drop
+   then
+;
+
+: ta-d
+   #antennae d# 2 = if
+      ." diversity "  set-antenna-diversity  cr
+   then
+;
+
+: ta-a  ." associate "  close  open drop  ;
+
 : test-antenna  ( -- )
-   ." keys: (0,1,2,3,d,a,s,q)" cr
+   ta-init
    begin
-      d# 100 ms  show-antenna  key?  if
+      d# 100 ms  ta-show  key?  if
          cr  key
          case
             h# 71 ( q ) of  ." quit"  exit  endof
-            h# 1b       of  exit  endof
-            h# 30 ( 0 ) of  ." antenna to 0 "  0  set-antenna  cr  endof
-            h# 31 ( 1 ) of  ." antenna to 1 "  1  set-antenna  cr  endof
-            h# 32 ( 2 ) of  ." antenna to 2 "  2  set-antenna  cr  endof
-            h# 33 ( 3 ) of  ." antenna to 3 "  3  set-antenna  cr  endof
-            h# 64 ( d ) of  ." diversity "  set-antenna-diversity  cr  endof
-            h# 61 ( a ) of  ." associate "  close  open drop  endof
+            h# 1b       of  exit     endof
+            h# 30 ( 0 ) of  0 ta-n   endof
+            h# 31 ( 1 ) of  1 ta-n   endof
+            h# 32 ( 2 ) of  2 ta-n   endof
+            h# 33 ( 3 ) of  3 ta-n   endof
+            h# 64 ( d ) of  ta-d     endof
+            h# 61 ( a ) of  ta-a     endof
             h# 73 ( s ) of  ta-scan  endof
          endcase
       then



More information about the openfirmware mailing list