Merge Official Source

Signed-off-by: Tianling Shen <cnsztl@gmail.com>
This commit is contained in:
Tianling Shen 2024-03-07 17:30:56 +08:00
commit 9880d4a680
No known key found for this signature in database
GPG Key ID: 6850B6345C862176
15 changed files with 453 additions and 40 deletions

View File

@ -237,6 +237,7 @@ include /lib/upgrade
create_backup_archive() {
local conf_tar="$1"
local disabled
local err
[ "$(rootfs_type)" = "tmpfs" ] && {
echo "Cannot save config while running from ramdisk." >&2
@ -251,16 +252,22 @@ create_backup_archive() {
v "Saving config files..."
[ "$VERBOSE" -gt 1 ] && TAR_V="v" || TAR_V=""
sed -i -e 's,^/,,' "$CONFFILES"
set -o pipefail
{
local ret=0
if [ $ret -eq 0 ]; then
for service in /etc/init.d/*; do
if ! $service enabled; then
disabled="$disabled$service disable\n"
fi
done
disabled="$disabled\nexit 0"
tar_print_member "/etc/uci-defaults/10_disable_services" "$(echo -e $disabled)"
tar_print_member "/etc/uci-defaults/10_disable_services" "$(echo -e $disabled)" || ret=1
fi
# Part of archive with installed packages info
if [ $ret -eq 0 ]; then
if [ "$SAVE_INSTALLED_PKGS" -eq 1 ]; then
# Format: pkg-name<TAB>{rom,overlay,unknown}
# rom is used for pkgs in /rom, even if updated later
@ -268,14 +275,20 @@ create_backup_archive() {
\( -exec test -f /rom/{} \; -exec echo {} rom \; \) -o \
\( -exec test -f /overlay/upper/{} \; -exec echo {} overlay \; \) -o \
\( -exec echo {} unknown \; \) \
\) | sed -e 's,.*/,,;s/\.control /\t/')"
\) | sed -e 's,.*/,,;s/\.control /\t/')" || ret=1
fi
fi
# Rest of archive with config files and ending padding
tar c${TAR_V} -C / -T "$CONFFILES"
} | gzip > "${conf_tar:-/proc/self/fd/1}"
if [ $ret -eq 0 ]; then
tar c${TAR_V} -C / -T "$CONFFILES" || ret=1
fi
[ $ret -eq 0 ]
} | gzip > "${conf_tar:-/proc/self/fd/1}"
err=$?
set +o pipefail
local err=$?
if [ "$err" -ne 0 ]; then
echo "Failed to create the configuration backup."
[ -f "$conf_tar" ] && rm -f "$conf_tar"

View File

@ -14,6 +14,11 @@ case "$board" in
[ -n "$idx" ] && \
ubootenv_add_uci_config "/dev/mtd$idx" "0x0" "0x10000" "0x10000"
;;
netgear,wax214)
idx="$(find_mtd_index 0:appsblenv)"
[ -n "$idx" ] && \
ubootenv_add_uci_config "/dev/mtd$idx" "0x0" "0x40000" "0x20000" "2"
;;
esac
config_load ubootenv

View File

@ -6,9 +6,9 @@ PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL=$(PROJECT_GIT)/project/firmware/qca-wireless.git
PKG_SOURCE_DATE:=2024-02-25
PKG_SOURCE_VERSION:=fc30aeeb8ec5d069710a446f4eb5e30fc26145c1
PKG_MIRROR_HASH:=7fe83e3f36541444e0385a56fa8a048772d0531e16787cc10bce29775c7db235
PKG_SOURCE_DATE:=2024-03-04
PKG_SOURCE_VERSION:=38c02ae4302f9cb73f6914574239fe84799caa84
PKG_MIRROR_HASH:=0f6a2dea8466ea0e8df3262bff643d60b1725f2218589c41d9f87fb37843c362
PKG_FLAGS:=nonshared
@ -40,6 +40,7 @@ ALLWIFIBOARDS:= \
linksys_mx5300 \
netgear_lbr20 \
netgear_rax120v2 \
netgear_wax214 \
netgear_wax218 \
netgear_wax620 \
netgear_wax630 \
@ -157,6 +158,7 @@ $(eval $(call generate-ipq-wifi-package,linksys_mx4200,Linksys MX4200))
$(eval $(call generate-ipq-wifi-package,linksys_mx5300,Linksys MX5300))
$(eval $(call generate-ipq-wifi-package,netgear_lbr20,Netgear LBR20))
$(eval $(call generate-ipq-wifi-package,netgear_rax120v2,Netgear RAX120v2))
$(eval $(call generate-ipq-wifi-package,netgear_wax214,Netgear WAX214))
$(eval $(call generate-ipq-wifi-package,netgear_wax218,Netgear WAX218))
$(eval $(call generate-ipq-wifi-package,netgear_wax620,Netgear WAX620))
$(eval $(call generate-ipq-wifi-package,netgear_wax630,Netgear WAX630))

