Merge tag 'media/v4.17-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab...
[sfrench/cifs-2.6.git] / arch / arm / boot / dts / dra76-evm.dts
1 /*
2  * Copyright (C) 2017 Texas Instruments Incorporated - http://www.ti.com/
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License version 2 as
6  * published by the Free Software Foundation.
7  */
8 /dts-v1/;
9
10 #include "dra76x.dtsi"
11 #include "dra7-evm-common.dtsi"
12 #include "dra76x-mmc-iodelay.dtsi"
13 #include <dt-bindings/net/ti-dp83867.h>
14
15 / {
16         model = "TI DRA762 EVM";
17         compatible = "ti,dra76-evm", "ti,dra762", "ti,dra7";
18
19         memory@0 {
20                 device_type = "memory";
21                 reg = <0x0 0x80000000 0x0 0x80000000>;
22         };
23
24         vsys_12v0: fixedregulator-vsys12v0 {
25                 /* main supply */
26                 compatible = "regulator-fixed";
27                 regulator-name = "vsys_12v0";
28                 regulator-min-microvolt = <12000000>;
29                 regulator-max-microvolt = <12000000>;
30                 regulator-always-on;
31                 regulator-boot-on;
32         };
33
34         vsys_5v0: fixedregulator-vsys5v0 {
35                 /* Output of Cntlr B of TPS43351-Q1 on dra76-evm */
36                 compatible = "regulator-fixed";
37                 regulator-name = "vsys_5v0";
38                 regulator-min-microvolt = <5000000>;
39                 regulator-max-microvolt = <5000000>;
40                 vin-supply = <&vsys_12v0>;
41                 regulator-always-on;
42                 regulator-boot-on;
43         };
44
45         vsys_3v3: fixedregulator-vsys3v3 {
46                 /* Output of Cntlr A of TPS43351-Q1 on dra76-evm */
47                 compatible = "regulator-fixed";
48                 regulator-name = "vsys_3v3";
49                 regulator-min-microvolt = <3300000>;
50                 regulator-max-microvolt = <3300000>;
51                 vin-supply = <&vsys_12v0>;
52                 regulator-always-on;
53                 regulator-boot-on;
54         };
55
56         vio_3v3: fixedregulator-vio_3v3 {
57                 compatible = "regulator-fixed";
58                 regulator-name = "vio_3v3";
59                 regulator-min-microvolt = <3300000>;
60                 regulator-max-microvolt = <3300000>;
61                 vin-supply = <&vsys_3v3>;
62                 regulator-always-on;
63                 regulator-boot-on;
64         };
65
66         vio_3v3_sd: fixedregulator-sd {
67                 compatible = "regulator-fixed";
68                 regulator-name = "vio_3v3_sd";
69                 regulator-min-microvolt = <3300000>;
70                 regulator-max-microvolt = <3300000>;
71                 vin-supply = <&vio_3v3>;
72                 enable-active-high;
73                 gpio = <&gpio4 21 GPIO_ACTIVE_HIGH>;
74         };
75
76         vio_1v8: fixedregulator-vio_1v8 {
77                 compatible = "regulator-fixed";
78                 regulator-name = "vio_1v8";
79                 regulator-min-microvolt = <1800000>;
80                 regulator-max-microvolt = <1800000>;
81                 vin-supply = <&smps5_reg>;
82         };
83
84         vtt_fixed: fixedregulator-vtt {
85                 compatible = "regulator-fixed";
86                 regulator-name = "vtt_fixed";
87                 regulator-min-microvolt = <1350000>;
88                 regulator-max-microvolt = <1350000>;
89                 vin-supply = <&vsys_3v3>;
90                 regulator-always-on;
91                 regulator-boot-on;
92         };
93
94         aic_dvdd: fixedregulator-aic_dvdd {
95                 /* TPS77018DBVT */
96                 compatible = "regulator-fixed";
97                 regulator-name = "aic_dvdd";
98                 vin-supply = <&vio_3v3>;
99                 regulator-min-microvolt = <1800000>;
100                 regulator-max-microvolt = <1800000>;
101         };
102 };
103
104 &i2c1 {
105         status = "okay";
106         clock-frequency = <400000>;
107
108         tps65917: tps65917@58 {
109                 compatible = "ti,tps65917";
110                 reg = <0x58>;
111                 ti,system-power-controller;
112                 ti,palmas-override-powerhold;
113                 interrupt-controller;
114                 #interrupt-cells = <2>;
115
116                 tps65917_pmic {
117                         compatible = "ti,tps65917-pmic";
118
119                         smps12-in-supply = <&vsys_3v3>;
120                         smps3-in-supply = <&vsys_3v3>;
121                         smps4-in-supply = <&vsys_3v3>;
122                         smps5-in-supply = <&vsys_3v3>;
123                         ldo1-in-supply = <&vsys_3v3>;
124                         ldo2-in-supply = <&vsys_3v3>;
125                         ldo3-in-supply = <&vsys_5v0>;
126                         ldo4-in-supply = <&vsys_5v0>;
127                         ldo5-in-supply = <&vsys_3v3>;
128
129                         tps65917_regulators: regulators {
130                                 smps12_reg: smps12 {
131                                         /* VDD_DSPEVE */
132                                         regulator-name = "smps12";
133                                         regulator-min-microvolt = <850000>;
134                                         regulator-max-microvolt = <1250000>;
135                                         regulator-always-on;
136                                         regulator-boot-on;
137                                 };
138
139                                 smps3_reg: smps3 {
140                                         /* VDD_CORE */
141                                         regulator-name = "smps3";
142                                         regulator-min-microvolt = <850000>;
143                                         regulator-max-microvolt = <1250000>;
144                                         regulator-boot-on;
145                                         regulator-always-on;
146                                 };
147
148                                 smps4_reg: smps4 {
149                                         /* VDD_IVA */
150                                         regulator-name = "smps4";
151                                         regulator-min-microvolt = <850000>;
152                                         regulator-max-microvolt = <1250000>;
153                                         regulator-always-on;
154                                         regulator-boot-on;
155                                 };
156
157                                 smps5_reg: smps5 {
158                                         /* VDDS1V8 */
159                                         regulator-name = "smps5";
160                                         regulator-min-microvolt = <1800000>;
161                                         regulator-max-microvolt = <1800000>;
162                                         regulator-boot-on;
163                                         regulator-always-on;
164                                 };
165
166                                 ldo1_reg: ldo1 {
167                                         /* LDO1_OUT --> VDA_PHY1_1V8  */
168                                         regulator-name = "ldo1";
169                                         regulator-min-microvolt = <1800000>;
170                                         regulator-max-microvolt = <1800000>;
171                                         regulator-always-on;
172                                         regulator-boot-on;
173                                         regulator-allow-bypass;
174                                 };
175
176                                 ldo2_reg: ldo2 {
177                                         /* LDO2_OUT --> VDA_PHY2_1V8 */
178                                         regulator-name = "ldo2";
179                                         regulator-min-microvolt = <1800000>;
180                                         regulator-max-microvolt = <1800000>;
181                                         regulator-allow-bypass;
182                                         regulator-always-on;
183                                 };
184
185                                 ldo3_reg: ldo3 {
186                                         /* VDA_USB_3V3 */
187                                         regulator-name = "ldo3";
188                                         regulator-min-microvolt = <3300000>;
189                                         regulator-max-microvolt = <3300000>;
190                                         regulator-boot-on;
191                                         regulator-always-on;
192                                 };
193
194                                 ldo5_reg: ldo5 {
195                                         /* VDDA_1V8_PLL */
196                                         regulator-name = "ldo5";
197                                         regulator-min-microvolt = <1800000>;
198                                         regulator-max-microvolt = <1800000>;
199                                         regulator-always-on;
200                                         regulator-boot-on;
201                                 };
202
203                                 ldo4_reg: ldo4 {
204                                         /* VDD_SDIO_DV */
205                                         regulator-name = "ldo4";
206                                         regulator-min-microvolt = <1800000>;
207                                         regulator-max-microvolt = <3300000>;
208                                         regulator-boot-on;
209                                         regulator-always-on;
210                                 };
211                         };
212                 };
213
214                 tps65917_power_button {
215                         compatible = "ti,palmas-pwrbutton";
216                         interrupt-parent = <&tps65917>;
217                         interrupts = <1 IRQ_TYPE_NONE>;
218                         wakeup-source;
219                         ti,palmas-long-press-seconds = <6>;
220                 };
221         };
222
223         lp87565: lp87565@60 {
224                 compatible = "ti,lp87565-q1";
225                 reg = <0x60>;
226
227                 buck10-in-supply =<&vsys_3v3>;
228                 buck23-in-supply =<&vsys_3v3>;
229
230                 regulators: regulators {
231                         buck10_reg: buck10 {
232                                 /*VDD_MPU*/
233                                 regulator-name = "buck10";
234                                 regulator-min-microvolt = <850000>;
235                                 regulator-max-microvolt = <1250000>;
236                                 regulator-always-on;
237                                 regulator-boot-on;
238                         };
239
240                         buck23_reg: buck23 {
241                                 /* VDD_GPU*/
242                                 regulator-name = "buck23";
243                                 regulator-min-microvolt = <850000>;
244                                 regulator-max-microvolt = <1250000>;
245                                 regulator-boot-on;
246                                 regulator-always-on;
247                         };
248                 };
249         };
250
251         pcf_lcd: pcf8757@20 {
252                 compatible = "ti,pcf8575", "nxp,pcf8575";
253                 reg = <0x20>;
254                 gpio-controller;
255                 #gpio-cells = <2>;
256                 interrupt-controller;
257                 #interrupt-cells = <2>;
258                 interrupt-parent = <&gpio1>;
259                 interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
260         };
261
262         pcf_gpio_21: pcf8757@21 {
263                 compatible = "ti,pcf8575", "nxp,pcf8575";
264                 reg = <0x21>;
265                 gpio-controller;
266                 #gpio-cells = <2>;
267                 interrupt-parent = <&gpio1>;
268                 interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
269                 interrupt-controller;
270                 #interrupt-cells = <2>;
271         };
272
273         pcf_hdmi: pcf8575@26 {
274                 compatible = "ti,pcf8575", "nxp,pcf8575";
275                 reg = <0x26>;
276                 gpio-controller;
277                 #gpio-cells = <2>;
278                 p1 {
279                         /* vin6_sel_s0: high: VIN6, low: audio */
280                         gpio-hog;
281                         gpios = <1 GPIO_ACTIVE_HIGH>;
282                         output-low;
283                         line-name = "vin6_sel_s0";
284                 };
285         };
286
287         tlv320aic3106: tlv320aic3106@19 {
288                 #sound-dai-cells = <0>;
289                 compatible = "ti,tlv320aic3106";
290                 reg = <0x19>;
291                 adc-settle-ms = <40>;
292                 ai3x-micbias-vg = <1>;          /* 2.0V */
293                 status = "okay";
294
295                 /* Regulators */
296                 AVDD-supply = <&vio_3v3>;
297                 IOVDD-supply = <&vio_3v3>;
298                 DRVDD-supply = <&vio_3v3>;
299                 DVDD-supply = <&aic_dvdd>;
300         };
301 };
302
303 &cpu0 {
304         vdd-supply = <&buck10_reg>;
305 };
306
307 &mmc1 {
308         status = "okay";
309         vmmc-supply = <&vio_3v3_sd>;
310         vmmc_aux-supply = <&ldo4_reg>;
311         bus-width = <4>;
312         /*
313          * SDCD signal is not being used here - using the fact that GPIO mode
314          * is always hardwired.
315          */
316         cd-gpios = <&gpio6 27 GPIO_ACTIVE_LOW>;
317         pinctrl-names = "default", "hs";
318         pinctrl-0 = <&mmc1_pins_default>;
319         pinctrl-1 = <&mmc1_pins_hs>;
320 };
321
322 &mmc2 {
323         status = "okay";
324         vmmc-supply = <&vio_1v8>;
325         vqmmc-supply = <&vio_1v8>;
326         bus-width = <8>;
327         pinctrl-names = "default", "hs", "ddr_1_8v", "hs200_1_8v";
328         pinctrl-0 = <&mmc2_pins_default>;
329         pinctrl-1 = <&mmc2_pins_default>;
330         pinctrl-2 = <&mmc2_pins_default>;
331         pinctrl-3 = <&mmc2_pins_hs200 &mmc2_iodelay_hs200_conf>;
332 };
333
334 /* No RTC on this device */
335 &rtc {
336         status = "disabled";
337 };
338
339 &mac {
340         status = "okay";
341
342         dual_emac;
343 };
344
345 &cpsw_emac0 {
346         phy_id = <&davinci_mdio>, <2>;
347         phy-mode = "rgmii-id";
348         dual_emac_res_vlan = <1>;
349 };
350
351 &cpsw_emac1 {
352         phy_id = <&davinci_mdio>, <3>;
353         phy-mode = "rgmii-id";
354         dual_emac_res_vlan = <2>;
355 };
356
357 &davinci_mdio {
358         dp83867_0: ethernet-phy@2 {
359                 reg = <2>;
360                 ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>;
361                 ti,tx-internal-delay = <DP83867_RGMIIDCTL_250_PS>;
362                 ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_8_B_NIB>;
363                 ti,min-output-impedance;
364                 ti,dp83867-rxctrl-strap-quirk;
365         };
366
367         dp83867_1: ethernet-phy@3 {
368                 reg = <3>;
369                 ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>;
370                 ti,tx-internal-delay = <DP83867_RGMIIDCTL_250_PS>;
371                 ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_8_B_NIB>;
372                 ti,min-output-impedance;
373                 ti,dp83867-rxctrl-strap-quirk;
374         };
375 };
376
377 &usb2_phy1 {
378         phy-supply = <&ldo3_reg>;
379 };
380
381 &usb2_phy2 {
382         phy-supply = <&ldo3_reg>;
383 };
384
385 &qspi {
386         spi-max-frequency = <96000000>;
387         m25p80@0 {
388                 spi-max-frequency = <96000000>;
389         };
390 };
391
392 &pcie2_phy {
393         status = "okay";
394 };
395
396 &pcie1_rc {
397         num-lanes = <2>;
398         phys = <&pcie1_phy>, <&pcie2_phy>;
399         phy-names = "pcie-phy0", "pcie-phy1";
400 };
401
402 &pcie1_ep {
403         num-lanes = <2>;
404         phys = <&pcie1_phy>, <&pcie2_phy>;
405         phy-names = "pcie-phy0", "pcie-phy1";
406 };