From 4b76e05983c2bed2dfd24a69929592d7a8c2b2cd Mon Sep 17 00:00:00 2001 From: Anton Bambura Date: Sat, 28 Jan 2023 11:42:20 +0200 Subject: [PATCH] lenovo-yoga-5g: new device (MR 3838) --- device/testing/device-lenovo-yoga-5g/APKBUILD | 66 +++++++++++++++++++ .../testing/device-lenovo-yoga-5g/deviceinfo | 26 ++++++++ .../30-gpu-firmware.files | 3 + .../31-remoteproc-firmware.files | 2 + .../testing/firmware-lenovo-yoga-5g/APKBUILD | 55 ++++++++++++++++ 5 files changed, 152 insertions(+) create mode 100644 device/testing/device-lenovo-yoga-5g/APKBUILD create mode 100644 device/testing/device-lenovo-yoga-5g/deviceinfo create mode 100644 device/testing/firmware-lenovo-yoga-5g/30-gpu-firmware.files create mode 100644 device/testing/firmware-lenovo-yoga-5g/31-remoteproc-firmware.files create mode 100644 device/testing/firmware-lenovo-yoga-5g/APKBUILD diff --git a/device/testing/device-lenovo-yoga-5g/APKBUILD b/device/testing/device-lenovo-yoga-5g/APKBUILD new file mode 100644 index 000000000..cc21f1154 --- /dev/null +++ b/device/testing/device-lenovo-yoga-5g/APKBUILD @@ -0,0 +1,66 @@ +# Reference: +# Maintainer: Jenneron +pkgname=device-lenovo-yoga-5g +pkgdesc="Lenovo Yoga 5G" +pkgver=1 +pkgrel=0 +url="https://postmarketos.org" +license="MIT" +arch="aarch64" +options="!check !archcheck pmb:strict" +depends=" + linux-postmarketos-qcom-sc8180x + postmarketos-base + soc-qcom-sc8180x +" +makedepends="devicepkg-dev grub grub-efi" +source="deviceinfo" +subpackages="$pkgname-nonfree-firmware:nonfree_firmware" + +build() { + devicepkg_build $startdir $pkgname + + grub-mkimage \ + --prefix="/grub" \ + --output="bootaa64.efi" \ + --format="arm64-efi" \ + --compression="xz" \ + \ + all_video \ + cat \ + configfile \ + disk \ + echo \ + efi_gop \ + fat \ + gzio \ + help \ + iso9660 \ + linux \ + ls \ + normal \ + part_gpt \ + part_msdos \ + search \ + search_label \ + test \ + true +} + +package() { + devicepkg_package $startdir $pkgname + + install -Dm644 "$srcdir"/bootaa64.efi \ + -t "$pkgdir"/boot/EFI/Boot +} + +nonfree_firmware() { + pkgdesc="WiFi firmware" + depends="firmware-lenovo-yoga-5g linux-firmware-ath10k soc-qcom-sc8180x-nonfree-firmware" + mkdir "$subpkgdir" +} + + +sha512sums=" +fd15fc48a08713b3bb54e031ce1b0c9e3080497ce86129789647472ecdee167eb915a88c8894f94cade4b2e04a8b9bd2c0e396b62615ae3027d55d86ef2b9538 deviceinfo +" diff --git a/device/testing/device-lenovo-yoga-5g/deviceinfo b/device/testing/device-lenovo-yoga-5g/deviceinfo new file mode 100644 index 000000000..609c3a349 --- /dev/null +++ b/device/testing/device-lenovo-yoga-5g/deviceinfo @@ -0,0 +1,26 @@ +# Reference: +# Please use double quotes only. You can source this file in shell +# scripts. + +deviceinfo_format_version="0" +deviceinfo_name="Lenovo Yoga 5G" +deviceinfo_manufacturer="Lenovo" +deviceinfo_codename="lenovo-yoga-5g" +deviceinfo_year="2019" +deviceinfo_dtb="qcom/sc8180x-lenovo-flex-5g" +deviceinfo_modules_initfs="i2c-qcom-geni hid-generic i2c-hid-of i2c-hid-acpi msm drm-dp-aux-bus phy-qcom-edp panel-edp leds-qcom-lpg pwm-bl drm pdr-interface qcom-common qcom-q6v5-pas qrtr-smd" +deviceinfo_arch="aarch64" + +# Device related +deviceinfo_chassis="convertible" +deviceinfo_keyboard="true" +deviceinfo_external_storage="true" +deviceinfo_screen_width="1920" +deviceinfo_screen_height="1080" + +# Bootloader related +deviceinfo_flash_method="none" +deviceinfo_kernel_cmdline="efi=novamap clk_ignore_unused pd_ignore_unused console=null" +deviceinfo_generate_grub_config="true" +deviceinfo_boot_filesystem="fat32" +deviceinfo_partition_type="gpt" diff --git a/device/testing/firmware-lenovo-yoga-5g/30-gpu-firmware.files b/device/testing/firmware-lenovo-yoga-5g/30-gpu-firmware.files new file mode 100644 index 000000000..926f0b524 --- /dev/null +++ b/device/testing/firmware-lenovo-yoga-5g/30-gpu-firmware.files @@ -0,0 +1,3 @@ +/lib/firmware/qcom/a680_gmu.bin +/lib/firmware/qcom/a680_sqe.fw +/lib/firmware/qcom/sc8180x/LENOVO/82AK/qcdxkmsuc8180.mbn diff --git a/device/testing/firmware-lenovo-yoga-5g/31-remoteproc-firmware.files b/device/testing/firmware-lenovo-yoga-5g/31-remoteproc-firmware.files new file mode 100644 index 000000000..8237934d5 --- /dev/null +++ b/device/testing/firmware-lenovo-yoga-5g/31-remoteproc-firmware.files @@ -0,0 +1,2 @@ +/lib/firmware/qcom/sc8180x/LENOVO/82AK/qcadsp8180.mbn +/lib/firmware/qcom/sc8180x/LENOVO/82AK/qccdsp8180.mbn diff --git a/device/testing/firmware-lenovo-yoga-5g/APKBUILD b/device/testing/firmware-lenovo-yoga-5g/APKBUILD new file mode 100644 index 000000000..041145701 --- /dev/null +++ b/device/testing/firmware-lenovo-yoga-5g/APKBUILD @@ -0,0 +1,55 @@ +# Maintainer: Jenneron +pkgname=firmware-lenovo-yoga-5g +pkgver=1 +pkgrel=0 +pkgdesc="Firmware files for Lenovo Yoga 5G" +url="https://gitlab.com/jenneron/firmware-lenovo-yoga-5g" +arch="aarch64" +license="proprietary" +options="!strip !check !archcheck !spdx !tracedeps pmb:cross-native" + +_commit="05db42d0c7f5f32917592cc3799be4d6c953815e" +source=" + $pkgname-$_commit.tar.gz::https://gitlab.com/jenneron/firmware-lenovo-yoga-5g/-/archive/$_commit/firmware-lenovo-yoga-5g-$_commit.tar.gz + 30-gpu-firmware.files + 31-remoteproc-firmware.files +" + +builddir="$srcdir/firmware-lenovo-yoga-5g-$_commit" + +package() { + _fwdir="$pkgdir/lib/firmware/qcom" + install -Dm644 a680_gmu.bin -t "$_fwdir" + install -Dm644 a680_sqe.fw -t "$_fwdir" + + _fwdir="$pkgdir/lib/firmware/qca" + install -Dm644 crnv01.bin -t "$_fwdir" + install -Dm644 crbtfw01.tlv -t "$_fwdir" + + _fwdir="$pkgdir/lib/firmware/qcom/sc8180x/LENOVO/82AK" + install -Dm644 adspr.jsn -t "$_fwdir" + install -Dm644 adspua.jsn -t "$_fwdir" + install -Dm644 battmgr.jsn -t "$_fwdir" + install -Dm644 cdspr.jsn -t "$_fwdir" + install -Dm644 modemuw.jsn -t "$_fwdir" + install -Dm644 qcadsp8180.mbn -t "$_fwdir" + install -Dm644 qccdsp8180.mbn -t "$_fwdir" + install -Dm644 qcdxkmsuc8180.mbn -t "$_fwdir" + install -Dm644 qcmpss8180_nm.mbn -t "$_fwdir" + install -Dm644 wlanmdsp.mbn -t "$_fwdir" + + install -Dm644 "$srcdir"/30-gpu-firmware.files -t \ + "$pkgdir"/etc/postmarketos-mkinitfs/files + + # While loading ADSP firmware which is responsible for VBUS supply, + # USB loses power for a short time. We need remoteproc firmware + # on initramfs stage to boot from USB. + install -Dm644 "$srcdir"/31-remoteproc-firmware.files -t \ + "$pkgdir"/etc/postmarketos-mkinitfs/files +} + +sha512sums=" +03a8c6bbee2e15ee551bdaf0ec2ffaf6ac6ce6de0d2349a9f55418593284cc5712c54ad6f1bc30531d5d4df6924da0d0e882434730056a73fd0ddb50d4e7b8d7 firmware-lenovo-yoga-5g-05db42d0c7f5f32917592cc3799be4d6c953815e.tar.gz +eab3d7932f49deca4ab03c79f679c729dec29a2d17e08ea1d971a68b457bc45300a88f2b3b89e74a92fd26505472402d59aa251158fb46837ecebe32ea855f2a 30-gpu-firmware.files +ddec9abe909c45c801773993c106ec4733bff09435ea88537f1f733a55a0704594aeab090b583ac05b2f6fedc40ffcaf3e9255dccfd8fc460ad6be445e939ef0 31-remoteproc-firmware.files +"