forked from Minki/linux
76 lines
1.9 KiB
Plaintext
76 lines
1.9 KiB
Plaintext
|
* SHDMA Device Tree bindings
|
||
|
|
||
|
Sh-/r-mobile and r-car systems often have multiple identical DMA controller
|
||
|
instances, capable of serving any of a common set of DMA slave devices, using
|
||
|
the same configuration. To describe this topology we require all compatible
|
||
|
SHDMA DT nodes to be placed under a DMA multiplexer node. All such compatible
|
||
|
DMAC instances have the same number of channels and use the same DMA
|
||
|
descriptors. Therefore respective DMA DT bindings can also all be placed in the
|
||
|
multiplexer node. Even if there is only one such DMAC instance on a system, it
|
||
|
still has to be placed under such a multiplexer node.
|
||
|
|
||
|
* DMA multiplexer
|
||
|
|
||
|
Required properties:
|
||
|
- compatible: should be "renesas,shdma-mux"
|
||
|
- #dma-cells: should be <1>, see "dmas" property below
|
||
|
|
||
|
Optional properties (currently unused):
|
||
|
- dma-channels: number of DMA channels
|
||
|
- dma-requests: number of DMA request signals
|
||
|
|
||
|
* DMA controller
|
||
|
|
||
|
Required properties:
|
||
|
- compatible: should be "renesas,shdma"
|
||
|
|
||
|
Example:
|
||
|
dmac: dma-mux0 {
|
||
|
compatible = "renesas,shdma-mux";
|
||
|
#dma-cells = <1>;
|
||
|
dma-channels = <6>;
|
||
|
dma-requests = <256>;
|
||
|
reg = <0 0>; /* Needed for AUXDATA */
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <1>;
|
||
|
ranges;
|
||
|
|
||
|
dma0: shdma@fe008020 {
|
||
|
compatible = "renesas,shdma";
|
||
|
reg = <0xfe008020 0x270>,
|
||
|
<0xfe009000 0xc>;
|
||
|
interrupt-parent = <&gic>;
|
||
|
interrupts = <0 34 4
|
||
|
0 28 4
|
||
|
0 29 4
|
||
|
0 30 4
|
||
|
0 31 4
|
||
|
0 32 4
|
||
|
0 33 4>;
|
||
|
interrupt-names = "error",
|
||
|
"ch0", "ch1", "ch2", "ch3",
|
||
|
"ch4", "ch5";
|
||
|
};
|
||
|
|
||
|
dma1: shdma@fe018020 {
|
||
|
...
|
||
|
};
|
||
|
|
||
|
dma2: shdma@fe028020 {
|
||
|
...
|
||
|
};
|
||
|
};
|
||
|
|
||
|
* DMA client
|
||
|
|
||
|
Required properties:
|
||
|
- dmas: a list of <[DMA multiplexer phandle] [MID/RID value]> pairs,
|
||
|
where MID/RID values are fixed handles, specified in the SoC
|
||
|
manual
|
||
|
- dma-names: a list of DMA channel names, one per "dmas" entry
|
||
|
|
||
|
Example:
|
||
|
dmas = <&dmac 0xd1
|
||
|
&dmac 0xd2>;
|
||
|
dma-names = "tx", "rx";
|