18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
28c2ecf20Sopenharmony_ci/*
38c2ecf20Sopenharmony_ci * IPQ6018 SoC device tree source
48c2ecf20Sopenharmony_ci *
58c2ecf20Sopenharmony_ci * Copyright (c) 2019, The Linux Foundation. All rights reserved.
68c2ecf20Sopenharmony_ci */
78c2ecf20Sopenharmony_ci
88c2ecf20Sopenharmony_ci#include <dt-bindings/interrupt-controller/arm-gic.h>
98c2ecf20Sopenharmony_ci#include <dt-bindings/clock/qcom,gcc-ipq6018.h>
108c2ecf20Sopenharmony_ci#include <dt-bindings/reset/qcom,gcc-ipq6018.h>
118c2ecf20Sopenharmony_ci#include <dt-bindings/clock/qcom,apss-ipq.h>
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_ci/ {
148c2ecf20Sopenharmony_ci	#address-cells = <2>;
158c2ecf20Sopenharmony_ci	#size-cells = <2>;
168c2ecf20Sopenharmony_ci	interrupt-parent = <&intc>;
178c2ecf20Sopenharmony_ci
188c2ecf20Sopenharmony_ci	clocks {
198c2ecf20Sopenharmony_ci		sleep_clk: sleep-clk {
208c2ecf20Sopenharmony_ci			compatible = "fixed-clock";
218c2ecf20Sopenharmony_ci			clock-frequency = <32000>;
228c2ecf20Sopenharmony_ci			#clock-cells = <0>;
238c2ecf20Sopenharmony_ci		};
248c2ecf20Sopenharmony_ci
258c2ecf20Sopenharmony_ci		xo: xo {
268c2ecf20Sopenharmony_ci			compatible = "fixed-clock";
278c2ecf20Sopenharmony_ci			clock-frequency = <24000000>;
288c2ecf20Sopenharmony_ci			#clock-cells = <0>;
298c2ecf20Sopenharmony_ci		};
308c2ecf20Sopenharmony_ci	};
318c2ecf20Sopenharmony_ci
328c2ecf20Sopenharmony_ci	cpus: cpus {
338c2ecf20Sopenharmony_ci		#address-cells = <1>;
348c2ecf20Sopenharmony_ci		#size-cells = <0>;
358c2ecf20Sopenharmony_ci
368c2ecf20Sopenharmony_ci		CPU0: cpu@0 {
378c2ecf20Sopenharmony_ci			device_type = "cpu";
388c2ecf20Sopenharmony_ci			compatible = "arm,cortex-a53";
398c2ecf20Sopenharmony_ci			reg = <0x0>;
408c2ecf20Sopenharmony_ci			enable-method = "psci";
418c2ecf20Sopenharmony_ci			next-level-cache = <&L2_0>;
428c2ecf20Sopenharmony_ci			clocks = <&apcs_glb APCS_ALIAS0_CORE_CLK>;
438c2ecf20Sopenharmony_ci			clock-names = "cpu";
448c2ecf20Sopenharmony_ci			operating-points-v2 = <&cpu_opp_table>;
458c2ecf20Sopenharmony_ci			cpu-supply = <&ipq6018_s2>;
468c2ecf20Sopenharmony_ci		};
478c2ecf20Sopenharmony_ci
488c2ecf20Sopenharmony_ci		CPU1: cpu@1 {
498c2ecf20Sopenharmony_ci			device_type = "cpu";
508c2ecf20Sopenharmony_ci			compatible = "arm,cortex-a53";
518c2ecf20Sopenharmony_ci			enable-method = "psci";
528c2ecf20Sopenharmony_ci			reg = <0x1>;
538c2ecf20Sopenharmony_ci			next-level-cache = <&L2_0>;
548c2ecf20Sopenharmony_ci			clocks = <&apcs_glb APCS_ALIAS0_CORE_CLK>;
558c2ecf20Sopenharmony_ci			clock-names = "cpu";
568c2ecf20Sopenharmony_ci			operating-points-v2 = <&cpu_opp_table>;
578c2ecf20Sopenharmony_ci			cpu-supply = <&ipq6018_s2>;
588c2ecf20Sopenharmony_ci		};
598c2ecf20Sopenharmony_ci
608c2ecf20Sopenharmony_ci		CPU2: cpu@2 {
618c2ecf20Sopenharmony_ci			device_type = "cpu";
628c2ecf20Sopenharmony_ci			compatible = "arm,cortex-a53";
638c2ecf20Sopenharmony_ci			enable-method = "psci";
648c2ecf20Sopenharmony_ci			reg = <0x2>;
658c2ecf20Sopenharmony_ci			next-level-cache = <&L2_0>;
668c2ecf20Sopenharmony_ci			clocks = <&apcs_glb APCS_ALIAS0_CORE_CLK>;
678c2ecf20Sopenharmony_ci			clock-names = "cpu";
688c2ecf20Sopenharmony_ci			operating-points-v2 = <&cpu_opp_table>;
698c2ecf20Sopenharmony_ci			cpu-supply = <&ipq6018_s2>;
708c2ecf20Sopenharmony_ci		};
718c2ecf20Sopenharmony_ci
728c2ecf20Sopenharmony_ci		CPU3: cpu@3 {
738c2ecf20Sopenharmony_ci			device_type = "cpu";
748c2ecf20Sopenharmony_ci			compatible = "arm,cortex-a53";
758c2ecf20Sopenharmony_ci			enable-method = "psci";
768c2ecf20Sopenharmony_ci			reg = <0x3>;
778c2ecf20Sopenharmony_ci			next-level-cache = <&L2_0>;
788c2ecf20Sopenharmony_ci			clocks = <&apcs_glb APCS_ALIAS0_CORE_CLK>;
798c2ecf20Sopenharmony_ci			clock-names = "cpu";
808c2ecf20Sopenharmony_ci			operating-points-v2 = <&cpu_opp_table>;
818c2ecf20Sopenharmony_ci			cpu-supply = <&ipq6018_s2>;
828c2ecf20Sopenharmony_ci		};
838c2ecf20Sopenharmony_ci
848c2ecf20Sopenharmony_ci		L2_0: l2-cache {
858c2ecf20Sopenharmony_ci			compatible = "cache";
868c2ecf20Sopenharmony_ci			cache-level = <0x2>;
878c2ecf20Sopenharmony_ci		};
888c2ecf20Sopenharmony_ci	};
898c2ecf20Sopenharmony_ci
908c2ecf20Sopenharmony_ci	cpu_opp_table: cpu_opp_table {
918c2ecf20Sopenharmony_ci		compatible = "operating-points-v2";
928c2ecf20Sopenharmony_ci		opp-shared;
938c2ecf20Sopenharmony_ci
948c2ecf20Sopenharmony_ci		opp-864000000 {
958c2ecf20Sopenharmony_ci			opp-hz = /bits/ 64 <864000000>;
968c2ecf20Sopenharmony_ci			opp-microvolt = <725000>;
978c2ecf20Sopenharmony_ci			clock-latency-ns = <200000>;
988c2ecf20Sopenharmony_ci		};
998c2ecf20Sopenharmony_ci		opp-1056000000 {
1008c2ecf20Sopenharmony_ci			opp-hz = /bits/ 64 <1056000000>;
1018c2ecf20Sopenharmony_ci			opp-microvolt = <787500>;
1028c2ecf20Sopenharmony_ci			clock-latency-ns = <200000>;
1038c2ecf20Sopenharmony_ci		};
1048c2ecf20Sopenharmony_ci		opp-1320000000 {
1058c2ecf20Sopenharmony_ci			opp-hz = /bits/ 64 <1320000000>;
1068c2ecf20Sopenharmony_ci			opp-microvolt = <862500>;
1078c2ecf20Sopenharmony_ci			clock-latency-ns = <200000>;
1088c2ecf20Sopenharmony_ci		};
1098c2ecf20Sopenharmony_ci		opp-1440000000 {
1108c2ecf20Sopenharmony_ci			opp-hz = /bits/ 64 <1440000000>;
1118c2ecf20Sopenharmony_ci			opp-microvolt = <925000>;
1128c2ecf20Sopenharmony_ci			clock-latency-ns = <200000>;
1138c2ecf20Sopenharmony_ci		};
1148c2ecf20Sopenharmony_ci		opp-1608000000 {
1158c2ecf20Sopenharmony_ci			opp-hz = /bits/ 64 <1608000000>;
1168c2ecf20Sopenharmony_ci			opp-microvolt = <987500>;
1178c2ecf20Sopenharmony_ci			clock-latency-ns = <200000>;
1188c2ecf20Sopenharmony_ci		};
1198c2ecf20Sopenharmony_ci		opp-1800000000 {
1208c2ecf20Sopenharmony_ci			opp-hz = /bits/ 64 <1800000000>;
1218c2ecf20Sopenharmony_ci			opp-microvolt = <1062500>;
1228c2ecf20Sopenharmony_ci			clock-latency-ns = <200000>;
1238c2ecf20Sopenharmony_ci		};
1248c2ecf20Sopenharmony_ci	};
1258c2ecf20Sopenharmony_ci
1268c2ecf20Sopenharmony_ci	firmware {
1278c2ecf20Sopenharmony_ci		scm {
1288c2ecf20Sopenharmony_ci			compatible = "qcom,scm";
1298c2ecf20Sopenharmony_ci		};
1308c2ecf20Sopenharmony_ci	};
1318c2ecf20Sopenharmony_ci
1328c2ecf20Sopenharmony_ci	pmuv8: pmu {
1338c2ecf20Sopenharmony_ci		compatible = "arm,cortex-a53-pmu";
1348c2ecf20Sopenharmony_ci		interrupts = <GIC_PPI 7 (GIC_CPU_MASK_SIMPLE(4) |
1358c2ecf20Sopenharmony_ci					 IRQ_TYPE_LEVEL_HIGH)>;
1368c2ecf20Sopenharmony_ci	};
1378c2ecf20Sopenharmony_ci
1388c2ecf20Sopenharmony_ci	psci: psci {
1398c2ecf20Sopenharmony_ci		compatible = "arm,psci-1.0";
1408c2ecf20Sopenharmony_ci		method = "smc";
1418c2ecf20Sopenharmony_ci	};
1428c2ecf20Sopenharmony_ci
1438c2ecf20Sopenharmony_ci	reserved-memory {
1448c2ecf20Sopenharmony_ci		#address-cells = <2>;
1458c2ecf20Sopenharmony_ci		#size-cells = <2>;
1468c2ecf20Sopenharmony_ci		ranges;
1478c2ecf20Sopenharmony_ci
1488c2ecf20Sopenharmony_ci		rpm_msg_ram: memory@60000 {
1498c2ecf20Sopenharmony_ci			reg = <0x0 0x60000 0x0 0x6000>;
1508c2ecf20Sopenharmony_ci			no-map;
1518c2ecf20Sopenharmony_ci		};
1528c2ecf20Sopenharmony_ci
1538c2ecf20Sopenharmony_ci		tz: memory@4a600000 {
1548c2ecf20Sopenharmony_ci			reg = <0x0 0x4a600000 0x0 0x00400000>;
1558c2ecf20Sopenharmony_ci			no-map;
1568c2ecf20Sopenharmony_ci		};
1578c2ecf20Sopenharmony_ci
1588c2ecf20Sopenharmony_ci		smem_region: memory@4aa00000 {
1598c2ecf20Sopenharmony_ci			reg = <0x0 0x4aa00000 0x0 0x00100000>;
1608c2ecf20Sopenharmony_ci			no-map;
1618c2ecf20Sopenharmony_ci		};
1628c2ecf20Sopenharmony_ci
1638c2ecf20Sopenharmony_ci		q6_region: memory@4ab00000 {
1648c2ecf20Sopenharmony_ci			reg = <0x0 0x4ab00000 0x0 0x05500000>;
1658c2ecf20Sopenharmony_ci			no-map;
1668c2ecf20Sopenharmony_ci		};
1678c2ecf20Sopenharmony_ci	};
1688c2ecf20Sopenharmony_ci
1698c2ecf20Sopenharmony_ci	smem {
1708c2ecf20Sopenharmony_ci		compatible = "qcom,smem";
1718c2ecf20Sopenharmony_ci		memory-region = <&smem_region>;
1728c2ecf20Sopenharmony_ci		hwlocks = <&tcsr_mutex 3>;
1738c2ecf20Sopenharmony_ci	};
1748c2ecf20Sopenharmony_ci
1758c2ecf20Sopenharmony_ci	soc: soc {
1768c2ecf20Sopenharmony_ci		#address-cells = <2>;
1778c2ecf20Sopenharmony_ci		#size-cells = <2>;
1788c2ecf20Sopenharmony_ci		ranges = <0 0 0 0 0x0 0xffffffff>;
1798c2ecf20Sopenharmony_ci		dma-ranges;
1808c2ecf20Sopenharmony_ci		compatible = "simple-bus";
1818c2ecf20Sopenharmony_ci
1828c2ecf20Sopenharmony_ci		prng: qrng@e1000 {
1838c2ecf20Sopenharmony_ci			compatible = "qcom,prng-ee";
1848c2ecf20Sopenharmony_ci			reg = <0x0 0xe3000 0x0 0x1000>;
1858c2ecf20Sopenharmony_ci			clocks = <&gcc GCC_PRNG_AHB_CLK>;
1868c2ecf20Sopenharmony_ci			clock-names = "core";
1878c2ecf20Sopenharmony_ci		};
1888c2ecf20Sopenharmony_ci
1898c2ecf20Sopenharmony_ci		cryptobam: dma@704000 {
1908c2ecf20Sopenharmony_ci			compatible = "qcom,bam-v1.7.0";
1918c2ecf20Sopenharmony_ci			reg = <0x0 0x00704000 0x0 0x20000>;
1928c2ecf20Sopenharmony_ci			interrupts = <GIC_SPI 207 IRQ_TYPE_LEVEL_HIGH>;
1938c2ecf20Sopenharmony_ci			clocks = <&gcc GCC_CRYPTO_AHB_CLK>;
1948c2ecf20Sopenharmony_ci			clock-names = "bam_clk";
1958c2ecf20Sopenharmony_ci			#dma-cells = <1>;
1968c2ecf20Sopenharmony_ci			qcom,ee = <1>;
1978c2ecf20Sopenharmony_ci			qcom,controlled-remotely;
1988c2ecf20Sopenharmony_ci			qcom,config-pipe-trust-reg = <0>;
1998c2ecf20Sopenharmony_ci		};
2008c2ecf20Sopenharmony_ci
2018c2ecf20Sopenharmony_ci		crypto: crypto@73a000 {
2028c2ecf20Sopenharmony_ci			compatible = "qcom,crypto-v5.1";
2038c2ecf20Sopenharmony_ci			reg = <0x0 0x0073a000 0x0 0x6000>;
2048c2ecf20Sopenharmony_ci			clocks = <&gcc GCC_CRYPTO_AHB_CLK>,
2058c2ecf20Sopenharmony_ci				<&gcc GCC_CRYPTO_AXI_CLK>,
2068c2ecf20Sopenharmony_ci				<&gcc GCC_CRYPTO_CLK>;
2078c2ecf20Sopenharmony_ci			clock-names = "iface", "bus", "core";
2088c2ecf20Sopenharmony_ci			dmas = <&cryptobam 2>, <&cryptobam 3>;
2098c2ecf20Sopenharmony_ci			dma-names = "rx", "tx";
2108c2ecf20Sopenharmony_ci		};
2118c2ecf20Sopenharmony_ci
2128c2ecf20Sopenharmony_ci		tlmm: pinctrl@1000000 {
2138c2ecf20Sopenharmony_ci			compatible = "qcom,ipq6018-pinctrl";
2148c2ecf20Sopenharmony_ci			reg = <0x0 0x01000000 0x0 0x300000>;
2158c2ecf20Sopenharmony_ci			interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
2168c2ecf20Sopenharmony_ci			gpio-controller;
2178c2ecf20Sopenharmony_ci			#gpio-cells = <2>;
2188c2ecf20Sopenharmony_ci			gpio-ranges = <&tlmm 0 0 80>;
2198c2ecf20Sopenharmony_ci			interrupt-controller;
2208c2ecf20Sopenharmony_ci			#interrupt-cells = <2>;
2218c2ecf20Sopenharmony_ci
2228c2ecf20Sopenharmony_ci			serial_3_pins: serial3-pinmux {
2238c2ecf20Sopenharmony_ci				pins = "gpio44", "gpio45";
2248c2ecf20Sopenharmony_ci				function = "blsp2_uart";
2258c2ecf20Sopenharmony_ci				drive-strength = <8>;
2268c2ecf20Sopenharmony_ci				bias-pull-down;
2278c2ecf20Sopenharmony_ci			};
2288c2ecf20Sopenharmony_ci		};
2298c2ecf20Sopenharmony_ci
2308c2ecf20Sopenharmony_ci		gcc: gcc@1800000 {
2318c2ecf20Sopenharmony_ci			compatible = "qcom,gcc-ipq6018";
2328c2ecf20Sopenharmony_ci			reg = <0x0 0x01800000 0x0 0x80000>;
2338c2ecf20Sopenharmony_ci			clocks = <&xo>, <&sleep_clk>;
2348c2ecf20Sopenharmony_ci			clock-names = "xo", "sleep_clk";
2358c2ecf20Sopenharmony_ci			#clock-cells = <1>;
2368c2ecf20Sopenharmony_ci			#reset-cells = <1>;
2378c2ecf20Sopenharmony_ci		};
2388c2ecf20Sopenharmony_ci
2398c2ecf20Sopenharmony_ci		tcsr_mutex: hwlock@1905000 {
2408c2ecf20Sopenharmony_ci			compatible = "qcom,ipq6018-tcsr-mutex", "qcom,tcsr-mutex";
2418c2ecf20Sopenharmony_ci			reg = <0x0 0x01905000 0x0 0x20000>;
2428c2ecf20Sopenharmony_ci			#hwlock-cells = <1>;
2438c2ecf20Sopenharmony_ci		};
2448c2ecf20Sopenharmony_ci
2458c2ecf20Sopenharmony_ci		tcsr_q6: syscon@1945000 {
2468c2ecf20Sopenharmony_ci			compatible = "syscon";
2478c2ecf20Sopenharmony_ci			reg = <0x0 0x01945000 0x0 0xe000>;
2488c2ecf20Sopenharmony_ci		};
2498c2ecf20Sopenharmony_ci
2508c2ecf20Sopenharmony_ci		blsp_dma: dma@7884000 {
2518c2ecf20Sopenharmony_ci			compatible = "qcom,bam-v1.7.0";
2528c2ecf20Sopenharmony_ci			reg = <0x0 0x07884000 0x0 0x2b000>;
2538c2ecf20Sopenharmony_ci			interrupts = <GIC_SPI 238 IRQ_TYPE_LEVEL_HIGH>;
2548c2ecf20Sopenharmony_ci			clocks = <&gcc GCC_BLSP1_AHB_CLK>;
2558c2ecf20Sopenharmony_ci			clock-names = "bam_clk";
2568c2ecf20Sopenharmony_ci			#dma-cells = <1>;
2578c2ecf20Sopenharmony_ci			qcom,ee = <0>;
2588c2ecf20Sopenharmony_ci		};
2598c2ecf20Sopenharmony_ci
2608c2ecf20Sopenharmony_ci		blsp1_uart3: serial@78b1000 {
2618c2ecf20Sopenharmony_ci			compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
2628c2ecf20Sopenharmony_ci			reg = <0x0 0x078b1000 0x0 0x200>;
2638c2ecf20Sopenharmony_ci			interrupts = <GIC_SPI 306 IRQ_TYPE_LEVEL_HIGH>;
2648c2ecf20Sopenharmony_ci			clocks = <&gcc GCC_BLSP1_UART3_APPS_CLK>,
2658c2ecf20Sopenharmony_ci				<&gcc GCC_BLSP1_AHB_CLK>;
2668c2ecf20Sopenharmony_ci			clock-names = "core", "iface";
2678c2ecf20Sopenharmony_ci			status = "disabled";
2688c2ecf20Sopenharmony_ci		};
2698c2ecf20Sopenharmony_ci
2708c2ecf20Sopenharmony_ci		spi_0: spi@78b5000 {
2718c2ecf20Sopenharmony_ci			compatible = "qcom,spi-qup-v2.2.1";
2728c2ecf20Sopenharmony_ci			#address-cells = <1>;
2738c2ecf20Sopenharmony_ci			#size-cells = <0>;
2748c2ecf20Sopenharmony_ci			reg = <0x0 0x078b5000 0x0 0x600>;
2758c2ecf20Sopenharmony_ci			interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
2768c2ecf20Sopenharmony_ci			spi-max-frequency = <50000000>;
2778c2ecf20Sopenharmony_ci			clocks = <&gcc GCC_BLSP1_QUP1_SPI_APPS_CLK>,
2788c2ecf20Sopenharmony_ci				<&gcc GCC_BLSP1_AHB_CLK>;
2798c2ecf20Sopenharmony_ci			clock-names = "core", "iface";
2808c2ecf20Sopenharmony_ci			dmas = <&blsp_dma 12>, <&blsp_dma 13>;
2818c2ecf20Sopenharmony_ci			dma-names = "tx", "rx";
2828c2ecf20Sopenharmony_ci			status = "disabled";
2838c2ecf20Sopenharmony_ci		};
2848c2ecf20Sopenharmony_ci
2858c2ecf20Sopenharmony_ci		spi_1: spi@78b6000 {
2868c2ecf20Sopenharmony_ci			compatible = "qcom,spi-qup-v2.2.1";
2878c2ecf20Sopenharmony_ci			#address-cells = <1>;
2888c2ecf20Sopenharmony_ci			#size-cells = <0>;
2898c2ecf20Sopenharmony_ci			reg = <0x0 0x078b6000 0x0 0x600>;
2908c2ecf20Sopenharmony_ci			interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
2918c2ecf20Sopenharmony_ci			spi-max-frequency = <50000000>;
2928c2ecf20Sopenharmony_ci			clocks = <&gcc GCC_BLSP1_QUP2_SPI_APPS_CLK>,
2938c2ecf20Sopenharmony_ci				<&gcc GCC_BLSP1_AHB_CLK>;
2948c2ecf20Sopenharmony_ci			clock-names = "core", "iface";
2958c2ecf20Sopenharmony_ci			dmas = <&blsp_dma 14>, <&blsp_dma 15>;
2968c2ecf20Sopenharmony_ci			dma-names = "tx", "rx";
2978c2ecf20Sopenharmony_ci			status = "disabled";
2988c2ecf20Sopenharmony_ci		};
2998c2ecf20Sopenharmony_ci
3008c2ecf20Sopenharmony_ci		i2c_0: i2c@78b6000 {
3018c2ecf20Sopenharmony_ci			compatible = "qcom,i2c-qup-v2.2.1";
3028c2ecf20Sopenharmony_ci			#address-cells = <1>;
3038c2ecf20Sopenharmony_ci			#size-cells = <0>;
3048c2ecf20Sopenharmony_ci			reg = <0x0 0x078b6000 0x0 0x600>;
3058c2ecf20Sopenharmony_ci			interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
3068c2ecf20Sopenharmony_ci			clocks = <&gcc GCC_BLSP1_AHB_CLK>,
3078c2ecf20Sopenharmony_ci				<&gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>;
3088c2ecf20Sopenharmony_ci			clock-names = "iface", "core";
3098c2ecf20Sopenharmony_ci			clock-frequency  = <400000>;
3108c2ecf20Sopenharmony_ci			dmas = <&blsp_dma 15>, <&blsp_dma 14>;
3118c2ecf20Sopenharmony_ci			dma-names = "rx", "tx";
3128c2ecf20Sopenharmony_ci			status = "disabled";
3138c2ecf20Sopenharmony_ci		};
3148c2ecf20Sopenharmony_ci
3158c2ecf20Sopenharmony_ci		i2c_1: i2c@78b7000 { /* BLSP1 QUP2 */
3168c2ecf20Sopenharmony_ci			compatible = "qcom,i2c-qup-v2.2.1";
3178c2ecf20Sopenharmony_ci			#address-cells = <1>;
3188c2ecf20Sopenharmony_ci			#size-cells = <0>;
3198c2ecf20Sopenharmony_ci			reg = <0x0 0x078b7000 0x0 0x600>;
3208c2ecf20Sopenharmony_ci			interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
3218c2ecf20Sopenharmony_ci			clocks = <&gcc GCC_BLSP1_AHB_CLK>,
3228c2ecf20Sopenharmony_ci				<&gcc GCC_BLSP1_QUP3_I2C_APPS_CLK>;
3238c2ecf20Sopenharmony_ci			clock-names = "iface", "core";
3248c2ecf20Sopenharmony_ci			clock-frequency  = <400000>;
3258c2ecf20Sopenharmony_ci			dmas = <&blsp_dma 17>, <&blsp_dma 16>;
3268c2ecf20Sopenharmony_ci			dma-names = "rx", "tx";
3278c2ecf20Sopenharmony_ci			status = "disabled";
3288c2ecf20Sopenharmony_ci		};
3298c2ecf20Sopenharmony_ci
3308c2ecf20Sopenharmony_ci		intc: interrupt-controller@b000000 {
3318c2ecf20Sopenharmony_ci			compatible = "qcom,msm-qgic2";
3328c2ecf20Sopenharmony_ci			interrupt-controller;
3338c2ecf20Sopenharmony_ci			#interrupt-cells = <0x3>;
3348c2ecf20Sopenharmony_ci			reg =   <0x0 0x0b000000 0x0 0x1000>,  /*GICD*/
3358c2ecf20Sopenharmony_ci				<0x0 0x0b002000 0x0 0x1000>,  /*GICC*/
3368c2ecf20Sopenharmony_ci				<0x0 0x0b001000 0x0 0x1000>,  /*GICH*/
3378c2ecf20Sopenharmony_ci				<0x0 0x0b004000 0x0 0x1000>;  /*GICV*/
3388c2ecf20Sopenharmony_ci			interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
3398c2ecf20Sopenharmony_ci		};
3408c2ecf20Sopenharmony_ci
3418c2ecf20Sopenharmony_ci		watchdog@b017000 {
3428c2ecf20Sopenharmony_ci			compatible = "qcom,kpss-wdt";
3438c2ecf20Sopenharmony_ci			interrupts = <GIC_SPI 3 IRQ_TYPE_EDGE_RISING>;
3448c2ecf20Sopenharmony_ci			reg = <0x0 0x0b017000 0x0 0x40>;
3458c2ecf20Sopenharmony_ci			clocks = <&sleep_clk>;
3468c2ecf20Sopenharmony_ci			timeout-sec = <10>;
3478c2ecf20Sopenharmony_ci		};
3488c2ecf20Sopenharmony_ci
3498c2ecf20Sopenharmony_ci		apcs_glb: mailbox@b111000 {
3508c2ecf20Sopenharmony_ci			compatible = "qcom,ipq6018-apcs-apps-global";
3518c2ecf20Sopenharmony_ci			reg = <0x0 0x0b111000 0x0 0x1000>;
3528c2ecf20Sopenharmony_ci			#clock-cells = <1>;
3538c2ecf20Sopenharmony_ci			clocks = <&a53pll>, <&xo>;
3548c2ecf20Sopenharmony_ci			clock-names = "pll", "xo";
3558c2ecf20Sopenharmony_ci			#mbox-cells = <1>;
3568c2ecf20Sopenharmony_ci		};
3578c2ecf20Sopenharmony_ci
3588c2ecf20Sopenharmony_ci		a53pll: clock@b116000 {
3598c2ecf20Sopenharmony_ci			compatible = "qcom,ipq6018-a53pll";
3608c2ecf20Sopenharmony_ci			reg = <0x0 0x0b116000 0x0 0x40>;
3618c2ecf20Sopenharmony_ci			#clock-cells = <0>;
3628c2ecf20Sopenharmony_ci			clocks = <&xo>;
3638c2ecf20Sopenharmony_ci			clock-names = "xo";
3648c2ecf20Sopenharmony_ci		};
3658c2ecf20Sopenharmony_ci
3668c2ecf20Sopenharmony_ci		timer {
3678c2ecf20Sopenharmony_ci			compatible = "arm,armv8-timer";
3688c2ecf20Sopenharmony_ci			interrupts = <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
3698c2ecf20Sopenharmony_ci				     <GIC_PPI 3 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
3708c2ecf20Sopenharmony_ci				     <GIC_PPI 4 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
3718c2ecf20Sopenharmony_ci				     <GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
3728c2ecf20Sopenharmony_ci		};
3738c2ecf20Sopenharmony_ci
3748c2ecf20Sopenharmony_ci		timer@b120000 {
3758c2ecf20Sopenharmony_ci			#address-cells = <2>;
3768c2ecf20Sopenharmony_ci			#size-cells = <2>;
3778c2ecf20Sopenharmony_ci			ranges;
3788c2ecf20Sopenharmony_ci			compatible = "arm,armv7-timer-mem";
3798c2ecf20Sopenharmony_ci			reg = <0x0 0x0b120000 0x0 0x1000>;
3808c2ecf20Sopenharmony_ci			clock-frequency = <19200000>;
3818c2ecf20Sopenharmony_ci
3828c2ecf20Sopenharmony_ci			frame@b120000 {
3838c2ecf20Sopenharmony_ci				frame-number = <0>;
3848c2ecf20Sopenharmony_ci				interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
3858c2ecf20Sopenharmony_ci					     <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
3868c2ecf20Sopenharmony_ci				reg = <0x0 0x0b121000 0x0 0x1000>,
3878c2ecf20Sopenharmony_ci				      <0x0 0x0b122000 0x0 0x1000>;
3888c2ecf20Sopenharmony_ci			};
3898c2ecf20Sopenharmony_ci
3908c2ecf20Sopenharmony_ci			frame@b123000 {
3918c2ecf20Sopenharmony_ci				frame-number = <1>;
3928c2ecf20Sopenharmony_ci				interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
3938c2ecf20Sopenharmony_ci				reg = <0x0 0xb123000 0x0 0x1000>;
3948c2ecf20Sopenharmony_ci				status = "disabled";
3958c2ecf20Sopenharmony_ci			};
3968c2ecf20Sopenharmony_ci
3978c2ecf20Sopenharmony_ci			frame@b124000 {
3988c2ecf20Sopenharmony_ci				frame-number = <2>;
3998c2ecf20Sopenharmony_ci				interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
4008c2ecf20Sopenharmony_ci				reg = <0x0 0x0b124000 0x0 0x1000>;
4018c2ecf20Sopenharmony_ci				status = "disabled";
4028c2ecf20Sopenharmony_ci			};
4038c2ecf20Sopenharmony_ci
4048c2ecf20Sopenharmony_ci			frame@b125000 {
4058c2ecf20Sopenharmony_ci				frame-number = <3>;
4068c2ecf20Sopenharmony_ci				interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
4078c2ecf20Sopenharmony_ci				reg = <0x0 0x0b125000 0x0 0x1000>;
4088c2ecf20Sopenharmony_ci				status = "disabled";
4098c2ecf20Sopenharmony_ci			};
4108c2ecf20Sopenharmony_ci
4118c2ecf20Sopenharmony_ci			frame@b126000 {
4128c2ecf20Sopenharmony_ci				frame-number = <4>;
4138c2ecf20Sopenharmony_ci				interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
4148c2ecf20Sopenharmony_ci				reg = <0x0 0x0b126000 0x0 0x1000>;
4158c2ecf20Sopenharmony_ci				status = "disabled";
4168c2ecf20Sopenharmony_ci			};
4178c2ecf20Sopenharmony_ci
4188c2ecf20Sopenharmony_ci			frame@b127000 {
4198c2ecf20Sopenharmony_ci				frame-number = <5>;
4208c2ecf20Sopenharmony_ci				interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
4218c2ecf20Sopenharmony_ci				reg = <0x0 0x0b127000 0x0 0x1000>;
4228c2ecf20Sopenharmony_ci				status = "disabled";
4238c2ecf20Sopenharmony_ci			};
4248c2ecf20Sopenharmony_ci
4258c2ecf20Sopenharmony_ci			frame@b128000 {
4268c2ecf20Sopenharmony_ci				frame-number = <6>;
4278c2ecf20Sopenharmony_ci				interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
4288c2ecf20Sopenharmony_ci				reg = <0x0 0x0b128000 0x0 0x1000>;
4298c2ecf20Sopenharmony_ci				status = "disabled";
4308c2ecf20Sopenharmony_ci			};
4318c2ecf20Sopenharmony_ci		};
4328c2ecf20Sopenharmony_ci
4338c2ecf20Sopenharmony_ci		q6v5_wcss: remoteproc@cd00000 {
4348c2ecf20Sopenharmony_ci			compatible = "qcom,ipq8074-wcss-pil";
4358c2ecf20Sopenharmony_ci			reg = <0x0 0x0cd00000 0x0 0x4040>,
4368c2ecf20Sopenharmony_ci			      <0x0 0x004ab000 0x0 0x20>;
4378c2ecf20Sopenharmony_ci			reg-names = "qdsp6",
4388c2ecf20Sopenharmony_ci				    "rmb";
4398c2ecf20Sopenharmony_ci			interrupts-extended = <&intc GIC_SPI 325 IRQ_TYPE_EDGE_RISING>,
4408c2ecf20Sopenharmony_ci					      <&wcss_smp2p_in 0 0>,
4418c2ecf20Sopenharmony_ci					      <&wcss_smp2p_in 1 0>,
4428c2ecf20Sopenharmony_ci					      <&wcss_smp2p_in 2 0>,
4438c2ecf20Sopenharmony_ci					      <&wcss_smp2p_in 3 0>;
4448c2ecf20Sopenharmony_ci			interrupt-names = "wdog",
4458c2ecf20Sopenharmony_ci					  "fatal",
4468c2ecf20Sopenharmony_ci					  "ready",
4478c2ecf20Sopenharmony_ci					  "handover",
4488c2ecf20Sopenharmony_ci					  "stop-ack";
4498c2ecf20Sopenharmony_ci
4508c2ecf20Sopenharmony_ci			resets = <&gcc GCC_WCSSAON_RESET>,
4518c2ecf20Sopenharmony_ci				 <&gcc GCC_WCSS_BCR>,
4528c2ecf20Sopenharmony_ci				 <&gcc GCC_WCSS_Q6_BCR>;
4538c2ecf20Sopenharmony_ci
4548c2ecf20Sopenharmony_ci			reset-names = "wcss_aon_reset",
4558c2ecf20Sopenharmony_ci				      "wcss_reset",
4568c2ecf20Sopenharmony_ci				      "wcss_q6_reset";
4578c2ecf20Sopenharmony_ci
4588c2ecf20Sopenharmony_ci			clocks = <&gcc GCC_PRNG_AHB_CLK>;
4598c2ecf20Sopenharmony_ci			clock-names = "prng";
4608c2ecf20Sopenharmony_ci
4618c2ecf20Sopenharmony_ci			qcom,halt-regs = <&tcsr_q6 0xa000 0xd000 0x0>;
4628c2ecf20Sopenharmony_ci
4638c2ecf20Sopenharmony_ci			qcom,smem-states = <&wcss_smp2p_out 0>,
4648c2ecf20Sopenharmony_ci					   <&wcss_smp2p_out 1>;
4658c2ecf20Sopenharmony_ci			qcom,smem-state-names = "shutdown",
4668c2ecf20Sopenharmony_ci						"stop";
4678c2ecf20Sopenharmony_ci
4688c2ecf20Sopenharmony_ci			memory-region = <&q6_region>;
4698c2ecf20Sopenharmony_ci
4708c2ecf20Sopenharmony_ci			glink-edge {
4718c2ecf20Sopenharmony_ci				interrupts = <GIC_SPI 321 IRQ_TYPE_EDGE_RISING>;
4728c2ecf20Sopenharmony_ci				qcom,remote-pid = <1>;
4738c2ecf20Sopenharmony_ci				mboxes = <&apcs_glb 8>;
4748c2ecf20Sopenharmony_ci
4758c2ecf20Sopenharmony_ci				qrtr_requests {
4768c2ecf20Sopenharmony_ci					qcom,glink-channels = "IPCRTR";
4778c2ecf20Sopenharmony_ci				};
4788c2ecf20Sopenharmony_ci			};
4798c2ecf20Sopenharmony_ci		};
4808c2ecf20Sopenharmony_ci
4818c2ecf20Sopenharmony_ci	};
4828c2ecf20Sopenharmony_ci
4838c2ecf20Sopenharmony_ci	wcss: wcss-smp2p {
4848c2ecf20Sopenharmony_ci		compatible = "qcom,smp2p";
4858c2ecf20Sopenharmony_ci		qcom,smem = <435>, <428>;
4868c2ecf20Sopenharmony_ci
4878c2ecf20Sopenharmony_ci		interrupt-parent = <&intc>;
4888c2ecf20Sopenharmony_ci		interrupts = <GIC_SPI 322 IRQ_TYPE_EDGE_RISING>;
4898c2ecf20Sopenharmony_ci
4908c2ecf20Sopenharmony_ci		mboxes = <&apcs_glb 9>;
4918c2ecf20Sopenharmony_ci
4928c2ecf20Sopenharmony_ci		qcom,local-pid = <0>;
4938c2ecf20Sopenharmony_ci		qcom,remote-pid = <1>;
4948c2ecf20Sopenharmony_ci
4958c2ecf20Sopenharmony_ci		wcss_smp2p_out: master-kernel {
4968c2ecf20Sopenharmony_ci			qcom,entry-name = "master-kernel";
4978c2ecf20Sopenharmony_ci			#qcom,smem-state-cells = <1>;
4988c2ecf20Sopenharmony_ci		};
4998c2ecf20Sopenharmony_ci
5008c2ecf20Sopenharmony_ci		wcss_smp2p_in: slave-kernel {
5018c2ecf20Sopenharmony_ci			qcom,entry-name = "slave-kernel";
5028c2ecf20Sopenharmony_ci			interrupt-controller;
5038c2ecf20Sopenharmony_ci			#interrupt-cells = <2>;
5048c2ecf20Sopenharmony_ci		};
5058c2ecf20Sopenharmony_ci	};
5068c2ecf20Sopenharmony_ci
5078c2ecf20Sopenharmony_ci	rpm-glink {
5088c2ecf20Sopenharmony_ci		compatible = "qcom,glink-rpm";
5098c2ecf20Sopenharmony_ci		interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
5108c2ecf20Sopenharmony_ci		qcom,rpm-msg-ram = <&rpm_msg_ram>;
5118c2ecf20Sopenharmony_ci		mboxes = <&apcs_glb 0>;
5128c2ecf20Sopenharmony_ci
5138c2ecf20Sopenharmony_ci		rpm_requests: glink-channel {
5148c2ecf20Sopenharmony_ci			compatible = "qcom,rpm-ipq6018";
5158c2ecf20Sopenharmony_ci			qcom,glink-channels = "rpm_requests";
5168c2ecf20Sopenharmony_ci
5178c2ecf20Sopenharmony_ci			regulators {
5188c2ecf20Sopenharmony_ci				compatible = "qcom,rpm-mp5496-regulators";
5198c2ecf20Sopenharmony_ci
5208c2ecf20Sopenharmony_ci				ipq6018_s2: s2 {
5218c2ecf20Sopenharmony_ci					regulator-min-microvolt = <725000>;
5228c2ecf20Sopenharmony_ci					regulator-max-microvolt = <1062500>;
5238c2ecf20Sopenharmony_ci					regulator-always-on;
5248c2ecf20Sopenharmony_ci				};
5258c2ecf20Sopenharmony_ci			};
5268c2ecf20Sopenharmony_ci		};
5278c2ecf20Sopenharmony_ci	};
5288c2ecf20Sopenharmony_ci};
529