Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0-only
0002 /*
0003  * Devicetree for the Samsung XCover 2 GT-S7710 also known as Skomer.
0004  */
0005 
0006 /dts-v1/;
0007 #include "ste-db8500.dtsi"
0008 #include "ste-ab8505.dtsi"
0009 #include "ste-dbx5x0-pinctrl.dtsi"
0010 #include <dt-bindings/gpio/gpio.h>
0011 #include <dt-bindings/leds/common.h>
0012 #include <dt-bindings/input/input.h>
0013 #include <dt-bindings/interrupt-controller/irq.h>
0014 
0015 / {
0016         model = "Samsung XCover 2 (GT-S7710)";
0017         compatible = "samsung,skomer", "st-ericsson,u8500";
0018 
0019         chosen {
0020                 stdout-path = &serial2;
0021         };
0022 
0023         battery: battery {
0024                 compatible = "samsung,eb485159lu";
0025         };
0026 
0027         thermal-zones {
0028                 battery-thermal {
0029                         /* This zone will be polled by the battery temperature code */
0030                         polling-delay = <0>;
0031                         polling-delay-passive = <0>;
0032                         thermal-sensors = <&bat_therm>;
0033                 };
0034         };
0035 
0036         bat_therm: thermistor {
0037                 compatible = "samsung,1404-001221";
0038                 io-channels = <&gpadc 0x02>; /* BatTemp */
0039                 pullup-uv = <1800000>;
0040                 pullup-ohm = <230000>;
0041                 pulldown-ohm = <0>;
0042                 #thermal-sensor-cells = <0>;
0043         };
0044 
0045         /* TI TXS0206 level translator for 2.9 V */
0046         sd_level_translator: regulator-gpio {
0047                 compatible = "regulator-fixed";
0048 
0049                 /* GPIO87 EN */
0050                 gpios = <&gpio2 23 GPIO_ACTIVE_HIGH>;
0051                 enable-active-high;
0052 
0053                 regulator-name = "sd-level-translator";
0054                 regulator-min-microvolt = <2900000>;
0055                 regulator-max-microvolt = <2900000>;
0056                 regulator-type = "voltage";
0057 
0058                 startup-delay-us = <200>;
0059 
0060                 pinctrl-names = "default";
0061                 pinctrl-0 = <&sd_level_translator_default>;
0062         };
0063 
0064         /* External LDO MIC5366-3.3YMT for eMMC */
0065         ldo_3v3_reg: regulator-gpio-ldo-3v3 {
0066                 compatible = "regulator-fixed";
0067                 regulator-name = "en-3v3-fixed-supply";
0068                 regulator-min-microvolt = <3300000>;
0069                 regulator-max-microvolt = <3300000>;
0070                 gpio = <&gpio6 31 GPIO_ACTIVE_HIGH>;
0071                 startup-delay-us = <5000>;
0072                 enable-active-high;
0073                 pinctrl-names = "default";
0074                 pinctrl-0 = <&emmc_ldo_en_default_mode>;
0075         };
0076 
0077         wlan_en: regulator-gpio-wlan-en {
0078                 compatible = "regulator-fixed";
0079                 regulator-name = "wl-reg-on";
0080                 regulator-min-microvolt = <3000000>;
0081                 regulator-max-microvolt = <3000000>;
0082                 startup-delay-us = <200000>;
0083                 /* GPIO215 WLAN_EN */
0084                 gpio = <&gpio6 23 GPIO_ACTIVE_HIGH>;
0085                 enable-active-high;
0086                 pinctrl-names = "default";
0087                 pinctrl-0 = <&wlan_en_default_mode>;
0088         };
0089 
0090         vibrator {
0091                 compatible = "gpio-vibrator";
0092                 enable-gpios = <&gpio6 3 GPIO_ACTIVE_HIGH>;
0093                 pinctrl-names = "default";
0094                 pinctrl-0 = <&vibrator_default>;
0095         };
0096 
0097         gpio-keys {
0098                 compatible = "gpio-keys";
0099                 pinctrl-names = "default";
0100                 pinctrl-0 = <&gpio_keys_default_mode>;
0101 
0102                 button-home {
0103                         linux,code = <KEY_HOME>;
0104                         label = "HOME";
0105                         /* GPIO91 */
0106                         gpios = <&gpio2 27 GPIO_ACTIVE_LOW>;
0107                 };
0108                 button-volup {
0109                         linux,code = <KEY_VOLUMEUP>;
0110                         label = "VOL+";
0111                         /* GPIO67 */
0112                         gpios = <&gpio2 3 GPIO_ACTIVE_LOW>;
0113                 };
0114                 button-voldown {
0115                         linux,code = <KEY_VOLUMEDOWN>;
0116                         label = "VOL-";
0117                         /* GPIO92 */
0118                         gpios = <&gpio2 28 GPIO_ACTIVE_LOW>;
0119                 };
0120                 button-menu {
0121                         linux,code = <KEY_MENU>;
0122                         label = "MENU";
0123                         /* GPIO204 */
0124                         gpios = <&gpio6 12 GPIO_ACTIVE_LOW>;
0125                 };
0126                 button-back {
0127                         linux,code = <KEY_BACK>;
0128                         label = "BACK";
0129                         /* GPIO205 */
0130                         gpios = <&gpio6 13 GPIO_ACTIVE_LOW>;
0131                 };
0132         };
0133 
0134         ktd253: backlight {
0135                 compatible = "kinetic,ktd253";
0136                 /* GPIO 69 */
0137                 enable-gpios = <&gpio2 5 GPIO_ACTIVE_HIGH>;
0138                 /* Default to 13/32 brightness */
0139                 default-brightness = <13>;
0140                 pinctrl-names = "default";
0141                 pinctrl-0 = <&gpio_backlight_default_mode>;
0142         };
0143 
0144         /* Richtek RT8515GQW Flash LED Driver IC */
0145         flash {
0146                 compatible = "richtek,rt8515";
0147                 /* GPIO 140 */
0148                 enf-gpios = <&gpio4 12 GPIO_ACTIVE_HIGH>;
0149                 /* GPIO 141 */
0150                 ent-gpios = <&gpio4 13 GPIO_ACTIVE_HIGH>;
0151                 /*
0152                  * RFS is 16 kOhm and RTS is 100 kOhm giving
0153                  * the flash max current 343mA and torch max
0154                  * current 55 mA.
0155                  */
0156                 richtek,rfs-ohms = <16000>;
0157                 richtek,rts-ohms = <100000>;
0158                 pinctrl-names = "default";
0159                 pinctrl-0 = <&gpio_flash_default_mode>;
0160 
0161                 led {
0162                         function = LED_FUNCTION_FLASH;
0163                         color = <LED_COLOR_ID_WHITE>;
0164                         flash-max-timeout-us = <250000>;
0165                         flash-max-microamp = <343750>;
0166                         led-max-microamp = <55000>;
0167                 };
0168         };
0169 
0170         i2c-gpio-0 {
0171                 compatible = "i2c-gpio";
0172                 sda-gpios = <&gpio4 16 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
0173                 scl-gpios = <&gpio4 15 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
0174                 pinctrl-names = "default";
0175                 pinctrl-0 = <&i2c_gpio_0_default>;
0176                 #address-cells = <1>;
0177                 #size-cells = <0>;
0178                 /* TODO: this should be used by the NCP6914 Camera power management unit */
0179         };
0180 
0181         i2c-gpio-1 {
0182                 compatible = "i2c-gpio";
0183                 sda-gpios = <&gpio4 24 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
0184                 scl-gpios = <&gpio4 23 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
0185                 pinctrl-names = "default";
0186                 pinctrl-0 = <&i2c_gpio_1_default>;
0187                 #address-cells = <1>;
0188                 #size-cells = <0>;
0189                 magnetometer@c {
0190                         compatible = "alps,hscdtd008a";
0191                         reg = <0x0c>;
0192                         avdd-supply = <&ab8500_ldo_aux1_reg>;
0193                         dvdd-supply = <&ab8500_ldo_aux8_reg>;
0194                 };
0195         };
0196 
0197         soc {
0198                 // External Micro SD slot
0199                 mmc@80126000 {
0200                         arm,primecell-periphid = <0x10480180>;
0201                         max-frequency = <100000000>;
0202                         bus-width = <4>;
0203                         cap-sd-highspeed;
0204                         cap-mmc-highspeed;
0205                         /* All direction control is used */
0206                         st,sig-pin-fbclk;
0207                         full-pwr-cycle;
0208                         vmmc-supply = <&ab8500_ldo_aux3_reg>;
0209                         vqmmc-supply = <&sd_level_translator>;
0210                         pinctrl-names = "default", "sleep";
0211                         pinctrl-0 = <&mc0_a_1_default>;
0212                         pinctrl-1 = <&mc0_a_1_sleep>;
0213                         status = "okay";
0214                 };
0215 
0216                 // WLAN SDIO channel
0217                 mmc@80118000 {
0218                         arm,primecell-periphid = <0x10480180>;
0219                         max-frequency = <50000000>;
0220                         bus-width = <4>;
0221                         non-removable;
0222                         cap-sd-highspeed;
0223                         vmmc-supply = <&wlan_en>;
0224                         pinctrl-names = "default", "sleep";
0225                         pinctrl-0 = <&mc1_a_2_default>;
0226                         pinctrl-1 = <&mc1_a_2_sleep>;
0227                         status = "okay";
0228                         #address-cells = <1>;
0229                         #size-cells = <0>;
0230 
0231                         wifi@1 {
0232                                 compatible = "brcm,bcm4334-fmac", "brcm,bcm4329-fmac";
0233                                 reg = <1>;
0234                                 /* GPIO216 WL_HOST_WAKE */
0235                                 interrupt-parent = <&gpio6>;
0236                                 interrupts = <24 IRQ_TYPE_EDGE_FALLING>;
0237                                 interrupt-names = "host-wake";
0238                                 pinctrl-names = "default";
0239                                 pinctrl-0 = <&wlan_default_mode>;
0240                         };
0241                 };
0242 
0243                 /*
0244                  * eMMC seems to be mostly Samsung KLM4G1YE4C "4YMD1R"
0245                  */
0246                 mmc@80005000 {
0247                         arm,primecell-periphid = <0x10480180>;
0248                         max-frequency = <100000000>;
0249                         bus-width = <8>;
0250                         non-removable;
0251                         cap-mmc-highspeed;
0252                         mmc-ddr-1_8v;
0253                         no-sdio;
0254                         no-sd;
0255                         /* From datasheet page 26 figure 9: 300 ms set-up time for 4GB */
0256                         post-power-on-delay-ms = <300>;
0257                         vmmc-supply = <&ldo_3v3_reg>;
0258                         pinctrl-names = "default", "sleep";
0259                         pinctrl-0 = <&mc2_a_1_default>;
0260                         pinctrl-1 = <&mc2_a_1_sleep>;
0261 
0262                         status = "okay";
0263                 };
0264 
0265                 /* GBF (Bluetooth) UART */
0266                 uart@80120000 {
0267                         pinctrl-names = "default", "sleep";
0268                         pinctrl-0 = <&u0_a_1_default>;
0269                         pinctrl-1 = <&u0_a_1_sleep>;
0270                         status = "okay";
0271 
0272                         /* FIXME: not quite working yet, probably needs regulators */
0273                         bluetooth {
0274                                 /* BCM4334B0 actually */
0275                                 compatible = "brcm,bcm4330-bt";
0276                                 shutdown-gpios = <&gpio6 30 GPIO_ACTIVE_HIGH>;
0277                                 device-wakeup-gpios = <&gpio6 7 GPIO_ACTIVE_HIGH>;
0278                                 host-wakeup-gpios = <&gpio3 1 GPIO_ACTIVE_HIGH>;
0279                                 pinctrl-names = "default";
0280                                 pinctrl-0 = <&bluetooth_default_mode>;
0281                         };
0282                 };
0283 
0284                 /* GPS UART */
0285                 uart@80121000 {
0286                         status = "okay";
0287                         pinctrl-names = "default", "sleep";
0288                         pinctrl-0 = <&u1rxtx_a_1_default &u1ctsrts_a_1_default>;
0289                         pinctrl-1 = <&u1rxtx_a_1_sleep &u1ctsrts_a_1_sleep>;
0290 
0291                         gnss {
0292                                 /* The CSRG05TA03-ICJE-R is a SirfStarV 5t chip */
0293                                 compatible = "csr,csrg05ta03-icje-r";
0294                                 /* GPS_RSTN on GPIO209 */
0295                                 reset-gpios = <&gpio6 17 GPIO_ACTIVE_LOW>;
0296                                 /* GPS_ON_OFF on GPIO86 */
0297                                 sirf,onoff-gpios = <&gpio2 22 GPIO_ACTIVE_HIGH>;
0298                                 /* GPS_1V8 (VSMPS2) */
0299                                 vcc-supply = <&db8500_vsmps2_reg>;
0300                                 pinctrl-names = "default";
0301                                 pinctrl-0 = <&g05ta03_skomer_default>;
0302                                 /* According to /etc/sirfgps.conf */
0303                                 current-speed = <460800>;
0304                         };
0305                 };
0306 
0307                 /* Debugging console UART connected to AB8505 USB */
0308                 uart@80007000 {
0309                         status = "okay";
0310                         pinctrl-names = "default", "sleep";
0311                         pinctrl-0 = <&u2rxtx_c_1_default>;
0312                         pinctrl-1 = <&u2rxtx_c_1_sleep>;
0313                 };
0314 
0315                 prcmu@80157000 {
0316                         ab8505 {
0317                                 phy {
0318                                         pinctrl-names = "default", "sleep";
0319                                         pinctrl-0 = <&usb_a_1_default>;
0320                                         pinctrl-1 = <&usb_a_1_sleep>;
0321                                 };
0322 
0323                                 ab8500_fg {
0324                                         line-impedance-micro-ohms = <16000>;
0325                                 };
0326 
0327                                 regulator {
0328                                         ab8500_ldo_aux1 {
0329                                                 /* Used for VDD for sensors */
0330                                                 regulator-name = "AUX1";
0331                                                 regulator-min-microvolt = <3000000>;
0332                                                 regulator-max-microvolt = <3300000>;
0333                                         };
0334 
0335                                         ab8500_ldo_aux2 {
0336                                                 /* Supplies the Cypress TMA140 touchscreen only with 3.0V */
0337                                                 regulator-name = "AUX2";
0338                                                 regulator-min-microvolt = <3000000>;
0339                                                 regulator-max-microvolt = <3000000>;
0340                                         };
0341 
0342                                         ab8500_ldo_aux3 {
0343                                                 /* Used for voltage for external MMC/SD card */
0344                                                 regulator-name = "AUX3";
0345                                                 regulator-min-microvolt = <1100000>;
0346                                                 regulator-max-microvolt = <3300000>;
0347                                         };
0348 
0349                                         ab8500_ldo_aux4 {
0350                                                 regulator-name = "AUX4";
0351                                                 /* Hammer to 3.0V for the display */
0352                                                 regulator-min-microvolt = <3000000>;
0353                                                 regulator-max-microvolt = <3000000>;
0354                                         };
0355 
0356                                         ab8500_ldo_aux5 {
0357                                                 regulator-name = "AUX5";
0358                                                 /* Intended for 1V8 for touchscreen but actually left unused */
0359                                                 regulator-min-microvolt = <1050000>;
0360                                                 regulator-max-microvolt = <2790000>;
0361                                         };
0362 
0363                                         ab8500_ldo_aux6 {
0364                                                 regulator-name = "AUX6";
0365                                                 /* Hammer to 1.8V for the display */
0366                                                 regulator-min-microvolt = <1800000>;
0367                                                 regulator-max-microvolt = <1800000>;
0368                                         };
0369 
0370                                         ab8500_ldo_aux8 {
0371                                                 /* Mostly VIO for sensors */
0372                                                 regulator-name = "AUX8";
0373                                         };
0374                                 };
0375                         };
0376                 };
0377 
0378                 /* I2C0 */
0379                 i2c@80004000 {
0380                         status = "okay";
0381 
0382                         pinctrl-names = "default", "sleep";
0383                         pinctrl-0 = <&i2c0_a_1_default>;
0384                         pinctrl-1 = <&i2c0_a_1_sleep>;
0385 
0386                         proximity@44 {
0387                                 compatible = "sharp,gp2ap002s00f";
0388                                 clock-frequency = <400000>;
0389                                 reg = <0x44>;
0390 
0391                                 interrupt-parent = <&gpio4>;
0392                                 interrupts = <18 IRQ_TYPE_EDGE_FALLING>;
0393                                 vdd-supply = <&ab8500_ldo_aux1_reg>;
0394                                 vio-supply = <&ab8500_ldo_aux8_reg>;
0395                                 pinctrl-names = "default";
0396                                 pinctrl-0 = <&gp2ap002_skomer_default>;
0397                                 sharp,proximity-far-hysteresis = /bits/ 8 <0x2f>;
0398                                 sharp,proximity-close-hysteresis = /bits/ 8 <0x0f>;
0399                         };
0400                 };
0401 
0402 
0403                 /* I2C2 */
0404                 i2c@80128000 {
0405                         status = "okay";
0406 
0407                         pinctrl-names = "default", "sleep";
0408                         pinctrl-0 = <&i2c2_b_2_default>;
0409                         pinctrl-1 = <&i2c2_b_2_sleep>;
0410 
0411                         accel@18 {
0412                                 compatible = "bosch,bma254";
0413                                 clock-frequency = <400000>;
0414                                 reg = <0x18>;
0415 
0416                                 /* GPIO224 used as "smart alert" interrupt */
0417                                 interrupt-parent = <&gpio7>;
0418                                 interrupts = <0 IRQ_TYPE_EDGE_RISING>;
0419 
0420                                 mount-matrix = "0", "-1", "0",
0421                                               "1", "0", "0",
0422                                                "0", "0", "1";
0423                                 vdd-supply = <&ab8500_ldo_aux1_reg>;
0424                                 vddio-supply = <&ab8500_ldo_aux8_reg>;
0425                                 pinctrl-names = "default";
0426                                 pinctrl-0 = <&bma254_skomer_default>;
0427                         };
0428                 };
0429 
0430                 /* I2C3 */
0431                 i2c@80110000 {
0432                         status = "okay";
0433 
0434                         pinctrl-names = "default", "sleep";
0435                         pinctrl-0 = <&i2c3_c_2_default>;
0436                         pinctrl-1 = <&i2c3_c_2_sleep>;
0437 
0438                         /* Cypress CY8CTMA140 touchscreen */
0439                         touchscreen@20 {
0440                                 compatible = "cypress,cy8ctma140";
0441                                 clock-frequency = <400000>;
0442                                 reg = <0x20>;
0443 
0444                                 touchscreen-size-x = <480>;
0445                                 touchscreen-size-y = <800>;
0446                                 touchscreen-max-pressure = <255>;
0447 
0448                                 /* GPIO218 for IRQ */
0449                                 interrupt-parent = <&gpio6>;
0450                                 interrupts = <26 IRQ_TYPE_EDGE_FALLING>;
0451 
0452                                 /* VDD is "digital supply" nominally 1.71-3.6V */
0453                                 vdd-supply = <&ab8500_ldo_aux2_reg>;
0454                                 /* VCPIN is "analog supply", 2.7-3.6 V */
0455                                 vcpin-supply = <&ab8500_ldo_aux2_reg>;
0456 
0457                                 pinctrl-names = "default";
0458                                 pinctrl-0 = <&tma140_skomer_default>;
0459                         };
0460                 };
0461 
0462                 mcde@a0350000 {
0463                         status = "okay";
0464                         pinctrl-names = "default";
0465                         pinctrl-0 = <&dsi_default_mode>;
0466 
0467                         dsi@a0351000 {
0468                                 panel {
0469                                         /* NT35510-based Hydis HVA40WV1 */
0470                                         compatible = "hydis,hva40wv1", "novatek,nt35510";
0471                                         reg = <0>;
0472                                         /* v_lcd_3v0 2.3-4.8V */
0473                                         vdd-supply = <&ab8500_ldo_aux4_reg>;
0474                                         /* v_lcd_1v8 1.65-3.3V */
0475                                         vddi-supply = <&ab8500_ldo_aux6_reg>;
0476                                         /* GPIO 139 */
0477                                         reset-gpios = <&gpio4 11 GPIO_ACTIVE_LOW>;
0478                                         pinctrl-names = "default";
0479                                         pinctrl-0 = <&display_default_mode>;
0480                                         backlight = <&ktd253>;
0481                                 };
0482                         };
0483                 };
0484         };
0485 };
0486 
0487 &pinctrl {
0488         sdi0 {
0489                 mc0_a_1_default {
0490                         default_cfg1 {
0491                                 /* GPIO18, 19 & 20 unused so pull down */
0492                                 ste,config = <&gpio_in_pd>;
0493                         };
0494                 };
0495         };
0496 
0497         /* This is a reset line for the eMMC */
0498         sdi2 {
0499                 mc2_a_1_default {
0500                         default_cfg2 {
0501                                 pins = "GPIO130_C8"; /* FBCLK */
0502                                 ste,config = <&gpio_in_pd>;
0503                         };
0504                 };
0505         };
0506 
0507         mcde {
0508                 dsi_default_mode: dsi_default {
0509                         default_mux1 {
0510                                 /* Mux in VSI0 used for DSI TE */
0511                                 function = "lcd";
0512                                 groups = "lcdvsi0_a_1"; /* VSI0 for LCD */
0513                         };
0514                         default_cfg1 {
0515                                 pins = "GPIO68_E1"; /* VSI0 */
0516                                 ste,config = <&in_nopull>;
0517                         };
0518                 };
0519         };
0520 
0521         /* Two GPIO lines used by the display */
0522         display {
0523                 display_default_mode: display_default {
0524                         skomer_cfg1 {
0525                                 /*
0526                                  * OLED DETECT or check_pba, this appears to be high
0527                                  * on "PBA" which I guess is "prototype board A".
0528                                  */
0529                                 pins = "GPIO93_B7";
0530                                 ste,config = <&gpio_in_nopull>;
0531                         };
0532                         skomer_cfg2 {
0533                                 pins = "GPIO139_C9";
0534                                 /*
0535                                  * MIPI_DSI0_RESET_N resets the display, leave high
0536                                  * (de-asserted) so we only assert reset explicitly
0537                                  * from the display driver.
0538                                  */
0539                                 ste,config = <&gpio_out_hi>;
0540                         };
0541                 };
0542         };
0543         backlight {
0544                 gpio_backlight_default_mode: backlight_default {
0545                         skomer_cfg1 {
0546                                 pins = "GPIO69_E2"; /* LCD_BL_CTRL */
0547                                 ste,config = <&gpio_out_lo>;
0548                         };
0549                 };
0550         };
0551         flash {
0552                 gpio_flash_default_mode: flash_default {
0553                         skomer_cfg1 {
0554                                 pins = "GPIO140_B11", "GPIO141_C12";
0555                                 ste,config = <&gpio_out_lo>;
0556                         };
0557                 };
0558         };
0559         /* GPIO that enables the 2.9V SD card level translator */
0560         sd-level-translator {
0561                 sd_level_translator_default: sd_level_translator_default {
0562                         /* level shifter on GPIO87 */
0563                         skomer_cfg1 {
0564                                 pins = "GPIO87_B3";
0565                                 ste,config = <&gpio_out_hi>;
0566                         };
0567                 };
0568         };
0569         /* GPIO that enables the LDO regulator for the eMMC */
0570         emmc-ldo {
0571                 emmc_ldo_en_default_mode: emmc_ldo_default {
0572                         /* LDO enable on GPIO223 */
0573                         skomer_cfg1 {
0574                                 pins = "GPIO223_AH9";
0575                                 ste,config = <&gpio_out_hi>;
0576                         };
0577                 };
0578         };
0579         /* GPIO keys */
0580         gpio-keys {
0581                 gpio_keys_default_mode: gpio_keys_default {
0582                         skomer_cfg1 {
0583                                 pins = "GPIO67_G2", /* VOL UP */
0584                                        "GPIO91_B6", /* HOME */
0585                                        "GPIO92_D6", /* VOL DOWN */
0586                                        "GPIO204_AF23", /* MENU */
0587                                        "GPIO205_AG23"; /* BACK */
0588                                         ste,config = <&gpio_in_pu>;
0589                         };
0590                 };
0591         };
0592         /* Interrupt line for BMA254 */
0593         bma254 {
0594                 bma254_skomer_default: bma254_skomer {
0595                         skomer_cfg1 {
0596                                 pins = "GPIO224_AG9";
0597                                 ste,config = <&gpio_in_pd>;
0598                         };
0599                 };
0600         };
0601         /* Interrupt line for light/proximity sensor GP2AP002 */
0602         gp2ap002 {
0603                 gp2ap002_skomer_default: gp2ap002_skomer {
0604                         skomer_cfg1 {
0605                                 pins = "GPIO146_D13";
0606                                 ste,config = <&gpio_in_nopull>;
0607                         };
0608                 };
0609         };
0610         /* GPIO-based I2C bus for NCP6914 */
0611         i2c-gpio-0 {
0612                 i2c_gpio_0_default: i2c_gpio_0 {
0613                         skomer_cfg1 {
0614                                 pins = "GPIO143_D12", "GPIO144_B13";
0615                                 ste,config = <&gpio_in_nopull>;
0616                         };
0617                 };
0618         };
0619         /* GPIO-based I2C bus for ALPS HSCD compass */
0620         i2c-gpio-1 {
0621                 i2c_gpio_1_default: i2c_gpio_1 {
0622                         skomer_cfg1 {
0623                                 pins = "GPIO151_B17", "GPIO152_D16";
0624                                 ste,config = <&gpio_in_nopull>;
0625                         };
0626                 };
0627         };
0628         wlan {
0629                 wlan_default_mode: wlan_default {
0630                         skomer_cfg1 {
0631                                 pins = "GPIO216_AG12";
0632                                 ste,config = <&gpio_in_pd>;
0633                         };
0634                 };
0635                 wlan_en_default_mode: wlan_en_default {
0636                         skomer_cfg2 {
0637                                 pins = "GPIO215_AH13";
0638                                 ste,config = <&gpio_out_lo>;
0639                         };
0640                 };
0641         };
0642         bluetooth {
0643                 bluetooth_default_mode: bluetooth_default {
0644                         skomer_cfg1 {
0645                                 pins = "GPIO199_AH23", "GPIO222_AJ9";
0646                                 ste,config = <&gpio_out_lo>;
0647                         };
0648                         skomer_cfg2 {
0649                                 pins = "GPIO97_D9";
0650                                 ste,config = <&gpio_in_nopull>;
0651                         };
0652                 };
0653         };
0654         vibrator {
0655                 vibrator_default: vibrator_default {
0656                         skomer_cfg1 {
0657                                 pins = "GPIO195_AG28";  /* MOT_EN */
0658                                 ste,config = <&gpio_out_lo>;
0659                         };
0660                 };
0661         };
0662         /* Interrupt line for the Cypress TMA140 touchscreen */
0663         touchscreen {
0664                 tma140_skomer_default: tma140_skomer {
0665                         skomer_cfg1 {
0666                                 pins = "GPIO218_AH11";
0667                                 ste,config = <&gpio_in_nopull>;
0668                         };
0669                 };
0670         };
0671         g05ta03 {
0672                 g05ta03_skomer_default: g05ta03 {
0673                         /* Reset line, start out de-asserted */
0674                         skomer_cfg1 {
0675                                 pins = "GPIO209_AG15";
0676                                 ste,config = <&gpio_out_hi>;
0677                         };
0678                         /* GPS_ON_OFF, start out deasserted (off) */
0679                         skomer_cfg2 {
0680                                 pins = "GPIO86_C6";
0681                                 ste,config = <&gpio_out_lo>;
0682                         };
0683                 };
0684         };
0685 };
0686 
0687 &ab8505_gpio {
0688         /* Hog a few default settings */
0689         pinctrl-names = "default";
0690         pinctrl-0 = <&gpio_default>;
0691 
0692         gpio {
0693                 gpio_default: gpio_default {
0694                         skomer_mux {
0695                                 /* Change unused pins to GPIO mode */
0696                                 function = "gpio";
0697                                 groups = "gpio3_a_1",   /* default: SysClkReq4 */
0698                                          "gpio14_a_1";  /* default: PWMOut1 */
0699                         };
0700                         skomer_cfg1 {
0701                                 pins = "GPIO11_B17", "GPIO13_D17", "GPIO50_L4";
0702                                 bias-disable;
0703                         };
0704                 };
0705         };
0706 };