From de4af423ff1962aeda04774ceed2e585c9e285f5 Mon Sep 17 00:00:00 2001 From: Vitaliy Ognev Date: Fri, 29 Mar 2024 11:07:34 +0200 Subject: [PATCH] testing/linux-powkiddy-x55: WiFi improvements (MR 4972) --- .../device-powkiddy-x55/00-bt-firmware.files | 5 --- device/testing/device-powkiddy-x55/APKBUILD | 13 +------- device/testing/device-powkiddy-x55/rtw88.conf | 1 - device/testing/linux-powkiddy-x55/APKBUILD | 33 ++++++++++--------- .../config-powkiddy-x55.aarch64 | 15 +++------ .../linux-powkiddy-x55/rtw88_wifi_fix.patch | 14 ++++++++ 6 files changed, 36 insertions(+), 45 deletions(-) delete mode 100644 device/testing/device-powkiddy-x55/00-bt-firmware.files delete mode 100644 device/testing/device-powkiddy-x55/rtw88.conf create mode 100644 device/testing/linux-powkiddy-x55/rtw88_wifi_fix.patch diff --git a/device/testing/device-powkiddy-x55/00-bt-firmware.files b/device/testing/device-powkiddy-x55/00-bt-firmware.files deleted file mode 100644 index 3e0163d60..000000000 --- a/device/testing/device-powkiddy-x55/00-bt-firmware.files +++ /dev/null @@ -1,5 +0,0 @@ -# bluetooth firmware -/lib/firmware/rtl_bt/rtl8821cs_fw.bin -# former is a symlink to latter -/lib/firmware/rtl_bt/rtl8821cs_config.bin -/lib/firmware/rtl_bt/rtl8761b_config.bin diff --git a/device/testing/device-powkiddy-x55/APKBUILD b/device/testing/device-powkiddy-x55/APKBUILD index 14bdcc379..b4be9fa9e 100644 --- a/device/testing/device-powkiddy-x55/APKBUILD +++ b/device/testing/device-powkiddy-x55/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: Vitaliy Ognev pkgname=device-powkiddy-x55 pkgdesc="Powkiddy X55" -pkgver=2 +pkgver=3 pkgrel=0 url="https://postmarketos.org" license="MIT" @@ -17,10 +17,8 @@ depends=" " makedepends="devicepkg-dev" source=" - 00-bt-firmware.files cage-ui-powkiddy-x55-rotate.sh deviceinfo - rtw88.conf " subpackages="$pkgname-cage-ui-addons:cage_ui_addons:noarch" _pmb_recommends="powkiddy-x55-mapper" @@ -31,13 +29,6 @@ build() { package() { devicepkg_package $startdir $pkgname - - install -Dm644 "$srcdir"/rtw88.conf -t "$pkgdir"/etc/modprobe.d/ - # See https://lore.kernel.org/lkml/CA+fyA4SqT4jgpWeq_ipp7i3ZM7s=gQkSdtsPw6x+zeJdGcXvqw@mail.gmail.com/. - # When both BT(UART)/WiFi(SDIO) drivers modprobed simultaneously, seems there's a kind of misbehaviour, - # probably related to the fact that both BT/WiFi provided by same chip but accessed via different interfaces. - # Making btrtl compiled into kernel and providing firmware in initramfs seems to work around the problem. - install -Dm644 "$srcdir"/00-bt-firmware.files -t "$pkgdir"/etc/mkinitfs/files/ } cage_ui_addons() { @@ -48,8 +39,6 @@ cage_ui_addons() { } sha512sums=" -6ef832211ba030b0e4c94699bb0b1594166ef26cc8efc3434ff962b28451dbf9e5717e887f4b6cff07cbff32f4c7b4e282bb70a72f2460a564d22b64c3702aa4 00-bt-firmware.files a22986cab90dd8641956e19f8139e1cb7f24a349cb2907cadb0001b0f5ff9be67b7fa717502f3b078ea8db62eb0fdb8de20e35495b4e4db69c0940dcac04996d cage-ui-powkiddy-x55-rotate.sh 71efac86cba6e1982b0557636b08c050da9adcc98ecfa8d91ad96843994434d0e09a0af8094f103c88314a07a20962cad58f05c38109b887399b84b324cb05f1 deviceinfo -3765ba8da5c22965dbcbe199665d78af42187873b3dd0314b78f0e389e5703f40277f8b784566badbe21241a06074e3769a263ba5eb6099c01d6cda0bf024a75 rtw88.conf " diff --git a/device/testing/device-powkiddy-x55/rtw88.conf b/device/testing/device-powkiddy-x55/rtw88.conf deleted file mode 100644 index 98f8a42f7..000000000 --- a/device/testing/device-powkiddy-x55/rtw88.conf +++ /dev/null @@ -1 +0,0 @@ -options rtw88_core disable_lps_deep=Y diff --git a/device/testing/linux-powkiddy-x55/APKBUILD b/device/testing/linux-powkiddy-x55/APKBUILD index 8db3860f4..da7db8075 100644 --- a/device/testing/linux-powkiddy-x55/APKBUILD +++ b/device/testing/linux-powkiddy-x55/APKBUILD @@ -1,10 +1,8 @@ -# Reference: # Maintainer: Vitaliy Ognev -_flavor="powkiddy-x55" pkgname=linux-powkiddy-x55 +pkgdesc="The $pkgname kernel and modules" pkgver=6.8.1 -pkgrel=1 -pkgdesc="Kernel for Powkiddy X55" +pkgrel=2 arch="aarch64" url="https://kernel.org" license="GPL-2.0-only" @@ -24,48 +22,51 @@ makedepends=" xz " +_flavor="powkiddy-x55" _config="config-$_flavor.$arch" case $pkgver in *.*.*) _kernver=${pkgver%.0};; *.*) _kernver=$pkgver;; esac +_version="$_kernver-$pkgrel.$_flavor" +builddir="$srcdir/linux-$_kernver" source=" https://cdn.kernel.org/pub/linux/kernel/v${_kernver%%.*}.x/linux-$_kernver.tar.xz + rtw88_wifi_fix.patch $_config " -builddir="$srcdir/linux-$_kernver" prepare() { default_prepare cp "$srcdir/config-$_flavor.$arch" .config + echo "${_version#$_kernver}" > localversion make ARCH=arm64 olddefconfig } build() { unset LDFLAGS - make ARCH=arm64 \ - KBUILD_BUILD_VERSION="$((pkgrel + 1 ))-$_flavor" + make ARCH=arm64 Image modules dtbs } package() { - install -Dm644 arch/arm64/boot/Image "$pkgdir/boot/vmlinuz" + local _modulesdir="$pkgdir/lib/modules/$_version" - make modules_install dtbs_install \ - ARCH=arm64 \ - INSTALL_MOD_STRIP=1 \ - INSTALL_MOD_PATH="$pkgdir" \ - INSTALL_DTBS_PATH="$pkgdir/boot/dtbs" + install -Dm644 arch/arm64/boot/Image "$pkgdir"/boot/vmlinuz + make ARCH=arm64 \ + INSTALL_MOD_STRIP=1 INSTALL_MOD_PATH="$pkgdir" modules_install \ + INSTALL_DTBS_PATH="$pkgdir/boot/dtbs" dtbs_install - rm -f "$pkgdir"/lib/modules/*/build "$pkgdir"/lib/modules/*/source + rm -f "$_modulesdir"/source "$_modulesdir"/build - install -D "$builddir"/include/config/kernel.release \ + install -D include/config/kernel.release \ -t "$pkgdir"/usr/share/kernel/$_flavor/ } sha512sums=" 255921dd12f1043a4db38b5435b34773267c592f6712815c0851f1e0add71131fb00fd00746200eabdad29ba5b6e38a768da9c048da47fb5aa59d8eaef7d236e linux-6.8.1.tar.xz -d683141bc3eede4af0089ac915b0cf0679f5e0afc2f27db72f10f63934746002bfe73c5f9e57f0cede9b639eee9e42fe1c65b1fcce0661044193704636d67c88 config-powkiddy-x55.aarch64 +b38ed4cfe0f20b440426c4ba55eb727cfa64f01370f22d7aca486df4f44aceec1c1d0790c29b8984b151bee0d3ef671253d220dc0c7bec9fef6a4ce1b6cf6169 rtw88_wifi_fix.patch +98e005a5d456a6c42dd8ae6b758737ef8a42f15edd3a418b148bfc2bace8157973dc42155c1c547dfe5ba643934bd25fd41a77bbf4838a0bbb30f7f774582b28 config-powkiddy-x55.aarch64 " diff --git a/device/testing/linux-powkiddy-x55/config-powkiddy-x55.aarch64 b/device/testing/linux-powkiddy-x55/config-powkiddy-x55.aarch64 index aa1f01e6a..a339b68e7 100644 --- a/device/testing/linux-powkiddy-x55/config-powkiddy-x55.aarch64 +++ b/device/testing/linux-powkiddy-x55/config-powkiddy-x55.aarch64 @@ -27,7 +27,7 @@ CONFIG_THREAD_INFO_IN_TASK=y CONFIG_INIT_ENV_ARG_LIMIT=32 # CONFIG_COMPILE_TEST is not set CONFIG_WERROR=y -CONFIG_LOCALVERSION="-x55" +CONFIG_LOCALVERSION="" # CONFIG_LOCALVERSION_AUTO is not set CONFIG_BUILD_SALT="" CONFIG_DEFAULT_INIT="" @@ -1548,16 +1548,10 @@ CONFIG_BT_DEBUGFS=y # # Bluetooth device drivers # -CONFIG_BT_INTEL=y -CONFIG_BT_RTL=y -CONFIG_BT_HCIBTUSB=y -# CONFIG_BT_HCIBTUSB_AUTOSUSPEND is not set -CONFIG_BT_HCIBTUSB_POLL_SYNC=y -# CONFIG_BT_HCIBTUSB_BCM is not set -# CONFIG_BT_HCIBTUSB_MTK is not set -CONFIG_BT_HCIBTUSB_RTL=y +CONFIG_BT_RTL=m +# CONFIG_BT_HCIBTUSB is not set # CONFIG_BT_HCIBTSDIO is not set -CONFIG_BT_HCIUART=y +CONFIG_BT_HCIUART=m CONFIG_BT_HCIUART_SERDEV=y # CONFIG_BT_HCIUART_H4 is not set # CONFIG_BT_HCIUART_NOKIA is not set @@ -1577,7 +1571,6 @@ CONFIG_BT_HCIUART_RTL=y # CONFIG_BT_HCIBFUSB is not set # CONFIG_BT_HCIVHCI is not set # CONFIG_BT_MRVL is not set -# CONFIG_BT_ATH3K is not set # CONFIG_BT_MTKSDIO is not set # CONFIG_BT_MTKUART is not set # CONFIG_BT_NXPUART is not set diff --git a/device/testing/linux-powkiddy-x55/rtw88_wifi_fix.patch b/device/testing/linux-powkiddy-x55/rtw88_wifi_fix.patch new file mode 100644 index 000000000..f17b3fbc9 --- /dev/null +++ b/device/testing/linux-powkiddy-x55/rtw88_wifi_fix.patch @@ -0,0 +1,14 @@ +diff --git a/arch/arm64/boot/dts/rockchip/rk3566-powkiddy-x55.dts b/arch/arm64/boot/dts/rockchip/rk3566-powkiddy-x55.dts +index 4786b19fd..10900d5b3 100644 +--- a/arch/arm64/boot/dts/rockchip/rk3566-powkiddy-x55.dts ++++ b/arch/arm64/boot/dts/rockchip/rk3566-powkiddy-x55.dts +@@ -838,6 +838,9 @@ &sdmmc1 { + pinctrl-0 = <&sdmmc1_bus4>, <&sdmmc1_cmd>, <&sdmmc1_clk>; + pinctrl-names = "default"; + vmmc-supply = <&vcc_wifi>; ++ no-mmc; ++ no-sd; ++ sd-uhs-sdr50; + status = "okay"; + }; +