1b3a6b088SJonathan Albrieux// SPDX-License-Identifier: GPL-2.0-only
2b3a6b088SJonathan Albrieux
3b3a6b088SJonathan Albrieux/dts-v1/;
4b3a6b088SJonathan Albrieux
5b3a6b088SJonathan Albrieux#include "msm8916-pm8916.dtsi"
6b3a6b088SJonathan Albrieux#include <dt-bindings/gpio/gpio.h>
7b3a6b088SJonathan Albrieux#include <dt-bindings/input/input.h>
8b3a6b088SJonathan Albrieux#include <dt-bindings/leds/common.h>
9b3a6b088SJonathan Albrieux
10b3a6b088SJonathan Albrieux/ {
11b3a6b088SJonathan Albrieux	model = "BQ Aquaris X5 (Longcheer L8910)";
12b3a6b088SJonathan Albrieux	compatible = "longcheer,l8910", "qcom,msm8916";
13eaa744b1SArnaud Ferraris	chassis-type = "handset";
14b3a6b088SJonathan Albrieux
15b3a6b088SJonathan Albrieux	aliases {
16b3a6b088SJonathan Albrieux		serial0 = &blsp1_uart2;
17b3a6b088SJonathan Albrieux	};
18b3a6b088SJonathan Albrieux
19b3a6b088SJonathan Albrieux	chosen {
20b3a6b088SJonathan Albrieux		stdout-path = "serial0";
21b3a6b088SJonathan Albrieux	};
22b3a6b088SJonathan Albrieux
23b3a6b088SJonathan Albrieux	gpio-keys {
24b3a6b088SJonathan Albrieux		compatible = "gpio-keys";
25b3a6b088SJonathan Albrieux
26b3a6b088SJonathan Albrieux		pinctrl-names = "default";
27b3a6b088SJonathan Albrieux		pinctrl-0 = <&gpio_keys_default>;
28b3a6b088SJonathan Albrieux
29b3a6b088SJonathan Albrieux		label = "GPIO Buttons";
30b3a6b088SJonathan Albrieux
31*b08f5cbdSKrzysztof Kozlowski		button-volume-up {
32b3a6b088SJonathan Albrieux			label = "Volume Up";
33b3a6b088SJonathan Albrieux			gpios = <&msmgpio 107 GPIO_ACTIVE_LOW>;
34b3a6b088SJonathan Albrieux			linux,code = <KEY_VOLUMEUP>;
35b3a6b088SJonathan Albrieux		};
36b3a6b088SJonathan Albrieux	};
37b3a6b088SJonathan Albrieux
38b3a6b088SJonathan Albrieux	leds {
39b3a6b088SJonathan Albrieux		compatible = "gpio-leds";
40b3a6b088SJonathan Albrieux
41b3a6b088SJonathan Albrieux		led-0 {
42b3a6b088SJonathan Albrieux			gpios = <&msmgpio 17 GPIO_ACTIVE_HIGH>;
43b3a6b088SJonathan Albrieux			color = <LED_COLOR_ID_WHITE>;
44b3a6b088SJonathan Albrieux			default-state = "off";
45b3a6b088SJonathan Albrieux			function = LED_FUNCTION_KBD_BACKLIGHT;
46b3a6b088SJonathan Albrieux
47b3a6b088SJonathan Albrieux			pinctrl-names = "default";
48b3a6b088SJonathan Albrieux			pinctrl-0 = <&button_backlight_default>;
49b3a6b088SJonathan Albrieux		};
50b3a6b088SJonathan Albrieux	};
51b3a6b088SJonathan Albrieux
52b3a6b088SJonathan Albrieux	usb_id: usb-id {
53b3a6b088SJonathan Albrieux		compatible = "linux,extcon-usb-gpio";
54b3a6b088SJonathan Albrieux		id-gpio = <&msmgpio 110 GPIO_ACTIVE_HIGH>;
55b3a6b088SJonathan Albrieux		pinctrl-names = "default";
56b3a6b088SJonathan Albrieux		pinctrl-0 = <&usb_id_default>;
57b3a6b088SJonathan Albrieux	};
58b3a6b088SJonathan Albrieux};
59b3a6b088SJonathan Albrieux
60dcac4094SJonathan Albrieux&blsp_i2c3 {
61dcac4094SJonathan Albrieux	status = "okay";
62dcac4094SJonathan Albrieux
63dcac4094SJonathan Albrieux	magnetometer@d {
64dcac4094SJonathan Albrieux		compatible = "asahi-kasei,ak09911";
65dcac4094SJonathan Albrieux		reg = <0x0d>;
66dcac4094SJonathan Albrieux
67dcac4094SJonathan Albrieux		vdd-supply = <&pm8916_l17>;
68dcac4094SJonathan Albrieux		vid-supply = <&pm8916_l6>;
69dcac4094SJonathan Albrieux
70dcac4094SJonathan Albrieux		reset-gpios = <&msmgpio 111 GPIO_ACTIVE_LOW>;
71dcac4094SJonathan Albrieux
72dcac4094SJonathan Albrieux		pinctrl-names = "default";
73dcac4094SJonathan Albrieux		pinctrl-0 = <&mag_reset_default>;
74dcac4094SJonathan Albrieux	};
75dcac4094SJonathan Albrieux
76dcac4094SJonathan Albrieux	imu@68 {
77dcac4094SJonathan Albrieux		compatible = "bosch,bmi160";
78dcac4094SJonathan Albrieux		reg = <0x68>;
79dcac4094SJonathan Albrieux
80dcac4094SJonathan Albrieux		vdd-supply = <&pm8916_l17>;
81dcac4094SJonathan Albrieux		vddio-supply = <&pm8916_l6>;
82dcac4094SJonathan Albrieux
83dcac4094SJonathan Albrieux		mount-matrix = "0", "1", "0",
84dcac4094SJonathan Albrieux			      "-1", "0", "0",
85dcac4094SJonathan Albrieux			       "0", "0", "1";
86dcac4094SJonathan Albrieux	};
87dcac4094SJonathan Albrieux};
88dcac4094SJonathan Albrieux
89b3a6b088SJonathan Albrieux&blsp1_uart2 {
90b3a6b088SJonathan Albrieux	status = "okay";
91b3a6b088SJonathan Albrieux};
92b3a6b088SJonathan Albrieux
93b3a6b088SJonathan Albrieux&pm8916_resin {
94b3a6b088SJonathan Albrieux	status = "okay";
95b3a6b088SJonathan Albrieux	linux,code = <KEY_VOLUMEDOWN>;
96b3a6b088SJonathan Albrieux};
97b3a6b088SJonathan Albrieux
98b3a6b088SJonathan Albrieux&pm8916_vib {
99b3a6b088SJonathan Albrieux	status = "okay";
100b3a6b088SJonathan Albrieux};
101b3a6b088SJonathan Albrieux
102b3a6b088SJonathan Albrieux&pronto {
103b3a6b088SJonathan Albrieux	status = "okay";
104b3a6b088SJonathan Albrieux};
105b3a6b088SJonathan Albrieux
106b3a6b088SJonathan Albrieux&sdhc_1 {
107b3a6b088SJonathan Albrieux	status = "okay";
108b3a6b088SJonathan Albrieux
109b3a6b088SJonathan Albrieux	pinctrl-names = "default", "sleep";
110b3a6b088SJonathan Albrieux	pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on>;
111b3a6b088SJonathan Albrieux	pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off>;
112b3a6b088SJonathan Albrieux};
113b3a6b088SJonathan Albrieux
114b3a6b088SJonathan Albrieux&sdhc_2 {
115b3a6b088SJonathan Albrieux	status = "okay";
116b3a6b088SJonathan Albrieux
117b3a6b088SJonathan Albrieux	pinctrl-names = "default", "sleep";
118b3a6b088SJonathan Albrieux	pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on>;
119b3a6b088SJonathan Albrieux	pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>;
120b3a6b088SJonathan Albrieux
121b3a6b088SJonathan Albrieux	cd-gpios = <&msmgpio 38 GPIO_ACTIVE_LOW>;
122b3a6b088SJonathan Albrieux};
123b3a6b088SJonathan Albrieux
124b3a6b088SJonathan Albrieux&usb {
125b3a6b088SJonathan Albrieux	status = "okay";
126b3a6b088SJonathan Albrieux	extcon = <&usb_id>, <&usb_id>;
127b3a6b088SJonathan Albrieux};
128b3a6b088SJonathan Albrieux
129b3a6b088SJonathan Albrieux&usb_hs_phy {
130b3a6b088SJonathan Albrieux	extcon = <&usb_id>;
131b3a6b088SJonathan Albrieux};
132b3a6b088SJonathan Albrieux
133b3a6b088SJonathan Albrieux&smd_rpm_regulators {
134b3a6b088SJonathan Albrieux	vdd_l1_l2_l3-supply = <&pm8916_s3>;
135b3a6b088SJonathan Albrieux	vdd_l4_l5_l6-supply = <&pm8916_s4>;
136b3a6b088SJonathan Albrieux	vdd_l7-supply = <&pm8916_s4>;
137b3a6b088SJonathan Albrieux
138b3a6b088SJonathan Albrieux	s3 {
139b3a6b088SJonathan Albrieux		regulator-min-microvolt = <1200000>;
140b3a6b088SJonathan Albrieux		regulator-max-microvolt = <1300000>;
141b3a6b088SJonathan Albrieux	};
142b3a6b088SJonathan Albrieux
143b3a6b088SJonathan Albrieux	s4 {
144b3a6b088SJonathan Albrieux		regulator-min-microvolt = <1800000>;
145b3a6b088SJonathan Albrieux		regulator-max-microvolt = <2100000>;
146b3a6b088SJonathan Albrieux	};
147b3a6b088SJonathan Albrieux
148b3a6b088SJonathan Albrieux	l1 {
149b3a6b088SJonathan Albrieux		regulator-min-microvolt = <1225000>;
150b3a6b088SJonathan Albrieux		regulator-max-microvolt = <1225000>;
151b3a6b088SJonathan Albrieux	};
152b3a6b088SJonathan Albrieux
153b3a6b088SJonathan Albrieux	l2 {
154b3a6b088SJonathan Albrieux		regulator-min-microvolt = <1200000>;
155b3a6b088SJonathan Albrieux		regulator-max-microvolt = <1200000>;
156b3a6b088SJonathan Albrieux	};
157b3a6b088SJonathan Albrieux
158b3a6b088SJonathan Albrieux	l4 {
159b3a6b088SJonathan Albrieux		regulator-min-microvolt = <2050000>;
160b3a6b088SJonathan Albrieux		regulator-max-microvolt = <2050000>;
161b3a6b088SJonathan Albrieux	};
162b3a6b088SJonathan Albrieux
163b3a6b088SJonathan Albrieux	l5 {
164b3a6b088SJonathan Albrieux		regulator-min-microvolt = <1800000>;
165b3a6b088SJonathan Albrieux		regulator-max-microvolt = <1800000>;
166b3a6b088SJonathan Albrieux	};
167b3a6b088SJonathan Albrieux
168b3a6b088SJonathan Albrieux	l6 {
169b3a6b088SJonathan Albrieux		regulator-min-microvolt = <1800000>;
170b3a6b088SJonathan Albrieux		regulator-max-microvolt = <1800000>;
171b3a6b088SJonathan Albrieux	};
172b3a6b088SJonathan Albrieux
173b3a6b088SJonathan Albrieux	l7 {
174b3a6b088SJonathan Albrieux		regulator-min-microvolt = <1800000>;
175b3a6b088SJonathan Albrieux		regulator-max-microvolt = <1800000>;
176b3a6b088SJonathan Albrieux	};
177b3a6b088SJonathan Albrieux
178b3a6b088SJonathan Albrieux	l8 {
179b3a6b088SJonathan Albrieux		regulator-min-microvolt = <2850000>;
180b3a6b088SJonathan Albrieux		regulator-max-microvolt = <2900000>;
181b3a6b088SJonathan Albrieux	};
182b3a6b088SJonathan Albrieux
183b3a6b088SJonathan Albrieux	l9 {
184b3a6b088SJonathan Albrieux		regulator-min-microvolt = <3300000>;
185b3a6b088SJonathan Albrieux		regulator-max-microvolt = <3300000>;
186b3a6b088SJonathan Albrieux	};
187b3a6b088SJonathan Albrieux
188b3a6b088SJonathan Albrieux	l10 {
189b3a6b088SJonathan Albrieux		regulator-min-microvolt = <2700000>;
190b3a6b088SJonathan Albrieux		regulator-max-microvolt = <2800000>;
191b3a6b088SJonathan Albrieux	};
192b3a6b088SJonathan Albrieux
193b3a6b088SJonathan Albrieux	l11 {
194b3a6b088SJonathan Albrieux		regulator-min-microvolt = <1800000>;
195b3a6b088SJonathan Albrieux		regulator-max-microvolt = <2950000>;
196b3a6b088SJonathan Albrieux		regulator-allow-set-load;
197b3a6b088SJonathan Albrieux		regulator-system-load = <200000>;
198b3a6b088SJonathan Albrieux	};
199b3a6b088SJonathan Albrieux
200b3a6b088SJonathan Albrieux	l12 {
201b3a6b088SJonathan Albrieux		regulator-min-microvolt = <1800000>;
202b3a6b088SJonathan Albrieux		regulator-max-microvolt = <2950000>;
203b3a6b088SJonathan Albrieux	};
204b3a6b088SJonathan Albrieux
205b3a6b088SJonathan Albrieux	l13 {
206b3a6b088SJonathan Albrieux		regulator-min-microvolt = <3075000>;
207b3a6b088SJonathan Albrieux		regulator-max-microvolt = <3075000>;
208b3a6b088SJonathan Albrieux	};
209b3a6b088SJonathan Albrieux
210b3a6b088SJonathan Albrieux	l14 {
211b3a6b088SJonathan Albrieux		regulator-min-microvolt = <1800000>;
212b3a6b088SJonathan Albrieux		regulator-max-microvolt = <3300000>;
213b3a6b088SJonathan Albrieux	};
214b3a6b088SJonathan Albrieux
215b3a6b088SJonathan Albrieux	l15 {
216b3a6b088SJonathan Albrieux		regulator-min-microvolt = <1800000>;
217b3a6b088SJonathan Albrieux		regulator-max-microvolt = <3300000>;
218b3a6b088SJonathan Albrieux	};
219b3a6b088SJonathan Albrieux
220b3a6b088SJonathan Albrieux	l16 {
221b3a6b088SJonathan Albrieux		regulator-min-microvolt = <1800000>;
222b3a6b088SJonathan Albrieux		regulator-max-microvolt = <3300000>;
223b3a6b088SJonathan Albrieux	};
224b3a6b088SJonathan Albrieux
225b3a6b088SJonathan Albrieux	l17 {
226b3a6b088SJonathan Albrieux		regulator-min-microvolt = <2850000>;
227b3a6b088SJonathan Albrieux		regulator-max-microvolt = <2850000>;
228b3a6b088SJonathan Albrieux	};
229b3a6b088SJonathan Albrieux
230b3a6b088SJonathan Albrieux	l18 {
231b3a6b088SJonathan Albrieux		regulator-min-microvolt = <2700000>;
232b3a6b088SJonathan Albrieux		regulator-max-microvolt = <2700000>;
233b3a6b088SJonathan Albrieux	};
234b3a6b088SJonathan Albrieux};
235b3a6b088SJonathan Albrieux
236b3a6b088SJonathan Albrieux&msmgpio {
237b3a6b088SJonathan Albrieux	button_backlight_default: button-backlight-default {
238b3a6b088SJonathan Albrieux		pins = "gpio17";
239b3a6b088SJonathan Albrieux		function = "gpio";
240b3a6b088SJonathan Albrieux
241b3a6b088SJonathan Albrieux		drive-strength = <2>;
242b3a6b088SJonathan Albrieux		bias-disable;
243b3a6b088SJonathan Albrieux	};
244b3a6b088SJonathan Albrieux
245b3a6b088SJonathan Albrieux	gpio_keys_default: gpio-keys-default {
246b3a6b088SJonathan Albrieux		pins = "gpio107";
247b3a6b088SJonathan Albrieux		function = "gpio";
248b3a6b088SJonathan Albrieux
249b3a6b088SJonathan Albrieux		drive-strength = <2>;
250b3a6b088SJonathan Albrieux		bias-pull-up;
251b3a6b088SJonathan Albrieux	};
252b3a6b088SJonathan Albrieux
253dcac4094SJonathan Albrieux	mag_reset_default: mag-reset-default {
254dcac4094SJonathan Albrieux		pins = "gpio111";
255dcac4094SJonathan Albrieux		function = "gpio";
256dcac4094SJonathan Albrieux
257dcac4094SJonathan Albrieux		drive-strength = <2>;
258dcac4094SJonathan Albrieux		bias-disable;
259dcac4094SJonathan Albrieux	};
260dcac4094SJonathan Albrieux
261b3a6b088SJonathan Albrieux	usb_id_default: usb-id-default {
262b3a6b088SJonathan Albrieux		pins = "gpio110";
263b3a6b088SJonathan Albrieux		function = "gpio";
264b3a6b088SJonathan Albrieux
265b3a6b088SJonathan Albrieux		drive-strength = <8>;
266b3a6b088SJonathan Albrieux		bias-pull-up;
267b3a6b088SJonathan Albrieux	};
268b3a6b088SJonathan Albrieux};
269