Linux Audio

Check our new training course

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