1 // SPDX-License-Identifier: GPL-2.0-only 1 // SPDX-License-Identifier: GPL-2.0-only 2 2 3 /dts-v1/; 3 /dts-v1/; 4 4 5 #include "msm8939-pm8916.dtsi" 5 #include "msm8939-pm8916.dtsi" 6 6 7 #include <dt-bindings/gpio/gpio.h> 7 #include <dt-bindings/gpio/gpio.h> 8 #include <dt-bindings/input/input.h> 8 #include <dt-bindings/input/input.h> 9 #include <dt-bindings/interrupt-controller/irq 9 #include <dt-bindings/interrupt-controller/irq.h> 10 #include <dt-bindings/leds/common.h> 10 #include <dt-bindings/leds/common.h> 11 #include <dt-bindings/pinctrl/qcom,pmic-gpio.h 11 #include <dt-bindings/pinctrl/qcom,pmic-gpio.h> 12 #include <dt-bindings/pinctrl/qcom,pmic-mpp.h> 12 #include <dt-bindings/pinctrl/qcom,pmic-mpp.h> 13 13 14 / { 14 / { 15 model = "BQ Aquaris M5 (Longcheer L910 15 model = "BQ Aquaris M5 (Longcheer L9100)"; 16 compatible = "longcheer,l9100", "qcom, 16 compatible = "longcheer,l9100", "qcom,msm8939"; 17 chassis-type = "handset"; 17 chassis-type = "handset"; 18 18 19 aliases { 19 aliases { 20 mmc0 = &sdhc_1; /* eMMC */ 20 mmc0 = &sdhc_1; /* eMMC */ 21 mmc1 = &sdhc_2; /* SD card */ 21 mmc1 = &sdhc_2; /* SD card */ 22 serial0 = &blsp_uart2; 22 serial0 = &blsp_uart2; 23 }; 23 }; 24 24 25 chosen { 25 chosen { 26 stdout-path = "serial0"; 26 stdout-path = "serial0"; 27 }; 27 }; 28 28 29 gpio-hall-sensor { 29 gpio-hall-sensor { 30 compatible = "gpio-keys"; 30 compatible = "gpio-keys"; 31 31 32 pinctrl-0 = <&gpio_hall_sensor 32 pinctrl-0 = <&gpio_hall_sensor_default>; 33 pinctrl-names = "default"; 33 pinctrl-names = "default"; 34 34 35 label = "GPIO Hall Effect Sens 35 label = "GPIO Hall Effect Sensor"; 36 36 37 event-hall-sensor { 37 event-hall-sensor { 38 label = "Hall Effect S 38 label = "Hall Effect Sensor"; 39 gpios = <&tlmm 20 GPIO 39 gpios = <&tlmm 20 GPIO_ACTIVE_LOW>; 40 linux,input-type = <EV 40 linux,input-type = <EV_SW>; 41 linux,code = <SW_LID>; 41 linux,code = <SW_LID>; 42 linux,can-disable; 42 linux,can-disable; 43 }; 43 }; 44 }; 44 }; 45 45 46 gpio-keys { 46 gpio-keys { 47 compatible = "gpio-keys"; 47 compatible = "gpio-keys"; 48 48 49 pinctrl-0 = <&gpio_keys_defaul 49 pinctrl-0 = <&gpio_keys_default>; 50 pinctrl-names = "default"; 50 pinctrl-names = "default"; 51 51 52 label = "GPIO Buttons"; 52 label = "GPIO Buttons"; 53 53 54 button-volume-up { 54 button-volume-up { 55 label = "Volume Up"; 55 label = "Volume Up"; 56 gpios = <&tlmm 107 GPI 56 gpios = <&tlmm 107 GPIO_ACTIVE_LOW>; 57 linux,code = <KEY_VOLU 57 linux,code = <KEY_VOLUMEUP>; 58 }; 58 }; 59 }; 59 }; 60 60 61 leds { 61 leds { 62 compatible = "gpio-leds"; 62 compatible = "gpio-leds"; 63 63 64 led-0 { 64 led-0 { 65 gpios = <&tlmm 17 GPIO 65 gpios = <&tlmm 17 GPIO_ACTIVE_HIGH>; 66 color = <LED_COLOR_ID_ 66 color = <LED_COLOR_ID_WHITE>; 67 default-state = "off"; 67 default-state = "off"; 68 function = LED_FUNCTIO 68 function = LED_FUNCTION_KBD_BACKLIGHT; 69 69 70 pinctrl-0 = <&button_b 70 pinctrl-0 = <&button_backlight_default>; 71 pinctrl-names = "defau 71 pinctrl-names = "default"; 72 }; 72 }; 73 }; 73 }; 74 74 75 reg_ts_vdd: regulator-vdd-ts { 75 reg_ts_vdd: regulator-vdd-ts { 76 compatible = "regulator-fixed" 76 compatible = "regulator-fixed"; 77 regulator-name = "regulator-vd 77 regulator-name = "regulator-vdd-ts"; 78 regulator-min-microvolt = <285 78 regulator-min-microvolt = <2850000>; 79 regulator-max-microvolt = <285 79 regulator-max-microvolt = <2850000>; 80 80 81 gpio = <&tlmm 78 GPIO_ACTIVE_H 81 gpio = <&tlmm 78 GPIO_ACTIVE_HIGH>; 82 enable-active-high; 82 enable-active-high; 83 83 84 pinctrl-0 = <&ts_vdd_default>; 84 pinctrl-0 = <&ts_vdd_default>; 85 pinctrl-names = "default"; 85 pinctrl-names = "default"; 86 }; 86 }; 87 87 88 backlight { 88 backlight { 89 compatible = "pwm-backlight"; 89 compatible = "pwm-backlight"; 90 pwms = <&pm8916_pwm 0 100000>; 90 pwms = <&pm8916_pwm 0 100000>; 91 brightness-levels = <0 255>; 91 brightness-levels = <0 255>; 92 num-interpolated-steps = <255> 92 num-interpolated-steps = <255>; 93 default-brightness-level = <12 93 default-brightness-level = <128>; 94 enable-gpios = <&tlmm 98 GPIO_ 94 enable-gpios = <&tlmm 98 GPIO_ACTIVE_HIGH>; 95 95 96 pinctrl-0 = <&lcd_bl_en_defaul 96 pinctrl-0 = <&lcd_bl_en_default>; 97 pinctrl-names = "default"; 97 pinctrl-names = "default"; 98 }; 98 }; 99 99 100 flash-led-controller { 100 flash-led-controller { 101 compatible = "ocs,ocp8110"; 101 compatible = "ocs,ocp8110"; 102 flash-gpios = <&tlmm 8 GPIO_AC 102 flash-gpios = <&tlmm 8 GPIO_ACTIVE_HIGH>; 103 enable-gpios = <&tlmm 49 GPIO_ 103 enable-gpios = <&tlmm 49 GPIO_ACTIVE_HIGH>; 104 104 105 pinctrl-0 = <&camera_front_fla 105 pinctrl-0 = <&camera_front_flash_default>; 106 pinctrl-names = "default"; 106 pinctrl-names = "default"; 107 107 108 led { 108 led { 109 function = LED_FUNCTIO 109 function = LED_FUNCTION_FLASH; 110 color = <LED_COLOR_ID_ 110 color = <LED_COLOR_ID_WHITE>; 111 flash-max-timeout-us = 111 flash-max-timeout-us = <250000>; 112 }; 112 }; 113 }; 113 }; 114 114 115 usb_id: usb-id { 115 usb_id: usb-id { 116 compatible = "linux,extcon-usb 116 compatible = "linux,extcon-usb-gpio"; 117 id-gpios = <&tlmm 110 GPIO_ACT 117 id-gpios = <&tlmm 110 GPIO_ACTIVE_HIGH>; 118 pinctrl-0 = <&usb_id_default & 118 pinctrl-0 = <&usb_id_default &usb_id_switch_default>; 119 pinctrl-names = "default"; 119 pinctrl-names = "default"; 120 }; 120 }; 121 121 122 }; 122 }; 123 123 124 &blsp_i2c2 { 124 &blsp_i2c2 { 125 status = "okay"; 125 status = "okay"; 126 126 127 led-controller@30 { 127 led-controller@30 { 128 compatible = "kinetic,ktd2026" 128 compatible = "kinetic,ktd2026"; 129 reg = <0x30>; 129 reg = <0x30>; 130 #address-cells = <1>; 130 #address-cells = <1>; 131 #size-cells = <0>; 131 #size-cells = <0>; 132 132 133 vin-supply = <&pm8916_l17>; 133 vin-supply = <&pm8916_l17>; 134 vio-supply = <&pm8916_l6>; 134 vio-supply = <&pm8916_l6>; 135 135 136 pinctrl-0 = <&status_led_defau 136 pinctrl-0 = <&status_led_default>; 137 pinctrl-names = "default"; 137 pinctrl-names = "default"; 138 138 139 multi-led { 139 multi-led { 140 color = <LED_COLOR_ID_ 140 color = <LED_COLOR_ID_RGB>; 141 function = LED_FUNCTIO 141 function = LED_FUNCTION_STATUS; 142 142 143 #address-cells = <1>; 143 #address-cells = <1>; 144 #size-cells = <0>; 144 #size-cells = <0>; 145 145 146 led@0 { 146 led@0 { 147 reg = <0>; 147 reg = <0>; 148 color = <LED_C 148 color = <LED_COLOR_ID_RED>; 149 }; 149 }; 150 150 151 led@1 { 151 led@1 { 152 reg = <1>; 152 reg = <1>; 153 color = <LED_C 153 color = <LED_COLOR_ID_GREEN>; 154 }; 154 }; 155 155 156 led@2 { 156 led@2 { 157 reg = <2>; 157 reg = <2>; 158 color = <LED_C 158 color = <LED_COLOR_ID_BLUE>; 159 }; 159 }; 160 }; 160 }; 161 }; 161 }; 162 << 163 flash-led-controller@53 { << 164 compatible = "silergy,sy7802"; << 165 reg = <0x53>; << 166 << 167 enable-gpios = <&tlmm 16 GPIO_ << 168 << 169 pinctrl-0 = <&camera_rear_flas << 170 pinctrl-names = "default"; << 171 << 172 #address-cells = <1>; << 173 #size-cells = <0>; << 174 << 175 led@0 { << 176 reg = <0>; << 177 function = LED_FUNCTIO << 178 color = <LED_COLOR_ID_ << 179 led-sources = <0>, <1> << 180 }; << 181 }; << 182 }; 162 }; 183 163 184 &blsp_i2c3 { 164 &blsp_i2c3 { 185 status = "okay"; 165 status = "okay"; 186 166 187 magnetometer@d { 167 magnetometer@d { 188 compatible = "asahi-kasei,ak09 168 compatible = "asahi-kasei,ak09911"; 189 reg = <0x0d>; 169 reg = <0x0d>; 190 170 191 vdd-supply = <&pm8916_l17>; 171 vdd-supply = <&pm8916_l17>; 192 vid-supply = <&pm8916_l6>; 172 vid-supply = <&pm8916_l6>; 193 173 194 reset-gpios = <&tlmm 68 GPIO_A 174 reset-gpios = <&tlmm 68 GPIO_ACTIVE_HIGH>; 195 175 196 pinctrl-0 = <&mag_reset_defaul 176 pinctrl-0 = <&mag_reset_default>; 197 pinctrl-names = "default"; 177 pinctrl-names = "default"; 198 }; 178 }; 199 179 200 light-sensor@23 { 180 light-sensor@23 { 201 compatible = "liteon,ltr559"; 181 compatible = "liteon,ltr559"; 202 reg = <0x23>; 182 reg = <0x23>; 203 proximity-near-level = <75>; 183 proximity-near-level = <75>; 204 184 205 vdd-supply = <&pm8916_l17>; 185 vdd-supply = <&pm8916_l17>; 206 vddio-supply = <&pm8916_l5>; 186 vddio-supply = <&pm8916_l5>; 207 187 208 interrupts-extended = <&tlmm 1 188 interrupts-extended = <&tlmm 113 IRQ_TYPE_EDGE_FALLING>; 209 189 210 pinctrl-0 = <&light_int_defaul 190 pinctrl-0 = <&light_int_default>; 211 pinctrl-names = "default"; 191 pinctrl-names = "default"; 212 }; 192 }; 213 193 214 imu@68 { 194 imu@68 { 215 compatible = "bosch,bmi160"; 195 compatible = "bosch,bmi160"; 216 reg = <0x68>; 196 reg = <0x68>; 217 197 218 vdd-supply = <&pm8916_l17>; 198 vdd-supply = <&pm8916_l17>; 219 vddio-supply = <&pm8916_l6>; 199 vddio-supply = <&pm8916_l6>; 220 }; 200 }; 221 }; 201 }; 222 202 223 &blsp_i2c5 { 203 &blsp_i2c5 { 224 status = "okay"; 204 status = "okay"; 225 205 226 touchscreen@4a { 206 touchscreen@4a { 227 compatible = "atmel,maxtouch"; 207 compatible = "atmel,maxtouch"; 228 reg = <0x4a>; 208 reg = <0x4a>; 229 209 230 interrupts-extended = <&tlmm 1 210 interrupts-extended = <&tlmm 13 IRQ_TYPE_LEVEL_LOW>; 231 211 232 reset-gpios = <&tlmm 12 GPIO_A 212 reset-gpios = <&tlmm 12 GPIO_ACTIVE_LOW>; 233 213 234 vdda-supply = <&pm8916_l6>; 214 vdda-supply = <&pm8916_l6>; 235 vdd-supply = <®_ts_vdd>; 215 vdd-supply = <®_ts_vdd>; 236 216 237 pinctrl-0 = <&ts_int_reset_def 217 pinctrl-0 = <&ts_int_reset_default>; 238 pinctrl-names = "default"; 218 pinctrl-names = "default"; 239 219 240 /* Keys listed from right to l 220 /* Keys listed from right to left */ 241 linux,keycodes = <KEY_APPSELEC 221 linux,keycodes = <KEY_APPSELECT KEY_HOMEPAGE KEY_BACK>; 242 }; 222 }; 243 }; 223 }; 244 224 245 &blsp_uart2 { 225 &blsp_uart2 { 246 status = "okay"; 226 status = "okay"; 247 }; 227 }; 248 228 249 &pm8916_gpios { 229 &pm8916_gpios { 250 status_led_default: status-led-default 230 status_led_default: status-led-default-state { 251 pins = "gpio3"; 231 pins = "gpio3"; 252 function = PMIC_GPIO_FUNC_NORM 232 function = PMIC_GPIO_FUNC_NORMAL; 253 power-source = <PM8916_GPIO_VP 233 power-source = <PM8916_GPIO_VPH>; 254 bias-disable; 234 bias-disable; 255 output-high; 235 output-high; 256 }; 236 }; 257 }; 237 }; 258 238 259 &pm8916_mpps { 239 &pm8916_mpps { 260 pwm_out: mpp4-state { 240 pwm_out: mpp4-state { 261 pins = "mpp4"; 241 pins = "mpp4"; 262 function = "digital"; 242 function = "digital"; 263 power-source = <PM8916_MPP_VPH 243 power-source = <PM8916_MPP_VPH>; 264 output-low; 244 output-low; 265 qcom,dtest = <1>; 245 qcom,dtest = <1>; 266 }; 246 }; 267 }; 247 }; 268 248 269 &pm8916_pwm { 249 &pm8916_pwm { 270 pinctrl-0 = <&pwm_out>; 250 pinctrl-0 = <&pwm_out>; 271 pinctrl-names = "default"; 251 pinctrl-names = "default"; 272 status = "okay"; 252 status = "okay"; 273 }; 253 }; 274 254 275 &pm8916_resin { 255 &pm8916_resin { 276 linux,code = <KEY_VOLUMEDOWN>; 256 linux,code = <KEY_VOLUMEDOWN>; 277 status = "okay"; 257 status = "okay"; 278 }; 258 }; 279 259 280 &pm8916_rpm_regulators { 260 &pm8916_rpm_regulators { 281 pm8916_l17: l17 { 261 pm8916_l17: l17 { 282 regulator-min-microvolt = <285 262 regulator-min-microvolt = <2850000>; 283 regulator-max-microvolt = <285 263 regulator-max-microvolt = <2850000>; 284 }; 264 }; 285 }; 265 }; 286 266 287 &pm8916_vib { 267 &pm8916_vib { 288 status = "okay"; 268 status = "okay"; 289 }; 269 }; 290 270 291 &sdhc_1 { 271 &sdhc_1 { 292 status = "okay"; 272 status = "okay"; 293 }; 273 }; 294 274 295 &sdhc_2 { 275 &sdhc_2 { 296 pinctrl-0 = <&sdc2_default &sdc2_cd_de 276 pinctrl-0 = <&sdc2_default &sdc2_cd_default>; 297 pinctrl-1 = <&sdc2_sleep &sdc2_cd_defa 277 pinctrl-1 = <&sdc2_sleep &sdc2_cd_default>; 298 pinctrl-names = "default", "sleep"; 278 pinctrl-names = "default", "sleep"; 299 279 300 cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>; 280 cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>; 301 281 302 status = "okay"; 282 status = "okay"; 303 }; 283 }; 304 284 305 &usb { 285 &usb { 306 extcon = <&usb_id>, <&usb_id>; 286 extcon = <&usb_id>, <&usb_id>; 307 status = "okay"; 287 status = "okay"; 308 }; 288 }; 309 289 310 &usb_hs_phy { 290 &usb_hs_phy { 311 extcon = <&usb_id>; 291 extcon = <&usb_id>; 312 }; 292 }; 313 293 314 &wcnss { 294 &wcnss { 315 status = "okay"; 295 status = "okay"; 316 }; 296 }; 317 297 318 &wcnss_iris { 298 &wcnss_iris { 319 compatible = "qcom,wcn3620"; 299 compatible = "qcom,wcn3620"; 320 }; 300 }; 321 301 322 &wcnss_mem { 302 &wcnss_mem { 323 status = "okay"; 303 status = "okay"; 324 }; 304 }; 325 305 326 &tlmm { 306 &tlmm { 327 button_backlight_default: button-backl 307 button_backlight_default: button-backlight-default-state { 328 pins = "gpio17"; 308 pins = "gpio17"; 329 function = "gpio"; 309 function = "gpio"; 330 drive-strength = <2>; 310 drive-strength = <2>; 331 bias-disable; 311 bias-disable; 332 }; 312 }; 333 313 334 camera_front_flash_default: camera-fro 314 camera_front_flash_default: camera-front-flash-default-state { 335 pins = "gpio8", "gpio49"; 315 pins = "gpio8", "gpio49"; 336 function = "gpio"; << 337 drive-strength = <2>; << 338 bias-disable; << 339 }; << 340 << 341 camera_rear_flash_default: camera-rear << 342 pins = "gpio9", "gpio16", "gpi << 343 function = "gpio"; 316 function = "gpio"; 344 drive-strength = <2>; 317 drive-strength = <2>; 345 bias-disable; 318 bias-disable; 346 }; 319 }; 347 320 348 gpio_hall_sensor_default: gpio-hall-se 321 gpio_hall_sensor_default: gpio-hall-sensor-default-state { 349 pins = "gpio20"; 322 pins = "gpio20"; 350 function = "gpio"; 323 function = "gpio"; 351 drive-strength = <2>; 324 drive-strength = <2>; 352 bias-disable; 325 bias-disable; 353 }; 326 }; 354 327 355 gpio_keys_default: gpio-keys-default-s 328 gpio_keys_default: gpio-keys-default-state { 356 pins = "gpio107"; 329 pins = "gpio107"; 357 function = "gpio"; 330 function = "gpio"; 358 drive-strength = <2>; 331 drive-strength = <2>; 359 bias-pull-up; 332 bias-pull-up; 360 }; 333 }; 361 334 362 lcd_bl_en_default: lcd-bl-en-default-s 335 lcd_bl_en_default: lcd-bl-en-default-state { 363 pins = "gpio98"; 336 pins = "gpio98"; 364 function = "gpio"; 337 function = "gpio"; 365 drive-strength = <2>; 338 drive-strength = <2>; 366 bias-disable; 339 bias-disable; 367 }; 340 }; 368 341 369 light_int_default: light-int-default-s 342 light_int_default: light-int-default-state { 370 pins = "gpio113"; 343 pins = "gpio113"; 371 function = "gpio"; 344 function = "gpio"; 372 drive-strength = <2>; 345 drive-strength = <2>; 373 bias-disable; 346 bias-disable; 374 }; 347 }; 375 348 376 mag_reset_default: mag-reset-default-s 349 mag_reset_default: mag-reset-default-state { 377 pins = "gpio68"; 350 pins = "gpio68"; 378 function = "gpio"; 351 function = "gpio"; 379 drive-strength = <2>; 352 drive-strength = <2>; 380 bias-disable; 353 bias-disable; 381 }; 354 }; 382 355 383 sdc2_cd_default: sdc2-cd-default-state 356 sdc2_cd_default: sdc2-cd-default-state { 384 pins = "gpio38"; 357 pins = "gpio38"; 385 function = "gpio"; 358 function = "gpio"; 386 drive-strength = <2>; 359 drive-strength = <2>; 387 bias-disable; 360 bias-disable; 388 }; 361 }; 389 362 390 ts_int_reset_default: ts-int-reset-def 363 ts_int_reset_default: ts-int-reset-default-state { 391 pins = "gpio12", "gpio13"; 364 pins = "gpio12", "gpio13"; 392 function = "gpio"; 365 function = "gpio"; 393 drive-strength = <2>; 366 drive-strength = <2>; 394 bias-disable; 367 bias-disable; 395 }; 368 }; 396 369 397 ts_vdd_default: ts-vdd-default-state { 370 ts_vdd_default: ts-vdd-default-state { 398 pins = "gpio78"; 371 pins = "gpio78"; 399 function = "gpio"; 372 function = "gpio"; 400 drive-strength = <2>; 373 drive-strength = <2>; 401 bias-disable; 374 bias-disable; 402 }; 375 }; 403 376 404 usb_id_default: usb-id-default-state { 377 usb_id_default: usb-id-default-state { 405 pins = "gpio110"; 378 pins = "gpio110"; 406 function = "gpio"; 379 function = "gpio"; 407 drive-strength = <8>; 380 drive-strength = <8>; 408 bias-pull-up; 381 bias-pull-up; 409 }; 382 }; 410 383 411 usb_id_switch_default: usb-id-switch-d 384 usb_id_switch_default: usb-id-switch-default-state { 412 pins = "gpio121"; 385 pins = "gpio121"; 413 function = "gpio"; 386 function = "gpio"; 414 drive-strength = <2>; 387 drive-strength = <2>; 415 output-high; 388 output-high; 416 }; 389 }; 417 }; 390 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.