blob: 7c7b7dc91e321fcf19456b2bb7e8f378a747cf85 [file] [log] [blame]
Rohit Vaswani2aec37c2013-12-20 11:09:15 -08001/dts-v1/;
2
kiran.padwal@smartplayin.combf7f6b02014-09-16 17:15:38 +05303#include <dt-bindings/interrupt-controller/irq.h>
Stephen Boyd3933d262014-01-16 17:25:03 -08004#include <dt-bindings/clock/qcom,gcc-msm8974.h>
kiran.padwal@smartplayin.combf7f6b02014-09-16 17:15:38 +05305#include "skeleton.dtsi"
Stephen Boyd3933d262014-01-16 17:25:03 -08006
Rohit Vaswani2aec37c2013-12-20 11:09:15 -08007/ {
8 model = "Qualcomm MSM8974";
9 compatible = "qcom,msm8974";
10 interrupt-parent = <&intc>;
11
Rohit Vaswani2ab27992013-11-01 10:10:40 -070012 cpus {
13 #address-cells = <1>;
14 #size-cells = <0>;
15 interrupts = <1 9 0xf04>;
Rohit Vaswani2ab27992013-11-01 10:10:40 -070016
17 cpu@0 {
Kumar Galaba082202014-05-28 12:01:29 -050018 compatible = "qcom,krait";
19 enable-method = "qcom,kpss-acc-v2";
Rohit Vaswani2ab27992013-11-01 10:10:40 -070020 device_type = "cpu";
21 reg = <0>;
22 next-level-cache = <&L2>;
23 qcom,acc = <&acc0>;
Lina Iyer8c76a632015-03-25 14:25:30 -060024 qcom,saw = <&saw0>;
Lina Iyerd596d622015-03-25 14:25:33 -060025 cpu-idle-states = <&CPU_SPC>;
Rohit Vaswani2ab27992013-11-01 10:10:40 -070026 };
27
28 cpu@1 {
Kumar Galaba082202014-05-28 12:01:29 -050029 compatible = "qcom,krait";
30 enable-method = "qcom,kpss-acc-v2";
Rohit Vaswani2ab27992013-11-01 10:10:40 -070031 device_type = "cpu";
32 reg = <1>;
33 next-level-cache = <&L2>;
34 qcom,acc = <&acc1>;
Lina Iyer8c76a632015-03-25 14:25:30 -060035 qcom,saw = <&saw1>;
Lina Iyerd596d622015-03-25 14:25:33 -060036 cpu-idle-states = <&CPU_SPC>;
Rohit Vaswani2ab27992013-11-01 10:10:40 -070037 };
38
39 cpu@2 {
Kumar Galaba082202014-05-28 12:01:29 -050040 compatible = "qcom,krait";
41 enable-method = "qcom,kpss-acc-v2";
Rohit Vaswani2ab27992013-11-01 10:10:40 -070042 device_type = "cpu";
43 reg = <2>;
44 next-level-cache = <&L2>;
45 qcom,acc = <&acc2>;
Lina Iyer8c76a632015-03-25 14:25:30 -060046 qcom,saw = <&saw2>;
Lina Iyerd596d622015-03-25 14:25:33 -060047 cpu-idle-states = <&CPU_SPC>;
Rohit Vaswani2ab27992013-11-01 10:10:40 -070048 };
49
50 cpu@3 {
Kumar Galaba082202014-05-28 12:01:29 -050051 compatible = "qcom,krait";
52 enable-method = "qcom,kpss-acc-v2";
Rohit Vaswani2ab27992013-11-01 10:10:40 -070053 device_type = "cpu";
54 reg = <3>;
55 next-level-cache = <&L2>;
56 qcom,acc = <&acc3>;
Lina Iyer8c76a632015-03-25 14:25:30 -060057 qcom,saw = <&saw3>;
Lina Iyerd596d622015-03-25 14:25:33 -060058 cpu-idle-states = <&CPU_SPC>;
Rohit Vaswani2ab27992013-11-01 10:10:40 -070059 };
60
61 L2: l2-cache {
62 compatible = "cache";
63 cache-level = <2>;
Rohit Vaswani2ab27992013-11-01 10:10:40 -070064 qcom,saw = <&saw_l2>;
65 };
Lina Iyerd596d622015-03-25 14:25:33 -060066
67 idle-states {
68 CPU_SPC: spc {
69 compatible = "qcom,idle-state-spc",
70 "arm,idle-state";
71 entry-latency-us = <150>;
72 exit-latency-us = <200>;
73 min-residency-us = <2000>;
74 };
75 };
Rohit Vaswani2ab27992013-11-01 10:10:40 -070076 };
77
Stephen Boyd3bff5472014-02-21 11:09:50 +000078 cpu-pmu {
79 compatible = "qcom,krait-pmu";
80 interrupts = <1 7 0xf04>;
81 };
82
Kumar Galaba082202014-05-28 12:01:29 -050083 timer {
84 compatible = "arm,armv7-timer";
85 interrupts = <1 2 0xf08>,
86 <1 3 0xf08>,
87 <1 4 0xf08>,
88 <1 1 0xf08>;
89 clock-frequency = <19200000>;
90 };
91
Rohit Vaswani2aec37c2013-12-20 11:09:15 -080092 soc: soc {
93 #address-cells = <1>;
94 #size-cells = <1>;
95 ranges;
96 compatible = "simple-bus";
97
98 intc: interrupt-controller@f9000000 {
99 compatible = "qcom,msm-qgic2";
100 interrupt-controller;
101 #interrupt-cells = <3>;
102 reg = <0xf9000000 0x1000>,
103 <0xf9002000 0x1000>;
104 };
105
Stephen Boyd47c5a5d2013-12-20 11:09:19 -0800106 timer@f9020000 {
107 #address-cells = <1>;
108 #size-cells = <1>;
109 ranges;
110 compatible = "arm,armv7-timer-mem";
111 reg = <0xf9020000 0x1000>;
112 clock-frequency = <19200000>;
113
114 frame@f9021000 {
115 frame-number = <0>;
116 interrupts = <0 8 0x4>,
117 <0 7 0x4>;
118 reg = <0xf9021000 0x1000>,
119 <0xf9022000 0x1000>;
120 };
121
122 frame@f9023000 {
123 frame-number = <1>;
124 interrupts = <0 9 0x4>;
125 reg = <0xf9023000 0x1000>;
126 status = "disabled";
127 };
128
129 frame@f9024000 {
130 frame-number = <2>;
131 interrupts = <0 10 0x4>;
132 reg = <0xf9024000 0x1000>;
133 status = "disabled";
134 };
135
136 frame@f9025000 {
137 frame-number = <3>;
138 interrupts = <0 11 0x4>;
139 reg = <0xf9025000 0x1000>;
140 status = "disabled";
141 };
142
143 frame@f9026000 {
144 frame-number = <4>;
145 interrupts = <0 12 0x4>;
146 reg = <0xf9026000 0x1000>;
147 status = "disabled";
148 };
149
150 frame@f9027000 {
151 frame-number = <5>;
152 interrupts = <0 13 0x4>;
153 reg = <0xf9027000 0x1000>;
154 status = "disabled";
155 };
156
157 frame@f9028000 {
158 frame-number = <6>;
159 interrupts = <0 14 0x4>;
160 reg = <0xf9028000 0x1000>;
161 status = "disabled";
162 };
163 };
164
Lina Iyer8c76a632015-03-25 14:25:30 -0600165 saw0: power-controller@f9089000 {
166 compatible = "qcom,msm8974-saw2-v2.1-cpu", "qcom,saw2";
167 reg = <0xf9089000 0x1000>, <0xf9009000 0x1000>;
168 };
169
170 saw1: power-controller@f9099000 {
171 compatible = "qcom,msm8974-saw2-v2.1-cpu", "qcom,saw2";
172 reg = <0xf9099000 0x1000>, <0xf9009000 0x1000>;
173 };
174
175 saw2: power-controller@f90a9000 {
176 compatible = "qcom,msm8974-saw2-v2.1-cpu", "qcom,saw2";
177 reg = <0xf90a9000 0x1000>, <0xf9009000 0x1000>;
178 };
179
180 saw3: power-controller@f90b9000 {
181 compatible = "qcom,msm8974-saw2-v2.1-cpu", "qcom,saw2";
182 reg = <0xf90b9000 0x1000>, <0xf9009000 0x1000>;
183 };
184
185 saw_l2: power-controller@f9012000 {
Rohit Vaswani2ab27992013-11-01 10:10:40 -0700186 compatible = "qcom,saw2";
187 reg = <0xf9012000 0x1000>;
188 regulator;
189 };
190
191 acc0: clock-controller@f9088000 {
192 compatible = "qcom,kpss-acc-v2";
193 reg = <0xf9088000 0x1000>, <0xf9008000 0x1000>;
194 };
195
196 acc1: clock-controller@f9098000 {
197 compatible = "qcom,kpss-acc-v2";
198 reg = <0xf9098000 0x1000>, <0xf9008000 0x1000>;
199 };
200
201 acc2: clock-controller@f90a8000 {
202 compatible = "qcom,kpss-acc-v2";
203 reg = <0xf90a8000 0x1000>, <0xf9008000 0x1000>;
204 };
205
206 acc3: clock-controller@f90b8000 {
207 compatible = "qcom,kpss-acc-v2";
208 reg = <0xf90b8000 0x1000>, <0xf9008000 0x1000>;
209 };
210
Stephen Boyd74e848f2013-12-20 11:09:18 -0800211 restart@fc4ab000 {
212 compatible = "qcom,pshold";
213 reg = <0xfc4ab000 0x4>;
214 };
Stephen Boyd3933d262014-01-16 17:25:03 -0800215
216 gcc: clock-controller@fc400000 {
217 compatible = "qcom,gcc-msm8974";
218 #clock-cells = <1>;
219 #reset-cells = <1>;
220 reg = <0xfc400000 0x4000>;
221 };
222
Bjorn Anderssonb4e745e2015-06-26 14:50:16 -0700223 tcsr_mutex_block: syscon@fd484000 {
224 compatible = "syscon";
225 reg = <0xfd484000 0x2000>;
226 };
227
Stephen Boyd3933d262014-01-16 17:25:03 -0800228 mmcc: clock-controller@fd8c0000 {
229 compatible = "qcom,mmcc-msm8974";
230 #clock-cells = <1>;
231 #reset-cells = <1>;
232 reg = <0xfd8c0000 0x6000>;
233 };
234
Bjorn Anderssonb4e745e2015-06-26 14:50:16 -0700235 tcsr_mutex: tcsr-mutex {
236 compatible = "qcom,tcsr-mutex";
237 syscon = <&tcsr_mutex_block 0 0x80>;
238
239 #hwlock-cells = <1>;
240 };
241
Stephen Boyd3933d262014-01-16 17:25:03 -0800242 serial@f991e000 {
243 compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
244 reg = <0xf991e000 0x1000>;
245 interrupts = <0 108 0x0>;
246 clocks = <&gcc GCC_BLSP1_UART2_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>;
247 clock-names = "core", "iface";
Kumar Galaba082202014-05-28 12:01:29 -0500248 status = "disabled";
Stephen Boyd3933d262014-01-16 17:25:03 -0800249 };
Stanimir Varbanov19f4f8c2014-02-07 11:23:07 +0200250
Georgi Djakov3e944c72014-01-31 16:21:56 +0200251 sdhci@f9824900 {
252 compatible = "qcom,sdhci-msm-v4";
253 reg = <0xf9824900 0x11c>, <0xf9824000 0x800>;
254 reg-names = "hc_mem", "core_mem";
255 interrupts = <0 123 0>, <0 138 0>;
256 interrupt-names = "hc_irq", "pwr_irq";
257 clocks = <&gcc GCC_SDCC1_APPS_CLK>, <&gcc GCC_SDCC1_AHB_CLK>;
258 clock-names = "core", "iface";
259 status = "disabled";
260 };
261
262 sdhci@f98a4900 {
263 compatible = "qcom,sdhci-msm-v4";
264 reg = <0xf98a4900 0x11c>, <0xf98a4000 0x800>;
265 reg-names = "hc_mem", "core_mem";
266 interrupts = <0 125 0>, <0 221 0>;
267 interrupt-names = "hc_irq", "pwr_irq";
268 clocks = <&gcc GCC_SDCC2_APPS_CLK>, <&gcc GCC_SDCC2_AHB_CLK>;
269 clock-names = "core", "iface";
270 status = "disabled";
271 };
272
Stanimir Varbanov19f4f8c2014-02-07 11:23:07 +0200273 rng@f9bff000 {
274 compatible = "qcom,prng";
275 reg = <0xf9bff000 0x200>;
276 clocks = <&gcc GCC_PRNG_AHB_CLK>;
277 clock-names = "core";
278 };
Ivan T. Ivanov7d7db8d2014-02-06 17:28:49 +0200279
280 msmgpio: pinctrl@fd510000 {
281 compatible = "qcom,msm8974-pinctrl";
282 reg = <0xfd510000 0x4000>;
283 gpio-controller;
284 #gpio-cells = <2>;
285 interrupt-controller;
286 #interrupt-cells = <2>;
287 interrupts = <0 208 0>;
Ivan T. Ivanov7d7db8d2014-02-06 17:28:49 +0200288 };
kiran.padwal@smartplayin.combf7f6b02014-09-16 17:15:38 +0530289
290 blsp_i2c11: i2c@f9967000 {
291 status = "disable";
292 compatible = "qcom,i2c-qup-v2.1.1";
293 reg = <0xf9967000 0x1000>;
294 interrupts = <0 105 IRQ_TYPE_NONE>;
295 clocks = <&gcc GCC_BLSP2_QUP5_I2C_APPS_CLK>, <&gcc GCC_BLSP2_AHB_CLK>;
296 clock-names = "core", "iface";
297 #address-cells = <1>;
298 #size-cells = <0>;
299 };
Ivan T. Ivanovaf22e462015-02-03 14:17:58 +0200300
301 spmi_bus: spmi@fc4cf000 {
302 compatible = "qcom,spmi-pmic-arb";
303 reg-names = "core", "intr", "cnfg";
304 reg = <0xfc4cf000 0x1000>,
305 <0xfc4cb000 0x1000>,
306 <0xfc4ca000 0x1000>;
307 interrupt-names = "periph_irq";
308 interrupts = <0 190 0>;
309 qcom,ee = <0>;
310 qcom,channel = <0>;
311 #address-cells = <2>;
312 #size-cells = <0>;
313 interrupt-controller;
314 #interrupt-cells = <4>;
315 };
Rohit Vaswani2aec37c2013-12-20 11:09:15 -0800316 };
317};