1270866Simp/*
2270866Simp * at91sam9rlek.dts - Device Tree file for Atmel at91sam9rl reference board
3270866Simp *
4270866Simp *  Copyright (C) 2014  Alexandre Belloni <alexandre.belloni@free-electrons.com>
5270866Simp *
6270866Simp * Licensed under GPLv2 only
7270866Simp */
8270866Simp/dts-v1/;
9270866Simp#include "at91sam9rl.dtsi"
10270866Simp
11270866Simp/ {
12270866Simp	model = "Atmel at91sam9rlek";
13270866Simp	compatible = "atmel,at91sam9rlek", "atmel,at91sam9rl", "atmel,at91sam9";
14270866Simp
15270866Simp	chosen {
16270866Simp		bootargs = "console=ttyS0,115200 rootfstype=ubifs root=ubi0:rootfs ubi.mtd=5 rw";
17270866Simp	};
18270866Simp
19270866Simp	memory {
20270866Simp		reg = <0x20000000 0x4000000>;
21270866Simp	};
22270866Simp
23270866Simp	clocks {
24270866Simp		#address-cells = <1>;
25270866Simp		#size-cells = <1>;
26270866Simp		ranges;
27270866Simp
28270866Simp		main_clock: clock {
29270866Simp			compatible = "atmel,osc", "fixed-clock";
30270866Simp			clock-frequency = <12000000>;
31270866Simp		};
32270866Simp
33270866Simp		slow_xtal {
34270866Simp			clock-frequency = <32768>;
35270866Simp		};
36270866Simp
37270866Simp		main_xtal {
38270866Simp			clock-frequency = <12000000>;
39270866Simp		};
40270866Simp	};
41270866Simp
42270866Simp	ahb {
43270866Simp		fb0: fb@00500000 {
44270866Simp			display = <&display0>;
45270866Simp			status = "okay";
46270866Simp
47270866Simp			display0: display {
48270866Simp				bits-per-pixel = <16>;
49270866Simp				atmel,lcdcon-backlight;
50270866Simp				atmel,dmacon = <0x1>;
51270866Simp				atmel,lcdcon2 = <0x80008002>;
52270866Simp				atmel,guard-time = <1>;
53270866Simp				atmel,lcd-wiring-mode = "RGB";
54270866Simp
55270866Simp				display-timings {
56270866Simp					native-mode = <&timing0>;
57270866Simp					timing0: timing0 {
58270866Simp						clock-frequency = <4965000>;
59270866Simp						hactive = <240>;
60270866Simp						vactive = <320>;
61270866Simp						hback-porch = <1>;
62270866Simp						hfront-porch = <33>;
63270866Simp						vback-porch = <1>;
64270866Simp						vfront-porch = <0>;
65270866Simp						hsync-len = <5>;
66270866Simp						vsync-len = <1>;
67270866Simp						hsync-active = <1>;
68270866Simp						vsync-active = <1>;
69270866Simp					};
70270866Simp				};
71270866Simp			};
72270866Simp		};
73270866Simp
74270866Simp		nand0: nand@40000000 {
75270866Simp			nand-bus-width = <8>;
76270866Simp			nand-ecc-mode = "soft";
77270866Simp			nand-on-flash-bbt = <1>;
78270866Simp			status = "okay";
79270866Simp
80270866Simp			at91bootstrap@0 {
81270866Simp				label = "at91bootstrap";
82270866Simp				reg = <0x0 0x40000>;
83270866Simp			};
84270866Simp
85270866Simp			bootloader@40000 {
86270866Simp				label = "bootloader";
87270866Simp				reg = <0x40000 0x80000>;
88270866Simp			};
89270866Simp
90270866Simp			bootloaderenv@c0000 {
91270866Simp				label = "bootloader env";
92270866Simp				reg = <0xc0000 0xc0000>;
93270866Simp			};
94270866Simp
95270866Simp			dtb@180000 {
96270866Simp				label = "device tree";
97270866Simp				reg = <0x180000 0x80000>;
98270866Simp			};
99270866Simp
100270866Simp			kernel@200000 {
101270866Simp				label = "kernel";
102270866Simp				reg = <0x200000 0x600000>;
103270866Simp			};
104270866Simp
105270866Simp			rootfs@800000 {
106270866Simp				label = "rootfs";
107270866Simp				reg = <0x800000 0x0f800000>;
108270866Simp			};
109270866Simp		};
110270866Simp
111270866Simp		apb {
112270866Simp			mmc0: mmc@fffa4000 {
113270866Simp				pinctrl-0 = <
114270866Simp					&pinctrl_board_mmc0
115270866Simp					&pinctrl_mmc0_clk
116270866Simp					&pinctrl_mmc0_slot0_cmd_dat0
117270866Simp					&pinctrl_mmc0_slot0_dat1_3>;
118270866Simp				status = "okay";
119270866Simp				slot@0 {
120270866Simp					reg = <0>;
121270866Simp					bus-width = <4>;
122270866Simp					cd-gpios = <&pioA 15 GPIO_ACTIVE_HIGH>;
123270866Simp				};
124270866Simp			};
125270866Simp
126270866Simp			usart0: serial@fffb0000 {
127270866Simp				pinctrl-0 = <
128270866Simp					&pinctrl_usart0
129270866Simp					&pinctrl_usart0_rts
130270866Simp					&pinctrl_usart0_cts>;
131270866Simp				status = "okay";
132270866Simp			};
133270866Simp
134270866Simp			adc0: adc@fffd0000 {
135270866Simp				pinctrl-names = "default";
136270866Simp				pinctrl-0 = <
137270866Simp					&pinctrl_adc0_ad0
138270866Simp					&pinctrl_adc0_ad1
139270866Simp					&pinctrl_adc0_ad2
140270866Simp					&pinctrl_adc0_ad3
141270866Simp					&pinctrl_adc0_ad4
142270866Simp					&pinctrl_adc0_ad5
143270866Simp					&pinctrl_adc0_adtrg>;
144270866Simp				atmel,adc-ts-wires = <4>;
145270866Simp				status = "okay";
146270866Simp			};
147270866Simp
148270866Simp			usb0: gadget@fffd4000 {
149270866Simp				atmel,vbus-gpio = <&pioA 8 GPIO_ACTIVE_HIGH>;
150270866Simp				status = "okay";
151270866Simp			};
152270866Simp
153270866Simp			spi0: spi@fffcc000 {
154270866Simp				status = "okay";
155270866Simp				cs-gpios = <&pioA 28 0>, <0>, <0>, <0>;
156270866Simp				mtd_dataflash@0 {
157270866Simp					compatible = "atmel,at45", "atmel,dataflash";
158270866Simp					spi-max-frequency = <15000000>;
159270866Simp					reg = <0>;
160270866Simp				};
161270866Simp			};
162270866Simp
163270866Simp			pwm0: pwm@fffc8000 {
164270866Simp				status = "okay";
165270866Simp
166270866Simp				pinctrl-names = "default";
167270866Simp				pinctrl-0 = <&pinctrl_pwm0_pwm1_2>,
168270866Simp					<&pinctrl_pwm0_pwm2_2>;
169270866Simp			};
170270866Simp
171270866Simp			dbgu: serial@fffff200 {
172270866Simp				status = "okay";
173270866Simp			};
174270866Simp
175270866Simp			pinctrl@fffff400 {
176270866Simp				mmc0 {
177270866Simp					pinctrl_board_mmc0: mmc0-board {
178270866Simp						atmel,pins =
179270866Simp							<AT91_PIOA 15 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
180270866Simp					};
181270866Simp				};
182270866Simp			};
183270866Simp
184270866Simp			pmc: pmc@fffffc00 {
185270866Simp				main: mainck {
186270866Simp					clock-frequency = <12000000>;
187270866Simp				};
188270866Simp			};
189270866Simp
190270866Simp			watchdog@fffffd40 {
191270866Simp				status = "okay";
192270866Simp			};
193270866Simp		};
194270866Simp	};
195270866Simp
196270866Simp	pwmleds {
197270866Simp		compatible = "pwm-leds";
198270866Simp
199270866Simp		ds1 {
200270866Simp			label = "ds1";
201270866Simp			pwms = <&pwm0 1 5000 PWM_POLARITY_INVERTED>;
202270866Simp			max-brightness = <255>;
203270866Simp		};
204270866Simp
205270866Simp		ds2 {
206270866Simp			label = "ds2";
207270866Simp			pwms = <&pwm0 2 5000 PWM_POLARITY_INVERTED>;
208270866Simp			max-brightness = <255>;
209270866Simp		};
210270866Simp	};
211270866Simp
212270866Simp	leds {
213270866Simp		compatible = "gpio-leds";
214270866Simp
215270866Simp		ds3 {
216270866Simp			label = "ds3";
217270866Simp			gpios = <&pioD 14 GPIO_ACTIVE_HIGH>;
218270866Simp			linux,default-trigger = "heartbeat";
219270866Simp		};
220270866Simp	};
221270866Simp
222270866Simp	gpio_keys {
223270866Simp		compatible = "gpio-keys";
224270866Simp
225270866Simp		right_click {
226270866Simp			label = "right_click";
227270866Simp			gpios = <&pioB 0 GPIO_ACTIVE_LOW>;
228270866Simp			linux,code = <273>;
229270866Simp			gpio-key,wakeup;
230270866Simp		};
231270866Simp
232270866Simp		left_click {
233270866Simp			label = "left_click";
234270866Simp			gpios = <&pioB 1 GPIO_ACTIVE_LOW>;
235270866Simp			linux,code = <272>;
236270866Simp			gpio-key,wakeup;
237270866Simp		};
238270866Simp	};
239270866Simp
240270866Simp	i2c@0 {
241270866Simp		status = "okay";
242270866Simp	};
243270866Simp
244270866Simp	i2c@1 {
245270866Simp		status = "okay";
246270866Simp	};
247270866Simp};
248