From 783995946f2fa88b9ecdc74d5d7ba55997b60203 Mon Sep 17 00:00:00 2001 From: Piecuuu <56731916+Piecuuu@users.noreply.github.com> Date: Sat, 1 Aug 2026 16:59:01 +0200 Subject: [PATCH] add s21fe --- device/testing/device-samsung-r9q2/APKBUILD | 39 ++++++++++++++++++ device/testing/device-samsung-r9q2/deviceinfo | 31 ++++++++++++++ .../device-samsung-r9q2/modules-initfs | 16 ++++++++ .../10-remoteproc-firmware.files | 4 ++ .../firmware-samsung-r9q2/20-ipa_fws.files | 1 + .../30-gpu-firmware.files | 3 ++ device/testing/firmware-samsung-r9q2/APKBUILD | 40 +++++++++++++++++++ 7 files changed, 134 insertions(+) create mode 100644 device/testing/device-samsung-r9q2/APKBUILD create mode 100644 device/testing/device-samsung-r9q2/deviceinfo create mode 100644 device/testing/device-samsung-r9q2/modules-initfs create mode 100644 device/testing/firmware-samsung-r9q2/10-remoteproc-firmware.files create mode 100644 device/testing/firmware-samsung-r9q2/20-ipa_fws.files create mode 100644 device/testing/firmware-samsung-r9q2/30-gpu-firmware.files create mode 100644 device/testing/firmware-samsung-r9q2/APKBUILD diff --git a/device/testing/device-samsung-r9q2/APKBUILD b/device/testing/device-samsung-r9q2/APKBUILD new file mode 100644 index 000000000..5a4a87d7c --- /dev/null +++ b/device/testing/device-samsung-r9q2/APKBUILD @@ -0,0 +1,39 @@ +# Reference: +maintainer="" +pkgname=device-samsung-r9q2 +pkgdesc="Samsung Galaxy S21 FE 5G" +pkgver=1 +pkgrel=0 +url="https://postmarketos.org" +license="MIT" +arch="aarch64" +options="!check !archcheck" +depends=" + linux-postmarketos-qcom-sm8350 + mkbootimg + postmarketos-base + soc-qcom-sm8350 +" +makedepends="devicepkg-dev" +source=" + deviceinfo +" +subpackages="$pkgname-nonfree-firmware:nonfree_firmware" + +build() { + devicepkg_build $startdir $pkgname +} + +package() { + devicepkg_package $startdir $pkgname +} + +nonfree_firmware() { + pkgdesc="Modem, WiFi, and GPU Firmware" + depends="firmware-samsung-r9q2" + mkdir "$subpkgdir" +} + +sha512sums=" +063ec4cfab292c66b9fdd8d0d3bed16be2ce325f1d9325bac08bcf9506b9f6909a3429b7b1c2a0a0cd88454c8fd9b5c15e7542f24a899640e8166809224f91bc deviceinfo +" diff --git a/device/testing/device-samsung-r9q2/deviceinfo b/device/testing/device-samsung-r9q2/deviceinfo new file mode 100644 index 000000000..f3ac151ce --- /dev/null +++ b/device/testing/device-samsung-r9q2/deviceinfo @@ -0,0 +1,31 @@ +# Reference: +# Please use double quotes only. You can source this file in shell +# scripts. + +deviceinfo_format_version="0" +deviceinfo_name="Samsung Galaxy S21 FE 5G" +deviceinfo_manufacturer="Samsung" +deviceinfo_codename="samsung-r9q2" +deviceinfo_year="2022" +deviceinfo_dtb="qcom/sm8350-samsung-r9q2" +deviceinfo_arch="aarch64" + +# Device related +deviceinfo_chassis="handset" +deviceinfo_external_storage="false" + +# Bootloader related +deviceinfo_flash_method="heimdall-bootimg" +#deviceinfo_kernel_cmdline="console=null androidboot.hardware=qcom androidboot.memcg=1 lpm_levels.sleep_disabled=1 video=vfb:640x400,bpp=32,memsize=3072000 msm_rtb.filter=0x237 service_locator.enable=1 androidboot.usbcontroller=a600000.dwc3 swiotlb=2048 loop.max_part=7 cgroup.memory=nokmem,nosocket firmware_class.path=/vendor/firmware_mnt/image printk.devkmsg=on pcie_ports=compat cpuinfo.chipname=SM8350 panic=4" +deviceinfo_kernel_cmdline="video=vfb:640x400,bpp=32,memsize=3072000 console=tty0 PMOS_NOSPLASH loop.max_part=7" +deviceinfo_generate_bootimg="true" +deviceinfo_flash_pagesize="4096" +deviceinfo_bootimg_qcdt="false" +deviceinfo_header_version="3" +deviceinfo_flash_heimdall_partition_kernel="BOOT" +deviceinfo_flash_heimdall_partition_rootfs="USERDATA" +deviceinfo_flash_sparse="true" +deviceinfo_create_initfs_extra="true" + +deviceinfo_rootfs_image_sector_size="4096" +deviceinfo_append_dtb="true" diff --git a/device/testing/device-samsung-r9q2/modules-initfs b/device/testing/device-samsung-r9q2/modules-initfs new file mode 100644 index 000000000..d647a8eca --- /dev/null +++ b/device/testing/device-samsung-r9q2/modules-initfs @@ -0,0 +1,16 @@ +# Remove this file if unnecessary (CHANGEME!) +# This file shall contain a list of modules to be included in the initramfs, +# so that they are available in early boot stages. In general, it should +# include modules to support unlocking FDE (touchscreen, panel, etc), +# USB networking, and telnet in the debug-shell. +# The format is one module name per line. Lines starting with the character +# '#', and empty lines are ignored. If there are multiple kernel variants +# with different initramfs module requirements, one modules-initfs.$variant +# file should be created for each of them. + +qcom_vadc_common +pinctrl_lpass_lpi +qmi_helpers +socinfo +qcom_stats +typec diff --git a/device/testing/firmware-samsung-r9q2/10-remoteproc-firmware.files b/device/testing/firmware-samsung-r9q2/10-remoteproc-firmware.files new file mode 100644 index 000000000..c6f4796e7 --- /dev/null +++ b/device/testing/firmware-samsung-r9q2/10-remoteproc-firmware.files @@ -0,0 +1,4 @@ +/lib/firmware/qcom/sm8350/Samsung/r9q2/adsp.mbn +/lib/firmware/qcom/sm8350/Samsung/r9q2/cdsp.mbn +/lib/firmware/qcom/sm8350/Samsung/r9q2/modem.mbn +/lib/firmware/qcom/sm8350/Samsung/r9q2/slpi.mbn diff --git a/device/testing/firmware-samsung-r9q2/20-ipa_fws.files b/device/testing/firmware-samsung-r9q2/20-ipa_fws.files new file mode 100644 index 000000000..dcaafa894 --- /dev/null +++ b/device/testing/firmware-samsung-r9q2/20-ipa_fws.files @@ -0,0 +1 @@ +/lib/firmware/qcom/sm8350/Samsung/r9q2/ipa_fws.mbn diff --git a/device/testing/firmware-samsung-r9q2/30-gpu-firmware.files b/device/testing/firmware-samsung-r9q2/30-gpu-firmware.files new file mode 100644 index 000000000..6ce18e56a --- /dev/null +++ b/device/testing/firmware-samsung-r9q2/30-gpu-firmware.files @@ -0,0 +1,3 @@ +/lib/firmware/qcom/a660_gmu.bin +/lib/firmware/qcom/a660_sqe.fw +/lib/firmware/qcom/sm8350/Samsung/r9q2/a660_zap.mbn diff --git a/device/testing/firmware-samsung-r9q2/APKBUILD b/device/testing/firmware-samsung-r9q2/APKBUILD new file mode 100644 index 000000000..ca52220aa --- /dev/null +++ b/device/testing/firmware-samsung-r9q2/APKBUILD @@ -0,0 +1,40 @@ +maintainer="" +pkgname=firmware-samsung-r9q2 +pkgver=2 +pkgrel=0 +_commit="40d43033f1394411935f308448762a95d4031eb9" +pkgdesc="Firmware files for Samsung R9Q2" +url="https://git.piecuu.pl/Piecuu/firmware-samsung-r9q2" +arch="aarch64" +# TODO: Use firmware-qcom-adreno-a660 which provides a660_gmu.bin +depends="linux-firmware-qcom" # linux-firmware-qca" +license="proprietary" +source="$pkgname-$_commit.tar.gz::$url/archive/$_commit.tar.gz 10-remoteproc-firmware.files 20-ipa_fws.files 30-gpu-firmware.files" + +options="!check !strip !archcheck !spdx !tracedeps pmb:cross-native" +builddir="$srcdir/firmware-samsung-r9q2" +#subpackages="$pkgname-initramfs:firmware_initramfs" + +package() { + _files="a660_zap.mbn a660_gmu.bin a660_sqe.fw adsp.mbn cdsp.mbn ipa_fws.mbn modem.mbn slpi.mbn board-2.bin" + for _i in $_files; do + install -Dm644 "$_i" "$pkgdir/lib/firmware/qcom/sm8350/Samsung/r9q2/$_i" + done + + _files_qca="hpbtfw10.tlv hpnv10.bin" #"amss20.bin m3.bin regdb.bin" #"hpbtfw10.tlv hpnv10.bin" + for _i in $_files_qca; do + install -Dm644 "$_i" "$pkgdir/lib/firmware/qca/$_i" + done + + install -Dm644 "$srcdir/10-remoteproc-firmware.files" "$pkgdir/usr/share/mkinitfs/files-extra/10-remoteproc-firmware.files" + install -Dm644 "$srcdir/20-ipa_fws.files" "$pkgdir/usr/share/mkinitfs/files/20-ipa_fws.files" + install -Dm644 "$srcdir/30-gpu-firmware.files" "$pkgdir/usr/share/mkinitfs/files/30-gpu-firmware.files" + #install -Dm644 "$srcdir/40-touchscreen-firmware.files" "$pkgdir/usr/share/mkinitfs/files/40-touchscreen-firmware.files" +} + +sha512sums=" +dd236115721381dc315619241296f8dce492e41dd21b6e5665937df7e7735f04ed8524e914165b740dd892821c6cbc7f00ec768a77b4e8fdb9dc84bca955e412 firmware-samsung-r9q2-40d43033f1394411935f308448762a95d4031eb9.tar.gz +854b5273807ff7bc2ebda4e6f710fd68842a3452a6bdb9773d47290964adbab4c3b914ec6488838a8f710ae21b96d3bc80645c91e0ee655cfc0f2cf2cbc22d73 10-remoteproc-firmware.files +9ae17a5b1e684259150d3b25e71865b52181f53ef355c4cfab6c45d68c533e20ded514894284d65be41cfd98c88aded1d9d663929de732f7c70d7b251ed9ef14 20-ipa_fws.files +e12bf30dda667edfb2677f77f3200d8f0bb41dc6dbde704386e6f58d3196248e65c5d38634e1b63b2f40253332b0b5e5d54e7165ca330c20b93243c9835adc4b 30-gpu-firmware.files +"