From 56b346b45211d8df3d8d92b19edbee70cae00e14 Mon Sep 17 00:00:00 2001 From: Clayton Craft Date: Fri, 8 Apr 2022 14:27:54 -0700 Subject: [PATCH] main/linux-purism-librem5: upgrade to 5.16.18 (MR 3066) - Enable Broadcom and Marvel wifi drivers (cards exist that can be installed in the L5) - Add workaround that helps with modem disappearing when modem PM is enabled. Doesn't solve it completely, but it makes the problem much less frequent. --- .../0004-usb-hub-reset-workarounds.patch | 30 ++++++++++++ device/main/linux-purism-librem5/APKBUILD | 8 ++-- .../config-purism-librem5.aarch64 | 47 ++++++++++++++++--- 3 files changed, 75 insertions(+), 10 deletions(-) create mode 100644 device/main/linux-purism-librem5/0004-usb-hub-reset-workarounds.patch diff --git a/device/main/linux-purism-librem5/0004-usb-hub-reset-workarounds.patch b/device/main/linux-purism-librem5/0004-usb-hub-reset-workarounds.patch new file mode 100644 index 000000000..fe78ba9f6 --- /dev/null +++ b/device/main/linux-purism-librem5/0004-usb-hub-reset-workarounds.patch @@ -0,0 +1,30 @@ +From 9c643517c34e8d9c2d176ace6349fb79ffbc8694 Mon Sep 17 00:00:00 2001 +From: Clayton Craft +Date: Mon, 14 Mar 2022 23:49:45 -0700 +Subject: [PATCH] usb hub reset workarounds + +--- + drivers/usb/core/quirks.c | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c +index d3c14b5ed4a1..1da62e5a744b 100644 +--- a/drivers/usb/core/quirks.c ++++ b/drivers/usb/core/quirks.c +@@ -208,7 +208,12 @@ static const struct usb_device_id usb_quirk_list[] = { + /* Creative SB Audigy 2 NX */ + { USB_DEVICE(0x041e, 0x3020), .driver_info = USB_QUIRK_RESET_RESUME }, + +- /* USB3503 */ ++ /* Microchip Hub USB2642 */ ++ { USB_DEVICE(0x0424, 0x2640), .driver_info = USB_QUIRK_HUB_SLOW_RESET }, ++ ++ /* Microchip Hub USB3503 */ ++ { USB_DEVICE(0x0424, 0x3503), .driver_info = USB_QUIRK_RESET_RESUME }, ++ + { USB_DEVICE(0x0424, 0x3503), .driver_info = USB_QUIRK_RESET_RESUME }, + + /* Microsoft Wireless Laser Mouse 6000 Receiver */ +-- +2.35.1 + diff --git a/device/main/linux-purism-librem5/APKBUILD b/device/main/linux-purism-librem5/APKBUILD index 9c944bdd9..f04515d1d 100644 --- a/device/main/linux-purism-librem5/APKBUILD +++ b/device/main/linux-purism-librem5/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: Clayton Craft # Co-Maintainer: Bhushan Shah pkgname=linux-purism-librem5 -pkgver=5.16.16 +pkgver=5.16.18 pkgrel=0 _purismrel=1 # . @@ -40,6 +40,7 @@ source=" 0001-bq25890_charger-enter-ship-mode-on-power-off.patch 0002-arm64-dts-imx8mq-librem5.dtsi-adjust-the-usdhc-bus-s.patch 0003-imx8mq-librem5-r3-Set-the-CPU-voltage-to-1.0V-when-r.patch + 0004-usb-hub-reset-workarounds.patch $_config " builddir="$srcdir/$_repository-pureos-$_purismver" @@ -79,9 +80,10 @@ dev() { INSTALL_HDR_PATH="$subpkgdir"/usr } sha512sums=" -0f776cdbdd6529a8618818a19e5817e302d2df70f2fe0ca7971d0daadb47ebd94d3c2394e78d4a5a42bf0c9515f84e991dde4a53bb7a83ac1642a0d26e0d0d5f linux-purism-librem5-5.16.16pureos1.tar.gz +d59c26eb5e8f4ecaf5fb97f5431e37eae7458bf791c545a4e01b14409487a254ff88a20e9fba90142944224ee23601647df1d3c4f1d9f21ec5852e30bdeb82e6 linux-purism-librem5-5.16.18pureos1.tar.gz 0e3caf6275247e31b874b94330dc4f991837a4b62f3c15a1f8ad39a7edd02ae499679bcd7ddc9463bb1c1a5073ea5980fa144a2ece804d72a6b2fc8c76c50766 0001-bq25890_charger-enter-ship-mode-on-power-off.patch 1dbf2adaf097bcce3ee179cd6b0f10d2ebefdc82191d34fffea8cb336c9dcbc66b717bf97a2e264b8068f178c0254f2b1281a09ae72d4825fd7b4a39916c0461 0002-arm64-dts-imx8mq-librem5.dtsi-adjust-the-usdhc-bus-s.patch c52f9e7e17f876697000a0c3b959a0d571ca506ba55ee5158e30ac00e148372097c88951a354190f669137a955405c87042a925c1bbe3cd91df40721650d45d3 0003-imx8mq-librem5-r3-Set-the-CPU-voltage-to-1.0V-when-r.patch -9f561f74d826bf1cd166f87a22936c744ef9148f3508359d423df75efdf60ec24f18b0938ae3bb16b5aa5eaba4826fcde38b2ad2feae2027378f19e94ff60394 config-purism-librem5.aarch64 +681f6687e37fe74d9eb74ba85b09b6a165a9b955834e1dcb9a489499ce3e224385b789e1c30e44aad470a51d40326e9f8910cec1795eccdecf4b72865872be36 0004-usb-hub-reset-workarounds.patch +944406eb210f6f020e440f50c166c347115a0e2439dc824fa66cf134cea7f4a5acc548db15d9f225dc59cadc39b6547e2662610ae36b3b9be0ca1078b165e8e4 config-purism-librem5.aarch64 " diff --git a/device/main/linux-purism-librem5/config-purism-librem5.aarch64 b/device/main/linux-purism-librem5/config-purism-librem5.aarch64 index 343a1830e..62ed69caf 100644 --- a/device/main/linux-purism-librem5/config-purism-librem5.aarch64 +++ b/device/main/linux-purism-librem5/config-purism-librem5.aarch64 @@ -1,15 +1,15 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/arm64 5.16.7 Kernel Configuration +# Linux/arm64 5.16.18 Kernel Configuration # -CONFIG_CC_VERSION_TEXT="aarch64-alpine-linux-musl-gcc (Alpine 11.2.1_git20220117) 11.2.1 20220117" +CONFIG_CC_VERSION_TEXT="aarch64-alpine-linux-musl-gcc (Alpine 11.2.1_git20220219) 11.2.1 20220219" CONFIG_CC_IS_GCC=y CONFIG_GCC_VERSION=110201 CONFIG_CLANG_VERSION=0 CONFIG_AS_IS_GNU=y -CONFIG_AS_VERSION=23700 +CONFIG_AS_VERSION=23800 CONFIG_LD_IS_BFD=y -CONFIG_LD_VERSION=23700 +CONFIG_LD_VERSION=23800 CONFIG_LLD_VERSION=0 CONFIG_CC_HAS_ASM_GOTO=y CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y @@ -361,6 +361,8 @@ CONFIG_ARM64_WORKAROUND_REPEAT_TLBI=y CONFIG_ARM64_ERRATUM_1463225=y CONFIG_ARM64_ERRATUM_1542419=y CONFIG_ARM64_ERRATUM_1508412=y +CONFIG_ARM64_ERRATUM_2051678=y +# CONFIG_ARM64_ERRATUM_2077057 is not set CONFIG_ARM64_WORKAROUND_TSB_FLUSH_FAILURE=y CONFIG_ARM64_ERRATUM_2054223=y CONFIG_ARM64_ERRATUM_2067961=y @@ -403,7 +405,6 @@ CONFIG_HZ=250 CONFIG_SCHED_HRTICK=y CONFIG_ARCH_SPARSEMEM_ENABLE=y CONFIG_HW_PERF_EVENTS=y -CONFIG_ARCH_HAS_FILTER_PGPROT=y # CONFIG_PARAVIRT is not set # CONFIG_PARAVIRT_TIME_ACCOUNTING is not set # CONFIG_KEXEC is not set @@ -412,6 +413,7 @@ CONFIG_ARCH_HAS_FILTER_PGPROT=y # CONFIG_XEN is not set CONFIG_FORCE_MAX_ZONEORDER=11 CONFIG_UNMAP_KERNEL_AT_EL0=y +CONFIG_MITIGATE_SPECTRE_BRANCH_HISTORY=y CONFIG_RODATA_FULL_DEFAULT_ENABLED=y # CONFIG_ARM64_SW_TTBR0_PAN is not set CONFIG_ARM64_TAGGED_ADDR_ABI=y @@ -1523,8 +1525,10 @@ CONFIG_STREAM_PARSER=y # CONFIG_MCTP is not set CONFIG_FIB_RULES=y CONFIG_WIRELESS=y +CONFIG_WIRELESS_EXT=y CONFIG_WEXT_CORE=y CONFIG_WEXT_PROC=y +CONFIG_WEXT_SPY=y CONFIG_CFG80211=m # CONFIG_NL80211_TESTMODE is not set # CONFIG_CFG80211_DEVELOPER_WARNINGS is not set @@ -1534,6 +1538,8 @@ CONFIG_CFG80211_DEFAULT_PS=y # CONFIG_CFG80211_DEBUGFS is not set CONFIG_CFG80211_CRDA_SUPPORT=y CONFIG_CFG80211_WEXT=y +CONFIG_LIB80211=m +# CONFIG_LIB80211_DEBUG is not set CONFIG_MAC80211=m CONFIG_MAC80211_HAS_RC=y CONFIG_MAC80211_RC_MINSTREL=y @@ -2394,11 +2400,36 @@ CONFIG_WLAN=y # CONFIG_WLAN_VENDOR_ADMTEK is not set # CONFIG_WLAN_VENDOR_ATH is not set # CONFIG_WLAN_VENDOR_ATMEL is not set -# CONFIG_WLAN_VENDOR_BROADCOM is not set +CONFIG_WLAN_VENDOR_BROADCOM=y +# CONFIG_B43 is not set +# CONFIG_B43LEGACY is not set +CONFIG_BRCMUTIL=m +# CONFIG_BRCMSMAC is not set +CONFIG_BRCMFMAC=m +CONFIG_BRCMFMAC_PROTO_BCDC=y +CONFIG_BRCMFMAC_SDIO=y +# CONFIG_BRCMFMAC_USB is not set +# CONFIG_BRCMFMAC_PCIE is not set +CONFIG_BRCM_TRACING=y +CONFIG_BRCMDBG=y # CONFIG_WLAN_VENDOR_CISCO is not set # CONFIG_WLAN_VENDOR_INTEL is not set # CONFIG_WLAN_VENDOR_INTERSIL is not set -# CONFIG_WLAN_VENDOR_MARVELL is not set +CONFIG_WLAN_VENDOR_MARVELL=y +CONFIG_LIBERTAS=m +# CONFIG_LIBERTAS_USB is not set +# CONFIG_LIBERTAS_SDIO is not set +# CONFIG_LIBERTAS_SPI is not set +# CONFIG_LIBERTAS_DEBUG is not set +# CONFIG_LIBERTAS_MESH is not set +CONFIG_LIBERTAS_THINFIRM=m +# CONFIG_LIBERTAS_THINFIRM_DEBUG is not set +# CONFIG_LIBERTAS_THINFIRM_USB is not set +CONFIG_MWIFIEX=m +CONFIG_MWIFIEX_SDIO=m +# CONFIG_MWIFIEX_PCIE is not set +CONFIG_MWIFIEX_USB=m +# CONFIG_MWL8K is not set # CONFIG_WLAN_VENDOR_MEDIATEK is not set CONFIG_WLAN_VENDOR_MICROCHIP=y # CONFIG_WILC1000_SDIO is not set @@ -4035,6 +4066,7 @@ CONFIG_DUMMY_CONSOLE=y CONFIG_DUMMY_CONSOLE_COLUMNS=80 CONFIG_DUMMY_CONSOLE_ROWS=25 CONFIG_FRAMEBUFFER_CONSOLE=y +# CONFIG_FRAMEBUFFER_CONSOLE_LEGACY_ACCELERATION is not set CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y # CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set # CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER is not set @@ -4874,6 +4906,7 @@ CONFIG_TYPEC_TPS6598X=m CONFIG_USB_ROLE_SWITCH=m CONFIG_MMC=y CONFIG_PWRSEQ_EMMC=y +# CONFIG_PWRSEQ_SD8787 is not set CONFIG_PWRSEQ_SIMPLE=y CONFIG_MMC_BLOCK=y CONFIG_MMC_BLOCK_MINORS=32