]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/blob - arch/arm/boot/dts/qcom-msm8974-lge-nexus5-hammerhead.dts
Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost
[mirror_ubuntu-eoan-kernel.git] / arch / arm / boot / dts / qcom-msm8974-lge-nexus5-hammerhead.dts
1 // SPDX-License-Identifier: GPL-2.0
2 #include "qcom-msm8974.dtsi"
3 #include "qcom-pm8841.dtsi"
4 #include "qcom-pm8941.dtsi"
5 #include <dt-bindings/gpio/gpio.h>
6 #include <dt-bindings/input/input.h>
7 #include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
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 };
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;
192 regulator-system-load = <200000>;
193 regulator-allow-set-load;
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 };
223 };
224
225 &soc {
226 serial@f991d000 {
227 status = "ok";
228 };
229
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 };
244
245 i2c3_pins: i2c3 {
246 mux {
247 pins = "gpio10", "gpio11";
248 function = "blsp_i2c3";
249 drive-strength = <2>;
250 bias-disable;
251 };
252 };
253
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 };
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
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 };
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 };
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 };
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 };
377 };