ste-dma40.txt 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  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 signal number, the signal line for single and burst requests
  32. connected from the device to the DMA40 engine
  33. 3. The DMA request line number (only when 'use fixed channel' is set)
  34. 4. A 32bit mask specifying; mode, direction and endianness
  35. [NB: This list will grow]
  36. 0x00000001: Mode:
  37. Logical channel when unset
  38. Physical channel when set
  39. 0x00000002: Direction:
  40. Memory to Device when unset
  41. Device to Memory when set
  42. 0x00000004: Endianness:
  43. Little endian when unset
  44. Big endian when set
  45. 0x00000008: Use fixed channel:
  46. Use automatic channel selection when unset
  47. Use DMA request line number when set
  48. 0x00000010: Set channel as high priority:
  49. Normal priority when unset
  50. High priority when set
  51. Existing signal numbers for the DB8500 ASIC. Unless specified, the signals are
  52. bidirectional, i.e. the same for RX and TX operations:
  53. 0: SPI controller 0
  54. 1: SD/MMC controller 0 (unused)
  55. 2: SD/MMC controller 1 (unused)
  56. 3: SD/MMC controller 2 (unused)
  57. 4: I2C port 1
  58. 5: I2C port 3
  59. 6: I2C port 2
  60. 7: I2C port 4
  61. 8: Synchronous Serial Port SSP0
  62. 9: Synchronous Serial Port SSP1
  63. 10: Multi-Channel Display Engine MCDE RX
  64. 11: UART port 2
  65. 12: UART port 1
  66. 13: UART port 0
  67. 14: Multirate Serial Port MSP2
  68. 15: I2C port 0
  69. 16: USB OTG in/out endpoints 7 & 15
  70. 17: USB OTG in/out endpoints 6 & 14
  71. 18: USB OTG in/out endpoints 5 & 13
  72. 19: USB OTG in/out endpoints 4 & 12
  73. 20: SLIMbus or HSI channel 0
  74. 21: SLIMbus or HSI channel 1
  75. 22: SLIMbus or HSI channel 2
  76. 23: SLIMbus or HSI channel 3
  77. 24: Multimedia DSP SXA0
  78. 25: Multimedia DSP SXA1
  79. 26: Multimedia DSP SXA2
  80. 27: Multimedia DSP SXA3
  81. 28: SD/MM controller 2
  82. 29: SD/MM controller 0
  83. 30: MSP port 1 on DB8500 v1, MSP port 3 on DB8500 v2
  84. 31: MSP port 0 or SLIMbus channel 0
  85. 32: SD/MM controller 1
  86. 33: SPI controller 2
  87. 34: i2c3 RX2 TX2
  88. 35: SPI controller 1
  89. 36: USB OTG in/out endpoints 3 & 11
  90. 37: USB OTG in/out endpoints 2 & 10
  91. 38: USB OTG in/out endpoints 1 & 9
  92. 39: USB OTG in/out endpoints 8
  93. 40: SPI controller 3
  94. 41: SD/MM controller 3
  95. 42: SD/MM controller 4
  96. 43: SD/MM controller 5
  97. 44: Multimedia DSP SXA4
  98. 45: Multimedia DSP SXA5
  99. 46: SLIMbus channel 8 or Multimedia DSP SXA6
  100. 47: SLIMbus channel 9 or Multimedia DSP SXA7
  101. 48: Crypto Accelerator 1
  102. 49: Crypto Accelerator 1 TX or Hash Accelerator 1 TX
  103. 50: Hash Accelerator 1 TX
  104. 51: memcpy TX (to be used by the DMA driver for memcpy operations)
  105. 52: SLIMbus or HSI channel 4
  106. 53: SLIMbus or HSI channel 5
  107. 54: SLIMbus or HSI channel 6
  108. 55: SLIMbus or HSI channel 7
  109. 56: memcpy (to be used by the DMA driver for memcpy operations)
  110. 57: memcpy (to be used by the DMA driver for memcpy operations)
  111. 58: memcpy (to be used by the DMA driver for memcpy operations)
  112. 59: memcpy (to be used by the DMA driver for memcpy operations)
  113. 60: memcpy (to be used by the DMA driver for memcpy operations)
  114. 61: Crypto Accelerator 0
  115. 62: Crypto Accelerator 0 TX or Hash Accelerator 0 TX
  116. 63: Hash Accelerator 0 TX
  117. Example:
  118. uart@80120000 {
  119. compatible = "arm,pl011", "arm,primecell";
  120. reg = <0x80120000 0x1000>;
  121. interrupts = <0 11 0x4>;
  122. dmas = <&dma 13 0 0x2>, /* Logical - DevToMem */
  123. <&dma 13 0 0x0>; /* Logical - MemToDev */
  124. dma-names = "rx", "rx";
  125. status = "disabled";
  126. };