fairphone-fp6: new device
Add an initial port for The Fairphone (Gen. 6) smartphone. This includes firmware and close-to-mainline kernel package. Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6715 [ci:skip-build]: already built successfully in CI
This commit is contained in:
parent
ada7e1257e
commit
5029df171b
7 changed files with 7999 additions and 0 deletions
3
device/testing/device-fairphone-fp6/00-mesa.sh
Normal file
3
device/testing/device-fairphone-fp6/00-mesa.sh
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
# Mesa's LLVM JIT is crashing with SIGILL
|
||||
# https://gitlab.freedesktop.org/mesa/mesa/-/issues/13314
|
||||
export GALLIUM_DRIVER=softpipe
|
||||
45
device/testing/device-fairphone-fp6/APKBUILD
Normal file
45
device/testing/device-fairphone-fp6/APKBUILD
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
# Reference: <https://postmarketos.org/devicepkg>
|
||||
# Maintainer: Luca Weiss <luca@lucaweiss.eu>
|
||||
pkgname=device-fairphone-fp6
|
||||
pkgdesc="The Fairphone (Gen. 6)"
|
||||
pkgver=1
|
||||
pkgrel=0
|
||||
url="https://postmarketos.org"
|
||||
license="MIT"
|
||||
arch="aarch64"
|
||||
options="!check !archcheck"
|
||||
depends="
|
||||
firmware-fairphone-fp6-adreno
|
||||
firmware-fairphone-fp6-adsp
|
||||
firmware-fairphone-fp6-bluetooth
|
||||
firmware-fairphone-fp6-cdsp
|
||||
firmware-fairphone-fp6-ipa
|
||||
firmware-fairphone-fp6-modem
|
||||
firmware-fairphone-fp6-venus
|
||||
firmware-fairphone-fp6-wpss
|
||||
linux-postmarketos-qcom-sm7635
|
||||
mkbootimg
|
||||
postmarketos-base
|
||||
"
|
||||
makedepends="devicepkg-dev"
|
||||
source="
|
||||
00-mesa.sh
|
||||
deviceinfo
|
||||
modules-initfs
|
||||
"
|
||||
build() {
|
||||
devicepkg_build $startdir $pkgname
|
||||
}
|
||||
|
||||
package() {
|
||||
devicepkg_package $startdir $pkgname
|
||||
|
||||
install -Dm644 "$srcdir"/00-mesa.sh \
|
||||
"$pkgdir"/etc/profile.d/00-mesa.sh
|
||||
}
|
||||
|
||||
sha512sums="
|
||||
17533b261db6ead91b360e2d71355297fc3ad37f3fc68f6f03a8f7bb31e1ca82ecc403454aa360c7eace9164199086422f9e2d7507e24e4695caa8d3c117034f 00-mesa.sh
|
||||
0d7de7bbf1aa84782320f290294cd1f8fb545b9ac12ad862eb3df4def7a221c11d316b52a34269d127d436a479fe58f0c56d0d2b9b65896592b0794daaff9742 deviceinfo
|
||||
c535c211a6d594605e0e2af3536e457b4b6a4b833f26efda4dbd514597d080393a621338c274173f4633eadefc0c2ae830f7ceaa4cbe56a1e6715ff825af18f1 modules-initfs
|
||||
"
|
||||
37
device/testing/device-fairphone-fp6/deviceinfo
Normal file
37
device/testing/device-fairphone-fp6/deviceinfo
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
# Reference: <https://postmarketos.org/deviceinfo>
|
||||
# Please use double quotes only. You can source this file in shell
|
||||
# scripts.
|
||||
|
||||
deviceinfo_format_version="0"
|
||||
deviceinfo_name="Fairphone (Gen. 6)"
|
||||
deviceinfo_manufacturer="Fairphone"
|
||||
deviceinfo_codename="fairphone-fp6"
|
||||
deviceinfo_year="2025"
|
||||
deviceinfo_dtb="qcom/sm7635-fairphone-fp6"
|
||||
deviceinfo_append_dtb="true"
|
||||
deviceinfo_arch="aarch64"
|
||||
|
||||
# Device related
|
||||
deviceinfo_gpu_accelerated="true"
|
||||
deviceinfo_chassis="handset"
|
||||
deviceinfo_keyboard="false"
|
||||
deviceinfo_external_storage="true"
|
||||
deviceinfo_screen_width="1116"
|
||||
deviceinfo_screen_height="2484"
|
||||
deviceinfo_getty="ttyMSM0;115200"
|
||||
|
||||
# Bootloader related
|
||||
deviceinfo_flash_method="fastboot"
|
||||
deviceinfo_kernel_cmdline="console=tty0"
|
||||
deviceinfo_generate_bootimg="true"
|
||||
deviceinfo_flash_pagesize="4096"
|
||||
deviceinfo_flash_offset_base="0x00000000"
|
||||
deviceinfo_flash_offset_dtb="0x01f00000"
|
||||
deviceinfo_flash_offset_kernel="0x00008000"
|
||||
deviceinfo_flash_offset_ramdisk="0x01000000"
|
||||
deviceinfo_flash_offset_second="0x00000000"
|
||||
deviceinfo_flash_offset_tags="0x00000100"
|
||||
deviceinfo_header_version="2"
|
||||
deviceinfo_bootimg_custom_args="--os_version 99.87.36 --os_patch_level 2099-12-31"
|
||||
deviceinfo_rootfs_image_sector_size="4096"
|
||||
deviceinfo_flash_sparse="true"
|
||||
1
device/testing/device-fairphone-fp6/modules-initfs
Normal file
1
device/testing/device-fairphone-fp6/modules-initfs
Normal file
|
|
@ -0,0 +1 @@
|
|||
spi-geni-qcom
|
||||
109
device/testing/firmware-fairphone-fp6/APKBUILD
Normal file
109
device/testing/firmware-fairphone-fp6/APKBUILD
Normal file
|
|
@ -0,0 +1,109 @@
|
|||
# Maintainer: Luca Weiss <luca@lucaweiss.eu>
|
||||
pkgname=firmware-fairphone-fp6
|
||||
pkgver=20250606
|
||||
pkgrel=0
|
||||
pkgdesc="Firmware for The Fairphone (Gen. 6)"
|
||||
subpackages="
|
||||
$pkgname-adreno
|
||||
$pkgname-adsp
|
||||
$pkgname-bluetooth
|
||||
$pkgname-cdsp
|
||||
$pkgname-ipa
|
||||
$pkgname-modem
|
||||
$pkgname-venus
|
||||
$pkgname-wpss
|
||||
"
|
||||
url="https://github.com/FairBlobs/FP6-firmware"
|
||||
arch="aarch64"
|
||||
license="proprietary"
|
||||
makedepends="pil-squasher"
|
||||
options="!check !strip !archcheck !tracedeps pmb:cross-native"
|
||||
_commit="cb1e77ced667a95ee637964124ff83bb0373838b"
|
||||
source="https://github.com/FairBlobs/FP6-firmware/archive/$_commit/FP6-firmware-$_commit.tar.gz"
|
||||
builddir="$srcdir/FP6-firmware-$_commit"
|
||||
|
||||
build() {
|
||||
for i in *.mdt; do
|
||||
pil-squasher "$(basename "$i" .mdt)".mbn "$i"
|
||||
done
|
||||
}
|
||||
|
||||
package() {
|
||||
# parent package is empty
|
||||
mkdir -p "$pkgdir"
|
||||
}
|
||||
|
||||
adreno() {
|
||||
pkgdesc="The Fairphone (Gen. 6) adreno firmware"
|
||||
|
||||
install -Dm644 "$builddir"/gen80300_zap.mbn -t \
|
||||
"$subpkgdir/lib/firmware/qcom/sm7635/fairphone/fp6/"
|
||||
}
|
||||
|
||||
adsp() {
|
||||
pkgdesc="The Fairphone (Gen. 6) adsp firmware"
|
||||
|
||||
install -Dm644 "$builddir"/adsp*.mbn -t \
|
||||
"$subpkgdir/lib/firmware/qcom/sm7635/fairphone/fp6/"
|
||||
install -Dm644 "$builddir"/adsp*.jsn -t \
|
||||
"$subpkgdir/lib/firmware/qcom/sm7635/fairphone/fp6/"
|
||||
install -Dm644 "$builddir"/battmgr.jsn -t \
|
||||
"$subpkgdir/lib/firmware/qcom/sm7635/fairphone/fp6/"
|
||||
}
|
||||
|
||||
bluetooth() {
|
||||
pkgdesc="The Fairphone (Gen. 6) bluetooth firmware"
|
||||
|
||||
install -Dm644 "$builddir"/msbtfw12.mbn -t \
|
||||
"$subpkgdir/lib/firmware/qca/"
|
||||
install -Dm644 "$builddir"/msnv12.bin -t \
|
||||
"$subpkgdir/lib/firmware/qca/"
|
||||
}
|
||||
|
||||
cdsp() {
|
||||
pkgdesc="The Fairphone (Gen. 6) cdsp firmware"
|
||||
|
||||
install -Dm644 "$builddir"/cdsp*.mbn -t \
|
||||
"$subpkgdir/lib/firmware/qcom/sm7635/fairphone/fp6/"
|
||||
install -Dm644 "$builddir"/cdsp*.jsn -t \
|
||||
"$subpkgdir/lib/firmware/qcom/sm7635/fairphone/fp6/"
|
||||
}
|
||||
|
||||
ipa() {
|
||||
pkgdesc="The Fairphone (Gen. 6) ipa firmware"
|
||||
|
||||
install -Dm644 "$builddir"/ipa_fws.mbn -t \
|
||||
"$subpkgdir/lib/firmware/qcom/sm7635/fairphone/fp6/"
|
||||
}
|
||||
|
||||
modem() {
|
||||
pkgdesc="The Fairphone (Gen. 6) modem firmware"
|
||||
|
||||
install -Dm644 "$builddir"/modem.mbn -t \
|
||||
"$subpkgdir/lib/firmware/qcom/sm7635/fairphone/fp6/"
|
||||
install -Dm644 "$builddir"/modem*.jsn -t \
|
||||
"$subpkgdir/lib/firmware/qcom/sm7635/fairphone/fp6/"
|
||||
|
||||
cp -r "$builddir"/modem_pr/ \
|
||||
"$subpkgdir/lib/firmware/qcom/sm7635/fairphone/fp6/"
|
||||
find "$subpkgdir/lib/firmware/qcom/sm7635/fairphone/fp6/" \
|
||||
-type f -exec chmod 0644 {} \;
|
||||
}
|
||||
|
||||
venus() {
|
||||
pkgdesc="The Fairphone (Gen. 6) venus firmware"
|
||||
|
||||
install -Dm644 "$builddir"/vpu20_2v.mbn \
|
||||
"$subpkgdir/lib/firmware/qcom/sm7635/fairphone/fp6/venus.mbn"
|
||||
}
|
||||
|
||||
wpss() {
|
||||
pkgdesc="The Fairphone (Gen. 6) wpss firmware"
|
||||
|
||||
install -Dm644 "$builddir"/wpss.mbn -t \
|
||||
"$subpkgdir/lib/firmware/qcom/sm7635/fairphone/fp6/"
|
||||
}
|
||||
|
||||
sha512sums="
|
||||
c657a720e64d33bfa6aca93aae2528d506ef1fa5e900745ef1c187c57cab829a2440182831ab13454524decde77a081e730811969a8b9528394e924a8148393a FP6-firmware-cb1e77ced667a95ee637964124ff83bb0373838b.tar.gz
|
||||
"
|
||||
59
device/testing/linux-postmarketos-qcom-sm7635/APKBUILD
Normal file
59
device/testing/linux-postmarketos-qcom-sm7635/APKBUILD
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
# Maintainer: Luca Weiss <luca@lucaweiss.eu>
|
||||
|
||||
_flavor="postmarketos-qcom-sm7635"
|
||||
pkgname=linux-$_flavor
|
||||
pkgver=6.16_rc1
|
||||
pkgrel=0
|
||||
pkgdesc="Mainline Kernel fork for SM7635 devices"
|
||||
arch="aarch64"
|
||||
_carch="arm64"
|
||||
url="https://github.com/z3ntu/linux"
|
||||
license="GPL-2.0-only"
|
||||
options="!strip !check !tracedeps
|
||||
pmb:cross-native
|
||||
pmb:kconfigcheck-community
|
||||
"
|
||||
makedepends="bash bison findutils flex installkernel openssl-dev perl python3"
|
||||
|
||||
_repo="linux"
|
||||
_config="config-$_flavor.$arch"
|
||||
_tag="v$pkgver-sm7635"
|
||||
|
||||
# Source
|
||||
source="
|
||||
https://github.com/z3ntu/$_repo/archive/refs/tags/$_tag/$_repo-$_tag.tar.gz
|
||||
$_config
|
||||
"
|
||||
builddir="$srcdir/$_repo-$pkgver-sm7635"
|
||||
|
||||
prepare() {
|
||||
default_prepare
|
||||
cp "$srcdir/config-$_flavor.$arch" .config
|
||||
}
|
||||
|
||||
build() {
|
||||
unset LDFLAGS
|
||||
make ARCH="$_carch" CC="${CC:-gcc}" \
|
||||
KBUILD_BUILD_VERSION="$((pkgrel + 1 ))-$_flavor"
|
||||
}
|
||||
|
||||
package() {
|
||||
install -Dm644 "$builddir/arch/$_carch/boot/Image.gz" \
|
||||
"$pkgdir/boot/vmlinuz"
|
||||
|
||||
make modules_install dtbs_install \
|
||||
ARCH="$_carch" \
|
||||
INSTALL_PATH="$pkgdir"/boot/ \
|
||||
INSTALL_MOD_PATH="$pkgdir" \
|
||||
INSTALL_MOD_STRIP=1 \
|
||||
INSTALL_DTBS_PATH="$pkgdir"/boot/dtbs
|
||||
rm -f "$pkgdir"/lib/modules/*/build "$pkgdir"/lib/modules/*/source
|
||||
|
||||
install -D "$builddir"/include/config/kernel.release \
|
||||
"$pkgdir"/usr/share/kernel/$_flavor/kernel.release
|
||||
}
|
||||
|
||||
sha512sums="
|
||||
66687852088a771992ee3662cf1fd5e2d1aaedfb1d265516f5ce8037b28b3c7064fed1a928582c5afd8a74b4b94795d7d16502429bdf4ff647cbafaef32a99e2 linux-v6.16_rc1-sm7635.tar.gz
|
||||
9a9a694c78f33e9363d8ae50f5a17307c17501dc554caa24c5740cc47af2d83668b9a58076099af0adb46f8130081c1552f034ee496f33125d1d9d4d1f717ab0 config-postmarketos-qcom-sm7635.aarch64
|
||||
"
|
||||
File diff suppressed because it is too large
Load diff
Loading…
Add table
Add a link
Reference in a new issue