1 // SPDX-License-Identifier: (GPL-2.0+ OR BSD-3 1 // SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) 2 /* 2 /* 3 * Copyright (c) 2023, Linaro Ltd 3 * Copyright (c) 2023, Linaro Ltd 4 */ 4 */ 5 5 6 /dts-v1/; 6 /dts-v1/; 7 7 8 #include <dt-bindings/leds/common.h> << 9 #include "qcm2290.dtsi" 8 #include "qcm2290.dtsi" 10 #include "pm4125.dtsi" !! 9 #include "pm2250.dtsi" 11 10 12 / { 11 / { 13 model = "Qualcomm Technologies, Inc. R 12 model = "Qualcomm Technologies, Inc. Robotics RB1"; 14 compatible = "qcom,qrb2210-rb1", "qcom 13 compatible = "qcom,qrb2210-rb1", "qcom,qrb2210", "qcom,qcm2290"; 15 14 16 aliases { 15 aliases { 17 serial0 = &uart4; !! 16 serial0 = &uart0; 18 sdhc1 = &sdhc_1; 17 sdhc1 = &sdhc_1; 19 sdhc2 = &sdhc_2; 18 sdhc2 = &sdhc_2; 20 }; 19 }; 21 20 22 chosen { 21 chosen { 23 stdout-path = "serial0:115200n 22 stdout-path = "serial0:115200n8"; 24 }; 23 }; 25 24 26 clocks { << 27 clk40M: can-clk { << 28 compatible = "fixed-cl << 29 clock-frequency = <400 << 30 #clock-cells = <0>; << 31 }; << 32 }; << 33 << 34 gpio-keys { 25 gpio-keys { 35 compatible = "gpio-keys"; 26 compatible = "gpio-keys"; 36 label = "gpio-keys"; 27 label = "gpio-keys"; 37 28 38 pinctrl-0 = <&key_volp_n>; 29 pinctrl-0 = <&key_volp_n>; 39 pinctrl-names = "default"; 30 pinctrl-names = "default"; 40 31 41 key-volume-up { 32 key-volume-up { 42 label = "Volume Up"; 33 label = "Volume Up"; 43 linux,code = <KEY_VOLU 34 linux,code = <KEY_VOLUMEUP>; 44 gpios = <&tlmm 96 GPIO 35 gpios = <&tlmm 96 GPIO_ACTIVE_LOW>; 45 debounce-interval = <1 36 debounce-interval = <15>; 46 linux,can-disable; 37 linux,can-disable; 47 wakeup-source; 38 wakeup-source; 48 }; 39 }; 49 }; 40 }; 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 }; 41 }; 264 42 265 &mdss_dsi0 { !! 43 &pm2250_resin { 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>; 44 linux,code = <KEY_VOLUMEDOWN>; 281 status = "okay"; 45 status = "okay"; 282 }; 46 }; 283 47 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 { 48 &qupv3_id_0 { 325 status = "okay"; 49 status = "okay"; 326 }; 50 }; 327 51 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 { 52 &sdhc_1 { 513 vmmc-supply = <&pm4125_l20>; << 514 vqmmc-supply = <&pm4125_l14>; << 515 pinctrl-0 = <&sdc1_state_on>; 53 pinctrl-0 = <&sdc1_state_on>; 516 pinctrl-1 = <&sdc1_state_off>; 54 pinctrl-1 = <&sdc1_state_off>; 517 pinctrl-names = "default", "sleep"; 55 pinctrl-names = "default", "sleep"; 518 non-removable; 56 non-removable; 519 supports-cqe; 57 supports-cqe; 520 no-sdio; 58 no-sdio; 521 no-sd; 59 no-sd; 522 status = "okay"; 60 status = "okay"; 523 }; 61 }; 524 62 525 &sdhc_2 { 63 &sdhc_2 { 526 vmmc-supply = <&pm4125_l21>; << 527 vqmmc-supply = <&pm4125_l4>; << 528 cd-gpios = <&tlmm 88 GPIO_ACTIVE_LOW>; 64 cd-gpios = <&tlmm 88 GPIO_ACTIVE_LOW>; 529 pinctrl-0 = <&sdc2_state_on &sd_det_in 65 pinctrl-0 = <&sdc2_state_on &sd_det_in_on>; 530 pinctrl-1 = <&sdc2_state_off &sd_det_i 66 pinctrl-1 = <&sdc2_state_off &sd_det_in_off>; 531 pinctrl-names = "default", "sleep"; 67 pinctrl-names = "default", "sleep"; 532 no-sdio; 68 no-sdio; 533 no-mmc; 69 no-mmc; 534 status = "okay"; 70 status = "okay"; 535 }; 71 }; 536 72 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 { 73 &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 { 74 sd_det_in_on: sd-det-in-on-state { 566 pins = "gpio88"; 75 pins = "gpio88"; 567 function = "gpio"; 76 function = "gpio"; 568 drive-strength = <2>; 77 drive-strength = <2>; 569 bias-pull-up; 78 bias-pull-up; 570 }; 79 }; 571 80 572 sd_det_in_off: sd-det-in-off-state { 81 sd_det_in_off: sd-det-in-off-state { 573 pins = "gpio88"; 82 pins = "gpio88"; 574 function = "gpio"; 83 function = "gpio"; 575 drive-strength = <2>; 84 drive-strength = <2>; 576 bias-disable; 85 bias-disable; 577 }; 86 }; 578 87 579 key_volp_n: key-volp-n-state { 88 key_volp_n: key-volp-n-state { 580 pins = "gpio96"; 89 pins = "gpio96"; 581 function = "gpio"; 90 function = "gpio"; 582 bias-pull-up; 91 bias-pull-up; 583 output-disable; 92 output-disable; 584 }; 93 }; 585 }; 94 }; 586 95 587 /* UART connected to the Micro-USB port via a 96 /* UART connected to the Micro-USB port via a FTDI chip */ 588 &uart4 { !! 97 &uart0 { 589 compatible = "qcom,geni-debug-uart"; 98 compatible = "qcom,geni-debug-uart"; 590 status = "okay"; 99 status = "okay"; 591 }; 100 }; 592 101 593 &usb { 102 &usb { 594 status = "okay"; 103 status = "okay"; 595 }; 104 }; 596 105 597 &usb_dwc3_hs { << 598 remote-endpoint = <&pm4125_hs_in>; << 599 }; << 600 << 601 &usb_hsphy { 106 &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"; 107 status = "okay"; 626 }; 108 }; 627 109 628 &xo_board { 110 &xo_board { 629 clock-frequency = <38400000>; 111 clock-frequency = <38400000>; 630 }; 112 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.