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 pinctrl-0 = <&blsp_uart2_console_default>; 130 pinctrl-1 = <&blsp_uart2_console_sleep>; 131 pinctrl-names = "default", "sleep"; 132 status = "okay"; 133}; 134 135&pm8916_l8 { 136 regulator-min-microvolt = <2950000>; 137 regulator-max-microvolt = <2950000>; 138}; 139 140&pm8916_resin { 141 linux,code = <KEY_VOLUMEDOWN>; 142 status = "okay"; 143}; 144 145&pm8916_rpm_regulators { 146 pm8916_l16: l16 { 147 regulator-min-microvolt = <1800000>; 148 regulator-max-microvolt = <1800000>; 149 }; 150 151 pm8916_l17: l17 { 152 regulator-min-microvolt = <2850000>; 153 regulator-max-microvolt = <2850000>; 154 }; 155}; 156 157&pm8916_vib { 158 status = "okay"; 159}; 160 161&sdhc_1 { 162 status = "okay"; 163}; 164 165&sdhc_2 { 166 pinctrl-0 = <&sdc2_default &sdc2_cd_default>; 167 pinctrl-1 = <&sdc2_sleep &sdc2_cd_default>; 168 pinctrl-names = "default", "sleep"; 169 170 cd-gpios = <&tlmm 38 GPIO_ACTIVE_HIGH>; 171 172 status = "okay"; 173}; 174 175&usb { 176 extcon = <&usb_id>, <&usb_id>; 177 status = "okay"; 178}; 179 180&usb_hs_phy { 181 extcon = <&usb_id>; 182}; 183 184&wcnss { 185 status = "okay"; 186}; 187 188&wcnss_iris { 189 compatible = "qcom,wcn3620"; 190}; 191 192&wcnss_mem { 193 status = "okay"; 194}; 195 196&tlmm { 197 accel_int_default: accel-int-default-state { 198 pins = "gpio115"; 199 function = "gpio"; 200 drive-strength = <2>; 201 bias-disable; 202 }; 203 204 gpio_hall_sensor_default: gpio-hall-sensor-default-state { 205 pins = "gpio69"; 206 function = "gpio"; 207 drive-strength = <2>; 208 bias-disable; 209 }; 210 211 gpio_keys_default: gpio-keys-default-state { 212 pins = "gpio107"; 213 function = "gpio"; 214 drive-strength = <2>; 215 bias-pull-up; 216 }; 217 218 prox_irq_default: prox-irq-default-state { 219 pins = "gpio113"; 220 function = "gpio"; 221 drive-strength = <2>; 222 bias-disable; 223 }; 224 225 sdc2_cd_default: sdc2-cd-default-state { 226 pins = "gpio38"; 227 function = "gpio"; 228 drive-strength = <2>; 229 bias-disable; 230 }; 231 232 touchscreen_default: touchscreen-default-state { 233 pins = "gpio12", "gpio13"; 234 function = "gpio"; 235 drive-strength = <2>; 236 bias-disable; 237 }; 238 239 usb_id_default: usb-id-default-state { 240 pins = "gpio110"; 241 function = "gpio"; 242 drive-strength = <8>; 243 bias-pull-up; 244 }; 245}; 246