Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
0002 /*
0003  * Google Trogdor device tree source (common between revisions)
0004  *
0005  * Copyright 2019 Google LLC.
0006  */
0007 
0008 #include <dt-bindings/gpio/gpio.h>
0009 #include <dt-bindings/input/gpio-keys.h>
0010 #include <dt-bindings/input/input.h>
0011 #include <dt-bindings/leds/common.h>
0012 #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
0013 #include <dt-bindings/sound/sc7180-lpass.h>
0014 
0015 #include "sc7180.dtsi"
0016 /* PMICs depend on spmi_bus label and so must come after sc7180.dtsi */
0017 #include "pm6150.dtsi"
0018 #include "pm6150l.dtsi"
0019 
0020 / {
0021         thermal-zones {
0022                 charger_thermal: charger-thermal {
0023                         polling-delay-passive = <0>;
0024                         polling-delay = <0>;
0025 
0026                         thermal-sensors = <&pm6150_adc_tm 0>;
0027 
0028                         trips {
0029                                 charger-crit {
0030                                         temperature = <125000>;
0031                                         hysteresis = <1000>;
0032                                         type = "critical";
0033                                 };
0034                         };
0035                 };
0036         };
0037 };
0038 
0039 /*
0040  * Reserved memory changes
0041  *
0042  * Delete all unused memory nodes and define the peripheral memory regions
0043  * required by the board dts.
0044  */
0045 
0046 /delete-node/ &hyp_mem;
0047 /delete-node/ &ipa_fw_mem;
0048 /delete-node/ &xbl_mem;
0049 /delete-node/ &aop_mem;
0050 /delete-node/ &sec_apps_mem;
0051 /delete-node/ &tz_mem;
0052 
0053 /* Increase the size from 2MB to 8MB */
0054 &rmtfs_mem {
0055         reg = <0x0 0x94600000 0x0 0x800000>;
0056 };
0057 
0058 / {
0059         reserved-memory {
0060                 atf_mem: memory@80b00000 {
0061                         reg = <0x0 0x80b00000 0x0 0x100000>;
0062                         no-map;
0063                 };
0064 
0065                 mpss_mem: memory@86000000 {
0066                         reg = <0x0 0x86000000 0x0 0x2000000>;
0067                         no-map;
0068                 };
0069 
0070                 venus_mem: memory@8f600000 {
0071                         reg = <0 0x8f600000 0 0x500000>;
0072                         no-map;
0073                 };
0074 
0075                 wlan_mem: memory@94100000 {
0076                         reg = <0x0 0x94100000 0x0 0x200000>;
0077                         no-map;
0078                 };
0079 
0080                 mba_mem: memory@94400000 {
0081                         reg = <0x0 0x94400000 0x0 0x200000>;
0082                         no-map;
0083                 };
0084         };
0085 
0086         aliases {
0087                 bluetooth0 = &bluetooth;
0088                 hsuart0 = &uart3;
0089                 serial0 = &uart8;
0090                 wifi0 = &wifi;
0091         };
0092 
0093         chosen {
0094                 stdout-path = "serial0:115200n8";
0095         };
0096 
0097         /* FIXED REGULATORS - parents above children */
0098 
0099         /* This is the top level supply and variable voltage */
0100         ppvar_sys: ppvar-sys-regulator {
0101                 compatible = "regulator-fixed";
0102                 regulator-name = "ppvar_sys";
0103                 regulator-always-on;
0104                 regulator-boot-on;
0105         };
0106 
0107         /* This divides ppvar_sys by 2, so voltage is variable */
0108         src_vph_pwr: src-vph-pwr-regulator {
0109                 compatible = "regulator-fixed";
0110                 regulator-name = "src_vph_pwr";
0111 
0112                 /* EC turns on with switchcap_on; always on for AP */
0113                 regulator-always-on;
0114                 regulator-boot-on;
0115 
0116                 vin-supply = <&ppvar_sys>;
0117         };
0118 
0119         pp5000_a: pp5000-a-regulator {
0120                 compatible = "regulator-fixed";
0121                 regulator-name = "pp5000_a";
0122 
0123                 /* EC turns on with en_pp5000_a; always on for AP */
0124                 regulator-always-on;
0125                 regulator-boot-on;
0126                 regulator-min-microvolt = <5000000>;
0127                 regulator-max-microvolt = <5000000>;
0128 
0129                 vin-supply = <&ppvar_sys>;
0130         };
0131 
0132         pp3300_a: pp3300-a-regulator {
0133                 compatible = "regulator-fixed";
0134                 regulator-name = "pp3300_a";
0135 
0136                 /* EC turns on with en_pp3300_a; always on for AP */
0137                 regulator-always-on;
0138                 regulator-boot-on;
0139                 regulator-min-microvolt = <3300000>;
0140                 regulator-max-microvolt = <3300000>;
0141 
0142                 /*
0143                  * Actually should be pp3300 but that's practically an alias for
0144                  * pp3300_a so we use pp3300's vin-supply here to avoid one more
0145                  * node.
0146                  */
0147                 vin-supply = <&ppvar_sys>;
0148         };
0149 
0150         pp1800_ec:
0151         pp1800_sensors:
0152         pp1800_ldo: pp1800-ldo-regulator {
0153                 compatible = "regulator-fixed";
0154                 regulator-name = "pp1800_ldo";
0155 
0156                 /* EC turns on with hibernate_l; always on for AP */
0157                 regulator-always-on;
0158                 regulator-boot-on;
0159                 regulator-min-microvolt = <1800000>;
0160                 regulator-max-microvolt = <1800000>;
0161 
0162                 /*
0163                  * Actually should be pp1800_h1 but we don't have any need to
0164                  * model that so we use the parent of pp1800_h1.
0165                  */
0166                 vin-supply = <&pp3300_a>;
0167         };
0168 
0169         pp1800_uf_cam: pp1800-uf-cam-regulator {
0170                 compatible = "regulator-fixed";
0171                 regulator-name = "pp1800_uf_cam";
0172                 status = "disabled";
0173 
0174                 regulator-min-microvolt = <1800000>;
0175                 regulator-max-microvolt = <1800000>;
0176 
0177                 gpio = <&tlmm 6 GPIO_ACTIVE_HIGH>;
0178                 enable-active-high;
0179                 pinctrl-names = "default";
0180                 pinctrl-0 = <&uf_cam_en>;
0181 
0182                 vin-supply = <&pp1800_ldo>;
0183                 regulator-enable-ramp-delay = <1000>;
0184         };
0185 
0186         pp1800_wf_cam: pp1800-wf-cam-regulator {
0187                 compatible = "regulator-fixed";
0188                 regulator-name = "pp1800_wf_cam";
0189                 status = "disabled";
0190 
0191                 regulator-min-microvolt = <1800000>;
0192                 regulator-max-microvolt = <1800000>;
0193 
0194                 gpio = <&tlmm 7 GPIO_ACTIVE_HIGH>;
0195                 enable-active-high;
0196                 pinctrl-names = "default";
0197                 pinctrl-0 = <&wf_cam_en>;
0198 
0199                 vin-supply = <&pp1800_ldo>;
0200                 regulator-enable-ramp-delay = <1000>;
0201         };
0202 
0203         pp2800_uf_cam: pp2800-uf-cam-regulator {
0204                 compatible = "regulator-fixed";
0205                 regulator-name = "pp2800_uf_cam";
0206                 status = "disabled";
0207 
0208                 regulator-min-microvolt = <2850000>;
0209                 regulator-max-microvolt = <2850000>;
0210 
0211                 gpio = <&tlmm 6 GPIO_ACTIVE_HIGH>;
0212                 enable-active-high;
0213                 /*
0214                  * The pinconf can only be referenced once so we put it on the
0215                  * first regulator and comment it out here.
0216                  * pinctrl-names = "default";
0217                  * pinctrl-0 = <&uf_cam_en>;
0218                  */
0219 
0220                 vin-supply = <&pp3300_a>;
0221         };
0222 
0223         pp2800_vcm_wf_cam:
0224         pp2800_wf_cam: pp2800-wf-cam-regulator {
0225                 compatible = "regulator-fixed";
0226                 regulator-name = "pp2800_wf_cam";
0227                 status = "disabled";
0228 
0229                 regulator-min-microvolt = <2850000>;
0230                 regulator-max-microvolt = <2850000>;
0231 
0232                 gpio = <&tlmm 7 GPIO_ACTIVE_HIGH>;
0233                 enable-active-high;
0234                 /*
0235                  * The pinconf can only be referenced once so we put it on the
0236                  * first regulator and comment it out here.
0237                  * pinctrl-names = "default";
0238                  * pinctrl-0 = <&wf_cam_en>;
0239                  */
0240 
0241                 vin-supply = <&pp3300_a>;
0242         };
0243 
0244         pp3300_audio:
0245         pp3300_codec: pp3300-codec-regulator {
0246                 compatible = "regulator-fixed";
0247                 regulator-name = "pp3300_codec";
0248 
0249                 regulator-min-microvolt = <3300000>;
0250                 regulator-max-microvolt = <3300000>;
0251 
0252                 gpio = <&tlmm 83 GPIO_ACTIVE_HIGH>;
0253                 enable-active-high;
0254                 pinctrl-names = "default";
0255                 pinctrl-0 = <&en_pp3300_codec>;
0256 
0257                 vin-supply = <&pp3300_a>;
0258         };
0259 
0260         pp3300_dx_edp:
0261         pp3300_ts: pp3300-dx-edp-regulator {
0262                 compatible = "regulator-fixed";
0263                 regulator-name = "pp3300_dx_edp";
0264 
0265                 regulator-min-microvolt = <3300000>;
0266                 regulator-max-microvolt = <3300000>;
0267 
0268                 gpio = <&tlmm 30 GPIO_ACTIVE_HIGH>;
0269                 enable-active-high;
0270                 pinctrl-names = "default";
0271                 pinctrl-0 = <&en_pp3300_dx_edp>;
0272 
0273                 vin-supply = <&pp3300_a>;
0274         };
0275 
0276         pp3300_fp_tp: pp3300-fp-tp-regulator {
0277                 compatible = "regulator-fixed";
0278                 regulator-name = "pp3300_fp_tp";
0279 
0280                 regulator-min-microvolt = <3300000>;
0281                 regulator-max-microvolt = <3300000>;
0282 
0283                 /* AP turns on with PP1800_VIO_OUT; always on for AP */
0284                 regulator-always-on;
0285                 regulator-boot-on;
0286 
0287                 vin-supply = <&pp3300_a>;
0288         };
0289 
0290         pp3300_hub: pp3300-hub-regulator {
0291                 compatible = "regulator-fixed";
0292                 regulator-name = "pp3300_hub";
0293 
0294                 regulator-min-microvolt = <3300000>;
0295                 regulator-max-microvolt = <3300000>;
0296 
0297                 gpio = <&tlmm 84 GPIO_ACTIVE_HIGH>;
0298                 enable-active-high;
0299                 pinctrl-names = "default";
0300                 pinctrl-0 = <&en_pp3300_hub>;
0301 
0302                 regulator-always-on;
0303                 regulator-boot-on;
0304 
0305                 vin-supply = <&pp3300_a>;
0306         };
0307 
0308         /* BOARD-SPECIFIC TOP LEVEL NODES */
0309 
0310         backlight: backlight {
0311                 compatible = "pwm-backlight";
0312 
0313                 /* The panels don't seem to like anything below ~ 5% */
0314                 brightness-levels = <
0315                         196 256 324 400 484 576 676 784 900 1024 1156 1296
0316                         1444 1600 1764 1936 2116 2304 2500 2704 2916 3136
0317                         3364 3600 3844 4096
0318                 >;
0319                 num-interpolated-steps = <64>;
0320                 default-brightness-level = <951>;
0321 
0322                 pwms = <&cros_ec_pwm 1>;
0323                 enable-gpios = <&tlmm 12 GPIO_ACTIVE_HIGH>;
0324                 power-supply = <&ppvar_sys>;
0325                 pinctrl-names = "default";
0326                 pinctrl-0 = <&ap_edp_bklten>;
0327         };
0328 
0329         gpio_keys: gpio-keys {
0330                 compatible = "gpio-keys";
0331                 status = "disabled";
0332                 pinctrl-names = "default";
0333                 pinctrl-0 = <&pen_pdct_l>;
0334 
0335                 pen_insert: switch-pen-insert {
0336                         label = "Pen Insert";
0337 
0338                         /* Insert = low, eject = high */
0339                         gpios = <&tlmm 52 GPIO_ACTIVE_LOW>;
0340                         linux,code = <SW_PEN_INSERTED>;
0341                         linux,input-type = <EV_SW>;
0342                         wakeup-event-action = <EV_ACT_DEASSERTED>;
0343                         wakeup-source;
0344                 };
0345         };
0346 
0347         max98360a: audio-codec-0 {
0348                 compatible = "maxim,max98360a";
0349                 pinctrl-names = "default";
0350                 pinctrl-0 = <&amp_en>;
0351                 sdmode-gpios = <&tlmm 23 GPIO_ACTIVE_HIGH>;
0352                 #sound-dai-cells = <0>;
0353         };
0354 
0355         pwmleds {
0356                 compatible = "pwm-leds";
0357                 keyboard_backlight: keyboard-backlight {
0358                         status = "disabled";
0359                         label = "cros_ec::kbd_backlight";
0360                         function = LED_FUNCTION_KBD_BACKLIGHT;
0361                         pwms = <&cros_ec_pwm 0>;
0362                         max-brightness = <1023>;
0363                 };
0364         };
0365 
0366         sound: sound {
0367                 compatible = "google,sc7180-trogdor";
0368                 model = "sc7180-rt5682-max98357a-1mic";
0369 
0370                 audio-routing =
0371                         "Headphone Jack", "HPOL",
0372                         "Headphone Jack", "HPOR";
0373 
0374                 #address-cells = <1>;
0375                 #size-cells = <0>;
0376 
0377                 dai-link@0 {
0378                         link-name = "MultiMedia0";
0379                         reg = <MI2S_PRIMARY>;
0380                         cpu {
0381                                 sound-dai = <&lpass_cpu MI2S_PRIMARY>;
0382                         };
0383 
0384                         sound_multimedia0_codec: codec {
0385                                 sound-dai = <&alc5682 0 /* aif1 */>;
0386                         };
0387                 };
0388 
0389                 dai-link@1 {
0390                         link-name = "MultiMedia1";
0391                         reg = <MI2S_SECONDARY>;
0392                         cpu {
0393                                 sound-dai = <&lpass_cpu MI2S_SECONDARY>;
0394                         };
0395 
0396                         sound_multimedia1_codec: codec {
0397                                 sound-dai = <&max98360a>;
0398                         };
0399                 };
0400 
0401                 dai-link@5 {
0402                         link-name = "MultiMedia2";
0403                         reg = <LPASS_DP_RX>;
0404                         cpu {
0405                                 sound-dai = <&lpass_cpu LPASS_DP_RX>;
0406                         };
0407 
0408                         codec {
0409                                 sound-dai = <&mdss_dp>;
0410                         };
0411                 };
0412         };
0413 };
0414 
0415 &qfprom {
0416         vcc-supply = <&pp1800_l11a>;
0417 };
0418 
0419 &qspi {
0420         status = "okay";
0421         pinctrl-names = "default";
0422         pinctrl-0 = <&qspi_clk>, <&qspi_cs0>, <&qspi_data01>;
0423 
0424         flash@0 {
0425                 compatible = "jedec,spi-nor";
0426                 reg = <0>;
0427 
0428                 spi-max-frequency = <37500000>;
0429                 spi-tx-bus-width = <2>;
0430                 spi-rx-bus-width = <2>;
0431         };
0432 };
0433 
0434 &apps_rsc {
0435         pm6150-rpmh-regulators {
0436                 compatible = "qcom,pm6150-rpmh-regulators";
0437                 qcom,pmic-id = "a";
0438 
0439                 vddpx_1:
0440                 vdd2:
0441                 pp1125_s1a: smps1 {
0442                         regulator-min-microvolt = <1128000>;
0443                         regulator-max-microvolt = <1128000>;
0444                 };
0445 
0446                 vdd_qlink_lv:
0447                 vdd_qlink_lv_ck:
0448                 vdd_qusb_hs0_core:
0449                 vdd_ufs1_core:
0450                 vdda_mipi_csi0_0p9:
0451                 vdda_mipi_csi1_0p9:
0452                 vdda_mipi_csi2_0p9:
0453                 vdda_mipi_csi3_0p9:
0454                 vdda_mipi_dsi0_pll:
0455                 vdda_pll_cc_ebi01:
0456                 vdda_qrefs_0p9:
0457                 vdda_usb_ss_dp_core:
0458                 pp900_l4a: ldo4 {
0459                         regulator-min-microvolt = <824000>;
0460                         regulator-max-microvolt = <928000>;
0461                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0462                 };
0463 
0464                 vdd_cx_wlan:
0465                 pp800_l9a: ldo9 {
0466                         regulator-min-microvolt = <488000>;
0467                         regulator-max-microvolt = <800000>;
0468                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0469                 };
0470 
0471                 vdd1:
0472                 vddpx_3:
0473                 vddpx_7:
0474                 vio_in:
0475                 pp1800_l10a: ldo10 {
0476                         regulator-min-microvolt = <1800000>;
0477                         regulator-max-microvolt = <1800000>;
0478                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0479                 };
0480 
0481                 vdd_qfprom:
0482                 vdda_apc1_cs_1p8:
0483                 vdda_qrefs_1p8:
0484                 vdda_qusb_hs0_1p8:
0485                 vddpx_11:
0486                 vreg_bb_clk:
0487                 pp1800_l11a: ldo11 {
0488                         regulator-min-microvolt = <1800000>;
0489                         regulator-max-microvolt = <1800000>;
0490                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0491                 };
0492 
0493                 mcp_vccq:
0494                 pp1800_l12a_r: ldo12 {
0495                         regulator-min-microvolt = <1800000>;
0496                         regulator-max-microvolt = <1800000>;
0497                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0498                 };
0499 
0500                 /*
0501                  * On trogdor this needs to match l10a since we use it to
0502                  * give power to things like SPI flash which communicate back
0503                  * on lines powered by l10a.  Thus we force to 1.8V.
0504                  */
0505                 pp1800_l13a: ldo13 {
0506                         regulator-min-microvolt = <1800000>;
0507                         regulator-max-microvolt = <1800000>;
0508                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0509                 };
0510 
0511                 pp1800_prox:
0512                 pp1800_l14a: ldo14 {
0513                         regulator-min-microvolt = <1800000>;
0514                         regulator-max-microvolt = <1800000>;
0515                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0516                 };
0517 
0518                 pp1800_alc5682:
0519                 pp1800_l15a: ldo15 {
0520                         regulator-min-microvolt = <1800000>;
0521                         regulator-max-microvolt = <1800000>;
0522                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0523                 };
0524 
0525                 vdda_qusb_hs0_3p1:
0526                 vdd_pdphy:
0527                 pp3100_l17a: ldo17 {
0528                         regulator-min-microvolt = <2920000>;
0529                         regulator-max-microvolt = <3232000>;
0530                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0531                 };
0532 
0533                 pp1800_pen:
0534                 pp1800_l18a: ldo18 {
0535                         regulator-min-microvolt = <1800000>;
0536                         regulator-max-microvolt = <1800000>;
0537                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0538                 };
0539 
0540                 mcp_vcc:
0541                 pp2850_l19a: ldo19 {
0542                         regulator-min-microvolt = <2960000>;
0543                         regulator-max-microvolt = <2960000>;
0544                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0545                 };
0546         };
0547 
0548         pm6150l-rpmh-regulators {
0549                 compatible = "qcom,pm6150l-rpmh-regulators";
0550                 qcom,pmic-id = "c";
0551 
0552                 pp1300_s8c: smps8 {
0553                         regulator-min-microvolt = <1120000>;
0554                         regulator-max-microvolt = <1408000>;
0555                 };
0556 
0557                 pp1800_l1c: ldo1 {
0558                         regulator-min-microvolt = <1616000>;
0559                         regulator-max-microvolt = <1984000>;
0560                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0561                 };
0562 
0563                 vdd_wcss_adc_dac:
0564                 pp1300_l2c: ldo2 {
0565                         regulator-min-microvolt = <1168000>;
0566                         regulator-max-microvolt = <1304000>;
0567                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0568                 };
0569 
0570                 pp1200_brij:
0571                 vdd_ufs1_1p2:
0572                 vdda_csi0_1p25:
0573                 vdda_csi1_1p25:
0574                 vdda_csi2_1p25:
0575                 vdda_csi3_1p25:
0576                 vdda_hv_ebi0:
0577                 vdda_mipi_dsi0_1p2:
0578                 vdda_usb_ss_dp_1p2:
0579                 vddpx_10:
0580                 pp1200_l3c: ldo3 {
0581                         regulator-min-microvolt = <1200000>;
0582                         regulator-max-microvolt = <1200000>;
0583                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0584                 };
0585 
0586                 vddpx_2:
0587                 ppvar_l6c: ldo6 {
0588                         regulator-min-microvolt = <1800000>;
0589                         regulator-max-microvolt = <2952000>;
0590                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0591                 };
0592 
0593                 pp3300_l7c: ldo7 {
0594                         regulator-min-microvolt = <3304000>;
0595                         regulator-max-microvolt = <3304000>;
0596                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0597                 };
0598 
0599                 pp1800_brij_vccio:
0600                 pp1800_edp_vpll:
0601                 pp1800_l8c: ldo8 {
0602                         regulator-min-microvolt = <1800000>;
0603                         regulator-max-microvolt = <1800000>;
0604                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0605                 };
0606 
0607                 pp2950_l9c: ldo9 {
0608                         regulator-min-microvolt = <2952000>;
0609                         regulator-max-microvolt = <2952000>;
0610                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0611                 };
0612 
0613                 pp3300_l10c: ldo10 {
0614                         regulator-min-microvolt = <3000000>;
0615                         regulator-max-microvolt = <3400000>;
0616                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0617                 };
0618 
0619                 pp3300_l11c: ldo11 {
0620                         regulator-min-microvolt = <3000000>;
0621                         regulator-max-microvolt = <3400000>;
0622                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0623                 };
0624 
0625                 src_vreg_bob: bob {
0626                         regulator-min-microvolt = <3008000>;
0627                         regulator-max-microvolt = <3960000>;
0628                         regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
0629                 };
0630         };
0631 };
0632 
0633 ap_ec_spi: &spi6 {
0634         status = "okay";
0635         cros_ec: ec@0 {
0636                 compatible = "google,cros-ec-spi";
0637                 reg = <0>;
0638                 interrupt-parent = <&tlmm>;
0639                 interrupts = <94 IRQ_TYPE_LEVEL_LOW>;
0640                 pinctrl-names = "default";
0641                 pinctrl-0 = <&ap_ec_int_l>;
0642                 spi-max-frequency = <3000000>;
0643 
0644                 cros_ec_pwm: pwm {
0645                         compatible = "google,cros-ec-pwm";
0646                         #pwm-cells = <1>;
0647                 };
0648 
0649                 i2c_tunnel: i2c-tunnel {
0650                         compatible = "google,cros-ec-i2c-tunnel";
0651                         google,remote-bus = <0>;
0652                         #address-cells = <1>;
0653                         #size-cells = <0>;
0654                 };
0655 
0656                 typec {
0657                         compatible = "google,cros-ec-typec";
0658                         #address-cells = <1>;
0659                         #size-cells = <0>;
0660 
0661                         usb_c0: connector@0 {
0662                                 compatible = "usb-c-connector";
0663                                 reg = <0>;
0664                                 label = "left";
0665                                 power-role = "dual";
0666                                 data-role = "host";
0667                                 try-power-role = "source";
0668                         };
0669 
0670                         usb_c1: connector@1 {
0671                                 compatible = "usb-c-connector";
0672                                 reg = <1>;
0673                                 label = "right";
0674                                 power-role = "dual";
0675                                 data-role = "host";
0676                                 try-power-role = "source";
0677                         };
0678                 };
0679         };
0680 };
0681 
0682 ap_h1_spi: &spi0 {
0683         status = "okay";
0684         cr50: tpm@0 {
0685                 compatible = "google,cr50";
0686                 reg = <0>;
0687                 pinctrl-names = "default";
0688                 pinctrl-0 = <&h1_ap_int_odl>;
0689                 spi-max-frequency = <800000>;
0690                 interrupt-parent = <&tlmm>;
0691                 interrupts = <42 IRQ_TYPE_EDGE_RISING>;
0692         };
0693 };
0694 
0695 &camcc {
0696         status = "disabled";
0697 };
0698 
0699 &dsi0 {
0700         status = "okay";
0701         vdda-supply = <&vdda_mipi_dsi0_1p2>;
0702 };
0703 
0704 &dsi0_out {
0705         data-lanes = <0 1 2 3>;
0706 };
0707 
0708 &dsi_phy {
0709         status = "okay";
0710         vdds-supply = <&vdda_mipi_dsi0_pll>;
0711 };
0712 
0713 ap_sar_sensor_i2c: &i2c5 {
0714         clock-frequency = <400000>;
0715 
0716         ap_sar_sensor: proximity@28 {
0717                 compatible = "semtech,sx9310";
0718                 reg = <0x28>;
0719                 #io-channel-cells = <1>;
0720                 pinctrl-names = "default";
0721                 pinctrl-0 = <&p_sensor_int_l>;
0722 
0723                 interrupt-parent = <&tlmm>;
0724                 interrupts = <24 IRQ_TYPE_LEVEL_LOW>;
0725 
0726                 vdd-supply = <&pp3300_a>;
0727                 svdd-supply = <&pp1800_prox>;
0728 
0729                 label = "proximity-wifi";
0730         };
0731 };
0732 
0733 ap_tp_i2c: &i2c7 {
0734         clock-frequency = <400000>;
0735 
0736         trackpad: trackpad@15 {
0737                 compatible = "elan,ekth3000";
0738                 reg = <0x15>;
0739                 pinctrl-names = "default";
0740                 pinctrl-0 = <&tp_int_odl>;
0741 
0742                 interrupt-parent = <&tlmm>;
0743                 interrupts = <0 IRQ_TYPE_EDGE_FALLING>;
0744 
0745                 vcc-supply = <&pp3300_fp_tp>;
0746 
0747                 wakeup-source;
0748         };
0749 };
0750 
0751 hp_i2c: &i2c9 {
0752         status = "okay";
0753         clock-frequency = <400000>;
0754 
0755         alc5682: codec@1a {
0756                 compatible = "realtek,rt5682i";
0757                 reg = <0x1a>;
0758                 pinctrl-names = "default";
0759                 pinctrl-0 = <&hp_irq>;
0760 
0761                 #sound-dai-cells = <1>;
0762 
0763                 interrupt-parent = <&tlmm>;
0764                 /*
0765                  * This will get ignored because the interrupt type
0766                  * is set in rt5682.c.
0767                  */
0768                 interrupts = <28 IRQ_TYPE_EDGE_BOTH>;
0769 
0770                 AVDD-supply = <&pp1800_alc5682>;
0771                 MICVDD-supply = <&pp3300_codec>;
0772                 VBAT-supply = <&pp3300_audio>;
0773 
0774                 realtek,dmic1-data-pin = <1>;
0775                 realtek,dmic1-clk-pin = <1>;
0776                 realtek,jd-src = <1>;
0777         };
0778 };
0779 
0780 &lpass_cpu {
0781         status = "okay";
0782 
0783         pinctrl-names = "default";
0784         pinctrl-0 = <&sec_mi2s_active>, <&pri_mi2s_active>, <&pri_mi2s_mclk_active>;
0785 
0786         #address-cells = <1>;
0787         #size-cells = <0>;
0788 
0789         mi2s@0 {
0790                 reg = <MI2S_PRIMARY>;
0791                 qcom,playback-sd-lines = <1>;
0792                 qcom,capture-sd-lines = <0>;
0793         };
0794 
0795         secondary_mi2s: mi2s@1 {
0796                 reg = <MI2S_SECONDARY>;
0797                 qcom,playback-sd-lines = <0>;
0798         };
0799 
0800         hdmi@5 {
0801                 reg = <LPASS_DP_RX>;
0802         };
0803 };
0804 
0805 &mdp {
0806         status = "okay";
0807 };
0808 
0809 &mdss {
0810         status = "okay";
0811 };
0812 
0813 &mdss_dp {
0814         status = "okay";
0815         pinctrl-names = "default";
0816         pinctrl-0 = <&dp_hot_plug_det>;
0817         data-lanes = <0 1>;
0818 };
0819 
0820 &pm6150_adc {
0821         charger-thermistor@4f {
0822                 reg = <ADC5_AMUX_THM3_100K_PU>;
0823                 qcom,ratiometric;
0824                 qcom,hw-settle-time = <200>;
0825         };
0826 };
0827 
0828 &pm6150_adc_tm {
0829         status = "okay";
0830 
0831         charger-thermistor@0 {
0832                 reg = <0>;
0833                 io-channels = <&pm6150_adc ADC5_AMUX_THM3_100K_PU>;
0834                 qcom,ratiometric;
0835                 qcom,hw-settle-time-us = <200>;
0836         };
0837 };
0838 
0839 &pm6150_pon {
0840         status = "disabled";
0841 };
0842 
0843 &qupv3_id_0 {
0844         status = "okay";
0845 };
0846 
0847 &qupv3_id_1 {
0848         status = "okay";
0849 };
0850 
0851 &remoteproc_mpss {
0852         status = "okay";
0853         compatible = "qcom,sc7180-mss-pil";
0854         iommus = <&apps_smmu 0x461 0x0>, <&apps_smmu 0x444 0x3>;
0855         memory-region = <&mba_mem &mpss_mem>;
0856 
0857         /* This gets overridden for SKUs with LTE support. */
0858         firmware-name = "qcom/sc7180-trogdor/modem-nolte/mba.mbn",
0859                         "qcom/sc7180-trogdor/modem-nolte/qdsp6sw.mbn";
0860 };
0861 
0862 &sdhc_1 {
0863         status = "okay";
0864 
0865         pinctrl-names = "default", "sleep";
0866         pinctrl-0 = <&sdc1_on>;
0867         pinctrl-1 = <&sdc1_off>;
0868         vmmc-supply = <&mcp_vcc>;
0869         vqmmc-supply = <&mcp_vccq>;
0870 };
0871 
0872 &sdhc_2 {
0873         pinctrl-names = "default", "sleep";
0874         pinctrl-0 = <&sdc2_on>;
0875         pinctrl-1 = <&sdc2_off>;
0876         vmmc-supply = <&pp2950_l9c>;
0877         vqmmc-supply = <&ppvar_l6c>;
0878 
0879         cd-gpios = <&tlmm 69 GPIO_ACTIVE_LOW>;
0880 };
0881 
0882 &spi0 {
0883         pinctrl-0 = <&qup_spi0_cs_gpio_init_high>, <&qup_spi0_cs_gpio>;
0884         cs-gpios = <&tlmm 37 GPIO_ACTIVE_LOW>;
0885 };
0886 
0887 &spi6 {
0888         pinctrl-0 = <&qup_spi6_cs_gpio_init_high>, <&qup_spi6_cs_gpio>;
0889         cs-gpios = <&tlmm 62 GPIO_ACTIVE_LOW>;
0890 };
0891 
0892 ap_spi_fp: &spi10 {
0893         pinctrl-0 = <&qup_spi10_cs_gpio_init_high>, <&qup_spi10_cs_gpio>;
0894         cs-gpios = <&tlmm 89 GPIO_ACTIVE_LOW>;
0895 
0896         cros_ec_fp: ec@0 {
0897                 compatible = "google,cros-ec-spi";
0898                 reg = <0>;
0899                 interrupt-parent = <&tlmm>;
0900                 interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
0901                 pinctrl-names = "default";
0902                 pinctrl-0 = <&fp_to_ap_irq_l>;
0903                 spi-max-frequency = <3000000>;
0904         };
0905 };
0906 
0907 #include <arm/cros-ec-sbs.dtsi>
0908 
0909 &uart3 {
0910         status = "okay";
0911 
0912         /delete-property/interrupts;
0913         interrupts-extended = <&intc GIC_SPI 604 IRQ_TYPE_LEVEL_HIGH>,
0914                                 <&tlmm 41 IRQ_TYPE_EDGE_FALLING>;
0915 
0916         pinctrl-names = "default", "sleep";
0917         pinctrl-1 = <&qup_uart3_sleep>;
0918 
0919         bluetooth: bluetooth {
0920                 compatible = "qcom,wcn3991-bt";
0921                 vddio-supply = <&pp1800_l10a>;
0922                 vddxo-supply = <&pp1800_l1c>;
0923                 vddrf-supply = <&pp1300_l2c>;
0924                 vddch0-supply = <&pp3300_l10c>;
0925                 max-speed = <3200000>;
0926         };
0927 };
0928 
0929 &uart8 {
0930         status = "okay";
0931 };
0932 
0933 &usb_1 {
0934         status = "okay";
0935 };
0936 
0937 &usb_1_dwc3 {
0938         dr_mode = "host";
0939 };
0940 
0941 &usb_1_hsphy {
0942         status = "okay";
0943         vdd-supply = <&vdd_qusb_hs0_core>;
0944         vdda-pll-supply = <&vdda_qusb_hs0_1p8>;
0945         vdda-phy-dpdm-supply = <&vdda_qusb_hs0_3p1>;
0946         qcom,imp-res-offset-value = <8>;
0947         qcom,preemphasis-level = <QUSB2_V2_PREEMPHASIS_15_PERCENT>;
0948         qcom,preemphasis-width = <QUSB2_V2_PREEMPHASIS_WIDTH_HALF_BIT>;
0949         qcom,bias-ctrl-value = <0x22>;
0950         qcom,charge-ctrl-value = <3>;
0951         qcom,hsdisc-trim-value = <0>;
0952 };
0953 
0954 &usb_1_qmpphy {
0955         status = "okay";
0956         vdda-phy-supply = <&vdda_usb_ss_dp_1p2>;
0957         vdda-pll-supply = <&vdda_usb_ss_dp_core>;
0958 };
0959 
0960 &venus {
0961         video-firmware {
0962                 iommus = <&apps_smmu 0x0c42 0x0>;
0963         };
0964 };
0965 
0966 &wifi {
0967         status = "okay";
0968         vdd-0.8-cx-mx-supply = <&vdd_cx_wlan>;
0969         vdd-1.8-xo-supply = <&pp1800_l1c>;
0970         vdd-1.3-rfa-supply = <&pp1300_l2c>;
0971         vdd-3.3-ch0-supply = <&pp3300_l10c>;
0972         vdd-3.3-ch1-supply = <&pp3300_l11c>;
0973 
0974         wifi-firmware {
0975                 iommus = <&apps_smmu 0xc2 0x1>;
0976         };
0977 };
0978 
0979 /* PINCTRL - additions to nodes defined in sc7180.dtsi */
0980 
0981 &dp_hot_plug_det {
0982         pinconf {
0983                 pins = "gpio117";
0984                 bias-disable;
0985         };
0986 };
0987 
0988 &pri_mi2s_active {
0989         pinconf {
0990                 pins = "gpio53", "gpio54", "gpio55", "gpio56";
0991                 drive-strength = <2>;
0992                 bias-pull-down;
0993         };
0994 };
0995 
0996 &pri_mi2s_mclk_active {
0997         pinconf {
0998                 pins = "gpio57";
0999                 drive-strength = <2>;
1000                 bias-pull-down;
1001         };
1002 };
1003 
1004 &qspi_cs0 {
1005         pinconf {
1006                 pins = "gpio68";
1007                 bias-disable;
1008         };
1009 };
1010 
1011 &qspi_clk {
1012         pinconf {
1013                 pins = "gpio63";
1014                 drive-strength = <8>;
1015                 bias-disable;
1016         };
1017 };
1018 
1019 &qspi_data01 {
1020         pinconf {
1021                 pins = "gpio64", "gpio65";
1022 
1023                 /* High-Z when no transfers; nice to park the lines */
1024                 bias-pull-up;
1025         };
1026 };
1027 
1028 &qup_i2c2_default {
1029         pinconf {
1030                 pins = "gpio15", "gpio16";
1031                 drive-strength = <2>;
1032 
1033                 /* Has external pullup */
1034                 bias-disable;
1035         };
1036 };
1037 
1038 &qup_i2c4_default {
1039         pinconf {
1040                 pins = "gpio115", "gpio116";
1041                 drive-strength = <2>;
1042 
1043                 /* Has external pullup */
1044                 bias-disable;
1045         };
1046 };
1047 
1048 &qup_i2c5_default {
1049         pinconf {
1050                 pins = "gpio25", "gpio26";
1051                 drive-strength = <2>;
1052 
1053                 /* Has external pullup */
1054                 bias-disable;
1055         };
1056 };
1057 
1058 &qup_i2c7_default {
1059         pinconf {
1060                 pins = "gpio6", "gpio7";
1061                 drive-strength = <2>;
1062 
1063                 /* Has external pullup */
1064                 bias-disable;
1065         };
1066 };
1067 
1068 &qup_i2c9_default {
1069         pinconf {
1070                 pins = "gpio46", "gpio47";
1071                 drive-strength = <2>;
1072 
1073                 /* Has external pullup */
1074                 bias-disable;
1075         };
1076 };
1077 
1078 &qup_spi0_cs_gpio {
1079         pinconf {
1080                 pins = "gpio34", "gpio35", "gpio36", "gpio37";
1081                 drive-strength = <2>;
1082                 bias-disable;
1083         };
1084 };
1085 
1086 &qup_spi6_cs_gpio {
1087         pinconf {
1088                 pins = "gpio59", "gpio60", "gpio61", "gpio62";
1089                 drive-strength = <2>;
1090                 bias-disable;
1091         };
1092 };
1093 
1094 &qup_spi10_cs_gpio {
1095         pinconf {
1096                 pins = "gpio86", "gpio87", "gpio88", "gpio89";
1097                 drive-strength = <2>;
1098                 bias-disable;
1099         };
1100 };
1101 
1102 &qup_uart3_default {
1103         pinconf-cts {
1104                 /*
1105                  * Configure a pull-down on CTS to match the pull of
1106                  * the Bluetooth module.
1107                  */
1108                 pins = "gpio38";
1109                 bias-pull-down;
1110         };
1111 
1112         pinconf-rts-tx {
1113                 /* We'll drive RTS and TX, so no pull */
1114                 pins = "gpio39", "gpio40";
1115                 drive-strength = <2>;
1116                 bias-disable;
1117         };
1118 
1119         pinconf-rx {
1120                 /*
1121                  * Configure a pull-up on RX. This is needed to avoid
1122                  * garbage data when the TX pin of the Bluetooth module is
1123                  * in tri-state (module powered off or not driving the
1124                  * signal yet).
1125                  */
1126                 pins = "gpio41";
1127                 bias-pull-up;
1128         };
1129 };
1130 
1131 &qup_uart8_default {
1132         pinconf-tx {
1133                 pins = "gpio44";
1134                 drive-strength = <2>;
1135                 bias-disable;
1136         };
1137 
1138         pinconf-rx {
1139                 pins = "gpio45";
1140                 drive-strength = <2>;
1141                 bias-pull-up;
1142         };
1143 };
1144 
1145 &sec_mi2s_active {
1146         pinconf {
1147                 pins = "gpio49", "gpio50", "gpio51";
1148                 drive-strength = <2>;
1149                 bias-pull-down;
1150         };
1151 };
1152 
1153 /* PINCTRL - board-specific pinctrl */
1154 
1155 &pm6150_gpio {
1156         status = "disabled"; /* No GPIOs are connected */
1157 };
1158 
1159 &pm6150l_gpio {
1160         gpio-line-names = "AP_SUSPEND",
1161                           "",
1162                           "",
1163                           "",
1164                           "",
1165                           "",
1166                           "",
1167                           "",
1168                           "",
1169                           "",
1170                           "",
1171                           "";
1172 };
1173 
1174 &tlmm {
1175         /*
1176          * pinctrl settings for pins that have no real owners.
1177          */
1178         pinctrl-names = "default";
1179         pinctrl-0 = <&bios_flash_wp_l>, <&ap_suspend_l_neuter>;
1180 
1181         amp_en: amp-en {
1182                 pinmux {
1183                         pins = "gpio23";
1184                         function = "gpio";
1185                 };
1186 
1187                 pinconf {
1188                         pins = "gpio23";
1189                         bias-pull-down;
1190                 };
1191         };
1192 
1193         ap_ec_int_l: ap-ec-int-l {
1194                 pinmux {
1195                         pins = "gpio94";
1196                         function = "gpio";
1197                         input-enable;
1198                 };
1199 
1200                 pinconf {
1201                         pins = "gpio94";
1202                         bias-pull-up;
1203                 };
1204         };
1205 
1206         ap_edp_bklten: ap-edp-bklten {
1207                 pinmux {
1208                         pins = "gpio12";
1209                         function = "gpio";
1210                 };
1211 
1212                 pinconf {
1213                         pins = "gpio12";
1214                         drive-strength = <2>;
1215                         bias-disable;
1216 
1217                         /* Force backlight to be disabled to match state at boot. */
1218                         output-low;
1219                 };
1220         };
1221 
1222         ap_suspend_l_neuter: ap-suspend-l-neuter {
1223                 pinmux  {
1224                         pins = "gpio27";
1225                         function = "gpio";
1226                 };
1227 
1228                 pinconf {
1229                         pins = "gpio27";
1230                         bias-disable;
1231                 };
1232         };
1233 
1234         bios_flash_wp_l: bios-flash-wp-l {
1235                 pinmux {
1236                         pins = "gpio66";
1237                         function = "gpio";
1238                         input-enable;
1239                 };
1240 
1241                 pinconf {
1242                         pins = "gpio66";
1243                         bias-disable;
1244                 };
1245         };
1246 
1247         edp_brij_en: edp-brij-en {
1248                 pinmux {
1249                         pins = "gpio104";
1250                         function = "gpio";
1251                 };
1252 
1253                 pinconf {
1254                         pins = "gpio104";
1255                         drive-strength = <2>;
1256                         bias-disable;
1257                 };
1258         };
1259 
1260         en_pp3300_codec: en-pp3300-codec {
1261                 pinmux {
1262                         pins = "gpio83";
1263                         function = "gpio";
1264                 };
1265 
1266                 pinconf {
1267                         pins = "gpio83";
1268                         drive-strength = <2>;
1269                         bias-disable;
1270                 };
1271         };
1272 
1273         en_pp3300_dx_edp: en-pp3300-dx-edp {
1274                 pinmux {
1275                         pins = "gpio30";
1276                         function = "gpio";
1277                 };
1278 
1279                 pinconf {
1280                         pins = "gpio30";
1281                         drive-strength = <2>;
1282                         bias-disable;
1283                 };
1284         };
1285 
1286         en_pp3300_hub: en-pp3300-hub {
1287                 pinmux {
1288                         pins = "gpio84";
1289                         function = "gpio";
1290                 };
1291 
1292                 pinconf {
1293                         pins = "gpio84";
1294                         drive-strength = <2>;
1295                         bias-disable;
1296                 };
1297         };
1298 
1299         fp_to_ap_irq_l: fp-to-ap-irq-l {
1300                 pinmux {
1301                         pins = "gpio4";
1302                         function = "gpio";
1303                         input-enable;
1304                 };
1305 
1306                 pinconf {
1307                         pins = "gpio4";
1308 
1309                         /* Has external pullup */
1310                         bias-disable;
1311                 };
1312         };
1313 
1314         h1_ap_int_odl: h1-ap-int-odl {
1315                 pinmux {
1316                         pins = "gpio42";
1317                         function = "gpio";
1318                         input-enable;
1319                 };
1320 
1321                 pinconf {
1322                         pins = "gpio42";
1323                         bias-pull-up;
1324                 };
1325         };
1326 
1327         hp_irq: hp-irq {
1328                 pinmux {
1329                         pins = "gpio28";
1330                         function = "gpio";
1331                 };
1332 
1333                 pinconf {
1334                         pins = "gpio28";
1335                         bias-pull-up;
1336                 };
1337         };
1338 
1339         pen_irq_l: pen-irq-l {
1340                 pinmux {
1341                         pins = "gpio21";
1342                         function = "gpio";
1343                 };
1344 
1345                 pinconf {
1346                         pins = "gpio21";
1347 
1348                         /* Has external pullup */
1349                         bias-disable;
1350                 };
1351         };
1352 
1353         pen_pdct_l: pen-pdct-l {
1354                 pinmux {
1355                         pins = "gpio52";
1356                         function = "gpio";
1357                 };
1358 
1359                 pinconf {
1360                         pins = "gpio52";
1361 
1362                         /* Has external pullup */
1363                         bias-disable;
1364                 };
1365         };
1366 
1367         pen_rst_odl: pen-rst-odl {
1368                 pinmux  {
1369                         pins = "gpio18";
1370                         function = "gpio";
1371                 };
1372 
1373                 pinconf {
1374                         pins = "gpio18";
1375                         bias-disable;
1376                         drive-strength = <2>;
1377 
1378                         /*
1379                          * The pen driver doesn't currently support
1380                          * driving this reset line.  By specifying
1381                          * output-high here we're relying on the fact
1382                          * that this pin has a default pulldown at boot
1383                          * (which makes sure the pen was in reset if it
1384                          * was powered) and then we set it high here to
1385                          * take it out of reset.  Better would be if the
1386                          * pen driver could control this and we could
1387                          * remove "output-high" here.
1388                          */
1389                         output-high; /* TODO: Remove this? */
1390                 };
1391         };
1392 
1393         p_sensor_int_l: p-sensor-int-l {
1394                 pinmux {
1395                         pins = "gpio24";
1396                         function = "gpio";
1397                         input-enable;
1398                 };
1399 
1400                 pinconf {
1401                         pins = "gpio24";
1402                         /* Has external pullup */
1403                         bias-disable;
1404                 };
1405         };
1406 
1407         qup_spi0_cs_gpio_init_high: qup-spi0-cs-gpio-init-high {
1408                 pinconf {
1409                         pins = "gpio37";
1410                         output-high;
1411                 };
1412         };
1413 
1414         qup_spi6_cs_gpio_init_high: qup-spi6-cs-gpio-init-high {
1415                 pinconf {
1416                         pins = "gpio62";
1417                         output-high;
1418                 };
1419         };
1420 
1421         qup_spi10_cs_gpio_init_high: qup-spi10-cs-gpio-init-high {
1422                 pinconf {
1423                         pins = "gpio89";
1424                         output-high;
1425                 };
1426         };
1427 
1428         qup_uart3_sleep: qup-uart3-sleep {
1429                 pinmux {
1430                         pins = "gpio38", "gpio39",
1431                                "gpio40", "gpio41";
1432                         function = "gpio";
1433                 };
1434 
1435                 pinconf-cts {
1436                         /*
1437                          * Configure a pull-down on CTS to match the pull of
1438                          * the Bluetooth module.
1439                          */
1440                         pins = "gpio38";
1441                         bias-pull-down;
1442                 };
1443 
1444                 pinconf-rts {
1445                         /*
1446                          * Configure pull-down on RTS. As RTS is active low
1447                          * signal, pull it low to indicate the BT SoC that it
1448                          * can wakeup the system anytime from suspend state by
1449                          * pulling RX low (by sending wakeup bytes).
1450                          */
1451                          pins = "gpio39";
1452                          bias-pull-down;
1453                 };
1454 
1455                 pinconf-tx {
1456                         /*
1457                          * Configure pull-up on TX when it isn't actively driven
1458                          * to prevent BT SoC from receiving garbage during sleep.
1459                          */
1460                         pins = "gpio40";
1461                         bias-pull-up;
1462                 };
1463 
1464                 pinconf-rx {
1465                         /*
1466                          * Configure a pull-up on RX. This is needed to avoid
1467                          * garbage data when the TX pin of the Bluetooth module
1468                          * is floating which may cause spurious wakeups.
1469                          */
1470                         pins = "gpio41";
1471                         bias-pull-up;
1472                 };
1473         };
1474 
1475         /* Named trackpad_int_1v8_odl on earlier revision schematics */
1476         trackpad_int_1v8_odl:
1477         tp_int_odl: tp-int-odl {
1478                 pinmux {
1479                         pins = "gpio0";
1480                         function = "gpio";
1481                 };
1482 
1483                 pinconf {
1484                         pins = "gpio0";
1485 
1486                         /* Has external pullup */
1487                         bias-disable;
1488                 };
1489         };
1490 
1491         ts_int_l: ts-int-l {
1492                 pinmux  {
1493                         pins = "gpio9";
1494                         function = "gpio";
1495                 };
1496 
1497                 pinconf {
1498                         pins = "gpio9";
1499                         bias-pull-up;
1500                 };
1501         };
1502 
1503         ts_reset_l: ts-reset-l {
1504                 pinmux  {
1505                         pins = "gpio8";
1506                         function = "gpio";
1507                 };
1508 
1509                 pinconf {
1510                         pins = "gpio8";
1511                         bias-disable;
1512                         drive-strength = <2>;
1513                 };
1514         };
1515 
1516         sdc1_on: sdc1-on {
1517                 pinconf-clk {
1518                         pins = "sdc1_clk";
1519                         bias-disable;
1520                         drive-strength = <16>;
1521                 };
1522 
1523                 pinconf-cmd {
1524                         pins = "sdc1_cmd";
1525                         bias-pull-up;
1526                         drive-strength = <16>;
1527                 };
1528 
1529                 pinconf-data {
1530                         pins = "sdc1_data";
1531                         bias-pull-up;
1532                         drive-strength = <16>;
1533                 };
1534 
1535                 pinconf-rclk {
1536                         pins = "sdc1_rclk";
1537                         bias-pull-down;
1538                 };
1539         };
1540 
1541         sdc1_off: sdc1-off {
1542                 pinconf-clk {
1543                         pins = "sdc1_clk";
1544                         bias-disable;
1545                         drive-strength = <2>;
1546                 };
1547 
1548                 pinconf-cmd {
1549                         pins = "sdc1_cmd";
1550                         bias-pull-up;
1551                         drive-strength = <2>;
1552                 };
1553 
1554                 pinconf-data {
1555                         pins = "sdc1_data";
1556                         bias-pull-up;
1557                         drive-strength = <2>;
1558                 };
1559 
1560                 pinconf-rclk {
1561                         pins = "sdc1_rclk";
1562                         bias-pull-down;
1563                 };
1564         };
1565 
1566         sdc2_on: sdc2-on {
1567                 pinconf-clk {
1568                         pins = "sdc2_clk";
1569                         bias-disable;
1570                         drive-strength = <16>;
1571                 };
1572 
1573                 pinconf-cmd {
1574                         pins = "sdc2_cmd";
1575                         bias-pull-up;
1576                         drive-strength = <10>;
1577                 };
1578 
1579                 pinconf-data {
1580                         pins = "sdc2_data";
1581                         bias-pull-up;
1582                         drive-strength = <10>;
1583                 };
1584 
1585                 pinconf-sd-cd {
1586                         pins = "gpio69";
1587                         bias-pull-up;
1588                         drive-strength = <2>;
1589                 };
1590         };
1591 
1592         sdc2_off: sdc2-off {
1593                 pinconf-clk {
1594                         pins = "sdc2_clk";
1595                         bias-disable;
1596                         drive-strength = <2>;
1597                 };
1598 
1599                 pinconf-cmd {
1600                         pins = "sdc2_cmd";
1601                         bias-pull-up;
1602                         drive-strength = <2>;
1603                 };
1604 
1605                 pinconf-data {
1606                         pins = "sdc2_data";
1607                         bias-pull-up;
1608                         drive-strength = <2>;
1609                 };
1610 
1611                 pinconf-sd-cd {
1612                         pins = "gpio69";
1613                         bias-pull-up;
1614                         drive-strength = <2>;
1615                 };
1616         };
1617 
1618         uf_cam_en: uf-cam-en {
1619                 pinmux {
1620                         pins = "gpio6";
1621                         function = "gpio";
1622                 };
1623 
1624                 pinconf {
1625                         pins = "gpio6";
1626                         drive-strength = <2>;
1627                         /* External pull down */
1628                         bias-disable;
1629                 };
1630         };
1631 
1632         wf_cam_en: wf-cam-en {
1633                 pinmux {
1634                         pins = "gpio7";
1635                         function = "gpio";
1636                 };
1637 
1638                 pinconf {
1639                         pins = "gpio7";
1640                         drive-strength = <2>;
1641                         /* External pull down */
1642                         bias-disable;
1643                 };
1644         };
1645 };