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