
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.
Peter Tyser (11): fsl: Create common fsl_dma.h for 85xx and 86xx cpus 85xx, 86xx: Sync up DMA code 85xx, 86xx: Break out DMA code to a common file fsl_dma: Add bitfield definitions for common registers fsl_dma: Update to use proper I/O accessor functions fsl_dma: Add support for arbitrarily large transfers fsl_dma: Fix Channel Start bug in dma_check() 8xxx: Rename dma_xfer() dmacpy() fsl_dma: Move dma function prototypes to common header file 85xx, 86xx: Move dma_init() call to common code fsl_dma: Break out common memory initialization function
board/mpc8540eval/mpc8540eval.c | 35 +--------- board/sbc8560/sbc8560.c | 33 +--------- cpu/mpc83xx/cpu.c | 4 +- cpu/mpc83xx/spd_sdram.c | 24 +++--- cpu/mpc85xx/cpu.c | 44 ------------ cpu/mpc85xx/cpu_init.c | 4 +- cpu/mpc85xx/ddr-gen1.c | 33 +--------- cpu/mpc86xx/cpu.c | 50 ------------- cpu/mpc86xx/cpu_init.c | 3 + drivers/dma/Makefile | 1 + drivers/dma/fsl_dma.c | 146 +++++++++++++++++++++++++++++++++++++++ include/asm-ppc/fsl_dma.h | 105 ++++++++++++++++++++++++++++ include/asm-ppc/immap_85xx.h | 76 +------------------- include/asm-ppc/immap_86xx.h | 78 ++------------------- include/configs/PM854.h | 1 + include/configs/PM856.h | 1 + 16 files changed, 286 insertions(+), 352 deletions(-) create mode 100644 drivers/dma/fsl_dma.c create mode 100644 include/asm-ppc/fsl_dma.h