1// SPDX-License-Identifier: GPL-2.0-only 2 3/dts-v1/; 4 5#include "msm8939-pm8916.dtsi" 6 7#include <dt-bindings/gpio/gpio.h> 8#include <dt-bindings/input/input.h> 9#include <dt-bindings/interrupt-controller/irq.h> 10#include <dt-bindings/leds/common.h> 11#include <dt-bindings/pinctrl/qcom,pmic-mpp.h> 12 13/ { 14 model = "BQ Aquaris M5 (Longcheer L9100)"; 15 compatible = "longcheer,l9100", "qcom,msm8939"; 16 chassis-type = "handset"; 17 18 aliases { 19 mmc0 = &sdhc_1; /* eMMC */ 20 mmc1 = &sdhc_2; /* SD card */ 21 serial0 = &blsp_uart2; 22 }; 23 24 chosen { 25 stdout-path = "serial0"; 26 }; 27 28 gpio-hall-sensor { 29 compatible = "gpio-keys"; 30 31 pinctrl-0 = <&gpio_hall_sensor_default>; 32 pinctrl-names = "default"; 33 34 label = "GPIO Hall Effect Sensor"; 35 36 event-hall-sensor { 37 label = "Hall Effect Sensor"; 38 gpios = <&tlmm 20 GPIO_ACTIVE_LOW>; 39 linux,input-type = <EV_SW>; 40 linux,code = <SW_LID>; 41 linux,can-disable; 42 }; 43 }; 44 45 gpio-keys { 46 compatible = "gpio-keys"; 47 48 pinctrl-0 = <&gpio_keys_default>; 49 pinctrl-names = "default"; 50 51 label = "GPIO Buttons"; 52 53 button-volume-up { 54 label = "Volume Up"; 55 gpios = <&tlmm 107 GPIO_ACTIVE_LOW>; 56 linux,code = <KEY_VOLUMEUP>; 57 }; 58 }; 59 60 leds { 61 compatible = "gpio-leds"; 62 63 led-0 { 64 gpios = <&tlmm 17 GPIO_ACTIVE_HIGH>; 65 color = <LED_COLOR_ID_WHITE>; 66 default-state = "off"; 67 function = LED_FUNCTION_KBD_BACKLIGHT; 68 69 pinctrl-0 = <&button_backlight_default>; 70 pinctrl-names = "default"; 71 }; 72 }; 73 74 reg_ts_vdd: regulator-vdd-ts { 75 compatible = "regulator-fixed"; 76 regulator-name = "regulator-vdd-ts"; 77 regulator-min-microvolt = <2850000>; 78 regulator-max-microvolt = <2850000>; 79 80 gpio = <&tlmm 78 GPIO_ACTIVE_HIGH>; 81 enable-active-high; 82 83 pinctrl-0 = <&ts_vdd_default>; 84 pinctrl-names = "default"; 85 }; 86 87 backlight { 88 compatible = "pwm-backlight"; 89 pwms = <&pm8916_pwm 0 100000>; 90 brightness-levels = <0 255>; 91 num-interpolated-steps = <255>; 92 default-brightness-level = <128>; 93 enable-gpios = <&tlmm 98 GPIO_ACTIVE_HIGH>; 94 95 pinctrl-0 = <&lcd_bl_en_default>; 96 pinctrl-names = "default"; 97 }; 98 99 flash-led-controller { 100 compatible = "ocs,ocp8110"; 101 flash-gpios = <&tlmm 8 GPIO_ACTIVE_HIGH>; 102 enable-gpios = <&tlmm 49 GPIO_ACTIVE_HIGH>; 103 104 pinctrl-0 = <&camera_front_flash_default>; 105 pinctrl-names = "default"; 106 107 led { 108 function = LED_FUNCTION_FLASH; 109 color = <LED_COLOR_ID_WHITE>; 110 flash-max-timeout-us = <250000>; 111 }; 112 }; 113 114 usb_id: usb-id { 115 compatible = "linux,extcon-usb-gpio"; 116 id-gpios = <&tlmm 110 GPIO_ACTIVE_HIGH>; 117 pinctrl-0 = <&usb_id_default &usb_id_switch_default>; 118 pinctrl-names = "default"; 119 }; 120 121}; 122 123&blsp_i2c3 { 124 status = "okay"; 125 126 magnetometer@d { 127 compatible = "asahi-kasei,ak09911"; 128 reg = <0x0d>; 129 130 vdd-supply = <&pm8916_l17>; 131 vid-supply = <&pm8916_l6>; 132 133 reset-gpios = <&tlmm 68 GPIO_ACTIVE_HIGH>; 134 135 pinctrl-0 = <&mag_reset_default>; 136 pinctrl-names = "default"; 137 }; 138 139 light-sensor@23 { 140 compatible = "liteon,ltr559"; 141 reg = <0x23>; 142 143 vdd-supply = <&pm8916_l17>; 144 vddio-supply = <&pm8916_l5>; 145 146 interrupts-extended = <&tlmm 113 IRQ_TYPE_EDGE_FALLING>; 147 148 pinctrl-0 = <&light_int_default>; 149 pinctrl-names = "default"; 150 }; 151 152 imu@68 { 153 compatible = "bosch,bmi160"; 154 reg = <0x68>; 155 156 vdd-supply = <&pm8916_l17>; 157 vddio-supply = <&pm8916_l6>; 158 }; 159}; 160 161&blsp_i2c5 { 162 status = "okay"; 163 164 touchscreen@4a { 165 compatible = "atmel,maxtouch"; 166 reg = <0x4a>; 167 168 interrupts-extended = <&tlmm 13 IRQ_TYPE_LEVEL_LOW>; 169 170 reset-gpios = <&tlmm 12 GPIO_ACTIVE_LOW>; 171 172 vdda-supply = <&pm8916_l6>; 173 vdd-supply = <®_ts_vdd>; 174 175 pinctrl-0 = <&ts_int_reset_default>; 176 pinctrl-names = "default"; 177 178 /* Keys listed from right to left */ 179 linux,keycodes = <KEY_APPSELECT KEY_HOMEPAGE KEY_BACK>; 180 }; 181}; 182 183&blsp_uart2 { 184 status = "okay"; 185}; 186 187&pm8916_mpps { 188 pwm_out: mpp4-state { 189 pins = "mpp4"; 190 function = "digital"; 191 power-source = <PM8916_MPP_VPH>; 192 output-low; 193 qcom,dtest = <1>; 194 }; 195}; 196 197&pm8916_pwm { 198 pinctrl-0 = <&pwm_out>; 199 pinctrl-names = "default"; 200 status = "okay"; 201}; 202 203&pm8916_resin { 204 linux,code = <KEY_VOLUMEDOWN>; 205 status = "okay"; 206}; 207 208&pm8916_rpm_regulators { 209 pm8916_l17: l17 { 210 regulator-min-microvolt = <2850000>; 211 regulator-max-microvolt = <2850000>; 212 }; 213}; 214 215&pm8916_vib { 216 status = "okay"; 217}; 218 219&sdhc_1 { 220 status = "okay"; 221}; 222 223&sdhc_2 { 224 pinctrl-0 = <&sdc2_default &sdc2_cd_default>; 225 pinctrl-1 = <&sdc2_sleep &sdc2_cd_default>; 226 pinctrl-names = "default", "sleep"; 227 228 cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>; 229 230 status = "okay"; 231}; 232 233&usb { 234 extcon = <&usb_id>, <&usb_id>; 235 status = "okay"; 236}; 237 238&usb_hs_phy { 239 extcon = <&usb_id>; 240}; 241 242&wcnss { 243 status = "okay"; 244}; 245 246&wcnss_iris { 247 compatible = "qcom,wcn3620"; 248}; 249 250&tlmm { 251 button_backlight_default: button-backlight-default-state { 252 pins = "gpio17"; 253 function = "gpio"; 254 drive-strength = <2>; 255 bias-disable; 256 }; 257 258 camera_front_flash_default: camera-front-flash-default-state { 259 pins = "gpio8", "gpio49"; 260 function = "gpio"; 261 drive-strength = <2>; 262 bias-disable; 263 }; 264 265 gpio_hall_sensor_default: gpio-hall-sensor-default-state { 266 pins = "gpio20"; 267 function = "gpio"; 268 drive-strength = <2>; 269 bias-disable; 270 }; 271 272 gpio_keys_default: gpio-keys-default-state { 273 pins = "gpio107"; 274 function = "gpio"; 275 drive-strength = <2>; 276 bias-pull-up; 277 }; 278 279 lcd_bl_en_default: lcd-bl-en-default-state { 280 pins = "gpio98"; 281 function = "gpio"; 282 drive-strength = <2>; 283 bias-disable; 284 }; 285 286 light_int_default: light-int-default-state { 287 pins = "gpio113"; 288 function = "gpio"; 289 drive-strength = <2>; 290 bias-disable; 291 }; 292 293 mag_reset_default: mag-reset-default-state { 294 pins = "gpio68"; 295 function = "gpio"; 296 drive-strength = <2>; 297 bias-disable; 298 }; 299 300 sdc2_cd_default: sdc2-cd-default-state { 301 pins = "gpio38"; 302 function = "gpio"; 303 drive-strength = <2>; 304 bias-disable; 305 }; 306 307 ts_int_reset_default: ts-int-reset-default-state { 308 pins = "gpio12", "gpio13"; 309 function = "gpio"; 310 drive-strength = <2>; 311 bias-disable; 312 }; 313 314 ts_vdd_default: ts-vdd-default-state { 315 pins = "gpio78"; 316 function = "gpio"; 317 drive-strength = <2>; 318 bias-disable; 319 }; 320 321 usb_id_default: usb-id-default-state { 322 pins = "gpio110"; 323 function = "gpio"; 324 drive-strength = <8>; 325 bias-pull-up; 326 }; 327 328 usb_id_switch_default: usb-id-switch-default-state { 329 pins = "gpio121"; 330 function = "gpio"; 331 drive-strength = <2>; 332 output-high; 333 }; 334}; 335