Merge tag 's390-4.20-2' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux
[sfrench/cifs-2.6.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 };