From 8a554a287811eaf43f375b5875c87a75d1c9bcb0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20=C5=A0tetiar?= Date: Sat, 8 Apr 2023 10:29:06 +0200 Subject: [PATCH 01/18] kernel: crypto: fix architecture specific modules MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit While tracking one bug report related to wrong package dependencies I've noticed, that a bunch of the crypto modules are actually not architecture specific, but either board/subtarget (x86/64) or board (mpc85xx) specific. So lets fix it, by making those modules architecture specific: x86/64 -> x86_64 mpc85xx -> powerpc Signed-off-by: Petr Štetiar --- package/kernel/linux/modules/crypto.mk | 42 ++++++++++++++++++++++---- 1 file changed, 36 insertions(+), 6 deletions(-) diff --git a/package/kernel/linux/modules/crypto.mk b/package/kernel/linux/modules/crypto.mk index 83048e50d3f..04499f5f5fa 100644 --- a/package/kernel/linux/modules/crypto.mk +++ b/package/kernel/linux/modules/crypto.mk @@ -541,7 +541,7 @@ define KernelPackage/crypto-lib-curve25519/config imply PACKAGE_kmod-crypto-kpp endef -define KernelPackage/crypto-lib-curve25519/x86/64 +define KernelPackage/crypto-lib-curve25519/x86_64 KCONFIG+=CONFIG_CRYPTO_CURVE25519_X86 FILES+=$(LINUX_DIR)/arch/x86/crypto/curve25519-x86_64.ko endef @@ -556,6 +556,11 @@ ifeq ($(ARCH)-$(CONFIG_KERNEL_MODE_NEON),arm-y) $(KernelPackage/crypto-lib-curve25519/arm-neon) endif +ifdef KernelPackage/crypto-lib-curve25519/$(ARCH) + KernelPackage/crypto-lib-curve25519/$(CRYPTO_TARGET)=\ + $(KernelPackage/crypto-lib-curve25519/$(ARCH)) +endif + $(eval $(call KernelPackage,crypto-lib-curve25519)) @@ -646,11 +651,16 @@ define KernelPackage/crypto-md5/octeon AUTOLOAD+=$(call AutoLoad,09,octeon-md5) endef -define KernelPackage/crypto-md5/mpc85xx +define KernelPackage/crypto-md5/powerpc FILES+=$(LINUX_DIR)/arch/powerpc/crypto/md5-ppc.ko AUTOLOAD+=$(call AutoLoad,09,md5-ppc) endef +ifdef KernelPackage/crypto-md5/$(ARCH) + KernelPackage/crypto-md5/$(CRYPTO_TARGET)=\ + $(KernelPackage/crypto-md5/$(ARCH)) +endif + $(eval $(call KernelPackage,crypto-md5)) @@ -735,7 +745,7 @@ ifndef CONFIG_TARGET_x86_64 endef endif -define KernelPackage/crypto-misc/x86/64 +define KernelPackage/crypto-misc/x86_64 FILES+= \ $(LINUX_DIR)/arch/x86/crypto/camellia-x86_64.ko \ $(LINUX_DIR)/arch/x86/crypto/blowfish-x86_64.ko \ @@ -755,6 +765,11 @@ define KernelPackage/crypto-misc/x86/64 twofish-avx-x86_64 blowfish-x86_64 serpent-avx-x86_64 serpent-avx2) endef +ifdef KernelPackage/crypto-misc/$(ARCH) + KernelPackage/crypto-misc/$(CRYPTO_TARGET)=\ + $(KernelPackage/crypto-misc/$(ARCH)) +endif + $(eval $(call KernelPackage,crypto-misc)) @@ -884,11 +899,16 @@ define KernelPackage/crypto-sha1/mpc85xx AUTOLOAD+=$(call AutoLoad,09,sha1-ppc-spe) endef -define KernelPackage/crypto-sha1/x86/64 +define KernelPackage/crypto-sha1/x86_64 FILES+=$(LINUX_DIR)/arch/x86/crypto/sha1-ssse3.ko AUTOLOAD+=$(call AutoLoad,09,sha1-ssse3) endef +ifdef KernelPackage/crypto-sha1/$(ARCH) + KernelPackage/crypto-sha1/$(CRYPTO_TARGET)=\ + $(KernelPackage/crypto-sha1/$(ARCH)) +endif + $(eval $(call KernelPackage,crypto-sha1)) @@ -917,11 +937,16 @@ define KernelPackage/crypto-sha256/mpc85xx AUTOLOAD+=$(call AutoLoad,09,sha256-ppc-spe) endef -define KernelPackage/crypto-sha256/x86/64 +define KernelPackage/crypto-sha256/x86_64 FILES+=$(LINUX_DIR)/arch/x86/crypto/sha256-ssse3.ko AUTOLOAD+=$(call AutoLoad,09,sha256-ssse3) endef +ifdef KernelPackage/crypto-sha256/$(ARCH) + KernelPackage/crypto-sha256/$(CRYPTO_TARGET)=\ + $(KernelPackage/crypto-sha256/$(ARCH)) +endif + $(eval $(call KernelPackage,crypto-sha256)) @@ -954,11 +979,16 @@ endef KernelPackage/crypto-sha512/tegra=$(KernelPackage/crypto-sha512/arm) -define KernelPackage/crypto-sha512/x86/64 +define KernelPackage/crypto-sha512/x86_64 FILES+=$(LINUX_DIR)/arch/x86/crypto/sha512-ssse3.ko AUTOLOAD+=$(call AutoLoad,09,sha512-ssse3) endef +ifdef KernelPackage/crypto-sha512/$(ARCH) + KernelPackage/crypto-sha512/$(CRYPTO_TARGET)=\ + $(KernelPackage/crypto-sha512/$(ARCH)) +endif + $(eval $(call KernelPackage,crypto-sha512)) From 57392d63778b243c83f59c5e16436f4645b24a66 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20=C5=A0tetiar?= Date: Sun, 9 Apr 2023 08:29:26 +0200 Subject: [PATCH 02/18] kernel: crypto: fix missing dependecies for CRYPTO_USER_API_ENABLE_OBSOLETE MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit CRYPTO_USER_API_ENABLE_OBSOLETE config symbol depends on CRYPTO_USER so lets add this dependency to relevant modules. Signed-off-by: Petr Štetiar --- package/kernel/linux/modules/crypto.mk | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package/kernel/linux/modules/crypto.mk b/package/kernel/linux/modules/crypto.mk index 04499f5f5fa..4950b94c62d 100644 --- a/package/kernel/linux/modules/crypto.mk +++ b/package/kernel/linux/modules/crypto.mk @@ -52,6 +52,7 @@ $(eval $(call KernelPackage,crypto-aead)) define KernelPackage/crypto-arc4 TITLE:=ARC4 cipher CryptoAPI module + DEPENDS:=+kmod-crypto-user KCONFIG:= \ CONFIG_CRYPTO_ARC4 \ CONFIG_CRYPTO_USER_API_ENABLE_OBSOLETE=y @@ -678,7 +679,7 @@ $(eval $(call KernelPackage,crypto-michael-mic)) define KernelPackage/crypto-misc TITLE:=Other CryptoAPI modules - DEPENDS:=+kmod-crypto-xts + DEPENDS:=+kmod-crypto-xts +kmod-crypto-user KCONFIG:= \ CONFIG_CRYPTO_USER_API_ENABLE_OBSOLETE=y \ CONFIG_CRYPTO_CAMELLIA_X86_64 \ From f5adc5bafbc825819fc388357fab1799e2935840 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= Date: Sun, 9 Apr 2023 20:58:14 +0200 Subject: [PATCH 03/18] kernel: disable CONFIG_HW_RANDOM_BCM2835 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This HW RNG is present on some Broadcom 63XX SoCs, but not all of them. Signed-off-by: Álvaro Fernández Rojas --- target/linux/generic/config-5.15 | 1 + 1 file changed, 1 insertion(+) diff --git a/target/linux/generic/config-5.15 b/target/linux/generic/config-5.15 index a03f65f4d77..239a6452310 100644 --- a/target/linux/generic/config-5.15 +++ b/target/linux/generic/config-5.15 @@ -2450,6 +2450,7 @@ CONFIG_HW_PERF_EVENTS=y # CONFIG_HW_RANDOM_ARM_SMCCC_TRNG is not set # CONFIG_HW_RANDOM_ATMEL is not set # CONFIG_HW_RANDOM_BA431 is not set +# CONFIG_HW_RANDOM_BCM2835 is not set # CONFIG_HW_RANDOM_CAVIUM is not set # CONFIG_HW_RANDOM_CCTRNG is not set # CONFIG_HW_RANDOM_EXYNOS is not set From 95b846fbc0df809602561a316b6cc00e91bb4861 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= Date: Sun, 9 Apr 2023 20:59:11 +0200 Subject: [PATCH 04/18] bmips: allow disabling mdio-mux-bcm6368 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This controller is only present on SoCs with B53 MMAP switch. Signed-off-by: Álvaro Fernández Rojas --- .../502-net-mdio-mux-bcm6368-allow-disabling.patch | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 target/linux/bmips/patches-5.15/502-net-mdio-mux-bcm6368-allow-disabling.patch diff --git a/target/linux/bmips/patches-5.15/502-net-mdio-mux-bcm6368-allow-disabling.patch b/target/linux/bmips/patches-5.15/502-net-mdio-mux-bcm6368-allow-disabling.patch new file mode 100644 index 00000000000..3d9687bfc26 --- /dev/null +++ b/target/linux/bmips/patches-5.15/502-net-mdio-mux-bcm6368-allow-disabling.patch @@ -0,0 +1,10 @@ +--- a/drivers/net/mdio/Kconfig ++++ b/drivers/net/mdio/Kconfig +@@ -219,7 +219,6 @@ config MDIO_BUS_MUX_BCM6368 + tristate "Broadcom BCM6368 MDIO bus multiplexers" + depends on OF && OF_MDIO && (BMIPS_GENERIC || COMPILE_TEST) + select MDIO_BUS_MUX +- default BMIPS_GENERIC + help + This module provides a driver for MDIO bus multiplexers found in + BCM6368 based Broadcom SoCs. This multiplexer connects one of several From e76556d967fac9e25ca49298996aeea491c9ef90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= Date: Sun, 9 Apr 2023 21:00:03 +0200 Subject: [PATCH 05/18] bmips: b43-sprom: fix build when SSB/BCMA disabled MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fix build of B43 SPROM fallback when SSB or BCMA are disabled. Signed-off-by: Álvaro Fernández Rojas --- .../bmips/files/arch/mips/bmips/b43-sprom.c | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/target/linux/bmips/files/arch/mips/bmips/b43-sprom.c b/target/linux/bmips/files/arch/mips/bmips/b43-sprom.c index edc7fb145b8..d8d3b47983e 100644 --- a/target/linux/bmips/files/arch/mips/bmips/b43-sprom.c +++ b/target/linux/bmips/files/arch/mips/bmips/b43-sprom.c @@ -40,7 +40,7 @@ struct b43_sprom { static struct b43_sprom b43_sprom; -#if defined (CONFIG_SSB_PCIHOST) +#if IS_BUILTIN(CONFIG_SSB) && IS_ENABLED(CONFIG_SSB_SPROM) static u16 bcm4306_sprom_map[] = { 0x4001, 0x0000, 0x0453, 0x14e4, 0x4320, 0x8000, 0x0002, 0x0002, 0x1000, 0x1800, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, @@ -185,9 +185,9 @@ struct b43_sprom_raw bcm43222_sprom = { .size = ARRAY_SIZE(bcm43222_sprom_map), .type = B43_SPROM_SSB, }; -#endif /* CONFIG_SSB_PCIHOST */ +#endif /* CONFIG_SSB && CONFIG_SSB_SPROM */ -#if defined(CONFIG_BCMA_HOST_PCI) +#if IS_BUILTIN(CONFIG_BCMA) static u16 bcm4313_sprom_map[] = { 0x2801, 0x0000, 0x0510, 0x14e4, 0x0078, 0xedbe, 0x0000, 0x2bc4, 0x2a64, 0x2964, 0x2c64, 0x3ce7, 0x46ff, 0x47ff, 0x0c00, 0x0820, @@ -446,7 +446,7 @@ struct b43_sprom_raw bcm43228_sprom = { .size = ARRAY_SIZE(bcm43228_sprom_map), .type = B43_SPROM_BCMA, }; -#endif /* CONFIG_BCMA_HOST_PCI */ +#endif /* CONFIG_BCMA */ /* Get the word-offset for a SSB_SPROM_XXX define. */ #define SPOFF(offset) ((offset) / sizeof(u16)) @@ -1064,7 +1064,7 @@ static void b43_sprom_set(struct b43_sprom *priv) } } -#if defined(CONFIG_SSB_PCIHOST) +#if IS_BUILTIN(CONFIG_SSB) && IS_ENABLED(CONFIG_SSB_SPROM) int b43_get_fallback_ssb_sprom(struct ssb_bus *bus, struct ssb_sprom *out) { struct b43_sprom *priv = &b43_sprom; @@ -1087,9 +1087,9 @@ int b43_get_fallback_ssb_sprom(struct ssb_bus *bus, struct ssb_sprom *out) return -EINVAL; } } -#endif /* CONFIG_SSB_PCIHOST */ +#endif /* CONFIG_SSB && CONFIG_SSB_SPROM */ -#if defined(CONFIG_BCMA_HOST_PCI) +#if IS_BUILTIN(CONFIG_BCMA) int b43_get_fallback_bcma_sprom(struct bcma_bus *bus, struct ssb_sprom *out) { struct b43_sprom *priv = &b43_sprom; @@ -1112,7 +1112,7 @@ int b43_get_fallback_bcma_sprom(struct bcma_bus *bus, struct ssb_sprom *out) return -EINVAL; } } -#endif /* CONFIG_BCMA_HOST_PCI */ +#endif /* CONFIG_BCMA */ static int b43_sprom_probe(struct platform_device *pdev) { @@ -1140,30 +1140,30 @@ static int b43_sprom_probe(struct platform_device *pdev) memcpy(priv->sprom.et0mac, priv->mac, ETH_ALEN); memcpy(priv->sprom.et1mac, priv->mac, ETH_ALEN); -#if defined(CONFIG_SSB_PCIHOST) +#if IS_BUILTIN(CONFIG_SSB) && IS_ENABLED(CONFIG_SSB_SPROM) ret = ssb_arch_register_fallback_sprom(&b43_get_fallback_ssb_sprom); if (ret) return ret; -#endif /* CONFIG_SSB_PCIHOST */ +#endif /* CONFIG_SSB && CONFIG_SSB_SPROM */ -#if defined(CONFIG_BCMA_HOST_PCI) +#if IS_BUILTIN(CONFIG_BCMA) ret = bcma_arch_register_fallback_sprom(b43_get_fallback_bcma_sprom); if (ret) return ret; -#endif /* CONFIG_BCMA_HOST_PCI */ +#endif /* CONFIG_BCMA */ return 0; } static const struct of_device_id b43_sprom_of_match[] = { { .compatible = "brcm,bcm43xx-sprom", .data = NULL }, -#if defined (CONFIG_SSB_PCIHOST) +#if IS_BUILTIN(CONFIG_SSB) && IS_ENABLED(CONFIG_SSB_SPROM) { .compatible = "brcm,bcm4306-sprom", .data = &bcm4306_sprom, }, { .compatible = "brcm,bcm4321-sprom", .data = &bcm4321_sprom, }, { .compatible = "brcm,bcm4322-sprom", .data = &bcm4322_sprom, }, { .compatible = "brcm,bcm43222-sprom", .data = &bcm43222_sprom, }, -#endif /* CONFIG_BCMA_HOST_PCI */ -#if defined(CONFIG_BCMA_HOST_PCI) +#endif /* CONFIG_SSB && CONFIG_SSB_SPROM */ +#if IS_BUILTIN(CONFIG_BCMA) { .compatible = "brcm,bcm4313-sprom", .data = &bcm4313_sprom, }, { .compatible = "brcm,bcm4331-sprom", .data = &bcm4331_sprom, }, { .compatible = "brcm,bcm43131-sprom", .data = &bcm43131_sprom, }, @@ -1171,7 +1171,7 @@ static const struct of_device_id b43_sprom_of_match[] = { { .compatible = "brcm,bcm43225-sprom", .data = &bcm43225_sprom, }, { .compatible = "brcm,bcm43227-sprom", .data = &bcm43227_sprom, }, { .compatible = "brcm,bcm43228-sprom", .data = &bcm43228_sprom, }, -#endif /* CONFIG_BCMA_HOST_PCI */ +#endif /* CONFIG_BCMA */ { /* sentinel */ } }; From 6fd8e0f943a0e8216daf238e015b6a311512d4ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= Date: Sun, 9 Apr 2023 21:01:11 +0200 Subject: [PATCH 06/18] bmips: add subtargets for each SoC MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit BMIPS is a generic arch that can be used for multiple Broadcom SoCs, each one with its own specific drivers, so instead of having a huge kernel supporting all of them, let's switch to a subtarget per SoC like other OpenWrt targets. Signed-off-by: Álvaro Fernández Rojas --- target/linux/bmips/Makefile | 2 +- .../lib/upgrade/cfe-jffs2-nand.sh} | 20 -- .../bcm6318/base-files/etc/board.d/01_leds | 16 + .../bcm6318/base-files/etc/board.d/02_network | 16 + .../base-files/etc/uci-defaults/09_fix_crc | 8 +- .../base-files/lib/upgrade/platform.sh | 6 +- target/linux/bmips/{ => bcm6318}/config-5.15 | 33 +- target/linux/bmips/bcm6318/target.mk | 8 + .../bcm63268/base-files/etc/board.d/01_leds | 27 ++ .../base-files/etc/board.d/02_network | 10 +- .../base-files/etc/board.d/03_gpio_switches | 0 .../base-files/lib/upgrade/platform.sh | 26 ++ target/linux/bmips/bcm63268/config-5.15 | 295 ++++++++++++++++++ target/linux/bmips/bcm63268/target.mk | 9 + .../bcm6328/base-files/etc/board.d/02_network | 16 + .../base-files/etc/uci-defaults/09_fix_crc | 11 + .../base-files/lib/upgrade/platform.sh | 18 ++ target/linux/bmips/bcm6328/config-5.15 | 293 +++++++++++++++++ target/linux/bmips/bcm6328/target.mk | 9 + .../bcm6358/base-files/etc/board.d/01_leds | 16 + .../bcm6358/base-files/etc/board.d/02_network | 15 + .../base-files/lib/upgrade/platform.sh | 16 + target/linux/bmips/bcm6358/config-5.15 | 274 ++++++++++++++++ target/linux/bmips/bcm6358/target.mk | 9 + .../bcm6362/base-files/etc/board.d/01_leds | 20 ++ .../bcm6362/base-files/etc/board.d/02_network | 17 + .../base-files/lib/upgrade/platform.sh | 22 ++ target/linux/bmips/bcm6362/config-5.15 | 295 ++++++++++++++++++ target/linux/bmips/bcm6362/target.mk | 9 + .../base-files/etc/board.d/02_network | 5 - .../base-files/etc/uci-defaults/09_fix_crc | 11 + .../base-files/lib/upgrade/platform.sh | 16 + target/linux/bmips/bcm6368/config-5.15 | 290 +++++++++++++++++ target/linux/bmips/bcm6368/target.mk | 9 + .../generic/base-files/etc/board.d/01_leds | 16 - target/linux/bmips/generic/config-default | 3 - target/linux/bmips/generic/target.mk | 5 - target/linux/bmips/image/Makefile | 75 ++++- target/linux/bmips/image/bcm6318.mk | 13 + target/linux/bmips/image/bcm63268.mk | 82 +++++ target/linux/bmips/image/bcm6328.mk | 13 + target/linux/bmips/image/bcm6358.mk | 15 + target/linux/bmips/image/bcm6362.mk | 41 +++ target/linux/bmips/image/bcm6368.mk | 14 + target/linux/bmips/image/bcm63xx_generic.mk | 78 ----- target/linux/bmips/image/bcm63xx_nand.mk | 168 ---------- .../bmips/nand/base-files/etc/board.d/01_leds | 16 - target/linux/bmips/nand/config-default | 27 -- target/linux/bmips/nand/target.mk | 6 - 49 files changed, 2037 insertions(+), 382 deletions(-) rename target/linux/bmips/{nand/base-files/lib/upgrade/platform.sh => base-files/lib/upgrade/cfe-jffs2-nand.sh} (79%) create mode 100644 target/linux/bmips/bcm6318/base-files/etc/board.d/01_leds create mode 100644 target/linux/bmips/bcm6318/base-files/etc/board.d/02_network rename target/linux/bmips/{generic => bcm6318}/base-files/etc/uci-defaults/09_fix_crc (53%) rename target/linux/bmips/{generic => bcm6318}/base-files/lib/upgrade/platform.sh (82%) rename target/linux/bmips/{ => bcm6318}/config-5.15 (93%) create mode 100644 target/linux/bmips/bcm6318/target.mk create mode 100644 target/linux/bmips/bcm63268/base-files/etc/board.d/01_leds rename target/linux/bmips/{nand => bcm63268}/base-files/etc/board.d/02_network (93%) rename target/linux/bmips/{nand => bcm63268}/base-files/etc/board.d/03_gpio_switches (100%) create mode 100644 target/linux/bmips/bcm63268/base-files/lib/upgrade/platform.sh create mode 100644 target/linux/bmips/bcm63268/config-5.15 create mode 100644 target/linux/bmips/bcm63268/target.mk create mode 100644 target/linux/bmips/bcm6328/base-files/etc/board.d/02_network create mode 100644 target/linux/bmips/bcm6328/base-files/etc/uci-defaults/09_fix_crc create mode 100644 target/linux/bmips/bcm6328/base-files/lib/upgrade/platform.sh create mode 100644 target/linux/bmips/bcm6328/config-5.15 create mode 100644 target/linux/bmips/bcm6328/target.mk create mode 100644 target/linux/bmips/bcm6358/base-files/etc/board.d/01_leds create mode 100644 target/linux/bmips/bcm6358/base-files/etc/board.d/02_network create mode 100644 target/linux/bmips/bcm6358/base-files/lib/upgrade/platform.sh create mode 100644 target/linux/bmips/bcm6358/config-5.15 create mode 100644 target/linux/bmips/bcm6358/target.mk create mode 100644 target/linux/bmips/bcm6362/base-files/etc/board.d/01_leds create mode 100644 target/linux/bmips/bcm6362/base-files/etc/board.d/02_network create mode 100644 target/linux/bmips/bcm6362/base-files/lib/upgrade/platform.sh create mode 100644 target/linux/bmips/bcm6362/config-5.15 create mode 100644 target/linux/bmips/bcm6362/target.mk rename target/linux/bmips/{generic => bcm6368}/base-files/etc/board.d/02_network (72%) create mode 100644 target/linux/bmips/bcm6368/base-files/etc/uci-defaults/09_fix_crc create mode 100644 target/linux/bmips/bcm6368/base-files/lib/upgrade/platform.sh create mode 100644 target/linux/bmips/bcm6368/config-5.15 create mode 100644 target/linux/bmips/bcm6368/target.mk delete mode 100644 target/linux/bmips/generic/base-files/etc/board.d/01_leds delete mode 100644 target/linux/bmips/generic/config-default delete mode 100644 target/linux/bmips/generic/target.mk create mode 100644 target/linux/bmips/image/bcm6318.mk create mode 100644 target/linux/bmips/image/bcm63268.mk create mode 100644 target/linux/bmips/image/bcm6328.mk create mode 100644 target/linux/bmips/image/bcm6358.mk create mode 100644 target/linux/bmips/image/bcm6362.mk create mode 100644 target/linux/bmips/image/bcm6368.mk delete mode 100644 target/linux/bmips/image/bcm63xx_generic.mk delete mode 100644 target/linux/bmips/image/bcm63xx_nand.mk delete mode 100644 target/linux/bmips/nand/base-files/etc/board.d/01_leds delete mode 100644 target/linux/bmips/nand/config-default delete mode 100644 target/linux/bmips/nand/target.mk diff --git a/target/linux/bmips/Makefile b/target/linux/bmips/Makefile index fa648665d97..0de5377f4ec 100644 --- a/target/linux/bmips/Makefile +++ b/target/linux/bmips/Makefile @@ -6,7 +6,7 @@ ARCH:=mips CPU_TYPE:=mips32 BOARD:=bmips BOARDNAME:=Broadcom BMIPS -SUBTARGETS:=generic nand +SUBTARGETS:=bcm6318 bcm6328 bcm6358 bcm6362 bcm6368 bcm63268 FEATURES:=gpio source-only squashfs usb KERNEL_PATCHVER:=5.15 diff --git a/target/linux/bmips/nand/base-files/lib/upgrade/platform.sh b/target/linux/bmips/base-files/lib/upgrade/cfe-jffs2-nand.sh similarity index 79% rename from target/linux/bmips/nand/base-files/lib/upgrade/platform.sh rename to target/linux/bmips/base-files/lib/upgrade/cfe-jffs2-nand.sh index 33217ed975b..64b8df652b9 100644 --- a/target/linux/bmips/nand/base-files/lib/upgrade/platform.sh +++ b/target/linux/bmips/base-files/lib/upgrade/cfe-jffs2-nand.sh @@ -1,12 +1,5 @@ # SPDX-License-Identifier: GPL-2.0-or-later -PART_NAME=firmware -REQUIRE_IMAGE_METADATA=1 - -platform_check_image() { - return 0 -} - cfe_jffs2_nand_upgrade() { local tar_file="$1" local kernel_mtd="$(find_mtd_index $CI_KERNPART)" @@ -42,16 +35,3 @@ cfe_jffs2_nand_upgrade() { nand_do_upgrade_success } - -platform_do_upgrade() { - case "$(board_name)" in - comtrend,vr-3032u|\ - huawei,hg253s-v2|\ - netgear,dgnd3700-v2) - cfe_jffs2_nand_upgrade "$1" - ;; - *) - nand_do_upgrade "$1" - ;; - esac -} diff --git a/target/linux/bmips/bcm6318/base-files/etc/board.d/01_leds b/target/linux/bmips/bcm6318/base-files/etc/board.d/01_leds new file mode 100644 index 00000000000..98355460a0a --- /dev/null +++ b/target/linux/bmips/bcm6318/base-files/etc/board.d/01_leds @@ -0,0 +1,16 @@ +# SPDX-License-Identifier: GPL-2.0-or-later + +. /lib/functions/leds.sh +. /lib/functions/uci-defaults.sh + +board_config_update + +case "$(board_name)" in +comtrend,ar-5315u) + ucidef_set_led_usbport "usb" "USB" "green:usb" "usb1-port1" "usb2-port1" + ;; +esac + +board_config_flush + +exit 0 diff --git a/target/linux/bmips/bcm6318/base-files/etc/board.d/02_network b/target/linux/bmips/bcm6318/base-files/etc/board.d/02_network new file mode 100644 index 00000000000..92b2e8f4d40 --- /dev/null +++ b/target/linux/bmips/bcm6318/base-files/etc/board.d/02_network @@ -0,0 +1,16 @@ +# SPDX-License-Identifier: GPL-2.0-or-later + +. /lib/functions/uci-defaults.sh + +board_config_update + +case "$(board_name)" in +comtrend,ar-5315u) + ucidef_set_bridge_device switch + ucidef_set_interface_lan "lan1 lan2 lan3 lan4" + ;; +esac + +board_config_flush + +exit 0 diff --git a/target/linux/bmips/generic/base-files/etc/uci-defaults/09_fix_crc b/target/linux/bmips/bcm6318/base-files/etc/uci-defaults/09_fix_crc similarity index 53% rename from target/linux/bmips/generic/base-files/etc/uci-defaults/09_fix_crc rename to target/linux/bmips/bcm6318/base-files/etc/uci-defaults/09_fix_crc index 60227e7c34c..a52f0ecc402 100644 --- a/target/linux/bmips/generic/base-files/etc/uci-defaults/09_fix_crc +++ b/target/linux/bmips/bcm6318/base-files/etc/uci-defaults/09_fix_crc @@ -3,11 +3,9 @@ . /lib/functions.sh case "$(board_name)" in - comtrend,ar-5315u|\ - comtrend,ar-5387un|\ - comtrend,vr-3025u) - mtd fixtrx firmware - ;; +comtrend,ar-5315u) + mtd fixtrx firmware + ;; esac exit 0 diff --git a/target/linux/bmips/generic/base-files/lib/upgrade/platform.sh b/target/linux/bmips/bcm6318/base-files/lib/upgrade/platform.sh similarity index 82% rename from target/linux/bmips/generic/base-files/lib/upgrade/platform.sh rename to target/linux/bmips/bcm6318/base-files/lib/upgrade/platform.sh index d731bb74d5a..1cf95be26a5 100644 --- a/target/linux/bmips/generic/base-files/lib/upgrade/platform.sh +++ b/target/linux/bmips/bcm6318/base-files/lib/upgrade/platform.sh @@ -9,8 +9,8 @@ platform_check_image() { platform_do_upgrade() { case "$(board_name)" in - *) - default_do_upgrade "$1" - ;; + *) + default_do_upgrade "$1" + ;; esac } diff --git a/target/linux/bmips/config-5.15 b/target/linux/bmips/bcm6318/config-5.15 similarity index 93% rename from target/linux/bmips/config-5.15 rename to target/linux/bmips/bcm6318/config-5.15 index 3fc58d01dd8..588d7517447 100644 --- a/target/linux/bmips/config-5.15 +++ b/target/linux/bmips/bcm6318/config-5.15 @@ -10,7 +10,7 @@ CONFIG_B53_MMAP_DRIVER=y CONFIG_B53_SPI_DRIVER=y CONFIG_BCM6345_EXT_IRQ=y CONFIG_BCM6345_L1_IRQ=y -CONFIG_BCM6348_ENET=y +# CONFIG_BCM6348_ENET is not set CONFIG_BCM6368_ENETSW=y CONFIG_BCM63XX_POWER=y CONFIG_BCM7038_WDT=y @@ -28,7 +28,7 @@ CONFIG_BLK_MQ_PCI=y CONFIG_BLK_PM=y CONFIG_BMIPS_GENERIC=y CONFIG_CEVT_R4K=y -CONFIG_CLK_BCM63268_TIMER=y +# CONFIG_CLK_BCM63268_TIMER is not set CONFIG_CLK_BCM_63XX_GATE=y CONFIG_CLONE_BACKWARDS=y CONFIG_COMMON_CLK=y @@ -116,8 +116,6 @@ CONFIG_HARDIRQS_SW_RESEND=y CONFIG_HAS_DMA=y CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT_MAP=y -CONFIG_HW_RANDOM=y -CONFIG_HW_RANDOM_BCM2835=y CONFIG_HZ_PERIODIC=y CONFIG_INITRAMFS_SOURCE="" CONFIG_IRQCHIP=y @@ -165,6 +163,8 @@ CONFIG_MTD_CFI_BE_BYTE_SWAP=y CONFIG_MTD_CFI_STAA=y CONFIG_MTD_JEDECPROBE=y # CONFIG_MTD_PARSER_IMAGETAG is not set +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_SPLIT_BCM63XX_FW=y CONFIG_NEED_DMA_MAP_STATE=y CONFIG_NET_DEVLINK=y CONFIG_NET_DSA=y @@ -191,9 +191,9 @@ CONFIG_PADATA=y CONFIG_PCI=y CONFIG_PCIEPORTBUS=y CONFIG_PCIE_BCM6318=y -CONFIG_PCIE_BCM6328=y +# CONFIG_PCIE_BCM6328 is not set CONFIG_PCIE_PME=y -CONFIG_PCI_BCM6348=y +# CONFIG_PCI_BCM6348 is not set CONFIG_PCI_DOMAINS=y CONFIG_PCI_DRIVERS_LEGACY=y CONFIG_PERF_USE_VMALLOC=y @@ -205,11 +205,11 @@ CONFIG_PHY_BCM63XX_USBH=y # CONFIG_PHY_BRCM_SATA is not set CONFIG_PINCTRL=y CONFIG_PINCTRL_BCM6318=y -CONFIG_PINCTRL_BCM63268=y -CONFIG_PINCTRL_BCM6328=y -CONFIG_PINCTRL_BCM6358=y -CONFIG_PINCTRL_BCM6362=y -CONFIG_PINCTRL_BCM6368=y +# CONFIG_PINCTRL_BCM63268 is not set +# CONFIG_PINCTRL_BCM6328 is not set +# CONFIG_PINCTRL_BCM6358 is not set +# CONFIG_PINCTRL_BCM6362 is not set +# CONFIG_PINCTRL_BCM6368 is not set CONFIG_PINCTRL_BCM63XX=y CONFIG_PM=y CONFIG_PM_CLK=y @@ -241,20 +241,11 @@ CONFIG_SMP_UP=y CONFIG_SOCK_RX_QUEUE_MAPPING=y CONFIG_SOC_BCM63XX=y CONFIG_SPI=y -CONFIG_SPI_BCM63XX=y +# CONFIG_SPI_BCM63XX is not set CONFIG_SPI_BCM63XX_HSSPI=y CONFIG_SPI_MASTER=y CONFIG_SPI_MEM=y CONFIG_SRCU=y -CONFIG_SSB=y -CONFIG_SSB_B43_PCI_BRIDGE=y -CONFIG_SSB_BLOCKIO=y -# CONFIG_SSB_DRIVER_MIPS is not set -CONFIG_SSB_DRIVER_PCICORE=y -CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y -CONFIG_SSB_PCIHOST=y -CONFIG_SSB_PCIHOST_POSSIBLE=y -CONFIG_SSB_SPROM=y CONFIG_SWAP_IO_SPACE=y CONFIG_SWPHY=y CONFIG_SYNC_R4K=y diff --git a/target/linux/bmips/bcm6318/target.mk b/target/linux/bmips/bcm6318/target.mk new file mode 100644 index 00000000000..a8bbc8b9765 --- /dev/null +++ b/target/linux/bmips/bcm6318/target.mk @@ -0,0 +1,8 @@ +# SPDX-License-Identifier: GPL-2.0-only + +SUBTARGET:=bcm6318 +BOARDNAME:=BCM6318 based boards + +define Target/Description + Build firmware images for Broadcom BCM6318 based boards. +endef diff --git a/target/linux/bmips/bcm63268/base-files/etc/board.d/01_leds b/target/linux/bmips/bcm63268/base-files/etc/board.d/01_leds new file mode 100644 index 00000000000..d5b65a9c0fa --- /dev/null +++ b/target/linux/bmips/bcm63268/base-files/etc/board.d/01_leds @@ -0,0 +1,27 @@ +# SPDX-License-Identifier: GPL-2.0-or-later + +. /lib/functions/leds.sh +. /lib/functions/uci-defaults.sh + +board_config_update + +case "$(board_name)" in +comtrend,vr-3032u) + ucidef_set_led_usbport "usb" "USB" "green:usb" "usb1-port1" "usb2-port1" + ;; +sercomm,h500-s-lowi |\ +sercomm,h500-s-vfes) + ucidef_set_led_netdev "wan" "WAN" "green:internet" "wan" + ucidef_set_led_netdev "wifi" "WiFi" "green:wifi" "wifi" + ucidef_set_led_usbport "usb" "USB" "green:mobile" "usb1-port1" "usb2-port1" + ;; +sercomm,shg2500) + ucidef_set_led_netdev "wan" "WAN" "green:internet" "wan" + ucidef_set_led_usbport "usb1" "USB1" "blue:modem" "usb1-port1" "usb2-port1" + ucidef_set_led_usbport "usb2" "USB2" "green:modem" "usb1-port2" "usb2-port2" + ;; +esac + +board_config_flush + +exit 0 diff --git a/target/linux/bmips/nand/base-files/etc/board.d/02_network b/target/linux/bmips/bcm63268/base-files/etc/board.d/02_network similarity index 93% rename from target/linux/bmips/nand/base-files/etc/board.d/02_network rename to target/linux/bmips/bcm63268/base-files/etc/board.d/02_network index 0e130103da3..ad7f2432e20 100644 --- a/target/linux/bmips/nand/base-files/etc/board.d/02_network +++ b/target/linux/bmips/bcm63268/base-files/etc/board.d/02_network @@ -9,12 +9,6 @@ comtrend,vr-3032u) ucidef_set_bridge_device switch ucidef_set_interface_lan "lan1 lan2 lan3 lan4" ;; -huawei,hg253s-v2 |\ -netgear,dgnd3700-v2 |\ -sercomm,shg2500) - ucidef_set_bridge_device switch - ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4" "wan" - ;; sercomm,h500-s-lowi |\ sercomm,h500-s-vfes) ucidef_set_bridge_device switch @@ -22,6 +16,10 @@ sercomm,h500-s-vfes) ucidef_set_interface "qtn" device "wifi" protocol "static" ipaddr "1.1.1.1" netmask "255.255.255.252" uci add_list firewall.@zone[0].network='qtn' ;; +sercomm,shg2500) + ucidef_set_bridge_device switch + ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4" "wan" + ;; esac board_config_flush diff --git a/target/linux/bmips/nand/base-files/etc/board.d/03_gpio_switches b/target/linux/bmips/bcm63268/base-files/etc/board.d/03_gpio_switches similarity index 100% rename from target/linux/bmips/nand/base-files/etc/board.d/03_gpio_switches rename to target/linux/bmips/bcm63268/base-files/etc/board.d/03_gpio_switches diff --git a/target/linux/bmips/bcm63268/base-files/lib/upgrade/platform.sh b/target/linux/bmips/bcm63268/base-files/lib/upgrade/platform.sh new file mode 100644 index 00000000000..0aaf10442bb --- /dev/null +++ b/target/linux/bmips/bcm63268/base-files/lib/upgrade/platform.sh @@ -0,0 +1,26 @@ +# SPDX-License-Identifier: GPL-2.0-or-later + +. /lib/upgrade/cfe-jffs2-nand.sh + +PART_NAME=firmware +REQUIRE_IMAGE_METADATA=1 + +platform_check_image() { + return 0 +} + +platform_do_upgrade() { + case "$(board_name)" in + comtrend,vr-3032u) + cfe_jffs2_nand_upgrade "$1" + ;; + sercomm,h500-s-lowi |\ + sercomm,h500-s-vfes |\ + sercomm,shg2500) + nand_do_upgrade "$1" + ;; + *) + default_do_upgrade "$1" + ;; + esac +} diff --git a/target/linux/bmips/bcm63268/config-5.15 b/target/linux/bmips/bcm63268/config-5.15 new file mode 100644 index 00000000000..4cdbe132281 --- /dev/null +++ b/target/linux/bmips/bcm63268/config-5.15 @@ -0,0 +1,295 @@ +CONFIG_ARCH_32BIT_OFF_T=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +CONFIG_ARCH_KEEP_MEMBLOCK=y +CONFIG_ARCH_MMAP_RND_BITS_MAX=15 +CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=15 +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_B53=y +CONFIG_B53_MDIO_DRIVER=y +CONFIG_B53_MMAP_DRIVER=y +CONFIG_B53_SPI_DRIVER=y +CONFIG_BCM6345_EXT_IRQ=y +CONFIG_BCM6345_L1_IRQ=y +# CONFIG_BCM6348_ENET is not set +CONFIG_BCM6368_ENETSW=y +CONFIG_BCM63XX_POWER=y +CONFIG_BCM7038_WDT=y +CONFIG_BCMA=y +CONFIG_BCMA_BLOCKIO=y +# CONFIG_BCMA_DEBUG is not set +# CONFIG_BCMA_DRIVER_GMAC_CMN is not set +# CONFIG_BCMA_DRIVER_MIPS is not set +CONFIG_BCMA_DRIVER_PCI=y +# CONFIG_BCMA_DRIVER_PCI_HOSTMODE is not set +CONFIG_BCMA_HOST_PCI=y +CONFIG_BCMA_HOST_PCI_POSSIBLE=y +# CONFIG_BCMA_HOST_SOC is not set +CONFIG_BLK_MQ_PCI=y +CONFIG_BLK_PM=y +CONFIG_BMIPS_GENERIC=y +CONFIG_CEVT_R4K=y +CONFIG_CLK_BCM63268_TIMER=y +CONFIG_CLK_BCM_63XX_GATE=y +CONFIG_CLONE_BACKWARDS=y +CONFIG_COMMON_CLK=y +CONFIG_COMPAT_32BIT_TIME=y +CONFIG_CPU_BIG_ENDIAN=y +CONFIG_CPU_BMIPS=y +CONFIG_CPU_BMIPS32_3300=y +CONFIG_CPU_BMIPS4350=y +CONFIG_CPU_BMIPS4380=y +CONFIG_CPU_GENERIC_DUMP_TLB=y +CONFIG_CPU_HAS_PREFETCH=y +CONFIG_CPU_HAS_RIXI=y +CONFIG_CPU_HAS_SYNC=y +CONFIG_CPU_MIPS32=y +CONFIG_CPU_NEEDS_NO_SMARTMIPS_OR_MICROMIPS=y +CONFIG_CPU_NO_EFFICIENT_FFS=y +CONFIG_CPU_R4K_CACHE_TLB=y +CONFIG_CPU_RMAP=y +CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y +CONFIG_CPU_SUPPORTS_CPUFREQ=y +CONFIG_CPU_SUPPORTS_HIGHMEM=y +CONFIG_CRASH_DUMP=y +CONFIG_CRC16=y +CONFIG_CRYPTO_DEFLATE=y +CONFIG_CRYPTO_HASH_INFO=y +CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y +CONFIG_CRYPTO_LIB_POLY1305_RSIZE=2 +CONFIG_CRYPTO_LZO=y +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_ZSTD=y +CONFIG_CSRC_R4K=y +CONFIG_DEBUG_INFO=y +CONFIG_DMA_NONCOHERENT=y +CONFIG_DTC=y +# CONFIG_DT_BCM93384WVG is not set +# CONFIG_DT_BCM93384WVG_VIPER is not set +# CONFIG_DT_BCM96368MVWG is not set +# CONFIG_DT_BCM97125CBMB is not set +# CONFIG_DT_BCM97346DBSMB is not set +# CONFIG_DT_BCM97358SVMB is not set +# CONFIG_DT_BCM97360SVMB is not set +# CONFIG_DT_BCM97362SVMB is not set +# CONFIG_DT_BCM97420C is not set +# CONFIG_DT_BCM97425SVMB is not set +# CONFIG_DT_BCM97435SVMB is not set +# CONFIG_DT_BCM9EJTAGPRB is not set +# CONFIG_DT_COMTREND_VR3032U is not set +# CONFIG_DT_NETGEAR_CVG834G is not set +CONFIG_DT_NONE=y +# CONFIG_DT_SFR_NEUFBOX4_SERCOMM is not set +# CONFIG_DT_SFR_NEUFBOX6_SERCOMM is not set +CONFIG_FIXED_PHY=y +CONFIG_FWNODE_MDIO=y +CONFIG_FW_LOADER_PAGED_BUF=y +CONFIG_GENERIC_ATOMIC64=y +CONFIG_GENERIC_CLOCKEVENTS=y +CONFIG_GENERIC_CMOS_UPDATE=y +CONFIG_GENERIC_CPU_AUTOPROBE=y +CONFIG_GENERIC_FIND_FIRST_BIT=y +CONFIG_GENERIC_GETTIMEOFDAY=y +CONFIG_GENERIC_IOMAP=y +CONFIG_GENERIC_IRQ_CHIP=y +CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_LIB_ASHLDI3=y +CONFIG_GENERIC_LIB_ASHRDI3=y +CONFIG_GENERIC_LIB_CMPDI2=y +CONFIG_GENERIC_LIB_LSHRDI3=y +CONFIG_GENERIC_LIB_UCMPDI2=y +CONFIG_GENERIC_PCI_IOMAP=y +CONFIG_GENERIC_PHY=y +CONFIG_GENERIC_PINCONF=y +CONFIG_GENERIC_PINCTRL_GROUPS=y +CONFIG_GENERIC_PINMUX_FUNCTIONS=y +CONFIG_GENERIC_SCHED_CLOCK=y +CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_GENERIC_TIME_VSYSCALL=y +# CONFIG_GPIO_BRCMSTB is not set +CONFIG_GPIO_CDEV=y +CONFIG_GPIO_GENERIC=y +CONFIG_GPIO_GENERIC_PLATFORM=y +CONFIG_GPIO_REGMAP=y +CONFIG_GRO_CELLS=y +CONFIG_HANDLE_DOMAIN_IRQ=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_HAS_DMA=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT_MAP=y +CONFIG_HW_RANDOM=y +CONFIG_HW_RANDOM_BCM2835=y +CONFIG_HZ_PERIODIC=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_IRQCHIP=y +CONFIG_IRQ_DOMAIN=y +CONFIG_IRQ_FORCED_THREADING=y +CONFIG_IRQ_MIPS_CPU=y +CONFIG_IRQ_WORK=y +# CONFIG_LEDS_SERCOMM_MSP430 is not set +CONFIG_LIBFDT=y +CONFIG_LOCK_DEBUGGING_SUPPORT=y +CONFIG_LZO_COMPRESS=y +CONFIG_LZO_DECOMPRESS=y +CONFIG_MDIO_BUS=y +CONFIG_MDIO_BUS_MUX=y +CONFIG_MDIO_BUS_MUX_BCM6368=y +CONFIG_MDIO_DEVICE=y +CONFIG_MDIO_DEVRES=y +CONFIG_MEMFD_CREATE=y +CONFIG_MFD_SYSCON=y +CONFIG_MIGRATION=y +CONFIG_MIPS=y +CONFIG_MIPS_ASID_BITS=8 +CONFIG_MIPS_ASID_SHIFT=0 +CONFIG_MIPS_CLOCK_VSYSCALL=y +# CONFIG_MIPS_CMDLINE_FROM_BOOTLOADER is not set +CONFIG_MIPS_CMDLINE_FROM_DTB=y +CONFIG_MIPS_EBPF_JIT=y +CONFIG_MIPS_EXTERNAL_TIMER=y +CONFIG_MIPS_L1_CACHE_SHIFT=6 +CONFIG_MIPS_L1_CACHE_SHIFT_4=y +CONFIG_MIPS_L1_CACHE_SHIFT_6=y +CONFIG_MIPS_LD_CAN_LINK_VDSO=y +# CONFIG_MIPS_NO_APPENDED_DTB is not set +CONFIG_MIPS_NR_CPU_NR_MAP=2 +CONFIG_MIPS_O32_FP64_SUPPORT=y +CONFIG_MIPS_RAW_APPENDED_DTB=y +CONFIG_MODULES_USE_ELF_REL=y +CONFIG_MODULE_FORCE_LOAD=y +CONFIG_MODULE_FORCE_UNLOAD=y +# CONFIG_MTD_BCM63XX_PARTS is not set +CONFIG_MTD_CFI_ADV_OPTIONS=y +CONFIG_MTD_CFI_BE_BYTE_SWAP=y +# CONFIG_MTD_CFI_GEOMETRY is not set +# CONFIG_MTD_CFI_NOSWAP is not set +CONFIG_MTD_CFI_STAA=y +CONFIG_MTD_JEDECPROBE=y +CONFIG_MTD_NAND_BRCMNAND=y +CONFIG_MTD_NAND_CORE=y +CONFIG_MTD_NAND_ECC=y +CONFIG_MTD_NAND_ECC_SW_HAMMING=y +# CONFIG_MTD_PARSER_IMAGETAG is not set +CONFIG_MTD_RAW_NAND=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_SPLIT_BCM63XX_FW=y +CONFIG_MTD_SPLIT_BCM_WFI_FW=y +CONFIG_MTD_UBI=y +CONFIG_MTD_UBI_BEB_LIMIT=20 +CONFIG_MTD_UBI_BLOCK=y +CONFIG_MTD_UBI_WL_THRESHOLD=4096 +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_NET_DEVLINK=y +CONFIG_NET_DSA=y +CONFIG_NET_DSA_TAG_BRCM=y +CONFIG_NET_DSA_TAG_BRCM_COMMON=y +CONFIG_NET_DSA_TAG_BRCM_LEGACY=y +CONFIG_NET_DSA_TAG_BRCM_PREPEND=y +CONFIG_NET_FLOW_LIMIT=y +CONFIG_NET_SELFTESTS=y +CONFIG_NET_SWITCHDEV=y +CONFIG_NO_EXCEPT_FILL=y +CONFIG_NO_GENERIC_PCI_IOPORT_MAP=y +CONFIG_NR_CPUS=2 +CONFIG_NVMEM=y +CONFIG_OF=y +CONFIG_OF_ADDRESS=y +CONFIG_OF_EARLY_FLATTREE=y +CONFIG_OF_FLATTREE=y +CONFIG_OF_GPIO=y +CONFIG_OF_IRQ=y +CONFIG_OF_KOBJ=y +CONFIG_OF_MDIO=y +CONFIG_PADATA=y +CONFIG_PCI=y +CONFIG_PCIEPORTBUS=y +# CONFIG_PCIE_BCM6318 is not set +CONFIG_PCIE_BCM6328=y +CONFIG_PCIE_PME=y +# CONFIG_PCI_BCM6348 is not set +CONFIG_PCI_DOMAINS=y +CONFIG_PCI_DRIVERS_LEGACY=y +CONFIG_PERF_USE_VMALLOC=y +CONFIG_PGTABLE_LEVELS=2 +CONFIG_PHYLIB=y +CONFIG_PHYLINK=y +CONFIG_PHYSICAL_START=0x80010000 +CONFIG_PHY_BCM63XX_USBH=y +# CONFIG_PHY_BRCM_SATA is not set +CONFIG_PINCTRL=y +# CONFIG_PINCTRL_BCM6318 is not set +CONFIG_PINCTRL_BCM63268=y +# CONFIG_PINCTRL_BCM6328 is not set +# CONFIG_PINCTRL_BCM6358 is not set +# CONFIG_PINCTRL_BCM6362 is not set +# CONFIG_PINCTRL_BCM6368 is not set +CONFIG_PINCTRL_BCM63XX=y +CONFIG_PM=y +CONFIG_PM_CLK=y +CONFIG_PM_GENERIC_DOMAINS=y +CONFIG_PM_GENERIC_DOMAINS_OF=y +CONFIG_POSIX_MQUEUE=y +CONFIG_POSIX_MQUEUE_SYSCTL=y +CONFIG_POWER_RESET=y +CONFIG_POWER_RESET_SYSCON=y +CONFIG_POWER_SUPPLY=y +CONFIG_PROC_VMCORE=y +CONFIG_PTP_1588_CLOCK_OPTIONAL=y +CONFIG_QUEUED_RWLOCKS=y +CONFIG_QUEUED_SPINLOCKS=y +CONFIG_RATIONAL=y +CONFIG_REGMAP=y +CONFIG_REGMAP_MMIO=y +CONFIG_RELAY=y +CONFIG_RESET_BCM6345=y +CONFIG_RESET_CONTROLLER=y +CONFIG_RFS_ACCEL=y +CONFIG_RPS=y +# CONFIG_SERIAL_8250 is not set +CONFIG_SERIAL_BCM63XX=y +CONFIG_SERIAL_BCM63XX_CONSOLE=y +CONFIG_SGL_ALLOC=y +CONFIG_SMP=y +CONFIG_SMP_UP=y +CONFIG_SOCK_RX_QUEUE_MAPPING=y +CONFIG_SOC_BCM63XX=y +CONFIG_SPI=y +CONFIG_SPI_BCM63XX=y +CONFIG_SPI_BCM63XX_HSSPI=y +CONFIG_SPI_MASTER=y +CONFIG_SPI_MEM=y +CONFIG_SRCU=y +CONFIG_SWAP_IO_SPACE=y +CONFIG_SWPHY=y +CONFIG_SYNC_R4K=y +CONFIG_SYSCTL_EXCEPTION_TRACE=y +CONFIG_SYS_HAS_CPU_BMIPS=y +CONFIG_SYS_HAS_CPU_BMIPS32_3300=y +CONFIG_SYS_HAS_CPU_BMIPS4350=y +CONFIG_SYS_HAS_CPU_BMIPS4380=y +CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y +CONFIG_SYS_SUPPORTS_ARBIT_HZ=y +CONFIG_SYS_SUPPORTS_BIG_ENDIAN=y +CONFIG_SYS_SUPPORTS_HOTPLUG_CPU=y +CONFIG_SYS_SUPPORTS_SMP=y +CONFIG_TARGET_ISA_REV=0 +CONFIG_TICK_CPU_ACCOUNTING=y +CONFIG_TREE_RCU=y +CONFIG_TREE_SRCU=y +CONFIG_UBIFS_FS=y +CONFIG_USB_EHCI_BIG_ENDIAN_DESC=y +CONFIG_USB_EHCI_BIG_ENDIAN_MMIO=y +CONFIG_USB_OHCI_BIG_ENDIAN_DESC=y +CONFIG_USB_OHCI_BIG_ENDIAN_MMIO=y +CONFIG_USB_SUPPORT=y +CONFIG_USE_OF=y +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_WATCHDOG_CORE=y +CONFIG_WATCHDOG_NOWAYOUT=y +CONFIG_WEAK_ORDERING=y +CONFIG_XPS=y +CONFIG_XXHASH=y +CONFIG_ZLIB_DEFLATE=y +CONFIG_ZLIB_INFLATE=y +CONFIG_ZSTD_COMPRESS=y +CONFIG_ZSTD_DECOMPRESS=y diff --git a/target/linux/bmips/bcm63268/target.mk b/target/linux/bmips/bcm63268/target.mk new file mode 100644 index 00000000000..98cc6c533cf --- /dev/null +++ b/target/linux/bmips/bcm63268/target.mk @@ -0,0 +1,9 @@ +# SPDX-License-Identifier: GPL-2.0-only + +SUBTARGET:=bcm63268 +BOARDNAME:=BCM63268 based boards +FEATURES+=nand + +define Target/Description + Build firmware images for Broadcom BCM63268 based boards. +endef diff --git a/target/linux/bmips/bcm6328/base-files/etc/board.d/02_network b/target/linux/bmips/bcm6328/base-files/etc/board.d/02_network new file mode 100644 index 00000000000..792926fcf27 --- /dev/null +++ b/target/linux/bmips/bcm6328/base-files/etc/board.d/02_network @@ -0,0 +1,16 @@ +# SPDX-License-Identifier: GPL-2.0-or-later + +. /lib/functions/uci-defaults.sh + +board_config_update + +case "$(board_name)" in +comtrend,ar-5387un) + ucidef_set_bridge_device switch + ucidef_set_interface_lan "lan1 lan2 lan3 lan4" + ;; +esac + +board_config_flush + +exit 0 diff --git a/target/linux/bmips/bcm6328/base-files/etc/uci-defaults/09_fix_crc b/target/linux/bmips/bcm6328/base-files/etc/uci-defaults/09_fix_crc new file mode 100644 index 00000000000..3909947be6d --- /dev/null +++ b/target/linux/bmips/bcm6328/base-files/etc/uci-defaults/09_fix_crc @@ -0,0 +1,11 @@ +# SPDX-License-Identifier: GPL-2.0-or-later + +. /lib/functions.sh + +case "$(board_name)" in +comtrend,ar-5387un) + mtd fixtrx firmware + ;; +esac + +exit 0 diff --git a/target/linux/bmips/bcm6328/base-files/lib/upgrade/platform.sh b/target/linux/bmips/bcm6328/base-files/lib/upgrade/platform.sh new file mode 100644 index 00000000000..eb1d7fd0e5b --- /dev/null +++ b/target/linux/bmips/bcm6328/base-files/lib/upgrade/platform.sh @@ -0,0 +1,18 @@ +# SPDX-License-Identifier: GPL-2.0-or-later + +. /lib/upgrade/cfe-jffs2-nand.sh + +PART_NAME=firmware +REQUIRE_IMAGE_METADATA=1 + +platform_check_image() { + return 0 +} + +platform_do_upgrade() { + case "$(board_name)" in + *) + default_do_upgrade "$1" + ;; + esac +} diff --git a/target/linux/bmips/bcm6328/config-5.15 b/target/linux/bmips/bcm6328/config-5.15 new file mode 100644 index 00000000000..ea9898782ac --- /dev/null +++ b/target/linux/bmips/bcm6328/config-5.15 @@ -0,0 +1,293 @@ +CONFIG_ARCH_32BIT_OFF_T=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +CONFIG_ARCH_KEEP_MEMBLOCK=y +CONFIG_ARCH_MMAP_RND_BITS_MAX=15 +CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=15 +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_B53=y +CONFIG_B53_MDIO_DRIVER=y +CONFIG_B53_MMAP_DRIVER=y +CONFIG_B53_SPI_DRIVER=y +CONFIG_BCM6345_EXT_IRQ=y +CONFIG_BCM6345_L1_IRQ=y +# CONFIG_BCM6348_ENET is not set +CONFIG_BCM6368_ENETSW=y +CONFIG_BCM63XX_POWER=y +CONFIG_BCM7038_WDT=y +CONFIG_BCMA=y +CONFIG_BCMA_BLOCKIO=y +# CONFIG_BCMA_DEBUG is not set +# CONFIG_BCMA_DRIVER_GMAC_CMN is not set +# CONFIG_BCMA_DRIVER_MIPS is not set +CONFIG_BCMA_DRIVER_PCI=y +# CONFIG_BCMA_DRIVER_PCI_HOSTMODE is not set +CONFIG_BCMA_HOST_PCI=y +CONFIG_BCMA_HOST_PCI_POSSIBLE=y +# CONFIG_BCMA_HOST_SOC is not set +CONFIG_BLK_MQ_PCI=y +CONFIG_BLK_PM=y +CONFIG_BMIPS_GENERIC=y +CONFIG_CEVT_R4K=y +# CONFIG_CLK_BCM63268_TIMER is not set +CONFIG_CLK_BCM_63XX_GATE=y +CONFIG_CLONE_BACKWARDS=y +CONFIG_COMMON_CLK=y +CONFIG_COMPAT_32BIT_TIME=y +CONFIG_CPU_BIG_ENDIAN=y +CONFIG_CPU_BMIPS=y +CONFIG_CPU_BMIPS32_3300=y +CONFIG_CPU_BMIPS4350=y +CONFIG_CPU_BMIPS4380=y +CONFIG_CPU_GENERIC_DUMP_TLB=y +CONFIG_CPU_HAS_PREFETCH=y +CONFIG_CPU_HAS_RIXI=y +CONFIG_CPU_HAS_SYNC=y +CONFIG_CPU_MIPS32=y +CONFIG_CPU_NEEDS_NO_SMARTMIPS_OR_MICROMIPS=y +CONFIG_CPU_NO_EFFICIENT_FFS=y +CONFIG_CPU_R4K_CACHE_TLB=y +CONFIG_CPU_RMAP=y +CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y +CONFIG_CPU_SUPPORTS_CPUFREQ=y +CONFIG_CPU_SUPPORTS_HIGHMEM=y +CONFIG_CRASH_DUMP=y +CONFIG_CRC16=y +CONFIG_CRYPTO_DEFLATE=y +CONFIG_CRYPTO_HASH_INFO=y +CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y +CONFIG_CRYPTO_LIB_POLY1305_RSIZE=2 +CONFIG_CRYPTO_LZO=y +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_ZSTD=y +CONFIG_CSRC_R4K=y +CONFIG_DEBUG_INFO=y +CONFIG_DMA_NONCOHERENT=y +CONFIG_DTC=y +# CONFIG_DT_BCM93384WVG is not set +# CONFIG_DT_BCM93384WVG_VIPER is not set +# CONFIG_DT_BCM96368MVWG is not set +# CONFIG_DT_BCM97125CBMB is not set +# CONFIG_DT_BCM97346DBSMB is not set +# CONFIG_DT_BCM97358SVMB is not set +# CONFIG_DT_BCM97360SVMB is not set +# CONFIG_DT_BCM97362SVMB is not set +# CONFIG_DT_BCM97420C is not set +# CONFIG_DT_BCM97425SVMB is not set +# CONFIG_DT_BCM97435SVMB is not set +# CONFIG_DT_BCM9EJTAGPRB is not set +# CONFIG_DT_COMTREND_VR3032U is not set +# CONFIG_DT_NETGEAR_CVG834G is not set +CONFIG_DT_NONE=y +# CONFIG_DT_SFR_NEUFBOX4_SERCOMM is not set +# CONFIG_DT_SFR_NEUFBOX6_SERCOMM is not set +CONFIG_FIXED_PHY=y +CONFIG_FWNODE_MDIO=y +CONFIG_FW_LOADER_PAGED_BUF=y +CONFIG_GENERIC_ATOMIC64=y +CONFIG_GENERIC_CLOCKEVENTS=y +CONFIG_GENERIC_CMOS_UPDATE=y +CONFIG_GENERIC_CPU_AUTOPROBE=y +CONFIG_GENERIC_FIND_FIRST_BIT=y +CONFIG_GENERIC_GETTIMEOFDAY=y +CONFIG_GENERIC_IOMAP=y +CONFIG_GENERIC_IRQ_CHIP=y +CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_LIB_ASHLDI3=y +CONFIG_GENERIC_LIB_ASHRDI3=y +CONFIG_GENERIC_LIB_CMPDI2=y +CONFIG_GENERIC_LIB_LSHRDI3=y +CONFIG_GENERIC_LIB_UCMPDI2=y +CONFIG_GENERIC_PCI_IOMAP=y +CONFIG_GENERIC_PHY=y +CONFIG_GENERIC_PINCONF=y +CONFIG_GENERIC_PINCTRL_GROUPS=y +CONFIG_GENERIC_PINMUX_FUNCTIONS=y +CONFIG_GENERIC_SCHED_CLOCK=y +CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_GENERIC_TIME_VSYSCALL=y +# CONFIG_GPIO_BRCMSTB is not set +CONFIG_GPIO_CDEV=y +CONFIG_GPIO_GENERIC=y +CONFIG_GPIO_GENERIC_PLATFORM=y +CONFIG_GPIO_REGMAP=y +CONFIG_GRO_CELLS=y +CONFIG_HANDLE_DOMAIN_IRQ=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_HAS_DMA=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT_MAP=y +CONFIG_HZ_PERIODIC=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_IRQCHIP=y +CONFIG_IRQ_DOMAIN=y +CONFIG_IRQ_FORCED_THREADING=y +CONFIG_IRQ_MIPS_CPU=y +CONFIG_IRQ_WORK=y +# CONFIG_LEDS_SERCOMM_MSP430 is not set +CONFIG_LIBFDT=y +CONFIG_LOCK_DEBUGGING_SUPPORT=y +CONFIG_LZO_COMPRESS=y +CONFIG_LZO_DECOMPRESS=y +CONFIG_MDIO_BUS=y +CONFIG_MDIO_BUS_MUX=y +CONFIG_MDIO_BUS_MUX_BCM6368=y +CONFIG_MDIO_DEVICE=y +CONFIG_MDIO_DEVRES=y +CONFIG_MEMFD_CREATE=y +CONFIG_MFD_SYSCON=y +CONFIG_MIGRATION=y +CONFIG_MIPS=y +CONFIG_MIPS_ASID_BITS=8 +CONFIG_MIPS_ASID_SHIFT=0 +CONFIG_MIPS_CLOCK_VSYSCALL=y +# CONFIG_MIPS_CMDLINE_FROM_BOOTLOADER is not set +CONFIG_MIPS_CMDLINE_FROM_DTB=y +CONFIG_MIPS_EBPF_JIT=y +CONFIG_MIPS_EXTERNAL_TIMER=y +CONFIG_MIPS_L1_CACHE_SHIFT=6 +CONFIG_MIPS_L1_CACHE_SHIFT_4=y +CONFIG_MIPS_L1_CACHE_SHIFT_6=y +CONFIG_MIPS_LD_CAN_LINK_VDSO=y +# CONFIG_MIPS_NO_APPENDED_DTB is not set +CONFIG_MIPS_NR_CPU_NR_MAP=2 +CONFIG_MIPS_O32_FP64_SUPPORT=y +CONFIG_MIPS_RAW_APPENDED_DTB=y +CONFIG_MODULES_USE_ELF_REL=y +CONFIG_MODULE_FORCE_LOAD=y +CONFIG_MODULE_FORCE_UNLOAD=y +# CONFIG_MTD_BCM63XX_PARTS is not set +CONFIG_MTD_CFI_ADV_OPTIONS=y +CONFIG_MTD_CFI_BE_BYTE_SWAP=y +# CONFIG_MTD_CFI_GEOMETRY is not set +# CONFIG_MTD_CFI_NOSWAP is not set +CONFIG_MTD_CFI_STAA=y +CONFIG_MTD_JEDECPROBE=y +CONFIG_MTD_NAND_BRCMNAND=y +CONFIG_MTD_NAND_CORE=y +CONFIG_MTD_NAND_ECC=y +CONFIG_MTD_NAND_ECC_SW_HAMMING=y +# CONFIG_MTD_PARSER_IMAGETAG is not set +CONFIG_MTD_RAW_NAND=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_SPLIT_BCM63XX_FW=y +CONFIG_MTD_SPLIT_BCM_WFI_FW=y +CONFIG_MTD_UBI=y +CONFIG_MTD_UBI_BEB_LIMIT=20 +CONFIG_MTD_UBI_BLOCK=y +CONFIG_MTD_UBI_WL_THRESHOLD=4096 +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_NET_DEVLINK=y +CONFIG_NET_DSA=y +CONFIG_NET_DSA_TAG_BRCM=y +CONFIG_NET_DSA_TAG_BRCM_COMMON=y +CONFIG_NET_DSA_TAG_BRCM_LEGACY=y +CONFIG_NET_DSA_TAG_BRCM_PREPEND=y +CONFIG_NET_FLOW_LIMIT=y +CONFIG_NET_SELFTESTS=y +CONFIG_NET_SWITCHDEV=y +CONFIG_NO_EXCEPT_FILL=y +CONFIG_NO_GENERIC_PCI_IOPORT_MAP=y +CONFIG_NR_CPUS=2 +CONFIG_NVMEM=y +CONFIG_OF=y +CONFIG_OF_ADDRESS=y +CONFIG_OF_EARLY_FLATTREE=y +CONFIG_OF_FLATTREE=y +CONFIG_OF_GPIO=y +CONFIG_OF_IRQ=y +CONFIG_OF_KOBJ=y +CONFIG_OF_MDIO=y +CONFIG_PADATA=y +CONFIG_PCI=y +CONFIG_PCIEPORTBUS=y +# CONFIG_PCIE_BCM6318 is not set +CONFIG_PCIE_BCM6328=y +CONFIG_PCIE_PME=y +CONFIG_PCI_BCM6348=y +CONFIG_PCI_DOMAINS=y +CONFIG_PCI_DRIVERS_LEGACY=y +CONFIG_PERF_USE_VMALLOC=y +CONFIG_PGTABLE_LEVELS=2 +CONFIG_PHYLIB=y +CONFIG_PHYLINK=y +CONFIG_PHYSICAL_START=0x80010000 +CONFIG_PHY_BCM63XX_USBH=y +# CONFIG_PHY_BRCM_SATA is not set +CONFIG_PINCTRL=y +# CONFIG_PINCTRL_BCM6318 is not set +# CONFIG_PINCTRL_BCM63268 is not set +CONFIG_PINCTRL_BCM6328=y +# CONFIG_PINCTRL_BCM6358 is not set +# CONFIG_PINCTRL_BCM6362 is not set +# CONFIG_PINCTRL_BCM6368 is not set +CONFIG_PINCTRL_BCM63XX=y +CONFIG_PM=y +CONFIG_PM_CLK=y +CONFIG_PM_GENERIC_DOMAINS=y +CONFIG_PM_GENERIC_DOMAINS_OF=y +CONFIG_POSIX_MQUEUE=y +CONFIG_POSIX_MQUEUE_SYSCTL=y +CONFIG_POWER_RESET=y +CONFIG_POWER_RESET_SYSCON=y +CONFIG_POWER_SUPPLY=y +CONFIG_PROC_VMCORE=y +CONFIG_PTP_1588_CLOCK_OPTIONAL=y +CONFIG_QUEUED_RWLOCKS=y +CONFIG_QUEUED_SPINLOCKS=y +CONFIG_RATIONAL=y +CONFIG_REGMAP=y +CONFIG_REGMAP_MMIO=y +CONFIG_RELAY=y +CONFIG_RESET_BCM6345=y +CONFIG_RESET_CONTROLLER=y +CONFIG_RFS_ACCEL=y +CONFIG_RPS=y +# CONFIG_SERIAL_8250 is not set +CONFIG_SERIAL_BCM63XX=y +CONFIG_SERIAL_BCM63XX_CONSOLE=y +CONFIG_SGL_ALLOC=y +CONFIG_SMP=y +CONFIG_SMP_UP=y +CONFIG_SOCK_RX_QUEUE_MAPPING=y +CONFIG_SOC_BCM63XX=y +CONFIG_SPI=y +# CONFIG_SPI_BCM63XX is not set +CONFIG_SPI_BCM63XX_HSSPI=y +CONFIG_SPI_MASTER=y +CONFIG_SPI_MEM=y +CONFIG_SRCU=y +CONFIG_SWAP_IO_SPACE=y +CONFIG_SWPHY=y +CONFIG_SYNC_R4K=y +CONFIG_SYSCTL_EXCEPTION_TRACE=y +CONFIG_SYS_HAS_CPU_BMIPS=y +CONFIG_SYS_HAS_CPU_BMIPS32_3300=y +CONFIG_SYS_HAS_CPU_BMIPS4350=y +CONFIG_SYS_HAS_CPU_BMIPS4380=y +CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y +CONFIG_SYS_SUPPORTS_ARBIT_HZ=y +CONFIG_SYS_SUPPORTS_BIG_ENDIAN=y +CONFIG_SYS_SUPPORTS_HOTPLUG_CPU=y +CONFIG_SYS_SUPPORTS_SMP=y +CONFIG_TARGET_ISA_REV=0 +CONFIG_TICK_CPU_ACCOUNTING=y +CONFIG_TREE_RCU=y +CONFIG_TREE_SRCU=y +CONFIG_UBIFS_FS=y +CONFIG_USB_EHCI_BIG_ENDIAN_DESC=y +CONFIG_USB_EHCI_BIG_ENDIAN_MMIO=y +CONFIG_USB_OHCI_BIG_ENDIAN_DESC=y +CONFIG_USB_OHCI_BIG_ENDIAN_MMIO=y +CONFIG_USB_SUPPORT=y +CONFIG_USE_OF=y +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_WATCHDOG_CORE=y +CONFIG_WATCHDOG_NOWAYOUT=y +CONFIG_WEAK_ORDERING=y +CONFIG_XPS=y +CONFIG_XXHASH=y +CONFIG_ZLIB_DEFLATE=y +CONFIG_ZLIB_INFLATE=y +CONFIG_ZSTD_COMPRESS=y +CONFIG_ZSTD_DECOMPRESS=y diff --git a/target/linux/bmips/bcm6328/target.mk b/target/linux/bmips/bcm6328/target.mk new file mode 100644 index 00000000000..a514130fc7b --- /dev/null +++ b/target/linux/bmips/bcm6328/target.mk @@ -0,0 +1,9 @@ +# SPDX-License-Identifier: GPL-2.0-only + +SUBTARGET:=bcm6328 +BOARDNAME:=BCM6328 based boards +FEATURES+=nand + +define Target/Description + Build firmware images for Broadcom BCM6328 based boards. +endef diff --git a/target/linux/bmips/bcm6358/base-files/etc/board.d/01_leds b/target/linux/bmips/bcm6358/base-files/etc/board.d/01_leds new file mode 100644 index 00000000000..74fdef28fb3 --- /dev/null +++ b/target/linux/bmips/bcm6358/base-files/etc/board.d/01_leds @@ -0,0 +1,16 @@ +# SPDX-License-Identifier: GPL-2.0-or-later + +. /lib/functions/leds.sh +. /lib/functions/uci-defaults.sh + +board_config_update + +case "$(board_name)" in +huawei,hg556a-b) + ucidef_set_led_usbport "usb" "USB" "red:hspa" "1-1-port1" "1-1-port2" "usb1-port2" "usb2-port2" + ;; +esac + +board_config_flush + +exit 0 diff --git a/target/linux/bmips/bcm6358/base-files/etc/board.d/02_network b/target/linux/bmips/bcm6358/base-files/etc/board.d/02_network new file mode 100644 index 00000000000..470d1b1bd0d --- /dev/null +++ b/target/linux/bmips/bcm6358/base-files/etc/board.d/02_network @@ -0,0 +1,15 @@ +# SPDX-License-Identifier: GPL-2.0-or-later + +. /lib/functions/uci-defaults.sh + +board_config_update + +case "$(board_name)" in +huawei,hg556a-b) + ucidef_set_interface_lan "eth0" + ;; +esac + +board_config_flush + +exit 0 diff --git a/target/linux/bmips/bcm6358/base-files/lib/upgrade/platform.sh b/target/linux/bmips/bcm6358/base-files/lib/upgrade/platform.sh new file mode 100644 index 00000000000..1cf95be26a5 --- /dev/null +++ b/target/linux/bmips/bcm6358/base-files/lib/upgrade/platform.sh @@ -0,0 +1,16 @@ +# SPDX-License-Identifier: GPL-2.0-or-later + +PART_NAME=firmware +REQUIRE_IMAGE_METADATA=1 + +platform_check_image() { + return 0 +} + +platform_do_upgrade() { + case "$(board_name)" in + *) + default_do_upgrade "$1" + ;; + esac +} diff --git a/target/linux/bmips/bcm6358/config-5.15 b/target/linux/bmips/bcm6358/config-5.15 new file mode 100644 index 00000000000..62956398d54 --- /dev/null +++ b/target/linux/bmips/bcm6358/config-5.15 @@ -0,0 +1,274 @@ +CONFIG_ARCH_32BIT_OFF_T=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +CONFIG_ARCH_KEEP_MEMBLOCK=y +CONFIG_ARCH_MMAP_RND_BITS_MAX=15 +CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=15 +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_B53=y +CONFIG_B53_MDIO_DRIVER=y +CONFIG_B53_SPI_DRIVER=y +CONFIG_BCM6345_EXT_IRQ=y +CONFIG_BCM6345_L1_IRQ=y +CONFIG_BCM6348_ENET=y +# CONFIG_BCM6368_ENETSW is not set +CONFIG_BCM7038_WDT=y +CONFIG_BLK_MQ_PCI=y +CONFIG_BLK_PM=y +CONFIG_BMIPS_GENERIC=y +CONFIG_CEVT_R4K=y +# CONFIG_CLK_BCM63268_TIMER is not set +CONFIG_CLK_BCM_63XX_GATE=y +CONFIG_CLONE_BACKWARDS=y +CONFIG_COMMON_CLK=y +CONFIG_COMPAT_32BIT_TIME=y +CONFIG_CPU_BIG_ENDIAN=y +CONFIG_CPU_BMIPS=y +CONFIG_CPU_BMIPS32_3300=y +CONFIG_CPU_BMIPS4350=y +CONFIG_CPU_BMIPS4380=y +CONFIG_CPU_GENERIC_DUMP_TLB=y +CONFIG_CPU_HAS_PREFETCH=y +CONFIG_CPU_HAS_RIXI=y +CONFIG_CPU_HAS_SYNC=y +CONFIG_CPU_MIPS32=y +CONFIG_CPU_NEEDS_NO_SMARTMIPS_OR_MICROMIPS=y +CONFIG_CPU_NO_EFFICIENT_FFS=y +CONFIG_CPU_R4K_CACHE_TLB=y +CONFIG_CPU_RMAP=y +CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y +CONFIG_CPU_SUPPORTS_CPUFREQ=y +CONFIG_CPU_SUPPORTS_HIGHMEM=y +CONFIG_CRASH_DUMP=y +CONFIG_CRC16=y +CONFIG_CRYPTO_DEFLATE=y +CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y +CONFIG_CRYPTO_LIB_POLY1305_RSIZE=2 +CONFIG_CRYPTO_LZO=y +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_ZSTD=y +CONFIG_CSRC_R4K=y +CONFIG_DEBUG_INFO=y +CONFIG_DMA_NONCOHERENT=y +CONFIG_DTC=y +# CONFIG_DT_BCM93384WVG is not set +# CONFIG_DT_BCM93384WVG_VIPER is not set +# CONFIG_DT_BCM96368MVWG is not set +# CONFIG_DT_BCM97125CBMB is not set +# CONFIG_DT_BCM97346DBSMB is not set +# CONFIG_DT_BCM97358SVMB is not set +# CONFIG_DT_BCM97360SVMB is not set +# CONFIG_DT_BCM97362SVMB is not set +# CONFIG_DT_BCM97420C is not set +# CONFIG_DT_BCM97425SVMB is not set +# CONFIG_DT_BCM97435SVMB is not set +# CONFIG_DT_BCM9EJTAGPRB is not set +# CONFIG_DT_COMTREND_VR3032U is not set +# CONFIG_DT_NETGEAR_CVG834G is not set +CONFIG_DT_NONE=y +# CONFIG_DT_SFR_NEUFBOX4_SERCOMM is not set +# CONFIG_DT_SFR_NEUFBOX6_SERCOMM is not set +CONFIG_FIXED_PHY=y +CONFIG_FWNODE_MDIO=y +CONFIG_FW_LOADER_PAGED_BUF=y +CONFIG_GENERIC_ATOMIC64=y +CONFIG_GENERIC_CLOCKEVENTS=y +CONFIG_GENERIC_CMOS_UPDATE=y +CONFIG_GENERIC_CPU_AUTOPROBE=y +CONFIG_GENERIC_FIND_FIRST_BIT=y +CONFIG_GENERIC_GETTIMEOFDAY=y +CONFIG_GENERIC_IOMAP=y +CONFIG_GENERIC_IRQ_CHIP=y +CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_LIB_ASHLDI3=y +CONFIG_GENERIC_LIB_ASHRDI3=y +CONFIG_GENERIC_LIB_CMPDI2=y +CONFIG_GENERIC_LIB_LSHRDI3=y +CONFIG_GENERIC_LIB_UCMPDI2=y +CONFIG_GENERIC_PCI_IOMAP=y +CONFIG_GENERIC_PHY=y +CONFIG_GENERIC_PINCONF=y +CONFIG_GENERIC_PINCTRL_GROUPS=y +CONFIG_GENERIC_PINMUX_FUNCTIONS=y +CONFIG_GENERIC_SCHED_CLOCK=y +CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_GENERIC_TIME_VSYSCALL=y +# CONFIG_GPIO_BRCMSTB is not set +CONFIG_GPIO_CDEV=y +CONFIG_GPIO_GENERIC=y +CONFIG_GPIO_GENERIC_PLATFORM=y +CONFIG_GPIO_REGMAP=y +CONFIG_GRO_CELLS=y +CONFIG_HANDLE_DOMAIN_IRQ=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_HAS_DMA=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT_MAP=y +CONFIG_HZ_PERIODIC=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_IRQCHIP=y +CONFIG_IRQ_DOMAIN=y +CONFIG_IRQ_FORCED_THREADING=y +CONFIG_IRQ_MIPS_CPU=y +CONFIG_IRQ_WORK=y +# CONFIG_LEDS_SERCOMM_MSP430 is not set +CONFIG_LIBFDT=y +CONFIG_LOCK_DEBUGGING_SUPPORT=y +CONFIG_LZO_COMPRESS=y +CONFIG_LZO_DECOMPRESS=y +CONFIG_MDIO_BUS=y +# CONFIG_MDIO_BUS_MUX_BCM6368 is not set +CONFIG_MDIO_DEVICE=y +CONFIG_MDIO_DEVRES=y +CONFIG_MEMFD_CREATE=y +CONFIG_MFD_SYSCON=y +CONFIG_MIGRATION=y +CONFIG_MIPS=y +CONFIG_MIPS_ASID_BITS=8 +CONFIG_MIPS_ASID_SHIFT=0 +CONFIG_MIPS_CLOCK_VSYSCALL=y +# CONFIG_MIPS_CMDLINE_FROM_BOOTLOADER is not set +CONFIG_MIPS_CMDLINE_FROM_DTB=y +CONFIG_MIPS_EBPF_JIT=y +CONFIG_MIPS_EXTERNAL_TIMER=y +CONFIG_MIPS_L1_CACHE_SHIFT=6 +CONFIG_MIPS_L1_CACHE_SHIFT_4=y +CONFIG_MIPS_L1_CACHE_SHIFT_6=y +CONFIG_MIPS_LD_CAN_LINK_VDSO=y +# CONFIG_MIPS_NO_APPENDED_DTB is not set +CONFIG_MIPS_NR_CPU_NR_MAP=2 +CONFIG_MIPS_O32_FP64_SUPPORT=y +CONFIG_MIPS_RAW_APPENDED_DTB=y +CONFIG_MODULES_USE_ELF_REL=y +CONFIG_MODULE_FORCE_LOAD=y +CONFIG_MODULE_FORCE_UNLOAD=y +# CONFIG_MTD_BCM63XX_PARTS is not set +CONFIG_MTD_CFI_ADV_OPTIONS=y +CONFIG_MTD_CFI_BE_BYTE_SWAP=y +# CONFIG_MTD_CFI_GEOMETRY is not set +# CONFIG_MTD_CFI_NOSWAP is not set +CONFIG_MTD_CFI_STAA=y +CONFIG_MTD_JEDECPROBE=y +# CONFIG_MTD_PARSER_IMAGETAG is not set +CONFIG_MTD_PHYSMAP=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_SPLIT_BCM63XX_FW=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_NET_DEVLINK=y +CONFIG_NET_DSA=y +CONFIG_NET_DSA_TAG_BRCM=y +CONFIG_NET_DSA_TAG_BRCM_COMMON=y +CONFIG_NET_DSA_TAG_BRCM_LEGACY=y +CONFIG_NET_DSA_TAG_BRCM_PREPEND=y +CONFIG_NET_FLOW_LIMIT=y +CONFIG_NET_SELFTESTS=y +CONFIG_NET_SWITCHDEV=y +CONFIG_NO_EXCEPT_FILL=y +CONFIG_NO_GENERIC_PCI_IOPORT_MAP=y +CONFIG_NR_CPUS=2 +CONFIG_NVMEM=y +CONFIG_OF=y +CONFIG_OF_ADDRESS=y +CONFIG_OF_EARLY_FLATTREE=y +CONFIG_OF_FLATTREE=y +CONFIG_OF_GPIO=y +CONFIG_OF_IRQ=y +CONFIG_OF_KOBJ=y +CONFIG_OF_MDIO=y +CONFIG_PADATA=y +CONFIG_PCI=y +# CONFIG_PCIE_BCM6318 is not set +# CONFIG_PCIE_BCM6328 is not set +CONFIG_PCI_BCM6348=y +CONFIG_PCI_DOMAINS=y +CONFIG_PCI_DRIVERS_LEGACY=y +CONFIG_PERF_USE_VMALLOC=y +CONFIG_PGTABLE_LEVELS=2 +CONFIG_PHYLIB=y +CONFIG_PHYLINK=y +CONFIG_PHYSICAL_START=0x80010000 +CONFIG_PHY_BCM63XX_USBH=y +# CONFIG_PHY_BRCM_SATA is not set +CONFIG_PINCTRL=y +# CONFIG_PINCTRL_BCM6318 is not set +# CONFIG_PINCTRL_BCM63268 is not set +# CONFIG_PINCTRL_BCM6328 is not set +CONFIG_PINCTRL_BCM6358=y +# CONFIG_PINCTRL_BCM6362 is not set +# CONFIG_PINCTRL_BCM6368 is not set +CONFIG_PINCTRL_BCM63XX=y +CONFIG_PM=y +CONFIG_PM_CLK=y +CONFIG_POSIX_MQUEUE=y +CONFIG_POSIX_MQUEUE_SYSCTL=y +CONFIG_POWER_RESET=y +CONFIG_POWER_RESET_SYSCON=y +CONFIG_POWER_SUPPLY=y +CONFIG_PROC_VMCORE=y +CONFIG_PTP_1588_CLOCK_OPTIONAL=y +CONFIG_QUEUED_RWLOCKS=y +CONFIG_QUEUED_SPINLOCKS=y +CONFIG_RATIONAL=y +CONFIG_REGMAP=y +CONFIG_REGMAP_MMIO=y +CONFIG_RELAY=y +CONFIG_RESET_BCM6345=y +CONFIG_RESET_CONTROLLER=y +CONFIG_RFS_ACCEL=y +CONFIG_RPS=y +# CONFIG_SERIAL_8250 is not set +CONFIG_SERIAL_BCM63XX=y +CONFIG_SERIAL_BCM63XX_CONSOLE=y +CONFIG_SGL_ALLOC=y +CONFIG_SMP=y +CONFIG_SMP_UP=y +CONFIG_SOCK_RX_QUEUE_MAPPING=y +# CONFIG_SOC_BCM63XX is not set +CONFIG_SPI=y +CONFIG_SPI_BCM63XX=y +# CONFIG_SPI_BCM63XX_HSSPI is not set +CONFIG_SPI_MASTER=y +CONFIG_SPI_MEM=y +CONFIG_SRCU=y +CONFIG_SSB=y +CONFIG_SSB_B43_PCI_BRIDGE=y +CONFIG_SSB_BLOCKIO=y +# CONFIG_SSB_DRIVER_MIPS is not set +CONFIG_SSB_DRIVER_PCICORE=y +CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y +CONFIG_SSB_PCIHOST=y +CONFIG_SSB_PCIHOST_POSSIBLE=y +CONFIG_SSB_SPROM=y +CONFIG_SWAP_IO_SPACE=y +CONFIG_SWPHY=y +CONFIG_SYNC_R4K=y +CONFIG_SYSCTL_EXCEPTION_TRACE=y +CONFIG_SYS_HAS_CPU_BMIPS=y +CONFIG_SYS_HAS_CPU_BMIPS32_3300=y +CONFIG_SYS_HAS_CPU_BMIPS4350=y +CONFIG_SYS_HAS_CPU_BMIPS4380=y +CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y +CONFIG_SYS_SUPPORTS_ARBIT_HZ=y +CONFIG_SYS_SUPPORTS_BIG_ENDIAN=y +CONFIG_SYS_SUPPORTS_HOTPLUG_CPU=y +CONFIG_SYS_SUPPORTS_SMP=y +CONFIG_TARGET_ISA_REV=0 +CONFIG_TICK_CPU_ACCOUNTING=y +CONFIG_TREE_RCU=y +CONFIG_TREE_SRCU=y +CONFIG_USB_EHCI_BIG_ENDIAN_DESC=y +CONFIG_USB_EHCI_BIG_ENDIAN_MMIO=y +CONFIG_USB_OHCI_BIG_ENDIAN_DESC=y +CONFIG_USB_OHCI_BIG_ENDIAN_MMIO=y +CONFIG_USB_SUPPORT=y +CONFIG_USE_OF=y +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_WATCHDOG_CORE=y +CONFIG_WATCHDOG_NOWAYOUT=y +CONFIG_WEAK_ORDERING=y +CONFIG_XPS=y +CONFIG_XXHASH=y +CONFIG_ZLIB_DEFLATE=y +CONFIG_ZLIB_INFLATE=y +CONFIG_ZSTD_COMPRESS=y +CONFIG_ZSTD_DECOMPRESS=y diff --git a/target/linux/bmips/bcm6358/target.mk b/target/linux/bmips/bcm6358/target.mk new file mode 100644 index 00000000000..d868d0a986d --- /dev/null +++ b/target/linux/bmips/bcm6358/target.mk @@ -0,0 +1,9 @@ +# SPDX-License-Identifier: GPL-2.0-only + +SUBTARGET:=bcm6358 +BOARDNAME:=BCM6358 based boards +FEATURES+=low_mem + +define Target/Description + Build firmware images for Broadcom BCM6358 based boards. +endef diff --git a/target/linux/bmips/bcm6362/base-files/etc/board.d/01_leds b/target/linux/bmips/bcm6362/base-files/etc/board.d/01_leds new file mode 100644 index 00000000000..cb1d24ce892 --- /dev/null +++ b/target/linux/bmips/bcm6362/base-files/etc/board.d/01_leds @@ -0,0 +1,20 @@ +# SPDX-License-Identifier: GPL-2.0-or-later + +. /lib/functions/leds.sh +. /lib/functions/uci-defaults.sh + +board_config_update + +case "$(board_name)" in +huawei,hg253s-v2) + ucidef_set_led_usbport "usb" "USB" "green:usb" "usb1-port1" "usb2-port1" + ;; +netgear,dgnd3700-v2) + ucidef_set_led_usbport "usb1" "USB1" "green:usb1" "usb1-port1" "usb2-port1" + ucidef_set_led_usbport "usb2" "USB2" "green:usb2" "usb1-port2" "usb2-port2" + ;; +esac + +board_config_flush + +exit 0 diff --git a/target/linux/bmips/bcm6362/base-files/etc/board.d/02_network b/target/linux/bmips/bcm6362/base-files/etc/board.d/02_network new file mode 100644 index 00000000000..7986f783106 --- /dev/null +++ b/target/linux/bmips/bcm6362/base-files/etc/board.d/02_network @@ -0,0 +1,17 @@ +# SPDX-License-Identifier: GPL-2.0-or-later + +. /lib/functions/uci-defaults.sh + +board_config_update + +case "$(board_name)" in +huawei,hg253s-v2 |\ +netgear,dgnd3700-v2) + ucidef_set_bridge_device switch + ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4" "wan" + ;; +esac + +board_config_flush + +exit 0 diff --git a/target/linux/bmips/bcm6362/base-files/lib/upgrade/platform.sh b/target/linux/bmips/bcm6362/base-files/lib/upgrade/platform.sh new file mode 100644 index 00000000000..9175cf4255e --- /dev/null +++ b/target/linux/bmips/bcm6362/base-files/lib/upgrade/platform.sh @@ -0,0 +1,22 @@ +# SPDX-License-Identifier: GPL-2.0-or-later + +. /lib/upgrade/cfe-jffs2-nand.sh + +PART_NAME=firmware +REQUIRE_IMAGE_METADATA=1 + +platform_check_image() { + return 0 +} + +platform_do_upgrade() { + case "$(board_name)" in + huawei,hg253s-v2 |\ + netgear,dgnd3700-v2) + cfe_jffs2_nand_upgrade "$1" + ;; + *) + default_do_upgrade "$1" + ;; + esac +} diff --git a/target/linux/bmips/bcm6362/config-5.15 b/target/linux/bmips/bcm6362/config-5.15 new file mode 100644 index 00000000000..325692e5f35 --- /dev/null +++ b/target/linux/bmips/bcm6362/config-5.15 @@ -0,0 +1,295 @@ +CONFIG_ARCH_32BIT_OFF_T=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +CONFIG_ARCH_KEEP_MEMBLOCK=y +CONFIG_ARCH_MMAP_RND_BITS_MAX=15 +CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=15 +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_B53=y +CONFIG_B53_MDIO_DRIVER=y +CONFIG_B53_MMAP_DRIVER=y +CONFIG_B53_SPI_DRIVER=y +CONFIG_BCM6345_EXT_IRQ=y +CONFIG_BCM6345_L1_IRQ=y +# CONFIG_BCM6348_ENET is not set +CONFIG_BCM6368_ENETSW=y +CONFIG_BCM63XX_POWER=y +CONFIG_BCM7038_WDT=y +CONFIG_BCMA=y +CONFIG_BCMA_BLOCKIO=y +# CONFIG_BCMA_DEBUG is not set +# CONFIG_BCMA_DRIVER_GMAC_CMN is not set +# CONFIG_BCMA_DRIVER_MIPS is not set +CONFIG_BCMA_DRIVER_PCI=y +# CONFIG_BCMA_DRIVER_PCI_HOSTMODE is not set +CONFIG_BCMA_HOST_PCI=y +CONFIG_BCMA_HOST_PCI_POSSIBLE=y +# CONFIG_BCMA_HOST_SOC is not set +CONFIG_BLK_MQ_PCI=y +CONFIG_BLK_PM=y +CONFIG_BMIPS_GENERIC=y +CONFIG_CEVT_R4K=y +# CONFIG_CLK_BCM63268_TIMER is not set +CONFIG_CLK_BCM_63XX_GATE=y +CONFIG_CLONE_BACKWARDS=y +CONFIG_COMMON_CLK=y +CONFIG_COMPAT_32BIT_TIME=y +CONFIG_CPU_BIG_ENDIAN=y +CONFIG_CPU_BMIPS=y +CONFIG_CPU_BMIPS32_3300=y +CONFIG_CPU_BMIPS4350=y +CONFIG_CPU_BMIPS4380=y +CONFIG_CPU_GENERIC_DUMP_TLB=y +CONFIG_CPU_HAS_PREFETCH=y +CONFIG_CPU_HAS_RIXI=y +CONFIG_CPU_HAS_SYNC=y +CONFIG_CPU_MIPS32=y +CONFIG_CPU_NEEDS_NO_SMARTMIPS_OR_MICROMIPS=y +CONFIG_CPU_NO_EFFICIENT_FFS=y +CONFIG_CPU_R4K_CACHE_TLB=y +CONFIG_CPU_RMAP=y +CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y +CONFIG_CPU_SUPPORTS_CPUFREQ=y +CONFIG_CPU_SUPPORTS_HIGHMEM=y +CONFIG_CRASH_DUMP=y +CONFIG_CRC16=y +CONFIG_CRYPTO_DEFLATE=y +CONFIG_CRYPTO_HASH_INFO=y +CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y +CONFIG_CRYPTO_LIB_POLY1305_RSIZE=2 +CONFIG_CRYPTO_LZO=y +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_ZSTD=y +CONFIG_CSRC_R4K=y +CONFIG_DEBUG_INFO=y +CONFIG_DMA_NONCOHERENT=y +CONFIG_DTC=y +# CONFIG_DT_BCM93384WVG is not set +# CONFIG_DT_BCM93384WVG_VIPER is not set +# CONFIG_DT_BCM96368MVWG is not set +# CONFIG_DT_BCM97125CBMB is not set +# CONFIG_DT_BCM97346DBSMB is not set +# CONFIG_DT_BCM97358SVMB is not set +# CONFIG_DT_BCM97360SVMB is not set +# CONFIG_DT_BCM97362SVMB is not set +# CONFIG_DT_BCM97420C is not set +# CONFIG_DT_BCM97425SVMB is not set +# CONFIG_DT_BCM97435SVMB is not set +# CONFIG_DT_BCM9EJTAGPRB is not set +# CONFIG_DT_COMTREND_VR3032U is not set +# CONFIG_DT_NETGEAR_CVG834G is not set +CONFIG_DT_NONE=y +# CONFIG_DT_SFR_NEUFBOX4_SERCOMM is not set +# CONFIG_DT_SFR_NEUFBOX6_SERCOMM is not set +CONFIG_FIXED_PHY=y +CONFIG_FWNODE_MDIO=y +CONFIG_FW_LOADER_PAGED_BUF=y +CONFIG_GENERIC_ATOMIC64=y +CONFIG_GENERIC_CLOCKEVENTS=y +CONFIG_GENERIC_CMOS_UPDATE=y +CONFIG_GENERIC_CPU_AUTOPROBE=y +CONFIG_GENERIC_FIND_FIRST_BIT=y +CONFIG_GENERIC_GETTIMEOFDAY=y +CONFIG_GENERIC_IOMAP=y +CONFIG_GENERIC_IRQ_CHIP=y +CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_LIB_ASHLDI3=y +CONFIG_GENERIC_LIB_ASHRDI3=y +CONFIG_GENERIC_LIB_CMPDI2=y +CONFIG_GENERIC_LIB_LSHRDI3=y +CONFIG_GENERIC_LIB_UCMPDI2=y +CONFIG_GENERIC_PCI_IOMAP=y +CONFIG_GENERIC_PHY=y +CONFIG_GENERIC_PINCONF=y +CONFIG_GENERIC_PINCTRL_GROUPS=y +CONFIG_GENERIC_PINMUX_FUNCTIONS=y +CONFIG_GENERIC_SCHED_CLOCK=y +CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_GENERIC_TIME_VSYSCALL=y +# CONFIG_GPIO_BRCMSTB is not set +CONFIG_GPIO_CDEV=y +CONFIG_GPIO_GENERIC=y +CONFIG_GPIO_GENERIC_PLATFORM=y +CONFIG_GPIO_REGMAP=y +CONFIG_GRO_CELLS=y +CONFIG_HANDLE_DOMAIN_IRQ=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_HAS_DMA=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT_MAP=y +CONFIG_HW_RANDOM=y +CONFIG_HW_RANDOM_BCM2835=y +CONFIG_HZ_PERIODIC=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_IRQCHIP=y +CONFIG_IRQ_DOMAIN=y +CONFIG_IRQ_FORCED_THREADING=y +CONFIG_IRQ_MIPS_CPU=y +CONFIG_IRQ_WORK=y +# CONFIG_LEDS_SERCOMM_MSP430 is not set +CONFIG_LIBFDT=y +CONFIG_LOCK_DEBUGGING_SUPPORT=y +CONFIG_LZO_COMPRESS=y +CONFIG_LZO_DECOMPRESS=y +CONFIG_MDIO_BUS=y +CONFIG_MDIO_BUS_MUX=y +CONFIG_MDIO_BUS_MUX_BCM6368=y +CONFIG_MDIO_DEVICE=y +CONFIG_MDIO_DEVRES=y +CONFIG_MEMFD_CREATE=y +CONFIG_MFD_SYSCON=y +CONFIG_MIGRATION=y +CONFIG_MIPS=y +CONFIG_MIPS_ASID_BITS=8 +CONFIG_MIPS_ASID_SHIFT=0 +CONFIG_MIPS_CLOCK_VSYSCALL=y +# CONFIG_MIPS_CMDLINE_FROM_BOOTLOADER is not set +CONFIG_MIPS_CMDLINE_FROM_DTB=y +CONFIG_MIPS_EBPF_JIT=y +CONFIG_MIPS_EXTERNAL_TIMER=y +CONFIG_MIPS_L1_CACHE_SHIFT=6 +CONFIG_MIPS_L1_CACHE_SHIFT_4=y +CONFIG_MIPS_L1_CACHE_SHIFT_6=y +CONFIG_MIPS_LD_CAN_LINK_VDSO=y +# CONFIG_MIPS_NO_APPENDED_DTB is not set +CONFIG_MIPS_NR_CPU_NR_MAP=2 +CONFIG_MIPS_O32_FP64_SUPPORT=y +CONFIG_MIPS_RAW_APPENDED_DTB=y +CONFIG_MODULES_USE_ELF_REL=y +CONFIG_MODULE_FORCE_LOAD=y +CONFIG_MODULE_FORCE_UNLOAD=y +# CONFIG_MTD_BCM63XX_PARTS is not set +CONFIG_MTD_CFI_ADV_OPTIONS=y +CONFIG_MTD_CFI_BE_BYTE_SWAP=y +# CONFIG_MTD_CFI_GEOMETRY is not set +# CONFIG_MTD_CFI_NOSWAP is not set +CONFIG_MTD_CFI_STAA=y +CONFIG_MTD_JEDECPROBE=y +CONFIG_MTD_NAND_BRCMNAND=y +CONFIG_MTD_NAND_CORE=y +CONFIG_MTD_NAND_ECC=y +CONFIG_MTD_NAND_ECC_SW_HAMMING=y +# CONFIG_MTD_PARSER_IMAGETAG is not set +CONFIG_MTD_RAW_NAND=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_SPLIT_BCM63XX_FW=y +CONFIG_MTD_SPLIT_BCM_WFI_FW=y +CONFIG_MTD_UBI=y +CONFIG_MTD_UBI_BEB_LIMIT=20 +CONFIG_MTD_UBI_BLOCK=y +CONFIG_MTD_UBI_WL_THRESHOLD=4096 +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_NET_DEVLINK=y +CONFIG_NET_DSA=y +CONFIG_NET_DSA_TAG_BRCM=y +CONFIG_NET_DSA_TAG_BRCM_COMMON=y +CONFIG_NET_DSA_TAG_BRCM_LEGACY=y +CONFIG_NET_DSA_TAG_BRCM_PREPEND=y +CONFIG_NET_FLOW_LIMIT=y +CONFIG_NET_SELFTESTS=y +CONFIG_NET_SWITCHDEV=y +CONFIG_NO_EXCEPT_FILL=y +CONFIG_NO_GENERIC_PCI_IOPORT_MAP=y +CONFIG_NR_CPUS=2 +CONFIG_NVMEM=y +CONFIG_OF=y +CONFIG_OF_ADDRESS=y +CONFIG_OF_EARLY_FLATTREE=y +CONFIG_OF_FLATTREE=y +CONFIG_OF_GPIO=y +CONFIG_OF_IRQ=y +CONFIG_OF_KOBJ=y +CONFIG_OF_MDIO=y +CONFIG_PADATA=y +CONFIG_PCI=y +CONFIG_PCIEPORTBUS=y +# CONFIG_PCIE_BCM6318 is not set +CONFIG_PCIE_BCM6328=y +CONFIG_PCIE_PME=y +# CONFIG_PCI_BCM6348 is not set +CONFIG_PCI_DOMAINS=y +CONFIG_PCI_DRIVERS_LEGACY=y +CONFIG_PERF_USE_VMALLOC=y +CONFIG_PGTABLE_LEVELS=2 +CONFIG_PHYLIB=y +CONFIG_PHYLINK=y +CONFIG_PHYSICAL_START=0x80010000 +CONFIG_PHY_BCM63XX_USBH=y +# CONFIG_PHY_BRCM_SATA is not set +CONFIG_PINCTRL=y +# CONFIG_PINCTRL_BCM6318 is not set +# CONFIG_PINCTRL_BCM63268 is not set +# CONFIG_PINCTRL_BCM6328 is not set +# CONFIG_PINCTRL_BCM6358 is not set +CONFIG_PINCTRL_BCM6362=y +# CONFIG_PINCTRL_BCM6368 is not set +CONFIG_PINCTRL_BCM63XX=y +CONFIG_PM=y +CONFIG_PM_CLK=y +CONFIG_PM_GENERIC_DOMAINS=y +CONFIG_PM_GENERIC_DOMAINS_OF=y +CONFIG_POSIX_MQUEUE=y +CONFIG_POSIX_MQUEUE_SYSCTL=y +CONFIG_POWER_RESET=y +CONFIG_POWER_RESET_SYSCON=y +CONFIG_POWER_SUPPLY=y +CONFIG_PROC_VMCORE=y +CONFIG_PTP_1588_CLOCK_OPTIONAL=y +CONFIG_QUEUED_RWLOCKS=y +CONFIG_QUEUED_SPINLOCKS=y +CONFIG_RATIONAL=y +CONFIG_REGMAP=y +CONFIG_REGMAP_MMIO=y +CONFIG_RELAY=y +CONFIG_RESET_BCM6345=y +CONFIG_RESET_CONTROLLER=y +CONFIG_RFS_ACCEL=y +CONFIG_RPS=y +# CONFIG_SERIAL_8250 is not set +CONFIG_SERIAL_BCM63XX=y +CONFIG_SERIAL_BCM63XX_CONSOLE=y +CONFIG_SGL_ALLOC=y +CONFIG_SMP=y +CONFIG_SMP_UP=y +CONFIG_SOCK_RX_QUEUE_MAPPING=y +CONFIG_SOC_BCM63XX=y +CONFIG_SPI=y +CONFIG_SPI_BCM63XX=y +CONFIG_SPI_BCM63XX_HSSPI=y +CONFIG_SPI_MASTER=y +CONFIG_SPI_MEM=y +CONFIG_SRCU=y +CONFIG_SWAP_IO_SPACE=y +CONFIG_SWPHY=y +CONFIG_SYNC_R4K=y +CONFIG_SYSCTL_EXCEPTION_TRACE=y +CONFIG_SYS_HAS_CPU_BMIPS=y +CONFIG_SYS_HAS_CPU_BMIPS32_3300=y +CONFIG_SYS_HAS_CPU_BMIPS4350=y +CONFIG_SYS_HAS_CPU_BMIPS4380=y +CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y +CONFIG_SYS_SUPPORTS_ARBIT_HZ=y +CONFIG_SYS_SUPPORTS_BIG_ENDIAN=y +CONFIG_SYS_SUPPORTS_HOTPLUG_CPU=y +CONFIG_SYS_SUPPORTS_SMP=y +CONFIG_TARGET_ISA_REV=0 +CONFIG_TICK_CPU_ACCOUNTING=y +CONFIG_TREE_RCU=y +CONFIG_TREE_SRCU=y +CONFIG_UBIFS_FS=y +CONFIG_USB_EHCI_BIG_ENDIAN_DESC=y +CONFIG_USB_EHCI_BIG_ENDIAN_MMIO=y +CONFIG_USB_OHCI_BIG_ENDIAN_DESC=y +CONFIG_USB_OHCI_BIG_ENDIAN_MMIO=y +CONFIG_USB_SUPPORT=y +CONFIG_USE_OF=y +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_WATCHDOG_CORE=y +CONFIG_WATCHDOG_NOWAYOUT=y +CONFIG_WEAK_ORDERING=y +CONFIG_XPS=y +CONFIG_XXHASH=y +CONFIG_ZLIB_DEFLATE=y +CONFIG_ZLIB_INFLATE=y +CONFIG_ZSTD_COMPRESS=y +CONFIG_ZSTD_DECOMPRESS=y diff --git a/target/linux/bmips/bcm6362/target.mk b/target/linux/bmips/bcm6362/target.mk new file mode 100644 index 00000000000..81addd45f6b --- /dev/null +++ b/target/linux/bmips/bcm6362/target.mk @@ -0,0 +1,9 @@ +# SPDX-License-Identifier: GPL-2.0-only + +SUBTARGET:=bcm6362 +BOARDNAME:=BCM6362 based boards +FEATURES+=nand + +define Target/Description + Build firmware images for Broadcom BCM6362 based boards. +endef diff --git a/target/linux/bmips/generic/base-files/etc/board.d/02_network b/target/linux/bmips/bcm6368/base-files/etc/board.d/02_network similarity index 72% rename from target/linux/bmips/generic/base-files/etc/board.d/02_network rename to target/linux/bmips/bcm6368/base-files/etc/board.d/02_network index a5995849f0b..14d6e56dd1c 100644 --- a/target/linux/bmips/generic/base-files/etc/board.d/02_network +++ b/target/linux/bmips/bcm6368/base-files/etc/board.d/02_network @@ -5,15 +5,10 @@ board_config_update case "$(board_name)" in -comtrend,ar-5315u |\ -comtrend,ar-5387un |\ comtrend,vr-3025u) ucidef_set_bridge_device switch ucidef_set_interface_lan "lan1 lan2 lan3 lan4" ;; -huawei,hg556a-b) - ucidef_set_interface_lan "eth0" - ;; esac board_config_flush diff --git a/target/linux/bmips/bcm6368/base-files/etc/uci-defaults/09_fix_crc b/target/linux/bmips/bcm6368/base-files/etc/uci-defaults/09_fix_crc new file mode 100644 index 00000000000..c66e4169fdd --- /dev/null +++ b/target/linux/bmips/bcm6368/base-files/etc/uci-defaults/09_fix_crc @@ -0,0 +1,11 @@ +# SPDX-License-Identifier: GPL-2.0-or-later + +. /lib/functions.sh + +case "$(board_name)" in +comtrend,vr-3025u) + mtd fixtrx firmware + ;; +esac + +exit 0 diff --git a/target/linux/bmips/bcm6368/base-files/lib/upgrade/platform.sh b/target/linux/bmips/bcm6368/base-files/lib/upgrade/platform.sh new file mode 100644 index 00000000000..1cf95be26a5 --- /dev/null +++ b/target/linux/bmips/bcm6368/base-files/lib/upgrade/platform.sh @@ -0,0 +1,16 @@ +# SPDX-License-Identifier: GPL-2.0-or-later + +PART_NAME=firmware +REQUIRE_IMAGE_METADATA=1 + +platform_check_image() { + return 0 +} + +platform_do_upgrade() { + case "$(board_name)" in + *) + default_do_upgrade "$1" + ;; + esac +} diff --git a/target/linux/bmips/bcm6368/config-5.15 b/target/linux/bmips/bcm6368/config-5.15 new file mode 100644 index 00000000000..06d72d9ebe6 --- /dev/null +++ b/target/linux/bmips/bcm6368/config-5.15 @@ -0,0 +1,290 @@ +CONFIG_ARCH_32BIT_OFF_T=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +CONFIG_ARCH_KEEP_MEMBLOCK=y +CONFIG_ARCH_MMAP_RND_BITS_MAX=15 +CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=15 +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_B53=y +CONFIG_B53_MDIO_DRIVER=y +CONFIG_B53_MMAP_DRIVER=y +CONFIG_B53_SPI_DRIVER=y +CONFIG_BCM6345_EXT_IRQ=y +CONFIG_BCM6345_L1_IRQ=y +# CONFIG_BCM6348_ENET is not set +CONFIG_BCM6368_ENETSW=y +CONFIG_BCM7038_WDT=y +CONFIG_BLK_MQ_PCI=y +CONFIG_BLK_PM=y +CONFIG_BMIPS_GENERIC=y +CONFIG_CEVT_R4K=y +# CONFIG_CLK_BCM63268_TIMER is not set +CONFIG_CLK_BCM_63XX_GATE=y +CONFIG_CLONE_BACKWARDS=y +CONFIG_COMMON_CLK=y +CONFIG_COMPAT_32BIT_TIME=y +CONFIG_CPU_BIG_ENDIAN=y +CONFIG_CPU_BMIPS=y +CONFIG_CPU_BMIPS32_3300=y +CONFIG_CPU_BMIPS4350=y +CONFIG_CPU_BMIPS4380=y +CONFIG_CPU_GENERIC_DUMP_TLB=y +CONFIG_CPU_HAS_PREFETCH=y +CONFIG_CPU_HAS_RIXI=y +CONFIG_CPU_HAS_SYNC=y +CONFIG_CPU_MIPS32=y +CONFIG_CPU_NEEDS_NO_SMARTMIPS_OR_MICROMIPS=y +CONFIG_CPU_NO_EFFICIENT_FFS=y +CONFIG_CPU_R4K_CACHE_TLB=y +CONFIG_CPU_RMAP=y +CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y +CONFIG_CPU_SUPPORTS_CPUFREQ=y +CONFIG_CPU_SUPPORTS_HIGHMEM=y +CONFIG_CRASH_DUMP=y +CONFIG_CRC16=y +CONFIG_CRYPTO_DEFLATE=y +CONFIG_CRYPTO_HASH_INFO=y +CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y +CONFIG_CRYPTO_LIB_POLY1305_RSIZE=2 +CONFIG_CRYPTO_LZO=y +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_ZSTD=y +CONFIG_CSRC_R4K=y +CONFIG_DEBUG_INFO=y +CONFIG_DMA_NONCOHERENT=y +CONFIG_DTC=y +# CONFIG_DT_BCM93384WVG is not set +# CONFIG_DT_BCM93384WVG_VIPER is not set +# CONFIG_DT_BCM96368MVWG is not set +# CONFIG_DT_BCM97125CBMB is not set +# CONFIG_DT_BCM97346DBSMB is not set +# CONFIG_DT_BCM97358SVMB is not set +# CONFIG_DT_BCM97360SVMB is not set +# CONFIG_DT_BCM97362SVMB is not set +# CONFIG_DT_BCM97420C is not set +# CONFIG_DT_BCM97425SVMB is not set +# CONFIG_DT_BCM97435SVMB is not set +# CONFIG_DT_BCM9EJTAGPRB is not set +# CONFIG_DT_COMTREND_VR3032U is not set +# CONFIG_DT_NETGEAR_CVG834G is not set +CONFIG_DT_NONE=y +# CONFIG_DT_SFR_NEUFBOX4_SERCOMM is not set +# CONFIG_DT_SFR_NEUFBOX6_SERCOMM is not set +CONFIG_FIXED_PHY=y +CONFIG_FWNODE_MDIO=y +CONFIG_FW_LOADER_PAGED_BUF=y +CONFIG_GENERIC_ATOMIC64=y +CONFIG_GENERIC_CLOCKEVENTS=y +CONFIG_GENERIC_CMOS_UPDATE=y +CONFIG_GENERIC_CPU_AUTOPROBE=y +CONFIG_GENERIC_FIND_FIRST_BIT=y +CONFIG_GENERIC_GETTIMEOFDAY=y +CONFIG_GENERIC_IOMAP=y +CONFIG_GENERIC_IRQ_CHIP=y +CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_LIB_ASHLDI3=y +CONFIG_GENERIC_LIB_ASHRDI3=y +CONFIG_GENERIC_LIB_CMPDI2=y +CONFIG_GENERIC_LIB_LSHRDI3=y +CONFIG_GENERIC_LIB_UCMPDI2=y +CONFIG_GENERIC_PCI_IOMAP=y +CONFIG_GENERIC_PHY=y +CONFIG_GENERIC_PINCONF=y +CONFIG_GENERIC_PINCTRL_GROUPS=y +CONFIG_GENERIC_PINMUX_FUNCTIONS=y +CONFIG_GENERIC_SCHED_CLOCK=y +CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_GENERIC_TIME_VSYSCALL=y +# CONFIG_GPIO_BRCMSTB is not set +CONFIG_GPIO_CDEV=y +CONFIG_GPIO_GENERIC=y +CONFIG_GPIO_GENERIC_PLATFORM=y +CONFIG_GPIO_REGMAP=y +CONFIG_GRO_CELLS=y +CONFIG_HANDLE_DOMAIN_IRQ=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_HAS_DMA=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT_MAP=y +CONFIG_HW_RANDOM=y +CONFIG_HW_RANDOM_BCM2835=y +CONFIG_HZ_PERIODIC=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_IRQCHIP=y +CONFIG_IRQ_DOMAIN=y +CONFIG_IRQ_FORCED_THREADING=y +CONFIG_IRQ_MIPS_CPU=y +CONFIG_IRQ_WORK=y +# CONFIG_LEDS_SERCOMM_MSP430 is not set +CONFIG_LIBFDT=y +CONFIG_LOCK_DEBUGGING_SUPPORT=y +CONFIG_LZO_COMPRESS=y +CONFIG_LZO_DECOMPRESS=y +CONFIG_MDIO_BUS=y +CONFIG_MDIO_BUS_MUX=y +CONFIG_MDIO_BUS_MUX_BCM6368=y +CONFIG_MDIO_DEVICE=y +CONFIG_MDIO_DEVRES=y +CONFIG_MEMFD_CREATE=y +CONFIG_MFD_SYSCON=y +CONFIG_MIGRATION=y +CONFIG_MIPS=y +CONFIG_MIPS_ASID_BITS=8 +CONFIG_MIPS_ASID_SHIFT=0 +CONFIG_MIPS_CLOCK_VSYSCALL=y +# CONFIG_MIPS_CMDLINE_FROM_BOOTLOADER is not set +CONFIG_MIPS_CMDLINE_FROM_DTB=y +CONFIG_MIPS_EBPF_JIT=y +CONFIG_MIPS_EXTERNAL_TIMER=y +CONFIG_MIPS_L1_CACHE_SHIFT=6 +CONFIG_MIPS_L1_CACHE_SHIFT_4=y +CONFIG_MIPS_L1_CACHE_SHIFT_6=y +CONFIG_MIPS_LD_CAN_LINK_VDSO=y +# CONFIG_MIPS_NO_APPENDED_DTB is not set +CONFIG_MIPS_NR_CPU_NR_MAP=2 +CONFIG_MIPS_O32_FP64_SUPPORT=y +CONFIG_MIPS_RAW_APPENDED_DTB=y +CONFIG_MODULES_USE_ELF_REL=y +CONFIG_MODULE_FORCE_LOAD=y +CONFIG_MODULE_FORCE_UNLOAD=y +# CONFIG_MTD_BCM63XX_PARTS is not set +CONFIG_MTD_CFI_ADV_OPTIONS=y +CONFIG_MTD_CFI_BE_BYTE_SWAP=y +# CONFIG_MTD_CFI_GEOMETRY is not set +# CONFIG_MTD_CFI_NOSWAP is not set +CONFIG_MTD_CFI_STAA=y +CONFIG_MTD_JEDECPROBE=y +CONFIG_MTD_NAND_BRCMNAND=y +CONFIG_MTD_NAND_CORE=y +CONFIG_MTD_NAND_ECC=y +CONFIG_MTD_NAND_ECC_SW_HAMMING=y +# CONFIG_MTD_PARSER_IMAGETAG is not set +CONFIG_MTD_PHYSMAP=y +CONFIG_MTD_RAW_NAND=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_SPLIT_BCM63XX_FW=y +CONFIG_MTD_SPLIT_BCM_WFI_FW=y +CONFIG_MTD_UBI=y +CONFIG_MTD_UBI_BEB_LIMIT=20 +CONFIG_MTD_UBI_BLOCK=y +CONFIG_MTD_UBI_WL_THRESHOLD=4096 +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_NET_DEVLINK=y +CONFIG_NET_DSA=y +CONFIG_NET_DSA_TAG_BRCM=y +CONFIG_NET_DSA_TAG_BRCM_COMMON=y +CONFIG_NET_DSA_TAG_BRCM_LEGACY=y +CONFIG_NET_DSA_TAG_BRCM_PREPEND=y +CONFIG_NET_FLOW_LIMIT=y +CONFIG_NET_SELFTESTS=y +CONFIG_NET_SWITCHDEV=y +CONFIG_NO_EXCEPT_FILL=y +CONFIG_NO_GENERIC_PCI_IOPORT_MAP=y +CONFIG_NR_CPUS=2 +CONFIG_NVMEM=y +CONFIG_OF=y +CONFIG_OF_ADDRESS=y +CONFIG_OF_EARLY_FLATTREE=y +CONFIG_OF_FLATTREE=y +CONFIG_OF_GPIO=y +CONFIG_OF_IRQ=y +CONFIG_OF_KOBJ=y +CONFIG_OF_MDIO=y +CONFIG_PADATA=y +CONFIG_PCI=y +# CONFIG_PCIE_BCM6318 is not set +# CONFIG_PCIE_BCM6328 is not set +CONFIG_PCI_BCM6348=y +CONFIG_PCI_DOMAINS=y +CONFIG_PCI_DRIVERS_LEGACY=y +CONFIG_PERF_USE_VMALLOC=y +CONFIG_PGTABLE_LEVELS=2 +CONFIG_PHYLIB=y +CONFIG_PHYLINK=y +CONFIG_PHYSICAL_START=0x80010000 +CONFIG_PHY_BCM63XX_USBH=y +# CONFIG_PHY_BRCM_SATA is not set +CONFIG_PINCTRL=y +# CONFIG_PINCTRL_BCM6318 is not set +# CONFIG_PINCTRL_BCM63268 is not set +# CONFIG_PINCTRL_BCM6328 is not set +# CONFIG_PINCTRL_BCM6358 is not set +# CONFIG_PINCTRL_BCM6362 is not set +CONFIG_PINCTRL_BCM6368=y +CONFIG_PINCTRL_BCM63XX=y +CONFIG_PM=y +CONFIG_PM_CLK=y +CONFIG_POSIX_MQUEUE=y +CONFIG_POSIX_MQUEUE_SYSCTL=y +CONFIG_POWER_RESET=y +CONFIG_POWER_RESET_SYSCON=y +CONFIG_POWER_SUPPLY=y +CONFIG_PROC_VMCORE=y +CONFIG_PTP_1588_CLOCK_OPTIONAL=y +CONFIG_QUEUED_RWLOCKS=y +CONFIG_QUEUED_SPINLOCKS=y +CONFIG_RATIONAL=y +CONFIG_REGMAP=y +CONFIG_REGMAP_MMIO=y +CONFIG_RELAY=y +CONFIG_RESET_BCM6345=y +CONFIG_RESET_CONTROLLER=y +CONFIG_RFS_ACCEL=y +CONFIG_RPS=y +# CONFIG_SERIAL_8250 is not set +CONFIG_SERIAL_BCM63XX=y +CONFIG_SERIAL_BCM63XX_CONSOLE=y +CONFIG_SGL_ALLOC=y +CONFIG_SMP=y +CONFIG_SMP_UP=y +CONFIG_SOCK_RX_QUEUE_MAPPING=y +# CONFIG_SOC_BCM63XX is not set +CONFIG_SPI=y +CONFIG_SPI_BCM63XX=y +# CONFIG_SPI_BCM63XX_HSSPI is not set +CONFIG_SPI_MASTER=y +CONFIG_SPI_MEM=y +CONFIG_SRCU=y +CONFIG_SSB=y +CONFIG_SSB_B43_PCI_BRIDGE=y +CONFIG_SSB_BLOCKIO=y +# CONFIG_SSB_DRIVER_MIPS is not set +CONFIG_SSB_DRIVER_PCICORE=y +CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y +CONFIG_SSB_PCIHOST=y +CONFIG_SSB_PCIHOST_POSSIBLE=y +CONFIG_SSB_SPROM=y +CONFIG_SWAP_IO_SPACE=y +CONFIG_SWPHY=y +CONFIG_SYNC_R4K=y +CONFIG_SYSCTL_EXCEPTION_TRACE=y +CONFIG_SYS_HAS_CPU_BMIPS=y +CONFIG_SYS_HAS_CPU_BMIPS32_3300=y +CONFIG_SYS_HAS_CPU_BMIPS4350=y +CONFIG_SYS_HAS_CPU_BMIPS4380=y +CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y +CONFIG_SYS_SUPPORTS_ARBIT_HZ=y +CONFIG_SYS_SUPPORTS_BIG_ENDIAN=y +CONFIG_SYS_SUPPORTS_HOTPLUG_CPU=y +CONFIG_SYS_SUPPORTS_SMP=y +CONFIG_TARGET_ISA_REV=0 +CONFIG_TICK_CPU_ACCOUNTING=y +CONFIG_TREE_RCU=y +CONFIG_TREE_SRCU=y +CONFIG_UBIFS_FS=y +CONFIG_USB_EHCI_BIG_ENDIAN_DESC=y +CONFIG_USB_EHCI_BIG_ENDIAN_MMIO=y +CONFIG_USB_OHCI_BIG_ENDIAN_DESC=y +CONFIG_USB_OHCI_BIG_ENDIAN_MMIO=y +CONFIG_USB_SUPPORT=y +CONFIG_USE_OF=y +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_WATCHDOG_CORE=y +CONFIG_WATCHDOG_NOWAYOUT=y +CONFIG_WEAK_ORDERING=y +CONFIG_XPS=y +CONFIG_XXHASH=y +CONFIG_ZLIB_DEFLATE=y +CONFIG_ZLIB_INFLATE=y +CONFIG_ZSTD_COMPRESS=y +CONFIG_ZSTD_DECOMPRESS=y diff --git a/target/linux/bmips/bcm6368/target.mk b/target/linux/bmips/bcm6368/target.mk new file mode 100644 index 00000000000..950bf7224ab --- /dev/null +++ b/target/linux/bmips/bcm6368/target.mk @@ -0,0 +1,9 @@ +# SPDX-License-Identifier: GPL-2.0-only + +SUBTARGET:=bcm6368 +BOARDNAME:=BCM6368 based boards +FEATURES+=nand + +define Target/Description + Build firmware images for Broadcom BCM6368 based boards. +endef diff --git a/target/linux/bmips/generic/base-files/etc/board.d/01_leds b/target/linux/bmips/generic/base-files/etc/board.d/01_leds deleted file mode 100644 index 3461eca10c9..00000000000 --- a/target/linux/bmips/generic/base-files/etc/board.d/01_leds +++ /dev/null @@ -1,16 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0-or-later - -. /lib/functions/leds.sh -. /lib/functions/uci-defaults.sh - -board_config_update - -led_usb="$(get_dt_led usb)" -[ -n "$led_usb" ] && ucidef_set_led_usbdev "usb" "usb" "$led_usb" "1-1" - -led_usb2="$(get_dt_led usb2)" -[ -n "$led_usb2" ] && ucidef_set_led_usbdev "usb2" "usb2" "$led_usb2" "2-1" - -board_config_flush - -exit 0 diff --git a/target/linux/bmips/generic/config-default b/target/linux/bmips/generic/config-default deleted file mode 100644 index 33fa39715b7..00000000000 --- a/target/linux/bmips/generic/config-default +++ /dev/null @@ -1,3 +0,0 @@ -CONFIG_MTD_PHYSMAP=y -CONFIG_MTD_SPI_NOR=y -CONFIG_MTD_SPLIT_BCM63XX_FW=y diff --git a/target/linux/bmips/generic/target.mk b/target/linux/bmips/generic/target.mk deleted file mode 100644 index bd75426f695..00000000000 --- a/target/linux/bmips/generic/target.mk +++ /dev/null @@ -1,5 +0,0 @@ -BOARDNAME:=generic - -define Target/Description - BMIPS boards without NAND support -endef diff --git a/target/linux/bmips/image/Makefile b/target/linux/bmips/image/Makefile index da328f7216f..8369a86669c 100644 --- a/target/linux/bmips/image/Makefile +++ b/target/linux/bmips/image/Makefile @@ -7,7 +7,15 @@ KERNEL_LOADADDR := 0x80010000 # RAM start + 64K LOADER_ENTRY := 0x80a00000 # RAM start + 10M, for relocate LZMA_TEXT_START := 0x81800000 # RAM start + 24M +DEVICE_VARS += CFE_BOARD_ID CFE_EXTRAS +DEVICE_VARS += CFE_PART_FLAGS CFE_PART_ID +DEVICE_VARS += CFE_RAM_FILE +DEVICE_VARS += CFE_RAM_JFFS2_NAME CFE_RAM_JFFS2_PAD +DEVICE_VARS += CFE_WFI_CHIP_ID CFE_WFI_FLASH_TYPE +DEVICE_VARS += CFE_WFI_FLAGS CFE_WFI_VERSION DEVICE_VARS += CHIP_ID DEVICE_LOADADDR +DEVICE_VARS += FLASH_MB IMAGE_OFFSET +DEVICE_VARS += SERCOMM_FSVER SERCOMM_HWVER SERCOMM_SWVER define Build/Compile rm -rf $(KDIR)/relocate @@ -253,11 +261,74 @@ define Device/Default DEVICE_LOADADDR := endef +define Device/bcm63xx-cfe + FILESYSTEMS := squashfs jffs2-64k jffs2-128k + KERNEL := kernel-bin | append-dtb | relocate-kernel | lzma + KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | loader-lzma elf + KERNEL_INITRAMFS_SUFFIX := .elf + IMAGES := cfe.bin sysupgrade.bin + IMAGE/cfe.bin := \ + cfe-bin $$$$(if $$$$(FLASH_MB),--pad $$$$(shell expr $$$$(FLASH_MB) / 2)) + IMAGE/sysupgrade.bin := cfe-bin | append-metadata + BLOCKSIZE := 0x10000 + IMAGE_OFFSET := + FLASH_MB := + CFE_BOARD_ID := + CFE_EXTRAS = --block-size $$(BLOCKSIZE) \ + --image-offset $$(if $$(IMAGE_OFFSET),$$(IMAGE_OFFSET),$$(BLOCKSIZE)) +endef + +# Legacy CFEs with specific LZMA parameters and no length +define Device/bcm63xx-cfe-legacy + $(Device/bcm63xx-cfe) + KERNEL := kernel-bin | append-dtb | relocate-kernel | lzma-cfe +endef + +# CFE expects a single JFFS2 partition with cferam and kernel. However, +# it's possible to fool CFE into properly loading both cferam and kernel +# from two different JFFS2 partitions by adding dummy files (see +# cfe-jffs2-cferam and cfe-jffs2-kernel). +# Separate JFFS2 partitions allow upgrading openwrt without reflashing cferam +# JFFS2 partition, which is much safer in case anything goes wrong. +define Device/bcm63xx-nand + FILESYSTEMS := squashfs ubifs + KERNEL := kernel-bin | append-dtb | relocate-kernel | lzma | cfe-jffs2-kernel + KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | loader-lzma elf + KERNEL_INITRAMFS_SUFFIX := .elf + IMAGES := cfe.bin sysupgrade.bin + IMAGE/cfe.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) |\ + cfe-jffs2-cferam | append-ubi | cfe-wfi-tag + IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata + KERNEL_SIZE := 5120k + CFE_PART_FLAGS := + CFE_PART_ID := + CFE_RAM_FILE := + CFE_RAM_JFFS2_NAME := + CFE_RAM_JFFS2_PAD := + CFE_WFI_VERSION := + CFE_WFI_CHIP_ID = 0x$$(CHIP_ID) + CFE_WFI_FLASH_TYPE := + CFE_WFI_FLAGS := + UBINIZE_OPTS := -E 5 + DEVICE_PACKAGES += nand-utils +endef + +define Device/sercomm-nand + $(Device/bcm63xx-nand) + IMAGES := factory.img sysupgrade.bin + IMAGE/factory.img := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi |\ + cfe-sercomm-part | gzip | cfe-sercomm-load | cfe-sercomm-crypto + SERCOMM_FSVER := + SERCOMM_HWVER := + SERCOMM_SWVER := +endef + +### Package helpers ### ATH9K_PACKAGES := kmod-ath9k wpad-basic-mbedtls B43_PACKAGES := kmod-b43 wpad-basic-mbedtls -USB1_PACKAGES := kmod-usb-ohci kmod-ledtrig-usbdev +USB1_PACKAGES := kmod-usb-ohci kmod-usb-ledtrig-usbport USB2_PACKAGES := $(USB1_PACKAGES) kmod-usb2 -include bcm63xx_$(SUBTARGET).mk +include $(SUBTARGET).mk $(eval $(call BuildImage)) diff --git a/target/linux/bmips/image/bcm6318.mk b/target/linux/bmips/image/bcm6318.mk new file mode 100644 index 00000000000..fc73eb45219 --- /dev/null +++ b/target/linux/bmips/image/bcm6318.mk @@ -0,0 +1,13 @@ +# SPDX-License-Identifier: GPL-2.0-or-later + +define Device/comtrend_ar-5315u + $(Device/bcm63xx-cfe) + DEVICE_VENDOR := Comtrend + DEVICE_MODEL := AR-5315u + CHIP_ID := 6318 + CFE_BOARD_ID := 96318A-1441N1 + FLASH_MB := 16 + DEVICE_PACKAGES += $(USB2_PACKAGES) $(B43_PACKAGES) \ + kmod-leds-bcm6328 +endef +TARGET_DEVICES += comtrend_ar-5315u diff --git a/target/linux/bmips/image/bcm63268.mk b/target/linux/bmips/image/bcm63268.mk new file mode 100644 index 00000000000..6f7cda74055 --- /dev/null +++ b/target/linux/bmips/image/bcm63268.mk @@ -0,0 +1,82 @@ +# SPDX-License-Identifier: GPL-2.0-or-later + +define Device/comtrend_vr-3032u + $(Device/bcm63xx-nand) + DEVICE_VENDOR := Comtrend + DEVICE_MODEL := VR-3032u + CHIP_ID := 63268 + SOC := bcm63168 + CFE_RAM_FILE := comtrend,vr-3032u/cferam.000 + CFE_RAM_JFFS2_NAME := cferam.000 + BLOCKSIZE := 128k + PAGESIZE := 2048 + SUBPAGESIZE := 512 + VID_HDR_OFFSET := 2048 + DEVICE_PACKAGES += $(USB2_PACKAGES) \ + kmod-leds-bcm6328 + CFE_WFI_FLASH_TYPE := 3 + CFE_WFI_VERSION := 0x5732 +endef +TARGET_DEVICES += comtrend_vr-3032u + +define Device/sercomm_h500-s-lowi + $(Device/sercomm-nand) + DEVICE_VENDOR := Sercomm + DEVICE_MODEL := H500-s + DEVICE_VARIANT := lowi + DEVICE_LOADADDR := $(KERNEL_LOADADDR) + KERNEL := kernel-bin | append-dtb | lzma | cfe-jffs2-kernel + CHIP_ID := 63268 + SOC := bcm63167 + BLOCKSIZE := 128k + PAGESIZE := 2048 + SUBPAGESIZE := 512 + VID_HDR_OFFSET := 2048 + DEVICE_PACKAGES += $(USB2_PACKAGES) \ + kmod-leds-bcm6328 + SERCOMM_FSVER := 1001 + SERCOMM_HWVER := 1434b31 + SERCOMM_SWVER := 3305 +endef +TARGET_DEVICES += sercomm_h500-s-lowi + +define Device/sercomm_h500-s-vfes + $(Device/sercomm-nand) + DEVICE_VENDOR := Sercomm + DEVICE_MODEL := H500-s + DEVICE_VARIANT := vfes + DEVICE_LOADADDR := $(KERNEL_LOADADDR) + KERNEL := kernel-bin | append-dtb | lzma | cfe-jffs2-kernel + CHIP_ID := 63268 + SOC := bcm63167 + BLOCKSIZE := 128k + PAGESIZE := 2048 + SUBPAGESIZE := 512 + VID_HDR_OFFSET := 2048 + DEVICE_PACKAGES += $(USB2_PACKAGES) \ + kmod-leds-bcm6328 + SERCOMM_FSVER := 1001 + SERCOMM_HWVER := 142584b + SERCOMM_SWVER := 3417 +endef +TARGET_DEVICES += sercomm_h500-s-vfes + +define Device/sercomm_shg2500 + $(Device/sercomm-nand) + DEVICE_VENDOR := Sercomm + DEVICE_MODEL := SHG2500 + DEVICE_LOADADDR := $(KERNEL_LOADADDR) + KERNEL := kernel-bin | append-dtb | lzma | cfe-jffs2-kernel + CHIP_ID := 63268 + SOC := bcm63168 + BLOCKSIZE := 128k + PAGESIZE := 2048 + SUBPAGESIZE := 512 + VID_HDR_OFFSET := 2048 + DEVICE_PACKAGES += $(USB2_PACKAGES) kmod-i2c-gpio \ + kmod-leds-sercomm-msp430 + SERCOMM_FSVER := 1001 + SERCOMM_HWVER := 1424e4a + SERCOMM_SWVER := 3207 +endef +TARGET_DEVICES += sercomm_shg2500 diff --git a/target/linux/bmips/image/bcm6328.mk b/target/linux/bmips/image/bcm6328.mk new file mode 100644 index 00000000000..3a739a7e712 --- /dev/null +++ b/target/linux/bmips/image/bcm6328.mk @@ -0,0 +1,13 @@ +# SPDX-License-Identifier: GPL-2.0-or-later + +define Device/comtrend_ar-5387un + $(Device/bcm63xx-cfe) + DEVICE_VENDOR := Comtrend + DEVICE_MODEL := AR-5387un + CHIP_ID := 6328 + CFE_BOARD_ID := 96328A-1441N1 + FLASH_MB := 16 + DEVICE_PACKAGES += $(USB2_PACKAGES) $(B43_PACKAGES) \ + kmod-leds-bcm6328 +endef +TARGET_DEVICES += comtrend_ar-5387un diff --git a/target/linux/bmips/image/bcm6358.mk b/target/linux/bmips/image/bcm6358.mk new file mode 100644 index 00000000000..33c87f9ce4a --- /dev/null +++ b/target/linux/bmips/image/bcm6358.mk @@ -0,0 +1,15 @@ +# SPDX-License-Identifier: GPL-2.0-or-later + +define Device/huawei_hg556a-b + $(Device/bcm63xx-cfe-legacy) + DEVICE_VENDOR := Huawei + DEVICE_MODEL := EchoLife HG556a + DEVICE_VARIANT := B + CHIP_ID := 6358 + CFE_BOARD_ID := HW556 + CFE_EXTRAS += --rsa-signature "EchoLife_HG556a" --tag-version 8 + BLOCKSIZE := 0x20000 + DEVICE_PACKAGES += $(USB2_PACKAGES) $(ATH9K_PACKAGES) \ + kmod-leds-gpio +endef +TARGET_DEVICES += huawei_hg556a-b diff --git a/target/linux/bmips/image/bcm6362.mk b/target/linux/bmips/image/bcm6362.mk new file mode 100644 index 00000000000..d6b4b1ce600 --- /dev/null +++ b/target/linux/bmips/image/bcm6362.mk @@ -0,0 +1,41 @@ +# SPDX-License-Identifier: GPL-2.0-or-later + +define Device/huawei_hg253s-v2 + $(Device/bcm63xx-nand) + IMAGES := flash.bin sysupgrade.bin + IMAGE/flash.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | cfe-jffs2-cferam | append-ubi + DEVICE_VENDOR := Huawei + DEVICE_MODEL := HG253s + DEVICE_VARIANT := v2 + CHIP_ID := 6362 + CFE_PART_FLAGS := 1 + CFE_PART_ID := 0x0001EFEE + CFE_RAM_FILE := huawei,hg253s-v2/cferam.000 + CFE_RAM_JFFS2_NAME := cferam.000 + BLOCKSIZE := 128k + PAGESIZE := 2048 + SUBPAGESIZE := 512 + VID_HDR_OFFSET := 2048 + DEVICE_PACKAGES += $(USB2_PACKAGES) \ + kmod-leds-bcm6328 kmod-leds-gpio + CFE_WFI_FLASH_TYPE := 3 +endef +TARGET_DEVICES += huawei_hg253s-v2 + +define Device/netgear_dgnd3700-v2 + $(Device/bcm63xx-nand) + DEVICE_VENDOR := NETGEAR + DEVICE_MODEL := DGND3700 + DEVICE_VARIANT := v2 + CHIP_ID := 6362 + CFE_RAM_FILE := netgear,dgnd3700-v2/cferam + CFE_RAM_JFFS2_NAME := cferam + CFE_RAM_JFFS2_PAD := 496k + BLOCKSIZE := 16k + PAGESIZE := 512 + DEVICE_PACKAGES += $(USB2_PACKAGES) \ + kmod-leds-bcm6328 kmod-leds-gpio + CFE_WFI_FLASH_TYPE := 2 + CFE_WFI_VERSION := 0x5731 +endef +TARGET_DEVICES += netgear_dgnd3700-v2 diff --git a/target/linux/bmips/image/bcm6368.mk b/target/linux/bmips/image/bcm6368.mk new file mode 100644 index 00000000000..be4cc576db1 --- /dev/null +++ b/target/linux/bmips/image/bcm6368.mk @@ -0,0 +1,14 @@ +# SPDX-License-Identifier: GPL-2.0-or-later + +define Device/comtrend_vr-3025u + $(Device/bcm63xx-cfe) + DEVICE_VENDOR := Comtrend + DEVICE_MODEL := VR-3025u + CHIP_ID := 6368 + CFE_BOARD_ID := 96368M-1541N + BLOCKSIZE := 0x20000 + FLASH_MB := 32 + DEVICE_PACKAGES += $(USB2_PACKAGES) $(B43_PACKAGES) \ + kmod-leds-gpio +endef +TARGET_DEVICES += comtrend_vr-3025u diff --git a/target/linux/bmips/image/bcm63xx_generic.mk b/target/linux/bmips/image/bcm63xx_generic.mk deleted file mode 100644 index 2c832fe8ba9..00000000000 --- a/target/linux/bmips/image/bcm63xx_generic.mk +++ /dev/null @@ -1,78 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0-or-later - -DEVICE_VARS += CFE_BOARD_ID CFE_EXTRAS -DEVICE_VARS += FLASH_MB IMAGE_OFFSET - -define Device/bcm63xx-cfe - FILESYSTEMS := squashfs jffs2-64k jffs2-128k - KERNEL := kernel-bin | append-dtb | relocate-kernel | lzma - KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | loader-lzma elf - KERNEL_INITRAMFS_SUFFIX := .elf - IMAGES := cfe.bin sysupgrade.bin - IMAGE/cfe.bin := \ - cfe-bin $$$$(if $$$$(FLASH_MB),--pad $$$$(shell expr $$$$(FLASH_MB) / 2)) - IMAGE/sysupgrade.bin := cfe-bin | append-metadata - BLOCKSIZE := 0x10000 - IMAGE_OFFSET := - FLASH_MB := - CFE_BOARD_ID := - CFE_EXTRAS = --block-size $$(BLOCKSIZE) \ - --image-offset $$(if $$(IMAGE_OFFSET),$$(IMAGE_OFFSET),$$(BLOCKSIZE)) -endef - -# Legacy CFEs with specific LZMA parameters and no length -define Device/bcm63xx-cfe-legacy - $(Device/bcm63xx-cfe) - KERNEL := kernel-bin | append-dtb | relocate-kernel | lzma-cfe -endef - -define Device/comtrend_ar-5315u - $(Device/bcm63xx-cfe) - DEVICE_VENDOR := Comtrend - DEVICE_MODEL := AR-5315u - CHIP_ID := 6318 - CFE_BOARD_ID := 96318A-1441N1 - FLASH_MB := 16 - DEVICE_PACKAGES += $(USB2_PACKAGES) $(B43_PACKAGES) \ - kmod-leds-bcm6328 -endef -TARGET_DEVICES += comtrend_ar-5315u - -define Device/comtrend_ar-5387un - $(Device/bcm63xx-cfe) - DEVICE_VENDOR := Comtrend - DEVICE_MODEL := AR-5387un - CHIP_ID := 6328 - CFE_BOARD_ID := 96328A-1441N1 - FLASH_MB := 16 - DEVICE_PACKAGES += $(USB2_PACKAGES) $(B43_PACKAGES) \ - kmod-leds-bcm6328 -endef -TARGET_DEVICES += comtrend_ar-5387un - -define Device/comtrend_vr-3025u - $(Device/bcm63xx-cfe) - DEVICE_VENDOR := Comtrend - DEVICE_MODEL := VR-3025u - CHIP_ID := 6368 - CFE_BOARD_ID := 96368M-1541N - BLOCKSIZE := 0x20000 - FLASH_MB := 32 - DEVICE_PACKAGES += $(USB2_PACKAGES) $(B43_PACKAGES) \ - kmod-leds-gpio -endef -TARGET_DEVICES += comtrend_vr-3025u - -define Device/huawei_hg556a-b - $(Device/bcm63xx-cfe-legacy) - DEVICE_VENDOR := Huawei - DEVICE_MODEL := EchoLife HG556a - DEVICE_VARIANT := B - CHIP_ID := 6358 - CFE_BOARD_ID := HW556 - CFE_EXTRAS += --rsa-signature "EchoLife_HG556a" --tag-version 8 - BLOCKSIZE := 0x20000 - DEVICE_PACKAGES += $(USB2_PACKAGES) $(ATH9K_PACKAGES) \ - kmod-leds-gpio -endef -TARGET_DEVICES += huawei_hg556a-b diff --git a/target/linux/bmips/image/bcm63xx_nand.mk b/target/linux/bmips/image/bcm63xx_nand.mk deleted file mode 100644 index 732a5accdc5..00000000000 --- a/target/linux/bmips/image/bcm63xx_nand.mk +++ /dev/null @@ -1,168 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0-or-later - -DEVICE_VARS += CFE_PART_FLAGS CFE_PART_ID -DEVICE_VARS += CFE_RAM_FILE -DEVICE_VARS += CFE_RAM_JFFS2_NAME CFE_RAM_JFFS2_PAD -DEVICE_VARS += CFE_WFI_CHIP_ID CFE_WFI_FLASH_TYPE -DEVICE_VARS += CFE_WFI_FLAGS CFE_WFI_VERSION -DEVICE_VARS += SERCOMM_FSVER SERCOMM_HWVER SERCOMM_SWVER - -# CFE expects a single JFFS2 partition with cferam and kernel. However, -# it's possible to fool CFE into properly loading both cferam and kernel -# from two different JFFS2 partitions by adding dummy files (see -# cfe-jffs2-cferam and cfe-jffs2-kernel). -# Separate JFFS2 partitions allow upgrading openwrt without reflashing cferam -# JFFS2 partition, which is much safer in case anything goes wrong. -define Device/bcm63xx-nand - FILESYSTEMS := squashfs ubifs - KERNEL := kernel-bin | append-dtb | relocate-kernel | lzma | cfe-jffs2-kernel - KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | loader-lzma elf - KERNEL_INITRAMFS_SUFFIX := .elf - IMAGES := cfe.bin sysupgrade.bin - IMAGE/cfe.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) |\ - cfe-jffs2-cferam | append-ubi | cfe-wfi-tag - IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata - KERNEL_SIZE := 5120k - CFE_PART_FLAGS := - CFE_PART_ID := - CFE_RAM_FILE := - CFE_RAM_JFFS2_NAME := - CFE_RAM_JFFS2_PAD := - CFE_WFI_VERSION := - CFE_WFI_CHIP_ID = 0x$$(CHIP_ID) - CFE_WFI_FLASH_TYPE := - CFE_WFI_FLAGS := - UBINIZE_OPTS := -E 5 - DEVICE_PACKAGES += nand-utils -endef - -define Device/sercomm-nand - $(Device/bcm63xx-nand) - IMAGES := factory.img sysupgrade.bin - IMAGE/factory.img := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi |\ - cfe-sercomm-part | gzip | cfe-sercomm-load | cfe-sercomm-crypto - SERCOMM_FSVER := - SERCOMM_HWVER := - SERCOMM_SWVER := -endef - -define Device/comtrend_vr-3032u - $(Device/bcm63xx-nand) - DEVICE_VENDOR := Comtrend - DEVICE_MODEL := VR-3032u - CHIP_ID := 63268 - SOC := bcm63168 - CFE_RAM_FILE := comtrend,vr-3032u/cferam.000 - CFE_RAM_JFFS2_NAME := cferam.000 - BLOCKSIZE := 128k - PAGESIZE := 2048 - SUBPAGESIZE := 512 - VID_HDR_OFFSET := 2048 - DEVICE_PACKAGES += $(USB2_PACKAGES) \ - kmod-leds-bcm6328 - CFE_WFI_FLASH_TYPE := 3 - CFE_WFI_VERSION := 0x5732 -endef -TARGET_DEVICES += comtrend_vr-3032u - -define Device/huawei_hg253s-v2 - $(Device/bcm63xx-nand) - IMAGES := flash.bin sysupgrade.bin - IMAGE/flash.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | cfe-jffs2-cferam | append-ubi - DEVICE_VENDOR := Huawei - DEVICE_MODEL := HG253s - DEVICE_VARIANT := v2 - CHIP_ID := 6362 - CFE_PART_FLAGS := 1 - CFE_PART_ID := 0x0001EFEE - CFE_RAM_FILE := huawei,hg253s-v2/cferam.000 - CFE_RAM_JFFS2_NAME := cferam.000 - BLOCKSIZE := 128k - PAGESIZE := 2048 - SUBPAGESIZE := 512 - VID_HDR_OFFSET := 2048 - DEVICE_PACKAGES += $(USB2_PACKAGES) \ - kmod-leds-bcm6328 kmod-leds-gpio - CFE_WFI_FLASH_TYPE := 3 -endef -TARGET_DEVICES += huawei_hg253s-v2 - -define Device/netgear_dgnd3700-v2 - $(Device/bcm63xx-nand) - DEVICE_VENDOR := NETGEAR - DEVICE_MODEL := DGND3700 - DEVICE_VARIANT := v2 - CHIP_ID := 6362 - CFE_RAM_FILE := netgear,dgnd3700-v2/cferam - CFE_RAM_JFFS2_NAME := cferam - CFE_RAM_JFFS2_PAD := 496k - BLOCKSIZE := 16k - PAGESIZE := 512 - DEVICE_PACKAGES += $(USB2_PACKAGES) $(B43_PACKAGES) \ - kmod-leds-bcm6328 kmod-leds-gpio - CFE_WFI_FLASH_TYPE := 2 - CFE_WFI_VERSION := 0x5731 -endef -TARGET_DEVICES += netgear_dgnd3700-v2 - -define Device/sercomm_h500-s-lowi - $(Device/sercomm-nand) - DEVICE_VENDOR := Sercomm - DEVICE_MODEL := H500-s - DEVICE_VARIANT := lowi - DEVICE_LOADADDR := $(KERNEL_LOADADDR) - KERNEL := kernel-bin | append-dtb | lzma | cfe-jffs2-kernel - CHIP_ID := 63268 - SOC := bcm63167 - BLOCKSIZE := 128k - PAGESIZE := 2048 - SUBPAGESIZE := 512 - VID_HDR_OFFSET := 2048 - DEVICE_PACKAGES += $(USB2_PACKAGES) \ - kmod-leds-bcm6328 - SERCOMM_FSVER := 1001 - SERCOMM_HWVER := 1434b31 - SERCOMM_SWVER := 3305 -endef -TARGET_DEVICES += sercomm_h500-s-lowi - -define Device/sercomm_h500-s-vfes - $(Device/sercomm-nand) - DEVICE_VENDOR := Sercomm - DEVICE_MODEL := H500-s - DEVICE_VARIANT := vfes - DEVICE_LOADADDR := $(KERNEL_LOADADDR) - KERNEL := kernel-bin | append-dtb | lzma | cfe-jffs2-kernel - CHIP_ID := 63268 - SOC := bcm63167 - BLOCKSIZE := 128k - PAGESIZE := 2048 - SUBPAGESIZE := 512 - VID_HDR_OFFSET := 2048 - DEVICE_PACKAGES += $(USB2_PACKAGES) \ - kmod-leds-bcm6328 - SERCOMM_FSVER := 1001 - SERCOMM_HWVER := 142584b - SERCOMM_SWVER := 3417 -endef -TARGET_DEVICES += sercomm_h500-s-vfes - -define Device/sercomm_shg2500 - $(Device/sercomm-nand) - DEVICE_VENDOR := Sercomm - DEVICE_MODEL := SHG2500 - DEVICE_LOADADDR := $(KERNEL_LOADADDR) - KERNEL := kernel-bin | append-dtb | lzma | cfe-jffs2-kernel - CHIP_ID := 63268 - SOC := bcm63168 - BLOCKSIZE := 128k - PAGESIZE := 2048 - SUBPAGESIZE := 512 - VID_HDR_OFFSET := 2048 - DEVICE_PACKAGES += $(USB2_PACKAGES) kmod-i2c-gpio \ - kmod-leds-sercomm-msp430 - SERCOMM_FSVER := 1001 - SERCOMM_HWVER := 1424e4a - SERCOMM_SWVER := 3207 -endef -TARGET_DEVICES += sercomm_shg2500 diff --git a/target/linux/bmips/nand/base-files/etc/board.d/01_leds b/target/linux/bmips/nand/base-files/etc/board.d/01_leds deleted file mode 100644 index 3461eca10c9..00000000000 --- a/target/linux/bmips/nand/base-files/etc/board.d/01_leds +++ /dev/null @@ -1,16 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0-or-later - -. /lib/functions/leds.sh -. /lib/functions/uci-defaults.sh - -board_config_update - -led_usb="$(get_dt_led usb)" -[ -n "$led_usb" ] && ucidef_set_led_usbdev "usb" "usb" "$led_usb" "1-1" - -led_usb2="$(get_dt_led usb2)" -[ -n "$led_usb2" ] && ucidef_set_led_usbdev "usb2" "usb2" "$led_usb2" "2-1" - -board_config_flush - -exit 0 diff --git a/target/linux/bmips/nand/config-default b/target/linux/bmips/nand/config-default deleted file mode 100644 index eeb45b82f15..00000000000 --- a/target/linux/bmips/nand/config-default +++ /dev/null @@ -1,27 +0,0 @@ -CONFIG_CRC16=y -CONFIG_CRYPTO_ACOMP2=y -CONFIG_CRYPTO_DEFLATE=y -CONFIG_CRYPTO_HASH_INFO=y -CONFIG_CRYPTO_LZO=y -CONFIG_CRYPTO_ZSTD=y -CONFIG_JFFS2_FS_NAND=y -CONFIG_LZO_COMPRESS=y -CONFIG_LZO_DECOMPRESS=y -CONFIG_MTD_NAND_BRCMNAND=y -CONFIG_MTD_NAND_CORE=y -CONFIG_MTD_NAND_ECC_SW_HAMMING=y -CONFIG_MTD_RAW_NAND=y -CONFIG_MTD_SPLIT_BCM_WFI_FW=y -CONFIG_MTD_UBI=y -CONFIG_MTD_UBI_BEB_LIMIT=20 -CONFIG_MTD_UBI_BLOCK=y -# CONFIG_MTD_UBI_FASTMAP is not set -# CONFIG_MTD_UBI_GLUEBI is not set -CONFIG_MTD_UBI_WL_THRESHOLD=4096 -CONFIG_SGL_ALLOC=y -CONFIG_UBIFS_FS=y -CONFIG_XXHASH=y -CONFIG_ZLIB_DEFLATE=y -CONFIG_ZLIB_INFLATE=y -CONFIG_ZSTD_COMPRESS=y -CONFIG_ZSTD_DECOMPRESS=y diff --git a/target/linux/bmips/nand/target.mk b/target/linux/bmips/nand/target.mk deleted file mode 100644 index da8ba0428af..00000000000 --- a/target/linux/bmips/nand/target.mk +++ /dev/null @@ -1,6 +0,0 @@ -BOARDNAME:=nand -FEATURES+=nand - -define Target/Description - BMIPS boards with NAND support -endef From 2c824b461510c216429e91e55b2de96952c42690 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= Date: Sun, 9 Apr 2023 21:06:54 +0200 Subject: [PATCH 07/18] bmips: remove source-only flag MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit bmips target is now more stable and it's time to start generating buildbot images in order to receive a wider testing, which will be essential to replace bcm63xx target in the future. Signed-off-by: Álvaro Fernández Rojas --- target/linux/bmips/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/linux/bmips/Makefile b/target/linux/bmips/Makefile index 0de5377f4ec..d5f437fbd41 100644 --- a/target/linux/bmips/Makefile +++ b/target/linux/bmips/Makefile @@ -7,7 +7,7 @@ CPU_TYPE:=mips32 BOARD:=bmips BOARDNAME:=Broadcom BMIPS SUBTARGETS:=bcm6318 bcm6328 bcm6358 bcm6362 bcm6368 bcm63268 -FEATURES:=gpio source-only squashfs usb +FEATURES:=gpio squashfs usb KERNEL_PATCHVER:=5.15 From 457549665fcb93667453ef48c50bf43eddd776ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= Date: Mon, 10 Apr 2023 10:06:22 +0200 Subject: [PATCH 08/18] bmips: dts: add missing phy modes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PHY modes should be defined in the device tree for the bcm63xx internal switch. Signed-off-by: Álvaro Fernández Rojas --- target/linux/bmips/dts/bcm63167-sercomm-h500-s.dtsi | 1 + target/linux/bmips/dts/bcm63168-comtrend-vr-3032u.dts | 4 ++++ target/linux/bmips/dts/bcm6318-comtrend-ar-5315u.dts | 4 ++++ target/linux/bmips/dts/bcm6328-comtrend-ar-5387un.dts | 4 ++++ target/linux/bmips/dts/bcm6368-comtrend-vr-3025u.dts | 4 ++++ 5 files changed, 17 insertions(+) diff --git a/target/linux/bmips/dts/bcm63167-sercomm-h500-s.dtsi b/target/linux/bmips/dts/bcm63167-sercomm-h500-s.dtsi index 7368e9d496e..591029c4635 100644 --- a/target/linux/bmips/dts/bcm63167-sercomm-h500-s.dtsi +++ b/target/linux/bmips/dts/bcm63167-sercomm-h500-s.dtsi @@ -254,6 +254,7 @@ label = "wan"; phy-handle = <&phy12>; + phy-mode = "gmii"; }; switch0port4: port@4 { diff --git a/target/linux/bmips/dts/bcm63168-comtrend-vr-3032u.dts b/target/linux/bmips/dts/bcm63168-comtrend-vr-3032u.dts index 22a0ffe7921..062fdcafe96 100644 --- a/target/linux/bmips/dts/bcm63168-comtrend-vr-3032u.dts +++ b/target/linux/bmips/dts/bcm63168-comtrend-vr-3032u.dts @@ -196,6 +196,7 @@ label = "lan2"; phy-handle = <&phy1>; + phy-mode = "mii"; }; port@1 { @@ -203,6 +204,7 @@ label = "lan3"; phy-handle = <&phy2>; + phy-mode = "mii"; }; port@2 { @@ -210,6 +212,7 @@ label = "lan4"; phy-handle = <&phy3>; + phy-mode = "mii"; }; port@3 { @@ -217,6 +220,7 @@ label = "lan1"; phy-handle = <&phy4>; + phy-mode = "mii"; }; }; }; diff --git a/target/linux/bmips/dts/bcm6318-comtrend-ar-5315u.dts b/target/linux/bmips/dts/bcm6318-comtrend-ar-5315u.dts index ec50c3e07df..9226922a7ae 100644 --- a/target/linux/bmips/dts/bcm6318-comtrend-ar-5315u.dts +++ b/target/linux/bmips/dts/bcm6318-comtrend-ar-5315u.dts @@ -213,6 +213,7 @@ label = "lan4"; phy-handle = <&phy1>; + phy-mode = "mii"; }; port@1 { @@ -220,6 +221,7 @@ label = "lan3"; phy-handle = <&phy2>; + phy-mode = "mii"; }; port@2 { @@ -227,6 +229,7 @@ label = "lan2"; phy-handle = <&phy3>; + phy-mode = "mii"; }; port@3 { @@ -234,6 +237,7 @@ label = "lan1"; phy-handle = <&phy4>; + phy-mode = "mii"; }; }; }; diff --git a/target/linux/bmips/dts/bcm6328-comtrend-ar-5387un.dts b/target/linux/bmips/dts/bcm6328-comtrend-ar-5387un.dts index 47db0809e19..df6ee5eadd6 100644 --- a/target/linux/bmips/dts/bcm6328-comtrend-ar-5387un.dts +++ b/target/linux/bmips/dts/bcm6328-comtrend-ar-5387un.dts @@ -170,6 +170,7 @@ label = "lan1"; phy-handle = <&phy1>; + phy-mode = "mii"; }; port@1 { @@ -177,6 +178,7 @@ label = "lan2"; phy-handle = <&phy2>; + phy-mode = "mii"; }; port@2 { @@ -184,6 +186,7 @@ label = "lan3"; phy-handle = <&phy3>; + phy-mode = "mii"; }; port@3 { @@ -191,6 +194,7 @@ label = "lan4"; phy-handle = <&phy4>; + phy-mode = "mii"; }; }; }; diff --git a/target/linux/bmips/dts/bcm6368-comtrend-vr-3025u.dts b/target/linux/bmips/dts/bcm6368-comtrend-vr-3025u.dts index 29d8dfd56e0..5f0565fa4c2 100644 --- a/target/linux/bmips/dts/bcm6368-comtrend-vr-3025u.dts +++ b/target/linux/bmips/dts/bcm6368-comtrend-vr-3025u.dts @@ -135,6 +135,7 @@ label = "lan1"; phy-handle = <&phy1>; + phy-mode = "mii"; }; port@1 { @@ -142,6 +143,7 @@ label = "lan2"; phy-handle = <&phy2>; + phy-mode = "mii"; }; port@2 { @@ -149,6 +151,7 @@ label = "lan3"; phy-handle = <&phy3>; + phy-mode = "mii"; }; port@3 { @@ -156,6 +159,7 @@ label = "lan4"; phy-handle = <&phy4>; + phy-mode = "mii"; }; }; }; From d679b15d31bd0b68dd88c3cf4d084cce02903627 Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Mon, 3 Apr 2023 00:52:52 +0200 Subject: [PATCH 09/18] mbedtls: Update to version 2.28.3 This only fixes minor problems. Changelog: https://github.com/Mbed-TLS/mbedtls/releases/tag/v2.28.3 The 100-fix-compile.patch patch was merged upstream, see: https://github.com/Mbed-TLS/mbedtls/issues/6243 https://github.com/Mbed-TLS/mbedtls/pull/7013 The code style of all files in mbedtls 2.28.3 was changed. I took a new version of the 100-x509-crt-verify-SAN-iPAddress.patch patch from this pull request: https://github.com/Mbed-TLS/mbedtls/pull/6475 Signed-off-by: Hauke Mehrtens --- package/libs/mbedtls/Makefile | 6 +- .../mbedtls/patches/100-fix-compile.patch | 22 --- .../100-x509-crt-verify-SAN-iPAddress.patch | 164 ++++++++++-------- 3 files changed, 93 insertions(+), 99 deletions(-) delete mode 100644 package/libs/mbedtls/patches/100-fix-compile.patch diff --git a/package/libs/mbedtls/Makefile b/package/libs/mbedtls/Makefile index f86d4891908..a6a7ac39e91 100644 --- a/package/libs/mbedtls/Makefile +++ b/package/libs/mbedtls/Makefile @@ -8,13 +8,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=mbedtls -PKG_VERSION:=2.28.2 -PKG_RELEASE:=2 +PKG_VERSION:=2.28.3 +PKG_RELEASE:=1 PKG_BUILD_FLAGS:=no-mips16 gc-sections no-lto PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/ARMmbed/mbedtls/tar.gz/v$(PKG_VERSION)? -PKG_HASH:=bc55232bf71fd66045122ba9050a29ea7cb2e8f99b064a9e6334a82f715881a0 +PKG_HASH:=bdf7c5bbdc338da3edad89b2885d4f8668f9a6fffeba6ec17a60333e36dade6f PKG_LICENSE:=GPL-2.0-or-later PKG_LICENSE_FILES:=gpl-2.0.txt diff --git a/package/libs/mbedtls/patches/100-fix-compile.patch b/package/libs/mbedtls/patches/100-fix-compile.patch deleted file mode 100644 index 411d3716994..00000000000 --- a/package/libs/mbedtls/patches/100-fix-compile.patch +++ /dev/null @@ -1,22 +0,0 @@ -Fix a compile problem introduced in commit 331c3421d1f0 ("Address review comments") - -Bug report: https://github.com/Mbed-TLS/mbedtls/issues/6243 - ---- a/programs/ssl/ssl_server2.c -+++ b/programs/ssl/ssl_server2.c -@@ -2529,7 +2529,6 @@ int main( int argc, char *argv[] ) - } - key_cert_init2 = 2; - #endif /* MBEDTLS_ECDSA_C */ -- } - - #if defined(MBEDTLS_USE_PSA_CRYPTO) - if( opt.key_opaque != 0 ) -@@ -2558,6 +2557,7 @@ int main( int argc, char *argv[] ) - } - #endif /* MBEDTLS_USE_PSA_CRYPTO */ - #endif /* MBEDTLS_CERTS_C */ -+ } - - mbedtls_printf( " ok (key types: %s - %s)\n", mbedtls_pk_get_name( &pkey ), mbedtls_pk_get_name( &pkey2 ) ); - #endif /* MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED */ diff --git a/package/libs/mbedtls/patches/100-x509-crt-verify-SAN-iPAddress.patch b/package/libs/mbedtls/patches/100-x509-crt-verify-SAN-iPAddress.patch index 357ec446491..c9802eac191 100644 --- a/package/libs/mbedtls/patches/100-x509-crt-verify-SAN-iPAddress.patch +++ b/package/libs/mbedtls/patches/100-x509-crt-verify-SAN-iPAddress.patch @@ -1,17 +1,17 @@ -From 272d48fe7a2ff00285d4ee166d3a9beca1d5122f Mon Sep 17 00:00:00 2001 +From eb9d4fdf1846e688d51d86a9a50f0312aca2af25 Mon Sep 17 00:00:00 2001 From: Glenn Strauss Date: Sun, 23 Oct 2022 19:48:18 -0400 -Subject: [PATCH 1/4] x509 crt verify SAN iPAddress +Subject: [PATCH] x509 crt verify SAN iPAddress Signed-off-by: Glenn Strauss --- include/mbedtls/x509_crt.h | 2 +- - library/x509_crt.c | 115 +++++++++++++++++++++++++++++-------- - 2 files changed, 93 insertions(+), 24 deletions(-) + library/x509_crt.c | 126 ++++++++++++++++++++++++++++++------- + 2 files changed, 103 insertions(+), 25 deletions(-) --- a/include/mbedtls/x509_crt.h +++ b/include/mbedtls/x509_crt.h -@@ -597,7 +597,7 @@ int mbedtls_x509_crt_verify_info( char * +@@ -608,7 +608,7 @@ int mbedtls_x509_crt_verify_info(char *b * \param cn The expected Common Name. This will be checked to be * present in the certificate's subjectAltNames extension or, * if this extension is absent, as a CN component in its @@ -22,12 +22,30 @@ Signed-off-by: Glenn Strauss * If the verification couldn't be completed, the flag value is --- a/library/x509_crt.c +++ b/library/x509_crt.c -@@ -2986,6 +2986,54 @@ find_parent: +@@ -57,6 +57,10 @@ + + #if defined(MBEDTLS_HAVE_TIME) + #if defined(_WIN32) && !defined(EFIX64) && !defined(EFI32) ++#define WIN32_LEAN_AND_MEAN ++#ifndef _WIN32_WINNT ++#define _WIN32_WINNT 0x0600 ++#endif + #include + #else + #include +@@ -2995,6 +2999,61 @@ find_parent: } } +#ifdef _WIN32 -+/* ??? */ ++#ifdef _MSC_VER ++#pragma comment(lib, "ws2_32.lib") ++#include ++#include ++#elif (defined(__MINGW32__) || defined(__MINGW64__)) && _WIN32_WINNT >= 0x0600 ++#include ++#include ++#endif +#elif defined(__sun) +/* Solaris requires -lsocket -lnsl for inet_pton() */ +#elif defined(__has_include) @@ -51,128 +69,126 @@ Signed-off-by: Glenn Strauss + * provided by headers included (or not) via __has_include() above. */ +#ifndef AF_INET6 + -+#define x509_cn_inet_pton( cn, dst ) ( 0 ) ++#define x509_cn_inet_pton(cn, dst) (0) + +#else + -+static int x509_inet_pton_ipv6( const char *src, void *dst ) ++static int x509_inet_pton_ipv6(const char *src, void *dst) +{ -+ return( inet_pton( AF_INET6, src, dst ) == 1 ? 0 : -1 ); ++ return inet_pton(AF_INET6, src, dst) == 1 ? 0 : -1; +} + -+static int x509_inet_pton_ipv4( const char *src, void *dst ) ++static int x509_inet_pton_ipv4(const char *src, void *dst) +{ -+ return( inet_pton( AF_INET, src, dst ) == 1 ? 0 : -1 ); ++ return inet_pton(AF_INET, src, dst) == 1 ? 0 : -1; +} + +#endif /* AF_INET6 */ + -+static size_t x509_cn_inet_pton( const char *cn, void *dst ) ++static size_t x509_cn_inet_pton(const char *cn, void *dst) +{ -+ return( strchr( cn, ':' ) == NULL -+ ? x509_inet_pton_ipv4( cn, dst ) == 0 ? 4 : 0 -+ : x509_inet_pton_ipv6( cn, dst ) == 0 ? 16 : 0 ); ++ return strchr(cn, ':') == NULL ++ ? x509_inet_pton_ipv4(cn, dst) == 0 ? 4 : 0 ++ : x509_inet_pton_ipv6(cn, dst) == 0 ? 16 : 0; +} + /* * Check for CN match */ -@@ -3008,23 +3056,51 @@ static int x509_crt_check_cn( const mbed - return( -1 ); +@@ -3015,24 +3074,51 @@ static int x509_crt_check_cn(const mbedt + return -1; } -+static int x509_crt_check_san_ip( const mbedtls_x509_sequence *san, -+ const char *cn, size_t cn_len ) ++static int x509_crt_check_san_ip(const mbedtls_x509_sequence *san, ++ const char *cn, size_t cn_len) +{ + uint32_t ip[4]; -+ cn_len = x509_cn_inet_pton( cn, ip ); -+ if( cn_len == 0 ) -+ return( -1 ); -+ -+ for( const mbedtls_x509_sequence *cur = san; cur != NULL; cur = cur->next ) -+ { -+ const unsigned char san_type = (unsigned char) cur->buf.tag & -+ MBEDTLS_ASN1_TAG_VALUE_MASK; -+ if( san_type == MBEDTLS_X509_SAN_IP_ADDRESS && -+ cur->buf.len == cn_len && memcmp( cur->buf.p, ip, cn_len ) == 0 ) -+ return( 0 ); ++ cn_len = x509_cn_inet_pton(cn, ip); ++ if (cn_len == 0) { ++ return -1; + } + -+ return( -1 ); ++ for (const mbedtls_x509_sequence *cur = san; cur != NULL; cur = cur->next) { ++ const unsigned char san_type = (unsigned char) cur->buf.tag & ++ MBEDTLS_ASN1_TAG_VALUE_MASK; ++ if (san_type == MBEDTLS_X509_SAN_IP_ADDRESS && ++ cur->buf.len == cn_len && memcmp(cur->buf.p, ip, cn_len) == 0) { ++ return 0; ++ } ++ } ++ ++ return -1; +} + /* * Check for SAN match, see RFC 5280 Section 4.2.1.6 */ --static int x509_crt_check_san( const mbedtls_x509_buf *name, -+static int x509_crt_check_san( const mbedtls_x509_sequence *san, - const char *cn, size_t cn_len ) +-static int x509_crt_check_san(const mbedtls_x509_buf *name, ++static int x509_crt_check_san(const mbedtls_x509_sequence *san, + const char *cn, size_t cn_len) { - const unsigned char san_type = (unsigned char) name->tag & - MBEDTLS_ASN1_TAG_VALUE_MASK; - - /* dNSName */ -- if( san_type == MBEDTLS_X509_SAN_DNS_NAME ) -- return( x509_crt_check_cn( name, cn, cn_len ) ); -- -- /* (We may handle other types here later.) */ +- if (san_type == MBEDTLS_X509_SAN_DNS_NAME) { +- return x509_crt_check_cn(name, cn, cn_len); + int san_ip = 0; -+ for( const mbedtls_x509_sequence *cur = san; cur != NULL; cur = cur->next ) -+ { -+ switch( (unsigned char) cur->buf.tag & MBEDTLS_ASN1_TAG_VALUE_MASK ) -+ { -+ case MBEDTLS_X509_SAN_DNS_NAME: /* dNSName */ -+ if( x509_crt_check_cn( &cur->buf, cn, cn_len ) == 0 ) -+ return( 0 ); -+ break; -+ case MBEDTLS_X509_SAN_IP_ADDRESS: /* iPAddress */ -+ san_ip = 1; -+ break; -+ /* (We may handle other types here later.) */ -+ default: /* Unrecognized type */ -+ break; ++ for (const mbedtls_x509_sequence *cur = san; cur != NULL; cur = cur->next) { ++ switch ((unsigned char) cur->buf.tag & MBEDTLS_ASN1_TAG_VALUE_MASK) { ++ case MBEDTLS_X509_SAN_DNS_NAME: /* dNSName */ ++ if (x509_crt_check_cn(&cur->buf, cn, cn_len) == 0) { ++ return 0; ++ } ++ break; ++ case MBEDTLS_X509_SAN_IP_ADDRESS: /* iPAddress */ ++ san_ip = 1; ++ break; ++ /* (We may handle other types here later.) */ ++ default: /* Unrecognized type */ ++ break; + } -+ } + } +- /* (We may handle other types here later.) */ +- - /* Unrecognized type */ -- return( -1 ); -+ return( san_ip ? x509_crt_check_san_ip( san, cn, cn_len ) : -1 ); +- return -1; ++ return san_ip ? x509_crt_check_san_ip(san, cn, cn_len) : -1; } /* -@@ -3035,19 +3111,12 @@ static void x509_crt_verify_name( const - uint32_t *flags ) +@@ -3043,31 +3129,23 @@ static void x509_crt_verify_name(const m + uint32_t *flags) { const mbedtls_x509_name *name; - const mbedtls_x509_sequence *cur; - size_t cn_len = strlen( cn ); + size_t cn_len = strlen(cn); - if( crt->ext_types & MBEDTLS_X509_EXT_SUBJECT_ALT_NAME ) - { -- for( cur = &crt->subject_alt_names; cur != NULL; cur = cur->next ) -- { -- if( x509_crt_check_san( &cur->buf, cn, cn_len ) == 0 ) + if (crt->ext_types & MBEDTLS_X509_EXT_SUBJECT_ALT_NAME) { +- for (cur = &crt->subject_alt_names; cur != NULL; cur = cur->next) { +- if (x509_crt_check_san(&cur->buf, cn, cn_len) == 0) { - break; +- } - } - -- if( cur == NULL ) +- if (cur == NULL) { - *flags |= MBEDTLS_X509_BADCERT_CN_MISMATCH; -+ if( x509_crt_check_san( &crt->subject_alt_names, cn, cn_len ) == 0 ) ++ if (x509_crt_check_san(&crt->subject_alt_names, cn, cn_len) == 0) { + return; - } - else - { -@@ -3056,13 +3125,13 @@ static void x509_crt_verify_name( const - if( MBEDTLS_OID_CMP( MBEDTLS_OID_AT_CN, &name->oid ) == 0 && - x509_crt_check_cn( &name->val, cn, cn_len ) == 0 ) - { + } + } else { + for (name = &crt->subject; name != NULL; name = name->next) { + if (MBEDTLS_OID_CMP(MBEDTLS_OID_AT_CN, &name->oid) == 0 && + x509_crt_check_cn(&name->val, cn, cn_len) == 0) { - break; + return; } } -- if( name == NULL ) +- if (name == NULL) { - *flags |= MBEDTLS_X509_BADCERT_CN_MISMATCH; +- } } + + *flags |= MBEDTLS_X509_BADCERT_CN_MISMATCH; From 21d02e598a0bf209cebc1c5b8f3e433913329107 Mon Sep 17 00:00:00 2001 From: Arturas Moskvinas Date: Sat, 8 Apr 2023 23:12:13 +0300 Subject: [PATCH 10/18] uboot-sunxi: update support for FriendlyARM ZeroPI Since commit torvalds/linux@bbc4d71 ("net: phy: realtek: fix rtl8211e rx/tx delay config") network is broken on the FriendlyELEC(ARM) ZeroPi. Replaces custom patches with upstream uboot patch: https://source.denx.de/u-boot/u-boot/-/commit/2527b24f39d8f27ba2fd922ca27a1f14119cfa1b Signed-off-by: Arturas Moskvinas --- .../250-sun8i-h3-add-support-for-zeropi.patch | 148 ++++++++++++++++++ .../250-sun8i-h3-zeropi-add-device-tree.patch | 81 ---------- .../251-sun8i-h3-zeropi-add-defconfig.patch | 24 --- 3 files changed, 148 insertions(+), 105 deletions(-) create mode 100644 package/boot/uboot-sunxi/patches/250-sun8i-h3-add-support-for-zeropi.patch delete mode 100644 package/boot/uboot-sunxi/patches/250-sun8i-h3-zeropi-add-device-tree.patch delete mode 100644 package/boot/uboot-sunxi/patches/251-sun8i-h3-zeropi-add-defconfig.patch diff --git a/package/boot/uboot-sunxi/patches/250-sun8i-h3-add-support-for-zeropi.patch b/package/boot/uboot-sunxi/patches/250-sun8i-h3-add-support-for-zeropi.patch new file mode 100644 index 00000000000..838d90a7b00 --- /dev/null +++ b/package/boot/uboot-sunxi/patches/250-sun8i-h3-add-support-for-zeropi.patch @@ -0,0 +1,148 @@ +From 2527b24f39d8f27ba2fd922ca27a1f14119cfa1b Mon Sep 17 00:00:00 2001 +From: Yu-Tung Chang +Date: Sat, 19 Jun 2021 16:16:45 +0800 +Subject: [PATCH] sunxi: h3: Add initial ZeroPi support + +ZeroPi is a new board of high performance with low cost +designed by FriendlyElec., using the Allwinner H3 SOC. + +ZeroPi features +- Allwinner H3, Quad-core Cortex-A7@1.2GHz +- 256MB/512MB DDR3 RAM +- microsd slot +- 10/100/1000Mbps Ethernet +- Debug Serial Port +- DC 5V/2A power-supply + +Signed-off-by: Yu-Tung Chang +Reviewed-by: Andre Przywara +Signed-off-by: Andre Przywara +--- +--- a/arch/arm/dts/Makefile ++++ b/arch/arm/dts/Makefile +@@ -560,7 +560,8 @@ dtb-$(CONFIG_MACH_SUN8I_H3) += \ + sun8i-h3-orangepi-plus.dtb \ + sun8i-h3-orangepi-plus2e.dtb \ + sun8i-h3-orangepi-zero-plus2.dtb \ +- sun8i-h3-rervision-dvk.dtb ++ sun8i-h3-rervision-dvk.dtb \ ++ sun8i-h3-zeropi.dtb + dtb-$(CONFIG_MACH_SUN8I_R40) += \ + sun8i-r40-bananapi-m2-ultra.dtb \ + sun8i-v40-bananapi-m2-berry.dtb +--- /dev/null ++++ b/arch/arm/dts/sun8i-h3-zeropi.dts +@@ -0,0 +1,85 @@ ++/* ++ * Copyright (C) 2020 Yu-Tung Chang ++ * ++ * 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 free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Public License as ++ * published by the Free Software Foundation; either version 2 of the ++ * License, or (at your option) any later version. ++ * ++ * This file is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * 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. ++ */ ++ ++#include "sun8i-h3-nanopi.dtsi" ++ ++/ { ++ model = "FriendlyARM ZeroPi"; ++ compatible = "friendlyarm,zeropi", "allwinner,sun8i-h3"; ++ ++ aliases { ++ ethernet0 = &emac; ++ }; ++ ++ reg_gmac_3v3: gmac-3v3 { ++ compatible = "regulator-fixed"; ++ regulator-name = "gmac-3v3"; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ startup-delay-us = <100000>; ++ enable-active-high; ++ gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>; /* PD6 */ ++ }; ++}; ++ ++&external_mdio { ++ ext_rgmii_phy: ethernet-phy@7 { ++ compatible = "ethernet-phy-ieee802.3-c22"; ++ reg = <7>; ++ }; ++}; ++ ++&emac { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&emac_rgmii_pins>; ++ phy-supply = <®_gmac_3v3>; ++ phy-handle = <&ext_rgmii_phy>; ++ phy-mode = "rgmii-id"; ++ ++ allwinner,leds-active-low; ++ status = "okay"; ++}; ++ ++&usb_otg { ++ status = "okay"; ++ dr_mode = "host"; ++}; +--- a/board/sunxi/MAINTAINERS ++++ b/board/sunxi/MAINTAINERS +@@ -508,3 +508,9 @@ YONES TOPTECH BS1078 V2 BOARD + M: Peter Korsgaard + S: Maintained + F: configs/Yones_Toptech_BS1078_V2_defconfig ++ ++ZEROPI BOARD ++M: Yu-Tung Chang ++S: Maintained ++F: configs/zeropi_defconfig ++F: arch/arm/dts/sun8i-h3-zeropi.dts +--- /dev/null ++++ b/configs/zeropi_defconfig +@@ -0,0 +1,13 @@ ++CONFIG_ARM=y ++CONFIG_ARCH_SUNXI=y ++CONFIG_DEFAULT_DEVICE_TREE="sun8i-h3-zeropi" ++CONFIG_SPL=y ++CONFIG_MACH_SUN8I_H3=y ++CONFIG_DRAM_CLK=408 ++CONFIG_MACPWR="PD6" ++# CONFIG_VIDEO_DE2 is not set ++# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set ++CONFIG_CONSOLE_MUX=y ++CONFIG_SUN8I_EMAC=y ++CONFIG_USB_EHCI_HCD=y ++CONFIG_USB_OHCI_HCD=y diff --git a/package/boot/uboot-sunxi/patches/250-sun8i-h3-zeropi-add-device-tree.patch b/package/boot/uboot-sunxi/patches/250-sun8i-h3-zeropi-add-device-tree.patch deleted file mode 100644 index 152e6089516..00000000000 --- a/package/boot/uboot-sunxi/patches/250-sun8i-h3-zeropi-add-device-tree.patch +++ /dev/null @@ -1,81 +0,0 @@ ---- a/arch/arm/dts/Makefile -+++ b/arch/arm/dts/Makefile -@@ -559,7 +559,8 @@ dtb-$(CONFIG_MACH_SUN8I_H3) += \ - sun8i-h3-orangepi-plus.dtb \ - sun8i-h3-orangepi-plus2e.dtb \ - sun8i-h3-orangepi-zero-plus2.dtb \ -- sun8i-h3-rervision-dvk.dtb -+ sun8i-h3-rervision-dvk.dtb \ -+ sun8i-h3-zeropi.dtb - dtb-$(CONFIG_MACH_SUN8I_R40) += \ - sun8i-r40-bananapi-m2-ultra.dtb \ - sun8i-v40-bananapi-m2-berry.dtb ---- /dev/null -+++ b/arch/arm/dts/sun8i-h3-zeropi.dts -@@ -0,0 +1,66 @@ -+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT -+ -+#include "sun8i-h3-nanopi.dtsi" -+ -+/ { -+ model = "FriendlyElec ZeroPi"; -+ compatible = "friendlyarm,zeropi", "allwinner,sun8i-h3"; -+ -+ aliases { -+ ethernet0 = &emac; -+ }; -+ -+ reg_gmac_3v3: gmac-3v3 { -+ compatible = "regulator-fixed"; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&gmac_power_pin_nanopi>; -+ regulator-name = "gmac-3v3"; -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ startup-delay-us = <100000>; -+ enable-active-high; -+ gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>; -+ }; -+}; -+ -+&ehci0 { -+ status = "okay"; -+}; -+ -+&ohci0 { -+ status = "okay"; -+}; -+ -+&pio { -+ gmac_power_pin_nanopi: gmac_power_pin@0 { -+ pins = "PD6"; -+ function = "gpio_out"; -+ }; -+}; -+ -+&external_mdio { -+ ext_rgmii_phy: ethernet-phy@1 { -+ compatible = "ethernet-phy-ieee802.3-c22"; -+ reg = <7>; -+ }; -+}; -+ -+&emac { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&emac_rgmii_pins>; -+ phy-supply = <®_gmac_3v3>; -+ phy-handle = <&ext_rgmii_phy>; -+ phy-mode = "rgmii"; -+ -+ allwinner,leds-active-low; -+ status = "okay"; -+}; -+ -+&usb_otg { -+ status = "okay"; -+ dr_mode = "peripheral"; -+}; -+ -+&usbphy { -+ usb0_id_det-gpios = <&pio 6 12 GPIO_ACTIVE_HIGH>; /* PG12 */ -+}; diff --git a/package/boot/uboot-sunxi/patches/251-sun8i-h3-zeropi-add-defconfig.patch b/package/boot/uboot-sunxi/patches/251-sun8i-h3-zeropi-add-defconfig.patch deleted file mode 100644 index 76e333298ef..00000000000 --- a/package/boot/uboot-sunxi/patches/251-sun8i-h3-zeropi-add-defconfig.patch +++ /dev/null @@ -1,24 +0,0 @@ ---- /dev/null -+++ b/configs/zeropi_defconfig -@@ -0,0 +1,21 @@ -+CONFIG_ARM=y -+CONFIG_ARCH_SUNXI=y -+CONFIG_MACH_SUN8I_H3=y -+CONFIG_DRAM_CLK=408 -+CONFIG_DRAM_ZQ=3881979 -+CONFIG_DRAM_ODT_EN=y -+CONFIG_MACPWR="PD6" -+# CONFIG_VIDEO_DE2 is not set -+CONFIG_NR_DRAM_BANKS=1 -+CONFIG_DEFAULT_DEVICE_TREE="sun8i-h3-zeropi" -+# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set -+CONFIG_CONSOLE_MUX=y -+CONFIG_SPL=y -+CONFIG_SYS_CLK_FREQ=480000000 -+# CONFIG_CMD_IMLS is not set -+# CONFIG_CMD_FLASH is not set -+# CONFIG_CMD_FPGA is not set -+CONFIG_SUN8I_EMAC=y -+CONFIG_USB_EHCI_HCD=y -+CONFIG_USB_EHCI_HCD=y -+CONFIG_SYS_USB_EVENT_POLL_VIA_INT_QUEUE=y From d10503060bdf21f09677f5f27b8065da2856930a Mon Sep 17 00:00:00 2001 From: Paul Spooren Date: Wed, 22 Feb 2023 19:52:13 +0100 Subject: [PATCH 11/18] bcm4908: switch to Kernel 5.15 by default MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Getting ready for the next release. Signed-off-by: Paul Spooren [rmilecki: tested on GT-AC5300: boot, sysupgrade & 940 Mbps NAT] Signed-off-by: Rafał Miłecki --- target/linux/bcm4908/Makefile | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/target/linux/bcm4908/Makefile b/target/linux/bcm4908/Makefile index 943aeb58a3d..2d848b50c69 100644 --- a/target/linux/bcm4908/Makefile +++ b/target/linux/bcm4908/Makefile @@ -9,8 +9,7 @@ FEATURES:=squashfs nand usb gpio CPU_TYPE:=cortex-a53 SUBTARGETS:=generic -KERNEL_PATCHVER:=5.10 -KERNEL_TESTING_PATCHVER:=5.15 +KERNEL_PATCHVER:=5.15 define Target/Description Build firmware images for Broadcom BCM4908 SoC family routers. From 9cbc83726e3dc2d7cdc603030d0a63e4bc3f18ff Mon Sep 17 00:00:00 2001 From: Paul Spooren Date: Wed, 22 Feb 2023 19:48:25 +0100 Subject: [PATCH 12/18] bcm53xx: switch to Kernel 5.15 by default MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Getting ready for the next release. Signed-off-by: Paul Spooren Tested-by: Rafał Miłecki --- target/linux/bcm53xx/Makefile | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/target/linux/bcm53xx/Makefile b/target/linux/bcm53xx/Makefile index 605baeac354..49d179c34c0 100644 --- a/target/linux/bcm53xx/Makefile +++ b/target/linux/bcm53xx/Makefile @@ -11,8 +11,7 @@ FEATURES:=squashfs nand usb pci pcie gpio pwm CPU_TYPE:=cortex-a9 SUBTARGETS:=generic -KERNEL_PATCHVER:=5.10 -KERNEL_TESTING_PATCHVER:=5.15 +KERNEL_PATCHVER:=5.15 define Target/Description Build firmware images for Broadcom based BCM47xx/53xx routers with ARM CPU, *not* MIPS. From 65f8089b7ada050c876064957db949c931b76358 Mon Sep 17 00:00:00 2001 From: Michael Trinidad Date: Sat, 1 Apr 2023 15:04:02 -0400 Subject: [PATCH 13/18] kirkwood: fix Linksys upgrade, restore config step It appears that the refactor of the upgrade process for NAND devices resulted in the nand_do_upgrade_success step not being called for devices using the linksys.sh script. As a result, configuration was not preserved over sysupgrade steps. This restores the preservation of configs for kirkwood devices using the linksys.sh script. Fixes: e25e6d8e5407 ("base-files: fix and clean up nand sysupgrade code") Fixes: #12298 Signed-off-by: Michael Trinidad --- target/linux/kirkwood/base-files/lib/upgrade/linksys.sh | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/target/linux/kirkwood/base-files/lib/upgrade/linksys.sh b/target/linux/kirkwood/base-files/lib/upgrade/linksys.sh index 9067f00e1a8..207a65d7132 100644 --- a/target/linux/kirkwood/base-files/lib/upgrade/linksys.sh +++ b/target/linux/kirkwood/base-files/lib/upgrade/linksys.sh @@ -68,7 +68,12 @@ platform_do_upgrade_linksys() { CI_UBIPART="rootfs2" fi - nand_upgrade_tar "$1" + if nand_upgrade_tar "$1" ; then + nand_do_upgrade_success + else + nand_do_upgrade_failed + fi + } [ "$magic_long" = "27051956" ] && { get_image "$1" | mtd write - $part_label From d1c1e10e89f144a850fd09743e268b499e9f2b2a Mon Sep 17 00:00:00 2001 From: Michael Trinidad Date: Fri, 7 Apr 2023 09:02:37 -0400 Subject: [PATCH 14/18] mvebu: cortexa9: fix Linksys upgrade, restore config step It appears that the refactor of the upgrade process for NAND devices resulted in the nand_do_upgrade_success step not being called for devices using the linksys.sh script. As a result, configuration was not preserved over sysupgrade steps. This restores the preservation of configs for mvebu/cortexa9 devices using the linksys.sh script. Fixes: e25e6d8e5407 ("base-files: fix and clean up nand sysupgrade code") Signed-off-by: Michael Trinidad --- .../linux/mvebu/cortexa9/base-files/lib/upgrade/linksys.sh | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/target/linux/mvebu/cortexa9/base-files/lib/upgrade/linksys.sh b/target/linux/mvebu/cortexa9/base-files/lib/upgrade/linksys.sh index 1a23a9bbc25..d4222a3f31b 100644 --- a/target/linux/mvebu/cortexa9/base-files/lib/upgrade/linksys.sh +++ b/target/linux/mvebu/cortexa9/base-files/lib/upgrade/linksys.sh @@ -68,7 +68,12 @@ platform_do_upgrade_linksys() { CI_UBIPART="rootfs2" fi - nand_upgrade_tar "$1" + if nand_upgrade_tar "$1" ; then + nand_do_upgrade_success + else + nand_do_upgrade_failed + fi + } [ "$magic_long" = "27051956" -o "$magic_long" = "0000a0e1" ] && { get_image "$1" | mtd write - $part_label From ff91a12c8db4e09105d06448a8114bd52ae17425 Mon Sep 17 00:00:00 2001 From: Michael Trinidad Date: Fri, 7 Apr 2023 09:10:29 -0400 Subject: [PATCH 15/18] base-files: fix Linksys upgrade, restore config step It appears that the refactor of the upgrade process for NAND devices resulted in the nand_do_upgrade_success step not being called for devices using the linksys.sh script. As a result, configuration was not preserved over sysupgrade steps. This corrects a typo in the call of nand_do_upgrade_failed for ipq40xx and ipq806x devices using the linksys.sh script. Fixes: 8634c1080d50 ("ipq40xx: Fix Linksys upgrade, restore config step") Fixes: 2715aff5df83 ("ipq806x: Fix Linksys upgrade, restore config step") Signed-off-by: Michael Trinidad --- target/linux/ipq40xx/base-files/lib/upgrade/linksys.sh | 2 +- target/linux/ipq806x/base-files/lib/upgrade/linksys.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/target/linux/ipq40xx/base-files/lib/upgrade/linksys.sh b/target/linux/ipq40xx/base-files/lib/upgrade/linksys.sh index 696f653eb9e..18366fc622a 100644 --- a/target/linux/ipq40xx/base-files/lib/upgrade/linksys.sh +++ b/target/linux/ipq40xx/base-files/lib/upgrade/linksys.sh @@ -103,7 +103,7 @@ platform_do_upgrade_linksys() { if nand_upgrade_tar "$1" ; then nand_do_upgrade_success else - nand_do_upgrade_failure + nand_do_upgrade_failed fi } diff --git a/target/linux/ipq806x/base-files/lib/upgrade/linksys.sh b/target/linux/ipq806x/base-files/lib/upgrade/linksys.sh index b0ad1b43be6..21d22c6f1bc 100644 --- a/target/linux/ipq806x/base-files/lib/upgrade/linksys.sh +++ b/target/linux/ipq806x/base-files/lib/upgrade/linksys.sh @@ -97,7 +97,7 @@ platform_do_upgrade_linksys() { if nand_upgrade_tar "$1" ; then nand_do_upgrade_success else - nand_do_upgrade_failure + nand_do_upgrade_failed fi } From c798adad6b439e5144a67884c67f9f56acc5cf4c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= Date: Mon, 10 Apr 2023 19:01:35 +0200 Subject: [PATCH 16/18] base-files: fix nand_upgrade_ubinized() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When using "ubiformat" with stdin it requires passing image size using the -S argument. Provide it just like we do for "ubiupdatevol". This fixes: ubiformat: error!: must use '-S' with non-zero value when reading from stdin This change fixes sysupgrade for bcm53xx and bcm4908 NAND devices possibly some other targets too. Cc: Rodrigo Balerdi Cc: Daniel Golle Fixes: 971071212052 ("base-files: accept gzipped nand sysupgrade images") Signed-off-by: Rafał Miłecki Acked-by: Daniel Golle Tested-by: Koen Vandeputte --- package/base-files/files/lib/upgrade/nand.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/package/base-files/files/lib/upgrade/nand.sh b/package/base-files/files/lib/upgrade/nand.sh index 907945b349b..fa29d575a81 100644 --- a/package/base-files/files/lib/upgrade/nand.sh +++ b/package/base-files/files/lib/upgrade/nand.sh @@ -261,10 +261,12 @@ nand_upgrade_ubinized() { local ubi_file="$1" local gz="$2" + local ubi_length=$( (${gz}cat "$ubi_file" | wc -c) 2> /dev/null) + nand_detach_ubi "$CI_UBIPART" || return 1 local mtdnum="$( find_mtd_index "$CI_UBIPART" )" - ${gz}cat "$ubi_file" | ubiformat "/dev/mtd$mtdnum" -y -f - && ubiattach -m "$mtdnum" + ${gz}cat "$ubi_file" | ubiformat "/dev/mtd$mtdnum" -S "$ubi_length" -y -f - && ubiattach -m "$mtdnum" } # Write the UBIFS image to UBI rootfs volume From fea4ffdef28ffdb13b5a4e94506a976cb6271649 Mon Sep 17 00:00:00 2001 From: Nick Hainke Date: Sun, 9 Apr 2023 11:17:43 +0200 Subject: [PATCH 17/18] uboot-envtools: update to 2023.04 Update to latest version. Signed-off-by: Nick Hainke --- package/boot/uboot-envtools/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package/boot/uboot-envtools/Makefile b/package/boot/uboot-envtools/Makefile index 9ed39cbf551..2e4c1ac39e3 100644 --- a/package/boot/uboot-envtools/Makefile +++ b/package/boot/uboot-envtools/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=uboot-envtools PKG_DISTNAME:=u-boot -PKG_VERSION:=2023.01 +PKG_VERSION:=2023.04 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_DISTNAME)-$(PKG_VERSION).tar.bz2 @@ -17,7 +17,7 @@ PKG_SOURCE_URL:= \ https://ftp.denx.de/pub/u-boot \ https://mirror.cyberbits.eu/u-boot \ ftp://ftp.denx.de/pub/u-boot -PKG_HASH:=69423bad380f89a0916636e89e6dcbd2e4512d584308d922d1039d1e4331950f +PKG_HASH:=e31cac91545ff41b71cec5d8c22afd695645cd6e2a442ccdacacd60534069341 PKG_SOURCE_SUBDIR:=$(PKG_DISTNAME)-$(PKG_VERSION) PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_DISTNAME)-$(PKG_VERSION) From cd8c698f78980356d8fd2408e54f0c1c1d04c349 Mon Sep 17 00:00:00 2001 From: Nick Hainke Date: Sun, 9 Apr 2023 11:26:20 +0200 Subject: [PATCH 18/18] tools/mkimage: update to 2023.04 Update to latest version. Signed-off-by: Nick Hainke --- tools/mkimage/Makefile | 4 ++-- .../patches/030-allow-to-use-different-magic.patch | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/tools/mkimage/Makefile b/tools/mkimage/Makefile index 022ac219749..a6d54f5eff2 100644 --- a/tools/mkimage/Makefile +++ b/tools/mkimage/Makefile @@ -7,14 +7,14 @@ include $(TOPDIR)/rules.mk PKG_NAME:=mkimage -PKG_VERSION:=2023.01 +PKG_VERSION:=2023.04 PKG_SOURCE:=u-boot-$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL:= \ https://mirror.cyberbits.eu/u-boot \ https://ftp.denx.de/pub/u-boot \ ftp://ftp.denx.de/pub/u-boot -PKG_HASH:=69423bad380f89a0916636e89e6dcbd2e4512d584308d922d1039d1e4331950f +PKG_HASH:=e31cac91545ff41b71cec5d8c22afd695645cd6e2a442ccdacacd60534069341 HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/u-boot-$(PKG_VERSION) diff --git a/tools/mkimage/patches/030-allow-to-use-different-magic.patch b/tools/mkimage/patches/030-allow-to-use-different-magic.patch index d88f1cf9496..c33b0f4327a 100644 --- a/tools/mkimage/patches/030-allow-to-use-different-magic.patch +++ b/tools/mkimage/patches/030-allow-to-use-different-magic.patch @@ -33,7 +33,7 @@ This patch makes it possible to set a custom image magic. static const struct option longopts[] = { { "load-address", required_argument, NULL, 'a' }, -@@ -298,6 +300,14 @@ static void process_args(int argc, char +@@ -302,6 +304,14 @@ static void process_args(int argc, char case 'l': params.lflag = 1; break; @@ -50,7 +50,7 @@ This patch makes it possible to set a custom image magic. break; --- a/tools/default_image.c +++ b/tools/default_image.c -@@ -56,7 +56,7 @@ static int image_verify_header(unsigned +@@ -63,7 +63,7 @@ static int image_verify_header(unsigned */ memcpy(hdr, ptr, sizeof(struct legacy_img_hdr)); @@ -59,7 +59,7 @@ This patch makes it possible to set a custom image magic. debug("%s: Bad Magic Number: \"%s\" is no valid image\n", params->cmdname, params->imagefile); return -FDT_ERR_BADMAGIC; -@@ -119,7 +119,7 @@ static void image_set_header(void *ptr, +@@ -142,7 +142,7 @@ static void image_set_header(void *ptr, } /* Build new header */ @@ -70,7 +70,7 @@ This patch makes it possible to set a custom image magic. image_set_load(hdr, addr); --- a/tools/imagetool.h +++ b/tools/imagetool.h -@@ -59,6 +59,7 @@ struct image_tool_params { +@@ -67,6 +67,7 @@ struct image_tool_params { int arch; int type; int comp;