1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Samsung's Exynos4210 based Galaxy S2 (GT-I9100 version) device tree
4 *
5 * Copyright (c) 2012 Samsung Electronics Co., Ltd.
6 *		http://www.samsung.com
7 * Copyright (c) 2020 Stenkin Evgeniy <stenkinevgeniy@gmail.com>
8 * Copyright (c) 2020 Paul Cercueil <paul@crapouillou.net>
9 */
10
11/dts-v1/;
12#include "exynos4210.dtsi"
13#include "exynos4412-ppmu-common.dtsi"
14
15#include <dt-bindings/gpio/gpio.h>
16#include <dt-bindings/input/linux-event-codes.h>
17
18/ {
19	model = "Samsung Galaxy S2 (GT-I9100)";
20	compatible = "samsung,i9100", "samsung,exynos4210", "samsung,exynos4";
21	chassis-type = "handset";
22
23	memory@40000000 {
24		device_type = "memory";
25		reg = <0x40000000 0x40000000>;
26	};
27
28	aliases {
29		mmc0 = &sdhci_0;
30		mmc1 = &sdhci_2;
31		mmc2 = &sdhci_3;
32	};
33
34	chosen {
35		stdout-path = "serial2:115200n8";
36	};
37
38	vemmc_reg: regulator-0 {
39		compatible = "regulator-fixed";
40		regulator-name = "VMEM_VDD_2.8V";
41		regulator-min-microvolt = <2800000>;
42		regulator-max-microvolt = <2800000>;
43		gpio = <&gpk0 2 GPIO_ACTIVE_HIGH>;
44		enable-active-high;
45	};
46
47	tsp_reg: regulator-1 {
48		compatible = "regulator-fixed";
49		regulator-name = "TSP_FIXED_VOLTAGES";
50		regulator-min-microvolt = <3300000>;
51		regulator-max-microvolt = <3300000>;
52		gpio = <&gpl0 3 GPIO_ACTIVE_HIGH>;
53		startup-delay-us = <70000>;
54		enable-active-high;
55		regulator-boot-on;
56		regulator-always-on;
57	};
58
59	cam_af_28v_reg: regulator-2 {
60		compatible = "regulator-fixed";
61		regulator-name = "8M_AF_2.8V_EN";
62		regulator-min-microvolt = <2800000>;
63		regulator-max-microvolt = <2800000>;
64		gpio = <&gpk1 1 GPIO_ACTIVE_HIGH>;
65		enable-active-high;
66	};
67
68	cam_io_en_reg: regulator-3 {
69		compatible = "regulator-fixed";
70		regulator-name = "CAM_IO_EN";
71		regulator-min-microvolt = <2800000>;
72		regulator-max-microvolt = <2800000>;
73		gpio = <&gpe2 1 GPIO_ACTIVE_HIGH>;
74		enable-active-high;
75	};
76
77	cam_io_12v_reg: regulator-4 {
78		compatible = "regulator-fixed";
79		regulator-name = "8M_1.2V_EN";
80		regulator-min-microvolt = <1200000>;
81		regulator-max-microvolt = <1200000>;
82		gpio = <&gpe2 5 GPIO_ACTIVE_HIGH>;
83		enable-active-high;
84	};
85
86	vt_core_15v_reg: regulator-5 {
87		compatible = "regulator-fixed";
88		regulator-name = "VT_CORE_1.5V";
89		regulator-min-microvolt = <1500000>;
90		regulator-max-microvolt = <1500000>;
91		gpio = <&gpe2 2 GPIO_ACTIVE_HIGH>;
92		enable-active-high;
93	};
94
95	gpio-keys {
96		compatible = "gpio-keys";
97
98		key-vol-down {
99			gpios = <&gpx2 1 GPIO_ACTIVE_LOW>;
100			linux,code = <KEY_VOLUMEDOWN>;
101			label = "volume down";
102			debounce-interval = <10>;
103		};
104
105		key-vol-up {
106			gpios = <&gpx2 0 GPIO_ACTIVE_LOW>;
107			linux,code = <KEY_VOLUMEUP>;
108			label = "volume up";
109			debounce-interval = <10>;
110		};
111
112		key-power {
113			gpios = <&gpx2 7 GPIO_ACTIVE_LOW>;
114			linux,code = <KEY_POWER>;
115			label = "power";
116			debounce-interval = <10>;
117			wakeup-source;
118		};
119
120		key-ok {
121			gpios = <&gpx3 5 GPIO_ACTIVE_LOW>;
122			linux,code = <KEY_OK>;
123			label = "ok";
124			debounce-interval = <10>;
125		};
126	};
127
128	wlan_pwrseq: sdhci3-pwrseq {
129		compatible = "mmc-pwrseq-simple";
130		reset-gpios = <&gpl1 2 GPIO_ACTIVE_LOW>;
131	};
132
133	i2c_max17042_fuel: i2c-gpio-0 {
134		compatible = "i2c-gpio";
135		#address-cells = <1>;
136		#size-cells = <0>;
137
138		sda-gpios = <&gpy4 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
139		scl-gpios = <&gpy4 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
140		i2c-gpio,delay-us = <5>;
141
142		battery@36 {
143			compatible = "maxim,max17042";
144
145			interrupt-parent = <&gpx2>;
146			interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
147
148			pinctrl-0 = <&max17042_fuel_irq>;
149			pinctrl-names = "default";
150
151			reg = <0x36>;
152			maxim,over-heat-temp = <700>;
153			maxim,over-volt = <4500>;
154		};
155	};
156
157	i2c_s5k5baf: i2c-gpio-1 {
158		compatible = "i2c-gpio";
159		#address-cells = <1>;
160		#size-cells = <0>;
161
162		sda-gpios = <&gpc1 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
163		scl-gpios = <&gpc1 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
164		i2c-gpio,delay-us = <2>;
165
166		image-sensor@2d {
167			compatible = "samsung,s5k5baf";
168			reg = <0x2d>;
169			vdda-supply = <&cam_io_en_reg>;
170			vddreg-supply = <&vt_core_15v_reg>;
171			vddio-supply = <&vtcam_reg>;
172			clocks = <&camera 0>;
173			clock-names = "mclk";
174			stbyn-gpios = <&gpl2 0 GPIO_ACTIVE_LOW>;
175			rstn-gpios = <&gpl2 1 GPIO_ACTIVE_LOW>;
176			clock-frequency = <24000000>;
177
178			port {
179				s5k5bafx_ep: endpoint {
180					remote-endpoint = <&csis1_ep>;
181					data-lanes = <1>;
182				};
183			};
184		};
185	};
186
187	spi-3 {
188		compatible = "spi-gpio";
189		#address-cells = <1>;
190		#size-cells = <0>;
191
192		num-chipselects = <1>;
193		cs-gpios = <&gpy4 3 GPIO_ACTIVE_LOW>;
194		sck-gpios = <&gpy3 1 GPIO_ACTIVE_HIGH>;
195		mosi-gpios = <&gpy3 3 GPIO_ACTIVE_HIGH>;
196
197		lcd@0 {
198			compatible = "samsung,ld9040";
199			reg = <0>;
200
201			spi-max-frequency = <1200000>;
202
203			vdd3-supply = <&vmipi_reg>;
204			vci-supply = <&vcclcd_reg>;
205
206			reset-gpios = <&gpy4 5 GPIO_ACTIVE_HIGH>;
207			power-on-delay = <10>;
208			reset-delay = <10>;
209
210			panel-width-mm = <90>;
211			panel-height-mm = <154>;
212
213			display-timings {
214				timing {
215					clock-frequency = <23492370>;
216					hactive = <480>;
217					vactive = <800>;
218					hback-porch = <16>;
219					hfront-porch = <16>;
220					vback-porch = <2>;
221					vfront-porch = <28>;
222					hsync-len = <2>;
223					vsync-len = <1>;
224					hsync-active = <0>;
225					vsync-active = <0>;
226					de-active = <0>;
227					pixelclk-active = <0>;
228				};
229			};
230
231			port {
232				lcd_ep: endpoint {
233					remote-endpoint = <&fimd_dpi_ep>;
234				};
235			};
236		};
237	};
238
239	fixed-rate-clocks {
240		xxti {
241			compatible = "samsung,clock-xxti";
242			clock-frequency = <0>;
243		};
244
245		xusbxti {
246			compatible = "samsung,clock-xusbxti";
247			clock-frequency = <24000000>;
248		};
249
250		pmic_ap_clk: pmic-ap-clk {
251			/* Workaround for missing clock on max8997 PMIC */
252			compatible = "fixed-clock";
253			#clock-cells = <0>;
254			clock-frequency = <32768>;
255		};
256	};
257};
258
259&camera {
260	pinctrl-0 = <&cam_port_a_clk_active>;
261	pinctrl-names = "default";
262	status = "okay";
263	assigned-clocks = <&clock CLK_MOUT_CAM0>, <&clock CLK_MOUT_CAM1>;
264	assigned-clock-parents = <&clock CLK_XUSBXTI>, <&clock CLK_XUSBXTI>;
265};
266
267&csis_1 {
268	status = "okay";
269	vddcore-supply = <&vusb_reg>;
270	vddio-supply = <&vmipi_reg>;
271	clock-frequency = <160000000>;
272	#address-cells = <1>;
273	#size-cells = <0>;
274
275	port@4 {
276		reg = <4>;
277		csis1_ep: endpoint {
278			remote-endpoint = <&s5k5bafx_ep>;
279			data-lanes = <1>;
280			samsung,csis-hs-settle = <6>;
281		};
282	};
283};
284
285&cpu0 {
286	cpu0-supply = <&varm_breg>;
287};
288
289&cpu_thermal {
290	cooling-maps {
291		map0 {
292			/* Corresponds to 800MHz */
293			cooling-device = <&cpu0 2 2>;
294		};
295		map1 {
296			/* Corresponds to 200MHz */
297			cooling-device = <&cpu0 4 4>;
298		};
299	};
300};
301
302&ehci {
303	status = "okay";
304
305	phys = <&exynos_usbphy 1>;
306	phy-names = "host";
307};
308
309&exynos_usbphy {
310	status = "okay";
311
312	vbus-supply = <&safe1_sreg>;
313};
314
315&fimc_0 {
316	status = "okay";
317
318	assigned-clocks = <&clock CLK_MOUT_FIMC0>, <&clock CLK_SCLK_FIMC0>;
319	assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
320	assigned-clock-rates = <0>, <160000000>;
321};
322
323&fimc_1 {
324	/* Back camera not implemented */
325	status = "disabled";
326
327	assigned-clocks = <&clock CLK_MOUT_FIMC1>, <&clock CLK_SCLK_FIMC1>;
328	assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
329	assigned-clock-rates = <0>, <160000000>;
330};
331
332&fimc_2 {
333	status = "okay";
334
335	assigned-clocks = <&clock CLK_MOUT_FIMC2>, <&clock CLK_SCLK_FIMC2>;
336	assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
337	assigned-clock-rates = <0>, <160000000>;
338};
339
340&fimc_3 {
341	/* Back camera not implemented */
342	status = "disabled";
343
344	assigned-clocks = <&clock CLK_MOUT_FIMC3>, <&clock CLK_SCLK_FIMC3>;
345	assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
346	assigned-clock-rates = <0>, <160000000>;
347};
348
349&fimd {
350	status = "okay";
351	#address-cells = <1>;
352	#size-cells = <0>;
353
354	samsung,invert-vden;
355	samsung,invert-vclk;
356
357	pinctrl-0 = <&lcd_clk>, <&lcd_data24>;
358	pinctrl-names = "default";
359
360	port@3 {
361		reg = <3>;
362
363		fimd_dpi_ep: endpoint {
364			remote-endpoint = <&lcd_ep>;
365		};
366	};
367};
368
369&gpu {
370	status = "okay";
371
372	mali-supply = <&vg3d_breg>;
373};
374
375&hsotg {
376	status = "okay";
377
378	dr_mode = "otg";
379	vusb_d-supply = <&vusb_reg>;
380	vusb_a-supply = <&vusbdac_reg>;
381};
382
383&i2c_3 {
384	status = "okay";
385
386	samsung,i2c-sda-delay = <100>;
387	samsung,i2c-slave-addr = <0x10>;
388	samsung,i2c-max-bus-freq = <100000>;
389
390	pinctrl-0 = <&i2c3_bus>;
391	pinctrl-names = "default";
392
393	touchscreen@4a {
394		compatible = "atmel,maxtouch";
395		reg = <0x4a>;
396
397		interrupt-parent = <&gpx0>;
398		interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
399	};
400};
401
402&i2c_5 {
403	status = "okay";
404
405	samsung,i2c-sda-delay = <100>;
406	samsung,i2c-slave-addr = <0x10>;
407	samsung,i2c-max-bus-freq = <100000>;
408
409	pinctrl-0 = <&i2c5_bus>;
410	pinctrl-names = "default";
411
412	pmic@66 {
413		compatible = "maxim,max8997-pmic";
414		reg = <0x66>;
415
416		interrupts-extended = <&gpx0 7 IRQ_TYPE_NONE>,
417				      <&gpx2 3 IRQ_TYPE_EDGE_FALLING>;
418
419		max8997,pmic-buck1-uses-gpio-dvs;
420		max8997,pmic-buck2-uses-gpio-dvs;
421		max8997,pmic-buck5-uses-gpio-dvs;
422
423		max8997,pmic-ignore-gpiodvs-side-effect;
424		max8997,pmic-buck125-default-dvs-idx = <0>;
425
426		max8997,pmic-buck125-dvs-gpios = <&gpx0 5 GPIO_ACTIVE_HIGH>,
427						 <&gpx0 6 GPIO_ACTIVE_HIGH>,
428						 <&gpl0 0 GPIO_ACTIVE_HIGH>;
429
430		max8997,pmic-buck1-dvs-voltage = <1350000>, <1300000>,
431						 <1250000>, <1200000>,
432						 <1150000>, <1100000>,
433						 <1000000>, <950000>;
434
435		max8997,pmic-buck2-dvs-voltage = <1100000>, <1000000>,
436						 <950000>,  <900000>,
437						 <1100000>, <1000000>,
438						 <950000>,  <900000>;
439
440		max8997,pmic-buck5-dvs-voltage = <1200000>, <1200000>,
441						 <1200000>, <1200000>,
442						 <1200000>, <1200000>,
443						 <1200000>, <1200000>;
444
445		pinctrl-0 = <&max8997_irq>, <&otg_gp>, <&usb_sel>;
446		pinctrl-names = "default";
447
448		charger-supply = <&charger_reg>;
449
450		regulators {
451			vadc_reg: LDO1 {
452				regulator-name = "VADC_3.3V_C210";
453				regulator-min-microvolt = <3300000>;
454				regulator-max-microvolt = <3300000>;
455				regulator-always-on;
456
457			};
458			valive_reg: LDO2 {
459				regulator-name = "VALIVE_1.1V_C210";
460				regulator-min-microvolt = <1100000>;
461				regulator-max-microvolt = <1100000>;
462				regulator-always-on;
463
464			};
465
466			vusb_reg: LDO3 {
467				regulator-name = "VUSB_1.1V_C210";
468				regulator-min-microvolt = <1100000>;
469				regulator-max-microvolt = <1100000>;
470			};
471
472			vmipi_reg: LDO4 {
473				regulator-name = "VMIPI_1.8V";
474				regulator-min-microvolt = <1800000>;
475				regulator-max-microvolt = <1800000>;
476				regulator-always-on;
477			};
478
479			vhsic_reg: LDO5 {
480				regulator-name = "VHSIC_1.2V";
481				regulator-min-microvolt = <1200000>;
482				regulator-max-microvolt = <1200000>;
483				regulator-always-on;
484			};
485
486			vpda_reg: LDO6 {
487				regulator-name = "VCC_1.8V_PDA";
488				regulator-min-microvolt = <1800000>;
489				regulator-max-microvolt = <1800000>;
490				regulator-always-on;
491			};
492
493			vcam_reg: LDO7 {
494				regulator-name = "CAM_ISP_1.8V";
495				regulator-min-microvolt = <1800000>;
496				regulator-max-microvolt = <1800000>;
497			};
498
499			vusbdac_reg: LDO8 {
500				regulator-name = "VUSB+VDAC_3.3V_C210";
501				regulator-min-microvolt = <3300000>;
502				regulator-max-microvolt = <3300000>;
503			};
504
505			vccpda_reg: LDO9 {
506				regulator-name = "VCC_2.8V_PDA";
507				regulator-min-microvolt = <2800000>;
508				regulator-max-microvolt = <2800000>;
509				regulator-always-on;
510			};
511
512			vtouch_reg: LDO11 {
513				regulator-name = "TOUCH_2.8V";
514				regulator-min-microvolt = <2800000>;
515				regulator-max-microvolt = <2800000>;
516				regulator-always-on;
517			};
518
519			vpll_reg: LDO10 {
520				regulator-name = "VPLL_1.1V";
521				regulator-min-microvolt = <1100000>;
522				regulator-max-microvolt = <1100000>;
523				regulator-always-on;
524			};
525
526			vtcam_reg: LDO12 {
527				regulator-name = "VT_CAM_1.8V";
528				regulator-min-microvolt = <1800000>;
529				regulator-max-microvolt = <1800000>;
530			};
531
532			vcclcd_reg: LDO13 {
533				regulator-name = "VCC_3.0V_LCD";
534				regulator-min-microvolt = <3000000>;
535				regulator-max-microvolt = <3000000>;
536			};
537
538			vmotor_reg: LDO14 {
539				regulator-name = "VCC_2.8V_MOTOR";
540				regulator-min-microvolt = <2800000>;
541				regulator-max-microvolt = <2800000>;
542			};
543
544			vled_reg: LDO15 {
545				regulator-name = "LED_A_2.8V";
546				regulator-min-microvolt = <2800000>;
547				regulator-max-microvolt = <2800000>;
548			};
549
550			camsensor_reg: LDO16 {
551				regulator-name = "CAM_SENSOR_IO_1.8V";
552				regulator-min-microvolt = <1800000>;
553				regulator-max-microvolt = <1800000>;
554			};
555
556			vtf_reg: LDO17 {
557				regulator-name = "VTF_2.8V";
558				regulator-min-microvolt = <2800000>;
559				regulator-max-microvolt = <2800000>;
560			};
561
562			vtouchled_reg: LDO18 {
563				regulator-name = "TOUCH_LED_3.3V";
564				regulator-min-microvolt = <2500000>;
565				regulator-max-microvolt = <3300000>;
566			};
567
568			vddq_reg: LDO21 {
569				regulator-name = "VDDQ_M1M2_1.2V";
570				regulator-min-microvolt = <1200000>;
571				regulator-max-microvolt = <1200000>;
572				regulator-always-on;
573			};
574
575			varm_breg: BUCK1 {
576				regulator-name = "VARM_1.2V_C210";
577				regulator-min-microvolt = <65000>;
578				regulator-max-microvolt = <2225000>;
579				regulator-always-on;
580			};
581
582			vint_breg: BUCK2 {
583				regulator-name = "VINT_1.1V_C210";
584				regulator-min-microvolt = <65000>;
585				regulator-max-microvolt = <2225000>;
586				regulator-always-on;
587			};
588
589			vg3d_breg: BUCK3 {
590				regulator-name = "G3D_1.1V";
591				regulator-min-microvolt = <900000>;
592				regulator-max-microvolt = <1200000>;
593				regulator-microvolt-offset = <50000>;
594				regulator-always-on;
595			};
596
597			camisp_breg: BUCK4 {
598				regulator-name = "CAM_ISP_CORE_1.2V";
599				regulator-min-microvolt = <1200000>;
600				regulator-max-microvolt = <1200000>;
601			};
602
603			vmem_breg: BUCK5 {
604				regulator-name = "VMEM_1.2V";
605				regulator-min-microvolt = <1200000>;
606				regulator-max-microvolt = <1200000>;
607				regulator-always-on;
608			};
609
610			vccsub_breg: BUCK7 {
611				regulator-name = "VCC_SUB_2.0V";
612				regulator-min-microvolt = <2000000>;
613				regulator-max-microvolt = <2000000>;
614				regulator-always-on;
615			};
616
617			safe1_sreg: ESAFEOUT1 {
618				regulator-name = "SAFEOUT1";
619			};
620
621			safe2_sreg: ESAFEOUT2 {
622				regulator-name = "SAFEOUT2";
623				regulator-boot-on;
624			};
625
626			EN32KHZ_AP {
627				regulator-name = "EN32KHZ_AP";
628				regulator-always-on;
629			};
630
631			EN32KHZ_CP {
632				regulator-name = "EN32KHZ_CP";
633				regulator-always-on;
634			};
635
636			charger_reg: CHARGER {
637				regulator-name = "CHARGER";
638				regulator-min-microamp = <200000>;
639				regulator-max-microamp = <950000>;
640			};
641
642			chargercv_reg: CHARGER_CV {
643				regulator-name = "CHARGER_CV";
644				regulator-min-microvolt = <4200000>;
645				regulator-max-microvolt = <4200000>;
646				regulator-always-on;
647			};
648
649			CHARGER_TOPOFF {
650				regulator-name = "CHARGER_TOPOFF";
651				regulator-min-microamp = <200000>;
652				regulator-max-microamp = <200000>;
653				regulator-always-on;
654			};
655		};
656	};
657};
658
659&i2c_7 {
660	status = "okay";
661
662	samsung,i2c-sda-delay = <100>;
663	samsung,i2c-slave-addr = <0x10>;
664	samsung,i2c-max-bus-freq = <400000>;
665
666	pinctrl-0 = <&i2c7_bus>;
667	pinctrl-names = "default";
668
669	magnetometer@c {
670		compatible = "asahi-kasei,ak8975";
671		reg = <0x0c>;
672
673		gpios = <&gpx2 2 GPIO_ACTIVE_HIGH>;
674	};
675};
676
677&pinctrl_0 {
678	pinctrl-names = "default";
679	pinctrl-0 = <&sleep0>;
680
681	sleep0: sleep-state {
682		gpa0-0-pin {
683			samsung,pins = "gpa0-0";
684			samsung,pin-con-pdn = <EXYNOS_PIN_PDN_INPUT>;
685			samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
686		};
687
688		gpa0-1-pin {
689			samsung,pins = "gpa0-1";
690			samsung,pin-con-pdn = <EXYNOS_PIN_PDN_OUT0>;
691			samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
692		};
693
694		gpa0-2-pin {
695			samsung,pins = "gpa0-2";
696			samsung,pin-con-pdn = <EXYNOS_PIN_PDN_INPUT>;
697			samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
698		};
699
700		gpa0-3-pin {
701			samsung,pins = "gpa0-3";
702			samsung,pin-con-pdn = <EXYNOS_PIN_PDN_OUT1>;
703			samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
704		};
705	};
706};
707
708&pinctrl_1 {
709	mhl_int: mhl-int-pins {
710		samsung,pins = "gpf3-5";
711		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
712	};
713
714	i2c_mhl_bus: i2c-mhl-bus-pins {
715		samsung,pins = "gpf0-4", "gpf0-6";
716		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
717		samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
718		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
719	};
720
721	usb_sel: usb-sel-pins {
722		samsung,pins = "gpl0-6";
723		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
724		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
725		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
726		samsung,pin-val = <0>;
727	};
728
729	bt_en: bt-en-pins {
730		samsung,pins = "gpl0-4";
731		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
732		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
733		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
734		samsung,pin-val = <0>;
735	};
736
737	bt_res: bt-res-pins {
738		samsung,pins = "gpl1-0";
739		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
740		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
741		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
742		samsung,pin-val = <0>;
743	};
744
745	otg_gp: otg-gp-pins {
746		samsung,pins = "gpx3-3";
747		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
748		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
749		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
750		samsung,pin-val = <0>;
751	};
752
753	mag_mhl_gpio: mag-mhl-pins {
754		samsung,pins = "gpd0-2";
755		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
756		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
757	};
758
759	max8997_irq: max8997-irq-pins {
760		samsung,pins = "gpx0-7";
761		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
762	};
763
764	max17042_fuel_irq: max17042-fuel-irq-pins {
765		samsung,pins = "gpx2-3";
766		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
767	};
768
769	tsp224_irq: tsp224-irq-pins {
770		samsung,pins = "gpx0-4";
771		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
772	};
773};
774
775&rtc {
776	status = "okay";
777	clocks = <&clock CLK_RTC>, <&pmic_ap_clk>;
778	clock-names = "rtc", "rtc_src";
779};
780
781&sdhci_0 {
782	status = "okay";
783
784	bus-width = <8>;
785	non-removable;
786	vmmc-supply = <&vemmc_reg>;
787
788	pinctrl-0 = <&sd0_clk>, <&sd0_cmd>, <&sd0_bus8>;
789	pinctrl-names = "default";
790};
791
792&sdhci_2 {
793	status = "okay";
794
795	bus-width = <4>;
796	cd-gpios = <&gpx3 4 GPIO_ACTIVE_LOW>;
797	vmmc-supply = <&vtf_reg>;
798
799	pinctrl-0 = <&sd2_clk>, <&sd2_cmd>, <&sd2_bus4>;
800	pinctrl-names = "default";
801};
802
803&sdhci_3 {
804	status = "okay";
805
806	#address-cells = <1>;
807	#size-cells = <0>;
808
809	non-removable;
810	bus-width = <4>;
811	mmc-pwrseq = <&wlan_pwrseq>;
812	vmmc-supply = <&vtf_reg>;
813
814	pinctrl-names = "default";
815	pinctrl-0 = <&sd3_clk>, <&sd3_cmd>, <&sd3_bus4>;
816
817	brcmf: wifi@1 {
818		compatible = "brcm,bcm4330-fmac", "brcm,bcm4329-fmac";
819		reg = <1>;
820
821		interrupt-parent = <&gpx2>;
822		interrupts = <5 IRQ_TYPE_LEVEL_HIGH>;
823		interrupt-names = "host-wake";
824	};
825};
826
827&serial_0 {
828	status = "okay";
829
830	pinctrl-names = "default";
831	pinctrl-0 = <&bt_en>, <&bt_res>, <&uart0_data>, <&uart0_fctl>;
832
833	bluetooth {
834		compatible = "brcm,bcm4330-bt";
835
836		shutdown-gpios = <&gpl0 4 GPIO_ACTIVE_HIGH>;
837		reset-gpios = <&gpl1 0 GPIO_ACTIVE_LOW>;
838		device-wakeup-gpios = <&gpx3 1 GPIO_ACTIVE_HIGH>;
839
840		interrupt-parent = <&gpx2>;
841		interrupts = <6 IRQ_TYPE_EDGE_FALLING>;
842		interrupt-names = "host-wakeup";
843	};
844};
845
846&serial_1 {
847	status = "okay";
848};
849
850&serial_2 {
851	status = "okay";
852};
853
854&serial_3 {
855	status = "okay";
856};
857
858&tmu {
859	status = "okay";
860};
861