DMA-transfer on 440ep

extabe at bredband.net extabe at bredband.net
Fri Jul 22 19:27:43 EST 2005


Hi,

I'm having problem with DMA on the EBC bus on the PPC440ep preocessor. Previously we have the dma code working on the PPC405gpr.

We are doing a read and write from pheriperal to memory and the system hangs a short time after enabling the dma channel.
Using linux 2.4.20 and the same kernel-dma code as for 405 (patched ppc4xx_dma.c/sgdma.c).

Changes i've made for the 440ep:
 * the GPIO multiplexing for DMA is setup correctly (at least i'm getting a DMAreq on the channel).
 * the EBC is 16 bits instead of 32 (PW_16 in dma setup).
 * the irqs are on different numbers. (dma irq works)

Also if i do a memory to memory transfer just for debugging, the dma works as far as not hanging, but no data has changed in the destination memory when the transfer is done...

 * Are there more setup to be made to get the dma controller to be enabled?
 * What is the DMA2P30_ADR register good for?

What am i missing?




More information about the Linuxppc-embedded mailing list