1// SPDX-License-Identifier: BSD-3-Clause 2/* 3 * SC7180 IDP board device tree source 4 * 5 * Copyright (c) 2019, The Linux Foundation. All rights reserved. 6 */ 7 8/dts-v1/; 9 10#include <dt-bindings/gpio/gpio.h> 11#include <dt-bindings/regulator/qcom,rpmh-regulator.h> 12#include "sc7180.dtsi" 13#include "pm6150.dtsi" 14#include "pm6150l.dtsi" 15 16/ { 17 model = "Qualcomm Technologies, Inc. SC7180 IDP"; 18 compatible = "qcom,sc7180-idp", "qcom,sc7180"; 19 20 aliases { 21 bluetooth0 = &bluetooth; 22 hsuart0 = &uart3; 23 serial0 = &uart8; 24 }; 25 26 chosen { 27 stdout-path = "serial0:115200n8"; 28 }; 29}; 30 31&apps_rsc { 32 pm6150-rpmh-regulators { 33 compatible = "qcom,pm6150-rpmh-regulators"; 34 qcom,pmic-id = "a"; 35 36 vreg_s1a_1p1: smps1 { 37 regulator-min-microvolt = <1128000>; 38 regulator-max-microvolt = <1128000>; 39 }; 40 41 vreg_s4a_1p0: smps4 { 42 regulator-min-microvolt = <824000>; 43 regulator-max-microvolt = <1120000>; 44 }; 45 46 vreg_s5a_2p0: smps5 { 47 regulator-min-microvolt = <1744000>; 48 regulator-max-microvolt = <2040000>; 49 }; 50 51 vreg_l1a_1p2: ldo1 { 52 regulator-min-microvolt = <1178000>; 53 regulator-max-microvolt = <1256000>; 54 regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 55 }; 56 57 vreg_l2a_1p0: ldo2 { 58 regulator-min-microvolt = <944000>; 59 regulator-max-microvolt = <1056000>; 60 regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 61 }; 62 63 vreg_l3a_1p0: ldo3 { 64 regulator-min-microvolt = <968000>; 65 regulator-max-microvolt = <1064000>; 66 regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 67 }; 68 69 vreg_l4a_0p8: ldo4 { 70 regulator-min-microvolt = <824000>; 71 regulator-max-microvolt = <928000>; 72 regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 73 }; 74 75 vreg_l5a_2p7: ldo5 { 76 regulator-min-microvolt = <2496000>; 77 regulator-max-microvolt = <3000000>; 78 regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 79 }; 80 81 vreg_l6a_0p6: ldo6 { 82 regulator-min-microvolt = <568000>; 83 regulator-max-microvolt = <648000>; 84 regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 85 }; 86 87 vreg_l9a_0p6: ldo9 { 88 regulator-min-microvolt = <488000>; 89 regulator-max-microvolt = <800000>; 90 regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 91 }; 92 93 vreg_l10a_1p8: ldo10 { 94 regulator-min-microvolt = <1800000>; 95 regulator-max-microvolt = <1832000>; 96 regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 97 }; 98 99 vreg_l11a_1p8: ldo11 { 100 regulator-min-microvolt = <1696000>; 101 regulator-max-microvolt = <1904000>; 102 regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 103 }; 104 105 vreg_l12a_1p8: ldo12 { 106 regulator-min-microvolt = <1800000>; 107 regulator-max-microvolt = <1800000>; 108 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 109 }; 110 111 vreg_l13a_1p8: ldo13 { 112 regulator-min-microvolt = <1696000>; 113 regulator-max-microvolt = <1904000>; 114 regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 115 }; 116 117 vreg_l14a_1p8: ldo14 { 118 regulator-min-microvolt = <1728000>; 119 regulator-max-microvolt = <1832000>; 120 regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 121 }; 122 123 vreg_l15a_1p8: ldo15 { 124 regulator-min-microvolt = <1696000>; 125 regulator-max-microvolt = <1904000>; 126 regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 127 }; 128 129 vreg_l16a_2p7: ldo16 { 130 regulator-min-microvolt = <2496000>; 131 regulator-max-microvolt = <3304000>; 132 regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 133 }; 134 135 vreg_l17a_3p0: ldo17 { 136 regulator-min-microvolt = <2920000>; 137 regulator-max-microvolt = <3232000>; 138 regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 139 }; 140 141 vreg_l18a_2p8: ldo18 { 142 regulator-min-microvolt = <2496000>; 143 regulator-max-microvolt = <3304000>; 144 regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 145 }; 146 147 vreg_l19a_2p9: ldo19 { 148 regulator-min-microvolt = <2960000>; 149 regulator-max-microvolt = <2960000>; 150 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 151 }; 152 }; 153 154 pm6150l-rpmh-regulators { 155 compatible = "qcom,pm6150l-rpmh-regulators"; 156 qcom,pmic-id = "c"; 157 158 vreg_s8c_1p3: smps8 { 159 regulator-min-microvolt = <1120000>; 160 regulator-max-microvolt = <1408000>; 161 }; 162 163 vreg_l1c_1p8: ldo1 { 164 regulator-min-microvolt = <1616000>; 165 regulator-max-microvolt = <1984000>; 166 regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 167 }; 168 169 vreg_l2c_1p3: ldo2 { 170 regulator-min-microvolt = <1168000>; 171 regulator-max-microvolt = <1304000>; 172 regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 173 }; 174 175 vreg_l3c_1p2: ldo3 { 176 regulator-min-microvolt = <1144000>; 177 regulator-max-microvolt = <1304000>; 178 regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 179 }; 180 181 vreg_l4c_1p8: ldo4 { 182 regulator-min-microvolt = <1648000>; 183 regulator-max-microvolt = <3304000>; 184 regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 185 }; 186 187 vreg_l5c_1p8: ldo5 { 188 regulator-min-microvolt = <1648000>; 189 regulator-max-microvolt = <3304000>; 190 regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 191 }; 192 193 vreg_l6c_2p9: ldo6 { 194 regulator-min-microvolt = <1800000>; 195 regulator-max-microvolt = <2950000>; 196 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 197 }; 198 199 vreg_l7c_3p0: ldo7 { 200 regulator-min-microvolt = <3000000>; 201 regulator-max-microvolt = <3312000>; 202 regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 203 }; 204 205 vreg_l8c_1p8: ldo8 { 206 regulator-min-microvolt = <1800000>; 207 regulator-max-microvolt = <1904000>; 208 regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 209 }; 210 211 vreg_l9c_2p9: ldo9 { 212 regulator-min-microvolt = <2960000>; 213 regulator-max-microvolt = <2960000>; 214 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 215 }; 216 217 vreg_l10c_3p3: ldo10 { 218 regulator-min-microvolt = <3000000>; 219 regulator-max-microvolt = <3400000>; 220 regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 221 }; 222 223 vreg_l11c_3p3: ldo11 { 224 regulator-min-microvolt = <3000000>; 225 regulator-max-microvolt = <3400000>; 226 regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 227 }; 228 229 vreg_bob: bob { 230 regulator-min-microvolt = <3008000>; 231 regulator-max-microvolt = <3960000>; 232 regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>; 233 }; 234 }; 235}; 236 237&qspi { 238 status = "okay"; 239 pinctrl-names = "default"; 240 pinctrl-0 = <&qspi_clk &qspi_cs0 &qspi_data01>; 241 242 flash@0 { 243 compatible = "jedec,spi-nor"; 244 reg = <0>; 245 spi-max-frequency = <25000000>; 246 spi-tx-bus-width = <2>; 247 spi-rx-bus-width = <2>; 248 }; 249}; 250 251&qupv3_id_0 { 252 status = "okay"; 253}; 254 255&qupv3_id_1 { 256 status = "okay"; 257}; 258 259&sdhc_1 { 260 status = "okay"; 261 262 pinctrl-names = "default", "sleep"; 263 pinctrl-0 = <&sdc1_on>; 264 pinctrl-1 = <&sdc1_off>; 265 vmmc-supply = <&vreg_l19a_2p9>; 266 vqmmc-supply = <&vreg_l12a_1p8>; 267}; 268 269&sdhc_2 { 270 status = "okay"; 271 272 pinctrl-names = "default","sleep"; 273 pinctrl-0 = <&sdc2_on>; 274 pinctrl-1 = <&sdc2_off>; 275 vmmc-supply = <&vreg_l9c_2p9>; 276 vqmmc-supply = <&vreg_l6c_2p9>; 277 278 cd-gpios = <&tlmm 69 GPIO_ACTIVE_LOW>; 279}; 280 281&uart3 { 282 status = "okay"; 283 284 bluetooth: wcn3990-bt { 285 compatible = "qcom,wcn3990-bt"; 286 vddio-supply = <&vreg_l10a_1p8>; 287 vddxo-supply = <&vreg_l1c_1p8>; 288 vddrf-supply = <&vreg_l2c_1p3>; 289 vddch0-supply = <&vreg_l10c_3p3>; 290 max-speed = <3200000>; 291 clocks = <&rpmhcc RPMH_RF_CLK2>; 292 }; 293}; 294 295&uart8 { 296 status = "okay"; 297}; 298 299&usb_1 { 300 status = "okay"; 301}; 302 303&usb_1_dwc3 { 304 dr_mode = "host"; 305}; 306 307&usb_1_hsphy { 308 status = "okay"; 309 vdd-supply = <&vreg_l4a_0p8>; 310 vdda-pll-supply = <&vreg_l11a_1p8>; 311 vdda-phy-dpdm-supply = <&vreg_l17a_3p0>; 312 qcom,imp-res-offset-value = <8>; 313 qcom,hstx-trim-value = <QUSB2_V2_HSTX_TRIM_21_6_MA>; 314 qcom,preemphasis-level = <QUSB2_V2_PREEMPHASIS_5_PERCENT>; 315 qcom,preemphasis-width = <QUSB2_V2_PREEMPHASIS_WIDTH_HALF_BIT>; 316}; 317 318&usb_1_qmpphy { 319 status = "okay"; 320 vdda-phy-supply = <&vreg_l3c_1p2>; 321 vdda-pll-supply = <&vreg_l4a_0p8>; 322}; 323 324&venus { 325 video-firmware { 326 iommus = <&apps_smmu 0x0c42 0x0>; 327 }; 328}; 329 330/* PINCTRL - additions to nodes defined in sc7180.dtsi */ 331 332&qspi_clk { 333 pinconf { 334 pins = "gpio63"; 335 bias-disable; 336 }; 337}; 338 339&qspi_cs0 { 340 pinconf { 341 pins = "gpio68"; 342 bias-disable; 343 }; 344}; 345 346&qspi_data01 { 347 pinconf { 348 pins = "gpio64", "gpio65"; 349 350 /* High-Z when no transfers; nice to park the lines */ 351 bias-pull-up; 352 }; 353}; 354 355&qup_i2c2_default { 356 pinconf { 357 pins = "gpio15", "gpio16"; 358 drive-strength = <2>; 359 360 /* Has external pullup */ 361 bias-disable; 362 }; 363}; 364 365&qup_i2c4_default { 366 pinconf { 367 pins = "gpio115", "gpio116"; 368 drive-strength = <2>; 369 370 /* Has external pullup */ 371 bias-disable; 372 }; 373}; 374 375&qup_i2c7_default { 376 pinconf { 377 pins = "gpio6", "gpio7"; 378 drive-strength = <2>; 379 380 /* Has external pullup */ 381 bias-disable; 382 }; 383}; 384 385&qup_i2c9_default { 386 pinconf { 387 pins = "gpio46", "gpio47"; 388 drive-strength = <2>; 389 390 /* Has external pullup */ 391 bias-disable; 392 }; 393}; 394 395&qup_uart3_default { 396 pinconf-cts { 397 /* 398 * Configure a pull-down on 38 (CTS) to match the pull of 399 * the Bluetooth module. 400 */ 401 pins = "gpio38"; 402 bias-pull-down; 403 output-high; 404 }; 405 406 pinconf-rts { 407 /* We'll drive 39 (RTS), so no pull */ 408 pins = "gpio39"; 409 drive-strength = <2>; 410 bias-disable; 411 }; 412 413 pinconf-tx { 414 /* We'll drive 40 (TX), so no pull */ 415 pins = "gpio40"; 416 drive-strength = <2>; 417 bias-disable; 418 output-high; 419 }; 420 421 pinconf-rx { 422 /* 423 * Configure a pull-up on 41 (RX). This is needed to avoid 424 * garbage data when the TX pin of the Bluetooth module is 425 * in tri-state (module powered off or not driving the 426 * signal yet). 427 */ 428 pins = "gpio41"; 429 bias-pull-up; 430 }; 431}; 432 433&qup_uart8_default { 434 pinconf-tx { 435 pins = "gpio44"; 436 drive-strength = <2>; 437 bias-disable; 438 }; 439 440 pinconf-rx { 441 pins = "gpio45"; 442 drive-strength = <2>; 443 bias-pull-up; 444 }; 445}; 446 447&qup_spi0_default { 448 pinconf { 449 pins = "gpio34", "gpio35", "gpio36", "gpio37"; 450 drive-strength = <2>; 451 bias-disable; 452 }; 453}; 454 455&qup_spi6_default { 456 pinconf { 457 pins = "gpio59", "gpio60", "gpio61", "gpio62"; 458 drive-strength = <2>; 459 bias-disable; 460 }; 461}; 462 463&qup_spi10_default { 464 pinconf { 465 pins = "gpio86", "gpio87", "gpio88", "gpio89"; 466 drive-strength = <2>; 467 bias-disable; 468 }; 469}; 470 471