jz4770.dtsi 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242
  1. // SPDX-License-Identifier: GPL-2.0
  2. #include <dt-bindings/clock/jz4770-cgu.h>
  3. / {
  4. #address-cells = <1>;
  5. #size-cells = <1>;
  6. compatible = "ingenic,jz4770";
  7. cpuintc: interrupt-controller {
  8. #address-cells = <0>;
  9. #interrupt-cells = <1>;
  10. interrupt-controller;
  11. compatible = "mti,cpu-interrupt-controller";
  12. };
  13. intc: interrupt-controller@10001000 {
  14. compatible = "ingenic,jz4770-intc";
  15. reg = <0x10001000 0x40>;
  16. interrupt-controller;
  17. #interrupt-cells = <1>;
  18. interrupt-parent = <&cpuintc>;
  19. interrupts = <2>;
  20. };
  21. ext: ext {
  22. compatible = "fixed-clock";
  23. #clock-cells = <0>;
  24. };
  25. osc32k: osc32k {
  26. compatible = "fixed-clock";
  27. #clock-cells = <0>;
  28. clock-frequency = <32768>;
  29. };
  30. cgu: jz4770-cgu@10000000 {
  31. compatible = "ingenic,jz4770-cgu";
  32. reg = <0x10000000 0x100>;
  33. clocks = <&ext>, <&osc32k>;
  34. clock-names = "ext", "osc32k";
  35. #clock-cells = <1>;
  36. };
  37. pinctrl: pin-controller@10010000 {
  38. compatible = "ingenic,jz4770-pinctrl";
  39. reg = <0x10010000 0x600>;
  40. #address-cells = <1>;
  41. #size-cells = <0>;
  42. gpa: gpio@0 {
  43. compatible = "ingenic,jz4770-gpio";
  44. reg = <0>;
  45. gpio-controller;
  46. gpio-ranges = <&pinctrl 0 0 32>;
  47. #gpio-cells = <2>;
  48. interrupt-controller;
  49. #interrupt-cells = <2>;
  50. interrupt-parent = <&intc>;
  51. interrupts = <17>;
  52. };
  53. gpb: gpio@1 {
  54. compatible = "ingenic,jz4770-gpio";
  55. reg = <1>;
  56. gpio-controller;
  57. gpio-ranges = <&pinctrl 0 32 32>;
  58. #gpio-cells = <2>;
  59. interrupt-controller;
  60. #interrupt-cells = <2>;
  61. interrupt-parent = <&intc>;
  62. interrupts = <16>;
  63. };
  64. gpc: gpio@2 {
  65. compatible = "ingenic,jz4770-gpio";
  66. reg = <2>;
  67. gpio-controller;
  68. gpio-ranges = <&pinctrl 0 64 32>;
  69. #gpio-cells = <2>;
  70. interrupt-controller;
  71. #interrupt-cells = <2>;
  72. interrupt-parent = <&intc>;
  73. interrupts = <15>;
  74. };
  75. gpd: gpio@3 {
  76. compatible = "ingenic,jz4770-gpio";
  77. reg = <3>;
  78. gpio-controller;
  79. gpio-ranges = <&pinctrl 0 96 32>;
  80. #gpio-cells = <2>;
  81. interrupt-controller;
  82. #interrupt-cells = <2>;
  83. interrupt-parent = <&intc>;
  84. interrupts = <14>;
  85. };
  86. gpe: gpio@4 {
  87. compatible = "ingenic,jz4770-gpio";
  88. reg = <4>;
  89. gpio-controller;
  90. gpio-ranges = <&pinctrl 0 128 32>;
  91. #gpio-cells = <2>;
  92. interrupt-controller;
  93. #interrupt-cells = <2>;
  94. interrupt-parent = <&intc>;
  95. interrupts = <13>;
  96. };
  97. gpf: gpio@5 {
  98. compatible = "ingenic,jz4770-gpio";
  99. reg = <5>;
  100. gpio-controller;
  101. gpio-ranges = <&pinctrl 0 160 32>;
  102. #gpio-cells = <2>;
  103. interrupt-controller;
  104. #interrupt-cells = <2>;
  105. interrupt-parent = <&intc>;
  106. interrupts = <12>;
  107. };
  108. };
  109. uart0: serial@10030000 {
  110. compatible = "ingenic,jz4770-uart";
  111. reg = <0x10030000 0x100>;
  112. clocks = <&ext>, <&cgu JZ4770_CLK_UART0>;
  113. clock-names = "baud", "module";
  114. interrupt-parent = <&intc>;
  115. interrupts = <5>;
  116. status = "disabled";
  117. };
  118. uart1: serial@10031000 {
  119. compatible = "ingenic,jz4770-uart";
  120. reg = <0x10031000 0x100>;
  121. clocks = <&ext>, <&cgu JZ4770_CLK_UART1>;
  122. clock-names = "baud", "module";
  123. interrupt-parent = <&intc>;
  124. interrupts = <4>;
  125. status = "disabled";
  126. };
  127. uart2: serial@10032000 {
  128. compatible = "ingenic,jz4770-uart";
  129. reg = <0x10032000 0x100>;
  130. clocks = <&ext>, <&cgu JZ4770_CLK_UART2>;
  131. clock-names = "baud", "module";
  132. interrupt-parent = <&intc>;
  133. interrupts = <3>;
  134. status = "disabled";
  135. };
  136. uart3: serial@10033000 {
  137. compatible = "ingenic,jz4770-uart";
  138. reg = <0x10033000 0x100>;
  139. clocks = <&ext>, <&cgu JZ4770_CLK_UART3>;
  140. clock-names = "baud", "module";
  141. interrupt-parent = <&intc>;
  142. interrupts = <2>;
  143. status = "disabled";
  144. };
  145. dmac0: dma-controller@13420000 {
  146. compatible = "ingenic,jz4770-dma";
  147. reg = <0x13420000 0xC0
  148. 0x13420300 0x20>;
  149. #dma-cells = <1>;
  150. clocks = <&cgu JZ4770_CLK_DMA>;
  151. interrupt-parent = <&intc>;
  152. interrupts = <24>;
  153. /* Disable dmac0 until we have something that uses it */
  154. status = "disabled";
  155. };
  156. dmac1: dma-controller@13420100 {
  157. compatible = "ingenic,jz4770-dma";
  158. reg = <0x13420100 0xC0
  159. 0x13420400 0x20>;
  160. #dma-cells = <1>;
  161. clocks = <&cgu JZ4770_CLK_DMA>;
  162. interrupt-parent = <&intc>;
  163. interrupts = <23>;
  164. /* Disable dmac1 until we have something that uses it */
  165. status = "disabled";
  166. };
  167. uhc: uhc@13430000 {
  168. compatible = "generic-ohci";
  169. reg = <0x13430000 0x1000>;
  170. clocks = <&cgu JZ4770_CLK_UHC>, <&cgu JZ4770_CLK_UHC_PHY>;
  171. assigned-clocks = <&cgu JZ4770_CLK_UHC>;
  172. assigned-clock-rates = <48000000>;
  173. interrupt-parent = <&intc>;
  174. interrupts = <20>;
  175. status = "disabled";
  176. };
  177. };