1// SPDX-License-Identifier: BSD-3-Clause 2/* 3 * sc7280 IDP board device tree source (common between SKU1 and SKU2) 4 * 5 * Copyright (c) 2021, The Linux Foundation. All rights reserved. 6 */ 7 8#include <dt-bindings/iio/qcom,spmi-adc7-pmk8350.h> 9#include <dt-bindings/input/linux-event-codes.h> 10#include "sc7280.dtsi" 11#include "pm7325.dtsi" 12#include "pm8350c.dtsi" 13#include "pmk8350.dtsi" 14 15#include "sc7280-chrome-common.dtsi" 16 17/ { 18 aliases { 19 bluetooth0 = &bluetooth; 20 serial1 = &uart7; 21 }; 22 23 gpio-keys { 24 compatible = "gpio-keys"; 25 label = "gpio-keys"; 26 27 pinctrl-names = "default"; 28 pinctrl-0 = <&key_vol_up_default>; 29 30 volume-up { 31 label = "volume_up"; 32 gpios = <&pm7325_gpios 6 GPIO_ACTIVE_LOW>; 33 linux,input-type = <1>; 34 linux,code = <KEY_VOLUMEUP>; 35 gpio-key,wakeup; 36 debounce-interval = <15>; 37 linux,can-disable; 38 }; 39 }; 40 41 nvme_3v3_regulator: nvme-3v3-regulator { 42 compatible = "regulator-fixed"; 43 regulator-name = "VLDO_3V3"; 44 45 regulator-min-microvolt = <3300000>; 46 regulator-max-microvolt = <3300000>; 47 48 enable-active-high; 49 pinctrl-names = "default"; 50 pinctrl-0 = <&nvme_pwren>; 51 }; 52}; 53 54&apps_rsc { 55 pm7325-regulators { 56 compatible = "qcom,pm7325-rpmh-regulators"; 57 qcom,pmic-id = "b"; 58 59 vreg_s1b_1p8: smps1 { 60 regulator-min-microvolt = <1856000>; 61 regulator-max-microvolt = <2040000>; 62 }; 63 64 vreg_s7b_0p9: smps7 { 65 regulator-min-microvolt = <535000>; 66 regulator-max-microvolt = <1120000>; 67 }; 68 69 vreg_s8b_1p2: smps8 { 70 regulator-min-microvolt = <1256000>; 71 regulator-max-microvolt = <1500000>; 72 }; 73 74 vreg_l1b_0p8: ldo1 { 75 regulator-min-microvolt = <825000>; 76 regulator-max-microvolt = <925000>; 77 }; 78 79 vreg_l2b_3p0: ldo2 { 80 regulator-min-microvolt = <2700000>; 81 regulator-max-microvolt = <3544000>; 82 }; 83 84 vreg_l6b_1p2: ldo6 { 85 regulator-min-microvolt = <1140000>; 86 regulator-max-microvolt = <1260000>; 87 }; 88 89 vreg_l7b_2p9: ldo7 { 90 regulator-min-microvolt = <2960000>; 91 regulator-max-microvolt = <2960000>; 92 }; 93 94 vreg_l8b_0p9: ldo8 { 95 regulator-min-microvolt = <870000>; 96 regulator-max-microvolt = <970000>; 97 }; 98 99 vreg_l9b_1p2: ldo9 { 100 regulator-min-microvolt = <1080000>; 101 regulator-max-microvolt = <1304000>; 102 }; 103 104 vreg_l11b_1p7: ldo11 { 105 regulator-min-microvolt = <1504000>; 106 regulator-max-microvolt = <2000000>; 107 }; 108 109 vreg_l12b_0p8: ldo12 { 110 regulator-min-microvolt = <751000>; 111 regulator-max-microvolt = <824000>; 112 }; 113 114 vreg_l13b_0p8: ldo13 { 115 regulator-min-microvolt = <530000>; 116 regulator-max-microvolt = <824000>; 117 }; 118 119 vreg_l14b_1p2: ldo14 { 120 regulator-min-microvolt = <1080000>; 121 regulator-max-microvolt = <1304000>; 122 }; 123 124 vreg_l15b_0p8: ldo15 { 125 regulator-min-microvolt = <765000>; 126 regulator-max-microvolt = <1020000>; 127 }; 128 129 vreg_l16b_1p2: ldo16 { 130 regulator-min-microvolt = <1100000>; 131 regulator-max-microvolt = <1300000>; 132 }; 133 134 vreg_l17b_1p8: ldo17 { 135 regulator-min-microvolt = <1700000>; 136 regulator-max-microvolt = <1900000>; 137 }; 138 139 vreg_l18b_1p8: ldo18 { 140 regulator-min-microvolt = <1800000>; 141 regulator-max-microvolt = <2000000>; 142 }; 143 144 vreg_l19b_1p8: ldo19 { 145 regulator-min-microvolt = <1800000>; 146 regulator-max-microvolt = <1800000>; 147 }; 148 }; 149 150 pm8350c-regulators { 151 compatible = "qcom,pm8350c-rpmh-regulators"; 152 qcom,pmic-id = "c"; 153 154 vreg_s1c_2p2: smps1 { 155 regulator-min-microvolt = <2190000>; 156 regulator-max-microvolt = <2210000>; 157 }; 158 159 vreg_s9c_1p0: smps9 { 160 regulator-min-microvolt = <1010000>; 161 regulator-max-microvolt = <1170000>; 162 }; 163 164 vreg_l1c_1p8: ldo1 { 165 regulator-min-microvolt = <1800000>; 166 regulator-max-microvolt = <1980000>; 167 }; 168 169 vreg_l2c_1p8: ldo2 { 170 regulator-min-microvolt = <1620000>; 171 regulator-max-microvolt = <1980000>; 172 }; 173 174 vreg_l3c_3p0: ldo3 { 175 regulator-min-microvolt = <2800000>; 176 regulator-max-microvolt = <3540000>; 177 }; 178 179 vreg_l4c_1p8: ldo4 { 180 regulator-min-microvolt = <1620000>; 181 regulator-max-microvolt = <3300000>; 182 }; 183 184 vreg_l5c_1p8: ldo5 { 185 regulator-min-microvolt = <1620000>; 186 regulator-max-microvolt = <3300000>; 187 }; 188 189 vreg_l6c_2p9: ldo6 { 190 regulator-min-microvolt = <1800000>; 191 regulator-max-microvolt = <2950000>; 192 }; 193 194 vreg_l7c_3p0: ldo7 { 195 regulator-min-microvolt = <3000000>; 196 regulator-max-microvolt = <3544000>; 197 }; 198 199 vreg_l8c_1p8: ldo8 { 200 regulator-min-microvolt = <1620000>; 201 regulator-max-microvolt = <2000000>; 202 }; 203 204 vreg_l9c_2p9: ldo9 { 205 regulator-min-microvolt = <2960000>; 206 regulator-max-microvolt = <2960000>; 207 }; 208 209 vreg_l10c_0p8: ldo10 { 210 regulator-min-microvolt = <720000>; 211 regulator-max-microvolt = <1050000>; 212 }; 213 214 vreg_l11c_2p8: ldo11 { 215 regulator-min-microvolt = <2800000>; 216 regulator-max-microvolt = <3544000>; 217 }; 218 219 vreg_l12c_1p8: ldo12 { 220 regulator-min-microvolt = <1650000>; 221 regulator-max-microvolt = <2000000>; 222 }; 223 224 vreg_l13c_3p0: ldo13 { 225 regulator-min-microvolt = <2700000>; 226 regulator-max-microvolt = <3544000>; 227 }; 228 229 vreg_bob: bob { 230 regulator-min-microvolt = <3008000>; 231 regulator-max-microvolt = <3960000>; 232 }; 233 }; 234}; 235 236&gpi_dma0 { 237 status = "okay"; 238}; 239 240&gpi_dma1 { 241 status = "okay"; 242}; 243 244&ipa { 245 status = "okay"; 246 modem-init; 247}; 248 249&pcie1 { 250 status = "okay"; 251 perst-gpio = <&tlmm 2 GPIO_ACTIVE_LOW>; 252 253 vddpe-3v3-supply = <&nvme_3v3_regulator>; 254 255 pinctrl-names = "default"; 256 pinctrl-0 = <&pcie1_reset_n>, <&pcie1_wake_n>; 257}; 258 259&pcie1_phy { 260 status = "okay"; 261 262 vdda-phy-supply = <&vreg_l10c_0p8>; 263 vdda-pll-supply = <&vreg_l6b_1p2>; 264}; 265 266&pmk8350_vadc { 267 pmk8350_die_temp { 268 reg = <PMK8350_ADC7_DIE_TEMP>; 269 label = "pmk8350_die_temp"; 270 qcom,pre-scaling = <1 1>; 271 }; 272}; 273 274&qfprom { 275 vcc-supply = <&vreg_l1c_1p8>; 276}; 277 278&qupv3_id_0 { 279 status = "okay"; 280}; 281 282&qupv3_id_1 { 283 status = "okay"; 284}; 285 286&sdhc_1 { 287 status = "okay"; 288 289 non-removable; 290 no-sd; 291 no-sdio; 292 293 vmmc-supply = <&vreg_l7b_2p9>; 294 vqmmc-supply = <&vreg_l19b_1p8>; 295}; 296 297&sdhc_2 { 298 status = "okay"; 299 300 pinctrl-0 = <&sdc2_clk>, <&sdc2_cmd>, <&sdc2_data>, <&sd_cd>; 301 pinctrl-1 = <&sdc2_clk_sleep>, <&sdc2_cmd_sleep>, <&sdc2_data_sleep>, <&sd_cd>; 302 303 vmmc-supply = <&vreg_l9c_2p9>; 304 vqmmc-supply = <&vreg_l6c_2p9>; 305 306 cd-gpios = <&tlmm 91 GPIO_ACTIVE_LOW>; 307}; 308 309&uart5 { 310 compatible = "qcom,geni-debug-uart"; 311 status = "okay"; 312}; 313 314&usb_1 { 315 status = "okay"; 316}; 317 318&usb_1_dwc3 { 319 dr_mode = "host"; 320}; 321 322&usb_1_hsphy { 323 status = "okay"; 324 325 vdda-pll-supply = <&vreg_l10c_0p8>; 326 vdda33-supply = <&vreg_l2b_3p0>; 327 vdda18-supply = <&vreg_l1c_1p8>; 328}; 329 330&usb_1_qmpphy { 331 status = "okay"; 332 333 vdda-phy-supply = <&vreg_l6b_1p2>; 334 vdda-pll-supply = <&vreg_l1b_0p8>; 335}; 336 337&uart7 { 338 status = "okay"; 339 340 /delete-property/interrupts; 341 interrupts-extended = <&intc GIC_SPI 608 IRQ_TYPE_LEVEL_HIGH>, 342 <&tlmm 31 IRQ_TYPE_EDGE_FALLING>; 343 pinctrl-names = "default", "sleep"; 344 pinctrl-1 = <&qup_uart7_sleep_cts>, <&qup_uart7_sleep_rts>, <&qup_uart7_sleep_tx>, <&qup_uart7_sleep_rx>; 345 346 bluetooth: bluetooth { 347 compatible = "qcom,wcn6750-bt"; 348 pinctrl-names = "default"; 349 pinctrl-0 = <&bt_en>, <&sw_ctrl>; 350 enable-gpios = <&tlmm 85 GPIO_ACTIVE_HIGH>; 351 swctrl-gpios = <&tlmm 86 GPIO_ACTIVE_HIGH>; 352 vddaon-supply = <&vreg_s7b_0p9>; 353 vddbtcxmx-supply = <&vreg_s7b_0p9>; 354 vddrfacmn-supply = <&vreg_s7b_0p9>; 355 vddrfa0p8-supply = <&vreg_s7b_0p9>; 356 vddrfa1p7-supply = <&vreg_s1b_1p8>; 357 vddrfa1p2-supply = <&vreg_s8b_1p2>; 358 vddrfa2p2-supply = <&vreg_s1c_2p2>; 359 vddasd-supply = <&vreg_l11c_2p8>; 360 max-speed = <3200000>; 361 }; 362}; 363 364/* PINCTRL - additions to nodes defined in sc7280.dtsi */ 365 366&dp_hot_plug_det { 367 bias-disable; 368}; 369 370&pm7325_gpios { 371 key_vol_up_default: key-vol-up-default { 372 pins = "gpio6"; 373 function = "normal"; 374 input-enable; 375 bias-pull-up; 376 power-source = <0>; 377 qcom,drive-strength = <3>; 378 }; 379}; 380 381&pcie1_clkreq_n { 382 bias-pull-up; 383 drive-strength = <2>; 384}; 385 386&qspi_cs0 { 387 bias-disable; 388}; 389 390&qspi_clk { 391 bias-disable; 392}; 393 394&qspi_data01 { 395 /* High-Z when no transfers; nice to park the lines */ 396 bias-pull-up; 397}; 398 399&qup_uart5_tx { 400 drive-strength = <2>; 401 bias-disable; 402}; 403 404&qup_uart5_rx { 405 drive-strength = <2>; 406 bias-pull-up; 407}; 408 409&qup_uart7_cts { 410 /* 411 * Configure a bias-bus-hold on CTS to lower power 412 * usage when Bluetooth is turned off. Bus hold will 413 * maintain a low power state regardless of whether 414 * the Bluetooth module drives the pin in either 415 * direction or leaves the pin fully unpowered. 416 */ 417 bias-bus-hold; 418}; 419 420&qup_uart7_rts { 421 /* We'll drive RTS, so no pull */ 422 drive-strength = <2>; 423 bias-disable; 424}; 425 426&qup_uart7_tx { 427 /* We'll drive TX, so no pull */ 428 drive-strength = <2>; 429 bias-disable; 430}; 431 432&qup_uart7_rx { 433 /* 434 * Configure a pull-up on RX. This is needed to avoid 435 * garbage data when the TX pin of the Bluetooth module is 436 * in tri-state (module powered off or not driving the 437 * signal yet). 438 */ 439 bias-pull-up; 440}; 441 442&sdc1_clk { 443 bias-disable; 444 drive-strength = <16>; 445}; 446 447&sdc1_cmd { 448 bias-pull-up; 449 drive-strength = <10>; 450}; 451 452&sdc1_data { 453 bias-pull-up; 454 drive-strength = <10>; 455}; 456 457&sdc1_rclk { 458 bias-pull-down; 459}; 460 461&sdc2_clk { 462 bias-disable; 463 drive-strength = <16>; 464}; 465 466&sdc2_cmd { 467 bias-pull-up; 468 drive-strength = <10>; 469}; 470 471&sdc2_data { 472 bias-pull-up; 473 drive-strength = <10>; 474}; 475 476&tlmm { 477 bt_en: bt-en { 478 pins = "gpio85"; 479 function = "gpio"; 480 output-low; 481 bias-disable; 482 }; 483 484 nvme_pwren: nvme-pwren { 485 function = "gpio"; 486 }; 487 488 pcie1_reset_n: pcie1-reset-n { 489 pins = "gpio2"; 490 function = "gpio"; 491 492 drive-strength = <16>; 493 output-low; 494 bias-disable; 495 }; 496 497 pcie1_wake_n: pcie1-wake-n { 498 pins = "gpio3"; 499 function = "gpio"; 500 501 drive-strength = <2>; 502 bias-pull-up; 503 }; 504 505 qup_uart7_sleep_cts: qup-uart7-sleep-cts { 506 pins = "gpio28"; 507 function = "gpio"; 508 /* 509 * Configure a bias-bus-hold on CTS to lower power 510 * usage when Bluetooth is turned off. Bus hold will 511 * maintain a low power state regardless of whether 512 * the Bluetooth module drives the pin in either 513 * direction or leaves the pin fully unpowered. 514 */ 515 bias-bus-hold; 516 }; 517 518 qup_uart7_sleep_rts: qup-uart7-sleep-rts { 519 pins = "gpio29"; 520 function = "gpio"; 521 /* 522 * Configure pull-down on RTS. As RTS is active low 523 * signal, pull it low to indicate the BT SoC that it 524 * can wakeup the system anytime from suspend state by 525 * pulling RX low (by sending wakeup bytes). 526 */ 527 bias-pull-down; 528 }; 529 530 qup_uart7_sleep_tx: qup-uart7-sleep-tx { 531 pins = "gpio30"; 532 function = "gpio"; 533 /* 534 * Configure pull-up on TX when it isn't actively driven 535 * to prevent BT SoC from receiving garbage during sleep. 536 */ 537 bias-pull-up; 538 }; 539 540 qup_uart7_sleep_rx: qup-uart7-sleep-rx { 541 pins = "gpio31"; 542 function = "gpio"; 543 /* 544 * Configure a pull-up on RX. This is needed to avoid 545 * garbage data when the TX pin of the Bluetooth module 546 * is floating which may cause spurious wakeups. 547 */ 548 bias-pull-up; 549 }; 550 551 sd_cd: sd-cd { 552 pins = "gpio91"; 553 function = "gpio"; 554 bias-pull-up; 555 }; 556 557 sw_ctrl: sw-ctrl { 558 pins = "gpio86"; 559 function = "gpio"; 560 bias-pull-down; 561 }; 562}; 563 564&remoteproc_wpss { 565 status = "okay"; 566}; 567 568&wifi { 569 status = "okay"; 570 wifi-firmware { 571 iommus = <&apps_smmu 0x1c02 0x1>; 572 }; 573}; 574