qcom-ipq8064.dtsi 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283
  1. /dts-v1/;
  2. #include "skeleton.dtsi"
  3. #include <dt-bindings/clock/qcom,gcc-ipq806x.h>
  4. #include <dt-bindings/soc/qcom,gsbi.h>
  5. / {
  6. model = "Qualcomm IPQ8064";
  7. compatible = "qcom,ipq8064";
  8. interrupt-parent = <&intc>;
  9. cpus {
  10. #address-cells = <1>;
  11. #size-cells = <0>;
  12. cpu@0 {
  13. compatible = "qcom,krait";
  14. enable-method = "qcom,kpss-acc-v1";
  15. device_type = "cpu";
  16. reg = <0>;
  17. next-level-cache = <&L2>;
  18. qcom,acc = <&acc0>;
  19. qcom,saw = <&saw0>;
  20. };
  21. cpu@1 {
  22. compatible = "qcom,krait";
  23. enable-method = "qcom,kpss-acc-v1";
  24. device_type = "cpu";
  25. reg = <1>;
  26. next-level-cache = <&L2>;
  27. qcom,acc = <&acc1>;
  28. qcom,saw = <&saw1>;
  29. };
  30. L2: l2-cache {
  31. compatible = "cache";
  32. cache-level = <2>;
  33. };
  34. };
  35. cpu-pmu {
  36. compatible = "qcom,krait-pmu";
  37. interrupts = <1 10 0x304>;
  38. };
  39. reserved-memory {
  40. #address-cells = <1>;
  41. #size-cells = <1>;
  42. ranges;
  43. nss@40000000 {
  44. reg = <0x40000000 0x1000000>;
  45. no-map;
  46. };
  47. smem@41000000 {
  48. reg = <0x41000000 0x200000>;
  49. no-map;
  50. };
  51. };
  52. soc: soc {
  53. #address-cells = <1>;
  54. #size-cells = <1>;
  55. ranges;
  56. compatible = "simple-bus";
  57. qcom_pinmux: pinmux@800000 {
  58. compatible = "qcom,ipq8064-pinctrl";
  59. reg = <0x800000 0x4000>;
  60. gpio-controller;
  61. #gpio-cells = <2>;
  62. interrupt-controller;
  63. #interrupt-cells = <2>;
  64. interrupts = <0 32 0x4>;
  65. };
  66. intc: interrupt-controller@2000000 {
  67. compatible = "qcom,msm-qgic2";
  68. interrupt-controller;
  69. #interrupt-cells = <3>;
  70. reg = <0x02000000 0x1000>,
  71. <0x02002000 0x1000>;
  72. };
  73. timer@200a000 {
  74. compatible = "qcom,kpss-timer", "qcom,msm-timer";
  75. interrupts = <1 1 0x301>,
  76. <1 2 0x301>,
  77. <1 3 0x301>;
  78. reg = <0x0200a000 0x100>;
  79. clock-frequency = <25000000>,
  80. <32768>;
  81. cpu-offset = <0x80000>;
  82. };
  83. acc0: clock-controller@2088000 {
  84. compatible = "qcom,kpss-acc-v1";
  85. reg = <0x02088000 0x1000>, <0x02008000 0x1000>;
  86. };
  87. acc1: clock-controller@2098000 {
  88. compatible = "qcom,kpss-acc-v1";
  89. reg = <0x02098000 0x1000>, <0x02008000 0x1000>;
  90. };
  91. saw0: regulator@2089000 {
  92. compatible = "qcom,saw2";
  93. reg = <0x02089000 0x1000>, <0x02009000 0x1000>;
  94. regulator;
  95. };
  96. saw1: regulator@2099000 {
  97. compatible = "qcom,saw2";
  98. reg = <0x02099000 0x1000>, <0x02009000 0x1000>;
  99. regulator;
  100. };
  101. gsbi2: gsbi@12480000 {
  102. compatible = "qcom,gsbi-v1.0.0";
  103. reg = <0x12480000 0x100>;
  104. clocks = <&gcc GSBI2_H_CLK>;
  105. clock-names = "iface";
  106. #address-cells = <1>;
  107. #size-cells = <1>;
  108. ranges;
  109. status = "disabled";
  110. serial@12490000 {
  111. compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
  112. reg = <0x12490000 0x1000>,
  113. <0x12480000 0x1000>;
  114. interrupts = <0 195 0x0>;
  115. clocks = <&gcc GSBI2_UART_CLK>, <&gcc GSBI2_H_CLK>;
  116. clock-names = "core", "iface";
  117. status = "disabled";
  118. };
  119. i2c@124a0000 {
  120. compatible = "qcom,i2c-qup-v1.1.1";
  121. reg = <0x124a0000 0x1000>;
  122. interrupts = <0 196 0>;
  123. clocks = <&gcc GSBI2_QUP_CLK>, <&gcc GSBI2_H_CLK>;
  124. clock-names = "core", "iface";
  125. status = "disabled";
  126. #address-cells = <1>;
  127. #size-cells = <0>;
  128. };
  129. };
  130. gsbi4: gsbi@16300000 {
  131. compatible = "qcom,gsbi-v1.0.0";
  132. reg = <0x16300000 0x100>;
  133. clocks = <&gcc GSBI4_H_CLK>;
  134. clock-names = "iface";
  135. #address-cells = <1>;
  136. #size-cells = <1>;
  137. ranges;
  138. status = "disabled";
  139. serial@16340000 {
  140. compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
  141. reg = <0x16340000 0x1000>,
  142. <0x16300000 0x1000>;
  143. interrupts = <0 152 0x0>;
  144. clocks = <&gcc GSBI4_UART_CLK>, <&gcc GSBI4_H_CLK>;
  145. clock-names = "core", "iface";
  146. status = "disabled";
  147. };
  148. i2c@16380000 {
  149. compatible = "qcom,i2c-qup-v1.1.1";
  150. reg = <0x16380000 0x1000>;
  151. interrupts = <0 153 0>;
  152. clocks = <&gcc GSBI4_QUP_CLK>, <&gcc GSBI4_H_CLK>;
  153. clock-names = "core", "iface";
  154. status = "disabled";
  155. #address-cells = <1>;
  156. #size-cells = <0>;
  157. };
  158. };
  159. gsbi5: gsbi@1a200000 {
  160. compatible = "qcom,gsbi-v1.0.0";
  161. reg = <0x1a200000 0x100>;
  162. clocks = <&gcc GSBI5_H_CLK>;
  163. clock-names = "iface";
  164. #address-cells = <1>;
  165. #size-cells = <1>;
  166. ranges;
  167. status = "disabled";
  168. serial@1a240000 {
  169. compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
  170. reg = <0x1a240000 0x1000>,
  171. <0x1a200000 0x1000>;
  172. interrupts = <0 154 0x0>;
  173. clocks = <&gcc GSBI5_UART_CLK>, <&gcc GSBI5_H_CLK>;
  174. clock-names = "core", "iface";
  175. status = "disabled";
  176. };
  177. i2c@1a280000 {
  178. compatible = "qcom,i2c-qup-v1.1.1";
  179. reg = <0x1a280000 0x1000>;
  180. interrupts = <0 155 0>;
  181. clocks = <&gcc GSBI5_QUP_CLK>, <&gcc GSBI5_H_CLK>;
  182. clock-names = "core", "iface";
  183. status = "disabled";
  184. #address-cells = <1>;
  185. #size-cells = <0>;
  186. };
  187. spi@1a280000 {
  188. compatible = "qcom,spi-qup-v1.1.1";
  189. reg = <0x1a280000 0x1000>;
  190. interrupts = <0 155 0>;
  191. clocks = <&gcc GSBI5_QUP_CLK>, <&gcc GSBI5_H_CLK>;
  192. clock-names = "core", "iface";
  193. status = "disabled";
  194. #address-cells = <1>;
  195. #size-cells = <0>;
  196. };
  197. };
  198. sata_phy: sata-phy@1b400000 {
  199. compatible = "qcom,ipq806x-sata-phy";
  200. reg = <0x1b400000 0x200>;
  201. clocks = <&gcc SATA_PHY_CFG_CLK>;
  202. clock-names = "cfg";
  203. #phy-cells = <0>;
  204. status = "disabled";
  205. };
  206. sata@29000000 {
  207. compatible = "qcom,ipq806x-ahci", "generic-ahci";
  208. reg = <0x29000000 0x180>;
  209. interrupts = <0 209 0x0>;
  210. clocks = <&gcc SFAB_SATA_S_H_CLK>,
  211. <&gcc SATA_H_CLK>,
  212. <&gcc SATA_A_CLK>,
  213. <&gcc SATA_RXOOB_CLK>,
  214. <&gcc SATA_PMALIVE_CLK>;
  215. clock-names = "slave_face", "iface", "core",
  216. "rxoob", "pmalive";
  217. assigned-clocks = <&gcc SATA_RXOOB_CLK>, <&gcc SATA_PMALIVE_CLK>;
  218. assigned-clock-rates = <100000000>, <100000000>;
  219. phys = <&sata_phy>;
  220. phy-names = "sata-phy";
  221. status = "disabled";
  222. };
  223. qcom,ssbi@500000 {
  224. compatible = "qcom,ssbi";
  225. reg = <0x00500000 0x1000>;
  226. qcom,controller-type = "pmic-arbiter";
  227. };
  228. gcc: clock-controller@900000 {
  229. compatible = "qcom,gcc-ipq8064";
  230. reg = <0x00900000 0x4000>;
  231. #clock-cells = <1>;
  232. #reset-cells = <1>;
  233. };
  234. };
  235. };