Merge remote-tracking branch 'regulator/for-5.7' into regulator-linus
[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         clk_ov5640_fixed: clock {
128                 compatible = "fixed-clock";
129                 #clock-cells = <0>;
130                 clock-frequency = <24000000>;
131         };
132
133         hdmi0: connector {
134                 compatible = "hdmi-connector";
135                 label = "hdmi";
136
137                 type = "a";
138
139                 port {
140                         hdmi_connector_in: endpoint {
141                                 remote-endpoint = <&tpd12s015_out>;
142                         };
143                 };
144         };
145
146         tpd12s015: encoder {
147                 compatible = "ti,tpd12s015";
148
149                 gpios = <&gpio7 30 GPIO_ACTIVE_HIGH>,   /* gpio7_30, CT CP HPD */
150                         <&gpio7 31 GPIO_ACTIVE_HIGH>,   /* gpio7_31, LS OE */
151                         <&gpio7 12 GPIO_ACTIVE_HIGH>;   /* gpio7_12/sp1_cs2, HPD */
152
153                 ports {
154                         #address-cells = <1>;
155                         #size-cells = <0>;
156
157                         port@0 {
158                                 reg = <0>;
159
160                                 tpd12s015_in: endpoint {
161                                         remote-endpoint = <&hdmi_out>;
162                                 };
163                         };
164
165                         port@1 {
166                                 reg = <1>;
167
168                                 tpd12s015_out: endpoint {
169                                         remote-endpoint = <&hdmi_connector_in>;
170                                 };
171                         };
172                 };
173         };
174 };
175
176 &i2c1 {
177         status = "okay";
178         clock-frequency = <400000>;
179
180         tps65917: tps65917@58 {
181                 compatible = "ti,tps65917";
182                 reg = <0x58>;
183                 ti,system-power-controller;
184                 ti,palmas-override-powerhold;
185                 interrupt-controller;
186                 #interrupt-cells = <2>;
187
188                 tps65917_pmic {
189                         compatible = "ti,tps65917-pmic";
190
191                         smps12-in-supply = <&vsys_3v3>;
192                         smps3-in-supply = <&vsys_3v3>;
193                         smps4-in-supply = <&vsys_3v3>;
194                         smps5-in-supply = <&vsys_3v3>;
195                         ldo1-in-supply = <&vsys_3v3>;
196                         ldo2-in-supply = <&vsys_3v3>;
197                         ldo3-in-supply = <&vsys_5v0>;
198                         ldo4-in-supply = <&vsys_5v0>;
199                         ldo5-in-supply = <&vsys_3v3>;
200
201                         tps65917_regulators: regulators {
202                                 smps12_reg: smps12 {
203                                         /* VDD_DSPEVE */
204                                         regulator-name = "smps12";
205                                         regulator-min-microvolt = <850000>;
206                                         regulator-max-microvolt = <1250000>;
207                                         regulator-always-on;
208                                         regulator-boot-on;
209                                 };
210
211                                 smps3_reg: smps3 {
212                                         /* VDD_CORE */
213                                         regulator-name = "smps3";
214                                         regulator-min-microvolt = <850000>;
215                                         regulator-max-microvolt = <1250000>;
216                                         regulator-boot-on;
217                                         regulator-always-on;
218                                 };
219
220                                 smps4_reg: smps4 {
221                                         /* VDD_IVA */
222                                         regulator-name = "smps4";
223                                         regulator-min-microvolt = <850000>;
224                                         regulator-max-microvolt = <1250000>;
225                                         regulator-always-on;
226                                         regulator-boot-on;
227                                 };
228
229                                 smps5_reg: smps5 {
230                                         /* VDDS1V8 */
231                                         regulator-name = "smps5";
232                                         regulator-min-microvolt = <1800000>;
233                                         regulator-max-microvolt = <1800000>;
234                                         regulator-boot-on;
235                                         regulator-always-on;
236                                 };
237
238                                 ldo1_reg: ldo1 {
239                                         /* LDO1_OUT --> VDA_PHY1_1V8  */
240                                         regulator-name = "ldo1";
241                                         regulator-min-microvolt = <1800000>;
242                                         regulator-max-microvolt = <1800000>;
243                                         regulator-always-on;
244                                         regulator-boot-on;
245                                         regulator-allow-bypass;
246                                 };
247
248                                 ldo2_reg: ldo2 {
249                                         /* LDO2_OUT --> VDA_PHY2_1V8 */
250                                         regulator-name = "ldo2";
251                                         regulator-min-microvolt = <1800000>;
252                                         regulator-max-microvolt = <1800000>;
253                                         regulator-allow-bypass;
254                                         regulator-always-on;
255                                 };
256
257                                 ldo3_reg: ldo3 {
258                                         /* VDA_USB_3V3 */
259                                         regulator-name = "ldo3";
260                                         regulator-min-microvolt = <3300000>;
261                                         regulator-max-microvolt = <3300000>;
262                                         regulator-boot-on;
263                                         regulator-always-on;
264                                 };
265
266                                 ldo5_reg: ldo5 {
267                                         /* VDDA_1V8_PLL */
268                                         regulator-name = "ldo5";
269                                         regulator-min-microvolt = <1800000>;
270                                         regulator-max-microvolt = <1800000>;
271                                         regulator-always-on;
272                                         regulator-boot-on;
273                                 };
274
275                                 ldo4_reg: ldo4 {
276                                         /* VDD_SDIO_DV */
277                                         regulator-name = "ldo4";
278                                         regulator-min-microvolt = <1800000>;
279                                         regulator-max-microvolt = <3300000>;
280                                         regulator-boot-on;
281                                         regulator-always-on;
282                                 };
283                         };
284                 };
285
286                 tps65917_power_button {
287                         compatible = "ti,palmas-pwrbutton";
288                         interrupt-parent = <&tps65917>;
289                         interrupts = <1 IRQ_TYPE_NONE>;
290                         wakeup-source;
291                         ti,palmas-long-press-seconds = <6>;
292                 };
293         };
294
295         lp87565: lp87565@60 {
296                 compatible = "ti,lp87565-q1";
297                 reg = <0x60>;
298
299                 buck10-in-supply =<&vsys_3v3>;
300                 buck23-in-supply =<&vsys_3v3>;
301
302                 regulators: regulators {
303                         buck10_reg: buck10 {
304                                 /*VDD_MPU*/
305                                 regulator-name = "buck10";
306                                 regulator-min-microvolt = <850000>;
307                                 regulator-max-microvolt = <1250000>;
308                                 regulator-always-on;
309                                 regulator-boot-on;
310                         };
311
312                         buck23_reg: buck23 {
313                                 /* VDD_GPU*/
314                                 regulator-name = "buck23";
315                                 regulator-min-microvolt = <850000>;
316                                 regulator-max-microvolt = <1250000>;
317                                 regulator-boot-on;
318                                 regulator-always-on;
319                         };
320                 };
321         };
322
323         pcf_lcd: pcf8757@20 {
324                 compatible = "ti,pcf8575", "nxp,pcf8575";
325                 reg = <0x20>;
326                 gpio-controller;
327                 #gpio-cells = <2>;
328                 interrupt-controller;
329                 #interrupt-cells = <2>;
330                 interrupt-parent = <&gpio1>;
331                 interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
332         };
333
334         pcf_gpio_21: pcf8757@21 {
335                 compatible = "ti,pcf8575", "nxp,pcf8575";
336                 reg = <0x21>;
337                 gpio-controller;
338                 #gpio-cells = <2>;
339                 interrupt-parent = <&gpio1>;
340                 interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
341                 interrupt-controller;
342                 #interrupt-cells = <2>;
343         };
344
345         pcf_hdmi: pcf8575@26 {
346                 compatible = "ti,pcf8575", "nxp,pcf8575";
347                 reg = <0x26>;
348                 gpio-controller;
349                 #gpio-cells = <2>;
350                 p1 {
351                         /* vin6_sel_s0: high: VIN6, low: audio */
352                         gpio-hog;
353                         gpios = <1 GPIO_ACTIVE_HIGH>;
354                         output-low;
355                         line-name = "vin6_sel_s0";
356                 };
357         };
358
359         tlv320aic3106: tlv320aic3106@19 {
360                 #sound-dai-cells = <0>;
361                 compatible = "ti,tlv320aic3106";
362                 reg = <0x19>;
363                 adc-settle-ms = <40>;
364                 ai3x-micbias-vg = <1>;          /* 2.0V */
365                 status = "okay";
366
367                 /* Regulators */
368                 AVDD-supply = <&vio_3v3>;
369                 IOVDD-supply = <&vio_3v3>;
370                 DRVDD-supply = <&vio_3v3>;
371                 DVDD-supply = <&aic_dvdd>;
372         };
373 };
374
375 &i2c5 {
376         status = "okay";
377         clock-frequency = <400000>;
378
379         ov5640@3c {
380                 compatible = "ovti,ov5640";
381                 reg = <0x3c>;
382
383                 clocks = <&clk_ov5640_fixed>;
384                 clock-names = "xclk";
385
386                 port {
387                         csi2_cam0: endpoint {
388                                 remote-endpoint = <&csi2_phy0>;
389                                 clock-lanes = <0>;
390                                 data-lanes = <1 2>;
391                         };
392                 };
393         };
394 };
395
396 &cpu0 {
397         vdd-supply = <&buck10_reg>;
398 };
399
400 &mmc1 {
401         status = "okay";
402         vmmc-supply = <&vio_3v3_sd>;
403         vqmmc-supply = <&ldo4_reg>;
404         bus-width = <4>;
405         /*
406          * SDCD signal is not being used here - using the fact that GPIO mode
407          * is always hardwired.
408          */
409         cd-gpios = <&gpio6 27 GPIO_ACTIVE_LOW>;
410         pinctrl-names = "default", "hs";
411         pinctrl-0 = <&mmc1_pins_default>;
412         pinctrl-1 = <&mmc1_pins_hs>;
413 };
414
415 &mmc2 {
416         status = "okay";
417         vmmc-supply = <&vio_1v8>;
418         vqmmc-supply = <&vio_1v8>;
419         bus-width = <8>;
420         non-removable;
421         pinctrl-names = "default", "hs", "ddr_1_8v", "hs200_1_8v";
422         pinctrl-0 = <&mmc2_pins_default>;
423         pinctrl-1 = <&mmc2_pins_default>;
424         pinctrl-2 = <&mmc2_pins_default>;
425         pinctrl-3 = <&mmc2_pins_hs200 &mmc2_iodelay_hs200_conf>;
426 };
427
428 &mmc4 {
429         status = "okay";
430         vmmc-supply = <&vio_3v6>;
431         vqmmc-supply = <&vmmcwl_fixed>;
432         pinctrl-names = "default", "hs", "sdr12", "sdr25";
433         pinctrl-0 = <&mmc4_pins_hs &mmc4_iodelay_default_conf>;
434         pinctrl-1 = <&mmc4_pins_hs &mmc4_iodelay_manual1_conf>;
435         pinctrl-2 = <&mmc4_pins_hs &mmc4_iodelay_manual1_conf>;
436         pinctrl-3 = <&mmc4_pins_hs &mmc4_iodelay_manual1_conf>;
437 };
438
439 /* No RTC on this device */
440 &rtc {
441         status = "disabled";
442 };
443
444 &mac {
445         status = "okay";
446
447         dual_emac;
448 };
449
450 &cpsw_emac0 {
451         phy-handle = <&dp83867_0>;
452         phy-mode = "rgmii-id";
453         dual_emac_res_vlan = <1>;
454 };
455
456 &cpsw_emac1 {
457         phy-handle = <&dp83867_1>;
458         phy-mode = "rgmii-id";
459         dual_emac_res_vlan = <2>;
460 };
461
462 &davinci_mdio {
463         dp83867_0: ethernet-phy@2 {
464                 reg = <2>;
465                 ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>;
466                 ti,tx-internal-delay = <DP83867_RGMIIDCTL_250_PS>;
467                 ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_8_B_NIB>;
468                 ti,min-output-impedance;
469                 ti,dp83867-rxctrl-strap-quirk;
470         };
471
472         dp83867_1: ethernet-phy@3 {
473                 reg = <3>;
474                 ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>;
475                 ti,tx-internal-delay = <DP83867_RGMIIDCTL_250_PS>;
476                 ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_8_B_NIB>;
477                 ti,min-output-impedance;
478                 ti,dp83867-rxctrl-strap-quirk;
479         };
480 };
481
482 &usb2_phy1 {
483         phy-supply = <&ldo3_reg>;
484 };
485
486 &usb2_phy2 {
487         phy-supply = <&ldo3_reg>;
488 };
489
490 &dss {
491         status = "ok";
492         vdda_video-supply = <&ldo5_reg>;
493 };
494
495 &hdmi {
496         status = "ok";
497
498         vdda-supply = <&ldo1_reg>;
499
500         port {
501                 hdmi_out: endpoint {
502                         remote-endpoint = <&tpd12s015_in>;
503                 };
504         };
505 };
506
507 &qspi {
508         spi-max-frequency = <96000000>;
509         m25p80@0 {
510                 spi-max-frequency = <96000000>;
511         };
512 };
513
514 &pcie2_phy {
515         status = "okay";
516 };
517
518 &pcie1_rc {
519         num-lanes = <2>;
520         phys = <&pcie1_phy>, <&pcie2_phy>;
521         phy-names = "pcie-phy0", "pcie-phy1";
522 };
523
524 &pcie1_ep {
525         num-lanes = <2>;
526         phys = <&pcie1_phy>, <&pcie2_phy>;
527         phy-names = "pcie-phy0", "pcie-phy1";
528 };
529
530 &extcon_usb1 {
531         vbus-gpio = <&pcf_lcd 14 GPIO_ACTIVE_HIGH>;
532 };
533
534 &extcon_usb2 {
535         vbus-gpio = <&pcf_lcd 15 GPIO_ACTIVE_HIGH>;
536 };
537
538 &m_can0 {
539         can-transceiver {
540                 max-bitrate = <5000000>;
541         };
542 };
543
544 &csi2_0 {
545         csi2_phy0: endpoint {
546                 remote-endpoint = <&csi2_cam0>;
547                 clock-lanes = <0>;
548                 data-lanes = <1 2>;
549         };
550 };