xref: /openbmc/u-boot/arch/arm/dts/da850-evm.dts (revision ecab65e4)
1/*
2 * Device Tree for DA850 EVM board
3 *
4 * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
5 *
6 * This program is free software; you can redistribute  it and/or modify it
7 * under  the terms of  the GNU General  Public License as published by the
8 * Free Software Foundation, version 2.
9 */
10/dts-v1/;
11#include "da850.dtsi"
12#include <dt-bindings/gpio/gpio.h>
13
14/ {
15	compatible = "ti,da850-evm", "ti,da850";
16	model = "DA850/AM1808/OMAP-L138 EVM";
17
18	chosen {
19		stdout-path = &serial2;
20	};
21
22	aliases {
23		serial0 = &serial0;
24		serial1 = &serial1;
25		serial2 = &serial2;
26		ethernet0 = &eth0;
27		spi0 = &spi1;
28	};
29
30	backlight: backlight-pwm {
31		pinctrl-names = "default";
32		pinctrl-0 = <&ecap2_pins>;
33		power-supply = <&backlight_lcd>;
34		compatible = "pwm-backlight";
35		/*
36		 * The PWM here corresponds to production hardware. The
37		 * schematic needs to be 1015171 (15 March 2010), Rev A
38		 * or newer.
39		 */
40		pwms = <&ecap2 0 50000 0>;
41		brightness-levels = <0 10 20 30 40 50 60 70 80 90 99>;
42		default-brightness-level = <7>;
43	};
44
45	panel {
46		compatible = "ti,tilcdc,panel";
47		pinctrl-names = "default";
48		pinctrl-0 = <&lcd_pins>;
49		/*
50		 * The vpif and the LCD are mutually exclusive.
51		 * To enable VPIF, change the status below to 'disabled' then
52		 * then change the status of the vpif below to 'okay'
53		 */
54		status = "okay";
55		enable-gpios = <&gpio 40 GPIO_ACTIVE_HIGH>; /* lcd_panel_pwr */
56
57		panel-info {
58			ac-bias		= <255>;
59			ac-bias-intrpt	= <0>;
60			dma-burst-sz	= <16>;
61			bpp		= <16>;
62			fdd		= <0x80>;
63			sync-edge	= <0>;
64			sync-ctrl	= <1>;
65			raster-order	= <0>;
66			fifo-th		= <0>;
67		};
68
69		display-timings {
70			native-mode = <&timing0>;
71			timing0: 480x272 {
72				clock-frequency = <9000000>;
73				hactive = <480>;
74				vactive = <272>;
75				hfront-porch = <3>;
76				hback-porch = <2>;
77				hsync-len = <42>;
78				vback-porch = <3>;
79				vfront-porch = <4>;
80				vsync-len = <11>;
81				hsync-active = <0>;
82				vsync-active = <0>;
83				de-active = <1>;
84				pixelclk-active = <1>;
85			};
86		};
87	};
88
89	vbat: fixedregulator0 {
90		compatible = "regulator-fixed";
91		regulator-name = "vbat";
92		regulator-min-microvolt = <5000000>;
93		regulator-max-microvolt = <5000000>;
94		regulator-boot-on;
95	};
96
97	backlight_lcd: backlight-regulator {
98		compatible = "regulator-fixed";
99		regulator-name = "lcd_backlight_pwr";
100		regulator-min-microvolt = <3300000>;
101		regulator-max-microvolt = <3300000>;
102		gpio = <&gpio 47 GPIO_ACTIVE_HIGH>; /* lcd_backlight_pwr */
103		enable-active-high;
104	};
105
106	sound {
107		compatible = "simple-audio-card";
108		simple-audio-card,name = "DA850/OMAP-L138 EVM";
109		simple-audio-card,widgets =
110			"Line", "Line In",
111			"Line", "Line Out";
112		simple-audio-card,routing =
113			"LINE1L", "Line In",
114			"LINE1R", "Line In",
115			"Line Out", "LLOUT",
116			"Line Out", "RLOUT";
117		simple-audio-card,format = "dsp_b";
118		simple-audio-card,bitclock-master = <&link0_codec>;
119		simple-audio-card,frame-master = <&link0_codec>;
120		simple-audio-card,bitclock-inversion;
121
122		simple-audio-card,cpu {
123			sound-dai = <&mcasp0>;
124			system-clock-frequency = <24576000>;
125		};
126
127		link0_codec: simple-audio-card,codec {
128			sound-dai = <&tlv320aic3106>;
129			system-clock-frequency = <24576000>;
130		};
131	};
132};
133
134&ecap2 {
135	status = "okay";
136};
137
138&ref_clk {
139	clock-frequency = <24000000>;
140};
141
142&pmx_core {
143	status = "okay";
144
145	mcasp0_pins: pinmux_mcasp0_pins {
146		pinctrl-single,bits = <
147			/*
148			 * AHCLKX, ACLKX, AFSX, AHCLKR, ACLKR,
149			 * AFSR, AMUTE
150			 */
151			0x00 0x11111111 0xffffffff
152			/* AXR11, AXR12 */
153			0x04 0x00011000 0x000ff000
154		>;
155	};
156	nand_pins: nand_pins {
157		pinctrl-single,bits = <
158			/* EMA_WAIT[0], EMA_OE, EMA_WE, EMA_CS[4], EMA_CS[3] */
159			0x1c 0x10110110  0xf0ff0ff0
160			/*
161			 * EMA_D[0], EMA_D[1], EMA_D[2],
162			 * EMA_D[3], EMA_D[4], EMA_D[5],
163			 * EMA_D[6], EMA_D[7]
164			 */
165			0x24 0x11111111  0xffffffff
166			/* EMA_A[1], EMA_A[2] */
167			0x30 0x01100000  0x0ff00000
168		>;
169	};
170};
171
172&sata {
173	status = "okay";
174};
175
176&serial0 {
177	status = "okay";
178};
179
180&serial1 {
181	status = "okay";
182};
183
184&serial2 {
185	status = "okay";
186};
187
188&rtc0 {
189	status = "okay";
190};
191
192&lcdc {
193	status = "okay";
194};
195
196&i2c0 {
197	status = "okay";
198	clock-frequency = <100000>;
199	pinctrl-names = "default";
200	pinctrl-0 = <&i2c0_pins>;
201
202	tps: tps@48 {
203		reg = <0x48>;
204	};
205	tlv320aic3106: tlv320aic3106@18 {
206		#sound-dai-cells = <0>;
207		compatible = "ti,tlv320aic3106";
208		reg = <0x18>;
209		status = "okay";
210
211		/* Regulators */
212		IOVDD-supply = <&vdcdc2_reg>;
213		/* Derived from VBAT: Baseboard 3.3V / 1.8V */
214		AVDD-supply = <&vbat>;
215		DRVDD-supply = <&vbat>;
216		DVDD-supply = <&vbat>;
217	};
218	tca6416: gpio@20 {
219		compatible = "ti,tca6416";
220		reg = <0x20>;
221		gpio-controller;
222		#gpio-cells = <2>;
223	};
224	tca6416_bb: gpio@21 {
225		compatible = "ti,tca6416";
226		reg = <0x21>;
227		gpio-controller;
228		#gpio-cells = <2>;
229	};
230};
231
232&wdt {
233	status = "okay";
234};
235
236&mmc0 {
237	max-frequency = <50000000>;
238	bus-width = <4>;
239	status = "okay";
240	pinctrl-names = "default";
241	pinctrl-0 = <&mmc0_pins>;
242	cd-gpios = <&gpio 64 GPIO_ACTIVE_LOW>;
243	wp-gpios = <&gpio 65 GPIO_ACTIVE_HIGH>;
244};
245
246&spi1 {
247	status = "okay";
248	pinctrl-names = "default";
249	pinctrl-0 = <&spi1_pins &spi1_cs0_pin>;
250	flash: m25p80@0 {
251		#address-cells = <1>;
252		#size-cells = <1>;
253		compatible = "m25p64";
254		spi-max-frequency = <30000000>;
255		m25p,fast-read;
256		reg = <0>;
257		partition@0 {
258			label = "U-Boot-SPL";
259			reg = <0x00000000 0x00010000>;
260			read-only;
261		};
262		partition@1 {
263			label = "U-Boot";
264			reg = <0x00010000 0x00080000>;
265			read-only;
266		};
267		partition@2 {
268			label = "U-Boot-Env";
269			reg = <0x00090000 0x00010000>;
270			read-only;
271		};
272		partition@3 {
273			label = "Kernel";
274			reg = <0x000a0000 0x00280000>;
275		};
276		partition@4 {
277			label = "Filesystem";
278			reg = <0x00320000 0x00400000>;
279		};
280		partition@5 {
281			label = "MAC-Address";
282			reg = <0x007f0000 0x00010000>;
283			read-only;
284		};
285	};
286};
287
288&mdio {
289	status = "okay";
290	pinctrl-names = "default";
291	pinctrl-0 = <&mdio_pins>;
292	bus_freq = <2200000>;
293};
294
295&eth0 {
296	status = "okay";
297	pinctrl-names = "default";
298	pinctrl-0 = <&mii_pins>;
299};
300
301&gpio {
302	status = "okay";
303};
304
305/include/ "tps6507x.dtsi"
306
307&tps {
308	vdcdc1_2-supply = <&vbat>;
309	vdcdc3-supply = <&vbat>;
310	vldo1_2-supply = <&vbat>;
311
312	regulators {
313		vdcdc1_reg: regulator@0 {
314			regulator-name = "VDCDC1_3.3V";
315			regulator-min-microvolt = <3150000>;
316			regulator-max-microvolt = <3450000>;
317			regulator-always-on;
318			regulator-boot-on;
319		};
320
321		vdcdc2_reg: regulator@1 {
322			regulator-name = "VDCDC2_3.3V";
323			regulator-min-microvolt = <1710000>;
324			regulator-max-microvolt = <3450000>;
325			regulator-always-on;
326			regulator-boot-on;
327			ti,defdcdc_default = <1>;
328		};
329
330		vdcdc3_reg: regulator@2 {
331			regulator-name = "VDCDC3_1.2V";
332			regulator-min-microvolt = <950000>;
333			regulator-max-microvolt = <1350000>;
334			regulator-always-on;
335			regulator-boot-on;
336			ti,defdcdc_default = <1>;
337		};
338
339		ldo1_reg: regulator@3 {
340			regulator-name = "LDO1_1.8V";
341			regulator-min-microvolt = <1710000>;
342			regulator-max-microvolt = <1890000>;
343			regulator-always-on;
344			regulator-boot-on;
345		};
346
347		ldo2_reg: regulator@4 {
348			regulator-name = "LDO2_1.2V";
349			regulator-min-microvolt = <1140000>;
350			regulator-max-microvolt = <1320000>;
351			regulator-always-on;
352			regulator-boot-on;
353		};
354	};
355};
356
357&mcasp0 {
358	#sound-dai-cells = <0>;
359	status = "okay";
360	pinctrl-names = "default";
361	pinctrl-0 = <&mcasp0_pins>;
362
363	op-mode = <0>;          /* MCASP_IIS_MODE */
364	tdm-slots = <2>;
365	/* 4 serializer */
366	serial-dir = <  /* 0: INACTIVE, 1: TX, 2: RX */
367		0 0 0 0
368		0 0 0 0
369		0 0 0 1
370		2 0 0 0
371	>;
372	tx-num-evt = <32>;
373	rx-num-evt = <32>;
374};
375
376&edma0 {
377	ti,edma-reserved-slot-ranges = <32 50>;
378};
379
380&edma1 {
381	ti,edma-reserved-slot-ranges = <32 90>;
382};
383
384&aemif {
385	pinctrl-names = "default";
386	pinctrl-0 = <&nand_pins>;
387	status = "ok";
388	cs3 {
389		#address-cells = <2>;
390		#size-cells = <1>;
391		clock-ranges;
392		ranges;
393
394		ti,cs-chipselect = <3>;
395
396		nand@2000000,0 {
397			compatible = "ti,davinci-nand";
398			#address-cells = <1>;
399			#size-cells = <1>;
400			reg = <0 0x02000000 0x02000000
401			       1 0x00000000 0x00008000>;
402
403			ti,davinci-chipselect = <1>;
404			ti,davinci-mask-ale = <0>;
405			ti,davinci-mask-cle = <0>;
406			ti,davinci-mask-chipsel = <0>;
407			ti,davinci-ecc-mode = "hw";
408			ti,davinci-ecc-bits = <4>;
409			ti,davinci-nand-use-bbt;
410		};
411	};
412};
413
414&usb_phy {
415	status = "okay";
416};
417
418&usb0 {
419	status = "okay";
420};
421
422&usb1 {
423	status = "okay";
424};
425
426&vpif {
427	pinctrl-names = "default";
428	pinctrl-0 = <&vpif_capture_pins>, <&vpif_display_pins>;
429	/*
430	 * The vpif and the LCD are mutually exclusive.
431	 * To enable VPIF, disable the ti,tilcdc,panel then
432	 * change the status below to 'okay'
433	 */
434	status = "disabled";
435};
436