blob: 7b76dbde8c41d900919279d8c2ed40c487493348 [file] [log] [blame]
Nicolas Ferre49fe2ba2011-10-10 18:29:24 +02001/*
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/;
Jean-Christophe PLAGNIOL-VILLARD6db64d22013-05-15 01:21:50 +080010#include "at91sam9g45.dtsi"
Nicolas Ferre49fe2ba2011-10-10 18:29:24 +020011
12/ {
13 model = "Atmel AT91SAM9M10G45-EK";
14 compatible = "atmel,at91sam9m10g45ek", "atmel,at91sam9g45", "atmel,at91sam9";
15
16 chosen {
Jean-Christophe PLAGNIOL-VILLARDd6a01662012-01-26 02:11:06 +080017 bootargs = "mem=64M console=ttyS0,115200 root=/dev/mtdblock1 rw rootfstype=jffs2";
Nicolas Ferre49fe2ba2011-10-10 18:29:24 +020018 };
19
Ludovic Desrochesdcce6ce2012-04-02 20:44:20 +020020 memory {
Nicolas Ferre49fe2ba2011-10-10 18:29:24 +020021 reg = <0x70000000 0x4000000>;
22 };
23
Jean-Christophe PLAGNIOL-VILLARDeb5e76f2012-03-02 20:44:23 +080024 clocks {
25 #address-cells = <1>;
26 #size-cells = <1>;
27 ranges;
28
29 main_clock: clock@0 {
30 compatible = "atmel,osc", "fixed-clock";
31 clock-frequency = <12000000>;
32 };
33 };
34
Nicolas Ferre49fe2ba2011-10-10 18:29:24 +020035 ahb {
36 apb {
37 dbgu: serial@ffffee00 {
38 status = "okay";
39 };
40
41 usart1: serial@fff90000 {
Jean-Christophe PLAGNIOL-VILLARDc58c0c52012-11-19 07:30:01 +080042 pinctrl-0 =
43 <&pinctrl_usart1
44 &pinctrl_usart1_rts
45 &pinctrl_usart1_cts>;
Nicolas Ferre49fe2ba2011-10-10 18:29:24 +020046 status = "okay";
47 };
Nicolas Ferre0d4f99d2011-12-05 18:03:05 +010048
49 macb0: ethernet@fffbc000 {
50 phy-mode = "rmii";
51 status = "okay";
52 };
Ludovic Desrochesfbc18712012-09-12 08:42:17 +020053
54 i2c0: i2c@fff84000 {
55 status = "okay";
56 };
57
58 i2c1: i2c@fff88000 {
59 status = "okay";
60 };
Ludovic Desroches4134a452012-11-19 12:24:02 +010061
Wenyou Yangc77bcef2013-05-31 11:11:33 +080062 watchdog@fffffd40 {
63 status = "okay";
64 };
65
Ludovic Desroches4134a452012-11-19 12:24:02 +010066 mmc0: mmc@fff80000 {
Jean-Christophe PLAGNIOL-VILLARD199e2ed2012-11-20 00:38:18 +080067 pinctrl-0 = <
68 &pinctrl_board_mmc0
69 &pinctrl_mmc0_slot0_clk_cmd_dat0
70 &pinctrl_mmc0_slot0_dat1_3>;
Ludovic Desroches4134a452012-11-19 12:24:02 +010071 status = "okay";
72 slot@0 {
73 reg = <0>;
74 bus-width = <4>;
Jean-Christophe PLAGNIOL-VILLARD92f86292013-04-24 08:34:25 +080075 cd-gpios = <&pioD 10 GPIO_ACTIVE_HIGH>;
Ludovic Desroches4134a452012-11-19 12:24:02 +010076 };
77 };
78
79 mmc1: mmc@fffd0000 {
Jean-Christophe PLAGNIOL-VILLARD199e2ed2012-11-20 00:38:18 +080080 pinctrl-0 = <
81 &pinctrl_board_mmc1
82 &pinctrl_mmc1_slot0_clk_cmd_dat0
83 &pinctrl_mmc1_slot0_dat1_3>;
Ludovic Desroches4134a452012-11-19 12:24:02 +010084 status = "okay";
85 slot@0 {
86 reg = <0>;
87 bus-width = <4>;
Jean-Christophe PLAGNIOL-VILLARD92f86292013-04-24 08:34:25 +080088 cd-gpios = <&pioD 11 GPIO_ACTIVE_HIGH>;
89 wp-gpios = <&pioD 29 GPIO_ACTIVE_HIGH>;
Ludovic Desroches4134a452012-11-19 12:24:02 +010090 };
91 };
Jean-Christophe PLAGNIOL-VILLARD199e2ed2012-11-20 00:38:18 +080092
93 pinctrl@fffff200 {
94 mmc0 {
95 pinctrl_board_mmc0: mmc0-board {
96 atmel,pins =
Jean-Christophe PLAGNIOL-VILLARDc9d0f312013-04-24 08:34:25 +080097 <AT91_PIOD 10 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>; /* PD10 gpio CD pin pull up and deglitch */
Jean-Christophe PLAGNIOL-VILLARD199e2ed2012-11-20 00:38:18 +080098 };
99 };
100
101 mmc1 {
102 pinctrl_board_mmc1: mmc1-board {
103 atmel,pins =
Jean-Christophe PLAGNIOL-VILLARDc9d0f312013-04-24 08:34:25 +0800104 <AT91_PIOD 11 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH /* PD11 gpio CD pin pull up and deglitch */
105 AT91_PIOD 29 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>; /* PD29 gpio WP pin pull up */
Jean-Christophe PLAGNIOL-VILLARD199e2ed2012-11-20 00:38:18 +0800106 };
107 };
108 };
Richard Genoudb6811e92013-04-03 14:03:05 +0800109
110 spi0: spi@fffa4000{
111 status = "okay";
112 cs-gpios = <&pioB 3 0>, <0>, <0>, <0>;
113 mtd_dataflash@0 {
114 compatible = "atmel,at45", "atmel,dataflash";
115 spi-max-frequency = <13000000>;
116 reg = <0>;
117 };
118 };
Jean-Christophe PLAGNIOL-VILLARD24ce10e2013-05-03 20:56:01 +0800119
120 usb2: gadget@fff78000 {
121 atmel,vbus-gpio = <&pioB 19 GPIO_ACTIVE_HIGH>;
122 status = "okay";
123 };
Nicolas Ferre49fe2ba2011-10-10 18:29:24 +0200124 };
Jean-Christophe PLAGNIOL-VILLARDd6a01662012-01-26 02:11:06 +0800125
Jean-Christophe PLAGNIOL-VILLARDf4390a72013-03-29 02:11:22 +0800126 fb0: fb@0x00500000 {
127 display = <&display0>;
128 status = "okay";
129
130 display0: display {
131 bits-per-pixel = <32>;
132 atmel,lcdcon-backlight;
133 atmel,dmacon = <0x1>;
134 atmel,lcdcon2 = <0x80008002>;
135 atmel,guard-time = <9>;
136 atmel,lcd-wiring-mode = "RGB";
137
138 display-timings {
139 native-mode = <&timing0>;
140 timing0: timing0 {
141 clock-frequency = <9000000>;
142 hactive = <480>;
143 vactive = <272>;
144 hback-porch = <1>;
145 hfront-porch = <1>;
146 vback-porch = <40>;
147 vfront-porch = <1>;
148 hsync-len = <45>;
149 vsync-len = <1>;
150 };
151 };
152 };
153 };
154
Jean-Christophe PLAGNIOL-VILLARDd6a01662012-01-26 02:11:06 +0800155 nand0: nand@40000000 {
156 nand-bus-width = <8>;
157 nand-ecc-mode = "soft";
158 nand-on-flash-bbt;
159 status = "okay";
160
161 boot@0 {
162 label = "bootstrap/uboot/kernel";
163 reg = <0x0 0x400000>;
164 };
165
166 rootfs@400000 {
167 label = "rootfs";
168 reg = <0x400000 0x3C00000>;
169 };
170
171 data@4000000 {
172 label = "data";
173 reg = <0x4000000 0xC000000>;
174 };
Jean-Christophe PLAGNIOL-VILLARD6a062452011-11-21 06:55:18 +0800175 };
Jean-Christophe PLAGNIOL-VILLARDd6a01662012-01-26 02:11:06 +0800176
Jean-Christophe PLAGNIOL-VILLARD6a062452011-11-21 06:55:18 +0800177 usb0: ohci@00700000 {
178 status = "okay";
179 num-ports = <2>;
Jean-Christophe PLAGNIOL-VILLARD92f86292013-04-24 08:34:25 +0800180 atmel,vbus-gpio = <&pioD 1 GPIO_ACTIVE_LOW
181 &pioD 3 GPIO_ACTIVE_LOW>;
Jean-Christophe PLAGNIOL-VILLARDd6a01662012-01-26 02:11:06 +0800182 };
Jean-Christophe PLAGNIOL-VILLARD62c55532011-11-22 12:11:13 +0800183
184 usb1: ehci@00800000 {
185 status = "okay";
186 };
Nicolas Ferre49fe2ba2011-10-10 18:29:24 +0200187 };
Jean-Christophe PLAGNIOL-VILLARDf2ee7ac2012-02-04 12:26:01 +0800188
189 leds {
190 compatible = "gpio-leds";
191
192 d8 {
193 label = "d8";
Jean-Christophe PLAGNIOL-VILLARD92f86292013-04-24 08:34:25 +0800194 gpios = <&pioD 30 GPIO_ACTIVE_HIGH>;
Jean-Christophe PLAGNIOL-VILLARDf2ee7ac2012-02-04 12:26:01 +0800195 linux,default-trigger = "heartbeat";
196 };
197
198 d6 {
199 label = "d6";
Jean-Christophe PLAGNIOL-VILLARD92f86292013-04-24 08:34:25 +0800200 gpios = <&pioD 0 GPIO_ACTIVE_LOW>;
Jean-Christophe PLAGNIOL-VILLARDf2ee7ac2012-02-04 12:26:01 +0800201 linux,default-trigger = "nand-disk";
202 };
203
204 d7 {
205 label = "d7";
Jean-Christophe PLAGNIOL-VILLARD92f86292013-04-24 08:34:25 +0800206 gpios = <&pioD 31 GPIO_ACTIVE_LOW>;
Jean-Christophe PLAGNIOL-VILLARDf2ee7ac2012-02-04 12:26:01 +0800207 linux,default-trigger = "mmc0";
208 };
209 };
Jean-Christophe PLAGNIOL-VILLARD8a087b02012-02-04 12:42:35 +0800210
211 gpio_keys {
212 compatible = "gpio-keys";
Jean-Christophe PLAGNIOL-VILLARD8a087b02012-02-04 12:42:35 +0800213
214 left_click {
215 label = "left_click";
Jean-Christophe PLAGNIOL-VILLARD92f86292013-04-24 08:34:25 +0800216 gpios = <&pioB 6 GPIO_ACTIVE_LOW>;
Jean-Christophe PLAGNIOL-VILLARD8a087b02012-02-04 12:42:35 +0800217 linux,code = <272>;
218 gpio-key,wakeup;
219 };
220
221 right_click {
222 label = "right_click";
Jean-Christophe PLAGNIOL-VILLARD92f86292013-04-24 08:34:25 +0800223 gpios = <&pioB 7 GPIO_ACTIVE_LOW>;
Jean-Christophe PLAGNIOL-VILLARD8a087b02012-02-04 12:42:35 +0800224 linux,code = <273>;
225 gpio-key,wakeup;
226 };
227
228 left {
229 label = "Joystick Left";
Jean-Christophe PLAGNIOL-VILLARD92f86292013-04-24 08:34:25 +0800230 gpios = <&pioB 14 GPIO_ACTIVE_LOW>;
Jean-Christophe PLAGNIOL-VILLARD8a087b02012-02-04 12:42:35 +0800231 linux,code = <105>;
232 };
233
234 right {
235 label = "Joystick Right";
Jean-Christophe PLAGNIOL-VILLARD92f86292013-04-24 08:34:25 +0800236 gpios = <&pioB 15 GPIO_ACTIVE_LOW>;
Jean-Christophe PLAGNIOL-VILLARD8a087b02012-02-04 12:42:35 +0800237 linux,code = <106>;
238 };
239
240 up {
241 label = "Joystick Up";
Jean-Christophe PLAGNIOL-VILLARD92f86292013-04-24 08:34:25 +0800242 gpios = <&pioB 16 GPIO_ACTIVE_LOW>;
Jean-Christophe PLAGNIOL-VILLARD8a087b02012-02-04 12:42:35 +0800243 linux,code = <103>;
244 };
245
246 down {
247 label = "Joystick Down";
Jean-Christophe PLAGNIOL-VILLARD92f86292013-04-24 08:34:25 +0800248 gpios = <&pioB 17 GPIO_ACTIVE_LOW>;
Jean-Christophe PLAGNIOL-VILLARD8a087b02012-02-04 12:42:35 +0800249 linux,code = <108>;
250 };
251
252 enter {
253 label = "Joystick Press";
Jean-Christophe PLAGNIOL-VILLARD92f86292013-04-24 08:34:25 +0800254 gpios = <&pioB 18 GPIO_ACTIVE_LOW>;
Jean-Christophe PLAGNIOL-VILLARD8a087b02012-02-04 12:42:35 +0800255 linux,code = <28>;
256 };
257 };
Nicolas Ferre49fe2ba2011-10-10 18:29:24 +0200258};