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

Cache object: 66cd7752423626048bb4a96dfaa08b7f


[ 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.