Compare commits

...

10 commits

Author SHA1 Message Date
LuK1337
fec4577985 haydn: Enable elfchecks for camera libs
Reference: I23190f0b83c9e28aa2624a7575544b0eaf5c83c8
Change-Id: I18b0b07bf3a435dd449106653e3ca458b4f07b69
2025-01-06 01:28:30 +05:30
AdarshGrewal
27a67ee88e haydn: Enable elf checks for libmmcamera_faceproc
Change-Id: If3e8b850f0547f728af7a1dbf53313be2d22e183
2025-01-06 01:28:30 +05:30
AdarshGrewal
dc535dc537 haydn: Update from V816.0.11.0.UKKMIXM
Change-Id: I6b5bbaf84c39ac8e064f1085d9739206fd141eda
2025-01-06 01:28:30 +05:30
Giovanni Ricca
07b8afcd59 haydn: Drop core_64_bit & full_base_telephony inclusions
* It's already done on sm8350-common

Change-Id: I20d7b8a7db38e7abe583b0dc13db1be80d453de8
2025-01-06 01:28:30 +05:30
Michael Bestas
be73882ff6 haydn: Remove unused Android.mk
Change-Id: I98105c127066f7de7012a1895d19c96356105921
2025-01-06 01:28:30 +05:30
LuK1337
a94621dda4 haydn: Pass display ID to sensor location
Fixes wrong side fps overlay on Android V.

Change-Id: I7d5fd33d6e58760daa6ac6ce8aa8ccc40cfbd3c1
2025-01-06 01:28:26 +05:30
basamaryan
fa99fdd4b3 haydn: Move to Xiaomi fingerprint AIDL
Change-Id: I68dba7184034fd37454c7d32a065f041cb611625
2025-01-05 23:52:08 +05:30
Giovanni Ricca
027b32c6bb haydn: Migrate to py extract utils
Change-Id: I628f85544e6fa932fbfb31905fbd249254911f1a
2025-01-05 23:50:18 +05:30
LuK1337
5cc676d35d haydn: Adjust override prop key names
Change-Id: I436bbf425023dbe54cf3e2c35f50a5575511bc38
2025-01-05 23:50:17 +05:30
AdarshGrewal
6a36d9d6c0 haydn: Fix soname
Change-Id: I4ec3e5ce52e18b08fbf00467090f601902372cf7
2024-10-17 22:47:57 +08:00
11 changed files with 97 additions and 129 deletions

View file

@ -1,13 +0,0 @@
#
# Copyright (C) 2021 The LineageOS Project
#
# SPDX-License-Identifier: Apache-2.0
#
LOCAL_PATH := $(call my-dir)
ifeq ($(TARGET_DEVICE),haydn)
include $(call all-makefiles-under,$(LOCAL_PATH))
endif

View file

@ -33,6 +33,9 @@ BOARD_VENDOR_RAMDISK_RECOVERY_KERNEL_MODULES_LOAD := $(BOOT_KERNEL_MODULES)
# Partitions # Partitions
BOARD_DTBOIMG_PARTITION_SIZE := 25165824 BOARD_DTBOIMG_PARTITION_SIZE := 25165824
# Properties
TARGET_VENDOR_PROP += $(DEVICE_PATH)/vendor.prop
# Vibrator # Vibrator
TARGET_QTI_VIBRATOR_EFFECT_LIB := libqtivibratoreffect.xiaomi TARGET_QTI_VIBRATOR_EFFECT_LIB := libqtivibratoreffect.xiaomi
TARGET_QTI_VIBRATOR_USE_EFFECT_STREAM := true TARGET_QTI_VIBRATOR_USE_EFFECT_STREAM := true

71
extract-files.py Executable file
View file

