diff options
Diffstat (limited to 'target')
12 files changed, 199 insertions, 26 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 700439ec36..cca607fce1 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,7 @@ huawei,echolife-hg556a-c) "0:lan:1" "1:lan:2" "2:lan:3" "3:lan:4" "5t@eth0" ;; comtrend,ar-5315u|\ +innacomm,w3400v6|\ observa,vh4032n|\ sagem,fast-2704n) ucidef_add_switch "switch0" \ diff --git a/target/linux/bcm63xx/dts/bcm6328-innacomm-w3400v6.dts b/target/linux/bcm63xx/dts/bcm6328-innacomm-w3400v6.dts new file mode 100644 index 0000000000..dd8ab12958 --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6328-innacomm-w3400v6.dts @@ -0,0 +1,118 @@ +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "bcm6328.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Innacomm W3400V6"; + compatible = "innacomm,w3400v6", "brcm,bcm6328"; + + aliases { + led-boot = &led_power_green; + led-failsafe = &led_power_red; + led-running = &led_power_green; + led-upgrade = &led_power_green; + }; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + wps { + label = "wps"; + gpios = <&pinctrl 15 1>; + linux,code = <KEY_WPS_BUTTON>; + debounce-interval = <60>; + }; + + reset { + label = "reset"; + gpios = <&pinctrl 23 1>; + linux,code = <KEY_RESTART>; + debounce-interval = <60>; + }; + }; +}; + +&hsspi { + status = "okay"; + + flash@0 { + compatible = "jedec,spi-nor"; + spi-max-frequency = <16666667>; + spi-tx-bus-width = <2>; + spi-rx-bus-width = <2>; + reg = <0>; + + #address-cells = <1>; + #size-cells = <1>; + + partitions { + compatible = "brcm,bcm963xx-cfe-nor-partitions"; + }; + }; +}; + +&leds { + status = "okay"; + + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_leds>; + + led@1 { + reg = <1>; + active-low; + label = "green:inet"; + }; + + led@2 { + reg = <2>; + active-low; + label = "red:inet"; + }; + + led@3 { + reg = <3>; + active-low; + label = "green:dsl"; + }; + + led_power_green: led@4 { + reg = <4>; + active-low; + label = "green:power"; + default-state = "on"; + }; + + led_power_red: led@5 { + reg = <5>; + active-low; + label = "red:power"; + }; + + led@11 { + reg = <11>; + active-low; + label = "green:wps"; + }; +}; + +&pinctrl { + pinctrl_leds: leds { + function = "led"; + pins = "gpio1", "gpio2", "gpio3", + "gpio4", "gpio5", "gpio11"; + }; +}; + +&uart0 { + status = "okay"; +}; diff --git a/target/linux/bcm63xx/image/bcm63xx.mk b/target/linux/bcm63xx/image/bcm63xx.mk index 773f098dea..24b150c063 100644 --- a/target/linux/bcm63xx/image/bcm63xx.mk +++ b/target/linux/bcm63xx/image/bcm63xx.mk @@ -781,6 +781,18 @@ define Device/huawei_echolife-hg655b endef TARGET_DEVICES += huawei_echolife-hg655b +### Innacomm ### +define Device/innacomm_w3400v6 + $(Device/bcm63xx) + DEVICE_VENDOR := Innacomm + DEVICE_MODEL := W3400V6 + CFE_BOARD_ID := 96328ang + CHIP_ID := 6328 + FLASH_MB := 8 + DEVICE_PACKAGES := $(B43_PACKAGES) +endef +TARGET_DEVICES += innacomm_w3400v6 + ### Inteno ### define Device/inteno_vg50 $(Device/bcm63xx) diff --git a/target/linux/bcm63xx/patches-5.4/512-board_bcm6328.patch b/target/linux/bcm63xx/patches-5.4/512-board_bcm6328.patch index ae0c538660..e28ff912cb 100644 --- a/target/linux/bcm63xx/patches-5.4/512-board_bcm6328.patch +++ b/target/linux/bcm63xx/patches-5.4/512-board_bcm6328.patch @@ -1,6 +1,6 @@ --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c -@@ -348,6 +348,611 @@ static struct board_info __initdata boar +@@ -348,6 +348,651 @@ static struct board_info __initdata boar }, }, }; @@ -609,10 +609,50 @@ + .pci_dev = 0, + }, +}; ++ ++static struct board_info __initdata board_W3400V6 = { ++ .name = "96328ang", ++ .expected_cpu_id = 0x6328, ++ ++ .has_pci = 1, ++ ++ .has_enetsw = 1, ++ .enetsw = { ++ .used_ports = { ++ [0] = { ++ .used = 1, ++ .phy_id = 1, ++ .name = "Port 1", ++ }, ++ [1] = { ++ .used = 1, ++ .phy_id = 2, ++ .name = "Port 2", ++ }, ++ [2] = { ++ .used = 1, ++ .phy_id = 3, ++ .name = "Port 3", ++ }, ++ [3] = { ++ .used = 1, ++ .phy_id = 4, ++ .name = "Port 4", ++ }, ++ }, ++ }, ++ ++ .use_fallback_sprom = 1, ++ .fallback_sprom = { ++ .type = SPROM_BCM4318, ++ .pci_bus = 1, ++ .pci_dev = 0, ++ }, ++}; #endif /* CONFIG_BCM63XX_CPU_6328 */ /* -@@ -703,6 +1308,19 @@ static const struct board_info __initcon +@@ -703,6 +1348,20 @@ static const struct board_info __initcon #endif /* CONFIG_BCM63XX_CPU_6318 */ #ifdef CONFIG_BCM63XX_CPU_6328 &board_96328avng, @@ -629,10 +669,11 @@ + &board_TG582N, + &board_TG582N_TELECOM_ITALIA, + &board_R5010UNV2, ++ &board_W3400V6, #endif /* CONFIG_BCM63XX_CPU_6328 */ #ifdef CONFIG_BCM63XX_CPU_6338 &board_96338gw, -@@ -742,7 +1360,22 @@ static struct of_device_id const bcm963x +@@ -742,7 +1401,23 @@ static struct of_device_id const bcm963x { .compatible = "sagem,fast-2704n", .data = &board_FAST2704N, }, #endif /* CONFIG_BCM63XX_CPU_6318 */ #ifdef CONFIG_BCM63XX_CPU_6328 @@ -646,6 +687,7 @@ + { .compatible = "comtrend,ar-5387un", .data = &board_AR5387un, }, + { .compatible = "d-link,dsl-274xb-f1", .data = &board_dsl_274xb_f1, }, + { .compatible = "d-link,dsl-2750u-c1", .data = &board_A4001N, }, ++ { .compatible = "innacomm,w3400v6", .data = &board_W3400V6, }, + { .compatible = "nucom,r5010un-v2", .data = &board_R5010UNV2, }, + { .compatible = "sagem,fast-2704-v2", .data = &board_FAST2704V2, }, + { .compatible = "sercomm,ad1018", .data = &board_AD1018, }, diff --git a/target/linux/bcm63xx/patches-5.4/513-board-bcm6338.patch b/target/linux/bcm63xx/patches-5.4/513-board-bcm6338.patch index 9319f974ac..f3847c8140 100644 --- a/target/linux/bcm63xx/patches-5.4/513-board-bcm6338.patch +++ b/target/linux/bcm63xx/patches-5.4/513-board-bcm6338.patch @@ -1,6 +1,6 @@ --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c -@@ -986,6 +986,32 @@ static struct board_info __initdata boar +@@ -1026,6 +1026,32 @@ static struct board_info __initdata boar .force_duplex_full = 1, }, }; @@ -33,7 +33,7 @@ #endif /* CONFIG_BCM63XX_CPU_6338 */ /* -@@ -1325,6 +1351,8 @@ static const struct board_info __initcon +@@ -1366,6 +1392,8 @@ static const struct board_info __initcon #ifdef CONFIG_BCM63XX_CPU_6338 &board_96338gw, &board_96338w, @@ -42,7 +42,7 @@ #endif /* CONFIG_BCM63XX_CPU_6338 */ #ifdef CONFIG_BCM63XX_CPU_6345 &board_96345gw2, -@@ -1380,6 +1408,8 @@ static struct of_device_id const bcm963x +@@ -1422,6 +1450,8 @@ static struct of_device_id const bcm963x #ifdef CONFIG_BCM63XX_CPU_6338 { .compatible = "brcm,bcm96338gw", .data = &board_96338gw, }, { .compatible = "brcm,bcm96338w", .data = &board_96338w, }, diff --git a/target/linux/bcm63xx/patches-5.4/514-board_bcm6345.patch b/target/linux/bcm63xx/patches-5.4/514-board_bcm6345.patch index 3b1f2842b5..3f84c95385 100644 --- a/target/linux/bcm63xx/patches-5.4/514-board_bcm6345.patch +++ b/target/linux/bcm63xx/patches-5.4/514-board_bcm6345.patch @@ -1,6 +1,6 @@ --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c -@@ -1022,6 +1022,19 @@ static struct board_info __initdata boar +@@ -1062,6 +1062,19 @@ static struct board_info __initdata boar .name = "96345GW2", .expected_cpu_id = 0x6345, }; @@ -20,7 +20,7 @@ #endif /* CONFIG_BCM63XX_CPU_6345 */ /* -@@ -1356,6 +1369,7 @@ static const struct board_info __initcon +@@ -1397,6 +1410,7 @@ static const struct board_info __initcon #endif /* CONFIG_BCM63XX_CPU_6338 */ #ifdef CONFIG_BCM63XX_CPU_6345 &board_96345gw2, @@ -28,7 +28,7 @@ #endif /* CONFIG_BCM63XX_CPU_6345 */ #ifdef CONFIG_BCM63XX_CPU_6348 &board_96348r, -@@ -1413,6 +1427,8 @@ static struct of_device_id const bcm963x +@@ -1455,6 +1469,8 @@ static struct of_device_id const bcm963x #endif /* CONFIG_BCM63XX_CPU_6338 */ #ifdef CONFIG_BCM63XX_CPU_6345 { .compatible = "brcm,bcm96345gw2", .data = &board_96345gw2, }, diff --git a/target/linux/bcm63xx/patches-5.4/515-board-bcm6348.patch b/target/linux/bcm63xx/patches-5.4/515-board-bcm6348.patch index eb3eb26dd0..891184eedd 100644 --- a/target/linux/bcm63xx/patches-5.4/515-board-bcm6348.patch +++ b/target/linux/bcm63xx/patches-5.4/515-board-bcm6348.patch @@ -1,6 +1,6 @@ --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c -@@ -1221,6 +1221,275 @@ static struct board_info __initdata boar +@@ -1261,6 +1261,275 @@ static struct board_info __initdata boar .has_ohci0 = 1, }; @@ -276,7 +276,7 @@ #endif /* CONFIG_BCM63XX_CPU_6348 */ /* -@@ -1380,6 +1649,19 @@ static const struct board_info __initcon +@@ -1421,6 +1690,19 @@ static const struct board_info __initcon &board_DV201AMR, &board_96348gw_a, &board_rta1025w_16, @@ -296,7 +296,7 @@ #endif /* CONFIG_BCM63XX_CPU_6348 */ #ifdef CONFIG_BCM63XX_CPU_6358 &board_96358vw, -@@ -1431,15 +1713,29 @@ static struct of_device_id const bcm963x +@@ -1473,15 +1755,29 @@ static struct of_device_id const bcm963x { .compatible = "dynalink,rta770w", .data = &board_rta770w, }, #endif /* CONFIG_BCM63XX_CPU_6345 */ #ifdef CONFIG_BCM63XX_CPU_6348 diff --git a/target/linux/bcm63xx/patches-5.4/516-board-bcm6358.patch b/target/linux/bcm63xx/patches-5.4/516-board-bcm6358.patch index 6af94bdbe0..c1a4e9bbd5 100644 --- a/target/linux/bcm63xx/patches-5.4/516-board-bcm6358.patch +++ b/target/linux/bcm63xx/patches-5.4/516-board-bcm6358.patch @@ -8,7 +8,7 @@ #include <asm/addrspace.h> #include <bcm63xx_board.h> #include <bcm63xx_cpu.h> -@@ -1574,6 +1575,88 @@ static struct board_info __initdata boar +@@ -1614,6 +1615,88 @@ static struct board_info __initdata boar .has_ehci0 = 1, }; @@ -97,7 +97,7 @@ static struct board_info __initdata board_DWVS0 = { .name = "DWV-S0", .expected_cpu_id = 0x6358, -@@ -1598,6 +1681,238 @@ static struct board_info __initdata boar +@@ -1638,6 +1721,238 @@ static struct board_info __initdata boar .has_ohci0 = 1, .has_ehci0 = 1, }; @@ -336,7 +336,7 @@ #endif /* CONFIG_BCM63XX_CPU_6358 */ /* -@@ -1667,7 +1982,20 @@ static const struct board_info __initcon +@@ -1708,7 +2023,20 @@ static const struct board_info __initcon &board_96358vw, &board_96358vw2, &board_AGPFS0, @@ -357,7 +357,7 @@ #endif /* CONFIG_BCM63XX_CPU_6358 */ }; -@@ -1743,11 +2071,24 @@ static struct of_device_id const bcm963x +@@ -1785,11 +2113,24 @@ static struct of_device_id const bcm963x { .compatible = "alcatel,rg100a", .data = &board_96358vw2, }, { .compatible = "brcm,bcm96358vw", .data = &board_96358vw, }, { .compatible = "brcm,bcm96358vw2", .data = &board_96358vw2, }, diff --git a/target/linux/bcm63xx/patches-5.4/517-board_bcm6362.patch b/target/linux/bcm63xx/patches-5.4/517-board_bcm6362.patch index c917914dd1..71a84937a2 100644 --- a/target/linux/bcm63xx/patches-5.4/517-board_bcm6362.patch +++ b/target/linux/bcm63xx/patches-5.4/517-board_bcm6362.patch @@ -1,6 +1,6 @@ --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c -@@ -1915,6 +1915,117 @@ static struct board_info __initdata boar +@@ -1955,6 +1955,117 @@ static struct board_info __initdata boar }; #endif /* CONFIG_BCM63XX_CPU_6358 */ @@ -118,7 +118,7 @@ /* * all boards */ -@@ -1997,6 +2108,12 @@ static const struct board_info __initcon +@@ -2038,6 +2149,12 @@ static const struct board_info __initcon &board_nb4_fxc_r1, &board_spw303v, #endif /* CONFIG_BCM63XX_CPU_6358 */ @@ -131,7 +131,7 @@ }; static struct of_device_id const bcm963xx_boards_dt[] = { -@@ -2091,6 +2208,10 @@ static struct of_device_id const bcm963x +@@ -2133,6 +2250,10 @@ static struct of_device_id const bcm963x { .compatible = "telsey,cpva642", .data = &board_CPVA642, }, #endif /* CONFIG_BCM63XX_CPU_6358 */ #ifdef CONFIG_BCM63XX_CPU_6362 diff --git a/target/linux/bcm63xx/patches-5.4/518-board_bcm6368.patch b/target/linux/bcm63xx/patches-5.4/518-board_bcm6368.patch index 31d724ca24..4b85e0bbab 100644 --- a/target/linux/bcm63xx/patches-5.4/518-board_bcm6368.patch +++ b/target/linux/bcm63xx/patches-5.4/518-board_bcm6368.patch @@ -9,7 +9,7 @@ #include <asm/addrspace.h> #include <bcm63xx_board.h> #include <bcm63xx_cpu.h> -@@ -2027,6 +2029,648 @@ static struct board_info __initdata boar +@@ -2067,6 +2069,648 @@ static struct board_info __initdata boar #endif /* CONFIG_BCM63XX_CPU_6362 */ /* @@ -658,7 +658,7 @@ * all boards */ static const struct board_info __initconst *bcm963xx_boards[] = { -@@ -2114,6 +2758,22 @@ static const struct board_info __initcon +@@ -2155,6 +2799,22 @@ static const struct board_info __initcon &board_hg253s_v2, &board_nb6, #endif /* CONFIG_BCM63XX_CPU_6362 */ @@ -681,7 +681,7 @@ }; static struct of_device_id const bcm963xx_boards_dt[] = { -@@ -2214,6 +2874,20 @@ static struct of_device_id const bcm963x +@@ -2256,6 +2916,20 @@ static struct of_device_id const bcm963x { .compatible = "sfr,neufbox-6-sercomm-r0", .data = &board_nb6, }, #endif /* CONFIG_BCM63XX_CPU_6362 */ #ifdef CONFIG_BCM63XX_CPU_6368 diff --git a/target/linux/bcm63xx/patches-5.4/519-board_bcm63268.patch b/target/linux/bcm63xx/patches-5.4/519-board_bcm63268.patch index 20fbf5e68e..f46cbbedc7 100644 --- a/target/linux/bcm63xx/patches-5.4/519-board_bcm63268.patch +++ b/target/linux/bcm63xx/patches-5.4/519-board_bcm63268.patch @@ -1,6 +1,6 @@ --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c -@@ -2671,6 +2671,273 @@ static struct board_info __initdata boar +@@ -2711,6 +2711,273 @@ static struct board_info __initdata boar #endif /* CONFIG_BCM63XX_CPU_6368 */ /* @@ -274,7 +274,7 @@ * all boards */ static const struct board_info __initconst *bcm963xx_boards[] = { -@@ -2774,6 +3041,15 @@ static const struct board_info __initcon +@@ -2815,6 +3082,15 @@ static const struct board_info __initcon &board_VR3026e, &board_WAP5813n, #endif /* CONFIG_BCM63XX_CPU_6368 */ @@ -290,7 +290,7 @@ }; static struct of_device_id const bcm963xx_boards_dt[] = { -@@ -2890,6 +3166,14 @@ static struct of_device_id const bcm963x +@@ -2932,6 +3208,14 @@ static struct of_device_id const bcm963x { .compatible = "zyxel,p870hw-51a-v2", .data = &board_P870HW51A_V2, }, #endif /* CONFIG_BCM63XX_CPU_6368 */ #ifdef CONFIG_BCM63XX_CPU_63268 diff --git a/target/linux/bcm63xx/patches-5.4/531-board_bcm6348-bt-voyager-2500v-bb.patch b/target/linux/bcm63xx/patches-5.4/531-board_bcm6348-bt-voyager-2500v-bb.patch index 23fefee97a..ec49e933d6 100644 --- a/target/linux/bcm63xx/patches-5.4/531-board_bcm6348-bt-voyager-2500v-bb.patch +++ b/target/linux/bcm63xx/patches-5.4/531-board_bcm6348-bt-voyager-2500v-bb.patch @@ -1,6 +1,6 @@ --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c -@@ -3202,6 +3202,22 @@ void __init board_bcm963xx_init(void) +@@ -3244,6 +3244,22 @@ void __init board_bcm963xx_init(void) val &= MPI_CSBASE_BASE_MASK; } boot_addr = (u8 *)KSEG1ADDR(val); |