xref: /OK3568_Linux_fs/kernel/scripts/dtc/include-prefixes/arm64/qcom/msm8992.dtsi (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun// SPDX-License-Identifier: GPL-2.0-only
2*4882a593Smuzhiyun/* Copyright (c) 2013-2016, The Linux Foundation. All rights reserved.
3*4882a593Smuzhiyun */
4*4882a593Smuzhiyun
5*4882a593Smuzhiyun#include <dt-bindings/interrupt-controller/arm-gic.h>
6*4882a593Smuzhiyun#include <dt-bindings/clock/qcom,gcc-msm8994.h>
7*4882a593Smuzhiyun
8*4882a593Smuzhiyun/ {
9*4882a593Smuzhiyun	interrupt-parent = <&intc>;
10*4882a593Smuzhiyun
11*4882a593Smuzhiyun	#address-cells = <2>;
12*4882a593Smuzhiyun	#size-cells = <2>;
13*4882a593Smuzhiyun
14*4882a593Smuzhiyun	chosen { };
15*4882a593Smuzhiyun
16*4882a593Smuzhiyun	cpus {
17*4882a593Smuzhiyun		#address-cells = <2>;
18*4882a593Smuzhiyun		#size-cells = <0>;
19*4882a593Smuzhiyun
20*4882a593Smuzhiyun		CPU0: cpu@0 {
21*4882a593Smuzhiyun			device_type = "cpu";
22*4882a593Smuzhiyun			compatible = "arm,cortex-a53";
23*4882a593Smuzhiyun			reg = <0x0 0x0>;
24*4882a593Smuzhiyun			next-level-cache = <&L2_0>;
25*4882a593Smuzhiyun			enable-method = "psci";
26*4882a593Smuzhiyun			L2_0: l2-cache {
27*4882a593Smuzhiyun				compatible = "cache";
28*4882a593Smuzhiyun				cache-level = <2>;
29*4882a593Smuzhiyun			};
30*4882a593Smuzhiyun		};
31*4882a593Smuzhiyun
32*4882a593Smuzhiyun		CPU1: cpu@1 {
33*4882a593Smuzhiyun			device_type = "cpu";
34*4882a593Smuzhiyun			compatible = "arm,cortex-a53";
35*4882a593Smuzhiyun			reg = <0x0 0x1>;
36*4882a593Smuzhiyun			next-level-cache = <&L2_0>;
37*4882a593Smuzhiyun			enable-method = "psci";
38*4882a593Smuzhiyun		};
39*4882a593Smuzhiyun
40*4882a593Smuzhiyun		CPU2: cpu@2 {
41*4882a593Smuzhiyun			device_type = "cpu";
42*4882a593Smuzhiyun			compatible = "arm,cortex-a53";
43*4882a593Smuzhiyun			reg = <0x0 0x2>;
44*4882a593Smuzhiyun			next-level-cache = <&L2_0>;
45*4882a593Smuzhiyun			enable-method = "psci";
46*4882a593Smuzhiyun		};
47*4882a593Smuzhiyun
48*4882a593Smuzhiyun		CPU3: cpu@3 {
49*4882a593Smuzhiyun			device_type = "cpu";
50*4882a593Smuzhiyun			compatible = "arm,cortex-a53";
51*4882a593Smuzhiyun			reg = <0x0 0x3>;
52*4882a593Smuzhiyun			next-level-cache = <&L2_0>;
53*4882a593Smuzhiyun			enable-method = "psci";
54*4882a593Smuzhiyun		};
55*4882a593Smuzhiyun
56*4882a593Smuzhiyun		CPU4: cpu@100 {
57*4882a593Smuzhiyun			device_type = "cpu";
58*4882a593Smuzhiyun			compatible = "arm,cortex-a57";
59*4882a593Smuzhiyun			reg = <0x0 0x100>;
60*4882a593Smuzhiyun			next-level-cache = <&L2_1>;
61*4882a593Smuzhiyun			enable-method = "psci";
62*4882a593Smuzhiyun			L2_1: l2-cache {
63*4882a593Smuzhiyun				compatible = "cache";
64*4882a593Smuzhiyun				cache-level = <2>;
65*4882a593Smuzhiyun			};
66*4882a593Smuzhiyun		};
67*4882a593Smuzhiyun
68*4882a593Smuzhiyun		CPU5: cpu@101 {
69*4882a593Smuzhiyun			device_type = "cpu";
70*4882a593Smuzhiyun			compatible = "arm,cortex-a57";
71*4882a593Smuzhiyun			reg = <0x0 0x101>;
72*4882a593Smuzhiyun			next-level-cache = <&L2_1>;
73*4882a593Smuzhiyun			enable-method = "psci";
74*4882a593Smuzhiyun		};
75*4882a593Smuzhiyun
76*4882a593Smuzhiyun		cpu-map {
77*4882a593Smuzhiyun			cluster0 {
78*4882a593Smuzhiyun				core0 {
79*4882a593Smuzhiyun					cpu = <&CPU0>;
80*4882a593Smuzhiyun				};
81*4882a593Smuzhiyun
82*4882a593Smuzhiyun				core1 {
83*4882a593Smuzhiyun					cpu = <&CPU1>;
84*4882a593Smuzhiyun				};
85*4882a593Smuzhiyun
86*4882a593Smuzhiyun				core2 {
87*4882a593Smuzhiyun					cpu = <&CPU2>;
88*4882a593Smuzhiyun				};
89*4882a593Smuzhiyun
90*4882a593Smuzhiyun				core3 {
91*4882a593Smuzhiyun					cpu = <&CPU3>;
92*4882a593Smuzhiyun				};
93*4882a593Smuzhiyun			};
94*4882a593Smuzhiyun
95*4882a593Smuzhiyun			cluster1 {
96*4882a593Smuzhiyun				core0 {
97*4882a593Smuzhiyun					cpu = <&CPU4>;
98*4882a593Smuzhiyun				};
99*4882a593Smuzhiyun
100*4882a593Smuzhiyun				core1 {
101*4882a593Smuzhiyun					cpu = <&CPU5>;
102*4882a593Smuzhiyun				};
103*4882a593Smuzhiyun			};
104*4882a593Smuzhiyun		};
105*4882a593Smuzhiyun	};
106*4882a593Smuzhiyun
107*4882a593Smuzhiyun	clocks {
108*4882a593Smuzhiyun		xo_board: xo_board {
109*4882a593Smuzhiyun			compatible = "fixed-clock";
110*4882a593Smuzhiyun			#clock-cells = <0>;
111*4882a593Smuzhiyun			clock-frequency = <19200000>;
112*4882a593Smuzhiyun		};
113*4882a593Smuzhiyun
114*4882a593Smuzhiyun		sleep_clk: sleep_clk {
115*4882a593Smuzhiyun			compatible = "fixed-clock";
116*4882a593Smuzhiyun			#clock-cells = <0>;
117*4882a593Smuzhiyun			clock-frequency = <32768>;
118*4882a593Smuzhiyun		};
119*4882a593Smuzhiyun	};
120*4882a593Smuzhiyun
121*4882a593Smuzhiyun	firmware {
122*4882a593Smuzhiyun		scm {
123*4882a593Smuzhiyun			compatible = "qcom,scm-msm8994", "qcom,scm";
124*4882a593Smuzhiyun		};
125*4882a593Smuzhiyun	};
126*4882a593Smuzhiyun
127*4882a593Smuzhiyun	memory {
128*4882a593Smuzhiyun		device_type = "memory";
129*4882a593Smuzhiyun		/* We expect the bootloader to fill in the reg */
130*4882a593Smuzhiyun		reg = <0 0 0 0>;
131*4882a593Smuzhiyun	};
132*4882a593Smuzhiyun
133*4882a593Smuzhiyun	pmu {
134*4882a593Smuzhiyun		compatible = "arm,cortex-a53-pmu";
135*4882a593Smuzhiyun		interrupts = <GIC_PPI 7 (GIC_CPU_MASK_SIMPLE(4)| IRQ_TYPE_LEVEL_HIGH)>;
136*4882a593Smuzhiyun	};
137*4882a593Smuzhiyun
138*4882a593Smuzhiyun	psci {
139*4882a593Smuzhiyun		compatible = "arm,psci-0.2";
140*4882a593Smuzhiyun		method = "hvc";
141*4882a593Smuzhiyun	};
142*4882a593Smuzhiyun
143*4882a593Smuzhiyun	reserved-memory {
144*4882a593Smuzhiyun		#address-cells = <2>;
145*4882a593Smuzhiyun		#size-cells = <2>;
146*4882a593Smuzhiyun		ranges;
147*4882a593Smuzhiyun
148*4882a593Smuzhiyun		smem_region: smem@6a00000 {
149*4882a593Smuzhiyun			reg = <0x0 0x6a00000 0x0 0x200000>;
150*4882a593Smuzhiyun			no-map;
151*4882a593Smuzhiyun		};
152*4882a593Smuzhiyun	};
153*4882a593Smuzhiyun
154*4882a593Smuzhiyun	sfpb_mutex: hwmutex {
155*4882a593Smuzhiyun		compatible = "qcom,sfpb-mutex";
156*4882a593Smuzhiyun		syscon = <&sfpb_mutex_regs 0x0 0x100>;
157*4882a593Smuzhiyun		#hwlock-cells = <1>;
158*4882a593Smuzhiyun	};
159*4882a593Smuzhiyun
160*4882a593Smuzhiyun	smem {
161*4882a593Smuzhiyun		compatible = "qcom,smem";
162*4882a593Smuzhiyun		memory-region = <&smem_region>;
163*4882a593Smuzhiyun		qcom,rpm-msg-ram = <&rpm_msg_ram>;
164*4882a593Smuzhiyun		hwlocks = <&sfpb_mutex 3>;
165*4882a593Smuzhiyun	};
166*4882a593Smuzhiyun
167*4882a593Smuzhiyun	soc {
168*4882a593Smuzhiyun		#address-cells = <1>;
169*4882a593Smuzhiyun		#size-cells = <1>;
170*4882a593Smuzhiyun		ranges = <0 0 0 0xffffffff>;
171*4882a593Smuzhiyun		compatible = "simple-bus";
172*4882a593Smuzhiyun
173*4882a593Smuzhiyun		intc: interrupt-controller@f9000000 {
174*4882a593Smuzhiyun			compatible = "qcom,msm-qgic2";
175*4882a593Smuzhiyun			interrupt-controller;
176*4882a593Smuzhiyun			#interrupt-cells = <3>;
177*4882a593Smuzhiyun			reg = <0xf9000000 0x1000>,
178*4882a593Smuzhiyun				<0xf9002000 0x1000>;
179*4882a593Smuzhiyun		};
180*4882a593Smuzhiyun
181*4882a593Smuzhiyun		apcs: mailbox@f900d000 {
182*4882a593Smuzhiyun			compatible = "qcom,msm8994-apcs-kpss-global", "syscon";
183*4882a593Smuzhiyun			reg = <0xf900d000 0x2000>;
184*4882a593Smuzhiyun			#mbox-cells = <1>;
185*4882a593Smuzhiyun		};
186*4882a593Smuzhiyun
187*4882a593Smuzhiyun		timer@f9020000 {
188*4882a593Smuzhiyun			#address-cells = <1>;
189*4882a593Smuzhiyun			#size-cells = <1>;
190*4882a593Smuzhiyun			ranges;
191*4882a593Smuzhiyun			compatible = "arm,armv7-timer-mem";
192*4882a593Smuzhiyun			reg = <0xf9020000 0x1000>;
193*4882a593Smuzhiyun
194*4882a593Smuzhiyun			frame@f9021000 {
195*4882a593Smuzhiyun				frame-number = <0>;
196*4882a593Smuzhiyun				interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
197*4882a593Smuzhiyun						<GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
198*4882a593Smuzhiyun				reg = <0xf9021000 0x1000>,
199*4882a593Smuzhiyun					<0xf9022000 0x1000>;
200*4882a593Smuzhiyun			};
201*4882a593Smuzhiyun
202*4882a593Smuzhiyun			frame@f9023000 {
203*4882a593Smuzhiyun				frame-number = <1>;
204*4882a593Smuzhiyun				interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
205*4882a593Smuzhiyun				reg = <0xf9023000 0x1000>;
206*4882a593Smuzhiyun				status = "disabled";
207*4882a593Smuzhiyun			};
208*4882a593Smuzhiyun
209*4882a593Smuzhiyun			frame@f9024000 {
210*4882a593Smuzhiyun				frame-number = <2>;
211*4882a593Smuzhiyun				interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
212*4882a593Smuzhiyun				reg = <0xf9024000 0x1000>;
213*4882a593Smuzhiyun				status = "disabled";
214*4882a593Smuzhiyun			};
215*4882a593Smuzhiyun
216*4882a593Smuzhiyun			frame@f9025000 {
217*4882a593Smuzhiyun				frame-number = <3>;
218*4882a593Smuzhiyun				interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
219*4882a593Smuzhiyun				reg = <0xf9025000 0x1000>;
220*4882a593Smuzhiyun				status = "disabled";
221*4882a593Smuzhiyun			};
222*4882a593Smuzhiyun
223*4882a593Smuzhiyun			frame@f9026000 {
224*4882a593Smuzhiyun				frame-number = <4>;
225*4882a593Smuzhiyun				interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
226*4882a593Smuzhiyun				reg = <0xf9026000 0x1000>;
227*4882a593Smuzhiyun				status = "disabled";
228*4882a593Smuzhiyun			};
229*4882a593Smuzhiyun
230*4882a593Smuzhiyun			frame@f9027000 {
231*4882a593Smuzhiyun				frame-number = <5>;
232*4882a593Smuzhiyun				interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
233*4882a593Smuzhiyun				reg = <0xf9027000 0x1000>;
234*4882a593Smuzhiyun				status = "disabled";
235*4882a593Smuzhiyun			};
236*4882a593Smuzhiyun
237*4882a593Smuzhiyun			frame@f9028000 {
238*4882a593Smuzhiyun				frame-number = <6>;
239*4882a593Smuzhiyun				interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
240*4882a593Smuzhiyun				reg = <0xf9028000 0x1000>;
241*4882a593Smuzhiyun				status = "disabled";
242*4882a593Smuzhiyun			};
243*4882a593Smuzhiyun		};
244*4882a593Smuzhiyun
245*4882a593Smuzhiyun		sdhc_1: sdhci@f9824900 {
246*4882a593Smuzhiyun			compatible = "qcom,sdhci-msm-v4";
247*4882a593Smuzhiyun			reg = <0xf9824900 0x1a0>, <0xf9824000 0x800>;
248*4882a593Smuzhiyun			reg-names = "hc_mem", "core_mem";
249*4882a593Smuzhiyun
250*4882a593Smuzhiyun			interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
251*4882a593Smuzhiyun					<GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
252*4882a593Smuzhiyun			interrupt-names = "hc_irq", "pwr_irq";
253*4882a593Smuzhiyun
254*4882a593Smuzhiyun			clocks = <&gcc GCC_SDCC1_APPS_CLK>,
255*4882a593Smuzhiyun				<&gcc GCC_SDCC1_AHB_CLK>,
256*4882a593Smuzhiyun				<&xo_board>;
257*4882a593Smuzhiyun			clock-names = "core", "iface", "xo";
258*4882a593Smuzhiyun
259*4882a593Smuzhiyun			pinctrl-names = "default", "sleep";
260*4882a593Smuzhiyun			pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on
261*4882a593Smuzhiyun					&sdc1_rclk_on>;
262*4882a593Smuzhiyun			pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off
263*4882a593Smuzhiyun					&sdc1_rclk_off>;
264*4882a593Smuzhiyun
265*4882a593Smuzhiyun			regulator-always-on;
266*4882a593Smuzhiyun			bus-width = <8>;
267*4882a593Smuzhiyun			non-removable;
268*4882a593Smuzhiyun
269*4882a593Smuzhiyun			status = "disabled";
270*4882a593Smuzhiyun		};
271*4882a593Smuzhiyun
272*4882a593Smuzhiyun		blsp1_uart2: serial@f991e000 {
273*4882a593Smuzhiyun			compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
274*4882a593Smuzhiyun			reg = <0xf991e000 0x1000>;
275*4882a593Smuzhiyun			interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_LOW>;
276*4882a593Smuzhiyun			clock-names = "core", "iface";
277*4882a593Smuzhiyun			clocks = <&gcc GCC_BLSP1_UART2_APPS_CLK>,
278*4882a593Smuzhiyun				<&gcc GCC_BLSP1_AHB_CLK>;
279*4882a593Smuzhiyun			pinctrl-names = "default", "sleep";
280*4882a593Smuzhiyun			pinctrl-0 = <&blsp1_uart2_default>;
281*4882a593Smuzhiyun			pinctrl-1 = <&blsp1_uart2_sleep>;
282*4882a593Smuzhiyun			status = "disabled";
283*4882a593Smuzhiyun		};
284*4882a593Smuzhiyun
285*4882a593Smuzhiyun		blsp_i2c2: i2c@f9924000 {
286*4882a593Smuzhiyun			compatible = "qcom,i2c-qup-v2.2.1";
287*4882a593Smuzhiyun			reg = <0xf9924000 0x500>;
288*4882a593Smuzhiyun			interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
289*4882a593Smuzhiyun			clocks = <&gcc GCC_BLSP1_AHB_CLK>,
290*4882a593Smuzhiyun				<&gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>;
291*4882a593Smuzhiyun			clock-names = "iface", "core";
292*4882a593Smuzhiyun			clock-frequency = <400000>;
293*4882a593Smuzhiyun			pinctrl-names = "default", "sleep";
294*4882a593Smuzhiyun			pinctrl-0 = <&i2c2_default>;
295*4882a593Smuzhiyun			pinctrl-1 = <&i2c2_sleep>;
296*4882a593Smuzhiyun			#address-cells = <1>;
297*4882a593Smuzhiyun			#size-cells = <0>;
298*4882a593Smuzhiyun			status = "disabled";
299*4882a593Smuzhiyun		};
300*4882a593Smuzhiyun
301*4882a593Smuzhiyun		/* Somebody was very creative with their numbering scheme downstream... */
302*4882a593Smuzhiyun
303*4882a593Smuzhiyun		blsp_i2c13: i2c@f9927000 {
304*4882a593Smuzhiyun			compatible = "qcom,i2c-qup-v2.2.1";
305*4882a593Smuzhiyun			reg = <0xf9927000 0x500>;
306*4882a593Smuzhiyun			interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
307*4882a593Smuzhiyun			clocks = <&gcc GCC_BLSP1_AHB_CLK>,
308*4882a593Smuzhiyun				<&gcc GCC_BLSP1_QUP5_I2C_APPS_CLK>;
309*4882a593Smuzhiyun			clock-names = "iface", "core";
310*4882a593Smuzhiyun			clock-frequency = <400000>;
311*4882a593Smuzhiyun			pinctrl-names = "default", "sleep";
312*4882a593Smuzhiyun			pinctrl-0 = <&i2c13_default>;
313*4882a593Smuzhiyun			pinctrl-1 = <&i2c13_sleep>;
314*4882a593Smuzhiyun			#address-cells = <1>;
315*4882a593Smuzhiyun			#size-cells = <0>;
316*4882a593Smuzhiyun			status = "disabled";
317*4882a593Smuzhiyun		};
318*4882a593Smuzhiyun
319*4882a593Smuzhiyun		blsp_i2c6: i2c@f9928000 {
320*4882a593Smuzhiyun			compatible = "qcom,i2c-qup-v2.2.1";
321*4882a593Smuzhiyun			reg = <0xf9928000 0x500>;
322*4882a593Smuzhiyun			interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
323*4882a593Smuzhiyun			clocks = <&gcc GCC_BLSP1_AHB_CLK>,
324*4882a593Smuzhiyun				<&gcc GCC_BLSP1_QUP6_I2C_APPS_CLK>;
325*4882a593Smuzhiyun			clock-names = "iface", "core";
326*4882a593Smuzhiyun			clock-frequency = <400000>;
327*4882a593Smuzhiyun			pinctrl-names = "default", "sleep";
328*4882a593Smuzhiyun			pinctrl-0 = <&i2c6_default>;
329*4882a593Smuzhiyun			pinctrl-1 = <&i2c6_sleep>;
330*4882a593Smuzhiyun			#address-cells = <1>;
331*4882a593Smuzhiyun			#size-cells = <0>;
332*4882a593Smuzhiyun			status = "disabled";
333*4882a593Smuzhiyun		};
334*4882a593Smuzhiyun
335*4882a593Smuzhiyun		blsp2_uart2: serial@f995e000 {
336*4882a593Smuzhiyun			compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
337*4882a593Smuzhiyun			reg = <0xf995e000 0x1000>;
338*4882a593Smuzhiyun			interrupts = <GIC_SPI 146 IRQ_TYPE_LEVEL_LOW>;
339*4882a593Smuzhiyun			clock-names = "core", "iface";
340*4882a593Smuzhiyun			clocks = <&gcc GCC_BLSP2_UART2_APPS_CLK>,
341*4882a593Smuzhiyun				<&gcc GCC_BLSP2_AHB_CLK>;
342*4882a593Smuzhiyun			pinctrl-names = "default", "sleep";
343*4882a593Smuzhiyun			pinctrl-0 = <&blsp2_uart2_default>;
344*4882a593Smuzhiyun			pinctrl-1 = <&blsp2_uart2_sleep>;
345*4882a593Smuzhiyun			status = "disabled";
346*4882a593Smuzhiyun		};
347*4882a593Smuzhiyun
348*4882a593Smuzhiyun		blsp_i2c7: i2c@f9963000 {
349*4882a593Smuzhiyun			compatible = "qcom,i2c-qup-v2.2.1";
350*4882a593Smuzhiyun			reg = <0xf9963000 0x500>;
351*4882a593Smuzhiyun			interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
352*4882a593Smuzhiyun			clocks = <&gcc GCC_BLSP2_AHB_CLK>,
353*4882a593Smuzhiyun				<&gcc GCC_BLSP2_QUP1_I2C_APPS_CLK>;
354*4882a593Smuzhiyun			clock-names = "iface", "core";
355*4882a593Smuzhiyun			clock-frequency = <400000>;
356*4882a593Smuzhiyun			pinctrl-names = "default", "sleep";
357*4882a593Smuzhiyun			pinctrl-0 = <&i2c7_default>;
358*4882a593Smuzhiyun			pinctrl-1 = <&i2c7_sleep>;
359*4882a593Smuzhiyun			#address-cells = <1>;
360*4882a593Smuzhiyun			#size-cells = <0>;
361*4882a593Smuzhiyun			status = "disabled";
362*4882a593Smuzhiyun		};
363*4882a593Smuzhiyun
364*4882a593Smuzhiyun		blsp_i2c5: i2c@f9967000 {
365*4882a593Smuzhiyun			compatible = "qcom,i2c-qup-v2.2.1";
366*4882a593Smuzhiyun			reg = <0xf9967000 0x500>;
367*4882a593Smuzhiyun			interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
368*4882a593Smuzhiyun			clocks = <&gcc GCC_BLSP2_AHB_CLK>,
369*4882a593Smuzhiyun				<&gcc GCC_BLSP2_QUP5_I2C_APPS_CLK>;
370*4882a593Smuzhiyun			clock-names = "iface", "core";
371*4882a593Smuzhiyun			clock-frequency = <100000>;
372*4882a593Smuzhiyun			pinctrl-names = "default", "sleep";
373*4882a593Smuzhiyun			pinctrl-0 = <&i2c5_default>;
374*4882a593Smuzhiyun			pinctrl-1 = <&i2c5_sleep>;
375*4882a593Smuzhiyun			#address-cells = <1>;
376*4882a593Smuzhiyun			#size-cells = <0>;
377*4882a593Smuzhiyun			status = "disabled";
378*4882a593Smuzhiyun		};
379*4882a593Smuzhiyun
380*4882a593Smuzhiyun		gcc: clock-controller@fc400000 {
381*4882a593Smuzhiyun			compatible = "qcom,gcc-msm8994";
382*4882a593Smuzhiyun			#clock-cells = <1>;
383*4882a593Smuzhiyun			#reset-cells = <1>;
384*4882a593Smuzhiyun			#power-domain-cells = <1>;
385*4882a593Smuzhiyun			reg = <0xfc400000 0x2000>;
386*4882a593Smuzhiyun		};
387*4882a593Smuzhiyun
388*4882a593Smuzhiyun		rpm_msg_ram: memory@fc428000 {
389*4882a593Smuzhiyun			compatible = "qcom,rpm-msg-ram";
390*4882a593Smuzhiyun			reg = <0xfc428000 0x4000>;
391*4882a593Smuzhiyun		};
392*4882a593Smuzhiyun
393*4882a593Smuzhiyun		restart@fc4ab000 {
394*4882a593Smuzhiyun			compatible = "qcom,pshold";
395*4882a593Smuzhiyun			reg = <0xfc4ab000 0x4>;
396*4882a593Smuzhiyun		};
397*4882a593Smuzhiyun
398*4882a593Smuzhiyun		spmi_bus: spmi@fc4c0000 {
399*4882a593Smuzhiyun			compatible = "qcom,spmi-pmic-arb";
400*4882a593Smuzhiyun			reg = <0xfc4cf000 0x1000>,
401*4882a593Smuzhiyun			      <0xfc4cb000 0x1000>,
402*4882a593Smuzhiyun			      <0xfc4ca000 0x1000>;
403*4882a593Smuzhiyun			reg-names = "core", "intr", "cnfg";
404*4882a593Smuzhiyun			interrupt-names = "periph_irq";
405*4882a593Smuzhiyun			interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
406*4882a593Smuzhiyun			qcom,ee = <0>;
407*4882a593Smuzhiyun			qcom,channel = <0>;
408*4882a593Smuzhiyun			#address-cells = <2>;
409*4882a593Smuzhiyun			#size-cells = <0>;
410*4882a593Smuzhiyun			interrupt-controller;
411*4882a593Smuzhiyun			#interrupt-cells = <4>;
412*4882a593Smuzhiyun		};
413*4882a593Smuzhiyun
414*4882a593Smuzhiyun		sfpb_mutex_regs: syscon@fd484000 {
415*4882a593Smuzhiyun			#address-cells = <1>;
416*4882a593Smuzhiyun			#size-cells = <1>;
417*4882a593Smuzhiyun			compatible = "syscon";
418*4882a593Smuzhiyun			reg = <0xfd484000 0x400>;
419*4882a593Smuzhiyun		};
420*4882a593Smuzhiyun
421*4882a593Smuzhiyun		tlmm: pinctrl@fd510000 {
422*4882a593Smuzhiyun			compatible = "qcom,msm8994-pinctrl";
423*4882a593Smuzhiyun			reg = <0xfd510000 0x4000>;
424*4882a593Smuzhiyun			interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
425*4882a593Smuzhiyun			gpio-controller;
426*4882a593Smuzhiyun			gpio-ranges = <&tlmm 0 0 146>;
427*4882a593Smuzhiyun			#gpio-cells = <2>;
428*4882a593Smuzhiyun			interrupt-controller;
429*4882a593Smuzhiyun			#interrupt-cells = <2>;
430*4882a593Smuzhiyun
431*4882a593Smuzhiyun			blsp1_uart2_default: blsp1-uart2-default {
432*4882a593Smuzhiyun				function = "blsp_uart2";
433*4882a593Smuzhiyun				pins = "gpio4", "gpio5";
434*4882a593Smuzhiyun				drive-strength = <16>;
435*4882a593Smuzhiyun				bias-disable;
436*4882a593Smuzhiyun			};
437*4882a593Smuzhiyun
438*4882a593Smuzhiyun			blsp1_uart2_sleep: blsp1-uart2-sleep {
439*4882a593Smuzhiyun				function = "gpio";
440*4882a593Smuzhiyun				pins = "gpio4", "gpio5";
441*4882a593Smuzhiyun				drive-strength = <2>;
442*4882a593Smuzhiyun				bias-pull-down;
443*4882a593Smuzhiyun			};
444*4882a593Smuzhiyun
445*4882a593Smuzhiyun			blsp2_uart2_default: blsp2-uart2-default {
446*4882a593Smuzhiyun				function = "blsp_uart8";
447*4882a593Smuzhiyun				pins = "gpio45", "gpio46", "gpio47", "gpio48";
448*4882a593Smuzhiyun				drive-strength = <16>;
449*4882a593Smuzhiyun				bias-disable;
450*4882a593Smuzhiyun			};
451*4882a593Smuzhiyun
452*4882a593Smuzhiyun			blsp2_uart2_sleep: blsp2-uart2-sleep {
453*4882a593Smuzhiyun				function = "gpio";
454*4882a593Smuzhiyun				pins = "gpio45", "gpio46", "gpio47", "gpio48";
455*4882a593Smuzhiyun				drive-strength = <2>;
456*4882a593Smuzhiyun				bias-pull-down;
457*4882a593Smuzhiyun			};
458*4882a593Smuzhiyun
459*4882a593Smuzhiyun			sdc1_clk_on: clk-on {
460*4882a593Smuzhiyun				pins = "sdc1_clk";
461*4882a593Smuzhiyun				bias-disable;
462*4882a593Smuzhiyun				drive-strength = <6>;
463*4882a593Smuzhiyun			};
464*4882a593Smuzhiyun
465*4882a593Smuzhiyun			sdc1_clk_off: clk-off {
466*4882a593Smuzhiyun				pins = "sdc1_clk";
467*4882a593Smuzhiyun				bias-disable;
468*4882a593Smuzhiyun				drive-strength = <2>;
469*4882a593Smuzhiyun			};
470*4882a593Smuzhiyun
471*4882a593Smuzhiyun			sdc1_cmd_on: cmd-on {
472*4882a593Smuzhiyun				pins = "sdc1_cmd";
473*4882a593Smuzhiyun				bias-pull-up;
474*4882a593Smuzhiyun				drive-strength = <6>;
475*4882a593Smuzhiyun			};
476*4882a593Smuzhiyun
477*4882a593Smuzhiyun			sdc1_cmd_off: cmd-off {
478*4882a593Smuzhiyun				pins = "sdc1_cmd";
479*4882a593Smuzhiyun				bias-pull-up;
480*4882a593Smuzhiyun				drive-strength = <2>;
481*4882a593Smuzhiyun			};
482*4882a593Smuzhiyun
483*4882a593Smuzhiyun			sdc1_data_on: data-on {
484*4882a593Smuzhiyun				pins = "sdc1_data";
485*4882a593Smuzhiyun				bias-pull-up;
486*4882a593Smuzhiyun				drive-strength = <6>;
487*4882a593Smuzhiyun			};
488*4882a593Smuzhiyun
489*4882a593Smuzhiyun			sdc1_data_off: data-off {
490*4882a593Smuzhiyun				pins = "sdc1_data";
491*4882a593Smuzhiyun				bias-pull-up;
492*4882a593Smuzhiyun				drive-strength = <2>;
493*4882a593Smuzhiyun			};
494*4882a593Smuzhiyun
495*4882a593Smuzhiyun			sdc1_rclk_on: rclk-on {
496*4882a593Smuzhiyun				pins = "sdc1_rclk";
497*4882a593Smuzhiyun				bias-pull-down;
498*4882a593Smuzhiyun			};
499*4882a593Smuzhiyun
500*4882a593Smuzhiyun			sdc1_rclk_off: rclk-off {
501*4882a593Smuzhiyun				pins = "sdc1_rclk";
502*4882a593Smuzhiyun				bias-pull-down;
503*4882a593Smuzhiyun			};
504*4882a593Smuzhiyun
505*4882a593Smuzhiyun			i2c2_default: i2c2-default {
506*4882a593Smuzhiyun				function = "blsp_i2c2";
507*4882a593Smuzhiyun				pins = "gpio6", "gpio7";
508*4882a593Smuzhiyun				drive-strength = <2>;
509*4882a593Smuzhiyun				bias-disable;
510*4882a593Smuzhiyun			};
511*4882a593Smuzhiyun
512*4882a593Smuzhiyun			i2c2_sleep: i2c2-sleep {
513*4882a593Smuzhiyun				function = "gpio";
514*4882a593Smuzhiyun				pins = "gpio6", "gpio7";
515*4882a593Smuzhiyun				drive-strength = <2>;
516*4882a593Smuzhiyun				bias-disable;
517*4882a593Smuzhiyun			};
518*4882a593Smuzhiyun
519*4882a593Smuzhiyun			i2c5_default: i2c5-default {
520*4882a593Smuzhiyun				/* Don't be fooled! Nobody knows the reason why though... */
521*4882a593Smuzhiyun				function = "blsp_i2c11";
522*4882a593Smuzhiyun				pins = "gpio83", "gpio84";
523*4882a593Smuzhiyun				drive-strength = <2>;
524*4882a593Smuzhiyun				bias-disable;
525*4882a593Smuzhiyun			};
526*4882a593Smuzhiyun
527*4882a593Smuzhiyun			i2c5_sleep: i2c5-sleep {
528*4882a593Smuzhiyun				function = "gpio";
529*4882a593Smuzhiyun				pins = "gpio83", "gpio84";
530*4882a593Smuzhiyun				drive-strength = <2>;
531*4882a593Smuzhiyun				bias-disable;
532*4882a593Smuzhiyun			};
533*4882a593Smuzhiyun
534*4882a593Smuzhiyun			i2c6_default: i2c6-default {
535*4882a593Smuzhiyun				function = "blsp_i2c6";
536*4882a593Smuzhiyun				pins = "gpio28", "gpio27";
537*4882a593Smuzhiyun				drive-strength = <2>;
538*4882a593Smuzhiyun				bias-disable;
539*4882a593Smuzhiyun			};
540*4882a593Smuzhiyun
541*4882a593Smuzhiyun			i2c6_sleep: i2c6-sleep {
542*4882a593Smuzhiyun				function = "gpio";
543*4882a593Smuzhiyun				pins = "gpio28", "gpio27";
544*4882a593Smuzhiyun				drive-strength = <2>;
545*4882a593Smuzhiyun				bias-disable;
546*4882a593Smuzhiyun			};
547*4882a593Smuzhiyun
548*4882a593Smuzhiyun			i2c7_default: i2c7-default {
549*4882a593Smuzhiyun				function = "blsp_i2c7";
550*4882a593Smuzhiyun				pins = "gpio43", "gpio44";
551*4882a593Smuzhiyun				drive-strength = <2>;
552*4882a593Smuzhiyun				bias-disable;
553*4882a593Smuzhiyun			};
554*4882a593Smuzhiyun
555*4882a593Smuzhiyun			i2c7_sleep: i2c7-sleep {
556*4882a593Smuzhiyun				function = "gpio";
557*4882a593Smuzhiyun				pins = "gpio43", "gpio44";
558*4882a593Smuzhiyun				drive-strength = <2>;
559*4882a593Smuzhiyun				bias-disable;
560*4882a593Smuzhiyun			};
561*4882a593Smuzhiyun
562*4882a593Smuzhiyun			i2c13_default: i2c13-default {
563*4882a593Smuzhiyun				/* Not a typo either. */
564*4882a593Smuzhiyun				function = "blsp_i2c5";
565*4882a593Smuzhiyun				pins = "gpio23", "gpio24";
566*4882a593Smuzhiyun				drive-strength = <2>;
567*4882a593Smuzhiyun				bias-disable;
568*4882a593Smuzhiyun			};
569*4882a593Smuzhiyun
570*4882a593Smuzhiyun			i2c13_sleep: i2c13-sleep {
571*4882a593Smuzhiyun				function = "gpio";
572*4882a593Smuzhiyun				pins = "gpio23", "gpio24";
573*4882a593Smuzhiyun				drive-strength = <2>;
574*4882a593Smuzhiyun				bias-disable;
575*4882a593Smuzhiyun			};
576*4882a593Smuzhiyun		};
577*4882a593Smuzhiyun	};
578*4882a593Smuzhiyun
579*4882a593Smuzhiyun	smd_rpm: smd {
580*4882a593Smuzhiyun		compatible = "qcom,smd";
581*4882a593Smuzhiyun		rpm {
582*4882a593Smuzhiyun			interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
583*4882a593Smuzhiyun			qcom,ipc = <&apcs 8 0>;
584*4882a593Smuzhiyun			qcom,smd-edge = <15>;
585*4882a593Smuzhiyun			qcom,local-pid = <0>;
586*4882a593Smuzhiyun			qcom,remote-pid = <6>;
587*4882a593Smuzhiyun
588*4882a593Smuzhiyun			rpm_requests: rpm-requests {
589*4882a593Smuzhiyun				compatible = "qcom,rpm-msm8994";
590*4882a593Smuzhiyun				qcom,smd-channels = "rpm_requests";
591*4882a593Smuzhiyun
592*4882a593Smuzhiyun				rpmcc: rpmcc {
593*4882a593Smuzhiyun					compatible = "qcom,rpmcc-msm8992";
594*4882a593Smuzhiyun					#clock-cells = <1>;
595*4882a593Smuzhiyun				};
596*4882a593Smuzhiyun			};
597*4882a593Smuzhiyun		};
598*4882a593Smuzhiyun	};
599*4882a593Smuzhiyun
600*4882a593Smuzhiyun	timer {
601*4882a593Smuzhiyun		compatible = "arm,armv8-timer";
602*4882a593Smuzhiyun		interrupts = <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
603*4882a593Smuzhiyun			     <GIC_PPI 3 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
604*4882a593Smuzhiyun			     <GIC_PPI 4 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
605*4882a593Smuzhiyun			     <GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
606*4882a593Smuzhiyun	};
607*4882a593Smuzhiyun
608*4882a593Smuzhiyun	vreg_vph_pwr: vreg-vph-pwr {
609*4882a593Smuzhiyun		compatible = "regulator-fixed";
610*4882a593Smuzhiyun		status = "okay";
611*4882a593Smuzhiyun		regulator-name = "vph-pwr";
612*4882a593Smuzhiyun
613*4882a593Smuzhiyun		regulator-min-microvolt = <3600000>;
614*4882a593Smuzhiyun		regulator-max-microvolt = <3600000>;
615*4882a593Smuzhiyun
616*4882a593Smuzhiyun		regulator-always-on;
617*4882a593Smuzhiyun	};
618*4882a593Smuzhiyun};
619*4882a593Smuzhiyun
620