View File

@ -10,12 +10,12 @@ include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=cryptodev-linux
PKG_VERSION:=1.12
PKG_VERSION:=1.13
PKG_RELEASE:=1
PKG_SOURCE_URL:=https://codeload.github.com/$(PKG_NAME)/$(PKG_NAME)/tar.gz/$(PKG_NAME)-$(PKG_VERSION)?
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_HASH:=f51c2254749233b1b1d7ec9445158bd709f124f88e1c650fe2faac83c3a81938
PKG_HASH:=33b7915c46eb39a37110e88c681423c0dd0df25d784b6e1475ac3196367f0db5
PKG_LICENSE:=GPL-2.0
PKG_LICENSE_FILES:=COPYING

View File

@ -0,0 +1,41 @@
From 99ae2a39ddc3f89c66d9f09783b591c0f2dbf2e9 Mon Sep 17 00:00:00 2001
From: Gaurav Jain <gaurav.jain@nxp.com>
Date: Wed, 28 Jun 2023 12:44:32 +0530
Subject: [PATCH] cryptodev_verbosity: Fix build for Linux 6.4
register_sysctl_table api is removed in kernel.
migrate to the new api register_sysctl.
child is also removed in linux 6.4 ctl_table struct.
Signed-off-by: Gaurav Jain <gaurav.jain@nxp.com>
---
ioctl.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/ioctl.c b/ioctl.c
index 8f241b86..4262bbd5 100644
--- a/ioctl.c
+++ b/ioctl.c
@@ -1246,7 +1246,9 @@ static struct ctl_table verbosity_ctl_root[] = {
{
.procname = "ioctl",
.mode = 0555,
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(6, 4, 0))
.child = verbosity_ctl_dir,
+#endif
},
{},
};
@@ -1267,7 +1269,11 @@ static int __init init_cryptodev(void)
return rc;
}
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(6, 4, 0))
verbosity_sysctl_header = register_sysctl_table(verbosity_ctl_root);
+#else
+ verbosity_sysctl_header = register_sysctl(verbosity_ctl_root->procname, verbosity_ctl_dir);
+#endif
pr_info(PFX "driver %s loaded.\n", VERSION);

View File

