jz4740.dtsi 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185
  1. // SPDX-License-Identifier: GPL-2.0
  2. #include <dt-bindings/clock/jz4740-cgu.h>
  3. / {
  4. #address-cells = <1>;
  5. #size-cells = <1>;
  6. compatible = "ingenic,jz4740";
  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,jz4740-intc";
  15. reg = <0x10001000 0x14>;
  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. rtc: rtc {
  26. compatible = "fixed-clock";
  27. #clock-cells = <0>;
  28. clock-frequency = <32768>;
  29. };
  30. cgu: jz4740-cgu@10000000 {
  31. compatible = "ingenic,jz4740-cgu";
  32. reg = <0x10000000 0x100>;
  33. clocks = <&ext>, <&rtc>;
  34. clock-names = "ext", "rtc";
  35. #clock-cells = <1>;
  36. };
  37. watchdog: watchdog@10002000 {
  38. compatible = "ingenic,jz4740-watchdog";
  39. reg = <0x10002000 0x10>;
  40. clocks = <&cgu JZ4740_CLK_RTC>;
  41. clock-names = "rtc";
  42. };
  43. rtc_dev: rtc@10003000 {
  44. compatible = "ingenic,jz4740-rtc";
  45. reg = <0x10003000 0x40>;
  46. interrupt-parent = <&intc>;
  47. interrupts = <15>;
  48. clocks = <&cgu JZ4740_CLK_RTC>;
  49. clock-names = "rtc";
  50. };
  51. pinctrl: pin-controller@10010000 {
  52. compatible = "ingenic,jz4740-pinctrl";
  53. reg = <0x10010000 0x400>;
  54. #address-cells = <1>;
  55. #size-cells = <0>;
  56. gpa: gpio@0 {
  57. compatible = "ingenic,jz4740-gpio";
  58. reg = <0>;
  59. gpio-controller;
  60. gpio-ranges = <&pinctrl 0 0 32>;
  61. #gpio-cells = <2>;
  62. interrupt-controller;
  63. #interrupt-cells = <2>;
  64. interrupt-parent = <&intc>;
  65. interrupts = <28>;
  66. };
  67. gpb: gpio@1 {
  68. compatible = "ingenic,jz4740-gpio";
  69. reg = <1>;
  70. gpio-controller;
  71. gpio-ranges = <&pinctrl 0 32 32>;
  72. #gpio-cells = <2>;
  73. interrupt-controller;
  74. #interrupt-cells = <2>;
  75. interrupt-parent = <&intc>;
  76. interrupts = <27>;
  77. };
  78. gpc: gpio@2 {
  79. compatible = "ingenic,jz4740-gpio";
  80. reg = <2>;
  81. gpio-controller;
  82. gpio-ranges = <&pinctrl 0 64 32>;
  83. #gpio-cells = <2>;
  84. interrupt-controller;
  85. #interrupt-cells = <2>;
  86. interrupt-parent = <&intc>;
  87. interrupts = <26>;
  88. };
  89. gpd: gpio@3 {
  90. compatible = "ingenic,jz4740-gpio";
  91. reg = <3>;
  92. gpio-controller;
  93. gpio-ranges = <&pinctrl 0 96 32>;
  94. #gpio-cells = <2>;
  95. interrupt-controller;
  96. #interrupt-cells = <2>;
  97. interrupt-parent = <&intc>;
  98. interrupts = <25>;
  99. };
  100. };
  101. uart0: serial@10030000 {
  102. compatible = "ingenic,jz4740-uart";
  103. reg = <0x10030000 0x100>;
  104. interrupt-parent = <&intc>;
  105. interrupts = <9>;
  106. clocks = <&ext>, <&cgu JZ4740_CLK_UART0>;
  107. clock-names = "baud", "module";
  108. };
  109. uart1: serial@10031000 {
  110. compatible = "ingenic,jz4740-uart";
  111. reg = <0x10031000 0x100>;
  112. interrupt-parent = <&intc>;
  113. interrupts = <8>;
  114. clocks = <&ext>, <&cgu JZ4740_CLK_UART1>;
  115. clock-names = "baud", "module";
  116. };
  117. dmac: dma-controller@13020000 {
  118. compatible = "ingenic,jz4740-dma";
  119. reg = <0x13020000 0xbc
  120. 0x13020300 0x14>;
  121. #dma-cells = <2>;
  122. interrupt-parent = <&intc>;
  123. interrupts = <29>;
  124. clocks = <&cgu JZ4740_CLK_DMA>;
  125. /* Disable dmac until we have something that uses it */
  126. status = "disabled";
  127. };
  128. uhc: uhc@13030000 {
  129. compatible = "ingenic,jz4740-ohci", "generic-ohci";
  130. reg = <0x13030000 0x1000>;
  131. clocks = <&cgu JZ4740_CLK_UHC>;
  132. assigned-clocks = <&cgu JZ4740_CLK_UHC>;
  133. assigned-clock-rates = <48000000>;
  134. interrupt-parent = <&intc>;
  135. interrupts = <3>;
  136. status = "disabled";
  137. };
  138. };