Merge branch 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[sfrench/cifs-2.6.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
96                                         s1 {
97                                                 regulator-min-microvolt = <1300000>;
98                                                 regulator-max-microvolt = <1300000>;
99                                                 regulator-always-on;
100                                                 regulator-boot-on;
101                                         };
102
103                                         s2 {
104                                                 regulator-min-microvolt = <2150000>;
105                                                 regulator-max-microvolt = <2150000>;
106                                                 regulator-boot-on;
107                                         };
108
109                                         s3 {
110                                                 regulator-min-microvolt = <1800000>;
111                                                 regulator-max-microvolt = <1800000>;
112                                                 regulator-always-on;
113                                                 regulator-boot-on;
114                                         };
115
116                                         s4 {
117                                                 regulator-min-microvolt = <5000000>;
118                                                 regulator-max-microvolt = <5000000>;
119                                         };
120
121                                         l1 {
122                                                 regulator-min-microvolt = <1225000>;
123                                                 regulator-max-microvolt = <1225000>;
124
125                                                 regulator-always-on;
126                                                 regulator-boot-on;
127                                         };
128
129                                         l2 {
130                                                 regulator-min-microvolt = <1200000>;
131                                                 regulator-max-microvolt = <1200000>;
132                                         };
133
134                                         l3 {
135                                                 regulator-min-microvolt = <1200000>;
136                                                 regulator-max-microvolt = <1200000>;
137                                         };
138
139                                         l4 {
140                                                 regulator-min-microvolt = <1225000>;
141                                                 regulator-max-microvolt = <1225000>;
142                                         };
143
144                                         l5 {
145                                                 regulator-min-microvolt = <1800000>;
146                                                 regulator-max-microvolt = <1800000>;
147                                         };
148
149                                         l6 {
150                                                 regulator-min-microvolt = <1800000>;
151                                                 regulator-max-microvolt = <1800000>;
152
153                                                 regulator-boot-on;
154                                         };
155
156                                         l7 {
157                                                 regulator-min-microvolt = <1800000>;
158                                                 regulator-max-microvolt = <1800000>;
159
160                                                 regulator-boot-on;
161                                         };
162
163                                         l8 {
164                                                 regulator-min-microvolt = <1800000>;
165                                                 regulator-max-microvolt = <1800000>;
166                                         };
167
168                                         l9 {
169                                                 regulator-min-microvolt = <1800000>;
170                                                 regulator-max-microvolt = <2950000>;
171                                         };
172
173                                         l11 {
174                                                 regulator-min-microvolt = <1300000>;
175                                                 regulator-max-microvolt = <1350000>;
176                                         };
177
178                                         l12 {
179                                                 regulator-min-microvolt = <1800000>;
180                                                 regulator-max-microvolt = <1800000>;
181
182                                                 regulator-always-on;
183                                                 regulator-boot-on;
184                                         };
185
186                                         l13 {
187                                                 regulator-min-microvolt = <1800000>;
188                                                 regulator-max-microvolt = <2950000>;
189
190                                                 regulator-boot-on;
191                                         };
192
193                                         l14 {
194                                                 regulator-min-microvolt = <1800000>;
195                                                 regulator-max-microvolt = <1800000>;
196                                         };
197
198                                         l15 {
199                                                 regulator-min-microvolt = <2050000>;
200                                                 regulator-max-microvolt = <2050000>;
201                                         };
202
203                                         l16 {
204                                                 regulator-min-microvolt = <2700000>;
205                                                 regulator-max-microvolt = <2700000>;
206                                         };
207
208                                         l17 {
209                                                 regulator-min-microvolt = <2700000>;
210                                                 regulator-max-microvolt = <2700000>;
211                                         };
212
213                                         l18 {
214                                                 regulator-min-microvolt = <2850000>;
215                                                 regulator-max-microvolt = <2850000>;
216                                         };
217
218                                         l19 {
219                                                 regulator-min-microvolt = <3300000>;
220                                                 regulator-max-microvolt = <3300000>;
221                                         };
222
223                                         l20 {
224                                                 regulator-min-microvolt = <2950000>;
225                                                 regulator-max-microvolt = <2950000>;
226
227                                                 regulator-allow-set-load;
228                                                 regulator-boot-on;
229                                                 regulator-system-load = <200000>;
230                                         };
231
232                                         l21 {
233                                                 regulator-min-microvolt = <2950000>;
234                                                 regulator-max-microvolt = <2950000>;
235
236                                                 regulator-boot-on;
237                                         };
238
239                                         l22 {
240                                                 regulator-min-microvolt = <3000000>;
241                                                 regulator-max-microvolt = <3000000>;
242                                         };
243
244                                         l23 {
245                                                 regulator-min-microvolt = <2800000>;
246                                                 regulator-max-microvolt = <2800000>;
247                                         };
248
249                                         l24 {
250                                                 regulator-min-microvolt = <3075000>;
251                                                 regulator-max-microvolt = <3075000>;
252
253                                                 regulator-boot-on;
254                                         };
255                                 };
256                         };
257                 };
258         };
259 };
260
261 &soc {
262         sdhci@f9824900 {
263                 status = "ok";
264
265                 vmmc-supply = <&pm8941_l20>;
266                 vqmmc-supply = <&pm8941_s3>;
267
268                 bus-width = <8>;
269                 non-removable;
270
271                 pinctrl-names = "default";
272                 pinctrl-0 = <&sdhc1_pin_a>;
273         };
274
275         sdhci@f98a4900 {
276                 status = "ok";
277
278                 bus-width = <4>;
279
280                 vmmc-supply = <&pm8941_l21>;
281                 vqmmc-supply = <&pm8941_l13>;
282
283                 cd-gpios = <&msmgpio 62 GPIO_ACTIVE_LOW>;
284
285                 pinctrl-names = "default";
286                 pinctrl-0 = <&sdhc2_pin_a>, <&sdhc2_cd_pin_a>;
287         };
288
289         serial@f991e000 {
290                 status = "ok";
291
292                 pinctrl-names = "default";
293                 pinctrl-0 = <&blsp1_uart2_pin_a>;
294         };
295
296         i2c@f9924000 {
297                 status = "ok";
298
299                 clock-frequency = <355000>;
300                 qcom,src-freq = <50000000>;
301
302                 pinctrl-names = "default";
303                 pinctrl-0 = <&i2c2_pins>;
304
305                 synaptics@2c {
306                         compatible = "syna,rmi4-i2c";
307                         reg = <0x2c>;
308
309                         interrupts-extended = <&msmgpio 61 IRQ_TYPE_EDGE_FALLING>;
310
311                         #address-cells = <1>;
312                         #size-cells = <0>;
313
314                         vdd-supply = <&pm8941_l22>;
315                         vio-supply = <&pm8941_lvs3>;
316
317                         pinctrl-names = "default";
318                         pinctrl-0 = <&ts_int_pin>;
319
320                         syna,startup-delay-ms = <10>;
321
322                         rmi4-f01@1 {
323                                 reg = <0x1>;
324                                 syna,nosleep-mode = <1>;
325                         };
326
327                         rmi4-f11@11 {
328                                 reg = <0x11>;
329                                 touchscreen-inverted-x;
330                                 syna,sensor-type = <1>;
331                         };
332                 };
333         };
334
335         pinctrl@fd510000 {
336                 blsp1_uart2_pin_a: blsp1-uart2-pin-active {
337                         rx {
338                                 pins = "gpio5";
339                                 function = "blsp_uart2";
340
341                                 drive-strength = <2>;
342                                 bias-pull-up;
343                         };
344
345                         tx {
346                                 pins = "gpio4";
347                                 function = "blsp_uart2";
348
349                                 drive-strength = <4>;
350                                 bias-disable;
351                         };
352                 };
353
354                 i2c2_pins: i2c2 {
355                         mux {
356                                 pins = "gpio6", "gpio7";
357                                 function = "blsp_i2c2";
358
359                                 drive-strength = <2>;
360                                 bias-disable;
361                         };
362                 };
363
364                 sdhc1_pin_a: sdhc1-pin-active {
365                         clk {
366                                 pins = "sdc1_clk";
367                                 drive-strength = <16>;
368                                 bias-disable;
369                         };
370
371                         cmd-data {
372                                 pins = "sdc1_cmd", "sdc1_data";
373                                 drive-strength = <10>;
374                                 bias-pull-up;
375                         };
376                 };
377
378                 sdhc2_cd_pin_a: sdhc2-cd-pin-active {
379                         pins = "gpio62";
380                         function = "gpio";
381
382                         drive-strength = <2>;
383                         bias-disable;
384                  };
385
386                 sdhc2_pin_a: sdhc2-pin-active {
387                         clk {
388                                 pins = "sdc2_clk";
389                                 drive-strength = <10>;
390                                 bias-disable;
391                         };
392
393                         cmd-data {
394                                 pins = "sdc2_cmd", "sdc2_data";
395                                 drive-strength = <6>;
396                                 bias-pull-up;
397                         };
398                 };
399
400                 ts_int_pin: touch-int {
401                         pin {
402                                 pins = "gpio61";
403                                 function = "gpio";
404
405                                 drive-strength = <2>;
406                                 bias-disable;
407                                 input-enable;
408                         };
409                 };
410         };
411
412         dma-controller@f9944000 {
413                 qcom,controlled-remotely;
414         };
415 };
416
417 &spmi_bus {
418         pm8941@0 {
419                 charger@1000 {
420                         qcom,fast-charge-safe-current = <1500000>;
421                         qcom,fast-charge-current-limit = <1500000>;
422                         qcom,dc-current-limit = <1800000>;
423                         qcom,fast-charge-safe-voltage = <4400000>;
424                         qcom,fast-charge-high-threshold-voltage = <4350000>;
425                         qcom,fast-charge-low-threshold-voltage = <3400000>;
426                         qcom,auto-recharge-threshold-voltage = <4200000>;
427                         qcom,minimum-input-voltage = <4300000>;
428                 };
429
430                 gpios@c000 {
431                         gpio_keys_pin_a: gpio-keys-active {
432                                 pins = "gpio2", "gpio3", "gpio4", "gpio5";
433                                 function = "normal";
434
435                                 bias-pull-up;
436                                 power-source = <PM8941_GPIO_S3>;
437                         };
438                 };
439
440                 coincell@2800 {
441                         status = "ok";
442                         qcom,rset-ohms = <2100>;
443                         qcom,vset-millivolts = <3000>;
444                 };
445         };
446
447         pm8941@1 {
448                 wled@d800 {
449                         status = "ok";
450
451                         qcom,cs-out;
452                         qcom,current-limit = <20>;
453                         qcom,current-boost-limit = <805>;
454                         qcom,switching-freq = <1600>;
455                         qcom,ovp = <29>;
456                         qcom,num-strings = <2>;
457                 };
458         };
459 };