Loading...
1// SPDX-License-Identifier: GPL-2.0-only
2
3#include "msm8916.dtsi"
4#include "pm8916.dtsi"
5#include <dt-bindings/gpio/gpio.h>
6#include <dt-bindings/input/input.h>
7#include <dt-bindings/interrupt-controller/irq.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 soc {
27 sdhci@7824000 {
28 status = "okay";
29
30 vmmc-supply = <&pm8916_l8>;
31 vqmmc-supply = <&pm8916_l5>;
32
33 pinctrl-names = "default", "sleep";
34 pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on>;
35 pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off>;
36 };
37
38 sdhci@7864000 {
39 status = "okay";
40
41 vmmc-supply = <&pm8916_l11>;
42 vqmmc-supply = <&pm8916_l12>;
43
44 pinctrl-names = "default", "sleep";
45 pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on>;
46 pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>;
47
48 cd-gpios = <&msmgpio 38 GPIO_ACTIVE_LOW>;
49 };
50
51 serial@78b0000 {
52 status = "okay";
53 pinctrl-names = "default", "sleep";
54 pinctrl-0 = <&blsp1_uart2_default>;
55 pinctrl-1 = <&blsp1_uart2_sleep>;
56 };
57
58 usb@78d9000 {
59 status = "okay";
60 extcon = <&muic>, <&muic>;
61
62 hnp-disable;
63 srp-disable;
64 adp-disable;
65
66 ulpi {
67 phy {
68 extcon = <&muic>;
69 v1p8-supply = <&pm8916_l7>;
70 v3p3-supply = <&pm8916_l13>;
71 };
72 };
73 };
74
75 mdss@1a00000 {
76 dsi@1a98000 {
77 #address-cells = <1>;
78 #size-cells = <0>;
79
80 vdda-supply = <&pm8916_l2>;
81 vddio-supply = <&pm8916_l6>;
82
83 pinctrl-names = "default", "sleep";
84 pinctrl-0 = <&mdss_default>;
85 pinctrl-1 = <&mdss_sleep>;
86 };
87
88 dsi-phy@1a98300 {
89 vddio-supply = <&pm8916_l6>;
90 };
91 };
92
93 wcnss@a21b000 {
94 status = "okay";
95 };
96 };
97
98 gpio-keys {
99 compatible = "gpio-keys";
100
101 pinctrl-names = "default";
102 pinctrl-0 = <&gpio_keys_default>;
103
104 label = "GPIO Buttons";
105
106 volume-up {
107 label = "Volume Up";
108 gpios = <&msmgpio 107 GPIO_ACTIVE_LOW>;
109 linux,code = <KEY_VOLUMEUP>;
110 };
111
112 home {
113 label = "Home";
114 gpios = <&msmgpio 109 GPIO_ACTIVE_LOW>;
115 linux,code = <KEY_HOMEPAGE>;
116 };
117 };
118
119 gpio-hall-sensor {
120 compatible = "gpio-keys";
121
122 pinctrl-names = "default";
123 pinctrl-0 = <&gpio_hall_sensor_default>;
124
125 label = "GPIO Hall Effect Sensor";
126
127 hall-sensor {
128 label = "Hall Effect Sensor";
129 gpios = <&msmgpio 52 GPIO_ACTIVE_LOW>;
130 linux,input-type = <EV_SW>;
131 linux,code = <SW_LID>;
132 linux,can-disable;
133 };
134 };
135
136 reg_vdd_tsp: regulator-vdd-tsp {
137 compatible = "regulator-fixed";
138 regulator-name = "vdd_tsp";
139 regulator-min-microvolt = <3300000>;
140 regulator-max-microvolt = <3300000>;
141
142 gpio = <&msmgpio 73 GPIO_ACTIVE_HIGH>;
143 enable-active-high;
144
145 pinctrl-names = "default";
146 pinctrl-0 = <&tsp_en_default>;
147 };
148
149 i2c-muic {
150 compatible = "i2c-gpio";
151 sda-gpios = <&msmgpio 105 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
152 scl-gpios = <&msmgpio 106 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
153
154 #address-cells = <1>;
155 #size-cells = <0>;
156
157 muic: sm5502@25 {
158 compatible = "siliconmitus,sm5502-muic";
159
160 reg = <0x25>;
161 interrupt-parent = <&msmgpio>;
162 interrupts = <12 IRQ_TYPE_EDGE_FALLING>;
163
164 pinctrl-names = "default";
165 pinctrl-0 = <&muic_int_default>;
166 };
167 };
168};
169
170&blsp_i2c2 {
171 status = "okay";
172
173 accelerometer: accelerometer@10 {
174 compatible = "bosch,bmc150_accel";
175 reg = <0x10>;
176 interrupt-parent = <&msmgpio>;
177 interrupts = <115 IRQ_TYPE_EDGE_RISING>;
178
179 pinctrl-names = "default";
180 pinctrl-0 = <&accel_int_default>;
181 };
182
183 magnetometer@12 {
184 compatible = "bosch,bmc150_magn";
185 reg = <0x12>;
186 };
187};
188
189&spmi_bus {
190 pm8916@0 {
191 pon@800 {
192 volume-down {
193 compatible = "qcom,pm8941-resin";
194 interrupts = <0x0 0x8 1 IRQ_TYPE_EDGE_BOTH>;
195 bias-pull-up;
196 linux,code = <KEY_VOLUMEDOWN>;
197 };
198 };
199 };
200};
201
202&smd_rpm_regulators {
203 vdd_l1_l2_l3-supply = <&pm8916_s3>;
204 vdd_l4_l5_l6-supply = <&pm8916_s4>;
205 vdd_l7-supply = <&pm8916_s4>;
206
207 s1 {
208 regulator-min-microvolt = <500000>;
209 regulator-max-microvolt = <1300000>;
210 };
211
212 s3 {
213 regulator-min-microvolt = <1200000>;
214 regulator-max-microvolt = <1300000>;
215 };
216
217 s4 {
218 regulator-min-microvolt = <1800000>;
219 regulator-max-microvolt = <2100000>;
220 };
221
222 l1 {
223 regulator-min-microvolt = <1225000>;
224 regulator-max-microvolt = <1225000>;
225 };
226
227 l2 {
228 regulator-min-microvolt = <1200000>;
229 regulator-max-microvolt = <1200000>;
230 };
231
232 l3 {
233 regulator-min-microvolt = <500000>;
234 regulator-max-microvolt = <1287500>;
235 };
236
237 l4 {
238 regulator-min-microvolt = <2050000>;
239 regulator-max-microvolt = <2050000>;
240 };
241
242 l5 {
243 regulator-min-microvolt = <1800000>;
244 regulator-max-microvolt = <1800000>;
245 };
246
247 l6 {
248 regulator-min-microvolt = <1800000>;
249 regulator-max-microvolt = <1800000>;
250 };
251
252 l7 {
253 regulator-min-microvolt = <1800000>;
254 regulator-max-microvolt = <1800000>;
255 };
256
257 l8 {
258 regulator-min-microvolt = <2850000>;
259 regulator-max-microvolt = <2900000>;
260 };
261
262 l9 {
263 regulator-min-microvolt = <3300000>;
264 regulator-max-microvolt = <3300000>;
265 };
266
267 l10 {
268 regulator-min-microvolt = <2700000>;
269 regulator-max-microvolt = <2800000>;
270 };
271
272 l11 {
273 regulator-min-microvolt = <1800000>;
274 regulator-max-microvolt = <2950000>;
275 regulator-allow-set-load;
276 regulator-system-load = <200000>;
277 };
278
279 l12 {
280 regulator-min-microvolt = <1800000>;
281 regulator-max-microvolt = <2950000>;
282 };
283
284 l13 {
285 regulator-min-microvolt = <3075000>;
286 regulator-max-microvolt = <3075000>;
287 };
288
289 l14 {
290 regulator-min-microvolt = <1800000>;
291 regulator-max-microvolt = <3300000>;
292 };
293
294 l15 {
295 regulator-min-microvolt = <1800000>;
296 regulator-max-microvolt = <3300000>;
297 };
298
299 l16 {
300 regulator-min-microvolt = <1800000>;
301 regulator-max-microvolt = <3300000>;
302 };
303
304 l17 {
305 regulator-min-microvolt = <2850000>;
306 regulator-max-microvolt = <2850000>;
307 };
308
309 l18 {
310 regulator-min-microvolt = <2700000>;
311 regulator-max-microvolt = <2700000>;
312 };
313};
314
315&msmgpio {
316 accel_int_default: accel-int-default {
317 pins = "gpio115";
318 function = "gpio";
319
320 drive-strength = <2>;
321 bias-disable;
322 };
323
324 gpio_keys_default: gpio-keys-default {
325 pins = "gpio107", "gpio109";
326 function = "gpio";
327
328 drive-strength = <2>;
329 bias-pull-up;
330 };
331
332 gpio_hall_sensor_default: gpio-hall-sensor-default {
333 pins = "gpio52";
334 function = "gpio";
335
336 drive-strength = <2>;
337 bias-disable;
338 };
339
340 mdss {
341 mdss_default: mdss-default {
342 pins = "gpio25";
343 function = "gpio";
344
345 drive-strength = <8>;
346 bias-disable;
347 };
348 mdss_sleep: mdss-sleep {
349 pins = "gpio25";
350 function = "gpio";
351
352 drive-strength = <2>;
353 bias-pull-down;
354 };
355 };
356
357 muic_int_default: muic-int-default {
358 pins = "gpio12";
359 function = "gpio";
360
361 drive-strength = <2>;
362 bias-disable;
363 };
364
365 tsp_en_default: tsp-en-default {
366 pins = "gpio73";
367 function = "gpio";
368
369 drive-strength = <2>;
370 bias-disable;
371 };
372};