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 = <&_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 };