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	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	vio_3v6: fixedregulator-vio_3v6 {
43		compatible = "regulator-fixed";
44		regulator-name = "vio_3v6";
45		regulator-min-microvolt = <3600000>;
46		regulator-max-microvolt = <3600000>;
47		vin-supply = <&vsys_5v0>;
48		regulator-always-on;
49		regulator-boot-on;
50	};
51
52	vsys_3v3: fixedregulator-vsys3v3 {
53		/* Output of Cntlr A of TPS43351-Q1 on dra76-evm */
54		compatible = "regulator-fixed";
55		regulator-name = "vsys_3v3";
56		regulator-min-microvolt = <3300000>;
57		regulator-max-microvolt = <3300000>;
58		vin-supply = <&vsys_12v0>;
59		regulator-always-on;
60		regulator-boot-on;
61	};
62
63	vio_3v3: fixedregulator-vio_3v3 {
64		compatible = "regulator-fixed";
65		regulator-name = "vio_3v3";
66		regulator-min-microvolt = <3300000>;
67		regulator-max-microvolt = <3300000>;
68		vin-supply = <&vsys_3v3>;
69		regulator-always-on;
70		regulator-boot-on;
71	};
72
73	vio_3v3_sd: fixedregulator-sd {
74		compatible = "regulator-fixed";
75		regulator-name = "vio_3v3_sd";
76		regulator-min-microvolt = <3300000>;
77		regulator-max-microvolt = <3300000>;
78		vin-supply = <&vio_3v3>;
79		enable-active-high;
80		gpio = <&gpio4 21 GPIO_ACTIVE_HIGH>;
81	};
82
83	vio_1v8: fixedregulator-vio_1v8 {
84		compatible = "regulator-fixed";
85		regulator-name = "vio_1v8";
86		regulator-min-microvolt = <1800000>;
87		regulator-max-microvolt = <1800000>;
88		vin-supply = <&smps5_reg>;
89	};
90
91	vmmcwl_fixed: fixedregulator-mmcwl {
92		compatible = "regulator-fixed";
93		regulator-name = "vmmcwl_fixed";
94		regulator-min-microvolt = <1800000>;
95		regulator-max-microvolt = <1800000>;
96		gpio = <&gpio5 8 0>;	/* gpio5_8 */
97		startup-delay-us = <70000>;
98		enable-active-high;
99	};
100
101	vtt_fixed: fixedregulator-vtt {
102		compatible = "regulator-fixed";
103		regulator-name = "vtt_fixed";
104		regulator-min-microvolt = <1350000>;
105		regulator-max-microvolt = <1350000>;
106		vin-supply = <&vsys_3v3>;
107		regulator-always-on;
108		regulator-boot-on;
109	};
110
111	aic_dvdd: fixedregulator-aic_dvdd {
112		/* TPS77018DBVT */
113		compatible = "regulator-fixed";
114		regulator-name = "aic_dvdd";
115		vin-supply = <&vio_3v3>;
116		regulator-min-microvolt = <1800000>;
117		regulator-max-microvolt = <1800000>;
118	};
119};
120
121&i2c1 {
122	status = "okay";
123	clock-frequency = <400000>;
124
125	tps65917: tps65917@58 {
126		compatible = "ti,tps65917";
127		reg = <0x58>;
128		ti,system-power-controller;
129		ti,palmas-override-powerhold;
130		interrupt-controller;
131		#interrupt-cells = <2>;
132
133		tps65917_pmic {
134			compatible = "ti,tps65917-pmic";
135
136			smps12-in-supply = <&vsys_3v3>;
137			smps3-in-supply = <&vsys_3v3>;
138			smps4-in-supply = <&vsys_3v3>;
139			smps5-in-supply = <&vsys_3v3>;
140			ldo1-in-supply = <&vsys_3v3>;
141			ldo2-in-supply = <&vsys_3v3>;
142			ldo3-in-supply = <&vsys_5v0>;
143			ldo4-in-supply = <&vsys_5v0>;
144			ldo5-in-supply = <&vsys_3v3>;
145
146			tps65917_regulators: regulators {
147				smps12_reg: smps12 {
148					/* VDD_DSPEVE */
149					regulator-name = "smps12";
150					regulator-min-microvolt = <850000>;
151					regulator-max-microvolt = <1250000>;
152					regulator-always-on;
153					regulator-boot-on;
154				};
155
156				smps3_reg: smps3 {
157					/* VDD_CORE */
158					regulator-name = "smps3";
159					regulator-min-microvolt = <850000>;
160					regulator-max-microvolt = <1250000>;
161					regulator-boot-on;
162					regulator-always-on;
163				};
164
165				smps4_reg: smps4 {
166					/* VDD_IVA */
167					regulator-name = "smps4";
168					regulator-min-microvolt = <850000>;
169					regulator-max-microvolt = <1250000>;
170					regulator-always-on;
171					regulator-boot-on;
172				};
173
174				smps5_reg: smps5 {
175					/* VDDS1V8 */
176					regulator-name = "smps5";
177					regulator-min-microvolt = <1800000>;
178					regulator-max-microvolt = <1800000>;
179					regulator-boot-on;
180					regulator-always-on;
181				};
182
183				ldo1_reg: ldo1 {
184					/* LDO1_OUT --> VDA_PHY1_1V8  */
185					regulator-name = "ldo1";
186					regulator-min-microvolt = <1800000>;
187					regulator-max-microvolt = <1800000>;
188					regulator-always-on;
189					regulator-boot-on;
190					regulator-allow-bypass;
191				};
192
193				ldo2_reg: ldo2 {
194					/* LDO2_OUT --> VDA_PHY2_1V8 */
195					regulator-name = "ldo2";
196					regulator-min-microvolt = <1800000>;
197					regulator-max-microvolt = <1800000>;
198					regulator-allow-bypass;
199					regulator-always-on;
200				};
201
202				ldo3_reg: ldo3 {
203					/* VDA_USB_3V3 */
204					regulator-name = "ldo3";
205					regulator-min-microvolt = <3300000>;
206					regulator-max-microvolt = <3300000>;
207					regulator-boot-on;
208					regulator-always-on;
209				};
210
211				ldo5_reg: ldo5 {
212					/* VDDA_1V8_PLL */
213					regulator-name = "ldo5";
214					regulator-min-microvolt = <1800000>;
215					regulator-max-microvolt = <1800000>;
216					regulator-always-on;
217					regulator-boot-on;
218				};
219
220				ldo4_reg: ldo4 {
221					/* VDD_SDIO_DV */
222					regulator-name = "ldo4";
223					regulator-min-microvolt = <1800000>;
224					regulator-max-microvolt = <3300000>;
225					regulator-boot-on;
226					regulator-always-on;
227				};
228			};
229		};
230
231		tps65917_power_button {
232			compatible = "ti,palmas-pwrbutton";
233			interrupt-parent = <&tps65917>;
234			interrupts = <1 IRQ_TYPE_NONE>;
235			wakeup-source;
236			ti,palmas-long-press-seconds = <6>;
237		};
238	};
239
240	lp87565: lp87565@60 {
241		compatible = "ti,lp87565-q1";
242		reg = <0x60>;
243
244		buck10-in-supply =<&vsys_3v3>;
245		buck23-in-supply =<&vsys_3v3>;
246
247		regulators: regulators {
248			buck10_reg: buck10 {
249				/*VDD_MPU*/
250				regulator-name = "buck10";
251				regulator-min-microvolt = <850000>;
252				regulator-max-microvolt = <1250000>;
253				regulator-always-on;
254				regulator-boot-on;
255			};
256
257			buck23_reg: buck23 {
258				/* VDD_GPU*/
259				regulator-name = "buck23";
260				regulator-min-microvolt = <850000>;
261				regulator-max-microvolt = <1250000>;
262				regulator-boot-on;
263				regulator-always-on;
264			};
265		};
266	};
267
268	pcf_lcd: pcf8757@20 {
269		compatible = "ti,pcf8575", "nxp,pcf8575";
270		reg = <0x20>;
271		gpio-controller;
272		#gpio-cells = <2>;
273		interrupt-controller;
274		#interrupt-cells = <2>;
275		interrupt-parent = <&gpio1>;
276		interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
277	};
278
279	pcf_gpio_21: pcf8757@21 {
280		compatible = "ti,pcf8575", "nxp,pcf8575";
281		reg = <0x21>;
282		gpio-controller;
283		#gpio-cells = <2>;
284		interrupt-parent = <&gpio1>;
285		interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
286		interrupt-controller;
287		#interrupt-cells = <2>;
288	};
289
290	pcf_hdmi: pcf8575@26 {
291		compatible = "ti,pcf8575", "nxp,pcf8575";
292		reg = <0x26>;
293		gpio-controller;
294		#gpio-cells = <2>;
295		p1 {
296			/* vin6_sel_s0: high: VIN6, low: audio */
297			gpio-hog;
298			gpios = <1 GPIO_ACTIVE_HIGH>;
299			output-low;
300			line-name = "vin6_sel_s0";
301		};
302	};
303
304	tlv320aic3106: tlv320aic3106@19 {
305		#sound-dai-cells = <0>;
306		compatible = "ti,tlv320aic3106";
307		reg = <0x19>;
308		adc-settle-ms = <40>;
309		ai3x-micbias-vg = <1>;		/* 2.0V */
310		status = "okay";
311
312		/* Regulators */
313		AVDD-supply = <&vio_3v3>;
314		IOVDD-supply = <&vio_3v3>;
315		DRVDD-supply = <&vio_3v3>;
316		DVDD-supply = <&aic_dvdd>;
317	};
318};
319
320&cpu0 {
321	vdd-supply = <&buck10_reg>;
322};
323
324&mmc1 {
325	status = "okay";
326	vmmc-supply = <&vio_3v3_sd>;
327	vqmmc-supply = <&ldo4_reg>;
328	bus-width = <4>;
329	/*
330	 * SDCD signal is not being used here - using the fact that GPIO mode
331	 * is always hardwired.
332	 */
333	cd-gpios = <&gpio6 27 GPIO_ACTIVE_LOW>;
334	pinctrl-names = "default", "hs";
335	pinctrl-0 = <&mmc1_pins_default>;
336	pinctrl-1 = <&mmc1_pins_hs>;
337};
338
339&mmc2 {
340	status = "okay";
341	vmmc-supply = <&vio_1v8>;
342	vqmmc-supply = <&vio_1v8>;
343	bus-width = <8>;
344	non-removable;
345	pinctrl-names = "default", "hs", "ddr_1_8v", "hs200_1_8v";
346	pinctrl-0 = <&mmc2_pins_default>;
347	pinctrl-1 = <&mmc2_pins_default>;
348	pinctrl-2 = <&mmc2_pins_default>;
349	pinctrl-3 = <&mmc2_pins_hs200 &mmc2_iodelay_hs200_conf>;
350};
351
352&mmc4 {
353	status = "okay";
354	vmmc-supply = <&vio_3v6>;
355	vqmmc-supply = <&vmmcwl_fixed>;
356	pinctrl-names = "default", "hs", "sdr12", "sdr25";
357	pinctrl-0 = <&mmc4_pins_hs &mmc4_iodelay_default_conf>;
358	pinctrl-1 = <&mmc4_pins_hs &mmc4_iodelay_manual1_conf>;
359	pinctrl-2 = <&mmc4_pins_hs &mmc4_iodelay_manual1_conf>;
360	pinctrl-3 = <&mmc4_pins_hs &mmc4_iodelay_manual1_conf>;
361};
362
363/* No RTC on this device */
364&rtc {
365	status = "disabled";
366};
367
368&mac {
369	status = "okay";
370
371	dual_emac;
372};
373
374&cpsw_emac0 {
375	phy-handle = <&dp83867_0>;
376	phy-mode = "rgmii-id";
377	dual_emac_res_vlan = <1>;
378};
379
380&cpsw_emac1 {
381	phy-handle = <&dp83867_1>;
382	phy-mode = "rgmii-id";
383	dual_emac_res_vlan = <2>;
384};
385
386&davinci_mdio {
387	dp83867_0: ethernet-phy@2 {
388		reg = <2>;
389		ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>;
390		ti,tx-internal-delay = <DP83867_RGMIIDCTL_250_PS>;
391		ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_8_B_NIB>;
392		ti,min-output-impedance;
393		ti,dp83867-rxctrl-strap-quirk;
394	};
395
396	dp83867_1: ethernet-phy@3 {
397		reg = <3>;
398		ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>;
399		ti,tx-internal-delay = <DP83867_RGMIIDCTL_250_PS>;
400		ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_8_B_NIB>;
401		ti,min-output-impedance;
402		ti,dp83867-rxctrl-strap-quirk;
403	};
404};
405
406&usb2_phy1 {
407	phy-supply = <&ldo3_reg>;
408};
409
410&usb2_phy2 {
411	phy-supply = <&ldo3_reg>;
412};
413
414&qspi {
415	spi-max-frequency = <96000000>;
416	m25p80@0 {
417		spi-max-frequency = <96000000>;
418	};
419};
420
421&pcie2_phy {
422	status = "okay";
423};
424
425&pcie1_rc {
426	num-lanes = <2>;
427	phys = <&pcie1_phy>, <&pcie2_phy>;
428	phy-names = "pcie-phy0", "pcie-phy1";
429};
430
431&pcie1_ep {
432	num-lanes = <2>;
433	phys = <&pcie1_phy>, <&pcie2_phy>;
434	phy-names = "pcie-phy0", "pcie-phy1";
435};
436
437&extcon_usb1 {
438	vbus-gpio = <&pcf_lcd 14 GPIO_ACTIVE_HIGH>;
439};
440
441&extcon_usb2 {
442	vbus-gpio = <&pcf_lcd 15 GPIO_ACTIVE_HIGH>;
443};
444
445&m_can0 {
446	can-transceiver {
447		max-bitrate = <5000000>;
448	};
449};
450