3 #include "skeleton.dtsi"
4 #include <dt-bindings/clock/qcom,gcc-msm8960.h>
5 #include <dt-bindings/reset/qcom,gcc-msm8960.h>
6 #include <dt-bindings/clock/qcom,mmcc-msm8960.h>
7 #include <dt-bindings/soc/qcom,gsbi.h>
8 #include <dt-bindings/interrupt-controller/arm-gic.h>
11 model = "Qualcomm APQ8064";
12 compatible = "qcom,apq8064";
13 interrupt-parent = <&intc>;
20 compatible = "qcom,krait";
21 enable-method = "qcom,kpss-acc-v1";
24 next-level-cache = <&L2>;
27 cpu-idle-states = <&CPU_SPC>;
31 compatible = "qcom,krait";
32 enable-method = "qcom,kpss-acc-v1";
35 next-level-cache = <&L2>;
38 cpu-idle-states = <&CPU_SPC>;
42 compatible = "qcom,krait";
43 enable-method = "qcom,kpss-acc-v1";
46 next-level-cache = <&L2>;
49 cpu-idle-states = <&CPU_SPC>;
53 compatible = "qcom,krait";
54 enable-method = "qcom,kpss-acc-v1";
57 next-level-cache = <&L2>;
60 cpu-idle-states = <&CPU_SPC>;
70 compatible = "qcom,idle-state-spc",
72 entry-latency-us = <400>;
73 exit-latency-us = <900>;
74 min-residency-us = <3000>;
80 compatible = "qcom,krait-pmu";
81 interrupts = <1 10 0x304>;
88 compatible = "simple-bus";
90 tlmm_pinmux: pinctrl@800000 {
91 compatible = "qcom,apq8064-pinctrl";
92 reg = <0x800000 0x4000>;
97 #interrupt-cells = <2>;
98 interrupts = <0 16 IRQ_TYPE_LEVEL_HIGH>;
100 pinctrl-names = "default";
101 pinctrl-0 = <&ps_hold>;
103 sdc4_gpios: sdc4-gpios {
105 pins = "gpio63", "gpio64", "gpio65", "gpio66", "gpio67", "gpio68";
113 function = "ps_hold";
118 intc: interrupt-controller@2000000 {
119 compatible = "qcom,msm-qgic2";
120 interrupt-controller;
121 #interrupt-cells = <3>;
122 reg = <0x02000000 0x1000>,
127 compatible = "qcom,kpss-timer", "qcom,msm-timer";
128 interrupts = <1 1 0x301>,
131 reg = <0x0200a000 0x100>;
132 clock-frequency = <27000000>,
134 cpu-offset = <0x80000>;
137 acc0: clock-controller@2088000 {
138 compatible = "qcom,kpss-acc-v1";
139 reg = <0x02088000 0x1000>, <0x02008000 0x1000>;
142 acc1: clock-controller@2098000 {
143 compatible = "qcom,kpss-acc-v1";
144 reg = <0x02098000 0x1000>, <0x02008000 0x1000>;
147 acc2: clock-controller@20a8000 {
148 compatible = "qcom,kpss-acc-v1";
149 reg = <0x020a8000 0x1000>, <0x02008000 0x1000>;
152 acc3: clock-controller@20b8000 {
153 compatible = "qcom,kpss-acc-v1";
154 reg = <0x020b8000 0x1000>, <0x02008000 0x1000>;
157 saw0: power-controller@2089000 {
158 compatible = "qcom,apq8064-saw2-v1.1-cpu", "qcom,saw2";
159 reg = <0x02089000 0x1000>, <0x02009000 0x1000>;
163 saw1: power-controller@2099000 {
164 compatible = "qcom,apq8064-saw2-v1.1-cpu", "qcom,saw2";
165 reg = <0x02099000 0x1000>, <0x02009000 0x1000>;
169 saw2: power-controller@20a9000 {
170 compatible = "qcom,apq8064-saw2-v1.1-cpu", "qcom,saw2";
171 reg = <0x020a9000 0x1000>, <0x02009000 0x1000>;
175 saw3: power-controller@20b9000 {
176 compatible = "qcom,apq8064-saw2-v1.1-cpu", "qcom,saw2";
177 reg = <0x020b9000 0x1000>, <0x02009000 0x1000>;
181 gsbi1: gsbi@12440000 {
183 compatible = "qcom,gsbi-v1.0.0";
185 reg = <0x12440000 0x100>;
186 clocks = <&gcc GSBI1_H_CLK>;
187 clock-names = "iface";
188 #address-cells = <1>;
192 syscon-tcsr = <&tcsr>;
195 compatible = "qcom,i2c-qup-v1.1.1";
196 reg = <0x12460000 0x1000>;
197 interrupts = <0 194 IRQ_TYPE_NONE>;
198 clocks = <&gcc GSBI1_QUP_CLK>, <&gcc GSBI1_H_CLK>;
199 clock-names = "core", "iface";
200 #address-cells = <1>;
205 gsbi2: gsbi@12480000 {
207 compatible = "qcom,gsbi-v1.0.0";
209 reg = <0x12480000 0x100>;
210 clocks = <&gcc GSBI2_H_CLK>;
211 clock-names = "iface";
212 #address-cells = <1>;
216 syscon-tcsr = <&tcsr>;
219 compatible = "qcom,i2c-qup-v1.1.1";
220 reg = <0x124a0000 0x1000>;
221 interrupts = <0 196 IRQ_TYPE_NONE>;
222 clocks = <&gcc GSBI2_QUP_CLK>, <&gcc GSBI2_H_CLK>;
223 clock-names = "core", "iface";
224 #address-cells = <1>;
229 gsbi7: gsbi@16600000 {
231 compatible = "qcom,gsbi-v1.0.0";
233 reg = <0x16600000 0x100>;
234 clocks = <&gcc GSBI7_H_CLK>;
235 clock-names = "iface";
236 #address-cells = <1>;
240 syscon-tcsr = <&tcsr>;
243 compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
244 reg = <0x16640000 0x1000>,
246 interrupts = <0 158 0x0>;
247 clocks = <&gcc GSBI7_UART_CLK>, <&gcc GSBI7_H_CLK>;
248 clock-names = "core", "iface";
254 compatible = "qcom,ssbi";
255 reg = <0x00500000 0x1000>;
256 qcom,controller-type = "pmic-arbiter";
259 gcc: clock-controller@900000 {
260 compatible = "qcom,gcc-apq8064";
261 reg = <0x00900000 0x4000>;
266 lcc: clock-controller@28000000 {
267 compatible = "qcom,lcc-apq8064";
268 reg = <0x28000000 0x1000>;
273 mmcc: clock-controller@4000000 {
274 compatible = "qcom,mmcc-apq8064";
275 reg = <0x4000000 0x1000>;
280 l2cc: clock-controller@2011000 {
281 compatible = "syscon";
282 reg = <0x2011000 0x1000>;
286 compatible = "qcom,rpm-apq8064";
287 reg = <0x108000 0x1000>;
288 qcom,ipc = <&l2cc 0x8 2>;
290 interrupts = <GIC_SPI 19 IRQ_TYPE_EDGE_RISING>,
291 <GIC_SPI 21 IRQ_TYPE_EDGE_RISING>,
292 <GIC_SPI 22 IRQ_TYPE_EDGE_RISING>;
293 interrupt-names = "ack", "err", "wakeup";
296 compatible = "qcom,rpm-pm8921-regulators";
298 pm8921_hdmi_switch: hdmi-switch {
304 usb3_phy: phy@12520000 {
305 compatible = "qcom,usb-otg-ci";
306 reg = <0x12520000 0x400>;
307 interrupts = <GIC_SPI 188 IRQ_TYPE_NONE>;
311 clocks = <&gcc USB_HS3_XCVR_CLK>,
312 <&gcc USB_HS3_H_CLK>;
313 clock-names = "core", "iface";
315 resets = <&gcc USB_HS3_RESET>;
316 reset-names = "link";
319 usb4_phy: phy@12530000 {
320 compatible = "qcom,usb-otg-ci";
321 reg = <0x12530000 0x400>;
322 interrupts = <GIC_SPI 215 IRQ_TYPE_NONE>;
326 clocks = <&gcc USB_HS4_XCVR_CLK>,
327 <&gcc USB_HS4_H_CLK>;
328 clock-names = "core", "iface";
330 resets = <&gcc USB_HS4_RESET>;
331 reset-names = "link";
335 compatible = "qcom,ehci-host";
336 reg = <0x12520000 0x400>;
337 interrupts = <GIC_SPI 188 IRQ_TYPE_NONE>;
339 usb-phy = <&usb3_phy>;
343 compatible = "qcom,ehci-host";
344 reg = <0x12530000 0x400>;
345 interrupts = <GIC_SPI 215 IRQ_TYPE_NONE>;
347 usb-phy = <&usb4_phy>;
350 /* Temporary fixed regulator */
351 vsdcc_fixed: vsdcc-regulator {
352 compatible = "regulator-fixed";
353 regulator-name = "SDCC Power";
354 regulator-min-microvolt = <2700000>;
355 regulator-max-microvolt = <2700000>;
359 sdcc1bam:dma@12402000{
360 compatible = "qcom,bam-v1.3.0";
361 reg = <0x12402000 0x8000>;
362 interrupts = <0 98 0>;
363 clocks = <&gcc SDC1_H_CLK>;
364 clock-names = "bam_clk";
369 sdcc3bam:dma@12182000{
370 compatible = "qcom,bam-v1.3.0";
371 reg = <0x12182000 0x8000>;
372 interrupts = <0 96 0>;
373 clocks = <&gcc SDC3_H_CLK>;
374 clock-names = "bam_clk";
379 sdcc4bam:dma@121c2000{
380 compatible = "qcom,bam-v1.3.0";
381 reg = <0x121c2000 0x8000>;
382 interrupts = <0 95 0>;
383 clocks = <&gcc SDC4_H_CLK>;
384 clock-names = "bam_clk";
390 compatible = "arm,amba-bus";
391 #address-cells = <1>;
394 sdcc1: sdcc@12400000 {
396 compatible = "arm,pl18x", "arm,primecell";
397 arm,primecell-periphid = <0x00051180>;
398 reg = <0x12400000 0x2000>;
399 interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
400 interrupt-names = "cmd_irq";
401 clocks = <&gcc SDC1_CLK>, <&gcc SDC1_H_CLK>;
402 clock-names = "mclk", "apb_pclk";
404 max-frequency = <96000000>;
408 vmmc-supply = <&vsdcc_fixed>;
409 dmas = <&sdcc1bam 2>, <&sdcc1bam 1>;
410 dma-names = "tx", "rx";
413 sdcc3: sdcc@12180000 {
414 compatible = "arm,pl18x", "arm,primecell";
415 arm,primecell-periphid = <0x00051180>;
417 reg = <0x12180000 0x2000>;
418 interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
419 interrupt-names = "cmd_irq";
420 clocks = <&gcc SDC3_CLK>, <&gcc SDC3_H_CLK>;
421 clock-names = "mclk", "apb_pclk";
425 max-frequency = <192000000>;
427 vmmc-supply = <&vsdcc_fixed>;
428 dmas = <&sdcc3bam 2>, <&sdcc3bam 1>;
429 dma-names = "tx", "rx";
432 sdcc4: sdcc@121c0000 {
433 compatible = "arm,pl18x", "arm,primecell";
434 arm,primecell-periphid = <0x00051180>;
436 reg = <0x121c0000 0x2000>;
437 interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
438 interrupt-names = "cmd_irq";
439 clocks = <&gcc SDC4_CLK>, <&gcc SDC4_H_CLK>;
440 clock-names = "mclk", "apb_pclk";
444 max-frequency = <48000000>;
445 vmmc-supply = <&vsdcc_fixed>;
446 vqmmc-supply = <&vsdcc_fixed>;
447 dmas = <&sdcc4bam 2>, <&sdcc4bam 1>;
448 dma-names = "tx", "rx";
449 pinctrl-names = "default";
450 pinctrl-0 = <&sdc4_gpios>;
454 tcsr: syscon@1a400000 {
455 compatible = "qcom,tcsr-apq8064", "syscon";
456 reg = <0x1a400000 0x100>;