dma: sun4i: Add support for the DMA engine on sun[457]i SoCs

This patch adds support for the DMA engine present on Allwinner A10,
A13, A10S and A20 SoCs. This engine has two kinds of channels: normal
and dedicated. The main difference is in the mode of operation;
while a single normal channel may be operating at any given time,
dedicated channels may operate simultaneously provided there is no
overlap of source or destination.

Hardware documentation can be found on A10 User Manual (section 12), A13
User Manual (section 14) and A20 User Manual (section 1.12)

Signed-off-by: Emilio López <emilio@elopez.com.ar>
serial: 8250_dw: support DMA on the OF case

Currently, DMA properties on the DT are ignored when using the 8250_dw
driver. With this patch, DMA will be used when available.

Signed-off-by: Emilio López <emilio@elopez.com.ar>
spi: sun4i: add DMA support

This patch adds DMA support for 64 byte transfers on the sun4i SPI
controller. Bigger transfers did not seem to work when tested, and if
the hardware actually supports those, it will need further
investigation as to how to issue them correctly.

Signed-off-by: Emilio López <emilio@elopez.com.ar>
ARM: sun7i: Add node to represent the DMA controller

The A20 SoC has a sun4i-compatible DMA controller. Let's add a node to
represent it on the device tree.

Signed-off-by: Emilio López <emilio@elopez.com.ar>
ARM: sun4i: Add node to represent the DMA controller

Let's add a node to represent the A10 DMA controller on the device tree.

Signed-off-by: Emilio López <emilio@elopez.com.ar>
ARM: sun7i: enable DMA on SPI

All of our SPI controllers support DMA transfers, so let's add the
properties here so they can be used when it's best to do so.

Signed-off-by: Emilio López <emilio@elopez.com.ar>
ARM: sun4i: enable DMA on SPI

All of our SPI controllers support DMA transfers, so let's add the
properties here so they can be used when it's best to do so.

Signed-off-by: Emilio López <emilio@elopez.com.ar>
ARM: sun7i: add DMA properties to UARTs

Our UARTs also support DMA transfers, let's enable them for the sake of
testing.

Signed-off-by: Emilio López <emilio@elopez.com.ar>
ARM: sun4i: cubieboard: add an SPIdev device for testing
ARM: sun7i: cubietruck: add an SPIdev device for testing