Merge tag 'soc-drivers-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc
[linux-block.git] / arch / arm / boot / dts / samsung / exynos4212-tab3.dtsi
CommitLineData
ee37a457
AW
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Samsung's Exynos4212 based Galaxy Tab 3 board common source
4 *
5 * Copyright (c) 2013 Samsung Electronics Co., Ltd.
6 * http://www.samsung.com
7 */
8
9/dts-v1/;
10#include "exynos4212.dtsi"
11#include "exynos4412-ppmu-common.dtsi"
12#include "exynos-mfc-reserved-memory.dtsi"
13#include <dt-bindings/clock/samsung,s2mps11.h>
14#include <dt-bindings/gpio/gpio.h>
15#include <dt-bindings/leds/common.h>
16#include <dt-bindings/input/gpio-keys.h>
17#include <dt-bindings/input/input.h>
18#include <dt-bindings/interrupt-controller/irq.h>
19#include "exynos-pinctrl.h"
20
21/ {
22 compatible = "samsung,tab3", "samsung,exynos4212", "samsung,exynos4";
23
24 memory@40000000 {
25 device_type = "memory";
26
27 /*
28 * Technically 1.5GB is available, but the latter 512MB is handled
29 * in a special way by downstream (every second page is skipped),
30 * and thus doesn't initialize correctly on mainline. Only 1020M is
31 * used for now.
32 */
33 reg = <0x40000000 0x3fc00000>;
34 };
35
36 aliases {
37 mmc0 = &mshc_0; /* Internal storage */
38 mmc1 = &sdhci_2; /* SD card */
39 mmc2 = &sdhci_3; /* WiFi */
40 };
41
42 chosen {
43 stdout-path = &serial_2;
44
45 /* Default S-BOOT bootloader loads initramfs here */
46 linux,initrd-start = <0x42000000>;
47 linux,initrd-end = <0x42800000>;
48 };
49
50 firmware@204f000 {
51 compatible = "samsung,secure-firmware";
52 reg = <0x0204F000 0x1000>;
53 };
54
55 fixed-rate-clocks {
56 xxti {
57 compatible = "samsung,clock-xxti";
58 clock-frequency = <0>;
59 };
60
61 xusbxti {
62 compatible = "samsung,clock-xusbxti";
63 clock-frequency = <24000000>;
64 };
65 };
66
67 gpio-keys {
68 compatible = "gpio-keys";
69 pinctrl-names = "default";
70 pinctrl-0 = <&gpio_keys>;
71
72 key-power {
73 gpios = <&gpx2 7 GPIO_ACTIVE_LOW>;
74 linux,code = <KEY_POWER>;
75 label = "power";
76 debounce-interval = <10>;
77 wakeup-source;
78 };
79
80 key-up {
81 gpios = <&gpx2 2 GPIO_ACTIVE_LOW>;
82 linux,code = <KEY_VOLUMEUP>;
83 label = "volume down";
84 debounce-interval = <10>;
85 };
86
87 key-down {
88 gpios = <&gpx3 3 GPIO_ACTIVE_LOW>;
89 linux,code = <KEY_VOLUMEDOWN>;
90 label = "volume up";
91 debounce-interval = <10>;
92 };
93
94 key-home {
95 gpios = <&gpx1 2 GPIO_ACTIVE_LOW>;
96 linux,code = <KEY_HOME>;
97 label = "home";
98 debounce-interval = <10>;
99 };
100
101 switch-hall-sensor {
102 gpios = <&gpx2 4 GPIO_ACTIVE_LOW>;
103 linux,input-type = <EV_SW>;
104 linux,code = <SW_LID>;
105 linux,can-disable;
106 label = "hall effect sensor";
107 debounce-interval = <10>;
108 wakeup-source;
109 };
110 };
111
112 led-touchkeys {
113 compatible = "regulator-led";
114 vled-supply = <&ldo20_reg>;
115 default-state = "off";
116 function = LED_FUNCTION_KBD_BACKLIGHT;
117 color = <LED_COLOR_ID_WHITE>;
118 };
119
120 i2c_max77693: i2c-gpio-1 {
121 compatible = "i2c-gpio";
122 sda-gpios = <&gpm2 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
123 scl-gpios = <&gpm2 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
124 i2c-gpio,delay-us = <2>;
125 #address-cells = <1>;
126 #size-cells = <0>;
127
128 pmic@66 {
129 compatible = "maxim,max77693";
130 reg = <0x66>;
131 interrupt-parent = <&gpx1>;
132 interrupts = <5 IRQ_TYPE_EDGE_FALLING>;
133 pinctrl-names = "default";
134 pinctrl-0 = <&max77693_irq>;
135
136 regulators {
137 esafeout1_reg: ESAFEOUT1 {
138 regulator-name = "ESAFEOUT1";
139 regulator-boot-on;
140 };
141
142 esafeout2_reg: ESAFEOUT2 {
143 regulator-name = "ESAFEOUT2";
144 };
145
146 charger_reg: CHARGER {
147 regulator-name = "CHARGER";
148 regulator-min-microamp = <60000>;
149 regulator-max-microamp = <2580000>;
150 regulator-boot-on;
151 };
152 };
153
154 charger {
155 compatible = "maxim,max77693-charger";
156
157 maxim,constant-microvolt = <4350000>;
158 maxim,min-system-microvolt = <3600000>;
159 maxim,thermal-regulation-celsius = <100>;
160 maxim,battery-overcurrent-microamp = <3500000>;
161 maxim,charge-input-threshold-microvolt = <4300000>;
162 };
163 };
164 };
165
166 i2c_max77693_fuel: i2c-gpio-2 {
167 compatible = "i2c-gpio";
168 sda-gpios = <&gpy0 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
169 scl-gpios = <&gpy0 3 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
170 i2c-gpio,delay-us = <2>;
171 #address-cells = <1>;
172 #size-cells = <0>;
173
174 fuel-gauge@36 {
175 compatible = "maxim,max17050";
176 reg = <0x36>;
177 interrupt-parent = <&gpx2>;
178 interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
179 pinctrl-names = "default";
180 pinctrl-0 = <&max77693_fuel_irq>;
181
182 maxim,over-heat-temp = <500>;
183 maxim,over-volt = <4500>;
184 };
185 };
186
187 i2c_magnetometer: i2c-gpio-3 {
188 compatible = "i2c-gpio";
189 sda-gpios = <&gpy2 4 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
190 scl-gpios = <&gpy2 5 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
191 i2c-gpio,delay-us = <2>;
192 #address-cells = <1>;
193 #size-cells = <0>;
194
195 magnetometer@2e {
196 compatible = "yamaha,yas532";
197 reg = <0x2e>;
198 iovdd-supply = <&ldo3_reg>;
199 mount-matrix = "-1", "0", "0",
200 "0", "1", "0",
201 "0", "0", "-1";
202 };
203 };
204
205 i2c_lightsensor: i2c-gpio-4 {
206 compatible = "i2c-gpio";
207 sda-gpios = <&gpl0 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
208 scl-gpios = <&gpl0 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
209 i2c-gpio,delay-us = <2>;
210 #address-cells = <1>;
211 #size-cells = <0>;
212 status = "disabled";
213
214 /* WiFi model uses CM3323, 3G/LTE use CM36653 */
215 };
216
217 i2c_bl: i2c-gpio-5 {
218 compatible = "i2c-gpio";
219 sda-gpios = <&gpm4 3 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
220 scl-gpios = <&gpm4 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
221 #address-cells = <1>;
222 #size-cells = <0>;
223
224 backlight: backlight@2c {
225 compatible = "ti,lp8556";
226 reg = <0x2c>;
227
228 bl-name = "lcd-bl";
229 dev-ctrl = /bits/ 8 <0x80>;
230 init-brt = /bits/ 8 <0x78>; /* 120 */
231
232 power-supply = <&vbatt_reg>;
233 enable-supply = <&backlight_reset_supply>;
234
235 pwms = <&pwm 1 78770 0>;
236 pwm-names = "lp8556";
237
238 rom-a3h {
239 rom-addr = /bits/ 8 <0xa3>;
240 rom-val = /bits/ 8 <0x5e>;
241 };
242
243 rom-a5h {
244 rom-addr = /bits/ 8 <0xa5>;
245 rom-val = /bits/ 8 <0x34>;
246 };
247
248 rom-a7h {
249 rom-addr = /bits/ 8 <0xa7>;
250 rom-val = /bits/ 8 <0xfa>;
251 };
252 };
253 };
254
255 vbatt_reg: voltage-regulator-1 {
256 compatible = "regulator-fixed";
257 regulator-name = "VBATT";
258 regulator-min-microvolt = <5000000>;
259 regulator-max-microvolt = <5000000>;
260 regulator-always-on;
261 };
262
263 backlight_reset_supply: voltage-regulator-2 {
264 compatible = "regulator-fixed";
265 regulator-name = "BACKLIGHT_ENVDDIO";
266 pinctrl-names = "default";
267 pinctrl-0 = <&backlight_reset>;
268 gpio = <&gpm0 1 GPIO_ACTIVE_HIGH>;
269 enable-active-high;
270 };
271
272 display_3v3_supply: voltage-regulator-3 {
273 compatible = "regulator-fixed";
274 regulator-name = "DISPLAY_3.3V";
275 regulator-min-microvolt = <3300000>;
276 regulator-max-microvolt = <3300000>;
277 pinctrl-names = "default";
278 pinctrl-0 = <&lcd_en>;
279 gpio = <&gpc0 1 GPIO_ACTIVE_HIGH>; /* LCD_EN */
280 enable-active-high;
281 };
282
283 mic_bias_reg: voltage-regulator-4 {
284 compatible = "regulator-fixed";
285 regulator-name = "MICBIAS_LDO_2.8V";
286 regulator-min-microvolt = <2800000>;
287 regulator-max-microvolt = <2800000>;
288 };
289
290 submic_bias_reg: voltage-regulator-5 {
291 compatible = "regulator-fixed";
292 regulator-name = "SUB_MICBIAS_LDO_2.8V";
293 regulator-min-microvolt = <2800000>;
294 regulator-max-microvolt = <2800000>;
295 };
296
297 sound: sound {
298 compatible = "samsung,midas-audio";
299 model = "TAB3";
300 mic-bias-supply = <&mic_bias_reg>;
301 submic-bias-supply = <&submic_bias_reg>;
302
fc730f17
KK
303 audio-routing = "HP", "HPOUT1L",
304 "HP", "HPOUT1R",
ee37a457 305
fc730f17
KK
306 "SPK", "SPKOUTLN",
307 "SPK", "SPKOUTLP",
308 "SPK", "SPKOUTRN",
309 "SPK", "SPKOUTRP",
ee37a457 310
fc730f17
KK
311 "RCV", "HPOUT2N",
312 "RCV", "HPOUT2P",
ee37a457 313
fc730f17
KK
314 "LINE", "LINEOUT2N",
315 "LINE", "LINEOUT2P",
ee37a457 316
fc730f17
KK
317 "HDMI", "LINEOUT1N",
318 "HDMI", "LINEOUT1P",
ee37a457 319
fc730f17
KK
320 "IN2LP:VXRN", "MICBIAS1",
321 "IN2LN", "MICBIAS1",
322 "Main Mic", "MICBIAS1",
ee37a457 323
fc730f17
KK
324 "IN1RP", "MICBIAS2",
325 "IN1RN", "MICBIAS2",
326 "Sub Mic", "MICBIAS2",
ee37a457 327
fc730f17
KK
328 "IN1LP", "Headset Mic",
329 "IN1LN", "Headset Mic";
ee37a457
AW
330
331 cpu {
332 sound-dai = <&i2s0 0>;
333 };
334
335 codec {
336 sound-dai = <&wm1811>;
337 };
338 };
339
340 wlan_pwrseq: sdhci3-pwrseq {
341 compatible = "mmc-pwrseq-simple";
342 reset-gpios = <&gpm3 5 GPIO_ACTIVE_LOW>;
343 clocks = <&s5m8767_osc S2MPS11_CLK_BT>;
344 clock-names = "ext_clock";
345 };
346};
347
348&bus_acp {
349 devfreq = <&bus_dmc>;
350 status = "okay";
351};
352
353&bus_c2c {
354 devfreq = <&bus_dmc>;
355 status = "okay";
356};
357
358&bus_display {
359 devfreq = <&bus_leftbus>;
360 status = "okay";
361};
362
363&bus_dmc {
364 devfreq-events = <&ppmu_dmc0_3>, <&ppmu_dmc1_3>;
365 vdd-supply = <&buck1_reg>;
366 status = "okay";
367};
368
369&bus_fsys {
370 devfreq = <&bus_leftbus>;
371 status = "okay";
372};
373
374&bus_leftbus {
375 devfreq-events = <&ppmu_leftbus_3>, <&ppmu_rightbus_3>;
376 vdd-supply = <&buck3_reg>;
377 status = "okay";
378};
379
380&bus_mfc {
381 devfreq = <&bus_leftbus>;
382 status = "okay";
383};
384
385&bus_peri {
386 devfreq = <&bus_leftbus>;
387 status = "okay";
388};
389
390&bus_rightbus {
391 devfreq = <&bus_leftbus>;
392 status = "okay";
393};
394
395&cpu0 {
396 cpu0-supply = <&buck2_reg>;
397};
398
399&cpu_thermal {
400 cooling-maps {
401 map0 {
402 /* Corresponds to 800MHz at freq_table */
403 cooling-device = <&cpu0 7 7>, <&cpu1 7 7>;
404 };
405 map1 {
406 /* Corresponds to 200MHz at freq_table */
407 cooling-device = <&cpu0 13 13>, <&cpu1 13 13>;
408 };
409 };
410};
411
412&dsi_0 {
413 vddcore-supply = <&ldo8_reg>;
414 vddio-supply = <&ldo10_reg>;
415 samsung,burst-clock-frequency = <500000000>;
416 samsung,esc-clock-frequency = <20000000>;
417 samsung,pll-clock-frequency = <24000000>;
418 status = "okay";
419
420 panel@0 {
421 compatible = "samsung,lsl080al02", "samsung,s6d7aa0";
422 reg = <0>;
423 power-supply = <&display_3v3_supply>;
424 pinctrl-names = "default";
425 pinctrl-0 = <&lcd_nrst>;
426 reset-gpios = <&gpf0 4 GPIO_ACTIVE_LOW>;
427 backlight = <&backlight>;
428 };
429};
430
431&exynos_usbphy {
432 vbus-supply = <&esafeout1_reg>;
433 status = "okay";
434};
435
436&fimd {
eab4f56d 437 samsung,invert-vclk;
ee37a457
AW
438 status = "okay";
439};
440
441&gpu {
442 mali-supply = <&buck4_reg>;
443 status = "okay";
444};
445
446&hsotg {
447 vusb_d-supply = <&ldo15_reg>;
448 vusb_a-supply = <&ldo12_reg>;
449 dr_mode = "otg";
450 status = "okay";
451};
452
453&i2c_1 {
454 pinctrl-0 = <&i2c1_bus>;
455 pinctrl-names = "default";
456 status = "okay";
457
458 lis3dh: accelerometer@19 {
459 /* K2DH seems to be the same as lis2dh12 in terms of registers */
460 compatible = "st,lis2dh12-accel";
461 reg = <0x19>;
462
463 interrupt-parent = <&gpx0>;
464 interrupts = <0 IRQ_TYPE_EDGE_FALLING>;
465
466 vdd-supply = <&ldo17_reg>;
467 vddio-supply = <&ldo3_reg>;
468
469 mount-matrix = "-1", "0", "0",
470 "0", "1", "0",
471 "0", "0", "-1";
472 };
473};
474
475&i2c_3 {
476 samsung,i2c-sda-delay = <100>;
477 samsung,i2c-slave-addr = <0x10>;
478 samsung,i2c-max-bus-freq = <400000>;
479 pinctrl-0 = <&i2c3_bus>;
480 pinctrl-names = "default";
481 status = "okay";
482
483 touchscreen@48 {
484 /* MELFAS MMS252, using MMS114 compatible for now */
485 compatible = "melfas,mms114";
486 reg = <0x48>;
487 interrupt-parent = <&gpb>;
488 interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
489 touchscreen-size-x = <800>;
490 touchscreen-size-y = <1280>;
491 avdd-supply = <&ldo21_reg>;
492 vdd-supply = <&ldo25_reg>;
493 linux,keycodes = <KEY_MENU KEY_BACK>;
494 };
495};
496
497&i2c_4 {
498 samsung,i2c-sda-delay = <100>;
499 samsung,i2c-slave-addr = <0x10>;
500 samsung,i2c-max-bus-freq = <100000>;
501 pinctrl-0 = <&i2c4_bus>;
502 pinctrl-names = "default";
503 status = "okay";
504
505 wm1811: audio-codec@1a {
506 compatible = "wlf,wm1811";
507 reg = <0x1a>;
508 clocks = <&pmu_system_controller 0>;
509 clock-names = "MCLK1";
510 interrupt-controller;
511 #interrupt-cells = <2>;
512 interrupt-parent = <&gpx3>;
513 interrupts = <6 IRQ_TYPE_LEVEL_HIGH>;
514
515 gpio-controller;
516 #gpio-cells = <2>;
517 #sound-dai-cells = <0>;
518
519 wlf,gpio-cfg = <0x3 0x0 0x0 0x0 0x0 0x0
520 0x0 0x8000 0x0 0x0 0x0>;
521 wlf,micbias-cfg = <0x25 0x2f>;
522
523 wlf,lineout1-feedback;
524 wlf,lineout1-se;
525 wlf,lineout2-se;
526 wlf,ldoena-always-driven;
527
528 AVDD2-supply = <&ldo3_reg>;
529 CPVDD-supply = <&ldo3_reg>;
530 DBVDD1-supply = <&ldo3_reg>;
531 DBVDD2-supply = <&ldo3_reg>;
532 DBVDD3-supply = <&ldo3_reg>;
533 SPKVDD1-supply = <&vbatt_reg>;
534 SPKVDD2-supply = <&vbatt_reg>;
535 wlf,ldo1ena-gpios = <&gpm4 4 GPIO_ACTIVE_HIGH>;
536 wlf,ldo2ena-gpios = <&gpm4 4 GPIO_ACTIVE_HIGH>;
537 };
538};
539
540&i2c_7 {
541 samsung,i2c-sda-delay = <100>;
542 samsung,i2c-slave-addr = <0x10>;
543 samsung,i2c-max-bus-freq = <100000>;
544 pinctrl-0 = <&i2c7_bus>;
545 pinctrl-names = "default";
546 status = "okay";
547
548 s5m8767: pmic@66 {
549 compatible = "samsung,s5m8767-pmic";
550 reg = <0x66>;
551 interrupt-parent = <&gpx0>;
552 interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
553 pinctrl-names = "default";
554 pinctrl-0 = <&s5m8767_irq &s5m8767_dvs &s5m8767_ds>;
555 wakeup-source;
556
557 s5m8767,pmic-buck-default-dvs-idx = <1>;
558
559 s5m8767,pmic-buck-dvs-gpios = <&gpm3 0 GPIO_ACTIVE_HIGH>,
560 <&gpm3 1 GPIO_ACTIVE_HIGH>,
561 <&gpm3 2 GPIO_ACTIVE_HIGH>;
562
563 s5m8767,pmic-buck-ds-gpios = <&gpf3 1 GPIO_ACTIVE_HIGH>,
564 <&gpf3 2 GPIO_ACTIVE_HIGH>,
565 <&gpf3 3 GPIO_ACTIVE_HIGH>;
566
567 s5m8767,pmic-buck2-dvs-voltage = <1100000>, <1100000>,
568 <1100000>, <1100000>,
569 <1100000>, <1100000>,
570 <1100000>, <1100000>;
571
572 s5m8767,pmic-buck3-dvs-voltage = <1100000>, <1100000>,
573 <1100000>, <1100000>,
574 <1100000>, <1100000>,
575 <1100000>, <1100000>;
576
577 s5m8767,pmic-buck4-dvs-voltage = <1100000>, <1100000>,
578 <1100000>, <1100000>,
579 <1100000>, <1100000>,
580 <1100000>, <1100000>;
581
582 regulators {
583 ldo1_reg: LDO1 {
584 regulator-name = "VALIVE_1.0V_AP";
585 regulator-min-microvolt = <1000000>;
586 regulator-max-microvolt = <1000000>;
587 regulator-always-on;
588 regulator-boot-on;
589 op_mode = <1>;
590 };
591
592 ldo2_reg: LDO2 {
593 regulator-name = "VM1M2_1.2V_AP";
594 regulator-min-microvolt = <1200000>;
595 regulator-max-microvolt = <1200000>;
596 regulator-always-on;
597 regulator-boot-on;
598 op_mode = <1>;
599 };
600
601 ldo3_reg: LDO3 {
602 regulator-name = "VCC_1.8V_AP";
603 regulator-min-microvolt = <1800000>;
604 regulator-max-microvolt = <1800000>;
605 regulator-always-on;
606 op_mode = <1>;
607 };
608
609 ldo5_reg: LDO5 {
610 regulator-name = "VCC_3.3V_MHL";
611 regulator-min-microvolt = <3300000>;
612 regulator-max-microvolt = <3300000>;
613 op_mode = <1>;
614 };
615
616 ldo8_reg: LDO8 {
617 regulator-name = "VMIPI_1.0V";
618 regulator-min-microvolt = <1000000>;
619 regulator-max-microvolt = <1000000>;
620 op_mode = <3>;
621 };
622
623 ldo9_reg: LDO9 {
624 regulator-name = "VSIL_1.2V";
625 regulator-min-microvolt = <1200000>;
626 regulator-max-microvolt = <1200000>;
627 op_mode = <1>;
628 };
629
630 ldo10_reg: LDO10 {
631 regulator-name = "VMIPI_1.8V";
632 regulator-min-microvolt = <1800000>;
633 regulator-max-microvolt = <1800000>;
634 op_mode = <3>;
635 };
636
637 ldo12_reg: LDO12 {
638 regulator-name = "VUOTG_3.0V";
639 regulator-min-microvolt = <3000000>;
640 regulator-max-microvolt = <3000000>;
641 op_mode = <1>;
642 regulator-state-mem {
643 regulator-off-in-suspend;
644 };
645 };
646
647 ldo13_reg: LDO13 {
648 regulator-name = "VCC_1.8V_MHL";
649 regulator-min-microvolt = <1800000>;
650 regulator-max-microvolt = <1800000>;
651 op_mode = <1>;
652 };
653
654 ldo15_reg: LDO15 {
655 regulator-name = "VHSIC_1.0V";
656 regulator-min-microvolt = <1000000>;
657 regulator-max-microvolt = <1000000>;
658 op_mode = <1>;
659 regulator-state-mem {
660 regulator-on-in-suspend;
661 };
662 };
663
664 ldo17_reg: LDO17 {
665 regulator-name = "VCC_2.8V_AP";
666 regulator-min-microvolt = <2800000>;
667 regulator-max-microvolt = <2800000>;
668 op_mode = <1>;
669 regulator-always-on;
670 };
671
672 ldo19_reg: LDO19 {
673 regulator-name = "VLED_IC_1.9V";
674 regulator-min-microvolt = <1900000>;
675 regulator-max-microvolt = <1900000>;
676 op_mode = <1>;
677 regulator-always-on;
678 };
679
680 ldo20_reg: LDO20 {
681 regulator-name = "VTOUCH_3.3V";
682 regulator-min-microvolt = <3300000>;
683 regulator-max-microvolt = <3300000>;
684 op_mode = <1>;
685 };
686
687 ldo21_reg: LDO21 {
688 regulator-name = "TSP_VDD_3.3V";
689 regulator-min-microvolt = <3300000>;
690 regulator-max-microvolt = <3300000>;
691 op_mode = <1>;
692 };
693
694 ldo22_reg: LDO22 {
695 regulator-name = "5M_AF_2.8V";
696 regulator-min-microvolt = <2800000>;
697 regulator-max-microvolt = <2800000>;
698 op_mode = <1>;
699 };
700
701 ldo23_reg: LDO23 {
702 regulator-name = "VTF_2.8V";
703 regulator-min-microvolt = <2800000>;
704 regulator-max-microvolt = <2800000>;
705 op_mode = <3>;
706 };
707
708 ldo24_reg: LDO24 {
709 regulator-name = "LEDA_2.8V";
710 regulator-min-microvolt = <2800000>;
711 regulator-max-microvolt = <2800000>;
712 op_mode = <1>;
713 };
714
715 ldo25_reg: LDO25 {
716 regulator-name = "TSP_VDD_1.8V";
717 regulator-min-microvolt = <1800000>;
718 regulator-max-microvolt = <1800000>;
719 op_mode = <1>;
720 };
721
722 ldo26_reg: LDO26 {
723 regulator-name = "CAM_IO_1.8V";
724 regulator-min-microvolt = <1800000>;
725 regulator-max-microvolt = <1800000>;
726 op_mode = <1>;
727 };
728
729 ldo27_reg: LDO27 {
730 regulator-name = "VTCAM_1.8V";
731 regulator-min-microvolt = <1800000>;
732 regulator-max-microvolt = <1800000>;
733 op_mode = <1>;
734 };
735
736 buck1_reg: BUCK1 {
737 regulator-name = "VDD_MIF";
738 regulator-min-microvolt = <850000>;
739 regulator-max-microvolt = <1100000>;
740 regulator-always-on;
741 regulator-boot-on;
742 op_mode = <3>;
743 };
744
745 buck2_reg: BUCK2 {
746 regulator-name = "VDD_ARM";
747 regulator-min-microvolt = <850000>;
748 regulator-max-microvolt = <1500000>;
749 regulator-always-on;
750 regulator-boot-on;
751 op_mode = <3>;
752 };
753
754 buck3_reg: BUCK3 {
755 regulator-name = "VDD_INT";
756 regulator-min-microvolt = <850000>;
757 regulator-max-microvolt = <1300000>;
758 regulator-always-on;
759 regulator-boot-on;
760 op_mode = <3>;
761 };
762
763 buck4_reg: BUCK4 {
764 regulator-name = "VDD_G3D";
765 regulator-min-microvolt = <850000>;
766 regulator-max-microvolt = <1150000>;
767 regulator-boot-on;
768 op_mode = <3>;
769 };
770
771 buck5_reg: BUCK5 {
772 regulator-name = "VMEM_1.2V_AP";
773 regulator-min-microvolt = <1200000>;
774 regulator-max-microvolt = <1200000>;
775 regulator-always-on;
776 regulator-boot-on;
777 op_mode = <1>;
778 };
779
780 buck6_reg: BUCK6 {
781 regulator-name = "CAM_ISP_CORE_1.2V";
782 regulator-min-microvolt = <1200000>;
783 regulator-max-microvolt = <1200000>;
784 op_mode = <1>;
785
786 regulator-state-mem {
787 regulator-off-in-suspend;
788 };
789 };
790 };
791
792 s5m8767_osc: clocks {
793 compatible = "samsung,s5m8767-clk";
794 #clock-cells = <1>;
795 clock-output-names = "en32khz_ap",
796 "en32khz_cp",
797 "en32khz_bt";
798 };
799 };
800};
801
802&i2s0 {
803 pinctrl-0 = <&i2s0_bus>;
804 pinctrl-names = "default";
805 status = "okay";
806};
807
808&mshc_0 {
809 broken-cd;
810 non-removable;
811 card-detect-delay = <200>;
812 vmmc-supply = <&ldo22_reg>;
813 clock-frequency = <400000000>;
814 samsung,dw-mshc-ciu-div = <0>;
815 samsung,dw-mshc-sdr-timing = <2 3>;
816 samsung,dw-mshc-ddr-timing = <1 2>;
817 pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>;
818 pinctrl-names = "default";
819 bus-width = <8>;
820 cap-mmc-highspeed;
821 mmc-ddr-1_8v;
822 status = "okay";
823};
824
825&pinctrl_0 {
826 pinctrl-names = "default";
827 pinctrl-0 = <&sleep0>;
828
829 lcd_en: lcd-en-pins {
830 samsung,pins = "gpc0-1";
831 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
832 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
833 };
834
835 lcd_nrst: lcd-nrst-pins {
836 samsung,pins = "gpf0-4";
837 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
838 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
839 };
840
841 s5m8767_ds: s5m8767-ds-pins {
842 samsung,pins = "gpf3-1", "gpf3-2", "gpf3-3";
843 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
844 samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
845 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
846 };
847
848 sleep0: sleep-state {
849 PIN_SLP(gpa0-0, INPUT, NONE);
850 PIN_SLP(gpa0-1, OUT0, NONE);
851 PIN_SLP(gpa0-2, INPUT, NONE);
852 PIN_SLP(gpa0-3, INPUT, UP);
853 PIN_SLP(gpa0-4, INPUT, DOWN);
854 PIN_SLP(gpa0-5, INPUT, DOWN);
855 PIN_SLP(gpa0-6, INPUT, DOWN);
856 PIN_SLP(gpa0-7, INPUT, DOWN);
857
858 PIN_SLP(gpa1-0, INPUT, DOWN);
859 PIN_SLP(gpa1-1, INPUT, DOWN);
860 PIN_SLP(gpa1-2, INPUT, DOWN);
861 PIN_SLP(gpa1-3, INPUT, DOWN);
862 PIN_SLP(gpa1-4, INPUT, DOWN);
863 PIN_SLP(gpa1-5, INPUT, DOWN);
864
865 PIN_SLP(gpb-0, INPUT, NONE);
866 PIN_SLP(gpb-1, INPUT, NONE);
867 PIN_SLP(gpb-2, INPUT, NONE);
868 PIN_SLP(gpb-3, INPUT, NONE);
869 PIN_SLP(gpb-4, INPUT, DOWN);
870 PIN_SLP(gpb-5, INPUT, DOWN);
871 PIN_SLP(gpb-6, INPUT, DOWN);
872 PIN_SLP(gpb-7, INPUT, DOWN);
873
874 PIN_SLP(gpc0-0, INPUT, DOWN);
875 PIN_SLP(gpc0-1, INPUT, DOWN);
876 PIN_SLP(gpc0-2, INPUT, NONE);
877 PIN_SLP(gpc0-3, INPUT, NONE);
878 PIN_SLP(gpc0-4, INPUT, NONE);
879
880 PIN_SLP(gpc1-0, INPUT, DOWN);
881 PIN_SLP(gpc1-1, INPUT, DOWN);
882 PIN_SLP(gpc1-2, INPUT, DOWN);
883 PIN_SLP(gpc1-3, INPUT, DOWN);
884 PIN_SLP(gpc1-4, INPUT, DOWN);
885
886 PIN_SLP(gpd0-0, INPUT, DOWN);
887 PIN_SLP(gpd0-1, OUT0, NONE);
888 PIN_SLP(gpd0-2, INPUT, NONE);
889 PIN_SLP(gpd0-3, INPUT, NONE);
890
891 PIN_SLP(gpd1-0, INPUT, DOWN);
892 PIN_SLP(gpd1-1, INPUT, DOWN);
893 PIN_SLP(gpd1-2, INPUT, NONE);
894 PIN_SLP(gpd1-3, INPUT, NONE);
895
896 PIN_SLP(gpf0-0, INPUT, DOWN);
897 PIN_SLP(gpf0-1, INPUT, DOWN);
898 PIN_SLP(gpf0-2, INPUT, DOWN);
899 PIN_SLP(gpf0-3, INPUT, DOWN);
900 PIN_SLP(gpf0-4, OUT0, NONE);
901 PIN_SLP(gpf0-5, OUT0, NONE);
902 PIN_SLP(gpf0-6, INPUT, DOWN);
903 PIN_SLP(gpf0-7, INPUT, DOWN);
904
905 PIN_SLP(gpf1-0, INPUT, DOWN);
906 PIN_SLP(gpf1-1, INPUT, DOWN);
907 PIN_SLP(gpf1-2, INPUT, DOWN);
908 PIN_SLP(gpf1-3, INPUT, DOWN);
909 PIN_SLP(gpf1-4, INPUT, DOWN);
910 PIN_SLP(gpf1-5, INPUT, DOWN);
911 PIN_SLP(gpf1-6, INPUT, DOWN);
912 PIN_SLP(gpf1-7, INPUT, DOWN);
913
914 PIN_SLP(gpf2-0, INPUT, DOWN);
915 PIN_SLP(gpf2-1, INPUT, DOWN);
916 PIN_SLP(gpf2-2, INPUT, DOWN);
917 PIN_SLP(gpf2-3, INPUT, DOWN);
918 PIN_SLP(gpf2-4, INPUT, DOWN);
919 PIN_SLP(gpf2-5, INPUT, DOWN);
920 PIN_SLP(gpf2-6, INPUT, DOWN);
921 PIN_SLP(gpf2-7, INPUT, DOWN);
922
923 PIN_SLP(gpf3-0, INPUT, DOWN);
924 PIN_SLP(gpf3-1, INPUT, DOWN);
925 PIN_SLP(gpf3-2, INPUT, DOWN);
926 PIN_SLP(gpf3-3, INPUT, DOWN);
927 PIN_SLP(gpf3-4, PREV, NONE);
928 PIN_SLP(gpf3-5, OUT0, DOWN);
929
930 PIN_SLP(gpj0-0, INPUT, DOWN);
931 PIN_SLP(gpj0-1, INPUT, DOWN);
932 PIN_SLP(gpj0-2, INPUT, DOWN);
933 PIN_SLP(gpj0-3, OUT0, NONE);
934 PIN_SLP(gpj0-4, INPUT, DOWN);
935 PIN_SLP(gpj0-5, INPUT, DOWN);
936 PIN_SLP(gpj0-6, OUT0, NONE);
937 PIN_SLP(gpj0-7, OUT0, NONE);
938
939 PIN_SLP(gpj1-0, OUT0, NONE);
940 PIN_SLP(gpj1-1, INPUT, DOWN);
941 PIN_SLP(gpj1-2, PREV, NONE);
942 PIN_SLP(gpj1-3, INPUT, DOWN);
943 PIN_SLP(gpj1-4, INPUT, DOWN);
944 };
945};
946
947&pinctrl_1 {
948 pinctrl-names = "default";
949 pinctrl-0 = <&sleep1>;
950
951 bt_shutdown: bt-shutdown-pins {
952 samsung,pins = "gpl0-6";
953 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
954 };
955
956 bt_host_wakeup: bt-host-wakeup-pins {
957 samsung,pins = "gpx2-6";
958 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
959 };
960
961 bt_device_wakeup: bt-device-wakeup-pins {
962 samsung,pins = "gpx3-1";
963 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
964 };
965
966 backlight_reset: backlight-reset-pins {
967 samsung,pins = "gpm0-1";
968 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
969 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
970 };
971
972 gpio_keys: gpio-keys-pins {
973 samsung,pins = "gpx1-2", "gpx2-2", "gpx2-4", "gpx2-7", "gpx3-3";
974 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
975 };
976
977 max77693_irq: max77693-irq-pins {
978 samsung,pins = "gpx1-5";
979 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
980 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
981 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
982 };
983
984 max77693_fuel_irq: max77693-fuel-irq-pins {
985 samsung,pins = "gpx2-3";
986 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
987 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
988 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
989 };
990
991 sdhci2_cd: sdhci2-cd-irq-pins {
992 samsung,pins = "gpx3-4";
993 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
994 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
995 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
996 };
997
998 s5m8767_dvs: s5m8767-dvs-pins {
999 samsung,pins = "gpm3-0", "gpm3-1", "gpm3-2";
1000 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
1001 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
1002 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
1003 };
1004
1005 s5m8767_irq: s5m8767-irq-pins {
1006 samsung,pins = "gpx0-7";
1007 samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>;
1008 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
1009 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
1010 };
1011
1012 sleep1: sleep-state {
1013 PIN_SLP(gpk0-0, PREV, NONE);
1014 PIN_SLP(gpk0-1, PREV, NONE);
1015 PIN_SLP(gpk0-2, PREV, NONE);
1016 PIN_SLP(gpk0-3, PREV, NONE);
1017 PIN_SLP(gpk0-4, PREV, NONE);
1018 PIN_SLP(gpk0-5, PREV, NONE);
1019 PIN_SLP(gpk0-6, PREV, NONE);
1020
1021 PIN_SLP(gpk1-0, INPUT, DOWN);
1022 PIN_SLP(gpk1-1, INPUT, DOWN);
1023 PIN_SLP(gpk1-2, INPUT, DOWN);
1024 PIN_SLP(gpk1-3, PREV, NONE);
1025 PIN_SLP(gpk1-4, PREV, NONE);
1026 PIN_SLP(gpk1-5, PREV, NONE);
1027 PIN_SLP(gpk1-6, PREV, NONE);
1028
1029 PIN_SLP(gpk2-0, INPUT, DOWN);
1030 PIN_SLP(gpk2-1, INPUT, DOWN);
1031 PIN_SLP(gpk2-2, INPUT, DOWN);
1032 PIN_SLP(gpk2-3, INPUT, DOWN);
1033 PIN_SLP(gpk2-4, INPUT, DOWN);
1034 PIN_SLP(gpk2-5, INPUT, DOWN);
1035 PIN_SLP(gpk2-6, INPUT, DOWN);
1036
1037 PIN_SLP(gpk3-0, OUT0, NONE);
1038 PIN_SLP(gpk3-1, INPUT, NONE);
1039 PIN_SLP(gpk3-2, INPUT, DOWN);
1040 PIN_SLP(gpk3-3, INPUT, NONE);
1041 PIN_SLP(gpk3-4, INPUT, NONE);
1042 PIN_SLP(gpk3-5, INPUT, NONE);
1043 PIN_SLP(gpk3-6, INPUT, NONE);
1044
1045 PIN_SLP(gpl0-0, INPUT, DOWN);
1046 PIN_SLP(gpl0-1, INPUT, NONE);
1047 PIN_SLP(gpl0-2, INPUT, NONE);
1048 PIN_SLP(gpl0-3, INPUT, DOWN);
1049 PIN_SLP(gpl0-4, INPUT, DOWN);
1050 PIN_SLP(gpl0-6, PREV, NONE);
1051
1052 PIN_SLP(gpl1-0, INPUT, DOWN);
1053 PIN_SLP(gpl1-1, OUT0, NONE);
1054 PIN_SLP(gpl2-0, INPUT, DOWN);
1055 PIN_SLP(gpl2-1, PREV, NONE);
1056 PIN_SLP(gpl2-2, PREV, NONE);
1057 PIN_SLP(gpl2-3, INPUT, DOWN);
1058 PIN_SLP(gpl2-4, INPUT, DOWN);
1059 PIN_SLP(gpl2-5, INPUT, DOWN);
1060 PIN_SLP(gpl2-6, INPUT, DOWN);
1061 PIN_SLP(gpl2-7, INPUT, DOWN);
1062
1063 PIN_SLP(gpm0-0, PREV, NONE);
1064 PIN_SLP(gpm0-1, OUT0, NONE);
1065 PIN_SLP(gpm0-2, INPUT, DOWN);
1066 PIN_SLP(gpm0-3, INPUT, DOWN);
1067 PIN_SLP(gpm0-4, INPUT, DOWN);
1068 PIN_SLP(gpm0-5, INPUT, DOWN);
1069 PIN_SLP(gpm0-6, INPUT, DOWN);
1070 PIN_SLP(gpm0-7, INPUT, DOWN);
1071
1072 PIN_SLP(gpm1-0, INPUT, DOWN);
1073 PIN_SLP(gpm1-1, INPUT, DOWN);
1074 PIN_SLP(gpm1-2, INPUT, NONE);
1075 PIN_SLP(gpm1-3, INPUT, NONE);
1076 PIN_SLP(gpm1-4, INPUT, NONE);
1077 PIN_SLP(gpm1-5, INPUT, NONE);
1078 PIN_SLP(gpm1-6, OUT0, NONE);
1079
1080 PIN_SLP(gpm2-0, INPUT, NONE);
1081 PIN_SLP(gpm2-1, INPUT, NONE);
1082 PIN_SLP(gpm2-2, OUT0, NONE);
1083 PIN_SLP(gpm2-3, INPUT, DOWN);
1084 PIN_SLP(gpm2-4, INPUT, DOWN);
1085
1086 PIN_SLP(gpm3-0, PREV, NONE);
1087 PIN_SLP(gpm3-1, PREV, NONE);
1088 PIN_SLP(gpm3-2, PREV, NONE);
1089 PIN_SLP(gpm3-3, INPUT, DOWN);
1090 PIN_SLP(gpm3-4, INPUT, DOWN);
1091 PIN_SLP(gpm3-5, PREV, NONE);
1092 PIN_SLP(gpm3-6, INPUT, DOWN);
1093 PIN_SLP(gpm3-7, OUT0, NONE);
1094
1095 PIN_SLP(gpm4-0, INPUT, DOWN);
1096 PIN_SLP(gpm4-1, INPUT, DOWN);
1097 PIN_SLP(gpm4-2, INPUT, DOWN);
1098 PIN_SLP(gpm4-3, INPUT, DOWN);
1099 PIN_SLP(gpm4-4, PREV, NONE);
1100 PIN_SLP(gpm4-5, INPUT, NONE);
1101 PIN_SLP(gpm4-6, INPUT, DOWN);
1102 PIN_SLP(gpm4-7, INPUT, DOWN);
1103
1104 PIN_SLP(gpy0-0, INPUT, DOWN);
1105 PIN_SLP(gpy0-1, INPUT, DOWN);
1106 PIN_SLP(gpy0-2, INPUT, NONE);
1107 PIN_SLP(gpy0-3, INPUT, NONE);
1108 PIN_SLP(gpy0-4, INPUT, DOWN);
1109 PIN_SLP(gpy0-5, INPUT, DOWN);
1110
1111 PIN_SLP(gpy1-0, INPUT, DOWN);
1112 PIN_SLP(gpy1-1, INPUT, DOWN);
1113 PIN_SLP(gpy1-2, INPUT, DOWN);
1114 PIN_SLP(gpy1-3, INPUT, DOWN);
1115
1116 PIN_SLP(gpy2-0, PREV, NONE);
1117 PIN_SLP(gpy2-1, INPUT, DOWN);
1118 PIN_SLP(gpy2-2, INPUT, NONE);
1119 PIN_SLP(gpy2-3, INPUT, NONE);
1120 PIN_SLP(gpy2-4, INPUT, NONE);
1121 PIN_SLP(gpy2-5, INPUT, NONE);
1122
1123 PIN_SLP(gpy3-0, INPUT, DOWN);
1124 PIN_SLP(gpy3-1, INPUT, DOWN);
1125 PIN_SLP(gpy3-2, INPUT, DOWN);
1126 PIN_SLP(gpy3-3, INPUT, DOWN);
1127 PIN_SLP(gpy3-4, INPUT, DOWN);
1128 PIN_SLP(gpy3-5, INPUT, DOWN);
1129 PIN_SLP(gpy3-6, INPUT, DOWN);
1130 PIN_SLP(gpy3-7, INPUT, DOWN);
1131
1132 PIN_SLP(gpy4-0, INPUT, DOWN);
1133 PIN_SLP(gpy4-1, INPUT, DOWN);
1134 PIN_SLP(gpy4-2, INPUT, DOWN);
1135 PIN_SLP(gpy4-3, INPUT, DOWN);
1136 PIN_SLP(gpy4-4, INPUT, DOWN);
1137 PIN_SLP(gpy4-5, INPUT, DOWN);
1138 PIN_SLP(gpy4-6, INPUT, DOWN);
1139 PIN_SLP(gpy4-7, INPUT, DOWN);
1140
1141 PIN_SLP(gpy5-0, INPUT, DOWN);
1142 PIN_SLP(gpy5-1, INPUT, DOWN);
1143 PIN_SLP(gpy5-2, INPUT, DOWN);
1144 PIN_SLP(gpy5-3, INPUT, DOWN);
1145 PIN_SLP(gpy5-4, INPUT, DOWN);
1146 PIN_SLP(gpy5-5, INPUT, DOWN);
1147 PIN_SLP(gpy5-6, INPUT, DOWN);
1148 PIN_SLP(gpy5-7, INPUT, DOWN);
1149
1150 PIN_SLP(gpy6-0, INPUT, DOWN);
1151 PIN_SLP(gpy6-1, INPUT, DOWN);
1152 PIN_SLP(gpy6-2, INPUT, DOWN);
1153 PIN_SLP(gpy6-3, INPUT, DOWN);
1154 PIN_SLP(gpy6-4, INPUT, DOWN);
1155 PIN_SLP(gpy6-5, INPUT, DOWN);
1156 PIN_SLP(gpy6-6, INPUT, DOWN);
1157 PIN_SLP(gpy6-7, INPUT, DOWN);
1158 };
1159};
1160
1161&pinctrl_2 {
1162 pinctrl-names = "default";
1163 pinctrl-0 = <&sleep2>;
1164
1165 sleep2: sleep-state {
1166 PIN_SLP(gpz-0, INPUT, DOWN);
1167 PIN_SLP(gpz-1, INPUT, DOWN);
1168 PIN_SLP(gpz-2, INPUT, DOWN);
1169 PIN_SLP(gpz-3, INPUT, DOWN);
1170 PIN_SLP(gpz-4, INPUT, DOWN);
1171 PIN_SLP(gpz-5, INPUT, DOWN);
1172 PIN_SLP(gpz-6, INPUT, DOWN);
1173 };
1174};
1175
1176&pinctrl_3 {
1177 pinctrl-names = "default";
1178 pinctrl-0 = <&sleep3>;
1179
1180 sleep3: sleep-state {
1181 PIN_SLP(gpv0-0, INPUT, DOWN);
1182 PIN_SLP(gpv0-1, INPUT, DOWN);
1183 PIN_SLP(gpv0-2, INPUT, DOWN);
1184 PIN_SLP(gpv0-3, INPUT, DOWN);
1185 PIN_SLP(gpv0-4, INPUT, DOWN);
1186 PIN_SLP(gpv0-5, INPUT, DOWN);
1187 PIN_SLP(gpv0-6, INPUT, DOWN);
1188 PIN_SLP(gpv0-7, INPUT, DOWN);
1189
1190 PIN_SLP(gpv1-0, INPUT, DOWN);
1191 PIN_SLP(gpv1-1, INPUT, DOWN);
1192 PIN_SLP(gpv1-2, INPUT, DOWN);
1193 PIN_SLP(gpv1-3, INPUT, DOWN);
1194 PIN_SLP(gpv1-4, INPUT, DOWN);
1195 PIN_SLP(gpv1-5, INPUT, DOWN);
1196 PIN_SLP(gpv1-6, INPUT, DOWN);
1197 PIN_SLP(gpv1-7, INPUT, DOWN);
1198
1199 PIN_SLP(gpv2-0, INPUT, DOWN);
1200 PIN_SLP(gpv2-1, INPUT, DOWN);
1201 PIN_SLP(gpv2-2, INPUT, DOWN);
1202 PIN_SLP(gpv2-3, INPUT, DOWN);
1203 PIN_SLP(gpv2-4, INPUT, DOWN);
1204 PIN_SLP(gpv2-5, INPUT, DOWN);
1205 PIN_SLP(gpv2-6, INPUT, DOWN);
1206 PIN_SLP(gpv2-7, INPUT, DOWN);
1207
1208 PIN_SLP(gpv3-0, INPUT, DOWN);
1209 PIN_SLP(gpv3-1, INPUT, DOWN);
1210 PIN_SLP(gpv3-2, INPUT, DOWN);
1211 PIN_SLP(gpv3-3, INPUT, DOWN);
1212 PIN_SLP(gpv3-4, INPUT, DOWN);
1213 PIN_SLP(gpv3-5, INPUT, DOWN);
1214 PIN_SLP(gpv3-6, INPUT, DOWN);
1215 PIN_SLP(gpv3-7, INPUT, DOWN);
1216
1217 PIN_SLP(gpv4-0, INPUT, DOWN);
1218 PIN_SLP(gpv4-1, INPUT, DOWN);
1219 };
1220};
1221
1222&pmu_system_controller {
1223 assigned-clocks = <&pmu_system_controller 0>;
1224 assigned-clock-parents = <&clock CLK_XUSBXTI>;
1225};
1226
1227&pwm {
1228 pinctrl-0 = <&pwm1_out>;
1229 pinctrl-names = "default";
1230 samsung,pwm-outputs = <1>;
1231 status = "okay";
1232};
1233
1234/*
1235 * The internal RTC does not work; instead, the RTC provided by the
1236 * S5M8766 PMIC is used. Disable the RTC to make sure the working
1237 * one gets used.
1238 *
1239 * We add this node to avoid DTB check warnings, as the Exynos4 RTC
1240 * requires two clocks, and only one is set up by default.
1241 */
1242&rtc {
1243 clocks = <&clock CLK_RTC>, <&s5m8767_osc S2MPS11_CLK_AP>;
1244 clock-names = "rtc", "rtc_src";
1245 status = "disabled";
1246};
1247
1248&sdhci_2 {
1249 bus-width = <4>;
1250 cd-gpios = <&gpx3 4 GPIO_ACTIVE_LOW>;
1251 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4 &sdhci2_cd>;
1252 pinctrl-names = "default";
1253 vmmc-supply = <&ldo23_reg>;
1254 status = "okay";
1255};
1256
1257&sdhci_3 {
1258 #address-cells = <1>;
1259 #size-cells = <0>;
1260 non-removable;
1261 bus-width = <4>;
1262
1263 mmc-pwrseq = <&wlan_pwrseq>;
1264 pinctrl-names = "default";
1265 pinctrl-0 = <&sd3_clk &sd3_cmd &sd3_bus4>;
1266 status = "okay";
1267
1268 brcmf: wifi@1 {
1269 compatible = "brcm,bcm4334-fmac", "brcm,bcm4329-fmac";
1270 reg = <1>;
1271
1272 interrupt-parent = <&gpx2>;
1273 interrupts = <5 IRQ_TYPE_LEVEL_HIGH>;
1274 interrupt-names = "host-wake";
1275 };
1276};
1277
1278&serial_0 {
1279 pinctrl-0 = <&uart0_data &uart0_fctl>;
1280 pinctrl-names = "default";
1281 status = "okay";
1282
1283 bluetooth {
1284 compatible = "brcm,bcm4330-bt"; /* BCM4334B0 */
1285 pinctrl-0 = <&bt_shutdown &bt_device_wakeup &bt_host_wakeup>;
1286 pinctrl-names = "default";
1287 max-speed = <3000000>;
1288 shutdown-gpios = <&gpl0 6 GPIO_ACTIVE_HIGH>;
1289 device-wakeup-gpios = <&gpx3 1 GPIO_ACTIVE_HIGH>;
1290 host-wakeup-gpios = <&gpx2 6 GPIO_ACTIVE_HIGH>;
1291 clocks = <&s5m8767_osc S2MPS11_CLK_BT>;
1292 };
1293};
1294
1295&serial_1 {
1296 status = "okay";
1297};
1298
1299&serial_2 {
1300 status = "okay";
1301};
1302
1303&serial_3 {
1304 status = "okay";
1305};
1306
1307&tmu {
1308 vtmu-supply = <&ldo10_reg>;
1309 status = "okay";
1310};