1/*
2 * at91sam9rlek.dts - Device Tree file for Atmel at91sam9rl reference board
3 *
4 *  Copyright (C) 2014  Alexandre Belloni <alexandre.belloni@free-electrons.com>
5 *
6 * Licensed under GPLv2 only
7 */
8/dts-v1/;
9#include "at91sam9rl.dtsi"
10
11/ {
12	model = "Atmel at91sam9rlek";
13	compatible = "atmel,at91sam9rlek", "atmel,at91sam9rl", "atmel,at91sam9";
14
15	chosen {
16		bootargs = "rootfstype=ubifs root=ubi0:rootfs ubi.mtd=5 rw";
17		stdout-path = "serial0:115200n8";
18	};
19
20	memory {
21		reg = <0x20000000 0x4000000>;
22	};
23
24	clocks {
25		slow_xtal {
26			clock-frequency = <32768>;
27		};
28
29		main_xtal {
30			clock-frequency = <12000000>;
31		};
32	};
33
34	ahb {
35		fb0: fb@00500000 {
36			display = <&display0>;
37			status = "okay";
38
39			display0: display {
40				bits-per-pixel = <16>;
41				atmel,lcdcon-backlight;
42				atmel,dmacon = <0x1>;
43				atmel,lcdcon2 = <0x80008002>;
44				atmel,guard-time = <1>;
45				atmel,lcd-wiring-mode = "RGB";
46
47				display-timings {
48					native-mode = <&timing0>;
49					timing0: timing0 {
50						clock-frequency = <4965000>;
51						hactive = <240>;
52						vactive = <320>;
53						hback-porch = <1>;
54						hfront-porch = <33>;
55						vback-porch = <1>;
56						vfront-porch = <0>;
57						hsync-len = <5>;
58						vsync-len = <1>;
59						hsync-active = <1>;
60						vsync-active = <1>;
61					};
62				};
63			};
64		};
65
66		nand0: nand@40000000 {
67			nand-bus-width = <8>;
68			nand-ecc-mode = "soft";
69			nand-on-flash-bbt = <1>;
70			status = "okay";
71
72			at91bootstrap@0 {
73				label = "at91bootstrap";
74				reg = <0x0 0x40000>;
75			};
76
77			bootloader@40000 {
78				label = "bootloader";
79				reg = <0x40000 0x80000>;
80			};
81
82			bootloaderenv@c0000 {
83				label = "bootloader env";
84				reg = <0xc0000 0xc0000>;
85			};
86
87			dtb@180000 {
88				label = "device tree";
89				reg = <0x180000 0x80000>;
90			};
91
92			kernel@200000 {
93				label = "kernel";
94				reg = <0x200000 0x600000>;
95			};
96
97			rootfs@800000 {
98				label = "rootfs";
99				reg = <0x800000 0x0f800000>;
100			};
101		};
102
103		apb {
104			mmc0: mmc@fffa4000 {
105				pinctrl-0 = <
106					&pinctrl_board_mmc0
107					&pinctrl_mmc0_clk
108					&pinctrl_mmc0_slot0_cmd_dat0
109					&pinctrl_mmc0_slot0_dat1_3>;
110				status = "okay";
111				slot@0 {
112					reg = <0>;
113					bus-width = <4>;
114					cd-gpios = <&pioA 15 GPIO_ACTIVE_HIGH>;
115				};
116			};
117
118			usart0: serial@fffb0000 {
119				pinctrl-0 = <
120					&pinctrl_usart0
121					&pinctrl_usart0_rts
122					&pinctrl_usart0_cts>;
123				status = "okay";
124			};
125
126			adc0: adc@fffd0000 {
127				pinctrl-names = "default";
128				pinctrl-0 = <
129					&pinctrl_adc0_ad0
130					&pinctrl_adc0_ad1
131					&pinctrl_adc0_ad2
132					&pinctrl_adc0_ad3
133					&pinctrl_adc0_ad4
134					&pinctrl_adc0_ad5
135					&pinctrl_adc0_adtrg>;
136				atmel,adc-ts-wires = <4>;
137				status = "okay";
138			};
139
140			usb0: gadget@fffd4000 {
141				atmel,vbus-gpio = <&pioA 8 GPIO_ACTIVE_HIGH>;
142				status = "okay";
143			};
144
145			spi0: spi@fffcc000 {
146				status = "okay";
147				cs-gpios = <&pioA 28 0>, <0>, <0>, <0>;
148				mtd_dataflash@0 {
149					compatible = "atmel,at45", "atmel,dataflash";
150					spi-max-frequency = <15000000>;
151					reg = <0>;
152				};
153			};
154
155			pwm0: pwm@fffc8000 {
156				status = "okay";
157
158				pinctrl-names = "default";
159				pinctrl-0 = <&pinctrl_pwm0_pwm1_2>,
160					<&pinctrl_pwm0_pwm2_2>;
161			};
162
163			dbgu: serial@fffff200 {
164				status = "okay";
165			};
166
167			pinctrl@fffff400 {
168				mmc0 {
169					pinctrl_board_mmc0: mmc0-board {
170						atmel,pins =
171							<AT91_PIOA 15 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
172					};
173				};
174			};
175
176			watchdog@fffffd40 {
177				status = "okay";
178			};
179
180			rtc@fffffe00 {
181				status = "okay";
182			};
183		};
184	};
185
186	pwmleds {
187		compatible = "pwm-leds";
188
189		ds1 {
190			label = "ds1";
191			pwms = <&pwm0 1 5000 PWM_POLARITY_INVERTED>;
192			max-brightness = <255>;
193		};
194
195		ds2 {
196			label = "ds2";
197			pwms = <&pwm0 2 5000 PWM_POLARITY_INVERTED>;
198			max-brightness = <255>;
199		};
200	};
201
202	leds {
203		compatible = "gpio-leds";
204
205		ds3 {
206			label = "ds3";
207			gpios = <&pioD 14 GPIO_ACTIVE_HIGH>;
208			linux,default-trigger = "heartbeat";
209		};
210	};
211
212	gpio_keys {
213		compatible = "gpio-keys";
214
215		right_click {
216			label = "right_click";
217			gpios = <&pioB 0 GPIO_ACTIVE_LOW>;
218			linux,code = <273>;
219			wakeup-source;
220		};
221
222		left_click {
223			label = "left_click";
224			gpios = <&pioB 1 GPIO_ACTIVE_LOW>;
225			linux,code = <272>;
226			wakeup-source;
227		};
228	};
229
230	i2c@0 {
231		status = "okay";
232	};
233
234	i2c@1 {
235		status = "okay";
236	};
237};
238