arm-pl330.txt 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. * ARM PrimeCell PL330 DMA Controller
  2. The ARM PrimeCell PL330 DMA controller can move blocks of memory contents
  3. between memory and peripherals or memory to memory.
  4. Required properties:
  5. - compatible: should include both "arm,pl330" and "arm,primecell".
  6. - reg: physical base address of the controller and length of memory mapped
  7. region.
  8. - interrupts: interrupt number to the cpu.
  9. Optional properties:
  10. - dma-coherent : Present if dma operations are coherent
  11. - #dma-cells: must be <1>. used to represent the number of integer
  12. cells in the dmas property of client device.
  13. - dma-channels: contains the total number of DMA channels supported by the DMAC
  14. - dma-requests: contains the total number of DMA requests supported by the DMAC
  15. Example:
  16. pdma0: pdma@12680000 {
  17. compatible = "arm,pl330", "arm,primecell";
  18. reg = <0x12680000 0x1000>;
  19. interrupts = <99>;
  20. #dma-cells = <1>;
  21. #dma-channels = <8>;
  22. #dma-requests = <32>;
  23. };
  24. Client drivers (device nodes requiring dma transfers from dev-to-mem or
  25. mem-to-dev) should specify the DMA channel numbers and dma channel names
  26. as shown below.
  27. [property name] = <[phandle of the dma controller] [dma request id]>;
  28. [property name] = <[dma channel name]>
  29. where 'dma request id' is the dma request number which is connected
  30. to the client controller. The 'property name' 'dmas' and 'dma-names'
  31. as required by the generic dma device tree binding helpers. The dma
  32. names correspond 1:1 with the dma request ids in the dmas property.
  33. Example: dmas = <&pdma0 12
  34. &pdma1 11>;
  35. dma-names = "tx", "rx";