whale2.dtsi 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268
  1. /*
  2. * Spreadtrum Whale2 platform peripherals
  3. *
  4. * Copyright (C) 2016, Spreadtrum Communications Inc.
  5. *
  6. * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  7. */
  8. #include <dt-bindings/clock/sprd,sc9860-clk.h>
  9. / {
  10. interrupt-parent = <&gic>;
  11. #address-cells = <2>;
  12. #size-cells = <2>;
  13. soc: soc {
  14. compatible = "simple-bus";
  15. #address-cells = <2>;
  16. #size-cells = <2>;
  17. ranges;
  18. ap_ahb_regs: syscon@20210000 {
  19. compatible = "syscon";
  20. reg = <0 0x20210000 0 0x10000>;
  21. };
  22. pmu_regs: syscon@402b0000 {
  23. compatible = "syscon";
  24. reg = <0 0x402b0000 0 0x10000>;
  25. };
  26. aon_regs: syscon@402e0000 {
  27. compatible = "syscon";
  28. reg = <0 0x402e0000 0 0x10000>;
  29. };
  30. ana_regs: syscon@40400000 {
  31. compatible = "syscon";
  32. reg = <0 0x40400000 0 0x10000>;
  33. };
  34. agcp_regs: syscon@415e0000 {
  35. compatible = "syscon";
  36. reg = <0 0x415e0000 0 0x1000000>;
  37. };
  38. vsp_regs: syscon@61100000 {
  39. compatible = "syscon";
  40. reg = <0 0x61100000 0 0x10000>;
  41. };
  42. cam_regs: syscon@62100000 {
  43. compatible = "syscon";
  44. reg = <0 0x62100000 0 0x10000>;
  45. };
  46. disp_regs: syscon@63100000 {
  47. compatible = "syscon";
  48. reg = <0 0x63100000 0 0x10000>;
  49. };
  50. ap_apb_regs: syscon@70b00000 {
  51. compatible = "syscon";
  52. reg = <0 0x70b00000 0 0x40000>;
  53. };
  54. ap-apb {
  55. compatible = "simple-bus";
  56. #address-cells = <1>;
  57. #size-cells = <1>;
  58. ranges = <0 0x0 0x70000000 0x10000000>;
  59. uart0: serial@0 {
  60. compatible = "sprd,sc9860-uart",
  61. "sprd,sc9836-uart";
  62. reg = <0x0 0x100>;
  63. interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
  64. clocks = <&ext_26m>;
  65. status = "disabled";
  66. };
  67. uart1: serial@100000 {
  68. compatible = "sprd,sc9860-uart",
  69. "sprd,sc9836-uart";
  70. reg = <0x100000 0x100>;
  71. interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
  72. clocks = <&ext_26m>;
  73. status = "disabled";
  74. };
  75. uart2: serial@200000 {
  76. compatible = "sprd,sc9860-uart",
  77. "sprd,sc9836-uart";
  78. reg = <0x200000 0x100>;
  79. interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
  80. clocks = <&ext_26m>;
  81. status = "disabled";
  82. };
  83. uart3: serial@300000 {
  84. compatible = "sprd,sc9860-uart",
  85. "sprd,sc9836-uart";
  86. reg = <0x300000 0x100>;
  87. interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
  88. clocks = <&ext_26m>;
  89. status = "disabled";
  90. };
  91. };
  92. ap-ahb {
  93. compatible = "simple-bus";
  94. #address-cells = <2>;
  95. #size-cells = <2>;
  96. ranges;
  97. ap_dma: dma-controller@20100000 {
  98. compatible = "sprd,sc9860-dma";
  99. reg = <0 0x20100000 0 0x4000>;
  100. interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
  101. #dma-cells = <1>;
  102. #dma-channels = <32>;
  103. clock-names = "enable";
  104. clocks = <&apahb_gate CLK_DMA_EB>;
  105. };
  106. };
  107. aon {
  108. compatible = "simple-bus";
  109. #address-cells = <2>;
  110. #size-cells = <2>;
  111. ranges;
  112. adi_bus: spi@40030000 {
  113. compatible = "sprd,sc9860-adi";
  114. reg = <0 0x40030000 0 0x10000>;
  115. hwlocks = <&hwlock 0>;
  116. hwlock-names = "adi";
  117. #address-cells = <1>;
  118. #size-cells = <0>;
  119. };
  120. timer@40050000 {
  121. compatible = "sprd,sc9860-timer";
  122. reg = <0 0x40050000 0 0x20>;
  123. interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
  124. clocks = <&ext_32k>;
  125. };
  126. timer@40050020 {
  127. compatible = "sprd,sc9860-suspend-timer";
  128. reg = <0 0x40050020 0 0x20>;
  129. clocks = <&ext_32k>;
  130. };
  131. hwlock: hwspinlock@40500000 {
  132. compatible = "sprd,hwspinlock-r3p0";
  133. reg = <0 0x40500000 0 0x1000>;
  134. #hwlock-cells = <1>;
  135. clock-names = "enable";
  136. clocks = <&aon_gate CLK_SPLK_EB>;
  137. };
  138. eic_debounce: gpio@40210000 {
  139. compatible = "sprd,sc9860-eic-debounce";
  140. reg = <0 0x40210000 0 0x80>;
  141. gpio-controller;
  142. #gpio-cells = <2>;
  143. interrupt-controller;
  144. #interrupt-cells = <2>;
  145. interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
  146. };
  147. eic_latch: gpio@40210080 {
  148. compatible = "sprd,sc9860-eic-latch";
  149. reg = <0 0x40210080 0 0x20>;
  150. gpio-controller;
  151. #gpio-cells = <2>;
  152. interrupt-controller;
  153. #interrupt-cells = <2>;
  154. interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
  155. };
  156. eic_async: gpio@402100a0 {
  157. compatible = "sprd,sc9860-eic-async";
  158. reg = <0 0x402100a0 0 0x20>;
  159. gpio-controller;
  160. #gpio-cells = <2>;
  161. interrupt-controller;
  162. #interrupt-cells = <2>;
  163. interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
  164. };
  165. eic_sync: gpio@402100c0 {
  166. compatible = "sprd,sc9860-eic-sync";
  167. reg = <0 0x402100c0 0 0x20>;
  168. gpio-controller;
  169. #gpio-cells = <2>;
  170. interrupt-controller;
  171. #interrupt-cells = <2>;
  172. interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
  173. };
  174. ap_gpio: gpio@40280000 {
  175. compatible = "sprd,sc9860-gpio";
  176. reg = <0 0x40280000 0 0x1000>;
  177. gpio-controller;
  178. #gpio-cells = <2>;
  179. interrupt-controller;
  180. #interrupt-cells = <2>;
  181. interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
  182. };
  183. pin_controller: pinctrl@402a0000 {
  184. compatible = "sprd,sc9860-pinctrl";
  185. reg = <0 0x402a0000 0 0x10000>;
  186. };
  187. watchdog@40310000 {
  188. compatible = "sprd,sp9860-wdt";
  189. reg = <0 0x40310000 0 0x1000>;
  190. interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
  191. timeout-sec = <12>;
  192. clock-names = "enable", "rtc_enable";
  193. clocks = <&aon_gate CLK_APCPU_WDG_EB>,
  194. <&aon_gate CLK_AP_WDG_RTC_EB>;
  195. };
  196. };
  197. agcp {
  198. compatible = "simple-bus";
  199. #address-cells = <2>;
  200. #size-cells = <2>;
  201. ranges;
  202. agcp_dma: dma-controller@41580000 {
  203. compatible = "sprd,sc9860-dma";
  204. reg = <0 0x41580000 0 0x4000>;
  205. #dma-cells = <1>;
  206. #dma-channels = <32>;
  207. clock-names = "enable", "ashb_eb";
  208. clocks = <&agcp_gate CLK_AGCP_DMAAP_EB>,
  209. <&agcp_gate CLK_AGCP_AP_ASHB_EB>;
  210. };
  211. };
  212. };
  213. ext_32k: ext_32k {
  214. compatible = "fixed-clock";
  215. #clock-cells = <0>;
  216. clock-frequency = <32768>;
  217. clock-output-names = "ext-32k";
  218. };
  219. ext_26m: ext_26m {
  220. compatible = "fixed-clock";
  221. #clock-cells = <0>;
  222. clock-frequency = <26000000>;
  223. clock-output-names = "ext-26m";
  224. };
  225. ext_rco_100m: ext_rco_100m {
  226. compatible = "fixed-clock";
  227. #clock-cells = <0>;
  228. clock-frequency = <100000000>;
  229. clock-output-names = "ext-rco-100m";
  230. };
  231. };