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