xref: /freebsd-src/sys/contrib/device-tree/src/arm64/qcom/msm8976.dtsi (revision b2d2a78ad80ec68d4a17f5aef97d21686cb1e29b)
18bab661aSEmmanuel Vadot// SPDX-License-Identifier: BSD-3-Clause
28bab661aSEmmanuel Vadot/*
38bab661aSEmmanuel Vadot * Copyright (c) 2016-2022, AngeloGioacchino Del Regno
48bab661aSEmmanuel Vadot *                          <angelogioacchino.delregno@collabora.com>
58bab661aSEmmanuel Vadot * Copyright (c) 2022, Konrad Dybcio <konrad.dybcio@somainline.org>
68bab661aSEmmanuel Vadot * Copyright (c) 2022, Marijn Suijten <marijn.suijten@somainline.org>
78bab661aSEmmanuel Vadot */
88bab661aSEmmanuel Vadot
98bab661aSEmmanuel Vadot#include <dt-bindings/clock/qcom,gcc-msm8976.h>
108bab661aSEmmanuel Vadot#include <dt-bindings/clock/qcom,rpmcc.h>
118bab661aSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
128bab661aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h>
138bab661aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/irq.h>
148bab661aSEmmanuel Vadot#include <dt-bindings/power/qcom-rpmpd.h>
158bab661aSEmmanuel Vadot
168bab661aSEmmanuel Vadot/ {
178bab661aSEmmanuel Vadot	interrupt-parent = <&intc>;
188bab661aSEmmanuel Vadot	#address-cells = <2>;
198bab661aSEmmanuel Vadot	#size-cells = <2>;
208bab661aSEmmanuel Vadot
218bab661aSEmmanuel Vadot	chosen { };
228bab661aSEmmanuel Vadot
23fac71e4eSEmmanuel Vadot	clocks {
24fac71e4eSEmmanuel Vadot		xo_board: xo-board {
25fac71e4eSEmmanuel Vadot			compatible = "fixed-clock";
26fac71e4eSEmmanuel Vadot			#clock-cells = <0>;
27fac71e4eSEmmanuel Vadot		};
28fac71e4eSEmmanuel Vadot	};
29fac71e4eSEmmanuel Vadot
308bab661aSEmmanuel Vadot	cpus {
318bab661aSEmmanuel Vadot		#address-cells = <1>;
328bab661aSEmmanuel Vadot		#size-cells = <0>;
338bab661aSEmmanuel Vadot
348bab661aSEmmanuel Vadot		CPU0: cpu@0 {
358bab661aSEmmanuel Vadot			device_type = "cpu";
368bab661aSEmmanuel Vadot			compatible = "arm,cortex-a53";
378bab661aSEmmanuel Vadot			reg = <0x0>;
388bab661aSEmmanuel Vadot			enable-method = "psci";
398bab661aSEmmanuel Vadot			cpu-idle-states = <&little_cpu_sleep_0>;
408bab661aSEmmanuel Vadot			capacity-dmips-mhz = <573>;
418bab661aSEmmanuel Vadot			next-level-cache = <&l2_0>;
428bab661aSEmmanuel Vadot			#cooling-cells = <2>;
438bab661aSEmmanuel Vadot		};
448bab661aSEmmanuel Vadot
458bab661aSEmmanuel Vadot		CPU1: cpu@1 {
468bab661aSEmmanuel Vadot			device_type = "cpu";
478bab661aSEmmanuel Vadot			compatible = "arm,cortex-a53";
488bab661aSEmmanuel Vadot			reg = <0x1>;
498bab661aSEmmanuel Vadot			enable-method = "psci";
508bab661aSEmmanuel Vadot			cpu-idle-states = <&little_cpu_sleep_0>;
518bab661aSEmmanuel Vadot			capacity-dmips-mhz = <573>;
528bab661aSEmmanuel Vadot			next-level-cache = <&l2_0>;
538bab661aSEmmanuel Vadot			#cooling-cells = <2>;
548bab661aSEmmanuel Vadot		};
558bab661aSEmmanuel Vadot
568bab661aSEmmanuel Vadot		CPU2: cpu@2 {
578bab661aSEmmanuel Vadot			device_type = "cpu";
588bab661aSEmmanuel Vadot			compatible = "arm,cortex-a53";
598bab661aSEmmanuel Vadot			reg = <0x2>;
608bab661aSEmmanuel Vadot			enable-method = "psci";
618bab661aSEmmanuel Vadot			cpu-idle-states = <&little_cpu_sleep_0>;
628bab661aSEmmanuel Vadot			capacity-dmips-mhz = <573>;
638bab661aSEmmanuel Vadot			next-level-cache = <&l2_0>;
648bab661aSEmmanuel Vadot			#cooling-cells = <2>;
658bab661aSEmmanuel Vadot		};
668bab661aSEmmanuel Vadot
678bab661aSEmmanuel Vadot		CPU3: cpu@3 {
688bab661aSEmmanuel Vadot			device_type = "cpu";
698bab661aSEmmanuel Vadot			compatible = "arm,cortex-a53";
708bab661aSEmmanuel Vadot			reg = <0x3>;
718bab661aSEmmanuel Vadot			enable-method = "psci";
728bab661aSEmmanuel Vadot			cpu-idle-states = <&little_cpu_sleep_0>;
738bab661aSEmmanuel Vadot			capacity-dmips-mhz = <573>;
748bab661aSEmmanuel Vadot			next-level-cache = <&l2_0>;
758bab661aSEmmanuel Vadot			#cooling-cells = <2>;
768bab661aSEmmanuel Vadot		};
778bab661aSEmmanuel Vadot
788bab661aSEmmanuel Vadot		CPU4: cpu@100 {
798bab661aSEmmanuel Vadot			device_type = "cpu";
808bab661aSEmmanuel Vadot			compatible = "arm,cortex-a72";
818bab661aSEmmanuel Vadot			reg = <0x100>;
828bab661aSEmmanuel Vadot			enable-method = "psci";
838bab661aSEmmanuel Vadot			cpu-idle-states = <&big_cpu_sleep_0 &big_cpu_sleep_1>;
848bab661aSEmmanuel Vadot			capacity-dmips-mhz = <1024>;
858bab661aSEmmanuel Vadot			next-level-cache = <&l2_1>;
868bab661aSEmmanuel Vadot			#cooling-cells = <2>;
878bab661aSEmmanuel Vadot		};
888bab661aSEmmanuel Vadot
898bab661aSEmmanuel Vadot		CPU5: cpu@101 {
908bab661aSEmmanuel Vadot			device_type = "cpu";
918bab661aSEmmanuel Vadot			compatible = "arm,cortex-a72";
928bab661aSEmmanuel Vadot			reg = <0x101>;
938bab661aSEmmanuel Vadot			enable-method = "psci";
948bab661aSEmmanuel Vadot			cpu-idle-states = <&big_cpu_sleep_0 &big_cpu_sleep_1>;
958bab661aSEmmanuel Vadot			capacity-dmips-mhz = <1024>;
968bab661aSEmmanuel Vadot			next-level-cache = <&l2_1>;
978bab661aSEmmanuel Vadot			#cooling-cells = <2>;
988bab661aSEmmanuel Vadot		};
998bab661aSEmmanuel Vadot
1008bab661aSEmmanuel Vadot		CPU6: cpu@102 {
1018bab661aSEmmanuel Vadot			device_type = "cpu";
1028bab661aSEmmanuel Vadot			compatible = "arm,cortex-a72";
1038bab661aSEmmanuel Vadot			reg = <0x102>;
1048bab661aSEmmanuel Vadot			enable-method = "psci";
1058bab661aSEmmanuel Vadot			cpu-idle-states = <&big_cpu_sleep_0 &big_cpu_sleep_1>;
1068bab661aSEmmanuel Vadot			capacity-dmips-mhz = <1024>;
1078bab661aSEmmanuel Vadot			next-level-cache = <&l2_1>;
1088bab661aSEmmanuel Vadot			#cooling-cells = <2>;
1098bab661aSEmmanuel Vadot		};
1108bab661aSEmmanuel Vadot
1118bab661aSEmmanuel Vadot		CPU7: cpu@103 {
1128bab661aSEmmanuel Vadot			device_type = "cpu";
1138bab661aSEmmanuel Vadot			compatible = "arm,cortex-a72";
1148bab661aSEmmanuel Vadot			reg = <0x103>;
1158bab661aSEmmanuel Vadot			enable-method = "psci";
1168bab661aSEmmanuel Vadot			cpu-idle-states = <&big_cpu_sleep_0 &big_cpu_sleep_1>;
1178bab661aSEmmanuel Vadot			capacity-dmips-mhz = <1024>;
1188bab661aSEmmanuel Vadot			next-level-cache = <&l2_1>;
1198bab661aSEmmanuel Vadot			#cooling-cells = <2>;
1208bab661aSEmmanuel Vadot		};
1218bab661aSEmmanuel Vadot
1228bab661aSEmmanuel Vadot		cpu-map {
1238bab661aSEmmanuel Vadot			cluster0 {
1248bab661aSEmmanuel Vadot				core0 {
1258bab661aSEmmanuel Vadot					cpu = <&CPU0>;
1268bab661aSEmmanuel Vadot				};
1278bab661aSEmmanuel Vadot
1288bab661aSEmmanuel Vadot				core1 {
1298bab661aSEmmanuel Vadot					cpu = <&CPU1>;
1308bab661aSEmmanuel Vadot				};
1318bab661aSEmmanuel Vadot
1328bab661aSEmmanuel Vadot				core2 {
1338bab661aSEmmanuel Vadot					cpu = <&CPU2>;
1348bab661aSEmmanuel Vadot				};
1358bab661aSEmmanuel Vadot
1368bab661aSEmmanuel Vadot				core3 {
1378bab661aSEmmanuel Vadot					cpu = <&CPU3>;
1388bab661aSEmmanuel Vadot				};
1398bab661aSEmmanuel Vadot			};
1408bab661aSEmmanuel Vadot
1418bab661aSEmmanuel Vadot			cluster1 {
1428bab661aSEmmanuel Vadot				core0 {
1438bab661aSEmmanuel Vadot					cpu = <&CPU4>;
1448bab661aSEmmanuel Vadot				};
1458bab661aSEmmanuel Vadot
1468bab661aSEmmanuel Vadot				core1 {
1478bab661aSEmmanuel Vadot					cpu = <&CPU5>;
1488bab661aSEmmanuel Vadot				};
1498bab661aSEmmanuel Vadot
1508bab661aSEmmanuel Vadot				core2 {
1518bab661aSEmmanuel Vadot					cpu = <&CPU6>;
1528bab661aSEmmanuel Vadot				};
1538bab661aSEmmanuel Vadot
1548bab661aSEmmanuel Vadot				core3 {
1558bab661aSEmmanuel Vadot					cpu = <&CPU7>;
1568bab661aSEmmanuel Vadot				};
1578bab661aSEmmanuel Vadot			};
1588bab661aSEmmanuel Vadot		};
1598bab661aSEmmanuel Vadot
1608bab661aSEmmanuel Vadot		idle-states {
1618bab661aSEmmanuel Vadot			entry-method = "psci";
1628bab661aSEmmanuel Vadot
1638bab661aSEmmanuel Vadot			little_cpu_sleep_0: cpu-sleep-0-0 {
1648bab661aSEmmanuel Vadot				compatible = "arm,idle-state";
1658bab661aSEmmanuel Vadot				idle-state-name = "little-power-collapse";
1668bab661aSEmmanuel Vadot				arm,psci-suspend-param = <0x40000003>;
1678bab661aSEmmanuel Vadot				entry-latency-us = <181>;
1688bab661aSEmmanuel Vadot				exit-latency-us = <149>;
1698bab661aSEmmanuel Vadot				min-residency-us = <703>;
1708bab661aSEmmanuel Vadot				local-timer-stop;
1718bab661aSEmmanuel Vadot			};
1728bab661aSEmmanuel Vadot
1738bab661aSEmmanuel Vadot			big_cpu_sleep_0: cpu-sleep-1-0 {
1748bab661aSEmmanuel Vadot				compatible = "arm,idle-state";
1758bab661aSEmmanuel Vadot				idle-state-name = "big-retention";
1768bab661aSEmmanuel Vadot				arm,psci-suspend-param = <0x00000002>;
1778bab661aSEmmanuel Vadot				entry-latency-us = <142>;
1788bab661aSEmmanuel Vadot				exit-latency-us = <99>;
1798bab661aSEmmanuel Vadot				min-residency-us = <242>;
1808bab661aSEmmanuel Vadot			};
1818bab661aSEmmanuel Vadot
1828bab661aSEmmanuel Vadot			big_cpu_sleep_1: cpu-sleep-1-1 {
1838bab661aSEmmanuel Vadot				compatible = "arm,idle-state";
1848bab661aSEmmanuel Vadot				idle-state-name = "big-power-collapse";
1858bab661aSEmmanuel Vadot				arm,psci-suspend-param = <0x40000003>;
1868bab661aSEmmanuel Vadot				entry-latency-us = <158>;
1878bab661aSEmmanuel Vadot				exit-latency-us = <144>;
1888bab661aSEmmanuel Vadot				min-residency-us = <863>;
1898bab661aSEmmanuel Vadot				local-timer-stop;
1908bab661aSEmmanuel Vadot			};
1918bab661aSEmmanuel Vadot		};
1928bab661aSEmmanuel Vadot
1938bab661aSEmmanuel Vadot		l2_0: l2-cache0 {
1948bab661aSEmmanuel Vadot			compatible = "cache";
1958bab661aSEmmanuel Vadot			cache-level = <2>;
196fac71e4eSEmmanuel Vadot			cache-unified;
1978bab661aSEmmanuel Vadot		};
1988bab661aSEmmanuel Vadot
1998bab661aSEmmanuel Vadot		l2_1: l2-cache1 {
2008bab661aSEmmanuel Vadot			compatible = "cache";
2018bab661aSEmmanuel Vadot			cache-level = <2>;
202fac71e4eSEmmanuel Vadot			cache-unified;
2038bab661aSEmmanuel Vadot		};
2048bab661aSEmmanuel Vadot	};
2058bab661aSEmmanuel Vadot
2068bab661aSEmmanuel Vadot	firmware {
2078bab661aSEmmanuel Vadot		scm: scm {
2088bab661aSEmmanuel Vadot			compatible = "qcom,scm-msm8976", "qcom,scm";
2098bab661aSEmmanuel Vadot			clocks = <&gcc GCC_CRYPTO_CLK>,
2108bab661aSEmmanuel Vadot				 <&gcc GCC_CRYPTO_AXI_CLK>,
2118bab661aSEmmanuel Vadot				 <&gcc GCC_CRYPTO_AHB_CLK>;
2128bab661aSEmmanuel Vadot			clock-names = "core", "bus", "iface";
2138bab661aSEmmanuel Vadot			#reset-cells = <1>;
2148bab661aSEmmanuel Vadot
2158bab661aSEmmanuel Vadot			qcom,dload-mode = <&tcsr 0x6100>;
2168bab661aSEmmanuel Vadot		};
2178bab661aSEmmanuel Vadot	};
2188bab661aSEmmanuel Vadot
2198bab661aSEmmanuel Vadot	memory@80000000 {
2208bab661aSEmmanuel Vadot		device_type = "memory";
2218bab661aSEmmanuel Vadot		/* We expect the bootloader to fill in the size */
2228bab661aSEmmanuel Vadot		reg = <0x0 0x80000000 0x0 0x0>;
2238bab661aSEmmanuel Vadot	};
2248bab661aSEmmanuel Vadot
2250e8011faSEmmanuel Vadot	pmu-a53 {
2260e8011faSEmmanuel Vadot		compatible = "arm,cortex-a53-pmu";
2270e8011faSEmmanuel Vadot		interrupts = <GIC_PPI 7 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
2288bab661aSEmmanuel Vadot	};
2298bab661aSEmmanuel Vadot
2300e8011faSEmmanuel Vadot	pmu_a72: pmu-a72 {
2310e8011faSEmmanuel Vadot		compatible = "arm,cortex-a72-pmu";
2320e8011faSEmmanuel Vadot		interrupts = <GIC_PPI 7 (GIC_CPU_MASK_RAW(0xf0) | IRQ_TYPE_LEVEL_HIGH)>;
2330e8011faSEmmanuel Vadot	};
2340e8011faSEmmanuel Vadot
2350e8011faSEmmanuel Vadot
2368bab661aSEmmanuel Vadot	psci {
2378bab661aSEmmanuel Vadot		compatible = "arm,psci-1.0";
2388bab661aSEmmanuel Vadot		method = "smc";
2398bab661aSEmmanuel Vadot	};
2408bab661aSEmmanuel Vadot
241aa1a8ff2SEmmanuel Vadot	rpm: remoteproc {
242aa1a8ff2SEmmanuel Vadot		compatible = "qcom,msm8976-rpm-proc", "qcom,rpm-proc";
243aa1a8ff2SEmmanuel Vadot
244aa1a8ff2SEmmanuel Vadot		smd-edge {
245aa1a8ff2SEmmanuel Vadot			interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
2460e8011faSEmmanuel Vadot			mboxes = <&apcs 0>;
247aa1a8ff2SEmmanuel Vadot			qcom,smd-edge = <15>;
248aa1a8ff2SEmmanuel Vadot
249aa1a8ff2SEmmanuel Vadot			rpm_requests: rpm-requests {
250*b2d2a78aSEmmanuel Vadot				compatible = "qcom,rpm-msm8976", "qcom,smd-rpm";
251aa1a8ff2SEmmanuel Vadot				qcom,smd-channels = "rpm_requests";
252aa1a8ff2SEmmanuel Vadot
253aa1a8ff2SEmmanuel Vadot				rpmcc: clock-controller {
254aa1a8ff2SEmmanuel Vadot					compatible = "qcom,rpmcc-msm8976", "qcom,rpmcc";
255aa1a8ff2SEmmanuel Vadot					clocks = <&xo_board>;
256aa1a8ff2SEmmanuel Vadot					clock-names = "xo";
257aa1a8ff2SEmmanuel Vadot					#clock-cells = <1>;
258aa1a8ff2SEmmanuel Vadot				};
259aa1a8ff2SEmmanuel Vadot
260aa1a8ff2SEmmanuel Vadot				rpmpd: power-controller {
261aa1a8ff2SEmmanuel Vadot					compatible = "qcom,msm8976-rpmpd";
262aa1a8ff2SEmmanuel Vadot					#power-domain-cells = <1>;
263aa1a8ff2SEmmanuel Vadot					operating-points-v2 = <&rpmpd_opp_table>;
264aa1a8ff2SEmmanuel Vadot
265aa1a8ff2SEmmanuel Vadot					rpmpd_opp_table: opp-table {
266aa1a8ff2SEmmanuel Vadot						compatible = "operating-points-v2";
267aa1a8ff2SEmmanuel Vadot
268aa1a8ff2SEmmanuel Vadot						rpmpd_opp_ret: opp1 {
269aa1a8ff2SEmmanuel Vadot							opp-level = <RPM_SMD_LEVEL_RETENTION>;
270aa1a8ff2SEmmanuel Vadot						};
271aa1a8ff2SEmmanuel Vadot
272aa1a8ff2SEmmanuel Vadot						rpmpd_opp_ret_plus: opp2 {
273aa1a8ff2SEmmanuel Vadot							opp-level = <RPM_SMD_LEVEL_RETENTION_PLUS>;
274aa1a8ff2SEmmanuel Vadot						};
275aa1a8ff2SEmmanuel Vadot
276aa1a8ff2SEmmanuel Vadot						rpmpd_opp_min_svs: opp3 {
277aa1a8ff2SEmmanuel Vadot							opp-level = <RPM_SMD_LEVEL_MIN_SVS>;
278aa1a8ff2SEmmanuel Vadot						};
279aa1a8ff2SEmmanuel Vadot
280aa1a8ff2SEmmanuel Vadot						rpmpd_opp_low_svs: opp4 {
281aa1a8ff2SEmmanuel Vadot							opp-level = <RPM_SMD_LEVEL_LOW_SVS>;
282aa1a8ff2SEmmanuel Vadot						};
283aa1a8ff2SEmmanuel Vadot
284aa1a8ff2SEmmanuel Vadot						rpmpd_opp_svs: opp5 {
285aa1a8ff2SEmmanuel Vadot							opp-level = <RPM_SMD_LEVEL_SVS>;
286aa1a8ff2SEmmanuel Vadot						};
287aa1a8ff2SEmmanuel Vadot
288aa1a8ff2SEmmanuel Vadot						rpmpd_opp_svs_plus: opp6 {
289aa1a8ff2SEmmanuel Vadot							opp-level = <RPM_SMD_LEVEL_SVS_PLUS>;
290aa1a8ff2SEmmanuel Vadot						};
291aa1a8ff2SEmmanuel Vadot
292aa1a8ff2SEmmanuel Vadot						rpmpd_opp_nom: opp7 {
293aa1a8ff2SEmmanuel Vadot							opp-level = <RPM_SMD_LEVEL_NOM>;
294aa1a8ff2SEmmanuel Vadot						};
295aa1a8ff2SEmmanuel Vadot
296aa1a8ff2SEmmanuel Vadot						rpmpd_opp_nom_plus: opp8 {
297aa1a8ff2SEmmanuel Vadot							opp-level = <RPM_SMD_LEVEL_NOM_PLUS>;
298aa1a8ff2SEmmanuel Vadot						};
299aa1a8ff2SEmmanuel Vadot
300aa1a8ff2SEmmanuel Vadot						rpmpd_opp_turbo: opp9 {
301aa1a8ff2SEmmanuel Vadot							opp-level = <RPM_SMD_LEVEL_TURBO>;
302aa1a8ff2SEmmanuel Vadot						};
303aa1a8ff2SEmmanuel Vadot
304aa1a8ff2SEmmanuel Vadot						rpmpd_opp_turbo_no_cpr: opp10 {
305aa1a8ff2SEmmanuel Vadot							opp-level = <RPM_SMD_LEVEL_TURBO_NO_CPR>;
306aa1a8ff2SEmmanuel Vadot						};
307aa1a8ff2SEmmanuel Vadot
308aa1a8ff2SEmmanuel Vadot						rpmpd_opp_turbo_high: opp111 {
309aa1a8ff2SEmmanuel Vadot							opp-level = <RPM_SMD_LEVEL_TURBO_HIGH>;
310aa1a8ff2SEmmanuel Vadot						};
311aa1a8ff2SEmmanuel Vadot					};
312aa1a8ff2SEmmanuel Vadot				};
313aa1a8ff2SEmmanuel Vadot			};
314aa1a8ff2SEmmanuel Vadot		};
315aa1a8ff2SEmmanuel Vadot	};
316aa1a8ff2SEmmanuel Vadot
3178bab661aSEmmanuel Vadot	reserved-memory {
3188bab661aSEmmanuel Vadot		#address-cells = <2>;
3198bab661aSEmmanuel Vadot		#size-cells = <2>;
3208bab661aSEmmanuel Vadot		ranges;
3218bab661aSEmmanuel Vadot
3228bab661aSEmmanuel Vadot		ext-region@85b00000 {
3238bab661aSEmmanuel Vadot			reg = <0x0 0x85b00000 0x0 0x500000>;
3248bab661aSEmmanuel Vadot			no-map;
3258bab661aSEmmanuel Vadot		};
3268bab661aSEmmanuel Vadot
3278bab661aSEmmanuel Vadot		smem@86300000 {
3288bab661aSEmmanuel Vadot			compatible = "qcom,smem";
3298bab661aSEmmanuel Vadot			reg = <0x0 0x86300000 0x0 0x100000>;
3308bab661aSEmmanuel Vadot			no-map;
3318bab661aSEmmanuel Vadot
3328bab661aSEmmanuel Vadot			hwlocks = <&tcsr_mutex 3>;
3338bab661aSEmmanuel Vadot			qcom,rpm-msg-ram = <&rpm_msg_ram>;
3348bab661aSEmmanuel Vadot		};
3358bab661aSEmmanuel Vadot
3368bab661aSEmmanuel Vadot		reserved@86400000 {
3378bab661aSEmmanuel Vadot			reg = <0x0 0x86400000 0x0 0x800000>;
3388bab661aSEmmanuel Vadot			no-map;
3398bab661aSEmmanuel Vadot		};
3408bab661aSEmmanuel Vadot
3418bab661aSEmmanuel Vadot		mpss_mem: mpss@86c00000 {
3428bab661aSEmmanuel Vadot			reg = <0x0 0x86c00000 0x0 0x5600000>;
3438bab661aSEmmanuel Vadot			no-map;
3448bab661aSEmmanuel Vadot		};
3458bab661aSEmmanuel Vadot
3468bab661aSEmmanuel Vadot		lpass_mem: lpass@8c200000 {
34784943d6fSEmmanuel Vadot			reg = <0x0 0x8c200000 0x0 0x1000000>;
34884943d6fSEmmanuel Vadot			no-map;
34984943d6fSEmmanuel Vadot		};
35084943d6fSEmmanuel Vadot
35184943d6fSEmmanuel Vadot		wcnss_fw_mem: wcnss@8d200000 {
35284943d6fSEmmanuel Vadot			reg = <0x0 0x8d200000 0x0 0x800000>;
3538bab661aSEmmanuel Vadot			no-map;
3548bab661aSEmmanuel Vadot		};
3558bab661aSEmmanuel Vadot
3568bab661aSEmmanuel Vadot		venus_mem: memory@8da00000 {
3578bab661aSEmmanuel Vadot			reg = <0x0 0x8da00000 0x0 0x2600000>;
3588bab661aSEmmanuel Vadot			no-map;
3598bab661aSEmmanuel Vadot		};
3608bab661aSEmmanuel Vadot
3618bab661aSEmmanuel Vadot		tz-apps@8dd00000 {
3628bab661aSEmmanuel Vadot			reg = <0x0 0x8dd00000 0x0 0x1400000>;
3638bab661aSEmmanuel Vadot			no-map;
3648bab661aSEmmanuel Vadot		};
3658bab661aSEmmanuel Vadot	};
3668bab661aSEmmanuel Vadot
3678bab661aSEmmanuel Vadot	smp2p-hexagon {
3688bab661aSEmmanuel Vadot		compatible = "qcom,smp2p";
3698bab661aSEmmanuel Vadot		interrupts = <GIC_SPI 291 IRQ_TYPE_EDGE_RISING>;
3700e8011faSEmmanuel Vadot		mboxes = <&apcs 10>;
3718bab661aSEmmanuel Vadot
3728bab661aSEmmanuel Vadot		qcom,local-pid = <0>;
3738bab661aSEmmanuel Vadot		qcom,remote-pid = <2>;
3748bab661aSEmmanuel Vadot		qcom,smem = <443>, <429>;
3758bab661aSEmmanuel Vadot
3768bab661aSEmmanuel Vadot		adsp_smp2p_out: master-kernel {
3778bab661aSEmmanuel Vadot			qcom,entry-name = "master-kernel";
3788bab661aSEmmanuel Vadot
3798bab661aSEmmanuel Vadot			#qcom,smem-state-cells = <1>;
3808bab661aSEmmanuel Vadot		};
3818bab661aSEmmanuel Vadot
3828bab661aSEmmanuel Vadot		adsp_smp2p_in: slave-kernel {
3838bab661aSEmmanuel Vadot			qcom,entry-name = "slave-kernel";
3848bab661aSEmmanuel Vadot
3858bab661aSEmmanuel Vadot			interrupt-controller;
3868bab661aSEmmanuel Vadot			#interrupt-cells = <2>;
3878bab661aSEmmanuel Vadot		};
3888bab661aSEmmanuel Vadot	};
3898bab661aSEmmanuel Vadot
3908bab661aSEmmanuel Vadot	smp2p-modem {
3918bab661aSEmmanuel Vadot		compatible = "qcom,smp2p";
3928bab661aSEmmanuel Vadot		interrupts = <GIC_SPI 27 IRQ_TYPE_EDGE_RISING>;
3930e8011faSEmmanuel Vadot		mboxes = <&apcs 14>;
3948bab661aSEmmanuel Vadot
3958bab661aSEmmanuel Vadot		qcom,local-pid = <0>;
3968bab661aSEmmanuel Vadot		qcom,remote-pid = <1>;
3978bab661aSEmmanuel Vadot		qcom,smem = <435>, <428>;
3988bab661aSEmmanuel Vadot
3998bab661aSEmmanuel Vadot		modem_smp2p_out: master-kernel {
4008bab661aSEmmanuel Vadot			qcom,entry-name = "master-kernel";
4018bab661aSEmmanuel Vadot
4028bab661aSEmmanuel Vadot			#qcom,smem-state-cells = <1>;
4038bab661aSEmmanuel Vadot		};
4048bab661aSEmmanuel Vadot
4058bab661aSEmmanuel Vadot		modem_smp2p_in: slave-kernel {
4068bab661aSEmmanuel Vadot			qcom,entry-name = "slave-kernel";
4078bab661aSEmmanuel Vadot
4088bab661aSEmmanuel Vadot			interrupt-controller;
4098bab661aSEmmanuel Vadot			#interrupt-cells = <2>;
4108bab661aSEmmanuel Vadot		};
4118bab661aSEmmanuel Vadot	};
4128bab661aSEmmanuel Vadot
4138bab661aSEmmanuel Vadot	smp2p-wcnss {
4148bab661aSEmmanuel Vadot		compatible = "qcom,smp2p";
4158bab661aSEmmanuel Vadot		interrupts = <GIC_SPI 143 IRQ_TYPE_EDGE_RISING>;
4160e8011faSEmmanuel Vadot		mboxes = <&apcs 18>;
4178bab661aSEmmanuel Vadot
4188bab661aSEmmanuel Vadot		qcom,local-pid = <0>;
4198bab661aSEmmanuel Vadot		qcom,remote-pid = <4>;
4208bab661aSEmmanuel Vadot		qcom,smem = <451>, <431>;
4218bab661aSEmmanuel Vadot
4228bab661aSEmmanuel Vadot		wcnss_smp2p_out: master-kernel {
4238bab661aSEmmanuel Vadot			qcom,entry-name = "master-kernel";
4248bab661aSEmmanuel Vadot
4258bab661aSEmmanuel Vadot			#qcom,smem-state-cells = <1>;
4268bab661aSEmmanuel Vadot		};
4278bab661aSEmmanuel Vadot
4288bab661aSEmmanuel Vadot		wcnss_smp2p_in: slave-kernel {
4298bab661aSEmmanuel Vadot			qcom,entry-name = "slave-kernel";
4308bab661aSEmmanuel Vadot
4318bab661aSEmmanuel Vadot			interrupt-controller;
4328bab661aSEmmanuel Vadot			#interrupt-cells = <2>;
4338bab661aSEmmanuel Vadot		};
4348bab661aSEmmanuel Vadot	};
4358bab661aSEmmanuel Vadot
4368bab661aSEmmanuel Vadot	smsm {
4378bab661aSEmmanuel Vadot		compatible = "qcom,smsm";
4388bab661aSEmmanuel Vadot
4398bab661aSEmmanuel Vadot		#address-cells = <1>;
4408bab661aSEmmanuel Vadot		#size-cells = <0>;
4418bab661aSEmmanuel Vadot
4420e8011faSEmmanuel Vadot		mboxes = <0>, <&apcs 13>, <&apcs 9>, <&apcs 19>;
4438bab661aSEmmanuel Vadot
4448bab661aSEmmanuel Vadot		apps_smsm: apps@0 {
4458bab661aSEmmanuel Vadot			reg = <0>;
4468bab661aSEmmanuel Vadot			#qcom,smem-state-cells = <1>;
4478bab661aSEmmanuel Vadot		};
4488bab661aSEmmanuel Vadot
4498bab661aSEmmanuel Vadot		hexagon_smsm: hexagon@1 {
4508bab661aSEmmanuel Vadot			reg = <1>;
451aa1a8ff2SEmmanuel Vadot			interrupts = <GIC_SPI 290 IRQ_TYPE_EDGE_RISING>;
4528bab661aSEmmanuel Vadot
4538bab661aSEmmanuel Vadot			interrupt-controller;
4548bab661aSEmmanuel Vadot			#interrupt-cells = <2>;
4558bab661aSEmmanuel Vadot		};
4568bab661aSEmmanuel Vadot
4578bab661aSEmmanuel Vadot		wcnss_smsm: wcnss@6 {
4588bab661aSEmmanuel Vadot			reg = <6>;
4598bab661aSEmmanuel Vadot			interrupts = <GIC_SPI 144 IRQ_TYPE_EDGE_RISING>;
4608bab661aSEmmanuel Vadot
4618bab661aSEmmanuel Vadot			interrupt-controller;
4628bab661aSEmmanuel Vadot			#interrupt-cells = <2>;
4638bab661aSEmmanuel Vadot		};
4648bab661aSEmmanuel Vadot	};
4658bab661aSEmmanuel Vadot
4668bab661aSEmmanuel Vadot	soc: soc@0 {
4678bab661aSEmmanuel Vadot		#address-cells = <1>;
4688bab661aSEmmanuel Vadot		#size-cells = <1>;
4698bab661aSEmmanuel Vadot		ranges = <0 0 0 0xffffffff>;
4708bab661aSEmmanuel Vadot		compatible = "simple-bus";
4718bab661aSEmmanuel Vadot
4728bab661aSEmmanuel Vadot		rng@22000 {
4738bab661aSEmmanuel Vadot			compatible = "qcom,prng";
4748bab661aSEmmanuel Vadot			reg = <0x00022000 0x140>;
4758bab661aSEmmanuel Vadot			clocks = <&gcc GCC_PRNG_AHB_CLK>;
4768bab661aSEmmanuel Vadot			clock-names = "core";
4778bab661aSEmmanuel Vadot		};
4788bab661aSEmmanuel Vadot
4798bab661aSEmmanuel Vadot		rpm_msg_ram: sram@60000 {
4808bab661aSEmmanuel Vadot			compatible = "qcom,rpm-msg-ram";
4818bab661aSEmmanuel Vadot			reg = <0x00060000 0x8000>;
4828bab661aSEmmanuel Vadot		};
4838bab661aSEmmanuel Vadot
4848bab661aSEmmanuel Vadot		usb_hs_phy: phy@6c000 {
4858bab661aSEmmanuel Vadot			compatible = "qcom,usb-hs-28nm-femtophy";
4868bab661aSEmmanuel Vadot			reg = <0x0006c000 0x200>;
4878bab661aSEmmanuel Vadot			#phy-cells = <0>;
4888bab661aSEmmanuel Vadot			clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>,
4898bab661aSEmmanuel Vadot				 <&gcc GCC_USB_HS_PHY_CFG_AHB_CLK>,
4908bab661aSEmmanuel Vadot				 <&gcc GCC_USB2A_PHY_SLEEP_CLK>;
4918bab661aSEmmanuel Vadot			clock-names = "ref", "ahb", "sleep";
4928bab661aSEmmanuel Vadot			resets = <&gcc RST_QUSB2_PHY_BCR>,
4938bab661aSEmmanuel Vadot				 <&gcc RST_USB2_HS_PHY_ONLY_BCR>;
4948bab661aSEmmanuel Vadot			reset-names = "phy", "por";
4958bab661aSEmmanuel Vadot			status = "disabled";
4968bab661aSEmmanuel Vadot		};
4978bab661aSEmmanuel Vadot
4988bab661aSEmmanuel Vadot		qfprom: qfprom@a4000 {
4998bab661aSEmmanuel Vadot			compatible = "qcom,msm8976-qfprom", "qcom,qfprom";
5008bab661aSEmmanuel Vadot			reg = <0x000a4000 0x1000>;
5018bab661aSEmmanuel Vadot			#address-cells = <1>;
5028bab661aSEmmanuel Vadot			#size-cells = <1>;
5038bab661aSEmmanuel Vadot
504cb7aa33aSEmmanuel Vadot			tsens_base1: base1@218 {
505cb7aa33aSEmmanuel Vadot				reg = <0x218 1>;
506cb7aa33aSEmmanuel Vadot				bits = <0 8>;
507cb7aa33aSEmmanuel Vadot			};
508cb7aa33aSEmmanuel Vadot
509cb7aa33aSEmmanuel Vadot			tsens_s0_p1: s0-p1@219 {
510cb7aa33aSEmmanuel Vadot				reg = <0x219 0x1>;
511cb7aa33aSEmmanuel Vadot				bits = <0 6>;
512cb7aa33aSEmmanuel Vadot			};
513cb7aa33aSEmmanuel Vadot
514cb7aa33aSEmmanuel Vadot			tsens_s0_p2: s0-p2@219 {
515cb7aa33aSEmmanuel Vadot				reg = <0x219 0x2>;
516cb7aa33aSEmmanuel Vadot				bits = <6 6>;
517cb7aa33aSEmmanuel Vadot			};
518cb7aa33aSEmmanuel Vadot
519cb7aa33aSEmmanuel Vadot			tsens_s1_p1: s1-p1@21a {
520cb7aa33aSEmmanuel Vadot				reg = <0x21a 0x2>;
521cb7aa33aSEmmanuel Vadot				bits = <4 6>;
522cb7aa33aSEmmanuel Vadot			};
523cb7aa33aSEmmanuel Vadot
524cb7aa33aSEmmanuel Vadot			tsens_s1_p2: s1-p2@21b {
525cb7aa33aSEmmanuel Vadot				reg = <0x21b 0x1>;
526cb7aa33aSEmmanuel Vadot				bits = <2 6>;
527cb7aa33aSEmmanuel Vadot			};
528cb7aa33aSEmmanuel Vadot
529cb7aa33aSEmmanuel Vadot			tsens_s2_p1: s2-p1@21c {
530cb7aa33aSEmmanuel Vadot				reg = <0x21c 0x1>;
531cb7aa33aSEmmanuel Vadot				bits = <0 6>;
532cb7aa33aSEmmanuel Vadot			};
533cb7aa33aSEmmanuel Vadot
534cb7aa33aSEmmanuel Vadot			tsens_s2_p2: s2-p2@21c {
535cb7aa33aSEmmanuel Vadot				reg = <0x21c 0x2>;
536cb7aa33aSEmmanuel Vadot				bits = <6 6>;
537cb7aa33aSEmmanuel Vadot			};
538cb7aa33aSEmmanuel Vadot
539cb7aa33aSEmmanuel Vadot			tsens_s3_p1: s3-p1@21d {
540cb7aa33aSEmmanuel Vadot				reg = <0x21d 0x2>;
541cb7aa33aSEmmanuel Vadot				bits = <4 6>;
542cb7aa33aSEmmanuel Vadot			};
543cb7aa33aSEmmanuel Vadot
544cb7aa33aSEmmanuel Vadot			tsens_s3_p2: s3-p2@21e {
545cb7aa33aSEmmanuel Vadot				reg = <0x21e 0x1>;
546cb7aa33aSEmmanuel Vadot				bits = <2 6>;
547cb7aa33aSEmmanuel Vadot			};
548cb7aa33aSEmmanuel Vadot
549cb7aa33aSEmmanuel Vadot			tsens_base2: base2@220 {
550cb7aa33aSEmmanuel Vadot				reg = <0x220 1>;
551cb7aa33aSEmmanuel Vadot				bits = <0 8>;
552cb7aa33aSEmmanuel Vadot			};
553cb7aa33aSEmmanuel Vadot
554cb7aa33aSEmmanuel Vadot			tsens_s4_p1: s4-p1@221 {
555cb7aa33aSEmmanuel Vadot				reg = <0x221 0x1>;
556cb7aa33aSEmmanuel Vadot				bits = <0 6>;
557cb7aa33aSEmmanuel Vadot			};
558cb7aa33aSEmmanuel Vadot
559cb7aa33aSEmmanuel Vadot			tsens_s4_p2: s4-p2@221 {
560cb7aa33aSEmmanuel Vadot				reg = <0x221 0x2>;
561cb7aa33aSEmmanuel Vadot				bits = <6 6>;
562cb7aa33aSEmmanuel Vadot			};
563cb7aa33aSEmmanuel Vadot
564cb7aa33aSEmmanuel Vadot			tsens_s5_p1: s5-p1@222 {
565cb7aa33aSEmmanuel Vadot				reg = <0x222 0x2>;
566cb7aa33aSEmmanuel Vadot				bits = <4 6>;
567cb7aa33aSEmmanuel Vadot			};
568cb7aa33aSEmmanuel Vadot
569cb7aa33aSEmmanuel Vadot			tsens_s5_p2: s5-p2@223 {
570cb7aa33aSEmmanuel Vadot				reg = <0x224 0x1>;
571cb7aa33aSEmmanuel Vadot				bits = <2 6>;
572cb7aa33aSEmmanuel Vadot			};
573cb7aa33aSEmmanuel Vadot
574cb7aa33aSEmmanuel Vadot			tsens_s6_p1: s6-p1@224 {
575cb7aa33aSEmmanuel Vadot				reg = <0x224 0x1>;
576cb7aa33aSEmmanuel Vadot				bits = <0 6>;
577cb7aa33aSEmmanuel Vadot			};
578cb7aa33aSEmmanuel Vadot
579cb7aa33aSEmmanuel Vadot			tsens_s6_p2: s6-p2@224 {
580cb7aa33aSEmmanuel Vadot				reg = <0x224 0x2>;
581cb7aa33aSEmmanuel Vadot				bits = <6 6>;
582cb7aa33aSEmmanuel Vadot			};
583cb7aa33aSEmmanuel Vadot
584cb7aa33aSEmmanuel Vadot			tsens_s7_p1: s7-p1@225 {
585cb7aa33aSEmmanuel Vadot				reg = <0x225 0x2>;
586cb7aa33aSEmmanuel Vadot				bits = <4 6>;
587cb7aa33aSEmmanuel Vadot			};
588cb7aa33aSEmmanuel Vadot
589cb7aa33aSEmmanuel Vadot			tsens_s7_p2: s7-p2@226 {
590cb7aa33aSEmmanuel Vadot				reg = <0x226 0x2>;
591cb7aa33aSEmmanuel Vadot				bits = <2 6>;
592cb7aa33aSEmmanuel Vadot			};
593cb7aa33aSEmmanuel Vadot
594cb7aa33aSEmmanuel Vadot			tsens_mode: mode@228 {
595cb7aa33aSEmmanuel Vadot				reg = <0x228 1>;
596cb7aa33aSEmmanuel Vadot				bits = <0 3>;
597cb7aa33aSEmmanuel Vadot			};
598cb7aa33aSEmmanuel Vadot
599cb7aa33aSEmmanuel Vadot			tsens_s8_p1: s8-p1@228 {
600cb7aa33aSEmmanuel Vadot				reg = <0x228 0x2>;
601cb7aa33aSEmmanuel Vadot				bits = <3 6>;
602cb7aa33aSEmmanuel Vadot			};
603cb7aa33aSEmmanuel Vadot
604cb7aa33aSEmmanuel Vadot			tsens_s8_p2: s8-p2@229 {
605cb7aa33aSEmmanuel Vadot				reg = <0x229 0x1>;
606cb7aa33aSEmmanuel Vadot				bits = <1 6>;
607cb7aa33aSEmmanuel Vadot			};
608cb7aa33aSEmmanuel Vadot
609cb7aa33aSEmmanuel Vadot			tsens_s9_p1: s9-p1@229 {
610cb7aa33aSEmmanuel Vadot				reg = <0x229 0x2>;
611cb7aa33aSEmmanuel Vadot				bits = <7 6>;
612cb7aa33aSEmmanuel Vadot			};
613cb7aa33aSEmmanuel Vadot
614cb7aa33aSEmmanuel Vadot			tsens_s9_p2: s9-p2@22a {
615cb7aa33aSEmmanuel Vadot				reg = <0x22a 0x2>;
616cb7aa33aSEmmanuel Vadot				bits = <5 6>;
617cb7aa33aSEmmanuel Vadot			};
618cb7aa33aSEmmanuel Vadot
619cb7aa33aSEmmanuel Vadot			tsens_s10_p1: s10-p1@22b {
620cb7aa33aSEmmanuel Vadot				reg = <0x22b 0x2>;
621cb7aa33aSEmmanuel Vadot				bits = <3 6>;
622cb7aa33aSEmmanuel Vadot			};
623cb7aa33aSEmmanuel Vadot
624cb7aa33aSEmmanuel Vadot			tsens_s10_p2: s10-p2@22c {
625cb7aa33aSEmmanuel Vadot				reg = <0x22c 0x1>;
626cb7aa33aSEmmanuel Vadot				bits = <1 6>;
6278bab661aSEmmanuel Vadot			};
6288bab661aSEmmanuel Vadot		};
6298bab661aSEmmanuel Vadot
6308bab661aSEmmanuel Vadot		tsens: thermal-sensor@4a9000 {
6318bab661aSEmmanuel Vadot			compatible = "qcom,msm8976-tsens", "qcom,tsens-v1";
6328bab661aSEmmanuel Vadot			reg = <0x004a9000 0x1000>, /* TM */
6338bab661aSEmmanuel Vadot			      <0x004a8000 0x1000>; /* SROT */
6348bab661aSEmmanuel Vadot			interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>;
6358bab661aSEmmanuel Vadot			interrupt-names = "uplow";
636cb7aa33aSEmmanuel Vadot			nvmem-cells = <&tsens_mode>,
637cb7aa33aSEmmanuel Vadot				      <&tsens_base1>, <&tsens_base2>,
638cb7aa33aSEmmanuel Vadot				      <&tsens_s0_p1>, <&tsens_s0_p2>,
639cb7aa33aSEmmanuel Vadot				      <&tsens_s1_p1>, <&tsens_s1_p2>,
640cb7aa33aSEmmanuel Vadot				      <&tsens_s2_p1>, <&tsens_s2_p2>,
641cb7aa33aSEmmanuel Vadot				      <&tsens_s3_p1>, <&tsens_s3_p2>,
642cb7aa33aSEmmanuel Vadot				      <&tsens_s4_p1>, <&tsens_s4_p2>,
643cb7aa33aSEmmanuel Vadot				      <&tsens_s5_p1>, <&tsens_s5_p2>,
644cb7aa33aSEmmanuel Vadot				      <&tsens_s6_p1>, <&tsens_s6_p2>,
645cb7aa33aSEmmanuel Vadot				      <&tsens_s7_p1>, <&tsens_s7_p2>,
646cb7aa33aSEmmanuel Vadot				      <&tsens_s8_p1>, <&tsens_s8_p2>,
647cb7aa33aSEmmanuel Vadot				      <&tsens_s9_p1>, <&tsens_s9_p2>,
648cb7aa33aSEmmanuel Vadot				      <&tsens_s10_p1>, <&tsens_s10_p2>;
649cb7aa33aSEmmanuel Vadot			nvmem-cell-names = "mode",
650cb7aa33aSEmmanuel Vadot					   "base1", "base2",
651cb7aa33aSEmmanuel Vadot					   "s0_p1", "s0_p2",
652cb7aa33aSEmmanuel Vadot					   "s1_p1", "s1_p2",
653cb7aa33aSEmmanuel Vadot					   "s2_p1", "s2_p2",
654cb7aa33aSEmmanuel Vadot					   "s3_p1", "s3_p2",
655cb7aa33aSEmmanuel Vadot					   "s4_p1", "s4_p2",
656cb7aa33aSEmmanuel Vadot					   "s5_p1", "s5_p2",
657cb7aa33aSEmmanuel Vadot					   "s6_p1", "s6_p2",
658cb7aa33aSEmmanuel Vadot					   "s7_p1", "s7_p2",
659cb7aa33aSEmmanuel Vadot					   "s8_p1", "s8_p2",
660cb7aa33aSEmmanuel Vadot					   "s9_p1", "s9_p2",
661cb7aa33aSEmmanuel Vadot					   "s10_p1", "s10_p2";
6628bab661aSEmmanuel Vadot			#qcom,sensors = <11>;
6638bab661aSEmmanuel Vadot			#thermal-sensor-cells = <1>;
6648bab661aSEmmanuel Vadot		};
6658bab661aSEmmanuel Vadot
666*b2d2a78aSEmmanuel Vadot		restart@4ab000 {
667*b2d2a78aSEmmanuel Vadot			compatible = "qcom,pshold";
668*b2d2a78aSEmmanuel Vadot			reg = <0x004ab000 0x4>;
669*b2d2a78aSEmmanuel Vadot		};
670*b2d2a78aSEmmanuel Vadot
6718bab661aSEmmanuel Vadot		tlmm: pinctrl@1000000 {
6728bab661aSEmmanuel Vadot			compatible = "qcom,msm8976-pinctrl";
6738bab661aSEmmanuel Vadot			reg = <0x01000000 0x300000>;
6748bab661aSEmmanuel Vadot			interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
6758bab661aSEmmanuel Vadot			#gpio-cells = <2>;
6768bab661aSEmmanuel Vadot			gpio-controller;
6778bab661aSEmmanuel Vadot			gpio-ranges = <&tlmm 0 0 145>;
6788bab661aSEmmanuel Vadot			interrupt-controller;
6798bab661aSEmmanuel Vadot			#interrupt-cells = <2>;
6808bab661aSEmmanuel Vadot
6818bab661aSEmmanuel Vadot			spi1_default: spi0-default-state {
6828bab661aSEmmanuel Vadot				spi-pins {
6838bab661aSEmmanuel Vadot					pins = "gpio0", "gpio1", "gpio3";
6848bab661aSEmmanuel Vadot					function = "blsp_spi1";
6858bab661aSEmmanuel Vadot					drive-strength = <12>;
6868bab661aSEmmanuel Vadot					bias-disable;
6878bab661aSEmmanuel Vadot				};
6888bab661aSEmmanuel Vadot
6898bab661aSEmmanuel Vadot				cs-pins {
6908bab661aSEmmanuel Vadot					pins = "gpio2";
6918bab661aSEmmanuel Vadot					function = "blsp_spi1";
6928bab661aSEmmanuel Vadot					drive-strength = <2>;
6938bab661aSEmmanuel Vadot					bias-disable;
6948bab661aSEmmanuel Vadot				};
6958bab661aSEmmanuel Vadot			};
6968bab661aSEmmanuel Vadot
6978bab661aSEmmanuel Vadot			spi1_sleep: spi0-sleep-state {
6988bab661aSEmmanuel Vadot				spi-pins {
6998bab661aSEmmanuel Vadot					pins = "gpio0", "gpio1", "gpio3";
7008bab661aSEmmanuel Vadot					function = "gpio";
7018bab661aSEmmanuel Vadot					drive-strength = <2>;
7028bab661aSEmmanuel Vadot					bias-pull-down;
7038bab661aSEmmanuel Vadot				};
7048bab661aSEmmanuel Vadot
7058bab661aSEmmanuel Vadot				cs-pins {
7068bab661aSEmmanuel Vadot					pins = "gpio2";
7078bab661aSEmmanuel Vadot					function = "gpio";
7088bab661aSEmmanuel Vadot					drive-strength = <2>;
7098bab661aSEmmanuel Vadot					bias-disable;
7108bab661aSEmmanuel Vadot				};
7118bab661aSEmmanuel Vadot			};
7128bab661aSEmmanuel Vadot
7138bab661aSEmmanuel Vadot			blsp1_i2c2_default: blsp1-i2c2-default-state {
7148bab661aSEmmanuel Vadot				pins = "gpio6", "gpio7";
7158bab661aSEmmanuel Vadot				function = "blsp_i2c2";
7168bab661aSEmmanuel Vadot				drive-strength = <2>;
7178bab661aSEmmanuel Vadot				bias-disable;
7188bab661aSEmmanuel Vadot			};
7198bab661aSEmmanuel Vadot
7208bab661aSEmmanuel Vadot			blsp1_i2c2_sleep: blsp1-i2c2-sleep-state {
7218bab661aSEmmanuel Vadot				pins = "gpio6", "gpio7";
7228bab661aSEmmanuel Vadot				function = "gpio";
7238bab661aSEmmanuel Vadot				drive-strength = <2>;
7248bab661aSEmmanuel Vadot				bias-disable;
7258bab661aSEmmanuel Vadot			};
7268bab661aSEmmanuel Vadot
7278bab661aSEmmanuel Vadot			blsp1_i2c4_default: blsp1-i2c4-default-state {
7288bab661aSEmmanuel Vadot				pins = "gpio14", "gpio15";
7298bab661aSEmmanuel Vadot				function = "blsp_i2c4";
7308bab661aSEmmanuel Vadot				drive-strength = <2>;
7318bab661aSEmmanuel Vadot				bias-disable;
7328bab661aSEmmanuel Vadot			};
7338bab661aSEmmanuel Vadot
7348bab661aSEmmanuel Vadot			blsp1_i2c4_sleep: blsp1-i2c4-sleep-state {
7358bab661aSEmmanuel Vadot				pins = "gpio14", "gpio15";
7368bab661aSEmmanuel Vadot				function = "gpio";
7378bab661aSEmmanuel Vadot				drive-strength = <2>;
7388bab661aSEmmanuel Vadot				bias-disable;
7398bab661aSEmmanuel Vadot			};
7408bab661aSEmmanuel Vadot
7418bab661aSEmmanuel Vadot			blsp2_uart2_active: blsp2-uart2-active-state {
7428bab661aSEmmanuel Vadot				pins = "gpio20", "gpio21";
7438bab661aSEmmanuel Vadot				function = "blsp_uart6";
7448bab661aSEmmanuel Vadot				drive-strength = <4>;
7458bab661aSEmmanuel Vadot				bias-disable;
7468bab661aSEmmanuel Vadot			};
7478bab661aSEmmanuel Vadot
7488bab661aSEmmanuel Vadot			blsp2_uart2_sleep: blsp2-uart2-sleep-state {
7498bab661aSEmmanuel Vadot				pins = "gpio20", "gpio21";
7508bab661aSEmmanuel Vadot				function = "gpio";
7518bab661aSEmmanuel Vadot				drive-strength = <2>;
7528bab661aSEmmanuel Vadot				bias-disable;
7538bab661aSEmmanuel Vadot			};
7548bab661aSEmmanuel Vadot
7558bab661aSEmmanuel Vadot			/* 4 (not 6!) interfaces per QUP, BLSP2 indexes are numbered (n)+4 */
7568bab661aSEmmanuel Vadot			blsp2_i2c2_default: blsp2-i2c2-default-state {
7578bab661aSEmmanuel Vadot				pins = "gpio22", "gpio23";
7588bab661aSEmmanuel Vadot				function = "blsp_i2c6";
7598bab661aSEmmanuel Vadot				drive-strength = <2>;
7608bab661aSEmmanuel Vadot				bias-disable;
7618bab661aSEmmanuel Vadot			};
7628bab661aSEmmanuel Vadot
7638bab661aSEmmanuel Vadot			blsp2_i2c2_sleep: blsp2-i2c2-sleep-state {
7648bab661aSEmmanuel Vadot				pins = "gpio22", "gpio23";
7658bab661aSEmmanuel Vadot				function = "gpio";
7668bab661aSEmmanuel Vadot				drive-strength = <2>;
7678bab661aSEmmanuel Vadot				bias-disable;
7688bab661aSEmmanuel Vadot			};
7698bab661aSEmmanuel Vadot
7708bab661aSEmmanuel Vadot			blsp2_i2c4_default: blsp2-i2c4-default-state {
7718bab661aSEmmanuel Vadot				pins = "gpio18", "gpio19";
7728bab661aSEmmanuel Vadot				function = "blsp_i2c8";
7738bab661aSEmmanuel Vadot				drive-strength = <2>;
7748bab661aSEmmanuel Vadot				bias-disable;
7758bab661aSEmmanuel Vadot			};
7768bab661aSEmmanuel Vadot
7778bab661aSEmmanuel Vadot			blsp2_i2c4_sleep: blsp2-i2c4-sleep-state {
7788bab661aSEmmanuel Vadot				pins = "gpio18", "gpio19";
7798bab661aSEmmanuel Vadot				function = "gpio";
7808bab661aSEmmanuel Vadot				drive-strength = <2>;
7818bab661aSEmmanuel Vadot				bias-disable;
7828bab661aSEmmanuel Vadot			};
7830e8011faSEmmanuel Vadot
7840e8011faSEmmanuel Vadot			wcss_wlan_default: wcss-wlan-default-state  {
7850e8011faSEmmanuel Vadot				wcss-wlan2-pins {
7860e8011faSEmmanuel Vadot					pins = "gpio40";
7870e8011faSEmmanuel Vadot					function = "wcss_wlan2";
7880e8011faSEmmanuel Vadot					drive-strength = <6>;
7890e8011faSEmmanuel Vadot					bias-pull-up;
7900e8011faSEmmanuel Vadot				};
7910e8011faSEmmanuel Vadot
7920e8011faSEmmanuel Vadot				wcss-wlan1-pins {
7930e8011faSEmmanuel Vadot					pins = "gpio41";
7940e8011faSEmmanuel Vadot					function = "wcss_wlan1";
7950e8011faSEmmanuel Vadot					drive-strength = <6>;
7960e8011faSEmmanuel Vadot					bias-pull-up;
7970e8011faSEmmanuel Vadot				};
7980e8011faSEmmanuel Vadot
7990e8011faSEmmanuel Vadot				wcss-wlan0-pins {
8000e8011faSEmmanuel Vadot					pins = "gpio42";
8010e8011faSEmmanuel Vadot					function = "wcss_wlan0";
8020e8011faSEmmanuel Vadot					drive-strength = <6>;
8030e8011faSEmmanuel Vadot					bias-pull-up;
8040e8011faSEmmanuel Vadot				};
8050e8011faSEmmanuel Vadot
8060e8011faSEmmanuel Vadot				wcss-wlan-pins {
8070e8011faSEmmanuel Vadot					pins = "gpio43", "gpio44";
8080e8011faSEmmanuel Vadot					function = "wcss_wlan";
8090e8011faSEmmanuel Vadot					drive-strength = <6>;
8100e8011faSEmmanuel Vadot					bias-pull-up;
8110e8011faSEmmanuel Vadot				};
8120e8011faSEmmanuel Vadot			};
8138bab661aSEmmanuel Vadot		};
8148bab661aSEmmanuel Vadot
8158bab661aSEmmanuel Vadot		gcc: clock-controller@1800000 {
8168bab661aSEmmanuel Vadot			compatible = "qcom,gcc-msm8976";
8178bab661aSEmmanuel Vadot			reg = <0x01800000 0x80000>;
8188bab661aSEmmanuel Vadot			#clock-cells = <1>;
8198bab661aSEmmanuel Vadot			#reset-cells = <1>;
8208bab661aSEmmanuel Vadot			#power-domain-cells = <1>;
8218bab661aSEmmanuel Vadot
8228bab661aSEmmanuel Vadot			assigned-clocks = <&gcc GPLL3>;
8238bab661aSEmmanuel Vadot			assigned-clock-rates = <1100000000>;
8248bab661aSEmmanuel Vadot
8258bab661aSEmmanuel Vadot			clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>,
8268bab661aSEmmanuel Vadot				 <&rpmcc RPM_SMD_XO_A_CLK_SRC>,
8270e8011faSEmmanuel Vadot				 <&mdss_dsi0_phy 1>,
8280e8011faSEmmanuel Vadot				 <&mdss_dsi0_phy 0>,
8290e8011faSEmmanuel Vadot				 <&mdss_dsi1_phy 1>,
8300e8011faSEmmanuel Vadot				 <&mdss_dsi1_phy 0>;
8318bab661aSEmmanuel Vadot			clock-names = "xo",
8328bab661aSEmmanuel Vadot				      "xo_a",
8338bab661aSEmmanuel Vadot				      "dsi0pll",
8348bab661aSEmmanuel Vadot				      "dsi0pllbyte",
8358bab661aSEmmanuel Vadot				      "dsi1pll",
8368bab661aSEmmanuel Vadot				      "dsi1pllbyte";
8378bab661aSEmmanuel Vadot		};
8388bab661aSEmmanuel Vadot
8398bab661aSEmmanuel Vadot		tcsr_mutex: hwlock@1905000 {
8408bab661aSEmmanuel Vadot			compatible = "qcom,tcsr-mutex";
8418bab661aSEmmanuel Vadot			reg = <0x01905000 0x20000>;
8428bab661aSEmmanuel Vadot			#hwlock-cells = <1>;
8438bab661aSEmmanuel Vadot		};
8448bab661aSEmmanuel Vadot
8458bab661aSEmmanuel Vadot		tcsr: syscon@1937000 {
8468bab661aSEmmanuel Vadot			compatible = "qcom,msm8976-tcsr", "syscon";
8478bab661aSEmmanuel Vadot			reg = <0x01937000 0x30000>;
8488bab661aSEmmanuel Vadot		};
8498bab661aSEmmanuel Vadot
8500e8011faSEmmanuel Vadot		mdss: display-subsystem@1a00000 {
8510e8011faSEmmanuel Vadot			compatible = "qcom,mdss";
8520e8011faSEmmanuel Vadot
8530e8011faSEmmanuel Vadot			reg = <0x01a00000 0x1000>,
8540e8011faSEmmanuel Vadot			      <0x01ab0000 0x3000>;
8550e8011faSEmmanuel Vadot			reg-names = "mdss_phys", "vbif_phys";
8560e8011faSEmmanuel Vadot
8570e8011faSEmmanuel Vadot			power-domains = <&gcc MDSS_GDSC>;
8580e8011faSEmmanuel Vadot			interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
8590e8011faSEmmanuel Vadot
8600e8011faSEmmanuel Vadot			interrupt-controller;
8610e8011faSEmmanuel Vadot			#interrupt-cells = <1>;
8620e8011faSEmmanuel Vadot
8630e8011faSEmmanuel Vadot			clocks = <&gcc GCC_MDSS_AHB_CLK>,
8640e8011faSEmmanuel Vadot				 <&gcc GCC_MDSS_AXI_CLK>,
8650e8011faSEmmanuel Vadot				 <&gcc GCC_MDSS_VSYNC_CLK>,
8660e8011faSEmmanuel Vadot				 <&gcc GCC_MDSS_MDP_CLK>;
8670e8011faSEmmanuel Vadot			clock-names = "iface",
8680e8011faSEmmanuel Vadot				      "bus",
8690e8011faSEmmanuel Vadot				      "vsync",
8700e8011faSEmmanuel Vadot				      "core";
8710e8011faSEmmanuel Vadot
8720e8011faSEmmanuel Vadot			#address-cells = <1>;
8730e8011faSEmmanuel Vadot			#size-cells = <1>;
8740e8011faSEmmanuel Vadot			ranges;
8750e8011faSEmmanuel Vadot
8760e8011faSEmmanuel Vadot			status = "disabled";
8770e8011faSEmmanuel Vadot
8780e8011faSEmmanuel Vadot			mdss_mdp: display-controller@1a01000 {
8790e8011faSEmmanuel Vadot				compatible = "qcom,msm8976-mdp5", "qcom,mdp5";
8800e8011faSEmmanuel Vadot				reg = <0x01a01000 0x89000>;
8810e8011faSEmmanuel Vadot				reg-names = "mdp_phys";
8820e8011faSEmmanuel Vadot
8830e8011faSEmmanuel Vadot				interrupt-parent = <&mdss>;
8840e8011faSEmmanuel Vadot				interrupts = <0>;
8850e8011faSEmmanuel Vadot
8860e8011faSEmmanuel Vadot				clocks = <&gcc GCC_MDSS_AHB_CLK>,
8870e8011faSEmmanuel Vadot					 <&gcc GCC_MDSS_AXI_CLK>,
8880e8011faSEmmanuel Vadot					 <&gcc GCC_MDSS_MDP_CLK>,
8890e8011faSEmmanuel Vadot					 <&gcc GCC_MDSS_VSYNC_CLK>,
8900e8011faSEmmanuel Vadot					 <&gcc GCC_MDP_TBU_CLK>,
8910e8011faSEmmanuel Vadot					 <&gcc GCC_MDP_RT_TBU_CLK>;
8920e8011faSEmmanuel Vadot				clock-names = "iface",
8930e8011faSEmmanuel Vadot					      "bus",
8940e8011faSEmmanuel Vadot					      "core",
8950e8011faSEmmanuel Vadot					      "vsync",
8960e8011faSEmmanuel Vadot					      "tbu",
8970e8011faSEmmanuel Vadot					      "tbu_rt";
8980e8011faSEmmanuel Vadot
8990e8011faSEmmanuel Vadot				operating-points-v2 = <&mdp_opp_table>;
9000e8011faSEmmanuel Vadot				power-domains = <&gcc MDSS_GDSC>;
9010e8011faSEmmanuel Vadot
9020e8011faSEmmanuel Vadot				iommus = <&apps_iommu 22>;
9030e8011faSEmmanuel Vadot
9040e8011faSEmmanuel Vadot				ports {
9050e8011faSEmmanuel Vadot					#address-cells = <1>;
9060e8011faSEmmanuel Vadot					#size-cells = <0>;
9070e8011faSEmmanuel Vadot
9080e8011faSEmmanuel Vadot					port@0 {
9090e8011faSEmmanuel Vadot						reg = <0>;
9100e8011faSEmmanuel Vadot
9110e8011faSEmmanuel Vadot						mdss_mdp5_intf1_out: endpoint {
9120e8011faSEmmanuel Vadot							remote-endpoint = <&mdss_dsi0_in>;
9130e8011faSEmmanuel Vadot						};
9140e8011faSEmmanuel Vadot					};
9150e8011faSEmmanuel Vadot
9160e8011faSEmmanuel Vadot					port@1 {
9170e8011faSEmmanuel Vadot						reg = <1>;
9180e8011faSEmmanuel Vadot
9190e8011faSEmmanuel Vadot						mdss_mdp5_intf2_out: endpoint {
9200e8011faSEmmanuel Vadot							remote-endpoint = <&mdss_dsi1_in>;
9210e8011faSEmmanuel Vadot						};
9220e8011faSEmmanuel Vadot					};
9230e8011faSEmmanuel Vadot				};
9240e8011faSEmmanuel Vadot
9250e8011faSEmmanuel Vadot				mdp_opp_table: opp-table {
9260e8011faSEmmanuel Vadot					compatible = "operating-points-v2";
9270e8011faSEmmanuel Vadot
9280e8011faSEmmanuel Vadot					opp-177780000 {
9290e8011faSEmmanuel Vadot						opp-hz = /bits/ 64 <177780000>;
9300e8011faSEmmanuel Vadot						required-opps = <&rpmpd_opp_svs>;
9310e8011faSEmmanuel Vadot					};
9320e8011faSEmmanuel Vadot
9330e8011faSEmmanuel Vadot					opp-270000000 {
9340e8011faSEmmanuel Vadot						opp-hz = /bits/ 64 <270000000>;
9350e8011faSEmmanuel Vadot						required-opps = <&rpmpd_opp_svs_plus>;
9360e8011faSEmmanuel Vadot					};
9370e8011faSEmmanuel Vadot
9380e8011faSEmmanuel Vadot					opp-320000000 {
9390e8011faSEmmanuel Vadot						opp-hz = /bits/ 64 <320000000>;
9400e8011faSEmmanuel Vadot						required-opps = <&rpmpd_opp_nom>;
9410e8011faSEmmanuel Vadot					};
9420e8011faSEmmanuel Vadot
9430e8011faSEmmanuel Vadot					opp-360000000 {
9440e8011faSEmmanuel Vadot						opp-hz = /bits/ 64 <360000000>;
9450e8011faSEmmanuel Vadot						required-opps = <&rpmpd_opp_turbo>;
9460e8011faSEmmanuel Vadot					};
9470e8011faSEmmanuel Vadot				};
9480e8011faSEmmanuel Vadot			};
9490e8011faSEmmanuel Vadot
9500e8011faSEmmanuel Vadot			mdss_dsi0: dsi@1a94000 {
9510e8011faSEmmanuel Vadot				compatible = "qcom,msm8976-dsi-ctrl", "qcom,mdss-dsi-ctrl";
9520e8011faSEmmanuel Vadot				reg = <0x01a94000 0x300>;
9530e8011faSEmmanuel Vadot				reg-names = "dsi_ctrl";
9540e8011faSEmmanuel Vadot
9550e8011faSEmmanuel Vadot				interrupt-parent = <&mdss>;
9560e8011faSEmmanuel Vadot				interrupts = <4>;
9570e8011faSEmmanuel Vadot
9580e8011faSEmmanuel Vadot				clocks = <&gcc GCC_MDSS_MDP_CLK>,
9590e8011faSEmmanuel Vadot					 <&gcc GCC_MDSS_AHB_CLK>,
9600e8011faSEmmanuel Vadot					 <&gcc GCC_MDSS_AXI_CLK>,
9610e8011faSEmmanuel Vadot					 <&gcc GCC_MDSS_BYTE0_CLK>,
9620e8011faSEmmanuel Vadot					 <&gcc GCC_MDSS_PCLK0_CLK>,
9630e8011faSEmmanuel Vadot					 <&gcc GCC_MDSS_ESC0_CLK>;
9640e8011faSEmmanuel Vadot				clock-names = "mdp_core",
9650e8011faSEmmanuel Vadot					      "iface",
9660e8011faSEmmanuel Vadot					      "bus",
9670e8011faSEmmanuel Vadot					      "byte",
9680e8011faSEmmanuel Vadot					      "pixel",
9690e8011faSEmmanuel Vadot					      "core";
9700e8011faSEmmanuel Vadot
9710e8011faSEmmanuel Vadot				assigned-clocks = <&gcc GCC_MDSS_BYTE0_CLK_SRC>,
9720e8011faSEmmanuel Vadot						  <&gcc GCC_MDSS_PCLK0_CLK_SRC>;
9730e8011faSEmmanuel Vadot				assigned-clock-parents = <&mdss_dsi0_phy 0>,
9740e8011faSEmmanuel Vadot							 <&mdss_dsi0_phy 1>;
9750e8011faSEmmanuel Vadot
9760e8011faSEmmanuel Vadot				phys = <&mdss_dsi0_phy>;
9770e8011faSEmmanuel Vadot
9780e8011faSEmmanuel Vadot				operating-points-v2 = <&dsi0_opp_table>;
9790e8011faSEmmanuel Vadot				power-domains = <&gcc MDSS_GDSC>;
9800e8011faSEmmanuel Vadot
9810e8011faSEmmanuel Vadot				#address-cells = <1>;
9820e8011faSEmmanuel Vadot				#size-cells = <0>;
9830e8011faSEmmanuel Vadot
9840e8011faSEmmanuel Vadot				status = "disabled";
9850e8011faSEmmanuel Vadot
9860e8011faSEmmanuel Vadot				ports {
9870e8011faSEmmanuel Vadot					#address-cells = <1>;
9880e8011faSEmmanuel Vadot					#size-cells = <0>;
9890e8011faSEmmanuel Vadot
9900e8011faSEmmanuel Vadot					port@0 {
9910e8011faSEmmanuel Vadot						reg = <0>;
9920e8011faSEmmanuel Vadot
9930e8011faSEmmanuel Vadot						mdss_dsi0_in: endpoint {
9940e8011faSEmmanuel Vadot							remote-endpoint = <&mdss_mdp5_intf1_out>;
9950e8011faSEmmanuel Vadot						};
9960e8011faSEmmanuel Vadot					};
9970e8011faSEmmanuel Vadot
9980e8011faSEmmanuel Vadot					port@1 {
9990e8011faSEmmanuel Vadot						reg = <1>;
10000e8011faSEmmanuel Vadot
10010e8011faSEmmanuel Vadot						mdss_dsi0_out: endpoint {
10020e8011faSEmmanuel Vadot						};
10030e8011faSEmmanuel Vadot					};
10040e8011faSEmmanuel Vadot				};
10050e8011faSEmmanuel Vadot
10060e8011faSEmmanuel Vadot				dsi0_opp_table: opp-table {
10070e8011faSEmmanuel Vadot					compatible = "operating-points-v2";
10080e8011faSEmmanuel Vadot
10090e8011faSEmmanuel Vadot					opp-125000000 {
10100e8011faSEmmanuel Vadot						opp-hz = /bits/ 64 <125000000>;
10110e8011faSEmmanuel Vadot						required-opps = <&rpmpd_opp_svs>;
10120e8011faSEmmanuel Vadot					};
10130e8011faSEmmanuel Vadot
10140e8011faSEmmanuel Vadot					opp-161250000 {
10150e8011faSEmmanuel Vadot						opp-hz = /bits/ 64 <161250000>;
10160e8011faSEmmanuel Vadot						required-opps = <&rpmpd_opp_svs_plus>;
10170e8011faSEmmanuel Vadot					};
10180e8011faSEmmanuel Vadot
10190e8011faSEmmanuel Vadot					opp-187500000 {
10200e8011faSEmmanuel Vadot						opp-hz = /bits/ 64 <187500000>;
10210e8011faSEmmanuel Vadot						required-opps = <&rpmpd_opp_nom>;
10220e8011faSEmmanuel Vadot					};
10230e8011faSEmmanuel Vadot				};
10240e8011faSEmmanuel Vadot			};
10250e8011faSEmmanuel Vadot
10260e8011faSEmmanuel Vadot			mdss_dsi1: dsi@1a96000 {
10270e8011faSEmmanuel Vadot				compatible = "qcom,msm8976-dsi-ctrl", "qcom,mdss-dsi-ctrl";
10280e8011faSEmmanuel Vadot				reg = <0x01a96000 0x300>;
10290e8011faSEmmanuel Vadot				reg-names = "dsi_ctrl";
10300e8011faSEmmanuel Vadot
10310e8011faSEmmanuel Vadot				interrupt-parent = <&mdss>;
10320e8011faSEmmanuel Vadot				interrupts = <5>;
10330e8011faSEmmanuel Vadot
10340e8011faSEmmanuel Vadot				clocks = <&gcc GCC_MDSS_MDP_CLK>,
10350e8011faSEmmanuel Vadot					 <&gcc GCC_MDSS_AHB_CLK>,
10360e8011faSEmmanuel Vadot					 <&gcc GCC_MDSS_AXI_CLK>,
10370e8011faSEmmanuel Vadot					 <&gcc GCC_MDSS_BYTE1_CLK>,
10380e8011faSEmmanuel Vadot					 <&gcc GCC_MDSS_PCLK1_CLK>,
10390e8011faSEmmanuel Vadot					 <&gcc GCC_MDSS_ESC1_CLK>;
10400e8011faSEmmanuel Vadot				clock-names = "mdp_core",
10410e8011faSEmmanuel Vadot					      "iface",
10420e8011faSEmmanuel Vadot					      "bus",
10430e8011faSEmmanuel Vadot					      "byte",
10440e8011faSEmmanuel Vadot					      "pixel",
10450e8011faSEmmanuel Vadot					      "core";
10460e8011faSEmmanuel Vadot
10470e8011faSEmmanuel Vadot				assigned-clocks = <&gcc GCC_MDSS_BYTE1_CLK_SRC>,
10480e8011faSEmmanuel Vadot						  <&gcc GCC_MDSS_PCLK1_CLK_SRC>;
10490e8011faSEmmanuel Vadot				assigned-clock-parents = <&mdss_dsi1_phy 0>,
10500e8011faSEmmanuel Vadot							 <&mdss_dsi1_phy 1>;
10510e8011faSEmmanuel Vadot
10520e8011faSEmmanuel Vadot				phys = <&mdss_dsi1_phy>;
10530e8011faSEmmanuel Vadot
10540e8011faSEmmanuel Vadot				operating-points-v2 = <&dsi0_opp_table>;
10550e8011faSEmmanuel Vadot				power-domains = <&gcc MDSS_GDSC>;
10560e8011faSEmmanuel Vadot
10570e8011faSEmmanuel Vadot				#address-cells = <1>;
10580e8011faSEmmanuel Vadot				#size-cells = <0>;
10590e8011faSEmmanuel Vadot
10600e8011faSEmmanuel Vadot				status = "disabled";
10610e8011faSEmmanuel Vadot
10620e8011faSEmmanuel Vadot				ports {
10630e8011faSEmmanuel Vadot					#address-cells = <1>;
10640e8011faSEmmanuel Vadot					#size-cells = <0>;
10650e8011faSEmmanuel Vadot
10660e8011faSEmmanuel Vadot					port@0 {
10670e8011faSEmmanuel Vadot						reg = <0>;
10680e8011faSEmmanuel Vadot
10690e8011faSEmmanuel Vadot						mdss_dsi1_in: endpoint {
10700e8011faSEmmanuel Vadot							remote-endpoint = <&mdss_mdp5_intf2_out>;
10710e8011faSEmmanuel Vadot						};
10720e8011faSEmmanuel Vadot					};
10730e8011faSEmmanuel Vadot
10740e8011faSEmmanuel Vadot					port@1 {
10750e8011faSEmmanuel Vadot						reg = <1>;
10760e8011faSEmmanuel Vadot
10770e8011faSEmmanuel Vadot						mdss_dsi1_out: endpoint {
10780e8011faSEmmanuel Vadot						};
10790e8011faSEmmanuel Vadot					};
10800e8011faSEmmanuel Vadot				};
10810e8011faSEmmanuel Vadot			};
10820e8011faSEmmanuel Vadot
10830e8011faSEmmanuel Vadot			mdss_dsi0_phy: phy@1a94a00 {
10840e8011faSEmmanuel Vadot				compatible = "qcom,dsi-phy-28nm-hpm-fam-b";
10850e8011faSEmmanuel Vadot				reg = <0x01a94a00 0xd4>,
10860e8011faSEmmanuel Vadot				      <0x01a94400 0x280>,
10870e8011faSEmmanuel Vadot				      <0x01a94b80 0x30>;
10880e8011faSEmmanuel Vadot				reg-names = "dsi_pll",
10890e8011faSEmmanuel Vadot					    "dsi_phy",
10900e8011faSEmmanuel Vadot					    "dsi_phy_regulator";
10910e8011faSEmmanuel Vadot
10920e8011faSEmmanuel Vadot				#clock-cells = <1>;
10930e8011faSEmmanuel Vadot				#phy-cells = <0>;
10940e8011faSEmmanuel Vadot
10950e8011faSEmmanuel Vadot				clocks = <&gcc GCC_MDSS_AHB_CLK>,
10960e8011faSEmmanuel Vadot					 <&rpmcc RPM_SMD_XO_CLK_SRC>;
10970e8011faSEmmanuel Vadot				clock-names = "iface", "ref";
10980e8011faSEmmanuel Vadot
10990e8011faSEmmanuel Vadot				status = "disabled";
11000e8011faSEmmanuel Vadot			};
11010e8011faSEmmanuel Vadot
11020e8011faSEmmanuel Vadot			mdss_dsi1_phy: phy@1a96a00 {
11030e8011faSEmmanuel Vadot				compatible = "qcom,dsi-phy-28nm-hpm-fam-b";
11040e8011faSEmmanuel Vadot				reg = <0x01a96a00 0xd4>,
11050e8011faSEmmanuel Vadot				      <0x01a96400 0x280>,
11060e8011faSEmmanuel Vadot				      <0x01a96b80 0x30>;
11070e8011faSEmmanuel Vadot				reg-names = "dsi_pll",
11080e8011faSEmmanuel Vadot					    "dsi_phy",
11090e8011faSEmmanuel Vadot					    "dsi_phy_regulator";
11100e8011faSEmmanuel Vadot
11110e8011faSEmmanuel Vadot				#clock-cells = <1>;
11120e8011faSEmmanuel Vadot				#phy-cells = <0>;
11130e8011faSEmmanuel Vadot
11140e8011faSEmmanuel Vadot				clocks = <&gcc GCC_MDSS_AHB_CLK>,
11150e8011faSEmmanuel Vadot					 <&rpmcc RPM_SMD_XO_CLK_SRC>;
11160e8011faSEmmanuel Vadot				clock-names = "iface", "ref";
11170e8011faSEmmanuel Vadot
11180e8011faSEmmanuel Vadot				status = "disabled";
11190e8011faSEmmanuel Vadot			};
11200e8011faSEmmanuel Vadot		};
11210e8011faSEmmanuel Vadot
11220e8011faSEmmanuel Vadot		adreno_gpu: gpu@1c00000 {
11230e8011faSEmmanuel Vadot			compatible = "qcom,adreno-510.0", "qcom,adreno";
11240e8011faSEmmanuel Vadot
11250e8011faSEmmanuel Vadot			reg = <0x01c00000 0x40000>;
11260e8011faSEmmanuel Vadot			reg-names = "kgsl_3d0_reg_memory";
11270e8011faSEmmanuel Vadot
11280e8011faSEmmanuel Vadot			interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
11290e8011faSEmmanuel Vadot			interrupt-names = "kgsl_3d0_irq";
11300e8011faSEmmanuel Vadot
11310e8011faSEmmanuel Vadot			clocks = <&gcc GCC_GFX3D_OXILI_CLK>,
11320e8011faSEmmanuel Vadot				 <&gcc GCC_GFX3D_OXILI_AHB_CLK>,
11330e8011faSEmmanuel Vadot				 <&gcc GCC_GFX3D_OXILI_GMEM_CLK>,
11340e8011faSEmmanuel Vadot				 <&gcc GCC_GFX3D_BIMC_CLK>,
11350e8011faSEmmanuel Vadot				 <&gcc GCC_GFX3D_OXILI_TIMER_CLK>,
11360e8011faSEmmanuel Vadot				 <&gcc GCC_GFX3D_OXILI_AON_CLK>;
11370e8011faSEmmanuel Vadot			clock-names = "core",
11380e8011faSEmmanuel Vadot				      "iface",
11390e8011faSEmmanuel Vadot				      "mem",
11400e8011faSEmmanuel Vadot				      "mem_iface",
11410e8011faSEmmanuel Vadot				      "rbbmtimer",
11420e8011faSEmmanuel Vadot				      "alwayson";
11430e8011faSEmmanuel Vadot
11440e8011faSEmmanuel Vadot			power-domains = <&gcc OXILI_GX_GDSC>;
11450e8011faSEmmanuel Vadot
11460e8011faSEmmanuel Vadot			iommus = <&gpu_iommu 0>;
11470e8011faSEmmanuel Vadot
11480e8011faSEmmanuel Vadot			operating-points-v2 = <&gpu_opp_table>;
11490e8011faSEmmanuel Vadot
11500e8011faSEmmanuel Vadot			status = "disabled";
11510e8011faSEmmanuel Vadot
11520e8011faSEmmanuel Vadot			gpu_opp_table: opp-table {
11530e8011faSEmmanuel Vadot				compatible = "operating-points-v2";
11540e8011faSEmmanuel Vadot
11550e8011faSEmmanuel Vadot				opp-200000000 {
11560e8011faSEmmanuel Vadot					opp-hz = /bits/ 64 <200000000>;
11570e8011faSEmmanuel Vadot					required-opps = <&rpmpd_opp_low_svs>;
11580e8011faSEmmanuel Vadot					opp-supported-hw = <0xff>;
11590e8011faSEmmanuel Vadot				};
11600e8011faSEmmanuel Vadot
11610e8011faSEmmanuel Vadot				opp-300000000 {
11620e8011faSEmmanuel Vadot					opp-hz = /bits/ 64 <300000000>;
11630e8011faSEmmanuel Vadot					required-opps = <&rpmpd_opp_svs>;
11640e8011faSEmmanuel Vadot					opp-supported-hw = <0xff>;
11650e8011faSEmmanuel Vadot				};
11660e8011faSEmmanuel Vadot
11670e8011faSEmmanuel Vadot				opp-400000000 {
11680e8011faSEmmanuel Vadot					opp-hz = /bits/ 64 <400000000>;
11690e8011faSEmmanuel Vadot					required-opps = <&rpmpd_opp_nom>;
11700e8011faSEmmanuel Vadot					opp-supported-hw = <0xff>;
11710e8011faSEmmanuel Vadot				};
11720e8011faSEmmanuel Vadot
11730e8011faSEmmanuel Vadot				opp-480000000 {
11740e8011faSEmmanuel Vadot					opp-hz = /bits/ 64 <480000000>;
11750e8011faSEmmanuel Vadot					required-opps = <&rpmpd_opp_nom_plus>;
11760e8011faSEmmanuel Vadot					opp-supported-hw = <0xff>;
11770e8011faSEmmanuel Vadot				};
11780e8011faSEmmanuel Vadot
11790e8011faSEmmanuel Vadot				opp-540000000 {
11800e8011faSEmmanuel Vadot					opp-hz = /bits/ 64 <540000000>;
11810e8011faSEmmanuel Vadot					required-opps = <&rpmpd_opp_turbo>;
11820e8011faSEmmanuel Vadot					opp-supported-hw = <0xff>;
11830e8011faSEmmanuel Vadot				};
11840e8011faSEmmanuel Vadot
11850e8011faSEmmanuel Vadot				opp-600000000 {
11860e8011faSEmmanuel Vadot					opp-hz = /bits/ 64 <600000000>;
11870e8011faSEmmanuel Vadot					required-opps = <&rpmpd_opp_turbo>;
11880e8011faSEmmanuel Vadot					opp-supported-hw = <0xff>;
11890e8011faSEmmanuel Vadot				};
11900e8011faSEmmanuel Vadot			};
11910e8011faSEmmanuel Vadot		};
11920e8011faSEmmanuel Vadot
11930e8011faSEmmanuel Vadot		apps_iommu: iommu@1ee0000 {
11940e8011faSEmmanuel Vadot			compatible = "qcom,msm8976-iommu", "qcom,msm-iommu-v2";
11950e8011faSEmmanuel Vadot			reg = <0x01ee0000 0x3000>;
11960e8011faSEmmanuel Vadot			ranges  = <0 0x01e20000 0x20000>;
11970e8011faSEmmanuel Vadot
11980e8011faSEmmanuel Vadot			clocks = <&gcc GCC_SMMU_CFG_CLK>,
11990e8011faSEmmanuel Vadot				 <&gcc GCC_APSS_TCU_CLK>;
12000e8011faSEmmanuel Vadot			clock-names = "iface", "bus";
12010e8011faSEmmanuel Vadot
12020e8011faSEmmanuel Vadot			qcom,iommu-secure-id = <17>;
12030e8011faSEmmanuel Vadot
12040e8011faSEmmanuel Vadot			#address-cells = <1>;
12050e8011faSEmmanuel Vadot			#size-cells = <1>;
12060e8011faSEmmanuel Vadot			#iommu-cells = <1>;
12070e8011faSEmmanuel Vadot
12080e8011faSEmmanuel Vadot			/* VFE */
12090e8011faSEmmanuel Vadot			iommu-ctx@15000 {
12100e8011faSEmmanuel Vadot				compatible = "qcom,msm-iommu-v2-ns";
12110e8011faSEmmanuel Vadot				reg = <0x15000 0x1000>;
12120e8011faSEmmanuel Vadot				qcom,ctx-asid = <20>;
12130e8011faSEmmanuel Vadot				interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
12140e8011faSEmmanuel Vadot			};
12150e8011faSEmmanuel Vadot
12160e8011faSEmmanuel Vadot			/* VENUS NS */
12170e8011faSEmmanuel Vadot			iommu-ctx@16000 {
12180e8011faSEmmanuel Vadot				compatible = "qcom,msm-iommu-v2-ns";
12190e8011faSEmmanuel Vadot				reg = <0x16000 0x1000>;
12200e8011faSEmmanuel Vadot				qcom,ctx-asid = <21>;
12210e8011faSEmmanuel Vadot				interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
12220e8011faSEmmanuel Vadot			};
12230e8011faSEmmanuel Vadot
12240e8011faSEmmanuel Vadot			/* MDP0 */
12250e8011faSEmmanuel Vadot			iommu-ctx@17000 {
12260e8011faSEmmanuel Vadot				compatible = "qcom,msm-iommu-v2-ns";
12270e8011faSEmmanuel Vadot				reg = <0x17000 0x1000>;
12280e8011faSEmmanuel Vadot				qcom,ctx-asid = <22>;
12290e8011faSEmmanuel Vadot				interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
12300e8011faSEmmanuel Vadot			};
12310e8011faSEmmanuel Vadot		};
12320e8011faSEmmanuel Vadot
12330e8011faSEmmanuel Vadot		gpu_iommu: iommu@1f08000 {
12340e8011faSEmmanuel Vadot			compatible = "qcom,msm8976-iommu", "qcom,msm-iommu-v2";
12350e8011faSEmmanuel Vadot			ranges = <0 0x01f08000 0x8000>;
12360e8011faSEmmanuel Vadot
12370e8011faSEmmanuel Vadot			clocks = <&gcc GCC_SMMU_CFG_CLK>,
12380e8011faSEmmanuel Vadot				 <&gcc GCC_GFX3D_TCU_CLK>;
12390e8011faSEmmanuel Vadot			clock-names = "iface", "bus";
12400e8011faSEmmanuel Vadot
12410e8011faSEmmanuel Vadot			power-domains = <&gcc OXILI_CX_GDSC>;
12420e8011faSEmmanuel Vadot
12430e8011faSEmmanuel Vadot			qcom,iommu-secure-id = <18>;
12440e8011faSEmmanuel Vadot
12450e8011faSEmmanuel Vadot			#address-cells = <1>;
12460e8011faSEmmanuel Vadot			#size-cells = <1>;
12470e8011faSEmmanuel Vadot			#iommu-cells = <1>;
12480e8011faSEmmanuel Vadot
12490e8011faSEmmanuel Vadot			/* gfx3d user */
12500e8011faSEmmanuel Vadot			iommu-ctx@0 {
12510e8011faSEmmanuel Vadot				compatible = "qcom,msm-iommu-v2-ns";
12520e8011faSEmmanuel Vadot				reg = <0x0 0x1000>;
12530e8011faSEmmanuel Vadot				qcom,ctx-asid = <0>;
12540e8011faSEmmanuel Vadot				interrupts = <GIC_SPI 240 IRQ_TYPE_LEVEL_HIGH>;
12550e8011faSEmmanuel Vadot			};
12560e8011faSEmmanuel Vadot
12570e8011faSEmmanuel Vadot			/* gfx3d secure */
12580e8011faSEmmanuel Vadot			iommu-ctx@1000 {
12590e8011faSEmmanuel Vadot				compatible = "qcom,msm-iommu-v2-sec";
12600e8011faSEmmanuel Vadot				reg = <0x1000 0x1000>;
12610e8011faSEmmanuel Vadot				qcom,ctx-asid = <2>;
12620e8011faSEmmanuel Vadot				interrupts = <GIC_SPI 241 IRQ_TYPE_LEVEL_HIGH>;
12630e8011faSEmmanuel Vadot			};
12640e8011faSEmmanuel Vadot
12650e8011faSEmmanuel Vadot			/* gfx3d priv */
12660e8011faSEmmanuel Vadot			iommu-ctx@2000 {
12670e8011faSEmmanuel Vadot				compatible = "qcom,msm-iommu-v2-sec";
12680e8011faSEmmanuel Vadot				reg = <0x2000 0x1000>;
12690e8011faSEmmanuel Vadot				qcom,ctx-asid = <1>;
12700e8011faSEmmanuel Vadot				interrupts = <GIC_SPI 242 IRQ_TYPE_LEVEL_HIGH>;
12710e8011faSEmmanuel Vadot			};
12720e8011faSEmmanuel Vadot		};
12730e8011faSEmmanuel Vadot
12748bab661aSEmmanuel Vadot		spmi_bus: spmi@200f000 {
12758bab661aSEmmanuel Vadot			compatible = "qcom,spmi-pmic-arb";
12768bab661aSEmmanuel Vadot			reg = <0x0200f000 0x1000>,
12778bab661aSEmmanuel Vadot			      <0x02400000 0x800000>,
12788bab661aSEmmanuel Vadot			      <0x02c00000 0x800000>,
12798bab661aSEmmanuel Vadot			      <0x03800000 0x200000>,
12808bab661aSEmmanuel Vadot			      <0x0200a000 0x2100>;
12818bab661aSEmmanuel Vadot			reg-names = "core", "chnls", "obsrvr", "intr", "cnfg";
12828bab661aSEmmanuel Vadot			interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
12838bab661aSEmmanuel Vadot			interrupt-names = "periph_irq";
12848bab661aSEmmanuel Vadot			qcom,channel = <0>;
12858bab661aSEmmanuel Vadot			qcom,ee = <0>;
12868bab661aSEmmanuel Vadot
12878bab661aSEmmanuel Vadot			#address-cells = <2>;
12888bab661aSEmmanuel Vadot			#size-cells = <0>;
12898bab661aSEmmanuel Vadot			interrupt-controller;
12908bab661aSEmmanuel Vadot			#interrupt-cells = <4>;
12918bab661aSEmmanuel Vadot		};
12928bab661aSEmmanuel Vadot
1293f126890aSEmmanuel Vadot		sdhc_1: mmc@7824900 {
12948bab661aSEmmanuel Vadot			compatible = "qcom,msm8976-sdhci", "qcom,sdhci-msm-v4";
12958bab661aSEmmanuel Vadot			reg = <0x07824900 0x500>, <0x07824000 0x800>;
12968bab661aSEmmanuel Vadot			reg-names = "hc", "core";
12978bab661aSEmmanuel Vadot
12988bab661aSEmmanuel Vadot			interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
12998bab661aSEmmanuel Vadot				     <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
13008bab661aSEmmanuel Vadot			interrupt-names = "hc_irq", "pwr_irq";
13018bab661aSEmmanuel Vadot
13028bab661aSEmmanuel Vadot			clocks = <&gcc GCC_SDCC1_AHB_CLK>,
13038bab661aSEmmanuel Vadot				 <&gcc GCC_SDCC1_APPS_CLK>,
13048bab661aSEmmanuel Vadot				 <&rpmcc RPM_SMD_XO_CLK_SRC>;
13058bab661aSEmmanuel Vadot			clock-names = "iface", "core", "xo";
13068bab661aSEmmanuel Vadot			status = "disabled";
13078bab661aSEmmanuel Vadot		};
13088bab661aSEmmanuel Vadot
1309f126890aSEmmanuel Vadot		sdhc_2: mmc@7864900 {
13108bab661aSEmmanuel Vadot			compatible = "qcom,msm8976-sdhci", "qcom,sdhci-msm-v4";
13118bab661aSEmmanuel Vadot			reg = <0x07864900 0x11c>, <0x07864000 0x800>;
13128bab661aSEmmanuel Vadot			reg-names = "hc", "core";
13138bab661aSEmmanuel Vadot
13148bab661aSEmmanuel Vadot			interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>,
13158bab661aSEmmanuel Vadot				     <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>;
13168bab661aSEmmanuel Vadot			interrupt-names = "hc_irq", "pwr_irq";
13178bab661aSEmmanuel Vadot
13188bab661aSEmmanuel Vadot			clocks = <&gcc GCC_SDCC2_AHB_CLK>,
13198bab661aSEmmanuel Vadot				 <&gcc GCC_SDCC2_APPS_CLK>,
13208bab661aSEmmanuel Vadot				 <&rpmcc RPM_SMD_XO_CLK_SRC>;
13218bab661aSEmmanuel Vadot			clock-names = "iface", "core", "xo";
13228bab661aSEmmanuel Vadot			status = "disabled";
13238bab661aSEmmanuel Vadot		};
13248bab661aSEmmanuel Vadot
13258bab661aSEmmanuel Vadot		blsp1_dma: dma-controller@7884000 {
13268bab661aSEmmanuel Vadot			compatible = "qcom,bam-v1.7.0";
13278bab661aSEmmanuel Vadot			reg = <0x07884000 0x1f000>;
13288bab661aSEmmanuel Vadot			interrupts = <GIC_SPI 238 IRQ_TYPE_LEVEL_HIGH>;
13298bab661aSEmmanuel Vadot			clocks = <&gcc GCC_BLSP1_AHB_CLK>;
13308bab661aSEmmanuel Vadot			clock-names = "bam_clk";
13318bab661aSEmmanuel Vadot			#dma-cells = <1>;
13328bab661aSEmmanuel Vadot			qcom,ee = <0>;
13338bab661aSEmmanuel Vadot		};
13348bab661aSEmmanuel Vadot
13358bab661aSEmmanuel Vadot		blsp1_uart1: serial@78af000 {
13368bab661aSEmmanuel Vadot			compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
13378bab661aSEmmanuel Vadot			reg = <0x078af000 0x200>;
13388bab661aSEmmanuel Vadot			interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
13398bab661aSEmmanuel Vadot			clocks = <&gcc GCC_BLSP1_UART1_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>;
13408bab661aSEmmanuel Vadot			clock-names = "core", "iface";
13418bab661aSEmmanuel Vadot			dmas = <&blsp1_dma 0>, <&blsp1_dma 1>;
13428bab661aSEmmanuel Vadot			dma-names = "tx", "rx";
13438bab661aSEmmanuel Vadot			status = "disabled";
13448bab661aSEmmanuel Vadot		};
13458bab661aSEmmanuel Vadot
13468bab661aSEmmanuel Vadot		blsp1_uart2: serial@78b0000 {
13478bab661aSEmmanuel Vadot			compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
13488bab661aSEmmanuel Vadot			reg = <0x078b0000 0x200>;
13498bab661aSEmmanuel Vadot			interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
13508bab661aSEmmanuel Vadot			clocks = <&gcc GCC_BLSP1_UART2_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>;
13518bab661aSEmmanuel Vadot			clock-names = "core", "iface";
13528bab661aSEmmanuel Vadot			dmas = <&blsp1_dma 2>, <&blsp1_dma 3>;
13538bab661aSEmmanuel Vadot			dma-names = "tx", "rx";
13548bab661aSEmmanuel Vadot			status = "disabled";
13558bab661aSEmmanuel Vadot		};
13568bab661aSEmmanuel Vadot
13578bab661aSEmmanuel Vadot		blsp1_spi1: spi@78b5000 {
13588bab661aSEmmanuel Vadot			compatible = "qcom,spi-qup-v2.2.1";
13598bab661aSEmmanuel Vadot			reg = <0x078b5000 0x500>;
13608bab661aSEmmanuel Vadot			interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
13618bab661aSEmmanuel Vadot			clocks = <&gcc GCC_BLSP1_QUP1_SPI_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>;
13628bab661aSEmmanuel Vadot			clock-names = "core", "iface";
13638bab661aSEmmanuel Vadot			dmas = <&blsp1_dma 4>, <&blsp1_dma 5>;
13648bab661aSEmmanuel Vadot			dma-names = "tx", "rx";
13658bab661aSEmmanuel Vadot			pinctrl-names = "default", "sleep";
13668bab661aSEmmanuel Vadot			pinctrl-0 = <&spi1_default>;
13678bab661aSEmmanuel Vadot			pinctrl-1 = <&spi1_sleep>;
13688bab661aSEmmanuel Vadot			#address-cells = <1>;
13698bab661aSEmmanuel Vadot			#size-cells = <0>;
13708bab661aSEmmanuel Vadot			status = "disabled";
13718bab661aSEmmanuel Vadot		};
13728bab661aSEmmanuel Vadot
13738bab661aSEmmanuel Vadot		blsp1_i2c2: i2c@78b6000 {
13748bab661aSEmmanuel Vadot			compatible = "qcom,i2c-qup-v2.2.1";
13758bab661aSEmmanuel Vadot			reg = <0x078b6000 0x500>;
13768bab661aSEmmanuel Vadot			interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
13778bab661aSEmmanuel Vadot			clocks = <&gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>;
13788bab661aSEmmanuel Vadot			clock-names = "core", "iface";
13798bab661aSEmmanuel Vadot			clock-frequency = <400000>;
13808bab661aSEmmanuel Vadot			dmas = <&blsp1_dma 6>, <&blsp1_dma 7>;
13818bab661aSEmmanuel Vadot			dma-names = "tx", "rx";
13828bab661aSEmmanuel Vadot			pinctrl-names = "default", "sleep";
13838bab661aSEmmanuel Vadot			pinctrl-0 = <&blsp1_i2c2_default>;
13848bab661aSEmmanuel Vadot			pinctrl-1 = <&blsp1_i2c2_default>;
13858bab661aSEmmanuel Vadot			#address-cells = <1>;
13868bab661aSEmmanuel Vadot			#size-cells = <0>;
13878bab661aSEmmanuel Vadot			status = "disabled";
13888bab661aSEmmanuel Vadot		};
13898bab661aSEmmanuel Vadot
13908bab661aSEmmanuel Vadot		blsp1_i2c4: i2c@78b8000 {
13918bab661aSEmmanuel Vadot			compatible = "qcom,i2c-qup-v2.2.1";
13928bab661aSEmmanuel Vadot			reg = <0x078b8000 0x500>;
13938bab661aSEmmanuel Vadot			interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
13948bab661aSEmmanuel Vadot			clocks = <&gcc GCC_BLSP1_QUP4_I2C_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>;
13958bab661aSEmmanuel Vadot			clock-names = "core", "iface";
13968bab661aSEmmanuel Vadot			clock-frequency = <400000>;
13978bab661aSEmmanuel Vadot			dmas = <&blsp1_dma 10>, <&blsp1_dma 11>;
13988bab661aSEmmanuel Vadot			dma-names = "tx", "rx";
13998bab661aSEmmanuel Vadot			pinctrl-names = "default", "sleep";
14008bab661aSEmmanuel Vadot			pinctrl-0 = <&blsp1_i2c4_default>;
14018bab661aSEmmanuel Vadot			pinctrl-1 = <&blsp1_i2c4_sleep>;
14028bab661aSEmmanuel Vadot			#address-cells = <1>;
14038bab661aSEmmanuel Vadot			#size-cells = <0>;
14048bab661aSEmmanuel Vadot			status = "disabled";
14058bab661aSEmmanuel Vadot		};
14068bab661aSEmmanuel Vadot
14078bab661aSEmmanuel Vadot		otg: usb@78db000 {
14088bab661aSEmmanuel Vadot			compatible = "qcom,ci-hdrc";
14098bab661aSEmmanuel Vadot			reg = <0x078db000 0x200>,
14108bab661aSEmmanuel Vadot			      <0x078db200 0x200>;
14118bab661aSEmmanuel Vadot			interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
14128bab661aSEmmanuel Vadot				     <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>;
14138bab661aSEmmanuel Vadot			clocks = <&gcc GCC_USB_HS_AHB_CLK>, <&gcc GCC_USB_HS_SYSTEM_CLK>;
14148bab661aSEmmanuel Vadot			clock-names = "iface", "core";
14158bab661aSEmmanuel Vadot			assigned-clocks = <&gcc GCC_USB_HS_SYSTEM_CLK>;
14168bab661aSEmmanuel Vadot			assigned-clock-rates = <80000000>;
14178bab661aSEmmanuel Vadot			resets = <&gcc RST_USB_HS_BCR>;
14188bab661aSEmmanuel Vadot			reset-names = "core";
14198bab661aSEmmanuel Vadot			ahb-burst-config = <0>;
14208bab661aSEmmanuel Vadot			dr_mode = "peripheral";
14218bab661aSEmmanuel Vadot			phy_type = "ulpi";
14228bab661aSEmmanuel Vadot			phy-names = "usb-phy";
14238bab661aSEmmanuel Vadot			phys = <&usb_hs_phy>;
14248bab661aSEmmanuel Vadot			status = "disabled";
14258bab661aSEmmanuel Vadot			#reset-cells = <1>;
14268bab661aSEmmanuel Vadot		};
14278bab661aSEmmanuel Vadot
1428f126890aSEmmanuel Vadot		sdhc_3: mmc@7a24900 {
14298bab661aSEmmanuel Vadot			compatible = "qcom,msm8976-sdhci", "qcom,sdhci-msm-v4";
14308bab661aSEmmanuel Vadot			reg = <0x07a24900 0x11c>, <0x07a24000 0x800>;
14318bab661aSEmmanuel Vadot			reg-names = "hc", "core";
14328bab661aSEmmanuel Vadot
14338bab661aSEmmanuel Vadot			interrupts = <GIC_SPI 295 IRQ_TYPE_LEVEL_HIGH>,
14348bab661aSEmmanuel Vadot				     <GIC_SPI 297 IRQ_TYPE_LEVEL_HIGH>;
14358bab661aSEmmanuel Vadot			interrupt-names = "hc_irq", "pwr_irq";
14368bab661aSEmmanuel Vadot
14378bab661aSEmmanuel Vadot			clocks = <&gcc GCC_SDCC3_AHB_CLK>,
14388bab661aSEmmanuel Vadot				 <&gcc GCC_SDCC3_APPS_CLK>,
14398bab661aSEmmanuel Vadot				 <&rpmcc RPM_SMD_XO_CLK_SRC>;
14408bab661aSEmmanuel Vadot			clock-names = "iface", "core", "xo";
14418bab661aSEmmanuel Vadot
14428bab661aSEmmanuel Vadot			status = "disabled";
14438bab661aSEmmanuel Vadot		};
14448bab661aSEmmanuel Vadot
14458bab661aSEmmanuel Vadot		blsp2_dma: dma-controller@7ac4000 {
14468bab661aSEmmanuel Vadot			compatible = "qcom,bam-v1.7.0";
14478bab661aSEmmanuel Vadot			reg = <0x07ac4000 0x1f000>;
14488bab661aSEmmanuel Vadot			interrupts = <GIC_SPI 239 IRQ_TYPE_LEVEL_HIGH>;
14498bab661aSEmmanuel Vadot			clocks = <&gcc GCC_BLSP2_AHB_CLK>;
14508bab661aSEmmanuel Vadot			clock-names = "bam_clk";
14518bab661aSEmmanuel Vadot			#dma-cells = <1>;
14528bab661aSEmmanuel Vadot			qcom,ee = <0>;
14538bab661aSEmmanuel Vadot		};
14548bab661aSEmmanuel Vadot
14558bab661aSEmmanuel Vadot		blsp2_uart2: serial@7af0000 {
14568bab661aSEmmanuel Vadot			compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
14578bab661aSEmmanuel Vadot			reg = <0x07af0000 0x200>;
14588bab661aSEmmanuel Vadot			interrupts = <GIC_SPI 307 IRQ_TYPE_LEVEL_HIGH>;
14598bab661aSEmmanuel Vadot			clocks = <&gcc GCC_BLSP2_UART2_APPS_CLK>, <&gcc GCC_BLSP2_AHB_CLK>;
14608bab661aSEmmanuel Vadot			clock-names = "core", "iface";
14618bab661aSEmmanuel Vadot			dmas = <&blsp2_dma 0>, <&blsp2_dma 1>;
14628bab661aSEmmanuel Vadot			dma-names = "tx", "rx";
14638bab661aSEmmanuel Vadot			status = "disabled";
14648bab661aSEmmanuel Vadot		};
14658bab661aSEmmanuel Vadot
14668bab661aSEmmanuel Vadot		blsp2_i2c2: i2c@7af6000 {
14678bab661aSEmmanuel Vadot			compatible = "qcom,i2c-qup-v2.2.1";
14688bab661aSEmmanuel Vadot			reg = <0x07af6000 0x600>;
14698bab661aSEmmanuel Vadot			interrupts = <GIC_SPI 300 IRQ_TYPE_LEVEL_HIGH>;
14708bab661aSEmmanuel Vadot			clocks = <&gcc GCC_BLSP2_QUP2_I2C_APPS_CLK>, <&gcc GCC_BLSP2_AHB_CLK>;
14718bab661aSEmmanuel Vadot			clock-names = "core", "iface";
14728bab661aSEmmanuel Vadot			clock-frequency = <400000>;
14738bab661aSEmmanuel Vadot			dmas = <&blsp2_dma 6>, <&blsp2_dma 7>;
14748bab661aSEmmanuel Vadot			dma-names = "tx", "rx";
14758bab661aSEmmanuel Vadot			pinctrl-names = "default", "sleep";
14768bab661aSEmmanuel Vadot			pinctrl-0 = <&blsp2_i2c2_default>;
14778bab661aSEmmanuel Vadot			pinctrl-1 = <&blsp2_i2c2_sleep>;
14788bab661aSEmmanuel Vadot			#address-cells = <1>;
14798bab661aSEmmanuel Vadot			#size-cells = <0>;
14808bab661aSEmmanuel Vadot			status = "disabled";
14818bab661aSEmmanuel Vadot		};
14828bab661aSEmmanuel Vadot
14838bab661aSEmmanuel Vadot		blsp2_i2c4: i2c@7af8000 {
14848bab661aSEmmanuel Vadot			compatible = "qcom,i2c-qup-v2.2.1";
14858bab661aSEmmanuel Vadot			reg = <0x07af8000 0x600>;
14868bab661aSEmmanuel Vadot			interrupts = <GIC_SPI 302 IRQ_TYPE_LEVEL_HIGH>;
14878bab661aSEmmanuel Vadot			clocks = <&gcc GCC_BLSP2_QUP4_I2C_APPS_CLK>, <&gcc GCC_BLSP2_AHB_CLK>;
14888bab661aSEmmanuel Vadot			clock-names = "core", "iface";
14898bab661aSEmmanuel Vadot			clock-frequency = <400000>;
14908bab661aSEmmanuel Vadot			dmas = <&blsp2_dma 10>, <&blsp2_dma 11>;
14918bab661aSEmmanuel Vadot			dma-names = "tx", "rx";
14928bab661aSEmmanuel Vadot			pinctrl-names = "default", "sleep";
14938bab661aSEmmanuel Vadot			pinctrl-0 = <&blsp2_i2c4_default>;
14948bab661aSEmmanuel Vadot			pinctrl-1 = <&blsp2_i2c4_sleep>;
14958bab661aSEmmanuel Vadot			#address-cells = <1>;
14968bab661aSEmmanuel Vadot			#size-cells = <0>;
14978bab661aSEmmanuel Vadot			status = "disabled";
14988bab661aSEmmanuel Vadot		};
14998bab661aSEmmanuel Vadot
15000e8011faSEmmanuel Vadot		wcnss: remoteproc@a204000 {
15010e8011faSEmmanuel Vadot			compatible = "qcom,pronto-v3-pil", "qcom,pronto";
15020e8011faSEmmanuel Vadot			reg = <0x0a204000 0x2000>,
15030e8011faSEmmanuel Vadot			      <0x0a202000 0x1000>,
15040e8011faSEmmanuel Vadot			      <0x0a21b000 0x3000>;
15050e8011faSEmmanuel Vadot			reg-names = "ccu",
15060e8011faSEmmanuel Vadot				    "dxe",
15070e8011faSEmmanuel Vadot				    "pmu";
15080e8011faSEmmanuel Vadot
15090e8011faSEmmanuel Vadot			memory-region = <&wcnss_fw_mem>;
15100e8011faSEmmanuel Vadot
15110e8011faSEmmanuel Vadot			interrupts-extended = <&intc GIC_SPI 149 IRQ_TYPE_EDGE_RISING>,
15120e8011faSEmmanuel Vadot					      <&wcnss_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
15130e8011faSEmmanuel Vadot					      <&wcnss_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
15140e8011faSEmmanuel Vadot					      <&wcnss_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
15150e8011faSEmmanuel Vadot					      <&wcnss_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
15160e8011faSEmmanuel Vadot			interrupt-names = "wdog",
15170e8011faSEmmanuel Vadot					  "fatal",
15180e8011faSEmmanuel Vadot					  "ready",
15190e8011faSEmmanuel Vadot					  "handover",
15200e8011faSEmmanuel Vadot					  "stop-ack";
15210e8011faSEmmanuel Vadot
15220e8011faSEmmanuel Vadot			power-domains = <&rpmpd MSM8976_VDDCX>,
15230e8011faSEmmanuel Vadot					<&rpmpd MSM8976_VDDMX>;
15240e8011faSEmmanuel Vadot			power-domain-names = "cx", "mx";
15250e8011faSEmmanuel Vadot
15260e8011faSEmmanuel Vadot			qcom,smem-states = <&wcnss_smp2p_out 0>;
15270e8011faSEmmanuel Vadot			qcom,smem-state-names = "stop";
15280e8011faSEmmanuel Vadot
15290e8011faSEmmanuel Vadot			pinctrl-0 = <&wcss_wlan_default>;
15300e8011faSEmmanuel Vadot			pinctrl-names = "default";
15310e8011faSEmmanuel Vadot
15320e8011faSEmmanuel Vadot			status = "disabled";
15330e8011faSEmmanuel Vadot
15340e8011faSEmmanuel Vadot			wcnss_iris: iris {
15350e8011faSEmmanuel Vadot				/* Separate chip, compatible is board-specific */
15360e8011faSEmmanuel Vadot				clocks = <&rpmcc RPM_SMD_RF_CLK2>;
15370e8011faSEmmanuel Vadot				clock-names = "xo";
15380e8011faSEmmanuel Vadot			};
15390e8011faSEmmanuel Vadot
15400e8011faSEmmanuel Vadot			smd-edge {
15410e8011faSEmmanuel Vadot				interrupts = <GIC_SPI 142 IRQ_TYPE_EDGE_RISING>;
15420e8011faSEmmanuel Vadot
15430e8011faSEmmanuel Vadot				mboxes = <&apcs 17>;
15440e8011faSEmmanuel Vadot				qcom,smd-edge = <6>;
15450e8011faSEmmanuel Vadot				qcom,remote-pid = <4>;
15460e8011faSEmmanuel Vadot
15470e8011faSEmmanuel Vadot				label = "pronto";
15480e8011faSEmmanuel Vadot
15490e8011faSEmmanuel Vadot				wcnss_ctrl: wcnss {
15500e8011faSEmmanuel Vadot					compatible = "qcom,wcnss";
15510e8011faSEmmanuel Vadot					qcom,smd-channels = "WCNSS_CTRL";
15520e8011faSEmmanuel Vadot
15530e8011faSEmmanuel Vadot					qcom,mmio = <&wcnss>;
15540e8011faSEmmanuel Vadot
15550e8011faSEmmanuel Vadot					wcnss_bt: bluetooth {
15560e8011faSEmmanuel Vadot						compatible = "qcom,wcnss-bt";
15570e8011faSEmmanuel Vadot					};
15580e8011faSEmmanuel Vadot
15590e8011faSEmmanuel Vadot					wcnss_wifi: wifi {
15600e8011faSEmmanuel Vadot						compatible = "qcom,wcnss-wlan";
15610e8011faSEmmanuel Vadot
15620e8011faSEmmanuel Vadot						interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>,
15630e8011faSEmmanuel Vadot							     <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>;
15640e8011faSEmmanuel Vadot						interrupt-names = "tx", "rx";
15650e8011faSEmmanuel Vadot
15660e8011faSEmmanuel Vadot						qcom,smem-states = <&apps_smsm 10>,
15670e8011faSEmmanuel Vadot								   <&apps_smsm 9>;
15680e8011faSEmmanuel Vadot						qcom,smem-state-names = "tx-enable",
15690e8011faSEmmanuel Vadot									"tx-rings-empty";
15700e8011faSEmmanuel Vadot					};
15710e8011faSEmmanuel Vadot				};
15720e8011faSEmmanuel Vadot			};
15730e8011faSEmmanuel Vadot		};
15740e8011faSEmmanuel Vadot
15758bab661aSEmmanuel Vadot		intc: interrupt-controller@b000000 {
15768bab661aSEmmanuel Vadot			compatible = "qcom,msm-qgic2";
15778bab661aSEmmanuel Vadot			reg = <0x0b000000 0x1000>, <0x0b002000 0x1000>;
15788bab661aSEmmanuel Vadot			interrupt-controller;
15798bab661aSEmmanuel Vadot			#interrupt-cells = <3>;
15808bab661aSEmmanuel Vadot		};
15818bab661aSEmmanuel Vadot
15828bab661aSEmmanuel Vadot		apcs: mailbox@b011000 {
1583fac71e4eSEmmanuel Vadot			compatible = "qcom,msm8976-apcs-kpss-global",
1584fac71e4eSEmmanuel Vadot				     "qcom,msm8994-apcs-kpss-global", "syscon";
15858bab661aSEmmanuel Vadot			reg = <0x0b011000 0x1000>;
15868bab661aSEmmanuel Vadot			#mbox-cells = <1>;
15878bab661aSEmmanuel Vadot		};
15888bab661aSEmmanuel Vadot
15898bab661aSEmmanuel Vadot		timer@b120000 {
15908bab661aSEmmanuel Vadot			compatible = "arm,armv7-timer-mem";
15918bab661aSEmmanuel Vadot			reg = <0x0b120000 0x1000>;
15928bab661aSEmmanuel Vadot			#address-cells = <1>;
15938bab661aSEmmanuel Vadot			#size-cells = <1>;
15948bab661aSEmmanuel Vadot			ranges;
15958bab661aSEmmanuel Vadot			clock-frequency = <19200000>;
15968bab661aSEmmanuel Vadot
15978bab661aSEmmanuel Vadot			frame@b121000 {
15988bab661aSEmmanuel Vadot				reg = <0x0b121000 0x1000>, <0x0b122000 0x1000>;
15998bab661aSEmmanuel Vadot				interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
16008bab661aSEmmanuel Vadot					     <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
16018bab661aSEmmanuel Vadot				frame-number = <0>;
16028bab661aSEmmanuel Vadot			};
16038bab661aSEmmanuel Vadot
16048bab661aSEmmanuel Vadot			frame@b123000 {
16058bab661aSEmmanuel Vadot				reg = <0x0b123000 0x1000>;
16068bab661aSEmmanuel Vadot				interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
16078bab661aSEmmanuel Vadot				frame-number = <1>;
16088bab661aSEmmanuel Vadot				status = "disabled";
16098bab661aSEmmanuel Vadot			};
16108bab661aSEmmanuel Vadot
16118bab661aSEmmanuel Vadot			frame@b124000 {
16128bab661aSEmmanuel Vadot				reg = <0x0b124000 0x1000>;
16138bab661aSEmmanuel Vadot				interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
16148bab661aSEmmanuel Vadot				frame-number = <2>;
16158bab661aSEmmanuel Vadot				status = "disabled";
16168bab661aSEmmanuel Vadot			};
16178bab661aSEmmanuel Vadot
16188bab661aSEmmanuel Vadot			frame@b125000 {
16198bab661aSEmmanuel Vadot				reg = <0x0b125000 0x1000>;
16208bab661aSEmmanuel Vadot				interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
16218bab661aSEmmanuel Vadot				frame-number = <3>;
16228bab661aSEmmanuel Vadot				status = "disabled";
16238bab661aSEmmanuel Vadot			};
16248bab661aSEmmanuel Vadot
16258bab661aSEmmanuel Vadot			frame@b126000 {
16268bab661aSEmmanuel Vadot				reg = <0x0b126000 0x1000>;
16278bab661aSEmmanuel Vadot				interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
16288bab661aSEmmanuel Vadot				frame-number = <4>;
16298bab661aSEmmanuel Vadot				status = "disabled";
16308bab661aSEmmanuel Vadot			};
16318bab661aSEmmanuel Vadot
16328bab661aSEmmanuel Vadot			frame@b127000 {
16338bab661aSEmmanuel Vadot				reg = <0x0b127000 0x1000>;
16348bab661aSEmmanuel Vadot				interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
16358bab661aSEmmanuel Vadot				frame-number = <5>;
16368bab661aSEmmanuel Vadot				status = "disabled";
16378bab661aSEmmanuel Vadot			};
16388bab661aSEmmanuel Vadot
16398bab661aSEmmanuel Vadot			frame@b128000 {
16408bab661aSEmmanuel Vadot				reg = <0x0b128000 0x1000>;
16418bab661aSEmmanuel Vadot				interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
16428bab661aSEmmanuel Vadot				frame-number = <6>;
16438bab661aSEmmanuel Vadot				status = "disabled";
16448bab661aSEmmanuel Vadot			};
16458bab661aSEmmanuel Vadot		};
16468bab661aSEmmanuel Vadot
16478bab661aSEmmanuel Vadot		imem: sram@8600000 {
16488bab661aSEmmanuel Vadot			compatible = "qcom,msm8976-imem", "syscon", "simple-mfd";
16498bab661aSEmmanuel Vadot			reg = <0x08600000 0x1000>;
16508bab661aSEmmanuel Vadot			#address-cells = <1>;
16518bab661aSEmmanuel Vadot			#size-cells = <1>;
16528bab661aSEmmanuel Vadot
16538bab661aSEmmanuel Vadot			ranges = <0 0x08600000 0x1000>;
16548bab661aSEmmanuel Vadot
16558bab661aSEmmanuel Vadot			pil-reloc@94c {
16568bab661aSEmmanuel Vadot				compatible = "qcom,pil-reloc-info";
16578bab661aSEmmanuel Vadot				reg = <0x94c 0xc8>;
16588bab661aSEmmanuel Vadot			};
16598bab661aSEmmanuel Vadot		};
16608bab661aSEmmanuel Vadot	};
16618bab661aSEmmanuel Vadot
16628bab661aSEmmanuel Vadot	thermal-zones {
16638bab661aSEmmanuel Vadot		aoss0-thermal {
16648bab661aSEmmanuel Vadot			polling-delay-passive = <250>;
16658bab661aSEmmanuel Vadot
16668bab661aSEmmanuel Vadot			thermal-sensors = <&tsens 0>;
16678bab661aSEmmanuel Vadot
16688bab661aSEmmanuel Vadot			trips {
16698bab661aSEmmanuel Vadot				aoss0_alert0: trip-point0 {
16708bab661aSEmmanuel Vadot					temperature = <75000>;
16718bab661aSEmmanuel Vadot					hysteresis = <2000>;
16728bab661aSEmmanuel Vadot					type = "hot";
16738bab661aSEmmanuel Vadot				};
16748bab661aSEmmanuel Vadot			};
16758bab661aSEmmanuel Vadot		};
16768bab661aSEmmanuel Vadot
16778bab661aSEmmanuel Vadot		modem-thermal {
16788bab661aSEmmanuel Vadot			polling-delay-passive = <250>;
16798bab661aSEmmanuel Vadot
16808bab661aSEmmanuel Vadot			thermal-sensors = <&tsens 1>;
16818bab661aSEmmanuel Vadot			trips {
16828bab661aSEmmanuel Vadot				modem_alert0: trip-point0 {
16838bab661aSEmmanuel Vadot					temperature = <75000>;
16848bab661aSEmmanuel Vadot					hysteresis = <2000>;
16858bab661aSEmmanuel Vadot					type = "hot";
16868bab661aSEmmanuel Vadot				};
16878bab661aSEmmanuel Vadot			};
16888bab661aSEmmanuel Vadot		};
16898bab661aSEmmanuel Vadot
16908bab661aSEmmanuel Vadot		qdsp-thermal {
16918bab661aSEmmanuel Vadot			polling-delay-passive = <250>;
16928bab661aSEmmanuel Vadot
16938bab661aSEmmanuel Vadot			thermal-sensors = <&tsens 2>;
16948bab661aSEmmanuel Vadot			trips {
16958bab661aSEmmanuel Vadot				qdsp_alert0: trip-point0 {
16968bab661aSEmmanuel Vadot					temperature = <75000>;
16978bab661aSEmmanuel Vadot					hysteresis = <2000>;
16988bab661aSEmmanuel Vadot					type = "hot";
16998bab661aSEmmanuel Vadot				};
17008bab661aSEmmanuel Vadot			};
17018bab661aSEmmanuel Vadot		};
17028bab661aSEmmanuel Vadot
17038bab661aSEmmanuel Vadot		cam-isp-thermal {
17048bab661aSEmmanuel Vadot			polling-delay-passive = <250>;
17058bab661aSEmmanuel Vadot
17068bab661aSEmmanuel Vadot			thermal-sensors = <&tsens 3>;
17078bab661aSEmmanuel Vadot			trips {
17088bab661aSEmmanuel Vadot				cam_isp_alert0: trip-point0 {
17098bab661aSEmmanuel Vadot					temperature = <75000>;
17108bab661aSEmmanuel Vadot					hysteresis = <2000>;
17118bab661aSEmmanuel Vadot					type = "hot";
17128bab661aSEmmanuel Vadot				};
17138bab661aSEmmanuel Vadot			};
17148bab661aSEmmanuel Vadot		};
17158bab661aSEmmanuel Vadot
17168bab661aSEmmanuel Vadot		cpu4-thermal {
17178bab661aSEmmanuel Vadot			polling-delay-passive = <250>;
17180e8011faSEmmanuel Vadot
17198bab661aSEmmanuel Vadot			thermal-sensors = <&tsens 4>;
17208bab661aSEmmanuel Vadot
17218bab661aSEmmanuel Vadot			trips {
17228bab661aSEmmanuel Vadot				cpu4_alert0: trip-point0 {
17238bab661aSEmmanuel Vadot					temperature = <50000>;
17248bab661aSEmmanuel Vadot					hysteresis = <2000>;
17258bab661aSEmmanuel Vadot					type = "hot";
17268bab661aSEmmanuel Vadot				};
17278bab661aSEmmanuel Vadot				cpu4_alert1: trip-point1 {
17288bab661aSEmmanuel Vadot					temperature = <55000>;
17298bab661aSEmmanuel Vadot					hysteresis = <2000>;
17308bab661aSEmmanuel Vadot					type = "passive";
17318bab661aSEmmanuel Vadot				};
17328bab661aSEmmanuel Vadot				cpu4_crit: cpu-crit {
17338bab661aSEmmanuel Vadot					temperature = <75000>;
17348bab661aSEmmanuel Vadot					hysteresis = <2000>;
17358bab661aSEmmanuel Vadot					type = "critical";
17368bab661aSEmmanuel Vadot				};
17378bab661aSEmmanuel Vadot			};
17388bab661aSEmmanuel Vadot		};
17398bab661aSEmmanuel Vadot
17408bab661aSEmmanuel Vadot		cpu5-thermal {
17418bab661aSEmmanuel Vadot			polling-delay-passive = <250>;
17420e8011faSEmmanuel Vadot
17438bab661aSEmmanuel Vadot			thermal-sensors = <&tsens 5>;
17448bab661aSEmmanuel Vadot
17458bab661aSEmmanuel Vadot			trips {
17468bab661aSEmmanuel Vadot				cpu5_alert0: trip-point0 {
17478bab661aSEmmanuel Vadot					temperature = <50000>;
17488bab661aSEmmanuel Vadot					hysteresis = <2000>;
17498bab661aSEmmanuel Vadot					type = "hot";
17508bab661aSEmmanuel Vadot				};
17518bab661aSEmmanuel Vadot				cpu5_alert1: trip-point1 {
17528bab661aSEmmanuel Vadot					temperature = <55000>;
17538bab661aSEmmanuel Vadot					hysteresis = <2000>;
17548bab661aSEmmanuel Vadot					type = "passive";
17558bab661aSEmmanuel Vadot				};
17568bab661aSEmmanuel Vadot				cpu5_crit: cpu-crit {
17578bab661aSEmmanuel Vadot					temperature = <75000>;
17588bab661aSEmmanuel Vadot					hysteresis = <2000>;
17598bab661aSEmmanuel Vadot					type = "critical";
17608bab661aSEmmanuel Vadot				};
17618bab661aSEmmanuel Vadot			};
17628bab661aSEmmanuel Vadot		};
17638bab661aSEmmanuel Vadot
17648bab661aSEmmanuel Vadot		cpu6-thermal {
17658bab661aSEmmanuel Vadot			polling-delay-passive = <250>;
17660e8011faSEmmanuel Vadot
17678bab661aSEmmanuel Vadot			thermal-sensors = <&tsens 6>;
17688bab661aSEmmanuel Vadot
17698bab661aSEmmanuel Vadot			trips {
17708bab661aSEmmanuel Vadot				cpu6_alert0: trip-point0 {
17718bab661aSEmmanuel Vadot					temperature = <50000>;
17728bab661aSEmmanuel Vadot					hysteresis = <2000>;
17738bab661aSEmmanuel Vadot					type = "hot";
17748bab661aSEmmanuel Vadot				};
17758bab661aSEmmanuel Vadot				cpu6_alert1: trip-point1 {
17768bab661aSEmmanuel Vadot					temperature = <55000>;
17778bab661aSEmmanuel Vadot					hysteresis = <2000>;
17788bab661aSEmmanuel Vadot					type = "passive";
17798bab661aSEmmanuel Vadot				};
17808bab661aSEmmanuel Vadot				cpu6_crit: cpu-crit {
17818bab661aSEmmanuel Vadot					temperature = <75000>;
17828bab661aSEmmanuel Vadot					hysteresis = <2000>;
17838bab661aSEmmanuel Vadot					type = "critical";
17848bab661aSEmmanuel Vadot				};
17858bab661aSEmmanuel Vadot			};
17868bab661aSEmmanuel Vadot		};
17878bab661aSEmmanuel Vadot
17888bab661aSEmmanuel Vadot		cpu7-thermal {
17898bab661aSEmmanuel Vadot			polling-delay-passive = <250>;
17900e8011faSEmmanuel Vadot
17918bab661aSEmmanuel Vadot			thermal-sensors = <&tsens 7>;
17928bab661aSEmmanuel Vadot
17938bab661aSEmmanuel Vadot			trips {
17948bab661aSEmmanuel Vadot				cpu7_alert0: trip-point0 {
17958bab661aSEmmanuel Vadot					temperature = <50000>;
17968bab661aSEmmanuel Vadot					hysteresis = <2000>;
17978bab661aSEmmanuel Vadot					type = "hot";
17988bab661aSEmmanuel Vadot				};
17998bab661aSEmmanuel Vadot				cpu7_alert1: trip-point1 {
18008bab661aSEmmanuel Vadot					temperature = <55000>;
18018bab661aSEmmanuel Vadot					hysteresis = <2000>;
18028bab661aSEmmanuel Vadot					type = "passive";
18038bab661aSEmmanuel Vadot				};
18048bab661aSEmmanuel Vadot				cpu7_crit: cpu-crit {
18058bab661aSEmmanuel Vadot					temperature = <75000>;
18068bab661aSEmmanuel Vadot					hysteresis = <2000>;
18078bab661aSEmmanuel Vadot					type = "critical";
18088bab661aSEmmanuel Vadot				};
18098bab661aSEmmanuel Vadot			};
18108bab661aSEmmanuel Vadot		};
18118bab661aSEmmanuel Vadot
18128bab661aSEmmanuel Vadot		big-l2-thermal {
18138bab661aSEmmanuel Vadot			polling-delay-passive = <250>;
18140e8011faSEmmanuel Vadot
18158bab661aSEmmanuel Vadot			thermal-sensors = <&tsens 8>;
18168bab661aSEmmanuel Vadot
18178bab661aSEmmanuel Vadot			trips {
18188bab661aSEmmanuel Vadot				l2_alert0: trip-point0 {
18198bab661aSEmmanuel Vadot					temperature = <50000>;
18208bab661aSEmmanuel Vadot					hysteresis = <2000>;
18218bab661aSEmmanuel Vadot					type = "hot";
18228bab661aSEmmanuel Vadot				};
18238bab661aSEmmanuel Vadot				l2_alert1: trip-point1 {
18248bab661aSEmmanuel Vadot					temperature = <55000>;
18258bab661aSEmmanuel Vadot					hysteresis = <2000>;
18268bab661aSEmmanuel Vadot					type = "passive";
18278bab661aSEmmanuel Vadot				};
18288bab661aSEmmanuel Vadot				l2_crit: l2-crit {
18298bab661aSEmmanuel Vadot					temperature = <75000>;
18308bab661aSEmmanuel Vadot					hysteresis = <2000>;
18318bab661aSEmmanuel Vadot					type = "critical";
18328bab661aSEmmanuel Vadot				};
18338bab661aSEmmanuel Vadot			};
18348bab661aSEmmanuel Vadot		};
18358bab661aSEmmanuel Vadot
18368bab661aSEmmanuel Vadot		cpu0-thermal {
18378bab661aSEmmanuel Vadot			polling-delay-passive = <250>;
18380e8011faSEmmanuel Vadot
18398bab661aSEmmanuel Vadot			thermal-sensors = <&tsens 9>;
18408bab661aSEmmanuel Vadot
18418bab661aSEmmanuel Vadot			trips {
18428bab661aSEmmanuel Vadot				cpu0_alert0: trip-point0 {
18438bab661aSEmmanuel Vadot					temperature = <50000>;
18448bab661aSEmmanuel Vadot					hysteresis = <2000>;
18458bab661aSEmmanuel Vadot					type = "hot";
18468bab661aSEmmanuel Vadot				};
18478bab661aSEmmanuel Vadot				cpu0_alert1: trip-point1 {
18488bab661aSEmmanuel Vadot					temperature = <55000>;
18498bab661aSEmmanuel Vadot					hysteresis = <2000>;
18508bab661aSEmmanuel Vadot					type = "passive";
18518bab661aSEmmanuel Vadot				};
18528bab661aSEmmanuel Vadot				cpu0_crit: cpu-crit {
18538bab661aSEmmanuel Vadot					temperature = <75000>;
18548bab661aSEmmanuel Vadot					hysteresis = <2000>;
18558bab661aSEmmanuel Vadot					type = "critical";
18568bab661aSEmmanuel Vadot				};
18578bab661aSEmmanuel Vadot			};
18588bab661aSEmmanuel Vadot		};
18598bab661aSEmmanuel Vadot
18608bab661aSEmmanuel Vadot		gpu-thermal {
18618bab661aSEmmanuel Vadot			polling-delay-passive = <250>;
18620e8011faSEmmanuel Vadot
18638bab661aSEmmanuel Vadot			thermal-sensors = <&tsens 10>;
18648bab661aSEmmanuel Vadot
18658bab661aSEmmanuel Vadot			trips {
18668bab661aSEmmanuel Vadot				gpu_alert0: trip-point0 {
18678bab661aSEmmanuel Vadot					temperature = <50000>;
18688bab661aSEmmanuel Vadot					hysteresis = <2000>;
18698bab661aSEmmanuel Vadot					type = "hot";
18708bab661aSEmmanuel Vadot				};
18718bab661aSEmmanuel Vadot				gpu_alert1: trip-point1 {
18728bab661aSEmmanuel Vadot					temperature = <55000>;
18738bab661aSEmmanuel Vadot					hysteresis = <2000>;
18748bab661aSEmmanuel Vadot					type = "passive";
18758bab661aSEmmanuel Vadot				};
18768bab661aSEmmanuel Vadot				gpu_crit: gpu-crit {
18778bab661aSEmmanuel Vadot					temperature = <75000>;
18788bab661aSEmmanuel Vadot					hysteresis = <2000>;
18798bab661aSEmmanuel Vadot					type = "critical";
18808bab661aSEmmanuel Vadot				};
18818bab661aSEmmanuel Vadot			};
18828bab661aSEmmanuel Vadot		};
18838bab661aSEmmanuel Vadot	};
18848bab661aSEmmanuel Vadot
18858bab661aSEmmanuel Vadot	timer {
18868bab661aSEmmanuel Vadot		compatible = "arm,armv8-timer";
18878bab661aSEmmanuel Vadot		interrupts = <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
18888bab661aSEmmanuel Vadot			     <GIC_PPI 3 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
18898bab661aSEmmanuel Vadot			     <GIC_PPI 4 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
18908bab661aSEmmanuel Vadot			     <GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>;
18918bab661aSEmmanuel Vadot		clock-frequency = <19200000>;
18928bab661aSEmmanuel Vadot	};
18938bab661aSEmmanuel Vadot};
1894