]> git.ipfire.org Git - thirdparty/u-boot.git/blob - src/arm/samsung/exynos4412-midas.dtsi
Squashed 'dts/upstream/' content from commit aaba2d45dc2a
[thirdparty/u-boot.git] / src / arm / samsung / exynos4412-midas.dtsi
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 };