mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-14 06:24:53 +08:00
fbd7e41005
This introduces device tree bindings for the PL08x DMA controllers when used with fixed signal assignment per channel, i.e. if each channel on the PL08x is assigned precisely one burst/single signal set. [je: remove channel sub-node parsing, use cell value to assign AHB] Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Joachim Eastwood <manabian@gmail.com> Signed-off-by: Vinod Koul <vinod.koul@intel.com>
55 lines
1.8 KiB
Plaintext
55 lines
1.8 KiB
Plaintext
* ARM PrimeCells PL080 and PL081 and derivatives DMA controller
|
|
|
|
Required properties:
|
|
- compatible: "arm,pl080", "arm,primecell";
|
|
"arm,pl081", "arm,primecell";
|
|
- reg: Address range of the PL08x registers
|
|
- interrupt: The PL08x interrupt number
|
|
- clocks: The clock running the IP core clock
|
|
- clock-names: Must contain "apb_pclk"
|
|
- lli-bus-interface-ahb1: if AHB master 1 is eligible for fetching LLIs
|
|
- lli-bus-interface-ahb2: if AHB master 2 is eligible for fetching LLIs
|
|
- mem-bus-interface-ahb1: if AHB master 1 is eligible for fetching memory contents
|
|
- mem-bus-interface-ahb2: if AHB master 2 is eligible for fetching memory contents
|
|
- #dma-cells: must be <2>. First cell should contain the DMA request,
|
|
second cell should contain either 1 or 2 depending on
|
|
which AHB master that is used.
|
|
|
|
Optional properties:
|
|
- dma-channels: contains the total number of DMA channels supported by the DMAC
|
|
- dma-requests: contains the total number of DMA requests supported by the DMAC
|
|
- memcpy-burst-size: the size of the bursts for memcpy: 1, 4, 8, 16, 32
|
|
64, 128 or 256 bytes are legal values
|
|
- memcpy-bus-width: the bus width used for memcpy: 8, 16 or 32 are legal
|
|
values
|
|
|
|
Clients
|
|
Required properties:
|
|
- dmas: List of DMA controller phandle, request channel and AHB master id
|
|
- dma-names: Names of the aforementioned requested channels
|
|
|
|
Example:
|
|
|
|
dmac0: dma-controller@10130000 {
|
|
compatible = "arm,pl080", "arm,primecell";
|
|
reg = <0x10130000 0x1000>;
|
|
interrupt-parent = <&vica>;
|
|
interrupts = <15>;
|
|
clocks = <&hclkdma0>;
|
|
clock-names = "apb_pclk";
|
|
lli-bus-interface-ahb1;
|
|
lli-bus-interface-ahb2;
|
|
mem-bus-interface-ahb2;
|
|
memcpy-burst-size = <256>;
|
|
memcpy-bus-width = <32>;
|
|
#dma-cells = <2>;
|
|
};
|
|
|
|
device@40008000 {
|
|
...
|
|
dmas = <&dmac0 0 2
|
|
&dmac0 1 2>;
|
|
dma-names = "tx", "rx";
|
|
...
|
|
};
|