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