1// SPDX-License-Identifier: GPL-2.0-only 2/* 3 * Devicetree for the Samsung Galaxy Exhibit SGH-T599 also known as Codina-TMO, 4 * the "TMO" shall be read "T-Mobile" as this phone was produced exlusively 5 * for T-Mobile in the United States. 6 * 7 * This phone is closely related to the Codina, but has: 8 * - No CPU speed cap, full ~1GHz rate 9 * - Different power management IC, AB8505 10 * - As AB8505 has a micro USB phy, no TI TSU6111 11 * - Different power routing such as the removal of the external LDO for the 12 * touchscreen in favor of using the AB8505 13 * - Using a regulator for the key backlight LED 14 * - Using the Samsung S6D27A1 panel by default 15 * - The panel is using one of the ordinary AB8505 regulators for 1.8V 16 * - WiFi/Bluetooth combi chip upgraded to BCM4334 17 * - GPIO for backlight control moved from 68 to 69 18 */ 19 20/dts-v1/; 21#include "ste-db8500.dtsi" 22#include "ste-ab8505.dtsi" 23#include "ste-dbx5x0-pinctrl.dtsi" 24#include <dt-bindings/gpio/gpio.h> 25#include <dt-bindings/leds/common.h> 26#include <dt-bindings/input/input.h> 27#include <dt-bindings/interrupt-controller/irq.h> 28 29/ { 30 model = "Samsung Galaxy Exhibit (SGH-T599)"; 31 compatible = "samsung,codina-tmo", "st-ericsson,u8500"; 32 33 chosen { 34 stdout-path = &serial2; 35 }; 36 37 battery: battery { 38 compatible = "samsung,eb425161lu"; 39 }; 40 41 thermal-zones { 42 battery-thermal { 43 /* This zone will be polled by the battery temperature code */ 44 polling-delay = <0>; 45 polling-delay-passive = <0>; 46 thermal-sensors = <&bat_therm>; 47 }; 48 }; 49 50 bat_therm: thermistor { 51 compatible = "samsung,1404-001221"; 52 io-channels = <&gpadc 0x02>; /* BatTemp */ 53 pullup-uv = <1800000>; 54 pullup-ohm = <230000>; 55 pulldown-ohm = <0>; 56 #thermal-sensor-cells = <0>; 57 }; 58 59 /* TI TXS0206 level translator for 2.9 V */ 60 sd_level_translator: regulator-gpio { 61 compatible = "regulator-fixed"; 62 63 /* GPIO87 EN */ 64 gpios = <&gpio2 23 GPIO_ACTIVE_HIGH>; 65 enable-active-high; 66 67 regulator-name = "sd-level-translator"; 68 regulator-min-microvolt = <2900000>; 69 regulator-max-microvolt = <2900000>; 70 regulator-type = "voltage"; 71 72 startup-delay-us = <200>; 73 74 pinctrl-names = "default"; 75 pinctrl-0 = <&sd_level_translator_default>; 76 }; 77 78 /* External LDO MIC5366-3.3YMT for eMMC */ 79 ldo_3v3_reg: regulator-gpio-ldo-3v3 { 80 compatible = "regulator-fixed"; 81 /* Supplied in turn by VBAT */ 82 regulator-name = "VMEM_3V3"; 83 regulator-min-microvolt = <3300000>; 84 regulator-max-microvolt = <3300000>; 85 gpios = <&gpio6 31 GPIO_ACTIVE_HIGH>; 86 startup-delay-us = <5000>; 87 enable-active-high; 88 pinctrl-names = "default"; 89 pinctrl-0 = <&emmc_ldo_en_default_mode>; 90 }; 91 92 /* 93 * External Ricoh RP152L010B-TR LCD LDO regulator for the display. 94 * LCD_PWR_EN controls both the 3.0V output. 95 */ 96 lcd_3v0_reg: regulator-gpio-lcd-3v0 { 97 compatible = "regulator-fixed"; 98 /* Supplied in turn by VBAT */ 99 regulator-name = "VREG_LCD_3.0V"; 100 regulator-min-microvolt = <3000000>; 101 regulator-max-microvolt = <3000000>; 102 /* GPIO219 controls this regulator */ 103 gpio = <&gpio6 27 GPIO_ACTIVE_HIGH>; 104 enable-active-high; 105 pinctrl-names = "default"; 106 pinctrl-0 = <&lcd_pwr_en_default_mode>; 107 }; 108 109 /* 110 * This regulator is a GPIO line that drives the Broadcom WLAN 111 * line WL_REG_ON high and enables the internal regulators 112 * inside the chip. Unfortunatley it is erroneously named 113 * WLAN_RST_N on the schematic but it is not a reset line. 114 * 115 * The voltage specified here is only used to determine the OCR mask, 116 * the for the SDIO connector, the chip is actually connected 117 * directly to VBAT. 118 */ 119 wl_reg: regulator-gpio-wlan { 120 compatible = "regulator-fixed"; 121 regulator-name = "WL_REG_ON"; 122 regulator-min-microvolt = <3000000>; 123 regulator-max-microvolt = <3000000>; 124 startup-delay-us = <100000>; 125 /* GPIO215 (WLAN_RST_N to WL_REG_ON) */ 126 gpio = <&gpio6 23 GPIO_ACTIVE_HIGH>; 127 enable-active-high; 128 pinctrl-names = "default"; 129 pinctrl-0 = <&wlan_ldo_en_default>; 130 }; 131 132 vibrator { 133 compatible = "gpio-vibrator"; 134 /* GPIO195 "MOT_EN" */ 135 enable-gpios = <&gpio6 3 GPIO_ACTIVE_HIGH>; 136 pinctrl-names = "default"; 137 pinctrl-0 = <&vibrator_default>; 138 }; 139 140 gpio-keys { 141 compatible = "gpio-keys"; 142 pinctrl-names = "default"; 143 pinctrl-0 = <&gpio_keys_default_mode>; 144 145 button-home { 146 linux,code = <KEY_HOME>; 147 label = "HOME"; 148 /* GPIO91 */ 149 gpios = <&gpio2 27 GPIO_ACTIVE_LOW>; 150 }; 151 button-volup { 152 linux,code = <KEY_VOLUMEUP>; 153 label = "VOL+"; 154 /* GPIO67 */ 155 gpios = <&gpio2 3 GPIO_ACTIVE_LOW>; 156 }; 157 button-voldown { 158 linux,code = <KEY_VOLUMEDOWN>; 159 label = "VOL-"; 160 /* GPIO92 */ 161 gpios = <&gpio2 28 GPIO_ACTIVE_LOW>; 162 }; 163 }; 164 165 led-touchkeys { 166 compatible = "regulator-led"; 167 vled-supply = <&ab8500_ldo_aux4_reg>; // 3.3V 168 default-state = "on"; 169 function = LED_FUNCTION_KBD_BACKLIGHT; 170 color = <LED_COLOR_ID_WHITE>; 171 }; 172 173 ktd253: backlight { 174 compatible = "kinetic,ktd253"; 175 /* GPIO69 is used on Codina R0.4 and Codina TMO */ 176 enable-gpios = <&gpio2 5 GPIO_ACTIVE_HIGH>; 177 /* Default to 13/32 brightness */ 178 default-brightness = <13>; 179 pinctrl-names = "default"; 180 pinctrl-0 = <&ktd253_backlight_default_mode>; 181 }; 182 183 /* Richtek RT8515GQW Flash LED Driver IC */ 184 flash { 185 compatible = "richtek,rt8515"; 186 /* GPIO 140 */ 187 enf-gpios = <&gpio4 12 GPIO_ACTIVE_HIGH>; 188 /* GPIO 141 */ 189 ent-gpios = <&gpio4 13 GPIO_ACTIVE_HIGH>; 190 /* 191 * RFS is 16 kOhm and RTS is 100 kOhm giving 192 * the flash max current 343mA and torch max 193 * current 55 mA. 194 */ 195 richtek,rfs-ohms = <16000>; 196 richtek,rts-ohms = <100000>; 197 pinctrl-names = "default"; 198 pinctrl-0 = <&gpio_flash_default_mode>; 199 200 led { 201 function = LED_FUNCTION_FLASH; 202 color = <LED_COLOR_ID_WHITE>; 203 flash-max-timeout-us = <250000>; 204 flash-max-microamp = <343750>; 205 led-max-microamp = <55000>; 206 }; 207 }; 208 209 /* Bit-banged I2C on GPIO143 and GPIO144 also called "SUBPMU I2C" */ 210 i2c-gpio-0 { 211 compatible = "i2c-gpio"; 212 sda-gpios = <&gpio4 16 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; 213 scl-gpios = <&gpio4 15 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; 214 pinctrl-names = "default"; 215 pinctrl-0 = <&i2c_gpio_0_default>; 216 #address-cells = <1>; 217 #size-cells = <0>; 218 219 /* TODO: this should also be used by the SM5103 Camera power management unit */ 220 }; 221 222 /* Bit-banged I2C on GPIO151 and GPIO152 also called "COMP I2C" */ 223 i2c-gpio-1 { 224 compatible = "i2c-gpio"; 225 sda-gpios = <&gpio4 24 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; 226 scl-gpios = <&gpio4 23 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; 227 pinctrl-names = "default"; 228 pinctrl-0 = <&i2c_gpio_1_default>; 229 #address-cells = <1>; 230 #size-cells = <0>; 231 232 magnetometer@c { 233 compatible = "alps,hscdtd008a"; 234 reg = <0x0c>; 235 clock-frequency = <400000>; 236 237 avdd-supply = <&ab8500_ldo_aux1_reg>; // 3V 238 dvdd-supply = <&ab8500_ldo_aux8_reg>; // 1.8V 239 }; 240 }; 241 242 spi-gpio-0 { 243 compatible = "spi-gpio"; 244 /* Clock on GPIO220, pin SCL */ 245 sck-gpios = <&gpio6 28 GPIO_ACTIVE_HIGH>; 246 /* MOSI on GPIO224, pin SDI "slave data in" */ 247 mosi-gpios = <&gpio7 0 GPIO_ACTIVE_HIGH>; 248 /* MISO on GPIO225, pin SDO "slave data out" */ 249 miso-gpios = <&gpio7 1 GPIO_ACTIVE_HIGH>; 250 /* Chip select on GPIO201 */ 251 cs-gpios = <&gpio6 9 GPIO_ACTIVE_LOW>; 252 num-chipselects = <1>; 253 254 pinctrl-names = "default"; 255 pinctrl-0 = <&spi_gpio_0_default>; 256 #address-cells = <1>; 257 #size-cells = <0>; 258 259 panel@0 { 260 compatible = "samsung,s6d27a1"; 261 spi-max-frequency = <1200000>; 262 /* TYPE 3: inverse clock polarity and phase */ 263 spi-cpha; 264 spi-cpol; 265 266 reg = <0>; 267 vci-supply = <&lcd_3v0_reg>; 268 vccio-supply = <&ab8500_ldo_aux6_reg>; 269 270 /* Reset on GPIO139 */ 271 reset-gpios = <&gpio4 11 GPIO_ACTIVE_LOW>; 272 /* LCD_VGH/LCD_DETECT, ESD IRQ on GPIO93 */ 273 interrupt-parent = <&gpio2>; 274 interrupts = <29 IRQ_TYPE_EDGE_RISING>; 275 276 pinctrl-names = "default"; 277 pinctrl-0 = <&panel_default_mode>; 278 backlight = <&ktd253>; 279 280 port { 281 panel_in: endpoint { 282 remote-endpoint = <&display_out>; 283 }; 284 }; 285 }; 286 }; 287 288 soc { 289 /* External Micro SD slot */ 290 mmc@80126000 { 291 arm,primecell-periphid = <0x10480180>; 292 max-frequency = <100000000>; 293 bus-width = <4>; 294 cap-sd-highspeed; 295 cap-mmc-highspeed; 296 st,sig-pin-fbclk; 297 full-pwr-cycle; 298 /* MMC is powered by AUX3 1.2V .. 2.91V */ 299 vmmc-supply = <&ab8500_ldo_aux3_reg>; 300 /* 2.9 V level translator is using AUX3 at 2.9 V as well */ 301 vqmmc-supply = <&sd_level_translator>; 302 pinctrl-names = "default", "sleep"; 303 pinctrl-0 = <&mc0_a_2_default>; 304 pinctrl-1 = <&mc0_a_2_sleep>; 305 cd-gpios = <&gpio6 25 GPIO_ACTIVE_LOW>; // GPIO217 306 status = "okay"; 307 }; 308 309 /* WLAN SDIO channel */ 310 mmc@80118000 { 311 arm,primecell-periphid = <0x10480180>; 312 max-frequency = <50000000>; 313 bus-width = <4>; 314 non-removable; 315 cap-sd-highspeed; 316 pinctrl-names = "default", "sleep"; 317 pinctrl-0 = <&mc1_a_2_default>; 318 pinctrl-1 = <&mc1_a_2_sleep>; 319 /* 320 * GPIO-controlled voltage enablement: this drives 321 * the WL_REG_ON line high when we use this device. 322 * Represented as regulator to fill OCR mask. 323 */ 324 vmmc-supply = <&wl_reg>; 325 326 #address-cells = <1>; 327 #size-cells = <0>; 328 status = "okay"; 329 330 wifi@1 { 331 compatible = "brcm,bcm4334-fmac", "brcm,bcm4329-fmac"; 332 reg = <1>; 333 /* GPIO216 WL_HOST_WAKE */ 334 interrupt-parent = <&gpio6>; 335 interrupts = <24 IRQ_TYPE_EDGE_FALLING>; 336 interrupt-names = "host-wake"; 337 pinctrl-names = "default"; 338 pinctrl-0 = <&wlan_default_mode>; 339 }; 340 }; 341 342 /* eMMC */ 343 mmc@80005000 { 344 arm,primecell-periphid = <0x10480180>; 345 max-frequency = <100000000>; 346 bus-width = <8>; 347 non-removable; 348 cap-mmc-highspeed; 349 mmc-ddr-1_8v; 350 no-sdio; 351 no-sd; 352 vmmc-supply = <&ldo_3v3_reg>; 353 pinctrl-names = "default", "sleep"; 354 /* 355 * GPIO130 will be set to input no pull-up resulting in a resistor 356 * pulling the reset high and taking the memory out of reset. 357 */ 358 pinctrl-0 = <&mc2_a_1_default>; 359 pinctrl-1 = <&mc2_a_1_sleep>; 360 status = "okay"; 361 }; 362 363 /* GBF (Bluetooth) UART */ 364 uart@80120000 { 365 pinctrl-names = "default", "sleep"; 366 pinctrl-0 = <&u0_a_1_default>; 367 pinctrl-1 = <&u0_a_1_sleep>; 368 status = "okay"; 369 370 bluetooth { 371 /* BCM4334B0 actually */ 372 compatible = "brcm,bcm4330-bt"; 373 /* GPIO222 rail BT_VREG_EN to BT_REG_ON */ 374 shutdown-gpios = <&gpio6 30 GPIO_ACTIVE_HIGH>; 375 /* BT_WAKE on GPIO199 */ 376 device-wakeup-gpios = <&gpio6 7 GPIO_ACTIVE_HIGH>; 377 /* BT_HOST_WAKE on GPIO97 */ 378 /* FIXME: convert to interrupt */ 379 host-wakeup-gpios = <&gpio3 1 GPIO_ACTIVE_HIGH>; 380 /* BT_RST_N on GPIO209 */ 381 reset-gpios = <&gpio6 17 GPIO_ACTIVE_LOW>; 382 pinctrl-names = "default"; 383 pinctrl-0 = <&bluetooth_default_mode>; 384 }; 385 }; 386 387 /* GPS UART */ 388 uart@80121000 { 389 status = "okay"; 390 pinctrl-names = "default", "sleep"; 391 /* CTS/RTS is not used, CTS is repurposed as GPIO */ 392 pinctrl-0 = <&u1rxtx_a_1_default>; 393 pinctrl-1 = <&u1rxtx_a_1_sleep>; 394 /* FIXME: add a device for the GPS here */ 395 }; 396 397 /* Debugging console UART connected to AB8505 */ 398 uart@80007000 { 399 status = "okay"; 400 pinctrl-names = "default", "sleep"; 401 pinctrl-0 = <&u2rxtx_c_1_default>; 402 pinctrl-1 = <&u2rxtx_c_1_sleep>; 403 }; 404 405 prcmu@80157000 { 406 ab8505 { 407 phy { 408 pinctrl-names = "default", "sleep"; 409 pinctrl-0 = <&usb_a_1_default>; 410 pinctrl-1 = <&usb_a_1_sleep>; 411 }; 412 413 ab8500_fg { 414 line-impedance-micro-ohms = <36000>; 415 }; 416 417 /* This is mostly identical to the Codina v0.4 regulators */ 418 regulator { 419 ab8500_ldo_aux1 { 420 regulator-name = "v-sensors-vdd"; 421 regulator-min-microvolt = <3000000>; 422 regulator-max-microvolt = <3300000>; 423 }; 424 425 ab8500_ldo_aux2 { 426 regulator-name = "v-aux2"; 427 regulator-min-microvolt = <3300000>; 428 regulator-max-microvolt = <3300000>; 429 }; 430 431 ab8500_ldo_aux3 { 432 regulator-name = "v-mmc-sd"; 433 }; 434 435 ab8500_ldo_aux4 { 436 regulator-name = "v-aux4"; 437 /* 438 * Providing some span here makes the touchkey 439 * LEDs actually dimmable. 440 */ 441 regulator-min-microvolt = <1100000>; 442 regulator-max-microvolt = <3300000>; 443 }; 444 445 ab8500_ldo_aux5 { 446 regulator-name = "v-aux5"; 447 regulator-min-microvolt = <1800000>; 448 regulator-max-microvolt = <1800000>; 449 }; 450 451 ab8500_ldo_aux6 { 452 /* 1.8 V to the display */ 453 regulator-name = "v-aux6"; 454 regulator-min-microvolt = <1800000>; 455 regulator-max-microvolt = <1800000>; 456 }; 457 458 ab8500_ldo_aux8 { 459 regulator-name = "v-sensors-vio"; 460 }; 461 }; 462 }; 463 }; 464 465 /* I2C0 also known as "AGC I2C" */ 466 i2c@80004000 { 467 status = "okay"; 468 pinctrl-names = "default", "sleep"; 469 pinctrl-0 = <&i2c0_a_1_default>; 470 pinctrl-1 = <&i2c0_a_1_sleep>; 471 472 proximity@39 { 473 /* Codina has the Amstaos TMD2672 */ 474 compatible = "amstaos,tmd2672"; 475 clock-frequency = <400000>; 476 reg = <0x39>; 477 478 /* IRQ on GPIO146 "PS_INT" */ 479 interrupt-parent = <&gpio4>; 480 interrupts = <18 IRQ_TYPE_EDGE_FALLING>; 481 vdd-supply = <&ab8500_ldo_aux1_reg>; 482 vddio-supply = <&ab8500_ldo_aux8_reg>; 483 pinctrl-names = "default"; 484 pinctrl-0 = <&tmd2672_codina_default>; 485 }; 486 }; 487 488 /* I2C2 on GPIO10 and GPIO11 also called "SENSORS I2C" */ 489 i2c@80128000 { 490 status = "okay"; 491 pinctrl-names = "default", "sleep"; 492 pinctrl-0 = <&i2c2_b_2_default>; 493 pinctrl-1 = <&i2c2_b_2_sleep>; 494 495 /* Bosch BMA254 accelerometer */ 496 accelerometer@18 { 497 compatible = "bosch,bma254"; 498 reg = <0x18>; 499 mount-matrix = "0", "1", "0", 500 "-1", "0", "0", 501 "0", "0", "1"; 502 vddio-supply = <&ab8500_ldo_aux8_reg>; // 1.8V 503 vdd-supply = <&ab8500_ldo_aux1_reg>; // 3V 504 }; 505 }; 506 507 /* I2C3 */ 508 i2c@80110000 { 509 status = "okay"; 510 511 pinctrl-names = "default", "sleep"; 512 pinctrl-0 = <&i2c3_c_2_default>; 513 pinctrl-1 = <&i2c3_c_2_sleep>; 514 515 /* TODO: write bindings and driver for this touchscreen */ 516 517 /* Zinitix BT404 ISP part */ 518 isp@50 { 519 compatible = "zinitix,bt404-isp"; 520 reg = <0x50>; 521 pinctrl-names = "default"; 522 pinctrl-0 = <&tsp_default>; 523 }; 524 525 /* Zinitix BT404 touchscreen, also has the touchkeys for menu and back */ 526 touchscreen@20 { 527 compatible = "zinitix,bt404"; 528 reg = <0x20>; 529 /* GPIO218 (TSP_INT_1V8) */ 530 interrupt-parent = <&gpio6>; 531 interrupts = <26 IRQ_TYPE_EDGE_FALLING>; 532 vcca-supply = <&ab8500_ldo_aux2_reg>; // 3.3V 533 vdd-supply = <&ab8500_ldo_aux5_reg>; // 1.8V 534 zinitix,mode = <2>; 535 touchscreen-size-x = <480>; 536 touchscreen-size-y = <800>; 537 pinctrl-names = "default"; 538 pinctrl-0 = <&tsp_default>; 539 }; 540 }; 541 542 mcde@a0350000 { 543 status = "okay"; 544 pinctrl-names = "default"; 545 pinctrl-0 = <&dpi_default_mode>; 546 547 port { 548 display_out: endpoint { 549 remote-endpoint = <&panel_in>; 550 }; 551 }; 552 }; 553 }; 554}; 555 556&pinctrl { 557 /* 558 * This extends the MC0_A_2 default config to include 559 * the card detect GPIO217 line. 560 */ 561 sdi0 { 562 mc0_a_2_default { 563 default_cfg4 { 564 pins = "GPIO217_AH12"; /* card detect */ 565 ste,config = <&gpio_in_pd>; 566 }; 567 }; 568 }; 569 sdi2 { 570 /* 571 * GPIO130 should be set in GPIO mode and 572 * pulled down. (Not connected.) 573 */ 574 mc2_a_1_default { 575 default_cfg2 { 576 pins = "GPIO130_C8"; /* FBCLK */ 577 ste,config = <&gpio_in_pd>; 578 }; 579 }; 580 }; 581 /* GPIO that enables the 2.9V SD card level translator */ 582 sd-level-translator { 583 sd_level_translator_default: sd_level_translator_default { 584 /* level shifter on GPIO87 */ 585 codina_cfg1 { 586 pins = "GPIO87_B3"; 587 ste,config = <&gpio_out_hi>; 588 }; 589 }; 590 }; 591 /* GPIO that enables the LDO regulator for the eMMC */ 592 emmc-ldo { 593 emmc_ldo_en_default_mode: emmc_ldo_default { 594 /* LDO enable on GPIO223 */ 595 codina_cfg1 { 596 pins = "GPIO223_AH9"; 597 ste,config = <&gpio_out_hi>; 598 }; 599 }; 600 }; 601 /* GPIOs for panel control */ 602 panel { 603 panel_default_mode: panel_default { 604 codina_cfg1 { 605 /* Reset line */ 606 pins = "GPIO139_C9"; 607 ste,config = <&gpio_out_lo>; 608 }; 609 codina_cfg2 { 610 /* ESD IRQ line "LCD detect" */ 611 pins = "GPIO93_B7"; 612 ste,config = <&gpio_in_nopull>; 613 }; 614 }; 615 }; 616 /* GPIO that enables the LDO regulator for the LCD display */ 617 lcd-ldo { 618 lcd_pwr_en_default_mode: lcd_pwr_en_default { 619 /* LCD_PWR_EN on GPIO219 */ 620 codina_cfg1 { 621 pins = "GPIO219_AG10"; 622 ste,config = <&gpio_out_hi>; 623 }; 624 }; 625 }; 626 /* GPIO that enables the WLAN internal LDO regulators */ 627 wlan-ldo { 628 wlan_ldo_en_default: wlan_ldo_default { 629 /* GPIO215 named WLAN_RST_N */ 630 codina_cfg1 { 631 pins = "GPIO215_AH13"; 632 ste,config = <&gpio_out_lo>; 633 }; 634 }; 635 }; 636 /* Backlight GPIO */ 637 backlight { 638 ktd253_backlight_default_mode: backlight_default { 639 skomer_cfg1 { 640 pins = "GPIO69_E2"; /* LCD_BL_CTRL */ 641 ste,config = <&gpio_out_lo>; 642 }; 643 }; 644 }; 645 /* Flash and torch */ 646 flash { 647 gpio_flash_default_mode: flash_default { 648 codina_cfg1 { 649 pins = "GPIO140_B11", "GPIO141_C12"; 650 ste,config = <&gpio_out_lo>; 651 }; 652 }; 653 }; 654 /* GPIO keys */ 655 gpio-keys { 656 gpio_keys_default_mode: gpio_keys_default { 657 skomer_cfg1 { 658 pins = "GPIO67_G2", /* VOL UP */ 659 "GPIO91_B6", /* HOME */ 660 "GPIO92_D6"; /* VOL DOWN */ 661 ste,config = <&gpio_in_pu>; 662 }; 663 }; 664 }; 665 /* Interrupt line for the Zinitix BT404 touchscreen */ 666 tsp { 667 tsp_default: tsp_default { 668 codina_cfg1 { 669 pins = "GPIO218_AH11"; /* TSP_INT_1V8 */ 670 ste,config = <&gpio_in_nopull>; 671 }; 672 }; 673 }; 674 /* Interrupt line for light/proximity sensor TMD2672 */ 675 tmd2672 { 676 tmd2672_codina_default: tmd2672_codina { 677 codina_cfg1 { 678 pins = "GPIO146_D13"; 679 ste,config = <&gpio_in_nopull>; 680 }; 681 }; 682 }; 683 /* GPIO-based I2C bus for subpmu */ 684 i2c-gpio-0 { 685 i2c_gpio_0_default: i2c_gpio_0 { 686 codina_cfg1 { 687 pins = "GPIO143_D12", "GPIO144_B13"; 688 ste,config = <&gpio_in_nopull>; 689 }; 690 }; 691 }; 692 /* GPIO-based I2C bus for the NFC */ 693 i2c-gpio-1 { 694 i2c_gpio_1_default: i2c_gpio_1 { 695 codina_cfg1 { 696 pins = "GPIO151_D17", "GPIO152_D16"; 697 ste,config = <&gpio_in_nopull>; 698 }; 699 }; 700 }; 701 /* GPIO-based SPI bus for the display */ 702 spi-gpio-0 { 703 spi_gpio_0_default: spi_gpio_0_d { 704 codina_cfg1 { 705 pins = "GPIO220_AH10", "GPIO201_AF24", "GPIO224_AG9"; 706 ste,config = <&gpio_out_hi>; 707 }; 708 codina_cfg2 { 709 pins = "GPIO225_AG8"; 710 /* Needs pull down, no pull down resistor on board */ 711 ste,config = <&gpio_in_pd>; 712 }; 713 }; 714 spi_gpio_0_sleep: spi_gpio_0_s { 715 codina_cfg1 { 716 pins = "GPIO220_AH10", "GPIO201_AF24", 717 "GPIO224_AG9", "GPIO225_AG8"; 718 ste,config = <&gpio_out_hi>; 719 }; 720 }; 721 }; 722 wlan { 723 wlan_default_mode: wlan_default { 724 /* GPIO216 for WL_HOST_WAKE */ 725 codina_cfg2 { 726 pins = "GPIO216_AG12"; 727 ste,config = <&gpio_in_pd>; 728 }; 729 }; 730 }; 731 bluetooth { 732 bluetooth_default_mode: bluetooth_default { 733 /* GPIO199 BT_WAKE and GPIO222 BT_VREG_ON */ 734 codina_cfg1 { 735 pins = "GPIO199_AH23", "GPIO222_AJ9"; 736 ste,config = <&gpio_out_lo>; 737 }; 738 /* GPIO97 BT_HOST_WAKE */ 739 codina_cfg2 { 740 pins = "GPIO97_D9"; 741 ste,config = <&gpio_in_nopull>; 742 }; 743 /* GPIO209 BT_RST_N */ 744 codina_cfg3 { 745 pins = "GPIO209_AG15"; 746 ste,config = <&gpio_out_hi>; 747 }; 748 }; 749 }; 750 vibrator { 751 vibrator_default: vibrator_default { 752 codina_cfg1 { 753 pins = "GPIO195_AG28"; /* MOT_EN */ 754 ste,config = <&gpio_out_lo>; 755 }; 756 }; 757 }; 758 mcde { 759 dpi_default_mode: dpi_default { 760 default_mux1 { 761 /* Mux in all the data lines */ 762 function = "lcd"; 763 groups = 764 /* Data lines D0-D7 GPIO70..GPIO77 */ 765 "lcd_d0_d7_a_1", 766 /* Data lines D8-D11 GPIO78..GPIO81 */ 767 "lcd_d8_d11_a_1", 768 /* Data lines D12-D15 GPIO82..GPIO85 */ 769 "lcd_d12_d15_a_1", 770 /* Data lines D16-D23 GPIO161..GPIO168 */ 771 "lcd_d16_d23_b_1"; 772 }; 773 default_mux2 { 774 function = "lcda"; 775 /* Clock line on GPIO150, DE, VSO, HSO on GPIO169..GPIO171 */ 776 groups = "lcdaclk_b_1", "lcda_b_1"; 777 }; 778 /* Input, no pull-up is the default state for pins used for an alt function */ 779 default_cfg1 { 780 pins = "GPIO150_C14", "GPIO169_D22", "GPIO170_C23", "GPIO171_D23"; 781 ste,config = <&in_nopull>; 782 }; 783 }; 784 }; 785}; 786