1*8d13bc63SEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-only 2*8d13bc63SEmmanuel Vadot 3*8d13bc63SEmmanuel Vadot/dts-v1/; 4*8d13bc63SEmmanuel Vadot 5*8d13bc63SEmmanuel Vadot#include "msm8939-pm8916.dtsi" 6*8d13bc63SEmmanuel Vadot#include <dt-bindings/gpio/gpio.h> 7*8d13bc63SEmmanuel Vadot 8*8d13bc63SEmmanuel Vadot/ { 9*8d13bc63SEmmanuel Vadot model = "Huawei Honor 5X / GR5 (2016)"; 10*8d13bc63SEmmanuel Vadot compatible = "huawei,kiwi", "qcom,msm8939"; 11*8d13bc63SEmmanuel Vadot chassis-type = "handset"; 12*8d13bc63SEmmanuel Vadot 13*8d13bc63SEmmanuel Vadot aliases { 14*8d13bc63SEmmanuel Vadot mmc0 = &sdhc_1; /* SDC1 eMMC slot */ 15*8d13bc63SEmmanuel Vadot mmc1 = &sdhc_2; /* SDC2 SD card slot */ 16*8d13bc63SEmmanuel Vadot serial0 = &blsp_uart2; 17*8d13bc63SEmmanuel Vadot }; 18*8d13bc63SEmmanuel Vadot 19*8d13bc63SEmmanuel Vadot chosen { 20*8d13bc63SEmmanuel Vadot stdout-path = "serial0"; 21*8d13bc63SEmmanuel Vadot }; 22*8d13bc63SEmmanuel Vadot 23*8d13bc63SEmmanuel Vadot reserved-memory { 24*8d13bc63SEmmanuel Vadot qseecom_mem: qseecom@84a00000 { 25*8d13bc63SEmmanuel Vadot reg = <0x0 0x84a00000 0x0 0x1600000>; 26*8d13bc63SEmmanuel Vadot no-map; 27*8d13bc63SEmmanuel Vadot }; 28*8d13bc63SEmmanuel Vadot }; 29*8d13bc63SEmmanuel Vadot 30*8d13bc63SEmmanuel Vadot gpio-hall-sensor { 31*8d13bc63SEmmanuel Vadot compatible = "gpio-keys"; 32*8d13bc63SEmmanuel Vadot 33*8d13bc63SEmmanuel Vadot pinctrl-0 = <&gpio_hall_sensor_default>; 34*8d13bc63SEmmanuel Vadot pinctrl-names = "default"; 35*8d13bc63SEmmanuel Vadot 36*8d13bc63SEmmanuel Vadot label = "GPIO Hall Effect Sensor"; 37*8d13bc63SEmmanuel Vadot 38*8d13bc63SEmmanuel Vadot event-hall-sensor { 39*8d13bc63SEmmanuel Vadot label = "Hall Effect Sensor"; 40*8d13bc63SEmmanuel Vadot gpios = <&tlmm 69 GPIO_ACTIVE_LOW>; 41*8d13bc63SEmmanuel Vadot linux,input-type = <EV_SW>; 42*8d13bc63SEmmanuel Vadot linux,code = <SW_LID>; 43*8d13bc63SEmmanuel Vadot linux,can-disable; 44*8d13bc63SEmmanuel Vadot }; 45*8d13bc63SEmmanuel Vadot }; 46*8d13bc63SEmmanuel Vadot 47*8d13bc63SEmmanuel Vadot gpio-keys { 48*8d13bc63SEmmanuel Vadot compatible = "gpio-keys"; 49*8d13bc63SEmmanuel Vadot 50*8d13bc63SEmmanuel Vadot pinctrl-0 = <&gpio_keys_default>; 51*8d13bc63SEmmanuel Vadot pinctrl-names = "default"; 52*8d13bc63SEmmanuel Vadot 53*8d13bc63SEmmanuel Vadot label = "GPIO Buttons"; 54*8d13bc63SEmmanuel Vadot 55*8d13bc63SEmmanuel Vadot button-volume-up { 56*8d13bc63SEmmanuel Vadot label = "Volume Up"; 57*8d13bc63SEmmanuel Vadot gpios = <&tlmm 107 GPIO_ACTIVE_LOW>; 58*8d13bc63SEmmanuel Vadot linux,code = <KEY_VOLUMEUP>; 59*8d13bc63SEmmanuel Vadot }; 60*8d13bc63SEmmanuel Vadot }; 61*8d13bc63SEmmanuel Vadot 62*8d13bc63SEmmanuel Vadot usb_id: usb-id { 63*8d13bc63SEmmanuel Vadot compatible = "linux,extcon-usb-gpio"; 64*8d13bc63SEmmanuel Vadot id-gpios = <&tlmm 110 GPIO_ACTIVE_HIGH>; 65*8d13bc63SEmmanuel Vadot pinctrl-0 = <&usb_id_default>; 66*8d13bc63SEmmanuel Vadot pinctrl-names = "default"; 67*8d13bc63SEmmanuel Vadot }; 68*8d13bc63SEmmanuel Vadot}; 69*8d13bc63SEmmanuel Vadot 70*8d13bc63SEmmanuel Vadot&blsp_i2c2 { 71*8d13bc63SEmmanuel Vadot status = "okay"; 72*8d13bc63SEmmanuel Vadot 73*8d13bc63SEmmanuel Vadot accelerometer@1e { 74*8d13bc63SEmmanuel Vadot compatible = "kionix,kx023-1025"; 75*8d13bc63SEmmanuel Vadot reg = <0x1e>; 76*8d13bc63SEmmanuel Vadot 77*8d13bc63SEmmanuel Vadot vdd-supply = <&pm8916_l17>; 78*8d13bc63SEmmanuel Vadot vddio-supply = <&pm8916_l6>; 79*8d13bc63SEmmanuel Vadot pinctrl-0 = <&accel_int_default>; 80*8d13bc63SEmmanuel Vadot pinctrl-names = "default"; 81*8d13bc63SEmmanuel Vadot mount-matrix = "-1", "0", "0", 82*8d13bc63SEmmanuel Vadot "0", "1", "0", 83*8d13bc63SEmmanuel Vadot "0", "0", "1"; 84*8d13bc63SEmmanuel Vadot }; 85*8d13bc63SEmmanuel Vadot 86*8d13bc63SEmmanuel Vadot proximity@39 { 87*8d13bc63SEmmanuel Vadot compatible = "avago,apds9930"; 88*8d13bc63SEmmanuel Vadot reg = <0x39>; 89*8d13bc63SEmmanuel Vadot 90*8d13bc63SEmmanuel Vadot interrupt-parent = <&tlmm>; 91*8d13bc63SEmmanuel Vadot interrupts = <113 IRQ_TYPE_EDGE_FALLING>; 92*8d13bc63SEmmanuel Vadot 93*8d13bc63SEmmanuel Vadot vdd-supply = <&pm8916_l17>; 94*8d13bc63SEmmanuel Vadot vddio-supply = <&pm8916_l6>; 95*8d13bc63SEmmanuel Vadot 96*8d13bc63SEmmanuel Vadot led-max-microamp = <25000>; 97*8d13bc63SEmmanuel Vadot amstaos,proximity-diodes = <0>; 98*8d13bc63SEmmanuel Vadot 99*8d13bc63SEmmanuel Vadot pinctrl-0 = <&prox_irq_default>; 100*8d13bc63SEmmanuel Vadot pinctrl-names = "default"; 101*8d13bc63SEmmanuel Vadot }; 102*8d13bc63SEmmanuel Vadot}; 103*8d13bc63SEmmanuel Vadot 104*8d13bc63SEmmanuel Vadot&blsp_i2c5 { 105*8d13bc63SEmmanuel Vadot status = "okay"; 106*8d13bc63SEmmanuel Vadot 107*8d13bc63SEmmanuel Vadot touchscreen@1c { 108*8d13bc63SEmmanuel Vadot compatible = "cypress,tt21000"; 109*8d13bc63SEmmanuel Vadot 110*8d13bc63SEmmanuel Vadot reg = <0x1c>; 111*8d13bc63SEmmanuel Vadot interrupt-parent = <&tlmm>; 112*8d13bc63SEmmanuel Vadot interrupts = <13 IRQ_TYPE_EDGE_FALLING>; 113*8d13bc63SEmmanuel Vadot 114*8d13bc63SEmmanuel Vadot reset-gpios = <&tlmm 12 GPIO_ACTIVE_LOW>; 115*8d13bc63SEmmanuel Vadot 116*8d13bc63SEmmanuel Vadot /* 117*8d13bc63SEmmanuel Vadot * NOTE: vdd is not directly supplied by pm8916_l16, it seems to be a 118*8d13bc63SEmmanuel Vadot * fixed regulator that is automatically enabled by pm8916_l16. 119*8d13bc63SEmmanuel Vadot */ 120*8d13bc63SEmmanuel Vadot vdd-supply = <&pm8916_l16>; 121*8d13bc63SEmmanuel Vadot vddio-supply = <&pm8916_l16>; 122*8d13bc63SEmmanuel Vadot 123*8d13bc63SEmmanuel Vadot pinctrl-0 = <&touchscreen_default>; 124*8d13bc63SEmmanuel Vadot pinctrl-names = "default"; 125*8d13bc63SEmmanuel Vadot }; 126*8d13bc63SEmmanuel Vadot}; 127*8d13bc63SEmmanuel Vadot 128*8d13bc63SEmmanuel Vadot&blsp_uart2 { 129*8d13bc63SEmmanuel Vadot status = "okay"; 130*8d13bc63SEmmanuel Vadot}; 131*8d13bc63SEmmanuel Vadot 132*8d13bc63SEmmanuel Vadot&pm8916_l8 { 133*8d13bc63SEmmanuel Vadot regulator-min-microvolt = <2950000>; 134*8d13bc63SEmmanuel Vadot regulator-max-microvolt = <2950000>; 135*8d13bc63SEmmanuel Vadot}; 136*8d13bc63SEmmanuel Vadot 137*8d13bc63SEmmanuel Vadot&pm8916_resin { 138*8d13bc63SEmmanuel Vadot linux,code = <KEY_VOLUMEDOWN>; 139*8d13bc63SEmmanuel Vadot status = "okay"; 140*8d13bc63SEmmanuel Vadot}; 141*8d13bc63SEmmanuel Vadot 142*8d13bc63SEmmanuel Vadot&pm8916_rpm_regulators { 143*8d13bc63SEmmanuel Vadot pm8916_l16: l16 { 144*8d13bc63SEmmanuel Vadot regulator-min-microvolt = <1800000>; 145*8d13bc63SEmmanuel Vadot regulator-max-microvolt = <1800000>; 146*8d13bc63SEmmanuel Vadot }; 147*8d13bc63SEmmanuel Vadot 148*8d13bc63SEmmanuel Vadot pm8916_l17: l17 { 149*8d13bc63SEmmanuel Vadot regulator-min-microvolt = <2850000>; 150*8d13bc63SEmmanuel Vadot regulator-max-microvolt = <2850000>; 151*8d13bc63SEmmanuel Vadot }; 152*8d13bc63SEmmanuel Vadot}; 153*8d13bc63SEmmanuel Vadot 154*8d13bc63SEmmanuel Vadot&pm8916_vib { 155*8d13bc63SEmmanuel Vadot status = "okay"; 156*8d13bc63SEmmanuel Vadot}; 157*8d13bc63SEmmanuel Vadot 158*8d13bc63SEmmanuel Vadot&sdhc_1 { 159*8d13bc63SEmmanuel Vadot status = "okay"; 160*8d13bc63SEmmanuel Vadot}; 161*8d13bc63SEmmanuel Vadot 162*8d13bc63SEmmanuel Vadot&sdhc_2 { 163*8d13bc63SEmmanuel Vadot pinctrl-0 = <&sdc2_default &sdc2_cd_default>; 164*8d13bc63SEmmanuel Vadot pinctrl-1 = <&sdc2_sleep &sdc2_cd_default>; 165*8d13bc63SEmmanuel Vadot pinctrl-names = "default", "sleep"; 166*8d13bc63SEmmanuel Vadot 167*8d13bc63SEmmanuel Vadot cd-gpios = <&tlmm 38 GPIO_ACTIVE_HIGH>; 168*8d13bc63SEmmanuel Vadot 169*8d13bc63SEmmanuel Vadot status = "okay"; 170*8d13bc63SEmmanuel Vadot}; 171*8d13bc63SEmmanuel Vadot 172*8d13bc63SEmmanuel Vadot&usb { 173*8d13bc63SEmmanuel Vadot extcon = <&usb_id>, <&usb_id>; 174*8d13bc63SEmmanuel Vadot status = "okay"; 175*8d13bc63SEmmanuel Vadot}; 176*8d13bc63SEmmanuel Vadot 177*8d13bc63SEmmanuel Vadot&usb_hs_phy { 178*8d13bc63SEmmanuel Vadot extcon = <&usb_id>; 179*8d13bc63SEmmanuel Vadot}; 180*8d13bc63SEmmanuel Vadot 181*8d13bc63SEmmanuel Vadot&wcnss { 182*8d13bc63SEmmanuel Vadot status = "okay"; 183*8d13bc63SEmmanuel Vadot}; 184*8d13bc63SEmmanuel Vadot 185*8d13bc63SEmmanuel Vadot&wcnss_iris { 186*8d13bc63SEmmanuel Vadot compatible = "qcom,wcn3620"; 187*8d13bc63SEmmanuel Vadot}; 188*8d13bc63SEmmanuel Vadot 189*8d13bc63SEmmanuel Vadot&wcnss_mem { 190*8d13bc63SEmmanuel Vadot status = "okay"; 191*8d13bc63SEmmanuel Vadot}; 192*8d13bc63SEmmanuel Vadot 193*8d13bc63SEmmanuel Vadot&tlmm { 194*8d13bc63SEmmanuel Vadot accel_int_default: accel-int-default-state { 195*8d13bc63SEmmanuel Vadot pins = "gpio115"; 196*8d13bc63SEmmanuel Vadot function = "gpio"; 197*8d13bc63SEmmanuel Vadot drive-strength = <2>; 198*8d13bc63SEmmanuel Vadot bias-disable; 199*8d13bc63SEmmanuel Vadot }; 200*8d13bc63SEmmanuel Vadot 201*8d13bc63SEmmanuel Vadot gpio_hall_sensor_default: gpio-hall-sensor-default-state { 202*8d13bc63SEmmanuel Vadot pins = "gpio69"; 203*8d13bc63SEmmanuel Vadot function = "gpio"; 204*8d13bc63SEmmanuel Vadot drive-strength = <2>; 205*8d13bc63SEmmanuel Vadot bias-disable; 206*8d13bc63SEmmanuel Vadot }; 207*8d13bc63SEmmanuel Vadot 208*8d13bc63SEmmanuel Vadot gpio_keys_default: gpio-keys-default-state { 209*8d13bc63SEmmanuel Vadot pins = "gpio107"; 210*8d13bc63SEmmanuel Vadot function = "gpio"; 211*8d13bc63SEmmanuel Vadot drive-strength = <2>; 212*8d13bc63SEmmanuel Vadot bias-pull-up; 213*8d13bc63SEmmanuel Vadot }; 214*8d13bc63SEmmanuel Vadot 215*8d13bc63SEmmanuel Vadot prox_irq_default: prox-irq-default-state { 216*8d13bc63SEmmanuel Vadot pins = "gpio113"; 217*8d13bc63SEmmanuel Vadot function = "gpio"; 218*8d13bc63SEmmanuel Vadot drive-strength = <2>; 219*8d13bc63SEmmanuel Vadot bias-disable; 220*8d13bc63SEmmanuel Vadot }; 221*8d13bc63SEmmanuel Vadot 222*8d13bc63SEmmanuel Vadot sdc2_cd_default: sdc2-cd-default-state { 223*8d13bc63SEmmanuel Vadot pins = "gpio38"; 224*8d13bc63SEmmanuel Vadot function = "gpio"; 225*8d13bc63SEmmanuel Vadot drive-strength = <2>; 226*8d13bc63SEmmanuel Vadot bias-disable; 227*8d13bc63SEmmanuel Vadot }; 228*8d13bc63SEmmanuel Vadot 229*8d13bc63SEmmanuel Vadot touchscreen_default: touchscreen-default-state { 230*8d13bc63SEmmanuel Vadot pins = "gpio12", "gpio13"; 231*8d13bc63SEmmanuel Vadot function = "gpio"; 232*8d13bc63SEmmanuel Vadot drive-strength = <2>; 233*8d13bc63SEmmanuel Vadot bias-disable; 234*8d13bc63SEmmanuel Vadot }; 235*8d13bc63SEmmanuel Vadot 236*8d13bc63SEmmanuel Vadot usb_id_default: usb-id-default-state { 237*8d13bc63SEmmanuel Vadot pins = "gpio110"; 238*8d13bc63SEmmanuel Vadot function = "gpio"; 239*8d13bc63SEmmanuel Vadot drive-strength = <8>; 240*8d13bc63SEmmanuel Vadot bias-pull-up; 241*8d13bc63SEmmanuel Vadot }; 242*8d13bc63SEmmanuel Vadot}; 243