WIP FPC-III support
[linux/fpc-iii.git] / arch / arm / boot / dts / qcom-msm8974-sony-xperia-honami.dts
blob611bae9fe66b56d0419e4fe8d8e6333f0de3567d
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>
9 / {
10         model = "Sony Xperia Z1";
11         compatible = "sony,xperia-honami", "qcom,msm8974";
13         aliases {
14                 serial0 = &blsp1_uart2;
15         };
17         chosen {
18                 stdout-path = "serial0:115200n8";
19         };
21         gpio-keys {
22                 compatible = "gpio-keys";
23                 input-name = "gpio-keys";
25                 pinctrl-names = "default";
26                 pinctrl-0 = <&gpio_keys_pin_a>;
28                 volume-down {
29                         label = "volume_down";
30                         gpios = <&pm8941_gpios 2 GPIO_ACTIVE_LOW>;
31                         linux,input-type = <1>;
32                         linux,code = <KEY_VOLUMEDOWN>;
33                 };
35                 camera-snapshot {
36                         label = "camera_snapshot";
37                         gpios = <&pm8941_gpios 3 GPIO_ACTIVE_LOW>;
38                         linux,input-type = <1>;
39                         linux,code = <KEY_CAMERA>;
40                 };
42                 camera-focus {
43                         label = "camera_focus";
44                         gpios = <&pm8941_gpios 4 GPIO_ACTIVE_LOW>;
45                         linux,input-type = <1>;
46                         linux,code = <KEY_CAMERA_FOCUS>;
47                 };
49                 volume-up {
50                         label = "volume_up";
51                         gpios = <&pm8941_gpios 5 GPIO_ACTIVE_LOW>;
52                         linux,input-type = <1>;
53                         linux,code = <KEY_VOLUMEUP>;
54                 };
55         };
57         memory@0 {
58                 reg = <0 0x40000000>, <0x40000000 0x40000000>;
59                 device_type = "memory";
60         };
62         smd {
63                 rpm {
64                         rpm_requests {
65                                 pm8841-regulators {
66                                         s1 {
67                                                 regulator-min-microvolt = <675000>;
68                                                 regulator-max-microvolt = <1050000>;
69                                         };
71                                         s2 {
72                                                 regulator-min-microvolt = <500000>;
73                                                 regulator-max-microvolt = <1050000>;
74                                         };
76                                         s3 {
77                                                 regulator-min-microvolt = <500000>;
78                                                 regulator-max-microvolt = <1050000>;
79                                         };
81                                         s4 {
82                                                 regulator-min-microvolt = <500000>;
83                                                 regulator-max-microvolt = <1050000>;
84                                         };
85                                 };
87                                 pm8941-regulators {
88                                         vdd_l1_l3-supply = <&pm8941_s1>;
89                                         vdd_l2_lvs1_2_3-supply = <&pm8941_s3>;
90                                         vdd_l4_l11-supply = <&pm8941_s1>;
91                                         vdd_l5_l7-supply = <&pm8941_s2>;
92                                         vdd_l6_l12_l14_l15-supply = <&pm8941_s2>;
93                                         vdd_l9_l10_l17_l22-supply = <&vreg_boost>;
94                                         vdd_l13_l20_l23_l24-supply = <&vreg_boost>;
95                                         vdd_l21-supply = <&vreg_boost>;
97                                         s1 {
98                                                 regulator-min-microvolt = <1300000>;
99                                                 regulator-max-microvolt = <1300000>;
100                                                 regulator-always-on;
101                                                 regulator-boot-on;
102                                         };
104                                         s2 {
105                                                 regulator-min-microvolt = <2150000>;
106                                                 regulator-max-microvolt = <2150000>;
107                                                 regulator-boot-on;
108                                         };
110                                         s3 {
111                                                 regulator-min-microvolt = <1800000>;
112                                                 regulator-max-microvolt = <1800000>;
113                                                 regulator-always-on;
114                                                 regulator-boot-on;
115                                         };
117                                         s4 {
118                                                 regulator-min-microvolt = <5000000>;
119                                                 regulator-max-microvolt = <5000000>;
120                                         };
122                                         l1 {
123                                                 regulator-min-microvolt = <1225000>;
124                                                 regulator-max-microvolt = <1225000>;
126                                                 regulator-always-on;
127                                                 regulator-boot-on;
128                                         };
130                                         l2 {
131                                                 regulator-min-microvolt = <1200000>;
132                                                 regulator-max-microvolt = <1200000>;
133                                         };
135                                         l3 {
136                                                 regulator-min-microvolt = <1200000>;
137                                                 regulator-max-microvolt = <1200000>;
138                                         };
140                                         l4 {
141                                                 regulator-min-microvolt = <1225000>;
142                                                 regulator-max-microvolt = <1225000>;
143                                         };
145                                         l5 {
146                                                 regulator-min-microvolt = <1800000>;
147                                                 regulator-max-microvolt = <1800000>;
148                                         };
150                                         l6 {
151                                                 regulator-min-microvolt = <1800000>;
152                                                 regulator-max-microvolt = <1800000>;
154                                                 regulator-boot-on;
155                                         };
157                                         l7 {
158                                                 regulator-min-microvolt = <1800000>;
159                                                 regulator-max-microvolt = <1800000>;
161                                                 regulator-boot-on;
162                                         };
164                                         l8 {
165                                                 regulator-min-microvolt = <1800000>;
166                                                 regulator-max-microvolt = <1800000>;
167                                         };
169                                         l9 {
170                                                 regulator-min-microvolt = <1800000>;
171                                                 regulator-max-microvolt = <2950000>;
172                                         };
174                                         l11 {
175                                                 regulator-min-microvolt = <1300000>;
176                                                 regulator-max-microvolt = <1350000>;
177                                         };
179                                         l12 {
180                                                 regulator-min-microvolt = <1800000>;
181                                                 regulator-max-microvolt = <1800000>;
183                                                 regulator-always-on;
184                                                 regulator-boot-on;
185                                         };
187                                         l13 {
188                                                 regulator-min-microvolt = <1800000>;
189                                                 regulator-max-microvolt = <2950000>;
191                                                 regulator-boot-on;
192                                         };
194                                         l14 {
195                                                 regulator-min-microvolt = <1800000>;
196                                                 regulator-max-microvolt = <1800000>;
197                                         };
199                                         l15 {
200                                                 regulator-min-microvolt = <2050000>;
201                                                 regulator-max-microvolt = <2050000>;
202                                         };
204                                         l16 {
205                                                 regulator-min-microvolt = <2700000>;
206                                                 regulator-max-microvolt = <2700000>;
207                                         };
209                                         l17 {
210                                                 regulator-min-microvolt = <2700000>;
211                                                 regulator-max-microvolt = <2700000>;
212                                         };
214                                         l18 {
215                                                 regulator-min-microvolt = <2850000>;
216                                                 regulator-max-microvolt = <2850000>;
217                                         };
219                                         l19 {
220                                                 regulator-min-microvolt = <3300000>;
221                                                 regulator-max-microvolt = <3300000>;
222                                         };
224                                         l20 {
225                                                 regulator-min-microvolt = <2950000>;
226                                                 regulator-max-microvolt = <2950000>;
228                                                 regulator-allow-set-load;
229                                                 regulator-boot-on;
230                                                 regulator-system-load = <200000>;
231                                         };
233                                         l21 {
234                                                 regulator-min-microvolt = <2950000>;
235                                                 regulator-max-microvolt = <2950000>;
237                                                 regulator-boot-on;
238                                         };
240                                         l22 {
241                                                 regulator-min-microvolt = <3000000>;
242                                                 regulator-max-microvolt = <3000000>;
243                                         };
245                                         l23 {
246                                                 regulator-min-microvolt = <2800000>;
247                                                 regulator-max-microvolt = <2800000>;
248                                         };
250                                         l24 {
251                                                 regulator-min-microvolt = <3075000>;
252                                                 regulator-max-microvolt = <3075000>;
254                                                 regulator-boot-on;
255                                         };
256                                 };
257                         };
258                 };
259         };
262 &soc {
263         usb@f9a55000 {
264                 status = "ok";
266                 phys = <&usb_hs1_phy>;
267                 phy-select = <&tcsr 0xb000 0>;
268                 extcon = <&smbb>, <&usb_id>;
269                 vbus-supply = <&chg_otg>;
271                 hnp-disable;
272                 srp-disable;
273                 adp-disable;
275                 ulpi {
276                         phy@a {
277                                 status = "ok";
279                                 v1p8-supply = <&pm8941_l6>;
280                                 v3p3-supply = <&pm8941_l24>;
282                                 extcon = <&smbb>;
283                                 qcom,init-seq = /bits/ 8 <0x1 0x64>;
284                         };
285                 };
286         };
288         sdhci@f9824900 {
289                 status = "ok";
291                 vmmc-supply = <&pm8941_l20>;
292                 vqmmc-supply = <&pm8941_s3>;
294                 bus-width = <8>;
295                 non-removable;
297                 pinctrl-names = "default";
298                 pinctrl-0 = <&sdhc1_pin_a>;
299         };
301         sdhci@f98a4900 {
302                 status = "ok";
304                 bus-width = <4>;
306                 vmmc-supply = <&pm8941_l21>;
307                 vqmmc-supply = <&pm8941_l13>;
309                 cd-gpios = <&msmgpio 62 GPIO_ACTIVE_LOW>;
311                 pinctrl-names = "default";
312                 pinctrl-0 = <&sdhc2_pin_a>, <&sdhc2_cd_pin_a>;
313         };
315         serial@f991e000 {
316                 status = "ok";
318                 pinctrl-names = "default";
319                 pinctrl-0 = <&blsp1_uart2_pin_a>;
320         };
322         i2c@f9924000 {
323                 status = "ok";
325                 clock-frequency = <355000>;
326                 qcom,src-freq = <50000000>;
328                 pinctrl-names = "default";
329                 pinctrl-0 = <&i2c2_pins>;
331                 synaptics@2c {
332                         compatible = "syna,rmi4-i2c";
333                         reg = <0x2c>;
335                         interrupts-extended = <&msmgpio 61 IRQ_TYPE_EDGE_FALLING>;
337                         #address-cells = <1>;
338                         #size-cells = <0>;
340                         vdd-supply = <&pm8941_l22>;
341                         vio-supply = <&pm8941_lvs3>;
343                         pinctrl-names = "default";
344                         pinctrl-0 = <&ts_int_pin>;
346                         syna,startup-delay-ms = <10>;
348                         rmi4-f01@1 {
349                                 reg = <0x1>;
350                                 syna,nosleep-mode = <1>;
351                         };
353                         rmi4-f11@11 {
354                                 reg = <0x11>;
355                                 touchscreen-inverted-x;
356                                 syna,sensor-type = <1>;
357                         };
358                 };
359         };
361         pinctrl@fd510000 {
362                 blsp1_uart2_pin_a: blsp1-uart2-pin-active {
363                         rx {
364                                 pins = "gpio5";
365                                 function = "blsp_uart2";
367                                 drive-strength = <2>;
368                                 bias-pull-up;
369                         };
371                         tx {
372                                 pins = "gpio4";
373                                 function = "blsp_uart2";
375                                 drive-strength = <4>;
376                                 bias-disable;
377                         };
378                 };
380                 i2c2_pins: i2c2 {
381                         mux {
382                                 pins = "gpio6", "gpio7";
383                                 function = "blsp_i2c2";
385                                 drive-strength = <2>;
386                                 bias-disable;
387                         };
388                 };
390                 sdhc1_pin_a: sdhc1-pin-active {
391                         clk {
392                                 pins = "sdc1_clk";
393                                 drive-strength = <16>;
394                                 bias-disable;
395                         };
397                         cmd-data {
398                                 pins = "sdc1_cmd", "sdc1_data";
399                                 drive-strength = <10>;
400                                 bias-pull-up;
401                         };
402                 };
404                 sdhc2_cd_pin_a: sdhc2-cd-pin-active {
405                         pins = "gpio62";
406                         function = "gpio";
408                         drive-strength = <2>;
409                         bias-disable;
410                  };
412                 sdhc2_pin_a: sdhc2-pin-active {
413                         clk {
414                                 pins = "sdc2_clk";
415                                 drive-strength = <10>;
416                                 bias-disable;
417                         };
419                         cmd-data {
420                                 pins = "sdc2_cmd", "sdc2_data";
421                                 drive-strength = <6>;
422                                 bias-pull-up;
423                         };
424                 };
426                 ts_int_pin: touch-int {
427                         pin {
428                                 pins = "gpio61";
429                                 function = "gpio";
431                                 drive-strength = <2>;
432                                 bias-disable;
433                                 input-enable;
434                         };
435                 };
436         };
438         dma-controller@f9944000 {
439                 qcom,controlled-remotely;
440         };
443 &spmi_bus {
444         pm8941@0 {
445                 charger@1000 {
446                         qcom,fast-charge-safe-current = <1500000>;
447                         qcom,fast-charge-current-limit = <1500000>;
448                         qcom,dc-current-limit = <1800000>;
449                         qcom,fast-charge-safe-voltage = <4400000>;
450                         qcom,fast-charge-high-threshold-voltage = <4350000>;
451                         qcom,fast-charge-low-threshold-voltage = <3400000>;
452                         qcom,auto-recharge-threshold-voltage = <4200000>;
453                         qcom,minimum-input-voltage = <4300000>;
454                 };
456                 gpios@c000 {
457                         gpio_keys_pin_a: gpio-keys-active {
458                                 pins = "gpio2", "gpio3", "gpio4", "gpio5";
459                                 function = "normal";
461                                 bias-pull-up;
462                                 power-source = <PM8941_GPIO_S3>;
463                         };
464                 };
466                 coincell@2800 {
467                         status = "ok";
468                         qcom,rset-ohms = <2100>;
469                         qcom,vset-millivolts = <3000>;
470                 };
471         };
473         pm8941@1 {
474                 wled@d800 {
475                         status = "ok";
477                         qcom,cs-out;
478                         qcom,current-limit = <20>;
479                         qcom,current-boost-limit = <805>;
480                         qcom,switching-freq = <1600>;
481                         qcom,ovp = <29>;
482                         qcom,num-strings = <2>;
483                 };
484         };