1 // SPDX-License-Identifier: GPL-2.0
4 #include <dt-bindings/interrupt-controller/arm-gic.h>
5 #include <dt-bindings/clock/qcom,gcc-apq8084.h>
6 #include <dt-bindings/gpio/gpio.h>
11 model = "Qualcomm APQ 8084";
12 compatible = "qcom,apq8084";
13 interrupt-parent = <&intc>;
20 smem_mem: smem_region@fa00000 {
21 reg = <0xfa00000 0x200000>;
32 compatible = "qcom,krait";
34 enable-method = "qcom,kpss-acc-v2";
35 next-level-cache = <&L2>;
38 cpu-idle-states = <&CPU_SPC>;
43 compatible = "qcom,krait";
45 enable-method = "qcom,kpss-acc-v2";
46 next-level-cache = <&L2>;
49 cpu-idle-states = <&CPU_SPC>;
54 compatible = "qcom,krait";
56 enable-method = "qcom,kpss-acc-v2";
57 next-level-cache = <&L2>;
60 cpu-idle-states = <&CPU_SPC>;
65 compatible = "qcom,krait";
67 enable-method = "qcom,kpss-acc-v2";
68 next-level-cache = <&L2>;
71 cpu-idle-states = <&CPU_SPC>;
82 compatible = "qcom,idle-state-spc",
84 entry-latency-us = <150>;
85 exit-latency-us = <200>;
86 min-residency-us = <2000>;
92 device_type = "memory";
98 compatible = "qcom,scm-apq8084", "qcom,scm";
99 clocks = <&gcc GCC_CE1_CLK> , <&gcc GCC_CE1_AXI_CLK>, <&gcc GCC_CE1_AHB_CLK>;
100 clock-names = "core", "bus", "iface";
106 polling-delay-passive = <250>;
107 polling-delay = <1000>;
109 thermal-sensors = <&tsens 5>;
113 temperature = <75000>;
118 temperature = <110000>;
126 polling-delay-passive = <250>;
127 polling-delay = <1000>;
129 thermal-sensors = <&tsens 6>;
133 temperature = <75000>;
138 temperature = <110000>;
146 polling-delay-passive = <250>;
147 polling-delay = <1000>;
149 thermal-sensors = <&tsens 7>;
153 temperature = <75000>;
158 temperature = <110000>;
166 polling-delay-passive = <250>;
167 polling-delay = <1000>;
169 thermal-sensors = <&tsens 8>;
173 temperature = <75000>;
178 temperature = <110000>;
187 compatible = "qcom,krait-pmu";
188 interrupts = <GIC_PPI 7 0xf04>;
193 compatible = "fixed-clock";
195 clock-frequency = <19200000>;
198 sleep_clk: sleep_clk {
199 compatible = "fixed-clock";
201 clock-frequency = <32768>;
206 compatible = "arm,armv7-timer";
207 interrupts = <GIC_PPI 2 0xf08>,
211 clock-frequency = <19200000>;
215 compatible = "qcom,smem";
217 qcom,rpm-msg-ram = <&rpm_msg_ram>;
218 memory-region = <&smem_mem>;
220 hwlocks = <&tcsr_mutex 3>;
224 #address-cells = <1>;
227 compatible = "simple-bus";
229 intc: interrupt-controller@f9000000 {
230 compatible = "qcom,msm-qgic2";
231 interrupt-controller;
232 #interrupt-cells = <3>;
233 reg = <0xf9000000 0x1000>,
237 apcs: syscon@f9011000 {
238 compatible = "syscon";
239 reg = <0xf9011000 0x1000>;
243 compatible = "qcom,apq8084-rpm-stats";
244 reg = <0xfc190000 0x10000>;
247 qfprom: qfprom@fc4bc000 {
248 compatible = "qcom,apq8084-qfprom", "qcom,qfprom";
249 reg = <0xfc4bc000 0x1000>;
250 #address-cells = <1>;
252 tsens_calib: calib@d0 {
255 tsens_backup: backup@440 {
260 tsens: thermal-sensor@fc4a8000 {
261 compatible = "qcom,msm8974-tsens", "qcom,tsens-v0_1";
262 reg = <0xfc4a9000 0x1000>, /* TM */
263 <0xfc4a8000 0x1000>; /* SROT */
264 nvmem-cells = <&tsens_calib>, <&tsens_backup>;
265 nvmem-cell-names = "calib", "calib_backup";
266 #qcom,sensors = <11>;
267 interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>;
268 interrupt-names = "uplow";
269 #thermal-sensor-cells = <1>;
272 #address-cells = <1>;
275 compatible = "arm,armv7-timer-mem";
276 reg = <0xf9020000 0x1000>;
277 clock-frequency = <19200000>;
281 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
282 <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
283 reg = <0xf9021000 0x1000>,
289 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
290 reg = <0xf9023000 0x1000>;
296 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
297 reg = <0xf9024000 0x1000>;
303 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
304 reg = <0xf9025000 0x1000>;
310 interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
311 reg = <0xf9026000 0x1000>;
317 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
318 reg = <0xf9027000 0x1000>;
324 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
325 reg = <0xf9028000 0x1000>;
330 saw0: power-controller@f9089000 {
331 compatible = "qcom,apq8084-saw2-v2.1-cpu", "qcom,saw2";
332 reg = <0xf9089000 0x1000>, <0xf9009000 0x1000>;
335 saw1: power-controller@f9099000 {
336 compatible = "qcom,apq8084-saw2-v2.1-cpu", "qcom,saw2";
337 reg = <0xf9099000 0x1000>, <0xf9009000 0x1000>;
340 saw2: power-controller@f90a9000 {
341 compatible = "qcom,apq8084-saw2-v2.1-cpu", "qcom,saw2";
342 reg = <0xf90a9000 0x1000>, <0xf9009000 0x1000>;
345 saw3: power-controller@f90b9000 {
346 compatible = "qcom,apq8084-saw2-v2.1-cpu", "qcom,saw2";
347 reg = <0xf90b9000 0x1000>, <0xf9009000 0x1000>;
350 saw_l2: power-controller@f9012000 {
351 compatible = "qcom,saw2";
352 reg = <0xf9012000 0x1000>;
356 acc0: clock-controller@f9088000 {
357 compatible = "qcom,kpss-acc-v2";
358 reg = <0xf9088000 0x1000>,
362 acc1: clock-controller@f9098000 {
363 compatible = "qcom,kpss-acc-v2";
364 reg = <0xf9098000 0x1000>,
368 acc2: clock-controller@f90a8000 {
369 compatible = "qcom,kpss-acc-v2";
370 reg = <0xf90a8000 0x1000>,
374 acc3: clock-controller@f90b8000 {
375 compatible = "qcom,kpss-acc-v2";
376 reg = <0xf90b8000 0x1000>,
381 compatible = "qcom,pshold";
382 reg = <0xfc4ab000 0x4>;
385 gcc: clock-controller@fc400000 {
386 compatible = "qcom,gcc-apq8084";
389 #power-domain-cells = <1>;
390 reg = <0xfc400000 0x4000>;
393 tcsr_mutex: hwlock@fd484000 {
394 compatible = "qcom,apq8084-tcsr-mutex", "qcom,tcsr-mutex";
395 reg = <0xfd484000 0x1000>;
399 rpm_msg_ram: sram@fc428000 {
400 compatible = "qcom,rpm-msg-ram";
401 reg = <0xfc428000 0x4000>;
404 tlmm: pinctrl@fd510000 {
405 compatible = "qcom,apq8084-pinctrl";
406 reg = <0xfd510000 0x4000>;
408 gpio-ranges = <&tlmm 0 0 147>;
410 interrupt-controller;
411 #interrupt-cells = <2>;
412 interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
415 blsp2_uart2: serial@f995e000 {
416 compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
417 reg = <0xf995e000 0x1000>;
418 interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
419 clocks = <&gcc GCC_BLSP2_UART2_APPS_CLK>, <&gcc GCC_BLSP2_AHB_CLK>;
420 clock-names = "core", "iface";
424 sdhc_1: mmc@f9824900 {
425 compatible = "qcom,apq8084-sdhci", "qcom,sdhci-msm-v4";
426 reg = <0xf9824900 0x11c>, <0xf9824000 0x800>;
427 reg-names = "hc", "core";
428 interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
429 interrupt-names = "hc_irq", "pwr_irq";
430 clocks = <&gcc GCC_SDCC1_AHB_CLK>,
431 <&gcc GCC_SDCC1_APPS_CLK>,
433 clock-names = "iface", "core", "xo";
437 sdhc_2: mmc@f98a4900 {
438 compatible = "qcom,apq8084-sdhci", "qcom,sdhci-msm-v4";
439 reg = <0xf98a4900 0x11c>, <0xf98a4000 0x800>;
440 reg-names = "hc", "core";
441 interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>;
442 interrupt-names = "hc_irq", "pwr_irq";
443 clocks = <&gcc GCC_SDCC2_AHB_CLK>,
444 <&gcc GCC_SDCC2_APPS_CLK>,
446 clock-names = "iface", "core", "xo";
450 spmi_bus: spmi@fc4cf000 {
451 compatible = "qcom,spmi-pmic-arb";
452 reg-names = "core", "intr", "cnfg";
453 reg = <0xfc4cf000 0x1000>,
456 interrupt-names = "periph_irq";
457 interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
460 #address-cells = <2>;
462 interrupt-controller;
463 #interrupt-cells = <4>;
468 compatible = "qcom,smd";
471 interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
472 qcom,ipc = <&apcs 8 0>;
473 qcom,smd-edge = <15>;
476 compatible = "qcom,rpm-apq8084";
477 qcom,smd-channels = "rpm_requests";
480 compatible = "qcom,rpm-pma8084-regulators";
523 pma8084_lvs1: lvs1 {};
524 pma8084_lvs2: lvs2 {};
525 pma8084_lvs3: lvs3 {};
526 pma8084_lvs4: lvs4 {};
528 pma8084_5vs1: 5vs1 {};