mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-28 11:18:45 +07:00
b5a4c37324
For Spreadtrum DMA engine, all channels are equal, which means slave can request any channels with setting a unique slave id to trigger this channel. Thus we can remove the channel id from device tree to assign the channel dynamically, moreover we should add the slave id in device tree. Signed-off-by: Baolin Wang <baolin.wang@linaro.org> Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: Vinod Koul <vkoul@kernel.org>
42 lines
1.2 KiB
Plaintext
42 lines
1.2 KiB
Plaintext
* Spreadtrum DMA controller
|
|
|
|
This binding follows the generic DMA bindings defined in dma.txt.
|
|
|
|
Required properties:
|
|
- compatible: Should be "sprd,sc9860-dma".
|
|
- reg: Should contain DMA registers location and length.
|
|
- interrupts: Should contain one interrupt shared by all channel.
|
|
- #dma-cells: must be <1>. Used to represent the number of integer
|
|
cells in the dmas property of client device.
|
|
- #dma-channels : Number of DMA channels supported. Should be 32.
|
|
- clock-names: Should contain the clock of the DMA controller.
|
|
- clocks: Should contain a clock specifier for each entry in clock-names.
|
|
|
|
Example:
|
|
|
|
Controller:
|
|
apdma: dma-controller@20100000 {
|
|
compatible = "sprd,sc9860-dma";
|
|
reg = <0x20100000 0x4000>;
|
|
interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
|
|
#dma-cells = <1>;
|
|
#dma-channels = <32>;
|
|
clock-names = "enable";
|
|
clocks = <&clk_ap_ahb_gates 5>;
|
|
};
|
|
|
|
|
|
Client:
|
|
DMA clients connected to the Spreadtrum DMA controller must use the format
|
|
described in the dma.txt file, using a two-cell specifier for each channel.
|
|
The two cells in order are:
|
|
1. A phandle pointing to the DMA controller.
|
|
2. The slave id.
|
|
|
|
spi0: spi@70a00000{
|
|
...
|
|
dma-names = "rx_chn", "tx_chn";
|
|
dmas = <&apdma 11>, <&apdma 12>;
|
|
...
|
|
};
|