162306a36Sopenharmony_ciNXP LPC18xx/43xx DMA MUX (DMA request router)
262306a36Sopenharmony_ci
362306a36Sopenharmony_ciRequired properties:
462306a36Sopenharmony_ci- compatible:	"nxp,lpc1850-dmamux"
562306a36Sopenharmony_ci- reg:		Memory map for accessing module
662306a36Sopenharmony_ci- #dma-cells:	Should be set to <3>.
762306a36Sopenharmony_ci		* 1st cell contain the master dma request signal
862306a36Sopenharmony_ci		* 2nd cell contain the mux value (0-3) for the peripheral
962306a36Sopenharmony_ci		* 3rd cell contain either 1 or 2 depending on the AHB
1062306a36Sopenharmony_ci		  master used.
1162306a36Sopenharmony_ci- dma-requests:	Number of DMA requests for the mux
1262306a36Sopenharmony_ci- dma-masters:	phandle pointing to the DMA controller
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ciThe DMA controller node need to have the following poroperties:
1562306a36Sopenharmony_ci- dma-requests:	Number of DMA requests the controller can handle
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ciExample:
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_cidmac: dma@40002000 {
2062306a36Sopenharmony_ci	compatible = "nxp,lpc1850-gpdma", "arm,pl080", "arm,primecell";
2162306a36Sopenharmony_ci	arm,primecell-periphid = <0x00041080>;
2262306a36Sopenharmony_ci	reg = <0x40002000 0x1000>;
2362306a36Sopenharmony_ci	interrupts = <2>;
2462306a36Sopenharmony_ci	clocks = <&ccu1 CLK_CPU_DMA>;
2562306a36Sopenharmony_ci	clock-names = "apb_pclk";
2662306a36Sopenharmony_ci	#dma-cells = <2>;
2762306a36Sopenharmony_ci	dma-channels = <8>;
2862306a36Sopenharmony_ci	dma-requests = <16>;
2962306a36Sopenharmony_ci	lli-bus-interface-ahb1;
3062306a36Sopenharmony_ci	lli-bus-interface-ahb2;
3162306a36Sopenharmony_ci	mem-bus-interface-ahb1;
3262306a36Sopenharmony_ci	mem-bus-interface-ahb2;
3362306a36Sopenharmony_ci	memcpy-burst-size = <256>;
3462306a36Sopenharmony_ci	memcpy-bus-width = <32>;
3562306a36Sopenharmony_ci};
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_cidmamux: dma-mux {
3862306a36Sopenharmony_ci	compatible = "nxp,lpc1850-dmamux";
3962306a36Sopenharmony_ci	#dma-cells = <3>;
4062306a36Sopenharmony_ci	dma-requests = <64>;
4162306a36Sopenharmony_ci	dma-masters = <&dmac>;
4262306a36Sopenharmony_ci};
4362306a36Sopenharmony_ci
4462306a36Sopenharmony_ciuart0: serial@40081000 {
4562306a36Sopenharmony_ci	compatible = "nxp,lpc1850-uart", "ns16550a";
4662306a36Sopenharmony_ci	reg = <0x40081000 0x1000>;
4762306a36Sopenharmony_ci	reg-shift = <2>;
4862306a36Sopenharmony_ci	interrupts = <24>;
4962306a36Sopenharmony_ci	clocks = <&ccu2 CLK_APB0_UART0>, <&ccu1 CLK_CPU_UART0>;
5062306a36Sopenharmony_ci	clock-names = "uartclk", "reg";
5162306a36Sopenharmony_ci	dmas = <&dmamux 1 1 2
5262306a36Sopenharmony_ci		&dmamux 2 1 2>;
5362306a36Sopenharmony_ci	dma-names = "tx", "rx";
5462306a36Sopenharmony_ci};
55