add s21fe

This commit is contained in:
Piecuuu 2026-08-01 16:59:01 +02:00
parent d1d6c8f557
commit 783995946f
7 changed files with 134 additions and 0 deletions

View file

@ -0,0 +1,39 @@
# Reference: <https://postmarketos.org/devicepkg>
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
"

View file

@ -0,0 +1,31 @@
# Reference: <https://postmarketos.org/deviceinfo>
# 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"

View file

@ -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

View file

@ -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

View file

@ -0,0 +1 @@
/lib/firmware/qcom/sm8350/Samsung/r9q2/ipa_fws.mbn

View file

@ -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

View file

@ -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
"