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 "sm4250.dtsi" 10 11/ { 12 model = "Qualcomm Technologies, Inc. QRB4210 RB2"; 13 compatible = "qcom,qrb4210-rb2", "qcom,qrb4210", "qcom,sm4250"; 14 15 aliases { 16 serial0 = &uart4; 17 }; 18 19 chosen { 20 stdout-path = "serial0:115200n8"; 21 }; 22 23 clocks { 24 clk40M: can-clk { 25 compatible = "fixed-clock"; 26 clock-frequency = <40000000>; 27 #clock-cells = <0>; 28 }; 29 }; 30 31 hdmi-connector { 32 compatible = "hdmi-connector"; 33 type = "a"; 34 35 port { 36 hdmi_con: endpoint { 37 remote-endpoint = <<9611_out>; 38 }; 39 }; 40 }; 41 42 leds { 43 compatible = "gpio-leds"; 44 45 led-bt { 46 label = "blue:bt"; 47 function = LED_FUNCTION_BLUETOOTH; 48 color = <LED_COLOR_ID_BLUE>; 49 gpios = <&tlmm 45 GPIO_ACTIVE_HIGH>; 50 linux,default-trigger = "bluetooth-power"; 51 default-state = "off"; 52 }; 53 54 led-user0 { 55 label = "green:user0"; 56 function = LED_FUNCTION_INDICATOR; 57 color = <LED_COLOR_ID_GREEN>; 58 gpios = <&tlmm 52 GPIO_ACTIVE_HIGH>; 59 linux,default-trigger = "none"; 60 default-state = "off"; 61 panic-indicator; 62 }; 63 64 led-wlan { 65 label = "yellow:wlan"; 66 function = LED_FUNCTION_WLAN; 67 color = <LED_COLOR_ID_YELLOW>; 68 gpios = <&tlmm 47 GPIO_ACTIVE_HIGH>; 69 linux,default-trigger = "phy0tx"; 70 default-state = "off"; 71 }; 72 }; 73 74 vreg_hdmi_out_1p2: regulator-hdmi-out-1p2 { 75 compatible = "regulator-fixed"; 76 regulator-name = "VREG_HDMI_OUT_1P2"; 77 regulator-min-microvolt = <1200000>; 78 regulator-max-microvolt = <1200000>; 79 vin-supply = <&vdc_1v2>; 80 regulator-always-on; 81 regulator-boot-on; 82 }; 83 84 lt9611_3v3: regulator-lt9611-3v3 { 85 compatible = "regulator-fixed"; 86 regulator-name = "LT9611_3V3"; 87 regulator-min-microvolt = <3300000>; 88 regulator-max-microvolt = <3300000>; 89 vin-supply = <&vdc_3v3>; 90 regulator-always-on; 91 regulator-boot-on; 92 }; 93 94 /* Main barrel jack input */ 95 vdc_12v: regulator-vdc-12v { 96 compatible = "regulator-fixed"; 97 regulator-name = "DC_12V"; 98 regulator-min-microvolt = <12000000>; 99 regulator-max-microvolt = <12000000>; 100 regulator-always-on; 101 regulator-boot-on; 102 }; 103 104 /* 1.2V supply stepped down from the barrel jack input */ 105 vdc_1v2: regulator-vdc-1v2 { 106 compatible = "regulator-fixed"; 107 regulator-name = "VDC_1V2"; 108 regulator-min-microvolt = <1200000>; 109 regulator-max-microvolt = <1200000>; 110 vin-supply = <&vdc_12v>; 111 regulator-always-on; 112 regulator-boot-on; 113 }; 114 115 /* 3.3V supply stepped down from the barrel jack input */ 116 vdc_3v3: regulator-vdc-3v3 { 117 compatible = "regulator-fixed"; 118 regulator-name = "VDC_3V3"; 119 regulator-min-microvolt = <3300000>; 120 regulator-max-microvolt = <3300000>; 121 vin-supply = <&vdc_12v>; 122 regulator-always-on; 123 regulator-boot-on; 124 }; 125 126 /* 5V supply stepped down from the barrel jack input */ 127 vdc_5v: regulator-vdc-5v { 128 compatible = "regulator-fixed"; 129 regulator-name = "VDC_5V"; 130 131 regulator-min-microvolt = <5000000>; 132 regulator-max-microvolt = <5000000>; 133 regulator-always-on; 134 regulator-boot-on; 135 }; 136 137 /* "Battery" voltage for the SoM, stepped down from the barrel jack input */ 138 vdc_vbat_som: regulator-vdc-vbat { 139 compatible = "regulator-fixed"; 140 regulator-name = "VBAT_SOM"; 141 regulator-min-microvolt = <4200000>; 142 regulator-max-microvolt = <4200000>; 143 regulator-always-on; 144 regulator-boot-on; 145 }; 146 147 /* PMI632 charger out, supplied by VBAT */ 148 vph_pwr: regulator-vph-pwr { 149 compatible = "regulator-fixed"; 150 regulator-name = "vph_pwr"; 151 regulator-min-microvolt = <3700000>; 152 regulator-max-microvolt = <3700000>; 153 vin-supply = <&vdc_vbat_som>; 154 155 regulator-always-on; 156 regulator-boot-on; 157 }; 158}; 159 160&gpi_dma0 { 161 status = "okay"; 162}; 163 164&i2c2 { 165 clock-frequency = <400000>; 166 status = "okay"; 167 168 lt9611_codec: hdmi-bridge@2b { 169 compatible = "lontium,lt9611uxc"; 170 reg = <0x2b>; 171 interrupts-extended = <&tlmm 46 IRQ_TYPE_EDGE_FALLING>; 172 reset-gpios = <&tlmm 41 GPIO_ACTIVE_HIGH>; 173 174 vdd-supply = <&vreg_hdmi_out_1p2>; 175 vcc-supply = <<9611_3v3>; 176 177 pinctrl-0 = <<9611_irq_pin <9611_rst_pin>; 178 pinctrl-names = "default"; 179 #sound-dai-cells = <1>; 180 181 ports { 182 #address-cells = <1>; 183 #size-cells = <0>; 184 185 port@0 { 186 reg = <0>; 187 188 lt9611_a: endpoint { 189 remote-endpoint = <&mdss_dsi0_out>; 190 }; 191 }; 192 193 port@2 { 194 reg = <2>; 195 196 lt9611_out: endpoint { 197 remote-endpoint = <&hdmi_con>; 198 }; 199 }; 200 }; 201 }; 202}; 203 204&mdss { 205 status = "okay"; 206}; 207 208&mdss_dsi0 { 209 vdda-supply = <&vreg_l18a_1p232>; 210 status = "okay"; 211}; 212 213&mdss_dsi0_out { 214 remote-endpoint = <<9611_a>; 215 data-lanes = <0 1 2 3>; 216}; 217 218&mdss_dsi0_phy { 219 status = "okay"; 220}; 221 222&qupv3_id_0 { 223 status = "okay"; 224}; 225 226&remoteproc_adsp { 227 firmware-name = "qcom/qrb4210/adsp.mbn"; 228 229 status = "okay"; 230}; 231 232&remoteproc_cdsp { 233 firmware-name = "qcom/qrb4210/cdsp.mbn"; 234 235 status = "okay"; 236}; 237 238&rpm_requests { 239 regulators { 240 compatible = "qcom,rpm-pm6125-regulators"; 241 242 vdd-s1-supply = <&vph_pwr>; 243 vdd-s2-supply = <&vph_pwr>; 244 vdd-s3-supply = <&vph_pwr>; 245 vdd-s4-supply = <&vph_pwr>; 246 vdd-s5-supply = <&vph_pwr>; 247 vdd-s6-supply = <&vph_pwr>; 248 vdd-s7-supply = <&vph_pwr>; 249 vdd-s8-supply = <&vph_pwr>; 250 vdd-s9-supply = <&vph_pwr>; 251 vdd-s10-supply = <&vph_pwr>; 252 253 vdd-l1-l7-l17-l18-supply = <&vreg_s6a_1p352>; 254 vdd-l2-l3-l4-supply = <&vreg_s6a_1p352>; 255 vdd-l5-l15-l19-l20-l21-l22-supply = <&vph_pwr>; 256 vdd-l6-l8-supply = <&vreg_s5a_0p848>; 257 vdd-l9-l11-supply = <&vreg_s7a_2p04>; 258 vdd-l10-l13-l14-supply = <&vreg_s7a_2p04>; 259 vdd-l12-l16-supply = <&vreg_s7a_2p04>; 260 vdd-l23-l24-supply = <&vph_pwr>; 261 262 vreg_s5a_0p848: s5 { 263 regulator-min-microvolt = <920000>; 264 regulator-max-microvolt = <1128000>; 265 }; 266 267 vreg_s6a_1p352: s6 { 268 regulator-min-microvolt = <304000>; 269 regulator-max-microvolt = <1456000>; 270 }; 271 272 vreg_s7a_2p04: s7 { 273 regulator-min-microvolt = <1280000>; 274 regulator-max-microvolt = <2080000>; 275 }; 276 277 vreg_l1a_1p0: l1 { 278 regulator-min-microvolt = <952000>; 279 regulator-max-microvolt = <1152000>; 280 }; 281 282 vreg_l4a_0p9: l4 { 283 regulator-min-microvolt = <488000>; 284 regulator-max-microvolt = <1000000>; 285 }; 286 287 vreg_l5a_2p96: l5 { 288 regulator-min-microvolt = <1648000>; 289 regulator-max-microvolt = <3056000>; 290 regulator-allow-set-load; 291 }; 292 293 vreg_l6a_0p6: l6 { 294 regulator-min-microvolt = <576000>; 295 regulator-max-microvolt = <656000>; 296 }; 297 298 vreg_l7a_1p256: l7 { 299 regulator-min-microvolt = <1200000>; 300 regulator-max-microvolt = <1304000>; 301 }; 302 303 vreg_l8a_0p664: l8 { 304 regulator-min-microvolt = <400000>; 305 regulator-max-microvolt = <728000>; 306 }; 307 308 vreg_l9a_1p8: l9 { 309 regulator-min-microvolt = <1800000>; 310 regulator-max-microvolt = <2000000>; 311 }; 312 313 vreg_l10a_1p8: l10 { 314 regulator-min-microvolt = <1704000>; 315 regulator-max-microvolt = <1904000>; 316 }; 317 318 vreg_l11a_1p8: l11 { 319 regulator-min-microvolt = <1704000>; 320 regulator-max-microvolt = <1952000>; 321 regulator-allow-set-load; 322 }; 323 324 vreg_l12a_1p8: l12 { 325 regulator-min-microvolt = <1624000>; 326 regulator-max-microvolt = <1984000>; 327 }; 328 329 vreg_l13a_1p8: l13 { 330 regulator-min-microvolt = <1504000>; 331 regulator-max-microvolt = <1952000>; 332 }; 333 334 vreg_l14a_1p8: l14 { 335 regulator-min-microvolt = <1704000>; 336 regulator-max-microvolt = <1904000>; 337 }; 338 339 vreg_l15a_3p128: l15 { 340 regulator-min-microvolt = <2920000>; 341 regulator-max-microvolt = <3232000>; 342 }; 343 344 vreg_l16a_1p3: l16 { 345 regulator-min-microvolt = <1704000>; 346 regulator-max-microvolt = <1904000>; 347 }; 348 349 vreg_l17a_1p3: l17 { 350 regulator-min-microvolt = <1152000>; 351 regulator-max-microvolt = <1384000>; 352 }; 353 354 vreg_l18a_1p232: l18 { 355 regulator-min-microvolt = <1104000>; 356 regulator-max-microvolt = <1312000>; 357 }; 358 359 vreg_l19a_1p8: l19 { 360 regulator-min-microvolt = <1624000>; 361 regulator-max-microvolt = <3304000>; 362 }; 363 364 vreg_l20a_1p8: l20 { 365 regulator-min-microvolt = <1624000>; 366 regulator-max-microvolt = <3304000>; 367 }; 368 369 vreg_l21a_2p704: l21 { 370 regulator-min-microvolt = <2400000>; 371 regulator-max-microvolt = <3600000>; 372 }; 373 374 vreg_l22a_2p96: l22 { 375 regulator-min-microvolt = <2952000>; 376 regulator-max-microvolt = <3304000>; 377 regulator-system-load = <100000>; 378 regulator-allow-set-load; 379 }; 380 381 vreg_l23a_3p3: l23 { 382 regulator-min-microvolt = <3200000>; 383 regulator-max-microvolt = <3400000>; 384 }; 385 386 vreg_l24a_2p96: l24 { 387 regulator-min-microvolt = <2704000>; 388 regulator-max-microvolt = <3600000>; 389 regulator-system-load = <100000>; 390 regulator-allow-set-load; 391 }; 392 }; 393}; 394 395&sdhc_1 { 396 pinctrl-0 = <&sdc1_state_on>; 397 pinctrl-1 = <&sdc1_state_off>; 398 pinctrl-names = "default", "sleep"; 399 400 vmmc-supply = <&vreg_l24a_2p96>; 401 vqmmc-supply = <&vreg_l11a_1p8>; 402 no-sdio; 403 non-removable; 404 405 status = "okay"; 406}; 407 408&sdhc_2 { 409 cd-gpios = <&tlmm 88 GPIO_ACTIVE_LOW>; /* card detect gpio */ 410 411 pinctrl-0 = <&sdc2_state_on &sdc2_card_det_n>; 412 pinctrl-1 = <&sdc2_state_off &sdc2_card_det_n>; 413 pinctrl-names = "default", "sleep"; 414 415 vmmc-supply = <&vreg_l22a_2p96>; 416 vqmmc-supply = <&vreg_l5a_2p96>; 417 no-sdio; 418 419 status = "okay"; 420}; 421 422&spi5 { 423 status = "okay"; 424 425 can@0 { 426 compatible = "microchip,mcp2518fd"; 427 reg = <0>; 428 interrupts-extended = <&tlmm 39 IRQ_TYPE_LEVEL_LOW>; 429 clocks = <&clk40M>; 430 spi-max-frequency = <10000000>; 431 vdd-supply = <&vdc_5v>; 432 xceiver-supply = <&vdc_5v>; 433 }; 434}; 435 436&sleep_clk { 437 clock-frequency = <32000>; 438}; 439 440&tlmm { 441 gpio-reserved-ranges = <43 2>, <49 1>, <54 1>, 442 <56 3>, <61 2>, <64 1>, 443 <68 1>, <72 8>, <96 1>; 444 445 lt9611_rst_pin: lt9611-rst-state { 446 pins = "gpio41"; 447 function = "gpio"; 448 input-disable; 449 output-high; 450 }; 451 452 lt9611_irq_pin: lt9611-irq-state { 453 pins = "gpio46"; 454 function = "gpio"; 455 bias-disable; 456 }; 457 458 sdc2_card_det_n: sd-card-det-n-state { 459 pins = "gpio88"; 460 function = "gpio"; 461 drive-strength = <2>; 462 bias-pull-up; 463 }; 464}; 465 466&uart4 { 467 status = "okay"; 468}; 469 470&usb { 471 status = "okay"; 472}; 473 474&usb_dwc3 { 475 maximum-speed = "super-speed"; 476 dr_mode = "peripheral"; 477}; 478 479&usb_hsphy { 480 vdd-supply = <&vreg_l4a_0p9>; 481 vdda-pll-supply = <&vreg_l12a_1p8>; 482 vdda-phy-dpdm-supply = <&vreg_l15a_3p128>; 483 484 status = "okay"; 485}; 486 487&usb_qmpphy { 488 vdda-phy-supply = <&vreg_l4a_0p9>; 489 vdda-pll-supply = <&vreg_l12a_1p8>; 490 491 status = "okay"; 492}; 493 494&xo_board { 495 clock-frequency = <19200000>; 496}; 497