xref: /OK3568_Linux_fs/kernel/arch/arm/boot/dts/exynos4210-trats.dts (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun// SPDX-License-Identifier: GPL-2.0
2*4882a593Smuzhiyun/*
3*4882a593Smuzhiyun * Samsung's Exynos4210 based Trats board device tree source
4*4882a593Smuzhiyun *
5*4882a593Smuzhiyun * Copyright (c) 2012 Samsung Electronics Co., Ltd.
6*4882a593Smuzhiyun *		http://www.samsung.com
7*4882a593Smuzhiyun *
8*4882a593Smuzhiyun * Device tree source file for Samsung's Trats board which is based on
9*4882a593Smuzhiyun * Samsung's Exynos4210 SoC.
10*4882a593Smuzhiyun */
11*4882a593Smuzhiyun
12*4882a593Smuzhiyun/dts-v1/;
13*4882a593Smuzhiyun#include "exynos4210.dtsi"
14*4882a593Smuzhiyun#include <dt-bindings/gpio/gpio.h>
15*4882a593Smuzhiyun
16*4882a593Smuzhiyun/ {
17*4882a593Smuzhiyun	model = "Samsung Trats based on Exynos4210";
18*4882a593Smuzhiyun	compatible = "samsung,trats", "samsung,exynos4210", "samsung,exynos4";
19*4882a593Smuzhiyun
20*4882a593Smuzhiyun	memory@40000000 {
21*4882a593Smuzhiyun		device_type = "memory";
22*4882a593Smuzhiyun		reg =  <0x40000000 0x10000000
23*4882a593Smuzhiyun			0x50000000 0x10000000
24*4882a593Smuzhiyun			0x60000000 0x10000000
25*4882a593Smuzhiyun			0x70000000 0x10000000>;
26*4882a593Smuzhiyun	};
27*4882a593Smuzhiyun
28*4882a593Smuzhiyun	chosen {
29*4882a593Smuzhiyun		bootargs = "root=/dev/mmcblk0p5 rootwait earlyprintk panic=5";
30*4882a593Smuzhiyun		stdout-path = "serial2:115200n8";
31*4882a593Smuzhiyun	};
32*4882a593Smuzhiyun
33*4882a593Smuzhiyun	vemmc_reg: regulator-0 {
34*4882a593Smuzhiyun		compatible = "regulator-fixed";
35*4882a593Smuzhiyun		regulator-name = "VMEM_VDD_2.8V";
36*4882a593Smuzhiyun		regulator-min-microvolt = <2800000>;
37*4882a593Smuzhiyun		regulator-max-microvolt = <2800000>;
38*4882a593Smuzhiyun		gpio = <&gpk0 2 GPIO_ACTIVE_HIGH>;
39*4882a593Smuzhiyun		enable-active-high;
40*4882a593Smuzhiyun	};
41*4882a593Smuzhiyun
42*4882a593Smuzhiyun	tsp_reg: regulator-1 {
43*4882a593Smuzhiyun		compatible = "regulator-fixed";
44*4882a593Smuzhiyun		regulator-name = "TSP_FIXED_VOLTAGES";
45*4882a593Smuzhiyun		regulator-min-microvolt = <2800000>;
46*4882a593Smuzhiyun		regulator-max-microvolt = <2800000>;
47*4882a593Smuzhiyun		gpio = <&gpl0 3 GPIO_ACTIVE_HIGH>;
48*4882a593Smuzhiyun		enable-active-high;
49*4882a593Smuzhiyun	};
50*4882a593Smuzhiyun
51*4882a593Smuzhiyun	cam_af_28v_reg: regulator-2 {
52*4882a593Smuzhiyun		compatible = "regulator-fixed";
53*4882a593Smuzhiyun		regulator-name = "8M_AF_2.8V_EN";
54*4882a593Smuzhiyun		regulator-min-microvolt = <2800000>;
55*4882a593Smuzhiyun		regulator-max-microvolt = <2800000>;
56*4882a593Smuzhiyun		gpio = <&gpk1 1 GPIO_ACTIVE_HIGH>;
57*4882a593Smuzhiyun		enable-active-high;
58*4882a593Smuzhiyun	};
59*4882a593Smuzhiyun
60*4882a593Smuzhiyun	cam_io_en_reg: regulator-3 {
61*4882a593Smuzhiyun		compatible = "regulator-fixed";
62*4882a593Smuzhiyun		regulator-name = "CAM_IO_EN";
63*4882a593Smuzhiyun		regulator-min-microvolt = <2800000>;
64*4882a593Smuzhiyun		regulator-max-microvolt = <2800000>;
65*4882a593Smuzhiyun		gpio = <&gpe2 1 GPIO_ACTIVE_HIGH>;
66*4882a593Smuzhiyun		enable-active-high;
67*4882a593Smuzhiyun	};
68*4882a593Smuzhiyun
69*4882a593Smuzhiyun	cam_io_12v_reg: regulator-4 {
70*4882a593Smuzhiyun		compatible = "regulator-fixed";
71*4882a593Smuzhiyun		regulator-name = "8M_1.2V_EN";
72*4882a593Smuzhiyun		regulator-min-microvolt = <1200000>;
73*4882a593Smuzhiyun		regulator-max-microvolt = <1200000>;
74*4882a593Smuzhiyun		gpio = <&gpe2 5 GPIO_ACTIVE_HIGH>;
75*4882a593Smuzhiyun		enable-active-high;
76*4882a593Smuzhiyun	};
77*4882a593Smuzhiyun
78*4882a593Smuzhiyun	vt_core_15v_reg: regulator-5 {
79*4882a593Smuzhiyun		compatible = "regulator-fixed";
80*4882a593Smuzhiyun		regulator-name = "VT_CORE_1.5V";
81*4882a593Smuzhiyun		regulator-min-microvolt = <1500000>;
82*4882a593Smuzhiyun		regulator-max-microvolt = <1500000>;
83*4882a593Smuzhiyun		gpio = <&gpe2 2 GPIO_ACTIVE_HIGH>;
84*4882a593Smuzhiyun		enable-active-high;
85*4882a593Smuzhiyun	};
86*4882a593Smuzhiyun
87*4882a593Smuzhiyun	gpio-keys {
88*4882a593Smuzhiyun		compatible = "gpio-keys";
89*4882a593Smuzhiyun
90*4882a593Smuzhiyun		vol-down-key {
91*4882a593Smuzhiyun			gpios = <&gpx2 1 GPIO_ACTIVE_LOW>;
92*4882a593Smuzhiyun			linux,code = <114>;
93*4882a593Smuzhiyun			label = "volume down";
94*4882a593Smuzhiyun			debounce-interval = <10>;
95*4882a593Smuzhiyun		};
96*4882a593Smuzhiyun
97*4882a593Smuzhiyun		vol-up-key {
98*4882a593Smuzhiyun			gpios = <&gpx2 0 GPIO_ACTIVE_LOW>;
99*4882a593Smuzhiyun			linux,code = <115>;
100*4882a593Smuzhiyun			label = "volume up";
101*4882a593Smuzhiyun			debounce-interval = <10>;
102*4882a593Smuzhiyun		};
103*4882a593Smuzhiyun
104*4882a593Smuzhiyun		power-key {
105*4882a593Smuzhiyun			gpios = <&gpx2 7 GPIO_ACTIVE_LOW>;
106*4882a593Smuzhiyun			linux,code = <116>;
107*4882a593Smuzhiyun			label = "power";
108*4882a593Smuzhiyun			debounce-interval = <10>;
109*4882a593Smuzhiyun			wakeup-source;
110*4882a593Smuzhiyun		};
111*4882a593Smuzhiyun
112*4882a593Smuzhiyun		ok-key {
113*4882a593Smuzhiyun			gpios = <&gpx3 5 GPIO_ACTIVE_LOW>;
114*4882a593Smuzhiyun			linux,code = <352>;
115*4882a593Smuzhiyun			label = "ok";
116*4882a593Smuzhiyun			debounce-interval = <10>;
117*4882a593Smuzhiyun		};
118*4882a593Smuzhiyun	};
119*4882a593Smuzhiyun
120*4882a593Smuzhiyun	wlan_pwrseq: sdhci3-pwrseq {
121*4882a593Smuzhiyun		compatible = "mmc-pwrseq-simple";
122*4882a593Smuzhiyun		reset-gpios = <&gpl1 2 GPIO_ACTIVE_LOW>;
123*4882a593Smuzhiyun	};
124*4882a593Smuzhiyun
125*4882a593Smuzhiyun	fixed-rate-clocks {
126*4882a593Smuzhiyun		xxti {
127*4882a593Smuzhiyun			compatible = "samsung,clock-xxti";
128*4882a593Smuzhiyun			clock-frequency = <0>;
129*4882a593Smuzhiyun		};
130*4882a593Smuzhiyun
131*4882a593Smuzhiyun		xusbxti {
132*4882a593Smuzhiyun			compatible = "samsung,clock-xusbxti";
133*4882a593Smuzhiyun			clock-frequency = <24000000>;
134*4882a593Smuzhiyun		};
135*4882a593Smuzhiyun
136*4882a593Smuzhiyun		pmic_ap_clk: pmic-ap-clk {
137*4882a593Smuzhiyun			/* Workaround for missing clock on max8997 PMIC */
138*4882a593Smuzhiyun			compatible = "fixed-clock";
139*4882a593Smuzhiyun			#clock-cells = <0>;
140*4882a593Smuzhiyun			clock-frequency = <32768>;
141*4882a593Smuzhiyun		};
142*4882a593Smuzhiyun	};
143*4882a593Smuzhiyun};
144*4882a593Smuzhiyun
145*4882a593Smuzhiyun&camera {
146*4882a593Smuzhiyun	pinctrl-names = "default";
147*4882a593Smuzhiyun	pinctrl-0 = <>;
148*4882a593Smuzhiyun	status = "okay";
149*4882a593Smuzhiyun};
150*4882a593Smuzhiyun
151*4882a593Smuzhiyun&cpu0 {
152*4882a593Smuzhiyun	cpu0-supply = <&varm_breg>;
153*4882a593Smuzhiyun};
154*4882a593Smuzhiyun
155*4882a593Smuzhiyun&cpu_thermal {
156*4882a593Smuzhiyun	cooling-maps {
157*4882a593Smuzhiyun		map0 {
158*4882a593Smuzhiyun			/* Corresponds to 800MHz at freq_table */
159*4882a593Smuzhiyun			cooling-device = <&cpu0 2 2>, <&cpu1 2 2>;
160*4882a593Smuzhiyun		};
161*4882a593Smuzhiyun		map1 {
162*4882a593Smuzhiyun			/* Corresponds to 200MHz at freq_table */
163*4882a593Smuzhiyun			cooling-device = <&cpu0 4 4>, <&cpu1 4 4>;
164*4882a593Smuzhiyun		};
165*4882a593Smuzhiyun	};
166*4882a593Smuzhiyun};
167*4882a593Smuzhiyun
168*4882a593Smuzhiyun&dsi_0 {
169*4882a593Smuzhiyun	vddcore-supply = <&vusb_reg>;
170*4882a593Smuzhiyun	vddio-supply = <&vmipi_reg>;
171*4882a593Smuzhiyun	samsung,burst-clock-frequency = <500000000>;
172*4882a593Smuzhiyun	samsung,esc-clock-frequency = <20000000>;
173*4882a593Smuzhiyun	samsung,pll-clock-frequency = <24000000>;
174*4882a593Smuzhiyun	status = "okay";
175*4882a593Smuzhiyun
176*4882a593Smuzhiyun	panel@0 {
177*4882a593Smuzhiyun		reg = <0>;
178*4882a593Smuzhiyun		compatible = "samsung,s6e8aa0";
179*4882a593Smuzhiyun		vdd3-supply = <&vcclcd_reg>;
180*4882a593Smuzhiyun		vci-supply = <&vlcd_reg>;
181*4882a593Smuzhiyun		reset-gpios = <&gpy4 5 GPIO_ACTIVE_HIGH>;
182*4882a593Smuzhiyun		power-on-delay= <50>;
183*4882a593Smuzhiyun		reset-delay = <100>;
184*4882a593Smuzhiyun		init-delay = <100>;
185*4882a593Smuzhiyun		flip-horizontal;
186*4882a593Smuzhiyun		flip-vertical;
187*4882a593Smuzhiyun		panel-width-mm = <58>;
188*4882a593Smuzhiyun		panel-height-mm = <103>;
189*4882a593Smuzhiyun
190*4882a593Smuzhiyun		display-timings {
191*4882a593Smuzhiyun			timing-0 {
192*4882a593Smuzhiyun				clock-frequency = <57153600>;
193*4882a593Smuzhiyun				hactive = <720>;
194*4882a593Smuzhiyun				vactive = <1280>;
195*4882a593Smuzhiyun				hfront-porch = <5>;
196*4882a593Smuzhiyun				hback-porch = <5>;
197*4882a593Smuzhiyun				hsync-len = <5>;
198*4882a593Smuzhiyun				vfront-porch = <13>;
199*4882a593Smuzhiyun				vback-porch = <1>;
200*4882a593Smuzhiyun				vsync-len = <2>;
201*4882a593Smuzhiyun			};
202*4882a593Smuzhiyun		};
203*4882a593Smuzhiyun	};
204*4882a593Smuzhiyun};
205*4882a593Smuzhiyun
206*4882a593Smuzhiyun&exynos_usbphy {
207*4882a593Smuzhiyun	status = "okay";
208*4882a593Smuzhiyun	vbus-supply = <&safe1_sreg>;
209*4882a593Smuzhiyun};
210*4882a593Smuzhiyun
211*4882a593Smuzhiyun&fimc_0 {
212*4882a593Smuzhiyun	status = "okay";
213*4882a593Smuzhiyun	assigned-clocks = <&clock CLK_MOUT_FIMC0>,
214*4882a593Smuzhiyun			  <&clock CLK_SCLK_FIMC0>;
215*4882a593Smuzhiyun	assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
216*4882a593Smuzhiyun	assigned-clock-rates = <0>, <160000000>;
217*4882a593Smuzhiyun};
218*4882a593Smuzhiyun
219*4882a593Smuzhiyun&fimc_1 {
220*4882a593Smuzhiyun	status = "okay";
221*4882a593Smuzhiyun	assigned-clocks = <&clock CLK_MOUT_FIMC1>,
222*4882a593Smuzhiyun			  <&clock CLK_SCLK_FIMC1>;
223*4882a593Smuzhiyun	assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
224*4882a593Smuzhiyun	assigned-clock-rates = <0>, <160000000>;
225*4882a593Smuzhiyun};
226*4882a593Smuzhiyun
227*4882a593Smuzhiyun&fimc_2 {
228*4882a593Smuzhiyun	status = "okay";
229*4882a593Smuzhiyun	assigned-clocks = <&clock CLK_MOUT_FIMC2>,
230*4882a593Smuzhiyun			  <&clock CLK_SCLK_FIMC2>;
231*4882a593Smuzhiyun	assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
232*4882a593Smuzhiyun		assigned-clock-rates = <0>, <160000000>;
233*4882a593Smuzhiyun};
234*4882a593Smuzhiyun
235*4882a593Smuzhiyun&fimc_3 {
236*4882a593Smuzhiyun	status = "okay";
237*4882a593Smuzhiyun	assigned-clocks = <&clock CLK_MOUT_FIMC3>,
238*4882a593Smuzhiyun			  <&clock CLK_SCLK_FIMC3>;
239*4882a593Smuzhiyun	assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
240*4882a593Smuzhiyun	assigned-clock-rates = <0>, <160000000>;
241*4882a593Smuzhiyun};
242*4882a593Smuzhiyun
243*4882a593Smuzhiyun&fimd {
244*4882a593Smuzhiyun	status = "okay";
245*4882a593Smuzhiyun};
246*4882a593Smuzhiyun
247*4882a593Smuzhiyun&gpu {
248*4882a593Smuzhiyun	status = "okay";
249*4882a593Smuzhiyun};
250*4882a593Smuzhiyun
251*4882a593Smuzhiyun&hsotg {
252*4882a593Smuzhiyun	vusb_d-supply = <&vusb_reg>;
253*4882a593Smuzhiyun	vusb_a-supply = <&vusbdac_reg>;
254*4882a593Smuzhiyun	dr_mode = "peripheral";
255*4882a593Smuzhiyun	status = "okay";
256*4882a593Smuzhiyun};
257*4882a593Smuzhiyun
258*4882a593Smuzhiyun&i2c_3 {
259*4882a593Smuzhiyun	samsung,i2c-sda-delay = <100>;
260*4882a593Smuzhiyun	samsung,i2c-slave-addr = <0x10>;
261*4882a593Smuzhiyun	samsung,i2c-max-bus-freq = <400000>;
262*4882a593Smuzhiyun	pinctrl-0 = <&i2c3_bus>;
263*4882a593Smuzhiyun	pinctrl-names = "default";
264*4882a593Smuzhiyun	status = "okay";
265*4882a593Smuzhiyun
266*4882a593Smuzhiyun	mms114-touchscreen@48 {
267*4882a593Smuzhiyun		compatible = "melfas,mms114";
268*4882a593Smuzhiyun		reg = <0x48>;
269*4882a593Smuzhiyun		interrupt-parent = <&gpx0>;
270*4882a593Smuzhiyun		interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
271*4882a593Smuzhiyun		touchscreen-size-x = <720>;
272*4882a593Smuzhiyun		touchscreen-size-y = <1280>;
273*4882a593Smuzhiyun		avdd-supply = <&tsp_reg>;
274*4882a593Smuzhiyun		vdd-supply = <&tsp_reg>;
275*4882a593Smuzhiyun	};
276*4882a593Smuzhiyun};
277*4882a593Smuzhiyun
278*4882a593Smuzhiyun&i2c_5 {
279*4882a593Smuzhiyun	samsung,i2c-sda-delay = <100>;
280*4882a593Smuzhiyun	samsung,i2c-slave-addr = <0x10>;
281*4882a593Smuzhiyun	samsung,i2c-max-bus-freq = <100000>;
282*4882a593Smuzhiyun	pinctrl-0 = <&i2c5_bus>;
283*4882a593Smuzhiyun	pinctrl-names = "default";
284*4882a593Smuzhiyun	status = "okay";
285*4882a593Smuzhiyun
286*4882a593Smuzhiyun	max8997_pmic@66 {
287*4882a593Smuzhiyun		compatible = "maxim,max8997-pmic";
288*4882a593Smuzhiyun
289*4882a593Smuzhiyun		reg = <0x66>;
290*4882a593Smuzhiyun		interrupts-extended = <&gpx0 7 IRQ_TYPE_LEVEL_LOW>,
291*4882a593Smuzhiyun				      <&gpx2 3 IRQ_TYPE_EDGE_FALLING>;
292*4882a593Smuzhiyun
293*4882a593Smuzhiyun		max8997,pmic-buck1-uses-gpio-dvs;
294*4882a593Smuzhiyun		max8997,pmic-buck2-uses-gpio-dvs;
295*4882a593Smuzhiyun		max8997,pmic-buck5-uses-gpio-dvs;
296*4882a593Smuzhiyun
297*4882a593Smuzhiyun		max8997,pmic-ignore-gpiodvs-side-effect;
298*4882a593Smuzhiyun		max8997,pmic-buck125-default-dvs-idx = <0>;
299*4882a593Smuzhiyun
300*4882a593Smuzhiyun		max8997,pmic-buck125-dvs-gpios = <&gpx0 5 GPIO_ACTIVE_HIGH>,
301*4882a593Smuzhiyun						 <&gpx0 6 GPIO_ACTIVE_HIGH>,
302*4882a593Smuzhiyun						 <&gpl0 0 GPIO_ACTIVE_HIGH>;
303*4882a593Smuzhiyun
304*4882a593Smuzhiyun		max8997,pmic-buck1-dvs-voltage = <1350000>, <1300000>,
305*4882a593Smuzhiyun						 <1250000>, <1200000>,
306*4882a593Smuzhiyun						 <1150000>, <1100000>,
307*4882a593Smuzhiyun						 <1000000>, <950000>;
308*4882a593Smuzhiyun
309*4882a593Smuzhiyun		max8997,pmic-buck2-dvs-voltage = <1100000>, <1000000>,
310*4882a593Smuzhiyun						 <950000>,  <900000>,
311*4882a593Smuzhiyun						 <1100000>, <1000000>,
312*4882a593Smuzhiyun						 <950000>,  <900000>;
313*4882a593Smuzhiyun
314*4882a593Smuzhiyun		max8997,pmic-buck5-dvs-voltage = <1200000>, <1200000>,
315*4882a593Smuzhiyun						 <1200000>, <1200000>,
316*4882a593Smuzhiyun						 <1200000>, <1200000>,
317*4882a593Smuzhiyun						 <1200000>, <1200000>;
318*4882a593Smuzhiyun
319*4882a593Smuzhiyun		regulators {
320*4882a593Smuzhiyun			valive_reg: LDO2 {
321*4882a593Smuzhiyun				regulator-name = "VALIVE_1.1V_C210";
322*4882a593Smuzhiyun				regulator-min-microvolt = <1100000>;
323*4882a593Smuzhiyun				regulator-max-microvolt = <1100000>;
324*4882a593Smuzhiyun				regulator-always-on;
325*4882a593Smuzhiyun			};
326*4882a593Smuzhiyun
327*4882a593Smuzhiyun			vusb_reg: LDO3 {
328*4882a593Smuzhiyun				regulator-name = "VUSB_1.1V_C210";
329*4882a593Smuzhiyun				regulator-min-microvolt = <1100000>;
330*4882a593Smuzhiyun				regulator-max-microvolt = <1100000>;
331*4882a593Smuzhiyun			};
332*4882a593Smuzhiyun
333*4882a593Smuzhiyun			vmipi_reg: LDO4 {
334*4882a593Smuzhiyun				regulator-name = "VMIPI_1.8V";
335*4882a593Smuzhiyun				regulator-min-microvolt = <1800000>;
336*4882a593Smuzhiyun				regulator-max-microvolt = <1800000>;
337*4882a593Smuzhiyun			};
338*4882a593Smuzhiyun
339*4882a593Smuzhiyun			vpda_reg: LDO6 {
340*4882a593Smuzhiyun				regulator-name = "VCC_1.8V_PDA";
341*4882a593Smuzhiyun				regulator-min-microvolt = <1800000>;
342*4882a593Smuzhiyun				regulator-max-microvolt = <1800000>;
343*4882a593Smuzhiyun				regulator-always-on;
344*4882a593Smuzhiyun			};
345*4882a593Smuzhiyun
346*4882a593Smuzhiyun			vcam_reg: LDO7 {
347*4882a593Smuzhiyun				regulator-name = "CAM_ISP_1.8V";
348*4882a593Smuzhiyun				regulator-min-microvolt = <1800000>;
349*4882a593Smuzhiyun				regulator-max-microvolt = <1800000>;
350*4882a593Smuzhiyun			};
351*4882a593Smuzhiyun
352*4882a593Smuzhiyun			vusbdac_reg: LDO8 {
353*4882a593Smuzhiyun				regulator-name = "VUSB+VDAC_3.3V_C210";
354*4882a593Smuzhiyun				regulator-min-microvolt = <3300000>;
355*4882a593Smuzhiyun				regulator-max-microvolt = <3300000>;
356*4882a593Smuzhiyun			};
357*4882a593Smuzhiyun
358*4882a593Smuzhiyun			vccpda_reg: LDO9 {
359*4882a593Smuzhiyun				regulator-name = "VCC_2.8V_PDA";
360*4882a593Smuzhiyun				regulator-min-microvolt = <2800000>;
361*4882a593Smuzhiyun				regulator-max-microvolt = <2800000>;
362*4882a593Smuzhiyun				regulator-always-on;
363*4882a593Smuzhiyun			};
364*4882a593Smuzhiyun
365*4882a593Smuzhiyun			vpll_reg: LDO10 {
366*4882a593Smuzhiyun				regulator-name = "VPLL_1.1V_C210";
367*4882a593Smuzhiyun				regulator-min-microvolt = <1100000>;
368*4882a593Smuzhiyun				regulator-max-microvolt = <1100000>;
369*4882a593Smuzhiyun				regulator-always-on;
370*4882a593Smuzhiyun			};
371*4882a593Smuzhiyun
372*4882a593Smuzhiyun			vtcam_reg: LDO12 {
373*4882a593Smuzhiyun				regulator-name = "VT_CAM_1.8V";
374*4882a593Smuzhiyun				regulator-min-microvolt = <1800000>;
375*4882a593Smuzhiyun				regulator-max-microvolt = <1800000>;
376*4882a593Smuzhiyun			};
377*4882a593Smuzhiyun
378*4882a593Smuzhiyun			vcclcd_reg: LDO13 {
379*4882a593Smuzhiyun				regulator-name = "VCC_3.3V_LCD";
380*4882a593Smuzhiyun				regulator-min-microvolt = <3300000>;
381*4882a593Smuzhiyun				regulator-max-microvolt = <3300000>;
382*4882a593Smuzhiyun			};
383*4882a593Smuzhiyun
384*4882a593Smuzhiyun			vlcd_reg: LDO15 {
385*4882a593Smuzhiyun				regulator-name = "VLCD_2.2V";
386*4882a593Smuzhiyun				regulator-min-microvolt = <2200000>;
387*4882a593Smuzhiyun				regulator-max-microvolt = <2200000>;
388*4882a593Smuzhiyun			};
389*4882a593Smuzhiyun
390*4882a593Smuzhiyun			camsensor_reg: LDO16 {
391*4882a593Smuzhiyun				regulator-name = "CAM_SENSOR_IO_1.8V";
392*4882a593Smuzhiyun				regulator-min-microvolt = <1800000>;
393*4882a593Smuzhiyun				regulator-max-microvolt = <1800000>;
394*4882a593Smuzhiyun			};
395*4882a593Smuzhiyun
396*4882a593Smuzhiyun			tflash_reg: LDO17 {
397*4882a593Smuzhiyun				regulator-name = "VTF_2.8V";
398*4882a593Smuzhiyun				regulator-min-microvolt = <2800000>;
399*4882a593Smuzhiyun				regulator-max-microvolt = <2800000>;
400*4882a593Smuzhiyun			};
401*4882a593Smuzhiyun
402*4882a593Smuzhiyun			vddq_reg: LDO21 {
403*4882a593Smuzhiyun				regulator-name = "VDDQ_M1M2_1.2V";
404*4882a593Smuzhiyun				regulator-min-microvolt = <1200000>;
405*4882a593Smuzhiyun				regulator-max-microvolt = <1200000>;
406*4882a593Smuzhiyun				regulator-always-on;
407*4882a593Smuzhiyun			};
408*4882a593Smuzhiyun
409*4882a593Smuzhiyun			varm_breg: BUCK1 {
410*4882a593Smuzhiyun				regulator-name = "VARM_1.2V_C210";
411*4882a593Smuzhiyun				regulator-min-microvolt = <900000>;
412*4882a593Smuzhiyun				regulator-max-microvolt = <1350000>;
413*4882a593Smuzhiyun				regulator-always-on;
414*4882a593Smuzhiyun			};
415*4882a593Smuzhiyun
416*4882a593Smuzhiyun			vint_breg: BUCK2 {
417*4882a593Smuzhiyun				regulator-name = "VINT_1.1V_C210";
418*4882a593Smuzhiyun				regulator-min-microvolt = <900000>;
419*4882a593Smuzhiyun				regulator-max-microvolt = <1100000>;
420*4882a593Smuzhiyun				regulator-always-on;
421*4882a593Smuzhiyun			};
422*4882a593Smuzhiyun
423*4882a593Smuzhiyun			camisp_breg: BUCK4 {
424*4882a593Smuzhiyun				regulator-name = "CAM_ISP_CORE_1.2V";
425*4882a593Smuzhiyun				regulator-min-microvolt = <1200000>;
426*4882a593Smuzhiyun				regulator-max-microvolt = <1200000>;
427*4882a593Smuzhiyun			};
428*4882a593Smuzhiyun
429*4882a593Smuzhiyun			vmem_breg: BUCK5 {
430*4882a593Smuzhiyun				regulator-name = "VMEM_1.2V_C210";
431*4882a593Smuzhiyun				regulator-min-microvolt = <1200000>;
432*4882a593Smuzhiyun				regulator-max-microvolt = <1200000>;
433*4882a593Smuzhiyun				regulator-always-on;
434*4882a593Smuzhiyun			};
435*4882a593Smuzhiyun
436*4882a593Smuzhiyun			vccsub_breg: BUCK7 {
437*4882a593Smuzhiyun				regulator-name = "VCC_SUB_2.0V";
438*4882a593Smuzhiyun				regulator-min-microvolt = <2000000>;
439*4882a593Smuzhiyun				regulator-max-microvolt = <2000000>;
440*4882a593Smuzhiyun				regulator-always-on;
441*4882a593Smuzhiyun			};
442*4882a593Smuzhiyun
443*4882a593Smuzhiyun			safe1_sreg: ESAFEOUT1 {
444*4882a593Smuzhiyun				regulator-name = "SAFEOUT1";
445*4882a593Smuzhiyun			};
446*4882a593Smuzhiyun
447*4882a593Smuzhiyun			safe2_sreg: ESAFEOUT2 {
448*4882a593Smuzhiyun				regulator-name = "SAFEOUT2";
449*4882a593Smuzhiyun				regulator-boot-on;
450*4882a593Smuzhiyun			};
451*4882a593Smuzhiyun
452*4882a593Smuzhiyun			EN32KHZ_AP {
453*4882a593Smuzhiyun				regulator-name = "EN32KHZ_AP";
454*4882a593Smuzhiyun				regulator-always-on;
455*4882a593Smuzhiyun			};
456*4882a593Smuzhiyun
457*4882a593Smuzhiyun			EN32KHZ_CP {
458*4882a593Smuzhiyun				regulator-name = "EN32KHZ_CP";
459*4882a593Smuzhiyun				regulator-always-on;
460*4882a593Smuzhiyun			};
461*4882a593Smuzhiyun		};
462*4882a593Smuzhiyun	};
463*4882a593Smuzhiyun};
464*4882a593Smuzhiyun
465*4882a593Smuzhiyun&rtc {
466*4882a593Smuzhiyun	status = "okay";
467*4882a593Smuzhiyun	clocks = <&clock CLK_RTC>, <&pmic_ap_clk>;
468*4882a593Smuzhiyun	clock-names = "rtc", "rtc_src";
469*4882a593Smuzhiyun};
470*4882a593Smuzhiyun
471*4882a593Smuzhiyun&sdhci_0 {
472*4882a593Smuzhiyun	bus-width = <8>;
473*4882a593Smuzhiyun	non-removable;
474*4882a593Smuzhiyun	pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus8>;
475*4882a593Smuzhiyun	pinctrl-names = "default";
476*4882a593Smuzhiyun	vmmc-supply = <&vemmc_reg>;
477*4882a593Smuzhiyun	status = "okay";
478*4882a593Smuzhiyun};
479*4882a593Smuzhiyun
480*4882a593Smuzhiyun&sdhci_2 {
481*4882a593Smuzhiyun	bus-width = <4>;
482*4882a593Smuzhiyun	pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4>;
483*4882a593Smuzhiyun	pinctrl-names = "default";
484*4882a593Smuzhiyun	vmmc-supply = <&tflash_reg>;
485*4882a593Smuzhiyun	cd-gpios = <&gpx3 4 GPIO_ACTIVE_LOW>;
486*4882a593Smuzhiyun	status = "okay";
487*4882a593Smuzhiyun};
488*4882a593Smuzhiyun
489*4882a593Smuzhiyun&sdhci_3 {
490*4882a593Smuzhiyun	status = "okay";
491*4882a593Smuzhiyun
492*4882a593Smuzhiyun	#address-cells = <1>;
493*4882a593Smuzhiyun	#size-cells = <0>;
494*4882a593Smuzhiyun
495*4882a593Smuzhiyun	non-removable;
496*4882a593Smuzhiyun	bus-width = <4>;
497*4882a593Smuzhiyun	mmc-pwrseq = <&wlan_pwrseq>;
498*4882a593Smuzhiyun	vmmc-supply = <&tflash_reg>;
499*4882a593Smuzhiyun
500*4882a593Smuzhiyun	pinctrl-names = "default";
501*4882a593Smuzhiyun	pinctrl-0 = <&sd3_clk>, <&sd3_cmd>, <&sd3_bus4>;
502*4882a593Smuzhiyun
503*4882a593Smuzhiyun	brcmf: wifi@1 {
504*4882a593Smuzhiyun		compatible = "brcm,bcm4330-fmac";
505*4882a593Smuzhiyun		reg = <1>;
506*4882a593Smuzhiyun
507*4882a593Smuzhiyun		interrupt-parent = <&gpx2>;
508*4882a593Smuzhiyun		interrupts = <5 IRQ_TYPE_LEVEL_HIGH>;
509*4882a593Smuzhiyun		interrupt-names = "host-wake";
510*4882a593Smuzhiyun	};
511*4882a593Smuzhiyun};
512*4882a593Smuzhiyun
513*4882a593Smuzhiyun&serial_0 {
514*4882a593Smuzhiyun	status = "okay";
515*4882a593Smuzhiyun};
516*4882a593Smuzhiyun
517*4882a593Smuzhiyun&serial_1 {
518*4882a593Smuzhiyun	status = "okay";
519*4882a593Smuzhiyun};
520*4882a593Smuzhiyun
521*4882a593Smuzhiyun&serial_2 {
522*4882a593Smuzhiyun	status = "okay";
523*4882a593Smuzhiyun};
524*4882a593Smuzhiyun
525*4882a593Smuzhiyun&serial_3 {
526*4882a593Smuzhiyun	status = "okay";
527*4882a593Smuzhiyun};
528*4882a593Smuzhiyun
529*4882a593Smuzhiyun&tmu {
530*4882a593Smuzhiyun	status = "okay";
531*4882a593Smuzhiyun};
532