1// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) 2/* 3 * Copyright (c) 2023, Linaro Ltd 4 */ 5 6/dts-v1/; 7 8#include "qcm2290.dtsi" 9#include "pm2250.dtsi" 10 11/ { 12 model = "Qualcomm Technologies, Inc. Robotics RB1"; 13 compatible = "qcom,qrb2210-rb1", "qcom,qrb2210", "qcom,qcm2290"; 14 15 aliases { 16 serial0 = &uart4; 17 sdhc1 = &sdhc_1; 18 sdhc2 = &sdhc_2; 19 }; 20 21 chosen { 22 stdout-path = "serial0:115200n8"; 23 }; 24 25 gpio-keys { 26 compatible = "gpio-keys"; 27 label = "gpio-keys"; 28 29 pinctrl-0 = <&key_volp_n>; 30 pinctrl-names = "default"; 31 32 key-volume-up { 33 label = "Volume Up"; 34 linux,code = <KEY_VOLUMEUP>; 35 gpios = <&tlmm 96 GPIO_ACTIVE_LOW>; 36 debounce-interval = <15>; 37 linux,can-disable; 38 wakeup-source; 39 }; 40 }; 41 42 vreg_hdmi_out_1p2: regulator-hdmi-out-1p2 { 43 compatible = "regulator-fixed"; 44 regulator-name = "VREG_HDMI_OUT_1P2"; 45 regulator-min-microvolt = <1200000>; 46 regulator-max-microvolt = <1200000>; 47 vin-supply = <&vdc_1v2>; 48 regulator-always-on; 49 regulator-boot-on; 50 }; 51 52 lt9611_3v3: regulator-lt9611-3v3 { 53 compatible = "regulator-fixed"; 54 regulator-name = "LT9611_3V3"; 55 regulator-min-microvolt = <3300000>; 56 regulator-max-microvolt = <3300000>; 57 vin-supply = <&vdc_3v3>; 58 regulator-always-on; 59 regulator-boot-on; 60 }; 61 62 /* Main barrel jack input */ 63 vdc_12v: regulator-vdc-12v { 64 compatible = "regulator-fixed"; 65 regulator-name = "DC_12V"; 66 regulator-min-microvolt = <12000000>; 67 regulator-max-microvolt = <12000000>; 68 regulator-always-on; 69 regulator-boot-on; 70 }; 71 72 /* 1.2V supply stepped down from the barrel jack input */ 73 vdc_1v2: regulator-vdc-1v2 { 74 compatible = "regulator-fixed"; 75 regulator-name = "VDC_1V2"; 76 regulator-min-microvolt = <1200000>; 77 regulator-max-microvolt = <1200000>; 78 vin-supply = <&vdc_12v>; 79 regulator-always-on; 80 regulator-boot-on; 81 }; 82 83 /* 3.3V supply stepped down from the barrel jack input */ 84 vdc_3v3: regulator-vdc-3v3 { 85 compatible = "regulator-fixed"; 86 regulator-name = "VDC_3V3"; 87 regulator-min-microvolt = <3300000>; 88 regulator-max-microvolt = <3300000>; 89 vin-supply = <&vdc_12v>; 90 regulator-always-on; 91 regulator-boot-on; 92 }; 93 94 /* 5V supply stepped down from the barrel jack input */ 95 vdc_5v: regulator-vdc-5v { 96 compatible = "regulator-fixed"; 97 regulator-name = "VDC_5V"; 98 99 regulator-min-microvolt = <5000000>; 100 regulator-max-microvolt = <5000000>; 101 regulator-always-on; 102 regulator-boot-on; 103 }; 104 105 /* "Battery" voltage for the SoM, stepped down from the barrel jack input */ 106 vdc_vbat_som: regulator-vdc-vbat { 107 compatible = "regulator-fixed"; 108 regulator-name = "VBAT_SOM"; 109 regulator-min-microvolt = <4200000>; 110 regulator-max-microvolt = <4200000>; 111 regulator-always-on; 112 regulator-boot-on; 113 }; 114 115 /* PM2250 charger out, supplied by VBAT */ 116 vph_pwr: regulator-vph-pwr { 117 compatible = "regulator-fixed"; 118 regulator-name = "vph_pwr"; 119 regulator-min-microvolt = <3700000>; 120 regulator-max-microvolt = <3700000>; 121 vin-supply = <&vdc_vbat_som>; 122 123 regulator-always-on; 124 regulator-boot-on; 125 }; 126}; 127 128&pm2250_resin { 129 linux,code = <KEY_VOLUMEDOWN>; 130 status = "okay"; 131}; 132 133&qupv3_id_0 { 134 status = "okay"; 135}; 136 137&rpm_requests { 138 regulators { 139 compatible = "qcom,rpm-pm2250-regulators"; 140 vdd_s3-supply = <&vph_pwr>; 141 vdd_s4-supply = <&vph_pwr>; 142 vdd_l1_l2_l3_l5_l6_l7_l8_l9_l10_l11_l12-supply = <&pm2250_s3>; 143 vdd_l4_l17_l18_l19_l20_l21_l22-supply = <&vph_pwr>; 144 vdd_l13_l14_l15_l16-supply = <&pm2250_s4>; 145 146 /* 147 * S1 - VDD_APC 148 * S2 - VDD_CX 149 */ 150 151 pm2250_s3: s3 { 152 /* 0.4V-1.6625V -> 1.3V (Power tree requirements) */ 153 regulator-min-microvolt = <1352000>; 154 regulator-max-microvolt = <1352000>; 155 regulator-boot-on; 156 }; 157 158 pm2250_s4: s4 { 159 /* 1.2V-2.35V -> 2.05V (Power tree requirements) */ 160 regulator-min-microvolt = <2072000>; 161 regulator-max-microvolt = <2072000>; 162 regulator-boot-on; 163 }; 164 165 /* L1 - VDD_MX */ 166 167 pm2250_l2: l2 { 168 /* LPDDR4X VDD2 */ 169 regulator-min-microvolt = <1136000>; 170 regulator-max-microvolt = <1136000>; 171 regulator-always-on; 172 regulator-boot-on; 173 }; 174 175 pm2250_l3: l3 { 176 /* LPDDR4X VDDQ */ 177 regulator-min-microvolt = <616000>; 178 regulator-max-microvolt = <616000>; 179 regulator-always-on; 180 regulator-boot-on; 181 }; 182 183 pm2250_l4: l4 { 184 /* max = 3.05V -> max = 2.7 to disable 3V signaling (SDHCI2) */ 185 regulator-min-microvolt = <1800000>; 186 regulator-max-microvolt = <2700000>; 187 regulator-allow-set-load; 188 }; 189 190 pm2250_l5: l5 { 191 /* CSI/DSI */ 192 regulator-min-microvolt = <1232000>; 193 regulator-max-microvolt = <1232000>; 194 regulator-allow-set-load; 195 regulator-boot-on; 196 }; 197 198 pm2250_l6: l6 { 199 /* DRAM PLL */ 200 regulator-min-microvolt = <928000>; 201 regulator-max-microvolt = <928000>; 202 regulator-always-on; 203 regulator-boot-on; 204 }; 205 206 pm2250_l7: l7 { 207 /* Wi-Fi CX/MX */ 208 regulator-min-microvolt = <664000>; 209 regulator-max-microvolt = <664000>; 210 }; 211 212 /* 213 * L8 - VDD_LPI_CX 214 * L9 - VDD_LPI_MX 215 */ 216 217 pm2250_l10: l10 { 218 /* Wi-Fi RFA */ 219 regulator-min-microvolt = <1304000>; 220 regulator-max-microvolt = <1304000>; 221 }; 222 223 pm2250_l11: l11 { 224 /* GPS RF1 */ 225 regulator-min-microvolt = <1000000>; 226 regulator-max-microvolt = <1000000>; 227 regulator-boot-on; 228 }; 229 230 pm2250_l12: l12 { 231 /* USB PHYs */ 232 regulator-min-microvolt = <928000>; 233 regulator-max-microvolt = <928000>; 234 regulator-allow-set-load; 235 regulator-boot-on; 236 }; 237 238 pm2250_l13: l13 { 239 /* USB/QFPROM/PLLs */ 240 regulator-min-microvolt = <1800000>; 241 regulator-max-microvolt = <1800000>; 242 regulator-allow-set-load; 243 regulator-boot-on; 244 }; 245 246 pm2250_l14: l14 { 247 /* SDHCI1 VQMMC */ 248 regulator-min-microvolt = <1800000>; 249 regulator-max-microvolt = <1800000>; 250 regulator-allow-set-load; 251 /* Broken hardware, never turn it off! */ 252 regulator-always-on; 253 }; 254 255 pm2250_l15: l15 { 256 /* WCD/DSI/BT VDDIO */ 257 regulator-min-microvolt = <1800000>; 258 regulator-max-microvolt = <1800000>; 259 regulator-allow-set-load; 260 regulator-always-on; 261 regulator-boot-on; 262 }; 263 264 pm2250_l16: l16 { 265 /* GPS RF2 */ 266 regulator-min-microvolt = <1800000>; 267 regulator-max-microvolt = <1800000>; 268 regulator-boot-on; 269 }; 270 271 pm2250_l17: l17 { 272 regulator-min-microvolt = <3000000>; 273 regulator-max-microvolt = <3000000>; 274 }; 275 276 pm2250_l18: l18 { 277 /* VDD_PXn */ 278 regulator-min-microvolt = <1800000>; 279 regulator-max-microvolt = <1800000>; 280 }; 281 282 pm2250_l19: l19 { 283 /* VDD_PXn */ 284 regulator-min-microvolt = <1800000>; 285 regulator-max-microvolt = <1800000>; 286 }; 287 288 pm2250_l20: l20 { 289 /* SDHCI1 VMMC */ 290 regulator-min-microvolt = <2400000>; 291 regulator-max-microvolt = <3600000>; 292 regulator-allow-set-load; 293 }; 294 295 pm2250_l21: l21 { 296 /* SDHCI2 VMMC */ 297 regulator-min-microvolt = <2960000>; 298 regulator-max-microvolt = <3300000>; 299 regulator-allow-set-load; 300 regulator-boot-on; 301 }; 302 303 pm2250_l22: l22 { 304 /* Wi-Fi */ 305 regulator-min-microvolt = <3312000>; 306 regulator-max-microvolt = <3312000>; 307 }; 308 }; 309}; 310 311&sdhc_1 { 312 vmmc-supply = <&pm2250_l20>; 313 vqmmc-supply = <&pm2250_l14>; 314 pinctrl-0 = <&sdc1_state_on>; 315 pinctrl-1 = <&sdc1_state_off>; 316 pinctrl-names = "default", "sleep"; 317 non-removable; 318 supports-cqe; 319 no-sdio; 320 no-sd; 321 status = "okay"; 322}; 323 324&sdhc_2 { 325 vmmc-supply = <&pm2250_l21>; 326 vqmmc-supply = <&pm2250_l4>; 327 cd-gpios = <&tlmm 88 GPIO_ACTIVE_LOW>; 328 pinctrl-0 = <&sdc2_state_on &sd_det_in_on>; 329 pinctrl-1 = <&sdc2_state_off &sd_det_in_off>; 330 pinctrl-names = "default", "sleep"; 331 no-sdio; 332 no-mmc; 333 status = "okay"; 334}; 335 336&tlmm { 337 sd_det_in_on: sd-det-in-on-state { 338 pins = "gpio88"; 339 function = "gpio"; 340 drive-strength = <2>; 341 bias-pull-up; 342 }; 343 344 sd_det_in_off: sd-det-in-off-state { 345 pins = "gpio88"; 346 function = "gpio"; 347 drive-strength = <2>; 348 bias-disable; 349 }; 350 351 key_volp_n: key-volp-n-state { 352 pins = "gpio96"; 353 function = "gpio"; 354 bias-pull-up; 355 output-disable; 356 }; 357}; 358 359/* UART connected to the Micro-USB port via a FTDI chip */ 360&uart4 { 361 compatible = "qcom,geni-debug-uart"; 362 status = "okay"; 363}; 364 365&usb { 366 status = "okay"; 367}; 368 369&usb_qmpphy { 370 vdda-phy-supply = <&pm2250_l12>; 371 vdda-pll-supply = <&pm2250_l13>; 372 status = "okay"; 373}; 374 375&usb_dwc3 { 376 dr_mode = "host"; 377}; 378 379&usb_hsphy { 380 vdd-supply = <&pm2250_l12>; 381 vdda-pll-supply = <&pm2250_l13>; 382 vdda-phy-dpdm-supply = <&pm2250_l21>; 383 status = "okay"; 384}; 385 386&xo_board { 387 clock-frequency = <38400000>; 388}; 389