GNU Linux-libre 4.19.264-gnu1
[releases.git] / arch / arm / boot / dts / at91-vinco.dts
1 /*
2  * Device Tree file for VInCo platform
3  *
4  *  Copyright (C) 2014 Atmel,
5  *                2014 Nicolas Ferre <nicolas.ferre@atmel.com>
6  *   2015 Gregory CLEMENT <gregory.clement@free-electrons.com>
7  *
8  * This file is dual-licensed: you can use it either under the terms
9  * of the GPL or the X11 license, at your option. Note that this dual
10  * licensing only applies to this file, and not this project as a
11  * whole.
12  *
13  *  a) This file is free software; you can redistribute it and/or
14  *     modify it under the terms of the GNU General Public License as
15  *     published by the Free Software Foundation; either version 2 of the
16  *     License, or (at your option) any later version.
17  *
18  *     This file is distributed in the hope that it will be useful,
19  *     but WITHOUT ANY WARRANTY; without even the implied warranty of
20  *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21  *     GNU General Public License for more details.
22  *
23  * Or, alternatively,
24  *
25  *  b) Permission is hereby granted, free of charge, to any person
26  *     obtaining a copy of this software and associated documentation
27  *     files (the "Software"), to deal in the Software without
28  *     restriction, including without limitation the rights to use,
29  *     copy, modify, merge, publish, distribute, sublicense, and/or
30  *     sell copies of the Software, and to permit persons to whom the
31  *     Software is furnished to do so, subject to the following
32  *     conditions:
33  *
34  *     The above copyright notice and this permission notice shall be
35  *     included in all copies or substantial portions of the Software.
36  *
37  *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
38  *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
39  *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
40  *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
41  *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
42  *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
43  *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
44  *     OTHER DEALINGS IN THE SOFTWARE.
45  */
46 /dts-v1/;
47 #include "sama5d4.dtsi"
48
49 / {
50         model = "L+G VInCo platform";
51         compatible = "l+g,vinco", "atmel,sama5d4", "atmel,sama5";
52
53         chosen {
54                 stdout-path = "serial0:115200n8";
55         };
56
57         memory {
58                 reg = <0x20000000 0x4000000>;
59         };
60
61         clocks {
62                 slow_xtal {
63                         clock-frequency = <32768>;
64                 };
65
66                 main_xtal {
67                         clock-frequency = <12000000>;
68                 };
69         };
70
71         ahb {
72                 apb {
73
74                         adc0: adc@fc034000 {
75                                 status = "okay"; /* Enable ADC IIO support */
76                         };
77
78                         mmc0: mmc@f8000000 {
79                                 pinctrl-names = "default";
80                                 pinctrl-0 = <&pinctrl_mmc0_clk_cmd_dat0
81                                              &pinctrl_mmc0_dat1_3
82                                              &pinctrl_mmc0_dat4_7>;
83                                 vqmmc-supply = <&vcc_3v3_reg>;
84                                 vmmc-supply = <&vcc_3v3_reg>;
85                                 no-1-8-v;
86                                 status = "okay";
87                                 slot@0 {
88                                         reg = <0>;
89                                         bus-width = <8>;
90                                         non-removable;
91                                         broken-cd;
92                                         status = "okay";
93                                 };
94                         };
95
96                         spi0: spi@f8010000 {
97                                 cs-gpios = <&pioC 3 0>, <0>, <0>, <0>;
98                                 status = "okay";
99                                 m25p80@0 {
100                                         compatible = "n25q32b", "jedec,spi-nor";
101                                         spi-max-frequency = <50000000>;
102                                         reg = <0>;
103                                 };
104                         };
105
106                         i2c0: i2c@f8014000 {
107                                 status = "okay";
108                         };
109
110                         i2c1: i2c@f8018000 {
111                                 status = "okay";
112                                 /* kerkey security module */
113                         };
114
115                         macb0: ethernet@f8020000 {
116                                 phy-mode = "rmii";
117                                 status = "okay";
118
119                                 ethernet-phy@1 {
120                                         reg = <0x1>;
121                                         reset-gpios = <&pioE 8 GPIO_ACTIVE_LOW>;
122                                         interrupt-parent = <&pioB>;
123                                         interrupts = <15 IRQ_TYPE_EDGE_FALLING>;
124                                 };
125
126                         };
127
128                         i2c2: i2c@f8024000 {
129                                 status = "okay";
130
131                                 rtc1: rtc@32 {
132                                         compatible = "epson,rx8900";
133                                         reg = <0x32>;
134                                 };
135                         };
136
137                         usart2: serial@fc008000 {
138                                 /* MBUS */
139                                 status = "okay";
140                         };
141
142                         usart3: serial@fc00c000 {
143                                 /* debug */
144                                 status = "okay";
145                         };
146
147                         usart4: serial@fc010000 {
148                                 /* LMN */
149                                 pinctrl-0 = <&pinctrl_usart4 &pinctrl_usart4_rts>;
150                                 linux,rs485-enabled-at-boot-time;
151                                 status = "okay";
152                         };
153
154                         tcb2: timer@fc024000 {
155                                 timer@0 {
156                                         compatible = "atmel,tcb-timer";
157                                         reg = <0>;
158                                 };
159
160                                 timer@1 {
161                                         compatible = "atmel,tcb-timer";
162                                         reg = <1>;
163                                 };
164                         };
165
166                         macb1: ethernet@fc028000 {
167                                 phy-mode = "rmii";
168                                 status = "okay";
169                                 #address-cells = <1>;
170                                 #size-cells = <0>;
171                                 status = "okay";
172
173                                 ethernet-phy@1 {
174                                         reg = <0x1>;
175                                         interrupt-parent = <&pioB>;
176                                         interrupts = <31 IRQ_TYPE_EDGE_FALLING>;
177                                         reset-gpios = <&pioE 6 GPIO_ACTIVE_LOW>;
178                                 };
179                         };
180
181                         watchdog@fc068640 {
182                                 status = "okay";
183                         };
184
185                         pinctrl@fc06a000 {
186                                 board {
187                                         pinctrl_usba_vbus: usba_vbus {
188                                                 atmel,pins =
189                                                 <AT91_PIOE 31 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>;
190                                         };
191                                 };
192                         };
193                 };
194
195                 usb0: gadget@400000 {
196                         atmel,vbus-gpio = <&pioE 31 GPIO_ACTIVE_HIGH>;
197                         pinctrl-names = "default";
198                         pinctrl-0 = <&pinctrl_usba_vbus>;
199                         status = "disable";
200                 };
201
202                 usb1: ohci@500000 {
203                         num-ports = <3>;
204                         atmel,vbus-gpio = <0
205                                            &pioE 11 GPIO_ACTIVE_LOW
206                                            &pioE 12 GPIO_ACTIVE_LOW
207                                           >;
208                         status = "disable";
209                 };
210
211                 usb2: ehci@600000 {
212                         /* 4G Modem */
213                         status = "okay";
214                 };
215
216         };
217
218         leds {
219                 compatible = "gpio-leds";
220                 status = "okay";
221
222                 led_err {
223                         label = "err";
224                         gpios = <&pioA 7 GPIO_ACTIVE_LOW>;
225                         default-state = "off";
226                 };
227
228                 led_rssi {
229                         label = "rssi";
230                         gpios = <&pioA 9 GPIO_ACTIVE_LOW>;
231                         default-state = "off";
232                 };
233
234                 led_tls {
235                         label = "tls";
236                         gpios = <&pioA 24 GPIO_ACTIVE_LOW>;
237                         default-state = "off";
238                 };
239
240                 led_lmc {
241                         label = "lmc";
242                         gpios = <&pioA 25 GPIO_ACTIVE_LOW>;
243                         default-state = "off";
244                 };
245
246                 led_wmt {
247                         label = "wmt";
248                         gpios = <&pioA 29 GPIO_ACTIVE_LOW>;
249                         default-state = "off";
250                 };
251
252                 led_pwr {
253                         label = "pwr";
254                         gpios = <&pioA 26 GPIO_ACTIVE_LOW>;
255                         default-state = "on";
256                 };
257
258         };
259
260         vcc_3v3_reg: fixedregulator_3v3 {
261                 compatible = "regulator-fixed";
262                 regulator-name = "VCC 3V3";
263                 regulator-min-microvolt = <3300000>;
264                 regulator-max-microvolt = <3300000>;
265                 regulator-boot-on;
266                 regulator-always-on;
267         };
268 };