ea3250.dts revision 295436
1/*
2 * Embedded Artists LPC3250 board
3 *
4 * Copyright 2012 Roland Stigge <stigge@antcom.de>
5 *
6 * The code contained herein is licensed under the GNU General Public
7 * License. You may obtain a copy of the GNU General Public License
8 * Version 2 or later at the following locations:
9 *
10 * http://www.opensource.org/licenses/gpl-license.html
11 * http://www.gnu.org/copyleft/gpl.html
12 */
13
14/dts-v1/;
15#include "lpc32xx.dtsi"
16
17/ {
18	model = "Embedded Artists LPC3250 board based on NXP LPC3250";
19	compatible = "ea,ea3250", "nxp,lpc3250";
20	#address-cells = <1>;
21	#size-cells = <1>;
22
23	memory {
24		device_type = "memory";
25		reg = <0x80000000 0x4000000>;
26	};
27
28	ahb {
29		mac: ethernet@31060000 {
30			phy-mode = "rmii";
31			use-iram;
32		};
33
34		/* 128MB Flash via SLC NAND controller */
35		slc: flash@20020000 {
36			status = "okay";
37			#address-cells = <1>;
38			#size-cells = <1>;
39
40			nxp,wdr-clks = <14>;
41			nxp,wwidth = <260000000>;
42			nxp,whold = <104000000>;
43			nxp,wsetup = <200000000>;
44			nxp,rdr-clks = <14>;
45			nxp,rwidth = <34666666>;
46			nxp,rhold = <104000000>;
47			nxp,rsetup = <200000000>;
48			nand-on-flash-bbt;
49			gpios = <&gpio 5 19 1>; /* GPO_P3 19, active low */
50
51			mtd0@00000000 {
52				label = "ea3250-boot";
53				reg = <0x00000000 0x00080000>;
54				read-only;
55			};
56
57			mtd1@00080000 {
58				label = "ea3250-uboot";
59				reg = <0x00080000 0x000c0000>;
60				read-only;
61			};
62
63			mtd2@00140000 {
64				label = "ea3250-kernel";
65				reg = <0x00140000 0x00400000>;
66			};
67
68			mtd3@00540000 {
69				label = "ea3250-rootfs";
70				reg = <0x00540000 0x07ac0000>;
71			};
72		};
73
74		apb {
75			uart5: serial@40090000 {
76				status = "okay";
77			};
78
79			uart3: serial@40080000 {
80				status = "okay";
81			};
82
83			uart6: serial@40098000 {
84				status = "okay";
85			};
86
87			i2c1: i2c@400A0000 {
88				clock-frequency = <100000>;
89
90				eeprom@50 {
91					compatible = "at,24c256";
92					reg = <0x50>;
93				};
94
95				eeprom@57 {
96					compatible = "at,24c64";
97					reg = <0x57>;
98				};
99
100				uda1380: uda1380@18 {
101					compatible = "nxp,uda1380";
102					reg = <0x18>;
103					power-gpio = <&gpio 0x59 0>;
104					reset-gpio = <&gpio 0x51 0>;
105					dac-clk = "wspll";
106				};
107
108				pca9532: pca9532@60 {
109					compatible = "nxp,pca9532";
110					gpio-controller;
111					#gpio-cells = <2>;
112					reg = <0x60>;
113				};
114			};
115
116			i2c2: i2c@400A8000 {
117				clock-frequency = <100000>;
118			};
119
120			sd@20098000 {
121				wp-gpios = <&pca9532 5 0>;
122				cd-gpios = <&pca9532 4 0>;
123				cd-inverted;
124				bus-width = <4>;
125				status = "okay";
126			};
127		};
128
129		fab {
130			uart1: serial@40014000 {
131				status = "okay";
132			};
133
134			/* 3-axis accelerometer X,Y,Z (or AD-IN instead of Z) */
135			adc@40048000 {
136				status = "okay";
137			};
138		};
139	};
140
141	gpio_keys {
142		compatible = "gpio-keys";
143		#address-cells = <1>;
144		#size-cells = <0>;
145		autorepeat;
146		button@21 {
147			label = "Interrupt Key";
148			linux,code = <103>;
149			gpios = <&gpio 4 1 0>; /* GPI_P3 1 */
150		};
151		key1 {
152			label = "KEY1";
153			linux,code = <1>;
154			gpios = <&pca9532 0 0>;
155		};
156		key2 {
157			label = "KEY2";
158			linux,code = <2>;
159			gpios = <&pca9532 1 0>;
160		};
161		key3 {
162			label = "KEY3";
163			linux,code = <3>;
164			gpios = <&pca9532 2 0>;
165		};
166		key4 {
167			label = "KEY4";
168			linux,code = <4>;
169			gpios = <&pca9532 3 0>;
170		};
171		joy0 {
172			label = "Joystick Key 0";
173			linux,code = <10>;
174			gpios = <&gpio 2 0 0>; /* P2.0 */
175		};
176		joy1 {
177			label = "Joystick Key 1";
178			linux,code = <11>;
179			gpios = <&gpio 2 1 0>; /* P2.1 */
180		};
181		joy2 {
182			label = "Joystick Key 2";
183			linux,code = <12>;
184			gpios = <&gpio 2 2 0>; /* P2.2 */
185		};
186		joy3 {
187			label = "Joystick Key 3";
188			linux,code = <13>;
189			gpios = <&gpio 2 3 0>; /* P2.3 */
190		};
191		joy4 {
192			label = "Joystick Key 4";
193			linux,code = <14>;
194			gpios = <&gpio 2 4 0>; /* P2.4 */
195		};
196	};
197
198	leds {
199		compatible = "gpio-leds";
200
201		/* LEDs on OEM Board */
202
203		led1 {
204			gpios = <&gpio 5 14 1>; /* GPO_P3 14, GPIO 93, active low */
205			linux,default-trigger = "timer";
206			default-state = "off";
207		};
208
209		led2 {
210			gpios = <&gpio 2 10 1>; /* P2.10, active low */
211			default-state = "off";
212		};
213
214		led3 {
215			gpios = <&gpio 2 11 1>; /* P2.11, active low */
216			default-state = "off";
217		};
218
219		led4 {
220			gpios = <&gpio 2 12 1>; /* P2.12, active low */
221			default-state = "off";
222		};
223
224		/* LEDs on Base Board */
225
226		lede1 {
227			gpios = <&pca9532 8 0>;
228			default-state = "off";
229		};
230		lede2 {
231			gpios = <&pca9532 9 0>;
232			default-state = "off";
233		};
234		lede3 {
235			gpios = <&pca9532 10 0>;
236			default-state = "off";
237		};
238		lede4 {
239			gpios = <&pca9532 11 0>;
240			default-state = "off";
241		};
242		lede5 {
243			gpios = <&pca9532 12 0>;
244			default-state = "off";
245		};
246		lede6 {
247			gpios = <&pca9532 13 0>;
248			default-state = "off";
249		};
250		lede7 {
251			gpios = <&pca9532 14 0>;
252			default-state = "off";
253		};
254		lede8 {
255			gpios = <&pca9532 15 0>;
256			default-state = "off";
257		};
258	};
259};
260
261/* Here, choose exactly one from: ohci, usbd */
262&ohci /* &usbd */ {
263	transceiver = <&isp1301>;
264	status = "okay";
265};
266
267&i2cusb {
268	clock-frequency = <100000>;
269
270	isp1301: usb-transceiver@2d {
271		compatible = "nxp,isp1301";
272		reg = <0x2d>;
273	};
274};
275