Linux-libre 3.16.85-gnu
[librecmc/linux-libre.git] / arch / arm / boot / dts / at91-foxg20.dts
1 /*
2  * at91-foxg20.dts - Device Tree file for Acme Systems FoxG20 board
3  *
4  * Based on DT files for at91sam9g20ek evaluation board (AT91SAM9G20 SoC)
5  *
6  * Copyright (C) 2013 Douglas Gilbert <dgilbert@interlog.com>
7  *
8  * Licensed under GPLv2 or later.
9  */
10 /dts-v1/;
11 #include "at91sam9g20.dtsi"
12
13 / {
14         model = "Acme Systems FoxG20";
15         compatible = "acme,foxg20", "atmel,at91sam9g20", "atmel,at91sam9";
16
17         chosen {
18                 bootargs = "console=ttyS0,115200 root=/dev/mmcblk0p2 rw rootwait";
19         };
20
21         memory {
22                 reg = <0x20000000 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 = <18432000>;
33                 };
34         };
35
36         ahb {
37                 apb {
38                         usb1: gadget@fffa4000 {
39                                 atmel,vbus-gpio = <&pioC 6 GPIO_ACTIVE_HIGH>;
40                                 status = "okay";
41                         };
42
43                         mmc0: mmc@fffa8000 {
44                                 pinctrl-0 = <
45                                         &pinctrl_mmc0_clk
46                                         &pinctrl_mmc0_slot1_cmd_dat0
47                                         &pinctrl_mmc0_slot1_dat1_3>;
48                                 status = "okay";
49
50                                 slot@1 {
51                                         reg = <1>;
52                                         bus-width = <4>;
53                                 };
54                         };
55
56                         usart0: serial@fffb0000 {
57                                 pinctrl-0 =
58                                         <&pinctrl_usart0
59                                          &pinctrl_usart0_rts
60                                          &pinctrl_usart0_cts
61                                         >;
62                                 status = "okay";
63                         };
64
65                         usart1: serial@fffb4000 {
66                                 status = "okay";
67                         };
68
69                         usart2: serial@fffb8000 {
70                                 status = "okay";
71                         };
72
73                         macb0: ethernet@fffc4000 {
74                                 phy-mode = "rmii";
75                                 status = "okay";
76                         };
77
78                         usart3: serial@fffd0000 {
79                                 status = "okay";
80                         };
81
82                         uart0: serial@fffd4000 {
83                                 status = "okay";
84                         };
85
86                         uart1: serial@fffd8000 {
87                                 status = "okay";
88                         };
89
90                         dbgu: serial@fffff200 {
91                                 status = "okay";
92                         };
93
94                         pinctrl@fffff400 {
95                                 board {
96                                         pinctrl_pck0_as_mck: pck0_as_mck {
97                                                 atmel,pins =
98                                                         <AT91_PIOC 1 AT91_PERIPH_B AT91_PINCTRL_NONE>;
99                                         };
100                                 };
101
102                                 mmc0_slot1 {
103                                         pinctrl_board_mmc0_slot1: mmc0_slot1-board {
104                                                 atmel,pins =
105                                                         <AT91_PIOC 9 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;   /* CD pin */
106                                         };
107                                 };
108
109                                 i2c0 {
110                                         pinctrl_i2c0: i2c0-0 {
111                                                 atmel,pins =
112                                                         <AT91_PIOA 23 AT91_PERIPH_A AT91_PINCTRL_MULTI_DRIVE    /* TWD (SDA), open drain */
113                                                          AT91_PIOA 24 AT91_PERIPH_A AT91_PINCTRL_MULTI_DRIVE>;  /* TWCK (SCL), open drain */
114                                         };
115                                 };
116                         };
117
118                         watchdog@fffffd40 {
119                                 status = "okay";
120                         };
121                 };
122
123                 usb0: ohci@00500000 {
124                         num-ports = <2>;
125                         status = "okay";
126                 };
127         };
128
129         i2c@0 {
130                 pinctrl-names = "default";
131                 pinctrl-0 = <&pinctrl_i2c0>;
132                 i2c-gpio,delay-us = <5>;        /* ~85 kHz */
133                 status = "okay";
134         };
135
136         leds {
137                 compatible = "gpio-leds";
138
139                 /* red LED marked "PC7" near mini USB (device) receptacle */
140                 user_led {
141                         label = "user_led";
142                         gpios = <&pioC 7 GPIO_ACTIVE_HIGH>;     /* PC7 */
143                         linux,default-trigger = "heartbeat";
144                 };
145         };
146
147         gpio_keys {
148                 compatible = "gpio-keys";
149
150                 btn {
151                         label = "Button";
152                         gpios = <&pioC 4 GPIO_ACTIVE_LOW>;
153                         linux,code = <0x103>;
154                         gpio-key,wakeup;
155                 };
156         };
157 };