diff options
author | Bert Vermeulen <bert@biot.com> | 2016-04-04 10:46:07 -0400 |
---|---|---|
committer | Gregory CLEMENT <gregory.clement@free-electrons.com> | 2016-04-14 13:06:50 -0400 |
commit | c134043ed396b06addf5866d977fed7ba6a393a9 (patch) | |
tree | 32940a6313c67e4281498854d534da0375080508 | |
parent | 864140d981b589c125eebcca3b11d4a7a3d232e6 (diff) |
ARM: dts: kirkwood: Add DTS for Linksys EA4200v2/EA4500
This platform is based on a Marvell 88E6282 SoC and 88E6171 switch.
[gregory.clement@free-electrons.com: fix block comment style]
Signed-off-by: Bert Vermeulen <bert@biot.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Reviewed-by: Imre Kaloz <kaloz@openwrt.org>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
-rw-r--r-- | arch/arm/boot/dts/Makefile | 1 | ||||
-rw-r--r-- | arch/arm/boot/dts/kirkwood-linksys-viper.dts | 240 |
2 files changed, 241 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index 8ec28748a9ba..a8dbf0228bf8 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile | |||
@@ -200,6 +200,7 @@ dtb-$(CONFIG_MACH_KIRKWOOD) += \ | |||
200 | kirkwood-linkstation-lswsxl.dtb \ | 200 | kirkwood-linkstation-lswsxl.dtb \ |
201 | kirkwood-linkstation-lswvl.dtb \ | 201 | kirkwood-linkstation-lswvl.dtb \ |
202 | kirkwood-linkstation-lswxl.dtb \ | 202 | kirkwood-linkstation-lswxl.dtb \ |
203 | kirkwood-linksys-viper.dtb \ | ||
203 | kirkwood-lschlv2.dtb \ | 204 | kirkwood-lschlv2.dtb \ |
204 | kirkwood-lsxhl.dtb \ | 205 | kirkwood-lsxhl.dtb \ |
205 | kirkwood-mplcec4.dtb \ | 206 | kirkwood-mplcec4.dtb \ |
diff --git a/arch/arm/boot/dts/kirkwood-linksys-viper.dts b/arch/arm/boot/dts/kirkwood-linksys-viper.dts new file mode 100644 index 000000000000..345fcac48dc7 --- /dev/null +++ b/arch/arm/boot/dts/kirkwood-linksys-viper.dts | |||
@@ -0,0 +1,240 @@ | |||
1 | /* | ||
2 | * kirkwood-viper.dts - Device Tree file for Linksys viper (E4200v2 / EA4500) | ||
3 | * | ||
4 | * (c) 2013 Jonas Gorski <jogo@openwrt.org> | ||
5 | * (c) 2013 Deutsche Telekom Innovation Laboratories | ||
6 | * (c) 2014 Luka Perkov <luka@openwrt.org> | ||
7 | * (c) 2014 Randy C. Will <randall.will@gmail.com> | ||
8 | * | ||
9 | * This file is licensed under the terms of the GNU General Public | ||
10 | * License version 2. This program is licensed "as is" without any | ||
11 | * warranty of any kind, whether express or implied. | ||
12 | */ | ||
13 | |||
14 | /dts-v1/; | ||
15 | |||
16 | #include "kirkwood.dtsi" | ||
17 | #include "kirkwood-6282.dtsi" | ||
18 | |||
19 | / { | ||
20 | model = "Linksys Viper (E4200v2 / EA4500)"; | ||
21 | compatible = "linksys,viper", "marvell,kirkwood-88f6282", "marvell,kirkwood"; | ||
22 | |||
23 | memory { | ||
24 | device_type = "memory"; | ||
25 | reg = <0x00000000 0x8000000>; | ||
26 | }; | ||
27 | |||
28 | aliases { | ||
29 | serial0 = &uart0; | ||
30 | }; | ||
31 | |||
32 | chosen { | ||
33 | stdout-path = "serial0:115200n8"; | ||
34 | }; | ||
35 | |||
36 | gpio_keys { | ||
37 | compatible = "gpio-keys"; | ||
38 | #address-cells = <1>; | ||
39 | #size-cells = <0>; | ||
40 | pinctrl-0 = < &pmx_btn_wps &pmx_btn_reset >; | ||
41 | pinctrl-names = "default"; | ||
42 | |||
43 | wps { | ||
44 | label = "WPS Button"; | ||
45 | linux,code = <KEY_WPS_BUTTON>; | ||
46 | gpios = <&gpio1 15 GPIO_ACTIVE_LOW>; | ||
47 | }; | ||
48 | |||
49 | reset { | ||
50 | label = "Reset Button"; | ||
51 | linux,code = <KEY_RESTART>; | ||
52 | gpios = <&gpio1 16 GPIO_ACTIVE_LOW>; | ||
53 | }; | ||
54 | }; | ||
55 | |||
56 | gpio-leds { | ||
57 | compatible = "gpio-leds"; | ||
58 | pinctrl-0 = < &pmx_led_white_health &pmx_led_white_pulse >; | ||
59 | pinctrl-names = "default"; | ||
60 | |||
61 | white-health { | ||
62 | label = "viper:white:health"; | ||
63 | gpios = <&gpio0 7 GPIO_ACTIVE_HIGH>; | ||
64 | }; | ||
65 | |||
66 | white-pulse { | ||
67 | label = "viper:white:pulse"; | ||
68 | gpios = <&gpio0 14 GPIO_ACTIVE_HIGH>; | ||
69 | }; | ||
70 | }; | ||
71 | |||
72 | dsa { | ||
73 | compatible = "marvell,dsa"; | ||
74 | #address-cells = <2>; | ||
75 | #size-cells = <0>; | ||
76 | |||
77 | dsa,ethernet = <ð0port>; | ||
78 | dsa,mii-bus = <&mdio>; | ||
79 | |||
80 | switch@16,0 { | ||
81 | #address-cells = <1>; | ||
82 | #size-cells = <0>; | ||
83 | reg = <16 0>; /* MDIO address 16, switch 0 in tree */ | ||
84 | |||
85 | port@0 { | ||
86 | reg = <0>; | ||
87 | label = "ethernet1"; | ||
88 | }; | ||
89 | |||
90 | port@1 { | ||
91 | reg = <1>; | ||
92 | label = "ethernet2"; | ||
93 | }; | ||
94 | |||
95 | port@2 { | ||
96 | reg = <2>; | ||
97 | label = "ethernet3"; | ||
98 | }; | ||
99 | |||
100 | port@3 { | ||
101 | reg = <3>; | ||
102 | label = "ethernet4"; | ||
103 | }; | ||
104 | |||
105 | port@4 { | ||
106 | reg = <4>; | ||
107 | label = "internet"; | ||
108 | }; | ||
109 | |||
110 | port@5 { | ||
111 | reg = <5>; | ||
112 | label = "cpu"; | ||
113 | }; | ||
114 | }; | ||
115 | }; | ||
116 | }; | ||
117 | |||
118 | &pinctrl { | ||
119 | pmx_led_white_health: pmx-led-white-health { | ||
120 | marvell,pins = "mpp7"; | ||
121 | marvell,function = "gpo"; | ||
122 | }; | ||
123 | pmx_led_white_pulse: pmx-led-white-pulse { | ||
124 | marvell,pins = "mpp14"; | ||
125 | marvell,function = "gpio"; | ||
126 | }; | ||
127 | pmx_btn_wps: pmx-btn-wps { | ||
128 | marvell,pins = "mpp47"; | ||
129 | marvell,function = "gpio"; | ||
130 | }; | ||
131 | pmx_btn_reset: pmx-btn-reset { | ||
132 | marvell,pins = "mpp48"; | ||
133 | marvell,function = "gpio"; | ||
134 | }; | ||
135 | }; | ||
136 | |||
137 | &nand { | ||
138 | status = "okay"; | ||
139 | pinctrl-0 = <&pmx_nand>; | ||
140 | pinctrl-names = "default"; | ||
141 | |||
142 | partitions { | ||
143 | compatible = "fixed-partitions"; | ||
144 | #address-cells = <1>; | ||
145 | #size-cells = <1>; | ||
146 | |||
147 | partition@0 { | ||
148 | label = "u-boot"; | ||
149 | reg = <0x0 0x80000>; | ||
150 | read-only; | ||
151 | }; | ||
152 | |||
153 | partition@80000 { | ||
154 | label = "u_env"; | ||
155 | reg = <0x80000 0x20000>; | ||
156 | }; | ||
157 | |||
158 | partition@A0000 { | ||
159 | label = "s_env"; | ||
160 | reg = <0xA0000 0x20000>; | ||
161 | }; | ||
162 | |||
163 | partition@200000 { | ||
164 | label = "kernel"; | ||
165 | reg = <0x200000 0x2A0000>; | ||
166 | }; | ||
167 | |||
168 | partition@4A0000 { | ||
169 | label = "rootfs"; | ||
170 | reg = <0x4A0000 0x1760000>; | ||
171 | }; | ||
172 | |||
173 | partition@1C00000 { | ||
174 | label = "alt_kernel"; | ||
175 | reg = <0x1C00000 0x2A0000>; | ||
176 | }; | ||
177 | |||
178 | partition@1EA0000 { | ||
179 | label = "alt_rootfs"; | ||
180 | reg = <0x1EA0000 0x1760000>; | ||
181 | }; | ||
182 | |||
183 | partition@3600000 { | ||
184 | label = "syscfg"; | ||
185 | reg = <0x3600000 0x4A00000>; | ||
186 | }; | ||
187 | |||
188 | partition@C0000 { | ||
189 | label = "unused"; | ||
190 | reg = <0xC0000 0x140000>; | ||
191 | }; | ||
192 | |||
193 | }; | ||
194 | }; | ||
195 | |||
196 | &pciec { | ||
197 | status = "okay"; | ||
198 | }; | ||
199 | |||
200 | &pcie0 { | ||
201 | status = "okay"; | ||
202 | }; | ||
203 | |||
204 | &pcie1 { | ||
205 | status = "okay"; | ||
206 | }; | ||
207 | |||
208 | &mdio { | ||
209 | status = "okay"; | ||
210 | }; | ||
211 | |||
212 | &uart0 { | ||
213 | status = "okay"; | ||
214 | }; | ||
215 | |||
216 | /* eth0 is connected to a Marvell 88E6171 switch, without a PHY. So set | ||
217 | * fixed speed and duplex. | ||
218 | */ | ||
219 | ð0 { | ||
220 | status = "okay"; | ||
221 | ethernet0-port@0 { | ||
222 | speed = <1000>; | ||
223 | duplex = <1>; | ||
224 | }; | ||
225 | }; | ||
226 | |||
227 | /* eth1 is connected to the switch at port 6. However DSA only supports a | ||
228 | * single CPU port. So leave this port disabled to avoid confusion. | ||
229 | */ | ||
230 | ð1 { | ||
231 | status = "disabled"; | ||
232 | }; | ||
233 | |||
234 | /* There is no battery on the board, so the RTC does not keep | ||
235 | * time when there is no power, making it useless. | ||
236 | */ | ||
237 | &rtc { | ||
238 | status = "disabled"; | ||
239 | }; | ||
240 | |||