1 // SPDX-License-Identifier: BSD-3-Clause 2 /* 3 * Copyright (c) 2023, Linaro Limited 4 */ 5 6 /dts-v1/; 7 8 #include <dt-bindings/leds/common.h> 9 #include <dt-bindings/usb/pd.h> 10 #include "sm4250.dtsi" 11 #include "pm6125.dtsi" 12 #include "pmi632.dtsi" 13 14 / { 15 model = "Qualcomm Technologies, Inc. Q 16 compatible = "qcom,qrb4210-rb2", "qcom 17 18 aliases { 19 serial0 = &uart4; 20 serial1 = &uart3; 21 }; 22 23 chosen { 24 stdout-path = "serial0:115200n 25 }; 26 27 clocks { 28 clk40M: can-clk { 29 compatible = "fixed-cl 30 clock-frequency = <400 31 #clock-cells = <0>; 32 }; 33 }; 34 35 gpio-keys { 36 compatible = "gpio-keys"; 37 label = "gpio-keys"; 38 39 pinctrl-0 = <&kypd_vol_up_n>; 40 pinctrl-names = "default"; 41 42 key-volume-up { 43 label = "Volume Up"; 44 linux,code = <KEY_VOLU 45 gpios = <&pm6125_gpios 46 debounce-interval = <1 47 linux,can-disable; 48 wakeup-source; 49 }; 50 }; 51 52 hdmi-connector { 53 compatible = "hdmi-connector"; 54 type = "a"; 55 56 port { 57 hdmi_con: endpoint { 58 remote-endpoin 59 }; 60 }; 61 }; 62 63 i2c2_gpio: i2c { 64 compatible = "i2c-gpio"; 65 66 sda-gpios = <&tlmm 6 GPIO_ACTI 67 scl-gpios = <&tlmm 7 GPIO_ACTI 68 #address-cells = <1>; 69 #size-cells = <0>; 70 71 status = "disabled"; 72 }; 73 74 leds { 75 compatible = "gpio-leds"; 76 77 led-bt { 78 label = "blue:bt"; 79 function = LED_FUNCTIO 80 color = <LED_COLOR_ID_ 81 gpios = <&tlmm 45 GPIO 82 linux,default-trigger 83 default-state = "off"; 84 }; 85 86 led-user0 { 87 label = "green:user0"; 88 function = LED_FUNCTIO 89 color = <LED_COLOR_ID_ 90 gpios = <&tlmm 52 GPIO 91 linux,default-trigger 92 default-state = "off"; 93 panic-indicator; 94 }; 95 96 led-wlan { 97 label = "yellow:wlan"; 98 function = LED_FUNCTIO 99 color = <LED_COLOR_ID_ 100 gpios = <&tlmm 47 GPIO 101 linux,default-trigger 102 default-state = "off"; 103 }; 104 }; 105 106 vreg_hdmi_out_1p2: regulator-hdmi-out- 107 compatible = "regulator-fixed" 108 regulator-name = "VREG_HDMI_OU 109 regulator-min-microvolt = <120 110 regulator-max-microvolt = <120 111 vin-supply = <&vdc_1v2>; 112 regulator-always-on; 113 regulator-boot-on; 114 }; 115 116 lt9611_3v3: regulator-lt9611-3v3 { 117 compatible = "regulator-fixed" 118 regulator-name = "LT9611_3V3"; 119 regulator-min-microvolt = <330 120 regulator-max-microvolt = <330 121 vin-supply = <&vdc_3v3>; 122 regulator-always-on; 123 regulator-boot-on; 124 }; 125 126 /* Main barrel jack input */ 127 vdc_12v: regulator-vdc-12v { 128 compatible = "regulator-fixed" 129 regulator-name = "DC_12V"; 130 regulator-min-microvolt = <120 131 regulator-max-microvolt = <120 132 regulator-always-on; 133 regulator-boot-on; 134 }; 135 136 /* 1.2V supply stepped down from the b 137 vdc_1v2: regulator-vdc-1v2 { 138 compatible = "regulator-fixed" 139 regulator-name = "VDC_1V2"; 140 regulator-min-microvolt = <120 141 regulator-max-microvolt = <120 142 vin-supply = <&vdc_12v>; 143 regulator-always-on; 144 regulator-boot-on; 145 }; 146 147 /* 3.3V supply stepped down from the b 148 vdc_3v3: regulator-vdc-3v3 { 149 compatible = "regulator-fixed" 150 regulator-name = "VDC_3V3"; 151 regulator-min-microvolt = <330 152 regulator-max-microvolt = <330 153 vin-supply = <&vdc_12v>; 154 regulator-always-on; 155 regulator-boot-on; 156 }; 157 158 /* 5V supply stepped down from the bar 159 vdc_5v: regulator-vdc-5v { 160 compatible = "regulator-fixed" 161 regulator-name = "VDC_5V"; 162 163 regulator-min-microvolt = <500 164 regulator-max-microvolt = <500 165 regulator-always-on; 166 regulator-boot-on; 167 }; 168 169 /* "Battery" voltage for the SoM, step 170 vdc_vbat_som: regulator-vdc-vbat { 171 compatible = "regulator-fixed" 172 regulator-name = "VBAT_SOM"; 173 regulator-min-microvolt = <420 174 regulator-max-microvolt = <420 175 regulator-always-on; 176 regulator-boot-on; 177 }; 178 179 /* PMI632 charger out, supplied by VBA 180 vph_pwr: regulator-vph-pwr { 181 compatible = "regulator-fixed" 182 regulator-name = "vph_pwr"; 183 regulator-min-microvolt = <370 184 regulator-max-microvolt = <370 185 vin-supply = <&vdc_vbat_som>; 186 187 regulator-always-on; 188 regulator-boot-on; 189 }; 190 }; 191 192 &gpi_dma0 { 193 status = "okay"; 194 }; 195 196 &gpu { 197 status = "okay"; 198 199 zap-shader { 200 firmware-name = "qcom/qrb4210/ 201 }; 202 }; 203 204 &i2c2_gpio { 205 clock-frequency = <400000>; 206 status = "okay"; 207 208 lt9611_codec: hdmi-bridge@2b { 209 compatible = "lontium,lt9611ux 210 reg = <0x2b>; 211 interrupts-extended = <&tlmm 4 212 reset-gpios = <&tlmm 41 GPIO_A 213 214 vdd-supply = <&vreg_hdmi_out_1 215 vcc-supply = <<9611_3v3>; 216 217 pinctrl-0 = <<9611_irq_pin & 218 pinctrl-names = "default"; 219 #sound-dai-cells = <1>; 220 221 ports { 222 #address-cells = <1>; 223 #size-cells = <0>; 224 225 port@0 { 226 reg = <0>; 227 228 lt9611_a: endp 229 remote 230 }; 231 }; 232 233 port@2 { 234 reg = <2>; 235 236 lt9611_out: en 237 remote 238 }; 239 }; 240 }; 241 }; 242 }; 243 244 &mdss { 245 status = "okay"; 246 }; 247 248 &mdss_dsi0 { 249 vdda-supply = <&vreg_l18a_1p232>; 250 status = "okay"; 251 }; 252 253 &mdss_dsi0_out { 254 remote-endpoint = <<9611_a>; 255 data-lanes = <0 1 2 3>; 256 }; 257 258 &mdss_dsi0_phy { 259 status = "okay"; 260 }; 261 262 &pm6125_gpios { 263 kypd_vol_up_n: kypd-vol-up-n-state { 264 pins = "gpio5"; 265 function = "normal"; 266 power-source = <0>; 267 bias-pull-up; 268 input-enable; 269 }; 270 }; 271 272 &pmi632_typec { 273 status = "okay"; 274 275 connector { 276 compatible = "usb-c-connector" 277 278 power-role = "dual"; 279 data-role = "dual"; 280 self-powered; 281 282 typec-power-opmode = "default" 283 pd-disable; 284 285 ports { 286 #address-cells = <1>; 287 #size-cells = <0>; 288 289 port@0 { 290 reg = <0>; 291 pmi632_hs_in: 292 remote 293 }; 294 }; 295 296 port@1 { 297 reg = <1>; 298 pmi632_ss_in: 299 remote 300 }; 301 }; 302 }; 303 }; 304 }; 305 306 &pmi632_vbus { 307 regulator-min-microamp = <500000>; 308 regulator-max-microamp = <1000000>; 309 status = "okay"; 310 }; 311 312 &pon_pwrkey { 313 status = "okay"; 314 }; 315 316 &pon_resin { 317 linux,code = <KEY_VOLUMEDOWN>; 318 status = "okay"; 319 }; 320 321 &qupv3_id_0 { 322 status = "okay"; 323 }; 324 325 &remoteproc_adsp { 326 firmware-name = "qcom/qrb4210/adsp.mbn 327 328 status = "okay"; 329 }; 330 331 &remoteproc_cdsp { 332 firmware-name = "qcom/qrb4210/cdsp.mbn 333 334 status = "okay"; 335 }; 336 337 &remoteproc_mpss { 338 firmware-name = "qcom/qrb4210/modem.mb 339 340 status = "okay"; 341 }; 342 343 &rpm_requests { 344 regulators { 345 compatible = "qcom,rpm-pm6125- 346 347 vdd-s1-supply = <&vph_pwr>; 348 vdd-s2-supply = <&vph_pwr>; 349 vdd-s3-supply = <&vph_pwr>; 350 vdd-s4-supply = <&vph_pwr>; 351 vdd-s5-supply = <&vph_pwr>; 352 vdd-s6-supply = <&vph_pwr>; 353 vdd-s7-supply = <&vph_pwr>; 354 vdd-s8-supply = <&vph_pwr>; 355 vdd-s9-supply = <&vph_pwr>; 356 vdd-s10-supply = <&vph_pwr>; 357 358 vdd-l1-l7-l17-l18-supply = <&v 359 vdd-l2-l3-l4-supply = <&vreg_s 360 vdd-l5-l15-l19-l20-l21-l22-sup 361 vdd-l6-l8-supply = <&vreg_s5a_ 362 vdd-l9-l11-supply = <&vreg_s7a 363 vdd-l10-l13-l14-supply = <&vre 364 vdd-l12-l16-supply = <&vreg_s7 365 vdd-l23-l24-supply = <&vph_pwr 366 367 vreg_s5a_0p848: s5 { 368 regulator-min-microvol 369 regulator-max-microvol 370 }; 371 372 vreg_s6a_1p352: s6 { 373 regulator-min-microvol 374 regulator-max-microvol 375 }; 376 377 vreg_s7a_2p04: s7 { 378 regulator-min-microvol 379 regulator-max-microvol 380 }; 381 382 vreg_l1a_1p0: l1 { 383 regulator-min-microvol 384 regulator-max-microvol 385 }; 386 387 vreg_l4a_0p9: l4 { 388 regulator-min-microvol 389 regulator-max-microvol 390 }; 391 392 vreg_l5a_2p96: l5 { 393 regulator-min-microvol 394 regulator-max-microvol 395 regulator-allow-set-lo 396 }; 397 398 vreg_l6a_0p6: l6 { 399 regulator-min-microvol 400 regulator-max-microvol 401 }; 402 403 vreg_l7a_1p256: l7 { 404 regulator-min-microvol 405 regulator-max-microvol 406 }; 407 408 vreg_l8a_0p664: l8 { 409 regulator-min-microvol 410 regulator-max-microvol 411 }; 412 413 vreg_l9a_1p8: l9 { 414 regulator-min-microvol 415 regulator-max-microvol 416 regulator-allow-set-lo 417 regulator-always-on; 418 regulator-boot-on; 419 }; 420 421 vreg_l10a_1p8: l10 { 422 regulator-min-microvol 423 regulator-max-microvol 424 }; 425 426 vreg_l11a_1p8: l11 { 427 regulator-min-microvol 428 regulator-max-microvol 429 regulator-allow-set-lo 430 }; 431 432 vreg_l12a_1p8: l12 { 433 regulator-min-microvol 434 regulator-max-microvol 435 }; 436 437 vreg_l13a_1p8: l13 { 438 regulator-min-microvol 439 regulator-max-microvol 440 }; 441 442 vreg_l14a_1p8: l14 { 443 regulator-min-microvol 444 regulator-max-microvol 445 }; 446 447 vreg_l15a_3p128: l15 { 448 regulator-min-microvol 449 regulator-max-microvol 450 }; 451 452 vreg_l16a_1p3: l16 { 453 regulator-min-microvol 454 regulator-max-microvol 455 regulator-allow-set-lo 456 }; 457 458 vreg_l17a_1p3: l17 { 459 regulator-min-microvol 460 regulator-max-microvol 461 regulator-allow-set-lo 462 }; 463 464 vreg_l18a_1p232: l18 { 465 regulator-min-microvol 466 regulator-max-microvol 467 }; 468 469 vreg_l19a_1p8: l19 { 470 regulator-min-microvol 471 regulator-max-microvol 472 }; 473 474 vreg_l20a_1p8: l20 { 475 regulator-min-microvol 476 regulator-max-microvol 477 }; 478 479 vreg_l21a_2p704: l21 { 480 regulator-min-microvol 481 regulator-max-microvol 482 }; 483 484 vreg_l22a_2p96: l22 { 485 regulator-min-microvol 486 regulator-max-microvol 487 regulator-system-load 488 regulator-allow-set-lo 489 }; 490 491 vreg_l23a_3p3: l23 { 492 regulator-min-microvol 493 regulator-max-microvol 494 regulator-allow-set-lo 495 }; 496 497 vreg_l24a_2p96: l24 { 498 regulator-min-microvol 499 regulator-max-microvol 500 regulator-system-load 501 regulator-allow-set-lo 502 }; 503 }; 504 }; 505 506 &sdhc_1 { 507 pinctrl-0 = <&sdc1_state_on>; 508 pinctrl-1 = <&sdc1_state_off>; 509 pinctrl-names = "default", "sleep"; 510 511 vmmc-supply = <&vreg_l24a_2p96>; 512 vqmmc-supply = <&vreg_l11a_1p8>; 513 no-sdio; 514 non-removable; 515 516 status = "okay"; 517 }; 518 519 &sdhc_2 { 520 cd-gpios = <&tlmm 88 GPIO_ACTIVE_LOW>; 521 522 pinctrl-0 = <&sdc2_state_on &sdc2_card 523 pinctrl-1 = <&sdc2_state_off &sdc2_car 524 pinctrl-names = "default", "sleep"; 525 526 vmmc-supply = <&vreg_l22a_2p96>; 527 vqmmc-supply = <&vreg_l5a_2p96>; 528 no-sdio; 529 530 status = "okay"; 531 }; 532 533 &spi5 { 534 status = "okay"; 535 536 can@0 { 537 compatible = "microchip,mcp251 538 reg = <0>; 539 interrupts-extended = <&tlmm 3 540 clocks = <&clk40M>; 541 spi-max-frequency = <10000000> 542 vdd-supply = <&vdc_5v>; 543 xceiver-supply = <&vdc_5v>; 544 }; 545 }; 546 547 &sleep_clk { 548 clock-frequency = <32000>; 549 }; 550 551 &tlmm { 552 gpio-reserved-ranges = <43 2>, <49 1>, 553 <56 3>, <61 2>, 554 <68 1>, <72 8>, 555 556 uart3_default: uart3-default-state { 557 cts-pins { 558 pins = "gpio8"; 559 function = "qup3"; 560 drive-strength = <2>; 561 bias-bus-hold; 562 }; 563 564 rts-pins { 565 pins = "gpio9"; 566 function = "qup3"; 567 drive-strength = <2>; 568 bias-disable; 569 }; 570 571 tx-pins { 572 pins = "gpio10"; 573 function = "qup3"; 574 drive-strength = <2>; 575 bias-disable; 576 }; 577 578 rx-pins { 579 pins = "gpio11"; 580 function = "qup3"; 581 drive-strength = <2>; 582 bias-pull-up; 583 }; 584 }; 585 586 uart3_sleep: uart3-sleep-state { 587 cts-pins { 588 pins = "gpio8"; 589 function = "gpio"; 590 drive-strength = <2>; 591 bias-bus-hold; 592 }; 593 594 rts-pins { 595 pins = "gpio9"; 596 function = "gpio"; 597 drive-strength = <2>; 598 bias-pull-down; 599 }; 600 601 tx-pins { 602 pins = "gpio10"; 603 function = "gpio"; 604 drive-strength = <2>; 605 bias-pull-up; 606 }; 607 608 rx-pins { 609 pins = "gpio11"; 610 function = "gpio"; 611 drive-strength = <2>; 612 bias-pull-up; 613 }; 614 }; 615 616 lt9611_rst_pin: lt9611-rst-state { 617 pins = "gpio41"; 618 function = "gpio"; 619 input-disable; 620 output-high; 621 }; 622 623 lt9611_irq_pin: lt9611-irq-state { 624 pins = "gpio46"; 625 function = "gpio"; 626 bias-disable; 627 }; 628 629 sdc2_card_det_n: sd-card-det-n-state { 630 pins = "gpio88"; 631 function = "gpio"; 632 drive-strength = <2>; 633 bias-pull-up; 634 }; 635 }; 636 637 &uart3 { 638 interrupts-extended = <&intc GIC_SPI 3 639 <&tlmm 11 IRQ_TY 640 pinctrl-0 = <&uart3_default>; 641 pinctrl-1 = <&uart3_sleep>; 642 pinctrl-names = "default", "sleep"; 643 status = "okay"; 644 645 bluetooth { 646 compatible = "qcom,wcn3988-bt" 647 648 vddio-supply = <&vreg_l9a_1p8> 649 vddxo-supply = <&vreg_l16a_1p3 650 vddrf-supply = <&vreg_l17a_1p3 651 vddch0-supply = <&vreg_l23a_3p 652 enable-gpios = <&tlmm 87 GPIO_ 653 max-speed = <3200000>; 654 }; 655 }; 656 657 &uart4 { 658 status = "okay"; 659 }; 660 661 &usb { 662 status = "okay"; 663 }; 664 665 &usb_dwc3_hs { 666 remote-endpoint = <&pmi632_hs_in>; 667 }; 668 669 &usb_hsphy { 670 vdd-supply = <&vreg_l4a_0p9>; 671 vdda-pll-supply = <&vreg_l12a_1p8>; 672 vdda-phy-dpdm-supply = <&vreg_l15a_3p1 673 674 status = "okay"; 675 }; 676 677 &usb_qmpphy { 678 vdda-phy-supply = <&vreg_l4a_0p9>; 679 vdda-pll-supply = <&vreg_l12a_1p8>; 680 681 status = "okay"; 682 }; 683 684 &usb_qmpphy_out { 685 remote-endpoint = <&pmi632_ss_in>; 686 }; 687 688 &wifi { 689 vdd-0.8-cx-mx-supply = <&vreg_l8a_0p66 690 vdd-1.8-xo-supply = <&vreg_l16a_1p3>; 691 vdd-1.3-rfa-supply = <&vreg_l17a_1p3>; 692 vdd-3.3-ch0-supply = <&vreg_l23a_3p3>; 693 qcom,ath10k-calibration-variant = "Thu 694 firmware-name = "qrb4210"; 695 696 status = "okay"; 697 }; 698 699 &xo_board { 700 clock-frequency = <19200000>; 701 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.