blob: 134cd91d68ece1034077c0e36f154756f6143cb6 [file] [log] [blame]
Kumar Galacc60a1a2014-01-23 14:09:54 -06001/dts-v1/;
2
3/include/ "skeleton.dtsi"
4
Stephen Boydaabff7b2014-09-19 16:50:51 -07005#include <dt-bindings/interrupt-controller/arm-gic.h>
Kumar Galacc60a1a2014-01-23 14:09:54 -06006#include <dt-bindings/clock/qcom,gcc-msm8960.h>
Stephen Boyd9de4bc92015-06-16 13:31:13 -07007#include <dt-bindings/mfd/qcom-rpm.h>
Kumar Gala665c9c02014-05-28 12:09:53 -05008#include <dt-bindings/soc/qcom,gsbi.h>
Kumar Galacc60a1a2014-01-23 14:09:54 -06009
10/ {
11 model = "Qualcomm MSM8960";
12 compatible = "qcom,msm8960";
13 interrupt-parent = <&intc>;
14
Rohit Vaswani2ab27992013-11-01 10:10:40 -070015 cpus {
16 #address-cells = <1>;
17 #size-cells = <0>;
18 interrupts = <1 14 0x304>;
Rohit Vaswani2ab27992013-11-01 10:10:40 -070019
20 cpu@0 {
Kumar Gala665c9c02014-05-28 12:09:53 -050021 compatible = "qcom,krait";
22 enable-method = "qcom,kpss-acc-v1";
Rohit Vaswani2ab27992013-11-01 10:10:40 -070023 device_type = "cpu";
24 reg = <0>;
25 next-level-cache = <&L2>;
26 qcom,acc = <&acc0>;
27 qcom,saw = <&saw0>;
28 };
29
30 cpu@1 {
Kumar Gala665c9c02014-05-28 12:09:53 -050031 compatible = "qcom,krait";
32 enable-method = "qcom,kpss-acc-v1";
Rohit Vaswani2ab27992013-11-01 10:10:40 -070033 device_type = "cpu";
34 reg = <1>;
35 next-level-cache = <&L2>;
36 qcom,acc = <&acc1>;
37 qcom,saw = <&saw1>;
38 };
39
40 L2: l2-cache {
41 compatible = "cache";
42 cache-level = <2>;
Rohit Vaswani2ab27992013-11-01 10:10:40 -070043 };
44 };
45
Stephen Boyd3bff5472014-02-21 11:09:50 +000046 cpu-pmu {
47 compatible = "qcom,krait-pmu";
48 interrupts = <1 10 0x304>;
49 qcom,no-pc-write;
50 };
51
Kumar Gala665c9c02014-05-28 12:09:53 -050052 soc: soc {
53 #address-cells = <1>;
54 #size-cells = <1>;
55 ranges;
56 compatible = "simple-bus";
Kumar Galacc60a1a2014-01-23 14:09:54 -060057
Kumar Gala665c9c02014-05-28 12:09:53 -050058 intc: interrupt-controller@2000000 {
59 compatible = "qcom,msm-qgic2";
60 interrupt-controller;
61 #interrupt-cells = <3>;
62 reg = <0x02000000 0x1000>,
63 <0x02002000 0x1000>;
64 };
Kumar Galacc60a1a2014-01-23 14:09:54 -060065
Kumar Gala665c9c02014-05-28 12:09:53 -050066 timer@200a000 {
67 compatible = "qcom,kpss-timer", "qcom,msm-timer";
68 interrupts = <1 1 0x301>,
69 <1 2 0x301>,
70 <1 3 0x301>;
71 reg = <0x0200a000 0x100>;
72 clock-frequency = <27000000>,
73 <32768>;
74 cpu-offset = <0x80000>;
75 };
Kumar Galacc60a1a2014-01-23 14:09:54 -060076
Stephen Boyd2a39c9b2015-06-16 13:31:12 -070077 msmgpio: pinctrl@800000 {
78 compatible = "qcom,msm8960-pinctrl";
Kumar Gala665c9c02014-05-28 12:09:53 -050079 gpio-controller;
80 #gpio-cells = <2>;
Kumar Gala665c9c02014-05-28 12:09:53 -050081 interrupts = <0 16 0x4>;
82 interrupt-controller;
83 #interrupt-cells = <2>;
84 reg = <0x800000 0x4000>;
85 };
Kumar Galacc60a1a2014-01-23 14:09:54 -060086
Kumar Gala665c9c02014-05-28 12:09:53 -050087 gcc: clock-controller@900000 {
88 compatible = "qcom,gcc-msm8960";
89 #clock-cells = <1>;
90 #reset-cells = <1>;
91 reg = <0x900000 0x4000>;
92 };
Kumar Galacc60a1a2014-01-23 14:09:54 -060093
Kumar Gala1e1177b2015-01-28 13:36:12 -080094 lcc: clock-controller@28000000 {
95 compatible = "qcom,lcc-msm8960";
96 reg = <0x28000000 0x1000>;
97 #clock-cells = <1>;
98 #reset-cells = <1>;
99 };
100
Kumar Gala665c9c02014-05-28 12:09:53 -0500101 clock-controller@4000000 {
102 compatible = "qcom,mmcc-msm8960";
103 reg = <0x4000000 0x1000>;
104 #clock-cells = <1>;
105 #reset-cells = <1>;
106 };
Rohit Vaswani2ab27992013-11-01 10:10:40 -0700107
Stephen Boyd9de4bc92015-06-16 13:31:13 -0700108 l2cc: clock-controller@2011000 {
109 compatible = "syscon";
110 reg = <0x2011000 0x1000>;
111 };
112
113 rpm@108000 {
114 compatible = "qcom,rpm-msm8960";
115 reg = <0x108000 0x1000>;
116 qcom,ipc = <&l2cc 0x8 2>;
117
118 interrupts = <0 19 0>, <0 21 0>, <0 22 0>;
119 interrupt-names = "ack", "err", "wakeup";
120
121 regulators {
122 compatible = "qcom,rpm-pm8921-regulators";
123 };
124 };
125
Kumar Gala665c9c02014-05-28 12:09:53 -0500126 acc0: clock-controller@2088000 {
127 compatible = "qcom,kpss-acc-v1";
128 reg = <0x02088000 0x1000>, <0x02008000 0x1000>;
129 };
Rohit Vaswani2ab27992013-11-01 10:10:40 -0700130
Kumar Gala665c9c02014-05-28 12:09:53 -0500131 acc1: clock-controller@2098000 {
132 compatible = "qcom,kpss-acc-v1";
133 reg = <0x02098000 0x1000>, <0x02008000 0x1000>;
134 };
Rohit Vaswani2ab27992013-11-01 10:10:40 -0700135
Kumar Gala665c9c02014-05-28 12:09:53 -0500136 saw0: regulator@2089000 {
137 compatible = "qcom,saw2";
138 reg = <0x02089000 0x1000>, <0x02009000 0x1000>;
139 regulator;
140 };
Rohit Vaswani2ab27992013-11-01 10:10:40 -0700141
Kumar Gala665c9c02014-05-28 12:09:53 -0500142 saw1: regulator@2099000 {
143 compatible = "qcom,saw2";
144 reg = <0x02099000 0x1000>, <0x02009000 0x1000>;
145 regulator;
146 };
Kumar Galacc60a1a2014-01-23 14:09:54 -0600147
Kumar Gala665c9c02014-05-28 12:09:53 -0500148 gsbi5: gsbi@16400000 {
149 compatible = "qcom,gsbi-v1.0.0";
Andy Gross3860d432015-02-09 16:01:11 -0600150 cell-index = <5>;
Kumar Gala665c9c02014-05-28 12:09:53 -0500151 reg = <0x16400000 0x100>;
152 clocks = <&gcc GSBI5_H_CLK>;
153 clock-names = "iface";
154 #address-cells = <1>;
155 #size-cells = <1>;
156 ranges;
Stanimir Varbanov5a229c22014-02-19 16:33:06 +0200157
Andy Gross3860d432015-02-09 16:01:11 -0600158 syscon-tcsr = <&tcsr>;
159
Stephen Boyd10bfcfe2015-06-16 14:31:44 -0700160 gsbi5_serial: serial@16440000 {
Kumar Gala665c9c02014-05-28 12:09:53 -0500161 compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
162 reg = <0x16440000 0x1000>,
163 <0x16400000 0x1000>;
164 interrupts = <0 154 0x0>;
165 clocks = <&gcc GSBI5_UART_CLK>, <&gcc GSBI5_H_CLK>;
166 clock-names = "core", "iface";
167 status = "disabled";
168 };
169 };
170
171 qcom,ssbi@500000 {
172 compatible = "qcom,ssbi";
173 reg = <0x500000 0x1000>;
174 qcom,controller-type = "pmic-arbiter";
Stephen Boydfa410c02014-06-24 14:03:53 -0700175
176 pmicintc: pmic@0 {
177 compatible = "qcom,pm8921";
178 interrupt-parent = <&msmgpio>;
179 interrupts = <104 8>;
180 #interrupt-cells = <2>;
181 interrupt-controller;
182 #address-cells = <1>;
183 #size-cells = <0>;
184
185 pwrkey@1c {
186 compatible = "qcom,pm8921-pwrkey";
187 reg = <0x1c>;
188 interrupt-parent = <&pmicintc>;
189 interrupts = <50 1>, <51 1>;
190 debounce = <15625>;
191 pull-up;
192 };
193
194 keypad@148 {
195 compatible = "qcom,pm8921-keypad";
196 reg = <0x148>;
197 interrupt-parent = <&pmicintc>;
198 interrupts = <74 1>, <75 1>;
199 debounce = <15>;
200 scan-delay = <32>;
201 row-hold = <91500>;
202 };
203
204 rtc@11d {
205 compatible = "qcom,pm8921-rtc";
206 interrupt-parent = <&pmicintc>;
207 interrupts = <39 1>;
208 reg = <0x11d>;
209 allow-set-time;
210 };
211 };
Kumar Gala665c9c02014-05-28 12:09:53 -0500212 };
213
214 rng@1a500000 {
215 compatible = "qcom,prng";
216 reg = <0x1a500000 0x200>;
217 clocks = <&gcc PRNG_CLK>;
218 clock-names = "core";
219 };
Stephen Boydaabff7b2014-09-19 16:50:51 -0700220
221 /* Temporary fixed regulator */
222 vsdcc_fixed: vsdcc-regulator {
223 compatible = "regulator-fixed";
224 regulator-name = "SDCC Power";
225 regulator-min-microvolt = <2700000>;
226 regulator-max-microvolt = <2700000>;
227 regulator-always-on;
228 };
229
230 amba {
231 compatible = "arm,amba-bus";
232 #address-cells = <1>;
233 #size-cells = <1>;
234 ranges;
235 sdcc1: sdcc@12400000 {
236 status = "disabled";
237 compatible = "arm,pl18x", "arm,primecell";
238 arm,primecell-periphid = <0x00051180>;
239 reg = <0x12400000 0x8000>;
240 interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
241 interrupt-names = "cmd_irq";
242 clocks = <&gcc SDC1_CLK>, <&gcc SDC1_H_CLK>;
243 clock-names = "mclk", "apb_pclk";
244 bus-width = <8>;
245 max-frequency = <96000000>;
246 non-removable;
247 cap-sd-highspeed;
248 cap-mmc-highspeed;
249 vmmc-supply = <&vsdcc_fixed>;
250 };
251
252 sdcc3: sdcc@12180000 {
253 compatible = "arm,pl18x", "arm,primecell";
254 arm,primecell-periphid = <0x00051180>;
255 status = "disabled";
256 reg = <0x12180000 0x8000>;
257 interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
258 interrupt-names = "cmd_irq";
259 clocks = <&gcc SDC3_CLK>, <&gcc SDC3_H_CLK>;
260 clock-names = "mclk", "apb_pclk";
261 bus-width = <4>;
262 cap-sd-highspeed;
263 cap-mmc-highspeed;
264 max-frequency = <192000000>;
265 no-1-8-v;
266 vmmc-supply = <&vsdcc_fixed>;
267 };
268 };
Andy Gross3860d432015-02-09 16:01:11 -0600269
270 tcsr: syscon@1a400000 {
271 compatible = "qcom,tcsr-msm8960", "syscon";
272 reg = <0x1a400000 0x100>;
273 };
Stephen Boyd724cde42015-06-16 13:31:15 -0700274
275 gsbi@16000000 {
276 compatible = "qcom,gsbi-v1.0.0";
277 cell-index = <1>;
278 reg = <0x16000000 0x100>;
279 clocks = <&gcc GSBI1_H_CLK>;
280 clock-names = "iface";
281 #address-cells = <1>;
282 #size-cells = <1>;
283 ranges;
284
285 spi@16080000 {
286 compatible = "qcom,spi-qup-v1.1.1";
287 #address-cells = <1>;
288 #size-cells = <0>;
289 reg = <0x16080000 0x1000>;
290 interrupts = <0 147 0>;
291 spi-max-frequency = <24000000>;
292 cs-gpios = <&msmgpio 8 0>;
293
294 clocks = <&gcc GSBI1_QUP_CLK>, <&gcc GSBI1_H_CLK>;
295 clock-names = "core", "iface";
296 status = "disabled";
297 };
298 };
Stanimir Varbanov5a229c22014-02-19 16:33:06 +0200299 };
Kumar Galacc60a1a2014-01-23 14:09:54 -0600300};