Merge tag 'armsoc-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc
[linux-2.6-microblaze.git] / arch / arm / boot / dts / dra76-evm.dts
1 // SPDX-License-Identifier: GPL-2.0-only
2 /*
3  * Copyright (C) 2017 Texas Instruments Incorporated - http://www.ti.com/
4  */
5 /dts-v1/;
6
7 #include "dra76x.dtsi"
8 #include "dra7-evm-common.dtsi"
9 #include "dra76x-mmc-iodelay.dtsi"
10 #include <dt-bindings/net/ti-dp83867.h>
11
12 / {
13         model = "TI DRA762 EVM";
14         compatible = "ti,dra76-evm", "ti,dra762", "ti,dra7";
15
16         aliases {
17                 display0 = &hdmi0;
18
19                 sound0 = &sound0;
20                 sound1 = &hdmi;
21         };
22
23         memory@0 {
24                 device_type = "memory";
25                 reg = <0x0 0x80000000 0x0 0x80000000>;
26         };
27
28         vsys_12v0: fixedregulator-vsys12v0 {
29                 /* main supply */
30                 compatible = "regulator-fixed";
31                 regulator-name = "vsys_12v0";
32                 regulator-min-microvolt = <12000000>;
33                 regulator-max-microvolt = <12000000>;
34                 regulator-always-on;
35                 regulator-boot-on;
36         };
37
38         vsys_5v0: fixedregulator-vsys5v0 {
39                 /* Output of Cntlr B of TPS43351-Q1 on dra76-evm */
40                 compatible = "regulator-fixed";
41                 regulator-name = "vsys_5v0";
42                 regulator-min-microvolt = <5000000>;
43                 regulator-max-microvolt = <5000000>;
44                 vin-supply = <&vsys_12v0>;
45                 regulator-always-on;
46                 regulator-boot-on;
47         };
48
49         vio_3v6: fixedregulator-vio_3v6 {
50                 compatible = "regulator-fixed";
51                 regulator-name = "vio_3v6";
52                 regulator-min-microvolt = <3600000>;
53                 regulator-max-microvolt = <3600000>;
54                 vin-supply = <&vsys_5v0>;
55                 regulator-always-on;
56                 regulator-boot-on;
57         };
58
59         vsys_3v3: fixedregulator-vsys3v3 {
60                 /* Output of Cntlr A of TPS43351-Q1 on dra76-evm */
61                 compatible = "regulator-fixed";
62                 regulator-name = "vsys_3v3";
63                 regulator-min-microvolt = <3300000>;
64                 regulator-max-microvolt = <3300000>;
65                 vin-supply = <&vsys_12v0>;
66                 regulator-always-on;
67                 regulator-boot-on;
68         };
69
70         vio_3v3: fixedregulator-vio_3v3 {
71                 compatible = "regulator-fixed";
72                 regulator-name = "vio_3v3";
73                 regulator-min-microvolt = <3300000>;
74                 regulator-max-microvolt = <3300000>;
75                 vin-supply = <&vsys_3v3>;
76                 regulator-always-on;
77                 regulator-boot-on;
78         };
79
80         vio_3v3_sd: fixedregulator-sd {
81                 compatible = "regulator-fixed";
82                 regulator-name = "vio_3v3_sd";
83                 regulator-min-microvolt = <3300000>;
84                 regulator-max-microvolt = <3300000>;
85                 vin-supply = <&vio_3v3>;
86                 enable-active-high;
87                 gpio = <&gpio4 21 GPIO_ACTIVE_HIGH>;
88         };
89
90         vio_1v8: fixedregulator-vio_1v8 {
91                 compatible = "regulator-fixed";
92                 regulator-name = "vio_1v8";
93                 regulator-min-microvolt = <1800000>;
94                 regulator-max-microvolt = <1800000>;
95                 vin-supply = <&smps5_reg>;
96         };
97
98         vmmcwl_fixed: fixedregulator-mmcwl {
99                 compatible = "regulator-fixed";
100                 regulator-name = "vmmcwl_fixed";
101                 regulator-min-microvolt = <1800000>;
102                 regulator-max-microvolt = <1800000>;
103                 gpio = <&gpio5 8 0>;    /* gpio5_8 */
104                 startup-delay-us = <70000>;
105                 enable-active-high;
106         };
107
108         vtt_fixed: fixedregulator-vtt {
109                 compatible = "regulator-fixed";
110                 regulator-name = "vtt_fixed";
111                 regulator-min-microvolt = <1350000>;
112                 regulator-max-microvolt = <1350000>;
113                 vin-supply = <&vsys_3v3>;
114                 regulator-always-on;
115                 regulator-boot-on;
116         };
117
118         aic_dvdd: fixedregulator-aic_dvdd {
119                 /* TPS77018DBVT */
120                 compatible = "regulator-fixed";
121                 regulator-name = "aic_dvdd";
122                 vin-supply = <&vio_3v3>;
123                 regulator-min-microvolt = <1800000>;
124                 regulator-max-microvolt = <1800000>;
125         };
126
127         hdmi0: connector {
128                 compatible = "hdmi-connector";
129                 label = "hdmi";
130
131                 type = "a";
132
133                 port {
134                         hdmi_connector_in: endpoint {
135                                 remote-endpoint = <&tpd12s015_out>;
136                         };
137                 };
138         };
139
140         tpd12s015: encoder {
141                 compatible = "ti,tpd12s015";
142
143                 gpios = <&gpio7 30 GPIO_ACTIVE_HIGH>,   /* gpio7_30, CT CP HPD */
144                         <&gpio7 31 GPIO_ACTIVE_HIGH>,   /* gpio7_31, LS OE */
145                         <&gpio7 12 GPIO_ACTIVE_HIGH>;   /* gpio7_12/sp1_cs2, HPD */
146
147                 ports {
148                         #address-cells = <1>;
149                         #size-cells = <0>;
150
151                         port@0 {
152                                 reg = <0>;
153
154                                 tpd12s015_in: endpoint {
155                                         remote-endpoint = <&hdmi_out>;
156                                 };
157                         };
158
159                         port@1 {
160                                 reg = <1>;
161
162                                 tpd12s015_out: endpoint {
163                                         remote-endpoint = <&hdmi_connector_in>;
164                                 };
165                         };
166                 };
167         };
168 };
169
170 &i2c1 {
171         status = "okay";
172         clock-frequency = <400000>;
173
174         tps65917: tps65917@58 {
175                 compatible = "ti,tps65917";
176                 reg = <0x58>;
177                 ti,system-power-controller;
178                 ti,palmas-override-powerhold;
179                 interrupt-controller;
180                 #interrupt-cells = <2>;
181
182                 tps65917_pmic {
183                         compatible = "ti,tps65917-pmic";
184
185                         smps12-in-supply = <&vsys_3v3>;
186                         smps3-in-supply = <&vsys_3v3>;
187                         smps4-in-supply = <&vsys_3v3>;
188                         smps5-in-supply = <&vsys_3v3>;
189                         ldo1-in-supply = <&vsys_3v3>;
190                         ldo2-in-supply = <&vsys_3v3>;
191                         ldo3-in-supply = <&vsys_5v0>;
192                         ldo4-in-supply = <&vsys_5v0>;
193                         ldo5-in-supply = <&vsys_3v3>;
194
195                         tps65917_regulators: regulators {
196                                 smps12_reg: smps12 {
197                                         /* VDD_DSPEVE */
198                                         regulator-name = "smps12";
199                                         regulator-min-microvolt = <850000>;
200                                         regulator-max-microvolt = <1250000>;
201                                         regulator-always-on;
202                                         regulator-boot-on;
203                                 };
204
205                                 smps3_reg: smps3 {
206                                         /* VDD_CORE */
207                                         regulator-name = "smps3";
208                                         regulator-min-microvolt = <850000>;
209                                         regulator-max-microvolt = <1250000>;
210                                         regulator-boot-on;
211                                         regulator-always-on;
212                                 };
213
214                                 smps4_reg: smps4 {
215                                         /* VDD_IVA */
216                                         regulator-name = "smps4";
217                                         regulator-min-microvolt = <850000>;
218                                         regulator-max-microvolt = <1250000>;
219                                         regulator-always-on;
220                                         regulator-boot-on;
221                                 };
222
223                                 smps5_reg: smps5 {
224                                         /* VDDS1V8 */
225                                         regulator-name = "smps5";
226                                         regulator-min-microvolt = <1800000>;
227                                         regulator-max-microvolt = <1800000>;
228                                         regulator-boot-on;
229                                         regulator-always-on;
230                                 };
231
232                                 ldo1_reg: ldo1 {
233                                         /* LDO1_OUT --> VDA_PHY1_1V8  */
234                                         regulator-name = "ldo1";
235                                         regulator-min-microvolt = <1800000>;
236                                         regulator-max-microvolt = <1800000>;
237                                         regulator-always-on;
238                                         regulator-boot-on;
239                                         regulator-allow-bypass;
240                                 };
241
242                                 ldo2_reg: ldo2 {
243                                         /* LDO2_OUT --> VDA_PHY2_1V8 */
244                                         regulator-name = "ldo2";
245                                         regulator-min-microvolt = <1800000>;
246                                         regulator-max-microvolt = <1800000>;
247                                         regulator-allow-bypass;
248                                         regulator-always-on;
249                                 };
250
251                                 ldo3_reg: ldo3 {
252                                         /* VDA_USB_3V3 */
253                                         regulator-name = "ldo3";
254                                         regulator-min-microvolt = <3300000>;
255                                         regulator-max-microvolt = <3300000>;
256                                         regulator-boot-on;
257                                         regulator-always-on;
258                                 };
259
260                                 ldo5_reg: ldo5 {
261                                         /* VDDA_1V8_PLL */
262                                         regulator-name = "ldo5";
263                                         regulator-min-microvolt = <1800000>;
264                                         regulator-max-microvolt = <1800000>;
265                                         regulator-always-on;
266                                         regulator-boot-on;
267                                 };
268
269                                 ldo4_reg: ldo4 {
270                                         /* VDD_SDIO_DV */
271                                         regulator-name = "ldo4";
272                                         regulator-min-microvolt = <1800000>;
273                                         regulator-max-microvolt = <3300000>;
274                                         regulator-boot-on;
275                                         regulator-always-on;
276                                 };
277                         };
278                 };
279
280                 tps65917_power_button {
281                         compatible = "ti,palmas-pwrbutton";
282                         interrupt-parent = <&tps65917>;
283                         interrupts = <1 IRQ_TYPE_NONE>;
284                         wakeup-source;
285                         ti,palmas-long-press-seconds = <6>;
286                 };
287         };
288
289         lp87565: lp87565@60 {
290                 compatible = "ti,lp87565-q1";
291                 reg = <0x60>;
292
293                 buck10-in-supply =<&vsys_3v3>;
294                 buck23-in-supply =<&vsys_3v3>;
295
296                 regulators: regulators {
297                         buck10_reg: buck10 {
298                                 /*VDD_MPU*/
299                                 regulator-name = "buck10";
300                                 regulator-min-microvolt = <850000>;
301                                 regulator-max-microvolt = <1250000>;
302                                 regulator-always-on;
303                                 regulator-boot-on;
304                         };
305
306                         buck23_reg: buck23 {
307                                 /* VDD_GPU*/
308                                 regulator-name = "buck23";
309                                 regulator-min-microvolt = <850000>;
310                                 regulator-max-microvolt = <1250000>;
311                                 regulator-boot-on;
312                                 regulator-always-on;
313                         };
314                 };
315         };
316
317         pcf_lcd: pcf8757@20 {
318                 compatible = "ti,pcf8575", "nxp,pcf8575";
319                 reg = <0x20>;
320                 gpio-controller;
321                 #gpio-cells = <2>;
322                 interrupt-controller;
323                 #interrupt-cells = <2>;
324                 interrupt-parent = <&gpio1>;
325                 interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
326         };
327
328         pcf_gpio_21: pcf8757@21 {
329                 compatible = "ti,pcf8575", "nxp,pcf8575";
330                 reg = <0x21>;
331                 gpio-controller;
332                 #gpio-cells = <2>;
333                 interrupt-parent = <&gpio1>;
334                 interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
335                 interrupt-controller;
336                 #interrupt-cells = <2>;
337         };
338
339         pcf_hdmi: pcf8575@26 {
340                 compatible = "ti,pcf8575", "nxp,pcf8575";
341                 reg = <0x26>;
342                 gpio-controller;
343                 #gpio-cells = <2>;
344                 p1 {
345                         /* vin6_sel_s0: high: VIN6, low: audio */
346                         gpio-hog;
347                         gpios = <1 GPIO_ACTIVE_HIGH>;
348                         output-low;
349                         line-name = "vin6_sel_s0";
350                 };
351         };
352
353         tlv320aic3106: tlv320aic3106@19 {
354                 #sound-dai-cells = <0>;
355                 compatible = "ti,tlv320aic3106";
356                 reg = <0x19>;
357                 adc-settle-ms = <40>;
358                 ai3x-micbias-vg = <1>;          /* 2.0V */
359                 status = "okay";
360
361                 /* Regulators */
362                 AVDD-supply = <&vio_3v3>;
363                 IOVDD-supply = <&vio_3v3>;
364                 DRVDD-supply = <&vio_3v3>;
365                 DVDD-supply = <&aic_dvdd>;
366         };
367 };
368
369 &cpu0 {
370         vdd-supply = <&buck10_reg>;
371 };
372
373 &mmc1 {
374         status = "okay";
375         vmmc-supply = <&vio_3v3_sd>;
376         vqmmc-supply = <&ldo4_reg>;
377         bus-width = <4>;
378         /*
379          * SDCD signal is not being used here - using the fact that GPIO mode
380          * is always hardwired.
381          */
382         cd-gpios = <&gpio6 27 GPIO_ACTIVE_LOW>;
383         pinctrl-names = "default", "hs";
384         pinctrl-0 = <&mmc1_pins_default>;
385         pinctrl-1 = <&mmc1_pins_hs>;
386 };
387
388 &mmc2 {
389         status = "okay";
390         vmmc-supply = <&vio_1v8>;
391         vqmmc-supply = <&vio_1v8>;
392         bus-width = <8>;
393         non-removable;
394         pinctrl-names = "default", "hs", "ddr_1_8v", "hs200_1_8v";
395         pinctrl-0 = <&mmc2_pins_default>;
396         pinctrl-1 = <&mmc2_pins_default>;
397         pinctrl-2 = <&mmc2_pins_default>;
398         pinctrl-3 = <&mmc2_pins_hs200 &mmc2_iodelay_hs200_conf>;
399 };
400
401 &mmc4 {
402         status = "okay";
403         vmmc-supply = <&vio_3v6>;
404         vqmmc-supply = <&vmmcwl_fixed>;
405         pinctrl-names = "default", "hs", "sdr12", "sdr25";
406         pinctrl-0 = <&mmc4_pins_hs &mmc4_iodelay_default_conf>;
407         pinctrl-1 = <&mmc4_pins_hs &mmc4_iodelay_manual1_conf>;
408         pinctrl-2 = <&mmc4_pins_hs &mmc4_iodelay_manual1_conf>;
409         pinctrl-3 = <&mmc4_pins_hs &mmc4_iodelay_manual1_conf>;
410 };
411
412 /* No RTC on this device */
413 &rtc {
414         status = "disabled";
415 };
416
417 &mac {
418         status = "okay";
419
420         dual_emac;
421 };
422
423 &cpsw_emac0 {
424         phy-handle = <&dp83867_0>;
425         phy-mode = "rgmii-id";
426         dual_emac_res_vlan = <1>;
427 };
428
429 &cpsw_emac1 {
430         phy-handle = <&dp83867_1>;
431         phy-mode = "rgmii-id";
432         dual_emac_res_vlan = <2>;
433 };
434
435 &davinci_mdio {
436         dp83867_0: ethernet-phy@2 {
437                 reg = <2>;
438                 ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>;
439                 ti,tx-internal-delay = <DP83867_RGMIIDCTL_250_PS>;
440                 ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_8_B_NIB>;
441                 ti,min-output-impedance;
442                 ti,dp83867-rxctrl-strap-quirk;
443         };
444
445         dp83867_1: ethernet-phy@3 {
446                 reg = <3>;
447                 ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>;
448                 ti,tx-internal-delay = <DP83867_RGMIIDCTL_250_PS>;
449                 ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_8_B_NIB>;
450                 ti,min-output-impedance;
451                 ti,dp83867-rxctrl-strap-quirk;
452         };
453 };
454
455 &usb2_phy1 {
456         phy-supply = <&ldo3_reg>;
457 };
458
459 &usb2_phy2 {
460         phy-supply = <&ldo3_reg>;
461 };
462
463 &dss {
464         status = "ok";
465         vdda_video-supply = <&ldo5_reg>;
466 };
467
468 &hdmi {
469         status = "ok";
470
471         vdda-supply = <&ldo1_reg>;
472
473         port {
474                 hdmi_out: endpoint {
475                         remote-endpoint = <&tpd12s015_in>;
476                 };
477         };
478 };
479
480 &qspi {
481         spi-max-frequency = <96000000>;
482         m25p80@0 {
483                 spi-max-frequency = <96000000>;
484         };
485 };
486
487 &pcie2_phy {
488         status = "okay";
489 };
490
491 &pcie1_rc {
492         num-lanes = <2>;
493         phys = <&pcie1_phy>, <&pcie2_phy>;
494         phy-names = "pcie-phy0", "pcie-phy1";
495 };
496
497 &pcie1_ep {
498         num-lanes = <2>;
499         phys = <&pcie1_phy>, <&pcie2_phy>;
500         phy-names = "pcie-phy0", "pcie-phy1";
501 };
502
503 &extcon_usb1 {
504         vbus-gpio = <&pcf_lcd 14 GPIO_ACTIVE_HIGH>;
505 };
506
507 &extcon_usb2 {
508         vbus-gpio = <&pcf_lcd 15 GPIO_ACTIVE_HIGH>;
509 };
510
511 &m_can0 {
512         can-transceiver {
513                 max-bitrate = <5000000>;
514         };
515 };