0001 // SPDX-License-Identifier: GPL-2.0
0002 /*
0003 * Samsung's Exynos4412 based Trats 2 board device tree source
0004 *
0005 * Copyright (c) 2013 Samsung Electronics Co., Ltd.
0006 * http://www.samsung.com
0007 *
0008 * Device tree source file for Samsung's Trats 2 board which is based on
0009 * Samsung's Exynos4412 SoC.
0010 */
0011
0012 /dts-v1/;
0013 #include "exynos4412.dtsi"
0014 #include "exynos4412-ppmu-common.dtsi"
0015
0016 #include <dt-bindings/gpio/gpio.h>
0017 #include <dt-bindings/input/input.h>
0018 #include <dt-bindings/interrupt-controller/irq.h>
0019 #include <dt-bindings/clock/maxim,max77686.h>
0020 #include "exynos-pinctrl.h"
0021
0022 / {
0023 compatible = "samsung,midas", "samsung,exynos4412", "samsung,exynos4";
0024
0025 aliases {
0026 i2c11 = &i2c_max77693;
0027 i2c12 = &i2c_max77693_fuel;
0028 };
0029
0030 chosen {
0031 stdout-path = &serial_2;
0032 };
0033
0034 firmware@204f000 {
0035 compatible = "samsung,secure-firmware";
0036 reg = <0x0204F000 0x1000>;
0037 };
0038
0039 fixed-rate-clocks {
0040 xxti {
0041 compatible = "samsung,clock-xxti";
0042 clock-frequency = <0>;
0043 };
0044
0045 xusbxti {
0046 compatible = "samsung,clock-xusbxti";
0047 clock-frequency = <24000000>;
0048 };
0049 };
0050
0051 cam_io_reg: voltage-regulator-1 {
0052 compatible = "regulator-fixed";
0053 regulator-name = "CAM_SENSOR_A";
0054 regulator-min-microvolt = <2800000>;
0055 regulator-max-microvolt = <2800000>;
0056 enable-active-high;
0057 status = "disabled";
0058 };
0059
0060 cam_af_reg: voltage-regulator-2 {
0061 compatible = "regulator-fixed";
0062 regulator-name = "CAM_AF";
0063 regulator-min-microvolt = <2800000>;
0064 regulator-max-microvolt = <2800000>;
0065 enable-active-high;
0066 status = "disabled";
0067 };
0068
0069 vsil12: voltage-regulator-3 {
0070 compatible = "regulator-fixed";
0071 regulator-name = "VSIL_1.2V";
0072 regulator-min-microvolt = <1200000>;
0073 regulator-max-microvolt = <1200000>;
0074 gpio = <&gpl0 4 GPIO_ACTIVE_HIGH>;
0075 enable-active-high;
0076 vin-supply = <&buck7_reg>;
0077 };
0078
0079 vcc33mhl: voltage-regulator-4 {
0080 compatible = "regulator-fixed";
0081 regulator-name = "VCC_3.3_MHL";
0082 regulator-min-microvolt = <3300000>;
0083 regulator-max-microvolt = <3300000>;
0084 gpio = <&gpl0 4 GPIO_ACTIVE_HIGH>;
0085 enable-active-high;
0086 };
0087
0088 vcc18mhl: voltage-regulator-5 {
0089 compatible = "regulator-fixed";
0090 regulator-name = "VCC_1.8_MHL";
0091 regulator-min-microvolt = <1800000>;
0092 regulator-max-microvolt = <1800000>;
0093 gpio = <&gpl0 4 GPIO_ACTIVE_HIGH>;
0094 enable-active-high;
0095 };
0096
0097 touchkey_reg: voltage-regulator-6 {
0098 compatible = "regulator-fixed";
0099 regulator-name = "LED_VDD_3.3V";
0100 regulator-min-microvolt = <3300000>;
0101 regulator-max-microvolt = <3300000>;
0102 enable-active-high;
0103 status = "disabled";
0104 };
0105
0106 vbatt_reg: voltage-regulator-7 {
0107 compatible = "regulator-fixed";
0108 regulator-name = "VBATT";
0109 regulator-min-microvolt = <5000000>;
0110 regulator-max-microvolt = <5000000>;
0111 regulator-always-on;
0112 };
0113
0114 mic_bias_reg: voltage-regulator-8 {
0115 compatible = "regulator-fixed";
0116 regulator-name = "MICBIAS_LDO_2.8V";
0117 regulator-min-microvolt = <2800000>;
0118 regulator-max-microvolt = <2800000>;
0119 gpio = <&gpf1 7 GPIO_ACTIVE_HIGH>;
0120 enable-active-high;
0121 };
0122
0123 submic_bias_reg: voltage-regulator-9 {
0124 compatible = "regulator-fixed";
0125 regulator-name = "SUB_MICBIAS_LDO_2.8V";
0126 regulator-min-microvolt = <2800000>;
0127 regulator-max-microvolt = <2800000>;
0128 };
0129
0130 gpio-keys {
0131 compatible = "gpio-keys";
0132 pinctrl-names = "default";
0133 pinctrl-0 = <&gpio_keys>;
0134
0135 key-down {
0136 gpios = <&gpx3 3 GPIO_ACTIVE_LOW>;
0137 linux,code = <114>;
0138 label = "volume down";
0139 debounce-interval = <10>;
0140 };
0141
0142 key-up {
0143 gpios = <&gpx2 2 GPIO_ACTIVE_LOW>;
0144 linux,code = <115>;
0145 label = "volume up";
0146 debounce-interval = <10>;
0147 };
0148
0149 key-power {
0150 gpios = <&gpx2 7 GPIO_ACTIVE_LOW>;
0151 linux,code = <116>;
0152 label = "power";
0153 debounce-interval = <10>;
0154 wakeup-source;
0155 };
0156
0157 key-ok {
0158 gpios = <&gpx0 1 GPIO_ACTIVE_LOW>;
0159 linux,code = <139>;
0160 label = "ok";
0161 debounce-interval = <10>;
0162 wakeup-source;
0163 };
0164 };
0165
0166 i2c_max77693: i2c-gpio-1 {
0167 compatible = "i2c-gpio";
0168 sda-gpios = <&gpm2 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
0169 scl-gpios = <&gpm2 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
0170 i2c-gpio,delay-us = <2>;
0171 #address-cells = <1>;
0172 #size-cells = <0>;
0173
0174 pmic@66 {
0175 compatible = "maxim,max77693";
0176 interrupt-parent = <&gpx1>;
0177 interrupts = <5 IRQ_TYPE_LEVEL_LOW>;
0178 pinctrl-names = "default";
0179 pinctrl-0 = <&max77693_irq>;
0180 reg = <0x66>;
0181
0182 regulators {
0183 esafeout1_reg: ESAFEOUT1 {
0184 regulator-name = "ESAFEOUT1";
0185 };
0186 esafeout2_reg: ESAFEOUT2 {
0187 regulator-name = "ESAFEOUT2";
0188 };
0189 charger_reg: CHARGER {
0190 regulator-name = "CHARGER";
0191 regulator-min-microamp = <60000>;
0192 regulator-max-microamp = <2580000>;
0193 };
0194 };
0195
0196 motor-driver {
0197 compatible = "maxim,max77693-haptic";
0198 haptic-supply = <&ldo26_reg>;
0199 pwms = <&pwm 0 38022 0>;
0200 };
0201
0202 charger {
0203 compatible = "maxim,max77693-charger";
0204
0205 maxim,constant-microvolt = <4350000>;
0206 maxim,min-system-microvolt = <3600000>;
0207 maxim,thermal-regulation-celsius = <100>;
0208 maxim,battery-overcurrent-microamp = <3500000>;
0209 maxim,charge-input-threshold-microvolt = <4300000>;
0210 };
0211 };
0212 };
0213
0214 i2c_max77693_fuel: i2c-gpio-3 {
0215 compatible = "i2c-gpio";
0216 sda-gpios = <&gpf1 5 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
0217 scl-gpios = <&gpf1 4 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
0218 i2c-gpio,delay-us = <2>;
0219 #address-cells = <1>;
0220 #size-cells = <0>;
0221
0222 fuel-gauge@36 {
0223 compatible = "maxim,max17047";
0224 interrupt-parent = <&gpx2>;
0225 interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
0226 pinctrl-names = "default";
0227 pinctrl-0 = <&max77693_fuel_irq>;
0228 reg = <0x36>;
0229
0230 maxim,over-heat-temp = <700>;
0231 maxim,over-volt = <4500>;
0232 };
0233 };
0234
0235 i2c-gpio-4 {
0236 compatible = "i2c-gpio";
0237 sda-gpios = <&gpl0 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
0238 scl-gpios = <&gpl0 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
0239 i2c-gpio,delay-us = <2>;
0240 #address-cells = <1>;
0241 #size-cells = <0>;
0242
0243 touchkey@20 {
0244 compatible = "cypress,midas-touchkey";
0245 reg = <0x20>;
0246 vdd-supply = <&touchkey_reg>;
0247 vcc-supply = <&ldo5_reg>;
0248 interrupt-parent = <&gpj0>;
0249 interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
0250 linux,keycodes = <KEY_BACK KEY_MENU>;
0251 };
0252 };
0253
0254 i2c-mhl {
0255 compatible = "i2c-gpio";
0256 sda-gpios = <&gpf0 4 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
0257 scl-gpios = <&gpf0 6 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
0258 i2c-gpio,delay-us = <100>;
0259 #address-cells = <1>;
0260 #size-cells = <0>;
0261
0262 pinctrl-0 = <&i2c_mhl_bus>;
0263 pinctrl-names = "default";
0264
0265 sii9234: hdmi-bridge@39 {
0266 compatible = "sil,sii9234";
0267 avcc33-supply = <&vcc33mhl>;
0268 iovcc18-supply = <&vcc18mhl>;
0269 avcc12-supply = <&vsil12>;
0270 cvcc12-supply = <&vsil12>;
0271 reset-gpios = <&gpf3 4 GPIO_ACTIVE_LOW>;
0272 interrupt-parent = <&gpf3>;
0273 interrupts = <5 IRQ_TYPE_LEVEL_HIGH>;
0274 reg = <0x39>;
0275
0276 port {
0277 mhl_to_hdmi: endpoint {
0278 remote-endpoint = <&hdmi_to_mhl>;
0279 };
0280 };
0281 };
0282 };
0283
0284 wlan_pwrseq: sdhci3-pwrseq {
0285 compatible = "mmc-pwrseq-simple";
0286 reset-gpios = <&gpj0 0 GPIO_ACTIVE_LOW>;
0287 clocks = <&max77686 MAX77686_CLK_PMIC>;
0288 clock-names = "ext_clock";
0289 };
0290
0291 sound: sound {
0292 compatible = "samsung,midas-audio";
0293 model = "Midas";
0294 mic-bias-supply = <&mic_bias_reg>;
0295 submic-bias-supply = <&submic_bias_reg>;
0296
0297 cpu {
0298 sound-dai = <&i2s0 0>;
0299 };
0300 codec {
0301 sound-dai = <&wm1811>;
0302 };
0303 };
0304
0305 thermistor-ap {
0306 compatible = "murata,ncp15wb473";
0307 pullup-uv = <1800000>; /* VCC_1.8V_AP */
0308 pullup-ohm = <100000>; /* 100K */
0309 pulldown-ohm = <100000>; /* 100K */
0310 io-channels = <&adc 1>; /* AP temperature */
0311 };
0312
0313 thermistor-battery {
0314 compatible = "murata,ncp15wb473";
0315 pullup-uv = <1800000>; /* VCC_1.8V_AP */
0316 pullup-ohm = <100000>; /* 100K */
0317 pulldown-ohm = <100000>; /* 100K */
0318 io-channels = <&adc 2>; /* Battery temperature */
0319 };
0320 };
0321
0322 &adc {
0323 vdd-supply = <&ldo3_reg>;
0324 status = "okay";
0325 };
0326
0327 &bus_dmc {
0328 devfreq-events = <&ppmu_dmc0_3>, <&ppmu_dmc1_3>;
0329 vdd-supply = <&buck1_reg>;
0330 status = "okay";
0331 };
0332
0333 &bus_acp {
0334 devfreq = <&bus_dmc>;
0335 status = "okay";
0336 };
0337
0338 &bus_c2c {
0339 devfreq = <&bus_dmc>;
0340 status = "okay";
0341 };
0342
0343 &bus_leftbus {
0344 devfreq-events = <&ppmu_leftbus_3>, <&ppmu_rightbus_3>;
0345 vdd-supply = <&buck3_reg>;
0346 status = "okay";
0347 };
0348
0349 &bus_rightbus {
0350 devfreq = <&bus_leftbus>;
0351 status = "okay";
0352 };
0353
0354 &bus_display {
0355 devfreq = <&bus_leftbus>;
0356 status = "okay";
0357 };
0358
0359 &bus_fsys {
0360 devfreq = <&bus_leftbus>;
0361 status = "okay";
0362 };
0363
0364 &bus_peri {
0365 devfreq = <&bus_leftbus>;
0366 status = "okay";
0367 };
0368
0369 &bus_mfc {
0370 devfreq = <&bus_leftbus>;
0371 status = "okay";
0372 };
0373
0374 &camera {
0375 pinctrl-0 = <&cam_port_a_clk_active &cam_port_b_clk_active>;
0376 pinctrl-names = "default";
0377 status = "okay";
0378 assigned-clocks = <&clock CLK_MOUT_CAM0>,
0379 <&clock CLK_MOUT_CAM1>;
0380 assigned-clock-parents = <&clock CLK_XUSBXTI>,
0381 <&clock CLK_XUSBXTI>;
0382 };
0383
0384 &cpu0 {
0385 cpu0-supply = <&buck2_reg>;
0386 };
0387
0388 &cpu_thermal {
0389 cooling-maps {
0390 map0 {
0391 /* Corresponds to 800MHz at freq_table */
0392 cooling-device = <&cpu0 7 7>, <&cpu1 7 7>,
0393 <&cpu2 7 7>, <&cpu3 7 7>;
0394 };
0395 map1 {
0396 /* Corresponds to 200MHz at freq_table */
0397 cooling-device = <&cpu0 13 13>, <&cpu1 13 13>,
0398 <&cpu2 13 13>, <&cpu3 13 13>;
0399 };
0400 };
0401 };
0402
0403 &csis_0 {
0404 status = "okay";
0405 vddcore-supply = <&ldo8_reg>;
0406 vddio-supply = <&ldo10_reg>;
0407 assigned-clocks = <&clock CLK_MOUT_CSIS0>,
0408 <&clock CLK_SCLK_CSIS0>;
0409 assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
0410 assigned-clock-rates = <0>, <176000000>;
0411
0412 /* Camera C (3) MIPI CSI-2 (CSIS0) */
0413 port@3 {
0414 reg = <3>;
0415 csis0_ep: endpoint {
0416 remote-endpoint = <&s5c73m3_ep>;
0417 data-lanes = <1 2 3 4>;
0418 samsung,csis-hs-settle = <12>;
0419 };
0420 };
0421 };
0422
0423 &csis_1 {
0424 status = "okay";
0425 vddcore-supply = <&ldo8_reg>;
0426 vddio-supply = <&ldo10_reg>;
0427 assigned-clocks = <&clock CLK_MOUT_CSIS1>,
0428 <&clock CLK_SCLK_CSIS1>;
0429 assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
0430 assigned-clock-rates = <0>, <176000000>;
0431
0432 /* Camera D (4) MIPI CSI-2 (CSIS1) */
0433 port@4 {
0434 reg = <4>;
0435 csis1_ep: endpoint {
0436 remote-endpoint = <&is_s5k6a3_ep>;
0437 data-lanes = <1>;
0438 samsung,csis-hs-settle = <18>;
0439 samsung,csis-wclk;
0440 };
0441 };
0442 };
0443
0444 &dsi_0 {
0445 vddcore-supply = <&ldo8_reg>;
0446 vddio-supply = <&ldo10_reg>;
0447 samsung,burst-clock-frequency = <500000000>;
0448 samsung,esc-clock-frequency = <20000000>;
0449 samsung,pll-clock-frequency = <24000000>;
0450 };
0451
0452 &exynos_usbphy {
0453 vbus-supply = <&esafeout1_reg>;
0454 status = "okay";
0455 };
0456
0457 &fimc_0 {
0458 status = "okay";
0459 assigned-clocks = <&clock CLK_MOUT_FIMC0>,
0460 <&clock CLK_SCLK_FIMC0>;
0461 assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
0462 assigned-clock-rates = <0>, <176000000>;
0463 };
0464
0465 &fimc_1 {
0466 status = "okay";
0467 assigned-clocks = <&clock CLK_MOUT_FIMC1>,
0468 <&clock CLK_SCLK_FIMC1>;
0469 assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
0470 assigned-clock-rates = <0>, <176000000>;
0471 };
0472
0473 &fimc_2 {
0474 status = "okay";
0475 assigned-clocks = <&clock CLK_MOUT_FIMC2>,
0476 <&clock CLK_SCLK_FIMC2>;
0477 assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
0478 assigned-clock-rates = <0>, <176000000>;
0479 };
0480
0481 &fimc_3 {
0482 status = "okay";
0483 assigned-clocks = <&clock CLK_MOUT_FIMC3>,
0484 <&clock CLK_SCLK_FIMC3>;
0485 assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
0486 assigned-clock-rates = <0>, <176000000>;
0487 };
0488
0489 &fimc_is {
0490 pinctrl-0 = <&fimc_is_uart>;
0491 pinctrl-names = "default";
0492 status = "okay";
0493
0494 };
0495
0496 &fimc_lite_0 {
0497 status = "okay";
0498 };
0499
0500 &fimc_lite_1 {
0501 status = "okay";
0502 };
0503
0504 &fimd {
0505 status = "okay";
0506 };
0507
0508 &gpu {
0509 mali-supply = <&buck4_reg>;
0510 status = "okay";
0511 };
0512
0513 &hdmi {
0514 hpd-gpios = <&gpx3 7 GPIO_ACTIVE_HIGH>;
0515 pinctrl-names = "default";
0516 pinctrl-0 = <&hdmi_hpd>;
0517 vdd-supply = <&ldo3_reg>;
0518 vdd_osc-supply = <&ldo4_reg>;
0519 vdd_pll-supply = <&ldo3_reg>;
0520 ddc = <&i2c_5>;
0521 status = "okay";
0522
0523 ports {
0524 #address-cells = <1>;
0525 #size-cells = <0>;
0526
0527 port@1 {
0528 reg = <1>;
0529 hdmi_to_mhl: endpoint {
0530 remote-endpoint = <&mhl_to_hdmi>;
0531 };
0532 };
0533 };
0534 };
0535
0536 &hsotg {
0537 vusb_d-supply = <&ldo15_reg>;
0538 vusb_a-supply = <&ldo12_reg>;
0539 dr_mode = "peripheral";
0540 status = "okay";
0541 };
0542
0543 &i2c_0 {
0544 samsung,i2c-sda-delay = <100>;
0545 samsung,i2c-slave-addr = <0x10>;
0546 samsung,i2c-max-bus-freq = <400000>;
0547 pinctrl-0 = <&i2c0_bus>;
0548 pinctrl-names = "default";
0549 status = "okay";
0550
0551 s5c73m3: image-sensor@3c {
0552 compatible = "samsung,s5c73m3";
0553 reg = <0x3c>;
0554 xshutdown-gpios = <&gpf1 3 GPIO_ACTIVE_LOW>; /* ISP_RESET */
0555 vdd-int-supply = <&buck9_reg>;
0556 vddio-cis-supply = <&ldo9_reg>;
0557 vddio-host-supply = <&ldo18_reg>;
0558 vdd-af-supply = <&cam_af_reg>;
0559 vdd-reg-supply = <&cam_io_reg>;
0560 clock-frequency = <24000000>;
0561 /* CAM_A_CLKOUT */
0562 clocks = <&camera 0>;
0563 clock-names = "cis_extclk";
0564 status = "disabled";
0565 port {
0566 s5c73m3_ep: endpoint {
0567 remote-endpoint = <&csis0_ep>;
0568 data-lanes = <1 2 3 4>;
0569 };
0570 };
0571 };
0572 };
0573
0574 &i2c1_isp {
0575 pinctrl-0 = <&fimc_is_i2c1>;
0576 pinctrl-names = "default";
0577
0578 image-sensor@10 {
0579 compatible = "samsung,s5k6a3";
0580 reg = <0x10>;
0581 svdda-supply = <&cam_io_reg>;
0582 svddio-supply = <&ldo19_reg>;
0583 afvdd-supply = <&ldo19_reg>;
0584 clock-frequency = <24000000>;
0585 /* CAM_B_CLKOUT */
0586 clocks = <&camera 1>;
0587 clock-names = "extclk";
0588 samsung,camclk-out = <1>;
0589 gpios = <&gpm1 6 GPIO_ACTIVE_HIGH>;
0590
0591 port {
0592 is_s5k6a3_ep: endpoint {
0593 remote-endpoint = <&csis1_ep>;
0594 data-lanes = <1>;
0595 };
0596 };
0597 };
0598 };
0599
0600 &i2c_3 {
0601 samsung,i2c-sda-delay = <100>;
0602 samsung,i2c-slave-addr = <0x10>;
0603 samsung,i2c-max-bus-freq = <400000>;
0604 pinctrl-0 = <&i2c3_bus>;
0605 pinctrl-names = "default";
0606 status = "okay";
0607 };
0608
0609 &i2c_4 {
0610 samsung,i2c-sda-delay = <100>;
0611 samsung,i2c-slave-addr = <0x10>;
0612 samsung,i2c-max-bus-freq = <100000>;
0613 pinctrl-0 = <&i2c4_bus>;
0614 pinctrl-names = "default";
0615 status = "okay";
0616
0617 wm1811: audio-codec@1a {
0618 compatible = "wlf,wm1811";
0619 reg = <0x1a>;
0620 clocks = <&pmu_system_controller 0>,
0621 <&max77686 MAX77686_CLK_PMIC>;
0622 clock-names = "MCLK1", "MCLK2";
0623 interrupt-controller;
0624 #interrupt-cells = <2>;
0625 interrupt-parent = <&gpx3>;
0626 interrupts = <6 IRQ_TYPE_LEVEL_HIGH>;
0627
0628 gpio-controller;
0629 #gpio-cells = <2>;
0630 #sound-dai-cells = <0>;
0631
0632 wlf,gpio-cfg = <0x3 0x0 0x0 0x0 0x0 0x0
0633 0x0 0x8000 0x0 0x0 0x0>;
0634 wlf,micbias-cfg = <0x2f 0x2b>;
0635
0636 wlf,lineout1-feedback;
0637 wlf,lineout1-se;
0638 wlf,lineout2-se;
0639 wlf,ldoena-always-driven;
0640
0641 AVDD2-supply = <&vbatt_reg>;
0642 DBVDD1-supply = <&ldo3_reg>;
0643 DBVDD2-supply = <&vbatt_reg>;
0644 DBVDD3-supply = <&vbatt_reg>;
0645 DCVDD-supply = <&ldo3_reg>;
0646 CPVDD-supply = <&vbatt_reg>;
0647 SPKVDD1-supply = <&vbatt_reg>;
0648 SPKVDD2-supply = <&vbatt_reg>;
0649 wlf,ldo1ena = <&gpj0 4 0>;
0650 wlf,ldo2ena = <&gpj0 4 0>;
0651 };
0652 };
0653
0654 &i2c_5 {
0655 status = "okay";
0656 };
0657
0658 &i2c_7 {
0659 samsung,i2c-sda-delay = <100>;
0660 samsung,i2c-slave-addr = <0x10>;
0661 samsung,i2c-max-bus-freq = <100000>;
0662 pinctrl-0 = <&i2c7_bus>;
0663 pinctrl-names = "default";
0664 status = "okay";
0665
0666 max77686: pmic@9 {
0667 compatible = "maxim,max77686";
0668 interrupt-parent = <&gpx0>;
0669 interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
0670 pinctrl-0 = <&max77686_irq>;
0671 pinctrl-names = "default";
0672 wakeup-source;
0673 reg = <0x09>;
0674 #clock-cells = <1>;
0675
0676 voltage-regulators {
0677 ldo1_reg: LDO1 {
0678 regulator-name = "VALIVE_1.0V_AP";
0679 regulator-min-microvolt = <1000000>;
0680 regulator-max-microvolt = <1000000>;
0681 regulator-always-on;
0682 };
0683
0684 ldo2_reg: LDO2 {
0685 regulator-name = "VM1M2_1.2V_AP";
0686 regulator-min-microvolt = <1200000>;
0687 regulator-max-microvolt = <1200000>;
0688 regulator-always-on;
0689 regulator-state-mem {
0690 regulator-on-in-suspend;
0691 };
0692 };
0693
0694 ldo3_reg: LDO3 {
0695 regulator-name = "VCC_1.8V_AP";
0696 regulator-min-microvolt = <1800000>;
0697 regulator-max-microvolt = <1800000>;
0698 regulator-always-on;
0699 };
0700
0701 ldo4_reg: LDO4 {
0702 regulator-name = "VCC_2.8V_AP";
0703 regulator-min-microvolt = <2800000>;
0704 regulator-max-microvolt = <2800000>;
0705 regulator-always-on;
0706 };
0707
0708 ldo5_reg: LDO5 {
0709 regulator-name = "VCC_1.8V_IO";
0710 regulator-min-microvolt = <1800000>;
0711 regulator-max-microvolt = <1800000>;
0712 regulator-always-on;
0713 };
0714
0715 ldo6_reg: LDO6 {
0716 regulator-name = "VMPLL_1.0V_AP";
0717 regulator-min-microvolt = <1000000>;
0718 regulator-max-microvolt = <1000000>;
0719 regulator-always-on;
0720 regulator-state-mem {
0721 regulator-on-in-suspend;
0722 };
0723 };
0724
0725 ldo7_reg: LDO7 {
0726 regulator-name = "VPLL_1.0V_AP";
0727 regulator-min-microvolt = <1000000>;
0728 regulator-max-microvolt = <1000000>;
0729 regulator-always-on;
0730 regulator-state-mem {
0731 regulator-on-in-suspend;
0732 };
0733 };
0734
0735 ldo8_reg: LDO8 {
0736 regulator-name = "VMIPI_1.0V";
0737 regulator-min-microvolt = <1000000>;
0738 regulator-max-microvolt = <1000000>;
0739 regulator-state-mem {
0740 regulator-off-in-suspend;
0741 };
0742 };
0743
0744 ldo9_reg: LDO9 {
0745 regulator-name = "CAM_ISP_MIPI_1.2V";
0746 regulator-min-microvolt = <1200000>;
0747 regulator-max-microvolt = <1200000>;
0748 };
0749
0750 ldo10_reg: LDO10 {
0751 regulator-name = "VMIPI_1.8V";
0752 regulator-min-microvolt = <1800000>;
0753 regulator-max-microvolt = <1800000>;
0754 regulator-state-mem {
0755 regulator-off-in-suspend;
0756 };
0757 };
0758
0759 ldo11_reg: LDO11 {
0760 regulator-name = "VABB1_1.95V";
0761 regulator-min-microvolt = <1950000>;
0762 regulator-max-microvolt = <1950000>;
0763 regulator-always-on;
0764 regulator-state-mem {
0765 regulator-off-in-suspend;
0766 };
0767 };
0768
0769 ldo12_reg: LDO12 {
0770 regulator-name = "VUOTG_3.0V";
0771 regulator-min-microvolt = <3000000>;
0772 regulator-max-microvolt = <3000000>;
0773 regulator-state-mem {
0774 regulator-off-in-suspend;
0775 };
0776 };
0777
0778 ldo13_reg: LDO13 {
0779 regulator-name = "NFC_AVDD_1.8V";
0780 regulator-min-microvolt = <1800000>;
0781 regulator-max-microvolt = <1800000>;
0782 };
0783
0784 ldo14_reg: LDO14 {
0785 regulator-name = "VABB2_1.95V";
0786 regulator-min-microvolt = <1950000>;
0787 regulator-max-microvolt = <1950000>;
0788 regulator-always-on;
0789 regulator-state-mem {
0790 regulator-off-in-suspend;
0791 };
0792 };
0793
0794 ldo15_reg: LDO15 {
0795 regulator-name = "VHSIC_1.0V";
0796 regulator-min-microvolt = <1000000>;
0797 regulator-max-microvolt = <1000000>;
0798 regulator-state-mem {
0799 regulator-on-in-suspend;
0800 };
0801 };
0802
0803 ldo16_reg: LDO16 {
0804 regulator-name = "VHSIC_1.8V";
0805 regulator-min-microvolt = <1800000>;
0806 regulator-max-microvolt = <1800000>;
0807 regulator-state-mem {
0808 regulator-on-in-suspend;
0809 };
0810 };
0811
0812 ldo17_reg: LDO17 {
0813 regulator-name = "CAM_SENSOR_CORE_1.2V";
0814 regulator-min-microvolt = <1200000>;
0815 regulator-max-microvolt = <1200000>;
0816 };
0817
0818 ldo18_reg: LDO18 {
0819 regulator-name = "CAM_ISP_SEN_IO_1.8V";
0820 regulator-min-microvolt = <1800000>;
0821 regulator-max-microvolt = <1800000>;
0822 };
0823
0824 ldo19_reg: LDO19 {
0825 regulator-name = "VT_CAM_1.8V";
0826 regulator-min-microvolt = <1800000>;
0827 regulator-max-microvolt = <1800000>;
0828 };
0829
0830 ldo20_reg: LDO20 {
0831 regulator-name = "VDDQ_PRE_1.8V";
0832 regulator-min-microvolt = <1800000>;
0833 regulator-max-microvolt = <1800000>;
0834 };
0835
0836 ldo21_reg: LDO21 {
0837 regulator-name = "VTF_2.8V";
0838 regulator-min-microvolt = <2800000>;
0839 regulator-max-microvolt = <2800000>;
0840 maxim,ena-gpios = <&gpy2 0 GPIO_ACTIVE_HIGH>;
0841 };
0842
0843 ldo22_reg: LDO22 {
0844 regulator-name = "VMEM_VDD_2.8V";
0845 regulator-min-microvolt = <2800000>;
0846 regulator-max-microvolt = <2800000>;
0847 maxim,ena-gpios = <&gpk0 2 GPIO_ACTIVE_HIGH>;
0848 };
0849
0850 ldo23_reg: LDO23 {
0851 regulator-name = "TSP_AVDD_3.3V";
0852 regulator-min-microvolt = <3300000>;
0853 regulator-max-microvolt = <3300000>;
0854 };
0855
0856 ldo24_reg: LDO24 {
0857 regulator-name = "TSP_VDD_1.8V";
0858 regulator-min-microvolt = <1800000>;
0859 regulator-max-microvolt = <1800000>;
0860 };
0861
0862 ldo25_reg: LDO25 {
0863 regulator-name = "LDO25";
0864 };
0865
0866 ldo26_reg: LDO26 {
0867 regulator-name = "MOTOR_VCC_3.0V";
0868 regulator-min-microvolt = <3000000>;
0869 regulator-max-microvolt = <3000000>;
0870 };
0871
0872 buck1_reg: BUCK1 {
0873 regulator-name = "VDD_MIF";
0874 regulator-min-microvolt = <850000>;
0875 regulator-max-microvolt = <1100000>;
0876 regulator-always-on;
0877 regulator-boot-on;
0878 regulator-state-mem {
0879 regulator-off-in-suspend;
0880 };
0881 };
0882
0883 buck2_reg: BUCK2 {
0884 regulator-name = "VDD_ARM";
0885 regulator-min-microvolt = <850000>;
0886 regulator-max-microvolt = <1500000>;
0887 regulator-always-on;
0888 regulator-boot-on;
0889 regulator-state-mem {
0890 regulator-on-in-suspend;
0891 };
0892 };
0893
0894 buck3_reg: BUCK3 {
0895 regulator-name = "VDD_INT";
0896 regulator-min-microvolt = <850000>;
0897 regulator-max-microvolt = <1150000>;
0898 regulator-always-on;
0899 regulator-boot-on;
0900 regulator-state-mem {
0901 regulator-off-in-suspend;
0902 };
0903 };
0904
0905 buck4_reg: BUCK4 {
0906 regulator-name = "VDD_G3D";
0907 regulator-min-microvolt = <850000>;
0908 regulator-max-microvolt = <1150000>;
0909 regulator-boot-on;
0910 regulator-state-mem {
0911 regulator-off-in-suspend;
0912 };
0913 };
0914
0915 buck5_reg: BUCK5 {
0916 regulator-name = "VMEM_1.2V_AP";
0917 regulator-min-microvolt = <1200000>;
0918 regulator-max-microvolt = <1200000>;
0919 regulator-always-on;
0920 };
0921
0922 buck6_reg: BUCK6 {
0923 regulator-name = "VCC_SUB_1.35V";
0924 regulator-min-microvolt = <1350000>;
0925 regulator-max-microvolt = <1350000>;
0926 regulator-always-on;
0927 };
0928
0929 buck7_reg: BUCK7 {
0930 regulator-name = "VCC_SUB_2.0V";
0931 regulator-min-microvolt = <2000000>;
0932 regulator-max-microvolt = <2000000>;
0933 regulator-always-on;
0934 };
0935
0936 buck8_reg: BUCK8 {
0937 regulator-name = "VMEM_VDDF_3.0V";
0938 regulator-min-microvolt = <2850000>;
0939 regulator-max-microvolt = <2850000>;
0940 maxim,ena-gpios = <&gpk0 2 GPIO_ACTIVE_HIGH>;
0941 };
0942
0943 buck9_reg: BUCK9 {
0944 regulator-name = "CAM_ISP_CORE_1.2V";
0945 regulator-min-microvolt = <1000000>;
0946 regulator-max-microvolt = <1200000>;
0947 };
0948 };
0949 };
0950 };
0951
0952 &i2c_8 {
0953 status = "okay";
0954 };
0955
0956 &i2s0 {
0957 pinctrl-0 = <&i2s0_bus>;
0958 pinctrl-names = "default";
0959 status = "okay";
0960 };
0961
0962 &mixer {
0963 status = "okay";
0964 };
0965
0966 &mshc_0 {
0967 broken-cd;
0968 non-removable;
0969 card-detect-delay = <200>;
0970 vmmc-supply = <&ldo22_reg>;
0971 clock-frequency = <400000000>;
0972 samsung,dw-mshc-ciu-div = <0>;
0973 samsung,dw-mshc-sdr-timing = <2 3>;
0974 samsung,dw-mshc-ddr-timing = <1 2>;
0975 pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>;
0976 pinctrl-names = "default";
0977 status = "okay";
0978 bus-width = <8>;
0979 cap-mmc-highspeed;
0980 };
0981
0982 &pmu_system_controller {
0983 assigned-clocks = <&pmu_system_controller 0>;
0984 assigned-clock-parents = <&clock CLK_XUSBXTI>;
0985 };
0986
0987 &pinctrl_0 {
0988 pinctrl-names = "default";
0989 pinctrl-0 = <&sleep0>;
0990
0991 mhl_int: mhl-int-pins {
0992 samsung,pins = "gpf3-5";
0993 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
0994 };
0995
0996 i2c_mhl_bus: i2c-mhl-bus-pins {
0997 samsung,pins = "gpf0-4", "gpf0-6";
0998 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
0999 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 };