]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blob - arch/arm/boot/dts/at91sam9m10g45ek.dts
Merge branch 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[mirror_ubuntu-bionic-kernel.git] / arch / arm / boot / dts / at91sam9m10g45ek.dts
1 /*
2 * at91sam9m10g45ek.dts - Device Tree file for AT91SAM9M10G45-EK board
3 *
4 * Copyright (C) 2011 Atmel,
5 * 2011 Nicolas Ferre <nicolas.ferre@atmel.com>
6 *
7 * Licensed under GPLv2 or later.
8 */
9 /dts-v1/;
10 #include "at91sam9g45.dtsi"
11 #include <dt-bindings/pwm/pwm.h>
12
13 / {
14 model = "Atmel AT91SAM9M10G45-EK";
15 compatible = "atmel,at91sam9m10g45ek", "atmel,at91sam9g45", "atmel,at91sam9";
16
17 chosen {
18 bootargs = "mem=64M console=ttyS0,115200 root=/dev/mtdblock1 rw rootfstype=jffs2";
19 };
20
21 memory {
22 reg = <0x70000000 0x4000000>;
23 };
24
25 clocks {
26 #address-cells = <1>;
27 #size-cells = <1>;
28 ranges;
29
30 main_clock: clock@0 {
31 compatible = "atmel,osc", "fixed-clock";
32 clock-frequency = <12000000>;
33 };
34
35 slow_xtal {
36 clock-frequency = <32768>;
37 };
38
39 main_xtal {
40 clock-frequency = <12000000>;
41 };
42 };
43
44 ahb {
45 apb {
46 dbgu: serial@ffffee00 {
47 status = "okay";
48 };
49
50 usart1: serial@fff90000 {
51 pinctrl-0 =
52 <&pinctrl_usart1
53 &pinctrl_usart1_rts
54 &pinctrl_usart1_cts>;
55 status = "okay";
56 };
57
58 macb0: ethernet@fffbc000 {
59 phy-mode = "rmii";
60 status = "okay";
61 };
62
63 i2c0: i2c@fff84000 {
64 status = "okay";
65 };
66
67 i2c1: i2c@fff88000 {
68 status = "okay";
69 };
70
71 watchdog@fffffd40 {
72 status = "okay";
73 };
74
75 mmc0: mmc@fff80000 {
76 pinctrl-0 = <
77 &pinctrl_board_mmc0
78 &pinctrl_mmc0_slot0_clk_cmd_dat0
79 &pinctrl_mmc0_slot0_dat1_3>;
80 status = "okay";
81 slot@0 {
82 reg = <0>;
83 bus-width = <4>;
84 cd-gpios = <&pioD 10 GPIO_ACTIVE_HIGH>;
85 };
86 };
87
88 mmc1: mmc@fffd0000 {
89 pinctrl-0 = <
90 &pinctrl_board_mmc1
91 &pinctrl_mmc1_slot0_clk_cmd_dat0
92 &pinctrl_mmc1_slot0_dat1_3>;
93 status = "okay";
94 slot@0 {
95 reg = <0>;
96 bus-width = <4>;
97 cd-gpios = <&pioD 11 GPIO_ACTIVE_HIGH>;
98 wp-gpios = <&pioD 29 GPIO_ACTIVE_HIGH>;
99 };
100 };
101
102 pinctrl@fffff200 {
103 mmc0 {
104 pinctrl_board_mmc0: mmc0-board {
105 atmel,pins =
106 <AT91_PIOD 10 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>; /* PD10 gpio CD pin pull up and deglitch */
107 };
108 };
109
110 mmc1 {
111 pinctrl_board_mmc1: mmc1-board {
112 atmel,pins =
113 <AT91_PIOD 11 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH /* PD11 gpio CD pin pull up and deglitch */
114 AT91_PIOD 29 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>; /* PD29 gpio WP pin pull up */
115 };
116 };
117
118 pwm0 {
119 pinctrl_pwm_leds: pwm-led {
120 atmel,pins =
121 <AT91_PIOD 0 AT91_PERIPH_B AT91_PINCTRL_PULL_UP /* PD0 periph B */
122 AT91_PIOD 31 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>; /* PD31 periph B */
123 };
124 };
125 };
126
127 spi0: spi@fffa4000{
128 status = "okay";
129 cs-gpios = <&pioB 3 0>, <0>, <0>, <0>;
130 mtd_dataflash@0 {
131 compatible = "atmel,at45", "atmel,dataflash";
132 spi-max-frequency = <13000000>;
133 reg = <0>;
134 };
135 };
136
137 usb2: gadget@fff78000 {
138 atmel,vbus-gpio = <&pioB 19 GPIO_ACTIVE_HIGH>;
139 status = "okay";
140 };
141
142 adc0: adc@fffb0000 {
143 pinctrl-names = "default";
144 pinctrl-0 = <
145 &pinctrl_adc0_ad0
146 &pinctrl_adc0_ad1
147 &pinctrl_adc0_ad2
148 &pinctrl_adc0_ad3
149 &pinctrl_adc0_ad4
150 &pinctrl_adc0_ad5
151 &pinctrl_adc0_ad6
152 &pinctrl_adc0_ad7>;
153 atmel,adc-ts-wires = <4>;
154 status = "okay";
155 };
156
157 pwm0: pwm@fffb8000 {
158 status = "okay";
159
160 pinctrl-names = "default";
161 pinctrl-0 = <&pinctrl_pwm_leds>;
162 };
163
164 rtc@fffffd20 {
165 atmel,rtt-rtc-time-reg = <&gpbr 0x0>;
166 status = "okay";
167 };
168
169 gpbr: syscon@fffffd60 {
170 status = "okay";
171 };
172
173 rtc@fffffdb0 {
174 status = "okay";
175 };
176 };
177
178 fb0: fb@0x00500000 {
179 display = <&display0>;
180 status = "okay";
181
182 display0: display {
183 bits-per-pixel = <32>;
184 atmel,lcdcon-backlight;
185 atmel,dmacon = <0x1>;
186 atmel,lcdcon2 = <0x80008002>;
187 atmel,guard-time = <9>;
188 atmel,lcd-wiring-mode = "RGB";
189
190 display-timings {
191 native-mode = <&timing0>;
192 timing0: timing0 {
193 clock-frequency = <9000000>;
194 hactive = <480>;
195 vactive = <272>;
196 hback-porch = <1>;
197 hfront-porch = <1>;
198 vback-porch = <40>;
199 vfront-porch = <1>;
200 hsync-len = <45>;
201 vsync-len = <1>;
202 };
203 };
204 };
205 };
206
207 nand0: nand@40000000 {
208 nand-bus-width = <8>;
209 nand-ecc-mode = "soft";
210 nand-on-flash-bbt;
211 status = "okay";
212
213 boot@0 {
214 label = "bootstrap/uboot/kernel";
215 reg = <0x0 0x400000>;
216 };
217
218 rootfs@400000 {
219 label = "rootfs";
220 reg = <0x400000 0x3C00000>;
221 };
222
223 data@4000000 {
224 label = "data";
225 reg = <0x4000000 0xC000000>;
226 };
227 };
228
229 usb0: ohci@00700000 {
230 status = "okay";
231 num-ports = <2>;
232 atmel,vbus-gpio = <&pioD 1 GPIO_ACTIVE_LOW
233 &pioD 3 GPIO_ACTIVE_LOW>;
234 };
235
236 usb1: ehci@00800000 {
237 status = "okay";
238 };
239 };
240
241 leds {
242 compatible = "gpio-leds";
243
244 d8 {
245 label = "d8";
246 gpios = <&pioD 30 GPIO_ACTIVE_HIGH>;
247 linux,default-trigger = "heartbeat";
248 };
249 };
250
251 pwmleds {
252 compatible = "pwm-leds";
253
254 d6 {
255 label = "d6";
256 pwms = <&pwm0 3 5000 PWM_POLARITY_INVERTED>;
257 max-brightness = <255>;
258 linux,default-trigger = "nand-disk";
259 };
260
261 d7 {
262 label = "d7";
263 pwms = <&pwm0 1 5000 PWM_POLARITY_INVERTED>;
264 max-brightness = <255>;
265 linux,default-trigger = "mmc0";
266 };
267 };
268
269 gpio_keys {
270 compatible = "gpio-keys";
271
272 left_click {
273 label = "left_click";
274 gpios = <&pioB 6 GPIO_ACTIVE_LOW>;
275 linux,code = <272>;
276 gpio-key,wakeup;
277 };
278
279 right_click {
280 label = "right_click";
281 gpios = <&pioB 7 GPIO_ACTIVE_LOW>;
282 linux,code = <273>;
283 gpio-key,wakeup;
284 };
285
286 left {
287 label = "Joystick Left";
288 gpios = <&pioB 14 GPIO_ACTIVE_LOW>;
289 linux,code = <105>;
290 };
291
292 right {
293 label = "Joystick Right";
294 gpios = <&pioB 15 GPIO_ACTIVE_LOW>;
295 linux,code = <106>;
296 };
297
298 up {
299 label = "Joystick Up";
300 gpios = <&pioB 16 GPIO_ACTIVE_LOW>;
301 linux,code = <103>;
302 };
303
304 down {
305 label = "Joystick Down";
306 gpios = <&pioB 17 GPIO_ACTIVE_LOW>;
307 linux,code = <108>;
308 };
309
310 enter {
311 label = "Joystick Press";
312 gpios = <&pioB 18 GPIO_ACTIVE_LOW>;
313 linux,code = <28>;
314 };
315 };
316 };