1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Samsung's S5PV210 based Galaxy Aries board device tree source
4 */
5
6/dts-v1/;
7#include <dt-bindings/gpio/gpio.h>
8#include <dt-bindings/interrupt-controller/irq.h>
9#include "s5pv210.dtsi"
10
11/ {
12	compatible = "samsung,aries", "samsung,s5pv210";
13
14	aliases: aliases {
15		i2c4 = &i2c_sound;
16		i2c5 = &i2c_accel;
17		i2c6 = &i2c_pmic;
18		i2c7 = &i2c_musb;
19		i2c9 = &i2c_fuel;
20		i2c10 = &i2c_touchkey;
21		i2c11 = &i2c_prox;
22		i2c12 = &i2c_magnetometer;
23	};
24
25	memory@30000000 {
26		device_type = "memory";
27		reg = <0x30000000 0x05000000
28			0x40000000 0x10000000
29			0x50000000 0x08000000>;
30	};
31
32	reserved-memory {
33		#address-cells = <1>;
34		#size-cells = <1>;
35		ranges;
36
37		mfc_left: region@43000000 {
38			compatible = "shared-dma-pool";
39			no-map;
40			reg = <0x43000000 0x2000000>;
41		};
42
43		mfc_right: region@51000000 {
44			compatible = "shared-dma-pool";
45			no-map;
46			reg = <0x51000000 0x2000000>;
47		};
48	};
49
50	pmic_ap_clk: clock-0 {
51		/* Workaround for missing clock on PMIC */
52		compatible = "fixed-clock";
53		#clock-cells = <0>;
54		clock-frequency = <32768>;
55	};
56
57	bt_codec: bt-sco {
58		compatible = "linux,bt-sco";
59		#sound-dai-cells = <0>;
60	};
61
62	vibrator_pwr: regulator-fixed-0 {
63		compatible = "regulator-fixed";
64		regulator-name = "vibrator-en";
65		enable-active-high;
66		gpio = <&gpj1 1 GPIO_ACTIVE_HIGH>;
67
68		pinctrl-names = "default";
69		pinctrl-0 = <&vibrator_ena>;
70	};
71
72	touchkey_vdd: regulator-fixed-1 {
73		compatible = "regulator-fixed";
74		regulator-name = "VTOUCH_3.3V";
75		regulator-min-microvolt = <3300000>;
76		regulator-max-microvolt = <3300000>;
77		enable-active-high;
78		gpio = <&gpj3 2 GPIO_ACTIVE_HIGH>;
79
80		pinctrl-names = "default";
81		pinctrl-0 = <&touchkey_vdd_ena>;
82	};
83
84	gp2a_vled: regulator-fixed-2 {
85		compatible = "regulator-fixed";
86		regulator-name = "VLED";
87		enable-active-high;
88		gpio = <&gpj1 4 GPIO_ACTIVE_HIGH>;
89		regulator-min-microvolt = <2800000>;
90		regulator-max-microvolt = <2800000>;
91
92		pinctrl-names = "default";
93		pinctrl-0 = <&gp2a_power>;
94	};
95
96	wifi_pwrseq: wifi-pwrseq {
97		compatible = "mmc-pwrseq-simple";
98		reset-gpios = <&gpg1 2 GPIO_ACTIVE_LOW>;
99		pinctrl-names = "default";
100		pinctrl-0 = <&wlan_gpio_rst>;
101		post-power-on-delay-ms = <500>;
102		power-off-delay-us = <500>;
103	};
104
105	i2c_sound: i2c-gpio-0 {
106		compatible = "i2c-gpio";
107		sda-gpios = <&mp05 3 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
108		scl-gpios = <&mp05 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
109		i2c-gpio,delay-us = <2>;
110		#address-cells = <1>;
111		#size-cells = <0>;
112
113		pinctrl-names = "default";
114		pinctrl-0 = <&sound_i2c_pins>;
115
116		wm8994: audio-codec@1a {
117			compatible = "wlf,wm8994";
118			reg = <0x1a>;
119
120			#sound-dai-cells = <0>;
121
122			gpio-controller;
123			#gpio-cells = <2>;
124
125			clocks = <&clocks MOUT_CLKOUT>;
126			clock-names = "MCLK1";
127
128			AVDD2-supply = <&buck3_reg>;
129			DBVDD-supply = <&buck3_reg>;
130			CPVDD-supply = <&buck3_reg>;
131			SPKVDD1-supply = <&buck3_reg>;
132			SPKVDD2-supply = <&buck3_reg>;
133
134			wlf,gpio-cfg = <0xa101 0x8100 0x0100 0x0100 0x8100
135					0xa101 0x0100 0x8100 0x0100 0x0100
136					0x0100>;
137
138			wlf,ldo1ena = <&gpf3 4 GPIO_ACTIVE_HIGH>;
139			wlf,ldo2ena = <&gpf3 4 GPIO_ACTIVE_HIGH>;
140
141			wlf,lineout1-se;
142			wlf,lineout2-se;
143
144			assigned-clocks = <&clocks MOUT_CLKOUT>;
145			assigned-clock-rates = <0>;
146			assigned-clock-parents = <&xusbxti>;
147
148			pinctrl-names = "default";
149			pinctrl-0 = <&codec_ldo>;
150		};
151	};
152
153	i2c_accel: i2c-gpio-1 {
154		compatible = "i2c-gpio";
155		sda-gpios = <&gpj3 6 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
156		scl-gpios = <&gpj3 7 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
157		i2c-gpio,delay-us = <2>;
158		#address-cells = <1>;
159		#size-cells = <0>;
160
161		pinctrl-names = "default";
162		pinctrl-0 = <&accel_i2c_pins>;
163
164		accelerometer@38 {
165			compatible = "bosch,bma023";
166			reg = <0x38>;
167
168			vdd-supply = <&ldo9_reg>;
169			vddio-supply = <&ldo9_reg>;
170		};
171	};
172
173	i2c_pmic: i2c-gpio-2 {
174		compatible = "i2c-gpio";
175		sda-gpios = <&gpj4 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
176		scl-gpios = <&gpj4 3 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
177		i2c-gpio,delay-us = <2>;
178		#address-cells = <1>;
179		#size-cells = <0>;
180
181		pinctrl-names = "default";
182		pinctrl-0 = <&pmic_i2c_pins>;
183
184		pmic@66 {
185			compatible = "maxim,max8998";
186			reg = <0x66>;
187			interrupt-parent = <&gph0>;
188			interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
189
190			max8998,pmic-buck1-default-dvs-idx = <1>;
191			max8998,pmic-buck1-dvs-gpios = <&gph0 3 GPIO_ACTIVE_HIGH>,
192							<&gph0 4 GPIO_ACTIVE_HIGH>;
193			max8998,pmic-buck1-dvs-voltage = <1275000>, <1200000>,
194							<1050000>, <950000>;
195
196			max8998,pmic-buck2-default-dvs-idx = <0>;
197			max8998,pmic-buck2-dvs-gpio = <&gph0 5 GPIO_ACTIVE_HIGH>;
198			max8998,pmic-buck2-dvs-voltage = <1100000>, <1000000>;
199
200			pinctrl-names = "default";
201			pinctrl-0 = <&pmic_dvs_pins &pmic_irq>;
202
203			regulators {
204				ldo2_reg: LDO2 {
205					regulator-name = "VALIVE_1.2V";
206					regulator-min-microvolt = <1200000>;
207					regulator-max-microvolt = <1200000>;
208					regulator-always-on;
209
210					regulator-state-mem {
211						regulator-on-in-suspend;
212					};
213				};
214
215				ldo3_reg: LDO3 {
216					regulator-name = "VUSB_1.1V";
217					regulator-min-microvolt = <1100000>;
218					regulator-max-microvolt = <1100000>;
219
220					regulator-state-mem {
221						regulator-off-in-suspend;
222					};
223				};
224
225				ldo4_reg: LDO4 {
226					regulator-name = "VADC_3.3V";
227					regulator-min-microvolt = <3300000>;
228					regulator-max-microvolt = <3300000>;
229
230					regulator-state-mem {
231						regulator-off-in-suspend;
232					};
233				};
234
235				ldo5_reg: LDO5 {
236					regulator-name = "VTF_2.8V";
237					regulator-min-microvolt = <2800000>;
238					regulator-max-microvolt = <2800000>;
239
240					regulator-state-mem {
241						regulator-off-in-suspend;
242					};
243				};
244
245				ldo6_reg: LDO6 {
246					regulator-name = "LDO6";
247					regulator-min-microvolt = <1600000>;
248					regulator-max-microvolt = <3600000>;
249				};
250
251				ldo7_reg: LDO7 {
252					regulator-name = "VLCD_1.8V";
253					regulator-min-microvolt = <1800000>;
254					regulator-max-microvolt = <1800000>;
255
256					regulator-state-mem {
257						regulator-off-in-suspend;
258					};
259				};
260
261				ldo8_reg: LDO8 {
262					regulator-name = "VUSB_3.3V";
263					regulator-min-microvolt = <3300000>;
264					regulator-max-microvolt = <3300000>;
265
266					regulator-state-mem {
267						regulator-off-in-suspend;
268					};
269				};
270
271				ldo9_reg: LDO9 {
272					regulator-name = "VCC_2.8V_PDA";
273					regulator-min-microvolt = <2800000>;
274					regulator-max-microvolt = <2800000>;
275					regulator-always-on;
276				};
277
278				ldo10_reg: LDO10 {
279					regulator-name = "VPLL_1.2V";
280					regulator-min-microvolt = <1200000>;
281					regulator-max-microvolt = <1200000>;
282					regulator-always-on;
283
284					regulator-state-mem {
285						regulator-on-in-suspend;
286					};
287				};
288
289				ldo11_reg: LDO11 {
290					regulator-name = "CAM_AF_3.0V";
291					regulator-min-microvolt = <3000000>;
292					regulator-max-microvolt = <3000000>;
293
294					regulator-state-mem {
295						regulator-off-in-suspend;
296					};
297				};
298
299				ldo12_reg: LDO12 {
300					regulator-name = "CAM_SENSOR_CORE_1.2V";
301					regulator-min-microvolt = <1200000>;
302					regulator-max-microvolt = <1200000>;
303
304					regulator-state-mem {
305						regulator-off-in-suspend;
306					};
307				};
308
309				ldo13_reg: LDO13 {
310					regulator-name = "VGA_VDDIO_2.8V";
311					regulator-min-microvolt = <2800000>;
312					regulator-max-microvolt = <2800000>;
313
314					regulator-state-mem {
315						regulator-off-in-suspend;
316					};
317				};
318
319				ldo14_reg: LDO14 {
320					regulator-name = "VGA_DVDD_1.8V";
321					regulator-min-microvolt = <1800000>;
322					regulator-max-microvolt = <1800000>;
323
324					regulator-state-mem {
325						regulator-off-in-suspend;
326					};
327				};
328
329				ldo15_reg: LDO15 {
330					regulator-name = "CAM_ISP_HOST_2.8V";
331					regulator-min-microvolt = <2800000>;
332					regulator-max-microvolt = <2800000>;
333
334					regulator-state-mem {
335						regulator-off-in-suspend;
336					};
337				};
338
339				ldo16_reg: LDO16 {
340					regulator-name = "VGA_AVDD_2.8V";
341					regulator-min-microvolt = <2800000>;
342					regulator-max-microvolt = <2800000>;
343
344					regulator-state-mem {
345						regulator-off-in-suspend;
346					};
347				};
348
349				ldo17_reg: LDO17 {
350					regulator-name = "VCC_3.0V_LCD";
351					regulator-min-microvolt = <3000000>;
352					regulator-max-microvolt = <3000000>;
353
354					regulator-state-mem {
355						regulator-off-in-suspend;
356					};
357				};
358
359				buck1_reg: BUCK1 {
360					regulator-name = "vddarm";
361					regulator-min-microvolt = <750000>;
362					regulator-max-microvolt = <1500000>;
363
364					regulator-state-mem {
365						regulator-off-in-suspend;
366						regulator-suspend-microvolt = <1250000>;
367					};
368				};
369
370				buck2_reg: BUCK2 {
371					regulator-name = "vddint";
372					regulator-min-microvolt = <750000>;
373					regulator-max-microvolt = <1500000>;
374
375					regulator-state-mem {
376						regulator-off-in-suspend;
377						regulator-suspend-microvolt = <1100000>;
378					};
379				};
380
381				buck3_reg: BUCK3 {
382					regulator-name = "VCC_1.8V";
383					regulator-min-microvolt = <1800000>;
384					regulator-max-microvolt = <1800000>;
385					regulator-always-on;
386				};
387
388				buck4_reg: BUCK4 {
389					regulator-name = "CAM_ISP_CORE_1.2V";
390					regulator-min-microvolt = <1200000>;
391					regulator-max-microvolt = <1200000>;
392
393					regulator-state-mem {
394						regulator-off-in-suspend;
395					};
396				};
397
398				ap32khz_reg: EN32KHz-AP {
399					regulator-name = "32KHz AP";
400					regulator-always-on;
401				};
402
403				cp32khz_reg: EN32KHz-CP {
404					regulator-name = "32KHz CP";
405				};
406
407				vichg_reg: ENVICHG {
408					regulator-name = "VICHG";
409					regulator-always-on;
410				};
411
412				safe1_sreg: ESAFEOUT1 {
413					regulator-name = "SAFEOUT1";
414				};
415
416				safe2_sreg: ESAFEOUT2 {
417					regulator-name = "SAFEOUT2";
418				};
419			};
420		};
421	};
422
423	i2c_musb: i2c-gpio-3 {
424		compatible = "i2c-gpio";
425		sda-gpios = <&gpj3 4 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
426		scl-gpios = <&gpj3 5 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
427		i2c-gpio,delay-us = <2>;
428		#address-cells = <1>;
429		#size-cells = <0>;
430
431		pinctrl-names = "default";
432		pinctrl-0 = <&musb_i2c_pins>;
433
434		fsa9480: musb@25 {
435			compatible = "fcs,fsa9480";
436			reg = <0x25>;
437			interrupt-parent = <&gph2>;
438			interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
439
440			pinctrl-names = "default";
441			pinctrl-0 = <&musb_irq>;
442		};
443	};
444
445	i2c_fuel: i2c-gpio-4 {
446		compatible = "i2c-gpio";
447		sda-gpios = <&mp05 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
448		scl-gpios = <&mp05 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
449		i2c-gpio,delay-us = <2>;
450		#address-cells = <1>;
451		#size-cells = <0>;
452
453		pinctrl-names = "default";
454		pinctrl-0 = <&fg_i2c_pins>;
455
456		fg: fuelgauge@36 {
457			compatible = "maxim,max17040";
458			reg = <0x36>;
459		};
460	};
461
462	i2c_touchkey: i2c-gpio-5 {
463		compatible = "i2c-gpio";
464		sda-gpios = <&gpj3 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
465		scl-gpios = <&gpj3 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
466		i2c-gpio,delay-us = <2>;
467		#address-cells = <1>;
468		#size-cells = <0>;
469
470		pinctrl-names = "default";
471		pinctrl-0 = <&touchkey_i2c_pins>;
472
473		touchkey@20 {
474			compatible = "cypress,aries-touchkey";
475			reg = <0x20>;
476			vdd-supply = <&touchkey_vdd>;
477			vcc-supply = <&buck3_reg>;
478			linux,keycodes = <KEY_MENU KEY_BACK
479					  KEY_HOMEPAGE KEY_SEARCH>;
480			interrupt-parent = <&gpj4>;
481			interrupts = <1 IRQ_TYPE_LEVEL_LOW>;
482
483			pinctrl-names = "default";
484			pinctrl-0 = <&touchkey_irq>;
485		};
486	};
487
488	i2c_prox: i2c-gpio-6 {
489		compatible = "i2c-gpio";
490		sda-gpios = <&gpg2 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
491		scl-gpios = <&gpg0 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
492		i2c-gpio,delay-us = <2>;
493		#address-cells = <1>;
494		#size-cells = <0>;
495
496		pinctrl-names = "default";
497		pinctrl-0 = <&prox_i2c_pins>;
498
499		light-sensor@44 {
500			compatible = "sharp,gp2ap002a00f";
501			reg = <0x44>;
502			interrupt-parent = <&gph0>;
503			interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
504			vdd-supply = <&gp2a_vled>;
505			vio-supply = <&gp2a_vled>;
506			io-channels = <&gp2a_shunt>;
507			io-channel-names = "alsout";
508			sharp,proximity-far-hysteresis = /bits/ 8 <0x40>;
509			sharp,proximity-close-hysteresis = /bits/ 8 <0x20>;
510
511			pinctrl-names = "default";
512			pinctrl-0 = <&gp2a_irq>;
513		};
514	};
515
516	i2c_magnetometer: i2c-gpio-7 {
517		compatible = "i2c-gpio";
518		sda-gpios = <&gpj0 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
519		scl-gpios = <&gpj0 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
520		i2c-gpio,delay-us = <2>;
521		#address-cells = <1>;
522		#size-cells = <0>;
523
524		pinctrl-names = "default";
525		pinctrl-0 = <&magnetometer_i2c_pins>;
526
527		status = "disabled";
528
529		/* Yamaha yas529 magnetometer, no mainline binding */
530	};
531
532	vibrator: pwm-vibrator {
533		compatible = "pwm-vibrator";
534		pwms = <&pwm 1 44642 0>;
535		pwm-names = "enable";
536		vcc-supply = <&vibrator_pwr>;
537		pinctrl-names = "default";
538		pinctrl-0 = <&pwm1_out>;
539	};
540
541	poweroff: syscon-poweroff {
542		compatible = "syscon-poweroff";
543		regmap = <&pmu_syscon>;
544		offset = <0x681c>; /* PS_HOLD_CONTROL */
545		value = <0x5200>;
546	};
547
548	spi_lcd: spi-2 {
549		compatible = "spi-gpio";
550		#address-cells = <1>;
551		#size-cells = <0>;
552
553		sck-gpios = <&mp04 1 GPIO_ACTIVE_HIGH>;
554		mosi-gpios = <&mp04 3 GPIO_ACTIVE_HIGH>;
555		cs-gpios = <&mp01 1 GPIO_ACTIVE_HIGH>;
556		num-chipselects = <1>;
557
558		pinctrl-names = "default";
559		pinctrl-0 = <&lcd_spi_pins>;
560
561		panel@0 {
562			compatible = "samsung,s6e63m0";
563			reg = <0>;
564			reset-gpios = <&mp05 5 GPIO_ACTIVE_LOW>;
565			vdd3-supply = <&ldo7_reg>;
566			vci-supply = <&ldo17_reg>;
567			spi-cs-high;
568			spi-max-frequency = <1200000>;
569
570			pinctrl-names = "default";
571			pinctrl-0 = <&panel_rst>;
572
573			port {
574				lcd_ep: endpoint {
575					remote-endpoint = <&fimd_ep>;
576				};
577			};
578		};
579	};
580};
581
582&adc {
583	vdd-supply = <&ldo4_reg>;
584
585	status = "okay";
586
587	gp2a_shunt: current-sense-shunt {
588		compatible = "current-sense-shunt";
589		io-channels = <&adc 9>;
590		shunt-resistor-micro-ohms = <47000000>; /* 47 ohms */
591		#io-channel-cells = <0>;
592	};
593};
594
595&fimd {
596	pinctrl-names = "default";
597	pinctrl-0 = <&lcd_clk &lcd_data24>;
598	status = "okay";
599
600	samsung,invert-vden;
601	samsung,invert-vclk;
602
603	#address-cells = <1>;
604	#size-cells = <0>;
605
606	port@3 {
607		reg = <3>;
608		fimd_ep: endpoint {
609			remote-endpoint = <&lcd_ep>;
610		};
611	};
612};
613
614&hsotg {
615	vusb_a-supply = <&ldo8_reg>;
616	vusb_d-supply = <&ldo3_reg>;
617	dr_mode = "peripheral";
618	status = "okay";
619};
620
621&i2c2 {
622	samsung,i2c-sda-delay = <100>;
623	samsung,i2c-max-bus-freq = <400000>;
624	samsung,i2c-slave-addr = <0x10>;
625	status = "okay";
626
627	touchscreen@4a {
628		compatible = "atmel,maxtouch";
629		reg = <0x4a>;
630		interrupt-parent = <&gpj0>;
631		interrupts = <5 IRQ_TYPE_EDGE_FALLING>;
632		pinctrl-names = "default";
633		pinctrl-0 = <&ts_irq>;
634		reset-gpios = <&gpj1 3 GPIO_ACTIVE_LOW>;
635	};
636};
637
638&i2s0 {
639	dmas = <&pdma0 9>, <&pdma0 10>, <&pdma0 11>;
640	status = "okay";
641};
642
643&mfc {
644	memory-region = <&mfc_left>, <&mfc_right>;
645};
646
647&pinctrl0 {
648	bt_reset: bt-reset {
649		samsung,pins = "gpb-3";
650		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
651		samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
652		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
653	};
654
655	wlan_bt_en: wlan-bt-en {
656		samsung,pins = "gpb-5";
657		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
658		samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
659		samsung,pin-val = <1>;
660	};
661
662	codec_ldo: codec-ldo {
663		samsung,pins = "gpf3-4";
664		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
665		samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
666	};
667
668	prox_i2c_pins: gp2a-i2c-pins {
669		samsung,pins = "gpg0-2", "gpg2-2";
670		samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
671		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
672	};
673
674	wlan_gpio_rst: wlan-gpio-rst {
675		samsung,pins = "gpg1-2";
676		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
677		samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
678	};
679
680	bt_wake: bt-wake {
681		samsung,pins = "gpg3-4";
682		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
683		samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
684	};
685
686	gp2a_irq: gp2a-irq {
687		samsung,pins = "gph0-2";
688		samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
689		samsung,pin-pud = <S3C64XX_PIN_PULL_DOWN>;
690		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
691	};
692
693	pmic_dvs_pins: pmic-dvs-pins {
694		samsung,pins = "gph0-3", "gph0-4", "gph0-5";
695		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
696		samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
697		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
698		samsung,pin-val = <0>;
699	};
700
701	pmic_irq: pmic-irq {
702		samsung,pins = "gph0-7";
703		samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
704		samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
705		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
706	};
707
708	wifi_host_wake: wifi-host-wake {
709		samsung,pins = "gph2-4";
710		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
711		samsung,pin-pud = <S3C64XX_PIN_PULL_DOWN>;
712		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
713	};
714
715	bt_host_wake: bt-host-wake {
716		samsung,pins = "gph2-5";
717		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
718		samsung,pin-pud = <S3C64XX_PIN_PULL_DOWN>;
719		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
720	};
721
722	musb_irq: musq-irq {
723		samsung,pins = "gph2-7";
724		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
725		samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
726		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
727	};
728
729	tf_detect: tf-detect {
730		samsung,pins = "gph3-4";
731		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
732		samsung,pin-pud = <S3C64XX_PIN_PULL_DOWN>;
733		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
734	};
735
736	wifi_wake: wifi-wake {
737		samsung,pins = "gph3-5";
738		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
739		samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
740	};
741
742	magnetometer_i2c_pins: yas529-i2c-pins {
743		samsung,pins = "gpj0-0", "gpj0-1";
744		samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
745		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
746	};
747
748	ts_irq: ts-irq {
749		samsung,pins = "gpj0-5";
750		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
751		samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
752		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
753	};
754
755	vibrator_ena: vibrator-ena {
756		samsung,pins = "gpj1-1";
757		samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
758		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
759	};
760
761	gp2a_power: gp2a-power {
762		samsung,pins = "gpj1-4";
763		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
764		samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
765		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
766	};
767
768	touchkey_i2c_pins: touchkey-i2c-pins {
769		samsung,pins = "gpj3-0", "gpj3-1";
770		samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
771		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
772	};
773
774	touchkey_vdd_ena: touchkey-vdd-ena {
775		samsung,pins = "gpj3-2";
776		samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
777		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
778	};
779
780	musb_i2c_pins: musb-i2c-pins {
781		samsung,pins = "gpj3-4", "gpj3-5";
782		samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
783		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
784	};
785
786	accel_i2c_pins: accel-i2c-pins {
787		samsung,pins = "gpj3-6", "gpj3-7";
788		samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
789		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
790	};
791
792	pmic_i2c_pins: pmic-i2c-pins {
793		samsung,pins = "gpj4-0", "gpj4-3";
794		samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
795		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
796	};
797
798	touchkey_irq: touchkey-irq {
799		samsung,pins = "gpj4-1";
800		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
801		samsung,pin-pud = <S3C64XX_PIN_PULL_UP>;
802		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
803	};
804
805	lcd_spi_pins: spi-lcd-pins {
806		samsung,pins = "mp01-1", "mp04-1", "mp04-3";
807		samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
808		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
809	};
810
811	fg_i2c_pins: fg-i2c-pins {
812		samsung,pins = "mp05-0", "mp05-1";
813		samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
814		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
815	};
816
817	sound_i2c_pins: sound-i2c-pins {
818		samsung,pins = "mp05-2", "mp05-3";
819		samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
820		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
821	};
822
823	panel_rst: panel-rst {
824		samsung,pins = "mp05-5";
825		samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
826		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
827	};
828};
829
830&pwm {
831	samsung,pwm-outputs = <1>;
832};
833
834&rtc {
835	clocks = <&clocks CLK_RTC>, <&pmic_ap_clk>;
836	clock-names = "rtc", "rtc_src";
837};
838
839&sdhci1 {
840	#address-cells = <1>;
841	#size-cells = <0>;
842
843	bus-width = <4>;
844	max-frequency = <38400000>;
845	pinctrl-0 = <&sd1_clk &sd1_cmd &sd1_bus4 &wifi_wake &wifi_host_wake &wlan_bt_en>;
846	pinctrl-names = "default";
847	cap-sd-highspeed;
848	cap-mmc-highspeed;
849	keep-power-in-suspend;
850
851	mmc-pwrseq = <&wifi_pwrseq>;
852	non-removable;
853	status = "okay";
854
855	assigned-clocks = <&clocks MOUT_MMC1>, <&clocks SCLK_MMC1>;
856	assigned-clock-rates = <0>, <50000000>;
857	assigned-clock-parents = <&clocks MOUT_MPLL>;
858
859	wlan@1 {
860		reg = <1>;
861		compatible = "brcm,bcm4329-fmac";
862		interrupt-parent = <&gph2>;
863		interrupts = <4 IRQ_TYPE_LEVEL_HIGH>;
864		interrupt-names = "host-wake";
865	};
866};
867
868&sdhci2 {
869	bus-width = <4>;
870	cd-gpios = <&gph3 4 GPIO_ACTIVE_LOW>;
871	vmmc-supply = <&ldo5_reg>;
872	pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4 &tf_detect>;
873	pinctrl-names = "default";
874	status = "okay";
875
876	assigned-clocks = <&clocks MOUT_MMC2>, <&clocks SCLK_MMC2>;
877	assigned-clock-rates = <0>, <50000000>;
878	assigned-clock-parents = <&clocks MOUT_MPLL>;
879};
880
881&uart0 {
882	assigned-clocks = <&clocks MOUT_UART0>, <&clocks SCLK_UART0>;
883	assigned-clock-rates = <0>, <111166667>;
884	assigned-clock-parents = <&clocks MOUT_MPLL>;
885
886	status = "okay";
887
888	bluetooth {
889		compatible = "brcm,bcm4329-bt";
890		max-speed = <3000000>;
891		pinctrl-names = "default";
892		pinctrl-0 = <&uart0_data &uart0_fctl &bt_host_wake
893			     &bt_reset &bt_wake>;
894		shutdown-gpios = <&gpb 3 GPIO_ACTIVE_HIGH>;
895		device-wakeup-gpios = <&gpg3 4 GPIO_ACTIVE_HIGH>;
896		interrupt-parent = <&gph2>;
897		interrupts = <5 IRQ_TYPE_LEVEL_HIGH>;
898		interrupt-names = "host-wake";
899	};
900};
901
902&uart1 {
903	status = "okay";
904};
905
906&uart2 {
907	status = "okay";
908};
909
910&usbphy {
911	status = "okay";
912	vbus-supply = <&safe1_sreg>;
913};
914
915&xusbxti {
916	clock-frequency = <24000000>;
917};
918