xref: /freebsd-src/sys/contrib/device-tree/src/arm64/qcom/msm8996.dtsi (revision b2d2a78ad80ec68d4a17f5aef97d21686cb1e29b)
1c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-only
28bab661aSEmmanuel Vadot/*
38bab661aSEmmanuel Vadot * Copyright (c) 2014-2015, The Linux Foundation. All rights reserved.
4c66ec88fSEmmanuel Vadot */
5c66ec88fSEmmanuel Vadot
6c66ec88fSEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h>
7c66ec88fSEmmanuel Vadot#include <dt-bindings/clock/qcom,gcc-msm8996.h>
8c66ec88fSEmmanuel Vadot#include <dt-bindings/clock/qcom,mmcc-msm8996.h>
9c66ec88fSEmmanuel Vadot#include <dt-bindings/clock/qcom,rpmcc.h>
10b97ee269SEmmanuel Vadot#include <dt-bindings/interconnect/qcom,msm8996.h>
11aa1a8ff2SEmmanuel Vadot#include <dt-bindings/interconnect/qcom,msm8996-cbf.h>
1284943d6fSEmmanuel Vadot#include <dt-bindings/firmware/qcom,scm.h>
137ef62cebSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
145956d97fSEmmanuel Vadot#include <dt-bindings/power/qcom-rpmpd.h>
15c66ec88fSEmmanuel Vadot#include <dt-bindings/soc/qcom,apr.h>
165956d97fSEmmanuel Vadot#include <dt-bindings/thermal/thermal.h>
17c66ec88fSEmmanuel Vadot
18c66ec88fSEmmanuel Vadot/ {
19c66ec88fSEmmanuel Vadot	interrupt-parent = <&intc>;
20c66ec88fSEmmanuel Vadot
21c66ec88fSEmmanuel Vadot	#address-cells = <2>;
22c66ec88fSEmmanuel Vadot	#size-cells = <2>;
23c66ec88fSEmmanuel Vadot
24c66ec88fSEmmanuel Vadot	chosen { };
25c66ec88fSEmmanuel Vadot
26c66ec88fSEmmanuel Vadot	clocks {
27354d7675SEmmanuel Vadot		xo_board: xo-board {
28c66ec88fSEmmanuel Vadot			compatible = "fixed-clock";
29c66ec88fSEmmanuel Vadot			#clock-cells = <0>;
30c66ec88fSEmmanuel Vadot			clock-frequency = <19200000>;
31c66ec88fSEmmanuel Vadot			clock-output-names = "xo_board";
32c66ec88fSEmmanuel Vadot		};
33c66ec88fSEmmanuel Vadot
34354d7675SEmmanuel Vadot		sleep_clk: sleep-clk {
35c66ec88fSEmmanuel Vadot			compatible = "fixed-clock";
36c66ec88fSEmmanuel Vadot			#clock-cells = <0>;
37c66ec88fSEmmanuel Vadot			clock-frequency = <32764>;
38c66ec88fSEmmanuel Vadot			clock-output-names = "sleep_clk";
39c66ec88fSEmmanuel Vadot		};
40c66ec88fSEmmanuel Vadot	};
41c66ec88fSEmmanuel Vadot
42c66ec88fSEmmanuel Vadot	cpus {
43c66ec88fSEmmanuel Vadot		#address-cells = <2>;
44c66ec88fSEmmanuel Vadot		#size-cells = <0>;
45c66ec88fSEmmanuel Vadot
46c66ec88fSEmmanuel Vadot		CPU0: cpu@0 {
47c66ec88fSEmmanuel Vadot			device_type = "cpu";
48c66ec88fSEmmanuel Vadot			compatible = "qcom,kryo";
49c66ec88fSEmmanuel Vadot			reg = <0x0 0x0>;
50c66ec88fSEmmanuel Vadot			enable-method = "psci";
51c66ec88fSEmmanuel Vadot			cpu-idle-states = <&CPU_SLEEP_0>;
52c66ec88fSEmmanuel Vadot			capacity-dmips-mhz = <1024>;
535956d97fSEmmanuel Vadot			clocks = <&kryocc 0>;
54aa1a8ff2SEmmanuel Vadot			interconnects = <&cbf MASTER_CBF_M4M &cbf SLAVE_CBF_M4M>;
555956d97fSEmmanuel Vadot			operating-points-v2 = <&cluster0_opp>;
565956d97fSEmmanuel Vadot			#cooling-cells = <2>;
57c66ec88fSEmmanuel Vadot			next-level-cache = <&L2_0>;
58c66ec88fSEmmanuel Vadot			L2_0: l2-cache {
59c66ec88fSEmmanuel Vadot				compatible = "cache";
60c66ec88fSEmmanuel Vadot				cache-level = <2>;
61fac71e4eSEmmanuel Vadot				cache-unified;
62c66ec88fSEmmanuel Vadot			};
63c66ec88fSEmmanuel Vadot		};
64c66ec88fSEmmanuel Vadot
65c66ec88fSEmmanuel Vadot		CPU1: cpu@1 {
66c66ec88fSEmmanuel Vadot			device_type = "cpu";
67c66ec88fSEmmanuel Vadot			compatible = "qcom,kryo";
68c66ec88fSEmmanuel Vadot			reg = <0x0 0x1>;
69c66ec88fSEmmanuel Vadot			enable-method = "psci";
70c66ec88fSEmmanuel Vadot			cpu-idle-states = <&CPU_SLEEP_0>;
71c66ec88fSEmmanuel Vadot			capacity-dmips-mhz = <1024>;
725956d97fSEmmanuel Vadot			clocks = <&kryocc 0>;
73aa1a8ff2SEmmanuel Vadot			interconnects = <&cbf MASTER_CBF_M4M &cbf SLAVE_CBF_M4M>;
745956d97fSEmmanuel Vadot			operating-points-v2 = <&cluster0_opp>;
755956d97fSEmmanuel Vadot			#cooling-cells = <2>;
76c66ec88fSEmmanuel Vadot			next-level-cache = <&L2_0>;
77c66ec88fSEmmanuel Vadot		};
78c66ec88fSEmmanuel Vadot
79c66ec88fSEmmanuel Vadot		CPU2: cpu@100 {
80c66ec88fSEmmanuel Vadot			device_type = "cpu";
81c66ec88fSEmmanuel Vadot			compatible = "qcom,kryo";
82c66ec88fSEmmanuel Vadot			reg = <0x0 0x100>;
83c66ec88fSEmmanuel Vadot			enable-method = "psci";
84c66ec88fSEmmanuel Vadot			cpu-idle-states = <&CPU_SLEEP_0>;
85c66ec88fSEmmanuel Vadot			capacity-dmips-mhz = <1024>;
865956d97fSEmmanuel Vadot			clocks = <&kryocc 1>;
87aa1a8ff2SEmmanuel Vadot			interconnects = <&cbf MASTER_CBF_M4M &cbf SLAVE_CBF_M4M>;
885956d97fSEmmanuel Vadot			operating-points-v2 = <&cluster1_opp>;
895956d97fSEmmanuel Vadot			#cooling-cells = <2>;
90c66ec88fSEmmanuel Vadot			next-level-cache = <&L2_1>;
91c66ec88fSEmmanuel Vadot			L2_1: l2-cache {
92c66ec88fSEmmanuel Vadot				compatible = "cache";
93c66ec88fSEmmanuel Vadot				cache-level = <2>;
94fac71e4eSEmmanuel Vadot				cache-unified;
95c66ec88fSEmmanuel Vadot			};
96c66ec88fSEmmanuel Vadot		};
97c66ec88fSEmmanuel Vadot
98c66ec88fSEmmanuel Vadot		CPU3: cpu@101 {
99c66ec88fSEmmanuel Vadot			device_type = "cpu";
100c66ec88fSEmmanuel Vadot			compatible = "qcom,kryo";
101c66ec88fSEmmanuel Vadot			reg = <0x0 0x101>;
102c66ec88fSEmmanuel Vadot			enable-method = "psci";
103c66ec88fSEmmanuel Vadot			cpu-idle-states = <&CPU_SLEEP_0>;
104c66ec88fSEmmanuel Vadot			capacity-dmips-mhz = <1024>;
1055956d97fSEmmanuel Vadot			clocks = <&kryocc 1>;
106aa1a8ff2SEmmanuel Vadot			interconnects = <&cbf MASTER_CBF_M4M &cbf SLAVE_CBF_M4M>;
1075956d97fSEmmanuel Vadot			operating-points-v2 = <&cluster1_opp>;
1085956d97fSEmmanuel Vadot			#cooling-cells = <2>;
109c66ec88fSEmmanuel Vadot			next-level-cache = <&L2_1>;
110c66ec88fSEmmanuel Vadot		};
111c66ec88fSEmmanuel Vadot
112c66ec88fSEmmanuel Vadot		cpu-map {
113c66ec88fSEmmanuel Vadot			cluster0 {
114c66ec88fSEmmanuel Vadot				core0 {
115c66ec88fSEmmanuel Vadot					cpu = <&CPU0>;
116c66ec88fSEmmanuel Vadot				};
117c66ec88fSEmmanuel Vadot
118c66ec88fSEmmanuel Vadot				core1 {
119c66ec88fSEmmanuel Vadot					cpu = <&CPU1>;
120c66ec88fSEmmanuel Vadot				};
121c66ec88fSEmmanuel Vadot			};
122c66ec88fSEmmanuel Vadot
123c66ec88fSEmmanuel Vadot			cluster1 {
124c66ec88fSEmmanuel Vadot				core0 {
125c66ec88fSEmmanuel Vadot					cpu = <&CPU2>;
126c66ec88fSEmmanuel Vadot				};
127c66ec88fSEmmanuel Vadot
128c66ec88fSEmmanuel Vadot				core1 {
129c66ec88fSEmmanuel Vadot					cpu = <&CPU3>;
130c66ec88fSEmmanuel Vadot				};
131c66ec88fSEmmanuel Vadot			};
132c66ec88fSEmmanuel Vadot		};
133c66ec88fSEmmanuel Vadot
134c66ec88fSEmmanuel Vadot		idle-states {
135c66ec88fSEmmanuel Vadot			entry-method = "psci";
136c66ec88fSEmmanuel Vadot
137c66ec88fSEmmanuel Vadot			CPU_SLEEP_0: cpu-sleep-0 {
138c66ec88fSEmmanuel Vadot				compatible = "arm,idle-state";
139c66ec88fSEmmanuel Vadot				idle-state-name = "standalone-power-collapse";
140c66ec88fSEmmanuel Vadot				arm,psci-suspend-param = <0x00000004>;
141c66ec88fSEmmanuel Vadot				entry-latency-us = <130>;
142c66ec88fSEmmanuel Vadot				exit-latency-us = <80>;
143c66ec88fSEmmanuel Vadot				min-residency-us = <300>;
144c66ec88fSEmmanuel Vadot			};
145c66ec88fSEmmanuel Vadot		};
146c66ec88fSEmmanuel Vadot	};
147c66ec88fSEmmanuel Vadot
148c9ccf3a3SEmmanuel Vadot	cluster0_opp: opp-table-cluster0 {
1495956d97fSEmmanuel Vadot		compatible = "operating-points-v2-kryo-cpu";
1505956d97fSEmmanuel Vadot		nvmem-cells = <&speedbin_efuse>;
1515956d97fSEmmanuel Vadot		opp-shared;
1525956d97fSEmmanuel Vadot
1535956d97fSEmmanuel Vadot		/* Nominal fmax for now */
1545956d97fSEmmanuel Vadot		opp-307200000 {
1555956d97fSEmmanuel Vadot			opp-hz = /bits/ 64 <307200000>;
1568bab661aSEmmanuel Vadot			opp-supported-hw = <0xf>;
1575956d97fSEmmanuel Vadot			clock-latency-ns = <200000>;
158aa1a8ff2SEmmanuel Vadot			opp-peak-kBps = <307200>;
1595956d97fSEmmanuel Vadot		};
1605956d97fSEmmanuel Vadot		opp-422400000 {
1615956d97fSEmmanuel Vadot			opp-hz = /bits/ 64 <422400000>;
1628bab661aSEmmanuel Vadot			opp-supported-hw = <0xf>;
1635956d97fSEmmanuel Vadot			clock-latency-ns = <200000>;
164aa1a8ff2SEmmanuel Vadot			opp-peak-kBps = <307200>;
1655956d97fSEmmanuel Vadot		};
1665956d97fSEmmanuel Vadot		opp-480000000 {
1675956d97fSEmmanuel Vadot			opp-hz = /bits/ 64 <480000000>;
1688bab661aSEmmanuel Vadot			opp-supported-hw = <0xf>;
1695956d97fSEmmanuel Vadot			clock-latency-ns = <200000>;
170aa1a8ff2SEmmanuel Vadot			opp-peak-kBps = <307200>;
1715956d97fSEmmanuel Vadot		};
1725956d97fSEmmanuel Vadot		opp-556800000 {
1735956d97fSEmmanuel Vadot			opp-hz = /bits/ 64 <556800000>;
1748bab661aSEmmanuel Vadot			opp-supported-hw = <0xf>;
1755956d97fSEmmanuel Vadot			clock-latency-ns = <200000>;
176aa1a8ff2SEmmanuel Vadot			opp-peak-kBps = <307200>;
1775956d97fSEmmanuel Vadot		};
1785956d97fSEmmanuel Vadot		opp-652800000 {
1795956d97fSEmmanuel Vadot			opp-hz = /bits/ 64 <652800000>;
1808bab661aSEmmanuel Vadot			opp-supported-hw = <0xf>;
1815956d97fSEmmanuel Vadot			clock-latency-ns = <200000>;
182aa1a8ff2SEmmanuel Vadot			opp-peak-kBps = <384000>;
1835956d97fSEmmanuel Vadot		};
1845956d97fSEmmanuel Vadot		opp-729600000 {
1855956d97fSEmmanuel Vadot			opp-hz = /bits/ 64 <729600000>;
1868bab661aSEmmanuel Vadot			opp-supported-hw = <0xf>;
1875956d97fSEmmanuel Vadot			clock-latency-ns = <200000>;
188aa1a8ff2SEmmanuel Vadot			opp-peak-kBps = <460800>;
1895956d97fSEmmanuel Vadot		};
1905956d97fSEmmanuel Vadot		opp-844800000 {
1915956d97fSEmmanuel Vadot			opp-hz = /bits/ 64 <844800000>;
1928bab661aSEmmanuel Vadot			opp-supported-hw = <0xf>;
1935956d97fSEmmanuel Vadot			clock-latency-ns = <200000>;
194aa1a8ff2SEmmanuel Vadot			opp-peak-kBps = <537600>;
1955956d97fSEmmanuel Vadot		};
1965956d97fSEmmanuel Vadot		opp-960000000 {
1975956d97fSEmmanuel Vadot			opp-hz = /bits/ 64 <960000000>;
1988bab661aSEmmanuel Vadot			opp-supported-hw = <0xf>;
1995956d97fSEmmanuel Vadot			clock-latency-ns = <200000>;
200aa1a8ff2SEmmanuel Vadot			opp-peak-kBps = <672000>;
2015956d97fSEmmanuel Vadot		};
2025956d97fSEmmanuel Vadot		opp-1036800000 {
2035956d97fSEmmanuel Vadot			opp-hz = /bits/ 64 <1036800000>;
2048bab661aSEmmanuel Vadot			opp-supported-hw = <0xf>;
2055956d97fSEmmanuel Vadot			clock-latency-ns = <200000>;
206aa1a8ff2SEmmanuel Vadot			opp-peak-kBps = <672000>;
2075956d97fSEmmanuel Vadot		};
2085956d97fSEmmanuel Vadot		opp-1113600000 {
2095956d97fSEmmanuel Vadot			opp-hz = /bits/ 64 <1113600000>;
2108bab661aSEmmanuel Vadot			opp-supported-hw = <0xf>;
2115956d97fSEmmanuel Vadot			clock-latency-ns = <200000>;
212aa1a8ff2SEmmanuel Vadot			opp-peak-kBps = <825600>;
2135956d97fSEmmanuel Vadot		};
2145956d97fSEmmanuel Vadot		opp-1190400000 {
2155956d97fSEmmanuel Vadot			opp-hz = /bits/ 64 <1190400000>;
2168bab661aSEmmanuel Vadot			opp-supported-hw = <0xf>;
2175956d97fSEmmanuel Vadot			clock-latency-ns = <200000>;
218aa1a8ff2SEmmanuel Vadot			opp-peak-kBps = <825600>;
2195956d97fSEmmanuel Vadot		};
2205956d97fSEmmanuel Vadot		opp-1228800000 {
2215956d97fSEmmanuel Vadot			opp-hz = /bits/ 64 <1228800000>;
2228bab661aSEmmanuel Vadot			opp-supported-hw = <0xf>;
2235956d97fSEmmanuel Vadot			clock-latency-ns = <200000>;
224aa1a8ff2SEmmanuel Vadot			opp-peak-kBps = <902400>;
2255956d97fSEmmanuel Vadot		};
2265956d97fSEmmanuel Vadot		opp-1324800000 {
2275956d97fSEmmanuel Vadot			opp-hz = /bits/ 64 <1324800000>;
2288bab661aSEmmanuel Vadot			opp-supported-hw = <0xd>;
2298bab661aSEmmanuel Vadot			clock-latency-ns = <200000>;
230aa1a8ff2SEmmanuel Vadot			opp-peak-kBps = <1056000>;
2318bab661aSEmmanuel Vadot		};
2328bab661aSEmmanuel Vadot		opp-1363200000 {
2338bab661aSEmmanuel Vadot			opp-hz = /bits/ 64 <1363200000>;
2348bab661aSEmmanuel Vadot			opp-supported-hw = <0x2>;
2355956d97fSEmmanuel Vadot			clock-latency-ns = <200000>;
236aa1a8ff2SEmmanuel Vadot			opp-peak-kBps = <1132800>;
2375956d97fSEmmanuel Vadot		};
2385956d97fSEmmanuel Vadot		opp-1401600000 {
2395956d97fSEmmanuel Vadot			opp-hz = /bits/ 64 <1401600000>;
2408bab661aSEmmanuel Vadot			opp-supported-hw = <0xd>;
2415956d97fSEmmanuel Vadot			clock-latency-ns = <200000>;
242aa1a8ff2SEmmanuel Vadot			opp-peak-kBps = <1132800>;
2435956d97fSEmmanuel Vadot		};
2445956d97fSEmmanuel Vadot		opp-1478400000 {
2455956d97fSEmmanuel Vadot			opp-hz = /bits/ 64 <1478400000>;
2468bab661aSEmmanuel Vadot			opp-supported-hw = <0x9>;
2478bab661aSEmmanuel Vadot			clock-latency-ns = <200000>;
248aa1a8ff2SEmmanuel Vadot			opp-peak-kBps = <1190400>;
2498bab661aSEmmanuel Vadot		};
2508bab661aSEmmanuel Vadot		opp-1497600000 {
2518bab661aSEmmanuel Vadot			opp-hz = /bits/ 64 <1497600000>;
2528bab661aSEmmanuel Vadot			opp-supported-hw = <0x04>;
2535956d97fSEmmanuel Vadot			clock-latency-ns = <200000>;
254aa1a8ff2SEmmanuel Vadot			opp-peak-kBps = <1305600>;
2555956d97fSEmmanuel Vadot		};
2565956d97fSEmmanuel Vadot		opp-1593600000 {
2575956d97fSEmmanuel Vadot			opp-hz = /bits/ 64 <1593600000>;
2588bab661aSEmmanuel Vadot			opp-supported-hw = <0x9>;
2595956d97fSEmmanuel Vadot			clock-latency-ns = <200000>;
260aa1a8ff2SEmmanuel Vadot			opp-peak-kBps = <1382400>;
2615956d97fSEmmanuel Vadot		};
2625956d97fSEmmanuel Vadot	};
2635956d97fSEmmanuel Vadot
264c9ccf3a3SEmmanuel Vadot	cluster1_opp: opp-table-cluster1 {
2655956d97fSEmmanuel Vadot		compatible = "operating-points-v2-kryo-cpu";
2665956d97fSEmmanuel Vadot		nvmem-cells = <&speedbin_efuse>;
2675956d97fSEmmanuel Vadot		opp-shared;
2685956d97fSEmmanuel Vadot
2695956d97fSEmmanuel Vadot		/* Nominal fmax for now */
2705956d97fSEmmanuel Vadot		opp-307200000 {
2715956d97fSEmmanuel Vadot			opp-hz = /bits/ 64 <307200000>;
2728bab661aSEmmanuel Vadot			opp-supported-hw = <0xf>;
2735956d97fSEmmanuel Vadot			clock-latency-ns = <200000>;
274aa1a8ff2SEmmanuel Vadot			opp-peak-kBps = <307200>;
2755956d97fSEmmanuel Vadot		};
2765956d97fSEmmanuel Vadot		opp-403200000 {
2775956d97fSEmmanuel Vadot			opp-hz = /bits/ 64 <403200000>;
2788bab661aSEmmanuel Vadot			opp-supported-hw = <0xf>;
2795956d97fSEmmanuel Vadot			clock-latency-ns = <200000>;
280aa1a8ff2SEmmanuel Vadot			opp-peak-kBps = <307200>;
2815956d97fSEmmanuel Vadot		};
2825956d97fSEmmanuel Vadot		opp-480000000 {
2835956d97fSEmmanuel Vadot			opp-hz = /bits/ 64 <480000000>;
2848bab661aSEmmanuel Vadot			opp-supported-hw = <0xf>;
2855956d97fSEmmanuel Vadot			clock-latency-ns = <200000>;
286aa1a8ff2SEmmanuel Vadot			opp-peak-kBps = <307200>;
2875956d97fSEmmanuel Vadot		};
2885956d97fSEmmanuel Vadot		opp-556800000 {
2895956d97fSEmmanuel Vadot			opp-hz = /bits/ 64 <556800000>;
2908bab661aSEmmanuel Vadot			opp-supported-hw = <0xf>;
2915956d97fSEmmanuel Vadot			clock-latency-ns = <200000>;
292aa1a8ff2SEmmanuel Vadot			opp-peak-kBps = <307200>;
2935956d97fSEmmanuel Vadot		};
2945956d97fSEmmanuel Vadot		opp-652800000 {
2955956d97fSEmmanuel Vadot			opp-hz = /bits/ 64 <652800000>;
2968bab661aSEmmanuel Vadot			opp-supported-hw = <0xf>;
2975956d97fSEmmanuel Vadot			clock-latency-ns = <200000>;
298aa1a8ff2SEmmanuel Vadot			opp-peak-kBps = <307200>;
2995956d97fSEmmanuel Vadot		};
3005956d97fSEmmanuel Vadot		opp-729600000 {
3015956d97fSEmmanuel Vadot			opp-hz = /bits/ 64 <729600000>;
3028bab661aSEmmanuel Vadot			opp-supported-hw = <0xf>;
3035956d97fSEmmanuel Vadot			clock-latency-ns = <200000>;
304aa1a8ff2SEmmanuel Vadot			opp-peak-kBps = <307200>;
3055956d97fSEmmanuel Vadot		};
3065956d97fSEmmanuel Vadot		opp-806400000 {
3075956d97fSEmmanuel Vadot			opp-hz = /bits/ 64 <806400000>;
3088bab661aSEmmanuel Vadot			opp-supported-hw = <0xf>;
3095956d97fSEmmanuel Vadot			clock-latency-ns = <200000>;
310aa1a8ff2SEmmanuel Vadot			opp-peak-kBps = <384000>;
3115956d97fSEmmanuel Vadot		};
3125956d97fSEmmanuel Vadot		opp-883200000 {
3135956d97fSEmmanuel Vadot			opp-hz = /bits/ 64 <883200000>;
3148bab661aSEmmanuel Vadot			opp-supported-hw = <0xf>;
3155956d97fSEmmanuel Vadot			clock-latency-ns = <200000>;
316aa1a8ff2SEmmanuel Vadot			opp-peak-kBps = <460800>;
3175956d97fSEmmanuel Vadot		};
3185956d97fSEmmanuel Vadot		opp-940800000 {
3195956d97fSEmmanuel Vadot			opp-hz = /bits/ 64 <940800000>;
3208bab661aSEmmanuel Vadot			opp-supported-hw = <0xf>;
3215956d97fSEmmanuel Vadot			clock-latency-ns = <200000>;
322aa1a8ff2SEmmanuel Vadot			opp-peak-kBps = <537600>;
3235956d97fSEmmanuel Vadot		};
3245956d97fSEmmanuel Vadot		opp-1036800000 {
3255956d97fSEmmanuel Vadot			opp-hz = /bits/ 64 <1036800000>;
3268bab661aSEmmanuel Vadot			opp-supported-hw = <0xf>;
3275956d97fSEmmanuel Vadot			clock-latency-ns = <200000>;
328aa1a8ff2SEmmanuel Vadot			opp-peak-kBps = <595200>;
3295956d97fSEmmanuel Vadot		};
3305956d97fSEmmanuel Vadot		opp-1113600000 {
3315956d97fSEmmanuel Vadot			opp-hz = /bits/ 64 <1113600000>;
3328bab661aSEmmanuel Vadot			opp-supported-hw = <0xf>;
3335956d97fSEmmanuel Vadot			clock-latency-ns = <200000>;
334aa1a8ff2SEmmanuel Vadot			opp-peak-kBps = <672000>;
3355956d97fSEmmanuel Vadot		};
3365956d97fSEmmanuel Vadot		opp-1190400000 {
3375956d97fSEmmanuel Vadot			opp-hz = /bits/ 64 <1190400000>;
3388bab661aSEmmanuel Vadot			opp-supported-hw = <0xf>;
3395956d97fSEmmanuel Vadot			clock-latency-ns = <200000>;
340aa1a8ff2SEmmanuel Vadot			opp-peak-kBps = <672000>;
3415956d97fSEmmanuel Vadot		};
3425956d97fSEmmanuel Vadot		opp-1248000000 {
3435956d97fSEmmanuel Vadot			opp-hz = /bits/ 64 <1248000000>;
3448bab661aSEmmanuel Vadot			opp-supported-hw = <0xf>;
3455956d97fSEmmanuel Vadot			clock-latency-ns = <200000>;
346aa1a8ff2SEmmanuel Vadot			opp-peak-kBps = <748800>;
3475956d97fSEmmanuel Vadot		};
3485956d97fSEmmanuel Vadot		opp-1324800000 {
3495956d97fSEmmanuel Vadot			opp-hz = /bits/ 64 <1324800000>;
3508bab661aSEmmanuel Vadot			opp-supported-hw = <0xf>;
3515956d97fSEmmanuel Vadot			clock-latency-ns = <200000>;
352aa1a8ff2SEmmanuel Vadot			opp-peak-kBps = <825600>;
3535956d97fSEmmanuel Vadot		};
3545956d97fSEmmanuel Vadot		opp-1401600000 {
3555956d97fSEmmanuel Vadot			opp-hz = /bits/ 64 <1401600000>;
3568bab661aSEmmanuel Vadot			opp-supported-hw = <0xf>;
3575956d97fSEmmanuel Vadot			clock-latency-ns = <200000>;
358aa1a8ff2SEmmanuel Vadot			opp-peak-kBps = <902400>;
3595956d97fSEmmanuel Vadot		};
3605956d97fSEmmanuel Vadot		opp-1478400000 {
3615956d97fSEmmanuel Vadot			opp-hz = /bits/ 64 <1478400000>;
3628bab661aSEmmanuel Vadot			opp-supported-hw = <0xf>;
3635956d97fSEmmanuel Vadot			clock-latency-ns = <200000>;
364aa1a8ff2SEmmanuel Vadot			opp-peak-kBps = <979200>;
3655956d97fSEmmanuel Vadot		};
3665956d97fSEmmanuel Vadot		opp-1555200000 {
3675956d97fSEmmanuel Vadot			opp-hz = /bits/ 64 <1555200000>;
3688bab661aSEmmanuel Vadot			opp-supported-hw = <0xf>;
3695956d97fSEmmanuel Vadot			clock-latency-ns = <200000>;
370aa1a8ff2SEmmanuel Vadot			opp-peak-kBps = <1056000>;
3715956d97fSEmmanuel Vadot		};
3725956d97fSEmmanuel Vadot		opp-1632000000 {
3735956d97fSEmmanuel Vadot			opp-hz = /bits/ 64 <1632000000>;
3748bab661aSEmmanuel Vadot			opp-supported-hw = <0xf>;
3755956d97fSEmmanuel Vadot			clock-latency-ns = <200000>;
376aa1a8ff2SEmmanuel Vadot			opp-peak-kBps = <1190400>;
3775956d97fSEmmanuel Vadot		};
3785956d97fSEmmanuel Vadot		opp-1708800000 {
3795956d97fSEmmanuel Vadot			opp-hz = /bits/ 64 <1708800000>;
3808bab661aSEmmanuel Vadot			opp-supported-hw = <0xf>;
3815956d97fSEmmanuel Vadot			clock-latency-ns = <200000>;
382aa1a8ff2SEmmanuel Vadot			opp-peak-kBps = <1228800>;
3835956d97fSEmmanuel Vadot		};
3845956d97fSEmmanuel Vadot		opp-1785600000 {
3855956d97fSEmmanuel Vadot			opp-hz = /bits/ 64 <1785600000>;
3868bab661aSEmmanuel Vadot			opp-supported-hw = <0xf>;
3878bab661aSEmmanuel Vadot			clock-latency-ns = <200000>;
388aa1a8ff2SEmmanuel Vadot			opp-peak-kBps = <1305600>;
3898bab661aSEmmanuel Vadot		};
3908bab661aSEmmanuel Vadot		opp-1804800000 {
3918bab661aSEmmanuel Vadot			opp-hz = /bits/ 64 <1804800000>;
3928bab661aSEmmanuel Vadot			opp-supported-hw = <0xe>;
3935956d97fSEmmanuel Vadot			clock-latency-ns = <200000>;
394aa1a8ff2SEmmanuel Vadot			opp-peak-kBps = <1305600>;
3955956d97fSEmmanuel Vadot		};
3965956d97fSEmmanuel Vadot		opp-1824000000 {
3975956d97fSEmmanuel Vadot			opp-hz = /bits/ 64 <1824000000>;
3988bab661aSEmmanuel Vadot			opp-supported-hw = <0x1>;
3998bab661aSEmmanuel Vadot			clock-latency-ns = <200000>;
400aa1a8ff2SEmmanuel Vadot			opp-peak-kBps = <1382400>;
4018bab661aSEmmanuel Vadot		};
4028bab661aSEmmanuel Vadot		opp-1900800000 {
4038bab661aSEmmanuel Vadot			opp-hz = /bits/ 64 <1900800000>;
4048bab661aSEmmanuel Vadot			opp-supported-hw = <0x4>;
4055956d97fSEmmanuel Vadot			clock-latency-ns = <200000>;
406aa1a8ff2SEmmanuel Vadot			opp-peak-kBps = <1305600>;
4075956d97fSEmmanuel Vadot		};
4085956d97fSEmmanuel Vadot		opp-1920000000 {
4095956d97fSEmmanuel Vadot			opp-hz = /bits/ 64 <1920000000>;
4108bab661aSEmmanuel Vadot			opp-supported-hw = <0x1>;
4115956d97fSEmmanuel Vadot			clock-latency-ns = <200000>;
412aa1a8ff2SEmmanuel Vadot			opp-peak-kBps = <1459200>;
4135956d97fSEmmanuel Vadot		};
4145956d97fSEmmanuel Vadot		opp-1996800000 {
4155956d97fSEmmanuel Vadot			opp-hz = /bits/ 64 <1996800000>;
4168bab661aSEmmanuel Vadot			opp-supported-hw = <0x1>;
4175956d97fSEmmanuel Vadot			clock-latency-ns = <200000>;
418aa1a8ff2SEmmanuel Vadot			opp-peak-kBps = <1593600>;
4195956d97fSEmmanuel Vadot		};
4205956d97fSEmmanuel Vadot		opp-2073600000 {
4215956d97fSEmmanuel Vadot			opp-hz = /bits/ 64 <2073600000>;
4228bab661aSEmmanuel Vadot			opp-supported-hw = <0x1>;
4235956d97fSEmmanuel Vadot			clock-latency-ns = <200000>;
424aa1a8ff2SEmmanuel Vadot			opp-peak-kBps = <1593600>;
4255956d97fSEmmanuel Vadot		};
4265956d97fSEmmanuel Vadot		opp-2150400000 {
4275956d97fSEmmanuel Vadot			opp-hz = /bits/ 64 <2150400000>;
4288bab661aSEmmanuel Vadot			opp-supported-hw = <0x1>;
4295956d97fSEmmanuel Vadot			clock-latency-ns = <200000>;
430aa1a8ff2SEmmanuel Vadot			opp-peak-kBps = <1593600>;
4315956d97fSEmmanuel Vadot		};
4325956d97fSEmmanuel Vadot	};
4335956d97fSEmmanuel Vadot
434c66ec88fSEmmanuel Vadot	firmware {
435c66ec88fSEmmanuel Vadot		scm {
436b97ee269SEmmanuel Vadot			compatible = "qcom,scm-msm8996", "qcom,scm";
4377ef62cebSEmmanuel Vadot			qcom,dload-mode = <&tcsr_2 0x13000>;
438c66ec88fSEmmanuel Vadot		};
439c66ec88fSEmmanuel Vadot	};
440c66ec88fSEmmanuel Vadot
441354d7675SEmmanuel Vadot	memory@80000000 {
442c66ec88fSEmmanuel Vadot		device_type = "memory";
443c66ec88fSEmmanuel Vadot		/* We expect the bootloader to fill in the reg */
444354d7675SEmmanuel Vadot		reg = <0x0 0x80000000 0x0 0x0>;
445c66ec88fSEmmanuel Vadot	};
446c66ec88fSEmmanuel Vadot
4478d13bc63SEmmanuel Vadot	etm {
4488d13bc63SEmmanuel Vadot		compatible = "qcom,coresight-remote-etm";
4498d13bc63SEmmanuel Vadot
4508d13bc63SEmmanuel Vadot		out-ports {
4518d13bc63SEmmanuel Vadot			port {
4528d13bc63SEmmanuel Vadot				modem_etm_out_funnel_in2: endpoint {
4538d13bc63SEmmanuel Vadot					remote-endpoint =
4548d13bc63SEmmanuel Vadot					  <&funnel_in2_in_modem_etm>;
4558d13bc63SEmmanuel Vadot				};
4568d13bc63SEmmanuel Vadot			};
4578d13bc63SEmmanuel Vadot		};
4588d13bc63SEmmanuel Vadot	};
4598d13bc63SEmmanuel Vadot
460c66ec88fSEmmanuel Vadot	psci {
461c66ec88fSEmmanuel Vadot		compatible = "arm,psci-1.0";
462c66ec88fSEmmanuel Vadot		method = "smc";
463c66ec88fSEmmanuel Vadot	};
464c66ec88fSEmmanuel Vadot
465aa1a8ff2SEmmanuel Vadot	rpm: remoteproc {
466aa1a8ff2SEmmanuel Vadot		compatible = "qcom,msm8996-rpm-proc", "qcom,rpm-proc";
467aa1a8ff2SEmmanuel Vadot
468aa1a8ff2SEmmanuel Vadot		glink-edge {
469aa1a8ff2SEmmanuel Vadot			compatible = "qcom,glink-rpm";
470aa1a8ff2SEmmanuel Vadot			interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
471aa1a8ff2SEmmanuel Vadot			qcom,rpm-msg-ram = <&rpm_msg_ram>;
472aa1a8ff2SEmmanuel Vadot			mboxes = <&apcs_glb 0>;
473aa1a8ff2SEmmanuel Vadot
474aa1a8ff2SEmmanuel Vadot			rpm_requests: rpm-requests {
475*b2d2a78aSEmmanuel Vadot				compatible = "qcom,rpm-msm8996", "qcom,glink-smd-rpm";
476aa1a8ff2SEmmanuel Vadot				qcom,glink-channels = "rpm_requests";
477aa1a8ff2SEmmanuel Vadot
478aa1a8ff2SEmmanuel Vadot				rpmcc: clock-controller {
479aa1a8ff2SEmmanuel Vadot					compatible = "qcom,rpmcc-msm8996", "qcom,rpmcc";
480aa1a8ff2SEmmanuel Vadot					#clock-cells = <1>;
481aa1a8ff2SEmmanuel Vadot					clocks = <&xo_board>;
482aa1a8ff2SEmmanuel Vadot					clock-names = "xo";
483aa1a8ff2SEmmanuel Vadot				};
484aa1a8ff2SEmmanuel Vadot
485aa1a8ff2SEmmanuel Vadot				rpmpd: power-controller {
486aa1a8ff2SEmmanuel Vadot					compatible = "qcom,msm8996-rpmpd";
487aa1a8ff2SEmmanuel Vadot					#power-domain-cells = <1>;
488aa1a8ff2SEmmanuel Vadot					operating-points-v2 = <&rpmpd_opp_table>;
489aa1a8ff2SEmmanuel Vadot
490aa1a8ff2SEmmanuel Vadot					rpmpd_opp_table: opp-table {
491aa1a8ff2SEmmanuel Vadot						compatible = "operating-points-v2";
492aa1a8ff2SEmmanuel Vadot
493aa1a8ff2SEmmanuel Vadot						rpmpd_opp1: opp1 {
494aa1a8ff2SEmmanuel Vadot							opp-level = <1>;
495aa1a8ff2SEmmanuel Vadot						};
496aa1a8ff2SEmmanuel Vadot
497aa1a8ff2SEmmanuel Vadot						rpmpd_opp2: opp2 {
498aa1a8ff2SEmmanuel Vadot							opp-level = <2>;
499aa1a8ff2SEmmanuel Vadot						};
500aa1a8ff2SEmmanuel Vadot
501aa1a8ff2SEmmanuel Vadot						rpmpd_opp3: opp3 {
502aa1a8ff2SEmmanuel Vadot							opp-level = <3>;
503aa1a8ff2SEmmanuel Vadot						};
504aa1a8ff2SEmmanuel Vadot
505aa1a8ff2SEmmanuel Vadot						rpmpd_opp4: opp4 {
506aa1a8ff2SEmmanuel Vadot							opp-level = <4>;
507aa1a8ff2SEmmanuel Vadot						};
508aa1a8ff2SEmmanuel Vadot
509aa1a8ff2SEmmanuel Vadot						rpmpd_opp5: opp5 {
510aa1a8ff2SEmmanuel Vadot							opp-level = <5>;
511aa1a8ff2SEmmanuel Vadot						};
512aa1a8ff2SEmmanuel Vadot
513aa1a8ff2SEmmanuel Vadot						rpmpd_opp6: opp6 {
514aa1a8ff2SEmmanuel Vadot							opp-level = <6>;
515aa1a8ff2SEmmanuel Vadot						};
516aa1a8ff2SEmmanuel Vadot					};
517aa1a8ff2SEmmanuel Vadot				};
518aa1a8ff2SEmmanuel Vadot			};
519aa1a8ff2SEmmanuel Vadot		};
520aa1a8ff2SEmmanuel Vadot	};
521aa1a8ff2SEmmanuel Vadot
522c66ec88fSEmmanuel Vadot	reserved-memory {
523c66ec88fSEmmanuel Vadot		#address-cells = <2>;
524c66ec88fSEmmanuel Vadot		#size-cells = <2>;
525c66ec88fSEmmanuel Vadot		ranges;
526c66ec88fSEmmanuel Vadot
527d5b0e70fSEmmanuel Vadot		hyp_mem: memory@85800000 {
528d5b0e70fSEmmanuel Vadot			reg = <0x0 0x85800000 0x0 0x600000>;
529c66ec88fSEmmanuel Vadot			no-map;
530c66ec88fSEmmanuel Vadot		};
531c66ec88fSEmmanuel Vadot
532d5b0e70fSEmmanuel Vadot		xbl_mem: memory@85e00000 {
533d5b0e70fSEmmanuel Vadot			reg = <0x0 0x85e00000 0x0 0x200000>;
534c66ec88fSEmmanuel Vadot			no-map;
535c66ec88fSEmmanuel Vadot		};
536c66ec88fSEmmanuel Vadot
537c66ec88fSEmmanuel Vadot		smem_mem: smem-mem@86000000 {
538c66ec88fSEmmanuel Vadot			reg = <0x0 0x86000000 0x0 0x200000>;
539c66ec88fSEmmanuel Vadot			no-map;
540c66ec88fSEmmanuel Vadot		};
541c66ec88fSEmmanuel Vadot
542d5b0e70fSEmmanuel Vadot		tz_mem: memory@86200000 {
543c66ec88fSEmmanuel Vadot			reg = <0x0 0x86200000 0x0 0x2600000>;
544c66ec88fSEmmanuel Vadot			no-map;
545c66ec88fSEmmanuel Vadot		};
546c66ec88fSEmmanuel Vadot
547d5b0e70fSEmmanuel Vadot		rmtfs_mem: rmtfs {
548c66ec88fSEmmanuel Vadot			compatible = "qcom,rmtfs-mem";
549c66ec88fSEmmanuel Vadot
550c66ec88fSEmmanuel Vadot			size = <0x0 0x200000>;
551c66ec88fSEmmanuel Vadot			alloc-ranges = <0x0 0xa0000000 0x0 0x2000000>;
552c66ec88fSEmmanuel Vadot			no-map;
553c66ec88fSEmmanuel Vadot
554c66ec88fSEmmanuel Vadot			qcom,client-id = <1>;
55584943d6fSEmmanuel Vadot			qcom,vmid = <QCOM_SCM_VMID_MSS_MSA>;
556c66ec88fSEmmanuel Vadot		};
557c66ec88fSEmmanuel Vadot
558d5b0e70fSEmmanuel Vadot		mpss_mem: mpss@88800000 {
559d5b0e70fSEmmanuel Vadot			reg = <0x0 0x88800000 0x0 0x6200000>;
560d5b0e70fSEmmanuel Vadot			no-map;
561d5b0e70fSEmmanuel Vadot		};
562d5b0e70fSEmmanuel Vadot
563d5b0e70fSEmmanuel Vadot		adsp_mem: adsp@8ea00000 {
564d5b0e70fSEmmanuel Vadot			reg = <0x0 0x8ea00000 0x0 0x1b00000>;
565d5b0e70fSEmmanuel Vadot			no-map;
566d5b0e70fSEmmanuel Vadot		};
567d5b0e70fSEmmanuel Vadot
568d5b0e70fSEmmanuel Vadot		slpi_mem: slpi@90500000 {
569d5b0e70fSEmmanuel Vadot			reg = <0x0 0x90500000 0x0 0xa00000>;
570d5b0e70fSEmmanuel Vadot			no-map;
571d5b0e70fSEmmanuel Vadot		};
572d5b0e70fSEmmanuel Vadot
573d5b0e70fSEmmanuel Vadot		gpu_mem: gpu@90f00000 {
574c66ec88fSEmmanuel Vadot			compatible = "shared-dma-pool";
575d5b0e70fSEmmanuel Vadot			reg = <0x0 0x90f00000 0x0 0x100000>;
576d5b0e70fSEmmanuel Vadot			no-map;
577d5b0e70fSEmmanuel Vadot		};
578d5b0e70fSEmmanuel Vadot
579d5b0e70fSEmmanuel Vadot		venus_mem: venus@91000000 {
580d5b0e70fSEmmanuel Vadot			reg = <0x0 0x91000000 0x0 0x500000>;
581d5b0e70fSEmmanuel Vadot			no-map;
582d5b0e70fSEmmanuel Vadot		};
583d5b0e70fSEmmanuel Vadot
584d5b0e70fSEmmanuel Vadot		mba_mem: mba@91500000 {
585d5b0e70fSEmmanuel Vadot			reg = <0x0 0x91500000 0x0 0x200000>;
586c66ec88fSEmmanuel Vadot			no-map;
587c66ec88fSEmmanuel Vadot		};
588cb7aa33aSEmmanuel Vadot
589cb7aa33aSEmmanuel Vadot		mdata_mem: mpss-metadata {
590cb7aa33aSEmmanuel Vadot			alloc-ranges = <0x0 0xa0000000 0x0 0x20000000>;
591cb7aa33aSEmmanuel Vadot			size = <0x0 0x4000>;
592cb7aa33aSEmmanuel Vadot			no-map;
593cb7aa33aSEmmanuel Vadot		};
594c66ec88fSEmmanuel Vadot	};
595c66ec88fSEmmanuel Vadot
596c66ec88fSEmmanuel Vadot	smem {
597c66ec88fSEmmanuel Vadot		compatible = "qcom,smem";
598c66ec88fSEmmanuel Vadot		memory-region = <&smem_mem>;
599c66ec88fSEmmanuel Vadot		hwlocks = <&tcsr_mutex 3>;
600c66ec88fSEmmanuel Vadot	};
601c66ec88fSEmmanuel Vadot
602c66ec88fSEmmanuel Vadot	smp2p-adsp {
603c66ec88fSEmmanuel Vadot		compatible = "qcom,smp2p";
604c66ec88fSEmmanuel Vadot		qcom,smem = <443>, <429>;
605c66ec88fSEmmanuel Vadot
606aa1a8ff2SEmmanuel Vadot		interrupts = <GIC_SPI 158 IRQ_TYPE_EDGE_RISING>;
607c66ec88fSEmmanuel Vadot
608c66ec88fSEmmanuel Vadot		mboxes = <&apcs_glb 10>;
609c66ec88fSEmmanuel Vadot
610c66ec88fSEmmanuel Vadot		qcom,local-pid = <0>;
611c66ec88fSEmmanuel Vadot		qcom,remote-pid = <2>;
612c66ec88fSEmmanuel Vadot
613d5b0e70fSEmmanuel Vadot		adsp_smp2p_out: master-kernel {
614c66ec88fSEmmanuel Vadot			qcom,entry-name = "master-kernel";
615c66ec88fSEmmanuel Vadot			#qcom,smem-state-cells = <1>;
616c66ec88fSEmmanuel Vadot		};
617c66ec88fSEmmanuel Vadot
618d5b0e70fSEmmanuel Vadot		adsp_smp2p_in: slave-kernel {
619c66ec88fSEmmanuel Vadot			qcom,entry-name = "slave-kernel";
620c66ec88fSEmmanuel Vadot
621c66ec88fSEmmanuel Vadot			interrupt-controller;
622c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
623c66ec88fSEmmanuel Vadot		};
624c66ec88fSEmmanuel Vadot	};
625c66ec88fSEmmanuel Vadot
626d5b0e70fSEmmanuel Vadot	smp2p-mpss {
627c66ec88fSEmmanuel Vadot		compatible = "qcom,smp2p";
628c66ec88fSEmmanuel Vadot		qcom,smem = <435>, <428>;
629c66ec88fSEmmanuel Vadot
630c66ec88fSEmmanuel Vadot		interrupts = <GIC_SPI 451 IRQ_TYPE_EDGE_RISING>;
631c66ec88fSEmmanuel Vadot
632c66ec88fSEmmanuel Vadot		mboxes = <&apcs_glb 14>;
633c66ec88fSEmmanuel Vadot
634c66ec88fSEmmanuel Vadot		qcom,local-pid = <0>;
635c66ec88fSEmmanuel Vadot		qcom,remote-pid = <1>;
636c66ec88fSEmmanuel Vadot
637d5b0e70fSEmmanuel Vadot		mpss_smp2p_out: master-kernel {
638c66ec88fSEmmanuel Vadot			qcom,entry-name = "master-kernel";
639c66ec88fSEmmanuel Vadot			#qcom,smem-state-cells = <1>;
640c66ec88fSEmmanuel Vadot		};
641c66ec88fSEmmanuel Vadot
642d5b0e70fSEmmanuel Vadot		mpss_smp2p_in: slave-kernel {
643c66ec88fSEmmanuel Vadot			qcom,entry-name = "slave-kernel";
644c66ec88fSEmmanuel Vadot
645c66ec88fSEmmanuel Vadot			interrupt-controller;
646c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
647c66ec88fSEmmanuel Vadot		};
648c66ec88fSEmmanuel Vadot	};
649c66ec88fSEmmanuel Vadot
650c66ec88fSEmmanuel Vadot	smp2p-slpi {
651c66ec88fSEmmanuel Vadot		compatible = "qcom,smp2p";
652c66ec88fSEmmanuel Vadot		qcom,smem = <481>, <430>;
653c66ec88fSEmmanuel Vadot
654c66ec88fSEmmanuel Vadot		interrupts = <GIC_SPI 178 IRQ_TYPE_EDGE_RISING>;
655c66ec88fSEmmanuel Vadot
656c66ec88fSEmmanuel Vadot		mboxes = <&apcs_glb 26>;
657c66ec88fSEmmanuel Vadot
658c66ec88fSEmmanuel Vadot		qcom,local-pid = <0>;
659c66ec88fSEmmanuel Vadot		qcom,remote-pid = <3>;
660c66ec88fSEmmanuel Vadot
661d5b0e70fSEmmanuel Vadot		slpi_smp2p_out: master-kernel {
662c66ec88fSEmmanuel Vadot			qcom,entry-name = "master-kernel";
663c66ec88fSEmmanuel Vadot			#qcom,smem-state-cells = <1>;
664c66ec88fSEmmanuel Vadot		};
665d5b0e70fSEmmanuel Vadot
666d5b0e70fSEmmanuel Vadot		slpi_smp2p_in: slave-kernel {
667d5b0e70fSEmmanuel Vadot			qcom,entry-name = "slave-kernel";
668d5b0e70fSEmmanuel Vadot
669d5b0e70fSEmmanuel Vadot			interrupt-controller;
670d5b0e70fSEmmanuel Vadot			#interrupt-cells = <2>;
671d5b0e70fSEmmanuel Vadot		};
672c66ec88fSEmmanuel Vadot	};
673c66ec88fSEmmanuel Vadot
674f126890aSEmmanuel Vadot	soc: soc@0 {
675c66ec88fSEmmanuel Vadot		#address-cells = <1>;
676c66ec88fSEmmanuel Vadot		#size-cells = <1>;
677c66ec88fSEmmanuel Vadot		ranges = <0 0 0 0xffffffff>;
678c66ec88fSEmmanuel Vadot		compatible = "simple-bus";
679c66ec88fSEmmanuel Vadot
680b97ee269SEmmanuel Vadot		pcie_phy: phy-wrapper@34000 {
681c66ec88fSEmmanuel Vadot			compatible = "qcom,msm8996-qmp-pcie-phy";
682c66ec88fSEmmanuel Vadot			reg = <0x00034000 0x488>;
683c66ec88fSEmmanuel Vadot			#address-cells = <1>;
684c66ec88fSEmmanuel Vadot			#size-cells = <1>;
685b97ee269SEmmanuel Vadot			ranges = <0x0 0x00034000 0x4000>;
686c66ec88fSEmmanuel Vadot
687c66ec88fSEmmanuel Vadot			clocks = <&gcc GCC_PCIE_PHY_AUX_CLK>,
688c66ec88fSEmmanuel Vadot				<&gcc GCC_PCIE_PHY_CFG_AHB_CLK>,
689c66ec88fSEmmanuel Vadot				<&gcc GCC_PCIE_CLKREF_CLK>;
690c66ec88fSEmmanuel Vadot			clock-names = "aux", "cfg_ahb", "ref";
691c66ec88fSEmmanuel Vadot
692c66ec88fSEmmanuel Vadot			resets = <&gcc GCC_PCIE_PHY_BCR>,
693c66ec88fSEmmanuel Vadot				<&gcc GCC_PCIE_PHY_COM_BCR>,
694c66ec88fSEmmanuel Vadot				<&gcc GCC_PCIE_PHY_COM_NOCSR_BCR>;
695c66ec88fSEmmanuel Vadot			reset-names = "phy", "common", "cfg";
696b97ee269SEmmanuel Vadot
697c66ec88fSEmmanuel Vadot			status = "disabled";
698c66ec88fSEmmanuel Vadot
699b97ee269SEmmanuel Vadot			pciephy_0: phy@1000 {
700b97ee269SEmmanuel Vadot				reg = <0x1000 0x130>,
701b97ee269SEmmanuel Vadot				      <0x1200 0x200>,
702b97ee269SEmmanuel Vadot				      <0x1400 0x1dc>;
703c66ec88fSEmmanuel Vadot
704c66ec88fSEmmanuel Vadot				clocks = <&gcc GCC_PCIE_0_PIPE_CLK>;
705c66ec88fSEmmanuel Vadot				clock-names = "pipe0";
706c66ec88fSEmmanuel Vadot				resets = <&gcc GCC_PCIE_0_PHY_BCR>;
707c66ec88fSEmmanuel Vadot				reset-names = "lane0";
708b97ee269SEmmanuel Vadot
709b97ee269SEmmanuel Vadot				#clock-cells = <0>;
710b97ee269SEmmanuel Vadot				clock-output-names = "pcie_0_pipe_clk_src";
711b97ee269SEmmanuel Vadot
712b97ee269SEmmanuel Vadot				#phy-cells = <0>;
713c66ec88fSEmmanuel Vadot			};
714c66ec88fSEmmanuel Vadot
715b97ee269SEmmanuel Vadot			pciephy_1: phy@2000 {
716b97ee269SEmmanuel Vadot				reg = <0x2000 0x130>,
717b97ee269SEmmanuel Vadot				      <0x2200 0x200>,
718b97ee269SEmmanuel Vadot				      <0x2400 0x1dc>;
719c66ec88fSEmmanuel Vadot
720c66ec88fSEmmanuel Vadot				clocks = <&gcc GCC_PCIE_1_PIPE_CLK>;
721c66ec88fSEmmanuel Vadot				clock-names = "pipe1";
722c66ec88fSEmmanuel Vadot				resets = <&gcc GCC_PCIE_1_PHY_BCR>;
723c66ec88fSEmmanuel Vadot				reset-names = "lane1";
724b97ee269SEmmanuel Vadot
725b97ee269SEmmanuel Vadot				#clock-cells = <0>;
726b97ee269SEmmanuel Vadot				clock-output-names = "pcie_1_pipe_clk_src";
727b97ee269SEmmanuel Vadot
728b97ee269SEmmanuel Vadot				#phy-cells = <0>;
729c66ec88fSEmmanuel Vadot			};
730c66ec88fSEmmanuel Vadot
731b97ee269SEmmanuel Vadot			pciephy_2: phy@3000 {
732b97ee269SEmmanuel Vadot				reg = <0x3000 0x130>,
733b97ee269SEmmanuel Vadot				      <0x3200 0x200>,
734b97ee269SEmmanuel Vadot				      <0x3400 0x1dc>;
735c66ec88fSEmmanuel Vadot
736c66ec88fSEmmanuel Vadot				clocks = <&gcc GCC_PCIE_2_PIPE_CLK>;
737c66ec88fSEmmanuel Vadot				clock-names = "pipe2";
738c66ec88fSEmmanuel Vadot				resets = <&gcc GCC_PCIE_2_PHY_BCR>;
739c66ec88fSEmmanuel Vadot				reset-names = "lane2";
740b97ee269SEmmanuel Vadot
741b97ee269SEmmanuel Vadot				#clock-cells = <0>;
742b97ee269SEmmanuel Vadot				clock-output-names = "pcie_2_pipe_clk_src";
743b97ee269SEmmanuel Vadot
744b97ee269SEmmanuel Vadot				#phy-cells = <0>;
745c66ec88fSEmmanuel Vadot			};
746c66ec88fSEmmanuel Vadot		};
747c66ec88fSEmmanuel Vadot
7488cc087a1SEmmanuel Vadot		rpm_msg_ram: sram@68000 {
749c66ec88fSEmmanuel Vadot			compatible = "qcom,rpm-msg-ram";
750c66ec88fSEmmanuel Vadot			reg = <0x00068000 0x6000>;
751c66ec88fSEmmanuel Vadot		};
752c66ec88fSEmmanuel Vadot
753c66ec88fSEmmanuel Vadot		qfprom@74000 {
754b97ee269SEmmanuel Vadot			compatible = "qcom,msm8996-qfprom", "qcom,qfprom";
755c66ec88fSEmmanuel Vadot			reg = <0x00074000 0x8ff>;
756c66ec88fSEmmanuel Vadot			#address-cells = <1>;
757c66ec88fSEmmanuel Vadot			#size-cells = <1>;
758c66ec88fSEmmanuel Vadot
75901950c46SEmmanuel Vadot			qusb2p_hstx_trim: hstx-trim@24e {
760c66ec88fSEmmanuel Vadot				reg = <0x24e 0x2>;
761c66ec88fSEmmanuel Vadot				bits = <5 4>;
762c66ec88fSEmmanuel Vadot			};
763c66ec88fSEmmanuel Vadot
76401950c46SEmmanuel Vadot			qusb2s_hstx_trim: hstx-trim@24f {
765c66ec88fSEmmanuel Vadot				reg = <0x24f 0x1>;
766c66ec88fSEmmanuel Vadot				bits = <1 4>;
767c66ec88fSEmmanuel Vadot			};
768c66ec88fSEmmanuel Vadot
7695956d97fSEmmanuel Vadot			speedbin_efuse: speedbin@133 {
770c66ec88fSEmmanuel Vadot				reg = <0x133 0x1>;
771c66ec88fSEmmanuel Vadot				bits = <5 3>;
772c66ec88fSEmmanuel Vadot			};
773c66ec88fSEmmanuel Vadot		};
774c66ec88fSEmmanuel Vadot
775c66ec88fSEmmanuel Vadot		rng: rng@83000 {
776c66ec88fSEmmanuel Vadot			compatible = "qcom,prng-ee";
777c66ec88fSEmmanuel Vadot			reg = <0x00083000 0x1000>;
778c66ec88fSEmmanuel Vadot			clocks = <&gcc GCC_PRNG_AHB_CLK>;
779c66ec88fSEmmanuel Vadot			clock-names = "core";
780c66ec88fSEmmanuel Vadot		};
781c66ec88fSEmmanuel Vadot
782c66ec88fSEmmanuel Vadot		gcc: clock-controller@300000 {
783c66ec88fSEmmanuel Vadot			compatible = "qcom,gcc-msm8996";
784c66ec88fSEmmanuel Vadot			#clock-cells = <1>;
785c66ec88fSEmmanuel Vadot			#reset-cells = <1>;
786c66ec88fSEmmanuel Vadot			#power-domain-cells = <1>;
787c66ec88fSEmmanuel Vadot			reg = <0x00300000 0x90000>;
788c66ec88fSEmmanuel Vadot
789cb7aa33aSEmmanuel Vadot			clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>,
790c9ccf3a3SEmmanuel Vadot				 <&rpmcc RPM_SMD_LN_BB_CLK>,
791b97ee269SEmmanuel Vadot				 <&sleep_clk>,
792b97ee269SEmmanuel Vadot				 <&pciephy_0>,
793b97ee269SEmmanuel Vadot				 <&pciephy_1>,
794b97ee269SEmmanuel Vadot				 <&pciephy_2>,
7958d13bc63SEmmanuel Vadot				 <&usb3phy>,
7968d13bc63SEmmanuel Vadot				 <&ufsphy 0>,
7978d13bc63SEmmanuel Vadot				 <&ufsphy 1>,
7988d13bc63SEmmanuel Vadot				 <&ufsphy 2>;
799b97ee269SEmmanuel Vadot			clock-names = "cxo",
800b97ee269SEmmanuel Vadot				      "cxo2",
801b97ee269SEmmanuel Vadot				      "sleep_clk",
802b97ee269SEmmanuel Vadot				      "pcie_0_pipe_clk_src",
803b97ee269SEmmanuel Vadot				      "pcie_1_pipe_clk_src",
804b97ee269SEmmanuel Vadot				      "pcie_2_pipe_clk_src",
805b97ee269SEmmanuel Vadot				      "usb3_phy_pipe_clk_src",
806b97ee269SEmmanuel Vadot				      "ufs_rx_symbol_0_clk_src",
807b97ee269SEmmanuel Vadot				      "ufs_rx_symbol_1_clk_src",
808b97ee269SEmmanuel Vadot				      "ufs_tx_symbol_0_clk_src";
809b97ee269SEmmanuel Vadot		};
810b97ee269SEmmanuel Vadot
811b97ee269SEmmanuel Vadot		bimc: interconnect@408000 {
812b97ee269SEmmanuel Vadot			compatible = "qcom,msm8996-bimc";
813b97ee269SEmmanuel Vadot			reg = <0x00408000 0x5a000>;
814b97ee269SEmmanuel Vadot			#interconnect-cells = <1>;
815c66ec88fSEmmanuel Vadot		};
816c66ec88fSEmmanuel Vadot
817c66ec88fSEmmanuel Vadot		tsens0: thermal-sensor@4a9000 {
818c66ec88fSEmmanuel Vadot			compatible = "qcom,msm8996-tsens", "qcom,tsens-v2";
819c66ec88fSEmmanuel Vadot			reg = <0x004a9000 0x1000>, /* TM */
820c66ec88fSEmmanuel Vadot			      <0x004a8000 0x1000>; /* SROT */
821c66ec88fSEmmanuel Vadot			#qcom,sensors = <13>;
822c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 458 IRQ_TYPE_LEVEL_HIGH>,
823c66ec88fSEmmanuel Vadot				     <GIC_SPI 445 IRQ_TYPE_LEVEL_HIGH>;
824c66ec88fSEmmanuel Vadot			interrupt-names = "uplow", "critical";
825c66ec88fSEmmanuel Vadot			#thermal-sensor-cells = <1>;
826c66ec88fSEmmanuel Vadot		};
827c66ec88fSEmmanuel Vadot
828c66ec88fSEmmanuel Vadot		tsens1: thermal-sensor@4ad000 {
829c66ec88fSEmmanuel Vadot			compatible = "qcom,msm8996-tsens", "qcom,tsens-v2";
830c66ec88fSEmmanuel Vadot			reg = <0x004ad000 0x1000>, /* TM */
831c66ec88fSEmmanuel Vadot			      <0x004ac000 0x1000>; /* SROT */
832c66ec88fSEmmanuel Vadot			#qcom,sensors = <8>;
833c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>,
834c66ec88fSEmmanuel Vadot				     <GIC_SPI 430 IRQ_TYPE_LEVEL_HIGH>;
835c66ec88fSEmmanuel Vadot			interrupt-names = "uplow", "critical";
836c66ec88fSEmmanuel Vadot			#thermal-sensor-cells = <1>;
837c66ec88fSEmmanuel Vadot		};
838c66ec88fSEmmanuel Vadot
839d5b0e70fSEmmanuel Vadot		cryptobam: dma-controller@644000 {
8408cc087a1SEmmanuel Vadot			compatible = "qcom,bam-v1.7.0";
8418cc087a1SEmmanuel Vadot			reg = <0x00644000 0x24000>;
8428cc087a1SEmmanuel Vadot			interrupts = <GIC_SPI 206 IRQ_TYPE_LEVEL_HIGH>;
8438cc087a1SEmmanuel Vadot			clocks = <&gcc GCC_CE1_CLK>;
8448cc087a1SEmmanuel Vadot			clock-names = "bam_clk";
8458cc087a1SEmmanuel Vadot			#dma-cells = <1>;
8468cc087a1SEmmanuel Vadot			qcom,ee = <0>;
847c9ccf3a3SEmmanuel Vadot			qcom,controlled-remotely;
8488cc087a1SEmmanuel Vadot		};
8498cc087a1SEmmanuel Vadot
8508cc087a1SEmmanuel Vadot		crypto: crypto@67a000 {
8518cc087a1SEmmanuel Vadot			compatible = "qcom,crypto-v5.4";
8528cc087a1SEmmanuel Vadot			reg = <0x0067a000 0x6000>;
8538cc087a1SEmmanuel Vadot			clocks = <&gcc GCC_CE1_AHB_CLK>,
8548cc087a1SEmmanuel Vadot				 <&gcc GCC_CE1_AXI_CLK>,
8558cc087a1SEmmanuel Vadot				 <&gcc GCC_CE1_CLK>;
8568cc087a1SEmmanuel Vadot			clock-names = "iface", "bus", "core";
8578cc087a1SEmmanuel Vadot			dmas = <&cryptobam 6>, <&cryptobam 7>;
8588cc087a1SEmmanuel Vadot			dma-names = "rx", "tx";
8598cc087a1SEmmanuel Vadot		};
8608cc087a1SEmmanuel Vadot
861b97ee269SEmmanuel Vadot		cnoc: interconnect@500000 {
862b97ee269SEmmanuel Vadot			compatible = "qcom,msm8996-cnoc";
863b97ee269SEmmanuel Vadot			reg = <0x00500000 0x1000>;
864b97ee269SEmmanuel Vadot			#interconnect-cells = <1>;
865b97ee269SEmmanuel Vadot		};
866b97ee269SEmmanuel Vadot
867b97ee269SEmmanuel Vadot		snoc: interconnect@524000 {
868b97ee269SEmmanuel Vadot			compatible = "qcom,msm8996-snoc";
869b97ee269SEmmanuel Vadot			reg = <0x00524000 0x1c000>;
870b97ee269SEmmanuel Vadot			#interconnect-cells = <1>;
871b97ee269SEmmanuel Vadot		};
872b97ee269SEmmanuel Vadot
873b97ee269SEmmanuel Vadot		a0noc: interconnect@543000 {
874b97ee269SEmmanuel Vadot			compatible = "qcom,msm8996-a0noc";
875b97ee269SEmmanuel Vadot			reg = <0x00543000 0x6000>;
876b97ee269SEmmanuel Vadot			#interconnect-cells = <1>;
877b97ee269SEmmanuel Vadot			clock-names = "aggre0_snoc_axi",
878b97ee269SEmmanuel Vadot				      "aggre0_cnoc_ahb",
879b97ee269SEmmanuel Vadot				      "aggre0_noc_mpu_cfg";
880b97ee269SEmmanuel Vadot			clocks = <&gcc GCC_AGGRE0_SNOC_AXI_CLK>,
881b97ee269SEmmanuel Vadot				 <&gcc GCC_AGGRE0_CNOC_AHB_CLK>,
882b97ee269SEmmanuel Vadot				 <&gcc GCC_AGGRE0_NOC_MPU_CFG_AHB_CLK>;
883b97ee269SEmmanuel Vadot			power-domains = <&gcc AGGRE0_NOC_GDSC>;
884b97ee269SEmmanuel Vadot		};
885b97ee269SEmmanuel Vadot
886b97ee269SEmmanuel Vadot		a1noc: interconnect@562000 {
887b97ee269SEmmanuel Vadot			compatible = "qcom,msm8996-a1noc";
888b97ee269SEmmanuel Vadot			reg = <0x00562000 0x5000>;
889b97ee269SEmmanuel Vadot			#interconnect-cells = <1>;
890b97ee269SEmmanuel Vadot		};
891b97ee269SEmmanuel Vadot
892b97ee269SEmmanuel Vadot		a2noc: interconnect@583000 {
893b97ee269SEmmanuel Vadot			compatible = "qcom,msm8996-a2noc";
894b97ee269SEmmanuel Vadot			reg = <0x00583000 0x7000>;
895b97ee269SEmmanuel Vadot			#interconnect-cells = <1>;
8968d13bc63SEmmanuel Vadot			clock-names = "aggre2_ufs_axi", "ufs_axi";
8978d13bc63SEmmanuel Vadot			clocks = <&gcc GCC_AGGRE2_UFS_AXI_CLK>,
898cb7aa33aSEmmanuel Vadot				 <&gcc GCC_UFS_AXI_CLK>;
899b97ee269SEmmanuel Vadot		};
900b97ee269SEmmanuel Vadot
901b97ee269SEmmanuel Vadot		mnoc: interconnect@5a4000 {
902b97ee269SEmmanuel Vadot			compatible = "qcom,msm8996-mnoc";
903b97ee269SEmmanuel Vadot			reg = <0x005a4000 0x1c000>;
904b97ee269SEmmanuel Vadot			#interconnect-cells = <1>;
9058d13bc63SEmmanuel Vadot			clock-names = "iface";
9068d13bc63SEmmanuel Vadot			clocks = <&mmcc AHB_CLK_SRC>;
907b97ee269SEmmanuel Vadot		};
908b97ee269SEmmanuel Vadot
909b97ee269SEmmanuel Vadot		pnoc: interconnect@5c0000 {
910b97ee269SEmmanuel Vadot			compatible = "qcom,msm8996-pnoc";
911b97ee269SEmmanuel Vadot			reg = <0x005c0000 0x3000>;
912b97ee269SEmmanuel Vadot			#interconnect-cells = <1>;
913b97ee269SEmmanuel Vadot		};
914b97ee269SEmmanuel Vadot
9157ef62cebSEmmanuel Vadot		tcsr_mutex: hwlock@740000 {
9167ef62cebSEmmanuel Vadot			compatible = "qcom,tcsr-mutex";
9177ef62cebSEmmanuel Vadot			reg = <0x00740000 0x20000>;
9187ef62cebSEmmanuel Vadot			#hwlock-cells = <1>;
919c66ec88fSEmmanuel Vadot		};
920c66ec88fSEmmanuel Vadot
9217ef62cebSEmmanuel Vadot		tcsr_1: syscon@760000 {
9227ef62cebSEmmanuel Vadot			compatible = "qcom,tcsr-msm8996", "syscon";
9237ef62cebSEmmanuel Vadot			reg = <0x00760000 0x20000>;
9247ef62cebSEmmanuel Vadot		};
9257ef62cebSEmmanuel Vadot
9267ef62cebSEmmanuel Vadot		tcsr_2: syscon@7a0000 {
927c66ec88fSEmmanuel Vadot			compatible = "qcom,tcsr-msm8996", "syscon";
928c66ec88fSEmmanuel Vadot			reg = <0x007a0000 0x18000>;
929c66ec88fSEmmanuel Vadot		};
930c66ec88fSEmmanuel Vadot
931c66ec88fSEmmanuel Vadot		mmcc: clock-controller@8c0000 {
932c66ec88fSEmmanuel Vadot			compatible = "qcom,mmcc-msm8996";
933c66ec88fSEmmanuel Vadot			#clock-cells = <1>;
934c66ec88fSEmmanuel Vadot			#reset-cells = <1>;
935c66ec88fSEmmanuel Vadot			#power-domain-cells = <1>;
936c66ec88fSEmmanuel Vadot			reg = <0x008c0000 0x40000>;
937b97ee269SEmmanuel Vadot			clocks = <&xo_board>,
938b97ee269SEmmanuel Vadot				 <&gcc GPLL0>,
939f126890aSEmmanuel Vadot				 <&gcc GCC_MMSS_NOC_CFG_AHB_CLK>,
940f126890aSEmmanuel Vadot				 <&mdss_dsi0_phy 1>,
941f126890aSEmmanuel Vadot				 <&mdss_dsi0_phy 0>,
942f126890aSEmmanuel Vadot				 <&mdss_dsi1_phy 1>,
943f126890aSEmmanuel Vadot				 <&mdss_dsi1_phy 0>,
944f126890aSEmmanuel Vadot				 <&mdss_hdmi_phy>;
945b97ee269SEmmanuel Vadot			clock-names = "xo",
946b97ee269SEmmanuel Vadot				      "gpll0",
947f126890aSEmmanuel Vadot				      "gcc_mmss_noc_cfg_ahb_clk",
948b97ee269SEmmanuel Vadot				      "dsi0pll",
949b97ee269SEmmanuel Vadot				      "dsi0pllbyte",
950b97ee269SEmmanuel Vadot				      "dsi1pll",
951b97ee269SEmmanuel Vadot				      "dsi1pllbyte",
952b97ee269SEmmanuel Vadot				      "hdmipll";
953c66ec88fSEmmanuel Vadot			assigned-clocks = <&mmcc MMPLL9_PLL>,
954c66ec88fSEmmanuel Vadot					  <&mmcc MMPLL1_PLL>,
955c66ec88fSEmmanuel Vadot					  <&mmcc MMPLL3_PLL>,
956c66ec88fSEmmanuel Vadot					  <&mmcc MMPLL4_PLL>,
957c66ec88fSEmmanuel Vadot					  <&mmcc MMPLL5_PLL>;
958c66ec88fSEmmanuel Vadot			assigned-clock-rates = <624000000>,
959c66ec88fSEmmanuel Vadot					       <810000000>,
960c66ec88fSEmmanuel Vadot					       <980000000>,
961c66ec88fSEmmanuel Vadot					       <960000000>,
962c66ec88fSEmmanuel Vadot					       <825000000>;
963c66ec88fSEmmanuel Vadot		};
964c66ec88fSEmmanuel Vadot
965cb7aa33aSEmmanuel Vadot		mdss: display-subsystem@900000 {
966c66ec88fSEmmanuel Vadot			compatible = "qcom,mdss";
967c66ec88fSEmmanuel Vadot
968c66ec88fSEmmanuel Vadot			reg = <0x00900000 0x1000>,
969c66ec88fSEmmanuel Vadot			      <0x009b0000 0x1040>,
970c66ec88fSEmmanuel Vadot			      <0x009b8000 0x1040>;
971c66ec88fSEmmanuel Vadot			reg-names = "mdss_phys",
972c66ec88fSEmmanuel Vadot				    "vbif_phys",
973c66ec88fSEmmanuel Vadot				    "vbif_nrt_phys";
974c66ec88fSEmmanuel Vadot
975c66ec88fSEmmanuel Vadot			power-domains = <&mmcc MDSS_GDSC>;
976c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
977c66ec88fSEmmanuel Vadot
978c66ec88fSEmmanuel Vadot			interrupt-controller;
979c66ec88fSEmmanuel Vadot			#interrupt-cells = <1>;
980c66ec88fSEmmanuel Vadot
981b97ee269SEmmanuel Vadot			clocks = <&mmcc MDSS_AHB_CLK>,
982b97ee269SEmmanuel Vadot				 <&mmcc MDSS_MDP_CLK>;
983b97ee269SEmmanuel Vadot			clock-names = "iface", "core";
984c66ec88fSEmmanuel Vadot
9850e8011faSEmmanuel Vadot			resets = <&mmcc MDSS_BCR>;
9860e8011faSEmmanuel Vadot
987c66ec88fSEmmanuel Vadot			#address-cells = <1>;
988c66ec88fSEmmanuel Vadot			#size-cells = <1>;
989c66ec88fSEmmanuel Vadot			ranges;
990c66ec88fSEmmanuel Vadot
9915956d97fSEmmanuel Vadot			status = "disabled";
9925956d97fSEmmanuel Vadot
993cb7aa33aSEmmanuel Vadot			mdp: display-controller@901000 {
994cb7aa33aSEmmanuel Vadot				compatible = "qcom,msm8996-mdp5", "qcom,mdp5";
995c66ec88fSEmmanuel Vadot				reg = <0x00901000 0x90000>;
996c66ec88fSEmmanuel Vadot				reg-names = "mdp_phys";
997c66ec88fSEmmanuel Vadot
998c66ec88fSEmmanuel Vadot				interrupt-parent = <&mdss>;
999d5b0e70fSEmmanuel Vadot				interrupts = <0>;
1000c66ec88fSEmmanuel Vadot
1001c66ec88fSEmmanuel Vadot				clocks = <&mmcc MDSS_AHB_CLK>,
1002c66ec88fSEmmanuel Vadot					 <&mmcc MDSS_AXI_CLK>,
1003c66ec88fSEmmanuel Vadot					 <&mmcc MDSS_MDP_CLK>,
1004c66ec88fSEmmanuel Vadot					 <&mmcc SMMU_MDP_AXI_CLK>,
1005c66ec88fSEmmanuel Vadot					 <&mmcc MDSS_VSYNC_CLK>;
1006c66ec88fSEmmanuel Vadot				clock-names = "iface",
1007c66ec88fSEmmanuel Vadot					      "bus",
1008c66ec88fSEmmanuel Vadot					      "core",
1009c66ec88fSEmmanuel Vadot					      "iommu",
1010c66ec88fSEmmanuel Vadot					      "vsync";
1011c66ec88fSEmmanuel Vadot
1012c66ec88fSEmmanuel Vadot				iommus = <&mdp_smmu 0>;
1013c66ec88fSEmmanuel Vadot
10145956d97fSEmmanuel Vadot				assigned-clocks = <&mmcc MDSS_MDP_CLK>,
10155956d97fSEmmanuel Vadot					 <&mmcc MDSS_VSYNC_CLK>;
10165956d97fSEmmanuel Vadot				assigned-clock-rates = <300000000>,
10175956d97fSEmmanuel Vadot					 <19200000>;
10185956d97fSEmmanuel Vadot
1019b97ee269SEmmanuel Vadot				interconnects = <&mnoc MASTER_MDP_PORT0 &bimc SLAVE_EBI_CH0>,
1020b97ee269SEmmanuel Vadot						<&mnoc MASTER_MDP_PORT1 &bimc SLAVE_EBI_CH0>,
1021b97ee269SEmmanuel Vadot						<&mnoc MASTER_ROTATOR &bimc SLAVE_EBI_CH0>;
1022b97ee269SEmmanuel Vadot				interconnect-names = "mdp0-mem", "mdp1-mem", "rotator-mem";
1023b97ee269SEmmanuel Vadot
1024c66ec88fSEmmanuel Vadot				ports {
1025c66ec88fSEmmanuel Vadot					#address-cells = <1>;
1026c66ec88fSEmmanuel Vadot					#size-cells = <0>;
1027c66ec88fSEmmanuel Vadot
1028c66ec88fSEmmanuel Vadot					port@0 {
1029c66ec88fSEmmanuel Vadot						reg = <0>;
1030c66ec88fSEmmanuel Vadot						mdp5_intf3_out: endpoint {
1031f126890aSEmmanuel Vadot							remote-endpoint = <&mdss_hdmi_in>;
1032c66ec88fSEmmanuel Vadot						};
1033c66ec88fSEmmanuel Vadot					};
10345956d97fSEmmanuel Vadot
10355956d97fSEmmanuel Vadot					port@1 {
10365956d97fSEmmanuel Vadot						reg = <1>;
10375956d97fSEmmanuel Vadot						mdp5_intf1_out: endpoint {
1038f126890aSEmmanuel Vadot							remote-endpoint = <&mdss_dsi0_in>;
1039c66ec88fSEmmanuel Vadot						};
1040c66ec88fSEmmanuel Vadot					};
1041b97ee269SEmmanuel Vadot
1042b97ee269SEmmanuel Vadot					port@2 {
1043b97ee269SEmmanuel Vadot						reg = <2>;
1044b97ee269SEmmanuel Vadot						mdp5_intf2_out: endpoint {
1045f126890aSEmmanuel Vadot							remote-endpoint = <&mdss_dsi1_in>;
1046b97ee269SEmmanuel Vadot						};
1047b97ee269SEmmanuel Vadot					};
10485956d97fSEmmanuel Vadot				};
10495956d97fSEmmanuel Vadot			};
10505956d97fSEmmanuel Vadot
1051f126890aSEmmanuel Vadot			mdss_dsi0: dsi@994000 {
1052cb7aa33aSEmmanuel Vadot				compatible = "qcom,msm8996-dsi-ctrl",
1053cb7aa33aSEmmanuel Vadot					     "qcom,mdss-dsi-ctrl";
10545956d97fSEmmanuel Vadot				reg = <0x00994000 0x400>;
10555956d97fSEmmanuel Vadot				reg-names = "dsi_ctrl";
10565956d97fSEmmanuel Vadot
10575956d97fSEmmanuel Vadot				interrupt-parent = <&mdss>;
1058d5b0e70fSEmmanuel Vadot				interrupts = <4>;
10595956d97fSEmmanuel Vadot
10605956d97fSEmmanuel Vadot				clocks = <&mmcc MDSS_MDP_CLK>,
10615956d97fSEmmanuel Vadot					 <&mmcc MDSS_BYTE0_CLK>,
10625956d97fSEmmanuel Vadot					 <&mmcc MDSS_AHB_CLK>,
10635956d97fSEmmanuel Vadot					 <&mmcc MDSS_AXI_CLK>,
10645956d97fSEmmanuel Vadot					 <&mmcc MMSS_MISC_AHB_CLK>,
10655956d97fSEmmanuel Vadot					 <&mmcc MDSS_PCLK0_CLK>,
10665956d97fSEmmanuel Vadot					 <&mmcc MDSS_ESC0_CLK>;
10675956d97fSEmmanuel Vadot				clock-names = "mdp_core",
10685956d97fSEmmanuel Vadot					      "byte",
10695956d97fSEmmanuel Vadot					      "iface",
10705956d97fSEmmanuel Vadot					      "bus",
10715956d97fSEmmanuel Vadot					      "core_mmss",
10725956d97fSEmmanuel Vadot					      "pixel",
10735956d97fSEmmanuel Vadot					      "core";
1074b97ee269SEmmanuel Vadot				assigned-clocks = <&mmcc BYTE0_CLK_SRC>, <&mmcc PCLK0_CLK_SRC>;
1075f126890aSEmmanuel Vadot				assigned-clock-parents = <&mdss_dsi0_phy 0>, <&mdss_dsi0_phy 1>;
10765956d97fSEmmanuel Vadot
1077f126890aSEmmanuel Vadot				phys = <&mdss_dsi0_phy>;
10785956d97fSEmmanuel Vadot				status = "disabled";
10795956d97fSEmmanuel Vadot
10805956d97fSEmmanuel Vadot				#address-cells = <1>;
10815956d97fSEmmanuel Vadot				#size-cells = <0>;
10825956d97fSEmmanuel Vadot
10835956d97fSEmmanuel Vadot				ports {
10845956d97fSEmmanuel Vadot					#address-cells = <1>;
10855956d97fSEmmanuel Vadot					#size-cells = <0>;
10865956d97fSEmmanuel Vadot
10875956d97fSEmmanuel Vadot					port@0 {
10885956d97fSEmmanuel Vadot						reg = <0>;
1089f126890aSEmmanuel Vadot						mdss_dsi0_in: endpoint {
10905956d97fSEmmanuel Vadot							remote-endpoint = <&mdp5_intf1_out>;
10915956d97fSEmmanuel Vadot						};
10925956d97fSEmmanuel Vadot					};
10935956d97fSEmmanuel Vadot
10945956d97fSEmmanuel Vadot					port@1 {
10955956d97fSEmmanuel Vadot						reg = <1>;
1096f126890aSEmmanuel Vadot						mdss_dsi0_out: endpoint {
10975956d97fSEmmanuel Vadot						};
10985956d97fSEmmanuel Vadot					};
10995956d97fSEmmanuel Vadot				};
11005956d97fSEmmanuel Vadot			};
11015956d97fSEmmanuel Vadot
1102f126890aSEmmanuel Vadot			mdss_dsi0_phy: phy@994400 {
11035956d97fSEmmanuel Vadot				compatible = "qcom,dsi-phy-14nm";
11045956d97fSEmmanuel Vadot				reg = <0x00994400 0x100>,
11055956d97fSEmmanuel Vadot				      <0x00994500 0x300>,
11065956d97fSEmmanuel Vadot				      <0x00994800 0x188>;
11075956d97fSEmmanuel Vadot				reg-names = "dsi_phy",
11085956d97fSEmmanuel Vadot					    "dsi_phy_lane",
11095956d97fSEmmanuel Vadot					    "dsi_pll";
11105956d97fSEmmanuel Vadot
11115956d97fSEmmanuel Vadot				#clock-cells = <1>;
11125956d97fSEmmanuel Vadot				#phy-cells = <0>;
11135956d97fSEmmanuel Vadot
1114cb7aa33aSEmmanuel Vadot				clocks = <&mmcc MDSS_AHB_CLK>, <&rpmcc RPM_SMD_XO_CLK_SRC>;
11155956d97fSEmmanuel Vadot				clock-names = "iface", "ref";
11165956d97fSEmmanuel Vadot				status = "disabled";
11175956d97fSEmmanuel Vadot			};
1118c66ec88fSEmmanuel Vadot
1119f126890aSEmmanuel Vadot			mdss_dsi1: dsi@996000 {
1120cb7aa33aSEmmanuel Vadot				compatible = "qcom,msm8996-dsi-ctrl",
1121cb7aa33aSEmmanuel Vadot					     "qcom,mdss-dsi-ctrl";
1122b97ee269SEmmanuel Vadot				reg = <0x00996000 0x400>;
1123b97ee269SEmmanuel Vadot				reg-names = "dsi_ctrl";
1124b97ee269SEmmanuel Vadot
1125b97ee269SEmmanuel Vadot				interrupt-parent = <&mdss>;
1126aa1a8ff2SEmmanuel Vadot				interrupts = <5>;
1127b97ee269SEmmanuel Vadot
1128b97ee269SEmmanuel Vadot				clocks = <&mmcc MDSS_MDP_CLK>,
1129b97ee269SEmmanuel Vadot					 <&mmcc MDSS_BYTE1_CLK>,
1130b97ee269SEmmanuel Vadot					 <&mmcc MDSS_AHB_CLK>,
1131b97ee269SEmmanuel Vadot					 <&mmcc MDSS_AXI_CLK>,
1132b97ee269SEmmanuel Vadot					 <&mmcc MMSS_MISC_AHB_CLK>,
1133b97ee269SEmmanuel Vadot					 <&mmcc MDSS_PCLK1_CLK>,
1134b97ee269SEmmanuel Vadot					 <&mmcc MDSS_ESC1_CLK>;
1135b97ee269SEmmanuel Vadot				clock-names = "mdp_core",
1136b97ee269SEmmanuel Vadot					      "byte",
1137b97ee269SEmmanuel Vadot					      "iface",
1138b97ee269SEmmanuel Vadot					      "bus",
1139b97ee269SEmmanuel Vadot					      "core_mmss",
1140b97ee269SEmmanuel Vadot					      "pixel",
1141b97ee269SEmmanuel Vadot					      "core";
1142b97ee269SEmmanuel Vadot				assigned-clocks = <&mmcc BYTE1_CLK_SRC>, <&mmcc PCLK1_CLK_SRC>;
1143f126890aSEmmanuel Vadot				assigned-clock-parents = <&mdss_dsi1_phy 0>, <&mdss_dsi1_phy 1>;
1144b97ee269SEmmanuel Vadot
1145f126890aSEmmanuel Vadot				phys = <&mdss_dsi1_phy>;
1146b97ee269SEmmanuel Vadot				status = "disabled";
1147b97ee269SEmmanuel Vadot
1148b97ee269SEmmanuel Vadot				#address-cells = <1>;
1149b97ee269SEmmanuel Vadot				#size-cells = <0>;
1150b97ee269SEmmanuel Vadot
1151b97ee269SEmmanuel Vadot				ports {
1152b97ee269SEmmanuel Vadot					#address-cells = <1>;
1153b97ee269SEmmanuel Vadot					#size-cells = <0>;
1154b97ee269SEmmanuel Vadot
1155b97ee269SEmmanuel Vadot					port@0 {
1156b97ee269SEmmanuel Vadot						reg = <0>;
1157f126890aSEmmanuel Vadot						mdss_dsi1_in: endpoint {
1158b97ee269SEmmanuel Vadot							remote-endpoint = <&mdp5_intf2_out>;
1159b97ee269SEmmanuel Vadot						};
1160b97ee269SEmmanuel Vadot					};
1161b97ee269SEmmanuel Vadot
1162b97ee269SEmmanuel Vadot					port@1 {
1163b97ee269SEmmanuel Vadot						reg = <1>;
1164f126890aSEmmanuel Vadot						mdss_dsi1_out: endpoint {
1165b97ee269SEmmanuel Vadot						};
1166b97ee269SEmmanuel Vadot					};
1167b97ee269SEmmanuel Vadot				};
1168b97ee269SEmmanuel Vadot			};
1169b97ee269SEmmanuel Vadot
1170f126890aSEmmanuel Vadot			mdss_dsi1_phy: phy@996400 {
1171b97ee269SEmmanuel Vadot				compatible = "qcom,dsi-phy-14nm";
1172b97ee269SEmmanuel Vadot				reg = <0x00996400 0x100>,
1173b97ee269SEmmanuel Vadot				      <0x00996500 0x300>,
1174b97ee269SEmmanuel Vadot				      <0x00996800 0x188>;
1175b97ee269SEmmanuel Vadot				reg-names = "dsi_phy",
1176b97ee269SEmmanuel Vadot					    "dsi_phy_lane",
1177b97ee269SEmmanuel Vadot					    "dsi_pll";
1178b97ee269SEmmanuel Vadot
1179b97ee269SEmmanuel Vadot				#clock-cells = <1>;
1180b97ee269SEmmanuel Vadot				#phy-cells = <0>;
1181b97ee269SEmmanuel Vadot
1182cb7aa33aSEmmanuel Vadot				clocks = <&mmcc MDSS_AHB_CLK>, <&rpmcc RPM_SMD_XO_CLK_SRC>;
1183b97ee269SEmmanuel Vadot				clock-names = "iface", "ref";
1184b97ee269SEmmanuel Vadot				status = "disabled";
1185b97ee269SEmmanuel Vadot			};
1186b97ee269SEmmanuel Vadot
1187aa1a8ff2SEmmanuel Vadot			mdss_hdmi: hdmi-tx@9a0000 {
1188aa1a8ff2SEmmanuel Vadot				compatible = "qcom,hdmi-tx-8996";
1189c66ec88fSEmmanuel Vadot				reg = <0x009a0000 0x50c>,
1190c66ec88fSEmmanuel Vadot				      <0x00070000 0x6158>,
1191c66ec88fSEmmanuel Vadot				      <0x009e0000 0xfff>;
1192c66ec88fSEmmanuel Vadot				reg-names = "core_physical",
1193c66ec88fSEmmanuel Vadot					    "qfprom_physical",
1194c66ec88fSEmmanuel Vadot					    "hdcp_physical";
1195c66ec88fSEmmanuel Vadot
1196c66ec88fSEmmanuel Vadot				interrupt-parent = <&mdss>;
1197d5b0e70fSEmmanuel Vadot				interrupts = <8>;
1198c66ec88fSEmmanuel Vadot
1199c66ec88fSEmmanuel Vadot				clocks = <&mmcc MDSS_MDP_CLK>,
1200c66ec88fSEmmanuel Vadot					 <&mmcc MDSS_AHB_CLK>,
1201c66ec88fSEmmanuel Vadot					 <&mmcc MDSS_HDMI_CLK>,
1202c66ec88fSEmmanuel Vadot					 <&mmcc MDSS_HDMI_AHB_CLK>,
1203c66ec88fSEmmanuel Vadot					 <&mmcc MDSS_EXTPCLK_CLK>;
1204c66ec88fSEmmanuel Vadot				clock-names =
1205c66ec88fSEmmanuel Vadot					"mdp_core",
1206c66ec88fSEmmanuel Vadot					"iface",
1207c66ec88fSEmmanuel Vadot					"core",
1208c66ec88fSEmmanuel Vadot					"alt_iface",
1209c66ec88fSEmmanuel Vadot					"extp";
1210c66ec88fSEmmanuel Vadot
1211f126890aSEmmanuel Vadot				phys = <&mdss_hdmi_phy>;
1212c66ec88fSEmmanuel Vadot				#sound-dai-cells = <1>;
1213c66ec88fSEmmanuel Vadot
1214354d7675SEmmanuel Vadot				status = "disabled";
1215354d7675SEmmanuel Vadot
1216c66ec88fSEmmanuel Vadot				ports {
1217c66ec88fSEmmanuel Vadot					#address-cells = <1>;
1218c66ec88fSEmmanuel Vadot					#size-cells = <0>;
1219c66ec88fSEmmanuel Vadot
1220c66ec88fSEmmanuel Vadot					port@0 {
1221c66ec88fSEmmanuel Vadot						reg = <0>;
1222f126890aSEmmanuel Vadot						mdss_hdmi_in: endpoint {
1223c66ec88fSEmmanuel Vadot							remote-endpoint = <&mdp5_intf3_out>;
1224c66ec88fSEmmanuel Vadot						};
1225c66ec88fSEmmanuel Vadot					};
1226c66ec88fSEmmanuel Vadot				};
1227c66ec88fSEmmanuel Vadot			};
1228c66ec88fSEmmanuel Vadot
1229f126890aSEmmanuel Vadot			mdss_hdmi_phy: phy@9a0600 {
1230c66ec88fSEmmanuel Vadot				#phy-cells = <0>;
1231aa1a8ff2SEmmanuel Vadot				compatible = "qcom,hdmi-phy-8996";
1232c66ec88fSEmmanuel Vadot				reg = <0x009a0600 0x1c4>,
1233c66ec88fSEmmanuel Vadot				      <0x009a0a00 0x124>,
1234c66ec88fSEmmanuel Vadot				      <0x009a0c00 0x124>,
1235c66ec88fSEmmanuel Vadot				      <0x009a0e00 0x124>,
1236c66ec88fSEmmanuel Vadot				      <0x009a1000 0x124>,
1237c66ec88fSEmmanuel Vadot				      <0x009a1200 0x0c8>;
1238c66ec88fSEmmanuel Vadot				reg-names = "hdmi_pll",
1239c66ec88fSEmmanuel Vadot					    "hdmi_tx_l0",
1240c66ec88fSEmmanuel Vadot					    "hdmi_tx_l1",
1241c66ec88fSEmmanuel Vadot					    "hdmi_tx_l2",
1242c66ec88fSEmmanuel Vadot					    "hdmi_tx_l3",
1243c66ec88fSEmmanuel Vadot					    "hdmi_phy";
1244c66ec88fSEmmanuel Vadot
1245c66ec88fSEmmanuel Vadot				clocks = <&mmcc MDSS_AHB_CLK>,
12467ef62cebSEmmanuel Vadot					 <&gcc GCC_HDMI_CLKREF_CLK>,
12477ef62cebSEmmanuel Vadot					 <&xo_board>;
1248c66ec88fSEmmanuel Vadot				clock-names = "iface",
12497ef62cebSEmmanuel Vadot					      "ref",
12507ef62cebSEmmanuel Vadot					      "xo";
12517ef62cebSEmmanuel Vadot
12527ef62cebSEmmanuel Vadot				#clock-cells = <0>;
1253354d7675SEmmanuel Vadot
1254354d7675SEmmanuel Vadot				status = "disabled";
1255c66ec88fSEmmanuel Vadot			};
1256c66ec88fSEmmanuel Vadot		};
12575956d97fSEmmanuel Vadot
12585956d97fSEmmanuel Vadot		gpu: gpu@b00000 {
1259c66ec88fSEmmanuel Vadot			compatible = "qcom,adreno-530.2", "qcom,adreno";
1260c66ec88fSEmmanuel Vadot
1261c66ec88fSEmmanuel Vadot			reg = <0x00b00000 0x3f000>;
1262c66ec88fSEmmanuel Vadot			reg-names = "kgsl_3d0_reg_memory";
1263c66ec88fSEmmanuel Vadot
1264aa1a8ff2SEmmanuel Vadot			interrupts = <GIC_SPI 300 IRQ_TYPE_LEVEL_HIGH>;
1265c66ec88fSEmmanuel Vadot
1266c66ec88fSEmmanuel Vadot			clocks = <&mmcc GPU_GX_GFX3D_CLK>,
1267c66ec88fSEmmanuel Vadot				<&mmcc GPU_AHB_CLK>,
1268c66ec88fSEmmanuel Vadot				<&mmcc GPU_GX_RBBMTIMER_CLK>,
1269c66ec88fSEmmanuel Vadot				<&gcc GCC_BIMC_GFX_CLK>,
1270c66ec88fSEmmanuel Vadot				<&gcc GCC_MMSS_BIMC_GFX_CLK>;
1271c66ec88fSEmmanuel Vadot
1272c66ec88fSEmmanuel Vadot			clock-names = "core",
1273c66ec88fSEmmanuel Vadot				"iface",
1274c66ec88fSEmmanuel Vadot				"rbbmtimer",
1275c66ec88fSEmmanuel Vadot				"mem",
1276c66ec88fSEmmanuel Vadot				"mem_iface";
1277c66ec88fSEmmanuel Vadot
1278b97ee269SEmmanuel Vadot			interconnects = <&bimc MASTER_GRAPHICS_3D &bimc SLAVE_EBI_CH0>;
1279b97ee269SEmmanuel Vadot			interconnect-names = "gfx-mem";
1280b97ee269SEmmanuel Vadot
1281c66ec88fSEmmanuel Vadot			power-domains = <&mmcc GPU_GX_GDSC>;
1282c66ec88fSEmmanuel Vadot			iommus = <&adreno_smmu 0>;
1283c66ec88fSEmmanuel Vadot
12845956d97fSEmmanuel Vadot			nvmem-cells = <&speedbin_efuse>;
1285c66ec88fSEmmanuel Vadot			nvmem-cell-names = "speed_bin";
1286c66ec88fSEmmanuel Vadot
1287c66ec88fSEmmanuel Vadot			operating-points-v2 = <&gpu_opp_table>;
1288c66ec88fSEmmanuel Vadot
12895956d97fSEmmanuel Vadot			status = "disabled";
12905956d97fSEmmanuel Vadot
1291354d7675SEmmanuel Vadot			#cooling-cells = <2>;
1292354d7675SEmmanuel Vadot
1293c66ec88fSEmmanuel Vadot			gpu_opp_table: opp-table {
1294c66ec88fSEmmanuel Vadot				compatible = "operating-points-v2";
1295c66ec88fSEmmanuel Vadot
1296c66ec88fSEmmanuel Vadot				/*
12978bab661aSEmmanuel Vadot				 * 624Mhz is only available on speed bins 0 and 3.
12988bab661aSEmmanuel Vadot				 * 560Mhz is only available on speed bins 0, 2 and 3.
12998bab661aSEmmanuel Vadot				 * All the rest are available on all bins of the hardware.
1300c66ec88fSEmmanuel Vadot				 */
1301c66ec88fSEmmanuel Vadot				opp-624000000 {
1302c66ec88fSEmmanuel Vadot					opp-hz = /bits/ 64 <624000000>;
13038bab661aSEmmanuel Vadot					opp-supported-hw = <0x09>;
1304c66ec88fSEmmanuel Vadot				};
1305c66ec88fSEmmanuel Vadot				opp-560000000 {
1306c66ec88fSEmmanuel Vadot					opp-hz = /bits/ 64 <560000000>;
13078bab661aSEmmanuel Vadot					opp-supported-hw = <0x0d>;
1308c66ec88fSEmmanuel Vadot				};
1309c66ec88fSEmmanuel Vadot				opp-510000000 {
1310c66ec88fSEmmanuel Vadot					opp-hz = /bits/ 64 <510000000>;
1311cb7aa33aSEmmanuel Vadot					opp-supported-hw = <0xff>;
1312c66ec88fSEmmanuel Vadot				};
1313c66ec88fSEmmanuel Vadot				opp-401800000 {
1314c66ec88fSEmmanuel Vadot					opp-hz = /bits/ 64 <401800000>;
1315cb7aa33aSEmmanuel Vadot					opp-supported-hw = <0xff>;
1316c66ec88fSEmmanuel Vadot				};
1317c66ec88fSEmmanuel Vadot				opp-315000000 {
1318c66ec88fSEmmanuel Vadot					opp-hz = /bits/ 64 <315000000>;
1319cb7aa33aSEmmanuel Vadot					opp-supported-hw = <0xff>;
1320c66ec88fSEmmanuel Vadot				};
1321c66ec88fSEmmanuel Vadot				opp-214000000 {
1322c66ec88fSEmmanuel Vadot					opp-hz = /bits/ 64 <214000000>;
1323cb7aa33aSEmmanuel Vadot					opp-supported-hw = <0xff>;
1324c66ec88fSEmmanuel Vadot				};
1325c66ec88fSEmmanuel Vadot				opp-133000000 {
1326c66ec88fSEmmanuel Vadot					opp-hz = /bits/ 64 <133000000>;
1327cb7aa33aSEmmanuel Vadot					opp-supported-hw = <0xff>;
1328c66ec88fSEmmanuel Vadot				};
1329c66ec88fSEmmanuel Vadot			};
1330c66ec88fSEmmanuel Vadot
1331c66ec88fSEmmanuel Vadot			zap-shader {
1332d5b0e70fSEmmanuel Vadot				memory-region = <&gpu_mem>;
1333c66ec88fSEmmanuel Vadot			};
1334c66ec88fSEmmanuel Vadot		};
1335c66ec88fSEmmanuel Vadot
13365956d97fSEmmanuel Vadot		tlmm: pinctrl@1010000 {
1337c66ec88fSEmmanuel Vadot			compatible = "qcom,msm8996-pinctrl";
1338c66ec88fSEmmanuel Vadot			reg = <0x01010000 0x300000>;
1339c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
1340c66ec88fSEmmanuel Vadot			gpio-controller;
13415956d97fSEmmanuel Vadot			gpio-ranges = <&tlmm 0 0 150>;
1342c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
1343c66ec88fSEmmanuel Vadot			interrupt-controller;
1344c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
13455956d97fSEmmanuel Vadot
13468bab661aSEmmanuel Vadot			blsp1_spi1_default: blsp1-spi1-default-state {
13478bab661aSEmmanuel Vadot				spi-pins {
13485956d97fSEmmanuel Vadot					pins = "gpio0", "gpio1", "gpio3";
13495956d97fSEmmanuel Vadot					function = "blsp_spi1";
13505956d97fSEmmanuel Vadot					drive-strength = <12>;
13515956d97fSEmmanuel Vadot					bias-disable;
13525956d97fSEmmanuel Vadot				};
13535956d97fSEmmanuel Vadot
13548bab661aSEmmanuel Vadot				cs-pins {
13555956d97fSEmmanuel Vadot					pins = "gpio2";
13565956d97fSEmmanuel Vadot					function = "gpio";
13575956d97fSEmmanuel Vadot					drive-strength = <16>;
13585956d97fSEmmanuel Vadot					bias-disable;
13595956d97fSEmmanuel Vadot					output-high;
13605956d97fSEmmanuel Vadot				};
13615956d97fSEmmanuel Vadot			};
13625956d97fSEmmanuel Vadot
13638bab661aSEmmanuel Vadot			blsp1_spi1_sleep: blsp1-spi1-sleep-state {
13645956d97fSEmmanuel Vadot				pins = "gpio0", "gpio1", "gpio2", "gpio3";
13655956d97fSEmmanuel Vadot				function = "gpio";
13665956d97fSEmmanuel Vadot				drive-strength = <2>;
13675956d97fSEmmanuel Vadot				bias-pull-down;
13685956d97fSEmmanuel Vadot			};
13695956d97fSEmmanuel Vadot
13708bab661aSEmmanuel Vadot			blsp2_uart2_2pins_default: blsp2-uart2-2pins-state {
13715956d97fSEmmanuel Vadot				pins = "gpio4", "gpio5";
13725956d97fSEmmanuel Vadot				function = "blsp_uart8";
13735956d97fSEmmanuel Vadot				drive-strength = <16>;
13745956d97fSEmmanuel Vadot				bias-disable;
13755956d97fSEmmanuel Vadot			};
13765956d97fSEmmanuel Vadot
13778bab661aSEmmanuel Vadot			blsp2_uart2_2pins_sleep: blsp2-uart2-2pins-sleep-state {
13785956d97fSEmmanuel Vadot				pins = "gpio4", "gpio5";
13795956d97fSEmmanuel Vadot				function = "gpio";
13805956d97fSEmmanuel Vadot				drive-strength = <2>;
13815956d97fSEmmanuel Vadot				bias-disable;
13825956d97fSEmmanuel Vadot			};
13835956d97fSEmmanuel Vadot
13848bab661aSEmmanuel Vadot			blsp2_i2c2_default: blsp2-i2c2-state {
13855956d97fSEmmanuel Vadot				pins = "gpio6", "gpio7";
13865956d97fSEmmanuel Vadot				function = "blsp_i2c8";
13875956d97fSEmmanuel Vadot				drive-strength = <16>;
13885956d97fSEmmanuel Vadot				bias-disable;
13895956d97fSEmmanuel Vadot			};
13905956d97fSEmmanuel Vadot
13918bab661aSEmmanuel Vadot			blsp2_i2c2_sleep: blsp2-i2c2-sleep-state {
13925956d97fSEmmanuel Vadot				pins = "gpio6", "gpio7";
13935956d97fSEmmanuel Vadot				function = "gpio";
13945956d97fSEmmanuel Vadot				drive-strength = <2>;
13955956d97fSEmmanuel Vadot				bias-disable;
13965956d97fSEmmanuel Vadot			};
13975956d97fSEmmanuel Vadot
13988bab661aSEmmanuel Vadot			blsp1_i2c6_default: blsp1-i2c6-state {
13998bab661aSEmmanuel Vadot				pins = "gpio27", "gpio28";
14008bab661aSEmmanuel Vadot				function = "blsp_i2c6";
14018bab661aSEmmanuel Vadot				drive-strength = <16>;
14028bab661aSEmmanuel Vadot				bias-disable;
14038bab661aSEmmanuel Vadot			};
14048bab661aSEmmanuel Vadot
14058bab661aSEmmanuel Vadot			blsp1_i2c6_sleep: blsp1-i2c6-sleep-state {
14068bab661aSEmmanuel Vadot				pins = "gpio27", "gpio28";
14078bab661aSEmmanuel Vadot				function = "gpio";
14088bab661aSEmmanuel Vadot				drive-strength = <2>;
14098bab661aSEmmanuel Vadot				bias-pull-up;
14108bab661aSEmmanuel Vadot			};
14118bab661aSEmmanuel Vadot
14128bab661aSEmmanuel Vadot			cci0_default: cci0-default-state {
14135956d97fSEmmanuel Vadot				pins = "gpio17", "gpio18";
14145956d97fSEmmanuel Vadot				function = "cci_i2c";
14155956d97fSEmmanuel Vadot				drive-strength = <16>;
14165956d97fSEmmanuel Vadot				bias-disable;
14175956d97fSEmmanuel Vadot			};
14185956d97fSEmmanuel Vadot
14195956d97fSEmmanuel Vadot			camera0_state_on:
14208bab661aSEmmanuel Vadot			camera_rear_default: camera-rear-default-state {
14218bab661aSEmmanuel Vadot				camera0_mclk: mclk0-pins {
14225956d97fSEmmanuel Vadot					pins = "gpio13";
14235956d97fSEmmanuel Vadot					function = "cam_mclk";
14245956d97fSEmmanuel Vadot					drive-strength = <16>;
14255956d97fSEmmanuel Vadot					bias-disable;
14265956d97fSEmmanuel Vadot				};
14275956d97fSEmmanuel Vadot
14288bab661aSEmmanuel Vadot				camera0_rst: rst-pins {
14295956d97fSEmmanuel Vadot					pins = "gpio25";
14305956d97fSEmmanuel Vadot					function = "gpio";
14315956d97fSEmmanuel Vadot					drive-strength = <16>;
14325956d97fSEmmanuel Vadot					bias-disable;
14335956d97fSEmmanuel Vadot				};
14345956d97fSEmmanuel Vadot
14358bab661aSEmmanuel Vadot				camera0_pwdn: pwdn-pins {
14365956d97fSEmmanuel Vadot					pins = "gpio26";
14375956d97fSEmmanuel Vadot					function = "gpio";
14385956d97fSEmmanuel Vadot					drive-strength = <16>;
14395956d97fSEmmanuel Vadot					bias-disable;
14405956d97fSEmmanuel Vadot				};
14415956d97fSEmmanuel Vadot			};
14425956d97fSEmmanuel Vadot
14438bab661aSEmmanuel Vadot			cci1_default: cci1-default-state {
14445956d97fSEmmanuel Vadot				pins = "gpio19", "gpio20";
14455956d97fSEmmanuel Vadot				function = "cci_i2c";
14465956d97fSEmmanuel Vadot				drive-strength = <16>;
14475956d97fSEmmanuel Vadot				bias-disable;
14485956d97fSEmmanuel Vadot			};
14495956d97fSEmmanuel Vadot
14505956d97fSEmmanuel Vadot			camera1_state_on:
14518bab661aSEmmanuel Vadot			camera_board_default: camera-board-default-state {
14528bab661aSEmmanuel Vadot				mclk1-pins {
14535956d97fSEmmanuel Vadot					pins = "gpio14";
14545956d97fSEmmanuel Vadot					function = "cam_mclk";
14555956d97fSEmmanuel Vadot					drive-strength = <16>;
14565956d97fSEmmanuel Vadot					bias-disable;
14575956d97fSEmmanuel Vadot				};
14585956d97fSEmmanuel Vadot
14598bab661aSEmmanuel Vadot				pwdn-pins {
14605956d97fSEmmanuel Vadot					pins = "gpio98";
14615956d97fSEmmanuel Vadot					function = "gpio";
14625956d97fSEmmanuel Vadot					drive-strength = <16>;
14635956d97fSEmmanuel Vadot					bias-disable;
14645956d97fSEmmanuel Vadot				};
14655956d97fSEmmanuel Vadot
14668bab661aSEmmanuel Vadot				rst-pins {
14675956d97fSEmmanuel Vadot					pins = "gpio104";
14685956d97fSEmmanuel Vadot					function = "gpio";
14695956d97fSEmmanuel Vadot					drive-strength = <16>;
14705956d97fSEmmanuel Vadot					bias-disable;
14715956d97fSEmmanuel Vadot				};
14725956d97fSEmmanuel Vadot			};
14735956d97fSEmmanuel Vadot
14745956d97fSEmmanuel Vadot			camera2_state_on:
14758bab661aSEmmanuel Vadot			camera_front_default: camera-front-default-state {
14768bab661aSEmmanuel Vadot				camera2_mclk: mclk2-pins {
14775956d97fSEmmanuel Vadot					pins = "gpio15";
14785956d97fSEmmanuel Vadot					function = "cam_mclk";
14795956d97fSEmmanuel Vadot					drive-strength = <16>;
14805956d97fSEmmanuel Vadot					bias-disable;
14815956d97fSEmmanuel Vadot				};
14825956d97fSEmmanuel Vadot
14838bab661aSEmmanuel Vadot				camera2_rst: rst-pins {
14845956d97fSEmmanuel Vadot					pins = "gpio23";
14855956d97fSEmmanuel Vadot					function = "gpio";
14865956d97fSEmmanuel Vadot					drive-strength = <16>;
14875956d97fSEmmanuel Vadot					bias-disable;
14885956d97fSEmmanuel Vadot				};
14895956d97fSEmmanuel Vadot
14908bab661aSEmmanuel Vadot				pwdn-pins {
14915956d97fSEmmanuel Vadot					pins = "gpio133";
14925956d97fSEmmanuel Vadot					function = "gpio";
14935956d97fSEmmanuel Vadot					drive-strength = <16>;
14945956d97fSEmmanuel Vadot					bias-disable;
14955956d97fSEmmanuel Vadot				};
14965956d97fSEmmanuel Vadot			};
14975956d97fSEmmanuel Vadot
14988bab661aSEmmanuel Vadot			pcie0_state_on: pcie0-state-on-state {
14998bab661aSEmmanuel Vadot				perst-pins {
15005956d97fSEmmanuel Vadot					pins = "gpio35";
15015956d97fSEmmanuel Vadot					function = "gpio";
15025956d97fSEmmanuel Vadot					drive-strength = <2>;
15035956d97fSEmmanuel Vadot					bias-pull-down;
15045956d97fSEmmanuel Vadot				};
15055956d97fSEmmanuel Vadot
15068bab661aSEmmanuel Vadot				clkreq-pins {
15075956d97fSEmmanuel Vadot					pins = "gpio36";
15085956d97fSEmmanuel Vadot					function = "pci_e0";
15095956d97fSEmmanuel Vadot					drive-strength = <2>;
15105956d97fSEmmanuel Vadot					bias-pull-up;
15115956d97fSEmmanuel Vadot				};
15125956d97fSEmmanuel Vadot
15138bab661aSEmmanuel Vadot				wake-pins {
15145956d97fSEmmanuel Vadot					pins = "gpio37";
15155956d97fSEmmanuel Vadot					function = "gpio";
15165956d97fSEmmanuel Vadot					drive-strength = <2>;
15175956d97fSEmmanuel Vadot					bias-pull-up;
15185956d97fSEmmanuel Vadot				};
15195956d97fSEmmanuel Vadot			};
15205956d97fSEmmanuel Vadot
15218bab661aSEmmanuel Vadot			pcie0_state_off: pcie0-state-off-state {
15228bab661aSEmmanuel Vadot				perst-pins {
15235956d97fSEmmanuel Vadot					pins = "gpio35";
15245956d97fSEmmanuel Vadot					function = "gpio";
15255956d97fSEmmanuel Vadot					drive-strength = <2>;
15265956d97fSEmmanuel Vadot					bias-pull-down;
15275956d97fSEmmanuel Vadot				};
15285956d97fSEmmanuel Vadot
15298bab661aSEmmanuel Vadot				clkreq-pins {
15305956d97fSEmmanuel Vadot					pins = "gpio36";
15315956d97fSEmmanuel Vadot					function = "gpio";
15325956d97fSEmmanuel Vadot					drive-strength = <2>;
15335956d97fSEmmanuel Vadot					bias-disable;
15345956d97fSEmmanuel Vadot				};
15355956d97fSEmmanuel Vadot
15368bab661aSEmmanuel Vadot				wake-pins {
15375956d97fSEmmanuel Vadot					pins = "gpio37";
15385956d97fSEmmanuel Vadot					function = "gpio";
15395956d97fSEmmanuel Vadot					drive-strength = <2>;
15405956d97fSEmmanuel Vadot					bias-disable;
15415956d97fSEmmanuel Vadot				};
15425956d97fSEmmanuel Vadot			};
15435956d97fSEmmanuel Vadot
15448bab661aSEmmanuel Vadot			blsp1_uart2_default: blsp1-uart2-default-state {
15458cc087a1SEmmanuel Vadot				pins = "gpio41", "gpio42", "gpio43", "gpio44";
15468cc087a1SEmmanuel Vadot				function = "blsp_uart2";
15478cc087a1SEmmanuel Vadot				drive-strength = <16>;
15488cc087a1SEmmanuel Vadot				bias-disable;
15498cc087a1SEmmanuel Vadot			};
15508cc087a1SEmmanuel Vadot
15518bab661aSEmmanuel Vadot			blsp1_uart2_sleep: blsp1-uart2-sleep-state {
15528cc087a1SEmmanuel Vadot				pins = "gpio41", "gpio42", "gpio43", "gpio44";
15538cc087a1SEmmanuel Vadot				function = "gpio";
15548cc087a1SEmmanuel Vadot				drive-strength = <2>;
15558cc087a1SEmmanuel Vadot				bias-disable;
15568cc087a1SEmmanuel Vadot			};
15578cc087a1SEmmanuel Vadot
15588bab661aSEmmanuel Vadot			blsp1_i2c3_default: blsp1-i2c3-default-state {
15595956d97fSEmmanuel Vadot				pins = "gpio47", "gpio48";
15605956d97fSEmmanuel Vadot				function = "blsp_i2c3";
15615956d97fSEmmanuel Vadot				drive-strength = <16>;
1562c9ccf3a3SEmmanuel Vadot				bias-disable;
15635956d97fSEmmanuel Vadot			};
15645956d97fSEmmanuel Vadot
15658bab661aSEmmanuel Vadot			blsp1_i2c3_sleep: blsp1-i2c3-sleep-state {
15665956d97fSEmmanuel Vadot				pins = "gpio47", "gpio48";
15675956d97fSEmmanuel Vadot				function = "gpio";
15685956d97fSEmmanuel Vadot				drive-strength = <2>;
1569c9ccf3a3SEmmanuel Vadot				bias-disable;
15705956d97fSEmmanuel Vadot			};
15715956d97fSEmmanuel Vadot
15728bab661aSEmmanuel Vadot			blsp2_uart3_4pins_default: blsp2-uart3-4pins-state {
15735956d97fSEmmanuel Vadot				pins = "gpio49", "gpio50", "gpio51", "gpio52";
15745956d97fSEmmanuel Vadot				function = "blsp_uart9";
15755956d97fSEmmanuel Vadot				drive-strength = <16>;
15765956d97fSEmmanuel Vadot				bias-disable;
15775956d97fSEmmanuel Vadot			};
15785956d97fSEmmanuel Vadot
15798bab661aSEmmanuel Vadot			blsp2_uart3_4pins_sleep: blsp2-uart3-4pins-sleep-state {
15805956d97fSEmmanuel Vadot				pins = "gpio49", "gpio50", "gpio51", "gpio52";
15815956d97fSEmmanuel Vadot				function = "blsp_uart9";
15825956d97fSEmmanuel Vadot				drive-strength = <2>;
15835956d97fSEmmanuel Vadot				bias-disable;
15845956d97fSEmmanuel Vadot			};
15855956d97fSEmmanuel Vadot
15868bab661aSEmmanuel Vadot			blsp2_i2c3_default: blsp2-i2c3-state-state {
15878cc087a1SEmmanuel Vadot				pins = "gpio51", "gpio52";
15888cc087a1SEmmanuel Vadot				function = "blsp_i2c9";
15898cc087a1SEmmanuel Vadot				drive-strength = <16>;
15908cc087a1SEmmanuel Vadot				bias-disable;
15918cc087a1SEmmanuel Vadot			};
15928cc087a1SEmmanuel Vadot
15938bab661aSEmmanuel Vadot			blsp2_i2c3_sleep: blsp2-i2c3-sleep-state {
15948cc087a1SEmmanuel Vadot				pins = "gpio51", "gpio52";
15958cc087a1SEmmanuel Vadot				function = "gpio";
15968cc087a1SEmmanuel Vadot				drive-strength = <2>;
15978cc087a1SEmmanuel Vadot				bias-disable;
15988cc087a1SEmmanuel Vadot			};
15998cc087a1SEmmanuel Vadot
16008bab661aSEmmanuel Vadot			wcd_intr_default: wcd-intr-default-state {
16015956d97fSEmmanuel Vadot				pins = "gpio54";
16025956d97fSEmmanuel Vadot				function = "gpio";
16035956d97fSEmmanuel Vadot				drive-strength = <2>;
16045956d97fSEmmanuel Vadot				bias-pull-down;
16055956d97fSEmmanuel Vadot			};
16065956d97fSEmmanuel Vadot
16078bab661aSEmmanuel Vadot			blsp2_i2c1_default: blsp2-i2c1-state {
16085956d97fSEmmanuel Vadot				pins = "gpio55", "gpio56";
16095956d97fSEmmanuel Vadot				function = "blsp_i2c7";
16105956d97fSEmmanuel Vadot				drive-strength = <16>;
16115956d97fSEmmanuel Vadot				bias-disable;
16125956d97fSEmmanuel Vadot			};
16135956d97fSEmmanuel Vadot
16148bab661aSEmmanuel Vadot			blsp2_i2c1_sleep: blsp2-i2c1-sleep-state {
16155956d97fSEmmanuel Vadot				pins = "gpio55", "gpio56";
16165956d97fSEmmanuel Vadot				function = "gpio";
16175956d97fSEmmanuel Vadot				drive-strength = <2>;
16185956d97fSEmmanuel Vadot				bias-disable;
16195956d97fSEmmanuel Vadot			};
16205956d97fSEmmanuel Vadot
16218bab661aSEmmanuel Vadot			blsp2_i2c5_default: blsp2-i2c5-state {
16225956d97fSEmmanuel Vadot				pins = "gpio60", "gpio61";
16235956d97fSEmmanuel Vadot				function = "blsp_i2c11";
16245956d97fSEmmanuel Vadot				drive-strength = <2>;
16255956d97fSEmmanuel Vadot				bias-disable;
16265956d97fSEmmanuel Vadot			};
16275956d97fSEmmanuel Vadot
16285956d97fSEmmanuel Vadot			/* Sleep state for BLSP2_I2C5 is missing.. */
16295956d97fSEmmanuel Vadot
16308bab661aSEmmanuel Vadot			cdc_reset_active: cdc-reset-active-state {
16315956d97fSEmmanuel Vadot				pins = "gpio64";
16325956d97fSEmmanuel Vadot				function = "gpio";
16335956d97fSEmmanuel Vadot				drive-strength = <16>;
16345956d97fSEmmanuel Vadot				bias-pull-down;
16355956d97fSEmmanuel Vadot				output-high;
16365956d97fSEmmanuel Vadot			};
16375956d97fSEmmanuel Vadot
16388bab661aSEmmanuel Vadot			cdc_reset_sleep: cdc-reset-sleep-state {
16395956d97fSEmmanuel Vadot				pins = "gpio64";
16405956d97fSEmmanuel Vadot				function = "gpio";
16415956d97fSEmmanuel Vadot				drive-strength = <16>;
16425956d97fSEmmanuel Vadot				bias-disable;
16435956d97fSEmmanuel Vadot				output-low;
16445956d97fSEmmanuel Vadot			};
16455956d97fSEmmanuel Vadot
16468bab661aSEmmanuel Vadot			blsp2_spi6_default: blsp2-spi6-default-state {
16478bab661aSEmmanuel Vadot				spi-pins {
16485956d97fSEmmanuel Vadot					pins = "gpio85", "gpio86", "gpio88";
16495956d97fSEmmanuel Vadot					function = "blsp_spi12";
16505956d97fSEmmanuel Vadot					drive-strength = <12>;
16515956d97fSEmmanuel Vadot					bias-disable;
16525956d97fSEmmanuel Vadot				};
16535956d97fSEmmanuel Vadot
16548bab661aSEmmanuel Vadot				cs-pins {
16555956d97fSEmmanuel Vadot					pins = "gpio87";
16565956d97fSEmmanuel Vadot					function = "gpio";
16575956d97fSEmmanuel Vadot					drive-strength = <16>;
16585956d97fSEmmanuel Vadot					bias-disable;
16595956d97fSEmmanuel Vadot					output-high;
16605956d97fSEmmanuel Vadot				};
16615956d97fSEmmanuel Vadot			};
16625956d97fSEmmanuel Vadot
16638bab661aSEmmanuel Vadot			blsp2_spi6_sleep: blsp2-spi6-sleep-state {
16645956d97fSEmmanuel Vadot				pins = "gpio85", "gpio86", "gpio87", "gpio88";
16655956d97fSEmmanuel Vadot				function = "gpio";
16665956d97fSEmmanuel Vadot				drive-strength = <2>;
16675956d97fSEmmanuel Vadot				bias-pull-down;
16685956d97fSEmmanuel Vadot			};
16695956d97fSEmmanuel Vadot
16708bab661aSEmmanuel Vadot			blsp2_i2c6_default: blsp2-i2c6-state {
16715956d97fSEmmanuel Vadot				pins = "gpio87", "gpio88";
16725956d97fSEmmanuel Vadot				function = "blsp_i2c12";
16735956d97fSEmmanuel Vadot				drive-strength = <16>;
16745956d97fSEmmanuel Vadot				bias-disable;
16755956d97fSEmmanuel Vadot			};
16765956d97fSEmmanuel Vadot
16778bab661aSEmmanuel Vadot			blsp2_i2c6_sleep: blsp2-i2c6-sleep-state {
16785956d97fSEmmanuel Vadot				pins = "gpio87", "gpio88";
16795956d97fSEmmanuel Vadot				function = "gpio";
16805956d97fSEmmanuel Vadot				drive-strength = <2>;
16815956d97fSEmmanuel Vadot				bias-disable;
16825956d97fSEmmanuel Vadot			};
16835956d97fSEmmanuel Vadot
16848bab661aSEmmanuel Vadot			pcie1_state_on: pcie1-on-state {
16858bab661aSEmmanuel Vadot				perst-pins {
16865956d97fSEmmanuel Vadot					pins = "gpio130";
16875956d97fSEmmanuel Vadot					function = "gpio";
16885956d97fSEmmanuel Vadot					drive-strength = <2>;
16895956d97fSEmmanuel Vadot					bias-pull-down;
16905956d97fSEmmanuel Vadot				};
16915956d97fSEmmanuel Vadot
16928bab661aSEmmanuel Vadot				clkreq-pins {
16935956d97fSEmmanuel Vadot					pins = "gpio131";
16945956d97fSEmmanuel Vadot					function = "pci_e1";
16955956d97fSEmmanuel Vadot					drive-strength = <2>;
16965956d97fSEmmanuel Vadot					bias-pull-up;
16975956d97fSEmmanuel Vadot				};
16985956d97fSEmmanuel Vadot
16998bab661aSEmmanuel Vadot				wake-pins {
17005956d97fSEmmanuel Vadot					pins = "gpio132";
17015956d97fSEmmanuel Vadot					function = "gpio";
17025956d97fSEmmanuel Vadot					drive-strength = <2>;
17035956d97fSEmmanuel Vadot					bias-pull-down;
17045956d97fSEmmanuel Vadot				};
17055956d97fSEmmanuel Vadot			};
17065956d97fSEmmanuel Vadot
17078bab661aSEmmanuel Vadot			pcie1_state_off: pcie1-off-state {
17085956d97fSEmmanuel Vadot				/* Perst is missing? */
17098bab661aSEmmanuel Vadot				clkreq-pins {
17105956d97fSEmmanuel Vadot					pins = "gpio131";
17115956d97fSEmmanuel Vadot					function = "gpio";
17125956d97fSEmmanuel Vadot					drive-strength = <2>;
17135956d97fSEmmanuel Vadot					bias-disable;
17145956d97fSEmmanuel Vadot				};
17155956d97fSEmmanuel Vadot
17168bab661aSEmmanuel Vadot				wake-pins {
17175956d97fSEmmanuel Vadot					pins = "gpio132";
17185956d97fSEmmanuel Vadot					function = "gpio";
17195956d97fSEmmanuel Vadot					drive-strength = <2>;
17205956d97fSEmmanuel Vadot					bias-disable;
17215956d97fSEmmanuel Vadot				};
17225956d97fSEmmanuel Vadot			};
17235956d97fSEmmanuel Vadot
17248bab661aSEmmanuel Vadot			pcie2_state_on: pcie2-on-state {
17258bab661aSEmmanuel Vadot				perst-pins {
17265956d97fSEmmanuel Vadot					pins = "gpio114";
17275956d97fSEmmanuel Vadot					function = "gpio";
17285956d97fSEmmanuel Vadot					drive-strength = <2>;
17295956d97fSEmmanuel Vadot					bias-pull-down;
17305956d97fSEmmanuel Vadot				};
17315956d97fSEmmanuel Vadot
17328bab661aSEmmanuel Vadot				clkreq-pins {
17335956d97fSEmmanuel Vadot					pins = "gpio115";
17345956d97fSEmmanuel Vadot					function = "pci_e2";
17355956d97fSEmmanuel Vadot					drive-strength = <2>;
17365956d97fSEmmanuel Vadot					bias-pull-up;
17375956d97fSEmmanuel Vadot				};
17385956d97fSEmmanuel Vadot
17398bab661aSEmmanuel Vadot				wake-pins {
17405956d97fSEmmanuel Vadot					pins = "gpio116";
17415956d97fSEmmanuel Vadot					function = "gpio";
17425956d97fSEmmanuel Vadot					drive-strength = <2>;
17435956d97fSEmmanuel Vadot					bias-pull-down;
17445956d97fSEmmanuel Vadot				};
17455956d97fSEmmanuel Vadot			};
17465956d97fSEmmanuel Vadot
17478bab661aSEmmanuel Vadot			pcie2_state_off: pcie2-off-state {
17485956d97fSEmmanuel Vadot				/* Perst is missing? */
17498bab661aSEmmanuel Vadot				clkreq-pins {
17505956d97fSEmmanuel Vadot					pins = "gpio115";
17515956d97fSEmmanuel Vadot					function = "gpio";
17525956d97fSEmmanuel Vadot					drive-strength = <2>;
17535956d97fSEmmanuel Vadot					bias-disable;
17545956d97fSEmmanuel Vadot				};
17555956d97fSEmmanuel Vadot
17568bab661aSEmmanuel Vadot				wake-pins {
17575956d97fSEmmanuel Vadot					pins = "gpio116";
17585956d97fSEmmanuel Vadot					function = "gpio";
17595956d97fSEmmanuel Vadot					drive-strength = <2>;
17605956d97fSEmmanuel Vadot					bias-disable;
17615956d97fSEmmanuel Vadot				};
17625956d97fSEmmanuel Vadot			};
17635956d97fSEmmanuel Vadot
17648bab661aSEmmanuel Vadot			sdc1_state_on: sdc1-on-state {
17658bab661aSEmmanuel Vadot				clk-pins {
17665956d97fSEmmanuel Vadot					pins = "sdc1_clk";
17675956d97fSEmmanuel Vadot					bias-disable;
17685956d97fSEmmanuel Vadot					drive-strength = <16>;
17695956d97fSEmmanuel Vadot				};
17705956d97fSEmmanuel Vadot
17718bab661aSEmmanuel Vadot				cmd-pins {
17725956d97fSEmmanuel Vadot					pins = "sdc1_cmd";
17735956d97fSEmmanuel Vadot					bias-pull-up;
17745956d97fSEmmanuel Vadot					drive-strength = <10>;
17755956d97fSEmmanuel Vadot				};
17765956d97fSEmmanuel Vadot
17778bab661aSEmmanuel Vadot				data-pins {
17785956d97fSEmmanuel Vadot					pins = "sdc1_data";
17795956d97fSEmmanuel Vadot					bias-pull-up;
17805956d97fSEmmanuel Vadot					drive-strength = <10>;
17815956d97fSEmmanuel Vadot				};
17825956d97fSEmmanuel Vadot
17838bab661aSEmmanuel Vadot				rclk-pins {
17845956d97fSEmmanuel Vadot					pins = "sdc1_rclk";
17855956d97fSEmmanuel Vadot					bias-pull-down;
17865956d97fSEmmanuel Vadot				};
17875956d97fSEmmanuel Vadot			};
17885956d97fSEmmanuel Vadot
17898bab661aSEmmanuel Vadot			sdc1_state_off: sdc1-off-state {
17908bab661aSEmmanuel Vadot				clk-pins {
17915956d97fSEmmanuel Vadot					pins = "sdc1_clk";
17925956d97fSEmmanuel Vadot					bias-disable;
17935956d97fSEmmanuel Vadot					drive-strength = <2>;
17945956d97fSEmmanuel Vadot				};
17955956d97fSEmmanuel Vadot
17968bab661aSEmmanuel Vadot				cmd-pins {
17975956d97fSEmmanuel Vadot					pins = "sdc1_cmd";
17985956d97fSEmmanuel Vadot					bias-pull-up;
17995956d97fSEmmanuel Vadot					drive-strength = <2>;
18005956d97fSEmmanuel Vadot				};
18015956d97fSEmmanuel Vadot
18028bab661aSEmmanuel Vadot				data-pins {
18035956d97fSEmmanuel Vadot					pins = "sdc1_data";
18045956d97fSEmmanuel Vadot					bias-pull-up;
18055956d97fSEmmanuel Vadot					drive-strength = <2>;
18065956d97fSEmmanuel Vadot				};
18075956d97fSEmmanuel Vadot
18088bab661aSEmmanuel Vadot				rclk-pins {
18095956d97fSEmmanuel Vadot					pins = "sdc1_rclk";
18105956d97fSEmmanuel Vadot					bias-pull-down;
18115956d97fSEmmanuel Vadot				};
18125956d97fSEmmanuel Vadot			};
18135956d97fSEmmanuel Vadot
18148bab661aSEmmanuel Vadot			sdc2_state_on: sdc2-on-state {
18158bab661aSEmmanuel Vadot				clk-pins {
18165956d97fSEmmanuel Vadot					pins = "sdc2_clk";
18175956d97fSEmmanuel Vadot					bias-disable;
18185956d97fSEmmanuel Vadot					drive-strength = <16>;
18195956d97fSEmmanuel Vadot				};
18205956d97fSEmmanuel Vadot
18218bab661aSEmmanuel Vadot				cmd-pins {
18225956d97fSEmmanuel Vadot					pins = "sdc2_cmd";
18235956d97fSEmmanuel Vadot					bias-pull-up;
18245956d97fSEmmanuel Vadot					drive-strength = <10>;
18255956d97fSEmmanuel Vadot				};
18265956d97fSEmmanuel Vadot
18278bab661aSEmmanuel Vadot				data-pins {
18285956d97fSEmmanuel Vadot					pins = "sdc2_data";
18295956d97fSEmmanuel Vadot					bias-pull-up;
18305956d97fSEmmanuel Vadot					drive-strength = <10>;
18315956d97fSEmmanuel Vadot				};
18325956d97fSEmmanuel Vadot			};
18335956d97fSEmmanuel Vadot
18348bab661aSEmmanuel Vadot			sdc2_state_off: sdc2-off-state {
18358bab661aSEmmanuel Vadot				clk-pins {
18365956d97fSEmmanuel Vadot					pins = "sdc2_clk";
18375956d97fSEmmanuel Vadot					bias-disable;
18385956d97fSEmmanuel Vadot					drive-strength = <2>;
18395956d97fSEmmanuel Vadot				};
18405956d97fSEmmanuel Vadot
18418bab661aSEmmanuel Vadot				cmd-pins {
18425956d97fSEmmanuel Vadot					pins = "sdc2_cmd";
18435956d97fSEmmanuel Vadot					bias-pull-up;
18445956d97fSEmmanuel Vadot					drive-strength = <2>;
18455956d97fSEmmanuel Vadot				};
18465956d97fSEmmanuel Vadot
18478bab661aSEmmanuel Vadot				data-pins {
18485956d97fSEmmanuel Vadot					pins = "sdc2_data";
18495956d97fSEmmanuel Vadot					bias-pull-up;
18505956d97fSEmmanuel Vadot					drive-strength = <2>;
18515956d97fSEmmanuel Vadot				};
18525956d97fSEmmanuel Vadot			};
1853c66ec88fSEmmanuel Vadot		};
1854c66ec88fSEmmanuel Vadot
18558cc087a1SEmmanuel Vadot		sram@290000 {
18568cc087a1SEmmanuel Vadot			compatible = "qcom,rpm-stats";
18578cc087a1SEmmanuel Vadot			reg = <0x00290000 0x10000>;
18588cc087a1SEmmanuel Vadot		};
18598cc087a1SEmmanuel Vadot
1860c9ccf3a3SEmmanuel Vadot		spmi_bus: spmi@400f000 {
1861c66ec88fSEmmanuel Vadot			compatible = "qcom,spmi-pmic-arb";
1862c66ec88fSEmmanuel Vadot			reg = <0x0400f000 0x1000>,
1863c66ec88fSEmmanuel Vadot			      <0x04400000 0x800000>,
1864c66ec88fSEmmanuel Vadot			      <0x04c00000 0x800000>,
1865c66ec88fSEmmanuel Vadot			      <0x05800000 0x200000>,
1866c66ec88fSEmmanuel Vadot			      <0x0400a000 0x002100>;
1867c66ec88fSEmmanuel Vadot			reg-names = "core", "chnls", "obsrvr", "intr", "cnfg";
1868c66ec88fSEmmanuel Vadot			interrupt-names = "periph_irq";
1869c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH>;
1870c66ec88fSEmmanuel Vadot			qcom,ee = <0>;
1871c66ec88fSEmmanuel Vadot			qcom,channel = <0>;
1872c66ec88fSEmmanuel Vadot			#address-cells = <2>;
1873c66ec88fSEmmanuel Vadot			#size-cells = <0>;
1874c66ec88fSEmmanuel Vadot			interrupt-controller;
1875c66ec88fSEmmanuel Vadot			#interrupt-cells = <4>;
1876c66ec88fSEmmanuel Vadot		};
1877c66ec88fSEmmanuel Vadot
1878cb7aa33aSEmmanuel Vadot		bus@0 {
1879c66ec88fSEmmanuel Vadot			power-domains = <&gcc AGGRE0_NOC_GDSC>;
1880c66ec88fSEmmanuel Vadot			compatible = "simple-pm-bus";
1881c66ec88fSEmmanuel Vadot			#address-cells = <1>;
1882c66ec88fSEmmanuel Vadot			#size-cells = <1>;
1883f126890aSEmmanuel Vadot			ranges = <0x0 0x0 0xffffffff>;
1884c66ec88fSEmmanuel Vadot
1885c66ec88fSEmmanuel Vadot			pcie0: pcie@600000 {
1886d5b0e70fSEmmanuel Vadot				compatible = "qcom,pcie-msm8996";
1887c66ec88fSEmmanuel Vadot				status = "disabled";
1888c66ec88fSEmmanuel Vadot				power-domains = <&gcc PCIE0_GDSC>;
1889c66ec88fSEmmanuel Vadot				bus-range = <0x00 0xff>;
1890c66ec88fSEmmanuel Vadot				num-lanes = <1>;
1891c66ec88fSEmmanuel Vadot
1892c66ec88fSEmmanuel Vadot				reg = <0x00600000 0x2000>,
1893c66ec88fSEmmanuel Vadot				      <0x0c000000 0xf1d>,
1894c66ec88fSEmmanuel Vadot				      <0x0c000f20 0xa8>,
1895c66ec88fSEmmanuel Vadot				      <0x0c100000 0x100000>;
1896c66ec88fSEmmanuel Vadot				reg-names = "parf", "dbi", "elbi","config";
1897c66ec88fSEmmanuel Vadot
1898c66ec88fSEmmanuel Vadot				phys = <&pciephy_0>;
1899c66ec88fSEmmanuel Vadot				phy-names = "pciephy";
1900c66ec88fSEmmanuel Vadot
1901c66ec88fSEmmanuel Vadot				#address-cells = <3>;
1902c66ec88fSEmmanuel Vadot				#size-cells = <2>;
1903fac71e4eSEmmanuel Vadot				ranges = <0x01000000 0x0 0x00000000 0x0c200000 0x0 0x100000>,
1904c66ec88fSEmmanuel Vadot					 <0x02000000 0x0 0x0c300000 0x0c300000 0x0 0xd00000>;
1905c66ec88fSEmmanuel Vadot
19065def4c47SEmmanuel Vadot				device_type = "pci";
19075def4c47SEmmanuel Vadot
1908c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 405 IRQ_TYPE_LEVEL_HIGH>;
1909c66ec88fSEmmanuel Vadot				interrupt-names = "msi";
1910c66ec88fSEmmanuel Vadot				#interrupt-cells = <1>;
1911c66ec88fSEmmanuel Vadot				interrupt-map-mask = <0 0 0 0x7>;
1912c66ec88fSEmmanuel Vadot				interrupt-map = <0 0 0 1 &intc 0 244 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
1913c66ec88fSEmmanuel Vadot						<0 0 0 2 &intc 0 245 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
1914c66ec88fSEmmanuel Vadot						<0 0 0 3 &intc 0 247 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
1915c66ec88fSEmmanuel Vadot						<0 0 0 4 &intc 0 248 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
1916c66ec88fSEmmanuel Vadot
1917c66ec88fSEmmanuel Vadot				pinctrl-names = "default", "sleep";
19185956d97fSEmmanuel Vadot				pinctrl-0 = <&pcie0_state_on>;
19195956d97fSEmmanuel Vadot				pinctrl-1 = <&pcie0_state_off>;
1920c66ec88fSEmmanuel Vadot
1921c66ec88fSEmmanuel Vadot				linux,pci-domain = <0>;
1922c66ec88fSEmmanuel Vadot
1923c66ec88fSEmmanuel Vadot				clocks = <&gcc GCC_PCIE_0_PIPE_CLK>,
1924c66ec88fSEmmanuel Vadot					<&gcc GCC_PCIE_0_AUX_CLK>,
1925c66ec88fSEmmanuel Vadot					<&gcc GCC_PCIE_0_CFG_AHB_CLK>,
1926c66ec88fSEmmanuel Vadot					<&gcc GCC_PCIE_0_MSTR_AXI_CLK>,
1927c66ec88fSEmmanuel Vadot					<&gcc GCC_PCIE_0_SLV_AXI_CLK>;
1928c66ec88fSEmmanuel Vadot
1929c66ec88fSEmmanuel Vadot				clock-names = "pipe",
1930c66ec88fSEmmanuel Vadot						"aux",
1931c66ec88fSEmmanuel Vadot						"cfg",
1932c66ec88fSEmmanuel Vadot						"bus_master",
1933c66ec88fSEmmanuel Vadot						"bus_slave";
19347d0873ebSEmmanuel Vadot
19357d0873ebSEmmanuel Vadot				pcie@0 {
19367d0873ebSEmmanuel Vadot					device_type = "pci";
19377d0873ebSEmmanuel Vadot					reg = <0x0 0x0 0x0 0x0 0x0>;
19387d0873ebSEmmanuel Vadot					bus-range = <0x01 0xff>;
19397d0873ebSEmmanuel Vadot
19407d0873ebSEmmanuel Vadot					#address-cells = <3>;
19417d0873ebSEmmanuel Vadot					#size-cells = <2>;
19427d0873ebSEmmanuel Vadot					ranges;
19437d0873ebSEmmanuel Vadot				};
1944c66ec88fSEmmanuel Vadot			};
1945c66ec88fSEmmanuel Vadot
1946c66ec88fSEmmanuel Vadot			pcie1: pcie@608000 {
1947d5b0e70fSEmmanuel Vadot				compatible = "qcom,pcie-msm8996";
1948c66ec88fSEmmanuel Vadot				power-domains = <&gcc PCIE1_GDSC>;
1949c66ec88fSEmmanuel Vadot				bus-range = <0x00 0xff>;
1950c66ec88fSEmmanuel Vadot				num-lanes = <1>;
1951c66ec88fSEmmanuel Vadot
1952c66ec88fSEmmanuel Vadot				status = "disabled";
1953c66ec88fSEmmanuel Vadot
1954c66ec88fSEmmanuel Vadot				reg = <0x00608000 0x2000>,
1955c66ec88fSEmmanuel Vadot				      <0x0d000000 0xf1d>,
1956c66ec88fSEmmanuel Vadot				      <0x0d000f20 0xa8>,
1957c66ec88fSEmmanuel Vadot				      <0x0d100000 0x100000>;
1958c66ec88fSEmmanuel Vadot
1959c66ec88fSEmmanuel Vadot				reg-names = "parf", "dbi", "elbi","config";
1960c66ec88fSEmmanuel Vadot
1961c66ec88fSEmmanuel Vadot				phys = <&pciephy_1>;
1962c66ec88fSEmmanuel Vadot				phy-names = "pciephy";
1963c66ec88fSEmmanuel Vadot
1964c66ec88fSEmmanuel Vadot				#address-cells = <3>;
1965c66ec88fSEmmanuel Vadot				#size-cells = <2>;
1966fac71e4eSEmmanuel Vadot				ranges = <0x01000000 0x0 0x00000000 0x0d200000 0x0 0x100000>,
1967c66ec88fSEmmanuel Vadot					 <0x02000000 0x0 0x0d300000 0x0d300000 0x0 0xd00000>;
1968c66ec88fSEmmanuel Vadot
19695def4c47SEmmanuel Vadot				device_type = "pci";
19705def4c47SEmmanuel Vadot
1971c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 413 IRQ_TYPE_LEVEL_HIGH>;
1972c66ec88fSEmmanuel Vadot				interrupt-names = "msi";
1973c66ec88fSEmmanuel Vadot				#interrupt-cells = <1>;
1974c66ec88fSEmmanuel Vadot				interrupt-map-mask = <0 0 0 0x7>;
1975c66ec88fSEmmanuel Vadot				interrupt-map = <0 0 0 1 &intc 0 272 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
1976c66ec88fSEmmanuel Vadot						<0 0 0 2 &intc 0 273 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
1977c66ec88fSEmmanuel Vadot						<0 0 0 3 &intc 0 274 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
1978c66ec88fSEmmanuel Vadot						<0 0 0 4 &intc 0 275 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
1979c66ec88fSEmmanuel Vadot
1980c66ec88fSEmmanuel Vadot				pinctrl-names = "default", "sleep";
19815956d97fSEmmanuel Vadot				pinctrl-0 = <&pcie1_state_on>;
19825956d97fSEmmanuel Vadot				pinctrl-1 = <&pcie1_state_off>;
1983c66ec88fSEmmanuel Vadot
1984c66ec88fSEmmanuel Vadot				linux,pci-domain = <1>;
1985c66ec88fSEmmanuel Vadot
1986c66ec88fSEmmanuel Vadot				clocks = <&gcc GCC_PCIE_1_PIPE_CLK>,
1987c66ec88fSEmmanuel Vadot					<&gcc GCC_PCIE_1_AUX_CLK>,
1988c66ec88fSEmmanuel Vadot					<&gcc GCC_PCIE_1_CFG_AHB_CLK>,
1989c66ec88fSEmmanuel Vadot					<&gcc GCC_PCIE_1_MSTR_AXI_CLK>,
1990c66ec88fSEmmanuel Vadot					<&gcc GCC_PCIE_1_SLV_AXI_CLK>;
1991c66ec88fSEmmanuel Vadot
1992c66ec88fSEmmanuel Vadot				clock-names = "pipe",
1993c66ec88fSEmmanuel Vadot						"aux",
1994c66ec88fSEmmanuel Vadot						"cfg",
1995c66ec88fSEmmanuel Vadot						"bus_master",
1996c66ec88fSEmmanuel Vadot						"bus_slave";
19977d0873ebSEmmanuel Vadot
19987d0873ebSEmmanuel Vadot				pcie@0 {
19997d0873ebSEmmanuel Vadot					device_type = "pci";
20007d0873ebSEmmanuel Vadot					reg = <0x0 0x0 0x0 0x0 0x0>;
20017d0873ebSEmmanuel Vadot					bus-range = <0x01 0xff>;
20027d0873ebSEmmanuel Vadot
20037d0873ebSEmmanuel Vadot					#address-cells = <3>;
20047d0873ebSEmmanuel Vadot					#size-cells = <2>;
20057d0873ebSEmmanuel Vadot					ranges;
20067d0873ebSEmmanuel Vadot				};
2007c66ec88fSEmmanuel Vadot			};
2008c66ec88fSEmmanuel Vadot
2009c66ec88fSEmmanuel Vadot			pcie2: pcie@610000 {
2010d5b0e70fSEmmanuel Vadot				compatible = "qcom,pcie-msm8996";
2011c66ec88fSEmmanuel Vadot				power-domains = <&gcc PCIE2_GDSC>;
2012c66ec88fSEmmanuel Vadot				bus-range = <0x00 0xff>;
2013c66ec88fSEmmanuel Vadot				num-lanes = <1>;
2014c66ec88fSEmmanuel Vadot				status = "disabled";
2015c66ec88fSEmmanuel Vadot				reg = <0x00610000 0x2000>,
2016c66ec88fSEmmanuel Vadot				      <0x0e000000 0xf1d>,
2017c66ec88fSEmmanuel Vadot				      <0x0e000f20 0xa8>,
2018c66ec88fSEmmanuel Vadot				      <0x0e100000 0x100000>;
2019c66ec88fSEmmanuel Vadot
2020c66ec88fSEmmanuel Vadot				reg-names = "parf", "dbi", "elbi","config";
2021c66ec88fSEmmanuel Vadot
2022c66ec88fSEmmanuel Vadot				phys = <&pciephy_2>;
2023c66ec88fSEmmanuel Vadot				phy-names = "pciephy";
2024c66ec88fSEmmanuel Vadot
2025c66ec88fSEmmanuel Vadot				#address-cells = <3>;
2026c66ec88fSEmmanuel Vadot				#size-cells = <2>;
2027fac71e4eSEmmanuel Vadot				ranges = <0x01000000 0x0 0x00000000 0x0e200000 0x0 0x100000>,
2028c66ec88fSEmmanuel Vadot					 <0x02000000 0x0 0x0e300000 0x0e300000 0x0 0x1d00000>;
2029c66ec88fSEmmanuel Vadot
2030c66ec88fSEmmanuel Vadot				device_type = "pci";
2031c66ec88fSEmmanuel Vadot
2032c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 421 IRQ_TYPE_LEVEL_HIGH>;
2033c66ec88fSEmmanuel Vadot				interrupt-names = "msi";
2034c66ec88fSEmmanuel Vadot				#interrupt-cells = <1>;
2035c66ec88fSEmmanuel Vadot				interrupt-map-mask = <0 0 0 0x7>;
2036c66ec88fSEmmanuel Vadot				interrupt-map = <0 0 0 1 &intc 0 142 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
2037c66ec88fSEmmanuel Vadot						<0 0 0 2 &intc 0 143 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
2038c66ec88fSEmmanuel Vadot						<0 0 0 3 &intc 0 144 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
2039c66ec88fSEmmanuel Vadot						<0 0 0 4 &intc 0 145 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
2040c66ec88fSEmmanuel Vadot
2041c66ec88fSEmmanuel Vadot				pinctrl-names = "default", "sleep";
20425956d97fSEmmanuel Vadot				pinctrl-0 = <&pcie2_state_on>;
20435956d97fSEmmanuel Vadot				pinctrl-1 = <&pcie2_state_off>;
2044c66ec88fSEmmanuel Vadot
2045c66ec88fSEmmanuel Vadot				linux,pci-domain = <2>;
2046c66ec88fSEmmanuel Vadot				clocks = <&gcc GCC_PCIE_2_PIPE_CLK>,
2047c66ec88fSEmmanuel Vadot					<&gcc GCC_PCIE_2_AUX_CLK>,
2048c66ec88fSEmmanuel Vadot					<&gcc GCC_PCIE_2_CFG_AHB_CLK>,
2049c66ec88fSEmmanuel Vadot					<&gcc GCC_PCIE_2_MSTR_AXI_CLK>,
2050c66ec88fSEmmanuel Vadot					<&gcc GCC_PCIE_2_SLV_AXI_CLK>;
2051c66ec88fSEmmanuel Vadot
2052c66ec88fSEmmanuel Vadot				clock-names = "pipe",
2053c66ec88fSEmmanuel Vadot						"aux",
2054c66ec88fSEmmanuel Vadot						"cfg",
2055c66ec88fSEmmanuel Vadot						"bus_master",
2056c66ec88fSEmmanuel Vadot						"bus_slave";
20577d0873ebSEmmanuel Vadot
20587d0873ebSEmmanuel Vadot				pcie@0 {
20597d0873ebSEmmanuel Vadot					device_type = "pci";
20607d0873ebSEmmanuel Vadot					reg = <0x0 0x0 0x0 0x0 0x0>;
20617d0873ebSEmmanuel Vadot					bus-range = <0x01 0xff>;
20627d0873ebSEmmanuel Vadot
20637d0873ebSEmmanuel Vadot					#address-cells = <3>;
20647d0873ebSEmmanuel Vadot					#size-cells = <2>;
20657d0873ebSEmmanuel Vadot					ranges;
20667d0873ebSEmmanuel Vadot				};
2067c66ec88fSEmmanuel Vadot			};
2068c66ec88fSEmmanuel Vadot		};
2069c66ec88fSEmmanuel Vadot
2070c66ec88fSEmmanuel Vadot		ufshc: ufshc@624000 {
2071d5b0e70fSEmmanuel Vadot			compatible = "qcom,msm8996-ufshc", "qcom,ufshc",
2072d5b0e70fSEmmanuel Vadot				     "jedec,ufs-2.0";
2073c66ec88fSEmmanuel Vadot			reg = <0x00624000 0x2500>;
2074c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH>;
2075c66ec88fSEmmanuel Vadot
20768d13bc63SEmmanuel Vadot			phys = <&ufsphy>;
2077c66ec88fSEmmanuel Vadot			phy-names = "ufsphy";
2078c66ec88fSEmmanuel Vadot
2079c66ec88fSEmmanuel Vadot			power-domains = <&gcc UFS_GDSC>;
2080c66ec88fSEmmanuel Vadot
2081c66ec88fSEmmanuel Vadot			clock-names =
2082c66ec88fSEmmanuel Vadot				"core_clk",
2083c66ec88fSEmmanuel Vadot				"bus_clk",
2084c66ec88fSEmmanuel Vadot				"bus_aggr_clk",
2085c66ec88fSEmmanuel Vadot				"iface_clk",
2086c66ec88fSEmmanuel Vadot				"core_clk_unipro",
2087c66ec88fSEmmanuel Vadot				"core_clk_ice",
2088c66ec88fSEmmanuel Vadot				"ref_clk",
2089c66ec88fSEmmanuel Vadot				"tx_lane0_sync_clk",
2090c66ec88fSEmmanuel Vadot				"rx_lane0_sync_clk";
2091c66ec88fSEmmanuel Vadot			clocks =
2092c66ec88fSEmmanuel Vadot				<&gcc GCC_UFS_AXI_CLK>,
2093c66ec88fSEmmanuel Vadot				<&gcc GCC_SYS_NOC_UFS_AXI_CLK>,
2094c66ec88fSEmmanuel Vadot				<&gcc GCC_AGGRE2_UFS_AXI_CLK>,
2095c66ec88fSEmmanuel Vadot				<&gcc GCC_UFS_AHB_CLK>,
2096c66ec88fSEmmanuel Vadot				<&gcc GCC_UFS_UNIPRO_CORE_CLK>,
2097c66ec88fSEmmanuel Vadot				<&gcc GCC_UFS_ICE_CORE_CLK>,
2098c66ec88fSEmmanuel Vadot				<&rpmcc RPM_SMD_LN_BB_CLK>,
2099c66ec88fSEmmanuel Vadot				<&gcc GCC_UFS_TX_SYMBOL_0_CLK>,
2100c66ec88fSEmmanuel Vadot				<&gcc GCC_UFS_RX_SYMBOL_0_CLK>;
2101c66ec88fSEmmanuel Vadot			freq-table-hz =
2102c66ec88fSEmmanuel Vadot				<100000000 200000000>,
2103c66ec88fSEmmanuel Vadot				<0 0>,
2104c66ec88fSEmmanuel Vadot				<0 0>,
2105c66ec88fSEmmanuel Vadot				<0 0>,
210601950c46SEmmanuel Vadot				<75000000 150000000>,
21070e8011faSEmmanuel Vadot				<150000000 300000000>,
2108c66ec88fSEmmanuel Vadot				<0 0>,
2109c66ec88fSEmmanuel Vadot				<0 0>,
2110c66ec88fSEmmanuel Vadot				<0 0>;
2111c66ec88fSEmmanuel Vadot
2112cb7aa33aSEmmanuel Vadot			interconnects = <&a2noc MASTER_UFS &bimc SLAVE_EBI_CH0>,
2113cb7aa33aSEmmanuel Vadot					<&bimc MASTER_AMPSS_M0 &cnoc SLAVE_UFS_CFG>;
2114cb7aa33aSEmmanuel Vadot			interconnect-names = "ufs-ddr", "cpu-ufs";
2115cb7aa33aSEmmanuel Vadot
2116c66ec88fSEmmanuel Vadot			lanes-per-direction = <1>;
2117c66ec88fSEmmanuel Vadot			#reset-cells = <1>;
2118c66ec88fSEmmanuel Vadot			status = "disabled";
2119c66ec88fSEmmanuel Vadot		};
2120c66ec88fSEmmanuel Vadot
2121c66ec88fSEmmanuel Vadot		ufsphy: phy@627000 {
2122c66ec88fSEmmanuel Vadot			compatible = "qcom,msm8996-qmp-ufs-phy";
21238d13bc63SEmmanuel Vadot			reg = <0x00627000 0x1000>;
2124c66ec88fSEmmanuel Vadot
212501950c46SEmmanuel Vadot			clocks = <&rpmcc RPM_SMD_LN_BB_CLK>, <&gcc GCC_UFS_CLKREF_CLK>;
212601950c46SEmmanuel Vadot			clock-names = "ref", "qref";
2127c66ec88fSEmmanuel Vadot
2128c66ec88fSEmmanuel Vadot			resets = <&ufshc 0>;
2129c66ec88fSEmmanuel Vadot			reset-names = "ufsphy";
2130c66ec88fSEmmanuel Vadot
2131cb7aa33aSEmmanuel Vadot			#clock-cells = <1>;
2132c66ec88fSEmmanuel Vadot			#phy-cells = <0>;
21338d13bc63SEmmanuel Vadot
21348d13bc63SEmmanuel Vadot			status = "disabled";
2135c66ec88fSEmmanuel Vadot		};
2136c66ec88fSEmmanuel Vadot
2137f126890aSEmmanuel Vadot		camss: camss@a34000 {
2138c66ec88fSEmmanuel Vadot			compatible = "qcom,msm8996-camss";
2139c66ec88fSEmmanuel Vadot			reg = <0x00a34000 0x1000>,
2140c66ec88fSEmmanuel Vadot			      <0x00a00030 0x4>,
2141c66ec88fSEmmanuel Vadot			      <0x00a35000 0x1000>,
2142c66ec88fSEmmanuel Vadot			      <0x00a00038 0x4>,
2143c66ec88fSEmmanuel Vadot			      <0x00a36000 0x1000>,
2144c66ec88fSEmmanuel Vadot			      <0x00a00040 0x4>,
2145c66ec88fSEmmanuel Vadot			      <0x00a30000 0x100>,
2146c66ec88fSEmmanuel Vadot			      <0x00a30400 0x100>,
2147c66ec88fSEmmanuel Vadot			      <0x00a30800 0x100>,
2148c66ec88fSEmmanuel Vadot			      <0x00a30c00 0x100>,
2149c66ec88fSEmmanuel Vadot			      <0x00a31000 0x500>,
2150c66ec88fSEmmanuel Vadot			      <0x00a00020 0x10>,
2151c66ec88fSEmmanuel Vadot			      <0x00a10000 0x1000>,
2152c66ec88fSEmmanuel Vadot			      <0x00a14000 0x1000>;
2153c66ec88fSEmmanuel Vadot			reg-names = "csiphy0",
2154c66ec88fSEmmanuel Vadot				"csiphy0_clk_mux",
2155c66ec88fSEmmanuel Vadot				"csiphy1",
2156c66ec88fSEmmanuel Vadot				"csiphy1_clk_mux",
2157c66ec88fSEmmanuel Vadot				"csiphy2",
2158c66ec88fSEmmanuel Vadot				"csiphy2_clk_mux",
2159c66ec88fSEmmanuel Vadot				"csid0",
2160c66ec88fSEmmanuel Vadot				"csid1",
2161c66ec88fSEmmanuel Vadot				"csid2",
2162c66ec88fSEmmanuel Vadot				"csid3",
2163c66ec88fSEmmanuel Vadot				"ispif",
2164c66ec88fSEmmanuel Vadot				"csi_clk_mux",
2165c66ec88fSEmmanuel Vadot				"vfe0",
2166c66ec88fSEmmanuel Vadot				"vfe1";
2167c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 78 IRQ_TYPE_EDGE_RISING>,
2168c66ec88fSEmmanuel Vadot				<GIC_SPI 79 IRQ_TYPE_EDGE_RISING>,
2169c66ec88fSEmmanuel Vadot				<GIC_SPI 80 IRQ_TYPE_EDGE_RISING>,
2170c66ec88fSEmmanuel Vadot				<GIC_SPI 296 IRQ_TYPE_EDGE_RISING>,
2171c66ec88fSEmmanuel Vadot				<GIC_SPI 297 IRQ_TYPE_EDGE_RISING>,
2172c66ec88fSEmmanuel Vadot				<GIC_SPI 298 IRQ_TYPE_EDGE_RISING>,
2173c66ec88fSEmmanuel Vadot				<GIC_SPI 299 IRQ_TYPE_EDGE_RISING>,
2174c66ec88fSEmmanuel Vadot				<GIC_SPI 309 IRQ_TYPE_EDGE_RISING>,
2175c66ec88fSEmmanuel Vadot				<GIC_SPI 314 IRQ_TYPE_EDGE_RISING>,
2176c66ec88fSEmmanuel Vadot				<GIC_SPI 315 IRQ_TYPE_EDGE_RISING>;
2177c66ec88fSEmmanuel Vadot			interrupt-names = "csiphy0",
2178c66ec88fSEmmanuel Vadot				"csiphy1",
2179c66ec88fSEmmanuel Vadot				"csiphy2",
2180c66ec88fSEmmanuel Vadot				"csid0",
2181c66ec88fSEmmanuel Vadot				"csid1",
2182c66ec88fSEmmanuel Vadot				"csid2",
2183c66ec88fSEmmanuel Vadot				"csid3",
2184c66ec88fSEmmanuel Vadot				"ispif",
2185c66ec88fSEmmanuel Vadot				"vfe0",
2186c66ec88fSEmmanuel Vadot				"vfe1";
21876be33864SEmmanuel Vadot			power-domains = <&mmcc VFE0_GDSC>,
21886be33864SEmmanuel Vadot					<&mmcc VFE1_GDSC>;
2189c66ec88fSEmmanuel Vadot			clocks = <&mmcc CAMSS_TOP_AHB_CLK>,
2190c66ec88fSEmmanuel Vadot				<&mmcc CAMSS_ISPIF_AHB_CLK>,
2191c66ec88fSEmmanuel Vadot				<&mmcc CAMSS_CSI0PHYTIMER_CLK>,
2192c66ec88fSEmmanuel Vadot				<&mmcc CAMSS_CSI1PHYTIMER_CLK>,
2193c66ec88fSEmmanuel Vadot				<&mmcc CAMSS_CSI2PHYTIMER_CLK>,
2194c66ec88fSEmmanuel Vadot				<&mmcc CAMSS_CSI0_AHB_CLK>,
2195c66ec88fSEmmanuel Vadot				<&mmcc CAMSS_CSI0_CLK>,
2196c66ec88fSEmmanuel Vadot				<&mmcc CAMSS_CSI0PHY_CLK>,
2197c66ec88fSEmmanuel Vadot				<&mmcc CAMSS_CSI0PIX_CLK>,
2198c66ec88fSEmmanuel Vadot				<&mmcc CAMSS_CSI0RDI_CLK>,
2199c66ec88fSEmmanuel Vadot				<&mmcc CAMSS_CSI1_AHB_CLK>,
2200c66ec88fSEmmanuel Vadot				<&mmcc CAMSS_CSI1_CLK>,
2201c66ec88fSEmmanuel Vadot				<&mmcc CAMSS_CSI1PHY_CLK>,
2202c66ec88fSEmmanuel Vadot				<&mmcc CAMSS_CSI1PIX_CLK>,
2203c66ec88fSEmmanuel Vadot				<&mmcc CAMSS_CSI1RDI_CLK>,
2204c66ec88fSEmmanuel Vadot				<&mmcc CAMSS_CSI2_AHB_CLK>,
2205c66ec88fSEmmanuel Vadot				<&mmcc CAMSS_CSI2_CLK>,
2206c66ec88fSEmmanuel Vadot				<&mmcc CAMSS_CSI2PHY_CLK>,
2207c66ec88fSEmmanuel Vadot				<&mmcc CAMSS_CSI2PIX_CLK>,
2208c66ec88fSEmmanuel Vadot				<&mmcc CAMSS_CSI2RDI_CLK>,
2209c66ec88fSEmmanuel Vadot				<&mmcc CAMSS_CSI3_AHB_CLK>,
2210c66ec88fSEmmanuel Vadot				<&mmcc CAMSS_CSI3_CLK>,
2211c66ec88fSEmmanuel Vadot				<&mmcc CAMSS_CSI3PHY_CLK>,
2212c66ec88fSEmmanuel Vadot				<&mmcc CAMSS_CSI3PIX_CLK>,
2213c66ec88fSEmmanuel Vadot				<&mmcc CAMSS_CSI3RDI_CLK>,
2214c66ec88fSEmmanuel Vadot				<&mmcc CAMSS_AHB_CLK>,
2215c66ec88fSEmmanuel Vadot				<&mmcc CAMSS_VFE0_CLK>,
2216c66ec88fSEmmanuel Vadot				<&mmcc CAMSS_CSI_VFE0_CLK>,
2217c66ec88fSEmmanuel Vadot				<&mmcc CAMSS_VFE0_AHB_CLK>,
2218c66ec88fSEmmanuel Vadot				<&mmcc CAMSS_VFE0_STREAM_CLK>,
2219c66ec88fSEmmanuel Vadot				<&mmcc CAMSS_VFE1_CLK>,
2220c66ec88fSEmmanuel Vadot				<&mmcc CAMSS_CSI_VFE1_CLK>,
2221c66ec88fSEmmanuel Vadot				<&mmcc CAMSS_VFE1_AHB_CLK>,
2222c66ec88fSEmmanuel Vadot				<&mmcc CAMSS_VFE1_STREAM_CLK>,
2223c66ec88fSEmmanuel Vadot				<&mmcc CAMSS_VFE_AHB_CLK>,
2224c66ec88fSEmmanuel Vadot				<&mmcc CAMSS_VFE_AXI_CLK>;
2225c66ec88fSEmmanuel Vadot			clock-names = "top_ahb",
2226c66ec88fSEmmanuel Vadot				"ispif_ahb",
2227c66ec88fSEmmanuel Vadot				"csiphy0_timer",
2228c66ec88fSEmmanuel Vadot				"csiphy1_timer",
2229c66ec88fSEmmanuel Vadot				"csiphy2_timer",
2230c66ec88fSEmmanuel Vadot				"csi0_ahb",
2231c66ec88fSEmmanuel Vadot				"csi0",
2232c66ec88fSEmmanuel Vadot				"csi0_phy",
2233c66ec88fSEmmanuel Vadot				"csi0_pix",
2234c66ec88fSEmmanuel Vadot				"csi0_rdi",
2235c66ec88fSEmmanuel Vadot				"csi1_ahb",
2236c66ec88fSEmmanuel Vadot				"csi1",
2237c66ec88fSEmmanuel Vadot				"csi1_phy",
2238c66ec88fSEmmanuel Vadot				"csi1_pix",
2239c66ec88fSEmmanuel Vadot				"csi1_rdi",
2240c66ec88fSEmmanuel Vadot				"csi2_ahb",
2241c66ec88fSEmmanuel Vadot				"csi2",
2242c66ec88fSEmmanuel Vadot				"csi2_phy",
2243c66ec88fSEmmanuel Vadot				"csi2_pix",
2244c66ec88fSEmmanuel Vadot				"csi2_rdi",
2245c66ec88fSEmmanuel Vadot				"csi3_ahb",
2246c66ec88fSEmmanuel Vadot				"csi3",
2247c66ec88fSEmmanuel Vadot				"csi3_phy",
2248c66ec88fSEmmanuel Vadot				"csi3_pix",
2249c66ec88fSEmmanuel Vadot				"csi3_rdi",
2250c66ec88fSEmmanuel Vadot				"ahb",
2251c66ec88fSEmmanuel Vadot				"vfe0",
2252c66ec88fSEmmanuel Vadot				"csi_vfe0",
2253c66ec88fSEmmanuel Vadot				"vfe0_ahb",
2254c66ec88fSEmmanuel Vadot				"vfe0_stream",
2255c66ec88fSEmmanuel Vadot				"vfe1",
2256c66ec88fSEmmanuel Vadot				"csi_vfe1",
2257c66ec88fSEmmanuel Vadot				"vfe1_ahb",
2258c66ec88fSEmmanuel Vadot				"vfe1_stream",
2259c66ec88fSEmmanuel Vadot				"vfe_ahb",
2260c66ec88fSEmmanuel Vadot				"vfe_axi";
2261c66ec88fSEmmanuel Vadot			iommus = <&vfe_smmu 0>,
2262c66ec88fSEmmanuel Vadot				 <&vfe_smmu 1>,
2263c66ec88fSEmmanuel Vadot				 <&vfe_smmu 2>,
2264c66ec88fSEmmanuel Vadot				 <&vfe_smmu 3>;
2265c66ec88fSEmmanuel Vadot			status = "disabled";
2266c66ec88fSEmmanuel Vadot			ports {
2267c66ec88fSEmmanuel Vadot				#address-cells = <1>;
2268c66ec88fSEmmanuel Vadot				#size-cells = <0>;
2269c66ec88fSEmmanuel Vadot			};
2270c66ec88fSEmmanuel Vadot		};
2271c66ec88fSEmmanuel Vadot
2272c66ec88fSEmmanuel Vadot		cci: cci@a0c000 {
2273c66ec88fSEmmanuel Vadot			compatible = "qcom,msm8996-cci";
2274c66ec88fSEmmanuel Vadot			#address-cells = <1>;
2275c66ec88fSEmmanuel Vadot			#size-cells = <0>;
2276c66ec88fSEmmanuel Vadot			reg = <0xa0c000 0x1000>;
2277c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 295 IRQ_TYPE_EDGE_RISING>;
2278c66ec88fSEmmanuel Vadot			power-domains = <&mmcc CAMSS_GDSC>;
2279c66ec88fSEmmanuel Vadot			clocks = <&mmcc CAMSS_TOP_AHB_CLK>,
2280c66ec88fSEmmanuel Vadot				 <&mmcc CAMSS_CCI_AHB_CLK>,
2281c66ec88fSEmmanuel Vadot				 <&mmcc CAMSS_CCI_CLK>,
2282c66ec88fSEmmanuel Vadot				 <&mmcc CAMSS_AHB_CLK>;
2283c66ec88fSEmmanuel Vadot			clock-names = "camss_top_ahb",
2284c66ec88fSEmmanuel Vadot				      "cci_ahb",
2285c66ec88fSEmmanuel Vadot				      "cci",
2286c66ec88fSEmmanuel Vadot				      "camss_ahb";
2287c66ec88fSEmmanuel Vadot			assigned-clocks = <&mmcc CAMSS_CCI_AHB_CLK>,
2288c66ec88fSEmmanuel Vadot					  <&mmcc CAMSS_CCI_CLK>;
2289c66ec88fSEmmanuel Vadot			assigned-clock-rates = <80000000>, <37500000>;
2290c66ec88fSEmmanuel Vadot			pinctrl-names = "default";
2291c66ec88fSEmmanuel Vadot			pinctrl-0 = <&cci0_default &cci1_default>;
2292c66ec88fSEmmanuel Vadot			status = "disabled";
2293c66ec88fSEmmanuel Vadot
2294c66ec88fSEmmanuel Vadot			cci_i2c0: i2c-bus@0 {
2295c66ec88fSEmmanuel Vadot				reg = <0>;
2296c66ec88fSEmmanuel Vadot				clock-frequency = <400000>;
2297c66ec88fSEmmanuel Vadot				#address-cells = <1>;
2298c66ec88fSEmmanuel Vadot				#size-cells = <0>;
2299c66ec88fSEmmanuel Vadot			};
2300c66ec88fSEmmanuel Vadot
2301c66ec88fSEmmanuel Vadot			cci_i2c1: i2c-bus@1 {
2302c66ec88fSEmmanuel Vadot				reg = <1>;
2303c66ec88fSEmmanuel Vadot				clock-frequency = <400000>;
2304c66ec88fSEmmanuel Vadot				#address-cells = <1>;
2305c66ec88fSEmmanuel Vadot				#size-cells = <0>;
2306c66ec88fSEmmanuel Vadot			};
2307c66ec88fSEmmanuel Vadot		};
2308c66ec88fSEmmanuel Vadot
2309c66ec88fSEmmanuel Vadot		adreno_smmu: iommu@b40000 {
23105956d97fSEmmanuel Vadot			compatible = "qcom,msm8996-smmu-v2", "qcom,adreno-smmu", "qcom,smmu-v2";
2311c66ec88fSEmmanuel Vadot			reg = <0x00b40000 0x10000>;
2312c66ec88fSEmmanuel Vadot
2313c66ec88fSEmmanuel Vadot			#global-interrupts = <1>;
2314c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 334 IRQ_TYPE_LEVEL_HIGH>,
2315c66ec88fSEmmanuel Vadot				     <GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH>,
2316c66ec88fSEmmanuel Vadot				     <GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH>;
2317c66ec88fSEmmanuel Vadot			#iommu-cells = <1>;
2318c66ec88fSEmmanuel Vadot
23198bab661aSEmmanuel Vadot			clocks = <&gcc GCC_MMSS_BIMC_GFX_CLK>,
23208bab661aSEmmanuel Vadot				 <&mmcc GPU_AHB_CLK>;
23218bab661aSEmmanuel Vadot			clock-names = "bus", "iface";
2322c66ec88fSEmmanuel Vadot
2323c66ec88fSEmmanuel Vadot			power-domains = <&mmcc GPU_GDSC>;
2324c66ec88fSEmmanuel Vadot		};
2325c66ec88fSEmmanuel Vadot
23265956d97fSEmmanuel Vadot		venus: video-codec@c00000 {
2327c66ec88fSEmmanuel Vadot			compatible = "qcom,msm8996-venus";
2328c66ec88fSEmmanuel Vadot			reg = <0x00c00000 0xff000>;
2329c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH>;
2330c66ec88fSEmmanuel Vadot			power-domains = <&mmcc VENUS_GDSC>;
2331c66ec88fSEmmanuel Vadot			clocks = <&mmcc VIDEO_CORE_CLK>,
2332c66ec88fSEmmanuel Vadot				 <&mmcc VIDEO_AHB_CLK>,
2333c66ec88fSEmmanuel Vadot				 <&mmcc VIDEO_AXI_CLK>,
2334c66ec88fSEmmanuel Vadot				 <&mmcc VIDEO_MAXI_CLK>;
2335c66ec88fSEmmanuel Vadot			clock-names = "core", "iface", "bus", "mbus";
2336b97ee269SEmmanuel Vadot			interconnects = <&mnoc MASTER_VIDEO_P0 &bimc SLAVE_EBI_CH0>,
2337b97ee269SEmmanuel Vadot					<&bimc MASTER_AMPSS_M0 &mnoc SLAVE_VENUS_CFG>;
2338b97ee269SEmmanuel Vadot			interconnect-names = "video-mem", "cpu-cfg";
2339c66ec88fSEmmanuel Vadot			iommus = <&venus_smmu 0x00>,
2340c66ec88fSEmmanuel Vadot				 <&venus_smmu 0x01>,
2341c66ec88fSEmmanuel Vadot				 <&venus_smmu 0x0a>,
2342c66ec88fSEmmanuel Vadot				 <&venus_smmu 0x07>,
2343c66ec88fSEmmanuel Vadot				 <&venus_smmu 0x0e>,
2344c66ec88fSEmmanuel Vadot				 <&venus_smmu 0x0f>,
2345c66ec88fSEmmanuel Vadot				 <&venus_smmu 0x08>,
2346c66ec88fSEmmanuel Vadot				 <&venus_smmu 0x09>,
2347c66ec88fSEmmanuel Vadot				 <&venus_smmu 0x0b>,
2348c66ec88fSEmmanuel Vadot				 <&venus_smmu 0x0c>,
2349c66ec88fSEmmanuel Vadot				 <&venus_smmu 0x0d>,
2350c66ec88fSEmmanuel Vadot				 <&venus_smmu 0x10>,
2351c66ec88fSEmmanuel Vadot				 <&venus_smmu 0x11>,
2352c66ec88fSEmmanuel Vadot				 <&venus_smmu 0x21>,
2353c66ec88fSEmmanuel Vadot				 <&venus_smmu 0x28>,
2354c66ec88fSEmmanuel Vadot				 <&venus_smmu 0x29>,
2355c66ec88fSEmmanuel Vadot				 <&venus_smmu 0x2b>,
2356c66ec88fSEmmanuel Vadot				 <&venus_smmu 0x2c>,
2357c66ec88fSEmmanuel Vadot				 <&venus_smmu 0x2d>,
2358c66ec88fSEmmanuel Vadot				 <&venus_smmu 0x31>;
2359d5b0e70fSEmmanuel Vadot			memory-region = <&venus_mem>;
23605956d97fSEmmanuel Vadot			status = "disabled";
2361c66ec88fSEmmanuel Vadot
2362c66ec88fSEmmanuel Vadot			video-decoder {
2363c66ec88fSEmmanuel Vadot				compatible = "venus-decoder";
2364c66ec88fSEmmanuel Vadot				clocks = <&mmcc VIDEO_SUBCORE0_CLK>;
2365c66ec88fSEmmanuel Vadot				clock-names = "core";
2366c66ec88fSEmmanuel Vadot				power-domains = <&mmcc VENUS_CORE0_GDSC>;
2367c66ec88fSEmmanuel Vadot			};
2368c66ec88fSEmmanuel Vadot
2369c66ec88fSEmmanuel Vadot			video-encoder {
2370c66ec88fSEmmanuel Vadot				compatible = "venus-encoder";
2371c66ec88fSEmmanuel Vadot				clocks = <&mmcc VIDEO_SUBCORE1_CLK>;
2372c66ec88fSEmmanuel Vadot				clock-names = "core";
2373c66ec88fSEmmanuel Vadot				power-domains = <&mmcc VENUS_CORE1_GDSC>;
2374c66ec88fSEmmanuel Vadot			};
2375c66ec88fSEmmanuel Vadot		};
2376c66ec88fSEmmanuel Vadot
2377c66ec88fSEmmanuel Vadot		mdp_smmu: iommu@d00000 {
2378c66ec88fSEmmanuel Vadot			compatible = "qcom,msm8996-smmu-v2", "qcom,smmu-v2";
2379c66ec88fSEmmanuel Vadot			reg = <0x00d00000 0x10000>;
2380c66ec88fSEmmanuel Vadot
2381c66ec88fSEmmanuel Vadot			#global-interrupts = <1>;
2382c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>,
2383c66ec88fSEmmanuel Vadot				     <GIC_SPI 320 IRQ_TYPE_LEVEL_HIGH>,
2384c66ec88fSEmmanuel Vadot				     <GIC_SPI 321 IRQ_TYPE_LEVEL_HIGH>;
2385c66ec88fSEmmanuel Vadot			#iommu-cells = <1>;
23868bab661aSEmmanuel Vadot			clocks = <&mmcc SMMU_MDP_AXI_CLK>,
23878bab661aSEmmanuel Vadot				 <&mmcc SMMU_MDP_AHB_CLK>;
23888bab661aSEmmanuel Vadot			clock-names = "bus", "iface";
2389c66ec88fSEmmanuel Vadot
2390c66ec88fSEmmanuel Vadot			power-domains = <&mmcc MDSS_GDSC>;
2391c66ec88fSEmmanuel Vadot		};
2392c66ec88fSEmmanuel Vadot
2393c66ec88fSEmmanuel Vadot		venus_smmu: iommu@d40000 {
2394c66ec88fSEmmanuel Vadot			compatible = "qcom,msm8996-smmu-v2", "qcom,smmu-v2";
2395c66ec88fSEmmanuel Vadot			reg = <0x00d40000 0x20000>;
2396c66ec88fSEmmanuel Vadot			#global-interrupts = <1>;
2397c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 286 IRQ_TYPE_LEVEL_HIGH>,
2398c66ec88fSEmmanuel Vadot				     <GIC_SPI 335 IRQ_TYPE_LEVEL_HIGH>,
2399c66ec88fSEmmanuel Vadot				     <GIC_SPI 336 IRQ_TYPE_LEVEL_HIGH>,
2400c66ec88fSEmmanuel Vadot				     <GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH>,
2401c66ec88fSEmmanuel Vadot				     <GIC_SPI 338 IRQ_TYPE_LEVEL_HIGH>,
2402c66ec88fSEmmanuel Vadot				     <GIC_SPI 339 IRQ_TYPE_LEVEL_HIGH>,
2403c66ec88fSEmmanuel Vadot				     <GIC_SPI 340 IRQ_TYPE_LEVEL_HIGH>,
2404c66ec88fSEmmanuel Vadot				     <GIC_SPI 341 IRQ_TYPE_LEVEL_HIGH>;
2405c66ec88fSEmmanuel Vadot			power-domains = <&mmcc MMAGIC_VIDEO_GDSC>;
24068bab661aSEmmanuel Vadot			clocks = <&mmcc SMMU_VIDEO_AXI_CLK>,
24078bab661aSEmmanuel Vadot				 <&mmcc SMMU_VIDEO_AHB_CLK>;
24088bab661aSEmmanuel Vadot			clock-names = "bus", "iface";
2409c66ec88fSEmmanuel Vadot			#iommu-cells = <1>;
2410c66ec88fSEmmanuel Vadot			status = "okay";
2411c66ec88fSEmmanuel Vadot		};
2412c66ec88fSEmmanuel Vadot
2413c66ec88fSEmmanuel Vadot		vfe_smmu: iommu@da0000 {
2414c66ec88fSEmmanuel Vadot			compatible = "qcom,msm8996-smmu-v2", "qcom,smmu-v2";
2415c66ec88fSEmmanuel Vadot			reg = <0x00da0000 0x10000>;
2416c66ec88fSEmmanuel Vadot
2417c66ec88fSEmmanuel Vadot			#global-interrupts = <1>;
2418c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>,
2419c66ec88fSEmmanuel Vadot				     <GIC_SPI 343 IRQ_TYPE_LEVEL_HIGH>,
2420c66ec88fSEmmanuel Vadot				     <GIC_SPI 344 IRQ_TYPE_LEVEL_HIGH>;
2421c66ec88fSEmmanuel Vadot			power-domains = <&mmcc MMAGIC_CAMSS_GDSC>;
24228bab661aSEmmanuel Vadot			clocks = <&mmcc SMMU_VFE_AXI_CLK>,
24238bab661aSEmmanuel Vadot				 <&mmcc SMMU_VFE_AHB_CLK>;
24248bab661aSEmmanuel Vadot			clock-names = "bus", "iface";
2425c66ec88fSEmmanuel Vadot			#iommu-cells = <1>;
2426c66ec88fSEmmanuel Vadot		};
2427c66ec88fSEmmanuel Vadot
2428c66ec88fSEmmanuel Vadot		lpass_q6_smmu: iommu@1600000 {
2429c66ec88fSEmmanuel Vadot			compatible = "qcom,msm8996-smmu-v2", "qcom,smmu-v2";
2430c66ec88fSEmmanuel Vadot			reg = <0x01600000 0x20000>;
2431c66ec88fSEmmanuel Vadot			#iommu-cells = <1>;
2432c66ec88fSEmmanuel Vadot			power-domains = <&gcc HLOS1_VOTE_LPASS_CORE_GDSC>;
2433c66ec88fSEmmanuel Vadot
2434c66ec88fSEmmanuel Vadot			#global-interrupts = <1>;
2435c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 404 IRQ_TYPE_LEVEL_HIGH>,
2436c66ec88fSEmmanuel Vadot		                <GIC_SPI 226 IRQ_TYPE_LEVEL_HIGH>,
2437c66ec88fSEmmanuel Vadot		                <GIC_SPI 393 IRQ_TYPE_LEVEL_HIGH>,
2438c66ec88fSEmmanuel Vadot		                <GIC_SPI 394 IRQ_TYPE_LEVEL_HIGH>,
2439c66ec88fSEmmanuel Vadot		                <GIC_SPI 395 IRQ_TYPE_LEVEL_HIGH>,
2440c66ec88fSEmmanuel Vadot		                <GIC_SPI 396 IRQ_TYPE_LEVEL_HIGH>,
2441c66ec88fSEmmanuel Vadot		                <GIC_SPI 397 IRQ_TYPE_LEVEL_HIGH>,
2442c66ec88fSEmmanuel Vadot		                <GIC_SPI 398 IRQ_TYPE_LEVEL_HIGH>,
2443c66ec88fSEmmanuel Vadot		                <GIC_SPI 399 IRQ_TYPE_LEVEL_HIGH>,
2444c66ec88fSEmmanuel Vadot		                <GIC_SPI 400 IRQ_TYPE_LEVEL_HIGH>,
2445c66ec88fSEmmanuel Vadot		                <GIC_SPI 401 IRQ_TYPE_LEVEL_HIGH>,
2446c66ec88fSEmmanuel Vadot		                <GIC_SPI 402 IRQ_TYPE_LEVEL_HIGH>,
2447c66ec88fSEmmanuel Vadot		                <GIC_SPI 403 IRQ_TYPE_LEVEL_HIGH>;
2448c66ec88fSEmmanuel Vadot
24498bab661aSEmmanuel Vadot			clocks = <&gcc GCC_HLOS1_VOTE_LPASS_ADSP_SMMU_CLK>,
24508bab661aSEmmanuel Vadot				 <&gcc GCC_HLOS1_VOTE_LPASS_CORE_SMMU_CLK>;
24518bab661aSEmmanuel Vadot			clock-names = "bus", "iface";
2452c66ec88fSEmmanuel Vadot		};
2453c66ec88fSEmmanuel Vadot
2454d5b0e70fSEmmanuel Vadot		slpi_pil: remoteproc@1c00000 {
2455d5b0e70fSEmmanuel Vadot			compatible = "qcom,msm8996-slpi-pil";
2456d5b0e70fSEmmanuel Vadot			reg = <0x01c00000 0x4000>;
2457d5b0e70fSEmmanuel Vadot
2458d5b0e70fSEmmanuel Vadot			interrupts-extended = <&intc 0 390 IRQ_TYPE_EDGE_RISING>,
2459d5b0e70fSEmmanuel Vadot					      <&slpi_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
2460d5b0e70fSEmmanuel Vadot					      <&slpi_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
2461d5b0e70fSEmmanuel Vadot					      <&slpi_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
2462d5b0e70fSEmmanuel Vadot					      <&slpi_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
2463d5b0e70fSEmmanuel Vadot			interrupt-names = "wdog",
2464d5b0e70fSEmmanuel Vadot					  "fatal",
2465d5b0e70fSEmmanuel Vadot					  "ready",
2466d5b0e70fSEmmanuel Vadot					  "handover",
2467d5b0e70fSEmmanuel Vadot					  "stop-ack";
2468d5b0e70fSEmmanuel Vadot
24698d13bc63SEmmanuel Vadot			clocks = <&xo_board>;
24708d13bc63SEmmanuel Vadot			clock-names = "xo";
2471d5b0e70fSEmmanuel Vadot
2472d5b0e70fSEmmanuel Vadot			memory-region = <&slpi_mem>;
2473d5b0e70fSEmmanuel Vadot
2474d5b0e70fSEmmanuel Vadot			qcom,smem-states = <&slpi_smp2p_out 0>;
2475d5b0e70fSEmmanuel Vadot			qcom,smem-state-names = "stop";
2476d5b0e70fSEmmanuel Vadot
2477d5b0e70fSEmmanuel Vadot			power-domains = <&rpmpd MSM8996_VDDSSCX>;
2478d5b0e70fSEmmanuel Vadot			power-domain-names = "ssc_cx";
2479d5b0e70fSEmmanuel Vadot
2480d5b0e70fSEmmanuel Vadot			status = "disabled";
2481d5b0e70fSEmmanuel Vadot
24820e8011faSEmmanuel Vadot			glink-edge {
24830e8011faSEmmanuel Vadot				interrupts = <GIC_SPI 179 IRQ_TYPE_EDGE_RISING>;
24840e8011faSEmmanuel Vadot				label = "dsps";
24850e8011faSEmmanuel Vadot				qcom,remote-pid = <3>;
24860e8011faSEmmanuel Vadot				mboxes = <&apcs_glb 27>;
24870e8011faSEmmanuel Vadot			};
24880e8011faSEmmanuel Vadot
2489d5b0e70fSEmmanuel Vadot			smd-edge {
2490d5b0e70fSEmmanuel Vadot				interrupts = <GIC_SPI 176 IRQ_TYPE_EDGE_RISING>;
2491d5b0e70fSEmmanuel Vadot
2492d5b0e70fSEmmanuel Vadot				label = "dsps";
2493d5b0e70fSEmmanuel Vadot				mboxes = <&apcs_glb 25>;
2494d5b0e70fSEmmanuel Vadot				qcom,smd-edge = <3>;
2495d5b0e70fSEmmanuel Vadot				qcom,remote-pid = <3>;
2496d5b0e70fSEmmanuel Vadot			};
2497d5b0e70fSEmmanuel Vadot		};
2498d5b0e70fSEmmanuel Vadot
2499d5b0e70fSEmmanuel Vadot		mss_pil: remoteproc@2080000 {
2500d5b0e70fSEmmanuel Vadot			compatible = "qcom,msm8996-mss-pil";
2501d5b0e70fSEmmanuel Vadot			reg = <0x2080000 0x100>,
2502d5b0e70fSEmmanuel Vadot			      <0x2180000 0x020>;
2503d5b0e70fSEmmanuel Vadot			reg-names = "qdsp6", "rmb";
2504d5b0e70fSEmmanuel Vadot
2505d5b0e70fSEmmanuel Vadot			interrupts-extended = <&intc 0 448 IRQ_TYPE_EDGE_RISING>,
2506d5b0e70fSEmmanuel Vadot					      <&mpss_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
2507d5b0e70fSEmmanuel Vadot					      <&mpss_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
2508d5b0e70fSEmmanuel Vadot					      <&mpss_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
2509d5b0e70fSEmmanuel Vadot					      <&mpss_smp2p_in 3 IRQ_TYPE_EDGE_RISING>,
2510d5b0e70fSEmmanuel Vadot					      <&mpss_smp2p_in 7 IRQ_TYPE_EDGE_RISING>;
2511d5b0e70fSEmmanuel Vadot			interrupt-names = "wdog", "fatal", "ready",
2512d5b0e70fSEmmanuel Vadot					  "handover", "stop-ack",
2513d5b0e70fSEmmanuel Vadot					  "shutdown-ack";
2514d5b0e70fSEmmanuel Vadot
2515d5b0e70fSEmmanuel Vadot			clocks = <&gcc GCC_MSS_CFG_AHB_CLK>,
2516d5b0e70fSEmmanuel Vadot				 <&gcc GCC_MSS_Q6_BIMC_AXI_CLK>,
2517d5b0e70fSEmmanuel Vadot				 <&gcc GCC_BOOT_ROM_AHB_CLK>,
2518d5b0e70fSEmmanuel Vadot				 <&xo_board>,
2519d5b0e70fSEmmanuel Vadot				 <&gcc GCC_MSS_GPLL0_DIV_CLK>,
2520d5b0e70fSEmmanuel Vadot				 <&gcc GCC_MSS_SNOC_AXI_CLK>,
2521d5b0e70fSEmmanuel Vadot				 <&gcc GCC_MSS_MNOC_BIMC_AXI_CLK>,
2522d5b0e70fSEmmanuel Vadot				 <&rpmcc RPM_SMD_QDSS_CLK>;
25238d13bc63SEmmanuel Vadot			clock-names = "iface",
25248d13bc63SEmmanuel Vadot				      "bus",
25258d13bc63SEmmanuel Vadot				      "mem",
25268d13bc63SEmmanuel Vadot				      "xo",
25278d13bc63SEmmanuel Vadot				      "gpll0_mss",
25288d13bc63SEmmanuel Vadot				      "snoc_axi",
25298d13bc63SEmmanuel Vadot				      "mnoc_axi",
25308d13bc63SEmmanuel Vadot				      "qdss";
2531d5b0e70fSEmmanuel Vadot
2532d5b0e70fSEmmanuel Vadot			resets = <&gcc GCC_MSS_RESTART>;
2533d5b0e70fSEmmanuel Vadot			reset-names = "mss_restart";
2534d5b0e70fSEmmanuel Vadot
2535d5b0e70fSEmmanuel Vadot			power-domains = <&rpmpd MSM8996_VDDCX>,
2536d5b0e70fSEmmanuel Vadot					<&rpmpd MSM8996_VDDMX>;
2537d5b0e70fSEmmanuel Vadot			power-domain-names = "cx", "mx";
2538d5b0e70fSEmmanuel Vadot
2539d5b0e70fSEmmanuel Vadot			qcom,smem-states = <&mpss_smp2p_out 0>;
2540d5b0e70fSEmmanuel Vadot			qcom,smem-state-names = "stop";
2541d5b0e70fSEmmanuel Vadot
25427ef62cebSEmmanuel Vadot			qcom,halt-regs = <&tcsr_1 0x3000 0x5000 0x4000>;
2543d5b0e70fSEmmanuel Vadot
2544d5b0e70fSEmmanuel Vadot			status = "disabled";
2545d5b0e70fSEmmanuel Vadot
2546d5b0e70fSEmmanuel Vadot			mba {
2547d5b0e70fSEmmanuel Vadot				memory-region = <&mba_mem>;
2548d5b0e70fSEmmanuel Vadot			};
2549d5b0e70fSEmmanuel Vadot
2550d5b0e70fSEmmanuel Vadot			mpss {
2551d5b0e70fSEmmanuel Vadot				memory-region = <&mpss_mem>;
2552d5b0e70fSEmmanuel Vadot			};
2553d5b0e70fSEmmanuel Vadot
2554cb7aa33aSEmmanuel Vadot			metadata {
2555cb7aa33aSEmmanuel Vadot				memory-region = <&mdata_mem>;
2556cb7aa33aSEmmanuel Vadot			};
2557cb7aa33aSEmmanuel Vadot
25580e8011faSEmmanuel Vadot			glink-edge {
25590e8011faSEmmanuel Vadot				interrupts = <GIC_SPI 452 IRQ_TYPE_EDGE_RISING>;
25600e8011faSEmmanuel Vadot				label = "modem";
25610e8011faSEmmanuel Vadot				qcom,remote-pid = <1>;
25620e8011faSEmmanuel Vadot				mboxes = <&apcs_glb 15>;
25630e8011faSEmmanuel Vadot			};
25640e8011faSEmmanuel Vadot
2565d5b0e70fSEmmanuel Vadot			smd-edge {
2566d5b0e70fSEmmanuel Vadot				interrupts = <GIC_SPI 449 IRQ_TYPE_EDGE_RISING>;
2567d5b0e70fSEmmanuel Vadot
2568d5b0e70fSEmmanuel Vadot				label = "mpss";
2569d5b0e70fSEmmanuel Vadot				mboxes = <&apcs_glb 12>;
2570d5b0e70fSEmmanuel Vadot				qcom,smd-edge = <0>;
2571d5b0e70fSEmmanuel Vadot				qcom,remote-pid = <1>;
2572d5b0e70fSEmmanuel Vadot			};
2573d5b0e70fSEmmanuel Vadot		};
2574d5b0e70fSEmmanuel Vadot
2575c66ec88fSEmmanuel Vadot		stm@3002000 {
2576c66ec88fSEmmanuel Vadot			compatible = "arm,coresight-stm", "arm,primecell";
2577c66ec88fSEmmanuel Vadot			reg = <0x3002000 0x1000>,
2578c66ec88fSEmmanuel Vadot			      <0x8280000 0x180000>;
2579c66ec88fSEmmanuel Vadot			reg-names = "stm-base", "stm-stimulus-base";
2580c66ec88fSEmmanuel Vadot
2581c66ec88fSEmmanuel Vadot			clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
2582c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk", "atclk";
2583c66ec88fSEmmanuel Vadot
2584c66ec88fSEmmanuel Vadot			out-ports {
2585c66ec88fSEmmanuel Vadot				port {
2586c66ec88fSEmmanuel Vadot					stm_out: endpoint {
2587c66ec88fSEmmanuel Vadot						remote-endpoint =
2588c66ec88fSEmmanuel Vadot						  <&funnel0_in>;
2589c66ec88fSEmmanuel Vadot					};
2590c66ec88fSEmmanuel Vadot				};
2591c66ec88fSEmmanuel Vadot			};
2592c66ec88fSEmmanuel Vadot		};
2593c66ec88fSEmmanuel Vadot
2594c66ec88fSEmmanuel Vadot		tpiu@3020000 {
2595c66ec88fSEmmanuel Vadot			compatible = "arm,coresight-tpiu", "arm,primecell";
2596c66ec88fSEmmanuel Vadot			reg = <0x3020000 0x1000>;
2597c66ec88fSEmmanuel Vadot
2598c66ec88fSEmmanuel Vadot			clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
2599c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk", "atclk";
2600c66ec88fSEmmanuel Vadot
2601c66ec88fSEmmanuel Vadot			in-ports {
2602c66ec88fSEmmanuel Vadot				port {
2603c66ec88fSEmmanuel Vadot					tpiu_in: endpoint {
2604c66ec88fSEmmanuel Vadot						remote-endpoint =
2605c66ec88fSEmmanuel Vadot						  <&replicator_out1>;
2606c66ec88fSEmmanuel Vadot					};
2607c66ec88fSEmmanuel Vadot				};
2608c66ec88fSEmmanuel Vadot			};
2609c66ec88fSEmmanuel Vadot		};
2610c66ec88fSEmmanuel Vadot
2611c66ec88fSEmmanuel Vadot		funnel@3021000 {
2612c66ec88fSEmmanuel Vadot			compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
2613c66ec88fSEmmanuel Vadot			reg = <0x3021000 0x1000>;
2614c66ec88fSEmmanuel Vadot
2615c66ec88fSEmmanuel Vadot			clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
2616c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk", "atclk";
2617c66ec88fSEmmanuel Vadot
2618c66ec88fSEmmanuel Vadot			in-ports {
2619c66ec88fSEmmanuel Vadot				#address-cells = <1>;
2620c66ec88fSEmmanuel Vadot				#size-cells = <0>;
2621c66ec88fSEmmanuel Vadot
2622c66ec88fSEmmanuel Vadot				port@7 {
2623c66ec88fSEmmanuel Vadot					reg = <7>;
2624c66ec88fSEmmanuel Vadot					funnel0_in: endpoint {
2625c66ec88fSEmmanuel Vadot						remote-endpoint =
2626c66ec88fSEmmanuel Vadot						  <&stm_out>;
2627c66ec88fSEmmanuel Vadot					};
2628c66ec88fSEmmanuel Vadot				};
2629c66ec88fSEmmanuel Vadot			};
2630c66ec88fSEmmanuel Vadot
2631c66ec88fSEmmanuel Vadot			out-ports {
2632c66ec88fSEmmanuel Vadot				port {
2633c66ec88fSEmmanuel Vadot					funnel0_out: endpoint {
2634c66ec88fSEmmanuel Vadot						remote-endpoint =
2635c66ec88fSEmmanuel Vadot						  <&merge_funnel_in0>;
2636c66ec88fSEmmanuel Vadot					};
2637c66ec88fSEmmanuel Vadot				};
2638c66ec88fSEmmanuel Vadot			};
2639c66ec88fSEmmanuel Vadot		};
2640c66ec88fSEmmanuel Vadot
2641c66ec88fSEmmanuel Vadot		funnel@3022000 {
2642c66ec88fSEmmanuel Vadot			compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
2643c66ec88fSEmmanuel Vadot			reg = <0x3022000 0x1000>;
2644c66ec88fSEmmanuel Vadot
2645c66ec88fSEmmanuel Vadot			clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
2646c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk", "atclk";
2647c66ec88fSEmmanuel Vadot
2648c66ec88fSEmmanuel Vadot			in-ports {
2649c66ec88fSEmmanuel Vadot				#address-cells = <1>;
2650c66ec88fSEmmanuel Vadot				#size-cells = <0>;
2651c66ec88fSEmmanuel Vadot
2652c66ec88fSEmmanuel Vadot				port@6 {
2653c66ec88fSEmmanuel Vadot					reg = <6>;
2654c66ec88fSEmmanuel Vadot					funnel1_in: endpoint {
2655c66ec88fSEmmanuel Vadot						remote-endpoint =
2656c66ec88fSEmmanuel Vadot						  <&apss_merge_funnel_out>;
2657c66ec88fSEmmanuel Vadot					};
2658c66ec88fSEmmanuel Vadot				};
2659c66ec88fSEmmanuel Vadot			};
2660c66ec88fSEmmanuel Vadot
2661c66ec88fSEmmanuel Vadot			out-ports {
2662c66ec88fSEmmanuel Vadot				port {
2663c66ec88fSEmmanuel Vadot					funnel1_out: endpoint {
2664c66ec88fSEmmanuel Vadot						remote-endpoint =
2665c66ec88fSEmmanuel Vadot						  <&merge_funnel_in1>;
2666c66ec88fSEmmanuel Vadot					};
2667c66ec88fSEmmanuel Vadot				};
2668c66ec88fSEmmanuel Vadot			};
2669c66ec88fSEmmanuel Vadot		};
2670c66ec88fSEmmanuel Vadot
2671c66ec88fSEmmanuel Vadot		funnel@3023000 {
2672c66ec88fSEmmanuel Vadot			compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
2673c66ec88fSEmmanuel Vadot			reg = <0x3023000 0x1000>;
2674c66ec88fSEmmanuel Vadot
2675c66ec88fSEmmanuel Vadot			clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
2676c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk", "atclk";
2677c66ec88fSEmmanuel Vadot
26788d13bc63SEmmanuel Vadot			in-ports {
26798d13bc63SEmmanuel Vadot				port {
26808d13bc63SEmmanuel Vadot					funnel_in2_in_modem_etm: endpoint {
26818d13bc63SEmmanuel Vadot						remote-endpoint =
26828d13bc63SEmmanuel Vadot						  <&modem_etm_out_funnel_in2>;
26838d13bc63SEmmanuel Vadot					};
26848d13bc63SEmmanuel Vadot				};
26858d13bc63SEmmanuel Vadot			};
2686c66ec88fSEmmanuel Vadot
2687c66ec88fSEmmanuel Vadot			out-ports {
2688c66ec88fSEmmanuel Vadot				port {
2689c66ec88fSEmmanuel Vadot					funnel2_out: endpoint {
2690c66ec88fSEmmanuel Vadot						remote-endpoint =
2691c66ec88fSEmmanuel Vadot						  <&merge_funnel_in2>;
2692c66ec88fSEmmanuel Vadot					};
2693c66ec88fSEmmanuel Vadot				};
2694c66ec88fSEmmanuel Vadot			};
2695c66ec88fSEmmanuel Vadot		};
2696c66ec88fSEmmanuel Vadot
2697c66ec88fSEmmanuel Vadot		funnel@3025000 {
2698c66ec88fSEmmanuel Vadot			compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
2699c66ec88fSEmmanuel Vadot			reg = <0x3025000 0x1000>;
2700c66ec88fSEmmanuel Vadot
2701c66ec88fSEmmanuel Vadot			clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
2702c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk", "atclk";
2703c66ec88fSEmmanuel Vadot
2704c66ec88fSEmmanuel Vadot			in-ports {
2705c66ec88fSEmmanuel Vadot				#address-cells = <1>;
2706c66ec88fSEmmanuel Vadot				#size-cells = <0>;
2707c66ec88fSEmmanuel Vadot
2708c66ec88fSEmmanuel Vadot				port@0 {
2709c66ec88fSEmmanuel Vadot					reg = <0>;
2710c66ec88fSEmmanuel Vadot					merge_funnel_in0: endpoint {
2711c66ec88fSEmmanuel Vadot						remote-endpoint =
2712c66ec88fSEmmanuel Vadot						  <&funnel0_out>;
2713c66ec88fSEmmanuel Vadot					};
2714c66ec88fSEmmanuel Vadot				};
2715c66ec88fSEmmanuel Vadot
2716c66ec88fSEmmanuel Vadot				port@1 {
2717c66ec88fSEmmanuel Vadot					reg = <1>;
2718c66ec88fSEmmanuel Vadot					merge_funnel_in1: endpoint {
2719c66ec88fSEmmanuel Vadot						remote-endpoint =
2720c66ec88fSEmmanuel Vadot						  <&funnel1_out>;
2721c66ec88fSEmmanuel Vadot					};
2722c66ec88fSEmmanuel Vadot				};
2723c66ec88fSEmmanuel Vadot
2724c66ec88fSEmmanuel Vadot				port@2 {
2725c66ec88fSEmmanuel Vadot					reg = <2>;
2726c66ec88fSEmmanuel Vadot					merge_funnel_in2: endpoint {
2727c66ec88fSEmmanuel Vadot						remote-endpoint =
2728c66ec88fSEmmanuel Vadot						  <&funnel2_out>;
2729c66ec88fSEmmanuel Vadot					};
2730c66ec88fSEmmanuel Vadot				};
2731c66ec88fSEmmanuel Vadot			};
2732c66ec88fSEmmanuel Vadot
2733c66ec88fSEmmanuel Vadot			out-ports {
2734c66ec88fSEmmanuel Vadot				port {
2735c66ec88fSEmmanuel Vadot					merge_funnel_out: endpoint {
2736c66ec88fSEmmanuel Vadot						remote-endpoint =
2737c66ec88fSEmmanuel Vadot						  <&etf_in>;
2738c66ec88fSEmmanuel Vadot					};
2739c66ec88fSEmmanuel Vadot				};
2740c66ec88fSEmmanuel Vadot			};
2741c66ec88fSEmmanuel Vadot		};
2742c66ec88fSEmmanuel Vadot
2743c66ec88fSEmmanuel Vadot		replicator@3026000 {
2744c66ec88fSEmmanuel Vadot			compatible = "arm,coresight-dynamic-replicator", "arm,primecell";
2745c66ec88fSEmmanuel Vadot			reg = <0x3026000 0x1000>;
2746c66ec88fSEmmanuel Vadot
2747c66ec88fSEmmanuel Vadot			clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
2748c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk", "atclk";
2749c66ec88fSEmmanuel Vadot
2750c66ec88fSEmmanuel Vadot			in-ports {
2751c66ec88fSEmmanuel Vadot				port {
2752c66ec88fSEmmanuel Vadot					replicator_in: endpoint {
2753c66ec88fSEmmanuel Vadot						remote-endpoint =
2754c66ec88fSEmmanuel Vadot						  <&etf_out>;
2755c66ec88fSEmmanuel Vadot					};
2756c66ec88fSEmmanuel Vadot				};
2757c66ec88fSEmmanuel Vadot			};
2758c66ec88fSEmmanuel Vadot
2759c66ec88fSEmmanuel Vadot			out-ports {
2760c66ec88fSEmmanuel Vadot				#address-cells = <1>;
2761c66ec88fSEmmanuel Vadot				#size-cells = <0>;
2762c66ec88fSEmmanuel Vadot
2763c66ec88fSEmmanuel Vadot				port@0 {
2764c66ec88fSEmmanuel Vadot					reg = <0>;
2765c66ec88fSEmmanuel Vadot					replicator_out0: endpoint {
2766c66ec88fSEmmanuel Vadot						remote-endpoint =
2767c66ec88fSEmmanuel Vadot						  <&etr_in>;
2768c66ec88fSEmmanuel Vadot					};
2769c66ec88fSEmmanuel Vadot				};
2770c66ec88fSEmmanuel Vadot
2771c66ec88fSEmmanuel Vadot				port@1 {
2772c66ec88fSEmmanuel Vadot					reg = <1>;
2773c66ec88fSEmmanuel Vadot					replicator_out1: endpoint {
2774c66ec88fSEmmanuel Vadot						remote-endpoint =
2775c66ec88fSEmmanuel Vadot						  <&tpiu_in>;
2776c66ec88fSEmmanuel Vadot					};
2777c66ec88fSEmmanuel Vadot				};
2778c66ec88fSEmmanuel Vadot			};
2779c66ec88fSEmmanuel Vadot		};
2780c66ec88fSEmmanuel Vadot
2781c66ec88fSEmmanuel Vadot		etf@3027000 {
2782c66ec88fSEmmanuel Vadot			compatible = "arm,coresight-tmc", "arm,primecell";
2783c66ec88fSEmmanuel Vadot			reg = <0x3027000 0x1000>;
2784c66ec88fSEmmanuel Vadot
2785c66ec88fSEmmanuel Vadot			clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
2786c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk", "atclk";
2787c66ec88fSEmmanuel Vadot
2788c66ec88fSEmmanuel Vadot			in-ports {
2789c66ec88fSEmmanuel Vadot				port {
2790c66ec88fSEmmanuel Vadot					etf_in: endpoint {
2791c66ec88fSEmmanuel Vadot						remote-endpoint =
2792c66ec88fSEmmanuel Vadot						  <&merge_funnel_out>;
2793c66ec88fSEmmanuel Vadot					};
2794c66ec88fSEmmanuel Vadot				};
2795c66ec88fSEmmanuel Vadot			};
2796c66ec88fSEmmanuel Vadot
2797c66ec88fSEmmanuel Vadot			out-ports {
2798c66ec88fSEmmanuel Vadot				port {
2799c66ec88fSEmmanuel Vadot					etf_out: endpoint {
2800c66ec88fSEmmanuel Vadot						remote-endpoint =
2801c66ec88fSEmmanuel Vadot						  <&replicator_in>;
2802c66ec88fSEmmanuel Vadot					};
2803c66ec88fSEmmanuel Vadot				};
2804c66ec88fSEmmanuel Vadot			};
2805c66ec88fSEmmanuel Vadot		};
2806c66ec88fSEmmanuel Vadot
2807c66ec88fSEmmanuel Vadot		etr@3028000 {
2808c66ec88fSEmmanuel Vadot			compatible = "arm,coresight-tmc", "arm,primecell";
2809c66ec88fSEmmanuel Vadot			reg = <0x3028000 0x1000>;
2810c66ec88fSEmmanuel Vadot
2811c66ec88fSEmmanuel Vadot			clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
2812c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk", "atclk";
2813c66ec88fSEmmanuel Vadot			arm,scatter-gather;
2814c66ec88fSEmmanuel Vadot
2815c66ec88fSEmmanuel Vadot			in-ports {
2816c66ec88fSEmmanuel Vadot				port {
2817c66ec88fSEmmanuel Vadot					etr_in: endpoint {
2818c66ec88fSEmmanuel Vadot						remote-endpoint =
2819c66ec88fSEmmanuel Vadot						  <&replicator_out0>;
2820c66ec88fSEmmanuel Vadot					};
2821c66ec88fSEmmanuel Vadot				};
2822c66ec88fSEmmanuel Vadot			};
2823c66ec88fSEmmanuel Vadot		};
2824c66ec88fSEmmanuel Vadot
2825c66ec88fSEmmanuel Vadot		debug@3810000 {
2826c66ec88fSEmmanuel Vadot			compatible = "arm,coresight-cpu-debug", "arm,primecell";
2827c66ec88fSEmmanuel Vadot			reg = <0x3810000 0x1000>;
2828c66ec88fSEmmanuel Vadot
2829c66ec88fSEmmanuel Vadot			clocks = <&rpmcc RPM_QDSS_CLK>;
2830c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
2831c66ec88fSEmmanuel Vadot
2832c66ec88fSEmmanuel Vadot			cpu = <&CPU0>;
2833c66ec88fSEmmanuel Vadot		};
2834c66ec88fSEmmanuel Vadot
2835c66ec88fSEmmanuel Vadot		etm@3840000 {
2836c66ec88fSEmmanuel Vadot			compatible = "arm,coresight-etm4x", "arm,primecell";
2837c66ec88fSEmmanuel Vadot			reg = <0x3840000 0x1000>;
2838c66ec88fSEmmanuel Vadot
2839c66ec88fSEmmanuel Vadot			clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
2840c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk", "atclk";
2841c66ec88fSEmmanuel Vadot
2842c66ec88fSEmmanuel Vadot			cpu = <&CPU0>;
2843c66ec88fSEmmanuel Vadot
2844c66ec88fSEmmanuel Vadot			out-ports {
2845c66ec88fSEmmanuel Vadot				port {
2846c66ec88fSEmmanuel Vadot					etm0_out: endpoint {
2847c66ec88fSEmmanuel Vadot						remote-endpoint =
2848c66ec88fSEmmanuel Vadot						  <&apss_funnel0_in0>;
2849c66ec88fSEmmanuel Vadot					};
2850c66ec88fSEmmanuel Vadot				};
2851c66ec88fSEmmanuel Vadot			};
2852c66ec88fSEmmanuel Vadot		};
2853c66ec88fSEmmanuel Vadot
2854c66ec88fSEmmanuel Vadot		debug@3910000 {
2855c66ec88fSEmmanuel Vadot			compatible = "arm,coresight-cpu-debug", "arm,primecell";
2856c66ec88fSEmmanuel Vadot			reg = <0x3910000 0x1000>;
2857c66ec88fSEmmanuel Vadot
2858c66ec88fSEmmanuel Vadot			clocks = <&rpmcc RPM_QDSS_CLK>;
2859c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
2860c66ec88fSEmmanuel Vadot
2861c66ec88fSEmmanuel Vadot			cpu = <&CPU1>;
2862c66ec88fSEmmanuel Vadot		};
2863c66ec88fSEmmanuel Vadot
2864c66ec88fSEmmanuel Vadot		etm@3940000 {
2865c66ec88fSEmmanuel Vadot			compatible = "arm,coresight-etm4x", "arm,primecell";
2866c66ec88fSEmmanuel Vadot			reg = <0x3940000 0x1000>;
2867c66ec88fSEmmanuel Vadot
2868c66ec88fSEmmanuel Vadot			clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
2869c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk", "atclk";
2870c66ec88fSEmmanuel Vadot
2871c66ec88fSEmmanuel Vadot			cpu = <&CPU1>;
2872c66ec88fSEmmanuel Vadot
2873c66ec88fSEmmanuel Vadot			out-ports {
2874c66ec88fSEmmanuel Vadot				port {
2875c66ec88fSEmmanuel Vadot					etm1_out: endpoint {
2876c66ec88fSEmmanuel Vadot						remote-endpoint =
2877c66ec88fSEmmanuel Vadot						  <&apss_funnel0_in1>;
2878c66ec88fSEmmanuel Vadot					};
2879c66ec88fSEmmanuel Vadot				};
2880c66ec88fSEmmanuel Vadot			};
2881c66ec88fSEmmanuel Vadot		};
2882c66ec88fSEmmanuel Vadot
2883c66ec88fSEmmanuel Vadot		funnel@39b0000 { /* APSS Funnel 0 */
2884c66ec88fSEmmanuel Vadot			compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
2885c66ec88fSEmmanuel Vadot			reg = <0x39b0000 0x1000>;
2886c66ec88fSEmmanuel Vadot
2887c66ec88fSEmmanuel Vadot			clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
2888c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk", "atclk";
2889c66ec88fSEmmanuel Vadot
2890c66ec88fSEmmanuel Vadot			in-ports {
2891c66ec88fSEmmanuel Vadot				#address-cells = <1>;
2892c66ec88fSEmmanuel Vadot				#size-cells = <0>;
2893c66ec88fSEmmanuel Vadot
2894c66ec88fSEmmanuel Vadot				port@0 {
2895c66ec88fSEmmanuel Vadot					reg = <0>;
2896c66ec88fSEmmanuel Vadot					apss_funnel0_in0: endpoint {
2897c66ec88fSEmmanuel Vadot						remote-endpoint = <&etm0_out>;
2898c66ec88fSEmmanuel Vadot					};
2899c66ec88fSEmmanuel Vadot				};
2900c66ec88fSEmmanuel Vadot
2901c66ec88fSEmmanuel Vadot				port@1 {
2902c66ec88fSEmmanuel Vadot					reg = <1>;
2903c66ec88fSEmmanuel Vadot					apss_funnel0_in1: endpoint {
2904c66ec88fSEmmanuel Vadot						remote-endpoint = <&etm1_out>;
2905c66ec88fSEmmanuel Vadot					};
2906c66ec88fSEmmanuel Vadot				};
2907c66ec88fSEmmanuel Vadot			};
2908c66ec88fSEmmanuel Vadot
2909c66ec88fSEmmanuel Vadot			out-ports {
2910c66ec88fSEmmanuel Vadot				port {
2911c66ec88fSEmmanuel Vadot					apss_funnel0_out: endpoint {
2912c66ec88fSEmmanuel Vadot						remote-endpoint =
2913c66ec88fSEmmanuel Vadot						  <&apss_merge_funnel_in0>;
2914c66ec88fSEmmanuel Vadot					};
2915c66ec88fSEmmanuel Vadot				};
2916c66ec88fSEmmanuel Vadot			};
2917c66ec88fSEmmanuel Vadot		};
2918c66ec88fSEmmanuel Vadot
2919c66ec88fSEmmanuel Vadot		debug@3a10000 {
2920c66ec88fSEmmanuel Vadot			compatible = "arm,coresight-cpu-debug", "arm,primecell";
2921c66ec88fSEmmanuel Vadot			reg = <0x3a10000 0x1000>;
2922c66ec88fSEmmanuel Vadot
2923c66ec88fSEmmanuel Vadot			clocks = <&rpmcc RPM_QDSS_CLK>;
2924c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
2925c66ec88fSEmmanuel Vadot
2926c66ec88fSEmmanuel Vadot			cpu = <&CPU2>;
2927c66ec88fSEmmanuel Vadot		};
2928c66ec88fSEmmanuel Vadot
2929c66ec88fSEmmanuel Vadot		etm@3a40000 {
2930c66ec88fSEmmanuel Vadot			compatible = "arm,coresight-etm4x", "arm,primecell";
2931c66ec88fSEmmanuel Vadot			reg = <0x3a40000 0x1000>;
2932c66ec88fSEmmanuel Vadot
2933c66ec88fSEmmanuel Vadot			clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
2934c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk", "atclk";
2935c66ec88fSEmmanuel Vadot
2936c66ec88fSEmmanuel Vadot			cpu = <&CPU2>;
2937c66ec88fSEmmanuel Vadot
2938c66ec88fSEmmanuel Vadot			out-ports {
2939c66ec88fSEmmanuel Vadot				port {
2940c66ec88fSEmmanuel Vadot					etm2_out: endpoint {
2941c66ec88fSEmmanuel Vadot						remote-endpoint =
2942c66ec88fSEmmanuel Vadot						  <&apss_funnel1_in0>;
2943c66ec88fSEmmanuel Vadot					};
2944c66ec88fSEmmanuel Vadot				};
2945c66ec88fSEmmanuel Vadot			};
2946c66ec88fSEmmanuel Vadot		};
2947c66ec88fSEmmanuel Vadot
2948c66ec88fSEmmanuel Vadot		debug@3b10000 {
2949c66ec88fSEmmanuel Vadot			compatible = "arm,coresight-cpu-debug", "arm,primecell";
2950c66ec88fSEmmanuel Vadot			reg = <0x3b10000 0x1000>;
2951c66ec88fSEmmanuel Vadot
2952c66ec88fSEmmanuel Vadot			clocks = <&rpmcc RPM_QDSS_CLK>;
2953c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
2954c66ec88fSEmmanuel Vadot
2955c66ec88fSEmmanuel Vadot			cpu = <&CPU3>;
2956c66ec88fSEmmanuel Vadot		};
2957c66ec88fSEmmanuel Vadot
2958c66ec88fSEmmanuel Vadot		etm@3b40000 {
2959c66ec88fSEmmanuel Vadot			compatible = "arm,coresight-etm4x", "arm,primecell";
2960c66ec88fSEmmanuel Vadot			reg = <0x3b40000 0x1000>;
2961c66ec88fSEmmanuel Vadot
2962c66ec88fSEmmanuel Vadot			clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
2963c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk", "atclk";
2964c66ec88fSEmmanuel Vadot
2965c66ec88fSEmmanuel Vadot			cpu = <&CPU3>;
2966c66ec88fSEmmanuel Vadot
2967c66ec88fSEmmanuel Vadot			out-ports {
2968c66ec88fSEmmanuel Vadot				port {
2969c66ec88fSEmmanuel Vadot					etm3_out: endpoint {
2970c66ec88fSEmmanuel Vadot						remote-endpoint =
2971c66ec88fSEmmanuel Vadot						  <&apss_funnel1_in1>;
2972c66ec88fSEmmanuel Vadot					};
2973c66ec88fSEmmanuel Vadot				};
2974c66ec88fSEmmanuel Vadot			};
2975c66ec88fSEmmanuel Vadot		};
2976c66ec88fSEmmanuel Vadot
2977c66ec88fSEmmanuel Vadot		funnel@3bb0000 { /* APSS Funnel 1 */
2978c66ec88fSEmmanuel Vadot			compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
2979c66ec88fSEmmanuel Vadot			reg = <0x3bb0000 0x1000>;
2980c66ec88fSEmmanuel Vadot
2981c66ec88fSEmmanuel Vadot			clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
2982c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk", "atclk";
2983c66ec88fSEmmanuel Vadot
2984c66ec88fSEmmanuel Vadot			in-ports {
2985c66ec88fSEmmanuel Vadot				#address-cells = <1>;
2986c66ec88fSEmmanuel Vadot				#size-cells = <0>;
2987c66ec88fSEmmanuel Vadot
2988c66ec88fSEmmanuel Vadot				port@0 {
2989c66ec88fSEmmanuel Vadot					reg = <0>;
2990c66ec88fSEmmanuel Vadot					apss_funnel1_in0: endpoint {
2991c66ec88fSEmmanuel Vadot						remote-endpoint = <&etm2_out>;
2992c66ec88fSEmmanuel Vadot					};
2993c66ec88fSEmmanuel Vadot				};
2994c66ec88fSEmmanuel Vadot
2995c66ec88fSEmmanuel Vadot				port@1 {
2996c66ec88fSEmmanuel Vadot					reg = <1>;
2997c66ec88fSEmmanuel Vadot					apss_funnel1_in1: endpoint {
2998c66ec88fSEmmanuel Vadot						remote-endpoint = <&etm3_out>;
2999c66ec88fSEmmanuel Vadot					};
3000c66ec88fSEmmanuel Vadot				};
3001c66ec88fSEmmanuel Vadot			};
3002c66ec88fSEmmanuel Vadot
3003c66ec88fSEmmanuel Vadot			out-ports {
3004c66ec88fSEmmanuel Vadot				port {
3005c66ec88fSEmmanuel Vadot					apss_funnel1_out: endpoint {
3006c66ec88fSEmmanuel Vadot						remote-endpoint =
3007c66ec88fSEmmanuel Vadot						  <&apss_merge_funnel_in1>;
3008c66ec88fSEmmanuel Vadot					};
3009c66ec88fSEmmanuel Vadot				};
3010c66ec88fSEmmanuel Vadot			};
3011c66ec88fSEmmanuel Vadot		};
3012c66ec88fSEmmanuel Vadot
3013c66ec88fSEmmanuel Vadot		funnel@3bc0000 {
3014c66ec88fSEmmanuel Vadot			compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
3015c66ec88fSEmmanuel Vadot			reg = <0x3bc0000 0x1000>;
3016c66ec88fSEmmanuel Vadot
3017c66ec88fSEmmanuel Vadot			clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
3018c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk", "atclk";
3019c66ec88fSEmmanuel Vadot
3020c66ec88fSEmmanuel Vadot			in-ports {
3021c66ec88fSEmmanuel Vadot				#address-cells = <1>;
3022c66ec88fSEmmanuel Vadot				#size-cells = <0>;
3023c66ec88fSEmmanuel Vadot
3024c66ec88fSEmmanuel Vadot				port@0 {
3025c66ec88fSEmmanuel Vadot					reg = <0>;
3026c66ec88fSEmmanuel Vadot					apss_merge_funnel_in0: endpoint {
3027c66ec88fSEmmanuel Vadot						remote-endpoint =
3028c66ec88fSEmmanuel Vadot						  <&apss_funnel0_out>;
3029c66ec88fSEmmanuel Vadot					};
3030c66ec88fSEmmanuel Vadot				};
3031c66ec88fSEmmanuel Vadot
3032c66ec88fSEmmanuel Vadot				port@1 {
3033c66ec88fSEmmanuel Vadot					reg = <1>;
3034c66ec88fSEmmanuel Vadot					apss_merge_funnel_in1: endpoint {
3035c66ec88fSEmmanuel Vadot						remote-endpoint =
3036c66ec88fSEmmanuel Vadot						  <&apss_funnel1_out>;
3037c66ec88fSEmmanuel Vadot					};
3038c66ec88fSEmmanuel Vadot				};
3039c66ec88fSEmmanuel Vadot			};
3040c66ec88fSEmmanuel Vadot
3041c66ec88fSEmmanuel Vadot			out-ports {
3042c66ec88fSEmmanuel Vadot				port {
3043c66ec88fSEmmanuel Vadot					apss_merge_funnel_out: endpoint {
3044c66ec88fSEmmanuel Vadot						remote-endpoint =
3045c66ec88fSEmmanuel Vadot						  <&funnel1_in>;
3046c66ec88fSEmmanuel Vadot					};
3047c66ec88fSEmmanuel Vadot				};
3048c66ec88fSEmmanuel Vadot			};
3049c66ec88fSEmmanuel Vadot		};
30505956d97fSEmmanuel Vadot
3051c66ec88fSEmmanuel Vadot		kryocc: clock-controller@6400000 {
30525956d97fSEmmanuel Vadot			compatible = "qcom,msm8996-apcc";
3053c66ec88fSEmmanuel Vadot			reg = <0x06400000 0x90000>;
30545956d97fSEmmanuel Vadot
3055cb7aa33aSEmmanuel Vadot			clock-names = "xo", "sys_apcs_aux";
3056cb7aa33aSEmmanuel Vadot			clocks = <&rpmcc RPM_SMD_XO_A_CLK_SRC>, <&apcs_glb>;
30575956d97fSEmmanuel Vadot
3058c66ec88fSEmmanuel Vadot			#clock-cells = <1>;
3059c66ec88fSEmmanuel Vadot		};
3060c66ec88fSEmmanuel Vadot
3061c66ec88fSEmmanuel Vadot		usb3: usb@6af8800 {
3062c66ec88fSEmmanuel Vadot			compatible = "qcom,msm8996-dwc3", "qcom,dwc3";
3063c66ec88fSEmmanuel Vadot			reg = <0x06af8800 0x400>;
3064c66ec88fSEmmanuel Vadot			#address-cells = <1>;
3065c66ec88fSEmmanuel Vadot			#size-cells = <1>;
3066c66ec88fSEmmanuel Vadot			ranges;
3067c66ec88fSEmmanuel Vadot
30685956d97fSEmmanuel Vadot			interrupts = <GIC_SPI 347 IRQ_TYPE_LEVEL_HIGH>,
30695956d97fSEmmanuel Vadot				     <GIC_SPI 243 IRQ_TYPE_LEVEL_HIGH>;
30705956d97fSEmmanuel Vadot			interrupt-names = "hs_phy_irq", "ss_phy_irq";
30715956d97fSEmmanuel Vadot
3072c66ec88fSEmmanuel Vadot			clocks = <&gcc GCC_SYS_NOC_USB3_AXI_CLK>,
3073c66ec88fSEmmanuel Vadot				 <&gcc GCC_USB30_MASTER_CLK>,
3074c66ec88fSEmmanuel Vadot				 <&gcc GCC_AGGRE2_USB3_AXI_CLK>,
3075c66ec88fSEmmanuel Vadot				 <&gcc GCC_USB30_SLEEP_CLK>,
3076d5b0e70fSEmmanuel Vadot				 <&gcc GCC_USB30_MOCK_UTMI_CLK>;
3077d5b0e70fSEmmanuel Vadot			clock-names = "cfg_noc",
3078d5b0e70fSEmmanuel Vadot				      "core",
3079d5b0e70fSEmmanuel Vadot				      "iface",
3080d5b0e70fSEmmanuel Vadot				      "sleep",
3081d5b0e70fSEmmanuel Vadot				      "mock_utmi";
3082c66ec88fSEmmanuel Vadot
3083c66ec88fSEmmanuel Vadot			assigned-clocks = <&gcc GCC_USB30_MOCK_UTMI_CLK>,
3084c66ec88fSEmmanuel Vadot					  <&gcc GCC_USB30_MASTER_CLK>;
3085c66ec88fSEmmanuel Vadot			assigned-clock-rates = <19200000>, <120000000>;
3086c66ec88fSEmmanuel Vadot
3087b97ee269SEmmanuel Vadot			interconnects = <&a2noc MASTER_USB3 &bimc SLAVE_EBI_CH0>,
3088b97ee269SEmmanuel Vadot					<&bimc MASTER_AMPSS_M0 &snoc SLAVE_USB3>;
3089b97ee269SEmmanuel Vadot			interconnect-names = "usb-ddr", "apps-usb";
3090b97ee269SEmmanuel Vadot
3091c66ec88fSEmmanuel Vadot			power-domains = <&gcc USB30_GDSC>;
3092c66ec88fSEmmanuel Vadot			status = "disabled";
3093c66ec88fSEmmanuel Vadot
3094d5b0e70fSEmmanuel Vadot			usb3_dwc3: usb@6a00000 {
3095c66ec88fSEmmanuel Vadot				compatible = "snps,dwc3";
3096c66ec88fSEmmanuel Vadot				reg = <0x06a00000 0xcc00>;
3097aa1a8ff2SEmmanuel Vadot				interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>;
30988d13bc63SEmmanuel Vadot				phys = <&hsusb_phy1>, <&usb3phy>;
3099c66ec88fSEmmanuel Vadot				phy-names = "usb2-phy", "usb3-phy";
3100fac71e4eSEmmanuel Vadot				snps,hird-threshold = /bits/ 8 <0>;
3101c66ec88fSEmmanuel Vadot				snps,dis_u2_susphy_quirk;
3102c66ec88fSEmmanuel Vadot				snps,dis_enblslpm_quirk;
3103fac71e4eSEmmanuel Vadot				snps,is-utmi-l1-suspend;
31040e8011faSEmmanuel Vadot				snps,parkmode-disable-ss-quirk;
3105fac71e4eSEmmanuel Vadot				tx-fifo-resize;
3106c66ec88fSEmmanuel Vadot			};
3107c66ec88fSEmmanuel Vadot		};
3108c66ec88fSEmmanuel Vadot
3109c66ec88fSEmmanuel Vadot		usb3phy: phy@7410000 {
3110c66ec88fSEmmanuel Vadot			compatible = "qcom,msm8996-qmp-usb3-phy";
31118d13bc63SEmmanuel Vadot			reg = <0x07410000 0x1000>;
3112c66ec88fSEmmanuel Vadot
3113c66ec88fSEmmanuel Vadot			clocks = <&gcc GCC_USB3_PHY_AUX_CLK>,
31148d13bc63SEmmanuel Vadot				 <&gcc GCC_USB3_CLKREF_CLK>,
3115c66ec88fSEmmanuel Vadot				 <&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>,
31168d13bc63SEmmanuel Vadot				 <&gcc GCC_USB3_PHY_PIPE_CLK>;
31178d13bc63SEmmanuel Vadot			clock-names = "aux",
31188d13bc63SEmmanuel Vadot				      "ref",
31198d13bc63SEmmanuel Vadot				      "cfg_ahb",
31208d13bc63SEmmanuel Vadot				      "pipe";
31218d13bc63SEmmanuel Vadot			clock-output-names = "usb3_phy_pipe_clk_src";
31228d13bc63SEmmanuel Vadot			#clock-cells = <0>;
31238d13bc63SEmmanuel Vadot			#phy-cells = <0>;
3124c66ec88fSEmmanuel Vadot
3125c66ec88fSEmmanuel Vadot			resets = <&gcc GCC_USB3_PHY_BCR>,
3126c66ec88fSEmmanuel Vadot				 <&gcc GCC_USB3PHY_PHY_BCR>;
31278d13bc63SEmmanuel Vadot			reset-names = "phy",
31288d13bc63SEmmanuel Vadot				      "phy_phy";
31298d13bc63SEmmanuel Vadot
3130c66ec88fSEmmanuel Vadot			status = "disabled";
3131c66ec88fSEmmanuel Vadot		};
3132c66ec88fSEmmanuel Vadot
3133c66ec88fSEmmanuel Vadot		hsusb_phy1: phy@7411000 {
3134c66ec88fSEmmanuel Vadot			compatible = "qcom,msm8996-qusb2-phy";
3135c66ec88fSEmmanuel Vadot			reg = <0x07411000 0x180>;
3136c66ec88fSEmmanuel Vadot			#phy-cells = <0>;
3137c66ec88fSEmmanuel Vadot
3138c66ec88fSEmmanuel Vadot			clocks = <&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>,
3139c66ec88fSEmmanuel Vadot				<&gcc GCC_RX1_USB2_CLKREF_CLK>;
3140c66ec88fSEmmanuel Vadot			clock-names = "cfg_ahb", "ref";
3141c66ec88fSEmmanuel Vadot
3142c66ec88fSEmmanuel Vadot			resets = <&gcc GCC_QUSB2PHY_PRIM_BCR>;
3143c66ec88fSEmmanuel Vadot			nvmem-cells = <&qusb2p_hstx_trim>;
3144c66ec88fSEmmanuel Vadot			status = "disabled";
3145c66ec88fSEmmanuel Vadot		};
3146c66ec88fSEmmanuel Vadot
3147c66ec88fSEmmanuel Vadot		hsusb_phy2: phy@7412000 {
3148c66ec88fSEmmanuel Vadot			compatible = "qcom,msm8996-qusb2-phy";
3149c66ec88fSEmmanuel Vadot			reg = <0x07412000 0x180>;
3150c66ec88fSEmmanuel Vadot			#phy-cells = <0>;
3151c66ec88fSEmmanuel Vadot
3152c66ec88fSEmmanuel Vadot			clocks = <&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>,
3153c66ec88fSEmmanuel Vadot				<&gcc GCC_RX2_USB2_CLKREF_CLK>;
3154c66ec88fSEmmanuel Vadot			clock-names = "cfg_ahb", "ref";
3155c66ec88fSEmmanuel Vadot
3156c66ec88fSEmmanuel Vadot			resets = <&gcc GCC_QUSB2PHY_SEC_BCR>;
3157c66ec88fSEmmanuel Vadot			nvmem-cells = <&qusb2s_hstx_trim>;
3158c66ec88fSEmmanuel Vadot			status = "disabled";
3159c66ec88fSEmmanuel Vadot		};
3160c66ec88fSEmmanuel Vadot
3161b97ee269SEmmanuel Vadot		sdhc1: mmc@7464900 {
3162c9ccf3a3SEmmanuel Vadot			compatible = "qcom,msm8996-sdhci", "qcom,sdhci-msm-v4";
31635956d97fSEmmanuel Vadot			reg = <0x07464900 0x11c>, <0x07464000 0x800>;
31647ef62cebSEmmanuel Vadot			reg-names = "hc", "core";
31655956d97fSEmmanuel Vadot
31665956d97fSEmmanuel Vadot			interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>,
31675956d97fSEmmanuel Vadot					<GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>;
31685956d97fSEmmanuel Vadot			interrupt-names = "hc_irq", "pwr_irq";
31695956d97fSEmmanuel Vadot
31705956d97fSEmmanuel Vadot			clock-names = "iface", "core", "xo";
31715956d97fSEmmanuel Vadot			clocks = <&gcc GCC_SDCC1_AHB_CLK>,
31725956d97fSEmmanuel Vadot				<&gcc GCC_SDCC1_APPS_CLK>,
3173cb7aa33aSEmmanuel Vadot				<&rpmcc RPM_SMD_XO_CLK_SRC>;
3174b97ee269SEmmanuel Vadot			resets = <&gcc GCC_SDCC1_BCR>;
31755956d97fSEmmanuel Vadot
31765956d97fSEmmanuel Vadot			pinctrl-names = "default", "sleep";
31775956d97fSEmmanuel Vadot			pinctrl-0 = <&sdc1_state_on>;
31785956d97fSEmmanuel Vadot			pinctrl-1 = <&sdc1_state_off>;
31795956d97fSEmmanuel Vadot
31805956d97fSEmmanuel Vadot			bus-width = <8>;
31815956d97fSEmmanuel Vadot			non-removable;
3182c66ec88fSEmmanuel Vadot			status = "disabled";
31835956d97fSEmmanuel Vadot		};
31845956d97fSEmmanuel Vadot
3185b97ee269SEmmanuel Vadot		sdhc2: mmc@74a4900 {
3186c9ccf3a3SEmmanuel Vadot			compatible = "qcom,msm8996-sdhci", "qcom,sdhci-msm-v4";
3187c66ec88fSEmmanuel Vadot			reg = <0x074a4900 0x314>, <0x074a4000 0x800>;
31887ef62cebSEmmanuel Vadot			reg-names = "hc", "core";
3189c66ec88fSEmmanuel Vadot
31905956d97fSEmmanuel Vadot			interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>,
31915956d97fSEmmanuel Vadot				      <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>;
3192c66ec88fSEmmanuel Vadot			interrupt-names = "hc_irq", "pwr_irq";
3193c66ec88fSEmmanuel Vadot
3194c66ec88fSEmmanuel Vadot			clock-names = "iface", "core", "xo";
3195c66ec88fSEmmanuel Vadot			clocks = <&gcc GCC_SDCC2_AHB_CLK>,
3196c66ec88fSEmmanuel Vadot				<&gcc GCC_SDCC2_APPS_CLK>,
3197cb7aa33aSEmmanuel Vadot				<&rpmcc RPM_SMD_XO_CLK_SRC>;
3198b97ee269SEmmanuel Vadot			resets = <&gcc GCC_SDCC2_BCR>;
31995956d97fSEmmanuel Vadot
32005956d97fSEmmanuel Vadot			pinctrl-names = "default", "sleep";
32015956d97fSEmmanuel Vadot			pinctrl-0 = <&sdc2_state_on>;
32025956d97fSEmmanuel Vadot			pinctrl-1 = <&sdc2_state_off>;
32035956d97fSEmmanuel Vadot
3204c66ec88fSEmmanuel Vadot			bus-width = <4>;
32055956d97fSEmmanuel Vadot			status = "disabled";
3206c66ec88fSEmmanuel Vadot		 };
3207c66ec88fSEmmanuel Vadot
32088cc087a1SEmmanuel Vadot		blsp1_dma: dma-controller@7544000 {
32095956d97fSEmmanuel Vadot			compatible = "qcom,bam-v1.7.0";
32105956d97fSEmmanuel Vadot			reg = <0x07544000 0x2b000>;
32115956d97fSEmmanuel Vadot			interrupts = <GIC_SPI 238 IRQ_TYPE_LEVEL_HIGH>;
32125956d97fSEmmanuel Vadot			clocks = <&gcc GCC_BLSP1_AHB_CLK>;
32135956d97fSEmmanuel Vadot			clock-names = "bam_clk";
32145956d97fSEmmanuel Vadot			qcom,controlled-remotely;
32155956d97fSEmmanuel Vadot			#dma-cells = <1>;
32165956d97fSEmmanuel Vadot			qcom,ee = <0>;
32175956d97fSEmmanuel Vadot		};
32185956d97fSEmmanuel Vadot
32195956d97fSEmmanuel Vadot		blsp1_uart2: serial@7570000 {
3220c66ec88fSEmmanuel Vadot			compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
3221c66ec88fSEmmanuel Vadot			reg = <0x07570000 0x1000>;
3222c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
3223c66ec88fSEmmanuel Vadot			clocks = <&gcc GCC_BLSP1_UART2_APPS_CLK>,
3224c66ec88fSEmmanuel Vadot				 <&gcc GCC_BLSP1_AHB_CLK>;
3225c66ec88fSEmmanuel Vadot			clock-names = "core", "iface";
32268cc087a1SEmmanuel Vadot			pinctrl-names = "default", "sleep";
32278cc087a1SEmmanuel Vadot			pinctrl-0 = <&blsp1_uart2_default>;
32288cc087a1SEmmanuel Vadot			pinctrl-1 = <&blsp1_uart2_sleep>;
32295956d97fSEmmanuel Vadot			dmas = <&blsp1_dma 2>, <&blsp1_dma 3>;
32305956d97fSEmmanuel Vadot			dma-names = "tx", "rx";
3231c66ec88fSEmmanuel Vadot			status = "disabled";
3232c66ec88fSEmmanuel Vadot		};
3233c66ec88fSEmmanuel Vadot
32345956d97fSEmmanuel Vadot		blsp1_spi1: spi@7575000 {
3235c66ec88fSEmmanuel Vadot			compatible = "qcom,spi-qup-v2.2.1";
3236c66ec88fSEmmanuel Vadot			reg = <0x07575000 0x600>;
3237c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
3238c66ec88fSEmmanuel Vadot			clocks = <&gcc GCC_BLSP1_QUP1_SPI_APPS_CLK>,
3239c66ec88fSEmmanuel Vadot				 <&gcc GCC_BLSP1_AHB_CLK>;
3240c66ec88fSEmmanuel Vadot			clock-names = "core", "iface";
3241c66ec88fSEmmanuel Vadot			pinctrl-names = "default", "sleep";
32425956d97fSEmmanuel Vadot			pinctrl-0 = <&blsp1_spi1_default>;
32435956d97fSEmmanuel Vadot			pinctrl-1 = <&blsp1_spi1_sleep>;
32445956d97fSEmmanuel Vadot			dmas = <&blsp1_dma 12>, <&blsp1_dma 13>;
32455956d97fSEmmanuel Vadot			dma-names = "tx", "rx";
3246c66ec88fSEmmanuel Vadot			#address-cells = <1>;
3247c66ec88fSEmmanuel Vadot			#size-cells = <0>;
3248c66ec88fSEmmanuel Vadot			status = "disabled";
3249c66ec88fSEmmanuel Vadot		};
3250c66ec88fSEmmanuel Vadot
32515956d97fSEmmanuel Vadot		blsp1_i2c3: i2c@7577000 {
3252c66ec88fSEmmanuel Vadot			compatible = "qcom,i2c-qup-v2.2.1";
3253c66ec88fSEmmanuel Vadot			reg = <0x07577000 0x1000>;
3254c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
3255d5b0e70fSEmmanuel Vadot			clocks = <&gcc GCC_BLSP1_QUP3_I2C_APPS_CLK>,
3256d5b0e70fSEmmanuel Vadot				 <&gcc GCC_BLSP1_AHB_CLK>;
3257d5b0e70fSEmmanuel Vadot			clock-names = "core", "iface";
3258c66ec88fSEmmanuel Vadot			pinctrl-names = "default", "sleep";
32595956d97fSEmmanuel Vadot			pinctrl-0 = <&blsp1_i2c3_default>;
32605956d97fSEmmanuel Vadot			pinctrl-1 = <&blsp1_i2c3_sleep>;
32615956d97fSEmmanuel Vadot			dmas = <&blsp1_dma 16>, <&blsp1_dma 17>;
32625956d97fSEmmanuel Vadot			dma-names = "tx", "rx";
3263c66ec88fSEmmanuel Vadot			#address-cells = <1>;
3264c66ec88fSEmmanuel Vadot			#size-cells = <0>;
3265c66ec88fSEmmanuel Vadot			status = "disabled";
3266c66ec88fSEmmanuel Vadot		};
3267c66ec88fSEmmanuel Vadot
32688bab661aSEmmanuel Vadot		blsp1_i2c6: i2c@757a000 {
32698bab661aSEmmanuel Vadot			compatible = "qcom,i2c-qup-v2.2.1";
32708bab661aSEmmanuel Vadot			reg = <0x757a000 0x1000>;
32718bab661aSEmmanuel Vadot			interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
32728bab661aSEmmanuel Vadot			clocks = <&gcc GCC_BLSP1_QUP6_I2C_APPS_CLK>,
32738bab661aSEmmanuel Vadot				 <&gcc GCC_BLSP1_AHB_CLK>;
32748bab661aSEmmanuel Vadot			clock-names = "core", "iface";
32758bab661aSEmmanuel Vadot			pinctrl-names = "default", "sleep";
32768bab661aSEmmanuel Vadot			pinctrl-0 = <&blsp1_i2c6_default>;
32778bab661aSEmmanuel Vadot			pinctrl-1 = <&blsp1_i2c6_sleep>;
32788bab661aSEmmanuel Vadot			dmas = <&blsp1_dma 22>, <&blsp1_dma 23>;
32798bab661aSEmmanuel Vadot			dma-names = "tx", "rx";
32808bab661aSEmmanuel Vadot			#address-cells = <1>;
32818bab661aSEmmanuel Vadot			#size-cells = <0>;
32828bab661aSEmmanuel Vadot			status = "disabled";
32838bab661aSEmmanuel Vadot		};
32848bab661aSEmmanuel Vadot
32858cc087a1SEmmanuel Vadot		blsp2_dma: dma-controller@7584000 {
32865956d97fSEmmanuel Vadot			compatible = "qcom,bam-v1.7.0";
32875956d97fSEmmanuel Vadot			reg = <0x07584000 0x2b000>;
32885956d97fSEmmanuel Vadot			interrupts = <GIC_SPI 239 IRQ_TYPE_LEVEL_HIGH>;
32895956d97fSEmmanuel Vadot			clocks = <&gcc GCC_BLSP2_AHB_CLK>;
32905956d97fSEmmanuel Vadot			clock-names = "bam_clk";
32915956d97fSEmmanuel Vadot			qcom,controlled-remotely;
32925956d97fSEmmanuel Vadot			#dma-cells = <1>;
32935956d97fSEmmanuel Vadot			qcom,ee = <0>;
32945956d97fSEmmanuel Vadot		};
32955956d97fSEmmanuel Vadot
32965956d97fSEmmanuel Vadot		blsp2_uart2: serial@75b0000 {
3297c66ec88fSEmmanuel Vadot			compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
3298c66ec88fSEmmanuel Vadot			reg = <0x075b0000 0x1000>;
3299c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
3300c66ec88fSEmmanuel Vadot			clocks = <&gcc GCC_BLSP2_UART2_APPS_CLK>,
3301c66ec88fSEmmanuel Vadot				 <&gcc GCC_BLSP2_AHB_CLK>;
3302c66ec88fSEmmanuel Vadot			clock-names = "core", "iface";
3303c66ec88fSEmmanuel Vadot			status = "disabled";
3304c66ec88fSEmmanuel Vadot		};
3305c66ec88fSEmmanuel Vadot
33065956d97fSEmmanuel Vadot		blsp2_uart3: serial@75b1000 {
3307c66ec88fSEmmanuel Vadot			compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
3308c66ec88fSEmmanuel Vadot			reg = <0x075b1000 0x1000>;
3309c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
3310c66ec88fSEmmanuel Vadot			clocks = <&gcc GCC_BLSP2_UART3_APPS_CLK>,
3311c66ec88fSEmmanuel Vadot				 <&gcc GCC_BLSP2_AHB_CLK>;
3312c66ec88fSEmmanuel Vadot			clock-names = "core", "iface";
3313c66ec88fSEmmanuel Vadot			status = "disabled";
3314c66ec88fSEmmanuel Vadot		};
3315c66ec88fSEmmanuel Vadot
33165956d97fSEmmanuel Vadot		blsp2_i2c1: i2c@75b5000 {
3317c66ec88fSEmmanuel Vadot			compatible = "qcom,i2c-qup-v2.2.1";
3318c66ec88fSEmmanuel Vadot			reg = <0x075b5000 0x1000>;
3319c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
3320d5b0e70fSEmmanuel Vadot			clocks = <&gcc GCC_BLSP2_QUP1_I2C_APPS_CLK>,
3321d5b0e70fSEmmanuel Vadot				 <&gcc GCC_BLSP2_AHB_CLK>;
3322d5b0e70fSEmmanuel Vadot			clock-names = "core", "iface";
3323c66ec88fSEmmanuel Vadot			pinctrl-names = "default", "sleep";
33245956d97fSEmmanuel Vadot			pinctrl-0 = <&blsp2_i2c1_default>;
33255956d97fSEmmanuel Vadot			pinctrl-1 = <&blsp2_i2c1_sleep>;
33265956d97fSEmmanuel Vadot			dmas = <&blsp2_dma 12>, <&blsp2_dma 13>;
33275956d97fSEmmanuel Vadot			dma-names = "tx", "rx";
3328c66ec88fSEmmanuel Vadot			#address-cells = <1>;
3329c66ec88fSEmmanuel Vadot			#size-cells = <0>;
3330c66ec88fSEmmanuel Vadot			status = "disabled";
3331c66ec88fSEmmanuel Vadot		};
3332c66ec88fSEmmanuel Vadot
33335956d97fSEmmanuel Vadot		blsp2_i2c2: i2c@75b6000 {
3334c66ec88fSEmmanuel Vadot			compatible = "qcom,i2c-qup-v2.2.1";
3335c66ec88fSEmmanuel Vadot			reg = <0x075b6000 0x1000>;
3336c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
3337d5b0e70fSEmmanuel Vadot			clocks = <&gcc GCC_BLSP2_QUP2_I2C_APPS_CLK>,
3338d5b0e70fSEmmanuel Vadot				 <&gcc GCC_BLSP2_AHB_CLK>;
3339d5b0e70fSEmmanuel Vadot			clock-names = "core", "iface";
3340c66ec88fSEmmanuel Vadot			pinctrl-names = "default", "sleep";
33415956d97fSEmmanuel Vadot			pinctrl-0 = <&blsp2_i2c2_default>;
33425956d97fSEmmanuel Vadot			pinctrl-1 = <&blsp2_i2c2_sleep>;
33435956d97fSEmmanuel Vadot			dmas = <&blsp2_dma 14>, <&blsp2_dma 15>;
33445956d97fSEmmanuel Vadot			dma-names = "tx", "rx";
3345c66ec88fSEmmanuel Vadot			#address-cells = <1>;
3346c66ec88fSEmmanuel Vadot			#size-cells = <0>;
3347c66ec88fSEmmanuel Vadot			status = "disabled";
3348c66ec88fSEmmanuel Vadot		};
3349c66ec88fSEmmanuel Vadot
33508cc087a1SEmmanuel Vadot		blsp2_i2c3: i2c@75b7000 {
33518cc087a1SEmmanuel Vadot			compatible = "qcom,i2c-qup-v2.2.1";
33528cc087a1SEmmanuel Vadot			reg = <0x075b7000 0x1000>;
33538cc087a1SEmmanuel Vadot			interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
3354d5b0e70fSEmmanuel Vadot			clocks = <&gcc GCC_BLSP2_QUP3_I2C_APPS_CLK>,
3355d5b0e70fSEmmanuel Vadot				 <&gcc GCC_BLSP2_AHB_CLK>;
3356d5b0e70fSEmmanuel Vadot			clock-names = "core", "iface";
33578cc087a1SEmmanuel Vadot			clock-frequency = <400000>;
33588cc087a1SEmmanuel Vadot			pinctrl-names = "default", "sleep";
33598cc087a1SEmmanuel Vadot			pinctrl-0 = <&blsp2_i2c3_default>;
33608cc087a1SEmmanuel Vadot			pinctrl-1 = <&blsp2_i2c3_sleep>;
33618cc087a1SEmmanuel Vadot			dmas = <&blsp2_dma 16>, <&blsp2_dma 17>;
33628cc087a1SEmmanuel Vadot			dma-names = "tx", "rx";
33638cc087a1SEmmanuel Vadot			#address-cells = <1>;
33648cc087a1SEmmanuel Vadot			#size-cells = <0>;
33658cc087a1SEmmanuel Vadot			status = "disabled";
33668cc087a1SEmmanuel Vadot		};
33678cc087a1SEmmanuel Vadot
33685956d97fSEmmanuel Vadot		blsp2_i2c5: i2c@75b9000 {
33695956d97fSEmmanuel Vadot			compatible = "qcom,i2c-qup-v2.2.1";
33705956d97fSEmmanuel Vadot			reg = <0x75b9000 0x1000>;
33715956d97fSEmmanuel Vadot			interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
3372d5b0e70fSEmmanuel Vadot			clocks = <&gcc GCC_BLSP2_QUP5_I2C_APPS_CLK>,
3373d5b0e70fSEmmanuel Vadot				 <&gcc GCC_BLSP2_AHB_CLK>;
3374d5b0e70fSEmmanuel Vadot			clock-names = "core", "iface";
33755956d97fSEmmanuel Vadot			pinctrl-names = "default";
33765956d97fSEmmanuel Vadot			pinctrl-0 = <&blsp2_i2c5_default>;
33775956d97fSEmmanuel Vadot			dmas = <&blsp2_dma 20>, <&blsp2_dma 21>;
33785956d97fSEmmanuel Vadot			dma-names = "tx", "rx";
33795956d97fSEmmanuel Vadot			#address-cells = <1>;
33805956d97fSEmmanuel Vadot			#size-cells = <0>;
33815956d97fSEmmanuel Vadot			status = "disabled";
33825956d97fSEmmanuel Vadot		};
33835956d97fSEmmanuel Vadot
33845956d97fSEmmanuel Vadot		blsp2_i2c6: i2c@75ba000 {
33855956d97fSEmmanuel Vadot			compatible = "qcom,i2c-qup-v2.2.1";
33865956d97fSEmmanuel Vadot			reg = <0x75ba000 0x1000>;
33875956d97fSEmmanuel Vadot			interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
3388d5b0e70fSEmmanuel Vadot			clocks = <&gcc GCC_BLSP2_QUP6_I2C_APPS_CLK>,
3389d5b0e70fSEmmanuel Vadot				 <&gcc GCC_BLSP2_AHB_CLK>;
3390d5b0e70fSEmmanuel Vadot			clock-names = "core", "iface";
33915956d97fSEmmanuel Vadot			pinctrl-names = "default", "sleep";
33925956d97fSEmmanuel Vadot			pinctrl-0 = <&blsp2_i2c6_default>;
33935956d97fSEmmanuel Vadot			pinctrl-1 = <&blsp2_i2c6_sleep>;
33945956d97fSEmmanuel Vadot			dmas = <&blsp2_dma 22>, <&blsp2_dma 23>;
33955956d97fSEmmanuel Vadot			dma-names = "tx", "rx";
33965956d97fSEmmanuel Vadot			#address-cells = <1>;
33975956d97fSEmmanuel Vadot			#size-cells = <0>;
33985956d97fSEmmanuel Vadot			status = "disabled";
33995956d97fSEmmanuel Vadot		};
34005956d97fSEmmanuel Vadot
34015956d97fSEmmanuel Vadot		blsp2_spi6: spi@75ba000 {
3402c66ec88fSEmmanuel Vadot			compatible = "qcom,spi-qup-v2.2.1";
3403c66ec88fSEmmanuel Vadot			reg = <0x075ba000 0x600>;
3404c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
3405c66ec88fSEmmanuel Vadot			clocks = <&gcc GCC_BLSP2_QUP6_SPI_APPS_CLK>,
3406c66ec88fSEmmanuel Vadot				 <&gcc GCC_BLSP2_AHB_CLK>;
3407c66ec88fSEmmanuel Vadot			clock-names = "core", "iface";
3408c66ec88fSEmmanuel Vadot			pinctrl-names = "default", "sleep";
34095956d97fSEmmanuel Vadot			pinctrl-0 = <&blsp2_spi6_default>;
34105956d97fSEmmanuel Vadot			pinctrl-1 = <&blsp2_spi6_sleep>;
34115956d97fSEmmanuel Vadot			dmas = <&blsp2_dma 22>, <&blsp2_dma 23>;
34125956d97fSEmmanuel Vadot			dma-names = "tx", "rx";
3413c66ec88fSEmmanuel Vadot			#address-cells = <1>;
3414c66ec88fSEmmanuel Vadot			#size-cells = <0>;
3415c66ec88fSEmmanuel Vadot			status = "disabled";
3416c66ec88fSEmmanuel Vadot		};
3417c66ec88fSEmmanuel Vadot
3418c66ec88fSEmmanuel Vadot		usb2: usb@76f8800 {
3419c66ec88fSEmmanuel Vadot			compatible = "qcom,msm8996-dwc3", "qcom,dwc3";
3420c66ec88fSEmmanuel Vadot			reg = <0x076f8800 0x400>;
3421c66ec88fSEmmanuel Vadot			#address-cells = <1>;
3422c66ec88fSEmmanuel Vadot			#size-cells = <1>;
3423c66ec88fSEmmanuel Vadot			ranges;
3424c66ec88fSEmmanuel Vadot
342501950c46SEmmanuel Vadot			interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>,
342601950c46SEmmanuel Vadot				     <GIC_SPI 352 IRQ_TYPE_LEVEL_HIGH>,
342701950c46SEmmanuel Vadot				     <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>;
342801950c46SEmmanuel Vadot			interrupt-names = "pwr_event",
342901950c46SEmmanuel Vadot					  "qusb2_phy",
343001950c46SEmmanuel Vadot					  "hs_phy_irq";
3431aa1a8ff2SEmmanuel Vadot
3432c66ec88fSEmmanuel Vadot			clocks = <&gcc GCC_PERIPH_NOC_USB20_AHB_CLK>,
3433c66ec88fSEmmanuel Vadot				<&gcc GCC_USB20_MASTER_CLK>,
3434c66ec88fSEmmanuel Vadot				<&gcc GCC_USB20_MOCK_UTMI_CLK>,
3435c66ec88fSEmmanuel Vadot				<&gcc GCC_USB20_SLEEP_CLK>,
3436c66ec88fSEmmanuel Vadot				<&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>;
3437d5b0e70fSEmmanuel Vadot			clock-names = "cfg_noc",
3438d5b0e70fSEmmanuel Vadot				      "core",
3439d5b0e70fSEmmanuel Vadot				      "iface",
3440d5b0e70fSEmmanuel Vadot				      "sleep",
3441d5b0e70fSEmmanuel Vadot				      "mock_utmi";
3442c66ec88fSEmmanuel Vadot
3443c66ec88fSEmmanuel Vadot			assigned-clocks = <&gcc GCC_USB20_MOCK_UTMI_CLK>,
3444c66ec88fSEmmanuel Vadot					  <&gcc GCC_USB20_MASTER_CLK>;
3445c66ec88fSEmmanuel Vadot			assigned-clock-rates = <19200000>, <60000000>;
3446c66ec88fSEmmanuel Vadot
3447c66ec88fSEmmanuel Vadot			power-domains = <&gcc USB30_GDSC>;
34485956d97fSEmmanuel Vadot			qcom,select-utmi-as-pipe-clk;
3449c66ec88fSEmmanuel Vadot			status = "disabled";
3450c66ec88fSEmmanuel Vadot
3451d5b0e70fSEmmanuel Vadot			usb2_dwc3: usb@7600000 {
3452c66ec88fSEmmanuel Vadot				compatible = "snps,dwc3";
3453c66ec88fSEmmanuel Vadot				reg = <0x07600000 0xcc00>;
3454aa1a8ff2SEmmanuel Vadot				interrupts = <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
3455c66ec88fSEmmanuel Vadot				phys = <&hsusb_phy2>;
3456c66ec88fSEmmanuel Vadot				phy-names = "usb2-phy";
34575956d97fSEmmanuel Vadot				maximum-speed = "high-speed";
3458c66ec88fSEmmanuel Vadot				snps,dis_u2_susphy_quirk;
3459c66ec88fSEmmanuel Vadot				snps,dis_enblslpm_quirk;
3460c66ec88fSEmmanuel Vadot			};
3461c66ec88fSEmmanuel Vadot		};
3462c66ec88fSEmmanuel Vadot
34635def4c47SEmmanuel Vadot		slimbam: dma-controller@9184000 {
3464c66ec88fSEmmanuel Vadot			compatible = "qcom,bam-v1.7.0";
3465c66ec88fSEmmanuel Vadot			qcom,controlled-remotely;
3466c66ec88fSEmmanuel Vadot			reg = <0x09184000 0x32000>;
3467c66ec88fSEmmanuel Vadot			num-channels = <31>;
3468aa1a8ff2SEmmanuel Vadot			interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>;
3469c66ec88fSEmmanuel Vadot			#dma-cells = <1>;
3470c66ec88fSEmmanuel Vadot			qcom,ee = <1>;
3471c66ec88fSEmmanuel Vadot			qcom,num-ees = <2>;
3472c66ec88fSEmmanuel Vadot		};
3473c66ec88fSEmmanuel Vadot
34748bab661aSEmmanuel Vadot		slim_msm: slim-ngd@91c0000 {
3475c66ec88fSEmmanuel Vadot			compatible = "qcom,slim-ngd-v1.5.0";
3476cb7aa33aSEmmanuel Vadot			reg = <0x091c0000 0x2c000>;
3477aa1a8ff2SEmmanuel Vadot			interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>;
34788bab661aSEmmanuel Vadot			dmas = <&slimbam 3>, <&slimbam 4>;
34798bab661aSEmmanuel Vadot			dma-names = "rx", "tx";
3480c66ec88fSEmmanuel Vadot			#address-cells = <1>;
3481c66ec88fSEmmanuel Vadot			#size-cells = <0>;
3482c66ec88fSEmmanuel Vadot
3483fac71e4eSEmmanuel Vadot			status = "disabled";
3484c66ec88fSEmmanuel Vadot		};
3485c66ec88fSEmmanuel Vadot
3486c66ec88fSEmmanuel Vadot		adsp_pil: remoteproc@9300000 {
3487c66ec88fSEmmanuel Vadot			compatible = "qcom,msm8996-adsp-pil";
3488c66ec88fSEmmanuel Vadot			reg = <0x09300000 0x80000>;
3489c66ec88fSEmmanuel Vadot
3490c66ec88fSEmmanuel Vadot			interrupts-extended = <&intc 0 162 IRQ_TYPE_EDGE_RISING>,
3491d5b0e70fSEmmanuel Vadot					      <&adsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
3492d5b0e70fSEmmanuel Vadot					      <&adsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
3493d5b0e70fSEmmanuel Vadot					      <&adsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
3494d5b0e70fSEmmanuel Vadot					      <&adsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
3495c66ec88fSEmmanuel Vadot			interrupt-names = "wdog", "fatal", "ready",
3496c66ec88fSEmmanuel Vadot					  "handover", "stop-ack";
3497c66ec88fSEmmanuel Vadot
3498cb7aa33aSEmmanuel Vadot			clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>;
3499c66ec88fSEmmanuel Vadot			clock-names = "xo";
3500c66ec88fSEmmanuel Vadot
3501d5b0e70fSEmmanuel Vadot			memory-region = <&adsp_mem>;
3502c66ec88fSEmmanuel Vadot
3503d5b0e70fSEmmanuel Vadot			qcom,smem-states = <&adsp_smp2p_out 0>;
3504c66ec88fSEmmanuel Vadot			qcom,smem-state-names = "stop";
3505c66ec88fSEmmanuel Vadot
35065956d97fSEmmanuel Vadot			power-domains = <&rpmpd MSM8996_VDDCX>;
35075956d97fSEmmanuel Vadot			power-domain-names = "cx";
35085956d97fSEmmanuel Vadot
35095956d97fSEmmanuel Vadot			status = "disabled";
35105956d97fSEmmanuel Vadot
35110e8011faSEmmanuel Vadot			glink-edge {
35120e8011faSEmmanuel Vadot				interrupts = <GIC_SPI 157 IRQ_TYPE_EDGE_RISING>;
35130e8011faSEmmanuel Vadot				label = "lpass";
35140e8011faSEmmanuel Vadot				qcom,remote-pid = <2>;
35150e8011faSEmmanuel Vadot				mboxes = <&apcs_glb 9>;
35160e8011faSEmmanuel Vadot			};
35170e8011faSEmmanuel Vadot
35180e8011faSEmmanuel Vadot
3519c66ec88fSEmmanuel Vadot			smd-edge {
3520c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 156 IRQ_TYPE_EDGE_RISING>;
3521c66ec88fSEmmanuel Vadot
3522c66ec88fSEmmanuel Vadot				label = "lpass";
3523c66ec88fSEmmanuel Vadot				mboxes = <&apcs_glb 8>;
3524c66ec88fSEmmanuel Vadot				qcom,smd-edge = <1>;
3525c66ec88fSEmmanuel Vadot				qcom,remote-pid = <2>;
3526cb7aa33aSEmmanuel Vadot
3527c66ec88fSEmmanuel Vadot				apr {
3528c66ec88fSEmmanuel Vadot					power-domains = <&gcc HLOS1_VOTE_LPASS_ADSP_GDSC>;
3529c66ec88fSEmmanuel Vadot					compatible = "qcom,apr-v2";
3530c66ec88fSEmmanuel Vadot					qcom,smd-channels = "apr_audio_svc";
3531c9ccf3a3SEmmanuel Vadot					qcom,domain = <APR_DOMAIN_ADSP>;
3532c66ec88fSEmmanuel Vadot					#address-cells = <1>;
3533c66ec88fSEmmanuel Vadot					#size-cells = <0>;
3534c66ec88fSEmmanuel Vadot
35358bab661aSEmmanuel Vadot					service@3 {
3536c66ec88fSEmmanuel Vadot						reg = <APR_SVC_ADSP_CORE>;
3537c66ec88fSEmmanuel Vadot						compatible = "qcom,q6core";
3538c66ec88fSEmmanuel Vadot					};
3539c66ec88fSEmmanuel Vadot
35408bab661aSEmmanuel Vadot					q6afe: service@4 {
3541c66ec88fSEmmanuel Vadot						compatible = "qcom,q6afe";
3542c66ec88fSEmmanuel Vadot						reg = <APR_SVC_AFE>;
3543c66ec88fSEmmanuel Vadot						q6afedai: dais {
3544c66ec88fSEmmanuel Vadot							compatible = "qcom,q6afe-dais";
3545c66ec88fSEmmanuel Vadot							#address-cells = <1>;
3546c66ec88fSEmmanuel Vadot							#size-cells = <0>;
3547c66ec88fSEmmanuel Vadot							#sound-dai-cells = <1>;
35488bab661aSEmmanuel Vadot							dai@1 {
3549c66ec88fSEmmanuel Vadot								reg = <1>;
3550c66ec88fSEmmanuel Vadot							};
3551c66ec88fSEmmanuel Vadot						};
3552c66ec88fSEmmanuel Vadot					};
3553c66ec88fSEmmanuel Vadot
35548bab661aSEmmanuel Vadot					q6asm: service@7 {
3555c66ec88fSEmmanuel Vadot						compatible = "qcom,q6asm";
3556c66ec88fSEmmanuel Vadot						reg = <APR_SVC_ASM>;
3557c66ec88fSEmmanuel Vadot						q6asmdai: dais {
3558c66ec88fSEmmanuel Vadot							compatible = "qcom,q6asm-dais";
3559c66ec88fSEmmanuel Vadot							#address-cells = <1>;
3560c66ec88fSEmmanuel Vadot							#size-cells = <0>;
3561c66ec88fSEmmanuel Vadot							#sound-dai-cells = <1>;
3562c66ec88fSEmmanuel Vadot							iommus = <&lpass_q6_smmu 1>;
3563c66ec88fSEmmanuel Vadot						};
3564c66ec88fSEmmanuel Vadot					};
3565c66ec88fSEmmanuel Vadot
35668bab661aSEmmanuel Vadot					q6adm: service@8 {
3567c66ec88fSEmmanuel Vadot						compatible = "qcom,q6adm";
3568c66ec88fSEmmanuel Vadot						reg = <APR_SVC_ADM>;
3569c66ec88fSEmmanuel Vadot						q6routing: routing {
3570c66ec88fSEmmanuel Vadot							compatible = "qcom,q6adm-routing";
3571c66ec88fSEmmanuel Vadot							#sound-dai-cells = <0>;
3572c66ec88fSEmmanuel Vadot						};
3573c66ec88fSEmmanuel Vadot					};
3574c66ec88fSEmmanuel Vadot				};
35750e8011faSEmmanuel Vadot
35760e8011faSEmmanuel Vadot				fastrpc {
35770e8011faSEmmanuel Vadot					compatible = "qcom,fastrpc";
35780e8011faSEmmanuel Vadot					qcom,smd-channels = "fastrpcsmd-apps-dsp";
35790e8011faSEmmanuel Vadot					label = "adsp";
35800e8011faSEmmanuel Vadot					qcom,non-secure-domain;
35810e8011faSEmmanuel Vadot					#address-cells = <1>;
35820e8011faSEmmanuel Vadot					#size-cells = <0>;
35830e8011faSEmmanuel Vadot
35840e8011faSEmmanuel Vadot					cb@5 {
35850e8011faSEmmanuel Vadot						compatible = "qcom,fastrpc-compute-cb";
35860e8011faSEmmanuel Vadot						reg = <5>;
35870e8011faSEmmanuel Vadot						iommus = <&lpass_q6_smmu 5>;
35880e8011faSEmmanuel Vadot					};
35890e8011faSEmmanuel Vadot
35900e8011faSEmmanuel Vadot					cb@6 {
35910e8011faSEmmanuel Vadot						compatible = "qcom,fastrpc-compute-cb";
35920e8011faSEmmanuel Vadot						reg = <6>;
35930e8011faSEmmanuel Vadot						iommus = <&lpass_q6_smmu 6>;
35940e8011faSEmmanuel Vadot					};
35950e8011faSEmmanuel Vadot
35960e8011faSEmmanuel Vadot					cb@7 {
35970e8011faSEmmanuel Vadot						compatible = "qcom,fastrpc-compute-cb";
35980e8011faSEmmanuel Vadot						reg = <7>;
35990e8011faSEmmanuel Vadot						iommus = <&lpass_q6_smmu 7>;
36000e8011faSEmmanuel Vadot					};
36010e8011faSEmmanuel Vadot
36020e8011faSEmmanuel Vadot					cb@8 {
36030e8011faSEmmanuel Vadot						compatible = "qcom,fastrpc-compute-cb";
36040e8011faSEmmanuel Vadot						reg = <8>;
36050e8011faSEmmanuel Vadot						iommus = <&lpass_q6_smmu 8>;
36060e8011faSEmmanuel Vadot					};
36070e8011faSEmmanuel Vadot
36080e8011faSEmmanuel Vadot					cb@9 {
36090e8011faSEmmanuel Vadot						compatible = "qcom,fastrpc-compute-cb";
36100e8011faSEmmanuel Vadot						reg = <9>;
36110e8011faSEmmanuel Vadot						iommus = <&lpass_q6_smmu 9>;
36120e8011faSEmmanuel Vadot					};
36130e8011faSEmmanuel Vadot
36140e8011faSEmmanuel Vadot					cb@10 {
36150e8011faSEmmanuel Vadot						compatible = "qcom,fastrpc-compute-cb";
36160e8011faSEmmanuel Vadot						reg = <10>;
36170e8011faSEmmanuel Vadot						iommus = <&lpass_q6_smmu 10>;
36180e8011faSEmmanuel Vadot					};
36190e8011faSEmmanuel Vadot
36200e8011faSEmmanuel Vadot					cb@11 {
36210e8011faSEmmanuel Vadot						compatible = "qcom,fastrpc-compute-cb";
36220e8011faSEmmanuel Vadot						reg = <11>;
36230e8011faSEmmanuel Vadot						iommus = <&lpass_q6_smmu 11>;
36240e8011faSEmmanuel Vadot					};
36250e8011faSEmmanuel Vadot
36260e8011faSEmmanuel Vadot					cb@12 {
36270e8011faSEmmanuel Vadot						compatible = "qcom,fastrpc-compute-cb";
36280e8011faSEmmanuel Vadot						reg = <12>;
36290e8011faSEmmanuel Vadot						iommus = <&lpass_q6_smmu 12>;
36300e8011faSEmmanuel Vadot					};
36310e8011faSEmmanuel Vadot				};
3632c66ec88fSEmmanuel Vadot			};
3633c66ec88fSEmmanuel Vadot		};
3634c66ec88fSEmmanuel Vadot
3635c66ec88fSEmmanuel Vadot		apcs_glb: mailbox@9820000 {
3636c66ec88fSEmmanuel Vadot			compatible = "qcom,msm8996-apcs-hmss-global";
3637c66ec88fSEmmanuel Vadot			reg = <0x09820000 0x1000>;
3638c66ec88fSEmmanuel Vadot
3639c66ec88fSEmmanuel Vadot			#mbox-cells = <1>;
3640cb7aa33aSEmmanuel Vadot			#clock-cells = <0>;
3641c66ec88fSEmmanuel Vadot		};
3642c66ec88fSEmmanuel Vadot
3643c66ec88fSEmmanuel Vadot		timer@9840000 {
3644c66ec88fSEmmanuel Vadot			#address-cells = <1>;
3645c66ec88fSEmmanuel Vadot			#size-cells = <1>;
3646c66ec88fSEmmanuel Vadot			ranges;
3647c66ec88fSEmmanuel Vadot			compatible = "arm,armv7-timer-mem";
3648c66ec88fSEmmanuel Vadot			reg = <0x09840000 0x1000>;
3649c66ec88fSEmmanuel Vadot			clock-frequency = <19200000>;
3650c66ec88fSEmmanuel Vadot
3651c66ec88fSEmmanuel Vadot			frame@9850000 {
3652c66ec88fSEmmanuel Vadot				frame-number = <0>;
3653c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>,
3654c66ec88fSEmmanuel Vadot					     <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
3655c66ec88fSEmmanuel Vadot				reg = <0x09850000 0x1000>,
3656c66ec88fSEmmanuel Vadot				      <0x09860000 0x1000>;
3657c66ec88fSEmmanuel Vadot			};
3658c66ec88fSEmmanuel Vadot
3659c66ec88fSEmmanuel Vadot			frame@9870000 {
3660c66ec88fSEmmanuel Vadot				frame-number = <1>;
3661c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
3662c66ec88fSEmmanuel Vadot				reg = <0x09870000 0x1000>;
3663c66ec88fSEmmanuel Vadot				status = "disabled";
3664c66ec88fSEmmanuel Vadot			};
3665c66ec88fSEmmanuel Vadot
3666c66ec88fSEmmanuel Vadot			frame@9880000 {
3667c66ec88fSEmmanuel Vadot				frame-number = <2>;
3668c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
3669c66ec88fSEmmanuel Vadot				reg = <0x09880000 0x1000>;
3670c66ec88fSEmmanuel Vadot				status = "disabled";
3671c66ec88fSEmmanuel Vadot			};
3672c66ec88fSEmmanuel Vadot
3673c66ec88fSEmmanuel Vadot			frame@9890000 {
3674c66ec88fSEmmanuel Vadot				frame-number = <3>;
3675c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
3676c66ec88fSEmmanuel Vadot				reg = <0x09890000 0x1000>;
3677c66ec88fSEmmanuel Vadot				status = "disabled";
3678c66ec88fSEmmanuel Vadot			};
3679c66ec88fSEmmanuel Vadot
3680c66ec88fSEmmanuel Vadot			frame@98a0000 {
3681c66ec88fSEmmanuel Vadot				frame-number = <4>;
3682c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
3683c66ec88fSEmmanuel Vadot				reg = <0x098a0000 0x1000>;
3684c66ec88fSEmmanuel Vadot				status = "disabled";
3685c66ec88fSEmmanuel Vadot			};
3686c66ec88fSEmmanuel Vadot
3687c66ec88fSEmmanuel Vadot			frame@98b0000 {
3688c66ec88fSEmmanuel Vadot				frame-number = <5>;
3689c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
3690c66ec88fSEmmanuel Vadot				reg = <0x098b0000 0x1000>;
3691c66ec88fSEmmanuel Vadot				status = "disabled";
3692c66ec88fSEmmanuel Vadot			};
3693c66ec88fSEmmanuel Vadot
3694c66ec88fSEmmanuel Vadot			frame@98c0000 {
3695c66ec88fSEmmanuel Vadot				frame-number = <6>;
3696c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
3697c66ec88fSEmmanuel Vadot				reg = <0x098c0000 0x1000>;
3698c66ec88fSEmmanuel Vadot				status = "disabled";
3699c66ec88fSEmmanuel Vadot			};
3700c66ec88fSEmmanuel Vadot		};
3701c66ec88fSEmmanuel Vadot
3702c66ec88fSEmmanuel Vadot		saw3: syscon@9a10000 {
3703c66ec88fSEmmanuel Vadot			compatible = "syscon";
3704c66ec88fSEmmanuel Vadot			reg = <0x09a10000 0x1000>;
3705c66ec88fSEmmanuel Vadot		};
3706c66ec88fSEmmanuel Vadot
3707cb7aa33aSEmmanuel Vadot		cbf: clock-controller@9a11000 {
3708cb7aa33aSEmmanuel Vadot			compatible = "qcom,msm8996-cbf";
3709cb7aa33aSEmmanuel Vadot			reg = <0x09a11000 0x10000>;
3710cb7aa33aSEmmanuel Vadot			clocks = <&rpmcc RPM_SMD_XO_A_CLK_SRC>, <&apcs_glb>;
3711cb7aa33aSEmmanuel Vadot			#clock-cells = <0>;
3712aa1a8ff2SEmmanuel Vadot			#interconnect-cells = <1>;
3713cb7aa33aSEmmanuel Vadot		};
3714cb7aa33aSEmmanuel Vadot
3715c66ec88fSEmmanuel Vadot		intc: interrupt-controller@9bc0000 {
3716c66ec88fSEmmanuel Vadot			compatible = "qcom,msm8996-gic-v3", "arm,gic-v3";
3717c66ec88fSEmmanuel Vadot			#interrupt-cells = <3>;
3718c66ec88fSEmmanuel Vadot			interrupt-controller;
3719c66ec88fSEmmanuel Vadot			#redistributor-regions = <1>;
3720c66ec88fSEmmanuel Vadot			redistributor-stride = <0x0 0x40000>;
3721c66ec88fSEmmanuel Vadot			reg = <0x09bc0000 0x10000>,
3722c66ec88fSEmmanuel Vadot			      <0x09c00000 0x100000>;
3723c66ec88fSEmmanuel Vadot			interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
3724c66ec88fSEmmanuel Vadot		};
3725c66ec88fSEmmanuel Vadot	};
3726c66ec88fSEmmanuel Vadot
3727c66ec88fSEmmanuel Vadot	sound: sound {
3728c66ec88fSEmmanuel Vadot	};
3729c66ec88fSEmmanuel Vadot
3730c66ec88fSEmmanuel Vadot	thermal-zones {
3731c66ec88fSEmmanuel Vadot		cpu0-thermal {
3732c66ec88fSEmmanuel Vadot			polling-delay-passive = <250>;
3733c66ec88fSEmmanuel Vadot
3734c66ec88fSEmmanuel Vadot			thermal-sensors = <&tsens0 3>;
3735c66ec88fSEmmanuel Vadot
3736c66ec88fSEmmanuel Vadot			trips {
3737c66ec88fSEmmanuel Vadot				cpu0_alert0: trip-point0 {
3738c66ec88fSEmmanuel Vadot					temperature = <75000>;
3739c66ec88fSEmmanuel Vadot					hysteresis = <2000>;
3740c66ec88fSEmmanuel Vadot					type = "passive";
3741c66ec88fSEmmanuel Vadot				};
3742c66ec88fSEmmanuel Vadot
3743cb7aa33aSEmmanuel Vadot				cpu0_crit: cpu-crit {
3744c66ec88fSEmmanuel Vadot					temperature = <110000>;
3745c66ec88fSEmmanuel Vadot					hysteresis = <2000>;
3746c66ec88fSEmmanuel Vadot					type = "critical";
3747c66ec88fSEmmanuel Vadot				};
3748c66ec88fSEmmanuel Vadot			};
3749c66ec88fSEmmanuel Vadot		};
3750c66ec88fSEmmanuel Vadot
3751c66ec88fSEmmanuel Vadot		cpu1-thermal {
3752c66ec88fSEmmanuel Vadot			polling-delay-passive = <250>;
3753c66ec88fSEmmanuel Vadot
3754c66ec88fSEmmanuel Vadot			thermal-sensors = <&tsens0 5>;
3755c66ec88fSEmmanuel Vadot
3756c66ec88fSEmmanuel Vadot			trips {
3757c66ec88fSEmmanuel Vadot				cpu1_alert0: trip-point0 {
3758c66ec88fSEmmanuel Vadot					temperature = <75000>;
3759c66ec88fSEmmanuel Vadot					hysteresis = <2000>;
3760c66ec88fSEmmanuel Vadot					type = "passive";
3761c66ec88fSEmmanuel Vadot				};
3762c66ec88fSEmmanuel Vadot
3763cb7aa33aSEmmanuel Vadot				cpu1_crit: cpu-crit {
3764c66ec88fSEmmanuel Vadot					temperature = <110000>;
3765c66ec88fSEmmanuel Vadot					hysteresis = <2000>;
3766c66ec88fSEmmanuel Vadot					type = "critical";
3767c66ec88fSEmmanuel Vadot				};
3768c66ec88fSEmmanuel Vadot			};
3769c66ec88fSEmmanuel Vadot		};
3770c66ec88fSEmmanuel Vadot
3771c66ec88fSEmmanuel Vadot		cpu2-thermal {
3772c66ec88fSEmmanuel Vadot			polling-delay-passive = <250>;
3773c66ec88fSEmmanuel Vadot
3774c66ec88fSEmmanuel Vadot			thermal-sensors = <&tsens0 8>;
3775c66ec88fSEmmanuel Vadot
3776c66ec88fSEmmanuel Vadot			trips {
3777c66ec88fSEmmanuel Vadot				cpu2_alert0: trip-point0 {
3778c66ec88fSEmmanuel Vadot					temperature = <75000>;
3779c66ec88fSEmmanuel Vadot					hysteresis = <2000>;
3780c66ec88fSEmmanuel Vadot					type = "passive";
3781c66ec88fSEmmanuel Vadot				};
3782c66ec88fSEmmanuel Vadot
3783cb7aa33aSEmmanuel Vadot				cpu2_crit: cpu-crit {
3784c66ec88fSEmmanuel Vadot					temperature = <110000>;
3785c66ec88fSEmmanuel Vadot					hysteresis = <2000>;
3786c66ec88fSEmmanuel Vadot					type = "critical";
3787c66ec88fSEmmanuel Vadot				};
3788c66ec88fSEmmanuel Vadot			};
3789c66ec88fSEmmanuel Vadot		};
3790c66ec88fSEmmanuel Vadot
3791c66ec88fSEmmanuel Vadot		cpu3-thermal {
3792c66ec88fSEmmanuel Vadot			polling-delay-passive = <250>;
3793c66ec88fSEmmanuel Vadot
3794c66ec88fSEmmanuel Vadot			thermal-sensors = <&tsens0 10>;
3795c66ec88fSEmmanuel Vadot
3796c66ec88fSEmmanuel Vadot			trips {
3797c66ec88fSEmmanuel Vadot				cpu3_alert0: trip-point0 {
3798c66ec88fSEmmanuel Vadot					temperature = <75000>;
3799c66ec88fSEmmanuel Vadot					hysteresis = <2000>;
3800c66ec88fSEmmanuel Vadot					type = "passive";
3801c66ec88fSEmmanuel Vadot				};
3802c66ec88fSEmmanuel Vadot
3803cb7aa33aSEmmanuel Vadot				cpu3_crit: cpu-crit {
3804c66ec88fSEmmanuel Vadot					temperature = <110000>;
3805c66ec88fSEmmanuel Vadot					hysteresis = <2000>;
3806c66ec88fSEmmanuel Vadot					type = "critical";
3807c66ec88fSEmmanuel Vadot				};
3808c66ec88fSEmmanuel Vadot			};
3809c66ec88fSEmmanuel Vadot		};
3810c66ec88fSEmmanuel Vadot
3811c9ccf3a3SEmmanuel Vadot		gpu-top-thermal {
3812c66ec88fSEmmanuel Vadot			polling-delay-passive = <250>;
3813c66ec88fSEmmanuel Vadot
3814c66ec88fSEmmanuel Vadot			thermal-sensors = <&tsens1 6>;
3815c66ec88fSEmmanuel Vadot
3816c66ec88fSEmmanuel Vadot			trips {
3817c66ec88fSEmmanuel Vadot				gpu1_alert0: trip-point0 {
3818c66ec88fSEmmanuel Vadot					temperature = <90000>;
3819c66ec88fSEmmanuel Vadot					hysteresis = <2000>;
3820354d7675SEmmanuel Vadot					type = "passive";
3821354d7675SEmmanuel Vadot				};
3822354d7675SEmmanuel Vadot			};
3823354d7675SEmmanuel Vadot
3824354d7675SEmmanuel Vadot			cooling-maps {
3825354d7675SEmmanuel Vadot				map0 {
3826354d7675SEmmanuel Vadot					trip = <&gpu1_alert0>;
3827354d7675SEmmanuel Vadot					cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
3828c66ec88fSEmmanuel Vadot				};
3829c66ec88fSEmmanuel Vadot			};
3830c66ec88fSEmmanuel Vadot		};
3831c66ec88fSEmmanuel Vadot
3832c9ccf3a3SEmmanuel Vadot		gpu-bottom-thermal {
3833c66ec88fSEmmanuel Vadot			polling-delay-passive = <250>;
3834c66ec88fSEmmanuel Vadot
3835c66ec88fSEmmanuel Vadot			thermal-sensors = <&tsens1 7>;
3836c66ec88fSEmmanuel Vadot
3837c66ec88fSEmmanuel Vadot			trips {
3838c66ec88fSEmmanuel Vadot				gpu2_alert0: trip-point0 {
3839c66ec88fSEmmanuel Vadot					temperature = <90000>;
3840c66ec88fSEmmanuel Vadot					hysteresis = <2000>;
3841354d7675SEmmanuel Vadot					type = "passive";
3842354d7675SEmmanuel Vadot				};
3843354d7675SEmmanuel Vadot			};
3844354d7675SEmmanuel Vadot
3845354d7675SEmmanuel Vadot			cooling-maps {
3846354d7675SEmmanuel Vadot				map0 {
3847354d7675SEmmanuel Vadot					trip = <&gpu2_alert0>;
3848354d7675SEmmanuel Vadot					cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
3849c66ec88fSEmmanuel Vadot				};
3850c66ec88fSEmmanuel Vadot			};
3851c66ec88fSEmmanuel Vadot		};
3852c66ec88fSEmmanuel Vadot
3853c66ec88fSEmmanuel Vadot		m4m-thermal {
3854c66ec88fSEmmanuel Vadot			polling-delay-passive = <250>;
3855c66ec88fSEmmanuel Vadot
3856c66ec88fSEmmanuel Vadot			thermal-sensors = <&tsens0 1>;
3857c66ec88fSEmmanuel Vadot
3858c66ec88fSEmmanuel Vadot			trips {
3859c66ec88fSEmmanuel Vadot				m4m_alert0: trip-point0 {
3860c66ec88fSEmmanuel Vadot					temperature = <90000>;
3861c66ec88fSEmmanuel Vadot					hysteresis = <2000>;
3862c66ec88fSEmmanuel Vadot					type = "hot";
3863c66ec88fSEmmanuel Vadot				};
3864c66ec88fSEmmanuel Vadot			};
3865c66ec88fSEmmanuel Vadot		};
3866c66ec88fSEmmanuel Vadot
3867c66ec88fSEmmanuel Vadot		l3-or-venus-thermal {
3868c66ec88fSEmmanuel Vadot			polling-delay-passive = <250>;
3869c66ec88fSEmmanuel Vadot
3870c66ec88fSEmmanuel Vadot			thermal-sensors = <&tsens0 2>;
3871c66ec88fSEmmanuel Vadot
3872c66ec88fSEmmanuel Vadot			trips {
3873c66ec88fSEmmanuel Vadot				l3_or_venus_alert0: trip-point0 {
3874c66ec88fSEmmanuel Vadot					temperature = <90000>;
3875c66ec88fSEmmanuel Vadot					hysteresis = <2000>;
3876c66ec88fSEmmanuel Vadot					type = "hot";
3877c66ec88fSEmmanuel Vadot				};
3878c66ec88fSEmmanuel Vadot			};
3879c66ec88fSEmmanuel Vadot		};
3880c66ec88fSEmmanuel Vadot
3881c66ec88fSEmmanuel Vadot		cluster0-l2-thermal {
3882c66ec88fSEmmanuel Vadot			polling-delay-passive = <250>;
3883c66ec88fSEmmanuel Vadot
3884c66ec88fSEmmanuel Vadot			thermal-sensors = <&tsens0 7>;
3885c66ec88fSEmmanuel Vadot
3886c66ec88fSEmmanuel Vadot			trips {
3887c66ec88fSEmmanuel Vadot				cluster0_l2_alert0: trip-point0 {
3888c66ec88fSEmmanuel Vadot					temperature = <90000>;
3889c66ec88fSEmmanuel Vadot					hysteresis = <2000>;
3890c66ec88fSEmmanuel Vadot					type = "hot";
3891c66ec88fSEmmanuel Vadot				};
3892c66ec88fSEmmanuel Vadot			};
3893c66ec88fSEmmanuel Vadot		};
3894c66ec88fSEmmanuel Vadot
3895c66ec88fSEmmanuel Vadot		cluster1-l2-thermal {
3896c66ec88fSEmmanuel Vadot			polling-delay-passive = <250>;
3897c66ec88fSEmmanuel Vadot
3898c66ec88fSEmmanuel Vadot			thermal-sensors = <&tsens0 12>;
3899c66ec88fSEmmanuel Vadot
3900c66ec88fSEmmanuel Vadot			trips {
3901c66ec88fSEmmanuel Vadot				cluster1_l2_alert0: trip-point0 {
3902c66ec88fSEmmanuel Vadot					temperature = <90000>;
3903c66ec88fSEmmanuel Vadot					hysteresis = <2000>;
3904c66ec88fSEmmanuel Vadot					type = "hot";
3905c66ec88fSEmmanuel Vadot				};
3906c66ec88fSEmmanuel Vadot			};
3907c66ec88fSEmmanuel Vadot		};
3908c66ec88fSEmmanuel Vadot
3909c66ec88fSEmmanuel Vadot		camera-thermal {
3910c66ec88fSEmmanuel Vadot			polling-delay-passive = <250>;
3911c66ec88fSEmmanuel Vadot
3912c66ec88fSEmmanuel Vadot			thermal-sensors = <&tsens1 1>;
3913c66ec88fSEmmanuel Vadot
3914c66ec88fSEmmanuel Vadot			trips {
3915c66ec88fSEmmanuel Vadot				camera_alert0: trip-point0 {
3916c66ec88fSEmmanuel Vadot					temperature = <90000>;
3917c66ec88fSEmmanuel Vadot					hysteresis = <2000>;
3918c66ec88fSEmmanuel Vadot					type = "hot";
3919c66ec88fSEmmanuel Vadot				};
3920c66ec88fSEmmanuel Vadot			};
3921c66ec88fSEmmanuel Vadot		};
3922c66ec88fSEmmanuel Vadot
3923c66ec88fSEmmanuel Vadot		q6-dsp-thermal {
3924c66ec88fSEmmanuel Vadot			polling-delay-passive = <250>;
3925c66ec88fSEmmanuel Vadot
3926c66ec88fSEmmanuel Vadot			thermal-sensors = <&tsens1 2>;
3927c66ec88fSEmmanuel Vadot
3928c66ec88fSEmmanuel Vadot			trips {
3929c66ec88fSEmmanuel Vadot				q6_dsp_alert0: trip-point0 {
3930c66ec88fSEmmanuel Vadot					temperature = <90000>;
3931c66ec88fSEmmanuel Vadot					hysteresis = <2000>;
3932c66ec88fSEmmanuel Vadot					type = "hot";
3933c66ec88fSEmmanuel Vadot				};
3934c66ec88fSEmmanuel Vadot			};
3935c66ec88fSEmmanuel Vadot		};
3936c66ec88fSEmmanuel Vadot
3937c66ec88fSEmmanuel Vadot		mem-thermal {
3938c66ec88fSEmmanuel Vadot			polling-delay-passive = <250>;
3939c66ec88fSEmmanuel Vadot
3940c66ec88fSEmmanuel Vadot			thermal-sensors = <&tsens1 3>;
3941c66ec88fSEmmanuel Vadot
3942c66ec88fSEmmanuel Vadot			trips {
3943c66ec88fSEmmanuel Vadot				mem_alert0: trip-point0 {
3944c66ec88fSEmmanuel Vadot					temperature = <90000>;
3945c66ec88fSEmmanuel Vadot					hysteresis = <2000>;
3946c66ec88fSEmmanuel Vadot					type = "hot";
3947c66ec88fSEmmanuel Vadot				};
3948c66ec88fSEmmanuel Vadot			};
3949c66ec88fSEmmanuel Vadot		};
3950c66ec88fSEmmanuel Vadot
3951c66ec88fSEmmanuel Vadot		modemtx-thermal {
3952c66ec88fSEmmanuel Vadot			polling-delay-passive = <250>;
3953c66ec88fSEmmanuel Vadot
3954c66ec88fSEmmanuel Vadot			thermal-sensors = <&tsens1 4>;
3955c66ec88fSEmmanuel Vadot
3956c66ec88fSEmmanuel Vadot			trips {
3957c66ec88fSEmmanuel Vadot				modemtx_alert0: trip-point0 {
3958c66ec88fSEmmanuel Vadot					temperature = <90000>;
3959c66ec88fSEmmanuel Vadot					hysteresis = <2000>;
3960c66ec88fSEmmanuel Vadot					type = "hot";
3961c66ec88fSEmmanuel Vadot				};
3962c66ec88fSEmmanuel Vadot			};
3963c66ec88fSEmmanuel Vadot		};
3964c66ec88fSEmmanuel Vadot	};
3965c66ec88fSEmmanuel Vadot
3966c66ec88fSEmmanuel Vadot	timer {
3967c66ec88fSEmmanuel Vadot		compatible = "arm,armv8-timer";
3968c66ec88fSEmmanuel Vadot		interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>,
3969c66ec88fSEmmanuel Vadot			     <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>,
3970c66ec88fSEmmanuel Vadot			     <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>,
3971c66ec88fSEmmanuel Vadot			     <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>;
3972c66ec88fSEmmanuel Vadot	};
3973c66ec88fSEmmanuel Vadot};
3974