Author: wmb Date: Wed Dec 8 22:24:34 2010 New Revision: 2068 URL: http://tracker.coreboot.org/trac/openfirmware/changeset/2068
Log: XO-1.75 - make DMA space uncached so USB descriptors work right.
Modified: cpu/arm/mmp2/mmuon.fth cpu/arm/mmp2/rootnode.fth
Modified: cpu/arm/mmp2/mmuon.fth ============================================================================== --- cpu/arm/mmp2/mmuon.fth Wed Dec 8 06:37:16 2010 (r2067) +++ cpu/arm/mmp2/mmuon.fth Wed Dec 8 22:24:34 2010 (r2068) @@ -23,10 +23,11 @@ ;
: ofw-sections ( -- ) - h# 0000.0000 h# c0e over fb-pa map-sections \ Cache and write bufferable -\ fw-pa h# c0e over /fw-ram map-sections \ Cache and write bufferable + h# 0000.0000 h# c0e over dma-base map-sections \ Cache and write bufferable + dma-base h# c02 over dma-size map-sections \ Non-cacheable DMA space + fw-pa h# c0e over /fw-ram map-sections \ Cache and write bufferable fb-pa h# c06 over fb-size map-sections \ Write bufferable -\ h# d100.0000 h# c0e over h# 0030.0000 map-sections \ Cache and write bufferable (SRAM) +\ h# d100.0000 h# c0e over h# 0030.0000 map-sections \ Cache and write bufferable (SRAM) h# d100.0000 h# c02 over h# 0030.0000 map-sections \ I/O - no caching or buffering (SRAM) h# d400.0000 h# c02 over h# 0040.0000 map-sections \ I/O - no caching or buffering h# e000.0000 h# c02 over /section map-sections \ Audio SRAM - no caching or buffering
Modified: cpu/arm/mmp2/rootnode.fth ============================================================================== --- cpu/arm/mmp2/rootnode.fth Wed Dec 8 06:37:16 2010 (r2067) +++ cpu/arm/mmp2/rootnode.fth Wed Dec 8 22:24:34 2010 (r2068) @@ -109,9 +109,12 @@ ; : dma-map-out ( virt devaddr size -- ) nip flush-d$-range ;
-: dma-sync ( virt devaddr size -- ) nip flush-d$-range ; -: dma-push ( virt devaddr size -- ) nip flush-d$-range ; -: dma-pull ( virt devaddr size -- ) nip flush-d$-range ; +\ : dma-sync ( virt devaddr size -- ) nip flush-d$-range ; +\ : dma-push ( virt devaddr size -- ) nip flush-d$-range ; +\ : dma-pull ( virt devaddr size -- ) nip flush-d$-range ; +: dma-sync ( virt devaddr size -- ) 3drop ; +: dma-push ( virt devaddr size -- ) 3drop ; +: dma-pull ( virt devaddr size -- ) 3drop ;
finish-device
openfirmware@openfirmware.info