mvebu: add support for WRT32X (venom)
Linksys WRT32X (Venom) is identical in hardware to the WRT3200ACM with a different flash layout and boots zImage rather than uImage. Specification: - Marvell Armada 385 88F6820 (2x 1.8GHz) - 256MB of Flash - 512MB of RAM - 2.4GHz (bgn) and 5GHz (an+ac wave 2) - 4x 1Gbps LAN + 1x 1Gbps WAN - 1x USB 3.0 and 1x USB 2.0/eSATA (combo port) Flash instruction: Apply factory image via web-gui. Signed-off-by: Michael Gray <michael.gray@lantisproject.com>
This commit is contained in:
parent
e1a9485b0e
commit
bfbdeeb3de
14 changed files with 243 additions and 8 deletions
|
@ -19,7 +19,8 @@ armada-385-linksys-cobra|\
|
|||
armada-385-linksys-shelby)
|
||||
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x20000" "0x40000"
|
||||
;;
|
||||
armada-385-linksys-rango)
|
||||
armada-385-linksys-rango|\
|
||||
armada-385-linksys-venom)
|
||||
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x20000" "0x20000"
|
||||
;;
|
||||
armada-385-turris-omnia)
|
||||
|
|
|
@ -35,6 +35,12 @@ armada-385-linksys-shelby)
|
|||
ucidef_set_led_usbport "usb2" "USB 2" "pca963x:shelby:white:usb3_1" "usb2-port1" "usb3-port1"
|
||||
ucidef_set_led_usbport "usb2_ss" "USB 2 SS" "pca963x:shelby:white:usb3_2" "usb3-port1"
|
||||
;;
|
||||
armada-385-linksys-venom)
|
||||
ucidef_set_led_netdev "wan" "WAN" "pca963x:venom:blue:wan" "eth1"
|
||||
ucidef_set_led_usbport "usb1" "USB 1" "pca963x:venom:blue:usb2" "usb1-port1"
|
||||
ucidef_set_led_usbport "usb2" "USB 2" "pca963x:venom:blue:usb3_1" "usb2-port1" "usb3-port1"
|
||||
ucidef_set_led_usbport "usb2_ss" "USB 2 SS" "pca963x:venom:blue:usb3_2" "usb3-port1"
|
||||
;;
|
||||
armada-xp-linksys-mamba)
|
||||
ucidef_set_led_netdev "wan" "WAN" "mamba:white:wan" "eth1"
|
||||
ucidef_set_led_usbport "usb1" "USB 1" "mamba:white:usb2" "usb1-port1"
|
||||
|
|
|
@ -18,6 +18,7 @@ armada-385-linksys-caiman|\
|
|||
armada-385-linksys-cobra|\
|
||||
armada-385-linksys-rango|\
|
||||
armada-385-linksys-shelby|\
|
||||
armada-385-linksys-venom|\
|
||||
armada-xp-linksys-mamba)
|
||||
ucidef_set_interfaces_lan_wan "eth0.1" "eth1.2"
|
||||
ucidef_add_switch "switch0" \
|
||||
|
|
|
@ -19,6 +19,9 @@ get_status_led() {
|
|||
armada-385-linksys-shelby)
|
||||
status_led="shelby:white:power"
|
||||
;;
|
||||
armada-385-linksys-venom)
|
||||
status_led="venom:blue:power"
|
||||
;;
|
||||
armada-xp-linksys-mamba)
|
||||
status_led="mamba:white:power"
|
||||
;;
|
||||
|
|
|
@ -7,7 +7,7 @@ boot() {
|
|||
. /lib/functions.sh
|
||||
|
||||
case $(board_name) in
|
||||
armada-385-linksys-caiman|armada-385-linksys-cobra|armada-385-linksys-rango|armada-385-linksys-shelby|armada-xp-linksys-mamba)
|
||||
armada-385-linksys-caiman|armada-385-linksys-cobra|armada-385-linksys-rango|armada-385-linksys-shelby|armada-385-linksys-venom|armada-xp-linksys-mamba)
|
||||
# make sure auto_recovery in uboot is always on
|
||||
AUTO_RECOVERY_ENA="`fw_printenv -n auto_recovery`"
|
||||
if [ "$AUTO_RECOVERY_ENA" != "yes" ] ; then
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
board=$(board_name)
|
||||
|
||||
case "$board" in
|
||||
armada-385-linksys-caiman|armada-385-linksys-cobra|armada-385-linksys-shelby|armada-xp-linksys-mamba)
|
||||
armada-385-linksys-caiman|armada-385-linksys-cobra|armada-385-linksys-shelby|armada-385-linksys-venom|armada-xp-linksys-mamba)
|
||||
SKU=$(strings /dev/mtd3|sed -ne 's/^cert_region=//p')
|
||||
WIFIMAC2G=$(macaddr_add $(cat /sys/class/net/eth0/address) +1)
|
||||
WIFIMAC5G=$(macaddr_add $WIFIMAC2G +1)
|
||||
|
|
|
@ -53,6 +53,9 @@ mvebu_board_detect() {
|
|||
*"Linksys WRT3200ACM")
|
||||
name="armada-385-linksys-rango"
|
||||
;;
|
||||
*"Linksys WRT32X")
|
||||
name="armada-385-linksys-venom"
|
||||
;;
|
||||
*"Marvell Armada 385 Access Point Development Board")
|
||||
name="armada-385-db-ap"
|
||||
;;
|
||||
|
|
|
@ -14,7 +14,7 @@ preinit_set_mac_address() {
|
|||
ip link set dev eth0 address $mac 2>/dev/null
|
||||
ip link set dev eth1 address $mac 2>/dev/null
|
||||
;;
|
||||
armada-385-linksys-caiman|armada-385-linksys-cobra|armada-385-linksys-rango|armada-385-linksys-shelby)
|
||||
armada-385-linksys-caiman|armada-385-linksys-cobra|armada-385-linksys-rango|armada-385-linksys-shelby|armada-385-linksys-venom)
|
||||
# rename interfaces back to the way they were with 4.4
|
||||
case "$(readlink /sys/class/net/eth0)" in
|
||||
*f1070000*)
|
||||
|
|
|
@ -8,7 +8,7 @@ preinit_mount_syscfg() {
|
|||
. /lib/functions.sh
|
||||
|
||||
case $(board_name) in
|
||||
armada-385-linksys-caiman|armada-385-linksys-cobra|armada-385-linksys-rango|armada-385-linksys-shelby|armada-xp-linksys-mamba)
|
||||
armada-385-linksys-caiman|armada-385-linksys-cobra|armada-385-linksys-rango|armada-385-linksys-shelby|armada-385-linksys-venom|armada-xp-linksys-mamba)
|
||||
needs_recovery=0
|
||||
syscfg_part=$(grep syscfg /proc/mtd |cut -c4)
|
||||
ubiattach -m $syscfg_part || needs_recovery=1
|
||||
|
|
|
@ -55,7 +55,7 @@ platform_do_upgrade_linksys() {
|
|||
|
||||
nand_upgrade_tar "$1"
|
||||
}
|
||||
[ "$magic_long" = "27051956" ] && {
|
||||
[ "$magic_long" = "27051956" -o "$magic_long" = "0000a0e1" ] && {
|
||||
# check firmwares' rootfs types
|
||||
local target_mtd=$(find_mtd_part $part_label)
|
||||
local oldroot="$(linksys_get_root_magic $target_mtd)"
|
||||
|
|
|
@ -13,7 +13,7 @@ platform_check_image() {
|
|||
|
||||
platform_do_upgrade() {
|
||||
case "$(board_name)" in
|
||||
armada-385-linksys-caiman|armada-385-linksys-cobra|armada-385-linksys-rango|armada-385-linksys-shelby|armada-xp-linksys-mamba)
|
||||
armada-385-linksys-caiman|armada-385-linksys-cobra|armada-385-linksys-rango|armada-385-linksys-shelby|armada-385-linksys-venom|armada-xp-linksys-mamba)
|
||||
platform_do_upgrade_linksys "$ARGV"
|
||||
;;
|
||||
armada-385-turris-omnia|armada-388-clearfog-base|armada-388-clearfog-pro|globalscale,espressobin|marvell,armada8040-mcbin)
|
||||
|
@ -26,7 +26,7 @@ platform_do_upgrade() {
|
|||
}
|
||||
platform_copy_config() {
|
||||
case "$(board_name)" in
|
||||
armada-385-linksys-caiman|armada-385-linksys-cobra|armada-385-linksys-rango|armada-385-linksys-shelby|armada-xp-linksys-mamba)
|
||||
armada-385-linksys-caiman|armada-385-linksys-cobra|armada-385-linksys-rango|armada-385-linksys-shelby|armada-385-linksys-venom|armada-xp-linksys-mamba)
|
||||
platform_copy_config_linksys
|
||||
;;
|
||||
armada-385-turris-omnia|armada-388-clearfog-base|armada-388-clearfog-pro|globalscale,espressobin|marvell,armada8040-mcbin)
|
||||
|
|
|
@ -0,0 +1,201 @@
|
|||
/*
|
||||
* Device Tree file for the Linksys WRT32X (Venom)
|
||||
*
|
||||
* Copyright (C) 2017 Imre Kaloz <kaloz@openwrt.org>
|
||||
*
|
||||
*
|
||||
* This file is dual-licensed: you can use it either under the terms
|
||||
* of the GPL or the X11 license, at your option. Note that this dual
|
||||
* licensing only applies to this file, and not this project as a
|
||||
* whole.
|
||||
*
|
||||
* a) This file is licensed under the terms of the GNU General Public
|
||||
* License version 2. This program is licensed "as is" without
|
||||
* any warranty of any kind, whether express or implied.
|
||||
*
|
||||
* Or, alternatively,
|
||||
*
|
||||
* b) Permission is hereby granted, free of charge, to any person
|
||||
* obtaining a copy of this software and associated documentation
|
||||
* files (the "Software"), to deal in the Software without
|
||||
* restriction, including without limitation the rights to use,
|
||||
* copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
* sell copies of the Software, and to permit persons to whom the
|
||||
* Software is furnished to do so, subject to the following
|
||||
* conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be
|
||||
* included in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
* OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include "armada-385-linksys.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Linksys WRT32X";
|
||||
compatible = "linksys,venom", "linksys,armada385", "marvell,armada385",
|
||||
"marvell,armada380";
|
||||
};
|
||||
|
||||
&expander0 {
|
||||
wan_amber@0 {
|
||||
label = "venom:amber:wan";
|
||||
reg = <0x0>;
|
||||
};
|
||||
|
||||
wan_blue@1 {
|
||||
label = "venom:blue:wan";
|
||||
reg = <0x1>;
|
||||
};
|
||||
|
||||
usb2@5 {
|
||||
label = "venom:blue:usb2";
|
||||
reg = <0x5>;
|
||||
};
|
||||
|
||||
usb3_1@6 {
|
||||
label = "venom:blue:usb3_1";
|
||||
reg = <0x6>;
|
||||
};
|
||||
|
||||
usb3_2@7 {
|
||||
label = "venom:blue:usb3_2";
|
||||
reg = <0x7>;
|
||||
};
|
||||
|
||||
wps_blue@8 {
|
||||
label = "venom:blue:wps";
|
||||
reg = <0x8>;
|
||||
};
|
||||
|
||||
wps_amber@9 {
|
||||
label = "venom:amber:wps";
|
||||
reg = <0x9>;
|
||||
};
|
||||
};
|
||||
|
||||
&gpio_leds {
|
||||
power {
|
||||
gpios = <&gpio1 24 GPIO_ACTIVE_HIGH>;
|
||||
label = "venom:blue:power";
|
||||
};
|
||||
|
||||
sata {
|
||||
gpios = <&gpio1 21 GPIO_ACTIVE_LOW>;
|
||||
label = "venom:blue:sata";
|
||||
};
|
||||
|
||||
wlan_2g {
|
||||
gpios = <&gpio1 13 GPIO_ACTIVE_LOW>;
|
||||
label = "venom:blue:wlan_2g";
|
||||
};
|
||||
|
||||
wlan_5g {
|
||||
gpios = <&gpio1 14 GPIO_ACTIVE_LOW>;
|
||||
label = "venom:blue:wlan_5g";
|
||||
};
|
||||
};
|
||||
|
||||
&gpio_leds_pins {
|
||||
marvell,pins = "mpp21", "mpp45", "mpp46", "mpp56";
|
||||
};
|
||||
|
||||
&nand {
|
||||
/* Spansion S34ML02G2 256MiB, OEM Layout */
|
||||
partition@0 {
|
||||
label = "u-boot";
|
||||
reg = <0x0000000 0x200000>; /* 2MB */
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@200000 {
|
||||
label = "u_env";
|
||||
reg = <0x200000 0x20000>; /* 128KB */
|
||||
};
|
||||
|
||||
partition@220000 {
|
||||
label = "s_env";
|
||||
reg = <0x220000 0x40000>; /* 256KB */
|
||||
};
|
||||
|
||||
partition@180000 {
|
||||
label = "unused_area";
|
||||
reg = <0x260000 0x5c0000>; /* 5.75MB */
|
||||
};
|
||||
|
||||
partition@7e0000 {
|
||||
label = "devinfo";
|
||||
reg = <0x7e0000 0x40000>; /* 256KB */
|
||||
read-only;
|
||||
};
|
||||
|
||||
/* kernel1 overlaps with rootfs1 by design */
|
||||
partition@900000 {
|
||||
label = "kernel1";
|
||||
reg = <0x900000 0x7b00000>; /* 123MB */
|
||||
};
|
||||
|
||||
partition@c00000 {
|
||||
label = "rootfs1";
|
||||
reg = <0xc00000 0x7800000>; /* 120MB */
|
||||
};
|
||||
|
||||
/* kernel2 overlaps with rootfs2 by design */
|
||||
partition@8400000 {
|
||||
label = "kernel2";
|
||||
reg = <0x8400000 0x7b00000>; /* 123MB */
|
||||
};
|
||||
|
||||
partition@8700000 {
|
||||
label = "rootfs2";
|
||||
reg = <0x8700000 0x7800000>; /* 120MB */
|
||||
};
|
||||
|
||||
/* last MB is for the BBT, not writable */
|
||||
partition@ff00000 {
|
||||
label = "BBT";
|
||||
reg = <0xff00000 0x100000>;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
&pcie1 {
|
||||
mwlwifi {
|
||||
marvell,chainmask = <4 4>;
|
||||
};
|
||||
};
|
||||
|
||||
&pcie2 {
|
||||
mwlwifi {
|
||||
marvell,chainmask = <4 4>;
|
||||
};
|
||||
};
|
||||
|
||||
&sdhci {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&sdhci_pins>;
|
||||
no-1-8-v;
|
||||
non-removable;
|
||||
wp-inverted;
|
||||
bus-width = <8>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb3_1_vbus {
|
||||
gpio = <&gpio1 12 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
&usb3_1_vbus_pins {
|
||||
marvell,pins = "mpp44";
|
||||
};
|
|
@ -51,6 +51,16 @@ define Device/linksys-wrt1900acs
|
|||
endef
|
||||
TARGET_DEVICES += linksys-wrt1900acs
|
||||
|
||||
define Device/linksys-wrt32x
|
||||
$(call Device/linksys,WRT32X (Venom))
|
||||
DEVICE_DTS := armada-385-linksys-venom
|
||||
DEVICE_PACKAGES += kmod-btmrvl kmod-mwifiex-sdio mwlwifi-firmware-88w8964
|
||||
$(Device/armada-385-linksys)
|
||||
KERNEL_SIZE := 3072k
|
||||
KERNEL := kernel-bin | append-dtb
|
||||
endef
|
||||
TARGET_DEVICES += linksys-wrt32x
|
||||
|
||||
define Device/linksys-wrt1900ac
|
||||
$(call Device/linksys,WRT1900AC (Mamba))
|
||||
DEVICE_DTS := armada-xp-linksys-mamba
|
||||
|
|
10
target/linux/mvebu/patches-4.14/105-build_new_dtbs.patch
Normal file
10
target/linux/mvebu/patches-4.14/105-build_new_dtbs.patch
Normal file
|
@ -0,0 +1,10 @@
|
|||
--- a/arch/arm/boot/dts/Makefile
|
||||
+++ b/arch/arm/boot/dts/Makefile
|
||||
@@ -1027,6 +1027,7 @@ dtb-$(CONFIG_MACH_ARMADA_38X) += \
|
||||
armada-385-linksys-cobra.dtb \
|
||||
armada-385-linksys-rango.dtb \
|
||||
armada-385-linksys-shelby.dtb \
|
||||
+ armada-385-linksys-venom.dtb \
|
||||
armada-385-synology-ds116.dtb \
|
||||
armada-385-turris-omnia.dtb \
|
||||
armada-388-clearfog.dtb \
|
Loading…
Reference in a new issue