sm8250-common -> sm7325-common

This commit is contained in:
SGCMarkus 2022-03-26 23:16:05 +01:00
parent 5404d41486
commit 95b667c5b9
74 changed files with 4210 additions and 3942 deletions

View File

@ -16,7 +16,7 @@
LOCAL_PATH := $(call my-dir) LOCAL_PATH := $(call my-dir)
ifneq ($(filter nio pstar,$(TARGET_DEVICE)),) ifneq ($(filter berlin,$(TARGET_DEVICE)),)
subdir_makefiles=$(call first-makefiles-under,$(LOCAL_PATH)) subdir_makefiles=$(call first-makefiles-under,$(LOCAL_PATH))
$(foreach mk,$(subdir_makefiles),$(info including $(mk) ...)$(eval include $(mk))) $(foreach mk,$(subdir_makefiles),$(info including $(mk) ...)$(eval include $(mk)))
@ -46,105 +46,72 @@ $(FSG_MOUNT_POINT): $(LOCAL_INSTALLED_MODULE)
ALL_DEFAULT_INSTALLED_MODULES += $(FIRMWARE_MOUNT_POINT) $(BT_FIRMWARE_MOUNT_POINT) $(DSP_MOUNT_POINT) $(FSG_MOUNT_POINT) ALL_DEFAULT_INSTALLED_MODULES += $(FIRMWARE_MOUNT_POINT) $(BT_FIRMWARE_MOUNT_POINT) $(DSP_MOUNT_POINT) $(FSG_MOUNT_POINT)
RFS_MDM_ADSP_SYMLINKS := $(TARGET_OUT_VENDOR)/rfs/mdm/adsp RFS_MSM_ADSP_SYMLINKS := $(TARGET_OUT_VENDOR)/rfs/msm/adsp/
$(RFS_MDM_ADSP_SYMLINKS): $(LOCAL_INSTALLED_MODULE) $(RFS_MSM_ADSP_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
@echo "Creating RFS MDM ADSP folder structure: $@" @echo "Creating RFS MSM ADSP folder structure: $@"
@rm -rf $@ @rm -rf $@/*
@mkdir -p $@/readonly/vendor @mkdir -p $(dir $@)/readonly/vendor
$(hide) ln -sf /data/vendor/tombstones/rfs/lpass $@/ramdumps $(hide) ln -sf /data/vendor/tombstones/rfs/lpass $@/ramdumps
$(hide) ln -sf /mnt/vendor/persist/rfs/mdm/adsp $@/readwrite $(hide) ln -sf /mnt/vendor/persist/rfs/msm/adsp $@/readwrite
$(hide) ln -sf /mnt/vendor/persist/rfs/shared $@/shared $(hide) ln -sf /mnt/vendor/persist/rfs/shared $@/shared
$(hide) ln -sf /mnt/vendor/persist/hlos_rfs/shared $@/hlos $(hide) ln -sf /mnt/vendor/persist/hlos_rfs/shared $@/hlos
$(hide) ln -sf /vendor/firmware_mnt $@/readonly/firmware $(hide) ln -sf /vendor/firmware_mnt $@/readonly/firmware
$(hide) ln -sf /vendor/firmware $@/readonly/vendor/firmware $(hide) ln -sf /vendor/firmware $@/readonly/vendor/firmware
ALL_DEFAULT_INSTALLED_MODULES += $(RFS_MDM_ADSP_SYMLINKS) RFS_MSM_CDSP_SYMLINKS := $(TARGET_OUT_VENDOR)/rfs/msm/cdsp/
$(RFS_MSM_CDSP_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
RFS_MDM_CDSP_SYMLINKS := $(TARGET_OUT_VENDOR)/rfs/mdm/cdsp @echo "Creating RFS MSM CDSP folder structure: $@"
$(RFS_MDM_CDSP_SYMLINKS): $(LOCAL_INSTALLED_MODULE) @rm -rf $@/*
@echo "Creating RFS MDM CDSP folder structure: $@" @mkdir -p $(dir $@)/readonly/vendor
@rm -rf $@
@mkdir -p $@/readonly/vendor
$(hide) ln -sf /data/vendor/tombstones/rfs/cdsp $@/ramdumps $(hide) ln -sf /data/vendor/tombstones/rfs/cdsp $@/ramdumps
$(hide) ln -sf /mnt/vendor/persist/rfs/mdm/cdsp $@/readwrite $(hide) ln -sf /mnt/vendor/persist/rfs/msm/cdsp $@/readwrite
$(hide) ln -sf /mnt/vendor/persist/rfs/shared $@/shared $(hide) ln -sf /mnt/vendor/persist/rfs/shared $@/shared
$(hide) ln -sf /mnt/vendor/persist/hlos_rfs/shared $@/hlos $(hide) ln -sf /mnt/vendor/persist/hlos_rfs/shared $@/hlos
$(hide) ln -sf /vendor/firmware_mnt $@/readonly/firmware $(hide) ln -sf /vendor/firmware_mnt $@/readonly/firmware
$(hide) ln -sf /vendor/firmware $@/readonly/vendor/firmware $(hide) ln -sf /vendor/firmware $@/readonly/vendor/firmware
ALL_DEFAULT_INSTALLED_MODULES += $(RFS_MDM_CDSP_SYMLINKS) RFS_MSM_MPSS_SYMLINKS := $(TARGET_OUT_VENDOR)/rfs/msm/mpss/
$(RFS_MSM_MPSS_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
RFS_MDM_MPSS_SYMLINKS := $(TARGET_OUT_VENDOR)/rfs/mdm/mpss @echo "Creating RFS MSM MPSS folder structure: $@"
$(RFS_MDM_MPSS_SYMLINKS): $(LOCAL_INSTALLED_MODULE) @rm -rf $@/*
@echo "Creating RFS MDM MPSS folder structure: $@" @mkdir -p $(dir $@)/readonly/vendor
@rm -rf $@
@mkdir -p $@/readonly/vendor
$(hide) ln -sf /data/vendor/tombstones/rfs/modem $@/ramdumps $(hide) ln -sf /data/vendor/tombstones/rfs/modem $@/ramdumps
$(hide) ln -sf /mnt/vendor/persist/rfs/mdm/mpss $@/readwrite $(hide) ln -sf /mnt/vendor/persist/rfs/msm/mpss $@/readwrite
$(hide) ln -sf /mnt/vendor/persist/rfs/shared $@/shared $(hide) ln -sf /mnt/vendor/persist/rfs/shared $@/shared
$(hide) ln -sf /mnt/vendor/persist/hlos_rfs/shared $@/hlos $(hide) ln -sf /mnt/vendor/persist/hlos_rfs/shared $@/hlos
$(hide) ln -sf /vendor/firmware_mnt $@/readonly/firmware $(hide) ln -sf /vendor/firmware_mnt $@/readonly/firmware
$(hide) ln -sf /vendor/firmware $@/readonly/vendor/firmware $(hide) ln -sf /vendor/firmware $@/readonly/vendor/firmware
$(hide) ln -sf /vendor/fsg $@/readonly/vendor/fsg
ALL_DEFAULT_INSTALLED_MODULES += $(RFS_MDM_MPSS_SYMLINKS) RFS_MSM_SLPI_SYMLINKS := $(TARGET_OUT_VENDOR)/rfs/msm/slpi/
$(RFS_MSM_SLPI_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
RFS_MDM_SLPI_SYMLINKS := $(TARGET_OUT_VENDOR)/rfs/mdm/slpi @echo "Creating RFS MSM SLPI folder structure: $@"
$(RFS_MDM_SLPI_SYMLINKS): $(LOCAL_INSTALLED_MODULE) @rm -rf $@/*
@echo "Creating RFS MDM SLPI folder structure: $@" @mkdir -p $(dir $@)/readonly/vendor
@rm -rf $@
@mkdir -p $@/readonly/vendor
$(hide) ln -sf /data/vendor/tombstones/rfs/slpi $@/ramdumps $(hide) ln -sf /data/vendor/tombstones/rfs/slpi $@/ramdumps
$(hide) ln -sf /mnt/vendor/persist/rfs/mdm/slpi $@/readwrite $(hide) ln -sf /mnt/vendor/persist/rfs/msm/slpi $@/readwrite
$(hide) ln -sf /mnt/vendor/persist/rfs/shared $@/shared $(hide) ln -sf /mnt/vendor/persist/rfs/shared $@/shared
$(hide) ln -sf /mnt/vendor/persist/hlos_rfs/shared $@/hlos $(hide) ln -sf /mnt/vendor/persist/hlos_rfs/shared $@/hlos
$(hide) ln -sf /vendor/firmware_mnt $@/readonly/firmware $(hide) ln -sf /vendor/firmware_mnt $@/readonly/firmware
$(hide) ln -sf /vendor/firmware $@/readonly/vendor/firmware $(hide) ln -sf /vendor/firmware $@/readonly/vendor/firmware
ALL_DEFAULT_INSTALLED_MODULES += $(RFS_MDM_SLPI_SYMLINKS)
RFS_MDM_TN_SYMLINKS := $(TARGET_OUT_VENDOR)/rfs/mdm/tn
$(RFS_MDM_TN_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
@echo "Creating RFS MDM TN folder structure: $@"
@rm -rf $@
@mkdir -p $@/readonly/vendor
$(hide) ln -sf /data/vendor/tombstones/rfs/tn $@/ramdumps
$(hide) ln -sf /mnt/vendor/persist/rfs/mdm/tn $@/readwrite
$(hide) ln -sf /mnt/vendor/persist/rfs/shared $@/shared
$(hide) ln -sf /mnt/vendor/persist/hlos_rfs/shared $@/hlos
$(hide) ln -sf /vendor/firmware_mnt $@/readonly/firmware
$(hide) ln -sf /vendor/firmware $@/readonly/vendor/firmware
ALL_DEFAULT_INSTALLED_MODULES += $(RFS_MDM_TN_SYMLINKS)
RFS_MDM_WPSS_SYMLINKS := $(TARGET_OUT_VENDOR)/rfs/mdm/wpss
$(RFS_MDM_WPSS_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
@echo "Creating RFS MDM WPSS folder structure: $@"
@rm -rf $@
@mkdir -p $@/readonly/vendor
$(hide) ln -sf /data/vendor/tombstones/rfs/wpss $@/ramdumps
$(hide) ln -sf /mnt/vendor/persist/rfs/mdm/wpss $@/readwrite
$(hide) ln -sf /mnt/vendor/persist/rfs/shared $@/shared
$(hide) ln -sf /mnt/vendor/persist/hlos_rfs/shared $@/hlos
$(hide) ln -sf /vendor/firmware_mnt $@/readonly/firmware
$(hide) ln -sf /vendor/firmware $@/readonly/vendor/firmware
ALL_DEFAULT_INSTALLED_MODULES += $(RFS_MDM_WPSS_SYMLINKS)
WIFI_FIRMWARE_SYMLINKS := $(TARGET_OUT_VENDOR)/firmware/wlan/qca_cld WIFI_FIRMWARE_SYMLINKS := $(TARGET_OUT_VENDOR)/firmware/wlan/qca_cld
$(WIFI_FIRMWARE_SYMLINKS): $(LOCAL_INSTALLED_MODULE) $(WIFI_FIRMWARE_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
@echo "Creating wifi firmware symlinks: $@" @echo "Creating wifi firmware symlinks: $@"
@mkdir -p $@/wlan
@mkdir -p $@/qca6390 @mkdir -p $@/qca6390
@mkdir -p $@/qca6490 @mkdir -p $@/qca6750
$(hide) ln -sf /vendor/etc/wifi/WCNSS_qcom_cfg.ini $@/WCNSS_qcom_cfg.ini $(hide) ln -sf /vendor/etc/wifi/WCNSS_qcom_cfg.ini $@/WCNSS_qcom_cfg.ini
$(hide) ln -sf /vendor/etc/wifi/qca6390/WCNSS_mot_cfg.ini $@/qca6390/WCNSS_mot_cfg.ini $(hide) ln -sf /mnt/vendor/persist/wlan/wlan_mac.bin $@/wlan/wlan_mac.bin
$(hide) ln -sf /vendor/etc/wifi/qca6390/WCNSS_qcom_cfg.ini $@/qca6390/WCNSS_qcom_cfg.ini $(hide) ln -sf /vendor/etc/wifi/wlan/WCNSS_qcom_cfg.ini $@/wlan/WCNSS_qcom_cfg.ini
$(hide) ln -sf /vendor/etc/wifi/wlan/WCNSS_mot_cfg.ini $@/wlan/WCNSS_mot_cfg.ini
$(hide) ln -sf /mnt/vendor/persist/qca6390/wlan_mac.bin $@/qca6390/wlan_mac.bin $(hide) ln -sf /mnt/vendor/persist/qca6390/wlan_mac.bin $@/qca6390/wlan_mac.bin
$(hide) ln -sf /vendor/etc/wifi/qca6490/WCNSS_mot_cfg.ini $@/qca6490/WCNSS_mot_cfg.ini $(hide) ln -sf /vendor/etc/wifi/qca6390/WCNSS_qcom_cfg.ini $@/qca6390/WCNSS_qcom_cfg.ini
$(hide) ln -sf /vendor/etc/wifi/qca6490/WCNSS_qcom_cfg.ini $@/qca6490/WCNSS_qcom_cfg.ini $(hide) ln -sf /vendor/etc/wifi/qca6390/WCNSS_mot_cfg.ini $@/qca6390/WCNSS_mot_cfg.ini
$(hide) ln -sf /mnt/vendor/persist/qca6490/wlan_mac.bin $@/qca6490/wlan_mac.bin $(hide) ln -sf /mnt/vendor/persist/qca6750/wlan_mac.bin $@/qca6750/wlan_mac.bin
$(hide) ln -sf /vendor/etc/wifi/qca6750/WCNSS_qcom_cfg.ini $@/qca6750/WCNSS_qcom_cfg.ini
$(hide) ln -sf /vendor/etc/wifi/qca6750/wlan_mac.bin $@/qca6750/WCNSS_mot_cfg.ini
ALL_DEFAULT_INSTALLED_MODULES += $(WIFI_FIRMWARE_SYMLINKS) ALL_DEFAULT_INSTALLED_MODULES += $(RFS_MSM_ADSP_SYMLINKS) $(RFS_MSM_CDSP_SYMLINKS) $(RFS_MSM_MPSS_SYMLINKS) $(RFS_MSM_SLPI_SYMLINKS) $(WIFI_FIRMWARE_SYMLINKS)
IMS_LIBS := libimscamera_jni.so libimsmedia_jni.so IMS_LIBS := libimscamera_jni.so libimsmedia_jni.so
IMS_SYMLINKS := $(addprefix $(TARGET_OUT_SYSTEM_EXT_APPS_PRIVILEGED)/ims/lib/arm64/,$(notdir $(IMS_LIBS))) IMS_SYMLINKS := $(addprefix $(TARGET_OUT_SYSTEM_EXT_APPS_PRIVILEGED)/ims/lib/arm64/,$(notdir $(IMS_LIBS)))
@ -173,13 +140,4 @@ $(EXPAT_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
ALL_DEFAULT_INSTALLED_MODULES += $(EXPAT_SYMLINKS) ALL_DEFAULT_INSTALLED_MODULES += $(EXPAT_SYMLINKS)
AW882XX_CAL_SYMLINKS := $(TARGET_OUT_VENDOR)/firmware/aw_cali.bin
$(AW882XX_CAL_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
@echo "Creating aw882xx firmware symlinks: $@"
@rm -rf $@
@mkdir -p $(dir $@)
$(hide) ln -sf /mnt/vendor/persist/factory/audio/aw_cali.bin $@
ALL_DEFAULT_INSTALLED_MODULES += $(AW882XX_CAL_SYMLINKS)
endif endif

View File

@ -16,7 +16,7 @@
BOARD_VENDOR := motorola BOARD_VENDOR := motorola
COMMON_PATH := device/motorola/sm8250-common COMMON_PATH := device/motorola/sm7325-common
# Architecture # Architecture
TARGET_ARCH := arm64 TARGET_ARCH := arm64
@ -43,60 +43,29 @@ BUILD_BROKEN_ELF_PREBUILT_PRODUCT_COPY_FILES := true
# Kernel # Kernel
BOARD_BOOT_HEADER_VERSION := 3 BOARD_BOOT_HEADER_VERSION := 3
BOARD_KERNEL_BASE := 0x00000000 BOARD_KERNEL_BASE := 0x00000000
BOARD_KERNEL_CMDLINE := androidboot.hardware=qcom BOARD_KERNEL_CMDLINE := console=ttyMSM0,115200n8
BOARD_KERNEL_CMDLINE += console=ttyMSM0,115200n8 earlycon=msm_geni_serial,0xa90000 BOARD_KERNEL_CMDLINE += androidboot.hardware=qcom androidboot.console=ttyMSM0
BOARD_KERNEL_CMDLINE += androidboot.console=ttyMSM0 androidboot.memcg=1 lpm_levels.sleep_disabled=1 BOARD_KERNEL_CMDLINE += androidboot.memcg=1 lpm_levels.sleep_disabled=1
BOARD_KERNEL_CMDLINE += video=vfb:640x400,bpp=32,memsize=3072000 msm_rtb.filter=0x237 BOARD_KERNEL_CMDLINE += video=vfb:640x400,bpp=32,memsize=3072000 msm_rtb.filter=0x237
BOARD_KERNEL_CMDLINE += service_locator.enable=1 androidboot.usbcontroller=a600000.dwc3 BOARD_KERNEL_CMDLINE += service_locator.enable=1 androidboot.usbcontroller=a600000.dwc3
BOARD_KERNEL_CMDLINE += swiotlb=2048 loop.max_part=7 cgroup.memory=nokmem,nosocket BOARD_KERNEL_CMDLINE += swiotlb=0 loop.max_part=7 cgroup.memory=nokmem,nosocket
BOARD_KERNEL_CMDLINE += reboot=panic_warm firmware_class.path=/vendor/firmware_mnt/image BOARD_KERNEL_CMDLINE += pcie_ports=compat loop.max_part=7 iptable_raw.raw_before_defrag=1
BOARD_KERNEL_CMDLINE += ip6table_raw.raw_before_defrag=1 androidboot.hab.csv=0
BOARD_KERNEL_CMDLINE += androidboot.hab.product=berlin androidboot.hab.cid=50
BOARD_KERNEL_CMDLINE += firmware_class.path=/vendor/firmware_mnt/image
BOARD_KERNEL_CMDLINE += androidboot.selinux=permissive
BOARD_KERNEL_IMAGE_NAME := Image BOARD_KERNEL_IMAGE_NAME := Image
BOARD_KERNEL_PAGESIZE := 4096 BOARD_KERNEL_PAGESIZE := 4096
BOARD_KERNEL_SEPARATED_DTBO := true BOARD_KERNEL_SEPARATED_DTBO := true
BOARD_MKBOOTIMG_ARGS += --header_version $(BOARD_BOOT_HEADER_VERSION) BOARD_MKBOOTIMG_ARGS += --header_version $(BOARD_BOOT_HEADER_VERSION)
TARGET_KERNEL_ADDITIONAL_FLAGS := DTC_EXT=$(shell pwd)/prebuilts/misc/linux-x86/dtc/dtc \ TARGET_KERNEL_ADDITIONAL_FLAGS := DTC_EXT=$(shell pwd)/prebuilts/misc/linux-x86/dtc/dtc LLVM=1
LLVM=1 TARGET_KERNEL_SOURCE := kernel/motorola/sm7325
TARGET_KERNEL_SOURCE := kernel/motorola/sm8250
TARGET_KERNEL_CLANG_COMPILE := true TARGET_KERNEL_CLANG_COMPILE := true
TARGET_KERNEL_CONFIG := vendor/kona-perf_defconfig vendor/lineage_moto-kona.config TARGET_KERNEL_CONFIG := gki_defconfig
# Kernel modules - Audio
TARGET_MODULE_ALIASES += \
adsp_loader_dlkm.ko:audio_adsp_loader.ko \
apr_dlkm.ko:audio_apr.ko \
bolero_cdc_dlkm.ko:audio_bolero_cdc.ko \
hdmi_dlkm.ko:audio_hdmi.ko \
machine_dlkm.ko:audio_machine_kona.ko \
mbhc_dlkm.ko:audio_mbhc.ko \
native_dlkm.ko:audio_native.ko \
pinctrl_lpi_dlkm.ko:audio_pinctrl_lpi.ko \
pinctrl_wcd_dlkm.ko:audio_pinctrl_wcd.ko \
platform_dlkm.ko:audio_platform.ko \
q6_dlkm.ko:audio_q6.ko \
q6_notifier_dlkm.ko:audio_q6_notifier.ko \
q6_pdr_dlkm.ko:audio_q6_pdr.ko \
rx_macro_dlkm.ko:audio_rx_macro.ko \
snd_event_dlkm.ko:audio_snd_event.ko \
stub_dlkm.ko:audio_stub.ko \
swr_ctrl_dlkm.ko:audio_swr_ctrl.ko \
swr_dlkm.ko:audio_swr.ko \
tx_macro_dlkm.ko:audio_tx_macro.ko \
usf_dlkm.ko:audio_usf.ko \
va_macro_dlkm.ko:audio_va_macro.ko \
wcd938x_dlkm.ko:audio_wcd938x.ko \
wcd938x_slave_dlkm.ko:audio_wcd938x_slave.ko \
wcd9xxx_dlkm.ko:audio_wcd9xxx.ko \
wcd_core_dlkm.ko:audio_wcd_core.ko \
wsa881x_dlkm.ko:audio_wsa881x.ko \
wsa_macro_dlkm.ko:audio_wsa_macro.ko
# Kernel modules - WLAN
TARGET_MODULE_ALIASES += \
wlan.ko:qca_cld3_qca6390.ko
# Platform # Platform
BOARD_USES_QCOM_HARDWARE := true BOARD_USES_QCOM_HARDWARE := true
TARGET_BOARD_PLATFORM := kona TARGET_BOARD_PLATFORM := lahaina
# A/B # A/B
AB_OTA_UPDATER := true AB_OTA_UPDATER := true
@ -174,7 +143,7 @@ BOARD_USES_METADATA_PARTITION := true
# Partitions # Partitions
BOARD_BOOTIMAGE_PARTITION_SIZE := 100663296 BOARD_BOOTIMAGE_PARTITION_SIZE := 100663296
BOARD_DTBOIMG_PARTITION_SIZE := 25165824 BOARD_DTBOIMG_PARTITION_SIZE := 25165824
BOARD_VENDOR_BOOTIMAGE_PARTITION_SIZE := 67108864 BOARD_VENDOR_BOOTIMAGE_PARTITION_SIZE := 100663296
ifneq ($(WITH_GMS),true) ifneq ($(WITH_GMS),true)
BOARD_PRODUCTIMAGE_EXTFS_INODE_COUNT := -1 BOARD_PRODUCTIMAGE_EXTFS_INODE_COUNT := -1
BOARD_SYSTEMIMAGE_EXTFS_INODE_COUNT := -1 BOARD_SYSTEMIMAGE_EXTFS_INODE_COUNT := -1
@ -246,4 +215,4 @@ WIFI_HIDL_UNIFIED_SUPPLICANT_SERVICE_RC_ENTRY := true
WPA_SUPPLICANT_VERSION := VER_0_8_X WPA_SUPPLICANT_VERSION := VER_0_8_X
# inherit from the proprietary version # inherit from the proprietary version
-include vendor/motorola/sm8250-common/BoardConfigVendor.mk -include vendor/motorola/sm7325-common/BoardConfigVendor.mk

View File

@ -38,6 +38,23 @@
<effect name="ns" library="audio_pre_processing" uuid="1d97bb0b-9e2f-4403-9ae3-58c2554306f8"/> <effect name="ns" library="audio_pre_processing" uuid="1d97bb0b-9e2f-4403-9ae3-58c2554306f8"/>
<effect library="maxxaudio3" name="maxxaudio3" uuid="ae12da60-99ac-11df-b456-0002a5d5c51b"/> <effect library="maxxaudio3" name="maxxaudio3" uuid="ae12da60-99ac-11df-b456-0002a5d5c51b"/>
</effects> </effects>
<postprocess>
<stream type="music">
<apply effect="music_helper"/>
</stream>
<stream type="ring">
<apply effect="ring_helper"/>
</stream>
<stream type="alarm">
<apply effect="ring_helper"/>
</stream>
<stream type="voice_call">
<apply effect="voice_helper"/>
</stream>
<stream type="notification">
<apply effect="notification_helper"/>
</stream>
</postprocess>
<preprocess> <preprocess>
<stream type="voice_communication"> <stream type="voice_communication">
<apply effect="aec"/> <apply effect="aec"/>

View File

@ -1,24 +1,24 @@
global_config { global_config {
name default-file-untested name Berlin
} }
ring { ring {
#dB to attenuate playback to meet safety level at each volume step #dB to attenuate playback to meet safety level at each volume step
#16 steps total, 15...0. In case of truncated list, last attenuation #16 steps total, 15...0. In case of truncated list, last attenuation
#given will be applied to all lower volume steps #given will be applied to all lower volume steps
attenuation 36,36,35,35,33,33,33,27,27,21,21,13,13,3,3,3 attenuation -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
} }
voice { voice {
#dB to attenuate playback to meet safety level at each volume step #dB to attenuate playback to meet safety level at each volume step
#16 steps total, 15...0. In case of truncated list, last attenuation #16 steps total, 15...0. In case of truncated list, last attenuation
#given will be applied to all lower volume steps #given will be applied to all lower volume steps
attenuation 36,36,35,35,33,33,33,27,27,21,21,13,13,3,3,3 attenuation -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
} }
media { media {
#dB to attenuate playback to meet safety level at each volume step #dB to attenuate playback to meet safety level at each volume step
#16 steps total, 15...0. In case of truncated list, last attenuation #16 steps total, 15...0. In case of truncated list, last attenuation
#given will be applied to all lower volume steps #given will be applied to all lower volume steps
attenuation 36,36,35,35,33,33,33,27,27,21,21,13,13,3,3,3 attenuation -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
} }

View File

@ -49,10 +49,6 @@
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT" <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/> samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort> </mixPort>
<mixPort name="mmap_no_irq_out" role="source" flags="AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_MMAP_NOIRQ">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="hifi_playback" role="source" /> <mixPort name="hifi_playback" role="source" />
<mixPort name="compressed_offload" role="source" <mixPort name="compressed_offload" role="source"
flags="AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING"> flags="AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING">
@ -93,16 +89,6 @@
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT" <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,16000,48000" channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO"/> samplingRates="8000,16000,48000" channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO"/>
</mixPort> </mixPort>
<mixPort name="mmap_no_irq_in" role="sink" flags="AUDIO_INPUT_FLAG_MMAP_NOIRQ">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3"/>
</mixPort>
<mixPort name="fm input" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100,48000"
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO"/>
</mixPort>
<mixPort name="incall_music_uplink" role="source" <mixPort name="incall_music_uplink" role="source"
flags="AUDIO_OUTPUT_FLAG_INCALL_MUSIC"> flags="AUDIO_OUTPUT_FLAG_INCALL_MUSIC">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT" <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
@ -110,6 +96,11 @@
channelMasks="AUDIO_CHANNEL_OUT_STEREO"/> channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort> </mixPort>
<mixPort name="hifi_input" role="sink" /> <mixPort name="hifi_input" role="sink" />
<mixPort name="fm input" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100,48000"
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO"/>
</mixPort>
<mixPort name="voip_rx" role="source" <mixPort name="voip_rx" role="source"
flags="AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_VOIP_RX"> flags="AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_VOIP_RX">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT" <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
@ -141,17 +132,25 @@
</devicePort> </devicePort>
<devicePort tagName="BT SCO Car Kit" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_CARKIT" role="sink"> <devicePort tagName="BT SCO Car Kit" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_CARKIT" role="sink">
</devicePort> </devicePort>
<devicePort tagName="HDMI Out" type="AUDIO_DEVICE_OUT_HDMI" role="sink"> <devicePort tagName="BT A2DP Out" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP" role="sink"
encodedFormats="AUDIO_FORMAT_SBC AUDIO_FORMAT_AAC AUDIO_FORMAT_LDAC AUDIO_FORMAT_APTX AUDIO_FORMAT_APTX_HD AUDIO_FORMAT_CELT AUDIO_FORMAT_APTX_ADAPTIVE">
</devicePort>
<devicePort tagName="BT A2DP Headphones" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES" role="sink"
encodedFormats="AUDIO_FORMAT_SBC AUDIO_FORMAT_AAC AUDIO_FORMAT_LDAC AUDIO_FORMAT_APTX AUDIO_FORMAT_APTX_HD AUDIO_FORMAT_CELT AUDIO_FORMAT_APTX_ADAPTIVE">
</devicePort>
<devicePort tagName="BT A2DP Speaker" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER" role="sink"
encodedFormats="AUDIO_FORMAT_SBC AUDIO_FORMAT_AAC AUDIO_FORMAT_LDAC AUDIO_FORMAT_APTX AUDIO_FORMAT_APTX_HD AUDIO_FORMAT_CELT AUDIO_FORMAT_APTX_ADAPTIVE">
</devicePort> </devicePort>
<devicePort tagName="Proxy" type="AUDIO_DEVICE_OUT_PROXY" role="sink"> <devicePort tagName="Proxy" type="AUDIO_DEVICE_OUT_PROXY" role="sink">
</devicePort> </devicePort>
<devicePort tagName="HDMI Out" type="AUDIO_DEVICE_OUT_HDMI" role="sink">
</devicePort>
<devicePort tagName="Telephony Tx" type="AUDIO_DEVICE_OUT_TELEPHONY_TX" role="sink"> <devicePort tagName="Telephony Tx" type="AUDIO_DEVICE_OUT_TELEPHONY_TX" role="sink">
</devicePort> </devicePort>
<devicePort tagName="USB Device Out" type="AUDIO_DEVICE_OUT_USB_DEVICE" role="sink"> <devicePort tagName="USB Device Out" type="AUDIO_DEVICE_OUT_USB_DEVICE" role="sink">
</devicePort> </devicePort>
<devicePort tagName="USB Headset Out" type="AUDIO_DEVICE_OUT_USB_HEADSET" role="sink"> <devicePort tagName="USB Headset Out" type="AUDIO_DEVICE_OUT_USB_HEADSET" role="sink">
</devicePort> </devicePort>
<devicePort tagName="Built-In Mic" type="AUDIO_DEVICE_IN_BUILTIN_MIC" role="source"> <devicePort tagName="Built-In Mic" type="AUDIO_DEVICE_IN_BUILTIN_MIC" role="source">
</devicePort> </devicePort>
<devicePort tagName="Built-In Back Mic" type="AUDIO_DEVICE_IN_BACK_MIC" role="source"> <devicePort tagName="Built-In Back Mic" type="AUDIO_DEVICE_IN_BACK_MIC" role="source">
@ -172,15 +171,15 @@
<!-- route declaration, i.e. list all available sources for a given sink --> <!-- route declaration, i.e. list all available sources for a given sink -->
<routes> <routes>
<route type="mix" sink="Earpiece" <route type="mix" sink="Earpiece"
sources="primary output,deep_buffer,compressed_offload,mmap_no_irq_out,voip_rx"/> sources="primary output,deep_buffer,compressed_offload,voip_rx"/>
<route type="mix" sink="Speaker" <route type="mix" sink="Speaker"
sources="primary output,deep_buffer,compressed_offload,mmap_no_irq_out,voip_rx"/> sources="primary output,deep_buffer,compressed_offload,voip_rx"/>
<route type="mix" sink="Wired Headset" <route type="mix" sink="Wired Headset"
sources="primary output,deep_buffer,compressed_offload,mmap_no_irq_out,voip_rx"/> sources="primary output,deep_buffer,compressed_offload,voip_rx"/>
<route type="mix" sink="Wired Headphones" <route type="mix" sink="Wired Headphones"
sources="primary output,deep_buffer,compressed_offload,mmap_no_irq_out,voip_rx"/> sources="primary output,deep_buffer,compressed_offload,voip_rx"/>
<route type="mix" sink="Line Out" <route type="mix" sink="Line Out"
sources="primary output,deep_buffer,compressed_offload,mmap_no_irq_out,voip_rx"/> sources="primary output,deep_buffer,compressed_offload,voip_rx"/>
<route type="mix" sink="Dock Headset" <route type="mix" sink="Dock Headset"
sources="primary output,deep_buffer,voip_rx"/> sources="primary output,deep_buffer,voip_rx"/>
<route type="mix" sink="BT SCO" <route type="mix" sink="BT SCO"
@ -189,34 +188,57 @@
sources="primary output,deep_buffer,voip_rx"/> sources="primary output,deep_buffer,voip_rx"/>
<route type="mix" sink="BT SCO Car Kit" <route type="mix" sink="BT SCO Car Kit"
sources="primary output,deep_buffer,voip_rx"/> sources="primary output,deep_buffer,voip_rx"/>
<route type="mix" sink="BT A2DP Out"
sources="primary output,deep_buffer,compressed_offload,voip_rx"/>
<route type="mix" sink="BT A2DP Headphones"
sources="primary output,deep_buffer,compressed_offload,voip_rx"/>
<route type="mix" sink="BT A2DP Speaker"
sources="primary output,deep_buffer,compressed_offload,voip_rx"/>
<route type="mix" sink="HDMI Out" <route type="mix" sink="HDMI Out"
sources="primary output,deep_buffer,compressed_offload,voip_rx"/> sources="primary output,deep_buffer,compressed_offload,voip_rx"/>
<route type="mix" sink="USB Device Out" <route type="mix" sink="USB Device Out"
sources="primary output,deep_buffer,compressed_offload,mmap_no_irq_out,hifi_playback,voip_rx"/> sources="primary output,deep_buffer,compressed_offload,hifi_playback,voip_rx"/>
<route type="mix" sink="USB Headset Out" <route type="mix" sink="USB Headset Out"
sources="primary output,deep_buffer,compressed_offload,mmap_no_irq_out,hifi_playback,voip_rx"/> sources="primary output,deep_buffer,compressed_offload,hifi_playback,voip_rx"/>
<route type="mix" sink="Telephony Tx" <route type="mix" sink="Telephony Tx"
sources="voice_tx,incall_music_uplink"/> sources="voice_tx,incall_music_uplink"/>
<route type="mix" sink="voice_rx" <route type="mix" sink="voice_rx"
sources="Telephony Rx"/> sources="Telephony Rx"/>
<route type="mix" sink="voip_tx"
sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic,USB Device In,USB Headset In,Wired Headset Mic"/>
<route type="mix" sink="Proxy" <route type="mix" sink="Proxy"
sources="primary output,deep_buffer,compressed_offload"/> sources="primary output,deep_buffer,compressed_offload"/>
<route type="mix" sink="voip_tx"
sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic,USB Device In,USB Headset In,Wired Headset Mic"/>
<route type="mix" sink="primary input" <route type="mix" sink="primary input"
sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,BT SCO Headset Mic,USB Device In,USB Headset In"/> sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,BT SCO Headset Mic,USB Device In,USB Headset In"/>
<route type="mix" sink="scc input" <route type="mix" sink="scc input"
sources="Built-In Mic,Wired Headset Mic"/> sources="Built-In Mic,Wired Headset Mic"/>
<route type="mix" sink="fm input" <route type="mix" sink="fm input"
sources="FM tuner"/> sources="FM tuner"/>
<route type="mix" sink="mmap_no_irq_in"
sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,USB Device In,USB Headset In"/>
<route type="mix" sink="hifi_input" sources="USB Device In,USB Headset In" /> <route type="mix" sink="hifi_input" sources="USB Device In,USB Headset In" />
</routes> </routes>
</module> </module>
<!-- A2DP Input Audio HAL --> <!-- A2dp Audio HAL -->
<xi:include href="a2dp_in_audio_policy_configuration.xml"/> <module name="a2dp" halVersion="2.0">
<mixPorts>
<mixPort name="a2dp input" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100,48000" channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO"/>
</mixPort>
</mixPorts>
<devicePorts>
<devicePort tagName="BT A2DP In" type="AUDIO_DEVICE_IN_BLUETOOTH_A2DP" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100,48000" channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO"/>
</devicePort>
</devicePorts>
<routes>
<route type="mix" sink="a2dp input"
sources="BT A2DP In"/>
</routes>
</module>
<!-- Usb Audio HAL --> <!-- Usb Audio HAL -->
<xi:include href="usb_audio_policy_configuration.xml"/> <xi:include href="usb_audio_policy_configuration.xml"/>
@ -224,12 +246,6 @@
<!-- Remote Submix Audio HAL --> <!-- Remote Submix Audio HAL -->
<xi:include href="r_submix_audio_policy_configuration.xml"/> <xi:include href="r_submix_audio_policy_configuration.xml"/>
<!-- Bluetooth Audio HAL -->
<xi:include href="bluetooth_qti_audio_policy_configuration.xml"/>
<!-- Bluetooth Audio HAL for hearing aid -->
<xi:include href="bluetooth_qti_hearing_aid_audio_policy_configuration.xml"/>
</modules> </modules>
<!-- End of Modules section --> <!-- End of Modules section -->

View File

@ -0,0 +1,31 @@
# List of profiles for the output device session where stream is routed.
# A stream opened with the inputs attributes which match the "flags" and
# "formats" as specified in the profile is routed to a device at
# sample rate specified under "sampling_rates" and bit width under
# "bit_width" and the topology extracted from the acdb data against
# the "app_type".
#
# the flags and formats are specified using the strings corresponding to
# enums in audio.h and audio_policy.h. They are concatenated with "|"
# without space or "\n".
# the flags and formats should match the ones in "audio_policy.conf"
outputs {
voip_rx {
flags AUDIO_OUTPUT_FLAG_VOIP_RX|AUDIO_OUTPUT_FLAG_DIRECT
formats AUDIO_FORMAT_PCM_16_BIT
sampling_rates 48000
bit_width 16
app_type 69946
}
}
inputs {
voip_tx {
flags AUDIO_INPUT_FLAG_VOIP_TX
formats AUDIO_FORMAT_PCM_16_BIT
sampling_rates 48000
bit_width 16
app_type 69946
}
}

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="ISO-8859-1"?> <?xml version="1.0" encoding="ISO-8859-1"?>
<!--- Copyright (c) 2014-2019, The Linux Foundation. All rights reserved. --> <!--- Copyright (c) 2014-2020, The Linux Foundation. All rights reserved. -->
<!--- --> <!--- -->
<!--- Redistribution and use in source and binary forms, with or without --> <!--- Redistribution and use in source and binary forms, with or without -->
<!--- modification, are permitted provided that the following conditions are --> <!--- modification, are permitted provided that the following conditions are -->
@ -49,40 +49,28 @@
<ctl name="VA_AIF1_CAP Mixer DEC1" value="0" /> <ctl name="VA_AIF1_CAP Mixer DEC1" value="0" />
<ctl name="VA_AIF1_CAP Mixer DEC2" value="0" /> <ctl name="VA_AIF1_CAP Mixer DEC2" value="0" />
<ctl name="VA_AIF1_CAP Mixer DEC3" value="0" /> <ctl name="VA_AIF1_CAP Mixer DEC3" value="0" />
<ctl name="VA_AIF1_CAP Mixer DEC4" value="0" />
<ctl name="VA_AIF1_CAP Mixer DEC5" value="0" />
<ctl name="VA_AIF1_CAP Mixer DEC6" value="0" />
<ctl name="VA_AIF1_CAP Mixer DEC7" value="0" />
<ctl name="VA DEC0 MUX" value="MSM_DMIC" /> <ctl name="VA DEC0 MUX" value="MSM_DMIC" />
<ctl name="VA DEC1 MUX" value="MSM_DMIC" /> <ctl name="VA DEC1 MUX" value="MSM_DMIC" />
<ctl name="VA DEC2 MUX" value="MSM_DMIC" /> <ctl name="VA DEC2 MUX" value="MSM_DMIC" />
<ctl name="VA DEC3 MUX" value="MSM_DMIC" /> <ctl name="VA DEC3 MUX" value="MSM_DMIC" />
<ctl name="VA DEC4 MUX" value="MSM_DMIC" />
<ctl name="VA DEC5 MUX" value="MSM_DMIC" />
<ctl name="VA DEC6 MUX" value="MSM_DMIC" />
<ctl name="VA DEC7 MUX" value="MSM_DMIC" />
<ctl name="VA DMIC MUX0" value="ZERO" /> <ctl name="VA DMIC MUX0" value="ZERO" />
<ctl name="VA DMIC MUX1" value="ZERO" /> <ctl name="VA DMIC MUX1" value="ZERO" />
<ctl name="VA DMIC MUX2" value="ZERO" /> <ctl name="VA DMIC MUX2" value="ZERO" />
<ctl name="VA DMIC MUX3" value="ZERO" /> <ctl name="VA DMIC MUX3" value="ZERO" />
<ctl name="VA DMIC MUX4" value="ZERO" />
<ctl name="VA DMIC MUX5" value="ZERO" />
<ctl name="VA DMIC MUX6" value="ZERO" />
<ctl name="VA DMIC MUX7" value="ZERO" />
<ctl name="VA SMIC MUX0" value="ZERO" /> <ctl name="VA SMIC MUX0" value="ZERO" />
<ctl name="VA SMIC MUX1" value="ZERO" /> <ctl name="VA SMIC MUX1" value="ZERO" />
<ctl name="VA SMIC MUX2" value="ZERO" /> <ctl name="VA SMIC MUX2" value="ZERO" />
<ctl name="VA SMIC MUX3" value="ZERO" /> <ctl name="VA SMIC MUX3" value="ZERO" />
<ctl name="VA SMIC MUX4" value="ZERO" />
<ctl name="VA SMIC MUX5" value="ZERO" />
<ctl name="VA SMIC MUX6" value="ZERO" />
<ctl name="VA SMIC MUX7" value="ZERO" />
<ctl name="AUDIO_REF_EC_UL1 MUX" value="None"/> <ctl name="AUDIO_REF_EC_UL1 MUX" value="None"/>
<ctl name="EC Reference Channels" value="Zero"/> <ctl name="EC Reference Channels" value="Zero"/>
<ctl name="EC Reference Bit Format" value="0"/> <ctl name="EC Reference Bit Format" value="0"/>
<ctl name="EC Reference SampleRate" value="0"/> <ctl name="EC Reference SampleRate" value="0"/>
<ctl name="ADC2 MUX" value="INP2" />
<ctl name="ADC2_MIXER Switch" value="0" /> <ctl name="ADC2_MIXER Switch" value="0" />
<ctl name="LPI Enable" value="0" /> <ctl name="LPI Enable" value="0" />
<ctl name="ADC1 ChMap" value="ZERO" />
<ctl name="ADC2 ChMap" value="ZERO" />
<ctl name="ADC3 ChMap" value="ZERO" />
<ctl name="ADC2 Volume" value="12" /> <ctl name="ADC2 Volume" value="12" />
<path name="listen-voice-wakeup-1"> <path name="listen-voice-wakeup-1">
@ -229,66 +217,75 @@
<ctl name="LPI Enable" value="0" /> <ctl name="LPI Enable" value="0" />
</path> </path>
<path name="amic1"> <path name="listen-ape-handset-mic">
<ctl name="VA_CDC_DMA_TX_0 Channels" value="One" /> <ctl name="VA_CDC_DMA_TX_0 Channels" value="One" />
<ctl name="VA_AIF1_CAP Mixer DEC0" value="1" /> <ctl name="VA_AIF1_CAP Mixer DEC0" value="1" />
<ctl name="VA DEC0 MUX" value="SWR_MIC" /> <ctl name="VA DEC0 MUX" value="SWR_MIC" />
<ctl name="VA SMIC MUX0" value="ADC1" /> <ctl name="VA SMIC MUX0" value="SWR_MIC4" />
<ctl name="ADC2_MIXER Switch" value="1" /> <ctl name="ADC2 ChMap" value="SWRM_TX2_CH1" />
<ctl name="ADC2 MUX" value="INP3" /> <ctl name="ADC2 MUX" value="INP3" />
<ctl name="ADC2 Volume" value="15" /> <ctl name="VA_DEC0 Volume" value="84" />
<ctl name="VA_DEC0 Volume" value="90" />
</path>
<path name="dmic">
<ctl name="VA_CDC_DMA_TX_0 Channels" value="Two" />
<ctl name="VA_AIF1_CAP Mixer DEC0" value="1" />
<ctl name="VA_AIF1_CAP Mixer DEC1" value="1" />
<ctl name="VA DEC0 MUX" value="SWR_MIC" />
<ctl name="VA SMIC MUX0" value="ADC1" />
<ctl name="ADC1_MIXER Switch" value="1" />
<ctl name="ADC1 Volume" value="15" />
<ctl name="VA DEC1 MUX" value="SWR_MIC" />
<ctl name="VA SMIC MUX1" value="ADC0" />
<ctl name="ADC2_MIXER Switch" value="1" /> <ctl name="ADC2_MIXER Switch" value="1" />
<ctl name="ADC2 MUX" value="INP3" />
<ctl name="ADC2 Volume" value="15" />
<ctl name="VA_DEC0 Volume" value="90" />
<ctl name="VA_DEC1 Volume" value="90" />
</path>
<path name="listen-ape-handset-mic">
<path name="amic1" />
</path> </path>
<path name="listen-ape-handset-mic-preproc"> <path name="listen-ape-handset-mic-preproc">
<path name="amic1" /> <ctl name="VA_CDC_DMA_TX_0 Channels" value="One" />
<ctl name="VA_AIF1_CAP Mixer DEC0" value="1" />
<ctl name="VA DEC0 MUX" value="SWR_MIC" />
<ctl name="VA SMIC MUX0" value="SWR_MIC0" />
<ctl name="ADC1 ChMap" value="SWRM_TX1_CH1" />
<ctl name="VA_DEC0 Volume" value="84" />
<ctl name="ADC1_MIXER Switch" value="1" />
</path> </path>
<path name="listen-ape-handset-dmic"> <path name="listen-ape-handset-dmic">
<path name="dmic" /> <ctl name="VA_CDC_DMA_TX_0 Channels" value="Two" />
<ctl name="VA_AIF1_CAP Mixer DEC0" value="1" />
<ctl name="VA DEC0 MUX" value="SWR_MIC" />
<ctl name="VA SMIC MUX0" value="SWR_MIC0" />
<ctl name="ADC1 ChMap" value="SWRM_TX1_CH1" />
<ctl name="VA_DEC0 Volume" value="84" />
<ctl name="ADC1_MIXER Switch" value="1" />
<ctl name="VA_AIF1_CAP Mixer DEC1" value="1" />
<ctl name="VA DEC1 MUX" value="SWR_MIC" />
<ctl name="VA SMIC MUX1" value="SWR_MIC4" />
<ctl name="ADC2 ChMap" value="SWRM_TX2_CH1" />
<ctl name="ADC2 MUX" value="INP3" />
<ctl name="VA_DEC1 Volume" value="84" />
<ctl name="ADC2_MIXER Switch" value="1" />
</path> </path>
<path name="listen-ape-handset-tmic"> <path name="listen-ape-handset-tmic">
<path name="dmic" />
</path> </path>
<path name="listen-ape-handset-qmic"> <path name="listen-ape-handset-qmic">
<path name="dmic" />
</path> </path>
<path name="listen-ape-headset-mic"> <path name="listen-ape-headset-mic">
<path name="amic1" /> <ctl name="VA_AIF1_CAP Mixer DEC0" value="1" />
<ctl name="VA DEC0 MUX" value="SWR_MIC" />
<ctl name="VA SMIC MUX0" value="SWR_MIC4" />
<ctl name="ADC2 MUX" value="INP2" />
<ctl name="ADC2 ChMap" value="SWRM_TX2_CH1" />
<ctl name="ADC2_MIXER Switch" value="1" />
</path> </path>
<path name="echo-reference"> <path name="echo-reference">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="TERT_MI2S_RX" /> <ctl name="AUDIO_REF_EC_UL1 MUX" value="SEN_MI2S_TX" />
<ctl name="EC Reference Channels" value="One"/> <ctl name="EC Reference Channels" value="One"/>
<ctl name="EC Reference Bit Format" value="S16_LE"/>
<ctl name="EC Reference SampleRate" value="48000"/>
</path> </path>
<path name="echo-reference handset"> <path name="echo-reference headphones">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="RX_CDC_DMA_RX_0" /> <ctl name="AUDIO_REF_EC_UL1 MUX" value="RX_CDC_DMA_RX_0" />
<ctl name="EC Reference Channels" value="One"/> <ctl name="EC Reference Channels" value="Two"/>
<ctl name="EC Reference Bit Format" value="S16_LE"/>
<ctl name="EC Reference SampleRate" value="48000"/>
</path>
<path name="echo-reference headset">
<path name="echo-reference headphones" />
</path> </path>
<path name="echo-reference a2dp"> <path name="echo-reference a2dp">
@ -297,5 +294,4 @@
<ctl name="EC Reference Bit Format" value="S16_LE"/> <ctl name="EC Reference Bit Format" value="S16_LE"/>
<ctl name="EC Reference SampleRate" value="48000"/> <ctl name="EC Reference SampleRate" value="48000"/>
</path> </path>
</mixer> </mixer>

View File

@ -26,7 +26,7 @@
<!--- OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN --> <!--- OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -->
<!--- IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --> <!--- IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -->
<sound_trigger_platform_info> <sound_trigger_platform_info>
<param version="0x0105" /> <!-- this must be the first param --> <param version="0x0106" /> <!-- this must be the first param -->
<!--- Version History: --> <!--- Version History: -->
<!--- 0x0101: Legacy version. --> <!--- 0x0101: Legacy version. -->
<!--- 0x0102: Includes acdb_ids param with the gcs_usecase tag. This matches --> <!--- 0x0102: Includes acdb_ids param with the gcs_usecase tag. This matches -->
@ -35,12 +35,14 @@
<!--- added to <adm_config> --> <!--- added to <adm_config> -->
<!--- 0x0104: instance id support for both WDSP<CPE> and ADSP lsm usecases --> <!--- 0x0104: instance id support for both WDSP<CPE> and ADSP lsm usecases -->
<!--- 0x0105: Select <lsm_usecase> based on capture device --> <!--- 0x0105: Select <lsm_usecase> based on capture device -->
<!--- 0x0106: Add module_params tag to support multiple module and param ids -->
<!--- per <lsm_usecase> -->
<common_config> <common_config>
<param implementer_version="0x0101" /> <param implementer_version="0x0102" />
<param max_ape_sessions="8" /> <param max_ape_sessions="8" />
<param enable_failure_detection="false" /> <param enable_failure_detection="false" />
<param support_device_switch="false" /> <param support_device_switch="true" />
<param transit_to_non_lpi_on_battery_charging="false" /> <param transit_to_non_lpi_on_battery_charging="false" />
<!-- Below backend params must match with port used in mixer path file --> <!-- Below backend params must match with port used in mixer path file -->
<!-- param used to configure backend sample rate, format and channels --> <!-- param used to configure backend sample rate, format and channels -->
@ -78,8 +80,6 @@
<sound_model_config> <sound_model_config>
<param vendor_uuid="68ab2d40-e860-11e3-95ef-0002a5d5c51b" /> <param vendor_uuid="68ab2d40-e860-11e3-95ef-0002a5d5c51b" />
<param execution_type="ADSP" /> <param execution_type="ADSP" />
<param kw_end_tolerance="400"/> <!-- first tried 400, then 600, then 800 -->
<param kw_start_tolerance="600"/>
<param merge_first_stage_sound_models="false"/> <param merge_first_stage_sound_models="false"/>
<param max_ape_phrases="20" /> <param max_ape_phrases="20" />
<param max_ape_users="10" /> <param max_ape_users="10" />
@ -88,6 +88,7 @@
<param bit_width="16" /> <param bit_width="16" />
<param out_channels="1"/> <!-- Module output channels --> <param out_channels="1"/> <!-- Module output channels -->
<param dam_token_id="1"/> <param dam_token_id="1"/>
<arm_ss_usecase> <arm_ss_usecase>
<!-- Options are "KEYWORD_DETECTION", "USER_VERIFICATION", "CUSTOM_DETECTION" --> <!-- Options are "KEYWORD_DETECTION", "USER_VERIFICATION", "CUSTOM_DETECTION" -->
<param sm_detection_type= "KEYWORD_DETECTION" /> <param sm_detection_type= "KEYWORD_DETECTION" />
@ -96,7 +97,6 @@
<param sample_rate="16000"/> <param sample_rate="16000"/>
<param bit_wdith="16"/> <param bit_wdith="16"/>
<param channel_count="1"/> <param channel_count="1"/>
<param data_after_kw_end="480" />
</arm_ss_usecase> </arm_ss_usecase>
<arm_ss_usecase> <arm_ss_usecase>
<param sm_detection_type= "USER_VERIFICATION" /> <param sm_detection_type= "USER_VERIFICATION" />
@ -126,7 +126,7 @@
<!-- fluence_type: "FLUENCE_MIC", "FLUENCE_DMIC", "FLUENCE_TMIC" --> <!-- fluence_type: "FLUENCE_MIC", "FLUENCE_DMIC", "FLUENCE_TMIC" -->
<!-- "FLUENCE_QMIC". Param value is valid when adm_cfg_profile --> <!-- "FLUENCE_QMIC". Param value is valid when adm_cfg_profile -->
<!-- is FFECNS --> <!-- is FFECNS -->
<param fluence_type="FLUENCE_MIC" /> <param fluence_type="FLUENCE_DMIC" />
<param execution_mode="ADSP" /> <param execution_mode="ADSP" />
<!-- lpi_mode: "NON_LPI_BARGE_IN", "NON_LPI", "LPI" --> <!-- lpi_mode: "NON_LPI_BARGE_IN", "NON_LPI", "LPI" -->
<!-- NON_LPI_BARGE_IN: Default non-LPI mode type. lsm_usecase --> <!-- NON_LPI_BARGE_IN: Default non-LPI mode type. lsm_usecase -->
@ -137,7 +137,10 @@
<!-- LPI: This mode type will be used for LPI usecases. --> <!-- LPI: This mode type will be used for LPI usecases. -->
<param lpi_mode="NON_LPI_BARGE_IN" /> <param lpi_mode="NON_LPI_BARGE_IN" />
<param app_type="2" /> <!-- app type used in ACDB --> <param app_type="2" /> <!-- app type used in ACDB -->
<param in_channels="1"/> <!-- Module input channels --> <param pdk5_app_type="5" />
<param in_channels="2"/> <!-- Module input channels -->
<module_params>
<param module_type="GMM" />
<param load_sound_model_ids="0x00012C1C, 0x0, 0x00012C14" /> <param load_sound_model_ids="0x00012C1C, 0x0, 0x00012C14" />
<param unload_sound_model_ids="0x00012C1C, 0x0, 0x00012C15" /> <param unload_sound_model_ids="0x00012C1C, 0x0, 0x00012C15" />
<param confidence_levels_ids="0x00012C1C, 0x0, 0x00012C07" /> <param confidence_levels_ids="0x00012C1C, 0x0, 0x00012C07" />
@ -146,6 +149,16 @@
<param custom_config_ids="0x00012C1C, 0x0, 0x00012C20" /> <param custom_config_ids="0x00012C1C, 0x0, 0x00012C20" />
<param det_event_type_ids="0x00012C1C, 0x0, 0x00012C2C" /> <param det_event_type_ids="0x00012C1C, 0x0, 0x00012C2C" />
<param lab_dam_cfg_ids="0x00012C08, 0x0, 0x000102C4" /> <param lab_dam_cfg_ids="0x00012C08, 0x0, 0x000102C4" />
</module_params>
<module_params>
<param module_type="PDK5" />
<param load_sound_model_ids="0x00012C35, 0x0, 0x00012C36" />
<param unload_sound_model_ids="0x00012C35, 0x0, 0x00012C37" />
<param confidence_levels_ids="0x00012C35, 0x0, 0x00012C38" />
<param custom_config_ids="0x00012C35, 0x0, 0x00012C20" />
<param det_event_type_ids="0x00012C35, 0x0, 0x00012C2C" />
<param lab_dam_cfg_ids="0x00012C08, 0x0, 0x000102C4" />
</module_params>
</lsm_usecase> </lsm_usecase>
<lsm_usecase> <lsm_usecase>
<param capture_device="HANDSET" /> <param capture_device="HANDSET" />
@ -166,7 +179,10 @@
<!-- LPI: This mode type will be used for LPI usecases. --> <!-- LPI: This mode type will be used for LPI usecases. -->
<param lpi_mode="LPI" /> <param lpi_mode="LPI" />
<param app_type="2" /> <!-- app type used in ACDB --> <param app_type="2" /> <!-- app type used in ACDB -->
<param pdk5_app_type="5" />
<param in_channels="1"/> <!-- Module input channels --> <param in_channels="1"/> <!-- Module input channels -->
<module_params>
<param module_type="GMM" />
<param load_sound_model_ids="0x00012C1C, 0x0, 0x00012C14" /> <param load_sound_model_ids="0x00012C1C, 0x0, 0x00012C14" />
<param unload_sound_model_ids="0x00012C1C, 0x0, 0x00012C15" /> <param unload_sound_model_ids="0x00012C1C, 0x0, 0x00012C15" />
<param confidence_levels_ids="0x00012C1C, 0x0, 0x00012C07" /> <param confidence_levels_ids="0x00012C1C, 0x0, 0x00012C07" />
@ -175,6 +191,16 @@
<param custom_config_ids="0x00012C1C, 0x0, 0x00012C20" /> <param custom_config_ids="0x00012C1C, 0x0, 0x00012C20" />
<param det_event_type_ids="0x00012C1C, 0x0, 0x00012C2C" /> <param det_event_type_ids="0x00012C1C, 0x0, 0x00012C2C" />
<param lab_dam_cfg_ids="0x00012C08, 0x0, 0x000102C4" /> <param lab_dam_cfg_ids="0x00012C08, 0x0, 0x000102C4" />
</module_params>
<module_params>
<param module_type="PDK5" />
<param load_sound_model_ids="0x00012C35, 0x0, 0x00012C36" />
<param unload_sound_model_ids="0x00012C35, 0x0, 0x00012C37" />
<param confidence_levels_ids="0x00012C35, 0x0, 0x00012C38" />
<param custom_config_ids="0x00012C35, 0x0, 0x00012C20" />
<param det_event_type_ids="0x00012C35, 0x0, 0x00012C2C" />
<param lab_dam_cfg_ids="0x00012C08, 0x0, 0x000102C4" />
</module_params>
</lsm_usecase> </lsm_usecase>
<lsm_usecase> <lsm_usecase>
<param capture_device="HEADSET" /> <param capture_device="HEADSET" />
@ -182,7 +208,10 @@
<param fluence_type="FLUENCE_MIC" /> <param fluence_type="FLUENCE_MIC" />
<param execution_mode="ADSP" /> <param execution_mode="ADSP" />
<param app_type="2" /> <!-- app type used in ACDB --> <param app_type="2" /> <!-- app type used in ACDB -->
<param pdk5_app_type="5" />
<param in_channels="1"/> <!-- Module input channels --> <param in_channels="1"/> <!-- Module input channels -->
<module_params>
<param module_type="GMM" />
<param load_sound_model_ids="0x00012C1C, 0x0, 0x00012C14" /> <param load_sound_model_ids="0x00012C1C, 0x0, 0x00012C14" />
<param unload_sound_model_ids="0x00012C1C, 0x0, 0x00012C15" /> <param unload_sound_model_ids="0x00012C1C, 0x0, 0x00012C15" />
<param confidence_levels_ids="0x00012C1C, 0x0, 0x00012C07" /> <param confidence_levels_ids="0x00012C1C, 0x0, 0x00012C07" />
@ -191,6 +220,16 @@
<param custom_config_ids="0x00012C1C, 0x0, 0x00012C20" /> <param custom_config_ids="0x00012C1C, 0x0, 0x00012C20" />
<param det_event_type_ids="0x00012C1C, 0x0, 0x00012C2C" /> <param det_event_type_ids="0x00012C1C, 0x0, 0x00012C2C" />
<param lab_dam_cfg_ids="0x00012C08, 0x0, 0x000102C4" /> <param lab_dam_cfg_ids="0x00012C08, 0x0, 0x000102C4" />
</module_params>
<module_params>
<param module_type="PDK5" />
<param load_sound_model_ids="0x00012C35, 0x0, 0x00012C36" />
<param unload_sound_model_ids="0x00012C35, 0x0, 0x00012C37" />
<param confidence_levels_ids="0x00012C35, 0x0, 0x00012C38" />
<param custom_config_ids="0x00012C35, 0x0, 0x00012C20" />
<param det_event_type_ids="0x00012C35, 0x0, 0x00012C2C" />
<param lab_dam_cfg_ids="0x00012C08, 0x0, 0x000102C4" />
</module_params>
</lsm_usecase> </lsm_usecase>
<!-- format: "ADPCM_packet" or "PCM_packet" !--> <!-- format: "ADPCM_packet" or "PCM_packet" !-->
@ -227,11 +266,13 @@
<param execution_mode="ADSP" /> <param execution_mode="ADSP" />
<param app_type="4" /> <!-- app type for MD used in ACDB --> <param app_type="4" /> <!-- app type for MD used in ACDB -->
<param in_channels="1"/> <!-- Module input channels --> <param in_channels="1"/> <!-- Module input channels -->
<module_params>
<param load_sound_model_ids="0x00012C22, 0x0, 0x00012C14" /> <param load_sound_model_ids="0x00012C22, 0x0, 0x00012C14" />
<param unload_sound_model_ids="0x00012C22, 0x0, 0x00012C15" /> <param unload_sound_model_ids="0x00012C22, 0x0, 0x00012C15" />
<param confidence_levels_ids="0x00012C22, 0x0, 0x00012C07" /> <param confidence_levels_ids="0x00012C22, 0x0, 0x00012C07" />
<param det_event_type_ids="0x00012C22, 0x0, 0x00012C2C" /> <param det_event_type_ids="0x00012C22, 0x0, 0x00012C2C" />
<param custom_config_ids="0x00012C22, 0x0, 0x00012C30" /> <param custom_config_ids="0x00012C22, 0x0, 0x00012C30" />
</module_params>
</lsm_usecase> </lsm_usecase>
<lsm_usecase> <lsm_usecase>
<param capture_device="HEADSET" /> <param capture_device="HEADSET" />
@ -240,11 +281,13 @@
<param execution_mode="ADSP" /> <param execution_mode="ADSP" />
<param app_type="4" /> <!-- app type for MD used in ACDB --> <param app_type="4" /> <!-- app type for MD used in ACDB -->
<param in_channels="1"/> <!-- Module input channels --> <param in_channels="1"/> <!-- Module input channels -->
<module_params>
<param load_sound_model_ids="0x00012C22, 0x0, 0x00012C14" /> <param load_sound_model_ids="0x00012C22, 0x0, 0x00012C14" />
<param unload_sound_model_ids="0x00012C22, 0x0, 0x00012C15" /> <param unload_sound_model_ids="0x00012C22, 0x0, 0x00012C15" />
<param confidence_levels_ids="0x00012C22, 0x0, 0x00012C07" /> <param confidence_levels_ids="0x00012C22, 0x0, 0x00012C07" />
<param det_event_type_ids="0x00012C22, 0x0, 0x00012C2C" /> <param det_event_type_ids="0x00012C22, 0x0, 0x00012C2C" />
<param custom_config_ids="0x00012C22, 0x0, 0x00012C30" /> <param custom_config_ids="0x00012C22, 0x0, 0x00012C30" />
</module_params>
</lsm_usecase> </lsm_usecase>
<!-- format: "ADPCM_packet" or "PCM_packet" !--> <!-- format: "ADPCM_packet" or "PCM_packet" !-->
@ -258,7 +301,6 @@
<!-- Google Hotword --> <!-- Google Hotword -->
<sound_model_config> <sound_model_config>
<param vendor_uuid="7038ddc8-30f2-11e6-b0ac-40a8f03d3f15" /> <param vendor_uuid="7038ddc8-30f2-11e6-b0ac-40a8f03d3f15" />
<param get_module_version="true" />
<param execution_type="ADSP" /> <param execution_type="ADSP" />
<param max_ape_phrases="1" /> <param max_ape_phrases="1" />
<param max_ape_users="1" /> <param max_ape_users="1" />
@ -266,15 +308,16 @@
<param sample_rate="16000" /> <param sample_rate="16000" />
<param bit_width="16" /> <param bit_width="16" />
<param out_channels="1"/> <!-- Module output channels --> <param out_channels="1"/> <!-- Module output channels -->
<param get_module_version="true" />
<lsm_usecase> <lsm_usecase>
<param capture_device="HANDSET" /> <param capture_device="HANDSET" />
<!-- adm_cfg_profile should match with the one defined under adm_config --> <!-- adm_cfg_profile should match with the one defined under adm_config -->
<!-- Set it to NONE if LSM directly connects to AFE --> <!-- Set it to NONE if LSM directly connects to AFE -->
<param adm_cfg_profile="FFECNS" /> <param adm_cfg_profile="DEFAULT" />
<!-- fluence_type: "FLUENCE_MIC", "FLUENCE_DMIC", "FLUENCE_TMIC" --> <!-- fluence_type: "FLUENCE_MIC", "FLUENCE_DMIC", "FLUENCE_TMIC" -->
<!-- "FLUENCE_QMIC". Param value is valid when adm_cfg_profile --> <!-- "FLUENCE_QMIC". Param value is valid when adm_cfg_profile -->
<!-- is FFECNS --> <!-- is FFECNS -->
<param fluence_type="FLUENCE_MIC" /> <param fluence_type="NONE" />
<param execution_mode="ADSP" /> <param execution_mode="ADSP" />
<!-- lpi_mode: "NON_LPI_BARGE_IN", "NON_LPI", "LPI" --> <!-- lpi_mode: "NON_LPI_BARGE_IN", "NON_LPI", "LPI" -->
<!-- NON_LPI_BARGE_IN: Default non-LPI mode type. lsm_usecase --> <!-- NON_LPI_BARGE_IN: Default non-LPI mode type. lsm_usecase -->
@ -286,6 +329,7 @@
<param lpi_mode="NON_LPI_BARGE_IN" /> <param lpi_mode="NON_LPI_BARGE_IN" />
<param app_type="3" /> <!-- app type used in ACDB --> <param app_type="3" /> <!-- app type used in ACDB -->
<param in_channels="1"/> <!-- Module input channels --> <param in_channels="1"/> <!-- Module input channels -->
<module_params>
<param load_sound_model_ids="0x18000001, 0x0, 0x00012C14" /> <param load_sound_model_ids="0x18000001, 0x0, 0x00012C14" />
<param unload_sound_model_ids="0x18000001, 0x0, 0x00012C15" /> <param unload_sound_model_ids="0x18000001, 0x0, 0x00012C15" />
<param confidence_levels_ids="0x18000001, 0x0, 0x00012C07" /> <param confidence_levels_ids="0x18000001, 0x0, 0x00012C07" />
@ -293,6 +337,7 @@
<param polling_enable_ids="0x18000001, 0x0, 0x00012C1B" /> <param polling_enable_ids="0x18000001, 0x0, 0x00012C1B" />
<param custom_config_ids="0x18000001, 0x0, 0x00012C20" /> <param custom_config_ids="0x18000001, 0x0, 0x00012C20" />
<param version_ids="0x18000001, 0x0, 0x18000101" /> <param version_ids="0x18000001, 0x0, 0x18000101" />
</module_params>
</lsm_usecase> </lsm_usecase>
<lsm_usecase> <lsm_usecase>
<param capture_device="HANDSET" /> <param capture_device="HANDSET" />
@ -314,6 +359,7 @@
<param lpi_mode="LPI" /> <param lpi_mode="LPI" />
<param app_type="3" /> <!-- app type used in ACDB --> <param app_type="3" /> <!-- app type used in ACDB -->
<param in_channels="1"/> <!-- Module input channels --> <param in_channels="1"/> <!-- Module input channels -->
<module_params>
<param load_sound_model_ids="0x18000001, 0x0, 0x00012C14" /> <param load_sound_model_ids="0x18000001, 0x0, 0x00012C14" />
<param unload_sound_model_ids="0x18000001, 0x0, 0x00012C15" /> <param unload_sound_model_ids="0x18000001, 0x0, 0x00012C15" />
<param confidence_levels_ids="0x18000001, 0x0, 0x00012C07" /> <param confidence_levels_ids="0x18000001, 0x0, 0x00012C07" />
@ -321,6 +367,7 @@
<param polling_enable_ids="0x18000001, 0x0, 0x00012C1B" /> <param polling_enable_ids="0x18000001, 0x0, 0x00012C1B" />
<param custom_config_ids="0x18000001, 0x0, 0x00012C20" /> <param custom_config_ids="0x18000001, 0x0, 0x00012C20" />
<param version_ids="0x18000001, 0x0, 0x18000101" /> <param version_ids="0x18000001, 0x0, 0x18000101" />
</module_params>
</lsm_usecase> </lsm_usecase>
<lsm_usecase> <lsm_usecase>
<param capture_device="HEADSET" /> <param capture_device="HEADSET" />
@ -329,6 +376,7 @@
<param execution_mode="ADSP" /> <param execution_mode="ADSP" />
<param app_type="3" /> <!-- app type used in ACDB --> <param app_type="3" /> <!-- app type used in ACDB -->
<param in_channels="1"/> <!-- Module input channels --> <param in_channels="1"/> <!-- Module input channels -->
<module_params>
<param load_sound_model_ids="0x18000001, 0x0, 0x00012C14" /> <param load_sound_model_ids="0x18000001, 0x0, 0x00012C14" />
<param unload_sound_model_ids="0x18000001, 0x0, 0x00012C15" /> <param unload_sound_model_ids="0x18000001, 0x0, 0x00012C15" />
<param confidence_levels_ids="0x18000001, 0x0, 0x00012C07" /> <param confidence_levels_ids="0x18000001, 0x0, 0x00012C07" />
@ -336,6 +384,7 @@
<param polling_enable_ids="0x18000001, 0x0, 0x00012C1B" /> <param polling_enable_ids="0x18000001, 0x0, 0x00012C1B" />
<param custom_config_ids="0x18000001, 0x0, 0x00012C20" /> <param custom_config_ids="0x18000001, 0x0, 0x00012C20" />
<param version_ids="0x18000001, 0x0, 0x18000101" /> <param version_ids="0x18000001, 0x0, 0x18000101" />
</module_params>
</lsm_usecase> </lsm_usecase>
<!-- format: "ADPCM_packet" or "PCM_packet" !--> <!-- format: "ADPCM_packet" or "PCM_packet" !-->
@ -368,12 +417,14 @@
<param execution_mode="ADSP" /> <param execution_mode="ADSP" />
<param app_type="3" /> <!-- app type used in ACDB --> <param app_type="3" /> <!-- app type used in ACDB -->
<param in_channels="1"/> <!-- Module input channels --> <param in_channels="1"/> <!-- Module input channels -->
<module_params>
<param load_sound_model_ids="0x18000001, 0x0, 0x00012C14" /> <param load_sound_model_ids="0x18000001, 0x0, 0x00012C14" />
<param unload_sound_model_ids="0x18000001, 0x0, 0x00012C15" /> <param unload_sound_model_ids="0x18000001, 0x0, 0x00012C15" />
<param confidence_levels_ids="0x18000001, 0x0, 0x00012C07" /> <param confidence_levels_ids="0x18000001, 0x0, 0x00012C07" />
<param operation_mode_ids="0x18000001, 0x0, 0x00012C02" /> <param operation_mode_ids="0x18000001, 0x0, 0x00012C02" />
<param polling_enable_ids="0x18000001, 0x0, 0x00012C1B" /> <param polling_enable_ids="0x18000001, 0x0, 0x00012C1B" />
<param custom_config_ids="0x18000001, 0x0, 0x00012C20" /> <param custom_config_ids="0x18000001, 0x0, 0x00012C20" />
</module_params>
</lsm_usecase> </lsm_usecase>
<lsm_usecase> <lsm_usecase>
<param capture_device="HEADSET" /> <param capture_device="HEADSET" />
@ -382,12 +433,14 @@
<param execution_mode="ADSP" /> <param execution_mode="ADSP" />
<param app_type="3" /> <!-- app type used in ACDB --> <param app_type="3" /> <!-- app type used in ACDB -->
<param in_channels="1"/> <!-- Module input channels --> <param in_channels="1"/> <!-- Module input channels -->
<module_params>
<param load_sound_model_ids="0x18000001, 0x0, 0x00012C14" /> <param load_sound_model_ids="0x18000001, 0x0, 0x00012C14" />
<param unload_sound_model_ids="0x18000001, 0x0, 0x00012C15" /> <param unload_sound_model_ids="0x18000001, 0x0, 0x00012C15" />
<param confidence_levels_ids="0x18000001, 0x0, 0x00012C07" /> <param confidence_levels_ids="0x18000001, 0x0, 0x00012C07" />
<param operation_mode_ids="0x18000001, 0x0, 0x00012C02" /> <param operation_mode_ids="0x18000001, 0x0, 0x00012C02" />
<param polling_enable_ids="0x18000001, 0x0, 0x00012C1B" /> <param polling_enable_ids="0x18000001, 0x0, 0x00012C1B" />
<param custom_config_ids="0x18000001, 0x0, 0x00012C20" /> <param custom_config_ids="0x18000001, 0x0, 0x00012C20" />
</module_params>
</lsm_usecase> </lsm_usecase>
<!-- format: "ADPCM_packet" or "PCM_packet" !--> <!-- format: "ADPCM_packet" or "PCM_packet" !-->
@ -405,7 +458,7 @@
<param app_type="69947" /> <param app_type="69947" />
<param sample_rate="16000" /> <param sample_rate="16000" />
<param bit_width="16" /> <param bit_width="16" />
<param out_channels="1"/> <param out_channels="2"/>
</adm_config> </adm_config>
<adm_config> <adm_config>

View File

@ -31,14 +31,14 @@ cc_defaults {
} }
cc_library { cc_library {
name: "bootctrl.kona", name: "bootctrl.lahaina",
defaults: ["bootctrl_hal_defaults"], defaults: ["bootctrl_hal_defaults"],
static_libs: ["libgptutils.moto_kona"], static_libs: ["libgptutils.moto_lahaina"],
} }
cc_library_shared { cc_library_shared {
name: "android.hardware.boot@1.1-impl-qti", name: "android.hardware.boot@1.1-impl-qti",
stem: "android.hardware.boot@1.0-impl-1.1-qti", stem: "android.hardware.boot@1.0-impl-1.1-qti",
defaults: ["android.hardware.boot@1.1-impl-qti_defaults"], defaults: ["android.hardware.boot@1.1-impl-qti_defaults"],
static_libs: ["libgptutils.moto_kona"], static_libs: ["libgptutils.moto_lahaina"],
} }

View File

@ -14,7 +14,7 @@ LOC_BOARD_PLATFORM_LIST += msmnile
LOC_BOARD_PLATFORM_LIST += sdmshrike LOC_BOARD_PLATFORM_LIST += sdmshrike
LOC_BOARD_PLATFORM_LIST += $(MSMSTEPPE) LOC_BOARD_PLATFORM_LIST += $(MSMSTEPPE)
LOC_BOARD_PLATFORM_LIST += $(TRINKET) LOC_BOARD_PLATFORM_LIST += $(TRINKET)
LOC_BOARD_PLATFORM_LIST += kona LOC_BOARD_PLATFORM_LIST += lahaina
LOC_BOARD_PLATFORM_LIST += atoll LOC_BOARD_PLATFORM_LIST += atoll
LOC_BOARD_PLATFORM_LIST += lito LOC_BOARD_PLATFORM_LIST += lito
LOC_BOARD_PLATFORM_LIST += bengal LOC_BOARD_PLATFORM_LIST += bengal

View File

@ -16,7 +16,7 @@
cc_library { cc_library {
name: "libgptutils.moto_kona", name: "libgptutils.moto_lahaina",
vendor: true, vendor: true,
recovery_available: true, recovery_available: true,
shared_libs: [ shared_libs: [

View File

@ -14,10 +14,10 @@
// limitations under the License. // limitations under the License.
cc_binary { cc_binary {
name: "android.hardware.lights-service.motokona", name: "android.hardware.lights-service.motolahaina",
relative_install_path: "hw", relative_install_path: "hw",
init_rc: ["android.hardware.lights.motokona.rc"], init_rc: ["android.hardware.lights.motolahaina.rc"],
vintf_fragments: ["android.hardware.lights.motokona.xml"], vintf_fragments: ["android.hardware.lights.motolahaina.xml"],
vendor: true, vendor: true,
shared_libs: [ shared_libs: [
"libbase", "libbase",

View File

@ -15,7 +15,7 @@
* limitations under the License. * limitations under the License.
*/ */
#define LOG_TAG "android.hardware.lights-service.motokona" #define LOG_TAG "android.hardware.lights-service.motolahaina"
#include "Lights.h" #include "Lights.h"
#include <android-base/file.h> #include <android-base/file.h>

View File

@ -1,4 +1,4 @@
service vendor.light /vendor/bin/hw/android.hardware.lights-service.motokona service vendor.light /vendor/bin/hw/android.hardware.lights-service.motolahaina
class hal class hal
user system user system
group system group system

View File

@ -13,7 +13,7 @@
// limitations under the License. // limitations under the License.
cc_defaults { cc_defaults {
name: "livedisplay_motorola_kona", name: "livedisplay_motorola_lahaina",
defaults: ["hidl_defaults"], defaults: ["hidl_defaults"],
relative_install_path: "hw", relative_install_path: "hw",
srcs: [ srcs: [
@ -40,8 +40,8 @@ cc_defaults {
} }
cc_binary { cc_binary {
name: "vendor.lineage.livedisplay@2.1-service.motorola_kona", name: "vendor.lineage.livedisplay@2.1-service.motorola_lahaina",
init_rc: ["vendor.lineage.livedisplay@2.1-service.motorola_kona.rc"], init_rc: ["vendor.lineage.livedisplay@2.1-service.motorola_lahaina.rc"],
defaults: ["livedisplay_motorola_kona"], defaults: ["livedisplay_motorola_lahaina"],
vendor: true, vendor: true,
} }

View File

@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
#define LOG_TAG "vendor.lineage.livedisplay@2.1-service.motorola_kona" #define LOG_TAG "vendor.lineage.livedisplay@2.1-service.motorola_lahaina"
#include <android-base/logging.h> #include <android-base/logging.h>
#include <binder/ProcessState.h> #include <binder/ProcessState.h>

View File

@ -9,7 +9,7 @@ on init
chown system system /sys/devices/platform/soc/soc:qcom,dsi-display-primary/dsi_display_dc chown system system /sys/devices/platform/soc/soc:qcom,dsi-display-primary/dsi_display_dc
chmod 0660 /sys/devices/platform/soc/soc:qcom,dsi-display-primary/dsi_display_dc chmod 0660 /sys/devices/platform/soc/soc:qcom,dsi-display-primary/dsi_display_dc
service vendor.livedisplay-hal-2-1 /vendor/bin/hw/vendor.lineage.livedisplay@2.1-service.motorola_kona service vendor.livedisplay-hal-2-1 /vendor/bin/hw/vendor.lineage.livedisplay@2.1-service.motorola_lahaina
class hal class hal
user system user system
group system group system

View File

@ -16,7 +16,7 @@ LOC_BOARD_PLATFORM_LIST += msmnile
LOC_BOARD_PLATFORM_LIST += sdmshrike LOC_BOARD_PLATFORM_LIST += sdmshrike
LOC_BOARD_PLATFORM_LIST += $(MSMSTEPPE) LOC_BOARD_PLATFORM_LIST += $(MSMSTEPPE)
LOC_BOARD_PLATFORM_LIST += $(TRINKET) LOC_BOARD_PLATFORM_LIST += $(TRINKET)
LOC_BOARD_PLATFORM_LIST += kona LOC_BOARD_PLATFORM_LIST += lahaina
LOC_BOARD_PLATFORM_LIST += lito LOC_BOARD_PLATFORM_LIST += lito
LOC_BOARD_PLATFORM_LIST += bengal LOC_BOARD_PLATFORM_LIST += bengal
LOC_BOARD_PLATFORM_LIST += atoll LOC_BOARD_PLATFORM_LIST += atoll

View File

@ -1,491 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2012-2020 The Linux Foundation. All rights reserved.
Not a contribution.
Copyright (C) 2012-2013 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!--
<!DOCTYPE MediaCodecs [
<!ELEMENT Include EMPTY>
<!ATTLIST Include href CDATA #REQUIRED>
<!ELEMENT MediaCodecs (Decoders|Encoders|Include)*>
<!ELEMENT Decoders (MediaCodec|Include)*>
<!ELEMENT Encoders (MediaCodec|Include)*>
<!ELEMENT MediaCodec (Type|Quirk|Include)*>
<!ATTLIST MediaCodec name CDATA #REQUIRED>
<!ATTLIST MediaCodec type CDATA>
<!ELEMENT Type EMPTY>
<!ATTLIST Type name CDATA #REQUIRED>
<!ELEMENT Quirk EMPTY>
<!ATTLIST Quirk name CDATA #REQUIRED>
]>
There's a simple and a complex syntax to declare the availability of a
media codec:
A codec that properly follows the OpenMax spec and therefore doesn't have any
quirks and that only supports a single content type can be declared like so:
<MediaCodec name="OMX.foo.bar" type="something/interesting" />
If a codec has quirks OR supports multiple content types, the following syntax
can be used:
<MediaCodec name="OMX.foo.bar" >
<Type name="something/interesting" />
<Type name="something/else" />
...
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="output-buffers-are-unreadable" />
</MediaCodec>
Only the three quirks included above are recognized at this point:
"requires-allocate-on-input-ports"
must be advertised if the component does not properly support specification
of input buffers using the OMX_UseBuffer(...) API but instead requires
OMX_AllocateBuffer to be used.
"requires-allocate-on-output-ports"
must be advertised if the component does not properly support specification
of output buffers using the OMX_UseBuffer(...) API but instead requires
OMX_AllocateBuffer to be used.
"output-buffers-are-unreadable"
must be advertised if the emitted output buffers of a decoder component
are not readable, i.e. use a custom format even though abusing one of
the official OMX colorspace constants.
Clients of such decoders will not be able to access the decoded data,
naturally making the component much less useful. The only use for
a component with this quirk is to render the output to the screen.
Audio decoders MUST NOT advertise this quirk.
Video decoders that advertise this quirk must be accompanied by a
corresponding color space converter for thumbnail extraction,
matching surfaceflinger support that can render the custom format to
a texture and possibly other code, so just DON'T USE THIS QUIRK.
-->
<!--
"performance-point"
Vendor-guaranteed performance advertised to the applications
<Limit name="performance-point-widthxheight" value="fps" />
-For each of the resolutions, the advertised fps is the max supported,
with HW-friendly color format and considering video-only.
-Performance for any intermediate resolution will be that of the
next-higher-advertised-resolution.
standard sizes: 480p/576p (SD), 720p (HD), 1080p (FHD), 2160p (UHD)
standard frame rates: 24, 25, 30, 48+, 50, 60, 100*, 120*, 200*, 240* fps
* HD+ only
+ SD only
- All supported standard performance points are listed (unless they are
covered by another listed standard performance point)
- Non-standard performance points are listed along with all the standard
performance points covered by them.
-->
<!--
"block-count"
Used by following MediaCodecInfo apis:
getSupportedWidthsFor(height) and
getSupportedHeightsFor(width)
-->
<!--
Non-Secure decoder capabilities
(MB is defined as 16x16)
_____________________________________________________________________
| Codec | W H fps Mbps MB/s Max MB/s|
|_____________|_____________________________________________________|
| h264 | 1920 1088 480 220 3916800 7776000 |
| | 3820 2160 240 220 7735500 |
| | 4096 2160 120 220 4147200 |
| | 7680 4320 60 220 7776000 |
| hevc | 1920 1088 480 220 3916800 7776000 |
| | 3820 2160 240 220 7735500 |
| | 4096 2160 120 220 4147200 |
| | 7680 4320 60 220 7776000 |
| mpeg4-sw | 1920 1088 30 40 244800 244800 |
| | 1280 720 30 40 108000 |
| vp8 | 1280 720 120 220 432000 1036800 |
| | 1920 1088 120 220 979200 |
| | 3840 2160 30 220 972000 |
| | 4096 2160 30 220 1036800 |
| vp9 | 1920 1088 480 220 3916800 7776000 |
| | 3820 2160 240 220 7735500 |
| | 4096 2160 120 220 4147200 |
| | 7680 4320 60 220 7776000 |
| h263-sw | 864 480 30 16 48600 48600 |
| mpeg2 | 1020 1088 60i 40 130050 244800 |
| | 1920 1088 30 40 244800 |
|_____________|_____________________________________________________|
Secure decoder capabilities
(MB is defined as 16x16)
__________________________________________________________________
| Codec | W H fps Mbps MB/s Max MB/s|
|__________|_____________________________________________________|
| h264 | 1280 720 60 40 216000 2073600 |
| | 1920 1088 60 40 489600 |
| | 3840 2160 60 40 1944000 |
| | 4096 2160 60 40 2073600 |
| | 4096 2304 30 40 1105920 |
| hevc | 1280 720 60 40 216000 2073600 |
| | 1920 1088 60 40 489600 |
| | 3840 2160 60 40 1944000 |
| | 4096 2160 60 40 2073600 |
| | 4096 2304 30 40 1105920 |
| vp9 | 1280 720 60 40 216000 2073600 |
| | 1920 1088 60 40 489600 |
| | 3840 2160 60 40 1944000 |
| | 4096 2160 60 40 2073600 |
| | 4096 2304 30 40 1105920 |
| mpeg2 | 1920 1088 30 40 244800 244800 |
|__________|_____________________________________________________|
Non-Secure encoder capabilities (Secure not supported)
(MB is defined as 16x16)
__________________________________________________________________
| Codec | W H fps Mbps MB/s Max MB/s|
|__________|_____________________________________________________|
| h264 | 1280 720 960 220 3456000 3916800 |
| | 1920 1088 480 220 3916800 |
| | 3840 2160 120 220 3888000 |
| | 4096 2160 60 220 2073600 |
| | 8192 4320 24 220 3317760 |
| hevc | 1280 720 960 220 3456000 3916800 |
| | 1920 1088 480 220 3916800 |
| | 3840 2160 120 220 3888000 |
| | 4096 2160 60 220 2073600 |
| | 8192 4320 24 220 3317760 |
| hevc.cq | 512 512 3825 220 3916800 3916800 |
| mpeg4-sw | 1280 720 30 4 108000 108000 |
| vp8 | 1280 720 60 70 216000 2073600 |
| | 1920 1088 60 70 489600 |
| | 3840 2160 60 70 1944000 |
| | 4096 2160 60 70 2073600 |
| h263-sw | 864 480 30 2 48600 48600 |
|__________|_____________________________________________________|
-->
<MediaCodecs>
<Include href="media_codecs_google_audio.xml" />
<Include href="media_codecs_google_telephony.xml" />
<Settings>
<Setting name="max-video-encoder-input-buffers" value="11" />
</Settings>
<Encoders>
<!-- Video Hardware -->
<MediaCodec name="OMX.qcom.video.encoder.avc" type="video/avc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="requires-loaded-to-idle-after-allocation" />
<Limit name="size" min="128x128" max="8192x8192" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-138240" />
<Limit name="blocks-per-second" min="64" max="3916800" />
<Limit name="bitrate" range="1-220000000" />
<Limit name="frame-rate" range="1-960" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-1280x720" value="960" />
<Limit name="performance-point-1920x1080" value="480" />
<Limit name="performance-point-1920x1080" value="240" />
<Limit name="performance-point-3840x2160" value="120" />
<Limit name="performance-point-7680x4320" value="30" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.vp8" type="video/x-vnd.on2.vp8" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="requires-loaded-to-idle-after-allocation" />
<Limit name="size" min="128x128" max="4096x4096" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-34560" />
<Limit name="blocks-per-second" min="64" max="2073600" />
<Limit name="bitrate" range="1-70000000" />
<Limit name="frame-rate" range="1-60" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-4096x2160" value="60" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.hevc" type="video/hevc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="requires-loaded-to-idle-after-allocation" />
<Limit name="size" min="128x128" max="8192x8192" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-138240" />
<Limit name="blocks-per-second" min="64" max="3916800" />
<Limit name="bitrate" range="1-160000000" />
<Limit name="frame-rate" range="1-960" />
<Limit name="concurrent-instances" max="16" />
<Feature name="bitrate-modes" value="VBR,CBR" />
<Limit name="performance-point-1280x720" value="960" />
<Limit name="performance-point-1920x1080" value="480" />
<Limit name="performance-point-1920x1080" value="240" />
<Limit name="performance-point-3840x2160" value="120" />
<Limit name="performance-point-7680x4320" value="30" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.hevc.cq" type="video/hevc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="requires-loaded-to-idle-after-allocation" />
<Limit name="size" min="128x128" max="512x512" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="frame-rate" range="1-20" />
<Limit name="concurrent-instances" max="16" />
<Limit name="quality" range="0-100" default="80" />
<Feature name="bitrate-modes" value="CQ" />
<Limit name="performance-point-512x512" value="3825" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.heic" type="image/vnd.android.heic" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="requires-loaded-to-idle-after-allocation" />
<Limit name="size" min="512x512" max="16384x16384" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="frame-rate" range="1-20" />
<Limit name="concurrent-instances" max="6" />
<Limit name="quality" range="0-100" default="80" />
<Feature name="bitrate-modes" value="CQ" />
<Limit name="performance-point-16384x8192" value="3" />
<Limit name="performance-point-1920x1080" value="6" />
</MediaCodec>
<!-- Video Software -->
<MediaCodec name="OMX.qcom.video.encoder.h263sw" type="video/3gpp" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="requires-loaded-to-idle-after-allocation" />
<Limit name="size" min="96x96" max="864x864" />
<Limit name="alignment" value="4x4" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="36-1620" />
<Limit name="blocks-per-second" min="36" max="48600" />
<Limit name="bitrate" range="1-2000000" />
<Limit name="frame-rate" range="1-30" />
<Limit name="concurrent-instances" max="3" />
<Limit name="performance-point-720x576" value="25" />
<Limit name="performance-point-720x480" value="30" />
<Limit name="performance-point-864x480" value="30" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.mpeg4sw" type="video/mp4v-es" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="requires-loaded-to-idle-after-allocation" />
<Limit name="size" min="96x96" max="864x864" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="36-1620" />
<Limit name="blocks-per-second" min="36" max="48600" />
<Limit name="bitrate" range="1-8000000" />
<Limit name="frame-rate" range="1-30" />
<Limit name="concurrent-instances" max="3" />
<Limit name="performance-point-720x576" value="25" />
<Limit name="performance-point-720x480" value="30" />
<Limit name="performance-point-864x480" value="30" />
</MediaCodec>
</Encoders>
<Decoders>
<!-- Video Hardware -->
<MediaCodec name="OMX.qcom.video.decoder.avc" type="video/avc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="128x128" max="8192x8192" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-138240" />
<Limit name="blocks-per-second" min="64" max="7776000" />
<Limit name="bitrate" range="1-220000000" />
<Limit name="frame-rate" range="1-960" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-1280x720" value="960" />
<Limit name="performance-point-1920x1080" value="480" />
<Limit name="performance-point-3840x2160" value="240" />
<Limit name="performance-point-4096x2160" value="120" />
<Limit name="performance-point-7680x4320" value="60" />
<Limit name="performance-point-8192x4320" value="48" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.avc.secure" type="video/avc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="128x128" max="4096x4096" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-34560" />
<Limit name="blocks-per-second" min="64" max="2073600" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-60" />
<Feature name="adaptive-playback" />
<Feature name="secure-playback" required="true" />
<Limit name="concurrent-instances" max="3" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-4096x2304" value="60" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.mpeg2" type="video/mpeg2" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="128x128" max="1920x1920" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-8160" />
<Limit name="blocks-per-second" min="64" max="244800" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-30" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-1920x1080" value="30" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.mpeg2.secure" type="video/mpeg2" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="128x128" max="1920x1920" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-8160" />
<Limit name="blocks-per-second" min="64" max="244800" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-30" />
<Feature name="adaptive-playback" />
<Feature name="secure-playback" required="true" />
<Limit name="concurrent-instances" max="3" />
<Limit name="performance-point-1920x1080" value="30" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.vp8" type="video/x-vnd.on2.vp8" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="128x128" max="4096x4096" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-34560" />
<Limit name="blocks-per-second" min="64" max="1036800" />
<Limit name="bitrate" range="1-100000000" />
<Limit name="frame-rate" range="1-120" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-1920x1080" value="120" />
<Limit name="performance-point-3840x2160" value="30" />
<Limit name="performance-point-4096x2160" value="30" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.vp9" type="video/x-vnd.on2.vp9" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="128x128" max="8192x8192" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-138240" />
<Limit name="blocks-per-second" min="64" max="7776000" />
<Limit name="bitrate" range="1-100000000" />
<Limit name="frame-rate" range="1-960" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="6" />
<Limit name="performance-point-1280x720" value="960" />
<Limit name="performance-point-1920x1080" value="480" />
<Limit name="performance-point-3840x2160" value="240" />
<Limit name="performance-point-4096x2160" value="120" />
<Limit name="performance-point-7680x4320" value="60" />
<Limit name="performance-point-8192x4320" value="48" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.vp9.secure" type="video/x-vnd.on2.vp9" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="128x128" max="4096x4096" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-34560" />
<Limit name="blocks-per-second" min="64" max="2073600" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-60" />
<Feature name="adaptive-playback" />
<Feature name="secure-playback" required="true" />
<Limit name="concurrent-instances" max="3" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-4096x2304" value="60" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.hevc" type="video/hevc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="128x128" max="8192x8192" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-138240" />
<Limit name="blocks-per-second" min="64" max="7776000" />
<Limit name="bitrate" range="1-160000000" />
<Limit name="frame-rate" range="1-960" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-1280x720" value="960" />
<Limit name="performance-point-1920x1080" value="480" />
<Limit name="performance-point-3840x2160" value="240" />
<Limit name="performance-point-4096x2160" value="120" />
<Limit name="performance-point-7680x4320" value="60" />
<Limit name="performance-point-8192x4320" value="48" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.hevc.secure" type="video/hevc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="128x128" max="4096x4096" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-34560" />
<Limit name="blocks-per-second" min="64" max="2073600" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-60" />
<Feature name="adaptive-playback" />
<Feature name="secure-playback" required="true" />
<Limit name="concurrent-instances" max="3" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-4096x2304" value="60" />
</MediaCodec>
<!-- Video Software -->
<MediaCodec name="OMX.qti.video.decoder.h263sw" type="video/3gpp" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="96x96" max="864x864" />
<Limit name="alignment" value="4x4" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="36-1620" />
<Limit name="blocks-per-second" min="36" max="48600" />
<Limit name="bitrate" range="1-16000000" />
<Limit name="frame-rate" range="1-30" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="4" />
<Limit name="performance-point-720x480" value="30" />
<Limit name="performance-point-720x576" value="25" />
<Limit name="performance-point-864x480" value="30" />
</MediaCodec>
<MediaCodec name="OMX.qti.video.decoder.mpeg4sw" type="video/mp4v-es">
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="96x96" max="1920x1920" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="36-8160" />
<Limit name="blocks-per-second" min="36" max="244800" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-30" />
<Limit name="concurrent-instances" max="4" />
<Limit name="performance-point-1920x1080" value="30" />
</MediaCodec>
<MediaCodec name="OMX.google.opus.decoder" type="audio/opus" update="true" rank="100"/>
</Decoders>
<Include href="media_codecs_google_video.xml" />
</MediaCodecs>

View File

@ -1,462 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<!--
Copyright (c) 2018-2020 Qualcomm Technologies, Inc.
All Rights Reserved.
Confidential and Proprietary - Qualcomm Technologies, Inc.
Not a Contribution.
Copyright (C) 2012-2018 The Linux Foundation. All rights reserved.
Copyright (C) 2012-2013 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!--
Kona Non-Secure decoder capabilities
_________________________________________________________
| Codec | W H fps Mbps MB/s |
|_____________|_________________________________________|
| h264 | 4096 2160 60 120 2073600 |
| | (4096) (2304) (30) (120) |
| hevc | 4096 2160 60 120 2073600 |
| | (4096) (2304) (30) (120) |
| vp8 | 4096 2160 30 120 1036800 |
| | (4096) (2304) (24) (120) |
| vp9 | 4096 2160 60 120 2073600 |
| | (4096) (2304) (30) (120) |
|_____________|_________________________________________|
Kona Secure decoder capabilities
______________________________________________________
| Codec | W H fps Mbps MB/s |
|__________|_________________________________________|
| h264 | 4096 2160 60 40 2073600 |
| | (4096) (2304) (30) (40) |
| vp9 | 4096 2160 60 40 2073600 |
| | (4096) (2304) (30) (40) |
| hevc | 4096 2160 60 40 2073600 |
| | (4096) (2304) (30) (40) |
|__________|_________________________________________|
Kona Non-Secure encoder capabilities (Secure not supported)
______________________________________________________
| Codec | W H fps Mbps MB/s |
|__________|_________________________________________|
| h264 | 4096 2160 60 120 2073600 |
| | (4096) (2304) (30) (120) |
| hevc | 4096 2160 60 120 2073600 |
| | (4096) (2304) (30) (120) |
| vp8 | 4096 2160 30 120 1036800 |
| | (4096) (2304) (24) (120) |
|__________|_________________________________________|
-->
<Included>
<Include href="media_codecs_google_audio.xml" />
<Include href="media_codecs_google_telephony.xml" />
<Settings>
<Setting name="max-video-encoder-input-buffers" value="11" />
</Settings>
<Decoders>
<!-- C2 decoders -->
<MediaCodec name="c2.qti.avc.decoder" type="video/avc">
<Limit name="size" min="128x128" max="4096x2304" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" range="64-2073600" />
<Limit name="bitrate" range="1-120000000" />
<Limit name="frame-rate" range="1-480" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-4096x2304" value="30" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-1920x1080" value="240" />
<Limit name="performance-point-1280x720" value="480" />
<Feature name="adaptive-playback" />
</MediaCodec>
<MediaCodec name="c2.qti.avc.decoder.secure" type="video/avc" >
<Limit name="size" min="128x128" max="4096x2160" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="64" max="1958400" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-240" />
<Feature name="adaptive-playback" />
<Feature name="secure-playback" required="true" />
<Limit name="concurrent-instances" max="3" />
<Limit name="performance-point-4096x2304" value="30" />
<Limit name="performance-point-3840x2160" value="60" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.decoder" type="video/hevc" >
<Limit name="size" min="128x128" max="4096x2304" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="64" max="2073600" />
<Limit name="bitrate" range="1-120000000" />
<Limit name="frame-rate" range="1-480" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-4096x2304" value="30" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-1920x1080" value="240" />
<Limit name="performance-point-1280x720" value="480" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.decoder.secure" type="video/hevc" >
<Limit name="size" min="128x128" max="4096x2304" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="64" max="2073600" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-480" />
<Feature name="adaptive-playback" />
<Feature name="secure-playback" required="true" />
<Limit name="concurrent-instances" max="6" />
<Limit name="performance-point-4096x2304" value="30" />
<Limit name="performance-point-3840x2160" value="60" />
</MediaCodec>
<MediaCodec name="c2.qti.vp8.decoder" type="video/x-vnd.on2.vp8" >
<Limit name="size" min="128x128" max="4096x2304" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="64" max="1036800" />
<Limit name="bitrate" range="1-120000000" />
<Limit name="frame-rate" range="1-240" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-4096x2304" value="24" />
<Limit name="performance-point-3840x2160" value="30" />
<Limit name="performance-point-1920x1080" value="120" />
<Limit name="performance-point-1280x720" value="240" />
</MediaCodec>
<MediaCodec name="c2.qti.vp9.decoder" type="video/x-vnd.on2.vp9" >
<Limit name="size" min="128x128" max="4096x2304" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="64" max="2073600" />
<Limit name="bitrate" range="1-120000000" />
<Limit name="frame-rate" range="1-480" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="6" />
<Limit name="performance-point-4096x2304" value="30" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-1920x1080" value="240" />
<Limit name="performance-point-1280x720" value="480" />
</MediaCodec>
<MediaCodec name="c2.qti.vp9.decoder.secure" type="video/x-vnd.on2.vp9" >
<Limit name="size" min="128x128" max="4096x2304" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="64" max="2073600" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-480" />
<Feature name="adaptive-playback" />
<Feature name="secure-playback" required="true" />
<Limit name="concurrent-instances" max="3" />
<Limit name="performance-point-4096x2304" value="30" />
<Limit name="performance-point-3840x2160" value="60" />
</MediaCodec>
<!-- TODO: parameters are copied from kona omx -->
<MediaCodec name="c2.qti.mpeg2.decoder" type="video/mpeg2" >
<Limit name="size" min="128x128" max="1920x1920" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="64" max="244800" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-30" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-1920x1080" value="30" />
</MediaCodec>
<!-- OMX alias decoders (Codec2 decoders with OMX names) -->
<MediaCodec name="OMX.qcom.video.decoder.avc" type="video/avc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="128x128" max="8192x8192" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-138240" />
<Limit name="blocks-per-second" min="64" max="7776000" />
<Limit name="bitrate" range="1-220000000" />
<Limit name="frame-rate" range="1-960" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-1280x720" value="960" />
<Limit name="performance-point-1920x1080" value="480" />
<Limit name="performance-point-3840x2160" value="240" />
<Limit name="performance-point-4096x2160" value="120" />
<Limit name="performance-point-7680x4320" value="60" />
<Limit name="performance-point-8192x4320" value="48" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.avc.secure" type="video/avc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="128x128" max="4096x4096" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-34560" />
<Limit name="blocks-per-second" min="64" max="2073600" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-60" />
<Feature name="adaptive-playback" />
<Feature name="secure-playback" required="true" />
<Limit name="concurrent-instances" max="3" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-4096x2304" value="60" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.mpeg2" type="video/mpeg2" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="128x128" max="1920x1920" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-8160" />
<Limit name="blocks-per-second" min="64" max="244800" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-30" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-1920x1080" value="30" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.mpeg2.secure" type="video/mpeg2" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="128x128" max="1920x1920" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-8160" />
<Limit name="blocks-per-second" min="64" max="244800" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-30" />
<Feature name="adaptive-playback" />
<Feature name="secure-playback" required="true" />
<Limit name="concurrent-instances" max="3" />
<Limit name="performance-point-1920x1080" value="30" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.vp8" type="video/x-vnd.on2.vp8" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="128x128" max="4096x4096" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-34560" />
<Limit name="blocks-per-second" min="64" max="1036800" />
<Limit name="bitrate" range="1-100000000" />
<Limit name="frame-rate" range="1-120" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-1920x1080" value="120" />
<Limit name="performance-point-3840x2160" value="30" />
<Limit name="performance-point-4096x2160" value="30" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.vp9" type="video/x-vnd.on2.vp9" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="128x128" max="8192x8192" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-138240" />
<Limit name="blocks-per-second" min="64" max="7776000" />
<Limit name="bitrate" range="1-100000000" />
<Limit name="frame-rate" range="1-960" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="6" />
<Limit name="performance-point-1280x720" value="960" />
<Limit name="performance-point-1920x1080" value="480" />
<Limit name="performance-point-3840x2160" value="240" />
<Limit name="performance-point-4096x2160" value="120" />
<Limit name="performance-point-7680x4320" value="60" />
<Limit name="performance-point-8192x4320" value="48" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.vp9.secure" type="video/x-vnd.on2.vp9" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="128x128" max="4096x4096" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-34560" />
<Limit name="blocks-per-second" min="64" max="2073600" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-60" />
<Feature name="adaptive-playback" />
<Feature name="secure-playback" required="true" />
<Limit name="concurrent-instances" max="3" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-4096x2304" value="60" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.hevc" type="video/hevc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="128x128" max="8192x8192" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-138240" />
<Limit name="blocks-per-second" min="64" max="7776000" />
<Limit name="bitrate" range="1-160000000" />
<Limit name="frame-rate" range="1-960" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-1280x720" value="960" />
<Limit name="performance-point-1920x1080" value="480" />
<Limit name="performance-point-3840x2160" value="240" />
<Limit name="performance-point-4096x2160" value="120" />
<Limit name="performance-point-7680x4320" value="60" />
<Limit name="performance-point-8192x4320" value="48" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.hevc.secure" type="video/hevc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="128x128" max="4096x4096" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-34560" />
<Limit name="blocks-per-second" min="64" max="2073600" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-60" />
<Feature name="adaptive-playback" />
<Feature name="secure-playback" required="true" />
<Limit name="concurrent-instances" max="3" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-4096x2304" value="60" />
</MediaCodec>
<!-- TODO: parameters are copied from kona omx -->
</Decoders>
<Encoders>
<!-- C2 encoders -->
<MediaCodec name="c2.qti.avc.encoder" type="video/avc">
<Limit name="size" min="128x128" max="4096x2304" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="64" max="2073600" />
<Limit name="bitrate" range="1-120000000" />
<Limit name="frame-rate" range="1-480" />
<Limit name="performance-point-4096x2304" value="30" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-1920x1080" value="240" />
<Limit name="performance-point-1280x720" value="480" />
<Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.encoder" type="video/hevc">
<Limit name="size" min="128x128" max="4096x2304" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="64" max="2073600" />
<Limit name="bitrate" range="1-120000000" />
<Limit name="frame-rate" range="1-480" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-4096x2304" value="30" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-1920x1080" value="240" />
<Limit name="performance-point-1280x720" value="480" />
<Feature name="bitrate-modes" value="VBR,CBR" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.encoder.cq" type="video/hevc" >
<Alias name="OMX.qcom.video.encoder.hevc.cq"/>
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="requires-loaded-to-idle-after-allocation" />
<Limit name="size" min="128x128" max="512x512" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="frame-rate" range="1-20" />
<Limit name="concurrent-instances" max="6" />
<Limit name="quality" range="0-100" default="80" />
<Feature name="bitrate-modes" value="CQ" />
<Limit name="performance-point-512x512" value="3825" />
</MediaCodec>
<MediaCodec name="c2.qti.heic.encoder" type="image/vnd.android.heic" >
<Alias name="OMX.qcom.video.encoder.heic"/>
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="requires-loaded-to-idle-after-allocation" />
<Limit name="size" min="512x512" max="8192x8192" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="frame-rate" range="1-20" />
<Limit name="concurrent-instances" max="6" />
<Limit name="quality" range="0-100" default="80" />
<Feature name="bitrate-modes" value="CQ" />
<Limit name="performance-point-8192x4320" value="3" />
<Limit name="performance-point-1920x1080" value="6" />
</MediaCodec>
<MediaCodec name="c2.qti.vp8.encoder" type="video/x-vnd.on2.vp8">
<Limit name="size" min="128x128" max="4096x2304" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="64" max="2073600" />
<Limit name="bitrate" range="1-70000000" />
<Limit name="frame-rate" range="1-480" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-4096x2304" value="24" />
<Limit name="performance-point-3840x2160" value="30" />
<Limit name="performance-point-1920x1080" value="120" />
<Limit name="performance-point-1280x720" value="240" />
</MediaCodec>
<!-- OMX alias encoders (Codec2 encoders with OMX names) -->
<MediaCodec name="OMX.qcom.video.encoder.avc" type="video/avc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="requires-loaded-to-idle-after-allocation" />
<Limit name="size" min="128x128" max="8192x8192" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-138240" />
<Limit name="blocks-per-second" min="64" max="3916800" />
<Limit name="bitrate" range="1-220000000" />
<Limit name="frame-rate" range="1-960" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-1280x720" value="960" />
<Limit name="performance-point-1920x1080" value="480" />
<Limit name="performance-point-1920x1080" value="240" />
<Limit name="performance-point-3840x2160" value="120" />
<Limit name="performance-point-7680x4320" value="30" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.vp8" type="video/x-vnd.on2.vp8" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="requires-loaded-to-idle-after-allocation" />
<Limit name="size" min="128x128" max="4096x4096" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-34560" />
<Limit name="blocks-per-second" min="64" max="2073600" />
<Limit name="bitrate" range="1-70000000" />
<Limit name="frame-rate" range="1-60" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-4096x2160" value="60" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.hevc" type="video/hevc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="requires-loaded-to-idle-after-allocation" />
<Limit name="size" min="128x128" max="8192x8192" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-138240" />
<Limit name="blocks-per-second" min="64" max="3916800" />
<Limit name="bitrate" range="1-160000000" />
<Limit name="frame-rate" range="1-960" />
<Limit name="concurrent-instances" max="16" />
<Feature name="bitrate-modes" value="VBR,CBR" />
<Limit name="performance-point-1280x720" value="960" />
<Limit name="performance-point-1920x1080" value="480" />
<Limit name="performance-point-1920x1080" value="240" />
<Limit name="performance-point-3840x2160" value="120" />
<Limit name="performance-point-7680x4320" value="30" />
</MediaCodec>
</Encoders>
<Include href="media_codecs_google_c2.xml" />
</Included>

View File

@ -1,491 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2012-2020 The Linux Foundation. All rights reserved.
Not a contribution.
Copyright (C) 2012-2013 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!--
<!DOCTYPE MediaCodecs [
<!ELEMENT Include EMPTY>
<!ATTLIST Include href CDATA #REQUIRED>
<!ELEMENT MediaCodecs (Decoders|Encoders|Include)*>
<!ELEMENT Decoders (MediaCodec|Include)*>
<!ELEMENT Encoders (MediaCodec|Include)*>
<!ELEMENT MediaCodec (Type|Quirk|Include)*>
<!ATTLIST MediaCodec name CDATA #REQUIRED>
<!ATTLIST MediaCodec type CDATA>
<!ELEMENT Type EMPTY>
<!ATTLIST Type name CDATA #REQUIRED>
<!ELEMENT Quirk EMPTY>
<!ATTLIST Quirk name CDATA #REQUIRED>
]>
There's a simple and a complex syntax to declare the availability of a
media codec:
A codec that properly follows the OpenMax spec and therefore doesn't have any
quirks and that only supports a single content type can be declared like so:
<MediaCodec name="OMX.foo.bar" type="something/interesting" />
If a codec has quirks OR supports multiple content types, the following syntax
can be used:
<MediaCodec name="OMX.foo.bar" >
<Type name="something/interesting" />
<Type name="something/else" />
...
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="output-buffers-are-unreadable" />
</MediaCodec>
Only the three quirks included above are recognized at this point:
"requires-allocate-on-input-ports"
must be advertised if the component does not properly support specification
of input buffers using the OMX_UseBuffer(...) API but instead requires
OMX_AllocateBuffer to be used.
"requires-allocate-on-output-ports"
must be advertised if the component does not properly support specification
of output buffers using the OMX_UseBuffer(...) API but instead requires
OMX_AllocateBuffer to be used.
"output-buffers-are-unreadable"
must be advertised if the emitted output buffers of a decoder component
are not readable, i.e. use a custom format even though abusing one of
the official OMX colorspace constants.
Clients of such decoders will not be able to access the decoded data,
naturally making the component much less useful. The only use for
a component with this quirk is to render the output to the screen.
Audio decoders MUST NOT advertise this quirk.
Video decoders that advertise this quirk must be accompanied by a
corresponding color space converter for thumbnail extraction,
matching surfaceflinger support that can render the custom format to
a texture and possibly other code, so just DON'T USE THIS QUIRK.
-->
<!--
"performance-point"
Vendor-guaranteed performance advertised to the applications
<Limit name="performance-point-widthxheight" value="fps" />
-For each of the resolutions, the advertised fps is the max supported,
with HW-friendly color format and considering video-only.
-Performance for any intermediate resolution will be that of the
next-higher-advertised-resolution.
standard sizes: 480p/576p (SD), 720p (HD), 1080p (FHD), 2160p (UHD)
standard frame rates: 24, 25, 30, 48+, 50, 60, 100*, 120*, 200*, 240* fps
* HD+ only
+ SD only
- All supported standard performance points are listed (unless they are
covered by another listed standard performance point)
- Non-standard performance points are listed along with all the standard
performance points covered by them.
-->
<!--
"block-count"
Used by following MediaCodecInfo apis:
getSupportedWidthsFor(height) and
getSupportedHeightsFor(width)
-->
<!--
Non-Secure decoder capabilities
(MB is defined as 16x16)
_____________________________________________________________________
| Codec | W H fps Mbps MB/s Max MB/s|
|_____________|_____________________________________________________|
| h264 | 1920 1088 480 220 3916800 7776000 |
| | 3820 2160 240 220 7735500 |
| | 4096 2160 120 220 4147200 |
| | 7680 4320 60 220 7776000 |
| hevc | 1920 1088 480 220 3916800 7776000 |
| | 3820 2160 240 220 7735500 |
| | 4096 2160 120 220 4147200 |
| | 7680 4320 60 220 7776000 |
| mpeg4-sw | 1920 1088 30 40 244800 244800 |
| | 1280 720 30 40 108000 |
| vp8 | 1280 720 120 220 432000 1036800 |
| | 1920 1088 120 220 979200 |
| | 3840 2160 30 220 972000 |
| | 4096 2160 30 220 1036800 |
| vp9 | 1920 1088 480 220 3916800 7776000 |
| | 3820 2160 240 220 7735500 |
| | 4096 2160 120 220 4147200 |
| | 7680 4320 60 220 7776000 |
| h263-sw | 864 480 30 16 48600 48600 |
| mpeg2 | 1020 1088 60i 40 130050 244800 |
| | 1920 1088 30 40 244800 |
|_____________|_____________________________________________________|
Secure decoder capabilities
(MB is defined as 16x16)
__________________________________________________________________
| Codec | W H fps Mbps MB/s Max MB/s|
|__________|_____________________________________________________|
| h264 | 1280 720 60 40 216000 2073600 |
| | 1920 1088 60 40 489600 |
| | 3840 2160 60 40 1944000 |
| | 4096 2160 60 40 2073600 |
| | 4096 2304 30 40 1105920 |
| hevc | 1280 720 60 40 216000 2073600 |
| | 1920 1088 60 40 489600 |
| | 3840 2160 60 40 1944000 |
| | 4096 2160 60 40 2073600 |
| | 4096 2304 30 40 1105920 |
| vp9 | 1280 720 60 40 216000 2073600 |
| | 1920 1088 60 40 489600 |
| | 3840 2160 60 40 1944000 |
| | 4096 2160 60 40 2073600 |
| | 4096 2304 30 40 1105920 |
| mpeg2 | 1920 1088 30 40 244800 244800 |
|__________|_____________________________________________________|
Non-Secure encoder capabilities (Secure not supported)
(MB is defined as 16x16)
__________________________________________________________________
| Codec | W H fps Mbps MB/s Max MB/s|
|__________|_____________________________________________________|
| h264 | 1280 720 960 220 3456000 3916800 |
| | 1920 1088 480 220 3916800 |
| | 3840 2160 120 220 3888000 |
| | 4096 2160 60 220 2073600 |
| | 8192 4320 24 220 3317760 |
| hevc | 1280 720 960 220 3456000 3916800 |
| | 1920 1088 480 220 3916800 |
| | 3840 2160 120 220 3888000 |
| | 4096 2160 60 220 2073600 |
| | 8192 4320 24 220 3317760 |
| hevc.cq | 512 512 3825 220 3916800 3916800 |
| mpeg4-sw | 1280 720 30 4 108000 108000 |
| vp8 | 1280 720 60 70 216000 2073600 |
| | 1920 1088 60 70 489600 |
| | 3840 2160 60 70 1944000 |
| | 4096 2160 60 70 2073600 |
| h263-sw | 864 480 30 2 48600 48600 |
|__________|_____________________________________________________|
-->
<MediaCodecs>
<Include href="media_codecs_google_audio.xml" />
<Include href="media_codecs_vendor_audio.xml" />
<Include href="media_codecs_google_telephony.xml" />
<Settings>
<Setting name="max-video-encoder-input-buffers" value="11" />
</Settings>
<Encoders>
<!-- Video Hardware -->
<MediaCodec name="OMX.qcom.video.encoder.avc" type="video/avc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="requires-loaded-to-idle-after-allocation" />
<Limit name="size" min="128x128" max="8192x8192" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-138240" />
<Limit name="blocks-per-second" min="64" max="3916800" />
<Limit name="bitrate" range="1-220000000" />
<Limit name="frame-rate" range="1-960" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-1280x720" value="960" />
<Limit name="performance-point-1920x1080" value="480" />
<Limit name="performance-point-1920x1080" value="240" />
<Limit name="performance-point-3840x2160" value="120" />
<Limit name="performance-point-7680x4320" value="30" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.vp8" type="video/x-vnd.on2.vp8" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="requires-loaded-to-idle-after-allocation" />
<Limit name="size" min="128x128" max="4096x4096" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-34560" />
<Limit name="blocks-per-second" min="64" max="2073600" />
<Limit name="bitrate" range="1-70000000" />
<Limit name="frame-rate" range="1-60" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-4096x2160" value="60" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.hevc" type="video/hevc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="requires-loaded-to-idle-after-allocation" />
<Limit name="size" min="128x128" max="8192x8192" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-138240" />
<Limit name="blocks-per-second" min="64" max="3916800" />
<Limit name="bitrate" range="1-160000000" />
<Limit name="frame-rate" range="1-960" />
<Limit name="concurrent-instances" max="16" />
<Feature name="bitrate-modes" value="VBR,CBR" />
<Limit name="performance-point-1280x720" value="960" />
<Limit name="performance-point-1920x1080" value="480" />
<Limit name="performance-point-1920x1080" value="240" />
<Limit name="performance-point-3840x2160" value="120" />
<Limit name="performance-point-7680x4320" value="30" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.hevc.cq" type="video/hevc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="requires-loaded-to-idle-after-allocation" />
<Limit name="size" min="128x128" max="512x512" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="frame-rate" range="1-20" />
<Limit name="concurrent-instances" max="16" />
<Limit name="quality" range="0-100" default="80" />
<Feature name="bitrate-modes" value="CQ" />
<Limit name="performance-point-512x512" value="3825" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.heic" type="image/vnd.android.heic" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="requires-loaded-to-idle-after-allocation" />
<Limit name="size" min="512x512" max="16384x16384" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="frame-rate" range="1-20" />
<Limit name="concurrent-instances" max="6" />
<Limit name="quality" range="0-100" default="80" />
<Feature name="bitrate-modes" value="CQ" />
<Limit name="performance-point-16384x8192" value="3" />
<Limit name="performance-point-1920x1080" value="6" />
</MediaCodec>
<!-- Video Software -->
<MediaCodec name="OMX.qcom.video.encoder.h263sw" type="video/3gpp" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="requires-loaded-to-idle-after-allocation" />
<Limit name="size" min="96x96" max="864x864" />
<Limit name="alignment" value="4x4" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="36-1620" />
<Limit name="blocks-per-second" min="36" max="48600" />
<Limit name="bitrate" range="1-2000000" />
<Limit name="frame-rate" range="1-30" />
<Limit name="concurrent-instances" max="3" />
<Limit name="performance-point-720x576" value="25" />
<Limit name="performance-point-720x480" value="30" />
<Limit name="performance-point-864x480" value="30" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.mpeg4sw" type="video/mp4v-es" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="requires-loaded-to-idle-after-allocation" />
<Limit name="size" min="96x96" max="864x864" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="36-1620" />
<Limit name="blocks-per-second" min="36" max="48600" />
<Limit name="bitrate" range="1-8000000" />
<Limit name="frame-rate" range="1-30" />
<Limit name="concurrent-instances" max="3" />
<Limit name="performance-point-720x576" value="25" />
<Limit name="performance-point-720x480" value="30" />
<Limit name="performance-point-864x480" value="30" />
</MediaCodec>
</Encoders>
<Decoders>
<!-- Video Hardware -->
<MediaCodec name="OMX.qcom.video.decoder.avc" type="video/avc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="128x128" max="8192x8192" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-138240" />
<Limit name="blocks-per-second" min="64" max="7776000" />
<Limit name="bitrate" range="1-220000000" />
<Limit name="frame-rate" range="1-960" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-1280x720" value="960" />
<Limit name="performance-point-1920x1080" value="480" />
<Limit name="performance-point-3840x2160" value="240" />
<Limit name="performance-point-4096x2160" value="120" />
<Limit name="performance-point-7680x4320" value="60" />
<Limit name="performance-point-8192x4320" value="48" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.avc.secure" type="video/avc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="128x128" max="4096x4096" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-34560" />
<Limit name="blocks-per-second" min="64" max="2073600" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-60" />
<Feature name="adaptive-playback" />
<Feature name="secure-playback" required="true" />
<Limit name="concurrent-instances" max="3" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-4096x2304" value="60" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.mpeg2" type="video/mpeg2" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="128x128" max="1920x1920" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-8160" />
<Limit name="blocks-per-second" min="64" max="244800" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-30" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-1920x1080" value="30" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.mpeg2.secure" type="video/mpeg2" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="128x128" max="1920x1920" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-8160" />
<Limit name="blocks-per-second" min="64" max="244800" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-30" />
<Feature name="adaptive-playback" />
<Feature name="secure-playback" required="true" />
<Limit name="concurrent-instances" max="3" />
<Limit name="performance-point-1920x1080" value="30" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.vp8" type="video/x-vnd.on2.vp8" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="128x128" max="4096x4096" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-34560" />
<Limit name="blocks-per-second" min="64" max="1036800" />
<Limit name="bitrate" range="1-100000000" />
<Limit name="frame-rate" range="1-120" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-1920x1080" value="120" />
<Limit name="performance-point-3840x2160" value="30" />
<Limit name="performance-point-4096x2160" value="30" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.vp9" type="video/x-vnd.on2.vp9" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="128x128" max="8192x8192" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-138240" />
<Limit name="blocks-per-second" min="64" max="7776000" />
<Limit name="bitrate" range="1-100000000" />
<Limit name="frame-rate" range="1-960" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="6" />
<Limit name="performance-point-1280x720" value="960" />
<Limit name="performance-point-1920x1080" value="480" />
<Limit name="performance-point-3840x2160" value="240" />
<Limit name="performance-point-4096x2160" value="120" />
<Limit name="performance-point-7680x4320" value="60" />
<Limit name="performance-point-8192x4320" value="48" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.vp9.secure" type="video/x-vnd.on2.vp9" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="128x128" max="4096x4096" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-34560" />
<Limit name="blocks-per-second" min="64" max="2073600" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-60" />
<Feature name="adaptive-playback" />
<Feature name="secure-playback" required="true" />
<Limit name="concurrent-instances" max="3" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-4096x2304" value="60" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.hevc" type="video/hevc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="128x128" max="8192x8192" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-138240" />
<Limit name="blocks-per-second" min="64" max="7776000" />
<Limit name="bitrate" range="1-160000000" />
<Limit name="frame-rate" range="1-960" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-1280x720" value="960" />
<Limit name="performance-point-1920x1080" value="480" />
<Limit name="performance-point-3840x2160" value="240" />
<Limit name="performance-point-4096x2160" value="120" />
<Limit name="performance-point-7680x4320" value="60" />
<Limit name="performance-point-8192x4320" value="48" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.hevc.secure" type="video/hevc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="128x128" max="4096x4096" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-34560" />
<Limit name="blocks-per-second" min="64" max="2073600" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-60" />
<Feature name="adaptive-playback" />
<Feature name="secure-playback" required="true" />
<Limit name="concurrent-instances" max="3" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-4096x2304" value="60" />
</MediaCodec>
<!-- Video Software -->
<MediaCodec name="OMX.qti.video.decoder.h263sw" type="video/3gpp" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="96x96" max="864x864" />
<Limit name="alignment" value="4x4" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="36-1620" />
<Limit name="blocks-per-second" min="36" max="48600" />
<Limit name="bitrate" range="1-16000000" />
<Limit name="frame-rate" range="1-30" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="4" />
<Limit name="performance-point-720x480" value="30" />
<Limit name="performance-point-720x576" value="25" />
<Limit name="performance-point-864x480" value="30" />
</MediaCodec>
<MediaCodec name="OMX.qti.video.decoder.mpeg4sw" type="video/mp4v-es">
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="96x96" max="1920x1920" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="36-8160" />
<Limit name="blocks-per-second" min="36" max="244800" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-30" />
<Limit name="concurrent-instances" max="4" />
<Limit name="performance-point-1920x1080" value="30" />
</MediaCodec>
</Decoders>
<Include href="media_codecs_google_video.xml" />
</MediaCodecs>

View File

@ -1,491 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2012-2020 The Linux Foundation. All rights reserved.
Not a contribution.
Copyright (C) 2012-2013 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!--
<!DOCTYPE MediaCodecs [
<!ELEMENT Include EMPTY>
<!ATTLIST Include href CDATA #REQUIRED>
<!ELEMENT MediaCodecs (Decoders|Encoders|Include)*>
<!ELEMENT Decoders (MediaCodec|Include)*>
<!ELEMENT Encoders (MediaCodec|Include)*>
<!ELEMENT MediaCodec (Type|Quirk|Include)*>
<!ATTLIST MediaCodec name CDATA #REQUIRED>
<!ATTLIST MediaCodec type CDATA>
<!ELEMENT Type EMPTY>
<!ATTLIST Type name CDATA #REQUIRED>
<!ELEMENT Quirk EMPTY>
<!ATTLIST Quirk name CDATA #REQUIRED>
]>
There's a simple and a complex syntax to declare the availability of a
media codec:
A codec that properly follows the OpenMax spec and therefore doesn't have any
quirks and that only supports a single content type can be declared like so:
<MediaCodec name="OMX.foo.bar" type="something/interesting" />
If a codec has quirks OR supports multiple content types, the following syntax
can be used:
<MediaCodec name="OMX.foo.bar" >
<Type name="something/interesting" />
<Type name="something/else" />
...
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="output-buffers-are-unreadable" />
</MediaCodec>
Only the three quirks included above are recognized at this point:
"requires-allocate-on-input-ports"
must be advertised if the component does not properly support specification
of input buffers using the OMX_UseBuffer(...) API but instead requires
OMX_AllocateBuffer to be used.
"requires-allocate-on-output-ports"
must be advertised if the component does not properly support specification
of output buffers using the OMX_UseBuffer(...) API but instead requires
OMX_AllocateBuffer to be used.
"output-buffers-are-unreadable"
must be advertised if the emitted output buffers of a decoder component
are not readable, i.e. use a custom format even though abusing one of
the official OMX colorspace constants.
Clients of such decoders will not be able to access the decoded data,
naturally making the component much less useful. The only use for
a component with this quirk is to render the output to the screen.
Audio decoders MUST NOT advertise this quirk.
Video decoders that advertise this quirk must be accompanied by a
corresponding color space converter for thumbnail extraction,
matching surfaceflinger support that can render the custom format to
a texture and possibly other code, so just DON'T USE THIS QUIRK.
-->
<!--
"performance-point"
Vendor-guaranteed performance advertised to the applications
<Limit name="performance-point-widthxheight" value="fps" />
-For each of the resolutions, the advertised fps is the max supported,
with HW-friendly color format and considering video-only.
-Performance for any intermediate resolution will be that of the
next-higher-advertised-resolution.
standard sizes: 480p/576p (SD), 720p (HD), 1080p (FHD), 2160p (UHD)
standard frame rates: 24, 25, 30, 48+, 50, 60, 100*, 120*, 200*, 240* fps
* HD+ only
+ SD only
- All supported standard performance points are listed (unless they are
covered by another listed standard performance point)
- Non-standard performance points are listed along with all the standard
performance points covered by them.
-->
<!--
"block-count"
Used by following MediaCodecInfo apis:
getSupportedWidthsFor(height) and
getSupportedHeightsFor(width)
-->
<!--
Non-Secure decoder capabilities
(MB is defined as 16x16)
_____________________________________________________________________
| Codec | W H fps Mbps MB/s Max MB/s|
|_____________|_____________________________________________________|
| h264 | 1920 1088 480 220 3916800 7776000 |
| | 3820 2160 240 220 7735500 |
| | 4096 2160 120 220 4147200 |
| | 7680 4320 60 220 7776000 |
| hevc | 1920 1088 480 220 3916800 7776000 |
| | 3820 2160 240 220 7735500 |
| | 4096 2160 120 220 4147200 |
| | 7680 4320 60 220 7776000 |
| mpeg4-sw | 1920 1088 30 40 244800 244800 |
| | 1280 720 30 40 108000 |
| vp8 | 1280 720 120 220 432000 1036800 |
| | 1920 1088 120 220 979200 |
| | 3840 2160 30 220 972000 |
| | 4096 2160 30 220 1036800 |
| vp9 | 1920 1088 480 220 3916800 7776000 |
| | 3820 2160 240 220 7735500 |
| | 4096 2160 120 220 4147200 |
| | 7680 4320 60 220 7776000 |
| h263-sw | 864 480 30 16 48600 48600 |
| mpeg2 | 1020 1088 60i 40 130050 244800 |
| | 1920 1088 30 40 244800 |
|_____________|_____________________________________________________|
Secure decoder capabilities
(MB is defined as 16x16)
__________________________________________________________________
| Codec | W H fps Mbps MB/s Max MB/s|
|__________|_____________________________________________________|
| h264 | 1280 720 60 40 216000 2073600 |
| | 1920 1088 60 40 489600 |
| | 3840 2160 60 40 1944000 |
| | 4096 2160 60 40 2073600 |
| | 4096 2304 30 40 1105920 |
| hevc | 1280 720 60 40 216000 2073600 |
| | 1920 1088 60 40 489600 |
| | 3840 2160 60 40 1944000 |
| | 4096 2160 60 40 2073600 |
| | 4096 2304 30 40 1105920 |
| vp9 | 1280 720 60 40 216000 2073600 |
| | 1920 1088 60 40 489600 |
| | 3840 2160 60 40 1944000 |
| | 4096 2160 60 40 2073600 |
| | 4096 2304 30 40 1105920 |
| mpeg2 | 1920 1088 30 40 244800 244800 |
|__________|_____________________________________________________|
Non-Secure encoder capabilities (Secure not supported)
(MB is defined as 16x16)
__________________________________________________________________
| Codec | W H fps Mbps MB/s Max MB/s|
|__________|_____________________________________________________|
| h264 | 1280 720 960 220 3456000 3916800 |
| | 1920 1088 480 220 3916800 |
| | 3840 2160 120 220 3888000 |
| | 4096 2160 60 220 2073600 |
| | 8192 4320 24 220 3317760 |
| hevc | 1280 720 960 220 3456000 3916800 |
| | 1920 1088 480 220 3916800 |
| | 3840 2160 120 220 3888000 |
| | 4096 2160 60 220 2073600 |
| | 8192 4320 24 220 3317760 |
| hevc.cq | 512 512 3825 220 3916800 3916800 |
| mpeg4-sw | 1280 720 30 4 108000 108000 |
| vp8 | 1280 720 60 70 216000 2073600 |
| | 1920 1088 60 70 489600 |
| | 3840 2160 60 70 1944000 |
| | 4096 2160 60 70 2073600 |
| h263-sw | 864 480 30 2 48600 48600 |
|__________|_____________________________________________________|
-->
<MediaCodecs>
<Include href="media_codecs_google_audio.xml" />
<Include href="media_codecs_vendor_audio.xml" />
<Include href="media_codecs_google_telephony.xml" />
<Settings>
<Setting name="max-video-encoder-input-buffers" value="11" />
</Settings>
<Encoders>
<!-- Video Hardware -->
<MediaCodec name="OMX.qcom.video.encoder.avc" type="video/avc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="requires-loaded-to-idle-after-allocation" />
<Limit name="size" min="128x128" max="8192x8192" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-138240" />
<Limit name="blocks-per-second" min="64" max="3916800" />
<Limit name="bitrate" range="1-220000000" />
<Limit name="frame-rate" range="1-960" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-1280x720" value="960" />
<Limit name="performance-point-1920x1080" value="480" />
<Limit name="performance-point-1920x1080" value="240" />
<Limit name="performance-point-3840x2160" value="120" />
<Limit name="performance-point-7680x4320" value="30" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.vp8" type="video/x-vnd.on2.vp8" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="requires-loaded-to-idle-after-allocation" />
<Limit name="size" min="128x128" max="4096x4096" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-34560" />
<Limit name="blocks-per-second" min="64" max="2073600" />
<Limit name="bitrate" range="1-70000000" />
<Limit name="frame-rate" range="1-60" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-4096x2160" value="60" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.hevc" type="video/hevc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="requires-loaded-to-idle-after-allocation" />
<Limit name="size" min="128x128" max="8192x8192" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-138240" />
<Limit name="blocks-per-second" min="64" max="3916800" />
<Limit name="bitrate" range="1-160000000" />
<Limit name="frame-rate" range="1-960" />
<Limit name="concurrent-instances" max="16" />
<Feature name="bitrate-modes" value="VBR,CBR" />
<Limit name="performance-point-1280x720" value="960" />
<Limit name="performance-point-1920x1080" value="480" />
<Limit name="performance-point-1920x1080" value="240" />
<Limit name="performance-point-3840x2160" value="120" />
<Limit name="performance-point-7680x4320" value="30" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.hevc.cq" type="video/hevc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="requires-loaded-to-idle-after-allocation" />
<Limit name="size" min="128x128" max="512x512" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="frame-rate" range="1-20" />
<Limit name="concurrent-instances" max="16" />
<Limit name="quality" range="0-100" default="80" />
<Feature name="bitrate-modes" value="CQ" />
<Limit name="performance-point-512x512" value="3825" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.heic" type="image/vnd.android.heic" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="requires-loaded-to-idle-after-allocation" />
<Limit name="size" min="512x512" max="16384x16384" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="frame-rate" range="1-20" />
<Limit name="concurrent-instances" max="6" />
<Limit name="quality" range="0-100" default="80" />
<Feature name="bitrate-modes" value="CQ" />
<Limit name="performance-point-16384x8192" value="3" />
<Limit name="performance-point-1920x1080" value="6" />
</MediaCodec>
<!-- Video Software -->
<MediaCodec name="OMX.qcom.video.encoder.h263sw" type="video/3gpp" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="requires-loaded-to-idle-after-allocation" />
<Limit name="size" min="96x96" max="864x864" />
<Limit name="alignment" value="4x4" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="36-1620" />
<Limit name="blocks-per-second" min="36" max="48600" />
<Limit name="bitrate" range="1-2000000" />
<Limit name="frame-rate" range="1-30" />
<Limit name="concurrent-instances" max="3" />
<Limit name="performance-point-720x576" value="25" />
<Limit name="performance-point-720x480" value="30" />
<Limit name="performance-point-864x480" value="30" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.mpeg4sw" type="video/mp4v-es" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="requires-loaded-to-idle-after-allocation" />
<Limit name="size" min="96x96" max="864x864" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="36-1620" />
<Limit name="blocks-per-second" min="36" max="48600" />
<Limit name="bitrate" range="1-8000000" />
<Limit name="frame-rate" range="1-30" />
<Limit name="concurrent-instances" max="3" />
<Limit name="performance-point-720x576" value="25" />
<Limit name="performance-point-720x480" value="30" />
<Limit name="performance-point-864x480" value="30" />
</MediaCodec>
</Encoders>
<Decoders>
<!-- Video Hardware -->
<MediaCodec name="OMX.qcom.video.decoder.avc" type="video/avc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="128x128" max="8192x8192" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-138240" />
<Limit name="blocks-per-second" min="64" max="7776000" />
<Limit name="bitrate" range="1-220000000" />
<Limit name="frame-rate" range="1-960" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-1280x720" value="960" />
<Limit name="performance-point-1920x1080" value="480" />
<Limit name="performance-point-3840x2160" value="240" />
<Limit name="performance-point-4096x2160" value="120" />
<Limit name="performance-point-7680x4320" value="60" />
<Limit name="performance-point-8192x4320" value="48" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.avc.secure" type="video/avc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="128x128" max="4096x4096" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-34560" />
<Limit name="blocks-per-second" min="64" max="2073600" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-60" />
<Feature name="adaptive-playback" />
<Feature name="secure-playback" required="true" />
<Limit name="concurrent-instances" max="3" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-4096x2304" value="60" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.mpeg2" type="video/mpeg2" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="128x128" max="1920x1920" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-8160" />
<Limit name="blocks-per-second" min="64" max="244800" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-30" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-1920x1080" value="30" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.mpeg2.secure" type="video/mpeg2" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="128x128" max="1920x1920" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-8160" />
<Limit name="blocks-per-second" min="64" max="244800" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-30" />
<Feature name="adaptive-playback" />
<Feature name="secure-playback" required="true" />
<Limit name="concurrent-instances" max="3" />
<Limit name="performance-point-1920x1080" value="30" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.vp8" type="video/x-vnd.on2.vp8" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="128x128" max="4096x4096" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-34560" />
<Limit name="blocks-per-second" min="64" max="1036800" />
<Limit name="bitrate" range="1-100000000" />
<Limit name="frame-rate" range="1-120" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-1920x1080" value="120" />
<Limit name="performance-point-3840x2160" value="30" />
<Limit name="performance-point-4096x2160" value="30" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.vp9" type="video/x-vnd.on2.vp9" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="128x128" max="8192x8192" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-138240" />
<Limit name="blocks-per-second" min="64" max="7776000" />
<Limit name="bitrate" range="1-100000000" />
<Limit name="frame-rate" range="1-960" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="6" />
<Limit name="performance-point-1280x720" value="960" />
<Limit name="performance-point-1920x1080" value="480" />
<Limit name="performance-point-3840x2160" value="240" />
<Limit name="performance-point-4096x2160" value="120" />
<Limit name="performance-point-7680x4320" value="60" />
<Limit name="performance-point-8192x4320" value="48" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.vp9.secure" type="video/x-vnd.on2.vp9" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="128x128" max="4096x4096" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-34560" />
<Limit name="blocks-per-second" min="64" max="2073600" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-60" />
<Feature name="adaptive-playback" />
<Feature name="secure-playback" required="true" />
<Limit name="concurrent-instances" max="3" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-4096x2304" value="60" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.hevc" type="video/hevc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="128x128" max="8192x8192" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-138240" />
<Limit name="blocks-per-second" min="64" max="7776000" />
<Limit name="bitrate" range="1-160000000" />
<Limit name="frame-rate" range="1-960" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-1280x720" value="960" />
<Limit name="performance-point-1920x1080" value="480" />
<Limit name="performance-point-3840x2160" value="240" />
<Limit name="performance-point-4096x2160" value="120" />
<Limit name="performance-point-7680x4320" value="60" />
<Limit name="performance-point-8192x4320" value="48" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.hevc.secure" type="video/hevc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="128x128" max="4096x4096" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-34560" />
<Limit name="blocks-per-second" min="64" max="2073600" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-60" />
<Feature name="adaptive-playback" />
<Feature name="secure-playback" required="true" />
<Limit name="concurrent-instances" max="3" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-4096x2304" value="60" />
</MediaCodec>
<!-- Video Software -->
<MediaCodec name="OMX.qti.video.decoder.h263sw" type="video/3gpp" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="96x96" max="864x864" />
<Limit name="alignment" value="4x4" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="36-1620" />
<Limit name="blocks-per-second" min="36" max="48600" />
<Limit name="bitrate" range="1-16000000" />
<Limit name="frame-rate" range="1-30" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="4" />
<Limit name="performance-point-720x480" value="30" />
<Limit name="performance-point-720x576" value="25" />
<Limit name="performance-point-864x480" value="30" />
</MediaCodec>
<MediaCodec name="OMX.qti.video.decoder.mpeg4sw" type="video/mp4v-es">
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="96x96" max="1920x1920" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="36-8160" />
<Limit name="blocks-per-second" min="36" max="244800" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-30" />
<Limit name="concurrent-instances" max="4" />
<Limit name="performance-point-1920x1080" value="30" />
</MediaCodec>
</Decoders>
<Include href="media_codecs_google_video.xml" />
</MediaCodecs>

View File

@ -1,209 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<!--
Copyright (c) 2018-2020 Qualcomm Technologies, Inc.
All Rights Reserved.
Confidential and Proprietary - Qualcomm Technologies, Inc.
Not a Contribution.
Copyright (C) 2012-2017 The Linux Foundation. All rights reserved.
Copyright (C) 2012-2013 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<MediaCodecs>
<Decoders>
<!-- C2 HW decoders -->
<MediaCodec name="c2.qti.avc.decoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="567-1298" />
<Limit name="measured-frame-rate-720x480" range="720-740" />
<Limit name="measured-frame-rate-1280x720" range="200-420" />
<Limit name="measured-frame-rate-1920x1088" range="76-167" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.decoder" type="video/hevc" update="true">
<Limit name="measured-frame-rate-352x288" range="800-850" />
<Limit name="measured-frame-rate-720x480" range="440-600" />
<Limit name="measured-frame-rate-1280x720" range="215-425" />
<Limit name="measured-frame-rate-1920x1080" range="118-259" />
<Limit name="measured-frame-rate-3840x2160" range="30-66" />
</MediaCodec>
<MediaCodec name="c2.qti.vp8.decoder" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x240" range="800-900" />
<Limit name="measured-frame-rate-640x360" range="700-750" />
<Limit name="measured-frame-rate-1280x720" range="131-289" />
<Limit name="measured-frame-rate-1920x1080" range="83-183" />
</MediaCodec>
<MediaCodec name="c2.qti.vp9.decoder" type="video/x-vnd.on2.vp9" update="true">
<Limit name="measured-frame-rate-320x240" range="800-900" />
<Limit name="measured-frame-rate-640x360" range="700-800" />
<Limit name="measured-frame-rate-1280x720" range="94-207" />
<Limit name="measured-frame-rate-1920x1080" range="87-190" />
<Limit name="measured-frame-rate-3840x2160" range="20-44" />
</MediaCodec>
<!-- C2 HW decoders with OMX aliases -->
<MediaCodec name="OMX.qcom.video.decoder.avc" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="101-221" />
<Limit name="measured-frame-rate-720x480" range="720-740" />
<Limit name="measured-frame-rate-1280x720" range="200-420" />
<Limit name="measured-frame-rate-1920x1088" range="76-167" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.hevc" type="video/hevc" update="true">
<Limit name="measured-frame-rate-352x288" range="800-850" />
<Limit name="measured-frame-rate-720x480" range="440-600" />
<Limit name="measured-frame-rate-1280x720" range="215-425" />
<Limit name="measured-frame-rate-1920x1080" range="118-259" />
<Limit name="measured-frame-rate-3840x2160" range="30-66" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.vp8" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x240" range="800-900" />
<Limit name="measured-frame-rate-640x360" range="700-750" />
<Limit name="measured-frame-rate-1280x720" range="131-289" />
<Limit name="measured-frame-rate-1920x1080" range="83-183" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.vp9" type="video/x-vnd.on2.vp9" update="true">
<Limit name="measured-frame-rate-320x240" range="800-900" />
<Limit name="measured-frame-rate-640x360" range="700-800" />
<Limit name="measured-frame-rate-1280x720" range="94-207" />
<Limit name="measured-frame-rate-1920x1080" range="87-190" />
<Limit name="measured-frame-rate-3840x2160" range="20-44" />
</MediaCodec>
<!-- TODO: add C2 mpeg2 decoder performance data -->
<!-- C2 SW codecs -->
<MediaCodec name="c2.android.avc.decoder" type="video/avc" update="true">
<!-- measured 98%:153-414 med:193/192 FLAKY(mn=61.7 < 96 - 414 < mx=423.7) -->
<Limit name="measured-frame-rate-320x240" range="192-207" /> <!-- N=266 v98%=1.6 -->
<Limit name="measured-frame-rate-720x480" range="72-73" /> <!-- N=266 v98%=1.5 -->
<Limit name="measured-frame-rate-1280x720" range="27-27" /> <!-- N=236 v98%=1.5 (-PD1A.180712.003) -->
<Limit name="measured-frame-rate-1920x1080" range="15-16" /> <!-- N=272 v98%=1.4 -->
</MediaCodec>
<MediaCodec name="c2.android.hevc.decoder" type="video/hevc" update="true">
<Limit name="measured-frame-rate-352x288" range="259-262" /> <!-- N=270 v98%=1.6 -->
<!-- measured 98%:77-220 med:165/169 FLAKY(mn=74.9 < 75 - 338) -->
<Limit name="measured-frame-rate-640x360" range="149-169" /> <!-- TWEAKED N=269 v98%=1.7 -->
<!-- measured 98%:85-223 med:194/186 FLAKY(mn=80.8 < 85 - 372) -->
<Limit name="measured-frame-rate-720x480" range="161-186" /> <!-- TWEAKED N=270 v98%=1.6 -->
<Limit name="measured-frame-rate-1280x720" range="81-81" /> <!-- N=270 v98%=1.4 -->
<Limit name="measured-frame-rate-1920x1080" range="46-46" /> <!-- N=230 v98%=1.2 (-PD1A.180706.000) -->
</MediaCodec>
<MediaCodec name="c2.android.vp8.decoder" type="video/x-vnd.on2.vp8" update="true">
<!-- measured 98%:191-657 med:617/613 FLAKY(mn=183.9 < 191 - 1226) -->
<Limit name="measured-frame-rate-320x180" range="367-613" /> <!-- TWEAKED N=270 v98%=1.9 (-PD1A.180717.001) -->
<Limit name="measured-frame-rate-640x360" range="235-235" /> <!-- N=230 v98%=1.3 -->
<!-- measured 98%:35-54 med:36/36 N=64 -->
<Limit name="measured-frame-rate-1280x720" range="36-36" /> <!-- v98%=1.2 (PD1A.180706.000-) -->
<Limit name="measured-frame-rate-1920x1080" range="21-21" /> <!-- N=270 v98%=1.3 (-PD1A.180717.001) -->
</MediaCodec>
<MediaCodec name="c2.android.vp9.decoder" type="video/x-vnd.on2.vp9" update="true">
<!-- measured 98%:173-698 med:670/668 FLAKY(mn=161.4 < 162 - 1336) variance:2.0 -->
<Limit name="measured-frame-rate-320x180" range="322-668" /> <!-- TWEAKED N=228 -->
<Limit name="measured-frame-rate-640x360" range="162-259" /> <!-- N=272 v98%=1.9 (-PD1A.180717.001) -->
<Limit name="measured-frame-rate-1280x720" range="72-73" /> <!-- N=270 v98%=1.3 (-PD1A.180717.001) -->
<Limit name="measured-frame-rate-1920x1080" range="47-47" /> <!-- N=230 v98%=1.2 -->
</MediaCodec>
<MediaCodec name="c2.android.h263.decoder" type="video/3gpp" update="true">
<!-- measured 98%:151-1143 med:437/432 FLAKY(111 - 972 < mx=1146.8) variance:2.8 -->
<Limit name="measured-frame-rate-176x144" range="800-1000" /> <!-- N=270 -->
</MediaCodec>
<MediaCodec name="c2.android.mpeg4.decoder" type="video/mp4v-es" update="true">
<!-- measured 90%:149-1332 med:379/360 FLAKY(109 - 958 < mx=1400.6) RG.VARIANCE:2.1 -->
<Limit name="measured-frame-rate-176x144" range="450-850" /> <!-- N=272 v90%=3.0 -->
</MediaCodec>
</Decoders>
<Encoders>
<!-- C2 HW encoders -->
<MediaCodec name="c2.qti.avc.encoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="355-437" />
<Limit name="measured-frame-rate-720x480" range="64-140" />
<Limit name="measured-frame-rate-1280x720" range="26-56" />
<Limit name="measured-frame-rate-1920x1080" range="20-44" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.encoder" type="video/hevc" update="true">
<Limit name="measured-frame-rate-320x240" range="126-278" />
<Limit name="measured-frame-rate-720x480" range="48-106" />
<Limit name="measured-frame-rate-1280x720" range="19-41" />
<Limit name="measured-frame-rate-1920x1080" range="17-37" />
<Limit name="measured-frame-rate-3840x2160" range="11-25" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.encoder.cq" type="video/hevc" update="true">
<Limit name="measured-frame-rate-320x240" range="340-400" />
</MediaCodec>
<MediaCodec name="c2.qti.vp8.encoder" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x180" range="107-236" />
<Limit name="measured-frame-rate-640x360" range="67-147" />
<Limit name="measured-frame-rate-1280x720" range="21-46" />
<Limit name="measured-frame-rate-1920x1080" range="18-41" />
</MediaCodec>
<!-- C2 HW encoders with OMX aliases -->
<MediaCodec name="OMX.qcom.video.encoder.avc" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="106-234" />
<Limit name="measured-frame-rate-720x480" range="64-140" />
<Limit name="measured-frame-rate-1280x720" range="26-56" />
<Limit name="measured-frame-rate-1920x1080" range="20-44" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.hevc" type="video/hevc" update="true">
<Limit name="measured-frame-rate-320x240" range="126-278" />
<Limit name="measured-frame-rate-720x480" range="48-106" />
<Limit name="measured-frame-rate-1280x720" range="19-41" />
<Limit name="measured-frame-rate-1920x1080" range="17-37" />
<Limit name="measured-frame-rate-3840x2160" range="11-25" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.vp8" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x180" range="107-236" />
<Limit name="measured-frame-rate-640x360" range="67-147" />
<Limit name="measured-frame-rate-1280x720" range="21-46" />
<Limit name="measured-frame-rate-1920x1080" range="18-41" />
</MediaCodec>
<!-- C2 SW encoders -->
<MediaCodec name="c2.android.h263.encoder" type="video/3gpp" update="true">
<!-- measured 95%:144-637 med:343/343 FLAKY(mn=40.8 < 144 - 808 < mx=916.6) variance:2.1 -->
<Limit name="measured-frame-rate-176x144" range="287-459" /> <!-- TWEAKED N=224 -->
</MediaCodec>
<MediaCodec name="c2.android.avc.encoder" type="video/avc" update="true">
<!-- measured 90%:42-420 med:146/160 FLAKY(mn=39.0 < 42 - 368 < mx=569.5) RG.VARIANCE:2.2 -->
<Limit name="measured-frame-rate-320x240" range="82-212" /> <!-- SHOULDN'T HAVE TWEAKED N=266 v90%=3.2 -->
<!-- measured 98%:29-166 med:66/63 FLAKY(24 - 166 < mx=166.5) variance:2.4 -->
<Limit name="measured-frame-rate-720x480" range="47-83" /> <!-- N=262 -->
<!-- measured 98%:11-68 med:30/30 FLAKY(mn=10.5 < 11 - 68 < mx=82.1) variance:2.5 -->
<Limit name="measured-frame-rate-1280x720" range="22-42" /> <!-- TWEAKED N=236 -->
<!-- measured 98%:10-38 med:18/18 FLAKY(mn=5.2 < 9 - 38 < mx=38.8) -->
<Limit name="measured-frame-rate-1920x1080" range="18-19" /> <!-- N=288 v98%=2.0 -->
</MediaCodec>
<MediaCodec name="c2.android.mpeg4.encoder" type="video/mp4v-es" update="true">
<!-- measured 90%:29-451 med:208/206 FLAKY(mn=19.2 < 47 - 412 < mx=888.9) RG.VARIANCE:2.5 -->
<Limit name="measured-frame-rate-176x144" range="203-445" /> <!-- SHOULDN'T HAVE TWEAKED N=220 v90%=4.0 -->
</MediaCodec>
<MediaCodec name="c2.android.vp8.encoder" type="video/x-vnd.on2.vp8" update="true">
<!-- measured 90%:6-36 med:30/29 FLAKY(mn=0.0 < 7 - 58) variance:2.5 -->
<Limit name="measured-frame-rate-320x180" range="7-16" /> <!-- SHOULDN'T HAVE TWEAKED N=214 -->
<!-- measured 98%:3-24 med:12/12 FLAKY(mn=2.8 < 3 - 24 < mx=26.6) variance:2.8 -->
<Limit name="measured-frame-rate-640x360" range="6-12" /> <!-- N=220 -->
<!-- measured 98%:3-11 med:6/6 FLAKY(mn=0.0 < 3 - 12) -->
<Limit name="measured-frame-rate-1280x720" range="5-6" /> <!-- N=202 v98%=2.0 -->
<!-- measured 98%:3-7 med:5/5 FLAKY(mn=0.0 < 2 - 10 < mx=11.2) -->
<Limit name="measured-frame-rate-1920x1080" range="4-5" /> <!-- N=212 v98%=1.5 -->
</MediaCodec>
<MediaCodec name="c2.android.vp9.encoder" type="video/x-vnd.on2.vp9" update="true">
<!-- measured 93%:99-156 med:109/109 N=24 -->
<Limit name="measured-frame-rate-320x180" range="109-109" /> <!-- v93%=1.3 -->
<!-- measured 95%:54-67 med:61/61 N=36 -->
<Limit name="measured-frame-rate-640x360" range="61-61" /> <!-- v95%=1.1 -->
<!-- measured 95%:16-26 med:20/20 N=32 -->
<Limit name="measured-frame-rate-1280x720" range="20-20" /> <!-- v95%=1.3 -->
</MediaCodec>
</Encoders>
</MediaCodecs>

View File

@ -1,207 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<!--
Copyright (c) 2015-2020, The Linux Foundation. All rights reserved.
Not a Contribution.
Copyright 2015 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
u may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<MediaCodecs>
<Encoders>
<MediaCodec name="OMX.qcom.video.encoder.avc" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="310-450" />
<Limit name="measured-frame-rate-720x480" range="277-287" />
<Limit name="measured-frame-rate-1280x720" range="200-204" />
<Limit name="measured-frame-rate-1920x1080" range="116-118" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.hevc" type="video/hevc" update="true">
<Limit name="measured-frame-rate-320x240" range="295-435" />
<Limit name="measured-frame-rate-720x480" range="336-339" />
<Limit name="measured-frame-rate-1280x720" range="183-194" />
<Limit name="measured-frame-rate-1920x1080" range="91-104" />
<Limit name="measured-frame-rate-3840x2160" range="37-40" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.hevc.cq" type="video/hevc" update="true">
<Limit name="measured-frame-rate-320x240" range="340-400" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.h263sw" type="video/3gpp" update="true">
<Limit name="measured-frame-rate-176x144" range="303-303" />
<Limit name="measured-frame-rate-352x288" range="259-259" />
<Limit name="measured-frame-rate-704x576" range="87-155" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.mpeg4sw" type="video/mp4v-es" update="true">
<Limit name="measured-frame-rate-176x144" range="299-299" />
<Limit name="measured-frame-rate-352x288" range="120-170" />
<Limit name="measured-frame-rate-640x480" range="148-148" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.vp8" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x180" range="355-520" />
<Limit name="measured-frame-rate-640x360" range="236-302" />
<Limit name="measured-frame-rate-1280x720" range="123-125" />
<Limit name="measured-frame-rate-1920x1080" range="16-40" />
</MediaCodec>
<MediaCodec name="OMX.google.h264.encoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="215-215" />
<Limit name="measured-frame-rate-720x480" range="100-100" />
<Limit name="measured-frame-rate-1280x720" range="56-56" />
<Limit name="measured-frame-rate-1920x1080" range="30-30" />
</MediaCodec>
<MediaCodec name="OMX.google.h263.encoder" type="video/3gpp" update="true">
<Limit name="measured-frame-rate-176x144" range="200-200" />
</MediaCodec>
<MediaCodec name="OMX.google.mpeg4.encoder" type="video/mp4v-es" update="true">
<Limit name="measured-frame-rate-176x144" range="180-180" />
</MediaCodec>
<MediaCodec name="OMX.google.vp8.encoder" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x180" range="93-94" />
<Limit name="measured-frame-rate-640x360" range="32-32" />
<Limit name="measured-frame-rate-1280x720" range="17-24" />
<Limit name="measured-frame-rate-1920x1080" range="8-12" />
</MediaCodec>
<MediaCodec name="c2.android.avc.encoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="151-208" />
<Limit name="measured-frame-rate-720x480" range="61-84" />
<Limit name="measured-frame-rate-1280x720" range="41-57" />
<Limit name="measured-frame-rate-1920x1080" range="28-39" />
</MediaCodec>
<MediaCodec name="c2.android.h263.encoder" type="video/3gpp" update="true">
<Limit name="measured-frame-rate-176x144" range="287-459" />
</MediaCodec>
<MediaCodec name="c2.android.mpeg4.encoder" type="video/mp4v-es" update="true">
<Limit name="measured-frame-rate-176x144" range="251-350" />
</MediaCodec>
<MediaCodec name="c2.android.vp8.encoder" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x180" range="228-318" />
<Limit name="measured-frame-rate-640x360" range="150-233" />
<Limit name="measured-frame-rate-1280x720" range="43-61" />
<Limit name="measured-frame-rate-1920x1080" range="19-27" />
</MediaCodec>
<MediaCodec name="c2.android.vp9.encoder" type="video/x-vnd.on2.vp9" update="true">
<Limit name="measured-frame-rate-320x180" range="109-109" />
<Limit name="measured-frame-rate-640x360" range="61-61" />
<Limit name="measured-frame-rate-1280x720" range="20-20" />
</MediaCodec>
<MediaCodec name="c2.android.hevc.encoder" type="video/hevc" update="true">
<Limit name="measured-frame-rate-320x240" range="22-35" />
<Limit name="measured-frame-rate-720x480" range="6-22" />
</MediaCodec>
</Encoders>
<Decoders>
<MediaCodec name="OMX.qcom.video.decoder.avc" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="960-1268" />
<Limit name="measured-frame-rate-720x480" range="857-1104" />
<Limit name="measured-frame-rate-1280x720" range="312-316" />
<Limit name="measured-frame-rate-1920x1088" range="246-250" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.hevc" type="video/hevc" update="true">
<Limit name="measured-frame-rate-352x288" range="756-1179" />
<Limit name="measured-frame-rate-720x480" range="576-634" />
<Limit name="measured-frame-rate-1280x720" range="318-319" />
<Limit name="measured-frame-rate-1920x1080" range="316-318" />
<Limit name="measured-frame-rate-3840x2160" range="148-149" />
</MediaCodec>
<MediaCodec name="OMX.qti.video.decoder.h263sw" type="video/3gpp" update="true">
<Limit name="measured-frame-rate-176x144" range="782-1581" />
<Limit name="measured-frame-rate-352x288" range="380-920" />
</MediaCodec>
<MediaCodec name="OMX.qti.video.decoder.mpeg4sw" type="video/mp4v-es" update="true">
<Limit name="measured-frame-rate-176x144" range="775-2064" />
<Limit name="measured-frame-rate-480x360" range="695-915" />
<Limit name="measured-frame-rate-1280x720" range="369-529" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.vp8" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x240" range="745-1111" />
<Limit name="measured-frame-rate-640x360" range="571-883" />
<Limit name="measured-frame-rate-1280x720" range="337-337" />
<Limit name="measured-frame-rate-1920x1080" range="248-248" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.vp9" type="video/x-vnd.on2.vp9" update="true">
<Limit name="measured-frame-rate-320x240" range="806-1245" />
<Limit name="measured-frame-rate-640x360" range="832-1285" />
<Limit name="measured-frame-rate-1280x720" range="485-600" />
<Limit name="measured-frame-rate-1920x1080" range="435-495" />
<Limit name="measured-frame-rate-3840x2160" range="83-98" />
</MediaCodec>
<MediaCodec name="OMX.google.h264.decoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="122-370" />
<Limit name="measured-frame-rate-720x480" range="68-68" />
<Limit name="measured-frame-rate-1280x720" range="32-32" />
<Limit name="measured-frame-rate-1920x1080" range="24-26" />
</MediaCodec>
<MediaCodec name="OMX.google.h263.decoder" type="video/3gpp" update="true">
<Limit name="measured-frame-rate-176x144" range="104-279" />
<Limit name="measured-frame-rate-352x288" range="200-200" />
</MediaCodec>
<MediaCodec name="OMX.google.hevc.decoder" type="video/hevc" update="true">
<Limit name="measured-frame-rate-352x288" range="502-550" />
<Limit name="measured-frame-rate-640x360" range="267-271" />
<Limit name="measured-frame-rate-720x480" range="254-257" />
<Limit name="measured-frame-rate-1280x720" range="94-95" />
<Limit name="measured-frame-rate-1920x1080" range="47-49" />
</MediaCodec>
<MediaCodec name="OMX.google.mpeg4.decoder" update="true">
<Type name="video/mp4v-es">
<Limit name="measured-frame-rate-176x144" range="430-450" />
</Type>
</MediaCodec>
<MediaCodec name="OMX.google.vp8.decoder" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x180" range="1103-1170" />
<Limit name="measured-frame-rate-320x240" range="330-381" />
<Limit name="measured-frame-rate-640x360" range="487-490" />
<Limit name="measured-frame-rate-1280x720" range="22-38" />
<Limit name="measured-frame-rate-1920x1080" range="39-40" />
</MediaCodec>
<MediaCodec name="OMX.google.vp9.decoder" type="video/x-vnd.on2.vp9" update="true">
<Limit name="measured-frame-rate-320x180" range="861-909" />
<Limit name="measured-frame-rate-320x240" range="200-230" />
<Limit name="measured-frame-rate-640x360" range="265-268" />
<Limit name="measured-frame-rate-1280x720" range="32-40" />
<Limit name="measured-frame-rate-1920x1080" range="19-23" />
</MediaCodec>
<MediaCodec name="c2.android.avc.decoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="350-469" />
<Limit name="measured-frame-rate-720x480" range="80-100" />
<Limit name="measured-frame-rate-1280x720" range="21-155" />
<Limit name="measured-frame-rate-1920x1080" range="12-17" />
</MediaCodec>
<MediaCodec name="c2.android.hevc.decoder" type="video/hevc" update="true">
<Limit name="measured-frame-rate-352x288" range="355-960" />
<Limit name="measured-frame-rate-640x360" range="308-526" />
<Limit name="measured-frame-rate-720x480" range="370-455" />
<Limit name="measured-frame-rate-1280x720" range="105-210" />
<Limit name="measured-frame-rate-1920x1080" range="92-143" />
</MediaCodec>
<MediaCodec name="c2.android.mpeg4.decoder" type="video/mp4v-es" update="true">
<Limit name="measured-frame-rate-176x144" range="550-1200" />
</MediaCodec>
<MediaCodec name="c2.android.h263.decoder" type="video/3gpp" update="true">
<Limit name="measured-frame-rate-176x144" range="322-630" />
<Limit name="measured-frame-rate-352x288" range="653-822" />
</MediaCodec>
<MediaCodec name="c2.android.vp9.decoder" type="video/x-vnd.on2.vp9" update="true">
<Limit name="measured-frame-rate-320x180" range="573-1136" />
<Limit name="measured-frame-rate-640x360" range="200-450" />
<Limit name="measured-frame-rate-1280x720" range="80-100" />
<Limit name="measured-frame-rate-1920x1080" range="19-31" />
</MediaCodec>
<MediaCodec name="c2.android.vp8.decoder" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x180" range="601-1177" />
<Limit name="measured-frame-rate-640x360" range="460-560" />
<Limit name="measured-frame-rate-1280x720" range="107-145" />
<Limit name="measured-frame-rate-1920x1080" range="31-43" />
</MediaCodec>
</Decoders>
</MediaCodecs>

View File

@ -1,207 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<!--
Copyright (c) 2015-2020, The Linux Foundation. All rights reserved.
Not a Contribution.
Copyright 2015 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
u may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<MediaCodecs>
<Encoders>
<MediaCodec name="OMX.qcom.video.encoder.avc" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="310-450" />
<Limit name="measured-frame-rate-720x480" range="277-287" />
<Limit name="measured-frame-rate-1280x720" range="200-204" />
<Limit name="measured-frame-rate-1920x1080" range="116-118" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.hevc" type="video/hevc" update="true">
<Limit name="measured-frame-rate-320x240" range="295-435" />
<Limit name="measured-frame-rate-720x480" range="336-339" />
<Limit name="measured-frame-rate-1280x720" range="183-194" />
<Limit name="measured-frame-rate-1920x1080" range="91-104" />
<Limit name="measured-frame-rate-3840x2160" range="37-40" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.hevc.cq" type="video/hevc" update="true">
<Limit name="measured-frame-rate-320x240" range="340-400" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.h263sw" type="video/3gpp" update="true">
<Limit name="measured-frame-rate-176x144" range="303-303" />
<Limit name="measured-frame-rate-352x288" range="259-259" />
<Limit name="measured-frame-rate-704x576" range="87-155" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.mpeg4sw" type="video/mp4v-es" update="true">
<Limit name="measured-frame-rate-176x144" range="299-299" />
<Limit name="measured-frame-rate-352x288" range="120-170" />
<Limit name="measured-frame-rate-640x480" range="148-148" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.vp8" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x180" range="355-520" />
<Limit name="measured-frame-rate-640x360" range="236-302" />
<Limit name="measured-frame-rate-1280x720" range="123-125" />
<Limit name="measured-frame-rate-1920x1080" range="16-40" />
</MediaCodec>
<MediaCodec name="OMX.google.h264.encoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="215-215" />
<Limit name="measured-frame-rate-720x480" range="100-100" />
<Limit name="measured-frame-rate-1280x720" range="56-56" />
<Limit name="measured-frame-rate-1920x1080" range="30-30" />
</MediaCodec>
<MediaCodec name="OMX.google.h263.encoder" type="video/3gpp" update="true">
<Limit name="measured-frame-rate-176x144" range="200-200" />
</MediaCodec>
<MediaCodec name="OMX.google.mpeg4.encoder" type="video/mp4v-es" update="true">
<Limit name="measured-frame-rate-176x144" range="180-180" />
</MediaCodec>
<MediaCodec name="OMX.google.vp8.encoder" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x180" range="93-94" />
<Limit name="measured-frame-rate-640x360" range="32-32" />
<Limit name="measured-frame-rate-1280x720" range="17-24" />
<Limit name="measured-frame-rate-1920x1080" range="8-12" />
</MediaCodec>
<MediaCodec name="c2.android.avc.encoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="151-208" />
<Limit name="measured-frame-rate-720x480" range="61-84" />
<Limit name="measured-frame-rate-1280x720" range="41-57" />
<Limit name="measured-frame-rate-1920x1080" range="28-39" />
</MediaCodec>
<MediaCodec name="c2.android.h263.encoder" type="video/3gpp" update="true">
<Limit name="measured-frame-rate-176x144" range="287-459" />
</MediaCodec>
<MediaCodec name="c2.android.mpeg4.encoder" type="video/mp4v-es" update="true">
<Limit name="measured-frame-rate-176x144" range="251-350" />
</MediaCodec>
<MediaCodec name="c2.android.vp8.encoder" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x180" range="228-318" />
<Limit name="measured-frame-rate-640x360" range="150-233" />
<Limit name="measured-frame-rate-1280x720" range="43-61" />
<Limit name="measured-frame-rate-1920x1080" range="19-27" />
</MediaCodec>
<MediaCodec name="c2.android.vp9.encoder" type="video/x-vnd.on2.vp9" update="true">
<Limit name="measured-frame-rate-320x180" range="109-109" />
<Limit name="measured-frame-rate-640x360" range="61-61" />
<Limit name="measured-frame-rate-1280x720" range="20-20" />
</MediaCodec>
<MediaCodec name="c2.android.hevc.encoder" type="video/hevc" update="true">
<Limit name="measured-frame-rate-320x240" range="22-35" />
<Limit name="measured-frame-rate-720x480" range="6-22" />
</MediaCodec>
</Encoders>
<Decoders>
<MediaCodec name="OMX.qcom.video.decoder.avc" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="960-1268" />
<Limit name="measured-frame-rate-720x480" range="857-1104" />
<Limit name="measured-frame-rate-1280x720" range="312-316" />
<Limit name="measured-frame-rate-1920x1088" range="246-250" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.hevc" type="video/hevc" update="true">
<Limit name="measured-frame-rate-352x288" range="756-1179" />
<Limit name="measured-frame-rate-720x480" range="576-634" />
<Limit name="measured-frame-rate-1280x720" range="318-319" />
<Limit name="measured-frame-rate-1920x1080" range="316-318" />
<Limit name="measured-frame-rate-3840x2160" range="148-149" />
</MediaCodec>
<MediaCodec name="OMX.qti.video.decoder.h263sw" type="video/3gpp" update="true">
<Limit name="measured-frame-rate-176x144" range="782-1581" />
<Limit name="measured-frame-rate-352x288" range="380-920" />
</MediaCodec>
<MediaCodec name="OMX.qti.video.decoder.mpeg4sw" type="video/mp4v-es" update="true">
<Limit name="measured-frame-rate-176x144" range="775-2064" />
<Limit name="measured-frame-rate-480x360" range="695-915" />
<Limit name="measured-frame-rate-1280x720" range="369-529" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.vp8" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x240" range="745-1111" />
<Limit name="measured-frame-rate-640x360" range="571-883" />
<Limit name="measured-frame-rate-1280x720" range="337-337" />
<Limit name="measured-frame-rate-1920x1080" range="248-248" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.vp9" type="video/x-vnd.on2.vp9" update="true">
<Limit name="measured-frame-rate-320x240" range="806-1245" />
<Limit name="measured-frame-rate-640x360" range="832-1285" />
<Limit name="measured-frame-rate-1280x720" range="485-600" />
<Limit name="measured-frame-rate-1920x1080" range="435-495" />
<Limit name="measured-frame-rate-3840x2160" range="83-98" />
</MediaCodec>
<MediaCodec name="OMX.google.h264.decoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="122-370" />
<Limit name="measured-frame-rate-720x480" range="68-68" />
<Limit name="measured-frame-rate-1280x720" range="32-32" />
<Limit name="measured-frame-rate-1920x1080" range="24-26" />
</MediaCodec>
<MediaCodec name="OMX.google.h263.decoder" type="video/3gpp" update="true">
<Limit name="measured-frame-rate-176x144" range="104-279" />
<Limit name="measured-frame-rate-352x288" range="200-200" />
</MediaCodec>
<MediaCodec name="OMX.google.hevc.decoder" type="video/hevc" update="true">
<Limit name="measured-frame-rate-352x288" range="502-550" />
<Limit name="measured-frame-rate-640x360" range="267-271" />
<Limit name="measured-frame-rate-720x480" range="254-257" />
<Limit name="measured-frame-rate-1280x720" range="94-95" />
<Limit name="measured-frame-rate-1920x1080" range="47-49" />
</MediaCodec>
<MediaCodec name="OMX.google.mpeg4.decoder" update="true">
<Type name="video/mp4v-es">
<Limit name="measured-frame-rate-176x144" range="430-450" />
</Type>
</MediaCodec>
<MediaCodec name="OMX.google.vp8.decoder" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x180" range="1103-1170" />
<Limit name="measured-frame-rate-320x240" range="330-381" />
<Limit name="measured-frame-rate-640x360" range="487-490" />
<Limit name="measured-frame-rate-1280x720" range="22-38" />
<Limit name="measured-frame-rate-1920x1080" range="39-40" />
</MediaCodec>
<MediaCodec name="OMX.google.vp9.decoder" type="video/x-vnd.on2.vp9" update="true">
<Limit name="measured-frame-rate-320x180" range="861-909" />
<Limit name="measured-frame-rate-320x240" range="200-230" />
<Limit name="measured-frame-rate-640x360" range="265-268" />
<Limit name="measured-frame-rate-1280x720" range="32-40" />
<Limit name="measured-frame-rate-1920x1080" range="19-23" />
</MediaCodec>
<MediaCodec name="c2.android.avc.decoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="350-469" />
<Limit name="measured-frame-rate-720x480" range="80-100" />
<Limit name="measured-frame-rate-1280x720" range="21-155" />
<Limit name="measured-frame-rate-1920x1080" range="12-17" />
</MediaCodec>
<MediaCodec name="c2.android.hevc.decoder" type="video/hevc" update="true">
<Limit name="measured-frame-rate-352x288" range="355-960" />
<Limit name="measured-frame-rate-640x360" range="308-526" />
<Limit name="measured-frame-rate-720x480" range="370-455" />
<Limit name="measured-frame-rate-1280x720" range="105-210" />
<Limit name="measured-frame-rate-1920x1080" range="92-143" />
</MediaCodec>
<MediaCodec name="c2.android.mpeg4.decoder" type="video/mp4v-es" update="true">
<Limit name="measured-frame-rate-176x144" range="550-1200" />
</MediaCodec>
<MediaCodec name="c2.android.h263.decoder" type="video/3gpp" update="true">
<Limit name="measured-frame-rate-176x144" range="322-630" />
<Limit name="measured-frame-rate-352x288" range="653-822" />
</MediaCodec>
<MediaCodec name="c2.android.vp9.decoder" type="video/x-vnd.on2.vp9" update="true">
<Limit name="measured-frame-rate-320x180" range="573-1136" />
<Limit name="measured-frame-rate-640x360" range="200-450" />
<Limit name="measured-frame-rate-1280x720" range="80-100" />
<Limit name="measured-frame-rate-1920x1080" range="19-31" />
</MediaCodec>
<MediaCodec name="c2.android.vp8.decoder" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x180" range="601-1177" />
<Limit name="measured-frame-rate-640x360" range="460-560" />
<Limit name="measured-frame-rate-1280x720" range="107-145" />
<Limit name="measured-frame-rate-1920x1080" range="31-43" />
</MediaCodec>
</Decoders>
</MediaCodecs>

View File

@ -0,0 +1,149 @@
<?xml version="1.0" encoding="utf-8" ?>
<!--
Copyright (c) 2018-2021 Qualcomm Technologies, Inc.
All Rights Reserved.
Confidential and Proprietary - Qualcomm Technologies, Inc.
Not a Contribution.
Copyright (C) 2012-2017 The Linux Foundation. All rights reserved.
Copyright (C) 2012-2013 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<MediaCodecs>
<Decoders>
<!-- C2 HW decoders -->
<MediaCodec name="c2.qti.avc.decoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="480-510" />
<Limit name="measured-frame-rate-720x480" range="460-490" />
<Limit name="measured-frame-rate-1280x720" range="350-400" />
<Limit name="measured-frame-rate-1920x1080" range="41-58" />
</MediaCodec>
<MediaCodec name="c2.qti.avc.decoder.low_latency" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="296-641" />
<Limit name="measured-frame-rate-720x480" range="278-594" />
<Limit name="measured-frame-rate-1280x720" range="200-420" />
<Limit name="measured-frame-rate-1920x1080" range="76-167" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.decoder" type="video/hevc" update="true">
<Limit name="measured-frame-rate-352x288" range="510-530" />
<Limit name="measured-frame-rate-720x480" range="465-620" />
<Limit name="measured-frame-rate-1280x720" range="200-390" />
<Limit name="measured-frame-rate-1920x1080" range="46-66" />
<Limit name="measured-frame-rate-3840x2160" range="65-75" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.decoder.low_latency" type="video/hevc" update="true">
<Limit name="measured-frame-rate-352x288" range="800-850" />
<Limit name="measured-frame-rate-720x480" range="440-600" />
<Limit name="measured-frame-rate-1280x720" range="215-425" />
<Limit name="measured-frame-rate-1920x1080" range="118-259" />
<Limit name="measured-frame-rate-3840x2160" range="30-66" />
</MediaCodec>
<MediaCodec name="c2.qti.vp9.decoder" type="video/x-vnd.on2.vp9" update="true">
<Limit name="measured-frame-rate-320x240" range="377-377" />
<Limit name="measured-frame-rate-640x360" range="486-751" />
<Limit name="measured-frame-rate-1280x720" range="262-262" />
<Limit name="measured-frame-rate-1920x1080" range="50-71" />
<Limit name="measured-frame-rate-3840x2160" range="51-51" />
</MediaCodec>
<!-- TODO: add C2 mpeg2 decoder performance data -->
<!-- C2 SW codecs -->
<MediaCodec name="c2.android.avc.decoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="189-497" />
<Limit name="measured-frame-rate-720x480" range="78-109" />
<Limit name="measured-frame-rate-1280x720" range="38-55" />
<Limit name="measured-frame-rate-1920x1080" range="21-31" />
</MediaCodec>
<MediaCodec name="c2.android.hevc.decoder" type="video/hevc" update="true">
<Limit name="measured-frame-rate-352x288" range="191-408" />
<Limit name="measured-frame-rate-640x360" range="186-254" />
<Limit name="measured-frame-rate-720x480" range="173-237" />
<Limit name="measured-frame-rate-1280x720" range="47-74" />
<Limit name="measured-frame-rate-1920x1080" range="29-43" />
</MediaCodec>
<MediaCodec name="c2.android.vp8.decoder" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x180" range="310-690" />
<Limit name="measured-frame-rate-640x360" range="233-321" />
<Limit name="measured-frame-rate-1280x720" range="64-91" />
<Limit name="measured-frame-rate-1920x1080" range="22-33" />
</MediaCodec>
<MediaCodec name="c2.android.vp9.decoder" type="video/x-vnd.on2.vp9" update="true">
<Limit name="measured-frame-rate-320x180" range="234-450" />
<Limit name="measured-frame-rate-640x360" range="203-330" />
<Limit name="measured-frame-rate-1280x720" range="108-152" />
<Limit name="measured-frame-rate-1920x1080" range="85-132" />
</MediaCodec>
<MediaCodec name="c2.android.h263.decoder" type="video/3gpp" update="true">
<Limit name="measured-frame-rate-176x144" range="450-850" />
<Limit name="measured-frame-rate-352x288" range="650-780" />
</MediaCodec>
<MediaCodec name="c2.android.mpeg4.decoder" type="video/mp4v-es" update="true">
<Limit name="measured-frame-rate-176x144" range="730-1470" />
</MediaCodec>
</Decoders>
<Encoders>
<!-- C2 HW encoders -->
<MediaCodec name="c2.qti.avc.encoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="337-452" />
<Limit name="measured-frame-rate-720x480" range="182-312" />
<Limit name="measured-frame-rate-1280x720" range="66-94" />
<Limit name="measured-frame-rate-1920x1080" range="55-65" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.encoder" type="video/hevc" update="true">
<Limit name="measured-frame-rate-320x240" range="332-443" />
<Limit name="measured-frame-rate-720x480" range="194-317" />
<Limit name="measured-frame-rate-1280x720" range="65-94" />
<Limit name="measured-frame-rate-1920x1080" range="55-65" />
<Limit name="measured-frame-rate-3840x2160" range="20-27" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.encoder.cq" type="video/hevc" update="true">
<Limit name="measured-frame-rate-320x240" range="340-400" />
</MediaCodec>
<!-- C2 SW encoders -->
<MediaCodec name="c2.android.h263.encoder" type="video/3gpp" update="true">
<Limit name="measured-frame-rate-176x144" range="523-746" />
</MediaCodec>
<MediaCodec name="c2.android.avc.encoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="167-248" />
<Limit name="measured-frame-rate-720x480" range="62-90" />
<Limit name="measured-frame-rate-1280x720" range="48-56" />
<Limit name="measured-frame-rate-1920x1080" range="24-34" />
</MediaCodec>
<MediaCodec name="c2.android.hevc.encoder" type="video/hevc" update="true">
<Limit name="measured-frame-rate-320x240" range="28-40" />
<Limit name="measured-frame-rate-720x480" range="10-16" />
</MediaCodec>
<MediaCodec name="c2.android.mpeg4.encoder" type="video/mp4v-es" update="true">
<Limit name="measured-frame-rate-176x144" range="315-379" />
</MediaCodec>
<MediaCodec name="c2.android.vp8.encoder" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x180" range="225-315" />
<Limit name="measured-frame-rate-640x360" range="76-105" />
<Limit name="measured-frame-rate-1280x720" range="26-32" />
<Limit name="measured-frame-rate-1920x1080" range="19-26" />
</MediaCodec>
<MediaCodec name="c2.android.vp9.encoder" type="video/x-vnd.on2.vp9" update="true">
<!-- measured 93%:99-156 med:109/109 N=24 -->
<Limit name="measured-frame-rate-320x180" range="109-109" /> <!-- v93%=1.3 -->
<!-- measured 95%:54-67 med:61/61 N=36 -->
<Limit name="measured-frame-rate-640x360" range="61-61" /> <!-- v95%=1.1 -->
<!-- measured 95%:16-26 med:20/20 N=32 -->
<Limit name="measured-frame-rate-1280x720" range="20-20" /> <!-- v95%=1.3 -->
</MediaCodec>
</Encoders>
</MediaCodecs>

View File

@ -0,0 +1,151 @@
<?xml version="1.0" encoding="utf-8" ?>
<!--
Copyright (c) 2018-2020 Qualcomm Technologies, Inc.
All Rights Reserved.
Confidential and Proprietary - Qualcomm Technologies, Inc.
Not a Contribution.
Copyright (C) 2012-2017 The Linux Foundation. All rights reserved.
Copyright (C) 2012-2013 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<MediaCodecs>
<Decoders>
<!-- C2 HW decoders -->
<MediaCodec name="c2.qti.avc.decoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="480-510" />
<Limit name="measured-frame-rate-720x480" range="460-490" />
<Limit name="measured-frame-rate-1280x720" range="350-400" />
<Limit name="measured-frame-rate-1920x1088" range="73-73" />
</MediaCodec>
<MediaCodec name="c2.qti.avc.decoder.low_latency" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="296-641" />
<Limit name="measured-frame-rate-720x480" range="278-594" />
<Limit name="measured-frame-rate-1280x720" range="200-420" />
<Limit name="measured-frame-rate-1920x1080" range="76-167" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.decoder" type="video/hevc" update="true">
<Limit name="measured-frame-rate-352x288" range="510-530" />
<Limit name="measured-frame-rate-640x360" range="255-262" />
<Limit name="measured-frame-rate-720x480" range="465-620" />
<Limit name="measured-frame-rate-1280x720" range="200-390" />
<Limit name="measured-frame-rate-1920x1080" range="83-83" />
<Limit name="measured-frame-rate-3840x2160" range="65-75" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.decoder.low_latency" type="video/hevc" update="true">
<Limit name="measured-frame-rate-352x288" range="262-262" />
<Limit name="measured-frame-rate-640x360" range="258-261" />
<Limit name="measured-frame-rate-720x480" range="440-600" />
<Limit name="measured-frame-rate-1280x720" range="215-425" />
<Limit name="measured-frame-rate-1920x1080" range="118-259" />
<Limit name="measured-frame-rate-3840x2160" range="30-66" />
</MediaCodec>
<MediaCodec name="c2.qti.vp9.decoder" type="video/x-vnd.on2.vp9" update="true">
<Limit name="measured-frame-rate-320x240" range="377-377" />
<Limit name="measured-frame-rate-640x360" range="486-751" />
<Limit name="measured-frame-rate-1280x720" range="262-262" />
<Limit name="measured-frame-rate-1920x1080" range="86-86" />
<Limit name="measured-frame-rate-3840x2160" range="51-51" />
</MediaCodec>
<!-- TODO: add C2 mpeg2 decoder performance data -->
<!-- C2 SW codecs -->
<MediaCodec name="c2.android.avc.decoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="115-169" />
<Limit name="measured-frame-rate-720x480" range="40-60" />
<Limit name="measured-frame-rate-1280x720" range="17-24" />
<Limit name="measured-frame-rate-1920x1080" range="10-13" />
</MediaCodec>
<MediaCodec name="c2.android.hevc.decoder" type="video/hevc" update="true">
<Limit name="measured-frame-rate-352x288" range="128-178" />
<Limit name="measured-frame-rate-640x360" range="84-96" />
<Limit name="measured-frame-rate-720x480" range="66-94" />
<Limit name="measured-frame-rate-1280x720" range="47-74" />
<Limit name="measured-frame-rate-1920x1080" range="29-43" />
</MediaCodec>
<MediaCodec name="c2.android.vp8.decoder" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x180" range="310-690" />
<Limit name="measured-frame-rate-640x360" range="233-321" />
<Limit name="measured-frame-rate-1280x720" range="64-91" />
<Limit name="measured-frame-rate-1920x1080" range="22-33" />
</MediaCodec>
<MediaCodec name="c2.android.vp9.decoder" type="video/x-vnd.on2.vp9" update="true">
<Limit name="measured-frame-rate-320x180" range="234-450" />
<Limit name="measured-frame-rate-640x360" range="203-330" />
<Limit name="measured-frame-rate-1280x720" range="34-49" />
<Limit name="measured-frame-rate-1920x1080" range="20-31" />
</MediaCodec>
<MediaCodec name="c2.android.h263.decoder" type="video/3gpp" update="true">
<Limit name="measured-frame-rate-176x144" range="450-850" />
<Limit name="measured-frame-rate-352x288" range="650-780" />
</MediaCodec>
<MediaCodec name="c2.android.mpeg4.decoder" type="video/mp4v-es" update="true">
<Limit name="measured-frame-rate-176x144" range="1917-2243" />
</MediaCodec>
</Decoders>
<Encoders>
<!-- C2 HW encoders -->
<MediaCodec name="c2.qti.avc.encoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="337-452" />
<Limit name="measured-frame-rate-720x480" range="182-312" />
<Limit name="measured-frame-rate-1280x720" range="66-94" />
<Limit name="measured-frame-rate-1920x1080" range="55-65" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.encoder" type="video/hevc" update="true">
<Limit name="measured-frame-rate-320x240" range="332-443" />
<Limit name="measured-frame-rate-720x480" range="194-317" />
<Limit name="measured-frame-rate-1280x720" range="65-94" />
<Limit name="measured-frame-rate-1920x1080" range="55-65" />
<Limit name="measured-frame-rate-3840x2160" range="20-27" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.encoder.cq" type="video/hevc" update="true">
<Limit name="measured-frame-rate-320x240" range="340-400" />
</MediaCodec>
<!-- C2 SW encoders -->
<MediaCodec name="c2.android.h263.encoder" type="video/3gpp" update="true">
<Limit name="measured-frame-rate-176x144" range="523-746" />
</MediaCodec>
<MediaCodec name="c2.android.avc.encoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="167-248" />
<Limit name="measured-frame-rate-720x480" range="62-90" />
<Limit name="measured-frame-rate-1280x720" range="48-56" />
<Limit name="measured-frame-rate-1920x1080" range="24-34" />
</MediaCodec>
<MediaCodec name="c2.android.hevc.encoder" type="video/hevc" update="true">
<Limit name="measured-frame-rate-320x240" range="28-40" />
<Limit name="measured-frame-rate-720x480" range="10-16" />
</MediaCodec>
<MediaCodec name="c2.android.mpeg4.encoder" type="video/mp4v-es" update="true">
<Limit name="measured-frame-rate-176x144" range="315-379" />
</MediaCodec>
<MediaCodec name="c2.android.vp8.encoder" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x180" range="104-156" />
<Limit name="measured-frame-rate-640x360" range="76-105" />
<Limit name="measured-frame-rate-1280x720" range="26-32" />
<Limit name="measured-frame-rate-1920x1080" range="19-26" />
</MediaCodec>
<MediaCodec name="c2.android.vp9.encoder" type="video/x-vnd.on2.vp9" update="true">
<!-- measured 93%:99-156 med:109/109 N=24 -->
<Limit name="measured-frame-rate-320x180" range="109-109" /> <!-- v93%=1.3 -->
<!-- measured 95%:54-67 med:61/61 N=36 -->
<Limit name="measured-frame-rate-640x360" range="61-61" /> <!-- v95%=1.1 -->
<!-- measured 95%:16-26 med:20/20 N=32 -->
<Limit name="measured-frame-rate-1280x720" range="20-20" /> <!-- v95%=1.3 -->
</MediaCodec>
</Encoders>
</MediaCodecs>

View File

@ -1,23 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright (C) 2015-2020 The Linux Foundation. All rights reserved.
Not a contribution.
Copyright (C) 2012 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<Included>
<Decoders>
<MediaCodec name="OMX.google.opus.decoder" type="audio/opus" update="true" rank="100"/>
<!-- SimpleOMXComponet based software decoder-->
</Decoders>
</Included>

View File

@ -0,0 +1,283 @@
<?xml version="1.0" encoding="utf-8" ?>
<!--
Copyright (c) 2018-2021 Qualcomm Technologies, Inc.
All Rights Reserved.
Confidential and Proprietary - Qualcomm Technologies, Inc.
Not a Contribution.
Copyright (C) 2012-2018 The Linux Foundation. All rights reserved.
Copyright (C) 2012-2013 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!--
"performance-point"
Vendor-guaranteed performance advertised to the applications
<Limit name="performance-point-widthxheight" value="fps" />
-For each of the resolutions, the advertised fps is the max supported,
with HW-friendly color format and considering video-only.
-Performance for any intermediate resolution will be that of the
next-higher-advertised-resolution.
standard sizes: 480p/576p (SD), 720p (HD), 1080p (FHD), 2160p (UHD)
standard frame rates: 24, 25, 30, 48+, 50, 60, 100*, 120*, 200*, 240* fps
* HD+ only
+ SD only
- All supported standard performance points are listed (unless they are
covered by another listed standard performance point)
- Non-standard performance points are listed along with all the standard
performance points covered by them.
-->
<!--
Yupik Non-Secure decoder capabilities
(MB is defined as 16x16)
_____________________________________________________
| Codec | W H fps Mbps MB/s |
|_____________|_______________________________________|
| h264 | 4096 2176 60 100 2088960 |
| hevc | 4096 2176 60 100 2088960 |
| vp9 | 4096 2176 60 100 2088960 |
| mpeg2 | 1920 1088 30 40 244800 |
|_____________|_______________________________________|
Yupik Secure decoder capabilities
(MB is defined as 16x16)
_________________________________________________
| Codec | W H fps Mbps MB/s |
|__________|_____________________________________|
| h264 | 4096 2176 60 40 2088960 |
| vp9 | 4096 2176 60 40 2088960 |
| hevc | 4096 2176 60 40 2088960 |
|__________|_____________________________________|
Yupik Non-Secure encoder capabilities (Secure not supported)
(MB is defined as 16x16)
__________________________________________________
| Codec | W H fps Mbps MB/s |
|__________|______________________________________|
| h264 | 4096 2176 30 100 1044480 |
| hevc | 4096 2176 30 100 1044480 |
|__________|______________________________________|
-->
<MediaCodecs>
<Include href="media_codecs_google_audio.xml" />
<Include href="media_codecs_vendor_audio.xml" />
<Include href="media_codecs_google_telephony.xml" />
<Settings>
<Setting name="max-video-encoder-input-buffers" value="11" />
</Settings>
<Decoders>
<!-- C2 decoders -->
<MediaCodec name="c2.qti.avc.decoder" type="video/avc">
<Alias name="OMX.qcom.video.decoder.avc"/>
<Limit name="size" min="96x96" max="4096x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="36-34816" />
<Limit name="blocks-per-second" range="36-2088960" />
<Limit name="bitrate" range="1-100000000" />
<Limit name="frame-rate" range="1-480" />
<Limit name="concurrent-instances" max="16" />
<Feature name="adaptive-playback" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-1920x1080" value="240" />
<Limit name="performance-point-1280x720" value="480" />
</MediaCodec>
<MediaCodec name="c2.qti.avc.decoder.low_latency" type="video/avc">
<Alias name="OMX.qcom.video.decoder.avc.low_latency"/>
<Limit name="size" min="96x96" max="4096x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="36-34816" />
<Limit name="blocks-per-second" range="36-2088960" />
<Limit name="bitrate" range="1-70000000" />
<Limit name="frame-rate" range="1-480" />
<Limit name="concurrent-instances" max="16" />
<Feature name="adaptive-playback" />
<Feature name="low-latency" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-1920x1080" value="240" />
<Limit name="performance-point-1280x720" value="480" />
</MediaCodec>
<MediaCodec name="c2.qti.avc.decoder.secure" type="video/avc" >
<Alias name="OMX.qcom.video.decoder.avc.secure"/>
<Limit name="size" min="96x96" max="4096x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="36-34816" />
<Limit name="blocks-per-second" min="36" max="2088960" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-60" />
<Feature name="adaptive-playback" />
<Feature name="secure-playback" required="true" />
<Feature name="low-latency" />
<Limit name="concurrent-instances" max="3" />
<Limit name="performance-point-3840x2160" value="60" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.decoder" type="video/hevc" >
<Alias name="OMX.qcom.video.decoder.hevc"/>
<Limit name="size" min="96x96" max="4096x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="36-34816" />
<Limit name="blocks-per-second" min="36" max="2088960" />
<Limit name="bitrate" range="1-100000000" />
<Limit name="frame-rate" range="1-480" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-1920x1080" value="240" />
<Limit name="performance-point-1280x720" value="480" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.decoder.low_latency" type="video/hevc" >
<Alias name="OMX.qcom.video.decoder.hevc.low_latency"/>
<Limit name="size" min="96x96" max="4096x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="36-34816" />
<Limit name="blocks-per-second" min="36" max="2088960" />
<Limit name="bitrate" range="1-70000000" />
<Limit name="frame-rate" range="1-480" />
<Feature name="adaptive-playback" />
<Feature name="low-latency" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-1920x1080" value="240" />
<Limit name="performance-point-1280x720" value="480" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.decoder.secure" type="video/hevc" >
<Alias name="OMX.qcom.video.decoder.hevc.secure"/>
<Limit name="size" min="96x96" max="4096x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="36-34816" />
<Limit name="blocks-per-second" min="36" max="2088960" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-60" />
<Feature name="adaptive-playback" />
<Feature name="secure-playback" required="true" />
<Feature name="low-latency" />
<Limit name="concurrent-instances" max="3" />
<Limit name="performance-point-3840x2160" value="60" />
</MediaCodec>
<MediaCodec name="c2.qti.vp9.decoder" type="video/x-vnd.on2.vp9" >
<Alias name="OMX.qcom.video.decoder.vp9"/>
<Limit name="size" min="96x96" max="4096x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="36-34816" />
<Limit name="blocks-per-second" min="36" max="2088960" />
<Limit name="bitrate" range="1-100000000" />
<Limit name="frame-rate" range="1-60" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="3" />
<Limit name="performance-point-3840x2160" value="60" />
</MediaCodec>
<MediaCodec name="c2.qti.vp9.decoder.secure" type="video/x-vnd.on2.vp9" >
<Alias name="OMX.qcom.video.decoder.vp9.secure"/>
<Limit name="size" min="96x96" max="4096x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="36-34816" />
<Limit name="blocks-per-second" min="36" max="2088960" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-60" />
<Feature name="adaptive-playback" />
<Feature name="secure-playback" required="true" />
<Limit name="concurrent-instances" max="3" />
<Limit name="performance-point-3840x2160" value="60" />
</MediaCodec>
<MediaCodec name="c2.qti.mpeg2.decoder" type="video/mpeg2" >
<Alias name="OMX.qcom.video.decoder.mpeg2"/>
<Limit name="size" min="96x96" max="1920x1088" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="36-8160" />
<Limit name="blocks-per-second" min="36" max="244800" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-30" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-1920x1080" value="30" />
</MediaCodec>
</Decoders>
<Encoders>
<!-- C2 encoders -->
<MediaCodec name="c2.qti.avc.encoder" type="video/avc">
<Alias name="OMX.qcom.video.encoder.avc"/>
<Limit name="size" min="128x128" max="4096x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="64" max="1044480" />
<Limit name="block-count" range="64-34816" />
<Limit name="bitrate" range="1-100000000" />
<Limit name="frame-rate" range="1-240" />
<Limit name="concurrent-instances" max="16" />
<Feature name="intra-refresh" />
<Feature name="bitrate-modes" value="VBR,CBR" />
<Limit name="performance-point-3840x2160" value="30" />
<Limit name="performance-point-1920x1080" value="120" />
<Limit name="performance-point-1280x720" value="240" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.encoder" type="video/hevc">
<Alias name="OMX.qcom.video.encoder.hevc"/>
<Limit name="size" min="128x128" max="4096x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="64" max="1044480" />
<Limit name="block-count" range="64-34816" />
<Limit name="bitrate" range="1-100000000" />
<Limit name="frame-rate" range="1-240" />
<Limit name="concurrent-instances" max="16" />
<Feature name="bitrate-modes" value="VBR,CBR" />
<Feature name="intra-refresh" />
<Limit name="performance-point-3840x2160" value="30" />
<Limit name="performance-point-1920x1080" value="120" />
<Limit name="performance-point-1280x720" value="240" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.encoder.cq" type="video/hevc">
<Alias name="OMX.qcom.video.encoder.hevc.cq"/>
<Limit name="size" min="128x128" max="512x512" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="64" max="20480" />
<Limit name="bitrate" range="1-100000000" />
<Limit name="frame-rate" range="1-20" />
<Limit name="concurrent-instances" max="16" />
<Limit name="quality" range="0-100" default="80" />
<Feature name="bitrate-modes" value="CQ" />
<Limit name="performance-point-512x512" value="2025" />
</MediaCodec>
<MediaCodec name="c2.qti.heic.encoder" type="image/vnd.android.heic">
<Alias name="OMX.qcom.video.encoder.heic"/>
<Limit name="size" min="512x512" max="16384x16384" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="64" max="3916800" />
<Limit name="bitrate" range="1-100000000" />
<Limit name="frame-rate" range="1-20" />
<Limit name="concurrent-instances" max="16" />
<Limit name="quality" range="0-100" default="80" />
<Feature name="bitrate-modes" value="CQ" />
<Limit name="performance-point-16384x8192" value="3" />
<Limit name="performance-point-1920x1080" value="6" />
</MediaCodec>
</Encoders>
<Include href="media_codecs_google_c2.xml" />
</MediaCodecs>

View File

@ -0,0 +1,100 @@
<?xml version="1.0" encoding="utf-8" ?>
<!--
Copyright (c) 2018-2021 Qualcomm Technologies, Inc.
All Rights Reserved.
Confidential and Proprietary - Qualcomm Technologies, Inc.
Not a Contribution.
Copyright (C) 2012-2018 The Linux Foundation. All rights reserved.
Copyright (C) 2012-2013 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!--
"performance-point"
Vendor-guaranteed performance advertised to the applications
<Limit name="performance-point-widthxheight" value="fps" />
-For each of the resolutions, the advertised fps is the max supported,
with HW-friendly color format and considering video-only.
-Performance for any intermediate resolution will be that of the
next-higher-advertised-resolution.
standard sizes: 480p/576p (SD), 720p (HD), 1080p (FHD), 2160p (UHD)
standard frame rates: 24, 25, 30, 48+, 50, 60, 100*, 120*, 200*, 240* fps
* HD+ only
+ SD only
- All supported standard performance points are listed (unless they are
covered by another listed standard performance point)
- Non-standard performance points are listed along with all the standard
performance points covered by them.
-->
<!--
Lahaina Non-Secure decoder capabilities
(MB is defined as 16x16)
_______________________________________________________
| Codec | W H fps Mbps MB/s |
|_____________|_______________________________________|
| h264 | 3840 2176 60 100 1958400 |
| | 4096 2176 48 100 |
| hevc | 3840 2176 60 100 1958400 |
| | 4096 2176 48 100 |
| vp9 | 3840 2176 60 100 1958400 |
| | 4096 2176 48 100 |
| mpeg2 | 1920 1088 30 40 244800 |
|_____________|_______________________________________|
Lahaina Secure decoder capabilities
(MB is defined as 16x16)
__________________________________________________
| Codec | W H fps Mbps MB/s |
|__________|_____________________________________|
| h264 | 3840 2176 60 40 1958400 |
| | 4096 2176 48 40 |
| vp9 | 3840 2176 60 40 1958400 |
| | 4096 2176 48 40 |
| hevc | 3840 2176 60 40 1958400 |
| | 4096 2176 48 40 |
|__________|_____________________________________|
Lahaina Non-Secure encoder capabilities (Secure not supported)
(MB is defined as 16x16)
__________________________________________________
| Codec | W H fps Mbps MB/s |
|__________|_____________________________________|
| h264 | 3840 2176 60 100 1958400 |
| | 4096 2176 48 100 |
| hevc | 3840 2176 60 100 1958400 |
| | 4096 2176 48 100 |
|__________|_____________________________________|
-->
<!--
1) media_codecs.xml is used omx, C2 is copied to the media_codecs_c2.xml
2) media_codecs_google_audio|video|c2.xml are removed, and instead of c2 from
/apex/com.android.media.swcodec/etc/media_codecs.xml
3) media_codecs_google_telephony.xml is removed,it is copyed to media_codecs_c2.xml
The replacement file is media_codecs_google_c2_telephony.xml
ref frameworks/av/media/libstagefright/data/media_codecs_google_c2_telephony.xml
-->
<MediaCodecs>
<!--
<Include href="media_codecs_google_audio.xml" />
<Include href="media_codecs_google_video.xml" />
<Include href="media_codecs_google_c2.xml" />
<Include href="media_codecs_google_telephony.xml" />
-->
</MediaCodecs>

View File

@ -0,0 +1,511 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (c) 2020 Qualcomm Technologies, Inc.
All Rights Reserved.
Confidential and Proprietary - Qualcomm Technologies, Inc.
Not a contribution.
Copyright (C) 2012-2019 The Linux Foundation. All rights reserved.
Copyright (C) 2010 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!DOCTYPE MediaSettings [
<!ELEMENT MediaSettings (CamcorderProfiles,
EncoderOutputFileFormat+,
VideoEncoderCap+,
AudioEncoderCap+,
VideoDecoderCap,
AudioDecoderCap)>
<!ELEMENT CamcorderProfiles (EncoderProfile+, ImageEncoding+, ImageDecoding, Camera)>
<!ELEMENT EncoderProfile (Video, Audio)>
<!ATTLIST EncoderProfile quality (high|low) #REQUIRED>
<!ATTLIST EncoderProfile fileFormat (mp4|3gp) #REQUIRED>
<!ATTLIST EncoderProfile duration (30|60) #REQUIRED>
<!ATTLIST EncoderProfile cameraId (0|1|2|3) #REQUIRED>
<!ELEMENT Video EMPTY>
<!ATTLIST Video codec (h264|h263|m4v) #REQUIRED>
<!ATTLIST Video bitRate CDATA #REQUIRED>
<!ATTLIST Video width CDATA #REQUIRED>
<!ATTLIST Video height CDATA #REQUIRED>
<!ATTLIST Video frameRate CDATA #REQUIRED>
<!ELEMENT Audio EMPTY>
<!ATTLIST Audio codec (amrnb|amrwb|aac|lpcm) #REQUIRED>
<!ATTLIST Audio bitRate CDATA #REQUIRED>
<!ATTLIST Audio sampleRate CDATA #REQUIRED>
<!ATTLIST Audio channels (1|2|6) #REQUIRED>
<!ELEMENT ImageEncoding EMPTY>
<!ATTLIST ImageEncoding quality (90|80|70|60|50|40) #REQUIRED>
<!ELEMENT ImageDecoding EMPTY>
<!ATTLIST ImageDecoding memCap CDATA #REQUIRED>
<!ELEMENT Camera EMPTY>
<!ELEMENT EncoderOutputFileFormat EMPTY>
<!ATTLIST EncoderOutputFileFormat name (mp4|3gp) #REQUIRED>
<!ELEMENT VideoEncoderCap EMPTY>
<!ATTLIST VideoEncoderCap name (hevc|h264|h263|m4v|wmv) #REQUIRED>
<!ATTLIST VideoEncoderCap enabled (true|false) #REQUIRED>
<!ATTLIST VideoEncoderCap minBitRate CDATA #REQUIRED>
<!ATTLIST VideoEncoderCap maxBitRate CDATA #REQUIRED>
<!ATTLIST VideoEncoderCap minFrameWidth CDATA #REQUIRED>
<!ATTLIST VideoEncoderCap maxFrameWidth CDATA #REQUIRED>
<!ATTLIST VideoEncoderCap minFrameHeight CDATA #REQUIRED>
<!ATTLIST VideoEncoderCap maxFrameHeight CDATA #REQUIRED>
<!ATTLIST VideoEncoderCap minFrameRate CDATA #REQUIRED>
<!ATTLIST VideoEncoderCap maxFrameRate CDATA #REQUIRED>
<!ATTLIST VideoEncoderCap maxHFRFrameWidth CDATA #REQUIRED>
<!ATTLIST VideoEncoderCap maxHFRFrameHeight CDATA #REQUIRED>
<!ATTLIST VideoEncoderCap maxHFRMode CDATA #REQUIRED>
<!ELEMENT AudioEncoderCap EMPTY>
<!ATTLIST AudioEncoderCap name (amrnb|amrwb|aac|wma|lpcm) #REQUIRED>
<!ATTLIST AudioEncoderCap enabled (true|false) #REQUIRED>
<!ATTLIST AudioEncoderCap minBitRate CDATA #REQUIRED>
<!ATTLIST AudioEncoderCap maxBitRate CDATA #REQUIRED>
<!ATTLIST AudioEncoderCap minSampleRate CDATA #REQUIRED>
<!ATTLIST AudioEncoderCap maxSampleRate CDATA #REQUIRED>
<!ATTLIST AudioEncoderCap minChannels (1|2|6) #REQUIRED>
<!ATTLIST AudioEncoderCap maxChannels (1|2|6) #REQUIRED>
<!ELEMENT VideoDecoderCap EMPTY>
<!ATTLIST VideoDecoderCap name (wmv) #REQUIRED>
<!ATTLIST VideoDecoderCap enabled (true|false) #REQUIRED>
<!ELEMENT AudioDecoderCap EMPTY>
<!ATTLIST AudioDecoderCap name (wma) #REQUIRED>
<!ATTLIST AudioDecoderCap enabled (true|false) #REQUIRED>
<!ELEMENT VideoEditorCap EMPTY>
<!ATTLIST VideoEditorCap maxInputFrameWidth CDATA #REQUIRED>
<!ATTLIST VideoEditorCap maxInputFrameHeight CDATA #REQUIRED>
<!ATTLIST VideoEditorCap maxOutputFrameWidth CDATA #REQUIRED>
<!ATTLIST VideoEditorCap maxOutputFrameHeight CDATA #REQUIRED>
<!ATTLIST VideoEditorCap maxPrefetchYUVFrames CDATA #REQUIRED>
<!ELEMENT ExportVideoProfile EMPTY>
<!ATTLIST ExportVideoProfile name (h264|h263|m4v) #REQUIRED>
<!ATTLIST ExportVideoProfile profile CDATA #REQUIRED>
<!ATTLIST ExportVideoProfile level CDATA #REQUIRED>
]>
<!--
This file is used to declare the multimedia profiles and capabilities
on an android-powered device.
-->
<MediaSettings>
<!-- Each camcorder profile defines a set of predefined configuration parameters -->
<!-- Back Camera -->
<CamcorderProfiles cameraId="0">
<!-- low: 176 x 144 30fps -->
<EncoderProfile quality="low" fileFormat="3gp" duration="60">
<Video codec="h264"
bitRate="128000"
width="176"
height="144"
frameRate="30" />
<Audio codec="amrnb"
bitRate="12200"
sampleRate="8000"
channels="1" />
</EncoderProfile>
<!-- high: 1920 x 1080 30fps -->
<EncoderProfile quality="high" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="20000000"
width="1920"
height="1080"
frameRate="30" />
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<!-- qcif: 176 x 144 30fps -->
<EncoderProfile quality="qcif" fileFormat="3gp" duration="60">
<Video codec="h264"
bitRate="128000"
width="176"
height="144"
frameRate="30" />
<Audio codec="amrnb"
bitRate="12200"
sampleRate="8000"
channels="1" />
</EncoderProfile>
<!-- qvga: 320 x 240 30fps -->
<EncoderProfile quality="qvga" fileFormat="mp4" duration="60">
<Video codec="h264"
bitRate="512000"
width="320"
height="240"
frameRate="30" />
<Audio codec="aac"
bitRate="156000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<!-- cif: 352 x 288 30fps -->
<EncoderProfile quality="cif" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="1200000"
width="352"
height="288"
frameRate="30" />
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<!-- 480p: 720 x 480 30fps -->
<EncoderProfile quality="480p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="2000000"
width="720"
height="480"
frameRate="30" />
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<!-- 720p: 1280 x 720 60fps -->
<EncoderProfile quality="720p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="14000000"
width="1280"
height="720"
frameRate="30" />
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<!-- 1080p: 1920 x 1080 30fps -->
<EncoderProfile quality="1080p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="20000000"
width="1920"
height="1080"
frameRate="30" />
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<!-- timelapse_qcif: 176 x 144 30fps -->
<EncoderProfile quality="timelapseqcif" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="192000"
width="176"
height="144"
frameRate="30" />
<!-- audio setting is ignored -->
<Audio codec="amrnb"
bitRate="12200"
sampleRate="8000"
channels="1" />
</EncoderProfile>
<!-- timelapse_cif: 352 x 288 30fps -->
<EncoderProfile quality="timelapsecif" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="720000"
width="352"
height="288"
frameRate="30" />
<!-- audio setting is ignored -->
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<!-- timelapse_480p: 640 x 480 30fps -->
<EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="2000000"
width="640"
height="480"
frameRate="30" />
<!-- audio setting is ignored -->
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<!-- timelapse_720p: 1280 x 720 30fps -->
<EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="12000000"
width="1280"
height="720"
frameRate="30" />
<!-- audio setting is ignored -->
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<!-- timelapse_1080p: 1920 x 1080 30fps -->
<EncoderProfile quality="timelapse1080p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="17000000"
width="1920"
height="1080"
frameRate="30" />
<!-- audio setting is ignored -->
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<ImageEncoding quality="95" />
<ImageEncoding quality="80" />
<ImageEncoding quality="70" />
<ImageDecoding memCap="20000000" />
</CamcorderProfiles>
<!-- Front Camera -->
<CamcorderProfiles cameraId="1">
<!-- low: 176 x 144 30fps -->
<EncoderProfile quality="low" fileFormat="3gp" duration="60">
<Video codec="h264"
bitRate="128000"
width="176"
height="144"
frameRate="30" />
<Audio codec="amrnb"
bitRate="12200"
sampleRate="8000"
channels="1" />
</EncoderProfile>
<!-- high: 1920 x 1080 30fps -->
<EncoderProfile quality="high" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="20000000"
width="1920"
height="1080"
frameRate="30" />
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<!-- qcif: 176 x 144 30fps -->
<EncoderProfile quality="qcif" fileFormat="3gp" duration="60">
<Video codec="h264"
bitRate="128000"
width="176"
height="144"
frameRate="30" />
<Audio codec="amrnb"
bitRate="12200"
sampleRate="8000"
channels="1" />
</EncoderProfile>
<!-- qvga: 320 x 240 30fps -->
<EncoderProfile quality="qvga" fileFormat="mp4" duration="60">
<Video codec="h264"
bitRate="512000"
width="320"
height="240"
frameRate="30" />
<Audio codec="aac"
bitRate="156000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<!-- cif: 352 x 288 30fps -->
<EncoderProfile quality="cif" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="720000"
width="352"
height="288"
frameRate="30" />
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<!-- 480p: 720 x 480 30fps -->
<EncoderProfile quality="480p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="2000000"
width="720"
height="480"
frameRate="30" />
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<!-- 720p: 1280 x 720 30fps -->
<EncoderProfile quality="720p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="12000000"
width="1280"
height="720"
frameRate="30" />
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<!-- 1080p: 1920 x 1080 30fps -->
<EncoderProfile quality="1080p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="20000000"
width="1920"
height="1080"
frameRate="30" />
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<!-- timelapse_qcif: 176 x 144 30fps -->
<EncoderProfile quality="timelapseqcif" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="192000"
width="176"
height="144"
frameRate="30" />
<!-- audio setting is ignored -->
<Audio codec="amrnb"
bitRate="12200"
sampleRate="8000"
channels="1" />
</EncoderProfile>
<!-- timelapse_cif: 352 x 288 30fps -->
<EncoderProfile quality="timelapsecif" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="1200000"
width="352"
height="288"
frameRate="30" />
<!-- audio setting is ignored -->
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<!-- timelapse_480p: 720 x 480 30fps -->
<EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="5000000"
width="720"
height="480"
frameRate="30" />
<!-- audio setting is ignored -->
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<!-- timelapse_720p: 1280 x 720 30fps -->
<EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="8000000"
width="1280"
height="720"
frameRate="30" />
<!-- audio setting is ignored -->
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<ImageEncoding quality="95" />
<ImageEncoding quality="80" />
<ImageEncoding quality="70" />
<ImageDecoding memCap="20000000" />
</CamcorderProfiles>
<EncoderOutputFileFormat name="3gp" />
<EncoderOutputFileFormat name="mp4" />
<!--
If a codec is not enabled, it is invisible to the applications
In other words, the applications won't be able to use the codec
or query the capabilities of the codec at all if it is disabled
-->
<VideoEncoderCap name="hevc" enabled="true"
minBitRate="64000" maxBitRate="60000000"
minFrameWidth="176" maxFrameWidth="1920"
minFrameHeight="144" maxFrameHeight="1080"
minFrameRate="15" maxFrameRate="30" />
<VideoEncoderCap name="h264" enabled="true"
minBitRate="64000" maxBitRate="60000000"
minFrameWidth="176" maxFrameWidth="1920"
minFrameHeight="144" maxFrameHeight="1080"
minFrameRate="15" maxFrameRate="30" />
<AudioEncoderCap name="aac" enabled="true"
minBitRate="758" maxBitRate="288000"
minSampleRate="8000" maxSampleRate="48000"
minChannels="1" maxChannels="2" />
<AudioEncoderCap name="heaac" enabled="true"
minBitRate="8000" maxBitRate="64000"
minSampleRate="16000" maxSampleRate="48000"
minChannels="1" maxChannels="2" />
<AudioEncoderCap name="aaceld" enabled="true"
minBitRate="16000" maxBitRate="192000"
minSampleRate="16000" maxSampleRate="48000"
minChannels="1" maxChannels="2" />
<AudioEncoderCap name="amrwb" enabled="true"
minBitRate="6600" maxBitRate="23050"
minSampleRate="16000" maxSampleRate="16000"
minChannels="1" maxChannels="1" />
<AudioEncoderCap name="amrnb" enabled="true"
minBitRate="5525" maxBitRate="12200"
minSampleRate="8000" maxSampleRate="8000"
minChannels="1" maxChannels="1" />
<!--
FIXME:
We do not check decoder capabilities at present
At present, we only check whether windows media is visible
for TEST applications. For other applications, we do
not perform any checks at all.
-->
<VideoDecoderCap name="wmv" enabled="false"/>
<AudioDecoderCap name="wma" enabled="false"/>
</MediaSettings>

View File

@ -1,2 +1,2 @@
# Audio # Audio
audio.record.delay=60 audio.record.delay=50

View File

@ -3,50 +3,103 @@
# ADSP # ADSP
vendor/bin/adsprpcd vendor/bin/adsprpcd
vendor/bin/dspservice vendor/bin/dspservice
vendor/etc/init/vendor.qti.adsprpc-service.rc vendor/bin/loadalgo
vendor/etc/init/vendor.qti.adsprpc-guestos-service.rc
vendor/etc/init/vendor.qti.hardware.dsp@1.0-service.rc vendor/etc/init/vendor.qti.hardware.dsp@1.0-service.rc
vendor/etc/seccomp_policy/vendor.qti.hardware.dsp.policy vendor/etc/seccomp_policy/vendor.qti.hardware.dsp.policy
vendor/lib/vendor.qti.hardware.dsp@1.0.so vendor/lib/vendor.qti.hardware.dsp@1.0.so
vendor/lib64/libadsp_default_listener.so vendor/lib64/libadsp_default_listener.so
vendor/lib64/libadspd.so vendor/lib64/libloadalgo_stub.so
vendor/lib64/libadsprpc.so
vendor/lib64/vendor.qti.hardware.dsp@1.0.so vendor/lib64/vendor.qti.hardware.dsp@1.0.so
# ADSP modules # ADSP modules
vendor/lib/rfsa/adsp/bm2n06.bin
vendor/lib/rfsa/adsp/bm2n08.bin
vendor/lib/rfsa/adsp/bm2n13.bin
vendor/lib/rfsa/adsp/bm2n14.bin
vendor/lib/rfsa/adsp/bm2n15.bin
vendor/lib/rfsa/adsp/capi_v2_aptX_CLHDADV_Encoder.so vendor/lib/rfsa/adsp/capi_v2_aptX_CLHDADV_Encoder.so
vendor/lib/rfsa/adsp/capi_v2_aptX_CLHDAD_Speech_Decoder.so vendor/lib/rfsa/adsp/capi_v2_aptX_CLHDAD_Speech_Decoder.so
vendor/lib/rfsa/adsp/libQ6MSFR_manager_skel.so
vendor/lib/rfsa/adsp/libQnnHtpAltPrepSkel.so
vendor/lib/rfsa/adsp/libSuperSensor_skel.so vendor/lib/rfsa/adsp/libSuperSensor_skel.so
vendor/lib/rfsa/adsp/libVppAisQnnHtp.so
vendor/lib/rfsa/adsp/libVppFrcQnnHtp.so
vendor/lib/rfsa/adsp/libVppQnnHtp.so
vendor/lib/rfsa/adsp/libadsp_jpege_skel.so
vendor/lib/rfsa/adsp/libapps_mem_heap.so vendor/lib/rfsa/adsp/libapps_mem_heap.so
vendor/lib/rfsa/adsp/libbitml_nsp_skel.so vendor/lib/rfsa/adsp/libbitml_nsp_skel.so
vendor/lib/rfsa/adsp/libbitml_nsp_v2_skel.so
vendor/lib/rfsa/adsp/libcamera_nn_skel.so vendor/lib/rfsa/adsp/libcamera_nn_skel.so
vendor/lib/rfsa/adsp/libcvpdsp_skel.so vendor/lib/rfsa/adsp/libcvpdsp_2_1.so
vendor/lib/rfsa/adsp/libdspCV_skel.so vendor/lib/rfsa/adsp/libdspCV_skel.so
vendor/lib/rfsa/adsp/libdsp_streamer_binning.so vendor/lib/rfsa/adsp/libdsp_streamer_binning.so
vendor/lib/rfsa/adsp/libfastcvadsp.so vendor/lib/rfsa/adsp/libfastcvadsp.so
vendor/lib/rfsa/adsp/libfastcvdsp_skel.so vendor/lib/rfsa/adsp/libfastcvdsp_skel.so
vendor/lib/rfsa/adsp/libhexagon_nn_skel.so vendor/lib/rfsa/adsp/libhdr_skel.so
vendor/lib/rfsa/adsp/libmctfengine_skel.so
vendor/lib/rfsa/adsp/libmobilenet_dsp_frc.so
vendor/lib/rfsa/adsp/libmobilenet_dsp_frc_networks.so
vendor/lib/rfsa/adsp/libscveObjectSegmentation_skel.so vendor/lib/rfsa/adsp/libscveObjectSegmentation_skel.so
vendor/lib/rfsa/adsp/libscveT2T_skel.so vendor/lib/rfsa/adsp/libscveT2T_skel.so
vendor/lib/rfsa/adsp/libsns_device_mode_skel.so vendor/lib/rfsa/adsp/libsns_device_mode_skel.so
vendor/lib/rfsa/adsp/libsns_low_lat_stream_skel.so vendor/lib/rfsa/adsp/libsns_low_lat_stream_skel.so
vendor/lib/rfsa/adsp/libsuper_res_networks.so
vendor/lib/rfsa/adsp/libvpp_ais_networks.so
vendor/lib/rfsa/adsp/libvpt_action_recognition.so
vendor/lib/rfsa/adsp/libworker_pool.so
vendor/lib/rfsa/adsp/tests/libbenchmark_skel.so
vendor/lib/rfsa/adsp/tests/libfastrpc_tests1_skel.so
vendor/lib/rfsa/adsp/tests/libfastrpc_tests_skel.so
vendor/lib/rfsa/adsp/tests/libhap_power_test_skel.so
vendor/lib/rfsa/adsp/tests/librpcperf1_skel.so
vendor/lib/rfsa/adsp/tests/librpcperf_skel.so
vendor/lib/rfsa/adsp/tests/libtest_dl1_skel.so
vendor/lib/rfsa/adsp/tests/libtest_dl_perf1_skel.so
vendor/lib/rfsa/adsp/tests/libtest_dl_perf_skel.so
vendor/lib/rfsa/adsp/tests/libtest_dl_skel.so
vendor/lib/rfsa/adsp/tests/libunsigned_pd_test_skel.so
vendor/lib/rfsa/adsp/tests/test_elf_dep1.so
vendor/lib/rfsa/adsp/tests/test_elf_dep2.so
vendor/lib/rfsa/adsp/tests/test_elf_nop.so
vendor/lib/rfsa/adsp/tests/test_elf_size_128k.so
vendor/lib/rfsa/adsp/tests/test_elf_size_16k.so
vendor/lib/rfsa/adsp/tests/test_elf_size_1MB.so
vendor/lib/rfsa/adsp/tests/test_elf_size_256k.so
vendor/lib/rfsa/adsp/tests/test_elf_size_32k.so
vendor/lib/rfsa/adsp/tests/test_elf_size_512k.so
vendor/lib/rfsa/adsp/tests/test_elf_size_64k.so
vendor/lib/rfsa/adsp/tests/test_elf_size_768k.so
vendor/lib64/rfsa/adsp/libsns_device_mode_skel.so vendor/lib64/rfsa/adsp/libsns_device_mode_skel.so
vendor/lib64/rfsa/adsp/libsns_low_lat_stream_skel.so vendor/lib64/rfsa/adsp/libsns_low_lat_stream_skel.so
# ANT+ # ANT+
system_ext/lib/com.qualcomm.qti.ant@1.0.so system_ext/lib/com.qualcomm.qti.ant@1.0.so
system_ext/lib64/com.qualcomm.qti.ant@1.0.so system_ext/lib64/com.qualcomm.qti.ant@1.0.so
vendor/lib64/hw/com.dsi.ant@1.0-impl.so
# Audio libraries # Audio libraries
vendor/etc/maxx_conf.ini
vendor/etc/maxx_default.mps
vendor/lib/libAndroidAlgSys.so vendor/lib/libAndroidAlgSys.so
vendor/lib/libacdb-fts.so vendor/lib/libacdb-fts.so
vendor/lib/libacdbloader.so vendor/lib/libacdbloader.so
vendor/lib/libacdbrtac.so vendor/lib/libacdbrtac.so
vendor/lib/libadiertac.so vendor/lib/libadiertac.so
vendor/lib/libadm.so vendor/lib/libadm.so
vendor/lib/libadsprpc.so
vendor/lib/libaudcal.so vendor/lib/libaudcal.so
vendor/lib/libc++_shared.so vendor/lib/libc++_shared.so
vendor/lib/libqtigef.so vendor/lib/libqtigef.so
vendor/lib/libwebrtc_audio_preprocessing.so vendor/lib64/libacdb-fts.so
vendor/lib64/libacdbloader.so
vendor/lib64/libacdbrtac.so
vendor/lib64/libadiertac.so
vendor/lib64/libadsprpc.so
vendor/lib64/libaudcal.so
vendor/lib64/libqtigef.so
# Audio - soundfx
vendor/lib/soundfx/libasphere.so vendor/lib/soundfx/libasphere.so
vendor/lib/soundfx/libmaxxeffect-cembedded.so vendor/lib/soundfx/libmaxxeffect-cembedded.so
vendor/lib/soundfx/libmmieffectswrapper.so vendor/lib/soundfx/libmmieffectswrapper.so
@ -55,13 +108,6 @@ vendor/lib/soundfx/libqcreverb.so
vendor/lib/soundfx/libqcvirt.so vendor/lib/soundfx/libqcvirt.so
vendor/lib/soundfx/libshoebox.so vendor/lib/soundfx/libshoebox.so
vendor/lib/soundfx/libspeakerbundle.so vendor/lib/soundfx/libspeakerbundle.so
vendor/lib64/libacdb-fts.so
vendor/lib64/libacdbloader.so
vendor/lib64/libacdbrtac.so
vendor/lib64/libadiertac.so
vendor/lib64/libaudcal.so
vendor/lib64/libqtigef.so
vendor/lib64/libwebrtc_audio_preprocessing.so
vendor/lib64/soundfx/libasphere.so vendor/lib64/soundfx/libasphere.so
vendor/lib64/soundfx/libqcbassboost.so vendor/lib64/soundfx/libqcbassboost.so
vendor/lib64/soundfx/libqcreverb.so vendor/lib64/soundfx/libqcreverb.so
@ -77,6 +123,7 @@ vendor/bin/hw/android.hardware.bluetooth@1.0-service-qti
vendor/etc/init/android.hardware.bluetooth@1.0-service-qti.rc vendor/etc/init/android.hardware.bluetooth@1.0-service-qti.rc
vendor/lib64/hw/android.hardware.bluetooth@1.0-impl-qti.so vendor/lib64/hw/android.hardware.bluetooth@1.0-impl-qti.so
vendor/lib64/libbtnv.so vendor/lib64/libbtnv.so
vendor/lib64/libsoc_helper.so
# Bluetooth (A2DP) # Bluetooth (A2DP)
vendor/lib/hw/audio.bluetooth_qti.default.so vendor/lib/hw/audio.bluetooth_qti.default.so
@ -88,6 +135,8 @@ vendor/lib/btaudio_offload_if.so
vendor/lib/libbluetooth_audio_session_qti.so vendor/lib/libbluetooth_audio_session_qti.so
vendor/lib/vendor.qti.hardware.bluetooth_sar@1.0.so vendor/lib/vendor.qti.hardware.bluetooth_sar@1.0.so
vendor/lib/vendor.qti.hardware.bluetooth_sar@1.1.so vendor/lib/vendor.qti.hardware.bluetooth_sar@1.1.so
vendor/lib/vendor.qti.hardware.btconfigstore@1.0.so
vendor/lib/vendor.qti.hardware.btconfigstore@2.0.so
vendor/lib64/hw/audio.bluetooth_qti.default.so vendor/lib64/hw/audio.bluetooth_qti.default.so
vendor/lib64/hw/vendor.qti.hardware.bluetooth_audio@2.0-impl.so vendor/lib64/hw/vendor.qti.hardware.bluetooth_audio@2.0-impl.so
vendor/lib64/hw/vendor.qti.hardware.bluetooth_sar@1.1-impl.so vendor/lib64/hw/vendor.qti.hardware.bluetooth_sar@1.1-impl.so
@ -97,27 +146,24 @@ vendor/lib64/btaudio_offload_if.so
vendor/lib64/libbluetooth_audio_session_qti.so vendor/lib64/libbluetooth_audio_session_qti.so
vendor/lib64/vendor.qti.hardware.bluetooth_sar@1.0.so vendor/lib64/vendor.qti.hardware.bluetooth_sar@1.0.so
vendor/lib64/vendor.qti.hardware.bluetooth_sar@1.1.so vendor/lib64/vendor.qti.hardware.bluetooth_sar@1.1.so
vendor/lib64/vendor.qti.hardware.btconfigstore@1.0.so
vendor/lib64/vendor.qti.hardware.btconfigstore@2.0.so
# Bluetooth (aptX) - from crosshatch - RQ1A.201205.003 # Bluetooth (aptX)
lib64/libaptX_encoder.so:system_ext/lib64/libaptX_encoder.so|df1c89d7af1bb35808d5fe3496b04ba066c10cbc lib64/libaptX_encoder.so
lib64/libaptXHD_encoder.so:system_ext/lib64/libaptXHD_encoder.so|e13fa70c97caaa24d061678bdee608eb8850a69e lib64/libaptXHD_encoder.so
# CDSP # CDSP
vendor/bin/cdsprpcd vendor/bin/cdsprpcd
vendor/etc/init/vendor.qti.cdsprpc-service.rc vendor/etc/init/vendor.qti.cdsprpc-service.rc
vendor/lib/libcdsp_default_listener.so vendor/lib/libcdsp_default_listener.so
vendor/lib/libcdsprpc.so vendor/lib/libcdsprpc.so
vendor/lib/libfastcrc.so
vendor/lib/libmdsprpc.so
vendor/lib/libsdsprpc.so
vendor/lib/libsysmon_cdsp_skel.so
vendor/lib64/libcdfw.so
vendor/lib64/libcdfw_remote_api.so
vendor/lib64/libcdsp_default_listener.so vendor/lib64/libcdsp_default_listener.so
vendor/lib64/libcdsprpc.so vendor/lib64/libcdsprpc.so
vendor/lib64/libmdsprpc.so
vendor/lib64/libsdsprpc.so # Charger
vendor/lib64/libsysmon_cdsp_skel.so vendor/bin/hvdcp_opti
vendor/etc/init/vendor.qti.hardware.charger_monitor@1.0-service.rc
# CNE # CNE
-vendor/app/CneApp/CneApp.apk -vendor/app/CneApp/CneApp.apk
@ -176,8 +222,8 @@ vendor/lib64/vendor.qti.hardware.data.iwlan@1.0.so
vendor/lib64/vendor.qti.hardware.data.latency@1.0.so vendor/lib64/vendor.qti.hardware.data.latency@1.0.so
vendor/lib64/vendor.qti.hardware.data.lce@1.0.so vendor/lib64/vendor.qti.hardware.data.lce@1.0.so
vendor/lib64/vendor.qti.hardware.data.qmi@1.0.so vendor/lib64/vendor.qti.hardware.data.qmi@1.0.so
vendor/lib64/vendor.qti.hardware.mwqemadapter@1.0.so
vendor/lib64/vendor.qti.hardware.slmadapter@1.0.so vendor/lib64/vendor.qti.hardware.slmadapter@1.0.so
vendor/lib64/vendor.qti.hardware.mwqemadapter@1.0.so
vendor/lib64/vendor.qti.latency@2.0.so vendor/lib64/vendor.qti.latency@2.0.so
vendor/lib64/vendor.qti.latency@2.1.so vendor/lib64/vendor.qti.latency@2.1.so
@ -188,32 +234,101 @@ vendor/lib64/hw/vendor.qti.hardware.capabilityconfigstore@1.0-impl.so
vendor/lib/hw/vendor.qti.hardware.capabilityconfigstore@1.0-impl.so vendor/lib/hw/vendor.qti.hardware.capabilityconfigstore@1.0-impl.so
# CVP # CVP
vendor/lib64/libcvp2.so vendor/etc/cvp/v2.0/facedetection/model1.dat
vendor/lib64/libcvp2_hfi.so vendor/etc/cvp/v2.1/facedetection/model2.dat
vendor/lib64/libcvp2_1.so
vendor/lib64/libcvp_common.so vendor/lib64/libcvp_common.so
vendor/lib64/libcvpcpuRev_skel.so vendor/lib64/libcvpcpuRev_skel.so
vendor/lib64/vendor.qti.hardware.cvp@1.0.so vendor/lib64/vendor.qti.hardware.cvp@1.0.so
# CVP firmware
vendor/firmware/evass-lt.b00
vendor/firmware/evass-lt.b02
vendor/firmware/evass-lt.b03
vendor/firmware/evass-lt.b04
vendor/firmware/evass-lt.b05
vendor/firmware/evass-lt.b06
vendor/firmware/evass-lt.b07
vendor/firmware/evass-lt.b08
vendor/firmware/evass-lt.b09
vendor/firmware/evass-lt.b10
vendor/firmware/evass-lt.b11
vendor/firmware/evass-lt.b12
vendor/firmware/evass-lt.b13
vendor/firmware/evass-lt.b14
vendor/firmware/evass-lt.b15
vendor/firmware/evass-lt.b16
vendor/firmware/evass-lt.b17
vendor/firmware/evass-lt.b18
vendor/firmware/evass-lt.b19
vendor/firmware/evass-lt.mbn
vendor/firmware/evass-lt.mdt
vendor/firmware/evass.b01
vendor/firmware/evass.b02
vendor/firmware/evass.b03
vendor/firmware/evass.b04
vendor/firmware/evass.b05
vendor/firmware/evass.b06
vendor/firmware/evass.b07
vendor/firmware/evass.b08
vendor/firmware/evass.b09
vendor/firmware/evass.b10
vendor/firmware/evass.b11
vendor/firmware/evass.b12
vendor/firmware/evass.b13
vendor/firmware/evass.b14
vendor/firmware/evass.b15
vendor/firmware/evass.b16
vendor/firmware/evass.b17
vendor/firmware/evass.b18
vendor/firmware/evass.b19
vendor/firmware/evass.mbn
vendor/firmware/evass.mdt
# Diag
system_ext/lib/vendor.qti.diaghal@1.0.so
system_ext/lib64/vendor.qti.diaghal@1.0.so
vendor/bin/diag-router
vendor/etc/init/vendor.qti.diag.rc
-vendor/etc/vintf/manifest/vendor.qti.diag.hal.service.xml
vendor/lib/vendor.qti.diaghal@1.0.so
vendor/lib64/vendor.qti.diaghal@1.0.so
# Display - HDR # Display - HDR
vendor/etc/hdr_tm_config.xml
vendor/lib64/libhdr_tm.so vendor/lib64/libhdr_tm.so
# Display - HWC - from nio - S1RN32.19 # Display - HWC
vendor/bin/hw/vendor.qti.hardware.display.composer-service
vendor/bin/qdcmss vendor/bin/qdcmss
vendor/etc/init/qdcmss.rc vendor/etc/init/qdcmss.rc
vendor/lib64/libdpps.so|aed0ddf27cae0c0d6fed1e27a7b19b1ffeb22002 vendor/etc/snapdragon_color_libs_config.xml
vendor/lib64/libdisplayconfig.qti.so
vendor/lib64/libdpps.so
vendor/lib64/libhdrdynamic.so vendor/lib64/libhdrdynamic.so
vendor/lib64/libhdrdynamicootf.so vendor/lib64/libhdrdynamicootf.so
vendor/lib64/libqdcm-mode-parser.so
vendor/lib64/libsdmcore.so
vendor/lib64/libsdmutils.so
vendor/lib64/libsnapdragoncolor-manager.so
vendor/lib64/libsnapdragoncolor-qdcm.so
# Display - SDM - from nio - S1RN32.19 # Display - SDM
vendor/etc/display/advanced_sf_offsets.xml vendor/etc/display/advanced_sf_offsets.xml
vendor/lib64/libdisplayqos.so|15701f18257c43be5657bbd867a8acf1f469e373 vendor/etc/display/DPU660.xml
vendor/lib64/libdisplayskuutils.so|3ddb2ffe55aa9aef686cf3be00ae5e0d1d8f9d93 vendor/etc/display/DPU670.xml
vendor/etc/display/DPU720.xml
vendor/etc/display/DPU7__.xml
vendor/lib64/libdisplayqos.so
vendor/lib64/libdisplayskuutils.so
vendor/lib64/libqseed3.so vendor/lib64/libqseed3.so
vendor/lib64/libsdm-color.so|29cbc16f6fa573d21f48e2be2ff0d51de3357378 vendor/lib64/librcmask.so
vendor/lib64/libsdedrm.so
vendor/lib64/libsdm-color.so
vendor/lib64/libsdm-colormgr-algo.so vendor/lib64/libsdm-colormgr-algo.so
vendor/lib64/libsdm-diag.so|57e8b57e52b98a0a151434414756fcf91147a511 vendor/lib64/libsdm-diag.so
vendor/lib64/libsdm-disp-vndapis.so|fd0b0beac164c92bfa012dbc059cb50cdde2dec6 vendor/lib64/libsdm-disp-vndapis.so
vendor/lib64/libsdmextension.so|99377ab065105f0cbd17bbe5907cdbb8027a9f17 vendor/lib64/libsdmextension.so
vendor/lib64/libtinyxml2_1.so vendor/lib64/libtinyxml2_1.so
# Display postprocessing # Display postprocessing
@ -243,22 +358,22 @@ system_ext/lib/libdpmctmgr.so
system_ext/lib/libdpmfdmgr.so system_ext/lib/libdpmfdmgr.so
system_ext/lib/libdpmframework.so system_ext/lib/libdpmframework.so
system_ext/lib/libdpmtcm.so system_ext/lib/libdpmtcm.so
system_ext/lib/vendor.qti.diaghal@1.0.so
system_ext/lib64/com.qualcomm.qti.dpm.api@1.0.so system_ext/lib64/com.qualcomm.qti.dpm.api@1.0.so
system_ext/lib64/libdpmctmgr.so system_ext/lib64/libdpmctmgr.so
system_ext/lib64/libdpmfdmgr.so system_ext/lib64/libdpmfdmgr.so
system_ext/lib64/libdpmframework.so system_ext/lib64/libdpmframework.so
system_ext/lib64/libdpmtcm.so system_ext/lib64/libdpmtcm.so
system_ext/lib64/vendor.qti.diaghal@1.0.so
vendor/bin/dpmQmiMgr vendor/bin/dpmQmiMgr
vendor/etc/init/dpmQmiMgr.rc vendor/etc/init/dpmQmiMgr.rc
vendor/lib64/com.qualcomm.qti.dpm.api@1.0.so vendor/lib64/com.qualcomm.qti.dpm.api@1.0.so
vendor/lib64/libdpmqmihal.so vendor/lib64/libdpmqmihal.so
# DRM # DRM
vendor/bin/hw/vendor.qti.hardware.qseecom@1.0-service
vendor/bin/qseecomd vendor/bin/qseecomd
vendor/etc/gpfspath_oem_config.xml
vendor/etc/init/qseecomd.rc vendor/etc/init/qseecomd.rc
vendor/etc/init/vendor.qti.hardware.qseecom@1.0-service.rc
vendor/lib64/hw/vendor.qti.hardware.qseecom@1.0-impl.so
vendor/lib64/libcpion.so vendor/lib64/libcpion.so
vendor/lib64/libdrmfs.so vendor/lib64/libdrmfs.so
vendor/lib64/libdrmtime.so vendor/lib64/libdrmtime.so
@ -270,8 +385,21 @@ vendor/lib64/libQSEEComAPI.so
vendor/lib64/librpmb.so vendor/lib64/librpmb.so
vendor/lib64/libspl.so vendor/lib64/libspl.so
vendor/lib64/libssd.so vendor/lib64/libssd.so
vendor/lib64/libStDrvInt.so
vendor/lib64/libtzdrmgenprov.so vendor/lib64/libtzdrmgenprov.so
vendor/lib64/vendor.qti.hardware.qseecom@1.0.so
# EID
vendor/bin/hw/vendor.qti.hardware.eid@1.0-service
vendor/etc/init/vendor.qti.hardware.eid@1.0-service.rc
vendor/lib64/hw/vendor.qti.hardware.eid@1.0-impl.so
vendor/lib64/vendor.qti.hardware.eid@1.0.so
# ESE
vendor/bin/hw/vendor.qti.esepowermanager@1.1-service
vendor/etc/init/vendor.qti.esepowermanager@1.1-service.rc
vendor/lib64/hw/vendor.qti.esepowermanager@1.1-impl.so
vendor/lib64/vendor.qti.esepowermanager@1.0.so
vendor/lib64/vendor.qti.esepowermanager@1.1.so
# FM # FM
vendor/lib64/hw/vendor.qti.hardware.fm@1.0-impl.so vendor/lib64/hw/vendor.qti.hardware.fm@1.0-impl.so
@ -283,7 +411,7 @@ vendor/etc/init/android.hardware.gatekeeper@1.0-service-qti.rc
vendor/lib64/hw/android.hardware.gatekeeper@1.0-impl-qti.so vendor/lib64/hw/android.hardware.gatekeeper@1.0-impl-qti.so
# Graphics - Adreno # Graphics - Adreno
-vendor/app/com.qualcomm.qti.gpudrivers.kona.api30/com.qualcomm.qti.gpudrivers.kona.api30.apk;PRESIGNED -vendor/app/com.qualcomm.qti.gpudrivers.lahaina.api30/com.qualcomm.qti.gpudrivers.lahaina.api30.apk;PRESIGNED
vendor/lib/egl/eglSubDriverAndroid.so vendor/lib/egl/eglSubDriverAndroid.so
vendor/lib/egl/libEGL_adreno.so vendor/lib/egl/libEGL_adreno.so
vendor/lib/egl/libGLESv1_CM_adreno.so vendor/lib/egl/libGLESv1_CM_adreno.so
@ -297,6 +425,8 @@ vendor/lib/libc2d30_bltlib.so
vendor/lib/libCB.so vendor/lib/libCB.so
vendor/lib/libgpudataproducer.so vendor/lib/libgpudataproducer.so
vendor/lib/libgsl.so vendor/lib/libgsl.so
vendor/lib/libkcl.so
vendor/lib/libkernelmanager.so
vendor/lib/libllvm-glnext.so vendor/lib/libllvm-glnext.so
vendor/lib/libllvm-qcom.so vendor/lib/libllvm-qcom.so
vendor/lib/libOpenCL.so vendor/lib/libOpenCL.so
@ -314,6 +444,8 @@ vendor/lib64/libc2d30_bltlib.so
vendor/lib64/libCB.so vendor/lib64/libCB.so
vendor/lib64/libgpudataproducer.so vendor/lib64/libgpudataproducer.so
vendor/lib64/libgsl.so vendor/lib64/libgsl.so
vendor/lib64/libkcl.so
vendor/lib64/libkernelmanager.so
vendor/lib64/libllvm-glnext.so vendor/lib64/libllvm-glnext.so
vendor/lib64/libllvm-qcom.so vendor/lib64/libllvm-qcom.so
vendor/lib64/libOpenCL.so vendor/lib64/libOpenCL.so
@ -326,14 +458,11 @@ vendor/firmware/a615_zap.b02
vendor/firmware/a615_zap.elf vendor/firmware/a615_zap.elf
vendor/firmware/a615_zap.mdt vendor/firmware/a615_zap.mdt
vendor/firmware/a619_gmu.bin vendor/firmware/a619_gmu.bin
vendor/firmware/a620_zap.b00
vendor/firmware/a620_zap.b01
vendor/firmware/a620_zap.b02
vendor/firmware/a620_zap.elf
vendor/firmware/a620_zap.mdt
vendor/firmware/a630_sqe.fw vendor/firmware/a630_sqe.fw
vendor/firmware/a650_gmu.bin vendor/gpu/kbc/sequence_manifest.bin
vendor/firmware/a650_sqe.fw vendor/gpu/kbc/unified_kbcs_32.bin
vendor/gpu/kbc/unified_kbcs_64.bin
vendor/gpu/kbc/unified_ksqs.bin
# Graphics - Vulkan # Graphics - Vulkan
vendor/lib/hw/vulkan.adreno.so vendor/lib/hw/vulkan.adreno.so
@ -389,6 +518,8 @@ vendor/lib64/vendor.qti.hardware.qccsyshal@1.0.so
# HotwordEnrollment # HotwordEnrollment
-product/priv-app/HotwordEnrollmentOKGoogleHEXAGON/HotwordEnrollmentOKGoogleHEXAGON.apk -product/priv-app/HotwordEnrollmentOKGoogleHEXAGON/HotwordEnrollmentOKGoogleHEXAGON.apk
-product/priv-app/HotwordEnrollmentXGoogleHEXAGON/HotwordEnrollmentXGoogleHEXAGON.apk -product/priv-app/HotwordEnrollmentXGoogleHEXAGON/HotwordEnrollmentXGoogleHEXAGON.apk
#product/etc/permissions/privapp-permissions-com.android.hotwordenrollment_lpi.okgoogle.xml
#product/etc/permissions/privapp-permissions-com.android.hotwordenrollment_lpi.xgoogle.xml
system_ext/etc/permissions/com.android.hotwordenrollment.common.util.xml system_ext/etc/permissions/com.android.hotwordenrollment.common.util.xml
system_ext/framework/com.android.hotwordenrollment.common.util.jar system_ext/framework/com.android.hotwordenrollment.common.util.jar
@ -409,11 +540,13 @@ vendor/firmware/ipa_fws.b03
vendor/firmware/ipa_fws.b04 vendor/firmware/ipa_fws.b04
vendor/firmware/ipa_fws.elf vendor/firmware/ipa_fws.elf
vendor/firmware/ipa_fws.mdt vendor/firmware/ipa_fws.mdt
vendor/firmware/ipa_uc.b00 vendor/firmware/yupik_ipa_fws.b00
vendor/firmware/ipa_uc.b01 vendor/firmware/yupik_ipa_fws.b01
vendor/firmware/ipa_uc.b02 vendor/firmware/yupik_ipa_fws.b02
vendor/firmware/ipa_uc.elf vendor/firmware/yupik_ipa_fws.b03
vendor/firmware/ipa_uc.mdt vendor/firmware/yupik_ipa_fws.b04
vendor/firmware/yupik_ipa_fws.elf
vendor/firmware/yupik_ipa_fws.mdt
# IRQ balance # IRQ balance
vendor/bin/msm_irqbalance vendor/bin/msm_irqbalance
@ -428,7 +561,6 @@ vendor/lib64/libkeymasterutils.so
vendor/lib64/libqtikeymaster4.so vendor/lib64/libqtikeymaster4.so
# Listen # Listen
vendor/lib/hw/sound_trigger.primary.kona.so
vendor/lib/libadpcmdec.so vendor/lib/libadpcmdec.so
vendor/lib/libcapiv2svacnn.so vendor/lib/libcapiv2svacnn.so
vendor/lib/libcapiv2svarnn.so vendor/lib/libcapiv2svarnn.so
@ -440,21 +572,36 @@ vendor/lib/libgcs.so
vendor/lib/liblistensoundmodel2.so vendor/lib/liblistensoundmodel2.so
vendor/lib/libmulawdec.so vendor/lib/libmulawdec.so
vendor/lib/libsmwrapper.so vendor/lib/libsmwrapper.so
vendor/lib64/libcapiv2svacnn.so
vendor/lib64/libcapiv2svarnn.so
vendor/lib64/libcapiv2vop.so
vendor/lib64/libgcs-calwrapper.so
vendor/lib64/libgcs-ipc.so
vendor/lib64/libgcs-osal.so
vendor/lib64/libgcs.so
vendor/lib64/liblistensoundmodel2.so
vendor/lib64/libmulawdec.so
# Media # Media
system_ext/lib/libmmosal.so system_ext/lib/libmmosal.so
system_ext/lib/libmmparser_lite.so system_ext/lib/libmmparser_lite.so
system_ext/lib64/libmmosal.so system_ext/lib64/libmmosal.so
system_ext/lib64/libmmparser_lite.so
vendor/bin/hw/vendor.qti.media.c2@1.0-service vendor/bin/hw/vendor.qti.media.c2@1.0-service
vendor/bin/init.qti.media.sh
vendor/etc/init/init.qti.media.rc
vendor/etc/init/vendor.qti.media.c2@1.0-service.rc vendor/etc/init/vendor.qti.media.c2@1.0-service.rc
-vendor/etc/vintf/manifest/c2_manifest_vendor.xml -vendor/etc/vintf/manifest/c2_manifest_vendor.xml
vendor/etc/media_yupik_v0/video_system_specs.json
vendor/etc/media_yupik_v1/video_system_specs.json
vendor/etc/media/video_system_specs.json
vendor/etc/video_system_specs.json
vendor/etc/seccomp_policy/codec2.vendor.base-arm.policy vendor/etc/seccomp_policy/codec2.vendor.base-arm.policy
vendor/etc/seccomp_policy/codec2.vendor.ext-arm.policy vendor/etc/seccomp_policy/codec2.vendor.ext-arm.policy
vendor/etc/system_properties.xml vendor/lib/libqc2vppfilter.so
vendor/lib/libqcodec2_base.so vendor/lib/libqcodec2_base.so
vendor/lib/libqcodec2_basecodec.so vendor/lib/libqcodec2_basecodec.so
vendor/lib/libqcodec2_core.so vendor/lib/libqcodec2_core.so
vendor/lib/libqcodec2_hooks.so
vendor/lib/libqcodec2_platform.so vendor/lib/libqcodec2_platform.so
vendor/lib/libqcodec2_utils.so vendor/lib/libqcodec2_utils.so
vendor/lib/libqcodec2_v4l2codec.so vendor/lib/libqcodec2_v4l2codec.so
@ -463,14 +610,11 @@ vendor/lib64/libmmosal.so
# Neural networks # Neural networks
vendor/bin/hw/android.hardware.neuralnetworks@1.3-service-qti vendor/bin/hw/android.hardware.neuralnetworks@1.3-service-qti
vendor/etc/init/android.hardware.neuralnetworks@1.3-service-qti.rc vendor/etc/init/android.hardware.neuralnetworks@1.3-service-qti.rc
-vendor/etc/vintf/manifest/android.hardware.neuralnetworks@1.3-service-qti-hta.xml
-vendor/etc/vintf/manifest/android.hardware.neuralnetworks@1.3-service-qti.xml -vendor/etc/vintf/manifest/android.hardware.neuralnetworks@1.3-service-qti.xml
vendor/lib64/libhexagon_nn_stub.so vendor/lib64/libQnnHtpAltPrepStub.so
vendor/lib64/libhta_hexagon_runtime.so
vendor/lib64/unnhal-acc-adreno.so
vendor/lib64/unnhal-acc-common.so vendor/lib64/unnhal-acc-common.so
vendor/lib64/unnhal-acc-hta.so vendor/lib64/unnhal-acc-gpu.so
vendor/lib64/unnhal-acc-hvx.so vendor/lib64/unnhal-acc-htp.so
# OEM # OEM
vendor/bin/motobox vendor/bin/motobox
@ -480,8 +624,6 @@ vendor/lib/libAlacSwDec.so
vendor/lib/libApeSwDec.so vendor/lib/libApeSwDec.so
vendor/lib/libdsd2pcm.so vendor/lib/libdsd2pcm.so
vendor/lib/libFlacSwDec.so vendor/lib/libFlacSwDec.so
vendor/lib/libmmosal.so
vendor/lib/libMpeg4SwEncoder.so
vendor/lib/libMpeghSwEnc.so vendor/lib/libMpeghSwEnc.so
vendor/lib/libOmxAacDec.so vendor/lib/libOmxAacDec.so
vendor/lib/libOmxAlacDec.so vendor/lib/libOmxAlacDec.so
@ -496,17 +638,11 @@ vendor/lib/libOmxG711Dec.so
vendor/lib/libOmxMpeghDecSw.so vendor/lib/libOmxMpeghDecSw.so
vendor/lib/libOmxMpeghEncSw.so vendor/lib/libOmxMpeghEncSw.so
vendor/lib/libOmxQcelp13Dec.so vendor/lib/libOmxQcelp13Dec.so
vendor/lib/libOmxSwVdec.so
vendor/lib/libOmxSwVencMpeg4.so
vendor/lib/libOmxVideoDSMode.so vendor/lib/libOmxVideoDSMode.so
vendor/lib/libOmxVpp.so
vendor/lib/libOmxWmaDec.so vendor/lib/libOmxWmaDec.so
vendor/lib/libswvdec.so
vendor/lib64/libAlacSwDec.so vendor/lib64/libAlacSwDec.so
vendor/lib64/libApeSwDec.so vendor/lib64/libApeSwDec.so
vendor/lib64/libFlacSwDec.so vendor/lib64/libFlacSwDec.so
vendor/lib64/libmmosal.so
vendor/lib64/libMpeg4SwEncoder.so
vendor/lib64/libMpeghSwEnc.so vendor/lib64/libMpeghSwEnc.so
vendor/lib64/libOmxAacDec.so vendor/lib64/libOmxAacDec.so
vendor/lib64/libOmxAlacDec.so vendor/lib64/libOmxAlacDec.so
@ -519,26 +655,20 @@ vendor/lib64/libOmxEvrcDec.so
vendor/lib64/libOmxG711Dec.so vendor/lib64/libOmxG711Dec.so
vendor/lib64/libOmxMpeghEncSw.so vendor/lib64/libOmxMpeghEncSw.so
vendor/lib64/libOmxQcelp13Dec.so vendor/lib64/libOmxQcelp13Dec.so
vendor/lib64/libOmxSwVdec.so
vendor/lib64/libOmxSwVencMpeg4.so
vendor/lib64/libOmxVpp.so
vendor/lib64/libOmxWmaDec.so vendor/lib64/libOmxWmaDec.so
vendor/lib64/libswvdec.so
# Peripheral manager # Peripheral manager
vendor/bin/pm-proxy vendor/bin/pm-proxy
vendor/bin/pm-service vendor/bin/pm-service
vendor/lib64/libadropbox.so
vendor/lib64/libperipheral_client.so vendor/lib64/libperipheral_client.so
vendor/lib64/libspcom.so vendor/lib64/libspcom.so
# Perf # Perf
vendor/bin/hw/vendor.qti.hardware.perf@2.2-service vendor/bin/hw/vendor.qti.hardware.perf@2.2-service
vendor/bin/poweropt-service vendor/bin/poweropt-service
vendor/etc/init/poweropt-service.rc
vendor/etc/init/vendor.qti.hardware.perf@2.2-service.rc vendor/etc/init/vendor.qti.hardware.perf@2.2-service.rc
vendor/etc/lm/AdaptLaunchFeature.xml vendor/etc/init/poweropt-service.rc
vendor/etc/lm/AppClassifierFeature.xml
vendor/etc/lm/GameOptimizationFeature.xml
vendor/etc/perf/commonresourceconfigs.xml vendor/etc/perf/commonresourceconfigs.xml
vendor/etc/perf/commonsysnodesconfigs.xml vendor/etc/perf/commonsysnodesconfigs.xml
vendor/etc/perf/perfboostsconfig.xml vendor/etc/perf/perfboostsconfig.xml
@ -552,13 +682,10 @@ vendor/lib/libperfioctl.so
vendor/lib/libqti-perfd-client.so vendor/lib/libqti-perfd-client.so
vendor/lib/libqti-perfd.so vendor/lib/libqti-perfd.so
vendor/lib/libqti-util.so vendor/lib/libqti-util.so
vendor/lib/libqti-utils.so
vendor/lib/vendor.qti.memory.pasrmanager@1.0.so vendor/lib/vendor.qti.memory.pasrmanager@1.0.so
vendor/lib/vendor.qti.memory.pasrmanager@1.1.so vendor/lib/vendor.qti.memory.pasrmanager@1.1.so
vendor/lib64/libadaptlaunch.so
vendor/lib64/libappclassifier.so
vendor/lib64/libgameoptfeature.so
vendor/lib64/liblearningmodule.so vendor/lib64/liblearningmodule.so
vendor/lib64/libmeters-ns.so
vendor/lib64/libmeters.so vendor/lib64/libmeters.so
vendor/lib64/libperfconfig.so vendor/lib64/libperfconfig.so
vendor/lib64/libperfgluelayer.so vendor/lib64/libperfgluelayer.so
@ -566,11 +693,31 @@ vendor/lib64/libperfioctl.so
vendor/lib64/libqti-perfd-client.so vendor/lib64/libqti-perfd-client.so
vendor/lib64/libqti-perfd.so vendor/lib64/libqti-perfd.so
vendor/lib64/libqti-util.so vendor/lib64/libqti-util.so
vendor/lib64/libqti-utils.so
vendor/lib64/vendor.qti.memory.pasrmanager@1.0.so vendor/lib64/vendor.qti.memory.pasrmanager@1.0.so
vendor/lib64/vendor.qti.memory.pasrmanager@1.1.so vendor/lib64/vendor.qti.memory.pasrmanager@1.1.so
# Perf LM
vendor/etc/lm/prekill/prekill_2GB.data
vendor/etc/lm/prekill/prekill_4GB.data
vendor/etc/lm/prekill/prekill_6GB.data
vendor/etc/lm/AdaptLaunchFeature.xml
vendor/etc/lm/AppClassifierFeature.xml
vendor/etc/lm/GameOptimizationFeature.xml
vendor/etc/lm/gPLAFFeature.xml
vendor/etc/lm/PreKillFeature.xml
vendor/etc/lm/sPLHFeature.xml
vendor/lib64/libadaptlaunch.so
vendor/lib64/libappclassifier.so
vendor/lib64/libgameoptfeature.so
vendor/lib64/libgplaf.so
vendor/lib64/liblmutils-ns.so
vendor/lib64/libmemperfd.so
vendor/lib64/libmeters-ns.so
vendor/lib64/libprekill.so
vendor/lib64/libsplh.so
# Power-off alarm # Power-off alarm
#-product/app/PowerOffAlarm/PowerOffAlarm.apk|b7912c844da3541d64f04ed287266a9695f87fc5
system_ext/framework/vendor.qti.hardware.alarm-V1.0-java.jar system_ext/framework/vendor.qti.hardware.alarm-V1.0-java.jar
vendor/bin/hw/vendor.qti.hardware.alarm@1.0-service vendor/bin/hw/vendor.qti.hardware.alarm@1.0-service
vendor/bin/power_off_alarm vendor/bin/power_off_alarm
@ -579,23 +726,32 @@ vendor/lib64/hw/vendor.qti.hardware.alarm@1.0-impl.so
vendor/lib64/vendor.qti.hardware.alarm@1.0.so vendor/lib64/vendor.qti.hardware.alarm@1.0.so
# QCC # QCC
lib/hw/vendor.qti.hardware.qccsyshal@1.0-impl.so
lib64/hw/vendor.qti.hardware.qccsyshal@1.0-impl.so
system_ext/bin/qccsyshalservice system_ext/bin/qccsyshalservice
system_ext/etc/init/vendor.qti.hardware.qccsyshal@1.0-service.rc system_ext/etc/init/vendor.qti.hardware.qccsyshal@1.0-service.rc
system_ext/lib64/libqcc_file_agent_sys.so system_ext/lib/libqcc_file_agent_sys.so
system_ext/lib/vendor.qti.hardware.qccsyshal@1.0-halimpl.so system_ext/lib/vendor.qti.hardware.qccsyshal@1.0-halimpl.so
system_ext/lib/vendor.qti.hardware.qccsyshal@1.0.so system_ext/lib/vendor.qti.hardware.qccsyshal@1.0.so
system_ext/lib64/libqcc_file_agent_sys.so
system_ext/lib64/vendor.qti.hardware.qccsyshal@1.0-halimpl.so system_ext/lib64/vendor.qti.hardware.qccsyshal@1.0-halimpl.so
system_ext/lib64/vendor.qti.hardware.qccsyshal@1.0.so system_ext/lib64/vendor.qti.hardware.qccsyshal@1.0.so
vendor/lib/libqcc_file_agent.so
vendor/lib/libqcci_legacy.so
vendor/lib/vendor.qti.hardware.qccsyshal@1.0.so vendor/lib/vendor.qti.hardware.qccsyshal@1.0.so
vendor/lib64/libqcc_file_agent.so
vendor/lib64/libqcci_legacy.so
vendor/lib64/vendor.qti.hardware.qccsyshal@1.0.so vendor/lib64/vendor.qti.hardware.qccsyshal@1.0.so
# QMI # QMI
system/etc/permissions/privapp-permissions-qti.xml system/etc/permissions/privapp-permissions-qti.xml
system/etc/sysconfig/qti_whitelist.xml system/etc/sysconfig/qti_whitelist.xml
vendor/bin/irsc_util vendor/bin/irsc_util
vendor/bin/qcom-system-daemon
vendor/bin/qmipriod vendor/bin/qmipriod
vendor/etc/init/qmipriod.rc vendor/etc/init/qmipriod.rc
vendor/etc/seccomp_policy/qti-systemd.policy vendor/etc/seccomp_policy/qti-systemd.policy
vendor/etc/sec_config
vendor/lib/libdiag.so vendor/lib/libdiag.so
vendor/lib/libdsi_netctrl.so vendor/lib/libdsi_netctrl.so
vendor/lib/libdsutils.so vendor/lib/libdsutils.so
@ -630,6 +786,7 @@ vendor/lib64/libqmi_csi.so
vendor/lib64/libqmi_encdec.so vendor/lib64/libqmi_encdec.so
vendor/lib64/libqmi_legacy.so vendor/lib64/libqmi_legacy.so
vendor/lib64/libqmiservices.so vendor/lib64/libqmiservices.so
vendor/lib64/libsubsystem_control.so
# QSPM # QSPM
system_ext/bin/qspmsvc system_ext/bin/qspmsvc
@ -639,11 +796,15 @@ system_ext/lib64/vendor.qti.qspmhal@1.0.so
vendor/bin/vendor.qti.qspmhal@1.0-service vendor/bin/vendor.qti.qspmhal@1.0-service
vendor/etc/init/vendor.qti.qspmhal@1.0-service.rc vendor/etc/init/vendor.qti.qspmhal@1.0-service.rc
vendor/etc/seccomp_policy/qspm.policy vendor/etc/seccomp_policy/qspm.policy
vendor/lib/vendor.qti.qspmhal@1.0-impl.so
vendor/lib/vendor.qti.qspmhal@1.0.so
vendor/lib64/vendor.qti.qspmhal@1.0-impl.so vendor/lib64/vendor.qti.qspmhal@1.0-impl.so
vendor/lib64/vendor.qti.qspmhal@1.0.so vendor/lib64/vendor.qti.qspmhal@1.0.so
# QTI service tracker
vendor/bin/hw/vendor.qti.hardware.servicetracker@1.2-service
vendor/etc/init/vendor.qti.hardware.servicetracker@1.2-service.rc
-vendor/etc/vintf/manifest/vendor.qti.hardware.servicetracker@1.2-service.xml
vendor/lib64/hw/vendor.qti.hardware.servicetracker@1.2-impl.so
# RIL # RIL
-system_ext/app/QtiTelephonyService/QtiTelephonyService.apk -system_ext/app/QtiTelephonyService/QtiTelephonyService.apk
-system_ext/app/uimgbaservice/uimgbaservice.apk -system_ext/app/uimgbaservice/uimgbaservice.apk
@ -658,12 +819,11 @@ system_ext/framework/uimgbalibrary.jar
system_ext/framework/uimgbamanagerlibrary.jar system_ext/framework/uimgbamanagerlibrary.jar
-system_ext/priv-app/qcrilmsgtunnel/qcrilmsgtunnel.apk -system_ext/priv-app/qcrilmsgtunnel/qcrilmsgtunnel.apk
-vendor/app/IWlanService/IWlanService.apk -vendor/app/IWlanService/IWlanService.apk
vendor/bin/hw/qcrild vendor/bin/hw/qcrilNrd
vendor/bin/adpl vendor/bin/adpl
vendor/bin/ATFWD-daemon vendor/bin/ATFWD-daemon
vendor/bin/ks vendor/bin/ks
vendor/bin/mdm_helper vendor/bin/mbm_spy
vendor/bin/mdm_helper_proxy
vendor/bin/netmgrd vendor/bin/netmgrd
vendor/bin/pd-mapper vendor/bin/pd-mapper
vendor/bin/port-bridge vendor/bin/port-bridge
@ -673,32 +833,57 @@ vendor/bin/qrtr-lookup
vendor/bin/qrtr-ns vendor/bin/qrtr-ns
vendor/bin/qti vendor/bin/qti
vendor/bin/rmt_storage vendor/bin/rmt_storage
vendor/bin/ssgtzd
vendor/bin/tftp_server vendor/bin/tftp_server
vendor/etc/data/dsi_config.xml vendor/etc/data/dsi_config.xml
vendor/etc/data/netmgr_config.xml vendor/etc/data/netmgr_config.xml
vendor/etc/ssg/ta_config.json
vendor/etc/ssg/tz_whitelist.json
vendor/etc/init/dataadpl.rc vendor/etc/init/dataadpl.rc
vendor/etc/init/dataqti.rc vendor/etc/init/dataqti.rc
vendor/etc/init/init-qcril-data.rc vendor/etc/init/init-qcril-data.rc
vendor/etc/init/netmgrd.rc vendor/etc/init/netmgrd.rc
vendor/etc/init/port-bridge.rc vendor/etc/init/port-bridge.rc
vendor/etc/init/qcrild.rc vendor/etc/init/qcrilNrd.rc
vendor/etc/init/ssgtzd.rc
vendor/etc/init/vendor.mmi.carrier.rc
vendor/etc/init/vendor.qti.rmt_storage.rc vendor/etc/init/vendor.qti.rmt_storage.rc
vendor/etc/init/vendor.qti.tftp.rc vendor/etc/init/vendor.qti.tftp.rc
vendor/etc/qcril_database/qcrilNr.db
vendor/etc/qcril_database/upgrade/config/6.0_config.sql
vendor/etc/qcril_database/upgrade/config/9.0_config.sql
vendor/etc/qcril_database/upgrade/ecc/0_initial.sql
vendor/etc/qcril_database/upgrade/ecc/10_version_qcrildb.sql
vendor/etc/qcril_database/upgrade/ecc/11_version_qcrildb.sql
vendor/etc/qcril_database/upgrade/ecc/12_version_qcrildb.sql
vendor/etc/qcril_database/upgrade/ecc/13_version_qcrildb.sql
vendor/etc/qcril_database/upgrade/ecc/14_version_qcrildb.sql
vendor/etc/qcril_database/upgrade/ecc/15_version_qcrildb.sql
vendor/etc/qcril_database/upgrade/ecc/16_version_qcrildb.sql
vendor/etc/qcril_database/upgrade/ecc/17_version_qcrildb.sql
vendor/etc/qcril_database/upgrade/ecc/18_version_qcrildb.sql
vendor/etc/qcril_database/upgrade/ecc/19_version_qcrildb.sql
vendor/etc/qcril_database/upgrade/ecc/20_version_qcrildb.sql
vendor/etc/qcril_database/upgrade/ecc/21_version_qcrildb.sql
vendor/etc/qcril_database/upgrade/ecc/22_version_qcrildb.sql
vendor/etc/qcril_database/upgrade/ecc/23_version_qcrildb.sql
vendor/etc/qcril_database/upgrade/ecc/24_version_qcrildb.sql
vendor/etc/qcril_database/upgrade/ecc/25_version_qcrildb.sql
vendor/etc/qcril_database/upgrade/ecc/3_version_qcrildb.sql
vendor/etc/qcril_database/upgrade/ecc/4_version_qcrildb.sql
vendor/etc/qcril_database/upgrade/ecc/5_version_qcrildb.sql
vendor/etc/qcril_database/upgrade/ecc/6_version_qcrildb.sql
vendor/etc/qcril_database/upgrade/ecc/7_version_qcrildb.sql
vendor/etc/qcril_database/upgrade/ecc/8_version_qcrildb.sql
vendor/etc/qcril_database/upgrade/ecc/9_version_qcrildb.sql
vendor/etc/qcril_database/upgrade/other/2_version_add_wps_config_qcrilnr.sql
vendor/etc/qcril_database/upgrade/other/3_version_update_wps_config_qcrilnr.sql
vendor/etc/qcril_database/upgrade/other/6_version_change_property_table_qcrilnr.sql
vendor/etc/seccomp_policy/atfwd@2.0.policy vendor/etc/seccomp_policy/atfwd@2.0.policy
vendor/etc/ssg/ta_config.json vendor/etc/seccomp_policy/qcrilnr@2.0.policy
vendor/etc/ssg/tz_whitelist.json vendor/lib64/deviceInfoServiceModuleNr.so
vendor/lib64/deviceInfoServiceModule.so
vendor/lib64/libadropbox.so
vendor/lib64/libconfigdb.so vendor/lib64/libconfigdb.so
vendor/lib64/libdsi_netctrl.so
vendor/lib64/liblog_vendor.so vendor/lib64/liblog_vendor.so
vendor/lib64/liblqe.so vendor/lib64/liblqe.so
vendor/lib64/libmdmcutback.so vendor/lib64/libmdmcutback.so
vendor/lib64/libmdmdetect.so vendor/lib64/libmdmdetect.so
vendor/lib64/libmdmimgload.so
vendor/lib64/libminkdescriptor.so vendor/lib64/libminkdescriptor.so
vendor/lib64/libmotext_inf.so vendor/lib64/libmotext_inf.so
vendor/lib64/libnetmgr.so vendor/lib64/libnetmgr.so
@ -709,23 +894,28 @@ vendor/lib64/libnlnetmgr.so
vendor/lib64/libpdmapper.so vendor/lib64/libpdmapper.so
vendor/lib64/libpdnotifier.so vendor/lib64/libpdnotifier.so
vendor/lib64/libqcbor.so vendor/lib64/libqcbor.so
vendor/lib64/libqcmaputils.so
vendor/lib64/libqcrildatactl.so vendor/lib64/libqcrildatactl.so
vendor/lib64/libqcrilFramework.so vendor/lib64/libqcrilNr.so
vendor/lib64/libqcrilNrFramework.so
vendor/lib64/libqcrilNrLogger.so
vendor/lib64/libqcrilNrQtiBus.so
vendor/lib64/libqcrilNrQtiMutex.so
vendor/lib64/libqmimotext.so vendor/lib64/libqmimotext.so
vendor/lib64/libqrtr.so vendor/lib64/libqrtr.so
vendor/lib64/libqrtrclient.so
vendor/lib64/libqsap_sdk.so
vendor/lib64/libqsocket.so vendor/lib64/libqsocket.so
vendor/lib64/libril-qc-hal-qmi.so vendor/lib64/libril-db.so
vendor/lib64/libril-qc-logger.so
vendor/lib64/libril-qc-ltedirectdisc.so vendor/lib64/libril-qc-ltedirectdisc.so
vendor/lib64/libril-qc-radioconfig.so vendor/lib64/libril-qc-radioconfig.so
vendor/lib64/libril-qcril-hook-oem.so vendor/lib64/libril-qcril-hook-oem.so
vendor/lib64/librilqmimiscservices.so
vendor/lib64/librilqmiservices.so vendor/lib64/librilqmiservices.so
vendor/lib64/libsettings.so
vendor/lib64/libsystem_health_mon.so vendor/lib64/libsystem_health_mon.so
vendor/lib64/qcrild_librilutils.so vendor/lib64/qcrild_libqcrilnrutils.so
vendor/lib64/qtibus.so vendor/lib64/qcrilMarshal.so
vendor/lib64/qtimutex.so vendor/lib64/qtiril-utils.so
vendor/lib64/qtiwakelock.so
vendor/lib64/vendor.qti.hardware.radio.am@1.0.so vendor/lib64/vendor.qti.hardware.radio.am@1.0.so
vendor/lib64/vendor.qti.hardware.radio.atcmdfwd@1.0.so vendor/lib64/vendor.qti.hardware.radio.atcmdfwd@1.0.so
vendor/lib64/vendor.qti.hardware.radio.internal.deviceinfo@1.0.so vendor/lib64/vendor.qti.hardware.radio.internal.deviceinfo@1.0.so
@ -747,33 +937,6 @@ vendor/lib64/vendor.qti.hardware.radio.uim_remote_client@1.0.so
vendor/lib64/vendor.qti.hardware.radio.uim_remote_client@1.1.so vendor/lib64/vendor.qti.hardware.radio.uim_remote_client@1.1.so
vendor/lib64/vendor.qti.hardware.radio.uim_remote_client@1.2.so vendor/lib64/vendor.qti.hardware.radio.uim_remote_client@1.2.so
vendor/lib64/vendor.qti.hardware.radio.uim_remote_server@1.0.so vendor/lib64/vendor.qti.hardware.radio.uim_remote_server@1.0.so
vendor/radio/qcril_database/qcril.db
vendor/radio/qcril_database/upgrade/0_initial.sql
vendor/radio/qcril_database/upgrade/10_version_qcrildb.sql
vendor/radio/qcril_database/upgrade/11_version_qcrildb.sql
vendor/radio/qcril_database/upgrade/12_version_qcrildb.sql
vendor/radio/qcril_database/upgrade/13_version_qcrildb.sql
vendor/radio/qcril_database/upgrade/14_version_qcrildb.sql
vendor/radio/qcril_database/upgrade/15_version_qcrildb.sql
vendor/radio/qcril_database/upgrade/16_version_qcrildb.sql
vendor/radio/qcril_database/upgrade/17_version_qcrildb.sql
vendor/radio/qcril_database/upgrade/18_version_qcrildb.sql
vendor/radio/qcril_database/upgrade/19_version_qcrildb.sql
vendor/radio/qcril_database/upgrade/20_version_qcrildb.sql
vendor/radio/qcril_database/upgrade/21_version_qcrildb.sql
vendor/radio/qcril_database/upgrade/22_version_qcrildb.sql
vendor/radio/qcril_database/upgrade/23_version_qcrildb.sql
vendor/radio/qcril_database/upgrade/24_version_qcrildb.sql
vendor/radio/qcril_database/upgrade/25_version_qcrildb.sql
vendor/radio/qcril_database/upgrade/26_version_qcrildb.sql
vendor/radio/qcril_database/upgrade/27_version_qcrildb.sql
vendor/radio/qcril_database/upgrade/3_version_qcrildb.sql
vendor/radio/qcril_database/upgrade/4_version_qcrildb.sql
vendor/radio/qcril_database/upgrade/5_version_qcrildb.sql
vendor/radio/qcril_database/upgrade/6_version_qcrildb.sql
vendor/radio/qcril_database/upgrade/7_version_qcrildb.sql
vendor/radio/qcril_database/upgrade/8_version_qcrildb.sql
vendor/radio/qcril_database/upgrade/9_version_qcrildb.sql
# Ril - IMS (APK) # Ril - IMS (APK)
etc/permissions/moto-telephony.xml:system_ext/etc/permissions/moto-telephony.xml etc/permissions/moto-telephony.xml:system_ext/etc/permissions/moto-telephony.xml
@ -797,14 +960,10 @@ system_ext/lib64/libdiag_system.so
system_ext/lib64/libimscamera_jni.so system_ext/lib64/libimscamera_jni.so
system_ext/lib64/libimsmedia_jni.so system_ext/lib64/libimsmedia_jni.so
system_ext/lib64/vendor.qti.imsrtpservice@3.0.so system_ext/lib64/vendor.qti.imsrtpservice@3.0.so
vendor/bin/imsdaemon
vendor/bin/ims_rtp_daemon vendor/bin/ims_rtp_daemon
vendor/bin/imsdatadaemon vendor/etc/init/imsdaemon.rc
vendor/bin/imsqmidaemon
vendor/bin/imsrcsd
vendor/etc/init/ims_rtp_daemon.rc vendor/etc/init/ims_rtp_daemon.rc
vendor/etc/init/imsdatadaemon.rc
vendor/etc/init/imsqmidaemon.rc
vendor/etc/init/imsrcsd.rc
vendor/etc/seccomp_policy/imsrtp.policy vendor/etc/seccomp_policy/imsrtp.policy
vendor/lib64/com.qualcomm.qti.imscmservice@1.0.so vendor/lib64/com.qualcomm.qti.imscmservice@1.0.so
vendor/lib64/com.qualcomm.qti.imscmservice@2.0.so vendor/lib64/com.qualcomm.qti.imscmservice@2.0.so
@ -814,19 +973,17 @@ vendor/lib64/com.qualcomm.qti.uceservice@2.0.so
vendor/lib64/com.qualcomm.qti.uceservice@2.1.so vendor/lib64/com.qualcomm.qti.uceservice@2.1.so
vendor/lib64/com.qualcomm.qti.uceservice@2.2.so vendor/lib64/com.qualcomm.qti.uceservice@2.2.so
vendor/lib64/com.qualcomm.qti.uceservice@2.3.so vendor/lib64/com.qualcomm.qti.uceservice@2.3.so
vendor/lib64/lib-imscmservice.so vendor/lib64/lib-imscommon.so
vendor/lib64/lib-imsdpl.so vendor/lib64/lib-imsdpl.so
vendor/lib64/lib-imsqimf.so vendor/lib64/lib-imsqimf.so
vendor/lib64/lib-imsrcs-v2.so vendor/lib64/lib-imsrcsservice.so
vendor/lib64/lib-imsrcsbaseimpl.so vendor/lib64/lib-imsSDP.so
vendor/lib64/lib-imsservice.so
vendor/lib64/lib-imsvtcore.so vendor/lib64/lib-imsvtcore.so
vendor/lib64/lib-imsxml.so vendor/lib64/lib-imsxml.so
vendor/lib64/lib-rcsconfig.so
vendor/lib64/lib-rtpcommon.so vendor/lib64/lib-rtpcommon.so
vendor/lib64/lib-rtpcore.so vendor/lib64/lib-rtpcore.so
vendor/lib64/lib-rtpsl.so vendor/lib64/lib-rtpsl.so
vendor/lib64/lib-siputility.so
vendor/lib64/lib-uceservice.so
vendor/lib64/librcc.so vendor/lib64/librcc.so
vendor/lib64/vendor.qti.hardware.radio.ims@1.0.so vendor/lib64/vendor.qti.hardware.radio.ims@1.0.so
vendor/lib64/vendor.qti.hardware.radio.ims@1.1.so vendor/lib64/vendor.qti.hardware.radio.ims@1.1.so
@ -857,6 +1014,7 @@ vendor/etc/init/vendor.qti.hardware.sensorscalibrate@1.0-service.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/etc/permissions/vendor-qti-hardware-sensorscalibrate.xml vendor/etc/permissions/vendor-qti-hardware-sensorscalibrate.xml
vendor/etc/sensors/hals.conf
vendor/lib64/hw/vendor.qti.hardware.sensorscalibrate@1.0-impl.so vendor/lib64/hw/vendor.qti.hardware.sensorscalibrate@1.0-impl.so
vendor/lib64/libsensorcal.so vendor/lib64/libsensorcal.so
vendor/lib64/libsensorslog.so vendor/lib64/libsensorslog.so
@ -867,6 +1025,7 @@ vendor/lib64/libsnsapi.so
vendor/lib64/libsnsdiaglog.so vendor/lib64/libsnsdiaglog.so
vendor/lib64/libssc.so vendor/lib64/libssc.so
vendor/lib64/libssc_default_listener.so vendor/lib64/libssc_default_listener.so
vendor/lib64/libsdsprpc.so
vendor/lib64/sensors.moto.so vendor/lib64/sensors.moto.so
vendor/lib64/sensors.ssc.so vendor/lib64/sensors.ssc.so
vendor/lib64/vendor.qti.hardware.sensorscalibrate@1.0.so vendor/lib64/vendor.qti.hardware.sensorscalibrate@1.0.so
@ -900,7 +1059,6 @@ vendor/lib64/vendor.qti.hardware.soter@1.0.so
vendor/bin/thermal-engine vendor/bin/thermal-engine
vendor/etc/init/init_thermal-engine.rc vendor/etc/init/init_thermal-engine.rc
-vendor/lib/libthermalclient.so -vendor/lib/libthermalclient.so
vendor/lib64/libsystempioctl.so
-vendor/lib64/libthermalclient.so -vendor/lib64/libthermalclient.so
# Time services # Time services
@ -910,14 +1068,31 @@ vendor/etc/init/init.time_daemon.rc
vendor/lib64/libtime_genoff.so vendor/lib64/libtime_genoff.so
# Trusted Execution Environment connector # Trusted Execution Environment connector
vendor/bin/hw/vendor.qti.hardware.qteeconnector@1.0-service
vendor/etc/init/vendor.qti.hardware.qteeconnector@1.0-service.rc
vendor/lib64/hw/vendor.qti.hardware.qteeconnector@1.0-impl.so
vendor/lib64/libGPQTEEC_vendor.so vendor/lib64/libGPQTEEC_vendor.so
vendor/lib64/libGPTEE_vendor.so vendor/lib64/libGPTEE_vendor.so
vendor/lib64/libQTEEConnector_vendor.so vendor/lib64/libQTEEConnector_vendor.so
vendor/lib64/vendor.qti.hardware.qteeconnector@1.0.so vendor/lib64/vendor.qti.hardware.qteeconnector@1.0.so
# Trusted User Interface # Trusted User Interface
vendor/bin/hw/vendor.qti.hardware.trustedui@1.0-service-qti
vendor/bin/hw/vendor.qti.hardware.tui_comm@1.0-service-qti vendor/bin/hw/vendor.qti.hardware.tui_comm@1.0-service-qti
vendor/etc/init/vendor.qti.hardware.trustedui@1.0-service-qti.rc
vendor/etc/init/vendor.qti.hardware.tui_comm@1.0-service-qti.rc vendor/etc/init/vendor.qti.hardware.tui_comm@1.0-service-qti.rc
vendor/lib64/libsi.so
vendor/lib64/libTouchInputVM.so
vendor/lib64/libTrustedInput.so
vendor/lib64/libTrustedInputTZ.so
vendor/lib64/libTrustedUI.so
vendor/lib64/libTrustedUITZ.so
vendor/lib64/libTrustedUIVM.so
vendor/lib64/libtrustedapploader.so
vendor/lib64/vendor.qti.hardware.systemhelper@1.0.so
vendor/lib64/vendor.qti.hardware.trustedui@1.0.so
vendor/lib64/vendor.qti.hardware.trustedui@1.1.so
vendor/lib64/vendor.qti.hardware.trustedui@1.2.so
vendor/lib64/vendor.qti.hardware.tui_comm@1.0.so vendor/lib64/vendor.qti.hardware.tui_comm@1.0.so
# Vibrator firmware # Vibrator firmware
@ -974,28 +1149,79 @@ vendor/firmware/aw8695_rtp_Sparse.bin
vendor/firmware/aw8695_rtp_Terrabytes.bin vendor/firmware/aw8695_rtp_Terrabytes.bin
vendor/firmware/aw8695_rtp_Verizon_Airwaves.bin vendor/firmware/aw8695_rtp_Verizon_Airwaves.bin
vendor/firmware/aw8695_rtp_Zero_Hour.bin vendor/firmware/aw8695_rtp_Zero_Hour.bin
vendor/firmware/aw882xx_mono.bin
vendor/firmware/aw882xx_rcv_reg.bin
vendor/firmware/aw882xx_spk_reg.bin
# VPP # VPP
vendor/bin/hw/qconfigservice
vendor/bin/vppservice vendor/bin/vppservice
vendor/etc/configstore/vpp.configstore.xml vendor/etc/configstore/vpp.configstore.xml
vendor/etc/init/qconfig.rc
vendor/etc/init/vppservice.rc vendor/etc/init/vppservice.rc
vendor/lib/libqconfigclient.so
vendor/lib/libvppclient.so vendor/lib/libvppclient.so
vendor/lib/libvpphcp.so vendor/lib/libvpphcp.so
vendor/lib/libvpphvx.so vendor/lib/libvpphvx.so
vendor/lib/libvpplibrary.so vendor/lib/libvpplibrary.so
vendor/lib/vendor.qti.hardware.qconfig@1.0.so
vendor/lib/vendor.qti.hardware.vpp@1.1.so vendor/lib/vendor.qti.hardware.vpp@1.1.so
vendor/lib/vendor.qti.hardware.vpp@1.2.so vendor/lib/vendor.qti.hardware.vpp@1.2.so
vendor/lib/vendor.qti.hardware.vpp@1.3.so vendor/lib/vendor.qti.hardware.vpp@1.3.so
vendor/lib/vendor.qti.hardware.vpp@2.0.so
vendor/lib64/libqconfigclient.so
vendor/lib64/libvppclient.so vendor/lib64/libvppclient.so
vendor/lib64/libvpphcp.so vendor/lib64/libvpphcp.so
vendor/lib64/libvpphvx.so vendor/lib64/libvpphvx.so
vendor/lib64/libvpplibrary.so vendor/lib64/libvpplibrary.so
vendor/lib64/vendor.qti.hardware.qconfig@1.0.so
vendor/lib64/vendor.qti.hardware.vpp@1.1.so vendor/lib64/vendor.qti.hardware.vpp@1.1.so
vendor/lib64/vendor.qti.hardware.vpp@1.2.so vendor/lib64/vendor.qti.hardware.vpp@1.2.so
vendor/lib64/vendor.qti.hardware.vpp@1.3.so vendor/lib64/vendor.qti.hardware.vpp@1.3.so
vendor/lib64/vendor.qti.hardware.vpp@2.0.so
# VPU firmware
vendor/firmware/vpu20_2v.b01
vendor/firmware/vpu20_2v.b02
vendor/firmware/vpu20_2v.b03
vendor/firmware/vpu20_2v.b04
vendor/firmware/vpu20_2v.b05
vendor/firmware/vpu20_2v.b06
vendor/firmware/vpu20_2v.b07
vendor/firmware/vpu20_2v.b08
vendor/firmware/vpu20_2v.b09
vendor/firmware/vpu20_2v.b10
vendor/firmware/vpu20_2v.b11
vendor/firmware/vpu20_2v.b12
vendor/firmware/vpu20_2v.b13
vendor/firmware/vpu20_2v.b14
vendor/firmware/vpu20_2v.b15
vendor/firmware/vpu20_2v.b16
vendor/firmware/vpu20_2v.b17
vendor/firmware/vpu20_2v.b18
vendor/firmware/vpu20_2v.b19
vendor/firmware/vpu20_2v.mbn
vendor/firmware/vpu20_2v.mdt
vendor/firmware/vpu20_2v_unsigned.mbn
vendor/firmware/vpu20_4v.b01
vendor/firmware/vpu20_4v.b02
vendor/firmware/vpu20_4v.b03
vendor/firmware/vpu20_4v.b04
vendor/firmware/vpu20_4v.b05
vendor/firmware/vpu20_4v.b06
vendor/firmware/vpu20_4v.b07
vendor/firmware/vpu20_4v.b08
vendor/firmware/vpu20_4v.b09
vendor/firmware/vpu20_4v.b10
vendor/firmware/vpu20_4v.b11
vendor/firmware/vpu20_4v.b12
vendor/firmware/vpu20_4v.b13
vendor/firmware/vpu20_4v.b14
vendor/firmware/vpu20_4v.b15
vendor/firmware/vpu20_4v.b16
vendor/firmware/vpu20_4v.b17
vendor/firmware/vpu20_4v.b18
vendor/firmware/vpu20_4v.b19
vendor/firmware/vpu20_4v.mbn
vendor/firmware/vpu20_4v.mdt
vendor/firmware/vpu20_4v_unsigned.mbn
# Widevine DRM # Widevine DRM
vendor/bin/hw/android.hardware.drm@1.3-service.widevine vendor/bin/hw/android.hardware.drm@1.3-service.widevine
@ -1007,6 +1233,7 @@ vendor/lib64/libwvhidl.so
# WiFi # WiFi
vendor/bin/cnss-daemon vendor/bin/cnss-daemon
vendor/etc/init/init.vendor.wlan.rc
vendor/etc/wifi/aoa_cldb_falcon.bin vendor/etc/wifi/aoa_cldb_falcon.bin
vendor/etc/wifi/aoa_cldb_swl14.bin vendor/etc/wifi/aoa_cldb_swl14.bin

View File

@ -14,4 +14,10 @@
<!-- Wifi driver supports IEEE80211AX single user beamformee for softap --> <!-- Wifi driver supports IEEE80211AX single user beamformee for softap -->
<bool translatable="false" name="config_wifiSoftapHeSuBeamformeeSupported">true</bool> <bool translatable="false" name="config_wifiSoftapHeSuBeamformeeSupported">true</bool>
<!-- Wifi driver supports IEEE80211AX multiple user beamformer for softap -->
<bool translatable="false" name="config_wifiSoftapHeMuBeamformerSupported">true</bool>
<!-- Wifi driver supports IEEE80211AX TWT (Target Wake Time) for softap -->
<bool translatable="false" name="config_wifiSoftapHeTwtSupported">true</bool>
</resources> </resources>

View File

@ -1,30 +0,0 @@
#!/vendor/bin/sh
debug=$(getprop ro.boot.gbdebug 2> /dev/null)
bootmode=$(getprop ro.bootmode 2> /dev/null)
# If androidboot.gbdebug is set on command line, skip inserting
# the pre-installed modules.
if [ "$debug" == "1" ]; then
return 0
fi
insmod /vendor/lib/modules/greybus.ko
# Only support PTP and BATTERY in charge-only mode
if [ "$bootmode" == "charger" ]; then
insmod /vendor/lib/modules/gb-mods.ko
insmod /vendor/lib/modules/gb-battery.ko
insmod /vendor/lib/modules/gb-ptp.ko
return 0
fi
gbmods="/vendor/lib/modules/gb-*"
for mod in $gbmods
do
insmod $mod
done
insmod /vendor/lib/modules/v4l2-hal.ko
start vendor.mods_camd

View File

@ -0,0 +1,365 @@
#=============================================================================
# Copyright (c) 2020-2021 Qualcomm Technologies, Inc.
# All Rights Reserved.
# Confidential and Proprietary - Qualcomm Technologies, Inc.
#
# Copyright (c) 2009-2012, 2014-2019, The Linux Foundation. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# * Neither the name of The Linux Foundation nor
# the names of its contributors may be used to endorse or promote
# products derived from this software without specific prior written
# permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
# NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#=============================================================================
function configure_zram_parameters() {
MemTotalStr=`cat /proc/meminfo | grep MemTotal`
MemTotal=${MemTotalStr:16:8}
low_ram=`getprop ro.config.low_ram`
# Zram disk - 75% for Go and < 2GB devices .
# For >2GB Non-Go devices, size = 50% of RAM size. Limit the size to 4GB.
# And enable lz4 zram compression for Go targets.
let RamSizeGB="( $MemTotal / 1048576 ) + 1"
diskSizeUnit=M
if [ $RamSizeGB -le 2 ]; then
let zRamSizeMB="( $RamSizeGB * 1024 ) * 3 / 4"
else
let zRamSizeMB="( $RamSizeGB * 1024 ) / 2"
fi
# use MB avoid 32 bit overflow
if [ $zRamSizeMB -gt 4096 ]; then
let zRamSizeMB=4096
fi
if [ "$low_ram" == "true" ]; then
echo lz4 > /sys/block/zram0/comp_algorithm
fi
if [ -f /sys/block/zram0/disksize ]; then
if [ -f /sys/block/zram0/use_dedup ]; then
echo 1 > /sys/block/zram0/use_dedup
fi
echo "$zRamSizeMB""$diskSizeUnit" > /sys/block/zram0/disksize
# ZRAM may use more memory than it saves if SLAB_STORE_USER
# debug option is enabled.
if [ -e /sys/kernel/slab/zs_handle ]; then
echo 0 > /sys/kernel/slab/zs_handle/store_user
fi
if [ -e /sys/kernel/slab/zspage ]; then
echo 0 > /sys/kernel/slab/zspage/store_user
fi
mkswap /dev/block/zram0
swapon /dev/block/zram0 -p 32758
fi
}
function configure_read_ahead_kb_values() {
MemTotalStr=`cat /proc/meminfo | grep MemTotal`
MemTotal=${MemTotalStr:16:8}
dmpts=$(ls /sys/block/*/queue/read_ahead_kb | grep -e dm -e mmc)
# Set 128 for <= 3GB &
# set 512 for >= 4GB targets.
if [ $MemTotal -le 3145728 ]; then
ra_kb=128
else
ra_kb=512
fi
if [ -f /sys/block/mmcblk0/bdi/read_ahead_kb ]; then
echo $ra_kb > /sys/block/mmcblk0/bdi/read_ahead_kb
fi
if [ -f /sys/block/mmcblk0rpmb/bdi/read_ahead_kb ]; then
echo $ra_kb > /sys/block/mmcblk0rpmb/bdi/read_ahead_kb
fi
for dm in $dmpts; do
echo $ra_kb > $dm
done
}
function configure_memory_parameters() {
# Set Memory parameters.
#
# Set per_process_reclaim tuning parameters
# All targets will use vmpressure range 50-70,
# All targets will use 512 pages swap size.
#
# Set Low memory killer minfree parameters
# 32 bit Non-Go, all memory configurations will use 15K series
# 32 bit Go, all memory configurations will use uLMK + Memcg
# 64 bit will use Google default LMK series.
#
# Set ALMK parameters (usually above the highest minfree values)
# vmpressure_file_min threshold is always set slightly higher
# than LMK minfree's last bin value for all targets. It is calculated as
# vmpressure_file_min = (last bin - second last bin ) + last bin
#
# Set allocstall_threshold to 0 for all targets.
#
configure_zram_parameters
configure_read_ahead_kb_values
echo 0 > /proc/sys/vm/page-cluster
echo 100 > /proc/sys/vm/swappiness
}
rev=`cat /sys/devices/soc0/revision`
ddr_type=`od -An -tx /proc/device-tree/memory/ddr_device_type`
ddr_type4="07"
ddr_type5="08"
# Core control parameters for gold
echo 2 > /sys/devices/system/cpu/cpu4/core_ctl/min_cpus
echo 60 > /sys/devices/system/cpu/cpu4/core_ctl/busy_up_thres
echo 30 > /sys/devices/system/cpu/cpu4/core_ctl/busy_down_thres
echo 100 > /sys/devices/system/cpu/cpu4/core_ctl/offline_delay_ms
echo 3 > /sys/devices/system/cpu/cpu4/core_ctl/task_thres
# Core control parameters for gold+
echo 0 > /sys/devices/system/cpu/cpu7/core_ctl/min_cpus
echo 60 > /sys/devices/system/cpu/cpu7/core_ctl/busy_up_thres
echo 30 > /sys/devices/system/cpu/cpu7/core_ctl/busy_down_thres
echo 100 > /sys/devices/system/cpu/cpu7/core_ctl/offline_delay_ms
echo 1 > /sys/devices/system/cpu/cpu7/core_ctl/task_thres
# Controls how many more tasks should be eligible to run on gold CPUs
# w.r.t number of gold CPUs available to trigger assist (max number of
# tasks eligible to run on previous cluster minus number of CPUs in
# the previous cluster).
#
# Setting to 1 by default which means there should be at least
# 4 tasks eligible to run on gold cluster (tasks running on gold cores
# plus misfit tasks on silver cores) to trigger assitance from gold+.
echo 1 > /sys/devices/system/cpu/cpu7/core_ctl/nr_prev_assist_thresh
# Disable Core control on silver
echo 0 > /sys/devices/system/cpu/cpu0/core_ctl/enable
# Setting b.L scheduler parameters
echo 95 95 > /proc/sys/kernel/sched_upmigrate
echo 85 85 > /proc/sys/kernel/sched_downmigrate
echo 100 > /proc/sys/kernel/sched_group_upmigrate
echo 85 > /proc/sys/kernel/sched_group_downmigrate
echo 1 > /proc/sys/kernel/sched_walt_rotate_big_tasks
echo 400000000 > /proc/sys/kernel/sched_coloc_downmigrate_ns
echo 39000000 39000000 39000000 39000000 39000000 39000000 39000000 5000000 > /proc/sys/kernel/sched_coloc_busy_hyst_cpu_ns
echo 240 > /proc/sys/kernel/sched_coloc_busy_hysteresis_enable_cpus
echo 10 10 10 10 10 10 10 95 > /proc/sys/kernel/sched_coloc_busy_hyst_cpu_busy_pct
# set the threshold for low latency task boost feature which prioritize
# binder activity tasks
echo 325 > /proc/sys/kernel/walt_low_latency_task_threshold
# cpuset parameters
echo 0-3 > /dev/cpuset/background/cpus
echo 0-3 > /dev/cpuset/system-background/cpus
# Turn off scheduler boost at the end
echo 0 > /proc/sys/kernel/sched_boost
# configure governor settings for silver cluster
echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor
echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/down_rate_limit_us
echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/up_rate_limit_us
if [ $rev == "1.0" ]; then
echo 1190400 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/hispeed_freq
else
echo 1209600 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/hispeed_freq
fi
echo 691200 > /sys/devices/system/cpu/cpufreq/policy0/scaling_min_freq
echo 1 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/pl
# configure input boost settings
if [ $rev == "1.0" ]; then
echo "0:1382800" > /sys/devices/system/cpu/cpu_boost/input_boost_freq
else
echo "0:1305600" > /sys/devices/system/cpu/cpu_boost/input_boost_freq
fi
echo 120 > /sys/devices/system/cpu/cpu_boost/input_boost_ms
# configure governor settings for gold cluster
echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy4/scaling_governor
echo 0 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/down_rate_limit_us
echo 0 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/up_rate_limit_us
if [ $rev == "1.0" ]; then
echo 1497600 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/hispeed_freq
else
echo 1555200 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/hispeed_freq
fi
echo 1 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/pl
# configure governor settings for gold+ cluster
echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy7/scaling_governor
echo 0 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/down_rate_limit_us
echo 0 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/up_rate_limit_us
if [ $rev == "1.0" ]; then
echo 1536000 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/hispeed_freq
else
echo 1670400 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/hispeed_freq
fi
echo 1 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/pl
# configure bus-dcvs
for device in /sys/devices/platform/soc
do
for cpubw in $device/*cpu-cpu-llcc-bw/devfreq/*cpu-cpu-llcc-bw
do
cat $cpubw/available_frequencies | cut -d " " -f 1 > $cpubw/min_freq
echo "4577 7110 9155 12298 14236 15258" > $cpubw/bw_hwmon/mbps_zones
echo 4 > $cpubw/bw_hwmon/sample_ms
echo 80 > $cpubw/bw_hwmon/io_percent
echo 20 > $cpubw/bw_hwmon/hist_memory
echo 10 > $cpubw/bw_hwmon/hyst_length
echo 30 > $cpubw/bw_hwmon/down_thres
echo 0 > $cpubw/bw_hwmon/guard_band_mbps
echo 250 > $cpubw/bw_hwmon/up_scale
echo 1600 > $cpubw/bw_hwmon/idle_mbps
echo 12298 > $cpubw/max_freq
echo 40 > $cpubw/polling_interval
done
for llccbw in $device/*cpu-llcc-ddr-bw/devfreq/*cpu-llcc-ddr-bw
do
cat $llccbw/available_frequencies | cut -d " " -f 1 > $llccbw/min_freq
if [ ${ddr_type:4:2} == $ddr_type4 ]; then
echo "1720 2086 2929 3879 5931 6515 8136" > $llccbw/bw_hwmon/mbps_zones
elif [ ${ddr_type:4:2} == $ddr_type5 ]; then
echo "1720 2086 2929 3879 6515 7980 12191" > $llccbw/bw_hwmon/mbps_zones
fi
echo 4 > $llccbw/bw_hwmon/sample_ms
echo 80 > $llccbw/bw_hwmon/io_percent
echo 20 > $llccbw/bw_hwmon/hist_memory
echo 10 > $llccbw/bw_hwmon/hyst_length
echo 30 > $llccbw/bw_hwmon/down_thres
echo 0 > $llccbw/bw_hwmon/guard_band_mbps
echo 250 > $llccbw/bw_hwmon/up_scale
echo 1600 > $llccbw/bw_hwmon/idle_mbps
echo 6515 > $llccbw/max_freq
echo 40 > $llccbw/polling_interval
done
for l3bw in $device/*snoop-l3-bw/devfreq/*snoop-l3-bw
do
cat $l3bw/available_frequencies | cut -d " " -f 1 > $l3bw/min_freq
echo 4 > $l3bw/bw_hwmon/sample_ms
echo 10 > $l3bw/bw_hwmon/io_percent
echo 20 > $l3bw/bw_hwmon/hist_memory
echo 10 > $l3bw/bw_hwmon/hyst_length
echo 0 > $l3bw/bw_hwmon/down_thres
echo 0 > $l3bw/bw_hwmon/guard_band_mbps
echo 0 > $l3bw/bw_hwmon/up_scale
echo 1600 > $l3bw/bw_hwmon/idle_mbps
echo 9155 > $l3bw/max_freq
echo 40 > $l3bw/polling_interval
done
# configure mem_latency settings for LLCC and DDR scaling and qoslat
for memlat in $device/*lat/devfreq/*lat
do
cat $memlat/available_frequencies | cut -d " " -f 1 > $memlat/min_freq
echo 8 > $memlat/polling_interval
echo 400 > $memlat/mem_latency/ratio_ceil
done
# configure compute settings for gold latfloor
for latfloor in $device/*cpu4-cpu*latfloor/devfreq/*cpu4-cpu*latfloor
do
cat $latfloor/available_frequencies | cut -d " " -f 1 > $latfloor/min_freq
echo 8 > $latfloor/polling_interval
done
# configure mem_latency settings for prime latfloor
for latfloor in $device/*cpu7-cpu*latfloor/devfreq/*cpu7-cpu*latfloor
do
cat $latfloor/available_frequencies | cut -d " " -f 1 > $latfloor/min_freq
echo 8 > $latfloor/polling_interval
echo 25000 > $latfloor/mem_latency/ratio_ceil
done
# CPU4 L3 ratio ceil
for l3gold in $device/*cpu4-cpu-l3-lat/devfreq/*cpu4-cpu-l3-lat
do
echo 4000 > $l3gold/mem_latency/ratio_ceil
done
# CPU5 L3 ratio ceil
for l3gold in $device/*cpu5-cpu-l3-lat/devfreq/*cpu5-cpu-l3-lat
do
echo 4000 > $l3gold/mem_latency/ratio_ceil
done
# CPU6 L3 ratio ceil
for l3gold in $device/*cpu6-cpu-l3-lat/devfreq/*cpu6-cpu-l3-lat
do
echo 4000 > $l3gold/mem_latency/ratio_ceil
done
# prime L3 ratio ceil
for l3prime in $device/*cpu7-cpu-l3-lat/devfreq/*cpu7-cpu-l3-lat
do
echo 20000 > $l3prime/mem_latency/ratio_ceil
done
# qoslat ratio ceil
for qoslat in $device/*qoslat/devfreq/*qoslat
do
echo 50 > $qoslat/mem_latency/ratio_ceil
done
done
echo N > /sys/module/lpm_levels/parameters/sleep_disabled
echo s2idle > /sys/power/mem_sleep
configure_memory_parameters
# Let kernel know our image version/variant/crm_version
if [ -f /sys/devices/soc0/select_image ]; then
image_version="10:"
image_version+=`getprop ro.build.id`
image_version+=":"
image_version+=`getprop ro.build.version.incremental`
image_variant=`getprop ro.product.name`
image_variant+="-"
image_variant+=`getprop ro.build.type`
oem_version=`getprop ro.build.version.codename`
echo 10 > /sys/devices/soc0/select_image
echo $image_version > /sys/devices/soc0/image_version
echo $image_variant > /sys/devices/soc0/image_variant
echo $oem_version > /sys/devices/soc0/image_crm_version
fi
# Change console log level as per console config property
console_config=`getprop persist.vendor.console.silent.config`
case "$console_config" in
"1")
echo "Enable console config to $console_config"
echo 0 > /proc/sys/kernel/printk
;;
*)
echo "Enable console config to $console_config"
;;
esac
setprop vendor.post_boot.parsed 1

View File

@ -0,0 +1,388 @@
#=============================================================================
# Copyright (c) 2020 Qualcomm Technologies, Inc.
# All Rights Reserved.
# Confidential and Proprietary - Qualcomm Technologies, Inc.
#
# Copyright (c) 2009-2012, 2014-2019, The Linux Foundation. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# * Neither the name of The Linux Foundation nor
# the names of its contributors may be used to endorse or promote
# products derived from this software without specific prior written
# permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
# NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#=============================================================================
function configure_zram_parameters() {
MemTotalStr=`cat /proc/meminfo | grep MemTotal`
MemTotal=${MemTotalStr:16:8}
low_ram=`getprop ro.config.low_ram`
# Zram disk - 75% for Go and < 2GB devices .
# For >2GB Non-Go devices, size = 50% of RAM size. Limit the size to 4GB.
# And enable lz4 zram compression for Go targets.
let RamSizeGB="( $MemTotal / 1048576 ) + 1"
diskSizeUnit=M
if [ $RamSizeGB -le 2 ]; then
let zRamSizeMB="( $RamSizeGB * 1024 ) * 3 / 4"
else
let zRamSizeMB="( $RamSizeGB * 1024 ) / 2"
fi
# use MB avoid 32 bit overflow
if [ $zRamSizeMB -gt 4096 ]; then
let zRamSizeMB=4096
fi
if [ "$low_ram" == "true" ]; then
echo lz4 > /sys/block/zram0/comp_algorithm
fi
if [ -f /sys/block/zram0/disksize ]; then
if [ -f /sys/block/zram0/use_dedup ]; then
echo 1 > /sys/block/zram0/use_dedup
fi
echo "$zRamSizeMB""$diskSizeUnit" > /sys/block/zram0/disksize
# ZRAM may use more memory than it saves if SLAB_STORE_USER
# debug option is enabled.
if [ -e /sys/kernel/slab/zs_handle ]; then
echo 0 > /sys/kernel/slab/zs_handle/store_user
fi
if [ -e /sys/kernel/slab/zspage ]; then
echo 0 > /sys/kernel/slab/zspage/store_user
fi
mkswap /dev/block/zram0
swapon /dev/block/zram0 -p 32758
fi
}
function configure_read_ahead_kb_values() {
MemTotalStr=`cat /proc/meminfo | grep MemTotal`
MemTotal=${MemTotalStr:16:8}
dmpts=$(ls /sys/block/*/queue/read_ahead_kb | grep -e dm -e mmc)
# Set 128 for <= 3GB &
# set 512 for >= 4GB targets.
if [ $MemTotal -le 3145728 ]; then
ra_kb=128
else
ra_kb=512
fi
if [ -f /sys/block/mmcblk0/bdi/read_ahead_kb ]; then
echo $ra_kb > /sys/block/mmcblk0/bdi/read_ahead_kb
fi
if [ -f /sys/block/mmcblk0rpmb/bdi/read_ahead_kb ]; then
echo $ra_kb > /sys/block/mmcblk0rpmb/bdi/read_ahead_kb
fi
for dm in $dmpts; do
echo $ra_kb > $dm
done
}
function configure_memory_parameters() {
# Set Memory parameters.
#
# Set per_process_reclaim tuning parameters
# All targets will use vmpressure range 50-70,
# All targets will use 512 pages swap size.
#
# Set Low memory killer minfree parameters
# 32 bit Non-Go, all memory configurations will use 15K series
# 32 bit Go, all memory configurations will use uLMK + Memcg
# 64 bit will use Google default LMK series.
#
# Set ALMK parameters (usually above the highest minfree values)
# vmpressure_file_min threshold is always set slightly higher
# than LMK minfree's last bin value for all targets. It is calculated as
# vmpressure_file_min = (last bin - second last bin ) + last bin
#
# Set allocstall_threshold to 0 for all targets.
#
ProductName=`getprop ro.product.name`
configure_zram_parameters
configure_read_ahead_kb_values
echo 0 > /proc/sys/vm/page-cluster
echo 100 > /proc/sys/vm/swappiness
# Disable wsf beacause we are using efk.
# wsf Range : 1..1000. So set to bare minimum value 1.
echo 1 > /proc/sys/vm/watermark_scale_factor
#Spawn 2 kswapd threads which can help in fast reclaiming of pages
echo 2 > /proc/sys/vm/kswapd_threads
}
rev=`cat /sys/devices/soc0/revision`
ddr_type=`od -An -tx /proc/device-tree/memory/ddr_device_type`
ddr_type4="07"
ddr_type5="08"
# Core control parameters for gold
echo 2 > /sys/devices/system/cpu/cpu4/core_ctl/min_cpus
echo 60 > /sys/devices/system/cpu/cpu4/core_ctl/busy_up_thres
echo 30 > /sys/devices/system/cpu/cpu4/core_ctl/busy_down_thres
echo 100 > /sys/devices/system/cpu/cpu4/core_ctl/offline_delay_ms
echo 3 > /sys/devices/system/cpu/cpu4/core_ctl/task_thres
# Core control parameters for gold+
echo 0 > /sys/devices/system/cpu/cpu7/core_ctl/min_cpus
echo 60 > /sys/devices/system/cpu/cpu7/core_ctl/busy_up_thres
echo 30 > /sys/devices/system/cpu/cpu7/core_ctl/busy_down_thres
echo 100 > /sys/devices/system/cpu/cpu7/core_ctl/offline_delay_ms
echo 1 > /sys/devices/system/cpu/cpu7/core_ctl/task_thres
# Controls how many more tasks should be eligible to run on gold CPUs
# w.r.t number of gold CPUs available to trigger assist (max number of
# tasks eligible to run on previous cluster minus number of CPUs in
# the previous cluster).
#
# Setting to 1 by default which means there should be at least
# 4 tasks eligible to run on gold cluster (tasks running on gold cores
# plus misfit tasks on silver cores) to trigger assitance from gold+.
echo 1 > /sys/devices/system/cpu/cpu7/core_ctl/nr_prev_assist_thresh
# Disable Core control on silver
echo 0 > /sys/devices/system/cpu/cpu0/core_ctl/enable
# Setting b.L scheduler parameters
echo 71 95 > /proc/sys/kernel/sched_upmigrate
echo 65 85 > /proc/sys/kernel/sched_downmigrate
echo 100 > /proc/sys/kernel/sched_group_upmigrate
echo 85 > /proc/sys/kernel/sched_group_downmigrate
echo 1 > /proc/sys/kernel/sched_walt_rotate_big_tasks
echo 0 > /proc/sys/kernel/sched_coloc_busy_hysteresis_enable_cpus
# cpuset parameters
echo 0-3 > /dev/cpuset/background/cpus
echo 0-3 > /dev/cpuset/system-background/cpus
# Turn off scheduler boost at the end
echo 0 > /proc/sys/kernel/sched_boost
# configure governor settings for silver cluster
echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor
echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/down_rate_limit_us
echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/up_rate_limit_us
echo 1171200 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/hispeed_freq
echo 691200 > /sys/devices/system/cpu/cpufreq/policy0/scaling_min_freq
echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/pl
# configure input boost settings
echo "0:1171200" > /sys/devices/system/cpu/cpu_boost/input_boost_freq
echo 120 > /sys/devices/system/cpu/cpu_boost/input_boost_ms
# configure governor settings for gold cluster
echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy4/scaling_governor
echo 0 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/down_rate_limit_us
echo 0 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/up_rate_limit_us
echo 1209000 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/hispeed_freq
echo 691200 > /sys/devices/system/cpu/cpufreq/policy4/scaling_min_freq
echo 85 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/hispeed_load
echo -6 > /sys/devices/system/cpu/cpu4/sched_load_boost
echo -6 > /sys/devices/system/cpu/cpu5/sched_load_boost
echo -6 > /sys/devices/system/cpu/cpu6/sched_load_boost
echo 0 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/rtg_boost_freq
echo 0 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/pl
# configure governor settings for gold+ cluster
echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy7/scaling_governor
echo 0 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/down_rate_limit_us
echo 0 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/up_rate_limit_us
echo 1267000 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/hispeed_freq
echo 806400 > /sys/devices/system/cpu/cpufreq/policy7/scaling_min_freq
echo 85 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/hispeed_load
echo -6 > /sys/devices/system/cpu/cpu7/sched_load_boost
echo 0 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/rtg_boost_freq
echo 0 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/pl
# colocation V3 settings
echo 691200 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/rtg_boost_freq
echo 51 > /proc/sys/kernel/sched_min_task_util_for_boost
echo 35 > /proc/sys/kernel/sched_min_task_util_for_colocation
echo 20000000 > /proc/sys/kernel/sched_task_unfilter_period
# Enable conservative pl
echo 1 > /proc/sys/kernel/sched_conservative_pl
# configure bus-dcvs
for device in /sys/devices/platform/soc
do
for cpubw in $device/*cpu-cpu-llcc-bw/devfreq/*cpu-cpu-llcc-bw
do
cat $cpubw/available_frequencies | cut -d " " -f 1 > $cpubw/min_freq
echo "2288 4577 7110 9155 12298 14236 15258" > $cpubw/bw_hwmon/mbps_zones
echo 4 > $cpubw/bw_hwmon/sample_ms
echo 68 > $cpubw/bw_hwmon/io_percent
echo 20 > $cpubw/bw_hwmon/hist_memory
echo 0 > $cpubw/bw_hwmon/hyst_length
echo 80 > $cpubw/bw_hwmon/down_thres
echo 0 > $cpubw/bw_hwmon/guard_band_mbps
echo 250 > $cpubw/bw_hwmon/up_scale
echo 1600 > $cpubw/bw_hwmon/idle_mbps
echo 40 > $cpubw/polling_interval
done
for llccbw in $device/*cpu-llcc-ddr-bw/devfreq/*cpu-llcc-ddr-bw
do
cat $llccbw/available_frequencies | cut -d " " -f 1 > $llccbw/min_freq
if [ ${ddr_type:4:2} == $ddr_type4 ]; then
echo "1144 1720 2086 2929 3879 5931 6515 8136" > $llccbw/bw_hwmon/mbps_zones
elif [ ${ddr_type:4:2} == $ddr_type5 ]; then
echo "1144 1720 2086 2929 3879 5931 6515 7980 12191" > $llccbw/bw_hwmon/mbps_zones
fi
echo 4 > $llccbw/bw_hwmon/sample_ms
echo 68 > $llccbw/bw_hwmon/io_percent
echo 20 > $llccbw/bw_hwmon/hist_memory
echo 0 > $llccbw/bw_hwmon/hyst_length
echo 80 > $llccbw/bw_hwmon/down_thres
echo 0 > $llccbw/bw_hwmon/guard_band_mbps
echo 250 > $llccbw/bw_hwmon/up_scale
echo 1600 > $llccbw/bw_hwmon/idle_mbps
echo 48 > $llccbw/polling_interval
done
for l3bw in $device/*snoop-l3-bw/devfreq/*snoop-l3-bw
do
cat $l3bw/available_frequencies | cut -d " " -f 1 > $l3bw/min_freq
echo 4 > $l3bw/bw_hwmon/sample_ms
echo 10 > $l3bw/bw_hwmon/io_percent
echo 20 > $l3bw/bw_hwmon/hist_memory
echo 10 > $l3bw/bw_hwmon/hyst_length
echo 0 > $l3bw/bw_hwmon/down_thres
echo 0 > $l3bw/bw_hwmon/guard_band_mbps
echo 0 > $l3bw/bw_hwmon/up_scale
echo 1600 > $l3bw/bw_hwmon/idle_mbps
echo 9155 > $l3bw/max_freq
echo 40 > $l3bw/polling_interval
done
# configure mem_latency settings for LLCC and DDR scaling and qoslat
for memlat in $device/*lat/devfreq/*lat
do
cat $memlat/available_frequencies | cut -d " " -f 1 > $memlat/min_freq
echo 8 > $memlat/polling_interval
echo 400 > $memlat/mem_latency/ratio_ceil
done
# configure compute settings for silver latfloor
for latfloor in $device/*cpu0-cpu*latfloor/devfreq/*cpu0-cpu*latfloor
do
cat $latfloor/available_frequencies | cut -d " " -f 1 > $latfloor/min_freq
echo 8 > $latfloor/polling_interval
done
# configure compute settings for gold latfloor
for latfloor in $device/*cpu4-cpu*latfloor/devfreq/*cpu4-cpu*latfloor
do
cat $latfloor/available_frequencies | cut -d " " -f 1 > $latfloor/min_freq
echo 8 > $latfloor/polling_interval
done
# configure mem_latency settings for prime latfloor
for latfloor in $device/*cpu7-cpu*latfloor/devfreq/*cpu7-cpu*latfloor
do
cat $latfloor/available_frequencies | cut -d " " -f 1 > $latfloor/min_freq
echo 8 > $latfloor/polling_interval
echo 25000 > $latfloor/mem_latency/ratio_ceil
done
# CPU4 L3 ratio ceil
for l3gold in $device/*cpu4-cpu-l3-lat/devfreq/*cpu4-cpu-l3-lat
do
echo 4000 > $l3gold/mem_latency/ratio_ceil
echo 25000 > $l3gold/mem_latency/wb_filter_ratio
echo 60 > $l3gold/mem_latency/wb_pct_thres
done
# CPU5 L3 ratio ceil
for l3gold in $device/*cpu5-cpu-l3-lat/devfreq/*cpu5-cpu-l3-lat
do
echo 4000 > $l3gold/mem_latency/ratio_ceil
echo 25000 > $l3gold/mem_latency/wb_filter_ratio
echo 60 > $l3gold/mem_latency/wb_pct_thres
done
# CPU6 L3 ratio ceil
for l3gold in $device/*cpu6-cpu-l3-lat/devfreq/*cpu6-cpu-l3-lat
do
echo 4000 > $l3gold/mem_latency/ratio_ceil
echo 25000 > $l3gold/mem_latency/wb_filter_ratio
echo 60 > $l3gold/mem_latency/wb_pct_thres
done
# prime L3 ratio ceil
for l3prime in $device/*cpu7-cpu-l3-lat/devfreq/*cpu7-cpu-l3-lat
do
echo 20000 > $l3prime/mem_latency/ratio_ceil
echo 25000 > $l3prime/mem_latency/wb_filter_ratio
echo 60 > $l3prime/mem_latency/wb_pct_thres
done
# qoslat ratio ceil
for qoslat in $device/*qoslat/devfreq/*qoslat
do
echo 50 > $qoslat/mem_latency/ratio_ceil
done
done
#Enable sleep and set s2idle as default suspend mode
echo N > /sys/module/lpm_levels/parameters/sleep_disabled
echo s2idle > /sys/power/mem_sleep
configure_memory_parameters
# Let kernel know our image version/variant/crm_version
if [ -f /sys/devices/soc0/select_image ]; then
image_version="10:"
image_version+=`getprop ro.build.id`
image_version+=":"
image_version+=`getprop ro.build.version.incremental`
image_variant=`getprop ro.product.name`
image_variant+="-"
image_variant+=`getprop ro.build.type`
oem_version=`getprop ro.build.version.codename`
echo 10 > /sys/devices/soc0/select_image
echo $image_version > /sys/devices/soc0/image_version
echo $image_variant > /sys/devices/soc0/image_variant
echo $oem_version > /sys/devices/soc0/image_crm_version
fi
# Change console log level as per console config property
console_config=`getprop persist.console.silent.config`
case "$console_config" in
"1")
echo "Enable console config to $console_config"
echo 0 > /proc/sys/kernel/printk
;;
*)
echo "Enable console config to $console_config"
;;
esac
setprop vendor.post_boot.parsed 1

View File

@ -0,0 +1,364 @@
#=============================================================================
# Copyright (c) 2020-2021 Qualcomm Technologies, Inc.
# All Rights Reserved.
# Confidential and Proprietary - Qualcomm Technologies, Inc.
#
# Copyright (c) 2009-2012, 2014-2019, The Linux Foundation. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# * Neither the name of The Linux Foundation nor
# the names of its contributors may be used to endorse or promote
# products derived from this software without specific prior written
# permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
# NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#=============================================================================
function configure_zram_parameters() {
# Moto yangbq2: Skip this if we are using zram from fstab.
using_zram_from_fstab=`getprop ro.boot.using_zram_from_fstab`
if [ "$using_zram_from_fstab" == "true" ]; then
return
fi
MemTotalStr=`cat /proc/meminfo | grep MemTotal`
MemTotal=${MemTotalStr:16:8}
low_ram=`getprop ro.config.low_ram`
# Zram disk - 75% for Go and < 2GB devices .
# For >2GB Non-Go devices, size = 50% of RAM size. Limit the size to 4GB.
# And enable lz4 zram compression for Go targets.
let RamSizeGB="( $MemTotal / 1048576 ) + 1"
diskSizeUnit=M
if [ $RamSizeGB -le 2 ]; then
let zRamSizeMB="( $RamSizeGB * 1024 ) * 3 / 4"
else
let zRamSizeMB="( $RamSizeGB * 1024 ) / 2"
fi
# use MB avoid 32 bit overflow
if [ $zRamSizeMB -gt 4096 ]; then
let zRamSizeMB=4096
fi
if [ "$low_ram" == "true" ]; then
echo lz4 > /sys/block/zram0/comp_algorithm
fi
if [ -f /sys/block/zram0/disksize ]; then
if [ -f /sys/block/zram0/use_dedup ]; then
echo 1 > /sys/block/zram0/use_dedup
fi
echo "$zRamSizeMB""$diskSizeUnit" > /sys/block/zram0/disksize
# ZRAM may use more memory than it saves if SLAB_STORE_USER
# debug option is enabled.
if [ -e /sys/kernel/slab/zs_handle ]; then
echo 0 > /sys/kernel/slab/zs_handle/store_user
fi
if [ -e /sys/kernel/slab/zspage ]; then
echo 0 > /sys/kernel/slab/zspage/store_user
fi
mkswap /dev/block/zram0
swapon /dev/block/zram0 -p 32758
fi
}
function configure_read_ahead_kb_values() {
MemTotalStr=`cat /proc/meminfo | grep MemTotal`
MemTotal=${MemTotalStr:16:8}
dmpts=$(ls /sys/block/*/queue/read_ahead_kb | grep -e dm -e mmc)
# Set 128 for <= 3GB &
# set 512 for >= 4GB targets.
if [ $MemTotal -le 3145728 ]; then
ra_kb=128
else
ra_kb=512
fi
if [ -f /sys/block/mmcblk0/bdi/read_ahead_kb ]; then
echo $ra_kb > /sys/block/mmcblk0/bdi/read_ahead_kb
fi
if [ -f /sys/block/mmcblk0rpmb/bdi/read_ahead_kb ]; then
echo $ra_kb > /sys/block/mmcblk0rpmb/bdi/read_ahead_kb
fi
for dm in $dmpts; do
echo $ra_kb > $dm
done
}
function configure_memory_parameters() {
# Set Memory parameters.
#
# Set per_process_reclaim tuning parameters
# All targets will use vmpressure range 50-70,
# All targets will use 512 pages swap size.
#
# Set Low memory killer minfree parameters
# 32 bit Non-Go, all memory configurations will use 15K series
# 32 bit Go, all memory configurations will use uLMK + Memcg
# 64 bit will use Google default LMK series.
#
# Set ALMK parameters (usually above the highest minfree values)
# vmpressure_file_min threshold is always set slightly higher
# than LMK minfree's last bin value for all targets. It is calculated as
# vmpressure_file_min = (last bin - second last bin ) + last bin
#
# Set allocstall_threshold to 0 for all targets.
#
ProductName=`getprop ro.product.name`
configure_zram_parameters
configure_read_ahead_kb_values
echo 100 > /proc/sys/vm/swappiness
# Disable wsf beacause we are using efk.
# wsf Range : 1..1000. So set to bare minimum value 1.
echo 1 > /proc/sys/vm/watermark_scale_factor
#Spawn 2 kswapd threads which can help in fast reclaiming of pages
#yangbq2 change kswapd threads to one thread
echo 1 > /proc/sys/vm/kswapd_threads
#yangbq2 disable watermark boost
echo 0 > /proc/sys/vm/watermark_boost_factor
}
rev=`cat /sys/devices/soc0/revision`
ddr_type=`od -An -tx /proc/device-tree/memory/ddr_device_type`
ddr_type4="07"
ddr_type5="08"
# Core control parameters for gold
# Prefer CPU4 for isolation based on the thermal characteristics.
echo 1 0 0 > /sys/devices/system/cpu/cpu4/core_ctl/not_preferred
echo 2 > /sys/devices/system/cpu/cpu4/core_ctl/min_cpus
echo 60 > /sys/devices/system/cpu/cpu4/core_ctl/busy_up_thres
echo 30 > /sys/devices/system/cpu/cpu4/core_ctl/busy_down_thres
echo 100 > /sys/devices/system/cpu/cpu4/core_ctl/offline_delay_ms
echo 3 > /sys/devices/system/cpu/cpu4/core_ctl/task_thres
# Core control parameters for gold+
echo 0 > /sys/devices/system/cpu/cpu7/core_ctl/min_cpus
echo 60 > /sys/devices/system/cpu/cpu7/core_ctl/busy_up_thres
echo 30 > /sys/devices/system/cpu/cpu7/core_ctl/busy_down_thres
echo 100 > /sys/devices/system/cpu/cpu7/core_ctl/offline_delay_ms
echo 1 > /sys/devices/system/cpu/cpu7/core_ctl/task_thres
# Controls how many more tasks should be eligible to run on gold CPUs
# w.r.t number of gold CPUs available to trigger assist (max number of
# tasks eligible to run on previous cluster minus number of CPUs in
# the previous cluster).
#
# Setting to 1 by default which means there should be at least
# 4 tasks eligible to run on gold cluster (tasks running on gold cores
# plus misfit tasks on silver cores) to trigger assitance from gold+.
echo 1 > /sys/devices/system/cpu/cpu7/core_ctl/nr_prev_assist_thresh
# Disable Core control on silver
echo 0 > /sys/devices/system/cpu/cpu0/core_ctl/enable
# Setting b.L scheduler parameters
echo 71 95 > /proc/sys/kernel/sched_upmigrate
echo 65 85 > /proc/sys/kernel/sched_downmigrate
echo 100 > /proc/sys/kernel/sched_group_upmigrate
echo 85 > /proc/sys/kernel/sched_group_downmigrate
echo 1 > /proc/sys/kernel/sched_walt_rotate_big_tasks
echo 0 > /proc/sys/kernel/sched_coloc_busy_hysteresis_enable_cpus
# cpuset parameters
echo 0-3 > /dev/cpuset/background/cpus
echo 0-3 > /dev/cpuset/system-background/cpus
# Turn off scheduler boost at the end
echo 0 > /proc/sys/kernel/sched_boost
# configure governor settings for silver cluster
echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor
echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/down_rate_limit_us
echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/up_rate_limit_us
echo 1152000 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/hispeed_freq
echo 691200 > /sys/devices/system/cpu/cpufreq/policy0/scaling_min_freq
echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/pl
# configure input boost settings
echo "0:1152000" > /sys/devices/system/cpu/cpu_boost/input_boost_freq
echo 120 > /sys/devices/system/cpu/cpu_boost/input_boost_ms
# configure governor settings for gold cluster
echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy4/scaling_governor
echo 0 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/down_rate_limit_us
echo 0 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/up_rate_limit_us
echo 1228800 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/hispeed_freq
echo 691200 > /sys/devices/system/cpu/cpufreq/policy4/scaling_min_freq
echo 85 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/hispeed_load
echo -6 > /sys/devices/system/cpu/cpu4/sched_load_boost
echo -6 > /sys/devices/system/cpu/cpu5/sched_load_boost
echo -6 > /sys/devices/system/cpu/cpu6/sched_load_boost
echo 0 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/rtg_boost_freq
echo 0 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/pl
# configure governor settings for gold+ cluster
echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy7/scaling_governor
echo 0 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/down_rate_limit_us
echo 0 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/up_rate_limit_us
echo 1324800 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/hispeed_freq
echo 806400 > /sys/devices/system/cpu/cpufreq/policy7/scaling_min_freq
echo 85 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/hispeed_load
echo -6 > /sys/devices/system/cpu/cpu7/sched_load_boost
echo 0 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/rtg_boost_freq
echo 0 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/pl
# colocation V3 settings
echo 691200 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/rtg_boost_freq
echo 51 > /proc/sys/kernel/sched_min_task_util_for_boost
echo 35 > /proc/sys/kernel/sched_min_task_util_for_colocation
echo 20000000 > /proc/sys/kernel/sched_task_unfilter_period
# Enable conservative pl
echo 1 > /proc/sys/kernel/sched_conservative_pl
# configure RIMPS for L3 DCVS
for c0_rimps_l3 in /sys/devices/system/cpu/memlat/c0_memlat/cpu0-cpu-l3-lat
do
cat $c0_rimps_l3/available_frequencies | cut -d " " -f 1 > $c0_rimps_l3/min_freq
echo 400 > $c0_rimps_l3/ratio_ceil
echo 3 > $c0_rimps_l3/sample_ms
done
for c4_rimps_l3 in /sys/devices/system/cpu/memlat/c4_memlat/cpu4-cpu-l3-lat
do
cat $c4_rimps_l3/available_frequencies | cut -d " " -f 1 > $c4_rimps_l3/min_freq
echo 4000 > $c4_rimps_l3/ratio_ceil
echo 3 > $c4_rimps_l3/sample_ms
echo 60 > $c4_rimps_l3/l2wb_pct
echo 25000 > $c4_rimps_l3/l2wb_filter
done
for c7_rimps_l3 in /sys/devices/system/cpu/memlat/c7_memlat/cpu7-cpu-l3-lat
do
cat $c7_rimps_l3/available_frequencies | cut -d " " -f 1 > $c7_rimps_l3/min_freq
echo 20000 > $c7_rimps_l3/ratio_ceil
echo 3 > $c7_rimps_l3/sample_ms
echo 60 > $c7_rimps_l3/l2wb_pct
echo 25000 > $c7_rimps_l3/l2wb_filter
done
# configure bus-dcvs
for device in /sys/devices/platform/soc
do
for cpubw in $device/*cpu-cpu-llcc-bw/devfreq/*cpu-cpu-llcc-bw
do
cat $cpubw/available_frequencies | cut -d " " -f 1 > $cpubw/min_freq
echo "2288 4577 7110 9155 12298 14236 15258" > $cpubw/bw_hwmon/mbps_zones
echo 4 > $cpubw/bw_hwmon/sample_ms
echo 68 > $cpubw/bw_hwmon/io_percent
echo 20 > $cpubw/bw_hwmon/hist_memory
echo 0 > $cpubw/bw_hwmon/hyst_length
echo 80 > $cpubw/bw_hwmon/down_thres
echo 0 > $cpubw/bw_hwmon/guard_band_mbps
echo 250 > $cpubw/bw_hwmon/up_scale
echo 1600 > $cpubw/bw_hwmon/idle_mbps
echo 40 > $cpubw/polling_interval
done
for llccbw in $device/*cpu-llcc-ddr-bw/devfreq/*cpu-llcc-ddr-bw
do
cat $llccbw/available_frequencies | cut -d " " -f 1 > $llccbw/min_freq
if [ ${ddr_type:4:2} == $ddr_type4 ]; then
echo "1144 1720 2086 2929 3879 5931 6515 8136" > $llccbw/bw_hwmon/mbps_zones
elif [ ${ddr_type:4:2} == $ddr_type5 ]; then
echo "1144 1720 2086 2929 3879 5931 6515 7980 12191" > $llccbw/bw_hwmon/mbps_zones
fi
echo 4 > $llccbw/bw_hwmon/sample_ms
echo 68 > $llccbw/bw_hwmon/io_percent
echo 20 > $llccbw/bw_hwmon/hist_memory
echo 0 > $llccbw/bw_hwmon/hyst_length
echo 80 > $llccbw/bw_hwmon/down_thres
echo 0 > $llccbw/bw_hwmon/guard_band_mbps
echo 250 > $llccbw/bw_hwmon/up_scale
echo 1600 > $llccbw/bw_hwmon/idle_mbps
echo 48 > $llccbw/polling_interval
done
for l3bw in $device/*snoop-l3-bw/devfreq/*snoop-l3-bw
do
cat $l3bw/available_frequencies | cut -d " " -f 1 > $l3bw/min_freq
echo 4 > $l3bw/bw_hwmon/sample_ms
echo 10 > $l3bw/bw_hwmon/io_percent
echo 20 > $l3bw/bw_hwmon/hist_memory
echo 10 > $l3bw/bw_hwmon/hyst_length
echo 0 > $l3bw/bw_hwmon/down_thres
echo 0 > $l3bw/bw_hwmon/guard_band_mbps
echo 0 > $l3bw/bw_hwmon/up_scale
echo 1600 > $l3bw/bw_hwmon/idle_mbps
echo 9155 > $l3bw/max_freq
echo 40 > $l3bw/polling_interval
done
# configure mem_latency settings for LLCC and DDR scaling and qoslat
for memlat in $device/*lat/devfreq/*lat
do
cat $memlat/available_frequencies | cut -d " " -f 1 > $memlat/min_freq
echo 8 > $memlat/polling_interval
echo 400 > $memlat/mem_latency/ratio_ceil
done
# configure compute settings for silver latfloor
for latfloor in $device/*cpu0-cpu*latfloor/devfreq/*cpu0-cpu*latfloor
do
cat $latfloor/available_frequencies | cut -d " " -f 1 > $latfloor/min_freq
echo 8 > $latfloor/polling_interval
done
# configure compute settings for gold latfloor
for latfloor in $device/*cpu4-cpu*latfloor/devfreq/*cpu4-cpu*latfloor
do
cat $latfloor/available_frequencies | cut -d " " -f 1 > $latfloor/min_freq
echo 8 > $latfloor/polling_interval
done
# configure mem_latency settings for prime latfloor
for latfloor in $device/*cpu7-cpu*latfloor/devfreq/*cpu7-cpu*latfloor
do
cat $latfloor/available_frequencies | cut -d " " -f 1 > $latfloor/min_freq
echo 8 > $latfloor/polling_interval
echo 25000 > $latfloor/mem_latency/ratio_ceil
done
# qoslat ratio ceil
for qoslat in $device/*qoslat/devfreq/*qoslat
do
echo 50 > $qoslat/mem_latency/ratio_ceil
done
done
#Enable sleep and set s2idle as default suspend mode
echo N > /sys/module/lpm_levels/parameters/sleep_disabled
echo s2idle > /sys/power/mem_sleep
configure_memory_parameters
setprop vendor.post_boot.parsed 1

View File

@ -0,0 +1,52 @@
#=============================================================================
# Copyright (c) 2019-2021 Qualcomm Technologies, Inc.
# All Rights Reserved.
# Confidential and Proprietary - Qualcomm Technologies, Inc.
#
# Copyright (c) 2009-2012, 2014-2019, The Linux Foundation. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# * Neither the name of The Linux Foundation nor
# the names of its contributors may be used to endorse or promote
# products derived from this software without specific prior written
# permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
# NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#=============================================================================
if [ -f /sys/devices/soc0/soc_id ]; then
platformid=`cat /sys/devices/soc0/soc_id`
fi
case "$platformid" in
"415"|"439"|"456"|"501"|"502")
/vendor/bin/sh /vendor/bin/init.kernel.post_boot-lahaina.sh
;;
"450")
/vendor/bin/sh /vendor/bin/init.kernel.post_boot-shima.sh
;;
"475"|"499"|"487"|"488"|"498"|"497"|"515")
/vendor/bin/sh /vendor/bin/init.kernel.post_boot-yupik.sh
;;
*)
echo "***WARNING***: Invalid SoC ID\n\t No postboot settings applied!!\n"
;;
esac

View File

@ -1,91 +0,0 @@
#!/vendor/bin/sh
scriptname=${0##*/}
dbg_on=1
debug()
{
[ $dbg_on ] && echo "Debug: $*"
}
notice()
{
echo "$*"
log -t "$scriptname" -p i "$*"
}
error_and_leave()
{
local err_msg
local err_code=$1
case $err_code in
1) err_msg="Error: No response";;
2) err_msg="Error: Skip to overwrite xtalk and offset data in factory mode";;
3) err_msg="Error: Calibration data file $2 does not exist";;
4) err_msg="Error: Calibration sysfs path $2 does not show up";;
esac
notice "$err_msg"
exit $err_code
}
# Change laser sysfs file ownership
laser_class_path=/sys/devices/virtual/laser
laser_product_string=$(ls $laser_class_path)
laser_product_path=$laser_class_path/$laser_product_string
for laser_file in $laser_product_path/*; do
if [ -f "$laser_file" ]; then
chown root:system $laser_file
fi
done
if [ ! -d $laser_product_path ]; then
error_and_leave 4 "'$laser_product_path'"
fi
# Change laser input sysfs file ownership
laser_input_root=/sys/devices/virtual/input
laser_input_list=$(ls $laser_input_root)
for laser_input_dir in $laser_input_list; do
if [ -f "$laser_input_root/$laser_input_dir/calibration_data" ]; then
laser_calib_file=$laser_input_root/$laser_input_dir/calibration_data
chown root:system $laser_calib_file
fi
if [ -f "$laser_input_root/$laser_input_dir/xtalk" ]; then
laser_xtalk_file=$laser_input_root/$laser_input_dir/xtalk
chown root:system $laser_xtalk_file
fi
if [ -f "$laser_input_root/$laser_input_dir/offset" ]; then
laser_offset_file=$laser_input_root/$laser_input_dir/offset
chown root:system $laser_offset_file
fi
done
if [ -z "$laser_calib_file" ]; then
laser_calib_file=$laser_product_path/calibration_data
fi
if [ -z "$laser_xtalk_file" ]; then
laser_xtalk_file=$laser_product_path/xtalk
fi
if [ -z "$laser_offset_file" ]; then
laser_offset_file=$laser_product_path/offset
fi
# Load calibration data
calib_data_file=/mnt/vendor/persist/camera/focus/cal_data
if [ -f $calib_data_file ]; then
chown root:vendor_tcmd $calib_data_file
chmod 660 $calib_data_file
if [ -z "$laser_calib_file" ]; then
error_and_leave 4 "'$laser_calib_file'"
else
cat $calib_data_file > $laser_calib_file
notice "laser calibration data updating complete"
fi
else
notice "laser calib_data_file '$calib_data_file' does not exist"
fi
bootmode=$(getprop ro.bootmode 2> /dev/null)
if [ $bootmode != "mot-factory" ]; then
# Enable smudge mode
echo 1 > $laser_product_path/smudge_correction_mode
notice "laser smudge mode enabled"
fi

View File

@ -30,6 +30,8 @@ firmware_path=/vendor/firmware
param_path=/data/vendor/param/touch param_path=/data/vendor/param/touch
factory_property=ro.vendor.build.motfactory factory_property=ro.vendor.build.motfactory
bootmode_property=ro.bootmode bootmode_property=ro.bootmode
touch_firmware_property=ro.vendor.touch.fw_version
touch_vendor_property=ro.vendor.touch.supplier_vendor
let dec_cfg_id_boot=0 let dec_cfg_id_boot=0
let dec_cfg_id_latest=0 let dec_cfg_id_latest=0
# Whether to search for TP firmware in the parameter path # Whether to search for TP firmware in the parameter path
@ -56,7 +58,7 @@ debug()
notice() notice()
{ {
echo "$*" echo "$*"
log -t "$scriptname" -p i "$*" echo "$scriptname: $*" > /dev/kmsg
} }
sanity_check() sanity_check()
@ -376,6 +378,8 @@ query_panel_info()
read_panel_property "controller_drv_ver" read_panel_property "controller_drv_ver"
panel_ver=${property#${property%?}} panel_ver=${property#${property%?}}
debug "panel supplier: $supplier, ver $panel_ver" debug "panel supplier: $supplier, ver $panel_ver"
setprop $touch_vendor_property "$supplier-$touch_vendor"
notice "touch_vendor_property = $touch_vendor_property, $supplier-$touch_vendor"
else else
debug "driver does not report panel supplier" debug "driver does not report panel supplier"
fi fi
@ -588,6 +592,9 @@ process_touch_instance()
notice "property [$touch_status_prop] set to [`getprop $touch_status_prop`]" notice "property [$touch_status_prop] set to [`getprop $touch_status_prop`]"
notice "Handling touch ID [$touch_instance] permissions" notice "Handling touch ID [$touch_instance] permissions"
fi fi
read_touch_property buildid
setprop $touch_firmware_property ${property}
notice "Touch firmware property is $touch_firmware_property"
setup_permissions setup_permissions
} }

View File

@ -181,7 +181,7 @@ debug()
notice() notice()
{ {
echo "$*" echo "$*"
log -t "$scriptname" -p i "$*" echo "$scriptname: $*" > /dev/kmsg
} }
add_device_params() add_device_params()

View File

@ -538,14 +538,6 @@ fi
# copy GPU frequencies to vendor property # copy GPU frequencies to vendor property
if [ -f /sys/class/kgsl/kgsl-3d0/gpu_available_frequencies ]; then if [ -f /sys/class/kgsl/kgsl-3d0/gpu_available_frequencies ]; then
# Remove turbo freq from prop gpu_freq=`cat /sys/class/kgsl/kgsl-3d0/gpu_available_frequencies` 2> /dev/null
gpu_freq=`cat /sys/class/kgsl/kgsl-3d0/gpu_available_frequencies | sed 's/905000000 //g'` 2> /dev/null
setprop vendor.gpu.available_frequencies "$gpu_freq" setprop vendor.gpu.available_frequencies "$gpu_freq"
fi fi
# GPU turbo
gpu_max_freq=`cat /sys/class/kgsl/kgsl-3d0/devfreq/max_freq` 2> /dev/null
if [ ${gpu_max_freq} == '905000000' ]; then
setprop vendor.gpu.turbo_supported 1
setprop vendor.gpu.turbo_enabled 0
fi

View File

@ -803,12 +803,6 @@ KernelVersionA=${KernelVersionStr:0:1}
KernelVersionB=${KernelVersionS%.*} KernelVersionB=${KernelVersionS%.*}
function configure_zram_parameters() { function configure_zram_parameters() {
# Moto huangzq2: Skip this if we are using zram from fstab.
using_zram_from_fstab=`getprop ro.boot.using_zram_from_fstab`
if [ "$using_zram_from_fstab" == "true" ]; then
return
fi
MemTotalStr=`cat /proc/meminfo | grep MemTotal` MemTotalStr=`cat /proc/meminfo | grep MemTotal`
MemTotal=${MemTotalStr:16:8} MemTotal=${MemTotalStr:16:8}
@ -931,16 +925,15 @@ function configure_memory_parameters() {
# Set allocstall_threshold to 0 for all targets. # Set allocstall_threshold to 0 for all targets.
# #
BoardPlatform=`getprop ro.board.platform` ProductName=`getprop ro.product.name`
low_ram=`getprop ro.config.low_ram` low_ram=`getprop ro.config.low_ram`
if [ "$BoardPlatform" == "msmnile" ] || [ "$BoardPlatform" == "kona" ] || [ "$BoardPlatform" == "lito" ] || [ "$BoardPlatform" == "sdmshrike_au" ]; then if [ "$ProductName" == "msmnile" ] || [ "$ProductName" == "kona" ] || [ "$ProductName" == "sdmshrike_au" ]; then
# Enable ZRAM # Enable ZRAM
configure_zram_parameters configure_zram_parameters
configure_read_ahead_kb_values configure_read_ahead_kb_values
# Moto huangzq2: Remove duplicate configs as we already set it in init.mmi.rc echo 0 > /proc/sys/vm/page-cluster
#echo 0 > /proc/sys/vm/page-cluster echo 100 > /proc/sys/vm/swappiness
#echo 100 > /proc/sys/vm/swappiness
else else
arch_type=`uname -m` arch_type=`uname -m`
@ -986,7 +979,7 @@ else
else else
# Set LMK series, vmpressure_file_min for 32 bit non-go targets. # Set LMK series, vmpressure_file_min for 32 bit non-go targets.
# Disable Core Control, enable KLMK for non-go 8909. # Disable Core Control, enable KLMK for non-go 8909.
if [ "$BoardPlatform" == "msm8909" ]; then if [ "$ProductName" == "msm8909" ]; then
disable_core_ctl disable_core_ctl
echo 1 > /sys/module/lowmemorykiller/parameters/enable_lmk echo 1 > /sys/module/lowmemorykiller/parameters/enable_lmk
fi fi
@ -2160,8 +2153,8 @@ case "$target" in
echo 1 > /sys/devices/system/cpu/cpu7/online echo 1 > /sys/devices/system/cpu/cpu7/online
#Disable CPU retention modes for 32bit builds #Disable CPU retention modes for 32bit builds
BoardPlatform=`getprop ro.board.platform` ProductName=`getprop ro.product.name`
if [ "$BoardPlatform" == "msm8952_32" ] || [ "$BoardPlatform" == "msm8952_32_LMT" ]; then if [ "$ProductName" == "msm8952_32" ] || [ "$ProductName" == "msm8952_32_LMT" ]; then
echo N > /sys/module/lpm_levels/system/a72/cpu4/retention/idle_enabled echo N > /sys/module/lpm_levels/system/a72/cpu4/retention/idle_enabled
echo N > /sys/module/lpm_levels/system/a72/cpu5/retention/idle_enabled echo N > /sys/module/lpm_levels/system/a72/cpu5/retention/idle_enabled
echo N > /sys/module/lpm_levels/system/a72/cpu6/retention/idle_enabled echo N > /sys/module/lpm_levels/system/a72/cpu6/retention/idle_enabled
@ -3802,7 +3795,6 @@ case "$target" in
echo 40 > /sys/devices/system/cpu/cpu0/core_ctl/busy_down_thres echo 40 > /sys/devices/system/cpu/cpu0/core_ctl/busy_down_thres
echo 8 > /sys/devices/system/cpu/cpu0/core_ctl/task_thres echo 8 > /sys/devices/system/cpu/cpu0/core_ctl/task_thres
echo 100 > /sys/devices/system/cpu/cpu0/core_ctl/offline_delay_ms echo 100 > /sys/devices/system/cpu/cpu0/core_ctl/offline_delay_ms
echo 0 > /sys/devices/system/cpu/cpu0/core_ctl/enable
# Disable Core control on gold, prime # Disable Core control on gold, prime
echo 0 > /sys/devices/system/cpu/cpu6/core_ctl/enable echo 0 > /sys/devices/system/cpu/cpu6/core_ctl/enable
@ -3951,12 +3943,7 @@ case "$target" in
setprop vendor.dcvs.prop 1 setprop vendor.dcvs.prop 1
# cpuset parameters # cpuset parameters
# Enable corectrl on needed targets
if [ "$corectl_enable" == "true" ]; then
echo 0-3 > /dev/cpuset/background/cpus
else
echo 0-5 > /dev/cpuset/background/cpus echo 0-5 > /dev/cpuset/background/cpus
fi
echo 0-5 > /dev/cpuset/system-background/cpus echo 0-5 > /dev/cpuset/system-background/cpus
# Turn off scheduler boost at the end # Turn off scheduler boost at the end
@ -3972,13 +3959,7 @@ case "$target" in
"434" | "459" ) "434" | "459" )
# Core control parameters on silver # Core control parameters on silver
corectl_enable=`getprop ro.vendor.config.corectl`
# Enable corectrl on needed targets
if [ "$corectl_enable" == "true" ]; then
echo 0 0 0 0 1 1 > /sys/devices/system/cpu/cpu0/core_ctl/not_preferred echo 0 0 0 0 1 1 > /sys/devices/system/cpu/cpu0/core_ctl/not_preferred
else
echo 0 > /sys/devices/system/cpu/cpu0/core_ctl/enable
fi
echo 4 > /sys/devices/system/cpu/cpu0/core_ctl/min_cpus echo 4 > /sys/devices/system/cpu/cpu0/core_ctl/min_cpus
echo 60 > /sys/devices/system/cpu/cpu0/core_ctl/busy_up_thres echo 60 > /sys/devices/system/cpu/cpu0/core_ctl/busy_up_thres
echo 40 > /sys/devices/system/cpu/cpu0/core_ctl/busy_down_thres echo 40 > /sys/devices/system/cpu/cpu0/core_ctl/busy_down_thres
@ -4108,12 +4089,6 @@ case "$target" in
# device/target specific folder # device/target specific folder
setprop vendor.dcvs.prop 1 setprop vendor.dcvs.prop 1
# moto add by yangbq2, set wsf value as 1
# Disable wsf for all targets beacause we are using efk.
# wsf Range : 1..1000 So set to bare minimum value 1.
echo 1 > /proc/sys/vm/watermark_scale_factor
# moto end
# cpuset parameters # cpuset parameters
echo 0-5 > /dev/cpuset/background/cpus echo 0-5 > /dev/cpuset/background/cpus
echo 0-5 > /dev/cpuset/system-background/cpus echo 0-5 > /dev/cpuset/system-background/cpus
@ -4125,14 +4100,6 @@ case "$target" in
echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled
;; ;;
esac esac
# Log kernel wake-up source
echo 1 > /sys/module/msm_show_resume_irq/parameters/debug_mask
# Log kernel enabled clock before suspend
if [ -f /sys/kernel/debug/clk/debug_suspend ]; then
echo 1 > /sys/kernel/debug/clk/debug_suspend
fi
esac esac
case "$target" in case "$target" in
@ -5585,9 +5552,8 @@ case "$target" in
echo 400000000 > /proc/sys/kernel/sched_coloc_downmigrate_ns echo 400000000 > /proc/sys/kernel/sched_coloc_downmigrate_ns
# cpuset parameters # cpuset parameters
# Use parameters in init.target.rc echo 0-3 > /dev/cpuset/background/cpus
#echo 0-3 > /dev/cpuset/background/cpus echo 0-3 > /dev/cpuset/system-background/cpus
#echo 0-3 > /dev/cpuset/system-background/cpus
# Turn off scheduler boost at the end # Turn off scheduler boost at the end
echo 0 > /proc/sys/kernel/sched_boost echo 0 > /proc/sys/kernel/sched_boost
@ -5709,9 +5675,6 @@ case "$target" in
setprop vendor.dcvs.prop 1 setprop vendor.dcvs.prop 1
echo N > /sys/module/lpm_levels/parameters/sleep_disabled echo N > /sys/module/lpm_levels/parameters/sleep_disabled
configure_memory_parameters configure_memory_parameters
# Log kernel wake-up source
echo 1 > /sys/module/msm_show_resume_irq/parameters/debug_mask
;; ;;
esac esac

View File

@ -1,78 +0,0 @@
#! /vendor/bin/sh
# Copyright (c) 2010, The Linux Foundation. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above
# copyright notice, this list of conditions and the following
# disclaimer in the documentation and/or other materials provided
# with the distribution.
# * Neither the name of The Linux Foundation nor the names of its
# contributors may be used to endorse or promote products derived
# from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
# For successful WLAN card detection, WLAN needs SDIO polling turned on.
# This script can be used to turn on/off SDIO polling on appropriate
# SDIO slot on the MSM target (e.g. slot 3 on 7x30 surf).
arg=$1
target=`getprop ro.board.platform`
case "$target" in
"msm7627_6x")
echo 1 > /sys/devices/platform/msm_sdcc.1/polling
echo 1 > /sys/devices/platform/msm_sdcc.2/polling
;;
"msm7627_ffa")
echo 1 > /sys/devices/platform/msm_sdcc.2/polling
;;
"msm7627_surf")
echo 1 > /sys/devices/platform/msm_sdcc.1/polling
echo 1 > /sys/devices/platform/msm_sdcc.2/polling
;;
"msm7627a")
echo 1 > /sys/devices/platform/msm_sdcc.2/polling
;;
"msm7630_surf")
echo 1 > /sys/devices/platform/msm_sdcc.3/polling
;;
"msm7630_1x")
echo 1 > /sys/devices/platform/msm_sdcc.3/polling
;;
"msm7630_fusion")
echo 1 > /sys/devices/platform/msm_sdcc.3/polling
;;
"msm8660")
echo 1 > /sys/devices/platform/msm_sdcc.4/polling
;;
"msm8660_csfb")
echo 1 > /sys/devices/platform/msm_sdcc.4/polling
;;
esac
exit 0

View File

@ -1,6 +1,5 @@
#!/vendor/bin/sh #!/vendor/bin/sh
# Copyright (c) 2020 The Linux Foundation. All rights reserved.
# Copyright (c) 2013, The Linux Foundation. All rights reserved.
# #
# Redistribution and use in source and binary forms, with or without # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met: # modification, are permitted provided that the following conditions are met:
@ -9,7 +8,7 @@
# * Redistributions in binary form must reproduce the above copyright # * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the # notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution. # documentation and/or other materials provided with the distribution.
# * Neither the name of Linux Foundation nor # * Neither the name of The Linux Foundation nor
# the names of its contributors may be used to endorse or promote # the names of its contributors may be used to endorse or promote
# products derived from this software without specific prior written # products derived from this software without specific prior written
# permission. # permission.
@ -27,8 +26,8 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# #
baseband=`getprop ro.baseband` #
if [ "$baseband" = "mdm" ] || [ "$baseband" = "mdm2" ]; then # Function to start sensors for SSC enabled platforms
start vendor.mdm_helper #
fi cp /vendor/etc/sensors/scripts/* /data/vendor/sensors/scripts/
chmod a+rw /data/vendor/sensors/scripts/*

View File

@ -0,0 +1,48 @@
#! /vendor/bin/sh
#
# Copyright (c) 2019-2021 Qualcomm Technologies, Inc.
# All Rights Reserved.
# Confidential and Proprietary - Qualcomm Technologies, Inc.
#
# Copyright (c) 2019 The Linux Foundation. All rights reserved.
#
export PATH=/vendor/bin
soc_id=`getprop ro.vendor.qti.soc_id`
if [ "$soc_id" -eq 415 ] || [ "$soc_id" -eq 439 ] || [ "$soc_id" -eq 450 ] || [ "$soc_id" -eq 475 ] || [ "$soc_id" -eq 515 ]; then
setprop persist.vendor.hvdcp_opti.start 2
exit 0
fi
if [ "$soc_id" -eq 441 ] || [ "$soc_id" -eq 471 ]; then
#Scuba does not support usb-pd or charge pumps
find /sys/class/power_supply/battery/ -type f -maxdepth 1 | xargs chown system.system
find /sys/class/power_supply/bms/ -type f -maxdepth 1 | xargs chown system.system
find /sys/class/power_supply/main/ -type f -maxdepth 1 | xargs chown system.system
find /sys/class/power_supply/usb/ -type f -maxdepth 1 | xargs chown system.system
else
find /sys/class/power_supply/battery/ -type f -maxdepth 1 | xargs chown system.system
find /sys/class/power_supply/bms/ -type f -maxdepth 1 | xargs chown system.system
find /sys/class/power_supply/main/ -type f -maxdepth 1 | xargs chown system.system
find /sys/class/power_supply/usb/ -type f -maxdepth 1 | xargs chown system.system
find /sys/class/power_supply/charge_pump_master/ -type f -maxdepth 1 | xargs chown system.system
find /sys/class/power_supply/pc_port/ -type f -maxdepth 1 | xargs chown system.system
find /sys/class/power_supply/dc/ -type f -maxdepth 1 | xargs chown system.system
find /sys/class/power_supply/parallel/ -type f -maxdepth 1 | xargs chown system.system
find /sys/class/usbpd/usbpd0/ -type f -maxdepth 1 | xargs chown system.system
find /sys/class/qc-vdm/ -type f -maxdepth 1 | xargs chown system.system
find /sys/class/charge_pump/ -type f -maxdepth 1 | xargs chown system.system
find /sys/class/qcom-battery/ -type f -maxdepth 1 | xargs chown system.system
for i in 0 1 2 3 4 5 6 7 8 9
do
devname=`cat /sys/bus/iio/devices/iio:device$i/name`
if [[ "$devname" == *smb* ]] || [[ "$devname" == *qg* ]] || [[ "$devname" == *div2_cp* ]]; then
find /sys/bus/iio/devices/iio:device$i/ -type f -maxdepth 1 | xargs chown system.system
fi
done
fi
setprop persist.vendor.hvdcp_opti.start 1

View File

@ -1,77 +0,0 @@
#! /vendor/bin/sh
#
# Copyright (c) 2020, The Linux Foundation. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above
# copyright notice, this list of conditions and the following
# disclaimer in the documentation and/or other materials provided
# with the distribution.
# * Neither the name of The Linux Foundation nor the names of its
# contributors may be used to endorse or promote products derived
# from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
for device in /sys/devices/platform/soc
do
for memlat in $device/*qcom,devfreq-l3/*cpu*-lat/devfreq/*cpu*-lat
do
echo "mem_latency" > $memlat/governor
echo 8 > $memlat/polling_interval
echo 400 > $memlat/mem_latency/ratio_ceil
done
#Enable mem_latency governor for LLCC and DDR scaling
for memlat in $device/*cpu*-lat/devfreq/*cpu*-lat
do
echo "mem_latency" > $memlat/governor
echo 8 > $memlat/polling_interval
echo 400 > $memlat/mem_latency/ratio_ceil
done
#Enable compute governor for gold latfloor
for latfloor in $device/*cpu-ddr-latfloor*/devfreq/*cpu-ddr-latfloor*
do
echo "compute" > $latfloor/governor
echo 8 > $latfloor/polling_interval
done
for qoslat in $device/*qoslat/devfreq/*qoslat
do
echo "mem_latency" > $qoslat/governor
echo 10 > $qoslat/polling_interval
echo 50 > $qoslat/mem_latency/ratio_ceil
done
for l3cdsp in $device/*qcom,devfreq-l3/*cdsp-l3-lat/devfreq/*cdsp-l3-lat
do
echo "cdspl3" > $l3cdsp/governor
done
#Gold L3 ratio ceil
for l3gold in $device/*qcom,devfreq-l3/*cpu4-cpu-l3-lat/devfreq/*cpu4-cpu-l3-lat
do
echo 4000 > $l3gold/mem_latency/ratio_ceil
done
#Prime L3 ratio ceil
for l3prime in $device/*qcom,devfreq-l3/*cpu7-cpu-l3-lat/devfreq/*cpu7-cpu-l3-lat
do
echo 20000 > $l3prime/mem_latency/ratio_ceil
done
done;

56
rootdir/bin/init.qti.kernel.sh Executable file
View File

@ -0,0 +1,56 @@
#! /vendor/bin/sh
#=============================================================================
# Copyright (c) 2019-2020 Qualcomm Technologies, Inc.
# All Rights Reserved.
# Confidential and Proprietary - Qualcomm Technologies, Inc.
#
# Copyright (c) 2009-2012, 2014-2019, The Linux Foundation. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# * Neither the name of The Linux Foundation nor
# the names of its contributors may be used to endorse or promote
# products derived from this software without specific prior written
# permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
# NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#=============================================================================
verify_pasr_support()
{
ddr_type=`od -An -tx /proc/device-tree/memory/ddr_device_type`
ddr_type5="08"
if [ -d /sys/kernel/mem-offline ]; then
#only LPDDR5 supports PAAR
if [ ${ddr_type:4:2} != $ddr_type5 ]; then
setprop vendor.pasr.activemode.enabled false
fi
setprop vendor.pasr.enabled true
fi
}
start_msm_irqbalance()
{
if [ -f /vendor/bin/msm_irqbalance ]; then
start vendor.msm_irqbalance
fi
}
start_msm_irqbalance
verify_pasr_support

View File

@ -2,7 +2,11 @@
#============================================================================== #==============================================================================
# init.qti.media.sh # init.qti.media.sh
# #
# Copyright (c) 2020-2021, The Linux Foundation. All rights reserved. # Copyright (c) 2020-2021, Qualcomm Technologies, Inc.
# All Rights Reserved.
# Confidential and Proprietary - Qualcomm Technologies, Inc.
#
# Copyright (c) 2020, The Linux Foundation. All rights reserved.
# #
# Redistribution and use in source and binary forms, with or without # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are # modification, are permitted provided that the following conditions are
@ -36,26 +40,61 @@ else
soc_hwid=`cat /sys/devices/system/soc/soc0/id` 2> /dev/null soc_hwid=`cat /sys/devices/system/soc/soc0/id` 2> /dev/null
fi fi
target_qssi=`getprop vendor.media.target.qssi`
target=`getprop ro.board.platform` target=`getprop ro.board.platform`
build_codename=`getprop vendor.media.system.build_codename`
case "$target" in case "$target" in
"bengal") "lahaina")
case "$soc_hwid" in case "$soc_hwid" in
441|471|473|474) 475|515)
setprop vendor.media.target.version 2 setprop vendor.media.target_variant "_yupik_v0"
sku_ver=`cat /sys/devices/platform/soc/5a00000.qcom,vidc1/sku_version` 2> /dev/null setprop vendor.netflix.bsp_rev "Q7325-SPY-33758-1"
sku_ver=`cat /sys/devices/platform/soc/aa00000.qcom,vidc/sku_version` 2> /dev/null
if [ $sku_ver -eq 1 ]; then if [ $sku_ver -eq 1 ]; then
setprop vendor.media.target.version 3 setprop vendor.media.target_variant "_yupik_v1"
fi fi
;; ;;
518) 450)
setprop vendor.media.target.version 3 setprop vendor.media.target_variant "_shima_v3"
if [ $build_codename -eq "11" ]; then
setprop vendor.netflix.bsp_rev "Q875-32774-1"
fi
sku_ver=`cat /sys/devices/platform/soc/aa00000.qcom,vidc/sku_version` 2> /dev/null
if [ $sku_ver -eq 1 ]; then
setprop vendor.media.target_variant "_shima_v1"
elif [ $sku_ver -eq 2 ]; then
setprop vendor.media.target_variant "_shima_v2"
fi
;; ;;
*) *)
sku_ver=`cat /sys/devices/platform/soc/5a00000.qcom,vidc/sku_version` 2> /dev/null if [ $target_qssi == "true" ]; then
if [ $sku_ver -eq 1 ]; then setprop vendor.media.target_variant "_lahaina_vendor"
setprop vendor.media.target.version 1 else
setprop vendor.media.target_variant "_lahaina"
fi
if [ $build_codename -eq "11" ]; then
setprop vendor.netflix.bsp_rev "Q875-32408-1"
fi fi
;; ;;
esac esac
;; ;;
"holi")
case "$soc_hwid" in
507)
setprop vendor.media.target_variant "_blair"
;;
454|472)
setprop vendor.media.target_variant "_holi"
if [ $build_codename -eq "11" ]; then
setprop vendor.netflix.bsp_rev "Q4350-32962-1"
fi
;;
esac
;;
"msmnile")
setprop vendor.media.target_variant "_msmnile"
;;
"sm6150")
setprop vendor.media.target_variant "_sm6150"
;;
esac esac

38
rootdir/bin/vendor_modprobe.sh Executable file
View File

@ -0,0 +1,38 @@
#! /vendor/bin/sh
#=============================================================================
# Copyright (c) 2019-2020 Qualcomm Technologies, Inc.
# All Rights Reserved.
# Confidential and Proprietary - Qualcomm Technologies, Inc.
#=============================================================================
#default to /vendor/lib/modules
MODULES_PATH="/vendor/lib/modules/"
GKI_MOD_PATH="/vendor/lib/modules/5.4-gki"
MODPROBE="/vendor/bin/modprobe"
MODULES=`${MODPROBE} -d ${MODULES_PATH} -l`
# Find the first non-blacklisted module and try
# inserting it. If insertion fails the module is not
# compatible with the current kernel. Change the modules
# directory to gki.
for MODULE in ${MODULES}; do
cat ${MODULES_PATH}/modules.blocklist | grep $MODULE
if [ $? -ne 0 ]; then
break
fi
done
${MODPROBE} -a -b -d ${MODULES_PATH} ${MODULE}
if [ $? -ne 0 ];then
MODULES_PATH=$GKI_MOD_PATH
MODULES=`${MODPROBE} -d ${MODULES_PATH} -l`
fi
# Iterate over module list and modprobe them in background.
for MODULE in ${MODULES}; do
${MODPROBE} -a -b -d ${MODULES_PATH} ${MODULE} &
done
# Wait until all the modprobes are finished
wait

View File

@ -1,10 +1,4 @@
on charger on charger
stop vendor.sensors
chown radio wakelock /sys/power/wake_lock
chmod 0660 /sys/power/wake_lock
chown radio wakelock /sys/power/wake_unlock
chmod 0660 /sys/power/wake_unlock
start vendor.thermal-com start vendor.thermal-com
start system_suspend start system_suspend
@ -19,10 +13,6 @@ on charger
write /sys/devices/system/cpu/cpu6/online 0 write /sys/devices/system/cpu/cpu6/online 0
write /sys/devices/system/cpu/cpu7/online 0 write /sys/devices/system/cpu/cpu7/online 0
# Allow system to sleep when in COM
write /sys/module/lpm_levels/parameters/sleep_disabled 0
write /proc/sys/kernel/sched_boost 0
service vendor.thermal-com /vendor/bin/thermal-engine --minimode service vendor.thermal-com /vendor/bin/thermal-engine --minimode
class charger class charger
user root user root

View File

@ -3,11 +3,25 @@ import /vendor/etc/init/hw/init.mmi.charge_only.rc
on post-fs on post-fs
# MOT_LED_CALIBRATION # MOT_LED_CALIBRATION
chown camera /mnt/vendor/persist/camera/mot_ledcal chown camera camera /mnt/vendor/persist/camera/mot_ledcal
on early-init on early-init
exec u:r:vendor_modprobe:s0 -- /vendor/bin/modprobe -a -d /vendor/lib/modules exfat exec u:r:vendor_modprobe:s0 -- /vendor/bin/modprobe -a -d /vendor/lib/modules exfat
#Enable qpnp_smbcharger_mmi debug on property:ro.boot.default_usb_mode=device && property:vendor.usb.controller=*
write /sys/module/qpnp_smbcharger_mmi/parameters/debug_enabled Y setprop sys.usb.controller ${vendor.usb.controller}
write /sys/class/udc/${vendor.usb.controller}/device/../mode peripheral
#sync power supply with healthd
wait /sys/class/power_supply/battery
wait /sys/class/power_supply/usb
on early-boot && property:ro.boot.bm_ulog_enabled=1
write /sys/module/bm_adsp_ulog/parameters/debug_enabled 1
on charger && property:ro.boot.bm_ulog_enabled=1
write /sys/module/bm_adsp_ulog/parameters/debug_enabled 1
on property:sys.boot_completed=1
write /sys/devices/platform/soc/soc:mmi,charger/state_sync 1

View File

@ -1,4 +1,4 @@
# Copyright (c) 2009-2012, 2014-2021, The Linux Foundation. All rights reserved. # Copyright (c) 2009-2012, 2014-2020, The Linux Foundation. All rights reserved.
# #
# Redistribution and use in source and binary forms, with or without # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met: # modification, are permitted provided that the following conditions are met:
@ -240,7 +240,7 @@ on post-fs-data
mkdir /data/vendor/pwr 0700 root root mkdir /data/vendor/pwr 0700 root root
# Create directory used by media clients # Create directory used by media clients
mkdir /data/vendor/media 0775 mediacodec media mkdir /data/vendor/media 0770 mediacodec media
# Create /data/vendor/tzstorage directory for SFS listener # Create /data/vendor/tzstorage directory for SFS listener
mkdir /data/vendor/tzstorage 0770 system system mkdir /data/vendor/tzstorage 0770 system system
@ -689,23 +689,6 @@ on property:vendor.opengles.version=*
on property:vendor.gpu.available_frequencies=* on property:vendor.gpu.available_frequencies=*
setprop ro.vendor.gpu.available_frequencies ${vendor.gpu.available_frequencies} setprop ro.vendor.gpu.available_frequencies ${vendor.gpu.available_frequencies}
# huangzq2: GPU trubo
on property:vendor.gpu.turbo_enabled=1
setprop vendor.thermal.mode perf
stop thermal-engine
start thermal-engine
on property:vendor.gpu.turbo_enabled=0
setprop vendor.thermal.mode normal
stop thermal-engine
start thermal-engine
on property:vendor.gpu.turbo_supported=1 && property:vendor.gpu.turbo_enabled=1
write /sys/class/kgsl/kgsl-3d0/max_pwrlevel 0
on property:vendor.gpu.turbo_supported=1 && property:vendor.gpu.turbo_enabled=0
write /sys/class/kgsl/kgsl-3d0/max_pwrlevel 1
service vendor.audio-hal /vendor/bin/hw/android.hardware.audio.service service vendor.audio-hal /vendor/bin/hw/android.hardware.audio.service
override override
class hal class hal

View File

@ -0,0 +1,174 @@
#=============================================================================
# Copyright (c) 2019-2021 Qualcomm Technologies, Inc.
# All Rights Reserved.
# Confidential and Proprietary - Qualcomm Technologies, Inc.
#
# Copyright (c) 2009-2012, 2014-2019, The Linux Foundation. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# * Neither the name of The Linux Foundation nor
# the names of its contributors may be used to endorse or promote
# products derived from this software without specific prior written
# permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
# NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#=============================================================================
on early-init
mount debugfs debugfs /sys/kernel/debug
chmod 0755 /sys/kernel/debug
# Mount tracefs in /sys/kernel/tracing as CONFIG_DEBUG_FS might be
# disabled and /sys/kernel/debug/tracing might not be available
mount tracefs tracefs /sys/kernel/tracing
chmod 0755 /sys/kernel/tracing
chown root system /dev/kmsg
chmod 0620 /dev/kmsg
write /proc/sys/kernel/sched_boost 1
write /proc/sys/kernel/firmware_config/force_sysfs_fallback 1
on init
# Create cgroup mount point for memory
mkdir /sys/fs/cgroup/memory/bg 0750 root system
write /sys/fs/cgroup/memory/bg/memory.swappiness 140
write /sys/fs/cgroup/memory/bg/memory.move_charge_at_immigrate 1
chown root system /sys/fs/cgroup/memory/bg/tasks
chmod 0660 /sys/fs/cgroup/memory/bg/tasks
# update scheduler tunables
write /dev/cpuctl/foreground/cpu.uclamp.sched_boost_no_override 1
write /dev/cpuctl/top-app/cpu.uclamp.sched_boost_no_override 1
write /dev/cpuctl/background/cpu.uclamp.colocate 0
write /dev/cpuctl/foreground/cpu.uclamp.colocate 0
write /dev/cpuctl/top-app/cpu.uclamp.colocate 1
on post-fs
chmod 0755 /sys/kernel/debug/tracing
# set aggressive read ahead for dm-0 and dm-1 during boot up
write /sys/block/dm-0/queue/read_ahead_kb 2048
write /sys/block/dm-1/queue/read_ahead_kb 2048
write /sys/block/dm-2/queue/read_ahead_kb 2048
on early-boot
# Allow subsystem (modem etc) debugging
write /sys/kernel/boot_adsp/boot 1
write /sys/kernel/boot_cdsp/boot 1
write /sys/kernel/boot_slpi/boot 1
write /sys/devices/virtual/cvp/cvp/boot 1
on boot
# Set the console loglevel to < KERN_WARN
# Set the default message loglevel to KERN_INFO
write /proc/sys/kernel/printk "4 6 1 7"
# Allow access to emmc rawdump block partition and dload sysfs node
chown root system /dev/block/bootdevice/by-name/rawdump
chmod 0660 /dev/block/bootdevice/by-name/rawdump
chown root system /sys/kernel/dload/emmc_dload
chmod 0660 /sys/kernel/dload/emmc_dload
chown root system /dev/block/bootdevice/by-name/ramdump
chmod 0660 /dev/block/bootdevice/by-name/ramdump
chown root system /sys/kernel/dload/dload_mode
chmod 0660 /sys/kernel/dload/dload_mode
# set the io-scheduler to bfq on all mq support devices
write /sys/block/sda/queue/scheduler bfq
write /sys/block/sdb/queue/scheduler bfq
write /sys/block/sdc/queue/scheduler bfq
write /sys/block/sdd/queue/scheduler bfq
write /sys/block/sde/queue/scheduler bfq
write /sys/block/sdf/queue/scheduler bfq
write /sys/block/sdg/queue/scheduler bfq
write /sys/block/sdh/queue/scheduler bfq
write /sys/class/block/mmcblk0/queue/scheduler bfq
write /sys/class/block/mmcblk1/queue/scheduler bfq
# update io-scheduler tunables
write /sys/block/sda/queue/iosched/slice_idle 0
write /sys/block/sdb/queue/iosched/slice_idle 0
write /sys/block/sdc/queue/iosched/slice_idle 0
write /sys/block/sdd/queue/iosched/slice_idle 0
write /sys/block/sde/queue/iosched/slice_idle 0
write /sys/block/sdf/queue/iosched/slice_idle 0
write /sys/block/sdg/queue/iosched/slice_idle 0
write /sys/block/sdh/queue/iosched/slice_idle 0
write /sys/class/block/mmcblk0/queue/iosched/slice_idle 0
write /sys/class/block/mmcblk1/queue/iosched/slice_idle 0
on post-fs-data
# Create directory used for dump collection
mkdir /data/vendor/ssrdump 0770 root system
on property:persist.sys.ssr.enable_debug=*
write /sys/module/subsys_pil_tz/parameters/enable_debug ${persist.sys.ssr.enable_debug}
on property:persist.sys.mba_boot_timeout=*
write /sys/module/pil_msa/parameters/pbl_mba_boot_timeout_ms ${persist.sys.mba_boot_timeout}
on property:persist.sys.modem_auth_timeout=*
write /sys/module/pil_msa/parameters/modem_auth_timeout_ms ${persist.sys.modem_auth_timeout}
on property:persist.sys.pil_proxy_timeout=*
write /sys/module/peripheral_loader/parameters/proxy_timeout_ms ${persist.sys.pil_proxy_timeout}
on property:persist.vendor.ssr.enable_ramdumps=1
write /sys/module/subsystem_restart/parameters/enable_ramdumps 1
on property:persist.vendor.ssr.enable_ramdumps=0
write /sys/module/subsystem_restart/parameters/enable_ramdumps 0
on property:persist.vendor.sys.rawdump_copy=1
write /sys/kernel/dload/emmc_dload 1
on property:persist.vendor.sys.rawdump_copy=0
write /sys/kernel/dload/emmc_dload 0
service kernel-boot /vendor/bin/sh /vendor/bin/init.qti.kernel.sh
class core
user root
group root
disabled
oneshot
service kernel-post-boot /vendor/bin/sh /vendor/bin/init.kernel.post_boot.sh
class core
user root
group root system wakelock graphics
disabled
oneshot
on property:sys.boot_completed=1
write /dev/kmsg "Boot completed "
#Reset read ahead for dm-0, dm-1 and dm-2 to 512kb
write /sys/block/dm-0/queue/read_ahead_kb 512
write /sys/block/dm-1/queue/read_ahead_kb 512
write /sys/block/dm-2/queue/read_ahead_kb 512
write /proc/sys/vm/page-cluster 0
start kernel-boot
start kernel-post-boot
service vendor.msm_irqbalance /vendor/bin/msm_irqbalance -f /system/vendor/etc/msm_irqbalance.conf
class core
user root
group root
disabled

View File

@ -1,5 +1,5 @@
# Copyright (c) 2018-2020, The Linux Foundation. All rights reserved. # Copyright (c) 2019-2020, The Linux Foundation. All rights reserved.
# #
# Redistribution and use in source and binary forms, with or without # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are # modification, are permitted provided that the following conditions are
@ -29,20 +29,42 @@
# #
import /vendor/etc/init/hw/init.mmi.rc import /vendor/etc/init/hw/init.mmi.rc
import /vendor/etc/init/hw/init.qti.kernel.rc
on early-init on early-init
exec u:r:vendor_modprobe:s0 -- /vendor/bin/modprobe -a -d /vendor/lib/modules audio_q6_pdr audio_q6_notifier audio_snd_event audio_apr audio_adsp_loader audio_q6 audio_native audio_usf audio_pinctrl_wcd audio_pinctrl_lpi audio_swr audio_platform audio_hdmi audio_stub audio_wcd_core audio_wsa881x audio_bolero_cdc audio_wsa_macro audio_va_macro audio_rx_macro audio_tx_macro audio_wcd938x audio_wcd938x_slave audio_machine_kona exec u:r:vendor_modprobe:s0 -- /vendor/bin/vendor_modprobe.sh
exec u:r:vendor_modprobe:s0 -- /vendor/bin/modprobe -a -d /vendor/lib/modules q6_pdr_dlkm q6_notifier_dlkm snd_event_dlkm apr_dlkm adsp_loader_dlkm q6_dlkm native_dlkm pinctrl_wcd_dlkm pinctrl_lpi_dlkm swr_dlkm platform_dlkm hdmi_dlkm stub_dlkm wcd_core_dlkm wsa883x_dlkm bolero_cdc_dlkm wsa_macro_dlkm va_macro_dlkm rx_macro_dlkm tx_macro_dlkm bt_fm_slim wcd938x_dlkm wcd938x_slave_dlkm wcd937x_dlkm wcd937x_slave_dlkm swr_dmic_dlkm swr_haptics_dlkm machine_dlkm radio-i2c-rtc6226-qca cdsprm
write /proc/sys/kernel/sched_boost 1 write /proc/sys/kernel/sched_boost 1
wait /sys/devices/soc0/soc_id
on init on init
write /dev/stune/foreground/schedtune.sched_boost_no_override 1 # Scheduler uclamp
write /dev/stune/top-app/schedtune.sched_boost_no_override 1 mkdir /dev/cpuctl/foreground
write /dev/stune/schedtune.colocate 0 mkdir /dev/cpuctl/background
write /dev/stune/background/schedtune.colocate 0 mkdir /dev/cpuctl/top-app
write /dev/stune/system-background/schedtune.colocate 0 mkdir /dev/cpuctl/rt
write /dev/stune/foreground/schedtune.colocate 0 chown system system /dev/cpuctl
write /dev/stune/top-app/schedtune.colocate 1 chown system system /dev/cpuctl/foreground
wait /dev/block/platform/soc/1d84000.ufshc chown system system /dev/cpuctl/background
symlink /dev/block/platform/soc/1d84000.ufshc /dev/block/bootdevice chown system system /dev/cpuctl/top-app
chown system system /dev/cpuctl/rt
chown system system /dev/cpuctl/tasks
chown system system /dev/cpuctl/foreground/tasks
chown system system /dev/cpuctl/background/tasks
chown system system /dev/cpuctl/top-app/tasks
chown system system /dev/cpuctl/rt/tasks
chmod 0664 /dev/cpuctl/tasks
chmod 0664 /dev/cpuctl/foreground/tasks
chmod 0664 /dev/cpuctl/background/tasks
chmod 0664 /dev/cpuctl/top-app/tasks
chmod 0664 /dev/cpuctl/rt/tasks
write /dev/cpuctl/foreground/cpu.rt_runtime_us 950000
write /dev/cpuctl/background/cpu.rt_runtime_us 950000
write /dev/cpuctl/top-app/cpu.rt_runtime_us 950000
write /dev/cpuctl/rt/cpu.rt_runtime_us 950000
wait /dev/block/platform/soc/${ro.boot.bootdevice}
symlink /dev/block/platform/soc/${ro.boot.bootdevice} /dev/block/bootdevice
chown system system /sys/devices/platform/soc/1d84000.ufshc/auto_hibern8 chown system system /sys/devices/platform/soc/1d84000.ufshc/auto_hibern8
chmod 0660 /sys/devices/platform/soc/1d84000.ufshc/auto_hibern8 chmod 0660 /sys/devices/platform/soc/1d84000.ufshc/auto_hibern8
start logd start logd
@ -53,70 +75,89 @@ on early-fs
on fs on fs
start hwservicemanager start hwservicemanager
mkdir /mnt/vendor/spunvm 0660 system system mkdir /mnt/vendor/spunvm 0660 system system
mount_all /vendor/etc/fstab.qcom --early mount_all --early
chown root system /mnt/vendor/persist chown root system /mnt/vendor/persist
chmod 0771 /mnt/vendor/persist chmod 0771 /mnt/vendor/persist
restorecon_recursive /mnt/vendor/persist restorecon_recursive /mnt/vendor/persist
mkdir /mnt/vendor/persist/data 0700 system system mkdir /mnt/vendor/persist/data 0700 system system
on fs && property:ro.boot.product.vendor.sku=lahaina
mkdir /mnt/vendor/spunvm 0660 system system
wait /dev/block/bootdevice/by-name/spunvm
mount vfat /dev/block/bootdevice/by-name/spunvm /mnt/vendor/spunvm rw noatime shortname=lower,uid=1000,gid=1000,dmask=007,fmask=007,context=u:object_r:vendor_spunvm_file:s0
on post-fs on post-fs
# set RLIMIT_MEMLOCK to 64MB # set RLIMIT_MEMLOCK to 64MB
setrlimit 8 67108864 67108864 setrlimit 8 67108864 67108864
write /dev/ipa 1
on late-fs on late-fs
wait_for_prop hwservicemanager.ready true wait_for_prop hwservicemanager.ready true
exec_start wait_for_keymaster #exec_start wait_for_keymaster
mount_all /vendor/etc/fstab.qcom --late mount_all --late
on post-fs-data on post-fs-data
mkdir /vendor/data/tombstones 0771 system system mkdir /vendor/data/tombstones 0771 system system
# Enable WLAN cold boot calibration # Enable WLAN cold boot calibration
write /sys/devices/platform/soc/b0000000.qcom,cnss-qca6390/fs_ready 1 write /sys/devices/platform/soc/b0000000.qcom,cnss-qca6490/fs_ready 1
# Motorola: disable vendor.sensors by default and move the start to init.qcom.rc on early-boot
# Disabling by default will ensure that we do not start vendor.sensors in start vendor.sensors
# Charge-Only-Mode
#on early-boot
# start vendor.sensors
on boot on boot
# CPUset policy is "spread" for foreground/top, "pack" for background/system
# Cores 0-3 are silver, 4-6 are gold, 7 is gold+
# Keep 1 reserved for top (gold+)
# Keep 1 for system/background (silver)
write /dev/cpuset/top-app/cpus 0-7
write /dev/cpuset/foreground/cpus 1-6
write /dev/cpuset/background/cpus 0-3
write /dev/cpuset/system-background/cpus 0-3
write /dev/cpuset/audio-app/cpus 1-2 write /dev/cpuset/audio-app/cpus 1-2
# Add a cpuset for the camera daemon # Add a cpuset for the camera daemon
# We want all cores for camera # We want all cores for camera
mkdir /dev/cpuset/camera-daemon mkdir /dev/cpuset/camera-daemon
write /dev/cpuset/camera-daemon/cpus 0-3 write /dev/cpuset/camera-daemon/cpus 0-7
write /dev/cpuset/camera-daemon/mems 0 write /dev/cpuset/camera-daemon/mems 0
chown cameraserver cameraserver /dev/cpuset/camera-daemon chown cameraserver cameraserver /dev/cpuset/camera-daemon
chown cameraserver cameraserver /dev/cpuset/camera-daemon/tasks chown cameraserver cameraserver /dev/cpuset/camera-daemon/tasks
chmod 0660 /dev/cpuset/camera-daemon/tasks chmod 0660 /dev/cpuset/camera-daemon/tasks
chown system /sys/devices/platform/soc/990000.i2c/i2c-0/0-0049/trusted_touch_enable
chmod 0660 /sys/devices/platform/soc/990000.i2c/i2c-0/0-0049/trusted_touch_enable
chown system /sys/devices/platform/soc/990000.i2c/i2c-0/0-0038/trusted_touch_enable
chmod 0660 /sys/devices/platform/soc/990000.i2c/i2c-0/0-0038/trusted_touch_enable
chown system /sys/devices/platform/soc/988000.i2c/i2c-1/1-0038/trusted_touch_enable
chmod 0660 /sys/devices/platform/soc/988000.i2c/i2c-1/1-0038/trusted_touch_enable
chown system /sys/devices/platform/soc/990000.i2c/i2c-0/0-0049/trusted_touch_event
chmod 0660 /sys/devices/platform/soc/990000.i2c/i2c-0/0-0049/trusted_touch_event
chown system /sys/devices/platform/soc/990000.i2c/i2c-0/0-0038/trusted_touch_event
chmod 0660 /sys/devices/platform/soc/990000.i2c/i2c-0/0-0038/trusted_touch_event
chown system /sys/devices/platform/soc/988000.i2c/i2c-1/1-0038/trusted_touch_event
chmod 0660 /sys/devices/platform/soc/988000.i2c/i2c-1/1-0038/trusted_touch_event
chown system /sys/devices/platform/soc/a94000.i2c/i2c-2/2-0062/trusted_touch_enable
chmod 0660 /sys/devices/platform/soc/a94000.i2c/i2c-2/2-0062/trusted_touch_enable
chown system /sys/devices/platform/soc/a94000.i2c/i2c-2/2-0062/trusted_touch_event
chmod 0660 /sys/devices/platform/soc/a94000.i2c/i2c-2/2-0062/trusted_touch_event
chown system /sys/devices/system/cpu/hyp_core_ctl/enable
chown system /sys/devices/system/cpu/hyp_core_ctl/hcc_min_freq
#USB controller configuration #USB controller configuration
setprop vendor.usb.rndis.func.name "gsi" setprop vendor.usb.rndis.func.name "gsi"
setprop vendor.usb.rmnet.func.name "gsi" setprop vendor.usb.rmnet.func.name "gsi"
setprop vendor.usb.rmnet.inst.name "rmnet" setprop vendor.usb.rmnet.inst.name "rmnet"
setprop vendor.usb.dpl.inst.name "dpl" setprop vendor.usb.dpl.inst.name "dpl"
setprop vendor.usb.qdss.inst.name "qdss" setprop vendor.usb.qdss.inst.name "qdss_mdm"
setprop vendor.usb.controller a600000.dwc3 setprop vendor.usb.controller a600000.dwc3
# Load all wlan drivers #Load WLAN driver
exec_background u:r:vendor_modprobe:s0 -- /vendor/bin/modprobe -a -d /vendor/lib/modules/ qca_cld3_qca6390 qca_cld3_qca6490 exec_background u:r:vendor_modprobe:s0 -- /vendor/bin/modprobe -a -d /vendor/lib/modules/ qca_cld3_wlan qca_cld3_qca6390
exec_background u:r:vendor_modprobe:s0 -- /vendor/bin/modprobe -a -d /vendor/lib/modules/5.4-gki qca_cld3_wlan qca_cld3_qca6390
#Allow access to memory hotplug device attributes
chown system system /sys/kernel/mem-offline/anon_migrate
on boot && property:persist.vendor.usb.controller.default=* on boot && property:persist.vendor.usb.controller.default=*
setprop vendor.usb.controller ${persist.vendor.usb.controller.default} setprop vendor.usb.controller ${persist.vendor.usb.controller.default}
on init && property:ro.boot.mode=charger
mount_all /vendor/etc/charger_fw_fstab.qti --early
write /sys/kernel/boot_adsp/boot 1
wait /sys/class/power_supply/battery
on charger on charger
start vendor.power_off_alarm start vendor.power_off_alarm
setprop sys.usb.controller a600000.dwc3 setprop sys.usb.controller a600000.dwc3
setprop sys.usb.configfs 1 setprop sys.usb.configfs 1
service vendor.lowi /vendor/bin/sscrpcd service vendor.lowi /vendor/bin/lowirpcd
class core class core
user system user system
group system wakelock group system wakelock
@ -126,7 +167,7 @@ service vendor.lowi /vendor/bin/sscrpcd
service vendor.pd_mapper /vendor/bin/pd-mapper service vendor.pd_mapper /vendor/bin/pd-mapper
class core class core
user system user system
group system group system log diag
#Peripheral manager #Peripheral manager
service vendor.per_mgr /vendor/bin/pm-service service vendor.per_mgr /vendor/bin/pm-service
@ -141,10 +182,10 @@ service vendor.per_proxy /vendor/bin/pm-proxy
group system group system
disabled disabled
service vendor.mdm_helper /vendor/bin/mdm_helper #service vendor.mdm_helper /vendor/bin/mdm_helper
class core # class core
group log system wakelock diag vendor_rfs # group log system wakelock diag vendor_rfs
disabled # disabled
service vendor.mdm_launcher /vendor/bin/sh /vendor/bin/init.mdm.sh service vendor.mdm_launcher /vendor/bin/sh /vendor/bin/init.mdm.sh
class core class core
@ -156,12 +197,15 @@ on property:init.svc.vendor.per_mgr=running
on property:sys.shutdown.requested=* on property:sys.shutdown.requested=*
stop vendor.per_proxy stop vendor.per_proxy
service dcvs-sh /vendor/bin/init.qti.dcvs.sh #fan-controller
service fan_control_turn_on /vendor/bin/fan_control 1
class late_start class late_start
user root user root
group root system
disabled disabled
oneshot oneshot
on property:vendor.dcvs.prop=1 service fan_control_turn_off /vendor/bin/fan_control 0
start dcvs-sh class late_start
user root
disabled
oneshot

View File

@ -54,10 +54,10 @@
/(vendor|system/vendor)/bin/hw/vendor\.zui\.hardware\.ifaa@1\.0-service u:object_r:hal_ifaa_default_exec:s0 /(vendor|system/vendor)/bin/hw/vendor\.zui\.hardware\.ifaa@1\.0-service u:object_r:hal_ifaa_default_exec:s0
# Lights # Lights
/(vendor|system/vendor)/bin/hw/android\.hardware\.lights-service\.motokona u:object_r:hal_light_default_exec:s0 /(vendor|system/vendor)/bin/hw/android\.hardware\.lights-service\.motolahaina u:object_r:hal_light_default_exec:s0
# LiveDisplay # LiveDisplay
/(vendor|system/vendor)/bin/hw/vendor\.lineage\.livedisplay@2\.1-service\.motorola_kona u:object_r:hal_lineage_livedisplay_qti_exec:s0 /(vendor|system/vendor)/bin/hw/vendor\.lineage\.livedisplay@2\.1-service\.motorola_lahaina u:object_r:hal_lineage_livedisplay_qti_exec:s0
# Motobox # Motobox
/(vendor|system/vendor)/bin/motobox u:object_r:vendor_motobox_exec:s0 /(vendor|system/vendor)/bin/motobox u:object_r:vendor_motobox_exec:s0

View File

@ -67,8 +67,8 @@ PRODUCT_PACKAGES += \
android.hardware.boot@1.1-impl-qti \ android.hardware.boot@1.1-impl-qti \
android.hardware.boot@1.1-impl-qti.recovery \ android.hardware.boot@1.1-impl-qti.recovery \
android.hardware.boot@1.1-service \ android.hardware.boot@1.1-service \
bootctrl.kona \ bootctrl.lahaina \
bootctrl.kona.recovery bootctrl.lahaina.recovery
PRODUCT_PACKAGES_DEBUG += \ PRODUCT_PACKAGES_DEBUG += \
bootctl bootctl
@ -86,7 +86,7 @@ PRODUCT_PACKAGES += \
android.hardware.soundtrigger@2.3-impl \ android.hardware.soundtrigger@2.3-impl \
audio.a2dp.default \ audio.a2dp.default \
audio.bluetooth.default \ audio.bluetooth.default \
audio.primary.kona \ audio.primary.lahaina \
audio.r_submix.default \ audio.r_submix.default \
audio.usb.default \ audio.usb.default \
libaudiopreprocessing \ libaudiopreprocessing \
@ -99,18 +99,20 @@ PRODUCT_PACKAGES += \
libqcomvoiceprocessing \ libqcomvoiceprocessing \
libqcreverb \ libqcreverb \
libreverbwrapper \ libreverbwrapper \
libvisualizer libvisualizer \
sound_trigger.primary.lahaina
PRODUCT_COPY_FILES += \ PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/audio/sku_yupik/audio_io_policy.conf:$(TARGET_COPY_OUT_VENDOR)/etc/audio/sku_yupik/audio_io_policy.conf \
$(LOCAL_PATH)/audio/sku_yupik/sound_trigger_mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/sku_yupik/sound_trigger_mixer_paths.xml \
$(LOCAL_PATH)/audio/sku_yupik/sound_trigger_platform_info.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/sku_yupik/sound_trigger_platform_info.xml \
$(LOCAL_PATH)/audio/audio_effects.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.xml \ $(LOCAL_PATH)/audio/audio_effects.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.xml \
$(LOCAL_PATH)/audio/audio_ext_spkr.conf:$(TARGET_COPY_OUT_VENDOR)/etc/audio_ext_spkr.conf \ $(LOCAL_PATH)/audio/audio_ext_spkr.conf:$(TARGET_COPY_OUT_VENDOR)/etc/audio_ext_spkr.conf \
$(LOCAL_PATH)/audio/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml \ $(LOCAL_PATH)/audio/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml
$(LOCAL_PATH)/audio/sound_trigger_mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_mixer_paths.xml \
$(LOCAL_PATH)/audio/sound_trigger_platform_info.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_platform_info.xml
PRODUCT_COPY_FILES += \ PRODUCT_COPY_FILES += \
hardware/qcom-caf/sm8250/audio/configs/common/bluetooth_qti_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_qti_audio_policy_configuration.xml \ hardware/qcom-caf/sm8350/audio/configs/common/bluetooth_qti_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_qti_audio_policy_configuration.xml \
hardware/qcom-caf/sm8250/audio/configs/common/bluetooth_qti_hearing_aid_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_qti_hearing_aid_audio_policy_configuration.xml hardware/qcom-caf/sm8350/audio/configs/common/bluetooth_qti_hearing_aid_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_qti_hearing_aid_audio_policy_configuration.xml
PRODUCT_COPY_FILES += \ PRODUCT_COPY_FILES += \
frameworks/av/services/audiopolicy/config/a2dp_in_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/a2dp_in_audio_policy_configuration.xml \ frameworks/av/services/audiopolicy/config/a2dp_in_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/a2dp_in_audio_policy_configuration.xml \
@ -147,7 +149,8 @@ PRODUCT_PACKAGES += \
android.hardware.graphics.mapper@4.0-impl-qti-display \ android.hardware.graphics.mapper@4.0-impl-qti-display \
android.hardware.memtrack@1.0-impl \ android.hardware.memtrack@1.0-impl \
android.hardware.memtrack@1.0-service \ android.hardware.memtrack@1.0-service \
gralloc.kona \ init.qti.display_boot.sh \
gralloc.default \
libdisplayconfig.qti \ libdisplayconfig.qti \
libdisplayconfig.system.qti \ libdisplayconfig.system.qti \
libqdMetaData \ libqdMetaData \
@ -156,9 +159,9 @@ PRODUCT_PACKAGES += \
libsdmutils \ libsdmutils \
libtinyxml \ libtinyxml \
libvulkan \ libvulkan \
memtrack.kona \ memtrack.default \
vendor.display.config@1.9 \ vendor.display.config@1.15 \
vendor.display.config@1.9.vendor \ vendor.display.config@1.15.vendor \
vendor.display.config@2.0 \ vendor.display.config@2.0 \
vendor.display.config@2.0.vendor \ vendor.display.config@2.0.vendor \
vendor.qti.hardware.display.allocator-service \ vendor.qti.hardware.display.allocator-service \
@ -178,10 +181,6 @@ PRODUCT_PACKAGES += \
PRODUCT_PACKAGES += \ PRODUCT_PACKAGES += \
fastbootd fastbootd
# Fingerprint
PRODUCT_PACKAGES += \
android.hardware.biometrics.fingerprint@2.1.vendor
# Gatekeeper # Gatekeeper
PRODUCT_PACKAGES += \ PRODUCT_PACKAGES += \
android.hardware.gatekeeper@1.0.vendor android.hardware.gatekeeper@1.0.vendor
@ -253,21 +252,21 @@ PRODUCT_PACKAGES += \
# Lights # Lights
PRODUCT_PACKAGES += \ PRODUCT_PACKAGES += \
android.hardware.lights-service.motokona android.hardware.lights-service.motolahaina
# LiveDisplay # LiveDisplay
PRODUCT_PACKAGES += \ PRODUCT_PACKAGES += \
vendor.lineage.livedisplay@2.1-service.motorola_kona vendor.lineage.livedisplay@2.1-service.motorola_lahaina
# Media # Media
PRODUCT_COPY_FILES += \ PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/media/media_codecs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs.xml \ $(LOCAL_PATH)/media/media_codecs_lahaina.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs.xml \
$(LOCAL_PATH)/media/media_codecs_c2.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_c2.xml \ $(LOCAL_PATH)/media/media_codecs_yupik_v0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_yupik_v0.xml \
$(LOCAL_PATH)/media/media_codecs_kona.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_kona.xml \ $(LOCAL_PATH)/media/media_codecs_yupik_v1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_yupik_v1.xml \
$(LOCAL_PATH)/media/media_codecs_performance_c2.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance_c2.xml \ $(LOCAL_PATH)/media/media_codecs_performance_lahaina.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance.xml \
$(LOCAL_PATH)/media/media_codecs_performance_kona.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance_kona.xml \ $(LOCAL_PATH)/media/media_codecs_performance_yupik_v0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance_yupik_v0.xml \
$(LOCAL_PATH)/media/media_codecs_vendor_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_vendor_audio.xml \ $(LOCAL_PATH)/media/media_codecs_performance_yupik_v1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance_yupik_v1.xml \
$(LOCAL_PATH)/media/media_profiles.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles.xml \ $(LOCAL_PATH)/media/media_profiles_V1_0.xml:$(TARGET_COPY_OUT_ODM)/etc/media_profiles_V1_0.xml
PRODUCT_COPY_FILES += \ PRODUCT_COPY_FILES += \
frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_audio.xml \ frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_audio.xml \
@ -317,6 +316,7 @@ PRODUCT_PACKAGES += \
# Permissions # Permissions
PRODUCT_COPY_FILES += \ PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.audio.pro.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.pro.xml \
frameworks/native/data/etc/android.hardware.biometrics.face.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.biometrics.face.xml \ frameworks/native/data/etc/android.hardware.biometrics.face.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.biometrics.face.xml \
frameworks/native/data/etc/android.hardware.bluetooth.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth.xml \ frameworks/native/data/etc/android.hardware.bluetooth.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth.xml \
frameworks/native/data/etc/android.hardware.bluetooth_le.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth_le.xml \ frameworks/native/data/etc/android.hardware.bluetooth_le.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth_le.xml \
@ -326,18 +326,12 @@ PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.camera.raw.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.raw.xml \ frameworks/native/data/etc/android.hardware.camera.raw.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.raw.xml \
frameworks/native/data/etc/android.hardware.fingerprint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.fingerprint.xml \ frameworks/native/data/etc/android.hardware.fingerprint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.fingerprint.xml \
frameworks/native/data/etc/android.hardware.location.gps.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.location.gps.xml \ frameworks/native/data/etc/android.hardware.location.gps.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.location.gps.xml \
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.nfc.hce.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hce.xml \ frameworks/native/data/etc/android.hardware.nfc.hce.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hce.xml \
frameworks/native/data/etc/android.hardware.nfc.hcef.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hcef.xml \
frameworks/native/data/etc/android.hardware.nfc.uicc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.uicc.xml \ frameworks/native/data/etc/android.hardware.nfc.uicc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.uicc.xml \
frameworks/native/data/etc/android.hardware.nfc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.xml \ frameworks/native/data/etc/android.hardware.nfc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.xml \
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.se.omapi.uicc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.se.omapi.uicc.xml \ frameworks/native/data/etc/android.hardware.se.omapi.uicc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.se.omapi.uicc.xml \
frameworks/native/data/etc/android.hardware.sensor.accelerometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.accelerometer.xml \
frameworks/native/data/etc/android.hardware.sensor.compass.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.compass.xml \
frameworks/native/data/etc/android.hardware.sensor.gyroscope.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.gyroscope.xml \
frameworks/native/data/etc/android.hardware.sensor.light.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.light.xml \
frameworks/native/data/etc/android.hardware.sensor.proximity.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.proximity.xml \
frameworks/native/data/etc/android.hardware.sensor.stepcounter.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.stepcounter.xml \
frameworks/native/data/etc/android.hardware.sensor.stepdetector.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.stepdetector.xml \
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.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.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.hardware.telephony.ims.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.ims.xml \
@ -353,11 +347,40 @@ PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.software.device_id_attestation.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.device_id_attestation.xml \ frameworks/native/data/etc/android.software.device_id_attestation.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.device_id_attestation.xml \
frameworks/native/data/etc/android.software.ipsec_tunnels.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.ipsec_tunnels.xml \ frameworks/native/data/etc/android.software.ipsec_tunnels.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.ipsec_tunnels.xml \
frameworks/native/data/etc/android.software.midi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.midi.xml \ frameworks/native/data/etc/android.software.midi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.midi.xml \
frameworks/native/data/etc/android.software.opengles.deqp.level-2020-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.opengles.deqp.level.xml \
frameworks/native/data/etc/android.software.sip.voip.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.sip.voip.xml \ frameworks/native/data/etc/android.software.sip.voip.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.sip.voip.xml \
frameworks/native/data/etc/android.software.verified_boot.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.verified_boot.xml \ frameworks/native/data/etc/android.software.verified_boot.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.verified_boot.xml \
frameworks/native/data/etc/android.software.opengles.deqp.level-2020-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.opengles.deqp.level.xml \
frameworks/native/data/etc/android.software.vulkan.deqp.level-2020-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.vulkan.deqp.level.xml \ frameworks/native/data/etc/android.software.vulkan.deqp.level-2020-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.vulkan.deqp.level.xml \
frameworks/native/data/etc/handheld_core_hardware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/handheld_core_hardware.xml frameworks/native/data/etc/handheld_core_hardware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/handheld_core_hardware.xml \
frameworks/native/data/etc/android.hardware.sensor.accelerometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/sku_lahaina/android.hardware.sensor.accelerometer.xml \
frameworks/native/data/etc/android.hardware.sensor.ambient_temperature.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/sku_lahaina/android.hardware.sensor.ambient_temperature.xml \
frameworks/native/data/etc/android.hardware.sensor.barometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/sku_lahaina/android.hardware.sensor.barometer.xml \
frameworks/native/data/etc/android.hardware.sensor.compass.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/sku_lahaina/android.hardware.sensor.compass.xml \
frameworks/native/data/etc/android.hardware.sensor.gyroscope.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/sku_lahaina/android.hardware.sensor.gyroscope.xml \
frameworks/native/data/etc/android.hardware.sensor.hifi_sensors.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/sku_lahaina/android.hardware.sensor.hifi_sensors.xml \
frameworks/native/data/etc/android.hardware.sensor.light.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/sku_lahaina/android.hardware.sensor.light.xml \
frameworks/native/data/etc/android.hardware.sensor.proximity.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/sku_lahaina/android.hardware.sensor.proximity.xml \
frameworks/native/data/etc/android.hardware.sensor.relative_humidity.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/sku_lahaina/android.hardware.sensor.relative_humidity.xml \
frameworks/native/data/etc/android.hardware.sensor.stepcounter.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/sku_lahaina/android.hardware.sensor.stepcounter.xml \
frameworks/native/data/etc/android.hardware.sensor.accelerometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/sku_shima/android.hardware.sensor.accelerometer.xml \
frameworks/native/data/etc/android.hardware.sensor.barometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/sku_shima/android.hardware.sensor.barometer.xml \
frameworks/native/data/etc/android.hardware.sensor.compass.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/sku_shima/android.hardware.sensor.compass.xml \
frameworks/native/data/etc/android.hardware.sensor.gyroscope.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/sku_shima/android.hardware.sensor.gyroscope.xml \
frameworks/native/data/etc/android.hardware.sensor.hifi_sensors.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/sku_shima/android.hardware.sensor.hifi_sensors.xml \
frameworks/native/data/etc/android.hardware.sensor.light.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/sku_shima/android.hardware.sensor.light.xml \
frameworks/native/data/etc/android.hardware.sensor.proximity.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/sku_shima/android.hardware.sensor.proximity.xml \
frameworks/native/data/etc/android.hardware.sensor.stepcounter.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/sku_shima/android.hardware.sensor.stepcounter.xml \
frameworks/native/data/etc/android.hardware.sensor.stepdetector.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/sku_lahaina/android.hardware.sensor.stepdetector.xml \
frameworks/native/data/etc/android.hardware.sensor.accelerometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/sku_yupik/android.hardware.sensor.accelerometer.xml \
frameworks/native/data/etc/android.hardware.sensor.barometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/sku_yupik/android.hardware.sensor.barometer.xml \
frameworks/native/data/etc/android.hardware.sensor.compass.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/sku_yupik/android.hardware.sensor.compass.xml \
frameworks/native/data/etc/android.hardware.sensor.gyroscope.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/sku_yupik/android.hardware.sensor.gyroscope.xml \
frameworks/native/data/etc/android.hardware.sensor.hifi_sensors.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/sku_yupik/android.hardware.sensor.hifi_sensors.xml \
frameworks/native/data/etc/android.hardware.sensor.light.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/sku_yupik/android.hardware.sensor.light.xml \
frameworks/native/data/etc/android.hardware.sensor.proximity.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/sku_yupik/android.hardware.sensor.proximity.xml \
frameworks/native/data/etc/android.hardware.sensor.stepcounter.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/sku_yupik/android.hardware.sensor.stepcounter.xml \
frameworks/native/data/etc/android.hardware.sensor.stepdetector.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/sku_shima/android.hardware.sensor.stepdetector.xml \
frameworks/native/data/etc/android.hardware.sensor.stepdetector.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/sku_yupik/android.hardware.sensor.stepdetector.xml
PRODUCT_COPY_FILES += \ PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/configs/product_privapp-permissions-hotword.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/permissions/privapp-permissions-hotword.xml $(LOCAL_PATH)/configs/product_privapp-permissions-hotword.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/permissions/privapp-permissions-hotword.xml
@ -386,6 +409,10 @@ PRODUCT_PACKAGES += \
libvndfwk_detect_jni.qti \ libvndfwk_detect_jni.qti \
libvndfwk_detect_jni.qti.vendor libvndfwk_detect_jni.qti.vendor
# QTI service tracker
PRODUCT_PACKAGES += \
vendor.qti.hardware.servicetracker@1.2.vendor
# Recovery # Recovery
PRODUCT_COPY_FILES += \ PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/recovery/root/init.recovery.qcom.rc:$(TARGET_COPY_OUT_RECOVERY)/root/init.recovery.qcom.rc $(LOCAL_PATH)/recovery/root/init.recovery.qcom.rc:$(TARGET_COPY_OUT_RECOVERY)/root/init.recovery.qcom.rc
@ -404,10 +431,6 @@ PRODUCT_PACKAGES += \
librmnetctl \ librmnetctl \
libxml2 libxml2
# Seccomp policy
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/seccomp/mediacodec-seccomp.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediacodec.policy
# Sensors # Sensors
PRODUCT_PACKAGES += \ PRODUCT_PACKAGES += \
android.hardware.sensors@2.0-service.multihal \ android.hardware.sensors@2.0-service.multihal \
@ -435,6 +458,7 @@ PRODUCT_COPY_FILES += \
# Thermal # Thermal
PRODUCT_PACKAGES += \ PRODUCT_PACKAGES += \
android.hardware.thermal@2.0-service.qti \
android.hardware.thermal@2.0 \ android.hardware.thermal@2.0 \
android.hardware.thermal@2.0.vendor android.hardware.thermal@2.0.vendor
@ -484,7 +508,8 @@ PRODUCT_PACKAGES += \
PRODUCT_COPY_FILES += \ PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/wifi/qca6390/WCNSS_qcom_cfg.ini:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/qca6390/WCNSS_qcom_cfg.ini \ $(LOCAL_PATH)/wifi/qca6390/WCNSS_qcom_cfg.ini:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/qca6390/WCNSS_qcom_cfg.ini \
$(LOCAL_PATH)/wifi/qca6490/WCNSS_qcom_cfg.ini:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/qca6490/WCNSS_qcom_cfg.ini \ $(LOCAL_PATH)/wifi/qca6750/WCNSS_qcom_cfg.ini:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/qca6750/WCNSS_qcom_cfg.ini \
$(LOCAL_PATH)/wifi/wlan/WCNSS_qcom_cfg.ini:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/wlan/WCNSS_qcom_cfg.ini \
$(LOCAL_PATH)/wifi/p2p_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/p2p_supplicant_overlay.conf \ $(LOCAL_PATH)/wifi/p2p_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/p2p_supplicant_overlay.conf \
$(LOCAL_PATH)/wifi/wpa_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/wpa_supplicant_overlay.conf $(LOCAL_PATH)/wifi/wpa_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/wpa_supplicant_overlay.conf
@ -498,4 +523,4 @@ PRODUCT_BOOT_JARS += \
WfdCommon WfdCommon
# Inherit from vendor blobs # Inherit from vendor blobs
$(call inherit-product, vendor/motorola/sm8250-common/sm8250-common-vendor.mk) $(call inherit-product, vendor/motorola/sm7325-common/sm7325-common-vendor.mk)

View File

@ -20,6 +20,15 @@ debug.sf.latch_unsignaled=1
# CNE # CNE
persist.vendor.cne.feature=1 persist.vendor.cne.feature=1
# Data
persist.data.df.agg.dl_pkt=10
persist.data.df.agg.dl_size=4096
persist.data.df.dev_name=rmnet_usb0
persist.data.df.dl_mode=5
persist.data.df.iwlan_mux=9
persist.data.df.mux_count=8
persist.data.df.ul_mode=5
# DPM # DPM
persist.vendor.dpm.feature=11 persist.vendor.dpm.feature=11
@ -30,9 +39,11 @@ persist.dbg.wfc_avail_ovr=1
# Media # Media
media.settings.xml=/vendor/etc/media_profiles_vendor.xml media.settings.xml=/vendor/etc/media_profiles_vendor.xml
ro.media.recorder-max-base-layer-fps=60
# Netflix # Netmgrd
ro.netflix.bsp_rev=Q8250-19134-1 persist.vendor.data.mode=concurrent
ro.vendor.use_data_netmgrd=true
# Radio # Radio
ro.telephony.default_network=33,33 ro.telephony.default_network=33,33
@ -40,8 +51,11 @@ ro.telephony.default_network=33,33
# RTT # RTT
config.disable_rtt=true config.disable_rtt=true
# Netmgr # Sensors
persist.vendor.data.mode=concurrent persist.vendor.sensors.enable.mag_filter=true
# SSR
persist.vendor.ssr.restart_level=ALL_ENABLE
# Vendor # Vendor
ro.vendor.qti.va_aosp.support=1 ro.vendor.qti.va_aosp.support=1

View File

@ -1,6 +1,12 @@
# Audio # Audio
aaudio.hw_burst_min_usec=2000
aaudio.mmap_exclusive_policy=2 aaudio.mmap_exclusive_policy=2
aaudio.mmap_policy=2 aaudio.mmap_policy=2
persist.vendor.audio.ambisonic.auto.profile=false
persist.vendor.audio.ambisonic.capture=false
persist.vendor.audio.apptype.multirec.enabled=false
persist.vendor.audio.avs.afe_api_version=9
persist.vendor.audio.bcl.enabled=false
persist.vendor.audio.calfile0=/vendor/etc/acdbdata/Bluetooth_cal.acdb persist.vendor.audio.calfile0=/vendor/etc/acdbdata/Bluetooth_cal.acdb
persist.vendor.audio.calfile1=/vendor/etc/acdbdata/General_cal.acdb persist.vendor.audio.calfile1=/vendor/etc/acdbdata/General_cal.acdb
persist.vendor.audio.calfile2=/vendor/etc/acdbdata/Global_cal.acdb persist.vendor.audio.calfile2=/vendor/etc/acdbdata/Global_cal.acdb
@ -9,39 +15,74 @@ persist.vendor.audio.calfile4=/vendor/etc/acdbdata/Hdmi_cal.acdb
persist.vendor.audio.calfile5=/vendor/etc/acdbdata/Headset_cal.acdb persist.vendor.audio.calfile5=/vendor/etc/acdbdata/Headset_cal.acdb
persist.vendor.audio.calfile6=/vendor/etc/acdbdata/Speaker_cal.acdb persist.vendor.audio.calfile6=/vendor/etc/acdbdata/Speaker_cal.acdb
persist.vendor.audio.dualmic.config=endfire persist.vendor.audio.dualmic.config=endfire
persist.vendor.audio.elevoc.voip=true
persist.vendor.audio.fluence.speaker=false persist.vendor.audio.fluence.speaker=false
persist.vendor.audio.fluence.tmic.enabled=false
persist.vendor.audio.fluence.voicecall=true persist.vendor.audio.fluence.voicecall=true
persist.vendor.audio.fluence.voicecomm=true persist.vendor.audio.fluence.voicecomm=true
persist.vendor.audio.fluence.voicerec=false persist.vendor.audio.fluence.voicerec=false
persist.vendor.audio.ha_proxy.enabled=true
persist.vendor.audio.ras.enabled=false
persist.vendor.audio.speaker.prot.enable=true
persist.vendor.audio.speaker.stereo=false
persist.vendor.audio.spv4.enable=true
persist.vendor.audio.vbat.enabled=false
persist.vendor.audio.voicecall.speaker.stereo=false
persist.vendor.audio_fx.current=waves persist.vendor.audio_fx.current=waves
persist.vendor.audio_fx.waves.maxxsense=true persist.vendor.audio_fx.waves.maxxsense=true
persist.vendor.audio_fx.waves.proc_twks=true persist.vendor.audio_fx.waves.proc_twks=true
persist.vendor.audio_fx.waves.processing=true persist.vendor.audio_fx.waves.processing=true
persist.vendor.audio_fx.waves.processing_nx=true
persist.vendor.audio_fx.waves.systrace=true persist.vendor.audio_fx.waves.systrace=true
ro.audio.monitorRotation=true ro.audio.monitorRotation=true
vendor.audio.feature.afe_proxy.enable=true ro.vendor.audio.sdk.fluence.nn.enabled=true
ro.vendor.audio.sdk.fluencetype=none
ro.vendor.audio.sdk.ssr=false
vendor.audio.adm.buffering.ms=2
vendor.audio.dolby.ds2.enabled=false
vendor.audio.dolby.ds2.hardbypass=false
vendor.audio.enable.mirrorlink=false
vendor.audio.flac.sw.decoder.24bit=true
vendor.audio.hal.boot.timeout.ms=20000
vendor.audio.hal.output.suspend.supported=true
vendor.audio.hw.aac.encoder=true
vendor.audio.offload.buffer.size.kb=32
vendor.audio.offload.gapless.enabled=true
vendor.audio.offload.multiaac.enable=true
vendor.audio.offload.multiple.enabled=false
vendor.audio.offload.passthrough=false
vendor.audio.offload.track.enable=true
vendor.audio.parser.ip.buffer.size=262144 vendor.audio.parser.ip.buffer.size=262144
vendor.audio.safx.pbe.enabled=false
vendor.audio.screen_record=true vendor.audio.screen_record=true
vendor.audio.snd_card.open.retries=50 vendor.audio.snd_card.open.retries=50
vendor.audio.spkr_prot.tx.sampling_rate=48000
vendor.audio.tunnel.encode=false
vendor.audio.usb.disable.sidetone=true
vendor.audio.use.sw.alac.decoder=false vendor.audio.use.sw.alac.decoder=false
vendor.audio.use.sw.ape.decoder=false vendor.audio.use.sw.ape.decoder=false
vendor.audio_hal.period_size=240 vendor.audio.use.sw.mpegh.decoder=true
vendor.audio.volume.headset.gain.depcal=true
vendor.audio_hal.in_period_size=144
vendor.audio_hal.period_multiplier=3
vendor.audio_hal.period_size=192
vendor.voice.path.for.pcm.voip=true
# Audio feature # Audio feature
vendor.audio.feature.a2dp_offload.enable=true vendor.audio.feature.a2dp_offload.enable=true
vendor.audio.feature.afe_proxy.enable=true vendor.audio.feature.afe_proxy.enable=true
vendor.audio.feature.anc_headset.enable=false vendor.audio.feature.anc_headset.enable=false
vendor.audio.feature.audiozoom.enable=false
vendor.audio.feature.battery_listener.enable=true vendor.audio.feature.battery_listener.enable=true
vendor.audio.feature.compr_cap.enable=false vendor.audio.feature.compr_cap.enable=false
vendor.audio.feature.compr_voip.enable=false
vendor.audio.feature.compress_in.enable=true vendor.audio.feature.compress_in.enable=true
vendor.audio.feature.compress_meta_data.enable=true vendor.audio.feature.compress_meta_data.enable=true
vendor.audio.feature.compr_voip.enable=false vendor.audio.feature.concurrent_capture.enable=false
vendor.audio.feature.concurrent_capture.enable=true
vendor.audio.feature.custom_stereo.enable=true vendor.audio.feature.custom_stereo.enable=true
vendor.audio.feature.deepbuffer_as_primary.enable=false
vendor.audio.feature.display_port.enable=true vendor.audio.feature.display_port.enable=true
vendor.audio.feature.dsm_feedback.enable=false vendor.audio.feature.dsm_feedback.enable=false
vendor.audio.feature.dynamic_ecns.enable=true vendor.audio.feature.dynamic_ecns.enable=false
vendor.audio.feature.ext_hw_plugin.enable=false vendor.audio.feature.ext_hw_plugin.enable=false
vendor.audio.feature.external_dsp.enable=false vendor.audio.feature.external_dsp.enable=false
vendor.audio.feature.external_speaker.enable=false vendor.audio.feature.external_speaker.enable=false
@ -54,50 +95,51 @@ vendor.audio.feature.hfp.enable=true
vendor.audio.feature.hifi_audio.enable=false vendor.audio.feature.hifi_audio.enable=false
vendor.audio.feature.hwdep_cal.enable=false vendor.audio.feature.hwdep_cal.enable=false
vendor.audio.feature.incall_music.enable=true vendor.audio.feature.incall_music.enable=true
vendor.audio.feature.multi_voice_session.enable=true
vendor.audio.feature.keep_alive.enable=true vendor.audio.feature.keep_alive.enable=true
vendor.audio.feature.kpi_optimize.enable=true vendor.audio.feature.kpi_optimize.enable=true
vendor.audio.feature.maxx_audio.enable=false vendor.audio.feature.maxx_audio.enable=false
vendor.audio.feature.multi_voice_session.enable=true
vendor.audio.feature.power_mode.enable=true
vendor.audio.feature.ras.enable=true vendor.audio.feature.ras.enable=true
vendor.audio.feature.record_play_concurency.enable=false vendor.audio.feature.record_play_concurency.enable=false
vendor.audio.feature.snd_mon.enable=true
vendor.audio.feature.spkr_prot.enable=false
vendor.audio.feature.src_trkn.enable=true vendor.audio.feature.src_trkn.enable=true
vendor.audio.feature.spkr_prot.enable=true
vendor.audio.feature.ssrec.enable=true vendor.audio.feature.ssrec.enable=true
vendor.audio.feature.usb_offload.enable=true vendor.audio.feature.usb_offload.enable=true
vendor.audio.feature.usb_offload_burst_mode.enable=true vendor.audio.feature.usb_offload_burst_mode.enable=true
vendor.audio.feature.usb_offload_sidetone_volume.enable=false vendor.audio.feature.usb_offload_sidetone_volume.enable=false
vendor.audio.feature.deepbuffer_as_primary.enable=false vendor.audio.feature.vbat.enable=false
vendor.audio.feature.vbat.enable=true
vendor.audio.feature.wsa.enable=false vendor.audio.feature.wsa.enable=false
vendor.audio.feature.audiozoom.enable=false
vendor.audio.feature.snd_mon.enable=true
# Audio steps # Audio steps
ro.config.media_vol_steps=30 ro.config.media_vol_steps=30
ro.config.vc_call_vol_steps=8 ro.config.vc_call_vol_steps=8
# Bluetooth # Bluetooth
persist.bluetooth.a2dp_offload.cap=sbc-aac-aptx-aptxhd-ldac-lc3
persist.bluetooth.a2dp_offload.disabled=false
persist.sys.fflag.override.settings_bluetooth_hearing_aid=true persist.sys.fflag.override.settings_bluetooth_hearing_aid=true
persist.vendor.bt.aac_frm_ctl.enabled=true
persist.vendor.bt.aac_vbr_frm_ctl.enabled=true persist.vendor.bt.aac_vbr_frm_ctl.enabled=true
persist.vendor.btstack.aac_frm_ctl.enabled=true
persist.vendor.qcom.bluetooth.a2dp_mcast_test.enabled=false persist.vendor.qcom.bluetooth.a2dp_mcast_test.enabled=false
persist.vendor.qcom.bluetooth.a2dp_offload_cap=sbc-aptx-aptxtws-aptxhd-aac-ldac-aptxadaptiver2 persist.vendor.qcom.bluetooth.a2dp_offload_cap=sbc-aptx-aptxtws-aptxhd-aac-ldac-aptxadaptiver2
persist.vendor.qcom.bluetooth.aac_frm_ctl.enabled=true persist.vendor.qcom.bluetooth.aac_frm_ctl.enabled=true
persist.vendor.qcom.bluetooth.aac_vbr_ctl.enabled=true persist.vendor.qcom.bluetooth.aac_vbr_ctl.enabled=true
persist.vendor.qcom.bluetooth.aptxadaptiver2_1_support=false persist.vendor.qcom.bluetooth.aptxadaptiver2_1_support=true
persist.vendor.qcom.bluetooth.enable.splita2dp=true
persist.vendor.qcom.bluetooth.scram.enabled=false persist.vendor.qcom.bluetooth.scram.enabled=false
persist.vendor.qcom.bluetooth.soc=hastings persist.vendor.qcom.bluetooth.soc=moselle
persist.vendor.qcom.bluetooth.twsp_state.enabled=false persist.vendor.qcom.bluetooth.twsp_state.enabled=false
ro.bluetooth.a2dp_offload.supported=true ro.bluetooth.a2dp_offload.supported=true
ro.vendor.bluetooth.wipower=false vendor.qcom.bluetooth.soc=moselle
vendor.qcom.bluetooth.soc=hastings
# Camera # Camera
camera.disable_zsl_mode=1 camera.disable_zsl_mode=1
# Crypto # Crypto
ro.crypto.allow_encrypt_override=true ro.crypto.dm_default_key.options_format.version=2
ro.crypto.volume.filenames_mode=aes-256-cts ro.crypto.volume.metadata.method=dm-default-key
# Dalvik # Dalvik
dalvik.vm.dex2oat-threads=6 dalvik.vm.dex2oat-threads=6
@ -114,15 +156,21 @@ vendor.display.comp_mask=0
vendor.display.disable_excl_rect=0 vendor.display.disable_excl_rect=0
vendor.display.disable_excl_rect_partial_fb=1 vendor.display.disable_excl_rect_partial_fb=1
vendor.display.disable_hw_recovery_dump=1 vendor.display.disable_hw_recovery_dump=1
vendor.display.disable_idle_time_hdr=1
vendor.display.disable_idle_time_video=1
vendor.display.disable_offline_rotator=1 vendor.display.disable_offline_rotator=1
vendor.display.disable_scaler=0 vendor.display.disable_scaler=0
vendor.display.enable_async_powermode=1 vendor.display.enable_async_powermode=1
vendor.display.enable_early_wakeup=1
vendor.display.enable_hdr10_gpu_target=1
vendor.display.enable_optimize_refresh=1 vendor.display.enable_optimize_refresh=1
vendor.display.enable_posted_start_dyn=1 vendor.display.hwc_disable_hdr=0
vendor.display.use_smooth_motion=1 vendor.display.use_smooth_motion=1
# DPM
persist.vendor.dpm.feature=11
persist.vendor.dpm.idletimer.mode=default
persist.vendor.dpmhalservice.enable=1
persist.vendor.eab.supported=1
# DRM # DRM
drm.service.enabled=true drm.service.enabled=true
@ -136,8 +184,8 @@ ro.frp.pst=/dev/block/bootdevice/by-name/frp
vendor.gatekeeper.disable_spu=true vendor.gatekeeper.disable_spu=true
# Graphics # Graphics
debug.egl.hw=0 debug.sf.disable_client_composition_cache=1
debug.mdpcomp.logs=0 debug.sf.disable_elapsetime_if_has_virtual=1
debug.sf.enable_advanced_sf_phase_offset=1 debug.sf.enable_advanced_sf_phase_offset=1
debug.sf.enable_gl_backpressure=1 debug.sf.enable_gl_backpressure=1
debug.sf.high_fps_early_gl_phase_offset_ns=-4000000 debug.sf.high_fps_early_gl_phase_offset_ns=-4000000
@ -149,15 +197,13 @@ debug.sf.latch_unsignaled=1
persist.demo.hdmirotationlock=false persist.demo.hdmirotationlock=false
persist.sys.sf.color_mode=0 persist.sys.sf.color_mode=0
persist.sys.sf.color_saturation=1.0 persist.sys.sf.color_saturation=1.0
persist.sys.sf.force_brightness_capability=1
persist.sys.sf.native_mode=1 persist.sys.sf.native_mode=1
ro.gfx.driver.1=com.qualcomm.qti.gpudrivers.kona.api30 ro.gfx.driver.1=com.qualcomm.qti.gpudrivers.lahaina.api30
ro.hardware.egl=adreno ro.hardware.egl=adreno
ro.hardware.vulkan=adreno ro.hardware.vulkan=adreno
ro.surface_flinger.set_idle_timer_ms=250 ro.opengles.version=196610
ro.surface_flinger.set_touch_timer_ms=1000
ro.surface_flinger.use_smart_90_for_video=true
vendor.gralloc.disable_ubwc=0 vendor.gralloc.disable_ubwc=0
vendor.opengles.version=196610
# IMS # IMS
persist.vendor.ims.cam_sensor_delay=20 persist.vendor.ims.cam_sensor_delay=20
@ -167,28 +213,33 @@ persist.vendor.ims.disableIMSLogs=1
persist.vendor.ims.display_delay=40 persist.vendor.ims.display_delay=40
persist.vendor.ims.playout_delay=50 persist.vendor.ims.playout_delay=50
persist.vendor.ims.vt.enableadb=1 persist.vendor.ims.vt.enableadb=1
ro.qcom.ims.use_moto_vt_ext=true
# Incremental FS # Incremental FS
ro.incremental.enable=1 ro.incremental.enable=true
# Media # Media
debug.stagefright.ccodec=1 debug.stagefright.ccodec=4
debug.stagefright.omx_default_rank=0 debug.stagefright.omx_default_rank=0
persist.vendor.media.recorder.bt709=true
media.settings.xml=/vendor/etc/media_profiles_vendor.xml media.settings.xml=/vendor/etc/media_profiles_vendor.xml
# PASR # NFC
vendor.power.pasr.enabled=true ro.nfc.port=I2C
vendor.pasr.activemode.enabled=true
# Perf
ro.vendor.extension_library=libqti-perfd-client.so
# QSPM # QSPM
ro.vendor.qspm.enable=true ro.vendor.qspm.enable=true
# Qtee
persist.vendor.qteeconnector.retrying_interval=30
persist.vendor.qteeconnector.retrying_timeout=2000
# Qualcomm System Daemon # Qualcomm System Daemon
persist.vendor.qcomsysd.enabled=1 persist.vendor.qcomsysd.enabled=1
# Radio # Radio
persist.rcs.supported=1
persist.vendor.data.iwlan.enable=true persist.vendor.data.iwlan.enable=true
persist.vendor.radio.0x9e_not_callname=1 persist.vendor.radio.0x9e_not_callname=1
persist.vendor.radio.add_power_save=1 persist.vendor.radio.add_power_save=1
@ -218,27 +269,46 @@ persist.vendor.radio.rat_on=combine
persist.vendor.radio.sar_sensor=1 persist.vendor.radio.sar_sensor=1
persist.vendor.radio.sib16_support=1 persist.vendor.radio.sib16_support=1
persist.vendor.radio.start_ota_daemon=0 persist.vendor.radio.start_ota_daemon=0
persist.vendor.radio.suppress_ussd_rel=1
persist.vendor.radio.sw_mbn_update=0 persist.vendor.radio.sw_mbn_update=0
rild.libpath=/vendor/lib64/libril-qc-hal-qmi.so persist.vendor.rcs.presence.provision=0
ro.vendor.radio.imei.sv=1 ro.vendor.hw.dualsim=true
ro.vendor.radio.imei.sv=3
# Sensors # Sensors
persist.vendor.sensors.allow_non_default_discovery=true persist.vendor.sensors.allow_non_default_discovery=true
persist.vendor.sensors.on_change_sample_period=true
persist.vendor.sensors.sync_request=true persist.vendor.sensors.sync_request=true
ro.vendor.sensors.glance_approach=false
# Shutdown # Shutdown
sys.vendor.shutdown.waittime=500 sys.vendor.shutdown.waittime=500
# SOC # SOC
ro.soc.manufacturer=QTI ro.soc.manufacturer=QTI
ro.soc.model=SM8250 ro.soc.model=SM7325
# SSR # SSR
persist.vendor.ssr.restart_level=ALL_ENABLE persist.vendor.ssr.restart_level=ALL_ENABLE
# Surfaceflinger
ro.sf.lcd_density=400
ro.surface_flinger.force_hwc_copy_for_virtual_displays=true
ro.surface_flinger.has_HDR_display=true
ro.surface_flinger.has_wide_color_display=true
ro.surface_flinger.max_frame_buffer_acquired_buffers=3
ro.surface_flinger.max_virtual_display_dimension=4096
ro.surface_flinger.protected_contents=true
ro.surface_flinger.set_idle_timer_ms=250
ro.surface_flinger.set_touch_timer_ms=1000
ro.surface_flinger.use_color_management=true
ro.surface_flinger.use_content_detection_for_refresh_rate=true
ro.surface_flinger.use_smart_90_for_video=true
ro.surface_flinger.wcg_composition_dataspace=143261696
# USB # USB
vendor.usb.diag.func.name=diag vendor.usb.diag.func.name=ffs
vendor.usb.use_ffs_mtp=0 vendor.usb.use_ffs_mtp=1
# WiFi # WiFi
wifi.aware.interface=wifi-aware0 wifi.aware.interface=wifi-aware0

View File

@ -3,3 +3,4 @@ p2p_no_group_iface=1
persistent_reconnect=1 persistent_reconnect=1
bss_max_count=400 bss_max_count=400
p2p_go_he=1 p2p_go_he=1
p2p_6ghz_disable=1

View File

@ -1,359 +1,100 @@
# This file allows user to override the factory # This file allows user to override the factory
# defaults for the WLAN Driver # defaults for the WLAN Driver
# Phy Mode (auto, b, g, n, etc) fw_timeout_crash=1
# Valid values are 0-12, with 0(Min) = Auto, 12(Max) = 11ax
# 1 = 11abg, 2 = 11b, 3 = 11g, 4 = 11n, 5 = 11g only, 6 = 11n only
# 7 = 11b only 8 = 11ac only, 9 = 11ac, 12 = 11ax.
gDot11Mode=0 gDot11Mode=0
# UAPSD service interval for VO,VI, BE, BK traffic
InfraUapsdVoSrvIntv=0 InfraUapsdVoSrvIntv=0
InfraUapsdViSrvIntv=0 InfraUapsdViSrvIntv=0
InfraUapsdBeSrvIntv=0 InfraUapsdBeSrvIntv=0
InfraUapsdBkSrvIntv=0 InfraUapsdBkSrvIntv=0
# Flag to allow STA send AddTspec even when ACM is Off
gAddTSWhenACMIsOff=1 gAddTSWhenACMIsOff=1
#Enable OBSS protection
gEnableApOBSSProt=1 gEnableApOBSSProt=1
# Maximum Tx power
# gTxPowerCap=30
# Fragmentation Threshold
# gFragmentationThreshold=2346
# RTS threshold
RTSThreshold=1048576 RTSThreshold=1048576
gDisableIntraBssFwd=0
# WMM Enable/Disable
WmmIsEnabled=0
# 802.11d support
g11dSupportEnabled=0 g11dSupportEnabled=0
gEnableDFSMasterCap=1
# DFS Master Capability
gEnableDFSMasterCap=0
ImplicitQosIsEnabled=0
gNeighborScanTimerPeriod=200 gNeighborScanTimerPeriod=200
gNeighborLookupThreshold=76 gNeighborLookupThreshold=76
gNeighborScanChannelMinTime=20
# Legacy (non-ESE, non-802.11r) Fast Roaming Support
# To enable, set FastRoamEnabled=1
# To disable, set FastRoamEnabled=0
FastRoamEnabled=1 FastRoamEnabled=1
RoamRssiDiff=5
#Channel Bonding gRoamIntraBand=0
gChannelBondingMode5GHz=1 gChannelBondingMode5GHz=1
gEnableDFSChnlScan=1
#Say gGoKeepAlivePeriod(5 seconds) and gGoLinkMonitorPeriod(10 seconds).
#For every 10 seconds DUT send Qos Null frame(i.e., Keep Alive frame if link
#is idle for last 10 seconds.) For both active and power save clients.
#Power save clients: DUT set TIM bit from 10th second onwards and till client
#honors TIM bit. If doesn't honor for 5 seconds then DUT remove client.
#Active clients: DUT send Qos Null frame for 10th seconds onwards if it is not
#success still we try on 11th second if not tries on 12th and so on till 15th
#second. Hence before disconnection DUT will send 5 NULL frames. Hence in any
#case DUT will detect client got removed in (10+5) seconds.
#i.e., (gGoKeepAlivePeriod + gGoLinkMonitorPeriod)..
#gGoLinkMonitorPeriod/ gApLinkMonitorPeriod is period where link is idle and
#it is period where we send NULL frame.
#gApLinkMonitorPeriod = 10
#gGoLinkMonitorPeriod = 10
#gApKeepAlivePeriod is time to spend to check whether frame
#are succeed to send or not. Hence total effective detection time is
#(gApLinkMonitorPeriod + gApKeepAlivePeriod)
# Enable DFS channel roam
# 0: DISABLE, 1: ENABLED_NORMAL, 2: ENABLED_ACTIVE
gAllowDFSChannelRoam=1 gAllowDFSChannelRoam=1
gVhtChannelWidth=2
# Set txchainmask and rxchainmask
# These parameters are used only if gEnable2x2 is 0
# Valid values are 1,2
# Set gSetTxChainmask1x1=1 or gSetRxChainmask1x1=1 to select chain0.
# Set gSetTxChainmask1x1=2 or gSetRxChainmask1x1=2 to select chain1.
gSetTxChainmask1x1=1 gSetTxChainmask1x1=1
gSetRxChainmask1x1=1 gSetRxChainmask1x1=1
# MCC to SCC Switch mode:
# 0-Disable
# 1-Enable
# 2-Force SCC if same band, with SAP restart
# 3-Force SCC if same band, without SAP restart by sending (E)CSA
# 4-Force SCC if same band (or) use SAP mandatory channel for DBS,
# without SAP restart by sending (E)CSA
gWlanMccToSccSwitchMode = 3 gWlanMccToSccSwitchMode = 3
# 1=enable tx STBC; 0=disable
gEnableTXSTBC=1 gEnableTXSTBC=1
#Enable/Disable Tx beamformee in SAP mode
gEnableTxBFeeSAP=1 gEnableTxBFeeSAP=1
# Enable Tx beamforming in VHT20MHz
# Valid values are 0,1. If commented out, the default value is 0.
# 0=disable, 1=enable
gEnableTxBFin20MHz=1 gEnableTxBFin20MHz=1
#Enable/Disable SU Tx beamformer support
gEnableTxSUBeamformer=1 gEnableTxSUBeamformer=1
# 802.11K support
gRrmEnable=1 gRrmEnable=1
gEnablefwprint=0
# Maximum Receive AMPDU size (VHT only. Valid values:
# 0->8k 1->16k 2->32k 3->64k 4->128k)
gVhtAmpduLenExponent=7 gVhtAmpduLenExponent=7
# Maximum MPDU length (VHT only. Valid values:
# 0->3895 octets, 1->7991 octets, 2->11454 octets)
gVhtMpduLen=2 gVhtMpduLen=2
isP2pDeviceAddrAdministrated=0
#Enable or Disable p2p device address administered
isP2pDeviceAddrAdministrated=1
#Enable VHT on 2.4Ghz
gEnableVhtFor24GHzBand=1 gEnableVhtFor24GHzBand=1
#Maximum number of offload peers supported
# gMaxOffloadPeers=2
# controlling the following offload patterns
# through ini parameter. Default value is 1
# to disable set it to zero. ssdp = 0
# Setup multicast pattern for mDNS 224.0.0.251,
# SSDP 239.255.255.250 and LLMNR 224.0.0.252
ssdp=0
# RA filtering rate limit param, the current value would not
# help if the lifetime in RA is less than 3*60=3min. Then
# we need to change it, though it is uncommon.
# gRAFilterEnable=0
gRArateLimitInterval=600
# Maximum number of concurrent connections
gMaxConcurrentActiveSessions=3
# Disable/Enable GreenAP
# 0 to disable, 1 to enable, default: 1
gEnableGreenAp=1
#Enable/Disable LPASS support
# 0 to disable, 1 to enable
gEnableLpassSupport=1 gEnableLpassSupport=1
# Whether userspace country code setting shld have priority
gCountryCodePriority=1 gCountryCodePriority=1
# Enable or Disable Multi-user MIMO
# 1=Enable (default), 0=Disable
gEnableMuBformee=1 gEnableMuBformee=1
# Enable support for TDLS
# 0 - disable
# 1 - enable
gEnableTDLSSupport=1
# Enable support for Implicit Trigger of TDLS. That is, wlan driver shall
# initiate TDLS Discovery towards a peer whenever setup criteria (throughput
# and RSSI) is met and then will initiate teardown when teardown criteria
# (idle packet count and RSSI) is met.
# 0 - disable
# 1 - enable
gEnableTDLSImplicitTrigger=1
# Enable TDLS External Control. That is, user space application has to
# first configure a peer MAC in wlan driver towards which TDLS is desired.
# Device will establish TDLS only towards those configured peers whenever
# TDLS criteria (throughput and RSSI threshold) is met and teardown TDLS
# when teardown criteria (idle packet count and RSSI) is met. However,
# device will accept TDLS connection if it is initiated from any other peer,
# even if that peer is not configured.
# 0 - disable
# 1 - enable
# For TDLS External Control, Implicit Trigger must also be enabled.
gTDLSExternalControl=1 gTDLSExternalControl=1
gEnableTDLSOffChannel=1
# Enable support for TDLS off-channel operation ################ Datapath feature set Begin ################
# 0 - disable gBusBandwidthHighThreshold=2000
# 1 - enable gBusBandwidthMediumThreshold=500
# TDLS off-channel operation will be invoked when there is only one gBusBandwidthLowThreshold=150
# TDLS connection. gBusBandwidthComputeInterval=100
gEnableTDLSOffChannel=0
gEnableTDLSScan=1
# VHT Tx/Rx MCS values
# Valid values are 0,1,2. If commented out, the default value is 0.
# 0=MCS0-7, 1=MCS0-8, 2=MCS0-9
gVhtRxMCS=2 gVhtRxMCS=2
gVhtTxMCS=2 gVhtTxMCS=2
# VHT Tx/Rx MCS values for 2x2
# Valid values are 0,1,2. If commented out, the default value is 0.
# 0=MCS0-7, 1=MCS0-8, 2=MCS0-9
gEnable2x2=1 gEnable2x2=1
gVhtRxMCS2x2=2 gVhtRxMCS2x2=2
gVhtTxMCS2x2=2 gVhtTxMCS2x2=2
#IPA config is a bit mask and following are the configurations.
#bit0 IPA Enable
#bit1 IPA PRE Filter enable
#bit2 IPv6 enable
#bit3 IPA Resource Manager (RM) enable
#bit4 IPA Clock scaling enable
#bit5 IPA uC ENABLE
#bit6 IPA uC STA ENABLE
#bit8 IPA Real Time Debugging
gIPAConfig=0x7d gIPAConfig=0x7d
gIPADescSize=800 gIPADescSize=800
dp_tx_ring_size=5120
# Enable TCP Segmentation Offload dp_tx_compl_ring_size=8192
# 1 - enable 0 - disable dp_tx_desc=6144
dp_tx_ext_desc=6144
gReorderOffloadSupported=1
gCEClassifyEnable=1
rx_mode=20
gEnableFastPath=1
gEnableIpTcpUdpChecksumOffload=1
TSOEnable=1 TSOEnable=1
# Enable Generic Receive Offload
# 1 - enable(default) 0 - disable
GROEnable=1 GROEnable=1
# Enable HT MPDU Density
# 4 for 2 micro sec
ght_mpdu_density=4 ght_mpdu_density=4
# Enable flow steering to enable multiple CEs for Rx flows.
# Multiple Rx CEs<==>Multiple Rx IRQs<==>probably different CPUs.
# Parallel Rx paths.
# 1 - enable 0 - disable(default)
gEnableFlowSteering=1 gEnableFlowSteering=1
ce_service_max_yield_time=500
# RPS map for different RX queues (seperate by spaces) ce_service_max_rx_ind_flush=1
# Internally, the nibbles get swapped.
rpsRxQueueCpuMapList=f7
# Maximum number of MSDUs the firmware will pack in one HTT_T2H_MSG_TYPE_RX_IN_ORD_PADDR_IND
maxMSDUsPerRxInd=8 maxMSDUsPerRxInd=8
gEnableNUDTracking=1
rpsRxQueueCpuMapList=f3
legacy_mode_csum_disable=1
icmp_req_to_fw_mark_interval=200
################ Datapath feature set End ################ ################ Datapath feature set End ################
################ NAN feature set start ################### adaptive_dwell_mode_enabled=1
# Enable NAN discovery (NAN 1.0)
# 1 - enable 0 - disable(default)
gEnableNanSupport=0
# Enable NAN Datapath
genable_nan_datapath=0
################ NAN feature set end #####################
hostscan_adaptive_dwell_mode=1 hostscan_adaptive_dwell_mode=1
adapt_dwell_lpf_weight=80
adapt_dwell_wifi_act_threshold=10
oce_enable_probe_req_deferral=0
oce_enable_probe_req_rate=0
enable_esp_for_roam=0
# Enable the FW crash inject
gEnableForceTargetAssert=1
#Ignore peer information
gIgnorePeerErpInfo=1
#Enable Broadcast probe response.
g_enable_bcast_probe_rsp=0
# Enable/Disable rtt sta mac randomization
enable_rtt_mac_randomization=1 enable_rtt_mac_randomization=1
#Enable/Disable SNR monitoring
gEnableSNRMonitoring=1 gEnableSNRMonitoring=1
# HTC Credit count for WMI operation
# 1 to serialize the WMI commands
# 0 default works with FW advertised credits, 2 credits usually
gWmiCreditCount=1 gWmiCreditCount=1
# Enable enhanced ACS
acs_with_more_param=1 acs_with_more_param=1
# bits 0-3: rssi weight
# bits 4-7: bss count weight
# bits 8-11: noise floor weight
# bits 12-15: channel free weight
# bits 16-19: tx power range weight
# bits 20-23: tx power throughput weight
# bits 24-31: reserved
AutoChannelSelectWeight=0x00fafafa AutoChannelSelectWeight=0x00fafafa
# Enable/Disable broadcast TWT
bcast_twt=1 bcast_twt=1
# Enable Runtime PM
# 0 - RTPM disabled, so CxPC aware RTPM will be disabled as well
# 1 - RTPM enabled, but CxPC aware RTPM disabled (i.e, Static Runtime PM)
# 2 - RTPM enabled and CxPC aware RTPM enabled as well (i.e, Dynamic Runtime PM)
gRuntimePM=2 gRuntimePM=2
gRuntimePMDelay=500 gRuntimePMDelay=500
# Enable broadcast logging to the userspace entities
gMulticastHostFwMsgs=1
# Disable packetlog explicitly
gEnablePacketLog=0 gEnablePacketLog=0
gfine_time_meas_cap=0x0030D
# Set IPA bandwidth levels in mbps active_max_channel_time_2g=80
gIPALowBandwidthMbps=100 gPassiveMaxChannelTime=110
gIPAMediumBandwidthMbps=400
gIPAHighBandwidthMbps=800
# Enable wlm_latency_enable feature
# 0 - disable, 1 - enable(default)
wlm_latency_enable=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 g_prefer_5g_scc_to_dbs=8
#Add another interface while driver load
gEnableConcurrentSTA=wlan1
#Enable ETSII SRD channels for ACS
etsi13_srd_chan_in_master_mode=1
# Disable channel bonding mode 24GHZ
gChannelBondingMode24GHz=0
#acs_policy - External ACS policy control
#0 -Preferable for ACS
#1 -Mandatory for ACS
acs_policy=0
#0 - Disallow STA+SAP SCC on DFS channel
#1 - Allow STA+SAP SCC on DFS channel with master mode disabled
#2-2 - enhance "1"
g_sta_sap_scc_on_dfs_chan=0
# 1 - Enable the host silent recovery
# 0 - Disable the host silent recovery
gEnableSelfRecovery=1
# turning QC BLM parameters
avoid_list_expiry_time=5
black_list_expiry_time=1
bad_bssid_counter_thresh=10
END END
# Note: Configuration parser would not read anything past the END marker # Note: Configuration parser would not read anything past the END marker

View File

@ -1,10 +1,25 @@
# This file allows user to override the factory # This file allows user to override the factory
# defaults for the WLAN Driver # defaults for the WLAN Driver
# Disable channel bonding mode 24GHZ
gChannelBondingMode24GHz=0
# IKSWO-42425: Enable user triggered SSR
gEnableForceTargetAssert=1
# Enable IMPS or not
gEnableImps=1
# Enable BMPS or not
gEnableBmps=1
# Enable PCI gen switch
g_enable_pci_gen=1
# Phy Mode (auto, b, g, n, etc) # Phy Mode (auto, b, g, n, etc)
# Valid values are 0-12, with 0(Min) = Auto, 12(Max) = 11ax # Valid values are 0-9, with 0 = Auto, 4 = 11n, 9 = 11ac
# 1 = 11abg, 2 = 11b, 3 = 11g, 4 = 11n, 5 = 11g only, 6 = 11n only # 1 = 11abg, 2 = 11b, 3 = 11g, 5 = 11g only, 6 = 11n only
# 7 = 11b only 8 = 11ac only, 9 = 11ac, 12 = 11ax. # 7 = 11b only 8 = 11ac only.
gDot11Mode=0 gDot11Mode=0
# UAPSD service interval for VO,VI, BE, BK traffic # UAPSD service interval for VO,VI, BE, BK traffic
@ -16,9 +31,22 @@ InfraUapsdBkSrvIntv=0
# Flag to allow STA send AddTspec even when ACM is Off # Flag to allow STA send AddTspec even when ACM is Off
gAddTSWhenACMIsOff=1 gAddTSWhenACMIsOff=1
#Flag to enable HostARPOffload feature or not
hostArpOffload=1
#Flag to enable HostNSOffload feature or not
hostNSOffload=1
# 802.11n Protection flag
gEnableApProt=1
#Enable OBSS protection #Enable OBSS protection
gEnableApOBSSProt=1 gEnableApOBSSProt=1
#Enable/Disable UAPSD for SoftAP
gEnableApUapsd=1
# Maximum Tx power # Maximum Tx power
# gTxPowerCap=30 # gTxPowerCap=30
@ -28,25 +56,52 @@ gEnableApOBSSProt=1
# RTS threshold # RTS threshold
RTSThreshold=1048576 RTSThreshold=1048576
# Intra-BSS forward
gDisableIntraBssFwd=0
# WMM Enable/Disable # WMM Enable/Disable
WmmIsEnabled=0 WmmIsEnabled=0
# 802.11d support # 802.11d support
g11dSupportEnabled=0 g11dSupportEnabled=0
# 802.11h support
g11hSupportEnabled=1
# DFS Master Capability # DFS Master Capability
gEnableDFSMasterCap=1 gEnableDFSMasterCap=1
# ESE Support and fast transition
EseEnabled=0
ImplicitQosIsEnabled=0 ImplicitQosIsEnabled=0
gNeighborScanTimerPeriod=200 gNeighborScanTimerPeriod=200
gNeighborLookupThreshold=76 gNeighborLookupThreshold=76
gNeighborScanChannelMinTime=20
# Legacy (non-ESE, non-802.11r) Fast Roaming Support # Legacy (non-ESE, non-802.11r) Fast Roaming Support
# To enable, set FastRoamEnabled=1 # To enable, set FastRoamEnabled=1
# To disable, set FastRoamEnabled=0 # To disable, set FastRoamEnabled=0
FastRoamEnabled=1 FastRoamEnabled=1
# Check if the AP to which we are roaming is better than current AP in
# terms of RSSI. Checking is disabled if set to Zero.Otherwise it will
# use this value as to how better the RSSI of the new/roamable AP should
# be for roaming
RoamRssiDiff=5
# To enable, set gRoamIntraBand=1 (Roaming within band)
# To disable, set gRoamIntraBand=0 (Roaming across band)
gRoamIntraBand=0
#Short Guard Interval Enable/disable
gShortGI20Mhz=1
gShortGI40Mhz=1
#Auto Shutdown wlan : Value in Seconds. 0 means disabled. Max 1 day = 86400 sec
gWlanAutoShutdown = 0
#Channel Bonding #Channel Bonding
gChannelBondingMode5GHz=1 gChannelBondingMode5GHz=1
@ -68,9 +123,15 @@ gChannelBondingMode5GHz=1
#gApLinkMonitorPeriod = 10 #gApLinkMonitorPeriod = 10
#gGoLinkMonitorPeriod = 10 #gGoLinkMonitorPeriod = 10
#gApKeepAlivePeriod is time to spend to check whether frame #gGoKeepAlivePeriod/gApKeepAlivePeriod is time to spend to check whether frame
#are succeed to send or not. Hence total effective detection time is #are succeed to send or not. Hence total effective detection time is
# (gGoLinkMonitorPeriod + gGoKeepAlivePeriod) /
# (gApLinkMonitorPeriod + gApKeepAlivePeriod) # (gApLinkMonitorPeriod + gApKeepAlivePeriod)
gGoKeepAlivePeriod = 20
gApKeepAlivePeriod = 20
#If set to 0, will not scan DFS channels
gEnableDFSChnlScan=1
# Enable DFS channel roam # Enable DFS channel roam
# 0: DISABLE, 1: ENABLED_NORMAL, 2: ENABLED_ACTIVE # 0: DISABLE, 1: ENABLED_NORMAL, 2: ENABLED_ACTIVE
@ -78,6 +139,9 @@ gAllowDFSChannelRoam=1
gVhtChannelWidth=2 gVhtChannelWidth=2
#Data Inactivity Timeout when in powersave (in ms)
gDataInactivityTimeout=200
# Set txchainmask and rxchainmask # Set txchainmask and rxchainmask
# These parameters are used only if gEnable2x2 is 0 # These parameters are used only if gEnable2x2 is 0
# Valid values are 1,2 # Valid values are 1,2
@ -86,6 +150,14 @@ gVhtChannelWidth=2
gSetTxChainmask1x1=1 gSetTxChainmask1x1=1
gSetRxChainmask1x1=1 gSetRxChainmask1x1=1
# Scan Timing Parameters
# gPassiveMaxChannelTime=110
# gPassiveMinChannelTime=60
gActiveMaxChannelTime=40
#If set to 0, MCC is not allowed.
gEnableMCCMode=1
# MCC to SCC Switch mode: # MCC to SCC Switch mode:
# 0-Disable # 0-Disable
# 1-Enable # 1-Enable
@ -95,9 +167,18 @@ gSetRxChainmask1x1=1
# without SAP restart by sending (E)CSA # without SAP restart by sending (E)CSA
gWlanMccToSccSwitchMode = 3 gWlanMccToSccSwitchMode = 3
# 1=enable STBC; 0=disable STBC
gEnableRXSTBC=1
# 1=enable tx STBC; 0=disable # 1=enable tx STBC; 0=disable
gEnableTXSTBC=1 gEnableTXSTBC=1
# 1=enable rx LDPC; 0=disable
gEnableRXLDPC=1
#Enable/Disable Tx beamforming
gTxBFEnable=1
#Enable/Disable Tx beamformee in SAP mode #Enable/Disable Tx beamformee in SAP mode
gEnableTxBFeeSAP=1 gEnableTxBFeeSAP=1
@ -106,12 +187,22 @@ gEnableTxBFeeSAP=1
# 0=disable, 1=enable # 0=disable, 1=enable
gEnableTxBFin20MHz=1 gEnableTxBFin20MHz=1
#Enable/Disable SU Tx beamformer support #Enable/Disable SU Tx beamformer support.
gEnableTxSUBeamformer=1 gEnableTxSUBeamformer=1
gEnableFastRoamInConcurrency=1
# 802.11K support # 802.11K support
gRrmEnable=1 gRrmEnable=1
#Enable firmware uart print
gEnablefwprint=0
# Firmware log mode
# Valid values are 0,1,2
# 0=Disable, 1=WMI, 2=DIAG
gEnablefwlog=1
# Maximum Receive AMPDU size (VHT only. Valid values: # Maximum Receive AMPDU size (VHT only. Valid values:
# 0->8k 1->16k 2->32k 3->64k 4->128k) # 0->8k 1->16k 2->32k 3->64k 4->128k)
gVhtAmpduLenExponent=7 gVhtAmpduLenExponent=7
@ -120,8 +211,26 @@ gVhtAmpduLenExponent=7
# 0->3895 octets, 1->7991 octets, 2->11454 octets) # 0->3895 octets, 1->7991 octets, 2->11454 octets)
gVhtMpduLen=2 gVhtMpduLen=2
# Maximum number of wow filters required
#gMaxWoWFilters=22
# WOW Enable/Disable.
# 0 - Disable both magic pattern match and pattern byte match.
# 1 - Enable magic pattern match on all interfaces.
# 2 - Enable pattern byte match on all interfaces.
# 3 - Enable both magic pattern and pattern byte match on all interfaces.
# Default value of gEnableWoW is 3.
# gEnableWoW=0
# Enable or Disable MCC Adaptive Scheduler at the FW
# 1=Enable (default), 0=Disable
gEnableMCCAdaptiveScheduler=1
#Enable or Disable p2p device address administered #Enable or Disable p2p device address administered
isP2pDeviceAddrAdministrated=0 isP2pDeviceAddrAdministrated=1
# Remove Overlap channel restriction
gEnableOverLapCh=0
#Enable VHT on 2.4Ghz #Enable VHT on 2.4Ghz
gEnableVhtFor24GHzBand=1 gEnableVhtFor24GHzBand=1
@ -136,6 +245,9 @@ gEnableVhtFor24GHzBand=1
# SSDP 239.255.255.250 and LLMNR 224.0.0.252 # SSDP 239.255.255.250 and LLMNR 224.0.0.252
ssdp=0 ssdp=0
#Enable Memory Deep Sleep
gEnableMemDeepSleep=1
# RA filtering rate limit param, the current value would not # RA filtering rate limit param, the current value would not
# help if the lifetime in RA is less than 3*60=3min. Then # help if the lifetime in RA is less than 3*60=3min. Then
# we need to change it, though it is uncommon. # we need to change it, though it is uncommon.
@ -149,6 +261,8 @@ gMaxConcurrentActiveSessions=3
# 0 to disable, 1 to enable, default: 1 # 0 to disable, 1 to enable, default: 1
gEnableGreenAp=0 gEnableGreenAp=0
gPNOScanSupport=1
#Enable/Disable LPASS support #Enable/Disable LPASS support
# 0 to disable, 1 to enable # 0 to disable, 1 to enable
gEnableLpassSupport=1 gEnableLpassSupport=1
@ -156,10 +270,16 @@ gEnableLpassSupport=1
# Whether userspace country code setting shld have priority # Whether userspace country code setting shld have priority
gCountryCodePriority=1 gCountryCodePriority=1
# Enable(1)/Disable(0) SIFS burst
gEnableSifsBurst=1
# Enable or Disable Multi-user MIMO # Enable or Disable Multi-user MIMO
# 1=Enable (default), 0=Disable # 1=Enable (default), 0=Disable
gEnableMuBformee=1 gEnableMuBformee=1
# Inactivity time (in ms) to end TX Service Period while in IBSS power save mode
gIbssTxSpEndInactivityTime=10
# Enable TDLS External Control. That is, user space application has to # Enable TDLS External Control. That is, user space application has to
# first configure a peer MAC in wlan driver towards which TDLS is desired. # first configure a peer MAC in wlan driver towards which TDLS is desired.
# Device will establish TDLS only towards those configured peers whenever # Device will establish TDLS only towards those configured peers whenever
@ -179,6 +299,19 @@ gTDLSExternalControl=1
# TDLS connection. # TDLS connection.
gEnableTDLSOffChannel=1 gEnableTDLSOffChannel=1
# Enable or Disable Random MAC (Spoofing)
# 1=Enable (default), 0=Disable
gEnableMacAddrSpoof=1
################ Datapath feature set Begin ################
# Bus bandwidth threshold values in terms of number of packets
gBusBandwidthHighThreshold=2000
gBusBandwidthMediumThreshold=500
gBusBandwidthLowThreshold=150
# Bus bandwidth compute timeout value in ms
gBusBandwidthComputeInterval=100
# VHT Tx/Rx MCS values # VHT Tx/Rx MCS values
# Valid values are 0,1,2. If commented out, the default value is 0. # Valid values are 0,1,2. If commented out, the default value is 0.
# 0=MCS0-7, 1=MCS0-8, 2=MCS0-9 # 0=MCS0-7, 1=MCS0-8, 2=MCS0-9
@ -204,11 +337,32 @@ gVhtTxMCS2x2=2
gIPAConfig=0x7d gIPAConfig=0x7d
gIPADescSize=800 gIPADescSize=800
# Increase TCL ringsize # Set IPA bandwidth levels in mbps
dp_tx_ring_size=3072 gIPALowBandwidthMbps=100
gIPAMediumBandwidthMbps=400
gIPAHighBandwidthMbps=800
# Disable HW checksum for legacy modes # Set CPU mask for RPS Rx queue
legacy_mode_csum_disable=1 rpsRxQueueCpuMapList=07
# Enable/Disable RX full reorder offload
gReorderOffloadSupported=1
# Enable CE classification
# 1 - enable(default) 0 - disable
gCEClassifyEnable=1
# Enable Rx handling options
# Rx_thread=1 RPS=2(default for ROME) NAPI=4(default for ihelium)
rx_mode=20
# Enable(Tx) fastpath for data traffic.
# 1 - enable(default) 0 - disable
gEnableFastPath=1
# This flag enables IP, TCP and UDP checksum offload
# 1 - enable(default) 0 - disable
gEnableIpTcpUdpChecksumOffload=1
# Enable TCP Segmentation Offload # Enable TCP Segmentation Offload
# 1 - enable 0 - disable # 1 - enable 0 - disable
@ -228,21 +382,18 @@ ght_mpdu_density=4
# 1 - enable 0 - disable(default) # 1 - enable 0 - disable(default)
gEnableFlowSteering=1 gEnableFlowSteering=1
# Enable Rx FISA support # Time in microseconds after which a NAPI poll must yield
# 0 - disable(default for non-QCA6490), 1 - enable(default for QCA6490) ce_service_max_yield_time=500
dp_rx_fisa_enable=1
# FISA FSE flow table size #Maximum number of HTT messages to be processed per NAPI poll
dp_rx_flow_search_table_size=128 ce_service_max_rx_ind_flush=1
# Maximum number of MSDUs the firmware will pack in one HTT_T2H_MSG_TYPE_RX_IN_ORD_PADDR_IND # Maximum number of MSDUs the firmware will pack in one HTT_T2H_MSG_TYPE_RX_IN_ORD_PADDR_IND
maxMSDUsPerRxInd=8 maxMSDUsPerRxInd=8
gHandleLatencyCriticalClients=1 # Enable NUD tracking feature
# 1 - enable 0 - disable(default)
# RPS map for different RX queues (seperate by spaces) gEnableNUDTracking=1
# Internally, the nibbles get swapped.
rpsRxQueueCpuMapList=f7
################ Datapath feature set End ################ ################ Datapath feature set End ################
@ -250,70 +401,85 @@ rpsRxQueueCpuMapList=f7
# Enable NAN discovery (NAN 1.0) # Enable NAN discovery (NAN 1.0)
# 1 - enable 0 - disable(default) # 1 - enable 0 - disable(default)
gEnableNanSupport=1 gEnableNanSupport=0
# Enable NAN Datapath # Enable NAN Datapath
genable_nan_datapath=1 genable_nan_datapath=0
################ NAN feature set end ##################### ################ NAN feature set end #####################
# Flag to enable/disable FILS element in Probe Request
g_enable_bcast_probe_rsp=0
enable_scoring_for_roam=0
oce_enable_probe_req_deferral=0
oce_enable_probe_req_rate=0
enable_esp_for_roam=0
adaptive_dwell_mode_enabled=1
hostscan_adaptive_dwell_mode=1 hostscan_adaptive_dwell_mode=1
adapt_dwell_lpf_weight=80
adapt_dwell_wifi_act_threshold=10
MAWCEnabled=0
# Enable/Disable rtt sta mac randomization # Enable/Disable rtt sta mac randomization
enable_rtt_mac_randomization=1 enable_rtt_mac_randomization=1
#Enable/Disable SNR monitoring #Enable/Disable SNR monitoring
gEnableSNRMonitoring=1 gEnableSNRMonitoring=1
# HTC Credit count for WMI operation
# 1 to serialize the WMI commands
# 0 default works with FW advertised credits, 2 credits usually
gWmiCreditCount=1
# Enable enhanced ACS
acs_with_more_param=1
# bits 0-3: rssi weight
# bits 4-7: bss count weight
# bits 8-11: noise floor weight
# bits 12-15: channel free weight
# bits 16-19: tx power range weight
# bits 20-23: tx power throughput weight
# bits 24-31: reserved
AutoChannelSelectWeight=0x00fafafa
# Enable/Disable broadcast TWT
bcast_twt=1
# Enable Runtime PM # Enable Runtime PM
# 0 - RTPM disabled, so CxPC aware RTPM will be disabled as well
# 1 - RTPM enabled, but CxPC aware RTPM disabled (i.e, Static Runtime PM)
# 2 - RTPM enabled and CxPC aware RTPM enabled as well (i.e, Dynamic Runtime PM)
gRuntimePM=2 gRuntimePM=2
gRuntimePMDelay=500 gRuntimePMDelay=500
active_max_channel_time_6g=60 # Rx thread affinity mask in UL case
passive_max_channel_time_6g=60 RX_THREAD_UL_CPU_AFFINITY_MASK=0xc0
# Enable broadcast logging to the userspace entities AutoChannelSelectWeight=0x00fafafa
gMulticastHostFwMsgs=1
# Disable packetlog explicitly
gEnablePacketLog=0
# Set IPA bandwidth levels in mbps bcast_twt=1
gIPALowBandwidthMbps=100
gIPAMediumBandwidthMbps=400
gIPAHighBandwidthMbps=800
# Enable wlm_latency_enable feature dp_tx_ring_size=3072
# 0 - disable, 1 - enable(default)
wlm_latency_enable=1
spectral_disable=1
# This ini is used to give higher priority for 5g scc than dbs. gWmiCreditCount=1
# 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
# Enable RX buffer pool
dp_rx_buff_prealloc_pool=1
#Enable RX FISA
dp_rx_fisa_enable=1
dp_rx_flow_search_table_size=128
legacy_mode_csum_disable=0
#Enable Rx refill pool
dp_rx_refill_buff_pool=1
# Enable Software latency manager
gEnableSWLM=1
# Place FST in CMEM
dp_rx_fst_in_cmem=1
# Use QMI path to get LL and station stats
send_ll_and_get_station_stats_over_qmi=1
#enable 6GHz support for RTT/LOWI
oem_6g_support_disable=0
# 1 - Enable the host silent recovery
# 0 - Disable the host silent recovery
gEnableSelfRecovery=1
# turning QC BLM parameters
avoid_list_expiry_time=5
black_list_expiry_time=1
bad_bssid_counter_thresh=10
END END
# Note: Configuration parser would not read anything past the END marker # Note: Configuration parser would not read anything past the END marker

View File

@ -0,0 +1,124 @@
# This file allows user to override the factory
# defaults for the WLAN Driver
fw_timeout_crash=1
gDot11Mode=0
InfraUapsdVoSrvIntv=0
InfraUapsdViSrvIntv=0
InfraUapsdBeSrvIntv=0
InfraUapsdBkSrvIntv=0
gAddTSWhenACMIsOff=1
gEnableApOBSSProt=1
RTSThreshold=1048576
gDisableIntraBssFwd=0
g11dSupportEnabled=0
gEnableDFSMasterCap=1
gNeighborScanTimerPeriod=200
gNeighborLookupThreshold=76
gNeighborScanChannelMinTime=20
FastRoamEnabled=1
RoamRssiDiff=5
gRoamIntraBand=0
gChannelBondingMode5GHz=1
gEnableDFSChnlScan=1
gAllowDFSChannelRoam=1
gSetTxChainmask1x1=1
gSetRxChainmask1x1=1
gWlanMccToSccSwitchMode = 3
gEnableTXSTBC=1
gEnableTxBFeeSAP=1
gEnableTxBFin20MHz=1
gEnableTxSUBeamformer=1
gRrmEnable=1
gEnablefwprint=0
gVhtAmpduLenExponent=7
gVhtMpduLen=2
# WOW Enable/Disable.
# 0 - Disable both magic pattern match and pattern byte match.
# 1 - Enable magic pattern match on all interfaces.
# 2 - Enable pattern byte match on all interfaces.
# 3 - Enable both magic pattern and pattern byte match on all interfaces.
# Default value of gEnableWoW is 3.
# gEnableWoW=0
#Enable or Disable p2p device address administered
isP2pDeviceAddrAdministrated=1
#Enable VHT on 2.4Ghz
gEnableVhtFor24GHzBand=1
gEnableLpassSupport=1
gCountryCodePriority=1
gEnableMuBformee=1
gTDLSExternalControl=1
gEnableTDLSOffChannel=1
################ Datapath feature set Begin ################
gBusBandwidthHighThreshold=2000
gBusBandwidthMediumThreshold=500
gBusBandwidthLowThreshold=150
gBusBandwidthComputeInterval=100
gVhtRxMCS=2
gVhtTxMCS=2
gEnable2x2=1
gVhtRxMCS2x2=2
gVhtTxMCS2x2=2
gIPAConfig=0x7d
gIPADescSize=800
dp_tx_ring_size=5120
dp_tx_compl_ring_size=8192
dp_tx_desc=6144
dp_tx_ext_desc=6144
gReorderOffloadSupported=1
gCEClassifyEnable=1
rx_mode=20
gEnableFastPath=1
gEnableIpTcpUdpChecksumOffload=1
TSOEnable=1
GROEnable=1
ght_mpdu_density=4
gEnableFlowSteering=1
ce_service_max_yield_time=500
ce_service_max_rx_ind_flush=1
maxMSDUsPerRxInd=8
gEnableNUDTracking=1
dp_rx_fisa_enable=1
dp_rx_flow_search_table_size=128
rpsRxQueueCpuMapList=07
legacy_mode_csum_disable=1
icmp_req_to_fw_mark_interval=200
################ Datapath feature set End ################
adaptive_dwell_mode_enabled=1
hostscan_adaptive_dwell_mode=1
adapt_dwell_lpf_weight=80
adapt_dwell_wifi_act_threshold=10
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
gfine_time_meas_cap=0x0030D
oem_6g_support_disable=0
active_max_channel_time_2g=80
active_max_channel_time_6g=60
gPassiveMaxChannelTime=110
passive_max_channel_time_6g=60
g_prefer_5g_scc_to_dbs=8
# Enable cocurrent interface wlan1
gEnableConcurrentSTA=wlan1
# Enable Indoor channel support for MHS to turn on in 6Ghz
gindoor_channel_support=1
END
# Note: Configuration parser would not read anything past the END marker

View File

@ -7,3 +7,4 @@ interworking=1
config_methods=virtual_display virtual_push_button keypad config_methods=virtual_display virtual_push_button keypad
driver_param="no_rrm=1" driver_param="no_rrm=1"
pmf=1 pmf=1
sae_pwe=2