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