Merge branch 'work.iget' into work.misc
[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         vreg_boost: vreg-boost {
262                 compatible = "regulator-fixed";
263
264                 regulator-name = "vreg-boost";
265                 regulator-min-microvolt = <3150000>;
266                 regulator-max-microvolt = <3150000>;
267
268                 regulator-always-on;
269                 regulator-boot-on;
270
271                 gpio = <&pm8941_gpios 21 GPIO_ACTIVE_HIGH>;
272                 enable-active-high;
273
274                 pinctrl-names = "default";
275                 pinctrl-0 = <&boost_bypass_n_pin>;
276      };
277 };
278
279 &soc {
280         sdhci@f9824900 {
281                 status = "ok";
282
283                 vmmc-supply = <&pm8941_l20>;
284                 vqmmc-supply = <&pm8941_s3>;
285
286                 bus-width = <8>;
287                 non-removable;
288
289                 pinctrl-names = "default";
290                 pinctrl-0 = <&sdhc1_pin_a>;
291         };
292
293         sdhci@f98a4900 {
294                 status = "ok";
295
296                 bus-width = <4>;
297
298                 vmmc-supply = <&pm8941_l21>;
299                 vqmmc-supply = <&pm8941_l13>;
300
301                 cd-gpios = <&msmgpio 62 GPIO_ACTIVE_LOW>;
302
303                 pinctrl-names = "default";
304                 pinctrl-0 = <&sdhc2_pin_a>, <&sdhc2_cd_pin_a>;
305         };
306
307         serial@f991e000 {
308                 status = "ok";
309
310                 pinctrl-names = "default";
311                 pinctrl-0 = <&blsp1_uart2_pin_a>;
312         };
313
314         pinctrl@fd510000 {
315                 blsp1_uart2_pin_a: blsp1-uart2-pin-active {
316                         rx {
317                                 pins = "gpio5";
318                                 function = "blsp_uart2";
319
320                                 drive-strength = <2>;
321                                 bias-pull-up;
322                         };
323
324                         tx {
325                                 pins = "gpio4";
326                                 function = "blsp_uart2";
327
328                                 drive-strength = <4>;
329                                 bias-disable;
330                         };
331                 };
332
333                 sdhc1_pin_a: sdhc1-pin-active {
334                         clk {
335                                 pins = "sdc1_clk";
336                                 drive-strength = <16>;
337                                 bias-disable;
338                         };
339
340                         cmd-data {
341                                 pins = "sdc1_cmd", "sdc1_data";
342                                 drive-strength = <10>;
343                                 bias-pull-up;
344                         };
345                 };
346
347                 sdhc2_cd_pin_a: sdhc2-cd-pin-active {
348                         pins = "gpio62";
349                         function = "gpio";
350
351                         drive-strength = <2>;
352                         bias-disable;
353                  };
354
355                 sdhc2_pin_a: sdhc2-pin-active {
356                         clk {
357                                 pins = "sdc2_clk";
358                                 drive-strength = <10>;
359                                 bias-disable;
360                         };
361
362                         cmd-data {
363                                 pins = "sdc2_cmd", "sdc2_data";
364                                 drive-strength = <6>;
365                                 bias-pull-up;
366                         };
367                 };
368
369         };
370
371         dma-controller@f9944000 {
372                 qcom,controlled-remotely;
373         };
374 };
375
376 &spmi_bus {
377         pm8941@0 {
378                 charger@1000 {
379                         qcom,fast-charge-safe-current = <1500000>;
380                         qcom,fast-charge-current-limit = <1500000>;
381                         qcom,dc-current-limit = <1800000>;
382                         qcom,fast-charge-safe-voltage = <4400000>;
383                         qcom,fast-charge-high-threshold-voltage = <4350000>;
384                         qcom,fast-charge-low-threshold-voltage = <3400000>;
385                         qcom,auto-recharge-threshold-voltage = <4200000>;
386                         qcom,minimum-input-voltage = <4300000>;
387                 };
388
389                 gpios@c000 {
390                         boost_bypass_n_pin: boost-bypass {
391                                 pins = "gpio21";
392                                 function = "normal";
393                         };
394
395                         gpio_keys_pin_a: gpio-keys-active {
396                                 pins = "gpio2", "gpio3", "gpio4", "gpio5";
397                                 function = "normal";
398
399                                 bias-pull-up;
400                                 power-source = <PM8941_GPIO_S3>;
401                         };
402                 };
403
404                 coincell@2800 {
405                         status = "ok";
406                         qcom,rset-ohms = <2100>;
407                         qcom,vset-millivolts = <3000>;
408                 };
409         };
410
411         pm8941@1 {
412                 wled@d800 {
413                         status = "ok";
414
415                         qcom,cs-out;
416                         qcom,current-limit = <20>;
417                         qcom,current-boost-limit = <805>;
418                         qcom,switching-freq = <1600>;
419                         qcom,ovp = <29>;
420                         qcom,num-strings = <2>;
421                 };
422         };
423 };