GNU Linux-libre 4.19.286-gnu1
[releases.git] / arch / arm / boot / dts / at91sam9g20ek_common.dtsi
1 /*
2  * at91sam9g20ek_common.dtsi - Device Tree file for Atmel at91sam9g20ek board
3  *
4  * Copyright (C) 2012 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
5  *
6  * Licensed under GPLv2.
7  */
8 #include "at91sam9g20.dtsi"
9
10 / {
11
12         chosen {
13                 bootargs = "mem=64M root=/dev/mtdblock5 rw rootfstype=ubifs";
14                 stdout-path = "serial0:115200n8";
15         };
16
17         memory {
18                 reg = <0x20000000 0x4000000>;
19         };
20
21         clocks {
22                 slow_xtal {
23                         clock-frequency = <32768>;
24                 };
25
26                 main_xtal {
27                         clock-frequency = <18432000>;
28                 };
29         };
30
31         ahb {
32                 apb {
33                         pinctrl@fffff400 {
34                                 board {
35                                         pinctrl_pck0_as_mck: pck0_as_mck {
36                                                 atmel,pins =
37                                                         <AT91_PIOC 1 AT91_PERIPH_B AT91_PINCTRL_NONE>;  /* PC1 periph B */
38                                         };
39
40                                 };
41
42                                 usb1 {
43                                         pinctrl_usb1_vbus_gpio: usb1_vbus_gpio {
44                                                 atmel,pins =
45                                                         <AT91_PIOC 5 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>;   /* PC5 GPIO */
46                                         };
47                                 };
48
49                                 mmc0_slot1 {
50                                         pinctrl_board_mmc0_slot1: mmc0_slot1-board {
51                                                 atmel,pins =
52                                                         <AT91_PIOC 9 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;   /* PC9 gpio CD pin pull up and deglitch */
53                                         };
54                                 };
55                         };
56
57                         dbgu: serial@fffff200 {
58                                 status = "okay";
59                         };
60
61                         tcb0: timer@fffa0000 {
62                                 timer@0 {
63                                         compatible = "atmel,tcb-timer";
64                                         reg = <0>, <1>;
65                                 };
66
67                                 timer@2 {
68                                         compatible = "atmel,tcb-timer";
69                                         reg = <2>;
70                                 };
71                         };
72
73                         usart0: serial@fffb0000 {
74                                 pinctrl-0 =
75                                         <&pinctrl_usart0
76                                          &pinctrl_usart0_rts
77                                          &pinctrl_usart0_cts
78                                          &pinctrl_usart0_dtr_dsr
79                                          &pinctrl_usart0_dcd
80                                          &pinctrl_usart0_ri>;
81                                 status = "okay";
82                         };
83
84                         usart1: serial@fffb4000 {
85                                 status = "okay";
86                         };
87
88                         macb0: ethernet@fffc4000 {
89                                 phy-mode = "rmii";
90                                 status = "okay";
91                         };
92
93                         usb1: gadget@fffa4000 {
94                                 pinctrl-0 = <&pinctrl_usb1_vbus_gpio>;
95                                 pinctrl-names = "default";
96                                 atmel,vbus-gpio = <&pioC 5 GPIO_ACTIVE_HIGH>;
97                                 status = "okay";
98                         };
99
100                         mmc0: mmc@fffa8000 {
101                                 pinctrl-0 = <
102                                         &pinctrl_board_mmc0_slot1
103                                         &pinctrl_mmc0_clk
104                                         &pinctrl_mmc0_slot1_cmd_dat0
105                                         &pinctrl_mmc0_slot1_dat1_3>;
106                                 status = "okay";
107                                 slot@1 {
108                                         reg = <1>;
109                                         bus-width = <4>;
110                                         cd-gpios = <&pioC 9 GPIO_ACTIVE_HIGH>;
111                                 };
112                         };
113
114                         ssc0: ssc@fffbc000 {
115                                 status = "okay";
116                                 pinctrl-0 = <&pinctrl_ssc0_tx>;
117                         };
118
119                         spi0: spi@fffc8000 {
120                                 cs-gpios = <0>, <&pioC 11 0>, <0>, <0>;
121                                 mtd_dataflash@1 {
122                                         compatible = "atmel,at45", "atmel,dataflash";
123                                         spi-max-frequency = <50000000>;
124                                         reg = <1>;
125                                 };
126                         };
127
128                         shdwc@fffffd10 {
129                                 atmel,wakeup-counter = <10>;
130                                 atmel,wakeup-rtt-timer;
131                         };
132
133                         rtc@fffffd20 {
134                                 atmel,rtt-rtc-time-reg = <&gpbr 0x0>;
135                                 status = "okay";
136                         };
137
138                         watchdog@fffffd40 {
139                                 status = "okay";
140                         };
141
142                         gpbr: syscon@fffffd50 {
143                                 status = "okay";
144                         };
145                 };
146
147                 ebi: ebi@10000000 {
148                         status = "okay";
149
150                         nand_controller: nand-controller {
151                                 status = "okay";
152                                 pinctrl-0 = <&pinctrl_nand_cs &pinctrl_nand_rb>;
153                                 pinctrl-names = "default";
154
155                                 nand@3 {
156                                         reg = <0x3 0x0 0x800000>;
157                                         rb-gpios = <&pioC 13 GPIO_ACTIVE_HIGH>;
158                                         cs-gpios = <&pioC 14 GPIO_ACTIVE_HIGH>;
159                                         nand-bus-width = <8>;
160                                         nand-ecc-mode = "soft";
161                                         nand-on-flash-bbt;
162                                         label = "atmel_nand";
163
164                                         partitions {
165                                                 compatible = "fixed-partitions";
166                                                 #address-cells = <1>;
167                                                 #size-cells = <1>;
168
169                                                 at91bootstrap@0 {
170                                                         label = "at91bootstrap";
171                                                         reg = <0x0 0x20000>;
172                                                 };
173
174                                                 barebox@20000 {
175                                                         label = "barebox";
176                                                         reg = <0x20000 0x40000>;
177                                                 };
178
179                                                 bareboxenv@60000 {
180                                                         label = "bareboxenv";
181                                                         reg = <0x60000 0x20000>;
182                                                 };
183
184                                                 bareboxenv2@80000 {
185                                                         label = "bareboxenv2";
186                                                         reg = <0x80000 0x20000>;
187                                                 };
188
189                                                 oftree@80000 {
190                                                         label = "oftree";
191                                                         reg = <0xa0000 0x20000>;
192                                                 };
193
194                                                 kernel@a0000 {
195                                                         label = "kernel";
196                                                         reg = <0xc0000 0x400000>;
197                                                 };
198
199                                                 rootfs@4a0000 {
200                                                         label = "rootfs";
201                                                         reg = <0x4c0000 0x7800000>;
202                                                 };
203
204                                                 data@7ca0000 {
205                                                         label = "data";
206                                                         reg = <0x7cc0000 0x8340000>;
207                                                 };
208                                         };
209                                 };
210                         };
211                 };
212
213                 usb0: ohci@500000 {
214                         num-ports = <2>;
215                         status = "okay";
216                 };
217         };
218
219         i2c-gpio-0 {
220                 status = "okay";
221
222                 24c512@50 {
223                         compatible = "atmel,24c512";
224                         reg = <0x50>;
225                 };
226
227                 wm8731: wm8731@1b {
228                         compatible = "wm8731";
229                         reg = <0x1b>;
230                 };
231         };
232
233         gpio_keys {
234                 compatible = "gpio-keys";
235
236                 btn3 {
237                         label = "Button 3";
238                         gpios = <&pioA 30 GPIO_ACTIVE_LOW>;
239                         linux,code = <0x103>;
240                         wakeup-source;
241                 };
242
243                 btn4 {
244                         label = "Button 4";
245                         gpios = <&pioA 31 GPIO_ACTIVE_LOW>;
246                         linux,code = <0x104>;
247                         wakeup-source;
248                 };
249         };
250
251         sound {
252                 compatible = "atmel,at91sam9g20ek-wm8731-audio";
253                 pinctrl-names = "default";
254                 pinctrl-0 = <&pinctrl_pck0_as_mck>;
255
256                 atmel,model = "wm8731 @ AT91SAMG20EK";
257
258                 atmel,audio-routing =
259                         "Ext Spk", "LHPOUT",
260                         "Int Mic", "MICIN";
261
262                 atmel,ssc-controller = <&ssc0>;
263                 atmel,audio-codec = <&wm8731>;
264         };
265 };