Merge branch 'work.iov_iter' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
[linux-2.6-microblaze.git] / arch / arm64 / boot / dts / qcom / qcs404-evb.dtsi
1 // SPDX-License-Identifier: GPL-2.0
2 // Copyright (c) 2018, Linaro Limited
3
4 #include <dt-bindings/gpio/gpio.h>
5 #include "qcs404.dtsi"
6 #include "pms405.dtsi"
7 #include <dt-bindings/gpio/gpio.h>
8 #include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
9
10 / {
11         aliases {
12                 serial0 = &blsp1_uart2;
13                 serial1 = &blsp1_uart3;
14         };
15
16         chosen {
17                 stdout-path = "serial0";
18         };
19
20         vph_pwr: vph-pwr-regulator {
21                 compatible = "regulator-fixed";
22                 regulator-name = "vph_pwr";
23                 regulator-always-on;
24                 regulator-boot-on;
25         };
26
27         vdd_ch0_3p3:
28         vdd_esmps3_3p3: vdd-esmps3-3p3-regulator {
29                 compatible = "regulator-fixed";
30                 regulator-name = "eSMPS3_3P3";
31
32                 regulator-min-microvolt = <3300000>;
33                 regulator-max-microvolt = <3300000>;
34                 regulator-always-on;
35         };
36
37         usb3_vbus_reg: regulator-usb3-vbus {
38                 compatible = "regulator-fixed";
39                 regulator-name = "VBUS_BOOST_5V";
40                 regulator-min-microvolt = <5000000>;
41                 regulator-max-microvolt = <5000000>;
42                 gpio = <&pms405_gpios 3 GPIO_ACTIVE_HIGH>;
43                 pinctrl-names = "default";
44                 pinctrl-0 = <&usb_vbus_boost_pin>;
45                 vin-supply = <&vph_pwr>;
46                 enable-active-high;
47
48                 /* TODO: Drop this when introducing role switching */
49                 regulator-always-on;
50         };
51 };
52
53 &blsp1_uart3 {
54         status = "okay";
55
56         bluetooth {
57                 compatible = "qcom,wcn3990-bt";
58                 vddio-supply = <&vreg_l6_1p8>;
59                 vddxo-supply = <&vreg_l5_1p8>;
60                 vddrf-supply = <&vreg_l1_1p3>;
61                 vddch0-supply = <&vdd_ch0_3p3>;
62
63                 local-bd-address = [ 02 00 00 00 5a ad ];
64
65                 max-speed = <3200000>;
66         };
67 };
68
69 &blsp1_dma {
70         qcom,controlled-remotely;
71 };
72
73 &blsp2_dma {
74         qcom,controlled-remotely;
75 };
76
77 &gcc {
78         protected-clocks = <GCC_BIMC_CDSP_CLK>,
79                            <GCC_CDSP_CFG_AHB_CLK>,
80                            <GCC_CDSP_BIMC_CLK_SRC>,
81                            <GCC_CDSP_TBU_CLK>,
82                            <141>, /* GCC_WCSS_Q6_AHB_CLK */
83                            <142>; /* GCC_WCSS_Q6_AXIM_CLK */
84 };
85
86 &pms405_spmi_regulators {
87         vdd_s3-supply = <&vph_pwr>;
88
89         pms405_s3: s3 {
90                 regulator-always-on;
91                 regulator-boot-on;
92                 regulator-name = "vdd_apc";
93                 regulator-initial-mode = <1>;
94                 regulator-min-microvolt = <1048000>;
95                 regulator-max-microvolt = <1384000>;
96         };
97 };
98
99 &pcie {
100         status = "okay";
101
102         perst-gpio = <&tlmm 43 GPIO_ACTIVE_LOW>;
103
104         pinctrl-names = "default";
105         pinctrl-0 = <&perst_state>;
106 };
107
108 &pcie_phy {
109         status = "okay";
110
111         vdda-vp-supply = <&vreg_l3_1p05>;
112         vdda-vph-supply = <&vreg_l5_1p8>;
113 };
114
115 &remoteproc_adsp {
116         status = "okay";
117 };
118
119 &remoteproc_cdsp {
120         status = "okay";
121 };
122
123 &remoteproc_wcss {
124         status = "okay";
125 };
126
127 &rpm_requests {
128         pms405-regulators {
129                 compatible = "qcom,rpm-pms405-regulators";
130
131                 vdd_s1-supply = <&vph_pwr>;
132                 vdd_s2-supply = <&vph_pwr>;
133                 vdd_s3-supply = <&vph_pwr>;
134                 vdd_s4-supply = <&vph_pwr>;
135                 vdd_s5-supply = <&vph_pwr>;
136                 vdd_l1_l2-supply = <&vreg_s5_1p35>;
137                 vdd_l3_l8-supply = <&vreg_s5_1p35>;
138                 vdd_l4-supply = <&vreg_s5_1p35>;
139                 vdd_l5_l6-supply = <&vreg_s4_1p8>;
140                 vdd_l7-supply = <&vph_pwr>;
141                 vdd_l9-supply = <&vreg_s5_1p35>;
142                 vdd_l10_l11_l12_l13-supply = <&vph_pwr>;
143
144                 vreg_s4_1p8: s4 {
145                         regulator-min-microvolt = <1728000>;
146                         regulator-max-microvolt = <1920000>;
147                 };
148
149                 vreg_s5_1p35: s5 {
150                         regulator-min-microvolt = <1352000>;
151                         regulator-max-microvolt = <1352000>;
152                 };
153
154                 vreg_l1_1p3: l1 {
155                         regulator-min-microvolt = <1240000>;
156                         regulator-max-microvolt = <1352000>;
157                 };
158
159                 vreg_l2_1p275: l2 {
160                         regulator-min-microvolt = <1048000>;
161                         regulator-max-microvolt = <1280000>;
162                 };
163
164                 vreg_l3_1p05: l3 {
165                         regulator-min-microvolt = <1048000>;
166                         regulator-max-microvolt = <1160000>;
167                 };
168
169                 vreg_l4_1p2: l4 {
170                         regulator-min-microvolt = <1144000>;
171                         regulator-max-microvolt = <1256000>;
172                 };
173
174                 vreg_l5_1p8: l5 {
175                         regulator-min-microvolt = <1800000>;
176                         regulator-max-microvolt = <1800000>;
177                 };
178
179                 vreg_l6_1p8: l6 {
180                         regulator-min-microvolt = <1800000>;
181                         regulator-max-microvolt = <1800000>;
182                         regulator-always-on;
183                 };
184
185                 vreg_l7_1p8: l7 {
186                         regulator-min-microvolt = <1616000>;
187                         regulator-max-microvolt = <3000000>;
188                 };
189
190                 vreg_l8_1p2: l8 {
191                         regulator-min-microvolt = <1136000>;
192                         regulator-max-microvolt = <1352000>;
193                 };
194
195                 vreg_l10_3p3: l10 {
196                         regulator-min-microvolt = <2936000>;
197                         regulator-max-microvolt = <3088000>;
198                 };
199
200                 vreg_l11_sdc2: l11 {
201                         regulator-min-microvolt = <2696000>;
202                         regulator-max-microvolt = <3304000>;
203                 };
204
205                 vreg_l12_3p3: l12 {
206                         regulator-min-microvolt = <3050000>;
207                         regulator-max-microvolt = <3300000>;
208                 };
209
210                 vreg_l13_3p3: l13 {
211                         regulator-min-microvolt = <3000000>;
212                         regulator-max-microvolt = <3300000>;
213                 };
214         };
215 };
216
217 &sdcc1 {
218         status = "okay";
219
220         supports-cqe;
221         mmc-ddr-1_8v;
222         mmc-hs400-1_8v;
223         bus-width = <8>;
224         non-removable;
225
226         pinctrl-names = "default", "sleep";
227         pinctrl-0 = <&sdc1_on>;
228         pinctrl-1 = <&sdc1_off>;
229 };
230
231 &tlmm {
232         perst_state: perst {
233                 pins = "gpio43";
234                 function = "gpio";
235
236                 drive-strength = <2>;
237                 bias-disable;
238                 output-low;
239         };
240
241         sdc1_on: sdc1-on {
242                 clk {
243                         pins = "sdc1_clk";
244                         bias-disable;
245                         drive-strength = <16>;
246                 };
247
248                 cmd {
249                         pins = "sdc1_cmd";
250                         bias-pull-up;
251                         drive-strength = <10>;
252                 };
253
254                 data {
255                         pins = "sdc1_data";
256                         bias-pull-up;
257                         drive-strength = <10>;
258                 };
259
260                 rclk {
261                         pins = "sdc1_rclk";
262                         bias-pull-down;
263                 };
264         };
265
266         sdc1_off: sdc1-off {
267                 clk {
268                         pins = "sdc1_clk";
269                         bias-disable;
270                         drive-strength = <2>;
271                 };
272
273                 cmd {
274                         pins = "sdc1_cmd";
275                         bias-pull-up;
276                         drive-strength = <2>;
277                 };
278
279                 data {
280                         pins = "sdc1_data";
281                         bias-pull-up;
282                         drive-strength = <2>;
283                 };
284
285                 rclk {
286                         pins = "sdc1_rclk";
287                         bias-pull-down;
288                 };
289         };
290
291         usb3_id_pin: usb3-id-pin {
292                 pinmux {
293                         pins = "gpio116";
294                         function = "gpio";
295                 };
296
297                 pinconf {
298                         pins = "gpio116";
299                         drive-strength = <2>;
300                         bias-pull-up;
301                         input-enable;
302                 };
303         };
304 };
305
306 &pms405_gpios {
307         usb_vbus_boost_pin: usb-vbus-boost-pin {
308                 pinconf {
309                         pins = "gpio3";
310                         function = PMIC_GPIO_FUNC_NORMAL;
311                         output-low;
312                         power-source = <1>;
313                 };
314         };
315         usb3_vbus_pin: usb3-vbus-pin {
316                 pinconf {
317                         pins = "gpio12";
318                         function = PMIC_GPIO_FUNC_NORMAL;
319                         input-enable;
320                         bias-pull-down;
321                         power-source = <1>;
322                 };
323         };
324 };
325
326 &usb2 {
327         status = "okay";
328 };
329
330 &usb2_phy_sec {
331         vdd-supply = <&vreg_l4_1p2>;
332         vdda1p8-supply = <&vreg_l5_1p8>;
333         vdda3p3-supply = <&vreg_l12_3p3>;
334         status = "okay";
335 };
336
337 &usb3 {
338         status = "okay";
339
340         dwc3@7580000 {
341                 dr_mode = "host";
342         };
343 };
344
345 &usb2_phy_prim {
346         vdd-supply = <&vreg_l4_1p2>;
347         vdda1p8-supply = <&vreg_l5_1p8>;
348         vdda3p3-supply = <&vreg_l12_3p3>;
349         status = "okay";
350 };
351
352 &usb3_phy {
353         vdd-supply = <&vreg_l3_1p05>;
354         vdda1p8-supply = <&vreg_l5_1p8>;
355         status = "okay";
356 };
357
358 &wifi {
359         status = "okay";
360         vdd-0.8-cx-mx-supply = <&vreg_l2_1p275>;
361         vdd-1.8-xo-supply = <&vreg_l5_1p8>;
362         vdd-1.3-rfa-supply = <&vreg_l1_1p3>;
363 };
364
365 /* PINCTRL - additions to nodes defined in qcs404.dtsi */
366
367 &blsp1_uart2_default {
368         rx {
369                 drive-strength = <2>;
370                 bias-disable;
371         };
372
373         tx {
374                 drive-strength = <2>;
375                 bias-disable;
376         };
377 };
378
379 &blsp1_uart3_default {
380         cts {
381                 pins = "gpio84";
382                 bias-disable;
383         };
384
385         rts-tx {
386                 pins = "gpio85", "gpio82";
387                 drive-strength = <2>;
388                 bias-disable;
389         };
390
391         rx {
392                 pins = "gpio83";
393                 bias-pull-up;
394         };
395 };