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

repository service svn at openfirmware.info
Fri Aug 31 01:42:31 CEST 2012


Author: wmb
Date: Fri Aug 31 01:42:31 2012
New Revision: 3258
URL: http://tracker.coreboot.org/trac/openfirmware/changeset/3258

Log:
OLPC ARM - Converted the RTC driver to use the new TWSI factoring, at the same time changing all occurrences of the method names "byte@" and "byte!" to "reg-b@" and "reg-b!".

Modified:
   cpu/arm/mmp2/twsi-node.fth
   cpu/arm/mmp2/twsi-package.fth
   cpu/arm/olpc/accelerometer.fth
   cpu/arm/olpc/rtc.fth

Modified: cpu/arm/mmp2/twsi-node.fth
==============================================================================
--- cpu/arm/mmp2/twsi-node.fth	Fri Aug 31 01:28:30 2012	(r3257)
+++ cpu/arm/mmp2/twsi-node.fth	Fri Aug 31 01:42:31 2012	(r3258)
@@ -57,8 +57,8 @@
 
 : get  ( #bytes -- bytes ... )  0 swap  bytes-out-in  ;
 
-: byte@  ( -- )  " byte@" $call-twsi  ;
-: byte!  ( -- )  " byte!" $call-twsi  ;
+: reg-b@  ( reg# -- b )  " reg-b@" $call-twsi  ;
+: reg-b!  ( b reg# -- )  " reg-b!" $call-twsi  ;
 : bytes-out  ( byte .. #bytes -- )  " bytes-out" $call-twsi  ;
 
 \ Useful range is 25K .. 400K - 100K and 400K are typical

Modified: cpu/arm/mmp2/twsi-package.fth
==============================================================================
--- cpu/arm/mmp2/twsi-package.fth	Fri Aug 31 01:28:30 2012	(r3257)
+++ cpu/arm/mmp2/twsi-package.fth	Fri Aug 31 01:42:31 2012	(r3258)
@@ -136,8 +136,8 @@
    bbu_ICR_STOP twsi-putbyte          ( )
 ;
 
-: byte@  ( reg -- byte )  1 1 bytes-out-in  ;
-: byte!  ( byte reg -- )  2 bytes-out  ;
+: reg-b@  ( reg -- byte )  1 1 bytes-out-in  ;
+: reg-b!  ( byte reg -- )  2 bytes-out  ;
 
 : set-bus-standard  cr-set  h# 18000 invert and              to cr-set  ;
 : set-bus-fast      cr-set  h# 18000 invert and  h# 8000 or  to cr-set  ;

Modified: cpu/arm/olpc/accelerometer.fth
==============================================================================
--- cpu/arm/olpc/accelerometer.fth	Fri Aug 31 01:28:30 2012	(r3257)
+++ cpu/arm/olpc/accelerometer.fth	Fri Aug 31 01:42:31 2012	(r3258)
@@ -9,8 +9,8 @@
 \ This is for the stand-alone accelerometers LIS3DHTR and LIS33DETR
 
 \ We could call this just once in open if we had a TWSI parent node
-: acc-reg@  ( reg# -- b )  " byte@" $call-parent  ;
-: acc-reg!  ( b reg# -- )  " byte!" $call-parent  ;
+: acc-reg@  ( reg# -- b )  " reg-b@" $call-parent  ;
+: acc-reg!  ( b reg# -- )  " reg-b!" $call-parent  ;
 : ctl1!  ( b -- )  h# 20 acc-reg!  ;
 : ctl4!  ( b -- )  h# 23 acc-reg!  ;
 : accelerometer-on  ( -- )  h# 47 ctl1!  ;

Modified: cpu/arm/olpc/rtc.fth
==============================================================================
--- cpu/arm/olpc/rtc.fth	Fri Aug 31 01:28:30 2012	(r3257)
+++ cpu/arm/olpc/rtc.fth	Fri Aug 31 01:42:31 2012	(r3258)
@@ -2,23 +2,13 @@
 
 dev /i2c at d4031000  \ TWSI2
 new-device
-   " rtc" name
-   " idt,idt1338-rtc" +compatible
-   h# 68 1 reg
-
-[ifdef] cl2-a1
-: set-address  ( -- )
-   rtc-scl-gpio# to smb-clock-gpio#
-   rtc-sda-gpio# to smb-data-gpio#
-   h# 68 to smb-slave
-;
-: rtc@  ( reg# -- byte )  set-address  smb-byte@  ;
-: rtc!  ( byte reg# -- )  set-address  smb-byte!  ;
-[else]
-: set-address  ( -- )   h# 68 2 set-twsi-target  ;
-: rtc@  ( reg# -- byte )  set-address  twsi-b@  ;
-: rtc!  ( byte reg# -- )  set-address  twsi-b!  ;
-[then]
+
+" rtc" name
+" idt,idt1338-rtc" +compatible
+h# 68 1 reg
+
+: rtc@  ( reg# -- byte )  " reg-b@" $call-parent  ;
+: rtc!  ( byte reg# -- )  " reg-b!" $call-parent  ;
 
 headerless
 
@@ -33,6 +23,8 @@
 
 headers
 : open  ( -- okay )
+   my-unit " set-address" $call-parent
+
    0 ['] rtc@ catch  if        ( x )
       drop false  exit         ( -- false )
    then                        ( value )
@@ -58,12 +50,7 @@
 : >bcd  ( binary -- bcd )  d# 10 /mod  4 << +  ;
 
 : bcd-time&date  ( -- s m h d m y century )
-   set-address
-[ifdef] cl2-a1
-   9 0 smb-read-n  ( s m h dow d m y control c )
-[else]
-   0 1 9 twsi-get  ( s m h dow d m y control c )
-[then]
+   0 1 9 " bytes-out-in" $call-parent  ( s m h dow d m y control c )
    nip             ( s m h dow d m y c )
    4 roll drop     ( s m h d m y c )
 ;



More information about the openfirmware mailing list