1// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2/* 3 * Google Herobrine baseboard device tree source 4 * 5 * The set of things in this file is a bit loosely defined. It's roughly 6 * defined as the set of things that the child boards happen to have in 7 * common. Since all of the child boards started from the same original 8 * design this is hopefully a large set of things but as more derivatives 9 * appear things may "bubble down" out of this file. For things that are 10 * part of the reference design but might not exist on child nodes we will 11 * follow the lead of the SoC dtsi files and leave their status as "disabled". 12 * 13 * Copyright 2022 Google LLC. 14 */ 15 16#include <dt-bindings/input/gpio-keys.h> 17#include <dt-bindings/input/input.h> 18 19#include "sc7280-qcard.dtsi" 20#include "sc7280-chrome-common.dtsi" 21 22/ { 23 chosen { 24 stdout-path = "serial0:115200n8"; 25 }; 26 27 /* 28 * FIXED REGULATORS 29 * 30 * Sort order: 31 * 1. parents above children. 32 * 2. higher voltage above lower voltage. 33 * 3. alphabetically by node name. 34 */ 35 36 /* This is the top level supply and variable voltage */ 37 ppvar_sys: ppvar-sys-regulator { 38 compatible = "regulator-fixed"; 39 regulator-name = "ppvar_sys"; 40 regulator-always-on; 41 regulator-boot-on; 42 }; 43 44 /* This divides ppvar_sys by 2, so voltage is variable */ 45 src_vph_pwr: src-vph-pwr-regulator { 46 compatible = "regulator-fixed"; 47 regulator-name = "src_vph_pwr"; 48 49 /* EC turns on with switchcap_on; always on for AP */ 50 regulator-always-on; 51 regulator-boot-on; 52 53 vin-supply = <&ppvar_sys>; 54 }; 55 56 pp5000_s5: pp5000-s5-regulator { 57 compatible = "regulator-fixed"; 58 regulator-name = "pp5000_s5"; 59 60 /* EC turns on with en_pp5000_s5; always on for AP */ 61 regulator-always-on; 62 regulator-boot-on; 63 regulator-min-microvolt = <5000000>; 64 regulator-max-microvolt = <5000000>; 65 66 vin-supply = <&ppvar_sys>; 67 }; 68 69 pp3300_z1: pp3300-z1-regulator { 70 compatible = "regulator-fixed"; 71 regulator-name = "pp3300_z1"; 72 73 /* EC turns on with en_pp3300_z1; always on for AP */ 74 regulator-always-on; 75 regulator-boot-on; 76 regulator-min-microvolt = <3300000>; 77 regulator-max-microvolt = <3300000>; 78 79 vin-supply = <&ppvar_sys>; 80 }; 81 82 pp3300_codec: pp3300-codec-regulator { 83 compatible = "regulator-fixed"; 84 regulator-name = "pp3300_codec"; 85 86 regulator-min-microvolt = <3300000>; 87 regulator-max-microvolt = <3300000>; 88 89 gpio = <&tlmm 105 GPIO_ACTIVE_HIGH>; 90 enable-active-high; 91 pinctrl-names = "default"; 92 pinctrl-0 = <&en_pp3300_codec>; 93 94 vin-supply = <&pp3300_z1>; 95 status = "disabled"; 96 }; 97 98 pp3300_left_in_mlb: pp3300-left-in-mlb-regulator { 99 compatible = "regulator-fixed"; 100 regulator-name = "pp3300_left_in_mlb"; 101 102 regulator-min-microvolt = <3300000>; 103 regulator-max-microvolt = <3300000>; 104 105 gpio = <&tlmm 80 GPIO_ACTIVE_HIGH>; 106 enable-active-high; 107 pinctrl-names = "default"; 108 pinctrl-0 = <&en_pp3300_dx_edp>; 109 110 vin-supply = <&pp3300_z1>; 111 }; 112 113 pp3300_mcu_fp: 114 pp3300_fp_ls: 115 pp3300_fp_mcu: pp3300-fp-regulator { 116 compatible = "regulator-fixed"; 117 regulator-name = "pp3300_fp"; 118 119 regulator-min-microvolt = <3300000>; 120 regulator-max-microvolt = <3300000>; 121 122 regulator-boot-on; 123 regulator-always-on; 124 125 /* 126 * WARNING: it is intentional that GPIO 77 isn't listed here. 127 * The userspace script for updating the fingerprint firmware 128 * needs to control the FP regulators during a FW update, 129 * hence the signal can't be owned by the kernel regulator. 130 */ 131 132 pinctrl-names = "default"; 133 pinctrl-0 = <&en_fp_rails>; 134 135 vin-supply = <&pp3300_z1>; 136 status = "disabled"; 137 }; 138 139 pp3300_hub: pp3300-hub-regulator { 140 compatible = "regulator-fixed"; 141 regulator-name = "pp3300_hub"; 142 143 regulator-min-microvolt = <3300000>; 144 regulator-max-microvolt = <3300000>; 145 146 regulator-boot-on; 147 regulator-always-on; 148 149 gpio = <&tlmm 157 GPIO_ACTIVE_HIGH>; 150 enable-active-high; 151 pinctrl-names = "default"; 152 pinctrl-0 = <&hub_en>; 153 154 vin-supply = <&pp3300_z1>; 155 }; 156 157 pp3300_tp: pp3300-tp-regulator { 158 compatible = "regulator-fixed"; 159 regulator-name = "pp3300_tp"; 160 161 regulator-min-microvolt = <3300000>; 162 regulator-max-microvolt = <3300000>; 163 164 /* AP turns on with PP1800_L18B_S0; always on for AP */ 165 regulator-always-on; 166 regulator-boot-on; 167 168 vin-supply = <&pp3300_z1>; 169 }; 170 171 pp3300_ssd: pp3300-ssd-regulator { 172 compatible = "regulator-fixed"; 173 regulator-name = "pp3300_ssd"; 174 175 regulator-min-microvolt = <3300000>; 176 regulator-max-microvolt = <3300000>; 177 178 gpio = <&tlmm 51 GPIO_ACTIVE_HIGH>; 179 enable-active-high; 180 pinctrl-names = "default"; 181 pinctrl-0 = <&ssd_en>; 182 183 /* 184 * The bootloaer may have left PCIe configured. Powering this 185 * off while the PCIe clocks are still running isn't great, 186 * so it's better to default to this regulator being on. 187 */ 188 regulator-boot-on; 189 190 vin-supply = <&pp3300_z1>; 191 }; 192 193 pp2850_vcm_wf_cam: pp2850-vcm-wf-cam-regulator { 194 compatible = "regulator-fixed"; 195 regulator-name = "pp2850_vcm_wf_cam"; 196 197 regulator-min-microvolt = <2850000>; 198 regulator-max-microvolt = <2850000>; 199 200 gpio = <&tlmm 119 GPIO_ACTIVE_HIGH>; 201 enable-active-high; 202 pinctrl-names = "default"; 203 pinctrl-0 = <&wf_cam_en>; 204 205 vin-supply = <&pp3300_z1>; 206 status = "disabled"; 207 }; 208 209 pp2850_wf_cam: pp2850-wf-cam-regulator { 210 compatible = "regulator-fixed"; 211 regulator-name = "pp2850_wf_cam"; 212 213 regulator-min-microvolt = <2850000>; 214 regulator-max-microvolt = <2850000>; 215 216 gpio = <&tlmm 119 GPIO_ACTIVE_HIGH>; 217 enable-active-high; 218 /* 219 * The pinconf can only be referenced once so we put it on the 220 * first regulator and comment it out here. 221 * 222 * pinctrl-names = "default"; 223 * pinctrl-0 = <&wf_cam_en>; 224 */ 225 226 vin-supply = <&pp3300_z1>; 227 status = "disabled"; 228 }; 229 230 pp1800_fp: pp1800-fp-regulator { 231 compatible = "regulator-fixed"; 232 regulator-name = "pp1800_fp"; 233 234 regulator-min-microvolt = <1800000>; 235 regulator-max-microvolt = <1800000>; 236 237 regulator-boot-on; 238 regulator-always-on; 239 240 /* 241 * WARNING: it is intentional that GPIO 77 isn't listed here. 242 * The userspace script for updating the fingerprint firmware 243 * needs to control the FP regulators during a FW update, 244 * hence the signal can't be owned by the kernel regulator. 245 */ 246 247 pinctrl-names = "default"; 248 pinctrl-0 = <&en_fp_rails>; 249 250 vin-supply = <&pp1800_l18b_s0>; 251 status = "disabled"; 252 }; 253 254 pp1800_wf_cam: pp1800-wf-cam-regulator { 255 compatible = "regulator-fixed"; 256 regulator-name = "pp1800_wf_cam"; 257 258 regulator-min-microvolt = <1800000>; 259 regulator-max-microvolt = <1800000>; 260 261 gpio = <&tlmm 119 GPIO_ACTIVE_HIGH>; 262 enable-active-high; 263 /* 264 * The pinconf can only be referenced once so we put it on the 265 * first regulator and comment it out here. 266 * 267 * pinctrl-names = "default"; 268 * pinctrl-0 = <&wf_cam_en>; 269 */ 270 271 vin-supply = <&vreg_l19b_s0>; 272 status = "disabled"; 273 }; 274 275 pp1200_wf_cam: pp1200-wf-cam-regulator { 276 compatible = "regulator-fixed"; 277 regulator-name = "pp1200_wf_cam"; 278 279 regulator-min-microvolt = <1200000>; 280 regulator-max-microvolt = <1200000>; 281 282 gpio = <&tlmm 119 GPIO_ACTIVE_HIGH>; 283 enable-active-high; 284 /* 285 * The pinconf can only be referenced once so we put it on the 286 * first regulator and comment it out here. 287 * 288 * pinctrl-names = "default"; 289 * pinctrl-0 = <&wf_cam_en>; 290 */ 291 292 vin-supply = <&pp3300_z1>; 293 status = "disabled"; 294 }; 295 296 /* BOARD-SPECIFIC TOP LEVEL NODES */ 297 298 pwmleds: pwmleds { 299 compatible = "pwm-leds"; 300 status = "disabled"; 301 keyboard_backlight: keyboard-backlight { 302 label = "cros_ec::kbd_backlight"; 303 pwms = <&cros_ec_pwm 0>; 304 max-brightness = <1023>; 305 }; 306 }; 307}; 308 309/* 310 * ADJUSTMENTS TO QCARD REGULATORS 311 * 312 * Mostly this is just board-local names for regulators that come from 313 * Qcard, but this also has some minor regulator overrides. 314 * 315 * Names are only listed here if regulators go somewhere other than a 316 * testpoint. 317 */ 318 319/* From Qcard to our board; ordered by PMIC-ID / rail number */ 320 321pp1256_s8b: &vreg_s8b_1p256 {}; 322 323pp1800_l18b_s0: &vreg_l18b_1p8 {}; 324pp1800_l18b: &vreg_l18b_1p8 {}; 325 326vreg_l19b_s0: &vreg_l19b_1p8 {}; 327 328pp1800_alc5682: &vreg_l2c_1p8 {}; 329pp1800_l2c: &vreg_l2c_1p8 {}; 330 331vreg_l4c: &vreg_l4c_1p8_3p0 {}; 332 333ppvar_l6c: &vreg_l6c_2p96 {}; 334 335pp3000_l7c: &vreg_l7c_3p0 {}; 336 337pp1800_prox: &vreg_l8c_1p8 {}; 338pp1800_l8c: &vreg_l8c_1p8 {}; 339 340pp2950_l9c: &vreg_l9c_2p96 {}; 341 342pp1800_lcm: &vreg_l12c_1p8 {}; 343pp1800_mipi: &vreg_l12c_1p8 {}; 344pp1800_l12c: &vreg_l12c_1p8 {}; 345 346pp3300_lcm: &vreg_l13c_3p0 {}; 347pp3300_mipi: &vreg_l13c_3p0 {}; 348pp3300_l13c: &vreg_l13c_3p0 {}; 349 350/* From our board to Qcard; ordered same as node definition above */ 351 352vreg_edp_bl: &ppvar_sys {}; 353 354ts_avdd: &pp3300_left_in_mlb {}; 355vreg_edp_3p3: &pp3300_left_in_mlb {}; 356 357/* Regulator overrides from Qcard */ 358 359/* 360 * Herobrine boards only use l2c to power an external audio codec (like 361 * alc5682) and we want that to be at 1.8V, not at some slightly lower voltage. 362 */ 363&vreg_l2c_1p8 { 364 regulator-min-microvolt = <1800000>; 365}; 366 367/* ADDITIONS TO NODES DEFINED IN PARENT DEVICE TREE FILES */ 368 369&edp_panel { 370 /* Our board provides power to the qcard for the eDP panel. */ 371 power-supply = <&vreg_edp_3p3>; 372}; 373 374ap_sar_sensor_i2c: &i2c1 { 375 clock-frequency = <400000>; 376 status = "disabled"; 377 378 ap_sar_sensor0: proximity@28 { 379 compatible = "semtech,sx9324"; 380 reg = <0x28>; 381 #io-channel-cells = <1>; 382 pinctrl-names = "default"; 383 pinctrl-0 = <&sar0_irq_odl>; 384 385 interrupt-parent = <&tlmm>; 386 interrupts = <141 IRQ_TYPE_LEVEL_LOW>; 387 388 vdd-supply = <&pp1800_prox>; 389 390 label = "proximity-wifi-lte0"; 391 status = "disabled"; 392 }; 393 394 ap_sar_sensor1: proximity@2c { 395 compatible = "semtech,sx9324"; 396 reg = <0x2c>; 397 #io-channel-cells = <1>; 398 pinctrl-names = "default"; 399 pinctrl-0 = <&sar1_irq_odl>; 400 401 interrupt-parent = <&tlmm>; 402 interrupts = <140 IRQ_TYPE_LEVEL_LOW>; 403 404 vdd-supply = <&pp1800_prox>; 405 406 label = "proximity-wifi-lte1"; 407 status = "disabled"; 408 }; 409}; 410 411ap_i2c_tpm: &i2c14 { 412 status = "okay"; 413 clock-frequency = <400000>; 414 415 tpm@50 { 416 compatible = "google,cr50"; 417 reg = <0x50>; 418 419 pinctrl-names = "default"; 420 pinctrl-0 = <&gsc_ap_int_odl>; 421 422 interrupt-parent = <&tlmm>; 423 interrupts = <104 IRQ_TYPE_EDGE_RISING>; 424 }; 425}; 426 427&mdss { 428 status = "okay"; 429}; 430 431&mdss_dp { 432 status = "okay"; 433 pinctrl-names = "default"; 434 pinctrl-0 = <&dp_hot_plug_det>; 435 data-lanes = <0 1>; 436 vdda-1p2-supply = <&vdd_a_usbssdp_0_1p2>; 437 vdda-0p9-supply = <&vdd_a_usbssdp_0_core>; 438}; 439 440&mdss_mdp { 441 status = "okay"; 442}; 443 444/* NVMe drive, enabled on a per-board basis */ 445&pcie1 { 446 pinctrl-names = "default"; 447 pinctrl-0 = <&pcie1_clkreq_n>, <&ssd_rst_l>, <&pe_wake_odl>; 448 449 perst-gpio = <&tlmm 2 GPIO_ACTIVE_LOW>; 450 vddpe-3v3-supply = <&pp3300_ssd>; 451}; 452 453&pm8350c_pwm { 454 status = "okay"; 455}; 456 457&pm8350c_pwm_backlight { 458 status = "okay"; 459 460 /* Our board provides power to the qcard for the backlight */ 461 power-supply = <&vreg_edp_bl>; 462}; 463 464&pmk8350_rtc { 465 status = "disabled"; 466}; 467 468&qupv3_id_0 { 469 status = "okay"; 470}; 471 472&qupv3_id_1 { 473 status = "okay"; 474}; 475 476/* SD Card, enabled on a per-board basis */ 477&sdhc_2 { 478 pinctrl-0 = <&sdc2_clk>, <&sdc2_cmd>, <&sdc2_data>, <&sd_cd_odl>; 479 pinctrl-1 = <&sdc2_clk_sleep>, <&sdc2_cmd_sleep>, <&sdc2_data_sleep>, <&sd_cd_odl>; 480 481 vmmc-supply = <&pp2950_l9c>; 482 vqmmc-supply = <&ppvar_l6c>; 483 484 cd-gpios = <&tlmm 91 GPIO_ACTIVE_LOW>; 485}; 486 487&spi_flash { 488 spi-max-frequency = <50000000>; 489}; 490 491/* Fingerprint, enabled on a per-board basis */ 492ap_spi_fp: &spi9 { 493 pinctrl-0 = <&qup_spi9_data_clk>, <&qup_spi9_cs_gpio_init_high>, <&qup_spi9_cs_gpio>; 494 495 cs-gpios = <&tlmm 39 GPIO_ACTIVE_LOW>; 496 497 cros_ec_fp: ec@0 { 498 compatible = "google,cros-ec-spi"; 499 reg = <0>; 500 interrupt-parent = <&tlmm>; 501 interrupts = <61 IRQ_TYPE_LEVEL_LOW>; 502 pinctrl-names = "default"; 503 pinctrl-0 = <&fp_to_ap_irq_l>, <&fp_rst_l>, <&fpmcu_boot0>; 504 spi-max-frequency = <3000000>; 505 }; 506}; 507 508ap_ec_spi: &spi10 { 509 status = "okay"; 510 pinctrl-0 = <&qup_spi10_data_clk>, <&qup_spi10_cs_gpio_init_high>, <&qup_spi10_cs_gpio>; 511 512 cs-gpios = <&tlmm 43 GPIO_ACTIVE_LOW>; 513 514 cros_ec: ec@0 { 515 compatible = "google,cros-ec-spi"; 516 reg = <0>; 517 interrupt-parent = <&tlmm>; 518 interrupts = <18 IRQ_TYPE_LEVEL_LOW>; 519 pinctrl-names = "default"; 520 pinctrl-0 = <&ap_ec_int_l>; 521 spi-max-frequency = <3000000>; 522 523 cros_ec_pwm: pwm { 524 compatible = "google,cros-ec-pwm"; 525 #pwm-cells = <1>; 526 }; 527 528 i2c_tunnel: i2c-tunnel { 529 compatible = "google,cros-ec-i2c-tunnel"; 530 google,remote-bus = <0>; 531 #address-cells = <1>; 532 #size-cells = <0>; 533 }; 534 535 typec { 536 compatible = "google,cros-ec-typec"; 537 #address-cells = <1>; 538 #size-cells = <0>; 539 540 usb_c0: connector@0 { 541 compatible = "usb-c-connector"; 542 reg = <0>; 543 label = "left"; 544 power-role = "dual"; 545 data-role = "host"; 546 try-power-role = "source"; 547 }; 548 549 usb_c1: connector@1 { 550 compatible = "usb-c-connector"; 551 reg = <1>; 552 label = "right"; 553 power-role = "dual"; 554 data-role = "host"; 555 try-power-role = "source"; 556 }; 557 }; 558 }; 559}; 560 561#include <arm/cros-ec-keyboard.dtsi> 562#include <arm/cros-ec-sbs.dtsi> 563 564&keyboard_controller { 565 function-row-physmap = < 566 MATRIX_KEY(0x00, 0x02, 0) /* T1 */ 567 MATRIX_KEY(0x03, 0x02, 0) /* T2 */ 568 MATRIX_KEY(0x02, 0x02, 0) /* T3 */ 569 MATRIX_KEY(0x01, 0x02, 0) /* T4 */ 570 MATRIX_KEY(0x03, 0x04, 0) /* T5 */ 571 MATRIX_KEY(0x02, 0x04, 0) /* T6 */ 572 MATRIX_KEY(0x01, 0x04, 0) /* T7 */ 573 MATRIX_KEY(0x02, 0x09, 0) /* T8 */ 574 MATRIX_KEY(0x01, 0x09, 0) /* T9 */ 575 MATRIX_KEY(0x00, 0x04, 0) /* T10 */ 576 >; 577 linux,keymap = < 578 MATRIX_KEY(0x00, 0x02, KEY_BACK) 579 MATRIX_KEY(0x03, 0x02, KEY_REFRESH) 580 MATRIX_KEY(0x02, 0x02, KEY_ZOOM) 581 MATRIX_KEY(0x01, 0x02, KEY_SCALE) 582 MATRIX_KEY(0x03, 0x04, KEY_SYSRQ) 583 MATRIX_KEY(0x02, 0x04, KEY_BRIGHTNESSDOWN) 584 MATRIX_KEY(0x01, 0x04, KEY_BRIGHTNESSUP) 585 MATRIX_KEY(0x02, 0x09, KEY_MUTE) 586 MATRIX_KEY(0x01, 0x09, KEY_VOLUMEDOWN) 587 MATRIX_KEY(0x00, 0x04, KEY_VOLUMEUP) 588 589 CROS_STD_MAIN_KEYMAP 590 >; 591}; 592 593&usb_1 { 594 status = "okay"; 595}; 596 597&usb_1_dwc3 { 598 dr_mode = "host"; 599}; 600 601&usb_1_hsphy { 602 status = "okay"; 603}; 604 605&usb_1_qmpphy { 606 status = "okay"; 607}; 608 609&usb_2 { 610 status = "okay"; 611}; 612 613&usb_2_dwc3 { 614 dr_mode = "host"; 615}; 616 617&usb_2_hsphy { 618 status = "okay"; 619}; 620 621/* PINCTRL - ADDITIONS TO NODES IN PARENT DEVICE TREE FILES */ 622 623&dp_hot_plug_det { 624 bias-disable; 625}; 626 627&pcie1_clkreq_n { 628 bias-pull-up; 629 drive-strength = <2>; 630}; 631 632&qspi_cs0 { 633 bias-disable; 634 drive-strength = <8>; 635}; 636 637&qspi_clk { 638 bias-disable; 639 drive-strength = <8>; 640}; 641 642&qspi_data01 { 643 /* High-Z when no transfers; nice to park the lines */ 644 bias-pull-up; 645 drive-strength = <8>; 646}; 647 648/* For ap_tp_i2c */ 649&qup_i2c0_data_clk { 650 /* Has external pull */ 651 bias-disable; 652 drive-strength = <2>; 653}; 654 655/* For ap_i2c_tpm */ 656&qup_i2c14_data_clk { 657 /* Has external pull */ 658 bias-disable; 659 drive-strength = <2>; 660}; 661 662/* For ap_spi_fp */ 663&qup_spi9_data_clk { 664 bias-disable; 665 drive-strength = <2>; 666}; 667 668/* For ap_spi_fp */ 669&qup_spi9_cs_gpio { 670 bias-disable; 671 drive-strength = <2>; 672}; 673 674/* For ap_ec_spi */ 675&qup_spi10_data_clk { 676 bias-disable; 677 drive-strength = <2>; 678}; 679 680/* For ap_ec_spi */ 681&qup_spi10_cs_gpio { 682 bias-disable; 683 drive-strength = <2>; 684}; 685 686/* For uart_dbg */ 687&qup_uart5_rx { 688 bias-pull-up; 689}; 690 691/* For uart_dbg */ 692&qup_uart5_tx { 693 bias-disable; 694 drive-strength = <2>; 695}; 696 697&sdc2_clk { 698 bias-disable; 699 drive-strength = <16>; 700}; 701 702&sdc2_cmd { 703 bias-pull-up; 704 drive-strength = <10>; 705}; 706 707&sdc2_data { 708 bias-pull-up; 709 drive-strength = <10>; 710}; 711 712/* PINCTRL - board-specific pinctrl */ 713 714&pm7325_gpios { 715 /* 716 * On a quick glance it might look like KYPD_VOL_UP_N is used, but 717 * that only passes through to a debug connector and not to the actual 718 * volume up key. 719 */ 720 status = "disabled"; /* No GPIOs are connected */ 721}; 722 723&pmk8350_gpios { 724 status = "disabled"; /* No GPIOs are connected */ 725}; 726 727&tlmm { 728 /* pinctrl settings for pins that have no real owners. */ 729 pinctrl-names = "default"; 730 pinctrl-0 = <&bios_flash_wp_od>; 731 732 amp_en: amp-en { 733 pins = "gpio63"; 734 function = "gpio"; 735 bias-disable; 736 drive-strength = <2>; 737 }; 738 739 ap_ec_int_l: ap-ec-int-l { 740 pins = "gpio18"; 741 function = "gpio"; 742 bias-pull-up; 743 }; 744 745 bios_flash_wp_od: bios-flash-wp-od { 746 pins = "gpio16"; 747 function = "gpio"; 748 /* Has external pull */ 749 bias-disable; 750 }; 751 752 en_fp_rails: en-fp-rails { 753 pins = "gpio77"; 754 function = "gpio"; 755 bias-disable; 756 drive-strength = <2>; 757 output-high; 758 }; 759 760 en_pp3300_codec: en-pp3300-codec { 761 pins = "gpio105"; 762 function = "gpio"; 763 bias-disable; 764 drive-strength = <2>; 765 }; 766 767 en_pp3300_dx_edp: en-pp3300-dx-edp { 768 pins = "gpio80"; 769 function = "gpio"; 770 bias-disable; 771 drive-strength = <2>; 772 }; 773 774 fp_rst_l: fp-rst-l { 775 pins = "gpio78"; 776 function = "gpio"; 777 bias-disable; 778 drive-strength = <2>; 779 }; 780 781 fp_to_ap_irq_l: fp-to-ap-irq-l { 782 pins = "gpio61"; 783 function = "gpio"; 784 /* Has external pullup */ 785 bias-disable; 786 }; 787 788 fpmcu_boot0: fpmcu-boot0 { 789 pins = "gpio68"; 790 function = "gpio"; 791 bias-disable; 792 }; 793 794 gsc_ap_int_odl: gsc-ap-int-odl { 795 pins = "gpio104"; 796 function = "gpio"; 797 bias-pull-up; 798 }; 799 800 hp_irq: hp-irq { 801 pins = "gpio101"; 802 function = "gpio"; 803 bias-pull-up; 804 }; 805 806 hub_en: hub-en { 807 pins = "gpio157"; 808 function = "gpio"; 809 bias-disable; 810 drive-strength = <2>; 811 }; 812 813 pe_wake_odl: pe-wake-odl { 814 pins = "gpio3"; 815 function = "gpio"; 816 /* Has external pull */ 817 bias-disable; 818 drive-strength = <2>; 819 }; 820 821 /* For ap_spi_fp */ 822 qup_spi9_cs_gpio_init_high: qup-spi9-cs-gpio-init-high { 823 pins = "gpio39"; 824 function = "gpio"; 825 output-high; 826 }; 827 828 /* For ap_ec_spi */ 829 qup_spi10_cs_gpio_init_high: qup-spi10-cs-gpio-init-high { 830 pins = "gpio43"; 831 function = "gpio"; 832 output-high; 833 }; 834 835 sar0_irq_odl: sar0-irq-odl { 836 pins = "gpio141"; 837 function = "gpio"; 838 bias-pull-up; 839 }; 840 841 sar1_irq_odl: sar1-irq-odl { 842 pins = "gpio140"; 843 function = "gpio"; 844 bias-pull-up; 845 }; 846 847 sd_cd_odl: sd-cd-odl { 848 pins = "gpio91"; 849 function = "gpio"; 850 bias-pull-up; 851 }; 852 853 ssd_en: ssd-en { 854 pins = "gpio51"; 855 function = "gpio"; 856 bias-disable; 857 drive-strength = <2>; 858 }; 859 860 ssd_rst_l: ssd-rst-l { 861 pins = "gpio2"; 862 function = "gpio"; 863 bias-disable; 864 drive-strength = <2>; 865 output-low; 866 }; 867 868 tp_int_odl: tp-int-odl { 869 pins = "gpio7"; 870 function = "gpio"; 871 /* Has external pullup */ 872 bias-disable; 873 }; 874 875 wf_cam_en: wf-cam-en { 876 pins = "gpio119"; 877 function = "gpio"; 878 /* Has external pulldown */ 879 bias-disable; 880 drive-strength = <2>; 881 }; 882}; 883