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		slow_xtal {
36			clock-frequency = <32768>;
37		};
38
39		main_xtal {
40			clock-frequency = <18432000>;
41		};
42	};
43
44	ahb {
45		apb {
46			usb1: gadget@fffa4000 {
47				atmel,vbus-gpio = <&pioC 6 GPIO_ACTIVE_HIGH>;
48				status = "okay";
49			};
50
51			mmc0: mmc@fffa8000 {
52				pinctrl-0 = <
53					&pinctrl_mmc0_clk
54					&pinctrl_mmc0_slot1_cmd_dat0
55					&pinctrl_mmc0_slot1_dat1_3>;
56				status = "okay";
57
58				slot@1 {
59					reg = <1>;
60					bus-width = <4>;
61				};
62			};
63
64			usart0: serial@fffb0000 {
65				pinctrl-0 =
66					<&pinctrl_usart0
67					 &pinctrl_usart0_rts
68					 &pinctrl_usart0_cts
69					>;
70				status = "okay";
71			};
72
73			usart1: serial@fffb4000 {
74				status = "okay";
75			};
76
77			usart2: serial@fffb8000 {
78				status = "okay";
79			};
80
81			macb0: ethernet@fffc4000 {
82				phy-mode = "rmii";
83				status = "okay";
84			};
85
86			usart3: serial@fffd0000 {
87				status = "okay";
88			};
89
90			uart0: serial@fffd4000 {
91				status = "okay";
92			};
93
94			uart1: serial@fffd8000 {
95				status = "okay";
96			};
97
98			dbgu: serial@fffff200 {
99				status = "okay";
100			};
101
102			pinctrl@fffff400 {
103				board {
104					pinctrl_pck0_as_mck: pck0_as_mck {
105						atmel,pins =
106							<AT91_PIOC 1 AT91_PERIPH_B AT91_PINCTRL_NONE>;
107					};
108				};
109
110				mmc0_slot1 {
111					pinctrl_board_mmc0_slot1: mmc0_slot1-board {
112						atmel,pins =
113							<AT91_PIOC 9 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;	/* CD pin */
114					};
115				};
116
117				i2c0 {
118					pinctrl_i2c0: i2c0-0 {
119						atmel,pins =
120							<AT91_PIOA 23 AT91_PERIPH_A AT91_PINCTRL_MULTI_DRIVE	/* TWD (SDA), open drain */
121							 AT91_PIOA 24 AT91_PERIPH_A AT91_PINCTRL_MULTI_DRIVE>;	/* TWCK (SCL), open drain */
122					};
123				};
124			};
125
126			watchdog@fffffd40 {
127				status = "okay";
128			};
129		};
130
131		usb0: ohci@00500000 {
132			num-ports = <2>;
133			status = "okay";
134		};
135	};
136
137	i2c@0 {
138		pinctrl-names = "default";
139		pinctrl-0 = <&pinctrl_i2c0>;
140		i2c-gpio,delay-us = <5>;	/* ~85 kHz */
141		status = "okay";
142	};
143
144	leds {
145		compatible = "gpio-leds";
146
147		/* red LED marked "PC7" near mini USB (device) receptacle */
148		user_led {
149			label = "user_led";
150			gpios = <&pioC 7 GPIO_ACTIVE_HIGH>;	/* PC7 */
151			linux,default-trigger = "heartbeat";
152		};
153	};
154
155	gpio_keys {
156		compatible = "gpio-keys";
157
158		btn {
159			label = "Button";
160			gpios = <&pioC 4 GPIO_ACTIVE_LOW>;
161			linux,code = <0x103>;
162			gpio-key,wakeup;
163		};
164	};
165};
166