GNU Linux-libre 4.19.264-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                                 mmc0_slot1 {
43                                         pinctrl_board_mmc0_slot1: mmc0_slot1-board {
44                                                 atmel,pins =
45                                                         <AT91_PIOC 9 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;   /* PC9 gpio CD pin pull up and deglitch */
46                                         };
47                                 };
48                         };
49
50                         dbgu: serial@fffff200 {
51                                 status = "okay";
52                         };
53
54                         tcb0: timer@fffa0000 {
55                                 timer@0 {
56                                         compatible = "atmel,tcb-timer";
57                                         reg = <0>, <1>;
58                                 };
59
60                                 timer@2 {
61                                         compatible = "atmel,tcb-timer";
62                                         reg = <2>;
63                                 };
64                         };
65
66                         usart0: serial@fffb0000 {
67                                 pinctrl-0 =
68                                         <&pinctrl_usart0
69                                          &pinctrl_usart0_rts
70                                          &pinctrl_usart0_cts
71                                          &pinctrl_usart0_dtr_dsr
72                                          &pinctrl_usart0_dcd
73                                          &pinctrl_usart0_ri>;
74                                 status = "okay";
75                         };
76
77                         usart1: serial@fffb4000 {
78                                 status = "okay";
79                         };
80
81                         macb0: ethernet@fffc4000 {
82                                 phy-mode = "rmii";
83                                 status = "okay";
84                         };
85
86                         usb1: gadget@fffa4000 {
87                                 atmel,vbus-gpio = <&pioC 5 GPIO_ACTIVE_HIGH>;
88                                 status = "okay";
89                         };
90
91                         mmc0: mmc@fffa8000 {
92                                 pinctrl-0 = <
93                                         &pinctrl_board_mmc0_slot1
94                                         &pinctrl_mmc0_clk
95                                         &pinctrl_mmc0_slot1_cmd_dat0
96                                         &pinctrl_mmc0_slot1_dat1_3>;
97                                 status = "okay";
98                                 slot@1 {
99                                         reg = <1>;
100                                         bus-width = <4>;
101                                         cd-gpios = <&pioC 9 GPIO_ACTIVE_HIGH>;
102                                 };
103                         };
104
105                         ssc0: ssc@fffbc000 {
106                                 status = "okay";
107                                 pinctrl-0 = <&pinctrl_ssc0_tx>;
108                         };
109
110                         spi0: spi@fffc8000 {
111                                 cs-gpios = <0>, <&pioC 11 0>, <0>, <0>;
112                                 mtd_dataflash@1 {
113                                         compatible = "atmel,at45", "atmel,dataflash";
114                                         spi-max-frequency = <50000000>;
115                                         reg = <1>;
116                                 };
117                         };
118
119                         shdwc@fffffd10 {
120                                 atmel,wakeup-counter = <10>;
121                                 atmel,wakeup-rtt-timer;
122                         };
123
124                         rtc@fffffd20 {
125                                 atmel,rtt-rtc-time-reg = <&gpbr 0x0>;
126                                 status = "okay";
127                         };
128
129                         watchdog@fffffd40 {
130                                 status = "okay";
131                         };
132
133                         gpbr: syscon@fffffd50 {
134                                 status = "okay";
135                         };
136                 };
137
138                 ebi: ebi@10000000 {
139                         status = "okay";
140
141                         nand_controller: nand-controller {
142                                 status = "okay";
143                                 pinctrl-0 = <&pinctrl_nand_cs &pinctrl_nand_rb>;
144                                 pinctrl-names = "default";
145
146                                 nand@3 {
147                                         reg = <0x3 0x0 0x800000>;
148                                         rb-gpios = <&pioC 13 GPIO_ACTIVE_HIGH>;
149                                         cs-gpios = <&pioC 14 GPIO_ACTIVE_HIGH>;
150                                         nand-bus-width = <8>;
151                                         nand-ecc-mode = "soft";
152                                         nand-on-flash-bbt;
153                                         label = "atmel_nand";
154
155                                         partitions {
156                                                 compatible = "fixed-partitions";
157                                                 #address-cells = <1>;
158                                                 #size-cells = <1>;
159
160                                                 at91bootstrap@0 {
161                                                         label = "at91bootstrap";
162                                                         reg = <0x0 0x20000>;
163                                                 };
164
165                                                 barebox@20000 {
166                                                         label = "barebox";
167                                                         reg = <0x20000 0x40000>;
168                                                 };
169
170                                                 bareboxenv@60000 {
171                                                         label = "bareboxenv";
172                                                         reg = <0x60000 0x20000>;
173                                                 };
174
175                                                 bareboxenv2@80000 {
176                                                         label = "bareboxenv2";
177                                                         reg = <0x80000 0x20000>;
178                                                 };
179
180                                                 oftree@80000 {
181                                                         label = "oftree";
182                                                         reg = <0xa0000 0x20000>;
183                                                 };
184
185                                                 kernel@a0000 {
186                                                         label = "kernel";
187                                                         reg = <0xc0000 0x400000>;
188                                                 };
189
190                                                 rootfs@4a0000 {
191                                                         label = "rootfs";
192                                                         reg = <0x4c0000 0x7800000>;
193                                                 };
194
195                                                 data@7ca0000 {
196                                                         label = "data";
197                                                         reg = <0x7cc0000 0x8340000>;
198                                                 };
199                                         };
200                                 };
201                         };
202                 };
203
204                 usb0: ohci@500000 {
205                         num-ports = <2>;
206                         status = "okay";
207                 };
208         };
209
210         i2c-gpio-0 {
211                 status = "okay";
212
213                 24c512@50 {
214                         compatible = "atmel,24c512";
215                         reg = <0x50>;
216                 };
217
218                 wm8731: wm8731@1b {
219                         compatible = "wm8731";
220                         reg = <0x1b>;
221                 };
222         };
223
224         gpio_keys {
225                 compatible = "gpio-keys";
226
227                 btn3 {
228                         label = "Button 3";
229                         gpios = <&pioA 30 GPIO_ACTIVE_LOW>;
230                         linux,code = <0x103>;
231                         wakeup-source;
232                 };
233
234                 btn4 {
235                         label = "Button 4";
236                         gpios = <&pioA 31 GPIO_ACTIVE_LOW>;
237                         linux,code = <0x104>;
238                         wakeup-source;
239                 };
240         };
241
242         sound {
243                 compatible = "atmel,at91sam9g20ek-wm8731-audio";
244                 pinctrl-names = "default";
245                 pinctrl-0 = <&pinctrl_pck0_as_mck>;
246
247                 atmel,model = "wm8731 @ AT91SAMG20EK";
248
249                 atmel,audio-routing =
250                         "Ext Spk", "LHPOUT",
251                         "Int Mic", "MICIN";
252
253                 atmel,ssc-controller = <&ssc0>;
254                 atmel,audio-codec = <&wm8731>;
255         };
256 };