1// SPDX-License-Identifier: GPL-2.0-only 2 3/dts-v1/; 4 5#include "msm8939-pm8916.dtsi" 6#include "msm8916-modem-qdsp6.dtsi" 7 8#include <dt-bindings/gpio/gpio.h> 9#include <dt-bindings/input/input.h> 10#include <dt-bindings/interrupt-controller/irq.h> 11 12/ { 13 model = "Asus ZenFone 2 Laser/Selfie (1080p)"; 14 compatible = "asus,z00t", "qcom,msm8939"; 15 chassis-type = "handset"; 16 17 aliases { 18 mmc0 = &sdhc_1; 19 mmc1 = &sdhc_2; 20 serial0 = &blsp_uart2; 21 }; 22 23 battery: battery { 24 compatible = "simple-battery"; 25 device-chemistry = "lithium-ion-polymer"; 26 voltage-min-design-microvolt = <3400000>; 27 voltage-max-design-microvolt = <4400000>; 28 energy-full-design-microwatt-hours = <11500000>; 29 charge-full-design-microamp-hours = <3000000>; 30 31 ocv-capacity-celsius = <(-20) 0 25 40 60>; 32 ocv-capacity-table-0 = <4378000 100>, <4220000 95>, <4125000 90>, 33 <4071000 85>, <3977000 80>, <3916000 75>, <3866000 70>, 34 <3838000 65>, <3822000 60>, <3809000 55>, <3797000 50>, 35 <3784000 45>, <3771000 40>, <3757000 35>, <3743000 30>, 36 <3726000 25>, <3707000 20>, <3688000 16>, <3670000 13>, 37 <3655000 11>, <3648000 10>, <3636000 9>, <3624000 8>, 38 <3612000 7>, <3592000 6>, <3569000 5>, <3540000 4>, 39 <3494000 3>, <3418000 2>, <3289000 1>, <3000000 0>; 40 41 ocv-capacity-table-1 = <4378000 100>, <4292000 95>, <4226000 90>, 42 <4166000 85>, <4109000 80>, <4064000 75>, <3992000 70>, 43 <3942000 65>, <3898000 60>, <3859000 55>, <3826000 50>, 44 <3802000 45>, <3788000 40>, <3779000 35>, <3768000 30>, 45 <3752000 25>, <3732000 20>, <3712000 16>, <3696000 13>, 46 <3688000 11>, <3684000 10>, <3680000 9>, <3675000 8>, 47 <3669000 7>, <3658000 6>, <3636000 5>, <3599000 4>, 48 <3544000 3>, <3466000 2>, <3341000 1>, <3000000 0>; 49 50 ocv-capacity-table-2 = <4372000 100>, <4306000 95>, <4247000 90>, 51 <4190000 85>, <4134000 80>, <4081000 75>, <4030000 70>, 52 <3984000 65>, <3930000 60>, <3884000 55>, <3850000 50>, 53 <3826000 45>, <3804000 40>, <3786000 35>, <3770000 30>, 54 <3753000 25>, <3734000 20>, <3712000 16>, <3693000 13>, 55 <3686000 11>, <3684000 10>, <3682000 9>, <3680000 8>, 56 <3676000 7>, <3668000 6>, <3643000 5>, <3600000 4>, 57 <3542000 3>, <3462000 2>, <3340000 1>, <3000000 0>; 58 59 ocv-capacity-table-3 = <4365000 100>, <4304000 95>, <4246000 90>, 60 <4189000 85>, <4133000 80>, <4080000 75>, <4030000 70>, 61 <3985000 65>, <3933000 60>, <3886000 55>, <3852000 50>, 62 <3827000 45>, <3806000 40>, <3789000 35>, <3769000 30>, 63 <3746000 25>, <3726000 20>, <3706000 16>, <3688000 13>, 64 <3681000 11>, <3678000 10>, <3676000 9>, <3676000 8>, 65 <3672000 7>, <3660000 6>, <3634000 5>, <3588000 4>, 66 <3528000 3>, <3448000 2>, <3322000 1>, <3000000 0>; 67 68 ocv-capacity-table-4 = <4358000 100>, <4298000 95>, <4240000 90>, 69 <4183000 85>, <4128000 80>, <4076000 75>, <4027000 70>, 70 <3983000 65>, <3935000 60>, <3887000 55>, <3852000 50>, 71 <3827000 45>, <3806000 40>, <3789000 35>, <3764000 30>, 72 <3738000 25>, <3715000 20>, <3695000 16>, <3677000 13>, 73 <3672000 11>, <3669000 10>, <3667000 9>, <3666000 8>, 74 <3662000 7>, <3652000 6>, <3622000 5>, <3577000 4>, 75 <3518000 3>, <3440000 2>, <3321000 1>, <3000000 0>; 76 }; 77 78 chosen { 79 stdout-path = "serial0"; 80 }; 81 82 gpio-keys { 83 compatible = "gpio-keys"; 84 85 pinctrl-0 = <&gpio_hall_sensor_default>, <&gpio_keys_default>; 86 pinctrl-names = "default"; 87 88 button-volume-up { 89 label = "Volume Up"; 90 gpios = <&tlmm 107 GPIO_ACTIVE_LOW>; 91 linux,code = <KEY_VOLUMEUP>; 92 debounce-interval = <15>; 93 }; 94 95 button-volume-down { 96 label = "Volume Down"; 97 gpios = <&tlmm 117 GPIO_ACTIVE_LOW>; 98 linux,code = <KEY_VOLUMEDOWN>; 99 debounce-interval = <15>; 100 }; 101 102 event-hall-sensor { 103 label = "Hall Effect Sensor"; 104 gpios = <&tlmm 108 GPIO_ACTIVE_LOW>; 105 linux,input-type = <EV_SW>; 106 linux,code = <SW_LID>; 107 linux,can-disable; 108 debounce-interval = <150>; 109 }; 110 }; 111 112 reg_sd_vmmc: regulator-sdcard-vmmc { 113 compatible = "regulator-fixed"; 114 regulator-name = "sdcard-vmmc"; 115 regulator-min-microvolt = <2950000>; 116 regulator-max-microvolt = <2950000>; 117 118 gpio = <&tlmm 87 GPIO_ACTIVE_HIGH>; 119 enable-active-high; 120 121 startup-delay-us = <200>; 122 123 pinctrl-0 = <&sd_vmmc_en_default>; 124 pinctrl-names = "default"; 125 }; 126 127 usb_id: usb-id { 128 compatible = "linux,extcon-usb-gpio"; 129 id-gpios = <&tlmm 110 GPIO_ACTIVE_HIGH>; 130 pinctrl-0 = <&usb_id_default>; 131 pinctrl-names = "default"; 132 }; 133}; 134 135&blsp_i2c2 { 136 status = "okay"; 137 138 magnetometer@c { 139 compatible = "asahi-kasei,ak09911"; 140 reg = <0x0c>; 141 142 vdd-supply = <&pm8916_l8>; 143 vid-supply = <&pm8916_l6>; 144 145 reset-gpios = <&tlmm 112 GPIO_ACTIVE_LOW>; 146 pinctrl-0 = <&mag_reset_default>; 147 pinctrl-names = "default"; 148 }; 149 150 light-sensor@60 { 151 compatible = "capella,cm36686", "vishay,vcnl4040"; 152 reg = <0x60>; 153 154 interrupts-extended = <&tlmm 113 IRQ_TYPE_EDGE_FALLING>; 155 proximity-near-level = <30>; 156 157 vdd-supply = <&pm8916_l8>; 158 vio-supply = <&pm8916_l6>; 159 160 pinctrl-0 = <&light_int_default>; 161 pinctrl-names = "default"; 162 }; 163 164 imu@68 { 165 compatible = "invensense,mpu6515"; 166 reg = <0x68>; 167 168 interrupts-extended = <&tlmm 36 IRQ_TYPE_EDGE_RISING>; 169 170 vdd-supply = <&pm8916_l8>; 171 vddio-supply = <&pm8916_l6>; 172 173 pinctrl-0 = <&imu_default>; 174 pinctrl-names = "default"; 175 176 mount-matrix = "0", "1", "0", 177 "-1", "0", "0", 178 "0", "0", "1"; 179 }; 180}; 181 182&blsp_i2c5 { 183 status = "okay"; 184 185 touchscreen@38 { 186 compatible = "edt,edt-ft5306"; 187 reg = <0x38>; 188 189 interrupts-extended = <&tlmm 13 IRQ_TYPE_EDGE_FALLING>; 190 191 reset-gpios = <&tlmm 12 GPIO_ACTIVE_LOW>; 192 193 vcc-supply = <&pm8916_l8>; 194 iovcc-supply = <&pm8916_l6>; 195 196 touchscreen-size-x = <1080>; 197 touchscreen-size-y = <1920>; 198 199 pinctrl-0 = <&touchscreen_default>; 200 pinctrl-names = "default"; 201 }; 202}; 203 204&blsp_uart2 { 205 pinctrl-0 = <&blsp_uart2_console_default>; 206 pinctrl-1 = <&blsp_uart2_console_sleep>; 207 pinctrl-names = "default", "sleep"; 208 209 status = "okay"; 210}; 211 212&mpss_mem { 213 reg = <0x0 0x86800000 0x0 0x5500000>; 214}; 215 216&pm8916_bms { 217 monitored-battery = <&battery>; 218 219 status = "okay"; 220}; 221 222&pm8916_codec { 223 qcom,micbias-lvl = <2800>; 224 qcom,mbhc-vthreshold-low = <75 150 237 450 500>; 225 qcom,mbhc-vthreshold-high = <75 150 237 450 500>; 226 qcom,micbias1-ext-cap; 227 qcom,hphl-jack-type-normally-open; 228 229 status = "okay"; 230}; 231 232&pm8916_vib { 233 status = "okay"; 234}; 235 236&sdhc_1 { 237 status = "okay"; 238}; 239 240&sdhc_2 { 241 vmmc-supply = <®_sd_vmmc>; 242 243 pinctrl-0 = <&sdc2_default &sdc2_cd_default>; 244 pinctrl-1 = <&sdc2_sleep &sdc2_cd_default>; 245 pinctrl-names = "default", "sleep"; 246 cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>; 247 248 status = "okay"; 249}; 250 251&sound { 252 audio-routing = 253 "AMIC1", "MIC BIAS External1", 254 "AMIC2", "MIC BIAS Internal2", 255 "AMIC3", "MIC BIAS External1"; 256 257 status = "okay"; 258}; 259 260&usb { 261 extcon = <&usb_id>, <&usb_id>; 262 263 status = "okay"; 264}; 265 266&usb_hs_phy { 267 extcon = <&usb_id>; 268}; 269 270&wcnss { 271 status = "okay"; 272}; 273 274&wcnss_iris { 275 compatible = "qcom,wcn3660b"; 276}; 277 278&wcnss_mem { 279 status = "okay"; 280}; 281 282&tlmm { 283 touchscreen_default: touchscreen-default-state { 284 reset-pins { 285 pins = "gpio12"; 286 function = "gpio"; 287 drive-strength = <2>; 288 bias-disable; 289 }; 290 291 touch-pins { 292 pins = "gpio13"; 293 function = "gpio"; 294 drive-strength = <2>; 295 bias-pull-up; 296 }; 297 }; 298 299 imu_default: imu-default-state { 300 pins = "gpio36"; 301 function = "gpio"; 302 drive-strength = <2>; 303 bias-disable; 304 }; 305 306 sdc2_cd_default: sdc2-cd-default-state { 307 pins = "gpio38"; 308 function = "gpio"; 309 drive-strength = <2>; 310 bias-disable; 311 }; 312 313 sd_vmmc_en_default: sd-vmmc-en-default-state { 314 pins = "gpio87"; 315 function = "gpio"; 316 drive-strength = <2>; 317 bias-disable; 318 }; 319 320 gpio_keys_default: gpio-keys-default-state { 321 pins = "gpio107", "gpio117"; 322 function = "gpio"; 323 drive-strength = <2>; 324 bias-pull-up; 325 }; 326 327 gpio_hall_sensor_default: gpio-hall-sensor-default-state { 328 pins = "gpio108"; 329 function = "gpio"; 330 drive-strength = <2>; 331 bias-pull-up; 332 }; 333 334 usb_id_default: usb-id-default-state { 335 pins = "gpio110"; 336 function = "gpio"; 337 drive-strength = <8>; 338 bias-pull-up; 339 }; 340 341 mag_reset_default: mag-reset-default-state { 342 pins = "gpio112"; 343 function = "gpio"; 344 drive-strength = <2>; 345 bias-disable; 346 }; 347 348 light_int_default: light-int-default-state { 349 pins = "gpio113"; 350 function = "gpio"; 351 drive-strength = <16>; 352 bias-pull-up; 353 }; 354}; 355