@ -0,0 +1,71 @@
#!/usr/bin/env -S PYTHONPATH=../../../tools/extract-utils python3
#
# SPDX-FileCopyrightText: 2024 The LineageOS Project
# SPDX-License-Identifier: Apache-2.0
#
from extract_utils.fixups_blob import (
blob_fixup,
blob_fixups_user_type,
)
from extract_utils.fixups_lib import (
lib_fixup_remove,
lib_fixups,
lib_fixups_user_type,
)
from extract_utils.main import (
ExtractUtils,
ExtractUtilsModule,
)
namespace_imports = [
'hardware/qcom-caf/sm8350',
'hardware/xiaomi',
'vendor/qcom/opensource/display',
'vendor/xiaomi/sm8350-common',
]
lib_fixups: lib_fixups_user_type = {
**lib_fixups,
}
blob_fixups: blob_fixups_user_type = {
'vendor/etc/camera/pureShot_parameter.xml': blob_fixup()
.regex_replace(r'=(\d+)>', r'="\1">'),
'vendor/lib64/hw/camera.qcom.so': blob_fixup()
.binary_regex_replace(b'\x73\x74\x5F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x6C\x69\x63', b'\x63\x61\x6D\x65\x72\x61\x5F\x63\x6E\x66\x2E\x74\x78\x74'),
'vendor/lib64/hw/camera.xiaomi.so': blob_fixup()
.sig_replace('52 07 00 94', '1F 20 03 D5'),
'vendor/lib64/vendor.xiaomi.hardware.cameraperf@1.0-impl.so': blob_fixup()
.sig_replace('21 00 80 52 7c 00 00 94', '21 00 80 52 1F 20 03 D5'),
('vendor/lib64/libalAILDC.so', 'vendor/lib64/libalLDC.so', 'vendor/lib64/libalhLDC.so'): blob_fixup()
.clear_symbol_version('AHardwareBuffer_allocate')
.clear_symbol_version('AHardwareBuffer_describe')
.clear_symbol_version('AHardwareBuffer_lock')
.clear_symbol_version('AHardwareBuffer_release')
.clear_symbol_version('AHardwareBuffer_unlock'),
('vendor/lib64/libarcsoft_hdrplus_hvx_stub.so', 'vendor/lib64/libarcsoft_super_night_raw.so', 'vendor/lib64/libellc.so',
'vendor/lib64/libmialgo_pureShot.so', 'vendor/lib64/libmialgo_vn_clk.so', 'vendor/lib64/libmiphone_preview_bokeh.so'): blob_fixup()
.clear_symbol_version('remote_handle_close')
.clear_symbol_version('remote_handle_invoke')
.clear_symbol_version('remote_handle_open')
.clear_symbol_version('remote_handle64_close')
.clear_symbol_version('remote_handle64_invoke')
.clear_symbol_version('remote_handle64_open')
.clear_symbol_version('remote_register_buf_attr'),
}
module = ExtractUtilsModule(
'haydn',
'xiaomi',
blob_fixups=blob_fixups,
lib_fixups=lib_fixups,
namespace_imports=namespace_imports,
add_firmware_proprietary_file=True,
)
if __name__ == '__main__':
utils = ExtractUtils.device_with_common(
module, 'sm8350-common', module.vendor
)
utils.run()

View file

@ -1,51 +0,0 @@
#!/bin/bash
#
# SPDX-FileCopyrightText: 2016 The CyanogenMod Project
# SPDX-FileCopyrightText: 2017-2024 The LineageOS Project
# SPDX-License-Identifier: Apache-2.0
#
function blob_fixup() {
case "${1}" in
vendor/etc/camera/pureShot_parameter.xml)
[ "$2" = "" ] && return 0
sed -i 's/=\([0-9]\+\)>/="\1">/g' "${2}"
;;
vendor/lib64/hw/camera.qcom.so)
[ "$2" = "" ] && return 0
sed -i "s/\x73\x74\x5F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x6C\x69\x63/\x63\x61\x6D\x65\x72\x61\x5F\x63\x6E\x66\x2E\x74\x78\x74/g" "${2}"
;;
vendor/lib64/hw/camera.xiaomi.so)
[ "$2" = "" ] && return 0
"${SIGSCAN}" -p "52 07 00 94" -P "1F 20 03 D5" -f "${2}"
;;
vendor/lib64/vendor.xiaomi.hardware.cameraperf@1.0-impl.so)
[ "$2" = "" ] && return 0
"${SIGSCAN}" -p "21 00 80 52 7c 00 00 94" -P "21 00 80 52 1F 20 03 D5" -f "${2}"
;;
*)
return 1
;;
esac
return 0
}
function blob_fixup_dry() {
blob_fixup "$1" ""
}
# If we're being sourced by the common script that we called,
# stop right here. No need to go down the rabbit hole.
if [ "${BASH_SOURCE[0]}" != "${0}" ]; then
return
fi
set -e
export DEVICE=haydn
export DEVICE_COMMON=sm8350-common
export VENDOR=xiaomi
export VENDOR_COMMON=${VENDOR}
"./../../${VENDOR_COMMON}/${DEVICE_COMMON}/extract-files.sh" "$@"

