Merge tag 'cris-for-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/jesper...
[cascardo/linux.git] / arch / arm / boot / dts / qcom-msm8974-sony-xperia-honami.dts
1 #include "qcom-msm8974.dtsi"
2 #include "qcom-pm8841.dtsi"
3 #include "qcom-pm8941.dtsi"
4 #include <dt-bindings/gpio/gpio.h>
5 #include <dt-bindings/input/input.h>
6 #include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
7
8 / {
9         model = "Sony Xperia Z1";
10         compatible = "sony,xperia-honami", "qcom,msm8974";
11
12         aliases {
13                 serial0 = &blsp1_uart2;
14         };
15
16         chosen {
17                 stdout-path = "serial0:115200n8";
18         };
19
20         gpio-keys {
21                 compatible = "gpio-keys";
22                 input-name = "gpio-keys";
23
24                 pinctrl-names = "default";
25                 pinctrl-0 = <&gpio_keys_pin_a>;
26
27                 volume-down {
28                         label = "volume_down";
29                         gpios = <&pm8941_gpios 2 GPIO_ACTIVE_LOW>;
30                         linux,input-type = <1>;
31                         linux,code = <KEY_VOLUMEDOWN>;
32                 };
33
34                 camera-snapshot {
35                         label = "camera_snapshot";
36                         gpios = <&pm8941_gpios 3 GPIO_ACTIVE_LOW>;
37                         linux,input-type = <1>;
38                         linux,code = <KEY_CAMERA>;
39                 };
40
41                 camera-focus {
42                         label = "camera_focus";
43                         gpios = <&pm8941_gpios 4 GPIO_ACTIVE_LOW>;
44                         linux,input-type = <1>;
45                         linux,code = <KEY_CAMERA_FOCUS>;
46                 };
47
48                 volume-up {
49                         label = "volume_up";
50                         gpios = <&pm8941_gpios 5 GPIO_ACTIVE_LOW>;
51                         linux,input-type = <1>;
52                         linux,code = <KEY_VOLUMEUP>;
53                 };
54         };
55
56         memory@0 {
57                 reg = <0 0x40000000>, <0x40000000 0x40000000>;
58                 device_type = "memory";
59         };
60
61         smd {
62                 rpm {
63                         rpm_requests {
64                                 pm8841-regulators {
65                                         s1 {
66                                                 regulator-min-microvolt = <675000>;
67                                                 regulator-max-microvolt = <1050000>;
68                                         };
69
70                                         s2 {
71                                                 regulator-min-microvolt = <500000>;
72                                                 regulator-max-microvolt = <1050000>;
73                                         };
74
75                                         s3 {
76                                                 regulator-min-microvolt = <500000>;
77                                                 regulator-max-microvolt = <1050000>;
78                                         };
79
80                                         s4 {
81                                                 regulator-min-microvolt = <500000>;
82                                                 regulator-max-microvolt = <1050000>;
83                                         };
84                                 };
85
86                                 pm8941-regulators {
87                                         vdd_l1_l3-supply = <&pm8941_s1>;
88                                         vdd_l2_lvs1_2_3-supply = <&pm8941_s3>;
89                                         vdd_l4_l11-supply = <&pm8941_s1>;
90                                         vdd_l5_l7-supply = <&pm8941_s2>;
91                                         vdd_l6_l12_l14_l15-supply = <&pm8941_s2>;
92                                         vdd_l9_l10_l17_l22-supply = <&vreg_boost>;
93                                         vdd_l13_l20_l23_l24-supply = <&vreg_boost>;
94                                         vdd_l21-supply = <&vreg_boost>;
95                                         vin_5vs-supply = <&pm8941_5v>;
96
97                                         s1 {
98                                                 regulator-min-microvolt = <1300000>;
99                                                 regulator-max-microvolt = <1300000>;
100                                                 regulator-always-on;
101                                                 regulator-boot-on;
102                                         };
103
104                                         s2 {
105                                                 regulator-min-microvolt = <2150000>;
106                                                 regulator-max-microvolt = <2150000>;
107                                                 regulator-boot-on;
108                                         };
109
110                                         s3 {
111                                                 regulator-min-microvolt = <1800000>;
112                                                 regulator-max-microvolt = <1800000>;
113                                                 regulator-always-on;
114                                                 regulator-boot-on;
115                                         };
116
117                                         s4 {
118                                                 regulator-min-microvolt = <5000000>;
119                                                 regulator-max-microvolt = <5000000>;
120                                         };
121
122                                         l1 {
123                                                 regulator-min-microvolt = <1225000>;
124                                                 regulator-max-microvolt = <1225000>;
125
126                                                 regulator-always-on;
127                                                 regulator-boot-on;
128                                         };
129
130                                         l2 {
131                                                 regulator-min-microvolt = <1200000>;
132                                                 regulator-max-microvolt = <1200000>;
133                                         };
134
135                                         l3 {
136                                                 regulator-min-microvolt = <1200000>;
137                                                 regulator-max-microvolt = <1200000>;
138                                         };
139
140                                         l4 {
141                                                 regulator-min-microvolt = <1225000>;
142                                                 regulator-max-microvolt = <1225000>;
143                                         };
144
145                                         l5 {
146                                                 regulator-min-microvolt = <1800000>;
147                                                 regulator-max-microvolt = <1800000>;
148                                         };
149
150                                         l6 {
151                                                 regulator-min-microvolt = <1800000>;
152                                                 regulator-max-microvolt = <1800000>;
153
154                                                 regulator-boot-on;
155                                         };
156
157                                         l7 {
158                                                 regulator-min-microvolt = <1800000>;
159                                                 regulator-max-microvolt = <1800000>;
160
161                                                 regulator-boot-on;
162                                         };
163
164                                         l8 {
165                                                 regulator-min-microvolt = <1800000>;
166                                                 regulator-max-microvolt = <1800000>;
167                                         };
168
169                                         l9 {
170                                                 regulator-min-microvolt = <1800000>;
171                                                 regulator-max-microvolt = <2950000>;
172                                         };
173
174                                         l11 {
175                                                 regulator-min-microvolt = <1300000>;
176                                                 regulator-max-microvolt = <1350000>;
177                                         };
178
179                                         l12 {
180                                                 regulator-min-microvolt = <1800000>;
181                                                 regulator-max-microvolt = <1800000>;
182
183                                                 regulator-always-on;
184                                                 regulator-boot-on;
185                                         };
186
187                                         l13 {
188                                                 regulator-min-microvolt = <1800000>;
189                                                 regulator-max-microvolt = <2950000>;
190
191                                                 regulator-boot-on;
192                                         };
193
194                                         l14 {
195                                                 regulator-min-microvolt = <1800000>;
196                                                 regulator-max-microvolt = <1800000>;
197                                         };
198
199                                         l15 {
200                                                 regulator-min-microvolt = <2050000>;
201                                                 regulator-max-microvolt = <2050000>;
202                                         };
203
204                                         l16 {
205                                                 regulator-min-microvolt = <2700000>;
206                                                 regulator-max-microvolt = <2700000>;
207                                         };
208
209                                         l17 {
210                                                 regulator-min-microvolt = <2700000>;
211                                                 regulator-max-microvolt = <2700000>;
212                                         };
213
214                                         l18 {
215                                                 regulator-min-microvolt = <2850000>;
216                                                 regulator-max-microvolt = <2850000>;
217                                         };
218
219                                         l19 {
220                                                 regulator-min-microvolt = <3300000>;
221                                                 regulator-max-microvolt = <3300000>;
222                                         };
223
224                                         l20 {
225                                                 regulator-min-microvolt = <2950000>;
226                                                 regulator-max-microvolt = <2950000>;
227
228                                                 regulator-allow-set-load;
229                                                 regulator-boot-on;
230                                                 regulator-system-load = <200000>;
231                                         };
232
233                                         l21 {
234                                                 regulator-min-microvolt = <2950000>;
235                                                 regulator-max-microvolt = <2950000>;
236
237                                                 regulator-boot-on;
238                                         };
239
240                                         l22 {
241                                                 regulator-min-microvolt = <3000000>;
242                                                 regulator-max-microvolt = <3000000>;
243                                         };
244
245                                         l23 {
246                                                 regulator-min-microvolt = <2800000>;
247                                                 regulator-max-microvolt = <2800000>;
248                                         };
249
250                                         l24 {
251                                                 regulator-min-microvolt = <3075000>;
252                                                 regulator-max-microvolt = <3075000>;
253
254                                                 regulator-boot-on;
255                                         };
256                                 };
257                         };
258                 };
259         };
260 };
261
262 &soc {
263         sdhci@f9824900 {
264                 status = "ok";
265
266                 vmmc-supply = <&pm8941_l20>;
267                 vqmmc-supply = <&pm8941_s3>;
268
269                 bus-width = <8>;
270                 non-removable;
271
272                 pinctrl-names = "default";
273                 pinctrl-0 = <&sdhc1_pin_a>;
274         };
275
276         sdhci@f98a4900 {
277                 status = "ok";
278
279                 bus-width = <4>;
280
281                 vmmc-supply = <&pm8941_l21>;
282                 vqmmc-supply = <&pm8941_l13>;
283
284                 cd-gpios = <&msmgpio 62 GPIO_ACTIVE_LOW>;
285
286                 pinctrl-names = "default";
287                 pinctrl-0 = <&sdhc2_pin_a>, <&sdhc2_cd_pin_a>;
288         };
289
290         serial@f991e000 {
291                 status = "ok";
292
293                 pinctrl-names = "default";
294                 pinctrl-0 = <&blsp1_uart2_pin_a>;
295         };
296
297         i2c@f9924000 {
298                 status = "ok";
299
300                 clock-frequency = <355000>;
301                 qcom,src-freq = <50000000>;
302
303                 pinctrl-names = "default";
304                 pinctrl-0 = <&i2c2_pins>;
305
306                 synaptics@2c {
307                         compatible = "syna,rmi4-i2c";
308                         reg = <0x2c>;
309
310                         interrupts-extended = <&msmgpio 61 IRQ_TYPE_EDGE_FALLING>;
311
312                         #address-cells = <1>;
313                         #size-cells = <0>;
314
315                         vdd-supply = <&pm8941_l22>;
316                         vio-supply = <&pm8941_lvs3>;
317
318                         pinctrl-names = "default";
319                         pinctrl-0 = <&ts_int_pin>;
320
321                         syna,startup-delay-ms = <10>;
322
323                         rmi4-f01@1 {
324                                 reg = <0x1>;
325                                 syna,nosleep-mode = <1>;
326                         };
327
328                         rmi4-f11@11 {
329                                 reg = <0x11>;
330                                 touchscreen-inverted-x;
331                                 syna,sensor-type = <1>;
332                         };
333                 };
334         };
335
336         pinctrl@fd510000 {
337                 blsp1_uart2_pin_a: blsp1-uart2-pin-active {
338                         rx {
339                                 pins = "gpio5";
340                                 function = "blsp_uart2";
341
342                                 drive-strength = <2>;
343                                 bias-pull-up;
344                         };
345
346                         tx {
347                                 pins = "gpio4";
348                                 function = "blsp_uart2";
349
350                                 drive-strength = <4>;
351                                 bias-disable;
352                         };
353                 };
354
355                 i2c2_pins: i2c2 {
356                         mux {
357                                 pins = "gpio6", "gpio7";
358                                 function = "blsp_i2c2";
359
360                                 drive-strength = <2>;
361                                 bias-disable;
362                         };
363                 };
364
365                 sdhc1_pin_a: sdhc1-pin-active {
366                         clk {
367                                 pins = "sdc1_clk";
368                                 drive-strength = <16>;
369                                 bias-disable;
370                         };
371
372                         cmd-data {
373                                 pins = "sdc1_cmd", "sdc1_data";
374                                 drive-strength = <10>;
375                                 bias-pull-up;
376                         };
377                 };
378
379                 sdhc2_cd_pin_a: sdhc2-cd-pin-active {
380                         pins = "gpio62";
381                         function = "gpio";
382
383                         drive-strength = <2>;
384                         bias-disable;
385                  };
386
387                 sdhc2_pin_a: sdhc2-pin-active {
388                         clk {
389                                 pins = "sdc2_clk";
390                                 drive-strength = <10>;
391                                 bias-disable;
392                         };
393
394                         cmd-data {
395                                 pins = "sdc2_cmd", "sdc2_data";
396                                 drive-strength = <6>;
397                                 bias-pull-up;
398                         };
399                 };
400
401                 ts_int_pin: touch-int {
402                         pin {
403                                 pins = "gpio61";
404                                 function = "gpio";
405
406                                 drive-strength = <2>;
407                                 bias-disable;
408                                 input-enable;
409                         };
410                 };
411         };
412
413         dma-controller@f9944000 {
414                 qcom,controlled-remotely;
415         };
416 };
417
418 &spmi_bus {
419         pm8941@0 {
420                 charger@1000 {
421                         qcom,fast-charge-safe-current = <1500000>;
422                         qcom,fast-charge-current-limit = <1500000>;
423                         qcom,dc-current-limit = <1800000>;
424                         qcom,fast-charge-safe-voltage = <4400000>;
425                         qcom,fast-charge-high-threshold-voltage = <4350000>;
426                         qcom,fast-charge-low-threshold-voltage = <3400000>;
427                         qcom,auto-recharge-threshold-voltage = <4200000>;
428                         qcom,minimum-input-voltage = <4300000>;
429                 };
430
431                 gpios@c000 {
432                         gpio_keys_pin_a: gpio-keys-active {
433                                 pins = "gpio2", "gpio3", "gpio4", "gpio5";
434                                 function = "normal";
435
436                                 bias-pull-up;
437                                 power-source = <PM8941_GPIO_S3>;
438                         };
439                 };
440
441                 coincell@2800 {
442                         status = "ok";
443                         qcom,rset-ohms = <2100>;
444                         qcom,vset-millivolts = <3000>;
445                 };
446         };
447
448         pm8941@1 {
449                 wled@d800 {
450                         status = "ok";
451
452                         qcom,cs-out;
453                         qcom,current-limit = <20>;
454                         qcom,current-boost-limit = <805>;
455                         qcom,switching-freq = <1600>;
456                         qcom,ovp = <29>;
457                         qcom,num-strings = <2>;
458                 };
459         };
460 };