From f5a048c7770f984ae8a45ce36eaf75261f59b75e Mon Sep 17 00:00:00 2001 From: Danila Tikhonov Date: Sun, 29 Oct 2023 22:54:22 +0300 Subject: [PATCH] soc-qcom-sm7150: new aport (MR 4547) Co-authored-by: Jens Reidel Signed-off-by: Danila Tikhonov Signed-off-by: Jens Reidel --- device/testing/soc-qcom-sm7150/10-unl0kr.conf | 2 + .../30-initramfs-firmware.files | 3 + .../soc-qcom-sm7150/90-feedbackd-aw8695.rules | 1 + .../soc-qcom-sm7150/90-feedbackd-pm6150.rules | 1 + device/testing/soc-qcom-sm7150/APKBUILD | 73 +++++++++++++++++++ ...-qcom-sm7150-nonfree-firmware.post-install | 3 + 6 files changed, 83 insertions(+) create mode 100644 device/testing/soc-qcom-sm7150/10-unl0kr.conf create mode 100644 device/testing/soc-qcom-sm7150/30-initramfs-firmware.files create mode 100644 device/testing/soc-qcom-sm7150/90-feedbackd-aw8695.rules create mode 100644 device/testing/soc-qcom-sm7150/90-feedbackd-pm6150.rules create mode 100644 device/testing/soc-qcom-sm7150/APKBUILD create mode 100644 device/testing/soc-qcom-sm7150/soc-qcom-sm7150-nonfree-firmware.post-install diff --git a/device/testing/soc-qcom-sm7150/10-unl0kr.conf b/device/testing/soc-qcom-sm7150/10-unl0kr.conf new file mode 100644 index 000000000..f51fb4246 --- /dev/null +++ b/device/testing/soc-qcom-sm7150/10-unl0kr.conf @@ -0,0 +1,2 @@ +[quirks] +fbdev_force_refresh=true diff --git a/device/testing/soc-qcom-sm7150/30-initramfs-firmware.files b/device/testing/soc-qcom-sm7150/30-initramfs-firmware.files new file mode 100644 index 000000000..5edc139a7 --- /dev/null +++ b/device/testing/soc-qcom-sm7150/30-initramfs-firmware.files @@ -0,0 +1,3 @@ +/lib/firmware/qcom/a630_sqe.fw +/lib/firmware/qcom/a630_gmu.bin +/lib/firmware/qcom/a615_zap.mbn diff --git a/device/testing/soc-qcom-sm7150/90-feedbackd-aw8695.rules b/device/testing/soc-qcom-sm7150/90-feedbackd-aw8695.rules new file mode 100644 index 000000000..057a32e2d --- /dev/null +++ b/device/testing/soc-qcom-sm7150/90-feedbackd-aw8695.rules @@ -0,0 +1 @@ +SUBSYSTEM=="input", KERNEL=="event*", ENV{ID_INPUT}=="1", SUBSYSTEMS=="input", ATTRS{name}=="aw8695-haptics", TAG+="uaccess", ENV{FEEDBACKD_TYPE}="vibra" diff --git a/device/testing/soc-qcom-sm7150/90-feedbackd-pm6150.rules b/device/testing/soc-qcom-sm7150/90-feedbackd-pm6150.rules new file mode 100644 index 000000000..9c4a826ef --- /dev/null +++ b/device/testing/soc-qcom-sm7150/90-feedbackd-pm6150.rules @@ -0,0 +1 @@ +SUBSYSTEM=="input", KERNEL=="event*", ENV{ID_INPUT}=="1", ATTRS{name}=="pm8xxx_vib_ffmemless", TAG+="uaccess", ENV{FEEDBACKD_TYPE}="vibra" diff --git a/device/testing/soc-qcom-sm7150/APKBUILD b/device/testing/soc-qcom-sm7150/APKBUILD new file mode 100644 index 000000000..01e44b5b0 --- /dev/null +++ b/device/testing/soc-qcom-sm7150/APKBUILD @@ -0,0 +1,73 @@ +# Maintainer: Danila Tikhonov +# Co-Maintainer: Jens Reidel + +pkgname=soc-qcom-sm7150 +pkgdesc="Common package for Qualcomm SM7150 devices" +pkgver=1 +pkgrel=0 +url="https://postmarketos.org" +license="BSD-3-Clause" +arch="aarch64" +options="!check !strip !archcheck !tracedeps pmb:cross-native" +depends=" + swclock-offset +" +subpackages=" + $pkgname-nonfree-firmware:nonfree_firmware + $pkgname-unl0kr-quirk:unl0kr_quirk +" + +_gpufw_commit="bad0fd43728e8e2efd92e4b13f270bb27aa68272" +source=" + $pkgname-$_gpufw_commit.tar.gz::https://github.com/sm7150-mainline/firmware-adreno-gpu/archive/$_gpufw_commit.tar.gz + 10-unl0kr.conf + 30-initramfs-firmware.files + 90-feedbackd-aw8695.rules + 90-feedbackd-pm6150.rules + soc-qcom-sm7150-nonfree-firmware.post-install +" + +package() { + install -Dm644 "$srcdir"/90-feedbackd-aw8695.rules \ + "$pkgdir"/usr/lib/udev/rules.d/90-feedbackd-aw8695.rules + + install -Dm644 "$srcdir"/90-feedbackd-pm6150.rules \ + "$pkgdir"/usr/lib/udev/rules.d/90-feedbackd-pm6150.rules +} + +nonfree_firmware() { + depends=" + linux-firmware-ath10k + linux-firmware-qca + linux-firmware-qcom + pd-mapper + pd-mapper-openrc + tqftpserv + tqftpserv-openrc + msm-modem + msm-modem-uim-selection" + install="$subpkgname.post-install" + mkdir "$subpkgdir" + + # We will get all other Adreno GPU FWs from linux-firmware-qcom + install -Dm644 "$srcdir/firmware-adreno-gpu-$_gpufw_commit"/a615_zap.mbn -t \ + "$subpkgdir"/lib/firmware/qcom + + install -Dm644 "$srcdir/30-initramfs-firmware.files" -t \ + "$subpkgdir"/usr/share/mkinitfs/files +} + +unl0kr_quirk() { + # With fbdev emulation enabled, unl0kr needs to force refresh on some panels + install -Dm644 "$srcdir"/10-unl0kr.conf \ + "$subpkgdir"/etc/unl0kr.conf.d/10-unl0kr.conf +} + +sha512sums=" +93a57ec896c35537587190e2da7c6e97025e8df90603b6bc5309d24404bf96cdf54187ebd53c6006d5772adf152a09e0e7c1b3481f5cfe48a0b6f1bfc8c0ac1a soc-qcom-sm7150-bad0fd43728e8e2efd92e4b13f270bb27aa68272.tar.gz +f700af3145b79d1ef9edfb22982899b25cabfb212f9620dcbd3a2e6f44b5ad591e0a66056c6fcd66c3fde89a2b5f551e8a8fe2e65cf0e2a48adec57c027d7825 10-unl0kr.conf +389a4716a9f92871cb0ded771f27480a6657f26f6e5a6db7908e7cb26a36d5dcf60e3bfcbdb86c1a31d643016817798a5ca776e4cf564515336125a483cd07f5 30-initramfs-firmware.files +2974ccc172bf1299daeb0bc746879b3a1db1fbc3a2b163a02a6554fed6ed9f733144bcf976cd2441c5664d496dcce3ae943f4314c653470dc07dda0de5ad632b 90-feedbackd-aw8695.rules +90fca4a3291a2c84c0b20e41308c4698374ba896e9365ca80dbfd0c0c4f7dc08317f3dd865a3c7f6707c81b02f5bb24136d1172253d2e4fdd50039bbbf02a178 90-feedbackd-pm6150.rules +5abdf51e4c7ce188f0bd7ccd9741dbd472ec1469e2f7b5074dde97a8f4171c3bb117cf838615c0f1870f5d89708aa6541fde097e47020c8bbacde5e00f1cca97 soc-qcom-sm7150-nonfree-firmware.post-install +" diff --git a/device/testing/soc-qcom-sm7150/soc-qcom-sm7150-nonfree-firmware.post-install b/device/testing/soc-qcom-sm7150/soc-qcom-sm7150-nonfree-firmware.post-install new file mode 100644 index 000000000..70b9e0efe --- /dev/null +++ b/device/testing/soc-qcom-sm7150/soc-qcom-sm7150-nonfree-firmware.post-install @@ -0,0 +1,3 @@ +#!/bin/sh +rc-update add tqftpserv boot +rc-update add pd-mapper boot