1 // SPDX-License-Identifier: GPL-2.0-only
2
3 #include "msm8916-pm8916.dtsi"
4 #include <dt-bindings/gpio/gpio.h>
5 #include <dt-bindings/input/input.h>
6 #include <dt-bindings/interrupt-controller/irq.h>
7 #include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
8
9 / {
10 aliases {
11 serial0 = &blsp1_uart2;
12 };
13
14 chosen {
15 stdout-path = "serial0";
16 };
17
18 reserved-memory {
19 /* Additional memory used by Samsung firmware modifications */
20 tz-apps@85500000 {
21 reg = <0x0 0x85500000 0x0 0xb00000>;
22 no-map;
23 };
24 };
25
26 gpio-keys {
27 compatible = "gpio-keys";
28
29 pinctrl-names = "default";
30 pinctrl-0 = <&gpio_keys_default>;
31
32 label = "GPIO Buttons";
33
34 button-volume-up {
35 label = "Volume Up";
36 gpios = <&msmgpio 107 GPIO_ACTIVE_LOW>;
37 linux,code = <KEY_VOLUMEUP>;
38 };
39
40 button-home {
41 label = "Home";
42 gpios = <&msmgpio 109 GPIO_ACTIVE_LOW>;
43 linux,code = <KEY_HOMEPAGE>;
44 };
45 };
46
47 gpio-hall-sensor {
48 compatible = "gpio-keys";
49
50 pinctrl-names = "default";
51 pinctrl-0 = <&gpio_hall_sensor_default>;
52
53 label = "GPIO Hall Effect Sensor";
54
55 event-hall-sensor {
56 label = "Hall Effect Sensor";
57 gpios = <&msmgpio 52 GPIO_ACTIVE_LOW>;
58 linux,input-type = <EV_SW>;
59 linux,code = <SW_LID>;
60 linux,can-disable;
61 };
62 };
63
64 reg_vdd_tsp: regulator-vdd-tsp {
65 compatible = "regulator-fixed";
66 regulator-name = "vdd_tsp";
67 regulator-min-microvolt = <3300000>;
68 regulator-max-microvolt = <3300000>;
69
70 gpio = <&msmgpio 73 GPIO_ACTIVE_HIGH>;
71 enable-active-high;
72
73 pinctrl-names = "default";
74 pinctrl-0 = <&tsp_en_default>;
75 };
76
77 i2c-muic {
78 compatible = "i2c-gpio";
79 sda-gpios = <&msmgpio 105 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
80 scl-gpios = <&msmgpio 106 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
81
82 pinctrl-names = "default";
83 pinctrl-0 = <&muic_i2c_default>;
84
85 #address-cells = <1>;
86 #size-cells = <0>;
87
88 muic: extcon@25 {
89 compatible = "siliconmitus,sm5502-muic";
90
91 reg = <0x25>;
92 interrupt-parent = <&msmgpio>;
93 interrupts = <12 IRQ_TYPE_EDGE_FALLING>;
94
95 pinctrl-names = "default";
96 pinctrl-0 = <&muic_int_default>;
97 };
98 };
99
100 i2c-tkey {
101 compatible = "i2c-gpio";
102 sda-gpios = <&msmgpio 16 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
103 scl-gpios = <&msmgpio 17 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
104
105 pinctrl-names = "default";
106 pinctrl-0 = <&tkey_i2c_default>;
107
108 #address-cells = <1>;
109 #size-cells = <0>;
110
111 touchkey: touchkey@20 {
112 /* Note: Actually an ABOV MCU that implements same interface */
113 compatible = "coreriver,tc360-touchkey";
114 reg = <0x20>;
115
116 interrupt-parent = <&msmgpio>;
117 interrupts = <98 IRQ_TYPE_EDGE_FALLING>;
118
119 /* vcc/vdd-supply are board-specific */
120 vddio-supply = <&pm8916_l6>;
121
122 linux,keycodes = <KEY_APPSELECT KEY_BACK>;
123
124 pinctrl-names = "default";
125 pinctrl-0 = <&tkey_default>;
126 };
127 };
128
129 i2c-nfc {
130 compatible = "i2c-gpio";
131 sda-gpios = <&msmgpio 0 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
132 scl-gpios = <&msmgpio 1 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
133
134 pinctrl-names = "default";
135 pinctrl-0 = <&nfc_i2c_default>;
136
137 #address-cells = <1>;
138 #size-cells = <0>;
139
140 nfc@27 {
141 compatible = "samsung,s3fwrn5-i2c";
142 reg = <0x27>;
143
144 interrupt-parent = <&msmgpio>;
145 interrupts = <21 IRQ_TYPE_EDGE_RISING>;
146
147 en-gpios = <&msmgpio 20 GPIO_ACTIVE_HIGH>;
148 wake-gpios = <&msmgpio 49 GPIO_ACTIVE_HIGH>;
149
150 clocks = <&rpmcc RPM_SMD_BB_CLK2_PIN>;
151
152 pinctrl-names = "default";
153 pinctrl-0 = <&nfc_default &nfc_clk_req>;
154 };
155 };
156 };
157
158 &blsp_i2c2 {
159 status = "okay";
160
161 accelerometer: accelerometer@10 {
162 compatible = "bosch,bmc150_accel";
163 reg = <0x10>;
164 interrupt-parent = <&msmgpio>;
165 interrupts = <115 IRQ_TYPE_EDGE_RISING>;
166
167 vdd-supply = <&pm8916_l17>;
168 vddio-supply = <&pm8916_l5>;
169
170 pinctrl-names = "default";
171 pinctrl-0 = <&accel_int_default>;
172 };
173
174 magnetometer@12 {
175 compatible = "bosch,bmc150_magn";
176 reg = <0x12>;
177
178 vdd-supply = <&pm8916_l17>;
179 vddio-supply = <&pm8916_l5>;
180 };
181 };
182
183 &blsp_i2c4 {
184 status = "okay";
185
186 battery@35 {
187 compatible = "richtek,rt5033-battery";
188 reg = <0x35>;
189 interrupt-parent = <&msmgpio>;
190 interrupts = <121 IRQ_TYPE_EDGE_BOTH>;
191
192 pinctrl-names = "default";
193 pinctrl-0 = <&fg_alert_default>;
194 };
195 };
196
197 &blsp1_uart2 {
198 status = "okay";
199 };
200
201 &dsi0 {
202 pinctrl-names = "default", "sleep";
203 pinctrl-0 = <&mdss_default>;
204 pinctrl-1 = <&mdss_sleep>;
205 };
206
207 &mdss {
208 status = "okay";
209 };
210
211 &pm8916_resin {
212 status = "okay";
213 linux,code = <KEY_VOLUMEDOWN>;
214 };
215
216 &pronto {
217 status = "okay";
218 };
219
220 &sdhc_1 {
221 status = "okay";
222
223 pinctrl-names = "default", "sleep";
224 pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on>;
225 pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off>;
226 };
227
228 &sdhc_2 {
229 status = "okay";
230
231 pinctrl-names = "default", "sleep";
232 pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on>;
233 pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>;
234
235 cd-gpios = <&msmgpio 38 GPIO_ACTIVE_LOW>;
236 };
237
238 &usb {
239 status = "okay";
240 extcon = <&muic>, <&muic>;
241 };
242
243 &usb_hs_phy {
244 extcon = <&muic>;
245 };
246
247 &smd_rpm_regulators {
248 vdd_l1_l2_l3-supply = <&pm8916_s3>;
249 vdd_l4_l5_l6-supply = <&pm8916_s4>;
250 vdd_l7-supply = <&pm8916_s4>;
251
252 s3 {
253 regulator-min-microvolt = <1200000>;
254 regulator-max-microvolt = <1300000>;
255 };
256
257 s4 {
258 regulator-min-microvolt = <1800000>;
259 regulator-max-microvolt = <2100000>;
260 };
261
262 l1 {
263 regulator-min-microvolt = <1225000>;
264 regulator-max-microvolt = <1225000>;
265 };
266
267 l2 {
268 regulator-min-microvolt = <1200000>;
269 regulator-max-microvolt = <1200000>;
270 };
271
272 l4 {
273 regulator-min-microvolt = <2050000>;
274 regulator-max-microvolt = <2050000>;
275 };
276
277 l5 {
278 regulator-min-microvolt = <1800000>;
279 regulator-max-microvolt = <1800000>;
280 };
281
282 l6 {
283 regulator-min-microvolt = <1800000>;
284 regulator-max-microvolt = <1800000>;
285 };
286
287 l7 {
288 regulator-min-microvolt = <1800000>;
289 regulator-max-microvolt = <1800000>;
290 };
291
292 l8 {
293 regulator-min-microvolt = <2850000>;
294 regulator-max-microvolt = <2900000>;
295 };
296
297 l9 {
298 regulator-min-microvolt = <3300000>;
299 regulator-max-microvolt = <3300000>;
300 };
301
302 l10 {
303 regulator-min-microvolt = <2700000>;
304 regulator-max-microvolt = <2800000>;
305 };
306
307 l11 {
308 regulator-min-microvolt = <1800000>;
309 regulator-max-microvolt = <2950000>;
310 regulator-allow-set-load;
311 regulator-system-load = <200000>;
312 };
313
314 l12 {
315 regulator-min-microvolt = <1800000>;
316 regulator-max-microvolt = <2950000>;
317 };
318
319 l13 {
320 regulator-min-microvolt = <3075000>;
321 regulator-max-microvolt = <3075000>;
322 };
323
324 l14 {
325 regulator-min-microvolt = <1800000>;
326 regulator-max-microvolt = <3300000>;
327 };
328
329 l15 {
330 regulator-min-microvolt = <1800000>;
331 regulator-max-microvolt = <3300000>;
332 };
333
334 l16 {
335 regulator-min-microvolt = <1800000>;
336 regulator-max-microvolt = <3300000>;
337 };
338
339 l17 {
340 regulator-min-microvolt = <2850000>;
341 regulator-max-microvolt = <2850000>;
342 };
343
344 l18 {
345 regulator-min-microvolt = <2700000>;
346 regulator-max-microvolt = <2700000>;
347 };
348 };
349
350 &msmgpio {
351 accel_int_default: accel-int-default {
352 pins = "gpio115";
353 function = "gpio";
354
355 drive-strength = <2>;
356 bias-disable;
357 };
358
359 fg_alert_default: fg-alert-default {
360 pins = "gpio121";
361 function = "gpio";
362
363 drive-strength = <2>;
364 bias-disable;
365 };
366
367 gpio_keys_default: gpio-keys-default {
368 pins = "gpio107", "gpio109";
369 function = "gpio";
370
371 drive-strength = <2>;
372 bias-pull-up;
373 };
374
375 gpio_hall_sensor_default: gpio-hall-sensor-default {
376 pins = "gpio52";
377 function = "gpio";
378
379 drive-strength = <2>;
380 bias-disable;
381 };
382
383 mdss {
384 mdss_default: mdss-default {
385 pins = "gpio25";
386 function = "gpio";
387
388 drive-strength = <8>;
389 bias-disable;
390 };
391 mdss_sleep: mdss-sleep {
392 pins = "gpio25";
393 function = "gpio";
394
395 drive-strength = <2>;
396 bias-pull-down;
397 };
398 };
399
400 muic_i2c_default: muic-i2c-default {
401 pins = "gpio105", "gpio106";
402 function = "gpio";
403
404 drive-strength = <2>;
405 bias-disable;
406 };
407
408 muic_int_default: muic-int-default {
409 pins = "gpio12";
410 function = "gpio";
411
412 drive-strength = <2>;
413 bias-disable;
414 };
415
416 nfc_default: nfc-default {
417 pins = "gpio20", "gpio49";
418 function = "gpio";
419
420 drive-strength = <2>;
421 bias-disable;
422
423 irq {
424 pins = "gpio21";
425 function = "gpio";
426
427 drive-strength = <2>;
428 bias-pull-down;
429 };
430 };
431
432 nfc_i2c_default: nfc-i2c-default {
433 pins = "gpio0", "gpio1";
434 function = "gpio";
435
436 drive-strength = <2>;
437 bias-disable;
438 };
439
440 tkey_default: tkey-default {
441 pins = "gpio98";
442 function = "gpio";
443
444 drive-strength = <2>;
445 bias-disable;
446 };
447
448 tkey_i2c_default: tkey-i2c-default {
449 pins = "gpio16", "gpio17";
450 function = "gpio";
451
452 drive-strength = <2>;
453 bias-disable;
454 };
455
456 tsp_en_default: tsp-en-default {
457 pins = "gpio73";
458 function = "gpio";
459
460 drive-strength = <2>;
461 bias-disable;
462 };
463
464 ts_int_default: ts-int-default {
465 pins = "gpio13";
466 function = "gpio";
467
468 drive-strength = <2>;
469 bias-disable;
470 };
471 };
472
473 &pm8916_gpios {
474 nfc_clk_req: nfc-clk-req-state {
475 pins = "gpio2";
476 function = "func1";
477
478 input-enable;
479 bias-disable;
480 power-source = <PM8916_GPIO_L2>;
481 };
482 };
Cache object: 76c67a34729a8f476b1d83c9b159938a
|