14807c71cSJoonwoo Park// SPDX-License-Identifier: GPL-2.0
24807c71cSJoonwoo Park/* Copyright (c) 2016, The Linux Foundation. All rights reserved. */
34807c71cSJoonwoo Park
44807c71cSJoonwoo Park#include <dt-bindings/interrupt-controller/arm-gic.h>
54807c71cSJoonwoo Park#include <dt-bindings/clock/qcom,gcc-msm8998.h>
6876a7573SJeffrey Hugo#include <dt-bindings/clock/qcom,gpucc-msm8998.h>
7c075a2e3SAngeloGioacchino Del Regno#include <dt-bindings/clock/qcom,mmcc-msm8998.h>
81fb28636SMarc Gonzalez#include <dt-bindings/clock/qcom,rpmcc.h>
9460f13caSSibi Sankar#include <dt-bindings/power/qcom-rpmpd.h>
1023bd4f78SJeffrey Hugo#include <dt-bindings/gpio/gpio.h>
114807c71cSJoonwoo Park
124807c71cSJoonwoo Park/ {
134807c71cSJoonwoo Park	interrupt-parent = <&intc>;
144807c71cSJoonwoo Park
154807c71cSJoonwoo Park	qcom,msm-id = <292 0x0>;
164807c71cSJoonwoo Park
174807c71cSJoonwoo Park	#address-cells = <2>;
184807c71cSJoonwoo Park	#size-cells = <2>;
194807c71cSJoonwoo Park
204807c71cSJoonwoo Park	chosen { };
214807c71cSJoonwoo Park
22d53dc79fSVinod Koul	memory@80000000 {
234807c71cSJoonwoo Park		device_type = "memory";
244807c71cSJoonwoo Park		/* We expect the bootloader to fill in the reg */
25d53dc79fSVinod Koul		reg = <0x0 0x80000000 0x0 0x0>;
264807c71cSJoonwoo Park	};
274807c71cSJoonwoo Park
28c7833949SBjorn Andersson	reserved-memory {
29c7833949SBjorn Andersson		#address-cells = <2>;
30c7833949SBjorn Andersson		#size-cells = <2>;
31c7833949SBjorn Andersson		ranges;
32c7833949SBjorn Andersson
33fda8fba6SSibi Sankar		hyp_mem: memory@85800000 {
34fda8fba6SSibi Sankar			reg = <0x0 0x85800000 0x0 0x600000>;
35fda8fba6SSibi Sankar			no-map;
36fda8fba6SSibi Sankar		};
37fda8fba6SSibi Sankar
38fda8fba6SSibi Sankar		xbl_mem: memory@85e00000 {
39fda8fba6SSibi Sankar			reg = <0x0 0x85e00000 0x0 0x100000>;
40c7833949SBjorn Andersson			no-map;
41c7833949SBjorn Andersson		};
42c7833949SBjorn Andersson
43c7833949SBjorn Andersson		smem_mem: smem-mem@86000000 {
44c7833949SBjorn Andersson			reg = <0x0 0x86000000 0x0 0x200000>;
45c7833949SBjorn Andersson			no-map;
46c7833949SBjorn Andersson		};
47c7833949SBjorn Andersson
48fda8fba6SSibi Sankar		tz_mem: memory@86200000 {
496e533309SMarc Gonzalez			reg = <0x0 0x86200000 0x0 0x2d00000>;
50c7833949SBjorn Andersson			no-map;
51c7833949SBjorn Andersson		};
52c7833949SBjorn Andersson
53fda8fba6SSibi Sankar		rmtfs_mem: memory@88f00000 {
54fda8fba6SSibi Sankar			compatible = "qcom,rmtfs-mem";
55fda8fba6SSibi Sankar			reg = <0x0 0x88f00000 0x0 0x200000>;
56fda8fba6SSibi Sankar			no-map;
57fda8fba6SSibi Sankar
58fda8fba6SSibi Sankar			qcom,client-id = <1>;
59fda8fba6SSibi Sankar			qcom,vmid = <15>;
60fda8fba6SSibi Sankar		};
61fda8fba6SSibi Sankar
62fda8fba6SSibi Sankar		spss_mem: memory@8ab00000 {
63fda8fba6SSibi Sankar			reg = <0x0 0x8ab00000 0x0 0x700000>;
64fda8fba6SSibi Sankar			no-map;
65fda8fba6SSibi Sankar		};
66fda8fba6SSibi Sankar
67fda8fba6SSibi Sankar		adsp_mem: memory@8b200000 {
68fda8fba6SSibi Sankar			reg = <0x0 0x8b200000 0x0 0x1a00000>;
69fda8fba6SSibi Sankar			no-map;
70fda8fba6SSibi Sankar		};
71fda8fba6SSibi Sankar
72fda8fba6SSibi Sankar		mpss_mem: memory@8cc00000 {
73fda8fba6SSibi Sankar			reg = <0x0 0x8cc00000 0x0 0x7000000>;
74fda8fba6SSibi Sankar			no-map;
75fda8fba6SSibi Sankar		};
76fda8fba6SSibi Sankar
77fda8fba6SSibi Sankar		venus_mem: memory@93c00000 {
78fda8fba6SSibi Sankar			reg = <0x0 0x93c00000 0x0 0x500000>;
79fda8fba6SSibi Sankar			no-map;
80fda8fba6SSibi Sankar		};
81fda8fba6SSibi Sankar
82fda8fba6SSibi Sankar		mba_mem: memory@94100000 {
83fda8fba6SSibi Sankar			reg = <0x0 0x94100000 0x0 0x200000>;
84fda8fba6SSibi Sankar			no-map;
85fda8fba6SSibi Sankar		};
86fda8fba6SSibi Sankar
87fda8fba6SSibi Sankar		slpi_mem: memory@94300000 {
88fda8fba6SSibi Sankar			reg = <0x0 0x94300000 0x0 0xf00000>;
89fda8fba6SSibi Sankar			no-map;
90fda8fba6SSibi Sankar		};
91fda8fba6SSibi Sankar
92fda8fba6SSibi Sankar		ipa_fw_mem: memory@95200000 {
93fda8fba6SSibi Sankar			reg = <0x0 0x95200000 0x0 0x10000>;
94fda8fba6SSibi Sankar			no-map;
95fda8fba6SSibi Sankar		};
96fda8fba6SSibi Sankar
97fda8fba6SSibi Sankar		ipa_gsi_mem: memory@95210000 {
98fda8fba6SSibi Sankar			reg = <0x0 0x95210000 0x0 0x5000>;
99fda8fba6SSibi Sankar			no-map;
100fda8fba6SSibi Sankar		};
101fda8fba6SSibi Sankar
102fda8fba6SSibi Sankar		gpu_mem: memory@95600000 {
103fda8fba6SSibi Sankar			reg = <0x0 0x95600000 0x0 0x100000>;
104fda8fba6SSibi Sankar			no-map;
105fda8fba6SSibi Sankar		};
106fda8fba6SSibi Sankar
10719b7caaaSJeffrey Hugo		wlan_msa_mem: memory@95700000 {
10819b7caaaSJeffrey Hugo			reg = <0x0 0x95700000 0x0 0x100000>;
10919b7caaaSJeffrey Hugo			no-map;
11019b7caaaSJeffrey Hugo		};
111c7833949SBjorn Andersson	};
112c7833949SBjorn Andersson
1134807c71cSJoonwoo Park	clocks {
114818046ebSAndy Gross		xo: xo-board {
1154807c71cSJoonwoo Park			compatible = "fixed-clock";
1164807c71cSJoonwoo Park			#clock-cells = <0>;
1174807c71cSJoonwoo Park			clock-frequency = <19200000>;
118818046ebSAndy Gross			clock-output-names = "xo_board";
1194807c71cSJoonwoo Park		};
1204807c71cSJoonwoo Park
1212c2f64aeSMarijn Suijten		sleep_clk: sleep-clk {
1224807c71cSJoonwoo Park			compatible = "fixed-clock";
1234807c71cSJoonwoo Park			#clock-cells = <0>;
1244807c71cSJoonwoo Park			clock-frequency = <32764>;
1254807c71cSJoonwoo Park		};
1264807c71cSJoonwoo Park	};
1274807c71cSJoonwoo Park
1284807c71cSJoonwoo Park	cpus {
1294807c71cSJoonwoo Park		#address-cells = <2>;
1304807c71cSJoonwoo Park		#size-cells = <0>;
1314807c71cSJoonwoo Park
1324807c71cSJoonwoo Park		CPU0: cpu@0 {
1334807c71cSJoonwoo Park			device_type = "cpu";
134663b7d41SAmit Kucheria			compatible = "qcom,kryo280";
1354807c71cSJoonwoo Park			reg = <0x0 0x0>;
1364807c71cSJoonwoo Park			enable-method = "psci";
137c43cfc54SKonrad Dybcio			capacity-dmips-mhz = <1024>;
138c3083c80SAmit Kucheria			cpu-idle-states = <&LITTLE_CPU_SLEEP_0 &LITTLE_CPU_SLEEP_1>;
1394807c71cSJoonwoo Park			next-level-cache = <&L2_0>;
1404807c71cSJoonwoo Park			L2_0: l2-cache {
141fad35efaSRob Herring				compatible = "cache";
1424807c71cSJoonwoo Park				cache-level = <2>;
1434807c71cSJoonwoo Park			};
1444807c71cSJoonwoo Park		};
1454807c71cSJoonwoo Park
1464807c71cSJoonwoo Park		CPU1: cpu@1 {
1474807c71cSJoonwoo Park			device_type = "cpu";
148663b7d41SAmit Kucheria			compatible = "qcom,kryo280";
1494807c71cSJoonwoo Park			reg = <0x0 0x1>;
1504807c71cSJoonwoo Park			enable-method = "psci";
151c43cfc54SKonrad Dybcio			capacity-dmips-mhz = <1024>;
152c3083c80SAmit Kucheria			cpu-idle-states = <&LITTLE_CPU_SLEEP_0 &LITTLE_CPU_SLEEP_1>;
1534807c71cSJoonwoo Park			next-level-cache = <&L2_0>;
1544807c71cSJoonwoo Park		};
1554807c71cSJoonwoo Park
1564807c71cSJoonwoo Park		CPU2: cpu@2 {
1574807c71cSJoonwoo Park			device_type = "cpu";
158663b7d41SAmit Kucheria			compatible = "qcom,kryo280";
1594807c71cSJoonwoo Park			reg = <0x0 0x2>;
1604807c71cSJoonwoo Park			enable-method = "psci";
161c43cfc54SKonrad Dybcio			capacity-dmips-mhz = <1024>;
162c3083c80SAmit Kucheria			cpu-idle-states = <&LITTLE_CPU_SLEEP_0 &LITTLE_CPU_SLEEP_1>;
1634807c71cSJoonwoo Park			next-level-cache = <&L2_0>;
1644807c71cSJoonwoo Park		};
1654807c71cSJoonwoo Park
1664807c71cSJoonwoo Park		CPU3: cpu@3 {
1674807c71cSJoonwoo Park			device_type = "cpu";
168663b7d41SAmit Kucheria			compatible = "qcom,kryo280";
1694807c71cSJoonwoo Park			reg = <0x0 0x3>;
1704807c71cSJoonwoo Park			enable-method = "psci";
171c43cfc54SKonrad Dybcio			capacity-dmips-mhz = <1024>;
172c3083c80SAmit Kucheria			cpu-idle-states = <&LITTLE_CPU_SLEEP_0 &LITTLE_CPU_SLEEP_1>;
1734807c71cSJoonwoo Park			next-level-cache = <&L2_0>;
1744807c71cSJoonwoo Park		};
1754807c71cSJoonwoo Park
1764807c71cSJoonwoo Park		CPU4: cpu@100 {
1774807c71cSJoonwoo Park			device_type = "cpu";
178663b7d41SAmit Kucheria			compatible = "qcom,kryo280";
1794807c71cSJoonwoo Park			reg = <0x0 0x100>;
1804807c71cSJoonwoo Park			enable-method = "psci";
181c43cfc54SKonrad Dybcio			capacity-dmips-mhz = <1536>;
182c3083c80SAmit Kucheria			cpu-idle-states = <&BIG_CPU_SLEEP_0 &BIG_CPU_SLEEP_1>;
1834807c71cSJoonwoo Park			next-level-cache = <&L2_1>;
1844807c71cSJoonwoo Park			L2_1: l2-cache {
185fad35efaSRob Herring				compatible = "cache";
1864807c71cSJoonwoo Park				cache-level = <2>;
1874807c71cSJoonwoo Park			};
1884807c71cSJoonwoo Park		};
1894807c71cSJoonwoo Park
1904807c71cSJoonwoo Park		CPU5: cpu@101 {
1914807c71cSJoonwoo Park			device_type = "cpu";
192663b7d41SAmit Kucheria			compatible = "qcom,kryo280";
1934807c71cSJoonwoo Park			reg = <0x0 0x101>;
1944807c71cSJoonwoo Park			enable-method = "psci";
195c43cfc54SKonrad Dybcio			capacity-dmips-mhz = <1536>;
196c3083c80SAmit Kucheria			cpu-idle-states = <&BIG_CPU_SLEEP_0 &BIG_CPU_SLEEP_1>;
1974807c71cSJoonwoo Park			next-level-cache = <&L2_1>;
1984807c71cSJoonwoo Park		};
1994807c71cSJoonwoo Park
2004807c71cSJoonwoo Park		CPU6: cpu@102 {
2014807c71cSJoonwoo Park			device_type = "cpu";
202663b7d41SAmit Kucheria			compatible = "qcom,kryo280";
2034807c71cSJoonwoo Park			reg = <0x0 0x102>;
2044807c71cSJoonwoo Park			enable-method = "psci";
205c43cfc54SKonrad Dybcio			capacity-dmips-mhz = <1536>;
206c3083c80SAmit Kucheria			cpu-idle-states = <&BIG_CPU_SLEEP_0 &BIG_CPU_SLEEP_1>;
2074807c71cSJoonwoo Park			next-level-cache = <&L2_1>;
2084807c71cSJoonwoo Park		};
2094807c71cSJoonwoo Park
2104807c71cSJoonwoo Park		CPU7: cpu@103 {
2114807c71cSJoonwoo Park			device_type = "cpu";
212663b7d41SAmit Kucheria			compatible = "qcom,kryo280";
2134807c71cSJoonwoo Park			reg = <0x0 0x103>;
2144807c71cSJoonwoo Park			enable-method = "psci";
215c43cfc54SKonrad Dybcio			capacity-dmips-mhz = <1536>;
216c3083c80SAmit Kucheria			cpu-idle-states = <&BIG_CPU_SLEEP_0 &BIG_CPU_SLEEP_1>;
2174807c71cSJoonwoo Park			next-level-cache = <&L2_1>;
2184807c71cSJoonwoo Park		};
2194807c71cSJoonwoo Park
2204807c71cSJoonwoo Park		cpu-map {
2214807c71cSJoonwoo Park			cluster0 {
2224807c71cSJoonwoo Park				core0 {
2234807c71cSJoonwoo Park					cpu = <&CPU0>;
2244807c71cSJoonwoo Park				};
2254807c71cSJoonwoo Park
2264807c71cSJoonwoo Park				core1 {
2274807c71cSJoonwoo Park					cpu = <&CPU1>;
2284807c71cSJoonwoo Park				};
2294807c71cSJoonwoo Park
2304807c71cSJoonwoo Park				core2 {
2314807c71cSJoonwoo Park					cpu = <&CPU2>;
2324807c71cSJoonwoo Park				};
2334807c71cSJoonwoo Park
2344807c71cSJoonwoo Park				core3 {
2354807c71cSJoonwoo Park					cpu = <&CPU3>;
2364807c71cSJoonwoo Park				};
2374807c71cSJoonwoo Park			};
2384807c71cSJoonwoo Park
2394807c71cSJoonwoo Park			cluster1 {
2404807c71cSJoonwoo Park				core0 {
2414807c71cSJoonwoo Park					cpu = <&CPU4>;
2424807c71cSJoonwoo Park				};
2434807c71cSJoonwoo Park
2444807c71cSJoonwoo Park				core1 {
2454807c71cSJoonwoo Park					cpu = <&CPU5>;
2464807c71cSJoonwoo Park				};
2474807c71cSJoonwoo Park
2484807c71cSJoonwoo Park				core2 {
2494807c71cSJoonwoo Park					cpu = <&CPU6>;
2504807c71cSJoonwoo Park				};
2514807c71cSJoonwoo Park
2524807c71cSJoonwoo Park				core3 {
2534807c71cSJoonwoo Park					cpu = <&CPU7>;
2544807c71cSJoonwoo Park				};
2554807c71cSJoonwoo Park			};
2564807c71cSJoonwoo Park		};
257c3083c80SAmit Kucheria
258c3083c80SAmit Kucheria		idle-states {
259c3083c80SAmit Kucheria			entry-method = "psci";
260c3083c80SAmit Kucheria
261c3083c80SAmit Kucheria			LITTLE_CPU_SLEEP_0: cpu-sleep-0-0 {
262c3083c80SAmit Kucheria				compatible = "arm,idle-state";
263c3083c80SAmit Kucheria				idle-state-name = "little-retention";
2643f1dcaffSAngeloGioacchino Del Regno				/* CPU Retention (C2D), L2 Active */
265c3083c80SAmit Kucheria				arm,psci-suspend-param = <0x00000002>;
266c3083c80SAmit Kucheria				entry-latency-us = <81>;
267c3083c80SAmit Kucheria				exit-latency-us = <86>;
2683f1dcaffSAngeloGioacchino Del Regno				min-residency-us = <504>;
269c3083c80SAmit Kucheria			};
270c3083c80SAmit Kucheria
271c3083c80SAmit Kucheria			LITTLE_CPU_SLEEP_1: cpu-sleep-0-1 {
272c3083c80SAmit Kucheria				compatible = "arm,idle-state";
273c3083c80SAmit Kucheria				idle-state-name = "little-power-collapse";
2743f1dcaffSAngeloGioacchino Del Regno				/* CPU + L2 Power Collapse (C3, D4) */
275c3083c80SAmit Kucheria				arm,psci-suspend-param = <0x40000003>;
2763f1dcaffSAngeloGioacchino Del Regno				entry-latency-us = <814>;
2773f1dcaffSAngeloGioacchino Del Regno				exit-latency-us = <4562>;
2783f1dcaffSAngeloGioacchino Del Regno				min-residency-us = <9183>;
279c3083c80SAmit Kucheria				local-timer-stop;
280c3083c80SAmit Kucheria			};
281c3083c80SAmit Kucheria
282c3083c80SAmit Kucheria			BIG_CPU_SLEEP_0: cpu-sleep-1-0 {
283c3083c80SAmit Kucheria				compatible = "arm,idle-state";
284c3083c80SAmit Kucheria				idle-state-name = "big-retention";
2853f1dcaffSAngeloGioacchino Del Regno				/* CPU Retention (C2D), L2 Active */
286c3083c80SAmit Kucheria				arm,psci-suspend-param = <0x00000002>;
287c3083c80SAmit Kucheria				entry-latency-us = <79>;
288c3083c80SAmit Kucheria				exit-latency-us = <82>;
2893f1dcaffSAngeloGioacchino Del Regno				min-residency-us = <1302>;
290c3083c80SAmit Kucheria			};
291c3083c80SAmit Kucheria
292c3083c80SAmit Kucheria			BIG_CPU_SLEEP_1: cpu-sleep-1-1 {
293c3083c80SAmit Kucheria				compatible = "arm,idle-state";
294c3083c80SAmit Kucheria				idle-state-name = "big-power-collapse";
2953f1dcaffSAngeloGioacchino Del Regno				/* CPU + L2 Power Collapse (C3, D4) */
296c3083c80SAmit Kucheria				arm,psci-suspend-param = <0x40000003>;
2973f1dcaffSAngeloGioacchino Del Regno				entry-latency-us = <724>;
2983f1dcaffSAngeloGioacchino Del Regno				exit-latency-us = <2027>;
2993f1dcaffSAngeloGioacchino Del Regno				min-residency-us = <9419>;
300c3083c80SAmit Kucheria				local-timer-stop;
301c3083c80SAmit Kucheria			};
302c3083c80SAmit Kucheria		};
3034807c71cSJoonwoo Park	};
3044807c71cSJoonwoo Park
305d850156aSBjorn Andersson	firmware {
306d850156aSBjorn Andersson		scm {
30770827d9fSBjorn Andersson			compatible = "qcom,scm-msm8998", "qcom,scm";
308d850156aSBjorn Andersson		};
309d850156aSBjorn Andersson	};
310d850156aSBjorn Andersson
311c7833949SBjorn Andersson	tcsr_mutex: hwlock {
312c7833949SBjorn Andersson		compatible = "qcom,tcsr-mutex";
313c7833949SBjorn Andersson		syscon = <&tcsr_mutex_regs 0 0x1000>;
314c7833949SBjorn Andersson		#hwlock-cells = <1>;
315c7833949SBjorn Andersson	};
316c7833949SBjorn Andersson
3174807c71cSJoonwoo Park	psci {
3184807c71cSJoonwoo Park		compatible = "arm,psci-1.0";
3194807c71cSJoonwoo Park		method = "smc";
3204807c71cSJoonwoo Park	};
3214807c71cSJoonwoo Park
32231c1f0e3SBjorn Andersson	rpm-glink {
32331c1f0e3SBjorn Andersson		compatible = "qcom,glink-rpm";
32431c1f0e3SBjorn Andersson
32531c1f0e3SBjorn Andersson		interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
32631c1f0e3SBjorn Andersson		qcom,rpm-msg-ram = <&rpm_msg_ram>;
32731c1f0e3SBjorn Andersson		mboxes = <&apcs_glb 0>;
32831c1f0e3SBjorn Andersson
32931c1f0e3SBjorn Andersson		rpm_requests: rpm-requests {
33031c1f0e3SBjorn Andersson			compatible = "qcom,rpm-msm8998";
33131c1f0e3SBjorn Andersson			qcom,glink-channels = "rpm_requests";
3321fb28636SMarc Gonzalez
3331fb28636SMarc Gonzalez			rpmcc: clock-controller {
3341fb28636SMarc Gonzalez				compatible = "qcom,rpmcc-msm8998", "qcom,rpmcc";
3351fb28636SMarc Gonzalez				#clock-cells = <1>;
3361fb28636SMarc Gonzalez			};
337460f13caSSibi Sankar
338460f13caSSibi Sankar			rpmpd: power-controller {
339460f13caSSibi Sankar				compatible = "qcom,msm8998-rpmpd";
340460f13caSSibi Sankar				#power-domain-cells = <1>;
341460f13caSSibi Sankar				operating-points-v2 = <&rpmpd_opp_table>;
342460f13caSSibi Sankar
343460f13caSSibi Sankar				rpmpd_opp_table: opp-table {
344460f13caSSibi Sankar					compatible = "operating-points-v2";
345460f13caSSibi Sankar
346460f13caSSibi Sankar					rpmpd_opp_ret: opp1 {
34777901148SAngeloGioacchino Del Regno						opp-level = <RPM_SMD_LEVEL_RETENTION>;
348460f13caSSibi Sankar					};
349460f13caSSibi Sankar
350460f13caSSibi Sankar					rpmpd_opp_ret_plus: opp2 {
35177901148SAngeloGioacchino Del Regno						opp-level = <RPM_SMD_LEVEL_RETENTION_PLUS>;
352460f13caSSibi Sankar					};
353460f13caSSibi Sankar
354460f13caSSibi Sankar					rpmpd_opp_min_svs: opp3 {
35577901148SAngeloGioacchino Del Regno						opp-level = <RPM_SMD_LEVEL_MIN_SVS>;
356460f13caSSibi Sankar					};
357460f13caSSibi Sankar
358460f13caSSibi Sankar					rpmpd_opp_low_svs: opp4 {
35977901148SAngeloGioacchino Del Regno						opp-level = <RPM_SMD_LEVEL_LOW_SVS>;
360460f13caSSibi Sankar					};
361460f13caSSibi Sankar
362460f13caSSibi Sankar					rpmpd_opp_svs: opp5 {
36377901148SAngeloGioacchino Del Regno						opp-level = <RPM_SMD_LEVEL_SVS>;
364460f13caSSibi Sankar					};
365460f13caSSibi Sankar
366460f13caSSibi Sankar					rpmpd_opp_svs_plus: opp6 {
36777901148SAngeloGioacchino Del Regno						opp-level = <RPM_SMD_LEVEL_SVS_PLUS>;
368460f13caSSibi Sankar					};
369460f13caSSibi Sankar
370460f13caSSibi Sankar					rpmpd_opp_nom: opp7 {
37177901148SAngeloGioacchino Del Regno						opp-level = <RPM_SMD_LEVEL_NOM>;
372460f13caSSibi Sankar					};
373460f13caSSibi Sankar
374460f13caSSibi Sankar					rpmpd_opp_nom_plus: opp8 {
37577901148SAngeloGioacchino Del Regno						opp-level = <RPM_SMD_LEVEL_NOM_PLUS>;
376460f13caSSibi Sankar					};
377460f13caSSibi Sankar
378460f13caSSibi Sankar					rpmpd_opp_turbo: opp9 {
37977901148SAngeloGioacchino Del Regno						opp-level = <RPM_SMD_LEVEL_TURBO>;
380460f13caSSibi Sankar					};
381460f13caSSibi Sankar
382460f13caSSibi Sankar					rpmpd_opp_turbo_plus: opp10 {
38377901148SAngeloGioacchino Del Regno						opp-level = <RPM_SMD_LEVEL_BINNING>;
384460f13caSSibi Sankar					};
385460f13caSSibi Sankar				};
386460f13caSSibi Sankar			};
38731c1f0e3SBjorn Andersson		};
38831c1f0e3SBjorn Andersson	};
38931c1f0e3SBjorn Andersson
390c7833949SBjorn Andersson	smem {
391c7833949SBjorn Andersson		compatible = "qcom,smem";
392c7833949SBjorn Andersson		memory-region = <&smem_mem>;
393c7833949SBjorn Andersson		hwlocks = <&tcsr_mutex 3>;
394c7833949SBjorn Andersson	};
395c7833949SBjorn Andersson
396e8d006fdSBjorn Andersson	smp2p-lpass {
397e8d006fdSBjorn Andersson		compatible = "qcom,smp2p";
398e8d006fdSBjorn Andersson		qcom,smem = <443>, <429>;
399e8d006fdSBjorn Andersson
400e8d006fdSBjorn Andersson		interrupts = <GIC_SPI 158 IRQ_TYPE_EDGE_RISING>;
401e8d006fdSBjorn Andersson
402e8d006fdSBjorn Andersson		mboxes = <&apcs_glb 10>;
403e8d006fdSBjorn Andersson
404e8d006fdSBjorn Andersson		qcom,local-pid = <0>;
405e8d006fdSBjorn Andersson		qcom,remote-pid = <2>;
406e8d006fdSBjorn Andersson
407e8d006fdSBjorn Andersson		adsp_smp2p_out: master-kernel {
408e8d006fdSBjorn Andersson			qcom,entry-name = "master-kernel";
409e8d006fdSBjorn Andersson			#qcom,smem-state-cells = <1>;
410e8d006fdSBjorn Andersson		};
411e8d006fdSBjorn Andersson
412e8d006fdSBjorn Andersson		adsp_smp2p_in: slave-kernel {
413e8d006fdSBjorn Andersson			qcom,entry-name = "slave-kernel";
414e8d006fdSBjorn Andersson
415e8d006fdSBjorn Andersson			interrupt-controller;
416e8d006fdSBjorn Andersson			#interrupt-cells = <2>;
417e8d006fdSBjorn Andersson		};
418e8d006fdSBjorn Andersson	};
419e8d006fdSBjorn Andersson
420e8d006fdSBjorn Andersson	smp2p-mpss {
421e8d006fdSBjorn Andersson		compatible = "qcom,smp2p";
422e8d006fdSBjorn Andersson		qcom,smem = <435>, <428>;
423e8d006fdSBjorn Andersson		interrupts = <GIC_SPI 451 IRQ_TYPE_EDGE_RISING>;
424e8d006fdSBjorn Andersson		mboxes = <&apcs_glb 14>;
425e8d006fdSBjorn Andersson		qcom,local-pid = <0>;
426e8d006fdSBjorn Andersson		qcom,remote-pid = <1>;
427e8d006fdSBjorn Andersson
428e8d006fdSBjorn Andersson		modem_smp2p_out: master-kernel {
429e8d006fdSBjorn Andersson			qcom,entry-name = "master-kernel";
430e8d006fdSBjorn Andersson			#qcom,smem-state-cells = <1>;
431e8d006fdSBjorn Andersson		};
432e8d006fdSBjorn Andersson
433e8d006fdSBjorn Andersson		modem_smp2p_in: slave-kernel {
434e8d006fdSBjorn Andersson			qcom,entry-name = "slave-kernel";
435e8d006fdSBjorn Andersson			interrupt-controller;
436e8d006fdSBjorn Andersson			#interrupt-cells = <2>;
437e8d006fdSBjorn Andersson		};
438e8d006fdSBjorn Andersson	};
439e8d006fdSBjorn Andersson
440e8d006fdSBjorn Andersson	smp2p-slpi {
441e8d006fdSBjorn Andersson		compatible = "qcom,smp2p";
442e8d006fdSBjorn Andersson		qcom,smem = <481>, <430>;
443e8d006fdSBjorn Andersson		interrupts = <GIC_SPI 178 IRQ_TYPE_EDGE_RISING>;
444e8d006fdSBjorn Andersson		mboxes = <&apcs_glb 26>;
445e8d006fdSBjorn Andersson		qcom,local-pid = <0>;
446e8d006fdSBjorn Andersson		qcom,remote-pid = <3>;
447e8d006fdSBjorn Andersson
448e8d006fdSBjorn Andersson		slpi_smp2p_out: master-kernel {
449e8d006fdSBjorn Andersson			qcom,entry-name = "master-kernel";
450e8d006fdSBjorn Andersson			#qcom,smem-state-cells = <1>;
451e8d006fdSBjorn Andersson		};
452e8d006fdSBjorn Andersson
453e8d006fdSBjorn Andersson		slpi_smp2p_in: slave-kernel {
454e8d006fdSBjorn Andersson			qcom,entry-name = "slave-kernel";
455e8d006fdSBjorn Andersson			interrupt-controller;
456e8d006fdSBjorn Andersson			#interrupt-cells = <2>;
457e8d006fdSBjorn Andersson		};
458e8d006fdSBjorn Andersson	};
459e8d006fdSBjorn Andersson
4604449b6f2SBjorn Andersson	thermal-zones {
461ae8876ddSAmit Kucheria		cpu0-thermal {
4624449b6f2SBjorn Andersson			polling-delay-passive = <250>;
4634449b6f2SBjorn Andersson			polling-delay = <1000>;
4644449b6f2SBjorn Andersson
465b67d9c5dSAmit Kucheria			thermal-sensors = <&tsens0 1>;
4664449b6f2SBjorn Andersson
4674449b6f2SBjorn Andersson			trips {
468285aa631SAmit Kucheria				cpu0_alert0: trip-point0 {
4694449b6f2SBjorn Andersson					temperature = <75000>;
4704449b6f2SBjorn Andersson					hysteresis = <2000>;
4714449b6f2SBjorn Andersson					type = "passive";
4724449b6f2SBjorn Andersson				};
4734449b6f2SBjorn Andersson
474ae8876ddSAmit Kucheria				cpu0_crit: cpu_crit {
4754449b6f2SBjorn Andersson					temperature = <110000>;
4764449b6f2SBjorn Andersson					hysteresis = <2000>;
4774449b6f2SBjorn Andersson					type = "critical";
4784449b6f2SBjorn Andersson				};
4794449b6f2SBjorn Andersson			};
4804449b6f2SBjorn Andersson		};
4814449b6f2SBjorn Andersson
482ae8876ddSAmit Kucheria		cpu1-thermal {
4834449b6f2SBjorn Andersson			polling-delay-passive = <250>;
4844449b6f2SBjorn Andersson			polling-delay = <1000>;
4854449b6f2SBjorn Andersson
486b67d9c5dSAmit Kucheria			thermal-sensors = <&tsens0 2>;
4874449b6f2SBjorn Andersson
4884449b6f2SBjorn Andersson			trips {
489285aa631SAmit Kucheria				cpu1_alert0: trip-point0 {
4904449b6f2SBjorn Andersson					temperature = <75000>;
4914449b6f2SBjorn Andersson					hysteresis = <2000>;
4924449b6f2SBjorn Andersson					type = "passive";
4934449b6f2SBjorn Andersson				};
4944449b6f2SBjorn Andersson
495ae8876ddSAmit Kucheria				cpu1_crit: cpu_crit {
4964449b6f2SBjorn Andersson					temperature = <110000>;
4974449b6f2SBjorn Andersson					hysteresis = <2000>;
4984449b6f2SBjorn Andersson					type = "critical";
4994449b6f2SBjorn Andersson				};
5004449b6f2SBjorn Andersson			};
5014449b6f2SBjorn Andersson		};
5024449b6f2SBjorn Andersson
503ae8876ddSAmit Kucheria		cpu2-thermal {
5044449b6f2SBjorn Andersson			polling-delay-passive = <250>;
5054449b6f2SBjorn Andersson			polling-delay = <1000>;
5064449b6f2SBjorn Andersson
507b67d9c5dSAmit Kucheria			thermal-sensors = <&tsens0 3>;
5084449b6f2SBjorn Andersson
5094449b6f2SBjorn Andersson			trips {
510285aa631SAmit Kucheria				cpu2_alert0: trip-point0 {
5114449b6f2SBjorn Andersson					temperature = <75000>;
5124449b6f2SBjorn Andersson					hysteresis = <2000>;
5134449b6f2SBjorn Andersson					type = "passive";
5144449b6f2SBjorn Andersson				};
5154449b6f2SBjorn Andersson
516ae8876ddSAmit Kucheria				cpu2_crit: cpu_crit {
5174449b6f2SBjorn Andersson					temperature = <110000>;
5184449b6f2SBjorn Andersson					hysteresis = <2000>;
5194449b6f2SBjorn Andersson					type = "critical";
5204449b6f2SBjorn Andersson				};
5214449b6f2SBjorn Andersson			};
5224449b6f2SBjorn Andersson		};
5234449b6f2SBjorn Andersson
524ae8876ddSAmit Kucheria		cpu3-thermal {
5254449b6f2SBjorn Andersson			polling-delay-passive = <250>;
5264449b6f2SBjorn Andersson			polling-delay = <1000>;
5274449b6f2SBjorn Andersson
528b67d9c5dSAmit Kucheria			thermal-sensors = <&tsens0 4>;
5294449b6f2SBjorn Andersson
5304449b6f2SBjorn Andersson			trips {
531285aa631SAmit Kucheria				cpu3_alert0: trip-point0 {
5324449b6f2SBjorn Andersson					temperature = <75000>;
5334449b6f2SBjorn Andersson					hysteresis = <2000>;
5344449b6f2SBjorn Andersson					type = "passive";
5354449b6f2SBjorn Andersson				};
5364449b6f2SBjorn Andersson
537ae8876ddSAmit Kucheria				cpu3_crit: cpu_crit {
5384449b6f2SBjorn Andersson					temperature = <110000>;
5394449b6f2SBjorn Andersson					hysteresis = <2000>;
5404449b6f2SBjorn Andersson					type = "critical";
5414449b6f2SBjorn Andersson				};
5424449b6f2SBjorn Andersson			};
5434449b6f2SBjorn Andersson		};
5444449b6f2SBjorn Andersson
545ae8876ddSAmit Kucheria		cpu4-thermal {
5464449b6f2SBjorn Andersson			polling-delay-passive = <250>;
5474449b6f2SBjorn Andersson			polling-delay = <1000>;
5484449b6f2SBjorn Andersson
5494449b6f2SBjorn Andersson			thermal-sensors = <&tsens0 7>;
5504449b6f2SBjorn Andersson
5514449b6f2SBjorn Andersson			trips {
552285aa631SAmit Kucheria				cpu4_alert0: trip-point0 {
5534449b6f2SBjorn Andersson					temperature = <75000>;
5544449b6f2SBjorn Andersson					hysteresis = <2000>;
5554449b6f2SBjorn Andersson					type = "passive";
5564449b6f2SBjorn Andersson				};
5574449b6f2SBjorn Andersson
558ae8876ddSAmit Kucheria				cpu4_crit: cpu_crit {
5594449b6f2SBjorn Andersson					temperature = <110000>;
5604449b6f2SBjorn Andersson					hysteresis = <2000>;
5614449b6f2SBjorn Andersson					type = "critical";
5624449b6f2SBjorn Andersson				};
5634449b6f2SBjorn Andersson			};
5644449b6f2SBjorn Andersson		};
5654449b6f2SBjorn Andersson
566ae8876ddSAmit Kucheria		cpu5-thermal {
5674449b6f2SBjorn Andersson			polling-delay-passive = <250>;
5684449b6f2SBjorn Andersson			polling-delay = <1000>;
5694449b6f2SBjorn Andersson
5704449b6f2SBjorn Andersson			thermal-sensors = <&tsens0 8>;
5714449b6f2SBjorn Andersson
5724449b6f2SBjorn Andersson			trips {
573285aa631SAmit Kucheria				cpu5_alert0: trip-point0 {
5744449b6f2SBjorn Andersson					temperature = <75000>;
5754449b6f2SBjorn Andersson					hysteresis = <2000>;
5764449b6f2SBjorn Andersson					type = "passive";
5774449b6f2SBjorn Andersson				};
5784449b6f2SBjorn Andersson
579ae8876ddSAmit Kucheria				cpu5_crit: cpu_crit {
5804449b6f2SBjorn Andersson					temperature = <110000>;
5814449b6f2SBjorn Andersson					hysteresis = <2000>;
5824449b6f2SBjorn Andersson					type = "critical";
5834449b6f2SBjorn Andersson				};
5844449b6f2SBjorn Andersson			};
5854449b6f2SBjorn Andersson		};
5864449b6f2SBjorn Andersson
587ae8876ddSAmit Kucheria		cpu6-thermal {
5884449b6f2SBjorn Andersson			polling-delay-passive = <250>;
5894449b6f2SBjorn Andersson			polling-delay = <1000>;
5904449b6f2SBjorn Andersson
5914449b6f2SBjorn Andersson			thermal-sensors = <&tsens0 9>;
5924449b6f2SBjorn Andersson
5934449b6f2SBjorn Andersson			trips {
594285aa631SAmit Kucheria				cpu6_alert0: trip-point0 {
5954449b6f2SBjorn Andersson					temperature = <75000>;
5964449b6f2SBjorn Andersson					hysteresis = <2000>;
5974449b6f2SBjorn Andersson					type = "passive";
5984449b6f2SBjorn Andersson				};
5994449b6f2SBjorn Andersson
600ae8876ddSAmit Kucheria				cpu6_crit: cpu_crit {
6014449b6f2SBjorn Andersson					temperature = <110000>;
6024449b6f2SBjorn Andersson					hysteresis = <2000>;
6034449b6f2SBjorn Andersson					type = "critical";
6044449b6f2SBjorn Andersson				};
6054449b6f2SBjorn Andersson			};
6064449b6f2SBjorn Andersson		};
6074449b6f2SBjorn Andersson
608ae8876ddSAmit Kucheria		cpu7-thermal {
6094449b6f2SBjorn Andersson			polling-delay-passive = <250>;
6104449b6f2SBjorn Andersson			polling-delay = <1000>;
6114449b6f2SBjorn Andersson
6124449b6f2SBjorn Andersson			thermal-sensors = <&tsens0 10>;
6134449b6f2SBjorn Andersson
6144449b6f2SBjorn Andersson			trips {
615285aa631SAmit Kucheria				cpu7_alert0: trip-point0 {
6164449b6f2SBjorn Andersson					temperature = <75000>;
6174449b6f2SBjorn Andersson					hysteresis = <2000>;
6184449b6f2SBjorn Andersson					type = "passive";
6194449b6f2SBjorn Andersson				};
6204449b6f2SBjorn Andersson
621ae8876ddSAmit Kucheria				cpu7_crit: cpu_crit {
6224449b6f2SBjorn Andersson					temperature = <110000>;
6234449b6f2SBjorn Andersson					hysteresis = <2000>;
6244449b6f2SBjorn Andersson					type = "critical";
6254449b6f2SBjorn Andersson				};
6264449b6f2SBjorn Andersson			};
6274449b6f2SBjorn Andersson		};
6284449b6f2SBjorn Andersson
6297be1c395SDavid Heidelberg		gpu-bottom-thermal {
6302fa2d301SAmit Kucheria			polling-delay-passive = <250>;
6312fa2d301SAmit Kucheria			polling-delay = <1000>;
6322fa2d301SAmit Kucheria
6332fa2d301SAmit Kucheria			thermal-sensors = <&tsens0 12>;
6342fa2d301SAmit Kucheria
6352fa2d301SAmit Kucheria			trips {
636285aa631SAmit Kucheria				gpu1_alert0: trip-point0 {
6372fa2d301SAmit Kucheria					temperature = <90000>;
6382fa2d301SAmit Kucheria					hysteresis = <2000>;
6392fa2d301SAmit Kucheria					type = "hot";
6402fa2d301SAmit Kucheria				};
6412fa2d301SAmit Kucheria			};
6422fa2d301SAmit Kucheria		};
6432fa2d301SAmit Kucheria
6447be1c395SDavid Heidelberg		gpu-top-thermal {
6454449b6f2SBjorn Andersson			polling-delay-passive = <250>;
6464449b6f2SBjorn Andersson			polling-delay = <1000>;
6474449b6f2SBjorn Andersson
6489284aa44SAmit Kucheria			thermal-sensors = <&tsens0 13>;
6492fa2d301SAmit Kucheria
6502fa2d301SAmit Kucheria			trips {
651285aa631SAmit Kucheria				gpu2_alert0: trip-point0 {
6522fa2d301SAmit Kucheria					temperature = <90000>;
6532fa2d301SAmit Kucheria					hysteresis = <2000>;
6542fa2d301SAmit Kucheria					type = "hot";
6552fa2d301SAmit Kucheria				};
6562fa2d301SAmit Kucheria			};
6574449b6f2SBjorn Andersson		};
658e9d2729dSAmit Kucheria
659060f4211SAmit Kucheria		clust0-mhm-thermal {
660e9d2729dSAmit Kucheria			polling-delay-passive = <250>;
661e9d2729dSAmit Kucheria			polling-delay = <1000>;
662e9d2729dSAmit Kucheria
663e9d2729dSAmit Kucheria			thermal-sensors = <&tsens0 5>;
664e9d2729dSAmit Kucheria
665e9d2729dSAmit Kucheria			trips {
666285aa631SAmit Kucheria				cluster0_mhm_alert0: trip-point0 {
667e9d2729dSAmit Kucheria					temperature = <90000>;
668e9d2729dSAmit Kucheria					hysteresis = <2000>;
669e9d2729dSAmit Kucheria					type = "hot";
670e9d2729dSAmit Kucheria				};
671e9d2729dSAmit Kucheria			};
672e9d2729dSAmit Kucheria		};
673e9d2729dSAmit Kucheria
674060f4211SAmit Kucheria		clust1-mhm-thermal {
675e9d2729dSAmit Kucheria			polling-delay-passive = <250>;
676e9d2729dSAmit Kucheria			polling-delay = <1000>;
677e9d2729dSAmit Kucheria
678e9d2729dSAmit Kucheria			thermal-sensors = <&tsens0 6>;
679e9d2729dSAmit Kucheria
680e9d2729dSAmit Kucheria			trips {
681285aa631SAmit Kucheria				cluster1_mhm_alert0: trip-point0 {
682e9d2729dSAmit Kucheria					temperature = <90000>;
683e9d2729dSAmit Kucheria					hysteresis = <2000>;
684e9d2729dSAmit Kucheria					type = "hot";
685e9d2729dSAmit Kucheria				};
686e9d2729dSAmit Kucheria			};
687e9d2729dSAmit Kucheria		};
688e9d2729dSAmit Kucheria
689e9d2729dSAmit Kucheria		cluster1-l2-thermal {
6904449b6f2SBjorn Andersson			polling-delay-passive = <250>;
6914449b6f2SBjorn Andersson			polling-delay = <1000>;
6924449b6f2SBjorn Andersson
6934449b6f2SBjorn Andersson			thermal-sensors = <&tsens0 11>;
6944449b6f2SBjorn Andersson
6954449b6f2SBjorn Andersson			trips {
696285aa631SAmit Kucheria				cluster1_l2_alert0: trip-point0 {
697e9d2729dSAmit Kucheria					temperature = <90000>;
6984449b6f2SBjorn Andersson					hysteresis = <2000>;
699e9d2729dSAmit Kucheria					type = "hot";
7004449b6f2SBjorn Andersson				};
7014449b6f2SBjorn Andersson			};
7024449b6f2SBjorn Andersson		};
7034449b6f2SBjorn Andersson
704e9d2729dSAmit Kucheria		modem-thermal {
7054449b6f2SBjorn Andersson			polling-delay-passive = <250>;
7064449b6f2SBjorn Andersson			polling-delay = <1000>;
7074449b6f2SBjorn Andersson
7084449b6f2SBjorn Andersson			thermal-sensors = <&tsens1 1>;
7094449b6f2SBjorn Andersson
7104449b6f2SBjorn Andersson			trips {
711285aa631SAmit Kucheria				modem_alert0: trip-point0 {
712e9d2729dSAmit Kucheria					temperature = <90000>;
7134449b6f2SBjorn Andersson					hysteresis = <2000>;
714e9d2729dSAmit Kucheria					type = "hot";
7154449b6f2SBjorn Andersson				};
7164449b6f2SBjorn Andersson			};
7174449b6f2SBjorn Andersson		};
7184449b6f2SBjorn Andersson
719e9d2729dSAmit Kucheria		mem-thermal {
720e9d2729dSAmit Kucheria			polling-delay-passive = <250>;
721e9d2729dSAmit Kucheria			polling-delay = <1000>;
722e9d2729dSAmit Kucheria
723e9d2729dSAmit Kucheria			thermal-sensors = <&tsens1 2>;
724e9d2729dSAmit Kucheria
725e9d2729dSAmit Kucheria			trips {
726285aa631SAmit Kucheria				mem_alert0: trip-point0 {
727e9d2729dSAmit Kucheria					temperature = <90000>;
728e9d2729dSAmit Kucheria					hysteresis = <2000>;
729e9d2729dSAmit Kucheria					type = "hot";
730e9d2729dSAmit Kucheria				};
731e9d2729dSAmit Kucheria			};
732e9d2729dSAmit Kucheria		};
733e9d2729dSAmit Kucheria
734e9d2729dSAmit Kucheria		wlan-thermal {
7354449b6f2SBjorn Andersson			polling-delay-passive = <250>;
7364449b6f2SBjorn Andersson			polling-delay = <1000>;
7374449b6f2SBjorn Andersson
7384449b6f2SBjorn Andersson			thermal-sensors = <&tsens1 3>;
739e9d2729dSAmit Kucheria
740e9d2729dSAmit Kucheria			trips {
741285aa631SAmit Kucheria				wlan_alert0: trip-point0 {
742e9d2729dSAmit Kucheria					temperature = <90000>;
743e9d2729dSAmit Kucheria					hysteresis = <2000>;
744e9d2729dSAmit Kucheria					type = "hot";
745e9d2729dSAmit Kucheria				};
746e9d2729dSAmit Kucheria			};
747e9d2729dSAmit Kucheria		};
748e9d2729dSAmit Kucheria
749e9d2729dSAmit Kucheria		q6-dsp-thermal {
750e9d2729dSAmit Kucheria			polling-delay-passive = <250>;
751e9d2729dSAmit Kucheria			polling-delay = <1000>;
752e9d2729dSAmit Kucheria
753e9d2729dSAmit Kucheria			thermal-sensors = <&tsens1 4>;
754e9d2729dSAmit Kucheria
755e9d2729dSAmit Kucheria			trips {
756285aa631SAmit Kucheria				q6_dsp_alert0: trip-point0 {
757e9d2729dSAmit Kucheria					temperature = <90000>;
758e9d2729dSAmit Kucheria					hysteresis = <2000>;
759e9d2729dSAmit Kucheria					type = "hot";
760e9d2729dSAmit Kucheria				};
761e9d2729dSAmit Kucheria			};
762e9d2729dSAmit Kucheria		};
763e9d2729dSAmit Kucheria
764e9d2729dSAmit Kucheria		camera-thermal {
765e9d2729dSAmit Kucheria			polling-delay-passive = <250>;
766e9d2729dSAmit Kucheria			polling-delay = <1000>;
767e9d2729dSAmit Kucheria
768e9d2729dSAmit Kucheria			thermal-sensors = <&tsens1 5>;
769e9d2729dSAmit Kucheria
770e9d2729dSAmit Kucheria			trips {
771285aa631SAmit Kucheria				camera_alert0: trip-point0 {
772e9d2729dSAmit Kucheria					temperature = <90000>;
773e9d2729dSAmit Kucheria					hysteresis = <2000>;
774e9d2729dSAmit Kucheria					type = "hot";
775e9d2729dSAmit Kucheria				};
776e9d2729dSAmit Kucheria			};
777e9d2729dSAmit Kucheria		};
778e9d2729dSAmit Kucheria
779e9d2729dSAmit Kucheria		multimedia-thermal {
780e9d2729dSAmit Kucheria			polling-delay-passive = <250>;
781e9d2729dSAmit Kucheria			polling-delay = <1000>;
782e9d2729dSAmit Kucheria
783e9d2729dSAmit Kucheria			thermal-sensors = <&tsens1 6>;
784e9d2729dSAmit Kucheria
785e9d2729dSAmit Kucheria			trips {
786285aa631SAmit Kucheria				multimedia_alert0: trip-point0 {
787e9d2729dSAmit Kucheria					temperature = <90000>;
788e9d2729dSAmit Kucheria					hysteresis = <2000>;
789e9d2729dSAmit Kucheria					type = "hot";
790e9d2729dSAmit Kucheria				};
791e9d2729dSAmit Kucheria			};
7924449b6f2SBjorn Andersson		};
7934449b6f2SBjorn Andersson	};
7944449b6f2SBjorn Andersson
7954807c71cSJoonwoo Park	timer {
7964807c71cSJoonwoo Park		compatible = "arm,armv8-timer";
7974807c71cSJoonwoo Park		interrupts = <GIC_PPI 1 IRQ_TYPE_LEVEL_LOW>,
7984807c71cSJoonwoo Park			     <GIC_PPI 2 IRQ_TYPE_LEVEL_LOW>,
7994807c71cSJoonwoo Park			     <GIC_PPI 3 IRQ_TYPE_LEVEL_LOW>,
8004807c71cSJoonwoo Park			     <GIC_PPI 0 IRQ_TYPE_LEVEL_LOW>;
8014807c71cSJoonwoo Park	};
8024807c71cSJoonwoo Park
8034807c71cSJoonwoo Park	soc: soc {
8044807c71cSJoonwoo Park		#address-cells = <1>;
8054807c71cSJoonwoo Park		#size-cells = <1>;
8064807c71cSJoonwoo Park		ranges = <0 0 0 0xffffffff>;
8074807c71cSJoonwoo Park		compatible = "simple-bus";
8084807c71cSJoonwoo Park
80932a5da21SJeffrey Hugo		gcc: clock-controller@100000 {
81032a5da21SJeffrey Hugo			compatible = "qcom,gcc-msm8998";
81132a5da21SJeffrey Hugo			#clock-cells = <1>;
81232a5da21SJeffrey Hugo			#reset-cells = <1>;
81332a5da21SJeffrey Hugo			#power-domain-cells = <1>;
81432a5da21SJeffrey Hugo			reg = <0x00100000 0xb0000>;
8152c2f64aeSMarijn Suijten
8162c2f64aeSMarijn Suijten			clock-names = "xo", "sleep_clk";
8172c2f64aeSMarijn Suijten			clocks = <&xo>, <&sleep_clk>;
8181ed29355SMichael Srba
8191ed29355SMichael Srba			/*
8201ed29355SMichael Srba			 * The hypervisor typically configures the memory region where these clocks
8211ed29355SMichael Srba			 * reside as read-only for the HLOS. If the HLOS tried to enable or disable
8221ed29355SMichael Srba			 * these clocks on a device with such configuration (e.g. because they are
8231ed29355SMichael Srba			 * enabled but unused during boot-up), the device will most likely decide
8241ed29355SMichael Srba			 * to reboot.
8251ed29355SMichael Srba			 * In light of that, we are conservative here and we list all such clocks
8261ed29355SMichael Srba			 * as protected. The board dts (or a user-supplied dts) can override the
8271ed29355SMichael Srba			 * list of protected clocks if it differs from the norm, and it is in fact
8281ed29355SMichael Srba			 * desired for the HLOS to manage these clocks
8291ed29355SMichael Srba			 */
8301ed29355SMichael Srba			protected-clocks = <AGGRE2_SNOC_NORTH_AXI>,
8311ed29355SMichael Srba					   <SSC_XO>,
8321ed29355SMichael Srba					   <SSC_CNOC_AHBS_CLK>;
83332a5da21SJeffrey Hugo		};
83432a5da21SJeffrey Hugo
835179811beSStephan Gerhold		rpm_msg_ram: sram@778000 {
83631c1f0e3SBjorn Andersson			compatible = "qcom,rpm-msg-ram";
83732a5da21SJeffrey Hugo			reg = <0x00778000 0x7000>;
83831c1f0e3SBjorn Andersson		};
83931c1f0e3SBjorn Andersson
84094117eb1SAngeloGioacchino Del Regno		qfprom: qfprom@784000 {
841b2eab35bSKrzysztof Kozlowski			compatible = "qcom,msm8998-qfprom", "qcom,qfprom";
84294117eb1SAngeloGioacchino Del Regno			reg = <0x00784000 0x621c>;
843f259e398SBjorn Andersson			#address-cells = <1>;
844f259e398SBjorn Andersson			#size-cells = <1>;
845026dad8fSJeffrey Hugo
84694117eb1SAngeloGioacchino Del Regno			qusb2_hstx_trim: hstx-trim@23a {
84794117eb1SAngeloGioacchino Del Regno				reg = <0x23a 0x1>;
848026dad8fSJeffrey Hugo				bits = <0 4>;
849026dad8fSJeffrey Hugo			};
850f259e398SBjorn Andersson		};
851f259e398SBjorn Andersson
85250325048SAmit Kucheria		tsens0: thermal@10ab000 {
8534449b6f2SBjorn Andersson			compatible = "qcom,msm8998-tsens", "qcom,tsens-v2";
85432a5da21SJeffrey Hugo			reg = <0x010ab000 0x1000>, /* TM */
85532a5da21SJeffrey Hugo			      <0x010aa000 0x1000>; /* SROT */
856280acabbSAmit Kucheria			#qcom,sensors = <14>;
857f0b888afSAmit Kucheria			interrupts = <GIC_SPI 458 IRQ_TYPE_LEVEL_HIGH>,
858f0b888afSAmit Kucheria				     <GIC_SPI 445 IRQ_TYPE_LEVEL_HIGH>;
859f0b888afSAmit Kucheria			interrupt-names = "uplow", "critical";
8604449b6f2SBjorn Andersson			#thermal-sensor-cells = <1>;
8614449b6f2SBjorn Andersson		};
8624449b6f2SBjorn Andersson
86350325048SAmit Kucheria		tsens1: thermal@10ae000 {
8644449b6f2SBjorn Andersson			compatible = "qcom,msm8998-tsens", "qcom,tsens-v2";
86532a5da21SJeffrey Hugo			reg = <0x010ae000 0x1000>, /* TM */
86632a5da21SJeffrey Hugo			      <0x010ad000 0x1000>; /* SROT */
8674449b6f2SBjorn Andersson			#qcom,sensors = <8>;
868f0b888afSAmit Kucheria			interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>,
869f0b888afSAmit Kucheria				     <GIC_SPI 430 IRQ_TYPE_LEVEL_HIGH>;
870f0b888afSAmit Kucheria			interrupt-names = "uplow", "critical";
8714449b6f2SBjorn Andersson			#thermal-sensor-cells = <1>;
8724449b6f2SBjorn Andersson		};
8734449b6f2SBjorn Andersson
8748389b869SMarc Gonzalez		anoc1_smmu: iommu@1680000 {
8758389b869SMarc Gonzalez			compatible = "qcom,msm8998-smmu-v2", "qcom,smmu-v2";
8768389b869SMarc Gonzalez			reg = <0x01680000 0x10000>;
8778389b869SMarc Gonzalez			#iommu-cells = <1>;
8788389b869SMarc Gonzalez
8798389b869SMarc Gonzalez			#global-interrupts = <0>;
8808389b869SMarc Gonzalez			interrupts =
8818389b869SMarc Gonzalez				<GIC_SPI 364 IRQ_TYPE_EDGE_RISING>,
8828389b869SMarc Gonzalez				<GIC_SPI 365 IRQ_TYPE_EDGE_RISING>,
8838389b869SMarc Gonzalez				<GIC_SPI 366 IRQ_TYPE_EDGE_RISING>,
8848389b869SMarc Gonzalez				<GIC_SPI 367 IRQ_TYPE_EDGE_RISING>,
8858389b869SMarc Gonzalez				<GIC_SPI 368 IRQ_TYPE_EDGE_RISING>,
8868389b869SMarc Gonzalez				<GIC_SPI 369 IRQ_TYPE_EDGE_RISING>;
8878389b869SMarc Gonzalez		};
8888389b869SMarc Gonzalez
889a21c9548SJeffrey Hugo		anoc2_smmu: iommu@16c0000 {
890a21c9548SJeffrey Hugo			compatible = "qcom,msm8998-smmu-v2", "qcom,smmu-v2";
891a21c9548SJeffrey Hugo			reg = <0x016c0000 0x40000>;
892a21c9548SJeffrey Hugo			#iommu-cells = <1>;
893a21c9548SJeffrey Hugo
894a21c9548SJeffrey Hugo			#global-interrupts = <0>;
895a21c9548SJeffrey Hugo			interrupts =
896a21c9548SJeffrey Hugo				<GIC_SPI 373 IRQ_TYPE_EDGE_RISING>,
897a21c9548SJeffrey Hugo				<GIC_SPI 374 IRQ_TYPE_EDGE_RISING>,
898a21c9548SJeffrey Hugo				<GIC_SPI 375 IRQ_TYPE_EDGE_RISING>,
899a21c9548SJeffrey Hugo				<GIC_SPI 376 IRQ_TYPE_EDGE_RISING>,
900a21c9548SJeffrey Hugo				<GIC_SPI 377 IRQ_TYPE_EDGE_RISING>,
901a21c9548SJeffrey Hugo				<GIC_SPI 378 IRQ_TYPE_EDGE_RISING>,
902a21c9548SJeffrey Hugo				<GIC_SPI 462 IRQ_TYPE_EDGE_RISING>,
903a21c9548SJeffrey Hugo				<GIC_SPI 463 IRQ_TYPE_EDGE_RISING>,
904a21c9548SJeffrey Hugo				<GIC_SPI 464 IRQ_TYPE_EDGE_RISING>,
905a21c9548SJeffrey Hugo				<GIC_SPI 465 IRQ_TYPE_EDGE_RISING>;
906a21c9548SJeffrey Hugo		};
907a21c9548SJeffrey Hugo
908b84dfd17SMarc Gonzalez		pcie0: pci@1c00000 {
909b84dfd17SMarc Gonzalez			compatible = "qcom,pcie-msm8996";
910b84dfd17SMarc Gonzalez			reg =	<0x01c00000 0x2000>,
911b84dfd17SMarc Gonzalez				<0x1b000000 0xf1d>,
912b84dfd17SMarc Gonzalez				<0x1b000f20 0xa8>,
913b84dfd17SMarc Gonzalez				<0x1b100000 0x100000>;
914b84dfd17SMarc Gonzalez			reg-names = "parf", "dbi", "elbi", "config";
915b84dfd17SMarc Gonzalez			device_type = "pci";
916b84dfd17SMarc Gonzalez			linux,pci-domain = <0>;
917b84dfd17SMarc Gonzalez			bus-range = <0x00 0xff>;
918b84dfd17SMarc Gonzalez			#address-cells = <3>;
919b84dfd17SMarc Gonzalez			#size-cells = <2>;
920b84dfd17SMarc Gonzalez			num-lanes = <1>;
921b84dfd17SMarc Gonzalez			phys = <&pciephy>;
922b84dfd17SMarc Gonzalez			phy-names = "pciephy";
923a72848e8SKonrad Dybcio			status = "disabled";
924b84dfd17SMarc Gonzalez
925b84dfd17SMarc Gonzalez			ranges = <0x01000000 0x0 0x1b200000 0x1b200000 0x0 0x100000>,
926b84dfd17SMarc Gonzalez				 <0x02000000 0x0 0x1b300000 0x1b300000 0x0 0xd00000>;
927b84dfd17SMarc Gonzalez
928b84dfd17SMarc Gonzalez			#interrupt-cells = <1>;
929b84dfd17SMarc Gonzalez			interrupts = <GIC_SPI 405 IRQ_TYPE_LEVEL_HIGH>;
930b84dfd17SMarc Gonzalez			interrupt-names = "msi";
931b84dfd17SMarc Gonzalez			interrupt-map-mask = <0 0 0 0x7>;
9320ac10b29SRob Herring			interrupt-map = <0 0 0 1 &intc 0 0 135 IRQ_TYPE_LEVEL_HIGH>,
9330ac10b29SRob Herring					<0 0 0 2 &intc 0 0 136 IRQ_TYPE_LEVEL_HIGH>,
9340ac10b29SRob Herring					<0 0 0 3 &intc 0 0 138 IRQ_TYPE_LEVEL_HIGH>,
9350ac10b29SRob Herring					<0 0 0 4 &intc 0 0 139 IRQ_TYPE_LEVEL_HIGH>;
936b84dfd17SMarc Gonzalez
937b84dfd17SMarc Gonzalez			clocks = <&gcc GCC_PCIE_0_PIPE_CLK>,
938b84dfd17SMarc Gonzalez				 <&gcc GCC_PCIE_0_MSTR_AXI_CLK>,
939b84dfd17SMarc Gonzalez				 <&gcc GCC_PCIE_0_SLV_AXI_CLK>,
940b84dfd17SMarc Gonzalez				 <&gcc GCC_PCIE_0_CFG_AHB_CLK>,
941b84dfd17SMarc Gonzalez				 <&gcc GCC_PCIE_0_AUX_CLK>;
942b84dfd17SMarc Gonzalez			clock-names = "pipe", "bus_master", "bus_slave", "cfg", "aux";
943b84dfd17SMarc Gonzalez
944b84dfd17SMarc Gonzalez			power-domains = <&gcc PCIE_0_GDSC>;
945b84dfd17SMarc Gonzalez			iommu-map = <0x100 &anoc1_smmu 0x1480 1>;
946b84dfd17SMarc Gonzalez			perst-gpios = <&tlmm 35 GPIO_ACTIVE_LOW>;
947b84dfd17SMarc Gonzalez		};
948b84dfd17SMarc Gonzalez
949a72848e8SKonrad Dybcio		pcie_phy: phy@1c06000 {
950b84dfd17SMarc Gonzalez			compatible = "qcom,msm8998-qmp-pcie-phy";
951b84dfd17SMarc Gonzalez			reg = <0x01c06000 0x18c>;
952b84dfd17SMarc Gonzalez			#address-cells = <1>;
953b84dfd17SMarc Gonzalez			#size-cells = <1>;
954a72848e8SKonrad Dybcio			status = "disabled";
955b84dfd17SMarc Gonzalez			ranges;
956b84dfd17SMarc Gonzalez
957b84dfd17SMarc Gonzalez			clocks = <&gcc GCC_PCIE_PHY_AUX_CLK>,
958b84dfd17SMarc Gonzalez				 <&gcc GCC_PCIE_0_CFG_AHB_CLK>,
959b84dfd17SMarc Gonzalez				 <&gcc GCC_PCIE_CLKREF_CLK>;
960b84dfd17SMarc Gonzalez			clock-names = "aux", "cfg_ahb", "ref";
961b84dfd17SMarc Gonzalez
962b84dfd17SMarc Gonzalez			resets = <&gcc GCC_PCIE_0_PHY_BCR>, <&gcc GCC_PCIE_PHY_BCR>;
963b84dfd17SMarc Gonzalez			reset-names = "phy", "common";
964b84dfd17SMarc Gonzalez
965b84dfd17SMarc Gonzalez			vdda-phy-supply = <&vreg_l1a_0p875>;
966b84dfd17SMarc Gonzalez			vdda-pll-supply = <&vreg_l2a_1p2>;
967b84dfd17SMarc Gonzalez
9681351512fSShawn Guo			pciephy: phy@1c06800 {
969b84dfd17SMarc Gonzalez				reg = <0x01c06200 0x128>, <0x01c06400 0x1fc>, <0x01c06800 0x20c>;
970b84dfd17SMarc Gonzalez				#phy-cells = <0>;
971b84dfd17SMarc Gonzalez
972b84dfd17SMarc Gonzalez				clocks = <&gcc GCC_PCIE_0_PIPE_CLK>;
973b84dfd17SMarc Gonzalez				clock-names = "pipe0";
974b84dfd17SMarc Gonzalez				clock-output-names = "pcie_0_pipe_clk_src";
975b84dfd17SMarc Gonzalez				#clock-cells = <0>;
976b84dfd17SMarc Gonzalez			};
977b84dfd17SMarc Gonzalez		};
978b84dfd17SMarc Gonzalez
97932a5da21SJeffrey Hugo		ufshc: ufshc@1da4000 {
98032a5da21SJeffrey Hugo			compatible = "qcom,msm8998-ufshc", "qcom,ufshc", "jedec,ufs-2.0";
98132a5da21SJeffrey Hugo			reg = <0x01da4000 0x2500>;
98232a5da21SJeffrey Hugo			interrupts = <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH>;
98332a5da21SJeffrey Hugo			phys = <&ufsphy_lanes>;
98432a5da21SJeffrey Hugo			phy-names = "ufsphy";
98532a5da21SJeffrey Hugo			lanes-per-direction = <2>;
98632a5da21SJeffrey Hugo			power-domains = <&gcc UFS_GDSC>;
987a72848e8SKonrad Dybcio			status = "disabled";
98832a5da21SJeffrey Hugo			#reset-cells = <1>;
98932a5da21SJeffrey Hugo
99032a5da21SJeffrey Hugo			clock-names =
99132a5da21SJeffrey Hugo				"core_clk",
99232a5da21SJeffrey Hugo				"bus_aggr_clk",
99332a5da21SJeffrey Hugo				"iface_clk",
99432a5da21SJeffrey Hugo				"core_clk_unipro",
99532a5da21SJeffrey Hugo				"ref_clk",
99632a5da21SJeffrey Hugo				"tx_lane0_sync_clk",
99732a5da21SJeffrey Hugo				"rx_lane0_sync_clk",
99832a5da21SJeffrey Hugo				"rx_lane1_sync_clk";
99932a5da21SJeffrey Hugo			clocks =
100032a5da21SJeffrey Hugo				<&gcc GCC_UFS_AXI_CLK>,
100132a5da21SJeffrey Hugo				<&gcc GCC_AGGRE1_UFS_AXI_CLK>,
100232a5da21SJeffrey Hugo				<&gcc GCC_UFS_AHB_CLK>,
100332a5da21SJeffrey Hugo				<&gcc GCC_UFS_UNIPRO_CORE_CLK>,
100432a5da21SJeffrey Hugo				<&rpmcc RPM_SMD_LN_BB_CLK1>,
100532a5da21SJeffrey Hugo				<&gcc GCC_UFS_TX_SYMBOL_0_CLK>,
100632a5da21SJeffrey Hugo				<&gcc GCC_UFS_RX_SYMBOL_0_CLK>,
100732a5da21SJeffrey Hugo				<&gcc GCC_UFS_RX_SYMBOL_1_CLK>;
100832a5da21SJeffrey Hugo			freq-table-hz =
100932a5da21SJeffrey Hugo				<50000000 200000000>,
101032a5da21SJeffrey Hugo				<0 0>,
101132a5da21SJeffrey Hugo				<0 0>,
101232a5da21SJeffrey Hugo				<37500000 150000000>,
101332a5da21SJeffrey Hugo				<0 0>,
101432a5da21SJeffrey Hugo				<0 0>,
101532a5da21SJeffrey Hugo				<0 0>,
101632a5da21SJeffrey Hugo				<0 0>;
101732a5da21SJeffrey Hugo
101832a5da21SJeffrey Hugo			resets = <&gcc GCC_UFS_BCR>;
101932a5da21SJeffrey Hugo			reset-names = "rst";
1020c7833949SBjorn Andersson		};
1021c7833949SBjorn Andersson
102232a5da21SJeffrey Hugo		ufsphy: phy@1da7000 {
102332a5da21SJeffrey Hugo			compatible = "qcom,msm8998-qmp-ufs-phy";
102432a5da21SJeffrey Hugo			reg = <0x01da7000 0x18c>;
102532a5da21SJeffrey Hugo			#address-cells = <1>;
102632a5da21SJeffrey Hugo			#size-cells = <1>;
1027a72848e8SKonrad Dybcio			status = "disabled";
102832a5da21SJeffrey Hugo			ranges;
102931c1f0e3SBjorn Andersson
103032a5da21SJeffrey Hugo			clock-names =
103132a5da21SJeffrey Hugo				"ref",
103232a5da21SJeffrey Hugo				"ref_aux";
103332a5da21SJeffrey Hugo			clocks =
103432a5da21SJeffrey Hugo				<&gcc GCC_UFS_CLKREF_CLK>,
103532a5da21SJeffrey Hugo				<&gcc GCC_UFS_PHY_AUX_CLK>;
103632a5da21SJeffrey Hugo
103732a5da21SJeffrey Hugo			reset-names = "ufsphy";
103832a5da21SJeffrey Hugo			resets = <&ufshc 0>;
103932a5da21SJeffrey Hugo
10401351512fSShawn Guo			ufsphy_lanes: phy@1da7400 {
104132a5da21SJeffrey Hugo				reg = <0x01da7400 0x128>,
104232a5da21SJeffrey Hugo				      <0x01da7600 0x1fc>,
104332a5da21SJeffrey Hugo				      <0x01da7c00 0x1dc>,
104432a5da21SJeffrey Hugo				      <0x01da7800 0x128>,
104532a5da21SJeffrey Hugo				      <0x01da7a00 0x1fc>;
104632a5da21SJeffrey Hugo				#phy-cells = <0>;
104732a5da21SJeffrey Hugo			};
104832a5da21SJeffrey Hugo		};
104932a5da21SJeffrey Hugo
105032a5da21SJeffrey Hugo		tcsr_mutex_regs: syscon@1f40000 {
105132a5da21SJeffrey Hugo			compatible = "syscon";
105205caa5bfSJeffrey Hugo			reg = <0x01f40000 0x40000>;
105332a5da21SJeffrey Hugo		};
105432a5da21SJeffrey Hugo
105532a5da21SJeffrey Hugo		tlmm: pinctrl@3400000 {
105632a5da21SJeffrey Hugo			compatible = "qcom,msm8998-pinctrl";
105732a5da21SJeffrey Hugo			reg = <0x03400000 0xc00000>;
105832a5da21SJeffrey Hugo			interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
105932a5da21SJeffrey Hugo			gpio-controller;
106012541f68SKonrad Dybcio			#gpio-cells = <2>;
106132a5da21SJeffrey Hugo			interrupt-controller;
106212541f68SKonrad Dybcio			#interrupt-cells = <2>;
106303e6cb3dSKonrad Dybcio
106412541f68SKonrad Dybcio			sdc2_on: sdc2-on {
106512541f68SKonrad Dybcio				clk {
106603e6cb3dSKonrad Dybcio					pins = "sdc2_clk";
106703e6cb3dSKonrad Dybcio					drive-strength = <16>;
106803e6cb3dSKonrad Dybcio					bias-disable;
106903e6cb3dSKonrad Dybcio				};
107003e6cb3dSKonrad Dybcio
107112541f68SKonrad Dybcio				cmd {
107203e6cb3dSKonrad Dybcio					pins = "sdc2_cmd";
107303e6cb3dSKonrad Dybcio					drive-strength = <10>;
107412541f68SKonrad Dybcio					bias-pull-up;
107512541f68SKonrad Dybcio				};
107612541f68SKonrad Dybcio
107712541f68SKonrad Dybcio				data {
107812541f68SKonrad Dybcio					pins = "sdc2_data";
107912541f68SKonrad Dybcio					drive-strength = <10>;
108012541f68SKonrad Dybcio					bias-pull-up;
108103e6cb3dSKonrad Dybcio				};
108203e6cb3dSKonrad Dybcio			};
108303e6cb3dSKonrad Dybcio
108412541f68SKonrad Dybcio			sdc2_off: sdc2-off {
108512541f68SKonrad Dybcio				clk {
108612541f68SKonrad Dybcio					pins = "sdc2_clk";
108712541f68SKonrad Dybcio					drive-strength = <2>;
108812541f68SKonrad Dybcio					bias-disable;
108912541f68SKonrad Dybcio				};
109012541f68SKonrad Dybcio
109112541f68SKonrad Dybcio				cmd {
109203e6cb3dSKonrad Dybcio					pins = "sdc2_cmd";
109303e6cb3dSKonrad Dybcio					drive-strength = <2>;
109412541f68SKonrad Dybcio					bias-pull-up;
109503e6cb3dSKonrad Dybcio				};
109603e6cb3dSKonrad Dybcio
109712541f68SKonrad Dybcio				data {
109803e6cb3dSKonrad Dybcio					pins = "sdc2_data";
109903e6cb3dSKonrad Dybcio					drive-strength = <2>;
110012541f68SKonrad Dybcio					bias-pull-up;
110103e6cb3dSKonrad Dybcio				};
110203e6cb3dSKonrad Dybcio			};
110303e6cb3dSKonrad Dybcio
110412541f68SKonrad Dybcio			sdc2_cd: sdc2-cd {
110503e6cb3dSKonrad Dybcio				pins = "gpio95";
110603e6cb3dSKonrad Dybcio				function = "gpio";
110703e6cb3dSKonrad Dybcio				bias-pull-up;
110803e6cb3dSKonrad Dybcio				drive-strength = <2>;
110903e6cb3dSKonrad Dybcio			};
111003e6cb3dSKonrad Dybcio
111112541f68SKonrad Dybcio			blsp1_uart3_on: blsp1-uart3-on {
111203e6cb3dSKonrad Dybcio				tx {
111303e6cb3dSKonrad Dybcio					pins = "gpio45";
111403e6cb3dSKonrad Dybcio					function = "blsp_uart3_a";
111503e6cb3dSKonrad Dybcio					drive-strength = <2>;
111603e6cb3dSKonrad Dybcio					bias-disable;
111703e6cb3dSKonrad Dybcio				};
111803e6cb3dSKonrad Dybcio
111903e6cb3dSKonrad Dybcio				rx {
112003e6cb3dSKonrad Dybcio					pins = "gpio46";
112103e6cb3dSKonrad Dybcio					function = "blsp_uart3_a";
112203e6cb3dSKonrad Dybcio					drive-strength = <2>;
112303e6cb3dSKonrad Dybcio					bias-disable;
112403e6cb3dSKonrad Dybcio				};
112503e6cb3dSKonrad Dybcio
112603e6cb3dSKonrad Dybcio				cts {
112703e6cb3dSKonrad Dybcio					pins = "gpio47";
112803e6cb3dSKonrad Dybcio					function = "blsp_uart3_a";
112903e6cb3dSKonrad Dybcio					drive-strength = <2>;
113003e6cb3dSKonrad Dybcio					bias-disable;
113103e6cb3dSKonrad Dybcio				};
113203e6cb3dSKonrad Dybcio
113303e6cb3dSKonrad Dybcio				rfr {
113403e6cb3dSKonrad Dybcio					pins = "gpio48";
113503e6cb3dSKonrad Dybcio					function = "blsp_uart3_a";
113603e6cb3dSKonrad Dybcio					drive-strength = <2>;
113703e6cb3dSKonrad Dybcio					bias-disable;
113803e6cb3dSKonrad Dybcio				};
113903e6cb3dSKonrad Dybcio			};
11400fee55fcSKonrad Dybcio
11410fee55fcSKonrad Dybcio			blsp1_i2c1_default: blsp1-i2c1-default {
11420fee55fcSKonrad Dybcio				pins = "gpio2", "gpio3";
11430fee55fcSKonrad Dybcio				function = "blsp_i2c1";
11440fee55fcSKonrad Dybcio				drive-strength = <2>;
11450fee55fcSKonrad Dybcio				bias-disable;
11460fee55fcSKonrad Dybcio			};
11470fee55fcSKonrad Dybcio
11480fee55fcSKonrad Dybcio			blsp1_i2c1_sleep: blsp1-i2c1-sleep {
11490fee55fcSKonrad Dybcio				pins = "gpio2", "gpio3";
11500fee55fcSKonrad Dybcio				function = "blsp_i2c1";
11510fee55fcSKonrad Dybcio				drive-strength = <2>;
11520fee55fcSKonrad Dybcio				bias-pull-up;
11530fee55fcSKonrad Dybcio			};
11540fee55fcSKonrad Dybcio
11550fee55fcSKonrad Dybcio			blsp1_i2c2_default: blsp1-i2c2-default {
11560fee55fcSKonrad Dybcio				pins = "gpio32", "gpio33";
11570fee55fcSKonrad Dybcio				function = "blsp_i2c2";
11580fee55fcSKonrad Dybcio				drive-strength = <2>;
11590fee55fcSKonrad Dybcio				bias-disable;
11600fee55fcSKonrad Dybcio			};
11610fee55fcSKonrad Dybcio
11620fee55fcSKonrad Dybcio			blsp1_i2c2_sleep: blsp1-i2c2-sleep {
11630fee55fcSKonrad Dybcio				pins = "gpio32", "gpio33";
11640fee55fcSKonrad Dybcio				function = "blsp_i2c2";
11650fee55fcSKonrad Dybcio				drive-strength = <2>;
11660fee55fcSKonrad Dybcio				bias-pull-up;
11670fee55fcSKonrad Dybcio			};
11680fee55fcSKonrad Dybcio
11690fee55fcSKonrad Dybcio			blsp1_i2c3_default: blsp1-i2c3-default {
11700fee55fcSKonrad Dybcio				pins = "gpio47", "gpio48";
11710fee55fcSKonrad Dybcio				function = "blsp_i2c3";
11720fee55fcSKonrad Dybcio				drive-strength = <2>;
11730fee55fcSKonrad Dybcio				bias-disable;
11740fee55fcSKonrad Dybcio			};
11750fee55fcSKonrad Dybcio
11760fee55fcSKonrad Dybcio			blsp1_i2c3_sleep: blsp1-i2c3-sleep {
11770fee55fcSKonrad Dybcio				pins = "gpio47", "gpio48";
11780fee55fcSKonrad Dybcio				function = "blsp_i2c3";
11790fee55fcSKonrad Dybcio				drive-strength = <2>;
11800fee55fcSKonrad Dybcio				bias-pull-up;
11810fee55fcSKonrad Dybcio			};
11820fee55fcSKonrad Dybcio
11830fee55fcSKonrad Dybcio			blsp1_i2c4_default: blsp1-i2c4-default {
11840fee55fcSKonrad Dybcio				pins = "gpio10", "gpio11";
11850fee55fcSKonrad Dybcio				function = "blsp_i2c4";
11860fee55fcSKonrad Dybcio				drive-strength = <2>;
11870fee55fcSKonrad Dybcio				bias-disable;
11880fee55fcSKonrad Dybcio			};
11890fee55fcSKonrad Dybcio
11900fee55fcSKonrad Dybcio			blsp1_i2c4_sleep: blsp1-i2c4-sleep {
11910fee55fcSKonrad Dybcio				pins = "gpio10", "gpio11";
11920fee55fcSKonrad Dybcio				function = "blsp_i2c4";
11930fee55fcSKonrad Dybcio				drive-strength = <2>;
11940fee55fcSKonrad Dybcio				bias-pull-up;
11950fee55fcSKonrad Dybcio			};
11960fee55fcSKonrad Dybcio
11970fee55fcSKonrad Dybcio			blsp1_i2c5_default: blsp1-i2c5-default {
11980fee55fcSKonrad Dybcio				pins = "gpio87", "gpio88";
11990fee55fcSKonrad Dybcio				function = "blsp_i2c5";
12000fee55fcSKonrad Dybcio				drive-strength = <2>;
12010fee55fcSKonrad Dybcio				bias-disable;
12020fee55fcSKonrad Dybcio			};
12030fee55fcSKonrad Dybcio
12040fee55fcSKonrad Dybcio			blsp1_i2c5_sleep: blsp1-i2c5-sleep {
12050fee55fcSKonrad Dybcio				pins = "gpio87", "gpio88";
12060fee55fcSKonrad Dybcio				function = "blsp_i2c5";
12070fee55fcSKonrad Dybcio				drive-strength = <2>;
12080fee55fcSKonrad Dybcio				bias-pull-up;
12090fee55fcSKonrad Dybcio			};
12100fee55fcSKonrad Dybcio
12110fee55fcSKonrad Dybcio			blsp1_i2c6_default: blsp1-i2c6-default {
12120fee55fcSKonrad Dybcio				pins = "gpio43", "gpio44";
12130fee55fcSKonrad Dybcio				function = "blsp_i2c6";
12140fee55fcSKonrad Dybcio				drive-strength = <2>;
12150fee55fcSKonrad Dybcio				bias-disable;
12160fee55fcSKonrad Dybcio			};
12170fee55fcSKonrad Dybcio
12180fee55fcSKonrad Dybcio			blsp1_i2c6_sleep: blsp1-i2c6-sleep {
12190fee55fcSKonrad Dybcio				pins = "gpio43", "gpio44";
12200fee55fcSKonrad Dybcio				function = "blsp_i2c6";
12210fee55fcSKonrad Dybcio				drive-strength = <2>;
12220fee55fcSKonrad Dybcio				bias-pull-up;
12230fee55fcSKonrad Dybcio			};
12240fee55fcSKonrad Dybcio			/* 6 interfaces per QUP, BLSP2 indexes are numbered (n)+6 */
12250fee55fcSKonrad Dybcio			blsp2_i2c1_default: blsp2-i2c1-default {
12260fee55fcSKonrad Dybcio				pins = "gpio55", "gpio56";
12270fee55fcSKonrad Dybcio				function = "blsp_i2c7";
12280fee55fcSKonrad Dybcio				drive-strength = <2>;
12290fee55fcSKonrad Dybcio				bias-disable;
12300fee55fcSKonrad Dybcio			};
12310fee55fcSKonrad Dybcio
12320fee55fcSKonrad Dybcio			blsp2_i2c1_sleep: blsp2-i2c1-sleep {
12330fee55fcSKonrad Dybcio				pins = "gpio55", "gpio56";
12340fee55fcSKonrad Dybcio				function = "blsp_i2c7";
12350fee55fcSKonrad Dybcio				drive-strength = <2>;
12360fee55fcSKonrad Dybcio				bias-pull-up;
12370fee55fcSKonrad Dybcio			};
12380fee55fcSKonrad Dybcio
12390fee55fcSKonrad Dybcio			blsp2_i2c2_default: blsp2-i2c2-default {
12400fee55fcSKonrad Dybcio				pins = "gpio6", "gpio7";
12410fee55fcSKonrad Dybcio				function = "blsp_i2c8";
12420fee55fcSKonrad Dybcio				drive-strength = <2>;
12430fee55fcSKonrad Dybcio				bias-disable;
12440fee55fcSKonrad Dybcio			};
12450fee55fcSKonrad Dybcio
12460fee55fcSKonrad Dybcio			blsp2_i2c2_sleep: blsp2-i2c2-sleep {
12470fee55fcSKonrad Dybcio				pins = "gpio6", "gpio7";
12480fee55fcSKonrad Dybcio				function = "blsp_i2c8";
12490fee55fcSKonrad Dybcio				drive-strength = <2>;
12500fee55fcSKonrad Dybcio				bias-pull-up;
12510fee55fcSKonrad Dybcio			};
12520fee55fcSKonrad Dybcio
12530fee55fcSKonrad Dybcio			blsp2_i2c3_default: blsp2-i2c3-default {
12540fee55fcSKonrad Dybcio				pins = "gpio51", "gpio52";
12550fee55fcSKonrad Dybcio				function = "blsp_i2c9";
12560fee55fcSKonrad Dybcio				drive-strength = <2>;
12570fee55fcSKonrad Dybcio				bias-disable;
12580fee55fcSKonrad Dybcio			};
12590fee55fcSKonrad Dybcio
12600fee55fcSKonrad Dybcio			blsp2_i2c3_sleep: blsp2-i2c3-sleep {
12610fee55fcSKonrad Dybcio				pins = "gpio51", "gpio52";
12620fee55fcSKonrad Dybcio				function = "blsp_i2c9";
12630fee55fcSKonrad Dybcio				drive-strength = <2>;
12640fee55fcSKonrad Dybcio				bias-pull-up;
12650fee55fcSKonrad Dybcio			};
12660fee55fcSKonrad Dybcio
12670fee55fcSKonrad Dybcio			blsp2_i2c4_default: blsp2-i2c4-default {
12680fee55fcSKonrad Dybcio				pins = "gpio67", "gpio68";
12690fee55fcSKonrad Dybcio				function = "blsp_i2c10";
12700fee55fcSKonrad Dybcio				drive-strength = <2>;
12710fee55fcSKonrad Dybcio				bias-disable;
12720fee55fcSKonrad Dybcio			};
12730fee55fcSKonrad Dybcio
12740fee55fcSKonrad Dybcio			blsp2_i2c4_sleep: blsp2-i2c4-sleep {
12750fee55fcSKonrad Dybcio				pins = "gpio67", "gpio68";
12760fee55fcSKonrad Dybcio				function = "blsp_i2c10";
12770fee55fcSKonrad Dybcio				drive-strength = <2>;
12780fee55fcSKonrad Dybcio				bias-pull-up;
12790fee55fcSKonrad Dybcio			};
12800fee55fcSKonrad Dybcio
12810fee55fcSKonrad Dybcio			blsp2_i2c5_default: blsp2-i2c5-default {
12820fee55fcSKonrad Dybcio				pins = "gpio60", "gpio61";
12830fee55fcSKonrad Dybcio				function = "blsp_i2c11";
12840fee55fcSKonrad Dybcio				drive-strength = <2>;
12850fee55fcSKonrad Dybcio				bias-disable;
12860fee55fcSKonrad Dybcio			};
12870fee55fcSKonrad Dybcio
12880fee55fcSKonrad Dybcio			blsp2_i2c5_sleep: blsp2-i2c5-sleep {
12890fee55fcSKonrad Dybcio				pins = "gpio60", "gpio61";
12900fee55fcSKonrad Dybcio				function = "blsp_i2c11";
12910fee55fcSKonrad Dybcio				drive-strength = <2>;
12920fee55fcSKonrad Dybcio				bias-pull-up;
12930fee55fcSKonrad Dybcio			};
12940fee55fcSKonrad Dybcio
12950fee55fcSKonrad Dybcio			blsp2_i2c6_default: blsp2-i2c6-default {
12960fee55fcSKonrad Dybcio				pins = "gpio83", "gpio84";
12970fee55fcSKonrad Dybcio				function = "blsp_i2c12";
12980fee55fcSKonrad Dybcio				drive-strength = <2>;
12990fee55fcSKonrad Dybcio				bias-disable;
13000fee55fcSKonrad Dybcio			};
13010fee55fcSKonrad Dybcio
13020fee55fcSKonrad Dybcio			blsp2_i2c6_sleep: blsp2-i2c6-sleep {
13030fee55fcSKonrad Dybcio				pins = "gpio83", "gpio84";
13040fee55fcSKonrad Dybcio				function = "blsp_i2c12";
13050fee55fcSKonrad Dybcio				drive-strength = <2>;
13060fee55fcSKonrad Dybcio				bias-pull-up;
13070fee55fcSKonrad Dybcio			};
130832a5da21SJeffrey Hugo		};
130932a5da21SJeffrey Hugo
1310a9ee66deSSibi Sankar		remoteproc_mss: remoteproc@4080000 {
1311a9ee66deSSibi Sankar			compatible = "qcom,msm8998-mss-pil";
1312a9ee66deSSibi Sankar			reg = <0x04080000 0x100>, <0x04180000 0x20>;
1313a9ee66deSSibi Sankar			reg-names = "qdsp6", "rmb";
1314a9ee66deSSibi Sankar
1315a9ee66deSSibi Sankar			interrupts-extended =
1316a9ee66deSSibi Sankar				<&intc GIC_SPI 448 IRQ_TYPE_EDGE_RISING>,
1317a9ee66deSSibi Sankar				<&modem_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
1318a9ee66deSSibi Sankar				<&modem_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
1319a9ee66deSSibi Sankar				<&modem_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
1320a9ee66deSSibi Sankar				<&modem_smp2p_in 3 IRQ_TYPE_EDGE_RISING>,
1321a9ee66deSSibi Sankar				<&modem_smp2p_in 7 IRQ_TYPE_EDGE_RISING>;
1322a9ee66deSSibi Sankar			interrupt-names = "wdog", "fatal", "ready",
1323a9ee66deSSibi Sankar					  "handover", "stop-ack",
1324a9ee66deSSibi Sankar					  "shutdown-ack";
1325a9ee66deSSibi Sankar
1326a9ee66deSSibi Sankar			clocks = <&gcc GCC_MSS_CFG_AHB_CLK>,
1327a9ee66deSSibi Sankar				 <&gcc GCC_BIMC_MSS_Q6_AXI_CLK>,
1328a9ee66deSSibi Sankar				 <&gcc GCC_BOOT_ROM_AHB_CLK>,
1329a9ee66deSSibi Sankar				 <&gcc GCC_MSS_GPLL0_DIV_CLK_SRC>,
1330a9ee66deSSibi Sankar				 <&gcc GCC_MSS_SNOC_AXI_CLK>,
1331a9ee66deSSibi Sankar				 <&gcc GCC_MSS_MNOC_BIMC_AXI_CLK>,
1332a9ee66deSSibi Sankar				 <&rpmcc RPM_SMD_QDSS_CLK>,
1333a9ee66deSSibi Sankar				 <&rpmcc RPM_SMD_XO_CLK_SRC>;
1334a9ee66deSSibi Sankar			clock-names = "iface", "bus", "mem", "gpll0_mss",
1335a9ee66deSSibi Sankar				      "snoc_axi", "mnoc_axi", "qdss", "xo";
1336a9ee66deSSibi Sankar
1337a9ee66deSSibi Sankar			qcom,smem-states = <&modem_smp2p_out 0>;
1338a9ee66deSSibi Sankar			qcom,smem-state-names = "stop";
1339a9ee66deSSibi Sankar
1340a9ee66deSSibi Sankar			resets = <&gcc GCC_MSS_RESTART>;
1341a9ee66deSSibi Sankar			reset-names = "mss_restart";
1342a9ee66deSSibi Sankar
1343a9ee66deSSibi Sankar			qcom,halt-regs = <&tcsr_mutex_regs 0x23000 0x25000 0x24000>;
1344a9ee66deSSibi Sankar
1345a9ee66deSSibi Sankar			power-domains = <&rpmpd MSM8998_VDDCX>,
1346a9ee66deSSibi Sankar					<&rpmpd MSM8998_VDDMX>;
1347a9ee66deSSibi Sankar			power-domain-names = "cx", "mx";
1348a9ee66deSSibi Sankar
134903041cd2SJami Kettunen			status = "disabled";
135003041cd2SJami Kettunen
1351a9ee66deSSibi Sankar			mba {
1352a9ee66deSSibi Sankar				memory-region = <&mba_mem>;
1353a9ee66deSSibi Sankar			};
1354a9ee66deSSibi Sankar
1355a9ee66deSSibi Sankar			mpss {
1356a9ee66deSSibi Sankar				memory-region = <&mpss_mem>;
1357a9ee66deSSibi Sankar			};
1358a9ee66deSSibi Sankar
1359a9ee66deSSibi Sankar			glink-edge {
1360a9ee66deSSibi Sankar				interrupts = <GIC_SPI 452 IRQ_TYPE_EDGE_RISING>;
1361a9ee66deSSibi Sankar				label = "modem";
1362a9ee66deSSibi Sankar				qcom,remote-pid = <1>;
1363a9ee66deSSibi Sankar				mboxes = <&apcs_glb 15>;
1364a9ee66deSSibi Sankar			};
1365a9ee66deSSibi Sankar		};
1366a9ee66deSSibi Sankar
136787cd46d6SAngeloGioacchino Del Regno		adreno_gpu: gpu@5000000 {
136887cd46d6SAngeloGioacchino Del Regno			compatible = "qcom,adreno-540.1", "qcom,adreno";
136987cd46d6SAngeloGioacchino Del Regno			reg = <0x05000000 0x40000>;
137087cd46d6SAngeloGioacchino Del Regno			reg-names = "kgsl_3d0_reg_memory";
137187cd46d6SAngeloGioacchino Del Regno
137287cd46d6SAngeloGioacchino Del Regno			clocks = <&gcc GCC_GPU_CFG_AHB_CLK>,
137387cd46d6SAngeloGioacchino Del Regno				<&gpucc RBBMTIMER_CLK>,
137487cd46d6SAngeloGioacchino Del Regno				<&gcc GCC_BIMC_GFX_CLK>,
137587cd46d6SAngeloGioacchino Del Regno				<&gcc GCC_GPU_BIMC_GFX_CLK>,
137687cd46d6SAngeloGioacchino Del Regno				<&gpucc RBCPR_CLK>,
137787cd46d6SAngeloGioacchino Del Regno				<&gpucc GFX3D_CLK>;
137887cd46d6SAngeloGioacchino Del Regno			clock-names = "iface",
137987cd46d6SAngeloGioacchino Del Regno				"rbbmtimer",
138087cd46d6SAngeloGioacchino Del Regno				"mem",
138187cd46d6SAngeloGioacchino Del Regno				"mem_iface",
138287cd46d6SAngeloGioacchino Del Regno				"rbcpr",
138387cd46d6SAngeloGioacchino Del Regno				"core";
138487cd46d6SAngeloGioacchino Del Regno
138587cd46d6SAngeloGioacchino Del Regno			interrupts = <0 300 IRQ_TYPE_LEVEL_HIGH>;
138687cd46d6SAngeloGioacchino Del Regno			iommus = <&adreno_smmu 0>;
138787cd46d6SAngeloGioacchino Del Regno			operating-points-v2 = <&gpu_opp_table>;
138887cd46d6SAngeloGioacchino Del Regno			power-domains = <&rpmpd MSM8998_VDDMX>;
138987cd46d6SAngeloGioacchino Del Regno			status = "disabled";
139087cd46d6SAngeloGioacchino Del Regno
139187cd46d6SAngeloGioacchino Del Regno			gpu_opp_table: opp-table {
139287cd46d6SAngeloGioacchino Del Regno				compatible = "operating-points-v2";
139387cd46d6SAngeloGioacchino Del Regno				opp-710000097 {
139487cd46d6SAngeloGioacchino Del Regno					opp-hz = /bits/ 64 <710000097>;
139587cd46d6SAngeloGioacchino Del Regno					opp-level = <RPM_SMD_LEVEL_TURBO>;
139687cd46d6SAngeloGioacchino Del Regno					opp-supported-hw = <0xFF>;
139787cd46d6SAngeloGioacchino Del Regno				};
139887cd46d6SAngeloGioacchino Del Regno
139987cd46d6SAngeloGioacchino Del Regno				opp-670000048 {
140087cd46d6SAngeloGioacchino Del Regno					opp-hz = /bits/ 64 <670000048>;
140187cd46d6SAngeloGioacchino Del Regno					opp-level = <RPM_SMD_LEVEL_NOM_PLUS>;
140287cd46d6SAngeloGioacchino Del Regno					opp-supported-hw = <0xFF>;
140387cd46d6SAngeloGioacchino Del Regno				};
140487cd46d6SAngeloGioacchino Del Regno
140587cd46d6SAngeloGioacchino Del Regno				opp-596000097 {
140687cd46d6SAngeloGioacchino Del Regno					opp-hz = /bits/ 64 <596000097>;
140787cd46d6SAngeloGioacchino Del Regno					opp-level = <RPM_SMD_LEVEL_NOM>;
140887cd46d6SAngeloGioacchino Del Regno					opp-supported-hw = <0xFF>;
140987cd46d6SAngeloGioacchino Del Regno				};
141087cd46d6SAngeloGioacchino Del Regno
141187cd46d6SAngeloGioacchino Del Regno				opp-515000097 {
141287cd46d6SAngeloGioacchino Del Regno					opp-hz = /bits/ 64 <515000097>;
141387cd46d6SAngeloGioacchino Del Regno					opp-level = <RPM_SMD_LEVEL_SVS_PLUS>;
141487cd46d6SAngeloGioacchino Del Regno					opp-supported-hw = <0xFF>;
141587cd46d6SAngeloGioacchino Del Regno				};
141687cd46d6SAngeloGioacchino Del Regno
141787cd46d6SAngeloGioacchino Del Regno				opp-414000000 {
141887cd46d6SAngeloGioacchino Del Regno					opp-hz = /bits/ 64 <414000000>;
141987cd46d6SAngeloGioacchino Del Regno					opp-level = <RPM_SMD_LEVEL_SVS>;
142087cd46d6SAngeloGioacchino Del Regno					opp-supported-hw = <0xFF>;
142187cd46d6SAngeloGioacchino Del Regno				};
142287cd46d6SAngeloGioacchino Del Regno
142387cd46d6SAngeloGioacchino Del Regno				opp-342000000 {
142487cd46d6SAngeloGioacchino Del Regno					opp-hz = /bits/ 64 <342000000>;
142587cd46d6SAngeloGioacchino Del Regno					opp-level = <RPM_SMD_LEVEL_LOW_SVS>;
142687cd46d6SAngeloGioacchino Del Regno					opp-supported-hw = <0xFF>;
142787cd46d6SAngeloGioacchino Del Regno				};
142887cd46d6SAngeloGioacchino Del Regno
142987cd46d6SAngeloGioacchino Del Regno				opp-257000000 {
143087cd46d6SAngeloGioacchino Del Regno					opp-hz = /bits/ 64 <257000000>;
143187cd46d6SAngeloGioacchino Del Regno					opp-level = <RPM_SMD_LEVEL_MIN_SVS>;
143287cd46d6SAngeloGioacchino Del Regno					opp-supported-hw = <0xFF>;
143387cd46d6SAngeloGioacchino Del Regno				};
143487cd46d6SAngeloGioacchino Del Regno			};
143587cd46d6SAngeloGioacchino Del Regno		};
143687cd46d6SAngeloGioacchino Del Regno
143787cd46d6SAngeloGioacchino Del Regno		adreno_smmu: iommu@5040000 {
143887cd46d6SAngeloGioacchino Del Regno			compatible = "qcom,msm8998-smmu-v2", "qcom,smmu-v2";
143987cd46d6SAngeloGioacchino Del Regno			reg = <0x05040000 0x10000>;
144087cd46d6SAngeloGioacchino Del Regno			clocks = <&gcc GCC_GPU_CFG_AHB_CLK>,
144187cd46d6SAngeloGioacchino Del Regno				 <&gcc GCC_BIMC_GFX_CLK>,
144287cd46d6SAngeloGioacchino Del Regno				 <&gcc GCC_GPU_BIMC_GFX_CLK>;
144387cd46d6SAngeloGioacchino Del Regno			clock-names = "iface", "mem", "mem_iface";
144487cd46d6SAngeloGioacchino Del Regno
144587cd46d6SAngeloGioacchino Del Regno			#global-interrupts = <0>;
144687cd46d6SAngeloGioacchino Del Regno			#iommu-cells = <1>;
144787cd46d6SAngeloGioacchino Del Regno			interrupts =
144887cd46d6SAngeloGioacchino Del Regno				<GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH>,
144987cd46d6SAngeloGioacchino Del Regno				<GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH>,
145087cd46d6SAngeloGioacchino Del Regno				<GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH>;
145187cd46d6SAngeloGioacchino Del Regno			/*
145287cd46d6SAngeloGioacchino Del Regno			 * GPU-GX GDSC's parent is GPU-CX. We need to bring up the
145387cd46d6SAngeloGioacchino Del Regno			 * GPU-CX for SMMU but we need both of them up for Adreno.
145487cd46d6SAngeloGioacchino Del Regno			 * Contemporarily, we also need to manage the VDDMX rpmpd
145587cd46d6SAngeloGioacchino Del Regno			 * domain in the Adreno driver.
145687cd46d6SAngeloGioacchino Del Regno			 * Enable GPU CX/GX GDSCs here so that we can manage the
145787cd46d6SAngeloGioacchino Del Regno			 * SoC VDDMX RPM Power Domain in the Adreno driver.
145887cd46d6SAngeloGioacchino Del Regno			 */
145987cd46d6SAngeloGioacchino Del Regno			power-domains = <&gpucc GPU_GX_GDSC>;
146087cd46d6SAngeloGioacchino Del Regno			status = "disabled";
146187cd46d6SAngeloGioacchino Del Regno		};
146287cd46d6SAngeloGioacchino Del Regno
1463876a7573SJeffrey Hugo		gpucc: clock-controller@5065000 {
1464876a7573SJeffrey Hugo			compatible = "qcom,msm8998-gpucc";
1465876a7573SJeffrey Hugo			#clock-cells = <1>;
1466876a7573SJeffrey Hugo			#reset-cells = <1>;
1467876a7573SJeffrey Hugo			#power-domain-cells = <1>;
1468876a7573SJeffrey Hugo			reg = <0x05065000 0x9000>;
1469876a7573SJeffrey Hugo
1470876a7573SJeffrey Hugo			clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>,
1471876a7573SJeffrey Hugo				 <&gcc GPLL0_OUT_MAIN>;
1472876a7573SJeffrey Hugo			clock-names = "xo",
1473876a7573SJeffrey Hugo				      "gpll0";
1474876a7573SJeffrey Hugo		};
1475876a7573SJeffrey Hugo
1476a9ee66deSSibi Sankar		remoteproc_slpi: remoteproc@5800000 {
1477a9ee66deSSibi Sankar			compatible = "qcom,msm8998-slpi-pas";
1478a9ee66deSSibi Sankar			reg = <0x05800000 0x4040>;
1479a9ee66deSSibi Sankar
1480a9ee66deSSibi Sankar			interrupts-extended = <&intc GIC_SPI 390 IRQ_TYPE_EDGE_RISING>,
1481a9ee66deSSibi Sankar					      <&slpi_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
1482a9ee66deSSibi Sankar					      <&slpi_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
1483a9ee66deSSibi Sankar					      <&slpi_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
1484a9ee66deSSibi Sankar					      <&slpi_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
1485a9ee66deSSibi Sankar			interrupt-names = "wdog", "fatal", "ready",
1486a9ee66deSSibi Sankar					  "handover", "stop-ack";
1487a9ee66deSSibi Sankar
1488a9ee66deSSibi Sankar			px-supply = <&vreg_lvs2a_1p8>;
1489a9ee66deSSibi Sankar
1490a9ee66deSSibi Sankar			clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>,
1491a9ee66deSSibi Sankar				 <&rpmcc RPM_SMD_AGGR2_NOC_CLK>;
1492a9ee66deSSibi Sankar			clock-names = "xo", "aggre2";
1493a9ee66deSSibi Sankar
1494a9ee66deSSibi Sankar			memory-region = <&slpi_mem>;
1495a9ee66deSSibi Sankar
1496a9ee66deSSibi Sankar			qcom,smem-states = <&slpi_smp2p_out 0>;
1497a9ee66deSSibi Sankar			qcom,smem-state-names = "stop";
1498a9ee66deSSibi Sankar
1499a9ee66deSSibi Sankar			power-domains = <&rpmpd MSM8998_SSCCX>;
1500a9ee66deSSibi Sankar			power-domain-names = "ssc_cx";
1501a9ee66deSSibi Sankar
1502a9ee66deSSibi Sankar			status = "disabled";
1503a9ee66deSSibi Sankar
1504a9ee66deSSibi Sankar			glink-edge {
1505a9ee66deSSibi Sankar				interrupts = <GIC_SPI 179 IRQ_TYPE_EDGE_RISING>;
1506a9ee66deSSibi Sankar				label = "dsps";
1507a9ee66deSSibi Sankar				qcom,remote-pid = <3>;
1508a9ee66deSSibi Sankar				mboxes = <&apcs_glb 27>;
1509a9ee66deSSibi Sankar			};
1510a9ee66deSSibi Sankar		};
1511a9ee66deSSibi Sankar
1512a636f93fSSai Prakash Ranjan		stm: stm@6002000 {
1513783abfa2SSai Prakash Ranjan			compatible = "arm,coresight-stm", "arm,primecell";
1514783abfa2SSai Prakash Ranjan			reg = <0x06002000 0x1000>,
1515783abfa2SSai Prakash Ranjan			      <0x16280000 0x180000>;
1516783abfa2SSai Prakash Ranjan			reg-names = "stm-base", "stm-data-base";
1517a636f93fSSai Prakash Ranjan			status = "disabled";
1518783abfa2SSai Prakash Ranjan
1519783abfa2SSai Prakash Ranjan			clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
1520783abfa2SSai Prakash Ranjan			clock-names = "apb_pclk", "atclk";
1521783abfa2SSai Prakash Ranjan
1522783abfa2SSai Prakash Ranjan			out-ports {
1523783abfa2SSai Prakash Ranjan				port {
1524783abfa2SSai Prakash Ranjan					stm_out: endpoint {
1525783abfa2SSai Prakash Ranjan						remote-endpoint = <&funnel0_in7>;
1526783abfa2SSai Prakash Ranjan					};
1527783abfa2SSai Prakash Ranjan				};
1528783abfa2SSai Prakash Ranjan			};
1529783abfa2SSai Prakash Ranjan		};
1530783abfa2SSai Prakash Ranjan
1531a636f93fSSai Prakash Ranjan		funnel1: funnel@6041000 {
1532783abfa2SSai Prakash Ranjan			compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
1533783abfa2SSai Prakash Ranjan			reg = <0x06041000 0x1000>;
1534a636f93fSSai Prakash Ranjan			status = "disabled";
1535783abfa2SSai Prakash Ranjan
1536783abfa2SSai Prakash Ranjan			clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
1537783abfa2SSai Prakash Ranjan			clock-names = "apb_pclk", "atclk";
1538783abfa2SSai Prakash Ranjan
1539783abfa2SSai Prakash Ranjan			out-ports {
1540783abfa2SSai Prakash Ranjan				port {
1541783abfa2SSai Prakash Ranjan					funnel0_out: endpoint {
1542783abfa2SSai Prakash Ranjan						remote-endpoint =
1543783abfa2SSai Prakash Ranjan						  <&merge_funnel_in0>;
1544783abfa2SSai Prakash Ranjan					};
1545783abfa2SSai Prakash Ranjan				};
1546783abfa2SSai Prakash Ranjan			};
1547783abfa2SSai Prakash Ranjan
1548783abfa2SSai Prakash Ranjan			in-ports {
1549783abfa2SSai Prakash Ranjan				#address-cells = <1>;
1550783abfa2SSai Prakash Ranjan				#size-cells = <0>;
1551783abfa2SSai Prakash Ranjan
1552783abfa2SSai Prakash Ranjan				port@7 {
1553783abfa2SSai Prakash Ranjan					reg = <7>;
1554783abfa2SSai Prakash Ranjan					funnel0_in7: endpoint {
1555783abfa2SSai Prakash Ranjan						remote-endpoint = <&stm_out>;
1556783abfa2SSai Prakash Ranjan					};
1557783abfa2SSai Prakash Ranjan				};
1558783abfa2SSai Prakash Ranjan			};
1559783abfa2SSai Prakash Ranjan		};
1560783abfa2SSai Prakash Ranjan
1561a636f93fSSai Prakash Ranjan		funnel2: funnel@6042000 {
1562783abfa2SSai Prakash Ranjan			compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
1563783abfa2SSai Prakash Ranjan			reg = <0x06042000 0x1000>;
1564a636f93fSSai Prakash Ranjan			status = "disabled";
1565783abfa2SSai Prakash Ranjan
1566783abfa2SSai Prakash Ranjan			clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
1567783abfa2SSai Prakash Ranjan			clock-names = "apb_pclk", "atclk";
1568783abfa2SSai Prakash Ranjan
1569783abfa2SSai Prakash Ranjan			out-ports {
1570783abfa2SSai Prakash Ranjan				port {
1571783abfa2SSai Prakash Ranjan					funnel1_out: endpoint {
1572783abfa2SSai Prakash Ranjan						remote-endpoint =
1573783abfa2SSai Prakash Ranjan						  <&merge_funnel_in1>;
1574783abfa2SSai Prakash Ranjan					};
1575783abfa2SSai Prakash Ranjan				};
1576783abfa2SSai Prakash Ranjan			};
1577783abfa2SSai Prakash Ranjan
1578783abfa2SSai Prakash Ranjan			in-ports {
1579783abfa2SSai Prakash Ranjan				#address-cells = <1>;
1580783abfa2SSai Prakash Ranjan				#size-cells = <0>;
1581783abfa2SSai Prakash Ranjan
1582783abfa2SSai Prakash Ranjan				port@6 {
1583783abfa2SSai Prakash Ranjan					reg = <6>;
1584783abfa2SSai Prakash Ranjan					funnel1_in6: endpoint {
1585783abfa2SSai Prakash Ranjan						remote-endpoint =
1586783abfa2SSai Prakash Ranjan						  <&apss_merge_funnel_out>;
1587783abfa2SSai Prakash Ranjan					};
1588783abfa2SSai Prakash Ranjan				};
1589783abfa2SSai Prakash Ranjan			};
1590783abfa2SSai Prakash Ranjan		};
1591783abfa2SSai Prakash Ranjan
1592a636f93fSSai Prakash Ranjan		funnel3: funnel@6045000 {
1593783abfa2SSai Prakash Ranjan			compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
1594783abfa2SSai Prakash Ranjan			reg = <0x06045000 0x1000>;
1595a636f93fSSai Prakash Ranjan			status = "disabled";
1596783abfa2SSai Prakash Ranjan
1597783abfa2SSai Prakash Ranjan			clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
1598783abfa2SSai Prakash Ranjan			clock-names = "apb_pclk", "atclk";
1599783abfa2SSai Prakash Ranjan
1600783abfa2SSai Prakash Ranjan			out-ports {
1601783abfa2SSai Prakash Ranjan				port {
1602783abfa2SSai Prakash Ranjan					merge_funnel_out: endpoint {
1603783abfa2SSai Prakash Ranjan						remote-endpoint =
1604783abfa2SSai Prakash Ranjan						  <&etf_in>;
1605783abfa2SSai Prakash Ranjan					};
1606783abfa2SSai Prakash Ranjan				};
1607783abfa2SSai Prakash Ranjan			};
1608783abfa2SSai Prakash Ranjan
1609783abfa2SSai Prakash Ranjan			in-ports {
1610783abfa2SSai Prakash Ranjan				#address-cells = <1>;
1611783abfa2SSai Prakash Ranjan				#size-cells = <0>;
1612783abfa2SSai Prakash Ranjan
1613783abfa2SSai Prakash Ranjan				port@0 {
1614783abfa2SSai Prakash Ranjan					reg = <0>;
1615783abfa2SSai Prakash Ranjan					merge_funnel_in0: endpoint {
1616783abfa2SSai Prakash Ranjan						remote-endpoint =
1617783abfa2SSai Prakash Ranjan						  <&funnel0_out>;
1618783abfa2SSai Prakash Ranjan					};
1619783abfa2SSai Prakash Ranjan				};
1620783abfa2SSai Prakash Ranjan
1621783abfa2SSai Prakash Ranjan				port@1 {
1622783abfa2SSai Prakash Ranjan					reg = <1>;
1623783abfa2SSai Prakash Ranjan					merge_funnel_in1: endpoint {
1624783abfa2SSai Prakash Ranjan						remote-endpoint =
1625783abfa2SSai Prakash Ranjan						  <&funnel1_out>;
1626783abfa2SSai Prakash Ranjan					};
1627783abfa2SSai Prakash Ranjan				};
1628783abfa2SSai Prakash Ranjan			};
1629783abfa2SSai Prakash Ranjan		};
1630783abfa2SSai Prakash Ranjan
1631a636f93fSSai Prakash Ranjan		replicator1: replicator@6046000 {
1632783abfa2SSai Prakash Ranjan			compatible = "arm,coresight-dynamic-replicator", "arm,primecell";
1633783abfa2SSai Prakash Ranjan			reg = <0x06046000 0x1000>;
1634a636f93fSSai Prakash Ranjan			status = "disabled";
1635783abfa2SSai Prakash Ranjan
1636783abfa2SSai Prakash Ranjan			clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
1637783abfa2SSai Prakash Ranjan			clock-names = "apb_pclk", "atclk";
1638783abfa2SSai Prakash Ranjan
1639783abfa2SSai Prakash Ranjan			out-ports {
1640783abfa2SSai Prakash Ranjan				port {
1641783abfa2SSai Prakash Ranjan					replicator_out: endpoint {
1642783abfa2SSai Prakash Ranjan						remote-endpoint = <&etr_in>;
1643783abfa2SSai Prakash Ranjan					};
1644783abfa2SSai Prakash Ranjan				};
1645783abfa2SSai Prakash Ranjan			};
1646783abfa2SSai Prakash Ranjan
1647783abfa2SSai Prakash Ranjan			in-ports {
1648783abfa2SSai Prakash Ranjan				port {
1649783abfa2SSai Prakash Ranjan					replicator_in: endpoint {
1650783abfa2SSai Prakash Ranjan						remote-endpoint = <&etf_out>;
1651783abfa2SSai Prakash Ranjan					};
1652783abfa2SSai Prakash Ranjan				};
1653783abfa2SSai Prakash Ranjan			};
1654783abfa2SSai Prakash Ranjan		};
1655783abfa2SSai Prakash Ranjan
1656a636f93fSSai Prakash Ranjan		etf: etf@6047000 {
1657783abfa2SSai Prakash Ranjan			compatible = "arm,coresight-tmc", "arm,primecell";
1658783abfa2SSai Prakash Ranjan			reg = <0x06047000 0x1000>;
1659a636f93fSSai Prakash Ranjan			status = "disabled";
1660783abfa2SSai Prakash Ranjan
1661783abfa2SSai Prakash Ranjan			clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
1662783abfa2SSai Prakash Ranjan			clock-names = "apb_pclk", "atclk";
1663783abfa2SSai Prakash Ranjan
1664783abfa2SSai Prakash Ranjan			out-ports {
1665783abfa2SSai Prakash Ranjan				port {
1666783abfa2SSai Prakash Ranjan					etf_out: endpoint {
1667783abfa2SSai Prakash Ranjan						remote-endpoint =
1668783abfa2SSai Prakash Ranjan						  <&replicator_in>;
1669783abfa2SSai Prakash Ranjan					};
1670783abfa2SSai Prakash Ranjan				};
1671783abfa2SSai Prakash Ranjan			};
1672783abfa2SSai Prakash Ranjan
1673783abfa2SSai Prakash Ranjan			in-ports {
1674783abfa2SSai Prakash Ranjan				port {
1675783abfa2SSai Prakash Ranjan					etf_in: endpoint {
1676783abfa2SSai Prakash Ranjan						remote-endpoint =
1677783abfa2SSai Prakash Ranjan						  <&merge_funnel_out>;
1678783abfa2SSai Prakash Ranjan					};
1679783abfa2SSai Prakash Ranjan				};
1680783abfa2SSai Prakash Ranjan			};
1681783abfa2SSai Prakash Ranjan		};
1682783abfa2SSai Prakash Ranjan
1683a636f93fSSai Prakash Ranjan		etr: etr@6048000 {
1684783abfa2SSai Prakash Ranjan			compatible = "arm,coresight-tmc", "arm,primecell";
1685783abfa2SSai Prakash Ranjan			reg = <0x06048000 0x1000>;
1686a636f93fSSai Prakash Ranjan			status = "disabled";
1687783abfa2SSai Prakash Ranjan
1688783abfa2SSai Prakash Ranjan			clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
1689783abfa2SSai Prakash Ranjan			clock-names = "apb_pclk", "atclk";
1690783abfa2SSai Prakash Ranjan			arm,scatter-gather;
1691783abfa2SSai Prakash Ranjan
1692783abfa2SSai Prakash Ranjan			in-ports {
1693783abfa2SSai Prakash Ranjan				port {
1694783abfa2SSai Prakash Ranjan					etr_in: endpoint {
1695783abfa2SSai Prakash Ranjan						remote-endpoint =
1696783abfa2SSai Prakash Ranjan						  <&replicator_out>;
1697783abfa2SSai Prakash Ranjan					};
1698783abfa2SSai Prakash Ranjan				};
1699783abfa2SSai Prakash Ranjan			};
1700783abfa2SSai Prakash Ranjan		};
1701783abfa2SSai Prakash Ranjan
1702a636f93fSSai Prakash Ranjan		etm1: etm@7840000 {
1703783abfa2SSai Prakash Ranjan			compatible = "arm,coresight-etm4x", "arm,primecell";
1704783abfa2SSai Prakash Ranjan			reg = <0x07840000 0x1000>;
1705a636f93fSSai Prakash Ranjan			status = "disabled";
1706783abfa2SSai Prakash Ranjan
1707783abfa2SSai Prakash Ranjan			clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
1708783abfa2SSai Prakash Ranjan			clock-names = "apb_pclk", "atclk";
1709783abfa2SSai Prakash Ranjan
1710783abfa2SSai Prakash Ranjan			cpu = <&CPU0>;
1711783abfa2SSai Prakash Ranjan
1712783abfa2SSai Prakash Ranjan			out-ports {
1713783abfa2SSai Prakash Ranjan				port {
1714783abfa2SSai Prakash Ranjan					etm0_out: endpoint {
1715783abfa2SSai Prakash Ranjan						remote-endpoint =
1716783abfa2SSai Prakash Ranjan						  <&apss_funnel_in0>;
1717783abfa2SSai Prakash Ranjan					};
1718783abfa2SSai Prakash Ranjan				};
1719783abfa2SSai Prakash Ranjan			};
1720783abfa2SSai Prakash Ranjan		};
1721783abfa2SSai Prakash Ranjan
1722a636f93fSSai Prakash Ranjan		etm2: etm@7940000 {
1723783abfa2SSai Prakash Ranjan			compatible = "arm,coresight-etm4x", "arm,primecell";
1724783abfa2SSai Prakash Ranjan			reg = <0x07940000 0x1000>;
1725a636f93fSSai Prakash Ranjan			status = "disabled";
1726783abfa2SSai Prakash Ranjan
1727783abfa2SSai Prakash Ranjan			clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
1728783abfa2SSai Prakash Ranjan			clock-names = "apb_pclk", "atclk";
1729783abfa2SSai Prakash Ranjan
1730783abfa2SSai Prakash Ranjan			cpu = <&CPU1>;
1731783abfa2SSai Prakash Ranjan
1732783abfa2SSai Prakash Ranjan			out-ports {
1733783abfa2SSai Prakash Ranjan				port {
1734783abfa2SSai Prakash Ranjan					etm1_out: endpoint {
1735783abfa2SSai Prakash Ranjan						remote-endpoint =
1736783abfa2SSai Prakash Ranjan						  <&apss_funnel_in1>;
1737783abfa2SSai Prakash Ranjan					};
1738783abfa2SSai Prakash Ranjan				};
1739783abfa2SSai Prakash Ranjan			};
1740783abfa2SSai Prakash Ranjan		};
1741783abfa2SSai Prakash Ranjan
1742a636f93fSSai Prakash Ranjan		etm3: etm@7a40000 {
1743783abfa2SSai Prakash Ranjan			compatible = "arm,coresight-etm4x", "arm,primecell";
1744783abfa2SSai Prakash Ranjan			reg = <0x07a40000 0x1000>;
1745a636f93fSSai Prakash Ranjan			status = "disabled";
1746783abfa2SSai Prakash Ranjan
1747783abfa2SSai Prakash Ranjan			clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
1748783abfa2SSai Prakash Ranjan			clock-names = "apb_pclk", "atclk";
1749783abfa2SSai Prakash Ranjan
1750783abfa2SSai Prakash Ranjan			cpu = <&CPU2>;
1751783abfa2SSai Prakash Ranjan
1752783abfa2SSai Prakash Ranjan			out-ports {
1753783abfa2SSai Prakash Ranjan				port {
1754783abfa2SSai Prakash Ranjan					etm2_out: endpoint {
1755783abfa2SSai Prakash Ranjan						remote-endpoint =
1756783abfa2SSai Prakash Ranjan						  <&apss_funnel_in2>;
1757783abfa2SSai Prakash Ranjan					};
1758783abfa2SSai Prakash Ranjan				};
1759783abfa2SSai Prakash Ranjan			};
1760783abfa2SSai Prakash Ranjan		};
1761783abfa2SSai Prakash Ranjan
1762a636f93fSSai Prakash Ranjan		etm4: etm@7b40000 {
1763783abfa2SSai Prakash Ranjan			compatible = "arm,coresight-etm4x", "arm,primecell";
1764783abfa2SSai Prakash Ranjan			reg = <0x07b40000 0x1000>;
1765a636f93fSSai Prakash Ranjan			status = "disabled";
1766783abfa2SSai Prakash Ranjan
1767783abfa2SSai Prakash Ranjan			clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
1768783abfa2SSai Prakash Ranjan			clock-names = "apb_pclk", "atclk";
1769783abfa2SSai Prakash Ranjan
1770783abfa2SSai Prakash Ranjan			cpu = <&CPU3>;
1771783abfa2SSai Prakash Ranjan
1772783abfa2SSai Prakash Ranjan			out-ports {
1773783abfa2SSai Prakash Ranjan				port {
1774783abfa2SSai Prakash Ranjan					etm3_out: endpoint {
1775783abfa2SSai Prakash Ranjan						remote-endpoint =
1776783abfa2SSai Prakash Ranjan						  <&apss_funnel_in3>;
1777783abfa2SSai Prakash Ranjan					};
1778783abfa2SSai Prakash Ranjan				};
1779783abfa2SSai Prakash Ranjan			};
1780783abfa2SSai Prakash Ranjan		};
1781783abfa2SSai Prakash Ranjan
1782a636f93fSSai Prakash Ranjan		funnel4: funnel@7b60000 { /* APSS Funnel */
1783783abfa2SSai Prakash Ranjan			compatible = "arm,coresight-etm4x", "arm,primecell";
1784783abfa2SSai Prakash Ranjan			reg = <0x07b60000 0x1000>;
1785a636f93fSSai Prakash Ranjan			status = "disabled";
1786783abfa2SSai Prakash Ranjan
1787783abfa2SSai Prakash Ranjan			clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
1788783abfa2SSai Prakash Ranjan			clock-names = "apb_pclk", "atclk";
1789783abfa2SSai Prakash Ranjan
1790783abfa2SSai Prakash Ranjan			out-ports {
1791783abfa2SSai Prakash Ranjan				port {
1792783abfa2SSai Prakash Ranjan					apss_funnel_out: endpoint {
1793783abfa2SSai Prakash Ranjan						remote-endpoint =
1794783abfa2SSai Prakash Ranjan						  <&apss_merge_funnel_in>;
1795783abfa2SSai Prakash Ranjan					};
1796783abfa2SSai Prakash Ranjan				};
1797783abfa2SSai Prakash Ranjan			};
1798783abfa2SSai Prakash Ranjan
1799783abfa2SSai Prakash Ranjan			in-ports {
1800783abfa2SSai Prakash Ranjan				#address-cells = <1>;
1801783abfa2SSai Prakash Ranjan				#size-cells = <0>;
1802783abfa2SSai Prakash Ranjan
1803783abfa2SSai Prakash Ranjan				port@0 {
1804783abfa2SSai Prakash Ranjan					reg = <0>;
1805783abfa2SSai Prakash Ranjan					apss_funnel_in0: endpoint {
1806783abfa2SSai Prakash Ranjan						remote-endpoint =
1807783abfa2SSai Prakash Ranjan						  <&etm0_out>;
1808783abfa2SSai Prakash Ranjan					};
1809783abfa2SSai Prakash Ranjan				};
1810783abfa2SSai Prakash Ranjan
1811783abfa2SSai Prakash Ranjan				port@1 {
1812783abfa2SSai Prakash Ranjan					reg = <1>;
1813783abfa2SSai Prakash Ranjan					apss_funnel_in1: endpoint {
1814783abfa2SSai Prakash Ranjan						remote-endpoint =
1815783abfa2SSai Prakash Ranjan						  <&etm1_out>;
1816783abfa2SSai Prakash Ranjan					};
1817783abfa2SSai Prakash Ranjan				};
1818783abfa2SSai Prakash Ranjan
1819783abfa2SSai Prakash Ranjan				port@2 {
1820783abfa2SSai Prakash Ranjan					reg = <2>;
1821783abfa2SSai Prakash Ranjan					apss_funnel_in2: endpoint {
1822783abfa2SSai Prakash Ranjan						remote-endpoint =
1823783abfa2SSai Prakash Ranjan						  <&etm2_out>;
1824783abfa2SSai Prakash Ranjan					};
1825783abfa2SSai Prakash Ranjan				};
1826783abfa2SSai Prakash Ranjan
1827783abfa2SSai Prakash Ranjan				port@3 {
1828783abfa2SSai Prakash Ranjan					reg = <3>;
1829783abfa2SSai Prakash Ranjan					apss_funnel_in3: endpoint {
1830783abfa2SSai Prakash Ranjan						remote-endpoint =
1831783abfa2SSai Prakash Ranjan						  <&etm3_out>;
1832783abfa2SSai Prakash Ranjan					};
1833783abfa2SSai Prakash Ranjan				};
1834783abfa2SSai Prakash Ranjan
1835783abfa2SSai Prakash Ranjan				port@4 {
1836783abfa2SSai Prakash Ranjan					reg = <4>;
1837783abfa2SSai Prakash Ranjan					apss_funnel_in4: endpoint {
1838783abfa2SSai Prakash Ranjan						remote-endpoint =
1839783abfa2SSai Prakash Ranjan						  <&etm4_out>;
1840783abfa2SSai Prakash Ranjan					};
1841783abfa2SSai Prakash Ranjan				};
1842783abfa2SSai Prakash Ranjan
1843783abfa2SSai Prakash Ranjan				port@5 {
1844783abfa2SSai Prakash Ranjan					reg = <5>;
1845783abfa2SSai Prakash Ranjan					apss_funnel_in5: endpoint {
1846783abfa2SSai Prakash Ranjan						remote-endpoint =
1847783abfa2SSai Prakash Ranjan						  <&etm5_out>;
1848783abfa2SSai Prakash Ranjan					};
1849783abfa2SSai Prakash Ranjan				};
1850783abfa2SSai Prakash Ranjan
1851783abfa2SSai Prakash Ranjan				port@6 {
1852783abfa2SSai Prakash Ranjan					reg = <6>;
1853783abfa2SSai Prakash Ranjan					apss_funnel_in6: endpoint {
1854783abfa2SSai Prakash Ranjan						remote-endpoint =
1855783abfa2SSai Prakash Ranjan						  <&etm6_out>;
1856783abfa2SSai Prakash Ranjan					};
1857783abfa2SSai Prakash Ranjan				};
1858783abfa2SSai Prakash Ranjan
1859783abfa2SSai Prakash Ranjan				port@7 {
1860783abfa2SSai Prakash Ranjan					reg = <7>;
1861783abfa2SSai Prakash Ranjan					apss_funnel_in7: endpoint {
1862783abfa2SSai Prakash Ranjan						remote-endpoint =
1863783abfa2SSai Prakash Ranjan						  <&etm7_out>;
1864783abfa2SSai Prakash Ranjan					};
1865783abfa2SSai Prakash Ranjan				};
1866783abfa2SSai Prakash Ranjan			};
1867783abfa2SSai Prakash Ranjan		};
1868783abfa2SSai Prakash Ranjan
1869a636f93fSSai Prakash Ranjan		funnel5: funnel@7b70000 {
1870783abfa2SSai Prakash Ranjan			compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
1871783abfa2SSai Prakash Ranjan			reg = <0x07b70000 0x1000>;
1872a636f93fSSai Prakash Ranjan			status = "disabled";
1873783abfa2SSai Prakash Ranjan
1874783abfa2SSai Prakash Ranjan			clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
1875783abfa2SSai Prakash Ranjan			clock-names = "apb_pclk", "atclk";
1876783abfa2SSai Prakash Ranjan
1877783abfa2SSai Prakash Ranjan			out-ports {
1878783abfa2SSai Prakash Ranjan				port {
1879783abfa2SSai Prakash Ranjan					apss_merge_funnel_out: endpoint {
1880783abfa2SSai Prakash Ranjan						remote-endpoint =
1881783abfa2SSai Prakash Ranjan						  <&funnel1_in6>;
1882783abfa2SSai Prakash Ranjan					};
1883783abfa2SSai Prakash Ranjan				};
1884783abfa2SSai Prakash Ranjan			};
1885783abfa2SSai Prakash Ranjan
1886783abfa2SSai Prakash Ranjan			in-ports {
1887783abfa2SSai Prakash Ranjan				port {
1888783abfa2SSai Prakash Ranjan					apss_merge_funnel_in: endpoint {
1889783abfa2SSai Prakash Ranjan						remote-endpoint =
1890783abfa2SSai Prakash Ranjan						  <&apss_funnel_out>;
1891783abfa2SSai Prakash Ranjan					};
1892783abfa2SSai Prakash Ranjan				};
1893783abfa2SSai Prakash Ranjan			};
1894783abfa2SSai Prakash Ranjan		};
1895783abfa2SSai Prakash Ranjan
1896a636f93fSSai Prakash Ranjan		etm5: etm@7c40000 {
1897783abfa2SSai Prakash Ranjan			compatible = "arm,coresight-etm4x", "arm,primecell";
1898783abfa2SSai Prakash Ranjan			reg = <0x07c40000 0x1000>;
1899a636f93fSSai Prakash Ranjan			status = "disabled";
1900783abfa2SSai Prakash Ranjan
1901783abfa2SSai Prakash Ranjan			clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
1902783abfa2SSai Prakash Ranjan			clock-names = "apb_pclk", "atclk";
1903783abfa2SSai Prakash Ranjan
1904783abfa2SSai Prakash Ranjan			cpu = <&CPU4>;
1905783abfa2SSai Prakash Ranjan
1906783abfa2SSai Prakash Ranjan			port{
1907783abfa2SSai Prakash Ranjan				etm4_out: endpoint {
1908783abfa2SSai Prakash Ranjan					remote-endpoint = <&apss_funnel_in4>;
1909783abfa2SSai Prakash Ranjan				};
1910783abfa2SSai Prakash Ranjan			};
1911783abfa2SSai Prakash Ranjan		};
1912783abfa2SSai Prakash Ranjan
1913a636f93fSSai Prakash Ranjan		etm6: etm@7d40000 {
1914783abfa2SSai Prakash Ranjan			compatible = "arm,coresight-etm4x", "arm,primecell";
1915783abfa2SSai Prakash Ranjan			reg = <0x07d40000 0x1000>;
1916a636f93fSSai Prakash Ranjan			status = "disabled";
1917783abfa2SSai Prakash Ranjan
1918783abfa2SSai Prakash Ranjan			clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
1919783abfa2SSai Prakash Ranjan			clock-names = "apb_pclk", "atclk";
1920783abfa2SSai Prakash Ranjan
1921783abfa2SSai Prakash Ranjan			cpu = <&CPU5>;
1922783abfa2SSai Prakash Ranjan
1923783abfa2SSai Prakash Ranjan			port{
1924783abfa2SSai Prakash Ranjan				etm5_out: endpoint {
1925783abfa2SSai Prakash Ranjan					remote-endpoint = <&apss_funnel_in5>;
1926783abfa2SSai Prakash Ranjan				};
1927783abfa2SSai Prakash Ranjan			};
1928783abfa2SSai Prakash Ranjan		};
1929783abfa2SSai Prakash Ranjan
1930a636f93fSSai Prakash Ranjan		etm7: etm@7e40000 {
1931783abfa2SSai Prakash Ranjan			compatible = "arm,coresight-etm4x", "arm,primecell";
1932783abfa2SSai Prakash Ranjan			reg = <0x07e40000 0x1000>;
1933a636f93fSSai Prakash Ranjan			status = "disabled";
1934783abfa2SSai Prakash Ranjan
1935783abfa2SSai Prakash Ranjan			clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
1936783abfa2SSai Prakash Ranjan			clock-names = "apb_pclk", "atclk";
1937783abfa2SSai Prakash Ranjan
1938783abfa2SSai Prakash Ranjan			cpu = <&CPU6>;
1939783abfa2SSai Prakash Ranjan
1940783abfa2SSai Prakash Ranjan			port{
1941783abfa2SSai Prakash Ranjan				etm6_out: endpoint {
1942783abfa2SSai Prakash Ranjan					remote-endpoint = <&apss_funnel_in6>;
1943783abfa2SSai Prakash Ranjan				};
1944783abfa2SSai Prakash Ranjan			};
1945783abfa2SSai Prakash Ranjan		};
1946783abfa2SSai Prakash Ranjan
1947a636f93fSSai Prakash Ranjan		etm8: etm@7f40000 {
1948783abfa2SSai Prakash Ranjan			compatible = "arm,coresight-etm4x", "arm,primecell";
1949783abfa2SSai Prakash Ranjan			reg = <0x07f40000 0x1000>;
1950a636f93fSSai Prakash Ranjan			status = "disabled";
1951783abfa2SSai Prakash Ranjan
1952783abfa2SSai Prakash Ranjan			clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
1953783abfa2SSai Prakash Ranjan			clock-names = "apb_pclk", "atclk";
1954783abfa2SSai Prakash Ranjan
1955783abfa2SSai Prakash Ranjan			cpu = <&CPU7>;
1956783abfa2SSai Prakash Ranjan
1957783abfa2SSai Prakash Ranjan			port{
1958783abfa2SSai Prakash Ranjan				etm7_out: endpoint {
1959783abfa2SSai Prakash Ranjan					remote-endpoint = <&apss_funnel_in7>;
1960783abfa2SSai Prakash Ranjan				};
1961783abfa2SSai Prakash Ranjan			};
1962783abfa2SSai Prakash Ranjan		};
1963783abfa2SSai Prakash Ranjan
1964290bc684SMaulik Shah		sram@290000 {
1965290bc684SMaulik Shah			compatible = "qcom,rpm-stats";
1966290bc684SMaulik Shah			reg = <0x00290000 0x10000>;
1967290bc684SMaulik Shah		};
1968290bc684SMaulik Shah
196932a5da21SJeffrey Hugo		spmi_bus: spmi@800f000 {
197032a5da21SJeffrey Hugo			compatible = "qcom,spmi-pmic-arb";
197132a5da21SJeffrey Hugo			reg =	<0x0800f000 0x1000>,
197232a5da21SJeffrey Hugo				<0x08400000 0x1000000>,
197332a5da21SJeffrey Hugo				<0x09400000 0x1000000>,
197432a5da21SJeffrey Hugo				<0x0a400000 0x220000>,
197532a5da21SJeffrey Hugo				<0x0800a000 0x3000>;
197632a5da21SJeffrey Hugo			reg-names = "core", "chnls", "obsrvr", "intr", "cnfg";
197732a5da21SJeffrey Hugo			interrupt-names = "periph_irq";
197832a5da21SJeffrey Hugo			interrupts = <GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH>;
197932a5da21SJeffrey Hugo			qcom,ee = <0>;
198032a5da21SJeffrey Hugo			qcom,channel = <0>;
198132a5da21SJeffrey Hugo			#address-cells = <2>;
198232a5da21SJeffrey Hugo			#size-cells = <0>;
198332a5da21SJeffrey Hugo			interrupt-controller;
198432a5da21SJeffrey Hugo			#interrupt-cells = <4>;
198532a5da21SJeffrey Hugo			cell-index = <0>;
198631c1f0e3SBjorn Andersson		};
198731c1f0e3SBjorn Andersson
1988026dad8fSJeffrey Hugo		usb3: usb@a8f8800 {
1989026dad8fSJeffrey Hugo			compatible = "qcom,msm8998-dwc3", "qcom,dwc3";
1990026dad8fSJeffrey Hugo			reg = <0x0a8f8800 0x400>;
1991026dad8fSJeffrey Hugo			status = "disabled";
1992026dad8fSJeffrey Hugo			#address-cells = <1>;
1993026dad8fSJeffrey Hugo			#size-cells = <1>;
1994026dad8fSJeffrey Hugo			ranges;
1995026dad8fSJeffrey Hugo
1996026dad8fSJeffrey Hugo			clocks = <&gcc GCC_CFG_NOC_USB3_AXI_CLK>,
1997026dad8fSJeffrey Hugo				 <&gcc GCC_USB30_MASTER_CLK>,
1998026dad8fSJeffrey Hugo				 <&gcc GCC_AGGRE1_USB3_AXI_CLK>,
19998d5fd4e4SKrzysztof Kozlowski				 <&gcc GCC_USB30_SLEEP_CLK>,
20008d5fd4e4SKrzysztof Kozlowski				 <&gcc GCC_USB30_MOCK_UTMI_CLK>;
20018d5fd4e4SKrzysztof Kozlowski			clock-names = "cfg_noc",
20028d5fd4e4SKrzysztof Kozlowski				      "core",
20038d5fd4e4SKrzysztof Kozlowski				      "iface",
20048d5fd4e4SKrzysztof Kozlowski				      "sleep",
20058d5fd4e4SKrzysztof Kozlowski				      "mock_utmi";
2006026dad8fSJeffrey Hugo
2007026dad8fSJeffrey Hugo			assigned-clocks = <&gcc GCC_USB30_MOCK_UTMI_CLK>,
2008026dad8fSJeffrey Hugo					  <&gcc GCC_USB30_MASTER_CLK>;
2009026dad8fSJeffrey Hugo			assigned-clock-rates = <19200000>, <120000000>;
2010026dad8fSJeffrey Hugo
2011026dad8fSJeffrey Hugo			interrupts = <GIC_SPI 347 IRQ_TYPE_LEVEL_HIGH>,
2012026dad8fSJeffrey Hugo				     <GIC_SPI 243 IRQ_TYPE_LEVEL_HIGH>;
2013026dad8fSJeffrey Hugo			interrupt-names = "hs_phy_irq", "ss_phy_irq";
2014026dad8fSJeffrey Hugo
2015026dad8fSJeffrey Hugo			power-domains = <&gcc USB_30_GDSC>;
2016026dad8fSJeffrey Hugo
2017026dad8fSJeffrey Hugo			resets = <&gcc GCC_USB_30_BCR>;
2018026dad8fSJeffrey Hugo
2019b77a1c4dSKrzysztof Kozlowski			usb3_dwc3: usb@a800000 {
2020026dad8fSJeffrey Hugo				compatible = "snps,dwc3";
2021026dad8fSJeffrey Hugo				reg = <0x0a800000 0xcd00>;
2022026dad8fSJeffrey Hugo				interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>;
2023026dad8fSJeffrey Hugo				snps,dis_u2_susphy_quirk;
2024026dad8fSJeffrey Hugo				snps,dis_enblslpm_quirk;
2025026dad8fSJeffrey Hugo				phys = <&qusb2phy>, <&usb1_ssphy>;
2026026dad8fSJeffrey Hugo				phy-names = "usb2-phy", "usb3-phy";
2027026dad8fSJeffrey Hugo				snps,has-lpm-erratum;
2028026dad8fSJeffrey Hugo				snps,hird-threshold = /bits/ 8 <0x10>;
2029026dad8fSJeffrey Hugo			};
2030026dad8fSJeffrey Hugo		};
2031026dad8fSJeffrey Hugo
2032026dad8fSJeffrey Hugo		usb3phy: phy@c010000 {
2033026dad8fSJeffrey Hugo			compatible = "qcom,msm8998-qmp-usb3-phy";
2034026dad8fSJeffrey Hugo			reg = <0x0c010000 0x18c>;
2035026dad8fSJeffrey Hugo			status = "disabled";
2036026dad8fSJeffrey Hugo			#address-cells = <1>;
2037026dad8fSJeffrey Hugo			#size-cells = <1>;
2038026dad8fSJeffrey Hugo			ranges;
2039026dad8fSJeffrey Hugo
2040026dad8fSJeffrey Hugo			clocks = <&gcc GCC_USB3_PHY_AUX_CLK>,
2041026dad8fSJeffrey Hugo				 <&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>,
2042026dad8fSJeffrey Hugo				 <&gcc GCC_USB3_CLKREF_CLK>;
2043026dad8fSJeffrey Hugo			clock-names = "aux", "cfg_ahb", "ref";
2044026dad8fSJeffrey Hugo
2045026dad8fSJeffrey Hugo			resets = <&gcc GCC_USB3_PHY_BCR>,
2046026dad8fSJeffrey Hugo				 <&gcc GCC_USB3PHY_PHY_BCR>;
2047026dad8fSJeffrey Hugo			reset-names = "phy", "common";
2048026dad8fSJeffrey Hugo
20491351512fSShawn Guo			usb1_ssphy: phy@c010200 {
2050026dad8fSJeffrey Hugo				reg = <0xc010200 0x128>,
2051026dad8fSJeffrey Hugo				      <0xc010400 0x200>,
2052026dad8fSJeffrey Hugo				      <0xc010c00 0x20c>,
2053026dad8fSJeffrey Hugo				      <0xc010600 0x128>,
2054026dad8fSJeffrey Hugo				      <0xc010800 0x200>;
2055026dad8fSJeffrey Hugo				#phy-cells = <0>;
2056*ed9cbbcbSJohan Hovold				#clock-cells = <0>;
2057026dad8fSJeffrey Hugo				clocks = <&gcc GCC_USB3_PHY_PIPE_CLK>;
2058026dad8fSJeffrey Hugo				clock-names = "pipe0";
2059026dad8fSJeffrey Hugo				clock-output-names = "usb3_phy_pipe_clk_src";
2060026dad8fSJeffrey Hugo			};
2061026dad8fSJeffrey Hugo		};
2062026dad8fSJeffrey Hugo
2063026dad8fSJeffrey Hugo		qusb2phy: phy@c012000 {
2064026dad8fSJeffrey Hugo			compatible = "qcom,msm8998-qusb2-phy";
2065026dad8fSJeffrey Hugo			reg = <0x0c012000 0x2a8>;
2066026dad8fSJeffrey Hugo			status = "disabled";
2067026dad8fSJeffrey Hugo			#phy-cells = <0>;
2068026dad8fSJeffrey Hugo
2069026dad8fSJeffrey Hugo			clocks = <&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>,
2070026dad8fSJeffrey Hugo				 <&gcc GCC_RX1_USB2_CLKREF_CLK>;
2071026dad8fSJeffrey Hugo			clock-names = "cfg_ahb", "ref";
2072026dad8fSJeffrey Hugo
2073026dad8fSJeffrey Hugo			resets = <&gcc GCC_QUSB2PHY_PRIM_BCR>;
2074026dad8fSJeffrey Hugo
2075026dad8fSJeffrey Hugo			nvmem-cells = <&qusb2_hstx_trim>;
2076026dad8fSJeffrey Hugo		};
2077026dad8fSJeffrey Hugo
207896bb736fSBhupesh Sharma		sdhc2: mmc@c0a4900 {
20791cfce828SJeffrey Hugo			compatible = "qcom,sdhci-msm-v4";
208032a5da21SJeffrey Hugo			reg = <0x0c0a4900 0x314>, <0x0c0a4000 0x800>;
20811cfce828SJeffrey Hugo			reg-names = "hc_mem", "core_mem";
20821cfce828SJeffrey Hugo
20831cfce828SJeffrey Hugo			interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>,
20841cfce828SJeffrey Hugo				     <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>;
20851cfce828SJeffrey Hugo			interrupt-names = "hc_irq", "pwr_irq";
20861cfce828SJeffrey Hugo
20871cfce828SJeffrey Hugo			clock-names = "iface", "core", "xo";
20881cfce828SJeffrey Hugo			clocks = <&gcc GCC_SDCC2_AHB_CLK>,
20891cfce828SJeffrey Hugo				 <&gcc GCC_SDCC2_APPS_CLK>,
20901cfce828SJeffrey Hugo				 <&xo>;
20911cfce828SJeffrey Hugo			bus-width = <4>;
20921cfce828SJeffrey Hugo			status = "disabled";
20931cfce828SJeffrey Hugo		};
20941cfce828SJeffrey Hugo
209594ed1811SVinod Koul		blsp1_dma: dma-controller@c144000 {
2096f1c1d4feSJeffrey Hugo			compatible = "qcom,bam-v1.7.0";
2097f1c1d4feSJeffrey Hugo			reg = <0x0c144000 0x25000>;
2098f1c1d4feSJeffrey Hugo			interrupts = <GIC_SPI 238 IRQ_TYPE_LEVEL_HIGH>;
2099f1c1d4feSJeffrey Hugo			clocks = <&gcc GCC_BLSP1_AHB_CLK>;
2100f1c1d4feSJeffrey Hugo			clock-names = "bam_clk";
2101f1c1d4feSJeffrey Hugo			#dma-cells = <1>;
2102f1c1d4feSJeffrey Hugo			qcom,ee = <0>;
2103f1c1d4feSJeffrey Hugo			qcom,controlled-remotely;
2104f1c1d4feSJeffrey Hugo			num-channels = <18>;
2105f1c1d4feSJeffrey Hugo			qcom,num-ees = <4>;
2106f1c1d4feSJeffrey Hugo		};
2107f1c1d4feSJeffrey Hugo
210873d4d2efSJeffrey Hugo		blsp1_uart3: serial@c171000 {
210973d4d2efSJeffrey Hugo			compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
211073d4d2efSJeffrey Hugo			reg = <0x0c171000 0x1000>;
211173d4d2efSJeffrey Hugo			interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>;
211273d4d2efSJeffrey Hugo			clocks = <&gcc GCC_BLSP1_UART3_APPS_CLK>,
211373d4d2efSJeffrey Hugo				 <&gcc GCC_BLSP1_AHB_CLK>;
211473d4d2efSJeffrey Hugo			clock-names = "core", "iface";
211573d4d2efSJeffrey Hugo			dmas = <&blsp1_dma 4>, <&blsp1_dma 5>;
211673d4d2efSJeffrey Hugo			dma-names = "tx", "rx";
211773d4d2efSJeffrey Hugo			pinctrl-names = "default";
211873d4d2efSJeffrey Hugo			pinctrl-0 = <&blsp1_uart3_on>;
211973d4d2efSJeffrey Hugo			status = "disabled";
212073d4d2efSJeffrey Hugo		};
212173d4d2efSJeffrey Hugo
21221e71d0c2SJeffrey Hugo		blsp1_i2c1: i2c@c175000 {
21231e71d0c2SJeffrey Hugo			compatible = "qcom,i2c-qup-v2.2.1";
21241e71d0c2SJeffrey Hugo			reg = <0x0c175000 0x600>;
21251e71d0c2SJeffrey Hugo			interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
21261e71d0c2SJeffrey Hugo
21271e71d0c2SJeffrey Hugo			clocks = <&gcc GCC_BLSP1_QUP1_I2C_APPS_CLK>,
21281e71d0c2SJeffrey Hugo				 <&gcc GCC_BLSP1_AHB_CLK>;
21291e71d0c2SJeffrey Hugo			clock-names = "core", "iface";
21306845359eSKonrad Dybcio			dmas = <&blsp1_dma 6>, <&blsp1_dma 7>;
21316845359eSKonrad Dybcio			dma-names = "tx", "rx";
21320fee55fcSKonrad Dybcio			pinctrl-names = "default", "sleep";
21330fee55fcSKonrad Dybcio			pinctrl-0 = <&blsp1_i2c1_default>;
21340fee55fcSKonrad Dybcio			pinctrl-1 = <&blsp1_i2c1_sleep>;
21351e71d0c2SJeffrey Hugo			clock-frequency = <400000>;
21361e71d0c2SJeffrey Hugo
21371e71d0c2SJeffrey Hugo			status = "disabled";
21381e71d0c2SJeffrey Hugo			#address-cells = <1>;
21391e71d0c2SJeffrey Hugo			#size-cells = <0>;
21401e71d0c2SJeffrey Hugo		};
21411e71d0c2SJeffrey Hugo
21421e71d0c2SJeffrey Hugo		blsp1_i2c2: i2c@c176000 {
21431e71d0c2SJeffrey Hugo			compatible = "qcom,i2c-qup-v2.2.1";
21441e71d0c2SJeffrey Hugo			reg = <0x0c176000 0x600>;
21451e71d0c2SJeffrey Hugo			interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
21461e71d0c2SJeffrey Hugo
21471e71d0c2SJeffrey Hugo			clocks = <&gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>,
21481e71d0c2SJeffrey Hugo				 <&gcc GCC_BLSP1_AHB_CLK>;
21491e71d0c2SJeffrey Hugo			clock-names = "core", "iface";
21506845359eSKonrad Dybcio			dmas = <&blsp1_dma 8>, <&blsp1_dma 9>;
21516845359eSKonrad Dybcio			dma-names = "tx", "rx";
21520fee55fcSKonrad Dybcio			pinctrl-names = "default", "sleep";
21530fee55fcSKonrad Dybcio			pinctrl-0 = <&blsp1_i2c2_default>;
21540fee55fcSKonrad Dybcio			pinctrl-1 = <&blsp1_i2c2_sleep>;
21551e71d0c2SJeffrey Hugo			clock-frequency = <400000>;
21561e71d0c2SJeffrey Hugo
21571e71d0c2SJeffrey Hugo			status = "disabled";
21581e71d0c2SJeffrey Hugo			#address-cells = <1>;
21591e71d0c2SJeffrey Hugo			#size-cells = <0>;
21601e71d0c2SJeffrey Hugo		};
21611e71d0c2SJeffrey Hugo
21621e71d0c2SJeffrey Hugo		blsp1_i2c3: i2c@c177000 {
21631e71d0c2SJeffrey Hugo			compatible = "qcom,i2c-qup-v2.2.1";
21641e71d0c2SJeffrey Hugo			reg = <0x0c177000 0x600>;
21651e71d0c2SJeffrey Hugo			interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
21661e71d0c2SJeffrey Hugo
21671e71d0c2SJeffrey Hugo			clocks = <&gcc GCC_BLSP1_QUP3_I2C_APPS_CLK>,
21681e71d0c2SJeffrey Hugo				 <&gcc GCC_BLSP1_AHB_CLK>;
21691e71d0c2SJeffrey Hugo			clock-names = "core", "iface";
21706845359eSKonrad Dybcio			dmas = <&blsp1_dma 10>, <&blsp1_dma 11>;
21716845359eSKonrad Dybcio			dma-names = "tx", "rx";
21720fee55fcSKonrad Dybcio			pinctrl-names = "default", "sleep";
21730fee55fcSKonrad Dybcio			pinctrl-0 = <&blsp1_i2c3_default>;
21740fee55fcSKonrad Dybcio			pinctrl-1 = <&blsp1_i2c3_sleep>;
21751e71d0c2SJeffrey Hugo			clock-frequency = <400000>;
21761e71d0c2SJeffrey Hugo
21771e71d0c2SJeffrey Hugo			status = "disabled";
21781e71d0c2SJeffrey Hugo			#address-cells = <1>;
21791e71d0c2SJeffrey Hugo			#size-cells = <0>;
21801e71d0c2SJeffrey Hugo		};
21811e71d0c2SJeffrey Hugo
21821e71d0c2SJeffrey Hugo		blsp1_i2c4: i2c@c178000 {
21831e71d0c2SJeffrey Hugo			compatible = "qcom,i2c-qup-v2.2.1";
21841e71d0c2SJeffrey Hugo			reg = <0x0c178000 0x600>;
21851e71d0c2SJeffrey Hugo			interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
21861e71d0c2SJeffrey Hugo
21871e71d0c2SJeffrey Hugo			clocks = <&gcc GCC_BLSP1_QUP4_I2C_APPS_CLK>,
21881e71d0c2SJeffrey Hugo				 <&gcc GCC_BLSP1_AHB_CLK>;
21891e71d0c2SJeffrey Hugo			clock-names = "core", "iface";
21906845359eSKonrad Dybcio			dmas = <&blsp1_dma 12>, <&blsp1_dma 13>;
21916845359eSKonrad Dybcio			dma-names = "tx", "rx";
21920fee55fcSKonrad Dybcio			pinctrl-names = "default", "sleep";
21930fee55fcSKonrad Dybcio			pinctrl-0 = <&blsp1_i2c4_default>;
21940fee55fcSKonrad Dybcio			pinctrl-1 = <&blsp1_i2c4_sleep>;
21951e71d0c2SJeffrey Hugo			clock-frequency = <400000>;
21961e71d0c2SJeffrey Hugo
21971e71d0c2SJeffrey Hugo			status = "disabled";
21981e71d0c2SJeffrey Hugo			#address-cells = <1>;
21991e71d0c2SJeffrey Hugo			#size-cells = <0>;
22001e71d0c2SJeffrey Hugo		};
22011e71d0c2SJeffrey Hugo
22021e71d0c2SJeffrey Hugo		blsp1_i2c5: i2c@c179000 {
22031e71d0c2SJeffrey Hugo			compatible = "qcom,i2c-qup-v2.2.1";
22041e71d0c2SJeffrey Hugo			reg = <0x0c179000 0x600>;
22051e71d0c2SJeffrey Hugo			interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
22061e71d0c2SJeffrey Hugo
22071e71d0c2SJeffrey Hugo			clocks = <&gcc GCC_BLSP1_QUP5_I2C_APPS_CLK>,
22081e71d0c2SJeffrey Hugo				 <&gcc GCC_BLSP1_AHB_CLK>;
22091e71d0c2SJeffrey Hugo			clock-names = "core", "iface";
22106845359eSKonrad Dybcio			dmas = <&blsp1_dma 14>, <&blsp1_dma 15>;
22116845359eSKonrad Dybcio			dma-names = "tx", "rx";
22120fee55fcSKonrad Dybcio			pinctrl-names = "default", "sleep";
22130fee55fcSKonrad Dybcio			pinctrl-0 = <&blsp1_i2c5_default>;
22140fee55fcSKonrad Dybcio			pinctrl-1 = <&blsp1_i2c5_sleep>;
22151e71d0c2SJeffrey Hugo			clock-frequency = <400000>;
22161e71d0c2SJeffrey Hugo
22171e71d0c2SJeffrey Hugo			status = "disabled";
22181e71d0c2SJeffrey Hugo			#address-cells = <1>;
22191e71d0c2SJeffrey Hugo			#size-cells = <0>;
22201e71d0c2SJeffrey Hugo		};
22211e71d0c2SJeffrey Hugo
22221e71d0c2SJeffrey Hugo		blsp1_i2c6: i2c@c17a000 {
22231e71d0c2SJeffrey Hugo			compatible = "qcom,i2c-qup-v2.2.1";
22241e71d0c2SJeffrey Hugo			reg = <0x0c17a000 0x600>;
22251e71d0c2SJeffrey Hugo			interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
22261e71d0c2SJeffrey Hugo
22271e71d0c2SJeffrey Hugo			clocks = <&gcc GCC_BLSP1_QUP6_I2C_APPS_CLK>,
22281e71d0c2SJeffrey Hugo				 <&gcc GCC_BLSP1_AHB_CLK>;
22291e71d0c2SJeffrey Hugo			clock-names = "core", "iface";
22306845359eSKonrad Dybcio			dmas = <&blsp1_dma 16>, <&blsp1_dma 17>;
22316845359eSKonrad Dybcio			dma-names = "tx", "rx";
22320fee55fcSKonrad Dybcio			pinctrl-names = "default", "sleep";
22330fee55fcSKonrad Dybcio			pinctrl-0 = <&blsp1_i2c6_default>;
22340fee55fcSKonrad Dybcio			pinctrl-1 = <&blsp1_i2c6_sleep>;
22351e71d0c2SJeffrey Hugo			clock-frequency = <400000>;
22361e71d0c2SJeffrey Hugo
22371e71d0c2SJeffrey Hugo			status = "disabled";
22381e71d0c2SJeffrey Hugo			#address-cells = <1>;
22391e71d0c2SJeffrey Hugo			#size-cells = <0>;
22401e71d0c2SJeffrey Hugo		};
22411e71d0c2SJeffrey Hugo
2242bbef0142SShawn Guo		blsp2_dma: dma-controller@c184000 {
22436845359eSKonrad Dybcio			compatible = "qcom,bam-v1.7.0";
22446845359eSKonrad Dybcio			reg = <0x0c184000 0x25000>;
22456845359eSKonrad Dybcio			interrupts = <GIC_SPI 239 IRQ_TYPE_LEVEL_HIGH>;
22466845359eSKonrad Dybcio			clocks = <&gcc GCC_BLSP2_AHB_CLK>;
22476845359eSKonrad Dybcio			clock-names = "bam_clk";
22486845359eSKonrad Dybcio			#dma-cells = <1>;
22496845359eSKonrad Dybcio			qcom,ee = <0>;
22506845359eSKonrad Dybcio			qcom,controlled-remotely;
22516845359eSKonrad Dybcio			num-channels = <18>;
22526845359eSKonrad Dybcio			qcom,num-ees = <4>;
22536845359eSKonrad Dybcio		};
22546845359eSKonrad Dybcio
225532a5da21SJeffrey Hugo		blsp2_uart1: serial@c1b0000 {
225632a5da21SJeffrey Hugo			compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
225732a5da21SJeffrey Hugo			reg = <0x0c1b0000 0x1000>;
225832a5da21SJeffrey Hugo			interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
225932a5da21SJeffrey Hugo			clocks = <&gcc GCC_BLSP2_UART2_APPS_CLK>,
226032a5da21SJeffrey Hugo				 <&gcc GCC_BLSP2_AHB_CLK>;
226132a5da21SJeffrey Hugo			clock-names = "core", "iface";
226232a5da21SJeffrey Hugo			status = "disabled";
226332a5da21SJeffrey Hugo		};
226432a5da21SJeffrey Hugo
22650fee55fcSKonrad Dybcio		blsp2_i2c1: i2c@c1b5000 {
22661e71d0c2SJeffrey Hugo			compatible = "qcom,i2c-qup-v2.2.1";
22671e71d0c2SJeffrey Hugo			reg = <0x0c1b5000 0x600>;
22681e71d0c2SJeffrey Hugo			interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
22691e71d0c2SJeffrey Hugo
22701e71d0c2SJeffrey Hugo			clocks = <&gcc GCC_BLSP2_QUP1_I2C_APPS_CLK>,
22711e71d0c2SJeffrey Hugo				 <&gcc GCC_BLSP2_AHB_CLK>;
22721e71d0c2SJeffrey Hugo			clock-names = "core", "iface";
22736845359eSKonrad Dybcio			dmas = <&blsp2_dma 6>, <&blsp2_dma 7>;
22746845359eSKonrad Dybcio			dma-names = "tx", "rx";
22750fee55fcSKonrad Dybcio			pinctrl-names = "default", "sleep";
22760fee55fcSKonrad Dybcio			pinctrl-0 = <&blsp2_i2c1_default>;
22770fee55fcSKonrad Dybcio			pinctrl-1 = <&blsp2_i2c1_sleep>;
22781e71d0c2SJeffrey Hugo			clock-frequency = <400000>;
22791e71d0c2SJeffrey Hugo
22801e71d0c2SJeffrey Hugo			status = "disabled";
22811e71d0c2SJeffrey Hugo			#address-cells = <1>;
22821e71d0c2SJeffrey Hugo			#size-cells = <0>;
22831e71d0c2SJeffrey Hugo		};
22841e71d0c2SJeffrey Hugo
22850fee55fcSKonrad Dybcio		blsp2_i2c2: i2c@c1b6000 {
22861e71d0c2SJeffrey Hugo			compatible = "qcom,i2c-qup-v2.2.1";
22871e71d0c2SJeffrey Hugo			reg = <0x0c1b6000 0x600>;
22881e71d0c2SJeffrey Hugo			interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
22891e71d0c2SJeffrey Hugo
22901e71d0c2SJeffrey Hugo			clocks = <&gcc GCC_BLSP2_QUP2_I2C_APPS_CLK>,
22911e71d0c2SJeffrey Hugo				 <&gcc GCC_BLSP2_AHB_CLK>;
22921e71d0c2SJeffrey Hugo			clock-names = "core", "iface";
22936845359eSKonrad Dybcio			dmas = <&blsp2_dma 8>, <&blsp2_dma 9>;
22946845359eSKonrad Dybcio			dma-names = "tx", "rx";
22950fee55fcSKonrad Dybcio			pinctrl-names = "default", "sleep";
22960fee55fcSKonrad Dybcio			pinctrl-0 = <&blsp2_i2c2_default>;
22970fee55fcSKonrad Dybcio			pinctrl-1 = <&blsp2_i2c2_sleep>;
22981e71d0c2SJeffrey Hugo			clock-frequency = <400000>;
22991e71d0c2SJeffrey Hugo
23001e71d0c2SJeffrey Hugo			status = "disabled";
23011e71d0c2SJeffrey Hugo			#address-cells = <1>;
23021e71d0c2SJeffrey Hugo			#size-cells = <0>;
23031e71d0c2SJeffrey Hugo		};
23041e71d0c2SJeffrey Hugo
23050fee55fcSKonrad Dybcio		blsp2_i2c3: i2c@c1b7000 {
23061e71d0c2SJeffrey Hugo			compatible = "qcom,i2c-qup-v2.2.1";
23071e71d0c2SJeffrey Hugo			reg = <0x0c1b7000 0x600>;
23081e71d0c2SJeffrey Hugo			interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
23091e71d0c2SJeffrey Hugo
23101e71d0c2SJeffrey Hugo			clocks = <&gcc GCC_BLSP2_QUP3_I2C_APPS_CLK>,
23111e71d0c2SJeffrey Hugo				 <&gcc GCC_BLSP2_AHB_CLK>;
23121e71d0c2SJeffrey Hugo			clock-names = "core", "iface";
23136845359eSKonrad Dybcio			dmas = <&blsp2_dma 10>, <&blsp2_dma 11>;
23146845359eSKonrad Dybcio			dma-names = "tx", "rx";
23150fee55fcSKonrad Dybcio			pinctrl-names = "default", "sleep";
23160fee55fcSKonrad Dybcio			pinctrl-0 = <&blsp2_i2c3_default>;
23170fee55fcSKonrad Dybcio			pinctrl-1 = <&blsp2_i2c3_sleep>;
23181e71d0c2SJeffrey Hugo			clock-frequency = <400000>;
23191e71d0c2SJeffrey Hugo
23201e71d0c2SJeffrey Hugo			status = "disabled";
23211e71d0c2SJeffrey Hugo			#address-cells = <1>;
23221e71d0c2SJeffrey Hugo			#size-cells = <0>;
23231e71d0c2SJeffrey Hugo		};
23241e71d0c2SJeffrey Hugo
23250fee55fcSKonrad Dybcio		blsp2_i2c4: i2c@c1b8000 {
23261e71d0c2SJeffrey Hugo			compatible = "qcom,i2c-qup-v2.2.1";
23271e71d0c2SJeffrey Hugo			reg = <0x0c1b8000 0x600>;
23281e71d0c2SJeffrey Hugo			interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
23291e71d0c2SJeffrey Hugo
23301e71d0c2SJeffrey Hugo			clocks = <&gcc GCC_BLSP2_QUP4_I2C_APPS_CLK>,
23311e71d0c2SJeffrey Hugo				 <&gcc GCC_BLSP2_AHB_CLK>;
23321e71d0c2SJeffrey Hugo			clock-names = "core", "iface";
23336845359eSKonrad Dybcio			dmas = <&blsp2_dma 12>, <&blsp2_dma 13>;
23346845359eSKonrad Dybcio			dma-names = "tx", "rx";
23350fee55fcSKonrad Dybcio			pinctrl-names = "default", "sleep";
23360fee55fcSKonrad Dybcio			pinctrl-0 = <&blsp2_i2c4_default>;
23370fee55fcSKonrad Dybcio			pinctrl-1 = <&blsp2_i2c4_sleep>;
23381e71d0c2SJeffrey Hugo			clock-frequency = <400000>;
23391e71d0c2SJeffrey Hugo
23401e71d0c2SJeffrey Hugo			status = "disabled";
23411e71d0c2SJeffrey Hugo			#address-cells = <1>;
23421e71d0c2SJeffrey Hugo			#size-cells = <0>;
23431e71d0c2SJeffrey Hugo		};
23441e71d0c2SJeffrey Hugo
23450fee55fcSKonrad Dybcio		blsp2_i2c5: i2c@c1b9000 {
23461e71d0c2SJeffrey Hugo			compatible = "qcom,i2c-qup-v2.2.1";
23471e71d0c2SJeffrey Hugo			reg = <0x0c1b9000 0x600>;
23481e71d0c2SJeffrey Hugo			interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
23491e71d0c2SJeffrey Hugo
23501e71d0c2SJeffrey Hugo			clocks = <&gcc GCC_BLSP2_QUP5_I2C_APPS_CLK>,
23511e71d0c2SJeffrey Hugo				 <&gcc GCC_BLSP2_AHB_CLK>;
23521e71d0c2SJeffrey Hugo			clock-names = "core", "iface";
23536845359eSKonrad Dybcio			dmas = <&blsp2_dma 14>, <&blsp2_dma 15>;
23546845359eSKonrad Dybcio			dma-names = "tx", "rx";
23550fee55fcSKonrad Dybcio			pinctrl-names = "default", "sleep";
23560fee55fcSKonrad Dybcio			pinctrl-0 = <&blsp2_i2c5_default>;
23570fee55fcSKonrad Dybcio			pinctrl-1 = <&blsp2_i2c5_sleep>;
23581e71d0c2SJeffrey Hugo			clock-frequency = <400000>;
23591e71d0c2SJeffrey Hugo
23601e71d0c2SJeffrey Hugo			status = "disabled";
23611e71d0c2SJeffrey Hugo			#address-cells = <1>;
23621e71d0c2SJeffrey Hugo			#size-cells = <0>;
23631e71d0c2SJeffrey Hugo		};
23641e71d0c2SJeffrey Hugo
23650fee55fcSKonrad Dybcio		blsp2_i2c6: i2c@c1ba000 {
23661e71d0c2SJeffrey Hugo			compatible = "qcom,i2c-qup-v2.2.1";
2367c8be5541SMarc Gonzalez			reg = <0x0c1ba000 0x600>;
23681e71d0c2SJeffrey Hugo			interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
23691e71d0c2SJeffrey Hugo
23701e71d0c2SJeffrey Hugo			clocks = <&gcc GCC_BLSP2_QUP6_I2C_APPS_CLK>,
23711e71d0c2SJeffrey Hugo				 <&gcc GCC_BLSP2_AHB_CLK>;
23721e71d0c2SJeffrey Hugo			clock-names = "core", "iface";
23736845359eSKonrad Dybcio			dmas = <&blsp2_dma 16>, <&blsp2_dma 17>;
23746845359eSKonrad Dybcio			dma-names = "tx", "rx";
23750fee55fcSKonrad Dybcio			pinctrl-names = "default", "sleep";
23760fee55fcSKonrad Dybcio			pinctrl-0 = <&blsp2_i2c6_default>;
23770fee55fcSKonrad Dybcio			pinctrl-1 = <&blsp2_i2c6_sleep>;
23781e71d0c2SJeffrey Hugo			clock-frequency = <400000>;
23791e71d0c2SJeffrey Hugo
23801e71d0c2SJeffrey Hugo			status = "disabled";
23811e71d0c2SJeffrey Hugo			#address-cells = <1>;
23821e71d0c2SJeffrey Hugo			#size-cells = <0>;
23831e71d0c2SJeffrey Hugo		};
23841e71d0c2SJeffrey Hugo
2385c075a2e3SAngeloGioacchino Del Regno		mmcc: clock-controller@c8c0000 {
2386c075a2e3SAngeloGioacchino Del Regno			compatible = "qcom,mmcc-msm8998";
2387c075a2e3SAngeloGioacchino Del Regno			#clock-cells = <1>;
2388c075a2e3SAngeloGioacchino Del Regno			#reset-cells = <1>;
2389c075a2e3SAngeloGioacchino Del Regno			#power-domain-cells = <1>;
2390c075a2e3SAngeloGioacchino Del Regno			reg = <0xc8c0000 0x40000>;
2391c075a2e3SAngeloGioacchino Del Regno
2392c075a2e3SAngeloGioacchino Del Regno			clock-names = "xo",
2393c075a2e3SAngeloGioacchino Del Regno				      "gpll0",
2394c075a2e3SAngeloGioacchino Del Regno				      "dsi0dsi",
2395c075a2e3SAngeloGioacchino Del Regno				      "dsi0byte",
2396c075a2e3SAngeloGioacchino Del Regno				      "dsi1dsi",
2397c075a2e3SAngeloGioacchino Del Regno				      "dsi1byte",
2398c075a2e3SAngeloGioacchino Del Regno				      "hdmipll",
2399c075a2e3SAngeloGioacchino Del Regno				      "dplink",
2400c075a2e3SAngeloGioacchino Del Regno				      "dpvco",
2401c075a2e3SAngeloGioacchino Del Regno				      "core_bi_pll_test_se";
2402c075a2e3SAngeloGioacchino Del Regno			clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>,
2403c075a2e3SAngeloGioacchino Del Regno				 <&gcc GCC_MMSS_GPLL0_CLK>,
2404c075a2e3SAngeloGioacchino Del Regno				 <0>,
2405c075a2e3SAngeloGioacchino Del Regno				 <0>,
2406c075a2e3SAngeloGioacchino Del Regno				 <0>,
2407c075a2e3SAngeloGioacchino Del Regno				 <0>,
2408c075a2e3SAngeloGioacchino Del Regno				 <0>,
2409c075a2e3SAngeloGioacchino Del Regno				 <0>,
2410c075a2e3SAngeloGioacchino Del Regno				 <0>,
2411c075a2e3SAngeloGioacchino Del Regno				 <0>;
2412c075a2e3SAngeloGioacchino Del Regno		};
2413c075a2e3SAngeloGioacchino Del Regno
241405ce21b5SAngeloGioacchino Del Regno		mmss_smmu: iommu@cd00000 {
241505ce21b5SAngeloGioacchino Del Regno			compatible = "qcom,msm8998-smmu-v2", "qcom,smmu-v2";
241605ce21b5SAngeloGioacchino Del Regno			reg = <0x0cd00000 0x40000>;
241705ce21b5SAngeloGioacchino Del Regno			#iommu-cells = <1>;
241805ce21b5SAngeloGioacchino Del Regno
241905ce21b5SAngeloGioacchino Del Regno			clocks = <&mmcc MNOC_AHB_CLK>,
242005ce21b5SAngeloGioacchino Del Regno				 <&mmcc BIMC_SMMU_AHB_CLK>,
242105ce21b5SAngeloGioacchino Del Regno				 <&rpmcc RPM_SMD_MMAXI_CLK>,
242205ce21b5SAngeloGioacchino Del Regno				 <&mmcc BIMC_SMMU_AXI_CLK>;
242305ce21b5SAngeloGioacchino Del Regno			clock-names = "iface-mm", "iface-smmu",
242405ce21b5SAngeloGioacchino Del Regno				      "bus-mm", "bus-smmu";
242505ce21b5SAngeloGioacchino Del Regno
242605ce21b5SAngeloGioacchino Del Regno			#global-interrupts = <0>;
242705ce21b5SAngeloGioacchino Del Regno			interrupts =
242805ce21b5SAngeloGioacchino Del Regno				<GIC_SPI 263 IRQ_TYPE_LEVEL_HIGH>,
242905ce21b5SAngeloGioacchino Del Regno				<GIC_SPI 266 IRQ_TYPE_LEVEL_HIGH>,
243005ce21b5SAngeloGioacchino Del Regno				<GIC_SPI 267 IRQ_TYPE_LEVEL_HIGH>,
243105ce21b5SAngeloGioacchino Del Regno				<GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>,
243205ce21b5SAngeloGioacchino Del Regno				<GIC_SPI 244 IRQ_TYPE_LEVEL_HIGH>,
243305ce21b5SAngeloGioacchino Del Regno				<GIC_SPI 245 IRQ_TYPE_LEVEL_HIGH>,
243405ce21b5SAngeloGioacchino Del Regno				<GIC_SPI 247 IRQ_TYPE_LEVEL_HIGH>,
243505ce21b5SAngeloGioacchino Del Regno				<GIC_SPI 248 IRQ_TYPE_LEVEL_HIGH>,
243605ce21b5SAngeloGioacchino Del Regno				<GIC_SPI 249 IRQ_TYPE_LEVEL_HIGH>,
243705ce21b5SAngeloGioacchino Del Regno				<GIC_SPI 250 IRQ_TYPE_LEVEL_HIGH>,
243805ce21b5SAngeloGioacchino Del Regno				<GIC_SPI 251 IRQ_TYPE_LEVEL_HIGH>,
243905ce21b5SAngeloGioacchino Del Regno				<GIC_SPI 252 IRQ_TYPE_LEVEL_HIGH>,
244005ce21b5SAngeloGioacchino Del Regno				<GIC_SPI 253 IRQ_TYPE_LEVEL_HIGH>,
244105ce21b5SAngeloGioacchino Del Regno				<GIC_SPI 254 IRQ_TYPE_LEVEL_HIGH>,
244205ce21b5SAngeloGioacchino Del Regno				<GIC_SPI 255 IRQ_TYPE_LEVEL_HIGH>,
244305ce21b5SAngeloGioacchino Del Regno				<GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>,
244405ce21b5SAngeloGioacchino Del Regno				<GIC_SPI 260 IRQ_TYPE_LEVEL_HIGH>,
244505ce21b5SAngeloGioacchino Del Regno				<GIC_SPI 261 IRQ_TYPE_LEVEL_HIGH>,
244605ce21b5SAngeloGioacchino Del Regno				<GIC_SPI 262 IRQ_TYPE_LEVEL_HIGH>,
244705ce21b5SAngeloGioacchino Del Regno				<GIC_SPI 272 IRQ_TYPE_LEVEL_HIGH>;
244805ce21b5SAngeloGioacchino Del Regno		};
244905ce21b5SAngeloGioacchino Del Regno
2450a9ee66deSSibi Sankar		remoteproc_adsp: remoteproc@17300000 {
2451a9ee66deSSibi Sankar			compatible = "qcom,msm8998-adsp-pas";
2452a9ee66deSSibi Sankar			reg = <0x17300000 0x4040>;
2453a9ee66deSSibi Sankar
2454a9ee66deSSibi Sankar			interrupts-extended = <&intc GIC_SPI 162 IRQ_TYPE_EDGE_RISING>,
2455a9ee66deSSibi Sankar					      <&adsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
2456a9ee66deSSibi Sankar					      <&adsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
2457a9ee66deSSibi Sankar					      <&adsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
2458a9ee66deSSibi Sankar					      <&adsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
2459a9ee66deSSibi Sankar			interrupt-names = "wdog", "fatal", "ready",
2460a9ee66deSSibi Sankar					  "handover", "stop-ack";
2461a9ee66deSSibi Sankar
2462a9ee66deSSibi Sankar			clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>;
2463a9ee66deSSibi Sankar			clock-names = "xo";
2464a9ee66deSSibi Sankar
2465a9ee66deSSibi Sankar			memory-region = <&adsp_mem>;
2466a9ee66deSSibi Sankar
2467a9ee66deSSibi Sankar			qcom,smem-states = <&adsp_smp2p_out 0>;
2468a9ee66deSSibi Sankar			qcom,smem-state-names = "stop";
2469a9ee66deSSibi Sankar
2470a9ee66deSSibi Sankar			power-domains = <&rpmpd MSM8998_VDDCX>;
2471a9ee66deSSibi Sankar			power-domain-names = "cx";
2472a9ee66deSSibi Sankar
2473a9ee66deSSibi Sankar			status = "disabled";
2474a9ee66deSSibi Sankar
2475a9ee66deSSibi Sankar			glink-edge {
2476a9ee66deSSibi Sankar				interrupts = <GIC_SPI 157 IRQ_TYPE_EDGE_RISING>;
2477a9ee66deSSibi Sankar				label = "lpass";
2478a9ee66deSSibi Sankar				qcom,remote-pid = <2>;
2479a9ee66deSSibi Sankar				mboxes = <&apcs_glb 9>;
2480a9ee66deSSibi Sankar			};
2481a9ee66deSSibi Sankar		};
2482a9ee66deSSibi Sankar
248332a5da21SJeffrey Hugo		apcs_glb: mailbox@17911000 {
248432a5da21SJeffrey Hugo			compatible = "qcom,msm8998-apcs-hmss-global";
248532a5da21SJeffrey Hugo			reg = <0x17911000 0x1000>;
248632a5da21SJeffrey Hugo
248732a5da21SJeffrey Hugo			#mbox-cells = <1>;
24884807c71cSJoonwoo Park		};
24894807c71cSJoonwoo Park
24904807c71cSJoonwoo Park		timer@17920000 {
24914807c71cSJoonwoo Park			#address-cells = <1>;
24924807c71cSJoonwoo Park			#size-cells = <1>;
24934807c71cSJoonwoo Park			ranges;
24944807c71cSJoonwoo Park			compatible = "arm,armv7-timer-mem";
24954807c71cSJoonwoo Park			reg = <0x17920000 0x1000>;
24964807c71cSJoonwoo Park
24974807c71cSJoonwoo Park			frame@17921000 {
24984807c71cSJoonwoo Park				frame-number = <0>;
24994807c71cSJoonwoo Park				interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
25004807c71cSJoonwoo Park					     <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
25014807c71cSJoonwoo Park				reg = <0x17921000 0x1000>,
25024807c71cSJoonwoo Park				      <0x17922000 0x1000>;
25034807c71cSJoonwoo Park			};
25044807c71cSJoonwoo Park
25054807c71cSJoonwoo Park			frame@17923000 {
25064807c71cSJoonwoo Park				frame-number = <1>;
25074807c71cSJoonwoo Park				interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
25084807c71cSJoonwoo Park				reg = <0x17923000 0x1000>;
25094807c71cSJoonwoo Park				status = "disabled";
25104807c71cSJoonwoo Park			};
25114807c71cSJoonwoo Park
25124807c71cSJoonwoo Park			frame@17924000 {
25134807c71cSJoonwoo Park				frame-number = <2>;
25144807c71cSJoonwoo Park				interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
25154807c71cSJoonwoo Park				reg = <0x17924000 0x1000>;
25164807c71cSJoonwoo Park				status = "disabled";
25174807c71cSJoonwoo Park			};
25184807c71cSJoonwoo Park
25194807c71cSJoonwoo Park			frame@17925000 {
25204807c71cSJoonwoo Park				frame-number = <3>;
25214807c71cSJoonwoo Park				interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
25224807c71cSJoonwoo Park				reg = <0x17925000 0x1000>;
25234807c71cSJoonwoo Park				status = "disabled";
25244807c71cSJoonwoo Park			};
25254807c71cSJoonwoo Park
25264807c71cSJoonwoo Park			frame@17926000 {
25274807c71cSJoonwoo Park				frame-number = <4>;
25284807c71cSJoonwoo Park				interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
25294807c71cSJoonwoo Park				reg = <0x17926000 0x1000>;
25304807c71cSJoonwoo Park				status = "disabled";
25314807c71cSJoonwoo Park			};
25324807c71cSJoonwoo Park
25334807c71cSJoonwoo Park			frame@17927000 {
25344807c71cSJoonwoo Park				frame-number = <5>;
25354807c71cSJoonwoo Park				interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
25364807c71cSJoonwoo Park				reg = <0x17927000 0x1000>;
25374807c71cSJoonwoo Park				status = "disabled";
25384807c71cSJoonwoo Park			};
25394807c71cSJoonwoo Park
25404807c71cSJoonwoo Park			frame@17928000 {
25414807c71cSJoonwoo Park				frame-number = <6>;
25424807c71cSJoonwoo Park				interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
25434807c71cSJoonwoo Park				reg = <0x17928000 0x1000>;
25444807c71cSJoonwoo Park				status = "disabled";
25454807c71cSJoonwoo Park			};
25464807c71cSJoonwoo Park		};
25474807c71cSJoonwoo Park
25484807c71cSJoonwoo Park		intc: interrupt-controller@17a00000 {
25494807c71cSJoonwoo Park			compatible = "arm,gic-v3";
25504807c71cSJoonwoo Park			reg = <0x17a00000 0x10000>,       /* GICD */
25514807c71cSJoonwoo Park			      <0x17b00000 0x100000>;      /* GICR * 8 */
25524807c71cSJoonwoo Park			#interrupt-cells = <3>;
25534807c71cSJoonwoo Park			#address-cells = <1>;
25544807c71cSJoonwoo Park			#size-cells = <1>;
25554807c71cSJoonwoo Park			ranges;
25564807c71cSJoonwoo Park			interrupt-controller;
25574807c71cSJoonwoo Park			#redistributor-regions = <1>;
25584807c71cSJoonwoo Park			redistributor-stride = <0x0 0x20000>;
25594807c71cSJoonwoo Park			interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
25604807c71cSJoonwoo Park		};
256119b7caaaSJeffrey Hugo
256219b7caaaSJeffrey Hugo		wifi: wifi@18800000 {
256319b7caaaSJeffrey Hugo			compatible = "qcom,wcn3990-wifi";
256419b7caaaSJeffrey Hugo			status = "disabled";
256519b7caaaSJeffrey Hugo			reg = <0x18800000 0x800000>;
256619b7caaaSJeffrey Hugo			reg-names = "membase";
256719b7caaaSJeffrey Hugo			memory-region = <&wlan_msa_mem>;
256819b7caaaSJeffrey Hugo			clocks = <&rpmcc RPM_SMD_RF_CLK2_PIN>;
256919b7caaaSJeffrey Hugo			clock-names = "cxo_ref_clk_pin";
257019b7caaaSJeffrey Hugo			interrupts =
257119b7caaaSJeffrey Hugo				<GIC_SPI 413 IRQ_TYPE_LEVEL_HIGH>,
257219b7caaaSJeffrey Hugo				<GIC_SPI 414 IRQ_TYPE_LEVEL_HIGH>,
257319b7caaaSJeffrey Hugo				<GIC_SPI 415 IRQ_TYPE_LEVEL_HIGH>,
257419b7caaaSJeffrey Hugo				<GIC_SPI 416 IRQ_TYPE_LEVEL_HIGH>,
257519b7caaaSJeffrey Hugo				<GIC_SPI 417 IRQ_TYPE_LEVEL_HIGH>,
257619b7caaaSJeffrey Hugo				<GIC_SPI 418 IRQ_TYPE_LEVEL_HIGH>,
257719b7caaaSJeffrey Hugo				<GIC_SPI 420 IRQ_TYPE_LEVEL_HIGH>,
257819b7caaaSJeffrey Hugo				<GIC_SPI 421 IRQ_TYPE_LEVEL_HIGH>,
257919b7caaaSJeffrey Hugo				<GIC_SPI 422 IRQ_TYPE_LEVEL_HIGH>,
258019b7caaaSJeffrey Hugo				<GIC_SPI 423 IRQ_TYPE_LEVEL_HIGH>,
258119b7caaaSJeffrey Hugo				<GIC_SPI 424 IRQ_TYPE_LEVEL_HIGH>,
258219b7caaaSJeffrey Hugo				<GIC_SPI 425 IRQ_TYPE_LEVEL_HIGH>;
258319b7caaaSJeffrey Hugo			iommus = <&anoc2_smmu 0x1900>,
258419b7caaaSJeffrey Hugo				 <&anoc2_smmu 0x1901>;
258519b7caaaSJeffrey Hugo			qcom,snoc-host-cap-8bit-quirk;
258619b7caaaSJeffrey Hugo		};
25874807c71cSJoonwoo Park	};
25884807c71cSJoonwoo Park};
2589