Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
0002 /*
0003  * Google Herobrine baseboard device tree source
0004  *
0005  * The set of things in this file is a bit loosely defined. It's roughly
0006  * defined as the set of things that the child boards happen to have in
0007  * common. Since all of the child boards started from the same original
0008  * design this is hopefully a large set of things but as more derivatives
0009  * appear things may "bubble down" out of this file. For things that are
0010  * part of the reference design but might not exist on child nodes we will
0011  * follow the lead of the SoC dtsi files and leave their status as "disabled".
0012  *
0013  * Copyright 2022 Google LLC.
0014  */
0015 
0016 #include <dt-bindings/input/gpio-keys.h>
0017 #include <dt-bindings/input/input.h>
0018 #include <dt-bindings/leds/common.h>
0019 
0020 #include "sc7280-qcard.dtsi"
0021 #include "sc7280-chrome-common.dtsi"
0022 
0023 / {
0024         chosen {
0025                 stdout-path = "serial0:115200n8";
0026         };
0027 
0028         /*
0029          * FIXED REGULATORS
0030          *
0031          * Sort order:
0032          * 1. parents above children.
0033          * 2. higher voltage above lower voltage.
0034          * 3. alphabetically by node name.
0035          */
0036 
0037         /* This is the top level supply and variable voltage */
0038         ppvar_sys: ppvar-sys-regulator {
0039                 compatible = "regulator-fixed";
0040                 regulator-name = "ppvar_sys";
0041                 regulator-always-on;
0042                 regulator-boot-on;
0043         };
0044 
0045         /* This divides ppvar_sys by 2, so voltage is variable */
0046         src_vph_pwr: src-vph-pwr-regulator {
0047                 compatible = "regulator-fixed";
0048                 regulator-name = "src_vph_pwr";
0049 
0050                 /* EC turns on with switchcap_on; always on for AP */
0051                 regulator-always-on;
0052                 regulator-boot-on;
0053 
0054                 vin-supply = <&ppvar_sys>;
0055         };
0056 
0057         pp5000_s5: pp5000-s5-regulator {
0058                 compatible = "regulator-fixed";
0059                 regulator-name = "pp5000_s5";
0060 
0061                 /* EC turns on with en_pp5000_s5; always on for AP */
0062                 regulator-always-on;
0063                 regulator-boot-on;
0064                 regulator-min-microvolt = <5000000>;
0065                 regulator-max-microvolt = <5000000>;
0066 
0067                 vin-supply = <&ppvar_sys>;
0068         };
0069 
0070         pp3300_z1: pp3300-z1-regulator {
0071                 compatible = "regulator-fixed";
0072                 regulator-name = "pp3300_z1";
0073 
0074                 /* EC turns on with en_pp3300_z1; always on for AP */
0075                 regulator-always-on;
0076                 regulator-boot-on;
0077                 regulator-min-microvolt = <3300000>;
0078                 regulator-max-microvolt = <3300000>;
0079 
0080                 vin-supply = <&ppvar_sys>;
0081         };
0082 
0083         pp3300_codec: pp3300-codec-regulator {
0084                 compatible = "regulator-fixed";
0085                 regulator-name = "pp3300_codec";
0086 
0087                 regulator-min-microvolt = <3300000>;
0088                 regulator-max-microvolt = <3300000>;
0089 
0090                 gpio = <&tlmm 105 GPIO_ACTIVE_HIGH>;
0091                 enable-active-high;
0092                 pinctrl-names = "default";
0093                 pinctrl-0 = <&en_pp3300_codec>;
0094 
0095                 vin-supply = <&pp3300_z1>;
0096                 status = "disabled";
0097         };
0098 
0099         pp3300_left_in_mlb: pp3300-left-in-mlb-regulator {
0100                 compatible = "regulator-fixed";
0101                 regulator-name = "pp3300_left_in_mlb";
0102 
0103                 regulator-min-microvolt = <3300000>;
0104                 regulator-max-microvolt = <3300000>;
0105 
0106                 gpio = <&tlmm 80 GPIO_ACTIVE_HIGH>;
0107                 enable-active-high;
0108                 pinctrl-names = "default";
0109                 pinctrl-0 = <&en_pp3300_dx_edp>;
0110 
0111                 vin-supply = <&pp3300_z1>;
0112         };
0113 
0114         pp3300_mcu_fp:
0115         pp3300_fp_ls:
0116         pp3300_fp_mcu: pp3300-fp-regulator {
0117                 compatible = "regulator-fixed";
0118                 regulator-name = "pp3300_fp";
0119 
0120                 regulator-min-microvolt = <3300000>;
0121                 regulator-max-microvolt = <3300000>;
0122 
0123                 regulator-boot-on;
0124                 regulator-always-on;
0125 
0126                 /*
0127                  * WARNING: it is intentional that GPIO 77 isn't listed here.
0128                  * The userspace script for updating the fingerprint firmware
0129                  * needs to control the FP regulators during a FW update,
0130                  * hence the signal can't be owned by the kernel regulator.
0131                  */
0132 
0133                 pinctrl-names = "default";
0134                 pinctrl-0 = <&en_fp_rails>;
0135 
0136                 vin-supply = <&pp3300_z1>;
0137                 status = "disabled";
0138         };
0139 
0140         pp3300_hub: pp3300-hub-regulator {
0141                 compatible = "regulator-fixed";
0142                 regulator-name = "pp3300_hub";
0143 
0144                 regulator-min-microvolt = <3300000>;
0145                 regulator-max-microvolt = <3300000>;
0146 
0147                 regulator-boot-on;
0148                 regulator-always-on;
0149 
0150                 gpio = <&tlmm 157 GPIO_ACTIVE_HIGH>;
0151                 enable-active-high;
0152                 pinctrl-names = "default";
0153                 pinctrl-0 = <&hub_en>;
0154 
0155                 vin-supply = <&pp3300_z1>;
0156         };
0157 
0158         pp3300_tp: pp3300-tp-regulator {
0159                 compatible = "regulator-fixed";
0160                 regulator-name = "pp3300_tp";
0161 
0162                 regulator-min-microvolt = <3300000>;
0163                 regulator-max-microvolt = <3300000>;
0164 
0165                 /* AP turns on with PP1800_L18B_S0; always on for AP */
0166                 regulator-always-on;
0167                 regulator-boot-on;
0168 
0169                 vin-supply = <&pp3300_z1>;
0170         };
0171 
0172         pp3300_ssd: pp3300-ssd-regulator {
0173                 compatible = "regulator-fixed";
0174                 regulator-name = "pp3300_ssd";
0175 
0176                 regulator-min-microvolt = <3300000>;
0177                 regulator-max-microvolt = <3300000>;
0178 
0179                 gpio = <&tlmm 51 GPIO_ACTIVE_HIGH>;
0180                 enable-active-high;
0181                 pinctrl-names = "default";
0182                 pinctrl-0 = <&ssd_en>;
0183 
0184                 /*
0185                  * The bootloaer may have left PCIe configured. Powering this
0186                  * off while the PCIe clocks are still running isn't great,
0187                  * so it's better to default to this regulator being on.
0188                  */
0189                 regulator-boot-on;
0190 
0191                 vin-supply = <&pp3300_z1>;
0192         };
0193 
0194         pp2850_vcm_wf_cam: pp2850-vcm-wf-cam-regulator {
0195                 compatible = "regulator-fixed";
0196                 regulator-name = "pp2850_vcm_wf_cam";
0197 
0198                 regulator-min-microvolt = <2850000>;
0199                 regulator-max-microvolt = <2850000>;
0200 
0201                 gpio = <&tlmm 119 GPIO_ACTIVE_HIGH>;
0202                 enable-active-high;
0203                 pinctrl-names = "default";
0204                 pinctrl-0 = <&wf_cam_en>;
0205 
0206                 vin-supply = <&pp3300_z1>;
0207                 status = "disabled";
0208         };
0209 
0210         pp2850_wf_cam: pp2850-wf-cam-regulator {
0211                 compatible = "regulator-fixed";
0212                 regulator-name = "pp2850_wf_cam";
0213 
0214                 regulator-min-microvolt = <2850000>;
0215                 regulator-max-microvolt = <2850000>;
0216 
0217                 gpio = <&tlmm 119 GPIO_ACTIVE_HIGH>;
0218                 enable-active-high;
0219                 /*
0220                  * The pinconf can only be referenced once so we put it on the
0221                  * first regulator and comment it out here.
0222                  *
0223                  * pinctrl-names = "default";
0224                  * pinctrl-0 = <&wf_cam_en>;
0225                  */
0226 
0227                 vin-supply = <&pp3300_z1>;
0228                 status = "disabled";
0229         };
0230 
0231         pp1800_fp: pp1800-fp-regulator {
0232                 compatible = "regulator-fixed";
0233                 regulator-name = "pp1800_fp";
0234 
0235                 regulator-min-microvolt = <1800000>;
0236                 regulator-max-microvolt = <1800000>;
0237 
0238                 regulator-boot-on;
0239                 regulator-always-on;
0240 
0241                 /*
0242                  * WARNING: it is intentional that GPIO 77 isn't listed here.
0243                  * The userspace script for updating the fingerprint firmware
0244                  * needs to control the FP regulators during a FW update,
0245                  * hence the signal can't be owned by the kernel regulator.
0246                  */
0247 
0248                 pinctrl-names = "default";
0249                 pinctrl-0 = <&en_fp_rails>;
0250 
0251                 vin-supply = <&pp1800_l18b_s0>;
0252                 status = "disabled";
0253         };
0254 
0255         pp1800_wf_cam: pp1800-wf-cam-regulator {
0256                 compatible = "regulator-fixed";
0257                 regulator-name = "pp1800_wf_cam";
0258 
0259                 regulator-min-microvolt = <1800000>;
0260                 regulator-max-microvolt = <1800000>;
0261 
0262                 gpio = <&tlmm 119 GPIO_ACTIVE_HIGH>;
0263                 enable-active-high;
0264                 /*
0265                  * The pinconf can only be referenced once so we put it on the
0266                  * first regulator and comment it out here.
0267                  *
0268                  * pinctrl-names = "default";
0269                  * pinctrl-0 = <&wf_cam_en>;
0270                  */
0271 
0272                 vin-supply = <&vreg_l19b_s0>;
0273                 status = "disabled";
0274         };
0275 
0276         pp1200_wf_cam: pp1200-wf-cam-regulator {
0277                 compatible = "regulator-fixed";
0278                 regulator-name = "pp1200_wf_cam";
0279 
0280                 regulator-min-microvolt = <1200000>;
0281                 regulator-max-microvolt = <1200000>;
0282 
0283                 gpio = <&tlmm 119 GPIO_ACTIVE_HIGH>;
0284                 enable-active-high;
0285                 /*
0286                  * The pinconf can only be referenced once so we put it on the
0287                  * first regulator and comment it out here.
0288                  *
0289                  * pinctrl-names = "default";
0290                  * pinctrl-0 = <&wf_cam_en>;
0291                  */
0292 
0293                 vin-supply = <&pp3300_z1>;
0294                 status = "disabled";
0295         };
0296 
0297         /* BOARD-SPECIFIC TOP LEVEL NODES */
0298 
0299         pwmleds: pwmleds {
0300                 compatible = "pwm-leds";
0301                 status = "disabled";
0302                 keyboard_backlight: keyboard-backlight {
0303                         label = "cros_ec::kbd_backlight";
0304                         function = LED_FUNCTION_KBD_BACKLIGHT;
0305                         pwms = <&cros_ec_pwm 0>;
0306                         max-brightness = <1023>;
0307                 };
0308         };
0309 };
0310 
0311 /*
0312  * ADJUSTMENTS TO QCARD REGULATORS
0313  *
0314  * Mostly this is just board-local names for regulators that come from
0315  * Qcard, but this also has some minor regulator overrides.
0316  *
0317  * Names are only listed here if regulators go somewhere other than a
0318  * testpoint.
0319  */
0320 
0321 /* From Qcard to our board; ordered by PMIC-ID / rail number */
0322 
0323 pp1256_s8b: &vreg_s8b_1p256 {};
0324 
0325 pp1800_l18b_s0: &vreg_l18b_1p8 {};
0326 pp1800_l18b:    &vreg_l18b_1p8 {};
0327 
0328 vreg_l19b_s0: &vreg_l19b_1p8 {};
0329 
0330 pp1800_alc5682: &vreg_l2c_1p8 {};
0331 pp1800_l2c:     &vreg_l2c_1p8 {};
0332 
0333 vreg_l4c: &vreg_l4c_1p8_3p0 {};
0334 
0335 ppvar_l6c: &vreg_l6c_2p96 {};
0336 
0337 pp3000_l7c: &vreg_l7c_3p0 {};
0338 
0339 pp1800_prox: &vreg_l8c_1p8 {};
0340 pp1800_l8c:  &vreg_l8c_1p8 {};
0341 
0342 pp2950_l9c: &vreg_l9c_2p96 {};
0343 
0344 pp1800_lcm:  &vreg_l12c_1p8 {};
0345 pp1800_mipi: &vreg_l12c_1p8 {};
0346 pp1800_l12c: &vreg_l12c_1p8 {};
0347 
0348 pp3300_lcm:  &vreg_l13c_3p0 {};
0349 pp3300_mipi: &vreg_l13c_3p0 {};
0350 pp3300_l13c: &vreg_l13c_3p0 {};
0351 
0352 /* From our board to Qcard; ordered same as node definition above */
0353 
0354 vreg_edp_bl: &ppvar_sys {};
0355 
0356 ts_avdd:      &pp3300_left_in_mlb {};
0357 vreg_edp_3p3: &pp3300_left_in_mlb {};
0358 
0359 /* Regulator overrides from Qcard */
0360 
0361 /*
0362  * Herobrine boards only use l2c to power an external audio codec (like
0363  * alc5682) and we want that to be at 1.8V, not at some slightly lower voltage.
0364  */
0365 &vreg_l2c_1p8 {
0366         regulator-min-microvolt = <1800000>;
0367 };
0368 
0369 /* ADDITIONS TO NODES DEFINED IN PARENT DEVICE TREE FILES */
0370 
0371 &edp_panel {
0372         /* Our board provides power to the qcard for the eDP panel. */
0373         power-supply = <&vreg_edp_3p3>;
0374 };
0375 
0376 ap_sar_sensor_i2c: &i2c1 {
0377         clock-frequency = <400000>;
0378         status = "disabled";
0379 
0380         ap_sar_sensor0: proximity@28 {
0381                 compatible = "semtech,sx9324";
0382                 reg = <0x28>;
0383                 #io-channel-cells = <1>;
0384                 pinctrl-names = "default";
0385                 pinctrl-0 = <&sar0_irq_odl>;
0386 
0387                 interrupt-parent = <&tlmm>;
0388                 interrupts = <141 IRQ_TYPE_LEVEL_LOW>;
0389 
0390                 vdd-supply = <&pp1800_prox>;
0391 
0392                 label = "proximity-wifi_cellular-0";
0393                 status = "disabled";
0394         };
0395 
0396         ap_sar_sensor1: proximity@2c {
0397                 compatible = "semtech,sx9324";
0398                 reg = <0x2c>;
0399                 #io-channel-cells = <1>;
0400                 pinctrl-names = "default";
0401                 pinctrl-0 = <&sar1_irq_odl>;
0402 
0403                 interrupt-parent = <&tlmm>;
0404                 interrupts = <140 IRQ_TYPE_LEVEL_LOW>;
0405 
0406                 vdd-supply = <&pp1800_prox>;
0407 
0408                 label = "proximity-wifi_cellular-1";
0409                 status = "disabled";
0410         };
0411 };
0412 
0413 ap_i2c_tpm: &i2c14 {
0414         status = "okay";
0415         clock-frequency = <400000>;
0416 
0417         tpm@50 {
0418                 compatible = "google,cr50";
0419                 reg = <0x50>;
0420 
0421                 pinctrl-names = "default";
0422                 pinctrl-0 = <&gsc_ap_int_odl>;
0423 
0424                 interrupt-parent = <&tlmm>;
0425                 interrupts = <104 IRQ_TYPE_EDGE_RISING>;
0426         };
0427 };
0428 
0429 &mdss {
0430         status = "okay";
0431 };
0432 
0433 &mdss_dp {
0434         status = "okay";
0435         pinctrl-names = "default";
0436         pinctrl-0 = <&dp_hot_plug_det>;
0437         data-lanes = <0 1>;
0438 };
0439 
0440 &mdss_mdp {
0441         status = "okay";
0442 };
0443 
0444 /* NVMe drive, enabled on a per-board basis */
0445 &pcie1 {
0446         pinctrl-names = "default";
0447         pinctrl-0 = <&pcie1_clkreq_n>, <&ssd_rst_l>, <&pe_wake_odl>;
0448 
0449         perst-gpio = <&tlmm 2 GPIO_ACTIVE_LOW>;
0450         vddpe-3v3-supply = <&pp3300_ssd>;
0451 };
0452 
0453 &pm8350c_pwm {
0454         status = "okay";
0455 };
0456 
0457 &pm8350c_pwm_backlight {
0458         status = "okay";
0459 
0460         /* Our board provides power to the qcard for the backlight */
0461         power-supply = <&vreg_edp_bl>;
0462 };
0463 
0464 &pmk8350_rtc {
0465         status = "disabled";
0466 };
0467 
0468 &qupv3_id_0 {
0469         status = "okay";
0470 };
0471 
0472 &qupv3_id_1 {
0473         status = "okay";
0474 };
0475 
0476 /* SD Card, enabled on a per-board basis */
0477 &sdhc_2 {
0478         pinctrl-0 = <&sdc2_clk>, <&sdc2_cmd>, <&sdc2_data>, <&sd_cd_odl>;
0479         pinctrl-1 = <&sdc2_clk_sleep>, <&sdc2_cmd_sleep>, <&sdc2_data_sleep>, <&sd_cd_odl>;
0480 
0481         vmmc-supply = <&pp2950_l9c>;
0482         vqmmc-supply = <&ppvar_l6c>;
0483 
0484         cd-gpios = <&tlmm 91 GPIO_ACTIVE_LOW>;
0485 };
0486 
0487 &spi_flash {
0488         spi-max-frequency = <50000000>;
0489 };
0490 
0491 /* Fingerprint, enabled on a per-board basis */
0492 ap_spi_fp: &spi9 {
0493         pinctrl-0 = <&qup_spi9_data_clk>, <&qup_spi9_cs_gpio_init_high>, <&qup_spi9_cs_gpio>;
0494 
0495         cs-gpios = <&tlmm 39 GPIO_ACTIVE_LOW>;
0496 
0497         cros_ec_fp: ec@0 {
0498                 compatible = "google,cros-ec-spi";
0499                 reg = <0>;
0500                 interrupt-parent = <&tlmm>;
0501                 interrupts = <61 IRQ_TYPE_LEVEL_LOW>;
0502                 pinctrl-names = "default";
0503                 pinctrl-0 = <&fp_to_ap_irq_l>, <&fp_rst_l>, <&fpmcu_boot0>;
0504                 spi-max-frequency = <3000000>;
0505         };
0506 };
0507 
0508 ap_ec_spi: &spi10 {
0509         status = "okay";
0510         pinctrl-0 = <&qup_spi10_data_clk>, <&qup_spi10_cs_gpio_init_high>, <&qup_spi10_cs_gpio>;
0511 
0512         cs-gpios = <&tlmm 43 GPIO_ACTIVE_LOW>;
0513 
0514         cros_ec: ec@0 {
0515                 compatible = "google,cros-ec-spi";
0516                 reg = <0>;
0517                 interrupt-parent = <&tlmm>;
0518                 interrupts = <18 IRQ_TYPE_LEVEL_LOW>;
0519                 pinctrl-names = "default";
0520                 pinctrl-0 = <&ap_ec_int_l>;
0521                 spi-max-frequency = <3000000>;
0522 
0523                 cros_ec_pwm: pwm {
0524                         compatible = "google,cros-ec-pwm";
0525                         #pwm-cells = <1>;
0526                 };
0527 
0528                 i2c_tunnel: i2c-tunnel {
0529                         compatible = "google,cros-ec-i2c-tunnel";
0530                         google,remote-bus = <0>;
0531                         #address-cells = <1>;
0532                         #size-cells = <0>;
0533                 };
0534 
0535                 typec {
0536                         compatible = "google,cros-ec-typec";
0537                         #address-cells = <1>;
0538                         #size-cells = <0>;
0539 
0540                         usb_c0: connector@0 {
0541                                 compatible = "usb-c-connector";
0542                                 reg = <0>;
0543                                 label = "left";
0544                                 power-role = "dual";
0545                                 data-role = "host";
0546                                 try-power-role = "source";
0547                         };
0548 
0549                         usb_c1: connector@1 {
0550                                 compatible = "usb-c-connector";
0551                                 reg = <1>;
0552                                 label = "right";
0553                                 power-role = "dual";
0554                                 data-role = "host";
0555                                 try-power-role = "source";
0556                         };
0557                 };
0558         };
0559 };
0560 
0561 #include <arm/cros-ec-keyboard.dtsi>
0562 #include <arm/cros-ec-sbs.dtsi>
0563 
0564 &keyboard_controller {
0565         function-row-physmap = <
0566                 MATRIX_KEY(0x00, 0x02, 0)       /* T1 */
0567                 MATRIX_KEY(0x03, 0x02, 0)       /* T2 */
0568                 MATRIX_KEY(0x02, 0x02, 0)       /* T3 */
0569                 MATRIX_KEY(0x01, 0x02, 0)       /* T4 */
0570                 MATRIX_KEY(0x03, 0x04, 0)       /* T5 */
0571                 MATRIX_KEY(0x02, 0x04, 0)       /* T6 */
0572                 MATRIX_KEY(0x01, 0x04, 0)       /* T7 */
0573                 MATRIX_KEY(0x02, 0x09, 0)       /* T8 */
0574                 MATRIX_KEY(0x01, 0x09, 0)       /* T9 */
0575                 MATRIX_KEY(0x00, 0x04, 0)       /* T10 */
0576         >;
0577         linux,keymap = <
0578                 MATRIX_KEY(0x00, 0x02, KEY_BACK)
0579                 MATRIX_KEY(0x03, 0x02, KEY_REFRESH)
0580                 MATRIX_KEY(0x02, 0x02, KEY_ZOOM)
0581                 MATRIX_KEY(0x01, 0x02, KEY_SCALE)
0582                 MATRIX_KEY(0x03, 0x04, KEY_SYSRQ)
0583                 MATRIX_KEY(0x02, 0x04, KEY_BRIGHTNESSDOWN)
0584                 MATRIX_KEY(0x01, 0x04, KEY_BRIGHTNESSUP)
0585                 MATRIX_KEY(0x02, 0x09, KEY_MUTE)
0586                 MATRIX_KEY(0x01, 0x09, KEY_VOLUMEDOWN)
0587                 MATRIX_KEY(0x00, 0x04, KEY_VOLUMEUP)
0588 
0589                 CROS_STD_MAIN_KEYMAP
0590         >;
0591 };
0592 
0593 &usb_1 {
0594         status = "okay";
0595 };
0596 
0597 &usb_1_dwc3 {
0598         dr_mode = "host";
0599 };
0600 
0601 &usb_1_hsphy {
0602         status = "okay";
0603 };
0604 
0605 &usb_1_qmpphy {
0606         status = "okay";
0607 };
0608 
0609 &usb_2 {
0610         status = "okay";
0611 };
0612 
0613 &usb_2_dwc3 {
0614         dr_mode = "host";
0615 };
0616 
0617 &usb_2_hsphy {
0618         status = "okay";
0619 };
0620 
0621 /* PINCTRL - ADDITIONS TO NODES IN PARENT DEVICE TREE FILES */
0622 
0623 &dp_hot_plug_det {
0624         bias-disable;
0625 };
0626 
0627 &pcie1_clkreq_n {
0628         bias-pull-up;
0629         drive-strength = <2>;
0630 };
0631 
0632 &qspi_cs0 {
0633         bias-disable;
0634         drive-strength = <8>;
0635 };
0636 
0637 &qspi_clk {
0638         bias-disable;
0639         drive-strength = <8>;
0640 };
0641 
0642 &qspi_data01 {
0643         /* High-Z when no transfers; nice to park the lines */
0644         bias-pull-up;
0645         drive-strength = <8>;
0646 };
0647 
0648 /* For ap_tp_i2c */
0649 &qup_i2c0_data_clk {
0650         /* Has external pull */
0651         bias-disable;
0652         drive-strength = <2>;
0653 };
0654 
0655 /* For ap_i2c_tpm */
0656 &qup_i2c14_data_clk {
0657         /* Has external pull */
0658         bias-disable;
0659         drive-strength = <2>;
0660 };
0661 
0662 /* For ap_spi_fp */
0663 &qup_spi9_data_clk {
0664         bias-disable;
0665         drive-strength = <2>;
0666 };
0667 
0668 /* For ap_spi_fp */
0669 &qup_spi9_cs_gpio {
0670         bias-disable;
0671         drive-strength = <2>;
0672 };
0673 
0674 /* For ap_ec_spi */
0675 &qup_spi10_data_clk {
0676         bias-disable;
0677         drive-strength = <2>;
0678 };
0679 
0680 /* For ap_ec_spi */
0681 &qup_spi10_cs_gpio {
0682         bias-disable;
0683         drive-strength = <2>;
0684 };
0685 
0686 /* For uart_dbg */
0687 &qup_uart5_rx {
0688         bias-pull-up;
0689 };
0690 
0691 /* For uart_dbg */
0692 &qup_uart5_tx {
0693         bias-disable;
0694         drive-strength = <2>;
0695 };
0696 
0697 &sdc2_clk {
0698         bias-disable;
0699         drive-strength = <16>;
0700 };
0701 
0702 &sdc2_cmd {
0703         bias-pull-up;
0704         drive-strength = <10>;
0705 };
0706 
0707 &sdc2_data {
0708         bias-pull-up;
0709         drive-strength = <10>;
0710 };
0711 
0712 /* PINCTRL - board-specific pinctrl */
0713 
0714 &pm7325_gpios {
0715         /*
0716          * On a quick glance it might look like KYPD_VOL_UP_N is used, but
0717          * that only passes through to a debug connector and not to the actual
0718          * volume up key.
0719          */
0720         status = "disabled"; /* No GPIOs are connected */
0721 };
0722 
0723 &pmk8350_gpios {
0724         status = "disabled"; /* No GPIOs are connected */
0725 };
0726 
0727 &tlmm {
0728         /* pinctrl settings for pins that have no real owners. */
0729         pinctrl-names = "default";
0730         pinctrl-0 = <&bios_flash_wp_od>;
0731 
0732         amp_en: amp-en {
0733                 pins = "gpio63";
0734                 function = "gpio";
0735                 bias-disable;
0736                 drive-strength = <2>;
0737         };
0738 
0739         ap_ec_int_l: ap-ec-int-l {
0740                 pins = "gpio18";
0741                 function = "gpio";
0742                 bias-pull-up;
0743         };
0744 
0745         bios_flash_wp_od: bios-flash-wp-od {
0746                 pins = "gpio16";
0747                 function = "gpio";
0748                 /* Has external pull */
0749                 bias-disable;
0750         };
0751 
0752         en_fp_rails: en-fp-rails {
0753                 pins = "gpio77";
0754                 function = "gpio";
0755                 bias-disable;
0756                 drive-strength = <2>;
0757                 output-high;
0758         };
0759 
0760         en_pp3300_codec: en-pp3300-codec {
0761                 pins = "gpio105";
0762                 function = "gpio";
0763                 bias-disable;
0764                 drive-strength = <2>;
0765         };
0766 
0767         en_pp3300_dx_edp: en-pp3300-dx-edp {
0768                 pins = "gpio80";
0769                 function = "gpio";
0770                 bias-disable;
0771                 drive-strength = <2>;
0772         };
0773 
0774         fp_rst_l: fp-rst-l {
0775                 pins = "gpio78";
0776                 function = "gpio";
0777                 bias-disable;
0778                 drive-strength = <2>;
0779         };
0780 
0781         fp_to_ap_irq_l: fp-to-ap-irq-l {
0782                 pins = "gpio61";
0783                 function = "gpio";
0784                 /* Has external pullup */
0785                 bias-disable;
0786         };
0787 
0788         fpmcu_boot0: fpmcu-boot0 {
0789                 pins = "gpio68";
0790                 function = "gpio";
0791                 bias-disable;
0792         };
0793 
0794         gsc_ap_int_odl: gsc-ap-int-odl {
0795                 pins = "gpio104";
0796                 function = "gpio";
0797                 bias-pull-up;
0798         };
0799 
0800         hp_irq: hp-irq {
0801                 pins = "gpio101";
0802                 function = "gpio";
0803                 bias-pull-up;
0804         };
0805 
0806         hub_en: hub-en {
0807                 pins = "gpio157";
0808                 function = "gpio";
0809                 bias-disable;
0810                 drive-strength = <2>;
0811         };
0812 
0813         pe_wake_odl: pe-wake-odl {
0814                 pins = "gpio3";
0815                 function = "gpio";
0816                 /* Has external pull */
0817                 bias-disable;
0818                 drive-strength = <2>;
0819         };
0820 
0821         /* For ap_spi_fp */
0822         qup_spi9_cs_gpio_init_high: qup-spi9-cs-gpio-init-high {
0823                 pins = "gpio39";
0824                 function = "gpio";
0825                 output-high;
0826         };
0827 
0828         /* For ap_ec_spi */
0829         qup_spi10_cs_gpio_init_high: qup-spi10-cs-gpio-init-high {
0830                 pins = "gpio43";
0831                 function = "gpio";
0832                 output-high;
0833         };
0834 
0835         sar0_irq_odl: sar0-irq-odl {
0836                 pins = "gpio141";
0837                 function = "gpio";
0838                 bias-pull-up;
0839         };
0840 
0841         sar1_irq_odl: sar1-irq-odl {
0842                 pins = "gpio140";
0843                 function = "gpio";
0844                 bias-pull-up;
0845         };
0846 
0847         sd_cd_odl: sd-cd-odl {
0848                 pins = "gpio91";
0849                 function = "gpio";
0850                 bias-pull-up;
0851         };
0852 
0853         ssd_en: ssd-en {
0854                 pins = "gpio51";
0855                 function = "gpio";
0856                 bias-disable;
0857                 drive-strength = <2>;
0858         };
0859 
0860         ssd_rst_l: ssd-rst-l {
0861                 pins = "gpio2";
0862                 function = "gpio";
0863                 bias-disable;
0864                 drive-strength = <2>;
0865                 output-low;
0866         };
0867 
0868         tp_int_odl: tp-int-odl {
0869                 pins = "gpio7";
0870                 function = "gpio";
0871                 /* Has external pullup */
0872                 bias-disable;
0873         };
0874 
0875         wf_cam_en: wf-cam-en {
0876                 pins = "gpio119";
0877                 function = "gpio";
0878                 /* Has external pulldown */
0879                 bias-disable;
0880                 drive-strength = <2>;
0881         };
0882 };