1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Device Tree file for VInCo platform
4 *
5 *  Copyright (C) 2014 Atmel,
6 *                2014 Nicolas Ferre <nicolas.ferre@atmel.com>
7 *   2015 Gregory CLEMENT <gregory.clement@free-electrons.com>
8 */
9/dts-v1/;
10#include "sama5d4.dtsi"
11
12/ {
13	model = "L+G VInCo platform";
14	compatible = "l+g,vinco", "atmel,sama5d4", "atmel,sama5";
15
16	chosen {
17		stdout-path = "serial0:115200n8";
18	};
19
20	memory@20000000 {
21		reg = <0x20000000 0x4000000>;
22	};
23
24	clocks {
25		slow_xtal {
26			clock-frequency = <32768>;
27		};
28
29		main_xtal {
30			clock-frequency = <12000000>;
31		};
32	};
33
34	ahb {
35		apb {
36
37			adc0: adc@fc034000 {
38				status = "okay"; /* Enable ADC IIO support */
39			};
40
41			mmc0: mmc@f8000000 {
42				pinctrl-names = "default";
43				pinctrl-0 = <&pinctrl_mmc0_clk_cmd_dat0
44					     &pinctrl_mmc0_dat1_3
45					     &pinctrl_mmc0_dat4_7>;
46				vqmmc-supply = <&vcc_3v3_reg>;
47				vmmc-supply = <&vcc_3v3_reg>;
48				no-1-8-v;
49				status = "okay";
50				slot@0 {
51					reg = <0>;
52					bus-width = <8>;
53					non-removable;
54					broken-cd;
55					status = "okay";
56				};
57			};
58
59			spi0: spi@f8010000 {
60				cs-gpios = <&pioC 3 0>, <0>, <0>, <0>;
61				status = "okay";
62				m25p80@0 {
63					compatible = "n25q32b", "jedec,spi-nor";
64					spi-max-frequency = <50000000>;
65					reg = <0>;
66				};
67			};
68
69			i2c0: i2c@f8014000 {
70				status = "okay";
71			};
72
73			i2c1: i2c@f8018000 {
74				status = "okay";
75				/* kerkey security module */
76			};
77
78			macb0: ethernet@f8020000 {
79				phy-mode = "rmii";
80				status = "okay";
81
82				ethernet-phy@1 {
83					reg = <0x1>;
84					reset-gpios = <&pioE 8 GPIO_ACTIVE_LOW>;
85					interrupt-parent = <&pioB>;
86					interrupts = <15 IRQ_TYPE_EDGE_FALLING>;
87				};
88
89			};
90
91			i2c2: i2c@f8024000 {
92				status = "okay";
93
94				rtc1: rtc@32 {
95					compatible = "epson,rx8900";
96					reg = <0x32>;
97				};
98			};
99
100			usart2: serial@fc008000 {
101				/* MBUS */
102				status = "okay";
103			};
104
105			usart3: serial@fc00c000 {
106				/* debug */
107				status = "okay";
108			};
109
110			usart4: serial@fc010000 {
111				/* LMN */
112				pinctrl-0 = <&pinctrl_usart4 &pinctrl_usart4_rts>;
113				linux,rs485-enabled-at-boot-time;
114				status = "okay";
115			};
116
117			tcb2: timer@fc024000 {
118				timer@0 {
119					compatible = "atmel,tcb-timer";
120					reg = <0>;
121				};
122
123				timer@1 {
124					compatible = "atmel,tcb-timer";
125					reg = <1>;
126				};
127			};
128
129			macb1: ethernet@fc028000 {
130				phy-mode = "rmii";
131				status = "okay";
132				#address-cells = <1>;
133				#size-cells = <0>;
134				status = "okay";
135
136				ethernet-phy@1 {
137					reg = <0x1>;
138					interrupt-parent = <&pioB>;
139					interrupts = <31 IRQ_TYPE_EDGE_FALLING>;
140					reset-gpios = <&pioE 6 GPIO_ACTIVE_LOW>;
141				};
142			};
143
144			watchdog@fc068640 {
145				status = "okay";
146			};
147
148			pinctrl@fc06a000 {
149				board {
150					pinctrl_usba_vbus: usba_vbus {
151						atmel,pins =
152						<AT91_PIOE 31 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>;
153					};
154				};
155			};
156		};
157
158		usb0: gadget@400000 {
159			atmel,vbus-gpio = <&pioE 31 GPIO_ACTIVE_HIGH>;
160			pinctrl-names = "default";
161			pinctrl-0 = <&pinctrl_usba_vbus>;
162			status = "disable";
163		};
164
165		usb1: ohci@500000 {
166			num-ports = <3>;
167			atmel,vbus-gpio = <0
168					   &pioE 11 GPIO_ACTIVE_LOW
169					   &pioE 12 GPIO_ACTIVE_LOW
170					  >;
171			status = "disable";
172		};
173
174		usb2: ehci@600000 {
175			/* 4G Modem */
176			status = "okay";
177		};
178
179	};
180
181	leds {
182		compatible = "gpio-leds";
183		status = "okay";
184
185		led_err {
186			label = "err";
187			gpios = <&pioA 7 GPIO_ACTIVE_LOW>;
188			default-state = "off";
189		};
190
191		led_rssi {
192			label = "rssi";
193			gpios = <&pioA 9 GPIO_ACTIVE_LOW>;
194			default-state = "off";
195		};
196
197		led_tls {
198			label = "tls";
199			gpios = <&pioA 24 GPIO_ACTIVE_LOW>;
200			default-state = "off";
201		};
202
203		led_lmc {
204			label = "lmc";
205			gpios = <&pioA 25 GPIO_ACTIVE_LOW>;
206			default-state = "off";
207		};
208
209		led_wmt {
210			label = "wmt";
211			gpios = <&pioA 29 GPIO_ACTIVE_LOW>;
212			default-state = "off";
213		};
214
215		led_pwr {
216			label = "pwr";
217			gpios = <&pioA 26 GPIO_ACTIVE_LOW>;
218			default-state = "on";
219		};
220
221	};
222
223	vcc_3v3_reg: fixedregulator_3v3 {
224		compatible = "regulator-fixed";
225		regulator-name = "VCC 3V3";
226		regulator-min-microvolt = <3300000>;
227		regulator-max-microvolt = <3300000>;
228		regulator-boot-on;
229		regulator-always-on;
230	};
231};
232