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