From bd3f2f59338b46cf3b3eb5e642e48e58ee451cc6 Mon Sep 17 00:00:00 2001 From: Vincent Knecht Date: Thu, 25 Feb 2021 12:42:49 +0100 Subject: [PATCH] alcatel-idol347: new device (MR 2050) New mainline port with most things working (usb/wifi/bt/3d-accel/sound/gps). Modem/calls/sms/mobile-data should work but couldn't test it recently due to broken devices. --- .../testing/device-alcatel-idol347/APKBUILD | 63 +++++++++++++++++++ .../testing/device-alcatel-idol347/deviceinfo | 32 ++++++++++ .../testing/device-alcatel-idol347/phoc.ini | 5 ++ .../testing/device-alcatel-idol347/pointercal | 1 + .../testing/firmware-alcatel-idol347/APKBUILD | 39 ++++++++++++ 5 files changed, 140 insertions(+) create mode 100644 device/testing/device-alcatel-idol347/APKBUILD create mode 100644 device/testing/device-alcatel-idol347/deviceinfo create mode 100644 device/testing/device-alcatel-idol347/phoc.ini create mode 100644 device/testing/device-alcatel-idol347/pointercal create mode 100644 device/testing/firmware-alcatel-idol347/APKBUILD diff --git a/device/testing/device-alcatel-idol347/APKBUILD b/device/testing/device-alcatel-idol347/APKBUILD new file mode 100644 index 000000000..0467956ff --- /dev/null +++ b/device/testing/device-alcatel-idol347/APKBUILD @@ -0,0 +1,63 @@ +# Reference: +# Maintainer: Vincent Knecht +pkgname=device-alcatel-idol347 +pkgdesc="Alcatel OneTouch Idol 3 (4.7)" +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 phoc.ini pointercal" +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 + $pkgname-phosh +" + +build() { + devicepkg_build $startdir $pkgname +} + +package() { + devicepkg_package $startdir $pkgname + install -D -m644 "$srcdir"/pointercal "$pkgdir"/etc/pointercal +} + +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 firmware" + depends="linux-firmware-qcom firmware-alcatel-idol347-venus firmware-alcatel-idol347-wcnss" + mkdir "$subpkgdir" +} + +nonfree_firmware_modem() { + pkgdesc="Modem firmware" + depends="firmware-alcatel-idol347-modem" + install_if="$pkgname-nonfree-firmware $pkgname-kernel-mainline-modem" + mkdir "$subpkgdir" +} + +phosh() { + install_if="$pkgname=$pkgver-r$pkgrel postmarketos-ui-phosh" + install -D -m644 "$srcdir"/phoc.ini "$subpkgdir"/etc/phosh/phoc.ini +} + +sha512sums="193107468d73d3aaeb83262dbf70304b6440949c2c9117261dc2de900838a900c3d2e8a9314a0802c69244b76f9af1345bd86c196431a1eb5ccfee4fa03302f6 deviceinfo +a60d1785f0163d4a4eb63ea5e3017631aab7dd6683baad6a74b09809d33888d581ca8b14526c19d18234dcf727d1fdb4ff0489ed4bd5523905d0e4da7d93bc56 phoc.ini +ccdfe80d56c7bf8ecce0919a9b1c6721df3c4d0f819585475d4e78b44adf66306f7c2c7082bc7c669dfbfd066028fd2ac3cf4cd2878b34262547ea1fd1f6ae3e pointercal" diff --git a/device/testing/device-alcatel-idol347/deviceinfo b/device/testing/device-alcatel-idol347/deviceinfo new file mode 100644 index 000000000..7866736fe --- /dev/null +++ b/device/testing/device-alcatel-idol347/deviceinfo @@ -0,0 +1,32 @@ +# Reference: +# Please use double quotes only. You can source this file in shell scripts. + +deviceinfo_format_version="0" +deviceinfo_name="Alcatel OneTouch Idol 3 (4.7)" +deviceinfo_manufacturer="Alcatel" +deviceinfo_codename="alcatel-idol347" +deviceinfo_year="2015" +deviceinfo_dtb_mainline="qcom/msm8916-alcatel-idol347" +deviceinfo_dtb_mainline_modem="qcom/msm8916-alcatel-idol347-modem" +deviceinfo_append_dtb="true" +deviceinfo_modules_initfs="smb1360 panel-alcatel-auo-hx8394d msm msg2638" +deviceinfo_arch="aarch64" + +# Device related +deviceinfo_chassis="handset" +deviceinfo_keyboard="false" +deviceinfo_external_storage="true" +deviceinfo_screen_width="720" +deviceinfo_screen_height="1280" + +# 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="0x00008000" +deviceinfo_flash_offset_ramdisk="0x01000000" +deviceinfo_flash_offset_second="0x00f00000" +deviceinfo_flash_offset_tags="0x00000100" +deviceinfo_flash_pagesize="2048" +deviceinfo_flash_sparse="true" diff --git a/device/testing/device-alcatel-idol347/phoc.ini b/device/testing/device-alcatel-idol347/phoc.ini new file mode 100644 index 000000000..df433afe9 --- /dev/null +++ b/device/testing/device-alcatel-idol347/phoc.ini @@ -0,0 +1,5 @@ +[cursor:seat0] +map-to-output:DSI-1 + +[output:DSI-1] +scale = 1.75 diff --git a/device/testing/device-alcatel-idol347/pointercal b/device/testing/device-alcatel-idol347/pointercal new file mode 100644 index 000000000..99607da13 --- /dev/null +++ b/device/testing/device-alcatel-idol347/pointercal @@ -0,0 +1 @@ +23552 -2 -1601211 -255 41188 -50658 65536 720 1280 0 \ No newline at end of file diff --git a/device/testing/firmware-alcatel-idol347/APKBUILD b/device/testing/firmware-alcatel-idol347/APKBUILD new file mode 100644 index 000000000..b268e8bfc --- /dev/null +++ b/device/testing/firmware-alcatel-idol347/APKBUILD @@ -0,0 +1,39 @@ +pkgname=firmware-alcatel-idol347 +pkgver=1 +pkgrel=0 +pkgdesc="Firmware for Alcatel OneTouch Idol 3 (4.7)" +url="https://github.com/vknecht/" +subpackages="$pkgname-modem $pkgname-venus $pkgname-wcnss" +arch="aarch64" +license="proprietary" +options="!check !strip !archcheck" +_repository="firmware-alcatel-idol347" +_commit="28317ed89bb9b568191ce2a6a5f4745a4c67b30f" +source="$pkgname-$_commit.tar.gz::$url/$_repository/archive/$_commit.tar.gz" + +_fwdir="/lib/firmware/postmarketos" + +package() { + # parent package is empty + mkdir -p "$pkgdir" +} + +modem() { + pkgdesc="Alcatel OneTouch Idol 3 (4.7) modem firmware" + install -Dm644 "$srcdir"/"$_repository"-"$_commit"/mba.mbn -t "$subpkgdir/$_fwdir" + install -Dm644 "$srcdir"/"$_repository"-"$_commit"/modem.* -t "$subpkgdir/$_fwdir" +} + +venus() { + pkgdesc="Alcatel OneTouch Idol 3 (4.7) video firmware" + install -Dm644 "$srcdir"/"$_repository"-"$_commit"/venus.* -t "$subpkgdir/$_fwdir"/qcom/venus-1.8 +} + +wcnss() { + pkgdesc="Alcatel OneTouch Idol 3 (4.7) WiFi/BT firmware" + cd "$srcdir"/"$_repository"-"$_commit" + install -Dm644 wcnss.* -t "$subpkgdir/$_fwdir" + install -Dm644 WCNSS_* -t "$subpkgdir/$_fwdir"/wlan/prima +} + +sha512sums="2199c08b6e07f1b11579c3acd70a4343e5b6a486b563039383450fc5a74584d3e62df63d5ac32592893460617990d9226b0178e4ebed507569321d027e995872 firmware-alcatel-idol347-28317ed89bb9b568191ce2a6a5f4745a4c67b30f.tar.gz"