1/*
2 * at91sam9261ek.dts - Device Tree file for Atmel at91sam9261 reference board
3 *
4 *  Copyright (C) 2013 Jean-Jacques Hiblot <jjhiblot@traphandler.com>
5 *
6 * Licensed under GPLv2 only.
7 */
8/dts-v1/;
9#include "at91sam9261.dtsi"
10
11/ {
12	model = "Atmel at91sam9261ek";
13	compatible = "atmel,at91sam9261ek", "atmel,at91sam9261", "atmel,at91sam9";
14
15	chosen {
16		bootargs = "rootfstype=ubifs ubi.mtd=5 root=ubi0:rootfs rw";
17		stdout-path = "serial0:115200n8";
18
19		clocksource {
20			timer = <&timer0>;
21		};
22
23		clockevent {
24			timer = <&timer1>;
25		};
26	};
27
28	memory {
29		reg = <0x20000000 0x4000000>;
30	};
31
32	clocks {
33		slow_xtal {
34			clock-frequency = <32768>;
35		};
36
37		main_xtal {
38			clock-frequency = <18432000>;
39		};
40	};
41
42	ahb {
43		usb0: ohci@500000 {
44			status = "okay";
45		};
46
47		fb0: fb@600000 {
48			display = <&display0>;
49			atmel,power-control-gpio = <&pioA 12 GPIO_ACTIVE_LOW>;
50			status = "okay";
51
52			display0: display {
53				bits-per-pixel = <16>;
54				atmel,lcdcon-backlight;
55				atmel,dmacon = <0x1>;
56				atmel,lcdcon2 = <0x80008002>;
57				atmel,guard-time = <1>;
58				atmel,lcd-wiring-mode = "BRG";
59
60				display-timings {
61					native-mode = <&timing0>;
62					timing0: timing0 {
63						clock-frequency = <4965000>;
64						hactive = <240>;
65						vactive = <320>;
66						hback-porch = <1>;
67						hfront-porch = <33>;
68						vback-porch = <1>;
69						vfront-porch = <0>;
70						hsync-len = <5>;
71						vsync-len = <1>;
72						hsync-active = <1>;
73						vsync-active = <1>;
74					};
75				};
76			};
77		};
78
79		ebi: ebi@10000000 {
80			status = "okay";
81
82			nand_controller: nand-controller {
83				status = "okay";
84				pinctrl-0 = <&pinctrl_nand_cs &pinctrl_nand_rb>;
85				pinctrl-names = "default";
86
87				nand@3 {
88					reg = <0x3 0x0 0x800000>;
89					rb-gpios = <&pioC 15 GPIO_ACTIVE_HIGH>;
90					cs-gpios = <&pioC 14 GPIO_ACTIVE_HIGH>;
91					nand-bus-width = <8>;
92					nand-ecc-mode = "soft";
93					nand-on-flash-bbt;
94					label = "atmel_nand";
95
96					partitions {
97						compatible = "fixed-partitions";
98						#address-cells = <1>;
99						#size-cells = <1>;
100
101						at91bootstrap@0 {
102							label = "at91bootstrap";
103							reg = <0x0 0x40000>;
104						};
105
106						bootloader@40000 {
107							label = "bootloader";
108							reg = <0x40000 0x80000>;
109						};
110
111						bootloaderenv@c0000 {
112							label = "bootloader env";
113							reg = <0xc0000 0xc0000>;
114						};
115
116						dtb@180000 {
117							label = "device tree";
118							reg = <0x180000 0x80000>;
119						};
120
121						kernel@200000 {
122							label = "kernel";
123							reg = <0x200000 0x600000>;
124						};
125
126						rootfs@800000 {
127							label = "rootfs";
128							reg = <0x800000 0x0f800000>;
129						};
130					};
131				};
132			};
133		};
134
135		apb {
136			tcb0: timer@fffa0000 {
137				timer0: timer@0 {
138					compatible = "atmel,tcb-timer";
139					reg = <0>, <1>;
140				};
141
142				timer1: timer@2 {
143					compatible = "atmel,tcb-timer";
144					reg = <2>;
145				};
146			};
147
148			usb1: gadget@fffa4000 {
149				atmel,vbus-gpio = <&pioB 29 GPIO_ACTIVE_HIGH>;
150				status = "okay";
151			};
152
153			spi0: spi@fffc8000 {
154				cs-gpios = <&pioA 3 0>, <0>, <&pioA 28 0>, <0>;
155				status = "okay";
156
157				mtd_dataflash@0 {
158					compatible = "atmel,at45", "atmel,dataflash";
159					reg = <0>;
160					spi-max-frequency = <15000000>;
161				};
162
163				tsc2046@0 {
164					reg = <2>;
165					compatible = "ti,ads7843";
166					interrupts-extended = <&pioC 2 IRQ_TYPE_EDGE_BOTH>;
167					spi-max-frequency = <3000000>;
168					pendown-gpio = <&pioC 2 GPIO_ACTIVE_HIGH>;
169
170					ti,x-min = /bits/ 16 <150>;
171					ti,x-max = /bits/ 16 <3830>;
172					ti,y-min = /bits/ 16 <190>;
173					ti,y-max = /bits/ 16 <3830>;
174					ti,vref-delay-usecs = /bits/ 16 <450>;
175					ti,x-plate-ohms = /bits/ 16 <450>;
176					ti,y-plate-ohms = /bits/ 16 <250>;
177					ti,pressure-max = /bits/ 16 <15000>;
178					ti,debounce-rep = /bits/ 16 <0>;
179					ti,debounce-tol = /bits/ 16 <65535>;
180					ti,debounce-max = /bits/ 16 <1>;
181
182					wakeup-source;
183				};
184			};
185
186			dbgu: serial@fffff200 {
187				status = "okay";
188			};
189
190			watchdog@fffffd40 {
191				status = "okay";
192			};
193
194		};
195	};
196
197	leds {
198		compatible = "gpio-leds";
199
200		ds8 {
201			label = "ds8";
202			gpios = <&pioA 13 GPIO_ACTIVE_LOW>;
203			linux,default-trigger = "none";
204		};
205
206		ds7 {
207			label = "ds7";
208			gpios = <&pioA 14 GPIO_ACTIVE_LOW>;
209			linux,default-trigger = "nand-disk";
210		};
211
212		ds1 {
213			label = "ds1";
214			gpios = <&pioA 23 GPIO_ACTIVE_LOW>;
215			linux,default-trigger = "heartbeat";
216		};
217	};
218
219	gpio_keys {
220		compatible = "gpio-keys";
221
222		button_0 {
223			label = "button_0";
224			gpios = <&pioA 27 GPIO_ACTIVE_LOW>;
225			linux,code = <256>;
226			wakeup-source;
227		};
228
229		button_1 {
230			label = "button_1";
231			gpios = <&pioA 26 GPIO_ACTIVE_LOW>;
232			linux,code = <257>;
233			wakeup-source;
234		};
235
236		button_2 {
237			label = "button_2";
238			gpios = <&pioA 25 GPIO_ACTIVE_LOW>;
239			linux,code = <258>;
240			wakeup-source;
241		};
242
243		button_3 {
244			label = "button_3";
245			gpios = <&pioA 24 GPIO_ACTIVE_LOW>;
246			linux,code = <259>;
247			wakeup-source;
248		};
249	};
250};
251