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