xiaomi-davinci: new device (MR 4547)

Signed-off-by: Jens Reidel <adrian@travitia.xyz>

[ci:skip-build]: already built successfully in CI
This commit is contained in:
Jens Reidel 2023-09-12 18:49:46 +02:00
parent 2f24a3913e
commit bc32205ef8
No known key found for this signature in database
GPG key ID: 7A342565FF635F79
4 changed files with 172 additions and 0 deletions

View file

@ -0,0 +1,56 @@
# Maintainer: Jens Reidel <adrian@travitia.xyz>
# Reference: <https://postmarketos.org/devicepkg>
pkgname=device-xiaomi-davinci
pkgdesc="Xiaomi Mi 9T / Redmi K20"
pkgver=1
pkgrel=0
url="https://postmarketos.org"
license="MIT"
arch="aarch64"
options="!check !archcheck"
depends="
linux-postmarketos-qcom-sm7150
make-dynpart-mappings
mkbootimg
postmarketos-base
postmarketos-update-kernel
soc-qcom-sm7150
soc-qcom-sm7150-unl0kr-quirk
"
makedepends="devicepkg-dev"
source="
deviceinfo
modules-initfs
"
subpackages="
$pkgname-nonfree-firmware:nonfree_firmware
"
build() {
devicepkg_build $startdir $pkgname
}
package() {
devicepkg_package $startdir $pkgname
}
nonfree_firmware() {
pkgdesc="Firmware for GPU, Audio, Modem, WiFi, etc."
depends="
firmware-xiaomi-davinci-adsp
firmware-xiaomi-davinci-cdsp
firmware-xiaomi-davinci-ipa
firmware-xiaomi-davinci-modem
firmware-xiaomi-davinci-venus
firmware-xiaomi-davinci-wlan
soc-qcom-sm7150-nonfree-firmware
"
mkdir "$subpkgdir"
}
sha512sums="
939ddba27d1a78396383a5e77d2f9a4d965b1c7772c061f0a7de316346c852120f59ad989f7aa62390ec71b6ae78143d01f506acbee0a271c48530a79d981649 deviceinfo
474485963fb4ff97982894be2e024de09e6b3e7b324aceebde0480200998cfa92d68415752d59802bb63aebf7f2a343415d281938f2e308e5066ba08f3d79606 modules-initfs
"

View file

@ -0,0 +1,39 @@
# 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 9T / Redmi K20"
deviceinfo_manufacturer="Xiaomi"
deviceinfo_codename="xiaomi-davinci"
deviceinfo_year="2019"
deviceinfo_dtb="qcom/sm7150-xiaomi-davinci"
deviceinfo_append_dtb="true"
deviceinfo_arch="aarch64"
deviceinfo_flash_kernel_on_update="true"
# Device related
deviceinfo_gpu_accelerated="true"
deviceinfo_chassis="handset"
deviceinfo_keyboard="false"
deviceinfo_external_storage="false"
deviceinfo_screen_width="1080"
deviceinfo_screen_height="2340"
# Bootloader related
deviceinfo_flash_method="fastboot"
deviceinfo_kernel_cmdline="console=null"
deviceinfo_generate_bootimg="true"
deviceinfo_bootimg_qcdt="false"
deviceinfo_bootimg_mtk_mkimage="false"
deviceinfo_bootimg_dtb_second="false"
deviceinfo_flash_pagesize="4096"
deviceinfo_flash_sparse="true"
deviceinfo_header_version="1"
deviceinfo_flash_offset_base="0x00000000"
deviceinfo_flash_offset_kernel="0x00008000"
deviceinfo_flash_offset_ramdisk="0x01000000"
deviceinfo_flash_offset_second="0x00f00000"
deviceinfo_flash_offset_tags="0x00000100"
deviceinfo_rootfs_image_sector_size="4096"
deviceinfo_super_partitions="/dev/sda24"

View file

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

View file

@ -0,0 +1,74 @@
pkgname=firmware-xiaomi-davinci
pkgver=1
pkgrel=0
pkgdesc="Firmware for Xiaomi Mi 9T / Redmi K20"
subpackages="
$pkgname-adsp
$pkgname-cdsp
$pkgname-ipa
$pkgname-modem
$pkgname-venus
$pkgname-wlan
"
url="https://github.com/sm7150-mainline/firmware-xiaomi-davinci"
arch="aarch64"
license="proprietary"
options="!check !strip !archcheck !tracedeps pmb:cross-native"
_commit="19eacf36c271920ca475b0946a577e2ae893599c"
source="$pkgname-$_commit.tar.gz::$url/archive/$_commit/$pkgname-$_commit.tar.gz"
builddir="$srcdir/$pkgname-$_commit"
package() {
# parent package is empty
mkdir -p "$pkgdir"
}
adsp() {
pkgdesc="Xiaomi Mi 9T / Redmi K20 adsp firmware"
install -Dm644 "$builddir"/adsp* -t \
"$subpkgdir/lib/firmware/qcom/sm7150/davinci"
}
cdsp() {
pkgdesc="Xiaomi Mi 9T / Redmi K20 cdsp firmware"
install -Dm644 "$builddir"/cdsp* -t \
"$subpkgdir/lib/firmware/qcom/sm7150/davinci"
}
ipa() {
pkgdesc="Xiaomi Mi 9T / Redmi K20 ipa firmware"
install -Dm644 "$builddir"/ipa_fws.* -t \
"$subpkgdir/lib/firmware/qcom/sm7150/davinci"
}
modem() {
pkgdesc="Xiaomi Mi 9T / Redmi K20 modem firmware"
# cp because of the modem_pr directory
mkdir -p "$subpkgdir/lib/firmware/qcom/sm7150/davinci"
cp -r "$builddir"/modem* \
"$subpkgdir/lib/firmware/qcom/sm7150/davinci"
find "$subpkgdir/lib/firmware/qcom/sm7150/davinci" \
-type f -exec chmod 0644 {} \;
}
venus() {
pkgdesc="Xiaomi Mi 9T / Redmi K20 venus firmware"
install -Dm644 "$builddir"/venus.mbn -t \
"$subpkgdir/lib/firmware/qcom/sm7150/davinci"
}
wlan() {
pkgdesc="Xiaomi Mi 9T / Redmi K20 wlan firmware"
install -Dm644 "$builddir"/wlanmdsp.mbn -t \
"$subpkgdir/lib/firmware/qcom/sm7150/davinci"
}
sha512sums="
30d945cdc01dfaa5defdecf31e217ac043ceb607e4775ab7d219ea8fe5a0691421b7a6204089f56b00f69e48e64931ce224d674a8e648910e7af6d89d12ad456 firmware-xiaomi-davinci-19eacf36c271920ca475b0946a577e2ae893599c.tar.gz
"