From 92feae64eb8d3a315fb0aa311b3fac9818a51505 Mon Sep 17 00:00:00 2001 From: Olliver Schinagl Date: Tue, 17 Jan 2023 20:54:05 +0100 Subject: [PATCH 01/14] tools: Improve diffability/maintainability Like with commit ae614fb397c2 ("tools: Improve diffability/maintainability") we also want tools-core to be easy to maintain. While a smaller target, it's still usefull and makes things nice and consistent. To avoid duplicating any tools in the comment, simplify the comment instead. Signed-off-by: Olliver Schinagl --- tools/Makefile | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tools/Makefile b/tools/Makefile index a8044dcf1fe..7ca874aa91d 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -147,8 +147,10 @@ $(foreach tool, $(tools-y), $(if $(wildcard $(curdir)/$(tool)/patches),$(eval $( $(foreach tool, $(filter-out xz,$(tools-y)), $(eval $(curdir)/$(tool)/compile += $(curdir)/xz/compile)) -# make any tool depend on tar, xz and patch to ensure that archives can be unpacked and patched properly -tools-core := tar xz patch +# make any tool depend on the following to ensure that archives can be unpacked and patched properly +tools-core += patch +tools-core += tar +tools-core += xz $(foreach tool, $(tools-y), $(eval $(curdir)/$(tool)/compile += $(patsubst %,$(curdir)/%/compile,$(tools-core)))) tools-y += $(tools-core) From 9a59bf35281a89e2a783127f16647d4fc07fcf7a Mon Sep 17 00:00:00 2001 From: Olliver Schinagl Date: Sun, 15 Jan 2023 15:28:59 +0100 Subject: [PATCH 02/14] libdeflate: Update to v1.17 The new version of libdeflate makes it a little easier to build it without any build system. Signed-off-by: Olliver Schinagl --- tools/libdeflate/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/libdeflate/Makefile b/tools/libdeflate/Makefile index d30a8ca674f..53137e2dabc 100644 --- a/tools/libdeflate/Makefile +++ b/tools/libdeflate/Makefile @@ -7,13 +7,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=libdeflate -PKG_VERSION:=1.15 +PKG_VERSION:=1.17 PKG_RELEASE:=1 PKG_SOURCE_URL:=https://github.com/ebiggers/libdeflate.git PKG_SOURCE_PROTO:=git PKG_SOURCE_VERSION:=v$(PKG_VERSION) -PKG_MIRROR_HASH:=122feff4543541b547dc89e832adf262c81911ae1acbccdc591f0353a85b600a +PKG_MIRROR_HASH:=ee5790cf3140aa6a2e0f0c400d4b32539f13cb270e9357135c51927ba3784dc7 include $(INCLUDE_DIR)/host-build.mk include $(INCLUDE_DIR)/cmake.mk @@ -23,7 +23,7 @@ define Host/Install $(LN) libdeflate-gzip $(STAGING_DIR_HOST)/bin/libdeflate-gunzip endef -define Host/Clean +define Host/Uninstall rm -f $(STAGING_DIR_HOST)/bin/libdeflate-gzip rm -f $(STAGING_DIR_HOST)/bin/libdeflate-gunzip endef From 62e150949fc01ae2327207fa98fae9c5cff6035c Mon Sep 17 00:00:00 2001 From: Olliver Schinagl Date: Fri, 13 Jan 2023 10:50:30 +0100 Subject: [PATCH 03/14] libdeflate: Avoid circular dependencies CMake depends on (libdeflate-)gunzip, libdeflate depends on Cmake, so we can't win. Luckily libdeflate is _very_ easy to build, without any build system, so lets just manually compile it and be done with it. Signed-off-by: Olliver Schinagl Signed-off-by: Rosen Penev --- tools/Makefile | 3 +-- tools/libdeflate/Makefile | 17 ++++++++++++----- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/tools/Makefile b/tools/Makefile index 7ca874aa91d..7b3a8eb1425 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -42,7 +42,6 @@ tools-y += findutils tools-y += firmware-utils tools-y += flex tools-y += gengetopt -tools-y += libdeflate tools-y += libressl tools-y += libtool tools-y += lzma @@ -98,7 +97,6 @@ $(curdir)/genext2fs/compile := $(curdir)/libtool/compile $(curdir)/gengetopt/compile := $(curdir)/libtool/compile $(curdir)/gmp/compile := $(curdir)/libtool/compile $(curdir)/isl/compile := $(curdir)/gmp/compile -$(curdir)/libdeflate/compile := $(curdir)/cmake/compile $(curdir)/liblzo/compile := $(curdir)/cmake/compile $(curdir)/libressl/compile := $(curdir)/pkgconf/compile $(curdir)/libtool/compile := $(curdir)/automake/compile $(curdir)/missing-macros/compile @@ -148,6 +146,7 @@ $(foreach tool, $(tools-y), $(if $(wildcard $(curdir)/$(tool)/patches),$(eval $( $(foreach tool, $(filter-out xz,$(tools-y)), $(eval $(curdir)/$(tool)/compile += $(curdir)/xz/compile)) # make any tool depend on the following to ensure that archives can be unpacked and patched properly +tools-core += libdeflate tools-core += patch tools-core += tar tools-core += xz diff --git a/tools/libdeflate/Makefile b/tools/libdeflate/Makefile index 53137e2dabc..53a674440a8 100644 --- a/tools/libdeflate/Makefile +++ b/tools/libdeflate/Makefile @@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=libdeflate PKG_VERSION:=1.17 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE_URL:=https://github.com/ebiggers/libdeflate.git PKG_SOURCE_PROTO:=git @@ -16,16 +16,23 @@ PKG_SOURCE_VERSION:=v$(PKG_VERSION) PKG_MIRROR_HASH:=ee5790cf3140aa6a2e0f0c400d4b32539f13cb270e9357135c51927ba3784dc7 include $(INCLUDE_DIR)/host-build.mk -include $(INCLUDE_DIR)/cmake.mk + +define Host/Compile + $(HOSTCC_NOCACHE) $(HOST_CFLAGS) $(HOST_LDFLAGS) \ + $(HOST_BUILD_DIR)/lib/*{,/*}.c \ + $(HOST_BUILD_DIR)/programs/{gzip,prog_util,tgetopt}.c \ + -o $(HOST_BUILD_DIR)/libdeflate-gzip +endef define Host/Install - $(INSTALL_BIN) $(HOST_BUILD_DIR)/programs/libdeflate-gzip $(STAGING_DIR_HOST)/bin/ + $(INSTALL_BIN) $(HOST_BUILD_DIR)/libdeflate-gzip $(STAGING_DIR_HOST)/bin/ $(LN) libdeflate-gzip $(STAGING_DIR_HOST)/bin/libdeflate-gunzip endef define Host/Uninstall - rm -f $(STAGING_DIR_HOST)/bin/libdeflate-gzip - rm -f $(STAGING_DIR_HOST)/bin/libdeflate-gunzip + $(RM) $(STAGING_DIR_HOST)/bin/libdeflate-gzip + $(RM) $(STAGING_DIR_HOST)/bin/libdeflate-gunzip + $(call Host/Uninstall/Default) endef $(eval $(call HostBuild)) From 11ad0c83554954a7f820238cd94d51a124581fc7 Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Sat, 7 Jan 2023 00:18:34 -0800 Subject: [PATCH 04/14] include: use libdeflate's gzip to decompress libdeflate decompresses much faster than gzip. Example: ~/d/openwrt> time gzip -dc dl/cmake-3.25.1.tar.gz > /dev/null ________________________________________________________ Executed in 1.01 secs fish external usr time 912.61 millis 1.67 millis 910.94 millis sys time 32.21 millis 0.25 millis 31.96 millis ~/d/openwrt> time libdeflate-gzip -dc dl/cmake-3.25.1.tar.gz > /dev/null ________________________________________________________ Executed in 523.04 millis fish external usr time 415.48 millis 1.07 millis 414.41 millis sys time 107.74 millis 0.15 millis 107.59 millis ~/d/openwrt> time gzip -dc dl/tessdata-4.1.0.tar.gz > /dev/null ________________________________________________________ Executed in 8.99 secs fish external usr time 8.90 secs 530.00 micros 8.90 secs sys time 0.07 secs 63.00 micros 0.07 secs ~/d/openwrt> time libdeflate-gzip -dc dl/tessdata-4.1.0.tar.gz > /dev/null ________________________________________________________ Executed in 2.74 secs fish external usr time 2.38 secs 537.00 micros 2.38 secs sys time 0.35 secs 66.00 micros 0.35 secs Place libdeflate into tools-core as it is needed to decompress other archives. Signed-off-by: Rosen Penev --- include/kernel-defaults.mk | 2 +- include/unpack.mk | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/include/kernel-defaults.mk b/include/kernel-defaults.mk index 127fa8563af..37c11411395 100644 --- a/include/kernel-defaults.mk +++ b/include/kernel-defaults.mk @@ -21,7 +21,7 @@ Kernel/Patch:=$(Kernel/Patch/Default) ifneq (,$(findstring .xz,$(LINUX_SOURCE))) LINUX_CAT:=xzcat else - LINUX_CAT:=gzip -dc + LINUX_CAT:=$(STAGING_DIR_HOST)/bin/libdeflate-gzip -dc endif ifeq ($(strip $(CONFIG_EXTERNAL_KERNEL_TREE)),"") diff --git a/include/unpack.mk b/include/unpack.mk index ebece699782..5959d55f4b1 100644 --- a/include/unpack.mk +++ b/include/unpack.mk @@ -18,7 +18,7 @@ ifeq ($(strip $(UNPACK_CMD)),) ifeq ($(filter gz tgz,$(EXT)),$(EXT)) EXT:=$(call ext,$(PKG_SOURCE:.$(EXT)=)) - DECOMPRESS_CMD:=gzip -dc $(DL_DIR)/$(PKG_SOURCE) | + DECOMPRESS_CMD:=$(STAGING_DIR_HOST)/bin/libdeflate-gzip -dc $(DL_DIR)/$(PKG_SOURCE) | endif ifeq ($(filter bzip2 bz2 bz tbz2 tbz,$(EXT)),$(EXT)) EXT:=$(call ext,$(PKG_SOURCE:.$(EXT)=)) @@ -56,7 +56,7 @@ ifeq ($(strip $(UNPACK_CMD)),) endif # replace zcat with $(ZCAT), because some system don't support it properly ifeq ($(PKG_CAT),zcat) - UNPACK_CMD=gzip -dc $(DL_DIR)/$(PKG_SOURCE) | $(TAR_CMD) + UNPACK_CMD=$(STAGING_DIR_HOST)/bin/libdeflate-gzip -dc $(DL_DIR)/$(PKG_SOURCE) | $(TAR_CMD) endif endif endif From a04bbbbea437dcb1df088966362e803769202e17 Mon Sep 17 00:00:00 2001 From: Nick Hainke Date: Fri, 30 Dec 2022 21:00:10 +0100 Subject: [PATCH 05/14] ipset: update to 7.17 Release notes: https://lwn.net/Articles/918784/ Signed-off-by: Nick Hainke --- package/network/utils/ipset/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package/network/utils/ipset/Makefile b/package/network/utils/ipset/Makefile index be407f016be..6d48103d0ec 100644 --- a/package/network/utils/ipset/Makefile +++ b/package/network/utils/ipset/Makefile @@ -9,12 +9,12 @@ include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=ipset -PKG_VERSION:=7.16 +PKG_VERSION:=7.17 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL:=https://ipset.netfilter.org -PKG_HASH:=87b1d9cdf4a1de3d1d0671e7da33e111eb65087e65ad75268b22bf13f0f296d0 +PKG_HASH:=be49c9ff489dd6610cad6541e743c3384eac96e9f24707da7b3929d8f2ac64d8 PKG_MAINTAINER:=Jo-Philipp Wich PKG_LICENSE:=GPL-2.0 From e846606900021dec9975e7908f505bf3a15d70c6 Mon Sep 17 00:00:00 2001 From: Nick Hainke Date: Sun, 15 Jan 2023 19:53:35 +0100 Subject: [PATCH 06/14] libpcap: update to 1.10.3 Changelog: https://git.tcpdump.org/libpcap/blob/95691ebe7564afa3faa5c6ba0dbd17e351be455a:/CHANGES Refresh patch: - 300-Add-support-for-B.A.T.M.A.N.-Advanced.patch Signed-off-by: Nick Hainke --- package/libs/libpcap/Makefile | 4 ++-- .../patches/300-Add-support-for-B.A.T.M.A.N.-Advanced.patch | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package/libs/libpcap/Makefile b/package/libs/libpcap/Makefile index 67525c23261..984b2050739 100644 --- a/package/libs/libpcap/Makefile +++ b/package/libs/libpcap/Makefile @@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=libpcap -PKG_VERSION:=1.10.2 +PKG_VERSION:=1.10.3 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://www.tcpdump.org/release/ -PKG_HASH:=db6d79d4ad03b8b15fb16c42447d093ad3520c0ec0ae3d331104dcfb1ce77560 +PKG_HASH:=2a8885c403516cf7b0933ed4b14d6caa30e02052489ebd414dc75ac52e7559e6 PKG_MAINTAINER:=Felix Fietkau PKG_LICENSE:=BSD-3-Clause diff --git a/package/libs/libpcap/patches/300-Add-support-for-B.A.T.M.A.N.-Advanced.patch b/package/libs/libpcap/patches/300-Add-support-for-B.A.T.M.A.N.-Advanced.patch index 0a6aa3c0b7b..b3ff25286d7 100644 --- a/package/libs/libpcap/patches/300-Add-support-for-B.A.T.M.A.N.-Advanced.patch +++ b/package/libs/libpcap/patches/300-Add-support-for-B.A.T.M.A.N.-Advanced.patch @@ -36,7 +36,7 @@ Signed-off-by: Linus Lüssing --- a/Makefile.in +++ b/Makefile.in -@@ -134,6 +134,8 @@ PUBHDR = \ +@@ -133,6 +133,8 @@ PUBHDR = \ HDR = $(PUBHDR) \ arcnet.h \ atmuni31.h \ From 2f83369e3e97de1e209b196820b05b47016c9df0 Mon Sep 17 00:00:00 2001 From: Josef Schlehofer Date: Thu, 12 Jan 2023 17:27:14 +0100 Subject: [PATCH 07/14] uboot-mvebu: update to version 2023.01 In the version 2023.01, the U-boot image was renamed because of the upstream change [1] [1] https://source.denx.de/u-boot/u-boot/-/commit/87ac4b4b4ca5f00e2ddcdac41c9dc691ab2aecf1 Signed-off-by: Josef Schlehofer --- package/boot/uboot-mvebu/Makefile | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/package/boot/uboot-mvebu/Makefile b/package/boot/uboot-mvebu/Makefile index 5075dce2ab4..c6b2133c229 100644 --- a/package/boot/uboot-mvebu/Makefile +++ b/package/boot/uboot-mvebu/Makefile @@ -8,10 +8,10 @@ include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/kernel.mk -PKG_VERSION:=2022.10 +PKG_VERSION:=2023.01 PKG_RELEASE:=$(AUTORELEASE) -PKG_HASH:=50b4482a505bc281ba8470c399a3c26e145e29b23500bc35c50debd7fa46bdf8 +PKG_HASH:=69423bad380f89a0916636e89e6dcbd2e4512d584308d922d1039d1e4331950f include $(INCLUDE_DIR)/u-boot.mk include $(INCLUDE_DIR)/package.mk @@ -26,14 +26,14 @@ define U-Boot/clearfog NAME:=SolidRun ClearFog A1 BUILD_DEVICES:=solidrun_clearfog-base-a1 solidrun_clearfog-pro-a1 BUILD_SUBTARGET:=cortexa9 - UBOOT_IMAGE:=u-boot-spl.kwb + UBOOT_IMAGE:=u-boot-with-spl.kwb endef define U-Boot/helios4 NAME:=Kobol Helios 4 BUILD_DEVICES:=kobol_helios4 BUILD_SUBTARGET:=cortexa9 - UBOOT_IMAGE:=u-boot-spl.kwb + UBOOT_IMAGE:=u-boot-with-spl.kwb endef define U-Boot/omnia @@ -41,7 +41,7 @@ define U-Boot/omnia BUILD_DEVICES:=cznic_turris-omnia BUILD_SUBTARGET:=cortexa9 UBOOT_CONFIG:=turris_omnia - UBOOT_IMAGE:=u-boot-spl.kwb + UBOOT_IMAGE:=u-boot-with-spl.kwb endef define U-Boot/espressobin From 7c04e80f87f343bde6d137d813d694f40f3ec481 Mon Sep 17 00:00:00 2001 From: James Andrewartha Date: Tue, 17 Jan 2023 15:02:02 +0800 Subject: [PATCH 08/14] ipq40xx: convert Extreme AP3915i to DSA Convert and re-enabled Extreme AP3915i to DSA. Signed-off-by: James Andrewartha --- .../ipq40xx/base-files/etc/board.d/02_network | 1 + .../arch/arm/boot/dts/qcom-ipq4029-ws-ap3915i.dts | 14 ++++++++++++++ target/linux/ipq40xx/image/generic.mk | 3 +-- 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/target/linux/ipq40xx/base-files/etc/board.d/02_network b/target/linux/ipq40xx/base-files/etc/board.d/02_network index 7d4806b6053..e5789d15b91 100644 --- a/target/linux/ipq40xx/base-files/etc/board.d/02_network +++ b/target/linux/ipq40xx/base-files/etc/board.d/02_network @@ -46,6 +46,7 @@ ipq40xx_setup_interfaces() aruba,ap-303|\ avm,fritzrepeater-1200|\ dlink,dap-2610|\ + extreme-networks,ws-ap3915i|\ meraki,mr33|\ meraki,mr74|\ mikrotik,lhgg-60ad|\ diff --git a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4029-ws-ap3915i.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4029-ws-ap3915i.dts index 423c24b89ae..08874bcf4f9 100644 --- a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4029-ws-ap3915i.dts +++ b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4029-ws-ap3915i.dts @@ -124,6 +124,20 @@ status = "okay"; }; +&gmac { + status = "okay"; +}; + +&switch { + status = "okay"; +}; + +&swport5 { + status = "okay"; + + label = "lan"; +}; + &tlmm { mdio_pins: mdio_pinmux { mux_1 { diff --git a/target/linux/ipq40xx/image/generic.mk b/target/linux/ipq40xx/image/generic.mk index deec544f658..a145f053580 100644 --- a/target/linux/ipq40xx/image/generic.mk +++ b/target/linux/ipq40xx/image/generic.mk @@ -542,8 +542,7 @@ define Device/extreme-networks_ws-ap3915i IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | check-size | append-metadata DEVICE_PACKAGES := ipq-wifi-extreme-networks_ws-ap3915i endef -# Missing DSA Setup -#TARGET_DEVICES += extreme-networks_ws-ap3915i +TARGET_DEVICES += extreme-networks_ws-ap3915i define Device/ezviz_cs-w3-wd1200g-eup $(call Device/FitImage) From afcf1a4de4599a371f14db170b8456da915088bf Mon Sep 17 00:00:00 2001 From: Vincent Tremblay Date: Tue, 17 Jan 2023 09:02:38 -0500 Subject: [PATCH 09/14] uboot-envtools: ipq40xx: fix WHW03V2 mtd partition The configured u_env partition for the Linksys WHW03 V2 was not correct. It should have been set to mtd6. This fix allow to flash the OEM firmware from OpenWRT and to change the boot partition using fw_setenv. Fixes: 9e4ede8344d6 ("ipq40xx: add support for Linksys WHW03 V2") Signed-off-by: Vincent Tremblay --- package/boot/uboot-envtools/files/ipq40xx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/package/boot/uboot-envtools/files/ipq40xx b/package/boot/uboot-envtools/files/ipq40xx index ff614888339..8d993fae366 100644 --- a/package/boot/uboot-envtools/files/ipq40xx +++ b/package/boot/uboot-envtools/files/ipq40xx @@ -60,13 +60,15 @@ linksys,ea6350v3) ubootenv_add_uci_config "/dev/mtd7" "0x0" "0x20000" "0x20000" ;; linksys,ea8300|\ -linksys,mr8300|\ -linksys,whw03v2) +linksys,mr8300) ubootenv_add_uci_config "/dev/mtd7" "0x0" "0x40000" "0x20000" ;; linksys,whw01) ubootenv_add_uci_config "/dev/mtd6" "0x0" "0x40000" "0x10000" ;; +linksys,whw03v2) + ubootenv_add_uci_config "/dev/mtd6" "0x0" "0x80000" "0x20000" + ;; zyxel,nbg6617) ubootenv_add_uci_config "/dev/mtd6" "0x0" "0x10000" "0x10000" ;; From ef9acfb68bb4e3dbddbd19d2333147a935bcda0e Mon Sep 17 00:00:00 2001 From: Jo Deisenhofer Date: Tue, 17 Jan 2023 19:46:04 +0100 Subject: [PATCH 10/14] uboot-mediatek: Fix ramips/mt76x8 buildbot Move defines from header to defconfig The package build and the Buildbot hang in 'make syncconfig' for u-boot-ravpower_rp-wd009 because CONFIG_SYS_MIPS_TIMER_FREQ is not in the .config, causing a console prompt. Also moved two other defines in defconfig causing duplicate definition warnings. Fixes: 3d5c5427e17a ("uboot-mediatek: update to U-Boot 2023.01") Signed-off-by: Jo Deisenhofer --- .../patches/420-add-support-for-RAVPower-RP-WD009.patch | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/package/boot/uboot-mediatek/patches/420-add-support-for-RAVPower-RP-WD009.patch b/package/boot/uboot-mediatek/patches/420-add-support-for-RAVPower-RP-WD009.patch index 80af85a9596..a89b6c68bd2 100644 --- a/package/boot/uboot-mediatek/patches/420-add-support-for-RAVPower-RP-WD009.patch +++ b/package/boot/uboot-mediatek/patches/420-add-support-for-RAVPower-RP-WD009.patch @@ -125,7 +125,7 @@ Subject: [PATCH] add support for RAVPower RP-WD009 +} --- /dev/null +++ b/configs/ravpower-rp-wd009-ram_defconfig -@@ -0,0 +1,61 @@ +@@ -0,0 +1,64 @@ +CONFIG_MIPS=y +CONFIG_SYS_LOAD_ADDR=0x80010000 +CONFIG_NR_DRAM_BANKS=1 @@ -140,6 +140,7 @@ Subject: [PATCH] add support for RAVPower RP-WD009 +CONFIG_SYS_CONSOLE_INFO_QUIET=y +CONFIG_VERSION_VARIABLE=y +CONFIG_BOARD_RAVPOWER_RP_WD009=y ++CONFIG_SYS_MIPS_TIMER_FREQ=290000000 +CONFIG_HUSH_PARSER=y +CONFIG_CMD_LICENSE=y +# CONFIG_CMD_ELF is not set @@ -187,9 +188,11 @@ Subject: [PATCH] add support for RAVPower RP-WD009 +CONFIG_WDT_MT7621=y +CONFIG_LZMA=y +CONFIG_BAUDRATE=57600 ++CONFIG_SYS_MAXARGS=64 ++CONFIG_SYS_CBSIZE=512 --- /dev/null +++ b/include/configs/ravpower-rp-wd009.h -@@ -0,0 +1,42 @@ +@@ -0,0 +1,40 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ +/* + * Copyright (C) 2018 Stefan Roese @@ -219,9 +222,7 @@ Subject: [PATCH] add support for RAVPower RP-WD009 +#define CONFIG_SYS_MEMTEST_END 0x80400000 + +/* Memory usage */ -+#define CONFIG_SYS_MAXARGS 64 +#define CONFIG_SYS_BOOTPARAMS_LEN (128 * 1024) -+#define CONFIG_SYS_CBSIZE 512 + +/* Environment settings */ + From 00f1463df7e690862403208082f71fb4741baf02 Mon Sep 17 00:00:00 2001 From: David Bauer Date: Wed, 18 Jan 2023 22:06:36 +0100 Subject: [PATCH 11/14] mbedtls: move source modification to patch Patch the mbedtls source instead of modifying the compile-targets in the prepare buildstep within OpenWrt. Signed-off-by: David Bauer --- package/libs/mbedtls/Makefile | 7 ------- .../libs/mbedtls/patches/101-remove-test.patch | 15 +++++++++++++++ 2 files changed, 15 insertions(+), 7 deletions(-) create mode 100644 package/libs/mbedtls/patches/101-remove-test.patch diff --git a/package/libs/mbedtls/Makefile b/package/libs/mbedtls/Makefile index b07f0477e45..2ae3fdbe2ae 100644 --- a/package/libs/mbedtls/Makefile +++ b/package/libs/mbedtls/Makefile @@ -130,13 +130,6 @@ CMAKE_OPTIONS += \ -DENABLE_TESTING:Bool=OFF \ -DENABLE_PROGRAMS:Bool=ON -define Build/Configure - $(call Build/Configure/Default) - - sed -i '/fuzz/d' $(PKG_BUILD_DIR)/programs/CMakeLists.txt - sed -i '/test/d' $(PKG_BUILD_DIR)/programs/CMakeLists.txt -endef - define Build/Prepare $(call Build/Prepare/Default) diff --git a/package/libs/mbedtls/patches/101-remove-test.patch b/package/libs/mbedtls/patches/101-remove-test.patch new file mode 100644 index 00000000000..e43f8757d71 --- /dev/null +++ b/package/libs/mbedtls/patches/101-remove-test.patch @@ -0,0 +1,15 @@ +--- a/programs/CMakeLists.txt ++++ b/programs/CMakeLists.txt +@@ -1,12 +1,8 @@ + add_subdirectory(aes) +-if (NOT WIN32) +- add_subdirectory(fuzz) +-endif() + add_subdirectory(hash) + add_subdirectory(pkey) + add_subdirectory(psa) + add_subdirectory(random) + add_subdirectory(ssl) +-add_subdirectory(test) + add_subdirectory(util) + add_subdirectory(x509) From 116c73fd71c75e38c4d707dc5a74e6993874098f Mon Sep 17 00:00:00 2001 From: Christian Marangi Date: Wed, 18 Jan 2023 12:22:12 +0100 Subject: [PATCH 12/14] bpf: ignore missing LLVM bins on package for non compile steps To download a package the LLVM bins are not strictly needed. Currently with an example run of make package/bridger/download V=s, the build fail with make[2]: Entering directory '/home/ansuel/openwrt-ansuel/openwrt/package/network/services/bridger' bash: line 1: /home/ansuel/openwrt-ansuel/openwrt/staging_dir/host/llvm-bpf/bin/clang: No such file or directory bash: line 1: [: : integer expression expected /home/ansuel/openwrt-ansuel/openwrt/include/bpf.mk:71: *** ERROR: LLVM/clang version too old. Minimum required: 12, found: . Stop. make[2]: Leaving directory '/home/ansuel/openwrt-ansuel/openwrt/package/network/services/bridger' time: package/network/services/bridger/download#0.04#0.00#0.06 ERROR: package/network/services/bridger failed to build. This is wrong since it may be needed to download the required packages first and then compile them later. Fix this by ignoring the LLVM bin check on non compile steps. Tested-by: Robert Marko Signed-off-by: Christian Marangi --- include/bpf.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/bpf.mk b/include/bpf.mk index e43fcad50ce..ec3f04e1e9e 100644 --- a/include/bpf.mk +++ b/include/bpf.mk @@ -64,7 +64,7 @@ BPF_CFLAGS := \ -O2 -emit-llvm -Xclang -disable-llvm-passes ifneq ($(CONFIG_HAS_BPF_TOOLCHAIN),) -ifeq ($(DUMP),) +ifeq ($(DUMP)$(filter download refresh,$(MAKECMDGOALS)),) CLANG_VER:=$(shell $(CLANG) -dM -E - < /dev/null | grep __clang_major__ | cut -d' ' -f3) CLANG_VER_VALID:=$(shell [ "$(CLANG_VER)" -ge "$(CLANG_MIN_VER)" ] && echo 1 ) ifeq ($(CLANG_VER_VALID),) From 952c738c0fe360ae074fbf6a87d03883157bc2dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Valentin?= Date: Tue, 17 Jan 2023 23:07:42 +0100 Subject: [PATCH 13/14] ipq807x: add nvmem uboot-env support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Enabling kernel symbol CONFIG_NVMEM_U_BOOT_ENV allows to use u-boot environement variable ethaddr with nvmen. That way it is possible to assign the MAC address to the ethernet device driver. Example of usage in dts: .... partition@600000 { compatible = "u-boot,env"; label = "0:appsblenv"; reg = <0x600000 0x10000>; macaddr_lan: ethaddr { }; }; .... &dp5 { status = "okay"; phy-handle = <&qca8081>; label = "wan"; nvmem-cells = <&macaddr_lan>; nvmem-cell-names = "mac-address-ascii"; mac-address-increment = <1>; }; This is needed for Zyxel NBG7815. Signed-off-by: André Valentin --- target/linux/ipq807x/config-5.15 | 1 + 1 file changed, 1 insertion(+) diff --git a/target/linux/ipq807x/config-5.15 b/target/linux/ipq807x/config-5.15 index f979f9a28a2..4a5aee7d9ef 100644 --- a/target/linux/ipq807x/config-5.15 +++ b/target/linux/ipq807x/config-5.15 @@ -257,6 +257,7 @@ CONFIG_NVIDIA_CARMEL_CNP_ERRATUM=y CONFIG_NVMEM=y CONFIG_NVMEM_QCOM_QFPROM=y # CONFIG_NVMEM_SPMI_SDAM is not set +CONFIG_NVMEM_U_BOOT_ENV=y CONFIG_NVMEM_SYSFS=y CONFIG_OF=y CONFIG_OF_ADDRESS=y From 5dee5965012e788f06e4d095e8cfb73200d818cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Valentin?= Date: Tue, 3 Jan 2023 19:23:41 +0100 Subject: [PATCH 14/14] ipq807x: Add ZyXEL NBG7815 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ZyXEL NBG7815 is a premium 802.11ax "tri"-band router/AP. Specifications: * CPU: Qualcomm IPQ8072A Quad core Cortex-A53 2.2GHz * RAM: 1 GB 2x Nanya NT5CC256M16ER-EK * Storage: * 8MB serial flash Winbond W25Q64DW * 4GB eMMC flash Kingston EMMC04G-M627 * Ethernet: * 4x1G RJ45 ports (QCA8074A) with 1x status LED per port * 1x2.5G RJ45 port (QCA8081) with 1x status LED * 1x10G RJ45 port (AQR113C) with 1x status LED * Switch: Qualcomm Atheros QCA8075 * WLAN: * 2.4GHz: Qualcomm QCN5024 4x4@40MHz 802.11b/g/n/ax 1147 Mbps PHY rate * 2x 5GHz: Qualcomm QCN5054 4x4 802.11a/b/g/n/ac/ax 2402 PHY rate * Bluetooth CSR8811 using HSUART, currently unsupported * USB: 1x USB3.0 Type-A port * LED-s currently not supported: * White * Dark Blu * Amber * Purple * Purple and dark blue * Red * Buttons: * 1x Soft reset * Power: 12V DC Jack Installation instructions: * Disconnect WAN * Reset device to factory defaults by pushing reset button 15 sec, LEDs should lit orange color. * After 5-10 minutes, when the LEDs turn constant dark blue, put your LAN cable and connect at address 192.168.123.1 by telnet on port 23 * Login with NBG7815 login: root password: nbg7815@2019 * cd /tmp/ApplicationData * wget -O openwrt-ipq807x-generic-zyxel_nbg7815-squashfs-sysupgrade.bin http://... * wget https://github.com/itorK/nbg7815_tools/blob/main/flash_to_openwrt.sh * run flash_to_openwrt.sh If you can't use wget, you can transfer the files via nc. See https://openwrt.org/inbox/toh/zyxel/nbg7815_armor_g5 for installation details. Bluetooth usage: * you need at least package bluez-utils, recommended bluez-daemon * run following commands to enable and start hciattach /dev/ttyMSM1 bcsp hciconfig hci0 up Many thanks to itorK for his work on this device: https://github.com/itorK/openwrt/tree/nbg7815 Reviewed-by: Robert Marko Signed-off-by: André Valentin --- package/boot/uboot-envtools/files/ipq807x | 3 +- package/firmware/ipq-wifi/Makefile | 4 +- .../ipq-wifi/board-zyxel_nbg7815.ipq8074 | Bin 0 -> 131176 bytes .../ipq807x/base-files/etc/board.d/02_network | 3 + .../etc/hotplug.d/firmware/11-ath11k-caldata | 3 +- .../base-files/lib/upgrade/platform.sh | 16 +- .../arm64/boot/dts/qcom/ipq8074-nbg7815.dts | 445 ++++++++++++++++++ target/linux/ipq807x/image/generic.mk | 15 + 8 files changed, 485 insertions(+), 4 deletions(-) create mode 100644 package/firmware/ipq-wifi/board-zyxel_nbg7815.ipq8074 create mode 100644 target/linux/ipq807x/files/arch/arm64/boot/dts/qcom/ipq8074-nbg7815.dts diff --git a/package/boot/uboot-envtools/files/ipq807x b/package/boot/uboot-envtools/files/ipq807x index 63fd04ec5b5..6e4fadbdf5e 100644 --- a/package/boot/uboot-envtools/files/ipq807x +++ b/package/boot/uboot-envtools/files/ipq807x @@ -13,7 +13,8 @@ dynalink,dl-wrx36) [ -n "$idx" ] && \ ubootenv_add_uci_config "/dev/mtd$idx" "0x0" "0x40000" "0x20000" "2" ;; -edgecore,eap102) +edgecore,eap102|\ +zyxel,nbg7815) idx="$(find_mtd_index 0:appsblenv)" [ -n "$idx" ] && \ ubootenv_add_uci_config "/dev/mtd$idx" "0x0" "0x10000" "0x10000" "1" diff --git a/package/firmware/ipq-wifi/Makefile b/package/firmware/ipq-wifi/Makefile index 32988910c0a..861eec13dc9 100644 --- a/package/firmware/ipq-wifi/Makefile +++ b/package/firmware/ipq-wifi/Makefile @@ -49,7 +49,8 @@ ALLWIFIBOARDS:= \ xiaomi_ax3600 \ xiaomi_ax9000 \ zte_mf18a \ - zte_mf289f + zte_mf289f \ + zyxel_nbg7815 ALLWIFIPACKAGES:=$(foreach BOARD,$(ALLWIFIBOARDS),ipq-wifi-$(BOARD)) @@ -148,5 +149,6 @@ $(eval $(call generate-ipq-wifi-package,xiaomi_ax3600,Xiaomi AX3600)) $(eval $(call generate-ipq-wifi-package,xiaomi_ax9000,Xiaomi AX9000)) $(eval $(call generate-ipq-wifi-package,zte_mf18a,ZTE MF18A)) $(eval $(call generate-ipq-wifi-package,zte_mf289f,ZTE MF289F)) +$(eval $(call generate-ipq-wifi-package,zyxel_nbg7815,Zyxel NBG7815)) $(foreach PACKAGE,$(ALLWIFIPACKAGES),$(eval $(call BuildPackage,$(PACKAGE)))) diff --git a/package/firmware/ipq-wifi/board-zyxel_nbg7815.ipq8074 b/package/firmware/ipq-wifi/board-zyxel_nbg7815.ipq8074 new file mode 100644 index 0000000000000000000000000000000000000000..3a1c88b76eabfe3ed262811cf8a674ccb737cee2 GIT binary patch literal 131176 zcmeHw33OCfdgiSKA+TB&qEy<+HJdid=j6WJ~K9McRQ2G(&_G`C+T*!Njgb8+e~JLNoVF{a&p3a->rI8uf(D& zBxDfx>3>!4fA{`(`R@P!_rJGZmDVgQpI%-3GCb7x4dzWqT&MFJHKuc`>~w@2KZyB2UKJcrZP zv1+GH#6(ne*A9I}3EjUt|M$B8)7^LdwM zE8Vt>v_M>-lzWIw7R$e28VR36WFObbcHnTY^AYL%$(v}XbJHWzTHVaiMqq;YJUm}; zLJM&Bz8dXD=<+lIBS0WZ{3xu$BPd6UY6Knz1SX24z{=fXnQ`dWty_n(OvjUdZ?#w~ z=5qzx{3H(M!X{31l?WKA;6J`5U!sH zk$yvns~4UDdewXN2~|(*dL22hI|U-|7K`;_a6$8 z@jW3@zJ>aa2{EM=@&%Ajfc#$#E${j-X#aOj^*0CW$L^fCQ zKgYnRUttW0feUR&`*;wJC1^t`+MrMdZlByoi z7N`f`yiYwa#t`xe<}qOV|4t19_ZKEx=mm}qramb612@JY{gdE0QobJYhApYcV+=Ad z1}X3-PV`|)6Xa(C!+7-JFNW@eF$O8$hWucErl7~vgOE=$>~WYr$&GQi&7SGgXwM2h z%>xWGU<;}ANAM?8I0iEy9|!sWIy44se>&t1pDM?|s9(XBhykXG$NJD12%$017|;o5 zJLT%IxEwUC!siJDYfqx7j!W;g4a_}}vnSbv!RsHE_0Kx$kB}YsVBM?e?>>jA z-ed38UYXtN*_~*Tz3^`9E2X`@-N~l541Cb>>Rj~AEPLtOZCB==@I}TtA&`+MeFjhE*f^G1wOI8|S11jZhLt$o*TU+C~N zH+^UX?tnl=ReeWS|Ap7DfB0)3fA$+cHa0jz?|$raW@DexgEe&q_8F70$L7GkLLAoQ zlNI)Maj1CM)c#jv^xuvBwRFfQVNby^M~K)bAphTn zZoiaA{qAo;9{V!Mn3EmY*NL43`F|K%J`ejkKH`5Zh#&f&!2V-TW3s{?XD;?cvazQT zfj{MAA+NA6#JG(|4$8^GIJ&S$mWFXiB93#>4?I3K`F{=Fj~w*Fi~VLd!Oi_EQi4$I$Yu-vb<7-$wn| zXHCRDZG1lJPk{XYQIKc-&;u9rC=Gg$SP%Ibke>qi|2?$4|7St`s7FW8e(aGtiXl%u zRA|4{L)sDc=F)qDdWe1E*l5Tr?(<4Lz&K_R2kh0R1Bav*w4(&&5Xb+i*bnFt?KuPE zAng%2N_$kWXCLb)j_^lmz#$PhNIi&0{r{v;KlGUP?1DW-v_A&&|9xnASwH1jzgZ6* zkXO+|>akf5p+_P76vojHd1*(3^?>bHk*6M+@oz)@^au2(3U(-+0bcHi!%XM_?eU+7 z#xaLDP>(nc^s5-hkUp!71IEzRGBrfclAlJmgjM z5cq}k@ILI=&;vP+gK>Oj810}we;@t;_9Xop`XT4n$>@i|{OThP#=HPM8m>Q(dO#du zPtq@Q9Esx;)UTiiKG>57{m;ZWroyi~ISxgTPlo*e8(I(Ky!r|1=e)#mXhQ!>AWwV# zM+JHM!=OC%C^WAyK2Y$7Av-ku`7r%aNDnX$cl4`@^FnBTr(fkb0*BE2uHsKvzoAF) z%M!<8;K=z=!JkMypg+PmNPBEY{hXf}-zdy$=5dtrtr*97kmoqu9C{o>{U03PD9$T> z*t6l+Ilm{>qy8e)&p1=1|As#{^nm`T6!P>(3jH_qK*sCPM;Wi99m&AaVZ<2<@op&2 zq+et|+JfVth@+ezSwH$A;|s{k`Hk_uLVO`{ggwi6oqA;0gQ_0=1mggIBI7K~3v#`{ zaZvSVkdK&`8qk0Gqj6q6->mB-|IjCRJ zADQ)l>qhsr5yW}GG31wt1LqY*zdShJmG;1OmtwpdTK92YGUmrpbsYR(MA~D79Vo=x zKE^j6qyNTw1NIn?I88Oap&iO~@4LVsdMwxN)B{C3kao!W=?@TJ4L3ds=>haP8{_DK zJ!ilkk}Hq95GH$bvm(LZ4Eg&vGA#ennv)i1Tx3ALc&VVb+6m;y^vXyrjC1Gl;qyEr7)ExK&`a^{{)6j!F*s~AzkOh6tgkMd8UrC@}WI2DTpa<|Lavucp zA$=@DI~4a-X^(OouK@@6Be@TS`Bim(jM!J^I5OVPhdlL2WnUcgTDI9A81n+hQDI(` zaW3@8h4x3R8x{96r9Y+~LXV|CXaoN2zp6jDmmMki!;l{QKJ?%d=mGkX*^MlG(9%Z9`?vHbROlc4LMXvjPKC~X@(VjWK2IXl_ zq4`x|UXywRzbfM+_|?$-%yCfI-(xv_sglv_t5j^v9f+ z6`q-lSa00Nyk_VDaqv+esRu@UKzmY+4`|QCfqn@%40nDC#cA(B58#iIX^+&SslY+S z9;rw0i=ofS=nrN=p7FMdJp6&2m!L=K(8Gv0Rl%O*x()b+_T}0B66gW(Q`i^I1%6VG z=@0r~2lNNSi4RQe5BXD$AN#K`FB*Cfp^vcV6zZcfFDS$ZQXh?R7(9+D{@}NRdT7Rh zeo^uBGWu2NPfYV`0_G(dZ!3J>CfjfLv-^k-@x2GK(VrQ5AoTHABVgzO_aUTThhLQIcly;~`eh&dK^Ej)@N20ph%exm;^PrtD6G3^ zkDQleoZ16<_(dn?SLOKRkKhkr&vHKw@^XHsU!4NKsNfIy`MnSJlm&luKkb+D>_6-= z6ZNOS9%Xz5zZ|15ujGD#`q6&bf6VVGh;N+qXNa?76#P2ltDH}O0p?XV{8<{}{KOd; zL&V9k3j4t!J@^^)fPRtjzA-;?esusxl{k^($bJw9$cOX*^LvcK{48-aj~VBg$C3M?e|&35UnAu|2YzV3 zT(>vDuVWnLx?Mp&@Ari8Lp~ewZp`Z;J%Ap@D(r_EdLTdV`xs?FpXBGp(C5%Tj)FeR zewfFRIAVT}zaJbij?$j!56}-4dyxJN_AK`wfP;)Pi6iP)iT7ok40-7fu%9XQnC+)O zQ`KXWKal>6@~|V7_DARe;w!G(opXZzKmq@}A3zV#{_Jb;iM<%ZX2k07=Z-k&fkON5 zs0XyCc9a3XE5mlra>$>-pGtoKJCgGn^;p3kxgRL^FX)e;hjKrc^D_4z z6!vfOeg}F0JNChjJ+Omx%qz*zBM0PT74Q$~!B4{TLMT4qdI9#JvhI>Ne1bC24j0;y z3LFw=14pzYMrD5fgP>pL{7idO2;wvBIJ(!o$A)gF? z>cDyiFo1k|6Xpfju><}%RzdzYJut_K)C2fsmHj~J573URYp`cS4a}qf}8}f!807upNnfo|0PNY2{&Xntgf}kF#jH7wIVfYi+lhh-HaSZ7J@RNFg z^-f3+6!b6$^FnC7X6OONQR1(FpNtO%>jC`HaP>gWuiOuWJ;={lpic>N(2gn41BLm; z&;u{@@iskBk;lBmeeFBSE8yVgIHLXBN4cN*Rqh8G{sewCv@fl=uPr~P3f6yLdSH%k zFt0GqmHS}vYW_s}1K<~m4>&Ir1?L3?JvRISpKs&7s{FjojDzZa-cQj6!=C96&<`j5 z0rW`8A5af44l=%gJ)|}S<4pP!1wE2}9rb(Qk1`=2nxDBJ_a{TI+r(pj73Gsok z50lakeWYJioFAoMhaQE-u`xJ~it7dL%jTed@4N6PW<8+1f^bN2;5fps4cDIexpxlsAH0~~jrE3e2K)*9k&+%D zKJcOb(C2mZC-94m*H!lOv>pUJ0`1B7>%bBA$n|e(J8(ptB=eS!XA^LM-HdrIQ}T82N=f)J-~V; zR%Jg8@l6i(0PS}n-cLjOLwca_`MuVIpdJ9n(B~{Cpa;hKopG8%yq@>_7)SV%kRD)u z=I0#B{@{m@$2ewVz2e3=rei-bX%_SddKjzfk3NMSybV2o9;daSe#pmTUW-xK$I*Ha z)C0~7uxA;k!7t1GK>7p3SuqOsL_Nqc`vdC1GxwBI5Rko3hOTUc^Bt*`gP9FoZq2G4*GS4{rNnz zKcF6%{eg-eFup*X8BxCxUntbC^&p@J`;N6An7bvXC23_Ck-qbl2g`Q(zmZ%UzPJCx z`tGu={*;d{r=RvwuDlDjpzCVX$#(boMX&wCpZSA_5NU#vS^xZS-jd2RUKm2-^; zOJ2xsOElGc^g`!}(p@@ab52vzv*CQN4z%``?)HAeT;9P`ok!;FKzXKq96Z0Sckb?-=Mqi0 zoIc&Szi4w-lhah*$ych6&f4kfbeQ^f_H4tUq8B|a&Wdoo$1c_!DctEP4%8V-`G>UJ*z!&O*r4#D{GGz?DB3%FzMChQ*AF7Z^~{= zG~sgQmAWGZJ3Q+Xs!X!|jr-?3pA~`M$qUe{9i9%SsUNSLY~EYgmEGW68kW5>(0qK( zu1NeYo@?!%yEVHlsWP1JD)N<}eTnAwoozi-@`5*FeBZd#**|x`Z!`D&jN|<2<^#pR zInjjQ*{coI(~VA(z8vnW+FQQW-#T@PAt}ULZ>~E%_keFRzY}U4hx*p+oxjappKQYK z#{$EAVB-lAPu5qkRC>DHG^pZ7JI?d`RzZM`MC zBlY?GiKacpz%R*!-`UIcM~ilPBl>&jXw}a7oBd76CYw2OvHHl&?V0UPlRgieY~54Z zm0h1?>hHzNO-G7%c-JSI^tq>Z{egM(&n7#+bh+V35%QVKd*wvip1ED#$o5@m=$W(4 z+u=0n_#6H0FVB5GJEFgbE_9wO-v@m$`M;|tT6dQ|=UZ#;@4&_8!=>AN>&!O&`k9vf z#hbI66HWa+a~bx#J<@*9_cre?dCpsFF7M3wwcUkVv)Y{|-~Ptgj)U{I_#(#b+Ux61 z&3oAwp)Ug`+xC`j%xOq6`Hg`~x8ryDbmPm#gZxJS#oEKOx4AnKOty8Uw|)2A4cWCx zCOz#xyY}GhEm^Hj(;Ri+$olr9a_J;Y(wVCgfc@Tg}8dI z^-$@HzBcn*cCxQ}clnF%I_KhWzMeB3$I4#HY&Oqjz1?+NXScgoIZfpqIa#)KW|ylW z!K9NHPA%I$2X>Tb(yP-XrtIp(1>t)8`)gm$-{fgD&lRW7alUl7 zOf}ij{)_D==kE1wTNTR`SB~& z#|vKaZ{~LojpK4()9zyEpV^N;-&=R6@CA3P(-ebTI8(pB==sR`?Tsr zFBXIl=IZ1J|3{rCaQtEIa!Pn-PE&V4OAN;`a2NhbU* zoT}ej)a8xvVMc!**7u_)s&>!XkWrIt(($v0YPaOKxGNG$!mS?Yuh~=3h~3Hbk{pf`ggK#^{%ol{)l+;&7StHrS0C;iSxqcz1rWjuXs~dgzokpT>1RG^}Z^z zPG0D1-dpsXr`9}go$0Q5A-~17GNCkF-lbDDy9=IkubpaY-<$ny`${)vH<)GLIN7{= z&IWItdEV;TSG}pc!@nkZez?5eW3@X9*1N0B^I-phs!j8ekH0%$92feV_7`q)*PCtT zWY3xx=5KJVOg7Dp=liQM?|bUax_0Gk;{nEI=9sYiP{*!$8~n9NCOhihQ`J@0=3kXG z*Qiy9Ge>K86n1#3ob$u?dUvnvoY$OFk!-@{@Tuy3<=b;2eC&Y(Z97V!yJp#Qr>b_B zah^8eck)d2f%2XH^~okX>N&iA@4St^`b4vz+}pHic75g&?k^k1$rIJP^EbHb%f4P2RLA__GxgS?9 zG-8f&x0&aF^S#wO$~U>H%yax3=UWcW*__pEj-R{x*Bzd_-M7x{>t63`lk;k#3Fjkw zYP)8w%~{Fc+cJ&=$2$*lU17%W^1-Ifg-xDkoyA5jAue64NBcZ&=C#_T-WvE~Pqkxy zIN!DN?FWmuc$>|B?XAm=Jw@BH+7nFv^yuNL?d6*?R-5(yt?tUMd2QJ%lT71r?Ogl8 z(igH@oaVR$?JH<oJ6i9TFV*!F zY;(6eO#Zq5`0DLtoBWN*rnX!@Q~xsbIih_%XVx7n+2QS&V#+sK?J~-_da;b+GUh;;$l@#*`A!|l1yvoQpNF{aNbM)PP2}mM*HS(a;-7@zc){I?&G{__G_ok)%VQY z;%b>{(p{t9qxF8}a_iB;ZJu`X+GXHa^UflUuPHV=-`BD)e}lipVe-2@r`H@T+nKXI z(d3&(t6fGpSFg67n6t~>Xycvg&Afgy z${nrus*VfSf9*GJ-5POuH-rD_aKr`a0yF{|0gZr0KqH_L&UTt?|=BwcRu^|-~7RkD=KU1o7+3PZUvA2Yv1|o$GEm)I)y zh;DI0oD&1$ns{G)Bt90Oi{BAH8T9utQoA8DLqv<)f0*c6XSqLFR^rX}n(1aE@>`;r zg!ae94{p3S+n3|d&3m}|keloG`+P<}yf<@0eF)(A2)-)V)g#!eucXOdZx$%q<926x z+#dHJ7QaFDfYY%5tOrK`eel>H(*JC7?fym1dY56@$afkL9(+8RK&Ka5$Z5 zILz0+G&IC!vrWJuQc}jURbyS(WMP-{%+|g)KFk{7G1hH=*y^jOZ|*{T_=9I2^W$L~ z7u}w*MSyYX*w(0P(+Fq;MuNZ-;=59O=B<1G)wK5yyz|j#Ke%_UnYTugZ(rX)-f$gA zjIcY{fzH4YcyDiS28-AF`oZrtmCF_x_a3q9&d!kxw3gKfjAI09hBzuK7cDZfn64}5 z&o3&v!~Ggl9$e3#KSZ8UE2p$HKYxh2BHFWTS-5TC>&l9vqHsCk`!zLpyN>K{2rH$2 zEn8MvIz*dCtsE76%g%)sMr?<2um>tg`byI=?%*ZOFvt=32F zA89RSTQS?mSLGkaaVVm@rV-ExXaqC@cR=9o@$kLl=Aq&kBmE9l>RXQi0$&quj=Ip zjD^5h2*4#U78sy=j)lNj2#kfmSO|=T7-B30#zJ5$1ja&OEW}V_@ltp&?lu;=U!R5! ze!XBOUJFWiou1{wYgVoV6jy48i$cLsn8sqtl9KqEk-=B><8Gr6xUXK0)f)4p)oQg# z)3C)%#MQmWBCM(-y0S*0-YC?DF|}e$aawWOtwW9Nh-$@ifYGQo8udaqtdr2+A#`Je z)rG{jD(IMN8cozU(~s9_MNi{3$(w@Lj6A6{xO(`G%&BZsb~0a|%H(TeB45*|@HJJY zraO53@EoIMJ7d`+8|)NDYJ+)NY_L;agp}(6Uf5u#HrS~Rc4~v2;h_h9U72m?h8%{#=FbwF7xH(lues4y(}p$xh%t*IVQu;`GRw{A5MWY z1?LH#Uhjjgo;EW0e6TeJN`HW=JgP;H1s21pV^lk*3mXvv!x=Z7_whntM2e+_M-_p` zOY?MZhl9YVDw-~AL5E!o-`jvpGE4?EE<5kCWzebM09Ti63 z95Vz)K7zUg6$Hj?Ku1`SN?*n@&j`Dt#YYi=u^e|@*Q15ND5{w*YJ>@j(!^v+)4{_k3&Zr+M~o*ey~ zi2hAP|0dpy#uAFTqzC7z{8{)V(cnClmio1rCxQ;zT$eX1!7(*2 zPr4XicCIra@Wqd^yXBGP2kRP7eo6ObbP-5N&G8s2~g{(Iziw{Q=!H%>dwJ@_sczt0slR^R8kJz5&QJ2u4Ok>3|XUlE7n#P`K+ zM&pdb**=!vBOATm-CmLnad_nS)NURc%kQe)-l7M4XH{M6neYF0WF4zo&-}`5_kJZZ z54p@7gxm7_?3vRu(gRo7xO!TCyZxzI-mHB24fki}`uksTsLtp3HRDQ^7mP?=kX^p8bvIlF~Bra-C%!?~JdfmHG2#7kKcAYEiMT zEG|AHeR7#I$(t2dmXzYljt{=3r1^6kWr5c~YM_J+*R-dSf+dV+yzaMefrvom^?qy6 zazx-k`z~F+M&MyXKwG{>KqH_L7%l=2n;+Bd(FiE14;H5tryXZB&N!Uy zQP_jUiTg3Q|LE?)Mqv*&3VX0o*n^G29&8l$V56`H8#PY%U>jc*!Z=+iKG!tg%xR9; z6i1pf&6(nGrMUPb(hvAZ_hn7XojI*&N=l+D*^}%^^`?3gUFp6|e=dJA{ec~&5yu0o z=C*<#bZqmum46$+`i4ee7zjLW_VOV5I}EsW)`tLr2cZLxTbU2RFzO}@1A)g)KOaPY zhXJ?F`Vb)SAar27miZ72S40!WE6%!K8iA1@5Md;m(FkY+Gy)m{jetf#Bk%wa7)h+6 zWiwReiGeL~mu z2Uhh1@Bik5#A-a%(LeD1cMPnq;<)zK+t**lLEZZFyEi`Jy|>DeocQ zH;sG9_c8CieeHTk_Qt25d_uh+_7CpQB1zI`p6@5ZNr zd~aWSJ0yGK(;GJo8_@3>0gZr0V7wvlq_8KAw?66qXaqC@8Uc-fMnEH=5zq)|1T+E~ z0gZr0KqH_L&!{U#$a-tk$}$Ri5bb;rWljyobFNiJ%Ol@Eej<|BoJK$+pb^jrXaqC@ z;|BqUu&1#%c2OwGmyrC|1is?|u7X4^Ml^~=lE}r0Vo_dAB6rD(oXbh%Tw<#zuOg9~ zC1!~7l_bAIhy>udoGGfr zf<+{zGv2ENCQ=D@BhMtR#_}&zvABH)4q=ymQ|6+{bz6s8%X4SNUo7Y?kC_Dtss&6DYRnIN)ov*$gL)k`%~1ncp*uS zm~FOLyp+VWzYtSIbsdRm|9~ zt&&8plxejja`Ty1Ln61#f`kSVxeDZ5Rzo6JgSISNMIu*EZUu>4GfG)jOCr|}Zh19{ zT&JZ$EMG+;*JY^_%NLP|=T_!iLt@%aa*Iji_E=_%61g)Ln^@6Ef_u3SqZ_qv9f_g z?)NNBVr3nP+!xGQLn61#S}ayBBa!=4rmZ27`wMbaByxXAu9igZSD}LqH6(IhTFS)A zdJ?&%D09h561jh(+#(XWe zVpS!HTpT>@stSXPr{7&gVp^WHOsr}ok(+I85v!Jx$Sq>uD@o*@2DfTCiQEE~xtc^y zfLpziMDAH@t*BfM@XxxCXxFdT2{T3MDF{PTR|fC>*SV`$o&>_HkOmf{S;}7t4ZX( zWX>uQxpVNz6)Q;e6E~T*n8dVy2Dfk-iQJo*8*A2*$Str{iJC?dxqm}_HOolk1o~IA zl*InUV8*MdAu-JXuV1r@L@tRrQBa^QY0SBh#55PU+NC6NUfVoTTTUVuhqUs=ByzU#Js~s0AXy)+C&^7LjOcg?DHZ$+p!Z z1+hh{tx=@e){1mngUGOL6`8ib6t0QeggfeQgva&^k!3q9yc4d9Z2Jk3J>idpZ^F+- z&V+W6J9!<>4xHd~`k4AJ)WL=aH>Pr zTOqI9DB#_xe;vFx({b2Qi4_XgnevJ)2wbtHfh)E&aK*1l2Cm{mSIB1#+=HyV3iNHJ z;}0CyP_GpdyrS%3Tveh+(ZMT6=qf&Rl@YpPTLKbnLEtJWluFbB_t;V+)wp7-0{2jx zyke`O#rA{_C);9Nv3-Gitiwn(uEG**b0C#%-kz`ur36xW6~31mOf_m_YM?e=rG#Vy z<$aM*8BFC>par~Q-?k_GCwY&x#fM7qg=*tfpp<_P=8JcBI0NMcu82$Eise1${2@|_ zY2b>r1+JJca7EoP?pcFZ9Jj!|Kq~Vm%hWbAPR~CVJDtOGtyH!L*n|X_fGFa>wF~5Bf zKOw~PGe8UejDx&YSSFfz8~D+hCgLpk$LPWqTM(=uz}q8uyO`)m4Q61vxqWe%fze+> zTrhnC^5;GixJBMBq9Wv3-t;+v3Ly_PzLuC_lrQ!0wXE8oo9V>9PP^6s)AkJ>CE z)Lo1x`T2oFypl(W!P3CX_D^^+*c{1Q#gtG1GbRw939+8wof#4@`xH;GNXpyA6DirH zfhvM{Oe+tt!Sd~~Uk~ze_5fam29MSNzj!l0LD;6|%?wmX{3i%|!c((~r388ApKB`L zE+!{u1`A;SY+_Q9(VzL?Ehxb_=Gy}Ga~;BiJW}n}*uWj~7LgN3#Op1{TSZKfaf7@~ z#H5987zz6QkwhTu$sWn(>qct?Gy-FeKmtA!<55~#I;y7=pEo_qN22(*N4fbUZhI2; z!db|)TVL&8O?&^qJ0E@agRiy~({4TL?bz2hFk+qfDho&!%|`VWi^XcKsPF2(_MOju zY}~xZ`_`k^?~xizN|F2dL+4|TRPm);hE9%&jf;0AI1`hSQ&Q8?GcsLnPnI{^m*daP zyM<%o5J#Xkhj3vnQ-qZbKK2szqFr?18HPQg8_xus!>9e%#QWkS@v-<^{0=^SkNo=> zsojv7fxU-6zU`sbYn|o(WLZgWuHWzTdA-?^yf<@^-x69m2ih^Vui4pNP?pE-%5u9s z?m?^&gKi9BN1i^mz16iniU_2M%7u?&yLFp20vZ90fJQ(gpb^jrXaqC@8Uc-fMnEH= z5zq)|1T+E~0gZr0KqH_L& + * Copyright (c) 2023, Andre Valentin + */ + +/dts-v1/; + +#include "ipq8074.dtsi" +#include "ipq8074-hk-cpu.dtsi" +#include "ipq8074-ess.dtsi" +#include +#include +#include + + +/ { + model = "Zyxel NBG7815"; + compatible = "zyxel,nbg7815", "qcom,ipq8074"; + + aliases { + serial0 = &blsp1_uart5; + serial1 = &blsp1_uart3; + /* Alias as required by u-boot to patch MAC addresses */ + ethernet0 = &dp1; + label-mac-device = &dp1; + }; + + chosen { + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys"; + + reset { + label = "reset"; + linux,code = ; + gpios = <&tlmm 54 GPIO_ACTIVE_LOW>; + }; + }; +}; + +&tlmm { + mdio_pins: mdio-pins { + mdc { + pins = "gpio68"; + function = "mdc"; + drive-strength = <8>; + bias-pull-up; + }; + + mdio { + pins = "gpio69"; + function = "mdio"; + drive-strength = <8>; + bias-pull-up; + }; + }; +}; + + +&blsp1_uart3 { + status = "okay"; +}; + +&blsp1_uart5 { + status = "okay"; +}; + +&prng { + status = "okay"; +}; + +&cryptobam { + status = "okay"; +}; + +&crypto { + status = "okay"; +}; + +&qpic_bam { + status = "okay"; +}; + + +&blsp1_spi1 { + pinctrl-0 = <&spi_0_pins>; + pinctrl-names = "default"; + cs-gpios = <0>; + status = "okay"; + + /* + * Bootloader will find the NAND DT node by the compatible and + * then "fixup" it by adding the partitions from the SMEM table + * using the legacy bindings thus making it impossible for us + * to change the partition table or utilize NVMEM for calibration. + * So add a dummy partitions node that bootloader will populate + * and set it as disabled so the kernel ignores it instead of + * printing warnings due to the broken way bootloader adds the + * partitions. + */ + partitions { + status = "disabled"; + }; + + + flash@0 { + #address-cells = <1>; + #size-cells = <1>; + reg = <0>; + compatible = "jedec,spi-nor"; + spi-max-frequency = <50000000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "0:sbl1"; + reg = <0x0 0x50000>; + read-only; + }; + + partition@50000 { + label = "0:mibib"; + reg = <0x50000 0x10000>; + read-only; + }; + + partition@60000 { + label = "0:bootconfig"; + reg = <0x60000 0x20000>; + read-only; + }; + + partition@80000 { + label = "0:bootconfig1"; + reg = <0x80000 0x20000>; + read-only; + }; + + partition@a0000 { + label = "0:qsee"; + reg = <0xa0000 0x180000>; + read-only; + }; + + partition@220000 { + label = "0:qsee_1"; + reg = <0x220000 0x180000>; + read-only; + }; + + partition@3a0000 { + label = "0:devcfg"; + reg = <0x3a0000 0x10000>; + read-only; + }; + + partition@3b0000 { + label = "0:devcfg_1"; + reg = <0x3b0000 0x10000>; + read-only; + }; + + partition@3c0000 { + label = "0:apdp"; + reg = <0x3c0000 0x10000>; + read-only; + }; + + partition@3d0000 { + label = "0:apdp_1"; + reg = <0x3d0000 0x10000>; + read-only; + }; + + partition@3e0000 { + label = "0:rpm"; + reg = <0x3e0000 0x40000>; + read-only; + }; + + partition@420000 { + label = "0:rpm_1"; + reg = <0x420000 0x40000>; + read-only; + }; + + partition@460000 { + label = "0:cdt"; + reg = <0x460000 0x10000>; + read-only; + }; + + partition@470000 { + label = "0:cdt_1"; + reg = <0x470000 0x10000>; + read-only; + }; + + partition@480000 { + label = "0:appsbl"; + reg = <0x480000 0xc0000>; + read-only; + }; + + partition@540000 { + label = "0:appsbl_1"; + reg = <0x540000 0xc0000>; + read-only; + }; + + partition@600000 { + compatible = "u-boot,env"; + label = "0:appsblenv"; + reg = <0x600000 0x10000>; + + macaddr_lan: ethaddr { + }; + }; + + partition@610000 { + label = "0:art"; + reg = <0x610000 0x40000>; + read-only; + }; + + partition@650000 { + label = "0:ethphyfw"; + reg = <0x650000 0x80000>; + read-only; + }; + + partition@6d0000 { + label = "0:crt"; + reg = <0x6d0000 0x10000>; + read-only; + }; + + partition@6e0000 { + label = "dual_flag"; + reg = <0x6e0000 0x10000>; + }; + + partition@6f0000 { + label = "reserved"; + reg = <0x6f0000 0x110000>; + read-only; + }; + }; + }; +}; + +&mdio { + status = "okay"; + pinctrl-0 = <&mdio_pins>; + pinctrl-names = "default"; + reset-gpios = <&tlmm 37 GPIO_ACTIVE_LOW>; + + qca8075_1: ethernet-phy@0 { + compatible = "ethernet-phy-ieee802.3-c22"; + reg = <0>; + }; + + qca8075_2: ethernet-phy@1 { + compatible = "ethernet-phy-ieee802.3-c22"; + reg = <1>; + }; + + qca8075_3: ethernet-phy@2 { + compatible = "ethernet-phy-ieee802.3-c22"; + reg = <2>; + }; + + qca8075_4: ethernet-phy@3 { + compatible = "ethernet-phy-ieee802.3-c22"; + reg = <3>; + }; + + qca8081: ethernet-phy@4{ + compatible = "ethernet-phy-id004d.d101"; + reg = <28>; + reset-gpios = <&tlmm 31 GPIO_ACTIVE_LOW>; + }; + + aqr113c: ethernet-phy@5 { + compatible = "ethernet-phy-ieee802.3-c45"; + reg = <8>; + reset-gpios = <&tlmm 63 GPIO_ACTIVE_LOW>; + }; +}; + +&switch { + status = "okay"; + + switch_cpu_bmp = <0x1>; + switch_lan_bmp = <0x3e>; + switch_wan_bmp = <0x40>; + switch_mac_mode = <0x0>; + switch_mac_mode1 = <0xf>; + switch_mac_mode2 = <0xd>; + bm_tick_mode = <0>; + tm_tick_mode = <0>; + + qcom,port_phyinfo { + port@0 { + port_id = <1>; + phy_address = <0>; + }; + + port@1 { + port_id = <2>; + phy_address = <1>; + }; + + port@2 { + port_id = <3>; + phy_address = <2>; + }; + + port@3 { + port_id = <4>; + phy_address = <3>; + }; + + port@4 { + port_id = <5>; + phy_address = <28>; + port_mac_sel = "QGMAC_PORT"; + }; + + port@5 { + port_id = <6>; + ethernet-phy-ieee802.3-c45; + phy_address = <8>; + }; + }; +}; + +&edma { + status = "okay"; +}; + +&dp1 { + status = "okay"; + phy-handle = <&qca8075_1>; + label = "lan1"; + nvmem-cells = <&macaddr_lan>; + nvmem-cell-names = "mac-address-ascii"; +}; + +&dp2 { + status = "okay"; + phy-handle = <&qca8075_2>; + label = "lan2"; + nvmem-cells = <&macaddr_lan>; + nvmem-cell-names = "mac-address-ascii"; +}; + +&dp3 { + status = "okay"; + phy-handle = <&qca8075_3>; + label = "lan3"; + nvmem-cells = <&macaddr_lan>; + nvmem-cell-names = "mac-address-ascii"; +}; + +&dp4 { + status = "okay"; + phy-handle = <&qca8075_4>; + label = "lan4"; + nvmem-cells = <&macaddr_lan>; + nvmem-cell-names = "mac-address-ascii"; +}; + +&dp5 { + status = "okay"; + phy-handle = <&qca8081>; + label = "wan"; + nvmem-cells = <&macaddr_lan>; + nvmem-cell-names = "mac-address-ascii"; + mac-address-increment = <1>; +}; + +&dp6_syn { + status = "okay"; + phy-handle = <&aqr113c>; + label = "10g"; + nvmem-cells = <&macaddr_lan>; + nvmem-cell-names = "mac-address-ascii"; +}; + +&blsp1_i2c2 { + pinctrl-0 = <&i2c_0_pins>; + pinctrl-names = "default"; + status = "okay"; + + tmp103@70 { + compatible = "ti,tmp103"; + reg = <0x70>; + }; +}; + +&sdhc_1 { + status = "okay"; + /* unstable, problem with the hs400 > h200 speed switch */ + /delete-property/ mmc-hs400-1_8v; + mmc-hs200-1_8v; + mmc-ddr-1_8v; + vqmmc-supply = <&l11>; +}; + +&ssphy_0 { + status = "okay"; +}; + +&qusb_phy_0 { + status = "okay"; +}; + +&ssphy_1 { + status = "okay"; +}; + +&qusb_phy_1 { + status = "okay"; +}; + +&usb_0 { + status = "okay"; +}; + +&usb_1 { + status = "okay"; +}; + +&wifi { + status = "okay"; + + qcom,ath11k-calibration-variant = "Zyxel-NBG7815"; +}; diff --git a/target/linux/ipq807x/image/generic.mk b/target/linux/ipq807x/image/generic.mk index 811a32e942b..3145e1b53f1 100644 --- a/target/linux/ipq807x/image/generic.mk +++ b/target/linux/ipq807x/image/generic.mk @@ -116,3 +116,18 @@ ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),) endif endef TARGET_DEVICES += xiaomi_ax9000 + +define Device/zyxel_nbg7815 + $(call Device/FitImage) + DEVICE_VENDOR := ZYXEL + DEVICE_MODEL := NBG7815 + DEVICE_DTS_CONFIG := config@nbg7815 + BLOCKSIZE := 128k + PAGESIZE := 2048 + SOC := ipq8074 + IMAGES += factory.bin sysupgrade.bin + IMAGE/factory.bin := append-rootfs | pad-rootfs | pad-to 64k + IMAGE/sysupgrade.bin/squashfs := append-rootfs | pad-to 64k | sysupgrade-tar rootfs=$$$$@ | append-metadata + DEVICE_PACKAGES := ipq-wifi-zyxel_nbg7815 kmod-ath11k-pci e2fsprogs kmod-fs-ext4 losetup kmod-hwmon-tmp103 +endef +TARGET_DEVICES += zyxel_nbg7815