xref: /freebsd/sys/contrib/device-tree/src/arm64/qcom/ipq6018.dtsi (revision b2d2a78ad80ec68d4a17f5aef97d21686cb1e29b)
1c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
2c66ec88fSEmmanuel Vadot/*
3c66ec88fSEmmanuel Vadot * IPQ6018 SoC device tree source
4c66ec88fSEmmanuel Vadot *
5c66ec88fSEmmanuel Vadot * Copyright (c) 2019, The Linux Foundation. All rights reserved.
6c66ec88fSEmmanuel Vadot */
7c66ec88fSEmmanuel Vadot
8c66ec88fSEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h>
9c66ec88fSEmmanuel Vadot#include <dt-bindings/clock/qcom,gcc-ipq6018.h>
10c66ec88fSEmmanuel Vadot#include <dt-bindings/reset/qcom,gcc-ipq6018.h>
116be33864SEmmanuel Vadot#include <dt-bindings/clock/qcom,apss-ipq.h>
1201950c46SEmmanuel Vadot#include <dt-bindings/thermal/thermal.h>
13c66ec88fSEmmanuel Vadot
14c66ec88fSEmmanuel Vadot/ {
15c66ec88fSEmmanuel Vadot	#address-cells = <2>;
16c66ec88fSEmmanuel Vadot	#size-cells = <2>;
17c66ec88fSEmmanuel Vadot	interrupt-parent = <&intc>;
18c66ec88fSEmmanuel Vadot
19c66ec88fSEmmanuel Vadot	clocks {
20c66ec88fSEmmanuel Vadot		sleep_clk: sleep-clk {
21c66ec88fSEmmanuel Vadot			compatible = "fixed-clock";
22c66ec88fSEmmanuel Vadot			clock-frequency = <32000>;
23c66ec88fSEmmanuel Vadot			#clock-cells = <0>;
24c66ec88fSEmmanuel Vadot		};
25c66ec88fSEmmanuel Vadot
26c66ec88fSEmmanuel Vadot		xo: xo {
27c66ec88fSEmmanuel Vadot			compatible = "fixed-clock";
28c66ec88fSEmmanuel Vadot			clock-frequency = <24000000>;
29c66ec88fSEmmanuel Vadot			#clock-cells = <0>;
30c66ec88fSEmmanuel Vadot		};
31c66ec88fSEmmanuel Vadot	};
32c66ec88fSEmmanuel Vadot
33c66ec88fSEmmanuel Vadot	cpus: cpus {
34c66ec88fSEmmanuel Vadot		#address-cells = <1>;
35c66ec88fSEmmanuel Vadot		#size-cells = <0>;
36c66ec88fSEmmanuel Vadot
37c66ec88fSEmmanuel Vadot		CPU0: cpu@0 {
38c66ec88fSEmmanuel Vadot			device_type = "cpu";
39c66ec88fSEmmanuel Vadot			compatible = "arm,cortex-a53";
40c66ec88fSEmmanuel Vadot			reg = <0x0>;
41c66ec88fSEmmanuel Vadot			enable-method = "psci";
42c66ec88fSEmmanuel Vadot			next-level-cache = <&L2_0>;
436be33864SEmmanuel Vadot			clocks = <&apcs_glb APCS_ALIAS0_CORE_CLK>;
446be33864SEmmanuel Vadot			clock-names = "cpu";
456be33864SEmmanuel Vadot			operating-points-v2 = <&cpu_opp_table>;
466be33864SEmmanuel Vadot			cpu-supply = <&ipq6018_s2>;
4701950c46SEmmanuel Vadot			#cooling-cells = <2>;
48c66ec88fSEmmanuel Vadot		};
49c66ec88fSEmmanuel Vadot
50c66ec88fSEmmanuel Vadot		CPU1: cpu@1 {
51c66ec88fSEmmanuel Vadot			device_type = "cpu";
52c66ec88fSEmmanuel Vadot			compatible = "arm,cortex-a53";
53c66ec88fSEmmanuel Vadot			enable-method = "psci";
54c66ec88fSEmmanuel Vadot			reg = <0x1>;
55c66ec88fSEmmanuel Vadot			next-level-cache = <&L2_0>;
566be33864SEmmanuel Vadot			clocks = <&apcs_glb APCS_ALIAS0_CORE_CLK>;
576be33864SEmmanuel Vadot			clock-names = "cpu";
586be33864SEmmanuel Vadot			operating-points-v2 = <&cpu_opp_table>;
596be33864SEmmanuel Vadot			cpu-supply = <&ipq6018_s2>;
6001950c46SEmmanuel Vadot			#cooling-cells = <2>;
61c66ec88fSEmmanuel Vadot		};
62c66ec88fSEmmanuel Vadot
63c66ec88fSEmmanuel Vadot		CPU2: cpu@2 {
64c66ec88fSEmmanuel Vadot			device_type = "cpu";
65c66ec88fSEmmanuel Vadot			compatible = "arm,cortex-a53";
66c66ec88fSEmmanuel Vadot			enable-method = "psci";
67c66ec88fSEmmanuel Vadot			reg = <0x2>;
68c66ec88fSEmmanuel Vadot			next-level-cache = <&L2_0>;
696be33864SEmmanuel Vadot			clocks = <&apcs_glb APCS_ALIAS0_CORE_CLK>;
706be33864SEmmanuel Vadot			clock-names = "cpu";
716be33864SEmmanuel Vadot			operating-points-v2 = <&cpu_opp_table>;
726be33864SEmmanuel Vadot			cpu-supply = <&ipq6018_s2>;
7301950c46SEmmanuel Vadot			#cooling-cells = <2>;
74c66ec88fSEmmanuel Vadot		};
75c66ec88fSEmmanuel Vadot
76c66ec88fSEmmanuel Vadot		CPU3: cpu@3 {
77c66ec88fSEmmanuel Vadot			device_type = "cpu";
78c66ec88fSEmmanuel Vadot			compatible = "arm,cortex-a53";
79c66ec88fSEmmanuel Vadot			enable-method = "psci";
80c66ec88fSEmmanuel Vadot			reg = <0x3>;
81c66ec88fSEmmanuel Vadot			next-level-cache = <&L2_0>;
826be33864SEmmanuel Vadot			clocks = <&apcs_glb APCS_ALIAS0_CORE_CLK>;
836be33864SEmmanuel Vadot			clock-names = "cpu";
846be33864SEmmanuel Vadot			operating-points-v2 = <&cpu_opp_table>;
856be33864SEmmanuel Vadot			cpu-supply = <&ipq6018_s2>;
8601950c46SEmmanuel Vadot			#cooling-cells = <2>;
87c66ec88fSEmmanuel Vadot		};
88c66ec88fSEmmanuel Vadot
89c66ec88fSEmmanuel Vadot		L2_0: l2-cache {
90c66ec88fSEmmanuel Vadot			compatible = "cache";
91fac71e4eSEmmanuel Vadot			cache-level = <2>;
92fac71e4eSEmmanuel Vadot			cache-unified;
93c66ec88fSEmmanuel Vadot		};
94c66ec88fSEmmanuel Vadot	};
95c66ec88fSEmmanuel Vadot
96cb7aa33aSEmmanuel Vadot	firmware {
97cb7aa33aSEmmanuel Vadot		scm {
98cb7aa33aSEmmanuel Vadot			compatible = "qcom,scm-ipq6018", "qcom,scm";
99f126890aSEmmanuel Vadot			qcom,dload-mode = <&tcsr 0x6100>;
100cb7aa33aSEmmanuel Vadot		};
101cb7aa33aSEmmanuel Vadot	};
102cb7aa33aSEmmanuel Vadot
103b97ee269SEmmanuel Vadot	cpu_opp_table: opp-table-cpu {
1048d13bc63SEmmanuel Vadot		compatible = "operating-points-v2-kryo-cpu";
1058d13bc63SEmmanuel Vadot		nvmem-cells = <&cpu_speed_bin>;
1066be33864SEmmanuel Vadot		opp-shared;
1076be33864SEmmanuel Vadot
1086be33864SEmmanuel Vadot		opp-864000000 {
1096be33864SEmmanuel Vadot			opp-hz = /bits/ 64 <864000000>;
1106be33864SEmmanuel Vadot			opp-microvolt = <725000>;
1118d13bc63SEmmanuel Vadot			opp-supported-hw = <0xf>;
1126be33864SEmmanuel Vadot			clock-latency-ns = <200000>;
1136be33864SEmmanuel Vadot		};
114cb7aa33aSEmmanuel Vadot
1156be33864SEmmanuel Vadot		opp-1056000000 {
1166be33864SEmmanuel Vadot			opp-hz = /bits/ 64 <1056000000>;
1176be33864SEmmanuel Vadot			opp-microvolt = <787500>;
1188d13bc63SEmmanuel Vadot			opp-supported-hw = <0xf>;
1196be33864SEmmanuel Vadot			clock-latency-ns = <200000>;
1206be33864SEmmanuel Vadot		};
121cb7aa33aSEmmanuel Vadot
1226be33864SEmmanuel Vadot		opp-1320000000 {
1236be33864SEmmanuel Vadot			opp-hz = /bits/ 64 <1320000000>;
1246be33864SEmmanuel Vadot			opp-microvolt = <862500>;
1258d13bc63SEmmanuel Vadot			opp-supported-hw = <0x3>;
1266be33864SEmmanuel Vadot			clock-latency-ns = <200000>;
1276be33864SEmmanuel Vadot		};
128cb7aa33aSEmmanuel Vadot
1296be33864SEmmanuel Vadot		opp-1440000000 {
1306be33864SEmmanuel Vadot			opp-hz = /bits/ 64 <1440000000>;
1316be33864SEmmanuel Vadot			opp-microvolt = <925000>;
1328d13bc63SEmmanuel Vadot			opp-supported-hw = <0x3>;
1336be33864SEmmanuel Vadot			clock-latency-ns = <200000>;
1346be33864SEmmanuel Vadot		};
135cb7aa33aSEmmanuel Vadot
1366be33864SEmmanuel Vadot		opp-1608000000 {
1376be33864SEmmanuel Vadot			opp-hz = /bits/ 64 <1608000000>;
1386be33864SEmmanuel Vadot			opp-microvolt = <987500>;
1398d13bc63SEmmanuel Vadot			opp-supported-hw = <0x1>;
1406be33864SEmmanuel Vadot			clock-latency-ns = <200000>;
1416be33864SEmmanuel Vadot		};
142cb7aa33aSEmmanuel Vadot
1436be33864SEmmanuel Vadot		opp-1800000000 {
1446be33864SEmmanuel Vadot			opp-hz = /bits/ 64 <1800000000>;
1456be33864SEmmanuel Vadot			opp-microvolt = <1062500>;
1468d13bc63SEmmanuel Vadot			opp-supported-hw = <0x1>;
1476be33864SEmmanuel Vadot			clock-latency-ns = <200000>;
1486be33864SEmmanuel Vadot		};
1496be33864SEmmanuel Vadot	};
1506be33864SEmmanuel Vadot
151c66ec88fSEmmanuel Vadot	pmuv8: pmu {
152c66ec88fSEmmanuel Vadot		compatible = "arm,cortex-a53-pmu";
153cb7aa33aSEmmanuel Vadot		interrupts = <GIC_PPI 7 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
154c66ec88fSEmmanuel Vadot	};
155c66ec88fSEmmanuel Vadot
156c66ec88fSEmmanuel Vadot	psci: psci {
157c66ec88fSEmmanuel Vadot		compatible = "arm,psci-1.0";
158c66ec88fSEmmanuel Vadot		method = "smc";
159c66ec88fSEmmanuel Vadot	};
160c66ec88fSEmmanuel Vadot
161aa1a8ff2SEmmanuel Vadot	rpm: remoteproc {
162aa1a8ff2SEmmanuel Vadot		compatible = "qcom,ipq6018-rpm-proc", "qcom,rpm-proc";
163aa1a8ff2SEmmanuel Vadot
164aa1a8ff2SEmmanuel Vadot		glink-edge {
165aa1a8ff2SEmmanuel Vadot			compatible = "qcom,glink-rpm";
166aa1a8ff2SEmmanuel Vadot			interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
167aa1a8ff2SEmmanuel Vadot			qcom,rpm-msg-ram = <&rpm_msg_ram>;
168aa1a8ff2SEmmanuel Vadot			mboxes = <&apcs_glb 0>;
169aa1a8ff2SEmmanuel Vadot
170aa1a8ff2SEmmanuel Vadot			rpm_requests: rpm-requests {
171*b2d2a78aSEmmanuel Vadot				compatible = "qcom,rpm-ipq6018", "qcom,glink-smd-rpm";
172aa1a8ff2SEmmanuel Vadot				qcom,glink-channels = "rpm_requests";
173aa1a8ff2SEmmanuel Vadot
174aa1a8ff2SEmmanuel Vadot				regulators {
175aa1a8ff2SEmmanuel Vadot					compatible = "qcom,rpm-mp5496-regulators";
176aa1a8ff2SEmmanuel Vadot
177aa1a8ff2SEmmanuel Vadot					ipq6018_s2: s2 {
178aa1a8ff2SEmmanuel Vadot						regulator-min-microvolt = <725000>;
179aa1a8ff2SEmmanuel Vadot						regulator-max-microvolt = <1062500>;
180aa1a8ff2SEmmanuel Vadot						regulator-always-on;
181aa1a8ff2SEmmanuel Vadot					};
182aa1a8ff2SEmmanuel Vadot				};
183aa1a8ff2SEmmanuel Vadot			};
184aa1a8ff2SEmmanuel Vadot		};
185aa1a8ff2SEmmanuel Vadot	};
186aa1a8ff2SEmmanuel Vadot
187c66ec88fSEmmanuel Vadot	reserved-memory {
188c66ec88fSEmmanuel Vadot		#address-cells = <2>;
189c66ec88fSEmmanuel Vadot		#size-cells = <2>;
190c66ec88fSEmmanuel Vadot		ranges;
191c66ec88fSEmmanuel Vadot
192354d7675SEmmanuel Vadot		rpm_msg_ram: memory@60000 {
193cb7aa33aSEmmanuel Vadot			reg = <0x0 0x00060000 0x0 0x6000>;
1946be33864SEmmanuel Vadot			no-map;
1956be33864SEmmanuel Vadot		};
1966be33864SEmmanuel Vadot
197f126890aSEmmanuel Vadot		bootloader@4a100000 {
198f126890aSEmmanuel Vadot			reg = <0x0 0x4a100000 0x0 0x400000>;
199f126890aSEmmanuel Vadot			no-map;
200f126890aSEmmanuel Vadot		};
201f126890aSEmmanuel Vadot
202f126890aSEmmanuel Vadot		sbl@4a500000 {
203f126890aSEmmanuel Vadot			reg = <0x0 0x4a500000 0x0 0x100000>;
204f126890aSEmmanuel Vadot			no-map;
205f126890aSEmmanuel Vadot		};
206f126890aSEmmanuel Vadot
2075def4c47SEmmanuel Vadot		tz: memory@4a600000 {
208f126890aSEmmanuel Vadot			reg = <0x0 0x4a600000 0x0 0x400000>;
209c66ec88fSEmmanuel Vadot			no-map;
210c66ec88fSEmmanuel Vadot		};
211c66ec88fSEmmanuel Vadot
212c66ec88fSEmmanuel Vadot		smem_region: memory@4aa00000 {
213f126890aSEmmanuel Vadot			reg = <0x0 0x4aa00000 0x0 0x100000>;
214c66ec88fSEmmanuel Vadot			no-map;
215c66ec88fSEmmanuel Vadot		};
216c66ec88fSEmmanuel Vadot
217c66ec88fSEmmanuel Vadot		q6_region: memory@4ab00000 {
218f126890aSEmmanuel Vadot			reg = <0x0 0x4ab00000 0x0 0x5500000>;
219c66ec88fSEmmanuel Vadot			no-map;
220c66ec88fSEmmanuel Vadot		};
221c66ec88fSEmmanuel Vadot	};
222c66ec88fSEmmanuel Vadot
223c66ec88fSEmmanuel Vadot	smem {
224c66ec88fSEmmanuel Vadot		compatible = "qcom,smem";
225c66ec88fSEmmanuel Vadot		memory-region = <&smem_region>;
22684943d6fSEmmanuel Vadot		hwlocks = <&tcsr_mutex 3>;
227c66ec88fSEmmanuel Vadot	};
228c66ec88fSEmmanuel Vadot
229f126890aSEmmanuel Vadot	soc: soc@0 {
2306be33864SEmmanuel Vadot		#address-cells = <2>;
2316be33864SEmmanuel Vadot		#size-cells = <2>;
2326be33864SEmmanuel Vadot		ranges = <0 0 0 0 0x0 0xffffffff>;
233c66ec88fSEmmanuel Vadot		dma-ranges;
234c66ec88fSEmmanuel Vadot		compatible = "simple-bus";
235c66ec88fSEmmanuel Vadot
236cb7aa33aSEmmanuel Vadot		qusb_phy_1: qusb@59000 {
237cb7aa33aSEmmanuel Vadot			compatible = "qcom,ipq6018-qusb2-phy";
238cb7aa33aSEmmanuel Vadot			reg = <0x0 0x00059000 0x0 0x180>;
239cb7aa33aSEmmanuel Vadot			#phy-cells = <0>;
240cb7aa33aSEmmanuel Vadot
241cb7aa33aSEmmanuel Vadot			clocks = <&gcc GCC_USB1_PHY_CFG_AHB_CLK>,
242cb7aa33aSEmmanuel Vadot				 <&xo>;
243cb7aa33aSEmmanuel Vadot			clock-names = "cfg_ahb", "ref";
244cb7aa33aSEmmanuel Vadot
245cb7aa33aSEmmanuel Vadot			resets = <&gcc GCC_QUSB2_1_PHY_BCR>;
246cb7aa33aSEmmanuel Vadot			status = "disabled";
247cb7aa33aSEmmanuel Vadot		};
248cb7aa33aSEmmanuel Vadot
249cb7aa33aSEmmanuel Vadot		ssphy_0: ssphy@78000 {
250cb7aa33aSEmmanuel Vadot			compatible = "qcom,ipq6018-qmp-usb3-phy";
2518d13bc63SEmmanuel Vadot			reg = <0x0 0x00078000 0x0 0x1000>;
252cb7aa33aSEmmanuel Vadot
253cb7aa33aSEmmanuel Vadot			clocks = <&gcc GCC_USB0_AUX_CLK>,
2548d13bc63SEmmanuel Vadot				 <&xo>,
2558d13bc63SEmmanuel Vadot				 <&gcc GCC_USB0_PHY_CFG_AHB_CLK>,
2568d13bc63SEmmanuel Vadot				 <&gcc GCC_USB0_PIPE_CLK>;
2578d13bc63SEmmanuel Vadot			clock-names = "aux",
2588d13bc63SEmmanuel Vadot				      "ref",
2598d13bc63SEmmanuel Vadot				      "cfg_ahb",
2608d13bc63SEmmanuel Vadot				      "pipe";
2618d13bc63SEmmanuel Vadot			clock-output-names = "gcc_usb0_pipe_clk_src";
2628d13bc63SEmmanuel Vadot			#clock-cells = <0>;
2638d13bc63SEmmanuel Vadot			#phy-cells = <0>;
264cb7aa33aSEmmanuel Vadot
265cb7aa33aSEmmanuel Vadot			resets = <&gcc GCC_USB0_PHY_BCR>,
266cb7aa33aSEmmanuel Vadot				 <&gcc GCC_USB3PHY_0_PHY_BCR>;
2678d13bc63SEmmanuel Vadot			reset-names = "phy",
2688d13bc63SEmmanuel Vadot				      "phy_phy";
269cb7aa33aSEmmanuel Vadot
2708d13bc63SEmmanuel Vadot			status = "disabled";
271cb7aa33aSEmmanuel Vadot		};
272cb7aa33aSEmmanuel Vadot
273cb7aa33aSEmmanuel Vadot		qusb_phy_0: qusb@79000 {
274cb7aa33aSEmmanuel Vadot			compatible = "qcom,ipq6018-qusb2-phy";
275cb7aa33aSEmmanuel Vadot			reg = <0x0 0x00079000 0x0 0x180>;
276cb7aa33aSEmmanuel Vadot			#phy-cells = <0>;
277cb7aa33aSEmmanuel Vadot
278cb7aa33aSEmmanuel Vadot			clocks = <&gcc GCC_USB0_PHY_CFG_AHB_CLK>,
279cb7aa33aSEmmanuel Vadot				<&xo>;
280cb7aa33aSEmmanuel Vadot			clock-names = "cfg_ahb", "ref";
281cb7aa33aSEmmanuel Vadot
282cb7aa33aSEmmanuel Vadot			resets = <&gcc GCC_QUSB2_0_PHY_BCR>;
283cb7aa33aSEmmanuel Vadot			status = "disabled";
284cb7aa33aSEmmanuel Vadot		};
285cb7aa33aSEmmanuel Vadot
286cb7aa33aSEmmanuel Vadot		pcie_phy: phy@84000 {
287cb7aa33aSEmmanuel Vadot			compatible = "qcom,ipq6018-qmp-pcie-phy";
28884943d6fSEmmanuel Vadot			reg = <0x0 0x00084000 0x0 0x1000>;
289cb7aa33aSEmmanuel Vadot			status = "disabled";
290cb7aa33aSEmmanuel Vadot
291cb7aa33aSEmmanuel Vadot			clocks = <&gcc GCC_PCIE0_AUX_CLK>,
29284943d6fSEmmanuel Vadot				<&gcc GCC_PCIE0_AHB_CLK>,
29384943d6fSEmmanuel Vadot				<&gcc GCC_PCIE0_PIPE_CLK>;
29484943d6fSEmmanuel Vadot			clock-names = "aux",
29584943d6fSEmmanuel Vadot				      "cfg_ahb",
29684943d6fSEmmanuel Vadot				      "pipe";
29784943d6fSEmmanuel Vadot
29884943d6fSEmmanuel Vadot			clock-output-names = "gcc_pcie0_pipe_clk_src";
29984943d6fSEmmanuel Vadot			#clock-cells = <0>;
30084943d6fSEmmanuel Vadot
30184943d6fSEmmanuel Vadot			#phy-cells = <0>;
302cb7aa33aSEmmanuel Vadot
303cb7aa33aSEmmanuel Vadot			resets = <&gcc GCC_PCIE0_PHY_BCR>,
304cb7aa33aSEmmanuel Vadot				<&gcc GCC_PCIE0PHY_PHY_BCR>;
305cb7aa33aSEmmanuel Vadot			reset-names = "phy",
306cb7aa33aSEmmanuel Vadot				      "common";
307cb7aa33aSEmmanuel Vadot		};
308cb7aa33aSEmmanuel Vadot
309cb7aa33aSEmmanuel Vadot		mdio: mdio@90000 {
310cb7aa33aSEmmanuel Vadot			#address-cells = <1>;
311cb7aa33aSEmmanuel Vadot			#size-cells = <0>;
312cb7aa33aSEmmanuel Vadot			compatible = "qcom,ipq6018-mdio", "qcom,ipq4019-mdio";
313cb7aa33aSEmmanuel Vadot			reg = <0x0 0x00090000 0x0 0x64>;
314cb7aa33aSEmmanuel Vadot			clocks = <&gcc GCC_MDIO_AHB_CLK>;
315cb7aa33aSEmmanuel Vadot			clock-names = "gcc_mdio_ahb_clk";
316cb7aa33aSEmmanuel Vadot			status = "disabled";
317cb7aa33aSEmmanuel Vadot		};
318cb7aa33aSEmmanuel Vadot
319f126890aSEmmanuel Vadot		qfprom: efuse@a4000 {
320f126890aSEmmanuel Vadot			compatible = "qcom,ipq6018-qfprom", "qcom,qfprom";
321f126890aSEmmanuel Vadot			reg = <0x0 0x000a4000 0x0 0x2000>;
322f126890aSEmmanuel Vadot			#address-cells = <1>;
323f126890aSEmmanuel Vadot			#size-cells = <1>;
3248d13bc63SEmmanuel Vadot
3258d13bc63SEmmanuel Vadot			cpu_speed_bin: cpu-speed-bin@135 {
3268d13bc63SEmmanuel Vadot				reg = <0x135 0x1>;
3278d13bc63SEmmanuel Vadot				bits = <7 1>;
3288d13bc63SEmmanuel Vadot			};
329f126890aSEmmanuel Vadot		};
330f126890aSEmmanuel Vadot
331f126890aSEmmanuel Vadot		prng: qrng@e3000 {
332c66ec88fSEmmanuel Vadot			compatible = "qcom,prng-ee";
333cb7aa33aSEmmanuel Vadot			reg = <0x0 0x000e3000 0x0 0x1000>;
334c66ec88fSEmmanuel Vadot			clocks = <&gcc GCC_PRNG_AHB_CLK>;
335c66ec88fSEmmanuel Vadot			clock-names = "core";
336c66ec88fSEmmanuel Vadot		};
337c66ec88fSEmmanuel Vadot
33801950c46SEmmanuel Vadot		tsens: thermal-sensor@4a9000 {
33901950c46SEmmanuel Vadot			compatible = "qcom,ipq6018-tsens", "qcom,ipq8074-tsens";
34001950c46SEmmanuel Vadot			reg = <0x0 0x004a9000 0x0 0x1000>,
34101950c46SEmmanuel Vadot			      <0x0 0x004a8000 0x0 0x1000>;
34201950c46SEmmanuel Vadot			interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>;
34301950c46SEmmanuel Vadot			interrupt-names = "combined";
34401950c46SEmmanuel Vadot			#qcom,sensors = <16>;
34501950c46SEmmanuel Vadot			#thermal-sensor-cells = <1>;
34601950c46SEmmanuel Vadot		};
34701950c46SEmmanuel Vadot
3485def4c47SEmmanuel Vadot		cryptobam: dma-controller@704000 {
349c66ec88fSEmmanuel Vadot			compatible = "qcom,bam-v1.7.0";
3506be33864SEmmanuel Vadot			reg = <0x0 0x00704000 0x0 0x20000>;
351c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 207 IRQ_TYPE_LEVEL_HIGH>;
352c66ec88fSEmmanuel Vadot			clocks = <&gcc GCC_CRYPTO_AHB_CLK>;
353c66ec88fSEmmanuel Vadot			clock-names = "bam_clk";
354c66ec88fSEmmanuel Vadot			#dma-cells = <1>;
355c66ec88fSEmmanuel Vadot			qcom,ee = <1>;
3568cc087a1SEmmanuel Vadot			qcom,controlled-remotely;
357c66ec88fSEmmanuel Vadot		};
358c66ec88fSEmmanuel Vadot
359c66ec88fSEmmanuel Vadot		crypto: crypto@73a000 {
360c66ec88fSEmmanuel Vadot			compatible = "qcom,crypto-v5.1";
3616be33864SEmmanuel Vadot			reg = <0x0 0x0073a000 0x0 0x6000>;
362c66ec88fSEmmanuel Vadot			clocks = <&gcc GCC_CRYPTO_AHB_CLK>,
363c66ec88fSEmmanuel Vadot				 <&gcc GCC_CRYPTO_AXI_CLK>,
364c66ec88fSEmmanuel Vadot				 <&gcc GCC_CRYPTO_CLK>;
365c66ec88fSEmmanuel Vadot			clock-names = "iface", "bus", "core";
366c66ec88fSEmmanuel Vadot			dmas = <&cryptobam 2>, <&cryptobam 3>;
367c66ec88fSEmmanuel Vadot			dma-names = "rx", "tx";
368c66ec88fSEmmanuel Vadot		};
369c66ec88fSEmmanuel Vadot
370c66ec88fSEmmanuel Vadot		tlmm: pinctrl@1000000 {
371c66ec88fSEmmanuel Vadot			compatible = "qcom,ipq6018-pinctrl";
3726be33864SEmmanuel Vadot			reg = <0x0 0x01000000 0x0 0x300000>;
373c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
374c66ec88fSEmmanuel Vadot			gpio-controller;
375c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
376e67e8565SEmmanuel Vadot			gpio-ranges = <&tlmm 0 0 80>;
377c66ec88fSEmmanuel Vadot			interrupt-controller;
378c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
379c66ec88fSEmmanuel Vadot
3808bab661aSEmmanuel Vadot			serial_3_pins: serial3-state {
381c66ec88fSEmmanuel Vadot				pins = "gpio44", "gpio45";
382c66ec88fSEmmanuel Vadot				function = "blsp2_uart";
383c66ec88fSEmmanuel Vadot				drive-strength = <8>;
384c66ec88fSEmmanuel Vadot				bias-pull-down;
385c66ec88fSEmmanuel Vadot			};
3865def4c47SEmmanuel Vadot
3878bab661aSEmmanuel Vadot			qpic_pins: qpic-state {
3885def4c47SEmmanuel Vadot				pins = "gpio1", "gpio3", "gpio4",
3895def4c47SEmmanuel Vadot					"gpio5", "gpio6", "gpio7",
3905def4c47SEmmanuel Vadot					"gpio8", "gpio10", "gpio11",
3915def4c47SEmmanuel Vadot					"gpio12", "gpio13", "gpio14",
3925def4c47SEmmanuel Vadot					"gpio15", "gpio17";
3935def4c47SEmmanuel Vadot				function = "qpic_pad";
3945def4c47SEmmanuel Vadot				drive-strength = <8>;
3955def4c47SEmmanuel Vadot				bias-disable;
3965def4c47SEmmanuel Vadot			};
397c66ec88fSEmmanuel Vadot		};
398c66ec88fSEmmanuel Vadot
3990e8011faSEmmanuel Vadot		gcc: clock-controller@1800000 {
400c66ec88fSEmmanuel Vadot			compatible = "qcom,gcc-ipq6018";
4016be33864SEmmanuel Vadot			reg = <0x0 0x01800000 0x0 0x80000>;
402c66ec88fSEmmanuel Vadot			clocks = <&xo>, <&sleep_clk>;
403c66ec88fSEmmanuel Vadot			clock-names = "xo", "sleep_clk";
404c66ec88fSEmmanuel Vadot			#clock-cells = <1>;
405c66ec88fSEmmanuel Vadot			#reset-cells = <1>;
406c66ec88fSEmmanuel Vadot		};
407c66ec88fSEmmanuel Vadot
4087ef62cebSEmmanuel Vadot		tcsr_mutex: hwlock@1905000 {
4097ef62cebSEmmanuel Vadot			compatible = "qcom,ipq6018-tcsr-mutex", "qcom,tcsr-mutex";
41084943d6fSEmmanuel Vadot			reg = <0x0 0x01905000 0x0 0x20000>;
4117ef62cebSEmmanuel Vadot			#hwlock-cells = <1>;
412c66ec88fSEmmanuel Vadot		};
413c66ec88fSEmmanuel Vadot
414354d7675SEmmanuel Vadot		tcsr: syscon@1937000 {
4157ef62cebSEmmanuel Vadot			compatible = "qcom,tcsr-ipq6018", "syscon";
416354d7675SEmmanuel Vadot			reg = <0x0 0x01937000 0x0 0x21000>;
417c66ec88fSEmmanuel Vadot		};
418c66ec88fSEmmanuel Vadot
419cb7aa33aSEmmanuel Vadot		usb2: usb@70f8800 {
420cb7aa33aSEmmanuel Vadot			compatible = "qcom,ipq6018-dwc3", "qcom,dwc3";
421cb7aa33aSEmmanuel Vadot			reg = <0x0 0x070f8800 0x0 0x400>;
422cb7aa33aSEmmanuel Vadot			#address-cells = <2>;
423cb7aa33aSEmmanuel Vadot			#size-cells = <2>;
424cb7aa33aSEmmanuel Vadot			ranges;
425cb7aa33aSEmmanuel Vadot			clocks = <&gcc GCC_USB1_MASTER_CLK>,
426cb7aa33aSEmmanuel Vadot				 <&gcc GCC_USB1_SLEEP_CLK>,
427cb7aa33aSEmmanuel Vadot				 <&gcc GCC_USB1_MOCK_UTMI_CLK>;
428cb7aa33aSEmmanuel Vadot			clock-names = "core",
429cb7aa33aSEmmanuel Vadot				      "sleep",
430cb7aa33aSEmmanuel Vadot				      "mock_utmi";
431cb7aa33aSEmmanuel Vadot
432cb7aa33aSEmmanuel Vadot			assigned-clocks = <&gcc GCC_USB1_MASTER_CLK>,
433cb7aa33aSEmmanuel Vadot					  <&gcc GCC_USB1_MOCK_UTMI_CLK>;
434cb7aa33aSEmmanuel Vadot			assigned-clock-rates = <133330000>,
435cb7aa33aSEmmanuel Vadot					       <24000000>;
43601950c46SEmmanuel Vadot
43701950c46SEmmanuel Vadot			interrupts = <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>,
43801950c46SEmmanuel Vadot				     <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>;
43901950c46SEmmanuel Vadot			interrupt-names = "pwr_event",
44001950c46SEmmanuel Vadot					  "qusb2_phy";
44101950c46SEmmanuel Vadot
442cb7aa33aSEmmanuel Vadot			resets = <&gcc GCC_USB1_BCR>;
443cb7aa33aSEmmanuel Vadot			status = "disabled";
444cb7aa33aSEmmanuel Vadot
445cb7aa33aSEmmanuel Vadot			dwc_1: usb@7000000 {
446cb7aa33aSEmmanuel Vadot				compatible = "snps,dwc3";
447cb7aa33aSEmmanuel Vadot				reg = <0x0 0x07000000 0x0 0xcd00>;
448cb7aa33aSEmmanuel Vadot				interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
449cb7aa33aSEmmanuel Vadot				phys = <&qusb_phy_1>;
450cb7aa33aSEmmanuel Vadot				phy-names = "usb2-phy";
451cb7aa33aSEmmanuel Vadot				tx-fifo-resize;
452cb7aa33aSEmmanuel Vadot				snps,is-utmi-l1-suspend;
453cb7aa33aSEmmanuel Vadot				snps,hird-threshold = /bits/ 8 <0x0>;
454cb7aa33aSEmmanuel Vadot				snps,dis_u2_susphy_quirk;
455cb7aa33aSEmmanuel Vadot				snps,dis_u3_susphy_quirk;
456cb7aa33aSEmmanuel Vadot				dr_mode = "host";
457cb7aa33aSEmmanuel Vadot			};
458cb7aa33aSEmmanuel Vadot		};
459cb7aa33aSEmmanuel Vadot
4600e8011faSEmmanuel Vadot		sdhc: mmc@7804000 {
4610e8011faSEmmanuel Vadot			compatible = "qcom,ipq6018-sdhci", "qcom,sdhci-msm-v5";
4620e8011faSEmmanuel Vadot			reg = <0x0 0x07804000 0x0 0x1000>,
4630e8011faSEmmanuel Vadot			      <0x0 0x07805000 0x0 0x1000>;
4640e8011faSEmmanuel Vadot			reg-names = "hc", "cqhci";
4650e8011faSEmmanuel Vadot
4660e8011faSEmmanuel Vadot			interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
4670e8011faSEmmanuel Vadot				     <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
4680e8011faSEmmanuel Vadot			interrupt-names = "hc_irq", "pwr_irq";
4690e8011faSEmmanuel Vadot
4700e8011faSEmmanuel Vadot			clocks = <&gcc GCC_SDCC1_AHB_CLK>,
4710e8011faSEmmanuel Vadot				 <&gcc GCC_SDCC1_APPS_CLK>,
4720e8011faSEmmanuel Vadot				 <&xo>;
4730e8011faSEmmanuel Vadot			clock-names = "iface", "core", "xo";
4740e8011faSEmmanuel Vadot			resets = <&gcc GCC_SDCC1_BCR>;
4750e8011faSEmmanuel Vadot			max-frequency = <192000000>;
4760e8011faSEmmanuel Vadot			status = "disabled";
4770e8011faSEmmanuel Vadot		};
4780e8011faSEmmanuel Vadot
4795def4c47SEmmanuel Vadot		blsp_dma: dma-controller@7884000 {
480c66ec88fSEmmanuel Vadot			compatible = "qcom,bam-v1.7.0";
4816be33864SEmmanuel Vadot			reg = <0x0 0x07884000 0x0 0x2b000>;
482c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 238 IRQ_TYPE_LEVEL_HIGH>;
483c66ec88fSEmmanuel Vadot			clocks = <&gcc GCC_BLSP1_AHB_CLK>;
484c66ec88fSEmmanuel Vadot			clock-names = "bam_clk";
485c66ec88fSEmmanuel Vadot			#dma-cells = <1>;
486c66ec88fSEmmanuel Vadot			qcom,ee = <0>;
487c66ec88fSEmmanuel Vadot		};
488c66ec88fSEmmanuel Vadot
4898d13bc63SEmmanuel Vadot		blsp1_uart1: serial@78af000 {
4908d13bc63SEmmanuel Vadot			compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
4918d13bc63SEmmanuel Vadot			reg = <0x0 0x78af000 0x0 0x200>;
4928d13bc63SEmmanuel Vadot			interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
4938d13bc63SEmmanuel Vadot			clocks = <&gcc GCC_BLSP1_UART1_APPS_CLK>,
4948d13bc63SEmmanuel Vadot				 <&gcc GCC_BLSP1_AHB_CLK>;
4958d13bc63SEmmanuel Vadot			clock-names = "core", "iface";
4968d13bc63SEmmanuel Vadot			status = "disabled";
4978d13bc63SEmmanuel Vadot		};
4988d13bc63SEmmanuel Vadot
4998d13bc63SEmmanuel Vadot		blsp1_uart2: serial@78b0000 {
5008d13bc63SEmmanuel Vadot			compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
5018d13bc63SEmmanuel Vadot			reg = <0x0 0x78b0000 0x0 0x200>;
5028d13bc63SEmmanuel Vadot			interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
5038d13bc63SEmmanuel Vadot			clocks = <&gcc GCC_BLSP1_UART2_APPS_CLK>,
5048d13bc63SEmmanuel Vadot				 <&gcc GCC_BLSP1_AHB_CLK>;
5058d13bc63SEmmanuel Vadot			clock-names = "core", "iface";
5068d13bc63SEmmanuel Vadot			status = "disabled";
5078d13bc63SEmmanuel Vadot		};
5088d13bc63SEmmanuel Vadot
509c66ec88fSEmmanuel Vadot		blsp1_uart3: serial@78b1000 {
510c66ec88fSEmmanuel Vadot			compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
5116be33864SEmmanuel Vadot			reg = <0x0 0x078b1000 0x0 0x200>;
512c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 306 IRQ_TYPE_LEVEL_HIGH>;
513c66ec88fSEmmanuel Vadot			clocks = <&gcc GCC_BLSP1_UART3_APPS_CLK>,
514c66ec88fSEmmanuel Vadot				 <&gcc GCC_BLSP1_AHB_CLK>;
515c66ec88fSEmmanuel Vadot			clock-names = "core", "iface";
516c66ec88fSEmmanuel Vadot			status = "disabled";
517c66ec88fSEmmanuel Vadot		};
518c66ec88fSEmmanuel Vadot
5198d13bc63SEmmanuel Vadot		blsp1_uart4: serial@78b2000 {
5208d13bc63SEmmanuel Vadot			compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
5218d13bc63SEmmanuel Vadot			reg = <0x0 0x078b2000 0x0 0x200>;
5228d13bc63SEmmanuel Vadot			interrupts = <GIC_SPI 307 IRQ_TYPE_LEVEL_HIGH>;
5238d13bc63SEmmanuel Vadot			clocks = <&gcc GCC_BLSP1_UART4_APPS_CLK>,
5248d13bc63SEmmanuel Vadot				 <&gcc GCC_BLSP1_AHB_CLK>;
5258d13bc63SEmmanuel Vadot			clock-names = "core", "iface";
5268d13bc63SEmmanuel Vadot			status = "disabled";
5278d13bc63SEmmanuel Vadot		};
5288d13bc63SEmmanuel Vadot
5298d13bc63SEmmanuel Vadot		blsp1_uart5: serial@78b3000 {
5308d13bc63SEmmanuel Vadot			compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
5318d13bc63SEmmanuel Vadot			reg = <0x0 0x78b3000 0x0 0x200>;
5328d13bc63SEmmanuel Vadot			interrupts = <GIC_SPI 308 IRQ_TYPE_LEVEL_HIGH>;
5338d13bc63SEmmanuel Vadot			clocks = <&gcc GCC_BLSP1_UART5_APPS_CLK>,
5348d13bc63SEmmanuel Vadot				 <&gcc GCC_BLSP1_AHB_CLK>;
5358d13bc63SEmmanuel Vadot			clock-names = "core", "iface";
5368d13bc63SEmmanuel Vadot			status = "disabled";
5378d13bc63SEmmanuel Vadot		};
5388d13bc63SEmmanuel Vadot
5398d13bc63SEmmanuel Vadot		blsp1_uart6: serial@78b4000 {
5408d13bc63SEmmanuel Vadot			compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
5418d13bc63SEmmanuel Vadot			reg = <0x0 0x078b4000 0x0 0x200>;
5428d13bc63SEmmanuel Vadot			interrupts = <GIC_SPI 309 IRQ_TYPE_LEVEL_HIGH>;
5438d13bc63SEmmanuel Vadot			clocks = <&gcc GCC_BLSP1_UART6_APPS_CLK>,
5448d13bc63SEmmanuel Vadot				 <&gcc GCC_BLSP1_AHB_CLK>;
5458d13bc63SEmmanuel Vadot			clock-names = "core", "iface";
5468d13bc63SEmmanuel Vadot			status = "disabled";
5478d13bc63SEmmanuel Vadot		};
5488d13bc63SEmmanuel Vadot
549b97ee269SEmmanuel Vadot		blsp1_spi1: spi@78b5000 {
550c66ec88fSEmmanuel Vadot			compatible = "qcom,spi-qup-v2.2.1";
551c66ec88fSEmmanuel Vadot			#address-cells = <1>;
552c66ec88fSEmmanuel Vadot			#size-cells = <0>;
5536be33864SEmmanuel Vadot			reg = <0x0 0x078b5000 0x0 0x600>;
554c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
555c66ec88fSEmmanuel Vadot			clocks = <&gcc GCC_BLSP1_QUP1_SPI_APPS_CLK>,
556c66ec88fSEmmanuel Vadot				 <&gcc GCC_BLSP1_AHB_CLK>;
557c66ec88fSEmmanuel Vadot			clock-names = "core", "iface";
558c66ec88fSEmmanuel Vadot			dmas = <&blsp_dma 12>, <&blsp_dma 13>;
559c66ec88fSEmmanuel Vadot			dma-names = "tx", "rx";
560c66ec88fSEmmanuel Vadot			status = "disabled";
561c66ec88fSEmmanuel Vadot		};
562c66ec88fSEmmanuel Vadot
563b97ee269SEmmanuel Vadot		blsp1_spi2: spi@78b6000 {
564c66ec88fSEmmanuel Vadot			compatible = "qcom,spi-qup-v2.2.1";
565c66ec88fSEmmanuel Vadot			#address-cells = <1>;
566c66ec88fSEmmanuel Vadot			#size-cells = <0>;
5676be33864SEmmanuel Vadot			reg = <0x0 0x078b6000 0x0 0x600>;
568c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
569c66ec88fSEmmanuel Vadot			clocks = <&gcc GCC_BLSP1_QUP2_SPI_APPS_CLK>,
570c66ec88fSEmmanuel Vadot				 <&gcc GCC_BLSP1_AHB_CLK>;
571c66ec88fSEmmanuel Vadot			clock-names = "core", "iface";
572c66ec88fSEmmanuel Vadot			dmas = <&blsp_dma 14>, <&blsp_dma 15>;
573c66ec88fSEmmanuel Vadot			dma-names = "tx", "rx";
574c66ec88fSEmmanuel Vadot			status = "disabled";
575c66ec88fSEmmanuel Vadot		};
576c66ec88fSEmmanuel Vadot
5778d13bc63SEmmanuel Vadot		blsp1_spi5: spi@78b9000 {
5788d13bc63SEmmanuel Vadot			compatible = "qcom,spi-qup-v2.2.1";
5798d13bc63SEmmanuel Vadot			#address-cells = <1>;
5808d13bc63SEmmanuel Vadot			#size-cells = <0>;
5818d13bc63SEmmanuel Vadot			reg = <0x0 0x078b9000 0x0 0x600>;
5828d13bc63SEmmanuel Vadot			interrupts = <GIC_SPI 299 IRQ_TYPE_LEVEL_HIGH>;
5838d13bc63SEmmanuel Vadot			clocks = <&gcc GCC_BLSP1_QUP5_SPI_APPS_CLK>,
5848d13bc63SEmmanuel Vadot				 <&gcc GCC_BLSP1_AHB_CLK>;
5858d13bc63SEmmanuel Vadot			clock-names = "core", "iface";
5868d13bc63SEmmanuel Vadot			dmas = <&blsp_dma 20>, <&blsp_dma 21>;
5878d13bc63SEmmanuel Vadot			dma-names = "tx", "rx";
5888d13bc63SEmmanuel Vadot			status = "disabled";
5898d13bc63SEmmanuel Vadot		};
5908d13bc63SEmmanuel Vadot
591b97ee269SEmmanuel Vadot		blsp1_i2c2: i2c@78b6000 {
592c66ec88fSEmmanuel Vadot			compatible = "qcom,i2c-qup-v2.2.1";
593c66ec88fSEmmanuel Vadot			#address-cells = <1>;
594c66ec88fSEmmanuel Vadot			#size-cells = <0>;
5956be33864SEmmanuel Vadot			reg = <0x0 0x078b6000 0x0 0x600>;
596c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
597d5b0e70fSEmmanuel Vadot			clocks = <&gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>,
598d5b0e70fSEmmanuel Vadot				 <&gcc GCC_BLSP1_AHB_CLK>;
599d5b0e70fSEmmanuel Vadot			clock-names = "core", "iface";
600c66ec88fSEmmanuel Vadot			clock-frequency = <400000>;
601d5b0e70fSEmmanuel Vadot			dmas = <&blsp_dma 14>, <&blsp_dma 15>;
602d5b0e70fSEmmanuel Vadot			dma-names = "tx", "rx";
603c66ec88fSEmmanuel Vadot			status = "disabled";
604c66ec88fSEmmanuel Vadot		};
605c66ec88fSEmmanuel Vadot
606b97ee269SEmmanuel Vadot		blsp1_i2c3: i2c@78b7000 {
607c66ec88fSEmmanuel Vadot			compatible = "qcom,i2c-qup-v2.2.1";
608c66ec88fSEmmanuel Vadot			#address-cells = <1>;
609c66ec88fSEmmanuel Vadot			#size-cells = <0>;
6106be33864SEmmanuel Vadot			reg = <0x0 0x078b7000 0x0 0x600>;
611c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
612d5b0e70fSEmmanuel Vadot			clocks = <&gcc GCC_BLSP1_QUP3_I2C_APPS_CLK>,
613d5b0e70fSEmmanuel Vadot				 <&gcc GCC_BLSP1_AHB_CLK>;
614d5b0e70fSEmmanuel Vadot			clock-names = "core", "iface";
615c66ec88fSEmmanuel Vadot			clock-frequency = <400000>;
616d5b0e70fSEmmanuel Vadot			dmas = <&blsp_dma 16>, <&blsp_dma 17>;
617d5b0e70fSEmmanuel Vadot			dma-names = "tx", "rx";
618c66ec88fSEmmanuel Vadot			status = "disabled";
619c66ec88fSEmmanuel Vadot		};
620c66ec88fSEmmanuel Vadot
62101950c46SEmmanuel Vadot		blsp1_i2c6: i2c@78ba000 {
62201950c46SEmmanuel Vadot			compatible = "qcom,i2c-qup-v2.2.1";
62301950c46SEmmanuel Vadot			#address-cells = <1>;
62401950c46SEmmanuel Vadot			#size-cells = <0>;
62501950c46SEmmanuel Vadot			reg = <0x0 0x078ba000 0x0 0x600>;
62601950c46SEmmanuel Vadot			interrupts = <GIC_SPI 300 IRQ_TYPE_LEVEL_HIGH>;
62701950c46SEmmanuel Vadot			clocks = <&gcc GCC_BLSP1_QUP6_I2C_APPS_CLK>,
62801950c46SEmmanuel Vadot			       <&gcc GCC_BLSP1_AHB_CLK>;
62901950c46SEmmanuel Vadot			clock-names = "core", "iface";
63001950c46SEmmanuel Vadot			clock-frequency = <400000>;
63101950c46SEmmanuel Vadot			dmas = <&blsp_dma 22>, <&blsp_dma 23>;
63201950c46SEmmanuel Vadot			dma-names = "tx", "rx";
63301950c46SEmmanuel Vadot			status = "disabled";
63401950c46SEmmanuel Vadot		};
63501950c46SEmmanuel Vadot
6365def4c47SEmmanuel Vadot		qpic_bam: dma-controller@7984000 {
6375def4c47SEmmanuel Vadot			compatible = "qcom,bam-v1.7.0";
6385def4c47SEmmanuel Vadot			reg = <0x0 0x07984000 0x0 0x1a000>;
6395def4c47SEmmanuel Vadot			interrupts = <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>;
6408cc087a1SEmmanuel Vadot			clocks = <&gcc GCC_QPIC_AHB_CLK>;
6418cc087a1SEmmanuel Vadot			clock-names = "bam_clk";
6425def4c47SEmmanuel Vadot			#dma-cells = <1>;
6435def4c47SEmmanuel Vadot			qcom,ee = <0>;
6445def4c47SEmmanuel Vadot			status = "disabled";
6455def4c47SEmmanuel Vadot		};
6465def4c47SEmmanuel Vadot
6478bab661aSEmmanuel Vadot		qpic_nand: nand-controller@79b0000 {
6485def4c47SEmmanuel Vadot			compatible = "qcom,ipq6018-nand";
6495def4c47SEmmanuel Vadot			reg = <0x0 0x079b0000 0x0 0x10000>;
6505def4c47SEmmanuel Vadot			#address-cells = <1>;
6515def4c47SEmmanuel Vadot			#size-cells = <0>;
6525def4c47SEmmanuel Vadot			clocks = <&gcc GCC_QPIC_CLK>,
6535def4c47SEmmanuel Vadot				 <&gcc GCC_QPIC_AHB_CLK>;
6545def4c47SEmmanuel Vadot			clock-names = "core", "aon";
6555def4c47SEmmanuel Vadot
6565def4c47SEmmanuel Vadot			dmas = <&qpic_bam 0>,
6575def4c47SEmmanuel Vadot			       <&qpic_bam 1>,
6585def4c47SEmmanuel Vadot			       <&qpic_bam 2>;
6595def4c47SEmmanuel Vadot			dma-names = "tx", "rx", "cmd";
6605def4c47SEmmanuel Vadot			pinctrl-0 = <&qpic_pins>;
6615def4c47SEmmanuel Vadot			pinctrl-names = "default";
6625def4c47SEmmanuel Vadot			status = "disabled";
6635def4c47SEmmanuel Vadot		};
6645def4c47SEmmanuel Vadot
665cb7aa33aSEmmanuel Vadot		usb3: usb@8af8800 {
666cb7aa33aSEmmanuel Vadot			compatible = "qcom,ipq6018-dwc3", "qcom,dwc3";
667cb7aa33aSEmmanuel Vadot			reg = <0x0 0x08af8800 0x0 0x400>;
668cb7aa33aSEmmanuel Vadot			#address-cells = <2>;
669cb7aa33aSEmmanuel Vadot			#size-cells = <2>;
670cb7aa33aSEmmanuel Vadot			ranges;
671cb7aa33aSEmmanuel Vadot
672cb7aa33aSEmmanuel Vadot			clocks = <&gcc GCC_SYS_NOC_USB0_AXI_CLK>,
673cb7aa33aSEmmanuel Vadot				<&gcc GCC_USB0_MASTER_CLK>,
674cb7aa33aSEmmanuel Vadot				<&gcc GCC_USB0_SLEEP_CLK>,
675cb7aa33aSEmmanuel Vadot				<&gcc GCC_USB0_MOCK_UTMI_CLK>;
676cb7aa33aSEmmanuel Vadot			clock-names = "cfg_noc",
677cb7aa33aSEmmanuel Vadot				"core",
678cb7aa33aSEmmanuel Vadot				"sleep",
679cb7aa33aSEmmanuel Vadot				"mock_utmi";
680cb7aa33aSEmmanuel Vadot
681cb7aa33aSEmmanuel Vadot			assigned-clocks = <&gcc GCC_SYS_NOC_USB0_AXI_CLK>,
682cb7aa33aSEmmanuel Vadot					  <&gcc GCC_USB0_MASTER_CLK>,
683cb7aa33aSEmmanuel Vadot					  <&gcc GCC_USB0_MOCK_UTMI_CLK>;
684cb7aa33aSEmmanuel Vadot			assigned-clock-rates = <133330000>,
685cb7aa33aSEmmanuel Vadot					       <133330000>,
6868d13bc63SEmmanuel Vadot					       <24000000>;
687cb7aa33aSEmmanuel Vadot
68801950c46SEmmanuel Vadot			interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
68901950c46SEmmanuel Vadot				     <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>,
69001950c46SEmmanuel Vadot				     <GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH>;
69101950c46SEmmanuel Vadot			interrupt-names = "pwr_event",
69201950c46SEmmanuel Vadot					  "qusb2_phy",
69301950c46SEmmanuel Vadot					  "ss_phy_irq";
69401950c46SEmmanuel Vadot
695cb7aa33aSEmmanuel Vadot			resets = <&gcc GCC_USB0_BCR>;
696cb7aa33aSEmmanuel Vadot			status = "disabled";
697cb7aa33aSEmmanuel Vadot
698cb7aa33aSEmmanuel Vadot			dwc_0: usb@8a00000 {
699cb7aa33aSEmmanuel Vadot				compatible = "snps,dwc3";
700cb7aa33aSEmmanuel Vadot				reg = <0x0 0x08a00000 0x0 0xcd00>;
701cb7aa33aSEmmanuel Vadot				interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>;
7028d13bc63SEmmanuel Vadot				phys = <&qusb_phy_0>, <&ssphy_0>;
703cb7aa33aSEmmanuel Vadot				phy-names = "usb2-phy", "usb3-phy";
704cb7aa33aSEmmanuel Vadot				clocks = <&xo>;
705cb7aa33aSEmmanuel Vadot				clock-names = "ref";
706cb7aa33aSEmmanuel Vadot				tx-fifo-resize;
7070e8011faSEmmanuel Vadot				snps,parkmode-disable-ss-quirk;
708cb7aa33aSEmmanuel Vadot				snps,is-utmi-l1-suspend;
709cb7aa33aSEmmanuel Vadot				snps,hird-threshold = /bits/ 8 <0x0>;
710cb7aa33aSEmmanuel Vadot				snps,dis_u2_susphy_quirk;
711cb7aa33aSEmmanuel Vadot				snps,dis_u3_susphy_quirk;
712cb7aa33aSEmmanuel Vadot				dr_mode = "host";
713cb7aa33aSEmmanuel Vadot			};
714cb7aa33aSEmmanuel Vadot		};
715cb7aa33aSEmmanuel Vadot
716c66ec88fSEmmanuel Vadot		intc: interrupt-controller@b000000 {
717c66ec88fSEmmanuel Vadot			compatible = "qcom,msm-qgic2";
718c9ccf3a3SEmmanuel Vadot			#address-cells = <2>;
719c9ccf3a3SEmmanuel Vadot			#size-cells = <2>;
720c66ec88fSEmmanuel Vadot			interrupt-controller;
721f126890aSEmmanuel Vadot			#interrupt-cells = <3>;
7226be33864SEmmanuel Vadot			reg = <0x0 0x0b000000 0x0 0x1000>,  /*GICD*/
7236be33864SEmmanuel Vadot			      <0x0 0x0b002000 0x0 0x1000>,  /*GICC*/
7246be33864SEmmanuel Vadot			      <0x0 0x0b001000 0x0 0x1000>,  /*GICH*/
7256be33864SEmmanuel Vadot			      <0x0 0x0b004000 0x0 0x1000>;  /*GICV*/
726c66ec88fSEmmanuel Vadot			interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
727c9ccf3a3SEmmanuel Vadot			ranges = <0 0 0 0xb00a000 0 0xffd>;
728c9ccf3a3SEmmanuel Vadot
729c9ccf3a3SEmmanuel Vadot			v2m@0 {
730c9ccf3a3SEmmanuel Vadot				compatible = "arm,gic-v2m-frame";
731c9ccf3a3SEmmanuel Vadot				msi-controller;
732c9ccf3a3SEmmanuel Vadot				reg = <0x0 0x0 0x0 0xffd>;
733c9ccf3a3SEmmanuel Vadot			};
734c66ec88fSEmmanuel Vadot		};
735c66ec88fSEmmanuel Vadot
736c66ec88fSEmmanuel Vadot		watchdog@b017000 {
737c66ec88fSEmmanuel Vadot			compatible = "qcom,kpss-wdt";
738c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 3 IRQ_TYPE_EDGE_RISING>;
7396be33864SEmmanuel Vadot			reg = <0x0 0x0b017000 0x0 0x40>;
740c66ec88fSEmmanuel Vadot			clocks = <&sleep_clk>;
741c66ec88fSEmmanuel Vadot			timeout-sec = <10>;
742c66ec88fSEmmanuel Vadot		};
743c66ec88fSEmmanuel Vadot
744c66ec88fSEmmanuel Vadot		apcs_glb: mailbox@b111000 {
7456be33864SEmmanuel Vadot			compatible = "qcom,ipq6018-apcs-apps-global";
7466be33864SEmmanuel Vadot			reg = <0x0 0x0b111000 0x0 0x1000>;
7476be33864SEmmanuel Vadot			#clock-cells = <1>;
7488d13bc63SEmmanuel Vadot			clocks = <&a53pll>, <&xo>, <&gcc GPLL0>;
7498d13bc63SEmmanuel Vadot			clock-names = "pll", "xo", "gpll0";
750c66ec88fSEmmanuel Vadot			#mbox-cells = <1>;
751c66ec88fSEmmanuel Vadot		};
752c66ec88fSEmmanuel Vadot
7536be33864SEmmanuel Vadot		a53pll: clock@b116000 {
7546be33864SEmmanuel Vadot			compatible = "qcom,ipq6018-a53pll";
7556be33864SEmmanuel Vadot			reg = <0x0 0x0b116000 0x0 0x40>;
7566be33864SEmmanuel Vadot			#clock-cells = <0>;
7576be33864SEmmanuel Vadot			clocks = <&xo>;
7586be33864SEmmanuel Vadot			clock-names = "xo";
7596be33864SEmmanuel Vadot		};
7606be33864SEmmanuel Vadot
761c66ec88fSEmmanuel Vadot		timer@b120000 {
762b97ee269SEmmanuel Vadot			#address-cells = <1>;
763b97ee269SEmmanuel Vadot			#size-cells = <1>;
764b97ee269SEmmanuel Vadot			ranges = <0 0 0 0x10000000>;
765c66ec88fSEmmanuel Vadot			compatible = "arm,armv7-timer-mem";
7666be33864SEmmanuel Vadot			reg = <0x0 0x0b120000 0x0 0x1000>;
767c66ec88fSEmmanuel Vadot
768c66ec88fSEmmanuel Vadot			frame@b120000 {
769c66ec88fSEmmanuel Vadot				frame-number = <0>;
770c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
771c66ec88fSEmmanuel Vadot					     <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
772b97ee269SEmmanuel Vadot				reg = <0x0b121000 0x1000>,
773b97ee269SEmmanuel Vadot				      <0x0b122000 0x1000>;
774c66ec88fSEmmanuel Vadot			};
775c66ec88fSEmmanuel Vadot
776c66ec88fSEmmanuel Vadot			frame@b123000 {
777c66ec88fSEmmanuel Vadot				frame-number = <1>;
778c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
779b97ee269SEmmanuel Vadot				reg = <0x0b123000 0x1000>;
780c66ec88fSEmmanuel Vadot				status = "disabled";
781c66ec88fSEmmanuel Vadot			};
782c66ec88fSEmmanuel Vadot
783c66ec88fSEmmanuel Vadot			frame@b124000 {
784c66ec88fSEmmanuel Vadot				frame-number = <2>;
785c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
786b97ee269SEmmanuel Vadot				reg = <0x0b124000 0x1000>;
787c66ec88fSEmmanuel Vadot				status = "disabled";
788c66ec88fSEmmanuel Vadot			};
789c66ec88fSEmmanuel Vadot
790c66ec88fSEmmanuel Vadot			frame@b125000 {
791c66ec88fSEmmanuel Vadot				frame-number = <3>;
792c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
793b97ee269SEmmanuel Vadot				reg = <0x0b125000 0x1000>;
794c66ec88fSEmmanuel Vadot				status = "disabled";
795c66ec88fSEmmanuel Vadot			};
796c66ec88fSEmmanuel Vadot
797c66ec88fSEmmanuel Vadot			frame@b126000 {
798c66ec88fSEmmanuel Vadot				frame-number = <4>;
799c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
800b97ee269SEmmanuel Vadot				reg = <0x0b126000 0x1000>;
801c66ec88fSEmmanuel Vadot				status = "disabled";
802c66ec88fSEmmanuel Vadot			};
803c66ec88fSEmmanuel Vadot
804c66ec88fSEmmanuel Vadot			frame@b127000 {
805c66ec88fSEmmanuel Vadot				frame-number = <5>;
806c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
807b97ee269SEmmanuel Vadot				reg = <0x0b127000 0x1000>;
808c66ec88fSEmmanuel Vadot				status = "disabled";
809c66ec88fSEmmanuel Vadot			};
810c66ec88fSEmmanuel Vadot
811c66ec88fSEmmanuel Vadot			frame@b128000 {
812c66ec88fSEmmanuel Vadot				frame-number = <6>;
813c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
814b97ee269SEmmanuel Vadot				reg = <0x0b128000 0x1000>;
815c66ec88fSEmmanuel Vadot				status = "disabled";
816c66ec88fSEmmanuel Vadot			};
817c66ec88fSEmmanuel Vadot		};
818c66ec88fSEmmanuel Vadot
819c66ec88fSEmmanuel Vadot		q6v5_wcss: remoteproc@cd00000 {
820354d7675SEmmanuel Vadot			compatible = "qcom,ipq6018-wcss-pil";
8216be33864SEmmanuel Vadot			reg = <0x0 0x0cd00000 0x0 0x4040>,
8226be33864SEmmanuel Vadot			      <0x0 0x004ab000 0x0 0x20>;
823c66ec88fSEmmanuel Vadot			reg-names = "qdsp6",
824c66ec88fSEmmanuel Vadot				    "rmb";
825c66ec88fSEmmanuel Vadot			interrupts-extended = <&intc GIC_SPI 325 IRQ_TYPE_EDGE_RISING>,
826c66ec88fSEmmanuel Vadot					      <&wcss_smp2p_in 0 0>,
827c66ec88fSEmmanuel Vadot					      <&wcss_smp2p_in 1 0>,
828c66ec88fSEmmanuel Vadot					      <&wcss_smp2p_in 2 0>,
829c66ec88fSEmmanuel Vadot					      <&wcss_smp2p_in 3 0>;
830c66ec88fSEmmanuel Vadot			interrupt-names = "wdog",
831c66ec88fSEmmanuel Vadot					  "fatal",
832c66ec88fSEmmanuel Vadot					  "ready",
833c66ec88fSEmmanuel Vadot					  "handover",
834c66ec88fSEmmanuel Vadot					  "stop-ack";
835c66ec88fSEmmanuel Vadot
836c66ec88fSEmmanuel Vadot			resets = <&gcc GCC_WCSSAON_RESET>,
837c66ec88fSEmmanuel Vadot				 <&gcc GCC_WCSS_BCR>,
838c66ec88fSEmmanuel Vadot				 <&gcc GCC_WCSS_Q6_BCR>;
839c66ec88fSEmmanuel Vadot
840c66ec88fSEmmanuel Vadot			reset-names = "wcss_aon_reset",
841c66ec88fSEmmanuel Vadot				      "wcss_reset",
842c66ec88fSEmmanuel Vadot				      "wcss_q6_reset";
843c66ec88fSEmmanuel Vadot
844c66ec88fSEmmanuel Vadot			clocks = <&gcc GCC_PRNG_AHB_CLK>;
845c66ec88fSEmmanuel Vadot			clock-names = "prng";
846c66ec88fSEmmanuel Vadot
847354d7675SEmmanuel Vadot			qcom,halt-regs = <&tcsr 0x18000 0x1b000 0xe000>;
848c66ec88fSEmmanuel Vadot
849c66ec88fSEmmanuel Vadot			qcom,smem-states = <&wcss_smp2p_out 0>,
850c66ec88fSEmmanuel Vadot					   <&wcss_smp2p_out 1>;
851c66ec88fSEmmanuel Vadot			qcom,smem-state-names = "shutdown",
852c66ec88fSEmmanuel Vadot						"stop";
853c66ec88fSEmmanuel Vadot
854c66ec88fSEmmanuel Vadot			memory-region = <&q6_region>;
855c66ec88fSEmmanuel Vadot
856c66ec88fSEmmanuel Vadot			glink-edge {
857c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 321 IRQ_TYPE_EDGE_RISING>;
858b97ee269SEmmanuel Vadot				label = "rtr";
859c66ec88fSEmmanuel Vadot				qcom,remote-pid = <1>;
860c66ec88fSEmmanuel Vadot				mboxes = <&apcs_glb 8>;
861c66ec88fSEmmanuel Vadot
862c66ec88fSEmmanuel Vadot				qrtr_requests {
863c66ec88fSEmmanuel Vadot					qcom,glink-channels = "IPCRTR";
864c66ec88fSEmmanuel Vadot				};
865c66ec88fSEmmanuel Vadot			};
866c66ec88fSEmmanuel Vadot		};
867c66ec88fSEmmanuel Vadot
8688d13bc63SEmmanuel Vadot		pcie0: pcie@20000000 {
869cb7aa33aSEmmanuel Vadot			compatible = "qcom,pcie-ipq6018";
870cb7aa33aSEmmanuel Vadot			reg = <0x0 0x20000000 0x0 0xf1d>,
871cb7aa33aSEmmanuel Vadot			      <0x0 0x20000f20 0x0 0xa8>,
872cb7aa33aSEmmanuel Vadot			      <0x0 0x20001000 0x0 0x1000>,
873cb7aa33aSEmmanuel Vadot			      <0x0 0x80000 0x0 0x4000>,
874cb7aa33aSEmmanuel Vadot			      <0x0 0x20100000 0x0 0x1000>;
875cb7aa33aSEmmanuel Vadot			reg-names = "dbi", "elbi", "atu", "parf", "config";
876d5b0e70fSEmmanuel Vadot
877cb7aa33aSEmmanuel Vadot			device_type = "pci";
878cb7aa33aSEmmanuel Vadot			linux,pci-domain = <0>;
879cb7aa33aSEmmanuel Vadot			bus-range = <0x00 0xff>;
880cb7aa33aSEmmanuel Vadot			num-lanes = <1>;
881cb7aa33aSEmmanuel Vadot			max-link-speed = <3>;
882cb7aa33aSEmmanuel Vadot			#address-cells = <3>;
883354d7675SEmmanuel Vadot			#size-cells = <2>;
884cb7aa33aSEmmanuel Vadot
88584943d6fSEmmanuel Vadot			phys = <&pcie_phy>;
886cb7aa33aSEmmanuel Vadot			phy-names = "pciephy";
887cb7aa33aSEmmanuel Vadot
888fac71e4eSEmmanuel Vadot			ranges = <0x81000000 0x0 0x00000000 0x0 0x20200000 0x0 0x10000>,
889fac71e4eSEmmanuel Vadot				 <0x82000000 0x0 0x20220000 0x0 0x20220000 0x0 0xfde0000>;
890cb7aa33aSEmmanuel Vadot
891cb7aa33aSEmmanuel Vadot			interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
892cb7aa33aSEmmanuel Vadot			interrupt-names = "msi";
893cb7aa33aSEmmanuel Vadot
894cb7aa33aSEmmanuel Vadot			#interrupt-cells = <1>;
895cb7aa33aSEmmanuel Vadot			interrupt-map-mask = <0 0 0 0x7>;
8968d13bc63SEmmanuel Vadot			interrupt-map = <0 0 0 1 &intc 0 0 0 75 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
8978d13bc63SEmmanuel Vadot					<0 0 0 2 &intc 0 0 0 78 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
8988d13bc63SEmmanuel Vadot					<0 0 0 3 &intc 0 0 0 79 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
8998d13bc63SEmmanuel Vadot					<0 0 0 4 &intc 0 0 0 83 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
900cb7aa33aSEmmanuel Vadot
901cb7aa33aSEmmanuel Vadot			clocks = <&gcc GCC_SYS_NOC_PCIE0_AXI_CLK>,
902cb7aa33aSEmmanuel Vadot				 <&gcc GCC_PCIE0_AXI_M_CLK>,
903cb7aa33aSEmmanuel Vadot				 <&gcc GCC_PCIE0_AXI_S_CLK>,
904cb7aa33aSEmmanuel Vadot				 <&gcc GCC_PCIE0_AXI_S_BRIDGE_CLK>,
905cb7aa33aSEmmanuel Vadot				 <&gcc PCIE0_RCHNG_CLK>;
906cb7aa33aSEmmanuel Vadot			clock-names = "iface",
907cb7aa33aSEmmanuel Vadot				      "axi_m",
908cb7aa33aSEmmanuel Vadot				      "axi_s",
909cb7aa33aSEmmanuel Vadot				      "axi_bridge",
910cb7aa33aSEmmanuel Vadot				      "rchng";
911cb7aa33aSEmmanuel Vadot
912cb7aa33aSEmmanuel Vadot			resets = <&gcc GCC_PCIE0_PIPE_ARES>,
913cb7aa33aSEmmanuel Vadot				 <&gcc GCC_PCIE0_SLEEP_ARES>,
914cb7aa33aSEmmanuel Vadot				 <&gcc GCC_PCIE0_CORE_STICKY_ARES>,
915cb7aa33aSEmmanuel Vadot				 <&gcc GCC_PCIE0_AXI_MASTER_ARES>,
916cb7aa33aSEmmanuel Vadot				 <&gcc GCC_PCIE0_AXI_SLAVE_ARES>,
917cb7aa33aSEmmanuel Vadot				 <&gcc GCC_PCIE0_AHB_ARES>,
918cb7aa33aSEmmanuel Vadot				 <&gcc GCC_PCIE0_AXI_MASTER_STICKY_ARES>,
919cb7aa33aSEmmanuel Vadot				 <&gcc GCC_PCIE0_AXI_SLAVE_STICKY_ARES>;
920cb7aa33aSEmmanuel Vadot			reset-names = "pipe",
921354d7675SEmmanuel Vadot				      "sleep",
922cb7aa33aSEmmanuel Vadot				      "sticky",
923cb7aa33aSEmmanuel Vadot				      "axi_m",
924cb7aa33aSEmmanuel Vadot				      "axi_s",
925cb7aa33aSEmmanuel Vadot				      "ahb",
926cb7aa33aSEmmanuel Vadot				      "axi_m_sticky",
927cb7aa33aSEmmanuel Vadot				      "axi_s_sticky";
928354d7675SEmmanuel Vadot
929354d7675SEmmanuel Vadot			status = "disabled";
9307d0873ebSEmmanuel Vadot
9317d0873ebSEmmanuel Vadot			pcie@0 {
9327d0873ebSEmmanuel Vadot				device_type = "pci";
9337d0873ebSEmmanuel Vadot				reg = <0x0 0x0 0x0 0x0 0x0>;
9347d0873ebSEmmanuel Vadot				bus-range = <0x01 0xff>;
9357d0873ebSEmmanuel Vadot
9367d0873ebSEmmanuel Vadot				#address-cells = <3>;
9377d0873ebSEmmanuel Vadot				#size-cells = <2>;
9387d0873ebSEmmanuel Vadot				ranges;
9397d0873ebSEmmanuel Vadot			};
9408cc087a1SEmmanuel Vadot		};
941c66ec88fSEmmanuel Vadot	};
942c66ec88fSEmmanuel Vadot
94301950c46SEmmanuel Vadot	thermal-zones {
94401950c46SEmmanuel Vadot		nss-top-thermal {
94501950c46SEmmanuel Vadot			polling-delay-passive = <250>;
94601950c46SEmmanuel Vadot			thermal-sensors = <&tsens 4>;
94701950c46SEmmanuel Vadot
94801950c46SEmmanuel Vadot			trips {
94901950c46SEmmanuel Vadot				nss-top-critical {
95001950c46SEmmanuel Vadot					temperature = <125000>;
95101950c46SEmmanuel Vadot					hysteresis = <1000>;
95201950c46SEmmanuel Vadot					type = "critical";
95301950c46SEmmanuel Vadot				};
95401950c46SEmmanuel Vadot			};
95501950c46SEmmanuel Vadot		};
95601950c46SEmmanuel Vadot
95701950c46SEmmanuel Vadot		nss-thermal {
95801950c46SEmmanuel Vadot			polling-delay-passive = <250>;
95901950c46SEmmanuel Vadot			thermal-sensors = <&tsens 5>;
96001950c46SEmmanuel Vadot
96101950c46SEmmanuel Vadot			trips {
96201950c46SEmmanuel Vadot				nss-critical {
96301950c46SEmmanuel Vadot					temperature = <125000>;
96401950c46SEmmanuel Vadot					hysteresis = <1000>;
96501950c46SEmmanuel Vadot					type = "critical";
96601950c46SEmmanuel Vadot				};
96701950c46SEmmanuel Vadot			};
96801950c46SEmmanuel Vadot		};
96901950c46SEmmanuel Vadot
97001950c46SEmmanuel Vadot		wcss-phya0-thermal {
97101950c46SEmmanuel Vadot			polling-delay-passive = <250>;
97201950c46SEmmanuel Vadot			thermal-sensors = <&tsens 7>;
97301950c46SEmmanuel Vadot
97401950c46SEmmanuel Vadot			trips {
97501950c46SEmmanuel Vadot				wcss-phya0-critical {
97601950c46SEmmanuel Vadot					temperature = <125000>;
97701950c46SEmmanuel Vadot					hysteresis = <1000>;
97801950c46SEmmanuel Vadot					type = "critical";
97901950c46SEmmanuel Vadot				};
98001950c46SEmmanuel Vadot			};
98101950c46SEmmanuel Vadot		};
98201950c46SEmmanuel Vadot
98301950c46SEmmanuel Vadot		wcss-phya1-thermal {
98401950c46SEmmanuel Vadot			polling-delay-passive = <250>;
98501950c46SEmmanuel Vadot			polling-delay = <1000>;
98601950c46SEmmanuel Vadot			thermal-sensors = <&tsens 8>;
98701950c46SEmmanuel Vadot
98801950c46SEmmanuel Vadot			trips {
98901950c46SEmmanuel Vadot				wcss-phya1-critical {
99001950c46SEmmanuel Vadot					temperature = <125000>;
99101950c46SEmmanuel Vadot					hysteresis = <1000>;
99201950c46SEmmanuel Vadot					type = "critical";
99301950c46SEmmanuel Vadot				};
99401950c46SEmmanuel Vadot			};
99501950c46SEmmanuel Vadot		};
99601950c46SEmmanuel Vadot
99701950c46SEmmanuel Vadot		cpu-thermal {
99801950c46SEmmanuel Vadot			polling-delay-passive = <250>;
99901950c46SEmmanuel Vadot			thermal-sensors = <&tsens 13>;
100001950c46SEmmanuel Vadot
100101950c46SEmmanuel Vadot			trips {
100201950c46SEmmanuel Vadot				cpu-critical {
100301950c46SEmmanuel Vadot					temperature = <125000>;
100401950c46SEmmanuel Vadot					hysteresis = <1000>;
100501950c46SEmmanuel Vadot					type = "critical";
100601950c46SEmmanuel Vadot				};
100701950c46SEmmanuel Vadot
100801950c46SEmmanuel Vadot				cpu_alert: cpu-passive {
100901950c46SEmmanuel Vadot					temperature = <110000>;
101001950c46SEmmanuel Vadot					hysteresis = <1000>;
101101950c46SEmmanuel Vadot					type = "passive";
101201950c46SEmmanuel Vadot				};
101301950c46SEmmanuel Vadot			};
101401950c46SEmmanuel Vadot
101501950c46SEmmanuel Vadot			cooling-maps {
101601950c46SEmmanuel Vadot				map0 {
101701950c46SEmmanuel Vadot					trip = <&cpu_alert>;
101801950c46SEmmanuel Vadot					cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
101901950c46SEmmanuel Vadot							 <&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
102001950c46SEmmanuel Vadot							 <&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
102101950c46SEmmanuel Vadot							 <&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
102201950c46SEmmanuel Vadot				};
102301950c46SEmmanuel Vadot			};
102401950c46SEmmanuel Vadot		};
102501950c46SEmmanuel Vadot
102601950c46SEmmanuel Vadot		lpass-thermal {
102701950c46SEmmanuel Vadot			polling-delay-passive = <250>;
102801950c46SEmmanuel Vadot			thermal-sensors = <&tsens 14>;
102901950c46SEmmanuel Vadot
103001950c46SEmmanuel Vadot			trips {
103101950c46SEmmanuel Vadot				lpass-critical {
103201950c46SEmmanuel Vadot					temperature = <125000>;
103301950c46SEmmanuel Vadot					hysteresis = <1000>;
103401950c46SEmmanuel Vadot					type = "critical";
103501950c46SEmmanuel Vadot				};
103601950c46SEmmanuel Vadot			};
103701950c46SEmmanuel Vadot		};
103801950c46SEmmanuel Vadot
103901950c46SEmmanuel Vadot		ddrss-top-thermal {
104001950c46SEmmanuel Vadot			polling-delay-passive = <250>;
104101950c46SEmmanuel Vadot			thermal-sensors = <&tsens 15>;
104201950c46SEmmanuel Vadot
104301950c46SEmmanuel Vadot			trips {
104401950c46SEmmanuel Vadot				ddrss-top-critical {
104501950c46SEmmanuel Vadot					temperature = <125000>;
104601950c46SEmmanuel Vadot					hysteresis = <1000>;
104701950c46SEmmanuel Vadot					type = "critical";
104801950c46SEmmanuel Vadot				};
104901950c46SEmmanuel Vadot			};
105001950c46SEmmanuel Vadot		};
105101950c46SEmmanuel Vadot	};
105201950c46SEmmanuel Vadot
10538bab661aSEmmanuel Vadot	timer {
10548bab661aSEmmanuel Vadot		compatible = "arm,armv8-timer";
10558bab661aSEmmanuel Vadot		interrupts = <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
10568bab661aSEmmanuel Vadot			     <GIC_PPI 3 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
10578bab661aSEmmanuel Vadot			     <GIC_PPI 4 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
10588bab661aSEmmanuel Vadot			     <GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
10598bab661aSEmmanuel Vadot	};
10608bab661aSEmmanuel Vadot
1061c66ec88fSEmmanuel Vadot	wcss: wcss-smp2p {
1062c66ec88fSEmmanuel Vadot		compatible = "qcom,smp2p";
1063c66ec88fSEmmanuel Vadot		qcom,smem = <435>, <428>;
1064c66ec88fSEmmanuel Vadot
1065c66ec88fSEmmanuel Vadot		interrupt-parent = <&intc>;
1066c66ec88fSEmmanuel Vadot		interrupts = <GIC_SPI 322 IRQ_TYPE_EDGE_RISING>;
1067c66ec88fSEmmanuel Vadot
1068c66ec88fSEmmanuel Vadot		mboxes = <&apcs_glb 9>;
1069c66ec88fSEmmanuel Vadot
1070c66ec88fSEmmanuel Vadot		qcom,local-pid = <0>;
1071c66ec88fSEmmanuel Vadot		qcom,remote-pid = <1>;
1072c66ec88fSEmmanuel Vadot
1073c66ec88fSEmmanuel Vadot		wcss_smp2p_out: master-kernel {
1074c66ec88fSEmmanuel Vadot			qcom,entry-name = "master-kernel";
1075c66ec88fSEmmanuel Vadot			#qcom,smem-state-cells = <1>;
1076c66ec88fSEmmanuel Vadot		};
1077c66ec88fSEmmanuel Vadot
1078c66ec88fSEmmanuel Vadot		wcss_smp2p_in: slave-kernel {
1079c66ec88fSEmmanuel Vadot			qcom,entry-name = "slave-kernel";
1080c66ec88fSEmmanuel Vadot			interrupt-controller;
1081c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
1082c66ec88fSEmmanuel Vadot		};
1083c66ec88fSEmmanuel Vadot	};
1084c66ec88fSEmmanuel Vadot};
1085