ste-dma40.txt 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. * DMA40 DMA Controller
  2. Required properties:
  3. - compatible: "stericsson,dma40"
  4. - reg: Address range of the DMAC registers
  5. - reg-names: Names of the above areas to use during resource look-up
  6. - interrupt: Should contain the DMAC interrupt number
  7. - #dma-cells: must be <3>
  8. - memcpy-channels: Channels to be used for memcpy
  9. Optional properties:
  10. - dma-channels: Number of channels supported by hardware - if not present
  11. the driver will attempt to obtain the information from H/W
  12. - disabled-channels: Channels which can not be used
  13. Example:
  14. dma: dma-controller@801C0000 {
  15. compatible = "stericsson,db8500-dma40", "stericsson,dma40";
  16. reg = <0x801C0000 0x1000 0x40010000 0x800>;
  17. reg-names = "base", "lcpa";
  18. interrupt-parent = <&intc>;
  19. interrupts = <0 25 0x4>;
  20. #dma-cells = <2>;
  21. memcpy-channels = <56 57 58 59 60>;
  22. disabled-channels = <12>;
  23. dma-channels = <8>;
  24. };
  25. Clients
  26. Required properties:
  27. - dmas: Comma separated list of dma channel requests
  28. - dma-names: Names of the aforementioned requested channels
  29. Each dmas request consists of 4 cells:
  30. 1. A phandle pointing to the DMA controller
  31. 2. Device Type
  32. 3. The DMA request line number (only when 'use fixed channel' is set)
  33. 4. A 32bit mask specifying; mode, direction and endianness [NB: This list will grow]
  34. 0x00000001: Mode:
  35. Logical channel when unset
  36. Physical channel when set
  37. 0x00000002: Direction:
  38. Memory to Device when unset
  39. Device to Memory when set
  40. 0x00000004: Endianness:
  41. Little endian when unset
  42. Big endian when set
  43. 0x00000008: Use fixed channel:
  44. Use automatic channel selection when unset
  45. Use DMA request line number when set
  46. Example:
  47. uart@80120000 {
  48. compatible = "arm,pl011", "arm,primecell";
  49. reg = <0x80120000 0x1000>;
  50. interrupts = <0 11 0x4>;
  51. dmas = <&dma 13 0 0x2>, /* Logical - DevToMem */
  52. <&dma 13 0 0x0>; /* Logical - MemToDev */
  53. dma-names = "rx", "rx";
  54. status = "disabled";
  55. };