From a83cb87b706802898e1d699bf442a1ff0ac08fd5 Mon Sep 17 00:00:00 2001
From: bzy-080408 <Bzy080408@outlook.com>
Date: Mon, 15 Apr 2024 12:16:47 +0200
Subject: [PATCH] huawei-milan: new device (MR 5034)

This introduce support for Huawei Maimang5 / G9 (Plus) / Nova (Plus)

[ci:skip-build]: already built successfully in CI
---
 device/testing/device-huawei-milan/APKBUILD   | 40 +++++++++++++++++++
 device/testing/device-huawei-milan/deviceinfo | 38 ++++++++++++++++++
 .../device-huawei-milan/modules-initfs        | 12 ++++++
 device/testing/firmware-huawei-milan/APKBUILD | 23 +++++++++++
 4 files changed, 113 insertions(+)
 create mode 100644 device/testing/device-huawei-milan/APKBUILD
 create mode 100644 device/testing/device-huawei-milan/deviceinfo
 create mode 100644 device/testing/device-huawei-milan/modules-initfs
 create mode 100644 device/testing/firmware-huawei-milan/APKBUILD

diff --git a/device/testing/device-huawei-milan/APKBUILD b/device/testing/device-huawei-milan/APKBUILD
new file mode 100644
index 000000000..44def12a9
--- /dev/null
+++ b/device/testing/device-huawei-milan/APKBUILD
@@ -0,0 +1,40 @@
+# Reference: <https://postmarketos.org/devicepkg>
+# Maintainer: bzy-080408 <Bzy080408@outlook.com>
+pkgname=device-huawei-milan
+pkgdesc="Huawei Maimang 5 / G9 (Plus) / Nova (Plus)"
+pkgver=0
+pkgrel=0
+url="https://postmarketos.org"
+license="MIT"
+arch="aarch64"
+options="!check !archcheck"
+depends="
+	firmware-huawei-milan
+	firmware-qcom-adreno-a530
+	linux-postmarketos-qcom-msm8953
+	lk2nd-msm8953
+	mkbootimg
+	msm-firmware-loader
+	postmarketos-base
+	soc-qcom-msm8953
+	soc-qcom-msm8953-initramfs
+	soc-qcom-msm8953-modem
+"
+makedepends="devicepkg-dev"
+source="
+	deviceinfo
+	modules-initfs
+"
+
+build() {
+	devicepkg_build $startdir $pkgname
+}
+
+package() {
+	devicepkg_package $startdir $pkgname
+}
+
+sha512sums="
+1b9cb6f8232a9e5d9054f3e1090c8a24b3f34fcc3fb5f3376a188c5f84192b9a063ee5c973dd3e647c324fd3786311482330a848fef34b22949ed5a3f1344086  deviceinfo
+5c7a190070b1e4f3f0517b24bbaeaf37da5a2dd815081233e29f403c8dfcf3921cb6651b9adc88677fa780f65ebb7c2c174de35e090692a18fd9ccdc75793589  modules-initfs
+"
diff --git a/device/testing/device-huawei-milan/deviceinfo b/device/testing/device-huawei-milan/deviceinfo
new file mode 100644
index 000000000..4b69ea1e7
--- /dev/null
+++ b/device/testing/device-huawei-milan/deviceinfo
@@ -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="Huawei Maimang 5 / G9 (Plus) / Nova (Plus)"
+deviceinfo_manufacturer="Huawei"
+deviceinfo_codename="huawei-milan"
+deviceinfo_year="2016"
+deviceinfo_arch="aarch64"
+
+# Mainline
+deviceinfo_dtb="qcom/msm8953-huawei-milan"
+deviceinfo_append_dtb="true"
+deviceinfo_gpu_accelerated="true"
+
+# Device related
+deviceinfo_chassis="handset"
+deviceinfo_keyboard="false"
+deviceinfo_external_storage="true"
+deviceinfo_getty="ttyMSM0;115200"
+
+# Bootloader related
+deviceinfo_flash_method="fastboot"
+deviceinfo_kernel_cmdline="console=ttyMSM0,115200"
+deviceinfo_generate_bootimg="true"
+deviceinfo_bootimg_qcdt="false"
+deviceinfo_bootimg_dtb_second="false"
+deviceinfo_flash_offset_base="0x80000000"
+deviceinfo_flash_offset_kernel="0x00008000"
+deviceinfo_flash_offset_ramdisk="0x01000000"
+deviceinfo_flash_offset_second="0x80000000"
+deviceinfo_flash_offset_tags="0x00000100"
+deviceinfo_flash_pagesize="2048"
+deviceinfo_flash_sparse="true"
+
+# osk-sdl
+deviceinfo_mesa_driver="msm"
diff --git a/device/testing/device-huawei-milan/modules-initfs b/device/testing/device-huawei-milan/modules-initfs
new file mode 100644
index 000000000..51140dabb
--- /dev/null
+++ b/device/testing/device-huawei-milan/modules-initfs
@@ -0,0 +1,12 @@
+msm
+panel_huawei_milan_boe_otm1906c
+panel_huawei_milan_boe_td4322
+panel_huawei_milan_boe_test1906c
+panel_huawei_milan_ctc_nt35596s
+panel_huawei_milan_ctc_otm1906c
+panel_huawei_milan_jdi_r63452
+panel_huawei_milan_tianma_fic8736
+panel_huawei_milan_tianma_focal8716
+panel_huawei_milan_tianma_otm1906c
+rmi_core
+rmi_i2c
diff --git a/device/testing/firmware-huawei-milan/APKBUILD b/device/testing/firmware-huawei-milan/APKBUILD
new file mode 100644
index 000000000..01c46e8ea
--- /dev/null
+++ b/device/testing/firmware-huawei-milan/APKBUILD
@@ -0,0 +1,23 @@
+# Maintainer: bzy-080408 <Bzy080408@outlook.com>
+pkgname=firmware-huawei-milan
+pkgver=0
+pkgrel=0
+_commit="f417e07a32310ee4002ca67a3d57f9ba0a960297"
+pkgdesc="Firmware files for Huawei Maimang5 / G9 (Plus) / Nova (Plus)"
+url="https://postmarketos.org"
+arch="aarch64"
+license="proprietary"
+source="milan-fw-$_commit.tar.gz::https://github.com/bzy-080408/postmarketos-vendor-huawei-milan/archive/$_commit.tar.gz"
+options="!strip !check !archcheck !spdx !tracedeps pmb:cross-native"
+builddir="$srcdir/postmarketos-vendor-huawei-milan-$_commit/"
+_fwdir="/lib/firmware/postmarketos"
+
+package() {
+	# GPU firmwares
+	install -Dm644 a506_zap.b02 -t "$pkgdir/$_fwdir"
+	install -Dm644 a506_zap.mdt -t "$pkgdir/$_fwdir"
+}
+
+sha512sums="
+f04a54bd81e389001e95357ffe301a10285c54782f70bb8ac9aed30173a6c9594b3568649d287234769b413cc3f93dbc982b3c596d287947d4630eaf98954451  milan-fw-f417e07a32310ee4002ca67a3d57f9ba0a960297.tar.gz
+"