xref: /openbmc/linux/scripts/dtc/include-prefixes/arm64/qcom/msm8916.dtsi (revision 060f35a317ef09101b128f399dce7ed13d019461)
197fb5e8dSThomas Gleixner// SPDX-License-Identifier: GPL-2.0-only
257f0a7eaSKumar Gala/*
357f0a7eaSKumar Gala * Copyright (c) 2013-2015, The Linux Foundation. All rights reserved.
457f0a7eaSKumar Gala */
557f0a7eaSKumar Gala
6b1fcc570SMike Leach#include <dt-bindings/arm/coresight-cti-dt.h>
7327c0f5fSStephan Gerhold#include <dt-bindings/clock/qcom,gcc-msm8916.h>
8327c0f5fSStephan Gerhold#include <dt-bindings/clock/qcom,rpmcc.h>
9366c3797SGeorgi Djakov#include <dt-bindings/interconnect/qcom,msm8916.h>
1057f0a7eaSKumar Gala#include <dt-bindings/interrupt-controller/arm-gic.h>
11809f299aSStephan Gerhold#include <dt-bindings/power/qcom-rpmpd.h>
1257f0a7eaSKumar Gala#include <dt-bindings/reset/qcom,gcc-msm8916.h>
1315ee8f02SRajendra Nayak#include <dt-bindings/thermal/thermal.h>
1457f0a7eaSKumar Gala
1557f0a7eaSKumar Gala/ {
1657f0a7eaSKumar Gala	interrupt-parent = <&intc>;
1757f0a7eaSKumar Gala
1857f0a7eaSKumar Gala	#address-cells = <2>;
1957f0a7eaSKumar Gala	#size-cells = <2>;
2057f0a7eaSKumar Gala
2157f0a7eaSKumar Gala	chosen { };
2257f0a7eaSKumar Gala
2374f417caSVinod Koul	memory@80000000 {
2457f0a7eaSKumar Gala		device_type = "memory";
2557f0a7eaSKumar Gala		/* We expect the bootloader to fill in the reg */
2674f417caSVinod Koul		reg = <0 0x80000000 0 0>;
2757f0a7eaSKumar Gala	};
2857f0a7eaSKumar Gala
29a0ece657SAndy Gross	reserved-memory {
30a0ece657SAndy Gross		#address-cells = <2>;
31a0ece657SAndy Gross		#size-cells = <2>;
32a0ece657SAndy Gross		ranges;
33a0ece657SAndy Gross
347258e10eSBjorn Andersson		tz-apps@86000000 {
357258e10eSBjorn Andersson			reg = <0x0 0x86000000 0x0 0x300000>;
36a0ece657SAndy Gross			no-map;
37a0ece657SAndy Gross		};
38a0ece657SAndy Gross
39c86c43c4SStephan Gerhold		smem@86300000 {
40c86c43c4SStephan Gerhold			compatible = "qcom,smem";
417258e10eSBjorn Andersson			reg = <0x0 0x86300000 0x0 0x100000>;
427258e10eSBjorn Andersson			no-map;
43c86c43c4SStephan Gerhold
44c86c43c4SStephan Gerhold			hwlocks = <&tcsr_mutex 3>;
45c86c43c4SStephan Gerhold			qcom,rpm-msg-ram = <&rpm_msg_ram>;
467258e10eSBjorn Andersson		};
477258e10eSBjorn Andersson
487258e10eSBjorn Andersson		hypervisor@86400000 {
497258e10eSBjorn Andersson			reg = <0x0 0x86400000 0x0 0x100000>;
507258e10eSBjorn Andersson			no-map;
517258e10eSBjorn Andersson		};
527258e10eSBjorn Andersson
537258e10eSBjorn Andersson		tz@86500000 {
547258e10eSBjorn Andersson			reg = <0x0 0x86500000 0x0 0x180000>;
557258e10eSBjorn Andersson			no-map;
567258e10eSBjorn Andersson		};
577258e10eSBjorn Andersson
58d5ae2528SVincent Knecht		reserved@86680000 {
597258e10eSBjorn Andersson			reg = <0x0 0x86680000 0x0 0x80000>;
607258e10eSBjorn Andersson			no-map;
617258e10eSBjorn Andersson		};
627258e10eSBjorn Andersson
637258e10eSBjorn Andersson		rmtfs@86700000 {
648cd00d5aSBjorn Andersson			compatible = "qcom,rmtfs-mem";
657258e10eSBjorn Andersson			reg = <0x0 0x86700000 0x0 0xe0000>;
667258e10eSBjorn Andersson			no-map;
678cd00d5aSBjorn Andersson
688cd00d5aSBjorn Andersson			qcom,client-id = <1>;
697258e10eSBjorn Andersson		};
707258e10eSBjorn Andersson
71d5ae2528SVincent Knecht		rfsa@867e0000 {
727258e10eSBjorn Andersson			reg = <0x0 0x867e0000 0x0 0x20000>;
737258e10eSBjorn Andersson			no-map;
747258e10eSBjorn Andersson		};
757258e10eSBjorn Andersson
762b98ce13SBjorn Andersson		mpss_mem: mpss@86800000 {
777258e10eSBjorn Andersson			reg = <0x0 0x86800000 0x0 0x2b00000>;
787258e10eSBjorn Andersson			no-map;
797258e10eSBjorn Andersson		};
807258e10eSBjorn Andersson
8188106096SBjorn Andersson		wcnss_mem: wcnss@89300000 {
827258e10eSBjorn Andersson			reg = <0x0 0x89300000 0x0 0x600000>;
83a0ece657SAndy Gross			no-map;
84a0ece657SAndy Gross		};
85d9a3e0c5SBjorn Andersson
8616bd6c82SStanimir Varbanov		venus_mem: venus@89900000 {
8716bd6c82SStanimir Varbanov			reg = <0x0 0x89900000 0x0 0x600000>;
8816bd6c82SStanimir Varbanov			no-map;
8916bd6c82SStanimir Varbanov		};
9016bd6c82SStanimir Varbanov
91d9a3e0c5SBjorn Andersson		mba_mem: mba@8ea00000 {
92d9a3e0c5SBjorn Andersson			no-map;
93d9a3e0c5SBjorn Andersson			reg = <0 0x8ea00000 0 0x100000>;
94d9a3e0c5SBjorn Andersson		};
95a0ece657SAndy Gross	};
96a0ece657SAndy Gross
97327c0f5fSStephan Gerhold	clocks {
98327c0f5fSStephan Gerhold		xo_board: xo-board {
99327c0f5fSStephan Gerhold			compatible = "fixed-clock";
100327c0f5fSStephan Gerhold			#clock-cells = <0>;
101327c0f5fSStephan Gerhold			clock-frequency = <19200000>;
102327c0f5fSStephan Gerhold		};
103327c0f5fSStephan Gerhold
104327c0f5fSStephan Gerhold		sleep_clk: sleep-clk {
105327c0f5fSStephan Gerhold			compatible = "fixed-clock";
106327c0f5fSStephan Gerhold			#clock-cells = <0>;
107*db975f5eSDmitry Baryshkov			clock-frequency = <32764>;
108327c0f5fSStephan Gerhold		};
109327c0f5fSStephan Gerhold	};
110327c0f5fSStephan Gerhold
11157f0a7eaSKumar Gala	cpus {
11257f0a7eaSKumar Gala		#address-cells = <1>;
11357f0a7eaSKumar Gala		#size-cells = <0>;
11457f0a7eaSKumar Gala
11557f0a7eaSKumar Gala		CPU0: cpu@0 {
11657f0a7eaSKumar Gala			device_type = "cpu";
11731af04cdSRob Herring			compatible = "arm,cortex-a53";
11857f0a7eaSKumar Gala			reg = <0x0>;
1190a9bcf4eSStephen Boyd			next-level-cache = <&L2_0>;
120a0df399fSLina Iyer			enable-method = "psci";
121e4f045efSNiklas Cassel			clocks = <&apcs>;
12265afdf45SGeorgi Djakov			operating-points-v2 = <&cpu_opp_table>;
12315ee8f02SRajendra Nayak			#cooling-cells = <2>;
124e3713155SUlf Hansson			power-domains = <&CPU_PD0>;
125e3713155SUlf Hansson			power-domain-names = "psci";
126a22f9a76SStephan Gerhold			qcom,acc = <&cpu0_acc>;
127a22f9a76SStephan Gerhold			qcom,saw = <&cpu0_saw>;
12857f0a7eaSKumar Gala		};
12957f0a7eaSKumar Gala
13057f0a7eaSKumar Gala		CPU1: cpu@1 {
13157f0a7eaSKumar Gala			device_type = "cpu";
13231af04cdSRob Herring			compatible = "arm,cortex-a53";
13357f0a7eaSKumar Gala			reg = <0x1>;
1340a9bcf4eSStephen Boyd			next-level-cache = <&L2_0>;
135a0df399fSLina Iyer			enable-method = "psci";
136e4f045efSNiklas Cassel			clocks = <&apcs>;
13765afdf45SGeorgi Djakov			operating-points-v2 = <&cpu_opp_table>;
13815ee8f02SRajendra Nayak			#cooling-cells = <2>;
139e3713155SUlf Hansson			power-domains = <&CPU_PD1>;
140e3713155SUlf Hansson			power-domain-names = "psci";
141a22f9a76SStephan Gerhold			qcom,acc = <&cpu1_acc>;
142a22f9a76SStephan Gerhold			qcom,saw = <&cpu1_saw>;
14357f0a7eaSKumar Gala		};
14457f0a7eaSKumar Gala
14557f0a7eaSKumar Gala		CPU2: cpu@2 {
14657f0a7eaSKumar Gala			device_type = "cpu";
14731af04cdSRob Herring			compatible = "arm,cortex-a53";
14857f0a7eaSKumar Gala			reg = <0x2>;
1490a9bcf4eSStephen Boyd			next-level-cache = <&L2_0>;
150a0df399fSLina Iyer			enable-method = "psci";
151e4f045efSNiklas Cassel			clocks = <&apcs>;
15265afdf45SGeorgi Djakov			operating-points-v2 = <&cpu_opp_table>;
15315ee8f02SRajendra Nayak			#cooling-cells = <2>;
154e3713155SUlf Hansson			power-domains = <&CPU_PD2>;
155e3713155SUlf Hansson			power-domain-names = "psci";
156a22f9a76SStephan Gerhold			qcom,acc = <&cpu2_acc>;
157a22f9a76SStephan Gerhold			qcom,saw = <&cpu2_saw>;
15857f0a7eaSKumar Gala		};
15957f0a7eaSKumar Gala
16057f0a7eaSKumar Gala		CPU3: cpu@3 {
16157f0a7eaSKumar Gala			device_type = "cpu";
16231af04cdSRob Herring			compatible = "arm,cortex-a53";
16357f0a7eaSKumar Gala			reg = <0x3>;
1640a9bcf4eSStephen Boyd			next-level-cache = <&L2_0>;
165a0df399fSLina Iyer			enable-method = "psci";
166e4f045efSNiklas Cassel			clocks = <&apcs>;
16765afdf45SGeorgi Djakov			operating-points-v2 = <&cpu_opp_table>;
16815ee8f02SRajendra Nayak			#cooling-cells = <2>;
169e3713155SUlf Hansson			power-domains = <&CPU_PD3>;
170e3713155SUlf Hansson			power-domain-names = "psci";
171a22f9a76SStephan Gerhold			qcom,acc = <&cpu3_acc>;
172a22f9a76SStephan Gerhold			qcom,saw = <&cpu3_saw>;
1730a9bcf4eSStephen Boyd		};
1740a9bcf4eSStephen Boyd
1750a9bcf4eSStephen Boyd		L2_0: l2-cache {
1760a9bcf4eSStephen Boyd			compatible = "cache";
1770a9bcf4eSStephen Boyd			cache-level = <2>;
1789c6e72fbSKrzysztof Kozlowski			cache-unified;
17957f0a7eaSKumar Gala		};
180a0df399fSLina Iyer
181a0df399fSLina Iyer		idle-states {
1824742ab86SAmit Kucheria			entry-method = "psci";
1834742ab86SAmit Kucheria
1844c9e5dfbSAmit Kucheria			CPU_SLEEP_0: cpu-sleep-0 {
185a0df399fSLina Iyer				compatible = "arm,idle-state";
1864c9e5dfbSAmit Kucheria				idle-state-name = "standalone-power-collapse";
187a0df399fSLina Iyer				arm,psci-suspend-param = <0x40000002>;
188a0df399fSLina Iyer				entry-latency-us = <130>;
189a0df399fSLina Iyer				exit-latency-us = <150>;
190a0df399fSLina Iyer				min-residency-us = <2000>;
191a0df399fSLina Iyer				local-timer-stop;
192a0df399fSLina Iyer			};
193912f9a6dSUlf Hansson		};
194912f9a6dSUlf Hansson
195912f9a6dSUlf Hansson		domain-idle-states {
196e3713155SUlf Hansson
197e3713155SUlf Hansson			CLUSTER_RET: cluster-retention {
198e3713155SUlf Hansson				compatible = "domain-idle-state";
199e3713155SUlf Hansson				arm,psci-suspend-param = <0x41000012>;
200e3713155SUlf Hansson				entry-latency-us = <500>;
201e3713155SUlf Hansson				exit-latency-us = <500>;
202e3713155SUlf Hansson				min-residency-us = <2000>;
203e3713155SUlf Hansson			};
204e3713155SUlf Hansson
205e3713155SUlf Hansson			CLUSTER_PWRDN: cluster-gdhs {
206e3713155SUlf Hansson				compatible = "domain-idle-state";
207e3713155SUlf Hansson				arm,psci-suspend-param = <0x41000032>;
208e3713155SUlf Hansson				entry-latency-us = <2000>;
209e3713155SUlf Hansson				exit-latency-us = <2000>;
210e3713155SUlf Hansson				min-residency-us = <6000>;
211e3713155SUlf Hansson			};
212a0df399fSLina Iyer		};
213a0df399fSLina Iyer	};
214a0df399fSLina Iyer
2150e3e6546SKrzysztof Kozlowski	cpu_opp_table: opp-table-cpu {
216327c0f5fSStephan Gerhold		compatible = "operating-points-v2";
217327c0f5fSStephan Gerhold		opp-shared;
218327c0f5fSStephan Gerhold
219327c0f5fSStephan Gerhold		opp-200000000 {
220327c0f5fSStephan Gerhold			opp-hz = /bits/ 64 <200000000>;
221327c0f5fSStephan Gerhold		};
222327c0f5fSStephan Gerhold		opp-400000000 {
223327c0f5fSStephan Gerhold			opp-hz = /bits/ 64 <400000000>;
224327c0f5fSStephan Gerhold		};
225327c0f5fSStephan Gerhold		opp-800000000 {
226327c0f5fSStephan Gerhold			opp-hz = /bits/ 64 <800000000>;
227327c0f5fSStephan Gerhold		};
228327c0f5fSStephan Gerhold		opp-998400000 {
229327c0f5fSStephan Gerhold			opp-hz = /bits/ 64 <998400000>;
230327c0f5fSStephan Gerhold		};
231327c0f5fSStephan Gerhold	};
232327c0f5fSStephan Gerhold
233327c0f5fSStephan Gerhold	firmware {
234327c0f5fSStephan Gerhold		scm: scm {
235327c0f5fSStephan Gerhold			compatible = "qcom,scm-msm8916", "qcom,scm";
236327c0f5fSStephan Gerhold			clocks = <&gcc GCC_CRYPTO_CLK>,
237327c0f5fSStephan Gerhold				 <&gcc GCC_CRYPTO_AXI_CLK>,
238327c0f5fSStephan Gerhold				 <&gcc GCC_CRYPTO_AHB_CLK>;
239327c0f5fSStephan Gerhold			clock-names = "core", "bus", "iface";
240327c0f5fSStephan Gerhold			#reset-cells = <1>;
241327c0f5fSStephan Gerhold
242327c0f5fSStephan Gerhold			qcom,dload-mode = <&tcsr 0x6100>;
243327c0f5fSStephan Gerhold		};
244327c0f5fSStephan Gerhold	};
245327c0f5fSStephan Gerhold
246327c0f5fSStephan Gerhold	pmu {
247327c0f5fSStephan Gerhold		compatible = "arm,cortex-a53-pmu";
248327c0f5fSStephan Gerhold		interrupts = <GIC_PPI 7 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
249327c0f5fSStephan Gerhold	};
250327c0f5fSStephan Gerhold
251a0df399fSLina Iyer	psci {
252a0df399fSLina Iyer		compatible = "arm,psci-1.0";
253a0df399fSLina Iyer		method = "smc";
254e3713155SUlf Hansson
25531abcc91SUlf Hansson		CPU_PD0: power-domain-cpu0 {
256e3713155SUlf Hansson			#power-domain-cells = <0>;
257e3713155SUlf Hansson			power-domains = <&CLUSTER_PD>;
258e3713155SUlf Hansson			domain-idle-states = <&CPU_SLEEP_0>;
259e3713155SUlf Hansson		};
260e3713155SUlf Hansson
26131abcc91SUlf Hansson		CPU_PD1: power-domain-cpu1 {
262e3713155SUlf Hansson			#power-domain-cells = <0>;
263e3713155SUlf Hansson			power-domains = <&CLUSTER_PD>;
264e3713155SUlf Hansson			domain-idle-states = <&CPU_SLEEP_0>;
265e3713155SUlf Hansson		};
266e3713155SUlf Hansson
26731abcc91SUlf Hansson		CPU_PD2: power-domain-cpu2 {
268e3713155SUlf Hansson			#power-domain-cells = <0>;
269e3713155SUlf Hansson			power-domains = <&CLUSTER_PD>;
270e3713155SUlf Hansson			domain-idle-states = <&CPU_SLEEP_0>;
271e3713155SUlf Hansson		};
272e3713155SUlf Hansson
27331abcc91SUlf Hansson		CPU_PD3: power-domain-cpu3 {
274e3713155SUlf Hansson			#power-domain-cells = <0>;
275e3713155SUlf Hansson			power-domains = <&CLUSTER_PD>;
276e3713155SUlf Hansson			domain-idle-states = <&CPU_SLEEP_0>;
277e3713155SUlf Hansson		};
278e3713155SUlf Hansson
27931abcc91SUlf Hansson		CLUSTER_PD: power-domain-cluster {
280e3713155SUlf Hansson			#power-domain-cells = <0>;
281e3713155SUlf Hansson			domain-idle-states = <&CLUSTER_RET>, <&CLUSTER_PWRDN>;
282e3713155SUlf Hansson		};
28357f0a7eaSKumar Gala	};
28457f0a7eaSKumar Gala
285091efd56SStephan Gerhold	rpm: remoteproc {
286091efd56SStephan Gerhold		compatible = "qcom,msm8916-rpm-proc", "qcom,rpm-proc";
2875daa7a60SStephen Boyd
288091efd56SStephan Gerhold		smd-edge {
289327c0f5fSStephan Gerhold			interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
290327c0f5fSStephan Gerhold			qcom,ipc = <&apcs 8 0>;
291327c0f5fSStephan Gerhold			qcom,smd-edge = <15>;
2924f6e4892SRajendra Nayak
293327c0f5fSStephan Gerhold			rpm_requests: rpm-requests {
294327c0f5fSStephan Gerhold				compatible = "qcom,rpm-msm8916";
295327c0f5fSStephan Gerhold				qcom,smd-channels = "rpm_requests";
2964f6e4892SRajendra Nayak
297327c0f5fSStephan Gerhold				rpmcc: clock-controller {
298812b0b61SKrzysztof Kozlowski					compatible = "qcom,rpmcc-msm8916", "qcom,rpmcc";
299327c0f5fSStephan Gerhold					#clock-cells = <1>;
30093d7cf2eSDmitry Baryshkov					clocks = <&xo_board>;
30193d7cf2eSDmitry Baryshkov					clock-names = "xo";
3024f6e4892SRajendra Nayak				};
3032709436eSStephan Gerhold
3042709436eSStephan Gerhold				rpmpd: power-controller {
3052709436eSStephan Gerhold					compatible = "qcom,msm8916-rpmpd";
3062709436eSStephan Gerhold					#power-domain-cells = <1>;
3072709436eSStephan Gerhold					operating-points-v2 = <&rpmpd_opp_table>;
3082709436eSStephan Gerhold
3092709436eSStephan Gerhold					rpmpd_opp_table: opp-table {
3102709436eSStephan Gerhold						compatible = "operating-points-v2";
3112709436eSStephan Gerhold
3122709436eSStephan Gerhold						rpmpd_opp_ret: opp1 {
3132709436eSStephan Gerhold							opp-level = <1>;
3142709436eSStephan Gerhold						};
3152709436eSStephan Gerhold						rpmpd_opp_svs_krait: opp2 {
3162709436eSStephan Gerhold							opp-level = <2>;
3172709436eSStephan Gerhold						};
3182709436eSStephan Gerhold						rpmpd_opp_svs_soc: opp3 {
3192709436eSStephan Gerhold							opp-level = <3>;
3202709436eSStephan Gerhold						};
3212709436eSStephan Gerhold						rpmpd_opp_nom: opp4 {
3222709436eSStephan Gerhold							opp-level = <4>;
3232709436eSStephan Gerhold						};
3242709436eSStephan Gerhold						rpmpd_opp_turbo: opp5 {
3252709436eSStephan Gerhold							opp-level = <5>;
3262709436eSStephan Gerhold						};
3272709436eSStephan Gerhold						rpmpd_opp_super_turbo: opp6 {
3282709436eSStephan Gerhold							opp-level = <6>;
3292709436eSStephan Gerhold						};
3302709436eSStephan Gerhold					};
3312709436eSStephan Gerhold				};
3324f6e4892SRajendra Nayak			};
333f4fb6aeaSGeorgi Djakov		};
334f4fb6aeaSGeorgi Djakov	};
335f4fb6aeaSGeorgi Djakov
336327c0f5fSStephan Gerhold	smp2p-hexagon {
337327c0f5fSStephan Gerhold		compatible = "qcom,smp2p";
338327c0f5fSStephan Gerhold		qcom,smem = <435>, <428>;
3391f34d644SBjorn Andersson
340327c0f5fSStephan Gerhold		interrupts = <GIC_SPI 27 IRQ_TYPE_EDGE_RISING>;
341327c0f5fSStephan Gerhold
342327c0f5fSStephan Gerhold		qcom,ipc = <&apcs 8 14>;
343327c0f5fSStephan Gerhold
344327c0f5fSStephan Gerhold		qcom,local-pid = <0>;
345327c0f5fSStephan Gerhold		qcom,remote-pid = <1>;
346327c0f5fSStephan Gerhold
347327c0f5fSStephan Gerhold		hexagon_smp2p_out: master-kernel {
348327c0f5fSStephan Gerhold			qcom,entry-name = "master-kernel";
349327c0f5fSStephan Gerhold
350327c0f5fSStephan Gerhold			#qcom,smem-state-cells = <1>;
351327c0f5fSStephan Gerhold		};
352327c0f5fSStephan Gerhold
353327c0f5fSStephan Gerhold		hexagon_smp2p_in: slave-kernel {
354327c0f5fSStephan Gerhold			qcom,entry-name = "slave-kernel";
355327c0f5fSStephan Gerhold
356327c0f5fSStephan Gerhold			interrupt-controller;
357327c0f5fSStephan Gerhold			#interrupt-cells = <2>;
358327c0f5fSStephan Gerhold		};
359327c0f5fSStephan Gerhold	};
360327c0f5fSStephan Gerhold
361327c0f5fSStephan Gerhold	smp2p-wcnss {
362327c0f5fSStephan Gerhold		compatible = "qcom,smp2p";
363327c0f5fSStephan Gerhold		qcom,smem = <451>, <431>;
364327c0f5fSStephan Gerhold
365327c0f5fSStephan Gerhold		interrupts = <GIC_SPI 143 IRQ_TYPE_EDGE_RISING>;
366327c0f5fSStephan Gerhold
367327c0f5fSStephan Gerhold		qcom,ipc = <&apcs 8 18>;
368327c0f5fSStephan Gerhold
369327c0f5fSStephan Gerhold		qcom,local-pid = <0>;
370327c0f5fSStephan Gerhold		qcom,remote-pid = <4>;
371327c0f5fSStephan Gerhold
372327c0f5fSStephan Gerhold		wcnss_smp2p_out: master-kernel {
373327c0f5fSStephan Gerhold			qcom,entry-name = "master-kernel";
374327c0f5fSStephan Gerhold
375327c0f5fSStephan Gerhold			#qcom,smem-state-cells = <1>;
376327c0f5fSStephan Gerhold		};
377327c0f5fSStephan Gerhold
378327c0f5fSStephan Gerhold		wcnss_smp2p_in: slave-kernel {
379327c0f5fSStephan Gerhold			qcom,entry-name = "slave-kernel";
380327c0f5fSStephan Gerhold
381327c0f5fSStephan Gerhold			interrupt-controller;
382327c0f5fSStephan Gerhold			#interrupt-cells = <2>;
383327c0f5fSStephan Gerhold		};
384327c0f5fSStephan Gerhold	};
385327c0f5fSStephan Gerhold
386327c0f5fSStephan Gerhold	smsm {
387327c0f5fSStephan Gerhold		compatible = "qcom,smsm";
388327c0f5fSStephan Gerhold
389327c0f5fSStephan Gerhold		#address-cells = <1>;
390327c0f5fSStephan Gerhold		#size-cells = <0>;
391327c0f5fSStephan Gerhold
392327c0f5fSStephan Gerhold		qcom,ipc-1 = <&apcs 8 13>;
393327c0f5fSStephan Gerhold		qcom,ipc-3 = <&apcs 8 19>;
394327c0f5fSStephan Gerhold
395327c0f5fSStephan Gerhold		apps_smsm: apps@0 {
396327c0f5fSStephan Gerhold			reg = <0>;
397327c0f5fSStephan Gerhold
398327c0f5fSStephan Gerhold			#qcom,smem-state-cells = <1>;
399327c0f5fSStephan Gerhold		};
400327c0f5fSStephan Gerhold
401327c0f5fSStephan Gerhold		hexagon_smsm: hexagon@1 {
402327c0f5fSStephan Gerhold			reg = <1>;
403327c0f5fSStephan Gerhold			interrupts = <GIC_SPI 26 IRQ_TYPE_EDGE_RISING>;
404327c0f5fSStephan Gerhold
405327c0f5fSStephan Gerhold			interrupt-controller;
406327c0f5fSStephan Gerhold			#interrupt-cells = <2>;
407327c0f5fSStephan Gerhold		};
408327c0f5fSStephan Gerhold
409327c0f5fSStephan Gerhold		wcnss_smsm: wcnss@6 {
410327c0f5fSStephan Gerhold			reg = <6>;
411327c0f5fSStephan Gerhold			interrupts = <GIC_SPI 144 IRQ_TYPE_EDGE_RISING>;
412327c0f5fSStephan Gerhold
413327c0f5fSStephan Gerhold			interrupt-controller;
414327c0f5fSStephan Gerhold			#interrupt-cells = <2>;
415ea49e164SAndy Gross		};
416ea49e164SAndy Gross	};
417ea49e164SAndy Gross
4187a62bfebSStephan Gerhold	soc: soc@0 {
41957f0a7eaSKumar Gala		#address-cells = <1>;
42057f0a7eaSKumar Gala		#size-cells = <1>;
42157f0a7eaSKumar Gala		ranges = <0 0 0 0xffffffff>;
42257f0a7eaSKumar Gala		compatible = "simple-bus";
42357f0a7eaSKumar Gala
424327c0f5fSStephan Gerhold		rng@22000 {
425327c0f5fSStephan Gerhold			compatible = "qcom,prng";
426327c0f5fSStephan Gerhold			reg = <0x00022000 0x200>;
427327c0f5fSStephan Gerhold			clocks = <&gcc GCC_PRNG_AHB_CLK>;
428327c0f5fSStephan Gerhold			clock-names = "core";
429327c0f5fSStephan Gerhold		};
430327c0f5fSStephan Gerhold
431327c0f5fSStephan Gerhold		restart@4ab000 {
432327c0f5fSStephan Gerhold			compatible = "qcom,pshold";
433327c0f5fSStephan Gerhold			reg = <0x004ab000 0x4>;
434327c0f5fSStephan Gerhold		};
435327c0f5fSStephan Gerhold
436327c0f5fSStephan Gerhold		qfprom: qfprom@5c000 {
437b2eab35bSKrzysztof Kozlowski			compatible = "qcom,msm8916-qfprom", "qcom,qfprom";
438327c0f5fSStephan Gerhold			reg = <0x0005c000 0x1000>;
439327c0f5fSStephan Gerhold			#address-cells = <1>;
440327c0f5fSStephan Gerhold			#size-cells = <1>;
44124aafd04SDmitry Baryshkov
44224aafd04SDmitry Baryshkov			tsens_base1: base1@d0 {
44324aafd04SDmitry Baryshkov				reg = <0xd0 0x1>;
44424aafd04SDmitry Baryshkov				bits = <0 7>;
445327c0f5fSStephan Gerhold			};
44624aafd04SDmitry Baryshkov
44724aafd04SDmitry Baryshkov			tsens_s0_p1: s0-p1@d0 {
44824aafd04SDmitry Baryshkov				reg = <0xd0 0x2>;
44924aafd04SDmitry Baryshkov				bits = <7 5>;
45024aafd04SDmitry Baryshkov			};
45124aafd04SDmitry Baryshkov
45224aafd04SDmitry Baryshkov			tsens_s0_p2: s0-p2@d1 {
45324aafd04SDmitry Baryshkov				reg = <0xd1 0x2>;
45424aafd04SDmitry Baryshkov				bits = <4 5>;
45524aafd04SDmitry Baryshkov			};
45624aafd04SDmitry Baryshkov
45724aafd04SDmitry Baryshkov			tsens_s1_p1: s1-p1@d2 {
45824aafd04SDmitry Baryshkov				reg = <0xd2 0x1>;
45924aafd04SDmitry Baryshkov				bits = <1 5>;
46024aafd04SDmitry Baryshkov			};
46124aafd04SDmitry Baryshkov			tsens_s1_p2: s1-p2@d2 {
46224aafd04SDmitry Baryshkov				reg = <0xd2 0x2>;
46324aafd04SDmitry Baryshkov				bits = <6 5>;
46424aafd04SDmitry Baryshkov			};
46524aafd04SDmitry Baryshkov			tsens_s2_p1: s2-p1@d3 {
46624aafd04SDmitry Baryshkov				reg = <0xd3 0x1>;
46724aafd04SDmitry Baryshkov				bits = <3 5>;
46824aafd04SDmitry Baryshkov			};
46924aafd04SDmitry Baryshkov
47024aafd04SDmitry Baryshkov			tsens_s2_p2: s2-p2@d4 {
47124aafd04SDmitry Baryshkov				reg = <0xd4 0x1>;
47224aafd04SDmitry Baryshkov				bits = <0 5>;
47324aafd04SDmitry Baryshkov			};
47424aafd04SDmitry Baryshkov
47524aafd04SDmitry Baryshkov			// no tsens with hw_id 3
47624aafd04SDmitry Baryshkov
47724aafd04SDmitry Baryshkov			tsens_s4_p1: s4-p1@d4 {
47824aafd04SDmitry Baryshkov				reg = <0xd4 0x2>;
47924aafd04SDmitry Baryshkov				bits = <5 5>;
48024aafd04SDmitry Baryshkov			};
48124aafd04SDmitry Baryshkov
48224aafd04SDmitry Baryshkov			tsens_s4_p2: s4-p2@d5 {
48324aafd04SDmitry Baryshkov				reg = <0xd5 0x1>;
48424aafd04SDmitry Baryshkov				bits = <2 5>;
48524aafd04SDmitry Baryshkov			};
48624aafd04SDmitry Baryshkov
48724aafd04SDmitry Baryshkov			tsens_s5_p1: s5-p1@d5 {
48824aafd04SDmitry Baryshkov				reg = <0xd5 0x2>;
48924aafd04SDmitry Baryshkov				bits = <7 5>;
49024aafd04SDmitry Baryshkov			};
49124aafd04SDmitry Baryshkov
49224aafd04SDmitry Baryshkov			tsens_s5_p2: s5-p2@d6 {
49324aafd04SDmitry Baryshkov				reg = <0xd6 0x2>;
49424aafd04SDmitry Baryshkov				bits = <4 5>;
49524aafd04SDmitry Baryshkov			};
49624aafd04SDmitry Baryshkov
49724aafd04SDmitry Baryshkov			tsens_base2: base2@d7 {
49824aafd04SDmitry Baryshkov				reg = <0xd7 0x1>;
49924aafd04SDmitry Baryshkov				bits = <1 7>;
50024aafd04SDmitry Baryshkov			};
50124aafd04SDmitry Baryshkov
502608465f7SStephan Gerhold			tsens_mode: mode@ef {
50324aafd04SDmitry Baryshkov				reg = <0xef 0x1>;
50424aafd04SDmitry Baryshkov				bits = <5 3>;
505327c0f5fSStephan Gerhold			};
506327c0f5fSStephan Gerhold		};
507327c0f5fSStephan Gerhold
508179811beSStephan Gerhold		rpm_msg_ram: sram@60000 {
509327c0f5fSStephan Gerhold			compatible = "qcom,rpm-msg-ram";
510327c0f5fSStephan Gerhold			reg = <0x00060000 0x8000>;
511327c0f5fSStephan Gerhold		};
512327c0f5fSStephan Gerhold
5131c0ac047SStephan Gerhold		sram@290000 {
5141c0ac047SStephan Gerhold			compatible = "qcom,msm8916-rpm-stats";
5151c0ac047SStephan Gerhold			reg = <0x00290000 0x10000>;
5161c0ac047SStephan Gerhold		};
5171c0ac047SStephan Gerhold
518366c3797SGeorgi Djakov		bimc: interconnect@400000 {
519366c3797SGeorgi Djakov			compatible = "qcom,msm8916-bimc";
520366c3797SGeorgi Djakov			reg = <0x00400000 0x62000>;
521366c3797SGeorgi Djakov			#interconnect-cells = <1>;
522366c3797SGeorgi Djakov			clock-names = "bus", "bus_a";
523366c3797SGeorgi Djakov			clocks = <&rpmcc RPM_SMD_BIMC_CLK>,
524366c3797SGeorgi Djakov				 <&rpmcc RPM_SMD_BIMC_A_CLK>;
525366c3797SGeorgi Djakov		};
526366c3797SGeorgi Djakov
527327c0f5fSStephan Gerhold		tsens: thermal-sensor@4a9000 {
528327c0f5fSStephan Gerhold			compatible = "qcom,msm8916-tsens", "qcom,tsens-v0_1";
529327c0f5fSStephan Gerhold			reg = <0x004a9000 0x1000>, /* TM */
530327c0f5fSStephan Gerhold			      <0x004a8000 0x1000>; /* SROT */
53124aafd04SDmitry Baryshkov
53224aafd04SDmitry Baryshkov			// no hw_id 3
53324aafd04SDmitry Baryshkov			nvmem-cells = <&tsens_mode>,
53424aafd04SDmitry Baryshkov				      <&tsens_base1>, <&tsens_base2>,
53524aafd04SDmitry Baryshkov				      <&tsens_s0_p1>, <&tsens_s0_p2>,
53624aafd04SDmitry Baryshkov				      <&tsens_s1_p1>, <&tsens_s1_p2>,
53724aafd04SDmitry Baryshkov				      <&tsens_s2_p1>, <&tsens_s2_p2>,
53824aafd04SDmitry Baryshkov				      <&tsens_s4_p1>, <&tsens_s4_p2>,
53924aafd04SDmitry Baryshkov				      <&tsens_s5_p1>, <&tsens_s5_p2>;
54024aafd04SDmitry Baryshkov			nvmem-cell-names = "mode",
54124aafd04SDmitry Baryshkov					   "base1", "base2",
54224aafd04SDmitry Baryshkov					   "s0_p1", "s0_p2",
54324aafd04SDmitry Baryshkov					   "s1_p1", "s1_p2",
54424aafd04SDmitry Baryshkov					   "s2_p1", "s2_p2",
54524aafd04SDmitry Baryshkov					   "s4_p1", "s4_p2",
54624aafd04SDmitry Baryshkov					   "s5_p1", "s5_p2";
547327c0f5fSStephan Gerhold			#qcom,sensors = <5>;
548327c0f5fSStephan Gerhold			interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>;
549327c0f5fSStephan Gerhold			interrupt-names = "uplow";
550327c0f5fSStephan Gerhold			#thermal-sensor-cells = <1>;
551366655c9SIvan T. Ivanov		};
552366655c9SIvan T. Ivanov
553366c3797SGeorgi Djakov		pcnoc: interconnect@500000 {
554366c3797SGeorgi Djakov			compatible = "qcom,msm8916-pcnoc";
555366c3797SGeorgi Djakov			reg = <0x00500000 0x11000>;
556366c3797SGeorgi Djakov			#interconnect-cells = <1>;
557366c3797SGeorgi Djakov			clock-names = "bus", "bus_a";
558366c3797SGeorgi Djakov			clocks = <&rpmcc RPM_SMD_PCNOC_CLK>,
559366c3797SGeorgi Djakov				 <&rpmcc RPM_SMD_PCNOC_A_CLK>;
560366c3797SGeorgi Djakov		};
561366c3797SGeorgi Djakov
562366c3797SGeorgi Djakov		snoc: interconnect@580000 {
563366c3797SGeorgi Djakov			compatible = "qcom,msm8916-snoc";
564366c3797SGeorgi Djakov			reg = <0x00580000 0x14000>;
565366c3797SGeorgi Djakov			#interconnect-cells = <1>;
566366c3797SGeorgi Djakov			clock-names = "bus", "bus_a";
567366c3797SGeorgi Djakov			clocks = <&rpmcc RPM_SMD_SNOC_CLK>,
568366c3797SGeorgi Djakov				 <&rpmcc RPM_SMD_SNOC_A_CLK>;
569366c3797SGeorgi Djakov		};
570366c3797SGeorgi Djakov
57198b43386SGeorgi Djakov		stm: stm@802000 {
57298b43386SGeorgi Djakov			compatible = "arm,coresight-stm", "arm,primecell";
57398b43386SGeorgi Djakov			reg = <0x00802000 0x1000>,
57498b43386SGeorgi Djakov			      <0x09280000 0x180000>;
57598b43386SGeorgi Djakov			reg-names = "stm-base", "stm-stimulus-base";
57698b43386SGeorgi Djakov
57798b43386SGeorgi Djakov			clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
57898b43386SGeorgi Djakov			clock-names = "apb_pclk", "atclk";
57998b43386SGeorgi Djakov
58098b43386SGeorgi Djakov			status = "disabled";
58198b43386SGeorgi Djakov
58298b43386SGeorgi Djakov			out-ports {
58398b43386SGeorgi Djakov				port {
58498b43386SGeorgi Djakov					stm_out: endpoint {
58598b43386SGeorgi Djakov						remote-endpoint = <&funnel0_in7>;
58698b43386SGeorgi Djakov					};
58798b43386SGeorgi Djakov				};
58898b43386SGeorgi Djakov			};
58998b43386SGeorgi Djakov		};
59098b43386SGeorgi Djakov
591327c0f5fSStephan Gerhold		/* System CTIs */
592327c0f5fSStephan Gerhold		/* CTI 0 - TMC connections */
593327c0f5fSStephan Gerhold		cti0: cti@810000 {
594327c0f5fSStephan Gerhold			compatible = "arm,coresight-cti", "arm,primecell";
595327c0f5fSStephan Gerhold			reg = <0x00810000 0x1000>;
59657f0a7eaSKumar Gala
597327c0f5fSStephan Gerhold			clocks = <&rpmcc RPM_QDSS_CLK>;
598327c0f5fSStephan Gerhold			clock-names = "apb_pclk";
59957f0a7eaSKumar Gala
6009f43020dSAndy Gross			status = "disabled";
6019f43020dSAndy Gross		};
6029f43020dSAndy Gross
603327c0f5fSStephan Gerhold		/* CTI 1 - TPIU connections */
604327c0f5fSStephan Gerhold		cti1: cti@811000 {
605327c0f5fSStephan Gerhold			compatible = "arm,coresight-cti", "arm,primecell";
606327c0f5fSStephan Gerhold			reg = <0x00811000 0x1000>;
607d0bf04acSGeorgi Djakov
608327c0f5fSStephan Gerhold			clocks = <&rpmcc RPM_QDSS_CLK>;
609327c0f5fSStephan Gerhold			clock-names = "apb_pclk";
6108fd55d41SAndy Gross
61157f0a7eaSKumar Gala			status = "disabled";
61257f0a7eaSKumar Gala		};
61357f0a7eaSKumar Gala
614327c0f5fSStephan Gerhold		/* CTIs 2-11 - no information - not instantiated */
6157c10da37SIvan T. Ivanov
6162329e5fbSStephan Gerhold		tpiu: tpiu@820000 {
6177c10da37SIvan T. Ivanov			compatible = "arm,coresight-tpiu", "arm,primecell";
6182e04aa29SStephan Gerhold			reg = <0x00820000 0x1000>;
6197c10da37SIvan T. Ivanov
6207c10da37SIvan T. Ivanov			clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
6217c10da37SIvan T. Ivanov			clock-names = "apb_pclk", "atclk";
6227c10da37SIvan T. Ivanov
623b3d6fd8fSMichael Srba			status = "disabled";
624b3d6fd8fSMichael Srba
62570a39be6SSuzuki K Poulose			in-ports {
6267c10da37SIvan T. Ivanov				port {
6277c10da37SIvan T. Ivanov					tpiu_in: endpoint {
6287c10da37SIvan T. Ivanov						remote-endpoint = <&replicator_out1>;
6297c10da37SIvan T. Ivanov					};
6307c10da37SIvan T. Ivanov				};
6317c10da37SIvan T. Ivanov			};
63270a39be6SSuzuki K Poulose		};
6337c10da37SIvan T. Ivanov
6342329e5fbSStephan Gerhold		funnel0: funnel@821000 {
635b422b03aSLeo Yan			compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
6362e04aa29SStephan Gerhold			reg = <0x00821000 0x1000>;
6377c10da37SIvan T. Ivanov
6387c10da37SIvan T. Ivanov			clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
6397c10da37SIvan T. Ivanov			clock-names = "apb_pclk", "atclk";
6407c10da37SIvan T. Ivanov
641b3d6fd8fSMichael Srba			status = "disabled";
642b3d6fd8fSMichael Srba
64370a39be6SSuzuki K Poulose			in-ports {
6447c10da37SIvan T. Ivanov				#address-cells = <1>;
6457c10da37SIvan T. Ivanov				#size-cells = <0>;
6467c10da37SIvan T. Ivanov
6477c10da37SIvan T. Ivanov				/*
6487c10da37SIvan T. Ivanov				 * Not described input ports:
6497c10da37SIvan T. Ivanov				 * 0 - connected to Resource and Power Manger CPU ETM
6507c10da37SIvan T. Ivanov				 * 1 - not-connected
6517c10da37SIvan T. Ivanov				 * 2 - connected to Modem CPU ETM
6527c10da37SIvan T. Ivanov				 * 3 - not-connected
6537c10da37SIvan T. Ivanov				 * 5 - not-connected
6547c10da37SIvan T. Ivanov				 * 6 - connected trought funnel to Wireless CPU ETM
6557c10da37SIvan T. Ivanov				 * 7 - connected to STM component
6567c10da37SIvan T. Ivanov				 */
6577c10da37SIvan T. Ivanov
6587c10da37SIvan T. Ivanov				port@4 {
6597c10da37SIvan T. Ivanov					reg = <4>;
6607c10da37SIvan T. Ivanov					funnel0_in4: endpoint {
6617c10da37SIvan T. Ivanov						remote-endpoint = <&funnel1_out>;
6627c10da37SIvan T. Ivanov					};
6637c10da37SIvan T. Ivanov				};
66498b43386SGeorgi Djakov
66598b43386SGeorgi Djakov				port@7 {
66698b43386SGeorgi Djakov					reg = <7>;
66798b43386SGeorgi Djakov					funnel0_in7: endpoint {
66898b43386SGeorgi Djakov						remote-endpoint = <&stm_out>;
66998b43386SGeorgi Djakov					};
67098b43386SGeorgi Djakov				};
67170a39be6SSuzuki K Poulose			};
67270a39be6SSuzuki K Poulose
67370a39be6SSuzuki K Poulose			out-ports {
67470a39be6SSuzuki K Poulose				port {
6757c10da37SIvan T. Ivanov					funnel0_out: endpoint {
6767c10da37SIvan T. Ivanov						remote-endpoint = <&etf_in>;
6777c10da37SIvan T. Ivanov					};
6787c10da37SIvan T. Ivanov				};
6797c10da37SIvan T. Ivanov			};
6807c10da37SIvan T. Ivanov		};
6817c10da37SIvan T. Ivanov
6822329e5fbSStephan Gerhold		replicator: replicator@824000 {
6838e0b0009SSuzuki K. Poulose			compatible = "arm,coresight-dynamic-replicator", "arm,primecell";
6842e04aa29SStephan Gerhold			reg = <0x00824000 0x1000>;
6857c10da37SIvan T. Ivanov
6867c10da37SIvan T. Ivanov			clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
6877c10da37SIvan T. Ivanov			clock-names = "apb_pclk", "atclk";
6887c10da37SIvan T. Ivanov
689b3d6fd8fSMichael Srba			status = "disabled";
690b3d6fd8fSMichael Srba
69170a39be6SSuzuki K Poulose			out-ports {
6927c10da37SIvan T. Ivanov				#address-cells = <1>;
6937c10da37SIvan T. Ivanov				#size-cells = <0>;
6947c10da37SIvan T. Ivanov
6957c10da37SIvan T. Ivanov				port@0 {
6967c10da37SIvan T. Ivanov					reg = <0>;
6977c10da37SIvan T. Ivanov					replicator_out0: endpoint {
6987c10da37SIvan T. Ivanov						remote-endpoint = <&etr_in>;
6997c10da37SIvan T. Ivanov					};
7007c10da37SIvan T. Ivanov				};
7017c10da37SIvan T. Ivanov				port@1 {
7027c10da37SIvan T. Ivanov					reg = <1>;
7037c10da37SIvan T. Ivanov					replicator_out1: endpoint {
7047c10da37SIvan T. Ivanov						remote-endpoint = <&tpiu_in>;
7057c10da37SIvan T. Ivanov					};
7067c10da37SIvan T. Ivanov				};
70770a39be6SSuzuki K Poulose			};
70870a39be6SSuzuki K Poulose
70970a39be6SSuzuki K Poulose			in-ports {
71070a39be6SSuzuki K Poulose				port {
7117c10da37SIvan T. Ivanov					replicator_in: endpoint {
7127c10da37SIvan T. Ivanov						remote-endpoint = <&etf_out>;
7137c10da37SIvan T. Ivanov					};
7147c10da37SIvan T. Ivanov				};
7157c10da37SIvan T. Ivanov			};
7167c10da37SIvan T. Ivanov		};
7177c10da37SIvan T. Ivanov
7182329e5fbSStephan Gerhold		etf: etf@825000 {
7197c10da37SIvan T. Ivanov			compatible = "arm,coresight-tmc", "arm,primecell";
7202e04aa29SStephan Gerhold			reg = <0x00825000 0x1000>;
7217c10da37SIvan T. Ivanov
7227c10da37SIvan T. Ivanov			clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
7237c10da37SIvan T. Ivanov			clock-names = "apb_pclk", "atclk";
7247c10da37SIvan T. Ivanov
725b3d6fd8fSMichael Srba			status = "disabled";
726b3d6fd8fSMichael Srba
72770a39be6SSuzuki K Poulose			in-ports {
72870a39be6SSuzuki K Poulose				port {
7296b4154a6SRob Herring					etf_in: endpoint {
7307c10da37SIvan T. Ivanov						remote-endpoint = <&funnel0_out>;
7317c10da37SIvan T. Ivanov					};
7327c10da37SIvan T. Ivanov				};
73370a39be6SSuzuki K Poulose			};
73470a39be6SSuzuki K Poulose
73570a39be6SSuzuki K Poulose			out-ports {
73670a39be6SSuzuki K Poulose				port {
7376b4154a6SRob Herring					etf_out: endpoint {
7387c10da37SIvan T. Ivanov						remote-endpoint = <&replicator_in>;
7397c10da37SIvan T. Ivanov					};
7407c10da37SIvan T. Ivanov				};
7417c10da37SIvan T. Ivanov			};
7427c10da37SIvan T. Ivanov		};
7437c10da37SIvan T. Ivanov
7442329e5fbSStephan Gerhold		etr: etr@826000 {
7457c10da37SIvan T. Ivanov			compatible = "arm,coresight-tmc", "arm,primecell";
7462e04aa29SStephan Gerhold			reg = <0x00826000 0x1000>;
7477c10da37SIvan T. Ivanov
7487c10da37SIvan T. Ivanov			clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
7497c10da37SIvan T. Ivanov			clock-names = "apb_pclk", "atclk";
7507c10da37SIvan T. Ivanov
751b3d6fd8fSMichael Srba			status = "disabled";
752b3d6fd8fSMichael Srba
75370a39be6SSuzuki K Poulose			in-ports {
7547c10da37SIvan T. Ivanov				port {
7557c10da37SIvan T. Ivanov					etr_in: endpoint {
7567c10da37SIvan T. Ivanov						remote-endpoint = <&replicator_out0>;
7577c10da37SIvan T. Ivanov					};
7587c10da37SIvan T. Ivanov				};
7597c10da37SIvan T. Ivanov			};
76070a39be6SSuzuki K Poulose		};
7617c10da37SIvan T. Ivanov
7622329e5fbSStephan Gerhold		funnel1: funnel@841000 {	/* APSS funnel only 4 inputs are used */
763b422b03aSLeo Yan			compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
7642e04aa29SStephan Gerhold			reg = <0x00841000 0x1000>;
7657c10da37SIvan T. Ivanov
7667c10da37SIvan T. Ivanov			clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
7677c10da37SIvan T. Ivanov			clock-names = "apb_pclk", "atclk";
7687c10da37SIvan T. Ivanov
769b3d6fd8fSMichael Srba			status = "disabled";
770b3d6fd8fSMichael Srba
77170a39be6SSuzuki K Poulose			in-ports {
7727c10da37SIvan T. Ivanov				#address-cells = <1>;
7737c10da37SIvan T. Ivanov				#size-cells = <0>;
7747c10da37SIvan T. Ivanov
7757c10da37SIvan T. Ivanov				port@0 {
7767c10da37SIvan T. Ivanov					reg = <0>;
7777c10da37SIvan T. Ivanov					funnel1_in0: endpoint {
7787c10da37SIvan T. Ivanov						remote-endpoint = <&etm0_out>;
7797c10da37SIvan T. Ivanov					};
7807c10da37SIvan T. Ivanov				};
7817c10da37SIvan T. Ivanov				port@1 {
7827c10da37SIvan T. Ivanov					reg = <1>;
7837c10da37SIvan T. Ivanov					funnel1_in1: endpoint {
7847c10da37SIvan T. Ivanov						remote-endpoint = <&etm1_out>;
7857c10da37SIvan T. Ivanov					};
7867c10da37SIvan T. Ivanov				};
7877c10da37SIvan T. Ivanov				port@2 {
7887c10da37SIvan T. Ivanov					reg = <2>;
7897c10da37SIvan T. Ivanov					funnel1_in2: endpoint {
7907c10da37SIvan T. Ivanov						remote-endpoint = <&etm2_out>;
7917c10da37SIvan T. Ivanov					};
7927c10da37SIvan T. Ivanov				};
7937c10da37SIvan T. Ivanov				port@3 {
7947c10da37SIvan T. Ivanov					reg = <3>;
7957c10da37SIvan T. Ivanov					funnel1_in3: endpoint {
7967c10da37SIvan T. Ivanov						remote-endpoint = <&etm3_out>;
7977c10da37SIvan T. Ivanov					};
7987c10da37SIvan T. Ivanov				};
79970a39be6SSuzuki K Poulose			};
80070a39be6SSuzuki K Poulose
80170a39be6SSuzuki K Poulose			out-ports {
80270a39be6SSuzuki K Poulose				port {
8037c10da37SIvan T. Ivanov					funnel1_out: endpoint {
8047c10da37SIvan T. Ivanov						remote-endpoint = <&funnel0_in4>;
8057c10da37SIvan T. Ivanov					};
8067c10da37SIvan T. Ivanov				};
8077c10da37SIvan T. Ivanov			};
8087c10da37SIvan T. Ivanov		};
8097c10da37SIvan T. Ivanov
8102329e5fbSStephan Gerhold		debug0: debug@850000 {
811248fa516SLeo Yan			compatible = "arm,coresight-cpu-debug", "arm,primecell";
8122e04aa29SStephan Gerhold			reg = <0x00850000 0x1000>;
813248fa516SLeo Yan			clocks = <&rpmcc RPM_QDSS_CLK>;
814248fa516SLeo Yan			clock-names = "apb_pclk";
815248fa516SLeo Yan			cpu = <&CPU0>;
816b3d6fd8fSMichael Srba			status = "disabled";
817248fa516SLeo Yan		};
818248fa516SLeo Yan
8192329e5fbSStephan Gerhold		debug1: debug@852000 {
820248fa516SLeo Yan			compatible = "arm,coresight-cpu-debug", "arm,primecell";
8212e04aa29SStephan Gerhold			reg = <0x00852000 0x1000>;
822248fa516SLeo Yan			clocks = <&rpmcc RPM_QDSS_CLK>;
823248fa516SLeo Yan			clock-names = "apb_pclk";
824248fa516SLeo Yan			cpu = <&CPU1>;
825b3d6fd8fSMichael Srba			status = "disabled";
826248fa516SLeo Yan		};
827248fa516SLeo Yan
8282329e5fbSStephan Gerhold		debug2: debug@854000 {
829248fa516SLeo Yan			compatible = "arm,coresight-cpu-debug", "arm,primecell";
8302e04aa29SStephan Gerhold			reg = <0x00854000 0x1000>;
831248fa516SLeo Yan			clocks = <&rpmcc RPM_QDSS_CLK>;
832248fa516SLeo Yan			clock-names = "apb_pclk";
833248fa516SLeo Yan			cpu = <&CPU2>;
834b3d6fd8fSMichael Srba			status = "disabled";
835248fa516SLeo Yan		};
836248fa516SLeo Yan
8372329e5fbSStephan Gerhold		debug3: debug@856000 {
838248fa516SLeo Yan			compatible = "arm,coresight-cpu-debug", "arm,primecell";
8392e04aa29SStephan Gerhold			reg = <0x00856000 0x1000>;
840248fa516SLeo Yan			clocks = <&rpmcc RPM_QDSS_CLK>;
841248fa516SLeo Yan			clock-names = "apb_pclk";
842248fa516SLeo Yan			cpu = <&CPU3>;
843b3d6fd8fSMichael Srba			status = "disabled";
844248fa516SLeo Yan		};
845248fa516SLeo Yan
846327c0f5fSStephan Gerhold		/* Core CTIs; CTIs 12-15 */
847327c0f5fSStephan Gerhold		/* CTI - CPU-0 */
848327c0f5fSStephan Gerhold		cti12: cti@858000 {
849327c0f5fSStephan Gerhold			compatible = "arm,coresight-cti-v8-arch", "arm,coresight-cti",
850327c0f5fSStephan Gerhold				     "arm,primecell";
851327c0f5fSStephan Gerhold			reg = <0x00858000 0x1000>;
852327c0f5fSStephan Gerhold
853327c0f5fSStephan Gerhold			clocks = <&rpmcc RPM_QDSS_CLK>;
854327c0f5fSStephan Gerhold			clock-names = "apb_pclk";
855327c0f5fSStephan Gerhold
856327c0f5fSStephan Gerhold			cpu = <&CPU0>;
857327c0f5fSStephan Gerhold			arm,cs-dev-assoc = <&etm0>;
858327c0f5fSStephan Gerhold
859327c0f5fSStephan Gerhold			status = "disabled";
860327c0f5fSStephan Gerhold		};
861327c0f5fSStephan Gerhold
862327c0f5fSStephan Gerhold		/* CTI - CPU-1 */
863327c0f5fSStephan Gerhold		cti13: cti@859000 {
864327c0f5fSStephan Gerhold			compatible = "arm,coresight-cti-v8-arch", "arm,coresight-cti",
865327c0f5fSStephan Gerhold				     "arm,primecell";
866327c0f5fSStephan Gerhold			reg = <0x00859000 0x1000>;
867327c0f5fSStephan Gerhold
868327c0f5fSStephan Gerhold			clocks = <&rpmcc RPM_QDSS_CLK>;
869327c0f5fSStephan Gerhold			clock-names = "apb_pclk";
870327c0f5fSStephan Gerhold
871327c0f5fSStephan Gerhold			cpu = <&CPU1>;
872327c0f5fSStephan Gerhold			arm,cs-dev-assoc = <&etm1>;
873327c0f5fSStephan Gerhold
874327c0f5fSStephan Gerhold			status = "disabled";
875327c0f5fSStephan Gerhold		};
876327c0f5fSStephan Gerhold
877327c0f5fSStephan Gerhold		/* CTI - CPU-2 */
878327c0f5fSStephan Gerhold		cti14: cti@85a000 {
879327c0f5fSStephan Gerhold			compatible = "arm,coresight-cti-v8-arch", "arm,coresight-cti",
880327c0f5fSStephan Gerhold				     "arm,primecell";
881327c0f5fSStephan Gerhold			reg = <0x0085a000 0x1000>;
882327c0f5fSStephan Gerhold
883327c0f5fSStephan Gerhold			clocks = <&rpmcc RPM_QDSS_CLK>;
884327c0f5fSStephan Gerhold			clock-names = "apb_pclk";
885327c0f5fSStephan Gerhold
886327c0f5fSStephan Gerhold			cpu = <&CPU2>;
887327c0f5fSStephan Gerhold			arm,cs-dev-assoc = <&etm2>;
888327c0f5fSStephan Gerhold
889327c0f5fSStephan Gerhold			status = "disabled";
890327c0f5fSStephan Gerhold		};
891327c0f5fSStephan Gerhold
892327c0f5fSStephan Gerhold		/* CTI - CPU-3 */
893327c0f5fSStephan Gerhold		cti15: cti@85b000 {
894327c0f5fSStephan Gerhold			compatible = "arm,coresight-cti-v8-arch", "arm,coresight-cti",
895327c0f5fSStephan Gerhold				     "arm,primecell";
896327c0f5fSStephan Gerhold			reg = <0x0085b000 0x1000>;
897327c0f5fSStephan Gerhold
898327c0f5fSStephan Gerhold			clocks = <&rpmcc RPM_QDSS_CLK>;
899327c0f5fSStephan Gerhold			clock-names = "apb_pclk";
900327c0f5fSStephan Gerhold
901327c0f5fSStephan Gerhold			cpu = <&CPU3>;
902327c0f5fSStephan Gerhold			arm,cs-dev-assoc = <&etm3>;
903327c0f5fSStephan Gerhold
904327c0f5fSStephan Gerhold			status = "disabled";
905327c0f5fSStephan Gerhold		};
906327c0f5fSStephan Gerhold
907b1fcc570SMike Leach		etm0: etm@85c000 {
9087c10da37SIvan T. Ivanov			compatible = "arm,coresight-etm4x", "arm,primecell";
9092e04aa29SStephan Gerhold			reg = <0x0085c000 0x1000>;
9107c10da37SIvan T. Ivanov
9117c10da37SIvan T. Ivanov			clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
9127c10da37SIvan T. Ivanov			clock-names = "apb_pclk", "atclk";
913ef71fdb2SMathieu Poirier			arm,coresight-loses-context-with-cpu;
9147c10da37SIvan T. Ivanov
9157c10da37SIvan T. Ivanov			cpu = <&CPU0>;
9167c10da37SIvan T. Ivanov
917b3d6fd8fSMichael Srba			status = "disabled";
918b3d6fd8fSMichael Srba
91970a39be6SSuzuki K Poulose			out-ports {
9207c10da37SIvan T. Ivanov				port {
9217c10da37SIvan T. Ivanov					etm0_out: endpoint {
9227c10da37SIvan T. Ivanov						remote-endpoint = <&funnel1_in0>;
9237c10da37SIvan T. Ivanov					};
9247c10da37SIvan T. Ivanov				};
9257c10da37SIvan T. Ivanov			};
92670a39be6SSuzuki K Poulose		};
9277c10da37SIvan T. Ivanov
928b1fcc570SMike Leach		etm1: etm@85d000 {
9297c10da37SIvan T. Ivanov			compatible = "arm,coresight-etm4x", "arm,primecell";
9302e04aa29SStephan Gerhold			reg = <0x0085d000 0x1000>;
9317c10da37SIvan T. Ivanov
9327c10da37SIvan T. Ivanov			clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
9337c10da37SIvan T. Ivanov			clock-names = "apb_pclk", "atclk";
934ef71fdb2SMathieu Poirier			arm,coresight-loses-context-with-cpu;
9357c10da37SIvan T. Ivanov
9367c10da37SIvan T. Ivanov			cpu = <&CPU1>;
9377c10da37SIvan T. Ivanov
938b3d6fd8fSMichael Srba			status = "disabled";
939b3d6fd8fSMichael Srba
94070a39be6SSuzuki K Poulose			out-ports {
9417c10da37SIvan T. Ivanov				port {
9427c10da37SIvan T. Ivanov					etm1_out: endpoint {
9437c10da37SIvan T. Ivanov						remote-endpoint = <&funnel1_in1>;
9447c10da37SIvan T. Ivanov					};
9457c10da37SIvan T. Ivanov				};
9467c10da37SIvan T. Ivanov			};
94770a39be6SSuzuki K Poulose		};
9487c10da37SIvan T. Ivanov
949b1fcc570SMike Leach		etm2: etm@85e000 {
9507c10da37SIvan T. Ivanov			compatible = "arm,coresight-etm4x", "arm,primecell";
9512e04aa29SStephan Gerhold			reg = <0x0085e000 0x1000>;
9527c10da37SIvan T. Ivanov
9537c10da37SIvan T. Ivanov			clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
9547c10da37SIvan T. Ivanov			clock-names = "apb_pclk", "atclk";
955ef71fdb2SMathieu Poirier			arm,coresight-loses-context-with-cpu;
9567c10da37SIvan T. Ivanov
9577c10da37SIvan T. Ivanov			cpu = <&CPU2>;
9587c10da37SIvan T. Ivanov
959b3d6fd8fSMichael Srba			status = "disabled";
960b3d6fd8fSMichael Srba
96170a39be6SSuzuki K Poulose			out-ports {
9627c10da37SIvan T. Ivanov				port {
9637c10da37SIvan T. Ivanov					etm2_out: endpoint {
9647c10da37SIvan T. Ivanov						remote-endpoint = <&funnel1_in2>;
9657c10da37SIvan T. Ivanov					};
9667c10da37SIvan T. Ivanov				};
9677c10da37SIvan T. Ivanov			};
96870a39be6SSuzuki K Poulose		};
9697c10da37SIvan T. Ivanov
970b1fcc570SMike Leach		etm3: etm@85f000 {
9717c10da37SIvan T. Ivanov			compatible = "arm,coresight-etm4x", "arm,primecell";
9722e04aa29SStephan Gerhold			reg = <0x0085f000 0x1000>;
9737c10da37SIvan T. Ivanov
9747c10da37SIvan T. Ivanov			clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
9757c10da37SIvan T. Ivanov			clock-names = "apb_pclk", "atclk";
976ef71fdb2SMathieu Poirier			arm,coresight-loses-context-with-cpu;
9777c10da37SIvan T. Ivanov
9787c10da37SIvan T. Ivanov			cpu = <&CPU3>;
9797c10da37SIvan T. Ivanov
980b3d6fd8fSMichael Srba			status = "disabled";
981b3d6fd8fSMichael Srba
98270a39be6SSuzuki K Poulose			out-ports {
9837c10da37SIvan T. Ivanov				port {
9847c10da37SIvan T. Ivanov					etm3_out: endpoint {
9857c10da37SIvan T. Ivanov						remote-endpoint = <&funnel1_in3>;
9867c10da37SIvan T. Ivanov					};
9877c10da37SIvan T. Ivanov				};
9887c10da37SIvan T. Ivanov			};
98970a39be6SSuzuki K Poulose		};
99016bd6c82SStanimir Varbanov
99141e22c2fSStephan Gerhold		tlmm: pinctrl@1000000 {
992327c0f5fSStephan Gerhold			compatible = "qcom,msm8916-pinctrl";
993327c0f5fSStephan Gerhold			reg = <0x01000000 0x300000>;
994327c0f5fSStephan Gerhold			interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
995327c0f5fSStephan Gerhold			gpio-controller;
99641e22c2fSStephan Gerhold			gpio-ranges = <&tlmm 0 0 122>;
997327c0f5fSStephan Gerhold			#gpio-cells = <2>;
998327c0f5fSStephan Gerhold			interrupt-controller;
999327c0f5fSStephan Gerhold			#interrupt-cells = <2>;
10008734d335SStephan Gerhold
10018734d335SStephan Gerhold			blsp_i2c1_default: blsp-i2c1-default-state {
10028734d335SStephan Gerhold				pins = "gpio2", "gpio3";
10038734d335SStephan Gerhold				function = "blsp_i2c1";
10048734d335SStephan Gerhold				drive-strength = <2>;
10058734d335SStephan Gerhold				bias-disable;
10068734d335SStephan Gerhold			};
10078734d335SStephan Gerhold
10088734d335SStephan Gerhold			blsp_i2c1_sleep: blsp-i2c1-sleep-state {
10098734d335SStephan Gerhold				pins = "gpio2", "gpio3";
10108734d335SStephan Gerhold				function = "gpio";
10118734d335SStephan Gerhold				drive-strength = <2>;
10128734d335SStephan Gerhold				bias-disable;
10138734d335SStephan Gerhold			};
10148734d335SStephan Gerhold
10158734d335SStephan Gerhold			blsp_i2c2_default: blsp-i2c2-default-state {
10168734d335SStephan Gerhold				pins = "gpio6", "gpio7";
10178734d335SStephan Gerhold				function = "blsp_i2c2";
10188734d335SStephan Gerhold				drive-strength = <2>;
10198734d335SStephan Gerhold				bias-disable;
10208734d335SStephan Gerhold			};
10218734d335SStephan Gerhold
10228734d335SStephan Gerhold			blsp_i2c2_sleep: blsp-i2c2-sleep-state {
10238734d335SStephan Gerhold				pins = "gpio6", "gpio7";
10248734d335SStephan Gerhold				function = "gpio";
10258734d335SStephan Gerhold				drive-strength = <2>;
10268734d335SStephan Gerhold				bias-disable;
10278734d335SStephan Gerhold			};
10288734d335SStephan Gerhold
10298734d335SStephan Gerhold			blsp_i2c3_default: blsp-i2c3-default-state {
10308734d335SStephan Gerhold				pins = "gpio10", "gpio11";
10318734d335SStephan Gerhold				function = "blsp_i2c3";
10328734d335SStephan Gerhold				drive-strength = <2>;
10338734d335SStephan Gerhold				bias-disable;
10348734d335SStephan Gerhold			};
10358734d335SStephan Gerhold
10368734d335SStephan Gerhold			blsp_i2c3_sleep: blsp-i2c3-sleep-state {
10378734d335SStephan Gerhold				pins = "gpio10", "gpio11";
10388734d335SStephan Gerhold				function = "gpio";
10398734d335SStephan Gerhold				drive-strength = <2>;
10408734d335SStephan Gerhold				bias-disable;
10418734d335SStephan Gerhold			};
10428734d335SStephan Gerhold
10438734d335SStephan Gerhold			blsp_i2c4_default: blsp-i2c4-default-state {
10448734d335SStephan Gerhold				pins = "gpio14", "gpio15";
10458734d335SStephan Gerhold				function = "blsp_i2c4";
10468734d335SStephan Gerhold				drive-strength = <2>;
10478734d335SStephan Gerhold				bias-disable;
10488734d335SStephan Gerhold			};
10498734d335SStephan Gerhold
10508734d335SStephan Gerhold			blsp_i2c4_sleep: blsp-i2c4-sleep-state {
10518734d335SStephan Gerhold				pins = "gpio14", "gpio15";
10528734d335SStephan Gerhold				function = "gpio";
10538734d335SStephan Gerhold				drive-strength = <2>;
10548734d335SStephan Gerhold				bias-disable;
10558734d335SStephan Gerhold			};
10568734d335SStephan Gerhold
10578734d335SStephan Gerhold			blsp_i2c5_default: blsp-i2c5-default-state {
10588734d335SStephan Gerhold				pins = "gpio18", "gpio19";
10598734d335SStephan Gerhold				function = "blsp_i2c5";
10608734d335SStephan Gerhold				drive-strength = <2>;
10618734d335SStephan Gerhold				bias-disable;
10628734d335SStephan Gerhold			};
10638734d335SStephan Gerhold
10648734d335SStephan Gerhold			blsp_i2c5_sleep: blsp-i2c5-sleep-state {
10658734d335SStephan Gerhold				pins = "gpio18", "gpio19";
10668734d335SStephan Gerhold				function = "gpio";
10678734d335SStephan Gerhold				drive-strength = <2>;
10688734d335SStephan Gerhold				bias-disable;
10698734d335SStephan Gerhold			};
10708734d335SStephan Gerhold
10718734d335SStephan Gerhold			blsp_i2c6_default: blsp-i2c6-default-state {
10728734d335SStephan Gerhold				pins = "gpio22", "gpio23";
10738734d335SStephan Gerhold				function = "blsp_i2c6";
10748734d335SStephan Gerhold				drive-strength = <2>;
10758734d335SStephan Gerhold				bias-disable;
10768734d335SStephan Gerhold			};
10778734d335SStephan Gerhold
10788734d335SStephan Gerhold			blsp_i2c6_sleep: blsp-i2c6-sleep-state {
10798734d335SStephan Gerhold				pins = "gpio22", "gpio23";
10808734d335SStephan Gerhold				function = "gpio";
10818734d335SStephan Gerhold				drive-strength = <2>;
10828734d335SStephan Gerhold				bias-disable;
10838734d335SStephan Gerhold			};
10848734d335SStephan Gerhold
10858734d335SStephan Gerhold			blsp_spi1_default: blsp-spi1-default-state {
10868734d335SStephan Gerhold				spi-pins {
10878734d335SStephan Gerhold					pins = "gpio0", "gpio1", "gpio3";
10888734d335SStephan Gerhold					function = "blsp_spi1";
10898734d335SStephan Gerhold					drive-strength = <12>;
10908734d335SStephan Gerhold					bias-disable;
10918734d335SStephan Gerhold				};
10928734d335SStephan Gerhold				cs-pins {
10938734d335SStephan Gerhold					pins = "gpio2";
10948734d335SStephan Gerhold					function = "gpio";
10958734d335SStephan Gerhold					drive-strength = <16>;
10968734d335SStephan Gerhold					bias-disable;
10978734d335SStephan Gerhold					output-high;
10988734d335SStephan Gerhold				};
10998734d335SStephan Gerhold			};
11008734d335SStephan Gerhold
11018734d335SStephan Gerhold			blsp_spi1_sleep: blsp-spi1-sleep-state {
11028734d335SStephan Gerhold				pins = "gpio0", "gpio1", "gpio2", "gpio3";
11038734d335SStephan Gerhold				function = "gpio";
11048734d335SStephan Gerhold				drive-strength = <2>;
11058734d335SStephan Gerhold				bias-pull-down;
11068734d335SStephan Gerhold			};
11078734d335SStephan Gerhold
11088734d335SStephan Gerhold			blsp_spi2_default: blsp-spi2-default-state {
11098734d335SStephan Gerhold				spi-pins {
11108734d335SStephan Gerhold					pins = "gpio4", "gpio5", "gpio7";
11118734d335SStephan Gerhold					function = "blsp_spi2";
11128734d335SStephan Gerhold					drive-strength = <12>;
11138734d335SStephan Gerhold					bias-disable;
11148734d335SStephan Gerhold				};
11158734d335SStephan Gerhold				cs-pins {
11168734d335SStephan Gerhold					pins = "gpio6";
11178734d335SStephan Gerhold					function = "gpio";
11188734d335SStephan Gerhold					drive-strength = <16>;
11198734d335SStephan Gerhold					bias-disable;
11208734d335SStephan Gerhold					output-high;
11218734d335SStephan Gerhold				};
11228734d335SStephan Gerhold			};
11238734d335SStephan Gerhold
11248734d335SStephan Gerhold			blsp_spi2_sleep: blsp-spi2-sleep-state {
11258734d335SStephan Gerhold				pins = "gpio4", "gpio5", "gpio6", "gpio7";
11268734d335SStephan Gerhold				function = "gpio";
11278734d335SStephan Gerhold				drive-strength = <2>;
11288734d335SStephan Gerhold				bias-pull-down;
11298734d335SStephan Gerhold			};
11308734d335SStephan Gerhold
11318734d335SStephan Gerhold			blsp_spi3_default: blsp-spi3-default-state {
11328734d335SStephan Gerhold				spi-pins {
11338734d335SStephan Gerhold					pins = "gpio8", "gpio9", "gpio11";
11348734d335SStephan Gerhold					function = "blsp_spi3";
11358734d335SStephan Gerhold					drive-strength = <12>;
11368734d335SStephan Gerhold					bias-disable;
11378734d335SStephan Gerhold				};
11388734d335SStephan Gerhold				cs-pins {
11398734d335SStephan Gerhold					pins = "gpio10";
11408734d335SStephan Gerhold					function = "gpio";
11418734d335SStephan Gerhold					drive-strength = <16>;
11428734d335SStephan Gerhold					bias-disable;
11438734d335SStephan Gerhold					output-high;
11448734d335SStephan Gerhold				};
11458734d335SStephan Gerhold			};
11468734d335SStephan Gerhold
11478734d335SStephan Gerhold			blsp_spi3_sleep: blsp-spi3-sleep-state {
11488734d335SStephan Gerhold				pins = "gpio8", "gpio9", "gpio10", "gpio11";
11498734d335SStephan Gerhold				function = "gpio";
11508734d335SStephan Gerhold				drive-strength = <2>;
11518734d335SStephan Gerhold				bias-pull-down;
11528734d335SStephan Gerhold			};
11538734d335SStephan Gerhold
11548734d335SStephan Gerhold			blsp_spi4_default: blsp-spi4-default-state {
11558734d335SStephan Gerhold				spi-pins {
11568734d335SStephan Gerhold					pins = "gpio12", "gpio13", "gpio15";
11578734d335SStephan Gerhold					function = "blsp_spi4";
11588734d335SStephan Gerhold					drive-strength = <12>;
11598734d335SStephan Gerhold					bias-disable;
11608734d335SStephan Gerhold				};
11618734d335SStephan Gerhold				cs-pins {
11628734d335SStephan Gerhold					pins = "gpio14";
11638734d335SStephan Gerhold					function = "gpio";
11648734d335SStephan Gerhold					drive-strength = <16>;
11658734d335SStephan Gerhold					bias-disable;
11668734d335SStephan Gerhold					output-high;
11678734d335SStephan Gerhold				};
11688734d335SStephan Gerhold			};
11698734d335SStephan Gerhold
11708734d335SStephan Gerhold			blsp_spi4_sleep: blsp-spi4-sleep-state {
11718734d335SStephan Gerhold				pins = "gpio12", "gpio13", "gpio14", "gpio15";
11728734d335SStephan Gerhold				function = "gpio";
11738734d335SStephan Gerhold				drive-strength = <2>;
11748734d335SStephan Gerhold				bias-pull-down;
11758734d335SStephan Gerhold			};
11768734d335SStephan Gerhold
11778734d335SStephan Gerhold			blsp_spi5_default: blsp-spi5-default-state {
11788734d335SStephan Gerhold				spi-pins {
11798734d335SStephan Gerhold					pins = "gpio16", "gpio17", "gpio19";
11808734d335SStephan Gerhold					function = "blsp_spi5";
11818734d335SStephan Gerhold					drive-strength = <12>;
11828734d335SStephan Gerhold					bias-disable;
11838734d335SStephan Gerhold				};
11848734d335SStephan Gerhold				cs-pins {
11858734d335SStephan Gerhold					pins = "gpio18";
11868734d335SStephan Gerhold					function = "gpio";
11878734d335SStephan Gerhold					drive-strength = <16>;
11888734d335SStephan Gerhold					bias-disable;
11898734d335SStephan Gerhold					output-high;
11908734d335SStephan Gerhold				};
11918734d335SStephan Gerhold			};
11928734d335SStephan Gerhold
11938734d335SStephan Gerhold			blsp_spi5_sleep: blsp-spi5-sleep-state {
11948734d335SStephan Gerhold				pins = "gpio16", "gpio17", "gpio18", "gpio19";
11958734d335SStephan Gerhold				function = "gpio";
11968734d335SStephan Gerhold				drive-strength = <2>;
11978734d335SStephan Gerhold				bias-pull-down;
11988734d335SStephan Gerhold			};
11998734d335SStephan Gerhold
12008734d335SStephan Gerhold			blsp_spi6_default: blsp-spi6-default-state {
12018734d335SStephan Gerhold				spi-pins {
12028734d335SStephan Gerhold					pins = "gpio20", "gpio21", "gpio23";
12038734d335SStephan Gerhold					function = "blsp_spi6";
12048734d335SStephan Gerhold					drive-strength = <12>;
12058734d335SStephan Gerhold					bias-disable;
12068734d335SStephan Gerhold				};
12078734d335SStephan Gerhold				cs-pins {
12088734d335SStephan Gerhold					pins = "gpio22";
12098734d335SStephan Gerhold					function = "gpio";
12108734d335SStephan Gerhold					drive-strength = <16>;
12118734d335SStephan Gerhold					bias-disable;
12128734d335SStephan Gerhold					output-high;
12138734d335SStephan Gerhold				};
12148734d335SStephan Gerhold			};
12158734d335SStephan Gerhold
12168734d335SStephan Gerhold			blsp_spi6_sleep: blsp-spi6-sleep-state {
12178734d335SStephan Gerhold				pins = "gpio20", "gpio21", "gpio22", "gpio23";
12188734d335SStephan Gerhold				function = "gpio";
12198734d335SStephan Gerhold				drive-strength = <2>;
12208734d335SStephan Gerhold				bias-pull-down;
12218734d335SStephan Gerhold			};
12228734d335SStephan Gerhold
12238734d335SStephan Gerhold			blsp_uart1_default: blsp-uart1-default-state {
12248734d335SStephan Gerhold				/* TX, RX, CTS_N, RTS_N */
12258734d335SStephan Gerhold				pins = "gpio0", "gpio1", "gpio2", "gpio3";
12268734d335SStephan Gerhold				function = "blsp_uart1";
12278734d335SStephan Gerhold				drive-strength = <16>;
12288734d335SStephan Gerhold				bias-disable;
12298734d335SStephan Gerhold			};
12308734d335SStephan Gerhold
12318734d335SStephan Gerhold			blsp_uart1_sleep: blsp-uart1-sleep-state {
12328734d335SStephan Gerhold				pins = "gpio0", "gpio1", "gpio2", "gpio3";
12338734d335SStephan Gerhold				function = "gpio";
12348734d335SStephan Gerhold				drive-strength = <2>;
12358734d335SStephan Gerhold				bias-pull-down;
12368734d335SStephan Gerhold			};
12378734d335SStephan Gerhold
12388734d335SStephan Gerhold			blsp_uart2_default: blsp-uart2-default-state {
12398734d335SStephan Gerhold				pins = "gpio4", "gpio5";
12408734d335SStephan Gerhold				function = "blsp_uart2";
12418734d335SStephan Gerhold				drive-strength = <16>;
12428734d335SStephan Gerhold				bias-disable;
12438734d335SStephan Gerhold			};
12448734d335SStephan Gerhold
12458734d335SStephan Gerhold			blsp_uart2_sleep: blsp-uart2-sleep-state {
12468734d335SStephan Gerhold				pins = "gpio4", "gpio5";
12478734d335SStephan Gerhold				function = "gpio";
12488734d335SStephan Gerhold				drive-strength = <2>;
12498734d335SStephan Gerhold				bias-pull-down;
12508734d335SStephan Gerhold			};
12518734d335SStephan Gerhold
12528734d335SStephan Gerhold			camera_front_default: camera-front-default-state {
12538734d335SStephan Gerhold				pwdn-pins {
12548734d335SStephan Gerhold					pins = "gpio33";
12558734d335SStephan Gerhold					function = "gpio";
12568734d335SStephan Gerhold					drive-strength = <16>;
12578734d335SStephan Gerhold					bias-disable;
12588734d335SStephan Gerhold				};
12598734d335SStephan Gerhold				rst-pins {
12608734d335SStephan Gerhold					pins = "gpio28";
12618734d335SStephan Gerhold					function = "gpio";
12628734d335SStephan Gerhold					drive-strength = <16>;
12638734d335SStephan Gerhold					bias-disable;
12648734d335SStephan Gerhold				};
12658734d335SStephan Gerhold				mclk1-pins {
12668734d335SStephan Gerhold					pins = "gpio27";
12678734d335SStephan Gerhold					function = "cam_mclk1";
12688734d335SStephan Gerhold					drive-strength = <16>;
12698734d335SStephan Gerhold					bias-disable;
12708734d335SStephan Gerhold				};
12718734d335SStephan Gerhold			};
12728734d335SStephan Gerhold
12738734d335SStephan Gerhold			camera_rear_default: camera-rear-default-state {
12748734d335SStephan Gerhold				pwdn-pins {
12758734d335SStephan Gerhold					pins = "gpio34";
12768734d335SStephan Gerhold					function = "gpio";
12778734d335SStephan Gerhold					drive-strength = <16>;
12788734d335SStephan Gerhold					bias-disable;
12798734d335SStephan Gerhold				};
12808734d335SStephan Gerhold				rst-pins {
12818734d335SStephan Gerhold					pins = "gpio35";
12828734d335SStephan Gerhold					function = "gpio";
12838734d335SStephan Gerhold					drive-strength = <16>;
12848734d335SStephan Gerhold					bias-disable;
12858734d335SStephan Gerhold				};
12868734d335SStephan Gerhold				mclk0-pins {
12878734d335SStephan Gerhold					pins = "gpio26";
12888734d335SStephan Gerhold					function = "cam_mclk0";
12898734d335SStephan Gerhold					drive-strength = <16>;
12908734d335SStephan Gerhold					bias-disable;
12918734d335SStephan Gerhold				};
12928734d335SStephan Gerhold			};
12938734d335SStephan Gerhold
12948734d335SStephan Gerhold			cci0_default: cci0-default-state {
12958734d335SStephan Gerhold				pins = "gpio29", "gpio30";
12968734d335SStephan Gerhold				function = "cci_i2c";
12978734d335SStephan Gerhold				drive-strength = <16>;
12988734d335SStephan Gerhold				bias-disable;
12998734d335SStephan Gerhold			};
13008734d335SStephan Gerhold
13018734d335SStephan Gerhold			cdc_dmic_default: cdc-dmic-default-state {
13028734d335SStephan Gerhold				clk-pins {
13038734d335SStephan Gerhold					pins = "gpio0";
13048734d335SStephan Gerhold					function = "dmic0_clk";
13058734d335SStephan Gerhold					drive-strength = <8>;
13068734d335SStephan Gerhold				};
13078734d335SStephan Gerhold				data-pins {
13088734d335SStephan Gerhold					pins = "gpio1";
13098734d335SStephan Gerhold					function = "dmic0_data";
13108734d335SStephan Gerhold					drive-strength = <8>;
13118734d335SStephan Gerhold				};
13128734d335SStephan Gerhold			};
13138734d335SStephan Gerhold
13148734d335SStephan Gerhold			cdc_dmic_sleep: cdc-dmic-sleep-state {
13158734d335SStephan Gerhold				clk-pins {
13168734d335SStephan Gerhold					pins = "gpio0";
13178734d335SStephan Gerhold					function = "dmic0_clk";
13188734d335SStephan Gerhold					drive-strength = <2>;
13198734d335SStephan Gerhold					bias-disable;
13208734d335SStephan Gerhold				};
13218734d335SStephan Gerhold				data-pins {
13228734d335SStephan Gerhold					pins = "gpio1";
13238734d335SStephan Gerhold					function = "dmic0_data";
13248734d335SStephan Gerhold					drive-strength = <2>;
13258734d335SStephan Gerhold					bias-disable;
13268734d335SStephan Gerhold				};
13278734d335SStephan Gerhold			};
13288734d335SStephan Gerhold
13298734d335SStephan Gerhold			cdc_pdm_default: cdc-pdm-default-state {
13308734d335SStephan Gerhold				pins = "gpio63", "gpio64", "gpio65", "gpio66",
13318734d335SStephan Gerhold				       "gpio67", "gpio68";
13328734d335SStephan Gerhold				function = "cdc_pdm0";
13338734d335SStephan Gerhold				drive-strength = <8>;
13348734d335SStephan Gerhold				bias-disable;
13358734d335SStephan Gerhold			};
13368734d335SStephan Gerhold
13378734d335SStephan Gerhold			cdc_pdm_sleep: cdc-pdm-sleep-state {
13388734d335SStephan Gerhold				pins = "gpio63", "gpio64", "gpio65", "gpio66",
13398734d335SStephan Gerhold				       "gpio67", "gpio68";
13408734d335SStephan Gerhold				function = "cdc_pdm0";
13418734d335SStephan Gerhold				drive-strength = <2>;
13428734d335SStephan Gerhold				bias-pull-down;
13438734d335SStephan Gerhold			};
13448734d335SStephan Gerhold
13458734d335SStephan Gerhold			pri_mi2s_default: mi2s-pri-default-state {
13468734d335SStephan Gerhold				pins = "gpio113", "gpio114", "gpio115", "gpio116";
13478734d335SStephan Gerhold				function = "pri_mi2s";
13488734d335SStephan Gerhold				drive-strength = <8>;
13498734d335SStephan Gerhold				bias-disable;
13508734d335SStephan Gerhold			};
13518734d335SStephan Gerhold
13528734d335SStephan Gerhold			pri_mi2s_sleep: mi2s-pri-sleep-state {
13538734d335SStephan Gerhold				pins = "gpio113", "gpio114", "gpio115", "gpio116";
13548734d335SStephan Gerhold				function = "pri_mi2s";
13558734d335SStephan Gerhold				drive-strength = <2>;
13568734d335SStephan Gerhold				bias-disable;
13578734d335SStephan Gerhold			};
13588734d335SStephan Gerhold
13598734d335SStephan Gerhold			pri_mi2s_mclk_default: mi2s-pri-mclk-default-state {
13608734d335SStephan Gerhold				pins = "gpio116";
13618734d335SStephan Gerhold				function = "pri_mi2s";
13628734d335SStephan Gerhold				drive-strength = <8>;
13638734d335SStephan Gerhold				bias-disable;
13648734d335SStephan Gerhold			};
13658734d335SStephan Gerhold
13668734d335SStephan Gerhold			pri_mi2s_mclk_sleep: mi2s-pri-mclk-sleep-state {
13678734d335SStephan Gerhold				pins = "gpio116";
13688734d335SStephan Gerhold				function = "pri_mi2s";
13698734d335SStephan Gerhold				drive-strength = <2>;
13708734d335SStephan Gerhold				bias-disable;
13718734d335SStephan Gerhold			};
13728734d335SStephan Gerhold
13738734d335SStephan Gerhold			pri_mi2s_ws_default: mi2s-pri-ws-default-state {
13748734d335SStephan Gerhold				pins = "gpio110";
13758734d335SStephan Gerhold				function = "pri_mi2s_ws";
13768734d335SStephan Gerhold				drive-strength = <8>;
13778734d335SStephan Gerhold				bias-disable;
13788734d335SStephan Gerhold			};
13798734d335SStephan Gerhold
13808734d335SStephan Gerhold			pri_mi2s_ws_sleep: mi2s-pri-ws-sleep-state {
13818734d335SStephan Gerhold				pins = "gpio110";
13828734d335SStephan Gerhold				function = "pri_mi2s_ws";
13838734d335SStephan Gerhold				drive-strength = <2>;
13848734d335SStephan Gerhold				bias-disable;
13858734d335SStephan Gerhold			};
13868734d335SStephan Gerhold
13878734d335SStephan Gerhold			sec_mi2s_default: mi2s-sec-default-state {
13888734d335SStephan Gerhold				pins = "gpio112", "gpio117", "gpio118", "gpio119";
13898734d335SStephan Gerhold				function = "sec_mi2s";
13908734d335SStephan Gerhold				drive-strength = <8>;
13918734d335SStephan Gerhold				bias-disable;
13928734d335SStephan Gerhold			};
13938734d335SStephan Gerhold
13948734d335SStephan Gerhold			sec_mi2s_sleep: mi2s-sec-sleep-state {
13958734d335SStephan Gerhold				pins = "gpio112", "gpio117", "gpio118", "gpio119";
13968734d335SStephan Gerhold				function = "sec_mi2s";
13978734d335SStephan Gerhold				drive-strength = <2>;
13988734d335SStephan Gerhold				bias-disable;
13998734d335SStephan Gerhold			};
14008734d335SStephan Gerhold
14018734d335SStephan Gerhold			sdc1_default: sdc1-default-state {
14028734d335SStephan Gerhold				clk-pins {
14038734d335SStephan Gerhold					pins = "sdc1_clk";
14048734d335SStephan Gerhold					bias-disable;
14058734d335SStephan Gerhold					drive-strength = <16>;
14068734d335SStephan Gerhold				};
14078734d335SStephan Gerhold				cmd-pins {
14088734d335SStephan Gerhold					pins = "sdc1_cmd";
14098734d335SStephan Gerhold					bias-pull-up;
14108734d335SStephan Gerhold					drive-strength = <10>;
14118734d335SStephan Gerhold				};
14128734d335SStephan Gerhold				data-pins {
14138734d335SStephan Gerhold					pins = "sdc1_data";
14148734d335SStephan Gerhold					bias-pull-up;
14158734d335SStephan Gerhold					drive-strength = <10>;
14168734d335SStephan Gerhold				};
14178734d335SStephan Gerhold			};
14188734d335SStephan Gerhold
14198734d335SStephan Gerhold			sdc1_sleep: sdc1-sleep-state {
14208734d335SStephan Gerhold				clk-pins {
14218734d335SStephan Gerhold					pins = "sdc1_clk";
14228734d335SStephan Gerhold					bias-disable;
14238734d335SStephan Gerhold					drive-strength = <2>;
14248734d335SStephan Gerhold				};
14258734d335SStephan Gerhold				cmd-pins {
14268734d335SStephan Gerhold					pins = "sdc1_cmd";
14278734d335SStephan Gerhold					bias-pull-up;
14288734d335SStephan Gerhold					drive-strength = <2>;
14298734d335SStephan Gerhold				};
14308734d335SStephan Gerhold				data-pins {
14318734d335SStephan Gerhold					pins = "sdc1_data";
14328734d335SStephan Gerhold					bias-pull-up;
14338734d335SStephan Gerhold					drive-strength = <2>;
14348734d335SStephan Gerhold				};
14358734d335SStephan Gerhold			};
14368734d335SStephan Gerhold
14378734d335SStephan Gerhold			sdc2_default: sdc2-default-state {
14388734d335SStephan Gerhold				clk-pins {
14398734d335SStephan Gerhold					pins = "sdc2_clk";
14408734d335SStephan Gerhold					bias-disable;
14418734d335SStephan Gerhold					drive-strength = <16>;
14428734d335SStephan Gerhold				};
14438734d335SStephan Gerhold				cmd-pins {
14448734d335SStephan Gerhold					pins = "sdc2_cmd";
14458734d335SStephan Gerhold					bias-pull-up;
14468734d335SStephan Gerhold					drive-strength = <10>;
14478734d335SStephan Gerhold				};
14488734d335SStephan Gerhold				data-pins {
14498734d335SStephan Gerhold					pins = "sdc2_data";
14508734d335SStephan Gerhold					bias-pull-up;
14518734d335SStephan Gerhold					drive-strength = <10>;
14528734d335SStephan Gerhold				};
14538734d335SStephan Gerhold			};
14548734d335SStephan Gerhold
14558734d335SStephan Gerhold			sdc2_sleep: sdc2-sleep-state {
14568734d335SStephan Gerhold				clk-pins {
14578734d335SStephan Gerhold					pins = "sdc2_clk";
14588734d335SStephan Gerhold					bias-disable;
14598734d335SStephan Gerhold					drive-strength = <2>;
14608734d335SStephan Gerhold				};
14618734d335SStephan Gerhold				cmd-pins {
14628734d335SStephan Gerhold					pins = "sdc2_cmd";
14638734d335SStephan Gerhold					bias-pull-up;
14648734d335SStephan Gerhold					drive-strength = <2>;
14658734d335SStephan Gerhold				};
14668734d335SStephan Gerhold				data-pins {
14678734d335SStephan Gerhold					pins = "sdc2_data";
14688734d335SStephan Gerhold					bias-pull-up;
14698734d335SStephan Gerhold					drive-strength = <2>;
14708734d335SStephan Gerhold				};
14718734d335SStephan Gerhold			};
14728734d335SStephan Gerhold
14738734d335SStephan Gerhold			wcss_wlan_default: wcss-wlan-default-state {
14748734d335SStephan Gerhold				pins = "gpio40", "gpio41", "gpio42", "gpio43", "gpio44";
14758734d335SStephan Gerhold				function = "wcss_wlan";
14768734d335SStephan Gerhold				drive-strength = <6>;
14778734d335SStephan Gerhold				bias-pull-up;
14788734d335SStephan Gerhold			};
1479b1fcc570SMike Leach		};
1480b1fcc570SMike Leach
1481327c0f5fSStephan Gerhold		gcc: clock-controller@1800000 {
1482327c0f5fSStephan Gerhold			compatible = "qcom,gcc-msm8916";
1483327c0f5fSStephan Gerhold			#clock-cells = <1>;
1484327c0f5fSStephan Gerhold			#reset-cells = <1>;
1485327c0f5fSStephan Gerhold			#power-domain-cells = <1>;
1486327c0f5fSStephan Gerhold			reg = <0x01800000 0x80000>;
14878373f5d5SDmitry Baryshkov			clocks = <&xo_board>,
14888373f5d5SDmitry Baryshkov				 <&sleep_clk>,
1489835f9395SStephan Gerhold				 <&mdss_dsi0_phy 1>,
1490835f9395SStephan Gerhold				 <&mdss_dsi0_phy 0>,
14918373f5d5SDmitry Baryshkov				 <0>,
14928373f5d5SDmitry Baryshkov				 <0>,
14938373f5d5SDmitry Baryshkov				 <0>;
14948373f5d5SDmitry Baryshkov			clock-names = "xo",
14958373f5d5SDmitry Baryshkov				      "sleep_clk",
14968373f5d5SDmitry Baryshkov				      "dsi0pll",
14978373f5d5SDmitry Baryshkov				      "dsi0pllbyte",
14988373f5d5SDmitry Baryshkov				      "ext_mclk",
14998373f5d5SDmitry Baryshkov				      "ext_pri_i2s",
15008373f5d5SDmitry Baryshkov				      "ext_sec_i2s";
1501b1fcc570SMike Leach		};
1502b1fcc570SMike Leach
1503327c0f5fSStephan Gerhold		tcsr_mutex: hwlock@1905000 {
1504327c0f5fSStephan Gerhold			compatible = "qcom,tcsr-mutex";
1505327c0f5fSStephan Gerhold			reg = <0x01905000 0x20000>;
1506327c0f5fSStephan Gerhold			#hwlock-cells = <1>;
1507b1fcc570SMike Leach		};
1508b1fcc570SMike Leach
1509327c0f5fSStephan Gerhold		tcsr: syscon@1937000 {
1510327c0f5fSStephan Gerhold			compatible = "qcom,tcsr-msm8916", "syscon";
1511327c0f5fSStephan Gerhold			reg = <0x01937000 0x30000>;
1512b1fcc570SMike Leach		};
1513b1fcc570SMike Leach
1514ecf0f5ffSDmitry Baryshkov		mdss: display-subsystem@1a00000 {
15155f36d633SVincent Knecht			status = "disabled";
1516327c0f5fSStephan Gerhold			compatible = "qcom,mdss";
1517327c0f5fSStephan Gerhold			reg = <0x01a00000 0x1000>,
1518327c0f5fSStephan Gerhold			      <0x01ac8000 0x3000>;
1519327c0f5fSStephan Gerhold			reg-names = "mdss_phys", "vbif_phys";
1520b1fcc570SMike Leach
1521327c0f5fSStephan Gerhold			power-domains = <&gcc MDSS_GDSC>;
1522b1fcc570SMike Leach
1523327c0f5fSStephan Gerhold			clocks = <&gcc GCC_MDSS_AHB_CLK>,
1524327c0f5fSStephan Gerhold				 <&gcc GCC_MDSS_AXI_CLK>,
1525327c0f5fSStephan Gerhold				 <&gcc GCC_MDSS_VSYNC_CLK>;
1526327c0f5fSStephan Gerhold			clock-names = "iface",
1527327c0f5fSStephan Gerhold				      "bus",
1528327c0f5fSStephan Gerhold				      "vsync";
1529b3d6fd8fSMichael Srba
1530327c0f5fSStephan Gerhold			interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
1531327c0f5fSStephan Gerhold
1532327c0f5fSStephan Gerhold			interrupt-controller;
1533327c0f5fSStephan Gerhold			#interrupt-cells = <1>;
1534327c0f5fSStephan Gerhold
1535327c0f5fSStephan Gerhold			#address-cells = <1>;
1536327c0f5fSStephan Gerhold			#size-cells = <1>;
1537327c0f5fSStephan Gerhold			ranges;
1538327c0f5fSStephan Gerhold
1539835f9395SStephan Gerhold			mdss_mdp: display-controller@1a01000 {
1540d46fbd45SDmitry Baryshkov				compatible = "qcom,msm8916-mdp5", "qcom,mdp5";
1541327c0f5fSStephan Gerhold				reg = <0x01a01000 0x89000>;
1542327c0f5fSStephan Gerhold				reg-names = "mdp_phys";
1543327c0f5fSStephan Gerhold
1544327c0f5fSStephan Gerhold				interrupt-parent = <&mdss>;
1545327c0f5fSStephan Gerhold				interrupts = <0>;
1546327c0f5fSStephan Gerhold
1547327c0f5fSStephan Gerhold				clocks = <&gcc GCC_MDSS_AHB_CLK>,
1548327c0f5fSStephan Gerhold					 <&gcc GCC_MDSS_AXI_CLK>,
1549327c0f5fSStephan Gerhold					 <&gcc GCC_MDSS_MDP_CLK>,
1550327c0f5fSStephan Gerhold					 <&gcc GCC_MDSS_VSYNC_CLK>;
1551327c0f5fSStephan Gerhold				clock-names = "iface",
1552327c0f5fSStephan Gerhold					      "bus",
1553327c0f5fSStephan Gerhold					      "core",
1554327c0f5fSStephan Gerhold					      "vsync";
1555327c0f5fSStephan Gerhold
1556327c0f5fSStephan Gerhold				iommus = <&apps_iommu 4>;
1557327c0f5fSStephan Gerhold
1558327c0f5fSStephan Gerhold				ports {
1559327c0f5fSStephan Gerhold					#address-cells = <1>;
1560327c0f5fSStephan Gerhold					#size-cells = <0>;
1561327c0f5fSStephan Gerhold
1562327c0f5fSStephan Gerhold					port@0 {
1563327c0f5fSStephan Gerhold						reg = <0>;
1564835f9395SStephan Gerhold						mdss_mdp_intf1_out: endpoint {
1565835f9395SStephan Gerhold							remote-endpoint = <&mdss_dsi0_in>;
1566327c0f5fSStephan Gerhold						};
1567327c0f5fSStephan Gerhold					};
1568327c0f5fSStephan Gerhold				};
1569b1fcc570SMike Leach			};
1570b1fcc570SMike Leach
1571835f9395SStephan Gerhold			mdss_dsi0: dsi@1a98000 {
1572cd8cecc7SBryan O'Donoghue				compatible = "qcom,msm8916-dsi-ctrl",
1573cd8cecc7SBryan O'Donoghue					     "qcom,mdss-dsi-ctrl";
1574327c0f5fSStephan Gerhold				reg = <0x01a98000 0x25c>;
1575327c0f5fSStephan Gerhold				reg-names = "dsi_ctrl";
1576b1fcc570SMike Leach
1577327c0f5fSStephan Gerhold				interrupt-parent = <&mdss>;
1578327c0f5fSStephan Gerhold				interrupts = <4>;
1579b1fcc570SMike Leach
1580327c0f5fSStephan Gerhold				assigned-clocks = <&gcc BYTE0_CLK_SRC>,
1581327c0f5fSStephan Gerhold						  <&gcc PCLK0_CLK_SRC>;
1582835f9395SStephan Gerhold				assigned-clock-parents = <&mdss_dsi0_phy 0>,
1583835f9395SStephan Gerhold							 <&mdss_dsi0_phy 1>;
1584b3d6fd8fSMichael Srba
1585327c0f5fSStephan Gerhold				clocks = <&gcc GCC_MDSS_MDP_CLK>,
1586327c0f5fSStephan Gerhold					 <&gcc GCC_MDSS_AHB_CLK>,
1587327c0f5fSStephan Gerhold					 <&gcc GCC_MDSS_AXI_CLK>,
1588327c0f5fSStephan Gerhold					 <&gcc GCC_MDSS_BYTE0_CLK>,
1589327c0f5fSStephan Gerhold					 <&gcc GCC_MDSS_PCLK0_CLK>,
1590327c0f5fSStephan Gerhold					 <&gcc GCC_MDSS_ESC0_CLK>;
1591327c0f5fSStephan Gerhold				clock-names = "mdp_core",
1592327c0f5fSStephan Gerhold					      "iface",
1593327c0f5fSStephan Gerhold					      "bus",
1594327c0f5fSStephan Gerhold					      "byte",
1595327c0f5fSStephan Gerhold					      "pixel",
1596327c0f5fSStephan Gerhold					      "core";
1597835f9395SStephan Gerhold				phys = <&mdss_dsi0_phy>;
1598327c0f5fSStephan Gerhold
1599327c0f5fSStephan Gerhold				#address-cells = <1>;
1600327c0f5fSStephan Gerhold				#size-cells = <0>;
1601327c0f5fSStephan Gerhold
1602327c0f5fSStephan Gerhold				ports {
1603327c0f5fSStephan Gerhold					#address-cells = <1>;
1604327c0f5fSStephan Gerhold					#size-cells = <0>;
1605327c0f5fSStephan Gerhold
1606327c0f5fSStephan Gerhold					port@0 {
1607327c0f5fSStephan Gerhold						reg = <0>;
1608835f9395SStephan Gerhold						mdss_dsi0_in: endpoint {
1609835f9395SStephan Gerhold							remote-endpoint = <&mdss_mdp_intf1_out>;
1610327c0f5fSStephan Gerhold						};
1611b1fcc570SMike Leach					};
1612b1fcc570SMike Leach
1613327c0f5fSStephan Gerhold					port@1 {
1614327c0f5fSStephan Gerhold						reg = <1>;
1615835f9395SStephan Gerhold						mdss_dsi0_out: endpoint {
1616327c0f5fSStephan Gerhold						};
1617327c0f5fSStephan Gerhold					};
1618327c0f5fSStephan Gerhold				};
161916bd6c82SStanimir Varbanov			};
162016bd6c82SStanimir Varbanov
1621835f9395SStephan Gerhold			mdss_dsi0_phy: phy@1a98300 {
1622327c0f5fSStephan Gerhold				compatible = "qcom,dsi-phy-28nm-lp";
1623327c0f5fSStephan Gerhold				reg = <0x01a98300 0xd4>,
1624327c0f5fSStephan Gerhold				      <0x01a98500 0x280>,
1625327c0f5fSStephan Gerhold				      <0x01a98780 0x30>;
1626327c0f5fSStephan Gerhold				reg-names = "dsi_pll",
1627327c0f5fSStephan Gerhold					    "dsi_phy",
1628327c0f5fSStephan Gerhold					    "dsi_phy_regulator";
1629327c0f5fSStephan Gerhold
1630327c0f5fSStephan Gerhold				#clock-cells = <1>;
1631327c0f5fSStephan Gerhold				#phy-cells = <0>;
1632327c0f5fSStephan Gerhold
1633327c0f5fSStephan Gerhold				clocks = <&gcc GCC_MDSS_AHB_CLK>,
1634327c0f5fSStephan Gerhold					 <&xo_board>;
1635327c0f5fSStephan Gerhold				clock-names = "iface", "ref";
163616bd6c82SStanimir Varbanov			};
163716bd6c82SStanimir Varbanov		};
163858f479f9STodor Tomov
163948798d99SKrzysztof Kozlowski		camss: camss@1b0ac00 {
164058f479f9STodor Tomov			compatible = "qcom,msm8916-camss";
16412e04aa29SStephan Gerhold			reg = <0x01b0ac00 0x200>,
16422e04aa29SStephan Gerhold				<0x01b00030 0x4>,
16432e04aa29SStephan Gerhold				<0x01b0b000 0x200>,
16442e04aa29SStephan Gerhold				<0x01b00038 0x4>,
16452e04aa29SStephan Gerhold				<0x01b08000 0x100>,
16462e04aa29SStephan Gerhold				<0x01b08400 0x100>,
16472e04aa29SStephan Gerhold				<0x01b0a000 0x500>,
16482e04aa29SStephan Gerhold				<0x01b00020 0x10>,
16492e04aa29SStephan Gerhold				<0x01b10000 0x1000>;
165058f479f9STodor Tomov			reg-names = "csiphy0",
165158f479f9STodor Tomov				"csiphy0_clk_mux",
165258f479f9STodor Tomov				"csiphy1",
165358f479f9STodor Tomov				"csiphy1_clk_mux",
165458f479f9STodor Tomov				"csid0",
165558f479f9STodor Tomov				"csid1",
165658f479f9STodor Tomov				"ispif",
165758f479f9STodor Tomov				"csi_clk_mux",
165858f479f9STodor Tomov				"vfe0";
165958f479f9STodor Tomov			interrupts = <GIC_SPI 78 IRQ_TYPE_EDGE_RISING>,
166058f479f9STodor Tomov				<GIC_SPI 79 IRQ_TYPE_EDGE_RISING>,
166158f479f9STodor Tomov				<GIC_SPI 51 IRQ_TYPE_EDGE_RISING>,
166258f479f9STodor Tomov				<GIC_SPI 52 IRQ_TYPE_EDGE_RISING>,
166358f479f9STodor Tomov				<GIC_SPI 55 IRQ_TYPE_EDGE_RISING>,
166458f479f9STodor Tomov				<GIC_SPI 57 IRQ_TYPE_EDGE_RISING>;
166558f479f9STodor Tomov			interrupt-names = "csiphy0",
166658f479f9STodor Tomov				"csiphy1",
166758f479f9STodor Tomov				"csid0",
166858f479f9STodor Tomov				"csid1",
166958f479f9STodor Tomov				"ispif",
167058f479f9STodor Tomov				"vfe0";
167158f479f9STodor Tomov			power-domains = <&gcc VFE_GDSC>;
167258f479f9STodor Tomov			clocks = <&gcc GCC_CAMSS_TOP_AHB_CLK>,
167358f479f9STodor Tomov				<&gcc GCC_CAMSS_ISPIF_AHB_CLK>,
167458f479f9STodor Tomov				<&gcc GCC_CAMSS_CSI0PHYTIMER_CLK>,
167558f479f9STodor Tomov				<&gcc GCC_CAMSS_CSI1PHYTIMER_CLK>,
167658f479f9STodor Tomov				<&gcc GCC_CAMSS_CSI0_AHB_CLK>,
167758f479f9STodor Tomov				<&gcc GCC_CAMSS_CSI0_CLK>,
167858f479f9STodor Tomov				<&gcc GCC_CAMSS_CSI0PHY_CLK>,
167958f479f9STodor Tomov				<&gcc GCC_CAMSS_CSI0PIX_CLK>,
168058f479f9STodor Tomov				<&gcc GCC_CAMSS_CSI0RDI_CLK>,
168158f479f9STodor Tomov				<&gcc GCC_CAMSS_CSI1_AHB_CLK>,
168258f479f9STodor Tomov				<&gcc GCC_CAMSS_CSI1_CLK>,
168358f479f9STodor Tomov				<&gcc GCC_CAMSS_CSI1PHY_CLK>,
168458f479f9STodor Tomov				<&gcc GCC_CAMSS_CSI1PIX_CLK>,
168558f479f9STodor Tomov				<&gcc GCC_CAMSS_CSI1RDI_CLK>,
168658f479f9STodor Tomov				<&gcc GCC_CAMSS_AHB_CLK>,
168758f479f9STodor Tomov				<&gcc GCC_CAMSS_VFE0_CLK>,
168858f479f9STodor Tomov				<&gcc GCC_CAMSS_CSI_VFE0_CLK>,
168958f479f9STodor Tomov				<&gcc GCC_CAMSS_VFE_AHB_CLK>,
169058f479f9STodor Tomov				<&gcc GCC_CAMSS_VFE_AXI_CLK>;
169158f479f9STodor Tomov			clock-names = "top_ahb",
169258f479f9STodor Tomov				"ispif_ahb",
169358f479f9STodor Tomov				"csiphy0_timer",
169458f479f9STodor Tomov				"csiphy1_timer",
169558f479f9STodor Tomov				"csi0_ahb",
169658f479f9STodor Tomov				"csi0",
169758f479f9STodor Tomov				"csi0_phy",
169858f479f9STodor Tomov				"csi0_pix",
169958f479f9STodor Tomov				"csi0_rdi",
170058f479f9STodor Tomov				"csi1_ahb",
170158f479f9STodor Tomov				"csi1",
170258f479f9STodor Tomov				"csi1_phy",
170358f479f9STodor Tomov				"csi1_pix",
170458f479f9STodor Tomov				"csi1_rdi",
170558f479f9STodor Tomov				"ahb",
170658f479f9STodor Tomov				"vfe0",
170758f479f9STodor Tomov				"csi_vfe0",
170858f479f9STodor Tomov				"vfe_ahb",
170958f479f9STodor Tomov				"vfe_axi";
171058f479f9STodor Tomov			iommus = <&apps_iommu 3>;
171158f479f9STodor Tomov			status = "disabled";
171258f479f9STodor Tomov			ports {
171358f479f9STodor Tomov				#address-cells = <1>;
171458f479f9STodor Tomov				#size-cells = <0>;
1715349a13a1SBryan O'Donoghue
1716349a13a1SBryan O'Donoghue				port@0 {
1717349a13a1SBryan O'Donoghue					reg = <0>;
1718349a13a1SBryan O'Donoghue				};
1719349a13a1SBryan O'Donoghue
1720349a13a1SBryan O'Donoghue				port@1 {
1721349a13a1SBryan O'Donoghue					reg = <1>;
1722349a13a1SBryan O'Donoghue				};
172358f479f9STodor Tomov			};
172458f479f9STodor Tomov		};
17251c51a4abSLoic Poulain
17261c51a4abSLoic Poulain		cci: cci@1b0c000 {
17276d88aafaSKonrad Dybcio			compatible = "qcom,msm8916-cci", "qcom,msm8226-cci";
17281c51a4abSLoic Poulain			#address-cells = <1>;
17291c51a4abSLoic Poulain			#size-cells = <0>;
17302e04aa29SStephan Gerhold			reg = <0x01b0c000 0x1000>;
17311c51a4abSLoic Poulain			interrupts = <GIC_SPI 50 IRQ_TYPE_EDGE_RISING>;
17321c51a4abSLoic Poulain			clocks = <&gcc GCC_CAMSS_TOP_AHB_CLK>,
17331c51a4abSLoic Poulain				<&gcc GCC_CAMSS_CCI_AHB_CLK>,
17341c51a4abSLoic Poulain				<&gcc GCC_CAMSS_CCI_CLK>,
17351c51a4abSLoic Poulain				<&gcc GCC_CAMSS_AHB_CLK>;
17361c51a4abSLoic Poulain			clock-names = "camss_top_ahb", "cci_ahb",
17371c51a4abSLoic Poulain					  "cci", "camss_ahb";
17381c51a4abSLoic Poulain			assigned-clocks = <&gcc GCC_CAMSS_CCI_AHB_CLK>,
17391c51a4abSLoic Poulain					  <&gcc GCC_CAMSS_CCI_CLK>;
17401c51a4abSLoic Poulain			assigned-clock-rates = <80000000>, <19200000>;
17411c51a4abSLoic Poulain			pinctrl-names = "default";
17421c51a4abSLoic Poulain			pinctrl-0 = <&cci0_default>;
17431c51a4abSLoic Poulain			status = "disabled";
17441c51a4abSLoic Poulain
17451c51a4abSLoic Poulain			cci_i2c0: i2c-bus@0 {
17461c51a4abSLoic Poulain				reg = <0>;
17471c51a4abSLoic Poulain				clock-frequency = <400000>;
17481c51a4abSLoic Poulain				#address-cells = <1>;
17491c51a4abSLoic Poulain				#size-cells = <0>;
17501c51a4abSLoic Poulain			};
17511c51a4abSLoic Poulain		};
1752327c0f5fSStephan Gerhold
1753327c0f5fSStephan Gerhold		gpu@1c00000 {
1754327c0f5fSStephan Gerhold			compatible = "qcom,adreno-306.0", "qcom,adreno";
1755327c0f5fSStephan Gerhold			reg = <0x01c00000 0x20000>;
1756327c0f5fSStephan Gerhold			reg-names = "kgsl_3d0_reg_memory";
1757327c0f5fSStephan Gerhold			interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
1758327c0f5fSStephan Gerhold			interrupt-names = "kgsl_3d0_irq";
1759327c0f5fSStephan Gerhold			clock-names =
1760327c0f5fSStephan Gerhold			    "core",
1761327c0f5fSStephan Gerhold			    "iface",
1762327c0f5fSStephan Gerhold			    "mem",
1763327c0f5fSStephan Gerhold			    "mem_iface",
1764327c0f5fSStephan Gerhold			    "alt_mem_iface",
1765327c0f5fSStephan Gerhold			    "gfx3d";
1766327c0f5fSStephan Gerhold			clocks =
1767327c0f5fSStephan Gerhold			    <&gcc GCC_OXILI_GFX3D_CLK>,
1768327c0f5fSStephan Gerhold			    <&gcc GCC_OXILI_AHB_CLK>,
1769327c0f5fSStephan Gerhold			    <&gcc GCC_OXILI_GMEM_CLK>,
1770327c0f5fSStephan Gerhold			    <&gcc GCC_BIMC_GFX_CLK>,
1771327c0f5fSStephan Gerhold			    <&gcc GCC_BIMC_GPU_CLK>,
1772327c0f5fSStephan Gerhold			    <&gcc GFX3D_CLK_SRC>;
1773327c0f5fSStephan Gerhold			power-domains = <&gcc OXILI_GDSC>;
1774327c0f5fSStephan Gerhold			operating-points-v2 = <&gpu_opp_table>;
1775327c0f5fSStephan Gerhold			iommus = <&gpu_iommu 1>, <&gpu_iommu 2>;
1776327c0f5fSStephan Gerhold
1777327c0f5fSStephan Gerhold			gpu_opp_table: opp-table {
1778327c0f5fSStephan Gerhold				compatible = "operating-points-v2";
1779327c0f5fSStephan Gerhold
1780327c0f5fSStephan Gerhold				opp-400000000 {
1781327c0f5fSStephan Gerhold					opp-hz = /bits/ 64 <400000000>;
178257f0a7eaSKumar Gala				};
1783327c0f5fSStephan Gerhold				opp-19200000 {
1784327c0f5fSStephan Gerhold					opp-hz = /bits/ 64 <19200000>;
1785e2841db7SGeorgi Djakov				};
17868fd55d41SAndy Gross			};
17878fd55d41SAndy Gross		};
1788327c0f5fSStephan Gerhold
1789327c0f5fSStephan Gerhold		venus: video-codec@1d00000 {
1790327c0f5fSStephan Gerhold			compatible = "qcom,msm8916-venus";
1791327c0f5fSStephan Gerhold			reg = <0x01d00000 0xff000>;
1792327c0f5fSStephan Gerhold			interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
1793327c0f5fSStephan Gerhold			power-domains = <&gcc VENUS_GDSC>;
1794327c0f5fSStephan Gerhold			clocks = <&gcc GCC_VENUS0_VCODEC0_CLK>,
1795327c0f5fSStephan Gerhold				 <&gcc GCC_VENUS0_AHB_CLK>,
1796327c0f5fSStephan Gerhold				 <&gcc GCC_VENUS0_AXI_CLK>;
1797327c0f5fSStephan Gerhold			clock-names = "core", "iface", "bus";
1798327c0f5fSStephan Gerhold			iommus = <&apps_iommu 5>;
1799327c0f5fSStephan Gerhold			memory-region = <&venus_mem>;
1800327c0f5fSStephan Gerhold			status = "okay";
1801327c0f5fSStephan Gerhold
1802327c0f5fSStephan Gerhold			video-decoder {
1803327c0f5fSStephan Gerhold				compatible = "venus-decoder";
18048fd55d41SAndy Gross			};
18051fb47e0aSBjorn Andersson
1806327c0f5fSStephan Gerhold			video-encoder {
1807327c0f5fSStephan Gerhold				compatible = "venus-encoder";
1808327c0f5fSStephan Gerhold			};
1809327c0f5fSStephan Gerhold		};
18101fb47e0aSBjorn Andersson
1811327c0f5fSStephan Gerhold		apps_iommu: iommu@1ef0000 {
1812327c0f5fSStephan Gerhold			#address-cells = <1>;
1813327c0f5fSStephan Gerhold			#size-cells = <1>;
1814327c0f5fSStephan Gerhold			#iommu-cells = <1>;
1815327c0f5fSStephan Gerhold			compatible = "qcom,msm8916-iommu", "qcom,msm-iommu-v1";
1816d2643493SGaurav Kohli			ranges = <0 0x01e20000 0x20000>;
1817327c0f5fSStephan Gerhold			reg = <0x01ef0000 0x3000>;
1818327c0f5fSStephan Gerhold			clocks = <&gcc GCC_SMMU_CFG_CLK>,
1819327c0f5fSStephan Gerhold				 <&gcc GCC_APSS_TCU_CLK>;
1820327c0f5fSStephan Gerhold			clock-names = "iface", "bus";
1821327c0f5fSStephan Gerhold			qcom,iommu-secure-id = <17>;
18221fb47e0aSBjorn Andersson
18234bb376f6SKonrad Dybcio			/* VFE */
1824327c0f5fSStephan Gerhold			iommu-ctx@3000 {
1825327c0f5fSStephan Gerhold				compatible = "qcom,msm-iommu-v1-sec";
1826327c0f5fSStephan Gerhold				reg = <0x3000 0x1000>;
1827327c0f5fSStephan Gerhold				interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
1828327c0f5fSStephan Gerhold			};
18291fb47e0aSBjorn Andersson
18304bb376f6SKonrad Dybcio			/* MDP_0 */
1831327c0f5fSStephan Gerhold			iommu-ctx@4000 {
1832327c0f5fSStephan Gerhold				compatible = "qcom,msm-iommu-v1-ns";
1833327c0f5fSStephan Gerhold				reg = <0x4000 0x1000>;
1834327c0f5fSStephan Gerhold				interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
1835327c0f5fSStephan Gerhold			};
1836327c0f5fSStephan Gerhold
18374bb376f6SKonrad Dybcio			/* VENUS_NS */
1838327c0f5fSStephan Gerhold			iommu-ctx@5000 {
1839327c0f5fSStephan Gerhold				compatible = "qcom,msm-iommu-v1-sec";
1840327c0f5fSStephan Gerhold				reg = <0x5000 0x1000>;
1841327c0f5fSStephan Gerhold				interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
1842327c0f5fSStephan Gerhold			};
1843327c0f5fSStephan Gerhold		};
1844327c0f5fSStephan Gerhold
1845327c0f5fSStephan Gerhold		gpu_iommu: iommu@1f08000 {
1846327c0f5fSStephan Gerhold			#address-cells = <1>;
1847327c0f5fSStephan Gerhold			#size-cells = <1>;
1848327c0f5fSStephan Gerhold			#iommu-cells = <1>;
1849327c0f5fSStephan Gerhold			compatible = "qcom,msm8916-iommu", "qcom,msm-iommu-v1";
1850327c0f5fSStephan Gerhold			ranges = <0 0x01f08000 0x10000>;
1851327c0f5fSStephan Gerhold			clocks = <&gcc GCC_SMMU_CFG_CLK>,
1852327c0f5fSStephan Gerhold				 <&gcc GCC_GFX_TCU_CLK>;
1853327c0f5fSStephan Gerhold			clock-names = "iface", "bus";
1854327c0f5fSStephan Gerhold			qcom,iommu-secure-id = <18>;
1855327c0f5fSStephan Gerhold
18564bb376f6SKonrad Dybcio			/* GFX3D_USER */
1857327c0f5fSStephan Gerhold			iommu-ctx@1000 {
1858327c0f5fSStephan Gerhold				compatible = "qcom,msm-iommu-v1-ns";
1859327c0f5fSStephan Gerhold				reg = <0x1000 0x1000>;
1860327c0f5fSStephan Gerhold				interrupts = <GIC_SPI 241 IRQ_TYPE_LEVEL_HIGH>;
1861327c0f5fSStephan Gerhold			};
1862327c0f5fSStephan Gerhold
18634bb376f6SKonrad Dybcio			/* GFX3D_PRIV */
1864327c0f5fSStephan Gerhold			iommu-ctx@2000 {
1865327c0f5fSStephan Gerhold				compatible = "qcom,msm-iommu-v1-ns";
1866327c0f5fSStephan Gerhold				reg = <0x2000 0x1000>;
1867327c0f5fSStephan Gerhold				interrupts = <GIC_SPI 242 IRQ_TYPE_LEVEL_HIGH>;
1868327c0f5fSStephan Gerhold			};
1869327c0f5fSStephan Gerhold		};
1870327c0f5fSStephan Gerhold
1871327c0f5fSStephan Gerhold		spmi_bus: spmi@200f000 {
1872327c0f5fSStephan Gerhold			compatible = "qcom,spmi-pmic-arb";
1873327c0f5fSStephan Gerhold			reg = <0x0200f000 0x001000>,
1874327c0f5fSStephan Gerhold			      <0x02400000 0x400000>,
1875327c0f5fSStephan Gerhold			      <0x02c00000 0x400000>,
1876327c0f5fSStephan Gerhold			      <0x03800000 0x200000>,
1877327c0f5fSStephan Gerhold			      <0x0200a000 0x002100>;
1878327c0f5fSStephan Gerhold			reg-names = "core", "chnls", "obsrvr", "intr", "cnfg";
1879327c0f5fSStephan Gerhold			interrupt-names = "periph_irq";
1880327c0f5fSStephan Gerhold			interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
1881327c0f5fSStephan Gerhold			qcom,ee = <0>;
1882327c0f5fSStephan Gerhold			qcom,channel = <0>;
1883327c0f5fSStephan Gerhold			#address-cells = <2>;
1884327c0f5fSStephan Gerhold			#size-cells = <0>;
1885327c0f5fSStephan Gerhold			interrupt-controller;
1886327c0f5fSStephan Gerhold			#interrupt-cells = <4>;
1887327c0f5fSStephan Gerhold		};
1888327c0f5fSStephan Gerhold
1889c38406aaSStephan Gerhold		bam_dmux_dma: dma-controller@4044000 {
1890c38406aaSStephan Gerhold			compatible = "qcom,bam-v1.7.0";
1891c38406aaSStephan Gerhold			reg = <0x04044000 0x19000>;
1892c38406aaSStephan Gerhold			interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
1893c38406aaSStephan Gerhold			#dma-cells = <1>;
1894c38406aaSStephan Gerhold			qcom,ee = <0>;
1895c38406aaSStephan Gerhold
1896c38406aaSStephan Gerhold			num-channels = <6>;
1897c38406aaSStephan Gerhold			qcom,num-ees = <1>;
1898c38406aaSStephan Gerhold			qcom,powered-remotely;
1899c38406aaSStephan Gerhold
1900c38406aaSStephan Gerhold			status = "disabled";
1901c38406aaSStephan Gerhold		};
1902c38406aaSStephan Gerhold
1903327c0f5fSStephan Gerhold		mpss: remoteproc@4080000 {
1904ff02ac62SStephan Gerhold			compatible = "qcom,msm8916-mss-pil";
1905327c0f5fSStephan Gerhold			reg = <0x04080000 0x100>,
1906327c0f5fSStephan Gerhold			      <0x04020000 0x040>;
1907327c0f5fSStephan Gerhold
1908327c0f5fSStephan Gerhold			reg-names = "qdsp6", "rmb";
1909327c0f5fSStephan Gerhold
1910327c0f5fSStephan Gerhold			interrupts-extended = <&intc GIC_SPI 24 IRQ_TYPE_EDGE_RISING>,
1911327c0f5fSStephan Gerhold					      <&hexagon_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
1912327c0f5fSStephan Gerhold					      <&hexagon_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
1913327c0f5fSStephan Gerhold					      <&hexagon_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
1914327c0f5fSStephan Gerhold					      <&hexagon_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
1915327c0f5fSStephan Gerhold			interrupt-names = "wdog", "fatal", "ready",
1916327c0f5fSStephan Gerhold					  "handover", "stop-ack";
1917327c0f5fSStephan Gerhold
1918809f299aSStephan Gerhold			power-domains = <&rpmpd MSM8916_VDDCX>,
1919809f299aSStephan Gerhold					<&rpmpd MSM8916_VDDMX>;
1920809f299aSStephan Gerhold			power-domain-names = "cx", "mx";
1921809f299aSStephan Gerhold
1922327c0f5fSStephan Gerhold			clocks = <&gcc GCC_MSS_CFG_AHB_CLK>,
1923327c0f5fSStephan Gerhold				 <&gcc GCC_MSS_Q6_BIMC_AXI_CLK>,
1924327c0f5fSStephan Gerhold				 <&gcc GCC_BOOT_ROM_AHB_CLK>,
1925327c0f5fSStephan Gerhold				 <&xo_board>;
1926327c0f5fSStephan Gerhold			clock-names = "iface", "bus", "mem", "xo";
1927327c0f5fSStephan Gerhold
1928327c0f5fSStephan Gerhold			qcom,smem-states = <&hexagon_smp2p_out 0>;
1929327c0f5fSStephan Gerhold			qcom,smem-state-names = "stop";
1930327c0f5fSStephan Gerhold
1931327c0f5fSStephan Gerhold			resets = <&scm 0>;
1932327c0f5fSStephan Gerhold			reset-names = "mss_restart";
1933327c0f5fSStephan Gerhold
1934327c0f5fSStephan Gerhold			qcom,halt-regs = <&tcsr 0x18000 0x19000 0x1a000>;
1935327c0f5fSStephan Gerhold
1936327c0f5fSStephan Gerhold			status = "disabled";
1937327c0f5fSStephan Gerhold
1938327c0f5fSStephan Gerhold			mba {
1939327c0f5fSStephan Gerhold				memory-region = <&mba_mem>;
1940327c0f5fSStephan Gerhold			};
1941327c0f5fSStephan Gerhold
1942327c0f5fSStephan Gerhold			mpss {
1943327c0f5fSStephan Gerhold				memory-region = <&mpss_mem>;
1944327c0f5fSStephan Gerhold			};
1945327c0f5fSStephan Gerhold
1946c38406aaSStephan Gerhold			bam_dmux: bam-dmux {
1947c38406aaSStephan Gerhold				compatible = "qcom,bam-dmux";
1948c38406aaSStephan Gerhold
1949c38406aaSStephan Gerhold				interrupt-parent = <&hexagon_smsm>;
1950c38406aaSStephan Gerhold				interrupts = <1 IRQ_TYPE_EDGE_BOTH>, <11 IRQ_TYPE_EDGE_BOTH>;
1951c38406aaSStephan Gerhold				interrupt-names = "pc", "pc-ack";
1952c38406aaSStephan Gerhold
1953c38406aaSStephan Gerhold				qcom,smem-states = <&apps_smsm 1>, <&apps_smsm 11>;
1954c38406aaSStephan Gerhold				qcom,smem-state-names = "pc", "pc-ack";
1955c38406aaSStephan Gerhold
1956c38406aaSStephan Gerhold				dmas = <&bam_dmux_dma 4>, <&bam_dmux_dma 5>;
1957c38406aaSStephan Gerhold				dma-names = "tx", "rx";
1958c38406aaSStephan Gerhold
1959c38406aaSStephan Gerhold				status = "disabled";
1960c38406aaSStephan Gerhold			};
1961c38406aaSStephan Gerhold
1962327c0f5fSStephan Gerhold			smd-edge {
1963327c0f5fSStephan Gerhold				interrupts = <GIC_SPI 25 IRQ_TYPE_EDGE_RISING>;
1964327c0f5fSStephan Gerhold
1965327c0f5fSStephan Gerhold				qcom,smd-edge = <0>;
1966327c0f5fSStephan Gerhold				qcom,ipc = <&apcs 8 12>;
19671fb47e0aSBjorn Andersson				qcom,remote-pid = <1>;
19681fb47e0aSBjorn Andersson
1969327c0f5fSStephan Gerhold				label = "hexagon";
19701fb47e0aSBjorn Andersson
1971327c0f5fSStephan Gerhold				fastrpc {
1972327c0f5fSStephan Gerhold					compatible = "qcom,fastrpc";
1973327c0f5fSStephan Gerhold					qcom,smd-channels = "fastrpcsmd-apps-dsp";
1974327c0f5fSStephan Gerhold					label = "adsp";
19758c8ce95bSJeya R					qcom,non-secure-domain;
19761fb47e0aSBjorn Andersson
19771fb47e0aSBjorn Andersson					#address-cells = <1>;
19781fb47e0aSBjorn Andersson					#size-cells = <0>;
19791fb47e0aSBjorn Andersson
1980327c0f5fSStephan Gerhold					cb@1 {
1981327c0f5fSStephan Gerhold						compatible = "qcom,fastrpc-compute-cb";
19821fb47e0aSBjorn Andersson						reg = <1>;
1983327c0f5fSStephan Gerhold					};
1984327c0f5fSStephan Gerhold				};
1985327c0f5fSStephan Gerhold			};
19861fb47e0aSBjorn Andersson		};
19871fb47e0aSBjorn Andersson
1988327c0f5fSStephan Gerhold		sound: sound@7702000 {
1989327c0f5fSStephan Gerhold			status = "disabled";
1990327c0f5fSStephan Gerhold			compatible = "qcom,apq8016-sbc-sndcard";
1991327c0f5fSStephan Gerhold			reg = <0x07702000 0x4>, <0x07702004 0x4>;
1992327c0f5fSStephan Gerhold			reg-names = "mic-iomux", "spkr-iomux";
19931fb47e0aSBjorn Andersson		};
1994327c0f5fSStephan Gerhold
1995327c0f5fSStephan Gerhold		lpass: audio-controller@7708000 {
1996327c0f5fSStephan Gerhold			status = "disabled";
1997aab0dd5cSBryan O'Donoghue			compatible = "qcom,apq8016-lpass-cpu";
19988199a0b3SStephan Gerhold
19998199a0b3SStephan Gerhold			/*
20008199a0b3SStephan Gerhold			 * Note: Unlike the name would suggest, the SEC_I2S_CLK
20018199a0b3SStephan Gerhold			 * is actually only used by Tertiary MI2S while
20028199a0b3SStephan Gerhold			 * Primary/Secondary MI2S both use the PRI_I2S_CLK.
20038199a0b3SStephan Gerhold			 */
2004327c0f5fSStephan Gerhold			clocks = <&gcc GCC_ULTAUDIO_AHBFABRIC_IXFABRIC_CLK>,
2005327c0f5fSStephan Gerhold				 <&gcc GCC_ULTAUDIO_LPAIF_PRI_I2S_CLK>,
20068199a0b3SStephan Gerhold				 <&gcc GCC_ULTAUDIO_LPAIF_PRI_I2S_CLK>,
2007327c0f5fSStephan Gerhold				 <&gcc GCC_ULTAUDIO_LPAIF_SEC_I2S_CLK>,
20089903258aSKrzysztof Kozlowski				 <&gcc GCC_ULTAUDIO_LPAIF_AUX_I2S_CLK>,
20099903258aSKrzysztof Kozlowski				 <&gcc GCC_ULTAUDIO_PCNOC_MPORT_CLK>,
20109903258aSKrzysztof Kozlowski				 <&gcc GCC_ULTAUDIO_PCNOC_SWAY_CLK>;
2011327c0f5fSStephan Gerhold
2012327c0f5fSStephan Gerhold			clock-names = "ahbix-clk",
2013327c0f5fSStephan Gerhold					"mi2s-bit-clk0",
2014327c0f5fSStephan Gerhold					"mi2s-bit-clk1",
2015327c0f5fSStephan Gerhold					"mi2s-bit-clk2",
20169903258aSKrzysztof Kozlowski					"mi2s-bit-clk3",
20179903258aSKrzysztof Kozlowski					"pcnoc-mport-clk",
20189903258aSKrzysztof Kozlowski					"pcnoc-sway-clk";
2019327c0f5fSStephan Gerhold			#sound-dai-cells = <1>;
2020327c0f5fSStephan Gerhold
2021327c0f5fSStephan Gerhold			interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>;
2022327c0f5fSStephan Gerhold			interrupt-names = "lpass-irq-lpaif";
2023327c0f5fSStephan Gerhold			reg = <0x07708000 0x10000>;
2024327c0f5fSStephan Gerhold			reg-names = "lpass-lpaif";
2025327c0f5fSStephan Gerhold
2026327c0f5fSStephan Gerhold			#address-cells = <1>;
2027327c0f5fSStephan Gerhold			#size-cells = <0>;
2028327c0f5fSStephan Gerhold		};
2029327c0f5fSStephan Gerhold
2030327c0f5fSStephan Gerhold		lpass_codec: audio-codec@771c000 {
2031327c0f5fSStephan Gerhold			compatible = "qcom,msm8916-wcd-digital-codec";
2032327c0f5fSStephan Gerhold			reg = <0x0771c000 0x400>;
2033327c0f5fSStephan Gerhold			clocks = <&gcc GCC_ULTAUDIO_AHBFABRIC_IXFABRIC_CLK>,
2034327c0f5fSStephan Gerhold				 <&gcc GCC_CODEC_DIGCODEC_CLK>;
2035327c0f5fSStephan Gerhold			clock-names = "ahbix-clk", "mclk";
2036327c0f5fSStephan Gerhold			#sound-dai-cells = <1>;
2037a5cf21b1SStephan Gerhold			status = "disabled";
2038327c0f5fSStephan Gerhold		};
2039327c0f5fSStephan Gerhold
204072644bc7SKrzysztof Kozlowski		sdhc_1: mmc@7824900 {
2041f633d5f7SStephan Gerhold			compatible = "qcom,msm8916-sdhci", "qcom,sdhci-msm-v4";
2042327c0f5fSStephan Gerhold			reg = <0x07824900 0x11c>, <0x07824000 0x800>;
2043eddc917dSKrzysztof Kozlowski			reg-names = "hc", "core";
2044327c0f5fSStephan Gerhold
2045327c0f5fSStephan Gerhold			interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
2046327c0f5fSStephan Gerhold				     <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
2047327c0f5fSStephan Gerhold			interrupt-names = "hc_irq", "pwr_irq";
20484ff12270SBhupesh Sharma			clocks = <&gcc GCC_SDCC1_AHB_CLK>,
20494ff12270SBhupesh Sharma				 <&gcc GCC_SDCC1_APPS_CLK>,
2050327c0f5fSStephan Gerhold				 <&xo_board>;
20514ff12270SBhupesh Sharma			clock-names = "iface", "core", "xo";
2052c943e4c5SStephan Gerhold			pinctrl-0 = <&sdc1_default>;
2053c943e4c5SStephan Gerhold			pinctrl-1 = <&sdc1_sleep>;
2054c943e4c5SStephan Gerhold			pinctrl-names = "default", "sleep";
2055327c0f5fSStephan Gerhold			mmc-ddr-1_8v;
2056327c0f5fSStephan Gerhold			bus-width = <8>;
2057327c0f5fSStephan Gerhold			non-removable;
2058327c0f5fSStephan Gerhold			status = "disabled";
2059327c0f5fSStephan Gerhold		};
2060327c0f5fSStephan Gerhold
206172644bc7SKrzysztof Kozlowski		sdhc_2: mmc@7864900 {
2062f633d5f7SStephan Gerhold			compatible = "qcom,msm8916-sdhci", "qcom,sdhci-msm-v4";
2063327c0f5fSStephan Gerhold			reg = <0x07864900 0x11c>, <0x07864000 0x800>;
2064eddc917dSKrzysztof Kozlowski			reg-names = "hc", "core";
2065327c0f5fSStephan Gerhold
2066327c0f5fSStephan Gerhold			interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>,
2067327c0f5fSStephan Gerhold				     <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>;
2068327c0f5fSStephan Gerhold			interrupt-names = "hc_irq", "pwr_irq";
20694ff12270SBhupesh Sharma			clocks = <&gcc GCC_SDCC2_AHB_CLK>,
20704ff12270SBhupesh Sharma				 <&gcc GCC_SDCC2_APPS_CLK>,
2071327c0f5fSStephan Gerhold				 <&xo_board>;
20724ff12270SBhupesh Sharma			clock-names = "iface", "core", "xo";
2073c943e4c5SStephan Gerhold			pinctrl-0 = <&sdc2_default>;
2074c943e4c5SStephan Gerhold			pinctrl-1 = <&sdc2_sleep>;
2075c943e4c5SStephan Gerhold			pinctrl-names = "default", "sleep";
2076327c0f5fSStephan Gerhold			bus-width = <4>;
2077327c0f5fSStephan Gerhold			status = "disabled";
2078327c0f5fSStephan Gerhold		};
2079327c0f5fSStephan Gerhold
2080eaf61213SVinod Koul		blsp_dma: dma-controller@7884000 {
2081327c0f5fSStephan Gerhold			compatible = "qcom,bam-v1.7.0";
2082327c0f5fSStephan Gerhold			reg = <0x07884000 0x23000>;
2083327c0f5fSStephan Gerhold			interrupts = <GIC_SPI 238 IRQ_TYPE_LEVEL_HIGH>;
2084327c0f5fSStephan Gerhold			clocks = <&gcc GCC_BLSP1_AHB_CLK>;
2085327c0f5fSStephan Gerhold			clock-names = "bam_clk";
2086327c0f5fSStephan Gerhold			#dma-cells = <1>;
2087327c0f5fSStephan Gerhold			qcom,ee = <0>;
2088ebd09d81SStephan Gerhold			qcom,controlled-remotely;
2089327c0f5fSStephan Gerhold		};
2090327c0f5fSStephan Gerhold
2091c310ca82SStephan Gerhold		blsp_uart1: serial@78af000 {
2092327c0f5fSStephan Gerhold			compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
2093327c0f5fSStephan Gerhold			reg = <0x078af000 0x200>;
2094327c0f5fSStephan Gerhold			interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
2095327c0f5fSStephan Gerhold			clocks = <&gcc GCC_BLSP1_UART1_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>;
2096327c0f5fSStephan Gerhold			clock-names = "core", "iface";
20970e1b27f4SKrzysztof Kozlowski			dmas = <&blsp_dma 0>, <&blsp_dma 1>;
20980e1b27f4SKrzysztof Kozlowski			dma-names = "tx", "rx";
2099327c0f5fSStephan Gerhold			pinctrl-names = "default", "sleep";
2100c310ca82SStephan Gerhold			pinctrl-0 = <&blsp_uart1_default>;
2101c310ca82SStephan Gerhold			pinctrl-1 = <&blsp_uart1_sleep>;
2102327c0f5fSStephan Gerhold			status = "disabled";
2103327c0f5fSStephan Gerhold		};
2104327c0f5fSStephan Gerhold
2105c310ca82SStephan Gerhold		blsp_uart2: serial@78b0000 {
2106327c0f5fSStephan Gerhold			compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
2107327c0f5fSStephan Gerhold			reg = <0x078b0000 0x200>;
2108327c0f5fSStephan Gerhold			interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
2109327c0f5fSStephan Gerhold			clocks = <&gcc GCC_BLSP1_UART2_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>;
2110327c0f5fSStephan Gerhold			clock-names = "core", "iface";
21110e1b27f4SKrzysztof Kozlowski			dmas = <&blsp_dma 2>, <&blsp_dma 3>;
21120e1b27f4SKrzysztof Kozlowski			dma-names = "tx", "rx";
2113327c0f5fSStephan Gerhold			pinctrl-names = "default", "sleep";
2114c310ca82SStephan Gerhold			pinctrl-0 = <&blsp_uart2_default>;
2115c310ca82SStephan Gerhold			pinctrl-1 = <&blsp_uart2_sleep>;
2116327c0f5fSStephan Gerhold			status = "disabled";
2117327c0f5fSStephan Gerhold		};
2118327c0f5fSStephan Gerhold
2119327c0f5fSStephan Gerhold		blsp_i2c1: i2c@78b5000 {
2120327c0f5fSStephan Gerhold			compatible = "qcom,i2c-qup-v2.2.1";
2121327c0f5fSStephan Gerhold			reg = <0x078b5000 0x500>;
2122327c0f5fSStephan Gerhold			interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
21232374b99eSKrzysztof Kozlowski			clocks = <&gcc GCC_BLSP1_QUP1_I2C_APPS_CLK>,
21242374b99eSKrzysztof Kozlowski				 <&gcc GCC_BLSP1_AHB_CLK>;
21252374b99eSKrzysztof Kozlowski			clock-names = "core", "iface";
2126389d2c99SStephan Gerhold			dmas = <&blsp_dma 4>, <&blsp_dma 5>;
2127389d2c99SStephan Gerhold			dma-names = "tx", "rx";
2128327c0f5fSStephan Gerhold			pinctrl-names = "default", "sleep";
2129fdfc21f6SStephan Gerhold			pinctrl-0 = <&blsp_i2c1_default>;
2130fdfc21f6SStephan Gerhold			pinctrl-1 = <&blsp_i2c1_sleep>;
2131327c0f5fSStephan Gerhold			#address-cells = <1>;
2132327c0f5fSStephan Gerhold			#size-cells = <0>;
2133327c0f5fSStephan Gerhold			status = "disabled";
2134327c0f5fSStephan Gerhold		};
2135327c0f5fSStephan Gerhold
2136327c0f5fSStephan Gerhold		blsp_spi1: spi@78b5000 {
2137327c0f5fSStephan Gerhold			compatible = "qcom,spi-qup-v2.2.1";
2138327c0f5fSStephan Gerhold			reg = <0x078b5000 0x500>;
2139327c0f5fSStephan Gerhold			interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
2140327c0f5fSStephan Gerhold			clocks = <&gcc GCC_BLSP1_QUP1_SPI_APPS_CLK>,
2141327c0f5fSStephan Gerhold				 <&gcc GCC_BLSP1_AHB_CLK>;
2142327c0f5fSStephan Gerhold			clock-names = "core", "iface";
21430e1b27f4SKrzysztof Kozlowski			dmas = <&blsp_dma 4>, <&blsp_dma 5>;
21440e1b27f4SKrzysztof Kozlowski			dma-names = "tx", "rx";
2145327c0f5fSStephan Gerhold			pinctrl-names = "default", "sleep";
2146fdfc21f6SStephan Gerhold			pinctrl-0 = <&blsp_spi1_default>;
2147fdfc21f6SStephan Gerhold			pinctrl-1 = <&blsp_spi1_sleep>;
2148327c0f5fSStephan Gerhold			#address-cells = <1>;
2149327c0f5fSStephan Gerhold			#size-cells = <0>;
2150327c0f5fSStephan Gerhold			status = "disabled";
2151327c0f5fSStephan Gerhold		};
2152327c0f5fSStephan Gerhold
2153327c0f5fSStephan Gerhold		blsp_i2c2: i2c@78b6000 {
2154327c0f5fSStephan Gerhold			compatible = "qcom,i2c-qup-v2.2.1";
2155327c0f5fSStephan Gerhold			reg = <0x078b6000 0x500>;
2156327c0f5fSStephan Gerhold			interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
21572374b99eSKrzysztof Kozlowski			clocks = <&gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>,
21582374b99eSKrzysztof Kozlowski				 <&gcc GCC_BLSP1_AHB_CLK>;
21592374b99eSKrzysztof Kozlowski			clock-names = "core", "iface";
2160389d2c99SStephan Gerhold			dmas = <&blsp_dma 6>, <&blsp_dma 7>;
2161389d2c99SStephan Gerhold			dma-names = "tx", "rx";
2162327c0f5fSStephan Gerhold			pinctrl-names = "default", "sleep";
2163fdfc21f6SStephan Gerhold			pinctrl-0 = <&blsp_i2c2_default>;
2164fdfc21f6SStephan Gerhold			pinctrl-1 = <&blsp_i2c2_sleep>;
2165327c0f5fSStephan Gerhold			#address-cells = <1>;
2166327c0f5fSStephan Gerhold			#size-cells = <0>;
2167327c0f5fSStephan Gerhold			status = "disabled";
2168327c0f5fSStephan Gerhold		};
2169327c0f5fSStephan Gerhold
2170327c0f5fSStephan Gerhold		blsp_spi2: spi@78b6000 {
2171327c0f5fSStephan Gerhold			compatible = "qcom,spi-qup-v2.2.1";
2172327c0f5fSStephan Gerhold			reg = <0x078b6000 0x500>;
2173327c0f5fSStephan Gerhold			interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
2174327c0f5fSStephan Gerhold			clocks = <&gcc GCC_BLSP1_QUP2_SPI_APPS_CLK>,
2175327c0f5fSStephan Gerhold				 <&gcc GCC_BLSP1_AHB_CLK>;
2176327c0f5fSStephan Gerhold			clock-names = "core", "iface";
21770e1b27f4SKrzysztof Kozlowski			dmas = <&blsp_dma 6>, <&blsp_dma 7>;
21780e1b27f4SKrzysztof Kozlowski			dma-names = "tx", "rx";
2179327c0f5fSStephan Gerhold			pinctrl-names = "default", "sleep";
2180fdfc21f6SStephan Gerhold			pinctrl-0 = <&blsp_spi2_default>;
2181fdfc21f6SStephan Gerhold			pinctrl-1 = <&blsp_spi2_sleep>;
2182327c0f5fSStephan Gerhold			#address-cells = <1>;
2183327c0f5fSStephan Gerhold			#size-cells = <0>;
2184327c0f5fSStephan Gerhold			status = "disabled";
2185327c0f5fSStephan Gerhold		};
2186327c0f5fSStephan Gerhold
2187012e19f4SJonathan Albrieux		blsp_i2c3: i2c@78b7000 {
2188012e19f4SJonathan Albrieux			compatible = "qcom,i2c-qup-v2.2.1";
2189012e19f4SJonathan Albrieux			reg = <0x078b7000 0x500>;
2190012e19f4SJonathan Albrieux			interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
21912374b99eSKrzysztof Kozlowski			clocks = <&gcc GCC_BLSP1_QUP3_I2C_APPS_CLK>,
21922374b99eSKrzysztof Kozlowski				 <&gcc GCC_BLSP1_AHB_CLK>;
21932374b99eSKrzysztof Kozlowski			clock-names = "core", "iface";
2194389d2c99SStephan Gerhold			dmas = <&blsp_dma 8>, <&blsp_dma 9>;
2195389d2c99SStephan Gerhold			dma-names = "tx", "rx";
2196012e19f4SJonathan Albrieux			pinctrl-names = "default", "sleep";
2197fdfc21f6SStephan Gerhold			pinctrl-0 = <&blsp_i2c3_default>;
2198fdfc21f6SStephan Gerhold			pinctrl-1 = <&blsp_i2c3_sleep>;
2199012e19f4SJonathan Albrieux			#address-cells = <1>;
2200012e19f4SJonathan Albrieux			#size-cells = <0>;
2201012e19f4SJonathan Albrieux			status = "disabled";
2202012e19f4SJonathan Albrieux		};
2203012e19f4SJonathan Albrieux
2204327c0f5fSStephan Gerhold		blsp_spi3: spi@78b7000 {
2205327c0f5fSStephan Gerhold			compatible = "qcom,spi-qup-v2.2.1";
2206327c0f5fSStephan Gerhold			reg = <0x078b7000 0x500>;
2207327c0f5fSStephan Gerhold			interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
2208327c0f5fSStephan Gerhold			clocks = <&gcc GCC_BLSP1_QUP3_SPI_APPS_CLK>,
2209327c0f5fSStephan Gerhold				 <&gcc GCC_BLSP1_AHB_CLK>;
2210327c0f5fSStephan Gerhold			clock-names = "core", "iface";
22110e1b27f4SKrzysztof Kozlowski			dmas = <&blsp_dma 8>, <&blsp_dma 9>;
22120e1b27f4SKrzysztof Kozlowski			dma-names = "tx", "rx";
2213327c0f5fSStephan Gerhold			pinctrl-names = "default", "sleep";
2214fdfc21f6SStephan Gerhold			pinctrl-0 = <&blsp_spi3_default>;
2215fdfc21f6SStephan Gerhold			pinctrl-1 = <&blsp_spi3_sleep>;
2216327c0f5fSStephan Gerhold			#address-cells = <1>;
2217327c0f5fSStephan Gerhold			#size-cells = <0>;
2218327c0f5fSStephan Gerhold			status = "disabled";
2219327c0f5fSStephan Gerhold		};
2220327c0f5fSStephan Gerhold
2221327c0f5fSStephan Gerhold		blsp_i2c4: i2c@78b8000 {
2222327c0f5fSStephan Gerhold			compatible = "qcom,i2c-qup-v2.2.1";
2223327c0f5fSStephan Gerhold			reg = <0x078b8000 0x500>;
2224327c0f5fSStephan Gerhold			interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
22252374b99eSKrzysztof Kozlowski			clocks = <&gcc GCC_BLSP1_QUP4_I2C_APPS_CLK>,
22262374b99eSKrzysztof Kozlowski				 <&gcc GCC_BLSP1_AHB_CLK>;
22272374b99eSKrzysztof Kozlowski			clock-names = "core", "iface";
2228389d2c99SStephan Gerhold			dmas = <&blsp_dma 10>, <&blsp_dma 11>;
2229389d2c99SStephan Gerhold			dma-names = "tx", "rx";
2230327c0f5fSStephan Gerhold			pinctrl-names = "default", "sleep";
2231fdfc21f6SStephan Gerhold			pinctrl-0 = <&blsp_i2c4_default>;
2232fdfc21f6SStephan Gerhold			pinctrl-1 = <&blsp_i2c4_sleep>;
2233327c0f5fSStephan Gerhold			#address-cells = <1>;
2234327c0f5fSStephan Gerhold			#size-cells = <0>;
2235327c0f5fSStephan Gerhold			status = "disabled";
2236327c0f5fSStephan Gerhold		};
2237327c0f5fSStephan Gerhold
2238327c0f5fSStephan Gerhold		blsp_spi4: spi@78b8000 {
2239327c0f5fSStephan Gerhold			compatible = "qcom,spi-qup-v2.2.1";
2240327c0f5fSStephan Gerhold			reg = <0x078b8000 0x500>;
2241327c0f5fSStephan Gerhold			interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
2242327c0f5fSStephan Gerhold			clocks = <&gcc GCC_BLSP1_QUP4_SPI_APPS_CLK>,
2243327c0f5fSStephan Gerhold				 <&gcc GCC_BLSP1_AHB_CLK>;
2244327c0f5fSStephan Gerhold			clock-names = "core", "iface";
22450e1b27f4SKrzysztof Kozlowski			dmas = <&blsp_dma 10>, <&blsp_dma 11>;
22460e1b27f4SKrzysztof Kozlowski			dma-names = "tx", "rx";
2247327c0f5fSStephan Gerhold			pinctrl-names = "default", "sleep";
2248fdfc21f6SStephan Gerhold			pinctrl-0 = <&blsp_spi4_default>;
2249fdfc21f6SStephan Gerhold			pinctrl-1 = <&blsp_spi4_sleep>;
2250327c0f5fSStephan Gerhold			#address-cells = <1>;
2251327c0f5fSStephan Gerhold			#size-cells = <0>;
2252327c0f5fSStephan Gerhold			status = "disabled";
2253327c0f5fSStephan Gerhold		};
2254327c0f5fSStephan Gerhold
2255327c0f5fSStephan Gerhold		blsp_i2c5: i2c@78b9000 {
2256327c0f5fSStephan Gerhold			compatible = "qcom,i2c-qup-v2.2.1";
2257327c0f5fSStephan Gerhold			reg = <0x078b9000 0x500>;
2258327c0f5fSStephan Gerhold			interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
22592374b99eSKrzysztof Kozlowski			clocks = <&gcc GCC_BLSP1_QUP5_I2C_APPS_CLK>,
22602374b99eSKrzysztof Kozlowski				 <&gcc GCC_BLSP1_AHB_CLK>;
22612374b99eSKrzysztof Kozlowski			clock-names = "core", "iface";
2262389d2c99SStephan Gerhold			dmas = <&blsp_dma 12>, <&blsp_dma 13>;
2263389d2c99SStephan Gerhold			dma-names = "tx", "rx";
2264327c0f5fSStephan Gerhold			pinctrl-names = "default", "sleep";
2265fdfc21f6SStephan Gerhold			pinctrl-0 = <&blsp_i2c5_default>;
2266fdfc21f6SStephan Gerhold			pinctrl-1 = <&blsp_i2c5_sleep>;
2267327c0f5fSStephan Gerhold			#address-cells = <1>;
2268327c0f5fSStephan Gerhold			#size-cells = <0>;
2269327c0f5fSStephan Gerhold			status = "disabled";
2270327c0f5fSStephan Gerhold		};
2271327c0f5fSStephan Gerhold
2272327c0f5fSStephan Gerhold		blsp_spi5: spi@78b9000 {
2273327c0f5fSStephan Gerhold			compatible = "qcom,spi-qup-v2.2.1";
2274327c0f5fSStephan Gerhold			reg = <0x078b9000 0x500>;
2275327c0f5fSStephan Gerhold			interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
2276327c0f5fSStephan Gerhold			clocks = <&gcc GCC_BLSP1_QUP5_SPI_APPS_CLK>,
2277327c0f5fSStephan Gerhold				 <&gcc GCC_BLSP1_AHB_CLK>;
2278327c0f5fSStephan Gerhold			clock-names = "core", "iface";
22790e1b27f4SKrzysztof Kozlowski			dmas = <&blsp_dma 12>, <&blsp_dma 13>;
22800e1b27f4SKrzysztof Kozlowski			dma-names = "tx", "rx";
2281327c0f5fSStephan Gerhold			pinctrl-names = "default", "sleep";
2282fdfc21f6SStephan Gerhold			pinctrl-0 = <&blsp_spi5_default>;
2283fdfc21f6SStephan Gerhold			pinctrl-1 = <&blsp_spi5_sleep>;
2284327c0f5fSStephan Gerhold			#address-cells = <1>;
2285327c0f5fSStephan Gerhold			#size-cells = <0>;
2286327c0f5fSStephan Gerhold			status = "disabled";
2287327c0f5fSStephan Gerhold		};
2288327c0f5fSStephan Gerhold
2289327c0f5fSStephan Gerhold		blsp_i2c6: i2c@78ba000 {
2290327c0f5fSStephan Gerhold			compatible = "qcom,i2c-qup-v2.2.1";
2291327c0f5fSStephan Gerhold			reg = <0x078ba000 0x500>;
2292327c0f5fSStephan Gerhold			interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
22932374b99eSKrzysztof Kozlowski			clocks = <&gcc GCC_BLSP1_QUP6_I2C_APPS_CLK>,
22942374b99eSKrzysztof Kozlowski				 <&gcc GCC_BLSP1_AHB_CLK>;
22952374b99eSKrzysztof Kozlowski			clock-names = "core", "iface";
2296389d2c99SStephan Gerhold			dmas = <&blsp_dma 14>, <&blsp_dma 15>;
2297389d2c99SStephan Gerhold			dma-names = "tx", "rx";
2298327c0f5fSStephan Gerhold			pinctrl-names = "default", "sleep";
2299fdfc21f6SStephan Gerhold			pinctrl-0 = <&blsp_i2c6_default>;
2300fdfc21f6SStephan Gerhold			pinctrl-1 = <&blsp_i2c6_sleep>;
2301327c0f5fSStephan Gerhold			#address-cells = <1>;
2302327c0f5fSStephan Gerhold			#size-cells = <0>;
2303327c0f5fSStephan Gerhold			status = "disabled";
2304327c0f5fSStephan Gerhold		};
2305327c0f5fSStephan Gerhold
2306327c0f5fSStephan Gerhold		blsp_spi6: spi@78ba000 {
2307327c0f5fSStephan Gerhold			compatible = "qcom,spi-qup-v2.2.1";
2308327c0f5fSStephan Gerhold			reg = <0x078ba000 0x500>;
2309327c0f5fSStephan Gerhold			interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
2310327c0f5fSStephan Gerhold			clocks = <&gcc GCC_BLSP1_QUP6_SPI_APPS_CLK>,
2311327c0f5fSStephan Gerhold				 <&gcc GCC_BLSP1_AHB_CLK>;
2312327c0f5fSStephan Gerhold			clock-names = "core", "iface";
23130e1b27f4SKrzysztof Kozlowski			dmas = <&blsp_dma 14>, <&blsp_dma 15>;
23140e1b27f4SKrzysztof Kozlowski			dma-names = "tx", "rx";
2315327c0f5fSStephan Gerhold			pinctrl-names = "default", "sleep";
2316fdfc21f6SStephan Gerhold			pinctrl-0 = <&blsp_spi6_default>;
2317fdfc21f6SStephan Gerhold			pinctrl-1 = <&blsp_spi6_sleep>;
2318327c0f5fSStephan Gerhold			#address-cells = <1>;
2319327c0f5fSStephan Gerhold			#size-cells = <0>;
2320327c0f5fSStephan Gerhold			status = "disabled";
2321327c0f5fSStephan Gerhold		};
2322327c0f5fSStephan Gerhold
2323327c0f5fSStephan Gerhold		usb: usb@78d9000 {
2324327c0f5fSStephan Gerhold			compatible = "qcom,ci-hdrc";
2325327c0f5fSStephan Gerhold			reg = <0x078d9000 0x200>,
2326327c0f5fSStephan Gerhold			      <0x078d9200 0x200>;
2327327c0f5fSStephan Gerhold			interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
2328327c0f5fSStephan Gerhold				     <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>;
2329327c0f5fSStephan Gerhold			clocks = <&gcc GCC_USB_HS_AHB_CLK>,
2330327c0f5fSStephan Gerhold				 <&gcc GCC_USB_HS_SYSTEM_CLK>;
2331327c0f5fSStephan Gerhold			clock-names = "iface", "core";
2332327c0f5fSStephan Gerhold			assigned-clocks = <&gcc GCC_USB_HS_SYSTEM_CLK>;
2333327c0f5fSStephan Gerhold			assigned-clock-rates = <80000000>;
2334327c0f5fSStephan Gerhold			resets = <&gcc GCC_USB_HS_BCR>;
2335327c0f5fSStephan Gerhold			reset-names = "core";
2336327c0f5fSStephan Gerhold			phy_type = "ulpi";
2337327c0f5fSStephan Gerhold			dr_mode = "otg";
2338327c0f5fSStephan Gerhold			hnp-disable;
2339327c0f5fSStephan Gerhold			srp-disable;
2340327c0f5fSStephan Gerhold			adp-disable;
2341327c0f5fSStephan Gerhold			ahb-burst-config = <0>;
2342327c0f5fSStephan Gerhold			phy-names = "usb-phy";
2343327c0f5fSStephan Gerhold			phys = <&usb_hs_phy>;
2344327c0f5fSStephan Gerhold			status = "disabled";
2345327c0f5fSStephan Gerhold			#reset-cells = <1>;
2346327c0f5fSStephan Gerhold
2347327c0f5fSStephan Gerhold			ulpi {
2348327c0f5fSStephan Gerhold				usb_hs_phy: phy {
2349327c0f5fSStephan Gerhold					compatible = "qcom,usb-hs-phy-msm8916",
2350327c0f5fSStephan Gerhold						     "qcom,usb-hs-phy";
2351327c0f5fSStephan Gerhold					#phy-cells = <0>;
2352327c0f5fSStephan Gerhold					clocks = <&xo_board>, <&gcc GCC_USB2A_PHY_SLEEP_CLK>;
2353327c0f5fSStephan Gerhold					clock-names = "ref", "sleep";
2354327c0f5fSStephan Gerhold					resets = <&gcc GCC_USB2A_PHY_BCR>, <&usb 0>;
2355327c0f5fSStephan Gerhold					reset-names = "phy", "por";
2356640e71aaSDavid Heidelberg					qcom,init-seq = /bits/ 8 <0x0 0x44>,
2357640e71aaSDavid Heidelberg								 <0x1 0x6b>,
2358640e71aaSDavid Heidelberg								 <0x2 0x24>,
2359640e71aaSDavid Heidelberg								 <0x3 0x13>;
2360327c0f5fSStephan Gerhold				};
2361327c0f5fSStephan Gerhold			};
2362327c0f5fSStephan Gerhold		};
2363327c0f5fSStephan Gerhold
23641f9a41bbSKrzysztof Kozlowski		wcnss: remoteproc@a204000 {
2365327c0f5fSStephan Gerhold			compatible = "qcom,pronto-v2-pil", "qcom,pronto";
2366327c0f5fSStephan Gerhold			reg = <0x0a204000 0x2000>, <0x0a202000 0x1000>, <0x0a21b000 0x3000>;
2367327c0f5fSStephan Gerhold			reg-names = "ccu", "dxe", "pmu";
2368327c0f5fSStephan Gerhold
2369327c0f5fSStephan Gerhold			memory-region = <&wcnss_mem>;
2370327c0f5fSStephan Gerhold
2371327c0f5fSStephan Gerhold			interrupts-extended = <&intc GIC_SPI 149 IRQ_TYPE_EDGE_RISING>,
2372327c0f5fSStephan Gerhold					      <&wcnss_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
2373327c0f5fSStephan Gerhold					      <&wcnss_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
2374327c0f5fSStephan Gerhold					      <&wcnss_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
2375327c0f5fSStephan Gerhold					      <&wcnss_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
2376327c0f5fSStephan Gerhold			interrupt-names = "wdog", "fatal", "ready", "handover", "stop-ack";
2377327c0f5fSStephan Gerhold
2378809f299aSStephan Gerhold			power-domains = <&rpmpd MSM8916_VDDCX>,
2379809f299aSStephan Gerhold					<&rpmpd MSM8916_VDDMX>;
2380809f299aSStephan Gerhold			power-domain-names = "cx", "mx";
2381809f299aSStephan Gerhold
23825458d6f2SSireesh Kodali			qcom,smem-states = <&wcnss_smp2p_out 0>;
23835458d6f2SSireesh Kodali			qcom,smem-state-names = "stop";
2384327c0f5fSStephan Gerhold
2385327c0f5fSStephan Gerhold			pinctrl-names = "default";
2386b40de51eSStephan Gerhold			pinctrl-0 = <&wcss_wlan_default>;
2387327c0f5fSStephan Gerhold
2388327c0f5fSStephan Gerhold			status = "disabled";
2389327c0f5fSStephan Gerhold
239032444424SStephan Gerhold			wcnss_iris: iris {
239132444424SStephan Gerhold				/* Separate chip, compatible is board-specific */
2392327c0f5fSStephan Gerhold				clocks = <&rpmcc RPM_SMD_RF_CLK2>;
2393327c0f5fSStephan Gerhold				clock-names = "xo";
2394327c0f5fSStephan Gerhold			};
2395327c0f5fSStephan Gerhold
2396327c0f5fSStephan Gerhold			smd-edge {
2397327c0f5fSStephan Gerhold				interrupts = <GIC_SPI 142 IRQ_TYPE_EDGE_RISING>;
2398327c0f5fSStephan Gerhold
2399327c0f5fSStephan Gerhold				qcom,ipc = <&apcs 8 17>;
2400327c0f5fSStephan Gerhold				qcom,smd-edge = <6>;
2401327c0f5fSStephan Gerhold				qcom,remote-pid = <4>;
2402327c0f5fSStephan Gerhold
2403327c0f5fSStephan Gerhold				label = "pronto";
2404327c0f5fSStephan Gerhold
24050f6b380dSBjorn Andersson				wcnss_ctrl: wcnss {
2406327c0f5fSStephan Gerhold					compatible = "qcom,wcnss";
2407327c0f5fSStephan Gerhold					qcom,smd-channels = "WCNSS_CTRL";
2408327c0f5fSStephan Gerhold
240932444424SStephan Gerhold					qcom,mmio = <&wcnss>;
2410327c0f5fSStephan Gerhold
241132444424SStephan Gerhold					wcnss_bt: bluetooth {
2412327c0f5fSStephan Gerhold						compatible = "qcom,wcnss-bt";
2413327c0f5fSStephan Gerhold					};
2414327c0f5fSStephan Gerhold
241532444424SStephan Gerhold					wcnss_wifi: wifi {
2416327c0f5fSStephan Gerhold						compatible = "qcom,wcnss-wlan";
2417327c0f5fSStephan Gerhold
2418327c0f5fSStephan Gerhold						interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>,
2419327c0f5fSStephan Gerhold							     <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>;
2420327c0f5fSStephan Gerhold						interrupt-names = "tx", "rx";
2421327c0f5fSStephan Gerhold
2422327c0f5fSStephan Gerhold						qcom,smem-states = <&apps_smsm 10>, <&apps_smsm 9>;
2423327c0f5fSStephan Gerhold						qcom,smem-state-names = "tx-enable", "tx-rings-empty";
2424327c0f5fSStephan Gerhold					};
2425327c0f5fSStephan Gerhold				};
2426327c0f5fSStephan Gerhold			};
2427327c0f5fSStephan Gerhold		};
2428327c0f5fSStephan Gerhold
2429327c0f5fSStephan Gerhold		intc: interrupt-controller@b000000 {
2430327c0f5fSStephan Gerhold			compatible = "qcom,msm-qgic2";
2431327c0f5fSStephan Gerhold			interrupt-controller;
2432327c0f5fSStephan Gerhold			#interrupt-cells = <3>;
24338385119bSStephan Gerhold			reg = <0x0b000000 0x1000>, <0x0b002000 0x2000>,
24348385119bSStephan Gerhold			      <0x0b001000 0x1000>, <0x0b004000 0x2000>;
24358385119bSStephan Gerhold			interrupts = <GIC_PPI 0 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
2436327c0f5fSStephan Gerhold		};
2437327c0f5fSStephan Gerhold
2438327c0f5fSStephan Gerhold		apcs: mailbox@b011000 {
2439327c0f5fSStephan Gerhold			compatible = "qcom,msm8916-apcs-kpss-global", "syscon";
2440327c0f5fSStephan Gerhold			reg = <0x0b011000 0x1000>;
2441327c0f5fSStephan Gerhold			#mbox-cells = <1>;
2442327c0f5fSStephan Gerhold			clocks = <&a53pll>, <&gcc GPLL0_VOTE>;
2443327c0f5fSStephan Gerhold			clock-names = "pll", "aux";
2444327c0f5fSStephan Gerhold			#clock-cells = <0>;
2445327c0f5fSStephan Gerhold		};
2446327c0f5fSStephan Gerhold
2447327c0f5fSStephan Gerhold		a53pll: clock@b016000 {
2448327c0f5fSStephan Gerhold			compatible = "qcom,msm8916-a53pll";
2449327c0f5fSStephan Gerhold			reg = <0x0b016000 0x40>;
2450327c0f5fSStephan Gerhold			#clock-cells = <0>;
245193d7cf2eSDmitry Baryshkov			clocks = <&xo_board>;
245293d7cf2eSDmitry Baryshkov			clock-names = "xo";
2453327c0f5fSStephan Gerhold		};
2454327c0f5fSStephan Gerhold
2455327c0f5fSStephan Gerhold		timer@b020000 {
2456327c0f5fSStephan Gerhold			#address-cells = <1>;
2457327c0f5fSStephan Gerhold			#size-cells = <1>;
2458327c0f5fSStephan Gerhold			ranges;
2459327c0f5fSStephan Gerhold			compatible = "arm,armv7-timer-mem";
2460327c0f5fSStephan Gerhold			reg = <0x0b020000 0x1000>;
2461327c0f5fSStephan Gerhold			clock-frequency = <19200000>;
2462327c0f5fSStephan Gerhold
2463327c0f5fSStephan Gerhold			frame@b021000 {
2464327c0f5fSStephan Gerhold				frame-number = <0>;
2465327c0f5fSStephan Gerhold				interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
2466327c0f5fSStephan Gerhold					     <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
2467327c0f5fSStephan Gerhold				reg = <0x0b021000 0x1000>,
2468327c0f5fSStephan Gerhold				      <0x0b022000 0x1000>;
2469327c0f5fSStephan Gerhold			};
2470327c0f5fSStephan Gerhold
2471327c0f5fSStephan Gerhold			frame@b023000 {
2472327c0f5fSStephan Gerhold				frame-number = <1>;
2473327c0f5fSStephan Gerhold				interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
2474327c0f5fSStephan Gerhold				reg = <0x0b023000 0x1000>;
2475327c0f5fSStephan Gerhold				status = "disabled";
2476327c0f5fSStephan Gerhold			};
2477327c0f5fSStephan Gerhold
2478327c0f5fSStephan Gerhold			frame@b024000 {
2479327c0f5fSStephan Gerhold				frame-number = <2>;
2480327c0f5fSStephan Gerhold				interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
2481327c0f5fSStephan Gerhold				reg = <0x0b024000 0x1000>;
2482327c0f5fSStephan Gerhold				status = "disabled";
2483327c0f5fSStephan Gerhold			};
2484327c0f5fSStephan Gerhold
2485327c0f5fSStephan Gerhold			frame@b025000 {
2486327c0f5fSStephan Gerhold				frame-number = <3>;
2487327c0f5fSStephan Gerhold				interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
2488327c0f5fSStephan Gerhold				reg = <0x0b025000 0x1000>;
2489327c0f5fSStephan Gerhold				status = "disabled";
2490327c0f5fSStephan Gerhold			};
2491327c0f5fSStephan Gerhold
2492327c0f5fSStephan Gerhold			frame@b026000 {
2493327c0f5fSStephan Gerhold				frame-number = <4>;
2494327c0f5fSStephan Gerhold				interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
2495327c0f5fSStephan Gerhold				reg = <0x0b026000 0x1000>;
2496327c0f5fSStephan Gerhold				status = "disabled";
2497327c0f5fSStephan Gerhold			};
2498327c0f5fSStephan Gerhold
2499327c0f5fSStephan Gerhold			frame@b027000 {
2500327c0f5fSStephan Gerhold				frame-number = <5>;
2501327c0f5fSStephan Gerhold				interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
2502327c0f5fSStephan Gerhold				reg = <0x0b027000 0x1000>;
2503327c0f5fSStephan Gerhold				status = "disabled";
2504327c0f5fSStephan Gerhold			};
2505327c0f5fSStephan Gerhold
2506327c0f5fSStephan Gerhold			frame@b028000 {
2507327c0f5fSStephan Gerhold				frame-number = <6>;
2508327c0f5fSStephan Gerhold				interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
2509327c0f5fSStephan Gerhold				reg = <0x0b028000 0x1000>;
2510327c0f5fSStephan Gerhold				status = "disabled";
2511327c0f5fSStephan Gerhold			};
2512327c0f5fSStephan Gerhold		};
2513a22f9a76SStephan Gerhold
2514a22f9a76SStephan Gerhold		cpu0_acc: power-manager@b088000 {
2515a22f9a76SStephan Gerhold			compatible = "qcom,msm8916-acc";
2516a22f9a76SStephan Gerhold			reg = <0x0b088000 0x1000>;
2517a22f9a76SStephan Gerhold			status = "reserved"; /* Controlled by PSCI firmware */
2518a22f9a76SStephan Gerhold		};
2519a22f9a76SStephan Gerhold
2520a22f9a76SStephan Gerhold		cpu0_saw: power-manager@b089000 {
2521a22f9a76SStephan Gerhold			compatible = "qcom,msm8916-saw2-v3.0-cpu", "qcom,saw2";
2522a22f9a76SStephan Gerhold			reg = <0x0b089000 0x1000>;
2523a22f9a76SStephan Gerhold			status = "reserved"; /* Controlled by PSCI firmware */
2524a22f9a76SStephan Gerhold		};
2525a22f9a76SStephan Gerhold
2526a22f9a76SStephan Gerhold		cpu1_acc: power-manager@b098000 {
2527a22f9a76SStephan Gerhold			compatible = "qcom,msm8916-acc";
2528a22f9a76SStephan Gerhold			reg = <0x0b098000 0x1000>;
2529a22f9a76SStephan Gerhold			status = "reserved"; /* Controlled by PSCI firmware */
2530a22f9a76SStephan Gerhold		};
2531a22f9a76SStephan Gerhold
2532a22f9a76SStephan Gerhold		cpu1_saw: power-manager@b099000 {
2533a22f9a76SStephan Gerhold			compatible = "qcom,msm8916-saw2-v3.0-cpu", "qcom,saw2";
2534a22f9a76SStephan Gerhold			reg = <0x0b099000 0x1000>;
2535a22f9a76SStephan Gerhold			status = "reserved"; /* Controlled by PSCI firmware */
2536a22f9a76SStephan Gerhold		};
2537a22f9a76SStephan Gerhold
2538a22f9a76SStephan Gerhold		cpu2_acc: power-manager@b0a8000 {
2539a22f9a76SStephan Gerhold			compatible = "qcom,msm8916-acc";
2540a22f9a76SStephan Gerhold			reg = <0x0b0a8000 0x1000>;
2541a22f9a76SStephan Gerhold			status = "reserved"; /* Controlled by PSCI firmware */
2542a22f9a76SStephan Gerhold		};
2543a22f9a76SStephan Gerhold
2544a22f9a76SStephan Gerhold		cpu2_saw: power-manager@b0a9000 {
2545a22f9a76SStephan Gerhold			compatible = "qcom,msm8916-saw2-v3.0-cpu", "qcom,saw2";
2546a22f9a76SStephan Gerhold			reg = <0x0b0a9000 0x1000>;
2547a22f9a76SStephan Gerhold			status = "reserved"; /* Controlled by PSCI firmware */
2548a22f9a76SStephan Gerhold		};
2549a22f9a76SStephan Gerhold
2550a22f9a76SStephan Gerhold		cpu3_acc: power-manager@b0b8000 {
2551a22f9a76SStephan Gerhold			compatible = "qcom,msm8916-acc";
2552a22f9a76SStephan Gerhold			reg = <0x0b0b8000 0x1000>;
2553a22f9a76SStephan Gerhold			status = "reserved"; /* Controlled by PSCI firmware */
2554a22f9a76SStephan Gerhold		};
2555a22f9a76SStephan Gerhold
2556a22f9a76SStephan Gerhold		cpu3_saw: power-manager@b0b9000 {
2557a22f9a76SStephan Gerhold			compatible = "qcom,msm8916-saw2-v3.0-cpu", "qcom,saw2";
2558a22f9a76SStephan Gerhold			reg = <0x0b0b9000 0x1000>;
2559a22f9a76SStephan Gerhold			status = "reserved"; /* Controlled by PSCI firmware */
2560a22f9a76SStephan Gerhold		};
2561327c0f5fSStephan Gerhold	};
2562327c0f5fSStephan Gerhold
2563327c0f5fSStephan Gerhold	thermal-zones {
2564327c0f5fSStephan Gerhold		cpu0-1-thermal {
2565327c0f5fSStephan Gerhold			polling-delay-passive = <250>;
2566327c0f5fSStephan Gerhold			polling-delay = <1000>;
2567327c0f5fSStephan Gerhold
2568327c0f5fSStephan Gerhold			thermal-sensors = <&tsens 5>;
2569327c0f5fSStephan Gerhold
2570327c0f5fSStephan Gerhold			trips {
2571327c0f5fSStephan Gerhold				cpu0_1_alert0: trip-point0 {
2572327c0f5fSStephan Gerhold					temperature = <75000>;
2573327c0f5fSStephan Gerhold					hysteresis = <2000>;
2574327c0f5fSStephan Gerhold					type = "passive";
2575327c0f5fSStephan Gerhold				};
25761364acc3SKrzysztof Kozlowski				cpu0_1_crit: cpu-crit {
2577327c0f5fSStephan Gerhold					temperature = <110000>;
2578327c0f5fSStephan Gerhold					hysteresis = <2000>;
2579327c0f5fSStephan Gerhold					type = "critical";
2580327c0f5fSStephan Gerhold				};
2581327c0f5fSStephan Gerhold			};
2582327c0f5fSStephan Gerhold
2583327c0f5fSStephan Gerhold			cooling-maps {
2584327c0f5fSStephan Gerhold				map0 {
2585327c0f5fSStephan Gerhold					trip = <&cpu0_1_alert0>;
2586327c0f5fSStephan Gerhold					cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2587327c0f5fSStephan Gerhold							 <&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2588327c0f5fSStephan Gerhold							 <&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2589327c0f5fSStephan Gerhold							 <&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
2590327c0f5fSStephan Gerhold				};
2591327c0f5fSStephan Gerhold			};
2592327c0f5fSStephan Gerhold		};
2593327c0f5fSStephan Gerhold
2594327c0f5fSStephan Gerhold		cpu2-3-thermal {
2595327c0f5fSStephan Gerhold			polling-delay-passive = <250>;
2596327c0f5fSStephan Gerhold			polling-delay = <1000>;
2597327c0f5fSStephan Gerhold
2598327c0f5fSStephan Gerhold			thermal-sensors = <&tsens 4>;
2599327c0f5fSStephan Gerhold
2600327c0f5fSStephan Gerhold			trips {
2601327c0f5fSStephan Gerhold				cpu2_3_alert0: trip-point0 {
2602327c0f5fSStephan Gerhold					temperature = <75000>;
2603327c0f5fSStephan Gerhold					hysteresis = <2000>;
2604327c0f5fSStephan Gerhold					type = "passive";
2605327c0f5fSStephan Gerhold				};
26061364acc3SKrzysztof Kozlowski				cpu2_3_crit: cpu-crit {
2607327c0f5fSStephan Gerhold					temperature = <110000>;
2608327c0f5fSStephan Gerhold					hysteresis = <2000>;
2609327c0f5fSStephan Gerhold					type = "critical";
2610327c0f5fSStephan Gerhold				};
2611327c0f5fSStephan Gerhold			};
2612327c0f5fSStephan Gerhold
2613327c0f5fSStephan Gerhold			cooling-maps {
2614327c0f5fSStephan Gerhold				map0 {
2615327c0f5fSStephan Gerhold					trip = <&cpu2_3_alert0>;
2616327c0f5fSStephan Gerhold					cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2617327c0f5fSStephan Gerhold							 <&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2618327c0f5fSStephan Gerhold							 <&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2619327c0f5fSStephan Gerhold							 <&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
2620327c0f5fSStephan Gerhold				};
2621327c0f5fSStephan Gerhold			};
2622327c0f5fSStephan Gerhold		};
2623327c0f5fSStephan Gerhold
2624327c0f5fSStephan Gerhold		gpu-thermal {
2625327c0f5fSStephan Gerhold			polling-delay-passive = <250>;
2626327c0f5fSStephan Gerhold			polling-delay = <1000>;
2627327c0f5fSStephan Gerhold
2628327c0f5fSStephan Gerhold			thermal-sensors = <&tsens 2>;
2629327c0f5fSStephan Gerhold
2630327c0f5fSStephan Gerhold			trips {
2631327c0f5fSStephan Gerhold				gpu_alert0: trip-point0 {
2632327c0f5fSStephan Gerhold					temperature = <75000>;
2633327c0f5fSStephan Gerhold					hysteresis = <2000>;
2634327c0f5fSStephan Gerhold					type = "passive";
2635327c0f5fSStephan Gerhold				};
26361364acc3SKrzysztof Kozlowski				gpu_crit: gpu-crit {
2637327c0f5fSStephan Gerhold					temperature = <95000>;
2638327c0f5fSStephan Gerhold					hysteresis = <2000>;
2639327c0f5fSStephan Gerhold					type = "critical";
2640327c0f5fSStephan Gerhold				};
2641327c0f5fSStephan Gerhold			};
2642327c0f5fSStephan Gerhold		};
2643327c0f5fSStephan Gerhold
2644327c0f5fSStephan Gerhold		camera-thermal {
2645327c0f5fSStephan Gerhold			polling-delay-passive = <250>;
2646327c0f5fSStephan Gerhold			polling-delay = <1000>;
2647327c0f5fSStephan Gerhold
2648327c0f5fSStephan Gerhold			thermal-sensors = <&tsens 1>;
2649327c0f5fSStephan Gerhold
2650327c0f5fSStephan Gerhold			trips {
2651327c0f5fSStephan Gerhold				cam_alert0: trip-point0 {
2652327c0f5fSStephan Gerhold					temperature = <75000>;
2653327c0f5fSStephan Gerhold					hysteresis = <2000>;
2654327c0f5fSStephan Gerhold					type = "hot";
2655327c0f5fSStephan Gerhold				};
2656327c0f5fSStephan Gerhold			};
2657327c0f5fSStephan Gerhold		};
2658327c0f5fSStephan Gerhold
2659327c0f5fSStephan Gerhold		modem-thermal {
2660327c0f5fSStephan Gerhold			polling-delay-passive = <250>;
2661327c0f5fSStephan Gerhold			polling-delay = <1000>;
2662327c0f5fSStephan Gerhold
2663327c0f5fSStephan Gerhold			thermal-sensors = <&tsens 0>;
2664327c0f5fSStephan Gerhold
2665327c0f5fSStephan Gerhold			trips {
2666327c0f5fSStephan Gerhold				modem_alert0: trip-point0 {
2667327c0f5fSStephan Gerhold					temperature = <85000>;
2668327c0f5fSStephan Gerhold					hysteresis = <2000>;
2669327c0f5fSStephan Gerhold					type = "hot";
2670327c0f5fSStephan Gerhold				};
2671327c0f5fSStephan Gerhold			};
2672327c0f5fSStephan Gerhold		};
2673327c0f5fSStephan Gerhold	};
2674327c0f5fSStephan Gerhold
2675327c0f5fSStephan Gerhold	timer {
2676327c0f5fSStephan Gerhold		compatible = "arm,armv8-timer";
2677327c0f5fSStephan Gerhold		interrupts = <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
2678327c0f5fSStephan Gerhold			     <GIC_PPI 3 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
2679327c0f5fSStephan Gerhold			     <GIC_PPI 4 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
2680327c0f5fSStephan Gerhold			     <GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
26811fb47e0aSBjorn Andersson	};
268257f0a7eaSKumar Gala};
2683