[openfirmware] [commit] r2218 - cpu/arm/mmp2
repository service
svn at openfirmware.info
Mon May 23 21:47:32 CEST 2011
Author: wmb
Date: Mon May 23 21:47:31 2011
New Revision: 2218
URL: http://tracker.coreboot.org/trac/openfirmware/changeset/2218
Log:
OLPC XO-1.75 - Added support for sdkit in twsi.fth
Modified:
cpu/arm/mmp2/twsi.fth
Modified: cpu/arm/mmp2/twsi.fth
==============================================================================
--- cpu/arm/mmp2/twsi.fth Mon May 23 20:40:14 2011 (r2217)
+++ cpu/arm/mmp2/twsi.fth Mon May 23 21:47:31 2011 (r2218)
@@ -2,30 +2,40 @@
\ 0 0 " d4011000" " /" begin-package
-0 value chip
+[ifdef] unaligned-mmap
+h# d4050000 unaligned-mmap constant clock-unit-pa
+[then]
+
+0 value twsi-chip
0 value clock-reg
0 value slave-address
-: dbr@ ( -- n ) chip h# 08 + l@ ;
-: cr@ ( -- n ) chip h# 10 + l@ ;
-: sr@ ( -- n ) chip h# 18 + l@ ;
-: sar@ ( -- n ) chip h# 20 + l@ ;
-: lcr@ ( -- n ) chip h# 28 + l@ ;
-: dbr! ( n -- ) chip h# 08 + l! ;
-: cr! ( n -- ) chip h# 10 + l! ;
-: sr! ( n -- ) chip h# 18 + l! ;
-: sar! ( n -- ) chip h# 20 + l! ;
-: lcr! ( n -- ) chip h# 28 + l! ;
+: dbr@ ( -- n ) twsi-chip h# 08 + l@ ;
+: cr@ ( -- n ) twsi-chip h# 10 + l@ ;
+: sr@ ( -- n ) twsi-chip h# 18 + l@ ;
+: sar@ ( -- n ) twsi-chip h# 20 + l@ ;
+: lcr@ ( -- n ) twsi-chip h# 28 + l@ ;
+: dbr! ( n -- ) twsi-chip h# 08 + l! ;
+: cr! ( n -- ) twsi-chip h# 10 + l! ;
+: sr! ( n -- ) twsi-chip h# 18 + l! ;
+: sar! ( n -- ) twsi-chip h# 20 + l! ;
+: lcr! ( n -- ) twsi-chip h# 28 + l! ;
create channel-bases
h# D4011000 , h# D4031000 , h# D4032000 , h# D4033000 , h# D4033800 , h# D4034000 ,
+[ifdef] unaligned-mmap
+6 0 do
+ channel-bases i la+ l@ unaligned-mmap channel-bases i la+ l!
+loop
+[then]
+
create clock-offsets
h# 04 c, h# 08 c, h# 0c c, h# 10 c, h# 7c c, h# 80 c,
: set-twsi-channel ( channel -- )
1-
- channel-bases over na+ @ to chip ( channel )
+ channel-bases over na+ @ to twsi-chip ( channel )
clock-offsets + c@ clock-unit-pa + to clock-reg ( )
;
: set-twsi-target ( slave channel -- ) \ Channel numbers range from 1 to 6
@@ -129,6 +139,7 @@
: twsi-b@ ( reg -- byte ) 1 1 twsi-get ;
: twsi-b! ( byte reg -- ) 2 twsi-write ;
+[ifdef] begin-package
0 0 " " " /" begin-package
" twsi" name
@@ -145,3 +156,4 @@
: decode-unit ( adr len -- low high ) parse-2int ;
: encode-unit ( low high -- adr len ) >r <# u#s drop [char] , hold r> u#s u#> ;
end-package
+[then]
More information about the openfirmware
mailing list