Commit | Line | Data |
---|---|---|
b2441318 | 1 | // SPDX-License-Identifier: GPL-2.0 |
b1100d8c BS |
2 | #include "qcom-msm8974.dtsi" |
3 | #include "qcom-pm8841.dtsi" | |
4 | #include "qcom-pm8941.dtsi" | |
b8066645 | 5 | #include <dt-bindings/gpio/gpio.h> |
f7af7de8 | 6 | #include <dt-bindings/input/input.h> |
b8066645 | 7 | #include <dt-bindings/pinctrl/qcom,pmic-gpio.h> |
b1100d8c BS |
8 | |
9 | / { | |
10 | model = "LGE MSM 8974 HAMMERHEAD"; | |
11 | compatible = "lge,hammerhead", "qcom,msm8974"; | |
12 | ||
13 | aliases { | |
14 | serial0 = &blsp1_uart1; | |
15 | }; | |
16 | ||
17 | chosen { | |
18 | stdout-path = "serial0:115200n8"; | |
19 | }; | |
b8066645 BS |
20 | |
21 | smd { | |
22 | rpm { | |
23 | rpm_requests { | |
24 | pm8841-regulators { | |
25 | s1 { | |
26 | regulator-min-microvolt = <675000>; | |
27 | regulator-max-microvolt = <1050000>; | |
28 | }; | |
29 | ||
30 | s2 { | |
31 | regulator-min-microvolt = <500000>; | |
32 | regulator-max-microvolt = <1050000>; | |
33 | }; | |
34 | ||
35 | s3 { | |
36 | regulator-min-microvolt = <1050000>; | |
37 | regulator-max-microvolt = <1050000>; | |
38 | }; | |
39 | ||
40 | s4 { | |
41 | regulator-min-microvolt = <815000>; | |
42 | regulator-max-microvolt = <900000>; | |
43 | }; | |
44 | }; | |
45 | ||
46 | pm8941-regulators { | |
47 | vdd_l1_l3-supply = <&pm8941_s1>; | |
48 | vdd_l2_lvs1_2_3-supply = <&pm8941_s3>; | |
49 | vdd_l4_l11-supply = <&pm8941_s1>; | |
50 | vdd_l5_l7-supply = <&pm8941_s2>; | |
51 | vdd_l6_l12_l14_l15-supply = <&pm8941_s2>; | |
52 | vdd_l8_l16_l18_l19-supply = <&vreg_vph_pwr>; | |
53 | vdd_l9_l10_l17_l22-supply = <&vreg_boost>; | |
54 | vdd_l13_l20_l23_l24-supply = <&vreg_boost>; | |
55 | vdd_l21-supply = <&vreg_boost>; | |
56 | ||
57 | s1 { | |
58 | regulator-min-microvolt = <1300000>; | |
59 | regulator-max-microvolt = <1300000>; | |
60 | ||
61 | regulator-always-on; | |
62 | regulator-boot-on; | |
63 | }; | |
64 | ||
65 | s2 { | |
66 | regulator-min-microvolt = <2150000>; | |
67 | regulator-max-microvolt = <2150000>; | |
68 | ||
69 | regulator-boot-on; | |
70 | }; | |
71 | ||
72 | s3 { | |
73 | regulator-min-microvolt = <1800000>; | |
74 | regulator-max-microvolt = <1800000>; | |
75 | ||
76 | regulator-always-on; | |
77 | regulator-boot-on; | |
78 | }; | |
79 | ||
80 | l1 { | |
81 | regulator-min-microvolt = <1225000>; | |
82 | regulator-max-microvolt = <1225000>; | |
83 | ||
84 | regulator-always-on; | |
85 | regulator-boot-on; | |
86 | }; | |
87 | ||
88 | l2 { | |
89 | regulator-min-microvolt = <1200000>; | |
90 | regulator-max-microvolt = <1200000>; | |
91 | }; | |
92 | ||
93 | l3 { | |
94 | regulator-min-microvolt = <1225000>; | |
95 | regulator-max-microvolt = <1225000>; | |
96 | }; | |
97 | ||
98 | l4 { | |
99 | regulator-min-microvolt = <1225000>; | |
100 | regulator-max-microvolt = <1225000>; | |
101 | }; | |
102 | ||
103 | l5 { | |
104 | regulator-min-microvolt = <1800000>; | |
105 | regulator-max-microvolt = <1800000>; | |
106 | }; | |
107 | ||
108 | l6 { | |
109 | regulator-min-microvolt = <1800000>; | |
110 | regulator-max-microvolt = <1800000>; | |
111 | ||
112 | regulator-boot-on; | |
113 | }; | |
114 | ||
115 | l7 { | |
116 | regulator-min-microvolt = <1800000>; | |
117 | regulator-max-microvolt = <1800000>; | |
118 | ||
119 | regulator-boot-on; | |
120 | }; | |
121 | ||
122 | l8 { | |
123 | regulator-min-microvolt = <1800000>; | |
124 | regulator-max-microvolt = <1800000>; | |
125 | }; | |
126 | ||
127 | l9 { | |
128 | regulator-min-microvolt = <1800000>; | |
129 | regulator-max-microvolt = <2950000>; | |
130 | }; | |
131 | ||
132 | l10 { | |
133 | regulator-min-microvolt = <1800000>; | |
134 | regulator-max-microvolt = <2950000>; | |
135 | }; | |
136 | ||
137 | l11 { | |
138 | regulator-min-microvolt = <1300000>; | |
139 | regulator-max-microvolt = <1300000>; | |
140 | }; | |
141 | ||
142 | l12 { | |
143 | regulator-min-microvolt = <1800000>; | |
144 | regulator-max-microvolt = <1800000>; | |
145 | ||
146 | regulator-always-on; | |
147 | regulator-boot-on; | |
148 | }; | |
149 | ||
150 | l13 { | |
151 | regulator-min-microvolt = <1800000>; | |
152 | regulator-max-microvolt = <2950000>; | |
153 | ||
154 | regulator-boot-on; | |
155 | }; | |
156 | ||
157 | l14 { | |
158 | regulator-min-microvolt = <1800000>; | |
159 | regulator-max-microvolt = <1800000>; | |
160 | }; | |
161 | ||
162 | l15 { | |
163 | regulator-min-microvolt = <2050000>; | |
164 | regulator-max-microvolt = <2050000>; | |
165 | }; | |
166 | ||
167 | l16 { | |
168 | regulator-min-microvolt = <2700000>; | |
169 | regulator-max-microvolt = <2700000>; | |
170 | }; | |
171 | ||
172 | l17 { | |
173 | regulator-min-microvolt = <2850000>; | |
174 | regulator-max-microvolt = <2850000>; | |
175 | }; | |
176 | ||
177 | l18 { | |
178 | regulator-min-microvolt = <2850000>; | |
179 | regulator-max-microvolt = <2850000>; | |
180 | }; | |
181 | ||
182 | l19 { | |
183 | regulator-min-microvolt = <3000000>; | |
184 | regulator-max-microvolt = <3300000>; | |
185 | }; | |
186 | ||
187 | l20 { | |
188 | regulator-min-microvolt = <2950000>; | |
189 | regulator-max-microvolt = <2950000>; | |
190 | ||
191 | regulator-boot-on; | |
03864e57 BS |
192 | regulator-system-load = <200000>; |
193 | regulator-allow-set-load; | |
b8066645 BS |
194 | }; |
195 | ||
196 | l21 { | |
197 | regulator-min-microvolt = <2950000>; | |
198 | regulator-max-microvolt = <2950000>; | |
199 | ||
200 | regulator-boot-on; | |
201 | }; | |
202 | ||
203 | l22 { | |
204 | regulator-min-microvolt = <3000000>; | |
205 | regulator-max-microvolt = <3300000>; | |
206 | }; | |
207 | ||
208 | l23 { | |
209 | regulator-min-microvolt = <3000000>; | |
210 | regulator-max-microvolt = <3000000>; | |
211 | }; | |
212 | ||
213 | l24 { | |
214 | regulator-min-microvolt = <3075000>; | |
215 | regulator-max-microvolt = <3075000>; | |
216 | ||
217 | regulator-boot-on; | |
218 | }; | |
219 | }; | |
220 | }; | |
221 | }; | |
222 | }; | |
b1100d8c BS |
223 | }; |
224 | ||
225 | &soc { | |
226 | serial@f991d000 { | |
227 | status = "ok"; | |
228 | }; | |
229 | ||
a511e97c BS |
230 | pinctrl@fd510000 { |
231 | sdhc1_pin_a: sdhc1-pin-active { | |
232 | clk { | |
233 | pins = "sdc1_clk"; | |
234 | drive-strength = <16>; | |
235 | bias-disable; | |
236 | }; | |
237 | ||
238 | cmd-data { | |
239 | pins = "sdc1_cmd", "sdc1_data"; | |
240 | drive-strength = <10>; | |
241 | bias-pull-up; | |
242 | }; | |
243 | }; | |
fe8d81fe | 244 | |
bd939250 BM |
245 | i2c3_pins: i2c3 { |
246 | mux { | |
247 | pins = "gpio10", "gpio11"; | |
248 | function = "blsp_i2c3"; | |
249 | drive-strength = <2>; | |
250 | bias-disable; | |
251 | }; | |
252 | }; | |
253 | ||
fe8d81fe BM |
254 | i2c12_pins: i2c12 { |
255 | mux { | |
256 | pins = "gpio87", "gpio88"; | |
257 | function = "blsp_i2c12"; | |
258 | drive-strength = <2>; | |
259 | bias-disable; | |
260 | }; | |
261 | }; | |
262 | ||
263 | mpu6515_pin: mpu6515 { | |
264 | irq { | |
265 | pins = "gpio73"; | |
266 | function = "gpio"; | |
267 | bias-disable; | |
268 | input-enable; | |
269 | }; | |
270 | }; | |
a511e97c BS |
271 | }; |
272 | ||
273 | sdhci@f9824900 { | |
274 | status = "ok"; | |
275 | ||
276 | vmmc-supply = <&pm8941_l20>; | |
277 | vqmmc-supply = <&pm8941_s3>; | |
278 | ||
279 | bus-width = <8>; | |
280 | non-removable; | |
281 | ||
282 | pinctrl-names = "default"; | |
283 | pinctrl-0 = <&sdhc1_pin_a>; | |
284 | }; | |
285 | ||
f7af7de8 BS |
286 | gpio-keys { |
287 | compatible = "gpio-keys"; | |
288 | input-name = "gpio-keys"; | |
289 | ||
290 | pinctrl-names = "default"; | |
291 | pinctrl-0 = <&gpio_keys_pin_a>; | |
292 | ||
293 | volume-up { | |
294 | label = "volume_up"; | |
295 | gpios = <&pm8941_gpios 2 GPIO_ACTIVE_LOW>; | |
296 | linux,input-type = <1>; | |
297 | linux,code = <KEY_VOLUMEUP>; | |
298 | }; | |
299 | ||
300 | volume-down { | |
301 | label = "volume_down"; | |
302 | gpios = <&pm8941_gpios 3 GPIO_ACTIVE_LOW>; | |
303 | linux,input-type = <1>; | |
304 | linux,code = <KEY_VOLUMEDOWN>; | |
305 | }; | |
306 | }; | |
fe8d81fe BM |
307 | |
308 | i2c@f9968000 { | |
309 | status = "ok"; | |
310 | pinctrl-names = "default"; | |
311 | pinctrl-0 = <&i2c12_pins>; | |
312 | clock-frequency = <100000>; | |
313 | qcom,src-freq = <50000000>; | |
314 | ||
315 | mpu6515@68 { | |
316 | compatible = "invensense,mpu6515"; | |
317 | reg = <0x68>; | |
318 | interrupts-extended = <&msmgpio 73 IRQ_TYPE_EDGE_FALLING>; | |
319 | vddio-supply = <&pm8941_lvs1>; | |
320 | ||
321 | pinctrl-names = "default"; | |
322 | pinctrl-0 = <&mpu6515_pin>; | |
323 | ||
324 | i2c-gate { | |
325 | #address-cells = <1>; | |
326 | #size-cells = <0>; | |
327 | ak8963@f { | |
328 | compatible = "asahi-kasei,ak8963"; | |
329 | reg = <0x0f>; | |
330 | // Currently only works in polling mode. | |
331 | // gpios = <&msmgpio 61 0>; | |
332 | vid-supply = <&pm8941_lvs1>; | |
333 | vdd-supply = <&pm8941_l17>; | |
334 | }; | |
335 | ||
336 | bmp280@76 { | |
337 | compatible = "bosch,bmp280"; | |
338 | reg = <0x76>; | |
339 | vdda-supply = <&pm8941_lvs1>; | |
340 | vddd-supply = <&pm8941_l17>; | |
341 | }; | |
342 | }; | |
343 | }; | |
344 | }; | |
bd939250 BM |
345 | |
346 | i2c@f9925000 { | |
347 | status = "ok"; | |
348 | pinctrl-names = "default"; | |
349 | pinctrl-0 = <&i2c3_pins>; | |
350 | clock-frequency = <100000>; | |
351 | qcom,src-freq = <50000000>; | |
352 | ||
353 | avago_apds993@39 { | |
354 | compatible = "avago,apds9930"; | |
355 | reg = <0x39>; | |
356 | interrupts-extended = <&msmgpio 61 IRQ_TYPE_EDGE_FALLING>; | |
357 | vdd-supply = <&pm8941_l17>; | |
358 | vddio-supply = <&pm8941_lvs1>; | |
359 | led-max-microamp = <100000>; | |
360 | amstaos,proximity-diodes = <0>; | |
361 | }; | |
362 | }; | |
f7af7de8 BS |
363 | }; |
364 | ||
365 | &spmi_bus { | |
366 | pm8941@0 { | |
367 | gpios@c000 { | |
368 | gpio_keys_pin_a: gpio-keys-active { | |
369 | pins = "gpio2", "gpio3"; | |
370 | function = "normal"; | |
371 | ||
372 | bias-pull-up; | |
373 | power-source = <PM8941_GPIO_S3>; | |
374 | }; | |
375 | }; | |
376 | }; | |
b1100d8c | 377 | }; |