[PATCH RESEND v2 0/2] ARM: sun8i: Add DMA controller support

Chen-Yu Tsai wens at csie.org
Thu Nov 6 20:15:45 PST 2014

Hi Vinod,

This is my sun8i DMA controller series rebased onto slave-dma/next
(2ffff42 "dmaengine: xdmac: fix print warning on dma_addr_t variable")

Original cover letter:

This is v2 of my sun8i DMA controller support series. This series
adds support for the DMA controller found in the Allwinner A23 SoC.
It is the same hardware as found in the A31 (sun6i) SoC. In addition
to reduced physical channels and endpoints, the controller in the A23
requires an undocumented register to be toggled. That seems to allow
memory bus access.

This series is based on my earlier "clk: sun6i: Unify AHB1 clock and
fix rate calculation" series, which removes the clock muxing calls from
the sun6i-dma driver. The default PLL6 pre-divider for AHB1 on the A23
results in an exceedingly high clock rate for AHB1, and the system hangs.
Also, on the A23, the dma controller happily works even when AHB1 is
clocked from AXI.

Patch 1 changes the channel count macros into runtime data binded to
the DT compatible strings. It also gets rid of some hardcoded values
in the interrupt handler.

Patch 2 adds the channel number data for the A23 (sun8i), as well as
the undocumented register quirk.

Patch 3 adds the dma controller node, and related dma resources, to the

Changes since v1:

  - Added Maxime's Acked-by for patch 1
  - Added macros for sun8i specific dma gating registers, and updated
    comment to reflect its usage.


Chen-Yu Tsai (2):
  dmaengine: sun6i: support parameterized compatible strings
  dmaengine: sun6i: Add support for Allwinner A23 (sun8i) variant

 .../devicetree/bindings/dma/sun6i-dma.txt          |   2 +-
 drivers/dma/Kconfig                                |   4 +-
 drivers/dma/sun6i-dma.c                            | 121 +++++++++++++++------
 3 files changed, 90 insertions(+), 37 deletions(-)


More information about the linux-arm-kernel mailing list