The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/device-tree/src/arm/ste-ux500-samsung-kyle.dts

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 // SPDX-License-Identifier: GPL-2.0-only
    2 /*
    3  * Devicetree for the Samsung Galaxy Amp SGH-I407 also known as Kyle.
    4  *
    5  * The code also refers to "Kyle AT&T" reflecting that this mobile phone
    6  * was customized for the AT&T subsidiary Aio Wireless (All In One) and
    7  * offered by the company in 2013.
    8  */
    9 
   10 /dts-v1/;
   11 #include "ste-db8500.dtsi"
   12 #include "ste-ab8505.dtsi"
   13 #include "ste-dbx5x0-pinctrl.dtsi"
   14 #include <dt-bindings/gpio/gpio.h>
   15 #include <dt-bindings/leds/common.h>
   16 #include <dt-bindings/input/input.h>
   17 #include <dt-bindings/interrupt-controller/irq.h>
   18 
   19 / {
   20         model = "Samsung Galaxy Amp (SGH-I407)";
   21         compatible = "samsung,kyle", "st-ericsson,u8500";
   22 
   23         chosen {
   24                 stdout-path = &serial2;
   25         };
   26 
   27         battery: battery {
   28                 compatible = "samsung,eb425161la";
   29         };
   30 
   31         thermal-zones {
   32                 battery-thermal {
   33                         /* This zone will be polled by the battery temperature code */
   34                         polling-delay = <0>;
   35                         polling-delay-passive = <0>;
   36                         thermal-sensors = <&bat_therm>;
   37                 };
   38         };
   39 
   40         bat_therm: thermistor {
   41                 compatible = "samsung,1404-001221";
   42                 io-channels = <&gpadc 0x02>; /* BatTemp */
   43                 pullup-uv = <1800000>;
   44                 pullup-ohm = <230000>;
   45                 pulldown-ohm = <0>;
   46                 #thermal-sensor-cells = <0>;
   47         };
   48 
   49         /* TI TXS0206 level translator for 2.9 V */
   50         sd_level_translator: regulator-gpio {
   51                 compatible = "regulator-fixed";
   52 
   53                 /* GPIO87 EN */
   54                 gpios = <&gpio2 23 GPIO_ACTIVE_HIGH>;
   55                 enable-active-high;
   56 
   57                 regulator-name = "sd-level-translator";
   58                 regulator-min-microvolt = <2900000>;
   59                 regulator-max-microvolt = <2900000>;
   60                 regulator-type = "voltage";
   61 
   62                 startup-delay-us = <200>;
   63 
   64                 pinctrl-names = "default";
   65                 pinctrl-0 = <&sd_level_translator_default>;
   66         };
   67 
   68         /* External LDO MIC5366-3.3YMT for eMMC */
   69         ldo_3v3_reg: regulator-gpio-ldo-3v3 {
   70                 compatible = "regulator-fixed";
   71                 regulator-name = "en-3v3-fixed-supply";
   72                 regulator-min-microvolt = <3300000>;
   73                 regulator-max-microvolt = <3300000>;
   74                 gpio = <&gpio6 31 GPIO_ACTIVE_HIGH>;
   75                 startup-delay-us = <5000>;
   76                 enable-active-high;
   77                 pinctrl-names = "default";
   78                 pinctrl-0 = <&emmc_ldo_en_default_mode>;
   79         };
   80 
   81         /*
   82          * External Ricoh RP152L010B-TR LCD LDO regulator for the display.
   83          * LCD_PWR_EN controls both a 3.0V and 1.8V output.
   84          */
   85         lcd_3v0_reg: regulator-gpio-lcd-3v0 {
   86                 compatible = "regulator-fixed";
   87                 /* Supplied in turn by VBAT */
   88                 regulator-name = "VREG_LCD_3V0";
   89                 regulator-min-microvolt = <3000000>;
   90                 regulator-max-microvolt = <3000000>;
   91                 /* GPIO219 controls this regulator */
   92                 gpio = <&gpio6 27 GPIO_ACTIVE_HIGH>;
   93                 enable-active-high;
   94                 pinctrl-names = "default";
   95                 pinctrl-0 = <&lcd_pwr_en_default_mode>;
   96         };
   97         lcd_1v8_reg: regulator-gpio-lcd-1v8 {
   98                 compatible = "regulator-fixed";
   99                 /* Supplied in turn by VBAT */
  100                 regulator-name = "VREG_LCD_1V8";
  101                 regulator-min-microvolt = <1800000>;
  102                 regulator-max-microvolt = <1800000>;
  103                 /* GPIO219 controls this regulator too */
  104                 gpio = <&gpio6 27 GPIO_ACTIVE_HIGH>;
  105                 enable-active-high;
  106                 pinctrl-names = "default";
  107                 pinctrl-0 = <&lcd_pwr_en_default_mode>;
  108         };
  109 
  110         wlan_en: regulator-gpio-wlan-en {
  111                 compatible = "regulator-fixed";
  112                 regulator-name = "wl-reg-on";
  113                 regulator-min-microvolt = <3000000>;
  114                 regulator-max-microvolt = <3000000>;
  115                 startup-delay-us = <200000>;
  116                 /* GPIO215 WLAN_EN */
  117                 gpio = <&gpio6 23 GPIO_ACTIVE_HIGH>;
  118                 enable-active-high;
  119                 pinctrl-names = "default";
  120                 pinctrl-0 = <&wlan_en_default_mode>;
  121         };
  122 
  123         vibrator {
  124                 compatible = "gpio-vibrator";
  125                 enable-gpios = <&gpio6 3 GPIO_ACTIVE_HIGH>;
  126                 pinctrl-names = "default";
  127                 pinctrl-0 = <&vibrator_default>;
  128         };
  129 
  130         gpio-keys {
  131                 compatible = "gpio-keys";
  132                 pinctrl-names = "default";
  133                 pinctrl-0 = <&gpio_keys_default_mode>;
  134 
  135                 button-home {
  136                         linux,code = <KEY_HOME>;
  137                         label = "HOME";
  138                         /* GPIO91 */
  139                         gpios = <&gpio2 27 GPIO_ACTIVE_LOW>;
  140                 };
  141                 button-volup {
  142                         linux,code = <KEY_VOLUMEUP>;
  143                         label = "VOL+";
  144                         /* GPIO67 */
  145                         gpios = <&gpio2 3 GPIO_ACTIVE_LOW>;
  146                 };
  147                 button-voldown {
  148                         linux,code = <KEY_VOLUMEDOWN>;
  149                         label = "VOL-";
  150                         /* GPIO92 */
  151                         gpios = <&gpio2 28 GPIO_ACTIVE_LOW>;
  152                 };
  153         };
  154 
  155         ktd253: backlight {
  156                 compatible = "kinetic,ktd253";
  157                 /* GPIO 69 */
  158                 enable-gpios = <&gpio2 5 GPIO_ACTIVE_HIGH>;
  159                 /* Default to 13/32 brightness */
  160                 default-brightness = <13>;
  161                 pinctrl-names = "default";
  162                 pinctrl-0 = <&gpio_backlight_default_mode>;
  163         };
  164 
  165         /* Richtek RT8515GQW Flash LED Driver IC */
  166         flash {
  167                 compatible = "richtek,rt8515";
  168                 /* GPIO 140 */
  169                 enf-gpios = <&gpio4 12 GPIO_ACTIVE_HIGH>;
  170                 /* GPIO 141 */
  171                 ent-gpios = <&gpio4 13 GPIO_ACTIVE_HIGH>;
  172                 /*
  173                  * RFS is 16 kOhm and RTS is 100 kOhm giving
  174                  * the flash max current 343mA and torch max
  175                  * current 55 mA.
  176                  */
  177                 richtek,rfs-ohms = <16000>;
  178                 richtek,rts-ohms = <100000>;
  179                 pinctrl-names = "default";
  180                 pinctrl-0 = <&gpio_flash_default_mode>;
  181 
  182                 led {
  183                         function = LED_FUNCTION_FLASH;
  184                         color = <LED_COLOR_ID_WHITE>;
  185                         flash-max-timeout-us = <250000>;
  186                         flash-max-microamp = <343750>;
  187                         led-max-microamp = <55000>;
  188                 };
  189         };
  190 
  191         i2c-gpio-0 {
  192                 compatible = "i2c-gpio";
  193                 sda-gpios = <&gpio4 16 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
  194                 scl-gpios = <&gpio4 15 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
  195                 pinctrl-names = "default";
  196                 pinctrl-0 = <&i2c_gpio_0_default>;
  197                 #address-cells = <1>;
  198                 #size-cells = <0>;
  199                 /* TODO: this should be used by the NCP6914 Camera power management unit */
  200         };
  201 
  202         i2c-gpio-1 {
  203                 compatible = "i2c-gpio";
  204                 sda-gpios = <&gpio4 24 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
  205                 scl-gpios = <&gpio4 23 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
  206                 pinctrl-names = "default";
  207                 pinctrl-0 = <&i2c_gpio_1_default>;
  208                 #address-cells = <1>;
  209                 #size-cells = <0>;
  210                 magnetometer@c {
  211                         compatible = "alps,hscdtd008a";
  212                         reg = <0x0c>;
  213                         avdd-supply = <&ab8500_ldo_aux1_reg>;
  214                         dvdd-supply = <&ab8500_ldo_aux6_reg>;
  215                 };
  216         };
  217 
  218         soc {
  219                 // External Micro SD slot
  220                 mmc@80126000 {
  221                         arm,primecell-periphid = <0x10480180>;
  222                         max-frequency = <100000000>;
  223                         bus-width = <4>;
  224                         cap-sd-highspeed;
  225                         cap-mmc-highspeed;
  226                         st,sig-pin-fbclk;
  227                         full-pwr-cycle;
  228                         vmmc-supply = <&ab8500_ldo_aux3_reg>;
  229                         vqmmc-supply = <&sd_level_translator>;
  230                         pinctrl-names = "default", "sleep";
  231                         pinctrl-0 = <&mc0_a_1_default>;
  232                         pinctrl-1 = <&mc0_a_1_sleep>;
  233                         cd-gpios  = <&gpio6 25 GPIO_ACTIVE_LOW>; // GPIO217
  234                         status = "okay";
  235                 };
  236 
  237                 // WLAN SDIO channel
  238                 mmc@80118000 {
  239                         arm,primecell-periphid = <0x10480180>;
  240                         max-frequency = <50000000>;
  241                         bus-width = <4>;
  242                         non-removable;
  243                         cap-sd-highspeed;
  244                         vmmc-supply = <&wlan_en>;
  245                         pinctrl-names = "default", "sleep";
  246                         pinctrl-0 = <&mc1_a_2_default>;
  247                         pinctrl-1 = <&mc1_a_2_sleep>;
  248                         status = "okay";
  249                         #address-cells = <1>;
  250                         #size-cells = <0>;
  251 
  252                         wifi@1 {
  253                                 compatible = "brcm,bcm4334-fmac", "brcm,bcm4329-fmac";
  254                                 reg = <1>;
  255                                 /* GPIO216 WL_HOST_WAKE */
  256                                 interrupt-parent = <&gpio6>;
  257                                 interrupts = <24 IRQ_TYPE_EDGE_FALLING>;
  258                                 interrupt-names = "host-wake";
  259                                 pinctrl-names = "default";
  260                                 pinctrl-0 = <&wlan_default_mode>;
  261                         };
  262                 };
  263 
  264                 /*
  265                  * eMMC seems to be mostly Samsung KLM4G1YE4C "4YMD1R"
  266                  */
  267                 mmc@80005000 {
  268                         arm,primecell-periphid = <0x10480180>;
  269                         max-frequency = <100000000>;
  270                         bus-width = <8>;
  271                         non-removable;
  272                         cap-mmc-highspeed;
  273                         mmc-ddr-1_8v;
  274                         no-sdio;
  275                         no-sd;
  276                         /* From datasheet page 26 figure 9: 300 ms set-up time for 4GB */
  277                         post-power-on-delay-ms = <300>;
  278                         vmmc-supply = <&ldo_3v3_reg>;
  279                         pinctrl-names = "default", "sleep";
  280                         pinctrl-0 = <&mc2_a_1_default>;
  281                         pinctrl-1 = <&mc2_a_1_sleep>;
  282 
  283                         status = "okay";
  284                 };
  285 
  286                 /* GBF (Bluetooth) UART */
  287                 uart@80120000 {
  288                         pinctrl-names = "default", "sleep";
  289                         pinctrl-0 = <&u0_a_1_default>;
  290                         pinctrl-1 = <&u0_a_1_sleep>;
  291                         status = "okay";
  292 
  293                         bluetooth {
  294                                 /* BCM4334B0 actually */
  295                                 compatible = "brcm,bcm4330-bt";
  296                                 shutdown-gpios = <&gpio6 30 GPIO_ACTIVE_HIGH>;
  297                                 device-wakeup-gpios = <&gpio6 7 GPIO_ACTIVE_HIGH>;
  298                                 host-wakeup-gpios = <&gpio3 1 GPIO_ACTIVE_HIGH>;
  299                                 pinctrl-names = "default";
  300                                 pinctrl-0 = <&bluetooth_default_mode>;
  301                         };
  302                 };
  303 
  304                 /* GPF UART */
  305                 uart@80121000 {
  306                         status = "okay";
  307                         pinctrl-names = "default", "sleep";
  308                         pinctrl-0 = <&u1rxtx_a_1_default &u1ctsrts_a_1_default>;
  309                         pinctrl-1 = <&u1rxtx_a_1_sleep &u1ctsrts_a_1_sleep>;
  310                 };
  311 
  312                 /* Debugging console UART connected to AB8505 USB */
  313                 uart@80007000 {
  314                         status = "okay";
  315                         pinctrl-names = "default", "sleep";
  316                         pinctrl-0 = <&u2rxtx_c_1_default>;
  317                         pinctrl-1 = <&u2rxtx_c_1_sleep>;
  318                 };
  319 
  320                 prcmu@80157000 {
  321                         ab8505 {
  322                                 phy {
  323                                         pinctrl-names = "default", "sleep";
  324                                         pinctrl-0 = <&usb_a_1_default>;
  325                                         pinctrl-1 = <&usb_a_1_sleep>;
  326                                 };
  327 
  328                                 ab8500_fg {
  329                                         line-impedance-micro-ohms = <36000>;
  330                                 };
  331 
  332                                 regulator {
  333                                         ab8500_ldo_aux1 {
  334                                                 /* Used for VDD for sensors */
  335                                                 regulator-name = "AUX1";
  336                                                 regulator-min-microvolt = <3000000>;
  337                                                 regulator-max-microvolt = <3300000>;
  338                                         };
  339 
  340                                         ab8500_ldo_aux2 {
  341                                                 /* Supplies the MMS touchscreen only with 3.3V */
  342                                                 regulator-name = "AUX2";
  343                                                 regulator-min-microvolt = <3300000>;
  344                                                 regulator-max-microvolt = <3300000>;
  345                                         };
  346 
  347                                         ab8500_ldo_aux3 {
  348                                                 /* Used for voltage for external MMC/SD card */
  349                                                 regulator-name = "AUX3";
  350                                                 regulator-min-microvolt = <1100000>;
  351                                                 regulator-max-microvolt = <3300000>;
  352                                         };
  353 
  354                                         ab8500_ldo_aux4 {
  355                                                 regulator-name = "AUX4";
  356                                                 /* Hammer to 3.3V for the touchscreen */
  357                                                 regulator-min-microvolt = <3300000>;
  358                                                 regulator-max-microvolt = <3300000>;
  359                                         };
  360 
  361                                         ab8500_ldo_aux5 {
  362                                                 regulator-name = "AUX5";
  363                                                 /* 1.8V for the touchscreen */
  364                                                 regulator-min-microvolt = <1800000>;
  365                                                 regulator-max-microvolt = <1800000>;
  366                                         };
  367 
  368                                         ab8500_ldo_aux6 {
  369                                                 regulator-name = "AUX6";
  370                                                 /* Used by sensors for 1.8 V in R0.1+ */
  371                                                 regulator-min-microvolt = <1800000>;
  372                                                 regulator-max-microvolt = <1800000>;
  373                                         };
  374 
  375                                         ab8500_ldo_aux8 {
  376                                                 /* Unused */
  377                                                 regulator-name = "AUX8";
  378                                         };
  379                                 };
  380                         };
  381                 };
  382 
  383                 /* I2C0 */
  384                 i2c@80004000 {
  385                         status = "okay";
  386 
  387                         pinctrl-names = "default", "sleep";
  388                         pinctrl-0 = <&i2c0_a_1_default>;
  389                         pinctrl-1 = <&i2c0_a_1_sleep>;
  390 
  391                         proximity@44 {
  392                                 compatible = "sharp,gp2ap002s00f";
  393                                 clock-frequency = <400000>;
  394                                 reg = <0x44>;
  395 
  396                                 interrupt-parent = <&gpio4>;
  397                                 interrupts = <18 IRQ_TYPE_EDGE_FALLING>;
  398                                 vdd-supply = <&ab8500_ldo_aux1_reg>;
  399                                 vio-supply = <&ab8500_ldo_aux6_reg>;
  400                                 pinctrl-names = "default";
  401                                 pinctrl-0 = <&gp2ap002_kyle_default>;
  402                                 sharp,proximity-far-hysteresis = /bits/ 8 <0x2f>;
  403                                 sharp,proximity-close-hysteresis = /bits/ 8 <0x0f>;
  404                         };
  405                 };
  406 
  407                 /* I2C2 */
  408                 i2c@80128000 {
  409                         status = "okay";
  410 
  411                         pinctrl-names = "default", "sleep";
  412                         pinctrl-0 = <&i2c2_b_2_default>;
  413                         pinctrl-1 = <&i2c2_b_2_sleep>;
  414 
  415                         accel@18 {
  416                                 compatible = "bosch,bma254";
  417                                 clock-frequency = <400000>;
  418                                 reg = <0x18>;
  419 
  420                                 mount-matrix = "-1", "0", "0",
  421                                                "0", "-1", "0",
  422                                                "0", "0", "-1";
  423                                 vdd-supply = <&ab8500_ldo_aux1_reg>;
  424                                 vddio-supply = <&ab8500_ldo_aux6_reg>;
  425                         };
  426                 };
  427 
  428                 /* I2C3 */
  429                 i2c@80110000 {
  430                         status = "okay";
  431 
  432                         pinctrl-names = "default", "sleep";
  433                         pinctrl-0 = <&i2c3_c_2_default>;
  434                         pinctrl-1 = <&i2c3_c_2_sleep>;
  435 
  436                         /* Melfas MMS134S touchscreen */
  437                         touchscreen@48 {
  438                                 compatible = "melfas,mms134s";
  439                                 reg = <0x48>;
  440                                 /* GPIO218 for IRQ */
  441                                 interrupt-parent = <&gpio6>;
  442                                 interrupts = <26 IRQ_TYPE_EDGE_FALLING>;
  443                                 /* AVDD is "analog supply", 2.57-3.47 V */
  444                                 avdd-supply = <&ab8500_ldo_aux2_reg>;
  445                                 /* VDD is "digital supply" 1.71-3.47V */
  446                                 vdd-supply = <&ab8500_ldo_aux5_reg>;
  447 
  448                                 touchscreen-size-x = <480>;
  449                                 touchscreen-size-y = <800>;
  450 
  451                                 pinctrl-names = "default";
  452                                 pinctrl-0 = <&mms134s_kyle_default>;
  453                         };
  454                 };
  455 
  456                 mcde@a0350000 {
  457                         status = "okay";
  458                         pinctrl-names = "default";
  459                         pinctrl-0 = <&dsi_default_mode>;
  460 
  461                         dsi@a0351000 {
  462                                 panel {
  463                                         /*
  464                                          * NT35510-based Hydis HVA40WV1
  465                                          * Apparently some Kyle models can have a NT35512 fitted
  466                                          * here instead. In that case the boot loader needs to
  467                                          * modify this compatible.
  468                                          */
  469                                         compatible = "hydis,hva40wv1", "novatek,nt35510";
  470                                         reg = <0>;
  471                                         /* v_lcd_3v0 2.3-4.8V */
  472                                         vdd-supply = <&lcd_3v0_reg>;
  473                                         /* v_lcd_1v8 1.65-3.3V */
  474                                         vddi-supply = <&lcd_1v8_reg>;
  475                                         /* GPIO 139 */
  476                                         reset-gpios = <&gpio4 11 GPIO_ACTIVE_LOW>;
  477                                         pinctrl-names = "default";
  478                                         pinctrl-0 = <&display_default_mode>;
  479                                         backlight = <&ktd253>;
  480                                 };
  481                         };
  482                 };
  483         };
  484 };
  485 
  486 &pinctrl {
  487         /*
  488          * This extends the MC0_A_1 default config to include
  489          * the card detect GPIO217 line.
  490          */
  491         sdi0 {
  492                 mc0_a_1_default {
  493                         default_cfg1 {
  494                                 /* GPIO18, 19 & 20 unused so pull down */
  495                                 ste,config = <&gpio_in_pd>;
  496                         };
  497                         default_cfg4 {
  498                                 pins = "GPIO217_AH12"; /* card detect */
  499                                 ste,config = <&gpio_in_pd>;
  500                         };
  501                 };
  502         };
  503 
  504         mcde {
  505                 dsi_default_mode: dsi_default {
  506                         default_mux1 {
  507                                 /* Mux in VSI0 used for DSI TE */
  508                                 function = "lcd";
  509                                 groups = "lcdvsi0_a_1"; /* VSI0 for LCD */
  510                         };
  511                         default_cfg1 {
  512                                 pins = "GPIO68_E1"; /* VSI0 */
  513                                 ste,config = <&in_nopull>;
  514                         };
  515                 };
  516         };
  517 
  518         /* Two GPIO lines used by the display */
  519         display {
  520                 display_default_mode: display_default {
  521                         kyle_cfg1 {
  522                                 /*
  523                                  * OLED DETECT or check_pba, this appears to be high
  524                                  * on "PBA" which I guess is "prototype board A".
  525                                  */
  526                                 pins = "GPIO93_B7";
  527                                 ste,config = <&gpio_in_nopull>;
  528                         };
  529                         kyle_cfg2 {
  530                                 pins = "GPIO139_C9";
  531                                 /*
  532                                  * MIPI_DSI0_RESET_N resets the display, leave high
  533                                  * (de-asserted) so we only assert reset explicitly
  534                                  * from the display driver.
  535                                  */
  536                                 ste,config = <&gpio_out_hi>;
  537                         };
  538                 };
  539         };
  540 
  541         /* GPIO that enables the LDO regulator for the LCD display */
  542         lcd-ldo {
  543                 lcd_pwr_en_default_mode: lcd_pwr_en_default {
  544                         /* LCD_PWR_EN on GPIO219 */
  545                         kyle_cfg1 {
  546                                 pins = "GPIO219_AG10";
  547                                 ste,config = <&gpio_out_hi>;
  548                         };
  549                 };
  550         };
  551 
  552         backlight {
  553                 gpio_backlight_default_mode: backlight_default {
  554                         kyle_cfg1 {
  555                                 pins = "GPIO69_E2"; /* LCD_BL_CTRL */
  556                                 ste,config = <&gpio_out_lo>;
  557                         };
  558                 };
  559         };
  560         flash {
  561                 gpio_flash_default_mode: flash_default {
  562                         kyle_cfg1 {
  563                                 pins = "GPIO140_B11", "GPIO141_C12";
  564                                 ste,config = <&gpio_out_lo>;
  565                         };
  566                 };
  567         };
  568         /* GPIO that enables the 2.9V SD card level translator */
  569         sd-level-translator {
  570                 sd_level_translator_default: sd_level_translator_default {
  571                         /* level shifter on GPIO87 */
  572                         kyle_cfg1 {
  573                                 pins = "GPIO87_B3";
  574                                 ste,config = <&gpio_out_hi>;
  575                         };
  576                 };
  577         };
  578         /* GPIO that enables the LDO regulator for the eMMC */
  579         emmc-ldo {
  580                 emmc_ldo_en_default_mode: emmc_ldo_default {
  581                         /* LDO enable on GPIO223 */
  582                         kyle_cfg1 {
  583                                 pins = "GPIO223_AH9";
  584                                 ste,config = <&gpio_out_hi>;
  585                         };
  586                 };
  587         };
  588         /* GPIO keys */
  589         gpio-keys {
  590                 gpio_keys_default_mode: gpio_keys_default {
  591                         kyle_cfg1 {
  592                                 pins = "GPIO67_G2", /* VOL UP */
  593                                        "GPIO91_B6", /* HOME */
  594                                        "GPIO92_D6"; /* VOL DOWN */
  595                                         ste,config = <&gpio_in_pu>;
  596                         };
  597                 };
  598         };
  599         /* Interrupt line for light/proximity sensor GP2AP002 */
  600         gp2ap002 {
  601                 gp2ap002_kyle_default: gp2ap002_kyle {
  602                         kyle_cfg1 {
  603                                 pins = "GPIO146_D13";
  604                                 ste,config = <&gpio_in_nopull>;
  605                         };
  606                 };
  607         };
  608         /* GPIO-based I2C bus for NCP6914 */
  609         i2c-gpio-0 {
  610                 i2c_gpio_0_default: i2c_gpio_0 {
  611                         kyle_cfg1 {
  612                                 pins = "GPIO143_D12", "GPIO144_B13";
  613                                 ste,config = <&gpio_in_nopull>;
  614                         };
  615                 };
  616         };
  617         /* GPIO-based I2C bus for ALPS HSCD compass */
  618         i2c-gpio-1 {
  619                 i2c_gpio_1_default: i2c_gpio_1 {
  620                         kyle_cfg1 {
  621                                 pins = "GPIO151_B17", "GPIO152_D16";
  622                                 ste,config = <&gpio_in_nopull>;
  623                         };
  624                 };
  625         };
  626         wlan {
  627                 wlan_default_mode: wlan_default {
  628                         kyle_cfg1 {
  629                                 pins = "GPIO216_AG12";
  630                                 ste,config = <&gpio_in_pd>;
  631                         };
  632                 };
  633                 wlan_en_default_mode: wlan_en_default {
  634                         kyle_cfg2 {
  635                                 pins = "GPIO215_AH13";
  636                                 ste,config = <&gpio_out_lo>;
  637                         };
  638                 };
  639         };
  640         bluetooth {
  641                 bluetooth_default_mode: bluetooth_default {
  642                         kyle_cfg1 {
  643                                 pins = "GPIO199_AH23", "GPIO222_AJ9";
  644                                 ste,config = <&gpio_out_lo>;
  645                         };
  646                         kyle_cfg2 {
  647                                 pins = "GPIO97_D9";
  648                                 ste,config = <&gpio_in_nopull>;
  649                         };
  650                 };
  651         };
  652         vibrator {
  653                 vibrator_default: vibrator_default {
  654                         kyle_cfg1 {
  655                                 pins = "GPIO195_AG28";  /* MOT_EN */
  656                                 ste,config = <&gpio_out_lo>;
  657                         };
  658                 };
  659         };
  660         /* Interrupt line for the Melfas MMS134S touchscreen */
  661         touchscreen {
  662                 mms134s_kyle_default: mms134s_kyle {
  663                         kyle_cfg1 {
  664                                 pins = "GPIO218_AH11";
  665                                 ste,config = <&gpio_in_nopull>;
  666                         };
  667                 };
  668         };
  669 };
  670 
  671 &ab8505_gpio {
  672         /* Hog a few default settings */
  673         pinctrl-names = "default";
  674         pinctrl-0 = <&gpio_default>;
  675 
  676         gpio {
  677                 gpio_default: gpio_default {
  678                         kyle_mux {
  679                                 /* Change unused pins to GPIO mode */
  680                                 function = "gpio";
  681                                 groups = "gpio3_a_1",   /* default: SysClkReq4 */
  682                                          "gpio14_a_1";  /* default: PWMOut1 */
  683                         };
  684                         kyle_cfg1 {
  685                                 pins = "GPIO11_B17", "GPIO13_D17", "GPIO50_L4";
  686                                 bias-disable;
  687                         };
  688                 };
  689         };
  690 };

Cache object: c34235664782b8489c9e32a5aacb677a


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.