diff --git a/Android.bp b/Android.bp index 6671740..a1737f9 100644 --- a/Android.bp +++ b/Android.bp @@ -14,4 +14,39 @@ soong_namespace { "vendor/qcom/opensource/usb/etc", "vendor/qcom/opensource/commonsys-intf/display", ] +} + +install_symlink { + name: "firmware_WCNSS_qcom_cfg.ini_symlink", + vendor: true, + installed_location: "firmware/wlan/qca_cld/WCNSS_qcom_cfg.ini", + symlink_target: "/vendor/etc/wifi/WCNSS_qcom_cfg.ini", +} + +install_symlink { + name: "firmware_qca6490_WCNSS_qcom_cfg.ini_symlink", + vendor: true, + installed_location: "firmware/wlan/qca_cld/qca6490/WCNSS_qcom_cfg.ini", + symlink_target: "/vendor/etc/wifi/qca6490/WCNSS_qcom_cfg.ini", +} + +install_symlink { + name: "firmware_qca6490_wlan_mac.bin_symlink", + vendor: true, + installed_location: "firmware/wlan/qca_cld/qca6490/wlan_mac.bin", + symlink_target: "/mnt/vendor/persist/qca6490/wlan_mac.bin", +} + +install_symlink { + name: "firmware_qca6750_WCNSS_qcom_cfg.ini_symlink", + vendor: true, + installed_location: "firmware/wlan/qca_cld/qca6750/WCNSS_qcom_cfg.ini", + symlink_target: "/vendor/etc/wifi/qca6750/WCNSS_qcom_cfg.ini", +} + +install_symlink { + name: "firmware_qca6750_wlan_mac.bin_symlink", + vendor: true, + installed_location: "firmware/wlan/qca_cld/qca6750/wlan_mac.bin", + symlink_target: "/mnt/vendor/persist/qca6750/wlan_mac.bin", } \ No newline at end of file diff --git a/BoardConfig.mk b/BoardConfig.mk index 760bd85..8451a1d 100644 --- a/BoardConfig.mk +++ b/BoardConfig.mk @@ -53,6 +53,7 @@ BOARD_SUPPORTS_OPENSOURCE_STHAL := true # Bootloader TARGET_BOOTLOADER_BOARD_NAME := taro +TARGET_NO_BOOTLOADER := true # Display TARGET_SCREEN_DENSITY := 440 @@ -60,6 +61,9 @@ TARGET_SCREEN_DENSITY := 440 # Filesystem TARGET_FS_CONFIG_GEN := $(DEVICE_PATH)/configs/config.fs +# GPS +BOARD_VENDOR_QCOM_GPS_LOC_API_HARDWARE := default + # Kernel BOARD_INCLUDE_DTB_IN_BOOTIMG := true BOARD_RAMDISK_USE_LZ4 := true @@ -179,6 +183,19 @@ TARGET_RECOVERY_PIXEL_FORMAT := RGBX_8888 TARGET_USERIMAGES_USE_EXT4 := true TARGET_USERIMAGES_USE_F2FS := true +# RIL +ENABLE_VENDOR_RIL_SERVICE := true + +# Security patch level +VENDOR_SECURITY_PATCH := 2025-05-01 + +# SEPolicy +include device/qcom/sepolicy_vndr/SEPolicy.mk +include device/lineage/sepolicy/libperfmgr/sepolicy.mk +# BOARD_VENDOR_SEPOLICY_DIRS += $(DEVICE_PATH)/sepolicy/vendor +# SYSTEM_EXT_PUBLIC_SEPOLICY_DIRS += $(DEVICE_PATH)/sepolicy/public +# SYSTEM_EXT_PRIVATE_SEPOLICY_DIRS += $(DEVICE_PATH)/sepolicy/private + # Verified Boot BOARD_AVB_ENABLE := true BOARD_AVB_MAKE_VBMETA_IMAGE_ARGS += --flags 3 @@ -218,4 +235,24 @@ DEVICE_MANIFEST_FILE += \ # Use sha256 for dm-verity partitions BOARD_AVB_VENDOR_ADD_HASHTREE_FOOTER_ARGS += --hash_algorithm sha256 BOARD_AVB_VENDOR_DLKM_ADD_HASHTREE_FOOTER_ARGS += --hash_algorithm sha256 -BOARD_AVB_ODM_ADD_HASHTREE_FOOTER_ARGS += --hash_algorithm sha256 \ No newline at end of file +BOARD_AVB_ODM_ADD_HASHTREE_FOOTER_ARGS += --hash_algorithm sha256 + +# WiFi +BOARD_WLAN_DEVICE := qcwcn +BOARD_HOSTAPD_DRIVER := NL80211 +BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_$(BOARD_WLAN_DEVICE) +BOARD_WPA_SUPPLICANT_DRIVER := NL80211 +BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_$(BOARD_WLAN_DEVICE) +CONFIG_IEEE80211AX := true +# (1 STA + 1 AP) or (1 STA + 1 of (P2P or NAN)) or (2 AP) or (2 STA) +WIFI_HAL_INTERFACE_COMBINATIONS := {{{STA}, 1}, {{AP}, 1}}, {{{STA}, 1}, {{P2P, NAN}, 1}}, {{{AP}, 2}}, {{{STA}, 2}} +WIFI_DRIVER_BUILT := qca_cld3 +WIFI_DRIVER_DEFAULT := qca_cld3 +WIFI_DRIVER_STATE_CTRL_PARAM := "/dev/wlan" +WIFI_DRIVER_STATE_OFF := "OFF" +WIFI_DRIVER_STATE_ON := "ON" +WIFI_HIDL_UNIFIED_SUPPLICANT_SERVICE_RC_ENTRY := true +WPA_SUPPLICANT_VERSION := VER_0_8_X + +# Include the proprietary files BoardConfig. +include vendor/xiaomi/marble/BoardConfigVendor.mk \ No newline at end of file diff --git a/configs/public.libraries.txt b/configs/public.libraries.txt new file mode 100644 index 0000000..ab9ab42 --- /dev/null +++ b/configs/public.libraries.txt @@ -0,0 +1,11 @@ +libqti-perfd-client.so +libadsprpc.so +libcdsprpc.so +libsdsprpc.so +libfastcvopt.so +libOpenCL.so +libSNPE.so +libmialgo_ai_vision.so +libmialgo_utils.so +libxmi_slow_motion_mein.so +libomp.so \ No newline at end of file diff --git a/device.mk b/device.mk index 6e4b819..f54022f 100644 --- a/device.mk +++ b/device.mk @@ -79,6 +79,63 @@ PRODUCT_PACKAGES += \ android.hardware.boot-service.qti \ android.hardware.boot-service.qti.recovery +$(call soong_config_set, ufsbsg, ufsframework, bsg) + +# Camera +$(call soong_config_set,camera,override_format_from_reserved,true) + +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.hardware.camera.flash-autofocus.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.flash-autofocus.xml \ + frameworks/native/data/etc/android.hardware.camera.front.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.front.xml \ + frameworks/native/data/etc/android.hardware.camera.full.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.full.xml \ + frameworks/native/data/etc/android.hardware.camera.raw.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.raw.xml + +# Configstore +PRODUCT_PACKAGES += \ + disable_configstore + +# Display +PRODUCT_PACKAGES += \ + android.hardware.graphics.mapper@4.0-impl-qti-display \ + vendor.qti.hardware.display.allocator-service \ + vendor.qti.hardware.display.composer-service + +PRODUCT_PACKAGES += \ + init.qti.display_boot.rc \ + init.qti.display_boot.sh + +PRODUCT_COPY_FILES += \ + hardware/qcom-caf/sm8450/display/config/snapdragon_color_libs_config.xml:$(TARGET_COPY_OUT_VENDOR)/etc/snapdragon_color_libs_config.xml + +# DRM +PRODUCT_PACKAGES += \ + android.hardware.drm-service.clearkey + +# GPS +PRODUCT_PACKAGES += \ + android.hardware.gnss@2.1-impl-qti \ + android.hardware.gnss-aidl-impl-qti \ + android.hardware.gnss-aidl-service-qti + +PRODUCT_PACKAGES += \ + libbatching \ + libgeofencing \ + libgnss + +$(call soong_config_set, qtilocation, feature_nhz, false) + +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.hardware.location.gps.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.location.gps.xml + +# Graphics +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.hardware.opengles.aep.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.opengles.aep.xml \ + frameworks/native/data/etc/android.hardware.vulkan.compute-0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.compute-0.xml \ + frameworks/native/data/etc/android.hardware.vulkan.level-1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.level-1.xml \ + frameworks/native/data/etc/android.hardware.vulkan.version-1_1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.version-1_1.xml \ + frameworks/native/data/etc/android.software.opengles.deqp.level-2021-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.opengles.deqp.level.xml \ + frameworks/native/data/etc/android.software.vulkan.deqp.level-2021-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.vulkan.deqp.level.xml + # Fstab PRODUCT_COPY_FILES += \ $(LOCAL_PATH)/rootdir/etc/charger_fw_fstab.qti:$(TARGET_COPY_OUT_VENDOR)/etc/charger_fw_fstab.qti @@ -94,18 +151,150 @@ PRODUCT_PACKAGES += \ libvndfwk_detect_jni.qti \ libvndfwk_detect_jni.qti.vendor +# Fingerprint +ifneq ($(TARGET_IS_TABLET),true) +PRODUCT_PACKAGES += \ + android.hardware.biometrics.fingerprint-service.xiaomi + +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.hardware.fingerprint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.fingerprint.xml + +ifeq ($(TARGET_HAS_UDFPS),true) +PRODUCT_PACKAGES += \ + libudfpshandler +endif +endif + +# Health +PRODUCT_PACKAGES += \ + android.hardware.health-service.qti + +ifneq ($(TARGET_IS_VAB),true) +PRODUCT_PACKAGES += \ + android.hardware.health-service.qti_recovery +endif + +# IFAAService +PRODUCT_PACKAGES += \ + IFAAService + +# IPACM +PRODUCT_PACKAGES += \ + ipacm \ + IPACM_cfg.xml \ + IPACM_Filter_cfg.xml + +# IR +PRODUCT_PACKAGES += \ + android.hardware.ir-service.lineage + +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.hardware.consumerir.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.consumerir.xml + +# Input +PRODUCT_PACKAGES += \ + uinput-fpc.kl \ + uinput-goodix.kl + +PRODUCT_PACKAGES += \ + uinput-fpc.idc \ + uinput-goodix.idc + +PRODUCT_COPY_FILES += \ + $(LOCAL_PATH)/idc/uinput-fpc.idc:$(TARGET_COPY_OUT_SYSTEM)/usr/idc/uinput-fpc.idc \ + $(LOCAL_PATH)/idc/uinput-goodix.idc:$(TARGET_COPY_OUT_SYSTEM)/usr/idc/uinput-goodix.idc \ + $(LOCAL_PATH)/keylayout/uinput-fpc.kl:$(TARGET_COPY_OUT_SYSTEM)/usr/keylayout/uinput-fpc.kl \ + $(LOCAL_PATH)/keylayout/uinput-goodix.kl:$(TARGET_COPY_OUT_SYSTEM)/usr/keylayout/uinput-goodix.kl + +# Kernel +PRODUCT_SET_DEBUGFS_RESTRICTIONS := true + +# Keymaster +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.hardware.keystore.app_attest_key.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.keystore.app_attest_key.xml + +# Lights +PRODUCT_PACKAGES += \ + android.hardware.light-service.lineage + +# Lineage Health +PRODUCT_PACKAGES += \ + vendor.lineage.health-service.default + +$(call soong_config_set,lineage_health,charging_control_supports_bypass,false) + # Media - Dolby vision PRODUCT_PACKAGES += \ libcodec2_hidl_shim.vendor +# Network +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.software.ipsec_tunnel_migration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.ipsec_tunnel_migration.xml \ + frameworks/native/data/etc/android.software.ipsec_tunnels.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.ipsec_tunnels.xml + +# NFC / Secure Element +PRODUCT_PACKAGES += \ + android.hardware.nfc-service.nxp \ + com.android.nfc_extras + +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.hardware.se.omapi.uicc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.se.omapi.uicc.xml + +ifeq ($(TARGET_NFC_SUPPORTED_SKUS),) +TARGET_COPY_OUT_NFC_SKU_PERMISSIONS := $(TARGET_COPY_OUT_VENDOR)/etc/permissions/ +else +$(foreach sku, $(TARGET_NFC_SUPPORTED_SKUS), \ + $(eval TARGET_COPY_OUT_NFC_SKU_PERMISSIONS += $(TARGET_COPY_OUT_ODM)/etc/permissions/sku_$(sku))) +endif + +$(foreach sku_out, $(TARGET_COPY_OUT_NFC_SKU_PERMISSIONS), \ + $(eval PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.hardware.nfc.ese.xml:$(sku_out)/android.hardware.nfc.ese.xml \ + frameworks/native/data/etc/android.hardware.nfc.hce.xml:$(sku_out)/android.hardware.nfc.hce.xml \ + frameworks/native/data/etc/android.hardware.nfc.hcef.xml:$(sku_out)/android.hardware.nfc.hcef.xml \ + frameworks/native/data/etc/android.hardware.nfc.uicc.xml:$(sku_out)/android.hardware.nfc.uicc.xml \ + frameworks/native/data/etc/android.hardware.nfc.xml:$(sku_out)/android.hardware.nfc.xml \ + frameworks/native/data/etc/android.hardware.se.omapi.ese.xml:$(sku_out)/etc/permissions/android.hardware.se.omapi.ese.xml \ + frameworks/native/data/etc/com.android.nfc_extras.xml:$(sku_out)/com.android.nfc_extras.xml \ + frameworks/native/data/etc/com.nxp.mifare.xml:$(sku_out)/com.nxp.mifare.xml)) + +# OMX +TARGET_SUPPORTS_OMX_SERVICE := false + # Partitions PRODUCT_PACKAGES += \ vendor_bt_firmware_mountpoint \ vendor_dsp_mountpoint \ - vendor_firmware_mnt_mountpoint + vendor_firmware_mnt_mountpoint \ + vendor_vm-system_mountpoint PRODUCT_USE_DYNAMIC_PARTITIONS := true +# Power +PRODUCT_PACKAGES += \ + android.hardware.power-service-qti + +PRODUCT_COPY_FILES += \ + vendor/qcom/opensource/power/config/taro/powerhint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/powerhint.xml + +# Powershare +$(call soong_config_set,lineage_powershare,powershare_path,/sys/class/qcom-battery/reverse_chg_mode) + +# Public libraries +PRODUCT_COPY_FILES += \ + $(LOCAL_PATH)/configs/public.libraries.txt:$(TARGET_COPY_OUT_VENDOR)/etc/public.libraries.txt + +# QMI +PRODUCT_PACKAGES += \ + libvndfwk_detect_jni.qti_vendor # Needed by CNE app + +# Recovery +PRODUCT_PACKAGES += \ + fastbootd + +PRODUCT_COPY_FILES += \ + $(LOCAL_PATH)/rootdir/etc/init.recovery.qcom.rc:$(TARGET_COPY_OUT_RECOVERY)/root/init.recovery.qcom.rc + # Rootdir PRODUCT_PACKAGES += \ fstab.qcom @@ -123,11 +312,74 @@ PRODUCT_PACKAGES += \ init.target.rc \ ueventd.qcom.rc +# Sensors +PRODUCT_PACKAGES += \ + android.hardware.sensors-service.xiaomi-multihal + +PRODUCT_PACKAGES += \ + sensors.xiaomi.v2 + +PRODUCT_COPY_FILES += \ + $(LOCAL_PATH)/sensors/hals.conf:$(TARGET_COPY_OUT_ODM)/etc/sensors/hals.conf + +$(foreach sku, taro diwali cape ukee, \ + $(eval PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.hardware.sensor.accelerometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/sku_$(sku)/android.hardware.sensor.accelerometer.xml \ + frameworks/native/data/etc/android.hardware.sensor.compass.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/sku_$(sku)/android.hardware.sensor.compass.xml \ + frameworks/native/data/etc/android.hardware.sensor.gyroscope.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/sku_$(sku)/android.hardware.sensor.gyroscope.xml \ + frameworks/native/data/etc/android.hardware.sensor.light.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/sku_$(sku)/android.hardware.sensor.light.xml \ + frameworks/native/data/etc/android.hardware.sensor.proximity.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/sku_$(sku)/android.hardware.sensor.proximity.xml \ + frameworks/native/data/etc/android.hardware.sensor.stepcounter.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/sku_$(sku)/android.hardware.sensor.stepcounter.xml \ + frameworks/native/data/etc/android.hardware.sensor.stepdetector.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/sku_$(sku)/android.hardware.sensor.stepdetector.xml \ + )) + # Soong namespaces PRODUCT_SOONG_NAMESPACES += \ $(LOCAL_PATH) \ hardware/xiaomi +# Telephony +PRODUCT_PACKAGES += \ + extphonelib \ + extphonelib-product \ + extphonelib.xml \ + extphonelib_product.xml \ + ims-ext-common \ + ims_ext_common.xml \ + qti-telephony-hidl-wrapper \ + qti-telephony-hidl-wrapper-prd \ + qti_telephony_hidl_wrapper.xml \ + qti_telephony_hidl_wrapper_prd.xml \ + qti-telephony-utils \ + qti-telephony-utils-prd \ + qti_telephony_utils.xml \ + qti_telephony_utils_prd.xml \ + telephony-ext \ + xiaomi-telephony-stub + +PRODUCT_BOOT_JARS += \ + telephony-ext \ + xiaomi-telephony-stub + +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.hardware.telephony.cdma.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.cdma.xml \ + frameworks/native/data/etc/android.hardware.telephony.gsm.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.gsm.xml \ + frameworks/native/data/etc/android.hardware.telephony.ims.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.ims.xml \ + frameworks/native/data/etc/android.software.sip.voip.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.sip.voip.xml + +# Thermal +PRODUCT_PACKAGES += \ + android.hardware.thermal-service.qti + +# Touchscreen +PRODUCT_PACKAGES += \ + vendor.lineage.touch-service.xiaomi + +$(call soong_config_set, XIAOMI_TOUCH, HIGH_TOUCH_POLLING_PATH, /sys/devices/virtual/touch/touch_dev/bump_sample_rate) + +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.hardware.touchscreen.multitouch.jazzhand.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.touchscreen.multitouch.jazzhand.xml + # Ueventd PRODUCT_COPY_FILES += \ $(LOCAL_PATH)/rootdir/etc/ueventd-odm.rc:$(TARGET_COPY_OUT_ODM)/etc/ueventd.rc @@ -141,7 +393,73 @@ PRODUCT_PACKAGES += \ PRODUCT_PACKAGES_DEBUG += \ update_engine_client -# WiFi Display +# USB +PRODUCT_PACKAGES += \ + android.hardware.usb-service.qti \ + android.hardware.usb.gadget-service.qti + +PRODUCT_PACKAGES += \ + init.qcom.usb.rc \ + init.qcom.usb.sh \ + usb_compositions.conf + +PRODUCT_SOONG_NAMESPACES += vendor/qcom/opensource/usb/etc + +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.hardware.usb.accessory.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.accessory.xml \ + frameworks/native/data/etc/android.hardware.usb.host.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.host.xml + +# Vendor service manager +PRODUCT_PACKAGES += \ + vndservicemanager + +# Vibrator +PRODUCT_PACKAGES += \ + vendor.qti.hardware.vibrator.service + +PRODUCT_COPY_FILES += \ + vendor/qcom/opensource/vibrator/excluded-input-devices.xml:$(TARGET_COPY_OUT_VENDOR)/etc/excluded-input-devices.xml + +# Wi-Fi +PRODUCT_PACKAGES += \ + android.hardware.wifi-service \ + android.hardware.wifi.hostapd@1.0.vendor \ + hostapd \ + hostapd_cli \ + libwifi-hal-ctrl \ + libwifi-hal-qcom \ + wpa_supplicant \ + wpa_supplicant.conf + +PRODUCT_COPY_FILES += \ + $(LOCAL_PATH)/wlan/p2p_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/p2p_supplicant_overlay.conf \ + $(LOCAL_PATH)/wlan/qca6490/WCNSS_qcom_cfg.ini:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/qca6490/WCNSS_qcom_cfg.ini \ + $(LOCAL_PATH)/wlan/qca6750/WCNSS_qcom_cfg.ini:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/qca6750/WCNSS_qcom_cfg.ini \ + $(LOCAL_PATH)/wlan/wpa_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/wpa_supplicant_overlay.conf + +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.hardware.wifi.aware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.aware.xml \ + frameworks/native/data/etc/android.hardware.wifi.direct.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.direct.xml \ + frameworks/native/data/etc/android.hardware.wifi.passpoint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.passpoint.xml \ + frameworks/native/data/etc/android.hardware.wifi.rtt.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.rtt.xml \ + frameworks/native/data/etc/android.hardware.wifi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.xml + +# Wi-Fi Display +PRODUCT_PACKAGES += \ + libwfdaac_vendor + +PRODUCT_BOOT_JARS += \ + WfdCommon + +# WiFi firmware symlinks +PRODUCT_PACKAGES += \ + firmware_WCNSS_qcom_cfg.ini_symlink \ + firmware_qca6490_WCNSS_qcom_cfg.ini_symlink \ + firmware_qca6490_wlan_mac.bin_symlink \ + firmware_qca6750_WCNSS_qcom_cfg.ini_symlink \ + firmware_qca6750_wlan_mac.bin_symlink + +# Misc PRODUCT_PACKAGES += \ libavservices_minijail \ libgui_shim \ diff --git a/idc/Android.bp b/idc/Android.bp new file mode 100644 index 0000000..a7e5027 --- /dev/null +++ b/idc/Android.bp @@ -0,0 +1,11 @@ +prebuilt_usr_idc { + name: "uinput-fpc.idc", + src: "uinput-fpc.idc", + vendor: true, +} + +prebuilt_usr_idc { + name: "uinput-goodix.idc", + src: "uinput-goodix.idc", + vendor: true, +} \ No newline at end of file diff --git a/idc/uinput-fpc.idc b/idc/uinput-fpc.idc new file mode 100644 index 0000000..7ccc1da --- /dev/null +++ b/idc/uinput-fpc.idc @@ -0,0 +1,16 @@ +# MIUI ADD:Fingerprint_MIUIFingerprintFrame +# FPC1020 Touch sensor driver +# +# Copyright (c) 2013,2014 Fingerprint Cards AB +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License Version 2 +# as published by the Free Software Foundation. +# + +device.internal = 1 + +keyboard.layout = uinput-fpc +keyboard.builtIn = 1 +keyboard.orientationAware = 1 +#END Fingerprint_MIUIFingerprintFrame diff --git a/idc/uinput-goodix.idc b/idc/uinput-goodix.idc new file mode 100644 index 0000000..236c7a2 --- /dev/null +++ b/idc/uinput-goodix.idc @@ -0,0 +1,16 @@ +# MIUI ADD:Fingerprint_MIUIFingerprintFrame +# FPC1020 Touch sensor driver +# +# Copyright (c) 2013,2014 Fingerprint Cards AB +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License Version 2 +# as published by the Free Software Foundation. +# + +device.internal = 1 + +keyboard.layout = uinput-goodix +keyboard.builtIn = 1 +keyboard.orientationAware = 1 +#END Fingerprint_MIUIFingerprintFrame diff --git a/keylayout/Android.bp b/keylayout/Android.bp new file mode 100644 index 0000000..94620d8 --- /dev/null +++ b/keylayout/Android.bp @@ -0,0 +1,11 @@ +prebuilt_usr_keylayout { + name: "uinput-fpc.kl", + src: "uinput-fpc.kl", + vendor: true, +} + +prebuilt_usr_keylayout { + name: "uinput-goodix.kl", + src: "uinput-goodix.kl", + vendor: true, +} \ No newline at end of file diff --git a/keylayout/uinput-fpc.kl b/keylayout/uinput-fpc.kl new file mode 100644 index 0000000..ffe4989 --- /dev/null +++ b/keylayout/uinput-fpc.kl @@ -0,0 +1,29 @@ +# MIUI ADD:Fingerprint_MIUIFingerprintFrame +# FPC1020 Touch sensor driver +# +# Copyright (c) 2013,2014 Fingerprint Cards AB +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License Version 2 +# as published by the Free Software Foundation. +# + +#key 304 DPAD_CENTER VIRTUAL +#key 102 HOME VIRTUAL +#key 108 SYSTEM_NAVIGATION_DOWN +#key 103 SYSTEM_NAVIGATION_DOWN +# Swipe Up +#key 103 DPAD_UP VIRTUAL + +# Swipe Down +#key 108 DPAD_DOWN VIRTUAL + +# Single Tap +key 105 DPAD_CENTER VIRTUAL + +# Double Tap +key 106 BUTTON_C VIRTUAL + +# Keymap between kernel and framework. +# Refer to input-event-codes.h(kernel) and KeyEvent.java(framework) for more details. +#END Fingerprint_MIUIFingerprintFrame diff --git a/keylayout/uinput-goodix.kl b/keylayout/uinput-goodix.kl new file mode 100644 index 0000000..c46857b --- /dev/null +++ b/keylayout/uinput-goodix.kl @@ -0,0 +1,19 @@ +# MIUI ADD:Fingerprint_MIUIFingerprintFrame +# FPC1020 Touch sensor driver +# +# Copyright (c) 2013,2014 Fingerprint Cards AB +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License Version 2 +# as published by the Free Software Foundation. +# + +#single click +key 353 DPAD_CENTER VIRTUAL +#double click +key 306 BUTTON_C VIRTUAL +# HOME --> DPAD_CENTER +key 102 DPAD_CENTER VIRTUAL +#key 105 DPAD_LEFT VIRTUAL +#key 106 DPAD_RIGHT VIRTUAL +#END Fingerprint_MIUIFingerprintFrame diff --git a/proprietary-files.txt b/proprietary-files.txt index ea1e7c9..275dd36 100644 --- a/proprietary-files.txt +++ b/proprietary-files.txt @@ -1709,20 +1709,10 @@ vendor/bin/slim_daemon vendor/bin/xtra-daemon vendor/bin/xtwifi-client vendor/bin/xtwifi-inet-agent -vendor/etc/init/android.hardware.gnss-aidl-service-qti.rc vendor/etc/init/init.qdmastats.rc vendor/etc/init/loc-launcher.rc -vendor/etc/seccomp_policy/gnss@2.0-base.policy -vendor/etc/seccomp_policy/gnss@2.0-xtra-daemon.policy vendor/etc/seccomp_policy/gnss@2.0-xtwifi-client.policy -vendor/etc/vintf/manifest/android.hardware.gnss-aidl-service-qti.xml -vendor/etc/vintf/manifest/android.hardware.gnss@2.1-service-qti.xml vendor/etc/vintf/manifest/vendor.qti.gnss-service.xml -vendor/etc/apdr.conf -vendor/etc/batching.conf -vendor/etc/izat.conf -vendor/etc/lowi.conf -vendor/etc/sap.conf vendor/etc/sec_config vendor/etc/xtwifi.conf vendor/lib/hw/android.hardware.gnss-aidl-impl-qti.so @@ -1822,11 +1812,6 @@ vendor/lib64/vendor.qti.gnss-V3-ndk_platform.so vendor/lib64/vendor.qti.gnss-service.so # GNSS configs -vendor/etc/apdr.conf -vendor/etc/gps.conf -vendor/etc/izat.conf -vendor/etc/lowi.conf -vendor/etc/sap.conf vendor/etc/xtwifi.conf # Health @@ -1849,8 +1834,6 @@ vendor/lib64/libqtiidentitycredential.so # IPA vendor/bin/ipacm-diag vendor/etc/init/ipacm-diag.rc -vendor/lib64/libnetfilter_conntrack.so -vendor/lib64/libnfnetlink.so # IPA firmware vendor/etc/init/ipa_fws.rc @@ -3292,7 +3275,6 @@ vendor/etc/wifi/icm.conf vendor/etc/wifi/p2p_supplicant_overlay.conf vendor/etc/wifi/passpointProfile.conf vendor/etc/wifi/vendor_cmd.xml -vendor/etc/wifi/wpa_supplicant.conf vendor/etc/wifi/wpa_supplicant_overlay.conf # WiFi Display diff --git a/sensors/hals.conf b/sensors/hals.conf new file mode 100644 index 0000000..44a8777 --- /dev/null +++ b/sensors/hals.conf @@ -0,0 +1 @@ +sensors.xiaomi.v2.so \ No newline at end of file diff --git a/setup-makefiles.py b/setup-makefiles.py old mode 100644 new mode 100755 diff --git a/sort-blobs-list.sh b/sort-blobs-list.sh old mode 100644 new mode 100755 diff --git a/wlan/p2p_supplicant_overlay.conf b/wlan/p2p_supplicant_overlay.conf new file mode 100644 index 0000000..14e4fcc --- /dev/null +++ b/wlan/p2p_supplicant_overlay.conf @@ -0,0 +1,11 @@ +disable_scan_offload=1 +p2p_no_group_iface=1 +persistent_reconnect=1 +bss_max_count=400 +p2p_go_ht40=1 +p2p_go_vht=1 +p2p_go_he=1 +p2p_chan_list_dfs_disable=0 +p2p_chan_list_only_sta_dfs_enable=0 +p2p_pref_list_dfs_disable=0 +p2p_go_dfs_disable=0 diff --git a/wlan/qca6490/WCNSS_qcom_cfg.ini b/wlan/qca6490/WCNSS_qcom_cfg.ini new file mode 100644 index 0000000..600a550 --- /dev/null +++ b/wlan/qca6490/WCNSS_qcom_cfg.ini @@ -0,0 +1,236 @@ +# This file allows user to override the factory +# defaults for the WLAN Driver + +gDot11Mode=0 +InfraUapsdVoSrvIntv=0 +InfraUapsdViSrvIntv=0 +InfraUapsdBeSrvIntv=0 +InfraUapsdBkSrvIntv=0 +gAddTSWhenACMIsOff=1 +gEnableApOBSSProt=1 +RTSThreshold=1048576 +g11dSupportEnabled=0 +gEnableDFSMasterCap=1 +gNeighborScanTimerPeriod=200 +gNeighborLookupThreshold=76 +FastRoamEnabled=1 +RoamRssiDiff=5 +gChannelBondingMode5GHz=1 +gAllowDFSChannelRoam=1 +gSetTxChainmask1x1=1 +gSetRxChainmask1x1=1 +gActiveMaxChannelTime=40 +gWlanMccToSccSwitchMode = 3 +gEnableTXSTBC=1 +gEnableTxBFeeSAP=1 +gEnableTxBFin20MHz=1 +gEnableTxSUBeamformer=1 +gRrmEnable=1 +gVhtAmpduLenExponent=7 +gVhtMpduLen=2 +isP2pDeviceAddrAdministrated=0 +gEnableVhtFor24GHzBand=1 +gEnableLpassSupport=1 +gCountryCodePriority=1 +gEnableMuBformee=1 +gTDLSExternalControl=1 +gEnableTDLSOffChannel=1 + +################ Datapath feature set Begin ################ +gVhtRxMCS=2 +gVhtTxMCS=2 +gEnable2x2=1 +gVhtRxMCS2x2=2 +gVhtTxMCS2x2=2 +gIPAConfig=0 +gIPADescSize=800 +dp_tx_ring_size=5120 +dp_tx_compl_ring_size=8192 +dp_tx_desc=6144 +dp_tx_ext_desc=6144 +rx_mode=20 +gEnableFastPath=1 +TSOEnable=1 +GROEnable=3 +ght_mpdu_density=5 +gEnableFlowSteering=1 +maxMSDUsPerRxInd=8 +#gEnableNUDTracking=1 +dp_rx_fisa_enable=1 +dp_rx_flow_search_table_size=128 +rpsRxQueueCpuMapList=f3 +legacy_mode_csum_disable=1 +icmp_req_to_fw_mark_interval=200 +gBusBandwidthVeryHighThreshold=10000 + +################ Datapath feature set End ################ + +adaptive_dwell_mode_enabled=1 +hostscan_adaptive_dwell_mode=1 +enable_rtt_mac_randomization=1 +gEnableSNRMonitoring=1 +gWmiCreditCount=1 +acs_with_more_param=1 +AutoChannelSelectWeight=0x00fafafa +bcast_twt=1 +gRuntimePM=2 +gRuntimePMDelay=500 +gEnablePacketLog=0 +oem_6g_support_disable=1 + +#active_max_channel_time_2g=80 +#gActiveMaxChannelTime=60 +active_max_channel_time_6g=60 +passive_max_channel_time_6g=60 + +#####################################Xiaomi ADD: START + +# Channel Rrequency Response +# Bitmap denoting the PDEVs for which CFR needs to be disabled +cfr_disable=7 + +# configure MAC address from the cfg file wlan_mac.bin +read_mac_addr_from_mac_file=1 + +# Set 2.4g channel scan time to 40 +active_max_channel_time_2g=80 +gActiveMaxChannelTime=40 + +# WLM flags setting for ultralow level, bit9 for BMPS disabled +# bit 0: Avoid scan request from HLOS if setting +# bit 1: Skip DFS channel SCAN if setting +# bit 19/20: 1 to set PCIE in L1SS state(low power mode), 0 to set PCIE in L0 state(active mode) +wlm_latency_flags_ultralow=0x180003 + +#APF: Android Packet Filter +gActiveMcBcBpfMode=1 + +# Assoc failure timeout value +# Code default is 2000 +assoc_failure_timeout=5000 + +# Enable NUD tracking feature +# 0 - disable(default),1 - trigger disconnect, 2 - trigger roaming, +# 3 - trigger roaming, but if roam fails, disconnection +gEnableNUDTracking=3 + +# Enable ETSI SRD channels by Xiaomi. Qualcom default value is disable +# * BIT 0:- Enable/Disable SRD channels for SAP. +# * BIT 1:- Enable/Disable SRD channels for P2P-GO. +# * BIT 2:- Enable/Disable SRD channels for NAN. +# Code default value is 6. +etsi13_srd_chan_in_master_mode=7 + +#####Roaming +# Sets RSSI preference for 5GHz over 2.4GHz AP +gSelect5GHzMargin=5 + +# Candidate AP minimum RSSI for beacon miss roam trigger +# Code default is -70 +candidate_min_rssi_for_beacon_miss=-83 + +# Dense traffic threshold in kBps +# Code default is 400 +gtraffic_threshold=50 + +#enable/disable FT open feature +# Code default is 1 +enable_ftopen=0 + +# Stop auto-creating twt session +twt_congestion_timeout=0 + +#VTS SAR test fail as sar version is not match +gEnableSARV1toSARV2=1 + +# This ini is used to give higher priority for 5g scc than dbs. +# It is bitmap per enum policy_mgr_con_mode. +# For example in GO+STA(5G) mode, when TPUT is onfigured as wlan system +# preference option, If 5G SCC needs higher priority than dbs, set it as 8. +g_prefer_5g_scc_to_dbs=8 + +# set modulated DTIM interval +gEnableModulatedDTIM=3 +gMaxLIModulatedDTIM=3 + +# Enable modulated DTIM only for System suspend wow. +# For RTPM wow, the device will stay in DTIM 1 (non-modulated DTIM). +enable_mod_dtim_on_system_suspend=1 + +# Reduce the expiry time for avoid list and black list in drv. +avoid_list_expiry_time=3 +black_list_expiry_time=5 +# Improve threshold to move the Ap from avoid to blacklist +bad_bssid_counter_thresh=7 + +# Enable SoftAP on indoor channel, but Xiaomi's patch in driver only +# allow this when STA was connected on the same indoor channel. +gindoor_channel_support=1 + +#Enable max link speed +gReportMaxLinkSpeed=2 + +#perform RX pending check before entering WoW mode +wow_check_rx_pending_enable=1 + +#Disable vht mcs 10, 11 support +enable_vhtmcs_10_11_support=0 + +#Enable bus suspend in SAP mode +enable_bus_suspend_in_sap_mode=1 + +#Enable bus suspend in P2PGO mode +enable_bus_suspend_in_go_mode=1 + +# Set Max peers connected for SAP to 20 +gSoftApMaxPeers=20 + +# Override 11n/11ac to 11ac 80M for P2P GO +gGO11ACOverride=1 + +# diable bssid hint priority +is_bssid_hint_priority=0 + +# Disable triggers of data rssi threshold for roam. +# Sometimes have big gap between data rssi and beacon rssi, +# this triggers will Interfere and delay the normal roam. +roam_data_rssi_threshold_triggers=0 + +# disable twt responder +twt_responder=0 + +# enable Self Recovery +gEnableSelfRecovery=1 + +#####################################Xiaomi ADD: END + + +# MIUI:ADD: +# Add for optimize download performance in noisy env. + +# used to specify AP OUIs. The station's EDCA should follow +# the APs' when connecting to those AP, even if the +# gEnableEdcaParams is set. +# Huawei OUI:ac:85:3d +gActionOUIDisableAggressiveEDCA=ac853d 00 01 0017f2 07 06010103010000 fe 01 +# Enable edca parameter +gEnableEdcaParams=1 +gEdcaVoCwmin=2 +gEdcaViCwmin=2 +gEdcaBkCwmin=2 +gEdcaBeCwmin=2 + +gEdcaVoCwmax=3 +gEdcaViCwmax=3 +gEdcaBkCwmax=3 +gEdcaBeCwmax=3 + +gEdcaVoAifs=2 +gEdcaViAifs=2 +gEdcaBkAifs=2 +gEdcaBeAifs=2 + +END + +# Note: Configuration parser would not read anything past the END marker + diff --git a/wlan/qca6750/WCNSS_qcom_cfg.ini b/wlan/qca6750/WCNSS_qcom_cfg.ini new file mode 100644 index 0000000..3d60f35 --- /dev/null +++ b/wlan/qca6750/WCNSS_qcom_cfg.ini @@ -0,0 +1,140 @@ +# This file allows user to override the factory +# defaults for the WLAN Driver + +gDot11Mode=0 +InfraUapsdVoSrvIntv=0 +InfraUapsdViSrvIntv=0 +InfraUapsdBeSrvIntv=0 +InfraUapsdBkSrvIntv=0 +gAddTSWhenACMIsOff=1 +gEnableApOBSSProt=1 +RTSThreshold=1048576 +g11dSupportEnabled=0 +gEnableDFSMasterCap=1 +gNeighborScanTimerPeriod=200 +gNeighborLookupThreshold=76 +FastRoamEnabled=1 +RoamRssiDiff=5 +gChannelBondingMode5GHz=1 +gAllowDFSChannelRoam=1 +gSetTxChainmask1x1=1 +gSetRxChainmask1x1=1 +gWlanMccToSccSwitchMode = 3 +gEnableTXSTBC=1 +gEnableTxBFeeSAP=1 +gEnableTxBFin20MHz=1 +gEnableTxSUBeamformer=1 +gRrmEnable=1 +gVhtAmpduLenExponent=7 +gVhtMpduLen=2 +isP2pDeviceAddrAdministrated=0 +gEnableVhtFor24GHzBand=1 +gEnableLpassSupport=1 +gCountryCodePriority=1 +gEnableMuBformee=1 +gTDLSExternalControl=1 +gEnableTDLSOffChannel=1 +gThermalMitigationEnable=0 + +################ Datapath feature set Begin ################ +gVhtRxMCS=2 +gVhtTxMCS=2 +gEnable2x2=1 +gVhtRxMCS2x2=2 +gVhtTxMCS2x2=2 +dp_tx_ring_size=3072 +rx_mode=20 +gEnableFastPath=1 +TSOEnable=1 +GROEnable=1 +ght_mpdu_density=5 +gEnableFlowSteering=1 +maxMSDUsPerRxInd=8 +dp_rx_fisa_enable=1 +dp_rx_flow_search_table_size=128 +rpsRxQueueCpuMapList=07 +legacy_mode_csum_disable=0 + +################ Datapath feature set End ################ + +adaptive_dwell_mode_enabled=1 +hostscan_adaptive_dwell_mode=1 +enable_rtt_mac_randomization=1 +gEnableSNRMonitoring=1 +gWmiCreditCount=1 +AutoChannelSelectWeight=0x00fafafa +bcast_twt=1 +gRuntimePM=2 +gRuntimePMDelay=500 +oem_6g_support_disable=0 + +gEnableSWLM=1 +g_enable_pci_gen=1 +ssdp=0 +gRArateLimitInterval=600 +gEnableSifsBurst=1 +gIbssTxSpEndInactivityTime=10 +RX_THREAD_UL_CPU_AFFINITY_MASK=0xc0 +dp_rx_buff_prealloc_pool=1 +dp_rx_refill_buff_pool=1 +dp_rx_fst_in_cmem=1 + +################ XIAOMI ADD ###################### + +gActiveMaxChannelTime=40 +gIPAConfig=0 +gIPADescSize=800 +active_max_channel_time_2g=80 +wlm_latency_flags_ultralow=0x180003 +gActiveMcBcBpfMode=1 +assoc_failure_timeout=5000 +gEnableNUDTracking=3 +etsi13_srd_chan_in_master_mode=7 +gSelect5GHzMargin=5 +candidate_min_rssi_for_beacon_miss=-83 +gtraffic_threshold=50 +enable_ftopen=0 +twt_congestion_timeout=0 +gEnableSARV1toSARV2=1 +g_prefer_5g_scc_to_dbs=8 +gEnableModulatedDTIM=3 +gMaxLIModulatedDTIM=3 +enable_mod_dtim_on_system_suspend=1 +avoid_list_expiry_time=3 +black_list_expiry_time=5 +bad_bssid_counter_thresh=7 +gindoor_channel_support=1 +gReportMaxLinkSpeed=2 +icmp_req_to_fw_mark_interval=200 +twt_responder=0 + + +# MIUI:ADD: +# Add for optimize download performance in noisy env. + +# used to specify AP OUIs. The station's EDCA should follow +# the APs' when connecting to those AP, even if the +# gEnableEdcaParams is set. +# Huawei OUI:ac:85:3d +gActionOUIDisableAggressiveEDCA=ac853d 00 01 0017f2 07 06010103010000 fe 01 +# Enable edca parameter +gEnableEdcaParams=1 +gEdcaVoCwmin=2 +gEdcaViCwmin=2 +gEdcaBkCwmin=2 +gEdcaBeCwmin=2 + +gEdcaVoCwmax=3 +gEdcaViCwmax=3 +gEdcaBkCwmax=3 +gEdcaBeCwmax=3 + +gEdcaVoAifs=2 +gEdcaViAifs=2 +gEdcaBkAifs=2 +gEdcaBeAifs=2 + +END + +# Note: Configuration parser would not read anything past the END marker + diff --git a/wlan/wpa_supplicant_overlay.conf b/wlan/wpa_supplicant_overlay.conf new file mode 100644 index 0000000..2b126e8 --- /dev/null +++ b/wlan/wpa_supplicant_overlay.conf @@ -0,0 +1,12 @@ +disable_scan_offload=1 +p2p_disabled=1 +tdls_external_control=1 +wowlan_triggers=magic_pkt +bss_max_count=400 +interworking=1 +config_methods=virtual_display virtual_push_button keypad +driver_param="no_rrm=1" +p2p_chan_list_dfs_disable=0 +p2p_chan_list_only_sta_dfs_enable=0 +p2p_pref_list_dfs_disable=0 +p2p_go_dfs_disable=0