ti-dma-crossbar.txt 2.0 KB

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