View file

@ -1,13 +1,9 @@
# #
# Copyright (C) 2021 The LineageOS Project # Copyright (C) 2021-2024 The LineageOS Project
# #
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
# #
# Inherit from those products. Most specific first.
$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk)
$(call inherit-product, $(SRC_TARGET_DIR)/product/full_base_telephony.mk)
# Inherit from haydn device # Inherit from haydn device
$(call inherit-product, device/xiaomi/haydn/device.mk) $(call inherit-product, device/xiaomi/haydn/device.mk)
@ -20,14 +16,10 @@ PRODUCT_MANUFACTURER := Xiaomi
PRODUCT_MODEL := M2012K11G PRODUCT_MODEL := M2012K11G
PRODUCT_NAME := lineage_haydn PRODUCT_NAME := lineage_haydn
PRODUCT_SYSTEM_NAME := haydn_global
PRODUCT_SYSTEM_DEVICE := haydn
PRODUCT_BUILD_PROP_OVERRIDES += \ PRODUCT_BUILD_PROP_OVERRIDES += \
PRIVATE_BUILD_DESC="haydn_global-user 14 UKQ1.231207.002 V816.0.6.0.UKKMIXM release-keys" \ BuildDesc="haydn_global-user 14 UKQ1.231207.002 V816.0.11.0.UKKMIXM release-keys" \
TARGET_DEVICE=$(PRODUCT_SYSTEM_DEVICE) \ BuildFingerprint=Xiaomi/haydn_global/haydn:14/UKQ1.231207.002/V816.0.11.0.UKKMIXM:user/release-keys \
TARGET_PRODUCT=$(PRODUCT_SYSTEM_NAME) DeviceProduct=haydn \
SystemName=haydn_global
BUILD_FINGERPRINT := Xiaomi/haydn_global/haydn:14/UKQ1.231207.002/V816.0.6.0.UKKMIXM:user/release-keys
PRODUCT_GMS_CLIENTID_BASE := android-xiaomi PRODUCT_GMS_CLIENTID_BASE := android-xiaomi

View file

@ -328,23 +328,6 @@
<!-- The default peak refresh rate. --> <!-- The default peak refresh rate. -->
<integer name="config_defaultPeakRefreshRate">120</integer> <integer name="config_defaultPeakRefreshRate">120</integer>
<!-- Indicates whether device has a power button fingerprint sensor. -->
<bool name="config_is_powerbutton_fps">true</bool>
<!-- An array of arrays of side fingerprint sensor properties relative to each display.
Note: this value is temporary and is expected to be queried directly
from the HAL in the future. -->
<array name="config_sfps_sensor_props" translatable="false">
<item>@array/config_sfps_sensor_props_0</item>
</array>
<array name="config_sfps_sensor_props_0" translatable="false">
<item>local:4630946736638489730</item> <!--item>displayId</item-->
<item>1080</item> <!--item>sensorLocationX</item-->
<item>970</item> <!--item>sensorLocationY</item-->
<item>200</item> <!--item>sensorRadius</item-->
</array>
<!-- Applications which are disabled unless matching a particular sku --> <!-- Applications which are disabled unless matching a particular sku -->
<string-array name="config_disableApksUnlessMatchedSku_apk_list" translatable="false"> <string-array name="config_disableApksUnlessMatchedSku_apk_list" translatable="false">
<item>com.android.nfc</item> <item>com.android.nfc</item>

View file