@ -0,0 +1,34 @@
From 592017c3a910a3905b1925aee88c4674e9a596b7 Mon Sep 17 00:00:00 2001
From: Gaurav Jain <gaurav.jain@nxp.com>
Date: Tue, 30 May 2023 17:09:42 +0530
Subject: [PATCH] zero copy: Fix build for Linux 6.4
get_user_pages_remote api prototype is changed in kernel.
struct vm_area_struct **vmas argument is removed.
Migrate to the new API.
Signed-off-by: Gaurav Jain <gaurav.jain@nxp.com>
---
zc.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/zc.c b/zc.c
index fdf7da17..6637945a 100644
--- a/zc.c
+++ b/zc.c
@@ -80,10 +80,14 @@ int __get_userbuf(uint8_t __user *addr, uint32_t len, int write,
ret = get_user_pages_remote(task, mm,
(unsigned long)addr, pgcount, write ? FOLL_WRITE : 0,
pg, NULL, NULL);
-#else
+#elif (LINUX_VERSION_CODE < KERNEL_VERSION(6, 4, 0))
ret = get_user_pages_remote(mm,
(unsigned long)addr, pgcount, write ? FOLL_WRITE : 0,
pg, NULL, NULL);
+#else
+ ret = get_user_pages_remote(mm,
+ (unsigned long)addr, pgcount, write ? FOLL_WRITE : 0,
+ pg, NULL);
#endif
#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0))
up_read(&mm->mmap_sem);

View File

@ -0,0 +1,60 @@
From bb8bc7cf60d2c0b097c8b3b0e807f805b577a53f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Joan=20Bruguera=20Mic=C3=B3?= <joanbrugueram@gmail.com>
Date: Mon, 3 Jul 2023 00:46:02 +0000
Subject: [PATCH] Move recent Linux version #ifdefs from v6.4 to v6.5
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
The latest commits, meant to fix the build on Linux 6.4, are actually
fixing the build for API changes introduced in the merge window of the
yet-unreleased Linux 6.5, and actually break the build for Linux 6.4.
In particular, the upstream commits introducing the API changes are the
following, which are *not* included in the Linux v6.4 tag:
* https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=19c4e618a1bc3d0cad1f04c857be8076cb05bbb2
* https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=ca5e863233e8f6acd1792fd85d6bc2729a1b2c10
Change to #ifdef's to v6.5, where they will most likely be included.
Signed-off-by: Joan Bruguera Micó <joanbrugueram@gmail.com>
---
ioctl.c | 4 ++--
zc.c | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/ioctl.c b/ioctl.c
index 4262bbd..e3eefe1 100644
--- a/ioctl.c
+++ b/ioctl.c
@@ -1246,7 +1246,7 @@ static struct ctl_table verbosity_ctl_root[] = {
{
.procname = "ioctl",
.mode = 0555,
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(6, 4, 0))
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(6, 5, 0))
.child = verbosity_ctl_dir,
#endif
},
@@ -1269,7 +1269,7 @@ static int __init init_cryptodev(void)
return rc;
}
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(6, 4, 0))
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(6, 5, 0))
verbosity_sysctl_header = register_sysctl_table(verbosity_ctl_root);
#else
verbosity_sysctl_header = register_sysctl(verbosity_ctl_root->procname, verbosity_ctl_dir);
diff --git a/zc.c b/zc.c
index 6637945..00e00c1 100644
--- a/zc.c
+++ b/zc.c
@@ -80,7 +80,7 @@ int __get_userbuf(uint8_t __user *addr, uint32_t len, int write,
ret = get_user_pages_remote(task, mm,
(unsigned long)addr, pgcount, write ? FOLL_WRITE : 0,
pg, NULL, NULL);
-#elif (LINUX_VERSION_CODE < KERNEL_VERSION(6, 4, 0))
+#elif (LINUX_VERSION_CODE < KERNEL_VERSION(6, 5, 0))
ret = get_user_pages_remote(mm,
(unsigned long)addr, pgcount, write ? FOLL_WRITE : 0,
pg, NULL, NULL);

View File

@ -0,0 +1,35 @@
From 5e7121e45ff283d30097da381fd7e97c4bb61364 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Joan=20Bruguera=20Mic=C3=B3?= <joanbrugueram@gmail.com>
Date: Sun, 10 Dec 2023 13:57:55 +0000
Subject: [PATCH] Fix build for Linux 6.7-rc1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Since Linux 6.7-rc1, no ahash algorithms set a nonzero alignmask,
and therefore `crypto_ahash_alignmask` has been removed.
See also: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=0f8660c82b79af595b056f6b9f4f227edeb88574
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=c626910f3f1bbce6ad18bc613d895d2a089ed95e
Signed-off-by: Joan Bruguera Micó <joanbrugueram@gmail.com>
---
cryptlib.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/cryptlib.c b/cryptlib.c
index 4d739e5..0e59d4c 100644
--- a/cryptlib.c
+++ b/cryptlib.c
@@ -381,7 +381,11 @@ int cryptodev_hash_init(struct hash_data *hdata, const char *alg_name,
}
hdata->digestsize = crypto_ahash_digestsize(hdata->async.s);
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(6, 7, 0))
hdata->alignmask = crypto_ahash_alignmask(hdata->async.s);
+#else
+ hdata->alignmask = 0;
+#endif
init_completion(&hdata->async.result.completion);

View File

