atmel-xdma.txt 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. * Atmel Extensible Direct Memory Access Controller (XDMAC)
  2. * XDMA Controller
  3. Required properties:
  4. - compatible: Should be "atmel,<chip>-dma".
  5. <chip> compatible description:
  6. - sama5d4: first SoC adding the XDMAC
  7. - reg: Should contain DMA registers location and length.
  8. - interrupts: Should contain DMA interrupt.
  9. - #dma-cells: Must be <1>, used to represent the number of integer cells in
  10. the dmas property of client devices.
  11. - The 1st cell specifies the channel configuration register:
  12. - bit 13: SIF, source interface identifier, used to get the memory
  13. interface identifier,
  14. - bit 14: DIF, destination interface identifier, used to get the peripheral
  15. interface identifier,
  16. - bit 30-24: PERID, peripheral identifier.
  17. Example:
  18. dma1: dma-controller@f0004000 {
  19. compatible = "atmel,sama5d4-dma";
  20. reg = <0xf0004000 0x200>;
  21. interrupts = <50 4 0>;
  22. #dma-cells = <1>;
  23. };
  24. * DMA clients
  25. DMA clients connected to the Atmel XDMA controller must use the format
  26. described in the dma.txt file, using a one-cell specifier for each channel.
  27. The two cells in order are:
  28. 1. A phandle pointing to the DMA controller.
  29. 2. Channel configuration register. Configurable fields are:
  30. - bit 13: SIF, source interface identifier, used to get the memory
  31. interface identifier,
  32. - bit 14: DIF, destination interface identifier, used to get the peripheral
  33. interface identifier,
  34. - bit 30-24: PERID, peripheral identifier.
  35. Example:
  36. i2c2: i2c@f8024000 {
  37. compatible = "atmel,at91sam9x5-i2c";
  38. reg = <0xf8024000 0x4000>;
  39. interrupts = <34 4 6>;
  40. dmas = <&dma1
  41. (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
  42. | AT91_XDMAC_DT_PERID(6))>,
  43. <&dma1
  44. (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
  45. | AT91_XDMAC_DT_PERID(7))>;
  46. dma-names = "tx", "rx";
  47. };