blob: 45371a1b61b398b6b939292649b20d0315cd399b [file] [log] [blame]
Josh Wu38153a02015-03-04 10:51:48 +08001/*
2 * at91-sama5d4_xplained.dts - Device Tree file for SAMA5D4 Xplained board
3 *
4 * Copyright (C) 2015 Atmel,
5 * 2015 Josh Wu <josh.wu@atmel.com>
6 *
7 * This file is dual-licensed: you can use it either under the terms
8 * of the GPL or the X11 license, at your option. Note that this dual
9 * licensing only applies to this file, and not this project as a
10 * whole.
11 *
12 * a) This file is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License as
14 * published by the Free Software Foundation; either version 2 of the
15 * License, or (at your option) any later version.
16 *
17 * This file is distributed in the hope that it will be useful,
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 * GNU General Public License for more details.
21 *
22 * Or, alternatively,
23 *
24 * b) Permission is hereby granted, free of charge, to any person
25 * obtaining a copy of this software and associated documentation
26 * files (the "Software"), to deal in the Software without
27 * restriction, including without limitation the rights to use,
28 * copy, modify, merge, publish, distribute, sublicense, and/or
29 * sell copies of the Software, and to permit persons to whom the
30 * Software is furnished to do so, subject to the following
31 * conditions:
32 *
33 * The above copyright notice and this permission notice shall be
34 * included in all copies or substantial portions of the Software.
35 *
36 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
37 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
38 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
39 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
40 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
41 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
42 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
43 * OTHER DEALINGS IN THE SOFTWARE.
44 */
45/dts-v1/;
46#include "sama5d4.dtsi"
47
48/ {
49 model = "Atmel SAMA5D4 Xplained";
50 compatible = "atmel,sama5d4-xplained", "atmel,sama5d4", "atmel,sama5";
51
52 chosen {
Alexandre Bellonie1e6c322015-06-03 14:24:17 +020053 bootargs = "ignore_loglevel earlyprintk";
54 stdout-path = "serial0:115200n8";
Josh Wu38153a02015-03-04 10:51:48 +080055 };
56
57 memory {
58 reg = <0x20000000 0x20000000>;
59 };
60
61 clocks {
62 #address-cells = <1>;
63 #size-cells = <1>;
64 ranges;
65
66 main_clock: clock@0 {
67 compatible = "atmel,osc", "fixed-clock";
68 clock-frequency = <12000000>;
69 };
70
71 slow_xtal {
72 clock-frequency = <32768>;
73 };
74
75 main_xtal {
76 clock-frequency = <12000000>;
77 };
78 };
79
80 ahb {
81 apb {
82 spi0: spi@f8010000 {
83 cs-gpios = <&pioC 3 0>, <0>, <0>, <0>;
84 status = "okay";
85 m25p80@0 {
86 compatible = "atmel,at25df321a";
87 spi-max-frequency = <50000000>;
88 reg = <0>;
89 };
90 };
91
Nicolas Ferredf99d082015-02-26 16:05:14 +010092 i2c0: i2c@f8014000 {
93 status = "okay";
94 };
95
Josh Wu38153a02015-03-04 10:51:48 +080096 macb0: ethernet@f8020000 {
97 phy-mode = "rmii";
98 status = "okay";
99
100 phy0: ethernet-phy@1 {
101 interrupt-parent = <&pioE>;
102 interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
103 reg = <1>;
104 };
105 };
106
107 mmc1: mmc@fc000000 {
108 pinctrl-names = "default";
109 pinctrl-0 = <&pinctrl_mmc1_clk_cmd_dat0 &pinctrl_mmc1_dat1_3 &pinctrl_mmc1_cd>;
Ludovic Desroches8d545f32015-04-27 15:27:52 +0200110 vmmc-supply = <&vcc_mmc1_reg>;
111 vqmmc-supply = <&vcc_3v3_reg>;
Josh Wu38153a02015-03-04 10:51:48 +0800112 status = "okay";
113 slot@0 {
114 reg = <0>;
115 bus-width = <4>;
116 cd-gpios = <&pioE 3 0>;
117 };
118 };
119
120 usart3: serial@fc00c000 {
121 status = "okay";
122 };
123
124 usart4: serial@fc010000 {
125 status = "okay";
126 };
127
Nicolas Ferre50f24722015-05-18 12:18:03 +0200128 spi1: spi@fc018000 {
129 cs-gpios = <&pioB 21 0>;
130 status = "okay";
131 };
132
Josh Wu38153a02015-03-04 10:51:48 +0800133 adc0: adc@fc034000 {
Alexandre Belloni0f17c972015-06-22 09:45:48 +0200134 pinctrl-names = "default";
135 pinctrl-0 = <
136 /* external trigger conflicts with USBA_VBUS */
137 &pinctrl_adc0_ad0
138 &pinctrl_adc0_ad1
139 &pinctrl_adc0_ad2
140 &pinctrl_adc0_ad3
141 &pinctrl_adc0_ad4
142 >;
Josh Wu38153a02015-03-04 10:51:48 +0800143 atmel,adc-vref = <3300>;
144 status = "okay";
145 };
146
147 watchdog@fc068640 {
148 status = "okay";
149 };
150
151 pinctrl@fc06a000 {
152 board {
153 pinctrl_mmc1_cd: mmc1_cd {
154 atmel,pins =
155 <AT91_PIOE 3 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
156 };
157 pinctrl_usba_vbus: usba_vbus {
158 atmel,pins =
159 <AT91_PIOE 31 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>;
160 };
161 pinctrl_key_gpio: key_gpio_0 {
162 atmel,pins =
163 <AT91_PIOE 8 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
164 };
165 };
166 };
167 };
168
169 usb0: gadget@00400000 {
170 atmel,vbus-gpio = <&pioE 31 GPIO_ACTIVE_HIGH>;
171 pinctrl-names = "default";
172 pinctrl-0 = <&pinctrl_usba_vbus>;
173 status = "okay";
174 };
175
176 usb1: ohci@00500000 {
177 num-ports = <3>;
178 atmel,vbus-gpio = <0
179 &pioE 11 GPIO_ACTIVE_HIGH
180 &pioE 14 GPIO_ACTIVE_HIGH
181 >;
182 status = "okay";
183 };
184
185 usb2: ehci@00600000 {
186 status = "okay";
187 };
188
189 nand0: nand@80000000 {
190 nand-bus-width = <8>;
191 nand-ecc-mode = "hw";
192 nand-on-flash-bbt;
193 atmel,has-pmecc;
194 status = "okay";
195
196 at91bootstrap@0 {
197 label = "at91bootstrap";
198 reg = <0x0 0x40000>;
199 };
200
201 bootloader@40000 {
202 label = "bootloader";
203 reg = <0x40000 0x80000>;
204 };
205
206 bootloaderenv@c0000 {
207 label = "bootloader env";
208 reg = <0xc0000 0xc0000>;
209 };
210
211 dtb@180000 {
212 label = "device tree";
213 reg = <0x180000 0x80000>;
214 };
215
216 kernel@200000 {
217 label = "kernel";
218 reg = <0x200000 0x600000>;
219 };
220
221 rootfs@800000 {
222 label = "rootfs";
223 reg = <0x800000 0x0f800000>;
224 };
225 };
226 };
227
228 gpio_keys {
229 compatible = "gpio-keys";
230
231 pinctrl-names = "default";
232 pinctrl-0 = <&pinctrl_key_gpio>;
233
234 pb_user1 {
235 label = "pb_user1";
236 gpios = <&pioE 8 GPIO_ACTIVE_HIGH>;
237 linux,code = <0x100>;
238 gpio-key,wakeup;
239 };
240 };
241
242 leds {
243 compatible = "gpio-leds";
244 status = "okay";
245
246 d8 {
247 label = "d8";
248 gpios = <&pioD 30 GPIO_ACTIVE_HIGH>;
Josh Wu4a43c3b2015-04-23 10:08:04 +0200249 default-state = "on";
Josh Wu38153a02015-03-04 10:51:48 +0800250 };
251
252 d10 {
253 label = "d10";
254 gpios = <&pioE 15 GPIO_ACTIVE_LOW>;
255 linux,default-trigger = "heartbeat";
256 };
257 };
Ludovic Desroches8d545f32015-04-27 15:27:52 +0200258
259 vcc_3v3_reg: fixedregulator@0 {
260 compatible = "regulator-fixed";
261 regulator-name = "VCC 3V3";
262 regulator-min-microvolt = <3300000>;
263 regulator-max-microvolt = <3300000>;
264 regulator-boot-on;
265 regulator-always-on;
266 };
267
268 vcc_mmc1_reg: fixedregulator@1 {
269 compatible = "regulator-fixed";
270 gpio = <&pioE 4 GPIO_ACTIVE_LOW>;
271 regulator-name = "VDD MCI1";
272 regulator-min-microvolt = <3300000>;
273 regulator-max-microvolt = <3300000>;
274 vin-supply = <&vcc_3v3_reg>;
275 };
Josh Wu38153a02015-03-04 10:51:48 +0800276};