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 = "console=ttyS0,115200 rootfstype=ubifs ubi.mtd=5 root=ubi0:rootfs rw";
17	};
18
19	memory {
20		reg = <0x20000000 0x4000000>;
21	};
22
23	clocks {
24		#address-cells = <1>;
25		#size-cells = <1>;
26		ranges;
27
28		main_clock: clock@0 {
29			compatible = "atmel,osc", "fixed-clock";
30			clock-frequency = <18432000>;
31		};
32
33		slow_xtal {
34			clock-frequency = <32768>;
35		};
36
37		main_xtal {
38			clock-frequency = <18432000>;
39		};
40	};
41
42	ahb {
43		usb0: ohci@00500000 {
44			status = "okay";
45		};
46
47		fb0: fb@0x00600000 {
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		nand0: nand@40000000 {
80			nand-bus-width = <8>;
81			nand-ecc-mode = "soft";
82			nand-on-flash-bbt;
83			status = "okay";
84
85			at91bootstrap@0 {
86				label = "at91bootstrap";
87				reg = <0x0 0x40000>;
88			};
89
90			bootloader@40000 {
91				label = "bootloader";
92				reg = <0x40000 0x80000>;
93			};
94
95			bootloaderenv@c0000 {
96				label = "bootloader env";
97				reg = <0xc0000 0xc0000>;
98			};
99
100			dtb@180000 {
101				label = "device tree";
102				reg = <0x180000 0x80000>;
103			};
104
105			kernel@200000 {
106				label = "kernel";
107				reg = <0x200000 0x600000>;
108			};
109
110			rootfs@800000 {
111				label = "rootfs";
112				reg = <0x800000 0x0f800000>;
113			};
114		};
115
116		apb {
117			usb1: gadget@fffa4000 {
118				atmel,vbus-gpio = <&pioB 29 GPIO_ACTIVE_HIGH>;
119				status = "okay";
120			};
121
122			spi0: spi@fffc8000 {
123				cs-gpios = <&pioA 3 0>, <0>, <&pioA 28 0>, <0>;
124				status = "okay";
125
126				mtd_dataflash@0 {
127					compatible = "atmel,at45", "atmel,dataflash";
128					reg = <0>;
129					spi-max-frequency = <15000000>;
130				};
131
132				tsc2046@0 {
133					reg = <2>;
134					compatible = "ti,ads7843";
135					interrupts-extended = <&pioC 2 IRQ_TYPE_EDGE_BOTH>;
136					spi-max-frequency = <3000000>;
137					pendown-gpio = <&pioC 2 GPIO_ACTIVE_HIGH>;
138
139					ti,x-min = /bits/ 16 <150>;
140					ti,x-max = /bits/ 16 <3830>;
141					ti,y-min = /bits/ 16 <190>;
142					ti,y-max = /bits/ 16 <3830>;
143					ti,vref-delay-usecs = /bits/ 16 <450>;
144					ti,x-plate-ohms = /bits/ 16 <450>;
145					ti,y-plate-ohms = /bits/ 16 <250>;
146					ti,pressure-max = /bits/ 16 <15000>;
147					ti,debounce-rep = /bits/ 16 <0>;
148					ti,debounce-tol = /bits/ 16 <65535>;
149					ti,debounce-max = /bits/ 16 <1>;
150
151					linux,wakeup;
152				};
153			};
154
155			dbgu: serial@fffff200 {
156				status = "okay";
157			};
158
159			watchdog@fffffd40 {
160				status = "okay";
161			};
162
163		};
164	};
165
166	leds {
167		compatible = "gpio-leds";
168
169		ds8 {
170			label = "ds8";
171			gpios = <&pioA 13 GPIO_ACTIVE_LOW>;
172			linux,default-trigger = "none";
173		};
174
175		ds7 {
176			label = "ds7";
177			gpios = <&pioA 14 GPIO_ACTIVE_LOW>;
178			linux,default-trigger = "nand-disk";
179		};
180
181		ds1 {
182			label = "ds1";
183			gpios = <&pioA 23 GPIO_ACTIVE_LOW>;
184			linux,default-trigger = "heartbeat";
185		};
186	};
187
188	gpio_keys {
189		compatible = "gpio-keys";
190
191		button_0 {
192			label = "button_0";
193			gpios = <&pioA 27 GPIO_ACTIVE_LOW>;
194			linux,code = <256>;
195			gpio-key,wakeup;
196		};
197
198		button_1 {
199			label = "button_1";
200			gpios = <&pioA 26 GPIO_ACTIVE_LOW>;
201			linux,code = <257>;
202			gpio-key,wakeup;
203		};
204
205		button_2 {
206			label = "button_2";
207			gpios = <&pioA 25 GPIO_ACTIVE_LOW>;
208			linux,code = <258>;
209			gpio-key,wakeup;
210		};
211
212		button_3 {
213			label = "button_3";
214			gpios = <&pioA 24 GPIO_ACTIVE_LOW>;
215			linux,code = <259>;
216			gpio-key,wakeup;
217		};
218	};
219};
220