aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux
diff options
context:
space:
mode:
authorÁlvaro Fernández Rojas <noltari@gmail.com>2020-05-19 10:21:46 +0200
committerÁlvaro Fernández Rojas <noltari@gmail.com>2020-05-19 10:41:47 +0200
commitdaee6b466146fc20505adb2ef9f4be831f96d972 (patch)
treefedd82f8ad405908856957ed81983dd9eba2e210 /target/linux
parent62e7342ddfba605722b1d6700eec3f0aaa9377e5 (diff)
downloadupstream-daee6b466146fc20505adb2ef9f4be831f96d972.tar.gz
upstream-daee6b466146fc20505adb2ef9f4be831f96d972.tar.bz2
upstream-daee6b466146fc20505adb2ef9f4be831f96d972.zip
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>
Diffstat (limited to 'target/linux')
-rwxr-xr-xtarget/linux/bcm63xx/base-files/etc/board.d/02_network4
-rw-r--r--target/linux/bcm63xx/base-files/lib/upgrade/platform.sh2
-rw-r--r--target/linux/bcm63xx/dts/bcm63169-comtrend-vg-8050.dts198
-rw-r--r--target/linux/bcm63xx/image/bcm63xx_nand.mk17
-rw-r--r--target/linux/bcm63xx/patches-5.4/601-board-VG-8050.patch48
5 files changed, 269 insertions, 0 deletions
diff --git a/target/linux/bcm63xx/base-files/etc/board.d/02_network b/target/linux/bcm63xx/base-files/etc/board.d/02_network
index 928aff0498..d0c15a9f98 100755
--- a/target/linux/bcm63xx/base-files/etc/board.d/02_network
+++ b/target/linux/bcm63xx/base-files/etc/board.d/02_network
@@ -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"
diff --git a/target/linux/bcm63xx/base-files/lib/upgrade/platform.sh b/target/linux/bcm63xx/base-files/lib/upgrade/platform.sh
index 202f55535a..e92d025de7 100644
--- a/target/linux/bcm63xx/base-files/lib/upgrade/platform.sh
+++ b/target/linux/bcm63xx/base-files/lib/upgrade/platform.sh
@@ -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
diff --git a/target/linux/bcm63xx/dts/bcm63169-comtrend-vg-8050.dts b/target/linux/bcm63xx/dts/bcm63169-comtrend-vg-8050.dts
new file mode 100644
index 0000000000..4f54e9c842
--- /dev/null
+++ b/target/linux/bcm63xx/dts/bcm63169-comtrend-vg-8050.dts
@@ -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";
+};
diff --git a/target/linux/bcm63xx/image/bcm63xx_nand.mk b/target/linux/bcm63xx/image/bcm63xx_nand.mk
index c0505aceaa..9ff2c989b8 100644
--- a/target/linux/bcm63xx/image/bcm63xx_nand.mk
+++ b/target/linux/bcm63xx/image/bcm63xx_nand.mk
@@ -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)
diff --git a/target/linux/bcm63xx/patches-5.4/601-board-VG-8050.patch b/target/linux/bcm63xx/patches-5.4/601-board-VG-8050.patch
new file mode 100644
index 0000000000..75fdf7a698
--- /dev/null
+++ b/target/linux/bcm63xx/patches-5.4/601-board-VG-8050.patch
@@ -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, },