1// SPDX-License-Identifier: GPL-2.0 2#include <dt-bindings/gpio/gpio.h> 3#include <dt-bindings/input/input.h> 4#include <dt-bindings/leds/common.h> 5#include <dt-bindings/pinctrl/qcom,pmic-gpio.h> 6#include "qcom-msm8974.dtsi" 7#include "pm8841.dtsi" 8#include "pm8941.dtsi" 9 10/delete-node/ &mpss_region; 11 12/ { 13 model = "Qualcomm APQ8074 Dragonboard"; 14 compatible = "qcom,apq8074-dragonboard", "qcom,apq8074"; 15 16 aliases { 17 serial0 = &blsp1_uart2; 18 usid0 = &pm8941_0; 19 usid4 = &pm8841_0; 20 }; 21 22 chosen { 23 stdout-path = "serial0:115200n8"; 24 }; 25 26 gpio-keys { 27 compatible = "gpio-keys"; 28 autorepeat; 29 30 pinctrl-0 = <&msm_keys_default>; 31 pinctrl-names = "default"; 32 33 button-volup { 34 label = "Volume Up"; 35 linux,code = <KEY_VOLUMEUP>; 36 gpios = <&pm8941_gpios 5 GPIO_ACTIVE_LOW>; 37 }; 38 39 button-general { 40 label = "General"; 41 linux,code = <KEY_PROG1>; 42 gpios = <&pm8941_gpios 23 GPIO_ACTIVE_LOW>; 43 }; 44 }; 45 46 reserved-memory { 47 mpss_region: mpss@ac00000 { 48 reg = <0x0ac00000 0x2500000>; 49 no-map; 50 }; 51 }; 52 53 vreg_boost: vreg-boost { 54 compatible = "regulator-fixed"; 55 56 regulator-name = "vreg-boost"; 57 regulator-min-microvolt = <3150000>; 58 regulator-max-microvolt = <3150000>; 59 60 regulator-always-on; 61 regulator-boot-on; 62 63 gpio = <&pm8941_gpios 21 GPIO_ACTIVE_HIGH>; 64 enable-active-high; 65 66 pinctrl-names = "default"; 67 pinctrl-0 = <&boost_bypass_n_pin>; 68 }; 69 70 vreg_vph_pwr: vreg-vph-pwr { 71 compatible = "regulator-fixed"; 72 regulator-name = "vph-pwr"; 73 74 regulator-min-microvolt = <3600000>; 75 regulator-max-microvolt = <3600000>; 76 77 regulator-always-on; 78 }; 79}; 80 81&blsp1_uart2 { 82 status = "okay"; 83}; 84 85&blsp2_dma { 86 qcom,controlled-remotely; 87}; 88 89&blsp2_i2c5 { 90 status = "okay"; 91 clock-frequency = <200000>; 92 93 eeprom: eeprom@52 { 94 compatible = "atmel,24c128"; 95 reg = <0x52>; 96 pagesize = <32>; 97 read-only; 98 }; 99}; 100 101&gpu { 102 status = "okay"; 103}; 104 105&mdss { 106 status = "okay"; 107}; 108 109&mdss_dsi0 { 110 vdda-supply = <&pm8941_l2>; 111 vdd-supply = <&pm8941_l22>; 112 vddio-supply = <&pm8941_l12>; 113 114 status = "okay"; 115 116 panel: panel@0 { 117 compatible = "sharp,ls043t1le01-qhd"; 118 reg = <0>; 119 120 avdd-supply = <&pm8941_l22>; 121 backlight = <&pm8941_wled>; 122 reset-gpios = <&pm8941_gpios 19 GPIO_ACTIVE_HIGH>; 123 124 port { 125 panel_in: endpoint { 126 remote-endpoint = <&mdss_dsi0_out>; 127 }; 128 }; 129 }; 130}; 131 132&mdss_dsi0_out { 133 remote-endpoint = <&panel_in>; 134 data-lanes = <0 1 2 3>; 135}; 136 137&mdss_dsi0_phy { 138 status = "okay"; 139 140 vddio-supply = <&pm8941_l12>; 141}; 142 143&gpu { 144 status = "okay"; 145}; 146 147&mdss { 148 status = "okay"; 149}; 150 151&pm8941_gpios { 152 msm_keys_default: pm8941-gpio-keys-state { 153 pins = "gpio5", "gpio23"; 154 function = "normal"; 155 input-enable; 156 drive-push-pull; 157 bias-pull-up; 158 qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>; 159 power-source = <PM8941_GPIO_S3>; /* 1.8V */ 160 }; 161}; 162 163&pm8941_lpg { 164 qcom,power-source = <1>; 165 status = "okay"; 166 167 led@5 { 168 reg = <5>; 169 color = <LED_COLOR_ID_BLUE>; 170 function = LED_FUNCTION_INDICATOR; 171 }; 172 173 led@6 { 174 reg = <6>; 175 color = <LED_COLOR_ID_GREEN>; 176 function = LED_FUNCTION_INDICATOR; 177 }; 178 179 led@7 { 180 reg = <7>; 181 color = <LED_COLOR_ID_RED>; 182 function = LED_FUNCTION_INDICATOR; 183 }; 184}; 185 186&pm8941_resin { 187 linux,code = <KEY_VOLUMEDOWN>; 188 status = "okay"; 189}; 190 191&pm8941_wled { 192 qcom,cs-out; 193 qcom,switching-freq = <3200>; 194 qcom,ovp = <32>; 195 qcom,num-strings = <1>; 196 197 status = "okay"; 198}; 199 200&remoteproc_adsp { 201 cx-supply = <&pm8841_s2>; 202 203 firmware-name = "qcom/apq8074/adsp.mbn"; 204 205 status = "okay"; 206}; 207 208&remoteproc_mss { 209 cx-supply = <&pm8841_s2>; 210 mss-supply = <&pm8841_s3>; 211 mx-supply = <&pm8841_s1>; 212 pll-supply = <&pm8941_l12>; 213 214 firmware-name = "qcom/apq8074/mba.mbn", "qcom/apq8074/modem.mbn"; 215 216 status = "okay"; 217}; 218 219&rpm_requests { 220 regulators-0 { 221 compatible = "qcom,rpm-pm8841-regulators"; 222 223 pm8841_s1: s1 { 224 regulator-min-microvolt = <675000>; 225 regulator-max-microvolt = <1050000>; 226 }; 227 228 pm8841_s2: s2 { 229 regulator-min-microvolt = <500000>; 230 regulator-max-microvolt = <1050000>; 231 }; 232 233 pm8841_s3: s3 { 234 regulator-min-microvolt = <500000>; 235 regulator-max-microvolt = <1050000>; 236 }; 237 238 pm8841_s4: s4 { 239 regulator-min-microvolt = <500000>; 240 regulator-max-microvolt = <1050000>; 241 }; 242 }; 243 244 regulators-1 { 245 compatible = "qcom,rpm-pm8941-regulators"; 246 247 vdd_l1_l3-supply = <&pm8941_s1>; 248 vdd_l2_lvs1_2_3-supply = <&pm8941_s3>; 249 vdd_l4_l11-supply = <&pm8941_s1>; 250 vdd_l5_l7-supply = <&pm8941_s2>; 251 vdd_l6_l12_l14_l15-supply = <&pm8941_s2>; 252 vin_5vs-supply = <&pm8941_5v>; 253 254 pm8941_s1: s1 { 255 regulator-min-microvolt = <1300000>; 256 regulator-max-microvolt = <1300000>; 257 regulator-always-on; 258 regulator-boot-on; 259 }; 260 261 pm8941_s2: s2 { 262 regulator-min-microvolt = <2150000>; 263 regulator-max-microvolt = <2150000>; 264 regulator-boot-on; 265 }; 266 267 pm8941_s3: s3 { 268 regulator-min-microvolt = <1800000>; 269 regulator-max-microvolt = <1800000>; 270 regulator-always-on; 271 regulator-boot-on; 272 }; 273 274 pm8941_l1: l1 { 275 regulator-min-microvolt = <1225000>; 276 regulator-max-microvolt = <1225000>; 277 regulator-always-on; 278 regulator-boot-on; 279 }; 280 281 pm8941_l2: l2 { 282 regulator-min-microvolt = <1200000>; 283 regulator-max-microvolt = <1200000>; 284 }; 285 286 pm8941_l3: l3 { 287 regulator-min-microvolt = <1225000>; 288 regulator-max-microvolt = <1225000>; 289 }; 290 291 pm8941_l4: l4 { 292 regulator-min-microvolt = <1225000>; 293 regulator-max-microvolt = <1225000>; 294 }; 295 296 pm8941_l5: l5 { 297 regulator-min-microvolt = <1800000>; 298 regulator-max-microvolt = <1800000>; 299 }; 300 301 pm8941_l6: l6 { 302 regulator-min-microvolt = <1800000>; 303 regulator-max-microvolt = <1800000>; 304 regulator-boot-on; 305 }; 306 307 pm8941_l7: l7 { 308 regulator-min-microvolt = <1800000>; 309 regulator-max-microvolt = <1800000>; 310 regulator-boot-on; 311 }; 312 313 pm8941_l8: l8 { 314 regulator-min-microvolt = <1800000>; 315 regulator-max-microvolt = <1800000>; 316 }; 317 318 pm8941_l9: l9 { 319 regulator-min-microvolt = <1800000>; 320 regulator-max-microvolt = <2950000>; 321 }; 322 323 pm8941_l10: l10 { 324 regulator-min-microvolt = <1800000>; 325 regulator-max-microvolt = <1800000>; 326 regulator-always-on; 327 }; 328 329 pm8941_l11: l11 { 330 regulator-min-microvolt = <1300000>; 331 regulator-max-microvolt = <1300000>; 332 }; 333 334 pm8941_l12: l12 { 335 regulator-min-microvolt = <1800000>; 336 regulator-max-microvolt = <1800000>; 337 regulator-always-on; 338 regulator-boot-on; 339 }; 340 341 pm8941_l13: l13 { 342 regulator-min-microvolt = <1800000>; 343 regulator-max-microvolt = <2950000>; 344 regulator-boot-on; 345 }; 346 347 pm8941_l14: l14 { 348 regulator-min-microvolt = <1800000>; 349 regulator-max-microvolt = <1800000>; 350 }; 351 352 pm8941_l15: l15 { 353 regulator-min-microvolt = <2050000>; 354 regulator-max-microvolt = <2050000>; 355 }; 356 357 pm8941_l16: l16 { 358 regulator-min-microvolt = <2700000>; 359 regulator-max-microvolt = <2700000>; 360 }; 361 362 pm8941_l17: l17 { 363 regulator-min-microvolt = <2700000>; 364 regulator-max-microvolt = <2700000>; 365 }; 366 367 pm8941_l18: l18 { 368 regulator-min-microvolt = <2850000>; 369 regulator-max-microvolt = <2850000>; 370 }; 371 372 pm8941_l19: l19 { 373 regulator-min-microvolt = <3300000>; 374 regulator-max-microvolt = <3300000>; 375 regulator-always-on; 376 }; 377 378 pm8941_l20: l20 { 379 regulator-min-microvolt = <2950000>; 380 regulator-max-microvolt = <2950000>; 381 regulator-system-load = <200000>; 382 regulator-allow-set-load; 383 regulator-boot-on; 384 }; 385 386 pm8941_l21: l21 { 387 regulator-min-microvolt = <2950000>; 388 regulator-max-microvolt = <2950000>; 389 regulator-boot-on; 390 }; 391 392 pm8941_l22: l22 { 393 regulator-min-microvolt = <3000000>; 394 regulator-max-microvolt = <3000000>; 395 }; 396 397 pm8941_l23: l23 { 398 regulator-min-microvolt = <3000000>; 399 regulator-max-microvolt = <3000000>; 400 }; 401 402 pm8941_l24: l24 { 403 regulator-min-microvolt = <3075000>; 404 regulator-max-microvolt = <3075000>; 405 regulator-boot-on; 406 }; 407 }; 408}; 409 410&sdhc_1 { 411 status = "okay"; 412 413 vmmc-supply = <&pm8941_l20>; 414 vqmmc-supply = <&pm8941_s3>; 415 416 pinctrl-names = "default", "sleep"; 417 pinctrl-0 = <&sdc1_on>; 418 pinctrl-1 = <&sdc1_off>; 419}; 420 421&sdhc_2 { 422 status = "okay"; 423 424 cd-gpios = <&tlmm 62 GPIO_ACTIVE_LOW>; 425 vmmc-supply = <&pm8941_l21>; 426 vqmmc-supply = <&pm8941_l13>; 427 428 pinctrl-names = "default", "sleep"; 429 pinctrl-0 = <&sdc2_on>; 430 pinctrl-1 = <&sdc2_off>; 431}; 432 433&smbb { 434 status = "okay"; 435}; 436 437&tlmm { 438 sdc1_on: sdc1-on-state { 439 clk-pins { 440 pins = "sdc1_clk"; 441 drive-strength = <16>; 442 bias-disable; 443 }; 444 445 cmd-data-pins { 446 pins = "sdc1_cmd", "sdc1_data"; 447 drive-strength = <10>; 448 bias-pull-up; 449 }; 450 }; 451 452 sdc2_on: sdc2-on-state { 453 clk-pins { 454 pins = "sdc2_clk"; 455 drive-strength = <10>; 456 bias-disable; 457 }; 458 459 cmd-data-pins { 460 pins = "sdc2_cmd", "sdc2_data"; 461 drive-strength = <6>; 462 bias-pull-up; 463 }; 464 465 cd-pins { 466 pins = "gpio62"; 467 function = "gpio"; 468 drive-strength = <2>; 469 bias-disable; 470 }; 471 }; 472}; 473 474&usb { 475 status = "okay"; 476 477 phys = <&usb_hs2_phy>; 478 phy-select = <&tcsr 0xb000 1>; 479 extcon = <&smbb>, <&usb_id>; 480 vbus-supply = <&chg_otg>; 481 hnp-disable; 482 srp-disable; 483 adp-disable; 484}; 485 486&usb_hs2_phy { 487 status = "okay"; 488 v3p3-supply = <&pm8941_l24>; 489 v1p8-supply = <&pm8941_l6>; 490 extcon = <&smbb>; 491 qcom,init-seq = /bits/ 8 <0x1 0x63>; 492}; 493