Back to home page

OSCL-LXR

 
 

    


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 };