1*42621cbbSErikas Bitovtas// SPDX-License-Identifier: GPL-2.0-only 2*42621cbbSErikas Bitovtas 3*42621cbbSErikas Bitovtas/dts-v1/; 4*42621cbbSErikas Bitovtas 5*42621cbbSErikas Bitovtas#include "msm8939-pm8916.dtsi" 6*42621cbbSErikas Bitovtas#include "msm8916-modem-qdsp6.dtsi" 7*42621cbbSErikas Bitovtas 8*42621cbbSErikas Bitovtas#include <dt-bindings/gpio/gpio.h> 9*42621cbbSErikas Bitovtas#include <dt-bindings/input/input.h> 10*42621cbbSErikas Bitovtas#include <dt-bindings/interrupt-controller/irq.h> 11*42621cbbSErikas Bitovtas 12*42621cbbSErikas Bitovtas/ { 13*42621cbbSErikas Bitovtas model = "Asus ZenFone 2 Laser/Selfie (1080p)"; 14*42621cbbSErikas Bitovtas compatible = "asus,z00t", "qcom,msm8939"; 15*42621cbbSErikas Bitovtas chassis-type = "handset"; 16*42621cbbSErikas Bitovtas 17*42621cbbSErikas Bitovtas aliases { 18*42621cbbSErikas Bitovtas mmc0 = &sdhc_1; 19*42621cbbSErikas Bitovtas mmc1 = &sdhc_2; 20*42621cbbSErikas Bitovtas serial0 = &blsp_uart2; 21*42621cbbSErikas Bitovtas }; 22*42621cbbSErikas Bitovtas 23*42621cbbSErikas Bitovtas chosen { 24*42621cbbSErikas Bitovtas stdout-path = "serial0"; 25*42621cbbSErikas Bitovtas }; 26*42621cbbSErikas Bitovtas 27*42621cbbSErikas Bitovtas gpio-keys { 28*42621cbbSErikas Bitovtas compatible = "gpio-keys"; 29*42621cbbSErikas Bitovtas 30*42621cbbSErikas Bitovtas pinctrl-0 = <&gpio_keys_default>; 31*42621cbbSErikas Bitovtas pinctrl-names = "default"; 32*42621cbbSErikas Bitovtas 33*42621cbbSErikas Bitovtas button-volume-up { 34*42621cbbSErikas Bitovtas label = "Volume Up"; 35*42621cbbSErikas Bitovtas gpios = <&tlmm 107 GPIO_ACTIVE_LOW>; 36*42621cbbSErikas Bitovtas linux,code = <KEY_VOLUMEUP>; 37*42621cbbSErikas Bitovtas debounce-interval = <15>; 38*42621cbbSErikas Bitovtas }; 39*42621cbbSErikas Bitovtas 40*42621cbbSErikas Bitovtas button-volume-down { 41*42621cbbSErikas Bitovtas label = "Volume Down"; 42*42621cbbSErikas Bitovtas gpios = <&tlmm 117 GPIO_ACTIVE_LOW>; 43*42621cbbSErikas Bitovtas linux,code = <KEY_VOLUMEDOWN>; 44*42621cbbSErikas Bitovtas debounce-interval = <15>; 45*42621cbbSErikas Bitovtas }; 46*42621cbbSErikas Bitovtas }; 47*42621cbbSErikas Bitovtas 48*42621cbbSErikas Bitovtas reg_sd_vmmc: regulator-sdcard-vmmc { 49*42621cbbSErikas Bitovtas compatible = "regulator-fixed"; 50*42621cbbSErikas Bitovtas regulator-name = "sdcard-vmmc"; 51*42621cbbSErikas Bitovtas regulator-min-microvolt = <2950000>; 52*42621cbbSErikas Bitovtas regulator-max-microvolt = <2950000>; 53*42621cbbSErikas Bitovtas 54*42621cbbSErikas Bitovtas gpio = <&tlmm 87 GPIO_ACTIVE_HIGH>; 55*42621cbbSErikas Bitovtas enable-active-high; 56*42621cbbSErikas Bitovtas 57*42621cbbSErikas Bitovtas startup-delay-us = <200>; 58*42621cbbSErikas Bitovtas 59*42621cbbSErikas Bitovtas pinctrl-0 = <&sd_vmmc_en_default>; 60*42621cbbSErikas Bitovtas pinctrl-names = "default"; 61*42621cbbSErikas Bitovtas }; 62*42621cbbSErikas Bitovtas 63*42621cbbSErikas Bitovtas usb_id: usb-id { 64*42621cbbSErikas Bitovtas compatible = "linux,extcon-usb-gpio"; 65*42621cbbSErikas Bitovtas id-gpios = <&tlmm 110 GPIO_ACTIVE_HIGH>; 66*42621cbbSErikas Bitovtas pinctrl-0 = <&usb_id_default>; 67*42621cbbSErikas Bitovtas pinctrl-names = "default"; 68*42621cbbSErikas Bitovtas }; 69*42621cbbSErikas Bitovtas}; 70*42621cbbSErikas Bitovtas 71*42621cbbSErikas Bitovtas&blsp_i2c2 { 72*42621cbbSErikas Bitovtas status = "okay"; 73*42621cbbSErikas Bitovtas 74*42621cbbSErikas Bitovtas magnetometer@c { 75*42621cbbSErikas Bitovtas compatible = "asahi-kasei,ak09911"; 76*42621cbbSErikas Bitovtas reg = <0x0c>; 77*42621cbbSErikas Bitovtas 78*42621cbbSErikas Bitovtas vdd-supply = <&pm8916_l8>; 79*42621cbbSErikas Bitovtas vid-supply = <&pm8916_l6>; 80*42621cbbSErikas Bitovtas 81*42621cbbSErikas Bitovtas reset-gpios = <&tlmm 112 GPIO_ACTIVE_LOW>; 82*42621cbbSErikas Bitovtas pinctrl-0 = <&mag_reset_default>; 83*42621cbbSErikas Bitovtas pinctrl-names = "default"; 84*42621cbbSErikas Bitovtas }; 85*42621cbbSErikas Bitovtas 86*42621cbbSErikas Bitovtas imu@68 { 87*42621cbbSErikas Bitovtas compatible = "invensense,mpu6515"; 88*42621cbbSErikas Bitovtas reg = <0x68>; 89*42621cbbSErikas Bitovtas 90*42621cbbSErikas Bitovtas interrupts-extended = <&tlmm 36 IRQ_TYPE_EDGE_RISING>; 91*42621cbbSErikas Bitovtas 92*42621cbbSErikas Bitovtas vdd-supply = <&pm8916_l8>; 93*42621cbbSErikas Bitovtas vddio-supply = <&pm8916_l6>; 94*42621cbbSErikas Bitovtas 95*42621cbbSErikas Bitovtas pinctrl-0 = <&imu_default>; 96*42621cbbSErikas Bitovtas pinctrl-names = "default"; 97*42621cbbSErikas Bitovtas 98*42621cbbSErikas Bitovtas mount-matrix = "0", "1", "0", 99*42621cbbSErikas Bitovtas "-1", "0", "0", 100*42621cbbSErikas Bitovtas "0", "0", "1"; 101*42621cbbSErikas Bitovtas }; 102*42621cbbSErikas Bitovtas}; 103*42621cbbSErikas Bitovtas 104*42621cbbSErikas Bitovtas&blsp_i2c5 { 105*42621cbbSErikas Bitovtas status = "okay"; 106*42621cbbSErikas Bitovtas 107*42621cbbSErikas Bitovtas touchscreen@38 { 108*42621cbbSErikas Bitovtas compatible = "edt,edt-ft5306"; 109*42621cbbSErikas Bitovtas reg = <0x38>; 110*42621cbbSErikas Bitovtas 111*42621cbbSErikas Bitovtas interrupts-extended = <&tlmm 13 IRQ_TYPE_EDGE_FALLING>; 112*42621cbbSErikas Bitovtas 113*42621cbbSErikas Bitovtas reset-gpios = <&tlmm 12 GPIO_ACTIVE_LOW>; 114*42621cbbSErikas Bitovtas 115*42621cbbSErikas Bitovtas vcc-supply = <&pm8916_l8>; 116*42621cbbSErikas Bitovtas iovcc-supply = <&pm8916_l6>; 117*42621cbbSErikas Bitovtas 118*42621cbbSErikas Bitovtas touchscreen-size-x = <1080>; 119*42621cbbSErikas Bitovtas touchscreen-size-y = <1920>; 120*42621cbbSErikas Bitovtas 121*42621cbbSErikas Bitovtas pinctrl-0 = <&touchscreen_default>; 122*42621cbbSErikas Bitovtas pinctrl-names = "default"; 123*42621cbbSErikas Bitovtas }; 124*42621cbbSErikas Bitovtas}; 125*42621cbbSErikas Bitovtas 126*42621cbbSErikas Bitovtas&blsp_uart2 { 127*42621cbbSErikas Bitovtas pinctrl-0 = <&blsp_uart2_console_default>; 128*42621cbbSErikas Bitovtas pinctrl-1 = <&blsp_uart2_console_sleep>; 129*42621cbbSErikas Bitovtas pinctrl-names = "default", "sleep"; 130*42621cbbSErikas Bitovtas 131*42621cbbSErikas Bitovtas status = "okay"; 132*42621cbbSErikas Bitovtas}; 133*42621cbbSErikas Bitovtas 134*42621cbbSErikas Bitovtas&mpss_mem { 135*42621cbbSErikas Bitovtas reg = <0x0 0x86800000 0x0 0x5500000>; 136*42621cbbSErikas Bitovtas}; 137*42621cbbSErikas Bitovtas 138*42621cbbSErikas Bitovtas&pm8916_codec { 139*42621cbbSErikas Bitovtas qcom,micbias-lvl = <2800>; 140*42621cbbSErikas Bitovtas qcom,mbhc-vthreshold-low = <75 150 237 450 500>; 141*42621cbbSErikas Bitovtas qcom,mbhc-vthreshold-high = <75 150 237 450 500>; 142*42621cbbSErikas Bitovtas qcom,micbias1-ext-cap; 143*42621cbbSErikas Bitovtas qcom,hphl-jack-type-normally-open; 144*42621cbbSErikas Bitovtas 145*42621cbbSErikas Bitovtas status = "okay"; 146*42621cbbSErikas Bitovtas}; 147*42621cbbSErikas Bitovtas 148*42621cbbSErikas Bitovtas&pm8916_vib { 149*42621cbbSErikas Bitovtas status = "okay"; 150*42621cbbSErikas Bitovtas}; 151*42621cbbSErikas Bitovtas 152*42621cbbSErikas Bitovtas&sdhc_1 { 153*42621cbbSErikas Bitovtas status = "okay"; 154*42621cbbSErikas Bitovtas}; 155*42621cbbSErikas Bitovtas 156*42621cbbSErikas Bitovtas&sdhc_2 { 157*42621cbbSErikas Bitovtas vmmc-supply = <®_sd_vmmc>; 158*42621cbbSErikas Bitovtas 159*42621cbbSErikas Bitovtas pinctrl-0 = <&sdc2_default &sdc2_cd_default>; 160*42621cbbSErikas Bitovtas pinctrl-1 = <&sdc2_sleep &sdc2_cd_default>; 161*42621cbbSErikas Bitovtas pinctrl-names = "default", "sleep"; 162*42621cbbSErikas Bitovtas cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>; 163*42621cbbSErikas Bitovtas 164*42621cbbSErikas Bitovtas status = "okay"; 165*42621cbbSErikas Bitovtas}; 166*42621cbbSErikas Bitovtas 167*42621cbbSErikas Bitovtas&sound { 168*42621cbbSErikas Bitovtas audio-routing = 169*42621cbbSErikas Bitovtas "AMIC1", "MIC BIAS External1", 170*42621cbbSErikas Bitovtas "AMIC2", "MIC BIAS Internal2", 171*42621cbbSErikas Bitovtas "AMIC3", "MIC BIAS External1"; 172*42621cbbSErikas Bitovtas 173*42621cbbSErikas Bitovtas status = "okay"; 174*42621cbbSErikas Bitovtas}; 175*42621cbbSErikas Bitovtas 176*42621cbbSErikas Bitovtas&usb { 177*42621cbbSErikas Bitovtas extcon = <&usb_id>, <&usb_id>; 178*42621cbbSErikas Bitovtas 179*42621cbbSErikas Bitovtas status = "okay"; 180*42621cbbSErikas Bitovtas}; 181*42621cbbSErikas Bitovtas 182*42621cbbSErikas Bitovtas&usb_hs_phy { 183*42621cbbSErikas Bitovtas extcon = <&usb_id>; 184*42621cbbSErikas Bitovtas}; 185*42621cbbSErikas Bitovtas 186*42621cbbSErikas Bitovtas&wcnss { 187*42621cbbSErikas Bitovtas status = "okay"; 188*42621cbbSErikas Bitovtas}; 189*42621cbbSErikas Bitovtas 190*42621cbbSErikas Bitovtas&wcnss_iris { 191*42621cbbSErikas Bitovtas compatible = "qcom,wcn3660b"; 192*42621cbbSErikas Bitovtas}; 193*42621cbbSErikas Bitovtas 194*42621cbbSErikas Bitovtas&wcnss_mem { 195*42621cbbSErikas Bitovtas status = "okay"; 196*42621cbbSErikas Bitovtas}; 197*42621cbbSErikas Bitovtas 198*42621cbbSErikas Bitovtas&tlmm { 199*42621cbbSErikas Bitovtas touchscreen_default: touchscreen-default-state { 200*42621cbbSErikas Bitovtas reset-pins { 201*42621cbbSErikas Bitovtas pins = "gpio12"; 202*42621cbbSErikas Bitovtas function = "gpio"; 203*42621cbbSErikas Bitovtas drive-strength = <2>; 204*42621cbbSErikas Bitovtas bias-disable; 205*42621cbbSErikas Bitovtas }; 206*42621cbbSErikas Bitovtas 207*42621cbbSErikas Bitovtas touch-pins { 208*42621cbbSErikas Bitovtas pins = "gpio13"; 209*42621cbbSErikas Bitovtas function = "gpio"; 210*42621cbbSErikas Bitovtas drive-strength = <2>; 211*42621cbbSErikas Bitovtas bias-pull-up; 212*42621cbbSErikas Bitovtas }; 213*42621cbbSErikas Bitovtas }; 214*42621cbbSErikas Bitovtas 215*42621cbbSErikas Bitovtas imu_default: imu-default-state { 216*42621cbbSErikas Bitovtas pins = "gpio36"; 217*42621cbbSErikas Bitovtas function = "gpio"; 218*42621cbbSErikas Bitovtas drive-strength = <2>; 219*42621cbbSErikas Bitovtas bias-disable; 220*42621cbbSErikas Bitovtas }; 221*42621cbbSErikas Bitovtas 222*42621cbbSErikas Bitovtas sdc2_cd_default: sdc2-cd-default-state { 223*42621cbbSErikas Bitovtas pins = "gpio38"; 224*42621cbbSErikas Bitovtas function = "gpio"; 225*42621cbbSErikas Bitovtas drive-strength = <2>; 226*42621cbbSErikas Bitovtas bias-disable; 227*42621cbbSErikas Bitovtas }; 228*42621cbbSErikas Bitovtas 229*42621cbbSErikas Bitovtas sd_vmmc_en_default: sd-vmmc-en-default-state { 230*42621cbbSErikas Bitovtas pins = "gpio87"; 231*42621cbbSErikas Bitovtas function = "gpio"; 232*42621cbbSErikas Bitovtas drive-strength = <2>; 233*42621cbbSErikas Bitovtas bias-disable; 234*42621cbbSErikas Bitovtas }; 235*42621cbbSErikas Bitovtas 236*42621cbbSErikas Bitovtas gpio_keys_default: gpio-keys-default-state { 237*42621cbbSErikas Bitovtas pins = "gpio107", "gpio117"; 238*42621cbbSErikas Bitovtas function = "gpio"; 239*42621cbbSErikas Bitovtas drive-strength = <2>; 240*42621cbbSErikas Bitovtas bias-pull-up; 241*42621cbbSErikas Bitovtas }; 242*42621cbbSErikas Bitovtas 243*42621cbbSErikas Bitovtas usb_id_default: usb-id-default-state { 244*42621cbbSErikas Bitovtas pins = "gpio110"; 245*42621cbbSErikas Bitovtas function = "gpio"; 246*42621cbbSErikas Bitovtas drive-strength = <8>; 247*42621cbbSErikas Bitovtas bias-pull-up; 248*42621cbbSErikas Bitovtas }; 249*42621cbbSErikas Bitovtas 250*42621cbbSErikas Bitovtas mag_reset_default: mag-reset-default-state { 251*42621cbbSErikas Bitovtas pins = "gpio112"; 252*42621cbbSErikas Bitovtas function = "gpio"; 253*42621cbbSErikas Bitovtas drive-strength = <2>; 254*42621cbbSErikas Bitovtas bias-disable; 255*42621cbbSErikas Bitovtas }; 256*42621cbbSErikas Bitovtas}; 257