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