at91sam9m10g45ek.dts revision 262569
1262569Simp/*
2262569Simp * at91sam9m10g45ek.dts - Device Tree file for AT91SAM9M10G45-EK board
3262569Simp *
4262569Simp *  Copyright (C) 2011 Atmel,
5262569Simp *                2011 Nicolas Ferre <nicolas.ferre@atmel.com>
6262569Simp *
7262569Simp * Licensed under GPLv2 or later.
8262569Simp */
9262569Simp/dts-v1/;
10262569Simp#include "at91sam9g45.dtsi"
11262569Simp
12262569Simp/ {
13262569Simp	model = "Atmel AT91SAM9M10G45-EK";
14262569Simp	compatible = "atmel,at91sam9m10g45ek", "atmel,at91sam9g45", "atmel,at91sam9";
15262569Simp
16262569Simp	chosen {
17262569Simp		bootargs = "mem=64M console=ttyS0,115200 root=/dev/mtdblock1 rw rootfstype=jffs2";
18262569Simp	};
19262569Simp
20262569Simp	memory {
21262569Simp		reg = <0x70000000 0x4000000>;
22262569Simp	};
23262569Simp
24262569Simp	clocks {
25262569Simp		#address-cells = <1>;
26262569Simp		#size-cells = <1>;
27262569Simp		ranges;
28262569Simp
29262569Simp		main_clock: clock@0 {
30262569Simp			compatible = "atmel,osc", "fixed-clock";
31262569Simp			clock-frequency = <12000000>;
32262569Simp		};
33262569Simp	};
34262569Simp
35262569Simp	ahb {
36262569Simp		apb {
37262569Simp			dbgu: serial@ffffee00 {
38262569Simp				status = "okay";
39262569Simp			};
40262569Simp
41262569Simp			usart1: serial@fff90000 {
42262569Simp				pinctrl-0 =
43262569Simp					<&pinctrl_usart1
44262569Simp					 &pinctrl_usart1_rts
45262569Simp					 &pinctrl_usart1_cts>;
46262569Simp				status = "okay";
47262569Simp			};
48262569Simp
49262569Simp			macb0: ethernet@fffbc000 {
50262569Simp				phy-mode = "rmii";
51262569Simp				status = "okay";
52262569Simp			};
53262569Simp
54262569Simp			i2c0: i2c@fff84000 {
55262569Simp				status = "okay";
56262569Simp			};
57262569Simp
58262569Simp			i2c1: i2c@fff88000 {
59262569Simp				status = "okay";
60262569Simp			};
61262569Simp
62262569Simp			watchdog@fffffd40 {
63262569Simp				status = "okay";
64262569Simp			};
65262569Simp
66262569Simp			mmc0: mmc@fff80000 {
67262569Simp				pinctrl-0 = <
68262569Simp					&pinctrl_board_mmc0
69262569Simp					&pinctrl_mmc0_slot0_clk_cmd_dat0
70262569Simp					&pinctrl_mmc0_slot0_dat1_3>;
71262569Simp				status = "okay";
72262569Simp				slot@0 {
73262569Simp					reg = <0>;
74262569Simp					bus-width = <4>;
75262569Simp					cd-gpios = <&pioD 10 GPIO_ACTIVE_HIGH>;
76262569Simp				};
77262569Simp			};
78262569Simp
79262569Simp			mmc1: mmc@fffd0000 {
80262569Simp				pinctrl-0 = <
81262569Simp					&pinctrl_board_mmc1
82262569Simp					&pinctrl_mmc1_slot0_clk_cmd_dat0
83262569Simp					&pinctrl_mmc1_slot0_dat1_3>;
84262569Simp				status = "okay";
85262569Simp				slot@0 {
86262569Simp					reg = <0>;
87262569Simp					bus-width = <4>;
88262569Simp					cd-gpios = <&pioD 11 GPIO_ACTIVE_HIGH>;
89262569Simp					wp-gpios = <&pioD 29 GPIO_ACTIVE_HIGH>;
90262569Simp				};
91262569Simp			};
92262569Simp
93262569Simp			pinctrl@fffff200 {
94262569Simp				mmc0 {
95262569Simp					pinctrl_board_mmc0: mmc0-board {
96262569Simp						atmel,pins =
97262569Simp							<AT91_PIOD 10 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;	/* PD10 gpio CD pin pull up and deglitch */
98262569Simp					};
99262569Simp				};
100262569Simp
101262569Simp				mmc1 {
102262569Simp					pinctrl_board_mmc1: mmc1-board {
103262569Simp						atmel,pins =
104262569Simp							<AT91_PIOD 11 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH	/* PD11 gpio CD pin pull up and deglitch */
105262569Simp							 AT91_PIOD 29 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;	/* PD29 gpio WP pin pull up */
106262569Simp					};
107262569Simp				};
108262569Simp
109262569Simp				pwm0 {
110262569Simp					pinctrl_pwm_leds: pwm-led {
111262569Simp						atmel,pins =
112262569Simp							<AT91_PIOD 0  AT91_PERIPH_B AT91_PINCTRL_PULL_UP	/* PD0 periph B */
113262569Simp							 AT91_PIOD 31 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>;	/* PD31 periph B */
114262569Simp					};
115262569Simp				};
116262569Simp			};
117262569Simp
118262569Simp			spi0: spi@fffa4000{
119262569Simp				status = "okay";
120262569Simp				cs-gpios = <&pioB 3 0>, <0>, <0>, <0>;
121262569Simp				mtd_dataflash@0 {
122262569Simp					compatible = "atmel,at45", "atmel,dataflash";
123262569Simp					spi-max-frequency = <13000000>;
124262569Simp					reg = <0>;
125262569Simp				};
126262569Simp			};
127262569Simp
128262569Simp			usb2: gadget@fff78000 {
129262569Simp				atmel,vbus-gpio = <&pioB 19 GPIO_ACTIVE_HIGH>;
130262569Simp				status = "okay";
131262569Simp			};
132262569Simp
133262569Simp			pwm0: pwm@fffb8000 {
134262569Simp				status = "okay";
135262569Simp
136262569Simp				pinctrl-names = "default";
137262569Simp				pinctrl-0 = <&pinctrl_pwm_leds>;
138262569Simp			};
139262569Simp		};
140262569Simp
141262569Simp		fb0: fb@0x00500000 {
142262569Simp			display = <&display0>;
143262569Simp			status = "okay";
144262569Simp
145262569Simp			display0: display {
146262569Simp				bits-per-pixel = <32>;
147262569Simp				atmel,lcdcon-backlight;
148262569Simp				atmel,dmacon = <0x1>;
149262569Simp				atmel,lcdcon2 = <0x80008002>;
150262569Simp				atmel,guard-time = <9>;
151262569Simp				atmel,lcd-wiring-mode = "RGB";
152262569Simp
153262569Simp				display-timings {
154262569Simp					native-mode = <&timing0>;
155262569Simp					timing0: timing0 {
156262569Simp						clock-frequency = <9000000>;
157262569Simp						hactive = <480>;
158262569Simp						vactive = <272>;
159262569Simp						hback-porch = <1>;
160262569Simp						hfront-porch = <1>;
161262569Simp						vback-porch = <40>;
162262569Simp						vfront-porch = <1>;
163262569Simp						hsync-len = <45>;
164262569Simp						vsync-len = <1>;
165262569Simp					};
166262569Simp				};
167262569Simp			};
168262569Simp		};
169262569Simp
170262569Simp		nand0: nand@40000000 {
171262569Simp			nand-bus-width = <8>;
172262569Simp			nand-ecc-mode = "soft";
173262569Simp			nand-on-flash-bbt;
174262569Simp			status = "okay";
175262569Simp
176262569Simp			boot@0 {
177262569Simp				label = "bootstrap/uboot/kernel";
178262569Simp				reg = <0x0 0x400000>;
179262569Simp			};
180262569Simp
181262569Simp			rootfs@400000 {
182262569Simp				label = "rootfs";
183262569Simp				reg = <0x400000 0x3C00000>;
184262569Simp			};
185262569Simp
186262569Simp			data@4000000 {
187262569Simp				label = "data";
188262569Simp				reg = <0x4000000 0xC000000>;
189262569Simp			};
190262569Simp		};
191262569Simp
192262569Simp		usb0: ohci@00700000 {
193262569Simp			status = "okay";
194262569Simp			num-ports = <2>;
195262569Simp			atmel,vbus-gpio = <&pioD 1 GPIO_ACTIVE_LOW
196262569Simp					   &pioD 3 GPIO_ACTIVE_LOW>;
197262569Simp		};
198262569Simp
199262569Simp		usb1: ehci@00800000 {
200262569Simp			status = "okay";
201262569Simp		};
202262569Simp	};
203262569Simp
204262569Simp	leds {
205262569Simp		compatible = "gpio-leds";
206262569Simp
207262569Simp		d8 {
208262569Simp			label = "d8";
209262569Simp			gpios = <&pioD 30 GPIO_ACTIVE_HIGH>;
210262569Simp			linux,default-trigger = "heartbeat";
211262569Simp		};
212262569Simp	};
213262569Simp
214262569Simp	pwmleds {
215262569Simp		compatible = "pwm-leds";
216262569Simp
217262569Simp		d6 {
218262569Simp			label = "d6";
219262569Simp			pwms = <&pwm0 3 5000 0>;
220262569Simp			max-brightness = <255>;
221262569Simp			linux,default-trigger = "nand-disk";
222262569Simp		};
223262569Simp
224262569Simp		d7 {
225262569Simp			label = "d7";
226262569Simp			pwms = <&pwm0 1 5000 0>;
227262569Simp			max-brightness = <255>;
228262569Simp			linux,default-trigger = "mmc0";
229262569Simp		};
230262569Simp	};
231262569Simp
232262569Simp	gpio_keys {
233262569Simp		compatible = "gpio-keys";
234262569Simp
235262569Simp		left_click {
236262569Simp			label = "left_click";
237262569Simp			gpios = <&pioB 6 GPIO_ACTIVE_LOW>;
238262569Simp			linux,code = <272>;
239262569Simp			gpio-key,wakeup;
240262569Simp		};
241262569Simp
242262569Simp		right_click {
243262569Simp			label = "right_click";
244262569Simp			gpios = <&pioB 7 GPIO_ACTIVE_LOW>;
245262569Simp			linux,code = <273>;
246262569Simp			gpio-key,wakeup;
247262569Simp		};
248262569Simp
249262569Simp		left {
250262569Simp			label = "Joystick Left";
251262569Simp			gpios = <&pioB 14 GPIO_ACTIVE_LOW>;
252262569Simp			linux,code = <105>;
253262569Simp		};
254262569Simp
255262569Simp		right {
256262569Simp			label = "Joystick Right";
257262569Simp			gpios = <&pioB 15 GPIO_ACTIVE_LOW>;
258262569Simp			linux,code = <106>;
259262569Simp		};
260262569Simp
261262569Simp		up {
262262569Simp			label = "Joystick Up";
263262569Simp			gpios = <&pioB 16 GPIO_ACTIVE_LOW>;
264262569Simp			linux,code = <103>;
265262569Simp		};
266262569Simp
267262569Simp		down {
268262569Simp			label = "Joystick Down";
269262569Simp			gpios = <&pioB 17 GPIO_ACTIVE_LOW>;
270262569Simp			linux,code = <108>;
271262569Simp		};
272262569Simp
273262569Simp		enter {
274262569Simp			label = "Joystick Press";
275262569Simp			gpios = <&pioB 18 GPIO_ACTIVE_LOW>;
276262569Simp			linux,code = <28>;
277262569Simp		};
278262569Simp	};
279262569Simp};
280