1*4882a593Smuzhiyun#include "qcom-msm8974pro.dtsi" 2*4882a593Smuzhiyun#include "qcom-pm8841.dtsi" 3*4882a593Smuzhiyun#include "qcom-pm8941.dtsi" 4*4882a593Smuzhiyun#include <dt-bindings/gpio/gpio.h> 5*4882a593Smuzhiyun#include <dt-bindings/input/input.h> 6*4882a593Smuzhiyun#include <dt-bindings/pinctrl/qcom,pmic-gpio.h> 7*4882a593Smuzhiyun 8*4882a593Smuzhiyun/ { 9*4882a593Smuzhiyun model = "Sony Xperia Z2 Tablet"; 10*4882a593Smuzhiyun compatible = "sony,xperia-castor", "qcom,msm8974"; 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun aliases { 13*4882a593Smuzhiyun serial0 = &blsp1_uart2; 14*4882a593Smuzhiyun }; 15*4882a593Smuzhiyun 16*4882a593Smuzhiyun chosen { 17*4882a593Smuzhiyun stdout-path = "serial0:115200n8"; 18*4882a593Smuzhiyun }; 19*4882a593Smuzhiyun 20*4882a593Smuzhiyun gpio-keys { 21*4882a593Smuzhiyun compatible = "gpio-keys"; 22*4882a593Smuzhiyun input-name = "gpio-keys"; 23*4882a593Smuzhiyun 24*4882a593Smuzhiyun pinctrl-names = "default"; 25*4882a593Smuzhiyun pinctrl-0 = <&gpio_keys_pin_a>; 26*4882a593Smuzhiyun 27*4882a593Smuzhiyun volume-down { 28*4882a593Smuzhiyun label = "volume_down"; 29*4882a593Smuzhiyun gpios = <&pm8941_gpios 2 GPIO_ACTIVE_LOW>; 30*4882a593Smuzhiyun linux,input-type = <1>; 31*4882a593Smuzhiyun linux,code = <KEY_VOLUMEDOWN>; 32*4882a593Smuzhiyun }; 33*4882a593Smuzhiyun 34*4882a593Smuzhiyun camera-snapshot { 35*4882a593Smuzhiyun label = "camera_snapshot"; 36*4882a593Smuzhiyun gpios = <&pm8941_gpios 3 GPIO_ACTIVE_LOW>; 37*4882a593Smuzhiyun linux,input-type = <1>; 38*4882a593Smuzhiyun linux,code = <KEY_CAMERA>; 39*4882a593Smuzhiyun }; 40*4882a593Smuzhiyun 41*4882a593Smuzhiyun camera-focus { 42*4882a593Smuzhiyun label = "camera_focus"; 43*4882a593Smuzhiyun gpios = <&pm8941_gpios 4 GPIO_ACTIVE_LOW>; 44*4882a593Smuzhiyun linux,input-type = <1>; 45*4882a593Smuzhiyun linux,code = <KEY_CAMERA_FOCUS>; 46*4882a593Smuzhiyun }; 47*4882a593Smuzhiyun 48*4882a593Smuzhiyun volume-up { 49*4882a593Smuzhiyun label = "volume_up"; 50*4882a593Smuzhiyun gpios = <&pm8941_gpios 5 GPIO_ACTIVE_LOW>; 51*4882a593Smuzhiyun linux,input-type = <1>; 52*4882a593Smuzhiyun linux,code = <KEY_VOLUMEUP>; 53*4882a593Smuzhiyun }; 54*4882a593Smuzhiyun }; 55*4882a593Smuzhiyun 56*4882a593Smuzhiyun smd { 57*4882a593Smuzhiyun rpm { 58*4882a593Smuzhiyun rpm_requests { 59*4882a593Smuzhiyun pm8941-regulators { 60*4882a593Smuzhiyun vdd_l1_l3-supply = <&pm8941_s1>; 61*4882a593Smuzhiyun vdd_l2_lvs1_2_3-supply = <&pm8941_s3>; 62*4882a593Smuzhiyun vdd_l4_l11-supply = <&pm8941_s1>; 63*4882a593Smuzhiyun vdd_l5_l7-supply = <&pm8941_s2>; 64*4882a593Smuzhiyun vdd_l6_l12_l14_l15-supply = <&pm8941_s2>; 65*4882a593Smuzhiyun vdd_l9_l10_l17_l22-supply = <&vreg_boost>; 66*4882a593Smuzhiyun vdd_l13_l20_l23_l24-supply = <&vreg_boost>; 67*4882a593Smuzhiyun vdd_l21-supply = <&vreg_boost>; 68*4882a593Smuzhiyun 69*4882a593Smuzhiyun s1 { 70*4882a593Smuzhiyun regulator-min-microvolt = <1300000>; 71*4882a593Smuzhiyun regulator-max-microvolt = <1300000>; 72*4882a593Smuzhiyun regulator-always-on; 73*4882a593Smuzhiyun regulator-boot-on; 74*4882a593Smuzhiyun }; 75*4882a593Smuzhiyun 76*4882a593Smuzhiyun s2 { 77*4882a593Smuzhiyun regulator-min-microvolt = <2150000>; 78*4882a593Smuzhiyun regulator-max-microvolt = <2150000>; 79*4882a593Smuzhiyun regulator-boot-on; 80*4882a593Smuzhiyun }; 81*4882a593Smuzhiyun 82*4882a593Smuzhiyun s3 { 83*4882a593Smuzhiyun regulator-min-microvolt = <1800000>; 84*4882a593Smuzhiyun regulator-max-microvolt = <1800000>; 85*4882a593Smuzhiyun regulator-always-on; 86*4882a593Smuzhiyun regulator-boot-on; 87*4882a593Smuzhiyun 88*4882a593Smuzhiyun regulator-system-load = <154000>; 89*4882a593Smuzhiyun }; 90*4882a593Smuzhiyun 91*4882a593Smuzhiyun s4 { 92*4882a593Smuzhiyun regulator-min-microvolt = <5000000>; 93*4882a593Smuzhiyun regulator-max-microvolt = <5000000>; 94*4882a593Smuzhiyun }; 95*4882a593Smuzhiyun 96*4882a593Smuzhiyun l1 { 97*4882a593Smuzhiyun regulator-min-microvolt = <1225000>; 98*4882a593Smuzhiyun regulator-max-microvolt = <1225000>; 99*4882a593Smuzhiyun 100*4882a593Smuzhiyun regulator-always-on; 101*4882a593Smuzhiyun regulator-boot-on; 102*4882a593Smuzhiyun }; 103*4882a593Smuzhiyun 104*4882a593Smuzhiyun l2 { 105*4882a593Smuzhiyun regulator-min-microvolt = <1200000>; 106*4882a593Smuzhiyun regulator-max-microvolt = <1200000>; 107*4882a593Smuzhiyun }; 108*4882a593Smuzhiyun 109*4882a593Smuzhiyun l3 { 110*4882a593Smuzhiyun regulator-min-microvolt = <1200000>; 111*4882a593Smuzhiyun regulator-max-microvolt = <1200000>; 112*4882a593Smuzhiyun }; 113*4882a593Smuzhiyun 114*4882a593Smuzhiyun l4 { 115*4882a593Smuzhiyun regulator-min-microvolt = <1225000>; 116*4882a593Smuzhiyun regulator-max-microvolt = <1225000>; 117*4882a593Smuzhiyun }; 118*4882a593Smuzhiyun 119*4882a593Smuzhiyun l5 { 120*4882a593Smuzhiyun regulator-min-microvolt = <1800000>; 121*4882a593Smuzhiyun regulator-max-microvolt = <1800000>; 122*4882a593Smuzhiyun }; 123*4882a593Smuzhiyun 124*4882a593Smuzhiyun l6 { 125*4882a593Smuzhiyun regulator-min-microvolt = <1800000>; 126*4882a593Smuzhiyun regulator-max-microvolt = <1800000>; 127*4882a593Smuzhiyun 128*4882a593Smuzhiyun regulator-boot-on; 129*4882a593Smuzhiyun }; 130*4882a593Smuzhiyun 131*4882a593Smuzhiyun l7 { 132*4882a593Smuzhiyun regulator-min-microvolt = <1800000>; 133*4882a593Smuzhiyun regulator-max-microvolt = <1800000>; 134*4882a593Smuzhiyun 135*4882a593Smuzhiyun regulator-boot-on; 136*4882a593Smuzhiyun }; 137*4882a593Smuzhiyun 138*4882a593Smuzhiyun l8 { 139*4882a593Smuzhiyun regulator-min-microvolt = <1800000>; 140*4882a593Smuzhiyun regulator-max-microvolt = <1800000>; 141*4882a593Smuzhiyun }; 142*4882a593Smuzhiyun 143*4882a593Smuzhiyun l9 { 144*4882a593Smuzhiyun regulator-min-microvolt = <1800000>; 145*4882a593Smuzhiyun regulator-max-microvolt = <2950000>; 146*4882a593Smuzhiyun }; 147*4882a593Smuzhiyun 148*4882a593Smuzhiyun l11 { 149*4882a593Smuzhiyun regulator-min-microvolt = <1300000>; 150*4882a593Smuzhiyun regulator-max-microvolt = <1350000>; 151*4882a593Smuzhiyun }; 152*4882a593Smuzhiyun 153*4882a593Smuzhiyun l12 { 154*4882a593Smuzhiyun regulator-min-microvolt = <1800000>; 155*4882a593Smuzhiyun regulator-max-microvolt = <1800000>; 156*4882a593Smuzhiyun 157*4882a593Smuzhiyun regulator-always-on; 158*4882a593Smuzhiyun regulator-boot-on; 159*4882a593Smuzhiyun }; 160*4882a593Smuzhiyun 161*4882a593Smuzhiyun l13 { 162*4882a593Smuzhiyun regulator-min-microvolt = <1800000>; 163*4882a593Smuzhiyun regulator-max-microvolt = <2950000>; 164*4882a593Smuzhiyun 165*4882a593Smuzhiyun regulator-boot-on; 166*4882a593Smuzhiyun }; 167*4882a593Smuzhiyun 168*4882a593Smuzhiyun l14 { 169*4882a593Smuzhiyun regulator-min-microvolt = <1800000>; 170*4882a593Smuzhiyun regulator-max-microvolt = <1800000>; 171*4882a593Smuzhiyun }; 172*4882a593Smuzhiyun 173*4882a593Smuzhiyun l15 { 174*4882a593Smuzhiyun regulator-min-microvolt = <2050000>; 175*4882a593Smuzhiyun regulator-max-microvolt = <2050000>; 176*4882a593Smuzhiyun }; 177*4882a593Smuzhiyun 178*4882a593Smuzhiyun l16 { 179*4882a593Smuzhiyun regulator-min-microvolt = <2700000>; 180*4882a593Smuzhiyun regulator-max-microvolt = <2700000>; 181*4882a593Smuzhiyun }; 182*4882a593Smuzhiyun 183*4882a593Smuzhiyun l17 { 184*4882a593Smuzhiyun regulator-min-microvolt = <2700000>; 185*4882a593Smuzhiyun regulator-max-microvolt = <2700000>; 186*4882a593Smuzhiyun }; 187*4882a593Smuzhiyun 188*4882a593Smuzhiyun l18 { 189*4882a593Smuzhiyun regulator-min-microvolt = <2850000>; 190*4882a593Smuzhiyun regulator-max-microvolt = <2850000>; 191*4882a593Smuzhiyun }; 192*4882a593Smuzhiyun 193*4882a593Smuzhiyun l19 { 194*4882a593Smuzhiyun regulator-min-microvolt = <2850000>; 195*4882a593Smuzhiyun regulator-max-microvolt = <2850000>; 196*4882a593Smuzhiyun }; 197*4882a593Smuzhiyun 198*4882a593Smuzhiyun l20 { 199*4882a593Smuzhiyun regulator-min-microvolt = <2950000>; 200*4882a593Smuzhiyun regulator-max-microvolt = <2950000>; 201*4882a593Smuzhiyun 202*4882a593Smuzhiyun regulator-allow-set-load; 203*4882a593Smuzhiyun regulator-boot-on; 204*4882a593Smuzhiyun regulator-allow-set-load; 205*4882a593Smuzhiyun regulator-system-load = <500000>; 206*4882a593Smuzhiyun }; 207*4882a593Smuzhiyun 208*4882a593Smuzhiyun l21 { 209*4882a593Smuzhiyun regulator-min-microvolt = <2950000>; 210*4882a593Smuzhiyun regulator-max-microvolt = <2950000>; 211*4882a593Smuzhiyun 212*4882a593Smuzhiyun regulator-boot-on; 213*4882a593Smuzhiyun }; 214*4882a593Smuzhiyun 215*4882a593Smuzhiyun l22 { 216*4882a593Smuzhiyun regulator-min-microvolt = <3000000>; 217*4882a593Smuzhiyun regulator-max-microvolt = <3000000>; 218*4882a593Smuzhiyun }; 219*4882a593Smuzhiyun 220*4882a593Smuzhiyun l23 { 221*4882a593Smuzhiyun regulator-min-microvolt = <2800000>; 222*4882a593Smuzhiyun regulator-max-microvolt = <2800000>; 223*4882a593Smuzhiyun }; 224*4882a593Smuzhiyun 225*4882a593Smuzhiyun l24 { 226*4882a593Smuzhiyun regulator-min-microvolt = <3075000>; 227*4882a593Smuzhiyun regulator-max-microvolt = <3075000>; 228*4882a593Smuzhiyun 229*4882a593Smuzhiyun regulator-boot-on; 230*4882a593Smuzhiyun }; 231*4882a593Smuzhiyun }; 232*4882a593Smuzhiyun }; 233*4882a593Smuzhiyun }; 234*4882a593Smuzhiyun }; 235*4882a593Smuzhiyun 236*4882a593Smuzhiyun vreg_bl_vddio: lcd-backlight-vddio { 237*4882a593Smuzhiyun compatible = "regulator-fixed"; 238*4882a593Smuzhiyun regulator-name = "vreg_bl_vddio"; 239*4882a593Smuzhiyun regulator-min-microvolt = <3150000>; 240*4882a593Smuzhiyun regulator-max-microvolt = <3150000>; 241*4882a593Smuzhiyun 242*4882a593Smuzhiyun gpio = <&msmgpio 69 0>; 243*4882a593Smuzhiyun enable-active-high; 244*4882a593Smuzhiyun 245*4882a593Smuzhiyun vin-supply = <&pm8941_s3>; 246*4882a593Smuzhiyun startup-delay-us = <70000>; 247*4882a593Smuzhiyun 248*4882a593Smuzhiyun pinctrl-names = "default"; 249*4882a593Smuzhiyun pinctrl-0 = <&lcd_backlight_en_pin_a>; 250*4882a593Smuzhiyun }; 251*4882a593Smuzhiyun 252*4882a593Smuzhiyun vreg_vsp: lcd-dcdc-regulator { 253*4882a593Smuzhiyun compatible = "regulator-fixed"; 254*4882a593Smuzhiyun regulator-name = "vreg_vsp"; 255*4882a593Smuzhiyun regulator-min-microvolt = <5600000>; 256*4882a593Smuzhiyun regulator-max-microvolt = <5600000>; 257*4882a593Smuzhiyun 258*4882a593Smuzhiyun gpio = <&pm8941_gpios 20 GPIO_ACTIVE_HIGH>; 259*4882a593Smuzhiyun enable-active-high; 260*4882a593Smuzhiyun 261*4882a593Smuzhiyun pinctrl-names = "default"; 262*4882a593Smuzhiyun pinctrl-0 = <&lcd_dcdc_en_pin_a>; 263*4882a593Smuzhiyun }; 264*4882a593Smuzhiyun 265*4882a593Smuzhiyun vreg_wlan: wlan-regulator { 266*4882a593Smuzhiyun compatible = "regulator-fixed"; 267*4882a593Smuzhiyun 268*4882a593Smuzhiyun regulator-name = "wl-reg"; 269*4882a593Smuzhiyun regulator-min-microvolt = <3300000>; 270*4882a593Smuzhiyun regulator-max-microvolt = <3300000>; 271*4882a593Smuzhiyun 272*4882a593Smuzhiyun gpio = <&pm8941_gpios 18 GPIO_ACTIVE_HIGH>; 273*4882a593Smuzhiyun enable-active-high; 274*4882a593Smuzhiyun 275*4882a593Smuzhiyun pinctrl-names = "default"; 276*4882a593Smuzhiyun pinctrl-0 = <&wlan_regulator_pin>; 277*4882a593Smuzhiyun }; 278*4882a593Smuzhiyun}; 279*4882a593Smuzhiyun 280*4882a593Smuzhiyun&soc { 281*4882a593Smuzhiyun sdhci@f9824900 { 282*4882a593Smuzhiyun status = "ok"; 283*4882a593Smuzhiyun 284*4882a593Smuzhiyun vmmc-supply = <&pm8941_l20>; 285*4882a593Smuzhiyun vqmmc-supply = <&pm8941_s3>; 286*4882a593Smuzhiyun 287*4882a593Smuzhiyun bus-width = <8>; 288*4882a593Smuzhiyun non-removable; 289*4882a593Smuzhiyun 290*4882a593Smuzhiyun pinctrl-names = "default"; 291*4882a593Smuzhiyun pinctrl-0 = <&sdhc1_pin_a>; 292*4882a593Smuzhiyun }; 293*4882a593Smuzhiyun 294*4882a593Smuzhiyun sdhci@f9864900 { 295*4882a593Smuzhiyun status = "ok"; 296*4882a593Smuzhiyun 297*4882a593Smuzhiyun max-frequency = <100000000>; 298*4882a593Smuzhiyun non-removable; 299*4882a593Smuzhiyun vmmc-supply = <&vreg_wlan>; 300*4882a593Smuzhiyun 301*4882a593Smuzhiyun pinctrl-names = "default"; 302*4882a593Smuzhiyun pinctrl-0 = <&sdhc3_pin_a>; 303*4882a593Smuzhiyun 304*4882a593Smuzhiyun #address-cells = <1>; 305*4882a593Smuzhiyun #size-cells = <0>; 306*4882a593Smuzhiyun 307*4882a593Smuzhiyun bcrmf@1 { 308*4882a593Smuzhiyun compatible = "brcm,bcm4339-fmac", "brcm,bcm4329-fmac"; 309*4882a593Smuzhiyun reg = <1>; 310*4882a593Smuzhiyun 311*4882a593Smuzhiyun brcm,drive-strength = <10>; 312*4882a593Smuzhiyun 313*4882a593Smuzhiyun pinctrl-names = "default"; 314*4882a593Smuzhiyun pinctrl-0 = <&wlan_sleep_clk_pin>; 315*4882a593Smuzhiyun }; 316*4882a593Smuzhiyun }; 317*4882a593Smuzhiyun 318*4882a593Smuzhiyun sdhci@f98a4900 { 319*4882a593Smuzhiyun status = "ok"; 320*4882a593Smuzhiyun 321*4882a593Smuzhiyun bus-width = <4>; 322*4882a593Smuzhiyun 323*4882a593Smuzhiyun vmmc-supply = <&pm8941_l21>; 324*4882a593Smuzhiyun vqmmc-supply = <&pm8941_l13>; 325*4882a593Smuzhiyun 326*4882a593Smuzhiyun cd-gpios = <&msmgpio 62 GPIO_ACTIVE_LOW>; 327*4882a593Smuzhiyun 328*4882a593Smuzhiyun pinctrl-names = "default"; 329*4882a593Smuzhiyun pinctrl-0 = <&sdhc2_pin_a>, <&sdhc2_cd_pin_a>; 330*4882a593Smuzhiyun }; 331*4882a593Smuzhiyun 332*4882a593Smuzhiyun serial@f991e000 { 333*4882a593Smuzhiyun status = "ok"; 334*4882a593Smuzhiyun 335*4882a593Smuzhiyun pinctrl-names = "default"; 336*4882a593Smuzhiyun pinctrl-0 = <&blsp1_uart2_pin_a>; 337*4882a593Smuzhiyun }; 338*4882a593Smuzhiyun 339*4882a593Smuzhiyun usb@f9a55000 { 340*4882a593Smuzhiyun status = "ok"; 341*4882a593Smuzhiyun 342*4882a593Smuzhiyun phys = <&usb_hs1_phy>; 343*4882a593Smuzhiyun phy-select = <&tcsr 0xb000 0>; 344*4882a593Smuzhiyun extcon = <&smbb>, <&usb_id>; 345*4882a593Smuzhiyun vbus-supply = <&chg_otg>; 346*4882a593Smuzhiyun 347*4882a593Smuzhiyun hnp-disable; 348*4882a593Smuzhiyun srp-disable; 349*4882a593Smuzhiyun adp-disable; 350*4882a593Smuzhiyun 351*4882a593Smuzhiyun ulpi { 352*4882a593Smuzhiyun phy@a { 353*4882a593Smuzhiyun status = "ok"; 354*4882a593Smuzhiyun 355*4882a593Smuzhiyun v1p8-supply = <&pm8941_l6>; 356*4882a593Smuzhiyun v3p3-supply = <&pm8941_l24>; 357*4882a593Smuzhiyun 358*4882a593Smuzhiyun extcon = <&smbb>; 359*4882a593Smuzhiyun qcom,init-seq = /bits/ 8 <0x1 0x64>; 360*4882a593Smuzhiyun }; 361*4882a593Smuzhiyun }; 362*4882a593Smuzhiyun }; 363*4882a593Smuzhiyun 364*4882a593Smuzhiyun pinctrl@fd510000 { 365*4882a593Smuzhiyun blsp1_uart2_pin_a: blsp1-uart2-pin-active { 366*4882a593Smuzhiyun rx { 367*4882a593Smuzhiyun pins = "gpio5"; 368*4882a593Smuzhiyun function = "blsp_uart2"; 369*4882a593Smuzhiyun 370*4882a593Smuzhiyun drive-strength = <2>; 371*4882a593Smuzhiyun bias-pull-up; 372*4882a593Smuzhiyun }; 373*4882a593Smuzhiyun 374*4882a593Smuzhiyun tx { 375*4882a593Smuzhiyun pins = "gpio4"; 376*4882a593Smuzhiyun function = "blsp_uart2"; 377*4882a593Smuzhiyun 378*4882a593Smuzhiyun drive-strength = <4>; 379*4882a593Smuzhiyun bias-disable; 380*4882a593Smuzhiyun }; 381*4882a593Smuzhiyun }; 382*4882a593Smuzhiyun 383*4882a593Smuzhiyun i2c8_pins: i2c8 { 384*4882a593Smuzhiyun mux { 385*4882a593Smuzhiyun pins = "gpio47", "gpio48"; 386*4882a593Smuzhiyun function = "blsp_i2c8"; 387*4882a593Smuzhiyun 388*4882a593Smuzhiyun drive-strength = <2>; 389*4882a593Smuzhiyun bias-disable; 390*4882a593Smuzhiyun }; 391*4882a593Smuzhiyun }; 392*4882a593Smuzhiyun 393*4882a593Smuzhiyun i2c11_pins: i2c11 { 394*4882a593Smuzhiyun mux { 395*4882a593Smuzhiyun pins = "gpio83", "gpio84"; 396*4882a593Smuzhiyun function = "blsp_i2c11"; 397*4882a593Smuzhiyun 398*4882a593Smuzhiyun drive-strength = <2>; 399*4882a593Smuzhiyun bias-disable; 400*4882a593Smuzhiyun }; 401*4882a593Smuzhiyun }; 402*4882a593Smuzhiyun 403*4882a593Smuzhiyun lcd_backlight_en_pin_a: lcd-backlight-vddio { 404*4882a593Smuzhiyun pins = "gpio69"; 405*4882a593Smuzhiyun drive-strength = <10>; 406*4882a593Smuzhiyun output-low; 407*4882a593Smuzhiyun bias-disable; 408*4882a593Smuzhiyun }; 409*4882a593Smuzhiyun 410*4882a593Smuzhiyun sdhc1_pin_a: sdhc1-pin-active { 411*4882a593Smuzhiyun clk { 412*4882a593Smuzhiyun pins = "sdc1_clk"; 413*4882a593Smuzhiyun drive-strength = <16>; 414*4882a593Smuzhiyun bias-disable; 415*4882a593Smuzhiyun }; 416*4882a593Smuzhiyun 417*4882a593Smuzhiyun cmd-data { 418*4882a593Smuzhiyun pins = "sdc1_cmd", "sdc1_data"; 419*4882a593Smuzhiyun drive-strength = <10>; 420*4882a593Smuzhiyun bias-pull-up; 421*4882a593Smuzhiyun }; 422*4882a593Smuzhiyun }; 423*4882a593Smuzhiyun 424*4882a593Smuzhiyun sdhc2_cd_pin_a: sdhc2-cd-pin-active { 425*4882a593Smuzhiyun pins = "gpio62"; 426*4882a593Smuzhiyun function = "gpio"; 427*4882a593Smuzhiyun 428*4882a593Smuzhiyun drive-strength = <2>; 429*4882a593Smuzhiyun bias-disable; 430*4882a593Smuzhiyun }; 431*4882a593Smuzhiyun 432*4882a593Smuzhiyun sdhc2_pin_a: sdhc2-pin-active { 433*4882a593Smuzhiyun clk { 434*4882a593Smuzhiyun pins = "sdc2_clk"; 435*4882a593Smuzhiyun drive-strength = <6>; 436*4882a593Smuzhiyun bias-disable; 437*4882a593Smuzhiyun }; 438*4882a593Smuzhiyun 439*4882a593Smuzhiyun cmd-data { 440*4882a593Smuzhiyun pins = "sdc2_cmd", "sdc2_data"; 441*4882a593Smuzhiyun drive-strength = <6>; 442*4882a593Smuzhiyun bias-pull-up; 443*4882a593Smuzhiyun }; 444*4882a593Smuzhiyun }; 445*4882a593Smuzhiyun 446*4882a593Smuzhiyun sdhc3_pin_a: sdhc3-pin-active { 447*4882a593Smuzhiyun clk { 448*4882a593Smuzhiyun pins = "gpio40"; 449*4882a593Smuzhiyun function = "sdc3"; 450*4882a593Smuzhiyun 451*4882a593Smuzhiyun drive-strength = <10>; 452*4882a593Smuzhiyun bias-disable; 453*4882a593Smuzhiyun }; 454*4882a593Smuzhiyun 455*4882a593Smuzhiyun cmd { 456*4882a593Smuzhiyun pins = "gpio39"; 457*4882a593Smuzhiyun function = "sdc3"; 458*4882a593Smuzhiyun 459*4882a593Smuzhiyun drive-strength = <10>; 460*4882a593Smuzhiyun bias-pull-up; 461*4882a593Smuzhiyun }; 462*4882a593Smuzhiyun 463*4882a593Smuzhiyun data { 464*4882a593Smuzhiyun pins = "gpio35", "gpio36", "gpio37", "gpio38"; 465*4882a593Smuzhiyun function = "sdc3"; 466*4882a593Smuzhiyun 467*4882a593Smuzhiyun drive-strength = <10>; 468*4882a593Smuzhiyun bias-pull-up; 469*4882a593Smuzhiyun }; 470*4882a593Smuzhiyun }; 471*4882a593Smuzhiyun 472*4882a593Smuzhiyun ts_int_pin: synaptics { 473*4882a593Smuzhiyun pin { 474*4882a593Smuzhiyun pins = "gpio86"; 475*4882a593Smuzhiyun function = "gpio"; 476*4882a593Smuzhiyun 477*4882a593Smuzhiyun drive-strength = <2>; 478*4882a593Smuzhiyun bias-disable; 479*4882a593Smuzhiyun input-enable; 480*4882a593Smuzhiyun }; 481*4882a593Smuzhiyun }; 482*4882a593Smuzhiyun }; 483*4882a593Smuzhiyun 484*4882a593Smuzhiyun i2c@f9964000 { 485*4882a593Smuzhiyun status = "ok"; 486*4882a593Smuzhiyun 487*4882a593Smuzhiyun clock-frequency = <355000>; 488*4882a593Smuzhiyun qcom,src-freq = <50000000>; 489*4882a593Smuzhiyun 490*4882a593Smuzhiyun pinctrl-names = "default"; 491*4882a593Smuzhiyun pinctrl-0 = <&i2c8_pins>; 492*4882a593Smuzhiyun 493*4882a593Smuzhiyun synaptics@2c { 494*4882a593Smuzhiyun compatible = "syna,rmi4-i2c"; 495*4882a593Smuzhiyun reg = <0x2c>; 496*4882a593Smuzhiyun 497*4882a593Smuzhiyun interrupt-parent = <&msmgpio>; 498*4882a593Smuzhiyun interrupts = <86 IRQ_TYPE_EDGE_FALLING>; 499*4882a593Smuzhiyun 500*4882a593Smuzhiyun #address-cells = <1>; 501*4882a593Smuzhiyun #size-cells = <0>; 502*4882a593Smuzhiyun 503*4882a593Smuzhiyun vdd-supply = <&pm8941_l22>; 504*4882a593Smuzhiyun vio-supply = <&pm8941_lvs3>; 505*4882a593Smuzhiyun 506*4882a593Smuzhiyun pinctrl-names = "default"; 507*4882a593Smuzhiyun pinctrl-0 = <&ts_int_pin>; 508*4882a593Smuzhiyun 509*4882a593Smuzhiyun syna,startup-delay-ms = <10>; 510*4882a593Smuzhiyun 511*4882a593Smuzhiyun rmi-f01@1 { 512*4882a593Smuzhiyun reg = <0x1>; 513*4882a593Smuzhiyun syna,nosleep = <1>; 514*4882a593Smuzhiyun }; 515*4882a593Smuzhiyun 516*4882a593Smuzhiyun rmi-f11@11 { 517*4882a593Smuzhiyun reg = <0x11>; 518*4882a593Smuzhiyun syna,f11-flip-x = <1>; 519*4882a593Smuzhiyun syna,sensor-type = <1>; 520*4882a593Smuzhiyun }; 521*4882a593Smuzhiyun }; 522*4882a593Smuzhiyun }; 523*4882a593Smuzhiyun 524*4882a593Smuzhiyun i2c@f9967000 { 525*4882a593Smuzhiyun status = "ok"; 526*4882a593Smuzhiyun pinctrl-names = "default"; 527*4882a593Smuzhiyun pinctrl-0 = <&i2c11_pins>; 528*4882a593Smuzhiyun clock-frequency = <355000>; 529*4882a593Smuzhiyun qcom,src-freq = <50000000>; 530*4882a593Smuzhiyun 531*4882a593Smuzhiyun lp8566_wled: backlight@2c { 532*4882a593Smuzhiyun compatible = "ti,lp8556"; 533*4882a593Smuzhiyun reg = <0x2c>; 534*4882a593Smuzhiyun power-supply = <&vreg_bl_vddio>; 535*4882a593Smuzhiyun 536*4882a593Smuzhiyun bl-name = "backlight"; 537*4882a593Smuzhiyun dev-ctrl = /bits/ 8 <0x05>; 538*4882a593Smuzhiyun init-brt = /bits/ 8 <0x3f>; 539*4882a593Smuzhiyun rom_a0h { 540*4882a593Smuzhiyun rom-addr = /bits/ 8 <0xa0>; 541*4882a593Smuzhiyun rom-val = /bits/ 8 <0xff>; 542*4882a593Smuzhiyun }; 543*4882a593Smuzhiyun rom_a1h { 544*4882a593Smuzhiyun rom-addr = /bits/ 8 <0xa1>; 545*4882a593Smuzhiyun rom-val = /bits/ 8 <0x3f>; 546*4882a593Smuzhiyun }; 547*4882a593Smuzhiyun rom_a2h { 548*4882a593Smuzhiyun rom-addr = /bits/ 8 <0xa2>; 549*4882a593Smuzhiyun rom-val = /bits/ 8 <0x20>; 550*4882a593Smuzhiyun }; 551*4882a593Smuzhiyun rom_a3h { 552*4882a593Smuzhiyun rom-addr = /bits/ 8 <0xa3>; 553*4882a593Smuzhiyun rom-val = /bits/ 8 <0x5e>; 554*4882a593Smuzhiyun }; 555*4882a593Smuzhiyun rom_a4h { 556*4882a593Smuzhiyun rom-addr = /bits/ 8 <0xa4>; 557*4882a593Smuzhiyun rom-val = /bits/ 8 <0x02>; 558*4882a593Smuzhiyun }; 559*4882a593Smuzhiyun rom_a5h { 560*4882a593Smuzhiyun rom-addr = /bits/ 8 <0xa5>; 561*4882a593Smuzhiyun rom-val = /bits/ 8 <0x04>; 562*4882a593Smuzhiyun }; 563*4882a593Smuzhiyun rom_a6h { 564*4882a593Smuzhiyun rom-addr = /bits/ 8 <0xa6>; 565*4882a593Smuzhiyun rom-val = /bits/ 8 <0x80>; 566*4882a593Smuzhiyun }; 567*4882a593Smuzhiyun rom_a7h { 568*4882a593Smuzhiyun rom-addr = /bits/ 8 <0xa7>; 569*4882a593Smuzhiyun rom-val = /bits/ 8 <0xf7>; 570*4882a593Smuzhiyun }; 571*4882a593Smuzhiyun rom_a9h { 572*4882a593Smuzhiyun rom-addr = /bits/ 8 <0xa9>; 573*4882a593Smuzhiyun rom-val = /bits/ 8 <0x80>; 574*4882a593Smuzhiyun }; 575*4882a593Smuzhiyun rom_aah { 576*4882a593Smuzhiyun rom-addr = /bits/ 8 <0xaa>; 577*4882a593Smuzhiyun rom-val = /bits/ 8 <0x0f>; 578*4882a593Smuzhiyun }; 579*4882a593Smuzhiyun rom_aeh { 580*4882a593Smuzhiyun rom-addr = /bits/ 8 <0xae>; 581*4882a593Smuzhiyun rom-val = /bits/ 8 <0x0f>; 582*4882a593Smuzhiyun }; 583*4882a593Smuzhiyun }; 584*4882a593Smuzhiyun }; 585*4882a593Smuzhiyun}; 586*4882a593Smuzhiyun 587*4882a593Smuzhiyun&spmi_bus { 588*4882a593Smuzhiyun pm8941@0 { 589*4882a593Smuzhiyun charger@1000 { 590*4882a593Smuzhiyun qcom,fast-charge-safe-current = <1500000>; 591*4882a593Smuzhiyun qcom,fast-charge-current-limit = <1500000>; 592*4882a593Smuzhiyun qcom,dc-current-limit = <1800000>; 593*4882a593Smuzhiyun qcom,fast-charge-safe-voltage = <4400000>; 594*4882a593Smuzhiyun qcom,fast-charge-high-threshold-voltage = <4350000>; 595*4882a593Smuzhiyun qcom,fast-charge-low-threshold-voltage = <3400000>; 596*4882a593Smuzhiyun qcom,auto-recharge-threshold-voltage = <4200000>; 597*4882a593Smuzhiyun qcom,minimum-input-voltage = <4300000>; 598*4882a593Smuzhiyun }; 599*4882a593Smuzhiyun 600*4882a593Smuzhiyun gpios@c000 { 601*4882a593Smuzhiyun gpio_keys_pin_a: gpio-keys-active { 602*4882a593Smuzhiyun pins = "gpio2", "gpio5"; 603*4882a593Smuzhiyun function = "normal"; 604*4882a593Smuzhiyun 605*4882a593Smuzhiyun bias-pull-up; 606*4882a593Smuzhiyun power-source = <PM8941_GPIO_S3>; 607*4882a593Smuzhiyun }; 608*4882a593Smuzhiyun 609*4882a593Smuzhiyun wlan_sleep_clk_pin: wl-sleep-clk { 610*4882a593Smuzhiyun pins = "gpio17"; 611*4882a593Smuzhiyun function = "func2"; 612*4882a593Smuzhiyun 613*4882a593Smuzhiyun output-high; 614*4882a593Smuzhiyun power-source = <PM8941_GPIO_S3>; 615*4882a593Smuzhiyun }; 616*4882a593Smuzhiyun 617*4882a593Smuzhiyun wlan_regulator_pin: wl-reg-active { 618*4882a593Smuzhiyun pins = "gpio18"; 619*4882a593Smuzhiyun function = "normal"; 620*4882a593Smuzhiyun 621*4882a593Smuzhiyun bias-disable; 622*4882a593Smuzhiyun power-source = <PM8941_GPIO_S3>; 623*4882a593Smuzhiyun }; 624*4882a593Smuzhiyun 625*4882a593Smuzhiyun lcd_dcdc_en_pin_a: lcd-dcdc-en-active { 626*4882a593Smuzhiyun pins = "gpio20"; 627*4882a593Smuzhiyun function = "normal"; 628*4882a593Smuzhiyun 629*4882a593Smuzhiyun bias-disable; 630*4882a593Smuzhiyun power-source = <PM8941_GPIO_S3>; 631*4882a593Smuzhiyun input-disable; 632*4882a593Smuzhiyun output-low; 633*4882a593Smuzhiyun }; 634*4882a593Smuzhiyun 635*4882a593Smuzhiyun }; 636*4882a593Smuzhiyun 637*4882a593Smuzhiyun coincell@2800 { 638*4882a593Smuzhiyun status = "ok"; 639*4882a593Smuzhiyun qcom,rset-ohms = <2100>; 640*4882a593Smuzhiyun qcom,vset-millivolts = <3000>; 641*4882a593Smuzhiyun }; 642*4882a593Smuzhiyun }; 643*4882a593Smuzhiyun}; 644