Merge branch 'for-4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq
[sfrench/cifs-2.6.git] / arch / arm / boot / dts / qcom-apq8064-arrow-sd-600eval.dts
1 // SPDX-License-Identifier: GPL-2.0
2 #include "qcom-apq8064-v2.0.dtsi"
3 #include "qcom-apq8064-arrow-sd-600eval-pins.dtsi"
4 #include <dt-bindings/gpio/gpio.h>
5 #include <dt-bindings/mfd/qcom-rpm.h>
6
7 / {
8         model = "Arrow Electronics, APQ8064 SD_600eval";
9         compatible = "arrow,sd_600eval", "qcom,apq8064";
10
11         aliases {
12                 serial0 = &gsbi7_serial;
13                 serial1 = &gsbi1_serial;
14                 i2c0 = &gsbi2_i2c;
15                 i2c1 = &gsbi3_i2c;
16                 i2c2 = &gsbi4_i2c;
17                 i2c3 = &gsbi7_i2c;
18                 spi0 = &gsbi5_spi;
19         };
20
21         regulators {
22                 compatible = "simple-bus";
23                 vph: regulator-fixed@1 {
24                         compatible = "regulator-fixed";
25                         regulator-min-microvolt = <4500000>;
26                         regulator-max-microvolt = <4500000>;
27                         regulator-name = "VPH";
28                         regulator-type = "voltage";
29                         regulator-boot-on;
30                 };
31
32                 /* on board fixed 3.3v supply */
33                 vcc3v3: vcc3v3 {
34                         compatible = "regulator-fixed";
35                         regulator-name = "VCC3V3";
36                         regulator-min-microvolt = <3300000>;
37                         regulator-max-microvolt = <3300000>;
38                         regulator-always-on;
39                 };
40
41         };
42
43         hdmi-out {
44                 compatible = "hdmi-connector";
45                 type = "a";
46
47                 port {
48                         hdmi_con: endpoint {
49                                 remote-endpoint = <&hdmi_out>;
50                         };
51                 };
52         };
53
54         soc {
55                 rpm@108000 {
56                         regulators {
57                                 vdd_s1-supply = <&vph>;
58                                 vdd_s2-supply = <&vph>;
59                                 vdd_s3-supply = <&vph>;
60                                 vdd_s4-supply = <&vph>;
61                                 vdd_s5-supply = <&vph>;
62                                 vdd_s6-supply = <&vph>;
63                                 vdd_s7-supply = <&vph>;
64                                 vdd_l1_l2_l12_l18-supply = <&pm8921_s4>;
65                                 vdd_l3_l15_l17-supply = <&vph>;
66                                 vdd_l4_l14-supply = <&vph>;
67                                 vdd_l5_l8_l16-supply = <&vph>;
68                                 vdd_l6_l7-supply = <&vph>;
69                                 vdd_l9_l11-supply = <&vph>;
70                                 vdd_l10_l22-supply = <&vph>;
71                                 vdd_l21_l23_l29-supply = <&vph>;
72                                 vdd_l24-supply = <&pm8921_s1>;
73                                 vdd_l25-supply = <&pm8921_s1>;
74                                 vdd_l26-supply = <&pm8921_s7>;
75                                 vdd_l27-supply = <&pm8921_s7>;
76                                 vdd_l28-supply = <&pm8921_s7>;
77                                 vin_lvs1_3_6-supply = <&pm8921_s4>;
78                                 vin_lvs2-supply = <&pm8921_s1>;
79                                 vin_lvs4_5_7-supply = <&pm8921_s4>;
80
81                                 s1 {
82                                         regulator-always-on;
83                                         regulator-min-microvolt = <1225000>;
84                                         regulator-max-microvolt = <1225000>;
85                                         qcom,switch-mode-frequency = <3200000>;
86                                         bias-pull-down;
87                                 };
88
89                                 s2 {
90                                         regulator-min-microvolt = <1300000>;
91                                         regulator-max-microvolt = <1300000>;
92                                         qcom,switch-mode-frequency = <1600000>;
93                                         bias-pull-down;
94                                         regulator-always-on;
95                                 };
96
97                                 s3 {
98                                         regulator-min-microvolt = <1000000>;
99                                         regulator-max-microvolt = <1400000>;
100                                         qcom,switch-mode-frequency = <4800000>;
101                                 };
102
103                                 s4 {
104                                         regulator-min-microvolt = <1800000>;
105                                         regulator-max-microvolt = <1800000>;
106                                         qcom,switch-mode-frequency = <1600000>;
107                                         qcom,force-mode = <QCOM_RPM_FORCE_MODE_AUTO>;
108                                         bias-pull-down;
109                                         regulator-always-on;
110                                 };
111
112                                 s7 {
113                                         regulator-min-microvolt = <1300000>;
114                                         regulator-max-microvolt = <1300000>;
115                                         qcom,switch-mode-frequency = <3200000>;
116                                  };
117
118                                 l3 {
119                                         regulator-min-microvolt = <3050000>;
120                                         regulator-max-microvolt = <3300000>;
121                                         bias-pull-down;
122                                 };
123
124                                 l4 {
125                                         regulator-min-microvolt = <1000000>;
126                                         regulator-max-microvolt = <1800000>;
127                                         bias-pull-down;
128                                 };
129
130                                 l5 {
131                                         regulator-min-microvolt = <2750000>;
132                                         regulator-max-microvolt = <3000000>;
133                                         bias-pull-down;
134                                         regulator-boot-on;
135                                         regulator-always-on;
136                                 };
137
138                                 l6 {
139                                         regulator-min-microvolt = <2950000>;
140                                         regulator-max-microvolt = <2950000>;
141                                         bias-pull-down;
142                                 };
143
144                                 /**
145                                  * 1.8v required on LS expansion
146                                  * for mezzanine boards
147                                  */
148                                 l15 {
149                                         regulator-min-microvolt = <1800000>;
150                                         regulator-max-microvolt = <1800000>;
151                                         regulator-always-on;
152                                 };
153
154                                 l23 {
155                                         regulator-min-microvolt = <1700000>;
156                                         regulator-max-microvolt = <1900000>;
157                                         bias-pull-down;
158                                 };
159
160                                 lvs6 {
161                                         bias-pull-down;
162                                 };
163
164                                 lvs7 {
165                                         bias-pull-down;
166                                 };
167                         };
168                 };
169
170                 gsbi@12440000 {
171                         status = "okay";
172                         qcom,mode = <GSBI_PROT_UART_W_FC>;
173                         serial@12450000 {
174                                 label = "LS-UART1";
175                                 status = "okay";
176                                 pinctrl-names = "default";
177                                 pinctrl-0 = <&gsbi1_uart_4pins>;
178                         };
179                 };
180
181                 gsbi@12480000 {
182                         status = "okay";
183                         qcom,mode = <GSBI_PROT_I2C>;
184                         i2c@124a0000 {
185                                 /* On Low speed expansion and Sensors */
186                                 label = "LS-I2C0";
187                                 status = "okay";
188                                 lis3mdl_mag@1e {
189                                         compatible = "st,lis3mdl-magn";
190                                         reg = <0x1e>;
191                                         vdd-supply = <&vcc3v3>;
192                                         vddio-supply = <&pm8921_s4>;
193                                         pinctrl-names = "default";
194                                         pinctrl-0 = <&magneto_pins>;
195                                         interrupt-parent = <&tlmm_pinmux>;
196
197                                         st,drdy-int-pin = <2>;
198                                         interrupts = <48 IRQ_TYPE_EDGE_RISING>, /* DRDY line */
199                                                      <31 IRQ_TYPE_EDGE_RISING>; /* INT */
200                                 };
201                         };
202                 };
203
204                 gsbi@16200000 {
205                         status = "okay";
206                         qcom,mode = <GSBI_PROT_I2C>;
207                         i2c@16280000 {
208                         /* On Low speed expansion */
209                                 status = "okay";
210                                 label = "LS-I2C1";
211                                 clock-frequency = <200000>;
212                                 eeprom@52 {
213                                         compatible = "atmel,24c128";
214                                         reg = <0x52>;
215                                         pagesize = <64>;
216                                 };
217                         };
218                 };
219
220                 gsbi@16300000 {
221                         status = "okay";
222                         qcom,mode = <GSBI_PROT_I2C>;
223                         i2c@16380000 {
224                                 /* On High speed expansion */
225                                 label = "HS-CAM-I2C3";
226                                 status = "okay";
227                         };
228                 };
229
230                 gsbi@1a200000 {
231                         status = "okay";
232                         spi@1a280000 {
233                                 /* On Low speed expansion */
234                                 label = "LS-SPI0";
235                                 status = "okay";
236                         };
237                 };
238
239                 /* DEBUG UART  */
240                 gsbi@16600000 {
241                         status = "okay";
242                         qcom,mode = <GSBI_PROT_I2C_UART>;
243                         serial@16640000 {
244                                 label = "LS-UART0";
245                                 status = "okay";
246                                 pinctrl-names = "default";
247                                 pinctrl-0 = <&gsbi7_uart_2pins>;
248                         };
249
250                         i2c@16680000 {
251                                 /* On High speed expansion */
252                                 status = "okay";
253                                 label = "HS-CAM-I2C2";
254                         };
255                 };
256
257                 leds {
258                         pinctrl-names = "default";
259                         pinctrl-0 = <&user_leds>, <&mpp_leds>;
260
261                         compatible = "gpio-leds";
262
263                         user-led0 {
264                                 label = "user0-led";
265                                 gpios = <&tlmm_pinmux 3 GPIO_ACTIVE_HIGH>;
266                                 linux,default-trigger = "heartbeat";
267                                 default-state = "off";
268                         };
269
270                         user-led1 {
271                                 label = "user1-led";
272                                 gpios = <&tlmm_pinmux 7 GPIO_ACTIVE_HIGH>;
273                                 linux,default-trigger = "mmc0";
274                                 default-state = "off";
275                         };
276
277                         user-led2 {
278                                 label = "user2-led";
279                                 gpios = <&tlmm_pinmux 10 GPIO_ACTIVE_HIGH>;
280                                 linux,default-trigger = "mmc1";
281                                 default-state = "off";
282                         };
283
284                         user-led3 {
285                                 label = "user3-led";
286                                 gpios = <&tlmm_pinmux 11 GPIO_ACTIVE_HIGH>;
287                                 linux,default-trigger = "none";
288                                 default-state = "off";
289                         };
290
291                         wifi-led {
292                                 label = "WiFi-led";
293                                 gpios = <&pm8921_mpps 7 GPIO_ACTIVE_HIGH>;
294                                 default-state = "off";
295                         };
296
297                         bt-led {
298                                 label = "BT-led";
299                                 gpios = <&pm8921_mpps 8 GPIO_ACTIVE_HIGH>;
300                                 default-state = "off";
301                         };
302                 };
303
304                 pci@1b500000 {
305                         status = "okay";
306                         vdda-supply = <&pm8921_s3>;
307                         vdda_phy-supply = <&pm8921_lvs6>;
308                         vdda_refclk-supply = <&vcc3v3>;
309                         pinctrl-0 = <&pcie_pins>;
310                         pinctrl-names = "default";
311                         perst-gpio = <&tlmm_pinmux 27 GPIO_ACTIVE_LOW>;
312                 };
313
314                 phy@1b400000 {
315                         status = "okay";
316                 };
317
318                 sata@29000000 {
319                         status  = "okay";
320                         target-supply   = <&pm8921_lvs7>;
321                 };
322
323                 /* OTG */
324                 usb@12500000 {
325                         status = "okay";
326                         dr_mode = "peripheral";
327                         ulpi {
328                                 phy {
329                                         v3p3-supply = <&pm8921_l3>;
330                                         v1p8-supply = <&pm8921_l4>;
331                                 };
332                         };
333                 };
334
335                 usb@12520000 {
336                         status = "okay";
337                         dr_mode = "otg";
338                         ulpi {
339                                 phy {
340                                         v3p3-supply = <&pm8921_l3>;
341                                         v1p8-supply = <&pm8921_l23>;
342                                 };
343                         };
344                 };
345
346                 usb@12530000 {
347                         status = "okay";
348                         dr_mode = "otg";
349                         ulpi {
350                                 phy {
351                                         v3p3-supply = <&pm8921_l3>;
352                                         v1p8-supply = <&pm8921_l23>;
353                                 };
354                         };
355                 };
356
357                 amba {
358                         /* eMMC */
359                         sdcc@12400000 {
360                                 status = "okay";
361                                 vmmc-supply = <&pm8921_l5>;
362                                 vqmmc-supply = <&pm8921_s4>;
363                         };
364
365                         /* External micro SD card */
366                         sdcc@12180000 {
367                                 status = "okay";
368                                 vmmc-supply = <&pm8921_l6>;
369                                 pinctrl-names   = "default";
370                                 pinctrl-0       = <&card_detect>;
371                                 cd-gpios        = <&tlmm_pinmux 26 GPIO_ACTIVE_HIGH>;
372                         };
373                 };
374
375                 riva-pil@3204000 {
376                         status = "okay";
377
378                         pinctrl-names = "default";
379                         pinctrl-0 = <&riva_wlan_pin_a>, <&riva_bt_pin_a>, <&riva_fm_pin_a>;
380                 };
381
382                 hdmi-tx@4a00000 {
383                         status = "okay";
384                         core-vdda-supply = <&pm8921_hdmi_switch>;
385                         hdmi-mux-supply = <&vcc3v3>;
386
387                         hpd-gpio = <&tlmm_pinmux 72 GPIO_ACTIVE_HIGH>;
388
389                         ports {
390                                 port@1 {
391                                         endpoint {
392                                                 remote-endpoint = <&hdmi_con>;
393                                         };
394                                 };
395                         };
396                 };
397
398                 hdmi-phy@4a00400 {
399                         status = "okay";
400                         core-vdda-supply = <&pm8921_hdmi_switch>;
401                 };
402
403                 mdp@5100000 {
404                         status = "okay";
405
406                         ports {
407                                 port@3 {
408                                         endpoint {
409                                                 remote-endpoint = <&hdmi_in>;
410                                         };
411                                 };
412                         };
413                 };
414         };
415 };