1*53426f53SLuca Weiss// SPDX-License-Identifier: GPL-2.0 2*53426f53SLuca Weiss#include "qcom-msm8974pro.dtsi" 3*53426f53SLuca Weiss#include "pm8841.dtsi" 4*53426f53SLuca Weiss#include "pm8941.dtsi" 5*53426f53SLuca Weiss#include <dt-bindings/input/input.h> 6*53426f53SLuca Weiss#include <dt-bindings/leds/common.h> 7*53426f53SLuca Weiss#include <dt-bindings/pinctrl/qcom,pmic-gpio.h> 8*53426f53SLuca Weiss 9*53426f53SLuca Weiss/ { 10*53426f53SLuca Weiss aliases { 11*53426f53SLuca Weiss mmc0 = &sdhc_1; 12*53426f53SLuca Weiss mmc1 = &sdhc_2; 13*53426f53SLuca Weiss serial0 = &blsp1_uart2; 14*53426f53SLuca Weiss serial1 = &blsp2_uart1; 15*53426f53SLuca Weiss }; 16*53426f53SLuca Weiss 17*53426f53SLuca Weiss chosen { 18*53426f53SLuca Weiss stdout-path = "serial0:115200n8"; 19*53426f53SLuca Weiss }; 20*53426f53SLuca Weiss 21*53426f53SLuca Weiss gpio-keys { 22*53426f53SLuca Weiss compatible = "gpio-keys"; 23*53426f53SLuca Weiss 24*53426f53SLuca Weiss pinctrl-0 = <&gpio_keys_pin_a>; 25*53426f53SLuca Weiss pinctrl-names = "default"; 26*53426f53SLuca Weiss 27*53426f53SLuca Weiss key-volume-down { 28*53426f53SLuca Weiss label = "volume_down"; 29*53426f53SLuca Weiss gpios = <&pm8941_gpios 2 GPIO_ACTIVE_LOW>; 30*53426f53SLuca Weiss linux,code = <KEY_VOLUMEDOWN>; 31*53426f53SLuca Weiss debounce-interval = <15>; 32*53426f53SLuca Weiss }; 33*53426f53SLuca Weiss 34*53426f53SLuca Weiss key-volume-up { 35*53426f53SLuca Weiss label = "volume_up"; 36*53426f53SLuca Weiss gpios = <&pm8941_gpios 5 GPIO_ACTIVE_LOW>; 37*53426f53SLuca Weiss linux,code = <KEY_VOLUMEUP>; 38*53426f53SLuca Weiss debounce-interval = <15>; 39*53426f53SLuca Weiss }; 40*53426f53SLuca Weiss }; 41*53426f53SLuca Weiss 42*53426f53SLuca Weiss vreg_vsp: lcd-dcdc-regulator { 43*53426f53SLuca Weiss compatible = "regulator-fixed"; 44*53426f53SLuca Weiss regulator-name = "vreg_vsp"; 45*53426f53SLuca Weiss regulator-min-microvolt = <5600000>; 46*53426f53SLuca Weiss regulator-max-microvolt = <5600000>; 47*53426f53SLuca Weiss 48*53426f53SLuca Weiss gpio = <&pm8941_gpios 20 GPIO_ACTIVE_HIGH>; 49*53426f53SLuca Weiss enable-active-high; 50*53426f53SLuca Weiss 51*53426f53SLuca Weiss pinctrl-0 = <&lcd_dcdc_en_pin_a>; 52*53426f53SLuca Weiss pinctrl-names = "default"; 53*53426f53SLuca Weiss }; 54*53426f53SLuca Weiss 55*53426f53SLuca Weiss vreg_boost: vreg-boost { 56*53426f53SLuca Weiss compatible = "regulator-fixed"; 57*53426f53SLuca Weiss 58*53426f53SLuca Weiss regulator-name = "vreg-boost"; 59*53426f53SLuca Weiss regulator-min-microvolt = <3150000>; 60*53426f53SLuca Weiss regulator-max-microvolt = <3150000>; 61*53426f53SLuca Weiss 62*53426f53SLuca Weiss regulator-always-on; 63*53426f53SLuca Weiss regulator-boot-on; 64*53426f53SLuca Weiss 65*53426f53SLuca Weiss gpio = <&pm8941_gpios 21 GPIO_ACTIVE_HIGH>; 66*53426f53SLuca Weiss enable-active-high; 67*53426f53SLuca Weiss 68*53426f53SLuca Weiss pinctrl-names = "default"; 69*53426f53SLuca Weiss pinctrl-0 = <&boost_bypass_n_pin>; 70*53426f53SLuca Weiss }; 71*53426f53SLuca Weiss 72*53426f53SLuca Weiss vreg_vph_pwr: vreg-vph-pwr { 73*53426f53SLuca Weiss compatible = "regulator-fixed"; 74*53426f53SLuca Weiss regulator-name = "vph-pwr"; 75*53426f53SLuca Weiss 76*53426f53SLuca Weiss regulator-min-microvolt = <3600000>; 77*53426f53SLuca Weiss regulator-max-microvolt = <3600000>; 78*53426f53SLuca Weiss 79*53426f53SLuca Weiss regulator-always-on; 80*53426f53SLuca Weiss }; 81*53426f53SLuca Weiss 82*53426f53SLuca Weiss vreg_wlan: wlan-regulator { 83*53426f53SLuca Weiss compatible = "regulator-fixed"; 84*53426f53SLuca Weiss 85*53426f53SLuca Weiss regulator-name = "wl-reg"; 86*53426f53SLuca Weiss regulator-min-microvolt = <3300000>; 87*53426f53SLuca Weiss regulator-max-microvolt = <3300000>; 88*53426f53SLuca Weiss 89*53426f53SLuca Weiss gpio = <&pm8941_gpios 18 GPIO_ACTIVE_HIGH>; 90*53426f53SLuca Weiss enable-active-high; 91*53426f53SLuca Weiss 92*53426f53SLuca Weiss pinctrl-0 = <&wlan_regulator_pin>; 93*53426f53SLuca Weiss pinctrl-names = "default"; 94*53426f53SLuca Weiss }; 95*53426f53SLuca Weiss}; 96*53426f53SLuca Weiss 97*53426f53SLuca Weiss&blsp1_uart2 { 98*53426f53SLuca Weiss status = "okay"; 99*53426f53SLuca Weiss}; 100*53426f53SLuca Weiss 101*53426f53SLuca Weiss&blsp2_i2c2 { 102*53426f53SLuca Weiss clock-frequency = <355000>; 103*53426f53SLuca Weiss 104*53426f53SLuca Weiss status = "okay"; 105*53426f53SLuca Weiss 106*53426f53SLuca Weiss synaptics_touchscreen: synaptics@2c { 107*53426f53SLuca Weiss compatible = "syna,rmi4-i2c"; 108*53426f53SLuca Weiss reg = <0x2c>; 109*53426f53SLuca Weiss 110*53426f53SLuca Weiss interrupt-parent = <&tlmm>; 111*53426f53SLuca Weiss interrupts = <86 IRQ_TYPE_EDGE_FALLING>; 112*53426f53SLuca Weiss 113*53426f53SLuca Weiss #address-cells = <1>; 114*53426f53SLuca Weiss #size-cells = <0>; 115*53426f53SLuca Weiss 116*53426f53SLuca Weiss vdd-supply = <&pm8941_l22>; 117*53426f53SLuca Weiss /* vio-supply is set in dts */ 118*53426f53SLuca Weiss 119*53426f53SLuca Weiss pinctrl-0 = <&ts_int_pin>; 120*53426f53SLuca Weiss pinctrl-names = "default"; 121*53426f53SLuca Weiss 122*53426f53SLuca Weiss syna,startup-delay-ms = <100>; 123*53426f53SLuca Weiss 124*53426f53SLuca Weiss rmi4-f01@1 { 125*53426f53SLuca Weiss reg = <0x1>; 126*53426f53SLuca Weiss syna,nosleep-mode = <1>; 127*53426f53SLuca Weiss }; 128*53426f53SLuca Weiss 129*53426f53SLuca Weiss rmi4-f11@11 { 130*53426f53SLuca Weiss reg = <0x11>; 131*53426f53SLuca Weiss syna,sensor-type = <1>; 132*53426f53SLuca Weiss touchscreen-inverted-x; 133*53426f53SLuca Weiss }; 134*53426f53SLuca Weiss }; 135*53426f53SLuca Weiss}; 136*53426f53SLuca Weiss 137*53426f53SLuca Weiss&pm8941_coincell { 138*53426f53SLuca Weiss qcom,rset-ohms = <2100>; 139*53426f53SLuca Weiss qcom,vset-millivolts = <3000>; 140*53426f53SLuca Weiss 141*53426f53SLuca Weiss status = "okay"; 142*53426f53SLuca Weiss}; 143*53426f53SLuca Weiss 144*53426f53SLuca Weiss&pm8941_gpios { 145*53426f53SLuca Weiss gpio_keys_pin_a: gpio-keys-active-state { 146*53426f53SLuca Weiss pins = "gpio2", "gpio5"; 147*53426f53SLuca Weiss function = "normal"; 148*53426f53SLuca Weiss bias-pull-up; 149*53426f53SLuca Weiss power-source = <PM8941_GPIO_S3>; 150*53426f53SLuca Weiss }; 151*53426f53SLuca Weiss 152*53426f53SLuca Weiss wlan_sleep_clk_pin: wl-sleep-clk-state { 153*53426f53SLuca Weiss pins = "gpio17"; 154*53426f53SLuca Weiss function = "func2"; 155*53426f53SLuca Weiss output-high; 156*53426f53SLuca Weiss power-source = <PM8941_GPIO_S3>; 157*53426f53SLuca Weiss }; 158*53426f53SLuca Weiss 159*53426f53SLuca Weiss wlan_regulator_pin: wl-reg-active-state { 160*53426f53SLuca Weiss pins = "gpio18"; 161*53426f53SLuca Weiss function = "normal"; 162*53426f53SLuca Weiss bias-disable; 163*53426f53SLuca Weiss power-source = <PM8941_GPIO_S3>; 164*53426f53SLuca Weiss }; 165*53426f53SLuca Weiss 166*53426f53SLuca Weiss lcd_dcdc_en_pin_a: lcd-dcdc-en-active-state { 167*53426f53SLuca Weiss pins = "gpio20"; 168*53426f53SLuca Weiss function = "normal"; 169*53426f53SLuca Weiss bias-disable; 170*53426f53SLuca Weiss power-source = <PM8941_GPIO_S3>; 171*53426f53SLuca Weiss input-disable; 172*53426f53SLuca Weiss output-low; 173*53426f53SLuca Weiss }; 174*53426f53SLuca Weiss}; 175*53426f53SLuca Weiss 176*53426f53SLuca Weiss&pm8941_lpg { 177*53426f53SLuca Weiss qcom,power-source = <1>; 178*53426f53SLuca Weiss 179*53426f53SLuca Weiss status = "okay"; 180*53426f53SLuca Weiss 181*53426f53SLuca Weiss multi-led { 182*53426f53SLuca Weiss color = <LED_COLOR_ID_RGB>; 183*53426f53SLuca Weiss function = LED_FUNCTION_STATUS; 184*53426f53SLuca Weiss 185*53426f53SLuca Weiss #address-cells = <1>; 186*53426f53SLuca Weiss #size-cells = <0>; 187*53426f53SLuca Weiss 188*53426f53SLuca Weiss led@5 { 189*53426f53SLuca Weiss reg = <5>; 190*53426f53SLuca Weiss color = <LED_COLOR_ID_BLUE>; 191*53426f53SLuca Weiss }; 192*53426f53SLuca Weiss 193*53426f53SLuca Weiss led@6 { 194*53426f53SLuca Weiss reg = <6>; 195*53426f53SLuca Weiss color = <LED_COLOR_ID_GREEN>; 196*53426f53SLuca Weiss }; 197*53426f53SLuca Weiss 198*53426f53SLuca Weiss led@7 { 199*53426f53SLuca Weiss reg = <7>; 200*53426f53SLuca Weiss color = <LED_COLOR_ID_RED>; 201*53426f53SLuca Weiss }; 202*53426f53SLuca Weiss }; 203*53426f53SLuca Weiss}; 204*53426f53SLuca Weiss 205*53426f53SLuca Weiss&remoteproc_adsp { 206*53426f53SLuca Weiss cx-supply = <&pm8841_s2>; 207*53426f53SLuca Weiss status = "okay"; 208*53426f53SLuca Weiss}; 209*53426f53SLuca Weiss 210*53426f53SLuca Weiss&remoteproc_mss { 211*53426f53SLuca Weiss cx-supply = <&pm8841_s2>; 212*53426f53SLuca Weiss mss-supply = <&pm8841_s3>; 213*53426f53SLuca Weiss mx-supply = <&pm8841_s1>; 214*53426f53SLuca Weiss pll-supply = <&pm8941_l12>; 215*53426f53SLuca Weiss status = "okay"; 216*53426f53SLuca Weiss}; 217*53426f53SLuca Weiss 218*53426f53SLuca Weiss&rpm_requests { 219*53426f53SLuca Weiss regulators-0 { 220*53426f53SLuca Weiss compatible = "qcom,rpm-pm8841-regulators"; 221*53426f53SLuca Weiss 222*53426f53SLuca Weiss pm8841_s1: s1 { 223*53426f53SLuca Weiss regulator-min-microvolt = <675000>; 224*53426f53SLuca Weiss regulator-max-microvolt = <1050000>; 225*53426f53SLuca Weiss }; 226*53426f53SLuca Weiss 227*53426f53SLuca Weiss pm8841_s2: s2 { 228*53426f53SLuca Weiss regulator-min-microvolt = <500000>; 229*53426f53SLuca Weiss regulator-max-microvolt = <1050000>; 230*53426f53SLuca Weiss }; 231*53426f53SLuca Weiss 232*53426f53SLuca Weiss pm8841_s3: s3 { 233*53426f53SLuca Weiss regulator-min-microvolt = <500000>; 234*53426f53SLuca Weiss regulator-max-microvolt = <1050000>; 235*53426f53SLuca Weiss }; 236*53426f53SLuca Weiss 237*53426f53SLuca Weiss pm8841_s4: s4 { 238*53426f53SLuca Weiss regulator-min-microvolt = <500000>; 239*53426f53SLuca Weiss regulator-max-microvolt = <1050000>; 240*53426f53SLuca Weiss }; 241*53426f53SLuca Weiss }; 242*53426f53SLuca Weiss 243*53426f53SLuca Weiss regulators-1 { 244*53426f53SLuca Weiss compatible = "qcom,rpm-pm8941-regulators"; 245*53426f53SLuca Weiss 246*53426f53SLuca Weiss vdd_l1_l3-supply = <&pm8941_s1>; 247*53426f53SLuca Weiss vdd_l2_lvs1_2_3-supply = <&pm8941_s3>; 248*53426f53SLuca Weiss vdd_l4_l11-supply = <&pm8941_s1>; 249*53426f53SLuca Weiss vdd_l5_l7-supply = <&pm8941_s2>; 250*53426f53SLuca Weiss vdd_l6_l12_l14_l15-supply = <&pm8941_s2>; 251*53426f53SLuca Weiss vdd_l9_l10_l17_l22-supply = <&vreg_boost>; 252*53426f53SLuca Weiss vdd_l13_l20_l23_l24-supply = <&vreg_boost>; 253*53426f53SLuca Weiss vdd_l21-supply = <&vreg_boost>; 254*53426f53SLuca Weiss 255*53426f53SLuca Weiss pm8941_s1: s1 { 256*53426f53SLuca Weiss regulator-min-microvolt = <1300000>; 257*53426f53SLuca Weiss regulator-max-microvolt = <1300000>; 258*53426f53SLuca Weiss regulator-always-on; 259*53426f53SLuca Weiss regulator-boot-on; 260*53426f53SLuca Weiss }; 261*53426f53SLuca Weiss 262*53426f53SLuca Weiss pm8941_s2: s2 { 263*53426f53SLuca Weiss regulator-min-microvolt = <2150000>; 264*53426f53SLuca Weiss regulator-max-microvolt = <2150000>; 265*53426f53SLuca Weiss regulator-boot-on; 266*53426f53SLuca Weiss }; 267*53426f53SLuca Weiss 268*53426f53SLuca Weiss pm8941_s3: s3 { 269*53426f53SLuca Weiss regulator-min-microvolt = <1800000>; 270*53426f53SLuca Weiss regulator-max-microvolt = <1800000>; 271*53426f53SLuca Weiss regulator-system-load = <154000>; 272*53426f53SLuca Weiss regulator-always-on; 273*53426f53SLuca Weiss regulator-boot-on; 274*53426f53SLuca Weiss }; 275*53426f53SLuca Weiss 276*53426f53SLuca Weiss pm8941_s4: s4 { 277*53426f53SLuca Weiss regulator-min-microvolt = <5000000>; 278*53426f53SLuca Weiss regulator-max-microvolt = <5000000>; 279*53426f53SLuca Weiss }; 280*53426f53SLuca Weiss 281*53426f53SLuca Weiss pm8941_l1: l1 { 282*53426f53SLuca Weiss regulator-min-microvolt = <1225000>; 283*53426f53SLuca Weiss regulator-max-microvolt = <1225000>; 284*53426f53SLuca Weiss regulator-always-on; 285*53426f53SLuca Weiss regulator-boot-on; 286*53426f53SLuca Weiss }; 287*53426f53SLuca Weiss 288*53426f53SLuca Weiss pm8941_l2: l2 { 289*53426f53SLuca Weiss regulator-min-microvolt = <1200000>; 290*53426f53SLuca Weiss regulator-max-microvolt = <1200000>; 291*53426f53SLuca Weiss }; 292*53426f53SLuca Weiss 293*53426f53SLuca Weiss pm8941_l3: l3 { 294*53426f53SLuca Weiss regulator-min-microvolt = <1200000>; 295*53426f53SLuca Weiss regulator-max-microvolt = <1200000>; 296*53426f53SLuca Weiss }; 297*53426f53SLuca Weiss 298*53426f53SLuca Weiss pm8941_l4: l4 { 299*53426f53SLuca Weiss regulator-min-microvolt = <1225000>; 300*53426f53SLuca Weiss regulator-max-microvolt = <1225000>; 301*53426f53SLuca Weiss }; 302*53426f53SLuca Weiss 303*53426f53SLuca Weiss pm8941_l5: l5 { 304*53426f53SLuca Weiss regulator-min-microvolt = <1800000>; 305*53426f53SLuca Weiss regulator-max-microvolt = <1800000>; 306*53426f53SLuca Weiss }; 307*53426f53SLuca Weiss 308*53426f53SLuca Weiss pm8941_l6: l6 { 309*53426f53SLuca Weiss regulator-min-microvolt = <1800000>; 310*53426f53SLuca Weiss regulator-max-microvolt = <1800000>; 311*53426f53SLuca Weiss regulator-boot-on; 312*53426f53SLuca Weiss }; 313*53426f53SLuca Weiss 314*53426f53SLuca Weiss pm8941_l7: l7 { 315*53426f53SLuca Weiss regulator-min-microvolt = <1800000>; 316*53426f53SLuca Weiss regulator-max-microvolt = <1800000>; 317*53426f53SLuca Weiss regulator-boot-on; 318*53426f53SLuca Weiss }; 319*53426f53SLuca Weiss 320*53426f53SLuca Weiss pm8941_l8: l8 { 321*53426f53SLuca Weiss regulator-min-microvolt = <1800000>; 322*53426f53SLuca Weiss regulator-max-microvolt = <1800000>; 323*53426f53SLuca Weiss }; 324*53426f53SLuca Weiss 325*53426f53SLuca Weiss pm8941_l9: l9 { 326*53426f53SLuca Weiss regulator-min-microvolt = <1800000>; 327*53426f53SLuca Weiss regulator-max-microvolt = <2950000>; 328*53426f53SLuca Weiss }; 329*53426f53SLuca Weiss 330*53426f53SLuca Weiss pm8941_l12: l12 { 331*53426f53SLuca Weiss regulator-min-microvolt = <1800000>; 332*53426f53SLuca Weiss regulator-max-microvolt = <1800000>; 333*53426f53SLuca Weiss regulator-always-on; 334*53426f53SLuca Weiss regulator-boot-on; 335*53426f53SLuca Weiss }; 336*53426f53SLuca Weiss 337*53426f53SLuca Weiss pm8941_l13: l13 { 338*53426f53SLuca Weiss regulator-min-microvolt = <1800000>; 339*53426f53SLuca Weiss regulator-max-microvolt = <2950000>; 340*53426f53SLuca Weiss regulator-boot-on; 341*53426f53SLuca Weiss }; 342*53426f53SLuca Weiss 343*53426f53SLuca Weiss pm8941_l14: l14 { 344*53426f53SLuca Weiss regulator-min-microvolt = <1800000>; 345*53426f53SLuca Weiss regulator-max-microvolt = <1800000>; 346*53426f53SLuca Weiss }; 347*53426f53SLuca Weiss 348*53426f53SLuca Weiss pm8941_l15: l15 { 349*53426f53SLuca Weiss regulator-min-microvolt = <2050000>; 350*53426f53SLuca Weiss regulator-max-microvolt = <2050000>; 351*53426f53SLuca Weiss }; 352*53426f53SLuca Weiss 353*53426f53SLuca Weiss pm8941_l16: l16 { 354*53426f53SLuca Weiss regulator-min-microvolt = <2700000>; 355*53426f53SLuca Weiss regulator-max-microvolt = <2700000>; 356*53426f53SLuca Weiss }; 357*53426f53SLuca Weiss 358*53426f53SLuca Weiss pm8941_l17: l17 { 359*53426f53SLuca Weiss regulator-min-microvolt = <2700000>; 360*53426f53SLuca Weiss regulator-max-microvolt = <2700000>; 361*53426f53SLuca Weiss }; 362*53426f53SLuca Weiss 363*53426f53SLuca Weiss pm8941_l18: l18 { 364*53426f53SLuca Weiss regulator-min-microvolt = <2850000>; 365*53426f53SLuca Weiss regulator-max-microvolt = <2850000>; 366*53426f53SLuca Weiss }; 367*53426f53SLuca Weiss 368*53426f53SLuca Weiss pm8941_l20: l20 { 369*53426f53SLuca Weiss regulator-min-microvolt = <2950000>; 370*53426f53SLuca Weiss regulator-max-microvolt = <2950000>; 371*53426f53SLuca Weiss regulator-system-load = <500000>; 372*53426f53SLuca Weiss regulator-allow-set-load; 373*53426f53SLuca Weiss regulator-boot-on; 374*53426f53SLuca Weiss }; 375*53426f53SLuca Weiss 376*53426f53SLuca Weiss pm8941_l21: l21 { 377*53426f53SLuca Weiss regulator-min-microvolt = <2950000>; 378*53426f53SLuca Weiss regulator-max-microvolt = <2950000>; 379*53426f53SLuca Weiss regulator-boot-on; 380*53426f53SLuca Weiss }; 381*53426f53SLuca Weiss 382*53426f53SLuca Weiss pm8941_l22: l22 { 383*53426f53SLuca Weiss regulator-min-microvolt = <3000000>; 384*53426f53SLuca Weiss regulator-max-microvolt = <3000000>; 385*53426f53SLuca Weiss }; 386*53426f53SLuca Weiss 387*53426f53SLuca Weiss pm8941_l23: l23 { 388*53426f53SLuca Weiss regulator-min-microvolt = <2800000>; 389*53426f53SLuca Weiss regulator-max-microvolt = <2800000>; 390*53426f53SLuca Weiss }; 391*53426f53SLuca Weiss 392*53426f53SLuca Weiss pm8941_l24: l24 { 393*53426f53SLuca Weiss regulator-min-microvolt = <3075000>; 394*53426f53SLuca Weiss regulator-max-microvolt = <3075000>; 395*53426f53SLuca Weiss regulator-boot-on; 396*53426f53SLuca Weiss }; 397*53426f53SLuca Weiss 398*53426f53SLuca Weiss pm8941_lvs3: lvs3 {}; 399*53426f53SLuca Weiss }; 400*53426f53SLuca Weiss}; 401*53426f53SLuca Weiss 402*53426f53SLuca Weiss&sdhc_1 { 403*53426f53SLuca Weiss vmmc-supply = <&pm8941_l20>; 404*53426f53SLuca Weiss vqmmc-supply = <&pm8941_s3>; 405*53426f53SLuca Weiss 406*53426f53SLuca Weiss pinctrl-0 = <&sdc1_on>; 407*53426f53SLuca Weiss pinctrl-1 = <&sdc1_off>; 408*53426f53SLuca Weiss pinctrl-names = "default", "sleep"; 409*53426f53SLuca Weiss 410*53426f53SLuca Weiss status = "okay"; 411*53426f53SLuca Weiss}; 412*53426f53SLuca Weiss 413*53426f53SLuca Weiss&sdhc_2 { 414*53426f53SLuca Weiss vmmc-supply = <&pm8941_l21>; 415*53426f53SLuca Weiss vqmmc-supply = <&pm8941_l13>; 416*53426f53SLuca Weiss 417*53426f53SLuca Weiss cd-gpios = <&tlmm 62 GPIO_ACTIVE_LOW>; 418*53426f53SLuca Weiss 419*53426f53SLuca Weiss pinctrl-0 = <&sdc2_on>; 420*53426f53SLuca Weiss pinctrl-1 = <&sdc2_off>; 421*53426f53SLuca Weiss pinctrl-names = "default", "sleep"; 422*53426f53SLuca Weiss 423*53426f53SLuca Weiss status = "okay"; 424*53426f53SLuca Weiss}; 425*53426f53SLuca Weiss 426*53426f53SLuca Weiss&sdhc_3 { 427*53426f53SLuca Weiss max-frequency = <100000000>; 428*53426f53SLuca Weiss vmmc-supply = <&vreg_wlan>; 429*53426f53SLuca Weiss non-removable; 430*53426f53SLuca Weiss 431*53426f53SLuca Weiss pinctrl-0 = <&sdc3_on>; 432*53426f53SLuca Weiss pinctrl-names = "default"; 433*53426f53SLuca Weiss 434*53426f53SLuca Weiss status = "okay"; 435*53426f53SLuca Weiss 436*53426f53SLuca Weiss wifi@1 { 437*53426f53SLuca Weiss compatible = "brcm,bcm4339-fmac", "brcm,bcm4329-fmac"; 438*53426f53SLuca Weiss reg = <1>; 439*53426f53SLuca Weiss 440*53426f53SLuca Weiss brcm,drive-strength = <10>; 441*53426f53SLuca Weiss 442*53426f53SLuca Weiss pinctrl-0 = <&wlan_sleep_clk_pin>; 443*53426f53SLuca Weiss pinctrl-names = "default"; 444*53426f53SLuca Weiss }; 445*53426f53SLuca Weiss}; 446*53426f53SLuca Weiss 447*53426f53SLuca Weiss&tlmm { 448*53426f53SLuca Weiss sdc1_on: sdc1-on-state { 449*53426f53SLuca Weiss clk-pins { 450*53426f53SLuca Weiss pins = "sdc1_clk"; 451*53426f53SLuca Weiss drive-strength = <16>; 452*53426f53SLuca Weiss bias-disable; 453*53426f53SLuca Weiss }; 454*53426f53SLuca Weiss 455*53426f53SLuca Weiss cmd-data-pins { 456*53426f53SLuca Weiss pins = "sdc1_cmd", "sdc1_data"; 457*53426f53SLuca Weiss drive-strength = <10>; 458*53426f53SLuca Weiss bias-pull-up; 459*53426f53SLuca Weiss }; 460*53426f53SLuca Weiss }; 461*53426f53SLuca Weiss 462*53426f53SLuca Weiss sdc2_on: sdc2-on-state { 463*53426f53SLuca Weiss clk-pins { 464*53426f53SLuca Weiss pins = "sdc2_clk"; 465*53426f53SLuca Weiss drive-strength = <6>; 466*53426f53SLuca Weiss bias-disable; 467*53426f53SLuca Weiss }; 468*53426f53SLuca Weiss 469*53426f53SLuca Weiss cmd-data-pins { 470*53426f53SLuca Weiss pins = "sdc2_cmd", "sdc2_data"; 471*53426f53SLuca Weiss drive-strength = <6>; 472*53426f53SLuca Weiss bias-pull-up; 473*53426f53SLuca Weiss }; 474*53426f53SLuca Weiss 475*53426f53SLuca Weiss cd-pins { 476*53426f53SLuca Weiss pins = "gpio62"; 477*53426f53SLuca Weiss function = "gpio"; 478*53426f53SLuca Weiss drive-strength = <2>; 479*53426f53SLuca Weiss bias-disable; 480*53426f53SLuca Weiss }; 481*53426f53SLuca Weiss }; 482*53426f53SLuca Weiss 483*53426f53SLuca Weiss sdc3_on: sdc3-on-state { 484*53426f53SLuca Weiss clk-pins { 485*53426f53SLuca Weiss pins = "gpio40"; 486*53426f53SLuca Weiss function = "sdc3"; 487*53426f53SLuca Weiss drive-strength = <10>; 488*53426f53SLuca Weiss bias-disable; 489*53426f53SLuca Weiss }; 490*53426f53SLuca Weiss 491*53426f53SLuca Weiss cmd-pins { 492*53426f53SLuca Weiss pins = "gpio39"; 493*53426f53SLuca Weiss function = "sdc3"; 494*53426f53SLuca Weiss drive-strength = <10>; 495*53426f53SLuca Weiss bias-pull-up; 496*53426f53SLuca Weiss }; 497*53426f53SLuca Weiss 498*53426f53SLuca Weiss data-pins { 499*53426f53SLuca Weiss pins = "gpio35", "gpio36", "gpio37", "gpio38"; 500*53426f53SLuca Weiss function = "sdc3"; 501*53426f53SLuca Weiss drive-strength = <10>; 502*53426f53SLuca Weiss bias-pull-up; 503*53426f53SLuca Weiss }; 504*53426f53SLuca Weiss }; 505*53426f53SLuca Weiss 506*53426f53SLuca Weiss ts_int_pin: ts-int-pin-state { 507*53426f53SLuca Weiss pins = "gpio86"; 508*53426f53SLuca Weiss function = "gpio"; 509*53426f53SLuca Weiss drive-strength = <2>; 510*53426f53SLuca Weiss bias-disable; 511*53426f53SLuca Weiss }; 512*53426f53SLuca Weiss}; 513*53426f53SLuca Weiss 514*53426f53SLuca Weiss&usb { 515*53426f53SLuca Weiss phys = <&usb_hs1_phy>; 516*53426f53SLuca Weiss phy-select = <&tcsr 0xb000 0>; 517*53426f53SLuca Weiss extcon = <&smbb>, <&usb_id>; 518*53426f53SLuca Weiss vbus-supply = <&chg_otg>; 519*53426f53SLuca Weiss 520*53426f53SLuca Weiss hnp-disable; 521*53426f53SLuca Weiss srp-disable; 522*53426f53SLuca Weiss adp-disable; 523*53426f53SLuca Weiss 524*53426f53SLuca Weiss status = "okay"; 525*53426f53SLuca Weiss}; 526*53426f53SLuca Weiss 527*53426f53SLuca Weiss&usb_hs1_phy { 528*53426f53SLuca Weiss v1p8-supply = <&pm8941_l6>; 529*53426f53SLuca Weiss v3p3-supply = <&pm8941_l24>; 530*53426f53SLuca Weiss 531*53426f53SLuca Weiss extcon = <&smbb>; 532*53426f53SLuca Weiss qcom,init-seq = /bits/ 8 <0x1 0x64>; 533*53426f53SLuca Weiss 534*53426f53SLuca Weiss status = "okay"; 535*53426f53SLuca Weiss}; 536