1 // SPDX-License-Identifier: BSD-3-Clause
3 * Copyright (c) 2020, The Linux Foundation. All rights reserved.
6 #include <dt-bindings/interrupt-controller/arm-gic.h>
7 #include <dt-bindings/clock/qcom,rpmh.h>
8 #include <dt-bindings/soc/qcom,rpmh-rsc.h>
11 interrupt-parent = <&intc>;
20 compatible = "fixed-clock";
22 clock-frequency = <38400000>;
23 clock-output-names = "xo_board";
26 sleep_clk: sleep-clk {
27 compatible = "fixed-clock";
28 clock-frequency = <32000>;
39 compatible = "qcom,kryo485";
41 enable-method = "psci";
42 next-level-cache = <&L2_0>;
45 next-level-cache = <&L3_0>;
54 compatible = "qcom,kryo485";
56 enable-method = "psci";
57 next-level-cache = <&L2_100>;
60 next-level-cache = <&L3_0>;
66 compatible = "qcom,kryo485";
68 enable-method = "psci";
69 next-level-cache = <&L2_200>;
72 next-level-cache = <&L3_0>;
78 compatible = "qcom,kryo485";
80 enable-method = "psci";
81 next-level-cache = <&L2_300>;
84 next-level-cache = <&L3_0>;
90 compatible = "qcom,kryo485";
92 enable-method = "psci";
93 next-level-cache = <&L2_400>;
96 next-level-cache = <&L3_0>;
102 compatible = "qcom,kryo485";
104 enable-method = "psci";
105 next-level-cache = <&L2_500>;
107 compatible = "cache";
108 next-level-cache = <&L3_0>;
115 compatible = "qcom,kryo485";
117 enable-method = "psci";
118 next-level-cache = <&L2_600>;
120 compatible = "cache";
121 next-level-cache = <&L3_0>;
127 compatible = "qcom,kryo485";
129 enable-method = "psci";
130 next-level-cache = <&L2_700>;
132 compatible = "cache";
133 next-level-cache = <&L3_0>;
140 compatible = "qcom,scm";
146 compatible = "qcom,tcsr-mutex";
147 syscon = <&tcsr_mutex_regs 0 0x1000>;
152 device_type = "memory";
153 /* We expect the bootloader to fill in the size */
154 reg = <0x0 0x80000000 0x0 0x0>;
158 compatible = "arm,armv8-pmuv3";
159 interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH>;
163 compatible = "arm,psci-1.0";
168 #address-cells = <2>;
172 hyp_mem: memory@80000000 {
173 reg = <0x0 0x80000000 0x0 0x600000>;
177 xbl_aop_mem: memory@80700000 {
178 reg = <0x0 0x80700000 0x0 0x160000>;
182 cmd_db: memory@80860000 {
183 compatible = "qcom,cmd-db";
184 reg = <0x0 0x80860000 0x0 0x20000>;
188 smem_mem: memory@80900000 {
189 reg = <0x0 0x80900000 0x0 0x200000>;
193 removed_mem: memory@80b00000 {
194 reg = <0x0 0x80b00000 0x0 0x5300000>;
198 camera_mem: memory@86200000 {
199 reg = <0x0 0x86200000 0x0 0x500000>;
203 wlan_mem: memory@86700000 {
204 reg = <0x0 0x86700000 0x0 0x100000>;
208 ipa_fw_mem: memory@86800000 {
209 reg = <0x0 0x86800000 0x0 0x10000>;
213 ipa_gsi_mem: memory@86810000 {
214 reg = <0x0 0x86810000 0x0 0xa000>;
218 gpu_mem: memory@8681a000 {
219 reg = <0x0 0x8681a000 0x0 0x2000>;
223 npu_mem: memory@86900000 {
224 reg = <0x0 0x86900000 0x0 0x500000>;
228 video_mem: memory@86e00000 {
229 reg = <0x0 0x86e00000 0x0 0x500000>;
233 cvp_mem: memory@87300000 {
234 reg = <0x0 0x87300000 0x0 0x500000>;
238 cdsp_mem: memory@87800000 {
239 reg = <0x0 0x87800000 0x0 0x1400000>;
243 slpi_mem: memory@88c00000 {
244 reg = <0x0 0x88c00000 0x0 0x1500000>;
248 adsp_mem: memory@8a100000 {
249 reg = <0x0 0x8a100000 0x0 0x1d00000>;
253 spss_mem: memory@8be00000 {
254 reg = <0x0 0x8be00000 0x0 0x100000>;
258 cdsp_secure_heap: memory@8bf00000 {
259 reg = <0x0 0x8bf00000 0x0 0x4600000>;
265 compatible = "qcom,smem";
266 memory-region = <&smem_mem>;
267 hwlocks = <&tcsr_mutex 3>;
271 #address-cells = <2>;
273 ranges = <0 0 0 0 0x10 0>;
274 dma-ranges = <0 0 0 0 0x10 0>;
275 compatible = "simple-bus";
277 gcc: clock-controller@100000 {
278 compatible = "qcom,gcc-sm8250";
279 reg = <0x0 0x00100000 0x0 0x1f0000>;
282 #power-domain-cells = <1>;
283 clock-names = "bi_tcxo", "sleep_clk";
284 clocks = <&rpmhcc RPMH_CXO_CLK>, <&sleep_clk>;
287 qupv3_id_1: geniqup@ac0000 {
288 compatible = "qcom,geni-se-qup";
289 reg = <0x0 0x00ac0000 0x0 0x6000>;
290 clock-names = "m-ahb", "s-ahb";
291 clocks = <&gcc 133>, <&gcc 134>;
292 #address-cells = <2>;
297 uart2: serial@a90000 {
298 compatible = "qcom,geni-debug-uart";
299 reg = <0x0 0x00a90000 0x0 0x4000>;
302 interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>;
307 intc: interrupt-controller@17a00000 {
308 compatible = "arm,gic-v3";
309 #interrupt-cells = <3>;
310 interrupt-controller;
311 reg = <0x0 0x17a00000 0x0 0x10000>, /* GICD */
312 <0x0 0x17a60000 0x0 0x100000>; /* GICR * 8 */
313 interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
316 pdc: interrupt-controller@b220000 {
317 compatible = "qcom,sm8250-pdc";
318 reg = <0x0b220000 0x30000>, <0x17c000f0 0x60>;
319 qcom,pdc-ranges = <0 480 94>, <94 609 31>,
320 <125 63 1>, <126 716 12>;
321 #interrupt-cells = <2>;
322 interrupt-parent = <&intc>;
323 interrupt-controller;
326 spmi: qcom,spmi@c440000 {
327 compatible = "qcom,spmi-pmic-arb";
328 reg = <0x0 0x0c440000 0x0 0x0001100>,
329 <0x0 0x0c600000 0x0 0x2000000>,
330 <0x0 0x0e600000 0x0 0x0100000>,
331 <0x0 0x0e700000 0x0 0x00a0000>,
332 <0x0 0x0c40a000 0x0 0x0026000>;
333 reg-names = "core", "chnls", "obsrvr", "intr", "cnfg";
334 interrupt-names = "periph_irq";
335 interrupts-extended = <&pdc 1 IRQ_TYPE_LEVEL_HIGH>;
338 #address-cells = <2>;
340 interrupt-controller;
341 #interrupt-cells = <4>;
344 apps_rsc: rsc@18200000 {
346 compatible = "qcom,rpmh-rsc";
347 reg = <0x0 0x18200000 0x0 0x10000>,
348 <0x0 0x18210000 0x0 0x10000>,
349 <0x0 0x18220000 0x0 0x10000>;
350 reg-names = "drv-0", "drv-1", "drv-2";
351 interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
352 <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
353 <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
354 qcom,tcs-offset = <0xd00>;
356 qcom,tcs-config = <ACTIVE_TCS 2>, <SLEEP_TCS 3>,
357 <WAKE_TCS 3>, <CONTROL_TCS 1>;
359 rpmhcc: clock-controller {
360 compatible = "qcom,sm8250-rpmh-clk";
363 clocks = <&xo_board>;
367 tcsr_mutex_regs: syscon@1f40000 {
368 compatible = "syscon";
369 reg = <0x0 0x01f40000 0x0 0x40000>;
373 #address-cells = <2>;
376 compatible = "arm,armv7-timer-mem";
377 reg = <0x0 0x17c20000 0x0 0x1000>;
378 clock-frequency = <19200000>;
382 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
383 <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
384 reg = <0x0 0x17c21000 0x0 0x1000>,
385 <0x0 0x17c22000 0x0 0x1000>;
390 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
391 reg = <0x0 0x17c23000 0x0 0x1000>;
397 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
398 reg = <0x0 0x17c25000 0x0 0x1000>;
404 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
405 reg = <0x0 0x17c27000 0x0 0x1000>;
411 interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
412 reg = <0x0 0x17c29000 0x0 0x1000>;
418 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
419 reg = <0x0 0x17c2b000 0x0 0x1000>;
425 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
426 reg = <0x0 0x17c2d000 0x0 0x1000>;
434 compatible = "arm,armv8-timer";
435 interrupts = <GIC_PPI 13
436 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
438 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
440 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
442 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>;