@ -1,4 +1,4 @@
# All unpinned blobs below are extracted from haydn V816.0.6.0.UKKMIXM # All unpinned blobs below are extracted from haydn V816.0.11.0.UKKMIXM
# ACDB # ACDB
vendor/etc/acdbdata/Forte/Forte_Bluetooth_cal.acdb vendor/etc/acdbdata/Forte/Forte_Bluetooth_cal.acdb
@ -183,10 +183,10 @@ vendor/lib64/libI420colorconvert.so
vendor/lib64/libSNPE.so vendor/lib64/libSNPE.so
vendor/lib64/lib_sr_models.so vendor/lib64/lib_sr_models.so
vendor/lib64/libaidenoiser.so vendor/lib64/libaidenoiser.so
vendor/lib64/libalAILDC.so;DISABLE_CHECKELF vendor/lib64/libalAILDC.so
vendor/lib64/libalCFR.so vendor/lib64/libalCFR.so
vendor/lib64/libalLDC.so;DISABLE_CHECKELF vendor/lib64/libalLDC.so
vendor/lib64/libalhLDC.so;DISABLE_CHECKELF vendor/lib64/libalhLDC.so
vendor/lib64/libanc_dc_base.so vendor/lib64/libanc_dc_base.so
vendor/lib64/libanc_hdr.so vendor/lib64/libanc_hdr.so
vendor/lib64/libancbase.so vendor/lib64/libancbase.so
@ -197,10 +197,10 @@ vendor/lib64/libarcsoft_dual_sat.so
vendor/lib64/libarcsoft_dual_zoomtranslator.so vendor/lib64/libarcsoft_dual_zoomtranslator.so
vendor/lib64/libarcsoft_dualcam_refocus_image.so vendor/lib64/libarcsoft_dualcam_refocus_image.so
vendor/lib64/libarcsoft_dualcam_refocus_video.so vendor/lib64/libarcsoft_dualcam_refocus_video.so
vendor/lib64/libarcsoft_hdrplus_hvx_stub.so;DISABLE_CHECKELF vendor/lib64/libarcsoft_hdrplus_hvx_stub.so
vendor/lib64/libarcsoft_portrait_lighting.so vendor/lib64/libarcsoft_portrait_lighting.so
vendor/lib64/libarcsoft_portrait_lighting_c.so vendor/lib64/libarcsoft_portrait_lighting_c.so
vendor/lib64/libarcsoft_super_night_raw.so;DISABLE_CHECKELF vendor/lib64/libarcsoft_super_night_raw.so
vendor/lib64/libarcsoft_triple_sat.so vendor/lib64/libarcsoft_triple_sat.so
vendor/lib64/libarcsoft_triple_zoomtranslator.so vendor/lib64/libarcsoft_triple_zoomtranslator.so
vendor/lib64/libbitmlengine.so vendor/lib64/libbitmlengine.so
@ -233,7 +233,7 @@ vendor/lib64/libcom.xiaomi.pluginutils.so
vendor/lib64/libcvface_api.so vendor/lib64/libcvface_api.so
vendor/lib64/libdualcam_optical_zoom_control.so vendor/lib64/libdualcam_optical_zoom_control.so
vendor/lib64/libdualcam_video_optical_zoom.so vendor/lib64/libdualcam_video_optical_zoom.so
vendor/lib64/libellc.so;DISABLE_CHECKELF vendor/lib64/libellc.so
vendor/lib64/libfocus.so vendor/lib64/libfocus.so
vendor/lib64/libhdrdynamic.so vendor/lib64/libhdrdynamic.so
vendor/lib64/libhdrdynamicootf.so vendor/lib64/libhdrdynamicootf.so
@ -246,19 +246,19 @@ vendor/lib64/libmialgo_basic.so
vendor/lib64/libmialgo_ie_capture.so vendor/lib64/libmialgo_ie_capture.so
vendor/lib64/libmialgo_ie_preview.so vendor/lib64/libmialgo_ie_preview.so
vendor/lib64/libmialgo_image_colourkeeping.so vendor/lib64/libmialgo_image_colourkeeping.so
vendor/lib64/libmialgo_pureShot.so;DISABLE_CHECKELF vendor/lib64/libmialgo_pureShot.so
vendor/lib64/libmialgo_rfs.so vendor/lib64/libmialgo_rfs.so
vendor/lib64/libmialgo_sd.so vendor/lib64/libmialgo_sd.so
vendor/lib64/libmialgo_utils.so vendor/lib64/libmialgo_utils.so
vendor/lib64/libmialgo_video_colourkeeping.so vendor/lib64/libmialgo_video_colourkeeping.so
vendor/lib64/libmialgo_video_enhance.so vendor/lib64/libmialgo_video_enhance.so
vendor/lib64/libmialgo_video_seg.so vendor/lib64/libmialgo_video_seg.so
vendor/lib64/libmialgo_vn_clk.so;DISABLE_CHECKELF vendor/lib64/libmialgo_vn_clk.so
vendor/lib64/libmialgoengine.so vendor/lib64/libmialgoengine.so
vendor/lib64/libmibokeh_845_video.so vendor/lib64/libmibokeh_845_video.so
vendor/lib64/libmibokeh_855.so vendor/lib64/libmibokeh_855.so
vendor/lib64/libmibokeh_mask_dsp.so vendor/lib64/libmibokeh_mask_dsp.so
vendor/lib64/libmiphone_preview_bokeh.so;DISABLE_CHECKELF vendor/lib64/libmiphone_preview_bokeh.so
vendor/lib64/libmm-color-convertor.so vendor/lib64/libmm-color-convertor.so
vendor/lib64/libmpbase.so vendor/lib64/libmpbase.so
vendor/lib64/libnanopb.so vendor/lib64/libnanopb.so
@ -328,7 +328,7 @@ vendor/lib64/libjpege.so
vendor/lib64/libmctfengine_stub.so vendor/lib64/libmctfengine_stub.so
vendor/lib64/libmmcamera_bestats.so vendor/lib64/libmmcamera_bestats.so
vendor/lib64/libmmcamera_cac3.so vendor/lib64/libmmcamera_cac3.so
vendor/lib64/libmmcamera_faceproc.so;DISABLE_CHECKELF vendor/lib64/libmmcamera_faceproc.so
vendor/lib64/libmmcamera_faceproc2.so vendor/lib64/libmmcamera_faceproc2.so
vendor/lib64/libmmcamera_lscv35.so vendor/lib64/libmmcamera_lscv35.so
vendor/lib64/libmmcamera_mfnr.so vendor/lib64/libmmcamera_mfnr.so
@ -549,7 +549,7 @@ vendor/etc/mdss_dsi_k11_38_08_0a_dsc_cmd_mi.xml
vendor/etc/qdcm_calib_data_xiaomi_38_08_0a_cmd_mode_dsc_dsi_panel.xml vendor/etc/qdcm_calib_data_xiaomi_38_08_0a_cmd_mode_dsc_dsi_panel.xml
# Fingerprint # Fingerprint
vendor/lib64/hw/fingerprint.fpc.so:vendor/lib64/hw/fingerprint.fpc.lahaina.so vendor/lib64/hw/fingerprint.fpc.so:vendor/lib64/hw/fingerprint.fpc.lahaina.so;FIX_SONAME
# Graphics firmware # Graphics firmware
vendor/firmware/a660_gmu.bin vendor/firmware/a660_gmu.bin
@ -630,7 +630,7 @@ vendor/bin/sscrpcd
vendor/etc/init/init.vendor.sensors.rc vendor/etc/init/init.vendor.sensors.rc
vendor/etc/init/vendor.sensors.qti.rc vendor/etc/init/vendor.sensors.qti.rc
vendor/etc/init/vendor.sensors.sscrpcd.rc vendor/etc/init/vendor.sensors.sscrpcd.rc
vendor/lib64/libnotifyaudiohal.so vendor/lib64/libnotifyaudiohal.so;FIX_SONAME
vendor/lib64/libsensorcal.so vendor/lib64/libsensorcal.so
vendor/lib64/libsensorslog.so vendor/lib64/libsensorslog.so
vendor/lib64/libsns_api.so vendor/lib64/libsns_api.so

