pkgname=firmware-xiaomi-raphael
pkgver=20240820
pkgrel=2
pkgdesc="Firmware for Xiaomi Mi 9T Pro / Redmi K20 Pro"
arch="aarch64"
_carch="arm64"
subpackages="
	$pkgname-adreno
	$pkgname-adsp
	$pkgname-camera
	$pkgname-cdsp
	$pkgname-ipa
	$pkgname-modem
	$pkgname-slpi
	$pkgname-touchscreen
	$pkgname-venus
	$pkgname-wlan
	"

url="https://github.com/dabao1955/pmos_firmware_xiaomi_raphael"
license="proprietary"
options="!check !strip !archcheck !tracedeps pmb:cross-native"
_commit="45b6e993cf5d6fec447d924cf773783a8dbfb596"
source="
	https://github.com/dabao1955/pmos_firmware_xiaomi_raphael/archive/$_commit.tar.gz
	30-gpu-firmware.files
	"
builddir="$srcdir/pmos_firmware_xiaomi_raphael-$_commit"

package() {
	# parent package is empty
	mkdir -p "$pkgdir"
	install -Dm644 "$srcdir/30-gpu-firmware.files" \
		"$pkgdir/usr/share/mkinitfs/files/30-gpu-firmware.files"
}

# Xiaomi raphael boots with secure boot, it can only load signed firmwares.
adreno() {
	pkgdesc="Xiaomi raphael adreno firmware"
	depends="firmware-qcom-adreno-a650"
	ls "$builddir"
	install -Dm644 "$builddir"/sm8150/raphael/a6* -t \
		"$subpkgdir/lib/firmware/qcom/sm8150/Xiaomi/raphael/"
}

adsp() {
	pkgdesc="Xiaomi raphael adsp firmware"

	install -Dm644 "$builddir"/sm8150/raphael/adsp* -t \
		"$subpkgdir/lib/firmware/qcom/sm8150/Xiaomi/raphael/"
}

camera() {
	pkgdesc="Xiaomi raphael camera firmware"

	install -Dm644 "$builddir"/sm8150/raphael/CAMERA_ICP.elf -t \
		"$subpkgdir/lib/firmware/qcom/sm8150/Xiaomi/raphael/"
}

cdsp() {
	pkgdesc="Xiaomi raphael cdsp firmware"

	install -Dm644 "$builddir"/sm8150/raphael/cdsp* -t \
		"$subpkgdir/lib/firmware/qcom/sm8150/Xiaomi/raphael/"
}
ipa() {
	pkgdesc="Xiaomi raphael ipa firmware"

	install -Dm644 "$builddir"/sm8150/raphael/ipa* -t \
		"$subpkgdir/lib/firmware/qcom/sm8150/Xiaomi/raphael/"
}

modem() {
	pkgdesc="Xiaomi raphael modem firmware"

	install -Dm644 "$builddir"/sm8150/raphael/modem* -t \
		"$subpkgdir/lib/firmware/qcom/sm8150/Xiaomi/raphael/"
}


slpi() {
	pkgdesc="Xiaomi raphael slpi firmware"

	install -Dm644 "$builddir"/sm8150/raphael/slpi* -t \
		"$subpkgdir/lib/firmware/qcom/sm8150/Xiaomi/raphael/"
}
touchscreen() {
	pkgdesc="Xiaomi raphael touchscreen firmware"

	install -Dm644 "$builddir"/sm8150/raphael/good* -t \
		"$subpkgdir/lib/firmware/qcom/sm8150/Xiaomi/raphael/"
}

venus() {
	pkgdesc="Xiaomi raphael venus firmware"

	install -Dm644 "$builddir"/sm8150/raphael/venus.mbn -t \
		"$subpkgdir/lib/firmware/qcom/sm8150/Xiaomi/raphael/"
}

wlan() {
	pkgdesc="Xiaomi raphael wlan firmware"

	install -Dm644 "$builddir"/sm8150/raphael/wlanmdsp.mbn -t \
		"$subpkgdir/lib/firmware/qcom/sm8150/Xiaomi/raphael/"
}

sha512sums="
6e1b7d49846fa9834ccd8ee3bb64751c844bdfff52a4501a048f9055e59afb1f31b69bd5b2cd8296d86b89064c86cabb9c7e9dc9db9cd9fb43db9e4b4b478a39 45b6e993cf5d6fec447d924cf773783a8dbfb596.tar.gz
84f75192d6e9c413c2c583b034fcd87e44e39197883047cd77d976b47e8d31e6429db24110addfeed348712773163af69492fb0687a770f3994d697b740875c9  30-gpu-firmware.files"
