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