diff options
author | Marek Vasut <marex@denx.de> | 2016-04-13 08:24:58 -0400 |
---|---|---|
committer | Dinh Nguyen <dinguyen@opensource.altera.com> | 2016-04-22 11:09:02 -0400 |
commit | 6b126245907a77642efe738f81837dc58e3a5d28 (patch) | |
tree | 21144995306f5ef3ab5e6651d1e1786f9e2d0bca | |
parent | f55532a0c0b8bb6148f4e07853b876ef73bc69ca (diff) |
ARM: dts: socfpga: Add samtec VIN|ING board
Add support for board based on the popular Altera Cyclone V SoC.
This board has the following properties:
- 1 GiB of DRAM
- 1 Gigabit ethernet
- 1 USB gadget port
- 1 USB host port with an on-board hub
- 2 QSPI NORs connected to the Cadence QSPI core
- Multiple I2C EEPROMs and one I2C temperature sensor
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Dinh Nguyen <dinguyen@opensource.altera.com>
Signed-off-by: Dinh Nguyen <dinguyen@opensource.altera.com>
-rw-r--r-- | arch/arm/boot/dts/Makefile | 1 | ||||
-rw-r--r-- | arch/arm/boot/dts/socfpga_cyclone5_vining_fpga.dts | 310 |
2 files changed, 311 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index 95c1923ce6fa..c2c9c048569c 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile | |||
@@ -608,6 +608,7 @@ dtb-$(CONFIG_ARCH_SOCFPGA) += \ | |||
608 | socfpga_cyclone5_de0_sockit.dtb \ | 608 | socfpga_cyclone5_de0_sockit.dtb \ |
609 | socfpga_cyclone5_sockit.dtb \ | 609 | socfpga_cyclone5_sockit.dtb \ |
610 | socfpga_cyclone5_socrates.dtb \ | 610 | socfpga_cyclone5_socrates.dtb \ |
611 | socfpga_cyclone5_vining_fpga.dtb \ | ||
611 | socfpga_vt.dtb | 612 | socfpga_vt.dtb |
612 | dtb-$(CONFIG_ARCH_SPEAR13XX) += \ | 613 | dtb-$(CONFIG_ARCH_SPEAR13XX) += \ |
613 | spear1310-evb.dtb \ | 614 | spear1310-evb.dtb \ |
diff --git a/arch/arm/boot/dts/socfpga_cyclone5_vining_fpga.dts b/arch/arm/boot/dts/socfpga_cyclone5_vining_fpga.dts new file mode 100644 index 000000000000..a3601e4c0a2e --- /dev/null +++ b/arch/arm/boot/dts/socfpga_cyclone5_vining_fpga.dts | |||
@@ -0,0 +1,310 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2015 Marek Vasut <marex@denx.de> | ||
3 | * | ||
4 | * This file is dual-licensed: you can use it either under the terms | ||
5 | * of the GPL or the X11 license, at your option. Note that this dual | ||
6 | * licensing only applies to this file, and not this project as a | ||
7 | * whole. | ||
8 | * | ||
9 | * a) This file is free software; you can redistribute it and/or | ||
10 | * modify it under the terms of the GNU General Public License as | ||
11 | * published by the Free Software Foundation; either version 2 of | ||
12 | * the License, or (at your option) any later version. | ||
13 | * | ||
14 | * This file is distributed in the hope that it will be useful, | ||
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
17 | * GNU General Public License for more details. | ||
18 | * | ||
19 | * You should have received a copy of the GNU General Public | ||
20 | * License along with this file; if not, write to the Free | ||
21 | * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, | ||
22 | * MA 02110-1301 USA | ||
23 | * | ||
24 | * Or, alternatively, | ||
25 | * | ||
26 | * b) Permission is hereby granted, free of charge, to any person | ||
27 | * obtaining a copy of this software and associated documentation | ||
28 | * files (the "Software"), to deal in the Software without | ||
29 | * restriction, including without limitation the rights to use, | ||
30 | * copy, modify, merge, publish, distribute, sublicense, and/or | ||
31 | * sell copies of the Software, and to permit persons to whom the | ||
32 | * Software is furnished to do so, subject to the following | ||
33 | * conditions: | ||
34 | * | ||
35 | * The above copyright notice and this permission notice shall be | ||
36 | * included in all copies or substantial portions of the Software. | ||
37 | * | ||
38 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
39 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES | ||
40 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
41 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT | ||
42 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | ||
43 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||
44 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | ||
45 | * OTHER DEALINGS IN THE SOFTWARE. | ||
46 | */ | ||
47 | |||
48 | #include "socfpga_cyclone5.dtsi" | ||
49 | #include <dt-bindings/gpio/gpio.h> | ||
50 | #include <dt-bindings/input/input.h> | ||
51 | |||
52 | / { | ||
53 | model = "samtec VIN|ING FPGA"; | ||
54 | compatible = "altr,socfpga-cyclone5", "altr,socfpga"; | ||
55 | |||
56 | chosen { | ||
57 | bootargs = "console=ttyS0,115200"; | ||
58 | }; | ||
59 | |||
60 | memory { | ||
61 | name = "memory"; | ||
62 | device_type = "memory"; | ||
63 | reg = <0x0 0x40000000>; /* 1GB */ | ||
64 | }; | ||
65 | |||
66 | aliases { | ||
67 | /* | ||
68 | * This allow the ethaddr uboot environment variable contents | ||
69 | * to be added to the gmac1 device tree blob. | ||
70 | */ | ||
71 | ethernet0 = &gmac1; | ||
72 | }; | ||
73 | |||
74 | leds { | ||
75 | compatible = "gpio-leds"; | ||
76 | |||
77 | hps_led0 { | ||
78 | label = "hps:green:led0"; /* ALIVE_LED_GR */ | ||
79 | gpios = <&portb 19 0>; /* HPS_GPIO48 */ | ||
80 | linux,default-trigger = "heartbeat"; | ||
81 | }; | ||
82 | |||
83 | hps_led1 { | ||
84 | label = "hps:red:led0"; /* ALIVE_LED_RD */ | ||
85 | gpios = <&portb 24 0>; /* HPS_GPIO53 */ | ||
86 | linux,default-trigger = "none"; | ||
87 | }; | ||
88 | |||
89 | hps_led2 { | ||
90 | label = "hps:green:led1"; /* LINK2HOST_LED_GR */ | ||
91 | gpios = <&portb 25 0>; /* HPS_GPIO54 */ | ||
92 | linux,default-trigger = "heartbeat"; | ||
93 | }; | ||
94 | |||
95 | hps_led3 { | ||
96 | label = "hps:red:led1"; /* LINK2HOST_LED_RD */ | ||
97 | gpios = <&portc 7 0>; /* HPS_GPIO65 */ | ||
98 | linux,default-trigger = "none"; | ||
99 | }; | ||
100 | }; | ||
101 | |||
102 | gpio-keys { | ||
103 | compatible = "gpio-keys"; | ||
104 | |||
105 | hps_temp0 { | ||
106 | label = "BTN_0"; /* TEMP_OS */ | ||
107 | gpios = <&portc 18 GPIO_ACTIVE_LOW>; /* HPS_GPIO60 */ | ||
108 | linux,code = <BTN_0>; | ||
109 | }; | ||
110 | |||
111 | hps_hkey0 { | ||
112 | label = "BTN_1"; /* DIS_PWR */ | ||
113 | gpios = <&portc 19 GPIO_ACTIVE_LOW>; /* HPS_GPIO61 */ | ||
114 | linux,code = <BTN_1>; | ||
115 | }; | ||
116 | |||
117 | hps_hkey1 { | ||
118 | label = "hps_hkey1"; /* POWER_DOWN */ | ||
119 | gpios = <&portc 20 GPIO_ACTIVE_LOW>; /* HPS_GPIO62 */ | ||
120 | linux,code = <KEY_POWER>; | ||
121 | }; | ||
122 | }; | ||
123 | |||
124 | regulator-usb-nrst { | ||
125 | compatible = "regulator-fixed"; | ||
126 | regulator-name = "usb_nrst"; | ||
127 | regulator-min-microvolt = <5000000>; | ||
128 | regulator-max-microvolt = <5000000>; | ||
129 | gpio = <&portb 5 GPIO_ACTIVE_HIGH>; | ||
130 | startup-delay-us = <70000>; | ||
131 | enable-active-high; | ||
132 | regulator-always-on; | ||
133 | }; | ||
134 | }; | ||
135 | |||
136 | &gmac1 { | ||
137 | status = "okay"; | ||
138 | phy-mode = "rgmii"; | ||
139 | |||
140 | snps,reset-gpio = <&porta 0 GPIO_ACTIVE_LOW>; | ||
141 | snps,reset-active-low; | ||
142 | snps,reset-delays-us = <10000 10000 10000>; | ||
143 | |||
144 | mdio0 { | ||
145 | #address-cells = <1>; | ||
146 | #size-cells = <0>; | ||
147 | compatible = "snps,dwmac-mdio"; | ||
148 | phy1: ethernet-phy@1 { | ||
149 | reg = <1>; | ||
150 | rxd0-skew-ps = <0>; | ||
151 | rxd1-skew-ps = <0>; | ||
152 | rxd2-skew-ps = <0>; | ||
153 | rxd3-skew-ps = <0>; | ||
154 | txen-skew-ps = <0>; | ||
155 | txc-skew-ps = <2600>; | ||
156 | rxdv-skew-ps = <0>; | ||
157 | rxc-skew-ps = <2000>; | ||
158 | }; | ||
159 | }; | ||
160 | }; | ||
161 | |||
162 | &gpio0 { /* GPIO 0..29 */ | ||
163 | status = "okay"; | ||
164 | }; | ||
165 | |||
166 | &gpio1 { /* GPIO 30..57 */ | ||
167 | status = "okay"; | ||
168 | }; | ||
169 | |||
170 | &gpio2 { /* GPIO 58..66 (HLGPI 0..13 at offset 13) */ | ||
171 | status = "okay"; | ||
172 | }; | ||
173 | |||
174 | &i2c0 { | ||
175 | status = "okay"; | ||
176 | |||
177 | gpio: pca9557@1f { | ||
178 | compatible = "nxp,pca9557"; | ||
179 | reg = <0x1f>; | ||
180 | gpio-controller; | ||
181 | #gpio-cells = <2>; | ||
182 | }; | ||
183 | |||
184 | temp: lm75@48 { | ||
185 | compatible = "lm75"; | ||
186 | reg = <0x48>; | ||
187 | }; | ||
188 | |||
189 | at24@50 { | ||
190 | compatible = "at24,24c01"; | ||
191 | pagesize = <8>; | ||
192 | reg = <0x50>; | ||
193 | }; | ||
194 | |||
195 | i2cswitch@70 { | ||
196 | compatible = "nxp,pca9548"; | ||
197 | #address-cells = <1>; | ||
198 | #size-cells = <0>; | ||
199 | reg = <0x70>; | ||
200 | |||
201 | i2c@0 { | ||
202 | #address-cells = <1>; | ||
203 | #size-cells = <0>; | ||
204 | reg = <0>; | ||
205 | eeprom@51 { | ||
206 | compatible = "at,24c01"; | ||
207 | pagesize = <8>; | ||
208 | reg = <0x51>; | ||
209 | }; | ||
210 | }; | ||
211 | |||
212 | i2c@1 { | ||
213 | #address-cells = <1>; | ||
214 | #size-cells = <0>; | ||
215 | reg = <1>; | ||
216 | eeprom@51 { | ||
217 | compatible = "at,24c01"; | ||
218 | pagesize = <8>; | ||
219 | reg = <0x51>; | ||
220 | }; | ||
221 | }; | ||
222 | |||
223 | i2c@2 { | ||
224 | #address-cells = <1>; | ||
225 | #size-cells = <0>; | ||
226 | reg = <2>; | ||
227 | eeprom@51 { | ||
228 | compatible = "at,24c01"; | ||
229 | pagesize = <8>; | ||
230 | reg = <0x51>; | ||
231 | }; | ||
232 | }; | ||
233 | |||
234 | i2c@3 { | ||
235 | #address-cells = <1>; | ||
236 | #size-cells = <0>; | ||
237 | reg = <3>; | ||
238 | eeprom@51 { | ||
239 | compatible = "at,24c01"; | ||
240 | pagesize = <8>; | ||
241 | reg = <0x51>; | ||
242 | }; | ||
243 | }; | ||
244 | |||
245 | i2c@4 { | ||
246 | #address-cells = <1>; | ||
247 | #size-cells = <0>; | ||
248 | reg = <4>; | ||
249 | eeprom@51 { | ||
250 | compatible = "at,24c01"; | ||
251 | pagesize = <8>; | ||
252 | reg = <0x51>; | ||
253 | }; | ||
254 | }; | ||
255 | |||
256 | i2c@5 { | ||
257 | #address-cells = <1>; | ||
258 | #size-cells = <0>; | ||
259 | reg = <5>; | ||
260 | eeprom@51 { | ||
261 | compatible = "at,24c01"; | ||
262 | pagesize = <8>; | ||
263 | reg = <0x51>; | ||
264 | }; | ||
265 | }; | ||
266 | |||
267 | i2c@6 { | ||
268 | #address-cells = <1>; | ||
269 | #size-cells = <0>; | ||
270 | reg = <6>; | ||
271 | eeprom@51 { | ||
272 | compatible = "at,24c01"; | ||
273 | pagesize = <8>; | ||
274 | reg = <0x51>; | ||
275 | }; | ||
276 | }; | ||
277 | |||
278 | i2c@7 { | ||
279 | #address-cells = <1>; | ||
280 | #size-cells = <0>; | ||
281 | reg = <7>; | ||
282 | eeprom@51 { | ||
283 | compatible = "at,24c01"; | ||
284 | pagesize = <8>; | ||
285 | reg = <0x51>; | ||
286 | }; | ||
287 | }; | ||
288 | }; | ||
289 | }; | ||
290 | |||
291 | &i2c1 { | ||
292 | status = "okay"; | ||
293 | clock-frequency = <100000>; | ||
294 | |||
295 | at24@50 { | ||
296 | compatible = "at24,24c02"; | ||
297 | pagesize = <8>; | ||
298 | reg = <0x50>; | ||
299 | }; | ||
300 | }; | ||
301 | |||
302 | &usb0 { | ||
303 | dr_mode = "host"; | ||
304 | status = "okay"; | ||
305 | }; | ||
306 | |||
307 | &usb1 { | ||
308 | dr_mode = "peripheral"; | ||
309 | status = "okay"; | ||
310 | }; | ||