bcm63xx: add Comtrend VG-8050 support

BCM63169 with 128M RAM, 128M NAND and BCM53125 switch.
Switch is connected by HSSPI to CS5.
More info: https://openwrt.org/toh/comtrend/vg8050

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
This commit is contained in:
Álvaro Fernández Rojas 2020-05-19 10:21:46 +02:00
parent 62e7342ddf
commit daee6b4661
5 changed files with 269 additions and 0 deletions

View File

@ -100,6 +100,10 @@ sagem,fast-2704n)
ucidef_add_switch "switch0" \
"0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "8t@eth0"
;;
comtrend,vg-8050)
ucidef_add_switch "switch0" \
"0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "4:wan" "8t@eth0"
;;
comtrend,vr-3032u)
ucidef_add_switch "switch0" \
"0:lan:2" "1:lan:3" "2:lan:4" "3:lan:1" "8t@eth0"

View File

@ -5,6 +5,7 @@ platform_check_image() {
[ "$#" -gt 1 ] && return 1
case "$(board_name)" in
comtrend,vg-8050|\
comtrend,vr-3032u|\
netgear,dgnd3700-v2)
# NAND sysupgrade
@ -62,6 +63,7 @@ cfe_jffs2_upgrade_tar() {
platform_do_upgrade() {
case "$(board_name)" in
comtrend,vg-8050|\
comtrend,vr-3032u|\
netgear,dgnd3700-v2)
REQUIRE_IMAGE_METADATA=1

View File

@ -0,0 +1,198 @@
// SPDX-License-Identifier: GPL-2.0-or-later
/dts-v1/;
#include "bcm63268.dtsi"
#include <dt-bindings/input/input.h>
/ {
model = "Comtrend VG-8050";
compatible = "comtrend,vg-8050", "brcm,bcm63268";
aliases {
led-boot = &led_power_green;
led-failsafe = &led_power_green;
led-running = &led_power_green;
led-upgrade = &led_power_green;
};
chosen {
bootargs = "rootfstype=squashfs,ubifs noinitrd console=ttyS0,115200";
stdout-path = "serial0:115200n8";
};
keys {
compatible = "gpio-keys-polled";
#address-cells = <1>;
#size-cells = <0>;
poll-interval = <20>;
reset {
label = "reset";
gpios = <&pinctrl 33 1>;
linux,code = <KEY_RESTART>;
debounce-interval = <60>;
};
wps {
label = "wps";
gpios = <&pinctrl 34 1>;
linux,code = <KEY_WPS_BUTTON>;
debounce-interval = <60>;
};
};
};
&leds {
status = "ok";
brcm,serial-leds;
brcm,serial-dat-low;
brcm,serial-shift-inv;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_serial_led>;
led@2 {
reg = <2>;
active-low;
label = "vg-8050:red:internet";
};
led@3 {
reg = <3>;
active-low;
label = "vg-8050:red:power";
};
led_power_green: led@6 {
reg = <6>;
active-low;
label = "vg-8050:green:power";
default-state = "on";
};
led@7 {
reg = <7>;
active-low;
label = "vg-8050:green:wps";
};
led@8 {
reg = <8>;
active-low;
label = "vg-8050:green:internet";
};
led@10 {
reg = <10>;
active-low;
label = "vg-8050:green:voip";
};
led@12 {
reg = <12>;
active-low;
label = "vg-8050:red:voip";
};
led@14 {
reg = <14>;
active-low;
label = "vg-8050:red:wps";
};
};
&hsspi {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_hsspi_cs5>;
switch@0 {
compatible = "brcm,bcm53125";
reg = <5>;
spi-max-frequency = <781000>;
spi-cpha;
spi-cpol;
lede,alias = "eth0";
ports {
#address-cells = <1>;
#size-cells = <0>;
lan@0 {
reg = <0>;
label = "lan4";
};
lan@1 {
reg = <1>;
label = "lan3";
};
lan@2 {
reg = <2>;
label = "lan2";
};
lan@3 {
reg = <3>;
label = "lan1";
};
wan@4 {
reg = <4>;
label = "wan";
};
cpu@8 {
reg = <8>;
label = "cpu";
fixed-link {
speed = <1000>;
full-duplex;
asym-pause;
pause;
};
};
};
};
};
&nflash {
status = "okay";
nandcs@0 {
compatible = "brcm,nandcs";
#size-cells = <1>;
#address-cells = <1>;
reg = <0>;
nand-ecc-step-size = <512>;
nand-ecc-strength = <15>;
nand-on-flash-bbt;
brcm,nand-oob-sector-size = <64>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
cferom@0 {
label = "cferom";
reg = <0x0000000 0x0020000>;
read-only;
};
wfi@20000 {
compatible = "brcm,wfi";
label = "wfi";
reg = <0x0020000 0x7ee0000>;
};
};
};
};
&uart0 {
status = "ok";
};

View File

@ -52,6 +52,23 @@ define Device/comtrend_vr-3032u
endef
TARGET_DEVICES += comtrend_vr-3032u
define Device/comtrend_vg-8050
$(Device/bcm63xx-nand)
DEVICE_VENDOR := Comtrend
DEVICE_MODEL := VG-8050
CFE_CHIP_ID := 63268
SOC := bcm63169
CFE_RAM_FILE := comtrend,vg-8050/cferam.000
CFE_RAM_JFFS2_NAME := cferam.000
BLOCKSIZE := 128k
PAGESIZE := 2048
SUBPAGESIZE := 512
VID_HDR_OFFSET := 2048
DEVICE_PACKAGES += $(USB2_PACKAGES)
CFE_WFI_FLASH_TYPE := 3
endef
TARGET_DEVICES += comtrend_vg-8050
### Netgear ###
define Device/netgear_dgnd3700-v2
$(Device/bcm63xx-nand)

View File

@ -0,0 +1,48 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -2635,6 +2635,29 @@ static struct board_info __initdata boar
},
};
+static struct board_info __initdata board_VG8050 = {
+ .name = "963169P-1861N5",
+ .expected_cpu_id = 0x63268,
+
+ .has_ehci0 = 1,
+ .has_ohci0 = 1,
+ .num_usbh_ports = 2,
+
+ .has_enetsw = 1,
+ .enetsw = {
+ .used_ports = {
+ [6] = {
+ .used = 1,
+ .phy_id = 0xff,
+ .bypass_link = 1,
+ .force_speed = 1000,
+ .force_duplex_full = 1,
+ .name = "RGMII",
+ },
+ },
+ },
+};
+
static struct board_info __initdata board_VR3032u = {
.name = "963168M-1841N1",
.expected_cpu_id = 0x63268,
@@ -2868,6 +2891,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_63268
&board_963268bu_p300,
&board_963269bhr,
+ &board_VG8050,
&board_VR3032u,
&board_vw6339gu,
&board_BSKYB_63168,
@@ -2983,6 +3007,7 @@ static struct of_device_id const bcm963x
#ifdef CONFIG_BCM63XX_CPU_63268
{ .compatible = "brcm,bcm963268bu-p300", .data = &board_963268bu_p300, },
{ .compatible = "brcm,bcm963269bhr", .data = &board_963269bhr, },
+ { .compatible = "comtrend,vg-8050", .data = &board_VG8050, },
{ .compatible = "comtrend,vr-3032u", .data = &board_VR3032u, },
{ .compatible = "inteno,vg50", .data = &board_vw6339gu, },
{ .compatible = "sky,sr102", .data = &board_BSKYB_63168, },