1// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2/* 3 * Google Trogdor device tree source (common between revisions) 4 * 5 * Copyright 2019 Google LLC. 6 */ 7 8#include <dt-bindings/gpio/gpio.h> 9#include <dt-bindings/input/gpio-keys.h> 10#include <dt-bindings/input/input.h> 11#include <dt-bindings/leds/common.h> 12#include <dt-bindings/regulator/qcom,rpmh-regulator.h> 13#include <dt-bindings/sound/sc7180-lpass.h> 14 15#include "sc7180.dtsi" 16/* PMICs depend on spmi_bus label and so must come after sc7180.dtsi */ 17#include "pm6150.dtsi" 18#include "pm6150l.dtsi" 19 20/ { 21 thermal-zones { 22 charger_thermal: charger-thermal { 23 polling-delay-passive = <0>; 24 polling-delay = <0>; 25 26 thermal-sensors = <&pm6150_adc_tm 0>; 27 28 trips { 29 charger-crit { 30 temperature = <125000>; 31 hysteresis = <1000>; 32 type = "critical"; 33 }; 34 }; 35 }; 36 }; 37}; 38 39/* 40 * Reserved memory changes 41 * 42 * Delete all unused memory nodes and define the peripheral memory regions 43 * required by the board dts. 44 */ 45 46/delete-node/ &hyp_mem; 47/delete-node/ &ipa_fw_mem; 48/delete-node/ &xbl_mem; 49/delete-node/ &aop_mem; 50/delete-node/ &sec_apps_mem; 51/delete-node/ &tz_mem; 52 53/* Increase the size from 2MB to 8MB */ 54&rmtfs_mem { 55 reg = <0x0 0x94600000 0x0 0x800000>; 56}; 57 58/ { 59 reserved-memory { 60 atf_mem: memory@80b00000 { 61 reg = <0x0 0x80b00000 0x0 0x100000>; 62 no-map; 63 }; 64 65 mpss_mem: memory@86000000 { 66 reg = <0x0 0x86000000 0x0 0x2000000>; 67 no-map; 68 }; 69 70 venus_mem: memory@8f600000 { 71 reg = <0 0x8f600000 0 0x500000>; 72 no-map; 73 }; 74 75 wlan_mem: memory@94100000 { 76 reg = <0x0 0x94100000 0x0 0x200000>; 77 no-map; 78 }; 79 80 mba_mem: memory@94400000 { 81 reg = <0x0 0x94400000 0x0 0x200000>; 82 no-map; 83 }; 84 }; 85 86 aliases { 87 bluetooth0 = &bluetooth; 88 hsuart0 = &uart3; 89 serial0 = &uart8; 90 wifi0 = &wifi; 91 }; 92 93 chosen { 94 stdout-path = "serial0:115200n8"; 95 }; 96 97 /* FIXED REGULATORS - parents above children */ 98 99 /* This is the top level supply and variable voltage */ 100 ppvar_sys: ppvar-sys-regulator { 101 compatible = "regulator-fixed"; 102 regulator-name = "ppvar_sys"; 103 regulator-always-on; 104 regulator-boot-on; 105 }; 106 107 /* This divides ppvar_sys by 2, so voltage is variable */ 108 src_vph_pwr: src-vph-pwr-regulator { 109 compatible = "regulator-fixed"; 110 regulator-name = "src_vph_pwr"; 111 112 /* EC turns on with switchcap_on; always on for AP */ 113 regulator-always-on; 114 regulator-boot-on; 115 116 vin-supply = <&ppvar_sys>; 117 }; 118 119 pp5000_a: pp5000-a-regulator { 120 compatible = "regulator-fixed"; 121 regulator-name = "pp5000_a"; 122 123 /* EC turns on with en_pp5000_a; always on for AP */ 124 regulator-always-on; 125 regulator-boot-on; 126 regulator-min-microvolt = <5000000>; 127 regulator-max-microvolt = <5000000>; 128 129 vin-supply = <&ppvar_sys>; 130 }; 131 132 pp3300_a: pp3300-a-regulator { 133 compatible = "regulator-fixed"; 134 regulator-name = "pp3300_a"; 135 136 /* EC turns on with en_pp3300_a; always on for AP */ 137 regulator-always-on; 138 regulator-boot-on; 139 regulator-min-microvolt = <3300000>; 140 regulator-max-microvolt = <3300000>; 141 142 /* 143 * Actually should be pp3300 but that's practically an alias for 144 * pp3300_a so we use pp3300's vin-supply here to avoid one more 145 * node. 146 */ 147 vin-supply = <&ppvar_sys>; 148 }; 149 150 pp1800_ec: 151 pp1800_sensors: 152 pp1800_ldo: pp1800-ldo-regulator { 153 compatible = "regulator-fixed"; 154 regulator-name = "pp1800_ldo"; 155 156 /* EC turns on with hibernate_l; always on for AP */ 157 regulator-always-on; 158 regulator-boot-on; 159 regulator-min-microvolt = <1800000>; 160 regulator-max-microvolt = <1800000>; 161 162 /* 163 * Actually should be pp1800_h1 but we don't have any need to 164 * model that so we use the parent of pp1800_h1. 165 */ 166 vin-supply = <&pp3300_a>; 167 }; 168 169 pp1800_uf_cam: pp1800-uf-cam-regulator { 170 compatible = "regulator-fixed"; 171 regulator-name = "pp1800_uf_cam"; 172 status = "disabled"; 173 174 regulator-min-microvolt = <1800000>; 175 regulator-max-microvolt = <1800000>; 176 177 gpio = <&tlmm 6 GPIO_ACTIVE_HIGH>; 178 enable-active-high; 179 pinctrl-names = "default"; 180 pinctrl-0 = <&uf_cam_en>; 181 182 vin-supply = <&pp1800_ldo>; 183 regulator-enable-ramp-delay = <1000>; 184 }; 185 186 pp1800_wf_cam: pp1800-wf-cam-regulator { 187 compatible = "regulator-fixed"; 188 regulator-name = "pp1800_wf_cam"; 189 status = "disabled"; 190 191 regulator-min-microvolt = <1800000>; 192 regulator-max-microvolt = <1800000>; 193 194 gpio = <&tlmm 7 GPIO_ACTIVE_HIGH>; 195 enable-active-high; 196 pinctrl-names = "default"; 197 pinctrl-0 = <&wf_cam_en>; 198 199 vin-supply = <&pp1800_ldo>; 200 regulator-enable-ramp-delay = <1000>; 201 }; 202 203 pp2800_uf_cam: pp2800-uf-cam-regulator { 204 compatible = "regulator-fixed"; 205 regulator-name = "pp2800_uf_cam"; 206 status = "disabled"; 207 208 regulator-min-microvolt = <2850000>; 209 regulator-max-microvolt = <2850000>; 210 211 gpio = <&tlmm 6 GPIO_ACTIVE_HIGH>; 212 enable-active-high; 213 /* 214 * The pinconf can only be referenced once so we put it on the 215 * first regulator and comment it out here. 216 * pinctrl-names = "default"; 217 * pinctrl-0 = <&uf_cam_en>; 218 */ 219 220 vin-supply = <&pp3300_a>; 221 }; 222 223 pp2800_vcm_wf_cam: 224 pp2800_wf_cam: pp2800-wf-cam-regulator { 225 compatible = "regulator-fixed"; 226 regulator-name = "pp2800_wf_cam"; 227 status = "disabled"; 228 229 regulator-min-microvolt = <2850000>; 230 regulator-max-microvolt = <2850000>; 231 232 gpio = <&tlmm 7 GPIO_ACTIVE_HIGH>; 233 enable-active-high; 234 /* 235 * The pinconf can only be referenced once so we put it on the 236 * first regulator and comment it out here. 237 * pinctrl-names = "default"; 238 * pinctrl-0 = <&wf_cam_en>; 239 */ 240 241 vin-supply = <&pp3300_a>; 242 }; 243 244 pp3300_audio: 245 pp3300_codec: pp3300-codec-regulator { 246 compatible = "regulator-fixed"; 247 regulator-name = "pp3300_codec"; 248 249 regulator-min-microvolt = <3300000>; 250 regulator-max-microvolt = <3300000>; 251 252 gpio = <&tlmm 83 GPIO_ACTIVE_HIGH>; 253 enable-active-high; 254 pinctrl-names = "default"; 255 pinctrl-0 = <&en_pp3300_codec>; 256 257 vin-supply = <&pp3300_a>; 258 }; 259 260 pp3300_dx_edp: 261 pp3300_ts: pp3300-dx-edp-regulator { 262 compatible = "regulator-fixed"; 263 regulator-name = "pp3300_dx_edp"; 264 265 regulator-min-microvolt = <3300000>; 266 regulator-max-microvolt = <3300000>; 267 268 gpio = <&tlmm 30 GPIO_ACTIVE_HIGH>; 269 enable-active-high; 270 pinctrl-names = "default"; 271 pinctrl-0 = <&en_pp3300_dx_edp>; 272 273 vin-supply = <&pp3300_a>; 274 }; 275 276 pp3300_fp_tp: pp3300-fp-tp-regulator { 277 compatible = "regulator-fixed"; 278 regulator-name = "pp3300_fp_tp"; 279 280 regulator-min-microvolt = <3300000>; 281 regulator-max-microvolt = <3300000>; 282 283 /* AP turns on with PP1800_VIO_OUT; always on for AP */ 284 regulator-always-on; 285 regulator-boot-on; 286 287 vin-supply = <&pp3300_a>; 288 }; 289 290 pp3300_hub: pp3300-hub-regulator { 291 compatible = "regulator-fixed"; 292 regulator-name = "pp3300_hub"; 293 294 regulator-min-microvolt = <3300000>; 295 regulator-max-microvolt = <3300000>; 296 297 gpio = <&tlmm 84 GPIO_ACTIVE_HIGH>; 298 enable-active-high; 299 pinctrl-names = "default"; 300 pinctrl-0 = <&en_pp3300_hub>; 301 302 /* The BIOS leaves this regulator on */ 303 regulator-boot-on; 304 305 vin-supply = <&pp3300_a>; 306 }; 307 308 /* BOARD-SPECIFIC TOP LEVEL NODES */ 309 310 backlight: backlight { 311 compatible = "pwm-backlight"; 312 313 /* The panels don't seem to like anything below ~ 5% */ 314 brightness-levels = < 315 196 256 324 400 484 576 676 784 900 1024 1156 1296 316 1444 1600 1764 1936 2116 2304 2500 2704 2916 3136 317 3364 3600 3844 4096 318 >; 319 num-interpolated-steps = <64>; 320 default-brightness-level = <951>; 321 322 pwms = <&cros_ec_pwm 1>; 323 enable-gpios = <&tlmm 12 GPIO_ACTIVE_HIGH>; 324 power-supply = <&ppvar_sys>; 325 pinctrl-names = "default"; 326 pinctrl-0 = <&ap_edp_bklten>; 327 }; 328 329 gpio_keys: gpio-keys { 330 compatible = "gpio-keys"; 331 status = "disabled"; 332 pinctrl-names = "default"; 333 pinctrl-0 = <&pen_pdct_l>; 334 335 pen_insert: switch-pen-insert { 336 label = "Pen Insert"; 337 338 /* Insert = low, eject = high */ 339 gpios = <&tlmm 52 GPIO_ACTIVE_LOW>; 340 linux,code = <SW_PEN_INSERTED>; 341 linux,input-type = <EV_SW>; 342 wakeup-event-action = <EV_ACT_DEASSERTED>; 343 wakeup-source; 344 }; 345 }; 346 347 max98360a: audio-codec-0 { 348 compatible = "maxim,max98360a"; 349 pinctrl-names = "default"; 350 pinctrl-0 = <&_en>; 351 sdmode-gpios = <&tlmm 23 GPIO_ACTIVE_HIGH>; 352 #sound-dai-cells = <0>; 353 }; 354 355 pwmleds { 356 compatible = "pwm-leds"; 357 keyboard_backlight: keyboard-backlight { 358 status = "disabled"; 359 label = "cros_ec::kbd_backlight"; 360 function = LED_FUNCTION_KBD_BACKLIGHT; 361 pwms = <&cros_ec_pwm 0>; 362 max-brightness = <1023>; 363 }; 364 }; 365 366 sound: sound { 367 compatible = "google,sc7180-trogdor"; 368 model = "sc7180-rt5682-max98357a-1mic"; 369 370 audio-routing = 371 "Headphone Jack", "HPOL", 372 "Headphone Jack", "HPOR"; 373 374 #address-cells = <1>; 375 #size-cells = <0>; 376 377 dai-link@0 { 378 link-name = "MultiMedia0"; 379 reg = <MI2S_PRIMARY>; 380 cpu { 381 sound-dai = <&lpass_cpu MI2S_PRIMARY>; 382 }; 383 384 sound_multimedia0_codec: codec { 385 sound-dai = <&alc5682 0 /* aif1 */>; 386 }; 387 }; 388 389 dai-link@1 { 390 link-name = "MultiMedia1"; 391 reg = <MI2S_SECONDARY>; 392 cpu { 393 sound-dai = <&lpass_cpu MI2S_SECONDARY>; 394 }; 395 396 sound_multimedia1_codec: codec { 397 sound-dai = <&max98360a>; 398 }; 399 }; 400 401 dai-link@5 { 402 link-name = "MultiMedia2"; 403 reg = <LPASS_DP_RX>; 404 cpu { 405 sound-dai = <&lpass_cpu LPASS_DP_RX>; 406 }; 407 408 codec { 409 sound-dai = <&mdss_dp>; 410 }; 411 }; 412 }; 413}; 414 415&qfprom { 416 vcc-supply = <&pp1800_l11a>; 417}; 418 419&qspi { 420 status = "okay"; 421 pinctrl-names = "default"; 422 pinctrl-0 = <&qspi_clk>, <&qspi_cs0>, <&qspi_data01>; 423 424 flash@0 { 425 compatible = "jedec,spi-nor"; 426 reg = <0>; 427 428 spi-max-frequency = <37500000>; 429 spi-tx-bus-width = <2>; 430 spi-rx-bus-width = <2>; 431 }; 432}; 433 434&apps_rsc { 435 pm6150-rpmh-regulators { 436 compatible = "qcom,pm6150-rpmh-regulators"; 437 qcom,pmic-id = "a"; 438 439 vddpx_1: 440 vdd2: 441 pp1125_s1a: smps1 { 442 regulator-min-microvolt = <1128000>; 443 regulator-max-microvolt = <1128000>; 444 }; 445 446 vdd_qlink_lv: 447 vdd_qlink_lv_ck: 448 vdd_qusb_hs0_core: 449 vdd_ufs1_core: 450 vdda_mipi_csi0_0p9: 451 vdda_mipi_csi1_0p9: 452 vdda_mipi_csi2_0p9: 453 vdda_mipi_csi3_0p9: 454 vdda_mipi_dsi0_pll: 455 vdda_pll_cc_ebi01: 456 vdda_qrefs_0p9: 457 vdda_usb_ss_dp_core: 458 pp900_l4a: ldo4 { 459 regulator-min-microvolt = <824000>; 460 regulator-max-microvolt = <928000>; 461 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 462 }; 463 464 vdd_cx_wlan: 465 pp800_l9a: ldo9 { 466 regulator-min-microvolt = <488000>; 467 regulator-max-microvolt = <800000>; 468 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 469 }; 470 471 vdd1: 472 vddpx_3: 473 vddpx_7: 474 vio_in: 475 pp1800_l10a: ldo10 { 476 regulator-min-microvolt = <1800000>; 477 regulator-max-microvolt = <1800000>; 478 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 479 }; 480 481 vdd_qfprom: 482 vdda_apc1_cs_1p8: 483 vdda_qrefs_1p8: 484 vdda_qusb_hs0_1p8: 485 vddpx_11: 486 vreg_bb_clk: 487 pp1800_l11a: ldo11 { 488 regulator-min-microvolt = <1800000>; 489 regulator-max-microvolt = <1800000>; 490 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 491 }; 492 493 mcp_vccq: 494 pp1800_l12a_r: ldo12 { 495 regulator-min-microvolt = <1800000>; 496 regulator-max-microvolt = <1800000>; 497 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 498 }; 499 500 /* 501 * On trogdor this needs to match l10a since we use it to 502 * give power to things like SPI flash which communicate back 503 * on lines powered by l10a. Thus we force to 1.8V. 504 */ 505 pp1800_l13a: ldo13 { 506 regulator-min-microvolt = <1800000>; 507 regulator-max-microvolt = <1800000>; 508 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 509 }; 510 511 pp1800_prox: 512 pp1800_l14a: ldo14 { 513 regulator-min-microvolt = <1800000>; 514 regulator-max-microvolt = <1800000>; 515 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 516 }; 517 518 pp1800_alc5682: 519 pp1800_l15a: ldo15 { 520 regulator-min-microvolt = <1800000>; 521 regulator-max-microvolt = <1800000>; 522 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 523 }; 524 525 vdda_qusb_hs0_3p1: 526 vdd_pdphy: 527 pp3100_l17a: ldo17 { 528 regulator-min-microvolt = <2920000>; 529 regulator-max-microvolt = <3232000>; 530 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 531 }; 532 533 pp1800_pen: 534 pp1800_l18a: ldo18 { 535 regulator-min-microvolt = <1800000>; 536 regulator-max-microvolt = <1800000>; 537 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 538 }; 539 540 mcp_vcc: 541 pp2850_l19a: ldo19 { 542 regulator-min-microvolt = <2960000>; 543 regulator-max-microvolt = <2960000>; 544 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 545 }; 546 }; 547 548 pm6150l-rpmh-regulators { 549 compatible = "qcom,pm6150l-rpmh-regulators"; 550 qcom,pmic-id = "c"; 551 552 pp1300_s8c: smps8 { 553 regulator-min-microvolt = <1120000>; 554 regulator-max-microvolt = <1408000>; 555 }; 556 557 pp1800_l1c: ldo1 { 558 regulator-min-microvolt = <1616000>; 559 regulator-max-microvolt = <1984000>; 560 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 561 }; 562 563 vdd_wcss_adc_dac: 564 pp1300_l2c: ldo2 { 565 regulator-min-microvolt = <1168000>; 566 regulator-max-microvolt = <1304000>; 567 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 568 }; 569 570 pp1200_brij: 571 vdd_ufs1_1p2: 572 vdda_csi0_1p25: 573 vdda_csi1_1p25: 574 vdda_csi2_1p25: 575 vdda_csi3_1p25: 576 vdda_hv_ebi0: 577 vdda_mipi_dsi0_1p2: 578 vdda_usb_ss_dp_1p2: 579 vddpx_10: 580 pp1200_l3c: ldo3 { 581 regulator-min-microvolt = <1200000>; 582 regulator-max-microvolt = <1200000>; 583 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 584 }; 585 586 vddpx_2: 587 ppvar_l6c: ldo6 { 588 regulator-min-microvolt = <1800000>; 589 regulator-max-microvolt = <2952000>; 590 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 591 }; 592 593 pp3300_l7c: ldo7 { 594 regulator-min-microvolt = <3304000>; 595 regulator-max-microvolt = <3304000>; 596 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 597 }; 598 599 pp1800_brij_vccio: 600 pp1800_edp_vpll: 601 pp1800_l8c: ldo8 { 602 regulator-min-microvolt = <1800000>; 603 regulator-max-microvolt = <1800000>; 604 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 605 }; 606 607 pp2950_l9c: ldo9 { 608 regulator-min-microvolt = <2952000>; 609 regulator-max-microvolt = <2952000>; 610 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 611 }; 612 613 pp3300_l10c: ldo10 { 614 regulator-min-microvolt = <3000000>; 615 regulator-max-microvolt = <3400000>; 616 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 617 }; 618 619 pp3300_l11c: ldo11 { 620 regulator-min-microvolt = <3000000>; 621 regulator-max-microvolt = <3400000>; 622 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 623 }; 624 625 src_vreg_bob: bob { 626 regulator-min-microvolt = <3008000>; 627 regulator-max-microvolt = <3960000>; 628 regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>; 629 }; 630 }; 631}; 632 633ap_ec_spi: &spi6 { 634 status = "okay"; 635 cros_ec: ec@0 { 636 compatible = "google,cros-ec-spi"; 637 reg = <0>; 638 interrupt-parent = <&tlmm>; 639 interrupts = <94 IRQ_TYPE_LEVEL_LOW>; 640 pinctrl-names = "default"; 641 pinctrl-0 = <&ap_ec_int_l>; 642 spi-max-frequency = <3000000>; 643 644 cros_ec_pwm: pwm { 645 compatible = "google,cros-ec-pwm"; 646 #pwm-cells = <1>; 647 }; 648 649 i2c_tunnel: i2c-tunnel { 650 compatible = "google,cros-ec-i2c-tunnel"; 651 google,remote-bus = <0>; 652 #address-cells = <1>; 653 #size-cells = <0>; 654 }; 655 656 typec { 657 compatible = "google,cros-ec-typec"; 658 #address-cells = <1>; 659 #size-cells = <0>; 660 661 usb_c0: connector@0 { 662 compatible = "usb-c-connector"; 663 reg = <0>; 664 label = "left"; 665 power-role = "dual"; 666 data-role = "host"; 667 try-power-role = "source"; 668 }; 669 670 usb_c1: connector@1 { 671 compatible = "usb-c-connector"; 672 reg = <1>; 673 label = "right"; 674 power-role = "dual"; 675 data-role = "host"; 676 try-power-role = "source"; 677 }; 678 }; 679 }; 680}; 681 682ap_h1_spi: &spi0 { 683 status = "okay"; 684 cr50: tpm@0 { 685 compatible = "google,cr50"; 686 reg = <0>; 687 pinctrl-names = "default"; 688 pinctrl-0 = <&h1_ap_int_odl>; 689 spi-max-frequency = <800000>; 690 interrupt-parent = <&tlmm>; 691 interrupts = <42 IRQ_TYPE_EDGE_RISING>; 692 }; 693}; 694 695&camcc { 696 status = "disabled"; 697}; 698 699&dsi0 { 700 status = "okay"; 701 vdda-supply = <&vdda_mipi_dsi0_1p2>; 702}; 703 704&dsi0_out { 705 data-lanes = <0 1 2 3>; 706}; 707 708&dsi_phy { 709 status = "okay"; 710 vdds-supply = <&vdda_mipi_dsi0_pll>; 711}; 712 713ap_sar_sensor_i2c: &i2c5 { 714 clock-frequency = <400000>; 715 716 ap_sar_sensor: proximity@28 { 717 compatible = "semtech,sx9310"; 718 reg = <0x28>; 719 #io-channel-cells = <1>; 720 pinctrl-names = "default"; 721 pinctrl-0 = <&p_sensor_int_l>; 722 723 interrupt-parent = <&tlmm>; 724 interrupts = <24 IRQ_TYPE_LEVEL_LOW>; 725 726 vdd-supply = <&pp3300_a>; 727 svdd-supply = <&pp1800_prox>; 728 729 label = "proximity-wifi"; 730 }; 731}; 732 733ap_tp_i2c: &i2c7 { 734 clock-frequency = <400000>; 735 736 trackpad: trackpad@15 { 737 compatible = "elan,ekth3000"; 738 reg = <0x15>; 739 pinctrl-names = "default"; 740 pinctrl-0 = <&tp_int_odl>; 741 742 interrupt-parent = <&tlmm>; 743 interrupts = <0 IRQ_TYPE_EDGE_FALLING>; 744 745 vcc-supply = <&pp3300_fp_tp>; 746 747 wakeup-source; 748 }; 749}; 750 751hp_i2c: &i2c9 { 752 status = "okay"; 753 clock-frequency = <400000>; 754 755 alc5682: codec@1a { 756 compatible = "realtek,rt5682i"; 757 reg = <0x1a>; 758 pinctrl-names = "default"; 759 pinctrl-0 = <&hp_irq>; 760 761 #sound-dai-cells = <1>; 762 763 interrupt-parent = <&tlmm>; 764 /* 765 * This will get ignored because the interrupt type 766 * is set in rt5682.c. 767 */ 768 interrupts = <28 IRQ_TYPE_EDGE_BOTH>; 769 770 AVDD-supply = <&pp1800_alc5682>; 771 MICVDD-supply = <&pp3300_codec>; 772 VBAT-supply = <&pp3300_audio>; 773 774 realtek,dmic1-data-pin = <1>; 775 realtek,dmic1-clk-pin = <1>; 776 realtek,jd-src = <1>; 777 }; 778}; 779 780&lpass_cpu { 781 status = "okay"; 782 783 pinctrl-names = "default"; 784 pinctrl-0 = <&sec_mi2s_active>, <&pri_mi2s_active>, <&pri_mi2s_mclk_active>; 785 786 #address-cells = <1>; 787 #size-cells = <0>; 788 789 mi2s@0 { 790 reg = <MI2S_PRIMARY>; 791 qcom,playback-sd-lines = <1>; 792 qcom,capture-sd-lines = <0>; 793 }; 794 795 secondary_mi2s: mi2s@1 { 796 reg = <MI2S_SECONDARY>; 797 qcom,playback-sd-lines = <0>; 798 }; 799 800 hdmi@5 { 801 reg = <LPASS_DP_RX>; 802 }; 803}; 804 805&mdp { 806 status = "okay"; 807}; 808 809&mdss { 810 status = "okay"; 811}; 812 813&mdss_dp { 814 status = "okay"; 815 pinctrl-names = "default"; 816 pinctrl-0 = <&dp_hot_plug_det>; 817 data-lanes = <0 1>; 818}; 819 820&pm6150_adc { 821 charger-thermistor@4f { 822 reg = <ADC5_AMUX_THM3_100K_PU>; 823 qcom,ratiometric; 824 qcom,hw-settle-time = <200>; 825 }; 826}; 827 828&pm6150_adc_tm { 829 status = "okay"; 830 831 charger-thermistor@0 { 832 reg = <0>; 833 io-channels = <&pm6150_adc ADC5_AMUX_THM3_100K_PU>; 834 qcom,ratiometric; 835 qcom,hw-settle-time-us = <200>; 836 }; 837}; 838 839&pm6150_pon { 840 status = "disabled"; 841}; 842 843&qupv3_id_0 { 844 status = "okay"; 845}; 846 847&qupv3_id_1 { 848 status = "okay"; 849}; 850 851&remoteproc_mpss { 852 status = "okay"; 853 compatible = "qcom,sc7180-mss-pil"; 854 iommus = <&apps_smmu 0x461 0x0>, <&apps_smmu 0x444 0x3>; 855 memory-region = <&mba_mem &mpss_mem>; 856 857 /* This gets overridden for SKUs with LTE support. */ 858 firmware-name = "qcom/sc7180-trogdor/modem-nolte/mba.mbn", 859 "qcom/sc7180-trogdor/modem-nolte/qdsp6sw.mbn"; 860}; 861 862&sdhc_1 { 863 status = "okay"; 864 865 pinctrl-names = "default", "sleep"; 866 pinctrl-0 = <&sdc1_on>; 867 pinctrl-1 = <&sdc1_off>; 868 vmmc-supply = <&mcp_vcc>; 869 vqmmc-supply = <&mcp_vccq>; 870}; 871 872&sdhc_2 { 873 pinctrl-names = "default", "sleep"; 874 pinctrl-0 = <&sdc2_on>; 875 pinctrl-1 = <&sdc2_off>; 876 vmmc-supply = <&pp2950_l9c>; 877 vqmmc-supply = <&ppvar_l6c>; 878 879 cd-gpios = <&tlmm 69 GPIO_ACTIVE_LOW>; 880}; 881 882&spi0 { 883 pinctrl-0 = <&qup_spi0_cs_gpio_init_high>, <&qup_spi0_cs_gpio>; 884 cs-gpios = <&tlmm 37 GPIO_ACTIVE_LOW>; 885}; 886 887&spi6 { 888 pinctrl-0 = <&qup_spi6_cs_gpio_init_high>, <&qup_spi6_cs_gpio>; 889 cs-gpios = <&tlmm 62 GPIO_ACTIVE_LOW>; 890}; 891 892ap_spi_fp: &spi10 { 893 pinctrl-0 = <&qup_spi10_cs_gpio_init_high>, <&qup_spi10_cs_gpio>; 894 cs-gpios = <&tlmm 89 GPIO_ACTIVE_LOW>; 895 896 cros_ec_fp: ec@0 { 897 compatible = "google,cros-ec-spi"; 898 reg = <0>; 899 interrupt-parent = <&tlmm>; 900 interrupts = <4 IRQ_TYPE_LEVEL_LOW>; 901 pinctrl-names = "default"; 902 pinctrl-0 = <&fp_to_ap_irq_l>; 903 spi-max-frequency = <3000000>; 904 }; 905}; 906 907#include <arm/cros-ec-sbs.dtsi> 908 909&uart3 { 910 status = "okay"; 911 912 /delete-property/interrupts; 913 interrupts-extended = <&intc GIC_SPI 604 IRQ_TYPE_LEVEL_HIGH>, 914 <&tlmm 41 IRQ_TYPE_EDGE_FALLING>; 915 916 pinctrl-names = "default", "sleep"; 917 pinctrl-1 = <&qup_uart3_sleep>; 918 919 bluetooth: bluetooth { 920 compatible = "qcom,wcn3991-bt"; 921 vddio-supply = <&pp1800_l10a>; 922 vddxo-supply = <&pp1800_l1c>; 923 vddrf-supply = <&pp1300_l2c>; 924 vddch0-supply = <&pp3300_l10c>; 925 max-speed = <3200000>; 926 }; 927}; 928 929&uart8 { 930 status = "okay"; 931}; 932 933&usb_1 { 934 status = "okay"; 935}; 936 937&usb_1_dwc3 { 938 dr_mode = "host"; 939 #address-cells = <1>; 940 #size-cells = <0>; 941 942 /* 2.x hub on port 1 */ 943 usb_hub_2_x: hub@1 { 944 compatible = "usbbda,5411"; 945 reg = <1>; 946 vdd-supply = <&pp3300_hub>; 947 peer-hub = <&usb_hub_3_x>; 948 }; 949 950 /* 3.x hub on port 2 */ 951 usb_hub_3_x: hub@2 { 952 compatible = "usbbda,411"; 953 reg = <2>; 954 vdd-supply = <&pp3300_hub>; 955 peer-hub = <&usb_hub_2_x>; 956 }; 957}; 958 959&usb_1_hsphy { 960 status = "okay"; 961 vdd-supply = <&vdd_qusb_hs0_core>; 962 vdda-pll-supply = <&vdda_qusb_hs0_1p8>; 963 vdda-phy-dpdm-supply = <&vdda_qusb_hs0_3p1>; 964 qcom,imp-res-offset-value = <8>; 965 qcom,preemphasis-level = <QUSB2_V2_PREEMPHASIS_15_PERCENT>; 966 qcom,preemphasis-width = <QUSB2_V2_PREEMPHASIS_WIDTH_HALF_BIT>; 967 qcom,bias-ctrl-value = <0x22>; 968 qcom,charge-ctrl-value = <3>; 969 qcom,hsdisc-trim-value = <0>; 970}; 971 972&usb_1_qmpphy { 973 status = "okay"; 974 vdda-phy-supply = <&vdda_usb_ss_dp_1p2>; 975 vdda-pll-supply = <&vdda_usb_ss_dp_core>; 976}; 977 978&venus { 979 video-firmware { 980 iommus = <&apps_smmu 0x0c42 0x0>; 981 }; 982}; 983 984&wifi { 985 status = "okay"; 986 vdd-0.8-cx-mx-supply = <&vdd_cx_wlan>; 987 vdd-1.8-xo-supply = <&pp1800_l1c>; 988 vdd-1.3-rfa-supply = <&pp1300_l2c>; 989 vdd-3.3-ch0-supply = <&pp3300_l10c>; 990 vdd-3.3-ch1-supply = <&pp3300_l11c>; 991 992 wifi-firmware { 993 iommus = <&apps_smmu 0xc2 0x1>; 994 }; 995}; 996 997/* PINCTRL - additions to nodes defined in sc7180.dtsi */ 998 999&dp_hot_plug_det { 1000 pinconf { 1001 pins = "gpio117"; 1002 bias-disable; 1003 }; 1004}; 1005 1006&pri_mi2s_active { 1007 pinconf { 1008 pins = "gpio53", "gpio54", "gpio55", "gpio56"; 1009 drive-strength = <2>; 1010 bias-pull-down; 1011 }; 1012}; 1013 1014&pri_mi2s_mclk_active { 1015 pinconf { 1016 pins = "gpio57"; 1017 drive-strength = <2>; 1018 bias-pull-down; 1019 }; 1020}; 1021 1022&qspi_cs0 { 1023 pinconf { 1024 pins = "gpio68"; 1025 bias-disable; 1026 }; 1027}; 1028 1029&qspi_clk { 1030 pinconf { 1031 pins = "gpio63"; 1032 drive-strength = <8>; 1033 bias-disable; 1034 }; 1035}; 1036 1037&qspi_data01 { 1038 pinconf { 1039 pins = "gpio64", "gpio65"; 1040 1041 /* High-Z when no transfers; nice to park the lines */ 1042 bias-pull-up; 1043 }; 1044}; 1045 1046&qup_i2c2_default { 1047 pinconf { 1048 pins = "gpio15", "gpio16"; 1049 drive-strength = <2>; 1050 1051 /* Has external pullup */ 1052 bias-disable; 1053 }; 1054}; 1055 1056&qup_i2c4_default { 1057 pinconf { 1058 pins = "gpio115", "gpio116"; 1059 drive-strength = <2>; 1060 1061 /* Has external pullup */ 1062 bias-disable; 1063 }; 1064}; 1065 1066&qup_i2c5_default { 1067 pinconf { 1068 pins = "gpio25", "gpio26"; 1069 drive-strength = <2>; 1070 1071 /* Has external pullup */ 1072 bias-disable; 1073 }; 1074}; 1075 1076&qup_i2c7_default { 1077 pinconf { 1078 pins = "gpio6", "gpio7"; 1079 drive-strength = <2>; 1080 1081 /* Has external pullup */ 1082 bias-disable; 1083 }; 1084}; 1085 1086&qup_i2c9_default { 1087 pinconf { 1088 pins = "gpio46", "gpio47"; 1089 drive-strength = <2>; 1090 1091 /* Has external pullup */ 1092 bias-disable; 1093 }; 1094}; 1095 1096&qup_spi0_cs_gpio { 1097 pinconf { 1098 pins = "gpio34", "gpio35", "gpio36", "gpio37"; 1099 drive-strength = <2>; 1100 bias-disable; 1101 }; 1102}; 1103 1104&qup_spi6_cs_gpio { 1105 pinconf { 1106 pins = "gpio59", "gpio60", "gpio61", "gpio62"; 1107 drive-strength = <2>; 1108 bias-disable; 1109 }; 1110}; 1111 1112&qup_spi10_cs_gpio { 1113 pinconf { 1114 pins = "gpio86", "gpio87", "gpio88", "gpio89"; 1115 drive-strength = <2>; 1116 bias-disable; 1117 }; 1118}; 1119 1120&qup_uart3_default { 1121 pinconf-cts { 1122 /* 1123 * Configure a pull-down on CTS to match the pull of 1124 * the Bluetooth module. 1125 */ 1126 pins = "gpio38"; 1127 bias-pull-down; 1128 }; 1129 1130 pinconf-rts-tx { 1131 /* We'll drive RTS and TX, so no pull */ 1132 pins = "gpio39", "gpio40"; 1133 drive-strength = <2>; 1134 bias-disable; 1135 }; 1136 1137 pinconf-rx { 1138 /* 1139 * Configure a pull-up on RX. This is needed to avoid 1140 * garbage data when the TX pin of the Bluetooth module is 1141 * in tri-state (module powered off or not driving the 1142 * signal yet). 1143 */ 1144 pins = "gpio41"; 1145 bias-pull-up; 1146 }; 1147}; 1148 1149&qup_uart8_default { 1150 pinconf-tx { 1151 pins = "gpio44"; 1152 drive-strength = <2>; 1153 bias-disable; 1154 }; 1155 1156 pinconf-rx { 1157 pins = "gpio45"; 1158 drive-strength = <2>; 1159 bias-pull-up; 1160 }; 1161}; 1162 1163&sec_mi2s_active { 1164 pinconf { 1165 pins = "gpio49", "gpio50", "gpio51"; 1166 drive-strength = <2>; 1167 bias-pull-down; 1168 }; 1169}; 1170 1171/* PINCTRL - board-specific pinctrl */ 1172 1173&pm6150_gpio { 1174 status = "disabled"; /* No GPIOs are connected */ 1175}; 1176 1177&pm6150l_gpio { 1178 gpio-line-names = "AP_SUSPEND", 1179 "", 1180 "", 1181 "", 1182 "", 1183 "", 1184 "", 1185 "", 1186 "", 1187 "", 1188 "", 1189 ""; 1190}; 1191 1192&tlmm { 1193 /* 1194 * pinctrl settings for pins that have no real owners. 1195 */ 1196 pinctrl-names = "default"; 1197 pinctrl-0 = <&bios_flash_wp_l>, <&ap_suspend_l_neuter>; 1198 1199 amp_en: amp-en { 1200 pinmux { 1201 pins = "gpio23"; 1202 function = "gpio"; 1203 }; 1204 1205 pinconf { 1206 pins = "gpio23"; 1207 bias-pull-down; 1208 }; 1209 }; 1210 1211 ap_ec_int_l: ap-ec-int-l { 1212 pinmux { 1213 pins = "gpio94"; 1214 function = "gpio"; 1215 input-enable; 1216 }; 1217 1218 pinconf { 1219 pins = "gpio94"; 1220 bias-pull-up; 1221 }; 1222 }; 1223 1224 ap_edp_bklten: ap-edp-bklten { 1225 pinmux { 1226 pins = "gpio12"; 1227 function = "gpio"; 1228 }; 1229 1230 pinconf { 1231 pins = "gpio12"; 1232 drive-strength = <2>; 1233 bias-disable; 1234 1235 /* Force backlight to be disabled to match state at boot. */ 1236 output-low; 1237 }; 1238 }; 1239 1240 ap_suspend_l_neuter: ap-suspend-l-neuter { 1241 pinmux { 1242 pins = "gpio27"; 1243 function = "gpio"; 1244 }; 1245 1246 pinconf { 1247 pins = "gpio27"; 1248 bias-disable; 1249 }; 1250 }; 1251 1252 bios_flash_wp_l: bios-flash-wp-l { 1253 pinmux { 1254 pins = "gpio66"; 1255 function = "gpio"; 1256 input-enable; 1257 }; 1258 1259 pinconf { 1260 pins = "gpio66"; 1261 bias-disable; 1262 }; 1263 }; 1264 1265 edp_brij_en: edp-brij-en { 1266 pinmux { 1267 pins = "gpio104"; 1268 function = "gpio"; 1269 }; 1270 1271 pinconf { 1272 pins = "gpio104"; 1273 drive-strength = <2>; 1274 bias-disable; 1275 }; 1276 }; 1277 1278 en_pp3300_codec: en-pp3300-codec { 1279 pinmux { 1280 pins = "gpio83"; 1281 function = "gpio"; 1282 }; 1283 1284 pinconf { 1285 pins = "gpio83"; 1286 drive-strength = <2>; 1287 bias-disable; 1288 }; 1289 }; 1290 1291 en_pp3300_dx_edp: en-pp3300-dx-edp { 1292 pinmux { 1293 pins = "gpio30"; 1294 function = "gpio"; 1295 }; 1296 1297 pinconf { 1298 pins = "gpio30"; 1299 drive-strength = <2>; 1300 bias-disable; 1301 }; 1302 }; 1303 1304 en_pp3300_hub: en-pp3300-hub { 1305 pinmux { 1306 pins = "gpio84"; 1307 function = "gpio"; 1308 }; 1309 1310 pinconf { 1311 pins = "gpio84"; 1312 drive-strength = <2>; 1313 bias-disable; 1314 }; 1315 }; 1316 1317 fp_to_ap_irq_l: fp-to-ap-irq-l { 1318 pinmux { 1319 pins = "gpio4"; 1320 function = "gpio"; 1321 input-enable; 1322 }; 1323 1324 pinconf { 1325 pins = "gpio4"; 1326 1327 /* Has external pullup */ 1328 bias-disable; 1329 }; 1330 }; 1331 1332 h1_ap_int_odl: h1-ap-int-odl { 1333 pinmux { 1334 pins = "gpio42"; 1335 function = "gpio"; 1336 input-enable; 1337 }; 1338 1339 pinconf { 1340 pins = "gpio42"; 1341 bias-pull-up; 1342 }; 1343 }; 1344 1345 hp_irq: hp-irq { 1346 pinmux { 1347 pins = "gpio28"; 1348 function = "gpio"; 1349 }; 1350 1351 pinconf { 1352 pins = "gpio28"; 1353 bias-pull-up; 1354 }; 1355 }; 1356 1357 pen_irq_l: pen-irq-l { 1358 pinmux { 1359 pins = "gpio21"; 1360 function = "gpio"; 1361 }; 1362 1363 pinconf { 1364 pins = "gpio21"; 1365 1366 /* Has external pullup */ 1367 bias-disable; 1368 }; 1369 }; 1370 1371 pen_pdct_l: pen-pdct-l { 1372 pinmux { 1373 pins = "gpio52"; 1374 function = "gpio"; 1375 }; 1376 1377 pinconf { 1378 pins = "gpio52"; 1379 1380 /* Has external pullup */ 1381 bias-disable; 1382 }; 1383 }; 1384 1385 pen_rst_odl: pen-rst-odl { 1386 pinmux { 1387 pins = "gpio18"; 1388 function = "gpio"; 1389 }; 1390 1391 pinconf { 1392 pins = "gpio18"; 1393 bias-disable; 1394 drive-strength = <2>; 1395 1396 /* 1397 * The pen driver doesn't currently support 1398 * driving this reset line. By specifying 1399 * output-high here we're relying on the fact 1400 * that this pin has a default pulldown at boot 1401 * (which makes sure the pen was in reset if it 1402 * was powered) and then we set it high here to 1403 * take it out of reset. Better would be if the 1404 * pen driver could control this and we could 1405 * remove "output-high" here. 1406 */ 1407 output-high; /* TODO: Remove this? */ 1408 }; 1409 }; 1410 1411 p_sensor_int_l: p-sensor-int-l { 1412 pinmux { 1413 pins = "gpio24"; 1414 function = "gpio"; 1415 input-enable; 1416 }; 1417 1418 pinconf { 1419 pins = "gpio24"; 1420 /* Has external pullup */ 1421 bias-disable; 1422 }; 1423 }; 1424 1425 qup_spi0_cs_gpio_init_high: qup-spi0-cs-gpio-init-high { 1426 pinconf { 1427 pins = "gpio37"; 1428 output-high; 1429 }; 1430 }; 1431 1432 qup_spi6_cs_gpio_init_high: qup-spi6-cs-gpio-init-high { 1433 pinconf { 1434 pins = "gpio62"; 1435 output-high; 1436 }; 1437 }; 1438 1439 qup_spi10_cs_gpio_init_high: qup-spi10-cs-gpio-init-high { 1440 pinconf { 1441 pins = "gpio89"; 1442 output-high; 1443 }; 1444 }; 1445 1446 qup_uart3_sleep: qup-uart3-sleep { 1447 pinmux { 1448 pins = "gpio38", "gpio39", 1449 "gpio40", "gpio41"; 1450 function = "gpio"; 1451 }; 1452 1453 pinconf-cts { 1454 /* 1455 * Configure a pull-down on CTS to match the pull of 1456 * the Bluetooth module. 1457 */ 1458 pins = "gpio38"; 1459 bias-pull-down; 1460 }; 1461 1462 pinconf-rts { 1463 /* 1464 * Configure pull-down on RTS. As RTS is active low 1465 * signal, pull it low to indicate the BT SoC that it 1466 * can wakeup the system anytime from suspend state by 1467 * pulling RX low (by sending wakeup bytes). 1468 */ 1469 pins = "gpio39"; 1470 bias-pull-down; 1471 }; 1472 1473 pinconf-tx { 1474 /* 1475 * Configure pull-up on TX when it isn't actively driven 1476 * to prevent BT SoC from receiving garbage during sleep. 1477 */ 1478 pins = "gpio40"; 1479 bias-pull-up; 1480 }; 1481 1482 pinconf-rx { 1483 /* 1484 * Configure a pull-up on RX. This is needed to avoid 1485 * garbage data when the TX pin of the Bluetooth module 1486 * is floating which may cause spurious wakeups. 1487 */ 1488 pins = "gpio41"; 1489 bias-pull-up; 1490 }; 1491 }; 1492 1493 /* Named trackpad_int_1v8_odl on earlier revision schematics */ 1494 trackpad_int_1v8_odl: 1495 tp_int_odl: tp-int-odl { 1496 pinmux { 1497 pins = "gpio0"; 1498 function = "gpio"; 1499 }; 1500 1501 pinconf { 1502 pins = "gpio0"; 1503 1504 /* Has external pullup */ 1505 bias-disable; 1506 }; 1507 }; 1508 1509 ts_int_l: ts-int-l { 1510 pinmux { 1511 pins = "gpio9"; 1512 function = "gpio"; 1513 }; 1514 1515 pinconf { 1516 pins = "gpio9"; 1517 bias-pull-up; 1518 }; 1519 }; 1520 1521 ts_reset_l: ts-reset-l { 1522 pinmux { 1523 pins = "gpio8"; 1524 function = "gpio"; 1525 }; 1526 1527 pinconf { 1528 pins = "gpio8"; 1529 bias-disable; 1530 drive-strength = <2>; 1531 }; 1532 }; 1533 1534 sdc1_on: sdc1-on { 1535 pinconf-clk { 1536 pins = "sdc1_clk"; 1537 bias-disable; 1538 drive-strength = <16>; 1539 }; 1540 1541 pinconf-cmd { 1542 pins = "sdc1_cmd"; 1543 bias-pull-up; 1544 drive-strength = <16>; 1545 }; 1546 1547 pinconf-data { 1548 pins = "sdc1_data"; 1549 bias-pull-up; 1550 drive-strength = <16>; 1551 }; 1552 1553 pinconf-rclk { 1554 pins = "sdc1_rclk"; 1555 bias-pull-down; 1556 }; 1557 }; 1558 1559 sdc1_off: sdc1-off { 1560 pinconf-clk { 1561 pins = "sdc1_clk"; 1562 bias-disable; 1563 drive-strength = <2>; 1564 }; 1565 1566 pinconf-cmd { 1567 pins = "sdc1_cmd"; 1568 bias-pull-up; 1569 drive-strength = <2>; 1570 }; 1571 1572 pinconf-data { 1573 pins = "sdc1_data"; 1574 bias-pull-up; 1575 drive-strength = <2>; 1576 }; 1577 1578 pinconf-rclk { 1579 pins = "sdc1_rclk"; 1580 bias-pull-down; 1581 }; 1582 }; 1583 1584 sdc2_on: sdc2-on { 1585 pinconf-clk { 1586 pins = "sdc2_clk"; 1587 bias-disable; 1588 drive-strength = <16>; 1589 }; 1590 1591 pinconf-cmd { 1592 pins = "sdc2_cmd"; 1593 bias-pull-up; 1594 drive-strength = <10>; 1595 }; 1596 1597 pinconf-data { 1598 pins = "sdc2_data"; 1599 bias-pull-up; 1600 drive-strength = <10>; 1601 }; 1602 1603 pinconf-sd-cd { 1604 pins = "gpio69"; 1605 bias-pull-up; 1606 drive-strength = <2>; 1607 }; 1608 }; 1609 1610 sdc2_off: sdc2-off { 1611 pinconf-clk { 1612 pins = "sdc2_clk"; 1613 bias-disable; 1614 drive-strength = <2>; 1615 }; 1616 1617 pinconf-cmd { 1618 pins = "sdc2_cmd"; 1619 bias-pull-up; 1620 drive-strength = <2>; 1621 }; 1622 1623 pinconf-data { 1624 pins = "sdc2_data"; 1625 bias-pull-up; 1626 drive-strength = <2>; 1627 }; 1628 1629 pinconf-sd-cd { 1630 pins = "gpio69"; 1631 bias-pull-up; 1632 drive-strength = <2>; 1633 }; 1634 }; 1635 1636 uf_cam_en: uf-cam-en { 1637 pinmux { 1638 pins = "gpio6"; 1639 function = "gpio"; 1640 }; 1641 1642 pinconf { 1643 pins = "gpio6"; 1644 drive-strength = <2>; 1645 /* External pull down */ 1646 bias-disable; 1647 }; 1648 }; 1649 1650 wf_cam_en: wf-cam-en { 1651 pinmux { 1652 pins = "gpio7"; 1653 function = "gpio"; 1654 }; 1655 1656 pinconf { 1657 pins = "gpio7"; 1658 drive-strength = <2>; 1659 /* External pull down */ 1660 bias-disable; 1661 }; 1662 }; 1663}; 1664