From f07200420c76a8c93fec80441e2bc0abb9c6a87a Mon Sep 17 00:00:00 2001
From: NullPointerException <kigen745@gmail.com>
Date: Thu, 16 Feb 2023 09:08:47 +0200
Subject: [PATCH] lenovo-phab: add device

Signed-off-by: NullPointerException <kigen745@gmail.com>
---
 device/testing/device-lenovo-phab/APKBUILD   | 34 ++++++++++++++++++
 device/testing/device-lenovo-phab/deviceinfo | 36 ++++++++++++++++++++
 device/testing/firmware-lenovo-phab/APKBUILD | 27 +++++++++++++++
 3 files changed, 97 insertions(+)
 create mode 100644 device/testing/device-lenovo-phab/APKBUILD
 create mode 100644 device/testing/device-lenovo-phab/deviceinfo
 create mode 100644 device/testing/firmware-lenovo-phab/APKBUILD

diff --git a/device/testing/device-lenovo-phab/APKBUILD b/device/testing/device-lenovo-phab/APKBUILD
new file mode 100644
index 00000000000..b0f9acbfc3d
--- /dev/null
+++ b/device/testing/device-lenovo-phab/APKBUILD
@@ -0,0 +1,34 @@
+# Reference: <https://postmarketos.org/devicepkg>
+pkgname=device-lenovo-phab
+pkgdesc="Lenovo PHAB"
+pkgver=1
+pkgrel=0
+url="https://postmarketos.org"
+license="MIT"
+arch="aarch64"
+options="!check !archcheck"
+depends="postmarketos-base mkbootimg linux-postmarketos-qcom-msm8916 soc-qcom-msm8916"
+makedepends="devicepkg-dev"
+source="deviceinfo"
+
+subpackages="$pkgname-nonfree-firmware:nonfree_firmware"
+
+build() {
+	devicepkg_build $startdir $pkgname
+}
+
+package() {
+	devicepkg_package $startdir $pkgname
+}
+
+nonfree_firmware() {                                                                
+	pkgdesc="GPU/WiFi/BT/Modem/Video firmware"                                      
+	depends="firmware-qcom-adreno-a300 msm-firmware-loader                          
+					 firmware-qcom-msm8916-wcnss firmware-lenovo-phab-wcnss-nv                  
+					 firmware-qcom-msm8916-venus"                                               
+	mkdir "$subpkgdir"
+}
+
+sha512sums="
+fa16a0ada4086a1d34818bb1135bbc1c079980b50fa338378e6d1063e35c05789db673305106052cde3ce642f0f8b56421e3a682f46bf209e0e525831bbae539  deviceinfo
+"
diff --git a/device/testing/device-lenovo-phab/deviceinfo b/device/testing/device-lenovo-phab/deviceinfo
new file mode 100644
index 00000000000..6334c874200
--- /dev/null
+++ b/device/testing/device-lenovo-phab/deviceinfo
@@ -0,0 +1,36 @@
+# Reference: <https://postmarketos.org/deviceinfo>
+# Please use double quotes only. You can source this file in shell scripts.
+
+deviceinfo_format_version="0"
+deviceinfo_name="Lenovo PHAB"
+deviceinfo_manufacturer="Lenovo"
+deviceinfo_codename="lenovo-phab"
+deviceinfo_year="2016"
+deviceinfo_dtb="qcom/msm8916-lenovo-phab"
+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"
+deviceinfo_gpu_accelerated="true"
+
+# 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="PMOS_NOSPLASH earlycon ignore_loglevel debug console=ttyMSM0 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-lenovo-phab/APKBUILD b/device/testing/firmware-lenovo-phab/APKBUILD
new file mode 100644
index 00000000000..b4b4d236cbf
--- /dev/null
+++ b/device/testing/firmware-lenovo-phab/APKBUILD
@@ -0,0 +1,27 @@
+pkgname=firmware-lenovo-phab
+pkgver=1
+pkgrel=1
+pkgdesc="Firmware for Lenovo PHAB"
+url="https://github.com/k1gen/vendor_lenovo_phab"
+subpackages="$pkgname-wcnss-nv:wcnss_nv"
+arch="aarch64"
+license="proprietary"
+options="!check !strip !archcheck !tracedeps pmb:cross-native"
+
+_commit="31242bf5d60691e4809da0ed78ef76e8ced7a4bf"
+source="$pkgname-$_commit.tar.gz::$url/archive/$_commit.tar.gz"
+
+_fwdir="/lib/firmware/postmarketos"
+
+package() {
+	mkdir -p "$pkgdir"
+}
+
+wcnss_nv() {
+	pkgdesc="Lenovo PHAB WiFi/BT firmware configuration"
+	cd "$srcdir/vendor_lenovo_phab-$_commit"
+	install -Dm644 WCNSS_qcom_wlan_nv.bin -t "$subpkgdir/$_fwdir"/wlan/prima
+}
+sha512sums="
+23d0ed9c473d9586564a2959bca5e4d8efded938ac27cf6b9282b75a57491891f356ffe14a4ebbbdde601de7ca0c86726d3ddf524536f3947213b7030ff89179  firmware-lenovo-phab-31242bf5d60691e4809da0ed78ef76e8ced7a4bf.tar.gz
+"
-- 
GitLab