xiaomi-pyxis: new device

Add initial port for Xiaomi Mi 9 Lite (xiaomi-pyxis).
SDM710 is WIP.

Signed-off-by: Alicja Michalska <alicja.michalska@9elements.com>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6819
[ci:skip-build]: already built successfully in CI
This commit is contained in:
Alicja Michalska 2025-07-23 03:25:53 +02:00 committed by Pablo Correa Gómez
parent cee82ca962
commit fbb05a04f9
No known key found for this signature in database
GPG key ID: 7A342565FF635F79
6 changed files with 8316 additions and 0 deletions

View file

@ -0,0 +1,43 @@
# Reference: <https://postmarketos.org/devicepkg>
# Maintainer: Alicja Michalska <ellyqw@mainlining.org>
pkgname=device-xiaomi-pyxis
pkgdesc="Xiaomi Mi 9 Lite"
pkgver=0
pkgrel=0
url="https://postmarketos.org"
license="MIT"
arch="aarch64"
options="!check !archcheck"
depends="
alsa-ucm-conf-qcom-sdm670
linux-firmware-ath10k
linux-firmware-qca
linux-firmware-qcom
linux-xiaomi-pyxis
firmware-xiaomi-pyxis
make-dynpart-mappings
mkbootimg
postmarketos-base
soc-qcom
soc-qcom-modem
soc-qcom-qbootctl
unl0kr-fbforcerefresh
"
makedepends="devicepkg-dev"
source="
deviceinfo
modules-initfs
"
build() {
devicepkg_build $startdir $pkgname
}
package() {
devicepkg_package $startdir $pkgname
}
sha512sums="
7f528d6cd7ef385eed60e9a056e58b5694785b1e624bb94747b270a10a950d7a1a6735d68dcd4ce053fe218ca70a77c84c1d2812de3ffe3a44b983165933d630 deviceinfo
06dfc9f41ab196406300acddd411c95f8ba47f49be01a291b4a33767d56b88a16741306223ec767930b71ab08aab82a29f0dacbde2bb45c32de1728b6cb35b14 modules-initfs
"

View file

@ -0,0 +1,38 @@
# Reference: <https://postmarketos.org/deviceinfo>
# Please use double quotes only. You can source this file in shell
# scripts.
deviceinfo_format_version="0"
deviceinfo_name="Xiaomi Mi 9 Lite"
deviceinfo_manufacturer="Xiaomi"
deviceinfo_codename="xiaomi-pyxis"
deviceinfo_append_dtb="true"
deviceinfo_year="2019"
deviceinfo_arch="aarch64"
# Device related
deviceinfo_drm="true"
deviceinfo_chassis="handset"
deviceinfo_external_storage="false"
deviceinfo_screen_width="1080"
deviceinfo_screen_height="2340"
deviceinfo_rootfs_image_sector_size="4096"
# Bootloader related
deviceinfo_flash_method="fastboot"
deviceinfo_generate_bootimg="true"
deviceinfo_bootimg_qcdt="false"
deviceinfo_bootimg_dtb_second="false"
deviceinfo_flash_pagesize="4096"
deviceinfo_flash_offset_base="0x00000000"
deviceinfo_flash_offset_kernel="0x00008000"
deviceinfo_flash_offset_ramdisk="0x01000000"
deviceinfo_flash_offset_second="0x00000000"
deviceinfo_flash_offset_tags="0x00000100"
deviceinfo_flash_sparse="true"
# Kernel options
deviceinfo_kernel_cmdline="regulator_ignore_unused"
deviceinfo_dtb="qcom/sdm710-xiaomi-pyxis"
deviceinfo_append_dtb="true"
deviceinfo_flash_kernel_on_update="true"

View file

@ -0,0 +1,3 @@
i2c_qcom_geni
edt_ft5x06
gpi

View file

