xref: /OK3568_Linux_fs/kernel/arch/arm/boot/dts/dra7-evm.dts (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun// SPDX-License-Identifier: GPL-2.0-only
2*4882a593Smuzhiyun/*
3*4882a593Smuzhiyun * Copyright (C) 2013 Texas Instruments Incorporated - https://www.ti.com/
4*4882a593Smuzhiyun */
5*4882a593Smuzhiyun/dts-v1/;
6*4882a593Smuzhiyun
7*4882a593Smuzhiyun#include "dra74x.dtsi"
8*4882a593Smuzhiyun#include "dra7-evm-common.dtsi"
9*4882a593Smuzhiyun#include "dra74x-mmc-iodelay.dtsi"
10*4882a593Smuzhiyun
11*4882a593Smuzhiyun/ {
12*4882a593Smuzhiyun	model = "TI DRA742";
13*4882a593Smuzhiyun	compatible = "ti,dra7-evm", "ti,dra742", "ti,dra74", "ti,dra7";
14*4882a593Smuzhiyun
15*4882a593Smuzhiyun	memory@0 {
16*4882a593Smuzhiyun		device_type = "memory";
17*4882a593Smuzhiyun		reg = <0x0 0x80000000 0x0 0x60000000>; /* 1536 MB */
18*4882a593Smuzhiyun	};
19*4882a593Smuzhiyun
20*4882a593Smuzhiyun	evm_12v0: fixedregulator-evm_12v0 {
21*4882a593Smuzhiyun		/* main supply */
22*4882a593Smuzhiyun		compatible = "regulator-fixed";
23*4882a593Smuzhiyun		regulator-name = "evm_12v0";
24*4882a593Smuzhiyun		regulator-min-microvolt = <12000000>;
25*4882a593Smuzhiyun		regulator-max-microvolt = <12000000>;
26*4882a593Smuzhiyun		regulator-always-on;
27*4882a593Smuzhiyun		regulator-boot-on;
28*4882a593Smuzhiyun	};
29*4882a593Smuzhiyun
30*4882a593Smuzhiyun	evm_1v8_sw: fixedregulator-evm_1v8 {
31*4882a593Smuzhiyun		compatible = "regulator-fixed";
32*4882a593Smuzhiyun		regulator-name = "evm_1v8";
33*4882a593Smuzhiyun		vin-supply = <&smps9_reg>;
34*4882a593Smuzhiyun		regulator-min-microvolt = <1800000>;
35*4882a593Smuzhiyun		regulator-max-microvolt = <1800000>;
36*4882a593Smuzhiyun	};
37*4882a593Smuzhiyun
38*4882a593Smuzhiyun	reserved-memory {
39*4882a593Smuzhiyun		#address-cells = <2>;
40*4882a593Smuzhiyun		#size-cells = <2>;
41*4882a593Smuzhiyun		ranges;
42*4882a593Smuzhiyun
43*4882a593Smuzhiyun		ipu2_memory_region: ipu2-memory@95800000 {
44*4882a593Smuzhiyun			compatible = "shared-dma-pool";
45*4882a593Smuzhiyun			reg = <0x0 0x95800000 0x0 0x3800000>;
46*4882a593Smuzhiyun			reusable;
47*4882a593Smuzhiyun			status = "okay";
48*4882a593Smuzhiyun		};
49*4882a593Smuzhiyun
50*4882a593Smuzhiyun		dsp1_memory_region: dsp1-memory@99000000 {
51*4882a593Smuzhiyun			compatible = "shared-dma-pool";
52*4882a593Smuzhiyun			reg = <0x0 0x99000000 0x0 0x4000000>;
53*4882a593Smuzhiyun			reusable;
54*4882a593Smuzhiyun			status = "okay";
55*4882a593Smuzhiyun		};
56*4882a593Smuzhiyun
57*4882a593Smuzhiyun		ipu1_memory_region: ipu1-memory@9d000000 {
58*4882a593Smuzhiyun			compatible = "shared-dma-pool";
59*4882a593Smuzhiyun			reg = <0x0 0x9d000000 0x0 0x2000000>;
60*4882a593Smuzhiyun			reusable;
61*4882a593Smuzhiyun			status = "okay";
62*4882a593Smuzhiyun		};
63*4882a593Smuzhiyun
64*4882a593Smuzhiyun		dsp2_memory_region: dsp2-memory@9f000000 {
65*4882a593Smuzhiyun			compatible = "shared-dma-pool";
66*4882a593Smuzhiyun			reg = <0x0 0x9f000000 0x0 0x800000>;
67*4882a593Smuzhiyun			reusable;
68*4882a593Smuzhiyun			status = "okay";
69*4882a593Smuzhiyun		};
70*4882a593Smuzhiyun	};
71*4882a593Smuzhiyun
72*4882a593Smuzhiyun	evm_3v3_sd: fixedregulator-sd {
73*4882a593Smuzhiyun		compatible = "regulator-fixed";
74*4882a593Smuzhiyun		regulator-name = "evm_3v3_sd";
75*4882a593Smuzhiyun		regulator-min-microvolt = <3300000>;
76*4882a593Smuzhiyun		regulator-max-microvolt = <3300000>;
77*4882a593Smuzhiyun		enable-active-high;
78*4882a593Smuzhiyun		gpio = <&pcf_gpio_21 5 GPIO_ACTIVE_HIGH>;
79*4882a593Smuzhiyun	};
80*4882a593Smuzhiyun
81*4882a593Smuzhiyun	evm_3v3_sw: fixedregulator-evm_3v3_sw {
82*4882a593Smuzhiyun		compatible = "regulator-fixed";
83*4882a593Smuzhiyun		regulator-name = "evm_3v3_sw";
84*4882a593Smuzhiyun		vin-supply = <&sysen1>;
85*4882a593Smuzhiyun		regulator-min-microvolt = <3300000>;
86*4882a593Smuzhiyun		regulator-max-microvolt = <3300000>;
87*4882a593Smuzhiyun	};
88*4882a593Smuzhiyun
89*4882a593Smuzhiyun	aic_dvdd: fixedregulator-aic_dvdd {
90*4882a593Smuzhiyun		/* TPS77018DBVT */
91*4882a593Smuzhiyun		compatible = "regulator-fixed";
92*4882a593Smuzhiyun		regulator-name = "aic_dvdd";
93*4882a593Smuzhiyun		vin-supply = <&evm_3v3_sw>;
94*4882a593Smuzhiyun		regulator-min-microvolt = <1800000>;
95*4882a593Smuzhiyun		regulator-max-microvolt = <1800000>;
96*4882a593Smuzhiyun	};
97*4882a593Smuzhiyun
98*4882a593Smuzhiyun	vsys_3v3: fixedregulator-vsys3v3 {
99*4882a593Smuzhiyun		/* Output of Cntlr A of TPS43351-Q1 on dra7-evm */
100*4882a593Smuzhiyun		compatible = "regulator-fixed";
101*4882a593Smuzhiyun		regulator-name = "vsys_3v3";
102*4882a593Smuzhiyun		regulator-min-microvolt = <3300000>;
103*4882a593Smuzhiyun		regulator-max-microvolt = <3300000>;
104*4882a593Smuzhiyun		vin-supply = <&evm_12v0>;
105*4882a593Smuzhiyun		regulator-always-on;
106*4882a593Smuzhiyun		regulator-boot-on;
107*4882a593Smuzhiyun	};
108*4882a593Smuzhiyun
109*4882a593Smuzhiyun	evm_5v0: fixedregulator-evm_5v0 {
110*4882a593Smuzhiyun		/* Output of Cntlr B of TPS43351-Q1 on dra7-evm */
111*4882a593Smuzhiyun		compatible = "regulator-fixed";
112*4882a593Smuzhiyun		regulator-name = "evm_5v0";
113*4882a593Smuzhiyun		regulator-min-microvolt = <5000000>;
114*4882a593Smuzhiyun		regulator-max-microvolt = <5000000>;
115*4882a593Smuzhiyun		vin-supply = <&evm_12v0>;
116*4882a593Smuzhiyun		regulator-always-on;
117*4882a593Smuzhiyun		regulator-boot-on;
118*4882a593Smuzhiyun	};
119*4882a593Smuzhiyun
120*4882a593Smuzhiyun	evm_3v6: fixedregulator-evm_3v6 {
121*4882a593Smuzhiyun		compatible = "regulator-fixed";
122*4882a593Smuzhiyun		regulator-name = "evm_3v6";
123*4882a593Smuzhiyun		regulator-min-microvolt = <3600000>;
124*4882a593Smuzhiyun		regulator-max-microvolt = <3600000>;
125*4882a593Smuzhiyun		vin-supply = <&evm_5v0>;
126*4882a593Smuzhiyun		regulator-always-on;
127*4882a593Smuzhiyun		regulator-boot-on;
128*4882a593Smuzhiyun	};
129*4882a593Smuzhiyun
130*4882a593Smuzhiyun	vmmcwl_fixed: fixedregulator-mmcwl {
131*4882a593Smuzhiyun		compatible = "regulator-fixed";
132*4882a593Smuzhiyun		regulator-name = "vmmcwl_fixed";
133*4882a593Smuzhiyun		regulator-min-microvolt = <1800000>;
134*4882a593Smuzhiyun		regulator-max-microvolt = <1800000>;
135*4882a593Smuzhiyun		gpio = <&gpio5 8 0>;
136*4882a593Smuzhiyun		startup-delay-us = <70000>;
137*4882a593Smuzhiyun		enable-active-high;
138*4882a593Smuzhiyun	};
139*4882a593Smuzhiyun
140*4882a593Smuzhiyun	vtt_fixed: fixedregulator-vtt {
141*4882a593Smuzhiyun		compatible = "regulator-fixed";
142*4882a593Smuzhiyun		regulator-name = "vtt_fixed";
143*4882a593Smuzhiyun		regulator-min-microvolt = <1350000>;
144*4882a593Smuzhiyun		regulator-max-microvolt = <1350000>;
145*4882a593Smuzhiyun		regulator-always-on;
146*4882a593Smuzhiyun		regulator-boot-on;
147*4882a593Smuzhiyun		enable-active-high;
148*4882a593Smuzhiyun		vin-supply = <&sysen2>;
149*4882a593Smuzhiyun		gpio = <&gpio7 11 GPIO_ACTIVE_HIGH>;
150*4882a593Smuzhiyun	};
151*4882a593Smuzhiyun
152*4882a593Smuzhiyun};
153*4882a593Smuzhiyun
154*4882a593Smuzhiyun&dra7_pmx_core {
155*4882a593Smuzhiyun	dcan1_pins_default: dcan1_pins_default {
156*4882a593Smuzhiyun		pinctrl-single,pins = <
157*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x37d0, PIN_OUTPUT_PULLUP | MUX_MODE0) /* dcan1_tx */
158*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x3818, PULL_UP | MUX_MODE1) /* wakeup0.dcan1_rx */
159*4882a593Smuzhiyun		>;
160*4882a593Smuzhiyun	};
161*4882a593Smuzhiyun
162*4882a593Smuzhiyun	dcan1_pins_sleep: dcan1_pins_sleep {
163*4882a593Smuzhiyun		pinctrl-single,pins = <
164*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x37d0, MUX_MODE15 | PULL_UP)	/* dcan1_tx.off */
165*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x3818, MUX_MODE15 | PULL_UP)	/* wakeup0.off */
166*4882a593Smuzhiyun		>;
167*4882a593Smuzhiyun	};
168*4882a593Smuzhiyun};
169*4882a593Smuzhiyun
170*4882a593Smuzhiyun&i2c1 {
171*4882a593Smuzhiyun	status = "okay";
172*4882a593Smuzhiyun	clock-frequency = <400000>;
173*4882a593Smuzhiyun
174*4882a593Smuzhiyun	tps659038: tps659038@58 {
175*4882a593Smuzhiyun		compatible = "ti,tps659038";
176*4882a593Smuzhiyun		reg = <0x58>;
177*4882a593Smuzhiyun		ti,palmas-override-powerhold;
178*4882a593Smuzhiyun		ti,system-power-controller;
179*4882a593Smuzhiyun
180*4882a593Smuzhiyun		tps659038_pmic {
181*4882a593Smuzhiyun			compatible = "ti,tps659038-pmic";
182*4882a593Smuzhiyun
183*4882a593Smuzhiyun			regulators {
184*4882a593Smuzhiyun				smps123_reg: smps123 {
185*4882a593Smuzhiyun					/* VDD_MPU */
186*4882a593Smuzhiyun					regulator-name = "smps123";
187*4882a593Smuzhiyun					regulator-min-microvolt = < 850000>;
188*4882a593Smuzhiyun					regulator-max-microvolt = <1250000>;
189*4882a593Smuzhiyun					regulator-always-on;
190*4882a593Smuzhiyun					regulator-boot-on;
191*4882a593Smuzhiyun				};
192*4882a593Smuzhiyun
193*4882a593Smuzhiyun				smps45_reg: smps45 {
194*4882a593Smuzhiyun					/* VDD_DSPEVE */
195*4882a593Smuzhiyun					regulator-name = "smps45";
196*4882a593Smuzhiyun					regulator-min-microvolt = < 850000>;
197*4882a593Smuzhiyun					regulator-max-microvolt = <1250000>;
198*4882a593Smuzhiyun					regulator-always-on;
199*4882a593Smuzhiyun					regulator-boot-on;
200*4882a593Smuzhiyun				};
201*4882a593Smuzhiyun
202*4882a593Smuzhiyun				smps6_reg: smps6 {
203*4882a593Smuzhiyun					/* VDD_GPU - over VDD_SMPS6 */
204*4882a593Smuzhiyun					regulator-name = "smps6";
205*4882a593Smuzhiyun					regulator-min-microvolt = <850000>;
206*4882a593Smuzhiyun					regulator-max-microvolt = <1250000>;
207*4882a593Smuzhiyun					regulator-always-on;
208*4882a593Smuzhiyun					regulator-boot-on;
209*4882a593Smuzhiyun				};
210*4882a593Smuzhiyun
211*4882a593Smuzhiyun				smps7_reg: smps7 {
212*4882a593Smuzhiyun					/* CORE_VDD */
213*4882a593Smuzhiyun					regulator-name = "smps7";
214*4882a593Smuzhiyun					regulator-min-microvolt = <850000>;
215*4882a593Smuzhiyun					regulator-max-microvolt = <1150000>;
216*4882a593Smuzhiyun					regulator-always-on;
217*4882a593Smuzhiyun					regulator-boot-on;
218*4882a593Smuzhiyun				};
219*4882a593Smuzhiyun
220*4882a593Smuzhiyun				smps8_reg: smps8 {
221*4882a593Smuzhiyun					/* VDD_IVAHD */
222*4882a593Smuzhiyun					regulator-name = "smps8";
223*4882a593Smuzhiyun					regulator-min-microvolt = < 850000>;
224*4882a593Smuzhiyun					regulator-max-microvolt = <1250000>;
225*4882a593Smuzhiyun					regulator-always-on;
226*4882a593Smuzhiyun					regulator-boot-on;
227*4882a593Smuzhiyun				};
228*4882a593Smuzhiyun
229*4882a593Smuzhiyun				smps9_reg: smps9 {
230*4882a593Smuzhiyun					/* VDDS1V8 */
231*4882a593Smuzhiyun					regulator-name = "smps9";
232*4882a593Smuzhiyun					regulator-min-microvolt = <1800000>;
233*4882a593Smuzhiyun					regulator-max-microvolt = <1800000>;
234*4882a593Smuzhiyun					regulator-always-on;
235*4882a593Smuzhiyun					regulator-boot-on;
236*4882a593Smuzhiyun				};
237*4882a593Smuzhiyun
238*4882a593Smuzhiyun				ldo1_reg: ldo1 {
239*4882a593Smuzhiyun					/* LDO1_OUT --> SDIO  */
240*4882a593Smuzhiyun					regulator-name = "ldo1";
241*4882a593Smuzhiyun					regulator-min-microvolt = <1800000>;
242*4882a593Smuzhiyun					regulator-max-microvolt = <3300000>;
243*4882a593Smuzhiyun					regulator-always-on;
244*4882a593Smuzhiyun					regulator-boot-on;
245*4882a593Smuzhiyun				};
246*4882a593Smuzhiyun
247*4882a593Smuzhiyun				ldo2_reg: ldo2 {
248*4882a593Smuzhiyun					/* VDD_RTCIO */
249*4882a593Smuzhiyun					/* LDO2 -> VDDSHV5, LDO2 also goes to CAN_PHY_3V3 */
250*4882a593Smuzhiyun					regulator-name = "ldo2";
251*4882a593Smuzhiyun					regulator-min-microvolt = <3300000>;
252*4882a593Smuzhiyun					regulator-max-microvolt = <3300000>;
253*4882a593Smuzhiyun					regulator-always-on;
254*4882a593Smuzhiyun					regulator-boot-on;
255*4882a593Smuzhiyun				};
256*4882a593Smuzhiyun
257*4882a593Smuzhiyun				ldo3_reg: ldo3 {
258*4882a593Smuzhiyun					/* VDDA_1V8_PHY */
259*4882a593Smuzhiyun					regulator-name = "ldo3";
260*4882a593Smuzhiyun					regulator-min-microvolt = <1800000>;
261*4882a593Smuzhiyun					regulator-max-microvolt = <1800000>;
262*4882a593Smuzhiyun					regulator-always-on;
263*4882a593Smuzhiyun					regulator-boot-on;
264*4882a593Smuzhiyun				};
265*4882a593Smuzhiyun
266*4882a593Smuzhiyun				ldo9_reg: ldo9 {
267*4882a593Smuzhiyun					/* VDD_RTC */
268*4882a593Smuzhiyun					regulator-name = "ldo9";
269*4882a593Smuzhiyun					regulator-min-microvolt = <1050000>;
270*4882a593Smuzhiyun					regulator-max-microvolt = <1050000>;
271*4882a593Smuzhiyun					regulator-always-on;
272*4882a593Smuzhiyun					regulator-boot-on;
273*4882a593Smuzhiyun					regulator-allow-bypass;
274*4882a593Smuzhiyun				};
275*4882a593Smuzhiyun
276*4882a593Smuzhiyun				ldoln_reg: ldoln {
277*4882a593Smuzhiyun					/* VDDA_1V8_PLL */
278*4882a593Smuzhiyun					regulator-name = "ldoln";
279*4882a593Smuzhiyun					regulator-min-microvolt = <1800000>;
280*4882a593Smuzhiyun					regulator-max-microvolt = <1800000>;
281*4882a593Smuzhiyun					regulator-always-on;
282*4882a593Smuzhiyun					regulator-boot-on;
283*4882a593Smuzhiyun				};
284*4882a593Smuzhiyun
285*4882a593Smuzhiyun				ldousb_reg: ldousb {
286*4882a593Smuzhiyun					/* VDDA_3V_USB: VDDA_USBHS33 */
287*4882a593Smuzhiyun					regulator-name = "ldousb";
288*4882a593Smuzhiyun					regulator-min-microvolt = <3300000>;
289*4882a593Smuzhiyun					regulator-max-microvolt = <3300000>;
290*4882a593Smuzhiyun					regulator-boot-on;
291*4882a593Smuzhiyun				};
292*4882a593Smuzhiyun
293*4882a593Smuzhiyun				/* REGEN1 is unused */
294*4882a593Smuzhiyun
295*4882a593Smuzhiyun				regen2: regen2 {
296*4882a593Smuzhiyun					/* Needed for PMIC internal resources */
297*4882a593Smuzhiyun					regulator-name = "regen2";
298*4882a593Smuzhiyun					regulator-boot-on;
299*4882a593Smuzhiyun					regulator-always-on;
300*4882a593Smuzhiyun				};
301*4882a593Smuzhiyun
302*4882a593Smuzhiyun				/* REGEN3 is unused */
303*4882a593Smuzhiyun
304*4882a593Smuzhiyun				sysen1: sysen1 {
305*4882a593Smuzhiyun					/* PMIC_REGEN_3V3 */
306*4882a593Smuzhiyun					regulator-name = "sysen1";
307*4882a593Smuzhiyun					regulator-boot-on;
308*4882a593Smuzhiyun					regulator-always-on;
309*4882a593Smuzhiyun				};
310*4882a593Smuzhiyun
311*4882a593Smuzhiyun				sysen2: sysen2 {
312*4882a593Smuzhiyun					/* PMIC_REGEN_DDR */
313*4882a593Smuzhiyun					regulator-name = "sysen2";
314*4882a593Smuzhiyun					regulator-boot-on;
315*4882a593Smuzhiyun					regulator-always-on;
316*4882a593Smuzhiyun				};
317*4882a593Smuzhiyun			};
318*4882a593Smuzhiyun		};
319*4882a593Smuzhiyun	};
320*4882a593Smuzhiyun
321*4882a593Smuzhiyun	pcf_lcd: gpio@20 {
322*4882a593Smuzhiyun		compatible = "ti,pcf8575", "nxp,pcf8575";
323*4882a593Smuzhiyun		reg = <0x20>;
324*4882a593Smuzhiyun		gpio-controller;
325*4882a593Smuzhiyun		#gpio-cells = <2>;
326*4882a593Smuzhiyun		interrupt-parent = <&gpio6>;
327*4882a593Smuzhiyun		interrupts = <11 IRQ_TYPE_EDGE_FALLING>;
328*4882a593Smuzhiyun		interrupt-controller;
329*4882a593Smuzhiyun		#interrupt-cells = <2>;
330*4882a593Smuzhiyun	};
331*4882a593Smuzhiyun
332*4882a593Smuzhiyun	pcf_gpio_21: gpio@21 {
333*4882a593Smuzhiyun		compatible = "ti,pcf8575", "nxp,pcf8575";
334*4882a593Smuzhiyun		reg = <0x21>;
335*4882a593Smuzhiyun		lines-initial-states = <0x1408>;
336*4882a593Smuzhiyun		gpio-controller;
337*4882a593Smuzhiyun		#gpio-cells = <2>;
338*4882a593Smuzhiyun		interrupt-parent = <&gpio6>;
339*4882a593Smuzhiyun		interrupts = <11 IRQ_TYPE_EDGE_FALLING>;
340*4882a593Smuzhiyun		interrupt-controller;
341*4882a593Smuzhiyun		#interrupt-cells = <2>;
342*4882a593Smuzhiyun	};
343*4882a593Smuzhiyun
344*4882a593Smuzhiyun	tlv320aic3106: tlv320aic3106@19 {
345*4882a593Smuzhiyun		#sound-dai-cells = <0>;
346*4882a593Smuzhiyun		compatible = "ti,tlv320aic3106";
347*4882a593Smuzhiyun		reg = <0x19>;
348*4882a593Smuzhiyun		adc-settle-ms = <40>;
349*4882a593Smuzhiyun		ai3x-micbias-vg = <1>;		/* 2.0V */
350*4882a593Smuzhiyun		status = "okay";
351*4882a593Smuzhiyun
352*4882a593Smuzhiyun		/* Regulators */
353*4882a593Smuzhiyun		AVDD-supply = <&evm_3v3_sw>;
354*4882a593Smuzhiyun		IOVDD-supply = <&evm_3v3_sw>;
355*4882a593Smuzhiyun		DRVDD-supply = <&evm_3v3_sw>;
356*4882a593Smuzhiyun		DVDD-supply = <&aic_dvdd>;
357*4882a593Smuzhiyun	};
358*4882a593Smuzhiyun};
359*4882a593Smuzhiyun
360*4882a593Smuzhiyun&i2c2 {
361*4882a593Smuzhiyun	status = "okay";
362*4882a593Smuzhiyun	clock-frequency = <400000>;
363*4882a593Smuzhiyun
364*4882a593Smuzhiyun	pcf_hdmi: gpio@26 {
365*4882a593Smuzhiyun		compatible = "ti,pcf8575", "nxp,pcf8575";
366*4882a593Smuzhiyun		reg = <0x26>;
367*4882a593Smuzhiyun		gpio-controller;
368*4882a593Smuzhiyun		#gpio-cells = <2>;
369*4882a593Smuzhiyun		p1 {
370*4882a593Smuzhiyun			/* vin6_sel_s0: high: VIN6, low: audio */
371*4882a593Smuzhiyun			gpio-hog;
372*4882a593Smuzhiyun			gpios = <1 GPIO_ACTIVE_HIGH>;
373*4882a593Smuzhiyun			output-low;
374*4882a593Smuzhiyun			line-name = "vin6_sel_s0";
375*4882a593Smuzhiyun		};
376*4882a593Smuzhiyun	};
377*4882a593Smuzhiyun};
378*4882a593Smuzhiyun
379*4882a593Smuzhiyun&mmc1 {
380*4882a593Smuzhiyun	status = "okay";
381*4882a593Smuzhiyun	vmmc-supply = <&evm_3v3_sd>;
382*4882a593Smuzhiyun	vqmmc-supply = <&ldo1_reg>;
383*4882a593Smuzhiyun	bus-width = <4>;
384*4882a593Smuzhiyun	/*
385*4882a593Smuzhiyun	 * SDCD signal is not being used here - using the fact that GPIO mode
386*4882a593Smuzhiyun	 * is always hardwired.
387*4882a593Smuzhiyun	 */
388*4882a593Smuzhiyun	cd-gpios = <&gpio6 27 GPIO_ACTIVE_LOW>;
389*4882a593Smuzhiyun	pinctrl-names = "default", "hs", "sdr12", "sdr25", "sdr50", "ddr50-rev11", "sdr104-rev11", "ddr50", "sdr104";
390*4882a593Smuzhiyun	pinctrl-0 = <&mmc1_pins_default>;
391*4882a593Smuzhiyun	pinctrl-1 = <&mmc1_pins_hs>;
392*4882a593Smuzhiyun	pinctrl-2 = <&mmc1_pins_sdr12>;
393*4882a593Smuzhiyun	pinctrl-3 = <&mmc1_pins_sdr25>;
394*4882a593Smuzhiyun	pinctrl-4 = <&mmc1_pins_sdr50>;
395*4882a593Smuzhiyun	pinctrl-5 = <&mmc1_pins_ddr50 &mmc1_iodelay_ddr_rev11_conf>;
396*4882a593Smuzhiyun	pinctrl-6 = <&mmc1_pins_sdr104 &mmc1_iodelay_sdr104_rev11_conf>;
397*4882a593Smuzhiyun	pinctrl-7 = <&mmc1_pins_ddr50 &mmc1_iodelay_ddr_rev20_conf>;
398*4882a593Smuzhiyun	pinctrl-8 = <&mmc1_pins_sdr104 &mmc1_iodelay_sdr104_rev20_conf>;
399*4882a593Smuzhiyun};
400*4882a593Smuzhiyun
401*4882a593Smuzhiyun&mmc2 {
402*4882a593Smuzhiyun	status = "okay";
403*4882a593Smuzhiyun	vmmc-supply = <&evm_1v8_sw>;
404*4882a593Smuzhiyun	vqmmc-supply = <&evm_1v8_sw>;
405*4882a593Smuzhiyun	bus-width = <8>;
406*4882a593Smuzhiyun	non-removable;
407*4882a593Smuzhiyun	pinctrl-names = "default", "hs", "ddr_1_8v-rev11", "ddr_1_8v", "hs200_1_8v-rev11", "hs200_1_8v";
408*4882a593Smuzhiyun	pinctrl-0 = <&mmc2_pins_default>;
409*4882a593Smuzhiyun	pinctrl-1 = <&mmc2_pins_hs>;
410*4882a593Smuzhiyun	pinctrl-2 = <&mmc2_pins_ddr_1_8v_rev11 &mmc2_iodelay_ddr_1_8v_rev11_conf>;
411*4882a593Smuzhiyun	pinctrl-3 = <&mmc2_pins_ddr_rev20>;
412*4882a593Smuzhiyun	pinctrl-4 = <&mmc2_pins_hs200 &mmc2_iodelay_hs200_rev11_conf>;
413*4882a593Smuzhiyun	pinctrl-5 = <&mmc2_pins_hs200 &mmc2_iodelay_hs200_rev20_conf>;
414*4882a593Smuzhiyun};
415*4882a593Smuzhiyun
416*4882a593Smuzhiyun&mmc4 {
417*4882a593Smuzhiyun	status = "okay";
418*4882a593Smuzhiyun	vmmc-supply = <&evm_3v6>;
419*4882a593Smuzhiyun	vqmmc-supply = <&vmmcwl_fixed>;
420*4882a593Smuzhiyun	pinctrl-names = "default-rev11", "default", "hs-rev11", "hs", "sdr12-rev11", "sdr12", "sdr25-rev11", "sdr25";
421*4882a593Smuzhiyun	pinctrl-0 = <&mmc4_pins_default &mmc4_iodelay_ds_rev11_conf>;
422*4882a593Smuzhiyun	pinctrl-1 = <&mmc4_pins_default &mmc4_iodelay_ds_rev20_conf>;
423*4882a593Smuzhiyun	pinctrl-2 = <&mmc4_pins_hs &mmc4_iodelay_sdr12_hs_sdr25_rev11_conf>;
424*4882a593Smuzhiyun	pinctrl-3 = <&mmc4_pins_hs &mmc4_iodelay_sdr12_hs_sdr25_rev20_conf>;
425*4882a593Smuzhiyun	pinctrl-4 = <&mmc4_pins_sdr12 &mmc4_iodelay_sdr12_hs_sdr25_rev11_conf>;
426*4882a593Smuzhiyun	pinctrl-5 = <&mmc4_pins_sdr12 &mmc4_iodelay_sdr12_hs_sdr25_rev20_conf>;
427*4882a593Smuzhiyun	pinctrl-6 = <&mmc4_pins_sdr25 &mmc4_iodelay_sdr12_hs_sdr25_rev11_conf>;
428*4882a593Smuzhiyun	pinctrl-7 = <&mmc4_pins_sdr25 &mmc4_iodelay_sdr12_hs_sdr25_rev20_conf>;
429*4882a593Smuzhiyun};
430*4882a593Smuzhiyun
431*4882a593Smuzhiyun&cpu0 {
432*4882a593Smuzhiyun	vdd-supply = <&smps123_reg>;
433*4882a593Smuzhiyun};
434*4882a593Smuzhiyun
435*4882a593Smuzhiyun&elm {
436*4882a593Smuzhiyun	status = "okay";
437*4882a593Smuzhiyun};
438*4882a593Smuzhiyun
439*4882a593Smuzhiyun&gpmc {
440*4882a593Smuzhiyun	/*
441*4882a593Smuzhiyun	* For the existing IOdelay configuration via U-Boot we don't
442*4882a593Smuzhiyun	* support NAND on dra7-evm. Keep it disabled. Enabling it
443*4882a593Smuzhiyun	* requires a different configuration by U-Boot.
444*4882a593Smuzhiyun	*/
445*4882a593Smuzhiyun	status = "disabled";
446*4882a593Smuzhiyun	ranges = <0 0 0x08000000 0x01000000>;	/* minimum GPMC partition = 16MB */
447*4882a593Smuzhiyun	nand@0,0 {
448*4882a593Smuzhiyun		compatible = "ti,omap2-nand";
449*4882a593Smuzhiyun		reg = <0 0 4>;		/* device IO registers */
450*4882a593Smuzhiyun		interrupt-parent = <&gpmc>;
451*4882a593Smuzhiyun		interrupts = <0 IRQ_TYPE_NONE>, /* fifoevent */
452*4882a593Smuzhiyun			     <1 IRQ_TYPE_NONE>; /* termcount */
453*4882a593Smuzhiyun		rb-gpios = <&gpmc 0 GPIO_ACTIVE_HIGH>; /* gpmc_wait0 pin */
454*4882a593Smuzhiyun		ti,nand-xfer-type = "prefetch-dma";
455*4882a593Smuzhiyun		ti,nand-ecc-opt = "bch8";
456*4882a593Smuzhiyun		ti,elm-id = <&elm>;
457*4882a593Smuzhiyun		nand-bus-width = <16>;
458*4882a593Smuzhiyun		gpmc,device-width = <2>;
459*4882a593Smuzhiyun		gpmc,sync-clk-ps = <0>;
460*4882a593Smuzhiyun		gpmc,cs-on-ns = <0>;
461*4882a593Smuzhiyun		gpmc,cs-rd-off-ns = <80>;
462*4882a593Smuzhiyun		gpmc,cs-wr-off-ns = <80>;
463*4882a593Smuzhiyun		gpmc,adv-on-ns = <0>;
464*4882a593Smuzhiyun		gpmc,adv-rd-off-ns = <60>;
465*4882a593Smuzhiyun		gpmc,adv-wr-off-ns = <60>;
466*4882a593Smuzhiyun		gpmc,we-on-ns = <10>;
467*4882a593Smuzhiyun		gpmc,we-off-ns = <50>;
468*4882a593Smuzhiyun		gpmc,oe-on-ns = <4>;
469*4882a593Smuzhiyun		gpmc,oe-off-ns = <40>;
470*4882a593Smuzhiyun		gpmc,access-ns = <40>;
471*4882a593Smuzhiyun		gpmc,wr-access-ns = <80>;
472*4882a593Smuzhiyun		gpmc,rd-cycle-ns = <80>;
473*4882a593Smuzhiyun		gpmc,wr-cycle-ns = <80>;
474*4882a593Smuzhiyun		gpmc,bus-turnaround-ns = <0>;
475*4882a593Smuzhiyun		gpmc,cycle2cycle-delay-ns = <0>;
476*4882a593Smuzhiyun		gpmc,clk-activation-ns = <0>;
477*4882a593Smuzhiyun		gpmc,wr-data-mux-bus-ns = <0>;
478*4882a593Smuzhiyun		/* MTD partition table */
479*4882a593Smuzhiyun		/* All SPL-* partitions are sized to minimal length
480*4882a593Smuzhiyun		 * which can be independently programmable. For
481*4882a593Smuzhiyun		 * NAND flash this is equal to size of erase-block */
482*4882a593Smuzhiyun		#address-cells = <1>;
483*4882a593Smuzhiyun		#size-cells = <1>;
484*4882a593Smuzhiyun		partition@0 {
485*4882a593Smuzhiyun			label = "NAND.SPL";
486*4882a593Smuzhiyun			reg = <0x00000000 0x000020000>;
487*4882a593Smuzhiyun		};
488*4882a593Smuzhiyun		partition@1 {
489*4882a593Smuzhiyun			label = "NAND.SPL.backup1";
490*4882a593Smuzhiyun			reg = <0x00020000 0x00020000>;
491*4882a593Smuzhiyun		};
492*4882a593Smuzhiyun		partition@2 {
493*4882a593Smuzhiyun			label = "NAND.SPL.backup2";
494*4882a593Smuzhiyun			reg = <0x00040000 0x00020000>;
495*4882a593Smuzhiyun		};
496*4882a593Smuzhiyun		partition@3 {
497*4882a593Smuzhiyun			label = "NAND.SPL.backup3";
498*4882a593Smuzhiyun			reg = <0x00060000 0x00020000>;
499*4882a593Smuzhiyun		};
500*4882a593Smuzhiyun		partition@4 {
501*4882a593Smuzhiyun			label = "NAND.u-boot-spl-os";
502*4882a593Smuzhiyun			reg = <0x00080000 0x00040000>;
503*4882a593Smuzhiyun		};
504*4882a593Smuzhiyun		partition@5 {
505*4882a593Smuzhiyun			label = "NAND.u-boot";
506*4882a593Smuzhiyun			reg = <0x000c0000 0x00100000>;
507*4882a593Smuzhiyun		};
508*4882a593Smuzhiyun		partition@6 {
509*4882a593Smuzhiyun			label = "NAND.u-boot-env";
510*4882a593Smuzhiyun			reg = <0x001c0000 0x00020000>;
511*4882a593Smuzhiyun		};
512*4882a593Smuzhiyun		partition@7 {
513*4882a593Smuzhiyun			label = "NAND.u-boot-env.backup1";
514*4882a593Smuzhiyun			reg = <0x001e0000 0x00020000>;
515*4882a593Smuzhiyun		};
516*4882a593Smuzhiyun		partition@8 {
517*4882a593Smuzhiyun			label = "NAND.kernel";
518*4882a593Smuzhiyun			reg = <0x00200000 0x00800000>;
519*4882a593Smuzhiyun		};
520*4882a593Smuzhiyun		partition@9 {
521*4882a593Smuzhiyun			label = "NAND.file-system";
522*4882a593Smuzhiyun			reg = <0x00a00000 0x0f600000>;
523*4882a593Smuzhiyun		};
524*4882a593Smuzhiyun	};
525*4882a593Smuzhiyun};
526*4882a593Smuzhiyun
527*4882a593Smuzhiyun&usb2_phy1 {
528*4882a593Smuzhiyun	phy-supply = <&ldousb_reg>;
529*4882a593Smuzhiyun};
530*4882a593Smuzhiyun
531*4882a593Smuzhiyun&usb2_phy2 {
532*4882a593Smuzhiyun	phy-supply = <&ldousb_reg>;
533*4882a593Smuzhiyun};
534*4882a593Smuzhiyun
535*4882a593Smuzhiyun&gpio7_target {
536*4882a593Smuzhiyun	ti,no-reset-on-init;
537*4882a593Smuzhiyun	ti,no-idle-on-init;
538*4882a593Smuzhiyun};
539*4882a593Smuzhiyun
540*4882a593Smuzhiyun&mac_sw {
541*4882a593Smuzhiyun	status = "okay";
542*4882a593Smuzhiyun};
543*4882a593Smuzhiyun
544*4882a593Smuzhiyun&cpsw_port1 {
545*4882a593Smuzhiyun	phy-handle = <&ethphy0>;
546*4882a593Smuzhiyun	phy-mode = "rgmii";
547*4882a593Smuzhiyun	ti,dual-emac-pvid = <1>;
548*4882a593Smuzhiyun};
549*4882a593Smuzhiyun
550*4882a593Smuzhiyun&cpsw_port2 {
551*4882a593Smuzhiyun	phy-handle = <&ethphy1>;
552*4882a593Smuzhiyun	phy-mode = "rgmii";
553*4882a593Smuzhiyun	ti,dual-emac-pvid = <2>;
554*4882a593Smuzhiyun};
555*4882a593Smuzhiyun
556*4882a593Smuzhiyun&davinci_mdio_sw {
557*4882a593Smuzhiyun	ethphy0: ethernet-phy@2 {
558*4882a593Smuzhiyun		reg = <2>;
559*4882a593Smuzhiyun	};
560*4882a593Smuzhiyun
561*4882a593Smuzhiyun	ethphy1: ethernet-phy@3 {
562*4882a593Smuzhiyun		reg = <3>;
563*4882a593Smuzhiyun	};
564*4882a593Smuzhiyun};
565*4882a593Smuzhiyun
566*4882a593Smuzhiyun&dcan1 {
567*4882a593Smuzhiyun	status = "okay";
568*4882a593Smuzhiyun	pinctrl-names = "default", "sleep", "active";
569*4882a593Smuzhiyun	pinctrl-0 = <&dcan1_pins_sleep>;
570*4882a593Smuzhiyun	pinctrl-1 = <&dcan1_pins_sleep>;
571*4882a593Smuzhiyun	pinctrl-2 = <&dcan1_pins_default>;
572*4882a593Smuzhiyun};
573*4882a593Smuzhiyun
574*4882a593Smuzhiyun&ipu2 {
575*4882a593Smuzhiyun	status = "okay";
576*4882a593Smuzhiyun	memory-region = <&ipu2_memory_region>;
577*4882a593Smuzhiyun};
578*4882a593Smuzhiyun
579*4882a593Smuzhiyun&ipu1 {
580*4882a593Smuzhiyun	status = "okay";
581*4882a593Smuzhiyun	memory-region = <&ipu1_memory_region>;
582*4882a593Smuzhiyun};
583*4882a593Smuzhiyun
584*4882a593Smuzhiyun&dsp1 {
585*4882a593Smuzhiyun	status = "okay";
586*4882a593Smuzhiyun	memory-region = <&dsp1_memory_region>;
587*4882a593Smuzhiyun};
588*4882a593Smuzhiyun
589*4882a593Smuzhiyun&dsp2 {
590*4882a593Smuzhiyun	status = "okay";
591*4882a593Smuzhiyun	memory-region = <&dsp2_memory_region>;
592*4882a593Smuzhiyun};
593