1Texas Instruments DMA Crossbar (DMA request router) 2 3Required properties: 4- compatible: "ti,dra7-dma-crossbar" for DRA7xx DMA crossbar 5 "ti,am335x-edma-crossbar" for AM335x and AM437x 6- reg: Memory map for accessing module 7- #dma-cells: Should be set to to match with the DMA controller's dma-cells 8 for ti,dra7-dma-crossbar and <3> for ti,am335x-edma-crossbar. 9- dma-requests: Number of DMA requests the crossbar can receive 10- dma-masters: phandle pointing to the DMA controller 11 12The DMA controller node need to have the following poroperties: 13- dma-requests: Number of DMA requests the controller can handle 14 15Optional properties: 16- ti,dma-safe-map: Safe routing value for unused request lines 17 18Notes: 19When requesting channel via ti,dra7-dma-crossbar, the DMA clinet must request 20the DMA event number as crossbar ID (input to the DMA crossbar). 21 22For ti,am335x-edma-crossbar: the meaning of parameters of dmas for clients: 23dmas = <&edma_xbar 12 0 1>; where <12> is the DMA request number, <0> is the TC 24the event should be assigned and <1> is the mux selection for in the crossbar. 25When mux 0 is used the DMA channel can be requested directly from edma node. 26 27Example: 28 29/* DMA controller */ 30sdma: dma-controller@4a056000 { 31 compatible = "ti,omap4430-sdma"; 32 reg = <0x4a056000 0x1000>; 33 interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>, 34 <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>, 35 <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>, 36 <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; 37 #dma-cells = <1>; 38 dma-channels = <32>; 39 dma-requests = <127>; 40}; 41 42/* DMA crossbar */ 43sdma_xbar: dma-router@4a002b78 { 44 compatible = "ti,dra7-dma-crossbar"; 45 reg = <0x4a002b78 0xfc>; 46 #dma-cells = <1>; 47 dma-requests = <205>; 48 ti,dma-safe-map = <0>; 49 dma-masters = <&sdma>; 50}; 51 52/* DMA client */ 53uart1: serial@4806a000 { 54 compatible = "ti,omap4-uart"; 55 reg = <0x4806a000 0x100>; 56 interrupts-extended = <&gic GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; 57 ti,hwmods = "uart1"; 58 clock-frequency = <48000000>; 59 status = "disabled"; 60 /* Requesting crossbar input 49 and 50 */ 61 dmas = <&sdma_xbar 49>, <&sdma_xbar 50>; 62 dma-names = "tx", "rx"; 63}; 64