From 52d860f6f6245811988ac983a19ca917264c773c Mon Sep 17 00:00:00 2001 From: Jami Kettunen Date: Sat, 2 Oct 2021 16:32:29 +0300 Subject: [PATCH] device-oneplus-dumpling: adapt for mainline kernel support (MR 2591) Now the user can choose to install the proprietary firmware along with the downstream or a (close to) mainline kernel. [ci:skip-build]: already built successfully in CI --- .../testing/device-oneplus-dumpling/APKBUILD | 49 +++++++++++++++++-- .../device-oneplus-dumpling/deviceinfo | 16 +++++- .../testing/device-oneplus-dumpling/phoc.ini | 5 ++ 3 files changed, 64 insertions(+), 6 deletions(-) create mode 100644 device/testing/device-oneplus-dumpling/phoc.ini diff --git a/device/testing/device-oneplus-dumpling/APKBUILD b/device/testing/device-oneplus-dumpling/APKBUILD index 4af8b899d..a7ce429af 100644 --- a/device/testing/device-oneplus-dumpling/APKBUILD +++ b/device/testing/device-oneplus-dumpling/APKBUILD @@ -2,15 +2,28 @@ pkgname=device-oneplus-dumpling pkgdesc="OnePlus 5T" -pkgver=0.1 -pkgrel=2 +pkgver=1 +pkgrel=0 url="https://postmarketos.org" license="MIT" arch="aarch64" options="!check !archcheck" -depends="postmarketos-base linux-oneplus-msm8998 mkbootimg mesa-dri-swrast msm-fb-refresher" +depends=" + mkbootimg + postmarketos-base + postmarketos-update-kernel +" makedepends="devicepkg-dev" -source="deviceinfo" +source=" + deviceinfo + phoc.ini +" +subpackages=" + $pkgname-kernel-downstream:kernel_downstream + $pkgname-kernel-mainline:kernel_mainline + $pkgname-nonfree-firmware:nonfree_firmware + $pkgname-phosh +" build() { devicepkg_build $startdir $pkgname @@ -20,6 +33,32 @@ package() { devicepkg_package $startdir $pkgname } +kernel_downstream() { + pkgdesc="Downstream kernel" + depends="linux-oneplus-msm8998 mesa-dri-gallium msm-fb-refresher" + devicepkg_subpackage_kernel $startdir $pkgname $subpkgname +} + +kernel_mainline() { + pkgdesc="Close to mainline kernel" + # NOTE: soc-qcom-sdm845 is also applicable to msm8998 + depends="linux-postmarketos-qcom-msm8998 soc-qcom-sdm845" + devicepkg_subpackage_kernel $startdir $pkgname $subpkgname +} + +nonfree_firmware() { + pkgdesc="Firmware for GPU, Wi-Fi, Bluetooth etc. (mainline only, also needed for osk-sdl)" + depends="firmware-oneplus-msm8998" + mkdir "$subpkgdir" +} + +phosh() { + install_if="$pkgname postmarketos-ui-phosh" + install -Dm644 "$srcdir"/phoc.ini \ + "$subpkgdir"/etc/phosh/phoc.ini +} + sha512sums=" -6a26cdb73d96d0be6c288cd48c116c6582ddd838810fd24e0eb9347ae6a8c7b1819ff5e5b9a4007b0db9f18508b40bdef8a628abe24c59281ae334ff5537d4cc deviceinfo +2ccb1b5c14aaf6a7213636d053509311914729b94e036c30c1f5d38b3ed0aa238c69348889904b32c5113156e69676ffeb3e30f1cb254c9d39cc8935ea97c761 deviceinfo +2288f08a44aae5136c0c0c846501c2bd4bcb10f05454b40c6e4490d398385b8a7129216047b5eb7982ca6d62d3aa71f3e18bfb8661d0cd32c8a600685ca0da48 phoc.ini " diff --git a/device/testing/device-oneplus-dumpling/deviceinfo b/device/testing/device-oneplus-dumpling/deviceinfo index 0a278be05..e2e5293cd 100644 --- a/device/testing/device-oneplus-dumpling/deviceinfo +++ b/device/testing/device-oneplus-dumpling/deviceinfo @@ -9,6 +9,7 @@ deviceinfo_year="2017" deviceinfo_arch="aarch64" # Device related +deviceinfo_gpu_accelerated="true" deviceinfo_chassis="handset" deviceinfo_keyboard="false" deviceinfo_external_storage="false" @@ -17,7 +18,6 @@ deviceinfo_screen_height="2160" # Bootloader related deviceinfo_flash_method="fastboot" -deviceinfo_kernel_cmdline="androidboot.hardware=qcom user_debug=31 msm_rtb.filter=0x37 ehci-hcd.park=3 lpm_levels.sleep_disabled=1 sched_enable_hmp=1 sched_enable_power_aware=1 service_locator.enable=1 swiotlb=2048 androidboot.usbconfigfs=true androidboot.usbcontroller=a800000.dwc3 firmware_class.path=/vendor/firmware_mnt/image loop.max_part=7 ramoops.mem_address=0xac000000 ramoops.mem_size=0x200000 ramoops.console_size=0x40000" deviceinfo_generate_bootimg="true" deviceinfo_bootimg_qcdt="false" deviceinfo_bootimg_dtb_second="false" @@ -29,5 +29,19 @@ deviceinfo_flash_offset_tags="0x00000100" deviceinfo_flash_pagesize="4096" deviceinfo_flash_sparse="true" +# Downstream kernel options +deviceinfo_kernel_cmdline_downstream="androidboot.hardware=qcom user_debug=31 msm_rtb.filter=0x37 ehci-hcd.park=3 lpm_levels.sleep_disabled=1 sched_enable_hmp=1 sched_enable_power_aware=1 service_locator.enable=1 swiotlb=2048 androidboot.usbconfigfs=true androidboot.usbcontroller=a800000.dwc3 firmware_class.path=/vendor/firmware_mnt/image loop.max_part=7 ramoops.mem_address=0xac000000 ramoops.mem_size=0x200000 ramoops.console_size=0x40000" + +# Mainline kernel options +deviceinfo_dtb_mainline="qcom/msm8998-oneplus-dumpling" +deviceinfo_append_dtb_mainline="true" +# We need 'clk_ignore_unused' for now or we don't get graphics +deviceinfo_kernel_cmdline_mainline="clk_ignore_unused quiet loglevel=5 psi=1" +deviceinfo_flash_kernel_on_update="true" + +# Initramfs +deviceinfo_modules_initfs_mainline="panel-samsung-s6e3fc1 msm i2c-qup rmi_i2c qcom_fg qcom_spmi_haptics" +deviceinfo_mesa_driver="msm" + # Required for devices using UFS as storage (instead of e.g. eMMC) deviceinfo_rootfs_image_sector_size="4096" diff --git a/device/testing/device-oneplus-dumpling/phoc.ini b/device/testing/device-oneplus-dumpling/phoc.ini new file mode 100644 index 000000000..5e1c09aa7 --- /dev/null +++ b/device/testing/device-oneplus-dumpling/phoc.ini @@ -0,0 +1,5 @@ +# /etc/phosh/phoc.ini +# Overwrites defaults in /usr/share/phosh/phoc.ini + +[output:DSI-1] +scale = 2.5