diff --git a/include/kernel-5.10 b/include/kernel-5.10 index c71d0deac..5eededd53 100644 --- a/include/kernel-5.10 +++ b/include/kernel-5.10 @@ -1,2 +1,2 @@ -LINUX_VERSION-5.10 = .100 -LINUX_KERNEL_HASH-5.10.100 = d56965afc9b6a3d26d53db40ccd37fd9d15f2ca6bfd54ef6f0f8b6e92c170999 +LINUX_VERSION-5.10 = .103 +LINUX_KERNEL_HASH-5.10.103 = 4fb8ad55e6430342e4fbc94d54e594e9be8eb6a8bea1d71eccf835948d08580a diff --git a/include/kernel-5.15 b/include/kernel-5.15 index ff16326b8..48ba1e9df 100644 --- a/include/kernel-5.15 +++ b/include/kernel-5.15 @@ -1,2 +1,2 @@ -LINUX_VERSION-5.15 = .25 -LINUX_KERNEL_HASH-5.15.25 = 4399ffbe524a11b3c44bff6dd858ed31417341f58513f04cb6ae15e527543879 +LINUX_VERSION-5.15 = .26 +LINUX_KERNEL_HASH-5.15.26 = 58122134f2613fcbb200bb2399ef2117852166a8e11eed4b632a86b20b6bbe3a diff --git a/package/firmware/ipq-wifi/Makefile b/package/firmware/ipq-wifi/Makefile index eb10e2171..d56a18265 100644 --- a/package/firmware/ipq-wifi/Makefile +++ b/package/firmware/ipq-wifi/Makefile @@ -57,9 +57,6 @@ ALLWIFIBOARDS:= \ p2w_r619ac \ qnap_301w \ qxwlan_e2600ac \ - redmi_ax6 \ - xiaomi_ax3600 \ - xiaomi_ax9000 \ zte_mf263 \ zte_mf269 @@ -163,9 +160,6 @@ $(eval $(call generate-ipq-wifi-package,plasmacloud_pa2200,Plasma Cloud PA2200)) $(eval $(call generate-ipq-wifi-package,p2w_r619ac,P&W R619AC)) $(eval $(call generate-ipq-wifi-package,qnap_301w,QNAP 301w)) $(eval $(call generate-ipq-wifi-package,qxwlan_e2600ac,Qxwlan E2600AC)) -$(eval $(call generate-ipq-wifi-package,redmi_ax6,Redmi AX6)) -$(eval $(call generate-ipq-wifi-package,xiaomi_ax3600,Xiaomi AX3600)) -$(eval $(call generate-ipq-wifi-package,xiaomi_ax9000,Xiaomi AX9000)) $(eval $(call generate-ipq-wifi-package,zte_mf263,ZTE MF263)) $(eval $(call generate-ipq-wifi-package,zte_mf269,ZTE MF269)) diff --git a/package/firmware/ipq-wifi/board-redmi_ax6.ipq8074 b/package/firmware/ipq-wifi/board-redmi_ax6.ipq8074 deleted file mode 100644 index 98ed9c6f6..000000000 Binary files a/package/firmware/ipq-wifi/board-redmi_ax6.ipq8074 and /dev/null differ diff --git a/package/firmware/ipq-wifi/board-xiaomi_ax3600.ipq8074 b/package/firmware/ipq-wifi/board-xiaomi_ax3600.ipq8074 deleted file mode 100644 index db8ef4cef..000000000 Binary files a/package/firmware/ipq-wifi/board-xiaomi_ax3600.ipq8074 and /dev/null differ diff --git a/package/firmware/ipq-wifi/board-xiaomi_ax3600.qca9889 b/package/firmware/ipq-wifi/board-xiaomi_ax3600.qca9889 deleted file mode 100644 index af4405cd5..000000000 Binary files a/package/firmware/ipq-wifi/board-xiaomi_ax3600.qca9889 and /dev/null differ diff --git a/package/firmware/ipq-wifi/board-xiaomi_ax9000.ipq8074 b/package/firmware/ipq-wifi/board-xiaomi_ax9000.ipq8074 deleted file mode 100644 index babfaa2a9..000000000 Binary files a/package/firmware/ipq-wifi/board-xiaomi_ax9000.ipq8074 and /dev/null differ diff --git a/package/lean/r8168/Makefile b/package/lean/r8168/Makefile index fd5977a5b..1ad5bbc01 100644 --- a/package/lean/r8168/Makefile +++ b/package/lean/r8168/Makefile @@ -26,6 +26,7 @@ define KernelPackage/r8168 TITLE:=Driver for Realtek r8168 chipsets SUBMENU:=Network Devices VERSION:=$(LINUX_VERSION)+$(PKG_VERSION)-$(BOARD)-$(PKG_RELEASE) + DEPENDS:= FILES:= $(PKG_BUILD_DIR)/src/r8168.ko AUTOLOAD:=$(call AutoProbe,r8168) CONFLICTS:=kmod-r8169 diff --git a/package/lean/r8168/patches/002-r8168-add-support-for-kernel-over-5.10.patch b/package/lean/r8168/patches/002-r8168-add-support-for-kernel-over-5.10.patch new file mode 100644 index 000000000..10519448e --- /dev/null +++ b/package/lean/r8168/patches/002-r8168-add-support-for-kernel-over-5.10.patch @@ -0,0 +1,50 @@ +--- a/src/r8168_n.c 2021-07-05 01:30:48.000000000 +0100 ++++ b/src/r8168_n.c 2022-02-02 09:13:11.165555448 +0000 +@@ -96,6 +96,10 @@ + #include + #endif + ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 17, 0)) ++#define PDE_DATA pde_data ++#endif ++ + #define FIRMWARE_8168D_1 "rtl_nic/rtl8168d-1.fw" + #define FIRMWARE_8168D_2 "rtl_nic/rtl8168d-2.fw" + #define FIRMWARE_8168E_1 "rtl_nic/rtl8168e-1.fw" +@@ -524,6 +528,12 @@ + + MODULE_VERSION(RTL8168_VERSION); + ++#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 15, 0) ++static inline void dev_addr_mod(struct net_device *dev, unsigned int offset, const void *addr, size_t len) { ++ memcpy(&dev->dev_addr[offset], addr, len); ++} ++#endif ++ + static void rtl8168_sleep_rx_enable(struct net_device *dev); + static void rtl8168_dsm(struct net_device *dev, int dev_state); + +@@ -24146,11 +24156,13 @@ + } + + rtl8168_rar_set(tp, mac_addr); + ++#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 17, 0) + for (i = 0; i < MAC_ADDR_LEN; i++) { + dev->dev_addr[i] = RTL_R8(tp, MAC0 + i); + tp->org_mac_addr[i] = dev->dev_addr[i]; /* keep the original MAC address */ + } ++#endif + #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,13) + memcpy(dev->perm_addr, dev->dev_addr, dev->addr_len); + #endif +@@ -24178,9 +24190,9 @@ + return -EADDRNOTAVAIL; + + spin_lock_irqsave(&tp->lock, flags); +- +- memcpy(dev->dev_addr, addr->sa_data, dev->addr_len); ++ dev_addr_mod(dev, 0, addr->sa_data, dev->addr_len); ++ /* memcpy(dev->dev_addr, addr->sa_data, dev->addr_len);*/ + + rtl8168_rar_set(tp, dev->dev_addr); diff --git a/package/network/utils/dante/Makefile b/package/network/utils/dante/Makefile deleted file mode 100644 index 15bd6d2af..000000000 --- a/package/network/utils/dante/Makefile +++ /dev/null @@ -1,118 +0,0 @@ -# -# Copyright (C) 2011 OpenWrt.org -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# - -include $(TOPDIR)/rules.mk - -PKG_NAME:=dante -PKG_VERSION:=1.4.1 -PKG_RELEASE:=4 - -PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz -PKG_SOURCE_URL:=http://www.inet.no/dante/files/ -PKG_HASH:=b6d232bd6fefc87d14bf97e447e4fcdeef4b28b16b048d804b50b48f261c4f53 - -PKG_MAINTAINER:=Jo-Philipp Wich -PKG_LICENSE:=BSD-4-Clause - -PKG_FIXUP:=autoreconf -PKG_INSTALL:=1 - -include $(INCLUDE_DIR)/package.mk - -CONFIGURE_ARGS += \ - --without-upnp \ - --without-pam \ - --disable-libwrap - -CONFIGURE_VARS += \ - ac_cv_search_pam_start="" \ - ac_cv_func_sched_setscheduler=no - -define Build/InstallDev - $(INSTALL_DIR) $(1)/usr/include - $(CP) $(PKG_INSTALL_DIR)/usr/include/* $(1)/usr/include/ - $(INSTALL_DIR) $(1)/usr/lib - $(CP) $(PKG_INSTALL_DIR)/usr/lib/*.{a,so*,la} $(1)/usr/lib/ -endef - - -define Package/dante/default - TITLE:=Dante SOCKS - URL:=http://www.inet.no/dante/ -endef - -define Package/dante/default/description -Dante is a circuit-level firewall/proxy that can be used to provide convenient -and secure network connectivity, requiring only that the server Dante runs on -has external network connectivity. Dante is used daily by Fortune 100 companies -and large international organizations, either as a standard SOCKS server or as -a "reverse proxy". -endef - -define Package/libsocks - $(call Package/dante/default) - SECTION:=libs - CATEGORY:=Libraries - TITLE+= Library - ABI_VERSION:=0 -endef - -define Package/libsocks/description -$(call Package/dante/default/description) -This package provides the shared libsocks library. -endef - -define Package/libsocks/install - $(INSTALL_DIR) $(1)/usr/lib - $(CP) $(PKG_INSTALL_DIR)/usr/lib/libsocks.so.* $(1)/usr/lib/ -endef - - -define Package/sockd - $(call Package/dante/default) - SUBMENU:=Web Servers/Proxies - SECTION:=net - CATEGORY:=Network - TITLE+= Daemon -endef - -define Package/sockd/description -$(call Package/dante/default/description) -This package provides the Dante sockd daemon. -endef - -define Package/sockd/install - $(INSTALL_DIR) $(1)/usr/sbin - $(CP) $(PKG_INSTALL_DIR)/usr/sbin/sockd $(1)/usr/sbin/ -endef - - -define Package/socksify - $(call Package/dante/default) - SECTION:=net - CATEGORY:=Network - SUBMENU:=Web Servers/Proxies - TITLE+= Client -endef - -define Package/socksify/description -$(call Package/dante/default/description) -This package provides the Dante socksify client. -endef - -define Package/socksify/install - $(INSTALL_DIR) $(1)/usr/bin - $(CP) $(PKG_INSTALL_DIR)/usr/bin/socksify $(1)/usr/bin/ - - $(INSTALL_DIR) $(1)/usr/lib - $(CP) $(PKG_INSTALL_DIR)/usr/lib/libdsocks.so* $(1)/usr/lib/ -endef - - -$(eval $(call BuildPackage,libsocks)) -$(eval $(call BuildPackage,sockd)) -$(eval $(call BuildPackage,socksify)) diff --git a/package/network/utils/dante/patches/200-fix-RTLD_NEXT.patch b/package/network/utils/dante/patches/200-fix-RTLD_NEXT.patch deleted file mode 100644 index 594a6f900..000000000 --- a/package/network/utils/dante/patches/200-fix-RTLD_NEXT.patch +++ /dev/null @@ -1,36 +0,0 @@ ---- a/lib/address.c -+++ b/lib/address.c -@@ -48,11 +48,12 @@ - - #include "upnp.h" - --#ifndef __USE_GNU --#define __USE_GNU /* XXX for RTLD_NEXT on Linux */ --#endif /* !__USE_GNU */ - #include - -+#ifndef RTLD_NEXT -+#define RTLD_NEXT ((void *) -1l) -+#endif -+ - static const char rcsid[] = - "$Id: address.c,v 1.288.4.4 2014/08/15 18:16:40 karls Exp $"; - ---- a/dlib/interposition.c -+++ b/dlib/interposition.c -@@ -93,11 +93,12 @@ write$NOCANCEL(HAVE_PROT_WRITE_1, HAVE_P - - #endif /* HAVE_DARWIN */ - --#ifndef __USE_GNU --#define __USE_GNU /* XXX for RTLD_NEXT on Linux */ --#endif /* !__USE_GNU */ - #include - -+#ifndef RTLD_NEXT -+#define RTLD_NEXT ((void *) -1l) -+#endif -+ - #ifdef __COVERITY__ - /* - * Coverity naturally has no idea what the function sys_foo calls does, diff --git a/package/network/utils/dante/patches/210-deactivate-sched_setscheduler.patch b/package/network/utils/dante/patches/210-deactivate-sched_setscheduler.patch deleted file mode 100644 index e711189c5..000000000 --- a/package/network/utils/dante/patches/210-deactivate-sched_setscheduler.patch +++ /dev/null @@ -1,53 +0,0 @@ -When compiled with glibc the config_scan.c wants to use the -cpupolicy2numeric() function which is only available when -HAVE_SCHED_SETSCHEDULER is set. It looks like the wrong define was used here. - -This fixes a build problem with glibc in combination with the force -ac_cv_func_sched_setscheduler=no in the OpenWrt CONFIGURE_VARS. - ---- a/lib/config_scan.c -+++ b/lib/config_scan.c -@@ -3891,7 +3891,7 @@ YY_RULE_SETUP - SERRX(0); - - #else /* !SOCKS_CLIENT */ --#if HAVE_SCHED_SETAFFINITY -+#if HAVE_SCHED_SETSCHEDULER - - BEGIN(0); - -@@ -3899,9 +3899,9 @@ YY_RULE_SETUP - yyerrorx("unknown scheduling policy \"%s\"", yytext); - - return SCHEDULEPOLICY; --#else /* !HAVE_SCHED_SETAFFINITY */ -+#else /* !HAVE_SCHED_SETSCHEDULER */ - yyerrorx("setting cpu scheduling policy is not supported on this platform"); --#endif /* !HAVE_SCHED_SETAFFINITY */ -+#endif /* !HAVE_SCHED_SETSCHEDULER */ - - #endif /* SOCKS_CLIENT */ - } ---- a/lib/config_scan.l -+++ b/lib/config_scan.l -@@ -456,7 +456,7 @@ cpu { - SERRX(0); - - #else /* !SOCKS_CLIENT */ --#if HAVE_SCHED_SETAFFINITY -+#if HAVE_SCHED_SETSCHEDULER - - BEGIN(0); - -@@ -464,9 +464,9 @@ cpu { - yyerrorx("unknown scheduling policy \"%s\"", yytext); - - return SCHEDULEPOLICY; --#else /* !HAVE_SCHED_SETAFFINITY */ -+#else /* !HAVE_SCHED_SETSCHEDULER */ - yyerrorx("setting cpu scheduling policy is not supported on this platform"); --#endif /* !HAVE_SCHED_SETAFFINITY */ -+#endif /* !HAVE_SCHED_SETSCHEDULER */ - - #endif /* SOCKS_CLIENT */ - } diff --git a/package/network/utils/ipset/Makefile b/package/network/utils/ipset/Makefile index bc4945e0f..7b8d03519 100644 --- a/package/network/utils/ipset/Makefile +++ b/package/network/utils/ipset/Makefile @@ -9,12 +9,12 @@ include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=ipset -PKG_VERSION:=7.6 +PKG_VERSION:=7.15 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL:=http://ipset.netfilter.org -PKG_HASH:=0e7d44caa9c153d96a9b5f12644fbe35a632537a5a7f653792b72e53d9d5c2db +PKG_HASH:=0a5545aaadb640142c1f888d366a78ddf8724799967fa20686a70053bd621751 PKG_MAINTAINER:=Jo-Philipp Wich PKG_LICENSE:=GPL-2.0 @@ -62,6 +62,7 @@ endef define Package/ipset/install $(INSTALL_DIR) $(1)/usr/sbin $(CP) $(PKG_INSTALL_DIR)/usr/sbin/ipset $(1)/usr/sbin/ + $(CP) $(PKG_INSTALL_DIR)/usr/sbin/ipset-translate $(1)/usr/sbin/ endef define Package/libipset/install diff --git a/package/network/utils/ipset/patches/0001-lib-ipset-fix-printf-warning.patch b/package/network/utils/ipset/patches/0001-lib-ipset-fix-printf-warning.patch new file mode 100644 index 000000000..90dfacab8 --- /dev/null +++ b/package/network/utils/ipset/patches/0001-lib-ipset-fix-printf-warning.patch @@ -0,0 +1,11 @@ +--- a/lib/ipset.c ++++ b/lib/ipset.c +@@ -1847,7 +1847,7 @@ static int ipset_xlate(struct ipset *ips + return -1; + case IPSET_CMD_LIST: + if (!set) { +- printf("list sets %s\n", ++ printf("list sets %s %s\n", + ipset_xlate_family(family), table); + } else { + printf("list set %s %s %s\n", diff --git a/target/linux/ath79/patches-5.10/910-unaligned_access_hacks.patch b/target/linux/ath79/patches-5.10/910-unaligned_access_hacks.patch index d1e70a5b5..5738a2a8a 100644 --- a/target/linux/ath79/patches-5.10/910-unaligned_access_hacks.patch +++ b/target/linux/ath79/patches-5.10/910-unaligned_access_hacks.patch @@ -292,7 +292,7 @@ #endif /* _LINUX_TYPES_H */ --- a/net/ipv4/af_inet.c +++ b/net/ipv4/af_inet.c -@@ -1467,8 +1467,8 @@ struct sk_buff *inet_gro_receive(struct +@@ -1470,8 +1470,8 @@ struct sk_buff *inet_gro_receive(struct if (unlikely(ip_fast_csum((u8 *)iph, 5))) goto out_unlock; @@ -534,7 +534,7 @@ goto next_ht; --- a/net/ipv6/ip6_offload.c +++ b/net/ipv6/ip6_offload.c -@@ -238,7 +238,7 @@ INDIRECT_CALLABLE_SCOPE struct sk_buff * +@@ -240,7 +240,7 @@ INDIRECT_CALLABLE_SCOPE struct sk_buff * continue; iph2 = (struct ipv6hdr *)(p->data + off); @@ -579,7 +579,7 @@ #define IP6_MF 0x0001 #define IP6_OFFSET 0xFFF8 -@@ -557,8 +557,8 @@ static inline void __ipv6_addr_set_half( +@@ -560,8 +560,8 @@ static inline void __ipv6_addr_set_half( } #endif #endif @@ -590,7 +590,7 @@ } static inline void ipv6_addr_set(struct in6_addr *addr, -@@ -617,6 +617,8 @@ static inline bool ipv6_prefix_equal(con +@@ -620,6 +620,8 @@ static inline bool ipv6_prefix_equal(con const __be32 *a1 = addr1->s6_addr32; const __be32 *a2 = addr2->s6_addr32; unsigned int pdw, pbi; @@ -599,7 +599,7 @@ /* check complete u32 in prefix */ pdw = prefixlen >> 5; -@@ -625,7 +627,9 @@ static inline bool ipv6_prefix_equal(con +@@ -628,7 +630,9 @@ static inline bool ipv6_prefix_equal(con /* check incomplete u32 in prefix */ pbi = prefixlen & 0x1f; @@ -610,7 +610,7 @@ return false; return true; -@@ -746,13 +750,13 @@ static inline void ipv6_addr_set_v4mappe +@@ -749,13 +753,13 @@ static inline void ipv6_addr_set_v4mappe */ static inline int __ipv6_addr_diff32(const void *token1, const void *token2, int addrlen) { @@ -626,7 +626,7 @@ if (xb) return i * 32 + 31 - __fls(ntohl(xb)); } -@@ -938,17 +942,18 @@ static inline int ip6_multipath_hash_pol +@@ -941,17 +945,18 @@ static inline int ip6_multipath_hash_pol static inline void ip6_flow_hdr(struct ipv6hdr *hdr, unsigned int tclass, __be32 flowlabel) { diff --git a/target/linux/ath79/patches-5.10/920-mikrotik-rb4xx.patch b/target/linux/ath79/patches-5.10/920-mikrotik-rb4xx.patch index 7c3c91817..1314ed834 100644 --- a/target/linux/ath79/patches-5.10/920-mikrotik-rb4xx.patch +++ b/target/linux/ath79/patches-5.10/920-mikrotik-rb4xx.patch @@ -42,7 +42,7 @@ menu "SPI GPIO expanders" --- a/drivers/gpio/Makefile +++ b/drivers/gpio/Makefile -@@ -120,6 +120,7 @@ obj-$(CONFIG_GPIO_PL061) += gpio-pl061. +@@ -121,6 +121,7 @@ obj-$(CONFIG_GPIO_PL061) += gpio-pl061. obj-$(CONFIG_GPIO_PMIC_EIC_SPRD) += gpio-pmic-eic-sprd.o obj-$(CONFIG_GPIO_PXA) += gpio-pxa.o obj-$(CONFIG_GPIO_RASPBERRYPI_EXP) += gpio-raspberrypi-exp.o diff --git a/target/linux/ath79/patches-5.10/939-mikrotik-rb91x.patch b/target/linux/ath79/patches-5.10/939-mikrotik-rb91x.patch index 5bbab93c5..5253b21c6 100644 --- a/target/linux/ath79/patches-5.10/939-mikrotik-rb91x.patch +++ b/target/linux/ath79/patches-5.10/939-mikrotik-rb91x.patch @@ -16,7 +16,7 @@ depends on MFD_SYSCON && OF --- a/drivers/gpio/Makefile +++ b/drivers/gpio/Makefile -@@ -72,6 +72,7 @@ obj-$(CONFIG_GPIO_IT87) += gpio-it87.o +@@ -73,6 +73,7 @@ obj-$(CONFIG_GPIO_IT87) += gpio-it87.o obj-$(CONFIG_GPIO_IXP4XX) += gpio-ixp4xx.o obj-$(CONFIG_GPIO_JANZ_TTL) += gpio-janz-ttl.o obj-$(CONFIG_GPIO_KEMPLD) += gpio-kempld.o diff --git a/target/linux/bcm27xx/patches-5.10/950-0139-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch b/target/linux/bcm27xx/patches-5.10/950-0139-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch index 6cc748211..4052d2f24 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0139-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0139-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch @@ -15,7 +15,7 @@ Signed-off-by: Jonathan Bell --- a/drivers/usb/host/xhci.c +++ b/drivers/usb/host/xhci.c -@@ -1467,6 +1467,103 @@ command_cleanup: +@@ -1474,6 +1474,103 @@ command_cleanup: } /* @@ -119,7 +119,7 @@ Signed-off-by: Jonathan Bell * non-error returns are a promise to giveback() the urb later * we drop ownership so next owner (or urb unlink) can get it */ -@@ -5370,6 +5467,7 @@ static const struct hc_driver xhci_hc_dr +@@ -5380,6 +5477,7 @@ static const struct hc_driver xhci_hc_dr .endpoint_reset = xhci_endpoint_reset, .check_bandwidth = xhci_check_bandwidth, .reset_bandwidth = xhci_reset_bandwidth, diff --git a/target/linux/bcm27xx/patches-5.10/950-0151-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch b/target/linux/bcm27xx/patches-5.10/950-0151-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch index fa76e0a82..26ced7adf 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0151-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0151-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch @@ -53,7 +53,7 @@ Signed-off-by: Jonathan Bell { HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_MULTI_TOUCH), HID_QUIRK_MULTI_INPUT }, { HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_PIXART_USB_OPTICAL_MOUSE), HID_QUIRK_ALWAYS_POLL }, { HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_PIXART_USB_OPTICAL_MOUSE2), HID_QUIRK_ALWAYS_POLL }, -@@ -194,6 +195,7 @@ static const struct hid_device_id hid_qu +@@ -195,6 +196,7 @@ static const struct hid_device_id hid_qu { HID_USB_DEVICE(USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_QUAD_USB_JOYPAD), HID_QUIRK_NOGET | HID_QUIRK_MULTI_INPUT }, { HID_USB_DEVICE(USB_VENDOR_ID_XIN_MO, USB_DEVICE_ID_XIN_MO_DUAL_ARCADE), HID_QUIRK_MULTI_INPUT }, { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_GROUP_AUDIO), HID_QUIRK_NOGET }, diff --git a/target/linux/bcm27xx/patches-5.10/950-0246-sc16is7xx-Fix-for-hardware-flow-control.patch b/target/linux/bcm27xx/patches-5.10/950-0246-sc16is7xx-Fix-for-hardware-flow-control.patch index aeabd9725..bfc748bd7 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0246-sc16is7xx-Fix-for-hardware-flow-control.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0246-sc16is7xx-Fix-for-hardware-flow-control.patch @@ -38,7 +38,7 @@ Signed-off-by: Phil Elwell regcache_cache_bypass(s->regmap, false); /* Put LCR back to the normal mode */ -@@ -839,7 +840,7 @@ static unsigned int sc16is7xx_get_mctrl( +@@ -842,7 +843,7 @@ static unsigned int sc16is7xx_get_mctrl( /* DCD and DSR are not wired and CTS/RTS is handled automatically * so just indicate DSR and CAR asserted */ @@ -47,7 +47,7 @@ Signed-off-by: Phil Elwell } static void sc16is7xx_set_mctrl(struct uart_port *port, unsigned int mctrl) -@@ -926,14 +927,19 @@ static void sc16is7xx_set_termios(struct +@@ -929,14 +930,19 @@ static void sc16is7xx_set_termios(struct regcache_cache_bypass(s->regmap, true); sc16is7xx_port_write(port, SC16IS7XX_XON1_REG, termios->c_cc[VSTART]); sc16is7xx_port_write(port, SC16IS7XX_XOFF1_REG, termios->c_cc[VSTOP]); diff --git a/target/linux/bcm27xx/patches-5.10/950-0310-vc4_hdmi-Remove-cec_available-flag-as-always-support.patch b/target/linux/bcm27xx/patches-5.10/950-0310-vc4_hdmi-Remove-cec_available-flag-as-always-support.patch index d7610cabb..4c9e0d71f 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0310-vc4_hdmi-Remove-cec_available-flag-as-always-support.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0310-vc4_hdmi-Remove-cec_available-flag-as-always-support.patch @@ -12,7 +12,7 @@ Signed-off-by: Dom Cobley --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -1491,9 +1491,6 @@ static int vc4_hdmi_cec_init(struct vc4_ +@@ -1493,9 +1493,6 @@ static int vc4_hdmi_cec_init(struct vc4_ u32 value; int ret; @@ -22,7 +22,7 @@ Signed-off-by: Dom Cobley vc4_hdmi->cec_adap = cec_allocate_adapter(&vc4_hdmi_cec_adap_ops, vc4_hdmi, "vc4", CEC_CAP_DEFAULTS | -@@ -1926,7 +1923,6 @@ static const struct vc4_hdmi_variant bcm +@@ -1928,7 +1925,6 @@ static const struct vc4_hdmi_variant bcm .debugfs_name = "hdmi_regs", .card_name = "vc4-hdmi", .max_pixel_clock = 162000000, diff --git a/target/linux/bcm27xx/patches-5.10/950-0313-vc4_hdmi-Set-HDMI_MAI_FMT.patch b/target/linux/bcm27xx/patches-5.10/950-0313-vc4_hdmi-Set-HDMI_MAI_FMT.patch index 3cebccc10..e4f6f8795 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0313-vc4_hdmi-Set-HDMI_MAI_FMT.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0313-vc4_hdmi-Set-HDMI_MAI_FMT.patch @@ -14,7 +14,7 @@ Signed-off-by: Dom Cobley --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -989,6 +989,44 @@ static void vc4_hdmi_audio_shutdown(stru +@@ -991,6 +991,44 @@ static void vc4_hdmi_audio_shutdown(stru vc4_hdmi->audio.substream = NULL; } @@ -59,7 +59,7 @@ Signed-off-by: Dom Cobley /* HDMI audio codec callbacks */ static int vc4_hdmi_audio_hw_params(struct snd_pcm_substream *substream, struct snd_pcm_hw_params *params, -@@ -999,6 +1037,8 @@ static int vc4_hdmi_audio_hw_params(stru +@@ -1001,6 +1039,8 @@ static int vc4_hdmi_audio_hw_params(stru struct device *dev = &vc4_hdmi->pdev->dev; u32 audio_packet_config, channel_mask; u32 channel_map; @@ -68,7 +68,7 @@ Signed-off-by: Dom Cobley if (substream != vc4_hdmi->audio.substream) return -EINVAL; -@@ -1019,6 +1059,14 @@ static int vc4_hdmi_audio_hw_params(stru +@@ -1021,6 +1061,14 @@ static int vc4_hdmi_audio_hw_params(stru vc4_hdmi_audio_set_mai_clock(vc4_hdmi); diff --git a/target/linux/bcm27xx/patches-5.10/950-0314-drm-vc4-add-iec958-controls-to-vc4_hdmi.patch b/target/linux/bcm27xx/patches-5.10/950-0314-drm-vc4-add-iec958-controls-to-vc4_hdmi.patch index c5caa739b..9582c8687 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0314-drm-vc4-add-iec958-controls-to-vc4_hdmi.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0314-drm-vc4-add-iec958-controls-to-vc4_hdmi.patch @@ -26,7 +26,7 @@ Signed-off-by: Matthias Reichl #include #include #include -@@ -1180,6 +1181,47 @@ static int vc4_hdmi_audio_eld_ctl_get(st +@@ -1182,6 +1183,47 @@ static int vc4_hdmi_audio_eld_ctl_get(st return 0; } @@ -74,7 +74,7 @@ Signed-off-by: Matthias Reichl static const struct snd_kcontrol_new vc4_hdmi_audio_controls[] = { { .access = SNDRV_CTL_ELEM_ACCESS_READ | -@@ -1189,6 +1231,19 @@ static const struct snd_kcontrol_new vc4 +@@ -1191,6 +1233,19 @@ static const struct snd_kcontrol_new vc4 .info = vc4_hdmi_audio_eld_ctl_info, .get = vc4_hdmi_audio_eld_ctl_get, }, @@ -94,7 +94,7 @@ Signed-off-by: Matthias Reichl }; static const struct snd_soc_dapm_widget vc4_hdmi_audio_widgets[] = { -@@ -1309,6 +1364,11 @@ static int vc4_hdmi_audio_init(struct vc +@@ -1311,6 +1366,11 @@ static int vc4_hdmi_audio_init(struct vc vc4_hdmi->audio.dma_data.addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES; vc4_hdmi->audio.dma_data.maxburst = 2; diff --git a/target/linux/bcm27xx/patches-5.10/950-0315-drm-vc4-move-setup-from-hw_params-to-prepare.patch b/target/linux/bcm27xx/patches-5.10/950-0315-drm-vc4-move-setup-from-hw_params-to-prepare.patch index 109718017..9b9042639 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0315-drm-vc4-move-setup-from-hw_params-to-prepare.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0315-drm-vc4-move-setup-from-hw_params-to-prepare.patch @@ -14,7 +14,7 @@ Signed-off-by: Matthias Reichl --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -1029,9 +1029,8 @@ static int sample_rate_to_mai_fmt(int sa +@@ -1031,9 +1031,8 @@ static int sample_rate_to_mai_fmt(int sa } /* HDMI audio codec callbacks */ @@ -26,7 +26,7 @@ Signed-off-by: Matthias Reichl { struct vc4_hdmi *vc4_hdmi = dai_to_hdmi(dai); struct drm_encoder *encoder = &vc4_hdmi->encoder.base.base; -@@ -1044,12 +1043,15 @@ static int vc4_hdmi_audio_hw_params(stru +@@ -1046,12 +1045,15 @@ static int vc4_hdmi_audio_hw_params(stru if (substream != vc4_hdmi->audio.substream) return -EINVAL; @@ -47,7 +47,7 @@ Signed-off-by: Matthias Reichl HDMI_WRITE(HDMI_MAI_CTL, VC4_HD_MAI_CTL_RESET | -@@ -1271,7 +1273,7 @@ static const struct snd_soc_component_dr +@@ -1273,7 +1275,7 @@ static const struct snd_soc_component_dr static const struct snd_soc_dai_ops vc4_hdmi_audio_dai_ops = { .startup = vc4_hdmi_audio_startup, .shutdown = vc4_hdmi_audio_shutdown, diff --git a/target/linux/bcm27xx/patches-5.10/950-0316-drm-vc4-enable-HBR-MAI-format-on-HBR-streams.patch b/target/linux/bcm27xx/patches-5.10/950-0316-drm-vc4-enable-HBR-MAI-format-on-HBR-streams.patch index b700930c8..1fbda2013 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0316-drm-vc4-enable-HBR-MAI-format-on-HBR-streams.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0316-drm-vc4-enable-HBR-MAI-format-on-HBR-streams.patch @@ -10,7 +10,7 @@ Signed-off-by: Matthias Reichl --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -1063,7 +1063,11 @@ static int vc4_hdmi_audio_prepare(struct +@@ -1065,7 +1065,11 @@ static int vc4_hdmi_audio_prepare(struct vc4_hdmi_audio_set_mai_clock(vc4_hdmi); mai_sample_rate = sample_rate_to_mai_fmt(vc4_hdmi->audio.samplerate); diff --git a/target/linux/bcm27xx/patches-5.10/950-0317-vc4_hdmi-Remove-firmware-logic-for-MAI-threshold-set.patch b/target/linux/bcm27xx/patches-5.10/950-0317-vc4_hdmi-Remove-firmware-logic-for-MAI-threshold-set.patch index 8f16329b0..ef776face 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0317-vc4_hdmi-Remove-firmware-logic-for-MAI-threshold-set.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0317-vc4_hdmi-Remove-firmware-logic-for-MAI-threshold-set.patch @@ -16,7 +16,7 @@ Signed-off-by: Dom Cobley --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -1084,22 +1084,12 @@ static int vc4_hdmi_audio_prepare(struct +@@ -1086,22 +1086,12 @@ static int vc4_hdmi_audio_prepare(struct audio_packet_config |= VC4_SET_FIELD(channel_mask, VC4_HDMI_AUDIO_PACKET_CEA_MASK); diff --git a/target/linux/bcm27xx/patches-5.10/950-0318-vc_hdmi-Set-VC4_HDMI_MAI_CONFIG_FORMAT_REVERSE.patch b/target/linux/bcm27xx/patches-5.10/950-0318-vc_hdmi-Set-VC4_HDMI_MAI_CONFIG_FORMAT_REVERSE.patch index 6f09dac58..1767ccf4a 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0318-vc_hdmi-Set-VC4_HDMI_MAI_CONFIG_FORMAT_REVERSE.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0318-vc_hdmi-Set-VC4_HDMI_MAI_CONFIG_FORMAT_REVERSE.patch @@ -14,7 +14,7 @@ Signed-off-by: Dom Cobley --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -1093,6 +1093,7 @@ static int vc4_hdmi_audio_prepare(struct +@@ -1095,6 +1095,7 @@ static int vc4_hdmi_audio_prepare(struct HDMI_WRITE(HDMI_MAI_CONFIG, VC4_HDMI_MAI_CONFIG_BIT_REVERSE | diff --git a/target/linux/bcm27xx/patches-5.10/950-0332-staging-fbtft-Add-support-for-display-variants.patch b/target/linux/bcm27xx/patches-5.10/950-0332-staging-fbtft-Add-support-for-display-variants.patch index 7bdc80b46..9bb513628 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0332-staging-fbtft-Add-support-for-display-variants.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0332-staging-fbtft-Add-support-for-display-variants.patch @@ -191,7 +191,7 @@ Signed-off-by: Phil Elwell {}, \ }; \ \ -@@ -344,6 +355,11 @@ static void __exit fbtft_driver_module_e +@@ -347,6 +358,11 @@ static void __exit fbtft_driver_module_e module_init(fbtft_driver_module_init); \ module_exit(fbtft_driver_module_exit); diff --git a/target/linux/bcm27xx/patches-5.10/950-0346-drm-vc4-A-present-but-empty-dmas-disables-audio.patch b/target/linux/bcm27xx/patches-5.10/950-0346-drm-vc4-A-present-but-empty-dmas-disables-audio.patch index 0c104b178..373f98cbd 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0346-drm-vc4-A-present-but-empty-dmas-disables-audio.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0346-drm-vc4-A-present-but-empty-dmas-disables-audio.patch @@ -16,7 +16,7 @@ Signed-off-by: Phil Elwell --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -1331,10 +1331,12 @@ static int vc4_hdmi_audio_init(struct vc +@@ -1333,10 +1333,12 @@ static int vc4_hdmi_audio_init(struct vc const __be32 *addr; int index; int ret; diff --git a/target/linux/bcm27xx/patches-5.10/950-0348-gpio-Add-gpio-fsm-driver.patch b/target/linux/bcm27xx/patches-5.10/950-0348-gpio-Add-gpio-fsm-driver.patch index 9d2e2f87c..2fdef53ea 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0348-gpio-Add-gpio-fsm-driver.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0348-gpio-Add-gpio-fsm-driver.patch @@ -42,7 +42,7 @@ Signed-off-by: Phil Elwell depends on MFD_JANZ_CMODIO --- a/drivers/gpio/Makefile +++ b/drivers/gpio/Makefile -@@ -60,6 +60,7 @@ obj-$(CONFIG_GPIO_EP93XX) += gpio-ep93x +@@ -61,6 +61,7 @@ obj-$(CONFIG_GPIO_EP93XX) += gpio-ep93x obj-$(CONFIG_GPIO_EXAR) += gpio-exar.o obj-$(CONFIG_GPIO_F7188X) += gpio-f7188x.o obj-$(CONFIG_GPIO_FTGPIO010) += gpio-ftgpio010.o diff --git a/target/linux/bcm27xx/patches-5.10/950-0349-drm-vc4-Add-all-the-HDMI-registers-into-the-debugfs-.patch b/target/linux/bcm27xx/patches-5.10/950-0349-drm-vc4-Add-all-the-HDMI-registers-into-the-debugfs-.patch index edc5be80a..4a4c53570 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0349-drm-vc4-Add-all-the-HDMI-registers-into-the-debugfs-.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0349-drm-vc4-Add-all-the-HDMI-registers-into-the-debugfs-.patch @@ -29,7 +29,7 @@ Signed-off-by: Dave Stevenson return 0; } -@@ -1732,6 +1738,7 @@ static int vc5_hdmi_init_resources(struc +@@ -1734,6 +1740,7 @@ static int vc5_hdmi_init_resources(struc struct platform_device *pdev = vc4_hdmi->pdev; struct device *dev = &pdev->dev; struct resource *res; @@ -37,7 +37,7 @@ Signed-off-by: Dave Stevenson res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "hdmi"); if (!res) -@@ -1822,6 +1829,38 @@ static int vc5_hdmi_init_resources(struc +@@ -1824,6 +1831,38 @@ static int vc5_hdmi_init_resources(struc return PTR_ERR(vc4_hdmi->reset); } diff --git a/target/linux/bcm27xx/patches-5.10/950-0415-drm-vc4-hdmi-Store-pixel-frequency-in-the-connector-.patch b/target/linux/bcm27xx/patches-5.10/950-0415-drm-vc4-hdmi-Store-pixel-frequency-in-the-connector-.patch index 5e51b008f..719f9235e 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0415-drm-vc4-hdmi-Store-pixel-frequency-in-the-connector-.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0415-drm-vc4-hdmi-Store-pixel-frequency-in-the-connector-.patch @@ -76,7 +76,7 @@ Signed-off-by: Maxime Ripard struct drm_display_mode *mode = &crtc_state->adjusted_mode; struct vc4_hdmi *vc4_hdmi = encoder_to_vc4_hdmi(encoder); unsigned long long pixel_rate = mode->clock * 1000; -@@ -875,6 +897,8 @@ static int vc4_hdmi_encoder_atomic_check +@@ -876,6 +898,8 @@ static int vc4_hdmi_encoder_atomic_check if (pixel_rate > vc4_hdmi->variant->max_pixel_clock) return -EINVAL; diff --git a/target/linux/bcm27xx/patches-5.10/950-0417-drm-vc4-hdmi-Enable-10-12-bpc-output.patch b/target/linux/bcm27xx/patches-5.10/950-0417-drm-vc4-hdmi-Enable-10-12-bpc-output.patch index 69f255627..646475fa8 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0417-drm-vc4-hdmi-Enable-10-12-bpc-output.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0417-drm-vc4-hdmi-Enable-10-12-bpc-output.patch @@ -141,7 +141,7 @@ Reviewed-by: Dave Stevenson } static void vc4_hdmi_encoder_pre_crtc_enable(struct drm_encoder *encoder, -@@ -891,6 +951,14 @@ static int vc4_hdmi_encoder_atomic_check +@@ -892,6 +952,14 @@ static int vc4_hdmi_encoder_atomic_check pixel_rate = mode->clock * 1000; } diff --git a/target/linux/bcm27xx/patches-5.10/950-0457-drm-vc4-hdmi-Introduce-a-CEC-clock.patch b/target/linux/bcm27xx/patches-5.10/950-0457-drm-vc4-hdmi-Introduce-a-CEC-clock.patch index 36f46a71b..f20685c45 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0457-drm-vc4-hdmi-Introduce-a-CEC-clock.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0457-drm-vc4-hdmi-Introduce-a-CEC-clock.patch @@ -27,7 +27,7 @@ Signed-off-by: Maxime Ripard value |= clk_cnt << VC4_HDMI_CEC_DIV_CLK_CNT_SHIFT; HDMI_WRITE(HDMI_CEC_CNTRL_1, value); } -@@ -1867,6 +1867,7 @@ static int vc4_hdmi_init_resources(struc +@@ -1869,6 +1869,7 @@ static int vc4_hdmi_init_resources(struc return PTR_ERR(vc4_hdmi->hsm_clock); } vc4_hdmi->audio_clock = vc4_hdmi->hsm_clock; @@ -35,7 +35,7 @@ Signed-off-by: Maxime Ripard return 0; } -@@ -1961,6 +1962,12 @@ static int vc5_hdmi_init_resources(struc +@@ -1963,6 +1964,12 @@ static int vc5_hdmi_init_resources(struc return PTR_ERR(vc4_hdmi->audio_clock); } diff --git a/target/linux/bcm27xx/patches-5.10/950-0458-drm-vc4-hdmi-Split-the-interrupt-handlers.patch b/target/linux/bcm27xx/patches-5.10/950-0458-drm-vc4-hdmi-Split-the-interrupt-handlers.patch index 7e16acfac..5447b3325 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0458-drm-vc4-hdmi-Split-the-interrupt-handlers.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0458-drm-vc4-hdmi-Split-the-interrupt-handlers.patch @@ -19,7 +19,7 @@ Reviewed-by: Dave Stevenson --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -1572,15 +1572,22 @@ static int vc4_hdmi_audio_init(struct vc +@@ -1574,15 +1574,22 @@ static int vc4_hdmi_audio_init(struct vc } #ifdef CONFIG_DRM_VC4_HDMI_CEC @@ -48,7 +48,7 @@ Reviewed-by: Dave Stevenson cec_transmit_done(vc4_hdmi->cec_adap, CEC_TX_STATUS_OK, 0, 0, 0, 0); } else { -@@ -1594,6 +1601,19 @@ static irqreturn_t vc4_cec_irq_handler_t +@@ -1596,6 +1603,19 @@ static irqreturn_t vc4_cec_irq_handler_t return IRQ_HANDLED; } @@ -68,7 +68,7 @@ Reviewed-by: Dave Stevenson static void vc4_cec_read_msg(struct vc4_hdmi *vc4_hdmi, u32 cntrl1) { struct drm_device *dev = vc4_hdmi->connector.dev; -@@ -1618,31 +1638,55 @@ static void vc4_cec_read_msg(struct vc4_ +@@ -1620,31 +1640,55 @@ static void vc4_cec_read_msg(struct vc4_ } } diff --git a/target/linux/bcm27xx/patches-5.10/950-0459-drm-vc4-hdmi-Support-BCM2711-CEC-interrupt-setup.patch b/target/linux/bcm27xx/patches-5.10/950-0459-drm-vc4-hdmi-Support-BCM2711-CEC-interrupt-setup.patch index 39b80a2a2..8c399b6c7 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0459-drm-vc4-hdmi-Support-BCM2711-CEC-interrupt-setup.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0459-drm-vc4-hdmi-Support-BCM2711-CEC-interrupt-setup.patch @@ -20,7 +20,7 @@ Reviewed-by: Dave Stevenson --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -1723,9 +1723,11 @@ static int vc4_hdmi_cec_adap_enable(stru +@@ -1725,9 +1725,11 @@ static int vc4_hdmi_cec_adap_enable(stru ((3600 / usecs) << VC4_HDMI_CEC_CNT_TO_3600_US_SHIFT) | ((3500 / usecs) << VC4_HDMI_CEC_CNT_TO_3500_US_SHIFT)); @@ -34,7 +34,7 @@ Reviewed-by: Dave Stevenson HDMI_WRITE(HDMI_CEC_CNTRL_5, val | VC4_HDMI_CEC_TX_SW_RESET | VC4_HDMI_CEC_RX_SW_RESET); } -@@ -1797,8 +1799,6 @@ static int vc4_hdmi_cec_init(struct vc4_ +@@ -1799,8 +1801,6 @@ static int vc4_hdmi_cec_init(struct vc4_ cec_fill_conn_info_from_drm(&conn_info, &vc4_hdmi->connector); cec_s_conn_info(vc4_hdmi->cec_adap, &conn_info); @@ -43,7 +43,7 @@ Reviewed-by: Dave Stevenson value = HDMI_READ(HDMI_CEC_CNTRL_1); /* Set the logical address to Unregistered */ value |= VC4_HDMI_CEC_ADDR_MASK; -@@ -1806,12 +1806,32 @@ static int vc4_hdmi_cec_init(struct vc4_ +@@ -1808,12 +1808,32 @@ static int vc4_hdmi_cec_init(struct vc4_ vc4_hdmi_cec_update_clk_div(vc4_hdmi); @@ -82,7 +82,7 @@ Reviewed-by: Dave Stevenson ret = cec_register_adapter(vc4_hdmi->cec_adap, &pdev->dev); if (ret < 0) -@@ -2286,6 +2306,7 @@ static const struct vc4_hdmi_variant bcm +@@ -2288,6 +2308,7 @@ static const struct vc4_hdmi_variant bcm PHY_LANE_CK, }, .unsupported_odd_h_timings = true, @@ -90,7 +90,7 @@ Reviewed-by: Dave Stevenson .init_resources = vc5_hdmi_init_resources, .csc_setup = vc5_hdmi_csc_setup, -@@ -2312,6 +2333,7 @@ static const struct vc4_hdmi_variant bcm +@@ -2314,6 +2335,7 @@ static const struct vc4_hdmi_variant bcm PHY_LANE_2, }, .unsupported_odd_h_timings = true, diff --git a/target/linux/bcm27xx/patches-5.10/950-0460-drm-vc4-hdmi-Don-t-register-the-CEC-adapter-if-there.patch b/target/linux/bcm27xx/patches-5.10/950-0460-drm-vc4-hdmi-Don-t-register-the-CEC-adapter-if-there.patch index 2ead4e366..cbace6303 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0460-drm-vc4-hdmi-Don-t-register-the-CEC-adapter-if-there.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0460-drm-vc4-hdmi-Don-t-register-the-CEC-adapter-if-there.patch @@ -19,7 +19,7 @@ Signed-off-by: Maxime Ripard --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -1785,9 +1785,15 @@ static int vc4_hdmi_cec_init(struct vc4_ +@@ -1787,9 +1787,15 @@ static int vc4_hdmi_cec_init(struct vc4_ { struct cec_connector_info conn_info; struct platform_device *pdev = vc4_hdmi->pdev; diff --git a/target/linux/bcm27xx/patches-5.10/950-0475-drm-vc4-Add-HDR-metadata-property-to-the-VC5-HDMI-co.patch b/target/linux/bcm27xx/patches-5.10/950-0475-drm-vc4-Add-HDR-metadata-property-to-the-VC5-HDMI-co.patch index 01bf5901a..554fffc09 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0475-drm-vc4-Add-HDR-metadata-property-to-the-VC5-HDMI-co.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0475-drm-vc4-Add-HDR-metadata-property-to-the-VC5-HDMI-co.patch @@ -61,7 +61,7 @@ Signed-off-by: Dave Stevenson } static void vc4_hdmi_encoder_post_crtc_disable(struct drm_encoder *encoder, -@@ -2296,6 +2321,7 @@ static const struct vc4_hdmi_variant bcm +@@ -2298,6 +2323,7 @@ static const struct vc4_hdmi_variant bcm .phy_rng_enable = vc4_hdmi_phy_rng_enable, .phy_rng_disable = vc4_hdmi_phy_rng_disable, .channel_map = vc4_hdmi_channel_map, @@ -69,7 +69,7 @@ Signed-off-by: Dave Stevenson }; static const struct vc4_hdmi_variant bcm2711_hdmi0_variant = { -@@ -2323,6 +2349,7 @@ static const struct vc4_hdmi_variant bcm +@@ -2325,6 +2351,7 @@ static const struct vc4_hdmi_variant bcm .phy_rng_enable = vc5_hdmi_phy_rng_enable, .phy_rng_disable = vc5_hdmi_phy_rng_disable, .channel_map = vc5_hdmi_channel_map, @@ -77,7 +77,7 @@ Signed-off-by: Dave Stevenson }; static const struct vc4_hdmi_variant bcm2711_hdmi1_variant = { -@@ -2350,6 +2377,7 @@ static const struct vc4_hdmi_variant bcm +@@ -2352,6 +2379,7 @@ static const struct vc4_hdmi_variant bcm .phy_rng_enable = vc5_hdmi_phy_rng_enable, .phy_rng_disable = vc5_hdmi_phy_rng_disable, .channel_map = vc5_hdmi_channel_map, diff --git a/target/linux/bcm27xx/patches-5.10/950-0505-vc4-drm-Avoid-full-hdmi-audio-fifo-writes.patch b/target/linux/bcm27xx/patches-5.10/950-0505-vc4-drm-Avoid-full-hdmi-audio-fifo-writes.patch index 98e477aec..4f89ad56e 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0505-vc4-drm-Avoid-full-hdmi-audio-fifo-writes.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0505-vc4-drm-Avoid-full-hdmi-audio-fifo-writes.patch @@ -15,7 +15,7 @@ Signed-off-by: Dom Cobley --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -1295,10 +1295,10 @@ static int vc4_hdmi_audio_prepare(struct +@@ -1297,10 +1297,10 @@ static int vc4_hdmi_audio_prepare(struct /* Set the MAI threshold */ HDMI_WRITE(HDMI_MAI_THR, diff --git a/target/linux/bcm27xx/patches-5.10/950-0576-drm-vc4-hdmi-Raise-the-maximum-clock-rate.patch b/target/linux/bcm27xx/patches-5.10/950-0576-drm-vc4-hdmi-Raise-the-maximum-clock-rate.patch index d1deaa884..99fd4f485 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0576-drm-vc4-hdmi-Raise-the-maximum-clock-rate.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0576-drm-vc4-hdmi-Raise-the-maximum-clock-rate.patch @@ -19,7 +19,7 @@ Signed-off-by: Maxime Ripard --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -2432,7 +2432,7 @@ static const struct vc4_hdmi_variant bcm +@@ -2434,7 +2434,7 @@ static const struct vc4_hdmi_variant bcm .encoder_type = VC4_ENCODER_TYPE_HDMI0, .debugfs_name = "hdmi0_regs", .card_name = "vc4-hdmi-0", diff --git a/target/linux/bcm27xx/patches-5.10/950-0592-drm-vc4-Allow-DBLCLK-modes-even-if-horz-timing-is-od.patch b/target/linux/bcm27xx/patches-5.10/950-0592-drm-vc4-Allow-DBLCLK-modes-even-if-horz-timing-is-od.patch deleted file mode 100644 index 459f228c1..000000000 --- a/target/linux/bcm27xx/patches-5.10/950-0592-drm-vc4-Allow-DBLCLK-modes-even-if-horz-timing-is-od.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 9f7c0728efb0036f6f197126aa62da40cdf4713a Mon Sep 17 00:00:00 2001 -From: Dave Stevenson -Date: Wed, 28 Apr 2021 16:14:21 +0100 -Subject: [PATCH] drm/vc4: Allow DBLCLK modes even if horz timing is - odd. - -The 2711 pixel valve can't produce odd horizontal timings, and -checks were added to vc4_hdmi_encoder_atomic_check and -vc4_hdmi_encoder_mode_valid to filter out/block selection of -such modes. - -Modes with DRM_MODE_FLAG_DBLCLK double all the horizontal timing -values before programming them into the PV. The PV values, -therefore, can not be odd, and so the modes can be supported. - -Amend the filtering appropriately. - -See https://github.com/raspberrypi/linux/issues/4307 - -Signed-off-by: Dave Stevenson ---- - drivers/gpu/drm/vc4/vc4_hdmi.c | 2 ++ - 1 file changed, 2 insertions(+) - ---- a/drivers/gpu/drm/vc4/vc4_hdmi.c -+++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -1067,6 +1067,7 @@ static int vc4_hdmi_encoder_atomic_check - unsigned long long tmds_rate; - - if (vc4_hdmi->variant->unsupported_odd_h_timings && -+ !(mode->flags & DRM_MODE_FLAG_DBLCLK) && - ((mode->hdisplay % 2) || (mode->hsync_start % 2) || - (mode->hsync_end % 2) || (mode->htotal % 2))) - return -EINVAL; -@@ -1111,6 +1112,7 @@ vc4_hdmi_encoder_mode_valid(struct drm_e - struct vc4_hdmi *vc4_hdmi = encoder_to_vc4_hdmi(encoder); - - if (vc4_hdmi->variant->unsupported_odd_h_timings && -+ !(mode->flags & DRM_MODE_FLAG_DBLCLK) && - ((mode->hdisplay % 2) || (mode->hsync_start % 2) || - (mode->hsync_end % 2) || (mode->htotal % 2))) - return MODE_H_ILLEGAL; diff --git a/target/linux/bcm27xx/patches-5.10/950-0650-Support-RPi-DPI-interface-in-mode6-for-18-bit-color.patch b/target/linux/bcm27xx/patches-5.10/950-0650-Support-RPi-DPI-interface-in-mode6-for-18-bit-color.patch index 56a1e6862..a5fe88856 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0650-Support-RPi-DPI-interface-in-mode6-for-18-bit-color.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0650-Support-RPi-DPI-interface-in-mode6-for-18-bit-color.patch @@ -118,7 +118,7 @@ Signed-off-by: Joerg Quinten - MEDIA_BUS_FMT_RGB666_1X24_CPADHI --- a/drivers/gpu/drm/panel/panel-simple.c +++ b/drivers/gpu/drm/panel/panel-simple.c -@@ -2093,6 +2093,38 @@ static const struct panel_desc innolux_a +@@ -2094,6 +2094,38 @@ static const struct panel_desc innolux_a .bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE, }; @@ -157,7 +157,7 @@ Signed-off-by: Joerg Quinten static const struct drm_display_mode innolux_at070tn92_mode = { .clock = 33333, .hdisplay = 800, -@@ -4076,6 +4108,9 @@ static const struct of_device_id platfor +@@ -4077,6 +4109,9 @@ static const struct of_device_id platfor .compatible = "innolux,at043tn24", .data = &innolux_at043tn24, }, { diff --git a/target/linux/bcm27xx/patches-5.10/950-0738-Makefiles-dt-Always-set-on-ARCH_BCM2835.patch b/target/linux/bcm27xx/patches-5.10/950-0738-Makefiles-dt-Always-set-on-ARCH_BCM2835.patch index 0cb30474b..db966ef86 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0738-Makefiles-dt-Always-set-on-ARCH_BCM2835.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0738-Makefiles-dt-Always-set-on-ARCH_BCM2835.patch @@ -17,7 +17,7 @@ Signed-off-by: Phil Elwell --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile -@@ -1432,5 +1432,5 @@ subdir-y := overlays +@@ -1433,5 +1433,5 @@ subdir-y := overlays # Enable fixups to support overlays on BCM2835 platforms ifeq ($(CONFIG_ARCH_BCM2835),y) diff --git a/target/linux/generic/backport-5.10/610-v5.13-10-netfilter-nftables-update-table-flags-from-the-commi.patch b/target/linux/generic/backport-5.10/610-v5.13-10-netfilter-nftables-update-table-flags-from-the-commi.patch index 56f68feac..fa6e0c417 100644 --- a/target/linux/generic/backport-5.10/610-v5.13-10-netfilter-nftables-update-table-flags-from-the-commi.patch +++ b/target/linux/generic/backport-5.10/610-v5.13-10-netfilter-nftables-update-table-flags-from-the-commi.patch @@ -70,7 +70,7 @@ Signed-off-by: Pablo Neira Ayuso nft_trans_table_update(trans) = true; list_add_tail(&trans->list, &ctx->net->nft.commit_list); return 0; -@@ -7903,11 +7907,10 @@ static int nf_tables_commit(struct net * +@@ -7908,11 +7912,10 @@ static int nf_tables_commit(struct net * switch (trans->msg_type) { case NFT_MSG_NEWTABLE: if (nft_trans_table_update(trans)) { @@ -86,7 +86,7 @@ Signed-off-by: Pablo Neira Ayuso } else { nft_clear(net, trans->ctx.table); } -@@ -8120,11 +8123,9 @@ static int __nf_tables_abort(struct net +@@ -8125,11 +8128,9 @@ static int __nf_tables_abort(struct net switch (trans->msg_type) { case NFT_MSG_NEWTABLE: if (nft_trans_table_update(trans)) { diff --git a/target/linux/generic/hack-5.15/402-mtd-blktrans-call-add-disks-after-mtd-device.patch b/target/linux/generic/hack-5.15/402-mtd-blktrans-call-add-disks-after-mtd-device.patch index c9821b57e..d0f81c485 100644 --- a/target/linux/generic/hack-5.15/402-mtd-blktrans-call-add-disks-after-mtd-device.patch +++ b/target/linux/generic/hack-5.15/402-mtd-blktrans-call-add-disks-after-mtd-device.patch @@ -77,7 +77,7 @@ Signed-off-by: Daniel Golle #include "mtdcore.h" -@@ -1000,6 +1001,8 @@ int mtd_device_parse_register(struct mtd +@@ -1002,6 +1003,8 @@ int mtd_device_parse_register(struct mtd ret = mtd_otp_nvmem_add(mtd); diff --git a/target/linux/generic/hack-5.15/420-mtd-set-rootfs-to-be-root-dev.patch b/target/linux/generic/hack-5.15/420-mtd-set-rootfs-to-be-root-dev.patch index aa1d4df0f..9ff1e7a12 100644 --- a/target/linux/generic/hack-5.15/420-mtd-set-rootfs-to-be-root-dev.patch +++ b/target/linux/generic/hack-5.15/420-mtd-set-rootfs-to-be-root-dev.patch @@ -20,7 +20,7 @@ Signed-off-by: Gabor Juhos #include #include -@@ -696,6 +697,19 @@ int add_mtd_device(struct mtd_info *mtd) +@@ -697,6 +698,19 @@ int add_mtd_device(struct mtd_info *mtd) of this try_ nonsense, and no bitching about it either. :) */ __module_get(THIS_MODULE); diff --git a/target/linux/generic/hack-5.15/710-net-dsa-mv88e6xxx-default-VID-1.patch b/target/linux/generic/hack-5.15/710-net-dsa-mv88e6xxx-default-VID-1.patch index 7a41fe360..fd6731ad1 100644 --- a/target/linux/generic/hack-5.15/710-net-dsa-mv88e6xxx-default-VID-1.patch +++ b/target/linux/generic/hack-5.15/710-net-dsa-mv88e6xxx-default-VID-1.patch @@ -8,7 +8,7 @@ mv88e6xxx_reg_lock(chip); err = mv88e6xxx_port_db_load_purge(chip, port, addr, vid, MV88E6XXX_G1_ATU_DATA_STATE_UC_STATIC); -@@ -2342,6 +2342,7 @@ static int mv88e6xxx_port_fdb_del(struct +@@ -2342,6 +2343,7 @@ static int mv88e6xxx_port_fdb_del(struct struct mv88e6xxx_chip *chip = ds->priv; int err; diff --git a/target/linux/generic/hack-5.15/711-net-dsa-mv88e6xxx-disable-ATU-violation.patch b/target/linux/generic/hack-5.15/711-net-dsa-mv88e6xxx-disable-ATU-violation.patch index 34fe2ae6a..422c3d6fd 100644 --- a/target/linux/generic/hack-5.15/711-net-dsa-mv88e6xxx-disable-ATU-violation.patch +++ b/target/linux/generic/hack-5.15/711-net-dsa-mv88e6xxx-disable-ATU-violation.patch @@ -1,6 +1,6 @@ --- a/drivers/net/dsa/mv88e6xxx/chip.c +++ b/drivers/net/dsa/mv88e6xxx/chip.c -@@ -2988,6 +2988,9 @@ static int mv88e6xxx_setup_port(struct m +@@ -2990,6 +2990,9 @@ static int mv88e6xxx_setup_port(struct m else reg = 1 << port; diff --git a/target/linux/generic/hack-5.15/800-GPIO-add-named-gpio-exports.patch b/target/linux/generic/hack-5.15/800-GPIO-add-named-gpio-exports.patch index 2137abdbe..f24fe9d19 100644 --- a/target/linux/generic/hack-5.15/800-GPIO-add-named-gpio-exports.patch +++ b/target/linux/generic/hack-5.15/800-GPIO-add-named-gpio-exports.patch @@ -138,7 +138,7 @@ Signed-off-by: John Crispin { struct gpio_chip *chip; struct gpio_device *gdev; -@@ -626,6 +626,8 @@ int gpiod_export(struct gpio_desc *desc, +@@ -623,6 +623,8 @@ int gpiod_export(struct gpio_desc *desc, offset = gpio_chip_hwgpio(desc); if (chip->names && chip->names[offset]) ioname = chip->names[offset]; @@ -147,7 +147,7 @@ Signed-off-by: John Crispin dev = device_create_with_groups(&gpio_class, &gdev->dev, MKDEV(0, 0), data, gpio_groups, -@@ -647,6 +649,12 @@ err_unlock: +@@ -644,6 +646,12 @@ err_unlock: gpiod_dbg(desc, "%s: status %d\n", __func__, status); return status; } diff --git a/target/linux/generic/hack-5.15/902-debloat_proc.patch b/target/linux/generic/hack-5.15/902-debloat_proc.patch index 1e458d052..4852071d5 100644 --- a/target/linux/generic/hack-5.15/902-debloat_proc.patch +++ b/target/linux/generic/hack-5.15/902-debloat_proc.patch @@ -341,7 +341,7 @@ Signed-off-by: Felix Fietkau --- a/net/ipv4/fib_trie.c +++ b/net/ipv4/fib_trie.c -@@ -3018,11 +3018,13 @@ static const struct seq_operations fib_r +@@ -3019,11 +3019,13 @@ static const struct seq_operations fib_r int __net_init fib_proc_init(struct net *net) { @@ -357,7 +357,7 @@ Signed-off-by: Felix Fietkau fib_triestat_seq_show, NULL)) goto out2; -@@ -3033,17 +3035,21 @@ int __net_init fib_proc_init(struct net +@@ -3034,17 +3036,21 @@ int __net_init fib_proc_init(struct net return 0; out3: diff --git a/target/linux/generic/hack-5.15/952-add-net-conntrack-events-support-multiple-registrant.patch b/target/linux/generic/hack-5.15/952-add-net-conntrack-events-support-multiple-registrant.patch index b6c83a1ba..f237b48ab 100644 --- a/target/linux/generic/hack-5.15/952-add-net-conntrack-events-support-multiple-registrant.patch +++ b/target/linux/generic/hack-5.15/952-add-net-conntrack-events-support-multiple-registrant.patch @@ -20,8 +20,6 @@ Signed-off-by: Zhi Chen net/netfilter/nf_conntrack_netlink.c | 17 ++++ 6 files changed, 146 insertions(+), 4 deletions(-) -diff --git a/include/net/netfilter/nf_conntrack_ecache.h b/include/net/netfilter/nf_conntrack_ecache.h -index d932e22ed..c45657013 100644 --- a/include/net/netfilter/nf_conntrack_ecache.h +++ b/include/net/netfilter/nf_conntrack_ecache.h @@ -83,9 +83,14 @@ struct nf_ct_event_notifier { @@ -55,7 +53,7 @@ index d932e22ed..c45657013 100644 e = nf_ct_ecache_find(ct); if (e == NULL) -@@ -130,10 +137,12 @@ nf_conntrack_event_report(enum ip_conntrack_events event, struct nf_conn *ct, +@@ -130,10 +137,12 @@ nf_conntrack_event_report(enum ip_conntr u32 portid, int report) { #ifdef CONFIG_NF_CONNTRACK_EVENTS @@ -81,11 +79,9 @@ index d932e22ed..c45657013 100644 return nf_conntrack_eventmask_report(1 << event, ct, 0, 0); #else -diff --git a/include/net/netns/conntrack.h b/include/net/netns/conntrack.h -index 0294f3d47..9bc2a1eba 100644 --- a/include/net/netns/conntrack.h +++ b/include/net/netns/conntrack.h -@@ -112,6 +112,9 @@ struct netns_ct { +@@ -113,6 +113,9 @@ struct netns_ct { struct ct_pcpu __percpu *pcpu_lists; struct ip_conntrack_stat __percpu *stat; @@ -95,8 +91,6 @@ index 0294f3d47..9bc2a1eba 100644 struct nf_ct_event_notifier __rcu *nf_conntrack_event_cb; struct nf_ip_net nf_ct_proto; #if defined(CONFIG_NF_CONNTRACK_LABELS) -diff --git a/net/netfilter/Kconfig b/net/netfilter/Kconfig -index 92a747896..258bdeac9 100644 --- a/net/netfilter/Kconfig +++ b/net/netfilter/Kconfig @@ -151,6 +151,14 @@ config NF_CONNTRACK_EVENTS @@ -114,11 +108,9 @@ index 92a747896..258bdeac9 100644 config NF_CONNTRACK_TIMEOUT bool 'Connection tracking timeout' depends on NETFILTER_ADVANCED -diff --git a/net/netfilter/nf_conntrack_core.c b/net/netfilter/nf_conntrack_core.c -index 4712a90a1..ac05af611 100644 --- a/net/netfilter/nf_conntrack_core.c +++ b/net/netfilter/nf_conntrack_core.c -@@ -2825,6 +2825,10 @@ int nf_conntrack_init_net(struct net *net) +@@ -2827,6 +2827,10 @@ int nf_conntrack_init_net(struct net *ne nf_conntrack_helper_pernet_init(net); nf_conntrack_proto_pernet_init(net); @@ -129,8 +121,6 @@ index 4712a90a1..ac05af611 100644 return 0; err_expect: -diff --git a/net/netfilter/nf_conntrack_ecache.c b/net/netfilter/nf_conntrack_ecache.c -index 41768ff19..9d8075db0 100644 --- a/net/netfilter/nf_conntrack_ecache.c +++ b/net/netfilter/nf_conntrack_ecache.c @@ -18,6 +18,9 @@ @@ -143,7 +133,7 @@ index 41768ff19..9d8075db0 100644 #include #include #include -@@ -167,6 +170,35 @@ static int __nf_conntrack_eventmask_report(struct nf_conntrack_ecache *e, +@@ -167,6 +170,35 @@ static int __nf_conntrack_eventmask_repo return ret; } @@ -179,7 +169,7 @@ index 41768ff19..9d8075db0 100644 int nf_conntrack_eventmask_report(unsigned int events, struct nf_conn *ct, u32 portid, int report) { -@@ -203,10 +235,52 @@ int nf_conntrack_eventmask_report(unsigned int events, struct nf_conn *ct, +@@ -203,10 +235,52 @@ int nf_conntrack_eventmask_report(unsign return ret; } @@ -232,7 +222,7 @@ index 41768ff19..9d8075db0 100644 void nf_ct_deliver_cached_events(struct nf_conn *ct) { struct nf_conntrack_ecache *e; -@@ -232,6 +306,7 @@ void nf_ct_deliver_cached_events(struct nf_conn *ct) +@@ -232,6 +306,7 @@ void nf_ct_deliver_cached_events(struct */ __nf_conntrack_eventmask_report(e, events, e->missed, &item); } @@ -286,7 +276,7 @@ index 41768ff19..9d8075db0 100644 void nf_conntrack_unregister_notifier(struct net *net) { mutex_lock(&nf_ct_ecache_mutex); -@@ -285,6 +383,7 @@ void nf_conntrack_unregister_notifier(struct net *net) +@@ -285,6 +383,7 @@ void nf_conntrack_unregister_notifier(st mutex_unlock(&nf_ct_ecache_mutex); /* synchronize_rcu() is called after netns pre_exit */ } @@ -294,11 +284,9 @@ index 41768ff19..9d8075db0 100644 EXPORT_SYMBOL_GPL(nf_conntrack_unregister_notifier); void nf_conntrack_ecache_work(struct net *net, enum nf_ct_ecache_state state) -diff --git a/net/netfilter/nf_conntrack_netlink.c b/net/netfilter/nf_conntrack_netlink.c -index 81d03acf6..f99de87c1 100644 --- a/net/netfilter/nf_conntrack_netlink.c +++ b/net/netfilter/nf_conntrack_netlink.c -@@ -706,12 +706,19 @@ static size_t ctnetlink_nlmsg_size(const struct nf_conn *ct) +@@ -706,12 +706,19 @@ static size_t ctnetlink_nlmsg_size(const } static int @@ -318,7 +306,7 @@ index 81d03acf6..f99de87c1 100644 struct nf_conn *ct = item->ct; struct sk_buff *skb; unsigned int type; -@@ -3760,11 +3767,17 @@ static int ctnetlink_stat_exp_cpu(struct sk_buff *skb, +@@ -3761,11 +3768,17 @@ static int ctnetlink_stat_exp_cpu(struct } #ifdef CONFIG_NF_CONNTRACK_EVENTS @@ -336,7 +324,7 @@ index 81d03acf6..f99de87c1 100644 static const struct nfnl_callback ctnl_cb[IPCTNL_MSG_MAX] = { [IPCTNL_MSG_CT_NEW] = { -@@ -3863,8 +3876,12 @@ static int __net_init ctnetlink_net_init(struct net *net) +@@ -3864,8 +3877,12 @@ static int __net_init ctnetlink_net_init static void ctnetlink_net_pre_exit(struct net *net) { #ifdef CONFIG_NF_CONNTRACK_EVENTS @@ -349,6 +337,3 @@ index 81d03acf6..f99de87c1 100644 } static struct pernet_operations ctnetlink_net_ops = { --- -2.17.1 - diff --git a/target/linux/generic/hack-5.15/953-net-patch-linux-kernel-to-support-shortcut-fe.patch b/target/linux/generic/hack-5.15/953-net-patch-linux-kernel-to-support-shortcut-fe.patch index b763354f2..361cf8d29 100644 --- a/target/linux/generic/hack-5.15/953-net-patch-linux-kernel-to-support-shortcut-fe.patch +++ b/target/linux/generic/hack-5.15/953-net-patch-linux-kernel-to-support-shortcut-fe.patch @@ -1,8 +1,6 @@ -diff --git a/include/linux/if_bridge.h b/include/linux/if_bridge.h -index 509e18c7e..d0ea4afbb 100644 --- a/include/linux/if_bridge.h +++ b/include/linux/if_bridge.h -@@ -68,6 +68,9 @@ void brioctl_set(int (*hook)(struct net *net, struct net_bridge *br, +@@ -69,6 +69,9 @@ void brioctl_set(int (*hook)(struct net int br_ioctl_call(struct net *net, struct net_bridge *br, unsigned int cmd, struct ifreq *ifr, void __user *uarg); @@ -12,11 +10,9 @@ index 509e18c7e..d0ea4afbb 100644 #if IS_ENABLED(CONFIG_BRIDGE) && IS_ENABLED(CONFIG_BRIDGE_IGMP_SNOOPING) int br_multicast_list_adjacent(struct net_device *dev, struct list_head *br_ip_list); -diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h -index b8c273af2..2e238037c 100644 --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h -@@ -873,6 +873,10 @@ struct sk_buff { +@@ -877,6 +877,10 @@ struct sk_buff { #endif __u8 slow_gro:1; @@ -27,8 +23,6 @@ index b8c273af2..2e238037c 100644 #ifdef CONFIG_NET_SCHED __u16 tc_index; /* traffic control index */ #endif -diff --git a/include/linux/timer.h b/include/linux/timer.h -index fda13c9d1..b69492fd4 100644 --- a/include/linux/timer.h +++ b/include/linux/timer.h @@ -18,6 +18,10 @@ struct timer_list { @@ -42,8 +36,6 @@ index fda13c9d1..b69492fd4 100644 #ifdef CONFIG_LOCKDEP struct lockdep_map lockdep_map; #endif -diff --git a/include/net/netfilter/nf_conntrack_ecache.h b/include/net/netfilter/nf_conntrack_ecache.h -index c45657013..3c02392ea 100644 --- a/include/net/netfilter/nf_conntrack_ecache.h +++ b/include/net/netfilter/nf_conntrack_ecache.h @@ -86,6 +86,8 @@ struct nf_ct_event_notifier { @@ -55,11 +47,9 @@ index c45657013..3c02392ea 100644 #else int nf_conntrack_register_notifier(struct net *net, const struct nf_ct_event_notifier *nb); -diff --git a/net/Kconfig b/net/Kconfig -index fb13460c6..2e926a2ed 100644 --- a/net/Kconfig +++ b/net/Kconfig -@@ -447,6 +447,9 @@ config FAILOVER +@@ -456,6 +456,9 @@ config FAILOVER migration of VMs with direct attached VFs by failing over to the paravirtual datapath when the VF is unplugged. @@ -69,11 +59,9 @@ index fb13460c6..2e926a2ed 100644 config ETHTOOL_NETLINK bool "Netlink interface for ethtool" default y -diff --git a/net/bridge/br_if.c b/net/bridge/br_if.c -index 4a02f8bb2..8a85ab557 100644 --- a/net/bridge/br_if.c +++ b/net/bridge/br_if.c -@@ -773,6 +773,28 @@ void br_port_flags_change(struct net_bridge_port *p, unsigned long mask) +@@ -773,6 +773,28 @@ void br_port_flags_change(struct net_bri br_recalculate_neigh_suppress_enabled(br); } @@ -102,11 +90,9 @@ index 4a02f8bb2..8a85ab557 100644 bool br_port_flag_is_set(const struct net_device *dev, unsigned long flag) { struct net_bridge_port *p; -diff --git a/net/core/dev.c b/net/core/dev.c -index e0878a500..4a9846b64 100644 --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -3574,9 +3574,17 @@ static int xmit_one(struct sk_buff *skb, struct net_device *dev, +@@ -3574,9 +3574,17 @@ static int xmit_one(struct sk_buff *skb, { unsigned int len; int rc; @@ -125,7 +111,7 @@ index e0878a500..4a9846b64 100644 #ifdef CONFIG_ETHERNET_PACKET_MANGLE if (dev->eth_mangle_tx && !(skb = dev->eth_mangle_tx(dev, skb))) -@@ -5198,6 +5205,11 @@ void netdev_rx_handler_unregister(struct net_device *dev) +@@ -5203,6 +5211,11 @@ void netdev_rx_handler_unregister(struct } EXPORT_SYMBOL_GPL(netdev_rx_handler_unregister); @@ -137,7 +123,7 @@ index e0878a500..4a9846b64 100644 /* * Limit the use of PFMEMALLOC reserves to those protocols that implement * the special handling of PFMEMALLOC skbs. -@@ -5246,6 +5258,10 @@ static int __netif_receive_skb_core(struct sk_buff **pskb, bool pfmemalloc, +@@ -5251,6 +5264,10 @@ static int __netif_receive_skb_core(stru int ret = NET_RX_DROP; __be16 type; @@ -148,7 +134,7 @@ index e0878a500..4a9846b64 100644 net_timestamp_check(!netdev_tstamp_prequeue, skb); trace_netif_receive_skb(skb); -@@ -5283,6 +5299,15 @@ another_round: +@@ -5288,6 +5305,15 @@ another_round: goto out; } @@ -164,11 +150,9 @@ index e0878a500..4a9846b64 100644 if (skb_skip_tc_classify(skb)) goto skip_classify; -diff --git a/net/netfilter/nf_conntrack_ecache.c b/net/netfilter/nf_conntrack_ecache.c -index 9d8075db0..fc49b77e4 100644 --- a/net/netfilter/nf_conntrack_ecache.c +++ b/net/netfilter/nf_conntrack_ecache.c -@@ -149,12 +149,23 @@ static int __nf_conntrack_eventmask_report(struct nf_conntrack_ecache *e, +@@ -149,12 +149,23 @@ static int __nf_conntrack_eventmask_repo rcu_read_lock(); notify = rcu_dereference(net->ct.nf_conntrack_event_cb); @@ -194,7 +178,7 @@ index 9d8075db0..fc49b77e4 100644 rcu_read_unlock(); if (likely(ret >= 0 && missed == 0)) -@@ -345,6 +356,11 @@ int nf_conntrack_register_notifier(struct net *net, +@@ -345,6 +356,11 @@ int nf_conntrack_register_notifier(struc { return atomic_notifier_chain_register(&net->ct.nf_conntrack_chain, nb); } @@ -206,7 +190,7 @@ index 9d8075db0..fc49b77e4 100644 #else int nf_conntrack_register_notifier(struct net *net, const struct nf_ct_event_notifier *new) -@@ -375,6 +391,11 @@ int nf_conntrack_unregister_notifier(struct net *net, struct notifier_block *nb) +@@ -375,6 +391,11 @@ int nf_conntrack_unregister_notifier(str { return atomic_notifier_chain_unregister(&net->ct.nf_conntrack_chain, nb); } diff --git a/target/linux/generic/pending-5.10/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch b/target/linux/generic/pending-5.10/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch index 68edf37bf..d85735531 100644 --- a/target/linux/generic/pending-5.10/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch +++ b/target/linux/generic/pending-5.10/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch @@ -20,7 +20,7 @@ Signed-off-by: Jonas Gorski --- a/include/net/netns/ipv6.h +++ b/include/net/netns/ipv6.h -@@ -87,6 +87,7 @@ struct netns_ipv6 { +@@ -88,6 +88,7 @@ struct netns_ipv6 { unsigned int fib6_routes_require_src; #endif struct rt6_info *ip6_prohibit_entry; diff --git a/target/linux/generic/pending-5.10/768-net-dsa-mv88e6xxx-Request-assisted-learning-on-CPU-port.patch b/target/linux/generic/pending-5.10/768-net-dsa-mv88e6xxx-Request-assisted-learning-on-CPU-port.patch index 99f42ff21..924740114 100644 --- a/target/linux/generic/pending-5.10/768-net-dsa-mv88e6xxx-Request-assisted-learning-on-CPU-port.patch +++ b/target/linux/generic/pending-5.10/768-net-dsa-mv88e6xxx-Request-assisted-learning-on-CPU-port.patch @@ -17,7 +17,7 @@ Signed-off-by: Tobias Waldekranz --- a/drivers/net/dsa/mv88e6xxx/chip.c +++ b/drivers/net/dsa/mv88e6xxx/chip.c -@@ -5431,6 +5431,7 @@ static int mv88e6xxx_register_switch(str +@@ -5436,6 +5436,7 @@ static int mv88e6xxx_register_switch(str ds->ops = &mv88e6xxx_switch_ops; ds->ageing_time_min = chip->info->age_time_coeff; ds->ageing_time_max = chip->info->age_time_coeff * U8_MAX; diff --git a/target/linux/generic/pending-5.10/834-ledtrig-libata.patch b/target/linux/generic/pending-5.10/834-ledtrig-libata.patch index e43a97bfe..25cffb144 100644 --- a/target/linux/generic/pending-5.10/834-ledtrig-libata.patch +++ b/target/linux/generic/pending-5.10/834-ledtrig-libata.patch @@ -65,7 +65,7 @@ Signed-off-by: Daniel Golle /** * ata_build_rw_tf - Build ATA taskfile for given read/write request * @tf: Target ATA taskfile -@@ -4547,6 +4560,9 @@ struct ata_queued_cmd *ata_qc_new_init(s +@@ -4548,6 +4561,9 @@ struct ata_queued_cmd *ata_qc_new_init(s if (tag < 0) return NULL; } @@ -75,7 +75,7 @@ Signed-off-by: Daniel Golle qc = __ata_qc_from_tag(ap, tag); qc->tag = qc->hw_tag = tag; -@@ -5325,6 +5341,9 @@ struct ata_port *ata_port_alloc(struct a +@@ -5326,6 +5342,9 @@ struct ata_port *ata_port_alloc(struct a ap->stats.unhandled_irq = 1; ap->stats.idle_irq = 1; #endif @@ -85,7 +85,7 @@ Signed-off-by: Daniel Golle ata_sff_port_init(ap); return ap; -@@ -5360,6 +5379,12 @@ static void ata_host_release(struct kref +@@ -5361,6 +5380,12 @@ static void ata_host_release(struct kref kfree(ap->pmp_link); kfree(ap->slave_link); @@ -98,7 +98,7 @@ Signed-off-by: Daniel Golle kfree(ap); host->ports[i] = NULL; } -@@ -5766,7 +5791,23 @@ int ata_host_register(struct ata_host *h +@@ -5767,7 +5792,23 @@ int ata_host_register(struct ata_host *h host->ports[i]->print_id = atomic_inc_return(&ata_print_id); host->ports[i]->local_port_no = i + 1; } diff --git a/target/linux/generic/pending-5.15/100-compiler.h-only-include-asm-rwonce.h-for-kernel-code.patch b/target/linux/generic/pending-5.15/100-compiler.h-only-include-asm-rwonce.h-for-kernel-code.patch index c90806157..22f52c1d4 100644 --- a/target/linux/generic/pending-5.15/100-compiler.h-only-include-asm-rwonce.h-for-kernel-code.patch +++ b/target/linux/generic/pending-5.15/100-compiler.h-only-include-asm-rwonce.h-for-kernel-code.patch @@ -11,7 +11,7 @@ Signed-off-by: Felix Fietkau --- a/include/linux/compiler.h +++ b/include/linux/compiler.h -@@ -231,6 +231,8 @@ void ftrace_likely_update(struct ftrace_ +@@ -220,6 +220,8 @@ void ftrace_likely_update(struct ftrace_ #define function_nocfi(x) (x) #endif @@ -20,7 +20,7 @@ Signed-off-by: Felix Fietkau #endif /* __KERNEL__ */ /* -@@ -263,6 +265,4 @@ static inline void *offset_to_ptr(const +@@ -252,6 +254,4 @@ static inline void *offset_to_ptr(const */ #define prevent_tail_call_optimization() mb() diff --git a/target/linux/generic/pending-5.15/495-mtd-core-add-get_mtd_device_by_node.patch b/target/linux/generic/pending-5.15/495-mtd-core-add-get_mtd_device_by_node.patch index 14fad125c..a708a46b0 100644 --- a/target/linux/generic/pending-5.15/495-mtd-core-add-get_mtd_device_by_node.patch +++ b/target/linux/generic/pending-5.15/495-mtd-core-add-get_mtd_device_by_node.patch @@ -17,7 +17,7 @@ Reviewed-by: Miquel Raynal --- a/drivers/mtd/mtdcore.c +++ b/drivers/mtd/mtdcore.c -@@ -1201,6 +1201,44 @@ out_unlock: +@@ -1203,6 +1203,44 @@ out_unlock: } EXPORT_SYMBOL_GPL(get_mtd_device_nm); diff --git a/target/linux/generic/pending-5.15/613-netfilter_optional_tcp_window_check.patch b/target/linux/generic/pending-5.15/613-netfilter_optional_tcp_window_check.patch index db0b17845..af6bee7db 100644 --- a/target/linux/generic/pending-5.15/613-netfilter_optional_tcp_window_check.patch +++ b/target/linux/generic/pending-5.15/613-netfilter_optional_tcp_window_check.patch @@ -37,7 +37,7 @@ Signed-off-by: Felix Fietkau __NF_SYSCTL_CT_LAST_SYSCTL, }; -@@ -1026,6 +1027,15 @@ static struct ctl_table nf_ct_sysctl_table[] = { +@@ -1026,6 +1027,15 @@ static struct ctl_table nf_ct_sysctl_tab .proc_handler = nf_hooks_lwtunnel_sysctl_handler, }, #endif @@ -53,7 +53,7 @@ Signed-off-by: Felix Fietkau {} }; -@@ -1153,6 +1163,7 @@ static int nf_conntrack_standalone_init_sysctl(struct net *net) +@@ -1153,6 +1163,7 @@ static int nf_conntrack_standalone_init_ #ifdef CONFIG_NF_CONNTRACK_EVENTS table[NF_SYSCTL_CT_EVENTS].data = &net->ct.sysctl_events; #endif @@ -61,7 +61,7 @@ Signed-off-by: Felix Fietkau #ifdef CONFIG_NF_CONNTRACK_TIMESTAMP table[NF_SYSCTL_CT_TIMESTAMP].data = &net->ct.sysctl_tstamp; #endif -@@ -1222,6 +1233,7 @@ static int nf_conntrack_pernet_init(struct net *net) +@@ -1222,6 +1233,7 @@ static int nf_conntrack_pernet_init(stru int ret; net->ct.sysctl_checksum = 1; diff --git a/target/linux/generic/pending-5.15/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch b/target/linux/generic/pending-5.15/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch index 05a4a5ee1..3fb053ab4 100644 --- a/target/linux/generic/pending-5.15/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch +++ b/target/linux/generic/pending-5.15/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch @@ -185,7 +185,7 @@ Signed-off-by: Jonas Gorski cfg->fc_flags |= RTF_REJECT; if (rtm->rtm_type == RTN_LOCAL) -@@ -6291,6 +6322,8 @@ static int ip6_route_dev_notify(struct n +@@ -6292,6 +6323,8 @@ static int ip6_route_dev_notify(struct n #ifdef CONFIG_IPV6_MULTIPLE_TABLES net->ipv6.ip6_prohibit_entry->dst.dev = dev; net->ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(dev); @@ -194,7 +194,7 @@ Signed-off-by: Jonas Gorski net->ipv6.ip6_blk_hole_entry->dst.dev = dev; net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev); #endif -@@ -6302,6 +6335,7 @@ static int ip6_route_dev_notify(struct n +@@ -6303,6 +6336,7 @@ static int ip6_route_dev_notify(struct n in6_dev_put_clear(&net->ipv6.ip6_null_entry->rt6i_idev); #ifdef CONFIG_IPV6_MULTIPLE_TABLES in6_dev_put_clear(&net->ipv6.ip6_prohibit_entry->rt6i_idev); @@ -202,7 +202,7 @@ Signed-off-by: Jonas Gorski in6_dev_put_clear(&net->ipv6.ip6_blk_hole_entry->rt6i_idev); #endif } -@@ -6493,6 +6527,8 @@ static int __net_init ip6_route_net_init +@@ -6494,6 +6528,8 @@ static int __net_init ip6_route_net_init #ifdef CONFIG_IPV6_MULTIPLE_TABLES net->ipv6.fib6_has_custom_rules = false; @@ -211,7 +211,7 @@ Signed-off-by: Jonas Gorski net->ipv6.ip6_prohibit_entry = kmemdup(&ip6_prohibit_entry_template, sizeof(*net->ipv6.ip6_prohibit_entry), GFP_KERNEL); -@@ -6503,11 +6539,21 @@ static int __net_init ip6_route_net_init +@@ -6504,11 +6540,21 @@ static int __net_init ip6_route_net_init ip6_template_metrics, true); INIT_LIST_HEAD(&net->ipv6.ip6_prohibit_entry->rt6i_uncached); @@ -234,7 +234,7 @@ Signed-off-by: Jonas Gorski net->ipv6.ip6_blk_hole_entry->dst.ops = &net->ipv6.ip6_dst_ops; dst_init_metrics(&net->ipv6.ip6_blk_hole_entry->dst, ip6_template_metrics, true); -@@ -6534,6 +6580,8 @@ out: +@@ -6535,6 +6581,8 @@ out: return ret; #ifdef CONFIG_IPV6_MULTIPLE_TABLES @@ -243,7 +243,7 @@ Signed-off-by: Jonas Gorski out_ip6_prohibit_entry: kfree(net->ipv6.ip6_prohibit_entry); out_ip6_null_entry: -@@ -6553,6 +6601,7 @@ static void __net_exit ip6_route_net_exi +@@ -6554,6 +6602,7 @@ static void __net_exit ip6_route_net_exi kfree(net->ipv6.ip6_null_entry); #ifdef CONFIG_IPV6_MULTIPLE_TABLES kfree(net->ipv6.ip6_prohibit_entry); @@ -251,7 +251,7 @@ Signed-off-by: Jonas Gorski kfree(net->ipv6.ip6_blk_hole_entry); #endif dst_entries_destroy(&net->ipv6.ip6_dst_ops); -@@ -6630,6 +6679,9 @@ void __init ip6_route_init_special_entri +@@ -6631,6 +6680,9 @@ void __init ip6_route_init_special_entri init_net.ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev); init_net.ipv6.ip6_blk_hole_entry->dst.dev = init_net.loopback_dev; init_net.ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev); diff --git a/target/linux/generic/pending-5.15/710-bridge-add-knob-for-filtering-rx-tx-BPDU-pack.patch b/target/linux/generic/pending-5.15/710-bridge-add-knob-for-filtering-rx-tx-BPDU-pack.patch index 516f545b1..f30887fcc 100644 --- a/target/linux/generic/pending-5.15/710-bridge-add-knob-for-filtering-rx-tx-BPDU-pack.patch +++ b/target/linux/generic/pending-5.15/710-bridge-add-knob-for-filtering-rx-tx-BPDU-pack.patch @@ -161,7 +161,7 @@ Signed-off-by: Felix Fietkau struct rtnl_link { rtnl_doit_func doit; -@@ -4687,7 +4687,9 @@ int ndo_dflt_bridge_getlink(struct sk_bu +@@ -4689,7 +4689,9 @@ int ndo_dflt_bridge_getlink(struct sk_bu brport_nla_put_flag(skb, flags, mask, IFLA_BRPORT_MCAST_FLOOD, BR_MCAST_FLOOD) || brport_nla_put_flag(skb, flags, mask, diff --git a/target/linux/generic/pending-5.15/768-net-dsa-mv88e6xxx-Request-assisted-learning-on-CPU-port.patch b/target/linux/generic/pending-5.15/768-net-dsa-mv88e6xxx-Request-assisted-learning-on-CPU-port.patch index 2ad843fc5..3a264e3dc 100644 --- a/target/linux/generic/pending-5.15/768-net-dsa-mv88e6xxx-Request-assisted-learning-on-CPU-port.patch +++ b/target/linux/generic/pending-5.15/768-net-dsa-mv88e6xxx-Request-assisted-learning-on-CPU-port.patch @@ -17,7 +17,7 @@ Signed-off-by: Tobias Waldekranz --- a/drivers/net/dsa/mv88e6xxx/chip.c +++ b/drivers/net/dsa/mv88e6xxx/chip.c -@@ -6325,6 +6325,7 @@ static int mv88e6xxx_register_switch(str +@@ -6326,6 +6326,7 @@ static int mv88e6xxx_register_switch(str ds->ops = &mv88e6xxx_switch_ops; ds->ageing_time_min = chip->info->age_time_coeff; ds->ageing_time_max = chip->info->age_time_coeff * U8_MAX; diff --git a/target/linux/generic/pending-5.15/834-ledtrig-libata.patch b/target/linux/generic/pending-5.15/834-ledtrig-libata.patch index ee911e3cf..dca9f333b 100644 --- a/target/linux/generic/pending-5.15/834-ledtrig-libata.patch +++ b/target/linux/generic/pending-5.15/834-ledtrig-libata.patch @@ -65,7 +65,7 @@ Signed-off-by: Daniel Golle /** * ata_build_rw_tf - Build ATA taskfile for given read/write request * @tf: Target ATA taskfile -@@ -4572,6 +4585,9 @@ struct ata_queued_cmd *ata_qc_new_init(s +@@ -4573,6 +4586,9 @@ struct ata_queued_cmd *ata_qc_new_init(s if (tag < 0) return NULL; } @@ -75,7 +75,7 @@ Signed-off-by: Daniel Golle qc = __ata_qc_from_tag(ap, tag); qc->tag = qc->hw_tag = tag; -@@ -5350,6 +5366,9 @@ struct ata_port *ata_port_alloc(struct a +@@ -5351,6 +5367,9 @@ struct ata_port *ata_port_alloc(struct a ap->stats.unhandled_irq = 1; ap->stats.idle_irq = 1; #endif @@ -85,7 +85,7 @@ Signed-off-by: Daniel Golle ata_sff_port_init(ap); return ap; -@@ -5385,6 +5404,12 @@ static void ata_host_release(struct kref +@@ -5386,6 +5405,12 @@ static void ata_host_release(struct kref kfree(ap->pmp_link); kfree(ap->slave_link); @@ -98,7 +98,7 @@ Signed-off-by: Daniel Golle kfree(ap); host->ports[i] = NULL; } -@@ -5791,7 +5816,23 @@ int ata_host_register(struct ata_host *h +@@ -5792,7 +5817,23 @@ int ata_host_register(struct ata_host *h host->ports[i]->print_id = atomic_inc_return(&ata_print_id); host->ports[i]->local_port_no = i + 1; } diff --git a/target/linux/ipq806x/patches-5.10/0069-arm-boot-add-dts-files.patch b/target/linux/ipq806x/patches-5.10/0069-arm-boot-add-dts-files.patch index 6e43c485b..5f8e3fc0e 100644 --- a/target/linux/ipq806x/patches-5.10/0069-arm-boot-add-dts-files.patch +++ b/target/linux/ipq806x/patches-5.10/0069-arm-boot-add-dts-files.patch @@ -10,7 +10,7 @@ Signed-off-by: John Crispin --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile -@@ -907,8 +907,33 @@ dtb-$(CONFIG_ARCH_QCOM) += \ +@@ -908,8 +908,29 @@ dtb-$(CONFIG_ARCH_QCOM) += \ qcom-ipq4019-ap.dk04.1-c3.dtb \ qcom-ipq4019-ap.dk07.1-c1.dtb \ qcom-ipq4019-ap.dk07.1-c2.dtb \ diff --git a/target/linux/ipq806x/patches-5.10/099-1-mtd-nand-raw-qcom_nandc-add-boot_layout_mode-support.patch b/target/linux/ipq806x/patches-5.10/099-1-mtd-nand-raw-qcom_nandc-add-boot_layout_mode-support.patch index 6106dfb8d..37501bc64 100644 --- a/target/linux/ipq806x/patches-5.10/099-1-mtd-nand-raw-qcom_nandc-add-boot_layout_mode-support.patch +++ b/target/linux/ipq806x/patches-5.10/099-1-mtd-nand-raw-qcom_nandc-add-boot_layout_mode-support.patch @@ -16,7 +16,7 @@ Signed-off-by: Ansuel Smith --- a/drivers/mtd/nand/raw/qcom_nandc.c +++ b/drivers/mtd/nand/raw/qcom_nandc.c -@@ -159,6 +159,11 @@ +@@ -158,6 +158,11 @@ /* NAND_CTRL bits */ #define BAM_MODE_EN BIT(0) @@ -28,7 +28,7 @@ Signed-off-by: Ansuel Smith /* * the NAND controller performs reads/writes with ECC in 516 byte chunks. * the driver calls the chunks 'step' or 'codeword' interchangeably -@@ -430,6 +435,13 @@ struct qcom_nand_controller { +@@ -429,6 +434,13 @@ struct qcom_nand_controller { * @cfg0, cfg1, cfg0_raw..: NANDc register configurations needed for * ecc/non-ecc mode for the current nand flash * device @@ -42,7 +42,7 @@ Signed-off-by: Ansuel Smith */ struct qcom_nand_host { struct nand_chip chip; -@@ -452,6 +464,9 @@ struct qcom_nand_host { +@@ -451,6 +463,9 @@ struct qcom_nand_host { u32 ecc_bch_cfg; u32 clrflashstatus; u32 clrreadstatus; @@ -52,7 +52,7 @@ Signed-off-by: Ansuel Smith }; /* -@@ -460,12 +475,14 @@ struct qcom_nand_host { +@@ -459,12 +474,14 @@ struct qcom_nand_host { * @ecc_modes - ecc mode for NAND * @is_bam - whether NAND controller is using BAM * @is_qpic - whether NAND CTRL is part of qpic IP @@ -67,7 +67,7 @@ Signed-off-by: Ansuel Smith u32 dev_cmd_reg_start; }; -@@ -1604,7 +1621,7 @@ qcom_nandc_read_cw_raw(struct mtd_info * +@@ -1603,7 +1620,7 @@ qcom_nandc_read_cw_raw(struct mtd_info * data_size1 = mtd->writesize - host->cw_size * (ecc->steps - 1); oob_size1 = host->bbm_size; @@ -76,7 +76,7 @@ Signed-off-by: Ansuel Smith data_size2 = ecc->size - data_size1 - ((ecc->steps - 1) * 4); oob_size2 = (ecc->steps * 4) + host->ecc_bytes_hw + -@@ -1685,7 +1702,7 @@ check_for_erased_page(struct qcom_nand_h +@@ -1684,7 +1701,7 @@ check_for_erased_page(struct qcom_nand_h } for_each_set_bit(cw, &uncorrectable_cws, ecc->steps) { @@ -85,7 +85,7 @@ Signed-off-by: Ansuel Smith data_size = ecc->size - ((ecc->steps - 1) * 4); oob_size = (ecc->steps * 4) + host->ecc_bytes_hw; } else { -@@ -1844,7 +1861,7 @@ static int read_page_ecc(struct qcom_nan +@@ -1843,7 +1860,7 @@ static int read_page_ecc(struct qcom_nan for (i = 0; i < ecc->steps; i++) { int data_size, oob_size; @@ -94,7 +94,7 @@ Signed-off-by: Ansuel Smith data_size = ecc->size - ((ecc->steps - 1) << 2); oob_size = (ecc->steps << 2) + host->ecc_bytes_hw + host->spare_bytes; -@@ -1941,6 +1958,30 @@ static int copy_last_cw(struct qcom_nand +@@ -1940,6 +1957,30 @@ static int copy_last_cw(struct qcom_nand return ret; } @@ -125,7 +125,7 @@ Signed-off-by: Ansuel Smith /* implements ecc->read_page() */ static int qcom_nandc_read_page(struct nand_chip *chip, uint8_t *buf, int oob_required, int page) -@@ -1949,6 +1990,9 @@ static int qcom_nandc_read_page(struct n +@@ -1948,6 +1989,9 @@ static int qcom_nandc_read_page(struct n struct qcom_nand_controller *nandc = get_qcom_nand_controller(chip); u8 *data_buf, *oob_buf = NULL; @@ -135,7 +135,7 @@ Signed-off-by: Ansuel Smith nand_read_page_op(chip, page, 0, NULL, 0); data_buf = buf; oob_buf = oob_required ? chip->oob_poi : NULL; -@@ -1968,6 +2012,9 @@ static int qcom_nandc_read_page_raw(stru +@@ -1967,6 +2011,9 @@ static int qcom_nandc_read_page_raw(stru int cw, ret; u8 *data_buf = buf, *oob_buf = chip->oob_poi; @@ -145,7 +145,7 @@ Signed-off-by: Ansuel Smith for (cw = 0; cw < ecc->steps; cw++) { ret = qcom_nandc_read_cw_raw(mtd, chip, data_buf, oob_buf, page, cw); -@@ -1988,6 +2035,9 @@ static int qcom_nandc_read_oob(struct na +@@ -1987,6 +2034,9 @@ static int qcom_nandc_read_oob(struct na struct qcom_nand_controller *nandc = get_qcom_nand_controller(chip); struct nand_ecc_ctrl *ecc = &chip->ecc; @@ -155,7 +155,7 @@ Signed-off-by: Ansuel Smith clear_read_regs(nandc); clear_bam_transaction(nandc); -@@ -2008,6 +2058,9 @@ static int qcom_nandc_write_page(struct +@@ -2007,6 +2057,9 @@ static int qcom_nandc_write_page(struct u8 *data_buf, *oob_buf; int i, ret; @@ -165,7 +165,7 @@ Signed-off-by: Ansuel Smith nand_prog_page_begin_op(chip, page, 0, NULL, 0); clear_read_regs(nandc); -@@ -2023,7 +2076,7 @@ static int qcom_nandc_write_page(struct +@@ -2022,7 +2075,7 @@ static int qcom_nandc_write_page(struct for (i = 0; i < ecc->steps; i++) { int data_size, oob_size; @@ -174,7 +174,7 @@ Signed-off-by: Ansuel Smith data_size = ecc->size - ((ecc->steps - 1) << 2); oob_size = (ecc->steps << 2) + host->ecc_bytes_hw + host->spare_bytes; -@@ -2080,6 +2133,9 @@ static int qcom_nandc_write_page_raw(str +@@ -2079,6 +2132,9 @@ static int qcom_nandc_write_page_raw(str u8 *data_buf, *oob_buf; int i, ret; @@ -184,7 +184,7 @@ Signed-off-by: Ansuel Smith nand_prog_page_begin_op(chip, page, 0, NULL, 0); clear_read_regs(nandc); clear_bam_transaction(nandc); -@@ -2098,7 +2154,7 @@ static int qcom_nandc_write_page_raw(str +@@ -2097,7 +2153,7 @@ static int qcom_nandc_write_page_raw(str data_size1 = mtd->writesize - host->cw_size * (ecc->steps - 1); oob_size1 = host->bbm_size; @@ -193,7 +193,7 @@ Signed-off-by: Ansuel Smith data_size2 = ecc->size - data_size1 - ((ecc->steps - 1) << 2); oob_size2 = (ecc->steps << 2) + host->ecc_bytes_hw + -@@ -2158,6 +2214,9 @@ static int qcom_nandc_write_oob(struct n +@@ -2157,6 +2213,9 @@ static int qcom_nandc_write_oob(struct n int data_size, oob_size; int ret; @@ -203,7 +203,7 @@ Signed-off-by: Ansuel Smith host->use_ecc = true; clear_bam_transaction(nandc); -@@ -2806,6 +2865,7 @@ static int qcom_nand_host_init_and_regis +@@ -2805,6 +2864,7 @@ static int qcom_nand_host_init_and_regis struct nand_chip *chip = &host->chip; struct mtd_info *mtd = nand_to_mtd(chip); struct device *dev = nandc->dev; @@ -211,7 +211,7 @@ Signed-off-by: Ansuel Smith int ret; ret = of_property_read_u32(dn, "reg", &host->cs); -@@ -2866,6 +2926,17 @@ static int qcom_nand_host_init_and_regis +@@ -2865,6 +2925,17 @@ static int qcom_nand_host_init_and_regis if (ret) nand_cleanup(chip); @@ -229,7 +229,7 @@ Signed-off-by: Ansuel Smith return ret; } -@@ -3032,6 +3103,7 @@ static int qcom_nandc_remove(struct plat +@@ -3030,6 +3101,7 @@ static int qcom_nandc_remove(struct plat static const struct qcom_nandc_props ipq806x_nandc_props = { .ecc_modes = (ECC_RS_4BIT | ECC_BCH_8BIT), .is_bam = false, diff --git a/target/linux/ipq807x/base-files/etc/board.d/01_leds b/target/linux/ipq807x/base-files/etc/board.d/01_leds index e63ef959c..1966a95c0 100644 --- a/target/linux/ipq807x/base-files/etc/board.d/01_leds +++ b/target/linux/ipq807x/base-files/etc/board.d/01_leds @@ -7,10 +7,6 @@ board=$(board_name) board_config_update case $board in -xiaomi,ax3600|\ -redmi,ax6) - ucidef_set_led_netdev "wan" "WAN" "blue:network" "eth0" - ;; qnap,301w) ucidef_set_led_netdev "lan1" "LAN1" "green:lan1" "eth0" ucidef_set_led_netdev "lan2" "LAN2" "green:lan2" "eth1" diff --git a/target/linux/ipq807x/base-files/etc/board.d/02_network b/target/linux/ipq807x/base-files/etc/board.d/02_network index 3399cfa48..93421fbb8 100644 --- a/target/linux/ipq807x/base-files/etc/board.d/02_network +++ b/target/linux/ipq807x/base-files/etc/board.d/02_network @@ -14,15 +14,8 @@ ipq807x_setup_interfaces() qnap,301w) ucidef_set_interfaces_lan_wan "eth0 eth1 eth2 eth3 eth4" "eth5" ;; - redmi,ax6|\ - xiaomi,ax3600) - ucidef_set_interfaces_lan_wan "eth1 eth2 eth3" "eth0" - ;; zte,mf269) ucidef_set_interfaces_lan_wan "eth0" "eth1" - hw_mac_addr=$(mtd_get_mac_binary "mac" 0x0) - ucidef_set_interface_macaddr "wan" "$hw_mac_addr" - ucidef_set_interface_macaddr "lan" "$(macaddr_add $hw_mac_addr 1)" ;; *) echo "Unsupported hardware. Network interfaces not initialized" @@ -30,9 +23,30 @@ ipq807x_setup_interfaces() esac } +ipq807x_setup_macs() +{ + local board="$1" + local lan_mac="" + local wan_mac="" + local label_mac="" + + case "$board" in + zte,mf269) + wan_mac=$(mtd_get_mac_binary mac 0x0) + lan_mac=$(macaddr_add "$wan_mac" 1) + label_mac=$wan_mac + ;; + esac + + [ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac + [ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac + [ -n "$label_mac" ] && ucidef_set_label_macaddr $label_mac +} + board_config_update board=$(board_name) ipq807x_setup_interfaces $board +ipq807x_setup_macs $board board_config_flush exit 0 diff --git a/target/linux/ipq807x/base-files/etc/hotplug.d/firmware/11-ath10k-caldata b/target/linux/ipq807x/base-files/etc/hotplug.d/firmware/11-ath10k-caldata deleted file mode 100644 index e5daf2dba..000000000 --- a/target/linux/ipq807x/base-files/etc/hotplug.d/firmware/11-ath10k-caldata +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh - -[ -e /lib/firmware/$FIRMWARE ] && exit 0 - -. /lib/functions/caldata.sh - -board=$(board_name) - -case "$FIRMWARE" in -"ath10k/cal-pci-0000:01:00.0.bin") - case "$board" in - xiaomi,ax3600) - caldata_extract "0:art" 0x33000 0x844 - ;; - esac - ;; -*) - exit 1 - ;; -esac diff --git a/target/linux/ipq807x/base-files/etc/hotplug.d/firmware/11-ath11k-caldata b/target/linux/ipq807x/base-files/etc/hotplug.d/firmware/11-ath11k-caldata index 2a777593a..33aa5637c 100644 --- a/target/linux/ipq807x/base-files/etc/hotplug.d/firmware/11-ath11k-caldata +++ b/target/linux/ipq807x/base-files/etc/hotplug.d/firmware/11-ath11k-caldata @@ -9,10 +9,7 @@ board=$(board_name) case "$FIRMWARE" in "ath11k/IPQ8074/hw2.0/caldata.bin") case "$board" in - qnap,301w|\ - redmi,ax6|\ - xiaomi,ax3600|\ - xiaomi,ax9000) + qnap,301w) caldata_extract "0:art" 0x1000 0x20000 ;; zte,mf269) diff --git a/target/linux/ipq807x/base-files/lib/upgrade/platform.sh b/target/linux/ipq807x/base-files/lib/upgrade/platform.sh index d0807d22a..a7de5ea47 100644 --- a/target/linux/ipq807x/base-files/lib/upgrade/platform.sh +++ b/target/linux/ipq807x/base-files/lib/upgrade/platform.sh @@ -15,34 +15,6 @@ platform_do_upgrade() { rootfsname="rootfs" mmc_do_upgrade "$1" ;; - redmi,ax6|\ - xiaomi,ax3600|\ - xiaomi,ax9000) - part_num="$(fw_printenv -n flag_boot_rootfs)" - if [ "$part_num" -eq "1" ]; then - CI_UBIPART="rootfs_1" - target_num=1 - # Reset fail flag for the current partition - # With both partition set to fail, the partition 2 (bit 1) - # is loaded - fw_setenv flag_try_sys2_failed 0 - else - CI_UBIPART="rootfs" - target_num=0 - # Reset fail flag for the current partition - # or uboot will skip the loading of this partition - fw_setenv flag_try_sys1_failed 0 - fi - - # Tell uboot to switch partition - fw_setenv flag_boot_rootfs $target_num - fw_setenv flag_last_success $target_num - - # Reset success flag - fw_setenv flag_boot_success 0 - - nand_do_upgrade "$1" - ;; zte,mf269) nand_do_upgrade "$1" ;; diff --git a/target/linux/ipq807x/files/arch/arm64/boot/dts/qcom/ipq8071-ax3600.dts b/target/linux/ipq807x/files/arch/arm64/boot/dts/qcom/ipq8071-ax3600.dts deleted file mode 100644 index 0e5b1906e..000000000 --- a/target/linux/ipq807x/files/arch/arm64/boot/dts/qcom/ipq8071-ax3600.dts +++ /dev/null @@ -1,71 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/* Copyright (c) 2021, Robert Marko */ - -/dts-v1/; - -#include "ipq8071-ax3600.dtsi" - -/ { - model = "Xiaomi AX3600"; - compatible = "xiaomi,ax3600", "qcom,ipq8074"; - - leds { - compatible = "gpio-leds"; - - led_system_blue: system-blue { - label = "blue:system"; - gpios = <&tlmm 42 GPIO_ACTIVE_HIGH>; - }; - - led_system_yellow: system-yellow { - label = "yellow:system"; - gpios = <&tlmm 43 GPIO_ACTIVE_HIGH>; - }; - - network-yellow { - label = "yellow:network"; - gpios = <&tlmm 22 GPIO_ACTIVE_HIGH>; - }; - - network-blue { - label = "blue:network"; - gpios = <&tlmm 21 GPIO_ACTIVE_HIGH>; - }; - - aiot { - label = "blue:aiot"; - gpios = <&tlmm 51 GPIO_ACTIVE_HIGH>; - linux,default-trigger = "phy0tpt"; - }; - }; -}; - -&qmp_pcie_phy0 { - status = "okay"; -}; - -&pcie0 { - status = "okay"; - - perst-gpio = <&tlmm 52 GPIO_ACTIVE_HIGH>; - - 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 = "Xiaomi-AX3600"; - }; - }; -}; - -&wifi { - qcom,ath11k-calibration-variant = "Xiaomi-AX3600"; -}; diff --git a/target/linux/ipq807x/files/arch/arm64/boot/dts/qcom/ipq8071-ax3600.dtsi b/target/linux/ipq807x/files/arch/arm64/boot/dts/qcom/ipq8071-ax3600.dtsi deleted file mode 100644 index 4d93bda5c..000000000 --- a/target/linux/ipq807x/files/arch/arm64/boot/dts/qcom/ipq8071-ax3600.dtsi +++ /dev/null @@ -1,498 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/* Copyright (c) 2021, Robert Marko */ - -#include "ipq8074.dtsi" -#include "ipq8074-ac-cpu.dtsi" -#include "ipq8074-ac-nss.dtsi" -#include "ipq8074-memory-512m.dtsi" -#include -#include - -/ { - #address-cells = <2>; - #size-cells = <2>; - - interrupt-parent = <&intc>; - - aliases { - serial0 = &blsp1_uart5; - led-boot = &led_system_yellow; - led-failsafe = &led_system_yellow; - led-running = &led_system_blue; - led-upgrade = &led_system_yellow; - /* Aliases as required by u-boot to patch MAC addresses */ - ethernet1 = &dp2; - ethernet2 = &dp3; - ethernet3 = &dp4; - ethernet4 = &dp5; - label-mac-device = &dp2; - }; - - chosen { - stdout-path = "serial0:115200n8"; - bootargs-append = " root=/dev/ubiblock0_1"; - }; - - keys { - compatible = "gpio-keys"; - - reset { - label = "reset"; - gpios = <&tlmm 34 GPIO_ACTIVE_LOW>; - linux,code = ; - }; - }; - - reserved-memory { - /delete-node/ tzapp@4a400000; - /delete-node/ q6_etr_dump@50f00000; - /delete-node/ m3_dump@51000000; - }; -}; - -&tlmm { - mdio_pins: mdio-pins { - mdc { - pins = "gpio68"; - function = "mdc"; - drive-strength = <8>; - bias-pull-up; - }; - - mdio { - pins = "gpio69"; - function = "mdio"; - drive-strength = <8>; - bias-pull-up; - }; - }; -}; - -&blsp1_uart5 { - status = "okay"; -}; - -&prng { - status = "okay"; -}; - -&cryptobam { - status = "okay"; -}; - -&crypto { - status = "okay"; -}; - -&qpic_bam { - status = "okay"; -}; - -&qpic_nand { - status = "okay"; - - nand@0 { - reg = <0>; - nand-ecc-strength = <4>; - nand-ecc-step-size = <512>; - nand-bus-width = <8>; - - partitions { - compatible = "qcom,smem-part"; - }; - }; -}; - -&mdio { - status = "okay"; - - pinctrl-0 = <&mdio_pins>; - pinctrl-names = "default"; - /* - * Disable the reset GPIO temporarely as it - * resets the 100Mbit LED configuration which - * the bootloader writes. - */ - //reset-gpios = <&tlmm 37 GPIO_ACTIVE_LOW>; - - ethernet-phy@1 { - reg = <1>; - }; - - ethernet-phy@2 { - reg = <2>; - }; - - ethernet-phy@3 { - reg = <3>; - }; - - ethernet-phy@4 { - reg = <4>; - }; -}; - -&ess_switch { - switch_cpu_bmp = <0x1>; /* cpu port bitmap */ - switch_lan_bmp = <0x1e>; /* lan port bitmap */ - switch_wan_bmp = <0x20>; /* wan port bitmap */ - switch_mac_mode = <0x0>; /* mac mode for uniphy instance0*/ - switch_mac_mode1 = <0xff>; /* mac mode for uniphy instance1*/ - switch_mac_mode2 = <0xff>; /* mac mode for uniphy instance2*/ - bm_tick_mode = <0>; /* bm tick mode */ - tm_tick_mode = <0>; /* tm tick mode */ - qcom,port_phyinfo { - port@0 { - port_id = <1>; - phy_address = <0>; - }; - port@1 { - port_id = <2>; - phy_address = <1>; - }; - port@2 { - port_id = <3>; - phy_address = <2>; - }; - port@3 { - port_id = <4>; - phy_address = <3>; - }; - port@4 { - port_id = <5>; - phy_address = <4>; - }; - }; - port_scheduler_resource { - port@0 { - port_id = <0>; - ucast_queue = <0 143>; - mcast_queue = <256 271>; - l0sp = <0 35>; - l0cdrr = <0 47>; - l0edrr = <0 47>; - l1cdrr = <0 7>; - l1edrr = <0 7>; - }; - port@1 { - port_id = <1>; - ucast_queue = <144 159>; - mcast_queue = <272 275>; - l0sp = <36 39>; - l0cdrr = <48 63>; - l0edrr = <48 63>; - l1cdrr = <8 11>; - l1edrr = <8 11>; - }; - port@2 { - port_id = <2>; - ucast_queue = <160 175>; - mcast_queue = <276 279>; - l0sp = <40 43>; - l0cdrr = <64 79>; - l0edrr = <64 79>; - l1cdrr = <12 15>; - l1edrr = <12 15>; - }; - port@3 { - port_id = <3>; - ucast_queue = <176 191>; - mcast_queue = <280 283>; - l0sp = <44 47>; - l0cdrr = <80 95>; - l0edrr = <80 95>; - l1cdrr = <16 19>; - l1edrr = <16 19>; - }; - port@4 { - port_id = <4>; - ucast_queue = <192 207>; - mcast_queue = <284 287>; - l0sp = <48 51>; - l0cdrr = <96 111>; - l0edrr = <96 111>; - l1cdrr = <20 23>; - l1edrr = <20 23>; - }; - port@5 { - port_id = <5>; - ucast_queue = <208 223>; - mcast_queue = <288 291>; - l0sp = <52 55>; - l0cdrr = <112 127>; - l0edrr = <112 127>; - l1cdrr = <24 27>; - l1edrr = <24 27>; - }; - port@6 { - port_id = <6>; - ucast_queue = <224 239>; - mcast_queue = <292 295>; - l0sp = <56 59>; - l0cdrr = <128 143>; - l0edrr = <128 143>; - l1cdrr = <28 31>; - l1edrr = <28 31>; - }; - port@7 { - port_id = <7>; - ucast_queue = <240 255>; - mcast_queue = <296 299>; - l0sp = <60 63>; - l0cdrr = <144 159>; - l0edrr = <144 159>; - l1cdrr = <32 35>; - l1edrr = <32 35>; - }; - }; - port_scheduler_config { - port@0 { - port_id = <0>; - l1scheduler { - group@0 { - sp = <0 1>; /*L0 SPs*/ - /*cpri cdrr epri edrr*/ - cfg = <0 0 0 0>; - }; - }; - l0scheduler { - group@0 { - /*unicast queues*/ - ucast_queue = <0 4 8>; - /*multicast queues*/ - mcast_queue = <256 260>; - /*sp cpri cdrr epri edrr*/ - cfg = <0 0 0 0 0>; - }; - group@1 { - ucast_queue = <1 5 9>; - mcast_queue = <257 261>; - cfg = <0 1 1 1 1>; - }; - group@2 { - ucast_queue = <2 6 10>; - mcast_queue = <258 262>; - cfg = <0 2 2 2 2>; - }; - group@3 { - ucast_queue = <3 7 11>; - mcast_queue = <259 263>; - cfg = <0 3 3 3 3>; - }; - }; - }; - port@1 { - port_id = <1>; - l1scheduler { - group@0 { - sp = <36>; - cfg = <0 8 0 8>; - }; - group@1 { - sp = <37>; - cfg = <1 9 1 9>; - }; - }; - l0scheduler { - group@0 { - ucast_queue = <144>; - ucast_loop_pri = <16>; - mcast_queue = <272>; - mcast_loop_pri = <4>; - cfg = <36 0 48 0 48>; - }; - }; - }; - port@2 { - port_id = <2>; - l1scheduler { - group@0 { - sp = <40>; - cfg = <0 12 0 12>; - }; - group@1 { - sp = <41>; - cfg = <1 13 1 13>; - }; - }; - l0scheduler { - group@0 { - ucast_queue = <160>; - ucast_loop_pri = <16>; - mcast_queue = <276>; - mcast_loop_pri = <4>; - cfg = <40 0 64 0 64>; - }; - }; - }; - port@3 { - port_id = <3>; - l1scheduler { - group@0 { - sp = <44>; - cfg = <0 16 0 16>; - }; - group@1 { - sp = <45>; - cfg = <1 17 1 17>; - }; - }; - l0scheduler { - group@0 { - ucast_queue = <176>; - ucast_loop_pri = <16>; - mcast_queue = <280>; - mcast_loop_pri = <4>; - cfg = <44 0 80 0 80>; - }; - }; - }; - port@4 { - port_id = <4>; - l1scheduler { - group@0 { - sp = <48>; - cfg = <0 20 0 20>; - }; - group@1 { - sp = <49>; - cfg = <1 21 1 21>; - }; - }; - l0scheduler { - group@0 { - ucast_queue = <192>; - ucast_loop_pri = <16>; - mcast_queue = <284>; - mcast_loop_pri = <4>; - cfg = <48 0 96 0 96>; - }; - }; - }; - port@5 { - port_id = <5>; - l1scheduler { - group@0 { - sp = <52>; - cfg = <0 24 0 24>; - }; - group@1 { - sp = <53>; - cfg = <1 25 1 25>; - }; - }; - l0scheduler { - group@0 { - ucast_queue = <208>; - ucast_loop_pri = <16>; - mcast_queue = <288>; - mcast_loop_pri = <4>; - cfg = <52 0 112 0 112>; - }; - }; - }; - port@6 { - port_id = <6>; - l1scheduler { - group@0 { - sp = <56>; - cfg = <0 28 0 28>; - }; - group@1 { - sp = <57>; - cfg = <1 29 1 29>; - }; - }; - l0scheduler { - group@0 { - ucast_queue = <224>; - ucast_loop_pri = <16>; - mcast_queue = <292>; - mcast_loop_pri = <4>; - cfg = <56 0 128 0 128>; - }; - }; - }; - port@7 { - port_id = <7>; - l1scheduler { - group@0 { - sp = <60>; - cfg = <0 32 0 32>; - }; - group@1 { - sp = <61>; - cfg = <1 33 1 33>; - }; - }; - l0scheduler { - group@0 { - ucast_queue = <240>; - ucast_loop_pri = <16>; - mcast_queue = <296>; - cfg = <60 0 144 0 144>; - }; - }; - }; - }; -}; - -&soc { - dp2: dp2 { - device_type = "network"; - compatible = "qcom,nss-dp"; - qcom,id = <2>; - reg = <0x3a001200 0x200>; - qcom,mactype = <0>; - local-mac-address = [000000000000]; - qcom,link-poll = <1>; - qcom,phy-mdio-addr = <1>; - phy-mode = "sgmii"; - mdio-bus = <&mdio>; - }; - - dp3: dp3 { - device_type = "network"; - compatible = "qcom,nss-dp"; - qcom,id = <3>; - reg = <0x3a001400 0x200>; - qcom,mactype = <0>; - local-mac-address = [000000000000]; - qcom,link-poll = <1>; - qcom,phy-mdio-addr = <2>; - phy-mode = "sgmii"; - mdio-bus = <&mdio>; - }; - - dp4: dp4 { - device_type = "network"; - compatible = "qcom,nss-dp"; - qcom,id = <4>; - reg = <0x3a001600 0x200>; - qcom,mactype = <0>; - local-mac-address = [000000000000]; - qcom,link-poll = <1>; - qcom,phy-mdio-addr = <3>; - phy-mode = "sgmii"; - mdio-bus = <&mdio>; - }; - - dp5: dp5 { - device_type = "network"; - compatible = "qcom,nss-dp"; - qcom,id = <5>; - reg = <0x3a001800 0x200>; - qcom,mactype = <0>; - local-mac-address = [000000000000]; - qcom,link-poll = <1>; - qcom,phy-mdio-addr = <4>; - phy-mode = "sgmii"; - mdio-bus = <&mdio>; - }; -}; - -&wifi { - status = "okay"; - - qcom,board_id = <658>; -}; diff --git a/target/linux/ipq807x/files/arch/arm64/boot/dts/qcom/ipq8071-ax6.dts b/target/linux/ipq807x/files/arch/arm64/boot/dts/qcom/ipq8071-ax6.dts deleted file mode 100644 index c66fb95bc..000000000 --- a/target/linux/ipq807x/files/arch/arm64/boot/dts/qcom/ipq8071-ax6.dts +++ /dev/null @@ -1,39 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/* Copyright (c) 2021, Zhijun You */ - -/dts-v1/; - -#include "ipq8071-ax3600.dtsi" - -/ { - model = "Redmi AX6"; - compatible = "redmi,ax6", "qcom,ipq8074"; - - leds { - compatible = "gpio-leds"; - - led_system_blue: system-blue { - label = "blue:system"; - gpios = <&tlmm 21 GPIO_ACTIVE_HIGH>; - }; - - led_system_yellow: system-yellow { - label = "yellow:system"; - gpios = <&tlmm 22 GPIO_ACTIVE_HIGH>; - }; - - network-blue { - label = "blue:network"; - gpios = <&tlmm 42 GPIO_ACTIVE_HIGH>; - }; - - network-yellow { - label = "yellow:network"; - gpios = <&tlmm 43 GPIO_ACTIVE_HIGH>; - }; - }; -}; - -&wifi { - qcom,ath11k-calibration-variant = "Redmi-AX6"; -}; diff --git a/target/linux/ipq807x/files/arch/arm64/boot/dts/qcom/ipq8071-mf269.dts b/target/linux/ipq807x/files/arch/arm64/boot/dts/qcom/ipq8071-mf269.dts old mode 100755 new mode 100644 index 4f6eac40d..62a57cfe5 --- a/target/linux/ipq807x/files/arch/arm64/boot/dts/qcom/ipq8071-mf269.dts +++ b/target/linux/ipq807x/files/arch/arm64/boot/dts/qcom/ipq8071-mf269.dts @@ -106,42 +106,6 @@ }; }; -/* -&blsp1_spi6 { - status = "okay"; - pinctrl-0 = <&spi_5_pins>; - pinctrl-names = "default"; - cs-select = <0>; - - si3217x@0 { - compatible = "si3217x"; - num_slic = <1>; - reg = <0>; - spi-cpha; - spi-cpol; - spi-max-frequency = <960000>; - pinctrl-0 = <&slic_ctl_pins>; - pinctrl-names = "default"; - ctl-gpio = <&tlmm 57 0>; - rst-gpio = <&tlmm 58 0>; - irq-gpio = <&tlmm 59 0>; - }; -}; - -&blsp1_i2c5 { - status = "okay"; - - pinctrl-0 = <&i2c_4_pins>; - pinctrl-names = "default"; - - aw9106b@5b { - compatible = "aw9106b"; - reg = <0x5b>; - reset-gpio = <&tlmm 54 0>; - }; -}; -*/ - &blsp1_uart5 { status = "okay"; }; @@ -559,20 +523,10 @@ output-high; }; }; - - usb_cc_pins: usb_cc_pins { - mux { - pins = "gpio47", "gpio48"; - function = "gpio"; - drive-strength = <8>; - bias-disable; - output-high; - }; - }; }; &usb_0 { - pinctrl-0 = <&usb_vbus_pins &usb_cc_pins>; + pinctrl-0 = <&usb_vbus_pins>; pinctrl-names = "default"; status = "okay"; }; diff --git a/target/linux/ipq807x/image/generic.mk b/target/linux/ipq807x/image/generic.mk index dd1802ce4..e8440c83c 100644 --- a/target/linux/ipq807x/image/generic.mk +++ b/target/linux/ipq807x/image/generic.mk @@ -32,28 +32,6 @@ define Device/qnap_301w endef TARGET_DEVICES += qnap_301w -define Device/redmi_ax6 - $(call Device/xiaomi_ax3600) - DEVICE_VENDOR := Redmi - DEVICE_MODEL := AX6 - DEVICE_PACKAGES := ipq-wifi-redmi_ax6 uboot-envtools -endef -TARGET_DEVICES += redmi_ax6 - -define Device/xiaomi_ax3600 - $(call Device/FitImage) - $(call Device/UbiFit) - DEVICE_VENDOR := Xiaomi - DEVICE_MODEL := AX3600 - BLOCKSIZE := 128k - PAGESIZE := 2048 - DEVICE_DTS_CONFIG := config@ac04 - SOC := ipq8071 - DEVICE_PACKAGES := ath10k-firmware-qca9887-ct ipq-wifi-xiaomi_ax3600 \ - kmod-ath10k-ct uboot-envtools -endef -TARGET_DEVICES += xiaomi_ax3600 - define Device/zte_mf269 $(call Device/FitImage) $(call Device/UbiFit) diff --git a/target/linux/ipq807x/patches-5.10/900-arm64-dts-add-OpenWrt-DTS-files.patch b/target/linux/ipq807x/patches-5.10/900-arm64-dts-add-OpenWrt-DTS-files.patch index 14ed1e1d2..12af650f0 100644 --- a/target/linux/ipq807x/patches-5.10/900-arm64-dts-add-OpenWrt-DTS-files.patch +++ b/target/linux/ipq807x/patches-5.10/900-arm64-dts-add-OpenWrt-DTS-files.patch @@ -12,13 +12,11 @@ Signed-off-by: Robert Marko --- a/arch/arm64/boot/dts/qcom/Makefile +++ b/arch/arm64/boot/dts/qcom/Makefile -@@ -3,6 +3,10 @@ dtb-$(CONFIG_ARCH_QCOM) += apq8016-sbc.d +@@ -3,6 +3,8 @@ dtb-$(CONFIG_ARCH_QCOM) += apq8016-sbc.d dtb-$(CONFIG_ARCH_QCOM) += apq8096-db820c.dtb dtb-$(CONFIG_ARCH_QCOM) += apq8096-ifc6640.dtb dtb-$(CONFIG_ARCH_QCOM) += ipq6018-cp01-c1.dtb +dtb-$(CONFIG_ARCH_QCOM) += ipq8072-301w.dtb -+dtb-$(CONFIG_ARCH_QCOM) += ipq8071-ax6.dtb -+dtb-$(CONFIG_ARCH_QCOM) += ipq8071-ax3600.dtb +dtb-$(CONFIG_ARCH_QCOM) += ipq8071-mf269.dtb dtb-$(CONFIG_ARCH_QCOM) += ipq8074-hk01.dtb dtb-$(CONFIG_ARCH_QCOM) += msm8916-longcheer-l8150.dtb diff --git a/target/linux/oxnas/patches-5.10/999-libata-hacks.patch b/target/linux/oxnas/patches-5.10/999-libata-hacks.patch index 61c0c045a..84d418887 100644 --- a/target/linux/oxnas/patches-5.10/999-libata-hacks.patch +++ b/target/linux/oxnas/patches-5.10/999-libata-hacks.patch @@ -15,7 +15,7 @@ /* initialize internal qc */ qc = __ata_qc_from_tag(ap, ATA_TAG_INTERNAL); -@@ -4554,6 +4562,9 @@ struct ata_queued_cmd *ata_qc_new_init(s +@@ -4555,6 +4563,9 @@ struct ata_queued_cmd *ata_qc_new_init(s if (unlikely(ap->pflags & ATA_PFLAG_FROZEN)) return NULL; @@ -25,7 +25,7 @@ /* libsas case */ if (ap->flags & ATA_FLAG_SAS_HOST) { tag = ata_sas_allocate_tag(ap); -@@ -4599,6 +4610,8 @@ void ata_qc_free(struct ata_queued_cmd * +@@ -4600,6 +4611,8 @@ void ata_qc_free(struct ata_queued_cmd * qc->tag = ATA_TAG_POISON; if (ap->flags & ATA_FLAG_SAS_HOST) ata_sas_free_tag(tag, ap); diff --git a/target/linux/ramips/patches-5.10/802-GPIO-MIPS-ralink-add-gpio-driver-for-ralink-SoC.patch b/target/linux/ramips/patches-5.10/802-GPIO-MIPS-ralink-add-gpio-driver-for-ralink-SoC.patch index c17333692..52d40215f 100644 --- a/target/linux/ramips/patches-5.10/802-GPIO-MIPS-ralink-add-gpio-driver-for-ralink-SoC.patch +++ b/target/linux/ramips/patches-5.10/802-GPIO-MIPS-ralink-add-gpio-driver-for-ralink-SoC.patch @@ -62,7 +62,7 @@ Cc: linux-gpio@vger.kernel.org depends on PLAT_SPEAR --- a/drivers/gpio/Makefile +++ b/drivers/gpio/Makefile -@@ -119,6 +119,7 @@ obj-$(CONFIG_GPIO_PISOSR) += gpio-pisos +@@ -120,6 +120,7 @@ obj-$(CONFIG_GPIO_PISOSR) += gpio-pisos obj-$(CONFIG_GPIO_PL061) += gpio-pl061.o obj-$(CONFIG_GPIO_PMIC_EIC_SPRD) += gpio-pmic-eic-sprd.o obj-$(CONFIG_GPIO_PXA) += gpio-pxa.o diff --git a/target/linux/rockchip/image/armv8.mk b/target/linux/rockchip/image/armv8.mk index c3b7e0e3b..0634e29b9 100644 --- a/target/linux/rockchip/image/armv8.mk +++ b/target/linux/rockchip/image/armv8.mk @@ -10,7 +10,7 @@ define Device/embedfire_doornet1 IMAGE/sysupgrade.img.gz := boot-common | boot-script nanopi-r2s | pine64-bin | gzip | append-metadata DEVICE_PACKAGES := kmod-usb-net-rtl8152 kmod-rtl8821cu endef -#TARGET_DEVICES += embedfire_doornet1 +TARGET_DEVICES += embedfire_doornet1 define Device/embedfire_doornet2 DEVICE_VENDOR := EmbedFire @@ -18,9 +18,9 @@ define Device/embedfire_doornet2 SOC := rk3399 UBOOT_DEVICE_NAME := doornet2-rk3399 IMAGE/sysupgrade.img.gz := boot-common | boot-script nanopi-r4s | pine64-bin | gzip | append-metadata - DEVICE_PACKAGES := kmod-r8168 kmod-rtl8821cu -urngd + DEVICE_PACKAGES := kmod-r8169 kmod-rtl8821cu -urngd endef -#TARGET_DEVICES += embedfire_doornet2 +TARGET_DEVICES += embedfire_doornet2 define Device/friendlyarm_nanopi-neo3 DEVICE_VENDOR := FriendlyARM @@ -57,7 +57,7 @@ define Device/friendlyarm_nanopi-r4s SOC := rk3399 UBOOT_DEVICE_NAME := nanopi-r4s-rk3399 IMAGE/sysupgrade.img.gz := boot-common | boot-script nanopi-r4s | pine64-bin | gzip | append-metadata - DEVICE_PACKAGES := kmod-r8169 -urngd + DEVICE_PACKAGES := kmod-r8168 -urngd endef TARGET_DEVICES += friendlyarm_nanopi-r4s diff --git a/target/linux/rockchip/patches-5.10/203-rockchip-rk3328-Add-support-for-EmbedFire-DoorNet1.patch b/target/linux/rockchip/patches-5.10/203-rockchip-rk3328-Add-support-for-EmbedFire-DoorNet1.patch index 63c3c82f0..efd3cd233 100644 --- a/target/linux/rockchip/patches-5.10/203-rockchip-rk3328-Add-support-for-EmbedFire-DoorNet1.patch +++ b/target/linux/rockchip/patches-5.10/203-rockchip-rk3328-Add-support-for-EmbedFire-DoorNet1.patch @@ -1,9 +1,19 @@ +--- a/arch/arm64/boot/dts/rockchip/Makefile ++++ b/arch/arm64/boot/dts/rockchip/Makefile +@@ -5,6 +5,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3308-ro + dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3318-a95x-z2.dtb + dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3326-odroid-go2.dtb + dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-a1.dtb ++dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-doornet1.dtb + dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-evb.dtb + dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-nanopi-r2s.dtb + dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-orangepi-r1-plus.dtb --- /dev/null +++ b/arch/arm64/boot/dts/rockchip/rk3328-doornet1.dts -@@ -0,0 +1,412 @@ +@@ -0,0 +1,419 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* -+ * Copyright (c) 2020 David Bauer ++ * Copyright (c) 2021 EmbedFire + */ + +/dts-v1/; @@ -21,6 +31,8 @@ + led-failsafe = &sys_led; + led-running = &sys_led; + led-upgrade = &sys_led; ++ // mmc1 = &sdmmc; ++ // mmc0 = &emmc; + }; + + chosen { @@ -78,6 +90,11 @@ + gpios = <&gpio2 RK_PC2 GPIO_ACTIVE_HIGH>; + label = "doornet1:green:wan"; + }; ++ ++ wifi_enable: wifi_enable { ++ gpios = <&gpio2 RK_PC5 GPIO_ACTIVE_HIGH>; ++ label = "wifi-enable"; ++ }; + }; + + vcc_io_sdio: sdmmcio-regulator { @@ -93,8 +110,8 @@ + regulator-settling-time-us = <5000>; + regulator-type = "voltage"; + startup-delay-us = <2000>; -+ states = <1800000 0x1>, -+ <3300000 0x0>; ++ states = <1800000 0x1 ++ 3300000 0x0>; + vin-supply = <&vcc_io_33>; + }; + @@ -140,34 +157,16 @@ + assigned-clocks = <&cru SCLK_MAC2IO>, <&cru SCLK_MAC2IO_EXT>; + assigned-clock-parents = <&gmac_clk>, <&gmac_clk>; + clock_in_out = "input"; -+ phy-handle = <&rtl8211f>; + phy-mode = "rgmii"; + phy-supply = <&vcc_io_33>; + pinctrl-0 = <&rgmiim1_pins>; + pinctrl-names = "default"; -+ snps,aal; -+ snps,rxpbl = <0x4>; -+ snps,txpbl = <0x4>; -+ tx_delay = <0x24>; -+ rx_delay = <0x58>; ++ snps,reset-gpio = <&gpio1 RK_PC2 GPIO_ACTIVE_LOW>; ++ snps,reset-delays-us = <0 1000000 50000>; ++ snps,reset-active-low; ++ tx_delay = <0x18>; ++ rx_delay = <0x24>; + status = "okay"; -+ -+ mdio { -+ compatible = "snps,dwmac-mdio"; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ -+ rtl8211f: ethernet-phy@1 { -+ compatible = "ethernet-phy-id001c.c916", -+ "ethernet-phy-ieee802.3-c22"; -+ reg = <1>; -+ pinctrl-0 = <ð_phy_reset_pin>; -+ pinctrl-names = "default"; -+ reset-assert-us = <10000>; -+ reset-deassert-us = <50000>; -+ reset-gpios = <&gpio1 RK_PC2 GPIO_ACTIVE_LOW>; -+ }; -+ }; +}; + +&i2c1 { @@ -329,6 +328,10 @@ + wan_led_pin: wan-led-pin { + rockchip,pins = <2 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>; + }; ++ ++ wifi_pin: wifi_pin{ ++ rockchip,pins = <2 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>; ++ }; + }; + + pmic { @@ -363,6 +366,20 @@ + status = "okay"; +}; + ++&emmc { ++ bus-width = <8>; ++ cap-mmc-highspeed; ++ max-frequency = <150000000>; ++ mmc-ddr-1_8v; ++ mmc-hs200-1_8v; ++ non-removable; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>; ++ vmmc-supply = <&vcc_io_33>; ++ vqmmc-supply = <&vcc18_emmc>; ++ status = "okay"; ++}; ++ +&tsadc { + rockchip,hw-tshut-mode = <0>; + rockchip,hw-tshut-polarity = <0>; @@ -413,13 +430,5 @@ + realtek,led-data = <0x87>; + }; +}; ---- a/arch/arm64/boot/dts/rockchip/Makefile -+++ b/arch/arm64/boot/dts/rockchip/Makefile -@@ -5,6 +5,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3308-ro - dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3318-a95x-z2.dtb - dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3326-odroid-go2.dtb - dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-a1.dtb -+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-doornet1.dtb - dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-evb.dtb - dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-nanopi-r2s.dtb - dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-orangepi-r1-plus.dtb +-- +2.25.1 diff --git a/target/linux/rockchip/patches-5.10/205-rockchip-rk3399-Add-support-for-EmbedFire-DoorNet2.patch b/target/linux/rockchip/patches-5.10/205-rockchip-rk3399-Add-support-for-EmbedFire-DoorNet2.patch index 02e5c74e1..65a38702c 100644 --- a/target/linux/rockchip/patches-5.10/205-rockchip-rk3399-Add-support-for-EmbedFire-DoorNet2.patch +++ b/target/linux/rockchip/patches-5.10/205-rockchip-rk3399-Add-support-for-EmbedFire-DoorNet2.patch @@ -274,8 +274,8 @@ + snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>; + snps,reset-active-low; + snps,reset-delays-us = <0 100000 50000>; -+ tx_delay = <0x13>; -+ rx_delay = <0x0e>; ++ tx_delay = <0x28>; ++ rx_delay = <0x11>; + status = "okay"; +}; + @@ -766,3 +766,29 @@ + status = "okay"; +}; + +--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c ++++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c +@@ -363,6 +363,11 @@ int stmmac_mdio_register(struct net_device *ndev) + goto bus_register_fail; + } + ++ stmmac_mdio_write(new_bus,0,31,2627); ++ stmmac_mdio_write(new_bus,0,25,0x1801); ++ stmmac_mdio_write(new_bus,0,31,0); ++ stmmac_mdio_write(new_bus,0,0,0x8000); ++ + if (priv->plat->phy_node || mdio_node) + goto bus_register_done; + + +--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c ++++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +@@ -2191,6 +2191,8 @@ static int stmmac_init_dma_engine(struct stmmac_priv *priv) + if (priv->extend_desc && (priv->mode == STMMAC_RING_MODE)) + atds = 1; + ++ msleep(1500); ++ + ret = stmmac_reset(priv, priv->ioaddr); + if (ret) { + dev_err(priv->device, "Failed to reset the dma\n"); diff --git a/target/linux/rockchip/patches-5.10/809-arm64-dts-doornet1-add-rk3328-dmc-relate-node.patch b/target/linux/rockchip/patches-5.10/809-arm64-dts-doornet1-add-rk3328-dmc-relate-node.patch new file mode 100644 index 000000000..54cd42051 --- /dev/null +++ b/target/linux/rockchip/patches-5.10/809-arm64-dts-doornet1-add-rk3328-dmc-relate-node.patch @@ -0,0 +1,124 @@ +From 2184ab853067b484ba5677e35f1a6955a5c023a1 Mon Sep 17 00:00:00 2001 +From: wowowow +Date: Wed, 20 Oct 2021 13:46:46 +0800 +Subject: [PATCH] arm64-dts-doornet1-add-rk3328-dmc-relate-node + +--- + .../boot/dts/rockchip/rk3328-doornet1.dts | 73 +++++++++++++++++++ + 1 file changed, 73 insertions(+) + +diff --git a/arch/arm64/boot/dts/rockchip/rk3328-doornet1.dts b/arch/arm64/boot/dts/rockchip/rk3328-doornet1.dts +index 8333351..d984163 100644 +--- a/arch/arm64/boot/dts/rockchip/rk3328-doornet1.dts ++++ b/arch/arm64/boot/dts/rockchip/rk3328-doornet1.dts +@@ -7,6 +7,7 @@ + + #include + #include ++#include "rk3328-dram-nanopi2-timing.dtsi" + #include "rk3328.dtsi" + + / { +@@ -56,6 +57,72 @@ + enable-active-high; + }; + ++ dmc: dmc { ++ compatible = "rockchip,rk3328-dmc"; ++ devfreq-events = <&dfi>; ++ center-supply = <&vdd_log>; ++ clocks = <&cru SCLK_DDRCLK>; ++ clock-names = "dmc_clk"; ++ operating-points-v2 = <&dmc_opp_table>; ++ ddr_timing = <&ddr_timing>; ++ upthreshold = <40>; ++ downdifferential = <20>; ++ auto-min-freq = <786000>; ++ auto-freq-en = <1>; ++ #cooling-cells = <2>; ++ status = "okay"; ++ ++ ddr_power_model: ddr_power_model { ++ compatible = "ddr_power_model"; ++ dynamic-power-coefficient = <120>; ++ static-power-coefficient = <200>; ++ ts = <32000 4700 (-80) 2>; ++ thermal-zone = "soc-thermal"; ++ }; ++ }; ++ ++ dmc_opp_table: dmc-opp-table { ++ compatible = "operating-points-v2"; ++ ++ rockchip,leakage-voltage-sel = < ++ 1 10 0 ++ 11 254 1 ++ >; ++ nvmem-cells = <&logic_leakage>; ++ nvmem-cell-names = "ddr_leakage"; ++ ++ opp-786000000 { ++ opp-hz = /bits/ 64 <786000000>; ++ opp-microvolt = <1075000>; ++ opp-microvolt-L0 = <1075000>; ++ opp-microvolt-L1 = <1050000>; ++ }; ++ opp-798000000 { ++ opp-hz = /bits/ 64 <798000000>; ++ opp-microvolt = <1075000>; ++ opp-microvolt-L0 = <1075000>; ++ opp-microvolt-L1 = <1050000>; ++ }; ++ opp-840000000 { ++ opp-hz = /bits/ 64 <840000000>; ++ opp-microvolt = <1075000>; ++ opp-microvolt-L0 = <1075000>; ++ opp-microvolt-L1 = <1050000>; ++ }; ++ opp-924000000 { ++ opp-hz = /bits/ 64 <924000000>; ++ opp-microvolt = <1100000>; ++ opp-microvolt-L0 = <1100000>; ++ opp-microvolt-L1 = <1075000>; ++ }; ++ opp-1056000000 { ++ opp-hz = /bits/ 64 <1056000000>; ++ opp-microvolt = <1175000>; ++ opp-microvolt-L0 = <1175000>; ++ opp-microvolt-L1 = <1150000>; ++ }; ++ }; ++ + leds { + compatible = "gpio-leds"; + pinctrl-0 = <&lan_led_pin>, <&sys_led_pin>, <&wan_led_pin>; +@@ -138,6 +205,10 @@ + cpu-supply = <&vdd_arm>; + }; + ++&dfi { ++ status = "okay"; ++}; ++ + &gmac2io { + assigned-clocks = <&cru SCLK_MAC2IO>, <&cru SCLK_MAC2IO_EXT>; + assigned-clock-parents = <&gmac_clk>, <&gmac_clk>; +@@ -201,6 +272,7 @@ + regulator-name = "vdd_log"; + regulator-always-on; + regulator-boot-on; ++ regulator-init-microvolt = <1075000>; + regulator-min-microvolt = <712500>; + regulator-max-microvolt = <1450000>; + regulator-ramp-delay = <12500>; +@@ -215,6 +287,7 @@ + regulator-name = "vdd_arm"; + regulator-always-on; + regulator-boot-on; ++ regulator-init-microvolt = <1225000>; + regulator-min-microvolt = <712500>; + regulator-max-microvolt = <1450000>; + regulator-ramp-delay = <12500>; +-- +2.25.1 + diff --git a/target/linux/rockchip/patches-5.15/202-rockchip-rk3328-Add-support-for-OrangePi-R1-Plus.patch b/target/linux/rockchip/patches-5.15/202-rockchip-rk3328-Add-support-for-OrangePi-R1-Plus.patch index dc62c5b97..3eb923183 100644 --- a/target/linux/rockchip/patches-5.15/202-rockchip-rk3328-Add-support-for-OrangePi-R1-Plus.patch +++ b/target/linux/rockchip/patches-5.15/202-rockchip-rk3328-Add-support-for-OrangePi-R1-Plus.patch @@ -1,6 +1,6 @@ --- a/arch/arm64/boot/dts/rockchip/Makefile +++ b/arch/arm64/boot/dts/rockchip/Makefile -@@ -10,6 +10,7 @@ +@@ -10,6 +10,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3326-od dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-a1.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-evb.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-nanopi-r2s.dtb diff --git a/target/linux/rockchip/patches-5.15/203-rockchip-rk3328-Add-support-for-EmbedFire-DoorNet1.patch b/target/linux/rockchip/patches-5.15/203-rockchip-rk3328-Add-support-for-EmbedFire-DoorNet1.patch index 63c3c82f0..2eef66d9f 100644 --- a/target/linux/rockchip/patches-5.15/203-rockchip-rk3328-Add-support-for-EmbedFire-DoorNet1.patch +++ b/target/linux/rockchip/patches-5.15/203-rockchip-rk3328-Add-support-for-EmbedFire-DoorNet1.patch @@ -1,15 +1,26 @@ +---- a/arch/arm64/boot/dts/rockchip/Makefile ++++ b/arch/arm64/boot/dts/rockchip/Makefile +@@ -8,6 +8,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3308-ro + dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3318-a95x-z2.dtb + dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3326-odroid-go2.dtb + dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-a1.dtb ++dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-doornet1.dtb + dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-evb.dtb + dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-nanopi-r2s.dtb + dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-orangepi-r1-plus.dtb --- /dev/null +++ b/arch/arm64/boot/dts/rockchip/rk3328-doornet1.dts -@@ -0,0 +1,412 @@ +@@ -0,0 +1,495 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* -+ * Copyright (c) 2020 David Bauer ++ * Copyright (c) 2021 EmbedFire + */ + +/dts-v1/; + +#include +#include ++#include "rk3328-dram-nanopi2-timing.dtsi" +#include "rk3328.dtsi" + +/ { @@ -21,6 +32,8 @@ + led-failsafe = &sys_led; + led-running = &sys_led; + led-upgrade = &sys_led; ++ // mmc1 = &sdmmc; ++ // mmc0 = &emmc; + }; + + chosen { @@ -59,6 +72,72 @@ + enable-active-high; + }; + ++ dmc: dmc { ++ compatible = "rockchip,rk3328-dmc"; ++ devfreq-events = <&dfi>; ++ center-supply = <&vdd_log>; ++ clocks = <&cru SCLK_DDRCLK>; ++ clock-names = "dmc_clk"; ++ operating-points-v2 = <&dmc_opp_table>; ++ ddr_timing = <&ddr_timing>; ++ upthreshold = <40>; ++ downdifferential = <20>; ++ auto-min-freq = <786000>; ++ auto-freq-en = <1>; ++ #cooling-cells = <2>; ++ status = "okay"; ++ ++ ddr_power_model: ddr_power_model { ++ compatible = "ddr_power_model"; ++ dynamic-power-coefficient = <120>; ++ static-power-coefficient = <200>; ++ ts = <32000 4700 (-80) 2>; ++ thermal-zone = "soc-thermal"; ++ }; ++ }; ++ ++ dmc_opp_table: dmc-opp-table { ++ compatible = "operating-points-v2"; ++ ++ rockchip,leakage-voltage-sel = < ++ 1 10 0 ++ 11 254 1 ++ >; ++ nvmem-cells = <&logic_leakage>; ++ nvmem-cell-names = "ddr_leakage"; ++ ++ opp-786000000 { ++ opp-hz = /bits/ 64 <786000000>; ++ opp-microvolt = <1075000>; ++ opp-microvolt-L0 = <1075000>; ++ opp-microvolt-L1 = <1050000>; ++ }; ++ opp-798000000 { ++ opp-hz = /bits/ 64 <798000000>; ++ opp-microvolt = <1075000>; ++ opp-microvolt-L0 = <1075000>; ++ opp-microvolt-L1 = <1050000>; ++ }; ++ opp-840000000 { ++ opp-hz = /bits/ 64 <840000000>; ++ opp-microvolt = <1075000>; ++ opp-microvolt-L0 = <1075000>; ++ opp-microvolt-L1 = <1050000>; ++ }; ++ opp-924000000 { ++ opp-hz = /bits/ 64 <924000000>; ++ opp-microvolt = <1100000>; ++ opp-microvolt-L0 = <1100000>; ++ opp-microvolt-L1 = <1075000>; ++ }; ++ opp-1056000000 { ++ opp-hz = /bits/ 64 <1056000000>; ++ opp-microvolt = <1175000>; ++ opp-microvolt-L0 = <1175000>; ++ opp-microvolt-L1 = <1150000>; ++ }; ++ }; ++ + leds { + compatible = "gpio-leds"; + pinctrl-0 = <&lan_led_pin>, <&sys_led_pin>, <&wan_led_pin>; @@ -78,6 +157,11 @@ + gpios = <&gpio2 RK_PC2 GPIO_ACTIVE_HIGH>; + label = "doornet1:green:wan"; + }; ++ ++ wifi_enable: wifi_enable { ++ gpios = <&gpio2 RK_PC5 GPIO_ACTIVE_HIGH>; ++ label = "wifi-enable"; ++ }; + }; + + vcc_io_sdio: sdmmcio-regulator { @@ -93,8 +177,8 @@ + regulator-settling-time-us = <5000>; + regulator-type = "voltage"; + startup-delay-us = <2000>; -+ states = <1800000 0x1>, -+ <3300000 0x0>; ++ states = <1800000 0x1 ++ 3300000 0x0>; + vin-supply = <&vcc_io_33>; + }; + @@ -136,38 +220,24 @@ + cpu-supply = <&vdd_arm>; +}; + ++&dfi { ++ status = "okay"; ++}; ++ +&gmac2io { + assigned-clocks = <&cru SCLK_MAC2IO>, <&cru SCLK_MAC2IO_EXT>; + assigned-clock-parents = <&gmac_clk>, <&gmac_clk>; + clock_in_out = "input"; -+ phy-handle = <&rtl8211f>; + phy-mode = "rgmii"; + phy-supply = <&vcc_io_33>; + pinctrl-0 = <&rgmiim1_pins>; + pinctrl-names = "default"; -+ snps,aal; -+ snps,rxpbl = <0x4>; -+ snps,txpbl = <0x4>; -+ tx_delay = <0x24>; -+ rx_delay = <0x58>; ++ snps,reset-gpio = <&gpio1 RK_PC2 GPIO_ACTIVE_LOW>; ++ snps,reset-delays-us = <0 1000000 50000>; ++ snps,reset-active-low; ++ tx_delay = <0x18>; ++ rx_delay = <0x24>; + status = "okay"; -+ -+ mdio { -+ compatible = "snps,dwmac-mdio"; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ -+ rtl8211f: ethernet-phy@1 { -+ compatible = "ethernet-phy-id001c.c916", -+ "ethernet-phy-ieee802.3-c22"; -+ reg = <1>; -+ pinctrl-0 = <ð_phy_reset_pin>; -+ pinctrl-names = "default"; -+ reset-assert-us = <10000>; -+ reset-deassert-us = <50000>; -+ reset-gpios = <&gpio1 RK_PC2 GPIO_ACTIVE_LOW>; -+ }; -+ }; +}; + +&i2c1 { @@ -199,6 +269,7 @@ + regulator-name = "vdd_log"; + regulator-always-on; + regulator-boot-on; ++ regulator-init-microvolt = <1075000>; + regulator-min-microvolt = <712500>; + regulator-max-microvolt = <1450000>; + regulator-ramp-delay = <12500>; @@ -213,6 +284,7 @@ + regulator-name = "vdd_arm"; + regulator-always-on; + regulator-boot-on; ++ regulator-init-microvolt = <1225000>; + regulator-min-microvolt = <712500>; + regulator-max-microvolt = <1450000>; + regulator-ramp-delay = <12500>; @@ -329,6 +401,10 @@ + wan_led_pin: wan-led-pin { + rockchip,pins = <2 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>; + }; ++ ++ wifi_pin: wifi_pin{ ++ rockchip,pins = <2 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>; ++ }; + }; + + pmic { @@ -363,6 +439,20 @@ + status = "okay"; +}; + ++&emmc { ++ bus-width = <8>; ++ cap-mmc-highspeed; ++ max-frequency = <150000000>; ++ mmc-ddr-1_8v; ++ mmc-hs200-1_8v; ++ non-removable; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>; ++ vmmc-supply = <&vcc_io_33>; ++ vqmmc-supply = <&vcc18_emmc>; ++ status = "okay"; ++}; ++ +&tsadc { + rockchip,hw-tshut-mode = <0>; + rockchip,hw-tshut-polarity = <0>; @@ -402,24 +492,20 @@ + status = "okay"; +}; + -+&usbdrd_dwc3 { ++&usbdrd3 { + dr_mode = "host"; + status = "okay"; ++ #address-cells = <1>; ++ #size-cells = <0>; + -+ usb-eth@2 { -+ compatible = "realtek,rtl8153"; ++ /* Second port is for USB 3.0 */ ++ rtl8153: device@2 { ++ compatible = "usbbda,8153"; + reg = <2>; + + realtek,led-data = <0x87>; + }; +}; ---- a/arch/arm64/boot/dts/rockchip/Makefile -+++ b/arch/arm64/boot/dts/rockchip/Makefile -@@ -5,6 +5,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3308-ro - dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3318-a95x-z2.dtb - dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3326-odroid-go2.dtb - dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-a1.dtb -+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-doornet1.dtb - dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-evb.dtb - dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-nanopi-r2s.dtb - dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-orangepi-r1-plus.dtb +\ No newline at end of file +-- +2.25.1 diff --git a/target/linux/rockchip/patches-5.15/205-rockchip-rk3399-Add-support-for-EmbedFire-DoorNet2.patch b/target/linux/rockchip/patches-5.15/205-rockchip-rk3399-Add-support-for-EmbedFire-DoorNet2.patch index 02e5c74e1..3e614844e 100644 --- a/target/linux/rockchip/patches-5.15/205-rockchip-rk3399-Add-support-for-EmbedFire-DoorNet2.patch +++ b/target/linux/rockchip/patches-5.15/205-rockchip-rk3399-Add-support-for-EmbedFire-DoorNet2.patch @@ -1,6 +1,6 @@ --- a/arch/arm64/boot/dts/rockchip/Makefile +++ b/arch/arm64/boot/dts/rockchip/Makefile -@@ -13,6 +13,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3368-li +@@ -22,6 +22,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3368-li dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3368-orion-r68-meta.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3368-px5-evb.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3368-r88.dtb @@ -274,8 +274,8 @@ + snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>; + snps,reset-active-low; + snps,reset-delays-us = <0 100000 50000>; -+ tx_delay = <0x13>; -+ rx_delay = <0x0e>; ++ tx_delay = <0x28>; ++ rx_delay = <0x11>; + status = "okay"; +}; + @@ -766,3 +766,29 @@ + status = "okay"; +}; + +--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c ++++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c +@@ -363,6 +363,11 @@ int stmmac_mdio_register(struct net_device *ndev) + goto bus_register_fail; + } + ++ stmmac_mdio_write(new_bus,0,31,2627); ++ stmmac_mdio_write(new_bus,0,25,0x1801); ++ stmmac_mdio_write(new_bus,0,31,0); ++ stmmac_mdio_write(new_bus,0,0,0x8000); ++ + if (priv->plat->phy_node || mdio_node) + goto bus_register_done; + + +--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c ++++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +@@ -2191,6 +2191,8 @@ static int stmmac_init_dma_engine(struct stmmac_priv *priv) + if (priv->extend_desc && (priv->mode == STMMAC_RING_MODE)) + atds = 1; + ++ msleep(1500); ++ + ret = stmmac_reset(priv, priv->ioaddr); + if (ret) { + dev_err(priv->device, "Failed to reset the dma\n"); diff --git a/target/linux/rockchip/patches-5.15/206-rockchip-rk3328-Add-support-for-OrangePi-R1-Plus-LTS.patch b/target/linux/rockchip/patches-5.15/206-rockchip-rk3328-Add-support-for-OrangePi-R1-Plus-LTS.patch index a21ec13a4..4b3a3d0d5 100644 --- a/target/linux/rockchip/patches-5.15/206-rockchip-rk3328-Add-support-for-OrangePi-R1-Plus-LTS.patch +++ b/target/linux/rockchip/patches-5.15/206-rockchip-rk3328-Add-support-for-OrangePi-R1-Plus-LTS.patch @@ -9,11 +9,9 @@ Subject: [PATCH] Add support for OrangePi R1 Plus LTS 2 files changed, 45 insertions(+) create mode 100644 arch/arm64/boot/dts/rockchip/rk3328-orangepi-r1-plus-lts.dts -diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile -index 23373c752..552d97555 100644 --- a/arch/arm64/boot/dts/rockchip/Makefile +++ b/arch/arm64/boot/dts/rockchip/Makefile -@@ -13,6 +13,7 @@ +@@ -13,6 +13,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-ev dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-nanopi-r2c.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-nanopi-r2s.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-orangepi-r1-plus.dtb @@ -21,9 +19,6 @@ index 23373c752..552d97555 100644 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-rock64.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-rock-pi-e.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-roc-cc.dtb -diff --git a/arch/arm64/boot/dts/rockchip/rk3328-orangepi-r1-plus-lts.dts b/arch/arm64/boot/dts/rockchip/rk3328-orangepi-r1-plus-lts.dts -new file mode 100644 -index 000000000..c65f7c417 --- /dev/null +++ b/arch/arm64/boot/dts/rockchip/rk3328-orangepi-r1-plus-lts.dts @@ -0,0 +1,70 @@ @@ -97,5 +92,3 @@ index 000000000..c65f7c417 +&lan_led { + label = "orangepi-r1-plus-lts:green:lan"; +}; --- -2.25.1 diff --git a/target/linux/rockchip/patches-5.15/207-rockchip-rk3328-add-support-for-FriendlyARM-NanoPi-Neo3.patch b/target/linux/rockchip/patches-5.15/207-rockchip-rk3328-add-support-for-FriendlyARM-NanoPi-Neo3.patch index a07ad0ac7..cad477a0d 100644 --- a/target/linux/rockchip/patches-5.15/207-rockchip-rk3328-add-support-for-FriendlyARM-NanoPi-Neo3.patch +++ b/target/linux/rockchip/patches-5.15/207-rockchip-rk3328-add-support-for-FriendlyARM-NanoPi-Neo3.patch @@ -33,23 +33,16 @@ to status_led in accordance with the board schematics. 2 files changed, 397 insertions(+) create mode 100644 arch/arm64/boot/dts/rockchip/rk3328-nanopi-neo3.dts -diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile -index 479906f3a..5f6ffb496 100644 --- a/arch/arm64/boot/dts/rockchip/Makefile +++ b/arch/arm64/boot/dts/rockchip/Makefile -@@ -8,8 +8,8 @@ - dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3318-a95x-z2.dtb - dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3326-odroid-go2.dtb +@@ -10,6 +10,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3326-odroid-go2.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-a1.dtb --dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-doornet1.dtb + dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-doornet1.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-evb.dtb +dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-nanopi-neo3.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-nanopi-r2c.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-nanopi-r2s.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-orangepi-r1-plus.dtb -diff --git a/arch/arm64/boot/dts/rockchip/rk3328-nanopi-neo3.dts b/arch/arm64/boot/dts/rockchip/rk3328-nanopi-neo3.dts -new file mode 100644 -index 000000000..1eb7fd5f7 --- /dev/null +++ b/arch/arm64/boot/dts/rockchip/rk3328-nanopi-neo3.dts @@ -0,0 +1,394 @@ @@ -447,6 +440,3 @@ index 000000000..1eb7fd5f7 + realtek,led-data = <0x87>; + }; +}; --- -2.34.1 - diff --git a/target/linux/rockchip/patches-5.15/208-rockchip-rk3399-add-support-for-GuangMiao-G4C.patch b/target/linux/rockchip/patches-5.15/208-rockchip-rk3399-add-support-for-GuangMiao-G4C.patch index 886ce0f3a..f0356a0dd 100644 --- a/target/linux/rockchip/patches-5.15/208-rockchip-rk3399-add-support-for-GuangMiao-G4C.patch +++ b/target/linux/rockchip/patches-5.15/208-rockchip-rk3399-add-support-for-GuangMiao-G4C.patch @@ -1,6 +1,6 @@ --- a/arch/arm64/boot/dts/rockchip/Makefile +++ b/arch/arm64/boot/dts/rockchip/Makefile -@@ -31,6 +31,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3318-a9 +@@ -31,6 +31,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-gr dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-gru-kevin.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-gru-scarlet-inx.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-gru-scarlet-kd.dtb diff --git a/target/linux/rockchip/patches-5.15/803-PM-devfreq-rockchip-add-devfreq-driver-for-rk3328-dmc.patch b/target/linux/rockchip/patches-5.15/803-PM-devfreq-rockchip-add-devfreq-driver-for-rk3328-dmc.patch index 12d519fd0..ef06b0d59 100644 --- a/target/linux/rockchip/patches-5.15/803-PM-devfreq-rockchip-add-devfreq-driver-for-rk3328-dmc.patch +++ b/target/linux/rockchip/patches-5.15/803-PM-devfreq-rockchip-add-devfreq-driver-for-rk3328-dmc.patch @@ -13,7 +13,7 @@ Signed-off-by: hmz007 --- a/drivers/devfreq/Kconfig +++ b/drivers/devfreq/Kconfig -@@ -120,6 +120,18 @@ config ARM_TEGRA20_DEVFREQ +@@ -120,6 +120,18 @@ config ARM_TEGRA_DEVFREQ It reads ACTMON counters of memory controllers and adjusts the operating frequencies and voltages with OPP support. @@ -34,7 +34,7 @@ Signed-off-by: hmz007 depends on (ARCH_ROCKCHIP && HAVE_ARM_SMCCC) || \ --- a/drivers/devfreq/Makefile +++ b/drivers/devfreq/Makefile -@@ -11,6 +11,7 @@ obj-$(CONFIG_ARM_EXYNOS_BUS_DEVFREQ) += +@@ -11,6 +11,7 @@ obj-$(CONFIG_DEVFREQ_GOV_PASSIVE) += gov obj-$(CONFIG_ARM_EXYNOS_BUS_DEVFREQ) += exynos-bus.o obj-$(CONFIG_ARM_IMX_BUS_DEVFREQ) += imx-bus.o obj-$(CONFIG_ARM_IMX8M_DDRC_DEVFREQ) += imx8m-ddrc.o diff --git a/target/linux/rockchip/patches-5.15/807-arm64-dts-nanopi-r2s-add-rk3328-dmc-relate-node.patch b/target/linux/rockchip/patches-5.15/807-arm64-dts-nanopi-r2s-add-rk3328-dmc-relate-node.patch index 6fcadd917..f195f2aa3 100644 --- a/target/linux/rockchip/patches-5.15/807-arm64-dts-nanopi-r2s-add-rk3328-dmc-relate-node.patch +++ b/target/linux/rockchip/patches-5.15/807-arm64-dts-nanopi-r2s-add-rk3328-dmc-relate-node.patch @@ -24,7 +24,7 @@ Signed-off-by: hmz007 #include "rk3328.dtsi" / { -@@ -114,6 +115,72 @@ +@@ -119,6 +120,72 @@ regulator-boot-on; vin-supply = <&vdd_5v>; }; @@ -97,7 +97,7 @@ Signed-off-by: hmz007 }; &cpu0 { -@@ -132,6 +199,10 @@ +@@ -137,6 +204,10 @@ cpu-supply = <&vdd_arm>; }; @@ -108,7 +108,7 @@ Signed-off-by: hmz007 &display_subsystem { status = "disabled"; }; -@@ -195,6 +266,7 @@ +@@ -206,6 +277,7 @@ regulator-name = "vdd_log"; regulator-always-on; regulator-boot-on; @@ -116,7 +116,7 @@ Signed-off-by: hmz007 regulator-min-microvolt = <712500>; regulator-max-microvolt = <1450000>; regulator-ramp-delay = <12500>; -@@ -209,6 +281,7 @@ +@@ -220,6 +292,7 @@ regulator-name = "vdd_arm"; regulator-always-on; regulator-boot-on; diff --git a/target/linux/rockchip/patches-5.15/992-rockchip-rk3399-overclock-to-2.2-1.8-GHz-for-NanoPi4.patch b/target/linux/rockchip/patches-5.15/992-rockchip-rk3399-overclock-to-2.2-1.8-GHz-for-NanoPi4.patch index ba31f0751..9f0e480d9 100644 --- a/target/linux/rockchip/patches-5.15/992-rockchip-rk3399-overclock-to-2.2-1.8-GHz-for-NanoPi4.patch +++ b/target/linux/rockchip/patches-5.15/992-rockchip-rk3399-overclock-to-2.2-1.8-GHz-for-NanoPi4.patch @@ -179,7 +179,7 @@ Co-authored-by: gzelvis +#include "rk3399-nanopi4-opp.dtsi" / { - chosen { + aliases { --- a/arch/arm64/boot/dts/rockchip/rk3399-doornet2.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3399-doornet2.dtsi @@ -3,7 +3,7 @@ diff --git a/target/linux/rockchip/patches-5.4/203-rockchip-rk3328-Add-support-for-EmbedFire-DoorNet1.patch b/target/linux/rockchip/patches-5.4/203-rockchip-rk3328-Add-support-for-EmbedFire-DoorNet1.patch index 2a848f2e4..2446d8c49 100644 --- a/target/linux/rockchip/patches-5.4/203-rockchip-rk3328-Add-support-for-EmbedFire-DoorNet1.patch +++ b/target/linux/rockchip/patches-5.4/203-rockchip-rk3328-Add-support-for-EmbedFire-DoorNet1.patch @@ -9,10 +9,10 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-orangepi-r1-plus.dtb --- /dev/null +++ b/arch/arm64/boot/dts/rockchip/rk3328-doornet1.dts -@@ -0,0 +1,412 @@ +@@ -0,0 +1,419 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* -+ * Copyright (c) 2020 David Bauer ++ * Copyright (c) 2021 EmbedFire + */ + +/dts-v1/; @@ -30,6 +30,8 @@ + led-failsafe = &sys_led; + led-running = &sys_led; + led-upgrade = &sys_led; ++ // mmc1 = &sdmmc; ++ // mmc0 = &emmc; + }; + + chosen { @@ -87,6 +89,11 @@ + gpios = <&gpio2 RK_PC2 GPIO_ACTIVE_HIGH>; + label = "doornet1:green:wan"; + }; ++ ++ wifi_enable: wifi_enable { ++ gpios = <&gpio2 RK_PC5 GPIO_ACTIVE_HIGH>; ++ label = "wifi-enable"; ++ }; + }; + + vcc_io_sdio: sdmmcio-regulator { @@ -149,34 +156,16 @@ + assigned-clocks = <&cru SCLK_MAC2IO>, <&cru SCLK_MAC2IO_EXT>; + assigned-clock-parents = <&gmac_clk>, <&gmac_clk>; + clock_in_out = "input"; -+ phy-handle = <&rtl8211f>; + phy-mode = "rgmii"; + phy-supply = <&vcc_io_33>; + pinctrl-0 = <&rgmiim1_pins>; + pinctrl-names = "default"; -+ snps,aal; -+ snps,rxpbl = <0x4>; -+ snps,txpbl = <0x4>; -+ tx_delay = <0x24>; -+ rx_delay = <0x58>; ++ snps,reset-gpio = <&gpio1 RK_PC2 GPIO_ACTIVE_LOW>; ++ snps,reset-delays-us = <0 1000000 50000>; ++ snps,reset-active-low; ++ tx_delay = <0xf>; ++ rx_delay = <0x68>; + status = "okay"; -+ -+ mdio { -+ compatible = "snps,dwmac-mdio"; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ -+ rtl8211f: ethernet-phy@1 { -+ compatible = "ethernet-phy-id001c.c916", -+ "ethernet-phy-ieee802.3-c22"; -+ reg = <1>; -+ pinctrl-0 = <ð_phy_reset_pin>; -+ pinctrl-names = "default"; -+ reset-assert-us = <10000>; -+ reset-deassert-us = <50000>; -+ reset-gpios = <&gpio1 RK_PC2 GPIO_ACTIVE_LOW>; -+ }; -+ }; +}; + +&i2c1 { @@ -338,6 +327,10 @@ + wan_led_pin: wan-led-pin { + rockchip,pins = <2 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>; + }; ++ ++ wifi_pin: wifi_pin{ ++ rockchip,pins = <2 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>; ++ }; + }; + + pmic { @@ -372,6 +365,20 @@ + status = "okay"; +}; + ++&emmc { ++ bus-width = <8>; ++ cap-mmc-highspeed; ++ max-frequency = <150000000>; ++ mmc-ddr-1_8v; ++ mmc-hs200-1_8v; ++ non-removable; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>; ++ vmmc-supply = <&vcc_io_33>; ++ vqmmc-supply = <&vcc18_emmc>; ++ status = "okay"; ++}; ++ +&tsadc { + rockchip,hw-tshut-mode = <0>; + rockchip,hw-tshut-polarity = <0>; @@ -422,3 +429,5 @@ + realtek,led-data = <0x87>; + }; +}; +-- +2.25.1 diff --git a/target/linux/x86/patches-5.15/993-bnx2x_warpcore_8727_2_5g_sgmii_txfault.patch b/target/linux/x86/patches-5.15/993-bnx2x_warpcore_8727_2_5g_sgmii_txfault.patch index e6ae5d75c..2e14e040c 100644 --- a/target/linux/x86/patches-5.15/993-bnx2x_warpcore_8727_2_5g_sgmii_txfault.patch +++ b/target/linux/x86/patches-5.15/993-bnx2x_warpcore_8727_2_5g_sgmii_txfault.patch @@ -182,7 +182,7 @@ /* Clean trail, interrupt corrects the leds */ --- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c +++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c -@@ -110,6 +110,10 @@ static int disable_tpa; +@@ -113,6 +113,10 @@ static int disable_tpa; module_param(disable_tpa, int, 0444); MODULE_PARM_DESC(disable_tpa, " Disable the TPA (LRO) feature"); @@ -193,7 +193,7 @@ static int int_mode; module_param(int_mode, int, 0444); MODULE_PARM_DESC(int_mode, " Force interrupt mode other than MSI-X " -@@ -12343,6 +12347,8 @@ static int bnx2x_init_bp(struct bnx2x *b +@@ -12346,6 +12350,8 @@ static int bnx2x_init_bp(struct bnx2x *b if (BP_NOMCP(bp) && (func == 0)) dev_err(&bp->pdev->dev, "MCP disabled, must load devices in order!\n"); diff --git a/tools/Makefile b/tools/Makefile index eb1ad84b9..25a8c1f84 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -46,6 +46,7 @@ $(curdir)/bison/compile := $(curdir)/flex/compile $(curdir)/cbootimage/compile += $(curdir)/automake/compile $(curdir)/cmake/compile += $(curdir)/libressl/compile $(curdir)/ninja/compile $(curdir)/dosfstools/compile := $(curdir)/autoconf/compile $(curdir)/automake/compile +$(curdir)/expat/compile := $(curdir)/cmake/compile $(curdir)/e2fsprogs/compile := $(curdir)/libtool/compile $(curdir)/fakeroot/compile := $(curdir)/libtool/compile $(curdir)/findutils/compile := $(curdir)/bison/compile diff --git a/tools/autoconf-archive/Makefile b/tools/autoconf-archive/Makefile index b3d729f41..228a27cf6 100644 --- a/tools/autoconf-archive/Makefile +++ b/tools/autoconf-archive/Makefile @@ -1,11 +1,11 @@ include $(TOPDIR)/rules.mk PKG_NAME:=autoconf-archive -PKG_VERSION:=2019.01.06 +PKG_VERSION:=2021.02.19 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=@GNU/autoconf-archive -PKG_HASH:=17195c833098da79de5778ee90948f4c5d90ed1a0cf8391b4ab348e2ec511e3f +PKG_HASH:=e8a6eb9d28ddcba8ffef3fa211653239e9bf239aba6a01a6b7cfc7ceaec69cbd include $(INCLUDE_DIR)/host-build.mk diff --git a/tools/bison/Makefile b/tools/bison/Makefile index 8f3043fcb..5f96463ae 100644 --- a/tools/bison/Makefile +++ b/tools/bison/Makefile @@ -7,11 +7,11 @@ include $(TOPDIR)/rules.mk PKG_NAME:=bison -PKG_VERSION:=3.7.4 +PKG_VERSION:=3.8.2 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=@GNU/$(PKG_NAME) -PKG_HASH:=a3b5813f48a11e540ef26f46e4d288c0c25c7907d9879ae50e430ec49f63c010 +PKG_HASH:=9bba0214ccf7f1079c5d59210045227bcf619519840ebfa80cd3849cff5a5bf2 HOST_BUILD_PARALLEL:=1 diff --git a/tools/bison/patches/100-fix-gets-removal.patch b/tools/bison/patches/100-fix-gets-removal.patch deleted file mode 100644 index 534713f18..000000000 --- a/tools/bison/patches/100-fix-gets-removal.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- a/lib/stdio.in.h -+++ b/lib/stdio.in.h -@@ -835,14 +835,6 @@ _GL_WARN_ON_USE (getline, "getline is un - # endif - #endif - --/* It is very rare that the developer ever has full control of stdin, -- so any use of gets warrants an unconditional warning; besides, C11 -- removed it. */ --#undef gets --#if HAVE_RAW_DECL_GETS && !defined __cplusplus --_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); --#endif -- - #if defined _WIN32 && !defined __CYGWIN__ - # undef getw - # define getw _getw diff --git a/tools/ccache/Makefile b/tools/ccache/Makefile index 002b77f8c..3efbcea32 100644 --- a/tools/ccache/Makefile +++ b/tools/ccache/Makefile @@ -8,11 +8,11 @@ include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/target.mk PKG_NAME:=ccache -PKG_VERSION:=4.4.2 +PKG_VERSION:=4.5.1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=https://github.com/ccache/ccache/releases/download/v$(PKG_VERSION) -PKG_HASH:=9200cafbaa5fd62c2600fccb40a18214e57747825e6cdcd76688b4b61c2dcba0 +PKG_HASH:=51186ebe0326365f4e6131e1caa8911de7da4aa6718efc00680322d63a759517 HOST_BUILD_PARALLEL:=1 diff --git a/tools/cmake/Makefile b/tools/cmake/Makefile index 8f0631eb7..d1d5b58a4 100644 --- a/tools/cmake/Makefile +++ b/tools/cmake/Makefile @@ -7,14 +7,14 @@ include $(TOPDIR)/rules.mk PKG_NAME:=cmake -PKG_VERSION:=3.22.1 +PKG_VERSION:=3.22.2 PKG_RELEASE:=1 PKG_CPE_ID:=cpe:/a:kitware:cmake PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://github.com/Kitware/CMake/releases/download/v$(PKG_VERSION)/ \ https://cmake.org/files/v3.19/ -PKG_HASH:=0e998229549d7b3f368703d20e248e7ee1f853910d42704aa87918c213ea82c0 +PKG_HASH:=3c1c478b9650b107d452c5bd545c72e2fad4e37c09b89a1984b9a2f46df6aced HOST_BUILD_PARALLEL:=1 HOST_CONFIGURE_PARALLEL:=1 diff --git a/tools/e2fsprogs/Makefile b/tools/e2fsprogs/Makefile index d7c994c33..f8ca48222 100644 --- a/tools/e2fsprogs/Makefile +++ b/tools/e2fsprogs/Makefile @@ -9,8 +9,8 @@ include $(TOPDIR)/rules.mk PKG_NAME:=e2fsprogs PKG_CPE_ID:=cpe:/a:e2fsprogs_project:e2fsprogs -PKG_VERSION:=1.45.6 -PKG_HASH:=ffa7ae6954395abdc50d0f8605d8be84736465afc53b8938ef473fcf7ff44256 +PKG_VERSION:=1.46.4 +PKG_HASH:=b11042533c1b1dcf17512f0da48e05b0c573dada1dd8b762864d10f4dc399713 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz @@ -23,7 +23,7 @@ include $(INCLUDE_DIR)/host-build.mk ifneq ($(shell $(HOSTCC) --version | grep clang),) HOST_CFLAGS += -D__GNUC_PREREQ\(...\)=0 -Dloff_t=off_t endif -HOST_CFLAGS += $(FPIC) +HOST_CFLAGS += $(HOST_FPIC) HOST_CONFIGURE_ARGS += \ --disable-elf-shlibs \ diff --git a/tools/e2fsprogs/patches/001-exit_0_on_corrected_errors.patch b/tools/e2fsprogs/patches/001-exit_0_on_corrected_errors.patch index 67a30f610..9b9b06d54 100644 --- a/tools/e2fsprogs/patches/001-exit_0_on_corrected_errors.patch +++ b/tools/e2fsprogs/patches/001-exit_0_on_corrected_errors.patch @@ -1,6 +1,6 @@ --- a/e2fsck/e2fsck.h +++ b/e2fsck/e2fsck.h -@@ -73,7 +73,7 @@ +@@ -74,7 +74,7 @@ * Exit codes used by fsck-type programs */ #define FSCK_OK 0 /* No errors */ diff --git a/tools/e2fsprogs/patches/002-dont-build-e4defrag.patch b/tools/e2fsprogs/patches/002-dont-build-e4defrag.patch index 2a7842f65..f59cd317a 100644 --- a/tools/e2fsprogs/patches/002-dont-build-e4defrag.patch +++ b/tools/e2fsprogs/patches/002-dont-build-e4defrag.patch @@ -1,6 +1,6 @@ --- a/misc/Makefile.in +++ b/misc/Makefile.in -@@ -11,7 +11,7 @@ INSTALL = @INSTALL@ +@@ -12,7 +12,7 @@ MKDIR_P = @MKDIR_P@ @MCONFIG@ diff --git a/tools/e2fsprogs/patches/003-no-crond.patch b/tools/e2fsprogs/patches/003-no-crond.patch index 87b50bff2..a7ea52b1a 100644 --- a/tools/e2fsprogs/patches/003-no-crond.patch +++ b/tools/e2fsprogs/patches/003-no-crond.patch @@ -1,6 +1,6 @@ --- a/configure +++ b/configure -@@ -14525,7 +14525,7 @@ $as_echo_n "checking for system crontab +@@ -12538,7 +12538,7 @@ $as_echo_n "checking for system crontab { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${crond_dir}" >&5 $as_echo "${crond_dir}" >&6; } diff --git a/tools/expat/Makefile b/tools/expat/Makefile index cfc70b2a4..0bc54a3d4 100644 --- a/tools/expat/Makefile +++ b/tools/expat/Makefile @@ -9,21 +9,25 @@ include $(TOPDIR)/rules.mk PKG_NAME:=expat PKG_CPE_ID:=cpe:/a:libexpat:expat -PKG_VERSION:=2.2.10 +PKG_VERSION:=2.4.6 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 -PKG_HASH:=b2c160f1b60e92da69de8e12333096aeb0c3bf692d41c60794de278af72135a5 +PKG_HASH:=ce317706b07cae150f90cddd4253f5b4fba929607488af5ac47bf2bc08e31f09 PKG_SOURCE_URL:=https://github.com/libexpat/libexpat/releases/download/R_$(subst .,_,$(PKG_VERSION)) -HOST_BUILD_PARALLEL:=1 - include $(INCLUDE_DIR)/host-build.mk +include $(INCLUDE_DIR)/cmake.mk -HOST_CONFIGURE_ARGS += \ - --without-docbook - -define Host/Install - $(MAKE) -C $(HOST_BUILD_DIR) install -endef +CMAKE_HOST_OPTIONS += \ + -DDOCBOOK_TO_MAN=OFF \ + -DEXPAT_BUILD_TOOLS=OFF \ + -DEXPAT_BUILD_EXAMPLES=OFF \ + -DEXPAT_BUILD_TESTS=OFF \ + -DEXPAT_BUILD_DOCS=OFF \ + -DEXPAT_WITH_LIBBSD=OFF \ + -DEXPAT_ENABLE_INSTALL=ON \ + -DEXPAT_DTD=OFF \ + -DEXPAT_NS=OFF \ + -DEXPAT_DEV_URANDOM=OFF $(eval $(call HostBuild)) diff --git a/tools/fakeroot/Makefile b/tools/fakeroot/Makefile index 61bc27b90..adae33209 100644 --- a/tools/fakeroot/Makefile +++ b/tools/fakeroot/Makefile @@ -5,12 +5,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=fakeroot -PKG_VERSION:=1.25.3 +PKG_VERSION:=1.27 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)_$(PKG_VERSION).orig.tar.gz PKG_SOURCE_URL:=@DEBIAN/pool/main/f/fakeroot -PKG_HASH:=8e903683357f7f5bcc31b879fd743391ad47691d4be33d24a76be3b6c21e956c +PKG_HASH:=3c45eb2d1802a2762069e2e9d21bdd6fb533592bc0cda74c9aff066ab01caddc PKG_LICENSE:=GPL-3.0-or-later PKG_LICENSE_FILES:=COPYING PKG_FIXUP:=autoreconf @@ -19,7 +19,8 @@ include $(INCLUDE_DIR)/host-build.mk HOST_CONFIGURE_VARS += \ ac_cv_header_sys_capability_h=no \ - ac_cv_func_capset=no + ac_cv_func_capset=no \ + CPP="$(HOSTCC) -E" HOST_CONFIGURE_ARGS += \ --with-ipc=tcp diff --git a/tools/fakeroot/patches/100-portability.patch b/tools/fakeroot/patches/100-portability.patch deleted file mode 100644 index 7ba12996b..000000000 --- a/tools/fakeroot/patches/100-portability.patch +++ /dev/null @@ -1,138 +0,0 @@ ---- a/libfakeroot.c -+++ b/libfakeroot.c -@@ -112,8 +112,16 @@ - #define INT_SEND_STAT(a,b) SEND_STAT(a,b,_STAT_VER) - #define INT_SEND_GET_XATTR(a,b) SEND_GET_XATTR(a,b,_STAT_VER) - #define INT_SEND_GET_STAT(a,b) SEND_GET_STAT(a,b) -+ -+/* 10.10 uses id_t in getpriority/setpriority calls, so pretend -+ id_t is used everywhere, just happens to be int on some OSes */ -+#ifndef _ID_T -+#define _ID_T -+typedef int id_t; -+#endif - #endif - -+#include - #include - #include - #include -@@ -125,7 +133,6 @@ - #include - #include - #include --#include - #ifdef HAVE_SYS_ACL_H - #include - #endif /* HAVE_SYS_ACL_H */ -@@ -188,6 +195,15 @@ extern int unsetenv (const char *name); - #undef __lxstat64 - #undef _FILE_OFFSET_BITS - -+ -+#ifndef AT_EMPTY_PATH -+#define AT_EMPTY_PATH 0 -+#endif -+ -+#ifndef AT_NO_AUTOMOUNT -+#define AT_NO_AUTOMOUNT 0 -+#endif -+ - /* - // next_wrap_st: - // this structure is used in next_wrap, which is defined in -@@ -1911,7 +1927,7 @@ ssize_t fremovexattr(int fd, const char - } - #endif /* HAVE_FREMOVEXATTR */ - --int setpriority(int which, int who, int prio){ -+int setpriority(int which, id_t who, int prio){ - if (fakeroot_disabled) - return next_setpriority(which, who, prio); - next_setpriority(which, who, prio); -@@ -2520,3 +2536,19 @@ int sysinfo(int command, char *buf, long - } - } - #endif -+ -+#ifdef HAVE_OPENAT -+int openat(int dir_fd, const char *pathname, int flags, ...) -+{ -+ mode_t mode; -+ -+ if (flags & O_CREAT) { -+ va_list args; -+ va_start(args, flags); -+ mode = va_arg(args, int); -+ va_end(args); -+ } -+ -+ return next_openat(dir_fd, pathname, flags, mode); -+} -+#endif ---- a/wrapfunc.inp -+++ b/wrapfunc.inp -@@ -146,7 +146,7 @@ setfsgid;gid_t;(gid_t fsgid);(fsgid) - initgroups;int;(const char *user, INITGROUPS_SECOND_ARG group);(user, group) - getgroups;int;(int size, gid_t list[]);(size, list) - setgroups;int;(SETGROUPS_SIZE_TYPE size, const gid_t *list);(size, list) --setpriority;int;(int which, int who, int prio);(which, who, prio) -+setpriority;int;(int which, id_t who, int prio);(which, who, prio) - #ifdef HAVE_CAPSET - capset;int;(cap_user_header_t hdrp, const cap_user_data_t datap);(hdrp, datap) - #endif /* HAVE_CAPSET */ -@@ -198,7 +198,7 @@ fchownat;int;(int dir_fd, const char *pa - mkdirat;int;(int dir_fd, const char *pathname, mode_t mode);(dir_fd, pathname, mode) - #endif /* HAVE_MKDIRAT */ - #ifdef HAVE_OPENAT --openat;int;(int dir_fd, const char *pathname, int flags);(dir_fd, pathname, flags) -+openat;int;(int dir_fd, const char *pathname, int flags, mode_t mode);(dir_fd, pathname, flags, mode);;(int dir_fd, const char *pathname, int flags, ...) - #endif /* HAVE_OPENAT */ - #ifdef HAVE_RENAMEAT - renameat;int;(int olddir_fd, const char *oldpath, int newdir_fd, const char *newpath);(olddir_fd, oldpath, newdir_fd, newpath) ---- a/wrapawk_macosx -+++ b/wrapawk_macosx -@@ -46,26 +46,30 @@ BEGIN{ - argtype=$3; - argname=$4; - MACRO=$5; -+ argtype_def=$6 -+ if(!argtype_def) { -+ argtype_def = argtype -+ } - if(MACRO){ - print "extern " ret " MY_DEF(" name ")" argtype " __attribute__((visibility(\"hidden\")));" > headerfile; - print "INTERPOSE(MY_DEF(" name "_RAW)," name "_RAW);" > structfile; - print "#undef " name > deffile - print "#define " name " MY_DEF(" name "_RAW)" > deffile - -- print "extern " ret, name, argtype ";" > tmpffile; -+ print "extern " ret, name, argtype_def ";" > tmpffile; - print "static __inline__ " ret " NEXT_" MACRO "_NOARG " argtype " __attribute__((always_inline));" > tmpffile; - print "static __inline__ " ret " NEXT_" MACRO "_NOARG " argtype " {" > tmpffile; - print " return " name, argname ";" > tmpffile; - print "}" > tmpffile; - print "" > tmpffile; - } else { -- print "extern " ret " my_" name, argtype " __attribute__((visibility(\"hidden\")));" > headerfile; -+ print "extern " ret " my_" name, argtype_def " __attribute__((visibility(\"hidden\")));" > headerfile; - print "#undef " name > structfile; - print "INTERPOSE(my_" name "," name ");" > structfile; - print "#define " name " my_" name > structfile - print "#define " name " my_" name > deffile - -- print "extern " ret, name, argtype ";" > tmpffile; -+ print "extern " ret, name, argtype_def ";" > tmpffile; - if(argname){ - print "static __inline__ " ret " next_" name, argtype " __attribute__((always_inline));" > tmpffile; - print "static __inline__ " ret " next_" name, argtype " {" > tmpffile; ---- a/configure.ac -+++ b/configure.ac -@@ -146,6 +146,7 @@ for first in size_t int; do - #include - #endif - #include -+#include - #ifdef HAVE_GRP_H - #include - #endif diff --git a/tools/fakeroot/patches/300-glibc-2.33-compatibility.patch b/tools/fakeroot/patches/300-glibc-2.33-compatibility.patch deleted file mode 100644 index a460cace0..000000000 --- a/tools/fakeroot/patches/300-glibc-2.33-compatibility.patch +++ /dev/null @@ -1,145 +0,0 @@ ---- a/libfakeroot.c -+++ b/libfakeroot.c -@@ -90,6 +90,16 @@ - #define SEND_GET_XATTR64(a,b,c) send_get_xattr64(a,b) - #endif - -+#ifndef _STAT_VER -+ #if defined (__aarch64__) -+ #define _STAT_VER 0 -+ #elif defined (__x86_64__) -+ #define _STAT_VER 1 -+ #else -+ #define _STAT_VER 3 -+ #endif -+#endif -+ - /* - These INT_* (which stands for internal) macros should always be used when - the fakeroot library owns the storage of the stat variable. -@@ -1358,6 +1368,54 @@ int renameat(int olddir_fd, const char * - #endif /* HAVE_FSTATAT */ - - -+#if defined(__GLIBC__) && __GLIBC_PREREQ(2,33) -+/* Glibc 2.33 exports symbols for these functions in the shared lib */ -+ int lstat(const char *file_name, struct stat *statbuf) { -+ return WRAP_LSTAT LSTAT_ARG(_STAT_VER, file_name, statbuf); -+ } -+ int stat(const char *file_name, struct stat *st) { -+ return WRAP_STAT STAT_ARG(_STAT_VER, file_name, st); -+ } -+ int fstat(int fd, struct stat *st) { -+ return WRAP_FSTAT FSTAT_ARG(_STAT_VER, fd, st); -+ } -+ -+ #ifdef HAVE_FSTATAT -+ int fstatat(int dir_fd, const char *path, struct stat *st, int flags) { -+ return WRAP_FSTATAT FSTATAT_ARG(_STAT_VER, dir_fd, path, st, flags); -+ } -+ #endif -+ -+ #ifdef STAT64_SUPPORT -+ int lstat64(const char *file_name, struct stat64 *st) { -+ return WRAP_LSTAT64 LSTAT64_ARG(_STAT_VER, file_name, st); -+ } -+ int stat64(const char *file_name, struct stat64 *st) { -+ return WRAP_STAT64 STAT64_ARG(_STAT_VER, file_name, st); -+ } -+ int fstat64(int fd, struct stat64 *st) { -+ return WRAP_FSTAT64 FSTAT64_ARG(_STAT_VER, fd, st); -+ } -+ -+ #ifdef HAVE_FSTATAT -+ int fstatat64(int dir_fd, const char *path, struct stat64 *st, int flags) { -+ return WRAP_FSTATAT64 FSTATAT64_ARG(_STAT_VER, dir_fd, path, st, flags); -+ } -+ #endif -+ #endif -+ -+ int mknod(const char *pathname, mode_t mode, dev_t dev) { -+ return WRAP_MKNOD MKNOD_ARG(_STAT_VER, pathname, mode, &dev); -+ } -+ -+ #if defined(HAVE_FSTATAT) && defined(HAVE_MKNODAT) -+ int mknodat(int dir_fd, const char *pathname, mode_t mode, dev_t dev) { -+ return WRAP_MKNODAT MKNODAT_ARG(_STAT_VER, dir_fd, pathname, mode, &dev); -+ } -+ #endif -+#endif /* GLIBC_PREREQ */ -+ -+ - #ifdef FAKEROOT_FAKENET - pid_t fork(void) - { -@@ -2024,11 +2082,7 @@ FTSENT *fts_read(FTS *ftsp) { - || r->fts_info == FTS_NS || r->fts_info == FTS_NSOK)) - r->fts_statp = NULL; /* Otherwise fts_statp may be a random pointer */ - if(r && r->fts_statp) { /* Should we bother checking fts_info here? */ --# if defined(STAT64_SUPPORT) && !defined(__APPLE__) -- SEND_GET_STAT64(r->fts_statp, _STAT_VER); --# else - SEND_GET_STAT(r->fts_statp, _STAT_VER); --# endif - } - - return r; -@@ -2047,11 +2101,7 @@ FTSENT *fts_children(FTS *ftsp, int opti - first=next_fts_children(ftsp, options); - for(r = first; r; r = r->fts_link) { - if(r && r->fts_statp) { /* Should we bother checking fts_info here? */ --# if defined(STAT64_SUPPORT) && !defined(__APPLE__) -- SEND_GET_STAT64(r->fts_statp, _STAT_VER); --# else - SEND_GET_STAT(r->fts_statp, _STAT_VER); --# endif - } - } - -@@ -2483,7 +2533,7 @@ int statx (int dirfd, const char *path, - - #ifdef LIBFAKEROOT_DEBUGGING - if (fakeroot_debug) { -- fprintf(stderr, "statx fd %d\n", fd); -+ fprintf(stderr, "statx fd %d\n", dirfd); - } - #endif /* LIBFAKEROOT_DEBUGGING */ - r=INT_NEXT_FSTATAT(dirfd, path, &st, flags); ---- a/configure.ac -+++ b/configure.ac -@@ -184,13 +184,13 @@ AC_MSG_CHECKING([for type of arg of __xm - ]], [[ - int __xmknod ( int ver, - const char *pathname , -- mode_t mode , dev_t dev); -+ mode_t mode , dev_t *dev); - ]])],[ -- AC_DEFINE(XMKNOD_FRTH_ARG,) -- AC_MSG_RESULT([no extra *]) -- ],[ - AC_DEFINE(XMKNOD_FRTH_ARG,[*]) - AC_MSG_RESULT([needs *]) -+ ],[ -+ AC_DEFINE(XMKNOD_FRTH_ARG,) -+ AC_MSG_RESULT([no extra *]) - - ]) - -@@ -211,13 +211,13 @@ AC_MSG_CHECKING([for type of arg of __xm - int __xmknodat ( int ver, - int dirfd, - const char *pathname , -- mode_t mode , dev_t dev); -+ mode_t mode , dev_t *dev); - ]])],[ -- AC_DEFINE(XMKNODAT_FIFTH_ARG,) -- AC_MSG_RESULT([no extra *]) -- ],[ - AC_DEFINE(XMKNODAT_FIFTH_ARG,[*]) - AC_MSG_RESULT([needs *]) -+ ],[ -+ AC_DEFINE(XMKNODAT_FIFTH_ARG,) -+ AC_MSG_RESULT([no extra *]) - - ]) - diff --git a/tools/fakeroot/patches/301-glibc-2.33-compat-fixes.patch b/tools/fakeroot/patches/301-glibc-2.33-compat-fixes.patch deleted file mode 100644 index 0b91d65ed..000000000 --- a/tools/fakeroot/patches/301-glibc-2.33-compat-fixes.patch +++ /dev/null @@ -1,42 +0,0 @@ ---- a/libfakeroot.c -+++ b/libfakeroot.c -@@ -1368,7 +1368,8 @@ int renameat(int olddir_fd, const char * - #endif /* HAVE_FSTATAT */ - - --#if defined(__GLIBC__) && __GLIBC_PREREQ(2,33) -+#if defined(__GLIBC__) -+#if __GLIBC_PREREQ(2,33) - /* Glibc 2.33 exports symbols for these functions in the shared lib */ - int lstat(const char *file_name, struct stat *statbuf) { - return WRAP_LSTAT LSTAT_ARG(_STAT_VER, file_name, statbuf); -@@ -1413,6 +1414,7 @@ int renameat(int olddir_fd, const char * - return WRAP_MKNODAT MKNODAT_ARG(_STAT_VER, dir_fd, pathname, mode, &dev); - } - #endif -+#endif /* __GLIBC__ */ - #endif /* GLIBC_PREREQ */ - - ---- a/configure.ac -+++ b/configure.ac -@@ -182,6 +182,9 @@ AC_MSG_CHECKING([for type of arg of __xm - #include - #include - ]], [[ -+#ifndef __GLIBC__ -+#error no extra * -+#endif - int __xmknod ( int ver, - const char *pathname , - mode_t mode , dev_t *dev); -@@ -208,6 +211,9 @@ AC_MSG_CHECKING([for type of arg of __xm - #include - #include - ]], [[ -+#ifndef __GLIBC__ -+#error no extra * -+#endif - int __xmknodat ( int ver, - int dirfd, - const char *pathname , diff --git a/tools/fakeroot/patches/400-alpine-libc.musl-fix.patch b/tools/fakeroot/patches/400-alpine-libc.musl-fix.patch index 619b092ca..730732db2 100644 --- a/tools/fakeroot/patches/400-alpine-libc.musl-fix.patch +++ b/tools/fakeroot/patches/400-alpine-libc.musl-fix.patch @@ -6,7 +6,7 @@ Error relocating openwrt/staging_dir/host/lib/libfakeroot.so: SEND_GET_XATTR: sy --- a/libfakeroot.c +++ b/libfakeroot.c -@@ -81,12 +81,14 @@ +@@ -86,12 +86,14 @@ #define SEND_STAT64(a,b,c) send_stat64(a,b,c) #define SEND_GET_STAT(a,b) send_get_stat(a,b) #define SEND_GET_STAT64(a,b) send_get_stat64(a,b) @@ -21,7 +21,7 @@ Error relocating openwrt/staging_dir/host/lib/libfakeroot.so: SEND_GET_XATTR: sy #define SEND_GET_XATTR64(a,b,c) send_get_xattr64(a,b) #endif -@@ -125,8 +127,9 @@ +@@ -136,8 +138,9 @@ /* 10.10 uses id_t in getpriority/setpriority calls, so pretend id_t is used everywhere, just happens to be int on some OSes */ diff --git a/tools/fakeroot/patches/600-macOS.patch b/tools/fakeroot/patches/600-macOS.patch new file mode 100644 index 000000000..59e668eb9 --- /dev/null +++ b/tools/fakeroot/patches/600-macOS.patch @@ -0,0 +1,13 @@ +--- a/communicate.c ++++ b/communicate.c +@@ -441,6 +441,10 @@ void semaphore_down(){ + + #else /* FAKEROOT_FAKENET */ + ++#ifndef SOL_TCP ++# define SOL_TCP 6 /* this should probably be done with getprotoent */ ++#endif ++ + static struct sockaddr *get_addr(void) + { + static struct sockaddr_in addr = { 0, 0, { 0 } }; diff --git a/tools/findutils/Makefile b/tools/findutils/Makefile index 606df4fa2..d0d780689 100644 --- a/tools/findutils/Makefile +++ b/tools/findutils/Makefile @@ -8,16 +8,20 @@ include $(TOPDIR)/rules.mk PKG_NAME:=findutils PKG_CPE_ID:=cpe:/a:gnu:findutils -PKG_VERSION:=4.7.0 +PKG_VERSION:=4.9.0 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=@GNU/$(PKG_NAME) -PKG_HASH:=c5fefbdf9858f7e4feb86f036e1247a54c79fc2d8e4b7064d5aaa1f47dfa789a +PKG_HASH:=a2bfb8c09d436770edc59f50fa483e785b161a3b7b9d547573cb08065fd462fe HOST_BUILD_PARALLEL:=1 include $(INCLUDE_DIR)/host-build.mk +ifeq ($(HOST_OS),Darwin) + HOST_CFLAGS +=-D__nonnull\\(params\\)= +endif + HOST_CONFIGURE_ARGS += \ --enable-threads=pth \ --disable-rpath \ diff --git a/tools/findutils/patches/010-endpwent.patch b/tools/findutils/patches/010-endpwent.patch new file mode 100644 index 000000000..dc346f3f7 --- /dev/null +++ b/tools/findutils/patches/010-endpwent.patch @@ -0,0 +1,20 @@ +--- a/find/parser.c ++++ b/find/parser.c +@@ -67,12 +67,12 @@ + #include "findutils-version.h" + #include "system.h" + +- +-#ifndef HAVE_ENDGRENT +-# define endgrent () ++#if ! HAVE_ENDGRENT ++# define endgrent() ((void) 0) + #endif +-#ifndef HAVE_ENDPWENT +-# define endpwent () ++ ++#if ! HAVE_ENDPWENT ++# define endpwent() ((void) 0) + #endif + + static bool parse_accesscheck (const struct parser_table*, char *argv[], int *arg_ptr); diff --git a/tools/mtools/Makefile b/tools/mtools/Makefile index b7fdcb388..c10e887b3 100644 --- a/tools/mtools/Makefile +++ b/tools/mtools/Makefile @@ -7,11 +7,11 @@ include $(TOPDIR)/rules.mk PKG_NAME:=mtools -PKG_VERSION:=4.0.24 +PKG_VERSION:=4.0.37 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL:=@GNU/$(PKG_NAME) -PKG_HASH:=24f4a2da9219f98498eb1b340cd96db7ef9b684c067d1bdeb6e85efdd13b2fb9 +PKG_HASH:=799b197e23e47b61259628810b27790efb7a1fe36037ef1da8a27b0ae4fa8342 HOST_BUILD_PARALLEL:=1 diff --git a/tools/tar/Makefile b/tools/tar/Makefile index d69ee40f0..f1dfc11f9 100644 --- a/tools/tar/Makefile +++ b/tools/tar/Makefile @@ -8,11 +8,11 @@ include $(TOPDIR)/rules.mk PKG_NAME:=tar PKG_CPE_ID:=cpe:/a:gnu:tar -PKG_VERSION:=1.32 +PKG_VERSION:=1.34 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=@GNU/tar -PKG_HASH:=d0d3ae07f103323be809bc3eac0dcc386d52c5262499fe05511ac4788af1fdd8 +PKG_HASH:=63bebd26879c5e1eea4352f0d03c991f966aeb3ddeb3c7445c902568d5411d28 HOST_BUILD_PARALLEL:=1 diff --git a/tools/tar/patches/110-symlink-force-permissions.patch b/tools/tar/patches/110-symlink-force-permissions.patch index e9a32f7d1..4a80de6ef 100644 --- a/tools/tar/patches/110-symlink-force-permissions.patch +++ b/tools/tar/patches/110-symlink-force-permissions.patch @@ -1,6 +1,6 @@ --- a/src/create.c +++ b/src/create.c -@@ -1852,6 +1852,7 @@ dump_file0 (struct tar_stat_info *st, ch +@@ -1844,6 +1844,7 @@ dump_file0 (struct tar_stat_info *st, ch #ifdef HAVE_READLINK else if (S_ISLNK (st->stat.st_mode)) {