dma.txt 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. * Freescale 83xx DMA Controller
  2. Freescale PowerPC 83xx have on chip general purpose DMA controllers.
  3. Required properties:
  4. - compatible : compatible list, contains 2 entries, first is
  5. "fsl,CHIP-dma", where CHIP is the processor
  6. (mpc8349, mpc8360, etc.) and the second is
  7. "fsl,elo-dma"
  8. - reg : <registers mapping for DMA general status reg>
  9. - ranges : Should be defined as specified in 1) to describe the
  10. DMA controller channels.
  11. - cell-index : controller index. 0 for controller @ 0x8100
  12. - interrupts : <interrupt mapping for DMA IRQ>
  13. - interrupt-parent : optional, if needed for interrupt mapping
  14. - DMA channel nodes:
  15. - compatible : compatible list, contains 2 entries, first is
  16. "fsl,CHIP-dma-channel", where CHIP is the processor
  17. (mpc8349, mpc8350, etc.) and the second is
  18. "fsl,elo-dma-channel"
  19. - reg : <registers mapping for channel>
  20. - cell-index : dma channel index starts at 0.
  21. Optional properties:
  22. - interrupts : <interrupt mapping for DMA channel IRQ>
  23. (on 83xx this is expected to be identical to
  24. the interrupts property of the parent node)
  25. - interrupt-parent : optional, if needed for interrupt mapping
  26. Example:
  27. dma@82a8 {
  28. #address-cells = <1>;
  29. #size-cells = <1>;
  30. compatible = "fsl,mpc8349-dma", "fsl,elo-dma";
  31. reg = <82a8 4>;
  32. ranges = <0 8100 1a4>;
  33. interrupt-parent = <&ipic>;
  34. interrupts = <47 8>;
  35. cell-index = <0>;
  36. dma-channel@0 {
  37. compatible = "fsl,mpc8349-dma-channel", "fsl,elo-dma-channel";
  38. cell-index = <0>;
  39. reg = <0 80>;
  40. };
  41. dma-channel@80 {
  42. compatible = "fsl,mpc8349-dma-channel", "fsl,elo-dma-channel";
  43. cell-index = <1>;
  44. reg = <80 80>;
  45. };
  46. dma-channel@100 {
  47. compatible = "fsl,mpc8349-dma-channel", "fsl,elo-dma-channel";
  48. cell-index = <2>;
  49. reg = <100 80>;
  50. };
  51. dma-channel@180 {
  52. compatible = "fsl,mpc8349-dma-channel", "fsl,elo-dma-channel";
  53. cell-index = <3>;
  54. reg = <180 80>;
  55. };
  56. };
  57. * Freescale 85xx/86xx DMA Controller
  58. Freescale PowerPC 85xx/86xx have on chip general purpose DMA controllers.
  59. Required properties:
  60. - compatible : compatible list, contains 2 entries, first is
  61. "fsl,CHIP-dma", where CHIP is the processor
  62. (mpc8540, mpc8540, etc.) and the second is
  63. "fsl,eloplus-dma"
  64. - reg : <registers mapping for DMA general status reg>
  65. - cell-index : controller index. 0 for controller @ 0x21000,
  66. 1 for controller @ 0xc000
  67. - ranges : Should be defined as specified in 1) to describe the
  68. DMA controller channels.
  69. - DMA channel nodes:
  70. - compatible : compatible list, contains 2 entries, first is
  71. "fsl,CHIP-dma-channel", where CHIP is the processor
  72. (mpc8540, mpc8560, etc.) and the second is
  73. "fsl,eloplus-dma-channel"
  74. - cell-index : dma channel index starts at 0.
  75. - reg : <registers mapping for channel>
  76. - interrupts : <interrupt mapping for DMA channel IRQ>
  77. - interrupt-parent : optional, if needed for interrupt mapping
  78. Example:
  79. dma@21300 {
  80. #address-cells = <1>;
  81. #size-cells = <1>;
  82. compatible = "fsl,mpc8540-dma", "fsl,eloplus-dma";
  83. reg = <21300 4>;
  84. ranges = <0 21100 200>;
  85. cell-index = <0>;
  86. dma-channel@0 {
  87. compatible = "fsl,mpc8540-dma-channel", "fsl,eloplus-dma-channel";
  88. reg = <0 80>;
  89. cell-index = <0>;
  90. interrupt-parent = <&mpic>;
  91. interrupts = <14 2>;
  92. };
  93. dma-channel@80 {
  94. compatible = "fsl,mpc8540-dma-channel", "fsl,eloplus-dma-channel";
  95. reg = <80 80>;
  96. cell-index = <1>;
  97. interrupt-parent = <&mpic>;
  98. interrupts = <15 2>;
  99. };
  100. dma-channel@100 {
  101. compatible = "fsl,mpc8540-dma-channel", "fsl,eloplus-dma-channel";
  102. reg = <100 80>;
  103. cell-index = <2>;
  104. interrupt-parent = <&mpic>;
  105. interrupts = <16 2>;
  106. };
  107. dma-channel@180 {
  108. compatible = "fsl,mpc8540-dma-channel", "fsl,eloplus-dma-channel";
  109. reg = <180 80>;
  110. cell-index = <3>;
  111. interrupt-parent = <&mpic>;
  112. interrupts = <17 2>;
  113. };
  114. };