From bc32205ef8e070504d70b47feff43b8854149535 Mon Sep 17 00:00:00 2001 From: Jens Reidel Date: Tue, 12 Sep 2023 18:49:46 +0200 Subject: [PATCH] xiaomi-davinci: new device (MR 4547) Signed-off-by: Jens Reidel [ci:skip-build]: already built successfully in CI --- device/testing/device-xiaomi-davinci/APKBUILD | 56 ++++++++++++++ .../testing/device-xiaomi-davinci/deviceinfo | 39 ++++++++++ .../device-xiaomi-davinci/modules-initfs | 3 + .../testing/firmware-xiaomi-davinci/APKBUILD | 74 +++++++++++++++++++ 4 files changed, 172 insertions(+) create mode 100644 device/testing/device-xiaomi-davinci/APKBUILD create mode 100644 device/testing/device-xiaomi-davinci/deviceinfo create mode 100644 device/testing/device-xiaomi-davinci/modules-initfs create mode 100644 device/testing/firmware-xiaomi-davinci/APKBUILD diff --git a/device/testing/device-xiaomi-davinci/APKBUILD b/device/testing/device-xiaomi-davinci/APKBUILD new file mode 100644 index 000000000..acc355153 --- /dev/null +++ b/device/testing/device-xiaomi-davinci/APKBUILD @@ -0,0 +1,56 @@ +# Maintainer: Jens Reidel +# Reference: + +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 +" diff --git a/device/testing/device-xiaomi-davinci/deviceinfo b/device/testing/device-xiaomi-davinci/deviceinfo new file mode 100644 index 000000000..29c34184b --- /dev/null +++ b/device/testing/device-xiaomi-davinci/deviceinfo @@ -0,0 +1,39 @@ +# Reference: +# 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" diff --git a/device/testing/device-xiaomi-davinci/modules-initfs b/device/testing/device-xiaomi-davinci/modules-initfs new file mode 100644 index 000000000..6846b1134 --- /dev/null +++ b/device/testing/device-xiaomi-davinci/modules-initfs @@ -0,0 +1,3 @@ +gpi +i2c_qcom_geni +gtx8 diff --git a/device/testing/firmware-xiaomi-davinci/APKBUILD b/device/testing/firmware-xiaomi-davinci/APKBUILD new file mode 100644 index 000000000..2de3dbcd4 --- /dev/null +++ b/device/testing/firmware-xiaomi-davinci/APKBUILD @@ -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 +"