0001 // SPDX-License-Identifier: GPL-2.0
0002 /*
0003 * Samsung's Exynos4210 based Galaxy S2 (GT-I9100 version) device tree
0004 *
0005 * Copyright (c) 2012 Samsung Electronics Co., Ltd.
0006 * http://www.samsung.com
0007 * Copyright (c) 2020 Stenkin Evgeniy <stenkinevgeniy@gmail.com>
0008 * Copyright (c) 2020 Paul Cercueil <paul@crapouillou.net>
0009 */
0010
0011 /dts-v1/;
0012 #include "exynos4210.dtsi"
0013 #include "exynos4412-ppmu-common.dtsi"
0014
0015 #include <dt-bindings/gpio/gpio.h>
0016 #include <dt-bindings/input/linux-event-codes.h>
0017
0018 / {
0019 model = "Samsung Galaxy S2 (GT-I9100)";
0020 compatible = "samsung,i9100", "samsung,exynos4210", "samsung,exynos4";
0021 chassis-type = "handset";
0022
0023 memory@40000000 {
0024 device_type = "memory";
0025 reg = <0x40000000 0x40000000>;
0026 };
0027
0028 chosen {
0029 stdout-path = "serial2:115200n8";
0030 };
0031
0032 vemmc_reg: regulator-0 {
0033 compatible = "regulator-fixed";
0034 regulator-name = "VMEM_VDD_2.8V";
0035 regulator-min-microvolt = <2800000>;
0036 regulator-max-microvolt = <2800000>;
0037 gpio = <&gpk0 2 GPIO_ACTIVE_HIGH>;
0038 enable-active-high;
0039 };
0040
0041 tsp_reg: regulator-1 {
0042 compatible = "regulator-fixed";
0043 regulator-name = "TSP_FIXED_VOLTAGES";
0044 regulator-min-microvolt = <3300000>;
0045 regulator-max-microvolt = <3300000>;
0046 gpio = <&gpl0 3 GPIO_ACTIVE_HIGH>;
0047 startup-delay-us = <70000>;
0048 enable-active-high;
0049 regulator-boot-on;
0050 regulator-always-on;
0051 };
0052
0053 cam_af_28v_reg: regulator-2 {
0054 compatible = "regulator-fixed";
0055 regulator-name = "8M_AF_2.8V_EN";
0056 regulator-min-microvolt = <2800000>;
0057 regulator-max-microvolt = <2800000>;
0058 gpio = <&gpk1 1 GPIO_ACTIVE_HIGH>;
0059 enable-active-high;
0060 };
0061
0062 cam_io_en_reg: regulator-3 {
0063 compatible = "regulator-fixed";
0064 regulator-name = "CAM_IO_EN";
0065 regulator-min-microvolt = <2800000>;
0066 regulator-max-microvolt = <2800000>;
0067 gpio = <&gpe2 1 GPIO_ACTIVE_HIGH>;
0068 enable-active-high;
0069 };
0070
0071 cam_io_12v_reg: regulator-4 {
0072 compatible = "regulator-fixed";
0073 regulator-name = "8M_1.2V_EN";
0074 regulator-min-microvolt = <1200000>;
0075 regulator-max-microvolt = <1200000>;
0076 gpio = <&gpe2 5 GPIO_ACTIVE_HIGH>;
0077 enable-active-high;
0078 };
0079
0080 vt_core_15v_reg: regulator-5 {
0081 compatible = "regulator-fixed";
0082 regulator-name = "VT_CORE_1.5V";
0083 regulator-min-microvolt = <1500000>;
0084 regulator-max-microvolt = <1500000>;
0085 gpio = <&gpe2 2 GPIO_ACTIVE_HIGH>;
0086 enable-active-high;
0087 };
0088
0089 gpio-keys {
0090 compatible = "gpio-keys";
0091
0092 key-vol-down {
0093 gpios = <&gpx2 1 GPIO_ACTIVE_LOW>;
0094 linux,code = <KEY_VOLUMEDOWN>;
0095 label = "volume down";
0096 debounce-interval = <10>;
0097 };
0098
0099 key-vol-up {
0100 gpios = <&gpx2 0 GPIO_ACTIVE_LOW>;
0101 linux,code = <KEY_VOLUMEUP>;
0102 label = "volume up";
0103 debounce-interval = <10>;
0104 };
0105
0106 key-power {
0107 gpios = <&gpx2 7 GPIO_ACTIVE_LOW>;
0108 linux,code = <KEY_POWER>;
0109 label = "power";
0110 debounce-interval = <10>;
0111 wakeup-source;
0112 };
0113
0114 key-ok {
0115 gpios = <&gpx3 5 GPIO_ACTIVE_LOW>;
0116 linux,code = <KEY_OK>;
0117 label = "ok";
0118 debounce-interval = <10>;
0119 };
0120 };
0121
0122 wlan_pwrseq: sdhci3-pwrseq {
0123 compatible = "mmc-pwrseq-simple";
0124 reset-gpios = <&gpl1 2 GPIO_ACTIVE_LOW>;
0125 };
0126
0127 i2c_max17042_fuel: i2c-gpio-0 {
0128 compatible = "i2c-gpio";
0129 #address-cells = <1>;
0130 #size-cells = <0>;
0131
0132 sda-gpios = <&gpy4 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
0133 scl-gpios = <&gpy4 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
0134 i2c-gpio,delay-us = <5>;
0135
0136 battery@36 {
0137 compatible = "maxim,max17042";
0138
0139 interrupt-parent = <&gpx2>;
0140 interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
0141
0142 pinctrl-0 = <&max17042_fuel_irq>;
0143 pinctrl-names = "default";
0144
0145 reg = <0x36>;
0146 maxim,over-heat-temp = <700>;
0147 maxim,over-volt = <4500>;
0148 };
0149 };
0150
0151 i2c_s5k5baf: i2c-gpio-1 {
0152 compatible = "i2c-gpio";
0153 #address-cells = <1>;
0154 #size-cells = <0>;
0155
0156 sda-gpios = <&gpc1 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
0157 scl-gpios = <&gpc1 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
0158 i2c-gpio,delay-us = <2>;
0159
0160 image-sensor@2d {
0161 compatible = "samsung,s5k5baf";
0162 reg = <0x2d>;
0163 vdda-supply = <&cam_io_en_reg>;
0164 vddreg-supply = <&vt_core_15v_reg>;
0165 vddio-supply = <&vtcam_reg>;
0166 clocks = <&camera 0>;
0167 clock-names = "mclk";
0168 stbyn-gpios = <&gpl2 0 GPIO_ACTIVE_LOW>;
0169 rstn-gpios = <&gpl2 1 GPIO_ACTIVE_LOW>;
0170 clock-frequency = <24000000>;
0171
0172 port {
0173 s5k5bafx_ep: endpoint {
0174 remote-endpoint = <&csis1_ep>;
0175 data-lanes = <1>;
0176 };
0177 };
0178 };
0179 };
0180
0181 spi-3 {
0182 compatible = "spi-gpio";
0183 #address-cells = <1>;
0184 #size-cells = <0>;
0185
0186 num-chipselects = <1>;
0187 cs-gpios = <&gpy4 3 GPIO_ACTIVE_LOW>;
0188 sck-gpios = <&gpy3 1 GPIO_ACTIVE_HIGH>;
0189 mosi-gpios = <&gpy3 3 GPIO_ACTIVE_HIGH>;
0190
0191 lcd@0 {
0192 compatible = "samsung,ld9040";
0193 reg = <0>;
0194
0195 spi-max-frequency = <1200000>;
0196
0197 vdd3-supply = <&vmipi_reg>;
0198 vci-supply = <&vcclcd_reg>;
0199
0200 reset-gpios = <&gpy4 5 GPIO_ACTIVE_HIGH>;
0201 power-on-delay = <10>;
0202 reset-delay = <10>;
0203
0204 panel-width-mm = <90>;
0205 panel-height-mm = <154>;
0206
0207 display-timings {
0208 timing {
0209 clock-frequency = <23492370>;
0210 hactive = <480>;
0211 vactive = <800>;
0212 hback-porch = <16>;
0213 hfront-porch = <16>;
0214 vback-porch = <2>;
0215 vfront-porch = <28>;
0216 hsync-len = <2>;
0217 vsync-len = <1>;
0218 hsync-active = <0>;
0219 vsync-active = <0>;
0220 de-active = <0>;
0221 pixelclk-active = <0>;
0222 };
0223 };
0224
0225 port {
0226 lcd_ep: endpoint {
0227 remote-endpoint = <&fimd_dpi_ep>;
0228 };
0229 };
0230 };
0231 };
0232
0233 fixed-rate-clocks {
0234 xxti {
0235 compatible = "samsung,clock-xxti";
0236 clock-frequency = <0>;
0237 };
0238
0239 xusbxti {
0240 compatible = "samsung,clock-xusbxti";
0241 clock-frequency = <24000000>;
0242 };
0243
0244 pmic_ap_clk: pmic-ap-clk {
0245 /* Workaround for missing clock on max8997 PMIC */
0246 compatible = "fixed-clock";
0247 #clock-cells = <0>;
0248 clock-frequency = <32768>;
0249 };
0250 };
0251 };
0252
0253 &camera {
0254 pinctrl-0 = <&cam_port_a_clk_active>;
0255 pinctrl-names = "default";
0256 status = "okay";
0257 assigned-clocks = <&clock CLK_MOUT_CAM0>, <&clock CLK_MOUT_CAM1>;
0258 assigned-clock-parents = <&clock CLK_XUSBXTI>, <&clock CLK_XUSBXTI>;
0259 };
0260
0261 &csis_1 {
0262 status = "okay";
0263 vddcore-supply = <&vusb_reg>;
0264 vddio-supply = <&vmipi_reg>;
0265 clock-frequency = <160000000>;
0266 #address-cells = <1>;
0267 #size-cells = <0>;
0268
0269 port@4 {
0270 reg = <4>;
0271 csis1_ep: endpoint {
0272 remote-endpoint = <&s5k5bafx_ep>;
0273 data-lanes = <1>;
0274 samsung,csis-hs-settle = <6>;
0275 };
0276 };
0277 };
0278
0279 &cpu0 {
0280 cpu0-supply = <&varm_breg>;
0281 };
0282
0283 &cpu_thermal {
0284 cooling-maps {
0285 map0 {
0286 /* Corresponds to 800MHz */
0287 cooling-device = <&cpu0 2 2>;
0288 };
0289 map1 {
0290 /* Corresponds to 200MHz */
0291 cooling-device = <&cpu0 4 4>;
0292 };
0293 };
0294 };
0295
0296 &ehci {
0297 status = "okay";
0298
0299 phys = <&exynos_usbphy 1>;
0300 phy-names = "host";
0301 };
0302
0303 &exynos_usbphy {
0304 status = "okay";
0305
0306 vbus-supply = <&safe1_sreg>;
0307 };
0308
0309 &fimc_0 {
0310 status = "okay";
0311
0312 assigned-clocks = <&clock CLK_MOUT_FIMC0>, <&clock CLK_SCLK_FIMC0>;
0313 assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
0314 assigned-clock-rates = <0>, <160000000>;
0315 };
0316
0317 &fimc_1 {
0318 /* Back camera not implemented */
0319 status = "disabled";
0320
0321 assigned-clocks = <&clock CLK_MOUT_FIMC1>, <&clock CLK_SCLK_FIMC1>;
0322 assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
0323 assigned-clock-rates = <0>, <160000000>;
0324 };
0325
0326 &fimc_2 {
0327 status = "okay";
0328
0329 assigned-clocks = <&clock CLK_MOUT_FIMC2>, <&clock CLK_SCLK_FIMC2>;
0330 assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
0331 assigned-clock-rates = <0>, <160000000>;
0332 };
0333
0334 &fimc_3 {
0335 /* Back camera not implemented */
0336 status = "disabled";
0337
0338 assigned-clocks = <&clock CLK_MOUT_FIMC3>, <&clock CLK_SCLK_FIMC3>;
0339 assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
0340 assigned-clock-rates = <0>, <160000000>;
0341 };
0342
0343 &fimd {
0344 status = "okay";
0345 #address-cells = <1>;
0346 #size-cells = <0>;
0347
0348 samsung,invert-vden;
0349 samsung,invert-vclk;
0350
0351 pinctrl-0 = <&lcd_clk>, <&lcd_data24>;
0352 pinctrl-names = "default";
0353
0354 port@3 {
0355 reg = <3>;
0356
0357 fimd_dpi_ep: endpoint {
0358 remote-endpoint = <&lcd_ep>;
0359 };
0360 };
0361 };
0362
0363 &gpu {
0364 status = "okay";
0365
0366 mali-supply = <&vg3d_breg>;
0367 };
0368
0369 &hsotg {
0370 status = "okay";
0371
0372 dr_mode = "otg";
0373 vusb_d-supply = <&vusb_reg>;
0374 vusb_a-supply = <&vusbdac_reg>;
0375 };
0376
0377 &i2c_3 {
0378 status = "okay";
0379
0380 samsung,i2c-sda-delay = <100>;
0381 samsung,i2c-slave-addr = <0x10>;
0382 samsung,i2c-max-bus-freq = <100000>;
0383
0384 pinctrl-0 = <&i2c3_bus>;
0385 pinctrl-names = "default";
0386
0387 touchscreen@4a {
0388 compatible = "atmel,maxtouch";
0389 reg = <0x4a>;
0390
0391 interrupt-parent = <&gpx0>;
0392 interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
0393 };
0394 };
0395
0396 &i2c_5 {
0397 status = "okay";
0398
0399 samsung,i2c-sda-delay = <100>;
0400 samsung,i2c-slave-addr = <0x10>;
0401 samsung,i2c-max-bus-freq = <100000>;
0402
0403 pinctrl-0 = <&i2c5_bus>;
0404 pinctrl-names = "default";
0405
0406 pmic@66 {
0407 compatible = "maxim,max8997-pmic";
0408 reg = <0x66>;
0409
0410 interrupts-extended = <&gpx0 7 IRQ_TYPE_NONE>,
0411 <&gpx2 3 IRQ_TYPE_EDGE_FALLING>;
0412
0413 max8997,pmic-buck1-uses-gpio-dvs;
0414 max8997,pmic-buck2-uses-gpio-dvs;
0415 max8997,pmic-buck5-uses-gpio-dvs;
0416
0417 max8997,pmic-ignore-gpiodvs-side-effect;
0418 max8997,pmic-buck125-default-dvs-idx = <0>;
0419
0420 max8997,pmic-buck125-dvs-gpios = <&gpx0 5 GPIO_ACTIVE_HIGH>,
0421 <&gpx0 6 GPIO_ACTIVE_HIGH>,
0422 <&gpl0 0 GPIO_ACTIVE_HIGH>;
0423
0424 max8997,pmic-buck1-dvs-voltage = <1350000>, <1300000>,
0425 <1250000>, <1200000>,
0426 <1150000>, <1100000>,
0427 <1000000>, <950000>;
0428
0429 max8997,pmic-buck2-dvs-voltage = <1100000>, <1000000>,
0430 <950000>, <900000>,
0431 <1100000>, <1000000>,
0432 <950000>, <900000>;
0433
0434 max8997,pmic-buck5-dvs-voltage = <1200000>, <1200000>,
0435 <1200000>, <1200000>,
0436 <1200000>, <1200000>,
0437 <1200000>, <1200000>;
0438
0439 pinctrl-0 = <&max8997_irq>, <&otg_gp>, <&usb_sel>;
0440 pinctrl-names = "default";
0441
0442 charger-supply = <&charger_reg>;
0443
0444 regulators {
0445 vadc_reg: LDO1 {
0446 regulator-name = "VADC_3.3V_C210";
0447 regulator-min-microvolt = <3300000>;
0448 regulator-max-microvolt = <3300000>;
0449 regulator-always-on;
0450
0451 };
0452 valive_reg: LDO2 {
0453 regulator-name = "VALIVE_1.1V_C210";
0454 regulator-min-microvolt = <1100000>;
0455 regulator-max-microvolt = <1100000>;
0456 regulator-always-on;
0457
0458 };
0459
0460 vusb_reg: LDO3 {
0461 regulator-name = "VUSB_1.1V_C210";
0462 regulator-min-microvolt = <1100000>;
0463 regulator-max-microvolt = <1100000>;
0464 };
0465
0466 vmipi_reg: LDO4 {
0467 regulator-name = "VMIPI_1.8V";
0468 regulator-min-microvolt = <1800000>;
0469 regulator-max-microvolt = <1800000>;
0470 regulator-always-on;
0471 };
0472
0473 vhsic_reg: LDO5 {
0474 regulator-name = "VHSIC_1.2V";
0475 regulator-min-microvolt = <1200000>;
0476 regulator-max-microvolt = <1200000>;
0477 regulator-always-on;
0478 };
0479
0480 vpda_reg: LDO6 {
0481 regulator-name = "VCC_1.8V_PDA";
0482 regulator-min-microvolt = <1800000>;
0483 regulator-max-microvolt = <1800000>;
0484 regulator-always-on;
0485 };
0486
0487 vcam_reg: LDO7 {
0488 regulator-name = "CAM_ISP_1.8V";
0489 regulator-min-microvolt = <1800000>;
0490 regulator-max-microvolt = <1800000>;
0491 };
0492
0493 vusbdac_reg: LDO8 {
0494 regulator-name = "VUSB+VDAC_3.3V_C210";
0495 regulator-min-microvolt = <3300000>;
0496 regulator-max-microvolt = <3300000>;
0497 };
0498
0499 vccpda_reg: LDO9 {
0500 regulator-name = "VCC_2.8V_PDA";
0501 regulator-min-microvolt = <2800000>;
0502 regulator-max-microvolt = <2800000>;
0503 regulator-always-on;
0504 };
0505
0506 vtouch_reg: LDO11 {
0507 regulator-name = "TOUCH_2.8V";
0508 regulator-min-microvolt = <2800000>;
0509 regulator-max-microvolt = <2800000>;
0510 regulator-always-on;
0511 };
0512
0513 vpll_reg: LDO10 {
0514 regulator-name = "VPLL_1.1V";
0515 regulator-min-microvolt = <1100000>;
0516 regulator-max-microvolt = <1100000>;
0517 regulator-always-on;
0518 };
0519
0520 vtcam_reg: LDO12 {
0521 regulator-name = "VT_CAM_1.8V";
0522 regulator-min-microvolt = <1800000>;
0523 regulator-max-microvolt = <1800000>;
0524 };
0525
0526 vcclcd_reg: LDO13 {
0527 regulator-name = "VCC_3.0V_LCD";
0528 regulator-min-microvolt = <3000000>;
0529 regulator-max-microvolt = <3000000>;
0530 };
0531
0532 vmotor_reg: LDO14 {
0533 regulator-name = "VCC_2.8V_MOTOR";
0534 regulator-min-microvolt = <2800000>;
0535 regulator-max-microvolt = <2800000>;
0536 };
0537
0538 vled_reg: LDO15 {
0539 regulator-name = "LED_A_2.8V";
0540 regulator-min-microvolt = <2800000>;
0541 regulator-max-microvolt = <2800000>;
0542 };
0543
0544 camsensor_reg: LDO16 {
0545 regulator-name = "CAM_SENSOR_IO_1.8V";
0546 regulator-min-microvolt = <1800000>;
0547 regulator-max-microvolt = <1800000>;
0548 };
0549
0550 vtf_reg: LDO17 {
0551 regulator-name = "VTF_2.8V";
0552 regulator-min-microvolt = <2800000>;
0553 regulator-max-microvolt = <2800000>;
0554 };
0555
0556 vtouchled_reg: LDO18 {
0557 regulator-name = "TOUCH_LED_3.3V";
0558 regulator-min-microvolt = <2500000>;
0559 regulator-max-microvolt = <3300000>;
0560 };
0561
0562 vddq_reg: LDO21 {
0563 regulator-name = "VDDQ_M1M2_1.2V";
0564 regulator-min-microvolt = <1200000>;
0565 regulator-max-microvolt = <1200000>;
0566 regulator-always-on;
0567 };
0568
0569 varm_breg: BUCK1 {
0570 regulator-name = "VARM_1.2V_C210";
0571 regulator-min-microvolt = <65000>;
0572 regulator-max-microvolt = <2225000>;
0573 regulator-always-on;
0574 };
0575
0576 vint_breg: BUCK2 {
0577 regulator-name = "VINT_1.1V_C210";
0578 regulator-min-microvolt = <65000>;
0579 regulator-max-microvolt = <2225000>;
0580 regulator-always-on;
0581 };
0582
0583 vg3d_breg: BUCK3 {
0584 regulator-name = "G3D_1.1V";
0585 regulator-min-microvolt = <900000>;
0586 regulator-max-microvolt = <1200000>;
0587 regulator-microvolt-offset = <50000>;
0588 regulator-always-on;
0589 };
0590
0591 camisp_breg: BUCK4 {
0592 regulator-name = "CAM_ISP_CORE_1.2V";
0593 regulator-min-microvolt = <1200000>;
0594 regulator-max-microvolt = <1200000>;
0595 };
0596
0597 vmem_breg: BUCK5 {
0598 regulator-name = "VMEM_1.2V";
0599 regulator-min-microvolt = <1200000>;
0600 regulator-max-microvolt = <1200000>;
0601 regulator-always-on;
0602 };
0603
0604 vccsub_breg: BUCK7 {
0605 regulator-name = "VCC_SUB_2.0V";
0606 regulator-min-microvolt = <2000000>;
0607 regulator-max-microvolt = <2000000>;
0608 regulator-always-on;
0609 };
0610
0611 safe1_sreg: ESAFEOUT1 {
0612 regulator-name = "SAFEOUT1";
0613 };
0614
0615 safe2_sreg: ESAFEOUT2 {
0616 regulator-name = "SAFEOUT2";
0617 regulator-boot-on;
0618 };
0619
0620 EN32KHZ_AP {
0621 regulator-name = "EN32KHZ_AP";
0622 regulator-always-on;
0623 };
0624
0625 EN32KHZ_CP {
0626 regulator-name = "EN32KHZ_CP";
0627 regulator-always-on;
0628 };
0629
0630 charger_reg: CHARGER {
0631 regulator-name = "CHARGER";
0632 regulator-min-microamp = <200000>;
0633 regulator-max-microamp = <950000>;
0634 };
0635
0636 chargercv_reg: CHARGER_CV {
0637 regulator-name = "CHARGER_CV";
0638 regulator-min-microvolt = <4200000>;
0639 regulator-max-microvolt = <4200000>;
0640 regulator-always-on;
0641 };
0642
0643 CHARGER_TOPOFF {
0644 regulator-name = "CHARGER_TOPOFF";
0645 regulator-min-microamp = <200000>;
0646 regulator-max-microamp = <200000>;
0647 regulator-always-on;
0648 };
0649 };
0650 };
0651 };
0652
0653 &i2c_7 {
0654 status = "okay";
0655
0656 samsung,i2c-sda-delay = <100>;
0657 samsung,i2c-slave-addr = <0x10>;
0658 samsung,i2c-max-bus-freq = <400000>;
0659
0660 pinctrl-0 = <&i2c7_bus>;
0661 pinctrl-names = "default";
0662
0663 magnetometer@c {
0664 compatible = "asahi-kasei,ak8975";
0665 reg = <0x0c>;
0666
0667 gpios = <&gpx2 2 GPIO_ACTIVE_HIGH>;
0668 };
0669 };
0670
0671 &pinctrl_0 {
0672 pinctrl-names = "default";
0673 pinctrl-0 = <&sleep0>;
0674
0675 sleep0: sleep-state {
0676 gpa0-0-pin {
0677 samsung,pins = "gpa0-0";
0678 samsung,pin-con-pdn = <EXYNOS_PIN_PDN_INPUT>;
0679 samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
0680 };
0681
0682 gpa0-1-pin {
0683 samsung,pins = "gpa0-1";
0684 samsung,pin-con-pdn = <EXYNOS_PIN_PDN_OUT0>;
0685 samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
0686 };
0687
0688 gpa0-2-pin {
0689 samsung,pins = "gpa0-2";
0690 samsung,pin-con-pdn = <EXYNOS_PIN_PDN_INPUT>;
0691 samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
0692 };
0693
0694 gpa0-3-pin {
0695 samsung,pins = "gpa0-3";
0696 samsung,pin-con-pdn = <EXYNOS_PIN_PDN_OUT1>;
0697 samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
0698 };
0699 };
0700 };
0701
0702 &pinctrl_1 {
0703 mhl_int: mhl-int-pins {
0704 samsung,pins = "gpf3-5";
0705 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
0706 };
0707
0708 i2c_mhl_bus: i2c-mhl-bus-pins {
0709 samsung,pins = "gpf0-4", "gpf0-6";
0710 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
0711 samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
0712 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
0713 };
0714
0715 usb_sel: usb-sel-pins {
0716 samsung,pins = "gpl0-6";
0717 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
0718 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
0719 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
0720 samsung,pin-val = <0>;
0721 };
0722
0723 bt_en: bt-en-pins {
0724 samsung,pins = "gpl0-4";
0725 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
0726 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
0727 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
0728 samsung,pin-val = <0>;
0729 };
0730
0731 bt_res: bt-res-pins {
0732 samsung,pins = "gpl1-0";
0733 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
0734 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
0735 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
0736 samsung,pin-val = <0>;
0737 };
0738
0739 otg_gp: otg-gp-pins {
0740 samsung,pins = "gpx3-3";
0741 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
0742 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
0743 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
0744 samsung,pin-val = <0>;
0745 };
0746
0747 mag_mhl_gpio: mag-mhl-pins {
0748 samsung,pins = "gpd0-2";
0749 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
0750 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
0751 };
0752
0753 max8997_irq: max8997-irq-pins {
0754 samsung,pins = "gpx0-7";
0755 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
0756 };
0757
0758 max17042_fuel_irq: max17042-fuel-irq-pins {
0759 samsung,pins = "gpx2-3";
0760 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
0761 };
0762
0763 tsp224_irq: tsp224-irq-pins {
0764 samsung,pins = "gpx0-4";
0765 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
0766 };
0767 };
0768
0769 &rtc {
0770 status = "okay";
0771 clocks = <&clock CLK_RTC>, <&pmic_ap_clk>;
0772 clock-names = "rtc", "rtc_src";
0773 };
0774
0775 &sdhci_0 {
0776 status = "okay";
0777
0778 bus-width = <8>;
0779 non-removable;
0780 vmmc-supply = <&vemmc_reg>;
0781
0782 pinctrl-0 = <&sd0_clk>, <&sd0_cmd>, <&sd0_bus8>;
0783 pinctrl-names = "default";
0784 };
0785
0786 &sdhci_2 {
0787 status = "okay";
0788
0789 bus-width = <4>;
0790 cd-gpios = <&gpx3 4 GPIO_ACTIVE_LOW>;
0791 vmmc-supply = <&vtf_reg>;
0792
0793 pinctrl-0 = <&sd2_clk>, <&sd2_cmd>, <&sd2_bus4>;
0794 pinctrl-names = "default";
0795 };
0796
0797 &sdhci_3 {
0798 status = "okay";
0799
0800 #address-cells = <1>;
0801 #size-cells = <0>;
0802
0803 non-removable;
0804 bus-width = <4>;
0805 mmc-pwrseq = <&wlan_pwrseq>;
0806 vmmc-supply = <&vtf_reg>;
0807
0808 pinctrl-names = "default";
0809 pinctrl-0 = <&sd3_clk>, <&sd3_cmd>, <&sd3_bus4>;
0810
0811 brcmf: wifi@1 {
0812 compatible = "brcm,bcm4330-fmac", "brcm,bcm4329-fmac";
0813 reg = <1>;
0814
0815 interrupt-parent = <&gpx2>;
0816 interrupts = <5 IRQ_TYPE_LEVEL_HIGH>;
0817 interrupt-names = "host-wake";
0818 };
0819 };
0820
0821 &serial_0 {
0822 status = "okay";
0823
0824 pinctrl-names = "default";
0825 pinctrl-0 = <&bt_en>, <&bt_res>, <&uart0_data>, <&uart0_fctl>;
0826
0827 bluetooth {
0828 compatible = "brcm,bcm4330-bt";
0829
0830 shutdown-gpios = <&gpl0 4 GPIO_ACTIVE_HIGH>;
0831 reset-gpios = <&gpl1 0 GPIO_ACTIVE_LOW>;
0832 device-wakeup-gpios = <&gpx3 1 GPIO_ACTIVE_HIGH>;
0833
0834 interrupt-parent = <&gpx2>;
0835 interrupts = <6 IRQ_TYPE_EDGE_FALLING>;
0836 interrupt-names = "host-wakeup";
0837 };
0838 };
0839
0840 &serial_1 {
0841 status = "okay";
0842 };
0843
0844 &serial_2 {
0845 status = "okay";
0846 };
0847
0848 &serial_3 {
0849 status = "okay";
0850 };
0851
0852 &tmu {
0853 status = "okay";
0854 };