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