GNU Linux-libre 6.1.90-gnu
[releases.git] / arch / arm64 / boot / dts / qcom / msm8916-alcatel-idol347.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
9 / {
10         model = "Alcatel OneTouch Idol 3 (4.7)";
11         compatible = "alcatel,idol347", "qcom,msm8916";
12         chassis-type = "handset";
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                 button-volume-up {
31                         label = "Volume Up";
32                         gpios = <&msmgpio 107 GPIO_ACTIVE_LOW>;
33                         linux,code = <KEY_VOLUMEUP>;
34                 };
35         };
36
37         usb_id: usb-id {
38                 compatible = "linux,extcon-usb-gpio";
39                 id-gpio = <&msmgpio 69 GPIO_ACTIVE_HIGH>;
40                 pinctrl-names = "default";
41                 pinctrl-0 = <&usb_id_default>;
42         };
43 };
44
45 &blsp1_uart2 {
46         status = "okay";
47 };
48
49 &blsp_i2c4 {
50         status = "okay";
51
52         touchscreen@26 {
53                 compatible = "mstar,msg2638";
54                 reg = <0x26>;
55                 interrupt-parent = <&msmgpio>;
56                 interrupts = <13 IRQ_TYPE_EDGE_FALLING>;
57                 reset-gpios = <&msmgpio 100 GPIO_ACTIVE_LOW>;
58                 pinctrl-names = "default";
59                 pinctrl-0 = <&ts_int_reset_default>;
60                 vdd-supply = <&pm8916_l17>;
61                 vddio-supply = <&pm8916_l5>;
62                 touchscreen-size-x = <2048>;
63                 touchscreen-size-y = <2048>;
64         };
65 };
66
67 &blsp_i2c5 {
68         status = "okay";
69
70         magnetometer@c {
71                 compatible = "asahi-kasei,ak09911";
72                 reg = <0x0c>;
73                 vdd-supply = <&pm8916_l17>;
74                 vid-supply = <&pm8916_l6>;
75                 reset-gpios = <&msmgpio 8 GPIO_ACTIVE_LOW>;
76                 pinctrl-names = "default";
77                 pinctrl-0 = <&mag_reset_default>;
78                 mount-matrix = "0", "1", "0",
79                                "-1", "0", "0",
80                                "0", "0", "1";
81         };
82
83         accelerometer@f {
84                 compatible = "kionix,kxtj21009";
85                 reg = <0x0f>;
86                 vdd-supply = <&pm8916_l17>;
87                 vddio-supply = <&pm8916_l6>;
88                 interrupt-parent = <&msmgpio>;
89                 interrupts = <31 IRQ_TYPE_EDGE_RISING>;
90                 pinctrl-names = "default";
91                 pinctrl-0 = <&accel_int_default>;
92                 mount-matrix = "-1", "0", "0",
93                                "0", "1", "0",
94                                "0", "0", "-1";
95         };
96
97         proximity@48 {
98                 compatible = "sensortek,stk3310";
99                 reg = <0x48>;
100                 interrupt-parent = <&msmgpio>;
101                 interrupts = <12 IRQ_TYPE_EDGE_FALLING>;
102                 pinctrl-names = "default";
103                 pinctrl-0 = <&proximity_int_default>;
104         };
105
106         gyroscope@68 {
107                 compatible = "bosch,bmg160";
108                 reg = <0x68>;
109                 vdd-supply = <&pm8916_l17>;
110                 vddio-supply = <&pm8916_l6>;
111                 interrupt-parent = <&msmgpio>;
112                 interrupts = <97 IRQ_TYPE_EDGE_RISING>,
113                              <98 IRQ_TYPE_EDGE_RISING>;
114                 pinctrl-names = "default";
115                 pinctrl-0 = <&gyro_int_default>;
116         };
117 };
118
119 &pm8916_resin {
120         status = "okay";
121         linux,code = <KEY_VOLUMEDOWN>;
122 };
123
124 &pm8916_vib {
125         status = "okay";
126 };
127
128 &pronto {
129         status = "okay";
130 };
131
132 &sdhc_1 {
133         status = "okay";
134
135         pinctrl-names = "default", "sleep";
136         pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on>;
137         pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off>;
138 };
139
140 &sdhc_2 {
141         status = "okay";
142
143         pinctrl-names = "default", "sleep";
144         pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on>;
145         pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>;
146
147         cd-gpios = <&msmgpio 38 GPIO_ACTIVE_LOW>;
148 };
149
150 &usb {
151         status = "okay";
152         extcon = <&usb_id>, <&usb_id>;
153 };
154
155 &usb_hs_phy {
156         extcon = <&usb_id>;
157 };
158
159 &smd_rpm_regulators {
160         vdd_l1_l2_l3-supply = <&pm8916_s3>;
161         vdd_l4_l5_l6-supply = <&pm8916_s4>;
162         vdd_l7-supply = <&pm8916_s4>;
163
164         s3 {
165                 regulator-min-microvolt = <1200000>;
166                 regulator-max-microvolt = <1300000>;
167         };
168
169         s4 {
170                 regulator-min-microvolt = <1800000>;
171                 regulator-max-microvolt = <2100000>;
172         };
173
174         l1 {
175                 regulator-min-microvolt = <1225000>;
176                 regulator-max-microvolt = <1225000>;
177         };
178
179         l2 {
180                 regulator-min-microvolt = <1200000>;
181                 regulator-max-microvolt = <1200000>;
182         };
183
184         l4 {
185                 regulator-min-microvolt = <2050000>;
186                 regulator-max-microvolt = <2050000>;
187         };
188
189         l5 {
190                 regulator-min-microvolt = <1800000>;
191                 regulator-max-microvolt = <1800000>;
192         };
193
194         l6 {
195                 regulator-min-microvolt = <1800000>;
196                 regulator-max-microvolt = <1800000>;
197         };
198
199         l7 {
200                 regulator-min-microvolt = <1800000>;
201                 regulator-max-microvolt = <1800000>;
202         };
203
204         l8 {
205                 regulator-min-microvolt = <2850000>;
206                 regulator-max-microvolt = <2900000>;
207         };
208
209         l9 {
210                 regulator-min-microvolt = <3300000>;
211                 regulator-max-microvolt = <3300000>;
212         };
213
214         l10 {
215                 regulator-min-microvolt = <2700000>;
216                 regulator-max-microvolt = <2800000>;
217         };
218
219         l11 {
220                 regulator-min-microvolt = <1800000>;
221                 regulator-max-microvolt = <2950000>;
222                 regulator-allow-set-load;
223                 regulator-system-load = <200000>;
224         };
225
226         l12 {
227                 regulator-min-microvolt = <1800000>;
228                 regulator-max-microvolt = <2950000>;
229         };
230
231         l13 {
232                 regulator-min-microvolt = <3075000>;
233                 regulator-max-microvolt = <3075000>;
234         };
235
236         l14 {
237                 regulator-min-microvolt = <1800000>;
238                 regulator-max-microvolt = <3300000>;
239         };
240
241         l15 {
242                 regulator-min-microvolt = <1800000>;
243                 regulator-max-microvolt = <3300000>;
244         };
245
246         l16 {
247                 regulator-min-microvolt = <1800000>;
248                 regulator-max-microvolt = <3300000>;
249         };
250
251         l17 {
252                 regulator-min-microvolt = <2850000>;
253                 regulator-max-microvolt = <2850000>;
254         };
255
256         l18 {
257                 regulator-min-microvolt = <2700000>;
258                 regulator-max-microvolt = <2700000>;
259         };
260 };
261
262 &msmgpio {
263         accel_int_default: accel-int-default {
264                 pins = "gpio31";
265                 function = "gpio";
266
267                 drive-strength = <2>;
268                 bias-disable;
269         };
270
271         gpio_keys_default: gpio-keys-default {
272                 pins = "gpio107";
273                 function = "gpio";
274
275                 drive-strength = <2>;
276                 bias-pull-up;
277         };
278
279         gyro_int_default: gyro-int-default {
280                 pins = "gpio97", "gpio98";
281                 function = "gpio";
282
283                 drive-strength = <2>;
284                 bias-disable;
285         };
286
287         mag_reset_default: mag-reset-default {
288                 pins = "gpio8";
289                 function = "gpio";
290
291                 drive-strength = <2>;
292                 bias-disable;
293         };
294
295         proximity_int_default: proximity-int-default {
296                 pins = "gpio12";
297                 function = "gpio";
298
299                 drive-strength = <6>;
300                 bias-pull-up;
301         };
302
303         ts_int_reset_default: ts-int-reset-default {
304                 pins = "gpio13", "gpio100";
305                 function = "gpio";
306
307                 drive-strength = <2>;
308                 bias-disable;
309         };
310
311         usb_id_default: usb-id-default {
312                 pins = "gpio69";
313                 function = "gpio";
314
315                 drive-strength = <8>;
316                 bias-pull-up;
317         };
318 };