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