173f67d35SPeter UjfalusiTexas Instruments DMA Crossbar (DMA request router) 273f67d35SPeter Ujfalusi 373f67d35SPeter UjfalusiRequired properties: 473f67d35SPeter Ujfalusi- compatible: "ti,dra7-dma-crossbar" for DRA7xx DMA crossbar 542dbdcc6SPeter Ujfalusi "ti,am335x-edma-crossbar" for AM335x and AM437x 673f67d35SPeter Ujfalusi- reg: Memory map for accessing module 7*19ea810eSDeming Wang- #dma-cells: Should be set to match with the DMA controller's dma-cells 842dbdcc6SPeter Ujfalusi for ti,dra7-dma-crossbar and <3> for ti,am335x-edma-crossbar. 973f67d35SPeter Ujfalusi- dma-requests: Number of DMA requests the crossbar can receive 1073f67d35SPeter Ujfalusi- dma-masters: phandle pointing to the DMA controller 1173f67d35SPeter Ujfalusi 1273f67d35SPeter UjfalusiThe DMA controller node need to have the following poroperties: 1373f67d35SPeter Ujfalusi- dma-requests: Number of DMA requests the controller can handle 1473f67d35SPeter Ujfalusi 1573f67d35SPeter UjfalusiOptional properties: 1673f67d35SPeter Ujfalusi- ti,dma-safe-map: Safe routing value for unused request lines 170f73f3e8SPeter Ujfalusi- ti,reserved-dma-request-ranges: DMA request ranges which should not be used 180f73f3e8SPeter Ujfalusi when mapping xbar input to DMA request, they are either 190f73f3e8SPeter Ujfalusi allocated to be used by for example the DSP or they are used as 200f73f3e8SPeter Ujfalusi memcpy channels in eDMA. 2173f67d35SPeter Ujfalusi 2242dbdcc6SPeter UjfalusiNotes: 2342dbdcc6SPeter UjfalusiWhen requesting channel via ti,dra7-dma-crossbar, the DMA clinet must request 2442dbdcc6SPeter Ujfalusithe DMA event number as crossbar ID (input to the DMA crossbar). 2542dbdcc6SPeter Ujfalusi 2642dbdcc6SPeter UjfalusiFor ti,am335x-edma-crossbar: the meaning of parameters of dmas for clients: 2742dbdcc6SPeter Ujfalusidmas = <&edma_xbar 12 0 1>; where <12> is the DMA request number, <0> is the TC 2842dbdcc6SPeter Ujfalusithe event should be assigned and <1> is the mux selection for in the crossbar. 2942dbdcc6SPeter UjfalusiWhen mux 0 is used the DMA channel can be requested directly from edma node. 3042dbdcc6SPeter Ujfalusi 3173f67d35SPeter UjfalusiExample: 3273f67d35SPeter Ujfalusi 3373f67d35SPeter Ujfalusi/* DMA controller */ 3473f67d35SPeter Ujfalusisdma: dma-controller@4a056000 { 3573f67d35SPeter Ujfalusi compatible = "ti,omap4430-sdma"; 3673f67d35SPeter Ujfalusi reg = <0x4a056000 0x1000>; 3773f67d35SPeter Ujfalusi interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>, 3873f67d35SPeter Ujfalusi <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>, 3973f67d35SPeter Ujfalusi <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>, 4073f67d35SPeter Ujfalusi <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; 4173f67d35SPeter Ujfalusi #dma-cells = <1>; 4273f67d35SPeter Ujfalusi dma-channels = <32>; 4373f67d35SPeter Ujfalusi dma-requests = <127>; 4473f67d35SPeter Ujfalusi}; 4573f67d35SPeter Ujfalusi 4673f67d35SPeter Ujfalusi/* DMA crossbar */ 4773f67d35SPeter Ujfalusisdma_xbar: dma-router@4a002b78 { 4873f67d35SPeter Ujfalusi compatible = "ti,dra7-dma-crossbar"; 4973f67d35SPeter Ujfalusi reg = <0x4a002b78 0xfc>; 5073f67d35SPeter Ujfalusi #dma-cells = <1>; 5173f67d35SPeter Ujfalusi dma-requests = <205>; 5273f67d35SPeter Ujfalusi ti,dma-safe-map = <0>; 530f73f3e8SPeter Ujfalusi /* Protect the sDMA request ranges: 10-14 and 100-126 */ 540f73f3e8SPeter Ujfalusi ti,reserved-dma-request-ranges = <10 5>, <100 27>; 5573f67d35SPeter Ujfalusi dma-masters = <&sdma>; 5673f67d35SPeter Ujfalusi}; 5773f67d35SPeter Ujfalusi 5873f67d35SPeter Ujfalusi/* DMA client */ 5973f67d35SPeter Ujfalusiuart1: serial@4806a000 { 6073f67d35SPeter Ujfalusi compatible = "ti,omap4-uart"; 6173f67d35SPeter Ujfalusi reg = <0x4806a000 0x100>; 6273f67d35SPeter Ujfalusi interrupts-extended = <&gic GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; 6373f67d35SPeter Ujfalusi ti,hwmods = "uart1"; 6473f67d35SPeter Ujfalusi clock-frequency = <48000000>; 6542dbdcc6SPeter Ujfalusi /* Requesting crossbar input 49 and 50 */ 6673f67d35SPeter Ujfalusi dmas = <&sdma_xbar 49>, <&sdma_xbar 50>; 6773f67d35SPeter Ujfalusi dma-names = "tx", "rx"; 6873f67d35SPeter Ujfalusi}; 69