From 8347bbfac889679a98448b5633b76ba0b8ee0802 Mon Sep 17 00:00:00 2001 From: Eisenbahnfan Date: Fri, 21 Feb 2025 21:35:21 +0100 Subject: [PATCH] samsung-v1awifi: add mainline kernel variant And set myself as maintainer. Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6453 --- .../testing/device-samsung-v1awifi/APKBUILD | 49 +++++++++++----- .../testing/device-samsung-v1awifi/deviceinfo | 13 ++++- .../modules-initfs.mainline | 4 ++ .../testing/firmware-samsung-v1awifi/APKBUILD | 57 ++++++++++++++----- 4 files changed, 93 insertions(+), 30 deletions(-) create mode 100644 device/testing/device-samsung-v1awifi/modules-initfs.mainline diff --git a/device/testing/device-samsung-v1awifi/APKBUILD b/device/testing/device-samsung-v1awifi/APKBUILD index da3bf3e31..5709377d7 100644 --- a/device/testing/device-samsung-v1awifi/APKBUILD +++ b/device/testing/device-samsung-v1awifi/APKBUILD @@ -1,23 +1,26 @@ +# Maintainer: Hendrik Noack # Reference: pkgname=device-samsung-v1awifi pkgdesc="Samsung Galaxy Note Pro 12.2 WiFi" -pkgver=3 +pkgver=4 pkgrel=0 url="https://postmarketos.org" license="MIT" arch="armv7" options="!check !archcheck" -makedepends="devicepkg-dev" depends=" - postmarketos-base - postmarketos-base-downstream - postmarketos-base-downstream-disable-udev-v4l - linux-samsung-v1awifi mkbootimg - msm-fb-refresher + postmarketos-base +" +makedepends="devicepkg-dev" +source=" + deviceinfo + modules-initfs.mainline +" +subpackages=" + $pkgname-kernel-downstream:kernel_downstream + $pkgname-kernel-mainline:kernel_mainline " -subpackages="$pkgname-nonfree-firmware:nonfree_firmware" -source="deviceinfo" build() { devicepkg_build $startdir $pkgname @@ -27,12 +30,30 @@ package() { devicepkg_package $startdir $pkgname } -nonfree_firmware() { - pkgdesc="Non-free firmware for the Samsung Galaxy Note Pro 12.2 WiFi" - depends="firmware-samsung-v1awifi" - mkdir "$subpkgdir" +kernel_downstream() { + pkgdesc="Display works, wifi is broken" + depends=" + linux-samsung-v1awifi + msm-fb-refresher + postmarketos-base-downstream + postmarketos-base-downstream-disable-udev-v4l + " + _pmb_recommends="firmware-samsung-v1awifi-downstream>=2-r0" + devicepkg_subpackage_kernel $startdir $pkgname $subpkgname +} + +kernel_mainline() { + pkgdesc="Mainline WIP, touchscreen doesn't work reliably (see device table for details)" + depends="linux-postmarketos-exynos5" + _pmb_recommends=" + firmware-samsung-v1awifi-mainline>=2-r0 + linux-firmware-s5p-mfc + linux-firmware-brcm + " + devicepkg_subpackage_kernel $startdir $pkgname $subpkgname } sha512sums=" -31bfd9df3dd636252ee60556da2228529fc2cb6cce1c932a4ff274d274474344217d6588f1daaa5a1ae2289f33ddc787a9d40b6caf0da3f0a780630059adf3b1 deviceinfo +4a8db28fa68b94d30bb0dc57d2e382a3e272de6ffa0e453ecde2769544ec1e80c7a6c902333ca03e775fc6d5e5118d6388b1d1c6c2f4784268d4e82c287a2152 deviceinfo +4b3cb9dca85c04f1bfc5676029a6ae225409f173c6f0fc025786c1a72326dabad4b5ad75d0dd9a41cdebe8c15db5ca9761e15f3b9f99f8bf70b19769bb116fe6 modules-initfs.mainline " diff --git a/device/testing/device-samsung-v1awifi/deviceinfo b/device/testing/device-samsung-v1awifi/deviceinfo index 6602cb1f8..f54f69eeb 100644 --- a/device/testing/device-samsung-v1awifi/deviceinfo +++ b/device/testing/device-samsung-v1awifi/deviceinfo @@ -8,26 +8,33 @@ deviceinfo_manufacturer="Samsung" deviceinfo_codename="samsung-v1awifi" deviceinfo_year="2014" deviceinfo_arch="armv7" +deviceinfo_append_dtb_mainline="true" +deviceinfo_dtb_mainline="exynos5420-v1a-wifi" +deviceinfo_getty="ttySAC2;115200" # Device related deviceinfo_chassis="tablet" deviceinfo_keyboard="false" deviceinfo_external_storage="true" -deviceinfo_screen_width="2560" -deviceinfo_screen_height="1600" deviceinfo_create_initfs_extra="true" +deviceinfo_gpu_accelerated_mainline="true" # Bootloader related deviceinfo_flash_method="heimdall-bootimg" deviceinfo_generate_bootimg="true" -deviceinfo_bootimg_append_seandroidenforce="true" deviceinfo_bootimg_qcdt="false" +deviceinfo_bootimg_append_seandroidenforce="true" deviceinfo_bootimg_dtb_second="false" +deviceinfo_header_version="0" deviceinfo_flash_offset_base="0x10000000" deviceinfo_flash_offset_kernel="0x00008000" deviceinfo_flash_offset_ramdisk="0x01000000" deviceinfo_flash_offset_second="0x00f00000" deviceinfo_flash_offset_tags="0x00000100" deviceinfo_flash_pagesize="2048" +deviceinfo_flash_sparse="true" +deviceinfo_flash_sparse_samsung_format="1" + +# Heimdall related deviceinfo_flash_heimdall_partition_kernel="BOOT" deviceinfo_flash_heimdall_partition_rootfs="SYSTEM" diff --git a/device/testing/device-samsung-v1awifi/modules-initfs.mainline b/device/testing/device-samsung-v1awifi/modules-initfs.mainline new file mode 100644 index 000000000..b84398de8 --- /dev/null +++ b/device/testing/device-samsung-v1awifi/modules-initfs.mainline @@ -0,0 +1,4 @@ +atmel-mxt-ts +drm-dp-aux-bus +lp855x-bl +panel-edp diff --git a/device/testing/firmware-samsung-v1awifi/APKBUILD b/device/testing/firmware-samsung-v1awifi/APKBUILD index eff692691..2ea812f44 100644 --- a/device/testing/firmware-samsung-v1awifi/APKBUILD +++ b/device/testing/firmware-samsung-v1awifi/APKBUILD @@ -1,38 +1,69 @@ +# Maintainer: Hendrik Noack pkgname=firmware-samsung-v1awifi -pkgver=1 +pkgdesc="Firmware for Samsung Galaxy Tab Pro 12.2" +pkgver=2 pkgrel=0 -pkgdesc="Firmware for Samsung Galaxy Tab Pro 12.2 (samsung-v1awifi)" url="https://github.com/exynos5420/android_vendor_samsung_v1a-common" arch="armv7" license="proprietary" -_commit="2bf0fc3da1fe95e188fcf78f6d80cff56375778a" -source="$pkgname-$pkgver.tar.gz::https://github.com/exynos5420/android_vendor_samsung_v1a-common/archive/$_commit.tar.gz" options="!check !strip !archcheck !spdx !tracedeps pmb:cross-native" +subpackages=" + $pkgname-downstream:downstream + $pkgname-mainline:mainline +" + +#Source +_commit_v1a="2bf0fc3da1fe95e188fcf78f6d80cff56375778a" +_commit_universal="8f5241f7637477d3ecae65c67b9315d343257fad" +source=" + $pkgname-v1a-$pkgver.tar.gz::https://github.com/exynos5420/android_vendor_samsung_v1a-common/archive/$_commit_v1a.tar.gz + $pkgname-universal-$pkgver.tar.gz::https://github.com/exynos5420/android_vendor_samsung_universal5420-common/archive/$_commit_universal.tar.gz +" # All the files are picked from proprietary/etc/wifi, so put this path instead of the root directory -builddir="$srcdir/android_vendor_samsung_v1a-common-$_commit/proprietary/etc/wifi" +builddir="$srcdir/android_vendor_samsung_v1a-common-$_commit_v1a/proprietary/etc/wifi" package() { + mkdir -p "$pkgdir" +} + +downstream() { + pkgdesc="Firmware for Samsung Samsung Galaxy Tab Pro 12.2 when using downstream kernel" + install -Dm644 "$builddir"/bcmdhd_apsta.bin_4354_a1 \ - "$pkgdir"/lib/firmware/postmarketos/bcmdhd_apsta.bin_4354_a1 + "$subpkgdir"/lib/firmware/postmarketos/bcmdhd_apsta.bin_4354_a1 install -Dm644 "$builddir"/bcmdhd_ibss.bin_4354_a1 \ - "$pkgdir"/lib/firmware/postmarketos/bcmdhd_ibss.bin_4354_a1 + "$subpkgdir"/lib/firmware/postmarketos/bcmdhd_ibss.bin_4354_a1 install -Dm644 "$builddir"/bcmdhd_mfg.bin_4354_a1 \ - "$pkgdir"/lib/firmware/postmarketos/bcmdhd_mfg.bin_4354_a1 + "$subpkgdir"/lib/firmware/postmarketos/bcmdhd_mfg.bin_4354_a1 install -Dm644 "$builddir"/bcmdhd_sta.bin_4354_a1 \ - "$pkgdir"/lib/firmware/postmarketos/bcmdhd_sta.bin_4354_a1 + "$subpkgdir"/lib/firmware/postmarketos/bcmdhd_sta.bin_4354_a1 install -Dm644 "$builddir"/cred.conf \ - "$pkgdir"/lib/firmware/postmarketos/cred.conf + "$subpkgdir"/lib/firmware/postmarketos/cred.conf install -Dm644 "$builddir"/nvram_mfg.txt_4354_a1 \ - "$pkgdir"/lib/firmware/postmarketos/nvram_mfg.txt_4354_a1 + "$subpkgdir"/lib/firmware/postmarketos/nvram_mfg.txt_4354_a1 install -Dm644 "$builddir"/nvram_net.txt_4354_a1 \ - "$pkgdir"/lib/firmware/postmarketos/nvram_net.txt_4354_a1 + "$subpkgdir"/lib/firmware/postmarketos/nvram_net.txt_4354_a1 } + +mainline() { + pkgdesc="Firmware for Samsung Samsung Galaxy Tab Pro 12.2 when using mainline kernel" + + # Bluetooth + install -Dm644 "$srcdir/android_vendor_samsung_universal5420-common-$_commit_universal"/proprietary/vendor/firmware/bcm4350_V0301.0609.hcd \ + "$subpkgdir"/lib/firmware/postmarketos/brcm/BCM4354.samsung,v1a-wifi.hcd + + # Wifi + install -Dm644 "$builddir"/nvram_net.txt_4354_a0 \ + "$subpkgdir"/lib/firmware/postmarketos/brcm/brcmfmac4354-sdio.samsung,v1a-wifi.txt +} + sha512sums=" -f95569da626e30755866e131d485b8c1882164883289cd2ed3ed1cad172b8d7da03b2a760bc2e4c138e419215b37c7fcbe6921c8c3d0bf97fcad6afb913410d2 firmware-samsung-v1awifi-1.tar.gz +f95569da626e30755866e131d485b8c1882164883289cd2ed3ed1cad172b8d7da03b2a760bc2e4c138e419215b37c7fcbe6921c8c3d0bf97fcad6afb913410d2 firmware-samsung-v1awifi-v1a-2.tar.gz +42360515f27f0e74d55ba60ea9713d5584da4c5b831deb9f5ee9443eb08156f0fcb7af3d2cb13ae6549c76f7e85ba3d0064ab395ed079b7ad9576ddb31c65c08 firmware-samsung-v1awifi-universal-2.tar.gz "