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