@ -0,0 +1,48 @@
# Maintainer: Alicja Michalska <ellyqw@mainlining.org>
pkgname=firmware-xiaomi-pyxis
pkgver=2025.08
pkgrel=0
pkgdesc="Proprietary firmware blobs from stock firmware"
url="https://github.com/ellyq/firmware-mainline-pyxis"
arch="aarch64"
license="proprietary"
makedepends="zstd"
_commit="0c8e85ac4f9650c2bc7b283b1ba01c3d151af001"
source="https://github.com/ellyq/firmware-mainline-pyxis/archive/$_commit.tar.gz"
builddir="$srcdir/firmware-mainline-pyxis-$_commit"
options="!check !archcheck !strip !tracedeps textrels pmb:cross-native"
build() {
# Compress kernel-loaded firmware
zstd a615_zap.mbn
zstd ipa_fws.mbn
zstd adsp.mbn
zstd cdsp.mbn
zstd venus.mbn
zstd mba.mbn
zstd modem.mbn
}
package() {
mkdir -p "$pkgdir"/lib/firmware/qcom/sdm710/pyxis/
install -Dm644 "$builddir"/a615_zap.mbn.zst \
"$pkgdir"/lib/firmware/qcom/sdm710/pyxis/a615_zap.mbn.zst
install -Dm644 "$builddir"/ipa_fws.mbn.zst \
"$pkgdir"/lib/firmware/qcom/sdm710/pyxis/ipa_fws.mbn.zst
install -Dm644 "$builddir"/adsp.mbn.zst \
"$pkgdir"/lib/firmware/qcom/sdm710/pyxis/adsp.mbn.zst
install -Dm644 "$builddir"/cdsp.mbn.zst \
"$pkgdir"/lib/firmware/qcom/sdm710/pyxis/cdsp.mbn.zst
install -Dm644 "$builddir"/venus.mbn.zst \
"$pkgdir"/lib/firmware/qcom/sdm710/pyxis/venus.mbn.zst
install -Dm644 "$builddir"/mba.mbn.zst \
"$pkgdir"/lib/firmware/qcom/sdm710/pyxis/mba.mbn.zst
install -Dm644 "$builddir"/modem.mbn.zst \
"$pkgdir"/lib/firmware/qcom/sdm710/pyxis/modem.mbn.zst
}
sha512sums="
f94e16812fba96ba2e0afc84cf69579fa1603a0a0f0180c142958f27b4f9debf1dcf4b83dbb0112401d207d5d322ad86f4e78a0557f740d0ea952e86c24338ab 0c8e85ac4f9650c2bc7b283b1ba01c3d151af001.tar.gz
"

View file

@ -0,0 +1,70 @@
# Maintainer: Alicja Michalska <ellyqw@mainlining.org>
# Experimental kernel for SDM710 devices
_flavor="xiaomi-pyxis"
pkgname=linux-$_flavor
pkgver=6.15.2
pkgrel=0
pkgdesc="Mainline Kernel fork for SDM710 devices"
arch="aarch64"
_carch="arm64"
url="https://github.com/ellyq/sdm710-mainline"
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
zstd
"
_repository="sdm710-mainline"
_commit="90f81d9b405c2dfcc0f0fc74c3c8f1018f709612"
_config="config-xiaomi-pyxis.$arch"
# Source
source="
$pkgname-$_commit.tar.gz::https://github.com/ellyq/$_repository/archive/$_commit.tar.gz
$_config
"
builddir="$srcdir/$_repository-$_commit"
prepare() {
default_prepare
cp "$srcdir/config-xiaomi-pyxis.$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="
3f8733203f32ba7d0d19ddb9204b6e806c6ca3329e8ed526f25bf1f6f2158143ec76435c0f4cb2f99195aea9637e6733c6d1ccd78741c8191f2e08d15fff1a97 linux-xiaomi-pyxis-90f81d9b405c2dfcc0f0fc74c3c8f1018f709612.tar.gz
0965d059ca77522c97997b1999efd4d5f1be0d6946ee1d3d344f75d81ec64c07f0480ee08a3b07b018313ddce9550a3f37da9cadaedd0f836797d12d7d90be5a config-xiaomi-pyxis.aarch64
"

File diff suppressed because it is too large Load diff