123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- * 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";
|