From 8de3ee2e79e324fd238491be1e102e7c043a6633 Mon Sep 17 00:00:00 2001 From: Koen Vandeputte Date: Tue, 6 Jun 2023 13:21:53 +0200 Subject: [PATCH 01/19] ath10k-ct: bump to latest upstream 92900bf("at10k-ct: fixup version info") Tested-by: Enrico Mioso Signed-off-by: Koen Vandeputte --- package/kernel/ath10k-ct/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package/kernel/ath10k-ct/Makefile b/package/kernel/ath10k-ct/Makefile index 2bb7c7e2f72..cfd38120cb4 100644 --- a/package/kernel/ath10k-ct/Makefile +++ b/package/kernel/ath10k-ct/Makefile @@ -8,9 +8,9 @@ PKG_LICENSE_FILES:= PKG_SOURCE_URL:=https://github.com/greearb/ath10k-ct.git PKG_SOURCE_PROTO:=git -PKG_SOURCE_DATE:=2023-05-26 -PKG_SOURCE_VERSION:=af342b6171a457e067932615deb203b68b1d076a -PKG_MIRROR_HASH:=90e145fbe6057da65b637e3a194317c1e4f529b078c7e4a245a286c37e3d1b76 +PKG_SOURCE_DATE:=2023-06-05 +PKG_SOURCE_VERSION:=fadd0768cbd22248a60efbb219ccefc9d86cd78c +PKG_MIRROR_HASH:=513f62765ba3a2f423099426fbba86b854f3de0ab13ec2ab6e2780577ea75f95 # Build the 6.2 ath10k-ct driver version. # Probably this should match as closely as From 7d3651f1b9be522e3849412d0aba010e81e15a51 Mon Sep 17 00:00:00 2001 From: Koen Vandeputte Date: Wed, 20 Sep 2023 14:14:05 +0200 Subject: [PATCH 02/19] ath10k-ct: switch to 6.4 Switch to the latest version so we match as close as possible to our own mac80211 version. Run-time tested on hundreds of devices in the field for months now: - qca988x (wave 1) - qca4019 (wave 2) Tested-by: Enrico Mioso Signed-off-by: Koen Vandeputte --- package/kernel/ath10k-ct/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package/kernel/ath10k-ct/Makefile b/package/kernel/ath10k-ct/Makefile index cfd38120cb4..9c0029d3bdb 100644 --- a/package/kernel/ath10k-ct/Makefile +++ b/package/kernel/ath10k-ct/Makefile @@ -12,10 +12,10 @@ PKG_SOURCE_DATE:=2023-06-05 PKG_SOURCE_VERSION:=fadd0768cbd22248a60efbb219ccefc9d86cd78c PKG_MIRROR_HASH:=513f62765ba3a2f423099426fbba86b854f3de0ab13ec2ab6e2780577ea75f95 -# Build the 6.2 ath10k-ct driver version. +# Build the 6.4 ath10k-ct driver version. # Probably this should match as closely as # possible to whatever mac80211 backports version is being used. -CT_KVER="-6.2" +CT_KVER="-6.4" PKG_MAINTAINER:=Ben Greear PKG_BUILD_PARALLEL:=1 From 1cb85e1251a7174643993dfc6da778e31be58903 Mon Sep 17 00:00:00 2001 From: Mikhail Zhilkin Date: Sun, 29 Oct 2023 15:10:58 +0000 Subject: [PATCH 03/19] ramips: fix wrong permissions on dts files This commit fixes wrong permissions on dts files. Before the commit these dts files are executable: -rwxrwxr-x mt7620a_dlink_dir-806a-b1.dts -rwxrwxr-x mt7621_wavlink_wl-wn573hx1.dts Signed-off-by: Mikhail Zhilkin --- target/linux/ramips/dts/mt7620a_dlink_dir-806a-b1.dts | 0 target/linux/ramips/dts/mt7621_wavlink_wl-wn573hx1.dts | 0 2 files changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 target/linux/ramips/dts/mt7620a_dlink_dir-806a-b1.dts mode change 100755 => 100644 target/linux/ramips/dts/mt7621_wavlink_wl-wn573hx1.dts diff --git a/target/linux/ramips/dts/mt7620a_dlink_dir-806a-b1.dts b/target/linux/ramips/dts/mt7620a_dlink_dir-806a-b1.dts old mode 100755 new mode 100644 diff --git a/target/linux/ramips/dts/mt7621_wavlink_wl-wn573hx1.dts b/target/linux/ramips/dts/mt7621_wavlink_wl-wn573hx1.dts old mode 100755 new mode 100644 From a0fa3a17a2f095dea27afa3a11e7674d990adbd7 Mon Sep 17 00:00:00 2001 From: Christian Marangi Date: Fri, 3 Nov 2023 04:10:03 +0100 Subject: [PATCH 04/19] ath10k-ct: add patch fixing compilation error in debug ath10k-ct based on kernel 6.4 doesn't have a fix present in previous kernel. Add patch that port the compilation error fix from previous kernel in the new 6.4 kernel. Fixes: 7d3651f1b9be ("ath10k-ct: switch to 6.4") Signed-off-by: Christian Marangi --- ...ompilation-warning-for-debug-level-t.patch | 111 ++++++++++++++++++ 1 file changed, 111 insertions(+) create mode 100644 package/kernel/ath10k-ct/patches/100-ath10k-ct-port-compilation-warning-for-debug-level-t.patch diff --git a/package/kernel/ath10k-ct/patches/100-ath10k-ct-port-compilation-warning-for-debug-level-t.patch b/package/kernel/ath10k-ct/patches/100-ath10k-ct-port-compilation-warning-for-debug-level-t.patch new file mode 100644 index 00000000000..f4522c87b43 --- /dev/null +++ b/package/kernel/ath10k-ct/patches/100-ath10k-ct-port-compilation-warning-for-debug-level-t.patch @@ -0,0 +1,111 @@ +From a227621b46df8a7a5c276131b245f40eac7513fb Mon Sep 17 00:00:00 2001 +From: Christian Marangi +Date: Fri, 3 Nov 2023 04:03:08 +0100 +Subject: [PATCH] ath10k-ct: port compilation warning for debug level to kernel + 6.4 + +Port compilation warning for debug level previously fixed in other +kernel to kernel version 6.4. + +Signed-off-by: Christian Marangi +--- + ath10k-6.4/debug.c | 85 ++++++++++++++++++++++++++-------------------- + 1 file changed, 48 insertions(+), 37 deletions(-) + +--- a/ath10k-6.4/debug.c ++++ b/ath10k-6.4/debug.c +@@ -1345,47 +1345,58 @@ static const struct file_operations fops + .llseek = default_llseek, + }; + ++static const char debug_level_buf[] = ++ "To change debug level, set value adding up desired flags:\n" ++ "PCI: 0x1\n" ++ "WMI: 0x2\n" ++ "HTC: 0x4\n" ++ "HTT: 0x8\n" ++ "MAC: 0x10\n" ++ "BOOT: 0x20\n" ++ "PCI-DUMP: 0x40\n" ++ "HTT-DUMP: 0x80\n" ++ "MGMT: 0x100\n" ++ "DATA: 0x200\n" ++ "BMI: 0x400\n" ++ "REGULATORY: 0x800\n" ++ "TESTMODE: 0x1000\n" ++ "WMI-PRINT: 0x2000\n" ++ "PCI-PS: 0x4000\n" ++ "AHB: 0x8000\n" ++ "SDIO: 0x10000\n" ++ "SDIO_DUMP: 0x20000\n" ++ "USB: 0x40000\n" ++ "USB_BULK: 0x80000\n" ++ "SNOC: 0x100000\n" ++ "QMI: 0x200000\n" ++ "BEACONS: 0x8000000\n" ++ "NO-FW-DBGLOG:0x10000000\n" ++ "MAC2: 0x20000000\n" ++ "INFO-AS-DBG: 0x40000000\n" ++ "FW: 0x80000000\n" ++ "ALL: 0xEFFFFFFF\n"; ++ ++#define READ_DEBUG_LEVEL_SIZE sizeof(debug_level_buf) + 60 ++ + static ssize_t ath10k_read_debug_level(struct file *file, + char __user *user_buf, + size_t count, loff_t *ppos) + { +- int sz; +- const char buf[] = +- "To change debug level, set value adding up desired flags:\n" +- "PCI: 0x1\n" +- "WMI: 0x2\n" +- "HTC: 0x4\n" +- "HTT: 0x8\n" +- "MAC: 0x10\n" +- "BOOT: 0x20\n" +- "PCI-DUMP: 0x40\n" +- "HTT-DUMP: 0x80\n" +- "MGMT: 0x100\n" +- "DATA: 0x200\n" +- "BMI: 0x400\n" +- "REGULATORY: 0x800\n" +- "TESTMODE: 0x1000\n" +- "WMI-PRINT: 0x2000\n" +- "PCI-PS: 0x4000\n" +- "AHB: 0x8000\n" +- "SDIO: 0x10000\n" +- "SDIO_DUMP: 0x20000\n" +- "USB: 0x40000\n" +- "USB_BULK: 0x80000\n" +- "SNOC: 0x100000\n" +- "QMI: 0x200000\n" +- "BEACONS: 0x8000000\n" +- "NO-FW-DBGLOG:0x10000000\n" +- "MAC2: 0x20000000\n" +- "INFO-AS-DBG: 0x40000000\n" +- "FW: 0x80000000\n" +- "ALL: 0xEFFFFFFF\n"; +- char wbuf[sizeof(buf) + 60]; +- sz = snprintf(wbuf, sizeof(wbuf), "Current debug level: 0x%x\n\n%s", +- ath10k_debug_mask, buf); +- wbuf[sizeof(wbuf) - 1] = 0; ++ int sz, ret; ++ char *wbuf; ++ ++ wbuf = kcalloc(READ_DEBUG_LEVEL_SIZE, sizeof(char), GFP_KERNEL); ++ if (!wbuf) ++ return -ENOMEM; ++ ++ sz = snprintf(wbuf, READ_DEBUG_LEVEL_SIZE, ++ "Current debug level: 0x%x\n\n%s", ++ ath10k_debug_mask, debug_level_buf); ++ ++ ret = simple_read_from_buffer(user_buf, count, ppos, wbuf, sz); ++ kfree(wbuf); + +- return simple_read_from_buffer(user_buf, count, ppos, wbuf, sz); ++ return ret; + } + + /* Set logging level. From 74edd9e19aaee00af6feacb6ce0c8b6e55e38645 Mon Sep 17 00:00:00 2001 From: Paul Spooren Date: Fri, 3 Nov 2023 00:51:47 +0100 Subject: [PATCH 05/19] firmware-utils: bump to git HEAD ba5bc4e add dlink-sge-image for D-Link devices by SGE Signed-off-by: Paul Spooren --- tools/firmware-utils/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/firmware-utils/Makefile b/tools/firmware-utils/Makefile index 6bb2c03fb46..66eca147668 100644 --- a/tools/firmware-utils/Makefile +++ b/tools/firmware-utils/Makefile @@ -11,9 +11,9 @@ PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/project/firmware-utils.git -PKG_SOURCE_DATE:=2023-10-29 -PKG_SOURCE_VERSION:=635466123429ba8682b575245bbf52e3b33b7163 -PKG_MIRROR_HASH:=316181644733b9a1592aad04ae379cc5f93ff31f03ac76225a1ad5a720265915 +PKG_SOURCE_DATE:=2023-11-03 +PKG_SOURCE_VERSION:=ba5bc4e1ae9d3e7b41d3bed39ce505670dc95078 +PKG_MIRROR_HASH:=f14e0153443493c2908a2145c206798e01c66d985a81e259187007c464574b72 include $(INCLUDE_DIR)/host-build.mk include $(INCLUDE_DIR)/cmake.mk From 7285f7744f6954f0611763e35e59edcccbb731d1 Mon Sep 17 00:00:00 2001 From: John Audia Date: Thu, 2 Nov 2023 06:06:02 -0400 Subject: [PATCH 06/19] kernel: bump 6.1 to 6.1.61 Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.1.61 Removed upstreamed: generic/backport-6.1/814-v6.6-0018-nvmem-imx-correct-nregs-for-i.MX6SLL.patch[1] generic/backport-6.1/814-v6.6-0019-nvmem-imx-correct-nregs-for-i.MX6UL.patch[2] generic/backport-6.1/814-v6.6-0020-nvmem-imx-correct-nregs-for-i.MX6ULL.patch[3] All other patches automatically rebased. 1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.1.61&id=b90b8633ef62314f3a5f5675106e6dcdec981b6f 2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.1.61&id=37495846b1efc23c1767b17ddd6645cc0ccb9946 3. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.1.61&id=116671d25915b913374ccdb2956b5fdaff939dc9 Build system: x86/64 Build-tested: x86/64/AMD Cezanne Run-tested: x86/64/AMD Cezanne Signed-off-by: John Audia --- include/kernel-6.1 | 4 +-- .../900-unaligned_access_hacks.patch | 2 +- ...smsx95xx-fix-crimes-against-truesize.patch | 4 +-- ...ental-Enable-turbo_mode-and-packetsi.patch | 2 +- ...ow-mac-address-to-be-set-in-smsc95xx.patch | 4 +-- ...111-MMC-added-alternative-MMC-driver.patch | 6 ++-- ...do-single-sector-reads-during-recove.patch | 2 +- ...nvmem-imx-correct-nregs-for-i.MX6SLL.patch | 28 ------------------- ...-nvmem-imx-correct-nregs-for-i.MX6UL.patch | 28 ------------------- ...nvmem-imx-correct-nregs-for-i.MX6ULL.patch | 28 ------------------- 10 files changed, 12 insertions(+), 96 deletions(-) delete mode 100644 target/linux/generic/backport-6.1/814-v6.6-0018-nvmem-imx-correct-nregs-for-i.MX6SLL.patch delete mode 100644 target/linux/generic/backport-6.1/814-v6.6-0019-nvmem-imx-correct-nregs-for-i.MX6UL.patch delete mode 100644 target/linux/generic/backport-6.1/814-v6.6-0020-nvmem-imx-correct-nregs-for-i.MX6ULL.patch diff --git a/include/kernel-6.1 b/include/kernel-6.1 index 572608e2777..7b4865b1616 100644 --- a/include/kernel-6.1 +++ b/include/kernel-6.1 @@ -1,2 +1,2 @@ -LINUX_VERSION-6.1 = .60 -LINUX_KERNEL_HASH-6.1.60 = 58520e7ae5a6af254ddf7ddbfc42e4373b0d36c67d467f6e35a3bd1672f5fb0a +LINUX_VERSION-6.1 = .61 +LINUX_KERNEL_HASH-6.1.61 = ad2c9d12fc36e2dde4796a3eec8f4ddca2e278098f4e555b6e6f5f03ef6964ce diff --git a/target/linux/ath79/patches-6.1/900-unaligned_access_hacks.patch b/target/linux/ath79/patches-6.1/900-unaligned_access_hacks.patch index 30f23d4814b..5bd7d0ba635 100644 --- a/target/linux/ath79/patches-6.1/900-unaligned_access_hacks.patch +++ b/target/linux/ath79/patches-6.1/900-unaligned_access_hacks.patch @@ -750,7 +750,7 @@ SVN-Revision: 35130 EXPORT_SYMBOL(xfrm_parse_spi); --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c -@@ -4178,14 +4178,16 @@ static bool tcp_parse_aligned_timestamp( +@@ -4179,14 +4179,16 @@ static bool tcp_parse_aligned_timestamp( { const __be32 *ptr = (const __be32 *)(th + 1); diff --git a/target/linux/bcm27xx/patches-6.1/950-0081-smsx95xx-fix-crimes-against-truesize.patch b/target/linux/bcm27xx/patches-6.1/950-0081-smsx95xx-fix-crimes-against-truesize.patch index 388a5f25e64..98a6ed86b1a 100644 --- a/target/linux/bcm27xx/patches-6.1/950-0081-smsx95xx-fix-crimes-against-truesize.patch +++ b/target/linux/bcm27xx/patches-6.1/950-0081-smsx95xx-fix-crimes-against-truesize.patch @@ -25,7 +25,7 @@ Signed-off-by: Steve Glendinning static int __must_check smsc95xx_read_reg(struct usbnet *dev, u32 index, u32 *data) { -@@ -1868,7 +1872,8 @@ static int smsc95xx_rx_fixup(struct usbn +@@ -1870,7 +1874,8 @@ static int smsc95xx_rx_fixup(struct usbn if (dev->net->features & NETIF_F_RXCSUM) smsc95xx_rx_csum_offload(skb); skb_trim(skb, skb->len - 4); /* remove fcs */ @@ -35,7 +35,7 @@ Signed-off-by: Steve Glendinning return 1; } -@@ -1886,7 +1891,8 @@ static int smsc95xx_rx_fixup(struct usbn +@@ -1888,7 +1893,8 @@ static int smsc95xx_rx_fixup(struct usbn if (dev->net->features & NETIF_F_RXCSUM) smsc95xx_rx_csum_offload(ax_skb); skb_trim(ax_skb, ax_skb->len - 4); /* remove fcs */ diff --git a/target/linux/bcm27xx/patches-6.1/950-0082-smsc95xx-Experimental-Enable-turbo_mode-and-packetsi.patch b/target/linux/bcm27xx/patches-6.1/950-0082-smsc95xx-Experimental-Enable-turbo_mode-and-packetsi.patch index 1bb5ae2b18e..c55f194b23a 100644 --- a/target/linux/bcm27xx/patches-6.1/950-0082-smsc95xx-Experimental-Enable-turbo_mode-and-packetsi.patch +++ b/target/linux/bcm27xx/patches-6.1/950-0082-smsc95xx-Experimental-Enable-turbo_mode-and-packetsi.patch @@ -22,7 +22,7 @@ See: http://forum.kodi.tv/showthread.php?tid=285288 static int __must_check smsc95xx_read_reg(struct usbnet *dev, u32 index, u32 *data) { -@@ -934,13 +938,13 @@ static int smsc95xx_reset(struct usbnet +@@ -936,13 +940,13 @@ static int smsc95xx_reset(struct usbnet if (!turbo_mode) { burst_cap = 0; diff --git a/target/linux/bcm27xx/patches-6.1/950-0083-Allow-mac-address-to-be-set-in-smsc95xx.patch b/target/linux/bcm27xx/patches-6.1/950-0083-Allow-mac-address-to-be-set-in-smsc95xx.patch index e8d14ac99fe..a47a858e166 100644 --- a/target/linux/bcm27xx/patches-6.1/950-0083-Allow-mac-address-to-be-set-in-smsc95xx.patch +++ b/target/linux/bcm27xx/patches-6.1/950-0083-Allow-mac-address-to-be-set-in-smsc95xx.patch @@ -33,7 +33,7 @@ Signed-off-by: Phil Elwell static int __must_check smsc95xx_read_reg(struct usbnet *dev, u32 index, u32 *data) { -@@ -807,6 +811,52 @@ static int smsc95xx_ioctl(struct net_dev +@@ -809,6 +813,52 @@ static int smsc95xx_ioctl(struct net_dev return phy_mii_ioctl(netdev->phydev, rq, cmd); } @@ -86,7 +86,7 @@ Signed-off-by: Phil Elwell static void smsc95xx_init_mac_address(struct usbnet *dev) { u8 addr[ETH_ALEN]; -@@ -830,6 +880,10 @@ static void smsc95xx_init_mac_address(st +@@ -832,6 +882,10 @@ static void smsc95xx_init_mac_address(st } } diff --git a/target/linux/bcm27xx/patches-6.1/950-0111-MMC-added-alternative-MMC-driver.patch b/target/linux/bcm27xx/patches-6.1/950-0111-MMC-added-alternative-MMC-driver.patch index b1a5dbfe2df..53bed0d57f5 100644 --- a/target/linux/bcm27xx/patches-6.1/950-0111-MMC-added-alternative-MMC-driver.patch +++ b/target/linux/bcm27xx/patches-6.1/950-0111-MMC-added-alternative-MMC-driver.patch @@ -266,7 +266,7 @@ Signed-off-by: Phil Elwell static inline int mmc_blk_part_switch(struct mmc_card *card, unsigned int part_type); static void mmc_blk_rw_rq_prep(struct mmc_queue_req *mqrq, -@@ -2970,6 +2977,8 @@ static int mmc_blk_probe(struct mmc_card +@@ -2994,6 +3001,8 @@ static int mmc_blk_probe(struct mmc_card { struct mmc_blk_data *md; int ret = 0; @@ -275,7 +275,7 @@ Signed-off-by: Phil Elwell /* * Check that the card supports the command class(es) we need. -@@ -2977,7 +2986,16 @@ static int mmc_blk_probe(struct mmc_card +@@ -3001,7 +3010,16 @@ static int mmc_blk_probe(struct mmc_card if (!(card->csd.cmdclass & CCC_BLOCK_READ)) return -ENODEV; @@ -293,7 +293,7 @@ Signed-off-by: Phil Elwell card->complete_wq = alloc_workqueue("mmc_complete", WQ_MEM_RECLAIM | WQ_HIGHPRI, 0); -@@ -2992,6 +3010,17 @@ static int mmc_blk_probe(struct mmc_card +@@ -3016,6 +3034,17 @@ static int mmc_blk_probe(struct mmc_card goto out_free; } diff --git a/target/linux/bcm27xx/patches-6.1/950-0418-mmc-block-Don-t-do-single-sector-reads-during-recove.patch b/target/linux/bcm27xx/patches-6.1/950-0418-mmc-block-Don-t-do-single-sector-reads-during-recove.patch index 09eff7b97a5..6b486eb7ee9 100644 --- a/target/linux/bcm27xx/patches-6.1/950-0418-mmc-block-Don-t-do-single-sector-reads-during-recove.patch +++ b/target/linux/bcm27xx/patches-6.1/950-0418-mmc-block-Don-t-do-single-sector-reads-during-recove.patch @@ -23,7 +23,7 @@ Signed-off-by: Jonathan Bell --- a/drivers/mmc/core/block.c +++ b/drivers/mmc/core/block.c -@@ -1902,7 +1902,7 @@ static void mmc_blk_mq_rw_recovery(struc +@@ -1926,7 +1926,7 @@ static void mmc_blk_mq_rw_recovery(struc return; } diff --git a/target/linux/generic/backport-6.1/814-v6.6-0018-nvmem-imx-correct-nregs-for-i.MX6SLL.patch b/target/linux/generic/backport-6.1/814-v6.6-0018-nvmem-imx-correct-nregs-for-i.MX6SLL.patch deleted file mode 100644 index 8901a41a644..00000000000 --- a/target/linux/generic/backport-6.1/814-v6.6-0018-nvmem-imx-correct-nregs-for-i.MX6SLL.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 414a98abbefd82d591f4e2d1efd2917bcd3b6f6d Mon Sep 17 00:00:00 2001 -From: Peng Fan -Date: Fri, 13 Oct 2023 13:49:02 +0100 -Subject: [PATCH] nvmem: imx: correct nregs for i.MX6SLL - -The nregs for i.MX6SLL should be 80 per fuse map, correct it. - -Fixes: 6da27821a6f5 ("nvmem: imx-ocotp: add support for imx6sll") -Cc: Stable@vger.kernel.org -Signed-off-by: Peng Fan -Signed-off-by: Srinivas Kandagatla -Link: https://lore.kernel.org/r/20231013124904.175782-2-srinivas.kandagatla@linaro.org -Signed-off-by: Greg Kroah-Hartman ---- - drivers/nvmem/imx-ocotp.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/drivers/nvmem/imx-ocotp.c -+++ b/drivers/nvmem/imx-ocotp.c -@@ -499,7 +499,7 @@ static const struct ocotp_params imx6sl_ - }; - - static const struct ocotp_params imx6sll_params = { -- .nregs = 128, -+ .nregs = 80, - .bank_address_words = 0, - .set_timing = imx_ocotp_set_imx6_timing, - .ctrl = IMX_OCOTP_BM_CTRL_DEFAULT, diff --git a/target/linux/generic/backport-6.1/814-v6.6-0019-nvmem-imx-correct-nregs-for-i.MX6UL.patch b/target/linux/generic/backport-6.1/814-v6.6-0019-nvmem-imx-correct-nregs-for-i.MX6UL.patch deleted file mode 100644 index db6b951d245..00000000000 --- a/target/linux/generic/backport-6.1/814-v6.6-0019-nvmem-imx-correct-nregs-for-i.MX6UL.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 7d6e10f5d254681983b53d979422c8de3fadbefb Mon Sep 17 00:00:00 2001 -From: Peng Fan -Date: Fri, 13 Oct 2023 13:49:03 +0100 -Subject: [PATCH] nvmem: imx: correct nregs for i.MX6UL - -The nregs for i.MX6UL should be 144 per fuse map, correct it. - -Fixes: 4aa2b4802046 ("nvmem: octop: Add support for imx6ul") -Cc: Stable@vger.kernel.org -Signed-off-by: Peng Fan -Signed-off-by: Srinivas Kandagatla -Link: https://lore.kernel.org/r/20231013124904.175782-3-srinivas.kandagatla@linaro.org -Signed-off-by: Greg Kroah-Hartman ---- - drivers/nvmem/imx-ocotp.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/drivers/nvmem/imx-ocotp.c -+++ b/drivers/nvmem/imx-ocotp.c -@@ -513,7 +513,7 @@ static const struct ocotp_params imx6sx_ - }; - - static const struct ocotp_params imx6ul_params = { -- .nregs = 128, -+ .nregs = 144, - .bank_address_words = 0, - .set_timing = imx_ocotp_set_imx6_timing, - .ctrl = IMX_OCOTP_BM_CTRL_DEFAULT, diff --git a/target/linux/generic/backport-6.1/814-v6.6-0020-nvmem-imx-correct-nregs-for-i.MX6ULL.patch b/target/linux/generic/backport-6.1/814-v6.6-0020-nvmem-imx-correct-nregs-for-i.MX6ULL.patch deleted file mode 100644 index 10ce7cd9f28..00000000000 --- a/target/linux/generic/backport-6.1/814-v6.6-0020-nvmem-imx-correct-nregs-for-i.MX6ULL.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 2382c1b044231fd49eaf9aa82bc7113fc55487b8 Mon Sep 17 00:00:00 2001 -From: Peng Fan -Date: Fri, 13 Oct 2023 13:49:04 +0100 -Subject: [PATCH] nvmem: imx: correct nregs for i.MX6ULL - -The nregs for i.MX6ULL should be 80 per fuse map, correct it. - -Fixes: ffbc34bf0e9c ("nvmem: imx-ocotp: Implement i.MX6ULL/ULZ support") -Cc: Stable@vger.kernel.org -Signed-off-by: Peng Fan -Signed-off-by: Srinivas Kandagatla -Link: https://lore.kernel.org/r/20231013124904.175782-4-srinivas.kandagatla@linaro.org -Signed-off-by: Greg Kroah-Hartman ---- - drivers/nvmem/imx-ocotp.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/drivers/nvmem/imx-ocotp.c -+++ b/drivers/nvmem/imx-ocotp.c -@@ -520,7 +520,7 @@ static const struct ocotp_params imx6ul_ - }; - - static const struct ocotp_params imx6ull_params = { -- .nregs = 64, -+ .nregs = 80, - .bank_address_words = 0, - .set_timing = imx_ocotp_set_imx6_timing, - .ctrl = IMX_OCOTP_BM_CTRL_DEFAULT, From 5bb3b5d46ce8e0c91d456bc295c190505b37dbda Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Fri, 3 Nov 2023 15:13:58 +0100 Subject: [PATCH 07/19] firewall4: update to latest Git HEAD 4101dd4 fw4: perform strict validation of zone and set names a923c88 fw4: pass zone to templates whenever possible 597dc90 fw4: add support for zone log_limit 1874050 fw4: add log_limit to rules and redirects 19a8caf ruleset: dispatch ct states using verdict map a5553da ruleset: reduce ksoftirqd load by refering to looopback by numeric id de3483c tests: adjust zone log limit testcases 7392792 ruleset: do not emit redundant drop invalid rules 698a533 ruleset: apply egress MSS fixup later to apply final MTU before wire Signed-off-by: Jo-Philipp Wich --- package/network/config/firewall4/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package/network/config/firewall4/Makefile b/package/network/config/firewall4/Makefile index 8764f5a401b..6a54e28f0c2 100644 --- a/package/network/config/firewall4/Makefile +++ b/package/network/config/firewall4/Makefile @@ -9,9 +9,9 @@ PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/project/firewall4.git -PKG_SOURCE_DATE:=2023-09-01 -PKG_SOURCE_VERSION:=598d9fbb5179667aa0c525040eaa41bc7f2dc015 -PKG_MIRROR_HASH:=038b5b5611425e3c0fcc3ef4a0aea37296733300766d787909a689d16d4f39b4 +PKG_SOURCE_DATE:=2023-11-03 +PKG_SOURCE_VERSION:=698a53354fd280aae097efe08803c0c9a10c14c2 +PKG_MIRROR_HASH:=e38484bffe11a04a67069128aa3b8a8c707ad58c79c0de2785a5d995421457aa PKG_MAINTAINER:=Jo-Philipp Wich PKG_LICENSE:=ISC From f32baf6a65fbe294b9eb7b93f39b2aea1c3402ae Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Thu, 26 Oct 2023 03:46:44 +0100 Subject: [PATCH 08/19] kernel: add support MeigLink SLM828 modem Another Qualcomm-based USB-connected modem, offering endpoints 0 : rndis_host (link to voip subsystem listening on 169.254.5.100) 1 : rndis_host (?) 2 : option (?) 3 : option (at) 4 : option (at) 5 : option (?) 6 : GobiNet (qmi) 7 : ? Add support for this modem in rndis_host, option and qmi_wwan driver which allows the modem to be used with ModemManager. Signed-off-by: Daniel Golle --- .../780-usb-net-MeigLink_modem_support.patch | 34 +++++++++-- .../781-usb-net-rndis-support-asr.patch | 56 +++++++++++++++++++ .../780-usb-net-MeigLink_modem_support.patch | 34 +++++++++-- .../781-usb-net-rndis-support-asr.patch | 56 +++++++++++++++++++ 4 files changed, 172 insertions(+), 8 deletions(-) create mode 100644 target/linux/generic/hack-5.15/781-usb-net-rndis-support-asr.patch create mode 100644 target/linux/generic/hack-6.1/781-usb-net-rndis-support-asr.patch diff --git a/target/linux/generic/hack-5.15/780-usb-net-MeigLink_modem_support.patch b/target/linux/generic/hack-5.15/780-usb-net-MeigLink_modem_support.patch index e5667c17438..304f5480a3f 100644 --- a/target/linux/generic/hack-5.15/780-usb-net-MeigLink_modem_support.patch +++ b/target/linux/generic/hack-5.15/780-usb-net-MeigLink_modem_support.patch @@ -10,26 +10,52 @@ Subject: [PATCH] net/usb/qmi_wwan: add MeigLink modem support --- a/drivers/net/usb/qmi_wwan.c +++ b/drivers/net/usb/qmi_wwan.c -@@ -1086,6 +1086,7 @@ static const struct usb_device_id produc +@@ -1080,12 +1080,18 @@ static const struct usb_device_id produc + USB_DEVICE_AND_INTERFACE_INFO(0x03f0, 0x581d, USB_CLASS_VENDOR_SPEC, 1, 7), + .driver_info = (unsigned long)&qmi_wwan_info, + }, ++ { /* Meiglink SGM828 */ ++ USB_DEVICE_AND_INTERFACE_INFO(0x2dee, 0x4d49, USB_CLASS_VENDOR_SPEC, 0x10, 0x05), ++ .driver_info = (unsigned long)&qmi_wwan_info, ++ }, ++ + {QMI_MATCH_FF_FF_FF(0x2c7c, 0x0125)}, /* Quectel EC25, EC20 R2.0 Mini PCIe */ + {QMI_MATCH_FF_FF_FF(0x2c7c, 0x0306)}, /* Quectel EP06/EG06/EM06 */ + {QMI_MATCH_FF_FF_FF(0x2c7c, 0x0512)}, /* Quectel EG12/EM12 */ {QMI_MATCH_FF_FF_FF(0x2c7c, 0x0620)}, /* Quectel EM160R-GL */ {QMI_MATCH_FF_FF_FF(0x2c7c, 0x0800)}, /* Quectel RM500Q-GL */ {QMI_MATCH_FF_FF_FF(0x2c7c, 0x0801)}, /* Quectel RM520N */ -+ {QMI_MATCH_FF_FF_FF(0x05c6, 0xf601)}, /* MeigLink SLM750 */ ++ {QMI_MATCH_FF_FF_FF(0x05c6, 0xf601)}, /* MeigLink SLM750 */ /* 3. Combined interface devices matching on interface number */ {QMI_FIXED_INTF(0x0408, 0xea42, 4)}, /* Yota / Megafon M100-1 */ --- a/drivers/usb/serial/option.c +++ b/drivers/usb/serial/option.c -@@ -247,6 +247,8 @@ static void option_instat_callback(struc +@@ -247,6 +247,11 @@ static void option_instat_callback(struc #define UBLOX_PRODUCT_R410M 0x90b2 /* These Yuga products use Qualcomm's vendor ID */ #define YUGA_PRODUCT_CLM920_NC5 0x9625 +/* These MeigLink products use Qualcomm's vendor ID */ +#define MEIGLINK_PRODUCT_SLM750 0xf601 ++ ++#define MEIGLINK_VENDOR_ID 0x2dee ++#define MEIGLINK_PRODUCT_SLM828 0x4d49 #define QUECTEL_VENDOR_ID 0x2c7c /* These Quectel products use Quectel's vendor ID */ -@@ -1185,6 +1187,11 @@ static const struct usb_device_id option +@@ -1144,6 +1149,11 @@ static const struct usb_device_id option + { USB_DEVICE(QUALCOMM_VENDOR_ID, 0x0023)}, /* ONYX 3G device */ + { USB_DEVICE(QUALCOMM_VENDOR_ID, 0x9000), /* SIMCom SIM5218 */ + .driver_info = NCTRL(0) | NCTRL(1) | NCTRL(2) | NCTRL(3) | RSVD(4) }, ++ /* MeiG */ ++ { USB_DEVICE_AND_INTERFACE_INFO(MEIGLINK_VENDOR_ID, MEIGLINK_PRODUCT_SLM828, USB_CLASS_VENDOR_SPEC, 0x10, 0x01) }, ++ { USB_DEVICE_AND_INTERFACE_INFO(MEIGLINK_VENDOR_ID, MEIGLINK_PRODUCT_SLM828, USB_CLASS_VENDOR_SPEC, 0x10, 0x02) }, ++ { USB_DEVICE_AND_INTERFACE_INFO(MEIGLINK_VENDOR_ID, MEIGLINK_PRODUCT_SLM828, USB_CLASS_VENDOR_SPEC, 0x10, 0x03) }, ++ { USB_DEVICE_AND_INTERFACE_INFO(MEIGLINK_VENDOR_ID, MEIGLINK_PRODUCT_SLM828, USB_CLASS_VENDOR_SPEC, 0x10, 0x04) }, + /* Quectel products using Qualcomm vendor ID */ + { USB_DEVICE(QUALCOMM_VENDOR_ID, QUECTEL_PRODUCT_UC15)}, + { USB_DEVICE(QUALCOMM_VENDOR_ID, QUECTEL_PRODUCT_UC20), +@@ -1185,6 +1195,11 @@ static const struct usb_device_id option .driver_info = ZLP }, { USB_DEVICE(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_BG96), .driver_info = RSVD(4) }, diff --git a/target/linux/generic/hack-5.15/781-usb-net-rndis-support-asr.patch b/target/linux/generic/hack-5.15/781-usb-net-rndis-support-asr.patch new file mode 100644 index 00000000000..9934bb8078e --- /dev/null +++ b/target/linux/generic/hack-5.15/781-usb-net-rndis-support-asr.patch @@ -0,0 +1,56 @@ +--- a/drivers/net/usb/rndis_host.c ++++ b/drivers/net/usb/rndis_host.c +@@ -630,6 +630,16 @@ static const struct driver_info zte_rndi + .tx_fixup = rndis_tx_fixup, + }; + ++static const struct driver_info asr_rndis_info = { ++ .description = "Asr RNDIS device", ++ .flags = FLAG_WWAN | FLAG_POINTTOPOINT | FLAG_FRAMING_RN | FLAG_NO_SETINT | FLAG_NOARP, ++ .bind = rndis_bind, ++ .unbind = rndis_unbind, ++ .status = rndis_status, ++ .rx_fixup = rndis_rx_fixup, ++ .tx_fixup = rndis_tx_fixup, ++}; ++ + /*-------------------------------------------------------------------------*/ + + static const struct usb_device_id products [] = { +@@ -666,6 +676,36 @@ static const struct usb_device_id produc + USB_INTERFACE_INFO(USB_CLASS_WIRELESS_CONTROLLER, 1, 3), + .driver_info = (unsigned long) &rndis_info, + }, { ++ /* Quectel EG060V rndis device */ ++ USB_DEVICE_AND_INTERFACE_INFO(0x2c7c, 0x6004, ++ USB_CLASS_WIRELESS_CONTROLLER, 1, 3), ++ .driver_info = (unsigned long) &asr_rndis_info, ++}, { ++ /* Quectel EC200A rndis device */ ++ USB_DEVICE_AND_INTERFACE_INFO(0x2c7c, 0x6005, ++ USB_CLASS_WIRELESS_CONTROLLER, 1, 3), ++ .driver_info = (unsigned long) &asr_rndis_info, ++}, { ++ /* Quectel EC200T rndis device */ ++ USB_DEVICE_AND_INTERFACE_INFO(0x2c7c, 0x6026, ++ USB_CLASS_WIRELESS_CONTROLLER, 1, 3), ++ .driver_info = (unsigned long) &asr_rndis_info, ++}, { ++ /* Simcom A7906E rndis device */ ++ USB_DEVICE_AND_INTERFACE_INFO(0x1e0e, 0x9011, ++ USB_CLASS_WIRELESS_CONTROLLER, 1, 3), ++ .driver_info = (unsigned long) &asr_rndis_info, ++}, { ++ /* Meig SLM770A */ ++ USB_DEVICE_AND_INTERFACE_INFO(0x2dee, 0x4d57, ++ USB_CLASS_WIRELESS_CONTROLLER, 1, 3), ++ .driver_info = (unsigned long) &asr_rndis_info, ++}, { ++ /* Meig SLM828 */ ++ USB_DEVICE_AND_INTERFACE_INFO(0x2dee, 0x4d49, ++ USB_CLASS_WIRELESS_CONTROLLER, 1, 3), ++ .driver_info = (unsigned long) &asr_rndis_info, ++}, { + /* Novatel Verizon USB730L */ + USB_INTERFACE_INFO(USB_CLASS_MISC, 4, 1), + .driver_info = (unsigned long) &rndis_info, diff --git a/target/linux/generic/hack-6.1/780-usb-net-MeigLink_modem_support.patch b/target/linux/generic/hack-6.1/780-usb-net-MeigLink_modem_support.patch index 9e93e76f84c..98b5433d063 100644 --- a/target/linux/generic/hack-6.1/780-usb-net-MeigLink_modem_support.patch +++ b/target/linux/generic/hack-6.1/780-usb-net-MeigLink_modem_support.patch @@ -10,26 +10,52 @@ Subject: [PATCH] net/usb/qmi_wwan: add MeigLink modem support --- a/drivers/net/usb/qmi_wwan.c +++ b/drivers/net/usb/qmi_wwan.c -@@ -1088,6 +1088,7 @@ static const struct usb_device_id produc +@@ -1082,12 +1082,18 @@ static const struct usb_device_id produc + USB_DEVICE_AND_INTERFACE_INFO(0x03f0, 0x581d, USB_CLASS_VENDOR_SPEC, 1, 7), + .driver_info = (unsigned long)&qmi_wwan_info, + }, ++ { /* Meiglink SGM828 */ ++ USB_DEVICE_AND_INTERFACE_INFO(0x2dee, 0x4d49, USB_CLASS_VENDOR_SPEC, 0x10, 0x05), ++ .driver_info = (unsigned long)&qmi_wwan_info, ++ }, ++ + {QMI_MATCH_FF_FF_FF(0x2c7c, 0x0125)}, /* Quectel EC25, EC20 R2.0 Mini PCIe */ + {QMI_MATCH_FF_FF_FF(0x2c7c, 0x0306)}, /* Quectel EP06/EG06/EM06 */ + {QMI_MATCH_FF_FF_FF(0x2c7c, 0x0512)}, /* Quectel EG12/EM12 */ {QMI_MATCH_FF_FF_FF(0x2c7c, 0x0620)}, /* Quectel EM160R-GL */ {QMI_MATCH_FF_FF_FF(0x2c7c, 0x0800)}, /* Quectel RM500Q-GL */ {QMI_MATCH_FF_FF_FF(0x2c7c, 0x0801)}, /* Quectel RM520N */ -+ {QMI_MATCH_FF_FF_FF(0x05c6, 0xf601)}, /* MeigLink SLM750 */ ++ {QMI_MATCH_FF_FF_FF(0x05c6, 0xf601)}, /* MeigLink SLM750 */ /* 3. Combined interface devices matching on interface number */ {QMI_FIXED_INTF(0x0408, 0xea42, 4)}, /* Yota / Megafon M100-1 */ --- a/drivers/usb/serial/option.c +++ b/drivers/usb/serial/option.c -@@ -247,6 +247,8 @@ static void option_instat_callback(struc +@@ -247,6 +247,11 @@ static void option_instat_callback(struc #define UBLOX_PRODUCT_R410M 0x90b2 /* These Yuga products use Qualcomm's vendor ID */ #define YUGA_PRODUCT_CLM920_NC5 0x9625 +/* These MeigLink products use Qualcomm's vendor ID */ +#define MEIGLINK_PRODUCT_SLM750 0xf601 ++ ++#define MEIGLINK_VENDOR_ID 0x2dee ++#define MEIGLINK_PRODUCT_SLM828 0x4d49 #define QUECTEL_VENDOR_ID 0x2c7c /* These Quectel products use Quectel's vendor ID */ -@@ -1185,6 +1187,11 @@ static const struct usb_device_id option +@@ -1144,6 +1149,11 @@ static const struct usb_device_id option + { USB_DEVICE(QUALCOMM_VENDOR_ID, 0x0023)}, /* ONYX 3G device */ + { USB_DEVICE(QUALCOMM_VENDOR_ID, 0x9000), /* SIMCom SIM5218 */ + .driver_info = NCTRL(0) | NCTRL(1) | NCTRL(2) | NCTRL(3) | RSVD(4) }, ++ /* MeiG */ ++ { USB_DEVICE_AND_INTERFACE_INFO(MEIGLINK_VENDOR_ID, MEIGLINK_PRODUCT_SLM828, USB_CLASS_VENDOR_SPEC, 0x10, 0x01) }, ++ { USB_DEVICE_AND_INTERFACE_INFO(MEIGLINK_VENDOR_ID, MEIGLINK_PRODUCT_SLM828, USB_CLASS_VENDOR_SPEC, 0x10, 0x02) }, ++ { USB_DEVICE_AND_INTERFACE_INFO(MEIGLINK_VENDOR_ID, MEIGLINK_PRODUCT_SLM828, USB_CLASS_VENDOR_SPEC, 0x10, 0x03) }, ++ { USB_DEVICE_AND_INTERFACE_INFO(MEIGLINK_VENDOR_ID, MEIGLINK_PRODUCT_SLM828, USB_CLASS_VENDOR_SPEC, 0x10, 0x04) }, + /* Quectel products using Qualcomm vendor ID */ + { USB_DEVICE(QUALCOMM_VENDOR_ID, QUECTEL_PRODUCT_UC15)}, + { USB_DEVICE(QUALCOMM_VENDOR_ID, QUECTEL_PRODUCT_UC20), +@@ -1185,6 +1195,11 @@ static const struct usb_device_id option .driver_info = ZLP }, { USB_DEVICE(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_BG96), .driver_info = RSVD(4) }, diff --git a/target/linux/generic/hack-6.1/781-usb-net-rndis-support-asr.patch b/target/linux/generic/hack-6.1/781-usb-net-rndis-support-asr.patch new file mode 100644 index 00000000000..9934bb8078e --- /dev/null +++ b/target/linux/generic/hack-6.1/781-usb-net-rndis-support-asr.patch @@ -0,0 +1,56 @@ +--- a/drivers/net/usb/rndis_host.c ++++ b/drivers/net/usb/rndis_host.c +@@ -630,6 +630,16 @@ static const struct driver_info zte_rndi + .tx_fixup = rndis_tx_fixup, + }; + ++static const struct driver_info asr_rndis_info = { ++ .description = "Asr RNDIS device", ++ .flags = FLAG_WWAN | FLAG_POINTTOPOINT | FLAG_FRAMING_RN | FLAG_NO_SETINT | FLAG_NOARP, ++ .bind = rndis_bind, ++ .unbind = rndis_unbind, ++ .status = rndis_status, ++ .rx_fixup = rndis_rx_fixup, ++ .tx_fixup = rndis_tx_fixup, ++}; ++ + /*-------------------------------------------------------------------------*/ + + static const struct usb_device_id products [] = { +@@ -666,6 +676,36 @@ static const struct usb_device_id produc + USB_INTERFACE_INFO(USB_CLASS_WIRELESS_CONTROLLER, 1, 3), + .driver_info = (unsigned long) &rndis_info, + }, { ++ /* Quectel EG060V rndis device */ ++ USB_DEVICE_AND_INTERFACE_INFO(0x2c7c, 0x6004, ++ USB_CLASS_WIRELESS_CONTROLLER, 1, 3), ++ .driver_info = (unsigned long) &asr_rndis_info, ++}, { ++ /* Quectel EC200A rndis device */ ++ USB_DEVICE_AND_INTERFACE_INFO(0x2c7c, 0x6005, ++ USB_CLASS_WIRELESS_CONTROLLER, 1, 3), ++ .driver_info = (unsigned long) &asr_rndis_info, ++}, { ++ /* Quectel EC200T rndis device */ ++ USB_DEVICE_AND_INTERFACE_INFO(0x2c7c, 0x6026, ++ USB_CLASS_WIRELESS_CONTROLLER, 1, 3), ++ .driver_info = (unsigned long) &asr_rndis_info, ++}, { ++ /* Simcom A7906E rndis device */ ++ USB_DEVICE_AND_INTERFACE_INFO(0x1e0e, 0x9011, ++ USB_CLASS_WIRELESS_CONTROLLER, 1, 3), ++ .driver_info = (unsigned long) &asr_rndis_info, ++}, { ++ /* Meig SLM770A */ ++ USB_DEVICE_AND_INTERFACE_INFO(0x2dee, 0x4d57, ++ USB_CLASS_WIRELESS_CONTROLLER, 1, 3), ++ .driver_info = (unsigned long) &asr_rndis_info, ++}, { ++ /* Meig SLM828 */ ++ USB_DEVICE_AND_INTERFACE_INFO(0x2dee, 0x4d49, ++ USB_CLASS_WIRELESS_CONTROLLER, 1, 3), ++ .driver_info = (unsigned long) &asr_rndis_info, ++}, { + /* Novatel Verizon USB730L */ + USB_INTERFACE_INFO(USB_CLASS_MISC, 4, 1), + .driver_info = (unsigned long) &rndis_info, From 7db87d7c6846977402899b27881824b3df4f50ab Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Thu, 26 Oct 2023 03:50:40 +0100 Subject: [PATCH 09/19] kernel: support reading hex MAC address from NVMEM In addition to binary and ASCII-formatted MAC addresses, add support for processing hexadecimal encoded MAC addresses from NVMEM. Signed-off-by: Daniel Golle --- ...-support-mac-base-fixed-layout-cells.patch | 39 +++++++++++++++++-- ...-support-mac-base-fixed-layout-cells.patch | 39 +++++++++++++++++-- 2 files changed, 70 insertions(+), 8 deletions(-) diff --git a/target/linux/generic/pending-5.15/804-nvmem-core-support-mac-base-fixed-layout-cells.patch b/target/linux/generic/pending-5.15/804-nvmem-core-support-mac-base-fixed-layout-cells.patch index 6791b63ac09..95f29b1865d 100644 --- a/target/linux/generic/pending-5.15/804-nvmem-core-support-mac-base-fixed-layout-cells.patch +++ b/target/linux/generic/pending-5.15/804-nvmem-core-support-mac-base-fixed-layout-cells.patch @@ -20,10 +20,11 @@ string. --- a/drivers/nvmem/core.c +++ b/drivers/nvmem/core.c -@@ -7,9 +7,11 @@ +@@ -7,9 +7,12 @@ */ #include ++#include +#include #include #include @@ -32,7 +33,7 @@ string. #include #include #include -@@ -696,6 +698,37 @@ static int nvmem_validate_keepouts(struc +@@ -696,6 +699,62 @@ static int nvmem_validate_keepouts(struc return 0; } @@ -66,25 +67,55 @@ string. + + return 0; +} ++ ++static int nvmem_mac_base_hex_read(void *context, const char *id, int index, unsigned int offset, ++ void *buf, size_t bytes) ++{ ++ u8 mac[ETH_ALEN], *hexstr; ++ int i; ++ ++ if (WARN_ON(bytes != 2 * ETH_ALEN)) ++ return -EINVAL; ++ ++ hexstr = (u8 *)buf; ++ for (i = 0; i < ETH_ALEN; i++) { ++ if (!isxdigit(hexstr[i * 2]) || !isxdigit(hexstr[i * 2 + 1])) ++ return -EINVAL; ++ ++ mac[i] = (hex_to_bin(hexstr[i * 2]) << 4) | hex_to_bin(hexstr[i * 2 + 1]); ++ } ++ ++ if (index) ++ eth_addr_add(mac, index); ++ ++ ether_addr_copy(buf, mac); ++ ++ return 0; ++} + static int nvmem_add_cells_from_dt(struct nvmem_device *nvmem, struct device_node *np) { struct nvmem_layout *layout = nvmem->layout; -@@ -731,6 +764,20 @@ static int nvmem_add_cells_from_dt(struc +@@ -731,6 +790,25 @@ static int nvmem_add_cells_from_dt(struc if (layout && layout->fixup_cell_info) layout->fixup_cell_info(nvmem, layout, &info); + if (of_device_is_compatible(np, "fixed-layout")) { + if (of_device_is_compatible(child, "mac-base")) { -+ if (info.bytes == 6) { ++ if (info.bytes == ETH_ALEN) { + info.raw_len = info.bytes; + info.bytes = ETH_ALEN; + info.read_post_process = nvmem_mac_base_raw_read; ++ } else if (info.bytes == 2 * ETH_ALEN) { ++ info.raw_len = info.bytes; ++ info.bytes = ETH_ALEN; ++ info.read_post_process = nvmem_mac_base_hex_read; + } else if (info.bytes == 3 * ETH_ALEN - 1) { + info.raw_len = info.bytes; + info.bytes = ETH_ALEN; + info.read_post_process = nvmem_mac_base_ascii_read; + } ++ + } + } + diff --git a/target/linux/generic/pending-6.1/804-nvmem-core-support-mac-base-fixed-layout-cells.patch b/target/linux/generic/pending-6.1/804-nvmem-core-support-mac-base-fixed-layout-cells.patch index 6791b63ac09..95f29b1865d 100644 --- a/target/linux/generic/pending-6.1/804-nvmem-core-support-mac-base-fixed-layout-cells.patch +++ b/target/linux/generic/pending-6.1/804-nvmem-core-support-mac-base-fixed-layout-cells.patch @@ -20,10 +20,11 @@ string. --- a/drivers/nvmem/core.c +++ b/drivers/nvmem/core.c -@@ -7,9 +7,11 @@ +@@ -7,9 +7,12 @@ */ #include ++#include +#include #include #include @@ -32,7 +33,7 @@ string. #include #include #include -@@ -696,6 +698,37 @@ static int nvmem_validate_keepouts(struc +@@ -696,6 +699,62 @@ static int nvmem_validate_keepouts(struc return 0; } @@ -66,25 +67,55 @@ string. + + return 0; +} ++ ++static int nvmem_mac_base_hex_read(void *context, const char *id, int index, unsigned int offset, ++ void *buf, size_t bytes) ++{ ++ u8 mac[ETH_ALEN], *hexstr; ++ int i; ++ ++ if (WARN_ON(bytes != 2 * ETH_ALEN)) ++ return -EINVAL; ++ ++ hexstr = (u8 *)buf; ++ for (i = 0; i < ETH_ALEN; i++) { ++ if (!isxdigit(hexstr[i * 2]) || !isxdigit(hexstr[i * 2 + 1])) ++ return -EINVAL; ++ ++ mac[i] = (hex_to_bin(hexstr[i * 2]) << 4) | hex_to_bin(hexstr[i * 2 + 1]); ++ } ++ ++ if (index) ++ eth_addr_add(mac, index); ++ ++ ether_addr_copy(buf, mac); ++ ++ return 0; ++} + static int nvmem_add_cells_from_dt(struct nvmem_device *nvmem, struct device_node *np) { struct nvmem_layout *layout = nvmem->layout; -@@ -731,6 +764,20 @@ static int nvmem_add_cells_from_dt(struc +@@ -731,6 +790,25 @@ static int nvmem_add_cells_from_dt(struc if (layout && layout->fixup_cell_info) layout->fixup_cell_info(nvmem, layout, &info); + if (of_device_is_compatible(np, "fixed-layout")) { + if (of_device_is_compatible(child, "mac-base")) { -+ if (info.bytes == 6) { ++ if (info.bytes == ETH_ALEN) { + info.raw_len = info.bytes; + info.bytes = ETH_ALEN; + info.read_post_process = nvmem_mac_base_raw_read; ++ } else if (info.bytes == 2 * ETH_ALEN) { ++ info.raw_len = info.bytes; ++ info.bytes = ETH_ALEN; ++ info.read_post_process = nvmem_mac_base_hex_read; + } else if (info.bytes == 3 * ETH_ALEN - 1) { + info.raw_len = info.bytes; + info.bytes = ETH_ALEN; + info.read_post_process = nvmem_mac_base_ascii_read; + } ++ + } + } + From f8414f1a6fa0b784117353a93d821fa923da1aaf Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Sun, 29 Oct 2023 16:01:05 +0000 Subject: [PATCH 10/19] uboot-envtools: add environment config for MeiG SLT866 Add configuration to access U-Boot environment on MeiG SLT866. Signed-off-by: Daniel Golle --- package/boot/uboot-envtools/files/ramips | 1 + 1 file changed, 1 insertion(+) diff --git a/package/boot/uboot-envtools/files/ramips b/package/boot/uboot-envtools/files/ramips index 49d6c9d67fd..60ac40ff363 100644 --- a/package/boot/uboot-envtools/files/ramips +++ b/package/boot/uboot-envtools/files/ramips @@ -20,6 +20,7 @@ alfa-network,tube-e4g|\ engenius,epg600|\ engenius,esr600h|\ linksys,re7000|\ +meig,slt866|\ sitecom,wlr-4100-v1-002|\ zyxel,keenetic-lite-iii-a) ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x1000" "0x1000" From bc335f296740ac386e1ef09a49f1844419b0ccf9 Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Tue, 24 Oct 2023 18:05:28 +0100 Subject: [PATCH 11/19] ramips: add support for MeiG SLT866 4G CPE Hardware: - SoC: Mediatek MT7621 (MT7621AT) - Flash: 32 MiB SPI-NOR (Macronix MX25L25635E) - RAM: 128 MiB - Ethernet: Built-in, 2 x 1GbE - 3G/4G Modem: MEIG SLM828 (currently only supported with ModemManager) - SLIC: Si32185 (unsupported) - Power: 12V via barrel connector - Wifi 2.4GHz: Mediatek MT7603BE 802.11b/g/b - Wifi 5GHz: Mediatek MT7613BE 802.11ac/n/a - LEDs: 8x (7 controllable) - Buttons: 2x (RESET, WPS) Installing OpenWrt: - sysupgrade image is compatible with vendor firmware. Recovery: - Connect to any of the Ethernet ports, configure local IP: 10.10.10.3/24 (or 192.168.10.19/24, depending on OEM) - Provide firmware file named 'mt7621.img' on TFTP server. - Hold down both, RESET and WPS, then power on the board. - Watch network traffic using tcpdump or wireshark in realtime to observe progress of device requesting firmware. Once download has completed, release both buttons and wait until firmware comes up. Signed-off-by: Daniel Golle --- .../linux/ramips/dts/mt7621_meig_slt866.dts | 245 ++++++++++++++++++ target/linux/ramips/image/mt7621.mk | 11 + .../mt7621/base-files/etc/board.d/01_leds | 4 + .../mt7621/base-files/etc/board.d/02_network | 3 +- 4 files changed, 262 insertions(+), 1 deletion(-) create mode 100644 target/linux/ramips/dts/mt7621_meig_slt866.dts diff --git a/target/linux/ramips/dts/mt7621_meig_slt866.dts b/target/linux/ramips/dts/mt7621_meig_slt866.dts new file mode 100644 index 00000000000..19d2f0f6fc4 --- /dev/null +++ b/target/linux/ramips/dts/mt7621_meig_slt866.dts @@ -0,0 +1,245 @@ +#include "mt7621.dtsi" +#include +#include +#include + +/ { + compatible = "meig,slt866", "mediatek,mt7621-soc"; + model = "MeiG SLT866"; + + aliases { + led-boot = &led_internet; + led-failsafe = &led_internet; + led-upgrade = &led_internet; + label-mac-device = &gmac1; + }; + + leds { + compatible = "gpio-leds"; + + signal4 { + label = "blue:signal4"; + gpios = <&gpio 0 GPIO_ACTIVE_HIGH>; + }; + + lanwan { + label = "blue:lanwan"; + gpios = <&gpio 5 GPIO_ACTIVE_HIGH>; + }; + + led_internet: internet { + label = "blue:internet"; + gpios = <&gpio 6 GPIO_ACTIVE_HIGH>; + }; + + wifi { + label = "blue:wifi"; + gpios = <&gpio 9 GPIO_ACTIVE_HIGH>; + linux,default-trigger = "phy0tpt"; + }; + + signal3 { + label = "blue:signal3"; + gpios = <&gpio 12 GPIO_ACTIVE_HIGH>; + }; + + signal2 { + label = "blue:signal2"; + gpios = <&gpio 14 GPIO_ACTIVE_HIGH>; + }; + + signal1 { + label = "blue:signal1"; + gpios = <&gpio 15 GPIO_ACTIVE_HIGH>; + }; + }; + + keys { + compatible = "gpio-keys"; + + reset { + label = "reset"; + gpios = <&gpio 16 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + + wps { + label = "wps"; + gpios = <&gpio 18 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + }; + + regulator-pa-5g { + compatible = "regulator-fixed"; + regulator-name = "pa-5g"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + gpio = <&gpio 7 GPIO_ACTIVE_HIGH>; + enable-active-high; + regulator-boot-on; + regulator-always-on; + }; +}; + +&state_default { + gpio { + groups = "jtag", "uart2", "uart3", "wdt"; + function = "gpio"; + }; +}; + +&spi0 { + status = "okay"; + + flash@0 { + reg = <0>; + compatible = "jedec,spi-nor"; + spi-max-frequency = <20000000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "Bootloader"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "Config"; + reg = <0x30000 0x10000>; + }; + + partition@40000 { + label = "Factory"; + reg = <0x40000 0x10000>; + read-only; + compatible = "nvmem-cells"; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x4da8>; + }; + }; + }; + + partition@50000 { + label = "firmware"; + compatible = "denx,uimage"; + reg = <0x50000 0xf90000>; + }; + + partition@fe0000 { + label = "m_custom"; + reg = <0xfe0000 0x20000>; + read-only; + compatible = "nvmem-cells"; + + nvmem-layout { + compatible = "fixed-layout"; + + #address-cells = <1>; + #size-cells = <1>; + + macaddr_custom_0: macaddr@0 { + reg = <0x0 0xc>; + compatible = "mac-base"; + #nvmem-cell-cells = <1>; + }; + + macaddr_custom_40: macaddr@40 { + reg = <0x40 0xc>; + compatible = "mac-base"; + #nvmem-cell-cells = <1>; + }; + + macaddr_custom_100: macaddr@100 { + reg = <0x100 0xc>; + compatible = "mac-base"; + #nvmem-cell-cells = <1>; + }; + + macaddr_custom_140: macaddr@140 { + reg = <0x140 0xc>; + compatible = "mac-base"; + #nvmem-cell-cells = <1>; + }; + }; + }; + + partition@1000000 { + label = "fota_bak"; + reg = <0x1000000 0x1000000>; + read-only; + }; + }; + }; +}; + +ðernet { + pinctrl-names = "default"; + pinctrl-0 = <&mdio_pins>; +}; + +&gmac0 { + nvmem-cells = <&macaddr_custom_40 0>; + nvmem-cell-names = "mac-address"; +}; + +&gmac1 { + status = "okay"; + label = "wan"; + phy-handle = <ðphy4>; + + nvmem-cells = <&macaddr_custom_0 0>; + nvmem-cell-names = "mac-address"; +}; + +&mdio { + ethphy4: ethernet-phy@4 { + reg = <4>; + }; +}; + +&switch0 { + ports { + port@3 { + status = "okay"; + label = "lan"; + }; + }; +}; + +&pcie { + status = "okay"; +}; + +&pcie0 { + mt76@0,0 { + compatible = "mediatek,mt76"; + reg = <0x0000 0 0 0 0>; + nvmem-cells = <&eeprom_factory_0>, <&macaddr_custom_100 0>; + nvmem-cell-names = "eeprom", "mac-address"; + }; +}; + +&pcie1 { + mt76@0,0 { + compatible = "mediatek,mt76"; + reg = <0x0000 0 0 0 0>; + ieee80211-freq-limit = <5000000 6000000>; + nvmem-cells = <&eeprom_factory_8000>, <&macaddr_custom_140 0>; + nvmem-cell-names = "eeprom", "mac-address"; + }; +}; diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk index 65510fccf1b..f7288d5c299 100644 --- a/target/linux/ramips/image/mt7621.mk +++ b/target/linux/ramips/image/mt7621.mk @@ -1616,6 +1616,17 @@ define Device/mediatek_mt7621-eval-board endef TARGET_DEVICES += mediatek_mt7621-eval-board +define Device/meig_slt866 + $(Device/dsa-migration) + IMAGE_SIZE := 15104k + DEVICE_VENDOR := MeiG + DEVICE_MODEL := SLT866 + DEVICE_PACKAGES := kmod-mt7603 kmod-mt7615e kmod-mt7663-firmware-ap \ + kmod-usb-net-qmi-wwan kmod-usb-serial-option kmod-usb3 \ + kmod-usb-net-rndis +endef +TARGET_DEVICES += meig_slt866 + define Device/mercusys_mr70x-v1 $(Device/dsa-migration) $(Device/tplink-safeloader) diff --git a/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds b/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds index d50e58131d7..bebd0c6d4bc 100644 --- a/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds +++ b/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds @@ -138,6 +138,10 @@ linksys,ea8100-v2) ucidef_set_led_netdev "lan4" "lan4 link" "green:lan4" "lan4" "link" ucidef_set_led_netdev "wan" "wan link" "green:wan" "wan" "link" ;; +meig,slt866) + ucidef_set_led_netdev "lan" "eth" "blue:lanwan" "lan" "link tx rx" + ucidef_set_led_netdev "wwan0" "net" "blue:internet" "wwan0" "link tx rx" + ;; mikrotik,routerboard-760igs) ucidef_set_led_netdev "sfp" "SFP" "blue:sfp" "sfp" ;; diff --git a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network index 2fa70a213d3..e7f72106dd1 100644 --- a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network +++ b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network @@ -157,7 +157,8 @@ ramips_setup_interfaces() ucidef_set_interface "qtn" ifname "eth1" protocol "static" ipaddr "1.1.1.1" netmask "255.255.255.0" ;; comfast,cf-e390ax|\ - comfast,cf-ew72-v2) + comfast,cf-ew72-v2|\ + meig,slt866) ucidef_set_interfaces_lan_wan "lan" "wan" ;; *) From 0c3f4bd85ee6067588a81843a403850ab0082270 Mon Sep 17 00:00:00 2001 From: Patryk Kowalczyk Date: Thu, 2 Nov 2023 09:46:36 +0100 Subject: [PATCH 12/19] filogic: fix wifi eeprom filename for tuf-ax6000 The router use mt7986_eeprom_mt7976_dual.bin Fixes: d522ccecb2 ("filogic: add support for ASUS TUF AX6000") Signed-off-by: Patryk Kowalczyk --- .../base-files/etc/hotplug.d/firmware/11-mt76-caldata | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) 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 63c1ec31b7a..4d9833f66cf 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 @@ -45,8 +45,7 @@ case "$FIRMWARE" in ;; "mediatek/mt7986_eeprom_mt7976_dbdc.bin") case "$board" in - asus,tuf-ax4200|\ - asus,tuf-ax6000) + asus,tuf-ax4200) CI_UBIPART="UBI_DEV" caldata_extract_ubi "Factory" 0x0 0x1000 ;; @@ -54,6 +53,10 @@ 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 + ;; glinet,gl-mt6000) caldata_extract_mmc "factory" 0x0 0x1000 ;; From 45a50a06fb3f39ea70936dd967a74e6e96f0cd89 Mon Sep 17 00:00:00 2001 From: Mikhail Zhilkin Date: Sun, 29 Oct 2023 14:51:32 +0000 Subject: [PATCH 13/19] treewide: fix MERCUSYS brand spelling This commit fixes MERCUSYS brand spelling. The proper name is capitalized. Link: https://www.mercusys.com/ Link: https://github.com/torvalds/linux/blob/master/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c#L7779 Signed-off-by: Mikhail Zhilkin --- target/linux/mediatek/dts/mt7986b-mercusys-mr90x-v1.dts | 2 +- target/linux/mediatek/image/filogic.mk | 2 +- target/linux/ramips/dts/mt7621_mercusys_mr70x-v1.dts | 2 +- target/linux/ramips/image/mt7621.mk | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/target/linux/mediatek/dts/mt7986b-mercusys-mr90x-v1.dts b/target/linux/mediatek/dts/mt7986b-mercusys-mr90x-v1.dts index d4620b38566..89ec613a8d9 100644 --- a/target/linux/mediatek/dts/mt7986b-mercusys-mr90x-v1.dts +++ b/target/linux/mediatek/dts/mt7986b-mercusys-mr90x-v1.dts @@ -8,7 +8,7 @@ / { compatible = "mercusys,mr90x-v1", "mediatek,mt7986b"; - model = "Mercusys MR90X v1"; + model = "MERCUSYS MR90X v1"; aliases { serial0 = &uart0; diff --git a/target/linux/mediatek/image/filogic.mk b/target/linux/mediatek/image/filogic.mk index e501ac3c744..4ce9b7f2ba1 100644 --- a/target/linux/mediatek/image/filogic.mk +++ b/target/linux/mediatek/image/filogic.mk @@ -504,7 +504,7 @@ endef TARGET_DEVICES += mediatek_mt7988a-rfb define Device/mercusys_mr90x-v1 - DEVICE_VENDOR := Mercusys + DEVICE_VENDOR := MERCUSYS DEVICE_MODEL := MR90X v1 DEVICE_DTS := mt7986b-mercusys-mr90x-v1 DEVICE_DTS_DIR := ../dts diff --git a/target/linux/ramips/dts/mt7621_mercusys_mr70x-v1.dts b/target/linux/ramips/dts/mt7621_mercusys_mr70x-v1.dts index 245d130a1fc..ebfc370caf3 100644 --- a/target/linux/ramips/dts/mt7621_mercusys_mr70x-v1.dts +++ b/target/linux/ramips/dts/mt7621_mercusys_mr70x-v1.dts @@ -7,7 +7,7 @@ / { compatible = "mercusys,mr70x-v1", "mediatek,mt7621-soc"; - model = "Mercusys MR70X v1"; + model = "MERCUSYS MR70X v1"; aliases { led-boot = &led_power_green; diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk index f7288d5c299..b9c94342b04 100644 --- a/target/linux/ramips/image/mt7621.mk +++ b/target/linux/ramips/image/mt7621.mk @@ -1630,7 +1630,7 @@ TARGET_DEVICES += meig_slt866 define Device/mercusys_mr70x-v1 $(Device/dsa-migration) $(Device/tplink-safeloader) - DEVICE_VENDOR := Mercusys + DEVICE_VENDOR := MERCUSYS DEVICE_MODEL := MR70X DEVICE_VARIANT := v1 DEVICE_PACKAGES := kmod-mt7915-firmware -uboot-envtools From 2c22589782d74e9db5d79f72b259df08beb5ef7a Mon Sep 17 00:00:00 2001 From: Ilya Katsnelson Date: Mon, 30 Oct 2023 01:39:31 +0300 Subject: [PATCH 14/19] build: replace `true` with a custom noop script `true` might be a shell built-in, or simply not accessible in the hardcoded locations. Replace it with a custom script that does nothing. Signed-off-by: Ilya Katsnelson --- include/prereq-build.mk | 2 +- scripts/noop.sh | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) create mode 100755 scripts/noop.sh diff --git a/include/prereq-build.mk b/include/prereq-build.mk index e5f20fff22e..49340ce3e44 100644 --- a/include/prereq-build.mk +++ b/include/prereq-build.mk @@ -238,4 +238,4 @@ prereq: $(STAGING_DIR_HOST)/bin/mkhash $(STAGING_DIR_HOST)/bin/xxd # Install ldconfig stub $(eval $(call TestHostCommand,ldconfig-stub,Failed to install stub, \ - $(LN) $(firstword $(wildcard /bin/true /usr/bin/true)) $(STAGING_DIR_HOST)/bin/ldconfig)) + $(LN) $(SCRIPT_DIR)/noop.sh $(STAGING_DIR_HOST)/bin/ldconfig)) diff --git a/scripts/noop.sh b/scripts/noop.sh new file mode 100755 index 00000000000..96b71fe3bf4 --- /dev/null +++ b/scripts/noop.sh @@ -0,0 +1,2 @@ +#!/bin/sh +# This script does nothing, intentionally. From c6a090dbf63dd9763e5b4d31be0ea5cfd6507c89 Mon Sep 17 00:00:00 2001 From: Lech Perczak Date: Wed, 26 Jul 2023 02:55:05 +0200 Subject: [PATCH 15/19] ath79: dts: fortinet_loader: extract common part In preparation for FAP-220-B support, rename ar934x_fortinet_loader.dtsi to arxxxx_fortinet_loader.dtsi, to avoid confusion, as FAP-220-B shares flash layout with FAP-221-B exactly despite different SoC. While at that, add a label to U-boot partition to allow for nvmem MAC binding in future. Signed-off-by: Lech Perczak --- target/linux/ath79/dts/ar9344_fortinet_ap-dual.dtsi | 2 +- ...{ar934x_fortinet_loader.dtsi => arxxxx_fortinet_loader.dtsi} | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) rename target/linux/ath79/dts/{ar934x_fortinet_loader.dtsi => arxxxx_fortinet_loader.dtsi} (98%) diff --git a/target/linux/ath79/dts/ar9344_fortinet_ap-dual.dtsi b/target/linux/ath79/dts/ar9344_fortinet_ap-dual.dtsi index d5275c496e3..c8f12a1bfbd 100644 --- a/target/linux/ath79/dts/ar9344_fortinet_ap-dual.dtsi +++ b/target/linux/ath79/dts/ar9344_fortinet_ap-dual.dtsi @@ -1,7 +1,7 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT #include "ar9344.dtsi" -#include "ar934x_fortinet_loader.dtsi" +#include "arxxxx_fortinet_loader.dtsi" #include #include diff --git a/target/linux/ath79/dts/ar934x_fortinet_loader.dtsi b/target/linux/ath79/dts/arxxxx_fortinet_loader.dtsi similarity index 98% rename from target/linux/ath79/dts/ar934x_fortinet_loader.dtsi rename to target/linux/ath79/dts/arxxxx_fortinet_loader.dtsi index d7cbf2e7379..3bc734313f0 100644 --- a/target/linux/ath79/dts/ar934x_fortinet_loader.dtsi +++ b/target/linux/ath79/dts/arxxxx_fortinet_loader.dtsi @@ -36,7 +36,7 @@ #address-cells = <1>; #size-cells = <1>; - partition@0 { + uboot: partition@0 { label = "u-boot"; reg = <0x000000 0x040000>; read-only; From 6c12c88d2e8f98961fd51e2a2b25df7d73c26554 Mon Sep 17 00:00:00 2001 From: Lech Perczak Date: Wed, 26 Jul 2023 03:01:02 +0200 Subject: [PATCH 16/19] ath79: image: extract common part for Fortinet FAP series In preparation for FAP-220-B support, extract the common part of image recipe for FAP-221-B. Signed-off-by: Lech Perczak --- target/linux/ath79/image/generic.mk | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/target/linux/ath79/image/generic.mk b/target/linux/ath79/image/generic.mk index 59cc3c5a2b3..d8ee3192c08 100644 --- a/target/linux/ath79/image/generic.mk +++ b/target/linux/ath79/image/generic.mk @@ -1532,12 +1532,9 @@ define Device/extreme-networks_ws-ap3805i endef TARGET_DEVICES += extreme-networks_ws-ap3805i -define Device/fortinet_fap-221-b +define Device/fortinet_fap_common $(Device/senao_loader_okli) - SOC := ar9344 DEVICE_VENDOR := Fortinet - DEVICE_MODEL := FAP-221-B - FACTORY_IMG_NAME := FP221B-9.99-AP-build999-999999-patch99 IMAGE_SIZE := 9216k LOADER_FLASH_OFFS := 0x040000 IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \ @@ -1546,6 +1543,13 @@ define Device/fortinet_fap-221-b append-loader-okli-uimage $(1) | pad-to 10944k | \ gzip-filename $$$$(FACTORY_IMG_NAME) endef + +define Device/fortinet_fap-221-b + $(Device/fortinet_fap_common) + SOC := ar9344 + DEVICE_MODEL := FAP-221-B + FACTORY_IMG_NAME := FP221B-9.99-AP-build999-999999-patch99 +endef TARGET_DEVICES += fortinet_fap-221-b define Device/glinet_6408 From 0c47bdb9020a62e3358dc3878d614b8fac94fcd8 Mon Sep 17 00:00:00 2001 From: Lech Perczak Date: Sat, 22 Jul 2023 18:44:20 +0200 Subject: [PATCH 17/19] ath79: support Fortinet FAP-220-B Fortinet FAP-220-B is a dual-radio, dual-band 802.11n enterprise managed access point with PoE input and single gigabit Ethernet interface. Hardware highlights: Power: 802.3af PoE input on Ethernet port, +12V input on 5.5/2.1mm DC jack. SoC: Atheros AR7161 (MIPS 24kc at 680MHz) RAM: 64MB DDR400 Flash: 16MB SPI-NOR Wi-Fi 1: Atheros AR9220 2T2R 802.11abgn (dual-band) Wi-Fi 2: Atheros AR9223 2T2R 802.11bgn (single-band) Ethernet: Atheros AR8021 single gigabit Phy (RGMII) Console: External RS232 port using Cisco 8P8C connector (9600-8-N-1) USB: Single USB 2.0 host port LEDs: Power (single colour, green), Wi-Fi 1, Wi-Fi 2, Ethernet, Mode, Status (dual-colour, green and yellow) Buttons: reset button hidden in bottom grill, in the top row, 2nd column from the right. Label MAC address: eth0 FCC ID: TVE-220102 Serial port pinout: 3 - TxD 4 - GND 6 - RxD Installation: The same methods apply as for already supported FAP-221-B. For both methods, a backup of flash partitions is recommended, as stock firmware is not freely available on the internet. (a) Using factory image: 1. Connect console cable to the console port 2. Connect Ethernet interface to your PC 3. Start preferred terminal at 9600-8-N-1 4. Have a TFTP server running on the PC. 5. Put the "factory" image in TFTP root 6. Power on the device 7. Break boot sequence by pressing "Ctrl+C" 8. Press "G". The console will ask you for device IP, server IP, and filename. Enter them appropriately. The defaults are: Server IP: 192.168.1.1 # Update accordingly Device IP: 192.168.1.2 # Update accordingly Image file: image.out # Use for example: openwrt-ath79-generic-fortinet_fap-220-b-squashfs-factory.bin 9. The device will load the firmware over TFTP, and verify it. When verification passes, press "D" to continue installation. The device will reboot on completion. (b) Using initramfs + sysupgrade 1. Connect console cable to the console port 2. Connect Ethernet interface to your PC 3. Start preferred terminal at 9600-8-N-1 4. Have a TFTP server running on the PC. 5. Put the "initramfs" image in TFTP root 6. Power on the device. 7. Break boot sequence by pressing "Ctrl+C" 8. Enter hidden U-boot shell by pressing "K". The password is literal "1". 9. Load the initramfs over TFTP: > setenv serverip 192.168.1.1 # Your PC IP > setenv ipaddr 192.168.1.22 # Device IP, both have to share a subnet. > tftpboot 81000000 openwrt-ath79-generic-fortinet_fap-220-b-initramfs-kernel.bin > bootm 81000000 10. (Optional) Copy over contents of at least "fwconcat0", "loader", and "fwconcat1" partitions, to allow restoring factory firmware in future: # cat /dev/mtd1 > /tmp/mtd1_fwconcat0.bin # cat /dev/mtd2 > /tmp/mtd2_loader.bin # cat /dev/mtd3 > /tmp/mtd3_fwconcat1.bin and then SCP them over to safety at your PC. 11. When the device boots, copy over the sysupgrade image, and execute normal upgrade: # sysupgrade openwrt-ath79-generic-fortinet_fap-220-b-squashfs-sysupgrade.bin Return to stock firmware: 1. Boot initramfs image as per initial installation up to point 9 2. Copy over the previously backed up contents over network 3. Write the backed up contents back: # mtd write /tmp/mtd1_fwconcat0.bin fwconcat0 # mtd write /tmp/mtd2_loader.bin loader # mtd write /tmp/mtd3_fwconcat1.bin fwconcat1 4. Erase the reserved partition: # mtd erase reserved 5. Reboot the device Quirks and known issues: - The power LED blinking pattern is disrupted during boot, probably due to very slow serial console, which prints a lot during boot compared to stock FW. - "mac-address-ascii" device tree binding cannot yet be used for address stored in U-boot partition, because it expects the colons as delimiters, which this address lacks. Addresses found in ART partition are used instead. - Due to using kmod-owl-loader, the device will lack wireless interfaces while in initramfs, unless you compile it in. - The device heats up A LOT on the bottom, even when idle. It even contains a warning sticker there. - Stock firmware uses a fully read-write filesystem for its rootfs. - Stock firmware loads a lot of USB-serial converter drivers for use with built-in host, probably meant for hosting modem devices. - U-boot build of the device is stripped of all branding, despite that evidence of it (obviously) being U-boot can be found in the binary. - The user can break into hidden U-boot shell using key "K" after breaking boot sequence. The password is "1" (without quotes). - Telnet is available by default, with login "admin", without password. The same is true for serial console, both drop straight to the Busybox shell. - The web interface drops to the login page again, after successfull login. - Whole image authentication boils down to comparing a device ID against one stored in U-boot. - And this device is apparently made by a security company. Big thanks for Michael Pratt for providing support for FAP-221-B, which shares the entirety of image configuration with this device, this saved me a ton of work. Signed-off-by: Lech Perczak --- .../ath79/dts/ar7161_fortinet_fap-220-b.dts | 183 ++++++++++++++++++ .../generic/base-files/etc/board.d/02_network | 1 + .../base-files/lib/upgrade/platform.sh | 1 + target/linux/ath79/image/generic.mk | 10 + 4 files changed, 195 insertions(+) create mode 100644 target/linux/ath79/dts/ar7161_fortinet_fap-220-b.dts diff --git a/target/linux/ath79/dts/ar7161_fortinet_fap-220-b.dts b/target/linux/ath79/dts/ar7161_fortinet_fap-220-b.dts new file mode 100644 index 00000000000..331bc317141 --- /dev/null +++ b/target/linux/ath79/dts/ar7161_fortinet_fap-220-b.dts @@ -0,0 +1,183 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "ar7100.dtsi" +#include "arxxxx_fortinet_loader.dtsi" + +#include +#include + +/ { + compatible = "fortinet,fap-220-b", "qca,ar7161"; + model = "Fortinet FAP-220-B"; + + chosen { + bootargs = "console=ttyS0,9600"; + }; + + aliases { + led-boot = &led_power; + led-failsafe = &led_power; + led-running = &led_power; + led-upgrade = &led_power; + label-mac-device = ð1; + }; + + keys { + compatible = "gpio-keys"; + reset { + label = "reset"; + linux,code = ; + gpios = <&gpio 8 GPIO_ACTIVE_LOW>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + + led_power: power-green { + label = "green:power"; + gpios = <&gpio 4 GPIO_ACTIVE_HIGH>; + default-state = "on"; + }; + + status-green { + label = "green:status"; + gpios = <&gpio 1 GPIO_ACTIVE_LOW>; + }; + + status-yellow { + label = "yellow:status"; + gpios = <&gpio 0 GPIO_ACTIVE_LOW>; + panic-indicator; + }; + + mode-green { + label = "green:mode"; + gpios = <&gpio 5 GPIO_ACTIVE_LOW>; + }; + + mode-yellow { + label = "yellow:mode"; + gpios = <&gpio 6 GPIO_ACTIVE_LOW>; + }; + + wlan2g-green { + label = "green:wlan2g"; + gpios = <&ath9k0 5 GPIO_ACTIVE_LOW>; + linux,default-trigger = "phy0tpt"; + }; + + wlan2g-yellow { + label = "yellow:wlan2g"; + gpios = <&ath9k0 3 GPIO_ACTIVE_LOW>; + linux,default-trigger = "phy0assoc"; + }; + + wlan5g-green { + label = "green:wlan5g"; + gpios = <&ath9k1 5 GPIO_ACTIVE_LOW>; + linux,default-trigger = "phy1tpt"; + }; + + wlan5g-yellow { + label = "yellow:wlan5g"; + gpios = <&ath9k1 3 GPIO_ACTIVE_LOW>; + linux,default-trigger = "phy1assoc"; + }; + }; + + virtual_flash { + devices = <&fwconcat0 &fwconcat1 &fwconcat2>; + }; +}; + +&pcie0 { + status = "okay"; + + ath9k0: wifi@0,11 { /* 2.4 GHz */ + compatible = "pci168c,0029"; + reg = <0x8800 0 0 0 0>; + ieee80211-freq-limit = <2402000 2482000>; + nvmem-cells = <&macaddr_art_120c>, <&cal_art_1000>; + nvmem-cell-names = "mac-address", "calibration"; + mac-address-increment = <1>; + #gpio-cells = <2>; + gpio-controller; + }; + + ath9k1: wifi@0,12 { /* 5 GHz */ + compatible = "pci168c,0029"; + reg = <0x9000 0 0 0 0>; + ieee80211-freq-limit = <2402000 2482000 4900000 5990000>; + nvmem-cells = <&macaddr_art_520c>, <&cal_art_5000>; + nvmem-cell-names = "mac-address", "calibration"; + mac-address-increment = <9>; + #gpio-cells = <2>; + gpio-controller; + }; +}; + +&mdio0 { + status = "okay"; + + phy0: ethernet-phy@0 { + reg = <0x0>; + }; +}; + +ð0 { + status = "okay"; + compatible = "syscon", "simple-mfd"; +}; + +ð1 { + status = "okay"; + nvmem-cells = <&macaddr_art_120c>; + nvmem-cell-names = "mac-address"; + + pll-data = <0x00110000 0x00001099 0x00991099>; + phy-handle = <&phy0>; + phy-mode = "rgmii"; +}; + +&usb1 { + status = "okay"; +}; + +&usb_phy { + status = "okay"; +}; + +&uboot { + compatible = "nvmem-cells"; + #address-cells = <1>; + #size-cells = <1>; + + /* Currently doesn't work, because this one lacks colons as delimiters */ + macaddr_uboot_3ff80: mac-address-ascii@3ff80 { + reg = <0x3ff80 0xc>; + }; +}; + +&art { + compatible = "nvmem-cells"; + #address-cells = <1>; + #size-cells = <1>; + + cal_art_1000: calibration@1000 { + reg = <0x1000 0xeb8>; + }; + + macaddr_art_120c: mac-address@120c { + reg = <0x120c 0x6>; + }; + + cal_art_5000: calibration@5000 { + reg = <0x5000 0xeb8>; + }; + + macaddr_art_520c: mac-address@520c { + reg = <0x520c 0x6>; + }; +}; diff --git a/target/linux/ath79/generic/base-files/etc/board.d/02_network b/target/linux/ath79/generic/base-files/etc/board.d/02_network index 1b19d90a05e..5d87ea8405d 100644 --- a/target/linux/ath79/generic/base-files/etc/board.d/02_network +++ b/target/linux/ath79/generic/base-files/etc/board.d/02_network @@ -47,6 +47,7 @@ ath79_setup_interfaces() engenius,ecb600|\ enterasys,ws-ap3705i|\ extreme-networks,ws-ap3805i|\ + fortinet,fap-220-b|\ fortinet,fap-221-b|\ glinet,gl-ar300m-lite|\ glinet,gl-usb150|\ diff --git a/target/linux/ath79/generic/base-files/lib/upgrade/platform.sh b/target/linux/ath79/generic/base-files/lib/upgrade/platform.sh index 67a3635075b..a2b717ef34c 100644 --- a/target/linux/ath79/generic/base-files/lib/upgrade/platform.sh +++ b/target/linux/ath79/generic/base-files/lib/upgrade/platform.sh @@ -55,6 +55,7 @@ platform_do_upgrade() { ROOTFS_FILE="root.squashfs" platform_do_upgrade_failsafe_datachk "$1" ;; + fortinet,fap-220-b|\ fortinet,fap-221-b) SKIP_HASH="1" ENV_SCRIPT="/dev/null" diff --git a/target/linux/ath79/image/generic.mk b/target/linux/ath79/image/generic.mk index d8ee3192c08..b74ce345097 100644 --- a/target/linux/ath79/image/generic.mk +++ b/target/linux/ath79/image/generic.mk @@ -1544,6 +1544,16 @@ define Device/fortinet_fap_common gzip-filename $$$$(FACTORY_IMG_NAME) endef +define Device/fortinet_fap-220-b + $(Device/fortinet_fap_common) + SOC := ar7161 + DEVICE_MODEL := FAP-220-B + FACTORY_IMG_NAME := FAP22B-9.99-AP-build999-999999-patch99 + DEVICE_PACKAGES := -uboot-envtools kmod-usb-ohci kmod-usb2 \ + kmod-owl-loader +endef +TARGET_DEVICES += fortinet_fap-220-b + define Device/fortinet_fap-221-b $(Device/fortinet_fap_common) SOC := ar9344 From 5a603c7a316c3fb4bae4c7cb5c666232864126f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20M?= Date: Tue, 31 Oct 2023 16:15:06 +0100 Subject: [PATCH 18/19] mediatek: mt7981: improve fan behaviour MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This doubles the number of cooling-levels. In addition the fan is turned on with a low speed at lower temperatures and with a higher speed at higher temperatures. This also attempts to reduce the likelihood of constant start-stop actions. The change only affects the GL.iNet MT3000 and has been tested with it. Signed-off-by: Ɓukasz M --- .../arch/arm64/boot/dts/mediatek/mt7981.dtsi | 52 ++++++++++++------- .../arch/arm64/boot/dts/mediatek/mt7981.dtsi | 52 ++++++++++++------- 2 files changed, 64 insertions(+), 40 deletions(-) diff --git a/target/linux/mediatek/files-5.15/arch/arm64/boot/dts/mediatek/mt7981.dtsi b/target/linux/mediatek/files-5.15/arch/arm64/boot/dts/mediatek/mt7981.dtsi index 05d4b7d91da..cb161df81e9 100644 --- a/target/linux/mediatek/files-5.15/arch/arm64/boot/dts/mediatek/mt7981.dtsi +++ b/target/linux/mediatek/files-5.15/arch/arm64/boot/dts/mediatek/mt7981.dtsi @@ -55,8 +55,8 @@ fan: pwm-fan { compatible = "pwm-fan"; - /* cooling level (0, 1, 2, 3) : (0% duty, 50% duty, 75% duty, 100% duty) */ - cooling-levels = <0 128 192 255>; + /* cooling level (0, 1, 2, 3, 4, 5, 6, 7) : (0%/25%/37.5%/50%/62.5%/75%/87.5%/100% duty) */ + cooling-levels = <0 63 95 127 159 191 223 255>; #cooling-cells = <2>; status = "disabled"; }; @@ -67,55 +67,67 @@ polling-delay = <1000>; thermal-sensors = <&thermal 0>; trips { - cpu_trip_crit: crit { - temperature = <125000>; + cpu_trip_active_highest: active-highest { + temperature = <70000>; hysteresis = <2000>; - type = "critical"; - }; - - cpu_trip_hot: hot { - temperature = <120000>; - hysteresis = <2000>; - type = "hot"; + type = "active"; }; cpu_trip_active_high: active-high { - temperature = <115000>; + temperature = <60000>; hysteresis = <2000>; type = "active"; }; cpu_trip_active_med: active-med { - temperature = <85000>; + temperature = <50000>; hysteresis = <2000>; type = "active"; }; cpu_trip_active_low: active-low { - temperature = <60000>; + temperature = <45000>; + hysteresis = <2000>; + type = "active"; + }; + + cpu_trip_active_lowest: active-lowest { + temperature = <40000>; hysteresis = <2000>; type = "active"; }; }; cooling-maps { + cpu-active-highest { + /* active: set fan to cooling level 7 */ + cooling-device = <&fan 7 7>; + trip = <&cpu_trip_active_highest>; + }; + cpu-active-high { - /* active: set fan to cooling level 3 */ - cooling-device = <&fan 3 3>; + /* active: set fan to cooling level 5 */ + cooling-device = <&fan 5 5>; trip = <&cpu_trip_active_high>; }; cpu-active-med { - /* active: set fan to cooling level 2 */ - cooling-device = <&fan 2 2>; + /* active: set fan to cooling level 3 */ + cooling-device = <&fan 3 3>; trip = <&cpu_trip_active_med>; }; cpu-active-low { - /* passive: set fan to cooling level 1 */ - cooling-device = <&fan 1 1>; + /* active: set fan to cooling level 2 */ + cooling-device = <&fan 2 2>; trip = <&cpu_trip_active_low>; }; + + cpu-active-lowest { + /* active: set fan to cooling level 1 */ + cooling-device = <&fan 1 1>; + trip = <&cpu_trip_active_lowest>; + }; }; }; }; diff --git a/target/linux/mediatek/files-6.1/arch/arm64/boot/dts/mediatek/mt7981.dtsi b/target/linux/mediatek/files-6.1/arch/arm64/boot/dts/mediatek/mt7981.dtsi index 05d4b7d91da..cb161df81e9 100644 --- a/target/linux/mediatek/files-6.1/arch/arm64/boot/dts/mediatek/mt7981.dtsi +++ b/target/linux/mediatek/files-6.1/arch/arm64/boot/dts/mediatek/mt7981.dtsi @@ -55,8 +55,8 @@ fan: pwm-fan { compatible = "pwm-fan"; - /* cooling level (0, 1, 2, 3) : (0% duty, 50% duty, 75% duty, 100% duty) */ - cooling-levels = <0 128 192 255>; + /* cooling level (0, 1, 2, 3, 4, 5, 6, 7) : (0%/25%/37.5%/50%/62.5%/75%/87.5%/100% duty) */ + cooling-levels = <0 63 95 127 159 191 223 255>; #cooling-cells = <2>; status = "disabled"; }; @@ -67,55 +67,67 @@ polling-delay = <1000>; thermal-sensors = <&thermal 0>; trips { - cpu_trip_crit: crit { - temperature = <125000>; + cpu_trip_active_highest: active-highest { + temperature = <70000>; hysteresis = <2000>; - type = "critical"; - }; - - cpu_trip_hot: hot { - temperature = <120000>; - hysteresis = <2000>; - type = "hot"; + type = "active"; }; cpu_trip_active_high: active-high { - temperature = <115000>; + temperature = <60000>; hysteresis = <2000>; type = "active"; }; cpu_trip_active_med: active-med { - temperature = <85000>; + temperature = <50000>; hysteresis = <2000>; type = "active"; }; cpu_trip_active_low: active-low { - temperature = <60000>; + temperature = <45000>; + hysteresis = <2000>; + type = "active"; + }; + + cpu_trip_active_lowest: active-lowest { + temperature = <40000>; hysteresis = <2000>; type = "active"; }; }; cooling-maps { + cpu-active-highest { + /* active: set fan to cooling level 7 */ + cooling-device = <&fan 7 7>; + trip = <&cpu_trip_active_highest>; + }; + cpu-active-high { - /* active: set fan to cooling level 3 */ - cooling-device = <&fan 3 3>; + /* active: set fan to cooling level 5 */ + cooling-device = <&fan 5 5>; trip = <&cpu_trip_active_high>; }; cpu-active-med { - /* active: set fan to cooling level 2 */ - cooling-device = <&fan 2 2>; + /* active: set fan to cooling level 3 */ + cooling-device = <&fan 3 3>; trip = <&cpu_trip_active_med>; }; cpu-active-low { - /* passive: set fan to cooling level 1 */ - cooling-device = <&fan 1 1>; + /* active: set fan to cooling level 2 */ + cooling-device = <&fan 2 2>; trip = <&cpu_trip_active_low>; }; + + cpu-active-lowest { + /* active: set fan to cooling level 1 */ + cooling-device = <&fan 1 1>; + trip = <&cpu_trip_active_lowest>; + }; }; }; }; From ae500e62e2938e112ae1fc6aa7389e8c7b784b13 Mon Sep 17 00:00:00 2001 From: David Bauer Date: Fri, 3 Nov 2023 22:05:04 +0100 Subject: [PATCH 19/19] mediatek: add label-mac for GL.iNet GL-MT3000 The MAC-address of gmac0 matches the one printed on the bottom label. Signed-off-by: David Bauer --- target/linux/mediatek/dts/mt7981b-glinet-gl-mt3000.dts | 1 + 1 file changed, 1 insertion(+) diff --git a/target/linux/mediatek/dts/mt7981b-glinet-gl-mt3000.dts b/target/linux/mediatek/dts/mt7981b-glinet-gl-mt3000.dts index 028b0e83b72..f9b8c16652e 100644 --- a/target/linux/mediatek/dts/mt7981b-glinet-gl-mt3000.dts +++ b/target/linux/mediatek/dts/mt7981b-glinet-gl-mt3000.dts @@ -7,6 +7,7 @@ compatible = "glinet,gl-mt3000", "mediatek,mt7981"; aliases { + label-mac-device = &gmac0; led-boot = &led_lightblue; led-failsafe = &led_lightblue; led-running = &led_white;