From 03a96f0f282ee2291a61beda984ed7822bace490 Mon Sep 17 00:00:00 2001 From: devajithvs <devajithvs@gmail.com> Date: Fri, 27 Nov 2020 15:36:49 +0530 Subject: [PATCH] asus-z010d: new device (MR 1757) Device: Asus Zenfone Max ZC550KL MSM8916 Mainline Kernel Works: - Boots - external sdcard - Wifi/bt - Display - Touchscreen I'm still working on this device. You can expect more things to work in the future. --- device/testing/device-asus-z010d/APKBUILD | 53 +++++++++++++++++++++ device/testing/device-asus-z010d/deviceinfo | 35 ++++++++++++++ device/testing/firmware-asus-z010d/APKBUILD | 42 ++++++++++++++++ 3 files changed, 130 insertions(+) create mode 100644 device/testing/device-asus-z010d/APKBUILD create mode 100644 device/testing/device-asus-z010d/deviceinfo create mode 100644 device/testing/firmware-asus-z010d/APKBUILD diff --git a/device/testing/device-asus-z010d/APKBUILD b/device/testing/device-asus-z010d/APKBUILD new file mode 100644 index 00000000000..8debde49eb5 --- /dev/null +++ b/device/testing/device-asus-z010d/APKBUILD @@ -0,0 +1,53 @@ +# Reference: <https://postmarketos.org/devicepkg> +pkgname=device-asus-z010d +pkgdesc="Asus Zenfone Max ZC550KL" +pkgver=1 +pkgrel=0 +url="https://postmarketos.org" +license="MIT" +arch="aarch64" +options="!check !archcheck" +depends="postmarketos-base mkbootimg soc-qcom-msm8916" +makedepends="devicepkg-dev" +source="deviceinfo" +subpackages=" + $pkgname-kernel-mainline:kernel_mainline + $pkgname-kernel-mainline-modem:kernel_mainline_modem + $pkgname-nonfree-firmware:nonfree_firmware + $pkgname-nonfree-firmware-modem:nonfree_firmware_modem +" + +build() { + devicepkg_build $startdir $pkgname +} + +package() { + devicepkg_package $startdir $pkgname +} + +kernel_mainline() { + pkgdesc="Close to mainline kernel (no modem, audio routed directly)" + depends="linux-postmarketos-qcom-msm8916" + devicepkg_subpackage_kernel $startdir $pkgname $subpkgname +} + +kernel_mainline_modem() { + pkgdesc="Close to mainline kernel (non-free modem, audio routed through ADSP)" + depends="linux-postmarketos-qcom-msm8916 soc-qcom-msm8916-modem" + devicepkg_subpackage_kernel $startdir $pkgname $subpkgname +} + +nonfree_firmware() { + pkgdesc="GPU/WiFi/BT/Video(/Modem) firmware" + depends="linux-firmware-qcom firmware-asus-z010d-venus firmware-asus-z010d-wcnss" + mkdir "$subpkgdir" +} + +nonfree_firmware_modem() { + pkgdesc="Modem firmware" + depends="firmware-asus-z010d-modem" + install_if="$pkgname-nonfree-firmware $pkgname-kernel-mainline-modem" + mkdir "$subpkgdir" +} + +sha512sums="5fbbed9d045c1ce73930174f5c87f30b6e5f80cac1d130bf20c321487fcbb2b5be803c76b22c37de2b26a17705bfd18da6f5d65152c8bb5df7760c4ea98e2aa3 deviceinfo" diff --git a/device/testing/device-asus-z010d/deviceinfo b/device/testing/device-asus-z010d/deviceinfo new file mode 100644 index 00000000000..763d5312371 --- /dev/null +++ b/device/testing/device-asus-z010d/deviceinfo @@ -0,0 +1,35 @@ +# Reference: <https://postmarketos.org/deviceinfo> +# Please use double quotes only. You can source this file in shell scripts. + +deviceinfo_format_version="0" +deviceinfo_name="Asus Zenfone Max ZC550KL" +deviceinfo_manufacturer="Asus" +deviceinfo_codename="asus-z010d" +deviceinfo_year="2016" +deviceinfo_dtb="qcom/msm8916-asus-z010d" +deviceinfo_append_dtb="true" +deviceinfo_modules_initfs="" +deviceinfo_arch="aarch64" + +# Device related +deviceinfo_chassis="handset" +deviceinfo_keyboard="false" +deviceinfo_external_storage="true" +deviceinfo_screen_width="720" +deviceinfo_screen_height="1280" +deviceinfo_getty="ttyMSM0;115200" + +# MSM DRM cannot take over the framebuffer from the bootloader at the moment +deviceinfo_no_framebuffer="true" + +# Bootloader related +deviceinfo_flash_method="fastboot" +deviceinfo_kernel_cmdline="earlycon console=ttyMSM0,115200 PMOS_NO_OUTPUT_REDIRECT" +deviceinfo_generate_bootimg="true" +deviceinfo_flash_offset_base="0x80000000" +deviceinfo_flash_offset_kernel="0x00080000" +deviceinfo_flash_offset_ramdisk="0x02000000" +deviceinfo_flash_offset_second="0x00f00000" +deviceinfo_flash_offset_tags="0x01e00000" +deviceinfo_flash_pagesize="2048" +deviceinfo_flash_sparse="true" diff --git a/device/testing/firmware-asus-z010d/APKBUILD b/device/testing/firmware-asus-z010d/APKBUILD new file mode 100644 index 00000000000..a33f83f5071 --- /dev/null +++ b/device/testing/firmware-asus-z010d/APKBUILD @@ -0,0 +1,42 @@ +pkgname=firmware-asus-z010d +pkgver=1 +pkgrel=0 +pkgdesc="Firmware for Asus Zenfone Max ZC550KL" +url="https://github.com/devajithvs/asus-z010d-firmware" +subpackages="$pkgname-modem $pkgname-venus $pkgname-wcnss" +arch="aarch64" +license="proprietary" +options="!check !strip !archcheck" + +_tag="v0.1" +_repo="firmware-max" + +source="$pkgname-$_tag.tar.gz::https://gitlab.com/camillathechicken/$_repo/-/archive/$_tag/$_repo-$_tag.tar.gz" +builddir="$srcdir/$_repo-$_tag" + +_fwdir="/lib/firmware/postmarketos" + +package() { + # parent package is empty + mkdir -p "$pkgdir" +} + +modem() { + pkgdesc="Asus Zenfone Max ZC550KL modem firmware" + install -Dm644 "$builddir"/mba.mbn -t "$subpkgdir/$_fwdir" + install -Dm644 "$builddir"/modem.* -t "$subpkgdir/$_fwdir" +} + +venus() { + pkgdesc="Asus Zenfone Max ZC550KL video firmware" + install -Dm644 "$builddir"/venus.* -t "$subpkgdir/$_fwdir"/qcom/venus-1.8 +} + +wcnss() { + pkgdesc="Asus Zenfone Max ZC550KL WiFi/BT firmware" + cd "$builddir" + install -Dm644 wcnss.* -t "$subpkgdir/$_fwdir" + install -Dm644 WCNSS_* -t "$subpkgdir/$_fwdir"/wlan/prima +} + +sha512sums="870c4835de86aac68f29249d6f1545dc8b9ccdb4c3a19ed19eb3429c5d0ab40ed3ffceba36bf54b69a9e3ca2170fde66b2e357a8686580865bfa38e8b99e0cd6 firmware-asus-z010d-v0.1.tar.gz" -- GitLab