Back to home page

OSCL-LXR

 
 

    


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