@ -908,6 +908,7 @@ define KernelPackage/crypto-sha1
CONFIG_CRYPTO_SHA1 \
CONFIG_CRYPTO_SHA1_ARM \
CONFIG_CRYPTO_SHA1_ARM_NEON \
CONFIG_CRYPTO_SHA1_ARM64_CE \
CONFIG_CRYPTO_SHA1_OCTEON \
CONFIG_CRYPTO_SHA1_PPC_SPE \
CONFIG_CRYPTO_SHA1_SSSE3
@ -927,9 +928,15 @@ define KernelPackage/crypto-sha1/arm-neon
AUTOLOAD+=$(call AutoLoad,09,sha1-arm-neon)
endef
define KernelPackage/crypto-sha1/aarch64-ce
FILES+=$(LINUX_DIR)/arch/arm64/crypto/sha1-ce.ko
AUTOLOAD+=$(call AutoLoad,09,sha1-ce)
endef
KernelPackage/crypto-sha1/imx=$(KernelPackage/crypto-sha1/arm-neon)
KernelPackage/crypto-sha1/ipq40xx=$(KernelPackage/crypto-sha1/arm-neon)
KernelPackage/crypto-sha1/mvebu/cortexa9=$(KernelPackage/crypto-sha1/arm-neon)
KernelPackage/crypto-sha1/qualcommax=$(KernelPackage/crypto-sha1/aarch64-ce)
define KernelPackage/crypto-sha1/octeon
FILES+=$(LINUX_DIR)/arch/mips/cavium-octeon/crypto/octeon-sha1.ko
@ -958,6 +965,18 @@ endif
$(eval $(call KernelPackage,crypto-sha1))
define KernelPackage/crypto-sha3
TITLE:=SHA3 digest CryptoAPI module
DEPENDS:=+kmod-crypto-hash
KCONFIG:= CONFIG_CRYPTO_SHA3
FILES:=$(LINUX_DIR)/crypto/sha3_generic.ko
AUTOLOAD:=$(call AutoLoad,09,sha3_generic)
$(call AddDepends/crypto)
endef
$(eval $(call KernelPackage,crypto-sha3))
define KernelPackage/crypto-sha256
TITLE:=SHA224 SHA256 digest CryptoAPI module
DEPENDS:=+kmod-crypto-hash
@ -965,6 +984,8 @@ define KernelPackage/crypto-sha256
CONFIG_CRYPTO_SHA256 \
CONFIG_CRYPTO_SHA256_OCTEON \
CONFIG_CRYPTO_SHA256_PPC_SPE \
CONFIG_CRYPTO_SHA256_ARM64 \
CONFIG_CRYPTO_SHA2_ARM64_CE \
CONFIG_CRYPTO_SHA256_SSSE3
FILES:= \
$(LINUX_DIR)/crypto/sha256_generic.ko \
@ -973,6 +994,17 @@ define KernelPackage/crypto-sha256
$(call AddDepends/crypto)
endef
define KernelPackage/crypto-sha256/aarch64
FILES+=$(LINUX_DIR)/arch/arm64/crypto/sha256-arm64.ko
AUTOLOAD+=$(call AutoLoad,09,sha256-arm64)
endef
define KernelPackage/crypto-sha256/aarch64-ce
$(call KernelPackage/crypto-sha256/aarch64)
FILES+=$(LINUX_DIR)/arch/arm64/crypto/sha2-ce.ko
AUTOLOAD+=$(call AutoLoad,09,sha2-ce)
endef
define KernelPackage/crypto-sha256/octeon
FILES+=$(LINUX_DIR)/arch/mips/cavium-octeon/crypto/octeon-sha256.ko
AUTOLOAD+=$(call AutoLoad,09,octeon-sha256)
@ -990,6 +1022,8 @@ define KernelPackage/crypto-sha256/x86_64
endef
endif
KernelPackage/crypto-sha256/qualcommax=$(KernelPackage/crypto-sha256/aarch64-ce)
ifdef KernelPackage/crypto-sha256/$(ARCH)
KernelPackage/crypto-sha256/$(CRYPTO_TARGET)=\
$(KernelPackage/crypto-sha256/$(ARCH))
@ -1004,6 +1038,7 @@ define KernelPackage/crypto-sha512
KCONFIG:= \
CONFIG_CRYPTO_SHA512 \
CONFIG_CRYPTO_SHA512_ARM \
CONFIG_CRYPTO_SHA512_ARM64 \
CONFIG_CRYPTO_SHA512_OCTEON \
CONFIG_CRYPTO_SHA512_SSSE3
FILES:=$(LINUX_DIR)/crypto/sha512_generic.ko
@ -1016,6 +1051,11 @@ define KernelPackage/crypto-sha512/arm
AUTOLOAD+=$(call AutoLoad,09,sha512-arm)
endef
define KernelPackage/crypto-sha512/aarch64
FILES+=$(LINUX_DIR)/arch/arm64/crypto/sha512-arm64.ko
AUTOLOAD+=$(call AutoLoad,09,sha512-arm64)
endef
KernelPackage/crypto-sha512/imx=$(KernelPackage/crypto-sha512/arm)
KernelPackage/crypto-sha512/ipq40xx=$(KernelPackage/crypto-sha512/arm)
KernelPackage/crypto-sha512/mvebu/cortexa9=$(KernelPackage/crypto-sha512/arm)

