1262569Simp/*
2262569Simp * at91-foxg20.dts - Device Tree file for Acme Systems FoxG20 board
3262569Simp *
4262569Simp * Based on DT files for at91sam9g20ek evaluation board (AT91SAM9G20 SoC)
5262569Simp *
6262569Simp * Copyright (C) 2013 Douglas Gilbert <dgilbert@interlog.com>
7262569Simp *
8262569Simp * Licensed under GPLv2 or later.
9262569Simp */
10262569Simp/dts-v1/;
11262569Simp#include "at91sam9g20.dtsi"
12262569Simp
13262569Simp/ {
14262569Simp	model = "Acme Systems FoxG20";
15262569Simp	compatible = "acme,foxg20", "atmel,at91sam9g20", "atmel,at91sam9";
16262569Simp
17262569Simp	chosen {
18262569Simp		bootargs = "console=ttyS0,115200 root=/dev/mmcblk0p2 rw rootwait";
19262569Simp	};
20262569Simp
21262569Simp	memory {
22262569Simp		reg = <0x20000000 0x4000000>;
23262569Simp	};
24262569Simp
25262569Simp	clocks {
26262569Simp		#address-cells = <1>;
27262569Simp		#size-cells = <1>;
28262569Simp		ranges;
29262569Simp
30262569Simp		main_clock: clock@0 {
31262569Simp			compatible = "atmel,osc", "fixed-clock";
32262569Simp			clock-frequency = <18432000>;
33262569Simp		};
34270864Simp
35270864Simp		slow_xtal {
36270864Simp			clock-frequency = <32768>;
37270864Simp		};
38270864Simp
39270864Simp		main_xtal {
40270864Simp			clock-frequency = <18432000>;
41270864Simp		};
42262569Simp	};
43262569Simp
44262569Simp	ahb {
45262569Simp		apb {
46262569Simp			usb1: gadget@fffa4000 {
47262569Simp				atmel,vbus-gpio = <&pioC 6 GPIO_ACTIVE_HIGH>;
48262569Simp				status = "okay";
49262569Simp			};
50262569Simp
51262569Simp			mmc0: mmc@fffa8000 {
52262569Simp				pinctrl-0 = <
53262569Simp					&pinctrl_mmc0_clk
54262569Simp					&pinctrl_mmc0_slot1_cmd_dat0
55262569Simp					&pinctrl_mmc0_slot1_dat1_3>;
56262569Simp				status = "okay";
57262569Simp
58262569Simp				slot@1 {
59262569Simp					reg = <1>;
60262569Simp					bus-width = <4>;
61262569Simp				};
62262569Simp			};
63262569Simp
64262569Simp			usart0: serial@fffb0000 {
65262569Simp				pinctrl-0 =
66262569Simp					<&pinctrl_usart0
67262569Simp					 &pinctrl_usart0_rts
68262569Simp					 &pinctrl_usart0_cts
69262569Simp					>;
70262569Simp				status = "okay";
71262569Simp			};
72262569Simp
73262569Simp			usart1: serial@fffb4000 {
74262569Simp				status = "okay";
75262569Simp			};
76262569Simp
77262569Simp			usart2: serial@fffb8000 {
78262569Simp				status = "okay";
79262569Simp			};
80262569Simp
81262569Simp			macb0: ethernet@fffc4000 {
82262569Simp				phy-mode = "rmii";
83262569Simp				status = "okay";
84262569Simp			};
85262569Simp
86262569Simp			usart3: serial@fffd0000 {
87262569Simp				status = "okay";
88262569Simp			};
89262569Simp
90262569Simp			uart0: serial@fffd4000 {
91262569Simp				status = "okay";
92262569Simp			};
93262569Simp
94262569Simp			uart1: serial@fffd8000 {
95262569Simp				status = "okay";
96262569Simp			};
97262569Simp
98262569Simp			dbgu: serial@fffff200 {
99262569Simp				status = "okay";
100262569Simp			};
101262569Simp
102262569Simp			pinctrl@fffff400 {
103262569Simp				board {
104262569Simp					pinctrl_pck0_as_mck: pck0_as_mck {
105262569Simp						atmel,pins =
106262569Simp							<AT91_PIOC 1 AT91_PERIPH_B AT91_PINCTRL_NONE>;
107262569Simp					};
108262569Simp				};
109262569Simp
110262569Simp				mmc0_slot1 {
111262569Simp					pinctrl_board_mmc0_slot1: mmc0_slot1-board {
112262569Simp						atmel,pins =
113262569Simp							<AT91_PIOC 9 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;	/* CD pin */
114262569Simp					};
115262569Simp				};
116262569Simp
117262569Simp				i2c0 {
118262569Simp					pinctrl_i2c0: i2c0-0 {
119262569Simp						atmel,pins =
120262569Simp							<AT91_PIOA 23 AT91_PERIPH_A AT91_PINCTRL_MULTI_DRIVE	/* TWD (SDA), open drain */
121262569Simp							 AT91_PIOA 24 AT91_PERIPH_A AT91_PINCTRL_MULTI_DRIVE>;	/* TWCK (SCL), open drain */
122262569Simp					};
123262569Simp				};
124262569Simp			};
125262569Simp
126262569Simp			watchdog@fffffd40 {
127262569Simp				status = "okay";
128262569Simp			};
129262569Simp		};
130262569Simp
131262569Simp		usb0: ohci@00500000 {
132262569Simp			num-ports = <2>;
133262569Simp			status = "okay";
134262569Simp		};
135262569Simp	};
136262569Simp
137262569Simp	i2c@0 {
138262569Simp		pinctrl-names = "default";
139262569Simp		pinctrl-0 = <&pinctrl_i2c0>;
140262569Simp		i2c-gpio,delay-us = <5>;	/* ~85 kHz */
141262569Simp		status = "okay";
142262569Simp	};
143262569Simp
144262569Simp	leds {
145262569Simp		compatible = "gpio-leds";
146262569Simp
147262569Simp		/* red LED marked "PC7" near mini USB (device) receptacle */
148262569Simp		user_led {
149262569Simp			label = "user_led";
150262569Simp			gpios = <&pioC 7 GPIO_ACTIVE_HIGH>;	/* PC7 */
151262569Simp			linux,default-trigger = "heartbeat";
152262569Simp		};
153262569Simp	};
154262569Simp
155262569Simp	gpio_keys {
156262569Simp		compatible = "gpio-keys";
157262569Simp
158262569Simp		btn {
159262569Simp			label = "Button";
160262569Simp			gpios = <&pioC 4 GPIO_ACTIVE_LOW>;
161262569Simp			linux,code = <0x103>;
162262569Simp			gpio-key,wakeup;
163262569Simp		};
164262569Simp	};
165262569Simp};
166