xref: /freebsd/sys/contrib/device-tree/src/arm/samsung/exynos4412-midas.dtsi (revision 84943d6f38e936ac3b7a3947ca26eeb27a39f938)
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Samsung's Exynos4412 based Trats 2 board device tree source
4 *
5 * Copyright (c) 2013 Samsung Electronics Co., Ltd.
6 *		http://www.samsung.com
7 *
8 * Device tree source file for Samsung's Trats 2 board which is based on
9 * Samsung's Exynos4412 SoC.
10 */
11
12/dts-v1/;
13#include "exynos4412.dtsi"
14#include "exynos4412-ppmu-common.dtsi"
15
16#include <dt-bindings/gpio/gpio.h>
17#include <dt-bindings/input/input.h>
18#include <dt-bindings/interrupt-controller/irq.h>
19#include <dt-bindings/clock/maxim,max77686.h>
20#include "exynos-pinctrl.h"
21
22/ {
23	compatible = "samsung,midas", "samsung,exynos4412", "samsung,exynos4";
24
25	aliases {
26		i2c11 = &i2c_max77693;
27		i2c12 = &i2c_max77693_fuel;
28		mmc0 = &mshc_0;
29		mmc2 = &sdhci_2;
30		mmc3 = &sdhci_3;
31	};
32
33	chosen {
34		stdout-path = &serial_2;
35	};
36
37	firmware@204f000 {
38		compatible = "samsung,secure-firmware";
39		reg = <0x0204f000 0x1000>;
40	};
41
42	fixed-rate-clocks {
43		xxti {
44			compatible = "samsung,clock-xxti";
45			clock-frequency = <0>;
46		};
47
48		xusbxti {
49			compatible = "samsung,clock-xusbxti";
50			clock-frequency = <24000000>;
51		};
52	};
53
54	cam_io_reg: voltage-regulator-1 {
55		compatible = "regulator-fixed";
56		regulator-name = "CAM_SENSOR_A";
57		regulator-min-microvolt = <2800000>;
58		regulator-max-microvolt = <2800000>;
59		enable-active-high;
60		status = "disabled";
61	};
62
63	cam_af_reg: voltage-regulator-2 {
64		compatible = "regulator-fixed";
65		regulator-name = "CAM_AF";
66		regulator-min-microvolt = <2800000>;
67		regulator-max-microvolt = <2800000>;
68		enable-active-high;
69		status = "disabled";
70	};
71
72	vsil12: voltage-regulator-3 {
73		compatible = "regulator-fixed";
74		regulator-name = "VSIL_1.2V";
75		regulator-min-microvolt = <1200000>;
76		regulator-max-microvolt = <1200000>;
77		gpio = <&gpl0 4 GPIO_ACTIVE_HIGH>;
78		enable-active-high;
79		vin-supply = <&buck7_reg>;
80	};
81
82	vcc33mhl: voltage-regulator-4 {
83		compatible = "regulator-fixed";
84		regulator-name = "VCC_3.3_MHL";
85		regulator-min-microvolt = <3300000>;
86		regulator-max-microvolt = <3300000>;
87		gpio = <&gpl0 4 GPIO_ACTIVE_HIGH>;
88		enable-active-high;
89	};
90
91	vcc18mhl: voltage-regulator-5 {
92		compatible = "regulator-fixed";
93		regulator-name = "VCC_1.8_MHL";
94		regulator-min-microvolt = <1800000>;
95		regulator-max-microvolt = <1800000>;
96		gpio = <&gpl0 4 GPIO_ACTIVE_HIGH>;
97		enable-active-high;
98	};
99
100	touchkey_reg: voltage-regulator-6 {
101		compatible = "regulator-fixed";
102		regulator-name = "LED_VDD_3.3V";
103		regulator-min-microvolt = <3300000>;
104		regulator-max-microvolt = <3300000>;
105		enable-active-high;
106		status = "disabled";
107	};
108
109	vbatt_reg: voltage-regulator-7 {
110		compatible = "regulator-fixed";
111		regulator-name = "VBATT";
112		regulator-min-microvolt = <5000000>;
113		regulator-max-microvolt = <5000000>;
114		regulator-always-on;
115	};
116
117	mic_bias_reg: voltage-regulator-8 {
118		compatible = "regulator-fixed";
119		regulator-name = "MICBIAS_LDO_2.8V";
120		regulator-min-microvolt = <2800000>;
121		regulator-max-microvolt = <2800000>;
122		gpio = <&gpf1 7 GPIO_ACTIVE_HIGH>;
123		enable-active-high;
124	};
125
126	submic_bias_reg: voltage-regulator-9 {
127		compatible = "regulator-fixed";
128		regulator-name = "SUB_MICBIAS_LDO_2.8V";
129		regulator-min-microvolt = <2800000>;
130		regulator-max-microvolt = <2800000>;
131	};
132
133	gpio-keys {
134		compatible = "gpio-keys";
135		pinctrl-names = "default";
136		pinctrl-0 = <&gpio_keys>;
137
138		key-down {
139			gpios = <&gpx3 3 GPIO_ACTIVE_LOW>;
140			linux,code = <KEY_VOLUMEDOWN>;
141			label = "volume down";
142			debounce-interval = <10>;
143		};
144
145		key-up {
146			gpios = <&gpx2 2 GPIO_ACTIVE_LOW>;
147			linux,code = <KEY_VOLUMEUP>;
148			label = "volume up";
149			debounce-interval = <10>;
150		};
151
152		key-power {
153			gpios = <&gpx2 7 GPIO_ACTIVE_LOW>;
154			linux,code = <KEY_POWER>;
155			label = "power";
156			debounce-interval = <10>;
157			wakeup-source;
158		};
159
160		key-ok {
161			gpios = <&gpx0 1 GPIO_ACTIVE_LOW>;
162			linux,code = <KEY_OK>;
163			label = "ok";
164			debounce-interval = <10>;
165			wakeup-source;
166		};
167	};
168
169	i2c_max77693: i2c-gpio-1 {
170		compatible = "i2c-gpio";
171		sda-gpios = <&gpm2 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
172		scl-gpios = <&gpm2 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
173		i2c-gpio,delay-us = <2>;
174		#address-cells = <1>;
175		#size-cells = <0>;
176
177		pmic@66 {
178			compatible = "maxim,max77693";
179			interrupt-parent = <&gpx1>;
180			interrupts = <5 IRQ_TYPE_LEVEL_LOW>;
181			pinctrl-names = "default";
182			pinctrl-0 = <&max77693_irq>;
183			reg = <0x66>;
184
185			muic {
186				compatible = "maxim,max77693-muic";
187
188				connector {
189					compatible = "samsung,usb-connector-11pin",
190						     "usb-b-connector";
191					label = "micro-USB";
192					type = "micro";
193
194					ports {
195						#address-cells = <1>;
196						#size-cells = <0>;
197
198						port@0 {
199							reg = <0>;
200
201							muic_to_usb: endpoint {
202								remote-endpoint = <&usb_to_muic>;
203							};
204						};
205
206						port@3 {
207							reg = <3>;
208
209							muic_to_mhl: endpoint {
210								remote-endpoint = <&mhl_to_muic>;
211							};
212						};
213					};
214				};
215			};
216
217			regulators {
218				esafeout1_reg: ESAFEOUT1 {
219					regulator-name = "ESAFEOUT1";
220				};
221				esafeout2_reg: ESAFEOUT2 {
222					regulator-name = "ESAFEOUT2";
223				};
224				charger_reg: CHARGER {
225					regulator-name = "CHARGER";
226					regulator-min-microamp = <60000>;
227					regulator-max-microamp = <2580000>;
228				};
229			};
230
231			motor-driver {
232				compatible = "maxim,max77693-haptic";
233				haptic-supply = <&ldo26_reg>;
234				pwms = <&pwm 0 38022 0>;
235			};
236
237			charger {
238				compatible = "maxim,max77693-charger";
239
240				maxim,constant-microvolt = <4350000>;
241				maxim,min-system-microvolt = <3600000>;
242				maxim,thermal-regulation-celsius = <100>;
243				maxim,battery-overcurrent-microamp = <3500000>;
244				maxim,charge-input-threshold-microvolt = <4300000>;
245			};
246		};
247	};
248
249	i2c_max77693_fuel: i2c-gpio-3 {
250		compatible = "i2c-gpio";
251		sda-gpios = <&gpf1 5 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
252		scl-gpios = <&gpf1 4 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
253		i2c-gpio,delay-us = <2>;
254		#address-cells = <1>;
255		#size-cells = <0>;
256
257		fuel-gauge@36 {
258			compatible = "maxim,max17047";
259			interrupt-parent = <&gpx2>;
260			interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
261			pinctrl-names = "default";
262			pinctrl-0 = <&max77693_fuel_irq>;
263			reg = <0x36>;
264
265			maxim,over-heat-temp = <700>;
266			maxim,over-volt = <4500>;
267		};
268	};
269
270	i2c-gpio-4 {
271		compatible = "i2c-gpio";
272		sda-gpios = <&gpl0 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
273		scl-gpios = <&gpl0 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
274		i2c-gpio,delay-us = <2>;
275		#address-cells = <1>;
276		#size-cells = <0>;
277
278		touchkey@20 {
279			compatible = "cypress,midas-touchkey";
280			reg = <0x20>;
281			vdd-supply = <&touchkey_reg>;
282			vcc-supply = <&ldo5_reg>;
283			interrupt-parent = <&gpj0>;
284			interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
285			linux,keycodes = <KEY_BACK KEY_MENU>;
286		};
287	};
288
289	i2c-mhl {
290		compatible = "i2c-gpio";
291		sda-gpios = <&gpf0 4 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
292		scl-gpios = <&gpf0 6 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
293		i2c-gpio,delay-us = <100>;
294		#address-cells = <1>;
295		#size-cells = <0>;
296
297		pinctrl-0 = <&i2c_mhl_bus>;
298		pinctrl-names = "default";
299
300		sii9234: hdmi-bridge@39 {
301			compatible = "sil,sii9234";
302			avcc33-supply = <&vcc33mhl>;
303			iovcc18-supply = <&vcc18mhl>;
304			avcc12-supply = <&vsil12>;
305			cvcc12-supply = <&vsil12>;
306			reset-gpios = <&gpf3 4 GPIO_ACTIVE_LOW>;
307			interrupt-parent = <&gpf3>;
308			interrupts = <5 IRQ_TYPE_LEVEL_HIGH>;
309			reg = <0x39>;
310
311			ports {
312				#address-cells = <1>;
313				#size-cells = <0>;
314
315				port@0 {
316					reg = <0>;
317
318					mhl_to_hdmi: endpoint {
319						remote-endpoint = <&hdmi_to_mhl>;
320					};
321				};
322
323				port@1 {
324					reg = <1>;
325
326					mhl_to_muic: endpoint {
327						remote-endpoint = <&muic_to_mhl>;
328					};
329				};
330			};
331		};
332	};
333
334	wlan_pwrseq: sdhci3-pwrseq {
335		compatible = "mmc-pwrseq-simple";
336		reset-gpios = <&gpj0 0 GPIO_ACTIVE_LOW>;
337		clocks = <&max77686 MAX77686_CLK_PMIC>;
338		clock-names = "ext_clock";
339	};
340
341	sound: sound {
342		compatible = "samsung,midas-audio";
343		model = "Midas";
344		mic-bias-supply = <&mic_bias_reg>;
345		submic-bias-supply = <&submic_bias_reg>;
346
347		cpu {
348			sound-dai = <&i2s0 0>;
349		};
350		codec {
351			sound-dai = <&wm1811>;
352		};
353	};
354
355	thermistor-ap {
356		compatible = "murata,ncp15wb473";
357		pullup-uv = <1800000>;	 /* VCC_1.8V_AP */
358		pullup-ohm = <100000>;	 /* 100K */
359		pulldown-ohm = <100000>; /* 100K */
360		io-channels = <&adc 1>;  /* AP temperature */
361	};
362
363	thermistor-battery {
364		compatible = "murata,ncp15wb473";
365		pullup-uv = <1800000>;	 /* VCC_1.8V_AP */
366		pullup-ohm = <100000>;	 /* 100K */
367		pulldown-ohm = <100000>; /* 100K */
368		io-channels = <&adc 2>;  /* Battery temperature */
369	};
370};
371
372&adc {
373	vdd-supply = <&ldo3_reg>;
374	status = "okay";
375};
376
377&bus_dmc {
378	devfreq-events = <&ppmu_dmc0_3>, <&ppmu_dmc1_3>;
379	vdd-supply = <&buck1_reg>;
380	status = "okay";
381};
382
383&bus_acp {
384	devfreq = <&bus_dmc>;
385	status = "okay";
386};
387
388&bus_c2c {
389	devfreq = <&bus_dmc>;
390	status = "okay";
391};
392
393&bus_leftbus {
394	devfreq-events = <&ppmu_leftbus_3>, <&ppmu_rightbus_3>;
395	vdd-supply = <&buck3_reg>;
396	status = "okay";
397};
398
399&bus_rightbus {
400	devfreq = <&bus_leftbus>;
401	status = "okay";
402};
403
404&bus_display {
405	devfreq = <&bus_leftbus>;
406	status = "okay";
407};
408
409&bus_fsys {
410	devfreq = <&bus_leftbus>;
411	status = "okay";
412};
413
414&bus_peri {
415	devfreq = <&bus_leftbus>;
416	status = "okay";
417};
418
419&bus_mfc {
420	devfreq = <&bus_leftbus>;
421	status = "okay";
422};
423
424&camera {
425	pinctrl-0 = <&cam_port_a_clk_active &cam_port_b_clk_active>;
426	pinctrl-names = "default";
427	status = "okay";
428	assigned-clocks = <&clock CLK_MOUT_CAM0>,
429		<&clock CLK_MOUT_CAM1>;
430	assigned-clock-parents = <&clock CLK_XUSBXTI>,
431		<&clock CLK_XUSBXTI>;
432};
433
434&cpu0 {
435	cpu0-supply = <&buck2_reg>;
436};
437
438&cpu_thermal {
439	cooling-maps {
440		map0 {
441			/* Corresponds to 800MHz at freq_table */
442			cooling-device = <&cpu0 7 7>, <&cpu1 7 7>,
443					 <&cpu2 7 7>, <&cpu3 7 7>;
444		};
445		map1 {
446			/* Corresponds to 200MHz at freq_table */
447			cooling-device = <&cpu0 13 13>, <&cpu1 13 13>,
448					 <&cpu2 13 13>, <&cpu3 13 13>;
449		};
450	};
451};
452
453&csis_0 {
454	status = "okay";
455	vddcore-supply = <&ldo8_reg>;
456	vddio-supply = <&ldo10_reg>;
457	assigned-clocks = <&clock CLK_MOUT_CSIS0>,
458			<&clock CLK_SCLK_CSIS0>;
459	assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
460	assigned-clock-rates = <0>, <176000000>;
461
462	/* Camera C (3) MIPI CSI-2 (CSIS0) */
463	port@3 {
464		reg = <3>;
465		csis0_ep: endpoint {
466			remote-endpoint = <&s5c73m3_ep>;
467			data-lanes = <1 2 3 4>;
468			samsung,csis-hs-settle = <12>;
469		};
470	};
471};
472
473&csis_1 {
474	status = "okay";
475	vddcore-supply = <&ldo8_reg>;
476	vddio-supply = <&ldo10_reg>;
477	assigned-clocks = <&clock CLK_MOUT_CSIS1>,
478			<&clock CLK_SCLK_CSIS1>;
479	assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
480	assigned-clock-rates = <0>, <176000000>;
481
482	/* Camera D (4) MIPI CSI-2 (CSIS1) */
483	port@4 {
484		reg = <4>;
485		csis1_ep: endpoint {
486			remote-endpoint = <&is_s5k6a3_ep>;
487			data-lanes = <1>;
488			samsung,csis-hs-settle = <18>;
489			samsung,csis-wclk;
490		};
491	};
492};
493
494&dsi_0 {
495	vddcore-supply = <&ldo8_reg>;
496	vddio-supply = <&ldo10_reg>;
497	samsung,burst-clock-frequency = <500000000>;
498	samsung,esc-clock-frequency = <20000000>;
499	samsung,pll-clock-frequency = <24000000>;
500};
501
502&exynos_usbphy {
503	vbus-supply = <&esafeout1_reg>;
504	status = "okay";
505};
506
507&fimc_0 {
508	status = "okay";
509	assigned-clocks = <&clock CLK_MOUT_FIMC0>,
510			<&clock CLK_SCLK_FIMC0>;
511	assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
512	assigned-clock-rates = <0>, <176000000>;
513};
514
515&fimc_1 {
516	status = "okay";
517	assigned-clocks = <&clock CLK_MOUT_FIMC1>,
518			<&clock CLK_SCLK_FIMC1>;
519	assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
520	assigned-clock-rates = <0>, <176000000>;
521};
522
523&fimc_2 {
524	status = "okay";
525	assigned-clocks = <&clock CLK_MOUT_FIMC2>,
526			<&clock CLK_SCLK_FIMC2>;
527	assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
528	assigned-clock-rates = <0>, <176000000>;
529};
530
531&fimc_3 {
532	status = "okay";
533	assigned-clocks = <&clock CLK_MOUT_FIMC3>,
534			<&clock CLK_SCLK_FIMC3>;
535	assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
536	assigned-clock-rates = <0>, <176000000>;
537};
538
539&fimc_is {
540	pinctrl-0 = <&fimc_is_uart>;
541	pinctrl-names = "default";
542	status = "okay";
543};
544
545&fimc_lite_0 {
546	status = "okay";
547};
548
549&fimc_lite_1 {
550	status = "okay";
551};
552
553&fimd {
554	status = "okay";
555};
556
557&gpu {
558	mali-supply = <&buck4_reg>;
559	status = "okay";
560};
561
562&hdmi {
563	hpd-gpios = <&gpx3 7 GPIO_ACTIVE_HIGH>;
564	pinctrl-names = "default";
565	pinctrl-0 = <&hdmi_hpd>;
566	vdd-supply = <&ldo3_reg>;
567	vdd_osc-supply = <&ldo4_reg>;
568	vdd_pll-supply = <&ldo3_reg>;
569	ddc = <&i2c_5>;
570	status = "okay";
571
572	ports {
573		#address-cells = <1>;
574		#size-cells = <0>;
575
576		port@1 {
577			reg = <1>;
578			hdmi_to_mhl: endpoint {
579				remote-endpoint = <&mhl_to_hdmi>;
580			};
581		};
582	};
583};
584
585&hsotg {
586	vusb_d-supply = <&ldo15_reg>;
587	vusb_a-supply = <&ldo12_reg>;
588	dr_mode = "otg";
589	role-switch-default-mode = "peripheral";
590	usb-role-switch;
591	status = "okay";
592
593	port {
594		usb_to_muic: endpoint {
595			remote-endpoint = <&muic_to_usb>;
596		};
597	};
598};
599
600&i2c_0 {
601	samsung,i2c-sda-delay = <100>;
602	samsung,i2c-slave-addr = <0x10>;
603	samsung,i2c-max-bus-freq = <400000>;
604	pinctrl-0 = <&i2c0_bus>;
605	pinctrl-names = "default";
606	status = "okay";
607
608	s5c73m3: image-sensor@3c {
609		compatible = "samsung,s5c73m3";
610		reg = <0x3c>;
611		xshutdown-gpios = <&gpf1 3 GPIO_ACTIVE_LOW>; /* ISP_RESET */
612		vdd-int-supply = <&buck9_reg>;
613		vddio-cis-supply = <&ldo9_reg>;
614		vddio-host-supply = <&ldo18_reg>;
615		vdd-af-supply = <&cam_af_reg>;
616		vdd-reg-supply = <&cam_io_reg>;
617		clock-frequency = <24000000>;
618		/* CAM_A_CLKOUT */
619		clocks = <&camera 0>;
620		clock-names = "cis_extclk";
621		status = "disabled";
622		port {
623			s5c73m3_ep: endpoint {
624				remote-endpoint = <&csis0_ep>;
625				data-lanes = <1 2 3 4>;
626			};
627		};
628	};
629};
630
631&i2c1_isp {
632	pinctrl-0 = <&fimc_is_i2c1>;
633	pinctrl-names = "default";
634
635	image-sensor@10 {
636		compatible = "samsung,s5k6a3";
637		reg = <0x10>;
638		svdda-supply = <&cam_io_reg>;
639		svddio-supply = <&ldo19_reg>;
640		afvdd-supply = <&ldo19_reg>;
641		clock-frequency = <24000000>;
642		/* CAM_B_CLKOUT */
643		clocks = <&camera 1>;
644		clock-names = "extclk";
645		gpios = <&gpm1 6 GPIO_ACTIVE_LOW>;
646
647		port {
648			is_s5k6a3_ep: endpoint {
649				remote-endpoint = <&csis1_ep>;
650				data-lanes = <1>;
651			};
652		};
653	};
654};
655
656&i2c_3 {
657	samsung,i2c-sda-delay = <100>;
658	samsung,i2c-slave-addr = <0x10>;
659	samsung,i2c-max-bus-freq = <400000>;
660	pinctrl-0 = <&i2c3_bus>;
661	pinctrl-names = "default";
662	status = "okay";
663};
664
665&i2c_4 {
666	samsung,i2c-sda-delay = <100>;
667	samsung,i2c-slave-addr = <0x10>;
668	samsung,i2c-max-bus-freq = <100000>;
669	pinctrl-0 = <&i2c4_bus>;
670	pinctrl-names = "default";
671	status = "okay";
672
673	wm1811: audio-codec@1a {
674		compatible = "wlf,wm1811";
675		reg = <0x1a>;
676		clocks = <&pmu_system_controller 0>,
677			<&max77686 MAX77686_CLK_PMIC>;
678		clock-names = "MCLK1", "MCLK2";
679		interrupt-controller;
680		#interrupt-cells = <2>;
681		interrupt-parent = <&gpx3>;
682		interrupts = <6 IRQ_TYPE_LEVEL_HIGH>;
683
684		gpio-controller;
685		#gpio-cells = <2>;
686		#sound-dai-cells = <0>;
687
688		wlf,gpio-cfg = <0x3 0x0 0x0 0x0 0x0 0x0
689			0x0 0x8000 0x0 0x0 0x0>;
690		wlf,micbias-cfg = <0x2f 0x2b>;
691
692		wlf,lineout1-feedback;
693		wlf,lineout1-se;
694		wlf,lineout2-se;
695		wlf,ldoena-always-driven;
696
697		AVDD2-supply = <&vbatt_reg>;
698		DBVDD1-supply = <&ldo3_reg>;
699		DBVDD2-supply = <&vbatt_reg>;
700		DBVDD3-supply = <&vbatt_reg>;
701		DCVDD-supply = <&ldo3_reg>;
702		CPVDD-supply = <&vbatt_reg>;
703		SPKVDD1-supply = <&vbatt_reg>;
704		SPKVDD2-supply = <&vbatt_reg>;
705		wlf,ldo1ena-gpios = <&gpj0 4 GPIO_ACTIVE_HIGH>;
706		wlf,ldo2ena-gpios = <&gpj0 4 GPIO_ACTIVE_HIGH>;
707	};
708};
709
710&i2c_5 {
711	status = "okay";
712};
713
714&i2c_7 {
715	samsung,i2c-sda-delay = <100>;
716	samsung,i2c-slave-addr = <0x10>;
717	samsung,i2c-max-bus-freq = <100000>;
718	pinctrl-0 = <&i2c7_bus>;
719	pinctrl-names = "default";
720	status = "okay";
721
722	max77686: pmic@9 {
723		compatible = "maxim,max77686";
724		interrupt-parent = <&gpx0>;
725		interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
726		pinctrl-0 = <&max77686_irq>;
727		pinctrl-names = "default";
728		wakeup-source;
729		reg = <0x09>;
730		#clock-cells = <1>;
731
732		voltage-regulators {
733			ldo1_reg: LDO1 {
734				regulator-name = "VALIVE_1.0V_AP";
735				regulator-min-microvolt = <1000000>;
736				regulator-max-microvolt = <1000000>;
737				regulator-always-on;
738			};
739
740			ldo2_reg: LDO2 {
741				regulator-name = "VM1M2_1.2V_AP";
742				regulator-min-microvolt = <1200000>;
743				regulator-max-microvolt = <1200000>;
744				regulator-always-on;
745				regulator-state-mem {
746					regulator-on-in-suspend;
747				};
748			};
749
750			ldo3_reg: LDO3 {
751				regulator-name = "VCC_1.8V_AP";
752				regulator-min-microvolt = <1800000>;
753				regulator-max-microvolt = <1800000>;
754				regulator-always-on;
755			};
756
757			ldo4_reg: LDO4 {
758				regulator-name = "VCC_2.8V_AP";
759				regulator-min-microvolt = <2800000>;
760				regulator-max-microvolt = <2800000>;
761				regulator-always-on;
762			};
763
764			ldo5_reg: LDO5 {
765				regulator-name = "VCC_1.8V_IO";
766				regulator-min-microvolt = <1800000>;
767				regulator-max-microvolt = <1800000>;
768				regulator-always-on;
769			};
770
771			ldo6_reg: LDO6 {
772				regulator-name = "VMPLL_1.0V_AP";
773				regulator-min-microvolt = <1000000>;
774				regulator-max-microvolt = <1000000>;
775				regulator-always-on;
776				regulator-state-mem {
777					regulator-on-in-suspend;
778				};
779			};
780
781			ldo7_reg: LDO7 {
782				regulator-name = "VPLL_1.0V_AP";
783				regulator-min-microvolt = <1000000>;
784				regulator-max-microvolt = <1000000>;
785				regulator-always-on;
786				regulator-state-mem {
787					regulator-on-in-suspend;
788				};
789			};
790
791			ldo8_reg: LDO8 {
792				regulator-name = "VMIPI_1.0V";
793				regulator-min-microvolt = <1000000>;
794				regulator-max-microvolt = <1000000>;
795				regulator-state-mem {
796					regulator-off-in-suspend;
797				};
798			};
799
800			ldo9_reg: LDO9 {
801				regulator-name = "CAM_ISP_MIPI_1.2V";
802				regulator-min-microvolt = <1200000>;
803				regulator-max-microvolt = <1200000>;
804			};
805
806			ldo10_reg: LDO10 {
807				regulator-name = "VMIPI_1.8V";
808				regulator-min-microvolt = <1800000>;
809				regulator-max-microvolt = <1800000>;
810				regulator-state-mem {
811					regulator-off-in-suspend;
812				};
813			};
814
815			ldo11_reg: LDO11 {
816				regulator-name = "VABB1_1.95V";
817				regulator-min-microvolt = <1950000>;
818				regulator-max-microvolt = <1950000>;
819				regulator-always-on;
820				regulator-state-mem {
821					regulator-off-in-suspend;
822				};
823			};
824
825			ldo12_reg: LDO12 {
826				regulator-name = "VUOTG_3.0V";
827				regulator-min-microvolt = <3000000>;
828				regulator-max-microvolt = <3000000>;
829				regulator-state-mem {
830					regulator-off-in-suspend;
831				};
832			};
833
834			ldo13_reg: LDO13 {
835				regulator-name = "NFC_AVDD_1.8V";
836				regulator-min-microvolt = <1800000>;
837				regulator-max-microvolt = <1800000>;
838			};
839
840			ldo14_reg: LDO14 {
841				regulator-name = "VABB2_1.95V";
842				regulator-min-microvolt = <1950000>;
843				regulator-max-microvolt = <1950000>;
844				regulator-always-on;
845				regulator-state-mem {
846					regulator-off-in-suspend;
847				};
848			};
849
850			ldo15_reg: LDO15 {
851				regulator-name = "VHSIC_1.0V";
852				regulator-min-microvolt = <1000000>;
853				regulator-max-microvolt = <1000000>;
854				regulator-state-mem {
855					regulator-on-in-suspend;
856				};
857			};
858
859			ldo16_reg: LDO16 {
860				regulator-name = "VHSIC_1.8V";
861				regulator-min-microvolt = <1800000>;
862				regulator-max-microvolt = <1800000>;
863				regulator-state-mem {
864					regulator-on-in-suspend;
865				};
866			};
867
868			ldo17_reg: LDO17 {
869				regulator-name = "CAM_SENSOR_CORE_1.2V";
870				regulator-min-microvolt = <1200000>;
871				regulator-max-microvolt = <1200000>;
872			};
873
874			ldo18_reg: LDO18 {
875				regulator-name = "CAM_ISP_SEN_IO_1.8V";
876				regulator-min-microvolt = <1800000>;
877				regulator-max-microvolt = <1800000>;
878			};
879
880			ldo19_reg: LDO19 {
881				regulator-name = "VT_CAM_1.8V";
882				regulator-min-microvolt = <1800000>;
883				regulator-max-microvolt = <1800000>;
884			};
885
886			ldo20_reg: LDO20 {
887				regulator-name = "VDDQ_PRE_1.8V";
888				regulator-min-microvolt = <1800000>;
889				regulator-max-microvolt = <1800000>;
890			};
891
892			ldo21_reg: LDO21 {
893				regulator-name = "VTF_2.8V";
894				regulator-min-microvolt = <2800000>;
895				regulator-max-microvolt = <2800000>;
896				maxim,ena-gpios = <&gpy2 0 GPIO_ACTIVE_HIGH>;
897			};
898
899			ldo22_reg: LDO22 {
900				regulator-name = "VMEM_VDD_2.8V";
901				regulator-min-microvolt = <2800000>;
902				regulator-max-microvolt = <2800000>;
903				maxim,ena-gpios = <&gpk0 2 GPIO_ACTIVE_HIGH>;
904			};
905
906			ldo23_reg: LDO23 {
907				regulator-name = "TSP_AVDD_3.3V";
908				regulator-min-microvolt = <3300000>;
909				regulator-max-microvolt = <3300000>;
910			};
911
912			ldo24_reg: LDO24 {
913				regulator-name = "TSP_VDD_1.8V";
914				regulator-min-microvolt = <1800000>;
915				regulator-max-microvolt = <1800000>;
916			};
917
918			ldo25_reg: LDO25 {
919				regulator-name = "LDO25";
920			};
921
922			ldo26_reg: LDO26 {
923				regulator-name = "MOTOR_VCC_3.0V";
924				regulator-min-microvolt = <3000000>;
925				regulator-max-microvolt = <3000000>;
926			};
927
928			buck1_reg: BUCK1 {
929				regulator-name = "VDD_MIF";
930				regulator-min-microvolt = <850000>;
931				regulator-max-microvolt = <1100000>;
932				regulator-always-on;
933				regulator-boot-on;
934				regulator-state-mem {
935					regulator-off-in-suspend;
936				};
937			};
938
939			buck2_reg: BUCK2 {
940				regulator-name = "VDD_ARM";
941				regulator-min-microvolt = <850000>;
942				regulator-max-microvolt = <1500000>;
943				regulator-always-on;
944				regulator-boot-on;
945				regulator-state-mem {
946					regulator-on-in-suspend;
947				};
948			};
949
950			buck3_reg: BUCK3 {
951				regulator-name = "VDD_INT";
952				regulator-min-microvolt = <850000>;
953				regulator-max-microvolt = <1150000>;
954				regulator-always-on;
955				regulator-boot-on;
956				regulator-state-mem {
957					regulator-off-in-suspend;
958				};
959			};
960
961			buck4_reg: BUCK4 {
962				regulator-name = "VDD_G3D";
963				regulator-min-microvolt = <850000>;
964				regulator-max-microvolt = <1150000>;
965				regulator-boot-on;
966				regulator-state-mem {
967					regulator-off-in-suspend;
968				};
969			};
970
971			buck5_reg: BUCK5 {
972				regulator-name = "VMEM_1.2V_AP";
973				regulator-min-microvolt = <1200000>;
974				regulator-max-microvolt = <1200000>;
975				regulator-always-on;
976			};
977
978			buck6_reg: BUCK6 {
979				regulator-name = "VCC_SUB_1.35V";
980				regulator-min-microvolt = <1350000>;
981				regulator-max-microvolt = <1350000>;
982				regulator-always-on;
983			};
984
985			buck7_reg: BUCK7 {
986				regulator-name = "VCC_SUB_2.0V";
987				regulator-min-microvolt = <2000000>;
988				regulator-max-microvolt = <2000000>;
989				regulator-always-on;
990			};
991
992			buck8_reg: BUCK8 {
993				regulator-name = "VMEM_VDDF_3.0V";
994				regulator-min-microvolt = <2850000>;
995				regulator-max-microvolt = <2850000>;
996				maxim,ena-gpios = <&gpk0 2 GPIO_ACTIVE_HIGH>;
997			};
998
999			buck9_reg: BUCK9 {
1000				regulator-name = "CAM_ISP_CORE_1.2V";
1001				regulator-min-microvolt = <1000000>;
1002				regulator-max-microvolt = <1200000>;
1003			};
1004		};
1005	};
1006};
1007
1008&i2c_8 {
1009	status = "okay";
1010};
1011
1012&i2s0 {
1013	pinctrl-0 = <&i2s0_bus>;
1014	pinctrl-names = "default";
1015	status = "okay";
1016};
1017
1018&mixer {
1019	status = "okay";
1020};
1021
1022&mshc_0 {
1023	broken-cd;
1024	non-removable;
1025	card-detect-delay = <200>;
1026	vmmc-supply = <&ldo22_reg>;
1027	clock-frequency = <400000000>;
1028	samsung,dw-mshc-ciu-div = <0>;
1029	samsung,dw-mshc-sdr-timing = <2 3>;
1030	samsung,dw-mshc-ddr-timing = <1 2>;
1031	mmc-ddr-1_8v;
1032	pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>;
1033	pinctrl-names = "default";
1034	status = "okay";
1035	bus-width = <8>;
1036	cap-mmc-highspeed;
1037};
1038
1039&pmu_system_controller {
1040	assigned-clocks = <&pmu_system_controller 0>;
1041	assigned-clock-parents = <&clock CLK_XUSBXTI>;
1042};
1043
1044&pinctrl_0 {
1045	pinctrl-names = "default";
1046	pinctrl-0 = <&sleep0>;
1047
1048	mhl_int: mhl-int-pins {
1049		samsung,pins = "gpf3-5";
1050		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
1051	};
1052
1053	i2c_mhl_bus: i2c-mhl-bus-pins {
1054		samsung,pins = "gpf0-4", "gpf0-6";
1055		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
1056		samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
1057		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
1058	};
1059
1060	sleep0: sleep-state {
1061		PIN_SLP(gpa0-0, INPUT, NONE);
1062		PIN_SLP(gpa0-1, OUT0, NONE);
1063		PIN_SLP(gpa0-2, INPUT, NONE);
1064		PIN_SLP(gpa0-3, INPUT, UP);
1065		PIN_SLP(gpa0-4, INPUT, NONE);
1066		PIN_SLP(gpa0-5, INPUT, DOWN);
1067		PIN_SLP(gpa0-6, INPUT, DOWN);
1068		PIN_SLP(gpa0-7, INPUT, UP);
1069
1070		PIN_SLP(gpa1-0, INPUT, DOWN);
1071		PIN_SLP(gpa1-1, INPUT, DOWN);
1072		PIN_SLP(gpa1-2, INPUT, DOWN);
1073		PIN_SLP(gpa1-3, INPUT, DOWN);
1074		PIN_SLP(gpa1-4, INPUT, DOWN);
1075		PIN_SLP(gpa1-5, INPUT, DOWN);
1076
1077		PIN_SLP(gpb-0, INPUT, NONE);
1078		PIN_SLP(gpb-1, INPUT, NONE);
1079		PIN_SLP(gpb-2, INPUT, NONE);
1080		PIN_SLP(gpb-3, INPUT, NONE);
1081		PIN_SLP(gpb-4, INPUT, DOWN);
1082		PIN_SLP(gpb-5, INPUT, UP);
1083		PIN_SLP(gpb-6, INPUT, DOWN);
1084		PIN_SLP(gpb-7, INPUT, DOWN);
1085
1086		PIN_SLP(gpc0-0, INPUT, DOWN);
1087		PIN_SLP(gpc0-1, INPUT, DOWN);
1088		PIN_SLP(gpc0-2, INPUT, DOWN);
1089		PIN_SLP(gpc0-3, INPUT, DOWN);
1090		PIN_SLP(gpc0-4, INPUT, DOWN);
1091
1092		PIN_SLP(gpc1-0, INPUT, NONE);
1093		PIN_SLP(gpc1-1, PREV, NONE);
1094		PIN_SLP(gpc1-2, INPUT, NONE);
1095		PIN_SLP(gpc1-3, INPUT, NONE);
1096		PIN_SLP(gpc1-4, INPUT, NONE);
1097
1098		PIN_SLP(gpd0-0, INPUT, DOWN);
1099		PIN_SLP(gpd0-1, INPUT, DOWN);
1100		PIN_SLP(gpd0-2, INPUT, NONE);
1101		PIN_SLP(gpd0-3, INPUT, NONE);
1102
1103		PIN_SLP(gpd1-0, INPUT, DOWN);
1104		PIN_SLP(gpd1-1, INPUT, DOWN);
1105		PIN_SLP(gpd1-2, INPUT, NONE);
1106		PIN_SLP(gpd1-3, INPUT, NONE);
1107
1108		PIN_SLP(gpf0-0, INPUT, NONE);
1109		PIN_SLP(gpf0-1, INPUT, NONE);
1110		PIN_SLP(gpf0-2, INPUT, DOWN);
1111		PIN_SLP(gpf0-3, INPUT, DOWN);
1112		PIN_SLP(gpf0-4, INPUT, NONE);
1113		PIN_SLP(gpf0-5, INPUT, DOWN);
1114		PIN_SLP(gpf0-6, INPUT, NONE);
1115		PIN_SLP(gpf0-7, INPUT, DOWN);
1116
1117		PIN_SLP(gpf1-0, INPUT, DOWN);
1118		PIN_SLP(gpf1-1, INPUT, DOWN);
1119		PIN_SLP(gpf1-2, INPUT, DOWN);
1120		PIN_SLP(gpf1-3, INPUT, DOWN);
1121		PIN_SLP(gpf1-4, INPUT, NONE);
1122		PIN_SLP(gpf1-5, INPUT, NONE);
1123		PIN_SLP(gpf1-6, INPUT, DOWN);
1124		PIN_SLP(gpf1-7, PREV, NONE);
1125
1126		PIN_SLP(gpf2-0, PREV, NONE);
1127		PIN_SLP(gpf2-1, INPUT, DOWN);
1128		PIN_SLP(gpf2-2, INPUT, DOWN);
1129		PIN_SLP(gpf2-3, INPUT, DOWN);
1130		PIN_SLP(gpf2-4, INPUT, DOWN);
1131		PIN_SLP(gpf2-5, INPUT, DOWN);
1132		PIN_SLP(gpf2-6, INPUT, NONE);
1133		PIN_SLP(gpf2-7, INPUT, NONE);
1134
1135		PIN_SLP(gpf3-0, INPUT, NONE);
1136		PIN_SLP(gpf3-1, PREV, NONE);
1137		PIN_SLP(gpf3-2, PREV, NONE);
1138		PIN_SLP(gpf3-3, PREV, NONE);
1139		PIN_SLP(gpf3-4, OUT1, NONE);
1140		PIN_SLP(gpf3-5, INPUT, DOWN);
1141
1142		PIN_SLP(gpj0-0, PREV, NONE);
1143		PIN_SLP(gpj0-1, PREV, NONE);
1144		PIN_SLP(gpj0-2, PREV, NONE);
1145		PIN_SLP(gpj0-3, INPUT, DOWN);
1146		PIN_SLP(gpj0-4, PREV, NONE);
1147		PIN_SLP(gpj0-5, PREV, NONE);
1148		PIN_SLP(gpj0-6, INPUT, DOWN);
1149		PIN_SLP(gpj0-7, INPUT, DOWN);
1150
1151		PIN_SLP(gpj1-0, INPUT, DOWN);
1152		PIN_SLP(gpj1-1, PREV, NONE);
1153		PIN_SLP(gpj1-2, PREV, NONE);
1154		PIN_SLP(gpj1-3, INPUT, DOWN);
1155		PIN_SLP(gpj1-4, INPUT, DOWN);
1156	};
1157};
1158
1159&pinctrl_1 {
1160	pinctrl-names = "default";
1161	pinctrl-0 = <&sleep1>;
1162
1163	gpio_keys: gpio-keys-pins {
1164		samsung,pins = "gpx0-1", "gpx2-2", "gpx2-7", "gpx3-3";
1165		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
1166	};
1167
1168	bt_shutdown: bt-shutdown-pins {
1169		samsung,pins = "gpl0-6";
1170		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
1171	};
1172
1173	bt_host_wakeup: bt-host-wakeup-pins {
1174		samsung,pins = "gpx2-6";
1175		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
1176	};
1177
1178	bt_device_wakeup: bt-device-wakeup-pins {
1179		samsung,pins = "gpx3-1";
1180		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
1181	};
1182
1183	max77686_irq: max77686-irq-pins {
1184		samsung,pins = "gpx0-7";
1185		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
1186	};
1187
1188	max77693_irq: max77693-irq-pins {
1189		samsung,pins = "gpx1-5";
1190		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
1191	};
1192
1193	max77693_fuel_irq: max77693-fuel-irq-pins {
1194		samsung,pins = "gpx2-3";
1195		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
1196	};
1197
1198	sdhci2_cd: sdhci2-cd-irq-pins {
1199		samsung,pins = "gpx3-4";
1200		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
1201	};
1202
1203	hdmi_hpd: hdmi-hpd-pins {
1204		samsung,pins = "gpx3-7";
1205		samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
1206	};
1207
1208	sleep1: sleep-state {
1209		PIN_SLP(gpk0-0, PREV, NONE);
1210		PIN_SLP(gpk0-1, PREV, NONE);
1211		PIN_SLP(gpk0-2, OUT0, NONE);
1212		PIN_SLP(gpk0-3, PREV, NONE);
1213		PIN_SLP(gpk0-4, PREV, NONE);
1214		PIN_SLP(gpk0-5, PREV, NONE);
1215		PIN_SLP(gpk0-6, PREV, NONE);
1216
1217		PIN_SLP(gpk1-0, INPUT, DOWN);
1218		PIN_SLP(gpk1-1, INPUT, DOWN);
1219		PIN_SLP(gpk1-2, INPUT, DOWN);
1220		PIN_SLP(gpk1-3, PREV, NONE);
1221		PIN_SLP(gpk1-4, PREV, NONE);
1222		PIN_SLP(gpk1-5, PREV, NONE);
1223		PIN_SLP(gpk1-6, PREV, NONE);
1224
1225		PIN_SLP(gpk2-0, INPUT, DOWN);
1226		PIN_SLP(gpk2-1, INPUT, DOWN);
1227		PIN_SLP(gpk2-2, INPUT, DOWN);
1228		PIN_SLP(gpk2-3, INPUT, DOWN);
1229		PIN_SLP(gpk2-4, INPUT, DOWN);
1230		PIN_SLP(gpk2-5, INPUT, DOWN);
1231		PIN_SLP(gpk2-6, INPUT, DOWN);
1232
1233		PIN_SLP(gpk3-0, OUT0, NONE);
1234		PIN_SLP(gpk3-1, INPUT, NONE);
1235		PIN_SLP(gpk3-2, INPUT, DOWN);
1236		PIN_SLP(gpk3-3, INPUT, NONE);
1237		PIN_SLP(gpk3-4, INPUT, NONE);
1238		PIN_SLP(gpk3-5, INPUT, NONE);
1239		PIN_SLP(gpk3-6, INPUT, NONE);
1240
1241		PIN_SLP(gpl0-0, INPUT, DOWN);
1242		PIN_SLP(gpl0-1, INPUT, DOWN);
1243		PIN_SLP(gpl0-2, INPUT, DOWN);
1244		PIN_SLP(gpl0-3, INPUT, DOWN);
1245		PIN_SLP(gpl0-4, PREV, NONE);
1246		PIN_SLP(gpl0-6, PREV, NONE);
1247
1248		PIN_SLP(gpl1-0, INPUT, DOWN);
1249		PIN_SLP(gpl1-1, INPUT, DOWN);
1250		PIN_SLP(gpl2-0, INPUT, DOWN);
1251		PIN_SLP(gpl2-1, INPUT, DOWN);
1252		PIN_SLP(gpl2-2, INPUT, DOWN);
1253		PIN_SLP(gpl2-3, INPUT, DOWN);
1254		PIN_SLP(gpl2-4, INPUT, DOWN);
1255		PIN_SLP(gpl2-5, INPUT, DOWN);
1256		PIN_SLP(gpl2-6, PREV, NONE);
1257		PIN_SLP(gpl2-7, INPUT, DOWN);
1258
1259		PIN_SLP(gpm0-0, INPUT, DOWN);
1260		PIN_SLP(gpm0-1, INPUT, DOWN);
1261		PIN_SLP(gpm0-2, INPUT, DOWN);
1262		PIN_SLP(gpm0-3, INPUT, DOWN);
1263		PIN_SLP(gpm0-4, INPUT, DOWN);
1264		PIN_SLP(gpm0-5, INPUT, DOWN);
1265		PIN_SLP(gpm0-6, INPUT, DOWN);
1266		PIN_SLP(gpm0-7, INPUT, DOWN);
1267
1268		PIN_SLP(gpm1-0, INPUT, DOWN);
1269		PIN_SLP(gpm1-1, INPUT, DOWN);
1270		PIN_SLP(gpm1-2, INPUT, NONE);
1271		PIN_SLP(gpm1-3, INPUT, NONE);
1272		PIN_SLP(gpm1-4, INPUT, NONE);
1273		PIN_SLP(gpm1-5, INPUT, NONE);
1274		PIN_SLP(gpm1-6, INPUT, DOWN);
1275
1276		PIN_SLP(gpm2-0, INPUT, NONE);
1277		PIN_SLP(gpm2-1, INPUT, NONE);
1278		PIN_SLP(gpm2-2, INPUT, DOWN);
1279		PIN_SLP(gpm2-3, INPUT, DOWN);
1280		PIN_SLP(gpm2-4, INPUT, DOWN);
1281
1282		PIN_SLP(gpm3-0, PREV, NONE);
1283		PIN_SLP(gpm3-1, PREV, NONE);
1284		PIN_SLP(gpm3-2, PREV, NONE);
1285		PIN_SLP(gpm3-3, OUT1, NONE);
1286		PIN_SLP(gpm3-4, INPUT, DOWN);
1287		PIN_SLP(gpm3-5, INPUT, DOWN);
1288		PIN_SLP(gpm3-6, INPUT, DOWN);
1289		PIN_SLP(gpm3-7, INPUT, DOWN);
1290
1291		PIN_SLP(gpm4-0, INPUT, DOWN);
1292		PIN_SLP(gpm4-1, INPUT, DOWN);
1293		PIN_SLP(gpm4-2, INPUT, DOWN);
1294		PIN_SLP(gpm4-3, INPUT, DOWN);
1295		PIN_SLP(gpm4-4, INPUT, DOWN);
1296		PIN_SLP(gpm4-5, INPUT, DOWN);
1297		PIN_SLP(gpm4-6, INPUT, DOWN);
1298		PIN_SLP(gpm4-7, INPUT, DOWN);
1299
1300		PIN_SLP(gpy0-0, INPUT, DOWN);
1301		PIN_SLP(gpy0-1, INPUT, DOWN);
1302		PIN_SLP(gpy0-2, INPUT, DOWN);
1303		PIN_SLP(gpy0-3, INPUT, DOWN);
1304		PIN_SLP(gpy0-4, INPUT, DOWN);
1305		PIN_SLP(gpy0-5, INPUT, DOWN);
1306
1307		PIN_SLP(gpy1-0, INPUT, DOWN);
1308		PIN_SLP(gpy1-1, INPUT, DOWN);
1309		PIN_SLP(gpy1-2, INPUT, DOWN);
1310		PIN_SLP(gpy1-3, INPUT, DOWN);
1311
1312		PIN_SLP(gpy2-0, PREV, NONE);
1313		PIN_SLP(gpy2-1, INPUT, DOWN);
1314		PIN_SLP(gpy2-2, INPUT, NONE);
1315		PIN_SLP(gpy2-3, INPUT, NONE);
1316		PIN_SLP(gpy2-4, INPUT, NONE);
1317		PIN_SLP(gpy2-5, INPUT, NONE);
1318
1319		PIN_SLP(gpy3-0, INPUT, DOWN);
1320		PIN_SLP(gpy3-1, INPUT, DOWN);
1321		PIN_SLP(gpy3-2, INPUT, DOWN);
1322		PIN_SLP(gpy3-3, INPUT, DOWN);
1323		PIN_SLP(gpy3-4, INPUT, DOWN);
1324		PIN_SLP(gpy3-5, INPUT, DOWN);
1325		PIN_SLP(gpy3-6, INPUT, DOWN);
1326		PIN_SLP(gpy3-7, INPUT, DOWN);
1327
1328		PIN_SLP(gpy4-0, INPUT, DOWN);
1329		PIN_SLP(gpy4-1, INPUT, DOWN);
1330		PIN_SLP(gpy4-2, INPUT, DOWN);
1331		PIN_SLP(gpy4-3, INPUT, DOWN);
1332		PIN_SLP(gpy4-4, INPUT, DOWN);
1333		PIN_SLP(gpy4-5, INPUT, DOWN);
1334		PIN_SLP(gpy4-6, INPUT, DOWN);
1335		PIN_SLP(gpy4-7, INPUT, DOWN);
1336
1337		PIN_SLP(gpy5-0, INPUT, DOWN);
1338		PIN_SLP(gpy5-1, INPUT, DOWN);
1339		PIN_SLP(gpy5-2, INPUT, DOWN);
1340		PIN_SLP(gpy5-3, INPUT, DOWN);
1341		PIN_SLP(gpy5-4, INPUT, DOWN);
1342		PIN_SLP(gpy5-5, INPUT, DOWN);
1343		PIN_SLP(gpy5-6, INPUT, DOWN);
1344		PIN_SLP(gpy5-7, INPUT, DOWN);
1345
1346		PIN_SLP(gpy6-0, INPUT, DOWN);
1347		PIN_SLP(gpy6-1, INPUT, DOWN);
1348		PIN_SLP(gpy6-2, INPUT, DOWN);
1349		PIN_SLP(gpy6-3, INPUT, DOWN);
1350		PIN_SLP(gpy6-4, INPUT, DOWN);
1351		PIN_SLP(gpy6-5, INPUT, DOWN);
1352		PIN_SLP(gpy6-6, INPUT, DOWN);
1353		PIN_SLP(gpy6-7, INPUT, DOWN);
1354	};
1355};
1356
1357&pinctrl_2 {
1358	pinctrl-names = "default";
1359	pinctrl-0 = <&sleep2>;
1360
1361	sleep2: sleep-state {
1362		PIN_SLP(gpz-0, INPUT, DOWN);
1363		PIN_SLP(gpz-1, INPUT, DOWN);
1364		PIN_SLP(gpz-2, INPUT, DOWN);
1365		PIN_SLP(gpz-3, INPUT, DOWN);
1366		PIN_SLP(gpz-4, INPUT, DOWN);
1367		PIN_SLP(gpz-5, INPUT, DOWN);
1368		PIN_SLP(gpz-6, INPUT, DOWN);
1369	};
1370};
1371
1372&pinctrl_3 {
1373	pinctrl-names = "default";
1374	pinctrl-0 = <&sleep3>;
1375
1376	sleep3: sleep-state {
1377		PIN_SLP(gpv0-0, INPUT, DOWN);
1378		PIN_SLP(gpv0-1, INPUT, DOWN);
1379		PIN_SLP(gpv0-2, INPUT, DOWN);
1380		PIN_SLP(gpv0-3, INPUT, DOWN);
1381		PIN_SLP(gpv0-4, INPUT, DOWN);
1382		PIN_SLP(gpv0-5, INPUT, DOWN);
1383		PIN_SLP(gpv0-6, INPUT, DOWN);
1384		PIN_SLP(gpv0-7, INPUT, DOWN);
1385
1386		PIN_SLP(gpv1-0, INPUT, DOWN);
1387		PIN_SLP(gpv1-1, INPUT, DOWN);
1388		PIN_SLP(gpv1-2, INPUT, DOWN);
1389		PIN_SLP(gpv1-3, INPUT, DOWN);
1390		PIN_SLP(gpv1-4, INPUT, DOWN);
1391		PIN_SLP(gpv1-5, INPUT, DOWN);
1392		PIN_SLP(gpv1-6, INPUT, DOWN);
1393		PIN_SLP(gpv1-7, INPUT, DOWN);
1394
1395		PIN_SLP(gpv2-0, INPUT, DOWN);
1396		PIN_SLP(gpv2-1, INPUT, DOWN);
1397		PIN_SLP(gpv2-2, INPUT, DOWN);
1398		PIN_SLP(gpv2-3, INPUT, DOWN);
1399		PIN_SLP(gpv2-4, INPUT, DOWN);
1400		PIN_SLP(gpv2-5, INPUT, DOWN);
1401		PIN_SLP(gpv2-6, INPUT, DOWN);
1402		PIN_SLP(gpv2-7, INPUT, DOWN);
1403
1404		PIN_SLP(gpv3-0, INPUT, DOWN);
1405		PIN_SLP(gpv3-1, INPUT, DOWN);
1406		PIN_SLP(gpv3-2, INPUT, DOWN);
1407		PIN_SLP(gpv3-3, INPUT, DOWN);
1408		PIN_SLP(gpv3-4, INPUT, DOWN);
1409		PIN_SLP(gpv3-5, INPUT, DOWN);
1410		PIN_SLP(gpv3-6, INPUT, DOWN);
1411		PIN_SLP(gpv3-7, INPUT, DOWN);
1412
1413		PIN_SLP(gpv4-0, INPUT, DOWN);
1414	};
1415};
1416
1417&pwm {
1418	pinctrl-0 = <&pwm0_out>;
1419	pinctrl-names = "default";
1420	samsung,pwm-outputs = <0>;
1421	status = "okay";
1422};
1423
1424&rtc {
1425	status = "okay";
1426	clocks = <&clock CLK_RTC>, <&max77686 MAX77686_CLK_AP>;
1427	clock-names = "rtc", "rtc_src";
1428};
1429
1430&sdhci_2 {
1431	bus-width = <4>;
1432	cd-gpios = <&gpx3 4 GPIO_ACTIVE_LOW>;
1433	pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4 &sdhci2_cd>;
1434	pinctrl-names = "default";
1435	vmmc-supply = <&ldo21_reg>;
1436	status = "okay";
1437};
1438
1439&sdhci_3 {
1440	#address-cells = <1>;
1441	#size-cells = <0>;
1442	non-removable;
1443	bus-width = <4>;
1444
1445	mmc-pwrseq = <&wlan_pwrseq>;
1446	pinctrl-names = "default";
1447	pinctrl-0 = <&sd3_clk &sd3_cmd &sd3_bus4>;
1448	status = "okay";
1449
1450	brcmf: wifi@1 {
1451		reg = <1>;
1452		compatible = "brcm,bcm4329-fmac";
1453		interrupt-parent = <&gpx2>;
1454		interrupts = <5 IRQ_TYPE_NONE>;
1455		interrupt-names = "host-wake";
1456	};
1457};
1458
1459&serial_0 {
1460	pinctrl-0 = <&uart0_data &uart0_fctl>;
1461	pinctrl-names = "default";
1462	status = "okay";
1463
1464	bluetooth {
1465		compatible = "brcm,bcm4330-bt";
1466		pinctrl-0 = <&bt_shutdown &bt_device_wakeup &bt_host_wakeup>;
1467		pinctrl-names = "default";
1468		max-speed = <3000000>;
1469		shutdown-gpios = <&gpl0 6 GPIO_ACTIVE_HIGH>;
1470		device-wakeup-gpios = <&gpx3 1 GPIO_ACTIVE_HIGH>;
1471		host-wakeup-gpios = <&gpx2 6 GPIO_ACTIVE_HIGH>;
1472		clocks = <&max77686 MAX77686_CLK_PMIC>;
1473	};
1474};
1475
1476&serial_1 {
1477	status = "okay";
1478};
1479
1480&serial_2 {
1481	status = "okay";
1482};
1483
1484&serial_3 {
1485	status = "okay";
1486};
1487
1488&spi_1 {
1489	pinctrl-names = "default";
1490	pinctrl-0 = <&spi1_bus>;
1491	cs-gpios = <&gpb 5 GPIO_ACTIVE_HIGH>;
1492	status = "okay";
1493
1494	s5c73m3_spi: image-sensor@0 {
1495		compatible = "samsung,s5c73m3";
1496		spi-max-frequency = <50000000>;
1497		reg = <0>;
1498		controller-data {
1499			samsung,spi-feedback-delay = <2>;
1500		};
1501	};
1502};
1503
1504&tmu {
1505	vtmu-supply = <&ldo10_reg>;
1506	status = "okay";
1507};
1508