View File

@ -22,8 +22,6 @@ Signed-off-by: Mantas Pucka <mantas@8devices.com>
src/init/ssdk_dts.c | 27 +++++++++++++++++++++++++++
4 files changed, 32 insertions(+), 8 deletions(-)
diff --git a/include/init/ssdk_dts.h b/include/init/ssdk_dts.h
index 00fa4c1..210c788 100755
--- a/include/init/ssdk_dts.h
+++ b/include/init/ssdk_dts.h
@@ -101,6 +101,7 @@ typedef struct
@ -34,7 +32,7 @@ index 00fa4c1..210c788 100755
} ssdk_dt_cfg;
#define SSDK_MAX_NR_ETH 6
@@ -163,6 +164,7 @@ a_uint32_t ssdk_device_id_get(a_uint32_t index);
@@ -162,6 +163,7 @@ a_uint32_t ssdk_device_id_get(a_uint32_t
struct device_node *ssdk_dts_node_get(a_uint32_t dev_id);
struct clk *ssdk_dts_essclk_get(a_uint32_t dev_id);
struct clk *ssdk_dts_cmnclk_get(a_uint32_t dev_id);
@ -42,8 +40,6 @@ index 00fa4c1..210c788 100755
int ssdk_switch_device_num_init(void);
void ssdk_switch_device_num_exit(void);
diff --git a/src/adpt/cppe/adpt_cppe_portctrl.c b/src/adpt/cppe/adpt_cppe_portctrl.c
index 00d0404..6b32f79 100755
--- a/src/adpt/cppe/adpt_cppe_portctrl.c
+++ b/src/adpt/cppe/adpt_cppe_portctrl.c
@@ -33,6 +33,7 @@
@ -54,7 +50,7 @@ index 00d0404..6b32f79 100755
#include "adpt.h"
#include "adpt_hppe.h"
#include "adpt_cppe_portctrl.h"
@@ -60,8 +61,7 @@ _adpt_cppe_port_mux_mac_set(a_uint32_t dev_id, fal_port_t port_id,
@@ -60,8 +61,7 @@ _adpt_cppe_port_mux_mac_set(a_uint32_t d
case SSDK_PHYSICAL_PORT3:
case SSDK_PHYSICAL_PORT4:
if (mode0 == PORT_WRAPPER_PSGMII) {
@ -64,11 +60,9 @@ index 00d0404..6b32f79 100755
cppe_port_mux_ctrl.bf.port3_pcs_sel =
CPPE_PORT3_PCS_SEL_PCS0_CHANNEL4;
cppe_port_mux_ctrl.bf.port4_pcs_sel =
diff --git a/src/adpt/hppe/adpt_hppe_uniphy.c b/src/adpt/hppe/adpt_hppe_uniphy.c
index 5e36602..bad1eab 100644
--- a/src/adpt/hppe/adpt_hppe_uniphy.c
+++ b/src/adpt/hppe/adpt_hppe_uniphy.c
@@ -1122,9 +1122,6 @@ __adpt_hppe_uniphy_psgmii_mode_set(a_uint32_t dev_id, a_uint32_t uniphy_index)
@@ -1122,9 +1122,6 @@ __adpt_hppe_uniphy_psgmii_mode_set(a_uin
{
a_uint32_t i;
sw_error_t rv = SW_OK;
@ -78,7 +72,7 @@ index 5e36602..bad1eab 100644
union uniphy_mode_ctrl_u uniphy_mode_ctrl;
@@ -1134,9 +1131,7 @@ __adpt_hppe_uniphy_psgmii_mode_set(a_uint32_t dev_id, a_uint32_t uniphy_index)
@@ -1134,9 +1131,7 @@ __adpt_hppe_uniphy_psgmii_mode_set(a_uin
SSDK_DEBUG("uniphy %d is psgmii mode\n", uniphy_index);
#if defined(CPPE)
if (adpt_ppe_type_get(dev_id) == CPPE_TYPE) {
@ -89,11 +83,9 @@ index 5e36602..bad1eab 100644
SSDK_INFO("cypress uniphy %d is qca8072 psgmii mode\n", uniphy_index);
rv = __adpt_cppe_uniphy_mode_set(dev_id, uniphy_index,
PORT_WRAPPER_PSGMII);
diff --git a/src/init/ssdk_dts.c b/src/init/ssdk_dts.c
index 686b6d2..70b0a09 100644
--- a/src/init/ssdk_dts.c
+++ b/src/init/ssdk_dts.c
@@ -279,6 +279,13 @@ struct clk *ssdk_dts_cmnclk_get(a_uint32_t dev_id)
@@ -272,6 +272,13 @@ struct clk *ssdk_dts_cmnclk_get(a_uint32
return cfg->cmnblk_clk;
}
@ -107,7 +99,7 @@ index 686b6d2..70b0a09 100644
#ifndef BOARD_AR71XX
#if defined(CONFIG_OF) && (LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0))
static void ssdk_dt_parse_mac_mode(a_uint32_t dev_id,
@@ -313,6 +320,25 @@ static void ssdk_dt_parse_mac_mode(a_uint32_t dev_id,
@@ -306,6 +313,25 @@ static void ssdk_dt_parse_mac_mode(a_uin
return;
}
@ -133,7 +125,7 @@ index 686b6d2..70b0a09 100644
#ifdef IN_UNIPHY
static void ssdk_dt_parse_uniphy(a_uint32_t dev_id)
{
@@ -1307,6 +1333,7 @@ sw_error_t ssdk_dt_parse(ssdk_init_cfg *cfg, a_uint32_t num, a_uint32_t *dev_id)
@@ -1292,6 +1318,7 @@ sw_error_t ssdk_dt_parse(ssdk_init_cfg *
rv = ssdk_dt_parse_access_mode(switch_node, ssdk_dt_priv);
SW_RTN_ON_ERROR(rv);
ssdk_dt_parse_mac_mode(*dev_id, switch_node, cfg);
@ -141,6 +133,3 @@ index 686b6d2..70b0a09 100644
ssdk_dt_parse_mdio(*dev_id, switch_node, cfg);
ssdk_dt_parse_port_bmp(*dev_id, switch_node, cfg);
ssdk_dt_parse_interrupt(*dev_id, switch_node);
--
2.7.4

View File

@ -0,0 +1,172 @@
// SPDX-License-Identifier: (GPL-2.0+)
/dts-v1/;
#include "ipq6018.dtsi"
#include "ipq6018-cp-cpu.dtsi"
#include "ipq6018-ess.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/leds/common.h>
/ {
model = "Netgear WAX214";
compatible = "netgear,wax214", "qcom,ipq6018";
aliases {
serial0 = &blsp1_uart3;
ethernet0 = &dp3;
label-mac-device = &dp3;
led-boot = &pwr;
led-failsafe = &pwr;
led-running = &pwr;
led-upgrade = &pwr;
};
chosen {
stdout-path = "serial0:115200n8";
bootargs-append = " root=/dev/ubiblock0_1";
};
keys {
compatible = "gpio-keys";
reset {
label = "reset";
gpios = <&tlmm 9 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
};
leds {
compatible = "gpio-leds";
pwr: pwr {
color = <LED_COLOR_ID_ORANGE>;
function = LED_FUNCTION_POWER;
gpios = <&tlmm 28 GPIO_ACTIVE_HIGH>;
};
lan {
color = <LED_COLOR_ID_BLUE>;
function = LED_FUNCTION_LAN;
gpios = <&tlmm 29 GPIO_ACTIVE_HIGH>;
};
wlan2g {
color = <LED_COLOR_ID_BLUE>;
function = LED_FUNCTION_WLAN;
function-enumerator = <0>;
gpios = <&tlmm 30 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "phy0radio";
};
wlan5g {
color = <LED_COLOR_ID_BLUE>;
function = LED_FUNCTION_WLAN;
function-enumerator = <1>;
gpios = <&tlmm 31 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "phy1radio";
};
};
};
&blsp1_uart3 {
pinctrl-0 = <&serial_3_pins>;
pinctrl-names = "default";
status = "okay";
};
&tlmm {
mdio_pins: mdio-pins {
mdc {
pins = "gpio64";
function = "mdc";
drive-strength = <8>;
bias-pull-up;
};
mdio {
pins = "gpio65";
function = "mdio";
drive-strength = <8>;
bias-pull-up;
};
};
};
&dp3 {
status = "okay";
phy-handle = <&qca8072_4>;
label = "lan";
};
&edma {
status = "okay";
};
&mdio {
status = "okay";
pinctrl-0 = <&mdio_pins>;
pinctrl-names = "default";
reset-gpios = <&tlmm 75 GPIO_ACTIVE_LOW>;
reset-delay-us = <10000>;
reset-post-delay-us = <50000>;
ethernet-phy-package@0 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "qcom,qca8075-package";
reg = <0>;
qcom,package-mode = "psgmii";
qca8072_4: ethernet-phy@4 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <4>;
};
};
};
&switch {
status = "okay";
switch_lan_bmp = <ESS_PORT3>;
switch_mac_mode = <MAC_MODE_PSGMII>;
port3_pcs_channel = <4>;
qcom,port_phyinfo {
port@3 {
port_id = <3>;
phy_address = <4>;
};
};
};
&qpic_bam {
status = "okay";
};
&qpic_nand {
status = "okay";
nand@0 {
reg = <0>;
nand-ecc-strength = <4>;
nand-ecc-step-size = <512>;
nand-bus-width = <8>;
partitions {
compatible = "qcom,smem-part";
};
};
};
&wifi {
status = "okay";
qcom,ath11k-fw-memory-mode = <1>;
qcom,ath11k-calibration-variant = "Netgear-WAX214";
};

View File

@ -10,3 +10,16 @@ define Device/8devices_mango-dvk
DEVICE_PACKAGES := ipq-wifi-8devices_mango
endef
TARGET_DEVICES += 8devices_mango-dvk
define Device/netgear_wax214
$(call Device/FitImage)
$(call Device/UbiFit)
DEVICE_VENDOR := Netgear
DEVICE_MODEL := WAX214
BLOCKSIZE := 128k
PAGESIZE := 2048
DEVICE_DTS_CONFIG := config@cp03-c1
SOC := ipq6010
DEVICE_PACKAGES := ipq-wifi-netgear_wax214
endef
TARGET_DEVICES += netgear_wax214

View File

@ -14,6 +14,9 @@ ipq60xx_setup_interfaces()
8devices,mango-dvk)
ucidef_set_interfaces_lan_wan "lan1 lan2" "wan"
;;
netgear,wax214)
ucidef_set_interfaces_lan_wan "lan"
;;
*)
echo "Unsupported hardware. Network interfaces not initialized"
;;

View File

@ -12,6 +12,9 @@ case "$FIRMWARE" in
8devices,mango-dvk)
caldata_extract "0:ART" 0x1000 0x20000
;;
netgear,wax214)
caldata_extract "0:art" 0x1000 0x10000
;;
esac
;;
*)

View File

@ -10,6 +10,9 @@ platform_check_image() {
platform_do_upgrade() {
case "$(board_name)" in
netgear,wax214)
nand_do_upgrade "$1"
;;
*)
default_do_upgrade "$1"
;;