View file

@ -1,4 +1,4 @@
# All unpinned blobs below are extracted from haydn V816.0.6.0.UKKMIXM # All unpinned blobs below are extracted from haydn V816.0.11.0.UKKMIXM
abl.img;AB abl.img;AB
aop.img;AB aop.img;AB

1
setup-makefiles.py Executable file
View file

@ -0,0 +1 @@
#!./extract-files.py --regenerate_makefiles

View file

@ -1,21 +0,0 @@
#!/bin/bash
#
# SPDX-FileCopyrightText: 2016 The CyanogenMod Project
# SPDX-FileCopyrightText: 2017-2024 The LineageOS Project
# SPDX-License-Identifier: Apache-2.0
#
# If we're being sourced by the common script that we called,
# stop right here. No need to go down the rabbit hole.
if [ "${BASH_SOURCE[0]}" != "${0}" ]; then
return
fi
set -e
export DEVICE=haydn
export DEVICE_COMMON=sm8350-common
export VENDOR=xiaomi
export VENDOR_COMMON=${VENDOR}
"./../../${VENDOR_COMMON}/${DEVICE_COMMON}/setup-makefiles.sh" "$@"

3
vendor.prop Normal file
View file

@ -0,0 +1,3 @@
# Fingerprint
persist.vendor.fingerprint.type=side
persist.vendor.fingerprint.sensor_location=1080|970|200|local:4630946736638489730