aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRalph Sennhauser <ralph.sennhauser@gmail.com>2017-05-24 02:16:46 -0400
committerGregory CLEMENT <gregory.clement@free-electrons.com>2017-06-17 02:16:46 -0400
commit41c8652096268988207d4fa13ee9236c9980d34d (patch)
tree4c8941b8c9e915f7476c2baa4073402c7b77a30b
parentb2758f8edbf87f964825de1119887d9deb56dbaa (diff)
ARM: dts: mvebu: add support for Linksys WRT3200ACM (Rango)
The Linksys WRT3200ACM (Rango) is the lates Armada-385 based router in the Linksys WRT AC Series which got released in October 2016. Key differences to the earlier Armada-385 based devices in the series is a bigger flash chip, next generation wireless modules (Marvell 88W8964) in the mini pcie slots as well as a Marvell SD8887. Finally the CPU is clocked at 1866 GHz by default. The file armada-385-linksys-rango.dts is loosly based off of a DTS authored by Imre Kaloz. As Rango is part of the armada-385-linksys family of boards use the armada-385-linksys.dtsi as basis. As for functional differences to Imre Kaloz dts, the wlan LEDs aren't connected to the expander chip pca9635 but directly to GPIOs. Then mpp47 controls the USB2.0 port and not the USB3.0 port, so use the correct GPIO mpp44 for it. Finally use non-removable instead of broken-cd with the sdhci node to avoid polling. Other changes can be categorized as just cleanup / reorganization due to using the armada-385-linksys.dtsi. URL: https://github.com/openwrt/openwrt/blob/0abc3fa5a996daf7dafdc7794ccfe3fa7e955c5a/target/linux/mvebu/files/arch/arm/boot/dts/armada-385-linksys-rango.dts Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com> Signed-off-by: Imre Kaloz <kaloz@openwrt.org> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
-rw-r--r--arch/arm/boot/dts/Makefile1
-rw-r--r--arch/arm/boot/dts/armada-385-linksys-rango.dts203
2 files changed, 204 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 9c5e1d944d1c..6be297427c11 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -999,6 +999,7 @@ dtb-$(CONFIG_MACH_ARMADA_38X) += \
999 armada-385-db-ap.dtb \ 999 armada-385-db-ap.dtb \
1000 armada-385-linksys-caiman.dtb \ 1000 armada-385-linksys-caiman.dtb \
1001 armada-385-linksys-cobra.dtb \ 1001 armada-385-linksys-cobra.dtb \
1002 armada-385-linksys-rango.dtb \
1002 armada-385-linksys-shelby.dtb \ 1003 armada-385-linksys-shelby.dtb \
1003 armada-385-synology-ds116.dtb \ 1004 armada-385-synology-ds116.dtb \
1004 armada-385-turris-omnia.dtb \ 1005 armada-385-turris-omnia.dtb \
diff --git a/arch/arm/boot/dts/armada-385-linksys-rango.dts b/arch/arm/boot/dts/armada-385-linksys-rango.dts
new file mode 100644
index 000000000000..da8a0f3d432b
--- /dev/null
+++ b/arch/arm/boot/dts/armada-385-linksys-rango.dts
@@ -0,0 +1,203 @@
1/*
2 * Device Tree file for the Linksys WRT3200ACM (Rango)
3 *
4 * Copyright (C) 2016 Imre Kaloz <kaloz@openwrt.org>
5 *
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 licensed under the terms of the GNU General Public
13 * License version 2. This program is licensed "as is" without
14 * any warranty of any kind, whether express or implied.
15 *
16 * Or, alternatively,
17 *
18 * b) Permission is hereby granted, free of charge, to any person
19 * obtaining a copy of this software and associated documentation
20 * files (the "Software"), to deal in the Software without
21 * restriction, including without limitation the rights to use,
22 * copy, modify, merge, publish, distribute, sublicense, and/or
23 * sell copies of the Software, and to permit persons to whom the
24 * Software is furnished to do so, subject to the following
25 * conditions:
26 *
27 * The above copyright notice and this permission notice shall be
28 * included in all copies or substantial portions of the Software.
29 *
30 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
31 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
32 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
33 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
34 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
35 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
36 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
37 * OTHER DEALINGS IN THE SOFTWARE.
38 */
39
40/dts-v1/;
41#include <dt-bindings/gpio/gpio.h>
42#include <dt-bindings/input/input.h>
43#include "armada-385-linksys.dtsi"
44
45/ {
46 model = "Linksys WRT3200ACM";
47 compatible = "linksys,rango", "linksys,armada385", "marvell,armada385",
48 "marvell,armada380";
49};
50
51&expander0 {
52 wan_amber@0 {
53 label = "rango:amber:wan";
54 reg = <0x0>;
55 };
56
57 wan_white@1 {
58 label = "rango:white:wan";
59 reg = <0x1>;
60 };
61
62 usb2@5 {
63 label = "rango:white:usb2";
64 reg = <0x5>;
65 };
66
67 usb3_1@6 {
68 label = "rango:white:usb3_1";
69 reg = <0x6>;
70 };
71
72 usb3_2@7 {
73 label = "rango:white:usb3_2";
74 reg = <0x7>;
75 };
76
77 wps_white@8 {
78 label = "rango:white:wps";
79 reg = <0x8>;
80 };
81
82 wps_amber@9 {
83 label = "rango:amber:wps";
84 reg = <0x9>;
85 };
86};
87
88&gpio_leds {
89 power {
90 gpios = <&gpio1 24 GPIO_ACTIVE_HIGH>;
91 label = "rango:white:power";
92 };
93
94 sata {
95 gpios = <&gpio0 21 GPIO_ACTIVE_LOW>;
96 label = "rango:white:sata";
97 };
98
99 wlan_2g {
100 gpios = <&gpio1 13 GPIO_ACTIVE_LOW>;
101 label = "rango:white:wlan_2g";
102 };
103
104 wlan_5g {
105 gpios = <&gpio1 14 GPIO_ACTIVE_LOW>;
106 label = "rango:white:wlan_5g";
107 };
108};
109
110&gpio_leds_pins {
111 marvell,pins = "mpp21", "mpp45", "mpp46", "mpp56";
112};
113
114&nand {
115 /* AMD/Spansion S34ML02G2 256MiB, OEM Layout */
116
117 partition@0 {
118 label = "u-boot";
119 reg = <0x0000000 0x200000>; /* 2MiB */
120 read-only;
121 };
122
123 partition@200000 {
124 label = "u_env";
125 reg = <0x200000 0x20000>; /* 128KiB */
126 };
127
128 partition@220000 {
129 label = "s_env";
130 reg = <0x220000 0x40000>; /* 256KiB */
131 };
132
133 partition@7e0000 {
134 label = "devinfo";
135 reg = <0x7e0000 0x40000>; /* 256KiB */
136 read-only;
137 };
138
139 partition@820000 {
140 label = "sysdiag";
141 reg = <0x820000 0x1e0000>; /* 1920KiB */
142 read-only;
143 };
144
145 /* kernel1 overlaps with rootfs1 by design */
146 partition@a00000 {
147 label = "kernel1";
148 reg = <0xa00000 0x5000000>; /* 80MiB */
149 };
150
151 partition@1000000 {
152 label = "rootfs1";
153 reg = <0x1000000 0x4a00000>; /* 74MiB */
154 };
155
156 /* kernel2 overlaps with rootfs2 by design */
157 partition@5a00000 {
158 label = "kernel2";
159 reg = <0x5a00000 0x5000000>; /* 80MiB */
160 };
161
162 partition@6000000 {
163 label = "rootfs2";
164 reg = <0x6000000 0x4a00000>; /* 74MiB */
165 };
166
167 /*
168 * 86MiB, last MiB is for the BBT, not writable
169 */
170 partition@aa00000 {
171 label = "syscfg";
172 reg = <0xaa00000 0x5600000>;
173 };
174
175 /*
176 * Unused area between "s_env" and "devinfo".
177 * Moved here because otherwise the renumbered
178 * partitions would break the bootloader
179 * supplied bootargs
180 */
181 partition@180000 {
182 label = "unused_area";
183 reg = <0x260000 0x5c0000>; /* 5.75MiB */
184 };
185};
186
187&sdhci {
188 pinctrl-names = "default";
189 pinctrl-0 = <&sdhci_pins>;
190 no-1-8-v;
191 non-removable;
192 wp-inverted;
193 bus-width = <8>;
194 status = "okay";
195};
196
197&usb3_1_vbus {
198 gpio = <&gpio1 12 GPIO_ACTIVE_HIGH>;
199};
200
201&usb3_1_vbus_pins {
202 marvell,pins = "mpp44";
203};