img-mdc-dma.txt 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. * IMG Multi-threaded DMA Controller (MDC)
  2. Required properties:
  3. - compatible: Must be "img,pistachio-mdc-dma".
  4. - reg: Must contain the base address and length of the MDC registers.
  5. - interrupts: Must contain all the per-channel DMA interrupts.
  6. - clocks: Must contain an entry for each entry in clock-names.
  7. See ../clock/clock-bindings.txt for details.
  8. - clock-names: Must include the following entries:
  9. - sys: MDC system interface clock.
  10. - img,cr-periph: Must contain a phandle to the peripheral control syscon
  11. node which contains the DMA request to channel mapping registers.
  12. - img,max-burst-multiplier: Must be the maximum supported burst size multiplier.
  13. The maximum burst size is this value multiplied by the hardware-reported bus
  14. width.
  15. - #dma-cells: Must be 3:
  16. - The first cell is the peripheral's DMA request line.
  17. - The second cell is a bitmap specifying to which channels the DMA request
  18. line may be mapped (i.e. bit N set indicates channel N is usable).
  19. - The third cell is the thread ID to be used by the channel.
  20. Optional properties:
  21. - dma-channels: Number of supported DMA channels, up to 32. If not specified
  22. the number reported by the hardware is used.
  23. Example:
  24. mdc: dma-controller@18143000 {
  25. compatible = "img,pistachio-mdc-dma";
  26. reg = <0x18143000 0x1000>;
  27. interrupts = <GIC_SHARED 27 IRQ_TYPE_LEVEL_HIGH>,
  28. <GIC_SHARED 28 IRQ_TYPE_LEVEL_HIGH>,
  29. <GIC_SHARED 29 IRQ_TYPE_LEVEL_HIGH>,
  30. <GIC_SHARED 30 IRQ_TYPE_LEVEL_HIGH>,
  31. <GIC_SHARED 31 IRQ_TYPE_LEVEL_HIGH>,
  32. <GIC_SHARED 32 IRQ_TYPE_LEVEL_HIGH>,
  33. <GIC_SHARED 33 IRQ_TYPE_LEVEL_HIGH>,
  34. <GIC_SHARED 34 IRQ_TYPE_LEVEL_HIGH>,
  35. <GIC_SHARED 35 IRQ_TYPE_LEVEL_HIGH>,
  36. <GIC_SHARED 36 IRQ_TYPE_LEVEL_HIGH>,
  37. <GIC_SHARED 37 IRQ_TYPE_LEVEL_HIGH>,
  38. <GIC_SHARED 38 IRQ_TYPE_LEVEL_HIGH>;
  39. clocks = <&system_clk>;
  40. clock-names = "sys";
  41. img,max-burst-multiplier = <16>;
  42. img,cr-periph = <&cr_periph>;
  43. #dma-cells = <3>;
  44. };
  45. spi@18100f00 {
  46. ...
  47. dmas = <&mdc 9 0xffffffff 0>, <&mdc 10 0xffffffff 0>;
  48. dma-names = "tx", "rx";
  49. ...
  50. };