qcom-msm8974.dtsi 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251
  1. /dts-v1/;
  2. #include <dt-bindings/interrupt-controller/irq.h>
  3. #include <dt-bindings/clock/qcom,gcc-msm8974.h>
  4. #include "skeleton.dtsi"
  5. / {
  6. model = "Qualcomm MSM8974";
  7. compatible = "qcom,msm8974";
  8. interrupt-parent = <&intc>;
  9. cpus {
  10. #address-cells = <1>;
  11. #size-cells = <0>;
  12. interrupts = <1 9 0xf04>;
  13. cpu@0 {
  14. compatible = "qcom,krait";
  15. enable-method = "qcom,kpss-acc-v2";
  16. device_type = "cpu";
  17. reg = <0>;
  18. next-level-cache = <&L2>;
  19. qcom,acc = <&acc0>;
  20. };
  21. cpu@1 {
  22. compatible = "qcom,krait";
  23. enable-method = "qcom,kpss-acc-v2";
  24. device_type = "cpu";
  25. reg = <1>;
  26. next-level-cache = <&L2>;
  27. qcom,acc = <&acc1>;
  28. };
  29. cpu@2 {
  30. compatible = "qcom,krait";
  31. enable-method = "qcom,kpss-acc-v2";
  32. device_type = "cpu";
  33. reg = <2>;
  34. next-level-cache = <&L2>;
  35. qcom,acc = <&acc2>;
  36. };
  37. cpu@3 {
  38. compatible = "qcom,krait";
  39. enable-method = "qcom,kpss-acc-v2";
  40. device_type = "cpu";
  41. reg = <3>;
  42. next-level-cache = <&L2>;
  43. qcom,acc = <&acc3>;
  44. };
  45. L2: l2-cache {
  46. compatible = "cache";
  47. cache-level = <2>;
  48. qcom,saw = <&saw_l2>;
  49. };
  50. };
  51. cpu-pmu {
  52. compatible = "qcom,krait-pmu";
  53. interrupts = <1 7 0xf04>;
  54. };
  55. timer {
  56. compatible = "arm,armv7-timer";
  57. interrupts = <1 2 0xf08>,
  58. <1 3 0xf08>,
  59. <1 4 0xf08>,
  60. <1 1 0xf08>;
  61. clock-frequency = <19200000>;
  62. };
  63. soc: soc {
  64. #address-cells = <1>;
  65. #size-cells = <1>;
  66. ranges;
  67. compatible = "simple-bus";
  68. intc: interrupt-controller@f9000000 {
  69. compatible = "qcom,msm-qgic2";
  70. interrupt-controller;
  71. #interrupt-cells = <3>;
  72. reg = <0xf9000000 0x1000>,
  73. <0xf9002000 0x1000>;
  74. };
  75. timer@f9020000 {
  76. #address-cells = <1>;
  77. #size-cells = <1>;
  78. ranges;
  79. compatible = "arm,armv7-timer-mem";
  80. reg = <0xf9020000 0x1000>;
  81. clock-frequency = <19200000>;
  82. frame@f9021000 {
  83. frame-number = <0>;
  84. interrupts = <0 8 0x4>,
  85. <0 7 0x4>;
  86. reg = <0xf9021000 0x1000>,
  87. <0xf9022000 0x1000>;
  88. };
  89. frame@f9023000 {
  90. frame-number = <1>;
  91. interrupts = <0 9 0x4>;
  92. reg = <0xf9023000 0x1000>;
  93. status = "disabled";
  94. };
  95. frame@f9024000 {
  96. frame-number = <2>;
  97. interrupts = <0 10 0x4>;
  98. reg = <0xf9024000 0x1000>;
  99. status = "disabled";
  100. };
  101. frame@f9025000 {
  102. frame-number = <3>;
  103. interrupts = <0 11 0x4>;
  104. reg = <0xf9025000 0x1000>;
  105. status = "disabled";
  106. };
  107. frame@f9026000 {
  108. frame-number = <4>;
  109. interrupts = <0 12 0x4>;
  110. reg = <0xf9026000 0x1000>;
  111. status = "disabled";
  112. };
  113. frame@f9027000 {
  114. frame-number = <5>;
  115. interrupts = <0 13 0x4>;
  116. reg = <0xf9027000 0x1000>;
  117. status = "disabled";
  118. };
  119. frame@f9028000 {
  120. frame-number = <6>;
  121. interrupts = <0 14 0x4>;
  122. reg = <0xf9028000 0x1000>;
  123. status = "disabled";
  124. };
  125. };
  126. saw_l2: regulator@f9012000 {
  127. compatible = "qcom,saw2";
  128. reg = <0xf9012000 0x1000>;
  129. regulator;
  130. };
  131. acc0: clock-controller@f9088000 {
  132. compatible = "qcom,kpss-acc-v2";
  133. reg = <0xf9088000 0x1000>, <0xf9008000 0x1000>;
  134. };
  135. acc1: clock-controller@f9098000 {
  136. compatible = "qcom,kpss-acc-v2";
  137. reg = <0xf9098000 0x1000>, <0xf9008000 0x1000>;
  138. };
  139. acc2: clock-controller@f90a8000 {
  140. compatible = "qcom,kpss-acc-v2";
  141. reg = <0xf90a8000 0x1000>, <0xf9008000 0x1000>;
  142. };
  143. acc3: clock-controller@f90b8000 {
  144. compatible = "qcom,kpss-acc-v2";
  145. reg = <0xf90b8000 0x1000>, <0xf9008000 0x1000>;
  146. };
  147. restart@fc4ab000 {
  148. compatible = "qcom,pshold";
  149. reg = <0xfc4ab000 0x4>;
  150. };
  151. gcc: clock-controller@fc400000 {
  152. compatible = "qcom,gcc-msm8974";
  153. #clock-cells = <1>;
  154. #reset-cells = <1>;
  155. reg = <0xfc400000 0x4000>;
  156. };
  157. mmcc: clock-controller@fd8c0000 {
  158. compatible = "qcom,mmcc-msm8974";
  159. #clock-cells = <1>;
  160. #reset-cells = <1>;
  161. reg = <0xfd8c0000 0x6000>;
  162. };
  163. serial@f991e000 {
  164. compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
  165. reg = <0xf991e000 0x1000>;
  166. interrupts = <0 108 0x0>;
  167. clocks = <&gcc GCC_BLSP1_UART2_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>;
  168. clock-names = "core", "iface";
  169. status = "disabled";
  170. };
  171. sdhci@f9824900 {
  172. compatible = "qcom,sdhci-msm-v4";
  173. reg = <0xf9824900 0x11c>, <0xf9824000 0x800>;
  174. reg-names = "hc_mem", "core_mem";
  175. interrupts = <0 123 0>, <0 138 0>;
  176. interrupt-names = "hc_irq", "pwr_irq";
  177. clocks = <&gcc GCC_SDCC1_APPS_CLK>, <&gcc GCC_SDCC1_AHB_CLK>;
  178. clock-names = "core", "iface";
  179. status = "disabled";
  180. };
  181. sdhci@f98a4900 {
  182. compatible = "qcom,sdhci-msm-v4";
  183. reg = <0xf98a4900 0x11c>, <0xf98a4000 0x800>;
  184. reg-names = "hc_mem", "core_mem";
  185. interrupts = <0 125 0>, <0 221 0>;
  186. interrupt-names = "hc_irq", "pwr_irq";
  187. clocks = <&gcc GCC_SDCC2_APPS_CLK>, <&gcc GCC_SDCC2_AHB_CLK>;
  188. clock-names = "core", "iface";
  189. status = "disabled";
  190. };
  191. rng@f9bff000 {
  192. compatible = "qcom,prng";
  193. reg = <0xf9bff000 0x200>;
  194. clocks = <&gcc GCC_PRNG_AHB_CLK>;
  195. clock-names = "core";
  196. };
  197. msmgpio: pinctrl@fd510000 {
  198. compatible = "qcom,msm8974-pinctrl";
  199. reg = <0xfd510000 0x4000>;
  200. gpio-controller;
  201. #gpio-cells = <2>;
  202. interrupt-controller;
  203. #interrupt-cells = <2>;
  204. interrupts = <0 208 0>;
  205. };
  206. blsp_i2c11: i2c@f9967000 {
  207. status = "disable";
  208. compatible = "qcom,i2c-qup-v2.1.1";
  209. reg = <0xf9967000 0x1000>;
  210. interrupts = <0 105 IRQ_TYPE_NONE>;
  211. clocks = <&gcc GCC_BLSP2_QUP5_I2C_APPS_CLK>, <&gcc GCC_BLSP2_AHB_CLK>;
  212. clock-names = "core", "iface";
  213. #address-cells = <1>;
  214. #size-cells = <0>;
  215. };
  216. };
  217. };