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