at91sam9m10g45ek.dts revision 262573
1/*
2 * at91sam9m10g45ek.dts - Device Tree file for AT91SAM9M10G45-EK board
3 *
4 *  Copyright (C) 2011 Atmel,
5 *                2011 Nicolas Ferre <nicolas.ferre@atmel.com>
6 *
7 * Licensed under GPLv2 or later.
8 */
9/dts-v1/;
10#include "at91sam9g45.dtsi"
11
12/ {
13	model = "Atmel AT91SAM9M10G45-EK";
14	compatible = "atmel,at91sam9m10g45ek", "atmel,at91sam9g45", "atmel,at91sam9";
15
16	chosen {
17		bootargs = "mem=64M console=ttyS0,115200 root=/dev/mtdblock1 rw rootfstype=jffs2";
18	};
19
20	memory {
21		reg = <0x70000000 0x4000000>;
22	};
23
24	clocks {
25		#address-cells = <1>;
26		#size-cells = <1>;
27		ranges;
28
29		main_clock: clock@0 {
30			compatible = "atmel,osc", "fixed-clock";
31			clock-frequency = <12000000>;
32		};
33	};
34
35	ahb {
36		apb {
37			dbgu: serial@ffffee00 {
38				status = "okay";
39			};
40
41			usart1: serial@fff90000 {
42				pinctrl-0 =
43					<&pinctrl_usart1
44					 &pinctrl_usart1_rts
45					 &pinctrl_usart1_cts>;
46				status = "okay";
47			};
48
49			macb0: ethernet@fffbc000 {
50				phy-mode = "rmii";
51				status = "okay";
52			};
53
54			i2c0: i2c@fff84000 {
55				status = "okay";
56			};
57
58			i2c1: i2c@fff88000 {
59				status = "okay";
60			};
61
62			watchdog@fffffd40 {
63				status = "okay";
64			};
65
66			mmc0: mmc@fff80000 {
67				pinctrl-0 = <
68					&pinctrl_board_mmc0
69					&pinctrl_mmc0_slot0_clk_cmd_dat0
70					&pinctrl_mmc0_slot0_dat1_3>;
71				status = "okay";
72				slot@0 {
73					reg = <0>;
74					bus-width = <4>;
75					cd-gpios = <&pioD 10 GPIO_ACTIVE_HIGH>;
76				};
77			};
78
79			mmc1: mmc@fffd0000 {
80				pinctrl-0 = <
81					&pinctrl_board_mmc1
82					&pinctrl_mmc1_slot0_clk_cmd_dat0
83					&pinctrl_mmc1_slot0_dat1_3>;
84				status = "okay";
85				slot@0 {
86					reg = <0>;
87					bus-width = <4>;
88					cd-gpios = <&pioD 11 GPIO_ACTIVE_HIGH>;
89					wp-gpios = <&pioD 29 GPIO_ACTIVE_HIGH>;
90				};
91			};
92
93			pinctrl@fffff200 {
94				mmc0 {
95					pinctrl_board_mmc0: mmc0-board {
96						atmel,pins =
97							<AT91_PIOD 10 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;	/* PD10 gpio CD pin pull up and deglitch */
98					};
99				};
100
101				mmc1 {
102					pinctrl_board_mmc1: mmc1-board {
103						atmel,pins =
104							<AT91_PIOD 11 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH	/* PD11 gpio CD pin pull up and deglitch */
105							 AT91_PIOD 29 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;	/* PD29 gpio WP pin pull up */
106					};
107				};
108
109				pwm0 {
110					pinctrl_pwm_leds: pwm-led {
111						atmel,pins =
112							<AT91_PIOD 0  AT91_PERIPH_B AT91_PINCTRL_PULL_UP	/* PD0 periph B */
113							 AT91_PIOD 31 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>;	/* PD31 periph B */
114					};
115				};
116			};
117
118			spi0: spi@fffa4000{
119				status = "okay";
120				cs-gpios = <&pioB 3 0>, <0>, <0>, <0>;
121				mtd_dataflash@0 {
122					compatible = "atmel,at45", "atmel,dataflash";
123					spi-max-frequency = <13000000>;
124					reg = <0>;
125				};
126			};
127
128			usb2: gadget@fff78000 {
129				atmel,vbus-gpio = <&pioB 19 GPIO_ACTIVE_HIGH>;
130				status = "okay";
131			};
132
133			pwm0: pwm@fffb8000 {
134				status = "okay";
135
136				pinctrl-names = "default";
137				pinctrl-0 = <&pinctrl_pwm_leds>;
138			};
139		};
140
141		fb0: fb@0x00500000 {
142			display = <&display0>;
143			status = "okay";
144
145			display0: display {
146				bits-per-pixel = <32>;
147				atmel,lcdcon-backlight;
148				atmel,dmacon = <0x1>;
149				atmel,lcdcon2 = <0x80008002>;
150				atmel,guard-time = <9>;
151				atmel,lcd-wiring-mode = "RGB";
152
153				display-timings {
154					native-mode = <&timing0>;
155					timing0: timing0 {
156						clock-frequency = <9000000>;
157						hactive = <480>;
158						vactive = <272>;
159						hback-porch = <1>;
160						hfront-porch = <1>;
161						vback-porch = <40>;
162						vfront-porch = <1>;
163						hsync-len = <45>;
164						vsync-len = <1>;
165					};
166				};
167			};
168		};
169
170		nand0: nand@40000000 {
171			nand-bus-width = <8>;
172			nand-ecc-mode = "soft";
173			nand-on-flash-bbt;
174			status = "okay";
175
176			boot@0 {
177				label = "bootstrap/uboot/kernel";
178				reg = <0x0 0x400000>;
179			};
180
181			rootfs@400000 {
182				label = "rootfs";
183				reg = <0x400000 0x3C00000>;
184			};
185
186			data@4000000 {
187				label = "data";
188				reg = <0x4000000 0xC000000>;
189			};
190		};
191
192		usb0: ohci@00700000 {
193			status = "okay";
194			num-ports = <2>;
195			atmel,vbus-gpio = <&pioD 1 GPIO_ACTIVE_LOW
196					   &pioD 3 GPIO_ACTIVE_LOW>;
197		};
198
199		usb1: ehci@00800000 {
200			status = "okay";
201		};
202	};
203
204	leds {
205		compatible = "gpio-leds";
206
207		d8 {
208			label = "d8";
209			gpios = <&pioD 30 GPIO_ACTIVE_HIGH>;
210			linux,default-trigger = "heartbeat";
211		};
212	};
213
214	pwmleds {
215		compatible = "pwm-leds";
216
217		d6 {
218			label = "d6";
219			pwms = <&pwm0 3 5000 0>;
220			max-brightness = <255>;
221			linux,default-trigger = "nand-disk";
222		};
223
224		d7 {
225			label = "d7";
226			pwms = <&pwm0 1 5000 0>;
227			max-brightness = <255>;
228			linux,default-trigger = "mmc0";
229		};
230	};
231
232	gpio_keys {
233		compatible = "gpio-keys";
234
235		left_click {
236			label = "left_click";
237			gpios = <&pioB 6 GPIO_ACTIVE_LOW>;
238			linux,code = <272>;
239			gpio-key,wakeup;
240		};
241
242		right_click {
243			label = "right_click";
244			gpios = <&pioB 7 GPIO_ACTIVE_LOW>;
245			linux,code = <273>;
246			gpio-key,wakeup;
247		};
248
249		left {
250			label = "Joystick Left";
251			gpios = <&pioB 14 GPIO_ACTIVE_LOW>;
252			linux,code = <105>;
253		};
254
255		right {
256			label = "Joystick Right";
257			gpios = <&pioB 15 GPIO_ACTIVE_LOW>;
258			linux,code = <106>;
259		};
260
261		up {
262			label = "Joystick Up";
263			gpios = <&pioB 16 GPIO_ACTIVE_LOW>;
264			linux,code = <103>;
265		};
266
267		down {
268			label = "Joystick Down";
269			gpios = <&pioB 17 GPIO_ACTIVE_LOW>;
270			linux,code = <108>;
271		};
272
273		enter {
274			label = "Joystick Press";
275			gpios = <&pioB 18 GPIO_ACTIVE_LOW>;
276			linux,code = <28>;
277		};
278	};
279};
280