1*0e8011faSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-only 2*0e8011faSEmmanuel Vadot#include "qcom-msm8974pro.dtsi" 3*0e8011faSEmmanuel Vadot#include "pm8841.dtsi" 4*0e8011faSEmmanuel Vadot#include "pm8941.dtsi" 5*0e8011faSEmmanuel Vadot#include <dt-bindings/input/input.h> 6*0e8011faSEmmanuel Vadot 7*0e8011faSEmmanuel Vadot/ { 8*0e8011faSEmmanuel Vadot model = "HTC One (M8)"; 9*0e8011faSEmmanuel Vadot compatible = "htc,m8", "qcom,msm8974pro", "qcom,msm8974"; 10*0e8011faSEmmanuel Vadot chassis-type = "handset"; 11*0e8011faSEmmanuel Vadot 12*0e8011faSEmmanuel Vadot aliases { 13*0e8011faSEmmanuel Vadot mmc0 = &sdhc_1; 14*0e8011faSEmmanuel Vadot }; 15*0e8011faSEmmanuel Vadot 16*0e8011faSEmmanuel Vadot gpio-keys { 17*0e8011faSEmmanuel Vadot compatible = "gpio-keys"; 18*0e8011faSEmmanuel Vadot 19*0e8011faSEmmanuel Vadot pinctrl-0 = <&gpio_keys_default>; 20*0e8011faSEmmanuel Vadot pinctrl-names = "default"; 21*0e8011faSEmmanuel Vadot 22*0e8011faSEmmanuel Vadot key-volume-down { 23*0e8011faSEmmanuel Vadot label = "volume_down"; 24*0e8011faSEmmanuel Vadot gpios = <&tlmm 27 GPIO_ACTIVE_LOW>; 25*0e8011faSEmmanuel Vadot linux,code = <KEY_VOLUMEDOWN>; 26*0e8011faSEmmanuel Vadot debounce-interval = <20>; 27*0e8011faSEmmanuel Vadot wakeup-source; 28*0e8011faSEmmanuel Vadot }; 29*0e8011faSEmmanuel Vadot 30*0e8011faSEmmanuel Vadot key-volume-up { 31*0e8011faSEmmanuel Vadot label = "volume_up"; 32*0e8011faSEmmanuel Vadot gpios = <&tlmm 28 GPIO_ACTIVE_LOW>; 33*0e8011faSEmmanuel Vadot linux,code = <KEY_VOLUMEUP>; 34*0e8011faSEmmanuel Vadot debounce-interval = <20>; 35*0e8011faSEmmanuel Vadot wakeup-source; 36*0e8011faSEmmanuel Vadot }; 37*0e8011faSEmmanuel Vadot }; 38*0e8011faSEmmanuel Vadot 39*0e8011faSEmmanuel Vadot vreg_boost: vreg-boost { 40*0e8011faSEmmanuel Vadot compatible = "regulator-fixed"; 41*0e8011faSEmmanuel Vadot 42*0e8011faSEmmanuel Vadot regulator-name = "vreg-boost"; 43*0e8011faSEmmanuel Vadot regulator-min-microvolt = <3150000>; 44*0e8011faSEmmanuel Vadot regulator-max-microvolt = <3150000>; 45*0e8011faSEmmanuel Vadot 46*0e8011faSEmmanuel Vadot regulator-always-on; 47*0e8011faSEmmanuel Vadot regulator-boot-on; 48*0e8011faSEmmanuel Vadot 49*0e8011faSEmmanuel Vadot gpio = <&pm8941_gpios 21 GPIO_ACTIVE_HIGH>; 50*0e8011faSEmmanuel Vadot enable-active-high; 51*0e8011faSEmmanuel Vadot 52*0e8011faSEmmanuel Vadot pinctrl-0 = <&boost_bypass_n_pin>; 53*0e8011faSEmmanuel Vadot pinctrl-names = "default"; 54*0e8011faSEmmanuel Vadot }; 55*0e8011faSEmmanuel Vadot 56*0e8011faSEmmanuel Vadot vreg_vph_pwr: vreg-vph-pwr { 57*0e8011faSEmmanuel Vadot compatible = "regulator-fixed"; 58*0e8011faSEmmanuel Vadot regulator-name = "vph-pwr"; 59*0e8011faSEmmanuel Vadot 60*0e8011faSEmmanuel Vadot regulator-min-microvolt = <3600000>; 61*0e8011faSEmmanuel Vadot regulator-max-microvolt = <3600000>; 62*0e8011faSEmmanuel Vadot 63*0e8011faSEmmanuel Vadot regulator-always-on; 64*0e8011faSEmmanuel Vadot }; 65*0e8011faSEmmanuel Vadot}; 66*0e8011faSEmmanuel Vadot 67*0e8011faSEmmanuel Vadot&pm8941_vib { 68*0e8011faSEmmanuel Vadot status = "okay"; 69*0e8011faSEmmanuel Vadot}; 70*0e8011faSEmmanuel Vadot 71*0e8011faSEmmanuel Vadot&pronto { 72*0e8011faSEmmanuel Vadot vddmx-supply = <&pm8841_s1>; 73*0e8011faSEmmanuel Vadot vddcx-supply = <&pm8841_s2>; 74*0e8011faSEmmanuel Vadot vddpx-supply = <&pm8941_s3>; 75*0e8011faSEmmanuel Vadot 76*0e8011faSEmmanuel Vadot pinctrl-0 = <&wcnss_pin_a>; 77*0e8011faSEmmanuel Vadot pinctrl-names = "default"; 78*0e8011faSEmmanuel Vadot 79*0e8011faSEmmanuel Vadot status = "okay"; 80*0e8011faSEmmanuel Vadot 81*0e8011faSEmmanuel Vadot iris { 82*0e8011faSEmmanuel Vadot vddxo-supply = <&pm8941_l6>; 83*0e8011faSEmmanuel Vadot vddrfa-supply = <&pm8941_l11>; 84*0e8011faSEmmanuel Vadot vddpa-supply = <&pm8941_l19>; 85*0e8011faSEmmanuel Vadot vdddig-supply = <&pm8941_s3>; 86*0e8011faSEmmanuel Vadot }; 87*0e8011faSEmmanuel Vadot 88*0e8011faSEmmanuel Vadot smd-edge { 89*0e8011faSEmmanuel Vadot qcom,remote-pid = <4>; 90*0e8011faSEmmanuel Vadot label = "pronto"; 91*0e8011faSEmmanuel Vadot 92*0e8011faSEmmanuel Vadot wcnss { 93*0e8011faSEmmanuel Vadot status = "okay"; 94*0e8011faSEmmanuel Vadot }; 95*0e8011faSEmmanuel Vadot }; 96*0e8011faSEmmanuel Vadot}; 97*0e8011faSEmmanuel Vadot 98*0e8011faSEmmanuel Vadot&rpm_requests { 99*0e8011faSEmmanuel Vadot regulators-0 { 100*0e8011faSEmmanuel Vadot compatible = "qcom,rpm-pm8841-regulators"; 101*0e8011faSEmmanuel Vadot 102*0e8011faSEmmanuel Vadot pm8841_s1: s1 { 103*0e8011faSEmmanuel Vadot regulator-min-microvolt = <675000>; 104*0e8011faSEmmanuel Vadot regulator-max-microvolt = <1050000>; 105*0e8011faSEmmanuel Vadot }; 106*0e8011faSEmmanuel Vadot 107*0e8011faSEmmanuel Vadot pm8841_s2: s2 { 108*0e8011faSEmmanuel Vadot regulator-min-microvolt = <500000>; 109*0e8011faSEmmanuel Vadot regulator-max-microvolt = <1050000>; 110*0e8011faSEmmanuel Vadot }; 111*0e8011faSEmmanuel Vadot 112*0e8011faSEmmanuel Vadot pm8841_s3: s3 { 113*0e8011faSEmmanuel Vadot regulator-min-microvolt = <1050000>; 114*0e8011faSEmmanuel Vadot regulator-max-microvolt = <1050000>; 115*0e8011faSEmmanuel Vadot }; 116*0e8011faSEmmanuel Vadot 117*0e8011faSEmmanuel Vadot pm8841_s4: s4 { 118*0e8011faSEmmanuel Vadot regulator-min-microvolt = <815000>; 119*0e8011faSEmmanuel Vadot regulator-max-microvolt = <900000>; 120*0e8011faSEmmanuel Vadot }; 121*0e8011faSEmmanuel Vadot }; 122*0e8011faSEmmanuel Vadot 123*0e8011faSEmmanuel Vadot regulators-1 { 124*0e8011faSEmmanuel Vadot compatible = "qcom,rpm-pm8941-regulators"; 125*0e8011faSEmmanuel Vadot 126*0e8011faSEmmanuel Vadot vdd_l1_l3-supply = <&pm8941_s1>; 127*0e8011faSEmmanuel Vadot vdd_l2_lvs1_2_3-supply = <&pm8941_s3>; 128*0e8011faSEmmanuel Vadot vdd_l4_l11-supply = <&pm8941_s1>; 129*0e8011faSEmmanuel Vadot vdd_l5_l7-supply = <&pm8941_s2>; 130*0e8011faSEmmanuel Vadot vdd_l6_l12_l14_l15-supply = <&pm8941_s2>; 131*0e8011faSEmmanuel Vadot vdd_l8_l16_l18_l19-supply = <&vreg_vph_pwr>; 132*0e8011faSEmmanuel Vadot vdd_l9_l10_l17_l22-supply = <&vreg_boost>; 133*0e8011faSEmmanuel Vadot vdd_l13_l20_l23_l24-supply = <&vreg_boost>; 134*0e8011faSEmmanuel Vadot vdd_l21-supply = <&vreg_boost>; 135*0e8011faSEmmanuel Vadot 136*0e8011faSEmmanuel Vadot pm8941_s1: s1 { 137*0e8011faSEmmanuel Vadot regulator-min-microvolt = <1300000>; 138*0e8011faSEmmanuel Vadot regulator-max-microvolt = <1300000>; 139*0e8011faSEmmanuel Vadot regulator-always-on; 140*0e8011faSEmmanuel Vadot regulator-boot-on; 141*0e8011faSEmmanuel Vadot }; 142*0e8011faSEmmanuel Vadot 143*0e8011faSEmmanuel Vadot pm8941_s2: s2 { 144*0e8011faSEmmanuel Vadot regulator-min-microvolt = <2150000>; 145*0e8011faSEmmanuel Vadot regulator-max-microvolt = <2150000>; 146*0e8011faSEmmanuel Vadot regulator-boot-on; 147*0e8011faSEmmanuel Vadot }; 148*0e8011faSEmmanuel Vadot 149*0e8011faSEmmanuel Vadot pm8941_s3: s3 { 150*0e8011faSEmmanuel Vadot regulator-min-microvolt = <1800000>; 151*0e8011faSEmmanuel Vadot regulator-max-microvolt = <1800000>; 152*0e8011faSEmmanuel Vadot regulator-always-on; 153*0e8011faSEmmanuel Vadot regulator-boot-on; 154*0e8011faSEmmanuel Vadot }; 155*0e8011faSEmmanuel Vadot 156*0e8011faSEmmanuel Vadot pm8941_l1: l1 { 157*0e8011faSEmmanuel Vadot regulator-min-microvolt = <1225000>; 158*0e8011faSEmmanuel Vadot regulator-max-microvolt = <1225000>; 159*0e8011faSEmmanuel Vadot regulator-always-on; 160*0e8011faSEmmanuel Vadot regulator-boot-on; 161*0e8011faSEmmanuel Vadot }; 162*0e8011faSEmmanuel Vadot 163*0e8011faSEmmanuel Vadot pm8941_l2: l2 { 164*0e8011faSEmmanuel Vadot regulator-min-microvolt = <1200000>; 165*0e8011faSEmmanuel Vadot regulator-max-microvolt = <1200000>; 166*0e8011faSEmmanuel Vadot }; 167*0e8011faSEmmanuel Vadot 168*0e8011faSEmmanuel Vadot pm8941_l3: l3 { 169*0e8011faSEmmanuel Vadot regulator-min-microvolt = <1200000>; 170*0e8011faSEmmanuel Vadot regulator-max-microvolt = <1200000>; 171*0e8011faSEmmanuel Vadot }; 172*0e8011faSEmmanuel Vadot 173*0e8011faSEmmanuel Vadot pm8941_l4: l4 { 174*0e8011faSEmmanuel Vadot regulator-min-microvolt = <1225000>; 175*0e8011faSEmmanuel Vadot regulator-max-microvolt = <1225000>; 176*0e8011faSEmmanuel Vadot }; 177*0e8011faSEmmanuel Vadot 178*0e8011faSEmmanuel Vadot pm8941_l5: l5 { 179*0e8011faSEmmanuel Vadot regulator-min-microvolt = <1800000>; 180*0e8011faSEmmanuel Vadot regulator-max-microvolt = <1800000>; 181*0e8011faSEmmanuel Vadot }; 182*0e8011faSEmmanuel Vadot 183*0e8011faSEmmanuel Vadot pm8941_l6: l6 { 184*0e8011faSEmmanuel Vadot regulator-min-microvolt = <1800000>; 185*0e8011faSEmmanuel Vadot regulator-max-microvolt = <1800000>; 186*0e8011faSEmmanuel Vadot regulator-boot-on; 187*0e8011faSEmmanuel Vadot }; 188*0e8011faSEmmanuel Vadot 189*0e8011faSEmmanuel Vadot pm8941_l7: l7 { 190*0e8011faSEmmanuel Vadot regulator-min-microvolt = <1800000>; 191*0e8011faSEmmanuel Vadot regulator-max-microvolt = <1800000>; 192*0e8011faSEmmanuel Vadot regulator-boot-on; 193*0e8011faSEmmanuel Vadot }; 194*0e8011faSEmmanuel Vadot 195*0e8011faSEmmanuel Vadot pm8941_l8: l8 { 196*0e8011faSEmmanuel Vadot regulator-min-microvolt = <1800000>; 197*0e8011faSEmmanuel Vadot regulator-max-microvolt = <1800000>; 198*0e8011faSEmmanuel Vadot }; 199*0e8011faSEmmanuel Vadot 200*0e8011faSEmmanuel Vadot pm8941_l9: l9 { 201*0e8011faSEmmanuel Vadot regulator-min-microvolt = <1800000>; 202*0e8011faSEmmanuel Vadot regulator-max-microvolt = <2950000>; 203*0e8011faSEmmanuel Vadot }; 204*0e8011faSEmmanuel Vadot 205*0e8011faSEmmanuel Vadot pm8941_l10: l10 { 206*0e8011faSEmmanuel Vadot regulator-min-microvolt = <1800000>; 207*0e8011faSEmmanuel Vadot regulator-max-microvolt = <2950000>; 208*0e8011faSEmmanuel Vadot }; 209*0e8011faSEmmanuel Vadot 210*0e8011faSEmmanuel Vadot pm8941_l11: l11 { 211*0e8011faSEmmanuel Vadot regulator-min-microvolt = <1225000>; 212*0e8011faSEmmanuel Vadot regulator-max-microvolt = <1350000>; 213*0e8011faSEmmanuel Vadot }; 214*0e8011faSEmmanuel Vadot 215*0e8011faSEmmanuel Vadot pm8941_l12: l12 { 216*0e8011faSEmmanuel Vadot regulator-min-microvolt = <1800000>; 217*0e8011faSEmmanuel Vadot regulator-max-microvolt = <1800000>; 218*0e8011faSEmmanuel Vadot regulator-always-on; 219*0e8011faSEmmanuel Vadot regulator-boot-on; 220*0e8011faSEmmanuel Vadot }; 221*0e8011faSEmmanuel Vadot 222*0e8011faSEmmanuel Vadot pm8941_l13: l13 { 223*0e8011faSEmmanuel Vadot regulator-min-microvolt = <1800000>; 224*0e8011faSEmmanuel Vadot regulator-max-microvolt = <2950000>; 225*0e8011faSEmmanuel Vadot regulator-boot-on; 226*0e8011faSEmmanuel Vadot }; 227*0e8011faSEmmanuel Vadot 228*0e8011faSEmmanuel Vadot pm8941_l14: l14 { 229*0e8011faSEmmanuel Vadot regulator-min-microvolt = <1800000>; 230*0e8011faSEmmanuel Vadot regulator-max-microvolt = <1800000>; 231*0e8011faSEmmanuel Vadot }; 232*0e8011faSEmmanuel Vadot 233*0e8011faSEmmanuel Vadot pm8941_l15: l15 { 234*0e8011faSEmmanuel Vadot regulator-min-microvolt = <2050000>; 235*0e8011faSEmmanuel Vadot regulator-max-microvolt = <2050000>; 236*0e8011faSEmmanuel Vadot }; 237*0e8011faSEmmanuel Vadot 238*0e8011faSEmmanuel Vadot pm8941_l16: l16 { 239*0e8011faSEmmanuel Vadot regulator-min-microvolt = <2700000>; 240*0e8011faSEmmanuel Vadot regulator-max-microvolt = <2700000>; 241*0e8011faSEmmanuel Vadot }; 242*0e8011faSEmmanuel Vadot 243*0e8011faSEmmanuel Vadot pm8941_l17: l17 { 244*0e8011faSEmmanuel Vadot regulator-min-microvolt = <2850000>; 245*0e8011faSEmmanuel Vadot regulator-max-microvolt = <2850000>; 246*0e8011faSEmmanuel Vadot }; 247*0e8011faSEmmanuel Vadot 248*0e8011faSEmmanuel Vadot pm8941_l18: l18 { 249*0e8011faSEmmanuel Vadot regulator-min-microvolt = <2850000>; 250*0e8011faSEmmanuel Vadot regulator-max-microvolt = <2850000>; 251*0e8011faSEmmanuel Vadot }; 252*0e8011faSEmmanuel Vadot 253*0e8011faSEmmanuel Vadot pm8941_l19: l19 { 254*0e8011faSEmmanuel Vadot regulator-min-microvolt = <2900000>; 255*0e8011faSEmmanuel Vadot regulator-max-microvolt = <3350000>; 256*0e8011faSEmmanuel Vadot }; 257*0e8011faSEmmanuel Vadot 258*0e8011faSEmmanuel Vadot pm8941_l20: l20 { 259*0e8011faSEmmanuel Vadot regulator-min-microvolt = <2950000>; 260*0e8011faSEmmanuel Vadot regulator-max-microvolt = <2950000>; 261*0e8011faSEmmanuel Vadot regulator-system-load = <200000>; 262*0e8011faSEmmanuel Vadot regulator-allow-set-load; 263*0e8011faSEmmanuel Vadot regulator-boot-on; 264*0e8011faSEmmanuel Vadot }; 265*0e8011faSEmmanuel Vadot 266*0e8011faSEmmanuel Vadot pm8941_l21: l21 { 267*0e8011faSEmmanuel Vadot regulator-min-microvolt = <2950000>; 268*0e8011faSEmmanuel Vadot regulator-max-microvolt = <2950000>; 269*0e8011faSEmmanuel Vadot regulator-boot-on; 270*0e8011faSEmmanuel Vadot }; 271*0e8011faSEmmanuel Vadot 272*0e8011faSEmmanuel Vadot pm8941_l22: l22 { 273*0e8011faSEmmanuel Vadot regulator-min-microvolt = <3300000>; 274*0e8011faSEmmanuel Vadot regulator-max-microvolt = <3300000>; 275*0e8011faSEmmanuel Vadot }; 276*0e8011faSEmmanuel Vadot 277*0e8011faSEmmanuel Vadot pm8941_l23: l23 { 278*0e8011faSEmmanuel Vadot regulator-min-microvolt = <3000000>; 279*0e8011faSEmmanuel Vadot regulator-max-microvolt = <3000000>; 280*0e8011faSEmmanuel Vadot }; 281*0e8011faSEmmanuel Vadot 282*0e8011faSEmmanuel Vadot pm8941_l24: l24 { 283*0e8011faSEmmanuel Vadot regulator-min-microvolt = <3075000>; 284*0e8011faSEmmanuel Vadot regulator-max-microvolt = <3075000>; 285*0e8011faSEmmanuel Vadot regulator-boot-on; 286*0e8011faSEmmanuel Vadot }; 287*0e8011faSEmmanuel Vadot }; 288*0e8011faSEmmanuel Vadot}; 289*0e8011faSEmmanuel Vadot 290*0e8011faSEmmanuel Vadot&sdhc_1 { 291*0e8011faSEmmanuel Vadot vmmc-supply = <&pm8941_l20>; 292*0e8011faSEmmanuel Vadot vqmmc-supply = <&pm8941_s3>; 293*0e8011faSEmmanuel Vadot 294*0e8011faSEmmanuel Vadot pinctrl-0 = <&sdc1_on>; 295*0e8011faSEmmanuel Vadot pinctrl-1 = <&sdc1_off>; 296*0e8011faSEmmanuel Vadot pinctrl-names = "default", "sleep"; 297*0e8011faSEmmanuel Vadot 298*0e8011faSEmmanuel Vadot status = "okay"; 299*0e8011faSEmmanuel Vadot}; 300*0e8011faSEmmanuel Vadot 301*0e8011faSEmmanuel Vadot&smbb { 302*0e8011faSEmmanuel Vadot status = "okay"; 303*0e8011faSEmmanuel Vadot}; 304*0e8011faSEmmanuel Vadot 305*0e8011faSEmmanuel Vadot&tlmm { 306*0e8011faSEmmanuel Vadot gpio_keys_default: gpio-keys-default-state { 307*0e8011faSEmmanuel Vadot pins = "gpio27", "gpio28"; 308*0e8011faSEmmanuel Vadot function = "gpio"; 309*0e8011faSEmmanuel Vadot bias-pull-up; 310*0e8011faSEmmanuel Vadot }; 311*0e8011faSEmmanuel Vadot 312*0e8011faSEmmanuel Vadot sdc1_on: sdc1-on-state { 313*0e8011faSEmmanuel Vadot clk-pins { 314*0e8011faSEmmanuel Vadot pins = "sdc1_clk"; 315*0e8011faSEmmanuel Vadot drive-strength = <10>; 316*0e8011faSEmmanuel Vadot bias-disable; 317*0e8011faSEmmanuel Vadot }; 318*0e8011faSEmmanuel Vadot 319*0e8011faSEmmanuel Vadot cmd-data-pins { 320*0e8011faSEmmanuel Vadot pins = "sdc1_cmd", "sdc1_data"; 321*0e8011faSEmmanuel Vadot drive-strength = <10>; 322*0e8011faSEmmanuel Vadot bias-pull-up; 323*0e8011faSEmmanuel Vadot }; 324*0e8011faSEmmanuel Vadot }; 325*0e8011faSEmmanuel Vadot 326*0e8011faSEmmanuel Vadot wcnss_pin_a: wcnss-pin-active-state { 327*0e8011faSEmmanuel Vadot pins = "gpio36", "gpio37", "gpio38", "gpio39", "gpio40"; 328*0e8011faSEmmanuel Vadot function = "wlan"; 329*0e8011faSEmmanuel Vadot drive-strength = <6>; 330*0e8011faSEmmanuel Vadot bias-pull-down; 331*0e8011faSEmmanuel Vadot }; 332*0e8011faSEmmanuel Vadot}; 333*0e8011faSEmmanuel Vadot 334*0e8011faSEmmanuel Vadot&usb { 335*0e8011faSEmmanuel Vadot phys = <&usb_hs1_phy>; 336*0e8011faSEmmanuel Vadot phy-select = <&tcsr 0xb000 0>; 337*0e8011faSEmmanuel Vadot extcon = <&smbb>, <&usb_id>; 338*0e8011faSEmmanuel Vadot vbus-supply = <&chg_otg>; 339*0e8011faSEmmanuel Vadot 340*0e8011faSEmmanuel Vadot hnp-disable; 341*0e8011faSEmmanuel Vadot srp-disable; 342*0e8011faSEmmanuel Vadot adp-disable; 343*0e8011faSEmmanuel Vadot 344*0e8011faSEmmanuel Vadot status = "okay"; 345*0e8011faSEmmanuel Vadot}; 346*0e8011faSEmmanuel Vadot 347*0e8011faSEmmanuel Vadot&usb_hs1_phy { 348*0e8011faSEmmanuel Vadot v1p8-supply = <&pm8941_l6>; 349*0e8011faSEmmanuel Vadot v3p3-supply = <&pm8941_l24>; 350*0e8011faSEmmanuel Vadot extcon = <&smbb>; 351*0e8011faSEmmanuel Vadot qcom,init-seq = /bits/ 8 <0x1 0x63>; 352*0e8011faSEmmanuel Vadot status = "okay"; 353*0e8011faSEmmanuel Vadot}; 354