1 // SPDX-License-Identifier: (GPL-2.0+ OR BSD-3 2 /* 3 * Copyright (c) 2023, Linaro Ltd 4 */ 5 6 /dts-v1/; 7 8 #include <dt-bindings/leds/common.h> 9 #include "qcm2290.dtsi" 10 #include "pm4125.dtsi" 11 12 / { 13 model = "Qualcomm Technologies, Inc. R 14 compatible = "qcom,qrb2210-rb1", "qcom 15 16 aliases { 17 serial0 = &uart4; 18 sdhc1 = &sdhc_1; 19 sdhc2 = &sdhc_2; 20 }; 21 22 chosen { 23 stdout-path = "serial0:115200n 24 }; 25 26 clocks { 27 clk40M: can-clk { 28 compatible = "fixed-cl 29 clock-frequency = <400 30 #clock-cells = <0>; 31 }; 32 }; 33 34 gpio-keys { 35 compatible = "gpio-keys"; 36 label = "gpio-keys"; 37 38 pinctrl-0 = <&key_volp_n>; 39 pinctrl-names = "default"; 40 41 key-volume-up { 42 label = "Volume Up"; 43 linux,code = <KEY_VOLU 44 gpios = <&tlmm 96 GPIO 45 debounce-interval = <1 46 linux,can-disable; 47 wakeup-source; 48 }; 49 }; 50 51 hdmi-connector { 52 compatible = "hdmi-connector"; 53 type = "a"; 54 55 port { 56 hdmi_con: endpoint { 57 remote-endpoin 58 }; 59 }; 60 }; 61 62 i2c2_gpio: i2c { 63 compatible = "i2c-gpio"; 64 65 sda-gpios = <&tlmm 6 GPIO_ACTI 66 scl-gpios = <&tlmm 7 GPIO_ACTI 67 #address-cells = <1>; 68 #size-cells = <0>; 69 70 status = "disabled"; 71 }; 72 73 leds { 74 compatible = "gpio-leds"; 75 76 led-bt { 77 label = "blue:bt"; 78 function = LED_FUNCTIO 79 color = <LED_COLOR_ID_ 80 gpios = <&tlmm 45 GPIO 81 linux,default-trigger 82 default-state = "off"; 83 }; 84 85 led-user0 { 86 label = "green:user0"; 87 function = LED_FUNCTIO 88 color = <LED_COLOR_ID_ 89 gpios = <&tlmm 52 GPIO 90 linux,default-trigger 91 default-state = "off"; 92 panic-indicator; 93 }; 94 95 led-wlan { 96 label = "yellow:wlan"; 97 function = LED_FUNCTIO 98 color = <LED_COLOR_ID_ 99 gpios = <&tlmm 47 GPIO 100 linux,default-trigger 101 default-state = "off"; 102 }; 103 }; 104 105 vreg_hdmi_out_1p2: regulator-hdmi-out- 106 compatible = "regulator-fixed" 107 regulator-name = "VREG_HDMI_OU 108 regulator-min-microvolt = <120 109 regulator-max-microvolt = <120 110 vin-supply = <&vdc_1v2>; 111 regulator-always-on; 112 regulator-boot-on; 113 }; 114 115 lt9611_3v3: regulator-lt9611-3v3 { 116 compatible = "regulator-fixed" 117 regulator-name = "LT9611_3V3"; 118 regulator-min-microvolt = <330 119 regulator-max-microvolt = <330 120 vin-supply = <&vdc_3v3>; 121 regulator-always-on; 122 regulator-boot-on; 123 }; 124 125 /* Main barrel jack input */ 126 vdc_12v: regulator-vdc-12v { 127 compatible = "regulator-fixed" 128 regulator-name = "DC_12V"; 129 regulator-min-microvolt = <120 130 regulator-max-microvolt = <120 131 regulator-always-on; 132 regulator-boot-on; 133 }; 134 135 /* 1.2V supply stepped down from the b 136 vdc_1v2: regulator-vdc-1v2 { 137 compatible = "regulator-fixed" 138 regulator-name = "VDC_1V2"; 139 regulator-min-microvolt = <120 140 regulator-max-microvolt = <120 141 vin-supply = <&vdc_12v>; 142 regulator-always-on; 143 regulator-boot-on; 144 }; 145 146 /* 3.3V supply stepped down from the b 147 vdc_3v3: regulator-vdc-3v3 { 148 compatible = "regulator-fixed" 149 regulator-name = "VDC_3V3"; 150 regulator-min-microvolt = <330 151 regulator-max-microvolt = <330 152 vin-supply = <&vdc_12v>; 153 regulator-always-on; 154 regulator-boot-on; 155 }; 156 157 /* 5V supply stepped down from the bar 158 vdc_5v: regulator-vdc-5v { 159 compatible = "regulator-fixed" 160 regulator-name = "VDC_5V"; 161 162 regulator-min-microvolt = <500 163 regulator-max-microvolt = <500 164 regulator-always-on; 165 regulator-boot-on; 166 }; 167 168 /* "Battery" voltage for the SoM, step 169 vdc_vbat_som: regulator-vdc-vbat { 170 compatible = "regulator-fixed" 171 regulator-name = "VBAT_SOM"; 172 regulator-min-microvolt = <420 173 regulator-max-microvolt = <420 174 regulator-always-on; 175 regulator-boot-on; 176 }; 177 178 /* PM2250 charger out, supplied by VBA 179 vph_pwr: regulator-vph-pwr { 180 compatible = "regulator-fixed" 181 regulator-name = "vph_pwr"; 182 regulator-min-microvolt = <370 183 regulator-max-microvolt = <370 184 vin-supply = <&vdc_vbat_som>; 185 186 regulator-always-on; 187 regulator-boot-on; 188 }; 189 }; 190 191 &CPU_PD0 { 192 /delete-property/ power-domains; 193 }; 194 195 &CPU_PD1 { 196 /delete-property/ power-domains; 197 }; 198 199 &CPU_PD2 { 200 /delete-property/ power-domains; 201 }; 202 203 &CPU_PD3 { 204 /delete-property/ power-domains; 205 }; 206 207 /delete-node/ &CLUSTER_PD; 208 209 &gpi_dma0 { 210 status = "okay"; 211 }; 212 213 &gpu { 214 status = "okay"; 215 216 zap-shader { 217 firmware-name = "qcom/qcm2290/ 218 }; 219 }; 220 221 &i2c2_gpio { 222 clock-frequency = <400000>; 223 status = "okay"; 224 225 lt9611_codec: hdmi-bridge@2b { 226 compatible = "lontium,lt9611ux 227 reg = <0x2b>; 228 interrupts-extended = <&tlmm 4 229 reset-gpios = <&tlmm 41 GPIO_A 230 231 vdd-supply = <&vreg_hdmi_out_1 232 vcc-supply = <<9611_3v3>; 233 234 pinctrl-0 = <<9611_irq_pin & 235 pinctrl-names = "default"; 236 #sound-dai-cells = <1>; 237 238 ports { 239 #address-cells = <1>; 240 #size-cells = <0>; 241 242 port@0 { 243 reg = <0>; 244 245 lt9611_a: endp 246 remote 247 }; 248 }; 249 250 port@2 { 251 reg = <2>; 252 253 lt9611_out: en 254 remote 255 }; 256 }; 257 }; 258 }; 259 }; 260 261 &mdss { 262 status = "okay"; 263 }; 264 265 &mdss_dsi0 { 266 vdda-supply = <&pm4125_l5>; 267 status = "okay"; 268 }; 269 270 &mdss_dsi0_out { 271 remote-endpoint = <<9611_a>; 272 data-lanes = <0 1 2 3>; 273 }; 274 275 &mdss_dsi0_phy { 276 status = "okay"; 277 }; 278 279 &pm4125_resin { 280 linux,code = <KEY_VOLUMEDOWN>; 281 status = "okay"; 282 }; 283 284 &pm4125_typec { 285 status = "okay"; 286 287 connector { 288 compatible = "usb-c-connector" 289 290 power-role = "dual"; 291 data-role = "dual"; 292 self-powered; 293 294 typec-power-opmode = "default" 295 pd-disable; 296 297 ports { 298 #address-cells = <1>; 299 #size-cells = <0>; 300 301 port@0 { 302 reg = <0>; 303 pm4125_hs_in: 304 remote 305 }; 306 }; 307 308 port@1 { 309 reg = <1>; 310 pm4125_ss_in: 311 remote 312 }; 313 }; 314 }; 315 }; 316 }; 317 318 &pm4125_vbus { 319 regulator-min-microamp = <500000>; 320 regulator-max-microamp = <500000>; 321 status = "okay"; 322 }; 323 324 &qupv3_id_0 { 325 status = "okay"; 326 }; 327 328 &remoteproc_adsp { 329 firmware-name = "qcom/qcm2290/adsp.mbn 330 status = "okay"; 331 }; 332 333 &remoteproc_mpss { 334 firmware-name = "qcom/qcm2290/modem.mb 335 status = "okay"; 336 }; 337 338 &rpm_requests { 339 regulators { 340 compatible = "qcom,rpm-pm2250- 341 vdd_s3-supply = <&vph_pwr>; 342 vdd_s4-supply = <&vph_pwr>; 343 vdd_l1_l2_l3_l5_l6_l7_l8_l9_l1 344 vdd_l4_l17_l18_l19_l20_l21_l22 345 vdd_l13_l14_l15_l16-supply = < 346 347 /* 348 * S1 - VDD_APC 349 * S2 - VDD_CX 350 */ 351 352 pm4125_s3: s3 { 353 /* 0.4V-1.6625V -> 1.3 354 regulator-min-microvol 355 regulator-max-microvol 356 regulator-boot-on; 357 }; 358 359 pm4125_s4: s4 { 360 /* 1.2V-2.35V -> 2.05V 361 regulator-min-microvol 362 regulator-max-microvol 363 regulator-boot-on; 364 }; 365 366 /* L1 - VDD_MX */ 367 368 pm4125_l2: l2 { 369 /* LPDDR4X VDD2 */ 370 regulator-min-microvol 371 regulator-max-microvol 372 regulator-always-on; 373 regulator-boot-on; 374 }; 375 376 pm4125_l3: l3 { 377 /* LPDDR4X VDDQ */ 378 regulator-min-microvol 379 regulator-max-microvol 380 regulator-always-on; 381 regulator-boot-on; 382 }; 383 384 pm4125_l4: l4 { 385 /* max = 3.05V -> max 386 regulator-min-microvol 387 regulator-max-microvol 388 regulator-allow-set-lo 389 }; 390 391 pm4125_l5: l5 { 392 /* CSI/DSI */ 393 regulator-min-microvol 394 regulator-max-microvol 395 regulator-allow-set-lo 396 regulator-boot-on; 397 }; 398 399 pm4125_l6: l6 { 400 /* DRAM PLL */ 401 regulator-min-microvol 402 regulator-max-microvol 403 regulator-always-on; 404 regulator-boot-on; 405 }; 406 407 pm4125_l7: l7 { 408 /* Wi-Fi CX/MX */ 409 regulator-min-microvol 410 regulator-max-microvol 411 }; 412 413 /* 414 * L8 - VDD_LPI_CX 415 * L9 - VDD_LPI_MX 416 */ 417 418 pm4125_l10: l10 { 419 /* Wi-Fi RFA */ 420 regulator-min-microvol 421 regulator-max-microvol 422 }; 423 424 pm4125_l11: l11 { 425 /* GPS RF1 */ 426 regulator-min-microvol 427 regulator-max-microvol 428 regulator-boot-on; 429 }; 430 431 pm4125_l12: l12 { 432 /* USB PHYs */ 433 regulator-min-microvol 434 regulator-max-microvol 435 regulator-allow-set-lo 436 regulator-boot-on; 437 }; 438 439 pm4125_l13: l13 { 440 /* USB/QFPROM/PLLs */ 441 regulator-min-microvol 442 regulator-max-microvol 443 regulator-allow-set-lo 444 regulator-boot-on; 445 }; 446 447 pm4125_l14: l14 { 448 /* SDHCI1 VQMMC */ 449 regulator-min-microvol 450 regulator-max-microvol 451 regulator-allow-set-lo 452 /* Broken hardware, ne 453 regulator-always-on; 454 }; 455 456 pm4125_l15: l15 { 457 /* WCD/DSI/BT VDDIO */ 458 regulator-min-microvol 459 regulator-max-microvol 460 regulator-allow-set-lo 461 regulator-always-on; 462 regulator-boot-on; 463 }; 464 465 pm4125_l16: l16 { 466 /* GPS RF2 */ 467 regulator-min-microvol 468 regulator-max-microvol 469 regulator-boot-on; 470 }; 471 472 pm4125_l17: l17 { 473 regulator-min-microvol 474 regulator-max-microvol 475 }; 476 477 pm4125_l18: l18 { 478 /* VDD_PXn */ 479 regulator-min-microvol 480 regulator-max-microvol 481 }; 482 483 pm4125_l19: l19 { 484 /* VDD_PXn */ 485 regulator-min-microvol 486 regulator-max-microvol 487 }; 488 489 pm4125_l20: l20 { 490 /* SDHCI1 VMMC */ 491 regulator-min-microvol 492 regulator-max-microvol 493 regulator-allow-set-lo 494 }; 495 496 pm4125_l21: l21 { 497 /* SDHCI2 VMMC */ 498 regulator-min-microvol 499 regulator-max-microvol 500 regulator-allow-set-lo 501 regulator-boot-on; 502 }; 503 504 pm4125_l22: l22 { 505 /* Wi-Fi */ 506 regulator-min-microvol 507 regulator-max-microvol 508 }; 509 }; 510 }; 511 512 &sdhc_1 { 513 vmmc-supply = <&pm4125_l20>; 514 vqmmc-supply = <&pm4125_l14>; 515 pinctrl-0 = <&sdc1_state_on>; 516 pinctrl-1 = <&sdc1_state_off>; 517 pinctrl-names = "default", "sleep"; 518 non-removable; 519 supports-cqe; 520 no-sdio; 521 no-sd; 522 status = "okay"; 523 }; 524 525 &sdhc_2 { 526 vmmc-supply = <&pm4125_l21>; 527 vqmmc-supply = <&pm4125_l4>; 528 cd-gpios = <&tlmm 88 GPIO_ACTIVE_LOW>; 529 pinctrl-0 = <&sdc2_state_on &sd_det_in 530 pinctrl-1 = <&sdc2_state_off &sd_det_i 531 pinctrl-names = "default", "sleep"; 532 no-sdio; 533 no-mmc; 534 status = "okay"; 535 }; 536 537 &spi5 { 538 status = "okay"; 539 540 can@0 { 541 compatible = "microchip,mcp251 542 reg = <0>; 543 interrupts-extended = <&tlmm 3 544 clocks = <&clk40M>; 545 spi-max-frequency = <10000000> 546 vdd-supply = <&vdc_5v>; 547 xceiver-supply = <&vdc_5v>; 548 }; 549 }; 550 551 &tlmm { 552 lt9611_rst_pin: lt9611-rst-state { 553 pins = "gpio41"; 554 function = "gpio"; 555 input-disable; 556 output-high; 557 }; 558 559 lt9611_irq_pin: lt9611-irq-state { 560 pins = "gpio46"; 561 function = "gpio"; 562 bias-disable; 563 }; 564 565 sd_det_in_on: sd-det-in-on-state { 566 pins = "gpio88"; 567 function = "gpio"; 568 drive-strength = <2>; 569 bias-pull-up; 570 }; 571 572 sd_det_in_off: sd-det-in-off-state { 573 pins = "gpio88"; 574 function = "gpio"; 575 drive-strength = <2>; 576 bias-disable; 577 }; 578 579 key_volp_n: key-volp-n-state { 580 pins = "gpio96"; 581 function = "gpio"; 582 bias-pull-up; 583 output-disable; 584 }; 585 }; 586 587 /* UART connected to the Micro-USB port via a 588 &uart4 { 589 compatible = "qcom,geni-debug-uart"; 590 status = "okay"; 591 }; 592 593 &usb { 594 status = "okay"; 595 }; 596 597 &usb_dwc3_hs { 598 remote-endpoint = <&pm4125_hs_in>; 599 }; 600 601 &usb_hsphy { 602 vdd-supply = <&pm4125_l12>; 603 vdda-pll-supply = <&pm4125_l13>; 604 vdda-phy-dpdm-supply = <&pm4125_l21>; 605 status = "okay"; 606 }; 607 608 &usb_qmpphy { 609 vdda-phy-supply = <&pm4125_l12>; 610 vdda-pll-supply = <&pm4125_l13>; 611 status = "okay"; 612 }; 613 614 &usb_qmpphy_out { 615 remote-endpoint = <&pm4125_ss_in>; 616 }; 617 618 &wifi { 619 vdd-0.8-cx-mx-supply = <&pm4125_l7>; 620 vdd-1.8-xo-supply = <&pm4125_l13>; 621 vdd-1.3-rfa-supply = <&pm4125_l10>; 622 vdd-3.3-ch0-supply = <&pm4125_l22>; 623 qcom,ath10k-calibration-variant = "Thu 624 firmware-name = "qcm2290"; 625 status = "okay"; 626 }; 627 628 &xo_board { 629 clock-frequency = <38400000>; 630 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.