[openfirmware] [commit] r2732 - in cpu/arm: mmp2 olpc
repository service
svn at openfirmware.info
Tue Dec 6 08:10:17 CET 2011
Author: wmb
Date: Tue Dec 6 08:10:17 2011
New Revision: 2732
URL: http://tracker.coreboot.org/trac/openfirmware/changeset/2732
Log:
OLPC XO-3 - Added I/O mapping support for the fragment of I/O space that is discontinous with the rest of I/O space, for the benefit of the USB Single-Port Host controller which is in that other area.
Modified:
cpu/arm/mmp2/hwaddrs.fth
cpu/arm/mmp2/rootnode.fth
cpu/arm/olpc/initmmu.fth
Modified: cpu/arm/mmp2/hwaddrs.fth
==============================================================================
--- cpu/arm/mmp2/hwaddrs.fth Tue Dec 6 08:10:06 2011 (r2731)
+++ cpu/arm/mmp2/hwaddrs.fth Tue Dec 6 08:10:17 2011 (r2732)
@@ -6,12 +6,17 @@
h# d400.0000 constant apb-pa \ Base of APB bus
h# d420.0000 constant axi-pa \ Base of AXI bus
+h# f000.0000 constant axi2-pa \ Another AXI bus area
h# e000.0000 constant audio-sram-pa \ Base of Audio SRAM
h# 0010.0000 constant /audio-sram \ Size of Audio SRAM
apb-pa constant io-pa \ We use this as the base for most IO accesses
-h# 0040.0000 constant /io
+h# 0030.0000 constant /io
+
+axi2-pa constant io2-pa \ Additional I/O space
+h# 0010.0000 constant /io2
+
\ The following are offsets from io-pa
\ AXI devices
Modified: cpu/arm/mmp2/rootnode.fth
==============================================================================
--- cpu/arm/mmp2/rootnode.fth Tue Dec 6 08:10:06 2011 (r2731)
+++ cpu/arm/mmp2/rootnode.fth Tue Dec 6 08:10:17 2011 (r2732)
@@ -25,10 +25,18 @@
: close ( -- ) ;
: map-in ( phys size -- virt )
- drop ( phys )
+ drop ( phys )
\ The display driver uses fb-mem-va directly instead of calling map-in
\ dup fb-mem-va >physical = if drop fb-mem-va exit then ( phys )
- io-pa - io-va +
+ dup io2-pa u>= if ( phys )
+ io2-pa - io2-va + ( virt )
+ exit
+ then ( phys )
+ dup io-pa u>= if ( phys )
+ io-pa - io-va + ( virt )
+ exit
+ then ( phys )
+ \ Fall through to return virt == phys
;
: map-out ( virtual size -- )
2drop
Modified: cpu/arm/olpc/initmmu.fth
==============================================================================
--- cpu/arm/olpc/initmmu.fth Tue Dec 6 08:10:06 2011 (r2731)
+++ cpu/arm/olpc/initmmu.fth Tue Dec 6 08:10:17 2011 (r2732)
@@ -316,6 +316,12 @@
set r4,`io-va #` \ Virtual address
bl `map-sections`
+ set r1,`io2-pa #` \ Address of I/O
+ set r2,`/io2 #` \ Size of I/O region
+ set r3,#0xc02 \ No caching or write buffering
+ set r4,`io2-va #` \ Virtual address
+ bl `map-sections`
+
mov pc, r10
end-code
More information about the openfirmware
mailing list