[U-Boot] [PATCH 00/11] 85xx/86xx dma updates

Peter Tyser ptyser at xes-inc.com
Thu May 21 22:49:29 CEST 2009


On Thu, 2009-05-21 at 12:37 -0700, Ira Snyder wrote:
> On Thu, May 21, 2009 at 12:09:58PM -0500, Peter Tyser wrote:
> > This patch series attempts to clean up the DMA implementation for the
> > 85xx and 86xx architectures.  The changes include:
> > - consolidate 85xx and 86xx structures and code
> > - add defines for bitfields
> > - use proper IO accessors
> > - add support for arbitrarily large transfer sizes
> > - rename dma_xfer() to dmacpy() and make dmacpy's prototype similar
> >   to memcpy()
> > 
> > The patches are based on the mainline "next" branch.
> > 
> > I've tested the code on MPC8572 and MPC8640-based boards.
> > 
> > I'm not initimately familar with the 83xx platform, but at a glance
> > it looked like the fsl_dma driver could be extended to support it
> > with some ifdeffery.
> > 
> 
> I've been doing some Linux work with the 83xx DMA controller. The only
> real differences between the 83xx/85xx controller are the register
> endianness and snoop bits. The 83xx controller's registers are all
> little-endian, while the 85xx is all big-endian.
> 
> Also, there are some snoop bits that need to be enabled on 83xx as well,
> in the control register as well as in each descriptor if you're running
> in chaining mode.
> 
> That's everything that I've noticed that is different. I don't have an
> 85xx/86xx to test anything with, but I'm happy to run some tests on my
> mpc8349emds if you want to try adding support for 83xx.

Thanks!

I believe some of the register locations are slightly different too, for
example the source address on the 85xx is at offset 0x114 while its at
0x110 on the 83xx.

I don't think any 83xx boards currently use the 83xx DMA implementation
in cpu/mpc83xx/cpu.c.  Before spending any time on the 83xx, is there
any good reason to support the 83xx in U-Boot?  There would be no users
of the updated implementation as is.

Best,
Peter



More information about the U-Boot mailing list