blob: c131e7f7f060b976fc426264295695c01fe781b3 [file] [log] [blame]
Andrew Davis854d4892023-04-11 13:24:58 -05001// SPDX-License-Identifier: GPL-2.0-only
Lokesh Vutla4ddaa6c2017-08-21 12:50:59 +05302/*
Andrew Davis854d4892023-04-11 13:24:58 -05003 * Copyright (C) 2017 Texas Instruments Incorporated - https://www.ti.com/
Lokesh Vutla4ddaa6c2017-08-21 12:50:59 +05304 */
5/dts-v1/;
6
7#include "dra76x.dtsi"
8#include "dra7-evm-common.dtsi"
Jean-Jacques Hiblota7b704a2018-02-27 17:05:48 +01009#include "dra76x-mmc-iodelay.dtsi"
Lokesh Vutla4ddaa6c2017-08-21 12:50:59 +053010#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 memory@0 {
17 device_type = "memory";
18 reg = <0x0 0x80000000 0x0 0x80000000>;
19 };
20
21 vsys_12v0: fixedregulator-vsys12v0 {
22 /* main supply */
23 compatible = "regulator-fixed";
24 regulator-name = "vsys_12v0";
25 regulator-min-microvolt = <12000000>;
26 regulator-max-microvolt = <12000000>;
27 regulator-always-on;
28 regulator-boot-on;
29 };
30
31 vsys_5v0: fixedregulator-vsys5v0 {
32 /* Output of Cntlr B of TPS43351-Q1 on dra76-evm */
33 compatible = "regulator-fixed";
34 regulator-name = "vsys_5v0";
35 regulator-min-microvolt = <5000000>;
36 regulator-max-microvolt = <5000000>;
37 vin-supply = <&vsys_12v0>;
38 regulator-always-on;
39 regulator-boot-on;
40 };
41
42 vsys_3v3: fixedregulator-vsys3v3 {
43 /* Output of Cntlr A of TPS43351-Q1 on dra76-evm */
44 compatible = "regulator-fixed";
45 regulator-name = "vsys_3v3";
46 regulator-min-microvolt = <3300000>;
47 regulator-max-microvolt = <3300000>;
48 vin-supply = <&vsys_12v0>;
49 regulator-always-on;
50 regulator-boot-on;
51 };
52
53 vio_3v3: fixedregulator-vio_3v3 {
54 compatible = "regulator-fixed";
55 regulator-name = "vio_3v3";
56 regulator-min-microvolt = <3300000>;
57 regulator-max-microvolt = <3300000>;
58 vin-supply = <&vsys_3v3>;
59 regulator-always-on;
60 regulator-boot-on;
61 };
62
63 vio_3v3_sd: fixedregulator-sd {
64 compatible = "regulator-fixed";
65 regulator-name = "vio_3v3_sd";
66 regulator-min-microvolt = <3300000>;
67 regulator-max-microvolt = <3300000>;
68 vin-supply = <&vio_3v3>;
69 enable-active-high;
70 gpio = <&gpio4 21 GPIO_ACTIVE_HIGH>;
71 };
72
73 vio_1v8: fixedregulator-vio_1v8 {
74 compatible = "regulator-fixed";
75 regulator-name = "vio_1v8";
76 regulator-min-microvolt = <1800000>;
77 regulator-max-microvolt = <1800000>;
78 vin-supply = <&smps5_reg>;
79 };
80
81 vtt_fixed: fixedregulator-vtt {
82 compatible = "regulator-fixed";
83 regulator-name = "vtt_fixed";
84 regulator-min-microvolt = <1350000>;
85 regulator-max-microvolt = <1350000>;
86 vin-supply = <&vsys_3v3>;
87 regulator-always-on;
88 regulator-boot-on;
89 };
90
91 aic_dvdd: fixedregulator-aic_dvdd {
92 /* TPS77018DBVT */
93 compatible = "regulator-fixed";
94 regulator-name = "aic_dvdd";
95 vin-supply = <&vio_3v3>;
96 regulator-min-microvolt = <1800000>;
97 regulator-max-microvolt = <1800000>;
98 };
99};
100
Lokesh Vutla4ddaa6c2017-08-21 12:50:59 +0530101&i2c1 {
102 status = "okay";
103 clock-frequency = <400000>;
104
105 tps65917: tps65917@58 {
106 compatible = "ti,tps65917";
107 reg = <0x58>;
108 ti,system-power-controller;
109 interrupt-controller;
110 #interrupt-cells = <2>;
111
112 tps65917_pmic {
113 compatible = "ti,tps65917-pmic";
114
115 smps12-in-supply = <&vsys_3v3>;
116 smps3-in-supply = <&vsys_3v3>;
117 smps4-in-supply = <&vsys_3v3>;
118 smps5-in-supply = <&vsys_3v3>;
119 ldo1-in-supply = <&vsys_3v3>;
120 ldo2-in-supply = <&vsys_3v3>;
121 ldo3-in-supply = <&vsys_5v0>;
122 ldo4-in-supply = <&vsys_5v0>;
123 ldo5-in-supply = <&vsys_3v3>;
124
125 tps65917_regulators: regulators {
126 smps12_reg: smps12 {
127 /* VDD_DSPEVE */
128 regulator-name = "smps12";
129 regulator-min-microvolt = <850000>;
130 regulator-max-microvolt = <1250000>;
131 regulator-always-on;
132 regulator-boot-on;
133 };
134
135 smps3_reg: smps3 {
136 /* VDD_CORE */
137 regulator-name = "smps3";
138 regulator-min-microvolt = <850000>;
139 regulator-max-microvolt = <1250000>;
140 regulator-boot-on;
141 regulator-always-on;
142 };
143
144 smps4_reg: smps4 {
145 /* VDD_IVA */
146 regulator-name = "smps4";
147 regulator-min-microvolt = <850000>;
148 regulator-max-microvolt = <1250000>;
149 regulator-always-on;
150 regulator-boot-on;
151 };
152
153 smps5_reg: smps5 {
154 /* VDDS1V8 */
155 regulator-name = "smps5";
156 regulator-min-microvolt = <1800000>;
157 regulator-max-microvolt = <1800000>;
158 regulator-boot-on;
159 regulator-always-on;
160 };
161
162 ldo1_reg: ldo1 {
163 /* LDO1_OUT --> VDA_PHY1_1V8 */
164 regulator-name = "ldo1";
165 regulator-min-microvolt = <1800000>;
166 regulator-max-microvolt = <1800000>;
167 regulator-always-on;
168 regulator-boot-on;
169 regulator-allow-bypass;
170 };
171
172 ldo2_reg: ldo2 {
173 /* LDO2_OUT --> VDA_PHY2_1V8 */
174 regulator-name = "ldo2";
175 regulator-min-microvolt = <1800000>;
176 regulator-max-microvolt = <1800000>;
177 regulator-allow-bypass;
178 regulator-always-on;
179 };
180
181 ldo3_reg: ldo3 {
182 /* VDA_USB_3V3 */
183 regulator-name = "ldo3";
184 regulator-min-microvolt = <3300000>;
185 regulator-max-microvolt = <3300000>;
186 regulator-boot-on;
187 regulator-always-on;
188 };
189
190 ldo5_reg: ldo5 {
191 /* VDDA_1V8_PLL */
192 regulator-name = "ldo5";
193 regulator-min-microvolt = <1800000>;
194 regulator-max-microvolt = <1800000>;
195 regulator-always-on;
196 regulator-boot-on;
197 };
198
199 ldo4_reg: ldo4 {
200 /* VDD_SDIO_DV */
201 regulator-name = "ldo4";
202 regulator-min-microvolt = <1800000>;
203 regulator-max-microvolt = <3300000>;
204 regulator-boot-on;
205 regulator-always-on;
206 };
207 };
208 };
209
210 tps65917_power_button {
211 compatible = "ti,palmas-pwrbutton";
212 interrupt-parent = <&tps65917>;
213 interrupts = <1 IRQ_TYPE_NONE>;
214 wakeup-source;
215 ti,palmas-long-press-seconds = <6>;
216 };
217 };
218
219 lp87565: lp87565@60 {
220 compatible = "ti,lp87565-q1";
221 reg = <0x60>;
222
223 buck10-in-supply =<&vsys_3v3>;
224 buck23-in-supply =<&vsys_3v3>;
225
226 regulators: regulators {
227 buck10_reg: buck10 {
228 /*VDD_MPU*/
229 regulator-name = "buck10";
230 regulator-min-microvolt = <850000>;
231 regulator-max-microvolt = <1250000>;
232 regulator-always-on;
233 regulator-boot-on;
234 };
235
236 buck23_reg: buck23 {
237 /* VDD_GPU*/
238 regulator-name = "buck23";
239 regulator-min-microvolt = <850000>;
240 regulator-max-microvolt = <1250000>;
241 regulator-boot-on;
242 regulator-always-on;
243 };
244 };
245 };
246
247 pcf_lcd: pcf8757@20 {
248 compatible = "ti,pcf8575", "nxp,pcf8575";
249 reg = <0x20>;
250 gpio-controller;
251 #gpio-cells = <2>;
252 interrupt-controller;
253 #interrupt-cells = <2>;
254 interrupt-parent = <&gpio1>;
255 interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
256 };
257
258 pcf_gpio_21: pcf8757@21 {
259 compatible = "ti,pcf8575", "nxp,pcf8575";
260 reg = <0x21>;
261 gpio-controller;
262 #gpio-cells = <2>;
263 interrupt-parent = <&gpio1>;
264 interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
265 interrupt-controller;
266 #interrupt-cells = <2>;
267 };
268
269 pcf_hdmi: pcf8575@26 {
270 compatible = "ti,pcf8575", "nxp,pcf8575";
271 reg = <0x26>;
272 gpio-controller;
273 #gpio-cells = <2>;
Andrew Davisf8ae3e62023-04-11 13:25:06 -0500274 hdmi-audio-hog {
Lokesh Vutla4ddaa6c2017-08-21 12:50:59 +0530275 /* vin6_sel_s0: high: VIN6, low: audio */
276 gpio-hog;
277 gpios = <1 GPIO_ACTIVE_HIGH>;
278 output-low;
279 line-name = "vin6_sel_s0";
280 };
281 };
282
283 tlv320aic3106: tlv320aic3106@19 {
284 #sound-dai-cells = <0>;
285 compatible = "ti,tlv320aic3106";
286 reg = <0x19>;
287 adc-settle-ms = <40>;
288 ai3x-micbias-vg = <1>; /* 2.0V */
289 status = "okay";
290
291 /* Regulators */
292 AVDD-supply = <&vio_3v3>;
293 IOVDD-supply = <&vio_3v3>;
294 DRVDD-supply = <&vio_3v3>;
295 DVDD-supply = <&aic_dvdd>;
296 };
297};
298
299&cpu0 {
300 vdd-supply = <&buck10_reg>;
301};
302
303&mmc1 {
304 status = "okay";
305 vmmc-supply = <&vio_3v3_sd>;
Jean-Jacques Hiblota7b704a2018-02-27 17:05:48 +0100306 vqmmc-supply = <&ldo4_reg>;
Lokesh Vutla4ddaa6c2017-08-21 12:50:59 +0530307 bus-width = <4>;
308 /*
309 * SDCD signal is not being used here - using the fact that GPIO mode
310 * is always hardwired.
311 */
312 cd-gpios = <&gpio6 27 GPIO_ACTIVE_LOW>;
Jean-Jacques Hiblota7b704a2018-02-27 17:05:48 +0100313 pinctrl-names = "default", "hs";
Lokesh Vutla4ddaa6c2017-08-21 12:50:59 +0530314 pinctrl-0 = <&mmc1_pins_default>;
Jean-Jacques Hiblota7b704a2018-02-27 17:05:48 +0100315 pinctrl-1 = <&mmc1_pins_hs>;
Lokesh Vutla4ddaa6c2017-08-21 12:50:59 +0530316};
317
318&mmc2 {
319 status = "okay";
320 vmmc-supply = <&vio_1v8>;
321 bus-width = <8>;
Jean-Jacques Hiblota7b704a2018-02-27 17:05:48 +0100322 pinctrl-names = "default", "hs", "ddr_1_8v", "hs200_1_8v";
Lokesh Vutla4ddaa6c2017-08-21 12:50:59 +0530323 pinctrl-0 = <&mmc2_pins_default>;
Jean-Jacques Hiblota7b704a2018-02-27 17:05:48 +0100324 pinctrl-1 = <&mmc2_pins_default>;
325 pinctrl-2 = <&mmc2_pins_default>;
326 pinctrl-3 = <&mmc2_pins_hs200 &mmc2_iodelay_hs200_conf>;
Lokesh Vutla4ddaa6c2017-08-21 12:50:59 +0530327};
328
329/* No RTC on this device */
330&rtc {
331 status = "disabled";
332};
333
334&mac {
335 status = "okay";
336
337 dual_emac;
338};
339
340&cpsw_emac0 {
Grygorii Strashko68d875d2019-08-31 10:30:32 +0300341 phy-handle = <&dp83867_0>;
Lokesh Vutla4ddaa6c2017-08-21 12:50:59 +0530342 phy-mode = "rgmii-id";
343 dual_emac_res_vlan = <1>;
344};
345
346&cpsw_emac1 {
Grygorii Strashko68d875d2019-08-31 10:30:32 +0300347 phy-handle = <&dp83867_1>;
Lokesh Vutla4ddaa6c2017-08-21 12:50:59 +0530348 phy-mode = "rgmii-id";
349 dual_emac_res_vlan = <2>;
350};
351
352&davinci_mdio {
353 dp83867_0: ethernet-phy@2 {
354 reg = <2>;
355 ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>;
356 ti,tx-internal-delay = <DP83867_RGMIIDCTL_250_PS>;
357 ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_8_B_NIB>;
358 ti,min-output-impedance;
359 ti,dp83867-rxctrl-strap-quirk;
360 };
361
362 dp83867_1: ethernet-phy@3 {
363 reg = <3>;
364 ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>;
365 ti,tx-internal-delay = <DP83867_RGMIIDCTL_250_PS>;
366 ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_8_B_NIB>;
367 ti,min-output-impedance;
368 ti,dp83867-rxctrl-strap-quirk;
369 };
370};
371
372&usb2_phy1 {
373 phy-supply = <&ldo3_reg>;
374};
375
376&usb2_phy2 {
377 phy-supply = <&ldo3_reg>;
378};
379
380&qspi {
381 spi-max-frequency = <96000000>;
Andrew Davisf8ae3e62023-04-11 13:25:06 -0500382 flash@0 {
Lokesh Vutla4ddaa6c2017-08-21 12:50:59 +0530383 spi-max-frequency = <96000000>;
384 };
385};