xref: /linux/scripts/dtc/include-prefixes/arm64/qcom/msm8916.dtsi (revision ec71f661a572a770d7c861cd52a50cbbb0e1a8d1)
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>
7651af46fSKrzysztof Kozlowski#include <dt-bindings/clock/qcom,dsi-phy-28nm.h>
8327c0f5fSStephan Gerhold#include <dt-bindings/clock/qcom,gcc-msm8916.h>
9327c0f5fSStephan Gerhold#include <dt-bindings/clock/qcom,rpmcc.h>
10366c3797SGeorgi Djakov#include <dt-bindings/interconnect/qcom,msm8916.h>
1157f0a7eaSKumar Gala#include <dt-bindings/interrupt-controller/arm-gic.h>
12809f299aSStephan Gerhold#include <dt-bindings/power/qcom-rpmpd.h>
1357f0a7eaSKumar Gala#include <dt-bindings/reset/qcom,gcc-msm8916.h>
14861aa8e6SStephan Gerhold#include <dt-bindings/soc/qcom,apr.h>
1515ee8f02SRajendra Nayak#include <dt-bindings/thermal/thermal.h>
1657f0a7eaSKumar Gala
1757f0a7eaSKumar Gala/ {
1857f0a7eaSKumar Gala	interrupt-parent = <&intc>;
1957f0a7eaSKumar Gala
2057f0a7eaSKumar Gala	#address-cells = <2>;
2157f0a7eaSKumar Gala	#size-cells = <2>;
2257f0a7eaSKumar Gala
2357f0a7eaSKumar Gala	chosen { };
2457f0a7eaSKumar Gala
2574f417caSVinod Koul	memory@80000000 {
2657f0a7eaSKumar Gala		device_type = "memory";
2757f0a7eaSKumar Gala		/* We expect the bootloader to fill in the reg */
2874f417caSVinod Koul		reg = <0 0x80000000 0 0>;
2957f0a7eaSKumar Gala	};
3057f0a7eaSKumar Gala
31a0ece657SAndy Gross	reserved-memory {
32a0ece657SAndy Gross		#address-cells = <2>;
33a0ece657SAndy Gross		#size-cells = <2>;
34a0ece657SAndy Gross		ranges;
35a0ece657SAndy Gross
367258e10eSBjorn Andersson		tz-apps@86000000 {
377258e10eSBjorn Andersson			reg = <0x0 0x86000000 0x0 0x300000>;
38a0ece657SAndy Gross			no-map;
39a0ece657SAndy Gross		};
40a0ece657SAndy Gross
41c86c43c4SStephan Gerhold		smem@86300000 {
42c86c43c4SStephan Gerhold			compatible = "qcom,smem";
437258e10eSBjorn Andersson			reg = <0x0 0x86300000 0x0 0x100000>;
447258e10eSBjorn Andersson			no-map;
45c86c43c4SStephan Gerhold
46c86c43c4SStephan Gerhold			hwlocks = <&tcsr_mutex 3>;
47c86c43c4SStephan Gerhold			qcom,rpm-msg-ram = <&rpm_msg_ram>;
487258e10eSBjorn Andersson		};
497258e10eSBjorn Andersson
507258e10eSBjorn Andersson		hypervisor@86400000 {
517258e10eSBjorn Andersson			reg = <0x0 0x86400000 0x0 0x100000>;
527258e10eSBjorn Andersson			no-map;
537258e10eSBjorn Andersson		};
547258e10eSBjorn Andersson
557258e10eSBjorn Andersson		tz@86500000 {
567258e10eSBjorn Andersson			reg = <0x0 0x86500000 0x0 0x180000>;
577258e10eSBjorn Andersson			no-map;
587258e10eSBjorn Andersson		};
597258e10eSBjorn Andersson
60d5ae2528SVincent Knecht		reserved@86680000 {
617258e10eSBjorn Andersson			reg = <0x0 0x86680000 0x0 0x80000>;
627258e10eSBjorn Andersson			no-map;
637258e10eSBjorn Andersson		};
647258e10eSBjorn Andersson
657258e10eSBjorn Andersson		rmtfs@86700000 {
668cd00d5aSBjorn Andersson			compatible = "qcom,rmtfs-mem";
677258e10eSBjorn Andersson			reg = <0x0 0x86700000 0x0 0xe0000>;
687258e10eSBjorn Andersson			no-map;
698cd00d5aSBjorn Andersson
708cd00d5aSBjorn Andersson			qcom,client-id = <1>;
717258e10eSBjorn Andersson		};
727258e10eSBjorn Andersson
73d5ae2528SVincent Knecht		rfsa@867e0000 {
747258e10eSBjorn Andersson			reg = <0x0 0x867e0000 0x0 0x20000>;
757258e10eSBjorn Andersson			no-map;
767258e10eSBjorn Andersson		};
777258e10eSBjorn Andersson
782b98ce13SBjorn Andersson		mpss_mem: mpss@86800000 {
790ed3d828SStephan Gerhold			/*
800ed3d828SStephan Gerhold			 * The memory region for the mpss firmware is generally
810ed3d828SStephan Gerhold			 * relocatable and could be allocated dynamically.
820ed3d828SStephan Gerhold			 * However, many firmware versions tend to fail when
830ed3d828SStephan Gerhold			 * loaded to some special addresses, so it is hard to
840ed3d828SStephan Gerhold			 * define reliable alloc-ranges.
850ed3d828SStephan Gerhold			 *
860ed3d828SStephan Gerhold			 * alignment = <0x0 0x400000>;
870ed3d828SStephan Gerhold			 * alloc-ranges = <0x0 0x86800000 0x0 0x8000000>;
880ed3d828SStephan Gerhold			 */
8935efa1beSStephan Gerhold			reg = <0x0 0x86800000 0x0 0>; /* size is device-specific */
907258e10eSBjorn Andersson			no-map;
910ece6438SStephan Gerhold			status = "disabled";
927258e10eSBjorn Andersson		};
937258e10eSBjorn Andersson
940ed3d828SStephan Gerhold		wcnss_mem: wcnss {
950ed3d828SStephan Gerhold			size = <0x0 0x600000>;
960ed3d828SStephan Gerhold			alignment = <0x0 0x100000>;
970ed3d828SStephan Gerhold			alloc-ranges = <0x0 0x86800000 0x0 0x8000000>;
98a0ece657SAndy Gross			no-map;
990ece6438SStephan Gerhold			status = "disabled";
100a0ece657SAndy Gross		};
101d9a3e0c5SBjorn Andersson
1020ed3d828SStephan Gerhold		venus_mem: venus {
103e3c6386cSStephan Gerhold			size = <0x0 0x500000>;
1040ed3d828SStephan Gerhold			alignment = <0x0 0x100000>;
1050ed3d828SStephan Gerhold			alloc-ranges = <0x0 0x86800000 0x0 0x8000000>;
10616bd6c82SStanimir Varbanov			no-map;
1070ece6438SStephan Gerhold			status = "disabled";
10816bd6c82SStanimir Varbanov		};
10916bd6c82SStanimir Varbanov
110b4f3a410SStephan Gerhold		mba_mem: mba {
111b4f3a410SStephan Gerhold			size = <0x0 0x100000>;
112b4f3a410SStephan Gerhold			alignment = <0x0 0x100000>;
113b4f3a410SStephan Gerhold			alloc-ranges = <0x0 0x86800000 0x0 0x8000000>;
114d9a3e0c5SBjorn Andersson			no-map;
1150ece6438SStephan Gerhold			status = "disabled";
116d9a3e0c5SBjorn Andersson		};
117a0ece657SAndy Gross	};
118a0ece657SAndy Gross
119327c0f5fSStephan Gerhold	clocks {
120327c0f5fSStephan Gerhold		xo_board: xo-board {
121327c0f5fSStephan Gerhold			compatible = "fixed-clock";
122327c0f5fSStephan Gerhold			#clock-cells = <0>;
123327c0f5fSStephan Gerhold			clock-frequency = <19200000>;
124327c0f5fSStephan Gerhold		};
125327c0f5fSStephan Gerhold
126327c0f5fSStephan Gerhold		sleep_clk: sleep-clk {
127327c0f5fSStephan Gerhold			compatible = "fixed-clock";
128327c0f5fSStephan Gerhold			#clock-cells = <0>;
129f088b921SDmitry Baryshkov			clock-frequency = <32764>;
130327c0f5fSStephan Gerhold		};
131327c0f5fSStephan Gerhold	};
132327c0f5fSStephan Gerhold
13357f0a7eaSKumar Gala	cpus {
13457f0a7eaSKumar Gala		#address-cells = <1>;
13557f0a7eaSKumar Gala		#size-cells = <0>;
13657f0a7eaSKumar Gala
1372df0741cSKrzysztof Kozlowski		cpu0: cpu@0 {
13857f0a7eaSKumar Gala			device_type = "cpu";
13931af04cdSRob Herring			compatible = "arm,cortex-a53";
14057f0a7eaSKumar Gala			reg = <0x0>;
1412df0741cSKrzysztof Kozlowski			next-level-cache = <&l2_0>;
142a0df399fSLina Iyer			enable-method = "psci";
143e4f045efSNiklas Cassel			clocks = <&apcs>;
14465afdf45SGeorgi Djakov			operating-points-v2 = <&cpu_opp_table>;
14515ee8f02SRajendra Nayak			#cooling-cells = <2>;
1462df0741cSKrzysztof Kozlowski			power-domains = <&cpu_pd0>;
147e3713155SUlf Hansson			power-domain-names = "psci";
148a22f9a76SStephan Gerhold			qcom,acc = <&cpu0_acc>;
149a22f9a76SStephan Gerhold			qcom,saw = <&cpu0_saw>;
15057f0a7eaSKumar Gala		};
15157f0a7eaSKumar Gala
1522df0741cSKrzysztof Kozlowski		cpu1: cpu@1 {
15357f0a7eaSKumar Gala			device_type = "cpu";
15431af04cdSRob Herring			compatible = "arm,cortex-a53";
15557f0a7eaSKumar Gala			reg = <0x1>;
1562df0741cSKrzysztof Kozlowski			next-level-cache = <&l2_0>;
157a0df399fSLina Iyer			enable-method = "psci";
158e4f045efSNiklas Cassel			clocks = <&apcs>;
15965afdf45SGeorgi Djakov			operating-points-v2 = <&cpu_opp_table>;
16015ee8f02SRajendra Nayak			#cooling-cells = <2>;
1612df0741cSKrzysztof Kozlowski			power-domains = <&cpu_pd1>;
162e3713155SUlf Hansson			power-domain-names = "psci";
163a22f9a76SStephan Gerhold			qcom,acc = <&cpu1_acc>;
164a22f9a76SStephan Gerhold			qcom,saw = <&cpu1_saw>;
16557f0a7eaSKumar Gala		};
16657f0a7eaSKumar Gala
1672df0741cSKrzysztof Kozlowski		cpu2: cpu@2 {
16857f0a7eaSKumar Gala			device_type = "cpu";
16931af04cdSRob Herring			compatible = "arm,cortex-a53";
17057f0a7eaSKumar Gala			reg = <0x2>;
1712df0741cSKrzysztof Kozlowski			next-level-cache = <&l2_0>;
172a0df399fSLina Iyer			enable-method = "psci";
173e4f045efSNiklas Cassel			clocks = <&apcs>;
17465afdf45SGeorgi Djakov			operating-points-v2 = <&cpu_opp_table>;
17515ee8f02SRajendra Nayak			#cooling-cells = <2>;
1762df0741cSKrzysztof Kozlowski			power-domains = <&cpu_pd2>;
177e3713155SUlf Hansson			power-domain-names = "psci";
178a22f9a76SStephan Gerhold			qcom,acc = <&cpu2_acc>;
179a22f9a76SStephan Gerhold			qcom,saw = <&cpu2_saw>;
18057f0a7eaSKumar Gala		};
18157f0a7eaSKumar Gala
1822df0741cSKrzysztof Kozlowski		cpu3: cpu@3 {
18357f0a7eaSKumar Gala			device_type = "cpu";
18431af04cdSRob Herring			compatible = "arm,cortex-a53";
18557f0a7eaSKumar Gala			reg = <0x3>;
1862df0741cSKrzysztof Kozlowski			next-level-cache = <&l2_0>;
187a0df399fSLina Iyer			enable-method = "psci";
188e4f045efSNiklas Cassel			clocks = <&apcs>;
18965afdf45SGeorgi Djakov			operating-points-v2 = <&cpu_opp_table>;
19015ee8f02SRajendra Nayak			#cooling-cells = <2>;
1912df0741cSKrzysztof Kozlowski			power-domains = <&cpu_pd3>;
192e3713155SUlf Hansson			power-domain-names = "psci";
193a22f9a76SStephan Gerhold			qcom,acc = <&cpu3_acc>;
194a22f9a76SStephan Gerhold			qcom,saw = <&cpu3_saw>;
1950a9bcf4eSStephen Boyd		};
1960a9bcf4eSStephen Boyd
1972df0741cSKrzysztof Kozlowski		l2_0: l2-cache {
1980a9bcf4eSStephen Boyd			compatible = "cache";
1990a9bcf4eSStephen Boyd			cache-level = <2>;
2009c6e72fbSKrzysztof Kozlowski			cache-unified;
20157f0a7eaSKumar Gala		};
202a0df399fSLina Iyer
203a0df399fSLina Iyer		idle-states {
2044742ab86SAmit Kucheria			entry-method = "psci";
2054742ab86SAmit Kucheria
2062df0741cSKrzysztof Kozlowski			cpu_sleep_0: cpu-sleep-0 {
207a0df399fSLina Iyer				compatible = "arm,idle-state";
2084c9e5dfbSAmit Kucheria				idle-state-name = "standalone-power-collapse";
209a0df399fSLina Iyer				arm,psci-suspend-param = <0x40000002>;
210a0df399fSLina Iyer				entry-latency-us = <130>;
211a0df399fSLina Iyer				exit-latency-us = <150>;
212a0df399fSLina Iyer				min-residency-us = <2000>;
213a0df399fSLina Iyer				local-timer-stop;
214a0df399fSLina Iyer			};
215912f9a6dSUlf Hansson		};
216912f9a6dSUlf Hansson
217912f9a6dSUlf Hansson		domain-idle-states {
218e3713155SUlf Hansson
2192df0741cSKrzysztof Kozlowski			cluster_ret: cluster-retention {
220e3713155SUlf Hansson				compatible = "domain-idle-state";
221e3713155SUlf Hansson				arm,psci-suspend-param = <0x41000012>;
222e3713155SUlf Hansson				entry-latency-us = <500>;
223e3713155SUlf Hansson				exit-latency-us = <500>;
224e3713155SUlf Hansson				min-residency-us = <2000>;
225e3713155SUlf Hansson			};
226e3713155SUlf Hansson
2272df0741cSKrzysztof Kozlowski			cluster_pwrdn: cluster-gdhs {
228e3713155SUlf Hansson				compatible = "domain-idle-state";
229e3713155SUlf Hansson				arm,psci-suspend-param = <0x41000032>;
230e3713155SUlf Hansson				entry-latency-us = <2000>;
231e3713155SUlf Hansson				exit-latency-us = <2000>;
232e3713155SUlf Hansson				min-residency-us = <6000>;
233e3713155SUlf Hansson			};
234a0df399fSLina Iyer		};
235a0df399fSLina Iyer	};
236a0df399fSLina Iyer
2370e3e6546SKrzysztof Kozlowski	cpu_opp_table: opp-table-cpu {
238327c0f5fSStephan Gerhold		compatible = "operating-points-v2";
239327c0f5fSStephan Gerhold		opp-shared;
240327c0f5fSStephan Gerhold
241327c0f5fSStephan Gerhold		opp-200000000 {
242327c0f5fSStephan Gerhold			opp-hz = /bits/ 64 <200000000>;
243327c0f5fSStephan Gerhold		};
244327c0f5fSStephan Gerhold		opp-400000000 {
245327c0f5fSStephan Gerhold			opp-hz = /bits/ 64 <400000000>;
246327c0f5fSStephan Gerhold		};
247327c0f5fSStephan Gerhold		opp-800000000 {
248327c0f5fSStephan Gerhold			opp-hz = /bits/ 64 <800000000>;
249327c0f5fSStephan Gerhold		};
250327c0f5fSStephan Gerhold		opp-998400000 {
251327c0f5fSStephan Gerhold			opp-hz = /bits/ 64 <998400000>;
252327c0f5fSStephan Gerhold		};
253327c0f5fSStephan Gerhold	};
254327c0f5fSStephan Gerhold
255327c0f5fSStephan Gerhold	firmware {
256327c0f5fSStephan Gerhold		scm: scm {
257327c0f5fSStephan Gerhold			compatible = "qcom,scm-msm8916", "qcom,scm";
258327c0f5fSStephan Gerhold			clocks = <&gcc GCC_CRYPTO_CLK>,
259327c0f5fSStephan Gerhold				 <&gcc GCC_CRYPTO_AXI_CLK>,
260327c0f5fSStephan Gerhold				 <&gcc GCC_CRYPTO_AHB_CLK>;
261327c0f5fSStephan Gerhold			clock-names = "core", "bus", "iface";
262327c0f5fSStephan Gerhold			#reset-cells = <1>;
263327c0f5fSStephan Gerhold
264327c0f5fSStephan Gerhold			qcom,dload-mode = <&tcsr 0x6100>;
265327c0f5fSStephan Gerhold		};
266327c0f5fSStephan Gerhold	};
267327c0f5fSStephan Gerhold
268327c0f5fSStephan Gerhold	pmu {
269327c0f5fSStephan Gerhold		compatible = "arm,cortex-a53-pmu";
270327c0f5fSStephan Gerhold		interrupts = <GIC_PPI 7 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
271327c0f5fSStephan Gerhold	};
272327c0f5fSStephan Gerhold
273a0df399fSLina Iyer	psci {
274a0df399fSLina Iyer		compatible = "arm,psci-1.0";
275a0df399fSLina Iyer		method = "smc";
276e3713155SUlf Hansson
2772df0741cSKrzysztof Kozlowski		cpu_pd0: power-domain-cpu0 {
278e3713155SUlf Hansson			#power-domain-cells = <0>;
2792df0741cSKrzysztof Kozlowski			power-domains = <&cluster_pd>;
2802df0741cSKrzysztof Kozlowski			domain-idle-states = <&cpu_sleep_0>;
281e3713155SUlf Hansson		};
282e3713155SUlf Hansson
2832df0741cSKrzysztof Kozlowski		cpu_pd1: power-domain-cpu1 {
284e3713155SUlf Hansson			#power-domain-cells = <0>;
2852df0741cSKrzysztof Kozlowski			power-domains = <&cluster_pd>;
2862df0741cSKrzysztof Kozlowski			domain-idle-states = <&cpu_sleep_0>;
287e3713155SUlf Hansson		};
288e3713155SUlf Hansson
2892df0741cSKrzysztof Kozlowski		cpu_pd2: power-domain-cpu2 {
290e3713155SUlf Hansson			#power-domain-cells = <0>;
2912df0741cSKrzysztof Kozlowski			power-domains = <&cluster_pd>;
2922df0741cSKrzysztof Kozlowski			domain-idle-states = <&cpu_sleep_0>;
293e3713155SUlf Hansson		};
294e3713155SUlf Hansson
2952df0741cSKrzysztof Kozlowski		cpu_pd3: power-domain-cpu3 {
296e3713155SUlf Hansson			#power-domain-cells = <0>;
2972df0741cSKrzysztof Kozlowski			power-domains = <&cluster_pd>;
2982df0741cSKrzysztof Kozlowski			domain-idle-states = <&cpu_sleep_0>;
299e3713155SUlf Hansson		};
300e3713155SUlf Hansson
3012df0741cSKrzysztof Kozlowski		cluster_pd: power-domain-cluster {
302e3713155SUlf Hansson			#power-domain-cells = <0>;
3032df0741cSKrzysztof Kozlowski			domain-idle-states = <&cluster_ret>, <&cluster_pwrdn>;
304e3713155SUlf Hansson		};
30557f0a7eaSKumar Gala	};
30657f0a7eaSKumar Gala
307091efd56SStephan Gerhold	rpm: remoteproc {
308091efd56SStephan Gerhold		compatible = "qcom,msm8916-rpm-proc", "qcom,rpm-proc";
3095daa7a60SStephen Boyd
310091efd56SStephan Gerhold		smd-edge {
311327c0f5fSStephan Gerhold			interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
3123e971470SLuca Weiss			mboxes = <&apcs 0>;
313327c0f5fSStephan Gerhold			qcom,smd-edge = <15>;
3144f6e4892SRajendra Nayak
315327c0f5fSStephan Gerhold			rpm_requests: rpm-requests {
3160b7d94e9SDmitry Baryshkov				compatible = "qcom,rpm-msm8916", "qcom,smd-rpm";
317327c0f5fSStephan Gerhold				qcom,smd-channels = "rpm_requests";
3184f6e4892SRajendra Nayak
319327c0f5fSStephan Gerhold				rpmcc: clock-controller {
320812b0b61SKrzysztof Kozlowski					compatible = "qcom,rpmcc-msm8916", "qcom,rpmcc";
321327c0f5fSStephan Gerhold					#clock-cells = <1>;
32293d7cf2eSDmitry Baryshkov					clocks = <&xo_board>;
32393d7cf2eSDmitry Baryshkov					clock-names = "xo";
3244f6e4892SRajendra Nayak				};
3252709436eSStephan Gerhold
3262709436eSStephan Gerhold				rpmpd: power-controller {
3272709436eSStephan Gerhold					compatible = "qcom,msm8916-rpmpd";
3282709436eSStephan Gerhold					#power-domain-cells = <1>;
3292709436eSStephan Gerhold					operating-points-v2 = <&rpmpd_opp_table>;
3302709436eSStephan Gerhold
3312709436eSStephan Gerhold					rpmpd_opp_table: opp-table {
3322709436eSStephan Gerhold						compatible = "operating-points-v2";
3332709436eSStephan Gerhold
3342709436eSStephan Gerhold						rpmpd_opp_ret: opp1 {
3352709436eSStephan Gerhold							opp-level = <1>;
3362709436eSStephan Gerhold						};
3372709436eSStephan Gerhold						rpmpd_opp_svs_krait: opp2 {
3382709436eSStephan Gerhold							opp-level = <2>;
3392709436eSStephan Gerhold						};
3402709436eSStephan Gerhold						rpmpd_opp_svs_soc: opp3 {
3412709436eSStephan Gerhold							opp-level = <3>;
3422709436eSStephan Gerhold						};
3432709436eSStephan Gerhold						rpmpd_opp_nom: opp4 {
3442709436eSStephan Gerhold							opp-level = <4>;
3452709436eSStephan Gerhold						};
3462709436eSStephan Gerhold						rpmpd_opp_turbo: opp5 {
3472709436eSStephan Gerhold							opp-level = <5>;
3482709436eSStephan Gerhold						};
3492709436eSStephan Gerhold						rpmpd_opp_super_turbo: opp6 {
3502709436eSStephan Gerhold							opp-level = <6>;
3512709436eSStephan Gerhold						};
3522709436eSStephan Gerhold					};
3532709436eSStephan Gerhold				};
3544f6e4892SRajendra Nayak			};
355f4fb6aeaSGeorgi Djakov		};
356f4fb6aeaSGeorgi Djakov	};
357f4fb6aeaSGeorgi Djakov
358327c0f5fSStephan Gerhold	smp2p-hexagon {
359327c0f5fSStephan Gerhold		compatible = "qcom,smp2p";
360327c0f5fSStephan Gerhold		qcom,smem = <435>, <428>;
3611f34d644SBjorn Andersson
362327c0f5fSStephan Gerhold		interrupts = <GIC_SPI 27 IRQ_TYPE_EDGE_RISING>;
363327c0f5fSStephan Gerhold
3643e971470SLuca Weiss		mboxes = <&apcs 14>;
365327c0f5fSStephan Gerhold
366327c0f5fSStephan Gerhold		qcom,local-pid = <0>;
367327c0f5fSStephan Gerhold		qcom,remote-pid = <1>;
368327c0f5fSStephan Gerhold
369327c0f5fSStephan Gerhold		hexagon_smp2p_out: master-kernel {
370327c0f5fSStephan Gerhold			qcom,entry-name = "master-kernel";
371327c0f5fSStephan Gerhold
372327c0f5fSStephan Gerhold			#qcom,smem-state-cells = <1>;
373327c0f5fSStephan Gerhold		};
374327c0f5fSStephan Gerhold
375327c0f5fSStephan Gerhold		hexagon_smp2p_in: slave-kernel {
376327c0f5fSStephan Gerhold			qcom,entry-name = "slave-kernel";
377327c0f5fSStephan Gerhold
378327c0f5fSStephan Gerhold			interrupt-controller;
379327c0f5fSStephan Gerhold			#interrupt-cells = <2>;
380327c0f5fSStephan Gerhold		};
381327c0f5fSStephan Gerhold	};
382327c0f5fSStephan Gerhold
383327c0f5fSStephan Gerhold	smp2p-wcnss {
384327c0f5fSStephan Gerhold		compatible = "qcom,smp2p";
385327c0f5fSStephan Gerhold		qcom,smem = <451>, <431>;
386327c0f5fSStephan Gerhold
387327c0f5fSStephan Gerhold		interrupts = <GIC_SPI 143 IRQ_TYPE_EDGE_RISING>;
388327c0f5fSStephan Gerhold
3893e971470SLuca Weiss		mboxes = <&apcs 18>;
390327c0f5fSStephan Gerhold
391327c0f5fSStephan Gerhold		qcom,local-pid = <0>;
392327c0f5fSStephan Gerhold		qcom,remote-pid = <4>;
393327c0f5fSStephan Gerhold
394327c0f5fSStephan Gerhold		wcnss_smp2p_out: master-kernel {
395327c0f5fSStephan Gerhold			qcom,entry-name = "master-kernel";
396327c0f5fSStephan Gerhold
397327c0f5fSStephan Gerhold			#qcom,smem-state-cells = <1>;
398327c0f5fSStephan Gerhold		};
399327c0f5fSStephan Gerhold
400327c0f5fSStephan Gerhold		wcnss_smp2p_in: slave-kernel {
401327c0f5fSStephan Gerhold			qcom,entry-name = "slave-kernel";
402327c0f5fSStephan Gerhold
403327c0f5fSStephan Gerhold			interrupt-controller;
404327c0f5fSStephan Gerhold			#interrupt-cells = <2>;
405327c0f5fSStephan Gerhold		};
406327c0f5fSStephan Gerhold	};
407327c0f5fSStephan Gerhold
408327c0f5fSStephan Gerhold	smsm {
409327c0f5fSStephan Gerhold		compatible = "qcom,smsm";
410327c0f5fSStephan Gerhold
411327c0f5fSStephan Gerhold		#address-cells = <1>;
412327c0f5fSStephan Gerhold		#size-cells = <0>;
413327c0f5fSStephan Gerhold
414d605f9c7SLuca Weiss		mboxes = <0>, <&apcs 13>, <0>, <&apcs 19>;
415327c0f5fSStephan Gerhold
416327c0f5fSStephan Gerhold		apps_smsm: apps@0 {
417327c0f5fSStephan Gerhold			reg = <0>;
418327c0f5fSStephan Gerhold
419327c0f5fSStephan Gerhold			#qcom,smem-state-cells = <1>;
420327c0f5fSStephan Gerhold		};
421327c0f5fSStephan Gerhold
422327c0f5fSStephan Gerhold		hexagon_smsm: hexagon@1 {
423327c0f5fSStephan Gerhold			reg = <1>;
424327c0f5fSStephan Gerhold			interrupts = <GIC_SPI 26 IRQ_TYPE_EDGE_RISING>;
425327c0f5fSStephan Gerhold
426327c0f5fSStephan Gerhold			interrupt-controller;
427327c0f5fSStephan Gerhold			#interrupt-cells = <2>;
428327c0f5fSStephan Gerhold		};
429327c0f5fSStephan Gerhold
430327c0f5fSStephan Gerhold		wcnss_smsm: wcnss@6 {
431327c0f5fSStephan Gerhold			reg = <6>;
432327c0f5fSStephan Gerhold			interrupts = <GIC_SPI 144 IRQ_TYPE_EDGE_RISING>;
433327c0f5fSStephan Gerhold
434327c0f5fSStephan Gerhold			interrupt-controller;
435327c0f5fSStephan Gerhold			#interrupt-cells = <2>;
436ea49e164SAndy Gross		};
437ea49e164SAndy Gross	};
438ea49e164SAndy Gross
4397a62bfebSStephan Gerhold	soc: soc@0 {
44057f0a7eaSKumar Gala		#address-cells = <1>;
44157f0a7eaSKumar Gala		#size-cells = <1>;
44257f0a7eaSKumar Gala		ranges = <0 0 0 0xffffffff>;
44357f0a7eaSKumar Gala		compatible = "simple-bus";
44457f0a7eaSKumar Gala
445327c0f5fSStephan Gerhold		rng@22000 {
446327c0f5fSStephan Gerhold			compatible = "qcom,prng";
447327c0f5fSStephan Gerhold			reg = <0x00022000 0x200>;
448327c0f5fSStephan Gerhold			clocks = <&gcc GCC_PRNG_AHB_CLK>;
449327c0f5fSStephan Gerhold			clock-names = "core";
450327c0f5fSStephan Gerhold		};
451327c0f5fSStephan Gerhold
452327c0f5fSStephan Gerhold		restart@4ab000 {
453327c0f5fSStephan Gerhold			compatible = "qcom,pshold";
454327c0f5fSStephan Gerhold			reg = <0x004ab000 0x4>;
455327c0f5fSStephan Gerhold		};
456327c0f5fSStephan Gerhold
457327c0f5fSStephan Gerhold		qfprom: qfprom@5c000 {
458b2eab35bSKrzysztof Kozlowski			compatible = "qcom,msm8916-qfprom", "qcom,qfprom";
459327c0f5fSStephan Gerhold			reg = <0x0005c000 0x1000>;
460327c0f5fSStephan Gerhold			#address-cells = <1>;
461327c0f5fSStephan Gerhold			#size-cells = <1>;
46224aafd04SDmitry Baryshkov
46324aafd04SDmitry Baryshkov			tsens_base1: base1@d0 {
46424aafd04SDmitry Baryshkov				reg = <0xd0 0x1>;
46524aafd04SDmitry Baryshkov				bits = <0 7>;
466327c0f5fSStephan Gerhold			};
46724aafd04SDmitry Baryshkov
46824aafd04SDmitry Baryshkov			tsens_s0_p1: s0-p1@d0 {
46924aafd04SDmitry Baryshkov				reg = <0xd0 0x2>;
47024aafd04SDmitry Baryshkov				bits = <7 5>;
47124aafd04SDmitry Baryshkov			};
47224aafd04SDmitry Baryshkov
47324aafd04SDmitry Baryshkov			tsens_s0_p2: s0-p2@d1 {
47424aafd04SDmitry Baryshkov				reg = <0xd1 0x2>;
47524aafd04SDmitry Baryshkov				bits = <4 5>;
47624aafd04SDmitry Baryshkov			};
47724aafd04SDmitry Baryshkov
47824aafd04SDmitry Baryshkov			tsens_s1_p1: s1-p1@d2 {
47924aafd04SDmitry Baryshkov				reg = <0xd2 0x1>;
48024aafd04SDmitry Baryshkov				bits = <1 5>;
48124aafd04SDmitry Baryshkov			};
48224aafd04SDmitry Baryshkov			tsens_s1_p2: s1-p2@d2 {
48324aafd04SDmitry Baryshkov				reg = <0xd2 0x2>;
48424aafd04SDmitry Baryshkov				bits = <6 5>;
48524aafd04SDmitry Baryshkov			};
48624aafd04SDmitry Baryshkov			tsens_s2_p1: s2-p1@d3 {
48724aafd04SDmitry Baryshkov				reg = <0xd3 0x1>;
48824aafd04SDmitry Baryshkov				bits = <3 5>;
48924aafd04SDmitry Baryshkov			};
49024aafd04SDmitry Baryshkov
49124aafd04SDmitry Baryshkov			tsens_s2_p2: s2-p2@d4 {
49224aafd04SDmitry Baryshkov				reg = <0xd4 0x1>;
49324aafd04SDmitry Baryshkov				bits = <0 5>;
49424aafd04SDmitry Baryshkov			};
49524aafd04SDmitry Baryshkov
49624aafd04SDmitry Baryshkov			// no tsens with hw_id 3
49724aafd04SDmitry Baryshkov
49824aafd04SDmitry Baryshkov			tsens_s4_p1: s4-p1@d4 {
49924aafd04SDmitry Baryshkov				reg = <0xd4 0x2>;
50024aafd04SDmitry Baryshkov				bits = <5 5>;
50124aafd04SDmitry Baryshkov			};
50224aafd04SDmitry Baryshkov
50324aafd04SDmitry Baryshkov			tsens_s4_p2: s4-p2@d5 {
50424aafd04SDmitry Baryshkov				reg = <0xd5 0x1>;
50524aafd04SDmitry Baryshkov				bits = <2 5>;
50624aafd04SDmitry Baryshkov			};
50724aafd04SDmitry Baryshkov
50824aafd04SDmitry Baryshkov			tsens_s5_p1: s5-p1@d5 {
50924aafd04SDmitry Baryshkov				reg = <0xd5 0x2>;
51024aafd04SDmitry Baryshkov				bits = <7 5>;
51124aafd04SDmitry Baryshkov			};
51224aafd04SDmitry Baryshkov
51324aafd04SDmitry Baryshkov			tsens_s5_p2: s5-p2@d6 {
51424aafd04SDmitry Baryshkov				reg = <0xd6 0x2>;
51524aafd04SDmitry Baryshkov				bits = <4 5>;
51624aafd04SDmitry Baryshkov			};
51724aafd04SDmitry Baryshkov
51824aafd04SDmitry Baryshkov			tsens_base2: base2@d7 {
51924aafd04SDmitry Baryshkov				reg = <0xd7 0x1>;
52024aafd04SDmitry Baryshkov				bits = <1 7>;
52124aafd04SDmitry Baryshkov			};
52224aafd04SDmitry Baryshkov
523608465f7SStephan Gerhold			tsens_mode: mode@ef {
52424aafd04SDmitry Baryshkov				reg = <0xef 0x1>;
52524aafd04SDmitry Baryshkov				bits = <5 3>;
526327c0f5fSStephan Gerhold			};
527327c0f5fSStephan Gerhold		};
528327c0f5fSStephan Gerhold
529179811beSStephan Gerhold		rpm_msg_ram: sram@60000 {
530327c0f5fSStephan Gerhold			compatible = "qcom,rpm-msg-ram";
531327c0f5fSStephan Gerhold			reg = <0x00060000 0x8000>;
532327c0f5fSStephan Gerhold		};
533327c0f5fSStephan Gerhold
5341c0ac047SStephan Gerhold		sram@290000 {
5351c0ac047SStephan Gerhold			compatible = "qcom,msm8916-rpm-stats";
5361c0ac047SStephan Gerhold			reg = <0x00290000 0x10000>;
5371c0ac047SStephan Gerhold		};
5381c0ac047SStephan Gerhold
539366c3797SGeorgi Djakov		bimc: interconnect@400000 {
540366c3797SGeorgi Djakov			compatible = "qcom,msm8916-bimc";
541366c3797SGeorgi Djakov			reg = <0x00400000 0x62000>;
542366c3797SGeorgi Djakov			#interconnect-cells = <1>;
543366c3797SGeorgi Djakov		};
544366c3797SGeorgi Djakov
545327c0f5fSStephan Gerhold		tsens: thermal-sensor@4a9000 {
546327c0f5fSStephan Gerhold			compatible = "qcom,msm8916-tsens", "qcom,tsens-v0_1";
547327c0f5fSStephan Gerhold			reg = <0x004a9000 0x1000>, /* TM */
548327c0f5fSStephan Gerhold			      <0x004a8000 0x1000>; /* SROT */
54924aafd04SDmitry Baryshkov
55024aafd04SDmitry Baryshkov			// no hw_id 3
55124aafd04SDmitry Baryshkov			nvmem-cells = <&tsens_mode>,
55224aafd04SDmitry Baryshkov				      <&tsens_base1>, <&tsens_base2>,
55324aafd04SDmitry Baryshkov				      <&tsens_s0_p1>, <&tsens_s0_p2>,
55424aafd04SDmitry Baryshkov				      <&tsens_s1_p1>, <&tsens_s1_p2>,
55524aafd04SDmitry Baryshkov				      <&tsens_s2_p1>, <&tsens_s2_p2>,
55624aafd04SDmitry Baryshkov				      <&tsens_s4_p1>, <&tsens_s4_p2>,
55724aafd04SDmitry Baryshkov				      <&tsens_s5_p1>, <&tsens_s5_p2>;
55824aafd04SDmitry Baryshkov			nvmem-cell-names = "mode",
55924aafd04SDmitry Baryshkov					   "base1", "base2",
56024aafd04SDmitry Baryshkov					   "s0_p1", "s0_p2",
56124aafd04SDmitry Baryshkov					   "s1_p1", "s1_p2",
56224aafd04SDmitry Baryshkov					   "s2_p1", "s2_p2",
56324aafd04SDmitry Baryshkov					   "s4_p1", "s4_p2",
56424aafd04SDmitry Baryshkov					   "s5_p1", "s5_p2";
565327c0f5fSStephan Gerhold			#qcom,sensors = <5>;
566327c0f5fSStephan Gerhold			interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>;
567327c0f5fSStephan Gerhold			interrupt-names = "uplow";
568327c0f5fSStephan Gerhold			#thermal-sensor-cells = <1>;
569366655c9SIvan T. Ivanov		};
570366655c9SIvan T. Ivanov
571366c3797SGeorgi Djakov		pcnoc: interconnect@500000 {
572366c3797SGeorgi Djakov			compatible = "qcom,msm8916-pcnoc";
573366c3797SGeorgi Djakov			reg = <0x00500000 0x11000>;
574366c3797SGeorgi Djakov			#interconnect-cells = <1>;
575366c3797SGeorgi Djakov		};
576366c3797SGeorgi Djakov
577366c3797SGeorgi Djakov		snoc: interconnect@580000 {
578366c3797SGeorgi Djakov			compatible = "qcom,msm8916-snoc";
579366c3797SGeorgi Djakov			reg = <0x00580000 0x14000>;
580366c3797SGeorgi Djakov			#interconnect-cells = <1>;
581366c3797SGeorgi Djakov		};
582366c3797SGeorgi Djakov
58398b43386SGeorgi Djakov		stm: stm@802000 {
58498b43386SGeorgi Djakov			compatible = "arm,coresight-stm", "arm,primecell";
58598b43386SGeorgi Djakov			reg = <0x00802000 0x1000>,
58698b43386SGeorgi Djakov			      <0x09280000 0x180000>;
58798b43386SGeorgi Djakov			reg-names = "stm-base", "stm-stimulus-base";
58898b43386SGeorgi Djakov
58998b43386SGeorgi Djakov			clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
59098b43386SGeorgi Djakov			clock-names = "apb_pclk", "atclk";
59198b43386SGeorgi Djakov
59298b43386SGeorgi Djakov			status = "disabled";
59398b43386SGeorgi Djakov
59498b43386SGeorgi Djakov			out-ports {
59598b43386SGeorgi Djakov				port {
59698b43386SGeorgi Djakov					stm_out: endpoint {
59798b43386SGeorgi Djakov						remote-endpoint = <&funnel0_in7>;
59898b43386SGeorgi Djakov					};
59998b43386SGeorgi Djakov				};
60098b43386SGeorgi Djakov			};
60198b43386SGeorgi Djakov		};
60298b43386SGeorgi Djakov
603327c0f5fSStephan Gerhold		/* System CTIs */
604327c0f5fSStephan Gerhold		/* CTI 0 - TMC connections */
605327c0f5fSStephan Gerhold		cti0: cti@810000 {
606327c0f5fSStephan Gerhold			compatible = "arm,coresight-cti", "arm,primecell";
607327c0f5fSStephan Gerhold			reg = <0x00810000 0x1000>;
60857f0a7eaSKumar Gala
609327c0f5fSStephan Gerhold			clocks = <&rpmcc RPM_QDSS_CLK>;
610327c0f5fSStephan Gerhold			clock-names = "apb_pclk";
61157f0a7eaSKumar Gala
6129f43020dSAndy Gross			status = "disabled";
6139f43020dSAndy Gross		};
6149f43020dSAndy Gross
615327c0f5fSStephan Gerhold		/* CTI 1 - TPIU connections */
616327c0f5fSStephan Gerhold		cti1: cti@811000 {
617327c0f5fSStephan Gerhold			compatible = "arm,coresight-cti", "arm,primecell";
618327c0f5fSStephan Gerhold			reg = <0x00811000 0x1000>;
619d0bf04acSGeorgi Djakov
620327c0f5fSStephan Gerhold			clocks = <&rpmcc RPM_QDSS_CLK>;
621327c0f5fSStephan Gerhold			clock-names = "apb_pclk";
6228fd55d41SAndy Gross
62357f0a7eaSKumar Gala			status = "disabled";
62457f0a7eaSKumar Gala		};
62557f0a7eaSKumar Gala
626327c0f5fSStephan Gerhold		/* CTIs 2-11 - no information - not instantiated */
6277c10da37SIvan T. Ivanov
6282329e5fbSStephan Gerhold		tpiu: tpiu@820000 {
6297c10da37SIvan T. Ivanov			compatible = "arm,coresight-tpiu", "arm,primecell";
6302e04aa29SStephan Gerhold			reg = <0x00820000 0x1000>;
6317c10da37SIvan T. Ivanov
6327c10da37SIvan T. Ivanov			clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
6337c10da37SIvan T. Ivanov			clock-names = "apb_pclk", "atclk";
6347c10da37SIvan T. Ivanov
635b3d6fd8fSMichael Srba			status = "disabled";
636b3d6fd8fSMichael Srba
63770a39be6SSuzuki K Poulose			in-ports {
6387c10da37SIvan T. Ivanov				port {
6397c10da37SIvan T. Ivanov					tpiu_in: endpoint {
6407c10da37SIvan T. Ivanov						remote-endpoint = <&replicator_out1>;
6417c10da37SIvan T. Ivanov					};
6427c10da37SIvan T. Ivanov				};
6437c10da37SIvan T. Ivanov			};
64470a39be6SSuzuki K Poulose		};
6457c10da37SIvan T. Ivanov
6462329e5fbSStephan Gerhold		funnel0: funnel@821000 {
647b422b03aSLeo Yan			compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
6482e04aa29SStephan Gerhold			reg = <0x00821000 0x1000>;
6497c10da37SIvan T. Ivanov
6507c10da37SIvan T. Ivanov			clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
6517c10da37SIvan T. Ivanov			clock-names = "apb_pclk", "atclk";
6527c10da37SIvan T. Ivanov
653b3d6fd8fSMichael Srba			status = "disabled";
654b3d6fd8fSMichael Srba
65570a39be6SSuzuki K Poulose			in-ports {
6567c10da37SIvan T. Ivanov				#address-cells = <1>;
6577c10da37SIvan T. Ivanov				#size-cells = <0>;
6587c10da37SIvan T. Ivanov
6597c10da37SIvan T. Ivanov				/*
6607c10da37SIvan T. Ivanov				 * Not described input ports:
6617c10da37SIvan T. Ivanov				 * 0 - connected to Resource and Power Manger CPU ETM
6627c10da37SIvan T. Ivanov				 * 1 - not-connected
6637c10da37SIvan T. Ivanov				 * 2 - connected to Modem CPU ETM
6647c10da37SIvan T. Ivanov				 * 3 - not-connected
6657c10da37SIvan T. Ivanov				 * 5 - not-connected
6667c10da37SIvan T. Ivanov				 * 6 - connected trought funnel to Wireless CPU ETM
6677c10da37SIvan T. Ivanov				 * 7 - connected to STM component
6687c10da37SIvan T. Ivanov				 */
6697c10da37SIvan T. Ivanov
6707c10da37SIvan T. Ivanov				port@4 {
6717c10da37SIvan T. Ivanov					reg = <4>;
6727c10da37SIvan T. Ivanov					funnel0_in4: endpoint {
6737c10da37SIvan T. Ivanov						remote-endpoint = <&funnel1_out>;
6747c10da37SIvan T. Ivanov					};
6757c10da37SIvan T. Ivanov				};
67698b43386SGeorgi Djakov
67798b43386SGeorgi Djakov				port@7 {
67898b43386SGeorgi Djakov					reg = <7>;
67998b43386SGeorgi Djakov					funnel0_in7: endpoint {
68098b43386SGeorgi Djakov						remote-endpoint = <&stm_out>;
68198b43386SGeorgi Djakov					};
68298b43386SGeorgi Djakov				};
68370a39be6SSuzuki K Poulose			};
68470a39be6SSuzuki K Poulose
68570a39be6SSuzuki K Poulose			out-ports {
68670a39be6SSuzuki K Poulose				port {
6877c10da37SIvan T. Ivanov					funnel0_out: endpoint {
6887c10da37SIvan T. Ivanov						remote-endpoint = <&etf_in>;
6897c10da37SIvan T. Ivanov					};
6907c10da37SIvan T. Ivanov				};
6917c10da37SIvan T. Ivanov			};
6927c10da37SIvan T. Ivanov		};
6937c10da37SIvan T. Ivanov
6942329e5fbSStephan Gerhold		replicator: replicator@824000 {
6958e0b0009SSuzuki K. Poulose			compatible = "arm,coresight-dynamic-replicator", "arm,primecell";
6962e04aa29SStephan Gerhold			reg = <0x00824000 0x1000>;
6977c10da37SIvan T. Ivanov
6987c10da37SIvan T. Ivanov			clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
6997c10da37SIvan T. Ivanov			clock-names = "apb_pclk", "atclk";
7007c10da37SIvan T. Ivanov
701b3d6fd8fSMichael Srba			status = "disabled";
702b3d6fd8fSMichael Srba
70370a39be6SSuzuki K Poulose			out-ports {
7047c10da37SIvan T. Ivanov				#address-cells = <1>;
7057c10da37SIvan T. Ivanov				#size-cells = <0>;
7067c10da37SIvan T. Ivanov
7077c10da37SIvan T. Ivanov				port@0 {
7087c10da37SIvan T. Ivanov					reg = <0>;
7097c10da37SIvan T. Ivanov					replicator_out0: endpoint {
7107c10da37SIvan T. Ivanov						remote-endpoint = <&etr_in>;
7117c10da37SIvan T. Ivanov					};
7127c10da37SIvan T. Ivanov				};
7137c10da37SIvan T. Ivanov				port@1 {
7147c10da37SIvan T. Ivanov					reg = <1>;
7157c10da37SIvan T. Ivanov					replicator_out1: endpoint {
7167c10da37SIvan T. Ivanov						remote-endpoint = <&tpiu_in>;
7177c10da37SIvan T. Ivanov					};
7187c10da37SIvan T. Ivanov				};
71970a39be6SSuzuki K Poulose			};
72070a39be6SSuzuki K Poulose
72170a39be6SSuzuki K Poulose			in-ports {
72270a39be6SSuzuki K Poulose				port {
7237c10da37SIvan T. Ivanov					replicator_in: endpoint {
7247c10da37SIvan T. Ivanov						remote-endpoint = <&etf_out>;
7257c10da37SIvan T. Ivanov					};
7267c10da37SIvan T. Ivanov				};
7277c10da37SIvan T. Ivanov			};
7287c10da37SIvan T. Ivanov		};
7297c10da37SIvan T. Ivanov
7302329e5fbSStephan Gerhold		etf: etf@825000 {
7317c10da37SIvan T. Ivanov			compatible = "arm,coresight-tmc", "arm,primecell";
7322e04aa29SStephan Gerhold			reg = <0x00825000 0x1000>;
7337c10da37SIvan T. Ivanov
7347c10da37SIvan T. Ivanov			clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
7357c10da37SIvan T. Ivanov			clock-names = "apb_pclk", "atclk";
7367c10da37SIvan T. Ivanov
737b3d6fd8fSMichael Srba			status = "disabled";
738b3d6fd8fSMichael Srba
73970a39be6SSuzuki K Poulose			in-ports {
74070a39be6SSuzuki K Poulose				port {
7416b4154a6SRob Herring					etf_in: endpoint {
7427c10da37SIvan T. Ivanov						remote-endpoint = <&funnel0_out>;
7437c10da37SIvan T. Ivanov					};
7447c10da37SIvan T. Ivanov				};
74570a39be6SSuzuki K Poulose			};
74670a39be6SSuzuki K Poulose
74770a39be6SSuzuki K Poulose			out-ports {
74870a39be6SSuzuki K Poulose				port {
7496b4154a6SRob Herring					etf_out: endpoint {
7507c10da37SIvan T. Ivanov						remote-endpoint = <&replicator_in>;
7517c10da37SIvan T. Ivanov					};
7527c10da37SIvan T. Ivanov				};
7537c10da37SIvan T. Ivanov			};
7547c10da37SIvan T. Ivanov		};
7557c10da37SIvan T. Ivanov
7562329e5fbSStephan Gerhold		etr: etr@826000 {
7577c10da37SIvan T. Ivanov			compatible = "arm,coresight-tmc", "arm,primecell";
7582e04aa29SStephan Gerhold			reg = <0x00826000 0x1000>;
7597c10da37SIvan T. Ivanov
7607c10da37SIvan T. Ivanov			clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
7617c10da37SIvan T. Ivanov			clock-names = "apb_pclk", "atclk";
7627c10da37SIvan T. Ivanov
763b3d6fd8fSMichael Srba			status = "disabled";
764b3d6fd8fSMichael Srba
76570a39be6SSuzuki K Poulose			in-ports {
7667c10da37SIvan T. Ivanov				port {
7677c10da37SIvan T. Ivanov					etr_in: endpoint {
7687c10da37SIvan T. Ivanov						remote-endpoint = <&replicator_out0>;
7697c10da37SIvan T. Ivanov					};
7707c10da37SIvan T. Ivanov				};
7717c10da37SIvan T. Ivanov			};
77270a39be6SSuzuki K Poulose		};
7737c10da37SIvan T. Ivanov
7742329e5fbSStephan Gerhold		funnel1: funnel@841000 {	/* APSS funnel only 4 inputs are used */
775b422b03aSLeo Yan			compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
7762e04aa29SStephan Gerhold			reg = <0x00841000 0x1000>;
7777c10da37SIvan T. Ivanov
7787c10da37SIvan T. Ivanov			clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
7797c10da37SIvan T. Ivanov			clock-names = "apb_pclk", "atclk";
7807c10da37SIvan T. Ivanov
781b3d6fd8fSMichael Srba			status = "disabled";
782b3d6fd8fSMichael Srba
78370a39be6SSuzuki K Poulose			in-ports {
7847c10da37SIvan T. Ivanov				#address-cells = <1>;
7857c10da37SIvan T. Ivanov				#size-cells = <0>;
7867c10da37SIvan T. Ivanov
7877c10da37SIvan T. Ivanov				port@0 {
7887c10da37SIvan T. Ivanov					reg = <0>;
7897c10da37SIvan T. Ivanov					funnel1_in0: endpoint {
7907c10da37SIvan T. Ivanov						remote-endpoint = <&etm0_out>;
7917c10da37SIvan T. Ivanov					};
7927c10da37SIvan T. Ivanov				};
7937c10da37SIvan T. Ivanov				port@1 {
7947c10da37SIvan T. Ivanov					reg = <1>;
7957c10da37SIvan T. Ivanov					funnel1_in1: endpoint {
7967c10da37SIvan T. Ivanov						remote-endpoint = <&etm1_out>;
7977c10da37SIvan T. Ivanov					};
7987c10da37SIvan T. Ivanov				};
7997c10da37SIvan T. Ivanov				port@2 {
8007c10da37SIvan T. Ivanov					reg = <2>;
8017c10da37SIvan T. Ivanov					funnel1_in2: endpoint {
8027c10da37SIvan T. Ivanov						remote-endpoint = <&etm2_out>;
8037c10da37SIvan T. Ivanov					};
8047c10da37SIvan T. Ivanov				};
8057c10da37SIvan T. Ivanov				port@3 {
8067c10da37SIvan T. Ivanov					reg = <3>;
8077c10da37SIvan T. Ivanov					funnel1_in3: endpoint {
8087c10da37SIvan T. Ivanov						remote-endpoint = <&etm3_out>;
8097c10da37SIvan T. Ivanov					};
8107c10da37SIvan T. Ivanov				};
81170a39be6SSuzuki K Poulose			};
81270a39be6SSuzuki K Poulose
81370a39be6SSuzuki K Poulose			out-ports {
81470a39be6SSuzuki K Poulose				port {
8157c10da37SIvan T. Ivanov					funnel1_out: endpoint {
8167c10da37SIvan T. Ivanov						remote-endpoint = <&funnel0_in4>;
8177c10da37SIvan T. Ivanov					};
8187c10da37SIvan T. Ivanov				};
8197c10da37SIvan T. Ivanov			};
8207c10da37SIvan T. Ivanov		};
8217c10da37SIvan T. Ivanov
8222329e5fbSStephan Gerhold		debug0: debug@850000 {
823248fa516SLeo Yan			compatible = "arm,coresight-cpu-debug", "arm,primecell";
8242e04aa29SStephan Gerhold			reg = <0x00850000 0x1000>;
825248fa516SLeo Yan			clocks = <&rpmcc RPM_QDSS_CLK>;
826248fa516SLeo Yan			clock-names = "apb_pclk";
8272df0741cSKrzysztof Kozlowski			cpu = <&cpu0>;
828b3d6fd8fSMichael Srba			status = "disabled";
829248fa516SLeo Yan		};
830248fa516SLeo Yan
8312329e5fbSStephan Gerhold		debug1: debug@852000 {
832248fa516SLeo Yan			compatible = "arm,coresight-cpu-debug", "arm,primecell";
8332e04aa29SStephan Gerhold			reg = <0x00852000 0x1000>;
834248fa516SLeo Yan			clocks = <&rpmcc RPM_QDSS_CLK>;
835248fa516SLeo Yan			clock-names = "apb_pclk";
8362df0741cSKrzysztof Kozlowski			cpu = <&cpu1>;
837b3d6fd8fSMichael Srba			status = "disabled";
838248fa516SLeo Yan		};
839248fa516SLeo Yan
8402329e5fbSStephan Gerhold		debug2: debug@854000 {
841248fa516SLeo Yan			compatible = "arm,coresight-cpu-debug", "arm,primecell";
8422e04aa29SStephan Gerhold			reg = <0x00854000 0x1000>;
843248fa516SLeo Yan			clocks = <&rpmcc RPM_QDSS_CLK>;
844248fa516SLeo Yan			clock-names = "apb_pclk";
8452df0741cSKrzysztof Kozlowski			cpu = <&cpu2>;
846b3d6fd8fSMichael Srba			status = "disabled";
847248fa516SLeo Yan		};
848248fa516SLeo Yan
8492329e5fbSStephan Gerhold		debug3: debug@856000 {
850248fa516SLeo Yan			compatible = "arm,coresight-cpu-debug", "arm,primecell";
8512e04aa29SStephan Gerhold			reg = <0x00856000 0x1000>;
852248fa516SLeo Yan			clocks = <&rpmcc RPM_QDSS_CLK>;
853248fa516SLeo Yan			clock-names = "apb_pclk";
8542df0741cSKrzysztof Kozlowski			cpu = <&cpu3>;
855b3d6fd8fSMichael Srba			status = "disabled";
856248fa516SLeo Yan		};
857248fa516SLeo Yan
858327c0f5fSStephan Gerhold		/* Core CTIs; CTIs 12-15 */
859327c0f5fSStephan Gerhold		/* CTI - CPU-0 */
860327c0f5fSStephan Gerhold		cti12: cti@858000 {
861327c0f5fSStephan Gerhold			compatible = "arm,coresight-cti-v8-arch", "arm,coresight-cti",
862327c0f5fSStephan Gerhold				     "arm,primecell";
863327c0f5fSStephan Gerhold			reg = <0x00858000 0x1000>;
864327c0f5fSStephan Gerhold
865327c0f5fSStephan Gerhold			clocks = <&rpmcc RPM_QDSS_CLK>;
866327c0f5fSStephan Gerhold			clock-names = "apb_pclk";
867327c0f5fSStephan Gerhold
8682df0741cSKrzysztof Kozlowski			cpu = <&cpu0>;
869327c0f5fSStephan Gerhold			arm,cs-dev-assoc = <&etm0>;
870327c0f5fSStephan Gerhold
871327c0f5fSStephan Gerhold			status = "disabled";
872327c0f5fSStephan Gerhold		};
873327c0f5fSStephan Gerhold
874327c0f5fSStephan Gerhold		/* CTI - CPU-1 */
875327c0f5fSStephan Gerhold		cti13: cti@859000 {
876327c0f5fSStephan Gerhold			compatible = "arm,coresight-cti-v8-arch", "arm,coresight-cti",
877327c0f5fSStephan Gerhold				     "arm,primecell";
878327c0f5fSStephan Gerhold			reg = <0x00859000 0x1000>;
879327c0f5fSStephan Gerhold
880327c0f5fSStephan Gerhold			clocks = <&rpmcc RPM_QDSS_CLK>;
881327c0f5fSStephan Gerhold			clock-names = "apb_pclk";
882327c0f5fSStephan Gerhold
8832df0741cSKrzysztof Kozlowski			cpu = <&cpu1>;
884327c0f5fSStephan Gerhold			arm,cs-dev-assoc = <&etm1>;
885327c0f5fSStephan Gerhold
886327c0f5fSStephan Gerhold			status = "disabled";
887327c0f5fSStephan Gerhold		};
888327c0f5fSStephan Gerhold
889327c0f5fSStephan Gerhold		/* CTI - CPU-2 */
890327c0f5fSStephan Gerhold		cti14: cti@85a000 {
891327c0f5fSStephan Gerhold			compatible = "arm,coresight-cti-v8-arch", "arm,coresight-cti",
892327c0f5fSStephan Gerhold				     "arm,primecell";
893327c0f5fSStephan Gerhold			reg = <0x0085a000 0x1000>;
894327c0f5fSStephan Gerhold
895327c0f5fSStephan Gerhold			clocks = <&rpmcc RPM_QDSS_CLK>;
896327c0f5fSStephan Gerhold			clock-names = "apb_pclk";
897327c0f5fSStephan Gerhold
8982df0741cSKrzysztof Kozlowski			cpu = <&cpu2>;
899327c0f5fSStephan Gerhold			arm,cs-dev-assoc = <&etm2>;
900327c0f5fSStephan Gerhold
901327c0f5fSStephan Gerhold			status = "disabled";
902327c0f5fSStephan Gerhold		};
903327c0f5fSStephan Gerhold
904327c0f5fSStephan Gerhold		/* CTI - CPU-3 */
905327c0f5fSStephan Gerhold		cti15: cti@85b000 {
906327c0f5fSStephan Gerhold			compatible = "arm,coresight-cti-v8-arch", "arm,coresight-cti",
907327c0f5fSStephan Gerhold				     "arm,primecell";
908327c0f5fSStephan Gerhold			reg = <0x0085b000 0x1000>;
909327c0f5fSStephan Gerhold
910327c0f5fSStephan Gerhold			clocks = <&rpmcc RPM_QDSS_CLK>;
911327c0f5fSStephan Gerhold			clock-names = "apb_pclk";
912327c0f5fSStephan Gerhold
9132df0741cSKrzysztof Kozlowski			cpu = <&cpu3>;
914327c0f5fSStephan Gerhold			arm,cs-dev-assoc = <&etm3>;
915327c0f5fSStephan Gerhold
916327c0f5fSStephan Gerhold			status = "disabled";
917327c0f5fSStephan Gerhold		};
918327c0f5fSStephan Gerhold
919b1fcc570SMike Leach		etm0: etm@85c000 {
9207c10da37SIvan T. Ivanov			compatible = "arm,coresight-etm4x", "arm,primecell";
9212e04aa29SStephan Gerhold			reg = <0x0085c000 0x1000>;
9227c10da37SIvan T. Ivanov
9237c10da37SIvan T. Ivanov			clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
9247c10da37SIvan T. Ivanov			clock-names = "apb_pclk", "atclk";
925ef71fdb2SMathieu Poirier			arm,coresight-loses-context-with-cpu;
9267c10da37SIvan T. Ivanov
9272df0741cSKrzysztof Kozlowski			cpu = <&cpu0>;
9287c10da37SIvan T. Ivanov
929b3d6fd8fSMichael Srba			status = "disabled";
930b3d6fd8fSMichael Srba
93170a39be6SSuzuki K Poulose			out-ports {
9327c10da37SIvan T. Ivanov				port {
9337c10da37SIvan T. Ivanov					etm0_out: endpoint {
9347c10da37SIvan T. Ivanov						remote-endpoint = <&funnel1_in0>;
9357c10da37SIvan T. Ivanov					};
9367c10da37SIvan T. Ivanov				};
9377c10da37SIvan T. Ivanov			};
93870a39be6SSuzuki K Poulose		};
9397c10da37SIvan T. Ivanov
940b1fcc570SMike Leach		etm1: etm@85d000 {
9417c10da37SIvan T. Ivanov			compatible = "arm,coresight-etm4x", "arm,primecell";
9422e04aa29SStephan Gerhold			reg = <0x0085d000 0x1000>;
9437c10da37SIvan T. Ivanov
9447c10da37SIvan T. Ivanov			clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
9457c10da37SIvan T. Ivanov			clock-names = "apb_pclk", "atclk";
946ef71fdb2SMathieu Poirier			arm,coresight-loses-context-with-cpu;
9477c10da37SIvan T. Ivanov
9482df0741cSKrzysztof Kozlowski			cpu = <&cpu1>;
9497c10da37SIvan T. Ivanov
950b3d6fd8fSMichael Srba			status = "disabled";
951b3d6fd8fSMichael Srba
95270a39be6SSuzuki K Poulose			out-ports {
9537c10da37SIvan T. Ivanov				port {
9547c10da37SIvan T. Ivanov					etm1_out: endpoint {
9557c10da37SIvan T. Ivanov						remote-endpoint = <&funnel1_in1>;
9567c10da37SIvan T. Ivanov					};
9577c10da37SIvan T. Ivanov				};
9587c10da37SIvan T. Ivanov			};
95970a39be6SSuzuki K Poulose		};
9607c10da37SIvan T. Ivanov
961b1fcc570SMike Leach		etm2: etm@85e000 {
9627c10da37SIvan T. Ivanov			compatible = "arm,coresight-etm4x", "arm,primecell";
9632e04aa29SStephan Gerhold			reg = <0x0085e000 0x1000>;
9647c10da37SIvan T. Ivanov
9657c10da37SIvan T. Ivanov			clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
9667c10da37SIvan T. Ivanov			clock-names = "apb_pclk", "atclk";
967ef71fdb2SMathieu Poirier			arm,coresight-loses-context-with-cpu;
9687c10da37SIvan T. Ivanov
9692df0741cSKrzysztof Kozlowski			cpu = <&cpu2>;
9707c10da37SIvan T. Ivanov
971b3d6fd8fSMichael Srba			status = "disabled";
972b3d6fd8fSMichael Srba
97370a39be6SSuzuki K Poulose			out-ports {
9747c10da37SIvan T. Ivanov				port {
9757c10da37SIvan T. Ivanov					etm2_out: endpoint {
9767c10da37SIvan T. Ivanov						remote-endpoint = <&funnel1_in2>;
9777c10da37SIvan T. Ivanov					};
9787c10da37SIvan T. Ivanov				};
9797c10da37SIvan T. Ivanov			};
98070a39be6SSuzuki K Poulose		};
9817c10da37SIvan T. Ivanov
982b1fcc570SMike Leach		etm3: etm@85f000 {
9837c10da37SIvan T. Ivanov			compatible = "arm,coresight-etm4x", "arm,primecell";
9842e04aa29SStephan Gerhold			reg = <0x0085f000 0x1000>;
9857c10da37SIvan T. Ivanov
9867c10da37SIvan T. Ivanov			clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
9877c10da37SIvan T. Ivanov			clock-names = "apb_pclk", "atclk";
988ef71fdb2SMathieu Poirier			arm,coresight-loses-context-with-cpu;
9897c10da37SIvan T. Ivanov
9902df0741cSKrzysztof Kozlowski			cpu = <&cpu3>;
9917c10da37SIvan T. Ivanov
992b3d6fd8fSMichael Srba			status = "disabled";
993b3d6fd8fSMichael Srba
99470a39be6SSuzuki K Poulose			out-ports {
9957c10da37SIvan T. Ivanov				port {
9967c10da37SIvan T. Ivanov					etm3_out: endpoint {
9977c10da37SIvan T. Ivanov						remote-endpoint = <&funnel1_in3>;
9987c10da37SIvan T. Ivanov					};
9997c10da37SIvan T. Ivanov				};
10007c10da37SIvan T. Ivanov			};
100170a39be6SSuzuki K Poulose		};
100216bd6c82SStanimir Varbanov
100341e22c2fSStephan Gerhold		tlmm: pinctrl@1000000 {
1004327c0f5fSStephan Gerhold			compatible = "qcom,msm8916-pinctrl";
1005327c0f5fSStephan Gerhold			reg = <0x01000000 0x300000>;
1006327c0f5fSStephan Gerhold			interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
1007327c0f5fSStephan Gerhold			gpio-controller;
100841e22c2fSStephan Gerhold			gpio-ranges = <&tlmm 0 0 122>;
1009327c0f5fSStephan Gerhold			#gpio-cells = <2>;
1010327c0f5fSStephan Gerhold			interrupt-controller;
1011327c0f5fSStephan Gerhold			#interrupt-cells = <2>;
10128734d335SStephan Gerhold
10138734d335SStephan Gerhold			blsp_i2c1_default: blsp-i2c1-default-state {
10148734d335SStephan Gerhold				pins = "gpio2", "gpio3";
10158734d335SStephan Gerhold				function = "blsp_i2c1";
10168734d335SStephan Gerhold				drive-strength = <2>;
10178734d335SStephan Gerhold				bias-disable;
10188734d335SStephan Gerhold			};
10198734d335SStephan Gerhold
10208734d335SStephan Gerhold			blsp_i2c1_sleep: blsp-i2c1-sleep-state {
10218734d335SStephan Gerhold				pins = "gpio2", "gpio3";
10228734d335SStephan Gerhold				function = "gpio";
10238734d335SStephan Gerhold				drive-strength = <2>;
10248734d335SStephan Gerhold				bias-disable;
10258734d335SStephan Gerhold			};
10268734d335SStephan Gerhold
10278734d335SStephan Gerhold			blsp_i2c2_default: blsp-i2c2-default-state {
10288734d335SStephan Gerhold				pins = "gpio6", "gpio7";
10298734d335SStephan Gerhold				function = "blsp_i2c2";
10308734d335SStephan Gerhold				drive-strength = <2>;
10318734d335SStephan Gerhold				bias-disable;
10328734d335SStephan Gerhold			};
10338734d335SStephan Gerhold
10348734d335SStephan Gerhold			blsp_i2c2_sleep: blsp-i2c2-sleep-state {
10358734d335SStephan Gerhold				pins = "gpio6", "gpio7";
10368734d335SStephan Gerhold				function = "gpio";
10378734d335SStephan Gerhold				drive-strength = <2>;
10388734d335SStephan Gerhold				bias-disable;
10398734d335SStephan Gerhold			};
10408734d335SStephan Gerhold
10418734d335SStephan Gerhold			blsp_i2c3_default: blsp-i2c3-default-state {
10428734d335SStephan Gerhold				pins = "gpio10", "gpio11";
10438734d335SStephan Gerhold				function = "blsp_i2c3";
10448734d335SStephan Gerhold				drive-strength = <2>;
10458734d335SStephan Gerhold				bias-disable;
10468734d335SStephan Gerhold			};
10478734d335SStephan Gerhold
10488734d335SStephan Gerhold			blsp_i2c3_sleep: blsp-i2c3-sleep-state {
10498734d335SStephan Gerhold				pins = "gpio10", "gpio11";
10508734d335SStephan Gerhold				function = "gpio";
10518734d335SStephan Gerhold				drive-strength = <2>;
10528734d335SStephan Gerhold				bias-disable;
10538734d335SStephan Gerhold			};
10548734d335SStephan Gerhold
10558734d335SStephan Gerhold			blsp_i2c4_default: blsp-i2c4-default-state {
10568734d335SStephan Gerhold				pins = "gpio14", "gpio15";
10578734d335SStephan Gerhold				function = "blsp_i2c4";
10588734d335SStephan Gerhold				drive-strength = <2>;
10598734d335SStephan Gerhold				bias-disable;
10608734d335SStephan Gerhold			};
10618734d335SStephan Gerhold
10628734d335SStephan Gerhold			blsp_i2c4_sleep: blsp-i2c4-sleep-state {
10638734d335SStephan Gerhold				pins = "gpio14", "gpio15";
10648734d335SStephan Gerhold				function = "gpio";
10658734d335SStephan Gerhold				drive-strength = <2>;
10668734d335SStephan Gerhold				bias-disable;
10678734d335SStephan Gerhold			};
10688734d335SStephan Gerhold
10698734d335SStephan Gerhold			blsp_i2c5_default: blsp-i2c5-default-state {
10708734d335SStephan Gerhold				pins = "gpio18", "gpio19";
10718734d335SStephan Gerhold				function = "blsp_i2c5";
10728734d335SStephan Gerhold				drive-strength = <2>;
10738734d335SStephan Gerhold				bias-disable;
10748734d335SStephan Gerhold			};
10758734d335SStephan Gerhold
10768734d335SStephan Gerhold			blsp_i2c5_sleep: blsp-i2c5-sleep-state {
10778734d335SStephan Gerhold				pins = "gpio18", "gpio19";
10788734d335SStephan Gerhold				function = "gpio";
10798734d335SStephan Gerhold				drive-strength = <2>;
10808734d335SStephan Gerhold				bias-disable;
10818734d335SStephan Gerhold			};
10828734d335SStephan Gerhold
10838734d335SStephan Gerhold			blsp_i2c6_default: blsp-i2c6-default-state {
10848734d335SStephan Gerhold				pins = "gpio22", "gpio23";
10858734d335SStephan Gerhold				function = "blsp_i2c6";
10868734d335SStephan Gerhold				drive-strength = <2>;
10878734d335SStephan Gerhold				bias-disable;
10888734d335SStephan Gerhold			};
10898734d335SStephan Gerhold
10908734d335SStephan Gerhold			blsp_i2c6_sleep: blsp-i2c6-sleep-state {
10918734d335SStephan Gerhold				pins = "gpio22", "gpio23";
10928734d335SStephan Gerhold				function = "gpio";
10938734d335SStephan Gerhold				drive-strength = <2>;
10948734d335SStephan Gerhold				bias-disable;
10958734d335SStephan Gerhold			};
10968734d335SStephan Gerhold
10978734d335SStephan Gerhold			blsp_spi1_default: blsp-spi1-default-state {
10988734d335SStephan Gerhold				spi-pins {
10998734d335SStephan Gerhold					pins = "gpio0", "gpio1", "gpio3";
11008734d335SStephan Gerhold					function = "blsp_spi1";
11018734d335SStephan Gerhold					drive-strength = <12>;
11028734d335SStephan Gerhold					bias-disable;
11038734d335SStephan Gerhold				};
11048734d335SStephan Gerhold				cs-pins {
11058734d335SStephan Gerhold					pins = "gpio2";
11068734d335SStephan Gerhold					function = "gpio";
11078734d335SStephan Gerhold					drive-strength = <16>;
11088734d335SStephan Gerhold					bias-disable;
11098734d335SStephan Gerhold					output-high;
11108734d335SStephan Gerhold				};
11118734d335SStephan Gerhold			};
11128734d335SStephan Gerhold
11138734d335SStephan Gerhold			blsp_spi1_sleep: blsp-spi1-sleep-state {
11148734d335SStephan Gerhold				pins = "gpio0", "gpio1", "gpio2", "gpio3";
11158734d335SStephan Gerhold				function = "gpio";
11168734d335SStephan Gerhold				drive-strength = <2>;
11178734d335SStephan Gerhold				bias-pull-down;
11188734d335SStephan Gerhold			};
11198734d335SStephan Gerhold
11208734d335SStephan Gerhold			blsp_spi2_default: blsp-spi2-default-state {
11218734d335SStephan Gerhold				spi-pins {
11228734d335SStephan Gerhold					pins = "gpio4", "gpio5", "gpio7";
11238734d335SStephan Gerhold					function = "blsp_spi2";
11248734d335SStephan Gerhold					drive-strength = <12>;
11258734d335SStephan Gerhold					bias-disable;
11268734d335SStephan Gerhold				};
11278734d335SStephan Gerhold				cs-pins {
11288734d335SStephan Gerhold					pins = "gpio6";
11298734d335SStephan Gerhold					function = "gpio";
11308734d335SStephan Gerhold					drive-strength = <16>;
11318734d335SStephan Gerhold					bias-disable;
11328734d335SStephan Gerhold					output-high;
11338734d335SStephan Gerhold				};
11348734d335SStephan Gerhold			};
11358734d335SStephan Gerhold
11368734d335SStephan Gerhold			blsp_spi2_sleep: blsp-spi2-sleep-state {
11378734d335SStephan Gerhold				pins = "gpio4", "gpio5", "gpio6", "gpio7";
11388734d335SStephan Gerhold				function = "gpio";
11398734d335SStephan Gerhold				drive-strength = <2>;
11408734d335SStephan Gerhold				bias-pull-down;
11418734d335SStephan Gerhold			};
11428734d335SStephan Gerhold
11438734d335SStephan Gerhold			blsp_spi3_default: blsp-spi3-default-state {
11448734d335SStephan Gerhold				spi-pins {
11458734d335SStephan Gerhold					pins = "gpio8", "gpio9", "gpio11";
11468734d335SStephan Gerhold					function = "blsp_spi3";
11478734d335SStephan Gerhold					drive-strength = <12>;
11488734d335SStephan Gerhold					bias-disable;
11498734d335SStephan Gerhold				};
11508734d335SStephan Gerhold				cs-pins {
11518734d335SStephan Gerhold					pins = "gpio10";
11528734d335SStephan Gerhold					function = "gpio";
11538734d335SStephan Gerhold					drive-strength = <16>;
11548734d335SStephan Gerhold					bias-disable;
11558734d335SStephan Gerhold					output-high;
11568734d335SStephan Gerhold				};
11578734d335SStephan Gerhold			};
11588734d335SStephan Gerhold
11598734d335SStephan Gerhold			blsp_spi3_sleep: blsp-spi3-sleep-state {
11608734d335SStephan Gerhold				pins = "gpio8", "gpio9", "gpio10", "gpio11";
11618734d335SStephan Gerhold				function = "gpio";
11628734d335SStephan Gerhold				drive-strength = <2>;
11638734d335SStephan Gerhold				bias-pull-down;
11648734d335SStephan Gerhold			};
11658734d335SStephan Gerhold
11668734d335SStephan Gerhold			blsp_spi4_default: blsp-spi4-default-state {
11678734d335SStephan Gerhold				spi-pins {
11688734d335SStephan Gerhold					pins = "gpio12", "gpio13", "gpio15";
11698734d335SStephan Gerhold					function = "blsp_spi4";
11708734d335SStephan Gerhold					drive-strength = <12>;
11718734d335SStephan Gerhold					bias-disable;
11728734d335SStephan Gerhold				};
11738734d335SStephan Gerhold				cs-pins {
11748734d335SStephan Gerhold					pins = "gpio14";
11758734d335SStephan Gerhold					function = "gpio";
11768734d335SStephan Gerhold					drive-strength = <16>;
11778734d335SStephan Gerhold					bias-disable;
11788734d335SStephan Gerhold					output-high;
11798734d335SStephan Gerhold				};
11808734d335SStephan Gerhold			};
11818734d335SStephan Gerhold
11828734d335SStephan Gerhold			blsp_spi4_sleep: blsp-spi4-sleep-state {
11838734d335SStephan Gerhold				pins = "gpio12", "gpio13", "gpio14", "gpio15";
11848734d335SStephan Gerhold				function = "gpio";
11858734d335SStephan Gerhold				drive-strength = <2>;
11868734d335SStephan Gerhold				bias-pull-down;
11878734d335SStephan Gerhold			};
11888734d335SStephan Gerhold
11898734d335SStephan Gerhold			blsp_spi5_default: blsp-spi5-default-state {
11908734d335SStephan Gerhold				spi-pins {
11918734d335SStephan Gerhold					pins = "gpio16", "gpio17", "gpio19";
11928734d335SStephan Gerhold					function = "blsp_spi5";
11938734d335SStephan Gerhold					drive-strength = <12>;
11948734d335SStephan Gerhold					bias-disable;
11958734d335SStephan Gerhold				};
11968734d335SStephan Gerhold				cs-pins {
11978734d335SStephan Gerhold					pins = "gpio18";
11988734d335SStephan Gerhold					function = "gpio";
11998734d335SStephan Gerhold					drive-strength = <16>;
12008734d335SStephan Gerhold					bias-disable;
12018734d335SStephan Gerhold					output-high;
12028734d335SStephan Gerhold				};
12038734d335SStephan Gerhold			};
12048734d335SStephan Gerhold
12058734d335SStephan Gerhold			blsp_spi5_sleep: blsp-spi5-sleep-state {
12068734d335SStephan Gerhold				pins = "gpio16", "gpio17", "gpio18", "gpio19";
12078734d335SStephan Gerhold				function = "gpio";
12088734d335SStephan Gerhold				drive-strength = <2>;
12098734d335SStephan Gerhold				bias-pull-down;
12108734d335SStephan Gerhold			};
12118734d335SStephan Gerhold
12128734d335SStephan Gerhold			blsp_spi6_default: blsp-spi6-default-state {
12138734d335SStephan Gerhold				spi-pins {
12148734d335SStephan Gerhold					pins = "gpio20", "gpio21", "gpio23";
12158734d335SStephan Gerhold					function = "blsp_spi6";
12168734d335SStephan Gerhold					drive-strength = <12>;
12178734d335SStephan Gerhold					bias-disable;
12188734d335SStephan Gerhold				};
12198734d335SStephan Gerhold				cs-pins {
12208734d335SStephan Gerhold					pins = "gpio22";
12218734d335SStephan Gerhold					function = "gpio";
12228734d335SStephan Gerhold					drive-strength = <16>;
12238734d335SStephan Gerhold					bias-disable;
12248734d335SStephan Gerhold					output-high;
12258734d335SStephan Gerhold				};
12268734d335SStephan Gerhold			};
12278734d335SStephan Gerhold
12288734d335SStephan Gerhold			blsp_spi6_sleep: blsp-spi6-sleep-state {
12298734d335SStephan Gerhold				pins = "gpio20", "gpio21", "gpio22", "gpio23";
12308734d335SStephan Gerhold				function = "gpio";
12318734d335SStephan Gerhold				drive-strength = <2>;
12328734d335SStephan Gerhold				bias-pull-down;
12338734d335SStephan Gerhold			};
12348734d335SStephan Gerhold
12355c0c8b7aSStephan Gerhold			blsp_uart1_console_default: blsp-uart1-console-default-state {
12365c0c8b7aSStephan Gerhold				tx-pins {
12375c0c8b7aSStephan Gerhold					pins = "gpio0";
12385c0c8b7aSStephan Gerhold					function = "blsp_uart1";
12395c0c8b7aSStephan Gerhold					drive-strength = <16>;
12405c0c8b7aSStephan Gerhold					bias-disable;
12415c0c8b7aSStephan Gerhold					bootph-all;
12425c0c8b7aSStephan Gerhold				};
12435c0c8b7aSStephan Gerhold
12445c0c8b7aSStephan Gerhold				rx-pins {
12455c0c8b7aSStephan Gerhold					pins = "gpio1";
12465c0c8b7aSStephan Gerhold					function = "blsp_uart1";
12475c0c8b7aSStephan Gerhold					drive-strength = <16>;
12485c0c8b7aSStephan Gerhold					bias-pull-up;
12495c0c8b7aSStephan Gerhold					bootph-all;
12505c0c8b7aSStephan Gerhold				};
12515c0c8b7aSStephan Gerhold			};
12525c0c8b7aSStephan Gerhold
12535c0c8b7aSStephan Gerhold			blsp_uart1_console_sleep: blsp-uart1-console-sleep-state {
12545c0c8b7aSStephan Gerhold				pins = "gpio0", "gpio1";
12555c0c8b7aSStephan Gerhold				function = "gpio";
12565c0c8b7aSStephan Gerhold				drive-strength = <2>;
12575c0c8b7aSStephan Gerhold				bias-pull-down;
12585c0c8b7aSStephan Gerhold			};
12595c0c8b7aSStephan Gerhold
12605c0c8b7aSStephan Gerhold			blsp_uart2_console_default: blsp-uart2-console-default-state {
12615c0c8b7aSStephan Gerhold				tx-pins {
12625c0c8b7aSStephan Gerhold					pins = "gpio4";
12635c0c8b7aSStephan Gerhold					function = "blsp_uart2";
12645c0c8b7aSStephan Gerhold					drive-strength = <16>;
12655c0c8b7aSStephan Gerhold					bias-disable;
12665c0c8b7aSStephan Gerhold					bootph-all;
12675c0c8b7aSStephan Gerhold				};
12685c0c8b7aSStephan Gerhold
12695c0c8b7aSStephan Gerhold				rx-pins {
12705c0c8b7aSStephan Gerhold					pins = "gpio5";
12715c0c8b7aSStephan Gerhold					function = "blsp_uart2";
12725c0c8b7aSStephan Gerhold					drive-strength = <16>;
12735c0c8b7aSStephan Gerhold					bias-pull-up;
12745c0c8b7aSStephan Gerhold					bootph-all;
12755c0c8b7aSStephan Gerhold				};
12765c0c8b7aSStephan Gerhold			};
12775c0c8b7aSStephan Gerhold
1278*979b65d8SStephan Gerhold			blsp_uart2_console_sleep: blsp-uart2-console-sleep-state {
12798734d335SStephan Gerhold				pins = "gpio4", "gpio5";
12808734d335SStephan Gerhold				function = "gpio";
12818734d335SStephan Gerhold				drive-strength = <2>;
12828734d335SStephan Gerhold				bias-pull-down;
12838734d335SStephan Gerhold			};
12848734d335SStephan Gerhold
12858734d335SStephan Gerhold			camera_front_default: camera-front-default-state {
12868734d335SStephan Gerhold				pwdn-pins {
12878734d335SStephan Gerhold					pins = "gpio33";
12888734d335SStephan Gerhold					function = "gpio";
12898734d335SStephan Gerhold					drive-strength = <16>;
12908734d335SStephan Gerhold					bias-disable;
12918734d335SStephan Gerhold				};
12928734d335SStephan Gerhold				rst-pins {
12938734d335SStephan Gerhold					pins = "gpio28";
12948734d335SStephan Gerhold					function = "gpio";
12958734d335SStephan Gerhold					drive-strength = <16>;
12968734d335SStephan Gerhold					bias-disable;
12978734d335SStephan Gerhold				};
12988734d335SStephan Gerhold				mclk1-pins {
12998734d335SStephan Gerhold					pins = "gpio27";
13008734d335SStephan Gerhold					function = "cam_mclk1";
13018734d335SStephan Gerhold					drive-strength = <16>;
13028734d335SStephan Gerhold					bias-disable;
13038734d335SStephan Gerhold				};
13048734d335SStephan Gerhold			};
13058734d335SStephan Gerhold
13068734d335SStephan Gerhold			camera_rear_default: camera-rear-default-state {
13078734d335SStephan Gerhold				pwdn-pins {
13088734d335SStephan Gerhold					pins = "gpio34";
13098734d335SStephan Gerhold					function = "gpio";
13108734d335SStephan Gerhold					drive-strength = <16>;
13118734d335SStephan Gerhold					bias-disable;
13128734d335SStephan Gerhold				};
13138734d335SStephan Gerhold				rst-pins {
13148734d335SStephan Gerhold					pins = "gpio35";
13158734d335SStephan Gerhold					function = "gpio";
13168734d335SStephan Gerhold					drive-strength = <16>;
13178734d335SStephan Gerhold					bias-disable;
13188734d335SStephan Gerhold				};
13198734d335SStephan Gerhold				mclk0-pins {
13208734d335SStephan Gerhold					pins = "gpio26";
13218734d335SStephan Gerhold					function = "cam_mclk0";
13228734d335SStephan Gerhold					drive-strength = <16>;
13238734d335SStephan Gerhold					bias-disable;
13248734d335SStephan Gerhold				};
13258734d335SStephan Gerhold			};
13268734d335SStephan Gerhold
13278734d335SStephan Gerhold			cci0_default: cci0-default-state {
13288734d335SStephan Gerhold				pins = "gpio29", "gpio30";
13298734d335SStephan Gerhold				function = "cci_i2c";
13308734d335SStephan Gerhold				drive-strength = <16>;
13318734d335SStephan Gerhold				bias-disable;
13328734d335SStephan Gerhold			};
13338734d335SStephan Gerhold
13348734d335SStephan Gerhold			cdc_dmic_default: cdc-dmic-default-state {
13358734d335SStephan Gerhold				clk-pins {
13368734d335SStephan Gerhold					pins = "gpio0";
13378734d335SStephan Gerhold					function = "dmic0_clk";
13388734d335SStephan Gerhold					drive-strength = <8>;
13398734d335SStephan Gerhold				};
13408734d335SStephan Gerhold				data-pins {
13418734d335SStephan Gerhold					pins = "gpio1";
13428734d335SStephan Gerhold					function = "dmic0_data";
13438734d335SStephan Gerhold					drive-strength = <8>;
13448734d335SStephan Gerhold				};
13458734d335SStephan Gerhold			};
13468734d335SStephan Gerhold
13478734d335SStephan Gerhold			cdc_dmic_sleep: cdc-dmic-sleep-state {
13488734d335SStephan Gerhold				clk-pins {
13498734d335SStephan Gerhold					pins = "gpio0";
13508734d335SStephan Gerhold					function = "dmic0_clk";
13518734d335SStephan Gerhold					drive-strength = <2>;
13528734d335SStephan Gerhold					bias-disable;
13538734d335SStephan Gerhold				};
13548734d335SStephan Gerhold				data-pins {
13558734d335SStephan Gerhold					pins = "gpio1";
13568734d335SStephan Gerhold					function = "dmic0_data";
13578734d335SStephan Gerhold					drive-strength = <2>;
13588734d335SStephan Gerhold					bias-disable;
13598734d335SStephan Gerhold				};
13608734d335SStephan Gerhold			};
13618734d335SStephan Gerhold
13628734d335SStephan Gerhold			cdc_pdm_default: cdc-pdm-default-state {
13638734d335SStephan Gerhold				pins = "gpio63", "gpio64", "gpio65", "gpio66",
13648734d335SStephan Gerhold				       "gpio67", "gpio68";
13658734d335SStephan Gerhold				function = "cdc_pdm0";
13668734d335SStephan Gerhold				drive-strength = <8>;
13678734d335SStephan Gerhold				bias-disable;
13688734d335SStephan Gerhold			};
13698734d335SStephan Gerhold
13708734d335SStephan Gerhold			cdc_pdm_sleep: cdc-pdm-sleep-state {
13718734d335SStephan Gerhold				pins = "gpio63", "gpio64", "gpio65", "gpio66",
13728734d335SStephan Gerhold				       "gpio67", "gpio68";
13738734d335SStephan Gerhold				function = "cdc_pdm0";
13748734d335SStephan Gerhold				drive-strength = <2>;
13758734d335SStephan Gerhold				bias-pull-down;
13768734d335SStephan Gerhold			};
13778734d335SStephan Gerhold
13788734d335SStephan Gerhold			pri_mi2s_default: mi2s-pri-default-state {
13798734d335SStephan Gerhold				pins = "gpio113", "gpio114", "gpio115", "gpio116";
13808734d335SStephan Gerhold				function = "pri_mi2s";
13818734d335SStephan Gerhold				drive-strength = <8>;
13828734d335SStephan Gerhold				bias-disable;
13838734d335SStephan Gerhold			};
13848734d335SStephan Gerhold
13858734d335SStephan Gerhold			pri_mi2s_sleep: mi2s-pri-sleep-state {
13868734d335SStephan Gerhold				pins = "gpio113", "gpio114", "gpio115", "gpio116";
13878734d335SStephan Gerhold				function = "pri_mi2s";
13888734d335SStephan Gerhold				drive-strength = <2>;
13898734d335SStephan Gerhold				bias-disable;
13908734d335SStephan Gerhold			};
13918734d335SStephan Gerhold
13928734d335SStephan Gerhold			pri_mi2s_mclk_default: mi2s-pri-mclk-default-state {
13938734d335SStephan Gerhold				pins = "gpio116";
13948734d335SStephan Gerhold				function = "pri_mi2s";
13958734d335SStephan Gerhold				drive-strength = <8>;
13968734d335SStephan Gerhold				bias-disable;
13978734d335SStephan Gerhold			};
13988734d335SStephan Gerhold
13998734d335SStephan Gerhold			pri_mi2s_mclk_sleep: mi2s-pri-mclk-sleep-state {
14008734d335SStephan Gerhold				pins = "gpio116";
14018734d335SStephan Gerhold				function = "pri_mi2s";
14028734d335SStephan Gerhold				drive-strength = <2>;
14038734d335SStephan Gerhold				bias-disable;
14048734d335SStephan Gerhold			};
14058734d335SStephan Gerhold
14068734d335SStephan Gerhold			pri_mi2s_ws_default: mi2s-pri-ws-default-state {
14078734d335SStephan Gerhold				pins = "gpio110";
14088734d335SStephan Gerhold				function = "pri_mi2s_ws";
14098734d335SStephan Gerhold				drive-strength = <8>;
14108734d335SStephan Gerhold				bias-disable;
14118734d335SStephan Gerhold			};
14128734d335SStephan Gerhold
14138734d335SStephan Gerhold			pri_mi2s_ws_sleep: mi2s-pri-ws-sleep-state {
14148734d335SStephan Gerhold				pins = "gpio110";
14158734d335SStephan Gerhold				function = "pri_mi2s_ws";
14168734d335SStephan Gerhold				drive-strength = <2>;
14178734d335SStephan Gerhold				bias-disable;
14188734d335SStephan Gerhold			};
14198734d335SStephan Gerhold
14208734d335SStephan Gerhold			sec_mi2s_default: mi2s-sec-default-state {
14218734d335SStephan Gerhold				pins = "gpio112", "gpio117", "gpio118", "gpio119";
14228734d335SStephan Gerhold				function = "sec_mi2s";
14238734d335SStephan Gerhold				drive-strength = <8>;
14248734d335SStephan Gerhold				bias-disable;
14258734d335SStephan Gerhold			};
14268734d335SStephan Gerhold
14278734d335SStephan Gerhold			sec_mi2s_sleep: mi2s-sec-sleep-state {
14288734d335SStephan Gerhold				pins = "gpio112", "gpio117", "gpio118", "gpio119";
14298734d335SStephan Gerhold				function = "sec_mi2s";
14308734d335SStephan Gerhold				drive-strength = <2>;
14318734d335SStephan Gerhold				bias-disable;
14328734d335SStephan Gerhold			};
14338734d335SStephan Gerhold
14348734d335SStephan Gerhold			sdc1_default: sdc1-default-state {
14358734d335SStephan Gerhold				clk-pins {
14368734d335SStephan Gerhold					pins = "sdc1_clk";
14378734d335SStephan Gerhold					bias-disable;
14388734d335SStephan Gerhold					drive-strength = <16>;
14398734d335SStephan Gerhold				};
14408734d335SStephan Gerhold				cmd-pins {
14418734d335SStephan Gerhold					pins = "sdc1_cmd";
14428734d335SStephan Gerhold					bias-pull-up;
14438734d335SStephan Gerhold					drive-strength = <10>;
14448734d335SStephan Gerhold				};
14458734d335SStephan Gerhold				data-pins {
14468734d335SStephan Gerhold					pins = "sdc1_data";
14478734d335SStephan Gerhold					bias-pull-up;
14488734d335SStephan Gerhold					drive-strength = <10>;
14498734d335SStephan Gerhold				};
14508734d335SStephan Gerhold			};
14518734d335SStephan Gerhold
14528734d335SStephan Gerhold			sdc1_sleep: sdc1-sleep-state {
14538734d335SStephan Gerhold				clk-pins {
14548734d335SStephan Gerhold					pins = "sdc1_clk";
14558734d335SStephan Gerhold					bias-disable;
14568734d335SStephan Gerhold					drive-strength = <2>;
14578734d335SStephan Gerhold				};
14588734d335SStephan Gerhold				cmd-pins {
14598734d335SStephan Gerhold					pins = "sdc1_cmd";
14608734d335SStephan Gerhold					bias-pull-up;
14618734d335SStephan Gerhold					drive-strength = <2>;
14628734d335SStephan Gerhold				};
14638734d335SStephan Gerhold				data-pins {
14648734d335SStephan Gerhold					pins = "sdc1_data";
14658734d335SStephan Gerhold					bias-pull-up;
14668734d335SStephan Gerhold					drive-strength = <2>;
14678734d335SStephan Gerhold				};
14688734d335SStephan Gerhold			};
14698734d335SStephan Gerhold
14708734d335SStephan Gerhold			sdc2_default: sdc2-default-state {
14718734d335SStephan Gerhold				clk-pins {
14728734d335SStephan Gerhold					pins = "sdc2_clk";
14738734d335SStephan Gerhold					bias-disable;
14748734d335SStephan Gerhold					drive-strength = <16>;
14758734d335SStephan Gerhold				};
14768734d335SStephan Gerhold				cmd-pins {
14778734d335SStephan Gerhold					pins = "sdc2_cmd";
14788734d335SStephan Gerhold					bias-pull-up;
14798734d335SStephan Gerhold					drive-strength = <10>;
14808734d335SStephan Gerhold				};
14818734d335SStephan Gerhold				data-pins {
14828734d335SStephan Gerhold					pins = "sdc2_data";
14838734d335SStephan Gerhold					bias-pull-up;
14848734d335SStephan Gerhold					drive-strength = <10>;
14858734d335SStephan Gerhold				};
14868734d335SStephan Gerhold			};
14878734d335SStephan Gerhold
14888734d335SStephan Gerhold			sdc2_sleep: sdc2-sleep-state {
14898734d335SStephan Gerhold				clk-pins {
14908734d335SStephan Gerhold					pins = "sdc2_clk";
14918734d335SStephan Gerhold					bias-disable;
14928734d335SStephan Gerhold					drive-strength = <2>;
14938734d335SStephan Gerhold				};
14948734d335SStephan Gerhold				cmd-pins {
14958734d335SStephan Gerhold					pins = "sdc2_cmd";
14968734d335SStephan Gerhold					bias-pull-up;
14978734d335SStephan Gerhold					drive-strength = <2>;
14988734d335SStephan Gerhold				};
14998734d335SStephan Gerhold				data-pins {
15008734d335SStephan Gerhold					pins = "sdc2_data";
15018734d335SStephan Gerhold					bias-pull-up;
15028734d335SStephan Gerhold					drive-strength = <2>;
15038734d335SStephan Gerhold				};
15048734d335SStephan Gerhold			};
15058734d335SStephan Gerhold
15068734d335SStephan Gerhold			wcss_wlan_default: wcss-wlan-default-state {
15078734d335SStephan Gerhold				pins = "gpio40", "gpio41", "gpio42", "gpio43", "gpio44";
15088734d335SStephan Gerhold				function = "wcss_wlan";
15098734d335SStephan Gerhold				drive-strength = <6>;
15108734d335SStephan Gerhold				bias-pull-up;
15118734d335SStephan Gerhold			};
1512b1fcc570SMike Leach		};
1513b1fcc570SMike Leach
1514327c0f5fSStephan Gerhold		gcc: clock-controller@1800000 {
1515327c0f5fSStephan Gerhold			compatible = "qcom,gcc-msm8916";
1516327c0f5fSStephan Gerhold			#clock-cells = <1>;
1517327c0f5fSStephan Gerhold			#reset-cells = <1>;
1518327c0f5fSStephan Gerhold			#power-domain-cells = <1>;
1519327c0f5fSStephan Gerhold			reg = <0x01800000 0x80000>;
15208373f5d5SDmitry Baryshkov			clocks = <&xo_board>,
15218373f5d5SDmitry Baryshkov				 <&sleep_clk>,
1522651af46fSKrzysztof Kozlowski				 <&mdss_dsi0_phy DSI_PIXEL_PLL_CLK>,
1523651af46fSKrzysztof Kozlowski				 <&mdss_dsi0_phy DSI_BYTE_PLL_CLK>,
15248373f5d5SDmitry Baryshkov				 <0>,
15258373f5d5SDmitry Baryshkov				 <0>,
15268373f5d5SDmitry Baryshkov				 <0>;
15278373f5d5SDmitry Baryshkov			clock-names = "xo",
15288373f5d5SDmitry Baryshkov				      "sleep_clk",
15298373f5d5SDmitry Baryshkov				      "dsi0pll",
15308373f5d5SDmitry Baryshkov				      "dsi0pllbyte",
15318373f5d5SDmitry Baryshkov				      "ext_mclk",
15328373f5d5SDmitry Baryshkov				      "ext_pri_i2s",
15338373f5d5SDmitry Baryshkov				      "ext_sec_i2s";
1534b1fcc570SMike Leach		};
1535b1fcc570SMike Leach
1536327c0f5fSStephan Gerhold		tcsr_mutex: hwlock@1905000 {
1537327c0f5fSStephan Gerhold			compatible = "qcom,tcsr-mutex";
1538327c0f5fSStephan Gerhold			reg = <0x01905000 0x20000>;
1539327c0f5fSStephan Gerhold			#hwlock-cells = <1>;
1540b1fcc570SMike Leach		};
1541b1fcc570SMike Leach
1542327c0f5fSStephan Gerhold		tcsr: syscon@1937000 {
1543327c0f5fSStephan Gerhold			compatible = "qcom,tcsr-msm8916", "syscon";
1544327c0f5fSStephan Gerhold			reg = <0x01937000 0x30000>;
1545b1fcc570SMike Leach		};
1546b1fcc570SMike Leach
1547ecf0f5ffSDmitry Baryshkov		mdss: display-subsystem@1a00000 {
15485f36d633SVincent Knecht			status = "disabled";
1549327c0f5fSStephan Gerhold			compatible = "qcom,mdss";
1550327c0f5fSStephan Gerhold			reg = <0x01a00000 0x1000>,
1551327c0f5fSStephan Gerhold			      <0x01ac8000 0x3000>;
1552327c0f5fSStephan Gerhold			reg-names = "mdss_phys", "vbif_phys";
1553b1fcc570SMike Leach
1554327c0f5fSStephan Gerhold			power-domains = <&gcc MDSS_GDSC>;
1555b1fcc570SMike Leach
1556327c0f5fSStephan Gerhold			clocks = <&gcc GCC_MDSS_AHB_CLK>,
1557327c0f5fSStephan Gerhold				 <&gcc GCC_MDSS_AXI_CLK>,
1558327c0f5fSStephan Gerhold				 <&gcc GCC_MDSS_VSYNC_CLK>;
1559327c0f5fSStephan Gerhold			clock-names = "iface",
1560327c0f5fSStephan Gerhold				      "bus",
1561327c0f5fSStephan Gerhold				      "vsync";
1562b3d6fd8fSMichael Srba
1563327c0f5fSStephan Gerhold			interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
1564327c0f5fSStephan Gerhold
1565327c0f5fSStephan Gerhold			interrupt-controller;
1566327c0f5fSStephan Gerhold			#interrupt-cells = <1>;
1567327c0f5fSStephan Gerhold
1568327c0f5fSStephan Gerhold			#address-cells = <1>;
1569327c0f5fSStephan Gerhold			#size-cells = <1>;
1570327c0f5fSStephan Gerhold			ranges;
1571327c0f5fSStephan Gerhold
1572835f9395SStephan Gerhold			mdss_mdp: display-controller@1a01000 {
1573d46fbd45SDmitry Baryshkov				compatible = "qcom,msm8916-mdp5", "qcom,mdp5";
1574327c0f5fSStephan Gerhold				reg = <0x01a01000 0x89000>;
1575327c0f5fSStephan Gerhold				reg-names = "mdp_phys";
1576327c0f5fSStephan Gerhold
1577327c0f5fSStephan Gerhold				interrupt-parent = <&mdss>;
1578327c0f5fSStephan Gerhold				interrupts = <0>;
1579327c0f5fSStephan Gerhold
1580327c0f5fSStephan Gerhold				clocks = <&gcc GCC_MDSS_AHB_CLK>,
1581327c0f5fSStephan Gerhold					 <&gcc GCC_MDSS_AXI_CLK>,
1582327c0f5fSStephan Gerhold					 <&gcc GCC_MDSS_MDP_CLK>,
1583327c0f5fSStephan Gerhold					 <&gcc GCC_MDSS_VSYNC_CLK>;
1584327c0f5fSStephan Gerhold				clock-names = "iface",
1585327c0f5fSStephan Gerhold					      "bus",
1586327c0f5fSStephan Gerhold					      "core",
1587327c0f5fSStephan Gerhold					      "vsync";
1588327c0f5fSStephan Gerhold
1589327c0f5fSStephan Gerhold				iommus = <&apps_iommu 4>;
1590327c0f5fSStephan Gerhold
1591327c0f5fSStephan Gerhold				ports {
1592327c0f5fSStephan Gerhold					#address-cells = <1>;
1593327c0f5fSStephan Gerhold					#size-cells = <0>;
1594327c0f5fSStephan Gerhold
1595327c0f5fSStephan Gerhold					port@0 {
1596327c0f5fSStephan Gerhold						reg = <0>;
1597835f9395SStephan Gerhold						mdss_mdp_intf1_out: endpoint {
1598835f9395SStephan Gerhold							remote-endpoint = <&mdss_dsi0_in>;
1599327c0f5fSStephan Gerhold						};
1600327c0f5fSStephan Gerhold					};
1601327c0f5fSStephan Gerhold				};
1602b1fcc570SMike Leach			};
1603b1fcc570SMike Leach
1604835f9395SStephan Gerhold			mdss_dsi0: dsi@1a98000 {
1605cd8cecc7SBryan O'Donoghue				compatible = "qcom,msm8916-dsi-ctrl",
1606cd8cecc7SBryan O'Donoghue					     "qcom,mdss-dsi-ctrl";
1607327c0f5fSStephan Gerhold				reg = <0x01a98000 0x25c>;
1608327c0f5fSStephan Gerhold				reg-names = "dsi_ctrl";
1609b1fcc570SMike Leach
1610327c0f5fSStephan Gerhold				interrupt-parent = <&mdss>;
1611327c0f5fSStephan Gerhold				interrupts = <4>;
1612b1fcc570SMike Leach
1613327c0f5fSStephan Gerhold				assigned-clocks = <&gcc BYTE0_CLK_SRC>,
1614327c0f5fSStephan Gerhold						  <&gcc PCLK0_CLK_SRC>;
1615651af46fSKrzysztof Kozlowski				assigned-clock-parents = <&mdss_dsi0_phy DSI_BYTE_PLL_CLK>,
1616651af46fSKrzysztof Kozlowski							 <&mdss_dsi0_phy DSI_PIXEL_PLL_CLK>;
1617b3d6fd8fSMichael Srba
1618327c0f5fSStephan Gerhold				clocks = <&gcc GCC_MDSS_MDP_CLK>,
1619327c0f5fSStephan Gerhold					 <&gcc GCC_MDSS_AHB_CLK>,
1620327c0f5fSStephan Gerhold					 <&gcc GCC_MDSS_AXI_CLK>,
1621327c0f5fSStephan Gerhold					 <&gcc GCC_MDSS_BYTE0_CLK>,
1622327c0f5fSStephan Gerhold					 <&gcc GCC_MDSS_PCLK0_CLK>,
1623327c0f5fSStephan Gerhold					 <&gcc GCC_MDSS_ESC0_CLK>;
1624327c0f5fSStephan Gerhold				clock-names = "mdp_core",
1625327c0f5fSStephan Gerhold					      "iface",
1626327c0f5fSStephan Gerhold					      "bus",
1627327c0f5fSStephan Gerhold					      "byte",
1628327c0f5fSStephan Gerhold					      "pixel",
1629327c0f5fSStephan Gerhold					      "core";
1630835f9395SStephan Gerhold				phys = <&mdss_dsi0_phy>;
1631327c0f5fSStephan Gerhold
1632327c0f5fSStephan Gerhold				#address-cells = <1>;
1633327c0f5fSStephan Gerhold				#size-cells = <0>;
1634327c0f5fSStephan Gerhold
1635327c0f5fSStephan Gerhold				ports {
1636327c0f5fSStephan Gerhold					#address-cells = <1>;
1637327c0f5fSStephan Gerhold					#size-cells = <0>;
1638327c0f5fSStephan Gerhold
1639327c0f5fSStephan Gerhold					port@0 {
1640327c0f5fSStephan Gerhold						reg = <0>;
1641835f9395SStephan Gerhold						mdss_dsi0_in: endpoint {
1642835f9395SStephan Gerhold							remote-endpoint = <&mdss_mdp_intf1_out>;
1643327c0f5fSStephan Gerhold						};
1644b1fcc570SMike Leach					};
1645b1fcc570SMike Leach
1646327c0f5fSStephan Gerhold					port@1 {
1647327c0f5fSStephan Gerhold						reg = <1>;
1648835f9395SStephan Gerhold						mdss_dsi0_out: endpoint {
1649327c0f5fSStephan Gerhold						};
1650327c0f5fSStephan Gerhold					};
1651327c0f5fSStephan Gerhold				};
165216bd6c82SStanimir Varbanov			};
165316bd6c82SStanimir Varbanov
1654835f9395SStephan Gerhold			mdss_dsi0_phy: phy@1a98300 {
1655327c0f5fSStephan Gerhold				compatible = "qcom,dsi-phy-28nm-lp";
1656327c0f5fSStephan Gerhold				reg = <0x01a98300 0xd4>,
1657327c0f5fSStephan Gerhold				      <0x01a98500 0x280>,
1658327c0f5fSStephan Gerhold				      <0x01a98780 0x30>;
1659327c0f5fSStephan Gerhold				reg-names = "dsi_pll",
1660327c0f5fSStephan Gerhold					    "dsi_phy",
1661327c0f5fSStephan Gerhold					    "dsi_phy_regulator";
1662327c0f5fSStephan Gerhold
1663327c0f5fSStephan Gerhold				#clock-cells = <1>;
1664327c0f5fSStephan Gerhold				#phy-cells = <0>;
1665327c0f5fSStephan Gerhold
1666327c0f5fSStephan Gerhold				clocks = <&gcc GCC_MDSS_AHB_CLK>,
1667327c0f5fSStephan Gerhold					 <&xo_board>;
1668327c0f5fSStephan Gerhold				clock-names = "iface", "ref";
166916bd6c82SStanimir Varbanov			};
167016bd6c82SStanimir Varbanov		};
167158f479f9STodor Tomov
167248798d99SKrzysztof Kozlowski		camss: camss@1b0ac00 {
167358f479f9STodor Tomov			compatible = "qcom,msm8916-camss";
16742e04aa29SStephan Gerhold			reg = <0x01b0ac00 0x200>,
16752e04aa29SStephan Gerhold				<0x01b00030 0x4>,
16762e04aa29SStephan Gerhold				<0x01b0b000 0x200>,
16772e04aa29SStephan Gerhold				<0x01b00038 0x4>,
16782e04aa29SStephan Gerhold				<0x01b08000 0x100>,
16792e04aa29SStephan Gerhold				<0x01b08400 0x100>,
16802e04aa29SStephan Gerhold				<0x01b0a000 0x500>,
16812e04aa29SStephan Gerhold				<0x01b00020 0x10>,
16822e04aa29SStephan Gerhold				<0x01b10000 0x1000>;
168358f479f9STodor Tomov			reg-names = "csiphy0",
168458f479f9STodor Tomov				"csiphy0_clk_mux",
168558f479f9STodor Tomov				"csiphy1",
168658f479f9STodor Tomov				"csiphy1_clk_mux",
168758f479f9STodor Tomov				"csid0",
168858f479f9STodor Tomov				"csid1",
168958f479f9STodor Tomov				"ispif",
169058f479f9STodor Tomov				"csi_clk_mux",
169158f479f9STodor Tomov				"vfe0";
169258f479f9STodor Tomov			interrupts = <GIC_SPI 78 IRQ_TYPE_EDGE_RISING>,
169358f479f9STodor Tomov				<GIC_SPI 79 IRQ_TYPE_EDGE_RISING>,
169458f479f9STodor Tomov				<GIC_SPI 51 IRQ_TYPE_EDGE_RISING>,
169558f479f9STodor Tomov				<GIC_SPI 52 IRQ_TYPE_EDGE_RISING>,
169658f479f9STodor Tomov				<GIC_SPI 55 IRQ_TYPE_EDGE_RISING>,
169758f479f9STodor Tomov				<GIC_SPI 57 IRQ_TYPE_EDGE_RISING>;
169858f479f9STodor Tomov			interrupt-names = "csiphy0",
169958f479f9STodor Tomov				"csiphy1",
170058f479f9STodor Tomov				"csid0",
170158f479f9STodor Tomov				"csid1",
170258f479f9STodor Tomov				"ispif",
170358f479f9STodor Tomov				"vfe0";
170458f479f9STodor Tomov			power-domains = <&gcc VFE_GDSC>;
170558f479f9STodor Tomov			clocks = <&gcc GCC_CAMSS_TOP_AHB_CLK>,
170658f479f9STodor Tomov				<&gcc GCC_CAMSS_ISPIF_AHB_CLK>,
170758f479f9STodor Tomov				<&gcc GCC_CAMSS_CSI0PHYTIMER_CLK>,
170858f479f9STodor Tomov				<&gcc GCC_CAMSS_CSI1PHYTIMER_CLK>,
170958f479f9STodor Tomov				<&gcc GCC_CAMSS_CSI0_AHB_CLK>,
171058f479f9STodor Tomov				<&gcc GCC_CAMSS_CSI0_CLK>,
171158f479f9STodor Tomov				<&gcc GCC_CAMSS_CSI0PHY_CLK>,
171258f479f9STodor Tomov				<&gcc GCC_CAMSS_CSI0PIX_CLK>,
171358f479f9STodor Tomov				<&gcc GCC_CAMSS_CSI0RDI_CLK>,
171458f479f9STodor Tomov				<&gcc GCC_CAMSS_CSI1_AHB_CLK>,
171558f479f9STodor Tomov				<&gcc GCC_CAMSS_CSI1_CLK>,
171658f479f9STodor Tomov				<&gcc GCC_CAMSS_CSI1PHY_CLK>,
171758f479f9STodor Tomov				<&gcc GCC_CAMSS_CSI1PIX_CLK>,
171858f479f9STodor Tomov				<&gcc GCC_CAMSS_CSI1RDI_CLK>,
171958f479f9STodor Tomov				<&gcc GCC_CAMSS_AHB_CLK>,
172058f479f9STodor Tomov				<&gcc GCC_CAMSS_VFE0_CLK>,
172158f479f9STodor Tomov				<&gcc GCC_CAMSS_CSI_VFE0_CLK>,
172258f479f9STodor Tomov				<&gcc GCC_CAMSS_VFE_AHB_CLK>,
172358f479f9STodor Tomov				<&gcc GCC_CAMSS_VFE_AXI_CLK>;
172458f479f9STodor Tomov			clock-names = "top_ahb",
172558f479f9STodor Tomov				"ispif_ahb",
172658f479f9STodor Tomov				"csiphy0_timer",
172758f479f9STodor Tomov				"csiphy1_timer",
172858f479f9STodor Tomov				"csi0_ahb",
172958f479f9STodor Tomov				"csi0",
173058f479f9STodor Tomov				"csi0_phy",
173158f479f9STodor Tomov				"csi0_pix",
173258f479f9STodor Tomov				"csi0_rdi",
173358f479f9STodor Tomov				"csi1_ahb",
173458f479f9STodor Tomov				"csi1",
173558f479f9STodor Tomov				"csi1_phy",
173658f479f9STodor Tomov				"csi1_pix",
173758f479f9STodor Tomov				"csi1_rdi",
173858f479f9STodor Tomov				"ahb",
173958f479f9STodor Tomov				"vfe0",
174058f479f9STodor Tomov				"csi_vfe0",
174158f479f9STodor Tomov				"vfe_ahb",
174258f479f9STodor Tomov				"vfe_axi";
174358f479f9STodor Tomov			iommus = <&apps_iommu 3>;
174458f479f9STodor Tomov			status = "disabled";
174558f479f9STodor Tomov			ports {
174658f479f9STodor Tomov				#address-cells = <1>;
174758f479f9STodor Tomov				#size-cells = <0>;
1748349a13a1SBryan O'Donoghue
1749349a13a1SBryan O'Donoghue				port@0 {
1750349a13a1SBryan O'Donoghue					reg = <0>;
1751349a13a1SBryan O'Donoghue				};
1752349a13a1SBryan O'Donoghue
1753349a13a1SBryan O'Donoghue				port@1 {
1754349a13a1SBryan O'Donoghue					reg = <1>;
1755349a13a1SBryan O'Donoghue				};
175658f479f9STodor Tomov			};
175758f479f9STodor Tomov		};
17581c51a4abSLoic Poulain
17591c51a4abSLoic Poulain		cci: cci@1b0c000 {
17606d88aafaSKonrad Dybcio			compatible = "qcom,msm8916-cci", "qcom,msm8226-cci";
17611c51a4abSLoic Poulain			#address-cells = <1>;
17621c51a4abSLoic Poulain			#size-cells = <0>;
17632e04aa29SStephan Gerhold			reg = <0x01b0c000 0x1000>;
17641c51a4abSLoic Poulain			interrupts = <GIC_SPI 50 IRQ_TYPE_EDGE_RISING>;
17651c51a4abSLoic Poulain			clocks = <&gcc GCC_CAMSS_TOP_AHB_CLK>,
17661c51a4abSLoic Poulain				<&gcc GCC_CAMSS_CCI_AHB_CLK>,
17671c51a4abSLoic Poulain				<&gcc GCC_CAMSS_CCI_CLK>,
17681c51a4abSLoic Poulain				<&gcc GCC_CAMSS_AHB_CLK>;
17691c51a4abSLoic Poulain			clock-names = "camss_top_ahb", "cci_ahb",
17701c51a4abSLoic Poulain					  "cci", "camss_ahb";
17711c51a4abSLoic Poulain			assigned-clocks = <&gcc GCC_CAMSS_CCI_AHB_CLK>,
17721c51a4abSLoic Poulain					  <&gcc GCC_CAMSS_CCI_CLK>;
17731c51a4abSLoic Poulain			assigned-clock-rates = <80000000>, <19200000>;
17741c51a4abSLoic Poulain			pinctrl-names = "default";
17751c51a4abSLoic Poulain			pinctrl-0 = <&cci0_default>;
17761c51a4abSLoic Poulain			status = "disabled";
17771c51a4abSLoic Poulain
17781c51a4abSLoic Poulain			cci_i2c0: i2c-bus@0 {
17791c51a4abSLoic Poulain				reg = <0>;
17801c51a4abSLoic Poulain				clock-frequency = <400000>;
17811c51a4abSLoic Poulain				#address-cells = <1>;
17821c51a4abSLoic Poulain				#size-cells = <0>;
17831c51a4abSLoic Poulain			};
17841c51a4abSLoic Poulain		};
1785327c0f5fSStephan Gerhold
17860ce5bb82SStephan Gerhold		gpu: gpu@1c00000 {
1787327c0f5fSStephan Gerhold			compatible = "qcom,adreno-306.0", "qcom,adreno";
1788327c0f5fSStephan Gerhold			reg = <0x01c00000 0x20000>;
1789327c0f5fSStephan Gerhold			reg-names = "kgsl_3d0_reg_memory";
1790327c0f5fSStephan Gerhold			interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
1791327c0f5fSStephan Gerhold			interrupt-names = "kgsl_3d0_irq";
1792327c0f5fSStephan Gerhold			clock-names =
1793327c0f5fSStephan Gerhold			    "core",
1794327c0f5fSStephan Gerhold			    "iface",
1795327c0f5fSStephan Gerhold			    "mem",
1796327c0f5fSStephan Gerhold			    "mem_iface",
1797327c0f5fSStephan Gerhold			    "alt_mem_iface",
1798327c0f5fSStephan Gerhold			    "gfx3d";
1799327c0f5fSStephan Gerhold			clocks =
1800327c0f5fSStephan Gerhold			    <&gcc GCC_OXILI_GFX3D_CLK>,
1801327c0f5fSStephan Gerhold			    <&gcc GCC_OXILI_AHB_CLK>,
1802327c0f5fSStephan Gerhold			    <&gcc GCC_OXILI_GMEM_CLK>,
1803327c0f5fSStephan Gerhold			    <&gcc GCC_BIMC_GFX_CLK>,
1804327c0f5fSStephan Gerhold			    <&gcc GCC_BIMC_GPU_CLK>,
1805327c0f5fSStephan Gerhold			    <&gcc GFX3D_CLK_SRC>;
1806327c0f5fSStephan Gerhold			power-domains = <&gcc OXILI_GDSC>;
1807327c0f5fSStephan Gerhold			operating-points-v2 = <&gpu_opp_table>;
1808327c0f5fSStephan Gerhold			iommus = <&gpu_iommu 1>, <&gpu_iommu 2>;
180904ee8304SKonrad Dybcio			#cooling-cells = <2>;
181004ee8304SKonrad Dybcio
18110ce5bb82SStephan Gerhold			status = "disabled";
1812327c0f5fSStephan Gerhold
1813327c0f5fSStephan Gerhold			gpu_opp_table: opp-table {
1814327c0f5fSStephan Gerhold				compatible = "operating-points-v2";
1815327c0f5fSStephan Gerhold
1816327c0f5fSStephan Gerhold				opp-400000000 {
1817327c0f5fSStephan Gerhold					opp-hz = /bits/ 64 <400000000>;
181857f0a7eaSKumar Gala				};
1819327c0f5fSStephan Gerhold				opp-19200000 {
1820327c0f5fSStephan Gerhold					opp-hz = /bits/ 64 <19200000>;
1821e2841db7SGeorgi Djakov				};
18228fd55d41SAndy Gross			};
18238fd55d41SAndy Gross		};
1824327c0f5fSStephan Gerhold
1825327c0f5fSStephan Gerhold		venus: video-codec@1d00000 {
1826327c0f5fSStephan Gerhold			compatible = "qcom,msm8916-venus";
1827327c0f5fSStephan Gerhold			reg = <0x01d00000 0xff000>;
1828327c0f5fSStephan Gerhold			interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
1829327c0f5fSStephan Gerhold			power-domains = <&gcc VENUS_GDSC>;
1830327c0f5fSStephan Gerhold			clocks = <&gcc GCC_VENUS0_VCODEC0_CLK>,
1831327c0f5fSStephan Gerhold				 <&gcc GCC_VENUS0_AHB_CLK>,
1832327c0f5fSStephan Gerhold				 <&gcc GCC_VENUS0_AXI_CLK>;
1833327c0f5fSStephan Gerhold			clock-names = "core", "iface", "bus";
1834327c0f5fSStephan Gerhold			iommus = <&apps_iommu 5>;
1835327c0f5fSStephan Gerhold			memory-region = <&venus_mem>;
183629589248SStephan Gerhold			status = "disabled";
1837327c0f5fSStephan Gerhold
1838327c0f5fSStephan Gerhold			video-decoder {
1839327c0f5fSStephan Gerhold				compatible = "venus-decoder";
18408fd55d41SAndy Gross			};
18411fb47e0aSBjorn Andersson
1842327c0f5fSStephan Gerhold			video-encoder {
1843327c0f5fSStephan Gerhold				compatible = "venus-encoder";
1844327c0f5fSStephan Gerhold			};
1845327c0f5fSStephan Gerhold		};
18461fb47e0aSBjorn Andersson
1847327c0f5fSStephan Gerhold		apps_iommu: iommu@1ef0000 {
1848327c0f5fSStephan Gerhold			#address-cells = <1>;
1849327c0f5fSStephan Gerhold			#size-cells = <1>;
1850327c0f5fSStephan Gerhold			#iommu-cells = <1>;
1851327c0f5fSStephan Gerhold			compatible = "qcom,msm8916-iommu", "qcom,msm-iommu-v1";
18522de8ee9fSGaurav Kohli			ranges = <0 0x01e20000 0x20000>;
1853327c0f5fSStephan Gerhold			reg = <0x01ef0000 0x3000>;
1854327c0f5fSStephan Gerhold			clocks = <&gcc GCC_SMMU_CFG_CLK>,
1855327c0f5fSStephan Gerhold				 <&gcc GCC_APSS_TCU_CLK>;
1856327c0f5fSStephan Gerhold			clock-names = "iface", "bus";
1857327c0f5fSStephan Gerhold			qcom,iommu-secure-id = <17>;
18581fb47e0aSBjorn Andersson
18594bb376f6SKonrad Dybcio			/* VFE */
1860327c0f5fSStephan Gerhold			iommu-ctx@3000 {
1861327c0f5fSStephan Gerhold				compatible = "qcom,msm-iommu-v1-sec";
1862327c0f5fSStephan Gerhold				reg = <0x3000 0x1000>;
1863327c0f5fSStephan Gerhold				interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
1864327c0f5fSStephan Gerhold			};
18651fb47e0aSBjorn Andersson
18664bb376f6SKonrad Dybcio			/* MDP_0 */
1867327c0f5fSStephan Gerhold			iommu-ctx@4000 {
1868327c0f5fSStephan Gerhold				compatible = "qcom,msm-iommu-v1-ns";
1869327c0f5fSStephan Gerhold				reg = <0x4000 0x1000>;
1870327c0f5fSStephan Gerhold				interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
1871327c0f5fSStephan Gerhold			};
1872327c0f5fSStephan Gerhold
18734bb376f6SKonrad Dybcio			/* VENUS_NS */
1874327c0f5fSStephan Gerhold			iommu-ctx@5000 {
1875327c0f5fSStephan Gerhold				compatible = "qcom,msm-iommu-v1-sec";
1876327c0f5fSStephan Gerhold				reg = <0x5000 0x1000>;
1877327c0f5fSStephan Gerhold				interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
1878327c0f5fSStephan Gerhold			};
1879327c0f5fSStephan Gerhold		};
1880327c0f5fSStephan Gerhold
1881327c0f5fSStephan Gerhold		gpu_iommu: iommu@1f08000 {
1882327c0f5fSStephan Gerhold			#address-cells = <1>;
1883327c0f5fSStephan Gerhold			#size-cells = <1>;
1884327c0f5fSStephan Gerhold			#iommu-cells = <1>;
1885327c0f5fSStephan Gerhold			compatible = "qcom,msm8916-iommu", "qcom,msm-iommu-v1";
1886327c0f5fSStephan Gerhold			ranges = <0 0x01f08000 0x10000>;
1887327c0f5fSStephan Gerhold			clocks = <&gcc GCC_SMMU_CFG_CLK>,
1888327c0f5fSStephan Gerhold				 <&gcc GCC_GFX_TCU_CLK>;
1889327c0f5fSStephan Gerhold			clock-names = "iface", "bus";
1890327c0f5fSStephan Gerhold			qcom,iommu-secure-id = <18>;
1891327c0f5fSStephan Gerhold
18924bb376f6SKonrad Dybcio			/* GFX3D_USER */
1893327c0f5fSStephan Gerhold			iommu-ctx@1000 {
1894327c0f5fSStephan Gerhold				compatible = "qcom,msm-iommu-v1-ns";
1895327c0f5fSStephan Gerhold				reg = <0x1000 0x1000>;
1896327c0f5fSStephan Gerhold				interrupts = <GIC_SPI 241 IRQ_TYPE_LEVEL_HIGH>;
1897327c0f5fSStephan Gerhold			};
1898327c0f5fSStephan Gerhold
18994bb376f6SKonrad Dybcio			/* GFX3D_PRIV */
1900327c0f5fSStephan Gerhold			iommu-ctx@2000 {
1901327c0f5fSStephan Gerhold				compatible = "qcom,msm-iommu-v1-ns";
1902327c0f5fSStephan Gerhold				reg = <0x2000 0x1000>;
1903327c0f5fSStephan Gerhold				interrupts = <GIC_SPI 242 IRQ_TYPE_LEVEL_HIGH>;
1904327c0f5fSStephan Gerhold			};
1905327c0f5fSStephan Gerhold		};
1906327c0f5fSStephan Gerhold
1907327c0f5fSStephan Gerhold		spmi_bus: spmi@200f000 {
1908327c0f5fSStephan Gerhold			compatible = "qcom,spmi-pmic-arb";
1909327c0f5fSStephan Gerhold			reg = <0x0200f000 0x001000>,
1910327c0f5fSStephan Gerhold			      <0x02400000 0x400000>,
1911327c0f5fSStephan Gerhold			      <0x02c00000 0x400000>,
1912327c0f5fSStephan Gerhold			      <0x03800000 0x200000>,
1913327c0f5fSStephan Gerhold			      <0x0200a000 0x002100>;
1914327c0f5fSStephan Gerhold			reg-names = "core", "chnls", "obsrvr", "intr", "cnfg";
1915327c0f5fSStephan Gerhold			interrupt-names = "periph_irq";
1916327c0f5fSStephan Gerhold			interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
1917327c0f5fSStephan Gerhold			qcom,ee = <0>;
1918327c0f5fSStephan Gerhold			qcom,channel = <0>;
1919327c0f5fSStephan Gerhold			#address-cells = <2>;
1920327c0f5fSStephan Gerhold			#size-cells = <0>;
1921327c0f5fSStephan Gerhold			interrupt-controller;
1922327c0f5fSStephan Gerhold			#interrupt-cells = <4>;
1923327c0f5fSStephan Gerhold		};
1924327c0f5fSStephan Gerhold
1925c38406aaSStephan Gerhold		bam_dmux_dma: dma-controller@4044000 {
1926c38406aaSStephan Gerhold			compatible = "qcom,bam-v1.7.0";
1927c38406aaSStephan Gerhold			reg = <0x04044000 0x19000>;
1928c38406aaSStephan Gerhold			interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
1929c38406aaSStephan Gerhold			#dma-cells = <1>;
1930c38406aaSStephan Gerhold			qcom,ee = <0>;
1931c38406aaSStephan Gerhold
1932c38406aaSStephan Gerhold			num-channels = <6>;
1933c38406aaSStephan Gerhold			qcom,num-ees = <1>;
1934c38406aaSStephan Gerhold			qcom,powered-remotely;
1935c38406aaSStephan Gerhold
1936c38406aaSStephan Gerhold			status = "disabled";
1937c38406aaSStephan Gerhold		};
1938c38406aaSStephan Gerhold
1939327c0f5fSStephan Gerhold		mpss: remoteproc@4080000 {
1940ff02ac62SStephan Gerhold			compatible = "qcom,msm8916-mss-pil";
1941327c0f5fSStephan Gerhold			reg = <0x04080000 0x100>,
1942327c0f5fSStephan Gerhold			      <0x04020000 0x040>;
1943327c0f5fSStephan Gerhold
1944327c0f5fSStephan Gerhold			reg-names = "qdsp6", "rmb";
1945327c0f5fSStephan Gerhold
1946327c0f5fSStephan Gerhold			interrupts-extended = <&intc GIC_SPI 24 IRQ_TYPE_EDGE_RISING>,
1947327c0f5fSStephan Gerhold					      <&hexagon_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
1948327c0f5fSStephan Gerhold					      <&hexagon_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
1949327c0f5fSStephan Gerhold					      <&hexagon_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
1950327c0f5fSStephan Gerhold					      <&hexagon_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
1951327c0f5fSStephan Gerhold			interrupt-names = "wdog", "fatal", "ready",
1952327c0f5fSStephan Gerhold					  "handover", "stop-ack";
1953327c0f5fSStephan Gerhold
1954809f299aSStephan Gerhold			power-domains = <&rpmpd MSM8916_VDDCX>,
1955809f299aSStephan Gerhold					<&rpmpd MSM8916_VDDMX>;
1956809f299aSStephan Gerhold			power-domain-names = "cx", "mx";
1957809f299aSStephan Gerhold
1958327c0f5fSStephan Gerhold			clocks = <&gcc GCC_MSS_CFG_AHB_CLK>,
1959327c0f5fSStephan Gerhold				 <&gcc GCC_MSS_Q6_BIMC_AXI_CLK>,
1960327c0f5fSStephan Gerhold				 <&gcc GCC_BOOT_ROM_AHB_CLK>,
1961327c0f5fSStephan Gerhold				 <&xo_board>;
1962327c0f5fSStephan Gerhold			clock-names = "iface", "bus", "mem", "xo";
1963327c0f5fSStephan Gerhold
1964327c0f5fSStephan Gerhold			qcom,smem-states = <&hexagon_smp2p_out 0>;
1965327c0f5fSStephan Gerhold			qcom,smem-state-names = "stop";
1966327c0f5fSStephan Gerhold
1967327c0f5fSStephan Gerhold			resets = <&scm 0>;
1968327c0f5fSStephan Gerhold			reset-names = "mss_restart";
1969327c0f5fSStephan Gerhold
1970327c0f5fSStephan Gerhold			qcom,halt-regs = <&tcsr 0x18000 0x19000 0x1a000>;
1971327c0f5fSStephan Gerhold
1972327c0f5fSStephan Gerhold			status = "disabled";
1973327c0f5fSStephan Gerhold
1974327c0f5fSStephan Gerhold			mba {
1975327c0f5fSStephan Gerhold				memory-region = <&mba_mem>;
1976327c0f5fSStephan Gerhold			};
1977327c0f5fSStephan Gerhold
1978327c0f5fSStephan Gerhold			mpss {
1979327c0f5fSStephan Gerhold				memory-region = <&mpss_mem>;
1980327c0f5fSStephan Gerhold			};
1981327c0f5fSStephan Gerhold
1982c38406aaSStephan Gerhold			bam_dmux: bam-dmux {
1983c38406aaSStephan Gerhold				compatible = "qcom,bam-dmux";
1984c38406aaSStephan Gerhold
1985c38406aaSStephan Gerhold				interrupt-parent = <&hexagon_smsm>;
1986c38406aaSStephan Gerhold				interrupts = <1 IRQ_TYPE_EDGE_BOTH>, <11 IRQ_TYPE_EDGE_BOTH>;
1987c38406aaSStephan Gerhold				interrupt-names = "pc", "pc-ack";
1988c38406aaSStephan Gerhold
1989c38406aaSStephan Gerhold				qcom,smem-states = <&apps_smsm 1>, <&apps_smsm 11>;
1990c38406aaSStephan Gerhold				qcom,smem-state-names = "pc", "pc-ack";
1991c38406aaSStephan Gerhold
1992c38406aaSStephan Gerhold				dmas = <&bam_dmux_dma 4>, <&bam_dmux_dma 5>;
1993c38406aaSStephan Gerhold				dma-names = "tx", "rx";
1994c38406aaSStephan Gerhold
1995c38406aaSStephan Gerhold				status = "disabled";
1996c38406aaSStephan Gerhold			};
1997c38406aaSStephan Gerhold
1998327c0f5fSStephan Gerhold			smd-edge {
1999327c0f5fSStephan Gerhold				interrupts = <GIC_SPI 25 IRQ_TYPE_EDGE_RISING>;
2000327c0f5fSStephan Gerhold
2001327c0f5fSStephan Gerhold				qcom,smd-edge = <0>;
20023e971470SLuca Weiss				mboxes = <&apcs 12>;
20031fb47e0aSBjorn Andersson				qcom,remote-pid = <1>;
20041fb47e0aSBjorn Andersson
2005327c0f5fSStephan Gerhold				label = "hexagon";
20061fb47e0aSBjorn Andersson
2007861aa8e6SStephan Gerhold				apr: apr {
2008861aa8e6SStephan Gerhold					compatible = "qcom,apr-v2";
2009861aa8e6SStephan Gerhold					qcom,smd-channels = "apr_audio_svc";
2010861aa8e6SStephan Gerhold					qcom,domain = <APR_DOMAIN_ADSP>;
2011861aa8e6SStephan Gerhold					#address-cells = <1>;
2012861aa8e6SStephan Gerhold					#size-cells = <0>;
2013861aa8e6SStephan Gerhold					status = "disabled";
2014861aa8e6SStephan Gerhold
2015861aa8e6SStephan Gerhold					q6core: service@3 {
2016861aa8e6SStephan Gerhold						compatible = "qcom,q6core";
2017861aa8e6SStephan Gerhold						reg = <APR_SVC_ADSP_CORE>;
2018861aa8e6SStephan Gerhold					};
2019861aa8e6SStephan Gerhold
2020861aa8e6SStephan Gerhold					q6afe: service@4 {
2021861aa8e6SStephan Gerhold						compatible = "qcom,q6afe";
2022861aa8e6SStephan Gerhold						reg = <APR_SVC_AFE>;
2023861aa8e6SStephan Gerhold
2024861aa8e6SStephan Gerhold						q6afedai: dais {
2025861aa8e6SStephan Gerhold							compatible = "qcom,q6afe-dais";
2026861aa8e6SStephan Gerhold							#address-cells = <1>;
2027861aa8e6SStephan Gerhold							#size-cells = <0>;
2028861aa8e6SStephan Gerhold							#sound-dai-cells = <1>;
2029861aa8e6SStephan Gerhold						};
2030861aa8e6SStephan Gerhold					};
2031861aa8e6SStephan Gerhold
2032861aa8e6SStephan Gerhold					q6asm: service@7 {
2033861aa8e6SStephan Gerhold						compatible = "qcom,q6asm";
2034861aa8e6SStephan Gerhold						reg = <APR_SVC_ASM>;
2035861aa8e6SStephan Gerhold
2036861aa8e6SStephan Gerhold						q6asmdai: dais {
2037861aa8e6SStephan Gerhold							compatible = "qcom,q6asm-dais";
2038861aa8e6SStephan Gerhold							#address-cells = <1>;
2039861aa8e6SStephan Gerhold							#size-cells = <0>;
2040861aa8e6SStephan Gerhold							#sound-dai-cells = <1>;
2041861aa8e6SStephan Gerhold						};
2042861aa8e6SStephan Gerhold					};
2043861aa8e6SStephan Gerhold
2044861aa8e6SStephan Gerhold					q6adm: service@8 {
2045861aa8e6SStephan Gerhold						compatible = "qcom,q6adm";
2046861aa8e6SStephan Gerhold						reg = <APR_SVC_ADM>;
2047861aa8e6SStephan Gerhold
2048861aa8e6SStephan Gerhold						q6routing: routing {
2049861aa8e6SStephan Gerhold							compatible = "qcom,q6adm-routing";
2050861aa8e6SStephan Gerhold							#sound-dai-cells = <0>;
2051861aa8e6SStephan Gerhold						};
2052861aa8e6SStephan Gerhold					};
2053861aa8e6SStephan Gerhold				};
2054861aa8e6SStephan Gerhold
2055327c0f5fSStephan Gerhold				fastrpc {
2056327c0f5fSStephan Gerhold					compatible = "qcom,fastrpc";
2057327c0f5fSStephan Gerhold					qcom,smd-channels = "fastrpcsmd-apps-dsp";
2058327c0f5fSStephan Gerhold					label = "adsp";
20598c8ce95bSJeya R					qcom,non-secure-domain;
20601fb47e0aSBjorn Andersson
20611fb47e0aSBjorn Andersson					#address-cells = <1>;
20621fb47e0aSBjorn Andersson					#size-cells = <0>;
20631fb47e0aSBjorn Andersson
2064327c0f5fSStephan Gerhold					cb@1 {
2065327c0f5fSStephan Gerhold						compatible = "qcom,fastrpc-compute-cb";
20661fb47e0aSBjorn Andersson						reg = <1>;
2067327c0f5fSStephan Gerhold					};
2068327c0f5fSStephan Gerhold				};
2069327c0f5fSStephan Gerhold			};
20701fb47e0aSBjorn Andersson		};
20711fb47e0aSBjorn Andersson
2072327c0f5fSStephan Gerhold		sound: sound@7702000 {
2073327c0f5fSStephan Gerhold			status = "disabled";
2074327c0f5fSStephan Gerhold			compatible = "qcom,apq8016-sbc-sndcard";
2075327c0f5fSStephan Gerhold			reg = <0x07702000 0x4>, <0x07702004 0x4>;
2076327c0f5fSStephan Gerhold			reg-names = "mic-iomux", "spkr-iomux";
20771fb47e0aSBjorn Andersson		};
2078327c0f5fSStephan Gerhold
2079327c0f5fSStephan Gerhold		lpass: audio-controller@7708000 {
2080327c0f5fSStephan Gerhold			status = "disabled";
2081aab0dd5cSBryan O'Donoghue			compatible = "qcom,apq8016-lpass-cpu";
20828199a0b3SStephan Gerhold
20838199a0b3SStephan Gerhold			/*
20848199a0b3SStephan Gerhold			 * Note: Unlike the name would suggest, the SEC_I2S_CLK
20858199a0b3SStephan Gerhold			 * is actually only used by Tertiary MI2S while
20868199a0b3SStephan Gerhold			 * Primary/Secondary MI2S both use the PRI_I2S_CLK.
20878199a0b3SStephan Gerhold			 */
2088327c0f5fSStephan Gerhold			clocks = <&gcc GCC_ULTAUDIO_AHBFABRIC_IXFABRIC_CLK>,
2089327c0f5fSStephan Gerhold				 <&gcc GCC_ULTAUDIO_LPAIF_PRI_I2S_CLK>,
20908199a0b3SStephan Gerhold				 <&gcc GCC_ULTAUDIO_LPAIF_PRI_I2S_CLK>,
2091327c0f5fSStephan Gerhold				 <&gcc GCC_ULTAUDIO_LPAIF_SEC_I2S_CLK>,
20929903258aSKrzysztof Kozlowski				 <&gcc GCC_ULTAUDIO_LPAIF_AUX_I2S_CLK>,
20939903258aSKrzysztof Kozlowski				 <&gcc GCC_ULTAUDIO_PCNOC_MPORT_CLK>,
20949903258aSKrzysztof Kozlowski				 <&gcc GCC_ULTAUDIO_PCNOC_SWAY_CLK>;
2095327c0f5fSStephan Gerhold
2096327c0f5fSStephan Gerhold			clock-names = "ahbix-clk",
2097327c0f5fSStephan Gerhold					"mi2s-bit-clk0",
2098327c0f5fSStephan Gerhold					"mi2s-bit-clk1",
2099327c0f5fSStephan Gerhold					"mi2s-bit-clk2",
21009903258aSKrzysztof Kozlowski					"mi2s-bit-clk3",
21019903258aSKrzysztof Kozlowski					"pcnoc-mport-clk",
21029903258aSKrzysztof Kozlowski					"pcnoc-sway-clk";
2103327c0f5fSStephan Gerhold			#sound-dai-cells = <1>;
2104327c0f5fSStephan Gerhold
2105327c0f5fSStephan Gerhold			interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>;
2106327c0f5fSStephan Gerhold			interrupt-names = "lpass-irq-lpaif";
2107327c0f5fSStephan Gerhold			reg = <0x07708000 0x10000>;
2108327c0f5fSStephan Gerhold			reg-names = "lpass-lpaif";
2109327c0f5fSStephan Gerhold
2110327c0f5fSStephan Gerhold			#address-cells = <1>;
2111327c0f5fSStephan Gerhold			#size-cells = <0>;
2112327c0f5fSStephan Gerhold		};
2113327c0f5fSStephan Gerhold
2114327c0f5fSStephan Gerhold		lpass_codec: audio-codec@771c000 {
2115327c0f5fSStephan Gerhold			compatible = "qcom,msm8916-wcd-digital-codec";
2116327c0f5fSStephan Gerhold			reg = <0x0771c000 0x400>;
2117327c0f5fSStephan Gerhold			clocks = <&gcc GCC_ULTAUDIO_AHBFABRIC_IXFABRIC_CLK>,
2118327c0f5fSStephan Gerhold				 <&gcc GCC_CODEC_DIGCODEC_CLK>;
2119327c0f5fSStephan Gerhold			clock-names = "ahbix-clk", "mclk";
2120327c0f5fSStephan Gerhold			#sound-dai-cells = <1>;
2121a5cf21b1SStephan Gerhold			status = "disabled";
2122327c0f5fSStephan Gerhold		};
2123327c0f5fSStephan Gerhold
212472644bc7SKrzysztof Kozlowski		sdhc_1: mmc@7824900 {
2125f633d5f7SStephan Gerhold			compatible = "qcom,msm8916-sdhci", "qcom,sdhci-msm-v4";
2126327c0f5fSStephan Gerhold			reg = <0x07824900 0x11c>, <0x07824000 0x800>;
2127eddc917dSKrzysztof Kozlowski			reg-names = "hc", "core";
2128327c0f5fSStephan Gerhold
2129327c0f5fSStephan Gerhold			interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
2130327c0f5fSStephan Gerhold				     <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
2131327c0f5fSStephan Gerhold			interrupt-names = "hc_irq", "pwr_irq";
21324ff12270SBhupesh Sharma			clocks = <&gcc GCC_SDCC1_AHB_CLK>,
21334ff12270SBhupesh Sharma				 <&gcc GCC_SDCC1_APPS_CLK>,
2134327c0f5fSStephan Gerhold				 <&xo_board>;
21354ff12270SBhupesh Sharma			clock-names = "iface", "core", "xo";
2136c943e4c5SStephan Gerhold			pinctrl-0 = <&sdc1_default>;
2137c943e4c5SStephan Gerhold			pinctrl-1 = <&sdc1_sleep>;
2138c943e4c5SStephan Gerhold			pinctrl-names = "default", "sleep";
2139327c0f5fSStephan Gerhold			mmc-ddr-1_8v;
2140327c0f5fSStephan Gerhold			bus-width = <8>;
2141327c0f5fSStephan Gerhold			non-removable;
2142327c0f5fSStephan Gerhold			status = "disabled";
2143327c0f5fSStephan Gerhold		};
2144327c0f5fSStephan Gerhold
214572644bc7SKrzysztof Kozlowski		sdhc_2: mmc@7864900 {
2146f633d5f7SStephan Gerhold			compatible = "qcom,msm8916-sdhci", "qcom,sdhci-msm-v4";
2147327c0f5fSStephan Gerhold			reg = <0x07864900 0x11c>, <0x07864000 0x800>;
2148eddc917dSKrzysztof Kozlowski			reg-names = "hc", "core";
2149327c0f5fSStephan Gerhold
2150327c0f5fSStephan Gerhold			interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>,
2151327c0f5fSStephan Gerhold				     <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>;
2152327c0f5fSStephan Gerhold			interrupt-names = "hc_irq", "pwr_irq";
21534ff12270SBhupesh Sharma			clocks = <&gcc GCC_SDCC2_AHB_CLK>,
21544ff12270SBhupesh Sharma				 <&gcc GCC_SDCC2_APPS_CLK>,
2155327c0f5fSStephan Gerhold				 <&xo_board>;
21564ff12270SBhupesh Sharma			clock-names = "iface", "core", "xo";
2157c943e4c5SStephan Gerhold			pinctrl-0 = <&sdc2_default>;
2158c943e4c5SStephan Gerhold			pinctrl-1 = <&sdc2_sleep>;
2159c943e4c5SStephan Gerhold			pinctrl-names = "default", "sleep";
2160327c0f5fSStephan Gerhold			bus-width = <4>;
2161327c0f5fSStephan Gerhold			status = "disabled";
2162327c0f5fSStephan Gerhold		};
2163327c0f5fSStephan Gerhold
2164eaf61213SVinod Koul		blsp_dma: dma-controller@7884000 {
2165327c0f5fSStephan Gerhold			compatible = "qcom,bam-v1.7.0";
2166327c0f5fSStephan Gerhold			reg = <0x07884000 0x23000>;
2167327c0f5fSStephan Gerhold			interrupts = <GIC_SPI 238 IRQ_TYPE_LEVEL_HIGH>;
2168327c0f5fSStephan Gerhold			clocks = <&gcc GCC_BLSP1_AHB_CLK>;
2169327c0f5fSStephan Gerhold			clock-names = "bam_clk";
2170327c0f5fSStephan Gerhold			#dma-cells = <1>;
2171327c0f5fSStephan Gerhold			qcom,ee = <0>;
21727c45b6ddSStephan Gerhold			qcom,controlled-remotely;
2173327c0f5fSStephan Gerhold		};
2174327c0f5fSStephan Gerhold
2175c310ca82SStephan Gerhold		blsp_uart1: serial@78af000 {
2176327c0f5fSStephan Gerhold			compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
2177327c0f5fSStephan Gerhold			reg = <0x078af000 0x200>;
2178327c0f5fSStephan Gerhold			interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
2179327c0f5fSStephan Gerhold			clocks = <&gcc GCC_BLSP1_UART1_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>;
2180327c0f5fSStephan Gerhold			clock-names = "core", "iface";
21810e1b27f4SKrzysztof Kozlowski			dmas = <&blsp_dma 0>, <&blsp_dma 1>;
21820e1b27f4SKrzysztof Kozlowski			dma-names = "tx", "rx";
2183327c0f5fSStephan Gerhold			status = "disabled";
2184327c0f5fSStephan Gerhold		};
2185327c0f5fSStephan Gerhold
2186c310ca82SStephan Gerhold		blsp_uart2: serial@78b0000 {
2187327c0f5fSStephan Gerhold			compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
2188327c0f5fSStephan Gerhold			reg = <0x078b0000 0x200>;
2189327c0f5fSStephan Gerhold			interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
2190327c0f5fSStephan Gerhold			clocks = <&gcc GCC_BLSP1_UART2_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>;
2191327c0f5fSStephan Gerhold			clock-names = "core", "iface";
21920e1b27f4SKrzysztof Kozlowski			dmas = <&blsp_dma 2>, <&blsp_dma 3>;
21930e1b27f4SKrzysztof Kozlowski			dma-names = "tx", "rx";
2194327c0f5fSStephan Gerhold			status = "disabled";
2195327c0f5fSStephan Gerhold		};
2196327c0f5fSStephan Gerhold
2197327c0f5fSStephan Gerhold		blsp_i2c1: i2c@78b5000 {
2198327c0f5fSStephan Gerhold			compatible = "qcom,i2c-qup-v2.2.1";
2199327c0f5fSStephan Gerhold			reg = <0x078b5000 0x500>;
2200327c0f5fSStephan Gerhold			interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
22012374b99eSKrzysztof Kozlowski			clocks = <&gcc GCC_BLSP1_QUP1_I2C_APPS_CLK>,
22022374b99eSKrzysztof Kozlowski				 <&gcc GCC_BLSP1_AHB_CLK>;
22032374b99eSKrzysztof Kozlowski			clock-names = "core", "iface";
2204389d2c99SStephan Gerhold			dmas = <&blsp_dma 4>, <&blsp_dma 5>;
2205389d2c99SStephan Gerhold			dma-names = "tx", "rx";
2206327c0f5fSStephan Gerhold			pinctrl-names = "default", "sleep";
2207fdfc21f6SStephan Gerhold			pinctrl-0 = <&blsp_i2c1_default>;
2208fdfc21f6SStephan Gerhold			pinctrl-1 = <&blsp_i2c1_sleep>;
2209327c0f5fSStephan Gerhold			#address-cells = <1>;
2210327c0f5fSStephan Gerhold			#size-cells = <0>;
2211327c0f5fSStephan Gerhold			status = "disabled";
2212327c0f5fSStephan Gerhold		};
2213327c0f5fSStephan Gerhold
2214327c0f5fSStephan Gerhold		blsp_spi1: spi@78b5000 {
2215327c0f5fSStephan Gerhold			compatible = "qcom,spi-qup-v2.2.1";
2216327c0f5fSStephan Gerhold			reg = <0x078b5000 0x500>;
2217327c0f5fSStephan Gerhold			interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
2218327c0f5fSStephan Gerhold			clocks = <&gcc GCC_BLSP1_QUP1_SPI_APPS_CLK>,
2219327c0f5fSStephan Gerhold				 <&gcc GCC_BLSP1_AHB_CLK>;
2220327c0f5fSStephan Gerhold			clock-names = "core", "iface";
22210e1b27f4SKrzysztof Kozlowski			dmas = <&blsp_dma 4>, <&blsp_dma 5>;
22220e1b27f4SKrzysztof Kozlowski			dma-names = "tx", "rx";
2223327c0f5fSStephan Gerhold			pinctrl-names = "default", "sleep";
2224fdfc21f6SStephan Gerhold			pinctrl-0 = <&blsp_spi1_default>;
2225fdfc21f6SStephan Gerhold			pinctrl-1 = <&blsp_spi1_sleep>;
2226327c0f5fSStephan Gerhold			#address-cells = <1>;
2227327c0f5fSStephan Gerhold			#size-cells = <0>;
2228327c0f5fSStephan Gerhold			status = "disabled";
2229327c0f5fSStephan Gerhold		};
2230327c0f5fSStephan Gerhold
2231327c0f5fSStephan Gerhold		blsp_i2c2: i2c@78b6000 {
2232327c0f5fSStephan Gerhold			compatible = "qcom,i2c-qup-v2.2.1";
2233327c0f5fSStephan Gerhold			reg = <0x078b6000 0x500>;
2234327c0f5fSStephan Gerhold			interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
22352374b99eSKrzysztof Kozlowski			clocks = <&gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>,
22362374b99eSKrzysztof Kozlowski				 <&gcc GCC_BLSP1_AHB_CLK>;
22372374b99eSKrzysztof Kozlowski			clock-names = "core", "iface";
2238389d2c99SStephan Gerhold			dmas = <&blsp_dma 6>, <&blsp_dma 7>;
2239389d2c99SStephan Gerhold			dma-names = "tx", "rx";
2240327c0f5fSStephan Gerhold			pinctrl-names = "default", "sleep";
2241fdfc21f6SStephan Gerhold			pinctrl-0 = <&blsp_i2c2_default>;
2242fdfc21f6SStephan Gerhold			pinctrl-1 = <&blsp_i2c2_sleep>;
2243327c0f5fSStephan Gerhold			#address-cells = <1>;
2244327c0f5fSStephan Gerhold			#size-cells = <0>;
2245327c0f5fSStephan Gerhold			status = "disabled";
2246327c0f5fSStephan Gerhold		};
2247327c0f5fSStephan Gerhold
2248327c0f5fSStephan Gerhold		blsp_spi2: spi@78b6000 {
2249327c0f5fSStephan Gerhold			compatible = "qcom,spi-qup-v2.2.1";
2250327c0f5fSStephan Gerhold			reg = <0x078b6000 0x500>;
2251327c0f5fSStephan Gerhold			interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
2252327c0f5fSStephan Gerhold			clocks = <&gcc GCC_BLSP1_QUP2_SPI_APPS_CLK>,
2253327c0f5fSStephan Gerhold				 <&gcc GCC_BLSP1_AHB_CLK>;
2254327c0f5fSStephan Gerhold			clock-names = "core", "iface";
22550e1b27f4SKrzysztof Kozlowski			dmas = <&blsp_dma 6>, <&blsp_dma 7>;
22560e1b27f4SKrzysztof Kozlowski			dma-names = "tx", "rx";
2257327c0f5fSStephan Gerhold			pinctrl-names = "default", "sleep";
2258fdfc21f6SStephan Gerhold			pinctrl-0 = <&blsp_spi2_default>;
2259fdfc21f6SStephan Gerhold			pinctrl-1 = <&blsp_spi2_sleep>;
2260327c0f5fSStephan Gerhold			#address-cells = <1>;
2261327c0f5fSStephan Gerhold			#size-cells = <0>;
2262327c0f5fSStephan Gerhold			status = "disabled";
2263327c0f5fSStephan Gerhold		};
2264327c0f5fSStephan Gerhold
2265012e19f4SJonathan Albrieux		blsp_i2c3: i2c@78b7000 {
2266012e19f4SJonathan Albrieux			compatible = "qcom,i2c-qup-v2.2.1";
2267012e19f4SJonathan Albrieux			reg = <0x078b7000 0x500>;
2268012e19f4SJonathan Albrieux			interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
22692374b99eSKrzysztof Kozlowski			clocks = <&gcc GCC_BLSP1_QUP3_I2C_APPS_CLK>,
22702374b99eSKrzysztof Kozlowski				 <&gcc GCC_BLSP1_AHB_CLK>;
22712374b99eSKrzysztof Kozlowski			clock-names = "core", "iface";
2272389d2c99SStephan Gerhold			dmas = <&blsp_dma 8>, <&blsp_dma 9>;
2273389d2c99SStephan Gerhold			dma-names = "tx", "rx";
2274012e19f4SJonathan Albrieux			pinctrl-names = "default", "sleep";
2275fdfc21f6SStephan Gerhold			pinctrl-0 = <&blsp_i2c3_default>;
2276fdfc21f6SStephan Gerhold			pinctrl-1 = <&blsp_i2c3_sleep>;
2277012e19f4SJonathan Albrieux			#address-cells = <1>;
2278012e19f4SJonathan Albrieux			#size-cells = <0>;
2279012e19f4SJonathan Albrieux			status = "disabled";
2280012e19f4SJonathan Albrieux		};
2281012e19f4SJonathan Albrieux
2282327c0f5fSStephan Gerhold		blsp_spi3: spi@78b7000 {
2283327c0f5fSStephan Gerhold			compatible = "qcom,spi-qup-v2.2.1";
2284327c0f5fSStephan Gerhold			reg = <0x078b7000 0x500>;
2285327c0f5fSStephan Gerhold			interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
2286327c0f5fSStephan Gerhold			clocks = <&gcc GCC_BLSP1_QUP3_SPI_APPS_CLK>,
2287327c0f5fSStephan Gerhold				 <&gcc GCC_BLSP1_AHB_CLK>;
2288327c0f5fSStephan Gerhold			clock-names = "core", "iface";
22890e1b27f4SKrzysztof Kozlowski			dmas = <&blsp_dma 8>, <&blsp_dma 9>;
22900e1b27f4SKrzysztof Kozlowski			dma-names = "tx", "rx";
2291327c0f5fSStephan Gerhold			pinctrl-names = "default", "sleep";
2292fdfc21f6SStephan Gerhold			pinctrl-0 = <&blsp_spi3_default>;
2293fdfc21f6SStephan Gerhold			pinctrl-1 = <&blsp_spi3_sleep>;
2294327c0f5fSStephan Gerhold			#address-cells = <1>;
2295327c0f5fSStephan Gerhold			#size-cells = <0>;
2296327c0f5fSStephan Gerhold			status = "disabled";
2297327c0f5fSStephan Gerhold		};
2298327c0f5fSStephan Gerhold
2299327c0f5fSStephan Gerhold		blsp_i2c4: i2c@78b8000 {
2300327c0f5fSStephan Gerhold			compatible = "qcom,i2c-qup-v2.2.1";
2301327c0f5fSStephan Gerhold			reg = <0x078b8000 0x500>;
2302327c0f5fSStephan Gerhold			interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
23032374b99eSKrzysztof Kozlowski			clocks = <&gcc GCC_BLSP1_QUP4_I2C_APPS_CLK>,
23042374b99eSKrzysztof Kozlowski				 <&gcc GCC_BLSP1_AHB_CLK>;
23052374b99eSKrzysztof Kozlowski			clock-names = "core", "iface";
2306389d2c99SStephan Gerhold			dmas = <&blsp_dma 10>, <&blsp_dma 11>;
2307389d2c99SStephan Gerhold			dma-names = "tx", "rx";
2308327c0f5fSStephan Gerhold			pinctrl-names = "default", "sleep";
2309fdfc21f6SStephan Gerhold			pinctrl-0 = <&blsp_i2c4_default>;
2310fdfc21f6SStephan Gerhold			pinctrl-1 = <&blsp_i2c4_sleep>;
2311327c0f5fSStephan Gerhold			#address-cells = <1>;
2312327c0f5fSStephan Gerhold			#size-cells = <0>;
2313327c0f5fSStephan Gerhold			status = "disabled";
2314327c0f5fSStephan Gerhold		};
2315327c0f5fSStephan Gerhold
2316327c0f5fSStephan Gerhold		blsp_spi4: spi@78b8000 {
2317327c0f5fSStephan Gerhold			compatible = "qcom,spi-qup-v2.2.1";
2318327c0f5fSStephan Gerhold			reg = <0x078b8000 0x500>;
2319327c0f5fSStephan Gerhold			interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
2320327c0f5fSStephan Gerhold			clocks = <&gcc GCC_BLSP1_QUP4_SPI_APPS_CLK>,
2321327c0f5fSStephan Gerhold				 <&gcc GCC_BLSP1_AHB_CLK>;
2322327c0f5fSStephan Gerhold			clock-names = "core", "iface";
23230e1b27f4SKrzysztof Kozlowski			dmas = <&blsp_dma 10>, <&blsp_dma 11>;
23240e1b27f4SKrzysztof Kozlowski			dma-names = "tx", "rx";
2325327c0f5fSStephan Gerhold			pinctrl-names = "default", "sleep";
2326fdfc21f6SStephan Gerhold			pinctrl-0 = <&blsp_spi4_default>;
2327fdfc21f6SStephan Gerhold			pinctrl-1 = <&blsp_spi4_sleep>;
2328327c0f5fSStephan Gerhold			#address-cells = <1>;
2329327c0f5fSStephan Gerhold			#size-cells = <0>;
2330327c0f5fSStephan Gerhold			status = "disabled";
2331327c0f5fSStephan Gerhold		};
2332327c0f5fSStephan Gerhold
2333327c0f5fSStephan Gerhold		blsp_i2c5: i2c@78b9000 {
2334327c0f5fSStephan Gerhold			compatible = "qcom,i2c-qup-v2.2.1";
2335327c0f5fSStephan Gerhold			reg = <0x078b9000 0x500>;
2336327c0f5fSStephan Gerhold			interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
23372374b99eSKrzysztof Kozlowski			clocks = <&gcc GCC_BLSP1_QUP5_I2C_APPS_CLK>,
23382374b99eSKrzysztof Kozlowski				 <&gcc GCC_BLSP1_AHB_CLK>;
23392374b99eSKrzysztof Kozlowski			clock-names = "core", "iface";
2340389d2c99SStephan Gerhold			dmas = <&blsp_dma 12>, <&blsp_dma 13>;
2341389d2c99SStephan Gerhold			dma-names = "tx", "rx";
2342327c0f5fSStephan Gerhold			pinctrl-names = "default", "sleep";
2343fdfc21f6SStephan Gerhold			pinctrl-0 = <&blsp_i2c5_default>;
2344fdfc21f6SStephan Gerhold			pinctrl-1 = <&blsp_i2c5_sleep>;
2345327c0f5fSStephan Gerhold			#address-cells = <1>;
2346327c0f5fSStephan Gerhold			#size-cells = <0>;
2347327c0f5fSStephan Gerhold			status = "disabled";
2348327c0f5fSStephan Gerhold		};
2349327c0f5fSStephan Gerhold
2350327c0f5fSStephan Gerhold		blsp_spi5: spi@78b9000 {
2351327c0f5fSStephan Gerhold			compatible = "qcom,spi-qup-v2.2.1";
2352327c0f5fSStephan Gerhold			reg = <0x078b9000 0x500>;
2353327c0f5fSStephan Gerhold			interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
2354327c0f5fSStephan Gerhold			clocks = <&gcc GCC_BLSP1_QUP5_SPI_APPS_CLK>,
2355327c0f5fSStephan Gerhold				 <&gcc GCC_BLSP1_AHB_CLK>;
2356327c0f5fSStephan Gerhold			clock-names = "core", "iface";
23570e1b27f4SKrzysztof Kozlowski			dmas = <&blsp_dma 12>, <&blsp_dma 13>;
23580e1b27f4SKrzysztof Kozlowski			dma-names = "tx", "rx";
2359327c0f5fSStephan Gerhold			pinctrl-names = "default", "sleep";
2360fdfc21f6SStephan Gerhold			pinctrl-0 = <&blsp_spi5_default>;
2361fdfc21f6SStephan Gerhold			pinctrl-1 = <&blsp_spi5_sleep>;
2362327c0f5fSStephan Gerhold			#address-cells = <1>;
2363327c0f5fSStephan Gerhold			#size-cells = <0>;
2364327c0f5fSStephan Gerhold			status = "disabled";
2365327c0f5fSStephan Gerhold		};
2366327c0f5fSStephan Gerhold
2367327c0f5fSStephan Gerhold		blsp_i2c6: i2c@78ba000 {
2368327c0f5fSStephan Gerhold			compatible = "qcom,i2c-qup-v2.2.1";
2369327c0f5fSStephan Gerhold			reg = <0x078ba000 0x500>;
2370327c0f5fSStephan Gerhold			interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
23712374b99eSKrzysztof Kozlowski			clocks = <&gcc GCC_BLSP1_QUP6_I2C_APPS_CLK>,
23722374b99eSKrzysztof Kozlowski				 <&gcc GCC_BLSP1_AHB_CLK>;
23732374b99eSKrzysztof Kozlowski			clock-names = "core", "iface";
2374389d2c99SStephan Gerhold			dmas = <&blsp_dma 14>, <&blsp_dma 15>;
2375389d2c99SStephan Gerhold			dma-names = "tx", "rx";
2376327c0f5fSStephan Gerhold			pinctrl-names = "default", "sleep";
2377fdfc21f6SStephan Gerhold			pinctrl-0 = <&blsp_i2c6_default>;
2378fdfc21f6SStephan Gerhold			pinctrl-1 = <&blsp_i2c6_sleep>;
2379327c0f5fSStephan Gerhold			#address-cells = <1>;
2380327c0f5fSStephan Gerhold			#size-cells = <0>;
2381327c0f5fSStephan Gerhold			status = "disabled";
2382327c0f5fSStephan Gerhold		};
2383327c0f5fSStephan Gerhold
2384327c0f5fSStephan Gerhold		blsp_spi6: spi@78ba000 {
2385327c0f5fSStephan Gerhold			compatible = "qcom,spi-qup-v2.2.1";
2386327c0f5fSStephan Gerhold			reg = <0x078ba000 0x500>;
2387327c0f5fSStephan Gerhold			interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
2388327c0f5fSStephan Gerhold			clocks = <&gcc GCC_BLSP1_QUP6_SPI_APPS_CLK>,
2389327c0f5fSStephan Gerhold				 <&gcc GCC_BLSP1_AHB_CLK>;
2390327c0f5fSStephan Gerhold			clock-names = "core", "iface";
23910e1b27f4SKrzysztof Kozlowski			dmas = <&blsp_dma 14>, <&blsp_dma 15>;
23920e1b27f4SKrzysztof Kozlowski			dma-names = "tx", "rx";
2393327c0f5fSStephan Gerhold			pinctrl-names = "default", "sleep";
2394fdfc21f6SStephan Gerhold			pinctrl-0 = <&blsp_spi6_default>;
2395fdfc21f6SStephan Gerhold			pinctrl-1 = <&blsp_spi6_sleep>;
2396327c0f5fSStephan Gerhold			#address-cells = <1>;
2397327c0f5fSStephan Gerhold			#size-cells = <0>;
2398327c0f5fSStephan Gerhold			status = "disabled";
2399327c0f5fSStephan Gerhold		};
2400327c0f5fSStephan Gerhold
2401327c0f5fSStephan Gerhold		usb: usb@78d9000 {
2402327c0f5fSStephan Gerhold			compatible = "qcom,ci-hdrc";
2403327c0f5fSStephan Gerhold			reg = <0x078d9000 0x200>,
2404327c0f5fSStephan Gerhold			      <0x078d9200 0x200>;
2405327c0f5fSStephan Gerhold			interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
2406327c0f5fSStephan Gerhold				     <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>;
2407327c0f5fSStephan Gerhold			clocks = <&gcc GCC_USB_HS_AHB_CLK>,
2408327c0f5fSStephan Gerhold				 <&gcc GCC_USB_HS_SYSTEM_CLK>;
2409327c0f5fSStephan Gerhold			clock-names = "iface", "core";
2410327c0f5fSStephan Gerhold			assigned-clocks = <&gcc GCC_USB_HS_SYSTEM_CLK>;
2411327c0f5fSStephan Gerhold			assigned-clock-rates = <80000000>;
2412327c0f5fSStephan Gerhold			resets = <&gcc GCC_USB_HS_BCR>;
2413327c0f5fSStephan Gerhold			reset-names = "core";
2414327c0f5fSStephan Gerhold			phy_type = "ulpi";
2415327c0f5fSStephan Gerhold			dr_mode = "otg";
2416327c0f5fSStephan Gerhold			hnp-disable;
2417327c0f5fSStephan Gerhold			srp-disable;
2418327c0f5fSStephan Gerhold			adp-disable;
2419327c0f5fSStephan Gerhold			ahb-burst-config = <0>;
2420327c0f5fSStephan Gerhold			phy-names = "usb-phy";
2421327c0f5fSStephan Gerhold			phys = <&usb_hs_phy>;
2422327c0f5fSStephan Gerhold			status = "disabled";
2423327c0f5fSStephan Gerhold			#reset-cells = <1>;
2424327c0f5fSStephan Gerhold
2425327c0f5fSStephan Gerhold			ulpi {
2426327c0f5fSStephan Gerhold				usb_hs_phy: phy {
2427327c0f5fSStephan Gerhold					compatible = "qcom,usb-hs-phy-msm8916",
2428327c0f5fSStephan Gerhold						     "qcom,usb-hs-phy";
2429327c0f5fSStephan Gerhold					#phy-cells = <0>;
2430327c0f5fSStephan Gerhold					clocks = <&xo_board>, <&gcc GCC_USB2A_PHY_SLEEP_CLK>;
2431327c0f5fSStephan Gerhold					clock-names = "ref", "sleep";
2432327c0f5fSStephan Gerhold					resets = <&gcc GCC_USB2A_PHY_BCR>, <&usb 0>;
2433327c0f5fSStephan Gerhold					reset-names = "phy", "por";
2434640e71aaSDavid Heidelberg					qcom,init-seq = /bits/ 8 <0x0 0x44>,
2435640e71aaSDavid Heidelberg								 <0x1 0x6b>,
2436640e71aaSDavid Heidelberg								 <0x2 0x24>,
2437640e71aaSDavid Heidelberg								 <0x3 0x13>;
2438327c0f5fSStephan Gerhold				};
2439327c0f5fSStephan Gerhold			};
2440327c0f5fSStephan Gerhold		};
2441327c0f5fSStephan Gerhold
24421f9a41bbSKrzysztof Kozlowski		wcnss: remoteproc@a204000 {
2443327c0f5fSStephan Gerhold			compatible = "qcom,pronto-v2-pil", "qcom,pronto";
2444327c0f5fSStephan Gerhold			reg = <0x0a204000 0x2000>, <0x0a202000 0x1000>, <0x0a21b000 0x3000>;
2445327c0f5fSStephan Gerhold			reg-names = "ccu", "dxe", "pmu";
2446327c0f5fSStephan Gerhold
2447327c0f5fSStephan Gerhold			memory-region = <&wcnss_mem>;
2448327c0f5fSStephan Gerhold
2449327c0f5fSStephan Gerhold			interrupts-extended = <&intc GIC_SPI 149 IRQ_TYPE_EDGE_RISING>,
2450327c0f5fSStephan Gerhold					      <&wcnss_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
2451327c0f5fSStephan Gerhold					      <&wcnss_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
2452327c0f5fSStephan Gerhold					      <&wcnss_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
2453327c0f5fSStephan Gerhold					      <&wcnss_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
2454327c0f5fSStephan Gerhold			interrupt-names = "wdog", "fatal", "ready", "handover", "stop-ack";
2455327c0f5fSStephan Gerhold
2456809f299aSStephan Gerhold			power-domains = <&rpmpd MSM8916_VDDCX>,
2457809f299aSStephan Gerhold					<&rpmpd MSM8916_VDDMX>;
2458809f299aSStephan Gerhold			power-domain-names = "cx", "mx";
2459809f299aSStephan Gerhold
24605458d6f2SSireesh Kodali			qcom,smem-states = <&wcnss_smp2p_out 0>;
24615458d6f2SSireesh Kodali			qcom,smem-state-names = "stop";
2462327c0f5fSStephan Gerhold
2463327c0f5fSStephan Gerhold			pinctrl-names = "default";
2464b40de51eSStephan Gerhold			pinctrl-0 = <&wcss_wlan_default>;
2465327c0f5fSStephan Gerhold
2466327c0f5fSStephan Gerhold			status = "disabled";
2467327c0f5fSStephan Gerhold
246832444424SStephan Gerhold			wcnss_iris: iris {
246932444424SStephan Gerhold				/* Separate chip, compatible is board-specific */
2470327c0f5fSStephan Gerhold				clocks = <&rpmcc RPM_SMD_RF_CLK2>;
2471327c0f5fSStephan Gerhold				clock-names = "xo";
2472327c0f5fSStephan Gerhold			};
2473327c0f5fSStephan Gerhold
2474327c0f5fSStephan Gerhold			smd-edge {
2475327c0f5fSStephan Gerhold				interrupts = <GIC_SPI 142 IRQ_TYPE_EDGE_RISING>;
2476327c0f5fSStephan Gerhold
24773e971470SLuca Weiss				mboxes = <&apcs 17>;
2478327c0f5fSStephan Gerhold				qcom,smd-edge = <6>;
2479327c0f5fSStephan Gerhold				qcom,remote-pid = <4>;
2480327c0f5fSStephan Gerhold
2481327c0f5fSStephan Gerhold				label = "pronto";
2482327c0f5fSStephan Gerhold
24830f6b380dSBjorn Andersson				wcnss_ctrl: wcnss {
2484327c0f5fSStephan Gerhold					compatible = "qcom,wcnss";
2485327c0f5fSStephan Gerhold					qcom,smd-channels = "WCNSS_CTRL";
2486327c0f5fSStephan Gerhold
248732444424SStephan Gerhold					qcom,mmio = <&wcnss>;
2488327c0f5fSStephan Gerhold
248932444424SStephan Gerhold					wcnss_bt: bluetooth {
2490327c0f5fSStephan Gerhold						compatible = "qcom,wcnss-bt";
2491327c0f5fSStephan Gerhold					};
2492327c0f5fSStephan Gerhold
249332444424SStephan Gerhold					wcnss_wifi: wifi {
2494327c0f5fSStephan Gerhold						compatible = "qcom,wcnss-wlan";
2495327c0f5fSStephan Gerhold
2496327c0f5fSStephan Gerhold						interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>,
2497327c0f5fSStephan Gerhold							     <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>;
2498327c0f5fSStephan Gerhold						interrupt-names = "tx", "rx";
2499327c0f5fSStephan Gerhold
2500327c0f5fSStephan Gerhold						qcom,smem-states = <&apps_smsm 10>, <&apps_smsm 9>;
2501327c0f5fSStephan Gerhold						qcom,smem-state-names = "tx-enable", "tx-rings-empty";
2502327c0f5fSStephan Gerhold					};
2503327c0f5fSStephan Gerhold				};
2504327c0f5fSStephan Gerhold			};
2505327c0f5fSStephan Gerhold		};
2506327c0f5fSStephan Gerhold
2507327c0f5fSStephan Gerhold		intc: interrupt-controller@b000000 {
2508327c0f5fSStephan Gerhold			compatible = "qcom,msm-qgic2";
2509327c0f5fSStephan Gerhold			interrupt-controller;
2510327c0f5fSStephan Gerhold			#interrupt-cells = <3>;
25118385119bSStephan Gerhold			reg = <0x0b000000 0x1000>, <0x0b002000 0x2000>,
25128385119bSStephan Gerhold			      <0x0b001000 0x1000>, <0x0b004000 0x2000>;
25138385119bSStephan Gerhold			interrupts = <GIC_PPI 0 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
2514327c0f5fSStephan Gerhold		};
2515327c0f5fSStephan Gerhold
2516327c0f5fSStephan Gerhold		apcs: mailbox@b011000 {
2517327c0f5fSStephan Gerhold			compatible = "qcom,msm8916-apcs-kpss-global", "syscon";
2518327c0f5fSStephan Gerhold			reg = <0x0b011000 0x1000>;
2519327c0f5fSStephan Gerhold			#mbox-cells = <1>;
2520327c0f5fSStephan Gerhold			clocks = <&a53pll>, <&gcc GPLL0_VOTE>;
2521327c0f5fSStephan Gerhold			clock-names = "pll", "aux";
2522327c0f5fSStephan Gerhold			#clock-cells = <0>;
2523327c0f5fSStephan Gerhold		};
2524327c0f5fSStephan Gerhold
2525327c0f5fSStephan Gerhold		a53pll: clock@b016000 {
2526327c0f5fSStephan Gerhold			compatible = "qcom,msm8916-a53pll";
2527327c0f5fSStephan Gerhold			reg = <0x0b016000 0x40>;
2528327c0f5fSStephan Gerhold			#clock-cells = <0>;
252993d7cf2eSDmitry Baryshkov			clocks = <&xo_board>;
253093d7cf2eSDmitry Baryshkov			clock-names = "xo";
2531327c0f5fSStephan Gerhold		};
2532327c0f5fSStephan Gerhold
2533327c0f5fSStephan Gerhold		timer@b020000 {
2534327c0f5fSStephan Gerhold			#address-cells = <1>;
2535327c0f5fSStephan Gerhold			#size-cells = <1>;
2536327c0f5fSStephan Gerhold			ranges;
2537327c0f5fSStephan Gerhold			compatible = "arm,armv7-timer-mem";
2538327c0f5fSStephan Gerhold			reg = <0x0b020000 0x1000>;
2539327c0f5fSStephan Gerhold			clock-frequency = <19200000>;
2540327c0f5fSStephan Gerhold
2541327c0f5fSStephan Gerhold			frame@b021000 {
2542327c0f5fSStephan Gerhold				frame-number = <0>;
2543327c0f5fSStephan Gerhold				interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
2544327c0f5fSStephan Gerhold					     <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
2545327c0f5fSStephan Gerhold				reg = <0x0b021000 0x1000>,
2546327c0f5fSStephan Gerhold				      <0x0b022000 0x1000>;
2547327c0f5fSStephan Gerhold			};
2548327c0f5fSStephan Gerhold
2549327c0f5fSStephan Gerhold			frame@b023000 {
2550327c0f5fSStephan Gerhold				frame-number = <1>;
2551327c0f5fSStephan Gerhold				interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
2552327c0f5fSStephan Gerhold				reg = <0x0b023000 0x1000>;
2553327c0f5fSStephan Gerhold				status = "disabled";
2554327c0f5fSStephan Gerhold			};
2555327c0f5fSStephan Gerhold
2556327c0f5fSStephan Gerhold			frame@b024000 {
2557327c0f5fSStephan Gerhold				frame-number = <2>;
2558327c0f5fSStephan Gerhold				interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
2559327c0f5fSStephan Gerhold				reg = <0x0b024000 0x1000>;
2560327c0f5fSStephan Gerhold				status = "disabled";
2561327c0f5fSStephan Gerhold			};
2562327c0f5fSStephan Gerhold
2563327c0f5fSStephan Gerhold			frame@b025000 {
2564327c0f5fSStephan Gerhold				frame-number = <3>;
2565327c0f5fSStephan Gerhold				interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
2566327c0f5fSStephan Gerhold				reg = <0x0b025000 0x1000>;
2567327c0f5fSStephan Gerhold				status = "disabled";
2568327c0f5fSStephan Gerhold			};
2569327c0f5fSStephan Gerhold
2570327c0f5fSStephan Gerhold			frame@b026000 {
2571327c0f5fSStephan Gerhold				frame-number = <4>;
2572327c0f5fSStephan Gerhold				interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
2573327c0f5fSStephan Gerhold				reg = <0x0b026000 0x1000>;
2574327c0f5fSStephan Gerhold				status = "disabled";
2575327c0f5fSStephan Gerhold			};
2576327c0f5fSStephan Gerhold
2577327c0f5fSStephan Gerhold			frame@b027000 {
2578327c0f5fSStephan Gerhold				frame-number = <5>;
2579327c0f5fSStephan Gerhold				interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
2580327c0f5fSStephan Gerhold				reg = <0x0b027000 0x1000>;
2581327c0f5fSStephan Gerhold				status = "disabled";
2582327c0f5fSStephan Gerhold			};
2583327c0f5fSStephan Gerhold
2584327c0f5fSStephan Gerhold			frame@b028000 {
2585327c0f5fSStephan Gerhold				frame-number = <6>;
2586327c0f5fSStephan Gerhold				interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
2587327c0f5fSStephan Gerhold				reg = <0x0b028000 0x1000>;
2588327c0f5fSStephan Gerhold				status = "disabled";
2589327c0f5fSStephan Gerhold			};
2590327c0f5fSStephan Gerhold		};
2591a22f9a76SStephan Gerhold
2592a22f9a76SStephan Gerhold		cpu0_acc: power-manager@b088000 {
2593a22f9a76SStephan Gerhold			compatible = "qcom,msm8916-acc";
2594a22f9a76SStephan Gerhold			reg = <0x0b088000 0x1000>;
2595a22f9a76SStephan Gerhold			status = "reserved"; /* Controlled by PSCI firmware */
2596a22f9a76SStephan Gerhold		};
2597a22f9a76SStephan Gerhold
2598a22f9a76SStephan Gerhold		cpu0_saw: power-manager@b089000 {
2599a22f9a76SStephan Gerhold			compatible = "qcom,msm8916-saw2-v3.0-cpu", "qcom,saw2";
2600a22f9a76SStephan Gerhold			reg = <0x0b089000 0x1000>;
2601a22f9a76SStephan Gerhold			status = "reserved"; /* Controlled by PSCI firmware */
2602a22f9a76SStephan Gerhold		};
2603a22f9a76SStephan Gerhold
2604a22f9a76SStephan Gerhold		cpu1_acc: power-manager@b098000 {
2605a22f9a76SStephan Gerhold			compatible = "qcom,msm8916-acc";
2606a22f9a76SStephan Gerhold			reg = <0x0b098000 0x1000>;
2607a22f9a76SStephan Gerhold			status = "reserved"; /* Controlled by PSCI firmware */
2608a22f9a76SStephan Gerhold		};
2609a22f9a76SStephan Gerhold
2610a22f9a76SStephan Gerhold		cpu1_saw: power-manager@b099000 {
2611a22f9a76SStephan Gerhold			compatible = "qcom,msm8916-saw2-v3.0-cpu", "qcom,saw2";
2612a22f9a76SStephan Gerhold			reg = <0x0b099000 0x1000>;
2613a22f9a76SStephan Gerhold			status = "reserved"; /* Controlled by PSCI firmware */
2614a22f9a76SStephan Gerhold		};
2615a22f9a76SStephan Gerhold
2616a22f9a76SStephan Gerhold		cpu2_acc: power-manager@b0a8000 {
2617a22f9a76SStephan Gerhold			compatible = "qcom,msm8916-acc";
2618a22f9a76SStephan Gerhold			reg = <0x0b0a8000 0x1000>;
2619a22f9a76SStephan Gerhold			status = "reserved"; /* Controlled by PSCI firmware */
2620a22f9a76SStephan Gerhold		};
2621a22f9a76SStephan Gerhold
2622a22f9a76SStephan Gerhold		cpu2_saw: power-manager@b0a9000 {
2623a22f9a76SStephan Gerhold			compatible = "qcom,msm8916-saw2-v3.0-cpu", "qcom,saw2";
2624a22f9a76SStephan Gerhold			reg = <0x0b0a9000 0x1000>;
2625a22f9a76SStephan Gerhold			status = "reserved"; /* Controlled by PSCI firmware */
2626a22f9a76SStephan Gerhold		};
2627a22f9a76SStephan Gerhold
2628a22f9a76SStephan Gerhold		cpu3_acc: power-manager@b0b8000 {
2629a22f9a76SStephan Gerhold			compatible = "qcom,msm8916-acc";
2630a22f9a76SStephan Gerhold			reg = <0x0b0b8000 0x1000>;
2631a22f9a76SStephan Gerhold			status = "reserved"; /* Controlled by PSCI firmware */
2632a22f9a76SStephan Gerhold		};
2633a22f9a76SStephan Gerhold
2634a22f9a76SStephan Gerhold		cpu3_saw: power-manager@b0b9000 {
2635a22f9a76SStephan Gerhold			compatible = "qcom,msm8916-saw2-v3.0-cpu", "qcom,saw2";
2636a22f9a76SStephan Gerhold			reg = <0x0b0b9000 0x1000>;
2637a22f9a76SStephan Gerhold			status = "reserved"; /* Controlled by PSCI firmware */
2638a22f9a76SStephan Gerhold		};
2639327c0f5fSStephan Gerhold	};
2640327c0f5fSStephan Gerhold
2641327c0f5fSStephan Gerhold	thermal-zones {
2642327c0f5fSStephan Gerhold		cpu0-1-thermal {
2643327c0f5fSStephan Gerhold			polling-delay-passive = <250>;
2644327c0f5fSStephan Gerhold
2645327c0f5fSStephan Gerhold			thermal-sensors = <&tsens 5>;
2646327c0f5fSStephan Gerhold
2647327c0f5fSStephan Gerhold			trips {
2648327c0f5fSStephan Gerhold				cpu0_1_alert0: trip-point0 {
2649327c0f5fSStephan Gerhold					temperature = <75000>;
2650327c0f5fSStephan Gerhold					hysteresis = <2000>;
2651327c0f5fSStephan Gerhold					type = "passive";
2652327c0f5fSStephan Gerhold				};
26531364acc3SKrzysztof Kozlowski				cpu0_1_crit: cpu-crit {
2654327c0f5fSStephan Gerhold					temperature = <110000>;
2655327c0f5fSStephan Gerhold					hysteresis = <2000>;
2656327c0f5fSStephan Gerhold					type = "critical";
2657327c0f5fSStephan Gerhold				};
2658327c0f5fSStephan Gerhold			};
2659327c0f5fSStephan Gerhold
2660327c0f5fSStephan Gerhold			cooling-maps {
2661327c0f5fSStephan Gerhold				map0 {
2662327c0f5fSStephan Gerhold					trip = <&cpu0_1_alert0>;
26632df0741cSKrzysztof Kozlowski					cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
26642df0741cSKrzysztof Kozlowski							 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
26652df0741cSKrzysztof Kozlowski							 <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
26662df0741cSKrzysztof Kozlowski							 <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
2667327c0f5fSStephan Gerhold				};
2668327c0f5fSStephan Gerhold			};
2669327c0f5fSStephan Gerhold		};
2670327c0f5fSStephan Gerhold
2671327c0f5fSStephan Gerhold		cpu2-3-thermal {
2672327c0f5fSStephan Gerhold			polling-delay-passive = <250>;
2673327c0f5fSStephan Gerhold
2674327c0f5fSStephan Gerhold			thermal-sensors = <&tsens 4>;
2675327c0f5fSStephan Gerhold
2676327c0f5fSStephan Gerhold			trips {
2677327c0f5fSStephan Gerhold				cpu2_3_alert0: trip-point0 {
2678327c0f5fSStephan Gerhold					temperature = <75000>;
2679327c0f5fSStephan Gerhold					hysteresis = <2000>;
2680327c0f5fSStephan Gerhold					type = "passive";
2681327c0f5fSStephan Gerhold				};
26821364acc3SKrzysztof Kozlowski				cpu2_3_crit: cpu-crit {
2683327c0f5fSStephan Gerhold					temperature = <110000>;
2684327c0f5fSStephan Gerhold					hysteresis = <2000>;
2685327c0f5fSStephan Gerhold					type = "critical";
2686327c0f5fSStephan Gerhold				};
2687327c0f5fSStephan Gerhold			};
2688327c0f5fSStephan Gerhold
2689327c0f5fSStephan Gerhold			cooling-maps {
2690327c0f5fSStephan Gerhold				map0 {
2691327c0f5fSStephan Gerhold					trip = <&cpu2_3_alert0>;
26922df0741cSKrzysztof Kozlowski					cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
26932df0741cSKrzysztof Kozlowski							 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
26942df0741cSKrzysztof Kozlowski							 <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
26952df0741cSKrzysztof Kozlowski							 <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
2696327c0f5fSStephan Gerhold				};
2697327c0f5fSStephan Gerhold			};
2698327c0f5fSStephan Gerhold		};
2699327c0f5fSStephan Gerhold
2700327c0f5fSStephan Gerhold		gpu-thermal {
2701327c0f5fSStephan Gerhold			polling-delay-passive = <250>;
2702327c0f5fSStephan Gerhold
2703327c0f5fSStephan Gerhold			thermal-sensors = <&tsens 2>;
2704327c0f5fSStephan Gerhold
270504ee8304SKonrad Dybcio			cooling-maps {
270604ee8304SKonrad Dybcio				map0 {
270704ee8304SKonrad Dybcio					trip = <&gpu_alert0>;
270804ee8304SKonrad Dybcio					cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
270904ee8304SKonrad Dybcio				};
271004ee8304SKonrad Dybcio			};
271104ee8304SKonrad Dybcio
2712327c0f5fSStephan Gerhold			trips {
2713327c0f5fSStephan Gerhold				gpu_alert0: trip-point0 {
2714327c0f5fSStephan Gerhold					temperature = <75000>;
2715327c0f5fSStephan Gerhold					hysteresis = <2000>;
2716327c0f5fSStephan Gerhold					type = "passive";
2717327c0f5fSStephan Gerhold				};
27181364acc3SKrzysztof Kozlowski				gpu_crit: gpu-crit {
2719327c0f5fSStephan Gerhold					temperature = <95000>;
2720327c0f5fSStephan Gerhold					hysteresis = <2000>;
2721327c0f5fSStephan Gerhold					type = "critical";
2722327c0f5fSStephan Gerhold				};
2723327c0f5fSStephan Gerhold			};
2724327c0f5fSStephan Gerhold		};
2725327c0f5fSStephan Gerhold
2726327c0f5fSStephan Gerhold		camera-thermal {
2727327c0f5fSStephan Gerhold			polling-delay-passive = <250>;
2728327c0f5fSStephan Gerhold
2729327c0f5fSStephan Gerhold			thermal-sensors = <&tsens 1>;
2730327c0f5fSStephan Gerhold
2731327c0f5fSStephan Gerhold			trips {
2732327c0f5fSStephan Gerhold				cam_alert0: trip-point0 {
2733327c0f5fSStephan Gerhold					temperature = <75000>;
2734327c0f5fSStephan Gerhold					hysteresis = <2000>;
2735327c0f5fSStephan Gerhold					type = "hot";
2736327c0f5fSStephan Gerhold				};
2737327c0f5fSStephan Gerhold			};
2738327c0f5fSStephan Gerhold		};
2739327c0f5fSStephan Gerhold
2740327c0f5fSStephan Gerhold		modem-thermal {
2741327c0f5fSStephan Gerhold			polling-delay-passive = <250>;
2742327c0f5fSStephan Gerhold
2743327c0f5fSStephan Gerhold			thermal-sensors = <&tsens 0>;
2744327c0f5fSStephan Gerhold
2745327c0f5fSStephan Gerhold			trips {
2746327c0f5fSStephan Gerhold				modem_alert0: trip-point0 {
2747327c0f5fSStephan Gerhold					temperature = <85000>;
2748327c0f5fSStephan Gerhold					hysteresis = <2000>;
2749327c0f5fSStephan Gerhold					type = "hot";
2750327c0f5fSStephan Gerhold				};
2751327c0f5fSStephan Gerhold			};
2752327c0f5fSStephan Gerhold		};
2753327c0f5fSStephan Gerhold	};
2754327c0f5fSStephan Gerhold
2755327c0f5fSStephan Gerhold	timer {
2756327c0f5fSStephan Gerhold		compatible = "arm,armv8-timer";
2757327c0f5fSStephan Gerhold		interrupts = <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
2758327c0f5fSStephan Gerhold			     <GIC_PPI 3 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
2759327c0f5fSStephan Gerhold			     <GIC_PPI 4 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
2760327c0f5fSStephan Gerhold			     <GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
27611fb47e0aSBjorn Andersson	};
276257f0a7eaSKumar Gala};
2763