From 1e93208bd2c605704b19fe8b04025c20c17e808d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oto=20=C5=A0=C5=A5=C3=A1va?= Date: Fri, 16 Feb 2024 16:28:10 +0100 Subject: [PATCH 01/43] build: add explicit --no-show-signature for git MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When `log.showSignature` is set, it causes the `SOURCE_DATE_EPOCH` to include a textual signature description on OpenPGP-signed commits, because Git prints the description into stdout. This then causes some scripts to fail because they cannot parse the date from the variable. Adding an explicit `--no-show-signature` prevents the signatures from being displayed even when one has Git configured to show them by default, fixing the scripts. Signed-off-by: Oto Šťáva --- scripts/get_source_date_epoch.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/get_source_date_epoch.sh b/scripts/get_source_date_epoch.sh index d122acf385..727cb0372b 100755 --- a/scripts/get_source_date_epoch.sh +++ b/scripts/get_source_date_epoch.sh @@ -15,8 +15,8 @@ try_version() { } try_git() { - SOURCE_DATE_EPOCH=$(git -C "$SOURCE" log -1 --format=format:%ct \ - "$SOURCE" 2>/dev/null) + SOURCE_DATE_EPOCH=$(git -C "$SOURCE" log -1 --no-show-signature \ + --format=format:%ct "$SOURCE" 2>/dev/null) [ -n "$SOURCE_DATE_EPOCH" ] } From c42b915af0ea53bc1b65bc72afc9875da08b14d2 Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Tue, 20 Feb 2024 21:14:03 +0000 Subject: [PATCH 02/43] build: don't drop 'user' flag when using the ImageBuilder Commit be9023ed43 ("build: fix opkg flags in rootfs") introduced a call to 'awk' which removes the 'user' flag from all installed packages in the opkg status file. While is is somehow desireable when building images directly within the buildroot, when using the ImageBuilder dropping the 'user' flag means loosing information about a package being deliberately selected or just implicitely pulled as a dependency. And that then break tools like 'auc' which request only packages having the 'user' flag from the asu server, resulting in broken images being delivered to users. Restore the original behavior in case of an image being created using the ImageBuilder. Fixes: be9023ed43 ("build: fix opkg flags in rootfs") Signed-off-by: Daniel Golle --- include/rootfs.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/rootfs.mk b/include/rootfs.mk index 2128aefc2a..b07f33d204 100644 --- a/include/rootfs.mk +++ b/include/rootfs.mk @@ -87,11 +87,11 @@ define prepare_rootfs fi; \ done || true \ ) - awk -i inplace \ + $(if $(IB),,awk -i inplace \ '/^Status:/ { \ if ($$3 == "user") { $$3 = "ok" } \ else { sub(/,\|\,/, "", $$3) } \ - }1' $(1)/usr/lib/opkg/status + }1' $(1)/usr/lib/opkg/status) $(if $(SOURCE_DATE_EPOCH),sed -i "s/Installed-Time: .*/Installed-Time: $(SOURCE_DATE_EPOCH)/" $(1)/usr/lib/opkg/status) @-find $(1) -name CVS -o -name .svn -o -name .git -o -name '.#*' | $(XARGS) rm -rf rm -rf \ From 4883e4c04f13b3d7d37a379180583a3b48031aa9 Mon Sep 17 00:00:00 2001 From: Christian Marangi Date: Thu, 15 Feb 2024 21:23:38 +0100 Subject: [PATCH 03/43] generic: replace simple AQR hack patch with upstream version Simple AQR hack patch has been merged upstream, hence we can drop it from hack directory and move it to backport. The patch for 5.15 are correctly reworked to align to outdated API. Signed-off-by: Christian Marangi --- ...antia-add-AQR111-and-AQR111B0-PHY-ID.patch | 100 +++++++++++++++ ...9-net-phy-aquantia-add-AQR113-PHY-ID.patch | 59 +++++++++ ...9-net-phy-aquantia-add-AQR813-PHY-ID.patch | 58 +++++++++ ...antia-add-AQR111-and-AQR111B0-PHY-ID.patch | 102 +++++++++++++++ ...9-net-phy-aquantia-add-AQR113-PHY-ID.patch | 60 +++++++++ ...9-net-phy-aquantia-add-AQR813-PHY-ID.patch | 59 +++++++++ .../hack-5.15/720-net-phy-add-aqr-phys.patch | 120 ------------------ ...hy-aquantia-enable-AQR112-and-AQR412.patch | 14 +- ...aquantia-fix-system-side-protocol-mi.patch | 2 +- ...y-aquantia-Add-AQR113-driver-support.patch | 43 ------- ...ntia-add-PHY_IDs-for-AQR112-variants.patch | 14 +- ...-aquantia-enable-AQR111-and-AQR111B0.patch | 109 ---------------- .../hack-6.1/720-net-phy-add-aqr-phys.patch | 120 ------------------ ...hy-aquantia-enable-AQR112-and-AQR412.patch | 14 +- ...aquantia-fix-system-side-protocol-mi.patch | 2 +- ...y-aquantia-Add-AQR113-driver-support.patch | 43 ------- ...ntia-add-PHY_IDs-for-AQR112-variants.patch | 14 +- ...-aquantia-enable-AQR111-and-AQR111B0.patch | 110 ---------------- 18 files changed, 468 insertions(+), 575 deletions(-) create mode 100644 target/linux/generic/backport-5.15/738-v6.9-net-phy-aquantia-add-AQR111-and-AQR111B0-PHY-ID.patch create mode 100644 target/linux/generic/backport-5.15/739-v6.9-net-phy-aquantia-add-AQR113-PHY-ID.patch create mode 100644 target/linux/generic/backport-5.15/740-v6.9-net-phy-aquantia-add-AQR813-PHY-ID.patch create mode 100644 target/linux/generic/backport-6.1/760-v6.9-net-phy-aquantia-add-AQR111-and-AQR111B0-PHY-ID.patch create mode 100644 target/linux/generic/backport-6.1/761-v6.9-net-phy-aquantia-add-AQR113-PHY-ID.patch create mode 100644 target/linux/generic/backport-6.1/762-v6.9-net-phy-aquantia-add-AQR813-PHY-ID.patch delete mode 100644 target/linux/generic/hack-5.15/720-net-phy-add-aqr-phys.patch delete mode 100644 target/linux/generic/hack-5.15/724-net-phy-aquantia-Add-AQR113-driver-support.patch delete mode 100644 target/linux/generic/hack-5.15/726-net-phy-aquantia-enable-AQR111-and-AQR111B0.patch delete mode 100644 target/linux/generic/hack-6.1/720-net-phy-add-aqr-phys.patch delete mode 100644 target/linux/generic/hack-6.1/724-net-phy-aquantia-Add-AQR113-driver-support.patch delete mode 100644 target/linux/generic/hack-6.1/726-net-phy-aquantia-enable-AQR111-and-AQR111B0.patch diff --git a/target/linux/generic/backport-5.15/738-v6.9-net-phy-aquantia-add-AQR111-and-AQR111B0-PHY-ID.patch b/target/linux/generic/backport-5.15/738-v6.9-net-phy-aquantia-add-AQR111-and-AQR111B0-PHY-ID.patch new file mode 100644 index 0000000000..d130794c08 --- /dev/null +++ b/target/linux/generic/backport-5.15/738-v6.9-net-phy-aquantia-add-AQR111-and-AQR111B0-PHY-ID.patch @@ -0,0 +1,100 @@ +From 038ba1dc4e54d51d953f5618d8eb5dd39bd9de25 Mon Sep 17 00:00:00 2001 +From: Christian Marangi +Date: Tue, 13 Feb 2024 14:35:51 +0100 +Subject: [PATCH] net: phy: aquantia: add AQR111 and AQR111B0 PHY ID + +Add Aquantia AQR111 and AQR111B0 PHY ID. These PHY advertise 10G speed +but actually supports up to 5G speed, hence some manual fixup is needed. + +The Aquantia AQR111B0 PHY is just a variant of the AQR111 with smaller +chip size. + +Signed-off-by: Christian Marangi +Reviewed-by: Andrew Lunn +Reviewed-by: Andrew Lunn +Link: https://lore.kernel.org/r/20240213133558.1836-1-ansuelsmth@gmail.com +Signed-off-by: Paolo Abeni +--- + drivers/net/phy/aquantia/aquantia_main.c | 52 ++++++++++++++++++++++++ + 1 file changed, 52 insertions(+) + +--- a/drivers/net/phy/aquantia/aquantia_main.c ++++ b/drivers/net/phy/aquantia/aquantia_main.c +@@ -22,6 +22,8 @@ + #define PHY_ID_AQR107 0x03a1b4e0 + #define PHY_ID_AQCS109 0x03a1b5c2 + #define PHY_ID_AQR405 0x03a1b4b0 ++#define PHY_ID_AQR111 0x03a1b610 ++#define PHY_ID_AQR111B0 0x03a1b612 + #define PHY_ID_AQR113C 0x31c31c12 + + #define MDIO_PHYXS_VEND_IF_STATUS 0xe812 +@@ -672,6 +674,16 @@ static int aqr107_probe(struct phy_devic + return aqr_hwmon_probe(phydev); + } + ++static int aqr111_config_init(struct phy_device *phydev) ++{ ++ /* AQR111 reports supporting speed up to 10G, ++ * however only speeds up to 5G are supported. ++ */ ++ phy_set_max_speed(phydev, SPEED_5000); ++ ++ return aqr107_config_init(phydev); ++} ++ + static struct phy_driver aqr_driver[] = { + { + PHY_ID_MATCH_MODEL(PHY_ID_AQ1202), +@@ -746,6 +758,42 @@ static struct phy_driver aqr_driver[] = + .link_change_notify = aqr107_link_change_notify, + }, + { ++ PHY_ID_MATCH_MODEL(PHY_ID_AQR111), ++ .name = "Aquantia AQR111", ++ .probe = aqr107_probe, ++ .config_init = aqr111_config_init, ++ .config_aneg = aqr_config_aneg, ++ .config_intr = aqr_config_intr, ++ .handle_interrupt = aqr_handle_interrupt, ++ .read_status = aqr107_read_status, ++ .get_tunable = aqr107_get_tunable, ++ .set_tunable = aqr107_set_tunable, ++ .suspend = aqr107_suspend, ++ .resume = aqr107_resume, ++ .get_sset_count = aqr107_get_sset_count, ++ .get_strings = aqr107_get_strings, ++ .get_stats = aqr107_get_stats, ++ .link_change_notify = aqr107_link_change_notify, ++}, ++{ ++ PHY_ID_MATCH_MODEL(PHY_ID_AQR111B0), ++ .name = "Aquantia AQR111B0", ++ .probe = aqr107_probe, ++ .config_init = aqr111_config_init, ++ .config_aneg = aqr_config_aneg, ++ .config_intr = aqr_config_intr, ++ .handle_interrupt = aqr_handle_interrupt, ++ .read_status = aqr107_read_status, ++ .get_tunable = aqr107_get_tunable, ++ .set_tunable = aqr107_set_tunable, ++ .suspend = aqr107_suspend, ++ .resume = aqr107_resume, ++ .get_sset_count = aqr107_get_sset_count, ++ .get_strings = aqr107_get_strings, ++ .get_stats = aqr107_get_stats, ++ .link_change_notify = aqr107_link_change_notify, ++}, ++{ + PHY_ID_MATCH_MODEL(PHY_ID_AQR405), + .name = "Aquantia AQR405", + .config_aneg = aqr_config_aneg, +@@ -784,6 +832,8 @@ static struct mdio_device_id __maybe_unu + { PHY_ID_MATCH_MODEL(PHY_ID_AQR107) }, + { PHY_ID_MATCH_MODEL(PHY_ID_AQCS109) }, + { PHY_ID_MATCH_MODEL(PHY_ID_AQR405) }, ++ { PHY_ID_MATCH_MODEL(PHY_ID_AQR111) }, ++ { PHY_ID_MATCH_MODEL(PHY_ID_AQR111B0) }, + { PHY_ID_MATCH_MODEL(PHY_ID_AQR113C) }, + { } + }; diff --git a/target/linux/generic/backport-5.15/739-v6.9-net-phy-aquantia-add-AQR113-PHY-ID.patch b/target/linux/generic/backport-5.15/739-v6.9-net-phy-aquantia-add-AQR113-PHY-ID.patch new file mode 100644 index 0000000000..5a46ab39cf --- /dev/null +++ b/target/linux/generic/backport-5.15/739-v6.9-net-phy-aquantia-add-AQR113-PHY-ID.patch @@ -0,0 +1,59 @@ +From 71b605d32017e5b8d257db7344bc2f8e8fcc973e Mon Sep 17 00:00:00 2001 +From: Christian Marangi +Date: Thu, 15 Feb 2024 16:30:05 +0100 +Subject: [PATCH] net: phy: aquantia: add AQR113 PHY ID + +Add Aquantia AQR113 PHY ID. Aquantia AQR113 is just a chip size variant of +the already supported AQR133C where the only difference is the PHY ID +and the hw chip size. + +Signed-off-by: Christian Marangi +Reviewed-by: Andrew Lunn +Signed-off-by: David S. Miller +--- + drivers/net/phy/aquantia/aquantia_main.c | 21 +++++++++++++++++++++ + 1 file changed, 21 insertions(+) + +--- a/drivers/net/phy/aquantia/aquantia_main.c ++++ b/drivers/net/phy/aquantia/aquantia_main.c +@@ -24,6 +24,7 @@ + #define PHY_ID_AQR405 0x03a1b4b0 + #define PHY_ID_AQR111 0x03a1b610 + #define PHY_ID_AQR111B0 0x03a1b612 ++#define PHY_ID_AQR113 0x31c31c40 + #define PHY_ID_AQR113C 0x31c31c12 + + #define MDIO_PHYXS_VEND_IF_STATUS 0xe812 +@@ -802,6 +803,24 @@ static struct phy_driver aqr_driver[] = + .read_status = aqr_read_status, + }, + { ++ PHY_ID_MATCH_MODEL(PHY_ID_AQR113), ++ .name = "Aquantia AQR113", ++ .probe = aqr107_probe, ++ .config_init = aqr107_config_init, ++ .config_aneg = aqr_config_aneg, ++ .config_intr = aqr_config_intr, ++ .handle_interrupt = aqr_handle_interrupt, ++ .read_status = aqr107_read_status, ++ .get_tunable = aqr107_get_tunable, ++ .set_tunable = aqr107_set_tunable, ++ .suspend = aqr107_suspend, ++ .resume = aqr107_resume, ++ .get_sset_count = aqr107_get_sset_count, ++ .get_strings = aqr107_get_strings, ++ .get_stats = aqr107_get_stats, ++ .link_change_notify = aqr107_link_change_notify, ++}, ++{ + PHY_ID_MATCH_MODEL(PHY_ID_AQR113C), + .name = "Aquantia AQR113C", + .probe = aqr107_probe, +@@ -834,6 +853,7 @@ static struct mdio_device_id __maybe_unu + { PHY_ID_MATCH_MODEL(PHY_ID_AQR405) }, + { PHY_ID_MATCH_MODEL(PHY_ID_AQR111) }, + { PHY_ID_MATCH_MODEL(PHY_ID_AQR111B0) }, ++ { PHY_ID_MATCH_MODEL(PHY_ID_AQR113) }, + { PHY_ID_MATCH_MODEL(PHY_ID_AQR113C) }, + { } + }; diff --git a/target/linux/generic/backport-5.15/740-v6.9-net-phy-aquantia-add-AQR813-PHY-ID.patch b/target/linux/generic/backport-5.15/740-v6.9-net-phy-aquantia-add-AQR813-PHY-ID.patch new file mode 100644 index 0000000000..49651a5e4f --- /dev/null +++ b/target/linux/generic/backport-5.15/740-v6.9-net-phy-aquantia-add-AQR813-PHY-ID.patch @@ -0,0 +1,58 @@ +From 6d47302a3f0ba31445478d518d98bd55918bc8ab Mon Sep 17 00:00:00 2001 +From: Christian Marangi +Date: Thu, 15 Feb 2024 22:43:30 +0100 +Subject: [PATCH] net: phy: aquantia: add AQR813 PHY ID + +Aquantia AQR813 is the Octal Port variant of the AQR113. Add PHY ID for +it to provide support for it. + +Signed-off-by: Christian Marangi +Reviewed-by: Andrew Lunn +Signed-off-by: David S. Miller +--- + drivers/net/phy/aquantia/aquantia_main.c | 21 +++++++++++++++++++++ + 1 file changed, 21 insertions(+) + +--- a/drivers/net/phy/aquantia/aquantia_main.c ++++ b/drivers/net/phy/aquantia/aquantia_main.c +@@ -26,6 +26,7 @@ + #define PHY_ID_AQR111B0 0x03a1b612 + #define PHY_ID_AQR113 0x31c31c40 + #define PHY_ID_AQR113C 0x31c31c12 ++#define PHY_ID_AQR813 0x31c31cb2 + + #define MDIO_PHYXS_VEND_IF_STATUS 0xe812 + #define MDIO_PHYXS_VEND_IF_STATUS_TYPE_MASK GENMASK(7, 3) +@@ -839,6 +840,24 @@ static struct phy_driver aqr_driver[] = + .get_stats = aqr107_get_stats, + .link_change_notify = aqr107_link_change_notify, + }, ++{ ++ PHY_ID_MATCH_MODEL(PHY_ID_AQR813), ++ .name = "Aquantia AQR813", ++ .probe = aqr107_probe, ++ .config_init = aqr107_config_init, ++ .config_aneg = aqr_config_aneg, ++ .config_intr = aqr_config_intr, ++ .handle_interrupt = aqr_handle_interrupt, ++ .read_status = aqr107_read_status, ++ .get_tunable = aqr107_get_tunable, ++ .set_tunable = aqr107_set_tunable, ++ .suspend = aqr107_suspend, ++ .resume = aqr107_resume, ++ .get_sset_count = aqr107_get_sset_count, ++ .get_strings = aqr107_get_strings, ++ .get_stats = aqr107_get_stats, ++ .link_change_notify = aqr107_link_change_notify, ++}, + }; + + module_phy_driver(aqr_driver); +@@ -855,6 +874,7 @@ static struct mdio_device_id __maybe_unu + { PHY_ID_MATCH_MODEL(PHY_ID_AQR111B0) }, + { PHY_ID_MATCH_MODEL(PHY_ID_AQR113) }, + { PHY_ID_MATCH_MODEL(PHY_ID_AQR113C) }, ++ { PHY_ID_MATCH_MODEL(PHY_ID_AQR813) }, + { } + }; + diff --git a/target/linux/generic/backport-6.1/760-v6.9-net-phy-aquantia-add-AQR111-and-AQR111B0-PHY-ID.patch b/target/linux/generic/backport-6.1/760-v6.9-net-phy-aquantia-add-AQR111-and-AQR111B0-PHY-ID.patch new file mode 100644 index 0000000000..32ac37e8d0 --- /dev/null +++ b/target/linux/generic/backport-6.1/760-v6.9-net-phy-aquantia-add-AQR111-and-AQR111B0-PHY-ID.patch @@ -0,0 +1,102 @@ +From 038ba1dc4e54d51d953f5618d8eb5dd39bd9de25 Mon Sep 17 00:00:00 2001 +From: Christian Marangi +Date: Tue, 13 Feb 2024 14:35:51 +0100 +Subject: [PATCH] net: phy: aquantia: add AQR111 and AQR111B0 PHY ID + +Add Aquantia AQR111 and AQR111B0 PHY ID. These PHY advertise 10G speed +but actually supports up to 5G speed, hence some manual fixup is needed. + +The Aquantia AQR111B0 PHY is just a variant of the AQR111 with smaller +chip size. + +Signed-off-by: Christian Marangi +Reviewed-by: Andrew Lunn +Reviewed-by: Andrew Lunn +Link: https://lore.kernel.org/r/20240213133558.1836-1-ansuelsmth@gmail.com +Signed-off-by: Paolo Abeni +--- + drivers/net/phy/aquantia/aquantia_main.c | 52 ++++++++++++++++++++++++ + 1 file changed, 52 insertions(+) + +--- a/drivers/net/phy/aquantia/aquantia_main.c ++++ b/drivers/net/phy/aquantia/aquantia_main.c +@@ -22,6 +22,8 @@ + #define PHY_ID_AQR107 0x03a1b4e0 + #define PHY_ID_AQCS109 0x03a1b5c2 + #define PHY_ID_AQR405 0x03a1b4b0 ++#define PHY_ID_AQR111 0x03a1b610 ++#define PHY_ID_AQR111B0 0x03a1b612 + #define PHY_ID_AQR113C 0x31c31c12 + + #define MDIO_PHYXS_VEND_IF_STATUS 0xe812 +@@ -670,6 +672,16 @@ static int aqr107_probe(struct phy_devic + return aqr_hwmon_probe(phydev); + } + ++static int aqr111_config_init(struct phy_device *phydev) ++{ ++ /* AQR111 reports supporting speed up to 10G, ++ * however only speeds up to 5G are supported. ++ */ ++ phy_set_max_speed(phydev, SPEED_5000); ++ ++ return aqr107_config_init(phydev); ++} ++ + static struct phy_driver aqr_driver[] = { + { + PHY_ID_MATCH_MODEL(PHY_ID_AQ1202), +@@ -744,6 +756,44 @@ static struct phy_driver aqr_driver[] = + .link_change_notify = aqr107_link_change_notify, + }, + { ++ PHY_ID_MATCH_MODEL(PHY_ID_AQR111), ++ .name = "Aquantia AQR111", ++ .probe = aqr107_probe, ++ .get_rate_matching = aqr107_get_rate_matching, ++ .config_init = aqr111_config_init, ++ .config_aneg = aqr_config_aneg, ++ .config_intr = aqr_config_intr, ++ .handle_interrupt = aqr_handle_interrupt, ++ .read_status = aqr107_read_status, ++ .get_tunable = aqr107_get_tunable, ++ .set_tunable = aqr107_set_tunable, ++ .suspend = aqr107_suspend, ++ .resume = aqr107_resume, ++ .get_sset_count = aqr107_get_sset_count, ++ .get_strings = aqr107_get_strings, ++ .get_stats = aqr107_get_stats, ++ .link_change_notify = aqr107_link_change_notify, ++}, ++{ ++ PHY_ID_MATCH_MODEL(PHY_ID_AQR111B0), ++ .name = "Aquantia AQR111B0", ++ .probe = aqr107_probe, ++ .get_rate_matching = aqr107_get_rate_matching, ++ .config_init = aqr111_config_init, ++ .config_aneg = aqr_config_aneg, ++ .config_intr = aqr_config_intr, ++ .handle_interrupt = aqr_handle_interrupt, ++ .read_status = aqr107_read_status, ++ .get_tunable = aqr107_get_tunable, ++ .set_tunable = aqr107_set_tunable, ++ .suspend = aqr107_suspend, ++ .resume = aqr107_resume, ++ .get_sset_count = aqr107_get_sset_count, ++ .get_strings = aqr107_get_strings, ++ .get_stats = aqr107_get_stats, ++ .link_change_notify = aqr107_link_change_notify, ++}, ++{ + PHY_ID_MATCH_MODEL(PHY_ID_AQR405), + .name = "Aquantia AQR405", + .config_aneg = aqr_config_aneg, +@@ -782,6 +832,8 @@ static struct mdio_device_id __maybe_unu + { PHY_ID_MATCH_MODEL(PHY_ID_AQR107) }, + { PHY_ID_MATCH_MODEL(PHY_ID_AQCS109) }, + { PHY_ID_MATCH_MODEL(PHY_ID_AQR405) }, ++ { PHY_ID_MATCH_MODEL(PHY_ID_AQR111) }, ++ { PHY_ID_MATCH_MODEL(PHY_ID_AQR111B0) }, + { PHY_ID_MATCH_MODEL(PHY_ID_AQR113C) }, + { } + }; diff --git a/target/linux/generic/backport-6.1/761-v6.9-net-phy-aquantia-add-AQR113-PHY-ID.patch b/target/linux/generic/backport-6.1/761-v6.9-net-phy-aquantia-add-AQR113-PHY-ID.patch new file mode 100644 index 0000000000..073bbbd49d --- /dev/null +++ b/target/linux/generic/backport-6.1/761-v6.9-net-phy-aquantia-add-AQR113-PHY-ID.patch @@ -0,0 +1,60 @@ +From 71b605d32017e5b8d257db7344bc2f8e8fcc973e Mon Sep 17 00:00:00 2001 +From: Christian Marangi +Date: Thu, 15 Feb 2024 16:30:05 +0100 +Subject: [PATCH] net: phy: aquantia: add AQR113 PHY ID + +Add Aquantia AQR113 PHY ID. Aquantia AQR113 is just a chip size variant of +the already supported AQR133C where the only difference is the PHY ID +and the hw chip size. + +Signed-off-by: Christian Marangi +Reviewed-by: Andrew Lunn +Signed-off-by: David S. Miller +--- + drivers/net/phy/aquantia/aquantia_main.c | 21 +++++++++++++++++++++ + 1 file changed, 21 insertions(+) + +--- a/drivers/net/phy/aquantia/aquantia_main.c ++++ b/drivers/net/phy/aquantia/aquantia_main.c +@@ -24,6 +24,7 @@ + #define PHY_ID_AQR405 0x03a1b4b0 + #define PHY_ID_AQR111 0x03a1b610 + #define PHY_ID_AQR111B0 0x03a1b612 ++#define PHY_ID_AQR113 0x31c31c40 + #define PHY_ID_AQR113C 0x31c31c12 + + #define MDIO_PHYXS_VEND_IF_STATUS 0xe812 +@@ -802,6 +803,25 @@ static struct phy_driver aqr_driver[] = + .read_status = aqr_read_status, + }, + { ++ PHY_ID_MATCH_MODEL(PHY_ID_AQR113), ++ .name = "Aquantia AQR113", ++ .probe = aqr107_probe, ++ .get_rate_matching = aqr107_get_rate_matching, ++ .config_init = aqr107_config_init, ++ .config_aneg = aqr_config_aneg, ++ .config_intr = aqr_config_intr, ++ .handle_interrupt = aqr_handle_interrupt, ++ .read_status = aqr107_read_status, ++ .get_tunable = aqr107_get_tunable, ++ .set_tunable = aqr107_set_tunable, ++ .suspend = aqr107_suspend, ++ .resume = aqr107_resume, ++ .get_sset_count = aqr107_get_sset_count, ++ .get_strings = aqr107_get_strings, ++ .get_stats = aqr107_get_stats, ++ .link_change_notify = aqr107_link_change_notify, ++}, ++{ + PHY_ID_MATCH_MODEL(PHY_ID_AQR113C), + .name = "Aquantia AQR113C", + .probe = aqr107_probe, +@@ -834,6 +854,7 @@ static struct mdio_device_id __maybe_unu + { PHY_ID_MATCH_MODEL(PHY_ID_AQR405) }, + { PHY_ID_MATCH_MODEL(PHY_ID_AQR111) }, + { PHY_ID_MATCH_MODEL(PHY_ID_AQR111B0) }, ++ { PHY_ID_MATCH_MODEL(PHY_ID_AQR113) }, + { PHY_ID_MATCH_MODEL(PHY_ID_AQR113C) }, + { } + }; diff --git a/target/linux/generic/backport-6.1/762-v6.9-net-phy-aquantia-add-AQR813-PHY-ID.patch b/target/linux/generic/backport-6.1/762-v6.9-net-phy-aquantia-add-AQR813-PHY-ID.patch new file mode 100644 index 0000000000..965b8c91b2 --- /dev/null +++ b/target/linux/generic/backport-6.1/762-v6.9-net-phy-aquantia-add-AQR813-PHY-ID.patch @@ -0,0 +1,59 @@ +From 6d47302a3f0ba31445478d518d98bd55918bc8ab Mon Sep 17 00:00:00 2001 +From: Christian Marangi +Date: Thu, 15 Feb 2024 22:43:30 +0100 +Subject: [PATCH] net: phy: aquantia: add AQR813 PHY ID + +Aquantia AQR813 is the Octal Port variant of the AQR113. Add PHY ID for +it to provide support for it. + +Signed-off-by: Christian Marangi +Reviewed-by: Andrew Lunn +Signed-off-by: David S. Miller +--- + drivers/net/phy/aquantia/aquantia_main.c | 21 +++++++++++++++++++++ + 1 file changed, 21 insertions(+) + +--- a/drivers/net/phy/aquantia/aquantia_main.c ++++ b/drivers/net/phy/aquantia/aquantia_main.c +@@ -26,6 +26,7 @@ + #define PHY_ID_AQR111B0 0x03a1b612 + #define PHY_ID_AQR113 0x31c31c40 + #define PHY_ID_AQR113C 0x31c31c12 ++#define PHY_ID_AQR813 0x31c31cb2 + + #define MDIO_PHYXS_VEND_IF_STATUS 0xe812 + #define MDIO_PHYXS_VEND_IF_STATUS_TYPE_MASK GENMASK(7, 3) +@@ -840,6 +841,25 @@ static struct phy_driver aqr_driver[] = + .get_stats = aqr107_get_stats, + .link_change_notify = aqr107_link_change_notify, + }, ++{ ++ PHY_ID_MATCH_MODEL(PHY_ID_AQR813), ++ .name = "Aquantia AQR813", ++ .probe = aqr107_probe, ++ .get_rate_matching = aqr107_get_rate_matching, ++ .config_init = aqr107_config_init, ++ .config_aneg = aqr_config_aneg, ++ .config_intr = aqr_config_intr, ++ .handle_interrupt = aqr_handle_interrupt, ++ .read_status = aqr107_read_status, ++ .get_tunable = aqr107_get_tunable, ++ .set_tunable = aqr107_set_tunable, ++ .suspend = aqr107_suspend, ++ .resume = aqr107_resume, ++ .get_sset_count = aqr107_get_sset_count, ++ .get_strings = aqr107_get_strings, ++ .get_stats = aqr107_get_stats, ++ .link_change_notify = aqr107_link_change_notify, ++}, + }; + + module_phy_driver(aqr_driver); +@@ -856,6 +876,7 @@ static struct mdio_device_id __maybe_unu + { PHY_ID_MATCH_MODEL(PHY_ID_AQR111B0) }, + { PHY_ID_MATCH_MODEL(PHY_ID_AQR113) }, + { PHY_ID_MATCH_MODEL(PHY_ID_AQR113C) }, ++ { PHY_ID_MATCH_MODEL(PHY_ID_AQR813) }, + { } + }; + diff --git a/target/linux/generic/hack-5.15/720-net-phy-add-aqr-phys.patch b/target/linux/generic/hack-5.15/720-net-phy-add-aqr-phys.patch deleted file mode 100644 index c4a915956e..0000000000 --- a/target/linux/generic/hack-5.15/720-net-phy-add-aqr-phys.patch +++ /dev/null @@ -1,120 +0,0 @@ -From: Birger Koblitz -Date: Sun, 5 Sep 2021 15:13:10 +0200 -Subject: [PATCH] kernel: Add AQR113C and AQR813 support - -This hack adds support for the Aquantia 4th generation, 10GBit -PHYs AQR113C and AQR813. - -Signed-off-by: Birger Koblitz - ---- a/drivers/net/phy/aquantia/aquantia_main.c -+++ b/drivers/net/phy/aquantia/aquantia_main.c -@@ -23,6 +23,7 @@ - #define PHY_ID_AQCS109 0x03a1b5c2 - #define PHY_ID_AQR405 0x03a1b4b0 - #define PHY_ID_AQR113C 0x31c31c12 -+#define PHY_ID_AQR813 0x31c31cb2 - - #define MDIO_PHYXS_VEND_IF_STATUS 0xe812 - #define MDIO_PHYXS_VEND_IF_STATUS_TYPE_MASK GENMASK(7, 3) -@@ -360,6 +361,49 @@ static int aqr107_read_rate(struct phy_d - return 0; - } - -+static int aqr113c_read_status(struct phy_device *phydev) -+{ -+ int val, ret; -+ -+ ret = aqr_read_status(phydev); -+ if (ret) -+ return ret; -+ -+ if (!phydev->link || phydev->autoneg == AUTONEG_DISABLE) -+ return 0; -+ -+ // On AQR113C, the speed returned by aqr_read_status is wrong -+ aqr107_read_rate(phydev); -+ -+ val = phy_read_mmd(phydev, MDIO_MMD_PHYXS, MDIO_PHYXS_VEND_IF_STATUS); -+ if (val < 0) -+ return val; -+ -+ switch (FIELD_GET(MDIO_PHYXS_VEND_IF_STATUS_TYPE_MASK, val)) { -+ case MDIO_PHYXS_VEND_IF_STATUS_TYPE_KR: -+ phydev->interface = PHY_INTERFACE_MODE_10GKR; -+ break; -+ case MDIO_PHYXS_VEND_IF_STATUS_TYPE_XFI: -+ phydev->interface = PHY_INTERFACE_MODE_10GBASER; -+ break; -+ case MDIO_PHYXS_VEND_IF_STATUS_TYPE_USXGMII: -+ phydev->interface = PHY_INTERFACE_MODE_USXGMII; -+ break; -+ case MDIO_PHYXS_VEND_IF_STATUS_TYPE_SGMII: -+ phydev->interface = PHY_INTERFACE_MODE_SGMII; -+ break; -+ case MDIO_PHYXS_VEND_IF_STATUS_TYPE_OCSGMII: -+ phydev->interface = PHY_INTERFACE_MODE_2500BASEX; -+ break; -+ default: -+ phydev->interface = PHY_INTERFACE_MODE_NA; -+ break; -+ } -+ -+ /* Read downshifted rate from vendor register */ -+ return aqr107_read_rate(phydev); -+} -+ - static int aqr107_read_status(struct phy_device *phydev) - { - int val, ret; -@@ -499,7 +543,7 @@ static void aqr107_chip_info(struct phy_ - build_id = FIELD_GET(VEND1_GLOBAL_RSVD_STAT1_FW_BUILD_ID, val); - prov_id = FIELD_GET(VEND1_GLOBAL_RSVD_STAT1_PROV_ID, val); - -- phydev_dbg(phydev, "FW %u.%u, Build %u, Provisioning %u\n", -+ phydev_info(phydev, "FW %u.%u, Build %u, Provisioning %u\n", - fw_major, fw_minor, build_id, prov_id); - } - -@@ -762,7 +806,7 @@ static struct phy_driver aqr_driver[] = - .config_aneg = aqr_config_aneg, - .config_intr = aqr_config_intr, - .handle_interrupt = aqr_handle_interrupt, -- .read_status = aqr107_read_status, -+ .read_status = aqr113c_read_status, - .get_tunable = aqr107_get_tunable, - .set_tunable = aqr107_set_tunable, - .suspend = aqr107_suspend, -@@ -772,6 +816,24 @@ static struct phy_driver aqr_driver[] = - .get_stats = aqr107_get_stats, - .link_change_notify = aqr107_link_change_notify, - }, -+{ -+ PHY_ID_MATCH_MODEL(PHY_ID_AQR813), -+ .name = "Aquantia AQR813", -+ .probe = aqr107_probe, -+ .config_init = aqr107_config_init, -+ .config_aneg = aqr_config_aneg, -+ .config_intr = aqr_config_intr, -+ .handle_interrupt = aqr_handle_interrupt, -+ .read_status = aqr113c_read_status, -+ .get_tunable = aqr107_get_tunable, -+ .set_tunable = aqr107_set_tunable, -+ .suspend = aqr107_suspend, -+ .resume = aqr107_resume, -+ .get_sset_count = aqr107_get_sset_count, -+ .get_strings = aqr107_get_strings, -+ .get_stats = aqr107_get_stats, -+ .link_change_notify = aqr107_link_change_notify, -+}, - }; - - module_phy_driver(aqr_driver); -@@ -785,6 +847,7 @@ static struct mdio_device_id __maybe_unu - { PHY_ID_MATCH_MODEL(PHY_ID_AQCS109) }, - { PHY_ID_MATCH_MODEL(PHY_ID_AQR405) }, - { PHY_ID_MATCH_MODEL(PHY_ID_AQR113C) }, -+ { PHY_ID_MATCH_MODEL(PHY_ID_AQR813) }, - { } - }; - diff --git a/target/linux/generic/hack-5.15/722-net-phy-aquantia-enable-AQR112-and-AQR412.patch b/target/linux/generic/hack-5.15/722-net-phy-aquantia-enable-AQR112-and-AQR412.patch index 6ec0db2526..d003291f75 100644 --- a/target/linux/generic/hack-5.15/722-net-phy-aquantia-enable-AQR112-and-AQR412.patch +++ b/target/linux/generic/hack-5.15/722-net-phy-aquantia-enable-AQR112-and-AQR412.patch @@ -15,8 +15,8 @@ Signed-off-by: Alex Marginean --- a/drivers/net/phy/aquantia/aquantia_main.c +++ b/drivers/net/phy/aquantia/aquantia_main.c -@@ -24,6 +24,8 @@ - #define PHY_ID_AQR405 0x03a1b4b0 +@@ -27,6 +27,8 @@ + #define PHY_ID_AQR113 0x31c31c40 #define PHY_ID_AQR113C 0x31c31c12 #define PHY_ID_AQR813 0x31c31cb2 +#define PHY_ID_AQR112 0x03a1b662 @@ -24,7 +24,7 @@ Signed-off-by: Alex Marginean #define MDIO_PHYXS_VEND_IF_STATUS 0xe812 #define MDIO_PHYXS_VEND_IF_STATUS_TYPE_MASK GENMASK(7, 3) -@@ -96,6 +98,29 @@ +@@ -99,6 +101,29 @@ #define AQR107_OP_IN_PROG_SLEEP 1000 #define AQR107_OP_IN_PROG_TIMEOUT 100000 @@ -54,7 +54,7 @@ Signed-off-by: Alex Marginean struct aqr107_hw_stat { const char *name; int reg; -@@ -227,6 +252,51 @@ static int aqr_config_aneg(struct phy_de +@@ -230,6 +255,51 @@ static int aqr_config_aneg(struct phy_de return genphy_c45_check_and_restart_aneg(phydev, changed); } @@ -106,7 +106,7 @@ Signed-off-by: Alex Marginean static int aqr_config_intr(struct phy_device *phydev) { bool en = phydev->interrupts == PHY_INTERRUPT_ENABLED; -@@ -834,6 +904,30 @@ static struct phy_driver aqr_driver[] = +@@ -858,6 +928,30 @@ static struct phy_driver aqr_driver[] = .get_stats = aqr107_get_stats, .link_change_notify = aqr107_link_change_notify, }, @@ -137,8 +137,8 @@ Signed-off-by: Alex Marginean }; module_phy_driver(aqr_driver); -@@ -848,6 +942,8 @@ static struct mdio_device_id __maybe_unu - { PHY_ID_MATCH_MODEL(PHY_ID_AQR405) }, +@@ -875,6 +969,8 @@ static struct mdio_device_id __maybe_unu + { PHY_ID_MATCH_MODEL(PHY_ID_AQR113) }, { PHY_ID_MATCH_MODEL(PHY_ID_AQR113C) }, { PHY_ID_MATCH_MODEL(PHY_ID_AQR813) }, + { PHY_ID_MATCH_MODEL(PHY_ID_AQR112) }, diff --git a/target/linux/generic/hack-5.15/723-net-phy-aquantia-fix-system-side-protocol-mi.patch b/target/linux/generic/hack-5.15/723-net-phy-aquantia-fix-system-side-protocol-mi.patch index 33b182eab9..72a70ebc14 100644 --- a/target/linux/generic/hack-5.15/723-net-phy-aquantia-fix-system-side-protocol-mi.patch +++ b/target/linux/generic/hack-5.15/723-net-phy-aquantia-fix-system-side-protocol-mi.patch @@ -14,7 +14,7 @@ Signed-off-by: Alex Marginean --- a/drivers/net/phy/aquantia/aquantia_main.c +++ b/drivers/net/phy/aquantia/aquantia_main.c -@@ -285,10 +285,16 @@ static int aqr_config_aneg_set_prot(stru +@@ -288,10 +288,16 @@ static int aqr_config_aneg_set_prot(stru phy_write_mmd(phydev, MDIO_MMD_VEND1, AQUANTIA_VND1_GSTART_RATE, aquantia_syscfg[if_type].start_rate); diff --git a/target/linux/generic/hack-5.15/724-net-phy-aquantia-Add-AQR113-driver-support.patch b/target/linux/generic/hack-5.15/724-net-phy-aquantia-Add-AQR113-driver-support.patch deleted file mode 100644 index a31b327f9e..0000000000 --- a/target/linux/generic/hack-5.15/724-net-phy-aquantia-Add-AQR113-driver-support.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 2e677e4ae8f8330f68013163b060d0fda3a43095 Mon Sep 17 00:00:00 2001 -From: "Langer, Thomas" -Date: Fri, 9 Jul 2021 17:36:46 +0200 -Subject: [PATCH] PONRTSYS-8842: aquantia: Add AQR113 driver support - -Add a new entry for AQR113 PHY_ID ---- - drivers/net/phy/aquantia/aquantia_main.c | 10 ++++++++++ - 1 file changed, 10 insertions(+) - ---- a/drivers/net/phy/aquantia/aquantia_main.c -+++ b/drivers/net/phy/aquantia/aquantia_main.c -@@ -26,6 +26,7 @@ - #define PHY_ID_AQR813 0x31c31cb2 - #define PHY_ID_AQR112 0x03a1b662 - #define PHY_ID_AQR412 0x03a1b712 -+#define PHY_ID_AQR113 0x31c31c40 - - #define MDIO_PHYXS_VEND_IF_STATUS 0xe812 - #define MDIO_PHYXS_VEND_IF_STATUS_TYPE_MASK GENMASK(7, 3) -@@ -923,6 +924,14 @@ static struct phy_driver aqr_driver[] = - .get_stats = aqr107_get_stats, - }, - { -+ PHY_ID_MATCH_MODEL(PHY_ID_AQR113), -+ .name = "Aquantia AQR113", -+ .config_aneg = aqr_config_aneg, -+ .config_intr = aqr_config_intr, -+ .handle_interrupt = aqr_handle_interrupt, -+ .read_status = aqr107_read_status, -+}, -+{ - PHY_ID_MATCH_MODEL(PHY_ID_AQR412), - .name = "Aquantia AQR412", - .probe = aqr107_probe, -@@ -950,6 +959,7 @@ static struct mdio_device_id __maybe_unu - { PHY_ID_MATCH_MODEL(PHY_ID_AQR813) }, - { PHY_ID_MATCH_MODEL(PHY_ID_AQR112) }, - { PHY_ID_MATCH_MODEL(PHY_ID_AQR412) }, -+ { PHY_ID_MATCH_MODEL(PHY_ID_AQR113) }, - { } - }; - diff --git a/target/linux/generic/hack-5.15/725-net-phy-aquantia-add-PHY_IDs-for-AQR112-variants.patch b/target/linux/generic/hack-5.15/725-net-phy-aquantia-add-PHY_IDs-for-AQR112-variants.patch index b2f79f4d58..2193844e64 100644 --- a/target/linux/generic/hack-5.15/725-net-phy-aquantia-add-PHY_IDs-for-AQR112-variants.patch +++ b/target/linux/generic/hack-5.15/725-net-phy-aquantia-add-PHY_IDs-for-AQR112-variants.patch @@ -12,17 +12,17 @@ Signed-off-by: Daniel Golle --- a/drivers/net/phy/aquantia/aquantia_main.c +++ b/drivers/net/phy/aquantia/aquantia_main.c -@@ -27,6 +27,8 @@ +@@ -29,6 +29,8 @@ + #define PHY_ID_AQR813 0x31c31cb2 #define PHY_ID_AQR112 0x03a1b662 #define PHY_ID_AQR412 0x03a1b712 - #define PHY_ID_AQR113 0x31c31c40 +#define PHY_ID_AQR112C 0x03a1b790 +#define PHY_ID_AQR112R 0x31c31d12 #define MDIO_PHYXS_VEND_IF_STATUS 0xe812 #define MDIO_PHYXS_VEND_IF_STATUS_TYPE_MASK GENMASK(7, 3) -@@ -924,6 +926,30 @@ static struct phy_driver aqr_driver[] = - .get_stats = aqr107_get_stats, +@@ -880,6 +882,30 @@ static struct phy_driver aqr_driver[] = + .read_status = aqr_read_status, }, { + PHY_ID_MATCH_MODEL(PHY_ID_AQR112C), @@ -51,11 +51,11 @@ Signed-off-by: Daniel Golle +{ PHY_ID_MATCH_MODEL(PHY_ID_AQR113), .name = "Aquantia AQR113", - .config_aneg = aqr_config_aneg, -@@ -960,6 +986,8 @@ static struct mdio_device_id __maybe_unu + .probe = aqr107_probe, +@@ -977,6 +1003,8 @@ static struct mdio_device_id __maybe_unu + { PHY_ID_MATCH_MODEL(PHY_ID_AQR813) }, { PHY_ID_MATCH_MODEL(PHY_ID_AQR112) }, { PHY_ID_MATCH_MODEL(PHY_ID_AQR412) }, - { PHY_ID_MATCH_MODEL(PHY_ID_AQR113) }, + { PHY_ID_MATCH_MODEL(PHY_ID_AQR112C) }, + { PHY_ID_MATCH_MODEL(PHY_ID_AQR112R) }, { } diff --git a/target/linux/generic/hack-5.15/726-net-phy-aquantia-enable-AQR111-and-AQR111B0.patch b/target/linux/generic/hack-5.15/726-net-phy-aquantia-enable-AQR111-and-AQR111B0.patch deleted file mode 100644 index 3d2c86169b..0000000000 --- a/target/linux/generic/hack-5.15/726-net-phy-aquantia-enable-AQR111-and-AQR111B0.patch +++ /dev/null @@ -1,109 +0,0 @@ -Author: Thomas Kupper -Date: Wed May 24 21:14:17 2023 +0200 - -kernel: phy: add Aquantia PHY AQR111 & AQR111B0 - -Add the IDs for Aquantia PHY AQR111 and AQR111B0 as found in the GPL sources -of the Netgear RAX120v2 firmware v1.2.8.40. - -This is a 5GbE chip but it reports support for 10G. Implement config_init() -to set max speed to 5G. - -Signed-off-by: Thomas Kupper ---- a/drivers/net/phy/aquantia/aquantia_main.c -+++ b/drivers/net/phy/aquantia/aquantia_main.c -@@ -24,6 +24,8 @@ - #define PHY_ID_AQR405 0x03a1b4b0 - #define PHY_ID_AQR113C 0x31c31c12 - #define PHY_ID_AQR813 0x31c31cb2 -+#define PHY_ID_AQR111 0x03a1b610 -+#define PHY_ID_AQR111B0 0x03a1b612 - #define PHY_ID_AQR112 0x03a1b662 - #define PHY_ID_AQR412 0x03a1b712 - #define PHY_ID_AQR113 0x31c31c40 -@@ -676,6 +678,33 @@ static int aqcs109_config_init(struct ph - return aqr107_set_downshift(phydev, MDIO_AN_VEND_PROV_DOWNSHIFT_DFLT); - } - -+static int aqr111_config_init(struct phy_device *phydev) -+{ -+ int ret; -+ -+ /* Check that the PHY interface type is compatible */ -+ if (phydev->interface != PHY_INTERFACE_MODE_SGMII && -+ phydev->interface != PHY_INTERFACE_MODE_2500BASEX && -+ phydev->interface != PHY_INTERFACE_MODE_XGMII && -+ phydev->interface != PHY_INTERFACE_MODE_USXGMII && -+ phydev->interface != PHY_INTERFACE_MODE_10GKR && -+ phydev->interface != PHY_INTERFACE_MODE_10GBASER) -+ return -ENODEV; -+ -+ WARN(phydev->interface == PHY_INTERFACE_MODE_XGMII, -+ "Your devicetree is out of date, please update it. The AQR107 family doesn't support XGMII, maybe you mean USXGMII.\n"); -+ -+ ret = aqr107_wait_reset_complete(phydev); -+ if (!ret) -+ aqr107_chip_info(phydev); -+ -+ /* AQR111 reports supporting speed up to 10G, however only speeds up to 5G are supported. */ -+ ret = phy_set_max_speed(phydev, SPEED_5000); -+ if (ret) -+ return ret; -+ -+ return aqr107_set_downshift(phydev, MDIO_AN_VEND_PROV_DOWNSHIFT_DFLT); -+} - static void aqr107_link_change_notify(struct phy_device *phydev) - { - u8 fw_major, fw_minor; -@@ -914,6 +943,42 @@ static struct phy_driver aqr_driver[] = - .link_change_notify = aqr107_link_change_notify, - }, - { -+ PHY_ID_MATCH_MODEL(PHY_ID_AQR111), -+ .name = "Aquantia AQR111", -+ .probe = aqr107_probe, -+ .config_init = aqr111_config_init, -+ .config_aneg = aqr_config_aneg, -+ .config_intr = aqr_config_intr, -+ .handle_interrupt = aqr_handle_interrupt, -+ .read_status = aqr107_read_status, -+ .get_tunable = aqr107_get_tunable, -+ .set_tunable = aqr107_set_tunable, -+ .suspend = aqr107_suspend, -+ .resume = aqr107_resume, -+ .get_sset_count = aqr107_get_sset_count, -+ .get_strings = aqr107_get_strings, -+ .get_stats = aqr107_get_stats, -+ .link_change_notify = aqr107_link_change_notify, -+}, -+{ -+ PHY_ID_MATCH_MODEL(PHY_ID_AQR111B0), -+ .name = "Aquantia AQR111B0", -+ .probe = aqr107_probe, -+ .config_init = aqr111_config_init, -+ .config_aneg = aqr_config_aneg, -+ .config_intr = aqr_config_intr, -+ .handle_interrupt = aqr_handle_interrupt, -+ .read_status = aqr107_read_status, -+ .get_tunable = aqr107_get_tunable, -+ .set_tunable = aqr107_set_tunable, -+ .suspend = aqr107_suspend, -+ .resume = aqr107_resume, -+ .get_sset_count = aqr107_get_sset_count, -+ .get_strings = aqr107_get_strings, -+ .get_stats = aqr107_get_stats, -+ .link_change_notify = aqr107_link_change_notify, -+}, -+{ - PHY_ID_MATCH_MODEL(PHY_ID_AQR112), - .name = "Aquantia AQR112", - .probe = aqr107_probe, -@@ -983,6 +1048,8 @@ static struct mdio_device_id __maybe_unu - { PHY_ID_MATCH_MODEL(PHY_ID_AQR405) }, - { PHY_ID_MATCH_MODEL(PHY_ID_AQR113C) }, - { PHY_ID_MATCH_MODEL(PHY_ID_AQR813) }, -+ { PHY_ID_MATCH_MODEL(PHY_ID_AQR111) }, -+ { PHY_ID_MATCH_MODEL(PHY_ID_AQR111B0) }, - { PHY_ID_MATCH_MODEL(PHY_ID_AQR112) }, - { PHY_ID_MATCH_MODEL(PHY_ID_AQR412) }, - { PHY_ID_MATCH_MODEL(PHY_ID_AQR113) }, diff --git a/target/linux/generic/hack-6.1/720-net-phy-add-aqr-phys.patch b/target/linux/generic/hack-6.1/720-net-phy-add-aqr-phys.patch deleted file mode 100644 index df04511c81..0000000000 --- a/target/linux/generic/hack-6.1/720-net-phy-add-aqr-phys.patch +++ /dev/null @@ -1,120 +0,0 @@ -From: Birger Koblitz -Date: Sun, 5 Sep 2021 15:13:10 +0200 -Subject: [PATCH] kernel: Add AQR113C and AQR813 support - -This hack adds support for the Aquantia 4th generation, 10GBit -PHYs AQR113C and AQR813. - -Signed-off-by: Birger Koblitz - ---- a/drivers/net/phy/aquantia/aquantia_main.c -+++ b/drivers/net/phy/aquantia/aquantia_main.c -@@ -23,6 +23,7 @@ - #define PHY_ID_AQCS109 0x03a1b5c2 - #define PHY_ID_AQR405 0x03a1b4b0 - #define PHY_ID_AQR113C 0x31c31c12 -+#define PHY_ID_AQR813 0x31c31cb2 - - #define MDIO_PHYXS_VEND_IF_STATUS 0xe812 - #define MDIO_PHYXS_VEND_IF_STATUS_TYPE_MASK GENMASK(7, 3) -@@ -360,6 +361,49 @@ static int aqr107_read_rate(struct phy_d - return 0; - } - -+static int aqr113c_read_status(struct phy_device *phydev) -+{ -+ int val, ret; -+ -+ ret = aqr_read_status(phydev); -+ if (ret) -+ return ret; -+ -+ if (!phydev->link || phydev->autoneg == AUTONEG_DISABLE) -+ return 0; -+ -+ // On AQR113C, the speed returned by aqr_read_status is wrong -+ aqr107_read_rate(phydev); -+ -+ val = phy_read_mmd(phydev, MDIO_MMD_PHYXS, MDIO_PHYXS_VEND_IF_STATUS); -+ if (val < 0) -+ return val; -+ -+ switch (FIELD_GET(MDIO_PHYXS_VEND_IF_STATUS_TYPE_MASK, val)) { -+ case MDIO_PHYXS_VEND_IF_STATUS_TYPE_KR: -+ phydev->interface = PHY_INTERFACE_MODE_10GKR; -+ break; -+ case MDIO_PHYXS_VEND_IF_STATUS_TYPE_XFI: -+ phydev->interface = PHY_INTERFACE_MODE_10GBASER; -+ break; -+ case MDIO_PHYXS_VEND_IF_STATUS_TYPE_USXGMII: -+ phydev->interface = PHY_INTERFACE_MODE_USXGMII; -+ break; -+ case MDIO_PHYXS_VEND_IF_STATUS_TYPE_SGMII: -+ phydev->interface = PHY_INTERFACE_MODE_SGMII; -+ break; -+ case MDIO_PHYXS_VEND_IF_STATUS_TYPE_OCSGMII: -+ phydev->interface = PHY_INTERFACE_MODE_2500BASEX; -+ break; -+ default: -+ phydev->interface = PHY_INTERFACE_MODE_NA; -+ break; -+ } -+ -+ /* Read downshifted rate from vendor register */ -+ return aqr107_read_rate(phydev); -+} -+ - static int aqr107_read_status(struct phy_device *phydev) - { - int val, ret; -@@ -499,7 +543,7 @@ static void aqr107_chip_info(struct phy_ - build_id = FIELD_GET(VEND1_GLOBAL_RSVD_STAT1_FW_BUILD_ID, val); - prov_id = FIELD_GET(VEND1_GLOBAL_RSVD_STAT1_PROV_ID, val); - -- phydev_dbg(phydev, "FW %u.%u, Build %u, Provisioning %u\n", -+ phydev_info(phydev, "FW %u.%u, Build %u, Provisioning %u\n", - fw_major, fw_minor, build_id, prov_id); - } - -@@ -760,7 +804,7 @@ static struct phy_driver aqr_driver[] = - .config_aneg = aqr_config_aneg, - .config_intr = aqr_config_intr, - .handle_interrupt = aqr_handle_interrupt, -- .read_status = aqr107_read_status, -+ .read_status = aqr113c_read_status, - .get_tunable = aqr107_get_tunable, - .set_tunable = aqr107_set_tunable, - .suspend = aqr107_suspend, -@@ -770,6 +814,24 @@ static struct phy_driver aqr_driver[] = - .get_stats = aqr107_get_stats, - .link_change_notify = aqr107_link_change_notify, - }, -+{ -+ PHY_ID_MATCH_MODEL(PHY_ID_AQR813), -+ .name = "Aquantia AQR813", -+ .probe = aqr107_probe, -+ .config_init = aqr107_config_init, -+ .config_aneg = aqr_config_aneg, -+ .config_intr = aqr_config_intr, -+ .handle_interrupt = aqr_handle_interrupt, -+ .read_status = aqr113c_read_status, -+ .get_tunable = aqr107_get_tunable, -+ .set_tunable = aqr107_set_tunable, -+ .suspend = aqr107_suspend, -+ .resume = aqr107_resume, -+ .get_sset_count = aqr107_get_sset_count, -+ .get_strings = aqr107_get_strings, -+ .get_stats = aqr107_get_stats, -+ .link_change_notify = aqr107_link_change_notify, -+}, - }; - - module_phy_driver(aqr_driver); -@@ -783,6 +845,7 @@ static struct mdio_device_id __maybe_unu - { PHY_ID_MATCH_MODEL(PHY_ID_AQCS109) }, - { PHY_ID_MATCH_MODEL(PHY_ID_AQR405) }, - { PHY_ID_MATCH_MODEL(PHY_ID_AQR113C) }, -+ { PHY_ID_MATCH_MODEL(PHY_ID_AQR813) }, - { } - }; - diff --git a/target/linux/generic/hack-6.1/722-net-phy-aquantia-enable-AQR112-and-AQR412.patch b/target/linux/generic/hack-6.1/722-net-phy-aquantia-enable-AQR112-and-AQR412.patch index 3823050e34..faaa40f9bd 100644 --- a/target/linux/generic/hack-6.1/722-net-phy-aquantia-enable-AQR112-and-AQR412.patch +++ b/target/linux/generic/hack-6.1/722-net-phy-aquantia-enable-AQR112-and-AQR412.patch @@ -15,8 +15,8 @@ Signed-off-by: Alex Marginean --- a/drivers/net/phy/aquantia/aquantia_main.c +++ b/drivers/net/phy/aquantia/aquantia_main.c -@@ -24,6 +24,8 @@ - #define PHY_ID_AQR405 0x03a1b4b0 +@@ -27,6 +27,8 @@ + #define PHY_ID_AQR113 0x31c31c40 #define PHY_ID_AQR113C 0x31c31c12 #define PHY_ID_AQR813 0x31c31cb2 +#define PHY_ID_AQR112 0x03a1b662 @@ -24,7 +24,7 @@ Signed-off-by: Alex Marginean #define MDIO_PHYXS_VEND_IF_STATUS 0xe812 #define MDIO_PHYXS_VEND_IF_STATUS_TYPE_MASK GENMASK(7, 3) -@@ -96,6 +98,29 @@ +@@ -99,6 +101,29 @@ #define AQR107_OP_IN_PROG_SLEEP 1000 #define AQR107_OP_IN_PROG_TIMEOUT 100000 @@ -54,7 +54,7 @@ Signed-off-by: Alex Marginean struct aqr107_hw_stat { const char *name; int reg; -@@ -227,6 +252,51 @@ static int aqr_config_aneg(struct phy_de +@@ -230,6 +255,51 @@ static int aqr_config_aneg(struct phy_de return genphy_c45_check_and_restart_aneg(phydev, changed); } @@ -106,7 +106,7 @@ Signed-off-by: Alex Marginean static int aqr_config_intr(struct phy_device *phydev) { bool en = phydev->interrupts == PHY_INTERRUPT_ENABLED; -@@ -832,6 +902,30 @@ static struct phy_driver aqr_driver[] = +@@ -860,6 +930,30 @@ static struct phy_driver aqr_driver[] = .get_stats = aqr107_get_stats, .link_change_notify = aqr107_link_change_notify, }, @@ -137,8 +137,8 @@ Signed-off-by: Alex Marginean }; module_phy_driver(aqr_driver); -@@ -846,6 +940,8 @@ static struct mdio_device_id __maybe_unu - { PHY_ID_MATCH_MODEL(PHY_ID_AQR405) }, +@@ -877,6 +971,8 @@ static struct mdio_device_id __maybe_unu + { PHY_ID_MATCH_MODEL(PHY_ID_AQR113) }, { PHY_ID_MATCH_MODEL(PHY_ID_AQR113C) }, { PHY_ID_MATCH_MODEL(PHY_ID_AQR813) }, + { PHY_ID_MATCH_MODEL(PHY_ID_AQR112) }, diff --git a/target/linux/generic/hack-6.1/723-net-phy-aquantia-fix-system-side-protocol-mi.patch b/target/linux/generic/hack-6.1/723-net-phy-aquantia-fix-system-side-protocol-mi.patch index 33b182eab9..72a70ebc14 100644 --- a/target/linux/generic/hack-6.1/723-net-phy-aquantia-fix-system-side-protocol-mi.patch +++ b/target/linux/generic/hack-6.1/723-net-phy-aquantia-fix-system-side-protocol-mi.patch @@ -14,7 +14,7 @@ Signed-off-by: Alex Marginean --- a/drivers/net/phy/aquantia/aquantia_main.c +++ b/drivers/net/phy/aquantia/aquantia_main.c -@@ -285,10 +285,16 @@ static int aqr_config_aneg_set_prot(stru +@@ -288,10 +288,16 @@ static int aqr_config_aneg_set_prot(stru phy_write_mmd(phydev, MDIO_MMD_VEND1, AQUANTIA_VND1_GSTART_RATE, aquantia_syscfg[if_type].start_rate); diff --git a/target/linux/generic/hack-6.1/724-net-phy-aquantia-Add-AQR113-driver-support.patch b/target/linux/generic/hack-6.1/724-net-phy-aquantia-Add-AQR113-driver-support.patch deleted file mode 100644 index f59a88a147..0000000000 --- a/target/linux/generic/hack-6.1/724-net-phy-aquantia-Add-AQR113-driver-support.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 2e677e4ae8f8330f68013163b060d0fda3a43095 Mon Sep 17 00:00:00 2001 -From: "Langer, Thomas" -Date: Fri, 9 Jul 2021 17:36:46 +0200 -Subject: [PATCH] PONRTSYS-8842: aquantia: Add AQR113 driver support - -Add a new entry for AQR113 PHY_ID ---- - drivers/net/phy/aquantia/aquantia_main.c | 10 ++++++++++ - 1 file changed, 10 insertions(+) - ---- a/drivers/net/phy/aquantia/aquantia_main.c -+++ b/drivers/net/phy/aquantia/aquantia_main.c -@@ -26,6 +26,7 @@ - #define PHY_ID_AQR813 0x31c31cb2 - #define PHY_ID_AQR112 0x03a1b662 - #define PHY_ID_AQR412 0x03a1b712 -+#define PHY_ID_AQR113 0x31c31c40 - - #define MDIO_PHYXS_VEND_IF_STATUS 0xe812 - #define MDIO_PHYXS_VEND_IF_STATUS_TYPE_MASK GENMASK(7, 3) -@@ -932,6 +933,14 @@ static struct phy_driver aqr_driver[] = - .get_strings = aqr107_get_strings, - .get_stats = aqr107_get_stats, - }, -+{ -+ PHY_ID_MATCH_MODEL(PHY_ID_AQR113), -+ .name = "Aquantia AQR113", -+ .config_aneg = aqr_config_aneg, -+ .config_intr = aqr_config_intr, -+ .handle_interrupt = aqr_handle_interrupt, -+ .read_status = aqr107_read_status, -+}, - }; - - module_phy_driver(aqr_driver); -@@ -948,6 +957,7 @@ static struct mdio_device_id __maybe_unu - { PHY_ID_MATCH_MODEL(PHY_ID_AQR813) }, - { PHY_ID_MATCH_MODEL(PHY_ID_AQR112) }, - { PHY_ID_MATCH_MODEL(PHY_ID_AQR412) }, -+ { PHY_ID_MATCH_MODEL(PHY_ID_AQR113) }, - { } - }; - diff --git a/target/linux/generic/hack-6.1/725-net-phy-aquantia-add-PHY_IDs-for-AQR112-variants.patch b/target/linux/generic/hack-6.1/725-net-phy-aquantia-add-PHY_IDs-for-AQR112-variants.patch index c29c36aa22..d83cc48a33 100644 --- a/target/linux/generic/hack-6.1/725-net-phy-aquantia-add-PHY_IDs-for-AQR112-variants.patch +++ b/target/linux/generic/hack-6.1/725-net-phy-aquantia-add-PHY_IDs-for-AQR112-variants.patch @@ -12,18 +12,18 @@ Signed-off-by: Daniel Golle --- a/drivers/net/phy/aquantia/aquantia_main.c +++ b/drivers/net/phy/aquantia/aquantia_main.c -@@ -27,6 +27,8 @@ +@@ -29,6 +29,8 @@ + #define PHY_ID_AQR813 0x31c31cb2 #define PHY_ID_AQR112 0x03a1b662 #define PHY_ID_AQR412 0x03a1b712 - #define PHY_ID_AQR113 0x31c31c40 +#define PHY_ID_AQR112C 0x03a1b790 +#define PHY_ID_AQR112R 0x31c31d12 #define MDIO_PHYXS_VEND_IF_STATUS 0xe812 #define MDIO_PHYXS_VEND_IF_STATUS_TYPE_MASK GENMASK(7, 3) -@@ -941,6 +943,30 @@ static struct phy_driver aqr_driver[] = - .handle_interrupt = aqr_handle_interrupt, - .read_status = aqr107_read_status, +@@ -960,6 +962,30 @@ static struct phy_driver aqr_driver[] = + .get_strings = aqr107_get_strings, + .get_stats = aqr107_get_stats, }, +{ + PHY_ID_MATCH_MODEL(PHY_ID_AQR112C), @@ -52,10 +52,10 @@ Signed-off-by: Daniel Golle }; module_phy_driver(aqr_driver); -@@ -958,6 +984,8 @@ static struct mdio_device_id __maybe_unu +@@ -979,6 +1005,8 @@ static struct mdio_device_id __maybe_unu + { PHY_ID_MATCH_MODEL(PHY_ID_AQR813) }, { PHY_ID_MATCH_MODEL(PHY_ID_AQR112) }, { PHY_ID_MATCH_MODEL(PHY_ID_AQR412) }, - { PHY_ID_MATCH_MODEL(PHY_ID_AQR113) }, + { PHY_ID_MATCH_MODEL(PHY_ID_AQR112C) }, + { PHY_ID_MATCH_MODEL(PHY_ID_AQR112R) }, { } diff --git a/target/linux/generic/hack-6.1/726-net-phy-aquantia-enable-AQR111-and-AQR111B0.patch b/target/linux/generic/hack-6.1/726-net-phy-aquantia-enable-AQR111-and-AQR111B0.patch deleted file mode 100644 index dbae8f52f4..0000000000 --- a/target/linux/generic/hack-6.1/726-net-phy-aquantia-enable-AQR111-and-AQR111B0.patch +++ /dev/null @@ -1,110 +0,0 @@ -Author: Thomas Kupper -Date: Wed May 24 21:14:17 2023 +0200 - -kernel: phy: add Aquantia PHY AQR111 & AQR111B0 - -Add the IDs for Aquantia PHY AQR111 and AQR111B0 as found in the GPL sources -of the Netgear RAX120v2 firmware v1.2.8.40. - -This is a 5GbE chip but it reports support for 10G. Implement config_init() -to set max speed to 5G. - -Signed-off-by: Thomas Kupper ---- a/drivers/net/phy/aquantia/aquantia_main.c -+++ b/drivers/net/phy/aquantia/aquantia_main.c -@@ -24,6 +24,8 @@ - #define PHY_ID_AQR405 0x03a1b4b0 - #define PHY_ID_AQR113C 0x31c31c12 - #define PHY_ID_AQR813 0x31c31cb2 -+#define PHY_ID_AQR111 0x03a1b610 -+#define PHY_ID_AQR111B0 0x03a1b612 - #define PHY_ID_AQR112 0x03a1b662 - #define PHY_ID_AQR412 0x03a1b712 - #define PHY_ID_AQR113 0x31c31c40 -@@ -674,6 +676,34 @@ static int aqcs109_config_init(struct ph - return aqr107_set_downshift(phydev, MDIO_AN_VEND_PROV_DOWNSHIFT_DFLT); - } - -+static int aqr111_config_init(struct phy_device *phydev) -+{ -+ int ret; -+ -+ /* Check that the PHY interface type is compatible */ -+ if (phydev->interface != PHY_INTERFACE_MODE_SGMII && -+ phydev->interface != PHY_INTERFACE_MODE_1000BASEKX && -+ phydev->interface != PHY_INTERFACE_MODE_2500BASEX && -+ phydev->interface != PHY_INTERFACE_MODE_XGMII && -+ phydev->interface != PHY_INTERFACE_MODE_USXGMII && -+ phydev->interface != PHY_INTERFACE_MODE_10GKR && -+ phydev->interface != PHY_INTERFACE_MODE_10GBASER && -+ phydev->interface != PHY_INTERFACE_MODE_XAUI && -+ phydev->interface != PHY_INTERFACE_MODE_RXAUI) -+ return -ENODEV; -+ -+ WARN(phydev->interface == PHY_INTERFACE_MODE_XGMII, -+ "Your devicetree is out of date, please update it. The AQR107 family doesn't support XGMII, maybe you mean USXGMII.\n"); -+ -+ ret = aqr107_wait_reset_complete(phydev); -+ if (!ret) -+ aqr107_chip_info(phydev); -+ -+ /* AQR111 reports supporting speed up to 10G, however only speeds up to 5G are supported. */ -+ phy_set_max_speed(phydev, SPEED_5000); -+ -+ return aqr107_set_downshift(phydev, MDIO_AN_VEND_PROV_DOWNSHIFT_DFLT); -+} - static void aqr107_link_change_notify(struct phy_device *phydev) - { - u8 fw_major, fw_minor; -@@ -912,6 +942,42 @@ static struct phy_driver aqr_driver[] = - .link_change_notify = aqr107_link_change_notify, - }, - { -+ PHY_ID_MATCH_MODEL(PHY_ID_AQR111), -+ .name = "Aquantia AQR111", -+ .probe = aqr107_probe, -+ .config_init = aqr111_config_init, -+ .config_aneg = aqr_config_aneg, -+ .config_intr = aqr_config_intr, -+ .handle_interrupt = aqr_handle_interrupt, -+ .read_status = aqr107_read_status, -+ .get_tunable = aqr107_get_tunable, -+ .set_tunable = aqr107_set_tunable, -+ .suspend = aqr107_suspend, -+ .resume = aqr107_resume, -+ .get_sset_count = aqr107_get_sset_count, -+ .get_strings = aqr107_get_strings, -+ .get_stats = aqr107_get_stats, -+ .link_change_notify = aqr107_link_change_notify, -+}, -+{ -+ PHY_ID_MATCH_MODEL(PHY_ID_AQR111B0), -+ .name = "Aquantia AQR111B0", -+ .probe = aqr107_probe, -+ .config_init = aqr111_config_init, -+ .config_aneg = aqr_config_aneg, -+ .config_intr = aqr_config_intr, -+ .handle_interrupt = aqr_handle_interrupt, -+ .read_status = aqr107_read_status, -+ .get_tunable = aqr107_get_tunable, -+ .set_tunable = aqr107_set_tunable, -+ .suspend = aqr107_suspend, -+ .resume = aqr107_resume, -+ .get_sset_count = aqr107_get_sset_count, -+ .get_strings = aqr107_get_strings, -+ .get_stats = aqr107_get_stats, -+ .link_change_notify = aqr107_link_change_notify, -+}, -+{ - PHY_ID_MATCH_MODEL(PHY_ID_AQR112), - .name = "Aquantia AQR112", - .probe = aqr107_probe, -@@ -981,6 +1047,8 @@ static struct mdio_device_id __maybe_unu - { PHY_ID_MATCH_MODEL(PHY_ID_AQR405) }, - { PHY_ID_MATCH_MODEL(PHY_ID_AQR113C) }, - { PHY_ID_MATCH_MODEL(PHY_ID_AQR813) }, -+ { PHY_ID_MATCH_MODEL(PHY_ID_AQR111) }, -+ { PHY_ID_MATCH_MODEL(PHY_ID_AQR111B0) }, - { PHY_ID_MATCH_MODEL(PHY_ID_AQR112) }, - { PHY_ID_MATCH_MODEL(PHY_ID_AQR412) }, - { PHY_ID_MATCH_MODEL(PHY_ID_AQR113) }, From fb45887e85ca42c95f80fb9a3147d98b3edc7724 Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Sun, 4 Feb 2024 13:24:29 +0100 Subject: [PATCH 04/43] mac80211: update to 6.6.15 Update backports to the latest 6.6 point release. Signed-off-by: Robert Marko Signed-off-by: Felix Fietkau --- package/kernel/mac80211/Makefile | 7 +- ...uct_group-for-struct-ath_cycle_count.patch | 2 +- ...band-selection-for-ppdu-received-in-.patch | 37 -- ...lify-ath11k_mac_validate_vht_he_fixe.patch | 38 --- ...-Split-coldboot-calibration-hw_param.patch | 180 ---------- ...coldboot-calibration-support-for-QCN.patch | 176 ---------- ...k-Remove-cal_done-check-during-probe.patch | 33 -- ...t-drop-tx_status-when-peer-cannot-be.patch | 53 --- ...nup-mac80211-references-on-failure-d.patch | 51 --- ...Consistently-use-ath11k_vif_to_arvif.patch | 316 ------------------ ...ifi-ath11k-Fix-a-few-spelling-errors.patch | 50 --- ...lify-the-code-with-module_platform_d.patch | 36 -- ...x-Wvoid-pointer-to-enum-cast-warning.patch | 29 -- ...fi-ath11k-Remove-unused-declarations.patch | 44 --- ...fix-boot-failure-with-one-MSI-vector.patch | 103 ------ ...-redundant-check-in-ath11k_dp_rx_mon.patch | 2 +- ...-remove-unnecessary-void-conversions.patch | 8 +- ...fix-Tx-power-value-during-active-CAC.patch | 6 +- ...ntroduce-and-use-ath11k_sta_to_arsta.patch | 2 +- .../ath5k/440-ath5k_channel_bw_debugfs.patch | 2 +- .../ath9k/500-ath9k_eeprom_debugfs.patch | 4 +- .../ath9k/512-ath9k_channelbw_debugfs.patch | 4 +- .../patches/ath9k/530-ath9k_extra_leds.patch | 4 +- .../ath9k/542-ath9k_debugfs_diag.patch | 4 +- .../patches/build/060-no_local_ssb_bcma.patch | 4 +- .../patches/build/080-resv_start_op.patch | 2 +- .../patches/build/210-revert-split-op.patch | 4 +- ...ringified-name-of-command-in-error-l.patch | 4 +- ...rect-MAC_SYS_CTRL-register-RX-mask-i.patch | 28 -- ...imit-MT7620-TX-power-based-on-eeprom.patch | 115 ------- ...support-for-loading-EEPROM-from-user.patch | 2 +- ...-not-pass-ap_vlan-vif-pointer-to-dri.patch | 64 ---- .../110-mac80211_keep_keys_on_stop_ap.patch | 2 +- .../patches/subsys/130-disable_auto_vif.patch | 2 +- .../mac80211/patches/subsys/210-ap_scan.patch | 2 +- ...domize-BA-session-dialog-token-alloc.patch | 2 +- ...crease-quantum-for-airtime-scheduler.patch | 6 +- ...esh-fast-tx-cache-into-local-proxied.patch | 10 +- ...mesh-id-corruption-on-32-bit-systems.patch | 62 ---- ...notate-iftype_data-pointer-with-spar.patch | 30 +- ...port-DFS-CAC-time-and-usable-state-h.patch | 2 +- ...x-race-condition-on-enabling-fast-xm.patch | 4 +- ...race-period-for-DFS-available-after-.patch | 6 +- .../patches/subsys/400-allow-ibss-mixed.patch | 2 +- .../780-avoid-crashing-missing-band.patch | 2 +- 45 files changed, 65 insertions(+), 1481 deletions(-) delete mode 100644 package/kernel/mac80211/patches/ath11k/0001-wifi-ath11k-fix-band-selection-for-ppdu-received-in-.patch delete mode 100644 package/kernel/mac80211/patches/ath11k/0002-wifi-ath11k-simplify-ath11k_mac_validate_vht_he_fixe.patch delete mode 100644 package/kernel/mac80211/patches/ath11k/0003-wifi-ath11k-Split-coldboot-calibration-hw_param.patch delete mode 100644 package/kernel/mac80211/patches/ath11k/0004-wifi-ath11k-Add-coldboot-calibration-support-for-QCN.patch delete mode 100644 package/kernel/mac80211/patches/ath11k/0005-wifi-ath11k-Remove-cal_done-check-during-probe.patch delete mode 100644 package/kernel/mac80211/patches/ath11k/0006-wifi-ath11k-Don-t-drop-tx_status-when-peer-cannot-be.patch delete mode 100644 package/kernel/mac80211/patches/ath11k/0007-wifi-ath11k-Cleanup-mac80211-references-on-failure-d.patch delete mode 100644 package/kernel/mac80211/patches/ath11k/0008-wifi-ath11k-Consistently-use-ath11k_vif_to_arvif.patch delete mode 100644 package/kernel/mac80211/patches/ath11k/0009-wifi-ath11k-Fix-a-few-spelling-errors.patch delete mode 100644 package/kernel/mac80211/patches/ath11k/0010-wifi-ath11k-simplify-the-code-with-module_platform_d.patch delete mode 100644 package/kernel/mac80211/patches/ath11k/0011-wifi-ath11k-fix-Wvoid-pointer-to-enum-cast-warning.patch delete mode 100644 package/kernel/mac80211/patches/ath11k/0012-wifi-ath11k-Remove-unused-declarations.patch delete mode 100644 package/kernel/mac80211/patches/ath11k/0017-wifi-ath11k-fix-boot-failure-with-one-MSI-vector.patch delete mode 100644 package/kernel/mac80211/patches/rt2x00/000-v6.6-wifi-rt2x00-correct-MAC_SYS_CTRL-register-RX-mask-i.patch delete mode 100644 package/kernel/mac80211/patches/rt2x00/001-v6.6-wifi-rt2x00-limit-MT7620-TX-power-based-on-eeprom.patch delete mode 100644 package/kernel/mac80211/patches/subsys/001-wifi-mac80211-do-not-pass-ap_vlan-vif-pointer-to-dri.patch delete mode 100644 package/kernel/mac80211/patches/subsys/311-mac80211-fix-mesh-id-corruption-on-32-bit-systems.patch diff --git a/package/kernel/mac80211/Makefile b/package/kernel/mac80211/Makefile index 6ca5c89cfa..8d9dc4efa9 100644 --- a/package/kernel/mac80211/Makefile +++ b/package/kernel/mac80211/Makefile @@ -10,11 +10,10 @@ include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=mac80211 -PKG_VERSION:=6.5 -PKG_RELEASE:=2 -# PKG_SOURCE_URL:=@KERNEL/linux/kernel/projects/backports/stable/v5.15.58/ +PKG_VERSION:=6.6.15 +PKG_RELEASE:=1 PKG_SOURCE_URL:=http://mirror2.openwrt.org/sources/ -PKG_HASH:=908c22dceba185eab83caa5a1e58ce6b3ebdc58f099c3fd3e11c7352ebfab2d7 +PKG_HASH:=3bbc461121134fda9089c084a5eed577d05e7837a157edf9a3797937172a3ece PKG_SOURCE:=backports-$(PKG_VERSION).tar.xz PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/backports-$(PKG_VERSION) diff --git a/package/kernel/mac80211/patches/ath/100-wifi-ath-add-struct_group-for-struct-ath_cycle_count.patch b/package/kernel/mac80211/patches/ath/100-wifi-ath-add-struct_group-for-struct-ath_cycle_count.patch index 6c476e9058..f464072d75 100644 --- a/package/kernel/mac80211/patches/ath/100-wifi-ath-add-struct_group-for-struct-ath_cycle_count.patch +++ b/package/kernel/mac80211/patches/ath/100-wifi-ath-add-struct_group-for-struct-ath_cycle_count.patch @@ -71,7 +71,7 @@ Signed-off-by: Shiji Yang /* --- a/drivers/net/wireless/ath/ath5k/mac80211-ops.c +++ b/drivers/net/wireless/ath/ath5k/mac80211-ops.c -@@ -665,7 +665,7 @@ ath5k_get_survey(struct ieee80211_hw *hw +@@ -664,7 +664,7 @@ ath5k_get_survey(struct ieee80211_hw *hw ah->survey.time_rx += cc->rx_frame / div; ah->survey.time_tx += cc->tx_frame / div; } diff --git a/package/kernel/mac80211/patches/ath11k/0001-wifi-ath11k-fix-band-selection-for-ppdu-received-in-.patch b/package/kernel/mac80211/patches/ath11k/0001-wifi-ath11k-fix-band-selection-for-ppdu-received-in-.patch deleted file mode 100644 index e6f9ac9e4c..0000000000 --- a/package/kernel/mac80211/patches/ath11k/0001-wifi-ath11k-fix-band-selection-for-ppdu-received-in-.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 72c8caf904aed2caed5d6e75233294b6159ddb5d Mon Sep 17 00:00:00 2001 -From: Aditya Kumar Singh -Date: Wed, 26 Jul 2023 10:16:24 +0530 -Subject: [PATCH 1/5] wifi: ath11k: fix band selection for ppdu received in - channel 177 of 5 GHz - -5 GHz band channel 177 support was added with the commit e5e94d10c856 ("wifi: -ath11k: add channel 177 into 5 GHz channel list"). However, during processing -for the received ppdu in ath11k_dp_rx_h_ppdu(), channel number is checked only -till 173. This leads to driver code checking for channel and then fetching the -band from it which is extra effort since firmware has already given the channel -number in the metadata. - -Fix this issue by checking the channel number till 177 since we support -it now. - -Found via code review. Compile tested only. - -Fixes: e5e94d10c856 ("wifi: ath11k: add channel 177 into 5 GHz channel list") -Signed-off-by: Aditya Kumar Singh -Signed-off-by: Kalle Valo -Link: https://lore.kernel.org/r/20230726044624.20507-1-quic_adisi@quicinc.com ---- - drivers/net/wireless/ath/ath11k/dp_rx.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/drivers/net/wireless/ath/ath11k/dp_rx.c -+++ b/drivers/net/wireless/ath/ath11k/dp_rx.c -@@ -2408,7 +2408,7 @@ static void ath11k_dp_rx_h_ppdu(struct a - rx_status->freq = center_freq; - } else if (channel_num >= 1 && channel_num <= 14) { - rx_status->band = NL80211_BAND_2GHZ; -- } else if (channel_num >= 36 && channel_num <= 173) { -+ } else if (channel_num >= 36 && channel_num <= 177) { - rx_status->band = NL80211_BAND_5GHZ; - } else { - spin_lock_bh(&ar->data_lock); diff --git a/package/kernel/mac80211/patches/ath11k/0002-wifi-ath11k-simplify-ath11k_mac_validate_vht_he_fixe.patch b/package/kernel/mac80211/patches/ath11k/0002-wifi-ath11k-simplify-ath11k_mac_validate_vht_he_fixe.patch deleted file mode 100644 index ad761e6a90..0000000000 --- a/package/kernel/mac80211/patches/ath11k/0002-wifi-ath11k-simplify-ath11k_mac_validate_vht_he_fixe.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 6f092c98dcfa1e4cf37d45f9b8e4d4a3cbeb79d4 Mon Sep 17 00:00:00 2001 -From: Dmitry Antipov -Date: Wed, 26 Jul 2023 12:21:02 +0300 -Subject: [PATCH 2/5] wifi: ath11k: simplify - ath11k_mac_validate_vht_he_fixed_rate_settings() - -In ath11k_mac_validate_vht_he_fixed_rate_settings() ar->ab->peers -list is not altered so list_for_each_entry() should be safe. - -Compile tested only. - -Signed-off-by: Dmitry Antipov -Signed-off-by: Kalle Valo -Link: https://lore.kernel.org/r/20230726092113.78794-1-dmantipov@yandex.ru ---- - drivers/net/wireless/ath/ath11k/mac.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - ---- a/drivers/net/wireless/ath/ath11k/mac.c -+++ b/drivers/net/wireless/ath/ath11k/mac.c -@@ -8258,7 +8258,7 @@ ath11k_mac_validate_vht_he_fixed_rate_se - const struct cfg80211_bitrate_mask *mask) - { - bool he_fixed_rate = false, vht_fixed_rate = false; -- struct ath11k_peer *peer, *tmp; -+ struct ath11k_peer *peer; - const u16 *vht_mcs_mask, *he_mcs_mask; - struct ieee80211_link_sta *deflink; - u8 vht_nss, he_nss; -@@ -8281,7 +8281,7 @@ ath11k_mac_validate_vht_he_fixed_rate_se - - rcu_read_lock(); - spin_lock_bh(&ar->ab->base_lock); -- list_for_each_entry_safe(peer, tmp, &ar->ab->peers, list) { -+ list_for_each_entry(peer, &ar->ab->peers, list) { - if (peer->sta) { - deflink = &peer->sta->deflink; - diff --git a/package/kernel/mac80211/patches/ath11k/0003-wifi-ath11k-Split-coldboot-calibration-hw_param.patch b/package/kernel/mac80211/patches/ath11k/0003-wifi-ath11k-Split-coldboot-calibration-hw_param.patch deleted file mode 100644 index f8c7c937ea..0000000000 --- a/package/kernel/mac80211/patches/ath11k/0003-wifi-ath11k-Split-coldboot-calibration-hw_param.patch +++ /dev/null @@ -1,180 +0,0 @@ -From 011e5a3052a22d3758d17442bf0c04c68bf79bea Mon Sep 17 00:00:00 2001 -From: Seevalamuthu Mariappan -Date: Wed, 26 Jul 2023 19:40:30 +0530 -Subject: [PATCH 3/5] wifi: ath11k: Split coldboot calibration hw_param - -QCN9074 enables coldboot calibration only in Factory Test Mode (FTM). -Hence, split cold_boot_calib to two hw_params for mission and FTM -mode. - -Tested-on: QCN9074 hw1.0 PCI WLAN.HK.2.7.0.1-01744-QCAHKSWPL_SILICONZ-1 - -Signed-off-by: Seevalamuthu Mariappan -Signed-off-by: Raj Kumar Bhagat -Signed-off-by: Kalle Valo -Link: https://lore.kernel.org/r/20230726141032.3061-2-quic_rajkbhag@quicinc.com ---- - drivers/net/wireless/ath/ath11k/ahb.c | 3 +-- - drivers/net/wireless/ath/ath11k/core.c | 36 ++++++++++++++++++++------ - drivers/net/wireless/ath/ath11k/core.h | 1 + - drivers/net/wireless/ath/ath11k/hw.h | 3 ++- - drivers/net/wireless/ath/ath11k/qmi.c | 6 ++--- - 5 files changed, 35 insertions(+), 14 deletions(-) - ---- a/drivers/net/wireless/ath/ath11k/ahb.c -+++ b/drivers/net/wireless/ath/ath11k/ahb.c -@@ -422,8 +422,7 @@ static int ath11k_ahb_fwreset_from_cold_ - { - int timeout; - -- if (ath11k_cold_boot_cal == 0 || ab->qmi.cal_done || -- ab->hw_params.cold_boot_calib == 0 || -+ if (!ath11k_core_coldboot_cal_support(ab) || ab->qmi.cal_done || - ab->hw_params.cbcal_restart_fw == 0) - return 0; - ---- a/drivers/net/wireless/ath/ath11k/core.c -+++ b/drivers/net/wireless/ath/ath11k/core.c -@@ -86,7 +86,8 @@ static const struct ath11k_hw_params ath - .supports_shadow_regs = false, - .idle_ps = false, - .supports_sta_ps = false, -- .cold_boot_calib = true, -+ .coldboot_cal_mm = true, -+ .coldboot_cal_ftm = true, - .cbcal_restart_fw = true, - .fw_mem_mode = 0, - .num_vdevs = 16 + 1, -@@ -167,7 +168,8 @@ static const struct ath11k_hw_params ath - .supports_shadow_regs = false, - .idle_ps = false, - .supports_sta_ps = false, -- .cold_boot_calib = true, -+ .coldboot_cal_mm = true, -+ .coldboot_cal_ftm = true, - .cbcal_restart_fw = true, - .fw_mem_mode = 0, - .num_vdevs = 16 + 1, -@@ -248,7 +250,8 @@ static const struct ath11k_hw_params ath - .supports_shadow_regs = true, - .idle_ps = true, - .supports_sta_ps = true, -- .cold_boot_calib = false, -+ .coldboot_cal_mm = false, -+ .coldboot_cal_ftm = false, - .cbcal_restart_fw = false, - .fw_mem_mode = 0, - .num_vdevs = 16 + 1, -@@ -332,7 +335,8 @@ static const struct ath11k_hw_params ath - .supports_shadow_regs = false, - .idle_ps = false, - .supports_sta_ps = false, -- .cold_boot_calib = false, -+ .coldboot_cal_mm = false, -+ .coldboot_cal_ftm = false, - .cbcal_restart_fw = false, - .fw_mem_mode = 2, - .num_vdevs = 8, -@@ -413,7 +417,8 @@ static const struct ath11k_hw_params ath - .supports_shadow_regs = true, - .idle_ps = true, - .supports_sta_ps = true, -- .cold_boot_calib = false, -+ .coldboot_cal_mm = false, -+ .coldboot_cal_ftm = false, - .cbcal_restart_fw = false, - .fw_mem_mode = 0, - .num_vdevs = 16 + 1, -@@ -495,7 +500,8 @@ static const struct ath11k_hw_params ath - .supports_shadow_regs = true, - .idle_ps = true, - .supports_sta_ps = true, -- .cold_boot_calib = false, -+ .coldboot_cal_mm = false, -+ .coldboot_cal_ftm = false, - .cbcal_restart_fw = false, - .fw_mem_mode = 0, - .num_vdevs = 16 + 1, -@@ -578,7 +584,8 @@ static const struct ath11k_hw_params ath - .supports_shadow_regs = true, - .idle_ps = true, - .supports_sta_ps = true, -- .cold_boot_calib = true, -+ .coldboot_cal_mm = true, -+ .coldboot_cal_ftm = true, - .cbcal_restart_fw = false, - .fw_mem_mode = 0, - .num_vdevs = 16 + 1, -@@ -667,7 +674,8 @@ static const struct ath11k_hw_params ath - .supports_suspend = false, - .hal_params = &ath11k_hw_hal_params_ipq8074, - .single_pdev_only = false, -- .cold_boot_calib = true, -+ .coldboot_cal_mm = true, -+ .coldboot_cal_ftm = true, - .cbcal_restart_fw = true, - .fix_l1ss = true, - .supports_dynamic_smps_6ghz = false, -@@ -749,6 +757,18 @@ void ath11k_fw_stats_free(struct ath11k_ - ath11k_fw_stats_bcn_free(&stats->bcn); - } - -+bool ath11k_core_coldboot_cal_support(struct ath11k_base *ab) -+{ -+ if (!ath11k_cold_boot_cal) -+ return false; -+ -+ if (ath11k_ftm_mode) -+ return ab->hw_params.coldboot_cal_ftm; -+ -+ else -+ return ab->hw_params.coldboot_cal_mm; -+} -+ - int ath11k_core_suspend(struct ath11k_base *ab) - { - int ret; ---- a/drivers/net/wireless/ath/ath11k/core.h -+++ b/drivers/net/wireless/ath/ath11k/core.h -@@ -1186,6 +1186,7 @@ void ath11k_core_halt(struct ath11k *ar) - int ath11k_core_resume(struct ath11k_base *ab); - int ath11k_core_suspend(struct ath11k_base *ab); - void ath11k_core_pre_reconfigure_recovery(struct ath11k_base *ab); -+bool ath11k_core_coldboot_cal_support(struct ath11k_base *ab); - - const struct firmware *ath11k_core_firmware_request(struct ath11k_base *ab, - const char *filename); ---- a/drivers/net/wireless/ath/ath11k/hw.h -+++ b/drivers/net/wireless/ath/ath11k/hw.h -@@ -187,7 +187,8 @@ struct ath11k_hw_params { - bool supports_shadow_regs; - bool idle_ps; - bool supports_sta_ps; -- bool cold_boot_calib; -+ bool coldboot_cal_mm; -+ bool coldboot_cal_ftm; - bool cbcal_restart_fw; - int fw_mem_mode; - u32 num_vdevs; ---- a/drivers/net/wireless/ath/ath11k/qmi.c -+++ b/drivers/net/wireless/ath/ath11k/qmi.c -@@ -2079,7 +2079,7 @@ static int ath11k_qmi_assign_target_mem_ - return -EINVAL; - } - -- if (ath11k_cold_boot_cal && ab->hw_params.cold_boot_calib) { -+ if (ath11k_core_coldboot_cal_support(ab)) { - if (hremote_node) { - ab->qmi.target_mem[idx].paddr = - res.start + host_ddr_sz; -@@ -3209,8 +3209,8 @@ static void ath11k_qmi_driver_event_work - break; - } - -- if (ath11k_cold_boot_cal && ab->qmi.cal_done == 0 && -- ab->hw_params.cold_boot_calib) { -+ if (ab->qmi.cal_done == 0 && -+ ath11k_core_coldboot_cal_support(ab)) { - ath11k_qmi_process_coldboot_calibration(ab); - } else { - clear_bit(ATH11K_FLAG_CRASH_FLUSH, diff --git a/package/kernel/mac80211/patches/ath11k/0004-wifi-ath11k-Add-coldboot-calibration-support-for-QCN.patch b/package/kernel/mac80211/patches/ath11k/0004-wifi-ath11k-Add-coldboot-calibration-support-for-QCN.patch deleted file mode 100644 index 9d51c1c3ea..0000000000 --- a/package/kernel/mac80211/patches/ath11k/0004-wifi-ath11k-Add-coldboot-calibration-support-for-QCN.patch +++ /dev/null @@ -1,176 +0,0 @@ -From bdfc967bf5fcd762473a01d39edb81f1165ba290 Mon Sep 17 00:00:00 2001 -From: Anilkumar Kolli -Date: Wed, 26 Jul 2023 19:40:31 +0530 -Subject: [PATCH 4/5] wifi: ath11k: Add coldboot calibration support for - QCN9074 - -QCN9074 supports 6 GHz, which has increased number of channels -compared to 5 GHz/2 GHz. So, to support coldboot calibration in -QCN9074 ATH11K_COLD_BOOT_FW_RESET_DELAY extended to 60 seconds. To -avoid code redundancy, fwreset_from_cold_boot moved to QMI and made -common for both ahb and pci. Coldboot calibration is enabled only in -FTM mode for QCN9074. QCN9074 requires firmware restart after coldboot, -hence enable cbcal_restart_fw in hw_params. - -This support can be enabled/disabled using hw params for different -hardware. Currently it is not enabled for QCA6390. - -Tested-on: QCN9074 hw1.0 PCI WLAN.HK.2.7.0.1-01744-QCAHKSWPL_SILICONZ-1 - -Signed-off-by: Anilkumar Kolli -Signed-off-by: Seevalamuthu Mariappan -Signed-off-by: Raj Kumar Bhagat -Signed-off-by: Kalle Valo -Link: https://lore.kernel.org/r/20230726141032.3061-3-quic_rajkbhag@quicinc.com ---- - drivers/net/wireless/ath/ath11k/ahb.c | 28 ++------------------------ - drivers/net/wireless/ath/ath11k/core.c | 4 ++-- - drivers/net/wireless/ath/ath11k/pci.c | 2 ++ - drivers/net/wireless/ath/ath11k/qmi.c | 28 ++++++++++++++++++++++++++ - drivers/net/wireless/ath/ath11k/qmi.h | 3 ++- - 5 files changed, 36 insertions(+), 29 deletions(-) - ---- a/drivers/net/wireless/ath/ath11k/ahb.c -+++ b/drivers/net/wireless/ath/ath11k/ahb.c -@@ -14,6 +14,7 @@ - #include "ahb.h" - #include "debug.h" - #include "hif.h" -+#include "qmi.h" - #include - #include "pcic.h" - #include -@@ -418,31 +419,6 @@ static void ath11k_ahb_power_down(struct - rproc_shutdown(ab_ahb->tgt_rproc); - } - --static int ath11k_ahb_fwreset_from_cold_boot(struct ath11k_base *ab) --{ -- int timeout; -- -- if (!ath11k_core_coldboot_cal_support(ab) || ab->qmi.cal_done || -- ab->hw_params.cbcal_restart_fw == 0) -- return 0; -- -- ath11k_dbg(ab, ATH11K_DBG_AHB, "wait for cold boot done\n"); -- timeout = wait_event_timeout(ab->qmi.cold_boot_waitq, -- (ab->qmi.cal_done == 1), -- ATH11K_COLD_BOOT_FW_RESET_DELAY); -- if (timeout <= 0) { -- ath11k_cold_boot_cal = 0; -- ath11k_warn(ab, "Coldboot Calibration failed timed out\n"); -- } -- -- /* reset the firmware */ -- ath11k_ahb_power_down(ab); -- ath11k_ahb_power_up(ab); -- -- ath11k_dbg(ab, ATH11K_DBG_AHB, "exited from cold boot mode\n"); -- return 0; --} -- - static void ath11k_ahb_init_qmi_ce_config(struct ath11k_base *ab) - { - struct ath11k_qmi_ce_cfg *cfg = &ab->qmi.ce_cfg; -@@ -1225,7 +1201,7 @@ static int ath11k_ahb_probe(struct platf - goto err_ce_free; - } - -- ath11k_ahb_fwreset_from_cold_boot(ab); -+ ath11k_qmi_fwreset_from_cold_boot(ab); - - return 0; - ---- a/drivers/net/wireless/ath/ath11k/core.c -+++ b/drivers/net/wireless/ath/ath11k/core.c -@@ -336,8 +336,8 @@ static const struct ath11k_hw_params ath - .idle_ps = false, - .supports_sta_ps = false, - .coldboot_cal_mm = false, -- .coldboot_cal_ftm = false, -- .cbcal_restart_fw = false, -+ .coldboot_cal_ftm = true, -+ .cbcal_restart_fw = true, - .fw_mem_mode = 2, - .num_vdevs = 8, - .num_peers = 128, ---- a/drivers/net/wireless/ath/ath11k/pci.c -+++ b/drivers/net/wireless/ath/ath11k/pci.c -@@ -15,6 +15,7 @@ - #include "mhi.h" - #include "debug.h" - #include "pcic.h" -+#include "qmi.h" - - #define ATH11K_PCI_BAR_NUM 0 - #define ATH11K_PCI_DMA_MASK 32 -@@ -897,6 +898,7 @@ unsupported_wcn6855_soc: - ath11k_err(ab, "failed to init core: %d\n", ret); - goto err_irq_affinity_cleanup; - } -+ ath11k_qmi_fwreset_from_cold_boot(ab); - return 0; - - err_irq_affinity_cleanup: ---- a/drivers/net/wireless/ath/ath11k/qmi.c -+++ b/drivers/net/wireless/ath/ath11k/qmi.c -@@ -9,6 +9,7 @@ - #include "qmi.h" - #include "core.h" - #include "debug.h" -+#include "hif.h" - #include - #include - #include -@@ -2839,6 +2840,33 @@ int ath11k_qmi_firmware_start(struct ath - return 0; - } - -+int ath11k_qmi_fwreset_from_cold_boot(struct ath11k_base *ab) -+{ -+ int timeout; -+ -+ if (!ath11k_core_coldboot_cal_support(ab) || ab->qmi.cal_done || -+ ab->hw_params.cbcal_restart_fw == 0) -+ return 0; -+ -+ ath11k_dbg(ab, ATH11K_DBG_QMI, "wait for cold boot done\n"); -+ -+ timeout = wait_event_timeout(ab->qmi.cold_boot_waitq, -+ (ab->qmi.cal_done == 1), -+ ATH11K_COLD_BOOT_FW_RESET_DELAY); -+ -+ if (timeout <= 0) { -+ ath11k_warn(ab, "Coldboot Calibration timed out\n"); -+ return -ETIMEDOUT; -+ } -+ -+ /* reset the firmware */ -+ ath11k_hif_power_down(ab); -+ ath11k_hif_power_up(ab); -+ ath11k_dbg(ab, ATH11K_DBG_QMI, "exit wait for cold boot done\n"); -+ return 0; -+} -+EXPORT_SYMBOL(ath11k_qmi_fwreset_from_cold_boot); -+ - static int ath11k_qmi_process_coldboot_calibration(struct ath11k_base *ab) - { - int timeout; ---- a/drivers/net/wireless/ath/ath11k/qmi.h -+++ b/drivers/net/wireless/ath/ath11k/qmi.h -@@ -37,7 +37,7 @@ - - #define QMI_WLANFW_MAX_DATA_SIZE_V01 6144 - #define ATH11K_FIRMWARE_MODE_OFF 4 --#define ATH11K_COLD_BOOT_FW_RESET_DELAY (40 * HZ) -+#define ATH11K_COLD_BOOT_FW_RESET_DELAY (60 * HZ) - - #define ATH11K_QMI_DEVICE_BAR_SIZE 0x200000 - -@@ -519,5 +519,6 @@ void ath11k_qmi_msg_recv_work(struct wor - void ath11k_qmi_deinit_service(struct ath11k_base *ab); - int ath11k_qmi_init_service(struct ath11k_base *ab); - void ath11k_qmi_free_resource(struct ath11k_base *ab); -+int ath11k_qmi_fwreset_from_cold_boot(struct ath11k_base *ab); - - #endif diff --git a/package/kernel/mac80211/patches/ath11k/0005-wifi-ath11k-Remove-cal_done-check-during-probe.patch b/package/kernel/mac80211/patches/ath11k/0005-wifi-ath11k-Remove-cal_done-check-during-probe.patch deleted file mode 100644 index 884fd58d75..0000000000 --- a/package/kernel/mac80211/patches/ath11k/0005-wifi-ath11k-Remove-cal_done-check-during-probe.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 13329d0cb7212b058bd8451a99d215a8f97645ea Mon Sep 17 00:00:00 2001 -From: Seevalamuthu Mariappan -Date: Wed, 26 Jul 2023 19:40:32 +0530 -Subject: [PATCH 5/5] wifi: ath11k: Remove cal_done check during probe - -In some race conditions, calibration done QMI message is received even -before host wait starts for calibration to be done. -Due to this, resetting firmware was not performed after calibration. - -Hence, remove cal_done check in ath11k_qmi_fwreset_from_cold_boot() -as this is called only from probe. - -Tested-on: QCN9074 hw1.0 PCI WLAN.HK.2.7.0.1-01744-QCAHKSWPL_SILICONZ-1 - -Signed-off-by: Seevalamuthu Mariappan -Signed-off-by: Raj Kumar Bhagat -Signed-off-by: Kalle Valo -Link: https://lore.kernel.org/r/20230726141032.3061-4-quic_rajkbhag@quicinc.com ---- - drivers/net/wireless/ath/ath11k/qmi.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/drivers/net/wireless/ath/ath11k/qmi.c -+++ b/drivers/net/wireless/ath/ath11k/qmi.c -@@ -2844,7 +2844,7 @@ int ath11k_qmi_fwreset_from_cold_boot(st - { - int timeout; - -- if (!ath11k_core_coldboot_cal_support(ab) || ab->qmi.cal_done || -+ if (!ath11k_core_coldboot_cal_support(ab) || - ab->hw_params.cbcal_restart_fw == 0) - return 0; - diff --git a/package/kernel/mac80211/patches/ath11k/0006-wifi-ath11k-Don-t-drop-tx_status-when-peer-cannot-be.patch b/package/kernel/mac80211/patches/ath11k/0006-wifi-ath11k-Don-t-drop-tx_status-when-peer-cannot-be.patch deleted file mode 100644 index e404a7849e..0000000000 --- a/package/kernel/mac80211/patches/ath11k/0006-wifi-ath11k-Don-t-drop-tx_status-when-peer-cannot-be.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 400ece6c7f346b0a30867bd00b03b5b2563d4357 Mon Sep 17 00:00:00 2001 -From: Sven Eckelmann -Date: Tue, 22 Aug 2023 16:42:24 +0300 -Subject: [PATCH] wifi: ath11k: Don't drop tx_status when peer cannot be found - -When a station idles for a long time, hostapd will try to send a QoS Null -frame to the station as "poll". NL80211_CMD_PROBE_CLIENT is used for this -purpose. And the skb will be added to ack_status_frame - waiting for a -completion via ieee80211_report_ack_skb(). - -But when the peer was already removed before the tx_complete arrives, the -peer will be missing. And when using dev_kfree_skb_any (instead of going -through mac80211), the entry will stay inside ack_status_frames. This IDR -will therefore run full after 8K request were generated for such clients. -At this point, the access point will then just stall and not allow any new -clients because idr_alloc() for ack_status_frame will fail. - -ieee80211_free_txskb() on the other hand will (when required) call -ieee80211_report_ack_skb() and make sure that (when required) remove the -entry from the ack_status_frame. - -Tested-on: IPQ6018 hw1.0 WLAN.HK.2.5.0.1-01100-QCAHKSWPL_SILICONZ-1 - -Fixes: 6257c702264c ("wifi: ath11k: fix tx status reporting in encap offload mode") -Fixes: 94739d45c388 ("ath11k: switch to using ieee80211_tx_status_ext()") -Cc: stable@vger.kernel.org -Signed-off-by: Sven Eckelmann -Signed-off-by: Kalle Valo -Link: https://lore.kernel.org/r/20230802-ath11k-ack_status_leak-v2-1-c0af729d6229@narfation.org ---- - drivers/net/wireless/ath/ath11k/dp_tx.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - ---- a/drivers/net/wireless/ath/ath11k/dp_tx.c -+++ b/drivers/net/wireless/ath/ath11k/dp_tx.c -@@ -369,7 +369,7 @@ ath11k_dp_tx_htt_tx_complete_buf(struct - "dp_tx: failed to find the peer with peer_id %d\n", - ts->peer_id); - spin_unlock_bh(&ab->base_lock); -- dev_kfree_skb_any(msdu); -+ ieee80211_free_txskb(ar->hw, msdu); - return; - } - spin_unlock_bh(&ab->base_lock); -@@ -624,7 +624,7 @@ static void ath11k_dp_tx_complete_msdu(s - "dp_tx: failed to find the peer with peer_id %d\n", - ts->peer_id); - spin_unlock_bh(&ab->base_lock); -- dev_kfree_skb_any(msdu); -+ ieee80211_free_txskb(ar->hw, msdu); - return; - } - arsta = (struct ath11k_sta *)peer->sta->drv_priv; diff --git a/package/kernel/mac80211/patches/ath11k/0007-wifi-ath11k-Cleanup-mac80211-references-on-failure-d.patch b/package/kernel/mac80211/patches/ath11k/0007-wifi-ath11k-Cleanup-mac80211-references-on-failure-d.patch deleted file mode 100644 index ae9cd05dd6..0000000000 --- a/package/kernel/mac80211/patches/ath11k/0007-wifi-ath11k-Cleanup-mac80211-references-on-failure-d.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 29d15589f084d71a4ea8c544039c5839db0236e2 Mon Sep 17 00:00:00 2001 -From: Sven Eckelmann -Date: Tue, 22 Aug 2023 16:42:24 +0300 -Subject: [PATCH] wifi: ath11k: Cleanup mac80211 references on failure during - tx_complete - -When a function is using functions from mac80211 to free an skb then it -should do it consistently and not switch to the generic dev_kfree_skb_any -(or similar functions). Otherwise (like in the error handlers), mac80211 -will will not be aware of the freed skb and thus not clean up related -information in its internal data structures. - -Not doing so lead in the past to filled up structure which then prevented -new clients to connect. - -Fixes: d5c65159f289 ("ath11k: driver for Qualcomm IEEE 802.11ax devices") -Fixes: 6257c702264c ("wifi: ath11k: fix tx status reporting in encap offload mode") -Cc: stable@vger.kernel.org -Signed-off-by: Sven Eckelmann -Signed-off-by: Kalle Valo -Link: https://lore.kernel.org/r/20230802-ath11k-ack_status_leak-v2-2-c0af729d6229@narfation.org ---- - drivers/net/wireless/ath/ath11k/dp_tx.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - ---- a/drivers/net/wireless/ath/ath11k/dp_tx.c -+++ b/drivers/net/wireless/ath/ath11k/dp_tx.c -@@ -344,7 +344,7 @@ ath11k_dp_tx_htt_tx_complete_buf(struct - dma_unmap_single(ab->dev, skb_cb->paddr, msdu->len, DMA_TO_DEVICE); - - if (!skb_cb->vif) { -- dev_kfree_skb_any(msdu); -+ ieee80211_free_txskb(ar->hw, msdu); - return; - } - -@@ -566,12 +566,12 @@ static void ath11k_dp_tx_complete_msdu(s - dma_unmap_single(ab->dev, skb_cb->paddr, msdu->len, DMA_TO_DEVICE); - - if (unlikely(!rcu_access_pointer(ab->pdevs_active[ar->pdev_idx]))) { -- dev_kfree_skb_any(msdu); -+ ieee80211_free_txskb(ar->hw, msdu); - return; - } - - if (unlikely(!skb_cb->vif)) { -- dev_kfree_skb_any(msdu); -+ ieee80211_free_txskb(ar->hw, msdu); - return; - } - diff --git a/package/kernel/mac80211/patches/ath11k/0008-wifi-ath11k-Consistently-use-ath11k_vif_to_arvif.patch b/package/kernel/mac80211/patches/ath11k/0008-wifi-ath11k-Consistently-use-ath11k_vif_to_arvif.patch deleted file mode 100644 index 218b3ac35f..0000000000 --- a/package/kernel/mac80211/patches/ath11k/0008-wifi-ath11k-Consistently-use-ath11k_vif_to_arvif.patch +++ /dev/null @@ -1,316 +0,0 @@ -From 9476cda44c136089f14f8951ae5197d63e91735c Mon Sep 17 00:00:00 2001 -From: Jeff Johnson -Date: Mon, 21 Aug 2023 07:13:36 -0700 -Subject: [PATCH] wifi: ath11k: Consistently use ath11k_vif_to_arvif() - -Helper function ath11k_vif_to_arvif() exists to retrieve a struct -ath11k_vif from a struct ieee80211_vif. However, in multiple places -this logic is open-coded with inline typecasting. Since the -typecasting prevents the compiler from type-checking the source and -destination, update the driver to consistently use the helper -function. - -No functional changes, compile tested only. - -Signed-off-by: Jeff Johnson -Signed-off-by: Kalle Valo -Link: https://lore.kernel.org/r/20230821-ath11k_vif_to_arvif-v1-1-fa2c3b60b5cf@quicinc.com ---- - drivers/net/wireless/ath/ath11k/mac.c | 64 +++++++++++----------- - drivers/net/wireless/ath/ath11k/testmode.c | 2 +- - 2 files changed, 33 insertions(+), 33 deletions(-) - ---- a/drivers/net/wireless/ath/ath11k/mac.c -+++ b/drivers/net/wireless/ath/ath11k/mac.c -@@ -566,7 +566,7 @@ static void ath11k_get_arvif_iter(void * - struct ieee80211_vif *vif) - { - struct ath11k_vif_iter *arvif_iter = data; -- struct ath11k_vif *arvif = (void *)vif->drv_priv; -+ struct ath11k_vif *arvif = ath11k_vif_to_arvif(vif); - - if (arvif->vdev_id == arvif_iter->vdev_id) - arvif_iter->arvif = arvif; -@@ -1464,7 +1464,7 @@ static int ath11k_mac_setup_bcn_tmpl_ema - u32 params = 0; - u8 i = 0; - -- tx_arvif = (void *)arvif->vif->mbssid_tx_vif->drv_priv; -+ tx_arvif = ath11k_vif_to_arvif(arvif->vif->mbssid_tx_vif); - - beacons = ieee80211_beacon_get_template_ema_list(tx_arvif->ar->hw, - tx_arvif->vif, 0); -@@ -1520,8 +1520,8 @@ static int ath11k_mac_setup_bcn_tmpl_mbs - struct sk_buff *bcn; - int ret; - -- if (arvif->vif->mbssid_tx_vif) { -- tx_arvif = (void *)arvif->vif->mbssid_tx_vif->drv_priv; -+ if (vif->mbssid_tx_vif) { -+ tx_arvif = ath11k_vif_to_arvif(vif->mbssid_tx_vif); - if (tx_arvif != arvif) { - ar = tx_arvif->ar; - ab = ar->ab; -@@ -1562,7 +1562,7 @@ static int ath11k_mac_setup_bcn_tmpl(str - * non-transmitting interfaces, and results in a crash if sent. - */ - if (vif->mbssid_tx_vif && -- arvif != (void *)vif->mbssid_tx_vif->drv_priv && arvif->is_up) -+ arvif != ath11k_vif_to_arvif(vif->mbssid_tx_vif) && arvif->is_up) - return 0; - - if (vif->bss_conf.ema_ap && vif->mbssid_tx_vif) -@@ -1626,7 +1626,7 @@ static void ath11k_control_beaconing(str - ether_addr_copy(arvif->bssid, info->bssid); - - if (arvif->vif->mbssid_tx_vif) -- tx_arvif = (struct ath11k_vif *)arvif->vif->mbssid_tx_vif->drv_priv; -+ tx_arvif = ath11k_vif_to_arvif(arvif->vif->mbssid_tx_vif); - - ret = ath11k_wmi_vdev_up(arvif->ar, arvif->vdev_id, arvif->aid, - arvif->bssid, -@@ -1649,7 +1649,7 @@ static void ath11k_mac_handle_beacon_ite - { - struct sk_buff *skb = data; - struct ieee80211_mgmt *mgmt = (void *)skb->data; -- struct ath11k_vif *arvif = (void *)vif->drv_priv; -+ struct ath11k_vif *arvif = ath11k_vif_to_arvif(vif); - - if (vif->type != NL80211_IFTYPE_STATION) - return; -@@ -1672,7 +1672,7 @@ static void ath11k_mac_handle_beacon_mis - struct ieee80211_vif *vif) - { - u32 *vdev_id = data; -- struct ath11k_vif *arvif = (void *)vif->drv_priv; -+ struct ath11k_vif *arvif = ath11k_vif_to_arvif(vif); - struct ath11k *ar = arvif->ar; - struct ieee80211_hw *hw = ar->hw; - -@@ -1718,7 +1718,7 @@ static void ath11k_peer_assoc_h_basic(st - struct ieee80211_sta *sta, - struct peer_assoc_params *arg) - { -- struct ath11k_vif *arvif = (void *)vif->drv_priv; -+ struct ath11k_vif *arvif = ath11k_vif_to_arvif(vif); - u32 aid; - - lockdep_assert_held(&ar->conf_mutex); -@@ -1746,7 +1746,7 @@ static void ath11k_peer_assoc_h_crypto(s - struct ieee80211_bss_conf *info = &vif->bss_conf; - struct cfg80211_chan_def def; - struct cfg80211_bss *bss; -- struct ath11k_vif *arvif = (struct ath11k_vif *)vif->drv_priv; -+ struct ath11k_vif *arvif = ath11k_vif_to_arvif(vif); - const u8 *rsnie = NULL; - const u8 *wpaie = NULL; - -@@ -1804,7 +1804,7 @@ static void ath11k_peer_assoc_h_rates(st - struct ieee80211_sta *sta, - struct peer_assoc_params *arg) - { -- struct ath11k_vif *arvif = (void *)vif->drv_priv; -+ struct ath11k_vif *arvif = ath11k_vif_to_arvif(vif); - struct wmi_rate_set_arg *rateset = &arg->peer_legacy_rates; - struct cfg80211_chan_def def; - const struct ieee80211_supported_band *sband; -@@ -1867,7 +1867,7 @@ static void ath11k_peer_assoc_h_ht(struc - struct peer_assoc_params *arg) - { - const struct ieee80211_sta_ht_cap *ht_cap = &sta->deflink.ht_cap; -- struct ath11k_vif *arvif = (void *)vif->drv_priv; -+ struct ath11k_vif *arvif = ath11k_vif_to_arvif(vif); - struct cfg80211_chan_def def; - enum nl80211_band band; - const u8 *ht_mcs_mask; -@@ -2064,7 +2064,7 @@ static void ath11k_peer_assoc_h_vht(stru - struct peer_assoc_params *arg) - { - const struct ieee80211_sta_vht_cap *vht_cap = &sta->deflink.vht_cap; -- struct ath11k_vif *arvif = (void *)vif->drv_priv; -+ struct ath11k_vif *arvif = ath11k_vif_to_arvif(vif); - struct cfg80211_chan_def def; - enum nl80211_band band; - u16 *vht_mcs_mask; -@@ -2261,7 +2261,7 @@ static void ath11k_peer_assoc_h_he(struc - struct ieee80211_sta *sta, - struct peer_assoc_params *arg) - { -- struct ath11k_vif *arvif = (void *)vif->drv_priv; -+ struct ath11k_vif *arvif = ath11k_vif_to_arvif(vif); - struct cfg80211_chan_def def; - const struct ieee80211_sta_he_cap *he_cap = &sta->deflink.he_cap; - enum nl80211_band band; -@@ -2584,7 +2584,7 @@ static void ath11k_peer_assoc_h_qos(stru - struct ieee80211_sta *sta, - struct peer_assoc_params *arg) - { -- struct ath11k_vif *arvif = (void *)vif->drv_priv; -+ struct ath11k_vif *arvif = ath11k_vif_to_arvif(vif); - - switch (arvif->vdev_type) { - case WMI_VDEV_TYPE_AP: -@@ -2747,7 +2747,7 @@ static void ath11k_peer_assoc_h_phymode( - struct ieee80211_sta *sta, - struct peer_assoc_params *arg) - { -- struct ath11k_vif *arvif = (void *)vif->drv_priv; -+ struct ath11k_vif *arvif = ath11k_vif_to_arvif(vif); - struct cfg80211_chan_def def; - enum nl80211_band band; - const u8 *ht_mcs_mask; -@@ -2933,7 +2933,7 @@ static bool ath11k_mac_vif_recalc_sta_he - struct ieee80211_vif *vif, - struct ieee80211_sta_he_cap *he_cap) - { -- struct ath11k_vif *arvif = (void *)vif->drv_priv; -+ struct ath11k_vif *arvif = ath11k_vif_to_arvif(vif); - struct ieee80211_he_cap_elem he_cap_elem = {0}; - struct ieee80211_sta_he_cap *cap_band = NULL; - struct cfg80211_chan_def def; -@@ -2995,7 +2995,7 @@ static void ath11k_bss_assoc(struct ieee - struct ieee80211_bss_conf *bss_conf) - { - struct ath11k *ar = hw->priv; -- struct ath11k_vif *arvif = (void *)vif->drv_priv; -+ struct ath11k_vif *arvif = ath11k_vif_to_arvif(vif); - struct peer_assoc_params peer_arg; - struct ieee80211_sta *ap_sta; - struct ath11k_peer *peer; -@@ -3111,7 +3111,7 @@ static void ath11k_bss_disassoc(struct i - struct ieee80211_vif *vif) - { - struct ath11k *ar = hw->priv; -- struct ath11k_vif *arvif = (void *)vif->drv_priv; -+ struct ath11k_vif *arvif = ath11k_vif_to_arvif(vif); - int ret; - - lockdep_assert_held(&ar->conf_mutex); -@@ -3160,7 +3160,7 @@ static void ath11k_recalculate_mgmt_rate - struct ieee80211_vif *vif, - struct cfg80211_chan_def *def) - { -- struct ath11k_vif *arvif = (void *)vif->drv_priv; -+ struct ath11k_vif *arvif = ath11k_vif_to_arvif(vif); - const struct ieee80211_supported_band *sband; - u8 basic_rate_idx; - int hw_rate_code; -@@ -4632,7 +4632,7 @@ static int ath11k_station_disassoc(struc - struct ieee80211_vif *vif, - struct ieee80211_sta *sta) - { -- struct ath11k_vif *arvif = (void *)vif->drv_priv; -+ struct ath11k_vif *arvif = ath11k_vif_to_arvif(vif); - int ret = 0; - - lockdep_assert_held(&ar->conf_mutex); -@@ -5160,7 +5160,7 @@ static int ath11k_mac_op_sta_set_txpwr(s - struct ieee80211_sta *sta) - { - struct ath11k *ar = hw->priv; -- struct ath11k_vif *arvif = (void *)vif->drv_priv; -+ struct ath11k_vif *arvif = ath11k_vif_to_arvif(vif); - int ret = 0; - s16 txpwr; - -@@ -5210,7 +5210,7 @@ static void ath11k_mac_op_sta_rc_update( - { - struct ath11k *ar = hw->priv; - struct ath11k_sta *arsta = (struct ath11k_sta *)sta->drv_priv; -- struct ath11k_vif *arvif = (void *)vif->drv_priv; -+ struct ath11k_vif *arvif = ath11k_vif_to_arvif(vif); - struct ath11k_peer *peer; - u32 bw, smps; - -@@ -5337,7 +5337,7 @@ static int ath11k_mac_op_conf_tx(struct - const struct ieee80211_tx_queue_params *params) - { - struct ath11k *ar = hw->priv; -- struct ath11k_vif *arvif = (void *)vif->drv_priv; -+ struct ath11k_vif *arvif = ath11k_vif_to_arvif(vif); - struct wmi_wmm_params_arg *p = NULL; - int ret; - -@@ -6458,7 +6458,7 @@ static int ath11k_mac_setup_vdev_params_ - return 0; - } - -- tx_arvif = (void *)tx_vif->drv_priv; -+ tx_arvif = ath11k_vif_to_arvif(tx_vif); - - if (arvif->vif->bss_conf.nontransmitted) { - if (ar->hw->wiphy != ieee80211_vif_to_wdev(tx_vif)->wiphy) -@@ -7411,7 +7411,7 @@ ath11k_mac_update_vif_chan(struct ath11k - /* TODO: Update ar->rx_channel */ - - for (i = 0; i < n_vifs; i++) { -- arvif = (void *)vifs[i].vif->drv_priv; -+ arvif = ath11k_vif_to_arvif(vifs[i].vif); - - if (WARN_ON(!arvif->is_started)) - continue; -@@ -7453,7 +7453,7 @@ ath11k_mac_update_vif_chan(struct ath11k - - mbssid_tx_vif = arvif->vif->mbssid_tx_vif; - if (mbssid_tx_vif) -- tx_arvif = (struct ath11k_vif *)mbssid_tx_vif->drv_priv; -+ tx_arvif = ath11k_vif_to_arvif(mbssid_tx_vif); - - ret = ath11k_wmi_vdev_up(arvif->ar, arvif->vdev_id, arvif->aid, - arvif->bssid, -@@ -7549,7 +7549,7 @@ static int ath11k_start_vdev_delay(struc - { - struct ath11k *ar = hw->priv; - struct ath11k_base *ab = ar->ab; -- struct ath11k_vif *arvif = (void *)vif->drv_priv; -+ struct ath11k_vif *arvif = ath11k_vif_to_arvif(vif); - int ret; - - if (WARN_ON(arvif->is_started)) -@@ -7599,7 +7599,7 @@ ath11k_mac_op_assign_vif_chanctx(struct - { - struct ath11k *ar = hw->priv; - struct ath11k_base *ab = ar->ab; -- struct ath11k_vif *arvif = (void *)vif->drv_priv; -+ struct ath11k_vif *arvif = ath11k_vif_to_arvif(vif); - int ret; - struct peer_create_params param; - -@@ -7689,7 +7689,7 @@ ath11k_mac_op_unassign_vif_chanctx(struc - { - struct ath11k *ar = hw->priv; - struct ath11k_base *ab = ar->ab; -- struct ath11k_vif *arvif = (void *)vif->drv_priv; -+ struct ath11k_vif *arvif = ath11k_vif_to_arvif(vif); - struct ath11k_peer *peer; - int ret; - -@@ -8310,7 +8310,7 @@ ath11k_mac_op_set_bitrate_mask(struct ie - struct ieee80211_vif *vif, - const struct cfg80211_bitrate_mask *mask) - { -- struct ath11k_vif *arvif = (void *)vif->drv_priv; -+ struct ath11k_vif *arvif = ath11k_vif_to_arvif(vif); - struct cfg80211_chan_def def; - struct ath11k_pdev_cap *cap; - struct ath11k *ar = arvif->ar; -@@ -8907,7 +8907,7 @@ static int ath11k_mac_op_remain_on_chann - enum ieee80211_roc_type type) - { - struct ath11k *ar = hw->priv; -- struct ath11k_vif *arvif = (void *)vif->drv_priv; -+ struct ath11k_vif *arvif = ath11k_vif_to_arvif(vif); - struct scan_req_params arg; - int ret; - u32 scan_time_msec; ---- a/drivers/net/wireless/ath/ath11k/testmode.c -+++ b/drivers/net/wireless/ath/ath11k/testmode.c -@@ -350,7 +350,7 @@ static int ath11k_tm_cmd_wmi(struct ath1 - if (ar->ab->fw_mode != ATH11K_FIRMWARE_MODE_FTM && - (tag == WMI_TAG_VDEV_SET_PARAM_CMD || tag == WMI_TAG_UNIT_TEST_CMD)) { - if (vif) { -- arvif = (struct ath11k_vif *)vif->drv_priv; -+ arvif = ath11k_vif_to_arvif(vif); - *ptr = arvif->vdev_id; - } else { - ret = -EINVAL; diff --git a/package/kernel/mac80211/patches/ath11k/0009-wifi-ath11k-Fix-a-few-spelling-errors.patch b/package/kernel/mac80211/patches/ath11k/0009-wifi-ath11k-Fix-a-few-spelling-errors.patch deleted file mode 100644 index b093f3e342..0000000000 --- a/package/kernel/mac80211/patches/ath11k/0009-wifi-ath11k-Fix-a-few-spelling-errors.patch +++ /dev/null @@ -1,50 +0,0 @@ -From d68a283bfc39aeed2a51c67804e014bf4b35c7e1 Mon Sep 17 00:00:00 2001 -From: Jeff Johnson -Date: Tue, 22 Aug 2023 07:50:49 -0700 -Subject: [PATCH] wifi: ath11k: Fix a few spelling errors - -Fix a few issues flagged by 'codespell'. - -Signed-off-by: Jeff Johnson -Acked-by: Randy Dunlap -Signed-off-by: Kalle Valo -Link: https://lore.kernel.org/r/20230822-ath_spelling-v1-2-8e2698759564@quicinc.com ---- - drivers/net/wireless/ath/ath11k/dp.h | 2 +- - drivers/net/wireless/ath/ath11k/dp_rx.c | 2 +- - drivers/net/wireless/ath/ath11k/dp_tx.c | 2 +- - 3 files changed, 3 insertions(+), 3 deletions(-) - ---- a/drivers/net/wireless/ath/ath11k/dp.h -+++ b/drivers/net/wireless/ath/ath11k/dp.h -@@ -635,7 +635,7 @@ enum htt_ppdu_stats_tag_type { - * b'24 - status_swap: 1 is to swap status TLV - * b'25 - pkt_swap: 1 is to swap packet TLV - * b'26:31 - rsvd1: reserved for future use -- * dword1 - b'0:16 - ring_buffer_size: size of bufferes referenced by rx ring, -+ * dword1 - b'0:16 - ring_buffer_size: size of buffers referenced by rx ring, - * in byte units. - * Valid only for HW_TO_SW_RING and SW_TO_HW_RING - * - b'16:31 - rsvd2: Reserved for future use ---- a/drivers/net/wireless/ath/ath11k/dp_rx.c -+++ b/drivers/net/wireless/ath/ath11k/dp_rx.c -@@ -3423,7 +3423,7 @@ static int ath11k_dp_rx_h_defrag_reo_rei - ath11k_hal_rx_buf_addr_info_set(msdu0, paddr, cookie, - ab->hw_params.hal_params->rx_buf_rbm); - -- /* Fill mpdu details into reo entrace ring */ -+ /* Fill mpdu details into reo entrance ring */ - srng = &ab->hal.srng_list[ab->dp.reo_reinject_ring.ring_id]; - - spin_lock_bh(&srng->lock); ---- a/drivers/net/wireless/ath/ath11k/dp_tx.c -+++ b/drivers/net/wireless/ath/ath11k/dp_tx.c -@@ -238,7 +238,7 @@ tcl_ring_sel: - spin_unlock_bh(&tcl_ring->lock); - ret = -ENOMEM; - -- /* Checking for available tcl descritors in another ring in -+ /* Checking for available tcl descriptors in another ring in - * case of failure due to full tcl ring now, is better than - * checking this ring earlier for each pkt tx. - * Restart ring selection if some rings are not checked yet. diff --git a/package/kernel/mac80211/patches/ath11k/0010-wifi-ath11k-simplify-the-code-with-module_platform_d.patch b/package/kernel/mac80211/patches/ath11k/0010-wifi-ath11k-simplify-the-code-with-module_platform_d.patch deleted file mode 100644 index 19873339b2..0000000000 --- a/package/kernel/mac80211/patches/ath11k/0010-wifi-ath11k-simplify-the-code-with-module_platform_d.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 749a660b39030bfbacc366cd8670df2ee0e878b2 Mon Sep 17 00:00:00 2001 -From: Yang Yingliang -Date: Fri, 4 Aug 2023 17:12:55 +0800 -Subject: [PATCH] wifi: ath11k: simplify the code with module_platform_driver - -The init/exit() of driver only calls platform_driver_register/unregister, -it can be simpilfied with module_platform_driver. - -Signed-off-by: Yang Yingliang -Signed-off-by: Kalle Valo -Link: https://lore.kernel.org/r/20230804091255.1347178-1-yangyingliang@huawei.com ---- - drivers/net/wireless/ath/ath11k/ahb.c | 12 +----------- - 1 file changed, 1 insertion(+), 11 deletions(-) - ---- a/drivers/net/wireless/ath/ath11k/ahb.c -+++ b/drivers/net/wireless/ath/ath11k/ahb.c -@@ -1306,17 +1306,7 @@ static struct platform_driver ath11k_ahb - .shutdown = ath11k_ahb_shutdown, - }; - --static int ath11k_ahb_init(void) --{ -- return platform_driver_register(&ath11k_ahb_driver); --} --module_init(ath11k_ahb_init); -- --static void ath11k_ahb_exit(void) --{ -- platform_driver_unregister(&ath11k_ahb_driver); --} --module_exit(ath11k_ahb_exit); -+module_platform_driver(ath11k_ahb_driver); - - MODULE_DESCRIPTION("Driver support for Qualcomm Technologies 802.11ax WLAN AHB devices"); - MODULE_LICENSE("Dual BSD/GPL"); diff --git a/package/kernel/mac80211/patches/ath11k/0011-wifi-ath11k-fix-Wvoid-pointer-to-enum-cast-warning.patch b/package/kernel/mac80211/patches/ath11k/0011-wifi-ath11k-fix-Wvoid-pointer-to-enum-cast-warning.patch deleted file mode 100644 index f42b021375..0000000000 --- a/package/kernel/mac80211/patches/ath11k/0011-wifi-ath11k-fix-Wvoid-pointer-to-enum-cast-warning.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 6763ef191d672ff3c2db0622652d49b0c0a60c4a Mon Sep 17 00:00:00 2001 -From: Krzysztof Kozlowski -Date: Thu, 10 Aug 2023 11:12:23 +0200 -Subject: [PATCH] wifi: ath11k: fix Wvoid-pointer-to-enum-cast warning - -'hw_rev' is an enum, thus cast of pointer on 64-bit compile test with W=1 -causes: - - h11k/ahb.c:1124:11: error: cast to smaller integer type 'enum ath11k_hw_rev' from 'const void *' [-Werror,-Wvoid-pointer-to-enum-cast] - -Signed-off-by: Krzysztof Kozlowski -Acked-by: Jeff Johnson -Signed-off-by: Kalle Valo -Link: https://lore.kernel.org/r/20230810091224.70088-1-krzysztof.kozlowski@linaro.org ---- - drivers/net/wireless/ath/ath11k/ahb.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/drivers/net/wireless/ath/ath11k/ahb.c -+++ b/drivers/net/wireless/ath/ath11k/ahb.c -@@ -1096,7 +1096,7 @@ static int ath11k_ahb_probe(struct platf - return -EINVAL; - } - -- hw_rev = (enum ath11k_hw_rev)of_id->data; -+ hw_rev = (uintptr_t)of_id->data; - - switch (hw_rev) { - case ATH11K_HW_IPQ8074: diff --git a/package/kernel/mac80211/patches/ath11k/0012-wifi-ath11k-Remove-unused-declarations.patch b/package/kernel/mac80211/patches/ath11k/0012-wifi-ath11k-Remove-unused-declarations.patch deleted file mode 100644 index c318bbc321..0000000000 --- a/package/kernel/mac80211/patches/ath11k/0012-wifi-ath11k-Remove-unused-declarations.patch +++ /dev/null @@ -1,44 +0,0 @@ -From adb0b206709f4f2f1256a1ea20619ab98e99f2e7 Mon Sep 17 00:00:00 2001 -From: Yue Haibing -Date: Fri, 11 Aug 2023 18:44:13 +0800 -Subject: [PATCH] wifi: ath11k: Remove unused declarations - -Commit 2c3960c2253d ("ath11k: setup ce tasklet for control path") -declared but never implemented ath11k_ce_map_service_to_pipe(). -Commit e3396b8bddd2 ("ath11k: ce: support different CE configurations") -declared but never implemented ath11k_ce_attr_attach(). -Commit d5c65159f289 ("ath11k: driver for Qualcomm IEEE 802.11ax devices") -declared but never implemented ath11k_qmi_event_work()/ath11k_qmi_msg_recv_work(). - -Signed-off-by: Yue Haibing -Acked-by: Jeff Johnson -Signed-off-by: Kalle Valo -Link: https://lore.kernel.org/r/20230811104413.33668-1-yuehaibing@huawei.com ---- - drivers/net/wireless/ath/ath11k/ce.h | 3 --- - drivers/net/wireless/ath/ath11k/qmi.h | 2 -- - 2 files changed, 5 deletions(-) - ---- a/drivers/net/wireless/ath/ath11k/ce.h -+++ b/drivers/net/wireless/ath/ath11k/ce.h -@@ -203,9 +203,6 @@ int ath11k_ce_alloc_pipes(struct ath11k_ - void ath11k_ce_free_pipes(struct ath11k_base *ab); - int ath11k_ce_get_attr_flags(struct ath11k_base *ab, int ce_id); - void ath11k_ce_poll_send_completed(struct ath11k_base *ab, u8 pipe_id); --int ath11k_ce_map_service_to_pipe(struct ath11k_base *ab, u16 service_id, -- u8 *ul_pipe, u8 *dl_pipe); --int ath11k_ce_attr_attach(struct ath11k_base *ab); - void ath11k_ce_get_shadow_config(struct ath11k_base *ab, - u32 **shadow_cfg, u32 *shadow_cfg_len); - void ath11k_ce_stop_shadow_timers(struct ath11k_base *ab); ---- a/drivers/net/wireless/ath/ath11k/qmi.h -+++ b/drivers/net/wireless/ath/ath11k/qmi.h -@@ -514,8 +514,6 @@ struct qmi_wlanfw_wlan_ini_resp_msg_v01 - int ath11k_qmi_firmware_start(struct ath11k_base *ab, - u32 mode); - void ath11k_qmi_firmware_stop(struct ath11k_base *ab); --void ath11k_qmi_event_work(struct work_struct *work); --void ath11k_qmi_msg_recv_work(struct work_struct *work); - void ath11k_qmi_deinit_service(struct ath11k_base *ab); - int ath11k_qmi_init_service(struct ath11k_base *ab); - void ath11k_qmi_free_resource(struct ath11k_base *ab); diff --git a/package/kernel/mac80211/patches/ath11k/0017-wifi-ath11k-fix-boot-failure-with-one-MSI-vector.patch b/package/kernel/mac80211/patches/ath11k/0017-wifi-ath11k-fix-boot-failure-with-one-MSI-vector.patch deleted file mode 100644 index 9101a1ea1c..0000000000 --- a/package/kernel/mac80211/patches/ath11k/0017-wifi-ath11k-fix-boot-failure-with-one-MSI-vector.patch +++ /dev/null @@ -1,103 +0,0 @@ -From 39564b475ac5a589e6c22c43a08cbd283c295d2c Mon Sep 17 00:00:00 2001 -From: Baochen Qiang -Date: Thu, 7 Sep 2023 09:56:06 +0800 -Subject: [PATCH] wifi: ath11k: fix boot failure with one MSI vector - -Commit 5b32b6dd96633 ("ath11k: Remove core PCI references from -PCI common code") breaks with one MSI vector because it moves -affinity setting after IRQ request, see below log: - -[ 1417.278835] ath11k_pci 0000:02:00.0: failed to receive control response completion, polling.. -[ 1418.302829] ath11k_pci 0000:02:00.0: Service connect timeout -[ 1418.302833] ath11k_pci 0000:02:00.0: failed to connect to HTT: -110 -[ 1418.303669] ath11k_pci 0000:02:00.0: failed to start core: -110 - -The detail is, if do affinity request after IRQ activated, -which is done in request_irq(), kernel caches that request and -returns success directly. Later when a subsequent MHI interrupt is -fired, kernel will do the real affinity setting work, as a result, -changs the MSI vector. However at that time host has configured -old vector to hardware, so host never receives CE or DP interrupts. - -Fix it by setting affinity before registering MHI controller -where host is, for the first time, doing IRQ request. - -Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3 -Tested-on: WCN6855 hw2.1 PCI WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3.6510.23 -Tested-on: WCN6750 hw1.0 AHB WLAN.MSL.1.0.1-01160-QCAMSLSWPLZ-1 - -Fixes: 5b32b6dd9663 ("ath11k: Remove core PCI references from PCI common code") -Signed-off-by: Baochen Qiang -Acked-by: Jeff Johnson -Signed-off-by: Kalle Valo -Link: https://lore.kernel.org/r/20230907015606.16297-1-quic_bqiang@quicinc.com ---- - drivers/net/wireless/ath/ath11k/pci.c | 24 ++++++++++++------------ - 1 file changed, 12 insertions(+), 12 deletions(-) - ---- a/drivers/net/wireless/ath/ath11k/pci.c -+++ b/drivers/net/wireless/ath/ath11k/pci.c -@@ -852,10 +852,16 @@ unsupported_wcn6855_soc: - if (ret) - goto err_pci_disable_msi; - -+ ret = ath11k_pci_set_irq_affinity_hint(ab_pci, cpumask_of(0)); -+ if (ret) { -+ ath11k_err(ab, "failed to set irq affinity %d\n", ret); -+ goto err_pci_disable_msi; -+ } -+ - ret = ath11k_mhi_register(ab_pci); - if (ret) { - ath11k_err(ab, "failed to register mhi: %d\n", ret); -- goto err_pci_disable_msi; -+ goto err_irq_affinity_cleanup; - } - - ret = ath11k_hal_srng_init(ab); -@@ -876,12 +882,6 @@ unsupported_wcn6855_soc: - goto err_ce_free; - } - -- ret = ath11k_pci_set_irq_affinity_hint(ab_pci, cpumask_of(0)); -- if (ret) { -- ath11k_err(ab, "failed to set irq affinity %d\n", ret); -- goto err_free_irq; -- } -- - /* kernel may allocate a dummy vector before request_irq and - * then allocate a real vector when request_irq is called. - * So get msi_data here again to avoid spurious interrupt -@@ -890,20 +890,17 @@ unsupported_wcn6855_soc: - ret = ath11k_pci_config_msi_data(ab_pci); - if (ret) { - ath11k_err(ab, "failed to config msi_data: %d\n", ret); -- goto err_irq_affinity_cleanup; -+ goto err_free_irq; - } - - ret = ath11k_core_init(ab); - if (ret) { - ath11k_err(ab, "failed to init core: %d\n", ret); -- goto err_irq_affinity_cleanup; -+ goto err_free_irq; - } - ath11k_qmi_fwreset_from_cold_boot(ab); - return 0; - --err_irq_affinity_cleanup: -- ath11k_pci_set_irq_affinity_hint(ab_pci, NULL); -- - err_free_irq: - ath11k_pcic_free_irq(ab); - -@@ -916,6 +913,9 @@ err_hal_srng_deinit: - err_mhi_unregister: - ath11k_mhi_unregister(ab_pci); - -+err_irq_affinity_cleanup: -+ ath11k_pci_set_irq_affinity_hint(ab_pci, NULL); -+ - err_pci_disable_msi: - ath11k_pci_free_msi(ab_pci); - diff --git a/package/kernel/mac80211/patches/ath11k/0019-wifi-ath11k-drop-redundant-check-in-ath11k_dp_rx_mon.patch b/package/kernel/mac80211/patches/ath11k/0019-wifi-ath11k-drop-redundant-check-in-ath11k_dp_rx_mon.patch index ace199315b..cf18273918 100644 --- a/package/kernel/mac80211/patches/ath11k/0019-wifi-ath11k-drop-redundant-check-in-ath11k_dp_rx_mon.patch +++ b/package/kernel/mac80211/patches/ath11k/0019-wifi-ath11k-drop-redundant-check-in-ath11k_dp_rx_mon.patch @@ -22,7 +22,7 @@ Link: https://lore.kernel.org/r/20230824075121.121144-1-dmantipov@yandex.ru --- a/drivers/net/wireless/ath/ath11k/dp_rx.c +++ b/drivers/net/wireless/ath/ath11k/dp_rx.c -@@ -5094,13 +5094,6 @@ static void ath11k_dp_rx_mon_dest_proces +@@ -5100,13 +5100,6 @@ static void ath11k_dp_rx_mon_dest_proces mon_dst_srng = &ar->ab->hal.srng_list[ring_id]; diff --git a/package/kernel/mac80211/patches/ath11k/0022-wifi-ath11k-remove-unnecessary-void-conversions.patch b/package/kernel/mac80211/patches/ath11k/0022-wifi-ath11k-remove-unnecessary-void-conversions.patch index cbd664dad5..81c1ca16b3 100644 --- a/package/kernel/mac80211/patches/ath11k/0022-wifi-ath11k-remove-unnecessary-void-conversions.patch +++ b/package/kernel/mac80211/patches/ath11k/0022-wifi-ath11k-remove-unnecessary-void-conversions.patch @@ -44,7 +44,7 @@ Link: https://lore.kernel.org/r/20230919045150.524304-1-yunchuan@nfschina.com switch (tag) { case HTT_PPDU_STATS_TAG_COMMON: -@@ -4486,8 +4486,7 @@ int ath11k_dp_rx_monitor_link_desc_retur +@@ -4492,8 +4492,7 @@ int ath11k_dp_rx_monitor_link_desc_retur src_srng_desc = ath11k_hal_srng_src_get_next_entry(ar->ab, hal_srng); if (src_srng_desc) { @@ -54,7 +54,7 @@ Link: https://lore.kernel.org/r/20230919045150.524304-1-yunchuan@nfschina.com *src_desc = *((struct ath11k_buffer_addr *)p_last_buf_addr_info); } else { -@@ -4506,8 +4505,7 @@ void ath11k_dp_rx_mon_next_link_desc_get +@@ -4512,8 +4511,7 @@ void ath11k_dp_rx_mon_next_link_desc_get u8 *rbm, void **pp_buf_addr_info) { @@ -64,7 +64,7 @@ Link: https://lore.kernel.org/r/20230919045150.524304-1-yunchuan@nfschina.com struct ath11k_buffer_addr *buf_addr_info; buf_addr_info = (struct ath11k_buffer_addr *)&msdu_link->buf_addr_info; -@@ -4548,7 +4546,7 @@ static void ath11k_hal_rx_msdu_list_get( +@@ -4554,7 +4552,7 @@ static void ath11k_hal_rx_msdu_list_get( u32 first = FIELD_PREP(RX_MSDU_DESC_INFO0_FIRST_MSDU_IN_MPDU, 1); u8 tmp = 0; @@ -73,7 +73,7 @@ Link: https://lore.kernel.org/r/20230919045150.524304-1-yunchuan@nfschina.com msdu_details = &msdu_link->msdu_link[0]; for (i = 0; i < HAL_RX_NUM_MSDU_DESC; i++) { -@@ -4645,8 +4643,7 @@ ath11k_dp_rx_mon_mpdu_pop(struct ath11k +@@ -4651,8 +4649,7 @@ ath11k_dp_rx_mon_mpdu_pop(struct ath11k bool is_frag, is_first_msdu; bool drop_mpdu = false; struct ath11k_skb_rxcb *rxcb; diff --git a/package/kernel/mac80211/patches/ath11k/0026-wifi-ath11k-fix-Tx-power-value-during-active-CAC.patch b/package/kernel/mac80211/patches/ath11k/0026-wifi-ath11k-fix-Tx-power-value-during-active-CAC.patch index 79c1d735b8..c3aa8a49af 100644 --- a/package/kernel/mac80211/patches/ath11k/0026-wifi-ath11k-fix-Tx-power-value-during-active-CAC.patch +++ b/package/kernel/mac80211/patches/ath11k/0026-wifi-ath11k-fix-Tx-power-value-during-active-CAC.patch @@ -26,9 +26,9 @@ Link: https://lore.kernel.org/r/20230912051857.2284-4-quic_adisi@quicinc.com --- a/drivers/net/wireless/ath/ath11k/mac.c +++ b/drivers/net/wireless/ath/ath11k/mac.c -@@ -9060,6 +9060,14 @@ static int ath11k_mac_op_get_txpower(str - if (ar->state != ATH11K_STATE_ON) - goto err_fallback; +@@ -9068,6 +9068,14 @@ static int ath11k_mac_op_get_txpower(str + return -EAGAIN; + } + /* Firmware doesn't provide Tx power during CAC hence no need to fetch + * the stats. diff --git a/package/kernel/mac80211/patches/ath11k/0031-wifi-ath11k-Introduce-and-use-ath11k_sta_to_arsta.patch b/package/kernel/mac80211/patches/ath11k/0031-wifi-ath11k-Introduce-and-use-ath11k_sta_to_arsta.patch index 59af3b9297..1a6a701eec 100644 --- a/package/kernel/mac80211/patches/ath11k/0031-wifi-ath11k-Introduce-and-use-ath11k_sta_to_arsta.patch +++ b/package/kernel/mac80211/patches/ath11k/0031-wifi-ath11k-Introduce-and-use-ath11k_sta_to_arsta.patch @@ -230,7 +230,7 @@ Link: https://lore.kernel.org/r/20231009-ath11k_sta_to_arsta-v1-1-1563e3a307e8@q memset(&arsta->txrate, 0, sizeof(arsta->txrate)); -@@ -5242,7 +5242,7 @@ int ath11k_dp_rx_process_mon_status(stru +@@ -5248,7 +5248,7 @@ int ath11k_dp_rx_process_mon_status(stru goto next_skb; } diff --git a/package/kernel/mac80211/patches/ath5k/440-ath5k_channel_bw_debugfs.patch b/package/kernel/mac80211/patches/ath5k/440-ath5k_channel_bw_debugfs.patch index a63f0c881b..6ff95f95a3 100644 --- a/package/kernel/mac80211/patches/ath5k/440-ath5k_channel_bw_debugfs.patch +++ b/package/kernel/mac80211/patches/ath5k/440-ath5k_channel_bw_debugfs.patch @@ -109,7 +109,7 @@ drivers/net/wireless/ath/ath5k/debug.c | 86 ++++++++++++++++++++++++++++++++ /* debugfs: queues etc */ -@@ -997,6 +1088,8 @@ ath5k_debug_init_device(struct ath5k_hw +@@ -995,6 +1086,8 @@ ath5k_debug_init_device(struct ath5k_hw debugfs_create_file("queue", 0600, phydir, ah, &fops_queue); debugfs_create_bool("32khz_clock", 0600, phydir, &ah->ah_use_32khz_clock); diff --git a/package/kernel/mac80211/patches/ath9k/500-ath9k_eeprom_debugfs.patch b/package/kernel/mac80211/patches/ath9k/500-ath9k_eeprom_debugfs.patch index d23d70b2ce..a0ec7ef972 100644 --- a/package/kernel/mac80211/patches/ath9k/500-ath9k_eeprom_debugfs.patch +++ b/package/kernel/mac80211/patches/ath9k/500-ath9k_eeprom_debugfs.patch @@ -1,6 +1,6 @@ --- a/drivers/net/wireless/ath/ath9k/debug.c +++ b/drivers/net/wireless/ath/ath9k/debug.c -@@ -1471,6 +1471,7 @@ int ath9k_init_debug(struct ath_hw *ah) +@@ -1431,6 +1431,7 @@ int ath9k_init_debug(struct ath_hw *ah) ath9k_cmn_debug_base_eeprom(sc->debug.debugfs_phy, sc->sc_ah); ath9k_cmn_debug_modal_eeprom(sc->debug.debugfs_phy, sc->sc_ah); @@ -82,7 +82,7 @@ void ath9k_cmn_debug_recv(struct dentry *debugfs_phy, --- a/drivers/net/wireless/ath/ath9k/htc_drv_debug.c +++ b/drivers/net/wireless/ath/ath9k/htc_drv_debug.c -@@ -519,6 +519,7 @@ int ath9k_htc_init_debug(struct ath_hw * +@@ -514,6 +514,7 @@ int ath9k_htc_init_debug(struct ath_hw * ath9k_cmn_debug_base_eeprom(priv->debug.debugfs_phy, priv->ah); ath9k_cmn_debug_modal_eeprom(priv->debug.debugfs_phy, priv->ah); diff --git a/package/kernel/mac80211/patches/ath9k/512-ath9k_channelbw_debugfs.patch b/package/kernel/mac80211/patches/ath9k/512-ath9k_channelbw_debugfs.patch index 474fb3fdbe..3ec2d6ec6e 100644 --- a/package/kernel/mac80211/patches/ath9k/512-ath9k_channelbw_debugfs.patch +++ b/package/kernel/mac80211/patches/ath9k/512-ath9k_channelbw_debugfs.patch @@ -1,6 +1,6 @@ --- a/drivers/net/wireless/ath/ath9k/debug.c +++ b/drivers/net/wireless/ath/ath9k/debug.c -@@ -1472,6 +1472,7 @@ int ath9k_init_debug(struct ath_hw *ah) +@@ -1432,6 +1432,7 @@ int ath9k_init_debug(struct ath_hw *ah) ath9k_cmn_debug_base_eeprom(sc->debug.debugfs_phy, sc->sc_ah); ath9k_cmn_debug_modal_eeprom(sc->debug.debugfs_phy, sc->sc_ah); ath9k_cmn_debug_eeprom(sc->debug.debugfs_phy, sc->sc_ah); @@ -137,7 +137,7 @@ +EXPORT_SYMBOL(ath9k_cmn_debug_chanbw); --- a/drivers/net/wireless/ath/ath9k/htc_drv_debug.c +++ b/drivers/net/wireless/ath/ath9k/htc_drv_debug.c -@@ -520,6 +520,7 @@ int ath9k_htc_init_debug(struct ath_hw * +@@ -515,6 +515,7 @@ int ath9k_htc_init_debug(struct ath_hw * ath9k_cmn_debug_base_eeprom(priv->debug.debugfs_phy, priv->ah); ath9k_cmn_debug_modal_eeprom(priv->debug.debugfs_phy, priv->ah); ath9k_cmn_debug_eeprom(priv->debug.debugfs_phy, priv->ah); diff --git a/package/kernel/mac80211/patches/ath9k/530-ath9k_extra_leds.patch b/package/kernel/mac80211/patches/ath9k/530-ath9k_extra_leds.patch index 9568b091de..1b2d4cb5d4 100644 --- a/package/kernel/mac80211/patches/ath9k/530-ath9k_extra_leds.patch +++ b/package/kernel/mac80211/patches/ath9k/530-ath9k_extra_leds.patch @@ -192,7 +192,7 @@ #endif --- a/drivers/net/wireless/ath/ath9k/debug.c +++ b/drivers/net/wireless/ath/ath9k/debug.c -@@ -128,6 +128,61 @@ static const struct file_operations fops +@@ -123,6 +123,61 @@ static const struct file_operations fops #define DMA_BUF_LEN 1024 @@ -254,7 +254,7 @@ static ssize_t read_file_ani(struct file *file, char __user *user_buf, size_t count, loff_t *ppos) -@@ -1432,6 +1487,10 @@ int ath9k_init_debug(struct ath_hw *ah) +@@ -1392,6 +1447,10 @@ int ath9k_init_debug(struct ath_hw *ah) ath9k_tx99_init_debug(sc); ath9k_cmn_spectral_init_debug(&sc->spec_priv, sc->debug.debugfs_phy); diff --git a/package/kernel/mac80211/patches/ath9k/542-ath9k_debugfs_diag.patch b/package/kernel/mac80211/patches/ath9k/542-ath9k_debugfs_diag.patch index c54dbbb188..f00ce5f3dc 100644 --- a/package/kernel/mac80211/patches/ath9k/542-ath9k_debugfs_diag.patch +++ b/package/kernel/mac80211/patches/ath9k/542-ath9k_debugfs_diag.patch @@ -1,6 +1,6 @@ --- a/drivers/net/wireless/ath/ath9k/debug.c +++ b/drivers/net/wireless/ath/ath9k/debug.c -@@ -1468,6 +1468,50 @@ void ath9k_deinit_debug(struct ath_softc +@@ -1428,6 +1428,50 @@ void ath9k_deinit_debug(struct ath_softc ath9k_cmn_spectral_deinit_debug(&sc->spec_priv); } @@ -51,7 +51,7 @@ int ath9k_init_debug(struct ath_hw *ah) { struct ath_common *common = ath9k_hw_common(ah); -@@ -1491,6 +1535,8 @@ int ath9k_init_debug(struct ath_hw *ah) +@@ -1451,6 +1495,8 @@ int ath9k_init_debug(struct ath_hw *ah) debugfs_create_file("gpio_led", S_IWUSR, sc->debug.debugfs_phy, sc, &fops_gpio_led); #endif diff --git a/package/kernel/mac80211/patches/build/060-no_local_ssb_bcma.patch b/package/kernel/mac80211/patches/build/060-no_local_ssb_bcma.patch index 451d0b79fc..2a0f9ede42 100644 --- a/package/kernel/mac80211/patches/build/060-no_local_ssb_bcma.patch +++ b/package/kernel/mac80211/patches/build/060-no_local_ssb_bcma.patch @@ -1,6 +1,6 @@ --- a/local-symbols +++ b/local-symbols -@@ -491,43 +491,6 @@ USB_VL600= +@@ -493,43 +493,6 @@ USB_VL600= USB_NET_CH9200= USB_NET_AQC111= USB_RTL8153_ECM= @@ -171,7 +171,7 @@ depends on CORDIC --- a/Kconfig.local +++ b/Kconfig.local -@@ -1477,117 +1477,6 @@ config BACKPORTED_USB_NET_AQC111 +@@ -1483,117 +1483,6 @@ config BACKPORTED_USB_NET_AQC111 config BACKPORTED_USB_RTL8153_ECM tristate default USB_RTL8153_ECM diff --git a/package/kernel/mac80211/patches/build/080-resv_start_op.patch b/package/kernel/mac80211/patches/build/080-resv_start_op.patch index 802a0e3fc8..bbd9018bdf 100644 --- a/package/kernel/mac80211/patches/build/080-resv_start_op.patch +++ b/package/kernel/mac80211/patches/build/080-resv_start_op.patch @@ -12,7 +12,7 @@ }; --- a/net/wireless/nl80211.c +++ b/net/wireless/nl80211.c -@@ -17509,7 +17509,9 @@ static struct genl_family nl80211_fam __ +@@ -17551,7 +17551,9 @@ static struct genl_family nl80211_fam __ .n_ops = ARRAY_SIZE(nl80211_ops), .small_ops = nl80211_small_ops, .n_small_ops = ARRAY_SIZE(nl80211_small_ops), diff --git a/package/kernel/mac80211/patches/build/210-revert-split-op.patch b/package/kernel/mac80211/patches/build/210-revert-split-op.patch index a1fae5e07d..4f1f8a7795 100644 --- a/package/kernel/mac80211/patches/build/210-revert-split-op.patch +++ b/package/kernel/mac80211/patches/build/210-revert-split-op.patch @@ -1,6 +1,6 @@ --- a/net/wireless/nl80211.c +++ b/net/wireless/nl80211.c -@@ -16400,8 +16400,7 @@ static u32 nl80211_internal_flags[] = { +@@ -16442,8 +16442,7 @@ static u32 nl80211_internal_flags[] = { #undef SELECTOR }; @@ -10,7 +10,7 @@ struct genl_info *info) { struct cfg80211_registered_device *rdev = NULL; -@@ -16502,8 +16501,7 @@ out_unlock: +@@ -16544,8 +16543,7 @@ out_unlock: return err; } diff --git a/package/kernel/mac80211/patches/mwl/950-mwifiex-Print-stringified-name-of-command-in-error-l.patch b/package/kernel/mac80211/patches/mwl/950-mwifiex-Print-stringified-name-of-command-in-error-l.patch index 628b9f8a12..f4d97eeee2 100644 --- a/package/kernel/mac80211/patches/mwl/950-mwifiex-Print-stringified-name-of-command-in-error-l.patch +++ b/package/kernel/mac80211/patches/mwl/950-mwifiex-Print-stringified-name-of-command-in-error-l.patch @@ -152,7 +152,7 @@ Signed-off-by: Pali Rohár --- a/drivers/net/wireless/marvell/mwifiex/main.h +++ b/drivers/net/wireless/marvell/mwifiex/main.h -@@ -1100,6 +1100,8 @@ void mwifiex_cancel_all_pending_cmd(stru +@@ -1086,6 +1086,8 @@ void mwifiex_cancel_all_pending_cmd(stru void mwifiex_cancel_pending_scan_cmd(struct mwifiex_adapter *adapter); void mwifiex_cancel_scan(struct mwifiex_adapter *adapter); @@ -177,7 +177,7 @@ Signed-off-by: Pali Rohár adapter->cmd_wait_q.status = -1; --- a/drivers/net/wireless/marvell/mwifiex/uap_cmd.c +++ b/drivers/net/wireless/marvell/mwifiex/uap_cmd.c -@@ -794,7 +794,8 @@ int mwifiex_uap_prepare_cmd(struct mwifi +@@ -802,7 +802,8 @@ int mwifiex_uap_prepare_cmd(struct mwifi break; default: mwifiex_dbg(priv->adapter, ERROR, diff --git a/package/kernel/mac80211/patches/rt2x00/000-v6.6-wifi-rt2x00-correct-MAC_SYS_CTRL-register-RX-mask-i.patch b/package/kernel/mac80211/patches/rt2x00/000-v6.6-wifi-rt2x00-correct-MAC_SYS_CTRL-register-RX-mask-i.patch deleted file mode 100644 index c84b5a1408..0000000000 --- a/package/kernel/mac80211/patches/rt2x00/000-v6.6-wifi-rt2x00-correct-MAC_SYS_CTRL-register-RX-mask-i.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 186f2432741f6d28d86ff723ac7830446affddfc Mon Sep 17 00:00:00 2001 -From: Shiji Yang -Date: Sat, 5 Aug 2023 17:17:28 +0800 -Subject: wifi: rt2x00: correct MAC_SYS_CTRL register RX mask in R-Calibration - -For MAC_SYS_CTRL register, Bit[2] controls MAC_TX_EN and Bit[3] -controls MAC_RX_EN (Bit index starts from 0). Therefore, 0x08 is -the correct mask for RX. - -Signed-off-by: Shiji Yang -Acked-by: Stanislaw Gruszka -Signed-off-by: Kalle Valo -Link: https://lore.kernel.org/r/TYAP286MB03150B571B67B896A504AC34BC0EA@TYAP286MB0315.JPNP286.PROD.OUTLOOK.COM ---- - drivers/net/wireless/ralink/rt2x00/rt2800lib.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -@@ -8561,7 +8561,7 @@ static void rt2800_r_calibration(struct - rt2x00_warn(rt2x00dev, "Wait MAC Tx Status to MAX !!!\n"); - - maccfg = rt2800_register_read(rt2x00dev, MAC_SYS_CTRL); -- maccfg &= (~0x04); -+ maccfg &= (~0x08); - rt2800_register_write(rt2x00dev, MAC_SYS_CTRL, maccfg); - - if (unlikely(rt2800_wait_bbp_rf_ready(rt2x00dev, MAC_STATUS_CFG_BBP_RF_BUSY_RX))) diff --git a/package/kernel/mac80211/patches/rt2x00/001-v6.6-wifi-rt2x00-limit-MT7620-TX-power-based-on-eeprom.patch b/package/kernel/mac80211/patches/rt2x00/001-v6.6-wifi-rt2x00-limit-MT7620-TX-power-based-on-eeprom.patch deleted file mode 100644 index aa843d4219..0000000000 --- a/package/kernel/mac80211/patches/rt2x00/001-v6.6-wifi-rt2x00-limit-MT7620-TX-power-based-on-eeprom.patch +++ /dev/null @@ -1,115 +0,0 @@ -From 821b5192c955144bd2f0aeea6cd153e1aedd16e1 Mon Sep 17 00:00:00 2001 -From: Shiji Yang -Date: Fri, 11 Aug 2023 14:34:54 +0800 -Subject: wifi: rt2x00: limit MT7620 TX power based on eeprom calibration - -In the vendor driver, the current channel power is queried from -EEPROM_TXPOWER_BG1 and EEPROM_TXPOWER_BG2. And then the mixed value -will be written into the low half-word of the TX_ALC_CFG_0 register. -The high half-word of the TX_ALC_CFG_0 is a fixed value 0x2f2f. - -We can't get the accurate TX power. Based on my tests and the new -MediaTek mt76 driver source code, the real TX power is approximately -equal to channel_power + (max) rate_power. Usually max rate_power is -the gain of the OFDM 6M rate, which can be readed from the offset -EEPROM_TXPOWER_BYRATE +1. - -Based on these eeprom values, this patch adds basic TX power control -for the MT7620 and limits its maximum TX power. This can avoid the -link speed decrease caused by chip overheating. rt2800_config_alc() -function has also been renamed to rt2800_config_alc_rt6352() because -it's only used by RT6352 (MT7620). - -Notice: -It's still need some work to sync the max channel power to the user -interface. This part is missing from the rt2x00 driver framework. If -we set the power exceed the calibration value, it won't take effect. - -Signed-off-by: Shiji Yang -Acked-by: Stanislaw Gruszka -Signed-off-by: Kalle Valo -Link: https://lore.kernel.org/r/TYAP286MB03159090ED14044215E59FD6BC10A@TYAP286MB0315.JPNP286.PROD.OUTLOOK.COM ---- - drivers/net/wireless/ralink/rt2x00/rt2800lib.c | 57 ++++++++++++++++++-------- - 1 file changed, 40 insertions(+), 17 deletions(-) - ---- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -@@ -3865,28 +3865,51 @@ static void rt2800_config_channel_rf7620 - } - } - --static void rt2800_config_alc(struct rt2x00_dev *rt2x00dev, -- struct ieee80211_channel *chan, -- int power_level) { -- u16 eeprom, target_power, max_power; -+static void rt2800_config_alc_rt6352(struct rt2x00_dev *rt2x00dev, -+ struct ieee80211_channel *chan, -+ int power_level) -+{ -+ int cur_channel = rt2x00dev->rf_channel; -+ u16 eeprom, chan_power, rate_power, target_power; -+ u16 tx_power[2]; -+ s8 *power_group[2]; - u32 mac_sys_ctrl; -- u32 reg; -+ u32 cnt, reg; - u8 bbp; - -- /* hardware unit is 0.5dBm, limited to 23.5dBm */ -- power_level *= 2; -- if (power_level > 0x2f) -- power_level = 0x2f; -- -- max_power = chan->max_power * 2; -- if (max_power > 0x2f) -- max_power = 0x2f; -+ if (WARN_ON(cur_channel < 1 || cur_channel > 14)) -+ return; -+ -+ /* get per chain power, 2 chains in total, unit is 0.5dBm */ -+ power_level = (power_level - 3) * 2; -+ -+ /* We can't get the accurate TX power. Based on some tests, the real -+ * TX power is approximately equal to channel_power + (max)rate_power. -+ * Usually max rate_power is the gain of the OFDM 6M rate. The antenna -+ * gain and externel PA gain are not included as we are unable to -+ * obtain these values. -+ */ -+ rate_power = rt2800_eeprom_read_from_array(rt2x00dev, -+ EEPROM_TXPOWER_BYRATE, 1); -+ rate_power &= 0x3f; -+ power_level -= rate_power; -+ if (power_level < 1) -+ power_level = 1; -+ -+ power_group[0] = rt2800_eeprom_addr(rt2x00dev, EEPROM_TXPOWER_BG1); -+ power_group[1] = rt2800_eeprom_addr(rt2x00dev, EEPROM_TXPOWER_BG2); -+ for (cnt = 0; cnt < 2; cnt++) { -+ chan_power = power_group[cnt][cur_channel - 1]; -+ if (chan_power >= 0x20 || chan_power == 0) -+ chan_power = 0x10; -+ tx_power[cnt] = power_level < chan_power ? power_level : chan_power; -+ } - - reg = rt2800_register_read(rt2x00dev, TX_ALC_CFG_0); -- rt2x00_set_field32(®, TX_ALC_CFG_0_CH_INIT_0, power_level); -- rt2x00_set_field32(®, TX_ALC_CFG_0_CH_INIT_1, power_level); -- rt2x00_set_field32(®, TX_ALC_CFG_0_LIMIT_0, max_power); -- rt2x00_set_field32(®, TX_ALC_CFG_0_LIMIT_1, max_power); -+ rt2x00_set_field32(®, TX_ALC_CFG_0_CH_INIT_0, tx_power[0]); -+ rt2x00_set_field32(®, TX_ALC_CFG_0_CH_INIT_1, tx_power[1]); -+ rt2x00_set_field32(®, TX_ALC_CFG_0_LIMIT_0, 0x2f); -+ rt2x00_set_field32(®, TX_ALC_CFG_0_LIMIT_1, 0x2f); - - eeprom = rt2800_eeprom_read(rt2x00dev, EEPROM_NIC_CONF1); - if (rt2x00_get_field16(eeprom, EEPROM_NIC_CONF1_INTERNAL_TX_ALC)) { -@@ -5268,7 +5291,7 @@ static void rt2800_config_txpower_rt6352 - rt2x00_set_field32(&pwreg, TX_PWR_CFG_9B_STBC_MCS7, t); - rt2800_register_write(rt2x00dev, TX_PWR_CFG_9, pwreg); - -- rt2800_config_alc(rt2x00dev, chan, power_level); -+ rt2800_config_alc_rt6352(rt2x00dev, chan, power_level); - - /* TODO: temperature compensation code! */ - } diff --git a/package/kernel/mac80211/patches/rt2x00/602-01-wifi-rt2x00-Add-support-for-loading-EEPROM-from-user.patch b/package/kernel/mac80211/patches/rt2x00/602-01-wifi-rt2x00-Add-support-for-loading-EEPROM-from-user.patch index 5040b5af62..8b04473dbe 100644 --- a/package/kernel/mac80211/patches/rt2x00/602-01-wifi-rt2x00-Add-support-for-loading-EEPROM-from-user.patch +++ b/package/kernel/mac80211/patches/rt2x00/602-01-wifi-rt2x00-Add-support-for-loading-EEPROM-from-user.patch @@ -21,7 +21,7 @@ Signed-off-by: Christian Marangi --- a/local-symbols +++ b/local-symbols -@@ -350,6 +350,7 @@ RT2X00_LIB_FIRMWARE= +@@ -352,6 +352,7 @@ RT2X00_LIB_FIRMWARE= RT2X00_LIB_CRYPTO= RT2X00_LIB_LEDS= RT2X00_LIB_DEBUGFS= diff --git a/package/kernel/mac80211/patches/subsys/001-wifi-mac80211-do-not-pass-ap_vlan-vif-pointer-to-dri.patch b/package/kernel/mac80211/patches/subsys/001-wifi-mac80211-do-not-pass-ap_vlan-vif-pointer-to-dri.patch deleted file mode 100644 index 43724aee1a..0000000000 --- a/package/kernel/mac80211/patches/subsys/001-wifi-mac80211-do-not-pass-ap_vlan-vif-pointer-to-dri.patch +++ /dev/null @@ -1,64 +0,0 @@ -From ee0db868ee4d88493dfdc82f59e3b4e449ddddd5 Mon Sep 17 00:00:00 2001 -From: Oldřich Jedlička -Date: Sat, 4 Nov 2023 15:13:33 +0100 -Subject: wifi: mac80211: do not pass AP_VLAN vif pointer to drivers during - flush -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -[ Upstream commit 3e3a2b645c043f7e3e488d5011478cefb69bbe8b ] - -This fixes WARN_ONs when using AP_VLANs after station removal. The flush -call passed AP_VLAN vif to driver, but because these vifs are virtual and -not registered with drivers, we need to translate to the correct AP vif -first. - -Closes: https://github.com/openwrt/openwrt/issues/12420 -Fixes: 0b75a1b1e42e ("wifi: mac80211: flush queues on STA removal") -Fixes: d00800a289c9 ("wifi: mac80211: add flush_sta method") -Tested-by: Konstantin Demin -Tested-by: Koen Vandeputte -Signed-off-by: Oldřich Jedlička -Link: https://lore.kernel.org/r/20231104141333.3710-1-oldium.pro@gmail.com -Signed-off-by: Johannes Berg -Signed-off-by: Sasha Levin ---- - net/mac80211/driver-ops.h | 9 +++++++-- - 1 file changed, 7 insertions(+), 2 deletions(-) - ---- a/net/mac80211/driver-ops.h -+++ b/net/mac80211/driver-ops.h -@@ -23,7 +23,7 @@ - static inline struct ieee80211_sub_if_data * - get_bss_sdata(struct ieee80211_sub_if_data *sdata) - { -- if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN) -+ if (sdata && sdata->vif.type == NL80211_IFTYPE_AP_VLAN) - sdata = container_of(sdata->bss, struct ieee80211_sub_if_data, - u.ap); - -@@ -638,10 +638,13 @@ static inline void drv_flush(struct ieee - struct ieee80211_sub_if_data *sdata, - u32 queues, bool drop) - { -- struct ieee80211_vif *vif = sdata ? &sdata->vif : NULL; -+ struct ieee80211_vif *vif; - - might_sleep(); - -+ sdata = get_bss_sdata(sdata); -+ vif = sdata ? &sdata->vif : NULL; -+ - if (sdata && !check_sdata_in_driver(sdata)) - return; - -@@ -657,6 +660,8 @@ static inline void drv_flush_sta(struct - { - might_sleep(); - -+ sdata = get_bss_sdata(sdata); -+ - if (sdata && !check_sdata_in_driver(sdata)) - return; - diff --git a/package/kernel/mac80211/patches/subsys/110-mac80211_keep_keys_on_stop_ap.patch b/package/kernel/mac80211/patches/subsys/110-mac80211_keep_keys_on_stop_ap.patch index e3349dabd0..7bf99bec28 100644 --- a/package/kernel/mac80211/patches/subsys/110-mac80211_keep_keys_on_stop_ap.patch +++ b/package/kernel/mac80211/patches/subsys/110-mac80211_keep_keys_on_stop_ap.patch @@ -9,7 +9,7 @@ Used for AP+STA support in OpenWrt - preserve AP mode keys across STA reconnect --- a/net/mac80211/cfg.c +++ b/net/mac80211/cfg.c -@@ -1632,7 +1632,6 @@ static int ieee80211_stop_ap(struct wiph +@@ -1635,7 +1635,6 @@ static int ieee80211_stop_ap(struct wiph link_conf->bssid_indicator = 0; __sta_info_flush(sdata, true); diff --git a/package/kernel/mac80211/patches/subsys/130-disable_auto_vif.patch b/package/kernel/mac80211/patches/subsys/130-disable_auto_vif.patch index 9d8f781ac4..43507f2985 100644 --- a/package/kernel/mac80211/patches/subsys/130-disable_auto_vif.patch +++ b/package/kernel/mac80211/patches/subsys/130-disable_auto_vif.patch @@ -1,6 +1,6 @@ --- a/net/mac80211/main.c +++ b/net/mac80211/main.c -@@ -1396,24 +1396,6 @@ int ieee80211_register_hw(struct ieee802 +@@ -1393,24 +1393,6 @@ int ieee80211_register_hw(struct ieee802 debugfs_hw_add(local); rate_control_add_debugfs(local); diff --git a/package/kernel/mac80211/patches/subsys/210-ap_scan.patch b/package/kernel/mac80211/patches/subsys/210-ap_scan.patch index 25b844a21b..1e9676fd0b 100644 --- a/package/kernel/mac80211/patches/subsys/210-ap_scan.patch +++ b/package/kernel/mac80211/patches/subsys/210-ap_scan.patch @@ -8,7 +8,7 @@ Subject: [PATCH] mac80211: allow scans in access point mode (for site survey) --- a/net/mac80211/cfg.c +++ b/net/mac80211/cfg.c -@@ -2843,6 +2843,8 @@ static int ieee80211_scan(struct wiphy * +@@ -2847,6 +2847,8 @@ static int ieee80211_scan(struct wiphy * */ fallthrough; case NL80211_IFTYPE_AP: diff --git a/package/kernel/mac80211/patches/subsys/301-mac80211-sta-randomize-BA-session-dialog-token-alloc.patch b/package/kernel/mac80211/patches/subsys/301-mac80211-sta-randomize-BA-session-dialog-token-alloc.patch index ffa5c17e48..ec1e1d12eb 100644 --- a/package/kernel/mac80211/patches/subsys/301-mac80211-sta-randomize-BA-session-dialog-token-alloc.patch +++ b/package/kernel/mac80211/patches/subsys/301-mac80211-sta-randomize-BA-session-dialog-token-alloc.patch @@ -28,7 +28,7 @@ Signed-off-by: Johannes Berg --- a/net/mac80211/sta_info.c +++ b/net/mac80211/sta_info.c -@@ -558,6 +558,7 @@ __sta_info_alloc(struct ieee80211_sub_if +@@ -561,6 +561,7 @@ __sta_info_alloc(struct ieee80211_sub_if INIT_WORK(&sta->drv_deliver_wk, sta_deliver_ps_frames); INIT_WORK(&sta->ampdu_mlme.work, ieee80211_ba_session_work); mutex_init(&sta->ampdu_mlme.mtx); diff --git a/package/kernel/mac80211/patches/subsys/305-mac80211-increase-quantum-for-airtime-scheduler.patch b/package/kernel/mac80211/patches/subsys/305-mac80211-increase-quantum-for-airtime-scheduler.patch index a27925e64e..e4575ca7ba 100644 --- a/package/kernel/mac80211/patches/subsys/305-mac80211-increase-quantum-for-airtime-scheduler.patch +++ b/package/kernel/mac80211/patches/subsys/305-mac80211-increase-quantum-for-airtime-scheduler.patch @@ -23,7 +23,7 @@ Signed-off-by: Felix Fietkau --- a/net/mac80211/tx.c +++ b/net/mac80211/tx.c -@@ -4059,7 +4059,7 @@ struct ieee80211_txq *ieee80211_next_txq +@@ -4060,7 +4060,7 @@ struct ieee80211_txq *ieee80211_next_txq if (deficit < 0) sta->airtime[txqi->txq.ac].deficit += @@ -32,7 +32,7 @@ Signed-off-by: Felix Fietkau if (deficit < 0 || !aql_check) { list_move_tail(&txqi->schedule_order, -@@ -4202,7 +4202,8 @@ bool ieee80211_txq_may_transmit(struct i +@@ -4203,7 +4203,8 @@ bool ieee80211_txq_may_transmit(struct i } sta = container_of(iter->txq.sta, struct sta_info, sta); if (ieee80211_sta_deficit(sta, ac) < 0) @@ -42,7 +42,7 @@ Signed-off-by: Felix Fietkau list_move_tail(&iter->schedule_order, &local->active_txqs[ac]); } -@@ -4210,7 +4211,7 @@ bool ieee80211_txq_may_transmit(struct i +@@ -4211,7 +4212,7 @@ bool ieee80211_txq_may_transmit(struct i if (sta->airtime[ac].deficit >= 0) goto out; diff --git a/package/kernel/mac80211/patches/subsys/310-mac80211-split-mesh-fast-tx-cache-into-local-proxied.patch b/package/kernel/mac80211/patches/subsys/310-mac80211-split-mesh-fast-tx-cache-into-local-proxied.patch index f362751e0a..4853cef723 100644 --- a/package/kernel/mac80211/patches/subsys/310-mac80211-split-mesh-fast-tx-cache-into-local-proxied.patch +++ b/package/kernel/mac80211/patches/subsys/310-mac80211-split-mesh-fast-tx-cache-into-local-proxied.patch @@ -82,7 +82,7 @@ Signed-off-by: Felix Fietkau struct ieee80211_fast_tx fast_tx; u8 hdr[sizeof(struct ieee80211s_hdr) + sizeof(rfc1042_header)]; -@@ -334,7 +358,8 @@ void mesh_path_tx_root_frame(struct ieee +@@ -333,7 +357,8 @@ void mesh_path_tx_root_frame(struct ieee bool mesh_action_is_path_sel(struct ieee80211_mgmt *mgmt); struct ieee80211_mesh_fast_tx * @@ -175,12 +175,12 @@ Signed-off-by: Felix Fietkau + ether_addr_copy(key.addr, addr); cache = &sdata->u.mesh.tx_cache; spin_lock_bh(&cache->walk_lock); -- entry = rhashtable_lookup(&cache->rht, addr, fast_tx_rht_params); +- entry = rhashtable_lookup_fast(&cache->rht, addr, fast_tx_rht_params); - if (entry) - mesh_fast_tx_entry_free(cache, entry); + for (i = MESH_FAST_TX_TYPE_LOCAL; i < MESH_FAST_TX_TYPE_FORWARDED; i++) { + key.type = i; -+ entry = rhashtable_lookup(&cache->rht, &key, fast_tx_rht_params); ++ entry = rhashtable_lookup_fast(&cache->rht, &key, fast_tx_rht_params); + if (entry) + mesh_fast_tx_entry_free(cache, entry); + } @@ -189,7 +189,7 @@ Signed-off-by: Felix Fietkau --- a/net/mac80211/rx.c +++ b/net/mac80211/rx.c -@@ -2727,7 +2727,10 @@ ieee80211_rx_mesh_fast_forward(struct ie +@@ -2726,7 +2726,10 @@ ieee80211_rx_mesh_fast_forward(struct ie struct sk_buff *skb, int hdrlen) { struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh; @@ -201,7 +201,7 @@ Signed-off-by: Felix Fietkau struct ieee80211s_hdr *mesh_hdr; struct tid_ampdu_tx *tid_tx; struct sta_info *sta; -@@ -2736,9 +2739,13 @@ ieee80211_rx_mesh_fast_forward(struct ie +@@ -2735,9 +2738,13 @@ ieee80211_rx_mesh_fast_forward(struct ie mesh_hdr = (struct ieee80211s_hdr *)(skb->data + sizeof(eth)); if ((mesh_hdr->flags & MESH_FLAGS_AE) == MESH_FLAGS_AE_A5_A6) diff --git a/package/kernel/mac80211/patches/subsys/311-mac80211-fix-mesh-id-corruption-on-32-bit-systems.patch b/package/kernel/mac80211/patches/subsys/311-mac80211-fix-mesh-id-corruption-on-32-bit-systems.patch deleted file mode 100644 index c0c774a89d..0000000000 --- a/package/kernel/mac80211/patches/subsys/311-mac80211-fix-mesh-id-corruption-on-32-bit-systems.patch +++ /dev/null @@ -1,62 +0,0 @@ -From: Felix Fietkau -Date: Tue, 12 Sep 2023 15:09:27 +0200 -Subject: [PATCH] mac80211: fix mesh id corruption on 32 bit systems -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Since the changed field size was increased to u64, mesh_bss_info_changed -pulls invalid bits from the first 3 bytes of the mesh id, clears them, and -passes them on to ieee80211_link_info_change_notify, because -ifmsh->mbss_changed was not updated to match its size. -Fix this by turning into ifmsh->mbss_changed into an unsigned long array with -64 bit size. - -Fixes: 15ddba5f4311 ("wifi: mac80211: consistently use u64 for BSS changes") -Reported-by: Thomas Hühn -Signed-off-by: Felix Fietkau ---- - ---- a/net/mac80211/ieee80211_i.h -+++ b/net/mac80211/ieee80211_i.h -@@ -678,7 +678,7 @@ struct ieee80211_if_mesh { - struct timer_list mesh_path_root_timer; - - unsigned long wrkq_flags; -- unsigned long mbss_changed; -+ unsigned long mbss_changed[64 / BITS_PER_LONG]; - - bool userspace_handles_dfs; - ---- a/net/mac80211/mesh.c -+++ b/net/mac80211/mesh.c -@@ -1181,7 +1181,7 @@ void ieee80211_mbss_info_change_notify(s - - /* if we race with running work, worst case this work becomes a noop */ - for_each_set_bit(bit, &bits, sizeof(changed) * BITS_PER_BYTE) -- set_bit(bit, &ifmsh->mbss_changed); -+ set_bit(bit, ifmsh->mbss_changed); - set_bit(MESH_WORK_MBSS_CHANGED, &ifmsh->wrkq_flags); - wiphy_work_queue(sdata->local->hw.wiphy, &sdata->work); - } -@@ -1263,7 +1263,7 @@ void ieee80211_stop_mesh(struct ieee8021 - - /* clear any mesh work (for next join) we may have accrued */ - ifmsh->wrkq_flags = 0; -- ifmsh->mbss_changed = 0; -+ memset(ifmsh->mbss_changed, 0, sizeof(ifmsh->mbss_changed)); - - local->fif_other_bss--; - atomic_dec(&local->iff_allmultis); -@@ -1730,9 +1730,9 @@ static void mesh_bss_info_changed(struct - u32 bit; - u64 changed = 0; - -- for_each_set_bit(bit, &ifmsh->mbss_changed, -+ for_each_set_bit(bit, ifmsh->mbss_changed, - sizeof(changed) * BITS_PER_BYTE) { -- clear_bit(bit, &ifmsh->mbss_changed); -+ clear_bit(bit, ifmsh->mbss_changed); - changed |= BIT(bit); - } - diff --git a/package/kernel/mac80211/patches/subsys/312-wifi-cfg80211-annotate-iftype_data-pointer-with-spar.patch b/package/kernel/mac80211/patches/subsys/312-wifi-cfg80211-annotate-iftype_data-pointer-with-spar.patch index 18420a80cf..91ebfc6105 100644 --- a/package/kernel/mac80211/patches/subsys/312-wifi-cfg80211-annotate-iftype_data-pointer-with-spar.patch +++ b/package/kernel/mac80211/patches/subsys/312-wifi-cfg80211-annotate-iftype_data-pointer-with-spar.patch @@ -57,7 +57,7 @@ Signed-off-by: Johannes Berg --- a/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c +++ b/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c -@@ -1075,8 +1075,8 @@ static void iwl_init_he_hw_capab(struct +@@ -1078,8 +1078,8 @@ static void iwl_init_he_hw_capab(struct memcpy(iftype_data, iwl_he_eht_capa, sizeof(iwl_he_eht_capa)); @@ -70,7 +70,7 @@ Signed-off-by: Johannes Berg iwl_nvm_fixup_sband_iftd(trans, data, sband, &iftype_data[i], --- a/drivers/net/wireless/mediatek/mt76/mt7915/init.c +++ b/drivers/net/wireless/mediatek/mt76/mt7915/init.c -@@ -1119,8 +1119,7 @@ void mt7915_set_stream_he_caps(struct mt +@@ -1127,8 +1127,7 @@ void mt7915_set_stream_he_caps(struct mt n = mt7915_init_he_caps(phy, NL80211_BAND_2GHZ, data); band = &phy->mt76->sband_2g.sband; @@ -80,7 +80,7 @@ Signed-off-by: Johannes Berg } if (phy->mt76->cap.has_5ghz) { -@@ -1128,8 +1127,7 @@ void mt7915_set_stream_he_caps(struct mt +@@ -1136,8 +1135,7 @@ void mt7915_set_stream_he_caps(struct mt n = mt7915_init_he_caps(phy, NL80211_BAND_5GHZ, data); band = &phy->mt76->sband_5g.sband; @@ -90,7 +90,7 @@ Signed-off-by: Johannes Berg } if (phy->mt76->cap.has_6ghz) { -@@ -1137,8 +1135,7 @@ void mt7915_set_stream_he_caps(struct mt +@@ -1145,8 +1143,7 @@ void mt7915_set_stream_he_caps(struct mt n = mt7915_init_he_caps(phy, NL80211_BAND_6GHZ, data); band = &phy->mt76->sband_6g.sband; @@ -133,7 +133,7 @@ Signed-off-by: Johannes Berg } --- a/drivers/net/wireless/mediatek/mt76/mt7996/init.c +++ b/drivers/net/wireless/mediatek/mt76/mt7996/init.c -@@ -823,8 +823,7 @@ __mt7996_set_stream_he_eht_caps(struct m +@@ -828,8 +828,7 @@ __mt7996_set_stream_he_eht_caps(struct m n++; } @@ -177,7 +177,7 @@ Signed-off-by: Johannes Berg kfree(wiphy->bands[band]->channels); --- a/drivers/net/wireless/realtek/rtw89/core.c +++ b/drivers/net/wireless/realtek/rtw89/core.c -@@ -3328,8 +3328,7 @@ static void rtw89_init_he_cap(struct rtw +@@ -3359,8 +3359,7 @@ static void rtw89_init_he_cap(struct rtw idx++; } @@ -187,7 +187,7 @@ Signed-off-by: Johannes Berg } static int rtw89_core_set_supported_band(struct rtw89_dev *rtwdev) -@@ -3374,11 +3373,11 @@ err: +@@ -3405,11 +3404,11 @@ err: hw->wiphy->bands[NL80211_BAND_5GHZ] = NULL; hw->wiphy->bands[NL80211_BAND_6GHZ] = NULL; if (sband_2ghz) @@ -202,7 +202,7 @@ Signed-off-by: Johannes Berg kfree(sband_2ghz); kfree(sband_5ghz); kfree(sband_6ghz); -@@ -3390,11 +3389,11 @@ static void rtw89_core_clr_supported_ban +@@ -3421,11 +3420,11 @@ static void rtw89_core_clr_supported_ban struct ieee80211_hw *hw = rtwdev->hw; if (hw->wiphy->bands[NL80211_BAND_2GHZ]) @@ -219,7 +219,7 @@ Signed-off-by: Johannes Berg kfree(hw->wiphy->bands[NL80211_BAND_6GHZ]); --- a/drivers/net/wireless/realtek/rtw89/regd.c +++ b/drivers/net/wireless/realtek/rtw89/regd.c -@@ -376,7 +376,7 @@ bottom: +@@ -377,7 +377,7 @@ bottom: return; wiphy->bands[NL80211_BAND_6GHZ] = NULL; @@ -230,7 +230,7 @@ Signed-off-by: Johannes Berg --- a/drivers/net/wireless/virtual/mac80211_hwsim.c +++ b/drivers/net/wireless/virtual/mac80211_hwsim.c -@@ -4900,25 +4900,19 @@ static const struct ieee80211_sband_ifty +@@ -4899,25 +4899,19 @@ static const struct ieee80211_sband_ifty static void mac80211_hwsim_sband_capab(struct ieee80211_supported_band *sband) { @@ -362,7 +362,7 @@ Signed-off-by: Johannes Berg } --- a/net/mac80211/main.c +++ b/net/mac80211/main.c -@@ -1055,6 +1055,7 @@ int ieee80211_register_hw(struct ieee802 +@@ -1052,6 +1052,7 @@ int ieee80211_register_hw(struct ieee802 supp_he = false; supp_eht = false; for (band = 0; band < NUM_NL80211_BANDS; band++) { @@ -370,7 +370,7 @@ Signed-off-by: Johannes Berg struct ieee80211_supported_band *sband; sband = local->hw.wiphy->bands[band]; -@@ -1101,11 +1102,7 @@ int ieee80211_register_hw(struct ieee802 +@@ -1098,11 +1099,7 @@ int ieee80211_register_hw(struct ieee802 supp_ht = supp_ht || sband->ht_cap.ht_supported; supp_vht = supp_vht || sband->vht_cap.vht_supported; @@ -415,7 +415,7 @@ Signed-off-by: Johannes Berg */ #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt -@@ -817,6 +817,7 @@ int wiphy_register(struct wiphy *wiphy) +@@ -819,6 +819,7 @@ int wiphy_register(struct wiphy *wiphy) /* sanity check supported bands/channels */ for (band = 0; band < NUM_NL80211_BANDS; band++) { @@ -423,7 +423,7 @@ Signed-off-by: Johannes Berg u16 types = 0; bool have_he = false; -@@ -873,14 +874,11 @@ int wiphy_register(struct wiphy *wiphy) +@@ -875,14 +876,11 @@ int wiphy_register(struct wiphy *wiphy) return -EINVAL; } @@ -441,7 +441,7 @@ Signed-off-by: Johannes Berg if (WARN_ON(types & iftd->types_mask)) --- a/net/wireless/nl80211.c +++ b/net/wireless/nl80211.c -@@ -1906,20 +1906,20 @@ static int nl80211_send_band_rateinfo(st +@@ -1907,20 +1907,20 @@ static int nl80211_send_band_rateinfo(st struct nlattr *nl_iftype_data = nla_nest_start_noflag(msg, NL80211_BAND_ATTR_IFTYPE_DATA); diff --git a/package/kernel/mac80211/patches/subsys/313-wifi-cfg80211-export-DFS-CAC-time-and-usable-state-h.patch b/package/kernel/mac80211/patches/subsys/313-wifi-cfg80211-export-DFS-CAC-time-and-usable-state-h.patch index 78ec030e18..a41a906c3c 100644 --- a/package/kernel/mac80211/patches/subsys/313-wifi-cfg80211-export-DFS-CAC-time-and-usable-state-h.patch +++ b/package/kernel/mac80211/patches/subsys/313-wifi-cfg80211-export-DFS-CAC-time-and-usable-state-h.patch @@ -79,7 +79,7 @@ Signed-off-by: Johannes Berg u32 center_freq, u32 bandwidth, --- a/net/wireless/core.h +++ b/net/wireless/core.h -@@ -469,29 +469,12 @@ int cfg80211_scan(struct cfg80211_regist +@@ -476,29 +476,12 @@ int cfg80211_scan(struct cfg80211_regist extern struct work_struct cfg80211_disconnect_work; diff --git a/package/kernel/mac80211/patches/subsys/314-wifi-mac80211-fix-race-condition-on-enabling-fast-xm.patch b/package/kernel/mac80211/patches/subsys/314-wifi-mac80211-fix-race-condition-on-enabling-fast-xm.patch index 191eb67e8e..12ed2142ab 100644 --- a/package/kernel/mac80211/patches/subsys/314-wifi-mac80211-fix-race-condition-on-enabling-fast-xm.patch +++ b/package/kernel/mac80211/patches/subsys/314-wifi-mac80211-fix-race-condition-on-enabling-fast-xm.patch @@ -13,7 +13,7 @@ Signed-off-by: Felix Fietkau --- a/net/mac80211/sta_info.c +++ b/net/mac80211/sta_info.c -@@ -911,6 +911,7 @@ static int sta_info_insert_finish(struct +@@ -914,6 +914,7 @@ static int sta_info_insert_finish(struct if (ieee80211_vif_is_mesh(&sdata->vif)) mesh_accept_plinks_update(sdata); @@ -23,7 +23,7 @@ Signed-off-by: Felix Fietkau out_remove: --- a/net/mac80211/tx.c +++ b/net/mac80211/tx.c -@@ -3033,7 +3033,7 @@ void ieee80211_check_fast_xmit(struct st +@@ -3034,7 +3034,7 @@ void ieee80211_check_fast_xmit(struct st sdata->vif.type == NL80211_IFTYPE_STATION) goto out; diff --git a/package/kernel/mac80211/patches/subsys/320-cfg80211-allow-grace-period-for-DFS-available-after-.patch b/package/kernel/mac80211/patches/subsys/320-cfg80211-allow-grace-period-for-DFS-available-after-.patch index 28e2144f7f..ec381303ce 100644 --- a/package/kernel/mac80211/patches/subsys/320-cfg80211-allow-grace-period-for-DFS-available-after-.patch +++ b/package/kernel/mac80211/patches/subsys/320-cfg80211-allow-grace-period-for-DFS-available-after-.patch @@ -113,7 +113,7 @@ Signed-off-by: Felix Fietkau { --- a/net/wireless/core.h +++ b/net/wireless/core.h -@@ -474,6 +474,8 @@ void cfg80211_set_dfs_state(struct wiphy +@@ -481,6 +481,8 @@ void cfg80211_set_dfs_state(struct wiphy enum nl80211_dfs_state dfs_state); void cfg80211_dfs_channels_update_work(struct work_struct *work); @@ -124,7 +124,7 @@ Signed-off-by: Felix Fietkau --- a/net/wireless/mlme.c +++ b/net/wireless/mlme.c -@@ -915,6 +915,8 @@ void cfg80211_dfs_channels_update_work(s +@@ -930,6 +930,8 @@ void cfg80211_dfs_channels_update_work(s if (c->dfs_state == NL80211_DFS_UNAVAILABLE) { time_dfs_update = IEEE80211_DFS_MIN_NOP_TIME_MS; radar_event = NL80211_RADAR_NOP_FINISHED; @@ -133,7 +133,7 @@ Signed-off-by: Felix Fietkau } else { if (regulatory_pre_cac_allowed(wiphy) || cfg80211_any_wiphy_oper_chan(wiphy, c)) -@@ -922,11 +924,10 @@ void cfg80211_dfs_channels_update_work(s +@@ -937,11 +939,10 @@ void cfg80211_dfs_channels_update_work(s time_dfs_update = REG_PRE_CAC_EXPIRY_GRACE_MS; radar_event = NL80211_RADAR_PRE_CAC_EXPIRED; diff --git a/package/kernel/mac80211/patches/subsys/400-allow-ibss-mixed.patch b/package/kernel/mac80211/patches/subsys/400-allow-ibss-mixed.patch index ad24dfda5a..7a96f9f2be 100644 --- a/package/kernel/mac80211/patches/subsys/400-allow-ibss-mixed.patch +++ b/package/kernel/mac80211/patches/subsys/400-allow-ibss-mixed.patch @@ -16,7 +16,7 @@ and we should ignore this. --- a/net/wireless/core.c +++ b/net/wireless/core.c -@@ -649,21 +649,6 @@ static int wiphy_verify_combinations(str +@@ -651,21 +651,6 @@ static int wiphy_verify_combinations(str c->limits[j].max > 1)) return -EINVAL; diff --git a/package/kernel/mac80211/patches/subsys/780-avoid-crashing-missing-band.patch b/package/kernel/mac80211/patches/subsys/780-avoid-crashing-missing-band.patch index 4bbd786043..6a1fc31d87 100644 --- a/package/kernel/mac80211/patches/subsys/780-avoid-crashing-missing-band.patch +++ b/package/kernel/mac80211/patches/subsys/780-avoid-crashing-missing-band.patch @@ -18,7 +18,7 @@ Signed-off-by: David Bauer --- a/net/mac80211/sta_info.c +++ b/net/mac80211/sta_info.c -@@ -2423,6 +2423,13 @@ static void sta_stats_decode_rate(struct +@@ -2426,6 +2426,13 @@ static void sta_stats_decode_rate(struct sband = local->hw.wiphy->bands[band]; From 95e633efbd1b4ffbbfc2d8abba2b05291f6e9903 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Fri, 9 Feb 2024 20:47:39 +0100 Subject: [PATCH 05/43] mac80211: add AQL support for broadcast/multicast packets Should improve performance/reliability with lots of mcast packets Signed-off-by: Felix Fietkau --- ...dd-AQL-support-for-broadcast-packets.patch | 226 ++++++++++++++++++ 1 file changed, 226 insertions(+) create mode 100644 package/kernel/mac80211/patches/subsys/330-mac80211-add-AQL-support-for-broadcast-packets.patch diff --git a/package/kernel/mac80211/patches/subsys/330-mac80211-add-AQL-support-for-broadcast-packets.patch b/package/kernel/mac80211/patches/subsys/330-mac80211-add-AQL-support-for-broadcast-packets.patch new file mode 100644 index 0000000000..6f64467b66 --- /dev/null +++ b/package/kernel/mac80211/patches/subsys/330-mac80211-add-AQL-support-for-broadcast-packets.patch @@ -0,0 +1,226 @@ +From: Felix Fietkau +Date: Fri, 9 Feb 2024 19:43:40 +0100 +Subject: [PATCH] mac80211: add AQL support for broadcast packets + +Excessive broadcast traffic with little competing unicast traffic can easily +flood hardware queues, leading to throughput issues. Additionally, filling +the hardware queues with too many packets breaks FQ for broadcast data. +Fix this by enabling AQL for broadcast packets. + +Signed-off-by: Felix Fietkau +--- + +--- a/include/net/cfg80211.h ++++ b/include/net/cfg80211.h +@@ -3324,6 +3324,7 @@ enum wiphy_params_flags { + /* The per TXQ device queue limit in airtime */ + #define IEEE80211_DEFAULT_AQL_TXQ_LIMIT_L 5000 + #define IEEE80211_DEFAULT_AQL_TXQ_LIMIT_H 12000 ++#define IEEE80211_DEFAULT_AQL_TXQ_LIMIT_BC 50000 + + /* The per interface airtime threshold to switch to lower queue limit */ + #define IEEE80211_AQL_THRESHOLD 24000 +--- a/net/mac80211/debugfs.c ++++ b/net/mac80211/debugfs.c +@@ -215,11 +215,13 @@ static ssize_t aql_pending_read(struct f + "VI %u us\n" + "BE %u us\n" + "BK %u us\n" ++ "BC/MC %u us\n" + "total %u us\n", + atomic_read(&local->aql_ac_pending_airtime[IEEE80211_AC_VO]), + atomic_read(&local->aql_ac_pending_airtime[IEEE80211_AC_VI]), + atomic_read(&local->aql_ac_pending_airtime[IEEE80211_AC_BE]), + atomic_read(&local->aql_ac_pending_airtime[IEEE80211_AC_BK]), ++ atomic_read(&local->aql_bc_pending_airtime), + atomic_read(&local->aql_total_pending_airtime)); + return simple_read_from_buffer(user_buf, count, ppos, + buf, len); +@@ -245,7 +247,8 @@ static ssize_t aql_txq_limit_read(struct + "VO %u %u\n" + "VI %u %u\n" + "BE %u %u\n" +- "BK %u %u\n", ++ "BK %u %u\n" ++ "BC/MC %u\n", + local->aql_txq_limit_low[IEEE80211_AC_VO], + local->aql_txq_limit_high[IEEE80211_AC_VO], + local->aql_txq_limit_low[IEEE80211_AC_VI], +@@ -253,7 +256,8 @@ static ssize_t aql_txq_limit_read(struct + local->aql_txq_limit_low[IEEE80211_AC_BE], + local->aql_txq_limit_high[IEEE80211_AC_BE], + local->aql_txq_limit_low[IEEE80211_AC_BK], +- local->aql_txq_limit_high[IEEE80211_AC_BK]); ++ local->aql_txq_limit_high[IEEE80211_AC_BK], ++ local->aql_txq_limit_bc); + return simple_read_from_buffer(user_buf, count, ppos, + buf, len); + } +@@ -279,6 +283,11 @@ static ssize_t aql_txq_limit_write(struc + else + buf[count] = '\0'; + ++ if (sscanf(buf, "mcast %u", &q_limit_low) == 1) { ++ local->aql_txq_limit_bc = q_limit_low; ++ return count; ++ } ++ + if (sscanf(buf, "%u %u %u", &ac, &q_limit_low, &q_limit_high) != 3) + return -EINVAL; + +--- a/net/mac80211/ieee80211_i.h ++++ b/net/mac80211/ieee80211_i.h +@@ -1328,10 +1328,12 @@ struct ieee80211_local { + spinlock_t handle_wake_tx_queue_lock; + + u16 airtime_flags; ++ u32 aql_txq_limit_bc; + u32 aql_txq_limit_low[IEEE80211_NUM_ACS]; + u32 aql_txq_limit_high[IEEE80211_NUM_ACS]; + u32 aql_threshold; + atomic_t aql_total_pending_airtime; ++ atomic_t aql_bc_pending_airtime; + atomic_t aql_ac_pending_airtime[IEEE80211_NUM_ACS]; + + const struct ieee80211_ops *ops; +--- a/net/mac80211/main.c ++++ b/net/mac80211/main.c +@@ -788,6 +788,7 @@ struct ieee80211_hw *ieee80211_alloc_hw_ + spin_lock_init(&local->rx_path_lock); + spin_lock_init(&local->queue_stop_reason_lock); + ++ local->aql_txq_limit_bc = IEEE80211_DEFAULT_AQL_TXQ_LIMIT_BC; + for (i = 0; i < IEEE80211_NUM_ACS; i++) { + INIT_LIST_HEAD(&local->active_txqs[i]); + spin_lock_init(&local->active_txq_lock[i]); +--- a/net/mac80211/sta_info.c ++++ b/net/mac80211/sta_info.c +@@ -2341,28 +2341,27 @@ void ieee80211_sta_update_pending_airtim + struct sta_info *sta, u8 ac, + u16 tx_airtime, bool tx_completed) + { ++ atomic_t *counter; + int tx_pending; + + if (!wiphy_ext_feature_isset(local->hw.wiphy, NL80211_EXT_FEATURE_AQL)) + return; + +- if (!tx_completed) { +- if (sta) +- atomic_add(tx_airtime, +- &sta->airtime[ac].aql_tx_pending); ++ if (sta) ++ counter = &sta->airtime[ac].aql_tx_pending; ++ else ++ counter = &local->aql_bc_pending_airtime; + ++ if (!tx_completed) { ++ atomic_add(tx_airtime, counter); + atomic_add(tx_airtime, &local->aql_total_pending_airtime); + atomic_add(tx_airtime, &local->aql_ac_pending_airtime[ac]); + return; + } + +- if (sta) { +- tx_pending = atomic_sub_return(tx_airtime, +- &sta->airtime[ac].aql_tx_pending); +- if (tx_pending < 0) +- atomic_cmpxchg(&sta->airtime[ac].aql_tx_pending, +- tx_pending, 0); +- } ++ tx_pending = atomic_sub_return(tx_airtime, counter); ++ if (tx_pending < 0) ++ atomic_cmpxchg(counter, tx_pending, 0); + + atomic_sub(tx_airtime, &local->aql_total_pending_airtime); + tx_pending = atomic_sub_return(tx_airtime, +--- a/net/mac80211/tx.c ++++ b/net/mac80211/tx.c +@@ -3958,9 +3958,8 @@ begin: + encap_out: + IEEE80211_SKB_CB(skb)->control.vif = vif; + +- if (tx.sta && +- wiphy_ext_feature_isset(local->hw.wiphy, NL80211_EXT_FEATURE_AQL)) { +- bool ampdu = txq->ac != IEEE80211_AC_VO; ++ if (wiphy_ext_feature_isset(local->hw.wiphy, NL80211_EXT_FEATURE_AQL)) { ++ bool ampdu = txq->sta && txq->ac != IEEE80211_AC_VO; + u32 airtime; + + airtime = ieee80211_calc_expected_tx_airtime(hw, vif, txq->sta, +@@ -4026,6 +4025,7 @@ struct ieee80211_txq *ieee80211_next_txq + struct ieee80211_txq *ret = NULL; + struct txq_info *txqi = NULL, *head = NULL; + bool found_eligible_txq = false; ++ bool aql_check; + + spin_lock_bh(&local->active_txq_lock[ac]); + +@@ -4049,26 +4049,26 @@ struct ieee80211_txq *ieee80211_next_txq + if (!head) + head = txqi; + ++ aql_check = ieee80211_txq_airtime_check(hw, &txqi->txq); ++ if (aql_check) ++ found_eligible_txq = true; ++ + if (txqi->txq.sta) { + struct sta_info *sta = container_of(txqi->txq.sta, + struct sta_info, sta); +- bool aql_check = ieee80211_txq_airtime_check(hw, &txqi->txq); +- s32 deficit = ieee80211_sta_deficit(sta, txqi->txq.ac); +- +- if (aql_check) +- found_eligible_txq = true; +- +- if (deficit < 0) ++ if (ieee80211_sta_deficit(sta, txqi->txq.ac) < 0) { + sta->airtime[txqi->txq.ac].deficit += + sta->airtime_weight << AIRTIME_QUANTUM_SHIFT; +- +- if (deficit < 0 || !aql_check) { +- list_move_tail(&txqi->schedule_order, +- &local->active_txqs[txqi->txq.ac]); +- goto begin; ++ aql_check = false; + } + } + ++ if (!aql_check) { ++ list_move_tail(&txqi->schedule_order, ++ &local->active_txqs[txqi->txq.ac]); ++ goto begin; ++ } ++ + if (txqi->schedule_round == local->schedule_round[ac]) + goto out; + +@@ -4133,7 +4133,8 @@ bool ieee80211_txq_airtime_check(struct + return true; + + if (!txq->sta) +- return true; ++ return atomic_read(&local->aql_bc_pending_airtime) < ++ local->aql_txq_limit_bc; + + if (unlikely(txq->tid == IEEE80211_NUM_TIDS)) + return true; +@@ -4182,15 +4183,15 @@ bool ieee80211_txq_may_transmit(struct i + + spin_lock_bh(&local->active_txq_lock[ac]); + +- if (!txqi->txq.sta) +- goto out; +- + if (list_empty(&txqi->schedule_order)) + goto out; + + if (!ieee80211_txq_schedule_airtime_check(local, ac)) + goto out; + ++ if (!txqi->txq.sta) ++ goto out; ++ + list_for_each_entry_safe(iter, tmp, &local->active_txqs[ac], + schedule_order) { + if (iter == txqi) From eec0bec630116ce61c3be273552d9d78397c7acc Mon Sep 17 00:00:00 2001 From: Marius Durbaca Date: Mon, 19 Feb 2024 18:33:24 +0000 Subject: [PATCH 06/43] rkbin: add rk3566 atf/tpl blobs Currently there are no atf/tpl blobs for rk3566 SoCs so this commit adds the prebuilt firmware from the vendor. Signed-off-by: Marius Durbaca --- package/boot/rkbin/Makefile | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/package/boot/rkbin/Makefile b/package/boot/rkbin/Makefile index affdd7b4e1..bb116bdcd2 100644 --- a/package/boot/rkbin/Makefile +++ b/package/boot/rkbin/Makefile @@ -25,6 +25,12 @@ define Trusted-Firmware-A/Default BUILD_TARGET:=rockchip endef +define Trusted-Firmware-A/rk3566 + BUILD_SUBTARGET:=armv8 + ATF:=rk35/rk3568_bl31_v1.43.elf + TPL:=rk35/rk3566_ddr_1056MHz_v1.18.bin +endef + define Trusted-Firmware-A/rk3568 BUILD_SUBTARGET:=armv8 ATF:=rk35/rk3568_bl31_v1.43.elf @@ -32,6 +38,7 @@ define Trusted-Firmware-A/rk3568 endef TFA_TARGETS:= \ + rk3566 \ rk3568 define Build/Compile From 4821cb24edf7dc0a435f2083af04b5e1cb9e1754 Mon Sep 17 00:00:00 2001 From: Marius Durbaca Date: Tue, 20 Feb 2024 14:33:11 +0000 Subject: [PATCH 07/43] uboot-rockchip: add Radxa CM3 IO board support Add support for the Radxa CM3 IO board. Reviewed-by: Tianling Shen Signed-off-by: Marius Durbaca --- package/boot/uboot-rockchip/Makefile | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/package/boot/uboot-rockchip/Makefile b/package/boot/uboot-rockchip/Makefile index 595d788973..cc84d5d4ab 100644 --- a/package/boot/uboot-rockchip/Makefile +++ b/package/boot/uboot-rockchip/Makefile @@ -126,6 +126,22 @@ define U-Boot/rockpro64-rk3399 endef +# RK3566 boards + +define U-Boot/rk3566/Default + BUILD_SUBTARGET:=armv8 + DEPENDS:=+PACKAGE_u-boot-$(1):trusted-firmware-a-rk3566 + ATF:=rk3568_bl31_v1.43.elf + TPL:=rk3566_ddr_1056MHz_v1.18.bin +endef + +define U-Boot/radxa-cm3-io-rk3566 + $(U-Boot/rk3566/Default) + NAME:=CM3 IO + BUILD_DEVICES:= \ + radxa_cm3-io +endef + # RK3568 boards define U-Boot/rk3568/Default @@ -162,6 +178,7 @@ UBOOT_TARGETS := \ roc-cc-rk3328 \ rock64-rk3328 \ rock-pi-e-rk3328 \ + radxa-cm3-io-rk3566 \ nanopi-r5c-rk3568 \ nanopi-r5s-rk3568 From c22c63bce3af5052d6b28665ec8e122a7b26a0b4 Mon Sep 17 00:00:00 2001 From: Marius Durbaca Date: Tue, 20 Feb 2024 14:34:43 +0000 Subject: [PATCH 08/43] rockchip: add Radxa CM3 IO board support Hardware -------- RockChip RK3566 ARM64 (4 cores) - up to 8GB LPDDR4X - 1x HDMI, - 2x MIPI DSI - 2x MIPI CSI2 - 1x eDP - 1x PCIe card - 2x SATA - 2x USB 2.0 Host - 1x USB 3.0 - 1x USB 2.0 OTG - 10/100/1000 Base-T - microSD slot - 40-pin GPIO expansion header - 12V DC Radxa CM3 needs to mount on top of this IO board in order to create complete Radxa CM3 IO board platform. Installation ------------ Uncompress the OpenWrt sysupgrade and write it to a micro SD card or internal eMMC using dd. Reviewed-by: Tianling Shen Signed-off-by: Marius Durbaca --- .../etc/hotplug.d/net/40-net-smp-affinity | 1 + target/linux/rockchip/image/armv8.mk | 9 + ...-Add-Radxa-Compute-Module-3-IO-board.patch | 233 +++++++++++ ...hip-Enable-Ethernet-for-Radxa-CM3-IO.patch | 131 ++++++ ...-rk3566-based-Radxa-Compute-Module-3.patch | 386 ++++++++++++++++++ ...Enable-WiFi-BT-support-for-Radxa-CM3.patch | 134 ++++++ ...-Enable-USB-OTG-for-rk3566-Radxa-CM3.patch | 32 ++ ...ockchip-Fix-compatible-for-Radxa-CM3.patch | 45 ++ ...chip-minor-whitespace-cleanup-around.patch | 28 ++ ...0-alias-to-the-dts-for-RK3566-boards.patch | 28 ++ .../111-radxa-cm3-io-add-led-aliases.patch | 36 ++ 11 files changed, 1063 insertions(+) create mode 100644 target/linux/rockchip/patches-6.1/016-v6.3-arm64-dts-rockchip-Add-Radxa-Compute-Module-3-IO-board.patch create mode 100644 target/linux/rockchip/patches-6.1/017-v6.3-arm64-dts-rockchip-Enable-Ethernet-for-Radxa-CM3-IO.patch create mode 100644 target/linux/rockchip/patches-6.1/018-v6.3-arm64-dts-rockchip-Add-rk3566-based-Radxa-Compute-Module-3.patch create mode 100644 target/linux/rockchip/patches-6.1/019-v6.3-arm64-dts-rockchip-Enable-WiFi-BT-support-for-Radxa-CM3.patch create mode 100644 target/linux/rockchip/patches-6.1/020-v6.4-arm64-dts-rockchip-Enable-USB-OTG-for-rk3566-Radxa-CM3.patch create mode 100644 target/linux/rockchip/patches-6.1/021-v6.3-arm64-dts-rockchip-Fix-compatible-for-Radxa-CM3.patch create mode 100644 target/linux/rockchip/patches-6.1/022-v6.5-arm64-dts-rockchip-minor-whitespace-cleanup-around.patch create mode 100644 target/linux/rockchip/patches-6.1/023-v6.8-arm64-dts-rockchip-Add-ethernet0-alias-to-the-dts-for-RK3566-boards.patch create mode 100644 target/linux/rockchip/patches-6.1/111-radxa-cm3-io-add-led-aliases.patch diff --git a/target/linux/rockchip/armv8/base-files/etc/hotplug.d/net/40-net-smp-affinity b/target/linux/rockchip/armv8/base-files/etc/hotplug.d/net/40-net-smp-affinity index 1bdf235da1..360b34ba91 100644 --- a/target/linux/rockchip/armv8/base-files/etc/hotplug.d/net/40-net-smp-affinity +++ b/target/linux/rockchip/armv8/base-files/etc/hotplug.d/net/40-net-smp-affinity @@ -32,6 +32,7 @@ case "$(board_name)" in friendlyarm,nanopi-r2c|\ friendlyarm,nanopi-r2c-plus|\ friendlyarm,nanopi-r2s|\ +radxa,cm3-io|\ xunlong,orangepi-r1-plus|\ xunlong,orangepi-r1-plus-lts) set_interface_core 2 "eth0" diff --git a/target/linux/rockchip/image/armv8.mk b/target/linux/rockchip/image/armv8.mk index 4c1da55f80..1ec6bea709 100644 --- a/target/linux/rockchip/image/armv8.mk +++ b/target/linux/rockchip/image/armv8.mk @@ -95,6 +95,15 @@ define Device/pine64_rockpro64 endef TARGET_DEVICES += pine64_rockpro64 +define Device/radxa_cm3-io + DEVICE_VENDOR := Radxa + DEVICE_MODEL := CM3 IO + SOC := rk3566 + DEVICE_DTS := rockchip/rk3566-radxa-cm3-io + UBOOT_DEVICE_NAME := radxa-cm3-io-rk3566 +endef +TARGET_DEVICES += radxa_cm3-io + define Device/radxa_rock-pi-4a DEVICE_VENDOR := Radxa DEVICE_MODEL := ROCK Pi 4A diff --git a/target/linux/rockchip/patches-6.1/016-v6.3-arm64-dts-rockchip-Add-Radxa-Compute-Module-3-IO-board.patch b/target/linux/rockchip/patches-6.1/016-v6.3-arm64-dts-rockchip-Add-Radxa-Compute-Module-3-IO-board.patch new file mode 100644 index 0000000000..b4a68d1558 --- /dev/null +++ b/target/linux/rockchip/patches-6.1/016-v6.3-arm64-dts-rockchip-Add-Radxa-Compute-Module-3-IO-board.patch @@ -0,0 +1,233 @@ +From 096ebfb74b19f2d4bdcbc33ae02e857ff4b3e0a0 Mon Sep 17 00:00:00 2001 +From: Jagan Teki +Date: Thu, 12 Jan 2023 16:29:02 +0530 +Subject: [PATCH] arm64: dts: rockchip: Add Radxa Compute Module 3 IO board + +Radxa Compute Module 3(CM3) IO board is an application board from Radxa +and is compatible with Raspberry Pi CM4 IO form factor. + +Specification: +- 1x HDMI, +- 2x MIPI DSI +- 2x MIPI CSI2 +- 1x eDP +- 1x PCIe card +- 2x SATA +- 2x USB 2.0 Host +- 1x USB 3.0 +- 1x USB 2.0 OTG +- Phone jack +- microSD slot +- 40-pin GPIO expansion header +- 12V DC + +Radxa CM3 needs to mount on top of this IO board in order to create +complete Radxa CM3 IO board platform. + +Add support for Radxa CM3 IO Board. + +Co-developed-by: FUKAUMI Naoki +Signed-off-by: FUKAUMI Naoki +Co-developed-by: Manoj Sai +Signed-off-by: Manoj Sai +Signed-off-by: Jagan Teki +Link: https://lore.kernel.org/r/20230112105902.192852-3-jagan@amarulasolutions.com +Signed-off-by: Heiko Stuebner +--- + arch/arm64/boot/dts/rockchip/Makefile | 1 + + .../boot/dts/rockchip/rk3566-radxa-cm3-io.dts | 179 ++++++++++++++++++ + 2 files changed, 180 insertions(+) + create mode 100644 arch/arm64/boot/dts/rockchip/rk3566-radxa-cm3-io.dts + +--- a/arch/arm64/boot/dts/rockchip/Makefile ++++ b/arch/arm64/boot/dts/rockchip/Makefile +@@ -70,6 +70,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-pi + dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-pinenote-v1.2.dtb + dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-quartz64-a.dtb + dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-quartz64-b.dtb ++dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-radxa-cm3-io.dtb + dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-roc-pc.dtb + dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-soquartz-cm4.dtb + dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-bpi-r2-pro.dtb +--- /dev/null ++++ b/arch/arm64/boot/dts/rockchip/rk3566-radxa-cm3-io.dts +@@ -0,0 +1,179 @@ ++// SPDX-License-Identifier: (GPL-2.0+ OR MIT) ++/* ++ * Copyright (c) 2022 Radxa Limited ++ * Copyright (c) 2022 Amarula Solutions(India) ++ */ ++ ++/dts-v1/; ++#include ++#include "rk3566.dtsi" ++#include "rk3566-radxa-cm3.dtsi" ++ ++/ { ++ model = "Radxa Compute Module 3(CM3) IO Board"; ++ compatible = "radxa,radxa-cm3-io", "radxa,radxa-cm3", "rockchip,rk3566"; ++ ++ aliases { ++ mmc1 = &sdmmc0; ++ }; ++ ++ chosen: chosen { ++ stdout-path = "serial2:1500000n8"; ++ }; ++ ++ hdmi-con { ++ compatible = "hdmi-connector"; ++ type = "a"; ++ ++ port { ++ hdmi_con_in: endpoint { ++ remote-endpoint = <&hdmi_out_con>; ++ }; ++ }; ++ }; ++ ++ leds { ++ compatible = "gpio-leds"; ++ ++ led-1 { ++ gpios = <&gpio4 RK_PA4 GPIO_ACTIVE_LOW>; ++ color = ; ++ function = LED_FUNCTION_ACTIVITY; ++ linux,default-trigger = "heartbeat"; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pi_nled_activity>; ++ }; ++ }; ++ ++ vcc5v0_usb30: vcc5v0-usb30-regulator { ++ compatible = "regulator-fixed"; ++ regulator-name = "vcc5v0_usb30"; ++ enable-active-high; ++ gpio = <&gpio3 RK_PC2 GPIO_ACTIVE_HIGH>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&vcc5v0_usb30_en_h>; ++ regulator-always-on; ++ regulator-min-microvolt = <5000000>; ++ regulator-max-microvolt = <5000000>; ++ vin-supply = <&vcc_sys>; ++ }; ++ ++ vcca1v8_image: vcca1v8-image-regulator { ++ compatible = "regulator-fixed"; ++ regulator-name = "vcca1v8_image"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ vin-supply = <&vcc_1v8_p>; ++ }; ++ ++ vdda0v9_image: vdda0v9-image-regulator { ++ compatible = "regulator-fixed"; ++ regulator-name = "vcca0v9_image"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <900000>; ++ regulator-max-microvolt = <900000>; ++ vin-supply = <&vdda_0v9>; ++ }; ++}; ++ ++&combphy1 { ++ status = "okay"; ++}; ++ ++&hdmi { ++ avdd-0v9-supply = <&vdda0v9_image>; ++ avdd-1v8-supply = <&vcca1v8_image>; ++ status = "okay"; ++}; ++ ++&hdmi_in { ++ hdmi_in_vp0: endpoint { ++ remote-endpoint = <&vp0_out_hdmi>; ++ }; ++}; ++ ++&hdmi_out { ++ hdmi_out_con: endpoint { ++ remote-endpoint = <&hdmi_con_in>; ++ }; ++}; ++ ++&hdmi_sound { ++ status = "okay"; ++}; ++ ++&pinctrl { ++ leds { ++ pi_nled_activity: pi-nled-activity { ++ rockchip,pins = <4 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ }; ++ ++ sdcard { ++ sdmmc_pwren: sdmmc-pwren { ++ rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ }; ++ ++ usb { ++ vcc5v0_usb30_en_h: vcc5v0-host-en-h { ++ rockchip,pins = <3 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ }; ++}; ++ ++&sdmmc0 { ++ bus-width = <4>; ++ cap-mmc-highspeed; ++ cap-sd-highspeed; ++ disable-wp; ++ vqmmc-supply = <&vccio_sd>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk &sdmmc0_cmd &sdmmc0_det &sdmmc0_pwren>; ++ status = "okay"; ++}; ++ ++&uart2 { ++ status = "okay"; ++}; ++ ++&usb2phy0_host { ++ phy-supply = <&vcc5v0_usb30>; ++ status = "okay"; ++}; ++ ++&usb2phy1_host { ++ status = "okay"; ++}; ++ ++&usb2phy1_otg { ++ status = "okay"; ++}; ++ ++&usb_host0_ehci { ++ status = "okay"; ++}; ++ ++&usb_host1_xhci { ++ status = "okay"; ++}; ++ ++&vop { ++ assigned-clocks = <&cru DCLK_VOP0>, <&cru DCLK_VOP1>; ++ assigned-clock-parents = <&pmucru PLL_HPLL>, <&cru PLL_VPLL>; ++ status = "okay"; ++}; ++ ++&vop_mmu { ++ status = "okay"; ++}; ++ ++&vp0 { ++ vp0_out_hdmi: endpoint@ROCKCHIP_VOP2_EP_HDMI0 { ++ reg = ; ++ remote-endpoint = <&hdmi_in_vp0>; ++ }; ++}; diff --git a/target/linux/rockchip/patches-6.1/017-v6.3-arm64-dts-rockchip-Enable-Ethernet-for-Radxa-CM3-IO.patch b/target/linux/rockchip/patches-6.1/017-v6.3-arm64-dts-rockchip-Enable-Ethernet-for-Radxa-CM3-IO.patch new file mode 100644 index 0000000000..305b5702d5 --- /dev/null +++ b/target/linux/rockchip/patches-6.1/017-v6.3-arm64-dts-rockchip-Enable-Ethernet-for-Radxa-CM3-IO.patch @@ -0,0 +1,131 @@ +From cc52bfc04726a574fc4440bbbe0c710890e7040a Mon Sep 17 00:00:00 2001 +From: Manoj Sai +Date: Wed, 25 Jan 2023 21:40:22 +0530 +Subject: [PATCH] arm64: dts: rockchip: Enable Ethernet for Radxa CM3 IO + +Add ethernet nodes for enabling gmac1 on the Radxa CM3 IO board. + +Signed-off-by: Manoj Sai +Link: https://lore.kernel.org/r/20230125161023.12115-1-jagan@amarulasolutions.com +Signed-off-by: Heiko Stuebner +--- + .../boot/dts/rockchip/rk3566-radxa-cm3-io.dts | 93 +++++++++++++++++++ + 1 file changed, 93 insertions(+) + +--- a/arch/arm64/boot/dts/rockchip/rk3566-radxa-cm3-io.dts ++++ b/arch/arm64/boot/dts/rockchip/rk3566-radxa-cm3-io.dts +@@ -21,6 +21,13 @@ + stdout-path = "serial2:1500000n8"; + }; + ++ gmac1_clkin: external-gmac1-clock { ++ compatible = "fixed-clock"; ++ clock-frequency = <125000000>; ++ clock-output-names = "gmac1_clkin"; ++ #clock-cells = <0>; ++ }; ++ + hdmi-con { + compatible = "hdmi-connector"; + type = "a"; +@@ -83,6 +90,29 @@ + status = "okay"; + }; + ++&gmac1 { ++ assigned-clocks = <&cru SCLK_GMAC1_RX_TX>, <&cru SCLK_GMAC1>; ++ assigned-clock-parents = <&cru SCLK_GMAC1_RGMII_SPEED>, <&gmac1_clkin>; ++ assigned-clock-rates = <0>, <125000000>; ++ clock_in_out = "input"; ++ phy-handle = <&rgmii_phy1>; ++ phy-mode = "rgmii"; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&gmac1m0_miim ++ &gmac1m0_tx_bus2 ++ &gmac1m0_rx_bus2 ++ &gmac1m0_rgmii_clk ++ &gmac1m0_rgmii_bus ++ &gmac1m0_clkinout>; ++ snps,reset-gpio = <&gpio4 RK_PC2 GPIO_ACTIVE_LOW>; ++ snps,reset-active-low; ++ /* Reset time is 20ms, 100ms for rtl8211f */ ++ snps,reset-delays-us = <0 20000 100000>; ++ tx_delay = <0x46>; ++ rx_delay = <0x2e>; ++ status = "okay"; ++}; ++ + &hdmi { + avdd-0v9-supply = <&vdda0v9_image>; + avdd-1v8-supply = <&vcca1v8_image>; +@@ -105,7 +135,70 @@ + status = "okay"; + }; + ++&mdio1 { ++ rgmii_phy1: ethernet-phy@0 { ++ compatible="ethernet-phy-ieee802.3-c22"; ++ reg= <0x0>; ++ }; ++}; ++ + &pinctrl { ++ gmac1 { ++ gmac1m0_miim: gmac1m0-miim { ++ rockchip,pins = ++ /* gmac1_mdcm0 */ ++ <3 RK_PC4 3 &pcfg_pull_none_drv_level_15>, ++ /* gmac1_mdiom0 */ ++ <3 RK_PC5 3 &pcfg_pull_none_drv_level_15>; ++ }; ++ ++ gmac1m0_rx_bus2: gmac1m0-rx-bus2 { ++ rockchip,pins = ++ /* gmac1_rxd0m0 */ ++ <3 RK_PB1 3 &pcfg_pull_none_drv_level_15>, ++ /* gmac1_rxd1m0 */ ++ <3 RK_PB2 3 &pcfg_pull_none_drv_level_15>, ++ /* gmac1_rxdvcrsm0 */ ++ <3 RK_PB3 3 &pcfg_pull_none_drv_level_15>; ++ }; ++ ++ gmac1m0_tx_bus2: gmac1m0-tx-bus2 { ++ rockchip,pins = ++ /* gmac1_txd0m0 */ ++ <3 RK_PB5 3 &pcfg_pull_none_drv_level_15>, ++ /* gmac1_txd1m0 */ ++ <3 RK_PB6 3 &pcfg_pull_none_drv_level_15>, ++ /* gmac1_txenm0 */ ++ <3 RK_PB7 3 &pcfg_pull_none_drv_level_15>; ++ }; ++ ++ gmac1m0_rgmii_clk: gmac1m0-rgmii-clk { ++ rockchip,pins = ++ /* gmac1_rxclkm0 */ ++ <3 RK_PA7 3 &pcfg_pull_none_drv_level_15>, ++ /* gmac1_txclkm0 */ ++ <3 RK_PA6 3 &pcfg_pull_none_drv_level_15>; ++ }; ++ ++ gmac1m0_rgmii_bus: gmac1m0-rgmii-bus { ++ rockchip,pins = ++ /* gmac1_rxd2m0 */ ++ <3 RK_PA4 3 &pcfg_pull_none_drv_level_15>, ++ /* gmac1_rxd3m0 */ ++ <3 RK_PA5 3 &pcfg_pull_none_drv_level_15>, ++ /* gmac1_txd2m0 */ ++ <3 RK_PA2 3 &pcfg_pull_none_drv_level_15>, ++ /* gmac1_txd3m0 */ ++ <3 RK_PA3 3 &pcfg_pull_none_drv_level_15>; ++ }; ++ ++ gmac1m0_clkinout: gmac1m0-clkinout { ++ rockchip,pins = ++ /* gmac1_mclkinoutm0 */ ++ <3 RK_PC0 3 &pcfg_pull_none_drv_level_15>; ++ }; ++ }; ++ + leds { + pi_nled_activity: pi-nled-activity { + rockchip,pins = <4 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>; diff --git a/target/linux/rockchip/patches-6.1/018-v6.3-arm64-dts-rockchip-Add-rk3566-based-Radxa-Compute-Module-3.patch b/target/linux/rockchip/patches-6.1/018-v6.3-arm64-dts-rockchip-Add-rk3566-based-Radxa-Compute-Module-3.patch new file mode 100644 index 0000000000..e53f7fa7e0 --- /dev/null +++ b/target/linux/rockchip/patches-6.1/018-v6.3-arm64-dts-rockchip-Add-rk3566-based-Radxa-Compute-Module-3.patch @@ -0,0 +1,386 @@ +From 7469ab529bcad50490f6ff651c3e4f03bfa88fe0 Mon Sep 17 00:00:00 2001 +From: Jagan Teki +Date: Thu, 12 Jan 2023 16:29:01 +0530 +Subject: [PATCH] arm64: dts: rockchip: Add rk3566 based Radxa Compute Module 3 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Radxa Compute Module 3(CM3) is one of the modules from a series +System On Module based on the Radxa ROCK 3 series and is compatible +with Raspberry Pi CM4 pinout and form factor. + +Specification: +- Rockchip RK3566 +- up to 8GB LPDDR4 +- up to 128GB high performance eMMC +- Optional wireless LAN, 2.4GHz and 5.0GHz IEEE 802.11b/g/n/ac wireless, + BT 5.0, BLE with onboard and external antenna. +- Gigabit Ethernet PHY + +Radxa CM3 needs to mount on top of this IO board in order to create +complete Radxa CM3 IO board platform. + +Since Radxa CM3 is compatible with Raspberry Pi CM4 pinout so it is +possible to mount Radxa CM3 on top of the Rasberry Pi CM4 IO board. + +Add support for Radxa CM3. + +Co-developed-by: FUKAUMI Naoki +Signed-off-by: FUKAUMI Naoki +Signed-off-by: Jagan Teki +Link: https://lore.kernel.org/r/20230112105902.192852-2-jagan@amarulasolutions.com +Signed-off-by: Heiko Stuebner +--- + .../boot/dts/rockchip/rk3566-radxa-cm3.dtsi | 345 ++++++++++++++++++ + 1 file changed, 345 insertions(+) + create mode 100644 arch/arm64/boot/dts/rockchip/rk3566-radxa-cm3.dtsi + +--- /dev/null ++++ b/arch/arm64/boot/dts/rockchip/rk3566-radxa-cm3.dtsi +@@ -0,0 +1,345 @@ ++// SPDX-License-Identifier: (GPL-2.0+ OR MIT) ++/* ++ * Copyright (c) 2022 Radxa Limited ++ * Copyright (c) 2022 Amarula Solutions(India) ++ */ ++ ++#include ++#include ++ ++/ { ++ compatible = "radxa,radxa-cm3", "rockchip,rk3566"; ++ ++ aliases { ++ mmc0 = &sdhci; ++ }; ++ ++ leds { ++ compatible = "gpio-leds"; ++ ++ led-0 { ++ gpios = <&gpio0 RK_PA6 GPIO_ACTIVE_HIGH>; ++ color = ; ++ function = LED_FUNCTION_STATUS; ++ linux,default-trigger = "timer"; ++ default-state = "on"; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&user_led2>; ++ }; ++ }; ++ ++ vcc_sys: vcc-sys-regulator { ++ compatible = "regulator-fixed"; ++ regulator-name = "vcc_sys"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <5000000>; ++ regulator-max-microvolt = <5000000>; ++ }; ++ ++ vcc_1v8: vcc-1v8-regulator { ++ compatible = "regulator-fixed"; ++ regulator-name = "vcc_1v8"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ vin-supply = <&vcc_1v8_p>; ++ }; ++ ++ vcc_3v3: vcc-3v3-regulator { ++ compatible = "regulator-fixed"; ++ regulator-name = "vcc_3v3"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ vin-supply = <&vcc3v3_sys>; ++ }; ++ ++ vcca_1v8: vcca-1v8-regulator { ++ compatible = "regulator-fixed"; ++ regulator-name = "vcca_1v8"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ vin-supply = <&vcc_1v8_p>; ++ }; ++}; ++ ++&cpu0 { ++ cpu-supply = <&vdd_cpu>; ++}; ++ ++&cpu1 { ++ cpu-supply = <&vdd_cpu>; ++}; ++ ++&cpu2 { ++ cpu-supply = <&vdd_cpu>; ++}; ++ ++&cpu3 { ++ cpu-supply = <&vdd_cpu>; ++}; ++ ++&gpu { ++ mali-supply = <&vdd_gpu_npu>; ++ status = "okay"; ++}; ++ ++&i2c0 { ++ status = "okay"; ++ ++ vdd_cpu: regulator@1c { ++ compatible = "tcs,tcs4525"; ++ reg = <0x1c>; ++ fcs,suspend-voltage-selector = <1>; ++ regulator-name = "vdd_cpu"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <712500>; ++ regulator-max-microvolt = <1390000>; ++ regulator-ramp-delay = <2300>; ++ vin-supply = <&vcc_sys>; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ rk817: pmic@20 { ++ compatible = "rockchip,rk817"; ++ reg = <0x20>; ++ #clock-cells = <1>; ++ clock-output-names = "rk817-clkout1", "rk817-clkout2"; ++ interrupt-parent = <&gpio0>; ++ interrupts = ; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pmic_int_l>; ++ rockchip,system-power-controller; ++ wakeup-source; ++ ++ vcc1-supply = <&vcc_sys>; ++ vcc2-supply = <&vcc_sys>; ++ vcc3-supply = <&vcc_sys>; ++ vcc4-supply = <&vcc_sys>; ++ vcc5-supply = <&vcc_sys>; ++ vcc6-supply = <&vcc_sys>; ++ vcc7-supply = <&vcc_sys>; ++ ++ regulators { ++ vdd_logic: DCDC_REG1 { ++ regulator-name = "vdd_logic"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-initial-mode = <0x2>; ++ regulator-min-microvolt = <500000>; ++ regulator-max-microvolt = <1350000>; ++ regulator-ramp-delay = <6001>; ++ regulator-state-mem { ++ regulator-on-in-suspend; ++ regulator-suspend-microvolt = <900000>; ++ }; ++ }; ++ ++ vdd_gpu_npu: DCDC_REG2 { ++ regulator-name = "vdd_gpu_npu"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-initial-mode = <0x2>; ++ regulator-min-microvolt = <500000>; ++ regulator-max-microvolt = <1350000>; ++ regulator-ramp-delay = <6001>; ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ vcc_ddr: DCDC_REG3 { ++ regulator-name = "vcc_ddr"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-initial-mode = <0x2>; ++ regulator-state-mem { ++ regulator-on-in-suspend; ++ }; ++ }; ++ ++ vcc3v3_sys: DCDC_REG4 { ++ regulator-name = "vcc3v3_sys"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-initial-mode = <0x2>; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ regulator-state-mem { ++ regulator-on-in-suspend; ++ regulator-suspend-microvolt = <3300000>; ++ }; ++ }; ++ ++ vcca1v8_pmu: LDO_REG1 { ++ regulator-name = "vcca1v8_pmu"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ regulator-state-mem { ++ regulator-on-in-suspend; ++ regulator-suspend-microvolt = <1800000>; ++ }; ++ }; ++ ++ vdda_0v9: LDO_REG2 { ++ regulator-name = "vdda_0v9"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <900000>; ++ regulator-max-microvolt = <900000>; ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ vdda0v9_pmu: LDO_REG3 { ++ regulator-name = "vdda0v9_pmu"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <900000>; ++ regulator-max-microvolt = <900000>; ++ regulator-state-mem { ++ regulator-on-in-suspend; ++ regulator-suspend-microvolt = <900000>; ++ }; ++ }; ++ ++ vccio_acodec: LDO_REG4 { ++ regulator-name = "vccio_acodec"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ vccio_sd: LDO_REG5 { ++ regulator-name = "vccio_sd"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <3300000>; ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ vcc3v3_pmu: LDO_REG6 { ++ regulator-name = "vcc3v3_pmu"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ regulator-state-mem { ++ regulator-on-in-suspend; ++ regulator-suspend-microvolt = <3300000>; ++ }; ++ }; ++ ++ vcc_1v8_p: LDO_REG7 { ++ regulator-name = "vcc_1v8_p"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ vcc1v8_dvp: LDO_REG8 { ++ regulator-name = "vcc1v8_dvp"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ vcc2v8_dvp: LDO_REG9 { ++ regulator-name = "vcc2v8_dvp"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <2800000>; ++ regulator-max-microvolt = <2800000>; ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ }; ++ }; ++}; ++ ++&pinctrl { ++ pmic { ++ pmic_int_l: pmic-int-l { ++ rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>; ++ }; ++ }; ++ ++ leds { ++ user_led2: user-led2 { ++ rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ }; ++}; ++ ++&pmu_io_domains { ++ pmuio1-supply = <&vcc3v3_pmu>; ++ pmuio2-supply = <&vcc_3v3>; ++ vccio1-supply = <&vccio_acodec>; ++ vccio2-supply = <&vcc_1v8>; ++ vccio3-supply = <&vccio_sd>; ++ vccio4-supply = <&vcc_1v8>; ++ vccio5-supply = <&vcc_3v3>; ++ vccio6-supply = <&vcc_3v3>; ++ vccio7-supply = <&vcc_3v3>; ++ status = "okay"; ++}; ++ ++&saradc { ++ vref-supply = <&vcca_1v8>; ++ status = "okay"; ++}; ++ ++&sdhci { ++ bus-width = <8>; ++ max-frequency = <200000000>; ++ mmc-hs200-1_8v; ++ non-removable; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&emmc_bus8 &emmc_clk &emmc_cmd &emmc_datastrobe>; ++ vmmc-supply = <&vcc_3v3>; ++ vqmmc-supply = <&vcc_1v8>; ++ status = "okay"; ++}; ++ ++&usb2phy0 { ++ status = "okay"; ++}; ++ ++&usb2phy1 { ++ status = "okay"; ++}; ++ ++&tsadc { ++ rockchip,hw-tshut-mode = <1>; ++ rockchip,hw-tshut-polarity = <0>; ++ status = "okay"; ++}; diff --git a/target/linux/rockchip/patches-6.1/019-v6.3-arm64-dts-rockchip-Enable-WiFi-BT-support-for-Radxa-CM3.patch b/target/linux/rockchip/patches-6.1/019-v6.3-arm64-dts-rockchip-Enable-WiFi-BT-support-for-Radxa-CM3.patch new file mode 100644 index 0000000000..9855b9e1a6 --- /dev/null +++ b/target/linux/rockchip/patches-6.1/019-v6.3-arm64-dts-rockchip-Enable-WiFi-BT-support-for-Radxa-CM3.patch @@ -0,0 +1,134 @@ +From af5a803bf212e077e5fb7a1d4cf6be02f74a74ca Mon Sep 17 00:00:00 2001 +From: Jagan Teki +Date: Wed, 25 Jan 2023 21:40:23 +0530 +Subject: [PATCH] arm64: dts: rockchip: rk3566: Enable WiFi, BT support for + Radxa CM3 + +Radxa Compute Module 3 has an onboard AW_CM256SM WiFi/BT module. + +Add nodes for enabling it. + +Signed-off-by: Jagan Teki +Link: https://lore.kernel.org/r/20230125161023.12115-2-jagan@amarulasolutions.com +Signed-off-by: Heiko Stuebner +--- + .../boot/dts/rockchip/rk3566-radxa-cm3.dtsi | 80 +++++++++++++++++++ + 1 file changed, 80 insertions(+) + +--- a/arch/arm64/boot/dts/rockchip/rk3566-radxa-cm3.dtsi ++++ b/arch/arm64/boot/dts/rockchip/rk3566-radxa-cm3.dtsi +@@ -66,6 +66,15 @@ + regulator-max-microvolt = <1800000>; + vin-supply = <&vcc_1v8_p>; + }; ++ ++ sdio_pwrseq: pwrseq-sdio { ++ compatible = "mmc-pwrseq-simple"; ++ clocks = <&rk817 1>; ++ clock-names = "ext_clock"; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&wifi_reg_on_h>; ++ reset-gpios = <&gpio2 RK_PB7 GPIO_ACTIVE_LOW>; ++ }; + }; + + &cpu0 { +@@ -287,6 +296,20 @@ + }; + + &pinctrl { ++ bluetooth { ++ bt_host_wake_h: bt-host-wake-h { ++ rockchip,pins = <2 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ ++ bt_reg_on_h: bt-reg-on-h { ++ rockchip,pins = <2 RK_PC0 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ ++ bt_wake_host_h: bt-wake-host-h { ++ rockchip,pins = <2 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ }; ++ + pmic { + pmic_int_l: pmic-int-l { + rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>; +@@ -298,6 +321,16 @@ + rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>; + }; + }; ++ ++ wifi { ++ wifi_reg_on_h: wifi-reg-on-h { ++ rockchip,pins = <2 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ ++ wifi_host_wake_h: wifi-host-wake-h { ++ rockchip,pins = <2 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ }; + }; + + &pmu_io_domains { +@@ -318,6 +351,34 @@ + status = "okay"; + }; + ++&sdmmc1 { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ bus-width = <4>; ++ disable-wp; ++ cap-sd-highspeed; ++ cap-sdio-irq; ++ keep-power-in-suspend; ++ mmc-pwrseq = <&sdio_pwrseq>; ++ non-removable; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&sdmmc1_bus4 &sdmmc1_clk &sdmmc1_cmd>; ++ sd-uhs-sdr104; ++ vmmc-supply = <&vcc_3v3>; ++ vqmmc-supply = <&vcc_1v8>; ++ status = "okay"; ++ ++ wifi@1 { ++ compatible = "brcm,bcm43455-fmac"; ++ reg = <1>; ++ interrupt-parent = <&gpio2>; ++ interrupts = ; ++ interrupt-names = "host-wake"; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&wifi_host_wake_h>; ++ }; ++}; ++ + &sdhci { + bus-width = <8>; + max-frequency = <200000000>; +@@ -330,6 +391,25 @@ + status = "okay"; + }; + ++&uart1 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&uart1m0_ctsn &uart1m0_rtsn &uart1m0_xfer>; ++ status = "okay"; ++ ++ bluetooth { ++ compatible = "brcm,bcm4345c5"; ++ clocks = <&rk817 1>; ++ clock-names = "lpo"; ++ device-wakeup-gpios = <&gpio2 RK_PB2 GPIO_ACTIVE_HIGH>; ++ host-wakeup-gpios = <&gpio2 RK_PB1 GPIO_ACTIVE_HIGH>; ++ reset-gpios = <&gpio2 RK_PC0 GPIO_ACTIVE_LOW>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&bt_host_wake_h &bt_reg_on_h &bt_wake_host_h>; ++ vbat-supply = <&vcc_3v3>; ++ vddio-supply = <&vcc_1v8>; ++ }; ++}; ++ + &usb2phy0 { + status = "okay"; + }; diff --git a/target/linux/rockchip/patches-6.1/020-v6.4-arm64-dts-rockchip-Enable-USB-OTG-for-rk3566-Radxa-CM3.patch b/target/linux/rockchip/patches-6.1/020-v6.4-arm64-dts-rockchip-Enable-USB-OTG-for-rk3566-Radxa-CM3.patch new file mode 100644 index 0000000000..bfd6dbe0db --- /dev/null +++ b/target/linux/rockchip/patches-6.1/020-v6.4-arm64-dts-rockchip-Enable-USB-OTG-for-rk3566-Radxa-CM3.patch @@ -0,0 +1,32 @@ +From 477ed3ade6a46e445b4e2348b710c51df4f6f4b1 Mon Sep 17 00:00:00 2001 +From: Manoj Sai +Date: Thu, 23 Feb 2023 19:29:29 +0530 +Subject: [PATCH] arm64: dts: rockchip: Enable USB OTG for rk3566 Radxa CM3 + +Enable USB OTG support for Radxa Compute Module 3 IO Board + +Signed-off-by: Manoj Sai +Signed-off-by: Jagan Teki +Link: https://lore.kernel.org/r/20230223135929.630787-1-abbaraju.manojsai@amarulasolutions.com +Signed-off-by: Heiko Stuebner +--- + arch/arm64/boot/dts/rockchip/rk3566-radxa-cm3-io.dts | 8 ++++++++ + 1 file changed, 8 insertions(+) + +--- a/arch/arm64/boot/dts/rockchip/rk3566-radxa-cm3-io.dts ++++ b/arch/arm64/boot/dts/rockchip/rk3566-radxa-cm3-io.dts +@@ -254,6 +254,14 @@ + status = "okay"; + }; + ++&usb2phy0_otg { ++ status = "okay"; ++}; ++ ++&usb_host0_xhci { ++ status = "okay"; ++}; ++ + &vop { + assigned-clocks = <&cru DCLK_VOP0>, <&cru DCLK_VOP1>; + assigned-clock-parents = <&pmucru PLL_HPLL>, <&cru PLL_VPLL>; diff --git a/target/linux/rockchip/patches-6.1/021-v6.3-arm64-dts-rockchip-Fix-compatible-for-Radxa-CM3.patch b/target/linux/rockchip/patches-6.1/021-v6.3-arm64-dts-rockchip-Fix-compatible-for-Radxa-CM3.patch new file mode 100644 index 0000000000..e7e3ea0100 --- /dev/null +++ b/target/linux/rockchip/patches-6.1/021-v6.3-arm64-dts-rockchip-Fix-compatible-for-Radxa-CM3.patch @@ -0,0 +1,45 @@ +From 8f19828844f20b22182719cf53be64f8c955aee8 Mon Sep 17 00:00:00 2001 +From: Jagan Teki +Date: Mon, 23 Jan 2023 12:46:50 +0530 +Subject: [PATCH] arm64: dts: rockchip: Fix compatible for Radxa CM3 + +The compatible string "radxa,radxa-cm3" referring the product name +as "Radxa Radxa CM3" but the actual product name is "Radxa CM3". + +Fix the compatible strings. + +Fixes: 24a28d3eb07d ("dt-bindings: arm: rockchip: Add Radxa Compute Module 3") +Fixes: 7469ab529bca ("arm64: dts: rockchip: Add rk3566 based Radxa Compute Module 3") +Fixes: 096ebfb74b19 ("arm64: dts: rockchip: Add Radxa Compute Module 3 IO board") +Suggested-by: Krzysztof Kozlowski +Signed-off-by: Jagan Teki +Acked-by: Krzysztof Kozlowski +Link: https://lore.kernel.org/r/20230123071654.73139-1-jagan@amarulasolutions.com +Signed-off-by: Heiko Stuebner +--- + arch/arm64/boot/dts/rockchip/rk3566-radxa-cm3-io.dts | 2 +- + arch/arm64/boot/dts/rockchip/rk3566-radxa-cm3.dtsi | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +--- a/arch/arm64/boot/dts/rockchip/rk3566-radxa-cm3-io.dts ++++ b/arch/arm64/boot/dts/rockchip/rk3566-radxa-cm3-io.dts +@@ -11,7 +11,7 @@ + + / { + model = "Radxa Compute Module 3(CM3) IO Board"; +- compatible = "radxa,radxa-cm3-io", "radxa,radxa-cm3", "rockchip,rk3566"; ++ compatible = "radxa,cm3-io", "radxa,cm3", "rockchip,rk3566"; + + aliases { + mmc1 = &sdmmc0; +--- a/arch/arm64/boot/dts/rockchip/rk3566-radxa-cm3.dtsi ++++ b/arch/arm64/boot/dts/rockchip/rk3566-radxa-cm3.dtsi +@@ -8,7 +8,7 @@ + #include + + / { +- compatible = "radxa,radxa-cm3", "rockchip,rk3566"; ++ compatible = "radxa,cm3", "rockchip,rk3566"; + + aliases { + mmc0 = &sdhci; diff --git a/target/linux/rockchip/patches-6.1/022-v6.5-arm64-dts-rockchip-minor-whitespace-cleanup-around.patch b/target/linux/rockchip/patches-6.1/022-v6.5-arm64-dts-rockchip-minor-whitespace-cleanup-around.patch new file mode 100644 index 0000000000..8342c14ea4 --- /dev/null +++ b/target/linux/rockchip/patches-6.1/022-v6.5-arm64-dts-rockchip-minor-whitespace-cleanup-around.patch @@ -0,0 +1,28 @@ +From f99a75f11f46a24dabb33e90893eebf61dca0566 Mon Sep 17 00:00:00 2001 +From: Krzysztof Kozlowski +Date: Sun, 2 Jul 2023 20:52:42 +0200 +Subject: [PATCH] arm64: dts: rockchip: minor whitespace cleanup around '=' + +The DTS code coding style expects exactly one space before and after '=' +sign. + +Signed-off-by: Krzysztof Kozlowski +Link: https://lore.kernel.org/r/20230702185242.44421-1-krzysztof.kozlowski@linaro.org +Signed-off-by: Heiko Stuebner +--- + .../boot/dts/rockchip/rk3566-radxa-cm3-io.dts | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) + +--- a/arch/arm64/boot/dts/rockchip/rk3566-radxa-cm3-io.dts ++++ b/arch/arm64/boot/dts/rockchip/rk3566-radxa-cm3-io.dts +@@ -137,8 +137,8 @@ + + &mdio1 { + rgmii_phy1: ethernet-phy@0 { +- compatible="ethernet-phy-ieee802.3-c22"; +- reg= <0x0>; ++ compatible = "ethernet-phy-ieee802.3-c22"; ++ reg = <0x0>; + }; + }; + diff --git a/target/linux/rockchip/patches-6.1/023-v6.8-arm64-dts-rockchip-Add-ethernet0-alias-to-the-dts-for-RK3566-boards.patch b/target/linux/rockchip/patches-6.1/023-v6.8-arm64-dts-rockchip-Add-ethernet0-alias-to-the-dts-for-RK3566-boards.patch new file mode 100644 index 0000000000..fb5015cf6e --- /dev/null +++ b/target/linux/rockchip/patches-6.1/023-v6.8-arm64-dts-rockchip-Add-ethernet0-alias-to-the-dts-for-RK3566-boards.patch @@ -0,0 +1,28 @@ +From 36d9b3ae708e865cdab95692db5a24c5d975383d Mon Sep 17 00:00:00 2001 +From: Dragan Simic +Date: Tue, 12 Dec 2023 09:01:39 +0100 +Subject: [PATCH] arm64: dts: rockchip: Add ethernet0 alias to the dts for + RK3566 boards + +Add ethernet0 alias to the board dts files for a few supported RK3566 boards +that had it missing. Also, remove the ethernet0 alias from one RK3566 SoM +dtsi file, which doesn't enable the GMAC, and add the ethernet0 alias back to +the dependent board dts files, which actually enable the GMAC. + +Signed-off-by: Dragan Simic +Link: https://lore.kernel.org/r/d2a272e0ae0fff0adfab8bb0238243b11d348799.1702368023.git.dsimic@manjaro.org +Signed-off-by: Heiko Stuebner +--- + arch/arm64/boot/dts/rockchip/rk3566-radxa-cm3-io.dts | 1 + + 1 files changed, 1 insertions(+), 0 deletion(-) + +--- a/arch/arm64/boot/dts/rockchip/rk3566-radxa-cm3-io.dts ++++ b/arch/arm64/boot/dts/rockchip/rk3566-radxa-cm3-io.dts +@@ -14,6 +14,7 @@ + compatible = "radxa,cm3-io", "radxa,cm3", "rockchip,rk3566"; + + aliases { ++ ethernet0 = &gmac1; + mmc1 = &sdmmc0; + }; + diff --git a/target/linux/rockchip/patches-6.1/111-radxa-cm3-io-add-led-aliases.patch b/target/linux/rockchip/patches-6.1/111-radxa-cm3-io-add-led-aliases.patch new file mode 100644 index 0000000000..c8183a2b8a --- /dev/null +++ b/target/linux/rockchip/patches-6.1/111-radxa-cm3-io-add-led-aliases.patch @@ -0,0 +1,36 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Marius Durbaca +Date: Tue Feb 20 15:05:27 2024 +0200 +Subject: [PATCH] arm64: dts: rockchip: Update LED properties for Radxa +CM3 IO board + +Add OpenWrt's LED aliases for showing system status. + +Suggested-by: Tianling Shen +Signed-off-by: Marius Durbaca +--- + +--- a/arch/arm64/boot/dts/rockchip/rk3566-radxa-cm3-io.dts ++++ b/arch/arm64/boot/dts/rockchip/rk3566-radxa-cm3-io.dts +@@ -16,6 +16,10 @@ + aliases { + ethernet0 = &gmac1; + mmc1 = &sdmmc0; ++ led-boot = &status_led; ++ led-failsafe = &status_led; ++ led-running = &status_led; ++ led-upgrade = &status_led; + }; + + chosen: chosen { +--- a/arch/arm64/boot/dts/rockchip/rk3566-radxa-cm3.dtsi ++++ b/arch/arm64/boot/dts/rockchip/rk3566-radxa-cm3.dtsi +@@ -17,7 +17,7 @@ + leds { + compatible = "gpio-leds"; + +- led-0 { ++ status_led: led-0 { + gpios = <&gpio0 RK_PA6 GPIO_ACTIVE_HIGH>; + color = ; + function = LED_FUNCTION_STATUS; From 01996b785dcef61e6dadb50f61a13f905f3e497d Mon Sep 17 00:00:00 2001 From: Shiji Yang Date: Sat, 17 Feb 2024 22:10:10 +0800 Subject: [PATCH 09/43] ramips: clean up useless dts partition labels The previous NVMEM eeprom conversions[1][2] left a lot of partition labels that were no longer used. They can be removed now. [1] https://github.com/openwrt/openwrt/pull/13584 [2] https://github.com/openwrt/openwrt/pull/13587 Signed-off-by: Shiji Yang --- target/linux/ramips/dts/mt7620a_aigale_ai-br100.dts | 2 +- target/linux/ramips/dts/mt7620a_alfa-network_ac1200rm.dts | 2 +- target/linux/ramips/dts/mt7620a_alfa-network_r36m-e4g.dts | 2 +- target/linux/ramips/dts/mt7620a_alfa-network_tube-e4g.dts | 2 +- target/linux/ramips/dts/mt7620a_asus_rp-n53.dts | 2 +- target/linux/ramips/dts/mt7620a_asus_rt-ac5x.dtsi | 2 +- target/linux/ramips/dts/mt7620a_bdcom_wap2100-sk.dts | 2 +- target/linux/ramips/dts/mt7620a_buffalo_whr-1166d.dts | 2 +- target/linux/ramips/dts/mt7620a_buffalo_whr-300hp2.dts | 2 +- target/linux/ramips/dts/mt7620a_buffalo_whr-600d.dts | 2 +- target/linux/ramips/dts/mt7620a_cameo_810.dtsi | 4 ++-- target/linux/ramips/dts/mt7620a_dlink_dch-m225.dts | 4 ++-- target/linux/ramips/dts/mt7620a_dlink_dir-510l.dts | 2 +- target/linux/ramips/dts/mt7620a_dlink_dir-806a-b1.dts | 2 +- target/linux/ramips/dts/mt7620a_dlink_dwr-118-a1.dts | 2 +- target/linux/ramips/dts/mt7620a_dlink_dwr-118-a2.dts | 2 +- target/linux/ramips/dts/mt7620a_dlink_dwr-96x.dtsi | 2 +- target/linux/ramips/dts/mt7620a_domywifi.dtsi | 2 +- target/linux/ramips/dts/mt7620a_dovado_tiny-ac.dts | 2 +- target/linux/ramips/dts/mt7620a_edimax_br-6208ac-v2.dts | 2 +- target/linux/ramips/dts/mt7620a_edimax_br-6478ac-v2.dts | 2 +- target/linux/ramips/dts/mt7620a_edimax_ew-7478apc.dts | 2 +- target/linux/ramips/dts/mt7620a_edimax_ew-747x.dtsi | 2 +- target/linux/ramips/dts/mt7620a_engenius_epg600.dts | 4 ++-- target/linux/ramips/dts/mt7620a_engenius_esr600.dts | 4 ++-- target/linux/ramips/dts/mt7620a_fon_fon2601.dts | 2 +- target/linux/ramips/dts/mt7620a_glinet_gl-mt300a.dts | 2 +- target/linux/ramips/dts/mt7620a_glinet_gl-mt300n.dts | 2 +- target/linux/ramips/dts/mt7620a_glinet_gl-mt750.dts | 2 +- target/linux/ramips/dts/mt7620a_head-weblink_hdrm200.dts | 4 ++-- target/linux/ramips/dts/mt7620a_hiwifi_hc5x61.dtsi | 4 ++-- target/linux/ramips/dts/mt7620a_hnet_c108.dts | 2 +- target/linux/ramips/dts/mt7620a_humax_e2.dts | 2 +- target/linux/ramips/dts/mt7620a_iodata_wn-ac1167gr.dts | 4 ++-- target/linux/ramips/dts/mt7620a_iodata_wn-ac733gr3.dts | 4 ++-- target/linux/ramips/dts/mt7620a_iptime.dtsi | 2 +- target/linux/ramips/dts/mt7620a_kimax_u25awf-h1.dts | 2 +- target/linux/ramips/dts/mt7620a_lava_lr-25g001.dts | 2 +- target/linux/ramips/dts/mt7620a_lb-link_bl-w1200.dts | 2 +- target/linux/ramips/dts/mt7620a_lenovo_newifi-y1.dtsi | 2 +- target/linux/ramips/dts/mt7620a_linksys_e1700.dts | 2 +- target/linux/ramips/dts/mt7620a_microduino_microwrt.dts | 2 +- target/linux/ramips/dts/mt7620a_netcore_nw5212.dts | 2 +- target/linux/ramips/dts/mt7620a_netgear_ex2700.dts | 2 +- target/linux/ramips/dts/mt7620a_netgear_ex3x00_ex61xx.dtsi | 2 +- target/linux/ramips/dts/mt7620a_netgear_wn3x00rp.dtsi | 2 +- target/linux/ramips/dts/mt7620a_netis_wf2770.dts | 2 +- target/linux/ramips/dts/mt7620a_ohyeah_oy-0001.dts | 2 +- target/linux/ramips/dts/mt7620a_phicomm_k2x.dtsi | 2 +- target/linux/ramips/dts/mt7620a_phicomm_psg1208.dts | 2 +- target/linux/ramips/dts/mt7620a_planex_cs-qr10.dts | 2 +- target/linux/ramips/dts/mt7620a_planex_db-wrt01.dts | 2 +- target/linux/ramips/dts/mt7620a_planex_mzk-750dhp.dts | 2 +- target/linux/ramips/dts/mt7620a_planex_mzk-ex300np.dts | 2 +- target/linux/ramips/dts/mt7620a_planex_mzk-ex750np.dts | 2 +- target/linux/ramips/dts/mt7620a_ralink_mt7620a-evb.dts | 2 +- target/linux/ramips/dts/mt7620a_ralink_mt7620a-mt7530-evb.dts | 2 +- .../linux/ramips/dts/mt7620a_ralink_mt7620a-mt7610e-evb.dts | 2 +- target/linux/ramips/dts/mt7620a_ralink_mt7620a-v22sg-evb.dts | 2 +- target/linux/ramips/dts/mt7620a_sanlinking_d240.dts | 2 +- target/linux/ramips/dts/mt7620a_sitecom_wlr-4100-v1-002.dts | 2 +- target/linux/ramips/dts/mt7620a_tplink_archer-c2-v1.dts | 4 ++-- target/linux/ramips/dts/mt7620a_tplink_archer-mr200.dts | 4 ++-- target/linux/ramips/dts/mt7620a_tplink_archer.dtsi | 4 ++-- target/linux/ramips/dts/mt7620a_tplink_re2x0-v1.dtsi | 4 ++-- target/linux/ramips/dts/mt7620a_wavlink_wl-wn530hg4.dts | 2 +- target/linux/ramips/dts/mt7620a_wavlink_wl-wn535k1.dts | 2 +- target/linux/ramips/dts/mt7620a_wavlink_wl-wn579x3.dts | 2 +- target/linux/ramips/dts/mt7620a_wevo_air-duo.dts | 2 +- target/linux/ramips/dts/mt7620a_xiaomi_miwifi-mini.dts | 2 +- target/linux/ramips/dts/mt7620a_youku_yk-l1.dtsi | 2 +- target/linux/ramips/dts/mt7620a_yukai_bocco.dts | 2 +- target/linux/ramips/dts/mt7620a_zbtlink_zbt-ape522ii.dts | 2 +- target/linux/ramips/dts/mt7620a_zbtlink_zbt-we1026.dtsi | 2 +- target/linux/ramips/dts/mt7620a_zbtlink_zbt-we826.dtsi | 2 +- target/linux/ramips/dts/mt7620a_zte_q7.dts | 2 +- target/linux/ramips/dts/mt7620a_zyxel_keenetic-viva.dts | 2 +- target/linux/ramips/dts/mt7620n_asus_rt-n12p.dts | 2 +- target/linux/ramips/dts/mt7620n_asus_rt-n14u.dts | 2 +- target/linux/ramips/dts/mt7620n_buffalo_wmr-300.dts | 2 +- target/linux/ramips/dts/mt7620n_comfast_cf-wr800n.dts | 2 +- target/linux/ramips/dts/mt7620n_dlink_dwr-116-a1.dts | 2 +- target/linux/ramips/dts/mt7620n_dlink_dwr-921-c1.dts | 2 +- target/linux/ramips/dts/mt7620n_dlink_dwr-922-e2.dts | 2 +- target/linux/ramips/dts/mt7620n_elecom_wrh-300cr.dts | 2 +- target/linux/ramips/dts/mt7620n_kimax_u35wf.dts | 2 +- target/linux/ramips/dts/mt7620n_kingston_mlw221.dts | 2 +- target/linux/ramips/dts/mt7620n_kingston_mlwg2.dts | 2 +- target/linux/ramips/dts/mt7620n_netgear_n300.dtsi | 2 +- target/linux/ramips/dts/mt7620n_netgear_pr2000.dts | 4 ++-- target/linux/ramips/dts/mt7620n_nexx_wt3020.dtsi | 2 +- target/linux/ramips/dts/mt7620n_snr_cpe-w4n-mt.dts | 2 +- target/linux/ramips/dts/mt7620n_sunvalley_filehub.dtsi | 2 +- target/linux/ramips/dts/mt7620n_vonets_var11n-300.dts | 2 +- target/linux/ramips/dts/mt7620n_wrtnode_wrtnode.dts | 2 +- target/linux/ramips/dts/mt7620n_zbtlink_zbt-cpe102.dts | 2 +- target/linux/ramips/dts/mt7620n_zbtlink_zbt-wa05.dts | 2 +- target/linux/ramips/dts/mt7620n_zbtlink_zbt-we2026.dts | 2 +- target/linux/ramips/dts/mt7620n_zbtlink_zbt-wr8305rt.dts | 2 +- target/linux/ramips/dts/mt7620n_zyxel_keenetic-lite-iii-a.dts | 2 +- target/linux/ramips/dts/mt7620n_zyxel_keenetic-omni-ii.dts | 2 +- target/linux/ramips/dts/mt7620n_zyxel_keenetic-omni.dts | 2 +- target/linux/ramips/dts/mt7621_adslr_g7.dts | 2 +- target/linux/ramips/dts/mt7621_afoundry_ew1200.dts | 2 +- target/linux/ramips/dts/mt7621_alfa-network_quad-e4g.dts | 2 +- target/linux/ramips/dts/mt7621_ampedwireless_ally.dtsi | 2 +- target/linux/ramips/dts/mt7621_arcadyan_we420223-99.dts | 2 +- target/linux/ramips/dts/mt7621_arcadyan_wg4xx223.dtsi | 2 +- target/linux/ramips/dts/mt7621_asiarf_ap7621.dtsi | 2 +- target/linux/ramips/dts/mt7621_asus_rp-ac56.dts | 4 ++-- target/linux/ramips/dts/mt7621_asus_rp-ac87.dts | 2 +- target/linux/ramips/dts/mt7621_asus_rt-ac57u-v1.dts | 2 +- target/linux/ramips/dts/mt7621_asus_rt-acx5p.dtsi | 4 ++-- target/linux/ramips/dts/mt7621_asus_rt-ax53u.dts | 4 ++-- target/linux/ramips/dts/mt7621_asus_rt-ax54.dts | 4 ++-- target/linux/ramips/dts/mt7621_asus_rt-n56u-b1.dts | 2 +- target/linux/ramips/dts/mt7621_beeline_smartbox-giga.dts | 2 +- .../linux/ramips/dts/mt7621_beeline_smartbox-turbo-plus.dts | 2 +- target/linux/ramips/dts/mt7621_belkin_rt1800.dts | 2 +- target/linux/ramips/dts/mt7621_bolt_arion.dts | 2 +- target/linux/ramips/dts/mt7621_buffalo_wsr-1166dhp.dts | 2 +- target/linux/ramips/dts/mt7621_buffalo_wsr-2533dhpl.dts | 2 +- target/linux/ramips/dts/mt7621_buffalo_wsr-600dhp.dts | 2 +- target/linux/ramips/dts/mt7621_comfast_cf-e390ax.dts | 2 +- target/linux/ramips/dts/mt7621_comfast_cf-ew72-v2.dts | 2 +- target/linux/ramips/dts/mt7621_cudy_m1800.dts | 2 +- target/linux/ramips/dts/mt7621_cudy_wr1300-v1.dts | 4 ++-- target/linux/ramips/dts/mt7621_cudy_wr2100.dts | 4 ++-- target/linux/ramips/dts/mt7621_cudy_x6.dtsi | 2 +- target/linux/ramips/dts/mt7621_d-team_newifi-d2.dts | 2 +- target/linux/ramips/dts/mt7621_d-team_pbr-m1.dts | 2 +- target/linux/ramips/dts/mt7621_dlink_covr-x1860-a1.dts | 2 +- target/linux/ramips/dts/mt7621_dlink_dap-x1860-a1.dts | 2 +- target/linux/ramips/dts/mt7621_dlink_dir-3060-a1.dts | 2 +- target/linux/ramips/dts/mt7621_dlink_dir-853-a1.dts | 2 +- target/linux/ramips/dts/mt7621_dlink_dir-853-a3.dts | 2 +- target/linux/ramips/dts/mt7621_dlink_dir-860l-b1.dts | 4 ++-- target/linux/ramips/dts/mt7621_dlink_dir-xx60-a1.dtsi | 2 +- target/linux/ramips/dts/mt7621_dlink_dxx-1xx0-x1.dtsi | 2 +- target/linux/ramips/dts/mt7621_dlink_flash-16m-a1.dtsi | 2 +- target/linux/ramips/dts/mt7621_dlink_flash-16m-r1.dtsi | 2 +- target/linux/ramips/dts/mt7621_edimax_re23s.dts | 2 +- target/linux/ramips/dts/mt7621_edimax_rx21s.dtsi | 2 +- target/linux/ramips/dts/mt7621_elecom_wrc-1167ghbk2-s.dts | 2 +- target/linux/ramips/dts/mt7621_elecom_wrc-2533ghbk.dtsi | 2 +- target/linux/ramips/dts/mt7621_etisalat_s3.dts | 2 +- target/linux/ramips/dts/mt7621_firefly_firewrt.dts | 2 +- target/linux/ramips/dts/mt7621_gehua_ghl-r-001.dts | 2 +- target/linux/ramips/dts/mt7621_glinet_gl-mt1300.dts | 2 +- target/linux/ramips/dts/mt7621_gnubee_gb-pc1.dts | 2 +- target/linux/ramips/dts/mt7621_gnubee_gb-pc2.dts | 2 +- target/linux/ramips/dts/mt7621_h3c_tx180x.dtsi | 2 +- target/linux/ramips/dts/mt7621_haier-sim_wr1800k.dtsi | 2 +- target/linux/ramips/dts/mt7621_hanyang_hyc-g920.dts | 2 +- target/linux/ramips/dts/mt7621_hilink_hlk-7621a-evb.dts | 2 +- target/linux/ramips/dts/mt7621_hiwifi_hc5962.dts | 2 +- target/linux/ramips/dts/mt7621_huasifei_ws1208v2.dts | 2 +- target/linux/ramips/dts/mt7621_humax_e10.dts | 2 +- target/linux/ramips/dts/mt7621_iodata_wn-ax1167gr.dts | 4 ++-- target/linux/ramips/dts/mt7621_iodata_wn-dx1200gr.dts | 2 +- target/linux/ramips/dts/mt7621_iodata_wn-gx300gr.dts | 2 +- target/linux/ramips/dts/mt7621_iodata_wn-xx-xr.dtsi | 2 +- target/linux/ramips/dts/mt7621_iodata_wnpr2600g.dts | 2 +- target/linux/ramips/dts/mt7621_iptime_a3002mesh.dts | 2 +- target/linux/ramips/dts/mt7621_iptime_a3004ns-dual.dts | 4 ++-- target/linux/ramips/dts/mt7621_iptime_a3004t.dts | 2 +- target/linux/ramips/dts/mt7621_iptime_a6004ns-m.dtsi | 4 ++-- target/linux/ramips/dts/mt7621_iptime_a8004t.dts | 4 ++-- target/linux/ramips/dts/mt7621_iptime_ax2004m.dts | 2 +- target/linux/ramips/dts/mt7621_jcg_jhr-ac876m.dts | 2 +- target/linux/ramips/dts/mt7621_jcg_q20.dts | 2 +- target/linux/ramips/dts/mt7621_jcg_y2.dts | 2 +- target/linux/ramips/dts/mt7621_keenetic_kn-3010.dts | 4 ++-- target/linux/ramips/dts/mt7621_lenovo_newifi-d1.dts | 2 +- target/linux/ramips/dts/mt7621_linksys_e5600.dts | 2 +- target/linux/ramips/dts/mt7621_linksys_e7350.dts | 2 +- target/linux/ramips/dts/mt7621_linksys_ea7xxx.dtsi | 2 +- target/linux/ramips/dts/mt7621_linksys_re6500.dts | 2 +- target/linux/ramips/dts/mt7621_linksys_re7000.dts | 2 +- target/linux/ramips/dts/mt7621_mediatek_ap-mt7621a-v60.dts | 2 +- target/linux/ramips/dts/mt7621_mercusys_mr70x-v1.dts | 4 ++-- target/linux/ramips/dts/mt7621_mqmaker_witi.dts | 2 +- target/linux/ramips/dts/mt7621_mtc_wr1201.dts | 2 +- target/linux/ramips/dts/mt7621_netgear_eax12.dts | 2 +- target/linux/ramips/dts/mt7621_netgear_ex6150.dts | 2 +- target/linux/ramips/dts/mt7621_netgear_r6220.dts | 2 +- target/linux/ramips/dts/mt7621_netgear_sercomm_bzv.dtsi | 2 +- target/linux/ramips/dts/mt7621_netgear_sercomm_chj.dtsi | 2 +- target/linux/ramips/dts/mt7621_netgear_wac104.dts | 2 +- target/linux/ramips/dts/mt7621_netgear_wax202.dts | 2 +- target/linux/ramips/dts/mt7621_netgear_wndr3700-v5.dts | 2 +- target/linux/ramips/dts/mt7621_netis_wf2881.dts | 2 +- target/linux/ramips/dts/mt7621_oraybox_x3a.dts | 2 +- target/linux/ramips/dts/mt7621_phicomm_k2p.dts | 2 +- target/linux/ramips/dts/mt7621_planex_vr500.dts | 2 +- target/linux/ramips/dts/mt7621_raisecom_msg1500-x-00.dts | 2 +- target/linux/ramips/dts/mt7621_renkforce_ws-wn530hp3-a.dts | 2 +- target/linux/ramips/dts/mt7621_samknows_whitebox-v8.dts | 2 +- target/linux/ramips/dts/mt7621_sercomm_dxx_nand_256m.dtsi | 2 +- target/linux/ramips/dts/mt7621_sercomm_na502.dts | 2 +- target/linux/ramips/dts/mt7621_sercomm_na502s.dts | 2 +- target/linux/ramips/dts/mt7621_sercomm_s1500.dtsi | 2 +- target/linux/ramips/dts/mt7621_snr_snr-cpe-me1.dts | 2 +- target/linux/ramips/dts/mt7621_snr_snr-cpe-me2-lite.dts | 2 +- target/linux/ramips/dts/mt7621_snr_snr-cpe-me2-sfp.dts | 2 +- target/linux/ramips/dts/mt7621_storylink_sap-g3200u3.dts | 2 +- target/linux/ramips/dts/mt7621_telco-electronics_x1.dts | 4 ++-- target/linux/ramips/dts/mt7621_tenbay_t-mb5eu-v01.dts | 2 +- target/linux/ramips/dts/mt7621_thunder_timecloud.dts | 2 +- target/linux/ramips/dts/mt7621_totolink_a7000r.dts | 2 +- target/linux/ramips/dts/mt7621_totolink_x5000r.dts | 2 +- target/linux/ramips/dts/mt7621_tozed_zlt-s12-pro.dts | 2 +- target/linux/ramips/dts/mt7621_tplink_archer-ax23-v1.dts | 4 ++-- target/linux/ramips/dts/mt7621_tplink_archer-c6u-v1.dts | 4 ++-- target/linux/ramips/dts/mt7621_tplink_archer-x6-v3.dtsi | 4 ++-- target/linux/ramips/dts/mt7621_tplink_deco-m4r-v4.dts | 4 ++-- target/linux/ramips/dts/mt7621_tplink_eap235-wall-v1.dts | 4 ++-- target/linux/ramips/dts/mt7621_tplink_eap613-v1.dts | 2 +- target/linux/ramips/dts/mt7621_tplink_eap615-wall-v1.dts | 4 ++-- target/linux/ramips/dts/mt7621_tplink_ec330-g5u-v1.dts | 2 +- target/linux/ramips/dts/mt7621_tplink_er605-v2.dts | 2 +- target/linux/ramips/dts/mt7621_tplink_ex220-v1.dts | 2 +- target/linux/ramips/dts/mt7621_tplink_mr600-v2-eu.dts | 4 ++-- target/linux/ramips/dts/mt7621_tplink_re350-v1.dts | 4 ++-- target/linux/ramips/dts/mt7621_tplink_re650-v2.dts | 4 ++-- target/linux/ramips/dts/mt7621_tplink_rexx0-v1.dtsi | 4 ++-- target/linux/ramips/dts/mt7621_tplink_tl-wpa8631p-v3.dts | 4 ++-- target/linux/ramips/dts/mt7621_ubnt_edgerouter-x.dtsi | 2 +- target/linux/ramips/dts/mt7621_ubnt_unifi-6-lite.dts | 4 ++-- target/linux/ramips/dts/mt7621_ubnt_unifi-flexhd.dts | 4 ++-- target/linux/ramips/dts/mt7621_ubnt_unifi-nanohd.dts | 4 ++-- target/linux/ramips/dts/mt7621_ubnt_usw-flex.dts | 2 +- target/linux/ramips/dts/mt7621_unielec_u7621-01-16m.dts | 2 +- target/linux/ramips/dts/mt7621_unielec_u7621-06-16m.dts | 4 ++-- target/linux/ramips/dts/mt7621_unielec_u7621-06-32m.dts | 4 ++-- target/linux/ramips/dts/mt7621_unielec_u7621-06-64m.dts | 4 ++-- target/linux/ramips/dts/mt7621_wavlink_wl-wn53xax.dtsi | 2 +- target/linux/ramips/dts/mt7621_wavlink_wl-wn573hx1.dts | 2 +- target/linux/ramips/dts/mt7621_wavlink_ws-wn572hp3-4g.dts | 2 +- target/linux/ramips/dts/mt7621_wevo_w2914ns-v2.dtsi | 2 +- target/linux/ramips/dts/mt7621_winstars_ws-wn583a6.dts | 2 +- target/linux/ramips/dts/mt7621_xiaomi_mi-router-3-pro.dts | 2 +- .../linux/ramips/dts/mt7621_xiaomi_mi-router-4a-common.dtsi | 4 ++-- target/linux/ramips/dts/mt7621_xiaomi_mi-router-cr660x.dtsi | 2 +- target/linux/ramips/dts/mt7621_xiaomi_nand_128m.dtsi | 2 +- target/linux/ramips/dts/mt7621_xiaoyu_xy-c5.dts | 2 +- target/linux/ramips/dts/mt7621_xzwifi_creativebox-v1.dts | 2 +- target/linux/ramips/dts/mt7621_youhua_wr1200js.dts | 2 +- target/linux/ramips/dts/mt7621_youku_yk-l2.dts | 2 +- target/linux/ramips/dts/mt7621_yuncore_ax820.dts | 2 +- target/linux/ramips/dts/mt7621_yuncore_fap640.dts | 2 +- target/linux/ramips/dts/mt7621_yuncore_fap690.dts | 2 +- target/linux/ramips/dts/mt7621_zbtlink_zbt-we1326.dts | 2 +- target/linux/ramips/dts/mt7621_zbtlink_zbt-we3526.dts | 4 ++-- target/linux/ramips/dts/mt7621_zbtlink_zbt-wg1602-v04.dtsi | 2 +- target/linux/ramips/dts/mt7621_zbtlink_zbt-wg1602.dtsi | 2 +- target/linux/ramips/dts/mt7621_zbtlink_zbt-wg1608.dtsi | 2 +- target/linux/ramips/dts/mt7621_zbtlink_zbt-wg2626.dts | 2 +- target/linux/ramips/dts/mt7621_zbtlink_zbt-wg3526.dtsi | 2 +- target/linux/ramips/dts/mt7621_zyxel_lte3301-plus.dts | 2 +- target/linux/ramips/dts/mt7621_zyxel_lte5398-m904.dts | 2 +- target/linux/ramips/dts/mt7621_zyxel_nr7101.dts | 2 +- target/linux/ramips/dts/mt7621_zyxel_nwa-ax.dtsi | 4 ++-- target/linux/ramips/dts/mt7621_zyxel_wap6805.dts | 2 +- target/linux/ramips/dts/mt7621_zyxel_wsm20.dts | 2 +- target/linux/ramips/dts/mt7628an_alfa-network_awusfree1.dts | 2 +- target/linux/ramips/dts/mt7628an_asus_rt-ac1200.dtsi | 4 ++-- target/linux/ramips/dts/mt7628an_asus_rt-n1x.dtsi | 2 +- target/linux/ramips/dts/mt7628an_buffalo_wcr-1166ds.dts | 2 +- target/linux/ramips/dts/mt7628an_comfast_cf-wr617ac.dts | 2 +- target/linux/ramips/dts/mt7628an_comfast_cf-wr758ac.dtsi | 2 +- target/linux/ramips/dts/mt7628an_cudy_wr1000.dts | 2 +- target/linux/ramips/dts/mt7628an_d-team_pbr-d1.dts | 2 +- target/linux/ramips/dts/mt7628an_dlink_dap-1325-a1.dts | 2 +- target/linux/ramips/dts/mt7628an_duzun_dm06.dts | 2 +- target/linux/ramips/dts/mt7628an_elecom_wrc-1167fs.dts | 2 +- target/linux/ramips/dts/mt7628an_glinet_gl-mt300n-v2.dts | 2 +- .../linux/ramips/dts/mt7628an_glinet_vixmini_microuter.dtsi | 4 ++-- target/linux/ramips/dts/mt7628an_hak5_wifi-pineapple-mk7.dts | 2 +- target/linux/ramips/dts/mt7628an_hilink_hlk-7628n.dts | 2 +- target/linux/ramips/dts/mt7628an_hilink_hlk-7688a.dts | 2 +- target/linux/ramips/dts/mt7628an_hiwifi_hc5x61a.dtsi | 4 ++-- target/linux/ramips/dts/mt7628an_iptime.dtsi | 4 ++-- target/linux/ramips/dts/mt7628an_jotale_js76x8.dtsi | 2 +- target/linux/ramips/dts/mt7628an_keenetic_kn-1613.dts | 4 ++-- target/linux/ramips/dts/mt7628an_kroks.dtsi | 4 ++-- target/linux/ramips/dts/mt7628an_linksys_e5400.dts | 2 +- .../linux/ramips/dts/mt7628an_mediatek_linkit-smart-7688.dts | 2 +- .../ramips/dts/mt7628an_mediatek_mt7628an-eval-board.dts | 2 +- target/linux/ramips/dts/mt7628an_mercury_mac1200r-v2.dts | 4 ++-- target/linux/ramips/dts/mt7628an_minew_g1-c.dts | 2 +- target/linux/ramips/dts/mt7628an_motorola_mwr03.dts | 2 +- target/linux/ramips/dts/mt7628an_netgear_r6xxx.dtsi | 2 +- target/linux/ramips/dts/mt7628an_onion_omega2.dtsi | 2 +- target/linux/ramips/dts/mt7628an_oraybox_x1.dts | 2 +- target/linux/ramips/dts/mt7628an_rakwireless_rak633.dts | 2 +- target/linux/ramips/dts/mt7628an_ravpower_rp-wd009.dts | 2 +- target/linux/ramips/dts/mt7628an_skylab_skw92a.dts | 2 +- target/linux/ramips/dts/mt7628an_tama_w06.dts | 2 +- target/linux/ramips/dts/mt7628an_totolink_lr1200.dts | 2 +- target/linux/ramips/dts/mt7628an_tplink_8m-split-uboot.dtsi | 4 ++-- target/linux/ramips/dts/mt7628an_tplink_re200.dtsi | 4 ++-- target/linux/ramips/dts/mt7628an_tplink_re305-v1.dts | 4 ++-- target/linux/ramips/dts/mt7628an_tplink_re305-v3.dts | 4 ++-- target/linux/ramips/dts/mt7628an_tplink_tl-mr3020-v3.dts | 2 +- target/linux/ramips/dts/mt7628an_tplink_tl-wr840n-v5.dts | 2 +- target/linux/ramips/dts/mt7628an_tplink_tl-wr841n-v14.dts | 2 +- target/linux/ramips/dts/mt7628an_unielec_u7628-01-16m.dts | 2 +- target/linux/ramips/dts/mt7628an_vocore_vocore2.dtsi | 2 +- target/linux/ramips/dts/mt7628an_wavlink_wl-wn531a3.dts | 2 +- target/linux/ramips/dts/mt7628an_wavlink_wl-wn570ha1.dts | 2 +- target/linux/ramips/dts/mt7628an_wavlink_wl-wn575a3.dts | 2 +- target/linux/ramips/dts/mt7628an_wavlink_wl-wn576a2.dts | 2 +- target/linux/ramips/dts/mt7628an_wavlink_wl-wn577a2.dts | 2 +- target/linux/ramips/dts/mt7628an_wavlink_wl-wn578a2.dts | 2 +- target/linux/ramips/dts/mt7628an_widora_neo.dtsi | 2 +- target/linux/ramips/dts/mt7628an_wiznet_wizfi630s.dts | 2 +- target/linux/ramips/dts/mt7628an_wrtnode_wrtnode2.dtsi | 2 +- target/linux/ramips/dts/mt7628an_xiaomi_mi-router-4.dtsi | 2 +- target/linux/ramips/dts/mt7628an_xiaomi_miwifi-3c.dts | 2 +- target/linux/ramips/dts/mt7628an_xiaomi_miwifi-nano.dts | 2 +- target/linux/ramips/dts/mt7628an_zbtlink_zbt-we1226.dts | 2 +- target/linux/ramips/dts/mt7628an_zyxel_keenetic-extra-ii.dts | 2 +- target/linux/ramips/dts/rt2880_airlink101_ar670w.dts | 2 +- target/linux/ramips/dts/rt2880_airlink101_ar725w.dts | 2 +- target/linux/ramips/dts/rt2880_asus_rt-n15.dts | 2 +- target/linux/ramips/dts/rt2880_belkin_f5d8235-v1.dts | 2 +- target/linux/ramips/dts/rt2880_buffalo_wli-tx4-ag300n.dts | 2 +- target/linux/ramips/dts/rt2880_buffalo_wzr-agl300nh.dts | 2 +- target/linux/ramips/dts/rt2880_dlink_dap-1522-a1.dts | 2 +- target/linux/ramips/dts/rt2880_ralink_v11st-fe.dts | 2 +- target/linux/ramips/dts/rt3050_8devices_carambola.dts | 2 +- target/linux/ramips/dts/rt3050_allnet_all0256n.dtsi | 2 +- target/linux/ramips/dts/rt3050_alphanetworks_asl26555-16m.dts | 2 +- target/linux/ramips/dts/rt3050_alphanetworks_asl26555-8m.dts | 2 +- target/linux/ramips/dts/rt3050_arcwireless_freestation5.dts | 2 +- target/linux/ramips/dts/rt3050_asus_rt-g32-b1.dts | 2 +- target/linux/ramips/dts/rt3050_asus_rt-n10-plus.dts | 2 +- target/linux/ramips/dts/rt3050_asus_wl-330n.dts | 2 +- target/linux/ramips/dts/rt3050_asus_wl-330n3g.dts | 2 +- target/linux/ramips/dts/rt3050_dlink_dcs-930.dts | 2 +- target/linux/ramips/dts/rt3050_dlink_dir-300-b1.dts | 2 +- target/linux/ramips/dts/rt3050_dlink_dir-600-b1.dts | 4 ++-- target/linux/ramips/dts/rt3050_dlink_dir-615-d.dts | 2 +- target/linux/ramips/dts/rt3050_dlink_dir-620-a1.dts | 2 +- target/linux/ramips/dts/rt3050_edimax_3g-6200n.dts | 2 +- target/linux/ramips/dts/rt3050_edimax_3g-6200nl.dts | 2 +- target/linux/ramips/dts/rt3050_huawei_d105.dts | 2 +- target/linux/ramips/dts/rt3050_jcg_jhr-n805r.dts | 2 +- target/linux/ramips/dts/rt3050_netcore_nw718.dts | 2 +- target/linux/ramips/dts/rt3050_sparklan_wcr-150gn.dts | 2 +- target/linux/ramips/dts/rt3050_teltonika_rut5xx.dts | 2 +- target/linux/ramips/dts/rt3050_tenda_w150m.dts | 2 +- target/linux/ramips/dts/rt3050_trendnet_tew-638apb-v2.dts | 2 +- target/linux/ramips/dts/rt3052_accton_wr6202.dts | 2 +- target/linux/ramips/dts/rt3052_alfa-network_w502u.dts | 2 +- target/linux/ramips/dts/rt3052_argus_atp-52b.dts | 2 +- target/linux/ramips/dts/rt3052_asiarf_awapn2403.dts | 2 +- target/linux/ramips/dts/rt3052_asus_rt-n13u.dts | 2 +- target/linux/ramips/dts/rt3052_aximcom_mr-102n.dts | 2 +- target/linux/ramips/dts/rt3052_aztech_hw550-3g.dts | 2 +- target/linux/ramips/dts/rt3052_belkin_f5d8235-v2.dts | 4 ++-- target/linux/ramips/dts/rt3052_buffalo_whr-g300n.dts | 2 +- target/linux/ramips/dts/rt3052_dlink_dap-1350.dts | 2 +- target/linux/ramips/dts/rt3052_engenius_esr-9753.dts | 2 +- target/linux/ramips/dts/rt3052_fon_fonera-20n.dts | 2 +- target/linux/ramips/dts/rt3052_hauppauge_broadway.dts | 2 +- target/linux/ramips/dts/rt3052_huawei_hg255d.dts | 2 +- target/linux/ramips/dts/rt3052_jcg_jhr-n825r.dts | 2 +- target/linux/ramips/dts/rt3052_jcg_jhr-n926r.dts | 2 +- target/linux/ramips/dts/rt3052_mofinetwork_mofi3500-3gn.dts | 2 +- target/linux/ramips/dts/rt3052_netgear_wnce2001.dts | 2 +- target/linux/ramips/dts/rt3052_nexaira_bc2.dts | 2 +- target/linux/ramips/dts/rt3052_omnima_miniembwifi.dts | 2 +- target/linux/ramips/dts/rt3052_petatel_psr-680w.dts | 2 +- target/linux/ramips/dts/rt3052_planex_mzk-w300nh2.dts | 2 +- target/linux/ramips/dts/rt3052_planex_mzk-wdpr.dts | 2 +- target/linux/ramips/dts/rt3052_poray_ip2202.dts | 2 +- target/linux/ramips/dts/rt3052_prolink_pwh2004.dts | 2 +- target/linux/ramips/dts/rt3052_ralink_v22rw-2x2.dts | 2 +- target/linux/ramips/dts/rt3052_sitecom_wl-351.dts | 2 +- target/linux/ramips/dts/rt3052_skyline_sl-r7205.dts | 2 +- target/linux/ramips/dts/rt3052_tenda_3g300m.dts | 2 +- target/linux/ramips/dts/rt3052_tenda_w306r-v2.dts | 2 +- target/linux/ramips/dts/rt3052_unbranded_wr512-3gn-4m.dts | 2 +- target/linux/ramips/dts/rt3052_unbranded_wr512-3gn-8m.dts | 2 +- target/linux/ramips/dts/rt3052_unbranded_xdx-rn502j.dts | 2 +- target/linux/ramips/dts/rt3052_upvel_ur-326n4g.dts | 2 +- target/linux/ramips/dts/rt3052_upvel_ur-336un.dts | 2 +- target/linux/ramips/dts/rt3052_zyxel_keenetic.dts | 2 +- target/linux/ramips/dts/rt3052_zyxel_nbg-419n.dts | 2 +- target/linux/ramips/dts/rt3352_allnet_all5002.dts | 2 +- target/linux/ramips/dts/rt3352_dlink_dir-615-h1.dts | 2 +- target/linux/ramips/dts/rt3352_dlink_dir-620-d1.dts | 2 +- target/linux/ramips/dts/rt3352_zte_mf283plus.dts | 2 +- target/linux/ramips/dts/rt3352_zyxel_nbg-419n-v2.dts | 2 +- target/linux/ramips/dts/rt3662_asus_rt-n56u.dts | 2 +- target/linux/ramips/dts/rt3662_dlink_dir-645.dts | 2 +- target/linux/ramips/dts/rt3662_edimax_br-6475nd.dts | 4 ++-- target/linux/ramips/dts/rt3662_engenius_esr600h.dts | 2 +- target/linux/ramips/dts/rt3662_loewe_wmdr-143n.dts | 2 +- target/linux/ramips/dts/rt3662_omnima_hpm.dts | 2 +- target/linux/ramips/dts/rt3662_samsung_cy-swr1100.dts | 2 +- target/linux/ramips/dts/rt3883_belkin_f9k110x.dtsi | 2 +- target/linux/ramips/dts/rt3883_sitecom_wlr-6000.dts | 2 +- target/linux/ramips/dts/rt3883_trendnet_tew-691gr.dts | 2 +- target/linux/ramips/dts/rt3883_trendnet_tew-692gr.dts | 2 +- target/linux/ramips/dts/rt5350_7links_px-4885.dtsi | 2 +- target/linux/ramips/dts/rt5350_airlive_air3gii.dts | 2 +- target/linux/ramips/dts/rt5350_allnet_all5003.dts | 2 +- target/linux/ramips/dts/rt5350_asiarf_awm002-evb.dtsi | 2 +- target/linux/ramips/dts/rt5350_belkin_f7c027.dts | 2 +- target/linux/ramips/dts/rt5350_dlink_dcs-930l-b1.dts | 2 +- target/linux/ramips/dts/rt5350_dlink_dir-300-b7.dts | 2 +- target/linux/ramips/dts/rt5350_dlink_dir-320-b1.dts | 2 +- target/linux/ramips/dts/rt5350_dlink_dir-610-a1.dts | 4 ++-- target/linux/ramips/dts/rt5350_dlink_dwr-512-b.dts | 2 +- target/linux/ramips/dts/rt5350_easyacc_wizard-8800.dts | 2 +- target/linux/ramips/dts/rt5350_hame_mpr-a1.dts | 2 +- target/linux/ramips/dts/rt5350_hame_mpr-a2.dts | 2 +- target/linux/ramips/dts/rt5350_hilink_hlk-rm04.dts | 2 +- target/linux/ramips/dts/rt5350_hootoo_ht-tm02.dts | 2 +- target/linux/ramips/dts/rt5350_intenso_memory2move.dts | 2 +- target/linux/ramips/dts/rt5350_nexx_wt1520.dtsi | 2 +- target/linux/ramips/dts/rt5350_nixcore_x1.dtsi | 2 +- target/linux/ramips/dts/rt5350_olimex_rt5350f-olinuxino.dtsi | 2 +- target/linux/ramips/dts/rt5350_omnima_miniembplug.dts | 2 +- target/linux/ramips/dts/rt5350_planex_mzk-dp150n.dts | 2 +- target/linux/ramips/dts/rt5350_poray_m3.dts | 2 +- target/linux/ramips/dts/rt5350_poray_m4.dtsi | 2 +- target/linux/ramips/dts/rt5350_poray_x5.dts | 2 +- target/linux/ramips/dts/rt5350_poray_x8.dts | 2 +- target/linux/ramips/dts/rt5350_tenda_3g150b.dts | 2 +- target/linux/ramips/dts/rt5350_trendnet_tew-714tru.dts | 2 +- target/linux/ramips/dts/rt5350_unbranded_a5-v11.dts | 2 +- target/linux/ramips/dts/rt5350_vocore_vocore.dtsi | 2 +- target/linux/ramips/dts/rt5350_wansview_ncs601w.dts | 2 +- target/linux/ramips/dts/rt5350_wiznet_wizfi630a.dts | 2 +- target/linux/ramips/dts/rt5350_zorlik_zl5900v2.dts | 2 +- target/linux/ramips/dts/rt5350_zyxel_keenetic-4g-b.dts | 2 +- target/linux/ramips/dts/rt5350_zyxel_keenetic-lite-b.dts | 2 +- target/linux/ramips/dts/rt5350_zyxel_keenetic-start.dts | 2 +- 442 files changed, 504 insertions(+), 504 deletions(-) diff --git a/target/linux/ramips/dts/mt7620a_aigale_ai-br100.dts b/target/linux/ramips/dts/mt7620a_aigale_ai-br100.dts index 0dff381d2d..00f0b52805 100644 --- a/target/linux/ramips/dts/mt7620a_aigale_ai-br100.dts +++ b/target/linux/ramips/dts/mt7620a_aigale_ai-br100.dts @@ -75,7 +75,7 @@ read-only; }; - factory: partition@30000 { + partition@30000 { label = "factory"; reg = <0x30000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_alfa-network_ac1200rm.dts b/target/linux/ramips/dts/mt7620a_alfa-network_ac1200rm.dts index 52f0b49771..1b04903ef5 100644 --- a/target/linux/ramips/dts/mt7620a_alfa-network_ac1200rm.dts +++ b/target/linux/ramips/dts/mt7620a_alfa-network_ac1200rm.dts @@ -134,7 +134,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_alfa-network_r36m-e4g.dts b/target/linux/ramips/dts/mt7620a_alfa-network_r36m-e4g.dts index e8276fe717..1eefd4d396 100644 --- a/target/linux/ramips/dts/mt7620a_alfa-network_r36m-e4g.dts +++ b/target/linux/ramips/dts/mt7620a_alfa-network_r36m-e4g.dts @@ -192,7 +192,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_alfa-network_tube-e4g.dts b/target/linux/ramips/dts/mt7620a_alfa-network_tube-e4g.dts index aa109d428c..95ba2c7cdf 100644 --- a/target/linux/ramips/dts/mt7620a_alfa-network_tube-e4g.dts +++ b/target/linux/ramips/dts/mt7620a_alfa-network_tube-e4g.dts @@ -164,7 +164,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_asus_rp-n53.dts b/target/linux/ramips/dts/mt7620a_asus_rp-n53.dts index a32cb96f66..f7d8d96d4e 100644 --- a/target/linux/ramips/dts/mt7620a_asus_rp-n53.dts +++ b/target/linux/ramips/dts/mt7620a_asus_rp-n53.dts @@ -119,7 +119,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_asus_rt-ac5x.dtsi b/target/linux/ramips/dts/mt7620a_asus_rt-ac5x.dtsi index 199b7026e1..9c441f7430 100644 --- a/target/linux/ramips/dts/mt7620a_asus_rt-ac5x.dtsi +++ b/target/linux/ramips/dts/mt7620a_asus_rt-ac5x.dtsi @@ -81,7 +81,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_bdcom_wap2100-sk.dts b/target/linux/ramips/dts/mt7620a_bdcom_wap2100-sk.dts index 8652d6573c..39d79c8ed6 100644 --- a/target/linux/ramips/dts/mt7620a_bdcom_wap2100-sk.dts +++ b/target/linux/ramips/dts/mt7620a_bdcom_wap2100-sk.dts @@ -84,7 +84,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_buffalo_whr-1166d.dts b/target/linux/ramips/dts/mt7620a_buffalo_whr-1166d.dts index 8145f4492d..83080b38db 100644 --- a/target/linux/ramips/dts/mt7620a_buffalo_whr-1166d.dts +++ b/target/linux/ramips/dts/mt7620a_buffalo_whr-1166d.dts @@ -116,7 +116,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_buffalo_whr-300hp2.dts b/target/linux/ramips/dts/mt7620a_buffalo_whr-300hp2.dts index 4e0d8ebec4..05d5a494ed 100644 --- a/target/linux/ramips/dts/mt7620a_buffalo_whr-300hp2.dts +++ b/target/linux/ramips/dts/mt7620a_buffalo_whr-300hp2.dts @@ -116,7 +116,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_buffalo_whr-600d.dts b/target/linux/ramips/dts/mt7620a_buffalo_whr-600d.dts index 5a341cf09d..5eab3f83ac 100644 --- a/target/linux/ramips/dts/mt7620a_buffalo_whr-600d.dts +++ b/target/linux/ramips/dts/mt7620a_buffalo_whr-600d.dts @@ -116,7 +116,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_cameo_810.dtsi b/target/linux/ramips/dts/mt7620a_cameo_810.dtsi index 511b76abde..2ca25d2179 100644 --- a/target/linux/ramips/dts/mt7620a_cameo_810.dtsi +++ b/target/linux/ramips/dts/mt7620a_cameo_810.dtsi @@ -85,7 +85,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; @@ -111,7 +111,7 @@ }; }; - factory5g: partition@50000 { + partition@50000 { label = "factory5g"; reg = <0x50000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_dlink_dch-m225.dts b/target/linux/ramips/dts/mt7620a_dlink_dch-m225.dts index d08322af13..7ea288615c 100644 --- a/target/linux/ramips/dts/mt7620a_dlink_dch-m225.dts +++ b/target/linux/ramips/dts/mt7620a_dlink_dch-m225.dts @@ -121,7 +121,7 @@ read-only; }; - factory: partition@34000 { + partition@34000 { label = "factory"; reg = <0x34000 0x4000>; read-only; @@ -141,7 +141,7 @@ }; }; - nvram: partition@38000 { + partition@38000 { label = "nvram"; reg = <0x38000 0x8000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_dlink_dir-510l.dts b/target/linux/ramips/dts/mt7620a_dlink_dir-510l.dts index 7c32b122cc..03f5739091 100644 --- a/target/linux/ramips/dts/mt7620a_dlink_dir-510l.dts +++ b/target/linux/ramips/dts/mt7620a_dlink_dir-510l.dts @@ -96,7 +96,7 @@ reg = <0x210000 0xde0000>; }; - config: partition@ff0000 { + partition@ff0000 { label = "config"; reg = <0xff0000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_dlink_dir-806a-b1.dts b/target/linux/ramips/dts/mt7620a_dlink_dir-806a-b1.dts index 3880051a8a..3faabba9be 100644 --- a/target/linux/ramips/dts/mt7620a_dlink_dir-806a-b1.dts +++ b/target/linux/ramips/dts/mt7620a_dlink_dir-806a-b1.dts @@ -88,7 +88,7 @@ reg = <0x30000 0x10000>; }; - factory: partition@40000 { + partition@40000 { label = "Factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_dlink_dwr-118-a1.dts b/target/linux/ramips/dts/mt7620a_dlink_dwr-118-a1.dts index 553f215b7c..978de470f0 100644 --- a/target/linux/ramips/dts/mt7620a_dlink_dwr-118-a1.dts +++ b/target/linux/ramips/dts/mt7620a_dlink_dwr-118-a1.dts @@ -118,7 +118,7 @@ reg = <0x10000 0xfe0000>; }; - config: partition@ff0000 { + partition@ff0000 { label = "config"; reg = <0xff0000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_dlink_dwr-118-a2.dts b/target/linux/ramips/dts/mt7620a_dlink_dwr-118-a2.dts index ea660c83f0..c99febdd85 100644 --- a/target/linux/ramips/dts/mt7620a_dlink_dwr-118-a2.dts +++ b/target/linux/ramips/dts/mt7620a_dlink_dwr-118-a2.dts @@ -115,7 +115,7 @@ reg = <0x10000 0xfe0000>; }; - config: partition@ff0000 { + partition@ff0000 { label = "config"; reg = <0xff0000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_dlink_dwr-96x.dtsi b/target/linux/ramips/dts/mt7620a_dlink_dwr-96x.dtsi index e8a3d59d77..a83a7377ad 100644 --- a/target/linux/ramips/dts/mt7620a_dlink_dwr-96x.dtsi +++ b/target/linux/ramips/dts/mt7620a_dlink_dwr-96x.dtsi @@ -154,7 +154,7 @@ reg = <0x10000 0xfe0000>; }; - config: partition@ff0000 { + partition@ff0000 { label = "config"; reg = <0xff0000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_domywifi.dtsi b/target/linux/ramips/dts/mt7620a_domywifi.dtsi index c6a1ac0c77..e2bd8e103b 100644 --- a/target/linux/ramips/dts/mt7620a_domywifi.dtsi +++ b/target/linux/ramips/dts/mt7620a_domywifi.dtsi @@ -115,7 +115,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_dovado_tiny-ac.dts b/target/linux/ramips/dts/mt7620a_dovado_tiny-ac.dts index 89daaf0afe..cbc67c942e 100644 --- a/target/linux/ramips/dts/mt7620a_dovado_tiny-ac.dts +++ b/target/linux/ramips/dts/mt7620a_dovado_tiny-ac.dts @@ -80,7 +80,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_edimax_br-6208ac-v2.dts b/target/linux/ramips/dts/mt7620a_edimax_br-6208ac-v2.dts index 717609f6a7..23af7db0d4 100644 --- a/target/linux/ramips/dts/mt7620a_edimax_br-6208ac-v2.dts +++ b/target/linux/ramips/dts/mt7620a_edimax_br-6208ac-v2.dts @@ -134,7 +134,7 @@ }; // Factory - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_edimax_br-6478ac-v2.dts b/target/linux/ramips/dts/mt7620a_edimax_br-6478ac-v2.dts index 999fff4ecb..fe8ce7953b 100644 --- a/target/linux/ramips/dts/mt7620a_edimax_br-6478ac-v2.dts +++ b/target/linux/ramips/dts/mt7620a_edimax_br-6478ac-v2.dts @@ -102,7 +102,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_edimax_ew-7478apc.dts b/target/linux/ramips/dts/mt7620a_edimax_ew-7478apc.dts index d9ad11b506..091f6ecd78 100644 --- a/target/linux/ramips/dts/mt7620a_edimax_ew-7478apc.dts +++ b/target/linux/ramips/dts/mt7620a_edimax_ew-7478apc.dts @@ -94,7 +94,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_edimax_ew-747x.dtsi b/target/linux/ramips/dts/mt7620a_edimax_ew-747x.dtsi index 6cc1138efb..65b69a576a 100644 --- a/target/linux/ramips/dts/mt7620a_edimax_ew-747x.dtsi +++ b/target/linux/ramips/dts/mt7620a_edimax_ew-747x.dtsi @@ -83,7 +83,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_engenius_epg600.dts b/target/linux/ramips/dts/mt7620a_engenius_epg600.dts index 6c7d3a7280..85911a68d8 100644 --- a/target/linux/ramips/dts/mt7620a_engenius_epg600.dts +++ b/target/linux/ramips/dts/mt7620a_engenius_epg600.dts @@ -117,7 +117,7 @@ reg = <0x30000 0x10000>; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; @@ -133,7 +133,7 @@ }; }; - rf: partition@50000 { + partition@50000 { label = "rf"; reg = <0x50000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_engenius_esr600.dts b/target/linux/ramips/dts/mt7620a_engenius_esr600.dts index 98da6d2045..f8429a021b 100644 --- a/target/linux/ramips/dts/mt7620a_engenius_esr600.dts +++ b/target/linux/ramips/dts/mt7620a_engenius_esr600.dts @@ -99,7 +99,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; @@ -115,7 +115,7 @@ }; }; - iNIC_rf: partition@50000 { + partition@50000 { label = "iNIC_rf"; reg = <0x50000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_fon_fon2601.dts b/target/linux/ramips/dts/mt7620a_fon_fon2601.dts index 3e475395f9..2e81c2038b 100644 --- a/target/linux/ramips/dts/mt7620a_fon_fon2601.dts +++ b/target/linux/ramips/dts/mt7620a_fon_fon2601.dts @@ -78,7 +78,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_glinet_gl-mt300a.dts b/target/linux/ramips/dts/mt7620a_glinet_gl-mt300a.dts index 122654d679..8c4ff5d1d1 100644 --- a/target/linux/ramips/dts/mt7620a_glinet_gl-mt300a.dts +++ b/target/linux/ramips/dts/mt7620a_glinet_gl-mt300a.dts @@ -94,7 +94,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_glinet_gl-mt300n.dts b/target/linux/ramips/dts/mt7620a_glinet_gl-mt300n.dts index 9b21689d8d..8dc3655883 100644 --- a/target/linux/ramips/dts/mt7620a_glinet_gl-mt300n.dts +++ b/target/linux/ramips/dts/mt7620a_glinet_gl-mt300n.dts @@ -89,7 +89,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_glinet_gl-mt750.dts b/target/linux/ramips/dts/mt7620a_glinet_gl-mt750.dts index b595c581fe..177cd7873d 100644 --- a/target/linux/ramips/dts/mt7620a_glinet_gl-mt750.dts +++ b/target/linux/ramips/dts/mt7620a_glinet_gl-mt750.dts @@ -89,7 +89,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_head-weblink_hdrm200.dts b/target/linux/ramips/dts/mt7620a_head-weblink_hdrm200.dts index db00daaec2..55936219e3 100644 --- a/target/linux/ramips/dts/mt7620a_head-weblink_hdrm200.dts +++ b/target/linux/ramips/dts/mt7620a_head-weblink_hdrm200.dts @@ -81,7 +81,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; @@ -105,7 +105,7 @@ }; }; - firmware: partition@50000 { + partition@50000 { compatible = "denx,uimage"; label = "firmware"; reg = <0x50000 0xfb0000>; diff --git a/target/linux/ramips/dts/mt7620a_hiwifi_hc5x61.dtsi b/target/linux/ramips/dts/mt7620a_hiwifi_hc5x61.dtsi index 885c1bac49..7fcd68e6ba 100644 --- a/target/linux/ramips/dts/mt7620a_hiwifi_hc5x61.dtsi +++ b/target/linux/ramips/dts/mt7620a_hiwifi_hc5x61.dtsi @@ -51,7 +51,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; @@ -87,7 +87,7 @@ read-only; }; - bdinfo: partition@fe0000 { + partition@fe0000 { label = "bdinfo"; reg = <0xfe0000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_hnet_c108.dts b/target/linux/ramips/dts/mt7620a_hnet_c108.dts index 0c0adf26eb..6f62243ecf 100644 --- a/target/linux/ramips/dts/mt7620a_hnet_c108.dts +++ b/target/linux/ramips/dts/mt7620a_hnet_c108.dts @@ -111,7 +111,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_humax_e2.dts b/target/linux/ramips/dts/mt7620a_humax_e2.dts index 94f2e2003d..dc5635e65e 100644 --- a/target/linux/ramips/dts/mt7620a_humax_e2.dts +++ b/target/linux/ramips/dts/mt7620a_humax_e2.dts @@ -92,7 +92,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x30000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_iodata_wn-ac1167gr.dts b/target/linux/ramips/dts/mt7620a_iodata_wn-ac1167gr.dts index 315f0bfb56..e80ff16f31 100644 --- a/target/linux/ramips/dts/mt7620a_iodata_wn-ac1167gr.dts +++ b/target/linux/ramips/dts/mt7620a_iodata_wn-ac1167gr.dts @@ -92,7 +92,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x8000>; read-only; @@ -112,7 +112,7 @@ }; }; - iNIC_rf: partition@48000 { + partition@48000 { label = "iNIC_rf"; reg = <0x48000 0x8000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_iodata_wn-ac733gr3.dts b/target/linux/ramips/dts/mt7620a_iodata_wn-ac733gr3.dts index 1fa551bddf..d95a4ad99d 100644 --- a/target/linux/ramips/dts/mt7620a_iodata_wn-ac733gr3.dts +++ b/target/linux/ramips/dts/mt7620a_iodata_wn-ac733gr3.dts @@ -106,7 +106,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x8000>; read-only; @@ -126,7 +126,7 @@ }; }; - iNIC_rf: partition@48000 { + partition@48000 { label = "iNIC_rf"; reg = <0x48000 0x8000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_iptime.dtsi b/target/linux/ramips/dts/mt7620a_iptime.dtsi index 2b7421de9b..1de1328aa5 100644 --- a/target/linux/ramips/dts/mt7620a_iptime.dtsi +++ b/target/linux/ramips/dts/mt7620a_iptime.dtsi @@ -28,7 +28,7 @@ #address-cells = <1>; #size-cells = <1>; - uboot: partition@0 { + partition@0 { label = "u-boot"; reg = <0x0 0x20000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_kimax_u25awf-h1.dts b/target/linux/ramips/dts/mt7620a_kimax_u25awf-h1.dts index 412530c257..ad82fac69a 100644 --- a/target/linux/ramips/dts/mt7620a_kimax_u25awf-h1.dts +++ b/target/linux/ramips/dts/mt7620a_kimax_u25awf-h1.dts @@ -74,7 +74,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_lava_lr-25g001.dts b/target/linux/ramips/dts/mt7620a_lava_lr-25g001.dts index 46b2693950..e0346922d7 100644 --- a/target/linux/ramips/dts/mt7620a_lava_lr-25g001.dts +++ b/target/linux/ramips/dts/mt7620a_lava_lr-25g001.dts @@ -93,7 +93,7 @@ reg = <0x10000 0xfe0000>; }; - config: partition@ff0000 { + partition@ff0000 { label = "config"; reg = <0xff0000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_lb-link_bl-w1200.dts b/target/linux/ramips/dts/mt7620a_lb-link_bl-w1200.dts index 41bca0bbc3..3473ed54b0 100644 --- a/target/linux/ramips/dts/mt7620a_lb-link_bl-w1200.dts +++ b/target/linux/ramips/dts/mt7620a_lb-link_bl-w1200.dts @@ -66,7 +66,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_lenovo_newifi-y1.dtsi b/target/linux/ramips/dts/mt7620a_lenovo_newifi-y1.dtsi index 4ba9779dfd..8b9d147021 100644 --- a/target/linux/ramips/dts/mt7620a_lenovo_newifi-y1.dtsi +++ b/target/linux/ramips/dts/mt7620a_lenovo_newifi-y1.dtsi @@ -54,7 +54,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_linksys_e1700.dts b/target/linux/ramips/dts/mt7620a_linksys_e1700.dts index a4a5a69b12..caa6780d60 100644 --- a/target/linux/ramips/dts/mt7620a_linksys_e1700.dts +++ b/target/linux/ramips/dts/mt7620a_linksys_e1700.dts @@ -78,7 +78,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_microduino_microwrt.dts b/target/linux/ramips/dts/mt7620a_microduino_microwrt.dts index afba7a06f3..a9aa27652b 100644 --- a/target/linux/ramips/dts/mt7620a_microduino_microwrt.dts +++ b/target/linux/ramips/dts/mt7620a_microduino_microwrt.dts @@ -53,7 +53,7 @@ read-only; }; - factory: partition@30000 { + partition@30000 { label = "factory"; reg = <0x30000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_netcore_nw5212.dts b/target/linux/ramips/dts/mt7620a_netcore_nw5212.dts index e01babc957..2e112c7179 100644 --- a/target/linux/ramips/dts/mt7620a_netcore_nw5212.dts +++ b/target/linux/ramips/dts/mt7620a_netcore_nw5212.dts @@ -94,7 +94,7 @@ reg = <0x30000 0x10000>; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_netgear_ex2700.dts b/target/linux/ramips/dts/mt7620a_netgear_ex2700.dts index c537091bca..c39984dbf9 100644 --- a/target/linux/ramips/dts/mt7620a_netgear_ex2700.dts +++ b/target/linux/ramips/dts/mt7620a_netgear_ex2700.dts @@ -115,7 +115,7 @@ reg = <0x40000 0x3b0000>; }; - art: partition@3f0000 { + partition@3f0000 { label = "art"; reg = <0x3f0000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_netgear_ex3x00_ex61xx.dtsi b/target/linux/ramips/dts/mt7620a_netgear_ex3x00_ex61xx.dtsi index 8551a30c4a..d06a89821a 100644 --- a/target/linux/ramips/dts/mt7620a_netgear_ex3x00_ex61xx.dtsi +++ b/target/linux/ramips/dts/mt7620a_netgear_ex3x00_ex61xx.dtsi @@ -101,7 +101,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_netgear_wn3x00rp.dtsi b/target/linux/ramips/dts/mt7620a_netgear_wn3x00rp.dtsi index 1d3f2f3772..1ecd9fc4a7 100644 --- a/target/linux/ramips/dts/mt7620a_netgear_wn3x00rp.dtsi +++ b/target/linux/ramips/dts/mt7620a_netgear_wn3x00rp.dtsi @@ -119,7 +119,7 @@ reg = <0x40000 0x7b0000>; }; - art: partition@7f0000 { + partition@7f0000 { label = "art"; reg = <0x7f0000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_netis_wf2770.dts b/target/linux/ramips/dts/mt7620a_netis_wf2770.dts index 1b1d4decd3..dd66b12040 100644 --- a/target/linux/ramips/dts/mt7620a_netis_wf2770.dts +++ b/target/linux/ramips/dts/mt7620a_netis_wf2770.dts @@ -75,7 +75,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_ohyeah_oy-0001.dts b/target/linux/ramips/dts/mt7620a_ohyeah_oy-0001.dts index d87c7951ca..f842c3d173 100644 --- a/target/linux/ramips/dts/mt7620a_ohyeah_oy-0001.dts +++ b/target/linux/ramips/dts/mt7620a_ohyeah_oy-0001.dts @@ -74,7 +74,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_phicomm_k2x.dtsi b/target/linux/ramips/dts/mt7620a_phicomm_k2x.dtsi index 3d01ba9cae..4faa45933f 100644 --- a/target/linux/ramips/dts/mt7620a_phicomm_k2x.dtsi +++ b/target/linux/ramips/dts/mt7620a_phicomm_k2x.dtsi @@ -72,7 +72,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_phicomm_psg1208.dts b/target/linux/ramips/dts/mt7620a_phicomm_psg1208.dts index da325062ab..c5c4d01835 100644 --- a/target/linux/ramips/dts/mt7620a_phicomm_psg1208.dts +++ b/target/linux/ramips/dts/mt7620a_phicomm_psg1208.dts @@ -75,7 +75,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_planex_cs-qr10.dts b/target/linux/ramips/dts/mt7620a_planex_cs-qr10.dts index 891e067c53..db4b286c6b 100644 --- a/target/linux/ramips/dts/mt7620a_planex_cs-qr10.dts +++ b/target/linux/ramips/dts/mt7620a_planex_cs-qr10.dts @@ -81,7 +81,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_planex_db-wrt01.dts b/target/linux/ramips/dts/mt7620a_planex_db-wrt01.dts index 072bdb277e..3659f82d27 100644 --- a/target/linux/ramips/dts/mt7620a_planex_db-wrt01.dts +++ b/target/linux/ramips/dts/mt7620a_planex_db-wrt01.dts @@ -65,7 +65,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_planex_mzk-750dhp.dts b/target/linux/ramips/dts/mt7620a_planex_mzk-750dhp.dts index ac7b7fefd9..4a1d589ab6 100644 --- a/target/linux/ramips/dts/mt7620a_planex_mzk-750dhp.dts +++ b/target/linux/ramips/dts/mt7620a_planex_mzk-750dhp.dts @@ -86,7 +86,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_planex_mzk-ex300np.dts b/target/linux/ramips/dts/mt7620a_planex_mzk-ex300np.dts index 754abf879a..1c3439b46f 100644 --- a/target/linux/ramips/dts/mt7620a_planex_mzk-ex300np.dts +++ b/target/linux/ramips/dts/mt7620a_planex_mzk-ex300np.dts @@ -100,7 +100,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_planex_mzk-ex750np.dts b/target/linux/ramips/dts/mt7620a_planex_mzk-ex750np.dts index ba8c9a4737..c51739d94a 100644 --- a/target/linux/ramips/dts/mt7620a_planex_mzk-ex750np.dts +++ b/target/linux/ramips/dts/mt7620a_planex_mzk-ex750np.dts @@ -106,7 +106,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_ralink_mt7620a-evb.dts b/target/linux/ramips/dts/mt7620a_ralink_mt7620a-evb.dts index ae35941507..38edb6bd5e 100644 --- a/target/linux/ramips/dts/mt7620a_ralink_mt7620a-evb.dts +++ b/target/linux/ramips/dts/mt7620a_ralink_mt7620a-evb.dts @@ -49,7 +49,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_ralink_mt7620a-mt7530-evb.dts b/target/linux/ramips/dts/mt7620a_ralink_mt7620a-mt7530-evb.dts index f7d8cae160..c20e9c0df0 100644 --- a/target/linux/ramips/dts/mt7620a_ralink_mt7620a-mt7530-evb.dts +++ b/target/linux/ramips/dts/mt7620a_ralink_mt7620a-mt7530-evb.dts @@ -30,7 +30,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_ralink_mt7620a-mt7610e-evb.dts b/target/linux/ramips/dts/mt7620a_ralink_mt7620a-mt7610e-evb.dts index 02481e5e55..f67c825183 100644 --- a/target/linux/ramips/dts/mt7620a_ralink_mt7620a-mt7610e-evb.dts +++ b/target/linux/ramips/dts/mt7620a_ralink_mt7620a-mt7610e-evb.dts @@ -49,7 +49,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_ralink_mt7620a-v22sg-evb.dts b/target/linux/ramips/dts/mt7620a_ralink_mt7620a-v22sg-evb.dts index 0e963e1f02..e02e62cd7d 100644 --- a/target/linux/ramips/dts/mt7620a_ralink_mt7620a-v22sg-evb.dts +++ b/target/linux/ramips/dts/mt7620a_ralink_mt7620a-v22sg-evb.dts @@ -43,7 +43,7 @@ read-only; }; - factory: partition@60000 { + partition@60000 { label = "factory"; reg = <0x60000 0x20000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_sanlinking_d240.dts b/target/linux/ramips/dts/mt7620a_sanlinking_d240.dts index ad0747cb74..8de20599df 100644 --- a/target/linux/ramips/dts/mt7620a_sanlinking_d240.dts +++ b/target/linux/ramips/dts/mt7620a_sanlinking_d240.dts @@ -113,7 +113,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_sitecom_wlr-4100-v1-002.dts b/target/linux/ramips/dts/mt7620a_sitecom_wlr-4100-v1-002.dts index d76babae9d..e941c55cf4 100644 --- a/target/linux/ramips/dts/mt7620a_sitecom_wlr-4100-v1-002.dts +++ b/target/linux/ramips/dts/mt7620a_sitecom_wlr-4100-v1-002.dts @@ -105,7 +105,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_tplink_archer-c2-v1.dts b/target/linux/ramips/dts/mt7620a_tplink_archer-c2-v1.dts index fcce614e71..7ec18fe7fc 100644 --- a/target/linux/ramips/dts/mt7620a_tplink_archer-c2-v1.dts +++ b/target/linux/ramips/dts/mt7620a_tplink_archer-c2-v1.dts @@ -111,7 +111,7 @@ read-only; }; - rom: partition@7d0000 { + partition@7d0000 { label = "rom"; reg = <0x7d0000 0x10000>; read-only; @@ -135,7 +135,7 @@ read-only; }; - radio: partition@7f0000 { + partition@7f0000 { label = "radio"; reg = <0x7f0000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_tplink_archer-mr200.dts b/target/linux/ramips/dts/mt7620a_tplink_archer-mr200.dts index a7a2338bce..858ea8703f 100644 --- a/target/linux/ramips/dts/mt7620a_tplink_archer-mr200.dts +++ b/target/linux/ramips/dts/mt7620a_tplink_archer-mr200.dts @@ -144,7 +144,7 @@ reg = <0x20000 0x7b0000>; }; - rom: partition@7d0000 { + partition@7d0000 { label = "rom"; reg = <0x7d0000 0x10000>; read-only; @@ -166,7 +166,7 @@ read-only; }; - radio: partition@7f0000 { + partition@7f0000 { label = "radio"; reg = <0x7f0000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_tplink_archer.dtsi b/target/linux/ramips/dts/mt7620a_tplink_archer.dtsi index 50a91be8ec..3579d9b53b 100644 --- a/target/linux/ramips/dts/mt7620a_tplink_archer.dtsi +++ b/target/linux/ramips/dts/mt7620a_tplink_archer.dtsi @@ -68,7 +68,7 @@ read-only; }; - rom: partition@7d0000 { + partition@7d0000 { label = "rom"; reg = <0x7d0000 0x10000>; read-only; @@ -92,7 +92,7 @@ read-only; }; - radio: partition@7f0000 { + partition@7f0000 { label = "radio"; reg = <0x7f0000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_tplink_re2x0-v1.dtsi b/target/linux/ramips/dts/mt7620a_tplink_re2x0-v1.dtsi index 02f03afc48..5f06dd4208 100644 --- a/target/linux/ramips/dts/mt7620a_tplink_re2x0-v1.dtsi +++ b/target/linux/ramips/dts/mt7620a_tplink_re2x0-v1.dtsi @@ -44,7 +44,7 @@ #address-cells = <1>; #size-cells = <1>; - uboot: partition@0 { + partition@0 { label = "u-boot"; reg = <0x0 0x20000>; read-only; @@ -74,7 +74,7 @@ read-only; }; - radio: partition@7f0000 { + partition@7f0000 { label = "radio"; reg = <0x7f0000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_wavlink_wl-wn530hg4.dts b/target/linux/ramips/dts/mt7620a_wavlink_wl-wn530hg4.dts index 13f4c4c362..dde6d32585 100644 --- a/target/linux/ramips/dts/mt7620a_wavlink_wl-wn530hg4.dts +++ b/target/linux/ramips/dts/mt7620a_wavlink_wl-wn530hg4.dts @@ -75,7 +75,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_wavlink_wl-wn535k1.dts b/target/linux/ramips/dts/mt7620a_wavlink_wl-wn535k1.dts index 0bd158da4f..e1ce8e5834 100644 --- a/target/linux/ramips/dts/mt7620a_wavlink_wl-wn535k1.dts +++ b/target/linux/ramips/dts/mt7620a_wavlink_wl-wn535k1.dts @@ -96,7 +96,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_wavlink_wl-wn579x3.dts b/target/linux/ramips/dts/mt7620a_wavlink_wl-wn579x3.dts index cdebbd9e85..4ee8de90cd 100644 --- a/target/linux/ramips/dts/mt7620a_wavlink_wl-wn579x3.dts +++ b/target/linux/ramips/dts/mt7620a_wavlink_wl-wn579x3.dts @@ -124,7 +124,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_wevo_air-duo.dts b/target/linux/ramips/dts/mt7620a_wevo_air-duo.dts index 90bafdabdb..39a48a6214 100644 --- a/target/linux/ramips/dts/mt7620a_wevo_air-duo.dts +++ b/target/linux/ramips/dts/mt7620a_wevo_air-duo.dts @@ -80,7 +80,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_xiaomi_miwifi-mini.dts b/target/linux/ramips/dts/mt7620a_xiaomi_miwifi-mini.dts index bc40fbb91a..c0141b196d 100644 --- a/target/linux/ramips/dts/mt7620a_xiaomi_miwifi-mini.dts +++ b/target/linux/ramips/dts/mt7620a_xiaomi_miwifi-mini.dts @@ -102,7 +102,7 @@ reg = <0x30000 0x10000>; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_youku_yk-l1.dtsi b/target/linux/ramips/dts/mt7620a_youku_yk-l1.dtsi index 6665441911..2f9920fc45 100644 --- a/target/linux/ramips/dts/mt7620a_youku_yk-l1.dtsi +++ b/target/linux/ramips/dts/mt7620a_youku_yk-l1.dtsi @@ -83,7 +83,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_yukai_bocco.dts b/target/linux/ramips/dts/mt7620a_yukai_bocco.dts index db00c20f4f..f4fbf5ffb6 100644 --- a/target/linux/ramips/dts/mt7620a_yukai_bocco.dts +++ b/target/linux/ramips/dts/mt7620a_yukai_bocco.dts @@ -102,7 +102,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_zbtlink_zbt-ape522ii.dts b/target/linux/ramips/dts/mt7620a_zbtlink_zbt-ape522ii.dts index e41a994733..8197e6539b 100644 --- a/target/linux/ramips/dts/mt7620a_zbtlink_zbt-ape522ii.dts +++ b/target/linux/ramips/dts/mt7620a_zbtlink_zbt-ape522ii.dts @@ -79,7 +79,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_zbtlink_zbt-we1026.dtsi b/target/linux/ramips/dts/mt7620a_zbtlink_zbt-we1026.dtsi index 30d2fba263..b2cb08473b 100644 --- a/target/linux/ramips/dts/mt7620a_zbtlink_zbt-we1026.dtsi +++ b/target/linux/ramips/dts/mt7620a_zbtlink_zbt-we1026.dtsi @@ -52,7 +52,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_zbtlink_zbt-we826.dtsi b/target/linux/ramips/dts/mt7620a_zbtlink_zbt-we826.dtsi index 405c110c1f..91601f6f8e 100644 --- a/target/linux/ramips/dts/mt7620a_zbtlink_zbt-we826.dtsi +++ b/target/linux/ramips/dts/mt7620a_zbtlink_zbt-we826.dtsi @@ -77,7 +77,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_zte_q7.dts b/target/linux/ramips/dts/mt7620a_zte_q7.dts index 95a48d29ae..04a655b54d 100644 --- a/target/linux/ramips/dts/mt7620a_zte_q7.dts +++ b/target/linux/ramips/dts/mt7620a_zte_q7.dts @@ -71,7 +71,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620a_zyxel_keenetic-viva.dts b/target/linux/ramips/dts/mt7620a_zyxel_keenetic-viva.dts index 95ca0bfa34..e96ca9ace6 100644 --- a/target/linux/ramips/dts/mt7620a_zyxel_keenetic-viva.dts +++ b/target/linux/ramips/dts/mt7620a_zyxel_keenetic-viva.dts @@ -116,7 +116,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620n_asus_rt-n12p.dts b/target/linux/ramips/dts/mt7620n_asus_rt-n12p.dts index 1a693b1df2..307f71f6ed 100644 --- a/target/linux/ramips/dts/mt7620n_asus_rt-n12p.dts +++ b/target/linux/ramips/dts/mt7620n_asus_rt-n12p.dts @@ -94,7 +94,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620n_asus_rt-n14u.dts b/target/linux/ramips/dts/mt7620n_asus_rt-n14u.dts index 30edead066..89b3257200 100644 --- a/target/linux/ramips/dts/mt7620n_asus_rt-n14u.dts +++ b/target/linux/ramips/dts/mt7620n_asus_rt-n14u.dts @@ -100,7 +100,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620n_buffalo_wmr-300.dts b/target/linux/ramips/dts/mt7620n_buffalo_wmr-300.dts index 081b6d914c..cacb685190 100644 --- a/target/linux/ramips/dts/mt7620n_buffalo_wmr-300.dts +++ b/target/linux/ramips/dts/mt7620n_buffalo_wmr-300.dts @@ -81,7 +81,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620n_comfast_cf-wr800n.dts b/target/linux/ramips/dts/mt7620n_comfast_cf-wr800n.dts index 5ba4d812b2..bc35b82033 100644 --- a/target/linux/ramips/dts/mt7620n_comfast_cf-wr800n.dts +++ b/target/linux/ramips/dts/mt7620n_comfast_cf-wr800n.dts @@ -87,7 +87,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620n_dlink_dwr-116-a1.dts b/target/linux/ramips/dts/mt7620n_dlink_dwr-116-a1.dts index 5fa45a59c4..8ac68fcede 100644 --- a/target/linux/ramips/dts/mt7620n_dlink_dwr-116-a1.dts +++ b/target/linux/ramips/dts/mt7620n_dlink_dwr-116-a1.dts @@ -79,7 +79,7 @@ reg = <0x10000 0x7e0000>; }; - config: partition@7f0000 { + partition@7f0000 { label = "config"; reg = <0x7f0000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620n_dlink_dwr-921-c1.dts b/target/linux/ramips/dts/mt7620n_dlink_dwr-921-c1.dts index d14abad41b..9d8db730f3 100644 --- a/target/linux/ramips/dts/mt7620n_dlink_dwr-921-c1.dts +++ b/target/linux/ramips/dts/mt7620n_dlink_dwr-921-c1.dts @@ -121,7 +121,7 @@ reg = <0x10000 0xfe0000>; }; - config: partition@ff0000 { + partition@ff0000 { label = "config"; reg = <0xff0000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620n_dlink_dwr-922-e2.dts b/target/linux/ramips/dts/mt7620n_dlink_dwr-922-e2.dts index 94de91bfdf..1c1c2929cd 100644 --- a/target/linux/ramips/dts/mt7620n_dlink_dwr-922-e2.dts +++ b/target/linux/ramips/dts/mt7620n_dlink_dwr-922-e2.dts @@ -124,7 +124,7 @@ reg = <0x10000 0xfe0000>; }; - config: partition@ff0000 { + partition@ff0000 { label = "config"; reg = <0xff0000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620n_elecom_wrh-300cr.dts b/target/linux/ramips/dts/mt7620n_elecom_wrh-300cr.dts index 9f8ee0eda9..3b3dc2ef51 100644 --- a/target/linux/ramips/dts/mt7620n_elecom_wrh-300cr.dts +++ b/target/linux/ramips/dts/mt7620n_elecom_wrh-300cr.dts @@ -85,7 +85,7 @@ reg = <0x30000 0x10000>; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620n_kimax_u35wf.dts b/target/linux/ramips/dts/mt7620n_kimax_u35wf.dts index 9296d54d59..d882356244 100644 --- a/target/linux/ramips/dts/mt7620n_kimax_u35wf.dts +++ b/target/linux/ramips/dts/mt7620n_kimax_u35wf.dts @@ -72,7 +72,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620n_kingston_mlw221.dts b/target/linux/ramips/dts/mt7620n_kingston_mlw221.dts index ce1f0e9f8b..5fc4152031 100644 --- a/target/linux/ramips/dts/mt7620n_kingston_mlw221.dts +++ b/target/linux/ramips/dts/mt7620n_kingston_mlw221.dts @@ -78,7 +78,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620n_kingston_mlwg2.dts b/target/linux/ramips/dts/mt7620n_kingston_mlwg2.dts index 0293b89bfa..caa1739823 100644 --- a/target/linux/ramips/dts/mt7620n_kingston_mlwg2.dts +++ b/target/linux/ramips/dts/mt7620n_kingston_mlwg2.dts @@ -78,7 +78,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620n_netgear_n300.dtsi b/target/linux/ramips/dts/mt7620n_netgear_n300.dtsi index 1c2e517466..4e83e9d976 100644 --- a/target/linux/ramips/dts/mt7620n_netgear_n300.dtsi +++ b/target/linux/ramips/dts/mt7620n_netgear_n300.dtsi @@ -56,7 +56,7 @@ read-only; }; - factory: partition@3f0000 { + partition@3f0000 { label = "factory"; reg = <0x3f0000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620n_netgear_pr2000.dts b/target/linux/ramips/dts/mt7620n_netgear_pr2000.dts index d5fc6d3854..8f64798527 100644 --- a/target/linux/ramips/dts/mt7620n_netgear_pr2000.dts +++ b/target/linux/ramips/dts/mt7620n_netgear_pr2000.dts @@ -105,7 +105,7 @@ reg = <0x40000 0xf20000>; }; - factory: partition@f60000 { + partition@f60000 { label = "factory"; reg = <0xf60000 0x10000>; read-only; @@ -121,7 +121,7 @@ }; }; - board_data: partition@f70000 { + partition@f70000 { label = "board_data"; reg = <0xf70000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620n_nexx_wt3020.dtsi b/target/linux/ramips/dts/mt7620n_nexx_wt3020.dtsi index d53f3a9198..be126d1e27 100644 --- a/target/linux/ramips/dts/mt7620n_nexx_wt3020.dtsi +++ b/target/linux/ramips/dts/mt7620n_nexx_wt3020.dtsi @@ -61,7 +61,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620n_snr_cpe-w4n-mt.dts b/target/linux/ramips/dts/mt7620n_snr_cpe-w4n-mt.dts index b960162a09..6aecfa6698 100644 --- a/target/linux/ramips/dts/mt7620n_snr_cpe-w4n-mt.dts +++ b/target/linux/ramips/dts/mt7620n_snr_cpe-w4n-mt.dts @@ -87,7 +87,7 @@ reg = <0x30000 0x10000>; }; - factory: partition@40000 { + partition@40000 { label = "Factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620n_sunvalley_filehub.dtsi b/target/linux/ramips/dts/mt7620n_sunvalley_filehub.dtsi index 88958bba14..e14130a2ef 100644 --- a/target/linux/ramips/dts/mt7620n_sunvalley_filehub.dtsi +++ b/target/linux/ramips/dts/mt7620n_sunvalley_filehub.dtsi @@ -79,7 +79,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620n_vonets_var11n-300.dts b/target/linux/ramips/dts/mt7620n_vonets_var11n-300.dts index 53229ed865..b6b06bea93 100644 --- a/target/linux/ramips/dts/mt7620n_vonets_var11n-300.dts +++ b/target/linux/ramips/dts/mt7620n_vonets_var11n-300.dts @@ -59,7 +59,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620n_wrtnode_wrtnode.dts b/target/linux/ramips/dts/mt7620n_wrtnode_wrtnode.dts index fc695df39d..c0accaddf8 100644 --- a/target/linux/ramips/dts/mt7620n_wrtnode_wrtnode.dts +++ b/target/linux/ramips/dts/mt7620n_wrtnode_wrtnode.dts @@ -54,7 +54,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620n_zbtlink_zbt-cpe102.dts b/target/linux/ramips/dts/mt7620n_zbtlink_zbt-cpe102.dts index 1510b19b17..8e95ab9f09 100644 --- a/target/linux/ramips/dts/mt7620n_zbtlink_zbt-cpe102.dts +++ b/target/linux/ramips/dts/mt7620n_zbtlink_zbt-cpe102.dts @@ -75,7 +75,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620n_zbtlink_zbt-wa05.dts b/target/linux/ramips/dts/mt7620n_zbtlink_zbt-wa05.dts index c24c60abac..8dd88549bf 100644 --- a/target/linux/ramips/dts/mt7620n_zbtlink_zbt-wa05.dts +++ b/target/linux/ramips/dts/mt7620n_zbtlink_zbt-wa05.dts @@ -86,7 +86,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620n_zbtlink_zbt-we2026.dts b/target/linux/ramips/dts/mt7620n_zbtlink_zbt-we2026.dts index 0d139f2e30..6187200e6f 100644 --- a/target/linux/ramips/dts/mt7620n_zbtlink_zbt-we2026.dts +++ b/target/linux/ramips/dts/mt7620n_zbtlink_zbt-we2026.dts @@ -79,7 +79,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620n_zbtlink_zbt-wr8305rt.dts b/target/linux/ramips/dts/mt7620n_zbtlink_zbt-wr8305rt.dts index dbadfe4c20..137b6f6e0a 100644 --- a/target/linux/ramips/dts/mt7620n_zbtlink_zbt-wr8305rt.dts +++ b/target/linux/ramips/dts/mt7620n_zbtlink_zbt-wr8305rt.dts @@ -81,7 +81,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620n_zyxel_keenetic-lite-iii-a.dts b/target/linux/ramips/dts/mt7620n_zyxel_keenetic-lite-iii-a.dts index 64630816dc..899479781e 100644 --- a/target/linux/ramips/dts/mt7620n_zyxel_keenetic-lite-iii-a.dts +++ b/target/linux/ramips/dts/mt7620n_zyxel_keenetic-lite-iii-a.dts @@ -105,7 +105,7 @@ reg = <0x30000 0x10000>; }; - factory: partition@40000 { + partition@40000 { label = "RF-EEPROM"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620n_zyxel_keenetic-omni-ii.dts b/target/linux/ramips/dts/mt7620n_zyxel_keenetic-omni-ii.dts index c7c853b1bc..dd1d256f41 100644 --- a/target/linux/ramips/dts/mt7620n_zyxel_keenetic-omni-ii.dts +++ b/target/linux/ramips/dts/mt7620n_zyxel_keenetic-omni-ii.dts @@ -111,7 +111,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7620n_zyxel_keenetic-omni.dts b/target/linux/ramips/dts/mt7620n_zyxel_keenetic-omni.dts index d7d1d969fa..0ba185b7eb 100644 --- a/target/linux/ramips/dts/mt7620n_zyxel_keenetic-omni.dts +++ b/target/linux/ramips/dts/mt7620n_zyxel_keenetic-omni.dts @@ -111,7 +111,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_adslr_g7.dts b/target/linux/ramips/dts/mt7621_adslr_g7.dts index ef3a64e031..6ca9eccd2d 100644 --- a/target/linux/ramips/dts/mt7621_adslr_g7.dts +++ b/target/linux/ramips/dts/mt7621_adslr_g7.dts @@ -63,7 +63,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_afoundry_ew1200.dts b/target/linux/ramips/dts/mt7621_afoundry_ew1200.dts index 1422f3dde8..4f942f1602 100644 --- a/target/linux/ramips/dts/mt7621_afoundry_ew1200.dts +++ b/target/linux/ramips/dts/mt7621_afoundry_ew1200.dts @@ -72,7 +72,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_alfa-network_quad-e4g.dts b/target/linux/ramips/dts/mt7621_alfa-network_quad-e4g.dts index 2bc0fad9c5..3ffa3ad0c7 100644 --- a/target/linux/ramips/dts/mt7621_alfa-network_quad-e4g.dts +++ b/target/linux/ramips/dts/mt7621_alfa-network_quad-e4g.dts @@ -241,7 +241,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_ampedwireless_ally.dtsi b/target/linux/ramips/dts/mt7621_ampedwireless_ally.dtsi index 6062d001eb..b4c4feacb6 100644 --- a/target/linux/ramips/dts/mt7621_ampedwireless_ally.dtsi +++ b/target/linux/ramips/dts/mt7621_ampedwireless_ally.dtsi @@ -110,7 +110,7 @@ reg = <0x80000 0x80000>; }; - factory: partition@100000 { + partition@100000 { label = "factory"; reg = <0x100000 0x40000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_arcadyan_we420223-99.dts b/target/linux/ramips/dts/mt7621_arcadyan_we420223-99.dts index 7e181bd12c..48506907eb 100644 --- a/target/linux/ramips/dts/mt7621_arcadyan_we420223-99.dts +++ b/target/linux/ramips/dts/mt7621_arcadyan_we420223-99.dts @@ -121,7 +121,7 @@ reg = <0x30000 0x10000>; }; - factory: partition@40000 { + partition@40000 { label = "Factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_arcadyan_wg4xx223.dtsi b/target/linux/ramips/dts/mt7621_arcadyan_wg4xx223.dtsi index 93570823b3..78627b2157 100644 --- a/target/linux/ramips/dts/mt7621_arcadyan_wg4xx223.dtsi +++ b/target/linux/ramips/dts/mt7621_arcadyan_wg4xx223.dtsi @@ -76,7 +76,7 @@ reg = <0x100000 0x100000>; }; - factory: partition@200000 { + partition@200000 { label = "Factory"; reg = <0x200000 0x100000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_asiarf_ap7621.dtsi b/target/linux/ramips/dts/mt7621_asiarf_ap7621.dtsi index acb2c81a0d..edfdc9b173 100644 --- a/target/linux/ramips/dts/mt7621_asiarf_ap7621.dtsi +++ b/target/linux/ramips/dts/mt7621_asiarf_ap7621.dtsi @@ -74,7 +74,7 @@ reg = <0x38000 0x8000>; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_asus_rp-ac56.dts b/target/linux/ramips/dts/mt7621_asus_rp-ac56.dts index 4f58156d72..617624f4c2 100644 --- a/target/linux/ramips/dts/mt7621_asus_rp-ac56.dts +++ b/target/linux/ramips/dts/mt7621_asus_rp-ac56.dts @@ -139,7 +139,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; @@ -169,7 +169,7 @@ reg = <0x50000 0xfa0000>; }; - radio: partition@ff0000 { + partition@ff0000 { label = "radio"; reg = <0xff0000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_asus_rp-ac87.dts b/target/linux/ramips/dts/mt7621_asus_rp-ac87.dts index 51b0b10867..02c19bd1c6 100644 --- a/target/linux/ramips/dts/mt7621_asus_rp-ac87.dts +++ b/target/linux/ramips/dts/mt7621_asus_rp-ac87.dts @@ -111,7 +111,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_asus_rt-ac57u-v1.dts b/target/linux/ramips/dts/mt7621_asus_rt-ac57u-v1.dts index a23bfcc1ff..4915f8125e 100644 --- a/target/linux/ramips/dts/mt7621_asus_rt-ac57u-v1.dts +++ b/target/linux/ramips/dts/mt7621_asus_rt-ac57u-v1.dts @@ -88,7 +88,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_asus_rt-acx5p.dtsi b/target/linux/ramips/dts/mt7621_asus_rt-acx5p.dtsi index dfb906546c..5bccddec0b 100644 --- a/target/linux/ramips/dts/mt7621_asus_rt-acx5p.dtsi +++ b/target/linux/ramips/dts/mt7621_asus_rt-acx5p.dtsi @@ -81,7 +81,7 @@ read-only; }; - factory: partition@1e0000 { + partition@1e0000 { label = "factory"; reg = <0x1e0000 0x100000>; read-only; @@ -105,7 +105,7 @@ }; }; - factory2: partition@2e0000 { + partition@2e0000 { label = "factory2"; reg = <0x2e0000 0x100000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_asus_rt-ax53u.dts b/target/linux/ramips/dts/mt7621_asus_rt-ax53u.dts index efb761540c..faf58e0187 100644 --- a/target/linux/ramips/dts/mt7621_asus_rt-ax53u.dts +++ b/target/linux/ramips/dts/mt7621_asus_rt-ax53u.dts @@ -92,7 +92,7 @@ read-only; }; - factory: partition@1e0000 { + partition@1e0000 { label = "factory"; reg = <0x1e0000 0x100000>; read-only; @@ -116,7 +116,7 @@ }; }; - factory2: partition@2e0000 { + partition@2e0000 { label = "factory2"; reg = <0x2e0000 0x100000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_asus_rt-ax54.dts b/target/linux/ramips/dts/mt7621_asus_rt-ax54.dts index 04d0d82704..7bb375cb29 100644 --- a/target/linux/ramips/dts/mt7621_asus_rt-ax54.dts +++ b/target/linux/ramips/dts/mt7621_asus_rt-ax54.dts @@ -85,7 +85,7 @@ read-only; }; - factory: partition@1e0000 { + partition@1e0000 { label = "factory"; reg = <0x1e0000 0x100000>; read-only; @@ -109,7 +109,7 @@ }; }; - factory2: partition@2e0000 { + partition@2e0000 { label = "factory2"; reg = <0x2e0000 0x100000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_asus_rt-n56u-b1.dts b/target/linux/ramips/dts/mt7621_asus_rt-n56u-b1.dts index 411026d7b0..b18bd113da 100644 --- a/target/linux/ramips/dts/mt7621_asus_rt-n56u-b1.dts +++ b/target/linux/ramips/dts/mt7621_asus_rt-n56u-b1.dts @@ -109,7 +109,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_beeline_smartbox-giga.dts b/target/linux/ramips/dts/mt7621_beeline_smartbox-giga.dts index c1bf5c899b..12ff04ed28 100644 --- a/target/linux/ramips/dts/mt7621_beeline_smartbox-giga.dts +++ b/target/linux/ramips/dts/mt7621_beeline_smartbox-giga.dts @@ -90,7 +90,7 @@ sercomm,scpart-id = <1>; }; - factory: partition@200000 { + partition@200000 { label = "Factory"; reg = <0x200000 0x100000>; sercomm,scpart-id = <2>; diff --git a/target/linux/ramips/dts/mt7621_beeline_smartbox-turbo-plus.dts b/target/linux/ramips/dts/mt7621_beeline_smartbox-turbo-plus.dts index 4af425a648..84ec15b872 100644 --- a/target/linux/ramips/dts/mt7621_beeline_smartbox-turbo-plus.dts +++ b/target/linux/ramips/dts/mt7621_beeline_smartbox-turbo-plus.dts @@ -96,7 +96,7 @@ read-only; }; - factory: partition@200000 { + partition@200000 { label = "Factory"; reg = <0x200000 0x100000>; sercomm,scpart-id = <2>; diff --git a/target/linux/ramips/dts/mt7621_belkin_rt1800.dts b/target/linux/ramips/dts/mt7621_belkin_rt1800.dts index a6720adb0e..25fc335c56 100644 --- a/target/linux/ramips/dts/mt7621_belkin_rt1800.dts +++ b/target/linux/ramips/dts/mt7621_belkin_rt1800.dts @@ -86,7 +86,7 @@ reg = <0x80000 0x80000>; }; - factory: partition@100000 { + partition@100000 { label = "Factory"; reg = <0x100000 0x80000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_bolt_arion.dts b/target/linux/ramips/dts/mt7621_bolt_arion.dts index 4dedb12ead..869aba69bf 100644 --- a/target/linux/ramips/dts/mt7621_bolt_arion.dts +++ b/target/linux/ramips/dts/mt7621_bolt_arion.dts @@ -102,7 +102,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_buffalo_wsr-1166dhp.dts b/target/linux/ramips/dts/mt7621_buffalo_wsr-1166dhp.dts index aeeab4af32..c065997ea1 100644 --- a/target/linux/ramips/dts/mt7621_buffalo_wsr-1166dhp.dts +++ b/target/linux/ramips/dts/mt7621_buffalo_wsr-1166dhp.dts @@ -134,7 +134,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_buffalo_wsr-2533dhpl.dts b/target/linux/ramips/dts/mt7621_buffalo_wsr-2533dhpl.dts index 10decdfe82..66b47d2fa0 100644 --- a/target/linux/ramips/dts/mt7621_buffalo_wsr-2533dhpl.dts +++ b/target/linux/ramips/dts/mt7621_buffalo_wsr-2533dhpl.dts @@ -132,7 +132,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_buffalo_wsr-600dhp.dts b/target/linux/ramips/dts/mt7621_buffalo_wsr-600dhp.dts index c80d686d31..e3b165c640 100644 --- a/target/linux/ramips/dts/mt7621_buffalo_wsr-600dhp.dts +++ b/target/linux/ramips/dts/mt7621_buffalo_wsr-600dhp.dts @@ -134,7 +134,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_comfast_cf-e390ax.dts b/target/linux/ramips/dts/mt7621_comfast_cf-e390ax.dts index 5487eddfd7..d7facb61a0 100644 --- a/target/linux/ramips/dts/mt7621_comfast_cf-e390ax.dts +++ b/target/linux/ramips/dts/mt7621_comfast_cf-e390ax.dts @@ -90,7 +90,7 @@ read-only; }; - factory: partition@50000 { + partition@50000 { label = "factory"; reg = <0x50000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_comfast_cf-ew72-v2.dts b/target/linux/ramips/dts/mt7621_comfast_cf-ew72-v2.dts index 0a2baf19c7..788684163b 100644 --- a/target/linux/ramips/dts/mt7621_comfast_cf-ew72-v2.dts +++ b/target/linux/ramips/dts/mt7621_comfast_cf-ew72-v2.dts @@ -106,7 +106,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_cudy_m1800.dts b/target/linux/ramips/dts/mt7621_cudy_m1800.dts index 2c9ab5cce6..12f5ce3ec9 100644 --- a/target/linux/ramips/dts/mt7621_cudy_m1800.dts +++ b/target/linux/ramips/dts/mt7621_cudy_m1800.dts @@ -113,7 +113,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_cudy_wr1300-v1.dts b/target/linux/ramips/dts/mt7621_cudy_wr1300-v1.dts index 0f0386a166..9d5701a7cc 100644 --- a/target/linux/ramips/dts/mt7621_cudy_wr1300-v1.dts +++ b/target/linux/ramips/dts/mt7621_cudy_wr1300-v1.dts @@ -87,7 +87,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; @@ -125,7 +125,7 @@ read-only; }; - bdinfo: partition@ff0000 { + partition@ff0000 { label = "bdinfo"; reg = <0xff0000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_cudy_wr2100.dts b/target/linux/ramips/dts/mt7621_cudy_wr2100.dts index 885cf41dbf..5b21cff130 100644 --- a/target/linux/ramips/dts/mt7621_cudy_wr2100.dts +++ b/target/linux/ramips/dts/mt7621_cudy_wr2100.dts @@ -133,7 +133,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; @@ -171,7 +171,7 @@ read-only; }; - bdinfo: partition@ff0000 { + partition@ff0000 { label = "bdinfo"; reg = <0xff0000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_cudy_x6.dtsi b/target/linux/ramips/dts/mt7621_cudy_x6.dtsi index 8b3baa9f84..81a34e9302 100644 --- a/target/linux/ramips/dts/mt7621_cudy_x6.dtsi +++ b/target/linux/ramips/dts/mt7621_cudy_x6.dtsi @@ -75,7 +75,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_d-team_newifi-d2.dts b/target/linux/ramips/dts/mt7621_d-team_newifi-d2.dts index 2c9a0302af..9d426fb17d 100644 --- a/target/linux/ramips/dts/mt7621_d-team_newifi-d2.dts +++ b/target/linux/ramips/dts/mt7621_d-team_newifi-d2.dts @@ -118,7 +118,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_d-team_pbr-m1.dts b/target/linux/ramips/dts/mt7621_d-team_pbr-m1.dts index 02987737cd..5a192cacf3 100644 --- a/target/linux/ramips/dts/mt7621_d-team_pbr-m1.dts +++ b/target/linux/ramips/dts/mt7621_d-team_pbr-m1.dts @@ -130,7 +130,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_dlink_covr-x1860-a1.dts b/target/linux/ramips/dts/mt7621_dlink_covr-x1860-a1.dts index a96b6ad5df..90a5c196fc 100644 --- a/target/linux/ramips/dts/mt7621_dlink_covr-x1860-a1.dts +++ b/target/linux/ramips/dts/mt7621_dlink_covr-x1860-a1.dts @@ -98,7 +98,7 @@ read-only; }; - factory: partition@100000 { + partition@100000 { label = "factory"; reg = <0x100000 0x80000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_dlink_dap-x1860-a1.dts b/target/linux/ramips/dts/mt7621_dlink_dap-x1860-a1.dts index 13095319e2..0dbf03d354 100644 --- a/target/linux/ramips/dts/mt7621_dlink_dap-x1860-a1.dts +++ b/target/linux/ramips/dts/mt7621_dlink_dap-x1860-a1.dts @@ -128,7 +128,7 @@ read-only; }; - factory: partition@100000 { + partition@100000 { label = "factory"; reg = <0x100000 0x80000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_dlink_dir-3060-a1.dts b/target/linux/ramips/dts/mt7621_dlink_dir-3060-a1.dts index 8bb55bfba8..f581095a81 100644 --- a/target/linux/ramips/dts/mt7621_dlink_dir-3060-a1.dts +++ b/target/linux/ramips/dts/mt7621_dlink_dir-3060-a1.dts @@ -113,7 +113,7 @@ read-only; }; - factory: partition@100000 { + partition@100000 { label = "factory"; reg = <0x100000 0x40000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_dlink_dir-853-a1.dts b/target/linux/ramips/dts/mt7621_dlink_dir-853-a1.dts index 336ed17a74..7e5809ed3a 100644 --- a/target/linux/ramips/dts/mt7621_dlink_dir-853-a1.dts +++ b/target/linux/ramips/dts/mt7621_dlink_dir-853-a1.dts @@ -111,7 +111,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_dlink_dir-853-a3.dts b/target/linux/ramips/dts/mt7621_dlink_dir-853-a3.dts index 771fc610eb..434a6d9f1a 100644 --- a/target/linux/ramips/dts/mt7621_dlink_dir-853-a3.dts +++ b/target/linux/ramips/dts/mt7621_dlink_dir-853-a3.dts @@ -108,7 +108,7 @@ read-only; }; - factory: partition@100000 { + partition@100000 { label = "factory"; reg = <0x100000 0x40000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_dlink_dir-860l-b1.dts b/target/linux/ramips/dts/mt7621_dlink_dir-860l-b1.dts index 0426fe5d8f..8939e523fe 100644 --- a/target/linux/ramips/dts/mt7621_dlink_dir-860l-b1.dts +++ b/target/linux/ramips/dts/mt7621_dlink_dir-860l-b1.dts @@ -85,7 +85,7 @@ read-only; }; - radio: partition@34000 { + partition@34000 { label = "radio"; reg = <0x34000 0x4000>; read-only; @@ -109,7 +109,7 @@ }; }; - factory: partition@38000 { + partition@38000 { label = "factory"; reg = <0x38000 0x8000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_dlink_dir-xx60-a1.dtsi b/target/linux/ramips/dts/mt7621_dlink_dir-xx60-a1.dtsi index 24766b2f3b..ddc3e1ad30 100644 --- a/target/linux/ramips/dts/mt7621_dlink_dir-xx60-a1.dtsi +++ b/target/linux/ramips/dts/mt7621_dlink_dir-xx60-a1.dtsi @@ -78,7 +78,7 @@ read-only; }; - factory: partition@100000 { + partition@100000 { label = "factory"; reg = <0x100000 0x40000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_dlink_dxx-1xx0-x1.dtsi b/target/linux/ramips/dts/mt7621_dlink_dxx-1xx0-x1.dtsi index e24ee3ef24..0f25750c5c 100644 --- a/target/linux/ramips/dts/mt7621_dlink_dxx-1xx0-x1.dtsi +++ b/target/linux/ramips/dts/mt7621_dlink_dxx-1xx0-x1.dtsi @@ -95,7 +95,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_dlink_flash-16m-a1.dtsi b/target/linux/ramips/dts/mt7621_dlink_flash-16m-a1.dtsi index 021c9e17c6..ea6b9f23e8 100644 --- a/target/linux/ramips/dts/mt7621_dlink_flash-16m-a1.dtsi +++ b/target/linux/ramips/dts/mt7621_dlink_flash-16m-a1.dtsi @@ -25,7 +25,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x20000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_dlink_flash-16m-r1.dtsi b/target/linux/ramips/dts/mt7621_dlink_flash-16m-r1.dtsi index bccd19b12d..dd13e7aeeb 100644 --- a/target/linux/ramips/dts/mt7621_dlink_flash-16m-r1.dtsi +++ b/target/linux/ramips/dts/mt7621_dlink_flash-16m-r1.dtsi @@ -25,7 +25,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_edimax_re23s.dts b/target/linux/ramips/dts/mt7621_edimax_re23s.dts index 6af8fc50ce..00a746f579 100644 --- a/target/linux/ramips/dts/mt7621_edimax_re23s.dts +++ b/target/linux/ramips/dts/mt7621_edimax_re23s.dts @@ -87,7 +87,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_edimax_rx21s.dtsi b/target/linux/ramips/dts/mt7621_edimax_rx21s.dtsi index 464e2a7444..d7309dbdfe 100644 --- a/target/linux/ramips/dts/mt7621_edimax_rx21s.dtsi +++ b/target/linux/ramips/dts/mt7621_edimax_rx21s.dtsi @@ -80,7 +80,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_elecom_wrc-1167ghbk2-s.dts b/target/linux/ramips/dts/mt7621_elecom_wrc-1167ghbk2-s.dts index a095275f5d..bbc135ad83 100644 --- a/target/linux/ramips/dts/mt7621_elecom_wrc-1167ghbk2-s.dts +++ b/target/linux/ramips/dts/mt7621_elecom_wrc-1167ghbk2-s.dts @@ -140,7 +140,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_elecom_wrc-2533ghbk.dtsi b/target/linux/ramips/dts/mt7621_elecom_wrc-2533ghbk.dtsi index 4d3a6f0244..418b0cfa9a 100644 --- a/target/linux/ramips/dts/mt7621_elecom_wrc-2533ghbk.dtsi +++ b/target/linux/ramips/dts/mt7621_elecom_wrc-2533ghbk.dtsi @@ -95,7 +95,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_etisalat_s3.dts b/target/linux/ramips/dts/mt7621_etisalat_s3.dts index 2581e05a90..2fb3aedaff 100644 --- a/target/linux/ramips/dts/mt7621_etisalat_s3.dts +++ b/target/linux/ramips/dts/mt7621_etisalat_s3.dts @@ -96,7 +96,7 @@ read-only; }; - factory: partition@200000 { + partition@200000 { label = "Factory"; reg = <0x200000 0x100000>; sercomm,scpart-id = <2>; diff --git a/target/linux/ramips/dts/mt7621_firefly_firewrt.dts b/target/linux/ramips/dts/mt7621_firefly_firewrt.dts index 639e9bebd1..7afec5e554 100644 --- a/target/linux/ramips/dts/mt7621_firefly_firewrt.dts +++ b/target/linux/ramips/dts/mt7621_firefly_firewrt.dts @@ -71,7 +71,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_gehua_ghl-r-001.dts b/target/linux/ramips/dts/mt7621_gehua_ghl-r-001.dts index 2c81b9cfe8..9030c051f1 100644 --- a/target/linux/ramips/dts/mt7621_gehua_ghl-r-001.dts +++ b/target/linux/ramips/dts/mt7621_gehua_ghl-r-001.dts @@ -69,7 +69,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_glinet_gl-mt1300.dts b/target/linux/ramips/dts/mt7621_glinet_gl-mt1300.dts index 891fe7c730..849074111b 100644 --- a/target/linux/ramips/dts/mt7621_glinet_gl-mt1300.dts +++ b/target/linux/ramips/dts/mt7621_glinet_gl-mt1300.dts @@ -87,7 +87,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_gnubee_gb-pc1.dts b/target/linux/ramips/dts/mt7621_gnubee_gb-pc1.dts index 4a2095e99b..7ef7201faf 100644 --- a/target/linux/ramips/dts/mt7621_gnubee_gb-pc1.dts +++ b/target/linux/ramips/dts/mt7621_gnubee_gb-pc1.dts @@ -73,7 +73,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_gnubee_gb-pc2.dts b/target/linux/ramips/dts/mt7621_gnubee_gb-pc2.dts index 26e6aa05a0..e898046eaf 100644 --- a/target/linux/ramips/dts/mt7621_gnubee_gb-pc2.dts +++ b/target/linux/ramips/dts/mt7621_gnubee_gb-pc2.dts @@ -93,7 +93,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_h3c_tx180x.dtsi b/target/linux/ramips/dts/mt7621_h3c_tx180x.dtsi index 5639f7176b..88148c6759 100644 --- a/target/linux/ramips/dts/mt7621_h3c_tx180x.dtsi +++ b/target/linux/ramips/dts/mt7621_h3c_tx180x.dtsi @@ -94,7 +94,7 @@ read-only; }; - factory: partition@180000 { + partition@180000 { label = "factory"; reg = <0x0180000 0x0080000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_haier-sim_wr1800k.dtsi b/target/linux/ramips/dts/mt7621_haier-sim_wr1800k.dtsi index 99b589ecfe..53c5912397 100644 --- a/target/linux/ramips/dts/mt7621_haier-sim_wr1800k.dtsi +++ b/target/linux/ramips/dts/mt7621_haier-sim_wr1800k.dtsi @@ -98,7 +98,7 @@ reg = <0x0080000 0x0080000>; }; - factory: partition@100000 { + partition@100000 { label = "factory"; reg = <0x0100000 0x0080000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_hanyang_hyc-g920.dts b/target/linux/ramips/dts/mt7621_hanyang_hyc-g920.dts index e6d79b316c..432aa5abd2 100644 --- a/target/linux/ramips/dts/mt7621_hanyang_hyc-g920.dts +++ b/target/linux/ramips/dts/mt7621_hanyang_hyc-g920.dts @@ -77,7 +77,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_hilink_hlk-7621a-evb.dts b/target/linux/ramips/dts/mt7621_hilink_hlk-7621a-evb.dts index 41ed5088c0..cae9f717b1 100644 --- a/target/linux/ramips/dts/mt7621_hilink_hlk-7621a-evb.dts +++ b/target/linux/ramips/dts/mt7621_hilink_hlk-7621a-evb.dts @@ -46,7 +46,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_hiwifi_hc5962.dts b/target/linux/ramips/dts/mt7621_hiwifi_hc5962.dts index 70366c5dc8..1bf6640137 100644 --- a/target/linux/ramips/dts/mt7621_hiwifi_hc5962.dts +++ b/target/linux/ramips/dts/mt7621_hiwifi_hc5962.dts @@ -82,7 +82,7 @@ read-only; }; - factory: partition@100000 { + partition@100000 { label = "factory"; reg = <0x100000 0x40000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_huasifei_ws1208v2.dts b/target/linux/ramips/dts/mt7621_huasifei_ws1208v2.dts index ee16791101..a7610070de 100644 --- a/target/linux/ramips/dts/mt7621_huasifei_ws1208v2.dts +++ b/target/linux/ramips/dts/mt7621_huasifei_ws1208v2.dts @@ -95,7 +95,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_humax_e10.dts b/target/linux/ramips/dts/mt7621_humax_e10.dts index afadfa8a5b..dfa91ad43a 100644 --- a/target/linux/ramips/dts/mt7621_humax_e10.dts +++ b/target/linux/ramips/dts/mt7621_humax_e10.dts @@ -92,7 +92,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x30000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_iodata_wn-ax1167gr.dts b/target/linux/ramips/dts/mt7621_iodata_wn-ax1167gr.dts index 4d7a4cf7a1..4f84302417 100644 --- a/target/linux/ramips/dts/mt7621_iodata_wn-ax1167gr.dts +++ b/target/linux/ramips/dts/mt7621_iodata_wn-ax1167gr.dts @@ -91,7 +91,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; @@ -113,7 +113,7 @@ }; }; - iNIC_rf: partition@50000 { + partition@50000 { label = "iNIC_rf"; reg = <0x50000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_iodata_wn-dx1200gr.dts b/target/linux/ramips/dts/mt7621_iodata_wn-dx1200gr.dts index 061f537a96..9de7297405 100644 --- a/target/linux/ramips/dts/mt7621_iodata_wn-dx1200gr.dts +++ b/target/linux/ramips/dts/mt7621_iodata_wn-dx1200gr.dts @@ -83,7 +83,7 @@ read-only; }; - factory: partition@200000 { + partition@200000 { label = "factory"; reg = <0x200000 0x200000>; diff --git a/target/linux/ramips/dts/mt7621_iodata_wn-gx300gr.dts b/target/linux/ramips/dts/mt7621_iodata_wn-gx300gr.dts index eaf1a1d66a..b055afc3ad 100644 --- a/target/linux/ramips/dts/mt7621_iodata_wn-gx300gr.dts +++ b/target/linux/ramips/dts/mt7621_iodata_wn-gx300gr.dts @@ -91,7 +91,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_iodata_wn-xx-xr.dtsi b/target/linux/ramips/dts/mt7621_iodata_wn-xx-xr.dtsi index d8fd51292d..b3063a333e 100644 --- a/target/linux/ramips/dts/mt7621_iodata_wn-xx-xr.dtsi +++ b/target/linux/ramips/dts/mt7621_iodata_wn-xx-xr.dtsi @@ -80,7 +80,7 @@ read-only; }; - factory: partition@200000 { + partition@200000 { label = "factory"; reg = <0x0200000 0x0100000>; diff --git a/target/linux/ramips/dts/mt7621_iodata_wnpr2600g.dts b/target/linux/ramips/dts/mt7621_iodata_wnpr2600g.dts index 08d59e534f..790668cc41 100644 --- a/target/linux/ramips/dts/mt7621_iodata_wnpr2600g.dts +++ b/target/linux/ramips/dts/mt7621_iodata_wnpr2600g.dts @@ -94,7 +94,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x040000 0x010000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_iptime_a3002mesh.dts b/target/linux/ramips/dts/mt7621_iptime_a3002mesh.dts index 286c4dda49..e8c7f12d01 100644 --- a/target/linux/ramips/dts/mt7621_iptime_a3002mesh.dts +++ b/target/linux/ramips/dts/mt7621_iptime_a3002mesh.dts @@ -91,7 +91,7 @@ read-only; }; - factory: partition@30000 { + partition@30000 { label = "factory"; reg = <0x30000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_iptime_a3004ns-dual.dts b/target/linux/ramips/dts/mt7621_iptime_a3004ns-dual.dts index a28903b591..6990d31e39 100644 --- a/target/linux/ramips/dts/mt7621_iptime_a3004ns-dual.dts +++ b/target/linux/ramips/dts/mt7621_iptime_a3004ns-dual.dts @@ -65,7 +65,7 @@ #address-cells = <1>; #size-cells = <1>; - uboot: partition@0 { + partition@0 { label = "u-boot"; reg = <0x0 0x20000>; read-only; @@ -91,7 +91,7 @@ read-only; }; - factory: partition@30000 { + partition@30000 { label = "factory"; reg = <0x30000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_iptime_a3004t.dts b/target/linux/ramips/dts/mt7621_iptime_a3004t.dts index f33b484350..a96e89b3f3 100644 --- a/target/linux/ramips/dts/mt7621_iptime_a3004t.dts +++ b/target/linux/ramips/dts/mt7621_iptime_a3004t.dts @@ -74,7 +74,7 @@ read-only; }; - factory: partition@a0000 { + partition@a0000 { label = "factory"; reg = <0xa0000 0x20000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_iptime_a6004ns-m.dtsi b/target/linux/ramips/dts/mt7621_iptime_a6004ns-m.dtsi index 64ef312615..848891056a 100644 --- a/target/linux/ramips/dts/mt7621_iptime_a6004ns-m.dtsi +++ b/target/linux/ramips/dts/mt7621_iptime_a6004ns-m.dtsi @@ -76,7 +76,7 @@ #address-cells = <1>; #size-cells = <1>; - uboot: partition@0 { + partition@0 { label = "u-boot"; reg = <0x0 0x20000>; read-only; @@ -102,7 +102,7 @@ read-only; }; - factory: partition@30000 { + partition@30000 { label = "factory"; reg = <0x30000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_iptime_a8004t.dts b/target/linux/ramips/dts/mt7621_iptime_a8004t.dts index f75b26233a..249904da6a 100644 --- a/target/linux/ramips/dts/mt7621_iptime_a8004t.dts +++ b/target/linux/ramips/dts/mt7621_iptime_a8004t.dts @@ -69,7 +69,7 @@ #address-cells = <1>; #size-cells = <1>; - uboot: partition@0 { + partition@0 { label = "u-boot"; reg = <0x0 0x20000>; read-only; @@ -95,7 +95,7 @@ read-only; }; - factory: partition@30000 { + partition@30000 { label = "factory"; reg = <0x30000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_iptime_ax2004m.dts b/target/linux/ramips/dts/mt7621_iptime_ax2004m.dts index 1d29c6da88..51be0d4939 100644 --- a/target/linux/ramips/dts/mt7621_iptime_ax2004m.dts +++ b/target/linux/ramips/dts/mt7621_iptime_ax2004m.dts @@ -74,7 +74,7 @@ read-only; }; - factory: partition@100000 { + partition@100000 { label = "factory"; reg = <0x100000 0x80000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_jcg_jhr-ac876m.dts b/target/linux/ramips/dts/mt7621_jcg_jhr-ac876m.dts index 3328c3053e..05980caa6f 100644 --- a/target/linux/ramips/dts/mt7621_jcg_jhr-ac876m.dts +++ b/target/linux/ramips/dts/mt7621_jcg_jhr-ac876m.dts @@ -85,7 +85,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_jcg_q20.dts b/target/linux/ramips/dts/mt7621_jcg_q20.dts index 03e0eab25b..49f51ded7f 100644 --- a/target/linux/ramips/dts/mt7621_jcg_q20.dts +++ b/target/linux/ramips/dts/mt7621_jcg_q20.dts @@ -90,7 +90,7 @@ reg = <0x80000 0x80000>; }; - factory: partition@100000 { + partition@100000 { label = "Factory"; reg = <0x100000 0x80000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_jcg_y2.dts b/target/linux/ramips/dts/mt7621_jcg_y2.dts index 2cec1af23e..54141cc2a2 100644 --- a/target/linux/ramips/dts/mt7621_jcg_y2.dts +++ b/target/linux/ramips/dts/mt7621_jcg_y2.dts @@ -61,7 +61,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_keenetic_kn-3010.dts b/target/linux/ramips/dts/mt7621_keenetic_kn-3010.dts index 4bdf6a58f4..35d09832f2 100644 --- a/target/linux/ramips/dts/mt7621_keenetic_kn-3010.dts +++ b/target/linux/ramips/dts/mt7621_keenetic_kn-3010.dts @@ -107,7 +107,7 @@ reg = <0>; spi-max-frequency = <31000000>; - partitions: partitions { + partitions { compatible = "fixed-partitions"; #address-cells = <1>; #size-cells = <1>; @@ -124,7 +124,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "rf-eeprom"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_lenovo_newifi-d1.dts b/target/linux/ramips/dts/mt7621_lenovo_newifi-d1.dts index 5cf7535b70..0323769990 100644 --- a/target/linux/ramips/dts/mt7621_lenovo_newifi-d1.dts +++ b/target/linux/ramips/dts/mt7621_lenovo_newifi-d1.dts @@ -107,7 +107,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_linksys_e5600.dts b/target/linux/ramips/dts/mt7621_linksys_e5600.dts index cd69291113..a059fd0698 100644 --- a/target/linux/ramips/dts/mt7621_linksys_e5600.dts +++ b/target/linux/ramips/dts/mt7621_linksys_e5600.dts @@ -87,7 +87,7 @@ read-only; }; - factory: partition@c0000 { + partition@c0000 { label = "factory"; reg = <0xc0000 0x40000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_linksys_e7350.dts b/target/linux/ramips/dts/mt7621_linksys_e7350.dts index 0adc43df0e..77c123720f 100644 --- a/target/linux/ramips/dts/mt7621_linksys_e7350.dts +++ b/target/linux/ramips/dts/mt7621_linksys_e7350.dts @@ -80,7 +80,7 @@ reg = <0x80000 0x80000>; }; - factory: partition@100000 { + partition@100000 { label = "Factory"; reg = <0x100000 0x80000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_linksys_ea7xxx.dtsi b/target/linux/ramips/dts/mt7621_linksys_ea7xxx.dtsi index 78c73a188e..5804f21591 100644 --- a/target/linux/ramips/dts/mt7621_linksys_ea7xxx.dtsi +++ b/target/linux/ramips/dts/mt7621_linksys_ea7xxx.dtsi @@ -101,7 +101,7 @@ reg = <0x80000 0x40000>; }; - factory: partition@c0000 { + partition@c0000 { label = "factory"; reg = <0xc0000 0x40000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_linksys_re6500.dts b/target/linux/ramips/dts/mt7621_linksys_re6500.dts index c1231b8629..d269899980 100644 --- a/target/linux/ramips/dts/mt7621_linksys_re6500.dts +++ b/target/linux/ramips/dts/mt7621_linksys_re6500.dts @@ -72,7 +72,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_linksys_re7000.dts b/target/linux/ramips/dts/mt7621_linksys_re7000.dts index 31248e73b4..c016f5753b 100644 --- a/target/linux/ramips/dts/mt7621_linksys_re7000.dts +++ b/target/linux/ramips/dts/mt7621_linksys_re7000.dts @@ -86,7 +86,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_mediatek_ap-mt7621a-v60.dts b/target/linux/ramips/dts/mt7621_mediatek_ap-mt7621a-v60.dts index 8e2d866b3b..aaa75b0573 100644 --- a/target/linux/ramips/dts/mt7621_mediatek_ap-mt7621a-v60.dts +++ b/target/linux/ramips/dts/mt7621_mediatek_ap-mt7621a-v60.dts @@ -93,7 +93,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_mercusys_mr70x-v1.dts b/target/linux/ramips/dts/mt7621_mercusys_mr70x-v1.dts index 46892f1e73..fb14bd7829 100644 --- a/target/linux/ramips/dts/mt7621_mercusys_mr70x-v1.dts +++ b/target/linux/ramips/dts/mt7621_mercusys_mr70x-v1.dts @@ -74,7 +74,7 @@ reg = <0x040000 0xf60000>; }; - config: partition@fa0000 { + partition@fa0000 { label = "config"; reg = <0xfa0000 0x010000>; read-only; @@ -98,7 +98,7 @@ read-only; }; - radio: partition@ff0000 { + partition@ff0000 { label = "radio"; reg = <0xff0000 0x010000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_mqmaker_witi.dts b/target/linux/ramips/dts/mt7621_mqmaker_witi.dts index 0052040f36..0fbf51169c 100644 --- a/target/linux/ramips/dts/mt7621_mqmaker_witi.dts +++ b/target/linux/ramips/dts/mt7621_mqmaker_witi.dts @@ -57,7 +57,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; diff --git a/target/linux/ramips/dts/mt7621_mtc_wr1201.dts b/target/linux/ramips/dts/mt7621_mtc_wr1201.dts index 54a10863fa..31f3eb8657 100644 --- a/target/linux/ramips/dts/mt7621_mtc_wr1201.dts +++ b/target/linux/ramips/dts/mt7621_mtc_wr1201.dts @@ -81,7 +81,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_netgear_eax12.dts b/target/linux/ramips/dts/mt7621_netgear_eax12.dts index 00631b9153..e467783ad1 100644 --- a/target/linux/ramips/dts/mt7621_netgear_eax12.dts +++ b/target/linux/ramips/dts/mt7621_netgear_eax12.dts @@ -110,7 +110,7 @@ read-only; }; - factory: partition@100000 { + partition@100000 { label = "Factory"; reg = <0x100000 0x80000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_netgear_ex6150.dts b/target/linux/ramips/dts/mt7621_netgear_ex6150.dts index fae862bc65..7ad421d1a0 100644 --- a/target/linux/ramips/dts/mt7621_netgear_ex6150.dts +++ b/target/linux/ramips/dts/mt7621_netgear_ex6150.dts @@ -121,7 +121,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_netgear_r6220.dts b/target/linux/ramips/dts/mt7621_netgear_r6220.dts index 132210cb0c..807b9b11e9 100644 --- a/target/linux/ramips/dts/mt7621_netgear_r6220.dts +++ b/target/linux/ramips/dts/mt7621_netgear_r6220.dts @@ -41,7 +41,7 @@ reg = <0x600000 0x1c00000>; }; - factory: partition@2e00000 { + partition@2e00000 { label = "factory"; reg = <0x2e00000 0x100000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_netgear_sercomm_bzv.dtsi b/target/linux/ramips/dts/mt7621_netgear_sercomm_bzv.dtsi index 15e9fa1c45..61c3ec3761 100644 --- a/target/linux/ramips/dts/mt7621_netgear_sercomm_bzv.dtsi +++ b/target/linux/ramips/dts/mt7621_netgear_sercomm_bzv.dtsi @@ -346,7 +346,7 @@ read-only; }; - factory: partition@4600000 { + partition@4600000 { label = "factory"; reg = <0x4600000 0x200000>; sercomm,scpart-id = <16>; diff --git a/target/linux/ramips/dts/mt7621_netgear_sercomm_chj.dtsi b/target/linux/ramips/dts/mt7621_netgear_sercomm_chj.dtsi index a5559cb5fc..13ce338588 100644 --- a/target/linux/ramips/dts/mt7621_netgear_sercomm_chj.dtsi +++ b/target/linux/ramips/dts/mt7621_netgear_sercomm_chj.dtsi @@ -270,7 +270,7 @@ read-only; }; - factory: partition@4600000 { + partition@4600000 { label = "factory"; reg = <0x4600000 0x200000>; sercomm,scpart-id = <16>; diff --git a/target/linux/ramips/dts/mt7621_netgear_wac104.dts b/target/linux/ramips/dts/mt7621_netgear_wac104.dts index 2ad3402246..9c706530d4 100644 --- a/target/linux/ramips/dts/mt7621_netgear_wac104.dts +++ b/target/linux/ramips/dts/mt7621_netgear_wac104.dts @@ -98,7 +98,7 @@ reg = <0x600000 0x1c00000>; }; - factory: partition@2e00000 { + partition@2e00000 { label = "factory"; reg = <0x2e00000 0x100000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_netgear_wax202.dts b/target/linux/ramips/dts/mt7621_netgear_wax202.dts index 31614d53d4..bf580de6b8 100644 --- a/target/linux/ramips/dts/mt7621_netgear_wax202.dts +++ b/target/linux/ramips/dts/mt7621_netgear_wax202.dts @@ -115,7 +115,7 @@ read-only; }; - factory: partition@100000 { + partition@100000 { label = "Factory"; reg = <0x100000 0x80000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_netgear_wndr3700-v5.dts b/target/linux/ramips/dts/mt7621_netgear_wndr3700-v5.dts index 8252d2b9ff..fb94d07eea 100644 --- a/target/linux/ramips/dts/mt7621_netgear_wndr3700-v5.dts +++ b/target/linux/ramips/dts/mt7621_netgear_wndr3700-v5.dts @@ -36,7 +36,7 @@ read-only; }; - factory: partition@f30000 { + partition@f30000 { label = "factory"; reg = <0xf30000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_netis_wf2881.dts b/target/linux/ramips/dts/mt7621_netis_wf2881.dts index a13eb0f222..58d2c70655 100644 --- a/target/linux/ramips/dts/mt7621_netis_wf2881.dts +++ b/target/linux/ramips/dts/mt7621_netis_wf2881.dts @@ -65,7 +65,7 @@ read-only; }; - factory: partition@100000 { + partition@100000 { label = "factory"; reg = <0x100000 0x40000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_oraybox_x3a.dts b/target/linux/ramips/dts/mt7621_oraybox_x3a.dts index 718cfeae05..7b33efd6e6 100644 --- a/target/linux/ramips/dts/mt7621_oraybox_x3a.dts +++ b/target/linux/ramips/dts/mt7621_oraybox_x3a.dts @@ -80,7 +80,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_phicomm_k2p.dts b/target/linux/ramips/dts/mt7621_phicomm_k2p.dts index 9da689c5eb..6a733698d2 100644 --- a/target/linux/ramips/dts/mt7621_phicomm_k2p.dts +++ b/target/linux/ramips/dts/mt7621_phicomm_k2p.dts @@ -73,7 +73,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_planex_vr500.dts b/target/linux/ramips/dts/mt7621_planex_vr500.dts index bd1e47b103..4d281670ef 100644 --- a/target/linux/ramips/dts/mt7621_planex_vr500.dts +++ b/target/linux/ramips/dts/mt7621_planex_vr500.dts @@ -61,7 +61,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_raisecom_msg1500-x-00.dts b/target/linux/ramips/dts/mt7621_raisecom_msg1500-x-00.dts index dbdce76ee0..98a2ffad5f 100644 --- a/target/linux/ramips/dts/mt7621_raisecom_msg1500-x-00.dts +++ b/target/linux/ramips/dts/mt7621_raisecom_msg1500-x-00.dts @@ -102,7 +102,7 @@ }; }; - factory: partition@100000 { + partition@100000 { label = "Factory"; reg = <0x100000 0x40000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_renkforce_ws-wn530hp3-a.dts b/target/linux/ramips/dts/mt7621_renkforce_ws-wn530hp3-a.dts index 8a32a86e7b..b3aaffeafe 100644 --- a/target/linux/ramips/dts/mt7621_renkforce_ws-wn530hp3-a.dts +++ b/target/linux/ramips/dts/mt7621_renkforce_ws-wn530hp3-a.dts @@ -67,7 +67,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_samknows_whitebox-v8.dts b/target/linux/ramips/dts/mt7621_samknows_whitebox-v8.dts index 6b5436899a..5afed4c695 100644 --- a/target/linux/ramips/dts/mt7621_samknows_whitebox-v8.dts +++ b/target/linux/ramips/dts/mt7621_samknows_whitebox-v8.dts @@ -74,7 +74,7 @@ reg = <0x30000 0x10000>; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_sercomm_dxx_nand_256m.dtsi b/target/linux/ramips/dts/mt7621_sercomm_dxx_nand_256m.dtsi index 0416a5f980..fd952cbc93 100644 --- a/target/linux/ramips/dts/mt7621_sercomm_dxx_nand_256m.dtsi +++ b/target/linux/ramips/dts/mt7621_sercomm_dxx_nand_256m.dtsi @@ -94,7 +94,7 @@ read-only; }; - factory: partition@200000 { + partition@200000 { label = "Factory"; reg = <0x200000 0x100000>; sercomm,scpart-id = <2>; diff --git a/target/linux/ramips/dts/mt7621_sercomm_na502.dts b/target/linux/ramips/dts/mt7621_sercomm_na502.dts index e189b19522..049dd35fa7 100644 --- a/target/linux/ramips/dts/mt7621_sercomm_na502.dts +++ b/target/linux/ramips/dts/mt7621_sercomm_na502.dts @@ -127,7 +127,7 @@ read-only; }; - factory: partition@100000 { + partition@100000 { label = "factory"; reg = <0x100000 0x40000>; diff --git a/target/linux/ramips/dts/mt7621_sercomm_na502s.dts b/target/linux/ramips/dts/mt7621_sercomm_na502s.dts index 275bb2b67f..e794ef8875 100644 --- a/target/linux/ramips/dts/mt7621_sercomm_na502s.dts +++ b/target/linux/ramips/dts/mt7621_sercomm_na502s.dts @@ -231,7 +231,7 @@ read-only; }; - factory: partition@100000 { + partition@100000 { label = "factory"; reg = <0x100000 0x40000>; diff --git a/target/linux/ramips/dts/mt7621_sercomm_s1500.dtsi b/target/linux/ramips/dts/mt7621_sercomm_s1500.dtsi index d03e0da548..e5a073f314 100644 --- a/target/linux/ramips/dts/mt7621_sercomm_s1500.dtsi +++ b/target/linux/ramips/dts/mt7621_sercomm_s1500.dtsi @@ -159,7 +159,7 @@ read-only; }; - factory: partition@100000 { + partition@100000 { label = "Factory"; reg = <0x100000 0x100000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_snr_snr-cpe-me1.dts b/target/linux/ramips/dts/mt7621_snr_snr-cpe-me1.dts index 7383ba1e20..6ea2c199e3 100644 --- a/target/linux/ramips/dts/mt7621_snr_snr-cpe-me1.dts +++ b/target/linux/ramips/dts/mt7621_snr_snr-cpe-me1.dts @@ -145,7 +145,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "Factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_snr_snr-cpe-me2-lite.dts b/target/linux/ramips/dts/mt7621_snr_snr-cpe-me2-lite.dts index 5cdf05fae6..3b474819e1 100644 --- a/target/linux/ramips/dts/mt7621_snr_snr-cpe-me2-lite.dts +++ b/target/linux/ramips/dts/mt7621_snr_snr-cpe-me2-lite.dts @@ -71,7 +71,7 @@ reg = <0x30000 0x10000>; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_snr_snr-cpe-me2-sfp.dts b/target/linux/ramips/dts/mt7621_snr_snr-cpe-me2-sfp.dts index 7728ded22b..6249eb6520 100644 --- a/target/linux/ramips/dts/mt7621_snr_snr-cpe-me2-sfp.dts +++ b/target/linux/ramips/dts/mt7621_snr_snr-cpe-me2-sfp.dts @@ -109,7 +109,7 @@ reg = <0x30000 0x10000>; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_storylink_sap-g3200u3.dts b/target/linux/ramips/dts/mt7621_storylink_sap-g3200u3.dts index 272d62dc24..7b89ee6727 100644 --- a/target/linux/ramips/dts/mt7621_storylink_sap-g3200u3.dts +++ b/target/linux/ramips/dts/mt7621_storylink_sap-g3200u3.dts @@ -68,7 +68,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_telco-electronics_x1.dts b/target/linux/ramips/dts/mt7621_telco-electronics_x1.dts index 4d8fa7f320..2ec5992de1 100644 --- a/target/linux/ramips/dts/mt7621_telco-electronics_x1.dts +++ b/target/linux/ramips/dts/mt7621_telco-electronics_x1.dts @@ -105,7 +105,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; @@ -131,7 +131,7 @@ }; }; - firmware: partition@50000 { + partition@50000 { compatible = "denx,uimage"; label = "firmware"; reg = <0x50000 0xfb0000>; diff --git a/target/linux/ramips/dts/mt7621_tenbay_t-mb5eu-v01.dts b/target/linux/ramips/dts/mt7621_tenbay_t-mb5eu-v01.dts index 7b1e5d863b..d1310ad954 100644 --- a/target/linux/ramips/dts/mt7621_tenbay_t-mb5eu-v01.dts +++ b/target/linux/ramips/dts/mt7621_tenbay_t-mb5eu-v01.dts @@ -193,7 +193,7 @@ read-only; }; - factory: partition@50000 { + partition@50000 { label = "factory"; reg = <0x50000 0x40000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_thunder_timecloud.dts b/target/linux/ramips/dts/mt7621_thunder_timecloud.dts index 19ae8bb8b6..82efb0352e 100644 --- a/target/linux/ramips/dts/mt7621_thunder_timecloud.dts +++ b/target/linux/ramips/dts/mt7621_thunder_timecloud.dts @@ -81,7 +81,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_totolink_a7000r.dts b/target/linux/ramips/dts/mt7621_totolink_a7000r.dts index dd6cc5d844..8c0062973d 100644 --- a/target/linux/ramips/dts/mt7621_totolink_a7000r.dts +++ b/target/linux/ramips/dts/mt7621_totolink_a7000r.dts @@ -62,7 +62,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_totolink_x5000r.dts b/target/linux/ramips/dts/mt7621_totolink_x5000r.dts index d2c242be6f..24606904e1 100644 --- a/target/linux/ramips/dts/mt7621_totolink_x5000r.dts +++ b/target/linux/ramips/dts/mt7621_totolink_x5000r.dts @@ -69,7 +69,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_tozed_zlt-s12-pro.dts b/target/linux/ramips/dts/mt7621_tozed_zlt-s12-pro.dts index 00f47bd9c0..0c3079f097 100644 --- a/target/linux/ramips/dts/mt7621_tozed_zlt-s12-pro.dts +++ b/target/linux/ramips/dts/mt7621_tozed_zlt-s12-pro.dts @@ -161,7 +161,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_tplink_archer-ax23-v1.dts b/target/linux/ramips/dts/mt7621_tplink_archer-ax23-v1.dts index eaf38f7b75..71ef4bc6b6 100644 --- a/target/linux/ramips/dts/mt7621_tplink_archer-ax23-v1.dts +++ b/target/linux/ramips/dts/mt7621_tplink_archer-ax23-v1.dts @@ -110,7 +110,7 @@ reg = <0x040000 0xf60000>; }; - config: partition@fa0000 { + partition@fa0000 { label = "config"; reg = <0xfa0000 0x010000>; read-only; @@ -134,7 +134,7 @@ read-only; }; - radio: partition@ff0000 { + partition@ff0000 { label = "radio"; reg = <0xff0000 0x010000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_tplink_archer-c6u-v1.dts b/target/linux/ramips/dts/mt7621_tplink_archer-c6u-v1.dts index 7320a706b1..e9879128a3 100644 --- a/target/linux/ramips/dts/mt7621_tplink_archer-c6u-v1.dts +++ b/target/linux/ramips/dts/mt7621_tplink_archer-c6u-v1.dts @@ -121,7 +121,7 @@ reg = <0x040000 0xf60000>; }; - config: partition@fa0000 { + partition@fa0000 { label = "config"; reg = <0xfa0000 0x010000>; read-only; @@ -145,7 +145,7 @@ read-only; }; - radio: partition@ff0000 { + partition@ff0000 { label = "radio"; reg = <0xff0000 0x010000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_tplink_archer-x6-v3.dtsi b/target/linux/ramips/dts/mt7621_tplink_archer-x6-v3.dtsi index 3f792ec2a5..8386497541 100644 --- a/target/linux/ramips/dts/mt7621_tplink_archer-x6-v3.dtsi +++ b/target/linux/ramips/dts/mt7621_tplink_archer-x6-v3.dtsi @@ -107,7 +107,7 @@ reg = <0x40000 0xf60000>; }; - config: partition@fa0000 { + partition@fa0000 { label = "config"; reg = <0xfa0000 0x50000>; read-only; @@ -125,7 +125,7 @@ }; }; - radio: partition@ff0000 { + partition@ff0000 { label = "radio"; reg = <0xff0000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_tplink_deco-m4r-v4.dts b/target/linux/ramips/dts/mt7621_tplink_deco-m4r-v4.dts index 13ff83ee94..9f30f93550 100644 --- a/target/linux/ramips/dts/mt7621_tplink_deco-m4r-v4.dts +++ b/target/linux/ramips/dts/mt7621_tplink_deco-m4r-v4.dts @@ -128,7 +128,7 @@ reg = <0x40000 0xf60000>; }; - config: partition@fa0000 { + partition@fa0000 { label = "config"; reg = <0xfa0000 0x010000>; read-only; @@ -150,7 +150,7 @@ read-only; }; - radio: partition@ff0000 { + partition@ff0000 { label = "radio"; reg = <0xff0000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_tplink_eap235-wall-v1.dts b/target/linux/ramips/dts/mt7621_tplink_eap235-wall-v1.dts index 4528cfe1be..d814cba261 100644 --- a/target/linux/ramips/dts/mt7621_tplink_eap235-wall-v1.dts +++ b/target/linux/ramips/dts/mt7621_tplink_eap235-wall-v1.dts @@ -80,7 +80,7 @@ read-only; }; - info: partition@90000 { + partition@90000 { label = "product-info"; reg = <0x90000 0x10000>; read-only; @@ -124,7 +124,7 @@ read-only; }; - radio: partition@ff0000 { + partition@ff0000 { label = "radio"; reg = <0xff0000 0x010000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_tplink_eap613-v1.dts b/target/linux/ramips/dts/mt7621_tplink_eap613-v1.dts index ab8a3227bb..e14873f61a 100644 --- a/target/linux/ramips/dts/mt7621_tplink_eap613-v1.dts +++ b/target/linux/ramips/dts/mt7621_tplink_eap613-v1.dts @@ -108,7 +108,7 @@ read-only; }; - radio: partition@ff0000 { + partition@ff0000 { label = "radio"; reg = <0xff0000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_tplink_eap615-wall-v1.dts b/target/linux/ramips/dts/mt7621_tplink_eap615-wall-v1.dts index 8109ec86b5..2aea6bbbc0 100644 --- a/target/linux/ramips/dts/mt7621_tplink_eap615-wall-v1.dts +++ b/target/linux/ramips/dts/mt7621_tplink_eap615-wall-v1.dts @@ -88,7 +88,7 @@ read-only; }; - info: partition@90000 { + partition@90000 { label = "product-info"; reg = <0x90000 0x10000>; read-only; @@ -128,7 +128,7 @@ read-only; }; - radio: partition@ff0000 { + partition@ff0000 { label = "radio"; reg = <0xff0000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_tplink_ec330-g5u-v1.dts b/target/linux/ramips/dts/mt7621_tplink_ec330-g5u-v1.dts index a1b458edd5..6203308515 100644 --- a/target/linux/ramips/dts/mt7621_tplink_ec330-g5u-v1.dts +++ b/target/linux/ramips/dts/mt7621_tplink_ec330-g5u-v1.dts @@ -211,7 +211,7 @@ reg = <0x7400000 0x400000>; }; - factory: partition@7800000 { + partition@7800000 { label = "factory"; reg = <0x7800000 0x400000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_tplink_er605-v2.dts b/target/linux/ramips/dts/mt7621_tplink_er605-v2.dts index ce2fcce75e..33070ef6ca 100644 --- a/target/linux/ramips/dts/mt7621_tplink_er605-v2.dts +++ b/target/linux/ramips/dts/mt7621_tplink_er605-v2.dts @@ -137,7 +137,7 @@ read-only; }; - factory: partition@100000 { + partition@100000 { label = "factory"; reg = <0x100000 0x40000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_tplink_ex220-v1.dts b/target/linux/ramips/dts/mt7621_tplink_ex220-v1.dts index 2266b850ed..c501727ca8 100644 --- a/target/linux/ramips/dts/mt7621_tplink_ex220-v1.dts +++ b/target/linux/ramips/dts/mt7621_tplink_ex220-v1.dts @@ -156,7 +156,7 @@ read-only; }; - radio: partition@90000 { + partition@90000 { label = "radio"; reg = <0x90000 0x20000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_tplink_mr600-v2-eu.dts b/target/linux/ramips/dts/mt7621_tplink_mr600-v2-eu.dts index f2e18ee8d1..db460b43b2 100644 --- a/target/linux/ramips/dts/mt7621_tplink_mr600-v2-eu.dts +++ b/target/linux/ramips/dts/mt7621_tplink_mr600-v2-eu.dts @@ -112,7 +112,7 @@ reg = <0x20000 0xfa0000>; }; - romfile: partition@fc0000 { + partition@fc0000 { label = "romfile"; reg = <0xfc0000 0x10000>; read-only; @@ -136,7 +136,7 @@ read-only; }; - radio: partition@fe0000 { + partition@fe0000 { label = "radio"; reg = <0xfe0000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_tplink_re350-v1.dts b/target/linux/ramips/dts/mt7621_tplink_re350-v1.dts index 7f4ae256bf..6437cba7b1 100644 --- a/target/linux/ramips/dts/mt7621_tplink_re350-v1.dts +++ b/target/linux/ramips/dts/mt7621_tplink_re350-v1.dts @@ -111,7 +111,7 @@ reg = <0x20000 0x5e0000>; }; - config: partition@600000 { + partition@600000 { label = "config"; reg = <0x600000 0x50000>; read-only; @@ -129,7 +129,7 @@ }; }; - radio: partition@7f0000 { + partition@7f0000 { label = "radio"; reg = <0x7f0000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_tplink_re650-v2.dts b/target/linux/ramips/dts/mt7621_tplink_re650-v2.dts index 9621693319..ef066f5a94 100644 --- a/target/linux/ramips/dts/mt7621_tplink_re650-v2.dts +++ b/target/linux/ramips/dts/mt7621_tplink_re650-v2.dts @@ -120,7 +120,7 @@ reg = <0x20000 0x7a0000>; }; - config: partition@7c0000 { + partition@7c0000 { label = "config"; reg = <0x7c0000 0x2d440>; read-only; @@ -138,7 +138,7 @@ }; }; - radio: partition@7f0000 { + partition@7f0000 { label = "radio"; reg = <0x7f0000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_tplink_rexx0-v1.dtsi b/target/linux/ramips/dts/mt7621_tplink_rexx0-v1.dtsi index c688e5d156..e915e37eea 100644 --- a/target/linux/ramips/dts/mt7621_tplink_rexx0-v1.dtsi +++ b/target/linux/ramips/dts/mt7621_tplink_rexx0-v1.dtsi @@ -117,7 +117,7 @@ reg = <0x20000 0xde0000>; }; - config: partition@e00000 { + partition@e00000 { label = "config"; reg = <0xe00000 0x50000>; read-only; @@ -139,7 +139,7 @@ * firmware, so we do not use it either */ - radio: partition@ff0000 { + partition@ff0000 { label = "radio"; reg = <0xff0000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_tplink_tl-wpa8631p-v3.dts b/target/linux/ramips/dts/mt7621_tplink_tl-wpa8631p-v3.dts index 0221278d8f..54f3b88e57 100644 --- a/target/linux/ramips/dts/mt7621_tplink_tl-wpa8631p-v3.dts +++ b/target/linux/ramips/dts/mt7621_tplink_tl-wpa8631p-v3.dts @@ -114,7 +114,7 @@ reg = <0x20000 0x710000>; }; - config: partition@730000 { + partition@730000 { label = "config"; reg = <0x730000 0xc0000>; read-only; @@ -132,7 +132,7 @@ }; }; - radio: partition@7f0000 { + partition@7f0000 { label = "radio"; reg = <0x7f0000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_ubnt_edgerouter-x.dtsi b/target/linux/ramips/dts/mt7621_ubnt_edgerouter-x.dtsi index b2b78aba63..0902ad56b9 100644 --- a/target/linux/ramips/dts/mt7621_ubnt_edgerouter-x.dtsi +++ b/target/linux/ramips/dts/mt7621_ubnt_edgerouter-x.dtsi @@ -82,7 +82,7 @@ read-only; }; - factory: partition@e0000 { + partition@e0000 { label = "factory"; reg = <0xe0000 0x60000>; diff --git a/target/linux/ramips/dts/mt7621_ubnt_unifi-6-lite.dts b/target/linux/ramips/dts/mt7621_ubnt_unifi-6-lite.dts index d439e124e3..9149904809 100644 --- a/target/linux/ramips/dts/mt7621_ubnt_unifi-6-lite.dts +++ b/target/linux/ramips/dts/mt7621_ubnt_unifi-6-lite.dts @@ -36,7 +36,7 @@ read-only; }; - factory: partition@70000 { + partition@70000 { label = "factory"; reg = <0x70000 0x40000>; read-only; @@ -60,7 +60,7 @@ }; }; - eeprom: partition@b0000 { + partition@b0000 { label = "eeprom"; reg = <0xb0000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_ubnt_unifi-flexhd.dts b/target/linux/ramips/dts/mt7621_ubnt_unifi-flexhd.dts index d458b91ca6..2451545a5e 100644 --- a/target/linux/ramips/dts/mt7621_ubnt_unifi-flexhd.dts +++ b/target/linux/ramips/dts/mt7621_ubnt_unifi-flexhd.dts @@ -57,7 +57,7 @@ read-only; }; - factory: partition@70000 { + partition@70000 { label = "factory"; reg = <0x70000 0x10000>; read-only; @@ -77,7 +77,7 @@ }; }; - eeprom: partition@80000 { + partition@80000 { label = "eeprom"; reg = <0x80000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_ubnt_unifi-nanohd.dts b/target/linux/ramips/dts/mt7621_ubnt_unifi-nanohd.dts index d81a23852d..5b25c79841 100644 --- a/target/linux/ramips/dts/mt7621_ubnt_unifi-nanohd.dts +++ b/target/linux/ramips/dts/mt7621_ubnt_unifi-nanohd.dts @@ -32,7 +32,7 @@ read-only; }; - factory: partition@70000 { + partition@70000 { label = "factory"; reg = <0x70000 0x10000>; read-only; @@ -52,7 +52,7 @@ }; }; - eeprom: partition@80000 { + partition@80000 { label = "eeprom"; reg = <0x80000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_ubnt_usw-flex.dts b/target/linux/ramips/dts/mt7621_ubnt_usw-flex.dts index 7568daf666..0d6d500222 100644 --- a/target/linux/ramips/dts/mt7621_ubnt_usw-flex.dts +++ b/target/linux/ramips/dts/mt7621_ubnt_usw-flex.dts @@ -140,7 +140,7 @@ read-only; }; - part_eeprom: partition@80000 { + partition@80000 { label = "eeprom"; reg = <0x80000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_unielec_u7621-01-16m.dts b/target/linux/ramips/dts/mt7621_unielec_u7621-01-16m.dts index d6189f3d58..1ba361c3db 100644 --- a/target/linux/ramips/dts/mt7621_unielec_u7621-01-16m.dts +++ b/target/linux/ramips/dts/mt7621_unielec_u7621-01-16m.dts @@ -32,7 +32,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_unielec_u7621-06-16m.dts b/target/linux/ramips/dts/mt7621_unielec_u7621-06-16m.dts index c51b6eebee..73a505a191 100644 --- a/target/linux/ramips/dts/mt7621_unielec_u7621-06-16m.dts +++ b/target/linux/ramips/dts/mt7621_unielec_u7621-06-16m.dts @@ -37,7 +37,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; @@ -57,7 +57,7 @@ }; }; - firmware: partition@50000 { + partition@50000 { compatible = "denx,uimage"; label = "firmware"; reg = <0x50000 0xfb0000>; diff --git a/target/linux/ramips/dts/mt7621_unielec_u7621-06-32m.dts b/target/linux/ramips/dts/mt7621_unielec_u7621-06-32m.dts index 4d34a787b6..0fb38984b7 100644 --- a/target/linux/ramips/dts/mt7621_unielec_u7621-06-32m.dts +++ b/target/linux/ramips/dts/mt7621_unielec_u7621-06-32m.dts @@ -38,7 +38,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; @@ -58,7 +58,7 @@ }; }; - firmware: partition@50000 { + partition@50000 { compatible = "denx,uimage"; label = "firmware"; reg = <0x50000 0x1fb0000>; diff --git a/target/linux/ramips/dts/mt7621_unielec_u7621-06-64m.dts b/target/linux/ramips/dts/mt7621_unielec_u7621-06-64m.dts index edc3a7723a..0cccc5b6de 100644 --- a/target/linux/ramips/dts/mt7621_unielec_u7621-06-64m.dts +++ b/target/linux/ramips/dts/mt7621_unielec_u7621-06-64m.dts @@ -38,7 +38,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; @@ -58,7 +58,7 @@ }; }; - firmware: partition@50000 { + partition@50000 { compatible = "denx,uimage"; label = "firmware"; reg = <0x50000 0x3fb0000>; diff --git a/target/linux/ramips/dts/mt7621_wavlink_wl-wn53xax.dtsi b/target/linux/ramips/dts/mt7621_wavlink_wl-wn53xax.dtsi index b33a288620..d082a15f06 100644 --- a/target/linux/ramips/dts/mt7621_wavlink_wl-wn53xax.dtsi +++ b/target/linux/ramips/dts/mt7621_wavlink_wl-wn53xax.dtsi @@ -94,7 +94,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_wavlink_wl-wn573hx1.dts b/target/linux/ramips/dts/mt7621_wavlink_wl-wn573hx1.dts index ec94e30a8c..05d8e4a5ae 100644 --- a/target/linux/ramips/dts/mt7621_wavlink_wl-wn573hx1.dts +++ b/target/linux/ramips/dts/mt7621_wavlink_wl-wn573hx1.dts @@ -87,7 +87,7 @@ reg = <0x30000 0x10000>; }; - factory: partition@50000 { + partition@50000 { label = "factory"; reg = <0x50000 0x40000>; diff --git a/target/linux/ramips/dts/mt7621_wavlink_ws-wn572hp3-4g.dts b/target/linux/ramips/dts/mt7621_wavlink_ws-wn572hp3-4g.dts index c673eb8497..f9e37bee6e 100644 --- a/target/linux/ramips/dts/mt7621_wavlink_ws-wn572hp3-4g.dts +++ b/target/linux/ramips/dts/mt7621_wavlink_ws-wn572hp3-4g.dts @@ -85,7 +85,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_wevo_w2914ns-v2.dtsi b/target/linux/ramips/dts/mt7621_wevo_w2914ns-v2.dtsi index 37319b763d..3264a8673c 100644 --- a/target/linux/ramips/dts/mt7621_wevo_w2914ns-v2.dtsi +++ b/target/linux/ramips/dts/mt7621_wevo_w2914ns-v2.dtsi @@ -64,7 +64,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_winstars_ws-wn583a6.dts b/target/linux/ramips/dts/mt7621_winstars_ws-wn583a6.dts index 18e5b7361d..7090869c4e 100644 --- a/target/linux/ramips/dts/mt7621_winstars_ws-wn583a6.dts +++ b/target/linux/ramips/dts/mt7621_winstars_ws-wn583a6.dts @@ -87,7 +87,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_xiaomi_mi-router-3-pro.dts b/target/linux/ramips/dts/mt7621_xiaomi_mi-router-3-pro.dts index c655150aae..f0c7646b26 100644 --- a/target/linux/ramips/dts/mt7621_xiaomi_mi-router-3-pro.dts +++ b/target/linux/ramips/dts/mt7621_xiaomi_mi-router-3-pro.dts @@ -124,7 +124,7 @@ read-only; }; - factory: partition@c0000 { + partition@c0000 { label = "factory"; reg = <0x0c0000 0x40000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_xiaomi_mi-router-4a-common.dtsi b/target/linux/ramips/dts/mt7621_xiaomi_mi-router-4a-common.dtsi index 7b8c4e8dfd..783189dfae 100644 --- a/target/linux/ramips/dts/mt7621_xiaomi_mi-router-4a-common.dtsi +++ b/target/linux/ramips/dts/mt7621_xiaomi_mi-router-4a-common.dtsi @@ -60,7 +60,7 @@ read-only; }; - factory: partition@50000 { + partition@50000 { label = "factory"; reg = <0x50000 0x10000>; read-only; @@ -106,7 +106,7 @@ read-only; }; - firmware: partition@180000 { + partition@180000 { compatible = "denx,uimage"; label = "firmware"; reg = <0x180000 0xe80000>; diff --git a/target/linux/ramips/dts/mt7621_xiaomi_mi-router-cr660x.dtsi b/target/linux/ramips/dts/mt7621_xiaomi_mi-router-cr660x.dtsi index d1a2c08c6d..ef637278af 100644 --- a/target/linux/ramips/dts/mt7621_xiaomi_mi-router-cr660x.dtsi +++ b/target/linux/ramips/dts/mt7621_xiaomi_mi-router-cr660x.dtsi @@ -85,7 +85,7 @@ read-only; }; - factory: partition@100000 { + partition@100000 { label = "Factory"; reg = <0x100000 0x80000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_xiaomi_nand_128m.dtsi b/target/linux/ramips/dts/mt7621_xiaomi_nand_128m.dtsi index 3a877e9bec..cd39968b9c 100644 --- a/target/linux/ramips/dts/mt7621_xiaomi_nand_128m.dtsi +++ b/target/linux/ramips/dts/mt7621_xiaomi_nand_128m.dtsi @@ -46,7 +46,7 @@ read-only; }; - factory: partition@100000 { + partition@100000 { label = "factory"; reg = <0x100000 0x40000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_xiaoyu_xy-c5.dts b/target/linux/ramips/dts/mt7621_xiaoyu_xy-c5.dts index 7bb90e542e..f1227552e8 100644 --- a/target/linux/ramips/dts/mt7621_xiaoyu_xy-c5.dts +++ b/target/linux/ramips/dts/mt7621_xiaoyu_xy-c5.dts @@ -66,7 +66,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_xzwifi_creativebox-v1.dts b/target/linux/ramips/dts/mt7621_xzwifi_creativebox-v1.dts index 989dc0913e..6bf806722a 100644 --- a/target/linux/ramips/dts/mt7621_xzwifi_creativebox-v1.dts +++ b/target/linux/ramips/dts/mt7621_xzwifi_creativebox-v1.dts @@ -114,7 +114,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_youhua_wr1200js.dts b/target/linux/ramips/dts/mt7621_youhua_wr1200js.dts index 9ad24ef66e..c47e34a5d6 100644 --- a/target/linux/ramips/dts/mt7621_youhua_wr1200js.dts +++ b/target/linux/ramips/dts/mt7621_youhua_wr1200js.dts @@ -88,7 +88,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_youku_yk-l2.dts b/target/linux/ramips/dts/mt7621_youku_yk-l2.dts index c96495da27..9f4e8cf1ce 100644 --- a/target/linux/ramips/dts/mt7621_youku_yk-l2.dts +++ b/target/linux/ramips/dts/mt7621_youku_yk-l2.dts @@ -92,7 +92,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_yuncore_ax820.dts b/target/linux/ramips/dts/mt7621_yuncore_ax820.dts index bca9498be8..0cdad1bfe5 100644 --- a/target/linux/ramips/dts/mt7621_yuncore_ax820.dts +++ b/target/linux/ramips/dts/mt7621_yuncore_ax820.dts @@ -111,7 +111,7 @@ * firmware, so we do not use it either */ - factory: partition@50000 { + partition@50000 { label = "Factory"; reg = <0x50000 0x40000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_yuncore_fap640.dts b/target/linux/ramips/dts/mt7621_yuncore_fap640.dts index 8bd795e884..2cc3435a89 100644 --- a/target/linux/ramips/dts/mt7621_yuncore_fap640.dts +++ b/target/linux/ramips/dts/mt7621_yuncore_fap640.dts @@ -124,7 +124,7 @@ * firmware, so we do not use it either */ - factory: partition@50000 { + partition@50000 { label = "Factory"; reg = <0x50000 0x40000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_yuncore_fap690.dts b/target/linux/ramips/dts/mt7621_yuncore_fap690.dts index e99753209b..9f7ca43092 100644 --- a/target/linux/ramips/dts/mt7621_yuncore_fap690.dts +++ b/target/linux/ramips/dts/mt7621_yuncore_fap690.dts @@ -93,7 +93,7 @@ * firmware, so we do not use it either */ - factory: partition@50000 { + partition@50000 { label = "Factory"; reg = <0x50000 0x40000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_zbtlink_zbt-we1326.dts b/target/linux/ramips/dts/mt7621_zbtlink_zbt-we1326.dts index 2c78dea114..e15c676c8a 100644 --- a/target/linux/ramips/dts/mt7621_zbtlink_zbt-we1326.dts +++ b/target/linux/ramips/dts/mt7621_zbtlink_zbt-we1326.dts @@ -58,7 +58,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_zbtlink_zbt-we3526.dts b/target/linux/ramips/dts/mt7621_zbtlink_zbt-we3526.dts index 571b50d3c7..dfa49a2bc5 100644 --- a/target/linux/ramips/dts/mt7621_zbtlink_zbt-we3526.dts +++ b/target/linux/ramips/dts/mt7621_zbtlink_zbt-we3526.dts @@ -55,7 +55,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; @@ -83,7 +83,7 @@ }; }; - firmware: partition@50000 { + partition@50000 { compatible = "denx,uimage"; label = "firmware"; reg = <0x50000 0xfb0000>; diff --git a/target/linux/ramips/dts/mt7621_zbtlink_zbt-wg1602-v04.dtsi b/target/linux/ramips/dts/mt7621_zbtlink_zbt-wg1602-v04.dtsi index 1a3387326a..bbf121036c 100644 --- a/target/linux/ramips/dts/mt7621_zbtlink_zbt-wg1602-v04.dtsi +++ b/target/linux/ramips/dts/mt7621_zbtlink_zbt-wg1602-v04.dtsi @@ -110,7 +110,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_zbtlink_zbt-wg1602.dtsi b/target/linux/ramips/dts/mt7621_zbtlink_zbt-wg1602.dtsi index e92982a879..b0182ee896 100644 --- a/target/linux/ramips/dts/mt7621_zbtlink_zbt-wg1602.dtsi +++ b/target/linux/ramips/dts/mt7621_zbtlink_zbt-wg1602.dtsi @@ -109,7 +109,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_zbtlink_zbt-wg1608.dtsi b/target/linux/ramips/dts/mt7621_zbtlink_zbt-wg1608.dtsi index d1697060a8..321274bb15 100644 --- a/target/linux/ramips/dts/mt7621_zbtlink_zbt-wg1608.dtsi +++ b/target/linux/ramips/dts/mt7621_zbtlink_zbt-wg1608.dtsi @@ -83,7 +83,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_zbtlink_zbt-wg2626.dts b/target/linux/ramips/dts/mt7621_zbtlink_zbt-wg2626.dts index e00c2cb518..af91279cfa 100644 --- a/target/linux/ramips/dts/mt7621_zbtlink_zbt-wg2626.dts +++ b/target/linux/ramips/dts/mt7621_zbtlink_zbt-wg2626.dts @@ -73,7 +73,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_zbtlink_zbt-wg3526.dtsi b/target/linux/ramips/dts/mt7621_zbtlink_zbt-wg3526.dtsi index 6fb8d2a692..8b6739e801 100644 --- a/target/linux/ramips/dts/mt7621_zbtlink_zbt-wg3526.dtsi +++ b/target/linux/ramips/dts/mt7621_zbtlink_zbt-wg3526.dtsi @@ -73,7 +73,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_zyxel_lte3301-plus.dts b/target/linux/ramips/dts/mt7621_zyxel_lte3301-plus.dts index abbb61d534..edc861db61 100644 --- a/target/linux/ramips/dts/mt7621_zyxel_lte3301-plus.dts +++ b/target/linux/ramips/dts/mt7621_zyxel_lte3301-plus.dts @@ -125,7 +125,7 @@ label = "uboot_env"; reg = <0x80000 0x80000>; /* 64 KB */ }; - factory: partition@100000 { + partition@100000 { label = "factory"; reg = <0x100000 0x40000>; diff --git a/target/linux/ramips/dts/mt7621_zyxel_lte5398-m904.dts b/target/linux/ramips/dts/mt7621_zyxel_lte5398-m904.dts index e4795352cc..ca8adfe10e 100644 --- a/target/linux/ramips/dts/mt7621_zyxel_lte5398-m904.dts +++ b/target/linux/ramips/dts/mt7621_zyxel_lte5398-m904.dts @@ -120,7 +120,7 @@ reg = <0x80000 0x80000>; }; - factory: partition@100000 { + partition@100000 { label = "Factory"; reg = <0x100000 0x40000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_zyxel_nr7101.dts b/target/linux/ramips/dts/mt7621_zyxel_nr7101.dts index 2ceb6228b2..756d4bd6e6 100644 --- a/target/linux/ramips/dts/mt7621_zyxel_nr7101.dts +++ b/target/linux/ramips/dts/mt7621_zyxel_nr7101.dts @@ -88,7 +88,7 @@ reg = <0x80000 0x80000>; }; - factory: partition@100000 { + partition@100000 { label = "Factory"; reg = <0x100000 0x40000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_zyxel_nwa-ax.dtsi b/target/linux/ramips/dts/mt7621_zyxel_nwa-ax.dtsi index 6272b178ec..499d166890 100644 --- a/target/linux/ramips/dts/mt7621_zyxel_nwa-ax.dtsi +++ b/target/linux/ramips/dts/mt7621_zyxel_nwa-ax.dtsi @@ -36,7 +36,7 @@ read-only; }; - factory: partition@100000 { + partition@100000 { label = "factory"; reg = <0x100000 0x80000>; read-only; @@ -106,7 +106,7 @@ reg = <0x7700000 0x80000>; }; - mrd: partition@7780000 { + partition@7780000 { label = "mrd"; reg = <0x7780000 0x80000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_zyxel_wap6805.dts b/target/linux/ramips/dts/mt7621_zyxel_wap6805.dts index 907e90b77b..eabfcc2ef0 100644 --- a/target/linux/ramips/dts/mt7621_zyxel_wap6805.dts +++ b/target/linux/ramips/dts/mt7621_zyxel_wap6805.dts @@ -76,7 +76,7 @@ read-only; }; - factory: partition@200000 { + partition@200000 { label = "Factory"; reg = <0x200000 0x100000>; read-only; diff --git a/target/linux/ramips/dts/mt7621_zyxel_wsm20.dts b/target/linux/ramips/dts/mt7621_zyxel_wsm20.dts index a283b55c11..b82a8669b3 100644 --- a/target/linux/ramips/dts/mt7621_zyxel_wsm20.dts +++ b/target/linux/ramips/dts/mt7621_zyxel_wsm20.dts @@ -102,7 +102,7 @@ label = "Config"; }; - factory: partition@200000 { + partition@200000 { reg = <0x200000 0x1c0000>; label = "Factory"; read-only; diff --git a/target/linux/ramips/dts/mt7628an_alfa-network_awusfree1.dts b/target/linux/ramips/dts/mt7628an_alfa-network_awusfree1.dts index d4f8b26aea..70616a478b 100644 --- a/target/linux/ramips/dts/mt7628an_alfa-network_awusfree1.dts +++ b/target/linux/ramips/dts/mt7628an_alfa-network_awusfree1.dts @@ -115,7 +115,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7628an_asus_rt-ac1200.dtsi b/target/linux/ramips/dts/mt7628an_asus_rt-ac1200.dtsi index 7dce3513d1..e56648d4d1 100644 --- a/target/linux/ramips/dts/mt7628an_asus_rt-ac1200.dtsi +++ b/target/linux/ramips/dts/mt7628an_asus_rt-ac1200.dtsi @@ -57,7 +57,7 @@ spi-max-frequency = <58000000>; m25p,fast-read; - partitions: partitions { + partitions { compatible = "fixed-partitions"; #address-cells = <1>; #size-cells = <1>; @@ -74,7 +74,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7628an_asus_rt-n1x.dtsi b/target/linux/ramips/dts/mt7628an_asus_rt-n1x.dtsi index 29c3b08921..fc911eb997 100644 --- a/target/linux/ramips/dts/mt7628an_asus_rt-n1x.dtsi +++ b/target/linux/ramips/dts/mt7628an_asus_rt-n1x.dtsi @@ -79,7 +79,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7628an_buffalo_wcr-1166ds.dts b/target/linux/ramips/dts/mt7628an_buffalo_wcr-1166ds.dts index 02c48791b6..b6d2416f60 100644 --- a/target/linux/ramips/dts/mt7628an_buffalo_wcr-1166ds.dts +++ b/target/linux/ramips/dts/mt7628an_buffalo_wcr-1166ds.dts @@ -142,7 +142,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7628an_comfast_cf-wr617ac.dts b/target/linux/ramips/dts/mt7628an_comfast_cf-wr617ac.dts index 2a304e9c63..9757e1119b 100644 --- a/target/linux/ramips/dts/mt7628an_comfast_cf-wr617ac.dts +++ b/target/linux/ramips/dts/mt7628an_comfast_cf-wr617ac.dts @@ -72,7 +72,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7628an_comfast_cf-wr758ac.dtsi b/target/linux/ramips/dts/mt7628an_comfast_cf-wr758ac.dtsi index 9cab562bda..470c0d5cff 100644 --- a/target/linux/ramips/dts/mt7628an_comfast_cf-wr758ac.dtsi +++ b/target/linux/ramips/dts/mt7628an_comfast_cf-wr758ac.dtsi @@ -84,7 +84,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7628an_cudy_wr1000.dts b/target/linux/ramips/dts/mt7628an_cudy_wr1000.dts index df1b334721..f7746febb5 100644 --- a/target/linux/ramips/dts/mt7628an_cudy_wr1000.dts +++ b/target/linux/ramips/dts/mt7628an_cudy_wr1000.dts @@ -91,7 +91,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7628an_d-team_pbr-d1.dts b/target/linux/ramips/dts/mt7628an_d-team_pbr-d1.dts index 6545f89623..940104d47e 100644 --- a/target/linux/ramips/dts/mt7628an_d-team_pbr-d1.dts +++ b/target/linux/ramips/dts/mt7628an_d-team_pbr-d1.dts @@ -115,7 +115,7 @@ reg = <0x30000 0x10000>; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7628an_dlink_dap-1325-a1.dts b/target/linux/ramips/dts/mt7628an_dlink_dap-1325-a1.dts index 8ed409c19e..24e69a2b35 100644 --- a/target/linux/ramips/dts/mt7628an_dlink_dap-1325-a1.dts +++ b/target/linux/ramips/dts/mt7628an_dlink_dap-1325-a1.dts @@ -117,7 +117,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7628an_duzun_dm06.dts b/target/linux/ramips/dts/mt7628an_duzun_dm06.dts index e37b90d38e..59d411f88f 100644 --- a/target/linux/ramips/dts/mt7628an_duzun_dm06.dts +++ b/target/linux/ramips/dts/mt7628an_duzun_dm06.dts @@ -116,7 +116,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7628an_elecom_wrc-1167fs.dts b/target/linux/ramips/dts/mt7628an_elecom_wrc-1167fs.dts index 4b29ddd788..afe66daf9c 100644 --- a/target/linux/ramips/dts/mt7628an_elecom_wrc-1167fs.dts +++ b/target/linux/ramips/dts/mt7628an_elecom_wrc-1167fs.dts @@ -105,7 +105,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7628an_glinet_gl-mt300n-v2.dts b/target/linux/ramips/dts/mt7628an_glinet_gl-mt300n-v2.dts index 9540a1058d..7c480ade98 100644 --- a/target/linux/ramips/dts/mt7628an_glinet_gl-mt300n-v2.dts +++ b/target/linux/ramips/dts/mt7628an_glinet_gl-mt300n-v2.dts @@ -121,7 +121,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7628an_glinet_vixmini_microuter.dtsi b/target/linux/ramips/dts/mt7628an_glinet_vixmini_microuter.dtsi index 7ffdeb8327..94a1e15f24 100644 --- a/target/linux/ramips/dts/mt7628an_glinet_vixmini_microuter.dtsi +++ b/target/linux/ramips/dts/mt7628an_glinet_vixmini_microuter.dtsi @@ -75,7 +75,7 @@ reg = <0>; spi-max-frequency = <10000000>; - partitions: partitions { + partitions { compatible = "fixed-partitions"; #address-cells = <1>; #size-cells = <1>; @@ -92,7 +92,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7628an_hak5_wifi-pineapple-mk7.dts b/target/linux/ramips/dts/mt7628an_hak5_wifi-pineapple-mk7.dts index aebbc7fa88..51731c3c64 100644 --- a/target/linux/ramips/dts/mt7628an_hak5_wifi-pineapple-mk7.dts +++ b/target/linux/ramips/dts/mt7628an_hak5_wifi-pineapple-mk7.dts @@ -100,7 +100,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7628an_hilink_hlk-7628n.dts b/target/linux/ramips/dts/mt7628an_hilink_hlk-7628n.dts index 2cc3fee394..c84e820b80 100644 --- a/target/linux/ramips/dts/mt7628an_hilink_hlk-7628n.dts +++ b/target/linux/ramips/dts/mt7628an_hilink_hlk-7628n.dts @@ -68,7 +68,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7628an_hilink_hlk-7688a.dts b/target/linux/ramips/dts/mt7628an_hilink_hlk-7688a.dts index 4e8704b36b..f347ec94a6 100644 --- a/target/linux/ramips/dts/mt7628an_hilink_hlk-7688a.dts +++ b/target/linux/ramips/dts/mt7628an_hilink_hlk-7688a.dts @@ -82,7 +82,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7628an_hiwifi_hc5x61a.dtsi b/target/linux/ramips/dts/mt7628an_hiwifi_hc5x61a.dtsi index 034a6de6c2..42bb804c65 100644 --- a/target/linux/ramips/dts/mt7628an_hiwifi_hc5x61a.dtsi +++ b/target/linux/ramips/dts/mt7628an_hiwifi_hc5x61a.dtsi @@ -56,7 +56,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; @@ -96,7 +96,7 @@ read-only; }; - bdinfo: partition@fe0000 { + partition@fe0000 { label = "bdinfo"; reg = <0xfe0000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7628an_iptime.dtsi b/target/linux/ramips/dts/mt7628an_iptime.dtsi index 9c98c6f5ca..f190215a43 100644 --- a/target/linux/ramips/dts/mt7628an_iptime.dtsi +++ b/target/linux/ramips/dts/mt7628an_iptime.dtsi @@ -42,7 +42,7 @@ #address-cells = <1>; #size-cells = <1>; - uboot: partition@0 { + partition@0 { label = "u-boot"; reg = <0x0 0x20000>; read-only; @@ -64,7 +64,7 @@ read-only; }; - factory: partition@30000 { + partition@30000 { label = "factory"; reg = <0x30000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7628an_jotale_js76x8.dtsi b/target/linux/ramips/dts/mt7628an_jotale_js76x8.dtsi index 643f599246..96d36f66e0 100644 --- a/target/linux/ramips/dts/mt7628an_jotale_js76x8.dtsi +++ b/target/linux/ramips/dts/mt7628an_jotale_js76x8.dtsi @@ -80,7 +80,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7628an_keenetic_kn-1613.dts b/target/linux/ramips/dts/mt7628an_keenetic_kn-1613.dts index bd916aab41..4b124c9295 100644 --- a/target/linux/ramips/dts/mt7628an_keenetic_kn-1613.dts +++ b/target/linux/ramips/dts/mt7628an_keenetic_kn-1613.dts @@ -114,7 +114,7 @@ reg = <0>; spi-max-frequency = <32000000>; - partitions: partitions { + partitions { compatible = "fixed-partitions"; #address-cells = <1>; #size-cells = <1>; @@ -131,7 +131,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "rf-eeprom"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7628an_kroks.dtsi b/target/linux/ramips/dts/mt7628an_kroks.dtsi index bfe29398a9..db5ea4f32c 100644 --- a/target/linux/ramips/dts/mt7628an_kroks.dtsi +++ b/target/linux/ramips/dts/mt7628an_kroks.dtsi @@ -49,7 +49,7 @@ spi-max-frequency = <25000000>; m25p,fast-read; - partitions: partitions { + partitions { compatible = "fixed-partitions"; #address-cells = <1>; #size-cells = <1>; @@ -64,7 +64,7 @@ reg = <0x30000 0x10000>; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; diff --git a/target/linux/ramips/dts/mt7628an_linksys_e5400.dts b/target/linux/ramips/dts/mt7628an_linksys_e5400.dts index 3eff008dda..ce5099e9b0 100644 --- a/target/linux/ramips/dts/mt7628an_linksys_e5400.dts +++ b/target/linux/ramips/dts/mt7628an_linksys_e5400.dts @@ -79,7 +79,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7628an_mediatek_linkit-smart-7688.dts b/target/linux/ramips/dts/mt7628an_mediatek_linkit-smart-7688.dts index 1bd7f8e6da..37b4b9baa5 100644 --- a/target/linux/ramips/dts/mt7628an_mediatek_linkit-smart-7688.dts +++ b/target/linux/ramips/dts/mt7628an_mediatek_linkit-smart-7688.dts @@ -107,7 +107,7 @@ reg = <0x30000 0x10000>; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7628an_mediatek_mt7628an-eval-board.dts b/target/linux/ramips/dts/mt7628an_mediatek_mt7628an-eval-board.dts index 7f19ab6947..5428ddc62e 100644 --- a/target/linux/ramips/dts/mt7628an_mediatek_mt7628an-eval-board.dts +++ b/target/linux/ramips/dts/mt7628an_mediatek_mt7628an-eval-board.dts @@ -37,7 +37,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7628an_mercury_mac1200r-v2.dts b/target/linux/ramips/dts/mt7628an_mercury_mac1200r-v2.dts index f520305322..e189dbf5ff 100644 --- a/target/linux/ramips/dts/mt7628an_mercury_mac1200r-v2.dts +++ b/target/linux/ramips/dts/mt7628an_mercury_mac1200r-v2.dts @@ -44,7 +44,7 @@ reg = <0x0 0x1d800>; }; - factory: partition@1d800 { + partition@1d800 { label = "factory_info"; reg = <0x1d800 0x800>; read-only; @@ -64,7 +64,7 @@ }; }; - art: partition@1e000 { + partition@1e000 { label = "art"; reg = <0x1e000 0x2000>; read-only; diff --git a/target/linux/ramips/dts/mt7628an_minew_g1-c.dts b/target/linux/ramips/dts/mt7628an_minew_g1-c.dts index a1b40e09d0..3912f23a9e 100644 --- a/target/linux/ramips/dts/mt7628an_minew_g1-c.dts +++ b/target/linux/ramips/dts/mt7628an_minew_g1-c.dts @@ -104,7 +104,7 @@ reg = <0x30000 0x10000>; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7628an_motorola_mwr03.dts b/target/linux/ramips/dts/mt7628an_motorola_mwr03.dts index 0f55253780..1c57fce196 100644 --- a/target/linux/ramips/dts/mt7628an_motorola_mwr03.dts +++ b/target/linux/ramips/dts/mt7628an_motorola_mwr03.dts @@ -70,7 +70,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7628an_netgear_r6xxx.dtsi b/target/linux/ramips/dts/mt7628an_netgear_r6xxx.dtsi index 550e59301a..7e75950acb 100644 --- a/target/linux/ramips/dts/mt7628an_netgear_r6xxx.dtsi +++ b/target/linux/ramips/dts/mt7628an_netgear_r6xxx.dtsi @@ -84,7 +84,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x20000>; read-only; diff --git a/target/linux/ramips/dts/mt7628an_onion_omega2.dtsi b/target/linux/ramips/dts/mt7628an_onion_omega2.dtsi index 001dc227bc..983c7fc03e 100644 --- a/target/linux/ramips/dts/mt7628an_onion_omega2.dtsi +++ b/target/linux/ramips/dts/mt7628an_onion_omega2.dtsi @@ -117,7 +117,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7628an_oraybox_x1.dts b/target/linux/ramips/dts/mt7628an_oraybox_x1.dts index 77a9a78d14..7e203e611f 100644 --- a/target/linux/ramips/dts/mt7628an_oraybox_x1.dts +++ b/target/linux/ramips/dts/mt7628an_oraybox_x1.dts @@ -91,7 +91,7 @@ reg = <0x50000 0xf00000>; }; - bdinfo: partition@fe0000 { + partition@fe0000 { label = "bdinfo"; reg = <0xfe0000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7628an_rakwireless_rak633.dts b/target/linux/ramips/dts/mt7628an_rakwireless_rak633.dts index 46dca444b5..720d98e5e3 100644 --- a/target/linux/ramips/dts/mt7628an_rakwireless_rak633.dts +++ b/target/linux/ramips/dts/mt7628an_rakwireless_rak633.dts @@ -51,7 +51,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7628an_ravpower_rp-wd009.dts b/target/linux/ramips/dts/mt7628an_ravpower_rp-wd009.dts index 0f0a3b0147..607787f68e 100644 --- a/target/linux/ramips/dts/mt7628an_ravpower_rp-wd009.dts +++ b/target/linux/ramips/dts/mt7628an_ravpower_rp-wd009.dts @@ -140,7 +140,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7628an_skylab_skw92a.dts b/target/linux/ramips/dts/mt7628an_skylab_skw92a.dts index 1a1bea51a9..738041d071 100644 --- a/target/linux/ramips/dts/mt7628an_skylab_skw92a.dts +++ b/target/linux/ramips/dts/mt7628an_skylab_skw92a.dts @@ -86,7 +86,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7628an_tama_w06.dts b/target/linux/ramips/dts/mt7628an_tama_w06.dts index b7b0f43249..ead6783911 100644 --- a/target/linux/ramips/dts/mt7628an_tama_w06.dts +++ b/target/linux/ramips/dts/mt7628an_tama_w06.dts @@ -78,7 +78,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7628an_totolink_lr1200.dts b/target/linux/ramips/dts/mt7628an_totolink_lr1200.dts index 83bde6b9ec..8ee4dd3314 100644 --- a/target/linux/ramips/dts/mt7628an_totolink_lr1200.dts +++ b/target/linux/ramips/dts/mt7628an_totolink_lr1200.dts @@ -143,7 +143,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7628an_tplink_8m-split-uboot.dtsi b/target/linux/ramips/dts/mt7628an_tplink_8m-split-uboot.dtsi index a5c9267c8d..8709cbc02d 100644 --- a/target/linux/ramips/dts/mt7628an_tplink_8m-split-uboot.dtsi +++ b/target/linux/ramips/dts/mt7628an_tplink_8m-split-uboot.dtsi @@ -52,7 +52,7 @@ read-only; }; - rom: partition@7d0000 { + partition@7d0000 { label = "rom"; reg = <0x7d0000 0x10000>; read-only; @@ -75,7 +75,7 @@ reg = <0x7e0000 0x10000>; }; - radio: partition@7f0000 { + partition@7f0000 { label = "radio"; reg = <0x7f0000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7628an_tplink_re200.dtsi b/target/linux/ramips/dts/mt7628an_tplink_re200.dtsi index 4423b232c5..3e22273d3f 100644 --- a/target/linux/ramips/dts/mt7628an_tplink_re200.dtsi +++ b/target/linux/ramips/dts/mt7628an_tplink_re200.dtsi @@ -99,7 +99,7 @@ reg = <0x20000 0x7a0000>; }; - config: partition@7c0000 { + partition@7c0000 { label = "config"; reg = <0x7c0000 0x30000>; read-only; @@ -117,7 +117,7 @@ }; }; - radio: partition@7f0000 { + partition@7f0000 { label = "radio"; reg = <0x7f0000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7628an_tplink_re305-v1.dts b/target/linux/ramips/dts/mt7628an_tplink_re305-v1.dts index 9e0bea7cd1..784ef6c4de 100644 --- a/target/linux/ramips/dts/mt7628an_tplink_re305-v1.dts +++ b/target/linux/ramips/dts/mt7628an_tplink_re305-v1.dts @@ -32,7 +32,7 @@ reg = <0x20000 0x5e0000>; }; - config: partition@600000 { + partition@600000 { label = "config"; reg = <0x600000 0x50000>; read-only; @@ -55,7 +55,7 @@ stock firmware so it is left out as well. */ - radio: partition@7f0000 { + partition@7f0000 { label = "radio"; reg = <0x7f0000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7628an_tplink_re305-v3.dts b/target/linux/ramips/dts/mt7628an_tplink_re305-v3.dts index d37febfbc8..35ab671bf5 100644 --- a/target/linux/ramips/dts/mt7628an_tplink_re305-v3.dts +++ b/target/linux/ramips/dts/mt7628an_tplink_re305-v3.dts @@ -32,7 +32,7 @@ reg = <0x20000 0x7a0000>; }; - config: partition@7c0000 { + partition@7c0000 { label = "config"; reg = <0x7c0000 0x30000>; read-only; @@ -50,7 +50,7 @@ }; }; - radio: partition@7f0000 { + partition@7f0000 { label = "radio"; reg = <0x7f0000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7628an_tplink_tl-mr3020-v3.dts b/target/linux/ramips/dts/mt7628an_tplink_tl-mr3020-v3.dts index 39e9492612..ce434e6011 100644 --- a/target/linux/ramips/dts/mt7628an_tplink_tl-mr3020-v3.dts +++ b/target/linux/ramips/dts/mt7628an_tplink_tl-mr3020-v3.dts @@ -125,7 +125,7 @@ read-only; }; - factory: partition@7d0000 { + partition@7d0000 { label = "factory"; reg = <0x7d0000 0x30000>; read-only; diff --git a/target/linux/ramips/dts/mt7628an_tplink_tl-wr840n-v5.dts b/target/linux/ramips/dts/mt7628an_tplink_tl-wr840n-v5.dts index 8d14992ea0..8c7192fca8 100644 --- a/target/linux/ramips/dts/mt7628an_tplink_tl-wr840n-v5.dts +++ b/target/linux/ramips/dts/mt7628an_tplink_tl-wr840n-v5.dts @@ -72,7 +72,7 @@ reg = <0x20000 0x3d0000>; }; - factory: partition@3f0000 { + partition@3f0000 { label = "factory"; reg = <0x3f0000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7628an_tplink_tl-wr841n-v14.dts b/target/linux/ramips/dts/mt7628an_tplink_tl-wr841n-v14.dts index 11f3552e5f..c6c6fbd906 100644 --- a/target/linux/ramips/dts/mt7628an_tplink_tl-wr841n-v14.dts +++ b/target/linux/ramips/dts/mt7628an_tplink_tl-wr841n-v14.dts @@ -85,7 +85,7 @@ reg = <0x10000 0x3e0000>; }; - factory: partition@3f0000 { + partition@3f0000 { label = "factory"; reg = <0x3f0000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7628an_unielec_u7628-01-16m.dts b/target/linux/ramips/dts/mt7628an_unielec_u7628-01-16m.dts index 77d8b9fce6..1be912f8ea 100644 --- a/target/linux/ramips/dts/mt7628an_unielec_u7628-01-16m.dts +++ b/target/linux/ramips/dts/mt7628an_unielec_u7628-01-16m.dts @@ -37,7 +37,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7628an_vocore_vocore2.dtsi b/target/linux/ramips/dts/mt7628an_vocore_vocore2.dtsi index 73ee4484b4..4982d8bccc 100644 --- a/target/linux/ramips/dts/mt7628an_vocore_vocore2.dtsi +++ b/target/linux/ramips/dts/mt7628an_vocore_vocore2.dtsi @@ -39,7 +39,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7628an_wavlink_wl-wn531a3.dts b/target/linux/ramips/dts/mt7628an_wavlink_wl-wn531a3.dts index 1e4b7c1cb0..73db7796e2 100644 --- a/target/linux/ramips/dts/mt7628an_wavlink_wl-wn531a3.dts +++ b/target/linux/ramips/dts/mt7628an_wavlink_wl-wn531a3.dts @@ -111,7 +111,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7628an_wavlink_wl-wn570ha1.dts b/target/linux/ramips/dts/mt7628an_wavlink_wl-wn570ha1.dts index 0d2dd4e6c2..e6bc5f4b39 100644 --- a/target/linux/ramips/dts/mt7628an_wavlink_wl-wn570ha1.dts +++ b/target/linux/ramips/dts/mt7628an_wavlink_wl-wn570ha1.dts @@ -101,7 +101,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7628an_wavlink_wl-wn575a3.dts b/target/linux/ramips/dts/mt7628an_wavlink_wl-wn575a3.dts index 06167c0eb2..96d5366375 100644 --- a/target/linux/ramips/dts/mt7628an_wavlink_wl-wn575a3.dts +++ b/target/linux/ramips/dts/mt7628an_wavlink_wl-wn575a3.dts @@ -95,7 +95,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7628an_wavlink_wl-wn576a2.dts b/target/linux/ramips/dts/mt7628an_wavlink_wl-wn576a2.dts index 60f8e6db38..16a089a7f1 100644 --- a/target/linux/ramips/dts/mt7628an_wavlink_wl-wn576a2.dts +++ b/target/linux/ramips/dts/mt7628an_wavlink_wl-wn576a2.dts @@ -135,7 +135,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7628an_wavlink_wl-wn577a2.dts b/target/linux/ramips/dts/mt7628an_wavlink_wl-wn577a2.dts index b1b29b38de..04c62b25c2 100644 --- a/target/linux/ramips/dts/mt7628an_wavlink_wl-wn577a2.dts +++ b/target/linux/ramips/dts/mt7628an_wavlink_wl-wn577a2.dts @@ -101,7 +101,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7628an_wavlink_wl-wn578a2.dts b/target/linux/ramips/dts/mt7628an_wavlink_wl-wn578a2.dts index 08a8d367eb..1b84005583 100644 --- a/target/linux/ramips/dts/mt7628an_wavlink_wl-wn578a2.dts +++ b/target/linux/ramips/dts/mt7628an_wavlink_wl-wn578a2.dts @@ -131,7 +131,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7628an_widora_neo.dtsi b/target/linux/ramips/dts/mt7628an_widora_neo.dtsi index 47ed0431d2..de3b7d625e 100644 --- a/target/linux/ramips/dts/mt7628an_widora_neo.dtsi +++ b/target/linux/ramips/dts/mt7628an_widora_neo.dtsi @@ -73,7 +73,7 @@ reg = <0x30000 0x10000>; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7628an_wiznet_wizfi630s.dts b/target/linux/ramips/dts/mt7628an_wiznet_wizfi630s.dts index a18fdd27c8..429b00c5b5 100644 --- a/target/linux/ramips/dts/mt7628an_wiznet_wizfi630s.dts +++ b/target/linux/ramips/dts/mt7628an_wiznet_wizfi630s.dts @@ -115,7 +115,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7628an_wrtnode_wrtnode2.dtsi b/target/linux/ramips/dts/mt7628an_wrtnode_wrtnode2.dtsi index 207fea28e9..f532a3e2a8 100644 --- a/target/linux/ramips/dts/mt7628an_wrtnode_wrtnode2.dtsi +++ b/target/linux/ramips/dts/mt7628an_wrtnode_wrtnode2.dtsi @@ -47,7 +47,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7628an_xiaomi_mi-router-4.dtsi b/target/linux/ramips/dts/mt7628an_xiaomi_mi-router-4.dtsi index 7655da40db..97b18680d9 100644 --- a/target/linux/ramips/dts/mt7628an_xiaomi_mi-router-4.dtsi +++ b/target/linux/ramips/dts/mt7628an_xiaomi_mi-router-4.dtsi @@ -46,7 +46,7 @@ read-only; }; - factory: partition@30000 { + partition@30000 { label = "factory"; reg = <0x30000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7628an_xiaomi_miwifi-3c.dts b/target/linux/ramips/dts/mt7628an_xiaomi_miwifi-3c.dts index fc47be479c..13d8da05f7 100644 --- a/target/linux/ramips/dts/mt7628an_xiaomi_miwifi-3c.dts +++ b/target/linux/ramips/dts/mt7628an_xiaomi_miwifi-3c.dts @@ -117,7 +117,7 @@ read-only; }; - factory: partition@50000 { + partition@50000 { label = "factory"; reg = <0x50000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7628an_xiaomi_miwifi-nano.dts b/target/linux/ramips/dts/mt7628an_xiaomi_miwifi-nano.dts index 8f431cae62..889e725df5 100644 --- a/target/linux/ramips/dts/mt7628an_xiaomi_miwifi-nano.dts +++ b/target/linux/ramips/dts/mt7628an_xiaomi_miwifi-nano.dts @@ -109,7 +109,7 @@ reg = <0x30000 0x10000>; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7628an_zbtlink_zbt-we1226.dts b/target/linux/ramips/dts/mt7628an_zbtlink_zbt-we1226.dts index 976994f538..591e3cce72 100644 --- a/target/linux/ramips/dts/mt7628an_zbtlink_zbt-we1226.dts +++ b/target/linux/ramips/dts/mt7628an_zbtlink_zbt-we1226.dts @@ -88,7 +88,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/mt7628an_zyxel_keenetic-extra-ii.dts b/target/linux/ramips/dts/mt7628an_zyxel_keenetic-extra-ii.dts index 92d63f2501..70956724fb 100644 --- a/target/linux/ramips/dts/mt7628an_zyxel_keenetic-extra-ii.dts +++ b/target/linux/ramips/dts/mt7628an_zyxel_keenetic-extra-ii.dts @@ -123,7 +123,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "rf-eeprom"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt2880_airlink101_ar670w.dts b/target/linux/ramips/dts/rt2880_airlink101_ar670w.dts index dbbaf9c45e..7ff3b370b5 100644 --- a/target/linux/ramips/dts/rt2880_airlink101_ar670w.dts +++ b/target/linux/ramips/dts/rt2880_airlink101_ar670w.dts @@ -31,7 +31,7 @@ read-only; }; - factory: partition@30000 { + partition@30000 { reg = <0x30000 0x10000>; label = "factory"; read-only; diff --git a/target/linux/ramips/dts/rt2880_airlink101_ar725w.dts b/target/linux/ramips/dts/rt2880_airlink101_ar725w.dts index d60707a7c3..95a4b495eb 100644 --- a/target/linux/ramips/dts/rt2880_airlink101_ar725w.dts +++ b/target/linux/ramips/dts/rt2880_airlink101_ar725w.dts @@ -36,7 +36,7 @@ label = "u-boot-env"; }; - factory: partition@40000 { + partition@40000 { reg = <0x40000 0x10000>; label = "factory"; read-only; diff --git a/target/linux/ramips/dts/rt2880_asus_rt-n15.dts b/target/linux/ramips/dts/rt2880_asus_rt-n15.dts index 6874bd39f2..3e34f89165 100644 --- a/target/linux/ramips/dts/rt2880_asus_rt-n15.dts +++ b/target/linux/ramips/dts/rt2880_asus_rt-n15.dts @@ -40,7 +40,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt2880_belkin_f5d8235-v1.dts b/target/linux/ramips/dts/rt2880_belkin_f5d8235-v1.dts index 1c2b9a18da..86e4964a99 100644 --- a/target/linux/ramips/dts/rt2880_belkin_f5d8235-v1.dts +++ b/target/linux/ramips/dts/rt2880_belkin_f5d8235-v1.dts @@ -37,7 +37,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt2880_buffalo_wli-tx4-ag300n.dts b/target/linux/ramips/dts/rt2880_buffalo_wli-tx4-ag300n.dts index bed5b950a4..b89e086584 100644 --- a/target/linux/ramips/dts/rt2880_buffalo_wli-tx4-ag300n.dts +++ b/target/linux/ramips/dts/rt2880_buffalo_wli-tx4-ag300n.dts @@ -40,7 +40,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt2880_buffalo_wzr-agl300nh.dts b/target/linux/ramips/dts/rt2880_buffalo_wzr-agl300nh.dts index bc01bf23ef..e86486dce6 100644 --- a/target/linux/ramips/dts/rt2880_buffalo_wzr-agl300nh.dts +++ b/target/linux/ramips/dts/rt2880_buffalo_wzr-agl300nh.dts @@ -39,7 +39,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt2880_dlink_dap-1522-a1.dts b/target/linux/ramips/dts/rt2880_dlink_dap-1522-a1.dts index 3e8a42e18a..3fdbdf681e 100644 --- a/target/linux/ramips/dts/rt2880_dlink_dap-1522-a1.dts +++ b/target/linux/ramips/dts/rt2880_dlink_dap-1522-a1.dts @@ -32,7 +32,7 @@ read-only; }; - factory: partition@30000 { + partition@30000 { label = "factory"; reg = <0x30000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt2880_ralink_v11st-fe.dts b/target/linux/ramips/dts/rt2880_ralink_v11st-fe.dts index ac65264c5c..695db15a55 100644 --- a/target/linux/ramips/dts/rt2880_ralink_v11st-fe.dts +++ b/target/linux/ramips/dts/rt2880_ralink_v11st-fe.dts @@ -37,7 +37,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { reg = <0x00040000 0x00010000>; label = "factory"; read-only; diff --git a/target/linux/ramips/dts/rt3050_8devices_carambola.dts b/target/linux/ramips/dts/rt3050_8devices_carambola.dts index 8cc586207f..f99c708187 100644 --- a/target/linux/ramips/dts/rt3050_8devices_carambola.dts +++ b/target/linux/ramips/dts/rt3050_8devices_carambola.dts @@ -34,7 +34,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt3050_allnet_all0256n.dtsi b/target/linux/ramips/dts/rt3050_allnet_all0256n.dtsi index f7b64c6326..3be20dd2f4 100644 --- a/target/linux/ramips/dts/rt3050_allnet_all0256n.dtsi +++ b/target/linux/ramips/dts/rt3050_allnet_all0256n.dtsi @@ -62,7 +62,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt3050_alphanetworks_asl26555-16m.dts b/target/linux/ramips/dts/rt3050_alphanetworks_asl26555-16m.dts index 1d66023ceb..818bd14182 100644 --- a/target/linux/ramips/dts/rt3050_alphanetworks_asl26555-16m.dts +++ b/target/linux/ramips/dts/rt3050_alphanetworks_asl26555-16m.dts @@ -54,7 +54,7 @@ read-only; }; - devdata: partition@ff0000 { + partition@ff0000 { label = "devdata"; reg = <0xff0000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt3050_alphanetworks_asl26555-8m.dts b/target/linux/ramips/dts/rt3050_alphanetworks_asl26555-8m.dts index 41ed37d808..efdf24f9c4 100644 --- a/target/linux/ramips/dts/rt3050_alphanetworks_asl26555-8m.dts +++ b/target/linux/ramips/dts/rt3050_alphanetworks_asl26555-8m.dts @@ -24,7 +24,7 @@ read-only; }; - devdata: partition@30000 { + partition@30000 { label = "uboot-env"; reg = <0x30000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt3050_arcwireless_freestation5.dts b/target/linux/ramips/dts/rt3050_arcwireless_freestation5.dts index 9b696b3431..7d5d400410 100644 --- a/target/linux/ramips/dts/rt3050_arcwireless_freestation5.dts +++ b/target/linux/ramips/dts/rt3050_arcwireless_freestation5.dts @@ -34,7 +34,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt3050_asus_rt-g32-b1.dts b/target/linux/ramips/dts/rt3050_asus_rt-g32-b1.dts index e112a1b33d..5d980ebf8a 100644 --- a/target/linux/ramips/dts/rt3050_asus_rt-g32-b1.dts +++ b/target/linux/ramips/dts/rt3050_asus_rt-g32-b1.dts @@ -50,7 +50,7 @@ read-only; }; - devconf: partition@40000 { + partition@40000 { label = "devconf"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt3050_asus_rt-n10-plus.dts b/target/linux/ramips/dts/rt3050_asus_rt-n10-plus.dts index 9fb325bc09..85414a284e 100644 --- a/target/linux/ramips/dts/rt3050_asus_rt-n10-plus.dts +++ b/target/linux/ramips/dts/rt3050_asus_rt-n10-plus.dts @@ -38,7 +38,7 @@ read-only; }; - devconf: partition@40000 { + partition@40000 { label = "devconf"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt3050_asus_wl-330n.dts b/target/linux/ramips/dts/rt3050_asus_wl-330n.dts index d89fb0995e..e9349f6a39 100644 --- a/target/linux/ramips/dts/rt3050_asus_wl-330n.dts +++ b/target/linux/ramips/dts/rt3050_asus_wl-330n.dts @@ -73,7 +73,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt3050_asus_wl-330n3g.dts b/target/linux/ramips/dts/rt3050_asus_wl-330n3g.dts index ef0668c02f..eb47913fb2 100644 --- a/target/linux/ramips/dts/rt3050_asus_wl-330n3g.dts +++ b/target/linux/ramips/dts/rt3050_asus_wl-330n3g.dts @@ -78,7 +78,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt3050_dlink_dcs-930.dts b/target/linux/ramips/dts/rt3050_dlink_dcs-930.dts index c0c9ffec13..32ecbb47b8 100644 --- a/target/linux/ramips/dts/rt3050_dlink_dcs-930.dts +++ b/target/linux/ramips/dts/rt3050_dlink_dcs-930.dts @@ -38,7 +38,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt3050_dlink_dir-300-b1.dts b/target/linux/ramips/dts/rt3050_dlink_dir-300-b1.dts index 7a4907c4db..47264478b2 100644 --- a/target/linux/ramips/dts/rt3050_dlink_dir-300-b1.dts +++ b/target/linux/ramips/dts/rt3050_dlink_dir-300-b1.dts @@ -32,7 +32,7 @@ read-only; }; - devdata: partition@30000 { + partition@30000 { label = "devdata"; reg = <0x30000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt3050_dlink_dir-600-b1.dts b/target/linux/ramips/dts/rt3050_dlink_dir-600-b1.dts index e5441d2d65..13badc7139 100644 --- a/target/linux/ramips/dts/rt3050_dlink_dir-600-b1.dts +++ b/target/linux/ramips/dts/rt3050_dlink_dir-600-b1.dts @@ -32,7 +32,7 @@ read-only; }; - devdata: partition@30000 { + partition@30000 { label = "devdata"; reg = <0x30000 0x10000>; read-only; @@ -52,7 +52,7 @@ }; }; - factory: partition@40000 { + partition@40000 { label = "devconf"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt3050_dlink_dir-615-d.dts b/target/linux/ramips/dts/rt3050_dlink_dir-615-d.dts index 30022a9ced..4df6d44219 100644 --- a/target/linux/ramips/dts/rt3050_dlink_dir-615-d.dts +++ b/target/linux/ramips/dts/rt3050_dlink_dir-615-d.dts @@ -33,7 +33,7 @@ read-only; }; - devdata: partition@30000 { + partition@30000 { label = "devdata"; reg = <0x30000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt3050_dlink_dir-620-a1.dts b/target/linux/ramips/dts/rt3050_dlink_dir-620-a1.dts index f080f47b51..f159580972 100644 --- a/target/linux/ramips/dts/rt3050_dlink_dir-620-a1.dts +++ b/target/linux/ramips/dts/rt3050_dlink_dir-620-a1.dts @@ -38,7 +38,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt3050_edimax_3g-6200n.dts b/target/linux/ramips/dts/rt3050_edimax_3g-6200n.dts index e95889f9ef..128f84de1f 100644 --- a/target/linux/ramips/dts/rt3050_edimax_3g-6200n.dts +++ b/target/linux/ramips/dts/rt3050_edimax_3g-6200n.dts @@ -39,7 +39,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt3050_edimax_3g-6200nl.dts b/target/linux/ramips/dts/rt3050_edimax_3g-6200nl.dts index 0cf0943ed6..5277f9b523 100644 --- a/target/linux/ramips/dts/rt3050_edimax_3g-6200nl.dts +++ b/target/linux/ramips/dts/rt3050_edimax_3g-6200nl.dts @@ -39,7 +39,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt3050_huawei_d105.dts b/target/linux/ramips/dts/rt3050_huawei_d105.dts index 7c3dc845bd..6a26e0d513 100644 --- a/target/linux/ramips/dts/rt3050_huawei_d105.dts +++ b/target/linux/ramips/dts/rt3050_huawei_d105.dts @@ -38,7 +38,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt3050_jcg_jhr-n805r.dts b/target/linux/ramips/dts/rt3050_jcg_jhr-n805r.dts index 61fac83b14..3c54a38f28 100644 --- a/target/linux/ramips/dts/rt3050_jcg_jhr-n805r.dts +++ b/target/linux/ramips/dts/rt3050_jcg_jhr-n805r.dts @@ -67,7 +67,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt3050_netcore_nw718.dts b/target/linux/ramips/dts/rt3050_netcore_nw718.dts index 2c2e302ec6..83b79d5e77 100644 --- a/target/linux/ramips/dts/rt3050_netcore_nw718.dts +++ b/target/linux/ramips/dts/rt3050_netcore_nw718.dts @@ -82,7 +82,7 @@ read-only; }; - factory: partition@50000 { + partition@50000 { label = "factory"; reg = <0x50000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt3050_sparklan_wcr-150gn.dts b/target/linux/ramips/dts/rt3050_sparklan_wcr-150gn.dts index 8f153fbc24..4b4c5e18ee 100644 --- a/target/linux/ramips/dts/rt3050_sparklan_wcr-150gn.dts +++ b/target/linux/ramips/dts/rt3050_sparklan_wcr-150gn.dts @@ -38,7 +38,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt3050_teltonika_rut5xx.dts b/target/linux/ramips/dts/rt3050_teltonika_rut5xx.dts index 6f8baaf0d2..691e5d621d 100644 --- a/target/linux/ramips/dts/rt3050_teltonika_rut5xx.dts +++ b/target/linux/ramips/dts/rt3050_teltonika_rut5xx.dts @@ -71,7 +71,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt3050_tenda_w150m.dts b/target/linux/ramips/dts/rt3050_tenda_w150m.dts index d9a3f5ac6b..f76661b500 100644 --- a/target/linux/ramips/dts/rt3050_tenda_w150m.dts +++ b/target/linux/ramips/dts/rt3050_tenda_w150m.dts @@ -37,7 +37,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt3050_trendnet_tew-638apb-v2.dts b/target/linux/ramips/dts/rt3050_trendnet_tew-638apb-v2.dts index 36e7706b02..990c3eb4ce 100644 --- a/target/linux/ramips/dts/rt3050_trendnet_tew-638apb-v2.dts +++ b/target/linux/ramips/dts/rt3050_trendnet_tew-638apb-v2.dts @@ -38,7 +38,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt3052_accton_wr6202.dts b/target/linux/ramips/dts/rt3052_accton_wr6202.dts index 7e79f4260c..f3a31ad6ca 100644 --- a/target/linux/ramips/dts/rt3052_accton_wr6202.dts +++ b/target/linux/ramips/dts/rt3052_accton_wr6202.dts @@ -67,7 +67,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt3052_alfa-network_w502u.dts b/target/linux/ramips/dts/rt3052_alfa-network_w502u.dts index e8c429cf1d..609fd9b2f4 100644 --- a/target/linux/ramips/dts/rt3052_alfa-network_w502u.dts +++ b/target/linux/ramips/dts/rt3052_alfa-network_w502u.dts @@ -42,7 +42,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt3052_argus_atp-52b.dts b/target/linux/ramips/dts/rt3052_argus_atp-52b.dts index 94baf5fb89..5cee0dfcfd 100644 --- a/target/linux/ramips/dts/rt3052_argus_atp-52b.dts +++ b/target/linux/ramips/dts/rt3052_argus_atp-52b.dts @@ -36,7 +36,7 @@ reg = <0x30000 0x10000>; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; diff --git a/target/linux/ramips/dts/rt3052_asiarf_awapn2403.dts b/target/linux/ramips/dts/rt3052_asiarf_awapn2403.dts index 279826d7f1..ec794b8eab 100644 --- a/target/linux/ramips/dts/rt3052_asiarf_awapn2403.dts +++ b/target/linux/ramips/dts/rt3052_asiarf_awapn2403.dts @@ -62,7 +62,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt3052_asus_rt-n13u.dts b/target/linux/ramips/dts/rt3052_asus_rt-n13u.dts index 8c9cca940f..4f0d9e6207 100644 --- a/target/linux/ramips/dts/rt3052_asus_rt-n13u.dts +++ b/target/linux/ramips/dts/rt3052_asus_rt-n13u.dts @@ -38,7 +38,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt3052_aximcom_mr-102n.dts b/target/linux/ramips/dts/rt3052_aximcom_mr-102n.dts index 9aac3f9d8e..f0d4122517 100644 --- a/target/linux/ramips/dts/rt3052_aximcom_mr-102n.dts +++ b/target/linux/ramips/dts/rt3052_aximcom_mr-102n.dts @@ -38,7 +38,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt3052_aztech_hw550-3g.dts b/target/linux/ramips/dts/rt3052_aztech_hw550-3g.dts index 37d7b36d92..8f9a62bba2 100644 --- a/target/linux/ramips/dts/rt3052_aztech_hw550-3g.dts +++ b/target/linux/ramips/dts/rt3052_aztech_hw550-3g.dts @@ -38,7 +38,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt3052_belkin_f5d8235-v2.dts b/target/linux/ramips/dts/rt3052_belkin_f5d8235-v2.dts index 13b16921b9..0119737af1 100644 --- a/target/linux/ramips/dts/rt3052_belkin_f5d8235-v2.dts +++ b/target/linux/ramips/dts/rt3052_belkin_f5d8235-v2.dts @@ -25,7 +25,7 @@ #address-cells = <1>; #size-cells = <1>; - uboot: partition@0 { + partition@0 { label = "uboot"; reg = <0x0 0x50000>; read-only; @@ -56,7 +56,7 @@ reg = <0x7e0000 0x10000>; }; - factory: partition@7f0000 { + partition@7f0000 { label = "factory"; reg = <0x7f0000 0x10000>; }; diff --git a/target/linux/ramips/dts/rt3052_buffalo_whr-g300n.dts b/target/linux/ramips/dts/rt3052_buffalo_whr-g300n.dts index 286fe0a566..c7d4b62695 100644 --- a/target/linux/ramips/dts/rt3052_buffalo_whr-g300n.dts +++ b/target/linux/ramips/dts/rt3052_buffalo_whr-g300n.dts @@ -36,7 +36,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt3052_dlink_dap-1350.dts b/target/linux/ramips/dts/rt3052_dlink_dap-1350.dts index b9fe0730be..581da5acbb 100644 --- a/target/linux/ramips/dts/rt3052_dlink_dap-1350.dts +++ b/target/linux/ramips/dts/rt3052_dlink_dap-1350.dts @@ -36,7 +36,7 @@ read-only; }; - devdata: partition@30000 { + partition@30000 { label = "devdata"; reg = <0x30000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt3052_engenius_esr-9753.dts b/target/linux/ramips/dts/rt3052_engenius_esr-9753.dts index 933459a90b..8f040bf893 100644 --- a/target/linux/ramips/dts/rt3052_engenius_esr-9753.dts +++ b/target/linux/ramips/dts/rt3052_engenius_esr-9753.dts @@ -38,7 +38,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt3052_fon_fonera-20n.dts b/target/linux/ramips/dts/rt3052_fon_fonera-20n.dts index e2d16e9a86..8f612fbc1c 100644 --- a/target/linux/ramips/dts/rt3052_fon_fonera-20n.dts +++ b/target/linux/ramips/dts/rt3052_fon_fonera-20n.dts @@ -38,7 +38,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt3052_hauppauge_broadway.dts b/target/linux/ramips/dts/rt3052_hauppauge_broadway.dts index f7420e2092..698d8fbc1e 100644 --- a/target/linux/ramips/dts/rt3052_hauppauge_broadway.dts +++ b/target/linux/ramips/dts/rt3052_hauppauge_broadway.dts @@ -30,7 +30,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt3052_huawei_hg255d.dts b/target/linux/ramips/dts/rt3052_huawei_hg255d.dts index 27de7e4306..7150a7f41a 100644 --- a/target/linux/ramips/dts/rt3052_huawei_hg255d.dts +++ b/target/linux/ramips/dts/rt3052_huawei_hg255d.dts @@ -38,7 +38,7 @@ read-only; }; - factory: partition@60000 { + partition@60000 { label = "factory"; reg = <0x60000 0x20000>; read-only; diff --git a/target/linux/ramips/dts/rt3052_jcg_jhr-n825r.dts b/target/linux/ramips/dts/rt3052_jcg_jhr-n825r.dts index acd040a68e..75af528d30 100644 --- a/target/linux/ramips/dts/rt3052_jcg_jhr-n825r.dts +++ b/target/linux/ramips/dts/rt3052_jcg_jhr-n825r.dts @@ -38,7 +38,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt3052_jcg_jhr-n926r.dts b/target/linux/ramips/dts/rt3052_jcg_jhr-n926r.dts index 4bcb91eacf..8b50244e18 100644 --- a/target/linux/ramips/dts/rt3052_jcg_jhr-n926r.dts +++ b/target/linux/ramips/dts/rt3052_jcg_jhr-n926r.dts @@ -38,7 +38,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt3052_mofinetwork_mofi3500-3gn.dts b/target/linux/ramips/dts/rt3052_mofinetwork_mofi3500-3gn.dts index 52d725e080..7e958c3a07 100644 --- a/target/linux/ramips/dts/rt3052_mofinetwork_mofi3500-3gn.dts +++ b/target/linux/ramips/dts/rt3052_mofinetwork_mofi3500-3gn.dts @@ -38,7 +38,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt3052_netgear_wnce2001.dts b/target/linux/ramips/dts/rt3052_netgear_wnce2001.dts index 7f22a3bf6f..5406e1e263 100644 --- a/target/linux/ramips/dts/rt3052_netgear_wnce2001.dts +++ b/target/linux/ramips/dts/rt3052_netgear_wnce2001.dts @@ -96,7 +96,7 @@ read-only; }; - factory: partition@30000 { + partition@30000 { label = "factory"; reg = <0x30000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt3052_nexaira_bc2.dts b/target/linux/ramips/dts/rt3052_nexaira_bc2.dts index 03486cac91..e92ce3261d 100644 --- a/target/linux/ramips/dts/rt3052_nexaira_bc2.dts +++ b/target/linux/ramips/dts/rt3052_nexaira_bc2.dts @@ -31,7 +31,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt3052_omnima_miniembwifi.dts b/target/linux/ramips/dts/rt3052_omnima_miniembwifi.dts index f5ec7592ae..8aed9e947f 100644 --- a/target/linux/ramips/dts/rt3052_omnima_miniembwifi.dts +++ b/target/linux/ramips/dts/rt3052_omnima_miniembwifi.dts @@ -65,7 +65,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt3052_petatel_psr-680w.dts b/target/linux/ramips/dts/rt3052_petatel_psr-680w.dts index 1d5d334af2..de2d9450ee 100644 --- a/target/linux/ramips/dts/rt3052_petatel_psr-680w.dts +++ b/target/linux/ramips/dts/rt3052_petatel_psr-680w.dts @@ -42,7 +42,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt3052_planex_mzk-w300nh2.dts b/target/linux/ramips/dts/rt3052_planex_mzk-w300nh2.dts index f88525666b..88e2480f41 100644 --- a/target/linux/ramips/dts/rt3052_planex_mzk-w300nh2.dts +++ b/target/linux/ramips/dts/rt3052_planex_mzk-w300nh2.dts @@ -38,7 +38,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt3052_planex_mzk-wdpr.dts b/target/linux/ramips/dts/rt3052_planex_mzk-wdpr.dts index 5d44529898..b3c9e0d400 100644 --- a/target/linux/ramips/dts/rt3052_planex_mzk-wdpr.dts +++ b/target/linux/ramips/dts/rt3052_planex_mzk-wdpr.dts @@ -34,7 +34,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt3052_poray_ip2202.dts b/target/linux/ramips/dts/rt3052_poray_ip2202.dts index 0361004d84..e9273d6570 100644 --- a/target/linux/ramips/dts/rt3052_poray_ip2202.dts +++ b/target/linux/ramips/dts/rt3052_poray_ip2202.dts @@ -37,7 +37,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt3052_prolink_pwh2004.dts b/target/linux/ramips/dts/rt3052_prolink_pwh2004.dts index 736a56f2da..bb213c9f80 100644 --- a/target/linux/ramips/dts/rt3052_prolink_pwh2004.dts +++ b/target/linux/ramips/dts/rt3052_prolink_pwh2004.dts @@ -38,7 +38,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt3052_ralink_v22rw-2x2.dts b/target/linux/ramips/dts/rt3052_ralink_v22rw-2x2.dts index 4d51839db7..179e738d4f 100644 --- a/target/linux/ramips/dts/rt3052_ralink_v22rw-2x2.dts +++ b/target/linux/ramips/dts/rt3052_ralink_v22rw-2x2.dts @@ -38,7 +38,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt3052_sitecom_wl-351.dts b/target/linux/ramips/dts/rt3052_sitecom_wl-351.dts index f0a96d0448..f4dd878782 100644 --- a/target/linux/ramips/dts/rt3052_sitecom_wl-351.dts +++ b/target/linux/ramips/dts/rt3052_sitecom_wl-351.dts @@ -38,7 +38,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt3052_skyline_sl-r7205.dts b/target/linux/ramips/dts/rt3052_skyline_sl-r7205.dts index 8a4120175e..2a1c576fe5 100644 --- a/target/linux/ramips/dts/rt3052_skyline_sl-r7205.dts +++ b/target/linux/ramips/dts/rt3052_skyline_sl-r7205.dts @@ -37,7 +37,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt3052_tenda_3g300m.dts b/target/linux/ramips/dts/rt3052_tenda_3g300m.dts index 304d3bef1c..8620d4a1ad 100644 --- a/target/linux/ramips/dts/rt3052_tenda_3g300m.dts +++ b/target/linux/ramips/dts/rt3052_tenda_3g300m.dts @@ -93,7 +93,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt3052_tenda_w306r-v2.dts b/target/linux/ramips/dts/rt3052_tenda_w306r-v2.dts index 2be0c26c7b..ddeaa94fc5 100644 --- a/target/linux/ramips/dts/rt3052_tenda_w306r-v2.dts +++ b/target/linux/ramips/dts/rt3052_tenda_w306r-v2.dts @@ -38,7 +38,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt3052_unbranded_wr512-3gn-4m.dts b/target/linux/ramips/dts/rt3052_unbranded_wr512-3gn-4m.dts index 6002342fc9..2a8cb2a47a 100644 --- a/target/linux/ramips/dts/rt3052_unbranded_wr512-3gn-4m.dts +++ b/target/linux/ramips/dts/rt3052_unbranded_wr512-3gn-4m.dts @@ -27,7 +27,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt3052_unbranded_wr512-3gn-8m.dts b/target/linux/ramips/dts/rt3052_unbranded_wr512-3gn-8m.dts index 16495ddc88..f11c9e1816 100644 --- a/target/linux/ramips/dts/rt3052_unbranded_wr512-3gn-8m.dts +++ b/target/linux/ramips/dts/rt3052_unbranded_wr512-3gn-8m.dts @@ -27,7 +27,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt3052_unbranded_xdx-rn502j.dts b/target/linux/ramips/dts/rt3052_unbranded_xdx-rn502j.dts index dc07c597c3..af140fee1f 100644 --- a/target/linux/ramips/dts/rt3052_unbranded_xdx-rn502j.dts +++ b/target/linux/ramips/dts/rt3052_unbranded_xdx-rn502j.dts @@ -38,7 +38,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt3052_upvel_ur-326n4g.dts b/target/linux/ramips/dts/rt3052_upvel_ur-326n4g.dts index a019e17344..e22b946b08 100644 --- a/target/linux/ramips/dts/rt3052_upvel_ur-326n4g.dts +++ b/target/linux/ramips/dts/rt3052_upvel_ur-326n4g.dts @@ -38,7 +38,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt3052_upvel_ur-336un.dts b/target/linux/ramips/dts/rt3052_upvel_ur-336un.dts index 4a0e196baa..4a7dc5511c 100644 --- a/target/linux/ramips/dts/rt3052_upvel_ur-336un.dts +++ b/target/linux/ramips/dts/rt3052_upvel_ur-336un.dts @@ -38,7 +38,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt3052_zyxel_keenetic.dts b/target/linux/ramips/dts/rt3052_zyxel_keenetic.dts index a1ac3239b1..e7db3eda15 100644 --- a/target/linux/ramips/dts/rt3052_zyxel_keenetic.dts +++ b/target/linux/ramips/dts/rt3052_zyxel_keenetic.dts @@ -38,7 +38,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt3052_zyxel_nbg-419n.dts b/target/linux/ramips/dts/rt3052_zyxel_nbg-419n.dts index 4bb8cefe56..8dee38c1f8 100644 --- a/target/linux/ramips/dts/rt3052_zyxel_nbg-419n.dts +++ b/target/linux/ramips/dts/rt3052_zyxel_nbg-419n.dts @@ -38,7 +38,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt3352_allnet_all5002.dts b/target/linux/ramips/dts/rt3352_allnet_all5002.dts index 6483e935dd..df4e9a6fce 100644 --- a/target/linux/ramips/dts/rt3352_allnet_all5002.dts +++ b/target/linux/ramips/dts/rt3352_allnet_all5002.dts @@ -68,7 +68,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt3352_dlink_dir-615-h1.dts b/target/linux/ramips/dts/rt3352_dlink_dir-615-h1.dts index 4c80d479c1..8ed29c8dee 100644 --- a/target/linux/ramips/dts/rt3352_dlink_dir-615-h1.dts +++ b/target/linux/ramips/dts/rt3352_dlink_dir-615-h1.dts @@ -94,7 +94,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt3352_dlink_dir-620-d1.dts b/target/linux/ramips/dts/rt3352_dlink_dir-620-d1.dts index c9f71f157d..bd897a0d1a 100644 --- a/target/linux/ramips/dts/rt3352_dlink_dir-620-d1.dts +++ b/target/linux/ramips/dts/rt3352_dlink_dir-620-d1.dts @@ -67,7 +67,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt3352_zte_mf283plus.dts b/target/linux/ramips/dts/rt3352_zte_mf283plus.dts index 01455b0d5a..1d0b14608a 100644 --- a/target/linux/ramips/dts/rt3352_zte_mf283plus.dts +++ b/target/linux/ramips/dts/rt3352_zte_mf283plus.dts @@ -84,7 +84,7 @@ read-only; }; - factory: partition@70000 { + partition@70000 { label = "factory"; reg = <0x70000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt3352_zyxel_nbg-419n-v2.dts b/target/linux/ramips/dts/rt3352_zyxel_nbg-419n-v2.dts index db58009e6d..f00fd58b71 100644 --- a/target/linux/ramips/dts/rt3352_zyxel_nbg-419n-v2.dts +++ b/target/linux/ramips/dts/rt3352_zyxel_nbg-419n-v2.dts @@ -86,7 +86,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt3662_asus_rt-n56u.dts b/target/linux/ramips/dts/rt3662_asus_rt-n56u.dts index af3f390d88..391076cee9 100644 --- a/target/linux/ramips/dts/rt3662_asus_rt-n56u.dts +++ b/target/linux/ramips/dts/rt3662_asus_rt-n56u.dts @@ -37,7 +37,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { reg = <0x00040000 0x00010000>; label = "factory"; read-only; diff --git a/target/linux/ramips/dts/rt3662_dlink_dir-645.dts b/target/linux/ramips/dts/rt3662_dlink_dir-645.dts index 19d15bed59..3d6479f44f 100644 --- a/target/linux/ramips/dts/rt3662_dlink_dir-645.dts +++ b/target/linux/ramips/dts/rt3662_dlink_dir-645.dts @@ -95,7 +95,7 @@ read-only; }; - factory: partition@34000 { + partition@34000 { label = "factory"; reg = <0x34000 0x4000>; read-only; diff --git a/target/linux/ramips/dts/rt3662_edimax_br-6475nd.dts b/target/linux/ramips/dts/rt3662_edimax_br-6475nd.dts index 0811c24934..051e28da8f 100644 --- a/target/linux/ramips/dts/rt3662_edimax_br-6475nd.dts +++ b/target/linux/ramips/dts/rt3662_edimax_br-6475nd.dts @@ -77,7 +77,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x00040000 0x00010000>; read-only; @@ -97,7 +97,7 @@ }; }; - devdata: partition@50000 { + partition@50000 { label = "devdata"; reg = <0x00050000 0x00020000>; read-only; diff --git a/target/linux/ramips/dts/rt3662_engenius_esr600h.dts b/target/linux/ramips/dts/rt3662_engenius_esr600h.dts index 2356aa93f9..b539d2d4a7 100644 --- a/target/linux/ramips/dts/rt3662_engenius_esr600h.dts +++ b/target/linux/ramips/dts/rt3662_engenius_esr600h.dts @@ -91,7 +91,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt3662_loewe_wmdr-143n.dts b/target/linux/ramips/dts/rt3662_loewe_wmdr-143n.dts index 1da233ba78..446144e1af 100644 --- a/target/linux/ramips/dts/rt3662_loewe_wmdr-143n.dts +++ b/target/linux/ramips/dts/rt3662_loewe_wmdr-143n.dts @@ -30,7 +30,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt3662_omnima_hpm.dts b/target/linux/ramips/dts/rt3662_omnima_hpm.dts index 3a09053f7b..82d79dedb4 100644 --- a/target/linux/ramips/dts/rt3662_omnima_hpm.dts +++ b/target/linux/ramips/dts/rt3662_omnima_hpm.dts @@ -112,7 +112,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { reg = <0x00040000 0x00010000>; label = "factory"; read-only; diff --git a/target/linux/ramips/dts/rt3662_samsung_cy-swr1100.dts b/target/linux/ramips/dts/rt3662_samsung_cy-swr1100.dts index d9f2e8c425..9964fcf600 100644 --- a/target/linux/ramips/dts/rt3662_samsung_cy-swr1100.dts +++ b/target/linux/ramips/dts/rt3662_samsung_cy-swr1100.dts @@ -37,7 +37,7 @@ read-only; }; - factory: partition@34000 { + partition@34000 { label = "factory"; reg = <0x34000 0x4000>; read-only; diff --git a/target/linux/ramips/dts/rt3883_belkin_f9k110x.dtsi b/target/linux/ramips/dts/rt3883_belkin_f9k110x.dtsi index 17c982a314..a2d1906b89 100644 --- a/target/linux/ramips/dts/rt3883_belkin_f9k110x.dtsi +++ b/target/linux/ramips/dts/rt3883_belkin_f9k110x.dtsi @@ -41,7 +41,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt3883_sitecom_wlr-6000.dts b/target/linux/ramips/dts/rt3883_sitecom_wlr-6000.dts index 5067a53457..94a47b8735 100644 --- a/target/linux/ramips/dts/rt3883_sitecom_wlr-6000.dts +++ b/target/linux/ramips/dts/rt3883_sitecom_wlr-6000.dts @@ -122,7 +122,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt3883_trendnet_tew-691gr.dts b/target/linux/ramips/dts/rt3883_trendnet_tew-691gr.dts index e982741435..d9ad78ba2b 100644 --- a/target/linux/ramips/dts/rt3883_trendnet_tew-691gr.dts +++ b/target/linux/ramips/dts/rt3883_trendnet_tew-691gr.dts @@ -37,7 +37,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { reg = <0x00040000 0x00010000>; label = "factory"; read-only; diff --git a/target/linux/ramips/dts/rt3883_trendnet_tew-692gr.dts b/target/linux/ramips/dts/rt3883_trendnet_tew-692gr.dts index 93a5aac758..c6a817aafc 100644 --- a/target/linux/ramips/dts/rt3883_trendnet_tew-692gr.dts +++ b/target/linux/ramips/dts/rt3883_trendnet_tew-692gr.dts @@ -37,7 +37,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { reg = <0x00040000 0x00010000>; label = "factory"; read-only; diff --git a/target/linux/ramips/dts/rt5350_7links_px-4885.dtsi b/target/linux/ramips/dts/rt5350_7links_px-4885.dtsi index 26db035c8e..ba330112e1 100644 --- a/target/linux/ramips/dts/rt5350_7links_px-4885.dtsi +++ b/target/linux/ramips/dts/rt5350_7links_px-4885.dtsi @@ -66,7 +66,7 @@ read-only; }; - devconf: partition@40000 { + partition@40000 { label = "devconf"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt5350_airlive_air3gii.dts b/target/linux/ramips/dts/rt5350_airlive_air3gii.dts index 4736721351..5c64ef30e6 100644 --- a/target/linux/ramips/dts/rt5350_airlive_air3gii.dts +++ b/target/linux/ramips/dts/rt5350_airlive_air3gii.dts @@ -62,7 +62,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt5350_allnet_all5003.dts b/target/linux/ramips/dts/rt5350_allnet_all5003.dts index 496f195801..dfa3339330 100644 --- a/target/linux/ramips/dts/rt5350_allnet_all5003.dts +++ b/target/linux/ramips/dts/rt5350_allnet_all5003.dts @@ -68,7 +68,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt5350_asiarf_awm002-evb.dtsi b/target/linux/ramips/dts/rt5350_asiarf_awm002-evb.dtsi index 0dbeeba639..eb5e25fa6e 100644 --- a/target/linux/ramips/dts/rt5350_asiarf_awm002-evb.dtsi +++ b/target/linux/ramips/dts/rt5350_asiarf_awm002-evb.dtsi @@ -72,7 +72,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt5350_belkin_f7c027.dts b/target/linux/ramips/dts/rt5350_belkin_f7c027.dts index 013dba456b..30eb833dd7 100644 --- a/target/linux/ramips/dts/rt5350_belkin_f7c027.dts +++ b/target/linux/ramips/dts/rt5350_belkin_f7c027.dts @@ -91,7 +91,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt5350_dlink_dcs-930l-b1.dts b/target/linux/ramips/dts/rt5350_dlink_dcs-930l-b1.dts index 6f671cc58f..254b8353a8 100644 --- a/target/linux/ramips/dts/rt5350_dlink_dcs-930l-b1.dts +++ b/target/linux/ramips/dts/rt5350_dlink_dcs-930l-b1.dts @@ -74,7 +74,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt5350_dlink_dir-300-b7.dts b/target/linux/ramips/dts/rt5350_dlink_dir-300-b7.dts index 8e586ca6e1..80740c5ae9 100644 --- a/target/linux/ramips/dts/rt5350_dlink_dir-300-b7.dts +++ b/target/linux/ramips/dts/rt5350_dlink_dir-300-b7.dts @@ -74,7 +74,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt5350_dlink_dir-320-b1.dts b/target/linux/ramips/dts/rt5350_dlink_dir-320-b1.dts index 501c06da46..71ea2256c4 100644 --- a/target/linux/ramips/dts/rt5350_dlink_dir-320-b1.dts +++ b/target/linux/ramips/dts/rt5350_dlink_dir-320-b1.dts @@ -97,7 +97,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt5350_dlink_dir-610-a1.dts b/target/linux/ramips/dts/rt5350_dlink_dir-610-a1.dts index 535e19284f..9a352d0ea5 100644 --- a/target/linux/ramips/dts/rt5350_dlink_dir-610-a1.dts +++ b/target/linux/ramips/dts/rt5350_dlink_dir-610-a1.dts @@ -68,7 +68,7 @@ read-only; }; - devdata: partition@30000 { + partition@30000 { label = "devdata"; reg = <0x30000 0x10000>; read-only; @@ -88,7 +88,7 @@ }; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt5350_dlink_dwr-512-b.dts b/target/linux/ramips/dts/rt5350_dlink_dwr-512-b.dts index 3c1d42ec73..56efcde9f5 100644 --- a/target/linux/ramips/dts/rt5350_dlink_dwr-512-b.dts +++ b/target/linux/ramips/dts/rt5350_dlink_dwr-512-b.dts @@ -104,7 +104,7 @@ reg = <0x10000 0x7e0000>; }; - config: partition@7f0000 { + partition@7f0000 { label = "config"; reg = <0x7f0000 0x10000>; diff --git a/target/linux/ramips/dts/rt5350_easyacc_wizard-8800.dts b/target/linux/ramips/dts/rt5350_easyacc_wizard-8800.dts index 9d7792867a..9b29539f8c 100644 --- a/target/linux/ramips/dts/rt5350_easyacc_wizard-8800.dts +++ b/target/linux/ramips/dts/rt5350_easyacc_wizard-8800.dts @@ -30,7 +30,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt5350_hame_mpr-a1.dts b/target/linux/ramips/dts/rt5350_hame_mpr-a1.dts index cabc7bf264..a463bace6f 100644 --- a/target/linux/ramips/dts/rt5350_hame_mpr-a1.dts +++ b/target/linux/ramips/dts/rt5350_hame_mpr-a1.dts @@ -84,7 +84,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt5350_hame_mpr-a2.dts b/target/linux/ramips/dts/rt5350_hame_mpr-a2.dts index 402071a852..557443a4c0 100644 --- a/target/linux/ramips/dts/rt5350_hame_mpr-a2.dts +++ b/target/linux/ramips/dts/rt5350_hame_mpr-a2.dts @@ -84,7 +84,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt5350_hilink_hlk-rm04.dts b/target/linux/ramips/dts/rt5350_hilink_hlk-rm04.dts index 3cc425d5af..6d7b1f0892 100644 --- a/target/linux/ramips/dts/rt5350_hilink_hlk-rm04.dts +++ b/target/linux/ramips/dts/rt5350_hilink_hlk-rm04.dts @@ -75,7 +75,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt5350_hootoo_ht-tm02.dts b/target/linux/ramips/dts/rt5350_hootoo_ht-tm02.dts index b41f5f0819..7d189338b7 100644 --- a/target/linux/ramips/dts/rt5350_hootoo_ht-tm02.dts +++ b/target/linux/ramips/dts/rt5350_hootoo_ht-tm02.dts @@ -75,7 +75,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt5350_intenso_memory2move.dts b/target/linux/ramips/dts/rt5350_intenso_memory2move.dts index b27408b67b..68807159d8 100644 --- a/target/linux/ramips/dts/rt5350_intenso_memory2move.dts +++ b/target/linux/ramips/dts/rt5350_intenso_memory2move.dts @@ -77,7 +77,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt5350_nexx_wt1520.dtsi b/target/linux/ramips/dts/rt5350_nexx_wt1520.dtsi index cc55507a95..4dbb324def 100644 --- a/target/linux/ramips/dts/rt5350_nexx_wt1520.dtsi +++ b/target/linux/ramips/dts/rt5350_nexx_wt1520.dtsi @@ -43,7 +43,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt5350_nixcore_x1.dtsi b/target/linux/ramips/dts/rt5350_nixcore_x1.dtsi index ce7751540b..0e35ffbedf 100644 --- a/target/linux/ramips/dts/rt5350_nixcore_x1.dtsi +++ b/target/linux/ramips/dts/rt5350_nixcore_x1.dtsi @@ -133,7 +133,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt5350_olimex_rt5350f-olinuxino.dtsi b/target/linux/ramips/dts/rt5350_olimex_rt5350f-olinuxino.dtsi index 59cbbad231..58b0bacc8a 100644 --- a/target/linux/ramips/dts/rt5350_olimex_rt5350f-olinuxino.dtsi +++ b/target/linux/ramips/dts/rt5350_olimex_rt5350f-olinuxino.dtsi @@ -33,7 +33,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt5350_omnima_miniembplug.dts b/target/linux/ramips/dts/rt5350_omnima_miniembplug.dts index ea75306ec4..2c09c12d79 100644 --- a/target/linux/ramips/dts/rt5350_omnima_miniembplug.dts +++ b/target/linux/ramips/dts/rt5350_omnima_miniembplug.dts @@ -87,7 +87,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt5350_planex_mzk-dp150n.dts b/target/linux/ramips/dts/rt5350_planex_mzk-dp150n.dts index 81fd205638..f6059f0645 100644 --- a/target/linux/ramips/dts/rt5350_planex_mzk-dp150n.dts +++ b/target/linux/ramips/dts/rt5350_planex_mzk-dp150n.dts @@ -62,7 +62,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt5350_poray_m3.dts b/target/linux/ramips/dts/rt5350_poray_m3.dts index b6c8a8c0d1..489f218456 100644 --- a/target/linux/ramips/dts/rt5350_poray_m3.dts +++ b/target/linux/ramips/dts/rt5350_poray_m3.dts @@ -69,7 +69,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt5350_poray_m4.dtsi b/target/linux/ramips/dts/rt5350_poray_m4.dtsi index fc41126591..74ce523566 100644 --- a/target/linux/ramips/dts/rt5350_poray_m4.dtsi +++ b/target/linux/ramips/dts/rt5350_poray_m4.dtsi @@ -61,7 +61,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt5350_poray_x5.dts b/target/linux/ramips/dts/rt5350_poray_x5.dts index fc654563a6..ac88c73364 100644 --- a/target/linux/ramips/dts/rt5350_poray_x5.dts +++ b/target/linux/ramips/dts/rt5350_poray_x5.dts @@ -101,7 +101,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt5350_poray_x8.dts b/target/linux/ramips/dts/rt5350_poray_x8.dts index a4284342d0..7930716dcf 100644 --- a/target/linux/ramips/dts/rt5350_poray_x8.dts +++ b/target/linux/ramips/dts/rt5350_poray_x8.dts @@ -62,7 +62,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt5350_tenda_3g150b.dts b/target/linux/ramips/dts/rt5350_tenda_3g150b.dts index 93dc25007e..407a18e761 100644 --- a/target/linux/ramips/dts/rt5350_tenda_3g150b.dts +++ b/target/linux/ramips/dts/rt5350_tenda_3g150b.dts @@ -78,7 +78,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt5350_trendnet_tew-714tru.dts b/target/linux/ramips/dts/rt5350_trendnet_tew-714tru.dts index a463d78236..44612945a3 100644 --- a/target/linux/ramips/dts/rt5350_trendnet_tew-714tru.dts +++ b/target/linux/ramips/dts/rt5350_trendnet_tew-714tru.dts @@ -83,7 +83,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt5350_unbranded_a5-v11.dts b/target/linux/ramips/dts/rt5350_unbranded_a5-v11.dts index a92798a961..c8b361842b 100644 --- a/target/linux/ramips/dts/rt5350_unbranded_a5-v11.dts +++ b/target/linux/ramips/dts/rt5350_unbranded_a5-v11.dts @@ -85,7 +85,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt5350_vocore_vocore.dtsi b/target/linux/ramips/dts/rt5350_vocore_vocore.dtsi index 8c5a185b05..ecb0b2eeca 100644 --- a/target/linux/ramips/dts/rt5350_vocore_vocore.dtsi +++ b/target/linux/ramips/dts/rt5350_vocore_vocore.dtsi @@ -183,7 +183,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt5350_wansview_ncs601w.dts b/target/linux/ramips/dts/rt5350_wansview_ncs601w.dts index fd3af22eb3..52be1d7284 100644 --- a/target/linux/ramips/dts/rt5350_wansview_ncs601w.dts +++ b/target/linux/ramips/dts/rt5350_wansview_ncs601w.dts @@ -30,7 +30,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt5350_wiznet_wizfi630a.dts b/target/linux/ramips/dts/rt5350_wiznet_wizfi630a.dts index 192c403a87..2aff7445e8 100644 --- a/target/linux/ramips/dts/rt5350_wiznet_wizfi630a.dts +++ b/target/linux/ramips/dts/rt5350_wiznet_wizfi630a.dts @@ -99,7 +99,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt5350_zorlik_zl5900v2.dts b/target/linux/ramips/dts/rt5350_zorlik_zl5900v2.dts index 8f8ffa66d9..488a4887b9 100644 --- a/target/linux/ramips/dts/rt5350_zorlik_zl5900v2.dts +++ b/target/linux/ramips/dts/rt5350_zorlik_zl5900v2.dts @@ -68,7 +68,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt5350_zyxel_keenetic-4g-b.dts b/target/linux/ramips/dts/rt5350_zyxel_keenetic-4g-b.dts index c81a2d5036..d37e4189a8 100644 --- a/target/linux/ramips/dts/rt5350_zyxel_keenetic-4g-b.dts +++ b/target/linux/ramips/dts/rt5350_zyxel_keenetic-4g-b.dts @@ -92,7 +92,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt5350_zyxel_keenetic-lite-b.dts b/target/linux/ramips/dts/rt5350_zyxel_keenetic-lite-b.dts index 3cf3e7b07d..7755b5dfef 100644 --- a/target/linux/ramips/dts/rt5350_zyxel_keenetic-lite-b.dts +++ b/target/linux/ramips/dts/rt5350_zyxel_keenetic-lite-b.dts @@ -75,7 +75,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; diff --git a/target/linux/ramips/dts/rt5350_zyxel_keenetic-start.dts b/target/linux/ramips/dts/rt5350_zyxel_keenetic-start.dts index eed11e59bf..663b9a3d8c 100644 --- a/target/linux/ramips/dts/rt5350_zyxel_keenetic-start.dts +++ b/target/linux/ramips/dts/rt5350_zyxel_keenetic-start.dts @@ -76,7 +76,7 @@ read-only; }; - factory: partition@40000 { + partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; From 2a752ff0281a0a060175f660895630804e2b95b7 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Wed, 21 Feb 2024 15:28:31 +0100 Subject: [PATCH 10/43] mac80211: add a fix for racy drv_sta_rc_update calls Fixes potential crash issues in mt76 and other drivers Signed-off-by: Felix Fietkau --- ...ly-call-drv_sta_rc_update-for-upload.patch | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 package/kernel/mac80211/patches/subsys/331-wifi-mac80211-only-call-drv_sta_rc_update-for-upload.patch diff --git a/package/kernel/mac80211/patches/subsys/331-wifi-mac80211-only-call-drv_sta_rc_update-for-upload.patch b/package/kernel/mac80211/patches/subsys/331-wifi-mac80211-only-call-drv_sta_rc_update-for-upload.patch new file mode 100644 index 0000000000..167b9e3f77 --- /dev/null +++ b/package/kernel/mac80211/patches/subsys/331-wifi-mac80211-only-call-drv_sta_rc_update-for-upload.patch @@ -0,0 +1,25 @@ +From: Felix Fietkau +Date: Wed, 21 Feb 2024 14:41:40 +0100 +Subject: [PATCH] wifi: mac80211: only call drv_sta_rc_update for uploaded + stations + +When a station has not been uploaded yet, receiving SMPS or channel width +notification action frames can lead to rate_control_rate_update calling +drv_sta_rc_update with uninitialized driver private data. +Fix this by adding a missing check for sta->uploaded. + +Signed-off-by: Felix Fietkau +--- + +--- a/net/mac80211/rate.c ++++ b/net/mac80211/rate.c +@@ -119,7 +119,8 @@ void rate_control_rate_update(struct iee + rcu_read_unlock(); + } + +- drv_sta_rc_update(local, sta->sdata, &sta->sta, changed); ++ if (sta->uploaded) ++ drv_sta_rc_update(local, sta->sdata, &sta->sta, changed); + } + + int ieee80211_rate_control_register(const struct rate_control_ops *ops) From 2b82c87b1f029aad159231c0f76c24372fd13e1f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Owoc?= Date: Tue, 16 Jan 2024 23:14:58 +0100 Subject: [PATCH 11/43] qualcommax: ipq807x: fix variable definition MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fix variable definition, prevent displaying warnings: - warning: overriding recipe for target - warning: ignoring old recipe for target Signed-off-by: Paweł Owoc --- target/linux/qualcommax/image/Makefile | 2 +- target/linux/qualcommax/image/ipq807x.mk | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/target/linux/qualcommax/image/Makefile b/target/linux/qualcommax/image/Makefile index 6841693194..8d3f16755b 100644 --- a/target/linux/qualcommax/image/Makefile +++ b/target/linux/qualcommax/image/Makefile @@ -25,7 +25,7 @@ define Device/FitImageLzma endef define Device/EmmcImage - IMAGES += factory.bin sysupgrade.bin + 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 endef diff --git a/target/linux/qualcommax/image/ipq807x.mk b/target/linux/qualcommax/image/ipq807x.mk index 3bbd0b3d11..e68b53b0ef 100644 --- a/target/linux/qualcommax/image/ipq807x.mk +++ b/target/linux/qualcommax/image/ipq807x.mk @@ -144,7 +144,7 @@ define Device/netgear_rax120v2 NETGEAR_HW_ID := 29765589+0+512+1024+4x4+8x8 DEVICE_PACKAGES := ipq-wifi-netgear_rax120v2 kmod-spi-gpio \ kmod-spi-bitbang kmod-gpio-nxp-74hc164 kmod-hwmon-g761 - IMAGES = web-ui-factory.img sysupgrade.bin + IMAGES := web-ui-factory.img sysupgrade.bin IMAGE/web-ui-factory.img := append-image initramfs-uImage.itb | \ pad-offset $$$$(BLOCKSIZE) 64 | append-uImage-fakehdr filesystem | \ netgear-dni @@ -182,7 +182,7 @@ define Device/netgear_wax620 BLOCKSIZE := 128k PAGESIZE := 2048 SOC := ipq8072 - DEVICE_PACKAGES += kmod-spi-gpio kmod-gpio-nxp-74hc164 \ + DEVICE_PACKAGES := kmod-spi-gpio kmod-gpio-nxp-74hc164 \ ipq-wifi-netgear_wax620 endef TARGET_DEVICES += netgear_wax620 @@ -198,7 +198,7 @@ define Device/netgear_wax630 SOC := ipq8074 IMAGES := ui-factory.tar factory.ubi sysupgrade.bin IMAGE/ui-factory.tar := append-ubi | wax6xx-netgear-tar - DEVICE_PACKAGES += kmod-spi-gpio ipq-wifi-netgear_wax630 + DEVICE_PACKAGES := kmod-spi-gpio ipq-wifi-netgear_wax630 endef TARGET_DEVICES += netgear_wax630 @@ -209,7 +209,7 @@ define Device/prpl_haze DEVICE_MODEL := Haze DEVICE_DTS_CONFIG := config@hk09 SOC := ipq8072 - DEVICE_PACKAGES += ath11k-firmware-qcn9074 ipq-wifi-prpl_haze kmod-ath11k-pci \ + DEVICE_PACKAGES := ath11k-firmware-qcn9074 ipq-wifi-prpl_haze kmod-ath11k-pci \ mkf2fs f2fsck kmod-fs-f2fs kmod-leds-lp5562 endef TARGET_DEVICES += prpl_haze @@ -222,7 +222,7 @@ define Device/qnap_301w DEVICE_DTS_CONFIG := config@hk01 KERNEL_SIZE := 16384k SOC := ipq8072 - DEVICE_PACKAGES += ipq-wifi-qnap_301w + DEVICE_PACKAGES := ipq-wifi-qnap_301w endef TARGET_DEVICES += qnap_301w @@ -263,7 +263,7 @@ define Device/xiaomi_ax9000 SOC := ipq8072 KERNEL_SIZE := 57344k DEVICE_PACKAGES := ipq-wifi-xiaomi_ax9000 kmod-ath11k-pci ath11k-firmware-qcn9074 \ - kmod-ath10k-ct ath10k-firmware-qca9887-ct + kmod-ath10k-ct ath10k-firmware-qca9887-ct ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),) ARTIFACTS := initramfs-factory.ubi ARTIFACT/initramfs-factory.ubi := append-image-stage initramfs-uImage.itb | ubinize-kernel @@ -307,7 +307,7 @@ define Device/zyxel_nbg7815 DEVICE_MODEL := NBG7815 DEVICE_DTS_CONFIG := config@nbg7815 SOC := ipq8074 - DEVICE_PACKAGES += ipq-wifi-zyxel_nbg7815 kmod-ath11k-pci \ + DEVICE_PACKAGES := ipq-wifi-zyxel_nbg7815 kmod-ath11k-pci \ kmod-bluetooth kmod-hwmon-tmp103 endef TARGET_DEVICES += zyxel_nbg7815 From e670a939cd231db69d34aaa70a36892289af5cf1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Owoc?= Date: Thu, 15 Feb 2024 21:33:28 +0100 Subject: [PATCH 12/43] qualcommax: ipq807x: remove duplicated sysupgrade image definitions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Image sysupgrade.bin is defined by default and there is no need to define it. Signed-off-by: Paweł Owoc --- target/linux/qualcommax/image/Makefile | 5 ++--- target/linux/qualcommax/image/ipq807x.mk | 8 +++----- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/target/linux/qualcommax/image/Makefile b/target/linux/qualcommax/image/Makefile index 8d3f16755b..c12fc97807 100644 --- a/target/linux/qualcommax/image/Makefile +++ b/target/linux/qualcommax/image/Makefile @@ -25,16 +25,15 @@ define Device/FitImageLzma endef define Device/EmmcImage - IMAGES := factory.bin sysupgrade.bin + IMAGES += factory.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 endef define Device/UbiFit KERNEL_IN_UBI := 1 - IMAGES := factory.ubi sysupgrade.bin + IMAGES += factory.ubi IMAGE/factory.ubi := append-ubi - IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata endef include $(SUBTARGET).mk diff --git a/target/linux/qualcommax/image/ipq807x.mk b/target/linux/qualcommax/image/ipq807x.mk index e68b53b0ef..87c53dffdc 100644 --- a/target/linux/qualcommax/image/ipq807x.mk +++ b/target/linux/qualcommax/image/ipq807x.mk @@ -30,8 +30,6 @@ define Device/buffalo_wxr-5950ax12 PAGESIZE := 2048 DEVICE_DTS_CONFIG := config@hk01 SOC := ipq8074 - IMAGES := sysupgrade.bin - IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata DEVICE_PACKAGES := ipq-wifi-buffalo_wxr-5950ax12 endef TARGET_DEVICES += buffalo_wxr-5950ax12 @@ -45,7 +43,7 @@ define Device/cmcc_rm2-6 PAGESIZE := 2048 DEVICE_DTS_CONFIG := config@ac02 SOC := ipq8070 - IMAGES := factory.bin sysupgrade.bin + IMAGES += factory.bin IMAGE/factory.bin := append-ubi | qsdk-ipq-factory-nand DEVICE_PACKAGES := ipq-wifi-cmcc_rm2-6 kmod-hwmon-gpiofan endef @@ -144,7 +142,7 @@ define Device/netgear_rax120v2 NETGEAR_HW_ID := 29765589+0+512+1024+4x4+8x8 DEVICE_PACKAGES := ipq-wifi-netgear_rax120v2 kmod-spi-gpio \ kmod-spi-bitbang kmod-gpio-nxp-74hc164 kmod-hwmon-g761 - IMAGES := web-ui-factory.img sysupgrade.bin + IMAGES += web-ui-factory.img IMAGE/web-ui-factory.img := append-image initramfs-uImage.itb | \ pad-offset $$$$(BLOCKSIZE) 64 | append-uImage-fakehdr filesystem | \ netgear-dni @@ -196,7 +194,7 @@ define Device/netgear_wax630 BLOCKSIZE := 128k PAGESIZE := 2048 SOC := ipq8074 - IMAGES := ui-factory.tar factory.ubi sysupgrade.bin + IMAGES += ui-factory.tar IMAGE/ui-factory.tar := append-ubi | wax6xx-netgear-tar DEVICE_PACKAGES := kmod-spi-gpio ipq-wifi-netgear_wax630 endef From 568f38a56baa9f8700e9d6b9e88e2dbf70ed5030 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Owoc?= Date: Tue, 16 Jan 2024 23:29:01 +0100 Subject: [PATCH 13/43] qualcommax: ipq807x: skip factory.ubi image for MX4200 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Skip building not used factory.ubi image Signed-off-by: Paweł Owoc --- target/linux/qualcommax/image/ipq807x.mk | 2 -- 1 file changed, 2 deletions(-) diff --git a/target/linux/qualcommax/image/ipq807x.mk b/target/linux/qualcommax/image/ipq807x.mk index 87c53dffdc..916c8b9f75 100644 --- a/target/linux/qualcommax/image/ipq807x.mk +++ b/target/linux/qualcommax/image/ipq807x.mk @@ -105,7 +105,6 @@ TARGET_DEVICES += edimax_cax1800 define Device/linksys_mx4200v1 $(call Device/FitImage) - $(call Device/UbiFit) DEVICE_VENDOR := Linksys DEVICE_MODEL := MX4200 DEVICE_VARIANT := v1 @@ -114,7 +113,6 @@ define Device/linksys_mx4200v1 KERNEL_SIZE := 6144k IMAGE_SIZE := 147456k NAND_SIZE := 512m - KERNEL_IN_UBI := SOC := ipq8174 IMAGES += factory.bin IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | linksys-image type=MX4200 From 548c5935bfd5783323b23bb431425ac4c6d6adee Mon Sep 17 00:00:00 2001 From: Mantas Pucka Date: Mon, 12 Feb 2024 15:09:30 +0200 Subject: [PATCH 14/43] qualcommax: ipq60xx: set correct PHY mode for port 0-4 [port 8ed390a (qualcommax: set correct PHY mode for port 0-4) to ipq60xx] Port 0-4 have the mode set to SGMII instead of PSGMII. Now that we use he upstream qca807x driver, this conflicts with the qca SSDK driver that expects the mode to be PSGMII as for not integrated driver, it does refer to the real PHY mode. Update the entry for port 0-4 to PSGMII to solve warning from qca SSDK in ipq6018-ess.dtsi. Signed-off-by: Mantas Pucka --- .../files/arch/arm64/boot/dts/qcom/ipq6018-ess.dtsi | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq6018-ess.dtsi b/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq6018-ess.dtsi index 92ff7c2a5a..ad4357bb37 100644 --- a/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq6018-ess.dtsi +++ b/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq6018-ess.dtsi @@ -457,7 +457,7 @@ reg = <0x0 0x3a001000 0x0 0x200>; qcom,mactype = <0>; local-mac-address = [000000000000]; - phy-mode = "sgmii"; + phy-mode = "psgmii"; status = "disabled"; }; @@ -468,7 +468,7 @@ reg = <0x0 0x3a001200 0x0 0x200>; qcom,mactype = <0>; local-mac-address = [000000000000]; - phy-mode = "sgmii"; + phy-mode = "psgmii"; status = "disabled"; }; @@ -479,7 +479,7 @@ reg = <0x0 0x3a001400 0x0 0x200>; qcom,mactype = <0>; local-mac-address = [000000000000]; - phy-mode = "sgmii"; + phy-mode = "psgmii"; status = "disabled"; }; @@ -490,7 +490,7 @@ reg = <0x0 0x3a001600 0x0 0x200>; qcom,mactype = <0>; local-mac-address = [000000000000]; - phy-mode = "sgmii"; + phy-mode = "psgmii"; status = "disabled"; }; From d08d53346b993431e309797d5e6de8da20147c3c Mon Sep 17 00:00:00 2001 From: Mantas Pucka Date: Mon, 12 Feb 2024 15:05:25 +0200 Subject: [PATCH 15/43] qca-ssdk: support selecting PCS channel for PORT3 on IPQ6018 When QCA8072 is used in PSGMII mode with IPQ6018, PCS used for second PHY port would overlap with one used by SGMII+ port. SoC has register to select different PCS in such case. Original code used PHY_ID for this decision, which also had other issues, but is no longer viable since we moved to upstream QCA807x driver. Introduce DT property port3_pcs_channel to allow describing this in DT. Default value is <2>, and for some QCA8072 designs <4> would be needed. Signed-off-by: Mantas Pucka --- ...-selecting-PCS-channel-for-PORT3-on-.patch | 146 ++++++++++++++++++ 1 file changed, 146 insertions(+) create mode 100644 package/kernel/qca-ssdk/patches/102-qca-ssdk-support-selecting-PCS-channel-for-PORT3-on-.patch diff --git a/package/kernel/qca-ssdk/patches/102-qca-ssdk-support-selecting-PCS-channel-for-PORT3-on-.patch b/package/kernel/qca-ssdk/patches/102-qca-ssdk-support-selecting-PCS-channel-for-PORT3-on-.patch new file mode 100644 index 0000000000..a8863bf463 --- /dev/null +++ b/package/kernel/qca-ssdk/patches/102-qca-ssdk-support-selecting-PCS-channel-for-PORT3-on-.patch @@ -0,0 +1,146 @@ +From 0116bb7359bd99c09bcad1b2051652cd1a04be3f Mon Sep 17 00:00:00 2001 +From: Mantas Pucka +Date: Mon, 12 Feb 2024 14:23:04 +0200 +Subject: [PATCH] qca-ssdk: support selecting PCS channel for PORT3 on IPQ6018 + +When QCA8072 is used in PSGMII mode with IPQ6018, PCS used for second +PHY port would overlap with one used by SGMII+ port. SoC has register +to select different PCS in such case. + +Original code used PHY_ID for this decision, which also had other +issues, but is no longer viable since we moved to upstream QCA807x +driver. + +Introduce DT property port3_pcs_channel to allow describing this in DT. +Default value is <2>, and for some QCA8072 designs <4> would be needed. + +Signed-off-by: Mantas Pucka +--- + include/init/ssdk_dts.h | 2 ++ + src/adpt/cppe/adpt_cppe_portctrl.c | 4 ++-- + src/adpt/hppe/adpt_hppe_uniphy.c | 7 +------ + 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 + a_uint32_t emu_chip_ver; /*only valid when is_emulation is true*/ + a_uint32_t clk_mode; + a_uint32_t pcie_hw_base; ++ a_uint32_t port3_pcs_channel; + } ssdk_dt_cfg; + + #define SSDK_MAX_NR_ETH 6 +@@ -163,6 +164,7 @@ a_uint32_t ssdk_device_id_get(a_uint32_t index); + 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); ++a_uint32_t ssdk_dts_port3_pcs_channel_get(a_uint32_t dev_id); + + 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 @@ + #include "hsl_phy.h" + #include "hsl_port_prop.h" + #include "hppe_init.h" ++#include "ssdk_dts.h" + #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, + case SSDK_PHYSICAL_PORT3: + case SSDK_PHYSICAL_PORT4: + if (mode0 == PORT_WRAPPER_PSGMII) { +- if (hsl_port_phyid_get(dev_id, +- SSDK_PHYSICAL_PORT3) == MALIBU2PORT_PHY) { ++ if (ssdk_dts_port3_pcs_channel_get(dev_id) == 4) { + 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) + { + a_uint32_t i; + sw_error_t rv = SW_OK; +-#if defined(CPPE) +- a_uint32_t phy_type = 0; +-#endif + + 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) + SSDK_DEBUG("uniphy %d is psgmii mode\n", uniphy_index); + #if defined(CPPE) + if (adpt_ppe_type_get(dev_id) == CPPE_TYPE) { +- phy_type = hsl_port_phyid_get(dev_id, +- SSDK_PHYSICAL_PORT3); +- if (phy_type == MALIBU2PORT_PHY) { ++ if (ssdk_dts_port3_pcs_channel_get(dev_id) == 4) { + 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) + return cfg->cmnblk_clk; + } + ++a_uint32_t ssdk_dts_port3_pcs_channel_get(a_uint32_t dev_id) ++{ ++ ssdk_dt_cfg* cfg = ssdk_dt_global.ssdk_dt_switch_nodes[dev_id]; ++ ++ return cfg->port3_pcs_channel; ++} ++ + #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, + + return; + } ++ ++static void ssdk_dt_parse_port3_pcs_channel(a_uint32_t dev_id, ++ struct device_node *switch_node, ssdk_init_cfg *cfg) ++{ ++ const __be32 *port3_pcs_channel; ++ a_uint32_t len = 0; ++ ++ port3_pcs_channel = of_get_property(switch_node, "port3_pcs_channel", &len); ++ if (!port3_pcs_channel) { ++ ssdk_dt_global.ssdk_dt_switch_nodes[dev_id]->port3_pcs_channel = 2; ++ } ++ else { ++ ssdk_dt_global.ssdk_dt_switch_nodes[dev_id]->port3_pcs_channel = ++ be32_to_cpup(port3_pcs_channel); ++ } ++ ++ return; ++} ++ + #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) + 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); ++ ssdk_dt_parse_port3_pcs_channel(*dev_id, switch_node, cfg); + 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 + From aa6cc0a52b1bbfbecc4a19bfdd06eb2b7513cdcb Mon Sep 17 00:00:00 2001 From: Mantas Pucka Date: Wed, 3 Jan 2024 11:31:03 +0200 Subject: [PATCH 16/43] mac80211: ath11k: disable coldboot for ipq6018 Coldboot calibration does not work at the moment and causes failure during wifi startup. Signed-off-by: Mantas Pucka --- ...-ath11k-disable-coldboot-for-ipq6018.patch | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 package/kernel/mac80211/patches/ath11k/0906-wifi-ath11k-disable-coldboot-for-ipq6018.patch diff --git a/package/kernel/mac80211/patches/ath11k/0906-wifi-ath11k-disable-coldboot-for-ipq6018.patch b/package/kernel/mac80211/patches/ath11k/0906-wifi-ath11k-disable-coldboot-for-ipq6018.patch new file mode 100644 index 0000000000..db646f7620 --- /dev/null +++ b/package/kernel/mac80211/patches/ath11k/0906-wifi-ath11k-disable-coldboot-for-ipq6018.patch @@ -0,0 +1,26 @@ +From a3be23672b4a81256d275af31afc6edcce5c5a26 Mon Sep 17 00:00:00 2001 +From: Mantas Pucka +Date: Mon, 22 Jan 2024 11:38:28 +0200 +Subject: [PATCH] wifi: ath11k: disable coldboot for ipq6018 + +Coldboot calibration does not work at the moment and causes failure during +wifi startup. + +Signed-off-by: Mantas Pucka +--- + drivers/net/wireless/ath/ath11k/core.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- a/drivers/net/wireless/ath/ath11k/core.c ++++ b/drivers/net/wireless/ath/ath11k/core.c +@@ -168,8 +168,8 @@ static const struct ath11k_hw_params ath + .supports_shadow_regs = false, + .idle_ps = false, + .supports_sta_ps = false, +- .coldboot_cal_mm = true, +- .coldboot_cal_ftm = true, ++ .coldboot_cal_mm = false, ++ .coldboot_cal_ftm = false, + .cbcal_restart_fw = true, + .fw_mem_mode = 0, + .num_vdevs = 16 + 1, From 586a051d4d118e428e0bddbdab6b27d10cb8ce94 Mon Sep 17 00:00:00 2001 From: Mantas Pucka Date: Wed, 3 Jan 2024 11:21:58 +0200 Subject: [PATCH 17/43] ath11k-firmware: add wifi firmware for ipq6018 So far only stable FW is v2.4. It exists in a different git repo, so add custom download routine. Signed-off-by: Mantas Pucka --- package/firmware/ath11k-firmware/Makefile | 30 ++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/package/firmware/ath11k-firmware/Makefile b/package/firmware/ath11k-firmware/Makefile index ea4977aa68..384595f10d 100644 --- a/package/firmware/ath11k-firmware/Makefile +++ b/package/firmware/ath11k-firmware/Makefile @@ -11,7 +11,7 @@ PKG_NAME:=ath11k-firmware PKG_SOURCE_DATE:=2023-08-22 PKG_SOURCE_VERSION:=d8f82a98ff1aef330d65d8b5660b46d1a9809ee3 PKG_MIRROR_HASH:=3dba19449758c3b17f117990d7ad4086554e012b579f1de16e9d9196a7fbaaa7 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://github.com/quic/upstream-wifi-fw.git @@ -32,6 +32,11 @@ define Package/ath11k-firmware-default DEPENDS:= endef +define Package/ath11k-firmware-ipq6018 +$(Package/ath11k-firmware-default) + TITLE:=IPQ6018 ath11k firmware +endef + define Package/ath11k-firmware-ipq8074 $(Package/ath11k-firmware-default) TITLE:=IPQ8074 ath11k firmware @@ -57,6 +62,28 @@ define Download/qcn9074-board endef $(eval $(call Download,qcn9074-board)) +define Download/ath11k-firmware-old + URL:=https://github.com/kvalo/ath11k-firmware.git + VERSION:=540105aa5c0903b5f773d4e80b8501e8da5217e7 + PROTO:=git + FILE:=ath11k-firmware-old.tar.xz + SUBDIR:=ath11k-firmware-old + MIRROR_HASH:=a35a164726fab2adc4ad447c974c06746355ba74deab9b849d39f06b5187bb6d +endef +$(eval $(call Download,ath11k-firmware-old)) + +define Build/Prepare + $(call Build/Prepare/Default) + xzcat $(DL_DIR)/ath11k-firmware-old.tar.xz | tar -C $(PKG_BUILD_DIR)/ -xf - +endef + +define Package/ath11k-firmware-ipq6018/install + $(INSTALL_DIR) $(1)/lib/firmware/IPQ6018 + $(INSTALL_DATA) \ + $(PKG_BUILD_DIR)/ath11k-firmware-old/IPQ6018/hw1.0/2.4.0.1/WLAN.HK.2.4.0.1-01746-QCAHKSWPL_SILICONZ-1/* \ + $(1)/lib/firmware/IPQ6018/ +endef + define Package/ath11k-firmware-ipq8074/install $(INSTALL_DIR) $(1)/lib/firmware/IPQ8074 $(INSTALL_DATA) \ @@ -73,5 +100,6 @@ define Package/ath11k-firmware-qcn9074/install $(DL_DIR)/$(QCN9074_BOARD_FILE) $(1)/lib/firmware/ath11k/QCN9074/hw1.0/board-2.bin endef +$(eval $(call BuildPackage,ath11k-firmware-ipq6018)) $(eval $(call BuildPackage,ath11k-firmware-ipq8074)) $(eval $(call BuildPackage,ath11k-firmware-qcn9074)) From 03935cf7de8c20549ceedab8ae5aeb05c59e92a0 Mon Sep 17 00:00:00 2001 From: Mantas Pucka Date: Tue, 20 Feb 2024 10:44:06 +0200 Subject: [PATCH 18/43] ipq-wifi: update to Git HEAD (2024-02-19) 1cc59e1 ipq6018: add 8devices Mango BDF 10279cc ipq40xx:Add support for Netgear LBR20 with two BDF's Signed-off-by: Mantas Pucka --- package/firmware/ipq-wifi/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package/firmware/ipq-wifi/Makefile b/package/firmware/ipq-wifi/Makefile index 34faf5c3db..eae84c7835 100644 --- a/package/firmware/ipq-wifi/Makefile +++ b/package/firmware/ipq-wifi/Makefile @@ -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-01-06 -PKG_SOURCE_VERSION:=71f45cff8944405b7cc2bf5c19df2bd8fe7f2421 -PKG_MIRROR_HASH:=90c3c1659c54cdb4685d0a71633746c1000230e459801eb8ce12c805a994cc37 +PKG_SOURCE_DATE:=2024-02-19 +PKG_SOURCE_VERSION:=1cc59e1e09f68305bbf15e2de23d1c1829aee1eb +PKG_MIRROR_HASH:=383e7384d37cde2433b9bf6daee5d57ecd6f2c473f00901b491ae0c15d97fd53 PKG_FLAGS:=nonshared From 10ba730b7bcb7d9c4d73ac0956fa18f06deb0e52 Mon Sep 17 00:00:00 2001 From: Mantas Pucka Date: Wed, 3 Jan 2024 11:25:59 +0200 Subject: [PATCH 19/43] ipq-wifi: add support for 8devices Mango board Add support for .ipq6018 BDF suffix and add Mango board entry Signed-off-by: Mantas Pucka --- package/firmware/ipq-wifi/Makefile | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/package/firmware/ipq-wifi/Makefile b/package/firmware/ipq-wifi/Makefile index eae84c7835..2b53d3e21b 100644 --- a/package/firmware/ipq-wifi/Makefile +++ b/package/firmware/ipq-wifi/Makefile @@ -28,6 +28,7 @@ endef # ALLWIFIBOARDS:= \ + 8devices_mango \ arcadyan_aw1000 \ buffalo_wxr-5950ax12 \ cmcc_rm2-6 \ @@ -85,12 +86,14 @@ define ipq-wifi-install-one $(call ipq-wifi-install-one-to,$(1),$(2),QCA9984/hw1.0),\ $(if $(filter $(suffix $(1)),.QCA99X0 .qca99x0),\ $(call ipq-wifi-install-one-to,$(1),$(2),QCA99X0/hw2.0),\ + $(if $(filter $(suffix $(1)),.IPQ6018 .ipq6018),\ + $(call ipq-wifi-install-ath11-one-to,$(1),$(2),IPQ6018/hw1.0),\ $(if $(filter $(suffix $(1)),.IPQ8074 .ipq8074 .ipq8174),\ $(call ipq-wifi-install-ath11-one-to,$(1),$(2),IPQ8074/hw2.0),\ $(if $(filter $(suffix $(1)),.QCN9074 .qcn9074),\ $(call ipq-wifi-install-ath11-one-to,$(1),$(2),QCN9074/hw1.0),\ $(error Unrecognized board-file suffix '$(suffix $(1))' for '$(1)')\ - ))))))) + )))))))) endef # Blank line required at end of above define due to foreach context @@ -140,6 +143,7 @@ endef # Board files should follow this name structure: # board-. +$(eval $(call generate-ipq-wifi-package,8devices_mango,8devices Mango)) $(eval $(call generate-ipq-wifi-package,arcadyan_aw1000,Arcadyan AW1000)) $(eval $(call generate-ipq-wifi-package,buffalo_wxr-5950ax12,Buffalo WXR-5950AX12)) $(eval $(call generate-ipq-wifi-package,cmcc_rm2-6,CMCC RM2-6)) From 44168fda7800dfdd28c8d51fa92b4863f4fd6ea9 Mon Sep 17 00:00:00 2001 From: Mantas Pucka Date: Mon, 22 Jan 2024 11:28:32 +0200 Subject: [PATCH 20/43] qualcommax: ipq60xx: Add 8devices Mango DVK 8devices Mango DVK is a single board computer / devkit for 8devices Mango system-on-module (SoM). Specifications: * CPU: Qualcomm IPQ6010 Quad core Cortex-A53 1.8GHz * RAM: 512 MB * Storage: * 32 MB serial NOR flash (on SoM) * 256 MB parallel NAND flash (on DVK) * Ethernet: * 2x1G RJ45 ports(QCA8072 or QCA8075) * 1x2.5G RJ45 port (QCA8081) * 1xSFP (shares SGMII with QCA8081) * Switch: Qualcomm Atheros IPQ6010 * WLAN: * 2.4GHz: QCN5121 2x2 802.11b/g/n/ax 574 Mbps PHY rate * 5GHz: QCN5152 2x2 802.11a/n/ac/ax 1201 Mbps PHY rate * USB: * 1x USB3.0 Type-A port * 1x USB2.0 available at mini PCIe slot * PCIe: 1x mini PCIe slot 1xLane Gen3 (8GT/s) * SD/eMMC (on a single shared bus - only one can be active): * micro SD slot * eMMC module connector * LEDs: * Green power led (not controllable) * Green 2.4GHz radio led (GPIO 67) * Green 5GHz radio led (GPIO 66) * Buttons: * 1x (WPS GPIO79) button * GPIOs: 2.54mm header brings out 18 GPIOs (1.8V level) * UART: 4-pin UART header (3.3V level) * 115200 8N1, 3.3V-Tx-Rx-GND (3.3V is pin 1 close to boot-switch SW2) * Power: * PoE IN on 2.5G port (passive 24-48V) * DC power terminal (12-58V) Installation instructions: Vendor image format is compatible with squashfs-sysupgrade image. Run: sysupgrade -n -F openwrt-qualcommax-ipq60xx-8devices_mango-dvk-squashfs-sysupgrade.bin Signed-off-by: Mantas Pucka --- .../uboot-envtools/files/qualcommax_ipq60xx | 22 ++ .../arm64/boot/dts/qcom/ipq6010-mango-dvk.dts | 360 ++++++++++++++++++ target/linux/qualcommax/image/ipq60xx.mk | 12 + .../ipq60xx/base-files/etc/board.d/02_network | 28 ++ .../etc/hotplug.d/firmware/11-ath11-caldata | 20 + .../base-files/lib/upgrade/platform.sh | 17 + 6 files changed, 459 insertions(+) create mode 100644 package/boot/uboot-envtools/files/qualcommax_ipq60xx create mode 100644 target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq6010-mango-dvk.dts create mode 100644 target/linux/qualcommax/ipq60xx/base-files/etc/board.d/02_network create mode 100644 target/linux/qualcommax/ipq60xx/base-files/etc/hotplug.d/firmware/11-ath11-caldata create mode 100644 target/linux/qualcommax/ipq60xx/base-files/lib/upgrade/platform.sh diff --git a/package/boot/uboot-envtools/files/qualcommax_ipq60xx b/package/boot/uboot-envtools/files/qualcommax_ipq60xx new file mode 100644 index 0000000000..df19a30335 --- /dev/null +++ b/package/boot/uboot-envtools/files/qualcommax_ipq60xx @@ -0,0 +1,22 @@ +[ -e /etc/config/ubootenv ] && exit 0 + +touch /etc/config/ubootenv + +. /lib/uboot-envtools.sh +. /lib/functions.sh + +board=$(board_name) + +case "$board" in +8devices,mango-dvk|\ +8devices,mango-dvk-sfp) + idx="$(find_mtd_index 0:APPSBLENV)" + [ -n "$idx" ] && \ + ubootenv_add_uci_config "/dev/mtd$idx" "0x0" "0x10000" "0x10000" + ;; +esac + +config_load ubootenv +config_foreach ubootenv_add_app_config + +exit 0 diff --git a/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq6010-mango-dvk.dts b/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq6010-mango-dvk.dts new file mode 100644 index 0000000000..27247524a3 --- /dev/null +++ b/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq6010-mango-dvk.dts @@ -0,0 +1,360 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +/dts-v1/; + +#include "ipq6018.dtsi" +#include "ipq6018-cp-cpu.dtsi" +#include "ipq6018-ess.dtsi" +#include +#include +#include + +/ { + model = "8devices Mango-DVK"; + compatible = "8devices,mango-dvk", "qcom,ipq6018"; + + aliases { + serial0 = &blsp1_uart3; + }; + + chosen { + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys"; + + wps { + label = "wps"; + gpios = <&tlmm 79 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + }; + + leds { + compatible = "gpio-leds"; + pinctrl-0 = <&led_pins>; + pinctrl-names = "default"; + + wlan5g { + color = ; + function = LED_FUNCTION_WLAN; + function-enumerator = <0>; + gpios = <&tlmm 66 GPIO_ACTIVE_HIGH>; + linux,default-trigger = "phy0radio"; + }; + + wlan2g { + color = ; + function = LED_FUNCTION_WLAN; + function-enumerator = <1>; + gpios = <&tlmm 67 GPIO_ACTIVE_HIGH>; + linux,default-trigger = "phy1radio"; + }; + }; +}; + +&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; + }; + }; + + spi_0_pins: spi-0-pins { + pins = "gpio38", "gpio39", "gpio40", "gpio41"; + function = "blsp0_spi"; + drive-strength = <8>; + bias-pull-down; + }; + + led_pins: led_pins { + leds { + pins = "gpio66", "gpio67"; + function = "gpio"; + drive-strength = <8>; + bias-pull-down; + }; + }; + + sd_pins: sd_pins { + sd_cd { + pins = "gpio62"; + function = "gpio"; + drive-strength = <8>; + bias-pull-up; + }; + }; +}; + +&blsp1_uart3 { + pinctrl-0 = <&serial_3_pins>; + pinctrl-names = "default"; + status = "okay"; +}; + +&blsp1_spi1 { + pinctrl-0 = <&spi_0_pins>; + pinctrl-names = "default"; + status = "okay"; + + flash@0 { + #address-cells = <1>; + #size-cells = <1>; + reg = <0>; + compatible = "jedec,spi-nor"; + spi-max-frequency = <25000000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "0:SBL1"; + reg = <0x00000000 0x000c0000>; + }; + + partition@c0000 { + label = "0:MIBIB"; + reg = <0x000c0000 0x00010000>; + }; + + partition@d0000 { + label = "0:QSEE"; + reg = <0x000d0000 0x001a0000>; + }; + + partition@270000 { + label = "0:DEVCFG"; + reg = <0x00270000 0x00010000>; + }; + + partition@280000 { + label = "0:RPM"; + reg = <0x00280000 0x00020000>; + }; + + partition@2a0000 { + label = "0:CDT"; + reg = <0x002a0000 0x00010000>; + }; + + partition@2b0000 { + label = "0:APPSBLENV"; + reg = <0x002b0000 0x00010000>; + }; + + partition@2c0000 { + label = "0:APPSBL"; + reg = <0x002c0000 0x000a0000>; + }; + + partition@360000 { + compatible = "nvmem-cells"; + #address-cells = <1>; + #size-cells = <1>; + label = "0:ART"; + reg = <0x00360000 0x00040000>; + + macaddr_eth0: macaddr@0 { + reg = <0x0 0x6>; + }; + + macaddr_eth1: macaddr@6 { + reg = <0x6 0x6>; + }; + + macaddr_eth2: macaddr@c { + reg = <0xc 0x6>; + }; + }; + + partition@3a0000 { + label = "config"; + reg = <0x003a0000 0x00040000>; + }; + + partition@3e0000 { + label = "data"; + reg = <0x003e0000 0x00100000>; + }; + + partition@4e0000 { + label = "firmware"; + compatible = "denx,fit"; + reg = <0x004e0000 0x1b20000>; + }; + }; + }; +}; + +&dp3 { + status = "okay"; + + phy-handle = <&qca8072_1>; + nvmem-cells = <&macaddr_eth1>; + nvmem-cell-names = "mac-address"; + label = "lan2"; +}; + +&dp4 { + status = "okay"; + + phy-handle = <&qca8072_0>; + nvmem-cells = <&macaddr_eth0>; + nvmem-cell-names = "mac-address"; + label = "lan1"; +}; + +&dp5 { + status = "okay"; + + phy-handle = <&qca8081>; + nvmem-cells = <&macaddr_eth2>; + nvmem-cell-names = "mac-address"; + label = "wan"; +}; + +&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_0: ethernet-phy@3 { + compatible = "ethernet-phy-ieee802.3-c22"; + reg = <3>; + }; + + qca8072_1: ethernet-phy@4 { + compatible = "ethernet-phy-ieee802.3-c22"; + reg = <4>; + }; + }; + + qca8081: ethernet-phy@24 { + compatible = "ethernet-phy-id004d.d101"; + reg = <24>; + reset-gpios = <&tlmm 77 GPIO_ACTIVE_LOW>; + }; +}; + +&sdhc_1 { + pinctrl-0 = <&sd_pins>; + pinctrl-names = "default"; + status = "okay"; + + vqmmc-supply = <&ipq6018_l2>; + cd-gpios = <&tlmm 62 GPIO_ACTIVE_LOW>; +}; + +&switch { + status = "okay"; + + switch_lan_bmp = <(ESS_PORT3 | ESS_PORT4)>; + switch_wan_bmp = ; + switch_mac_mode = ; + switch_mac_mode1 = ; + port3_pcs_channel = <4>; + + qcom,port_phyinfo { + port@3 { + port_id = <3>; + phy_address = <4>; + }; + port@4 { + port_id = <4>; + phy_address = <3>; + }; + port@5 { + port_id = <5>; + phy_address = <24>; + port_mac_sel = "QGMAC_PORT"; + }; + }; +}; + +&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 = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "nand_data"; + reg = <0x0000000 0x10000000>; + }; + }; + }; +}; + +&pcie_phy { + status = "okay"; +}; + +&pcie0 { + status = "okay"; + perst-gpio = <&tlmm 60 GPIO_ACTIVE_LOW>; +}; + +&wifi { + status = "okay"; + qcom,ath11k-calibration-variant = "8devices-Mango"; +}; + +&qusb_phy_1 { + status = "okay"; +}; + +&usb2 { + status = "okay"; +}; + +&qusb_phy_0 { + status = "okay"; +}; + +&ssphy_0 { + status = "okay"; +}; + +&usb3 { + status = "okay"; +}; diff --git a/target/linux/qualcommax/image/ipq60xx.mk b/target/linux/qualcommax/image/ipq60xx.mk index e69de29bb2..00dead93ad 100644 --- a/target/linux/qualcommax/image/ipq60xx.mk +++ b/target/linux/qualcommax/image/ipq60xx.mk @@ -0,0 +1,12 @@ +define Device/8devices_mango-dvk + $(call Device/FitImageLzma) + DEVICE_VENDOR := 8devices + DEVICE_MODEL := Mango-DVK + IMAGE_SIZE := 27776k + BLOCKSIZE := 64k + SOC := ipq6010 + SUPPORTED_DEVICES += 8devices,mango + IMAGE/sysupgrade.bin := append-kernel | pad-to 64k | append-rootfs | pad-rootfs | check-size | append-metadata + DEVICE_PACKAGES := ipq-wifi-8devices_mango +endef +TARGET_DEVICES += 8devices_mango-dvk diff --git a/target/linux/qualcommax/ipq60xx/base-files/etc/board.d/02_network b/target/linux/qualcommax/ipq60xx/base-files/etc/board.d/02_network new file mode 100644 index 0000000000..081d894e1e --- /dev/null +++ b/target/linux/qualcommax/ipq60xx/base-files/etc/board.d/02_network @@ -0,0 +1,28 @@ +# +# Copyright (c) 2015 The Linux Foundation. All rights reserved. +# Copyright (c) 2011-2015 OpenWrt.org +# + +. /lib/functions/uci-defaults.sh +. /lib/functions/system.sh + +ipq60xx_setup_interfaces() +{ + local board="$1" + + case "$board" in + 8devices,mango-dvk) + ucidef_set_interfaces_lan_wan "lan1 lan2" "wan" + ;; + *) + echo "Unsupported hardware. Network interfaces not initialized" + ;; + esac +} + +board_config_update +board=$(board_name) +ipq60xx_setup_interfaces $board +board_config_flush + +exit 0 diff --git a/target/linux/qualcommax/ipq60xx/base-files/etc/hotplug.d/firmware/11-ath11-caldata b/target/linux/qualcommax/ipq60xx/base-files/etc/hotplug.d/firmware/11-ath11-caldata new file mode 100644 index 0000000000..c14722c799 --- /dev/null +++ b/target/linux/qualcommax/ipq60xx/base-files/etc/hotplug.d/firmware/11-ath11-caldata @@ -0,0 +1,20 @@ +#!/bin/sh + +[ -e /lib/firmware/$FIRMWARE ] && exit 0 + +. /lib/functions/caldata.sh + +board=$(board_name) + +case "$FIRMWARE" in +"ath11k/IPQ6018/hw1.0/cal-ahb-c000000.wifi.bin") + case "$board" in + 8devices,mango-dvk) + caldata_extract "0:ART" 0x1000 0x20000 + ;; + esac + ;; +*) + exit 1 + ;; +esac diff --git a/target/linux/qualcommax/ipq60xx/base-files/lib/upgrade/platform.sh b/target/linux/qualcommax/ipq60xx/base-files/lib/upgrade/platform.sh new file mode 100644 index 0000000000..3d3c17b3b9 --- /dev/null +++ b/target/linux/qualcommax/ipq60xx/base-files/lib/upgrade/platform.sh @@ -0,0 +1,17 @@ +PART_NAME=firmware +REQUIRE_IMAGE_METADATA=1 + +RAMFS_COPY_BIN='fw_printenv fw_setenv head' +RAMFS_COPY_DATA='/etc/fw_env.config /var/lock/fw_printenv.lock' + +platform_check_image() { + return 0; +} + +platform_do_upgrade() { + case "$(board_name)" in + *) + default_do_upgrade "$1" + ;; + esac +} From 97ad8501ad94726d8146bd8797036aa134b60435 Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Wed, 21 Feb 2024 22:33:00 +0100 Subject: [PATCH 21/43] ucode: update to Git HEAD (2024-02-21) ee4af9b55cb4 vm: rework object iteration a275399dd8e2 uci: refactor uci.changes() to match documentation ba3855ae3775 lib: fix documentation typo for `pop()` function Fixes: https://github.com/jow-/ucode/issues/188 Signed-off-by: Jo-Philipp Wich --- package/utils/ucode/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package/utils/ucode/Makefile b/package/utils/ucode/Makefile index 51a378198c..e18f53ea32 100644 --- a/package/utils/ucode/Makefile +++ b/package/utils/ucode/Makefile @@ -12,9 +12,9 @@ PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=https://github.com/jow-/ucode.git -PKG_SOURCE_DATE:=2024-02-13 -PKG_SOURCE_VERSION:=3f9811d2f7b730f1f1d030872ae1def7e8349be6 -PKG_MIRROR_HASH:=b05cdaa6ecaf8c4b79e67551085c5580d09c5940304b5837a859324abbb26e94 +PKG_SOURCE_DATE:=2024-02-21 +PKG_SOURCE_VERSION:=ba3855ae3775197f3594fc2615cac539075bd2fb +PKG_MIRROR_HASH:=82b8a73417575b58a234586354eba4d0b10180a80b441cd87a9a554227304d34 PKG_MAINTAINER:=Jo-Philipp Wich PKG_LICENSE:=ISC From 62acd9a2f9f18f30997d23b479abaea4940a4273 Mon Sep 17 00:00:00 2001 From: Yegor Yefremov Date: Thu, 15 Feb 2024 09:43:09 +0100 Subject: [PATCH 22/43] dnsmasq: rework network interface ignore In some situations (slow protocol or interfaces with auto 0), the interfaces are not available during the dnsmasq initialization and hence, the ignore setting will be skipped. Install an interface trigger for ignored interfaces in case their ifname cannot be resolved. Signed-off-by: Yegor Yefremov [bump PKG_RELEASE] Signed-off-by: Jo-Philipp Wich --- package/network/services/dnsmasq/Makefile | 2 +- package/network/services/dnsmasq/files/dnsmasq.init | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/package/network/services/dnsmasq/Makefile b/package/network/services/dnsmasq/Makefile index 241f3463e2..e33d866304 100644 --- a/package/network/services/dnsmasq/Makefile +++ b/package/network/services/dnsmasq/Makefile @@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=dnsmasq PKG_UPSTREAM_VERSION:=2.89 PKG_VERSION:=$(subst test,~~test,$(subst rc,~rc,$(PKG_UPSTREAM_VERSION))) -PKG_RELEASE:=7 +PKG_RELEASE:=8 PKG_SOURCE:=$(PKG_NAME)-$(PKG_UPSTREAM_VERSION).tar.xz PKG_SOURCE_URL:=https://thekelleys.org.uk/dnsmasq/ diff --git a/package/network/services/dnsmasq/files/dnsmasq.init b/package/network/services/dnsmasq/files/dnsmasq.init index 510d328cd2..b43abdb8f7 100755 --- a/package/network/services/dnsmasq/files/dnsmasq.init +++ b/package/network/services/dnsmasq/files/dnsmasq.init @@ -1244,10 +1244,11 @@ dnsmasq_stop() add_interface_trigger() { - local interface ignore + local interface ifname ignore config_get interface "$1" interface config_get_bool ignore "$1" ignore 0 + network_get_device ifname "$interface" || ignore=0 [ -n "$interface" ] && [ $ignore -eq 0 ] && procd_add_interface_trigger "interface.*" "$interface" /etc/init.d/dnsmasq reload } From 08e249d43ca8011662bc862969534b6f0570a7a3 Mon Sep 17 00:00:00 2001 From: Tianling Shen Date: Mon, 12 Feb 2024 19:21:38 +0800 Subject: [PATCH 23/43] rockchip: remove LED label hack Now we support parsing the color and function properties. Ref: e814acc59948 ("base-files: support parse DT LED color and function") Signed-off-by: Tianling Shen --- .../armv8/base-files/etc/board.d/01_leds | 4 +- ...-rockchip-use-system-LED-for-OpenWrt.patch | 22 +++++-- ...dd-OF-node-for-USB-eth-on-NanoPi-R2S.patch | 2 +- ...ip-Update-LED-properties-for-Orange-.patch | 22 +------ ...ip-add-LED-configuration-to-Orange-P.patch | 2 +- ...ip-Update-LED-properties-for-NanoPi-.patch | 64 ++----------------- 6 files changed, 30 insertions(+), 86 deletions(-) diff --git a/target/linux/rockchip/armv8/base-files/etc/board.d/01_leds b/target/linux/rockchip/armv8/base-files/etc/board.d/01_leds index ad84666600..ef89461056 100644 --- a/target/linux/rockchip/armv8/base-files/etc/board.d/01_leds +++ b/target/linux/rockchip/armv8/base-files/etc/board.d/01_leds @@ -25,8 +25,8 @@ friendlyarm,nanopi-r5c) ;; friendlyarm,nanopi-r5s) ucidef_set_led_netdev "wan" "WAN" "green:wan" "eth0" - ucidef_set_led_netdev "lan1" "LAN1" "green:lan1" "eth1" - ucidef_set_led_netdev "lan2" "LAN2" "green:lan2" "eth2" + ucidef_set_led_netdev "lan1" "LAN1" "green:lan-1" "eth1" + ucidef_set_led_netdev "lan2" "LAN2" "green:lan-2" "eth2" ;; esac diff --git a/target/linux/rockchip/patches-6.1/100-rockchip-use-system-LED-for-OpenWrt.patch b/target/linux/rockchip/patches-6.1/100-rockchip-use-system-LED-for-OpenWrt.patch index 01009c5eb8..683e5347f7 100644 --- a/target/linux/rockchip/patches-6.1/100-rockchip-use-system-LED-for-OpenWrt.patch +++ b/target/linux/rockchip/patches-6.1/100-rockchip-use-system-LED-for-OpenWrt.patch @@ -15,7 +15,15 @@ Signed-off-by: David Bauer --- a/arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2s.dts +++ b/arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2s.dts -@@ -16,6 +16,11 @@ +@@ -6,6 +6,7 @@ + /dts-v1/; + + #include ++#include + #include + #include "rk3328.dtsi" + +@@ -16,6 +17,11 @@ aliases { ethernet1 = &rtl8153; mmc0 = &sdmmc; @@ -27,25 +35,29 @@ Signed-off-by: David Bauer }; chosen { -@@ -49,18 +54,18 @@ +@@ -48,19 +54,22 @@ + pinctrl-names = "default"; lan_led: led-0 { ++ color = ; ++ function = LED_FUNCTION_LAN; gpios = <&gpio2 RK_PB7 GPIO_ACTIVE_HIGH>; - label = "nanopi-r2s:green:lan"; -+ label = "green:lan"; }; sys_led: led-1 { ++ color = ; ++ function = LED_FUNCTION_STATUS; gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>; - label = "nanopi-r2s:red:sys"; -+ label = "red:sys"; default-state = "on"; }; wan_led: led-2 { ++ color = ; ++ function = LED_FUNCTION_WAN; gpios = <&gpio2 RK_PC2 GPIO_ACTIVE_HIGH>; - label = "nanopi-r2s:green:wan"; -+ label = "green:wan"; }; }; diff --git a/target/linux/rockchip/patches-6.1/103-arm64-rockchip-add-OF-node-for-USB-eth-on-NanoPi-R2S.patch b/target/linux/rockchip/patches-6.1/103-arm64-rockchip-add-OF-node-for-USB-eth-on-NanoPi-R2S.patch index 2221077c97..eeef0df014 100644 --- a/target/linux/rockchip/patches-6.1/103-arm64-rockchip-add-OF-node-for-USB-eth-on-NanoPi-R2S.patch +++ b/target/linux/rockchip/patches-6.1/103-arm64-rockchip-add-OF-node-for-USB-eth-on-NanoPi-R2S.patch @@ -14,7 +14,7 @@ Signed-off-by: David Bauer --- a/arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2s.dts +++ b/arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2s.dts -@@ -402,6 +402,7 @@ +@@ -406,6 +406,7 @@ rtl8153: device@2 { compatible = "usbbda,8153"; reg = <2>; diff --git a/target/linux/rockchip/patches-6.1/107-arm64-dts-rockchip-Update-LED-properties-for-Orange-.patch b/target/linux/rockchip/patches-6.1/107-arm64-dts-rockchip-Update-LED-properties-for-Orange-.patch index b1e26d4e3e..3aff37d096 100644 --- a/target/linux/rockchip/patches-6.1/107-arm64-dts-rockchip-Update-LED-properties-for-Orange-.patch +++ b/target/linux/rockchip/patches-6.1/107-arm64-dts-rockchip-Update-LED-properties-for-Orange-.patch @@ -5,8 +5,6 @@ Subject: [PATCH] arm64: dts: rockchip: Update LED properties for Orange Pi R1 Plus Add OpenWrt's LED aliases for showing system status. -Also replace function/color with legacy label as OpenWrt relys on it -to update LED settings. Signed-off-by: Tianling Shen --- @@ -27,30 +25,16 @@ Signed-off-by: Tianling Shen }; chosen { -@@ -36,22 +41,18 @@ - pinctrl-names = "default"; - - led-0 { -- function = LED_FUNCTION_LAN; -- color = ; +@@ -41,11 +46,10 @@ gpios = <&gpio2 RK_PB7 GPIO_ACTIVE_HIGH>; -+ label = "green:lan"; }; - led-1 { -- function = LED_FUNCTION_STATUS; -- color = ; + status_led: led-1 { + function = LED_FUNCTION_STATUS; + color = ; gpios = <&gpio3 RK_PC5 GPIO_ACTIVE_HIGH>; - linux,default-trigger = "heartbeat"; -+ label = "red:status"; }; led-2 { -- function = LED_FUNCTION_WAN; -- color = ; - gpios = <&gpio2 RK_PC2 GPIO_ACTIVE_HIGH>; -+ label = "green:wan"; - }; - }; - diff --git a/target/linux/rockchip/patches-6.1/108-arm64-dts-rockchip-add-LED-configuration-to-Orange-P.patch b/target/linux/rockchip/patches-6.1/108-arm64-dts-rockchip-add-LED-configuration-to-Orange-P.patch index 37b59925fc..af8f8b16ba 100644 --- a/target/linux/rockchip/patches-6.1/108-arm64-dts-rockchip-add-LED-configuration-to-Orange-P.patch +++ b/target/linux/rockchip/patches-6.1/108-arm64-dts-rockchip-add-LED-configuration-to-Orange-P.patch @@ -14,7 +14,7 @@ Signed-off-by: Tianling Shen --- a/arch/arm64/boot/dts/rockchip/rk3328-orangepi-r1-plus.dts +++ b/arch/arm64/boot/dts/rockchip/rk3328-orangepi-r1-plus.dts -@@ -362,6 +362,7 @@ +@@ -365,6 +365,7 @@ rtl8153: device@2 { compatible = "usbbda,8153"; reg = <2>; diff --git a/target/linux/rockchip/patches-6.1/110-arm64-dts-rockchip-Update-LED-properties-for-NanoPi-.patch b/target/linux/rockchip/patches-6.1/110-arm64-dts-rockchip-Update-LED-properties-for-NanoPi-.patch index 64dc433a30..c22fdd52b8 100644 --- a/target/linux/rockchip/patches-6.1/110-arm64-dts-rockchip-Update-LED-properties-for-NanoPi-.patch +++ b/target/linux/rockchip/patches-6.1/110-arm64-dts-rockchip-Update-LED-properties-for-NanoPi-.patch @@ -5,82 +5,30 @@ Subject: [PATCH] arm64: dts: rockchip: Update LED properties for NanoPi R5 series Add OpenWrt's LED aliases for showing system status. -Also replace function/color with legacy label as OpenWrt relys on it -to update LED settings. Signed-off-by: Tianling Shen --- --- a/arch/arm64/boot/dts/rockchip/rk3568-nanopi-r5c.dts +++ b/arch/arm64/boot/dts/rockchip/rk3568-nanopi-r5c.dts -@@ -32,27 +32,22 @@ - pinctrl-0 = <&lan_led_pin>, <&power_led_pin>, <&wan_led_pin>, <&wlan_led_pin>; - - led-lan { -- color = ; -- function = LED_FUNCTION_LAN; -+ label = "green:lan"; - gpios = <&gpio3 RK_PA3 GPIO_ACTIVE_HIGH>; - }; - +@@ -40,7 +40,6 @@ power_led: led-power { -- color = ; -- function = LED_FUNCTION_POWER; + color = ; + function = LED_FUNCTION_POWER; - linux,default-trigger = "heartbeat"; -+ label = "red:power"; gpios = <&gpio3 RK_PA2 GPIO_ACTIVE_HIGH>; }; - led-wan { -- color = ; -- function = LED_FUNCTION_WAN; -+ label = "green:wan"; - gpios = <&gpio3 RK_PA4 GPIO_ACTIVE_HIGH>; - }; - - led-wlan { -- color = ; -- function = LED_FUNCTION_WLAN; -+ label = "green:wlan"; - gpios = <&gpio3 RK_PA5 GPIO_ACTIVE_HIGH>; - }; - }; --- a/arch/arm64/boot/dts/rockchip/rk3568-nanopi-r5s.dts +++ b/arch/arm64/boot/dts/rockchip/rk3568-nanopi-r5s.dts -@@ -23,29 +23,22 @@ - pinctrl-0 = <&lan1_led_pin>, <&lan2_led_pin>, <&power_led_pin>, <&wan_led_pin>; - - led-lan1 { -- color = ; -- function = LED_FUNCTION_LAN; -- function-enumerator = <1>; -+ label = "green:lan1"; - gpios = <&gpio3 RK_PD6 GPIO_ACTIVE_HIGH>; - }; - - led-lan2 { -- color = ; -- function = LED_FUNCTION_LAN; -- function-enumerator = <2>; -+ label = "green:lan2"; - gpios = <&gpio3 RK_PD7 GPIO_ACTIVE_HIGH>; - }; - +@@ -39,7 +39,6 @@ power_led: led-power { -- color = ; -- function = LED_FUNCTION_POWER; + color = ; + function = LED_FUNCTION_POWER; - linux,default-trigger = "heartbeat"; -+ label = "red:power"; gpios = <&gpio4 RK_PD2 GPIO_ACTIVE_HIGH>; }; - led-wan { -- color = ; -- function = LED_FUNCTION_WAN; -+ label = "green:wan"; - gpios = <&gpio2 RK_PC1 GPIO_ACTIVE_HIGH>; - }; - }; --- a/arch/arm64/boot/dts/rockchip/rk3568-nanopi-r5s.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3568-nanopi-r5s.dtsi @@ -18,6 +18,11 @@ From 5df7a78e821cbdcc3beb80150798712a4c00b00e Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Sat, 17 Feb 2024 17:58:50 +0100 Subject: [PATCH 24/43] wifi-scripts: Support HE Iftypes with multiple entries With mac80211_hwsim I have seen such entries in OpenWrt 22.03: HE Iftypes: managed, AP The mac80211.sh script did not detect the entry and failed. Allow arbitrary other entries before to fix this problem. Signed-off-by: Hauke Mehrtens --- .../config/wifi-scripts/files/lib/netifd/wireless/mac80211.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package/network/config/wifi-scripts/files/lib/netifd/wireless/mac80211.sh b/package/network/config/wifi-scripts/files/lib/netifd/wireless/mac80211.sh index 49ffb219bc..55df71ee3d 100755 --- a/package/network/config/wifi-scripts/files/lib/netifd/wireless/mac80211.sh +++ b/package/network/config/wifi-scripts/files/lib/netifd/wireless/mac80211.sh @@ -432,9 +432,9 @@ mac80211_hostapd_setup_base() { he_bss_color:128 \ he_bss_color_enabled:1 - he_phy_cap=$(iw phy "$phy" info | sed -n '/HE Iftypes: AP/,$p' | awk -F "[()]" '/HE PHY Capabilities/ { print $2 }' | head -1) + he_phy_cap=$(iw phy "$phy" info | sed -n '/HE Iftypes: .*AP/,$p' | awk -F "[()]" '/HE PHY Capabilities/ { print $2 }' | head -1) he_phy_cap=${he_phy_cap:2} - he_mac_cap=$(iw phy "$phy" info | sed -n '/HE Iftypes: AP/,$p' | awk -F "[()]" '/HE MAC Capabilities/ { print $2 }' | head -1) + he_mac_cap=$(iw phy "$phy" info | sed -n '/HE Iftypes: .*AP/,$p' | awk -F "[()]" '/HE MAC Capabilities/ { print $2 }' | head -1) he_mac_cap=${he_mac_cap:2} append base_cfg "ieee80211ax=1" "$N" From 7bffa8ab108f07940ee2c0e5d8573d5c4431e0ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= Date: Thu, 22 Feb 2024 16:40:56 +0100 Subject: [PATCH 25/43] Revert "base-files: sysupgrade: include uci-defaults script disabling services" MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit bf304d10e97c11de8c637fda02578cce79a3a0b4. That uci-defaults script worked great but generating it required mounting root dir as overlay lowerdir that needs to be reverted. Signed-off-by: Rafał Miłecki --- package/base-files/files/sbin/sysupgrade | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/package/base-files/files/sbin/sysupgrade b/package/base-files/files/sbin/sysupgrade index 4bac1041d9..66bdf95de0 100755 --- a/package/base-files/files/sbin/sysupgrade +++ b/package/base-files/files/sbin/sysupgrade @@ -260,16 +260,6 @@ do_save_conffiles() { \) | sed -e 's,.*/,,;s/\.control /\t/' > "$dir/${INSTALLED_PACKAGES}" fi - mkdir -p $dir/etc/uci-defaults/ - touch $dir/etc/uci-defaults/10_disable_services - for service in /etc/init.d/*; do - if ! $service enabled; then - echo "$service disable" >> $dir/etc/uci-defaults/10_disable_services - fi - done - echo "exit 0" >> $dir/etc/uci-defaults/10_disable_services - echo "/etc/uci-defaults/10_disable_services" >> "$CONFFILES" - v "Saving config files..." [ "$VERBOSE" -gt 1 ] && TAR_V="v" || TAR_V="" sed -i -e 's,^/,,' "$CONFFILES" From 157d6019df425b7ffe77ee369a7ca5c21ea2aed0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= Date: Thu, 22 Feb 2024 16:43:47 +0100 Subject: [PATCH 26/43] Revert "base-files: sysupgrade: always setup overlay when creating backup" MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 4fa9aaf0bed984d200b3c48d1cc81fca7847c394. That seemed like a good idea allowing us to include any runtime generated file in archive. Unfortuantely it broke backups with files from mounted directories. When mounting overlay with / as lowerdir its mounts don't propagete in the mountpoint. That resulted in empty directories: /tmp/overlay.XXXXXX/backup/tmp/ /tmp/overlay.XXXXXX/backup/var/ /tmp/overlay.XXXXXX/backup/dev/ /tmp/overlay.XXXXXX/backup/proc/ etc. As some platforms / users try to backup files like /var/dhcp.leases or /boot/cmdline.txt it means we can't use that solution. Link: http://lists.openwrt.org/pipermail/openwrt-devel/2024-February/042320.html Link: https://lore.kernel.org/linux-fsdevel/67bb0571-a6e0-44ea-9ab6-91c267d0642f@gmail.com/T/#u Signed-off-by: Rafał Miłecki --- package/base-files/files/sbin/sysupgrade | 36 +++++++++++------------- 1 file changed, 16 insertions(+), 20 deletions(-) diff --git a/package/base-files/files/sbin/sysupgrade b/package/base-files/files/sbin/sysupgrade index 66bdf95de0..43e129e1d7 100755 --- a/package/base-files/files/sbin/sysupgrade +++ b/package/base-files/files/sbin/sysupgrade @@ -24,6 +24,7 @@ export NEED_IMAGE= export HELP=0 export FORCE=0 export TEST=0 +export UMOUNT_ETCBACKUP_DIR=0 # parse options while [ -n "$1" ]; do @@ -223,8 +224,6 @@ include /lib/upgrade do_save_conffiles() { local conf_tar="$1" - local tmp - local dir [ "$(rootfs_type)" = "tmpfs" ] && { echo "Cannot save config while running from ramdisk." >&2 @@ -235,21 +234,17 @@ do_save_conffiles() { run_hooks "$CONFFILES" $sysupgrade_init_conffiles ask_bool 0 "Edit config file list" && vi "$CONFFILES" - # Mount root directory with temporary overlay on top of it. - # This allows including extra (temporary) files in backup archive - # without messing actual rootfs. - tmp="$(mktemp -d -t overlay.XXXXXX)" - mkdir -p "$tmp/upper" "$tmp/work" "$tmp/backup" - dir="$tmp/backup" - if ! mount -t overlay overlay -o lowerdir=/,upperdir="$tmp/upper",workdir="$tmp/work" "$dir"; then - echo "Cannot mount backup overlay to $dir." >&2 - ask_bool 0 "Abort" && exit - dir="" - fi - if [ "$SAVE_INSTALLED_PKGS" -eq 1 ]; then echo "${INSTALLED_PACKAGES}" >> "$CONFFILES" - mkdir -p "$dir/$ETCBACKUP_DIR" + mkdir -p "$ETCBACKUP_DIR" + # Avoid touching filesystem on each backup + RAMFS="$(mktemp -d -t sysupgrade.XXXXXX)" + mkdir -p "$RAMFS/upper" "$RAMFS/work" + mount -t overlay overlay -o lowerdir=$ETCBACKUP_DIR,upperdir=$RAMFS/upper,workdir=$RAMFS/work $ETCBACKUP_DIR && + UMOUNT_ETCBACKUP_DIR=1 || { + echo "Cannot mount '$ETCBACKUP_DIR' as tmpfs to avoid touching disk while saving the list of installed packages." >&2 + ask_bool 0 "Abort" && exit + } # Format: pkg-name{rom,overlay,unkown} # rom is used for pkgs in /rom, even if updated later @@ -257,22 +252,23 @@ do_save_conffiles() { \( -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/' > "$dir/${INSTALLED_PACKAGES}" + \) | sed -e 's,.*/,,;s/\.control /\t/' > ${INSTALLED_PACKAGES} fi v "Saving config files..." [ "$VERBOSE" -gt 1 ] && TAR_V="v" || TAR_V="" sed -i -e 's,^/,,' "$CONFFILES" - tar c${TAR_V}zf "$conf_tar" -C "${dir:-/}" -T "$CONFFILES" + tar c${TAR_V}zf "$conf_tar" -C / -T "$CONFFILES" local err=$? if [ "$err" -ne 0 ]; then echo "Failed to create the configuration backup." rm -f "$conf_tar" fi - umount "$dir" - rm -rf "$tmp" - + [ "$UMOUNT_ETCBACKUP_DIR" -eq 1 ] && { + umount "$ETCBACKUP_DIR" + rm -rf "$RAMFS" + } rm -f "$CONFFILES" return "$err" From 61ac147bb65a6af3e0428f24182c1593249985c2 Mon Sep 17 00:00:00 2001 From: Luiz Angelo Daros de Luca Date: Wed, 19 Oct 2022 23:56:22 -0300 Subject: [PATCH 27/43] base-files: sysupgrade: fix error message and typo Some minor error message and comment fixes. Signed-off-by: Luiz Angelo Daros de Luca --- package/base-files/files/sbin/sysupgrade | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package/base-files/files/sbin/sysupgrade b/package/base-files/files/sbin/sysupgrade index 43e129e1d7..e6ce3bd183 100755 --- a/package/base-files/files/sbin/sysupgrade +++ b/package/base-files/files/sbin/sysupgrade @@ -203,7 +203,7 @@ add_overlayfiles() { if [ $SAVE_OVERLAY = 1 ]; then [ ! -d /overlay/upper/etc ] && { - echo "Cannot find '/overlay/upper/etc', required for '-c'" >&2 + echo "Cannot find '/overlay/upper/etc', required for '-c' or '-o'" >&2 exit 1 } sysupgrade_init_conffiles="add_overlayfiles" @@ -246,7 +246,7 @@ do_save_conffiles() { ask_bool 0 "Abort" && exit } - # Format: pkg-name{rom,overlay,unkown} + # Format: pkg-name{rom,overlay,unknown} # rom is used for pkgs in /rom, even if updated later find /usr/lib/opkg/info -name "*.control" \( \ \( -exec test -f /rom/{} \; -exec echo {} rom \; \) -o \ From 57be93c16d45ac1db024375e7f4108f9baec553c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= Date: Mon, 12 Feb 2024 11:56:57 +0100 Subject: [PATCH 28/43] base-files: sysupgrade: replace UMOUNT_ETCBACKUP_DIR with a local variable MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It was used inside do_save_conffiles() only. Signed-off-by: Rafał Miłecki --- package/base-files/files/sbin/sysupgrade | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/package/base-files/files/sbin/sysupgrade b/package/base-files/files/sbin/sysupgrade index e6ce3bd183..b88b017ac0 100755 --- a/package/base-files/files/sbin/sysupgrade +++ b/package/base-files/files/sbin/sysupgrade @@ -24,7 +24,6 @@ export NEED_IMAGE= export HELP=0 export FORCE=0 export TEST=0 -export UMOUNT_ETCBACKUP_DIR=0 # parse options while [ -n "$1" ]; do @@ -225,6 +224,8 @@ include /lib/upgrade do_save_conffiles() { local conf_tar="$1" + local umount_etcbackup_dir=0 + [ "$(rootfs_type)" = "tmpfs" ] && { echo "Cannot save config while running from ramdisk." >&2 ask_bool 0 "Abort" && exit @@ -241,7 +242,7 @@ do_save_conffiles() { RAMFS="$(mktemp -d -t sysupgrade.XXXXXX)" mkdir -p "$RAMFS/upper" "$RAMFS/work" mount -t overlay overlay -o lowerdir=$ETCBACKUP_DIR,upperdir=$RAMFS/upper,workdir=$RAMFS/work $ETCBACKUP_DIR && - UMOUNT_ETCBACKUP_DIR=1 || { + umount_etcbackup_dir=1 || { echo "Cannot mount '$ETCBACKUP_DIR' as tmpfs to avoid touching disk while saving the list of installed packages." >&2 ask_bool 0 "Abort" && exit } @@ -265,7 +266,7 @@ do_save_conffiles() { rm -f "$conf_tar" fi - [ "$UMOUNT_ETCBACKUP_DIR" -eq 1 ] && { + [ "$umount_etcbackup_dir" -eq 1 ] && { umount "$ETCBACKUP_DIR" rm -rf "$RAMFS" } From 73da77fd00a4401420b649c17664248905195c42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= Date: Mon, 12 Feb 2024 11:56:58 +0100 Subject: [PATCH 29/43] base-files: sysupgrade: group & cleanup global variables MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Group & describe them by type, drop unneeded exports. Signed-off-by: Rafał Miłecki --- package/base-files/files/sbin/sysupgrade | 64 ++++++++++++------------ 1 file changed, 33 insertions(+), 31 deletions(-) diff --git a/package/base-files/files/sbin/sysupgrade b/package/base-files/files/sbin/sysupgrade index b88b017ac0..08f92c659f 100755 --- a/package/base-files/files/sbin/sysupgrade +++ b/package/base-files/files/sbin/sysupgrade @@ -4,26 +4,35 @@ . /lib/functions/system.sh . /usr/share/libubox/jshn.sh -# initialize defaults +# File-local constants +CONF_TAR=/tmp/sysupgrade.tgz +ETCBACKUP_DIR=/etc/backup +INSTALLED_PACKAGES=${ETCBACKUP_DIR}/installed_packages.txt +COMMAND=/lib/upgrade/do_stage2 + +# File-local globals +SAVE_OVERLAY=0 +SAVE_OVERLAY_PATH= +SAVE_PARTITIONS=1 +SAVE_INSTALLED_PKGS=0 +SKIP_UNCHANGED=0 +CONF_IMAGE= +CONF_BACKUP_LIST=0 +CONF_BACKUP= +CONF_RESTORE= +NEED_IMAGE= +HELP=0 +TEST=0 + +# Globals accessed in other files export MTD_ARGS="" export MTD_CONFIG_ARGS="" export INTERACTIVE=0 export VERBOSE=1 export SAVE_CONFIG=1 -export SAVE_OVERLAY=0 -export SAVE_OVERLAY_PATH= -export SAVE_PARTITIONS=1 -export SAVE_INSTALLED_PKGS=0 -export SKIP_UNCHANGED=0 -export CONF_IMAGE= -export CONF_BACKUP_LIST=0 -export CONF_BACKUP= -export CONF_RESTORE= export IGNORE_MINOR_COMPAT=0 -export NEED_IMAGE= -export HELP=0 export FORCE=0 -export TEST=0 +export CONFFILES=/tmp/sysupgrade.conffiles # parse options while [ -n "$1" ]; do @@ -32,18 +41,18 @@ while [ -n "$1" ]; do -v) export VERBOSE="$(($VERBOSE + 1))";; -q) export VERBOSE="$(($VERBOSE - 1))";; -n) export SAVE_CONFIG=0;; - -c) export SAVE_OVERLAY=1 SAVE_OVERLAY_PATH=/etc;; - -o) export SAVE_OVERLAY=1 SAVE_OVERLAY_PATH=/;; - -p) export SAVE_PARTITIONS=0;; - -k) export SAVE_INSTALLED_PKGS=1;; - -u) export SKIP_UNCHANGED=1;; - -b|--create-backup) export CONF_BACKUP="$2" NEED_IMAGE=1; shift;; - -r|--restore-backup) export CONF_RESTORE="$2" NEED_IMAGE=1; shift;; - -l|--list-backup) export CONF_BACKUP_LIST=1;; - -f) export CONF_IMAGE="$2"; shift;; + -c) SAVE_OVERLAY=1 SAVE_OVERLAY_PATH=/etc;; + -o) SAVE_OVERLAY=1 SAVE_OVERLAY_PATH=/;; + -p) SAVE_PARTITIONS=0;; + -k) SAVE_INSTALLED_PKGS=1;; + -u) SKIP_UNCHANGED=1;; + -b|--create-backup) CONF_BACKUP="$2" NEED_IMAGE=1; shift;; + -r|--restore-backup) CONF_RESTORE="$2" NEED_IMAGE=1; shift;; + -l|--list-backup) CONF_BACKUP_LIST=1;; + -f) CONF_IMAGE="$2"; shift;; -F|--force) export FORCE=1;; - -T|--test) export TEST=1;; - -h|--help) export HELP=1; break;; + -T|--test) TEST=1;; + -h|--help) HELP=1; break;; --ignore-minor-compat-version) export IGNORE_MINOR_COMPAT=1;; -*) echo "Invalid option: $1" >&2 @@ -54,11 +63,6 @@ while [ -n "$1" ]; do shift; done -export CONFFILES=/tmp/sysupgrade.conffiles -export CONF_TAR=/tmp/sysupgrade.tgz -export ETCBACKUP_DIR=/etc/backup -export INSTALLED_PACKAGES=${ETCBACKUP_DIR}/installed_packages.txt - IMAGE="$1" [ -z "$IMAGE" -a -z "$NEED_IMAGE" -a $CONF_BACKUP_LIST -eq 0 -o $HELP -gt 0 ] && { @@ -368,8 +372,6 @@ fi install_bin /sbin/upgraded v "Commencing upgrade. Closing all shell sessions." -COMMAND='/lib/upgrade/do_stage2' - if [ -n "$FAILSAFE" ]; then printf '%s\x00%s\x00%s' "$RAM_ROOT" "$IMAGE" "$COMMAND" >/tmp/sysupgrade lock -u /tmp/.failsafe From 4ba5eba94cb65bacd0b3cda3e9d8b40ce2b3002e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= Date: Mon, 12 Feb 2024 11:56:59 +0100 Subject: [PATCH 30/43] base-files: sysupgrade: exit with no error for --help MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Calling "sysupgrade --help" should result in printing help and exiting with 0 code. Signed-off-by: Rafał Miłecki --- package/base-files/files/sbin/sysupgrade | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/package/base-files/files/sbin/sysupgrade b/package/base-files/files/sbin/sysupgrade index 08f92c659f..592b1f3781 100755 --- a/package/base-files/files/sbin/sysupgrade +++ b/package/base-files/files/sbin/sysupgrade @@ -63,9 +63,7 @@ while [ -n "$1" ]; do shift; done -IMAGE="$1" - -[ -z "$IMAGE" -a -z "$NEED_IMAGE" -a $CONF_BACKUP_LIST -eq 0 -o $HELP -gt 0 ] && { +print_help() { cat <...] $0 [-q] [-i] [-c] [-u] [-o] [-k] @@ -105,9 +103,20 @@ backup-command: sysupgrade -b. Does not create a backup file. EOF - exit 1 } +IMAGE="$1" + +if [ $HELP -gt 0 ]; then + print_help + exit 0 +fi + +if [ -z "$IMAGE" -a -z "$NEED_IMAGE" -a $CONF_BACKUP_LIST -eq 0 ]; then + print_help + exit 1 +fi + [ -n "$IMAGE" -a -n "$NEED_IMAGE" ] && { cat <<-EOF -b|--create-backup and -r|--restore-backup do not perform a firmware upgrade. From 4a1b94adba1a1de0e388c58508b2d78bd788729b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= Date: Mon, 12 Feb 2024 11:57:00 +0100 Subject: [PATCH 31/43] base-files: sysupgrade: s/do_save_conffiles/create_backup_archive/ MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Rename function to more accurate and self-explanatory name: 1. Use "archive" in name as this functions creates tar archive 2. Avoid "conffiles" as this function may archive more than that Signed-off-by: Rafał Miłecki --- package/base-files/files/sbin/sysupgrade | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package/base-files/files/sbin/sysupgrade b/package/base-files/files/sbin/sysupgrade index 592b1f3781..73d45fd03d 100755 --- a/package/base-files/files/sbin/sysupgrade +++ b/package/base-files/files/sbin/sysupgrade @@ -234,7 +234,7 @@ fi include /lib/upgrade -do_save_conffiles() { +create_backup_archive() { local conf_tar="$1" local umount_etcbackup_dir=0 @@ -297,7 +297,7 @@ if [ $CONF_BACKUP_LIST -eq 1 ]; then fi if [ -n "$CONF_BACKUP" ]; then - do_save_conffiles "$CONF_BACKUP" + create_backup_archive "$CONF_BACKUP" exit fi @@ -367,7 +367,7 @@ if [ -n "$CONF_IMAGE" ]; then get_image "$CONF_IMAGE" "cat" > "$CONF_TAR" export SAVE_CONFIG=1 elif ask_bool $SAVE_CONFIG "Keep config files over reflash"; then - [ $TEST -eq 1 ] || do_save_conffiles "$CONF_TAR" || exit + [ $TEST -eq 1 ] || create_backup_archive "$CONF_TAR" || exit export SAVE_CONFIG=1 else [ $TEST -eq 1 ] || rm -f "$CONF_TAR" From 788122cc12f923b3b93bda2fb64930e5ad7c3518 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= Date: Mon, 12 Feb 2024 11:57:01 +0100 Subject: [PATCH 32/43] base-files: sysupgrade: rename add_*files() functions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Usage of word "add" was somehow misleading in those functions: 1. They don't really add (as in: append) anything. Result files are created from scratch. 2. It wasn't clear what adding files means. It could be understood as adding actual files somewhere (to existing archive?). Also the word "add" was also a bit ambiguous. Signed-off-by: Rafał Miłecki --- package/base-files/files/sbin/sysupgrade | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/package/base-files/files/sbin/sysupgrade b/package/base-files/files/sbin/sysupgrade index 73d45fd03d..6b3fb0666f 100755 --- a/package/base-files/files/sbin/sysupgrade +++ b/package/base-files/files/sbin/sysupgrade @@ -155,7 +155,7 @@ list_static_conffiles() { \( -type f -o -type l \) $filter 2>/dev/null } -add_conffiles() { +build_list_of_backup_config_files() { local file="$1" ( list_static_conffiles "$find_filter"; list_changed_conffiles ) | @@ -163,7 +163,7 @@ add_conffiles() { return 0 } -add_overlayfiles() { +build_list_of_backup_overlay_files() { local file="$1" local packagesfiles=$1.packagesfiles @@ -218,9 +218,9 @@ if [ $SAVE_OVERLAY = 1 ]; then echo "Cannot find '/overlay/upper/etc', required for '-c' or '-o'" >&2 exit 1 } - sysupgrade_init_conffiles="add_overlayfiles" + sysupgrade_init_conffiles="build_list_of_backup_overlay_files" else - sysupgrade_init_conffiles="add_conffiles" + sysupgrade_init_conffiles="build_list_of_backup_config_files" fi find_filter="" From e222c8054c7f46192bc89ad1f3ab61b3861af8b9 Mon Sep 17 00:00:00 2001 From: Alan Luck Date: Thu, 15 Feb 2024 16:31:12 +1100 Subject: [PATCH 33/43] ramips: fix and clean up D-Link MAC address add back WIFI eprom addresses pointer in mt7621_dlink_dir-xx60-a1.dtsi Change MAC address pointer from factory_e006 to factory_e000 + 3 same as used in D-link firmware 1.11 DIR-1960-A1 DIR-1960-A1,DIR-2640-A1,DIR-2660-A1,DIR-3060-A1 Clean-up MAC addresses in D-Link NOR devices DTS's Change WIFI MAC Addressees to the same as NAND cousins macaddr_factory_e000 + ? as later devices don't have the MAC address in factory configuration same as used in D-Link firmware 1.30 DIR-878-A1 DIR-867-A1,DIR-878-A1,DIR-878-R1,DIR-882-A1,DIR-882-R1,DIR-1935-A1 * D-link software differs between source of wan address Signed-off-by: Alan Luck --- .../ramips/dts/mt7621_dlink_dir-1935-a1.dts | 14 -------------- .../ramips/dts/mt7621_dlink_dir-867-a1.dts | 14 -------------- .../ramips/dts/mt7621_dlink_dir-878-a1.dts | 14 -------------- .../ramips/dts/mt7621_dlink_dir-878-r1.dts | 14 -------------- .../ramips/dts/mt7621_dlink_dir-882-a1.dts | 14 -------------- .../ramips/dts/mt7621_dlink_dir-882-r1.dts | 14 -------------- .../linux/ramips/dts/mt7621_dlink_dir-8xx.dtsi | 17 +++++++++++++---- .../ramips/dts/mt7621_dlink_dir-xx60-a1.dtsi | 14 +++++--------- .../ramips/dts/mt7621_dlink_flash-16m-a1.dtsi | 2 ++ .../ramips/dts/mt7621_dlink_flash-16m-r1.dtsi | 2 ++ 10 files changed, 22 insertions(+), 97 deletions(-) diff --git a/target/linux/ramips/dts/mt7621_dlink_dir-1935-a1.dts b/target/linux/ramips/dts/mt7621_dlink_dir-1935-a1.dts index 0ce07141a3..60b5b35621 100644 --- a/target/linux/ramips/dts/mt7621_dlink_dir-1935-a1.dts +++ b/target/linux/ramips/dts/mt7621_dlink_dir-1935-a1.dts @@ -6,18 +6,4 @@ / { compatible = "dlink,dir-1935-a1", "mediatek,mt7621-soc"; model = "D-Link DIR-1935 A1"; - - aliases { - label-mac-device = &gmac0; - }; -}; - -&gmac0 { - nvmem-cells = <&macaddr_factory_e000>; - nvmem-cell-names = "mac-address"; -}; - -&gmac1 { - nvmem-cells = <&macaddr_factory_e006>; - nvmem-cell-names = "mac-address"; }; diff --git a/target/linux/ramips/dts/mt7621_dlink_dir-867-a1.dts b/target/linux/ramips/dts/mt7621_dlink_dir-867-a1.dts index ab5a110333..e02eb9eebf 100644 --- a/target/linux/ramips/dts/mt7621_dlink_dir-867-a1.dts +++ b/target/linux/ramips/dts/mt7621_dlink_dir-867-a1.dts @@ -6,18 +6,4 @@ / { compatible = "dlink,dir-867-a1", "mediatek,mt7621-soc"; model = "D-Link DIR-867 A1"; - - aliases { - label-mac-device = &gmac0; - }; -}; - -&gmac0 { - nvmem-cells = <&macaddr_factory_e000>; - nvmem-cell-names = "mac-address"; -}; - -&gmac1 { - nvmem-cells = <&macaddr_factory_e006>; - nvmem-cell-names = "mac-address"; }; diff --git a/target/linux/ramips/dts/mt7621_dlink_dir-878-a1.dts b/target/linux/ramips/dts/mt7621_dlink_dir-878-a1.dts index f9ed0ddcef..1f1d5824f2 100644 --- a/target/linux/ramips/dts/mt7621_dlink_dir-878-a1.dts +++ b/target/linux/ramips/dts/mt7621_dlink_dir-878-a1.dts @@ -6,18 +6,4 @@ / { compatible = "dlink,dir-878-a1", "mediatek,mt7621-soc"; model = "D-Link DIR-878 A1"; - - aliases { - label-mac-device = &gmac0; - }; -}; - -&gmac0 { - nvmem-cells = <&macaddr_factory_e000>; - nvmem-cell-names = "mac-address"; -}; - -&gmac1 { - nvmem-cells = <&macaddr_factory_e006>; - nvmem-cell-names = "mac-address"; }; diff --git a/target/linux/ramips/dts/mt7621_dlink_dir-878-r1.dts b/target/linux/ramips/dts/mt7621_dlink_dir-878-r1.dts index 1a17dddc11..0bacd6569f 100644 --- a/target/linux/ramips/dts/mt7621_dlink_dir-878-r1.dts +++ b/target/linux/ramips/dts/mt7621_dlink_dir-878-r1.dts @@ -6,18 +6,4 @@ / { compatible = "dlink,dir-878-r1", "mediatek,mt7621-soc"; model = "D-Link DIR-878 R1"; - - aliases { - label-mac-device = &gmac0; - }; -}; - -&gmac0 { - nvmem-cells = <&macaddr_factory_e000>; - nvmem-cell-names = "mac-address"; -}; - -&gmac1 { - nvmem-cells = <&macaddr_factory_e006>; - nvmem-cell-names = "mac-address"; }; diff --git a/target/linux/ramips/dts/mt7621_dlink_dir-882-a1.dts b/target/linux/ramips/dts/mt7621_dlink_dir-882-a1.dts index 2f45eda02d..01739fc258 100644 --- a/target/linux/ramips/dts/mt7621_dlink_dir-882-a1.dts +++ b/target/linux/ramips/dts/mt7621_dlink_dir-882-a1.dts @@ -6,10 +6,6 @@ / { compatible = "dlink,dir-882-a1", "mediatek,mt7621-soc"; model = "D-Link DIR-882 A1"; - - aliases { - label-mac-device = &gmac0; - }; }; &leds { @@ -27,13 +23,3 @@ linux,default-trigger = "usbport"; }; }; - -&gmac0 { - nvmem-cells = <&macaddr_factory_e000>; - nvmem-cell-names = "mac-address"; -}; - -&gmac1 { - nvmem-cells = <&macaddr_factory_e006>; - nvmem-cell-names = "mac-address"; -}; diff --git a/target/linux/ramips/dts/mt7621_dlink_dir-882-r1.dts b/target/linux/ramips/dts/mt7621_dlink_dir-882-r1.dts index 019ad7edcf..9b0cd8e7be 100644 --- a/target/linux/ramips/dts/mt7621_dlink_dir-882-r1.dts +++ b/target/linux/ramips/dts/mt7621_dlink_dir-882-r1.dts @@ -6,10 +6,6 @@ / { compatible = "dlink,dir-882-r1", "mediatek,mt7621-soc"; model = "D-Link DIR-882 R1"; - - aliases { - label-mac-device = &gmac0; - }; }; &leds { @@ -27,13 +23,3 @@ linux,default-trigger = "usbport"; }; }; - -&gmac0 { - nvmem-cells = <&macaddr_factory_e000>; - nvmem-cell-names = "mac-address"; -}; - -&gmac1 { - nvmem-cells = <&macaddr_factory_e006>; - nvmem-cell-names = "mac-address"; -}; diff --git a/target/linux/ramips/dts/mt7621_dlink_dir-8xx.dtsi b/target/linux/ramips/dts/mt7621_dlink_dir-8xx.dtsi index b94a0784fe..11d673dc87 100644 --- a/target/linux/ramips/dts/mt7621_dlink_dir-8xx.dtsi +++ b/target/linux/ramips/dts/mt7621_dlink_dir-8xx.dtsi @@ -8,6 +8,7 @@ / { aliases { + label-mac-device = &gmac0; led-boot = &led_power_orange; led-failsafe = &led_power_green; led-running = &led_power_green; @@ -71,8 +72,8 @@ wifi@0,0 { compatible = "mediatek,mt76"; reg = <0x0000 0 0 0 0>; - nvmem-cells = <&eeprom_factory_0>; - nvmem-cell-names = "eeprom"; + nvmem-cells = <&eeprom_factory_0>, <&macaddr_factory_e000 1>; + nvmem-cell-names = "eeprom", "mac-address"; ieee80211-freq-limit = <2400000 2500000>; led { @@ -85,8 +86,8 @@ wifi@0,0 { compatible = "mediatek,mt76"; reg = <0x0000 0 0 0 0>; - nvmem-cells = <&eeprom_factory_8000>; - nvmem-cell-names = "eeprom"; + nvmem-cells = <&eeprom_factory_8000>, <&macaddr_factory_e000 2>; + nvmem-cell-names = "eeprom", "mac-address"; ieee80211-freq-limit = <5000000 6000000>; led { @@ -95,10 +96,18 @@ }; }; +&gmac0 { + nvmem-cells = <&macaddr_factory_e000 0>; + nvmem-cell-names = "mac-address"; +}; + &gmac1 { status = "okay"; label = "wan"; phy-handle = <ðphy4>; + + nvmem-cells = <&macaddr_factory_e006 0>; + nvmem-cell-names = "mac-address"; }; &mdio { diff --git a/target/linux/ramips/dts/mt7621_dlink_dir-xx60-a1.dtsi b/target/linux/ramips/dts/mt7621_dlink_dir-xx60-a1.dtsi index ddc3e1ad30..7b7228b8c3 100644 --- a/target/linux/ramips/dts/mt7621_dlink_dir-xx60-a1.dtsi +++ b/target/linux/ramips/dts/mt7621_dlink_dir-xx60-a1.dtsi @@ -101,10 +101,6 @@ reg = <0xe000 0x6>; #nvmem-cell-cells = <1>; }; - - macaddr_factory_e006: macaddr@e006 { - reg = <0xe006 0x6>; - }; }; }; @@ -154,8 +150,8 @@ wifi0: wifi@0,0 { compatible = "mediatek,mt76"; reg = <0x0000 0 0 0 0>; - nvmem-cells = <&macaddr_factory_e000 1>; - nvmem-cell-names = "eeprom"; + nvmem-cells = <&eeprom_factory_0>, <&macaddr_factory_e000 1>; + nvmem-cell-names = "eeprom", "mac-address"; ieee80211-freq-limit = <2400000 2500000>; led { @@ -168,8 +164,8 @@ wifi1: wifi@0,0 { compatible = "mediatek,mt76"; reg = <0x0000 0 0 0 0>; - nvmem-cells = <&macaddr_factory_e000 2>; - nvmem-cell-names = "eeprom"; + nvmem-cells = <&eeprom_factory_8000>, <&macaddr_factory_e000 2>; + nvmem-cell-names = "eeprom", "mac-address"; ieee80211-freq-limit = <5000000 6000000>; led { @@ -188,7 +184,7 @@ label = "wan"; phy-handle = <ðphy4>; - nvmem-cells = <&macaddr_factory_e006>; + nvmem-cells = <&macaddr_factory_e000 3>; nvmem-cell-names = "mac-address"; }; diff --git a/target/linux/ramips/dts/mt7621_dlink_flash-16m-a1.dtsi b/target/linux/ramips/dts/mt7621_dlink_flash-16m-a1.dtsi index ea6b9f23e8..96a6b286fe 100644 --- a/target/linux/ramips/dts/mt7621_dlink_flash-16m-a1.dtsi +++ b/target/linux/ramips/dts/mt7621_dlink_flash-16m-a1.dtsi @@ -44,7 +44,9 @@ }; macaddr_factory_e000: macaddr@e000 { + compatible = "mac-base"; reg = <0xe000 0x6>; + #nvmem-cell-cells = <1>; }; macaddr_factory_e006: macaddr@e006 { diff --git a/target/linux/ramips/dts/mt7621_dlink_flash-16m-r1.dtsi b/target/linux/ramips/dts/mt7621_dlink_flash-16m-r1.dtsi index dd13e7aeeb..6d77044aa4 100644 --- a/target/linux/ramips/dts/mt7621_dlink_flash-16m-r1.dtsi +++ b/target/linux/ramips/dts/mt7621_dlink_flash-16m-r1.dtsi @@ -50,7 +50,9 @@ }; macaddr_factory_e000: macaddr@e000 { + compatible = "mac-base"; reg = <0xe000 0x6>; + #nvmem-cell-cells = <1>; }; macaddr_factory_e006: macaddr@e006 { From 278401e37a899df9bcac92ee446226e469e0ad46 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Owoc?= Date: Fri, 1 Dec 2023 00:30:20 +0100 Subject: [PATCH 34/43] qualcommax: ipq807x: reordering, combine the same commands MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reordering, combine the same commands for ipq807x devices Signed-off-by: Paweł Owoc --- .../qualcommax/ipq807x/base-files/etc/board.d/02_network | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/target/linux/qualcommax/ipq807x/base-files/etc/board.d/02_network b/target/linux/qualcommax/ipq807x/base-files/etc/board.d/02_network index d24fb23505..1da97a8fa3 100644 --- a/target/linux/qualcommax/ipq807x/base-files/etc/board.d/02_network +++ b/target/linux/qualcommax/ipq807x/base-files/etc/board.d/02_network @@ -23,6 +23,7 @@ ipq807x_setup_interfaces() compex,wpq873|\ linksys,mx4200v1|\ linksys,mx4200v2|\ + prpl,haze|\ redmi,ax6|\ xiaomi,ax3600) ucidef_set_interfaces_lan_wan "lan1 lan2 lan3" "wan" @@ -45,9 +46,6 @@ ipq807x_setup_interfaces() netgear,wax630) ucidef_set_interface_lan "lan1 lan2" "dhcp" ;; - prpl,haze) - ucidef_set_interfaces_lan_wan "lan1 lan2 lan3" "wan" - ;; qnap,301w) ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4 10g-2" "10g-1" ;; From ac77b45b0882812ba94ba7bad6276e538e7a75ee Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Fri, 24 Nov 2023 23:09:58 +0100 Subject: [PATCH 35/43] qualcommax: ipq807x: add patch for QUP4 SPI node Add node to support the QUP4 SPI controller inside of IPQ8074. Some devices use this bus to communicate to a Bluetooth controller. Signed-off-by: Robert Marko --- ...4-dts-qcom-ipq8074-Add-QUP4-SPI-node.patch | 38 +++++++++++++++++++ ...qcom-ipq8074-use-msi-parent-for-PCIe.patch | 6 +-- ...com-Enable-Q6v5-WCSS-for-ipq8074-SoC.patch | 2 +- ...0121-arm64-dts-ipq8074-Add-WLAN-node.patch | 2 +- 4 files changed, 43 insertions(+), 5 deletions(-) create mode 100644 target/linux/qualcommax/patches-6.1/0062-v6.8-arm64-dts-qcom-ipq8074-Add-QUP4-SPI-node.patch diff --git a/target/linux/qualcommax/patches-6.1/0062-v6.8-arm64-dts-qcom-ipq8074-Add-QUP4-SPI-node.patch b/target/linux/qualcommax/patches-6.1/0062-v6.8-arm64-dts-qcom-ipq8074-Add-QUP4-SPI-node.patch new file mode 100644 index 0000000000..1525726640 --- /dev/null +++ b/target/linux/qualcommax/patches-6.1/0062-v6.8-arm64-dts-qcom-ipq8074-Add-QUP4-SPI-node.patch @@ -0,0 +1,38 @@ +From 6a25e70214fde6dcf900271c819c8d7fe7b9a4b0 Mon Sep 17 00:00:00 2001 +From: Robert Marko +Date: Thu, 23 Nov 2023 13:12:54 +0100 +Subject: [PATCH] arm64: dts: qcom: ipq8074: Add QUP4 SPI node + +Add node to support the QUP4 SPI controller inside of IPQ8074. +Some devices use this bus to communicate to a Bluetooth controller. + +Signed-off-by: Robert Marko +Link: https://lore.kernel.org/r/20231123121324.1046164-1-robimarko@gmail.com +Signed-off-by: Bjorn Andersson +--- + arch/arm64/boot/dts/qcom/ipq8074.dtsi | 14 ++++++++++++++ + 1 file changed, 14 insertions(+) + +--- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi ++++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi +@@ -529,6 +529,20 @@ + status = "disabled"; + }; + ++ blsp1_spi4: spi@78b8000 { ++ compatible = "qcom,spi-qup-v2.2.1"; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ reg = <0x78b8000 0x600>; ++ interrupts = ; ++ clocks = <&gcc GCC_BLSP1_QUP4_SPI_APPS_CLK>, ++ <&gcc GCC_BLSP1_AHB_CLK>; ++ clock-names = "core", "iface"; ++ dmas = <&blsp_dma 18>, <&blsp_dma 19>; ++ dma-names = "tx", "rx"; ++ status = "disabled"; ++ }; ++ + blsp1_i2c5: i2c@78b9000 { + compatible = "qcom,i2c-qup-v2.2.1"; + #address-cells = <1>; diff --git a/target/linux/qualcommax/patches-6.1/0111-arm64-dts-qcom-ipq8074-use-msi-parent-for-PCIe.patch b/target/linux/qualcommax/patches-6.1/0111-arm64-dts-qcom-ipq8074-use-msi-parent-for-PCIe.patch index 30cc69fceb..9163cd76fe 100644 --- a/target/linux/qualcommax/patches-6.1/0111-arm64-dts-qcom-ipq8074-use-msi-parent-for-PCIe.patch +++ b/target/linux/qualcommax/patches-6.1/0111-arm64-dts-qcom-ipq8074-use-msi-parent-for-PCIe.patch @@ -12,7 +12,7 @@ Signed-off-by: Robert Marko --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi -@@ -720,7 +720,7 @@ +@@ -734,7 +734,7 @@ reg = <0x0b000000 0x1000>, <0x0b002000 0x1000>; ranges = <0 0xb00a000 0xffd>; @@ -21,7 +21,7 @@ Signed-off-by: Robert Marko compatible = "arm,gic-v2m-frame"; msi-controller; reg = <0x0 0xffd>; -@@ -833,8 +833,7 @@ +@@ -847,8 +847,7 @@ ranges = <0x81000000 0x0 0x00000000 0x10200000 0x0 0x10000>, /* I/O */ <0x82000000 0x0 0x10220000 0x10220000 0x0 0xfde0000>; /* MEM */ @@ -31,7 +31,7 @@ Signed-off-by: Robert Marko #interrupt-cells = <1>; interrupt-map-mask = <0 0 0 0x7>; interrupt-map = <0 0 0 1 &intc 0 142 -@@ -895,8 +894,7 @@ +@@ -909,8 +908,7 @@ ranges = <0x81000000 0x0 0x00000000 0x20200000 0x0 0x10000>, /* I/O */ <0x82000000 0x0 0x20220000 0x20220000 0x0 0xfde0000>; /* MEM */ diff --git a/target/linux/qualcommax/patches-6.1/0120-arm64-dts-qcom-Enable-Q6v5-WCSS-for-ipq8074-SoC.patch b/target/linux/qualcommax/patches-6.1/0120-arm64-dts-qcom-Enable-Q6v5-WCSS-for-ipq8074-SoC.patch index 3d92386bb1..17ecd069a6 100644 --- a/target/linux/qualcommax/patches-6.1/0120-arm64-dts-qcom-Enable-Q6v5-WCSS-for-ipq8074-SoC.patch +++ b/target/linux/qualcommax/patches-6.1/0120-arm64-dts-qcom-Enable-Q6v5-WCSS-for-ipq8074-SoC.patch @@ -61,7 +61,7 @@ Signed-off-by: Robert Marko spmi_bus: spmi@200f000 { compatible = "qcom,spmi-pmic-arb"; reg = <0x0200f000 0x001000>, -@@ -935,6 +966,56 @@ +@@ -949,6 +980,56 @@ "axi_s_sticky"; status = "disabled"; }; diff --git a/target/linux/qualcommax/patches-6.1/0121-arm64-dts-ipq8074-Add-WLAN-node.patch b/target/linux/qualcommax/patches-6.1/0121-arm64-dts-ipq8074-Add-WLAN-node.patch index 299adb5ff8..76d3f35dd2 100644 --- a/target/linux/qualcommax/patches-6.1/0121-arm64-dts-ipq8074-Add-WLAN-node.patch +++ b/target/linux/qualcommax/patches-6.1/0121-arm64-dts-ipq8074-Add-WLAN-node.patch @@ -15,7 +15,7 @@ Signed-off-by: Robert Marko --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi -@@ -1016,6 +1016,117 @@ +@@ -1030,6 +1030,117 @@ }; }; }; From 70fd815e57dc98cef88828faa5ce71717540e99e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Owoc?= Date: Fri, 24 Nov 2023 22:15:44 +0100 Subject: [PATCH 36/43] qualcommax: ipq807x: add support for Linksys MX5300 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Hardware specification: ======== SoC: Qualcomm IPQ8072A Flash: 512MB (Winbond W29N04GZBIBA) RAM: 1GB (2x Nanya DDR3L NT5CC256M16ER-EK) Ethernet: 5x 10/100/1000Mbps (Qualcomm QCA8075) WiFi1: 5GHz ac 4x4 (Qualcomm QCA9984 + Skyworks SKY85746-11) - channels 100-169 WiFi2: 5GHz ax 4x4 (Qualcomm QCN5054 + Skyworks SKY85755-11) - channels 36-64 WiFi3: 2.4GHz ax 4x4 (Qualcomm QCN5024 + Skyworks SKY8340-11) IoT: Bluetooth 5, Zigbee and Thread (Qualcomm QCA4024 + Skyworks SE2433T-R) IoT Flash: 4MB (Macronix MX25R3235F) RTC: ST M41T00S LED: 1x RGB status (NXP PCA9633) USB: 1x USB 3.0 Button: WPS, Reset Flash instructions: ======== 1. Manually upgrade firmware using openwrt-qualcommax-ipq807x-linksys_mx5300-squashfs-factory.bin image. More details can be found here: https://www.linksys.com/hk/support-article?articleNum=274497 After first boot check actual partition: - fw_printenv -n boot_part and install firmware on second partition using command in case of 2: - mtd -r -e kernel -n write openwrt-qualcommax-ipq807x-linksys_mx5300-squashfs-factory.bin kernel and in case of 1: - mtd -r -e alt_kernel -n write openwrt-qualcommax-ipq807x-linksys_mx5300-squashfs-factory.bin alt_kernel 2. Installation using serial connection from OEM firmware (default login: root, password: admin): - fw_printenv -n boot_part In case of 2: - flash_erase /dev/mtd21 0 0 nandwrite -p /dev/mtd21 openwrt-qualcommax-ipq807x-linksys_mx5300-squashfs-factory.bin or in case of 1: - flash_erase /dev/mtd23 0 0 nandwrite -p /dev/mtd23 openwrt-qualcommax-ipq807x-linksys_mx5300-squashfs-factory.bin After first boot install firmware on second partition: - mtd -r -e kernel -n write openwrt-qualcommax-ipq807x-linksys_mx5300-squashfs-factory.bin kernel or: - mtd -r -e alt_kernel -n write openwrt-qualcommax-ipq807x-linksys_mx5300-squashfs-factory.bin alt_kernel 3. Installation from initramfs image using USB FAT32 formatted drive: Stop u-boot and run: - usb start && fatload usb 0:1 $loadaddr openwrt-qualcommax-ipq807x-linksys_mx5300-initramfs-uImage.itb && bootm $loadaddr Write firmware to the flash from initramfs: - mtd -e kernel -n write openwrt-qualcommax-ipq807x-linksys_mx5300-squashfs-factory.bin kernel and: - mtd -r -e alt_kernel -n write openwrt-qualcommax-ipq807x-linksys_mx5300-squashfs-factory.bin alt_kernel 4. Back to the OEM firmware: - mtd -e kernel -n write FW_MX5300_1.1.9.200251_prod.img kernel and: - mtd -r -e alt_kernel -n write FW_MX5300_1.1.9.200251_prod.img alt_kernel 5. USB recovery: - fw_setenv usbimage 'openwrt-qualcommax-ipq807x-linksys_mx5300-initramfs-uImage.itb' fw_setenv bootusb 'usb start && fatload usb 0:1 $loadaddr $usbimage && bootm $loadaddr' fw_setenv bootcmd 'run bootusb; aq_load_fw && if test $auto_recovery = no; then bootipq; elif test $boot_part = 1; then run bootpart1; else run bootpart2; fi' Notes: ======== IoT device is accesible over spi. Not yet supported. Signed-off-by: Paweł Owoc Reviewed-by: Robert Marko --- .../uboot-envtools/files/qualcommax_ipq807x | 3 +- package/firmware/ipq-wifi/Makefile | 8 +- .../arm64/boot/dts/qcom/ipq8072-mx5300.dts | 544 ++++++++++++++++++ target/linux/qualcommax/image/ipq807x.mk | 17 + .../ipq807x/base-files/etc/board.d/02_network | 1 + .../etc/hotplug.d/firmware/11-ath11k-caldata | 1 + .../ipq807x/base-files/etc/init.d/bootcount | 3 +- .../base-files/lib/upgrade/platform.sh | 3 +- 8 files changed, 574 insertions(+), 6 deletions(-) create mode 100644 target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8072-mx5300.dts diff --git a/package/boot/uboot-envtools/files/qualcommax_ipq807x b/package/boot/uboot-envtools/files/qualcommax_ipq807x index bcedfd9adc..86e7062cfc 100644 --- a/package/boot/uboot-envtools/files/qualcommax_ipq807x +++ b/package/boot/uboot-envtools/files/qualcommax_ipq807x @@ -30,7 +30,8 @@ edimax,cax1800) ubootenv_add_uci_config "/dev/mtd$idx" "0x0" "0x10000" "0x20000" ;; linksys,mx4200v1|\ -linksys,mx4200v2) +linksys,mx4200v2|\ +linksys,mx5300) idx="$(find_mtd_index u_env)" [ -n "$idx" ] && \ ubootenv_add_uci_config "/dev/mtd$idx" "0x0" "0x40000" "0x20000" "2" diff --git a/package/firmware/ipq-wifi/Makefile b/package/firmware/ipq-wifi/Makefile index 2b53d3e21b..206e1a58ed 100644 --- a/package/firmware/ipq-wifi/Makefile +++ b/package/firmware/ipq-wifi/Makefile @@ -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-19 -PKG_SOURCE_VERSION:=1cc59e1e09f68305bbf15e2de23d1c1829aee1eb -PKG_MIRROR_HASH:=383e7384d37cde2433b9bf6daee5d57ecd6f2c473f00901b491ae0c15d97fd53 +PKG_SOURCE_DATE:=2024-02-23 +PKG_SOURCE_VERSION:=9f9d9ba9cd77043744dcd5235497a15eea51c375 +PKG_MIRROR_HASH:=3a064a8810e6857580c4682f6b86a9dfcdb0d3aa361f4ec0c5480c54de4cc864 PKG_FLAGS:=nonshared @@ -37,6 +37,7 @@ ALLWIFIBOARDS:= \ edgecore_eap102 \ edimax_cax1800 \ linksys_mx4200 \ + linksys_mx5300 \ netgear_rax120v2 \ netgear_wax218 \ netgear_wax620 \ @@ -152,6 +153,7 @@ $(eval $(call generate-ipq-wifi-package,dynalink_dl-wrx36,Dynalink DL-WRX36)) $(eval $(call generate-ipq-wifi-package,edgecore_eap102,Edgecore EAP102)) $(eval $(call generate-ipq-wifi-package,edimax_cax1800,Edimax CAX1800)) $(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_rax120v2,Netgear RAX120v2)) $(eval $(call generate-ipq-wifi-package,netgear_wax218,Netgear WAX218)) $(eval $(call generate-ipq-wifi-package,netgear_wax620,Netgear WAX620)) diff --git a/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8072-mx5300.dts b/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8072-mx5300.dts new file mode 100644 index 0000000000..e44731a1be --- /dev/null +++ b/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8072-mx5300.dts @@ -0,0 +1,544 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +/dts-v1/; + +#include "ipq8074.dtsi" +#include "ipq8074-hk-cpu.dtsi" +#include "ipq8074-ess.dtsi" +#include +#include +#include + +/ { + model = "Linksys MX5300"; + compatible = "linksys,mx5300", "qcom,ipq8074"; + + aliases { + serial0 = &blsp1_uart5; + /* + * Aliases as required by u-boot + * to patch MAC addresses + */ + ethernet0 = &dp1; + ethernet1 = &dp2; + ethernet2 = &dp3; + ethernet3 = &dp4; + ethernet4 = &dp5; + led-boot = &led_system_blue; + led-running = &led_system_blue; + led-failsafe = &led_system_red; + led-upgrade = &led_system_green; + }; + + chosen { + stdout-path = "serial0:115200n8"; + bootargs-append = " root=/dev/ubiblock0_0 rootfstype=squashfs ro"; + }; + + keys { + compatible = "gpio-keys"; + pinctrl-0 = <&button_pins>; + pinctrl-names = "default"; + + reset-button { + label = "reset"; + gpios = <&tlmm 67 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + + wps-button { + label = "wps"; + gpios = <&tlmm 54 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + }; +}; + +&tlmm { + button_pins: button-state { + pins = "gpio54", "gpio67"; + function = "gpio"; + drive-strength = <8>; + bias-pull-up; + }; + + mdio_pins: mdio-state { + mdc-pins { + pins = "gpio68"; + function = "mdc"; + drive-strength = <8>; + bias-pull-up; + }; + + mdio-pins { + pins = "gpio69"; + function = "mdio"; + drive-strength = <8>; + bias-pull-up; + }; + }; + + /* + * QCA4024 is not currently supported, keep for documentation purposes + *spi_3_pins: spi-3-state { + * spi-pins { + * pins = "gpio50", "gpio52", "gpio53"; + * function = "blsp3_spi"; + * drive-strength = <8>; + * bias-disable; + * }; + * + * cs-pins { + * pins = "gpio22"; + * function = "blsp3_spi2"; + * drive-strength = <8>; + * bias-disable; + * }; + *}; + * + *quartz_pins: quartz-state { + * interrupt-pins { + * pins = "gpio48"; + * function = "gpio"; + * bias-disable; + * input; + * }; + * + * reset-pins { + * pins = "gpio21"; + * function = "gpio"; + * bias-disable; + * output-high; + * }; + *}; + */ +}; + +&blsp1_uart5 { + status = "okay"; +}; + +&prng { + status = "okay"; +}; + +&cryptobam { + status = "okay"; +}; + +&crypto { + status = "okay"; +}; + +&qpic_bam { + status = "okay"; +}; + +&qpic_nand { + 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"; + }; + + nand@0 { + reg = <0>; + nand-ecc-strength = <4>; + nand-ecc-step-size = <512>; + nand-bus-width = <8>; + + #address-cells = <1>; + #size-cells = <1>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "0:sbl1"; + reg = <0x0 0x100000>; + read-only; + }; + + partition@100000 { + label = "0:mibib"; + reg = <0x100000 0x100000>; + read-only; + }; + + partition@200000 { + label = "0:bootconfig"; + reg = <0x200000 0x80000>; + read-only; + }; + + partition@280000 { + label = "0:bootconfig1"; + reg = <0x280000 0x80000>; + read-only; + }; + + partition@300000 { + label = "0:qsee"; + reg = <0x300000 0x300000>; + read-only; + }; + + partition@600000 { + label = "0:qsee_1"; + reg = <0x600000 0x300000>; + read-only; + }; + + partition@900000 { + label = "0:devcfg"; + reg = <0x900000 0x80000>; + read-only; + }; + + partition@980000 { + label = "0:devcfg_1"; + reg = <0x980000 0x80000>; + read-only; + }; + + partition@a00000 { + label = "0:apdp"; + reg = <0xa00000 0x80000>; + read-only; + }; + + partition@a80000 { + label = "0:apdp_1"; + reg = <0xa80000 0x80000>; + read-only; + }; + + partition@b00000 { + label = "0:rpm"; + reg = <0xb00000 0x80000>; + read-only; + }; + + partition@b80000 { + label = "0:rpm_1"; + reg = <0xb80000 0x80000>; + read-only; + }; + + partition@c00000 { + label = "0:cdt"; + reg = <0xc00000 0x80000>; + read-only; + }; + + partition@c80000 { + label = "0:cdt_1"; + reg = <0xc80000 0x80000>; + read-only; + }; + + partition@d00000 { + label = "0:appsblenv"; + reg = <0xd00000 0x80000>; + }; + + partition@d80000 { + label = "0:appsbl"; + reg = <0xd80000 0x100000>; + read-only; + }; + + partition@e80000 { + label = "0:appsbl_1"; + reg = <0xe80000 0x100000>; + read-only; + }; + + partition@f80000 { + label = "0:art"; + reg = <0xf80000 0x80000>; + read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + caldata_qca9984: caldata@33000 { + reg = <0x33000 0x2f20>; + }; + }; + }; + + partition@1000000 { + label = "u_env"; + reg = <0x1000000 0x40000>; + }; + + partition@1040000 { + label = "s_env"; + reg = <0x1040000 0x20000>; + }; + + partition@1060000 { + label = "devinfo"; + reg = <0x1060000 0x20000>; + read-only; + }; + + partition@1080000 { + label = "kernel"; + reg = <0x1080000 0x9600000>; + }; + + partition@1680000 { + label = "rootfs"; + reg = <0x1680000 0x9000000>; + }; + + partition@a680000 { + label = "alt_kernel"; + reg = <0xa680000 0x9600000>; + }; + + partition@ac80000 { + label = "alt_rootfs"; + reg = <0xac80000 0x9000000>; + }; + partition@13c80000 { + label = "sysdiag"; + reg = <0x13c80000 0x200000>; + read-only; + }; + partition@13e80000 { + label = "0:ethphyfw"; + reg = <0x13e80000 0x80000>; + read-only; + }; + partition@13f00000 { + label = "syscfg"; + reg = <0x13f00000 0xb800000>; + read-only; + }; + partition@1f700000 { + label = "0:wififw"; + reg = <0x1f700000 0x900000>; + read-only; + }; + }; + }; +}; + +&blsp1_i2c2 { + status = "okay"; + + led-controller@62 { + compatible = "nxp,pca9633"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0x62>; + nxp,hw-blink; + + led_system_red: led@0 { + reg = <0>; + color = ; + function = LED_FUNCTION_STATUS; + }; + + led_system_green: led@1 { + reg = <1>; + color = ; + function = LED_FUNCTION_STATUS; + }; + + led_system_blue: led@2 { + reg = <2>; + color = ; + function = LED_FUNCTION_STATUS; + }; + }; + + rtc@68 { + compatible = "dallas,ds1307"; + reg = <0x68>; + }; +}; + +/* + * QCA4024 is not currently supported, keep for documentation purposes + *&blsp1_spi4 { + * status = "okay"; + * + * pinctrl-0 = <&spi_3_pins &quartz_pins>; + * pinctrl-names = "default"; + * + * iot@3 { + * compatible = "qca,qca4024"; + * reg = <0>; + * spi-max-frequency = <24000000>; + * }; + *}; + */ + +&mdio { + status = "okay"; + + pinctrl-0 = <&mdio_pins>; + pinctrl-names = "default"; + reset-gpios = <&tlmm 37 GPIO_ACTIVE_LOW>; + + ethernet-phy-package@0 { + #address-cells = <1>; + #size-cells = <0>; + compatible = "qcom,qca8075-package"; + reg = <0>; + + qca8075_0: ethernet-phy@0 { + compatible = "ethernet-phy-ieee802.3-c22"; + reg = <0>; + }; + + qca8075_1: ethernet-phy@1 { + compatible = "ethernet-phy-ieee802.3-c22"; + reg = <1>; + }; + + qca8075_2: ethernet-phy@2 { + compatible = "ethernet-phy-ieee802.3-c22"; + reg = <2>; + }; + + qca8075_3: ethernet-phy@3 { + compatible = "ethernet-phy-ieee802.3-c22"; + reg = <3>; + }; + + qca8075_4: ethernet-phy@4 { + compatible = "ethernet-phy-ieee802.3-c22"; + reg = <4>; + }; + }; +}; + +&switch { + status = "okay"; + + switch_lan_bmp = <(ESS_PORT1 | ESS_PORT2 | ESS_PORT3 | ESS_PORT4)>; /* lan port bitmap */ + switch_wan_bmp = ; /* wan port bitmap */ + switch_mac_mode = ; /* mac mode for uniphy instance0*/ + + qcom,port_phyinfo { + port@1 { + port_id = <1>; + phy_address = <0>; + }; + port@2 { + port_id = <2>; + phy_address = <1>; + }; + port@3 { + port_id = <3>; + phy_address = <2>; + }; + port@4 { + port_id = <4>; + phy_address = <3>; + }; + port@5 { + port_id = <5>; + phy_address = <4>; + }; + }; +}; + +&edma { + status = "okay"; +}; + +&dp1 { + status = "okay"; + phy-handle = <&qca8075_0>; + label = "lan1"; +}; + +&dp2 { + status = "okay"; + phy-handle = <&qca8075_1>; + label = "lan2"; +}; + +&dp3 { + status = "okay"; + phy-handle = <&qca8075_2>; + label = "lan3"; +}; + +&dp4 { + status = "okay"; + phy-handle = <&qca8075_3>; + label = "lan4"; +}; + +&dp5 { + status = "okay"; + phy-handle = <&qca8075_4>; + label = "wan"; +}; + +&ssphy_0 { + status = "okay"; +}; + +&qusb_phy_0 { + status = "okay"; +}; + +&usb_0 { + status = "okay"; +}; + +&pcie_qmp1 { + status = "okay"; +}; + +&pcie1 { + status = "okay"; + + perst-gpio = <&tlmm 58 GPIO_ACTIVE_LOW>; + + bridge@0,0 { + reg = <0x00000000 0 0 0 0>; + #address-cells = <3>; + #size-cells = <2>; + ranges; + + wifi0: wifi@1,0 { + status = "okay"; + + compatible = "qcom,ath10k"; + reg = <0x00010000 0 0 0 0>; + + qcom,ath10k-calibration-variant = "Linksys-MX5300"; + nvmem-cell-names = "pre-calibration"; + nvmem-cells = <&caldata_qca9984>; + }; + }; +}; + +&wifi { + status = "okay"; + + qcom,ath11k-calibration-variant = "Linksys-MX5300"; +}; diff --git a/target/linux/qualcommax/image/ipq807x.mk b/target/linux/qualcommax/image/ipq807x.mk index 916c8b9f75..74fe15a997 100644 --- a/target/linux/qualcommax/image/ipq807x.mk +++ b/target/linux/qualcommax/image/ipq807x.mk @@ -126,6 +126,23 @@ define Device/linksys_mx4200v2 endef TARGET_DEVICES += linksys_mx4200v2 +define Device/linksys_mx5300 + $(call Device/FitImage) + DEVICE_VENDOR := Linksys + DEVICE_MODEL := MX5300 + BLOCKSIZE := 128k + PAGESIZE := 2048 + KERNEL_SIZE := 6144k + IMAGE_SIZE := 147456k + NAND_SIZE := 512m + SOC := ipq8072 + IMAGES += factory.bin + IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | linksys-image type=MX5300 + DEVICE_PACKAGES := kmod-leds-pca963x kmod-rtc-ds1307 \ + ipq-wifi-linksys_mx5300 kmod-ath10k-ct ath10k-firmware-qca9984-ct +endef +TARGET_DEVICES += linksys_mx5300 + define Device/netgear_rax120v2 $(call Device/FitImage) $(call Device/UbiFit) diff --git a/target/linux/qualcommax/ipq807x/base-files/etc/board.d/02_network b/target/linux/qualcommax/ipq807x/base-files/etc/board.d/02_network index 1da97a8fa3..fb3fec6fc9 100644 --- a/target/linux/qualcommax/ipq807x/base-files/etc/board.d/02_network +++ b/target/linux/qualcommax/ipq807x/base-files/etc/board.d/02_network @@ -14,6 +14,7 @@ ipq807x_setup_interfaces() arcadyan,aw1000|\ buffalo,wxr-5950ax12|\ dynalink,dl-wrx36|\ + linksys,mx5300|\ xiaomi,ax9000) ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4" "wan" ;; diff --git a/target/linux/qualcommax/ipq807x/base-files/etc/hotplug.d/firmware/11-ath11k-caldata b/target/linux/qualcommax/ipq807x/base-files/etc/hotplug.d/firmware/11-ath11k-caldata index 95011ee568..88ba972407 100644 --- a/target/linux/qualcommax/ipq807x/base-files/etc/hotplug.d/firmware/11-ath11k-caldata +++ b/target/linux/qualcommax/ipq807x/base-files/etc/hotplug.d/firmware/11-ath11k-caldata @@ -18,6 +18,7 @@ case "$FIRMWARE" in edimax,cax1800|\ linksys,mx4200v1|\ linksys,mx4200v2|\ + linksys,mx5300|\ netgear,rax120v2|\ netgear,wax218|\ netgear,wax620|\ diff --git a/target/linux/qualcommax/ipq807x/base-files/etc/init.d/bootcount b/target/linux/qualcommax/ipq807x/base-files/etc/init.d/bootcount index f5f6c909e9..3e81caf63f 100755 --- a/target/linux/qualcommax/ipq807x/base-files/etc/init.d/bootcount +++ b/target/linux/qualcommax/ipq807x/base-files/etc/init.d/bootcount @@ -11,7 +11,8 @@ boot() { fw_setenv changed ;; linksys,mx4200v1|\ - linksys,mx4200v2) + linksys,mx4200v2|\ + linksys,mx5300) mtd resetbc s_env || true ;; esac diff --git a/target/linux/qualcommax/ipq807x/base-files/lib/upgrade/platform.sh b/target/linux/qualcommax/ipq807x/base-files/lib/upgrade/platform.sh index b03a063af3..bffca41e02 100644 --- a/target/linux/qualcommax/ipq807x/base-files/lib/upgrade/platform.sh +++ b/target/linux/qualcommax/ipq807x/base-files/lib/upgrade/platform.sh @@ -75,7 +75,8 @@ platform_do_upgrade() { nand_do_upgrade "$1" ;; linksys,mx4200v1|\ - linksys,mx4200v2) + linksys,mx4200v2|\ + linksys,mx5300) boot_part="$(fw_printenv -n boot_part)" if [ "$boot_part" -eq "1" ]; then fw_setenv boot_part 2 From 4390ea484d7d9159a0a41f0cb71840346a7e3b4f Mon Sep 17 00:00:00 2001 From: Eneas U de Queiroz Date: Tue, 10 Oct 2023 15:58:01 -0300 Subject: [PATCH 37/43] mac80211: build each variant in its own dir Having different build directories is the default when the package Makefile defines more than one variant. Mac80211 overrides PKG_BUILD_DIR, not taking different variants in consideration, which causes clobbering the directories when both variants are built. When compiled with AUTOREMOVE=y, the effect is that the package is unnecessarily rebuilt when the package is compiled again. Wihout AUTOREMOVE, the problem is worse: the second variant will not be rebuilt, and you end up with the smallbuffers variant being a copy of the regular one. Signed-off-by: Eneas U de Queiroz --- package/kernel/mac80211/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/kernel/mac80211/Makefile b/package/kernel/mac80211/Makefile index 8d9dc4efa9..b9c82c51cc 100644 --- a/package/kernel/mac80211/Makefile +++ b/package/kernel/mac80211/Makefile @@ -16,7 +16,7 @@ PKG_SOURCE_URL:=http://mirror2.openwrt.org/sources/ PKG_HASH:=3bbc461121134fda9089c084a5eed577d05e7837a157edf9a3797937172a3ece PKG_SOURCE:=backports-$(PKG_VERSION).tar.xz -PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/backports-$(PKG_VERSION) +PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(if $(BUILD_VARIANT),$(PKG_NAME)-$(BUILD_VARIANT)/)backports-$(PKG_VERSION) PKG_BUILD_PARALLEL:=1 PKG_MAINTAINER:=Felix Fietkau From 375dd230111c277820d2c5802d8c1d271061b31a Mon Sep 17 00:00:00 2001 From: Eneas U de Queiroz Date: Tue, 10 Oct 2023 16:36:12 -0300 Subject: [PATCH 38/43] mac80211: only build ath10k with smallbuffers When both variants of ath10k drivers are selected, any driver that is selected along is being built twice, one for each ath10k variant. Avoid these redundant builds by introducing an optional second parameter to config_package that lists the variants for which the package is to be built. If the symbol is to be set for all of the variants, $(ALL_VARIANTS) can be used. This is the case for the mac80211 and cfg80211 modules. If the parameter is empty, then the module will be selected and thus built when the first variant is compiled. Signed-off-by: Eneas U de Queiroz --- package/kernel/mac80211/Makefile | 12 +++++++++--- package/kernel/mac80211/ath.mk | 6 +++--- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/package/kernel/mac80211/Makefile b/package/kernel/mac80211/Makefile index b9c82c51cc..54a2bf4499 100644 --- a/package/kernel/mac80211/Makefile +++ b/package/kernel/mac80211/Makefile @@ -47,7 +47,13 @@ define KernelPackage/mac80211/Default MAINTAINER:=Felix Fietkau endef -config_package=$(if $(CONFIG_PACKAGE_kmod-$(1)),m) +# config_pacakge: +# 1 = OpenWrt KernelPackage name +# 2 = Optional list of variants for which the module may be selected: +# If empty, the module is only selected with the first variant +# Use $(ALL_VARIANTS) to allow module selection in all variants +config_package=$(if $(and $(CONFIG_PACKAGE_kmod-$(1)),$(call mac80211_variant_check,$(2))),m) +mac80211_variant_check=$(if $(ALL_VARIANTS),$(filter $(BUILD_VARIANT),$(if $(1),$(1),$(firstword $(ALL_VARIANTS)))),y) config-y:= \ WLAN \ @@ -72,10 +78,10 @@ config-y:= \ WLAN_VENDOR_TI \ WLAN_VENDOR_ZYDAS \ -config-$(call config_package,cfg80211) += CFG80211 +config-$(call config_package,cfg80211,$(ALL_VARIANTS)) += CFG80211 config-$(CONFIG_PACKAGE_CFG80211_TESTMODE) += NL80211_TESTMODE -config-$(call config_package,mac80211) += MAC80211 +config-$(call config_package,mac80211,$(ALL_VARIANTS)) += MAC80211 config-$(CONFIG_PACKAGE_MAC80211_MESH) += MAC80211_MESH include ath.mk diff --git a/package/kernel/mac80211/ath.mk b/package/kernel/mac80211/ath.mk index 881c89db25..dd200a89d4 100644 --- a/package/kernel/mac80211/ath.mk +++ b/package/kernel/mac80211/ath.mk @@ -37,7 +37,7 @@ ifdef CONFIG_PACKAGE_MAC80211_TRACING WIL6210_TRACING endif -config-$(call config_package,ath) += ATH_CARDS ATH_COMMON +config-$(call config_package,ath,regular smallbuffers) += ATH_CARDS ATH_COMMON config-$(CONFIG_PACKAGE_ATH_DEBUG) += ATH_DEBUG ATH10K_DEBUG ATH11K_DEBUG ATH9K_STATION_STATISTICS config-$(CONFIG_PACKAGE_ATH_DFS) += ATH9K_DFS_CERTIFIED ATH10K_DFS_CERTIFIED config-$(CONFIG_PACKAGE_ATH_SPECTRAL) += ATH9K_COMMON_SPECTRAL ATH10K_SPECTRAL ATH11K_SPECTRAL @@ -58,8 +58,8 @@ config-$(CONFIG_ATH10K_THERMAL) += ATH10K_THERMAL config-$(CONFIG_ATH11K_THERMAL) += ATH11K_THERMAL config-$(call config_package,ath9k-htc) += ATH9K_HTC -config-$(call config_package,ath10k) += ATH10K ATH10K_PCI -config-$(call config_package,ath10k-smallbuffers) += ATH10K ATH10K_PCI ATH10K_SMALLBUFFERS +config-$(call config_package,ath10k,regular) += ATH10K ATH10K_PCI +config-$(call config_package,ath10k-smallbuffers,smallbuffers) += ATH10K ATH10K_PCI ATH10K_SMALLBUFFERS config-$(call config_package,ath11k) += ATH11K config-$(call config_package,ath11k-ahb) += ATH11K_AHB config-$(call config_package,ath11k-pci) += ATH11K_PCI From 9bd7d8b75657c55459c0683340617a08650f6351 Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Fri, 23 Feb 2024 14:14:05 +0100 Subject: [PATCH 39/43] ipq-wifi: fix archive hash It seems that ipq-wifi bump included and incorrect PKG_MIRROR_HASH value, so fix it by using: make package/firmware/ipq-wifi/check FIXUP=1 Fixes: 70fd815e57dc ("qualcommax: ipq807x: add support for Linksys MX5300") Signed-off-by: Robert Marko --- package/firmware/ipq-wifi/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/firmware/ipq-wifi/Makefile b/package/firmware/ipq-wifi/Makefile index 206e1a58ed..df1ae5ee7a 100644 --- a/package/firmware/ipq-wifi/Makefile +++ b/package/firmware/ipq-wifi/Makefile @@ -8,7 +8,7 @@ PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/project/firmware/qca-wireless.git PKG_SOURCE_DATE:=2024-02-23 PKG_SOURCE_VERSION:=9f9d9ba9cd77043744dcd5235497a15eea51c375 -PKG_MIRROR_HASH:=3a064a8810e6857580c4682f6b86a9dfcdb0d3aa361f4ec0c5480c54de4cc864 +PKG_MIRROR_HASH:=38f6d15259a8e4d7d9d1f8043abe9981fc3ed03c57a909a8a484f59710f86815 PKG_FLAGS:=nonshared From 33197d22f0045b491ddea580bb2940a730918233 Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Mon, 19 Feb 2024 03:11:18 +0000 Subject: [PATCH 40/43] mediatek: filogic: asus-rt-ax59u: use NVMEM-on-UBI Use newly added support for NVMEM-on-UBI instead of extracting MAC address and WiFi EEPROM data in userspace. Signed-off-by: Daniel Golle --- .../mediatek/dts/mt7986a-asus-rt-ax59u.dts | 62 ++++++++++++++++--- .../filogic/base-files/etc/board.d/02_network | 1 - .../etc/hotplug.d/firmware/11-mt76-caldata | 1 - 3 files changed, 54 insertions(+), 10 deletions(-) diff --git a/target/linux/mediatek/dts/mt7986a-asus-rt-ax59u.dts b/target/linux/mediatek/dts/mt7986a-asus-rt-ax59u.dts index e2acb63771..0034ad8284 100644 --- a/target/linux/mediatek/dts/mt7986a-asus-rt-ax59u.dts +++ b/target/linux/mediatek/dts/mt7986a-asus-rt-ax59u.dts @@ -14,6 +14,7 @@ aliases { serial0 = &uart0; + label-mac-device = &gmac0; led-boot = &led_status_green; led-failsafe = &led_status_red; led-running = &led_status_green; @@ -22,7 +23,7 @@ chosen { stdout-path = "serial0:115200n8"; - bootargs-override = "ubi.mtd=UBI_DEV"; + bootargs-override = ""; }; memory { @@ -89,6 +90,8 @@ /* LAN */ compatible = "mediatek,eth-mac"; reg = <0>; + nvmem-cells = <&macaddr_factory_4>; + nvmem-cell-names = "mac-address"; phy-mode = "2500base-x"; fixed-link { @@ -206,44 +209,87 @@ pinctrl-0 = <&spi_flash_pins>; status = "okay"; - spi_nand: spi_nand@0 { + spi_nand: flash@0 { compatible = "spi-nand"; + reg = <0>; #address-cells = <1>; #size-cells = <1>; - reg = <0>; spi-max-frequency = <20000000>; spi-tx-bus-width = <4>; spi-rx-bus-width = <4>; - partitions: partitions { + /* + * ASUS bootloader tries to replace the partitions defined in + * Device Tree and by that also deletes all additional properties + * needed for UBI and NVMEM-on-UBI. + * Prevent this from happening by tricking the loader to delete and + * replace a bait node instead. + */ + partitions: dummy { + compatible = "u-boot-dummy-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + reg = <0x0 0x0>; + label = "remove_me"; + }; + }; + + partitions { compatible = "fixed-partitions"; #address-cells = <1>; #size-cells = <1>; partition@0 { - label = "u-boot"; reg = <0x0 0x400000>; + label = "u-boot"; read-only; }; partition@400000 { + compatible = "linux,ubi"; + reg = <0x400000 0xfc00000>; label = "UBI_DEV"; - reg = <0x400000 0x7c00000>; + + volumes { + ubi_factory: ubi-volume-factory { + volname = "Factory"; + }; + }; }; }; }; }; +&ubi_factory { + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x1000>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; + }; +}; + &watchdog { status = "okay"; }; &wifi { - status = "okay"; - pinctrl-names = "default", "dbdc"; + nvmem-cells = <&eeprom_factory_0>; + nvmem-cell-names = "eeprom"; pinctrl-0 = <&wf_2g_5g_pins>; pinctrl-1 = <&wf_dbdc_pins>; + pinctrl-names = "default", "dbdc"; + status = "okay"; }; &trng { diff --git a/target/linux/mediatek/filogic/base-files/etc/board.d/02_network b/target/linux/mediatek/filogic/base-files/etc/board.d/02_network index 683282b87c..a639f3df16 100644 --- a/target/linux/mediatek/filogic/base-files/etc/board.d/02_network +++ b/target/linux/mediatek/filogic/base-files/etc/board.d/02_network @@ -109,7 +109,6 @@ mediatek_setup_macs() local label_mac="" case $board in - asus,rt-ax59u|\ asus,tuf-ax4200|\ asus,tuf-ax6000) CI_UBIPART="UBI_DEV" diff --git a/target/linux/mediatek/filogic/base-files/etc/hotplug.d/firmware/11-mt76-caldata b/target/linux/mediatek/filogic/base-files/etc/hotplug.d/firmware/11-mt76-caldata index 1ec648584d..9f9084732d 100644 --- a/target/linux/mediatek/filogic/base-files/etc/hotplug.d/firmware/11-mt76-caldata +++ b/target/linux/mediatek/filogic/base-files/etc/hotplug.d/firmware/11-mt76-caldata @@ -59,7 +59,6 @@ case "$FIRMWARE" in ;; "mediatek/mt7986_eeprom_mt7976_dbdc.bin") case "$board" in - asus,rt-ax59u|\ asus,tuf-ax4200) CI_UBIPART="UBI_DEV" caldata_extract_ubi "Factory" 0x0 0x1000 From 25c9ebc6d405bf1bcf83fa4a59b315df245be0c0 Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Mon, 19 Feb 2024 03:18:47 +0000 Subject: [PATCH 41/43] mediatek: filogic: asus-tuf-ax4200: use NVMEM-on-UBI Use newly added support for NVMEM-on-UBI instead of extracting MAC address and WiFi EEPROM data in userspace. Signed-off-by: Daniel Golle --- .../mediatek/dts/mt7986a-asus-tuf-ax4200.dts | 58 +++++++++++++++++-- .../filogic/base-files/etc/board.d/02_network | 1 - .../etc/hotplug.d/firmware/11-mt76-caldata | 8 --- 3 files changed, 52 insertions(+), 15 deletions(-) diff --git a/target/linux/mediatek/dts/mt7986a-asus-tuf-ax4200.dts b/target/linux/mediatek/dts/mt7986a-asus-tuf-ax4200.dts index e9c8edc3dc..22530df9bb 100644 --- a/target/linux/mediatek/dts/mt7986a-asus-tuf-ax4200.dts +++ b/target/linux/mediatek/dts/mt7986a-asus-tuf-ax4200.dts @@ -13,6 +13,7 @@ aliases { serial0 = &uart0; + label-mac-device = &gmac0; led-boot = &led_system; led-failsafe = &led_system; led-running = &led_system; @@ -21,7 +22,7 @@ chosen { stdout-path = "serial0:115200n8"; - bootargs-override = "ubi.mtd=UBI_DEV"; + bootargs-override = ""; }; memory { @@ -101,6 +102,8 @@ /* LAN */ compatible = "mediatek,eth-mac"; reg = <0>; + nvmem-cells = <&macaddr_factory_4>; + nvmem-cell-names = "mac-address"; phy-mode = "2500base-x"; fixed-link { @@ -215,25 +218,66 @@ spi-tx-bus-width = <4>; spi-rx-bus-width = <4>; - partitions: partitions { + /* + * ASUS bootloader tries to replace the partitions defined in + * Device Tree and by that also deletes all additional properties + * needed for UBI and NVMEM-on-UBI. + * Prevent this from happening by tricking the loader to delete and + * replace a bait node instead. + */ + partitions: dummy { + compatible = "u-boot-dummy-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + reg = <0x0 0x0>; + label = "remove_me"; + }; + }; + + partitions { compatible = "fixed-partitions"; #address-cells = <1>; #size-cells = <1>; partition@0 { - label = "bootloader"; reg = <0x0 0x400000>; + label = "bootloader"; read-only; }; partition@400000 { - label = "UBI_DEV"; + compatible = "linux,ubi"; reg = <0x400000 0xfc00000>; + label = "UBI_DEV"; + + volumes { + ubi_factory: ubi-volume-factory { + volname = "Factory"; + }; + }; }; }; }; }; +&ubi_factory { + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x1000>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; + }; +}; + &switch { ports { #address-cells = <1>; @@ -340,10 +384,12 @@ }; &wifi { - status = "okay"; - pinctrl-names = "default", "dbdc"; + nvmem-cells = <&eeprom_factory_0>; + nvmem-cell-names = "eeprom"; pinctrl-0 = <&wf_2g_5g_pins>; pinctrl-1 = <&wf_dbdc_pins>; + pinctrl-names = "default", "dbdc"; + status = "okay"; }; &trng { diff --git a/target/linux/mediatek/filogic/base-files/etc/board.d/02_network b/target/linux/mediatek/filogic/base-files/etc/board.d/02_network index a639f3df16..9f9544dec0 100644 --- a/target/linux/mediatek/filogic/base-files/etc/board.d/02_network +++ b/target/linux/mediatek/filogic/base-files/etc/board.d/02_network @@ -109,7 +109,6 @@ mediatek_setup_macs() local label_mac="" case $board in - asus,tuf-ax4200|\ asus,tuf-ax6000) CI_UBIPART="UBI_DEV" addr=$(mtd_get_mac_binary_ubi "Factory" 0x4) diff --git a/target/linux/mediatek/filogic/base-files/etc/hotplug.d/firmware/11-mt76-caldata b/target/linux/mediatek/filogic/base-files/etc/hotplug.d/firmware/11-mt76-caldata index 9f9084732d..bb81444b01 100644 --- a/target/linux/mediatek/filogic/base-files/etc/hotplug.d/firmware/11-mt76-caldata +++ b/target/linux/mediatek/filogic/base-files/etc/hotplug.d/firmware/11-mt76-caldata @@ -57,14 +57,6 @@ case "$FIRMWARE" in ;; esac ;; -"mediatek/mt7986_eeprom_mt7976_dbdc.bin") - case "$board" in - asus,tuf-ax4200) - CI_UBIPART="UBI_DEV" - caldata_extract_ubi "Factory" 0x0 0x1000 - ;; - esac - ;; "mediatek/mt7986_eeprom_mt7976_dual.bin") case "$board" in asus,tuf-ax6000) From 1794309bb5a442b5824de27a889f0855dcfe2198 Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Mon, 19 Feb 2024 03:22:52 +0000 Subject: [PATCH 42/43] mediatek: filogic: asus-tuf-ax6000: use NVMEM-on-UBI Use newly added support for NVMEM-on-UBI instead of extracting MAC address and WiFi EEPROM data in userspace. Signed-off-by: Daniel Golle --- .../mediatek/dts/mt7986a-asus-tuf-ax6000.dts | 58 +++++++++++++++++-- .../filogic/base-files/etc/board.d/02_network | 6 -- .../etc/hotplug.d/firmware/11-mt76-caldata | 4 -- 3 files changed, 52 insertions(+), 16 deletions(-) diff --git a/target/linux/mediatek/dts/mt7986a-asus-tuf-ax6000.dts b/target/linux/mediatek/dts/mt7986a-asus-tuf-ax6000.dts index 2d7b9c8c5c..bde2525cd7 100644 --- a/target/linux/mediatek/dts/mt7986a-asus-tuf-ax6000.dts +++ b/target/linux/mediatek/dts/mt7986a-asus-tuf-ax6000.dts @@ -13,6 +13,7 @@ aliases { serial0 = &uart0; + label-mac-device = &gmac0; led-boot = &led_system; led-failsafe = &led_system; led-running = &led_system; @@ -21,7 +22,7 @@ chosen { stdout-path = "serial0:115200n8"; - bootargs-override = "ubi.mtd=UBI_DEV"; + bootargs-override = ""; }; memory { @@ -101,6 +102,8 @@ /* LAN */ compatible = "mediatek,eth-mac"; reg = <0>; + nvmem-cells = <&macaddr_factory_4>; + nvmem-cell-names = "mac-address"; phy-mode = "2500base-x"; fixed-link { @@ -219,33 +222,74 @@ spi_nand_flash: flash@0 { compatible = "spi-nand"; + reg = <0>; #address-cells = <1>; #size-cells = <1>; - reg = <0>; spi-max-frequency = <20000000>; spi-tx-bus-width = <4>; spi-rx-bus-width = <4>; - partitions: partitions { + /* + * ASUS bootloader tries to replace the partitions defined in + * Device Tree and by that also deletes all additional properties + * needed for UBI and NVMEM-on-UBI. + * Prevent this from happening by tricking the loader to delete and + * replace a bait node instead. + */ + partitions: dummy { + compatible = "u-boot-dummy-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + reg = <0x0 0x0>; + label = "remove_me"; + }; + }; + + partitions { compatible = "fixed-partitions"; #address-cells = <1>; #size-cells = <1>; partition@0 { - label = "bootloader"; reg = <0x0 0x400000>; + label = "bootloader"; read-only; }; partition@400000 { - label = "UBI_DEV"; + compatible = "linux,ubi"; reg = <0x400000 0xfc00000>; + label = "UBI_DEV"; + + volumes { + ubi_factory: ubi-volume-factory { + volname = "Factory"; + }; + }; }; }; }; }; +&ubi_factory { + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x1000>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; + }; +}; + &switch { ports { #address-cells = <1>; @@ -360,10 +404,12 @@ }; &wifi { - status = "okay"; + nvmem-cells = <&eeprom_factory_0>; + nvmem-cell-names = "eeprom"; pinctrl-names = "default", "dbdc"; pinctrl-0 = <&wf_2g_5g_pins>; pinctrl-1 = <&wf_dbdc_pins>; + status = "okay"; }; &trng { diff --git a/target/linux/mediatek/filogic/base-files/etc/board.d/02_network b/target/linux/mediatek/filogic/base-files/etc/board.d/02_network index 9f9544dec0..c899be1b98 100644 --- a/target/linux/mediatek/filogic/base-files/etc/board.d/02_network +++ b/target/linux/mediatek/filogic/base-files/etc/board.d/02_network @@ -109,12 +109,6 @@ mediatek_setup_macs() local label_mac="" case $board in - asus,tuf-ax6000) - CI_UBIPART="UBI_DEV" - addr=$(mtd_get_mac_binary_ubi "Factory" 0x4) - wan_mac="${addr}" - lan_mac="${addr}" - ;; bananapi,bpi-r3) wan_mac=$(macaddr_add $(cat /sys/class/net/eth0/address) 1) ;; diff --git a/target/linux/mediatek/filogic/base-files/etc/hotplug.d/firmware/11-mt76-caldata b/target/linux/mediatek/filogic/base-files/etc/hotplug.d/firmware/11-mt76-caldata index bb81444b01..bd68ef7415 100644 --- a/target/linux/mediatek/filogic/base-files/etc/hotplug.d/firmware/11-mt76-caldata +++ b/target/linux/mediatek/filogic/base-files/etc/hotplug.d/firmware/11-mt76-caldata @@ -59,10 +59,6 @@ case "$FIRMWARE" in ;; "mediatek/mt7986_eeprom_mt7976_dual.bin") case "$board" in - asus,tuf-ax6000) - CI_UBIPART="UBI_DEV" - caldata_extract_ubi "Factory" 0x0 0x1000 - ;; jdcloud,re-cp-03) caldata_extract_mmc "factory" 0x0 0x1000 ;; From 280b13dc64b7bf92f45d15a567504c2edc705129 Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Fri, 23 Feb 2024 13:43:43 +0000 Subject: [PATCH 43/43] mediatek: mt7622: no longer select FIT_PARTITION All mt7622 board previously using the FIT partition parser have been converted to use the fitblk driver: 6aec3c7b5b mediatek: mt7622: modernize Linksys E8450 / Belkin RT3200 UBI build 41c053141e mediatek: mt7622: convert unifi6lr-v{1,2,3}-ubootmod to fitblk 208f6c1232 mediatek: mt7622: convert BPi-R64 to all-UBI layout and fitblk Remove the now no longer needed FIT partition parser from builds for mt7622. Signed-off-by: Daniel Golle --- target/linux/mediatek/mt7622/config-6.1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/linux/mediatek/mt7622/config-6.1 b/target/linux/mediatek/mt7622/config-6.1 index eed62e09e1..84af474e52 100644 --- a/target/linux/mediatek/mt7622/config-6.1 +++ b/target/linux/mediatek/mt7622/config-6.1 @@ -151,7 +151,7 @@ CONFIG_EINT_MTK=y CONFIG_EXCLUSIVE_SYSTEM_RAM=y CONFIG_EXT4_FS=y CONFIG_F2FS_FS=y -CONFIG_FIT_PARTITION=y +# CONFIG_FIT_PARTITION is not set CONFIG_FIXED_PHY=y CONFIG_FIX_EARLYCON_MEM=y CONFIG_FRAME_POINTER=y