mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-27 13:05:10 +07:00
b096c1377d
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> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> Signed-off-by: Vinod Koul <vinod.koul@intel.com>
47 lines
1.4 KiB
Plaintext
47 lines
1.4 KiB
Plaintext
Allwinner A10 DMA Controller
|
|
|
|
This driver follows the generic DMA bindings defined in dma.txt.
|
|
|
|
Required properties:
|
|
|
|
- compatible: Must be "allwinner,sun4i-a10-dma"
|
|
- reg: Should contain the registers base address and length
|
|
- interrupts: Should contain a reference to the interrupt used by this device
|
|
- clocks: Should contain a reference to the parent AHB clock
|
|
- #dma-cells : Should be 2, first cell denoting normal or dedicated dma,
|
|
second cell holding the request line number.
|
|
|
|
Example:
|
|
dma: dma-controller@01c02000 {
|
|
compatible = "allwinner,sun4i-a10-dma";
|
|
reg = <0x01c02000 0x1000>;
|
|
interrupts = <27>;
|
|
clocks = <&ahb_gates 6>;
|
|
#dma-cells = <2>;
|
|
};
|
|
|
|
Clients:
|
|
|
|
DMA clients connected to the Allwinner A10 DMA controller must use the
|
|
format described in the dma.txt file, using a three-cell specifier for
|
|
each channel: a phandle plus two integer cells.
|
|
The three cells in order are:
|
|
|
|
1. A phandle pointing to the DMA controller.
|
|
2. Whether it is using normal (0) or dedicated (1) channels
|
|
3. The port ID as specified in the datasheet
|
|
|
|
Example:
|
|
spi2: spi@01c17000 {
|
|
compatible = "allwinner,sun4i-a10-spi";
|
|
reg = <0x01c17000 0x1000>;
|
|
interrupts = <0 12 4>;
|
|
clocks = <&ahb_gates 22>, <&spi2_clk>;
|
|
clock-names = "ahb", "mod";
|
|
dmas = <&dma 1 29>, <&dma 1 28>;
|
|
dma-names = "rx", "tx";
|
|
status = "disabled";
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
};
|