1*724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0
2*724ba675SRob Herring/*
3*724ba675SRob Herring * Samsung's Exynos4210 based Universal C210 board device tree source
4*724ba675SRob Herring *
5*724ba675SRob Herring * Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
6*724ba675SRob Herring *		http://www.samsung.com
7*724ba675SRob Herring *
8*724ba675SRob Herring * Device tree source file for Samsung's Universal C210 board which is based on
9*724ba675SRob Herring * Samsung's Exynos4210 rev0 SoC.
10*724ba675SRob Herring */
11*724ba675SRob Herring
12*724ba675SRob Herring/dts-v1/;
13*724ba675SRob Herring#include "exynos4210.dtsi"
14*724ba675SRob Herring#include <dt-bindings/gpio/gpio.h>
15*724ba675SRob Herring
16*724ba675SRob Herring/ {
17*724ba675SRob Herring	model = "Samsung Universal C210 based on Exynos4210 rev0";
18*724ba675SRob Herring	compatible = "samsung,universal_c210", "samsung,exynos4210", "samsung,exynos4";
19*724ba675SRob Herring	chassis-type = "handset";
20*724ba675SRob Herring
21*724ba675SRob Herring	memory@40000000 {
22*724ba675SRob Herring		device_type = "memory";
23*724ba675SRob Herring		reg = <0x40000000 0x10000000
24*724ba675SRob Herring		       0x50000000 0x10000000>;
25*724ba675SRob Herring	};
26*724ba675SRob Herring
27*724ba675SRob Herring	aliases {
28*724ba675SRob Herring		mmc0 = &sdhci_0;
29*724ba675SRob Herring		mmc1 = &sdhci_2;
30*724ba675SRob Herring		mmc2 = &sdhci_3;
31*724ba675SRob Herring	};
32*724ba675SRob Herring
33*724ba675SRob Herring	chosen {
34*724ba675SRob Herring		bootargs = "root=/dev/mmcblk0p5 rw rootwait earlyprintk panic=5 maxcpus=1";
35*724ba675SRob Herring		stdout-path = "serial2:115200n8";
36*724ba675SRob Herring	};
37*724ba675SRob Herring
38*724ba675SRob Herring
39*724ba675SRob Herring	fixed-rate-clocks {
40*724ba675SRob Herring		xxti {
41*724ba675SRob Herring			compatible = "samsung,clock-xxti";
42*724ba675SRob Herring			clock-frequency = <0>;
43*724ba675SRob Herring		};
44*724ba675SRob Herring
45*724ba675SRob Herring		xusbxti {
46*724ba675SRob Herring			compatible = "samsung,clock-xusbxti";
47*724ba675SRob Herring			clock-frequency = <24000000>;
48*724ba675SRob Herring		};
49*724ba675SRob Herring
50*724ba675SRob Herring		pmic_ap_clk: pmic-ap-clk {
51*724ba675SRob Herring			/* Workaround for missing clock on PMIC */
52*724ba675SRob Herring			compatible = "fixed-clock";
53*724ba675SRob Herring			#clock-cells = <0>;
54*724ba675SRob Herring			clock-frequency = <32768>;
55*724ba675SRob Herring		};
56*724ba675SRob Herring	};
57*724ba675SRob Herring
58*724ba675SRob Herring	vemmc_reg: voltage-regulator {
59*724ba675SRob Herring		compatible = "regulator-fixed";
60*724ba675SRob Herring		regulator-name = "VMEM_VDD_2_8V";
61*724ba675SRob Herring		regulator-min-microvolt = <2800000>;
62*724ba675SRob Herring		regulator-max-microvolt = <2800000>;
63*724ba675SRob Herring		gpio = <&gpe1 3 GPIO_ACTIVE_HIGH>;
64*724ba675SRob Herring		enable-active-high;
65*724ba675SRob Herring	};
66*724ba675SRob Herring
67*724ba675SRob Herring	wlan_pwrseq: sdhci3-pwrseq {
68*724ba675SRob Herring		compatible = "mmc-pwrseq-simple";
69*724ba675SRob Herring		reset-gpios = <&gpe3 1 GPIO_ACTIVE_LOW>;
70*724ba675SRob Herring	};
71*724ba675SRob Herring
72*724ba675SRob Herring	gpio-keys {
73*724ba675SRob Herring		compatible = "gpio-keys";
74*724ba675SRob Herring
75*724ba675SRob Herring		vol-up-key {
76*724ba675SRob Herring			gpios = <&gpx2 0 GPIO_ACTIVE_LOW>;
77*724ba675SRob Herring			linux,code = <115>;
78*724ba675SRob Herring			label = "volume up";
79*724ba675SRob Herring			debounce-interval = <1>;
80*724ba675SRob Herring		};
81*724ba675SRob Herring
82*724ba675SRob Herring		vol-down-key {
83*724ba675SRob Herring			gpios = <&gpx2 1 GPIO_ACTIVE_LOW>;
84*724ba675SRob Herring			linux,code = <114>;
85*724ba675SRob Herring			label = "volume down";
86*724ba675SRob Herring			debounce-interval = <1>;
87*724ba675SRob Herring		};
88*724ba675SRob Herring
89*724ba675SRob Herring		config-key {
90*724ba675SRob Herring			gpios = <&gpx2 2 GPIO_ACTIVE_LOW>;
91*724ba675SRob Herring			linux,code = <171>;
92*724ba675SRob Herring			label = "config";
93*724ba675SRob Herring			debounce-interval = <1>;
94*724ba675SRob Herring			wakeup-source;
95*724ba675SRob Herring		};
96*724ba675SRob Herring
97*724ba675SRob Herring		camera-key {
98*724ba675SRob Herring			gpios = <&gpx2 3 GPIO_ACTIVE_LOW>;
99*724ba675SRob Herring			linux,code = <212>;
100*724ba675SRob Herring			label = "camera";
101*724ba675SRob Herring			debounce-interval = <1>;
102*724ba675SRob Herring		};
103*724ba675SRob Herring
104*724ba675SRob Herring		power-key {
105*724ba675SRob Herring			gpios = <&gpx2 7 GPIO_ACTIVE_LOW>;
106*724ba675SRob Herring			linux,code = <116>;
107*724ba675SRob Herring			label = "power";
108*724ba675SRob Herring			debounce-interval = <1>;
109*724ba675SRob Herring			wakeup-source;
110*724ba675SRob Herring		};
111*724ba675SRob Herring
112*724ba675SRob Herring		ok-key {
113*724ba675SRob Herring			gpios = <&gpx3 5 GPIO_ACTIVE_LOW>;
114*724ba675SRob Herring			linux,code = <352>;
115*724ba675SRob Herring			label = "ok";
116*724ba675SRob Herring			debounce-interval = <1>;
117*724ba675SRob Herring		};
118*724ba675SRob Herring	};
119*724ba675SRob Herring
120*724ba675SRob Herring	tsp_reg: voltage-regulator {
121*724ba675SRob Herring		compatible = "regulator-fixed";
122*724ba675SRob Herring		regulator-name = "TSP_2_8V";
123*724ba675SRob Herring		regulator-min-microvolt = <2800000>;
124*724ba675SRob Herring		regulator-max-microvolt = <2800000>;
125*724ba675SRob Herring		gpio = <&gpe2 3 GPIO_ACTIVE_HIGH>;
126*724ba675SRob Herring		enable-active-high;
127*724ba675SRob Herring	};
128*724ba675SRob Herring
129*724ba675SRob Herring	spi-3 {
130*724ba675SRob Herring		compatible = "spi-gpio";
131*724ba675SRob Herring		#address-cells = <1>;
132*724ba675SRob Herring		#size-cells = <0>;
133*724ba675SRob Herring
134*724ba675SRob Herring		sck-gpios = <&gpy3 1 GPIO_ACTIVE_HIGH>;
135*724ba675SRob Herring		mosi-gpios = <&gpy3 3 GPIO_ACTIVE_HIGH>;
136*724ba675SRob Herring		num-chipselects = <1>;
137*724ba675SRob Herring		cs-gpios = <&gpy4 3 GPIO_ACTIVE_LOW>;
138*724ba675SRob Herring
139*724ba675SRob Herring		lcd@0 {
140*724ba675SRob Herring			compatible = "samsung,ld9040";
141*724ba675SRob Herring			reg = <0>;
142*724ba675SRob Herring			vdd3-supply = <&ldo7_reg>;
143*724ba675SRob Herring			vci-supply = <&ldo17_reg>;
144*724ba675SRob Herring			reset-gpios = <&gpy4 5 GPIO_ACTIVE_HIGH>;
145*724ba675SRob Herring			spi-max-frequency = <1200000>;
146*724ba675SRob Herring			power-on-delay = <10>;
147*724ba675SRob Herring			reset-delay = <10>;
148*724ba675SRob Herring			panel-width-mm = <90>;
149*724ba675SRob Herring			panel-height-mm = <154>;
150*724ba675SRob Herring			display-timings {
151*724ba675SRob Herring				timing {
152*724ba675SRob Herring					clock-frequency = <23492370>;
153*724ba675SRob Herring					hactive = <480>;
154*724ba675SRob Herring					vactive = <800>;
155*724ba675SRob Herring					hback-porch = <16>;
156*724ba675SRob Herring					hfront-porch = <16>;
157*724ba675SRob Herring					vback-porch = <2>;
158*724ba675SRob Herring					vfront-porch = <28>;
159*724ba675SRob Herring					hsync-len = <2>;
160*724ba675SRob Herring					vsync-len = <1>;
161*724ba675SRob Herring					hsync-active = <0>;
162*724ba675SRob Herring					vsync-active = <0>;
163*724ba675SRob Herring					de-active = <0>;
164*724ba675SRob Herring					pixelclk-active = <0>;
165*724ba675SRob Herring				};
166*724ba675SRob Herring			};
167*724ba675SRob Herring			port {
168*724ba675SRob Herring				lcd_ep: endpoint {
169*724ba675SRob Herring					remote-endpoint = <&fimd_dpi_ep>;
170*724ba675SRob Herring				};
171*724ba675SRob Herring			};
172*724ba675SRob Herring		};
173*724ba675SRob Herring	};
174*724ba675SRob Herring
175*724ba675SRob Herring	hdmi_en: voltage-regulator-hdmi-5v {
176*724ba675SRob Herring		compatible = "regulator-fixed";
177*724ba675SRob Herring		regulator-name = "HDMI_5V";
178*724ba675SRob Herring		regulator-min-microvolt = <5000000>;
179*724ba675SRob Herring		regulator-max-microvolt = <5000000>;
180*724ba675SRob Herring		gpio = <&gpe0 1 GPIO_ACTIVE_HIGH>;
181*724ba675SRob Herring		enable-active-high;
182*724ba675SRob Herring	};
183*724ba675SRob Herring
184*724ba675SRob Herring	hdmi_ddc: i2c-ddc {
185*724ba675SRob Herring		compatible = "i2c-gpio";
186*724ba675SRob Herring		sda-gpios = <&gpe4 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
187*724ba675SRob Herring		scl-gpios = <&gpe4 3 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
188*724ba675SRob Herring		i2c-gpio,delay-us = <100>;
189*724ba675SRob Herring		#address-cells = <1>;
190*724ba675SRob Herring		#size-cells = <0>;
191*724ba675SRob Herring
192*724ba675SRob Herring		pinctrl-0 = <&i2c_ddc_bus>;
193*724ba675SRob Herring		pinctrl-names = "default";
194*724ba675SRob Herring		status = "okay";
195*724ba675SRob Herring	};
196*724ba675SRob Herring};
197*724ba675SRob Herring
198*724ba675SRob Herring&camera {
199*724ba675SRob Herring	status = "okay";
200*724ba675SRob Herring};
201*724ba675SRob Herring
202*724ba675SRob Herring&cpu0 {
203*724ba675SRob Herring	cpu0-supply = <&vdd_arm_reg>;
204*724ba675SRob Herring};
205*724ba675SRob Herring
206*724ba675SRob Herring&cpu_thermal {
207*724ba675SRob Herring	cooling-maps {
208*724ba675SRob Herring		map0 {
209*724ba675SRob Herring			/* Corresponds to 800MHz */
210*724ba675SRob Herring			cooling-device = <&cpu0 2 2>;
211*724ba675SRob Herring		};
212*724ba675SRob Herring		map1 {
213*724ba675SRob Herring			/* Corresponds to 200MHz */
214*724ba675SRob Herring			cooling-device = <&cpu0 4 4>;
215*724ba675SRob Herring		};
216*724ba675SRob Herring	};
217*724ba675SRob Herring};
218*724ba675SRob Herring
219*724ba675SRob Herring&ehci {
220*724ba675SRob Herring	status = "okay";
221*724ba675SRob Herring	phys = <&exynos_usbphy 1>;
222*724ba675SRob Herring	phy-names = "host";
223*724ba675SRob Herring};
224*724ba675SRob Herring
225*724ba675SRob Herring&exynos_usbphy {
226*724ba675SRob Herring	status = "okay";
227*724ba675SRob Herring	vbus-supply = <&safeout1_reg>;
228*724ba675SRob Herring};
229*724ba675SRob Herring
230*724ba675SRob Herring&fimc_0 {
231*724ba675SRob Herring	status = "okay";
232*724ba675SRob Herring	assigned-clocks = <&clock CLK_MOUT_FIMC0>,
233*724ba675SRob Herring			  <&clock CLK_SCLK_FIMC0>;
234*724ba675SRob Herring	assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
235*724ba675SRob Herring	assigned-clock-rates = <0>, <160000000>;
236*724ba675SRob Herring};
237*724ba675SRob Herring
238*724ba675SRob Herring&fimc_1 {
239*724ba675SRob Herring	status = "okay";
240*724ba675SRob Herring	assigned-clocks = <&clock CLK_MOUT_FIMC1>,
241*724ba675SRob Herring			  <&clock CLK_SCLK_FIMC1>;
242*724ba675SRob Herring	assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
243*724ba675SRob Herring	assigned-clock-rates = <0>, <160000000>;
244*724ba675SRob Herring};
245*724ba675SRob Herring
246*724ba675SRob Herring&fimc_2 {
247*724ba675SRob Herring	status = "okay";
248*724ba675SRob Herring	assigned-clocks = <&clock CLK_MOUT_FIMC2>,
249*724ba675SRob Herring			  <&clock CLK_SCLK_FIMC2>;
250*724ba675SRob Herring	assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
251*724ba675SRob Herring	assigned-clock-rates = <0>, <160000000>;
252*724ba675SRob Herring};
253*724ba675SRob Herring
254*724ba675SRob Herring&fimc_3 {
255*724ba675SRob Herring	status = "okay";
256*724ba675SRob Herring	assigned-clocks = <&clock CLK_MOUT_FIMC3>,
257*724ba675SRob Herring			  <&clock CLK_SCLK_FIMC3>;
258*724ba675SRob Herring	assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
259*724ba675SRob Herring	assigned-clock-rates = <0>, <160000000>;
260*724ba675SRob Herring};
261*724ba675SRob Herring
262*724ba675SRob Herring&fimd {
263*724ba675SRob Herring	pinctrl-0 = <&lcd_clk>, <&lcd_data24>;
264*724ba675SRob Herring	pinctrl-names = "default";
265*724ba675SRob Herring	status = "okay";
266*724ba675SRob Herring	samsung,invert-vden;
267*724ba675SRob Herring	samsung,invert-vclk;
268*724ba675SRob Herring	#address-cells = <1>;
269*724ba675SRob Herring	#size-cells = <0>;
270*724ba675SRob Herring	port@3 {
271*724ba675SRob Herring		reg = <3>;
272*724ba675SRob Herring		fimd_dpi_ep: endpoint {
273*724ba675SRob Herring			remote-endpoint = <&lcd_ep>;
274*724ba675SRob Herring		};
275*724ba675SRob Herring	};
276*724ba675SRob Herring};
277*724ba675SRob Herring
278*724ba675SRob Herring&gpu {
279*724ba675SRob Herring	mali-supply = <&buck2_reg>;
280*724ba675SRob Herring	status = "okay";
281*724ba675SRob Herring};
282*724ba675SRob Herring
283*724ba675SRob Herring&hdmi {
284*724ba675SRob Herring	hpd-gpios = <&gpx3 7 GPIO_ACTIVE_HIGH>;
285*724ba675SRob Herring	pinctrl-names = "default";
286*724ba675SRob Herring	pinctrl-0 = <&hdmi_hpd>;
287*724ba675SRob Herring	hdmi-en-supply = <&hdmi_en>;
288*724ba675SRob Herring	vdd-supply = <&ldo3_reg>;
289*724ba675SRob Herring	vdd_osc-supply = <&ldo4_reg>;
290*724ba675SRob Herring	vdd_pll-supply = <&ldo3_reg>;
291*724ba675SRob Herring	ddc = <&hdmi_ddc>;
292*724ba675SRob Herring	status = "okay";
293*724ba675SRob Herring};
294*724ba675SRob Herring
295*724ba675SRob Herring&hsotg {
296*724ba675SRob Herring	vusb_d-supply = <&ldo3_reg>;
297*724ba675SRob Herring	vusb_a-supply = <&ldo8_reg>;
298*724ba675SRob Herring	dr_mode = "peripheral";
299*724ba675SRob Herring	status = "okay";
300*724ba675SRob Herring};
301*724ba675SRob Herring
302*724ba675SRob Herring&i2c_3 {
303*724ba675SRob Herring	samsung,i2c-sda-delay = <100>;
304*724ba675SRob Herring	samsung,i2c-slave-addr = <0x10>;
305*724ba675SRob Herring	samsung,i2c-max-bus-freq = <100000>;
306*724ba675SRob Herring	pinctrl-0 = <&i2c3_bus>;
307*724ba675SRob Herring	pinctrl-names = "default";
308*724ba675SRob Herring	status = "okay";
309*724ba675SRob Herring
310*724ba675SRob Herring	tsp@4a {
311*724ba675SRob Herring		/* TBD: Atmel maXtouch touchscreen */
312*724ba675SRob Herring		reg = <0x4a>;
313*724ba675SRob Herring	};
314*724ba675SRob Herring};
315*724ba675SRob Herring
316*724ba675SRob Herring&i2c_5 {
317*724ba675SRob Herring	samsung,i2c-sda-delay = <100>;
318*724ba675SRob Herring	samsung,i2c-slave-addr = <0x10>;
319*724ba675SRob Herring	samsung,i2c-max-bus-freq = <100000>;
320*724ba675SRob Herring	pinctrl-0 = <&i2c5_bus>;
321*724ba675SRob Herring	pinctrl-names = "default";
322*724ba675SRob Herring	status = "okay";
323*724ba675SRob Herring
324*724ba675SRob Herring	vdd_arm_reg: pmic@60 {
325*724ba675SRob Herring		compatible = "maxim,max8952";
326*724ba675SRob Herring		reg = <0x60>;
327*724ba675SRob Herring
328*724ba675SRob Herring		max8952,vid-gpios = <&gpx0 3 GPIO_ACTIVE_HIGH>,
329*724ba675SRob Herring				    <&gpx0 4 GPIO_ACTIVE_HIGH>;
330*724ba675SRob Herring		max8952,default-mode = <0>;
331*724ba675SRob Herring		max8952,dvs-mode-microvolt = <1250000>, <1200000>,
332*724ba675SRob Herring						<1050000>, <950000>;
333*724ba675SRob Herring		max8952,sync-freq = <0>;
334*724ba675SRob Herring		max8952,ramp-speed = <0>;
335*724ba675SRob Herring
336*724ba675SRob Herring		regulator-name = "VARM_1.2V_C210";
337*724ba675SRob Herring		regulator-min-microvolt = <770000>;
338*724ba675SRob Herring		regulator-max-microvolt = <1400000>;
339*724ba675SRob Herring		regulator-always-on;
340*724ba675SRob Herring		regulator-boot-on;
341*724ba675SRob Herring	};
342*724ba675SRob Herring
343*724ba675SRob Herring	pmic@66 {
344*724ba675SRob Herring		compatible = "national,lp3974";
345*724ba675SRob Herring		interrupts-extended = <&gpx0 7 0>, <&gpx2 7 0>;
346*724ba675SRob Herring		pinctrl-names = "default";
347*724ba675SRob Herring		pinctrl-0 = <&lp3974_irq>;
348*724ba675SRob Herring		reg = <0x66>;
349*724ba675SRob Herring
350*724ba675SRob Herring		max8998,pmic-buck1-default-dvs-idx = <0>;
351*724ba675SRob Herring		max8998,pmic-buck1-dvs-gpios = <&gpx0 5 GPIO_ACTIVE_HIGH>,
352*724ba675SRob Herring						<&gpx0 6 GPIO_ACTIVE_HIGH>;
353*724ba675SRob Herring		max8998,pmic-buck1-dvs-voltage = <1100000>, <1000000>,
354*724ba675SRob Herring						<1100000>, <1000000>;
355*724ba675SRob Herring
356*724ba675SRob Herring		max8998,pmic-buck2-default-dvs-idx = <0>;
357*724ba675SRob Herring		max8998,pmic-buck2-dvs-gpio = <&gpe2 0 GPIO_ACTIVE_HIGH>;
358*724ba675SRob Herring		max8998,pmic-buck2-dvs-voltage = <1200000>, <1100000>;
359*724ba675SRob Herring
360*724ba675SRob Herring		regulators {
361*724ba675SRob Herring			ldo2_reg: LDO2 {
362*724ba675SRob Herring				regulator-name = "VALIVE_1.2V";
363*724ba675SRob Herring				regulator-min-microvolt = <1200000>;
364*724ba675SRob Herring				regulator-max-microvolt = <1200000>;
365*724ba675SRob Herring				regulator-always-on;
366*724ba675SRob Herring			};
367*724ba675SRob Herring
368*724ba675SRob Herring			ldo3_reg: LDO3 {
369*724ba675SRob Herring				regulator-name = "VUSB+MIPI_1.1V";
370*724ba675SRob Herring				regulator-min-microvolt = <1100000>;
371*724ba675SRob Herring				regulator-max-microvolt = <1100000>;
372*724ba675SRob Herring				regulator-always-on;
373*724ba675SRob Herring			};
374*724ba675SRob Herring
375*724ba675SRob Herring			ldo4_reg: LDO4 {
376*724ba675SRob Herring				regulator-name = "VADC_3.3V";
377*724ba675SRob Herring				regulator-min-microvolt = <3300000>;
378*724ba675SRob Herring				regulator-max-microvolt = <3300000>;
379*724ba675SRob Herring			};
380*724ba675SRob Herring
381*724ba675SRob Herring			ldo5_reg: LDO5 {
382*724ba675SRob Herring				regulator-name = "VTF_2.8V";
383*724ba675SRob Herring				regulator-min-microvolt = <2800000>;
384*724ba675SRob Herring				regulator-max-microvolt = <2800000>;
385*724ba675SRob Herring			};
386*724ba675SRob Herring
387*724ba675SRob Herring			ldo6_reg: LDO6 {
388*724ba675SRob Herring				regulator-name = "LDO6";
389*724ba675SRob Herring				regulator-min-microvolt = <2000000>;
390*724ba675SRob Herring				regulator-max-microvolt = <2000000>;
391*724ba675SRob Herring			};
392*724ba675SRob Herring
393*724ba675SRob Herring			ldo7_reg: LDO7 {
394*724ba675SRob Herring				regulator-name = "VLCD+VMIPI_1.8V";
395*724ba675SRob Herring				regulator-min-microvolt = <1800000>;
396*724ba675SRob Herring				regulator-max-microvolt = <1800000>;
397*724ba675SRob Herring			};
398*724ba675SRob Herring
399*724ba675SRob Herring			ldo8_reg: LDO8 {
400*724ba675SRob Herring				regulator-name = "VUSB+VDAC_3.3V";
401*724ba675SRob Herring				regulator-min-microvolt = <3300000>;
402*724ba675SRob Herring				regulator-max-microvolt = <3300000>;
403*724ba675SRob Herring				regulator-always-on;
404*724ba675SRob Herring			};
405*724ba675SRob Herring
406*724ba675SRob Herring			ldo9_reg: LDO9 {
407*724ba675SRob Herring				regulator-name = "VCC_2.8V";
408*724ba675SRob Herring				regulator-min-microvolt = <2800000>;
409*724ba675SRob Herring				regulator-max-microvolt = <2800000>;
410*724ba675SRob Herring				regulator-always-on;
411*724ba675SRob Herring			};
412*724ba675SRob Herring
413*724ba675SRob Herring			ldo10_reg: LDO10 {
414*724ba675SRob Herring				regulator-name = "VPLL_1.1V";
415*724ba675SRob Herring				regulator-min-microvolt = <1100000>;
416*724ba675SRob Herring				regulator-max-microvolt = <1100000>;
417*724ba675SRob Herring				regulator-boot-on;
418*724ba675SRob Herring				regulator-always-on;
419*724ba675SRob Herring			};
420*724ba675SRob Herring
421*724ba675SRob Herring			ldo11_reg: LDO11 {
422*724ba675SRob Herring				regulator-name = "CAM_AF_3.3V";
423*724ba675SRob Herring				regulator-min-microvolt = <3300000>;
424*724ba675SRob Herring				regulator-max-microvolt = <3300000>;
425*724ba675SRob Herring			};
426*724ba675SRob Herring
427*724ba675SRob Herring			ldo12_reg: LDO12 {
428*724ba675SRob Herring				regulator-name = "PS_2.8V";
429*724ba675SRob Herring				regulator-min-microvolt = <2800000>;
430*724ba675SRob Herring				regulator-max-microvolt = <2800000>;
431*724ba675SRob Herring			};
432*724ba675SRob Herring
433*724ba675SRob Herring			ldo13_reg: LDO13 {
434*724ba675SRob Herring				regulator-name = "VHIC_1.2V";
435*724ba675SRob Herring				regulator-min-microvolt = <1200000>;
436*724ba675SRob Herring				regulator-max-microvolt = <1200000>;
437*724ba675SRob Herring			};
438*724ba675SRob Herring
439*724ba675SRob Herring			ldo14_reg: LDO14 {
440*724ba675SRob Herring				regulator-name = "CAM_I_HOST_1.8V";
441*724ba675SRob Herring				regulator-min-microvolt = <1800000>;
442*724ba675SRob Herring				regulator-max-microvolt = <1800000>;
443*724ba675SRob Herring			};
444*724ba675SRob Herring
445*724ba675SRob Herring			ldo15_reg: LDO15 {
446*724ba675SRob Herring				regulator-name = "CAM_S_DIG+FM33_CORE_1.2V";
447*724ba675SRob Herring				regulator-min-microvolt = <1200000>;
448*724ba675SRob Herring				regulator-max-microvolt = <1200000>;
449*724ba675SRob Herring			};
450*724ba675SRob Herring
451*724ba675SRob Herring			ldo16_reg: LDO16 {
452*724ba675SRob Herring				regulator-name = "CAM_S_ANA_2.8V";
453*724ba675SRob Herring				regulator-min-microvolt = <2800000>;
454*724ba675SRob Herring				regulator-max-microvolt = <2800000>;
455*724ba675SRob Herring			};
456*724ba675SRob Herring
457*724ba675SRob Herring			ldo17_reg: LDO17 {
458*724ba675SRob Herring				regulator-name = "VCC_3.0V_LCD";
459*724ba675SRob Herring				regulator-min-microvolt = <3000000>;
460*724ba675SRob Herring				regulator-max-microvolt = <3000000>;
461*724ba675SRob Herring			};
462*724ba675SRob Herring
463*724ba675SRob Herring			buck1_reg: BUCK1 {
464*724ba675SRob Herring				regulator-name = "VINT_1.1V";
465*724ba675SRob Herring				regulator-min-microvolt = <750000>;
466*724ba675SRob Herring				regulator-max-microvolt = <1500000>;
467*724ba675SRob Herring				regulator-boot-on;
468*724ba675SRob Herring				regulator-always-on;
469*724ba675SRob Herring			};
470*724ba675SRob Herring
471*724ba675SRob Herring			buck2_reg: BUCK2 {
472*724ba675SRob Herring				regulator-name = "VG3D_1.1V";
473*724ba675SRob Herring				regulator-min-microvolt = <750000>;
474*724ba675SRob Herring				regulator-max-microvolt = <1500000>;
475*724ba675SRob Herring				regulator-boot-on;
476*724ba675SRob Herring			};
477*724ba675SRob Herring
478*724ba675SRob Herring			buck3_reg: BUCK3 {
479*724ba675SRob Herring				regulator-name = "VCC_1.8V";
480*724ba675SRob Herring				regulator-min-microvolt = <1800000>;
481*724ba675SRob Herring				regulator-max-microvolt = <1800000>;
482*724ba675SRob Herring				regulator-always-on;
483*724ba675SRob Herring			};
484*724ba675SRob Herring
485*724ba675SRob Herring			buck4_reg: BUCK4 {
486*724ba675SRob Herring				regulator-name = "VMEM_1.2V";
487*724ba675SRob Herring				regulator-min-microvolt = <1200000>;
488*724ba675SRob Herring				regulator-max-microvolt = <1200000>;
489*724ba675SRob Herring				regulator-always-on;
490*724ba675SRob Herring			};
491*724ba675SRob Herring
492*724ba675SRob Herring			ap32khz_reg: EN32KHz-AP {
493*724ba675SRob Herring				regulator-name = "32KHz AP";
494*724ba675SRob Herring				regulator-always-on;
495*724ba675SRob Herring			};
496*724ba675SRob Herring
497*724ba675SRob Herring			cp32khz_reg: EN32KHz-CP {
498*724ba675SRob Herring				regulator-name = "32KHz CP";
499*724ba675SRob Herring			};
500*724ba675SRob Herring
501*724ba675SRob Herring			vichg_reg: ENVICHG {
502*724ba675SRob Herring				regulator-name = "VICHG";
503*724ba675SRob Herring			};
504*724ba675SRob Herring
505*724ba675SRob Herring			safeout1_reg: ESAFEOUT1 {
506*724ba675SRob Herring				regulator-name = "SAFEOUT1";
507*724ba675SRob Herring			};
508*724ba675SRob Herring
509*724ba675SRob Herring			safeout2_reg: ESAFEOUT2 {
510*724ba675SRob Herring				regulator-name = "SAFEOUT2";
511*724ba675SRob Herring				regulator-boot-on;
512*724ba675SRob Herring			};
513*724ba675SRob Herring		};
514*724ba675SRob Herring	};
515*724ba675SRob Herring};
516*724ba675SRob Herring
517*724ba675SRob Herring&i2c_8 {
518*724ba675SRob Herring	status = "okay";
519*724ba675SRob Herring};
520*724ba675SRob Herring
521*724ba675SRob Herring&mct {
522*724ba675SRob Herring	status = "disabled";
523*724ba675SRob Herring};
524*724ba675SRob Herring
525*724ba675SRob Herring&mdma1 {
526*724ba675SRob Herring	/* Use the secure mdma0 */
527*724ba675SRob Herring	status = "disabled";
528*724ba675SRob Herring};
529*724ba675SRob Herring
530*724ba675SRob Herring&mixer {
531*724ba675SRob Herring	status = "okay";
532*724ba675SRob Herring};
533*724ba675SRob Herring
534*724ba675SRob Herring&ohci {
535*724ba675SRob Herring	status = "okay";
536*724ba675SRob Herring};
537*724ba675SRob Herring
538*724ba675SRob Herring&pinctrl_1 {
539*724ba675SRob Herring	bt_shutdown: bt-shutdown-pins {
540*724ba675SRob Herring		samsung,pins = "gpe1-4";
541*724ba675SRob Herring		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
542*724ba675SRob Herring		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
543*724ba675SRob Herring	};
544*724ba675SRob Herring
545*724ba675SRob Herring	bt_host_wakeup: bt-host-wakeup-pins {
546*724ba675SRob Herring		samsung,pins = "gpx2-6";
547*724ba675SRob Herring		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
548*724ba675SRob Herring		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
549*724ba675SRob Herring	};
550*724ba675SRob Herring
551*724ba675SRob Herring	bt_device_wakeup: bt-device-wakeup-pins {
552*724ba675SRob Herring		samsung,pins = "gpx3-1";
553*724ba675SRob Herring		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
554*724ba675SRob Herring		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
555*724ba675SRob Herring	};
556*724ba675SRob Herring
557*724ba675SRob Herring	lp3974_irq: lp3974-irq-pins {
558*724ba675SRob Herring		samsung,pins = "gpx0-7", "gpx2-7";
559*724ba675SRob Herring		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
560*724ba675SRob Herring	};
561*724ba675SRob Herring
562*724ba675SRob Herring	hdmi_hpd: hdmi-hpd-pins {
563*724ba675SRob Herring		samsung,pins = "gpx3-7";
564*724ba675SRob Herring		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
565*724ba675SRob Herring	};
566*724ba675SRob Herring};
567*724ba675SRob Herring
568*724ba675SRob Herring&pinctrl_0 {
569*724ba675SRob Herring	i2c_ddc_bus: i2c-ddc-bus-pins {
570*724ba675SRob Herring		samsung,pins = "gpe4-2", "gpe4-3";
571*724ba675SRob Herring		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
572*724ba675SRob Herring		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
573*724ba675SRob Herring		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
574*724ba675SRob Herring	};
575*724ba675SRob Herring};
576*724ba675SRob Herring
577*724ba675SRob Herring&pwm {
578*724ba675SRob Herring	compatible = "samsung,s5p6440-pwm";
579*724ba675SRob Herring	status = "okay";
580*724ba675SRob Herring};
581*724ba675SRob Herring
582*724ba675SRob Herring&rtc {
583*724ba675SRob Herring	status = "okay";
584*724ba675SRob Herring	clocks = <&clock CLK_RTC>, <&pmic_ap_clk>;
585*724ba675SRob Herring	clock-names = "rtc", "rtc_src";
586*724ba675SRob Herring};
587*724ba675SRob Herring
588*724ba675SRob Herring&sdhci_0 {
589*724ba675SRob Herring	bus-width = <8>;
590*724ba675SRob Herring	non-removable;
591*724ba675SRob Herring	pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus8>;
592*724ba675SRob Herring	pinctrl-names = "default";
593*724ba675SRob Herring	vmmc-supply = <&vemmc_reg>;
594*724ba675SRob Herring	status = "okay";
595*724ba675SRob Herring};
596*724ba675SRob Herring
597*724ba675SRob Herring&sdhci_2 {
598*724ba675SRob Herring	bus-width = <4>;
599*724ba675SRob Herring	pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4>;
600*724ba675SRob Herring	pinctrl-names = "default";
601*724ba675SRob Herring	vmmc-supply = <&ldo5_reg>;
602*724ba675SRob Herring	cd-gpios = <&gpx3 4 GPIO_ACTIVE_LOW>;
603*724ba675SRob Herring	status = "okay";
604*724ba675SRob Herring};
605*724ba675SRob Herring
606*724ba675SRob Herring&sdhci_3 {
607*724ba675SRob Herring	status = "okay";
608*724ba675SRob Herring
609*724ba675SRob Herring	#address-cells = <1>;
610*724ba675SRob Herring	#size-cells = <0>;
611*724ba675SRob Herring
612*724ba675SRob Herring	non-removable;
613*724ba675SRob Herring	bus-width = <4>;
614*724ba675SRob Herring	mmc-pwrseq = <&wlan_pwrseq>;
615*724ba675SRob Herring	vmmc-supply = <&ldo5_reg>;
616*724ba675SRob Herring
617*724ba675SRob Herring	pinctrl-names = "default";
618*724ba675SRob Herring	pinctrl-0 = <&sd3_clk>, <&sd3_cmd>, <&sd3_bus4>;
619*724ba675SRob Herring
620*724ba675SRob Herring	brcmf: wifi@1 {
621*724ba675SRob Herring		compatible = "brcm,bcm4330-fmac", "brcm,bcm4329-fmac";
622*724ba675SRob Herring		reg = <1>;
623*724ba675SRob Herring		interrupt-parent = <&gpx2>;
624*724ba675SRob Herring		interrupts = <5 IRQ_TYPE_LEVEL_HIGH>;
625*724ba675SRob Herring		interrupt-names = "host-wake";
626*724ba675SRob Herring	};
627*724ba675SRob Herring};
628*724ba675SRob Herring
629*724ba675SRob Herring&serial_0 {
630*724ba675SRob Herring	status = "okay";
631*724ba675SRob Herring	/delete-property/dmas;
632*724ba675SRob Herring	/delete-property/dma-names;
633*724ba675SRob Herring	pinctrl-0 = <&uart0_data &uart0_fctl>;
634*724ba675SRob Herring	pinctrl-names = "default";
635*724ba675SRob Herring
636*724ba675SRob Herring	bluetooth {
637*724ba675SRob Herring		compatible = "brcm,bcm4330-bt";
638*724ba675SRob Herring		pinctrl-0 = <&bt_shutdown &bt_device_wakeup &bt_host_wakeup>;
639*724ba675SRob Herring		pinctrl-names = "default";
640*724ba675SRob Herring		shutdown-gpios = <&gpe1 4 GPIO_ACTIVE_HIGH>;
641*724ba675SRob Herring		device-wakeup-gpios = <&gpx3 1 GPIO_ACTIVE_HIGH>;
642*724ba675SRob Herring		host-wakeup-gpios = <&gpx2 6 GPIO_ACTIVE_HIGH>;
643*724ba675SRob Herring	};
644*724ba675SRob Herring};
645*724ba675SRob Herring
646*724ba675SRob Herring&serial_1 {
647*724ba675SRob Herring	status = "okay";
648*724ba675SRob Herring	/delete-property/dmas;
649*724ba675SRob Herring	/delete-property/dma-names;
650*724ba675SRob Herring};
651*724ba675SRob Herring
652*724ba675SRob Herring&serial_2 {
653*724ba675SRob Herring	status = "okay";
654*724ba675SRob Herring	/delete-property/dmas;
655*724ba675SRob Herring	/delete-property/dma-names;
656*724ba675SRob Herring};
657*724ba675SRob Herring
658*724ba675SRob Herring&serial_3 {
659*724ba675SRob Herring	status = "okay";
660*724ba675SRob Herring	/delete-property/dmas;
661*724ba675SRob Herring	/delete-property/dma-names;
662*724ba675SRob Herring};
663*724ba675SRob Herring
664*724ba675SRob Herring&soc {
665*724ba675SRob Herring	mdma0: dma-controller@12840000 {
666*724ba675SRob Herring		compatible = "arm,pl330", "arm,primecell";
667*724ba675SRob Herring		reg = <0x12840000 0x1000>;
668*724ba675SRob Herring		interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
669*724ba675SRob Herring		clocks = <&clock CLK_MDMA>;
670*724ba675SRob Herring		clock-names = "apb_pclk";
671*724ba675SRob Herring		#dma-cells = <1>;
672*724ba675SRob Herring		power-domains = <&pd_lcd0>;
673*724ba675SRob Herring	};
674*724ba675SRob Herring};
675*724ba675SRob Herring
676*724ba675SRob Herring&sysram {
677*724ba675SRob Herring	smp-sram@0 {
678*724ba675SRob Herring		status = "disabled";
679*724ba675SRob Herring	};
680*724ba675SRob Herring
681*724ba675SRob Herring	smp-sram@5000 {
682*724ba675SRob Herring		compatible = "samsung,exynos4210-sysram";
683*724ba675SRob Herring		reg = <0x5000 0x1000>;
684*724ba675SRob Herring	};
685*724ba675SRob Herring
686*724ba675SRob Herring	smp-sram@1f000 {
687*724ba675SRob Herring		status = "disabled";
688*724ba675SRob Herring	};
689*724ba675SRob Herring};
690