1c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-only
2c66ec88fSEmmanuel Vadot/* Copyright (c) 2013-2016, The Linux Foundation. All rights reserved.
3c66ec88fSEmmanuel Vadot */
4c66ec88fSEmmanuel Vadot
5c66ec88fSEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h>
6c66ec88fSEmmanuel Vadot#include <dt-bindings/clock/qcom,gcc-msm8994.h>
7d5b0e70fSEmmanuel Vadot#include <dt-bindings/clock/qcom,mmcc-msm8994.h>
8d5b0e70fSEmmanuel Vadot#include <dt-bindings/clock/qcom,rpmcc.h>
9*7ef62cebSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
105def4c47SEmmanuel Vadot#include <dt-bindings/power/qcom-rpmpd.h>
11c66ec88fSEmmanuel Vadot
12c66ec88fSEmmanuel Vadot/ {
13c66ec88fSEmmanuel Vadot	interrupt-parent = <&intc>;
14c66ec88fSEmmanuel Vadot
15c66ec88fSEmmanuel Vadot	#address-cells = <2>;
16c66ec88fSEmmanuel Vadot	#size-cells = <2>;
17c66ec88fSEmmanuel Vadot
18d5b0e70fSEmmanuel Vadot	aliases {
19d5b0e70fSEmmanuel Vadot		mmc1 = &sdhc1;
20d5b0e70fSEmmanuel Vadot		mmc2 = &sdhc2;
21d5b0e70fSEmmanuel Vadot	};
22d5b0e70fSEmmanuel Vadot
23c66ec88fSEmmanuel Vadot	chosen { };
24c66ec88fSEmmanuel Vadot
25c66ec88fSEmmanuel Vadot	clocks {
26354d7675SEmmanuel Vadot		xo_board: xo-board {
27c66ec88fSEmmanuel Vadot			compatible = "fixed-clock";
28c66ec88fSEmmanuel Vadot			#clock-cells = <0>;
29c66ec88fSEmmanuel Vadot			clock-frequency = <19200000>;
30354d7675SEmmanuel Vadot			clock-output-names = "xo_board";
31c66ec88fSEmmanuel Vadot		};
32c66ec88fSEmmanuel Vadot
33354d7675SEmmanuel Vadot		sleep_clk: sleep-clk {
34c66ec88fSEmmanuel Vadot			compatible = "fixed-clock";
35c66ec88fSEmmanuel Vadot			#clock-cells = <0>;
36c66ec88fSEmmanuel Vadot			clock-frequency = <32768>;
37354d7675SEmmanuel Vadot			clock-output-names = "sleep_clk";
38c66ec88fSEmmanuel Vadot		};
39c66ec88fSEmmanuel Vadot	};
40c66ec88fSEmmanuel Vadot
41c66ec88fSEmmanuel Vadot	cpus {
42c66ec88fSEmmanuel Vadot		#address-cells = <2>;
43c66ec88fSEmmanuel Vadot		#size-cells = <0>;
44c66ec88fSEmmanuel Vadot
45c66ec88fSEmmanuel Vadot		CPU0: cpu@0 {
46c66ec88fSEmmanuel Vadot			device_type = "cpu";
47c66ec88fSEmmanuel Vadot			compatible = "arm,cortex-a53";
48c66ec88fSEmmanuel Vadot			reg = <0x0 0x0>;
49c66ec88fSEmmanuel Vadot			enable-method = "psci";
50c66ec88fSEmmanuel Vadot			next-level-cache = <&L2_0>;
51c66ec88fSEmmanuel Vadot			L2_0: l2-cache {
52c66ec88fSEmmanuel Vadot				compatible = "cache";
53c66ec88fSEmmanuel Vadot				cache-level = <2>;
54c66ec88fSEmmanuel Vadot			};
55c66ec88fSEmmanuel Vadot		};
56c66ec88fSEmmanuel Vadot
57c66ec88fSEmmanuel Vadot		CPU1: cpu@1 {
58c66ec88fSEmmanuel Vadot			device_type = "cpu";
59c66ec88fSEmmanuel Vadot			compatible = "arm,cortex-a53";
60c66ec88fSEmmanuel Vadot			reg = <0x0 0x1>;
61c66ec88fSEmmanuel Vadot			enable-method = "psci";
62c66ec88fSEmmanuel Vadot			next-level-cache = <&L2_0>;
63c66ec88fSEmmanuel Vadot		};
64c66ec88fSEmmanuel Vadot
65c66ec88fSEmmanuel Vadot		CPU2: cpu@2 {
66c66ec88fSEmmanuel Vadot			device_type = "cpu";
67c66ec88fSEmmanuel Vadot			compatible = "arm,cortex-a53";
68c66ec88fSEmmanuel Vadot			reg = <0x0 0x2>;
69c66ec88fSEmmanuel Vadot			enable-method = "psci";
70c66ec88fSEmmanuel Vadot			next-level-cache = <&L2_0>;
71c66ec88fSEmmanuel Vadot		};
72c66ec88fSEmmanuel Vadot
73c66ec88fSEmmanuel Vadot		CPU3: cpu@3 {
74c66ec88fSEmmanuel Vadot			device_type = "cpu";
75c66ec88fSEmmanuel Vadot			compatible = "arm,cortex-a53";
76c66ec88fSEmmanuel Vadot			reg = <0x0 0x3>;
77c66ec88fSEmmanuel Vadot			enable-method = "psci";
78c66ec88fSEmmanuel Vadot			next-level-cache = <&L2_0>;
79c66ec88fSEmmanuel Vadot		};
80c66ec88fSEmmanuel Vadot
81c66ec88fSEmmanuel Vadot		CPU4: cpu@100 {
82c66ec88fSEmmanuel Vadot			device_type = "cpu";
83c66ec88fSEmmanuel Vadot			compatible = "arm,cortex-a57";
84c66ec88fSEmmanuel Vadot			reg = <0x0 0x100>;
85c66ec88fSEmmanuel Vadot			enable-method = "psci";
86c66ec88fSEmmanuel Vadot			next-level-cache = <&L2_1>;
87c66ec88fSEmmanuel Vadot			L2_1: l2-cache {
88c66ec88fSEmmanuel Vadot				compatible = "cache";
89c66ec88fSEmmanuel Vadot				cache-level = <2>;
90c66ec88fSEmmanuel Vadot			};
91c66ec88fSEmmanuel Vadot		};
92c66ec88fSEmmanuel Vadot
93c66ec88fSEmmanuel Vadot		CPU5: cpu@101 {
94c66ec88fSEmmanuel Vadot			device_type = "cpu";
95c66ec88fSEmmanuel Vadot			compatible = "arm,cortex-a57";
96c66ec88fSEmmanuel Vadot			reg = <0x0 0x101>;
97c66ec88fSEmmanuel Vadot			enable-method = "psci";
98c66ec88fSEmmanuel Vadot			next-level-cache = <&L2_1>;
99c66ec88fSEmmanuel Vadot		};
100c66ec88fSEmmanuel Vadot
101c66ec88fSEmmanuel Vadot		CPU6: cpu@102 {
102c66ec88fSEmmanuel Vadot			device_type = "cpu";
103c66ec88fSEmmanuel Vadot			compatible = "arm,cortex-a57";
104d5b0e70fSEmmanuel Vadot			reg = <0x0 0x102>;
105c66ec88fSEmmanuel Vadot			enable-method = "psci";
106c66ec88fSEmmanuel Vadot			next-level-cache = <&L2_1>;
107c66ec88fSEmmanuel Vadot		};
108c66ec88fSEmmanuel Vadot
109c66ec88fSEmmanuel Vadot		CPU7: cpu@103 {
110c66ec88fSEmmanuel Vadot			device_type = "cpu";
111c66ec88fSEmmanuel Vadot			compatible = "arm,cortex-a57";
112d5b0e70fSEmmanuel Vadot			reg = <0x0 0x103>;
113c66ec88fSEmmanuel Vadot			enable-method = "psci";
114c66ec88fSEmmanuel Vadot			next-level-cache = <&L2_1>;
115c66ec88fSEmmanuel Vadot		};
116c66ec88fSEmmanuel Vadot
117c66ec88fSEmmanuel Vadot		cpu-map {
118c66ec88fSEmmanuel Vadot			cluster0 {
119c66ec88fSEmmanuel Vadot				core0 {
120c66ec88fSEmmanuel Vadot					cpu = <&CPU0>;
121c66ec88fSEmmanuel Vadot				};
122c66ec88fSEmmanuel Vadot
123c66ec88fSEmmanuel Vadot				core1 {
124c66ec88fSEmmanuel Vadot					cpu = <&CPU1>;
125c66ec88fSEmmanuel Vadot				};
126c66ec88fSEmmanuel Vadot
127c66ec88fSEmmanuel Vadot				core2 {
128c66ec88fSEmmanuel Vadot					cpu = <&CPU2>;
129c66ec88fSEmmanuel Vadot				};
130c66ec88fSEmmanuel Vadot
131c66ec88fSEmmanuel Vadot				core3 {
132c66ec88fSEmmanuel Vadot					cpu = <&CPU3>;
133c66ec88fSEmmanuel Vadot				};
134c66ec88fSEmmanuel Vadot			};
135c66ec88fSEmmanuel Vadot
136c66ec88fSEmmanuel Vadot			cluster1 {
137c66ec88fSEmmanuel Vadot				core0 {
138c66ec88fSEmmanuel Vadot					cpu = <&CPU4>;
139c66ec88fSEmmanuel Vadot				};
140c66ec88fSEmmanuel Vadot
141c66ec88fSEmmanuel Vadot				core1 {
142c66ec88fSEmmanuel Vadot					cpu = <&CPU5>;
143c66ec88fSEmmanuel Vadot				};
144c66ec88fSEmmanuel Vadot
1455def4c47SEmmanuel Vadot				cpu6_map: core2 {
146c66ec88fSEmmanuel Vadot					cpu = <&CPU6>;
147c66ec88fSEmmanuel Vadot				};
148c66ec88fSEmmanuel Vadot
1495def4c47SEmmanuel Vadot				cpu7_map: core3 {
150c66ec88fSEmmanuel Vadot					cpu = <&CPU7>;
151c66ec88fSEmmanuel Vadot				};
152c66ec88fSEmmanuel Vadot			};
153c66ec88fSEmmanuel Vadot		};
154c66ec88fSEmmanuel Vadot	};
155c66ec88fSEmmanuel Vadot
156c66ec88fSEmmanuel Vadot	firmware {
157c66ec88fSEmmanuel Vadot		scm {
158c66ec88fSEmmanuel Vadot			compatible = "qcom,scm-msm8994", "qcom,scm";
159c66ec88fSEmmanuel Vadot		};
160c66ec88fSEmmanuel Vadot	};
161c66ec88fSEmmanuel Vadot
1622eb4d8dcSEmmanuel Vadot	memory@80000000 {
163c66ec88fSEmmanuel Vadot		device_type = "memory";
164c66ec88fSEmmanuel Vadot		/* We expect the bootloader to fill in the reg */
1652eb4d8dcSEmmanuel Vadot		reg = <0 0x80000000 0 0>;
166c66ec88fSEmmanuel Vadot	};
167c66ec88fSEmmanuel Vadot
168c66ec88fSEmmanuel Vadot	pmu {
169c66ec88fSEmmanuel Vadot		compatible = "arm,cortex-a53-pmu";
170c66ec88fSEmmanuel Vadot		interrupts = <GIC_PPI 7 (GIC_CPU_MASK_SIMPLE(4)| IRQ_TYPE_LEVEL_HIGH)>;
171c66ec88fSEmmanuel Vadot	};
172c66ec88fSEmmanuel Vadot
173c66ec88fSEmmanuel Vadot	psci {
174c66ec88fSEmmanuel Vadot		compatible = "arm,psci-0.2";
175c66ec88fSEmmanuel Vadot		method = "hvc";
176c66ec88fSEmmanuel Vadot	};
177c66ec88fSEmmanuel Vadot
178c66ec88fSEmmanuel Vadot	reserved-memory {
179c66ec88fSEmmanuel Vadot		#address-cells = <2>;
180c66ec88fSEmmanuel Vadot		#size-cells = <2>;
181c66ec88fSEmmanuel Vadot		ranges;
182c66ec88fSEmmanuel Vadot
1835def4c47SEmmanuel Vadot		dfps_data_mem: dfps_data_mem@3400000 {
1845def4c47SEmmanuel Vadot			reg = <0 0x03400000 0 0x1000>;
1855def4c47SEmmanuel Vadot			no-map;
1865def4c47SEmmanuel Vadot		};
1875def4c47SEmmanuel Vadot
188d5b0e70fSEmmanuel Vadot		cont_splash_mem: memory@3401000 {
189d5b0e70fSEmmanuel Vadot			reg = <0 0x03401000 0 0x2200000>;
1905def4c47SEmmanuel Vadot			no-map;
1915def4c47SEmmanuel Vadot		};
1925def4c47SEmmanuel Vadot
193c66ec88fSEmmanuel Vadot		smem_mem: smem_region@6a00000 {
1945def4c47SEmmanuel Vadot			reg = <0 0x06a00000 0 0x200000>;
1955def4c47SEmmanuel Vadot			no-map;
1965def4c47SEmmanuel Vadot		};
1975def4c47SEmmanuel Vadot
1985def4c47SEmmanuel Vadot		mpss_mem: memory@7000000 {
1995def4c47SEmmanuel Vadot			reg = <0 0x07000000 0 0x5a00000>;
2005def4c47SEmmanuel Vadot			no-map;
2015def4c47SEmmanuel Vadot		};
2025def4c47SEmmanuel Vadot
2035def4c47SEmmanuel Vadot		peripheral_region: memory@ca00000 {
2045def4c47SEmmanuel Vadot			reg = <0 0x0ca00000 0 0x1f00000>;
2055def4c47SEmmanuel Vadot			no-map;
2065def4c47SEmmanuel Vadot		};
2075def4c47SEmmanuel Vadot
2085def4c47SEmmanuel Vadot		rmtfs_mem: memory@c6400000 {
2095def4c47SEmmanuel Vadot			compatible = "qcom,rmtfs-mem";
2105def4c47SEmmanuel Vadot			reg = <0 0xc6400000 0 0x180000>;
2115def4c47SEmmanuel Vadot			no-map;
2125def4c47SEmmanuel Vadot
2135def4c47SEmmanuel Vadot			qcom,client-id = <1>;
2145def4c47SEmmanuel Vadot		};
2155def4c47SEmmanuel Vadot
2165def4c47SEmmanuel Vadot		mba_mem: memory@c6700000 {
2175def4c47SEmmanuel Vadot			reg = <0 0xc6700000 0 0x100000>;
2185def4c47SEmmanuel Vadot			no-map;
2195def4c47SEmmanuel Vadot		};
2205def4c47SEmmanuel Vadot
2215def4c47SEmmanuel Vadot		audio_mem: memory@c7000000 {
2225def4c47SEmmanuel Vadot			reg = <0 0xc7000000 0 0x800000>;
2235def4c47SEmmanuel Vadot			no-map;
2245def4c47SEmmanuel Vadot		};
2255def4c47SEmmanuel Vadot
2265def4c47SEmmanuel Vadot		adsp_mem: memory@c9400000 {
2275def4c47SEmmanuel Vadot			reg = <0 0xc9400000 0 0x3f00000>;
228c66ec88fSEmmanuel Vadot			no-map;
229c66ec88fSEmmanuel Vadot		};
230c66ec88fSEmmanuel Vadot	};
231c66ec88fSEmmanuel Vadot
232c66ec88fSEmmanuel Vadot	smd {
233c66ec88fSEmmanuel Vadot		compatible = "qcom,smd";
234c66ec88fSEmmanuel Vadot		rpm {
235c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
236c66ec88fSEmmanuel Vadot			qcom,ipc = <&apcs 8 0>;
237c66ec88fSEmmanuel Vadot			qcom,smd-edge = <15>;
238c66ec88fSEmmanuel Vadot			qcom,remote-pid = <6>;
239c66ec88fSEmmanuel Vadot
240c66ec88fSEmmanuel Vadot			rpm_requests: rpm-requests {
241c66ec88fSEmmanuel Vadot				compatible = "qcom,rpm-msm8994";
242c66ec88fSEmmanuel Vadot				qcom,smd-channels = "rpm_requests";
243c66ec88fSEmmanuel Vadot
244c66ec88fSEmmanuel Vadot				rpmcc: rpmcc {
245d5b0e70fSEmmanuel Vadot					compatible = "qcom,rpmcc-msm8994", "qcom,rpmcc";
246c66ec88fSEmmanuel Vadot					#clock-cells = <1>;
247c66ec88fSEmmanuel Vadot				};
2485def4c47SEmmanuel Vadot
2495def4c47SEmmanuel Vadot				rpmpd: power-controller {
2505def4c47SEmmanuel Vadot					compatible = "qcom,msm8994-rpmpd";
2515def4c47SEmmanuel Vadot					#power-domain-cells = <1>;
2525def4c47SEmmanuel Vadot					operating-points-v2 = <&rpmpd_opp_table>;
2535def4c47SEmmanuel Vadot
2545def4c47SEmmanuel Vadot					rpmpd_opp_table: opp-table {
2555def4c47SEmmanuel Vadot						compatible = "operating-points-v2";
2565def4c47SEmmanuel Vadot
2575def4c47SEmmanuel Vadot						rpmpd_opp_ret: opp1 {
2585def4c47SEmmanuel Vadot							opp-level = <1>;
2595def4c47SEmmanuel Vadot						};
2605def4c47SEmmanuel Vadot						rpmpd_opp_svs_krait: opp2 {
2615def4c47SEmmanuel Vadot							opp-level = <2>;
2625def4c47SEmmanuel Vadot						};
2635def4c47SEmmanuel Vadot						rpmpd_opp_svs_soc: opp3 {
2645def4c47SEmmanuel Vadot							opp-level = <3>;
2655def4c47SEmmanuel Vadot						};
2665def4c47SEmmanuel Vadot						rpmpd_opp_nom: opp4 {
2675def4c47SEmmanuel Vadot							opp-level = <4>;
2685def4c47SEmmanuel Vadot						};
2695def4c47SEmmanuel Vadot						rpmpd_opp_turbo: opp5 {
2705def4c47SEmmanuel Vadot							opp-level = <5>;
2715def4c47SEmmanuel Vadot						};
2725def4c47SEmmanuel Vadot						rpmpd_opp_super_turbo: opp6 {
2735def4c47SEmmanuel Vadot							opp-level = <6>;
2745def4c47SEmmanuel Vadot						};
2755def4c47SEmmanuel Vadot					};
2765def4c47SEmmanuel Vadot				};
277c66ec88fSEmmanuel Vadot			};
278c66ec88fSEmmanuel Vadot		};
279c66ec88fSEmmanuel Vadot	};
280c66ec88fSEmmanuel Vadot
281c66ec88fSEmmanuel Vadot	smem {
282c66ec88fSEmmanuel Vadot		compatible = "qcom,smem";
283c66ec88fSEmmanuel Vadot		memory-region = <&smem_mem>;
284c66ec88fSEmmanuel Vadot		qcom,rpm-msg-ram = <&rpm_msg_ram>;
285c66ec88fSEmmanuel Vadot		hwlocks = <&tcsr_mutex 3>;
286c66ec88fSEmmanuel Vadot	};
287c66ec88fSEmmanuel Vadot
2885def4c47SEmmanuel Vadot	smp2p-lpass {
2895def4c47SEmmanuel Vadot		compatible = "qcom,smp2p";
2905def4c47SEmmanuel Vadot		qcom,smem = <443>, <429>;
2915def4c47SEmmanuel Vadot
2925def4c47SEmmanuel Vadot		interrupts = <GIC_SPI 158 IRQ_TYPE_EDGE_RISING>;
2935def4c47SEmmanuel Vadot
2945def4c47SEmmanuel Vadot		qcom,ipc = <&apcs 8 10>;
2955def4c47SEmmanuel Vadot
2965def4c47SEmmanuel Vadot		qcom,local-pid = <0>;
2975def4c47SEmmanuel Vadot		qcom,remote-pid = <2>;
2985def4c47SEmmanuel Vadot
2995def4c47SEmmanuel Vadot		adsp_smp2p_out: master-kernel {
3005def4c47SEmmanuel Vadot			qcom,entry-name = "master-kernel";
3015def4c47SEmmanuel Vadot			#qcom,smem-state-cells = <1>;
3025def4c47SEmmanuel Vadot		};
3035def4c47SEmmanuel Vadot
3045def4c47SEmmanuel Vadot		adsp_smp2p_in: slave-kernel {
3055def4c47SEmmanuel Vadot			qcom,entry-name = "slave-kernel";
3065def4c47SEmmanuel Vadot
3075def4c47SEmmanuel Vadot			interrupt-controller;
3085def4c47SEmmanuel Vadot			#interrupt-cells = <2>;
3095def4c47SEmmanuel Vadot		};
3105def4c47SEmmanuel Vadot	};
3115def4c47SEmmanuel Vadot
3125def4c47SEmmanuel Vadot	smp2p-modem {
3135def4c47SEmmanuel Vadot		compatible = "qcom,smp2p";
3145def4c47SEmmanuel Vadot		qcom,smem = <435>, <428>;
3155def4c47SEmmanuel Vadot
3165def4c47SEmmanuel Vadot		interrupt-parent = <&intc>;
3175def4c47SEmmanuel Vadot		interrupts = <GIC_SPI 27 IRQ_TYPE_EDGE_RISING>;
3185def4c47SEmmanuel Vadot
3195def4c47SEmmanuel Vadot		qcom,ipc = <&apcs 8 14>;
3205def4c47SEmmanuel Vadot
3215def4c47SEmmanuel Vadot		qcom,local-pid = <0>;
3225def4c47SEmmanuel Vadot		qcom,remote-pid = <1>;
3235def4c47SEmmanuel Vadot
3245def4c47SEmmanuel Vadot		modem_smp2p_out: master-kernel {
3255def4c47SEmmanuel Vadot			qcom,entry-name = "master-kernel";
3265def4c47SEmmanuel Vadot			#qcom,smem-state-cells = <1>;
3275def4c47SEmmanuel Vadot		};
3285def4c47SEmmanuel Vadot
3295def4c47SEmmanuel Vadot		modem_smp2p_in: slave-kernel {
3305def4c47SEmmanuel Vadot			qcom,entry-name = "slave-kernel";
3315def4c47SEmmanuel Vadot
3325def4c47SEmmanuel Vadot			interrupt-controller;
3335def4c47SEmmanuel Vadot			#interrupt-cells = <2>;
3345def4c47SEmmanuel Vadot		};
3355def4c47SEmmanuel Vadot	};
3365def4c47SEmmanuel Vadot
337c66ec88fSEmmanuel Vadot	soc: soc {
338c66ec88fSEmmanuel Vadot
339c66ec88fSEmmanuel Vadot		#address-cells = <1>;
340c66ec88fSEmmanuel Vadot		#size-cells = <1>;
341c66ec88fSEmmanuel Vadot		ranges = <0 0 0 0xffffffff>;
342c66ec88fSEmmanuel Vadot		compatible = "simple-bus";
343c66ec88fSEmmanuel Vadot
344c66ec88fSEmmanuel Vadot		intc: interrupt-controller@f9000000 {
345c66ec88fSEmmanuel Vadot			compatible = "qcom,msm-qgic2";
346c66ec88fSEmmanuel Vadot			interrupt-controller;
347c66ec88fSEmmanuel Vadot			#interrupt-cells = <3>;
348c66ec88fSEmmanuel Vadot			reg = <0xf9000000 0x1000>,
349c66ec88fSEmmanuel Vadot			      <0xf9002000 0x1000>;
350c66ec88fSEmmanuel Vadot		};
351c66ec88fSEmmanuel Vadot
352c66ec88fSEmmanuel Vadot		apcs: mailbox@f900d000 {
353c66ec88fSEmmanuel Vadot			compatible = "qcom,msm8994-apcs-kpss-global", "syscon";
354c66ec88fSEmmanuel Vadot			reg = <0xf900d000 0x2000>;
355c66ec88fSEmmanuel Vadot			#mbox-cells = <1>;
356c66ec88fSEmmanuel Vadot		};
357c66ec88fSEmmanuel Vadot
358d5b0e70fSEmmanuel Vadot		watchdog@f9017000 {
359d5b0e70fSEmmanuel Vadot			compatible = "qcom,apss-wdt-msm8994", "qcom,kpss-wdt";
360d5b0e70fSEmmanuel Vadot			reg = <0xf9017000 0x1000>;
361d5b0e70fSEmmanuel Vadot			interrupts = <GIC_SPI 3 IRQ_TYPE_EDGE_RISING>,
362d5b0e70fSEmmanuel Vadot				     <GIC_SPI 4 IRQ_TYPE_EDGE_RISING>;
363d5b0e70fSEmmanuel Vadot			clocks = <&sleep_clk>;
364d5b0e70fSEmmanuel Vadot			timeout-sec = <10>;
365d5b0e70fSEmmanuel Vadot		};
366d5b0e70fSEmmanuel Vadot
367c66ec88fSEmmanuel Vadot		timer@f9020000 {
368c66ec88fSEmmanuel Vadot			#address-cells = <1>;
369c66ec88fSEmmanuel Vadot			#size-cells = <1>;
370c66ec88fSEmmanuel Vadot			ranges;
371c66ec88fSEmmanuel Vadot			compatible = "arm,armv7-timer-mem";
372c66ec88fSEmmanuel Vadot			reg = <0xf9020000 0x1000>;
373c66ec88fSEmmanuel Vadot
374c66ec88fSEmmanuel Vadot			frame@f9021000 {
375c66ec88fSEmmanuel Vadot				frame-number = <0>;
376c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
377c66ec88fSEmmanuel Vadot					     <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
378c66ec88fSEmmanuel Vadot				reg = <0xf9021000 0x1000>,
379c66ec88fSEmmanuel Vadot				      <0xf9022000 0x1000>;
380c66ec88fSEmmanuel Vadot			};
381c66ec88fSEmmanuel Vadot
382c66ec88fSEmmanuel Vadot			frame@f9023000 {
383c66ec88fSEmmanuel Vadot				frame-number = <1>;
384c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
385c66ec88fSEmmanuel Vadot				reg = <0xf9023000 0x1000>;
386c66ec88fSEmmanuel Vadot				status = "disabled";
387c66ec88fSEmmanuel Vadot			};
388c66ec88fSEmmanuel Vadot
389c66ec88fSEmmanuel Vadot			frame@f9024000 {
390c66ec88fSEmmanuel Vadot				frame-number = <2>;
391c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
392c66ec88fSEmmanuel Vadot				reg = <0xf9024000 0x1000>;
393c66ec88fSEmmanuel Vadot				status = "disabled";
394c66ec88fSEmmanuel Vadot			};
395c66ec88fSEmmanuel Vadot
396c66ec88fSEmmanuel Vadot			frame@f9025000 {
397c66ec88fSEmmanuel Vadot				frame-number = <3>;
398c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
399c66ec88fSEmmanuel Vadot				reg = <0xf9025000 0x1000>;
400c66ec88fSEmmanuel Vadot				status = "disabled";
401c66ec88fSEmmanuel Vadot			};
402c66ec88fSEmmanuel Vadot
403c66ec88fSEmmanuel Vadot			frame@f9026000 {
404c66ec88fSEmmanuel Vadot				frame-number = <4>;
405c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
406c66ec88fSEmmanuel Vadot				reg = <0xf9026000 0x1000>;
407c66ec88fSEmmanuel Vadot				status = "disabled";
408c66ec88fSEmmanuel Vadot			};
409c66ec88fSEmmanuel Vadot
410c66ec88fSEmmanuel Vadot			frame@f9027000 {
411c66ec88fSEmmanuel Vadot				frame-number = <5>;
412c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
413c66ec88fSEmmanuel Vadot				reg = <0xf9027000 0x1000>;
414c66ec88fSEmmanuel Vadot				status = "disabled";
415c66ec88fSEmmanuel Vadot			};
416c66ec88fSEmmanuel Vadot
417c66ec88fSEmmanuel Vadot			frame@f9028000 {
418c66ec88fSEmmanuel Vadot				frame-number = <6>;
419c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
420c66ec88fSEmmanuel Vadot				reg = <0xf9028000 0x1000>;
421c66ec88fSEmmanuel Vadot				status = "disabled";
422c66ec88fSEmmanuel Vadot			};
423c66ec88fSEmmanuel Vadot		};
424c66ec88fSEmmanuel Vadot
4255def4c47SEmmanuel Vadot		usb3: usb@f92f8800 {
426d5b0e70fSEmmanuel Vadot			compatible = "qcom,msm8994-dwc3", "qcom,dwc3";
4275def4c47SEmmanuel Vadot			reg = <0xf92f8800 0x400>;
4285def4c47SEmmanuel Vadot			#address-cells = <1>;
4295def4c47SEmmanuel Vadot			#size-cells = <1>;
4305def4c47SEmmanuel Vadot			ranges;
4315def4c47SEmmanuel Vadot
4325def4c47SEmmanuel Vadot			clocks = <&gcc GCC_USB30_MASTER_CLK>,
4335def4c47SEmmanuel Vadot				 <&gcc GCC_SYS_NOC_USB3_AXI_CLK>,
4345def4c47SEmmanuel Vadot				 <&gcc GCC_USB30_SLEEP_CLK>,
4355def4c47SEmmanuel Vadot				 <&gcc GCC_USB30_MOCK_UTMI_CLK>;
436d5b0e70fSEmmanuel Vadot			clock-names = "core",
437d5b0e70fSEmmanuel Vadot				      "iface",
438d5b0e70fSEmmanuel Vadot				      "sleep",
439d5b0e70fSEmmanuel Vadot				      "mock_utmi";
4405def4c47SEmmanuel Vadot
4415def4c47SEmmanuel Vadot			assigned-clocks = <&gcc GCC_USB30_MOCK_UTMI_CLK>,
4425def4c47SEmmanuel Vadot					  <&gcc GCC_USB30_MASTER_CLK>;
4435def4c47SEmmanuel Vadot			assigned-clock-rates = <19200000>, <120000000>;
4445def4c47SEmmanuel Vadot
4455def4c47SEmmanuel Vadot			power-domains = <&gcc USB30_GDSC>;
4465def4c47SEmmanuel Vadot			qcom,select-utmi-as-pipe-clk;
4475def4c47SEmmanuel Vadot
448354d7675SEmmanuel Vadot			usb@f9200000 {
4495def4c47SEmmanuel Vadot				compatible = "snps,dwc3";
4505def4c47SEmmanuel Vadot				reg = <0xf9200000 0xcc00>;
4515def4c47SEmmanuel Vadot				interrupts = <0 131 IRQ_TYPE_LEVEL_HIGH>;
4525def4c47SEmmanuel Vadot				snps,dis_u2_susphy_quirk;
4535def4c47SEmmanuel Vadot				snps,dis_enblslpm_quirk;
4545def4c47SEmmanuel Vadot				maximum-speed = "high-speed";
4555def4c47SEmmanuel Vadot				dr_mode = "peripheral";
4565def4c47SEmmanuel Vadot			};
4575def4c47SEmmanuel Vadot		};
4585def4c47SEmmanuel Vadot
459b97ee269SEmmanuel Vadot		sdhc1: mmc@f9824900 {
460c9ccf3a3SEmmanuel Vadot			compatible = "qcom,msm8994-sdhci", "qcom,sdhci-msm-v4";
461c66ec88fSEmmanuel Vadot			reg = <0xf9824900 0x1a0>, <0xf9824000 0x800>;
462*7ef62cebSEmmanuel Vadot			reg-names = "hc", "core";
463c66ec88fSEmmanuel Vadot
464c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
465c66ec88fSEmmanuel Vadot				     <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
466c66ec88fSEmmanuel Vadot			interrupt-names = "hc_irq", "pwr_irq";
467c66ec88fSEmmanuel Vadot
468b97ee269SEmmanuel Vadot			clocks = <&gcc GCC_SDCC1_AHB_CLK>,
469b97ee269SEmmanuel Vadot				 <&gcc GCC_SDCC1_APPS_CLK>,
470c66ec88fSEmmanuel Vadot				 <&xo_board>;
471b97ee269SEmmanuel Vadot			clock-names = "iface", "core", "xo";
472c66ec88fSEmmanuel Vadot
473c66ec88fSEmmanuel Vadot			pinctrl-names = "default", "sleep";
474c66ec88fSEmmanuel Vadot			pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on &sdc1_rclk_on>;
475c66ec88fSEmmanuel Vadot			pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off &sdc1_rclk_off>;
476c66ec88fSEmmanuel Vadot
477c66ec88fSEmmanuel Vadot			bus-width = <8>;
478c66ec88fSEmmanuel Vadot			non-removable;
479c66ec88fSEmmanuel Vadot			status = "disabled";
480c66ec88fSEmmanuel Vadot		};
481c66ec88fSEmmanuel Vadot
482b97ee269SEmmanuel Vadot		sdhc2: mmc@f98a4900 {
483c9ccf3a3SEmmanuel Vadot			compatible = "qcom,msm8994-sdhci", "qcom,sdhci-msm-v4";
4845def4c47SEmmanuel Vadot			reg = <0xf98a4900 0x11c>, <0xf98a4000 0x800>;
485*7ef62cebSEmmanuel Vadot			reg-names = "hc", "core";
4865def4c47SEmmanuel Vadot
4875def4c47SEmmanuel Vadot			interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>,
4885def4c47SEmmanuel Vadot				<GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>;
4895def4c47SEmmanuel Vadot			interrupt-names = "hc_irq", "pwr_irq";
4905def4c47SEmmanuel Vadot
491b97ee269SEmmanuel Vadot			clocks = <&gcc GCC_SDCC2_AHB_CLK>,
492b97ee269SEmmanuel Vadot				 <&gcc GCC_SDCC2_APPS_CLK>,
4935def4c47SEmmanuel Vadot				 <&xo_board>;
494b97ee269SEmmanuel Vadot			clock-names = "iface", "core", "xo";
4955def4c47SEmmanuel Vadot
4965def4c47SEmmanuel Vadot			pinctrl-names = "default", "sleep";
4975def4c47SEmmanuel Vadot			pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on>;
4985def4c47SEmmanuel Vadot			pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off>;
4995def4c47SEmmanuel Vadot
500*7ef62cebSEmmanuel Vadot			cd-gpios = <&tlmm 100 GPIO_ACTIVE_HIGH>;
5015def4c47SEmmanuel Vadot			bus-width = <4>;
5025def4c47SEmmanuel Vadot			status = "disabled";
5035def4c47SEmmanuel Vadot		};
5045def4c47SEmmanuel Vadot
5055def4c47SEmmanuel Vadot		blsp1_dma: dma-controller@f9904000 {
506c66ec88fSEmmanuel Vadot			compatible = "qcom,bam-v1.7.0";
507c66ec88fSEmmanuel Vadot			reg = <0xf9904000 0x19000>;
508c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 238 IRQ_TYPE_LEVEL_HIGH>;
509c66ec88fSEmmanuel Vadot			clocks = <&gcc GCC_BLSP1_AHB_CLK>;
510c66ec88fSEmmanuel Vadot			clock-names = "bam_clk";
511c66ec88fSEmmanuel Vadot			#dma-cells = <1>;
512c66ec88fSEmmanuel Vadot			qcom,ee = <0>;
513c66ec88fSEmmanuel Vadot			qcom,controlled-remotely;
514d5b0e70fSEmmanuel Vadot			num-channels = <24>;
515c66ec88fSEmmanuel Vadot			qcom,num-ees = <4>;
516c66ec88fSEmmanuel Vadot		};
517c66ec88fSEmmanuel Vadot
518c66ec88fSEmmanuel Vadot		blsp1_uart2: serial@f991e000 {
519c66ec88fSEmmanuel Vadot			compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
520c66ec88fSEmmanuel Vadot			reg = <0xf991e000 0x1000>;
521c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
522c66ec88fSEmmanuel Vadot			clock-names = "core", "iface";
523c66ec88fSEmmanuel Vadot			clocks = <&gcc GCC_BLSP1_UART2_APPS_CLK>,
524c66ec88fSEmmanuel Vadot				 <&gcc GCC_BLSP1_AHB_CLK>;
525c66ec88fSEmmanuel Vadot			pinctrl-names = "default", "sleep";
526c66ec88fSEmmanuel Vadot			pinctrl-0 = <&blsp1_uart2_default>;
527c66ec88fSEmmanuel Vadot			pinctrl-1 = <&blsp1_uart2_sleep>;
528c66ec88fSEmmanuel Vadot			status = "disabled";
529c66ec88fSEmmanuel Vadot		};
530c66ec88fSEmmanuel Vadot
5315def4c47SEmmanuel Vadot		blsp1_i2c1: i2c@f9923000 {
532c66ec88fSEmmanuel Vadot			compatible = "qcom,i2c-qup-v2.2.1";
533c66ec88fSEmmanuel Vadot			reg = <0xf9923000 0x500>;
534c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
535d5b0e70fSEmmanuel Vadot			clocks = <&gcc GCC_BLSP1_QUP1_I2C_APPS_CLK>,
536d5b0e70fSEmmanuel Vadot				 <&gcc GCC_BLSP1_AHB_CLK>;
537d5b0e70fSEmmanuel Vadot			clock-names = "core", "iface";
538c66ec88fSEmmanuel Vadot			clock-frequency = <400000>;
5395def4c47SEmmanuel Vadot			dmas = <&blsp1_dma 12>, <&blsp1_dma 13>;
5405def4c47SEmmanuel Vadot			dma-names = "tx", "rx";
541c66ec88fSEmmanuel Vadot			pinctrl-names = "default", "sleep";
542c66ec88fSEmmanuel Vadot			pinctrl-0 = <&i2c1_default>;
543c66ec88fSEmmanuel Vadot			pinctrl-1 = <&i2c1_sleep>;
544c66ec88fSEmmanuel Vadot			#address-cells = <1>;
545c66ec88fSEmmanuel Vadot			#size-cells = <0>;
546c66ec88fSEmmanuel Vadot			status = "disabled";
547c66ec88fSEmmanuel Vadot		};
548c66ec88fSEmmanuel Vadot
5495def4c47SEmmanuel Vadot		blsp1_spi1: spi@f9923000 {
550c66ec88fSEmmanuel Vadot			compatible = "qcom,spi-qup-v2.2.1";
551c66ec88fSEmmanuel Vadot			reg = <0xf9923000 0x500>;
552c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
553c66ec88fSEmmanuel Vadot			clocks = <&gcc GCC_BLSP1_QUP1_SPI_APPS_CLK>,
554c66ec88fSEmmanuel Vadot				 <&gcc GCC_BLSP1_AHB_CLK>;
555c66ec88fSEmmanuel Vadot			clock-names = "core", "iface";
556c66ec88fSEmmanuel Vadot			spi-max-frequency = <19200000>;
557c66ec88fSEmmanuel Vadot			dmas = <&blsp1_dma 12>, <&blsp1_dma 13>;
558c66ec88fSEmmanuel Vadot			dma-names = "tx", "rx";
559c66ec88fSEmmanuel Vadot			pinctrl-names = "default", "sleep";
5605def4c47SEmmanuel Vadot			pinctrl-0 = <&blsp1_spi1_default>;
5615def4c47SEmmanuel Vadot			pinctrl-1 = <&blsp1_spi1_sleep>;
562c66ec88fSEmmanuel Vadot			#address-cells = <1>;
563c66ec88fSEmmanuel Vadot			#size-cells = <0>;
564c66ec88fSEmmanuel Vadot			status = "disabled";
565c66ec88fSEmmanuel Vadot		};
566c66ec88fSEmmanuel Vadot
5675def4c47SEmmanuel Vadot		blsp1_i2c2: i2c@f9924000 {
568c66ec88fSEmmanuel Vadot			compatible = "qcom,i2c-qup-v2.2.1";
569c66ec88fSEmmanuel Vadot			reg = <0xf9924000 0x500>;
570c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
571d5b0e70fSEmmanuel Vadot			clocks = <&gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>,
572d5b0e70fSEmmanuel Vadot				 <&gcc GCC_BLSP1_AHB_CLK>;
573d5b0e70fSEmmanuel Vadot			clock-names = "core", "iface";
5745def4c47SEmmanuel Vadot			clock-frequency = <400000>;
575c66ec88fSEmmanuel Vadot			dmas = <&blsp1_dma 14>, <&blsp1_dma 15>;
576c66ec88fSEmmanuel Vadot			dma-names = "tx", "rx";
577c66ec88fSEmmanuel Vadot			pinctrl-names = "default", "sleep";
578c66ec88fSEmmanuel Vadot			pinctrl-0 = <&i2c2_default>;
579c66ec88fSEmmanuel Vadot			pinctrl-1 = <&i2c2_sleep>;
580c66ec88fSEmmanuel Vadot			#address-cells = <1>;
581c66ec88fSEmmanuel Vadot			#size-cells = <0>;
582c66ec88fSEmmanuel Vadot			status = "disabled";
583c66ec88fSEmmanuel Vadot		};
584c66ec88fSEmmanuel Vadot
585c66ec88fSEmmanuel Vadot		/* I2C3 doesn't exist */
586c66ec88fSEmmanuel Vadot
5875def4c47SEmmanuel Vadot		blsp1_i2c4: i2c@f9926000 {
588c66ec88fSEmmanuel Vadot			compatible = "qcom,i2c-qup-v2.2.1";
589c66ec88fSEmmanuel Vadot			reg = <0xf9926000 0x500>;
590c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
591d5b0e70fSEmmanuel Vadot			clocks = <&gcc GCC_BLSP1_QUP4_I2C_APPS_CLK>,
592d5b0e70fSEmmanuel Vadot				 <&gcc GCC_BLSP1_AHB_CLK>;
593d5b0e70fSEmmanuel Vadot			clock-names = "core", "iface";
5945def4c47SEmmanuel Vadot			clock-frequency = <400000>;
5955def4c47SEmmanuel Vadot			dmas = <&blsp1_dma 18>, <&blsp1_dma 19>;
5965def4c47SEmmanuel Vadot			dma-names = "tx", "rx";
597c66ec88fSEmmanuel Vadot			pinctrl-names = "default", "sleep";
598c66ec88fSEmmanuel Vadot			pinctrl-0 = <&i2c4_default>;
599c66ec88fSEmmanuel Vadot			pinctrl-1 = <&i2c4_sleep>;
600c66ec88fSEmmanuel Vadot			#address-cells = <1>;
601c66ec88fSEmmanuel Vadot			#size-cells = <0>;
602c66ec88fSEmmanuel Vadot			status = "disabled";
603c66ec88fSEmmanuel Vadot		};
604c66ec88fSEmmanuel Vadot
6055def4c47SEmmanuel Vadot		blsp1_i2c5: i2c@f9927000 {
6065def4c47SEmmanuel Vadot			compatible = "qcom,i2c-qup-v2.2.1";
6075def4c47SEmmanuel Vadot			reg = <0xf9927000 0x500>;
6085def4c47SEmmanuel Vadot			interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
609d5b0e70fSEmmanuel Vadot			clocks = <&gcc GCC_BLSP1_QUP5_I2C_APPS_CLK>,
610d5b0e70fSEmmanuel Vadot				 <&gcc GCC_BLSP1_AHB_CLK>;
611d5b0e70fSEmmanuel Vadot			clock-names = "core", "iface";
6125def4c47SEmmanuel Vadot			clock-frequency = <400000>;
6135def4c47SEmmanuel Vadot			dmas = <&blsp2_dma 20>, <&blsp2_dma 21>;
6145def4c47SEmmanuel Vadot			dma-names = "tx", "rx";
6155def4c47SEmmanuel Vadot			pinctrl-names = "default", "sleep";
6165def4c47SEmmanuel Vadot			pinctrl-0 = <&i2c5_default>;
6175def4c47SEmmanuel Vadot			pinctrl-1 = <&i2c5_sleep>;
6185def4c47SEmmanuel Vadot			#address-cells = <1>;
6195def4c47SEmmanuel Vadot			#size-cells = <0>;
6205def4c47SEmmanuel Vadot			status = "disabled";
6215def4c47SEmmanuel Vadot		};
6225def4c47SEmmanuel Vadot
6235def4c47SEmmanuel Vadot		blsp1_i2c6: i2c@f9928000 {
6245def4c47SEmmanuel Vadot			compatible = "qcom,i2c-qup-v2.2.1";
6255def4c47SEmmanuel Vadot			reg = <0xf9928000 0x500>;
6265def4c47SEmmanuel Vadot			interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
627d5b0e70fSEmmanuel Vadot			clocks = <&gcc GCC_BLSP1_QUP6_I2C_APPS_CLK>,
628d5b0e70fSEmmanuel Vadot				 <&gcc GCC_BLSP1_AHB_CLK>;
629d5b0e70fSEmmanuel Vadot			clock-names = "core", "iface";
6305def4c47SEmmanuel Vadot			clock-frequency = <400000>;
6315def4c47SEmmanuel Vadot			dmas = <&blsp1_dma 22>, <&blsp1_dma 23>;
6325def4c47SEmmanuel Vadot			dma-names = "tx", "rx";
6335def4c47SEmmanuel Vadot			pinctrl-names = "default", "sleep";
6345def4c47SEmmanuel Vadot			pinctrl-0 = <&i2c6_default>;
6355def4c47SEmmanuel Vadot			pinctrl-1 = <&i2c6_sleep>;
6365def4c47SEmmanuel Vadot			#address-cells = <1>;
6375def4c47SEmmanuel Vadot			#size-cells = <0>;
6385def4c47SEmmanuel Vadot			status = "disabled";
6395def4c47SEmmanuel Vadot		};
6405def4c47SEmmanuel Vadot
6415def4c47SEmmanuel Vadot		blsp2_dma: dma-controller@f9944000 {
642c66ec88fSEmmanuel Vadot			compatible = "qcom,bam-v1.7.0";
643c66ec88fSEmmanuel Vadot			reg = <0xf9944000 0x19000>;
644c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 239 IRQ_TYPE_LEVEL_HIGH>;
645c66ec88fSEmmanuel Vadot			clocks = <&gcc GCC_BLSP2_AHB_CLK>;
646c66ec88fSEmmanuel Vadot			clock-names = "bam_clk";
647c66ec88fSEmmanuel Vadot			#dma-cells = <1>;
648c66ec88fSEmmanuel Vadot			qcom,ee = <0>;
649c66ec88fSEmmanuel Vadot			qcom,controlled-remotely;
650d5b0e70fSEmmanuel Vadot			num-channels = <24>;
651c66ec88fSEmmanuel Vadot			qcom,num-ees = <4>;
652c66ec88fSEmmanuel Vadot		};
653c66ec88fSEmmanuel Vadot
654c66ec88fSEmmanuel Vadot		blsp2_uart2: serial@f995e000 {
655c66ec88fSEmmanuel Vadot			compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
656c66ec88fSEmmanuel Vadot			reg = <0xf995e000 0x1000>;
6575def4c47SEmmanuel Vadot			interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
658c66ec88fSEmmanuel Vadot			clock-names = "core", "iface";
659c66ec88fSEmmanuel Vadot			clocks = <&gcc GCC_BLSP2_UART2_APPS_CLK>,
660c66ec88fSEmmanuel Vadot					<&gcc GCC_BLSP2_AHB_CLK>;
661c66ec88fSEmmanuel Vadot			dmas = <&blsp2_dma 2>, <&blsp2_dma 3>;
662c66ec88fSEmmanuel Vadot			dma-names = "tx", "rx";
663c66ec88fSEmmanuel Vadot			pinctrl-names = "default", "sleep";
664c66ec88fSEmmanuel Vadot			pinctrl-0 = <&blsp2_uart2_default>;
665c66ec88fSEmmanuel Vadot			pinctrl-1 = <&blsp2_uart2_sleep>;
666c66ec88fSEmmanuel Vadot			status = "disabled";
667c66ec88fSEmmanuel Vadot		};
668c66ec88fSEmmanuel Vadot
6695def4c47SEmmanuel Vadot		blsp2_i2c1: i2c@f9963000 {
6705def4c47SEmmanuel Vadot			compatible = "qcom,i2c-qup-v2.2.1";
6715def4c47SEmmanuel Vadot			reg = <0xf9963000 0x500>;
6725def4c47SEmmanuel Vadot			interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
673d5b0e70fSEmmanuel Vadot			clocks = <&gcc GCC_BLSP2_QUP1_I2C_APPS_CLK>,
674d5b0e70fSEmmanuel Vadot				 <&gcc GCC_BLSP2_AHB_CLK>;
675d5b0e70fSEmmanuel Vadot			clock-names = "core", "iface";
6765def4c47SEmmanuel Vadot			clock-frequency = <400000>;
6775def4c47SEmmanuel Vadot			dmas = <&blsp2_dma 12>, <&blsp2_dma 13>;
6785def4c47SEmmanuel Vadot			dma-names = "tx", "rx";
6795def4c47SEmmanuel Vadot			pinctrl-names = "default", "sleep";
6805def4c47SEmmanuel Vadot			pinctrl-0 = <&i2c7_default>;
6815def4c47SEmmanuel Vadot			pinctrl-1 = <&i2c7_sleep>;
6825def4c47SEmmanuel Vadot			#address-cells = <1>;
6835def4c47SEmmanuel Vadot			#size-cells = <0>;
6845def4c47SEmmanuel Vadot			status = "disabled";
6855def4c47SEmmanuel Vadot		};
6865def4c47SEmmanuel Vadot
6875def4c47SEmmanuel Vadot		blsp2_spi4: spi@f9966000 {
6885def4c47SEmmanuel Vadot			compatible = "qcom,spi-qup-v2.2.1";
6895def4c47SEmmanuel Vadot			reg = <0xf9966000 0x500>;
6905def4c47SEmmanuel Vadot			interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
6915def4c47SEmmanuel Vadot			clocks = <&gcc GCC_BLSP2_QUP4_SPI_APPS_CLK>,
6925def4c47SEmmanuel Vadot				 <&gcc GCC_BLSP2_AHB_CLK>;
6935def4c47SEmmanuel Vadot			clock-names = "core", "iface";
6945def4c47SEmmanuel Vadot			spi-max-frequency = <19200000>;
6955def4c47SEmmanuel Vadot			dmas = <&blsp2_dma 18>, <&blsp2_dma 19>;
6965def4c47SEmmanuel Vadot			dma-names = "tx", "rx";
6975def4c47SEmmanuel Vadot			pinctrl-names = "default", "sleep";
6985def4c47SEmmanuel Vadot			pinctrl-0 = <&blsp2_spi10_default>;
6995def4c47SEmmanuel Vadot			pinctrl-1 = <&blsp2_spi10_sleep>;
7005def4c47SEmmanuel Vadot			#address-cells = <1>;
7015def4c47SEmmanuel Vadot			#size-cells = <0>;
7025def4c47SEmmanuel Vadot			status = "disabled";
7035def4c47SEmmanuel Vadot		};
7045def4c47SEmmanuel Vadot
7055def4c47SEmmanuel Vadot		blsp2_i2c5: i2c@f9967000 {
706c66ec88fSEmmanuel Vadot			compatible = "qcom,i2c-qup-v2.2.1";
707c66ec88fSEmmanuel Vadot			reg = <0xf9967000 0x500>;
708c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
709d5b0e70fSEmmanuel Vadot			clocks = <&gcc GCC_BLSP2_QUP5_I2C_APPS_CLK>,
710d5b0e70fSEmmanuel Vadot				 <&gcc GCC_BLSP2_AHB_CLK>;
711d5b0e70fSEmmanuel Vadot			clock-names = "core", "iface";
712c66ec88fSEmmanuel Vadot			clock-frequency = <355000>;
713c66ec88fSEmmanuel Vadot			dmas = <&blsp2_dma 20>, <&blsp2_dma 21>;
714c66ec88fSEmmanuel Vadot			dma-names = "tx", "rx";
715c66ec88fSEmmanuel Vadot			pinctrl-names = "default", "sleep";
7165def4c47SEmmanuel Vadot			pinctrl-0 = <&i2c11_default>;
7175def4c47SEmmanuel Vadot			pinctrl-1 = <&i2c11_sleep>;
718c66ec88fSEmmanuel Vadot			#address-cells = <1>;
719c66ec88fSEmmanuel Vadot			#size-cells = <0>;
720c66ec88fSEmmanuel Vadot			status = "disabled";
721c66ec88fSEmmanuel Vadot		};
722c66ec88fSEmmanuel Vadot
723c66ec88fSEmmanuel Vadot		gcc: clock-controller@fc400000 {
724c66ec88fSEmmanuel Vadot			compatible = "qcom,gcc-msm8994";
725c66ec88fSEmmanuel Vadot			#clock-cells = <1>;
726c66ec88fSEmmanuel Vadot			#reset-cells = <1>;
727c66ec88fSEmmanuel Vadot			#power-domain-cells = <1>;
728c66ec88fSEmmanuel Vadot			reg = <0xfc400000 0x2000>;
729c9ccf3a3SEmmanuel Vadot
730d5b0e70fSEmmanuel Vadot			clock-names = "xo", "sleep";
731c9ccf3a3SEmmanuel Vadot			clocks = <&xo_board>, <&sleep_clk>;
732c66ec88fSEmmanuel Vadot		};
733c66ec88fSEmmanuel Vadot
7348cc087a1SEmmanuel Vadot		rpm_msg_ram: sram@fc428000 {
735c66ec88fSEmmanuel Vadot			compatible = "qcom,rpm-msg-ram";
736c66ec88fSEmmanuel Vadot			reg = <0xfc428000 0x4000>;
737c66ec88fSEmmanuel Vadot		};
738c66ec88fSEmmanuel Vadot
739c66ec88fSEmmanuel Vadot		restart@fc4ab000 {
740c66ec88fSEmmanuel Vadot			compatible = "qcom,pshold";
741c66ec88fSEmmanuel Vadot			reg = <0xfc4ab000 0x4>;
742c66ec88fSEmmanuel Vadot		};
743c66ec88fSEmmanuel Vadot
744c66ec88fSEmmanuel Vadot		spmi_bus: spmi@fc4c0000 {
745c66ec88fSEmmanuel Vadot			compatible = "qcom,spmi-pmic-arb";
746c66ec88fSEmmanuel Vadot			reg = <0xfc4cf000 0x1000>,
747c66ec88fSEmmanuel Vadot			      <0xfc4cb000 0x1000>,
748c66ec88fSEmmanuel Vadot			      <0xfc4ca000 0x1000>;
749c66ec88fSEmmanuel Vadot			reg-names = "core", "intr", "cnfg";
750c66ec88fSEmmanuel Vadot			interrupt-names = "periph_irq";
751c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
752c66ec88fSEmmanuel Vadot			qcom,ee = <0>;
753c66ec88fSEmmanuel Vadot			qcom,channel = <0>;
754c66ec88fSEmmanuel Vadot			#address-cells = <2>;
755c66ec88fSEmmanuel Vadot			#size-cells = <0>;
756c66ec88fSEmmanuel Vadot			interrupt-controller;
757c66ec88fSEmmanuel Vadot			#interrupt-cells = <4>;
758c66ec88fSEmmanuel Vadot		};
759c66ec88fSEmmanuel Vadot
760*7ef62cebSEmmanuel Vadot		tcsr_mutex: hwlock@fd484000 {
761*7ef62cebSEmmanuel Vadot			compatible = "qcom,msm8994-tcsr-mutex", "qcom,tcsr-mutex";
762*7ef62cebSEmmanuel Vadot			reg = <0xfd484000 0x1000>;
763*7ef62cebSEmmanuel Vadot			#hwlock-cells = <1>;
764c66ec88fSEmmanuel Vadot		};
765c66ec88fSEmmanuel Vadot
766c66ec88fSEmmanuel Vadot		tlmm: pinctrl@fd510000 {
767c66ec88fSEmmanuel Vadot			compatible = "qcom,msm8994-pinctrl";
768c66ec88fSEmmanuel Vadot			reg = <0xfd510000 0x4000>;
769c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
770c66ec88fSEmmanuel Vadot			gpio-controller;
771c66ec88fSEmmanuel Vadot			gpio-ranges = <&tlmm 0 0 146>;
772c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
773c66ec88fSEmmanuel Vadot			interrupt-controller;
774c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
775c66ec88fSEmmanuel Vadot
776c66ec88fSEmmanuel Vadot			blsp1_uart2_default: blsp1-uart2-default {
777c66ec88fSEmmanuel Vadot				function = "blsp_uart2";
778c66ec88fSEmmanuel Vadot				pins = "gpio4", "gpio5";
779c66ec88fSEmmanuel Vadot				drive-strength = <16>;
780c66ec88fSEmmanuel Vadot				bias-disable;
781c66ec88fSEmmanuel Vadot			};
782c66ec88fSEmmanuel Vadot
783c66ec88fSEmmanuel Vadot			blsp1_uart2_sleep: blsp1-uart2-sleep {
784c66ec88fSEmmanuel Vadot				function = "gpio";
785c66ec88fSEmmanuel Vadot				pins = "gpio4", "gpio5";
786c66ec88fSEmmanuel Vadot				drive-strength = <2>;
787c66ec88fSEmmanuel Vadot				bias-pull-down;
788c66ec88fSEmmanuel Vadot			};
789c66ec88fSEmmanuel Vadot
790c66ec88fSEmmanuel Vadot			blsp2_uart2_default: blsp2-uart2-default {
791c66ec88fSEmmanuel Vadot				function = "blsp_uart8";
7925def4c47SEmmanuel Vadot				pins = "gpio45", "gpio46",
7935def4c47SEmmanuel Vadot						"gpio47", "gpio48";
7945def4c47SEmmanuel Vadot				drive-strength = <16>;
795c66ec88fSEmmanuel Vadot				bias-disable;
796c66ec88fSEmmanuel Vadot			};
797c66ec88fSEmmanuel Vadot
798c66ec88fSEmmanuel Vadot			blsp2_uart2_sleep: blsp2-uart2-sleep {
799c66ec88fSEmmanuel Vadot				function = "gpio";
8005def4c47SEmmanuel Vadot				pins = "gpio45", "gpio46",
8015def4c47SEmmanuel Vadot						"gpio47", "gpio48";
802c66ec88fSEmmanuel Vadot				drive-strength = <2>;
8035def4c47SEmmanuel Vadot				bias-disable;
804c66ec88fSEmmanuel Vadot			};
805c66ec88fSEmmanuel Vadot
806c66ec88fSEmmanuel Vadot			i2c1_default: i2c1-default {
807c66ec88fSEmmanuel Vadot				function = "blsp_i2c1";
808c66ec88fSEmmanuel Vadot				pins = "gpio2", "gpio3";
809c66ec88fSEmmanuel Vadot				drive-strength = <2>;
810c66ec88fSEmmanuel Vadot				bias-disable;
811c66ec88fSEmmanuel Vadot			};
812c66ec88fSEmmanuel Vadot
813c66ec88fSEmmanuel Vadot			i2c1_sleep: i2c1-sleep {
814c66ec88fSEmmanuel Vadot				function = "gpio";
815c66ec88fSEmmanuel Vadot				pins = "gpio2", "gpio3";
816c66ec88fSEmmanuel Vadot				drive-strength = <2>;
817c66ec88fSEmmanuel Vadot				bias-disable;
818c66ec88fSEmmanuel Vadot			};
819c66ec88fSEmmanuel Vadot
820c66ec88fSEmmanuel Vadot			i2c2_default: i2c2-default {
821c66ec88fSEmmanuel Vadot				function = "blsp_i2c2";
822c66ec88fSEmmanuel Vadot				pins = "gpio6", "gpio7";
823c66ec88fSEmmanuel Vadot				drive-strength = <2>;
824c66ec88fSEmmanuel Vadot				bias-disable;
825c66ec88fSEmmanuel Vadot			};
826c66ec88fSEmmanuel Vadot
827c66ec88fSEmmanuel Vadot			i2c2_sleep: i2c2-sleep {
828c66ec88fSEmmanuel Vadot				function = "gpio";
829c66ec88fSEmmanuel Vadot				pins = "gpio6", "gpio7";
830c66ec88fSEmmanuel Vadot				drive-strength = <2>;
831c66ec88fSEmmanuel Vadot				bias-disable;
832c66ec88fSEmmanuel Vadot			};
833c66ec88fSEmmanuel Vadot
834c66ec88fSEmmanuel Vadot			i2c4_default: i2c4-default {
835c66ec88fSEmmanuel Vadot				function = "blsp_i2c4";
836c66ec88fSEmmanuel Vadot				pins = "gpio19", "gpio20";
837c66ec88fSEmmanuel Vadot				drive-strength = <2>;
838c66ec88fSEmmanuel Vadot				bias-disable;
839c66ec88fSEmmanuel Vadot			};
840c66ec88fSEmmanuel Vadot
841c66ec88fSEmmanuel Vadot			i2c4_sleep: i2c4-sleep {
842c66ec88fSEmmanuel Vadot				function = "gpio";
843c66ec88fSEmmanuel Vadot				pins = "gpio19", "gpio20";
844c66ec88fSEmmanuel Vadot				drive-strength = <2>;
845c66ec88fSEmmanuel Vadot				bias-pull-down;
846c66ec88fSEmmanuel Vadot				input-enable;
847c66ec88fSEmmanuel Vadot			};
848c66ec88fSEmmanuel Vadot
849c66ec88fSEmmanuel Vadot			i2c5_default: i2c5-default {
850c66ec88fSEmmanuel Vadot				function = "blsp_i2c5";
851c66ec88fSEmmanuel Vadot				pins = "gpio23", "gpio24";
852c66ec88fSEmmanuel Vadot				drive-strength = <2>;
853c66ec88fSEmmanuel Vadot				bias-disable;
854c66ec88fSEmmanuel Vadot			};
855c66ec88fSEmmanuel Vadot
856c66ec88fSEmmanuel Vadot			i2c5_sleep: i2c5-sleep {
857c66ec88fSEmmanuel Vadot				function = "gpio";
858c66ec88fSEmmanuel Vadot				pins = "gpio23", "gpio24";
859c66ec88fSEmmanuel Vadot				drive-strength = <2>;
860c66ec88fSEmmanuel Vadot				bias-disable;
861c66ec88fSEmmanuel Vadot			};
862c66ec88fSEmmanuel Vadot
863c66ec88fSEmmanuel Vadot			i2c6_default: i2c6-default {
864c66ec88fSEmmanuel Vadot				function = "blsp_i2c6";
865c66ec88fSEmmanuel Vadot				pins = "gpio28", "gpio27";
866c66ec88fSEmmanuel Vadot				drive-strength = <2>;
867c66ec88fSEmmanuel Vadot				bias-disable;
868c66ec88fSEmmanuel Vadot			};
869c66ec88fSEmmanuel Vadot
870c66ec88fSEmmanuel Vadot			i2c6_sleep: i2c6-sleep {
871c66ec88fSEmmanuel Vadot				function = "gpio";
872c66ec88fSEmmanuel Vadot				pins = "gpio28", "gpio27";
873c66ec88fSEmmanuel Vadot				drive-strength = <2>;
874c66ec88fSEmmanuel Vadot				bias-disable;
875c66ec88fSEmmanuel Vadot			};
876c66ec88fSEmmanuel Vadot
8775def4c47SEmmanuel Vadot			i2c7_default: i2c7-default {
8785def4c47SEmmanuel Vadot				function = "blsp_i2c7";
8795def4c47SEmmanuel Vadot				pins = "gpio44", "gpio43";
8805def4c47SEmmanuel Vadot				drive-strength = <2>;
8815def4c47SEmmanuel Vadot				bias-disable;
8825def4c47SEmmanuel Vadot			};
8835def4c47SEmmanuel Vadot
8845def4c47SEmmanuel Vadot			i2c7_sleep: i2c7-sleep {
8855def4c47SEmmanuel Vadot				function = "gpio";
8865def4c47SEmmanuel Vadot				pins = "gpio44", "gpio43";
8875def4c47SEmmanuel Vadot				drive-strength = <2>;
8885def4c47SEmmanuel Vadot				bias-disable;
8895def4c47SEmmanuel Vadot			};
8905def4c47SEmmanuel Vadot
8915def4c47SEmmanuel Vadot			blsp2_spi10_default: blsp2-spi10-default {
8925def4c47SEmmanuel Vadot				default {
8935def4c47SEmmanuel Vadot					function = "blsp_spi10";
8945def4c47SEmmanuel Vadot					pins = "gpio53", "gpio54", "gpio55";
8955def4c47SEmmanuel Vadot					drive-strength = <10>;
8965def4c47SEmmanuel Vadot					bias-pull-down;
8975def4c47SEmmanuel Vadot				};
8985def4c47SEmmanuel Vadot				cs {
8995def4c47SEmmanuel Vadot					function = "gpio";
9005def4c47SEmmanuel Vadot					pins = "gpio55";
9015def4c47SEmmanuel Vadot					drive-strength = <2>;
9025def4c47SEmmanuel Vadot					bias-disable;
9035def4c47SEmmanuel Vadot				};
9045def4c47SEmmanuel Vadot			};
9055def4c47SEmmanuel Vadot
9065def4c47SEmmanuel Vadot			blsp2_spi10_sleep: blsp2-spi10-sleep {
9075def4c47SEmmanuel Vadot				pins = "gpio53", "gpio54", "gpio55";
9085def4c47SEmmanuel Vadot				drive-strength = <2>;
9095def4c47SEmmanuel Vadot				bias-disable;
9105def4c47SEmmanuel Vadot			};
9115def4c47SEmmanuel Vadot
9125def4c47SEmmanuel Vadot			i2c11_default: i2c11-default {
9135def4c47SEmmanuel Vadot				function = "blsp_i2c11";
9145def4c47SEmmanuel Vadot				pins = "gpio83", "gpio84";
9155def4c47SEmmanuel Vadot				drive-strength = <2>;
9165def4c47SEmmanuel Vadot				bias-disable;
9175def4c47SEmmanuel Vadot			};
9185def4c47SEmmanuel Vadot
9195def4c47SEmmanuel Vadot			i2c11_sleep: i2c11-sleep {
9205def4c47SEmmanuel Vadot				function = "gpio";
9215def4c47SEmmanuel Vadot				pins = "gpio83", "gpio84";
9225def4c47SEmmanuel Vadot				drive-strength = <2>;
9235def4c47SEmmanuel Vadot				bias-disable;
9245def4c47SEmmanuel Vadot			};
9255def4c47SEmmanuel Vadot
9265def4c47SEmmanuel Vadot			blsp1_spi1_default: blsp1-spi1-default {
927c66ec88fSEmmanuel Vadot				default {
928c66ec88fSEmmanuel Vadot					function = "blsp_spi1";
929c66ec88fSEmmanuel Vadot					pins = "gpio0", "gpio1", "gpio3";
930c66ec88fSEmmanuel Vadot					drive-strength = <10>;
931c66ec88fSEmmanuel Vadot					bias-pull-down;
932c66ec88fSEmmanuel Vadot				};
933c66ec88fSEmmanuel Vadot				cs {
934c66ec88fSEmmanuel Vadot					function = "gpio";
935c66ec88fSEmmanuel Vadot					pins = "gpio8";
936c66ec88fSEmmanuel Vadot					drive-strength = <2>;
937c66ec88fSEmmanuel Vadot					bias-disable;
938c66ec88fSEmmanuel Vadot				};
939c66ec88fSEmmanuel Vadot			};
940c66ec88fSEmmanuel Vadot
9415def4c47SEmmanuel Vadot			blsp1_spi1_sleep: blsp1-spi1-sleep {
942c66ec88fSEmmanuel Vadot				pins = "gpio0", "gpio1", "gpio3";
943c66ec88fSEmmanuel Vadot				drive-strength = <2>;
944c66ec88fSEmmanuel Vadot				bias-disable;
945c66ec88fSEmmanuel Vadot			};
946c66ec88fSEmmanuel Vadot
947c66ec88fSEmmanuel Vadot			sdc1_clk_on: clk-on {
948c66ec88fSEmmanuel Vadot				pins = "sdc1_clk";
949c66ec88fSEmmanuel Vadot				bias-disable;
950c66ec88fSEmmanuel Vadot				drive-strength = <16>;
951c66ec88fSEmmanuel Vadot			};
952c66ec88fSEmmanuel Vadot
953c66ec88fSEmmanuel Vadot			sdc1_clk_off: clk-off {
954c66ec88fSEmmanuel Vadot				pins = "sdc1_clk";
955c66ec88fSEmmanuel Vadot				bias-disable;
956c66ec88fSEmmanuel Vadot				drive-strength = <2>;
957c66ec88fSEmmanuel Vadot			};
958c66ec88fSEmmanuel Vadot
959c66ec88fSEmmanuel Vadot			sdc1_cmd_on: cmd-on {
960c66ec88fSEmmanuel Vadot				pins = "sdc1_cmd";
961c66ec88fSEmmanuel Vadot				bias-pull-up;
962c66ec88fSEmmanuel Vadot				drive-strength = <8>;
963c66ec88fSEmmanuel Vadot			};
964c66ec88fSEmmanuel Vadot
965c66ec88fSEmmanuel Vadot			sdc1_cmd_off: cmd-off {
966c66ec88fSEmmanuel Vadot				pins = "sdc1_cmd";
967c66ec88fSEmmanuel Vadot				bias-pull-up;
968c66ec88fSEmmanuel Vadot				drive-strength = <2>;
969c66ec88fSEmmanuel Vadot			};
970c66ec88fSEmmanuel Vadot
971c66ec88fSEmmanuel Vadot			sdc1_data_on: data-on {
972c66ec88fSEmmanuel Vadot				pins = "sdc1_data";
973c66ec88fSEmmanuel Vadot				bias-pull-up;
974c66ec88fSEmmanuel Vadot				drive-strength = <8>;
975c66ec88fSEmmanuel Vadot			};
976c66ec88fSEmmanuel Vadot
977c66ec88fSEmmanuel Vadot			sdc1_data_off: data-off {
978c66ec88fSEmmanuel Vadot				pins = "sdc1_data";
979c66ec88fSEmmanuel Vadot				bias-pull-up;
980c66ec88fSEmmanuel Vadot				drive-strength = <2>;
981c66ec88fSEmmanuel Vadot			};
982c66ec88fSEmmanuel Vadot
983c66ec88fSEmmanuel Vadot			sdc1_rclk_on: rclk-on {
984c66ec88fSEmmanuel Vadot				pins = "sdc1_rclk";
985c66ec88fSEmmanuel Vadot				bias-pull-down;
986c66ec88fSEmmanuel Vadot			};
987c66ec88fSEmmanuel Vadot
988c66ec88fSEmmanuel Vadot			sdc1_rclk_off: rclk-off {
989c66ec88fSEmmanuel Vadot				pins = "sdc1_rclk";
990c66ec88fSEmmanuel Vadot				bias-pull-down;
991c66ec88fSEmmanuel Vadot			};
9925def4c47SEmmanuel Vadot
9935def4c47SEmmanuel Vadot			sdc2_clk_on: sdc2-clk-on {
9945def4c47SEmmanuel Vadot				pins = "sdc2_clk";
9955def4c47SEmmanuel Vadot				bias-disable;
9965def4c47SEmmanuel Vadot				drive-strength = <10>;
9975def4c47SEmmanuel Vadot			};
9985def4c47SEmmanuel Vadot
9995def4c47SEmmanuel Vadot			sdc2_clk_off: sdc2-clk-off {
10005def4c47SEmmanuel Vadot				pins = "sdc2_clk";
10015def4c47SEmmanuel Vadot				bias-disable;
10025def4c47SEmmanuel Vadot				drive-strength = <2>;
10035def4c47SEmmanuel Vadot			};
10045def4c47SEmmanuel Vadot
10055def4c47SEmmanuel Vadot			sdc2_cmd_on: sdc2-cmd-on {
10065def4c47SEmmanuel Vadot				pins = "sdc2_cmd";
10075def4c47SEmmanuel Vadot				bias-pull-up;
10085def4c47SEmmanuel Vadot				drive-strength = <10>;
10095def4c47SEmmanuel Vadot			};
10105def4c47SEmmanuel Vadot
10115def4c47SEmmanuel Vadot			sdc2_cmd_off: sdc2-cmd-off {
10125def4c47SEmmanuel Vadot				pins = "sdc2_cmd";
10135def4c47SEmmanuel Vadot				bias-pull-up;
10145def4c47SEmmanuel Vadot				drive-strength = <2>;
10155def4c47SEmmanuel Vadot			};
10165def4c47SEmmanuel Vadot
10175def4c47SEmmanuel Vadot			sdc2_data_on: sdc2-data-on {
10185def4c47SEmmanuel Vadot				pins = "sdc2_data";
10195def4c47SEmmanuel Vadot				bias-pull-up;
10205def4c47SEmmanuel Vadot				drive-strength = <10>;
10215def4c47SEmmanuel Vadot			};
10225def4c47SEmmanuel Vadot
10235def4c47SEmmanuel Vadot			sdc2_data_off: sdc2-data-off {
10245def4c47SEmmanuel Vadot				pins = "sdc2_data";
10255def4c47SEmmanuel Vadot				bias-pull-up;
10265def4c47SEmmanuel Vadot				drive-strength = <2>;
10275def4c47SEmmanuel Vadot			};
1028c66ec88fSEmmanuel Vadot		};
1029d5b0e70fSEmmanuel Vadot
1030d5b0e70fSEmmanuel Vadot		mmcc: clock-controller@fd8c0000 {
1031d5b0e70fSEmmanuel Vadot			compatible = "qcom,mmcc-msm8994";
1032d5b0e70fSEmmanuel Vadot			reg = <0xfd8c0000 0x5200>;
1033d5b0e70fSEmmanuel Vadot			#clock-cells = <1>;
1034d5b0e70fSEmmanuel Vadot			#reset-cells = <1>;
1035d5b0e70fSEmmanuel Vadot			#power-domain-cells = <1>;
1036d5b0e70fSEmmanuel Vadot
1037d5b0e70fSEmmanuel Vadot			clock-names = "xo",
1038d5b0e70fSEmmanuel Vadot				      "gpll0",
1039d5b0e70fSEmmanuel Vadot				      "mmssnoc_ahb",
1040d5b0e70fSEmmanuel Vadot				      "oxili_gfx3d_clk_src",
1041d5b0e70fSEmmanuel Vadot				      "dsi0pll",
1042d5b0e70fSEmmanuel Vadot				      "dsi0pllbyte",
1043d5b0e70fSEmmanuel Vadot				      "dsi1pll",
1044d5b0e70fSEmmanuel Vadot				      "dsi1pllbyte",
1045d5b0e70fSEmmanuel Vadot				      "hdmipll";
1046d5b0e70fSEmmanuel Vadot			clocks = <&xo_board>,
1047d5b0e70fSEmmanuel Vadot				 <&gcc GPLL0_OUT_MMSSCC>,
1048d5b0e70fSEmmanuel Vadot				 <&rpmcc RPM_SMD_MMSSNOC_AHB_CLK>,
1049d5b0e70fSEmmanuel Vadot				 <&rpmcc RPM_SMD_GFX3D_CLK_SRC>,
1050d5b0e70fSEmmanuel Vadot				 <0>,
1051d5b0e70fSEmmanuel Vadot				 <0>,
1052d5b0e70fSEmmanuel Vadot				 <0>,
1053d5b0e70fSEmmanuel Vadot				 <0>,
1054d5b0e70fSEmmanuel Vadot				 <0>;
1055d5b0e70fSEmmanuel Vadot
1056d5b0e70fSEmmanuel Vadot			assigned-clocks = <&mmcc MMPLL0_PLL>,
1057d5b0e70fSEmmanuel Vadot					  <&mmcc MMPLL1_PLL>,
1058d5b0e70fSEmmanuel Vadot					  <&mmcc MMPLL3_PLL>,
1059d5b0e70fSEmmanuel Vadot					  <&mmcc MMPLL4_PLL>,
1060d5b0e70fSEmmanuel Vadot					  <&mmcc MMPLL5_PLL>;
1061d5b0e70fSEmmanuel Vadot			assigned-clock-rates = <800000000>,
1062d5b0e70fSEmmanuel Vadot					       <1167000000>,
1063d5b0e70fSEmmanuel Vadot					       <1020000000>,
1064d5b0e70fSEmmanuel Vadot					       <960000000>,
1065d5b0e70fSEmmanuel Vadot					       <600000000>;
1066d5b0e70fSEmmanuel Vadot		};
1067d5b0e70fSEmmanuel Vadot
1068b97ee269SEmmanuel Vadot		ocmem: sram@fdd00000 {
1069d5b0e70fSEmmanuel Vadot			compatible = "qcom,msm8974-ocmem";
1070d5b0e70fSEmmanuel Vadot			reg = <0xfdd00000 0x2000>,
1071d5b0e70fSEmmanuel Vadot			      <0xfec00000 0x200000>;
1072d5b0e70fSEmmanuel Vadot			reg-names = "ctrl", "mem";
1073b97ee269SEmmanuel Vadot			ranges = <0 0xfec00000 0x200000>;
1074d5b0e70fSEmmanuel Vadot			clocks = <&rpmcc RPM_SMD_OCMEMGX_CLK>,
1075d5b0e70fSEmmanuel Vadot				 <&mmcc OCMEMCX_OCMEMNOC_CLK>;
1076d5b0e70fSEmmanuel Vadot			clock-names = "core", "iface";
1077d5b0e70fSEmmanuel Vadot
1078d5b0e70fSEmmanuel Vadot			#address-cells = <1>;
1079d5b0e70fSEmmanuel Vadot			#size-cells = <1>;
1080d5b0e70fSEmmanuel Vadot
1081d5b0e70fSEmmanuel Vadot			gmu_sram: gmu-sram@0 {
1082d5b0e70fSEmmanuel Vadot				reg = <0x0 0x180000>;
1083d5b0e70fSEmmanuel Vadot			};
1084d5b0e70fSEmmanuel Vadot		};
1085c66ec88fSEmmanuel Vadot	};
1086c66ec88fSEmmanuel Vadot
10875def4c47SEmmanuel Vadot	timer: timer {
1088c66ec88fSEmmanuel Vadot		compatible = "arm,armv8-timer";
1089c66ec88fSEmmanuel Vadot		interrupts = <GIC_PPI 2 0xff08>,
1090c66ec88fSEmmanuel Vadot			     <GIC_PPI 3 0xff08>,
1091c66ec88fSEmmanuel Vadot			     <GIC_PPI 4 0xff08>,
1092c66ec88fSEmmanuel Vadot			     <GIC_PPI 1 0xff08>;
1093c66ec88fSEmmanuel Vadot	};
1094c66ec88fSEmmanuel Vadot
10955def4c47SEmmanuel Vadot	vph_pwr: vph-pwr-regulator {
1096c66ec88fSEmmanuel Vadot		compatible = "regulator-fixed";
10975def4c47SEmmanuel Vadot		regulator-name = "vph_pwr";
1098c66ec88fSEmmanuel Vadot
1099c66ec88fSEmmanuel Vadot		regulator-min-microvolt = <3600000>;
1100c66ec88fSEmmanuel Vadot		regulator-max-microvolt = <3600000>;
1101c66ec88fSEmmanuel Vadot
1102c66ec88fSEmmanuel Vadot		regulator-always-on;
1103c66ec88fSEmmanuel Vadot	};
1104c66ec88fSEmmanuel Vadot};
1105c66ec88fSEmmanuel Vadot
1106