sm7325-common => sm6375-common

* All configs updated from fogos U1UG34M.23-82-2 build

Change-Id: I6750c454f2eeec53205c56f033c76443e93b44ed
This commit is contained in:
Anand S 2024-07-03 12:56:42 +05:30
parent 5dd69c17ba
commit 7a96a5062f
No known key found for this signature in database
GPG key ID: 3B2983FA448B3D61
70 changed files with 1753 additions and 3360 deletions

View file

@ -6,7 +6,7 @@
LOCAL_PATH := $(call my-dir) LOCAL_PATH := $(call my-dir)
ifneq ($(filter berlin berlna dubai xpeng,$(TARGET_DEVICE)),) ifneq ($(filter bangkk fogos,$(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)))
@ -101,12 +101,9 @@ $(RFS_MSM_WPSS_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
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 $@
@mkdir -p $@/qca6490 $(hide) ln -sf /mnt/vendor/persist/wlan_mac.bin $@/wlan_mac.bin
@mkdir -p $@/qca6750 $(hide) ln -sf /vendor/etc/wifi/WCNSS_qcom_cfg.ini $@/WCNSS_qcom_cfg.ini
$(hide) ln -sf /mnt/vendor/persist/wlan/wlan_mac.bin $@/wlan/wlan_mac.bin
$(hide) ln -sf /vendor/etc/wifi/WCNSS_qcom_cfg.ini $@/qca6490/WCNSS_qcom_cfg.ini
$(hide) ln -sf /vendor/etc/wifi/WCNSS_qcom_cfg.ini $@/qca6750/WCNSS_qcom_cfg.ini
ALL_DEFAULT_INSTALLED_MODULES += $(RFS_MSM_ADSP_SYMLINKS) $(RFS_MSM_CDSP_SYMLINKS) $(RFS_MSM_MPSS_SYMLINKS) \ ALL_DEFAULT_INSTALLED_MODULES += $(RFS_MSM_ADSP_SYMLINKS) $(RFS_MSM_CDSP_SYMLINKS) $(RFS_MSM_MPSS_SYMLINKS) \
$(RFS_MSM_WPSS_SYMLINKS) $(RFS_MSM_SLPI_SYMLINKS) $(WIFI_FIRMWARE_SYMLINKS) $(RFS_MSM_WPSS_SYMLINKS) $(RFS_MSM_SLPI_SYMLINKS) $(WIFI_FIRMWARE_SYMLINKS)

View file

@ -16,7 +16,7 @@
BOARD_VENDOR := motorola BOARD_VENDOR := motorola
COMMON_PATH := device/motorola/sm7325-common COMMON_PATH := device/motorola/sm6375-common
# Architecture # Architecture
TARGET_ARCH := arm64 TARGET_ARCH := arm64
@ -58,12 +58,11 @@ BOARD_KERNEL_SEPARATED_DTBO := true
BOARD_MKBOOTIMG_ARGS += --header_version $(BOARD_BOOT_HEADER_VERSION) BOARD_MKBOOTIMG_ARGS += --header_version $(BOARD_BOOT_HEADER_VERSION)
BOARD_RAMDISK_USE_LZ4 := true BOARD_RAMDISK_USE_LZ4 := true
TARGET_KERNEL_ADDITIONAL_FLAGS := DTC_EXT=$(shell pwd)/prebuilts/misc/linux-x86/dtc/dtc LLVM=1 TARGET_KERNEL_ADDITIONAL_FLAGS := DTC_EXT=$(shell pwd)/prebuilts/misc/linux-x86/dtc/dtc LLVM=1
TARGET_KERNEL_SOURCE := kernel/motorola/sm7325 TARGET_KERNEL_SOURCE := kernel/motorola/sm6375
TARGET_KERNEL_CONFIG := vendor/lahaina-qgki_defconfig vendor/lineage_moto-lahaina.config
# Platform # Platform
BOARD_USES_QCOM_HARDWARE := true BOARD_USES_QCOM_HARDWARE := true
TARGET_BOARD_PLATFORM := lahaina TARGET_BOARD_PLATFORM := holi
BOARD_ROOT_EXTRA_SYMLINKS := \ BOARD_ROOT_EXTRA_SYMLINKS := \
/vendor/fsg:/fsg /vendor/fsg:/fsg
@ -206,4 +205,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/sm7325-common/BoardConfigVendor.mk include vendor/motorola/sm6375-common/BoardConfigVendor.mk

View file

@ -18,56 +18,123 @@ outputs {
bit_width 16 bit_width 16
app_type 69937 app_type 69937
} }
voip_rx { proaudio {
flags AUDIO_OUTPUT_FLAG_VOIP_RX|AUDIO_OUTPUT_FLAG_DIRECT flags AUDIO_OUTPUT_FLAG_FAST|AUDIO_OUTPUT_FLAG_RAW
formats AUDIO_FORMAT_PCM_16_BIT formats AUDIO_FORMAT_PCM_16_BIT
sampling_rates 48000 sampling_rates 48000
bit_width 16 bit_width 16
app_type 69943
}
voip_rx {
flags AUDIO_OUTPUT_FLAG_VOIP_RX
formats AUDIO_FORMAT_PCM_16_BIT
sampling_rates 8000|16000|32000|48000
bit_width 16
app_type 69946 app_type 69946
} }
deep_buffer {
flags AUDIO_OUTPUT_FLAG_DEEP_BUFFER
formats AUDIO_FORMAT_PCM_16_BIT
sampling_rates 48000
bit_width 16
app_type 69936
}
direct_pcm_16 { direct_pcm_16 {
flags AUDIO_OUTPUT_FLAG_DIRECT flags AUDIO_OUTPUT_FLAG_DIRECT
formats AUDIO_FORMAT_PCM_16_BIT|AUDIO_FORMAT_PCM_24_BIT_PACKED|AUDIO_FORMAT_PCM_8_24_BIT|AUDIO_FORMAT_PCM_32_BIT formats AUDIO_FORMAT_PCM_16_BIT|AUDIO_FORMAT_PCM_24_BIT_PACKED|AUDIO_FORMAT_PCM_8_24_BIT|AUDIO_FORMAT_PCM_32_BIT
sampling_rates 44100|48000|88200|96000|176400|192000 sampling_rates 48000|96000
bit_width 16 bit_width 16
app_type 69936 app_type 69937
} }
direct_pcm_24 { direct_pcm_24 {
flags AUDIO_OUTPUT_FLAG_DIRECT flags AUDIO_OUTPUT_FLAG_DIRECT
formats AUDIO_FORMAT_PCM_24_BIT_PACKED|AUDIO_FORMAT_PCM_8_24_BIT|AUDIO_FORMAT_PCM_32_BIT formats AUDIO_FORMAT_PCM_24_BIT_PACKED|AUDIO_FORMAT_PCM_8_24_BIT|AUDIO_FORMAT_PCM_32_BIT
sampling_rates 44100|48000|88200|96000|176400|192000|352800|384000 sampling_rates 48000|96000
bit_width 24 bit_width 24
app_type 69940 app_type 69940
} }
direct_pcm_32 { direct_pcm_32 {
flags AUDIO_OUTPUT_FLAG_DIRECT flags AUDIO_OUTPUT_FLAG_DIRECT
formats AUDIO_FORMAT_PCM_32_BIT formats AUDIO_FORMAT_PCM_32_BIT
sampling_rates 44100|48000|88200|96000|176400|192000|352800|384000 sampling_rates 48000|96000
bit_width 32 bit_width 32
app_type 69942 app_type 69942
} }
compress_passthrough {
flags AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING|AUDIO_OUTPUT_FLAG_COMPRESS_PASSTHROUGH
formats AUDIO_FORMAT_DTS|AUDIO_FORMAT_DTS_HD|AUDIO_FORMAT_DSD
sampling_rates 48000
bit_width 16
app_type 69941
}
compress_offload_16 { compress_offload_16 {
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
formats AUDIO_FORMAT_MP3|AUDIO_FORMAT_PCM_16_BIT_OFFLOAD|AUDIO_FORMAT_PCM_24_BIT_OFFLOAD|AUDIO_FORMAT_FLAC|AUDIO_FORMAT_ALAC|AUDIO_FORMAT_APE|AUDIO_FORMAT_AAC_LC|AUDIO_FORMAT_AAC_HE_V1|AUDIO_FORMAT_AAC_HE_V2|AUDIO_FORMAT_WMA|AUDIO_FORMAT_WMA_PRO|AUDIO_FORMAT_VORBIS|AUDIO_FORMAT_AAC_ADTS_LC|AUDIO_FORMAT_AAC_ADTS_HE_V1|AUDIO_FORMAT_AAC_ADTS_HE_V2|AUDIO_FORMAT_AAC_LATM_LC|AUDIO_FORMAT_AAC_LATM_HE_V1|AUDIO_FORMAT_AAC_LATM_HE_V2 formats AUDIO_FORMAT_MP3|AUDIO_FORMAT_PCM_16_BIT_OFFLOAD|AUDIO_FORMAT_PCM_24_BIT_OFFLOAD|AUDIO_FORMAT_FLAC|AUDIO_FORMAT_ALAC|AUDIO_FORMAT_APE|AUDIO_FORMAT_AAC_LC|AUDIO_FORMAT_AAC_HE_V1|AUDIO_FORMAT_AAC_HE_V2|AUDIO_FORMAT_WMA|AUDIO_FORMAT_WMA_PRO|AUDIO_FORMAT_VORBIS|AUDIO_FORMAT_AAC_ADTS_LC|AUDIO_FORMAT_AAC_ADTS_HE_V1|AUDIO_FORMAT_AAC_ADTS_HE_V2|AUDIO_FORMAT_AAC_LATM_LC|AUDIO_FORMAT_AAC_LATM_HE_V1|AUDIO_FORMAT_AAC_LATM_HE_V2
sampling_rates 44100|48000|88200|96000|176400|192000 sampling_rates 48000|96000
bit_width 16 bit_width 16
app_type 69936 app_type 69937
} }
compress_offload_24 { compress_offload_24 {
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
formats AUDIO_FORMAT_MP3|AUDIO_FORMAT_PCM_24_BIT_OFFLOAD|AUDIO_FORMAT_FLAC|AUDIO_FORMAT_ALAC|AUDIO_FORMAT_APE|AUDIO_FORMAT_AAC_LC|AUDIO_FORMAT_AAC_HE_V1|AUDIO_FORMAT_AAC_HE_V2|AUDIO_FORMAT_WMA_PRO|AUDIO_FORMAT_VORBIS|AUDIO_FORMAT_AAC_ADTS_LC|AUDIO_FORMAT_AAC_ADTS_HE_V1|AUDIO_FORMAT_AAC_ADTS_HE_V2|AUDIO_FORMAT_AAC_LATM_LC|AUDIO_FORMAT_AAC_LATM_HE_V1|AUDIO_FORMAT_AAC_LATM_HE_V2 formats AUDIO_FORMAT_MP3|AUDIO_FORMAT_PCM_24_BIT_OFFLOAD|AUDIO_FORMAT_FLAC|AUDIO_FORMAT_ALAC|AUDIO_FORMAT_APE|AUDIO_FORMAT_AAC_LC|AUDIO_FORMAT_AAC_HE_V1|AUDIO_FORMAT_AAC_HE_V2|AUDIO_FORMAT_WMA_PRO|AUDIO_FORMAT_AAC_ADTS_LC|AUDIO_FORMAT_AAC_ADTS_HE_V1|AUDIO_FORMAT_AAC_ADTS_HE_V2|AUDIO_FORMAT_AAC_LATM_LC|AUDIO_FORMAT_AAC_LATM_HE_V1|AUDIO_FORMAT_AAC_LATM_HE_V2
sampling_rates 44100|48000|88200|96000|176400|192000 sampling_rates 48000|96000
bit_width 24 bit_width 24
app_type 69940 app_type 69940
} }
} }
inputs { inputs {
voip_tx { record_16bit {
flags AUDIO_INPUT_FLAG_VOIP_TX
formats AUDIO_FORMAT_PCM_16_BIT formats AUDIO_FORMAT_PCM_16_BIT
sampling_rates 48000 sampling_rates 48000
bit_width 16 bit_width 16
app_type 69938
}
record_24bit {
formats AUDIO_FORMAT_PCM_24_BIT_PACKED|AUDIO_FORMAT_PCM_24_BIT
sampling_rates 48000
bit_width 24
app_type 69948
}
record_32bit {
formats AUDIO_FORMAT_PCM_32_BIT|AUDIO_FORMAT_PCM_FLOAT
sampling_rates 48000
bit_width 32
app_type 69949
}
record_compress_16 {
flags AUDIO_INPUT_FLAG_COMPRESS
formats AUDIO_FORMAT_PCM_16_BIT
sampling_rates 48000
bit_width 16
app_type 69938
}
record_compress_24 {
flags AUDIO_INPUT_FLAG_COMPRESS
formats AUDIO_FORMAT_PCM_24_BIT_PACKED|AUDIO_FORMAT_PCM_24_BIT
sampling_rates 48000
bit_width 24
app_type 69948
}
record_compress_32 {
flags AUDIO_INPUT_FLAG_COMPRESS
formats AUDIO_FORMAT_PCM_32_BIT|AUDIO_FORMAT_PCM_FLOAT
sampling_rates 48000
bit_width 32
app_type 69949
}
voip_tx {
flags AUDIO_INPUT_FLAG_VOIP_TX
formats AUDIO_FORMAT_PCM_16_BIT
sampling_rates 8000|16000|32000|48000
bit_width 16
app_type 69946 app_type 69946
} }
low_latency_voip_tx {
flags AUDIO_INPUT_FLAG_FAST|AUDIO_INPUT_FLAG_VOIP_TX
formats AUDIO_FORMAT_PCM_16_BIT
sampling_rates 48000
bit_width 16
app_type
}
} }

View file

@ -49,29 +49,43 @@
<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="ADC1 Volume" value="12" />
<ctl name="ADC2 ChMap" value="ZERO" />
<ctl name="ADC3 ChMap" value="ZERO" />
<ctl name="ADC2 Volume" value="12" /> <ctl name="ADC2 Volume" value="12" />
<ctl name="ADC3 Volume" value="12" />
<path name="listen-voice-wakeup-1"> <path name="listen-voice-wakeup-1">
<ctl name="LSM1 Mixer VA_CDC_DMA_TX_0" value="1" /> <ctl name="LSM1 Mixer VA_CDC_DMA_TX_0" value="1" />
@ -217,75 +231,72 @@
<ctl name="LPI Enable" value="0" /> <ctl name="LPI Enable" value="0" />
</path> </path>
<path name="listen-ape-handset-mic"> <path name="amic1">
<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="SWR_MIC4" />
<ctl name="ADC2 ChMap" value="SWRM_TX2_CH1" /> <ctl name="ADC2 ChMap" value="SWRM_TX2_CH1" />
<ctl name="ADC2 MUX" value="INP3" /> <ctl name="VA SMIC MUX0" value="SWR_MIC4" />
<ctl name="VA_DEC0 Volume" value="84" />
<ctl name="ADC2_MIXER Switch" value="1" /> <ctl name="ADC2_MIXER Switch" value="1" />
<ctl name="ADC2 MUX" value="INP3" />
<ctl name="VA_DEC0 MODE" value="ADC_LOW_PWR" />
<ctl name="ADC2 Volume" value="15" />
<ctl name="VA_DEC0 Volume" value="90" />
</path> </path>
<path name="listen-ape-handset-mic-preproc"> <path name="dmic">
<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 name="listen-ape-handset-dmic">
<ctl name="VA_CDC_DMA_TX_0 Channels" value="Two" /> <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 DEC0" value="1" />
<ctl name="VA DEC0 MUX" value="SWR_MIC" /> <ctl name="VA DEC0 MUX" value="SWR_MIC" />
<ctl name="VA_DEC0 MODE" value="ADC_LOW_PWR" />
<ctl name="VA_DEC0 Volume" value="90" />
<ctl name="VA SMIC MUX0" value="SWR_MIC0" /> <ctl name="VA SMIC MUX0" value="SWR_MIC0" />
<ctl name="ADC1 ChMap" value="SWRM_TX1_CH1" /> <ctl name="ADC1 ChMap" value="SWRM_TX1_CH1" />
<ctl name="VA_DEC0 Volume" value="84" />
<ctl name="ADC1_MIXER Switch" value="1" /> <ctl name="ADC1_MIXER Switch" value="1" />
<ctl name="ADC1 Volume" value="15" />
<ctl name="VA_AIF1_CAP Mixer DEC1" value="1" /> <ctl name="VA_AIF1_CAP Mixer DEC1" value="1" />
<ctl name="VA DEC1 MUX" value="SWR_MIC" /> <ctl name="VA DEC1 MUX" value="SWR_MIC" />
<ctl name="VA_DEC1 MODE" value="ADC_LOW_PWR" />
<ctl name="VA_DEC1 Volume" value="90" />
<ctl name="VA SMIC MUX1" value="SWR_MIC4" /> <ctl name="VA SMIC MUX1" value="SWR_MIC4" />
<ctl name="ADC2 ChMap" value="SWRM_TX2_CH1" /> <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" /> <ctl name="ADC2_MIXER Switch" value="1" />
<ctl name="ADC2 MUX" value="INP3" />
<ctl name="ADC2 Volume" value="15" />
</path>
<path name="listen-ape-handset-mic">
<path name="amic1" />
</path>
<path name="listen-ape-handset-mic-preproc">
<path name="amic1" />
</path>
<path name="listen-ape-handset-dmic">
<path name="dmic" />
</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">
<ctl name="VA_AIF1_CAP Mixer DEC0" value="1" /> <path name="amic1" />
<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="SEN_MI2S_TX" /> <ctl name="AUDIO_REF_EC_UL1 MUX" value="SEC_I2S_RX" />
<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 headphones"> <path name="echo-reference handset">
<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="Two"/> <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 name="echo-reference headset">
<path name="echo-reference headphones" />
</path> </path>
<path name="echo-reference a2dp"> <path name="echo-reference a2dp">
@ -294,4 +305,5 @@
<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

@ -42,7 +42,7 @@
<param implementer_version="0x0102" /> <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="true" /> <param support_device_switch="false" />
<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 -->
@ -88,7 +88,6 @@
<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" />
@ -126,7 +125,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_DMIC" /> <param fluence_type="FLUENCE_MIC" />
<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 -->
@ -138,7 +137,7 @@
<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 pdk5_app_type="5" /> <param pdk5_app_type="5" />
<param in_channels="2"/> <!-- Module input channels --> <param in_channels="1"/> <!-- Module input channels -->
<module_params> <module_params>
<param module_type="GMM" /> <param module_type="GMM" />
<param load_sound_model_ids="0x00012C1C, 0x0, 0x00012C14" /> <param load_sound_model_ids="0x00012C1C, 0x0, 0x00012C14" />
@ -313,11 +312,11 @@
<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="DEFAULT" /> <param adm_cfg_profile="FFECNS" />
<!-- 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="NONE" /> <param fluence_type="FLUENCE_MIC" />
<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 -->
@ -458,7 +457,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="2"/> <param out_channels="1"/>
</adm_config> </adm_config>
<adm_config> <adm_config>

View file

@ -31,14 +31,14 @@ cc_defaults {
} }
cc_library { cc_library {
name: "bootctrl.lahaina", name: "bootctrl.holi",
defaults: ["bootctrl_hal_defaults"], defaults: ["bootctrl_hal_defaults"],
static_libs: ["libgptutils.moto_lahaina"], static_libs: ["libgptutils.moto_holi"],
} }
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_lahaina"], static_libs: ["libgptutils.moto_holi"],
} }

View file

@ -72,8 +72,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.lahaina \ bootctrl.holi \
bootctrl.lahaina.recovery bootctrl.holi.recovery
PRODUCT_PACKAGES_DEBUG += \ PRODUCT_PACKAGES_DEBUG += \
bootctl bootctl
@ -97,7 +97,7 @@ PRODUCT_PACKAGES += \
android.hardware.soundtrigger@2.3-impl \ android.hardware.soundtrigger@2.3-impl \
audioadsprpcd \ audioadsprpcd \
audio.bluetooth.default \ audio.bluetooth.default \
audio.primary.lahaina \ audio.primary.holi \
audio.r_submix.default \ audio.r_submix.default \
audio.usb.default \ audio.usb.default \
libaudiopreprocessing \ libaudiopreprocessing \
@ -110,12 +110,12 @@ PRODUCT_PACKAGES += \
libqcomvoiceprocessing \ libqcomvoiceprocessing \
libreverbwrapper \ libreverbwrapper \
libvisualizer \ libvisualizer \
sound_trigger.primary.lahaina sound_trigger.primary.holi
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_holi/audio_io_policy.conf:$(TARGET_COPY_OUT_VENDOR)/etc/audio/sku_holi/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_holi/sound_trigger_mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/sku_holi/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/sku_holi/sound_trigger_platform_info.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/sku_holi/sound_trigger_platform_info.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 \
@ -258,7 +258,7 @@ PRODUCT_PACKAGES += \
# LiveDisplay # LiveDisplay
PRODUCT_PACKAGES += \ PRODUCT_PACKAGES += \
vendor.lineage.livedisplay@2.1-service.motorola_lahaina vendor.lineage.livedisplay@2.1-service.motorola_holi
# Media # Media
PRODUCT_COPY_FILES += \ PRODUCT_COPY_FILES += \
@ -269,14 +269,14 @@ PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/media/media_codecs_vendor_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_vendor_audio.xml $(LOCAL_PATH)/media/media_codecs_vendor_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_vendor_audio.xml
PRODUCT_COPY_FILES += \ PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/media/lahaina/media_codecs_lahaina_vendor.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_lahaina.xml \ $(LOCAL_PATH)/media/holi/media_codecs_holi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_holi.xml \
$(LOCAL_PATH)/media/lahaina/media_codecs_performance_lahaina_vendor.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance_lahaina.xml \ $(LOCAL_PATH)/media/holi/media_codecs_performance_holi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance_holi.xml \
$(LOCAL_PATH)/media/lahaina/media_profiles_lahaina_vendor.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_lahaina.xml $(LOCAL_PATH)/media/holi/media_profiles_holi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_holi.xml
PRODUCT_COPY_FILES += \ PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/media/yupik/media_codecs_performance_yupik_v1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance_yupik_v1.xml \ $(LOCAL_PATH)/media/blair/media_codecs_performance_blair.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance_blair.xml \
$(LOCAL_PATH)/media/yupik/media_codecs_yupik_v1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_yupik_v1.xml \ $(LOCAL_PATH)/media/blair/media_codecs_blair.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_blair.xml \
$(LOCAL_PATH)/media/yupik/media_profiles_yupik_v1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_yupik_v1.xml $(LOCAL_PATH)/media/blair/media_profiles_blair.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_blair.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 \
@ -354,35 +354,17 @@ PRODUCT_COPY_FILES += \
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.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/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/android.hardware.sensor.ambient_temperature.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.relative_humidity.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.relative_humidity.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.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/sku_lahaina/android.hardware.sensor.compass.xml \ frameworks/native/data/etc/android.hardware.sensor.barometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.barometer.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.compass.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.compass.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.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/sku_lahaina/android.hardware.sensor.light.xml \ frameworks/native/data/etc/android.hardware.sensor.hifi_sensors.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.hifi_sensors.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.light.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.light.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.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/sku_lahaina/android.hardware.sensor.stepcounter.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.accelerometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/sku_shima/android.hardware.sensor.accelerometer.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.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
@ -537,4 +519,4 @@ PRODUCT_BOOT_JARS += \
WfdCommon WfdCommon
# Inherit from vendor blobs # Inherit from vendor blobs
$(call inherit-product, vendor/motorola/sm7325-common/sm7325-common-vendor.mk) $(call inherit-product, vendor/motorola/sm6375-common/sm6375-common-vendor.mk)

View file

@ -4,6 +4,5 @@ This XML file declares which platform apps that need to access internal APIs.
--> -->
<config> <config>
<hidden-api-whitelisted-app package="com.android.hotwordenrollment.okgoogle" /> <hidden-api-whitelisted-app package="com.android.hotwordenrollment.okgoogle" />
<hidden-api-whitelisted-app package="com.android.hotwordenrollment.tgoogle" />
<hidden-api-whitelisted-app package="com.android.hotwordenrollment.xgoogle" /> <hidden-api-whitelisted-app package="com.android.hotwordenrollment.xgoogle" />
</config> </config>

View file

@ -1,3 +1,4 @@
libportrait_repair_ppl3_ocl.so
libqti-perfd-client.so libqti-perfd-client.so
libadsprpc.so libadsprpc.so
libcdsprpc.so libcdsprpc.so
@ -10,3 +11,7 @@ libqmi_common_so.so
libqmiservices.so libqmiservices.so
libqmimotext.so libqmimotext.so
libiqi_bridge.so libiqi_bridge.so
liblowlight_ai_portrait.arcsoft.so
libBSTbase_share.so
libBSTSWAD.so

View file

@ -46,7 +46,6 @@ It allows additional grants on top of privapp-permissions-platform.xml
<permission name="com.android.voicemail.permission.READ_VOICEMAIL"/> <permission name="com.android.voicemail.permission.READ_VOICEMAIL"/>
<permission name="com.android.voicemail.permission.WRITE_VOICEMAIL"/> <permission name="com.android.voicemail.permission.WRITE_VOICEMAIL"/>
<permission name="android.permission.CONNECTIVITY_USE_RESTRICTED_NETWORKS"/> <permission name="android.permission.CONNECTIVITY_USE_RESTRICTED_NETWORKS"/>
<permission name="android.permission.BROADCAST_CLOSE_SYSTEM_DIALOGS"/>
</privapp-permissions> </privapp-permissions>
<privapp-permissions package="org.codeaurora.ims"> <privapp-permissions package="org.codeaurora.ims">

View file

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

View file

@ -1,7 +1,7 @@
[ [
{ {
"repository": "android_kernel_motorola_sm7325", "repository": "android_kernel_motorola_sm6375",
"target_path": "kernel/motorola/sm7325" "target_path": "kernel/motorola/sm6375"
}, },
{ {
"repository": "android_hardware_motorola", "repository": "android_hardware_motorola",

View file

@ -13,7 +13,7 @@
// limitations under the License. // limitations under the License.
cc_defaults { cc_defaults {
name: "livedisplay_motorola_lahaina", name: "livedisplay_motorola_holi",
defaults: ["hidl_defaults"], defaults: ["hidl_defaults"],
relative_install_path: "hw", relative_install_path: "hw",
srcs: [ srcs: [
@ -39,8 +39,8 @@ cc_defaults {
} }
cc_binary { cc_binary {
name: "vendor.lineage.livedisplay@2.1-service.motorola_lahaina", name: "vendor.lineage.livedisplay@2.1-service.motorola_holi",
init_rc: ["vendor.lineage.livedisplay@2.1-service.motorola_lahaina.rc"], init_rc: ["vendor.lineage.livedisplay@2.1-service.motorola_holi.rc"],
defaults: ["livedisplay_motorola_lahaina"], defaults: ["livedisplay_motorola_holi"],
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_lahaina" #define LOG_TAG "vendor.lineage.livedisplay@2.1-service.motorola_holi"
#include <android-base/logging.h> #include <android-base/logging.h>
#include <binder/ProcessState.h> #include <binder/ProcessState.h>

View file

@ -5,7 +5,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_lahaina service vendor.livedisplay-hal-2-1 /vendor/bin/hw/vendor.lineage.livedisplay@2.1-service.motorola_holi
class late_start class late_start
user system user system
group system group system

View file

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?> <?xml version="1.0" encoding="utf-8" ?>
<!-- <!--
Copyright (c) 2018-2021 Qualcomm Technologies, Inc. Copyright (c) 2018-2022 Qualcomm Technologies, Inc.
All Rights Reserved. All Rights Reserved.
Confidential and Proprietary - Qualcomm Technologies, Inc. Confidential and Proprietary - Qualcomm Technologies, Inc.
@ -43,186 +43,160 @@
--> -->
<!-- <!--
Yupik Non-Secure decoder capabilities Holi Non-Secure decoder capabilities
(MB is defined as 16x16) (MB is defined as 16x16)
_____________________________________________________
| Codec | W H fps Mbps MB/s |
|_____________|_______________________________________|
| h264 | 4096 2176 30 100 1044480 |
| hevc | 4096 2176 30 100 1044480 |
| vp9 | 4096 2176 30 100 1044480 |
| mpeg2 | 1920 1088 30 40 244800 |
|_____________|_______________________________________|
Yupik Secure decoder capabilities _______________________________________________________
(MB is defined as 16x16) | Codec | W H fps Mbps MB/s |
_________________________________________________ |_____________|_________________________________________|
| Codec | W H fps Mbps MB/s | | h264 | 1920 1088 60 60 489600 |
|__________|_____________________________________| | hevc | 1920 1080 60 60 489600 |
| h264 | 4096 2176 30 40 1044480 | | vp9 | 1920 1088 60 60 489600 |
| vp9 | 4096 2176 30 40 1044480 | |_____________|_________________________________________|
| hevc | 4096 2176 30 40 1044480 |
|__________|_____________________________________|
Yupik Non-Secure encoder capabilities (Secure not supported) Secure decoder capabilities
(MB is defined as 16x16) (MB is defined as 16x16)
__________________________________________________
| Codec | W H fps Mbps MB/s | _____________________________________________________
|__________|______________________________________| | Codec | W H fps Mbps MB/s |
| h264 | 4096 2176 30 100 1044480 | |__________|_________________________________________|
| hevc | 4096 2176 30 100 1044480 | | h264 | 1920 1088 60 35 489600 |
|__________|______________________________________| | vp9 | 1920 1088 60 35 489600 |
| hevc | 1920 1088 60 35 489600 |
|__________|_________________________________________|
Non-Secure encoder capabilities (Secure not supported)
(MB is defined as 16x16)
______________________________________________________
| Codec | W H fps Mbps MB/s |
|__________|_________________________________________|
| h264 | 1920 1088 60 60 489600 |
| hevc | 1920 1088 60 60 489600 |
|__________|_________________________________________|
--> -->
<MediaCodecs> <MediaCodecs>
<Include href="media_codecs_google_audio.xml" /> <Include href="media_codecs_dolby_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> <Decoders>
<!-- C2 decoders --> <!-- C2 decoders -->
<MediaCodec name="c2.qti.avc.decoder" type="video/avc"> <MediaCodec name="c2.qti.avc.decoder" type="video/avc">
<Alias name="OMX.qcom.video.decoder.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-1044480" />
<Limit name="bitrate" range="1-100000000" />
<Limit name="frame-rate" range="1-240" />
<Limit name="concurrent-instances" max="16" />
<Feature name="adaptive-playback" />
<Feature name="can-swap-width-height" required="true" />
<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.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-1044480" />
<Limit name="bitrate" range="1-70000000" />
<Limit name="frame-rate" range="1-240" />
<Limit name="concurrent-instances" max="16" />
<Feature name="adaptive-playback" />
<Feature name="can-swap-width-height" required="true" />
<Feature name="low-latency" />
<Limit name="concurrent-instances" max="16" />
<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.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="1044480" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-60" />
<Feature name="adaptive-playback" />
<Feature name="can-swap-width-height" required="true" />
<Feature name="secure-playback" required="true" />
<Feature name="low-latency" />
<Limit name="concurrent-instances" max="3" />
<Limit name="performance-point-3840x2160" value="30" />
</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="1044480" />
<Limit name="bitrate" range="1-100000000" />
<Limit name="frame-rate" range="1-240" />
<Feature name="adaptive-playback" />
<Feature name="can-swap-width-height" required="true" />
<Limit name="concurrent-instances" max="16" />
<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.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="1044480" />
<Limit name="bitrate" range="1-70000000" />
<Limit name="frame-rate" range="1-240" />
<Feature name="adaptive-playback" />
<Feature name="can-swap-width-height" required="true" />
<Feature name="low-latency" />
<Limit name="concurrent-instances" max="16" />
<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.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="1044480" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-60" />
<Feature name="adaptive-playback" />
<Feature name="can-swap-width-height" required="true" />
<Feature name="secure-playback" required="true" />
<Feature name="low-latency" />
<Limit name="concurrent-instances" max="3" />
<Limit name="performance-point-3840x2160" value="30" />
</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="1044480" />
<Limit name="bitrate" range="1-100000000" />
<Limit name="frame-rate" range="1-60" />
<Feature name="adaptive-playback" />
<Feature name="can-swap-width-height" required="true" />
<Limit name="concurrent-instances" max="3" />
<Limit name="performance-point-3840x2160" value="30" />
</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="1044480" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-60" />
<Feature name="adaptive-playback" />
<Feature name="can-swap-width-height" required="true" />
<Feature name="secure-playback" required="true" />
<Limit name="concurrent-instances" max="3" />
<Limit name="performance-point-3840x2160" value="30" />
</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="size" min="96x96" max="1920x1088" />
<Limit name="alignment" value="2x2" /> <Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" /> <Limit name="block-size" value="16x16" />
<Limit name="block-count" range="36-8160" /> <Limit name="blocks-per-second" range="36-489600" />
<Limit name="blocks-per-second" min="36" max="244800" /> <Limit name="bitrate" range="1-60000000" />
<Limit name="bitrate" range="1-40000000" /> <Limit name="frame-rate" range="1-120" />
<Limit name="frame-rate" range="1-30" /> <Limit name="concurrent-instances" max="16" />
<Feature name="adaptive-playback" /> <Feature name="adaptive-playback" />
<Feature name="can-swap-width-height" required="true" /> <Feature name="can-swap-width-height" required="true" />
<Limit name="concurrent-instances" max="16" /> <Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-1920x1080" value="60" />
<Limit name="performance-point-1280x720" value="120" />
</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="1920x1088" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" range="36-489600" />
<Limit name="bitrate" range="1-60000000" />
<Limit name="frame-rate" range="1-120" />
<Limit name="concurrent-instances" max="16" />
<Feature name="adaptive-playback" />
<Feature name="can-swap-width-height" required="true" />
<Feature name="low-latency" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-1920x1080" value="60" />
<Limit name="performance-point-1280x720" value="120" />
</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="1920x1088" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="36" max="489600" />
<Limit name="bitrate" range="1-35000000" />
<Limit name="frame-rate" range="1-60" />
<Feature name="adaptive-playback" />
<Feature name="can-swap-width-height" required="true" />
<Feature name="low-latency" />
<Feature name="secure-playback" required="true" />
<Limit name="concurrent-instances" max="3" />
<Limit name="concurrent-instances" max="3" />
<Limit name="performance-point-1920x1080" value="30" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.decoder" type="video/hevc" >
<Alias name="OMX.qcom.video.decoder.hevc"/>
<Limit name="size" min="96x96" max="1920x1088" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="36" max="489600" />
<Limit name="bitrate" range="1-60000000" />
<Limit name="frame-rate" range="1-120" />
<Feature name="adaptive-playback" />
<Feature name="can-swap-width-height" required="true" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-1920x1080" value="60" />
<Limit name="performance-point-1280x720" value="120" />
</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="1920x1088" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="36" max="489600" />
<Limit name="bitrate" range="1-60000000" />
<Limit name="frame-rate" range="1-120" />
<Feature name="adaptive-playback" />
<Feature name="can-swap-width-height" required="true" />
<Feature name="low-latency" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-1920x1080" value="60" />
<Limit name="performance-point-1280x720" value="120" />
</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="1920x1088" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="36" max="489600" />
<Limit name="bitrate" range="1-35000000" />
<Limit name="frame-rate" range="1-60" />
<Feature name="adaptive-playback" />
<Feature name="can-swap-width-height" required="true" />
<Feature name="low-latency" />
<Feature name="secure-playback" required="true" />
<Limit name="concurrent-instances" max="3" />
<Limit name="performance-point-1920x1080" value="30" />
</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="1920x1088" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="36" max="489600" />
<Limit name="bitrate" range="1-60000000" />
<Limit name="frame-rate" range="1-60" />
<Feature name="adaptive-playback" />
<Feature name="can-swap-width-height" required="true" />
<Limit name="concurrent-instances" max="3" />
<Limit name="performance-point-1920x1080" 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="1920x1088" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="36" max="489600" />
<Limit name="bitrate" range="1-35000000" />
<Limit name="frame-rate" range="1-60" />
<Feature name="adaptive-playback" />
<Feature name="can-swap-width-height" required="true" />
<Feature name="secure-playback" required="true" />
<Limit name="concurrent-instances" max="3" />
<Limit name="performance-point-1920x1080" value="30" /> <Limit name="performance-point-1920x1080" value="30" />
</MediaCodec> </MediaCodec>
</Decoders> </Decoders>
@ -230,65 +204,60 @@
<!-- C2 encoders --> <!-- C2 encoders -->
<MediaCodec name="c2.qti.avc.encoder" type="video/avc"> <MediaCodec name="c2.qti.avc.encoder" type="video/avc">
<Alias name="OMX.qcom.video.encoder.avc"/> <Alias name="OMX.qcom.video.encoder.avc"/>
<Limit name="size" min="128x128" max="4096x2176" /> <Limit name="size" min="128x128" max="1920x1088" />
<Limit name="alignment" value="2x2" /> <Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" /> <Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="64" max="1044480" /> <Limit name="blocks-per-second" min="64" max="489600" />
<Limit name="block-count" range="64-34816" /> <Limit name="bitrate" range="1-60000000" />
<Limit name="bitrate" range="1-100000000" /> <Limit name="frame-rate" range="1-120" />
<Limit name="frame-rate" range="1-240" />
<Limit name="concurrent-instances" max="16" /> <Limit name="concurrent-instances" max="16" />
<Feature name="intra-refresh" /> <Feature name="intra-refresh" />
<Feature name="can-swap-width-height" required="true" /> <Feature name="can-swap-width-height" required="true" />
<Feature name="bitrate-modes" value="VBR,CBR" /> <Feature name="bitrate-modes" value="VBR,CBR" />
<Limit name="performance-point-3840x2160" value="30" /> <Limit name="performance-point-1920x1080" value="60" />
<Limit name="performance-point-1920x1080" value="120" /> <Limit name="performance-point-1280x720" value="120" />
<Limit name="performance-point-1280x720" value="240" />
</MediaCodec> </MediaCodec>
<MediaCodec name="c2.qti.hevc.encoder" type="video/hevc"> <MediaCodec name="c2.qti.hevc.encoder" type="video/hevc">
<Alias name="OMX.qcom.video.encoder.hevc"/> <Alias name="OMX.qcom.video.encoder.hevc"/>
<Limit name="size" min="128x128" max="4096x2176" /> <Limit name="size" min="128x128" max="1920x1088" />
<Limit name="alignment" value="2x2" /> <Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" /> <Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="64" max="1044480" /> <Limit name="blocks-per-second" min="64" max="489600" />
<Limit name="block-count" range="64-34816" /> <Limit name="bitrate" range="1-60000000" />
<Limit name="bitrate" range="1-100000000" /> <Limit name="frame-rate" range="1-120" />
<Limit name="frame-rate" range="1-240" />
<Limit name="concurrent-instances" max="16" /> <Limit name="concurrent-instances" max="16" />
<Feature name="bitrate-modes" value="VBR,CBR" /> <Feature name="bitrate-modes" value="VBR,CBR" />
<Feature name="intra-refresh" /> <Feature name="intra-refresh" />
<Feature name="can-swap-width-height" required="true" /> <Feature name="can-swap-width-height" required="true" />
<Limit name="performance-point-3840x2160" value="30" /> <Limit name="performance-point-1920x1080" value="60" />
<Limit name="performance-point-1920x1080" value="120" /> <Limit name="performance-point-1280x720" value="120" />
<Limit name="performance-point-1280x720" value="240" />
</MediaCodec> </MediaCodec>
<MediaCodec name="c2.qti.hevc.encoder.cq" type="video/hevc"> <MediaCodec name="c2.qti.hevc.encoder.cq" type="video/hevc">
<Alias name="OMX.qcom.video.encoder.hevc.cq"/> <Alias name="OMX.qcom.video.encoder.hevc.cq"/>
<Limit name="size" min="128x128" max="512x512" /> <Limit name="size" min="128x128" max="512x512" />
<Limit name="alignment" value="2x2" /> <Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" /> <Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="64" max="20480" /> <Limit name="blocks-per-second" min="64" max="786432" />
<Limit name="bitrate" range="1-100000000" /> <Limit name="bitrate" range="1-60000000" />
<Limit name="frame-rate" range="1-20" /> <Limit name="frame-rate" range="1-120" />
<Limit name="concurrent-instances" max="16" /> <Limit name="concurrent-instances" max="16" />
<Limit name="quality" range="0-100" default="80" /> <Limit name="quality" range="0-100" default="80" />
<Feature name="bitrate-modes" value="CQ" /> <Feature name="bitrate-modes" value="CQ" />
<Limit name="performance-point-512x512" value="2025" /> <Limit name="performance-point-512x512" value="3825" />
</MediaCodec> </MediaCodec>
<MediaCodec name="c2.qti.heic.encoder" type="image/vnd.android.heic"> <MediaCodec name="c2.qti.heic.encoder" type="image/vnd.android.heic">
<Alias name="OMX.qcom.video.encoder.heic"/> <Alias name="OMX.qcom.video.encoder.heic"/>
<Limit name="size" min="512x512" max="16384x16384" /> <Limit name="size" min="512x512" max="8192x8192" />
<Limit name="alignment" value="2x2" /> <Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" /> <Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="64" max="3916800" /> <Limit name="blocks-per-second" min="64" max="786432" />
<Limit name="bitrate" range="1-100000000" /> <Limit name="bitrate" range="1-60000000" />
<Limit name="frame-rate" range="1-20" /> <Limit name="frame-rate" range="1-20" />
<Limit name="concurrent-instances" max="16" /> <Limit name="concurrent-instances" max="16" />
<Limit name="quality" range="0-100" default="80" /> <Limit name="quality" range="0-100" default="80" />
<Feature name="bitrate-modes" value="CQ" /> <Feature name="bitrate-modes" value="CQ" />
<Limit name="performance-point-16384x8192" value="3" /> <Limit name="performance-point-8192x4320" value="3" />
<Limit name="performance-point-1920x1080" value="6" /> <Limit name="performance-point-1920x1080" value="6" />
</MediaCodec> </MediaCodec>
</Encoders> </Encoders>
<Include href="media_codecs_google_c2.xml" />
</MediaCodecs> </MediaCodecs>

View file

@ -0,0 +1,138 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright (c) 2016, The Linux Foundation. All rights reserved.
Not a Contribution.
Copyright 2016 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>
<Encoders>
<MediaCodec name="c2.android.av1.encoder" type="video/av01" update="true">
<Limit name="measured-frame-rate-320x240" range="143-147" />
<Limit name="measured-frame-rate-720x480" range="73-76" />
</MediaCodec>
<MediaCodec name="c2.android.avc.encoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="162-179" />
<Limit name="measured-frame-rate-720x480" range="120-122" />
</MediaCodec>
<MediaCodec name="c2.android.h263.encoder" type="video/3gpp" update="true">
<Limit name="measured-frame-rate-176x144" range="281-293" />
</MediaCodec>
<MediaCodec name="c2.android.hevc.encoder" type="video/hevc" update="true">
<Limit name="measured-frame-rate-320x240" range="65-66" />
</MediaCodec>
<MediaCodec name="c2.android.mpeg4.encoder" type="video/mp4v-es" update="true">
<Limit name="measured-frame-rate-176x144" range="287-298" />
</MediaCodec>
<MediaCodec name="c2.android.vp8.encoder" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x180" range="162-162" />
<Limit name="measured-frame-rate-640x360" range="94-99" />
<Limit name="measured-frame-rate-1280x720" range="49-49" />
</MediaCodec>
<MediaCodec name="c2.android.vp9.encoder" type="video/x-vnd.on2.vp9" update="true">
<Limit name="measured-frame-rate-320x180" range="141-141" />
<Limit name="measured-frame-rate-640x360" range="100-102" />
<Limit name="measured-frame-rate-1280x720" range="26-27" />
</MediaCodec>
<MediaCodec name="c2.qti.avc.encoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="156-188" />
<Limit name="measured-frame-rate-720x480" range="95-97" />
<Limit name="measured-frame-rate-1280x720" range="55-55" />
<Limit name="measured-frame-rate-1920x1080" range="44-45" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.encoder" type="video/hevc" update="true">
<Limit name="measured-frame-rate-320x240" range="163-171" />
<Limit name="measured-frame-rate-720x480" range="91-91" />
<Limit name="measured-frame-rate-1280x720" range="49-49" />
<Limit name="measured-frame-rate-1920x1080" range="39-40" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.encoder.cq" type="video/hevc" update="true">
<Limit name="measured-frame-rate-320x240" range="146-159" />
</MediaCodec>
</Encoders>
<Decoders>
<MediaCodec name="c2.android.av1.decoder" type="video/av01" update="true">
<Limit name="measured-frame-rate-352x288" range="234-275" />
<Limit name="measured-frame-rate-640x360" range="157-171" />
<Limit name="measured-frame-rate-720x480" range="108-112" />
<Limit name="measured-frame-rate-1280x720" range="54-54" />
</MediaCodec>
<MediaCodec name="c2.android.avc.decoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="435-552" />
<Limit name="measured-frame-rate-720x480" range="176-195" />
<Limit name="measured-frame-rate-1280x720" range="69-77" />
<Limit name="measured-frame-rate-1920x1080" range="34-35" />
</MediaCodec>
<MediaCodec name="c2.android.h263.decoder" type="video/3gpp" update="true">
<Limit name="measured-frame-rate-176x144" range="799-1223" />
<Limit name="measured-frame-rate-352x288" range="735-961" />
</MediaCodec>
<MediaCodec name="c2.android.hevc.decoder" type="video/hevc" update="true">
<Limit name="measured-frame-rate-352x288" range="411-568" />
<Limit name="measured-frame-rate-640x360" range="286-348" />
<Limit name="measured-frame-rate-720x480" range="287-327" />
<Limit name="measured-frame-rate-1280x720" range="123-126" />
</MediaCodec>
<MediaCodec name="c2.android.mpeg4.decoder" type="video/mp4v-es" update="true">
<Limit name="measured-frame-rate-176x144" range="856-1238" />
<Limit name="measured-frame-rate-480x360" range="758-943" />
<Limit name="measured-frame-rate-1280x720" range="394-476" />
</MediaCodec>
<MediaCodec name="c2.android.vp8.decoder" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x180" range="767-945" />
<Limit name="measured-frame-rate-640x360" range="468-478" />
<Limit name="measured-frame-rate-1280x720" range="138-139" />
<Limit name="measured-frame-rate-1920x1080" range="55-56" />
</MediaCodec>
<MediaCodec name="c2.android.vp9.decoder" type="video/x-vnd.on2.vp9" update="true">
<Limit name="measured-frame-rate-320x180" range="718-814" />
<Limit name="measured-frame-rate-640x360" range="251-315" />
<Limit name="measured-frame-rate-1280x720" range="121-128" />
</MediaCodec>
<MediaCodec name="c2.qti.avc.decoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="801-971" />
<Limit name="measured-frame-rate-720x480" range="511-514" />
<Limit name="measured-frame-rate-1280x720" range="228-228" />
<Limit name="measured-frame-rate-1920x1080" range="105-105" />
</MediaCodec>
<MediaCodec name="c2.qti.avc.decoder.low_latency" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="698-852" />
<Limit name="measured-frame-rate-720x480" range="289-295" />
<Limit name="measured-frame-rate-1280x720" range="124-124" />
<Limit name="measured-frame-rate-1920x1080" range="58-59" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.decoder" type="video/hevc" update="true">
<Limit name="measured-frame-rate-352x288" range="747-1044" />
<Limit name="measured-frame-rate-640x360" range="699-719" />
<Limit name="measured-frame-rate-720x480" range="541-547" />
<Limit name="measured-frame-rate-1280x720" range="237-239" />
<Limit name="measured-frame-rate-1920x1080" range="134-134" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.decoder.low_latency" type="video/hevc" update="true">
<Limit name="measured-frame-rate-352x288" range="711-894" />
<Limit name="measured-frame-rate-640x360" range="410-412" />
<Limit name="measured-frame-rate-720x480" range="311-314" />
<Limit name="measured-frame-rate-1280x720" range="131-132" />
<Limit name="measured-frame-rate-1920x1080" range="107-108" />
</MediaCodec>
<MediaCodec name="c2.qti.vp9.decoder" type="video/x-vnd.on2.vp9" update="true">
<Limit name="measured-frame-rate-320x180" range="805-968" />
<Limit name="measured-frame-rate-640x360" range="599-612" />
<Limit name="measured-frame-rate-1280x720" range="193-193" />
<Limit name="measured-frame-rate-1920x1080" range="107-107" />
</MediaCodec>
</Decoders>
</MediaCodecs>

View file

@ -1,25 +1,25 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- <!--
Copyright (c) 2020-2021 Qualcomm Technologies, Inc. Copyright (c) 2020-2021 Qualcomm Technologies, Inc.
All Rights Reserved. All Rights Reserved.
Confidential and Proprietary - Qualcomm Technologies, Inc. Confidential and Proprietary - Qualcomm Technologies, Inc.
Not a contribution. Not a contribution.
Copyright (C) 2012-2019 The Linux Foundation. All rights reserved. Copyright (C) 2012-2020 The Linux Foundation. All rights reserved.
Copyright (C) 2010 The Android Open Source Project Copyright (C) 2010 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License"); Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License. you may not use this file except in compliance with the License.
You may obtain a copy of the License at You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0 http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and See the License for the specific language governing permissions and
limitations under the License. limitations under the License.
--> -->
<!DOCTYPE MediaSettings [ <!DOCTYPE MediaSettings [
<!ELEMENT MediaSettings (CamcorderProfiles, <!ELEMENT MediaSettings (CamcorderProfiles,
@ -33,7 +33,7 @@
<!ATTLIST EncoderProfile quality (high|low) #REQUIRED> <!ATTLIST EncoderProfile quality (high|low) #REQUIRED>
<!ATTLIST EncoderProfile fileFormat (mp4|3gp) #REQUIRED> <!ATTLIST EncoderProfile fileFormat (mp4|3gp) #REQUIRED>
<!ATTLIST EncoderProfile duration (30|60) #REQUIRED> <!ATTLIST EncoderProfile duration (30|60) #REQUIRED>
<!ATTLIST EncoderProfile cameraId (0|1|2|3) #REQUIRED> <!ATTLIST EncoderProfile cameraId (0|1|2|3|4) #REQUIRED>
<!ELEMENT Video EMPTY> <!ELEMENT Video EMPTY>
<!ATTLIST Video codec (h264|h263|m4v) #REQUIRED> <!ATTLIST Video codec (h264|h263|m4v) #REQUIRED>
<!ATTLIST Video bitRate CDATA #REQUIRED> <!ATTLIST Video bitRate CDATA #REQUIRED>
@ -116,9 +116,9 @@
<EncoderProfile quality="high" fileFormat="mp4" duration="30"> <EncoderProfile quality="high" fileFormat="mp4" duration="30">
<Video codec="h264" <Video codec="h264"
bitRate="50000000" bitRate="20000000"
width="3840" width="1920"
height="2160" height="1080"
frameRate="30" /> frameRate="30" />
<Audio codec="aac" <Audio codec="aac"
@ -192,19 +192,6 @@
channels="2" /> channels="2" />
</EncoderProfile> </EncoderProfile>
<EncoderProfile quality="2160p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="50000000"
width="3840"
height="2160"
frameRate="30" />
<Audio codec="aac"
bitRate="156000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<EncoderProfile quality="qcif" fileFormat="3gp" duration="30"> <EncoderProfile quality="qcif" fileFormat="3gp" duration="30">
<Video codec="h264" <Video codec="h264"
bitRate="192000" bitRate="192000"
@ -220,7 +207,7 @@
<EncoderProfile quality="vga" fileFormat="mp4" duration="30"> <EncoderProfile quality="vga" fileFormat="mp4" duration="30">
<Video codec="h264" <Video codec="h264"
bitRate="1536000" bitRate="2000000"
width="640" width="640"
height="480" height="480"
frameRate="30" /> frameRate="30" />
@ -247,9 +234,9 @@
<EncoderProfile quality="timelapsehigh" fileFormat="mp4" duration="30"> <EncoderProfile quality="timelapsehigh" fileFormat="mp4" duration="30">
<Video codec="h264" <Video codec="h264"
bitRate="50000000" bitRate="20000000"
width="3840" width="1920"
height="2160" height="1080"
frameRate="30" /> frameRate="30" />
<!-- audio setting is ignored --> <!-- audio setting is ignored -->
@ -304,7 +291,7 @@
<EncoderProfile quality="timelapsevga" fileFormat="mp4" duration="30"> <EncoderProfile quality="timelapsevga" fileFormat="mp4" duration="30">
<Video codec="h264" <Video codec="h264"
bitRate="1536000" bitRate="2000000"
width="640" width="640"
height="480" height="480"
frameRate="30" /> frameRate="30" />
@ -358,32 +345,6 @@
channels="2" /> channels="2" />
</EncoderProfile> </EncoderProfile>
<EncoderProfile quality="timelapse4kdci" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="57500000"
width="4096"
height="2160"
frameRate="30" />
<Audio codec="aac"
bitRate="156000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<EncoderProfile quality="timelapse2160p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="50000000"
width="3840"
height="2160"
frameRate="30" />
<Audio codec="aac"
bitRate="156000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<ImageEncoding quality="95" /> <ImageEncoding quality="95" />
<ImageEncoding quality="80" /> <ImageEncoding quality="80" />
<ImageEncoding quality="70" /> <ImageEncoding quality="70" />
@ -408,9 +369,9 @@
<EncoderProfile quality="high" fileFormat="mp4" duration="30"> <EncoderProfile quality="high" fileFormat="mp4" duration="30">
<Video codec="h264" <Video codec="h264"
bitRate="50000000" bitRate="20000000"
width="3840" width="1920"
height="2160" height="1080"
frameRate="30" /> frameRate="30" />
<Audio codec="aac" <Audio codec="aac"
@ -484,32 +445,6 @@
channels="2" /> channels="2" />
</EncoderProfile> </EncoderProfile>
<EncoderProfile quality="4kdci" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="57500000"
width="4096"
height="2160"
frameRate="30" />
<Audio codec="aac"
bitRate="156000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<EncoderProfile quality="2160p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="50000000"
width="3840"
height="2160"
frameRate="30" />
<Audio codec="aac"
bitRate="156000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<EncoderProfile quality="qcif" fileFormat="3gp" duration="30"> <EncoderProfile quality="qcif" fileFormat="3gp" duration="30">
<Video codec="h264" <Video codec="h264"
bitRate="192000" bitRate="192000"
@ -525,7 +460,7 @@
<EncoderProfile quality="vga" fileFormat="mp4" duration="30"> <EncoderProfile quality="vga" fileFormat="mp4" duration="30">
<Video codec="h264" <Video codec="h264"
bitRate="1536000" bitRate="2000000"
width="640" width="640"
height="480" height="480"
frameRate="30" /> frameRate="30" />
@ -553,9 +488,9 @@
<EncoderProfile quality="timelapsehigh" fileFormat="mp4" duration="30"> <EncoderProfile quality="timelapsehigh" fileFormat="mp4" duration="30">
<Video codec="h264" <Video codec="h264"
bitRate="50000000" bitRate="20000000"
width="3840" width="1920"
height="2160" height="1080"
frameRate="30" /> frameRate="30" />
<!-- audio setting is ignored --> <!-- audio setting is ignored -->
@ -581,7 +516,7 @@
<EncoderProfile quality="timelapsecif" fileFormat="mp4" duration="30"> <EncoderProfile quality="timelapsecif" fileFormat="mp4" duration="30">
<Video codec="h264" <Video codec="h264"
bitRate="720000" bitRate="1200000"
width="352" width="352"
height="288" height="288"
frameRate="30" /> frameRate="30" />
@ -609,7 +544,7 @@
<EncoderProfile quality="timelapsevga" fileFormat="mp4" duration="30"> <EncoderProfile quality="timelapsevga" fileFormat="mp4" duration="30">
<Video codec="h264" <Video codec="h264"
bitRate="1536000" bitRate="2000000"
width="640" width="640"
height="480" height="480"
frameRate="30" /> frameRate="30" />
@ -663,38 +598,13 @@
channels="2" /> channels="2" />
</EncoderProfile> </EncoderProfile>
<EncoderProfile quality="timelapse4kdci" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="57500000"
width="4096"
height="2160"
frameRate="30" />
<Audio codec="aac"
bitRate="156000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<EncoderProfile quality="timelapse2160p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="50000000"
width="3840"
height="2160"
frameRate="30" />
<Audio codec="aac"
bitRate="156000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<ImageEncoding quality="95" /> <ImageEncoding quality="95" />
<ImageEncoding quality="80" /> <ImageEncoding quality="80" />
<ImageEncoding quality="70" /> <ImageEncoding quality="70" />
<ImageDecoding memCap="20000000" /> <ImageDecoding memCap="20000000" />
</CamcorderProfiles> </CamcorderProfiles>
<!-- Camera ID 2 --> <!-- Camera ID 2 -->
<CamcorderProfiles cameraId="2"> <CamcorderProfiles cameraId="2">
@ -713,9 +623,9 @@
<EncoderProfile quality="high" fileFormat="mp4" duration="30"> <EncoderProfile quality="high" fileFormat="mp4" duration="30">
<Video codec="h264" <Video codec="h264"
bitRate="50000000" bitRate="20000000"
width="3840" width="1920"
height="2160" height="1080"
frameRate="30" /> frameRate="30" />
<Audio codec="aac" <Audio codec="aac"
@ -789,32 +699,6 @@
channels="2" /> channels="2" />
</EncoderProfile> </EncoderProfile>
<EncoderProfile quality="4kdci" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="57500000"
width="4096"
height="2160"
frameRate="30" />
<Audio codec="aac"
bitRate="156000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<EncoderProfile quality="2160p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="50000000"
width="3840"
height="2160"
frameRate="30" />
<Audio codec="aac"
bitRate="156000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<EncoderProfile quality="qcif" fileFormat="3gp" duration="30"> <EncoderProfile quality="qcif" fileFormat="3gp" duration="30">
<Video codec="h264" <Video codec="h264"
bitRate="192000" bitRate="192000"
@ -830,7 +714,7 @@
<EncoderProfile quality="vga" fileFormat="mp4" duration="30"> <EncoderProfile quality="vga" fileFormat="mp4" duration="30">
<Video codec="h264" <Video codec="h264"
bitRate="1536000" bitRate="2000000"
width="640" width="640"
height="480" height="480"
frameRate="30" /> frameRate="30" />
@ -857,9 +741,9 @@
<EncoderProfile quality="timelapsehigh" fileFormat="mp4" duration="30"> <EncoderProfile quality="timelapsehigh" fileFormat="mp4" duration="30">
<Video codec="h264" <Video codec="h264"
bitRate="50000000" bitRate="20000000"
width="3840" width="1920"
height="2160" height="1080"
frameRate="30" /> frameRate="30" />
<!-- audio setting is ignored --> <!-- audio setting is ignored -->
@ -914,7 +798,7 @@
<EncoderProfile quality="timelapsevga" fileFormat="mp4" duration="30"> <EncoderProfile quality="timelapsevga" fileFormat="mp4" duration="30">
<Video codec="h264" <Video codec="h264"
bitRate="1536000" bitRate="2000000"
width="640" width="640"
height="480" height="480"
frameRate="30" /> frameRate="30" />
@ -968,87 +852,6 @@
channels="2" /> channels="2" />
</EncoderProfile> </EncoderProfile>
<EncoderProfile quality="timelapse4kdci" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="57500000"
width="4096"
height="2160"
frameRate="30" />
<Audio codec="aac"
bitRate="156000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<EncoderProfile quality="timelapse2160p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="50000000"
width="3840"
height="2160"
frameRate="30" />
<Audio codec="aac"
bitRate="156000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<EncoderProfile quality="highspeed1080p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="50000000"
width="1920"
height="1080"
frameRate="120" />
<!-- audio setting is ignored -->
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="highspeedhigh" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="50000000"
width="1920"
height="1080"
frameRate="120" />
<!-- audio setting is ignored -->
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="highspeed720p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="55000000"
width="1280"
height="720"
frameRate="240" />
<!-- audio setting is ignored -->
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="highspeed480p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="6400000"
width="640"
height="480"
frameRate="240" />
<Audio codec="aac"
bitRate="156000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<ImageEncoding quality="95" /> <ImageEncoding quality="95" />
<ImageEncoding quality="80" /> <ImageEncoding quality="80" />
<ImageEncoding quality="70" /> <ImageEncoding quality="70" />
@ -1056,6 +859,7 @@
</CamcorderProfiles> </CamcorderProfiles>
<!-- Camera ID 3 -->
<CamcorderProfiles cameraId="3"> <CamcorderProfiles cameraId="3">
<EncoderProfile quality="low" fileFormat="3gp" duration="30"> <EncoderProfile quality="low" fileFormat="3gp" duration="30">
@ -1073,9 +877,9 @@
<EncoderProfile quality="high" fileFormat="mp4" duration="30"> <EncoderProfile quality="high" fileFormat="mp4" duration="30">
<Video codec="h264" <Video codec="h264"
bitRate="50000000" bitRate="20000000"
width="3840" width="1920"
height="2160" height="1080"
frameRate="30" /> frameRate="30" />
<Audio codec="aac" <Audio codec="aac"
@ -1149,32 +953,6 @@
channels="2" /> channels="2" />
</EncoderProfile> </EncoderProfile>
<EncoderProfile quality="4kdci" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="57500000"
width="4096"
height="2160"
frameRate="30" />
<Audio codec="aac"
bitRate="156000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<EncoderProfile quality="2160p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="50000000"
width="3840"
height="2160"
frameRate="30" />
<Audio codec="aac"
bitRate="156000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<EncoderProfile quality="qcif" fileFormat="3gp" duration="30"> <EncoderProfile quality="qcif" fileFormat="3gp" duration="30">
<Video codec="h264" <Video codec="h264"
bitRate="192000" bitRate="192000"
@ -1190,7 +968,7 @@
<EncoderProfile quality="vga" fileFormat="mp4" duration="30"> <EncoderProfile quality="vga" fileFormat="mp4" duration="30">
<Video codec="h264" <Video codec="h264"
bitRate="1536000" bitRate="2000000"
width="640" width="640"
height="480" height="480"
frameRate="30" /> frameRate="30" />
@ -1217,9 +995,9 @@
<EncoderProfile quality="timelapsehigh" fileFormat="mp4" duration="30"> <EncoderProfile quality="timelapsehigh" fileFormat="mp4" duration="30">
<Video codec="h264" <Video codec="h264"
bitRate="50000000" bitRate="20000000"
width="3840" width="1920"
height="2160" height="1080"
frameRate="30" /> frameRate="30" />
<!-- audio setting is ignored --> <!-- audio setting is ignored -->
@ -1274,7 +1052,7 @@
<EncoderProfile quality="timelapsevga" fileFormat="mp4" duration="30"> <EncoderProfile quality="timelapsevga" fileFormat="mp4" duration="30">
<Video codec="h264" <Video codec="h264"
bitRate="1536000" bitRate="2000000"
width="640" width="640"
height="480" height="480"
frameRate="30" /> frameRate="30" />
@ -1328,87 +1106,6 @@
channels="2" /> channels="2" />
</EncoderProfile> </EncoderProfile>
<EncoderProfile quality="timelapse4kdci" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="57500000"
width="4096"
height="2160"
frameRate="30" />
<Audio codec="aac"
bitRate="156000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<EncoderProfile quality="timelapse2160p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="50000000"
width="3840"
height="2160"
frameRate="30" />
<Audio codec="aac"
bitRate="156000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<EncoderProfile quality="highspeed1080p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="50000000"
width="1920"
height="1080"
frameRate="120" />
<!-- audio setting is ignored -->
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="highspeedhigh" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="50000000"
width="1920"
height="1080"
frameRate="120" />
<!-- audio setting is ignored -->
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="highspeed720p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="55000000"
width="1280"
height="720"
frameRate="240" />
<!-- audio setting is ignored -->
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="highspeed480p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="6400000"
width="640"
height="480"
frameRate="240" />
<Audio codec="aac"
bitRate="156000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<ImageEncoding quality="95" /> <ImageEncoding quality="95" />
<ImageEncoding quality="80" /> <ImageEncoding quality="80" />
<ImageEncoding quality="70" /> <ImageEncoding quality="70" />
@ -1416,6 +1113,7 @@
</CamcorderProfiles> </CamcorderProfiles>
<!-- Camera ID 4 -->
<CamcorderProfiles cameraId="4"> <CamcorderProfiles cameraId="4">
<EncoderProfile quality="low" fileFormat="3gp" duration="30"> <EncoderProfile quality="low" fileFormat="3gp" duration="30">
@ -1433,9 +1131,9 @@
<EncoderProfile quality="high" fileFormat="mp4" duration="30"> <EncoderProfile quality="high" fileFormat="mp4" duration="30">
<Video codec="h264" <Video codec="h264"
bitRate="50000000" bitRate="20000000"
width="3840" width="1920"
height="2160" height="1080"
frameRate="30" /> frameRate="30" />
<Audio codec="aac" <Audio codec="aac"
@ -1509,32 +1207,6 @@
channels="2" /> channels="2" />
</EncoderProfile> </EncoderProfile>
<EncoderProfile quality="4kdci" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="57500000"
width="4096"
height="2160"
frameRate="30" />
<Audio codec="aac"
bitRate="156000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<EncoderProfile quality="2160p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="50000000"
width="3840"
height="2160"
frameRate="30" />
<Audio codec="aac"
bitRate="156000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<EncoderProfile quality="qcif" fileFormat="3gp" duration="30"> <EncoderProfile quality="qcif" fileFormat="3gp" duration="30">
<Video codec="h264" <Video codec="h264"
bitRate="192000" bitRate="192000"
@ -1550,7 +1222,7 @@
<EncoderProfile quality="vga" fileFormat="mp4" duration="30"> <EncoderProfile quality="vga" fileFormat="mp4" duration="30">
<Video codec="h264" <Video codec="h264"
bitRate="1536000" bitRate="2000000"
width="640" width="640"
height="480" height="480"
frameRate="30" /> frameRate="30" />
@ -1577,9 +1249,9 @@
<EncoderProfile quality="timelapsehigh" fileFormat="mp4" duration="30"> <EncoderProfile quality="timelapsehigh" fileFormat="mp4" duration="30">
<Video codec="h264" <Video codec="h264"
bitRate="50000000" bitRate="20000000"
width="3840" width="1920"
height="2160" height="1080"
frameRate="30" /> frameRate="30" />
<!-- audio setting is ignored --> <!-- audio setting is ignored -->
@ -1617,6 +1289,7 @@
channels="1" /> channels="1" />
</EncoderProfile> </EncoderProfile>
<EncoderProfile quality="timelapseqvga" fileFormat="mp4" duration="30"> <EncoderProfile quality="timelapseqvga" fileFormat="mp4" duration="30">
<Video codec="h264" <Video codec="h264"
bitRate="512000" bitRate="512000"
@ -1633,7 +1306,7 @@
<EncoderProfile quality="timelapsevga" fileFormat="mp4" duration="30"> <EncoderProfile quality="timelapsevga" fileFormat="mp4" duration="30">
<Video codec="h264" <Video codec="h264"
bitRate="1536000" bitRate="2000000"
width="640" width="640"
height="480" height="480"
frameRate="30" /> frameRate="30" />
@ -1687,32 +1360,6 @@
channels="2" /> channels="2" />
</EncoderProfile> </EncoderProfile>
<EncoderProfile quality="timelapse4kdci" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="57500000"
width="4096"
height="2160"
frameRate="30" />
<Audio codec="aac"
bitRate="156000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<EncoderProfile quality="timelapse2160p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="50000000"
width="3840"
height="2160"
frameRate="30" />
<Audio codec="aac"
bitRate="156000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<ImageEncoding quality="95" /> <ImageEncoding quality="95" />
<ImageEncoding quality="80" /> <ImageEncoding quality="80" />
<ImageEncoding quality="70" /> <ImageEncoding quality="70" />
@ -1728,21 +1375,37 @@
In other words, the applications won't be able to use the codec 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 or query the capabilities of the codec at all if it is disabled
--> -->
<VideoEncoderCap name="h264" enabled="true" <VideoEncoderCap name="h264" enabled="true"
minBitRate="64000" maxBitRate="42000000" minBitRate="64000" maxBitRate="60000000"
minFrameWidth="176" maxFrameWidth="4096" minFrameWidth="176" maxFrameWidth="1920"
minFrameHeight="144" maxFrameHeight="2160" minFrameHeight="144" maxFrameHeight="1080"
minFrameRate="15" maxFrameRate="30" minFrameRate="15" maxFrameRate="30"
maxHFRFrameWidth="1920" maxHFRFrameHeight="1080" maxHFRFrameWidth="1920" maxHFRFrameHeight="1080"
maxHFRMode="120" /> maxHFRMode="120" />
<VideoEncoderCap name="h263" enabled="true" <VideoEncoderCap name="h263" enabled="true"
minBitRate="64000" maxBitRate="2000000" minBitRate="64000" maxBitRate="2000000"
minFrameWidth="176" maxFrameWidth="800" minFrameWidth="176" maxFrameWidth="800"
minFrameHeight="144" maxFrameHeight="480" minFrameHeight="144" maxFrameHeight="480"
minFrameRate="15" maxFrameRate="30" minFrameRate="15" maxFrameRate="30"
maxHFRFrameWidth="0" maxHFRFrameHeight="0" maxHFRFrameWidth="0" maxHFRFrameHeight="0"
maxHFRMode="0" /> maxHFRMode="0" />
<VideoEncoderCap name="m4v" enabled="true"
minBitRate="64000" maxBitRate="8000000"
minFrameWidth="176" maxFrameWidth="800"
minFrameHeight="144" maxFrameHeight="480"
minFrameRate="15" maxFrameRate="30"
maxHFRFrameWidth="0" maxHFRFrameHeight="0"
maxHFRMode="0" />
<VideoEncoderCap name="hevc" enabled="true"
minBitRate="64000" maxBitRate="60000000"
minFrameWidth="176" maxFrameWidth="1920"
minFrameHeight="144" maxFrameHeight="1080"
minFrameRate="15" maxFrameRate="30"
maxHFRFrameWidth="0" maxHFRFrameHeight="0"
maxHFRMode="0" />
<AudioEncoderCap name="aac" enabled="true" <AudioEncoderCap name="aac" enabled="true"
minBitRate="8000" maxBitRate="96000" minBitRate="8000" maxBitRate="96000"
@ -1810,4 +1473,12 @@
Codec = h.264, Baseline profile, level 4.0 Codec = h.264, Baseline profile, level 4.0
--> -->
<ExportVideoProfile name="h264" profile= "1" level="2048"/> <ExportVideoProfile name="h264" profile= "1" level="2048"/>
<!--
Codec = h.263, Baseline profile, level 70
-->
<ExportVideoProfile name="h263" profile= "1" level="128"/>
<!--
Codec = mpeg4, Simple profile, level 5
-->
<ExportVideoProfile name="m4v" profile= "1" level="128"/>
</MediaSettings> </MediaSettings>

View file

@ -0,0 +1,84 @@
<?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.
-->
<!--
"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.
-->
<!--
Holi Non-Secure decoder capabilities
(MB is defined as 16x16)
_______________________________________________________
| Codec | W H fps Mbps MB/s |
|_____________|_________________________________________|
| h264 | 1920 1088 60 60 489600 |
| hevc | 1920 1080 60 60 489600 |
| vp9 | 1920 1088 60 60 489600 |
|_____________|_________________________________________|
Secure decoder capabilities
(MB is defined as 16x16)
_____________________________________________________
| Codec | W H fps Mbps MB/s |
|__________|_________________________________________|
| h264 | 1920 1088 60 35 489600 |
| vp9 | 1920 1088 60 35 489600 |
| hevc | 1920 1088 60 35 489600 |
|__________|_________________________________________|
Non-Secure encoder capabilities (Secure not supported)
(MB is defined as 16x16)
______________________________________________________
| Codec | W H fps Mbps MB/s |
|__________|_________________________________________|
| h264 | 1920 1088 60 60 489600 |
| hevc | 1920 1088 60 60 489600 |
|__________|_________________________________________|
-->
<MediaCodecs>
<Include href="media_codecs_google_audio.xml" />
<Include href="media_codecs_google_telephony.xml" />
<Include href="media_codecs_google_video.xml" />
</MediaCodecs>

View file

@ -23,127 +23,110 @@
--> -->
<MediaCodecs> <MediaCodecs>
<Encoders>
<MediaCodec name="c2.qti.avc.encoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="285-287" />
<Limit name="measured-frame-rate-720x480" range="140-141" />
<Limit name="measured-frame-rate-1280x720" range="55-55" />
<Limit name="measured-frame-rate-1920x1080" range="24-24" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.encoder" type="video/hevc" update="true">
<Limit name="measured-frame-rate-320x240" range="278-278" />
<Limit name="measured-frame-rate-720x480" range="124-123" />
<Limit name="measured-frame-rate-1280x720" range="49-49" />
<Limit name="measured-frame-rate-1920x1080" range="22-22" />
</MediaCodec>
<MediaCodec name="c2.android.avc.encoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="262-262" />
<Limit name="measured-frame-rate-720x480" range="189-189" />
<Limit name="measured-frame-rate-1280x720" range="35-50" />
<Limit name="measured-frame-rate-1920x1080" range="19-28" />
</MediaCodec>
<MediaCodec name="c2.android.hevc.encoder" type="video/hevc" update="true">
<Limit name="measured-frame-rate-320x240" range="55-56" />
<Limit name="measured-frame-rate-720x480" range="18-18" />
<Limit name="measured-frame-rate-1280x720" range="8-8" />
<Limit name="measured-frame-rate-1920x1080" range="4-4" />
</MediaCodec>
<MediaCodec name="c2.android.h263.encoder" type="video/3gpp" update="true">
<Limit name="measured-frame-rate-176x144" range="343-343" />
</MediaCodec>
<MediaCodec name="c2.android.mpeg4.encoder" type="video/mp4v-es" update="true">
<Limit name="measured-frame-rate-176x144" range="329-329" />
</MediaCodec>
<MediaCodec name="c2.android.vp8.encoder" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x180" range="181-182" />
<Limit name="measured-frame-rate-640x360" range="110-110" />
<Limit name="measured-frame-rate-1280x720" range="38-38" />
<Limit name="measured-frame-rate-1920x1080" range="10-15" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.encoder.cq" type="video/hevc" update="true">
<Limit name="measured-frame-rate-320x240" range="190-300"/>
</MediaCodec>
</Encoders>
<Decoders> <Decoders>
<!-- C2 HW decoders -->
<MediaCodec name="c2.qti.avc.decoder" type="video/avc" update="true"> <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-320x240" range="480-510" />
<Limit name="measured-frame-rate-720x480" range="460-490" /> <Limit name="measured-frame-rate-720x480" range="460-490" />
<Limit name="measured-frame-rate-1280x720" range="350-400" /> <Limit name="measured-frame-rate-1280x720" range="350-400" />
<Limit name="measured-frame-rate-1920x1080" range="41-58" /> <Limit name="measured-frame-rate-1920x1088" range="180-190" />
</MediaCodec> </MediaCodec>
<MediaCodec name="c2.qti.avc.decoder.low_latency" type="video/avc" update="true"> <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-320x240" range="717-719" />
<Limit name="measured-frame-rate-720x480" range="278-594" /> <Limit name="measured-frame-rate-720x480" range="279-281" />
<Limit name="measured-frame-rate-1280x720" range="200-420" /> <Limit name="measured-frame-rate-1280x720" range="121-122" />
<Limit name="measured-frame-rate-1920x1080" range="76-167" /> <Limit name="measured-frame-rate-1920x1080" range="58-59" />
</MediaCodec> </MediaCodec>
<MediaCodec name="c2.qti.hevc.decoder" type="video/hevc" update="true"> <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-352x288" range="510-530" />
<Limit name="measured-frame-rate-720x480" range="465-620" /> <Limit name="measured-frame-rate-720x480" range="465-620" />
<Limit name="measured-frame-rate-1280x720" range="200-390" /> <Limit name="measured-frame-rate-1280x720" range="200-390" />
<Limit name="measured-frame-rate-1920x1080" range="46-66" /> <Limit name="measured-frame-rate-1920x1080" range="210-230" />
<Limit name="measured-frame-rate-3840x2160" range="65-75" />
</MediaCodec> </MediaCodec>
<MediaCodec name="c2.qti.hevc.decoder.low_latency" type="video/hevc" update="true"> <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-352x288" range="800-850" />
<Limit name="measured-frame-rate-720x480" range="440-600" /> <Limit name="measured-frame-rate-720x480" range="440-600" />
<Limit name="measured-frame-rate-1280x720" range="215-425" /> <Limit name="measured-frame-rate-1280x720" range="215-425" />
<Limit name="measured-frame-rate-1920x1080" range="118-259" /> <Limit name="measured-frame-rate-1920x1080" range="118-259" />
<Limit name="measured-frame-rate-3840x2160" range="30-66" />
</MediaCodec> </MediaCodec>
<MediaCodec name="c2.qti.vp9.decoder" type="video/x-vnd.on2.vp9" update="true"> <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-320x240" range="377-377" />
<Limit name="measured-frame-rate-640x360" range="486-751" /> <Limit name="measured-frame-rate-640x360" range="323-323" />
<Limit name="measured-frame-rate-1280x720" range="262-262" /> <Limit name="measured-frame-rate-1280x720" range="262-262" />
<Limit name="measured-frame-rate-1920x1080" range="50-71" /> <Limit name="measured-frame-rate-1920x1080" range="97-220" />
<Limit name="measured-frame-rate-3840x2160" range="51-51" />
</MediaCodec> </MediaCodec>
<!-- TODO: add C2 mpeg2 decoder performance data -->
<!-- C2 SW codecs -->
<MediaCodec name="c2.android.avc.decoder" type="video/avc" update="true"> <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-320x240" range="260-260" />
<Limit name="measured-frame-rate-720x480" range="78-109" /> <Limit name="measured-frame-rate-720x480" range="121-121" />
<Limit name="measured-frame-rate-1280x720" range="17-24" /> <Limit name="measured-frame-rate-1280x720" range="55-56" />
<Limit name="measured-frame-rate-1920x1080" range="19-28" /> <Limit name="measured-frame-rate-1920x1080" range="27-27" />
</MediaCodec> </MediaCodec>
<MediaCodec name="c2.android.hevc.decoder" type="video/hevc" update="true"> <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-352x288" range="259-276" />
<Limit name="measured-frame-rate-640x360" range="84-96" /> <Limit name="measured-frame-rate-640x360" range="184-188" />
<Limit name="measured-frame-rate-720x480" range="157-217" /> <Limit name="measured-frame-rate-720x480" range="170-189" />
<Limit name="measured-frame-rate-1280x720" range="47-74" /> <Limit name="measured-frame-rate-1280x720" range="94-95" />
<Limit name="measured-frame-rate-1920x1080" range="29-43" /> <Limit name="measured-frame-rate-1920x1080" range="20-29" />
</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="406-1104" />
<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="20-31" />
</MediaCodec> </MediaCodec>
<MediaCodec name="c2.android.h263.decoder" type="video/3gpp" update="true"> <MediaCodec name="c2.android.h263.decoder" type="video/3gpp" update="true">
<Limit name="measured-frame-rate-176x144" range="893-2369" /> <Limit name="measured-frame-rate-176x144" range="500-500" />
<Limit name="measured-frame-rate-352x288" range="650-780" /> <Limit name="measured-frame-rate-352x288" range="399-426" />
</MediaCodec> </MediaCodec>
<MediaCodec name="c2.android.mpeg4.decoder" type="video/mp4v-es" update="true"> <MediaCodec name="c2.android.mpeg4.decoder" type="video/mp4v-es" update="true">
<Limit name="measured-frame-rate-176x144" range="730-1470" /> <Limit name="measured-frame-rate-176x144" range="406-543" />
<Limit name="measured-frame-rate-480x360" range="864-908" />
<Limit name="measured-frame-rate-1280x720" range="315-401" />
</MediaCodec>
<MediaCodec name="c2.android.vp8.decoder" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x180" range="366-489" />
<Limit name="measured-frame-rate-640x360" range="162-308" />
<Limit name="measured-frame-rate-1920x1080" range="42-42" />
</MediaCodec>
<MediaCodec name="c2.android.vp9.decoder" type="video/x-vnd.on2.vp9" update="true">
<Limit name="measured-frame-rate-320x180" range="306-420" />
<Limit name="measured-frame-rate-640x360" range="155-172" />
<Limit name="measured-frame-rate-1280x720" range="79-80" />
<Limit name="measured-frame-rate-1920x1080" range="23-33" />
</MediaCodec> </MediaCodec>
</Decoders> </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> </MediaCodecs>

View file

@ -1,25 +1,25 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- <!--
Copyright (c) 2020-2021 Qualcomm Technologies, Inc. Copyright (c) 2020 Qualcomm Technologies, Inc.
All Rights Reserved. All Rights Reserved.
Confidential and Proprietary - Qualcomm Technologies, Inc. Confidential and Proprietary - Qualcomm Technologies, Inc.
Not a contribution. Not a contribution.
Copyright (C) 2012-2019 The Linux Foundation. All rights reserved. Copyright (C) 2012-2020 The Linux Foundation. All rights reserved.
Copyright (C) 2010 The Android Open Source Project Copyright (C) 2010 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License"); Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License. you may not use this file except in compliance with the License.
You may obtain a copy of the License at You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0 http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and See the License for the specific language governing permissions and
limitations under the License. limitations under the License.
--> -->
<!DOCTYPE MediaSettings [ <!DOCTYPE MediaSettings [
<!ELEMENT MediaSettings (CamcorderProfiles, <!ELEMENT MediaSettings (CamcorderProfiles,
@ -33,7 +33,7 @@
<!ATTLIST EncoderProfile quality (high|low) #REQUIRED> <!ATTLIST EncoderProfile quality (high|low) #REQUIRED>
<!ATTLIST EncoderProfile fileFormat (mp4|3gp) #REQUIRED> <!ATTLIST EncoderProfile fileFormat (mp4|3gp) #REQUIRED>
<!ATTLIST EncoderProfile duration (30|60) #REQUIRED> <!ATTLIST EncoderProfile duration (30|60) #REQUIRED>
<!ATTLIST EncoderProfile cameraId (0|1|2|3) #REQUIRED> <!ATTLIST EncoderProfile cameraId (0|1|2|3|4) #REQUIRED>
<!ELEMENT Video EMPTY> <!ELEMENT Video EMPTY>
<!ATTLIST Video codec (h264|h263|m4v) #REQUIRED> <!ATTLIST Video codec (h264|h263|m4v) #REQUIRED>
<!ATTLIST Video bitRate CDATA #REQUIRED> <!ATTLIST Video bitRate CDATA #REQUIRED>
@ -116,9 +116,9 @@
<EncoderProfile quality="high" fileFormat="mp4" duration="30"> <EncoderProfile quality="high" fileFormat="mp4" duration="30">
<Video codec="h264" <Video codec="h264"
bitRate="50000000" bitRate="20000000"
width="3840" width="1920"
height="2160" height="1080"
frameRate="30" /> frameRate="30" />
<Audio codec="aac" <Audio codec="aac"
@ -192,32 +192,6 @@
channels="2" /> channels="2" />
</EncoderProfile> </EncoderProfile>
<EncoderProfile quality="2160p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="50000000"
width="3840"
height="2160"
frameRate="30" />
<Audio codec="aac"
bitRate="156000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<EncoderProfile quality="8kuhd" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="105000000"
width="7680"
height="4320"
frameRate="30" />
<Audio codec="aac"
bitRate="156000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<EncoderProfile quality="qcif" fileFormat="3gp" duration="30"> <EncoderProfile quality="qcif" fileFormat="3gp" duration="30">
<Video codec="h264" <Video codec="h264"
bitRate="192000" bitRate="192000"
@ -233,7 +207,7 @@
<EncoderProfile quality="vga" fileFormat="mp4" duration="30"> <EncoderProfile quality="vga" fileFormat="mp4" duration="30">
<Video codec="h264" <Video codec="h264"
bitRate="1536000" bitRate="2000000"
width="640" width="640"
height="480" height="480"
frameRate="30" /> frameRate="30" />
@ -260,9 +234,9 @@
<EncoderProfile quality="timelapsehigh" fileFormat="mp4" duration="30"> <EncoderProfile quality="timelapsehigh" fileFormat="mp4" duration="30">
<Video codec="h264" <Video codec="h264"
bitRate="50000000" bitRate="20000000"
width="3840" width="1920"
height="2160" height="1080"
frameRate="30" /> frameRate="30" />
<!-- audio setting is ignored --> <!-- audio setting is ignored -->
@ -317,7 +291,7 @@
<EncoderProfile quality="timelapsevga" fileFormat="mp4" duration="30"> <EncoderProfile quality="timelapsevga" fileFormat="mp4" duration="30">
<Video codec="h264" <Video codec="h264"
bitRate="1536000" bitRate="2000000"
width="640" width="640"
height="480" height="480"
frameRate="30" /> frameRate="30" />
@ -371,45 +345,6 @@
channels="2" /> channels="2" />
</EncoderProfile> </EncoderProfile>
<EncoderProfile quality="timelapse4kdci" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="57500000"
width="4096"
height="2160"
frameRate="30" />
<Audio codec="aac"
bitRate="156000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<EncoderProfile quality="timelapse2160p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="50000000"
width="3840"
height="2160"
frameRate="30" />
<Audio codec="aac"
bitRate="156000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<EncoderProfile quality="timelapse8kuhd" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="105000000"
width="7680"
height="4320"
frameRate="30" />
<Audio codec="aac"
bitRate="156000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<ImageEncoding quality="95" /> <ImageEncoding quality="95" />
<ImageEncoding quality="80" /> <ImageEncoding quality="80" />
<ImageEncoding quality="70" /> <ImageEncoding quality="70" />
@ -434,9 +369,9 @@
<EncoderProfile quality="high" fileFormat="mp4" duration="30"> <EncoderProfile quality="high" fileFormat="mp4" duration="30">
<Video codec="h264" <Video codec="h264"
bitRate="50000000" bitRate="20000000"
width="3840" width="1920"
height="2160" height="1080"
frameRate="30" /> frameRate="30" />
<Audio codec="aac" <Audio codec="aac"
@ -510,45 +445,6 @@
channels="2" /> channels="2" />
</EncoderProfile> </EncoderProfile>
<EncoderProfile quality="4kdci" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="57500000"
width="4096"
height="2160"
frameRate="24" />
<Audio codec="aac"
bitRate="156000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<EncoderProfile quality="2160p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="50000000"
width="3840"
height="2160"
frameRate="30" />
<Audio codec="aac"
bitRate="156000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<EncoderProfile quality="8kuhd" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="105000000"
width="7680"
height="4320"
frameRate="30" />
<Audio codec="aac"
bitRate="156000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<EncoderProfile quality="qcif" fileFormat="3gp" duration="30"> <EncoderProfile quality="qcif" fileFormat="3gp" duration="30">
<Video codec="h264" <Video codec="h264"
bitRate="192000" bitRate="192000"
@ -564,7 +460,7 @@
<EncoderProfile quality="vga" fileFormat="mp4" duration="30"> <EncoderProfile quality="vga" fileFormat="mp4" duration="30">
<Video codec="h264" <Video codec="h264"
bitRate="1536000" bitRate="2000000"
width="640" width="640"
height="480" height="480"
frameRate="30" /> frameRate="30" />
@ -592,9 +488,9 @@
<EncoderProfile quality="timelapsehigh" fileFormat="mp4" duration="30"> <EncoderProfile quality="timelapsehigh" fileFormat="mp4" duration="30">
<Video codec="h264" <Video codec="h264"
bitRate="50000000" bitRate="20000000"
width="3840" width="1920"
height="2160" height="1080"
frameRate="30" /> frameRate="30" />
<!-- audio setting is ignored --> <!-- audio setting is ignored -->
@ -620,7 +516,7 @@
<EncoderProfile quality="timelapsecif" fileFormat="mp4" duration="30"> <EncoderProfile quality="timelapsecif" fileFormat="mp4" duration="30">
<Video codec="h264" <Video codec="h264"
bitRate="720000" bitRate="1200000"
width="352" width="352"
height="288" height="288"
frameRate="30" /> frameRate="30" />
@ -648,7 +544,7 @@
<EncoderProfile quality="timelapsevga" fileFormat="mp4" duration="30"> <EncoderProfile quality="timelapsevga" fileFormat="mp4" duration="30">
<Video codec="h264" <Video codec="h264"
bitRate="1536000" bitRate="2000000"
width="640" width="640"
height="480" height="480"
frameRate="30" /> frameRate="30" />
@ -702,51 +598,13 @@
channels="2" /> channels="2" />
</EncoderProfile> </EncoderProfile>
<EncoderProfile quality="timelapse4kdci" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="57500000"
width="4096"
height="2160"
frameRate="30" />
<Audio codec="aac"
bitRate="156000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<EncoderProfile quality="timelapse2160p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="50000000"
width="3840"
height="2160"
frameRate="30" />
<Audio codec="aac"
bitRate="156000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<EncoderProfile quality="timelapse8kuhd" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="105000000"
width="7680"
height="4320"
frameRate="30" />
<Audio codec="aac"
bitRate="156000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<ImageEncoding quality="95" /> <ImageEncoding quality="95" />
<ImageEncoding quality="80" /> <ImageEncoding quality="80" />
<ImageEncoding quality="70" /> <ImageEncoding quality="70" />
<ImageDecoding memCap="20000000" /> <ImageDecoding memCap="20000000" />
</CamcorderProfiles> </CamcorderProfiles>
<!-- Camera ID 2 --> <!-- Camera ID 2 -->
<CamcorderProfiles cameraId="2"> <CamcorderProfiles cameraId="2">
@ -765,9 +623,9 @@
<EncoderProfile quality="high" fileFormat="mp4" duration="30"> <EncoderProfile quality="high" fileFormat="mp4" duration="30">
<Video codec="h264" <Video codec="h264"
bitRate="50000000" bitRate="20000000"
width="3840" width="1920"
height="2160" height="1080"
frameRate="30" /> frameRate="30" />
<Audio codec="aac" <Audio codec="aac"
@ -841,45 +699,6 @@
channels="2" /> channels="2" />
</EncoderProfile> </EncoderProfile>
<EncoderProfile quality="4kdci" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="57500000"
width="4096"
height="2160"
frameRate="24" />
<Audio codec="aac"
bitRate="156000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<EncoderProfile quality="2160p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="50000000"
width="3840"
height="2160"
frameRate="30" />
<Audio codec="aac"
bitRate="156000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<EncoderProfile quality="8kuhd" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="105000000"
width="7680"
height="4320"
frameRate="30" />
<Audio codec="aac"
bitRate="156000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<EncoderProfile quality="qcif" fileFormat="3gp" duration="30"> <EncoderProfile quality="qcif" fileFormat="3gp" duration="30">
<Video codec="h264" <Video codec="h264"
bitRate="192000" bitRate="192000"
@ -895,7 +714,7 @@
<EncoderProfile quality="vga" fileFormat="mp4" duration="30"> <EncoderProfile quality="vga" fileFormat="mp4" duration="30">
<Video codec="h264" <Video codec="h264"
bitRate="1536000" bitRate="2000000"
width="640" width="640"
height="480" height="480"
frameRate="30" /> frameRate="30" />
@ -922,9 +741,9 @@
<EncoderProfile quality="timelapsehigh" fileFormat="mp4" duration="30"> <EncoderProfile quality="timelapsehigh" fileFormat="mp4" duration="30">
<Video codec="h264" <Video codec="h264"
bitRate="50000000" bitRate="20000000"
width="3840" width="1920"
height="2160" height="1080"
frameRate="30" /> frameRate="30" />
<!-- audio setting is ignored --> <!-- audio setting is ignored -->
@ -979,7 +798,7 @@
<EncoderProfile quality="timelapsevga" fileFormat="mp4" duration="30"> <EncoderProfile quality="timelapsevga" fileFormat="mp4" duration="30">
<Video codec="h264" <Video codec="h264"
bitRate="1536000" bitRate="2000000"
width="640" width="640"
height="480" height="480"
frameRate="30" /> frameRate="30" />
@ -1033,100 +852,6 @@
channels="2" /> channels="2" />
</EncoderProfile> </EncoderProfile>
<EncoderProfile quality="timelapse4kdci" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="57500000"
width="4096"
height="2160"
frameRate="30" />
<Audio codec="aac"
bitRate="156000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<EncoderProfile quality="timelapse2160p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="50000000"
width="3840"
height="2160"
frameRate="30" />
<Audio codec="aac"
bitRate="156000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<EncoderProfile quality="timelapse8kuhd" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="105000000"
width="7680"
height="4320"
frameRate="30" />
<Audio codec="aac"
bitRate="156000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<EncoderProfile quality="highspeed1080p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="50000000"
width="1920"
height="1080"
frameRate="120" />
<!-- audio setting is ignored -->
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="highspeedhigh" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="50000000"
width="1920"
height="1080"
frameRate="120" />
<!-- audio setting is ignored -->
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="highspeed720p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="55000000"
width="1280"
height="720"
frameRate="240" />
<!-- audio setting is ignored -->
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="highspeed480p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="6400000"
width="640"
height="480"
frameRate="240" />
<Audio codec="aac"
bitRate="156000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<ImageEncoding quality="95" /> <ImageEncoding quality="95" />
<ImageEncoding quality="80" /> <ImageEncoding quality="80" />
<ImageEncoding quality="70" /> <ImageEncoding quality="70" />
@ -1134,6 +859,7 @@
</CamcorderProfiles> </CamcorderProfiles>
<!-- Camera ID 3 -->
<CamcorderProfiles cameraId="3"> <CamcorderProfiles cameraId="3">
<EncoderProfile quality="low" fileFormat="3gp" duration="30"> <EncoderProfile quality="low" fileFormat="3gp" duration="30">
@ -1151,9 +877,9 @@
<EncoderProfile quality="high" fileFormat="mp4" duration="30"> <EncoderProfile quality="high" fileFormat="mp4" duration="30">
<Video codec="h264" <Video codec="h264"
bitRate="50000000" bitRate="20000000"
width="3840" width="1920"
height="2160" height="1080"
frameRate="30" /> frameRate="30" />
<Audio codec="aac" <Audio codec="aac"
@ -1227,45 +953,6 @@
channels="2" /> channels="2" />
</EncoderProfile> </EncoderProfile>
<EncoderProfile quality="4kdci" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="57500000"
width="4096"
height="2160"
frameRate="24" />
<Audio codec="aac"
bitRate="156000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<EncoderProfile quality="2160p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="50000000"
width="3840"
height="2160"
frameRate="30" />
<Audio codec="aac"
bitRate="156000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<EncoderProfile quality="8kuhd" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="105000000"
width="7680"
height="4320"
frameRate="30" />
<Audio codec="aac"
bitRate="156000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<EncoderProfile quality="qcif" fileFormat="3gp" duration="30"> <EncoderProfile quality="qcif" fileFormat="3gp" duration="30">
<Video codec="h264" <Video codec="h264"
bitRate="192000" bitRate="192000"
@ -1281,7 +968,7 @@
<EncoderProfile quality="vga" fileFormat="mp4" duration="30"> <EncoderProfile quality="vga" fileFormat="mp4" duration="30">
<Video codec="h264" <Video codec="h264"
bitRate="1536000" bitRate="2000000"
width="640" width="640"
height="480" height="480"
frameRate="30" /> frameRate="30" />
@ -1308,9 +995,9 @@
<EncoderProfile quality="timelapsehigh" fileFormat="mp4" duration="30"> <EncoderProfile quality="timelapsehigh" fileFormat="mp4" duration="30">
<Video codec="h264" <Video codec="h264"
bitRate="50000000" bitRate="20000000"
width="3840" width="1920"
height="2160" height="1080"
frameRate="30" /> frameRate="30" />
<!-- audio setting is ignored --> <!-- audio setting is ignored -->
@ -1365,7 +1052,7 @@
<EncoderProfile quality="timelapsevga" fileFormat="mp4" duration="30"> <EncoderProfile quality="timelapsevga" fileFormat="mp4" duration="30">
<Video codec="h264" <Video codec="h264"
bitRate="1536000" bitRate="2000000"
width="640" width="640"
height="480" height="480"
frameRate="30" /> frameRate="30" />
@ -1419,100 +1106,6 @@
channels="2" /> channels="2" />
</EncoderProfile> </EncoderProfile>
<EncoderProfile quality="timelapse4kdci" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="57500000"
width="4096"
height="2160"
frameRate="30" />
<Audio codec="aac"
bitRate="156000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<EncoderProfile quality="timelapse2160p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="50000000"
width="3840"
height="2160"
frameRate="30" />
<Audio codec="aac"
bitRate="156000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<EncoderProfile quality="timelapse8kuhd" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="105000000"
width="7680"
height="4320"
frameRate="30" />
<Audio codec="aac"
bitRate="156000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<EncoderProfile quality="highspeed1080p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="50000000"
width="1920"
height="1080"
frameRate="120" />
<!-- audio setting is ignored -->
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="highspeedhigh" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="50000000"
width="1920"
height="1080"
frameRate="120" />
<!-- audio setting is ignored -->
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="highspeed720p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="55000000"
width="1280"
height="720"
frameRate="240" />
<!-- audio setting is ignored -->
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="highspeed480p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="6400000"
width="640"
height="480"
frameRate="240" />
<Audio codec="aac"
bitRate="156000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<ImageEncoding quality="95" /> <ImageEncoding quality="95" />
<ImageEncoding quality="80" /> <ImageEncoding quality="80" />
<ImageEncoding quality="70" /> <ImageEncoding quality="70" />
@ -1520,6 +1113,7 @@
</CamcorderProfiles> </CamcorderProfiles>
<!-- Camera ID 4 -->
<CamcorderProfiles cameraId="4"> <CamcorderProfiles cameraId="4">
<EncoderProfile quality="low" fileFormat="3gp" duration="30"> <EncoderProfile quality="low" fileFormat="3gp" duration="30">
@ -1537,9 +1131,9 @@
<EncoderProfile quality="high" fileFormat="mp4" duration="30"> <EncoderProfile quality="high" fileFormat="mp4" duration="30">
<Video codec="h264" <Video codec="h264"
bitRate="50000000" bitRate="20000000"
width="3840" width="1920"
height="2160" height="1080"
frameRate="30" /> frameRate="30" />
<Audio codec="aac" <Audio codec="aac"
@ -1613,32 +1207,6 @@
channels="2" /> channels="2" />
</EncoderProfile> </EncoderProfile>
<EncoderProfile quality="4kdci" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="57500000"
width="4096"
height="2160"
frameRate="24" />
<Audio codec="aac"
bitRate="156000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<EncoderProfile quality="2160p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="50000000"
width="3840"
height="2160"
frameRate="30" />
<Audio codec="aac"
bitRate="156000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<EncoderProfile quality="qcif" fileFormat="3gp" duration="30"> <EncoderProfile quality="qcif" fileFormat="3gp" duration="30">
<Video codec="h264" <Video codec="h264"
bitRate="192000" bitRate="192000"
@ -1654,7 +1222,7 @@
<EncoderProfile quality="vga" fileFormat="mp4" duration="30"> <EncoderProfile quality="vga" fileFormat="mp4" duration="30">
<Video codec="h264" <Video codec="h264"
bitRate="1536000" bitRate="2000000"
width="640" width="640"
height="480" height="480"
frameRate="30" /> frameRate="30" />
@ -1681,9 +1249,9 @@
<EncoderProfile quality="timelapsehigh" fileFormat="mp4" duration="30"> <EncoderProfile quality="timelapsehigh" fileFormat="mp4" duration="30">
<Video codec="h264" <Video codec="h264"
bitRate="50000000" bitRate="20000000"
width="3840" width="1920"
height="2160" height="1080"
frameRate="30" /> frameRate="30" />
<!-- audio setting is ignored --> <!-- audio setting is ignored -->
@ -1721,6 +1289,7 @@
channels="1" /> channels="1" />
</EncoderProfile> </EncoderProfile>
<EncoderProfile quality="timelapseqvga" fileFormat="mp4" duration="30"> <EncoderProfile quality="timelapseqvga" fileFormat="mp4" duration="30">
<Video codec="h264" <Video codec="h264"
bitRate="512000" bitRate="512000"
@ -1737,7 +1306,7 @@
<EncoderProfile quality="timelapsevga" fileFormat="mp4" duration="30"> <EncoderProfile quality="timelapsevga" fileFormat="mp4" duration="30">
<Video codec="h264" <Video codec="h264"
bitRate="1536000" bitRate="2000000"
width="640" width="640"
height="480" height="480"
frameRate="30" /> frameRate="30" />
@ -1791,32 +1360,6 @@
channels="2" /> channels="2" />
</EncoderProfile> </EncoderProfile>
<EncoderProfile quality="timelapse4kdci" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="57500000"
width="4096"
height="2160"
frameRate="30" />
<Audio codec="aac"
bitRate="156000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<EncoderProfile quality="timelapse2160p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="50000000"
width="3840"
height="2160"
frameRate="30" />
<Audio codec="aac"
bitRate="156000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<ImageEncoding quality="95" /> <ImageEncoding quality="95" />
<ImageEncoding quality="80" /> <ImageEncoding quality="80" />
<ImageEncoding quality="70" /> <ImageEncoding quality="70" />
@ -1833,17 +1376,33 @@
or query the capabilities of the codec at all if it is disabled or query the capabilities of the codec at all if it is disabled
--> -->
<VideoEncoderCap name="h264" enabled="true" <VideoEncoderCap name="h264" enabled="true"
minBitRate="64000" maxBitRate="105000000" minBitRate="64000" maxBitRate="60000000"
minFrameWidth="176" maxFrameWidth="7680" minFrameWidth="176" maxFrameWidth="1920"
minFrameHeight="144" maxFrameHeight="4320" minFrameHeight="144" maxFrameHeight="1080"
minFrameRate="15" maxFrameRate="30" minFrameRate="15" maxFrameRate="30"
maxHFRFrameWidth="1920" maxHFRFrameHeight="1080" maxHFRFrameWidth="1920" maxHFRFrameHeight="1080"
maxHFRMode="120" /> maxHFRMode="120" />
<VideoEncoderCap name="h263" enabled="true"
minBitRate="64000" maxBitRate="2000000"
minFrameWidth="176" maxFrameWidth="800"
minFrameHeight="144" maxFrameHeight="480"
minFrameRate="15" maxFrameRate="30"
maxHFRFrameWidth="0" maxHFRFrameHeight="0"
maxHFRMode="0" />
<VideoEncoderCap name="m4v" enabled="true"
minBitRate="64000" maxBitRate="8000000"
minFrameWidth="176" maxFrameWidth="800"
minFrameHeight="144" maxFrameHeight="480"
minFrameRate="15" maxFrameRate="30"
maxHFRFrameWidth="0" maxHFRFrameHeight="0"
maxHFRMode="0" />
<VideoEncoderCap name="hevc" enabled="true" <VideoEncoderCap name="hevc" enabled="true"
minBitRate="64000" maxBitRate="73500000" minBitRate="64000" maxBitRate="60000000"
minFrameWidth="176" maxFrameWidth="7680" minFrameWidth="176" maxFrameWidth="1920"
minFrameHeight="144" maxFrameHeight="4320" minFrameHeight="144" maxFrameHeight="1080"
minFrameRate="15" maxFrameRate="30" minFrameRate="15" maxFrameRate="30"
maxHFRFrameWidth="0" maxHFRFrameHeight="0" maxHFRFrameWidth="0" maxHFRFrameHeight="0"
maxHFRMode="0" /> maxHFRMode="0" />
@ -1914,5 +1473,12 @@
Codec = h.264, Baseline profile, level 4.0 Codec = h.264, Baseline profile, level 4.0
--> -->
<ExportVideoProfile name="h264" profile= "1" level="2048"/> <ExportVideoProfile name="h264" profile= "1" level="2048"/>
<!--
Codec = h.263, Baseline profile, level 70
-->
<ExportVideoProfile name="h263" profile= "1" level="128"/>
<!--
Codec = mpeg4, Simple profile, level 5
-->
<ExportVideoProfile name="m4v" profile= "1" level="128"/>
</MediaSettings> </MediaSettings>

View file

@ -40,7 +40,7 @@ service qti-media /vendor/bin/init.qti.media.sh
oneshot oneshot
seclabel u:r:vendor_qti_media:s0 seclabel u:r:vendor_qti_media:s0
on early-init on post-fs
setprop vendor.media.target.qssi ${vendor.sys.media.target.qssi} setprop vendor.media.target.qssi ${vendor.sys.media.target.qssi}
setprop vendor.media.system.build_codename ${ro.build.version.release_or_codename} setprop vendor.media.system.build_codename ${ro.build.version.release_or_codename}
start qti-media start qti-media
@ -48,7 +48,6 @@ on early-init
on post-fs-data on post-fs-data
setprop ro.media.xml_variant.codecs ${vendor.media.target_variant} setprop ro.media.xml_variant.codecs ${vendor.media.target_variant}
setprop ro.media.xml_variant.codecs_performance ${vendor.media.target_variant} setprop ro.media.xml_variant.codecs_performance ${vendor.media.target_variant}
setprop ro.media.xml_variant.profiles ${vendor.media.target_variant}
on property:vendor.netflix.bsp_rev=* on property:vendor.netflix.bsp_rev=*
setprop ro.netflix.bsp_rev ${vendor.netflix.bsp_rev} setprop ro.netflix.bsp_rev ${vendor.netflix.bsp_rev}

77
media/init.qti.media.sh Normal file → Executable file
View file

@ -2,7 +2,7 @@
#============================================================================== #==============================================================================
# init.qti.media.sh # init.qti.media.sh
# #
# Copyright (c) 2020-2022, Qualcomm Technologies, Inc. # Copyright (c) 2020-2023, Qualcomm Technologies, Inc.
# All Rights Reserved. # All Rights Reserved.
# Confidential and Proprietary - Qualcomm Technologies, Inc. # Confidential and Proprietary - Qualcomm Technologies, Inc.
# #
@ -40,34 +40,93 @@ 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`
product=`getprop ro.build.product`
case "$target" in case "$target" in
"lahaina") "lahaina")
case "$soc_hwid" in case "$soc_hwid" in
475|515) 475|515)
setprop vendor.media.target_variant "_yupik_v0"
if [ $build_codename -le "13" ]; then
setprop vendor.netflix.bsp_rev "Q7325-SPY-33758-1"
fi
sku_ver=`cat /sys/devices/platform/soc/aa00000.qcom,vidc/sku_version` 2> /dev/null 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_variant "_yupik_v1" setprop vendor.media.target_variant "_yupik_v1"
else
setprop vendor.media.target_variant "_yupik_v0"
fi fi
setprop vendor.netflix.bsp_rev "Q7325-SPY-33758-1"
;; ;;
450) 450)
setprop vendor.media.target_variant "_shima_v3"
if [ $build_codename -le "13" ]; 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 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_variant "_shima_v1" setprop vendor.media.target_variant "_shima_v1"
elif [ $sku_ver -eq 2 ]; then elif [ $sku_ver -eq 2 ]; then
setprop vendor.media.target_variant "_shima_v2" setprop vendor.media.target_variant "_shima_v2"
else
setprop vendor.media.target_variant "_shima_v3"
fi fi
setprop vendor.netflix.bsp_rev "Q875-32774-1" ;;
497|498|575|576)
setprop vendor.media.target_variant "_yupik_iot"
;; ;;
*) *)
setprop vendor.media.target_variant "_lahaina" if [ $target_qssi == "true" ]; then
setprop vendor.netflix.bsp_rev "Q875-32408-1" setprop vendor.media.target_variant "_lahaina_vendor"
else
setprop vendor.media.target_variant "_lahaina"
fi
if [ $build_codename -le "13" ]; then
setprop vendor.netflix.bsp_rev "Q875-32408-1"
fi
;; ;;
esac esac
;; ;;
"holi")
case "$soc_hwid" in
507|565|628)
setprop vendor.media.target_variant "_blair"
if [ $build_codename -le "14" ]; then
setprop vendor.netflix.bsp_rev "Q4350-32962-1"
fi
;;
578)
setprop vendor.media.target_variant "_blair_lite"
if [ $build_codename -le "14" ]; then
setprop vendor.netflix.bsp_rev "Q4350-32962-1"
fi
;;
454|472)
setprop vendor.media.target_variant "_holi"
if [ $build_codename -le "14" ]; then
setprop vendor.netflix.bsp_rev "Q4350-32962-1"
fi
;;
esac
;;
"msmnile")
setprop vendor.media.target_variant "_msmnile"
if [ $product == "msmnile_gvmq" ] || [ $product == "msmnile_gvmgh" ]; then
case "$soc_hwid" in
460)
setprop vendor.media.target_variant "_direwolf"
;;
377)
setprop vendor.media.target_variant "_sm6150"
;;
362|405)
setprop vendor.media.target_variant "_msmnile"
;;
esac
fi
;;
"sm6150")
setprop vendor.media.target_variant "_sm6150"
;;
"direwolf")
setprop vendor.media.target_variant "_direwolf"
;;
esac esac

View file

@ -1,334 +0,0 @@
<?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 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 160 3916800 7776000 |
| | 3820 2160 240 160 7735500 |
| | 4096 2160 120 160 4147200 |
| | 7680 4320 60 160 7776000 |
| vp9 | 1920 1088 480 100 3916800 7776000 |
| | 3820 2160 240 100 7735500 |
| | 4096 2160 120 100 4147200 |
| | 7680 4320 60 100 7776000 |
|_____________|_____________________________________________________|
Lahaina 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 |
|__________|_____________________________________________________|
Lahaina 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 160 3456000 3916800 |
| | 1920 1088 480 160 3916800 |
| | 3840 2160 120 160 3888000 |
| | 4096 2160 60 160 2073600 |
| | 8192 4320 24 160 3317760 |
|__________|_____________________________________________________|
-->
<MediaCodecs>
<Include href="media_codecs_google_audio.xml" />
<Include href="media_codecs_vendor_audio.xml" />
<Include href="media_codecs_google_telephony.xml" />
<Include href="media_codecs_c2_audio.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="8192x8192" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="36-138240" />
<Limit name="blocks-per-second" range="36-7776000" />
<Limit name="bitrate" range="1-220000000" />
<Limit name="frame-rate" range="1-960" />
<Limit name="concurrent-instances" max="16" />
<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" />
</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="8192x8192" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="36-138240" />
<Limit name="blocks-per-second" range="36-3916800" />
<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-1280x720" value="480" />
<Limit name="performance-point-1920x1080" value="240" />
<Limit name="performance-point-3840x2160" value="120" />
<Limit name="performance-point-4096x2160" value="120" />
<Limit name="performance-point-7680x4320" value="30" />
</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="4096x4096" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="36-34560" />
<Limit name="blocks-per-second" min="36" 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" />
<Feature name="low-latency" />
<Limit name="concurrent-instances" max="3" />
<Limit name="concurrent-instances" max="3" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-4096x2304" 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="8192x8192" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="36-138240" />
<Limit name="blocks-per-second" min="36" 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" />
</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="8192x8192" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="36-138240" />
<Limit name="blocks-per-second" min="36" max="3916800" />
<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-1280x720" value="480" />
<Limit name="performance-point-1920x1080" value="240" />
<Limit name="performance-point-3840x2160" value="120" />
<Limit name="performance-point-4096x2160" value="120" />
<Limit name="performance-point-7680x4320" value="30" />
</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="4096x4096" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="36-34560" />
<Limit name="blocks-per-second" min="36" 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" />
<Feature name="low-latency" />
<Limit name="concurrent-instances" max="3" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-4096x2304" 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="4096x4096" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="36-36864" />
<Limit name="blocks-per-second" min="36" max="2211840" />
<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" />
<Limit name="performance-point-4096x2304" 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="4096x4096" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="36-36864" />
<Limit name="blocks-per-second" min="36" max="2211840" />
<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="c2.qti.mpeg2.decoder" type="video/mpeg2" >
<Alias name="OMX.qcom.video.decoder.mpeg2"/>
<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" />
<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="8192x8192" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="64" max="3916800" />
<Limit name="block-count" range="64-138240" />
<Limit name="bitrate" range="1-220000000" />
<Limit name="frame-rate" range="1-960" />
<Limit name="complexity" range="0-100" default="100" />
<Limit name="concurrent-instances" max="16" />
<Feature name="bitrate-modes" value="VBR,CBR" />
<Feature name="intra-refresh" />
<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="c2.qti.hevc.encoder" type="video/hevc">
<Alias name="OMX.qcom.video.encoder.hevc"/>
<Limit name="size" min="128x128" max="8192x8192" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="64" max="3916800" />
<Limit name="block-count" range="64-138240" />
<Limit name="bitrate" range="1-160000000" />
<Limit name="frame-rate" range="1-960" />
<Limit name="complexity" range="0-100" default="100" />
<Limit name="concurrent-instances" max="16" />
<Feature name="bitrate-modes" value="VBR,CBR" />
<Feature name="intra-refresh" />
<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="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="3916800" />
<Limit name="bitrate" range="1-160000000" />
<Limit name="frame-rate" range="1-480" />
<Limit name="complexity" range="0-100" default="100" />
<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="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-160000000" />
<Limit name="frame-rate" range="1-20" />
<Limit name="complexity" range="0-100" default="100" />
<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

@ -1,169 +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="720-2500" />
<Limit name="measured-frame-rate-720x480" range="450-1700" />
<Limit name="measured-frame-rate-1280x720" range="250-950" />
<Limit name="measured-frame-rate-1920x1088" range="120-500" />
</MediaCodec>
<MediaCodec name="c2.qti.avc.decoder.low_latency" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="380-2000" />
<Limit name="measured-frame-rate-720x480" range="380-2000" />
<Limit name="measured-frame-rate-1280x720" range="253-950" />
<Limit name="measured-frame-rate-1920x1080" range="120-410" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.decoder" type="video/hevc" update="true">
<Limit name="measured-frame-rate-352x288" range="465-1900" />
<Limit name="measured-frame-rate-720x480" range="370-1550" />
<Limit name="measured-frame-rate-1280x720" range="270-2600" />
<Limit name="measured-frame-rate-1920x1080" range="260-1200" />
<Limit name="measured-frame-rate-3840x2160" range="67-505" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.decoder.low_latency" type="video/hevc" update="true">
<Limit name="measured-frame-rate-352x288" range="390-1850" />
<Limit name="measured-frame-rate-720x480" range="380-1700" />
<Limit name="measured-frame-rate-1280x720" range="315-1920" />
<Limit name="measured-frame-rate-1920x1080" range="220-800" />
<Limit name="measured-frame-rate-3840x2160" range="67-240" />
</MediaCodec>
<MediaCodec name="c2.qti.vp9.decoder" type="video/x-vnd.on2.vp9" update="true">
<Limit name="measured-frame-rate-320x180" range="415-1700" />
<Limit name="measured-frame-rate-640x360" range="265-1600" />
<Limit name="measured-frame-rate-1280x720" range="142-450" />
<Limit name="measured-frame-rate-1920x1080" range="130-450" />
<Limit name="measured-frame-rate-3840x2160" range="39-255" />
</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="211-600" /> <!-- N=266 v98%=1.6 -->
<Limit name="measured-frame-rate-720x480" range="57-405" /> <!-- N=266 v98%=1.5 -->
<Limit name="measured-frame-rate-1280x720" range="17-98" /> <!-- N=236 v98%=1.5 (-PD1A.180712.003) -->
<Limit name="measured-frame-rate-1920x1080" range="14-32" />
</MediaCodec>
<MediaCodec name="c2.android.hevc.decoder" type="video/hevc" update="true">
<Limit name="measured-frame-rate-352x288" range="220-950" /> <!-- 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="120-830" /> <!-- 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="129-563" /> <!-- TWEAKED N=270 v98%=1.6 -->
<Limit name="measured-frame-rate-1280x720" range="41-200" /> <!-- N=270 v98%=1.4 -->
<Limit name="measured-frame-rate-1920x1080" range="25-100" /> <!-- 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="550-1850" /> <!-- TWEAKED N=270 v98%=1.9 (-PD1A.180717.001) -->
<Limit name="measured-frame-rate-640x360" range="250-800" /> <!-- N=230 v98%=1.3 -->
<!-- measured 98%:35-54 med:36/36 N=64 -->
<Limit name="measured-frame-rate-1280x720" range="59-360" /> <!-- v98%=1.2 (PD1A.180706.000-) -->
<Limit name="measured-frame-rate-1920x1080" range="23-113" /> <!-- 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="488-1500" /> <!-- TWEAKED N=228 -->
<Limit name="measured-frame-rate-640x360" range="265-900" /> <!-- N=272 v98%=1.9 (-PD1A.180717.001) -->
<Limit name="measured-frame-rate-1280x720" range="95-400" /> <!-- N=270 v98%=1.3 (-PD1A.180717.001) -->
<Limit name="measured-frame-rate-1920x1080" range="50-215" /> <!-- 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-2600" /> <!-- N=270 -->
<Limit name="measured-frame-rate-352x288" range="620-1900" /> <!-- 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="865-2800" /> <!-- N=272 v90%=3.0 -->
<Limit name="measured-frame-rate-480x360" range="2100-3100" />
<Limit name="measured-frame-rate-1280x720" range="900-1100" />
</MediaCodec>
</Decoders>
<Encoders>
<!-- C2 HW encoders -->
<MediaCodec name="c2.qti.avc.encoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="200-600" />
<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="480-535" />
<Limit name="measured-frame-rate-720x480" range="165-210" />
<Limit name="measured-frame-rate-1280x720" range="35-250" />
<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>
<!-- 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="140-980" /> <!-- 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="125-176" /> <!-- 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="30-200" /> <!-- 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="20-80" /> <!-- 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="294-455" /> <!-- 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="75-350" /> <!-- N=220 -->
<!-- measured 98%:3-11 med:6/6 FLAKY(mn=0.0 < 3 - 12) -->
<Limit name="measured-frame-rate-1280x720" range="24-85" /> <!-- 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="10-115" /> <!-- 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>
<MediaCodec name="c2.android.hevc.encoder" type="video/hevc" update="true">
<Limit name="measured-frame-rate-320x240" range="38-47" />
<Limit name="measured-frame-rate-720x480" range="8-15" />
</MediaCodec>
</Encoders>
</MediaCodecs>

View file

@ -1,4 +1,4 @@
# All unpinned blobs below are extracted from dubai_g-user 13 T1RDS33.116-33-15-6 e089e7-b95537 release-keys - RETAIL variant. # All unpinned blobs are extracted from fogos_g-user 14 U1UG34M.23-82-2 e82316 release-keys
# ADSP # ADSP
vendor/bin/adsprpcd vendor/bin/adsprpcd
@ -19,37 +19,23 @@ vendor/lib/rfsa/adsp/bm2n12.bin
vendor/lib/rfsa/adsp/bm2n13.bin vendor/lib/rfsa/adsp/bm2n13.bin
vendor/lib/rfsa/adsp/bm2n14.bin vendor/lib/rfsa/adsp/bm2n14.bin
vendor/lib/rfsa/adsp/bm2n15.bin vendor/lib/rfsa/adsp/bm2n15.bin
vendor/lib/rfsa/adsp/capi_v2_aptX_CLHDADV_Encoder.so vendor/lib/rfsa/adsp/capi_v2_aptX_CLHDAD_Encoder.so
vendor/lib/rfsa/adsp/capi_v2_aptX_CLHDAD_Speech_Decoder.so
vendor/lib/rfsa/adsp/libQ6MSFR_manager_skel.so
vendor/lib/rfsa/adsp/libQnnHtpV68Skel.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/libadsp_jpege_skel.so
vendor/lib/rfsa/adsp/libapps_mem_heap.so vendor/lib/rfsa/adsp/libapps_mem_heap.so
vendor/lib/rfsa/adsp/libarcsoft_hdrplus_se_hvx_skel.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/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_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/libhdr_skel.so vendor/lib/rfsa/adsp/libhdr_skel.so
vendor/lib/rfsa/adsp/libmctfengine_skel.so vendor/lib/rfsa/adsp/libmctfengine_skel.so
vendor/lib/rfsa/adsp/libmobilenet_dsp_frc.so vendor/lib/rfsa/adsp/libneat_1_1_skel.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/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
@ -87,9 +73,6 @@ vendor/lib64/soundfx/libqcreverb.so
vendor/lib64/soundfx/libqcvirt.so vendor/lib64/soundfx/libqcvirt.so
vendor/lib64/soundfx/libshoebox.so vendor/lib64/soundfx/libshoebox.so
# Authsecret
vendor/bin/hw/android.hardware.authsecret@1.0-service-qti
# Bluetooth # Bluetooth
vendor/bin/hw/android.hardware.bluetooth@1.0-service-qti 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
@ -132,7 +115,6 @@ vendor/lib64/libcdsprpc.so
vendor/bin/charge_only_mode vendor/bin/charge_only_mode
vendor/bin/hvdcp_opti vendor/bin/hvdcp_opti
vendor/etc/charger_fstab.qti vendor/etc/charger_fstab.qti
vendor/etc/charger_fw_fstab.qti
vendor/etc/init/vendor.qti.hardware.charger_monitor@1.0-service.rc vendor/etc/init/vendor.qti.hardware.charger_monitor@1.0-service.rc
# CNE # CNE
@ -204,16 +186,10 @@ vendor/lib/hw/vendor.qti.hardware.capabilityconfigstore@1.0-impl.so
vendor/lib64/hw/vendor.qti.hardware.capabilityconfigstore@1.0-impl.so vendor/lib64/hw/vendor.qti.hardware.capabilityconfigstore@1.0-impl.so
# CVP # CVP
vendor/etc/cvp/v2.0/facedetection/model1.dat
vendor/etc/cvp/v2.1/facedetection/model2.dat
vendor/lib/libcvp2_1.so
vendor/lib/libcvp_common.so vendor/lib/libcvp_common.so
vendor/lib/libcvp_util.so
vendor/lib/libcvpcpuRev_skel.so vendor/lib/libcvpcpuRev_skel.so
vendor/lib/vendor.qti.hardware.cvp@1.0.so vendor/lib/vendor.qti.hardware.cvp@1.0.so
vendor/lib64/libcvp2_1.so
vendor/lib64/libcvp_common.so vendor/lib64/libcvp_common.so
vendor/lib64/libcvp_util.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
@ -273,16 +249,13 @@ vendor/lib/vendor.qti.diaghal@1.0.so
vendor/lib64/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_stub.so
vendor/lib64/libhdr_tm.so vendor/lib64/libhdr_tm.so
# Display - HWC # Display - HWC
vendor/bin/qdcmss vendor/bin/qdcmss
vendor/etc/init/qdcmss.rc vendor/etc/init/qdcmss.rc
vendor/etc/snapdragon_color_libs_config.xml vendor/etc/snapdragon_color_libs_config.xml
vendor/lib64/libdpps.so
vendor/lib64/libhdrdynamic.so
vendor/lib64/libhdrdynamicootf.so
vendor/lib64/libqdcm-mode-parser.so vendor/lib64/libqdcm-mode-parser.so
vendor/lib64/libsnapdragoncolor-manager.so vendor/lib64/libsnapdragoncolor-manager.so
vendor/lib64/libsnapdragoncolor-qdcm.so vendor/lib64/libsnapdragoncolor-qdcm.so
@ -326,6 +299,11 @@ system_ext/etc/permissions/com.qti.dpmframework.xml
system_ext/etc/permissions/dpmapi.xml system_ext/etc/permissions/dpmapi.xml
system_ext/framework/com.qti.dpmframework.jar system_ext/framework/com.qti.dpmframework.jar
system_ext/framework/dpmapi.jar system_ext/framework/dpmapi.jar
system_ext/lib/com.qualcomm.qti.dpm.api@1.0.so
system_ext/lib/libdpmctmgr.so
system_ext/lib/libdpmfdmgr.so
system_ext/lib/libdpmframework.so
system_ext/lib/libdpmtcm.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
@ -339,11 +317,9 @@ 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/libGPreqcancel.so vendor/lib64/libGPreqcancel.so
vendor/lib64/libGPreqcancel_svc.so vendor/lib64/libGPreqcancel_svc.so
vendor/lib64/libQSEEComAPI.so vendor/lib64/libQSEEComAPI.so
@ -353,10 +329,8 @@ vendor/lib64/libdrmtime.so
vendor/lib64/libops.so vendor/lib64/libops.so
vendor/lib64/libqisl.so vendor/lib64/libqisl.so
vendor/lib64/librpmb.so vendor/lib64/librpmb.so
vendor/lib64/libspl.so
vendor/lib64/libssd.so vendor/lib64/libssd.so
vendor/lib64/libtzdrmgenprov.so vendor/lib64/libtzdrmgenprov.so
vendor/lib64/vendor.qti.hardware.qseecom@1.0.so
# EID # EID
vendor/bin/hw/vendor.qti.hardware.eid@1.0-service vendor/bin/hw/vendor.qti.hardware.eid@1.0-service
@ -433,8 +407,6 @@ vendor/lib/libadreno_utils.so
vendor/lib/libc2d30_bltlib.so vendor/lib/libc2d30_bltlib.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/lib64/egl/eglSubDriverAndroid.so vendor/lib64/egl/eglSubDriverAndroid.so
@ -452,19 +424,19 @@ vendor/lib64/libadreno_utils.so
vendor/lib64/libc2d30_bltlib.so vendor/lib64/libc2d30_bltlib.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
# Graphics - Adreno firmware # Graphics - Adreno firmware
vendor/firmware/a615_zap.b00
vendor/firmware/a615_zap.b01
vendor/firmware/a615_zap.b02
vendor/firmware/a615_zap.elf
vendor/firmware/a615_zap.mdt
vendor/firmware/a619_gmu.bin vendor/firmware/a619_gmu.bin
vendor/firmware/a630_sqe.fw vendor/firmware/a630_sqe.fw
vendor/firmware/a660_gmu.bin
vendor/firmware/a660_sqe.fw
vendor/firmware/a660_zap.b00
vendor/firmware/a660_zap.b01
vendor/firmware/a660_zap.b02
vendor/firmware/a660_zap.elf
vendor/firmware/a660_zap.mdt
vendor/gpu/kbc/sequence_manifest.bin vendor/gpu/kbc/sequence_manifest.bin
vendor/gpu/kbc/unified_kbcs_32.bin vendor/gpu/kbc/unified_kbcs_32.bin
vendor/gpu/kbc/unified_kbcs_64.bin vendor/gpu/kbc/unified_kbcs_64.bin
@ -475,8 +447,6 @@ vendor/lib/hw/vulkan.adreno.so
vendor/lib64/hw/vulkan.adreno.so vendor/lib64/hw/vulkan.adreno.so
# IO prefetcher # IO prefetcher
vendor/bin/hw/vendor.qti.hardware.iop@2.0-service
vendor/etc/init/vendor.qti.hardware.iop@2.0-service.rc
vendor/lib64/libqti-iopd-client.so vendor/lib64/libqti-iopd-client.so
vendor/lib64/libqti-iopd.so vendor/lib64/libqti-iopd.so
vendor/lib64/vendor.qti.hardware.iop@1.0.so vendor/lib64/vendor.qti.hardware.iop@1.0.so
@ -524,15 +494,13 @@ vendor/bin/hw/vendor.qti.media.c2@1.0-service
vendor/bin/init.qti.media.sh vendor/bin/init.qti.media.sh
vendor/etc/init/init.qti.media.rc 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/media/video_system_specs.json vendor/etc/media_blair/video_system_specs.json
vendor/etc/media_yupik_v0/video_system_specs.json vendor/etc/media_holi/video_system_specs.json
vendor/etc/media_yupik_v1/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/video_system_specs.json vendor/etc/video_system_specs.json
-vendor/etc/vintf/manifest/vendor.dolby.media.c2@1.0-service.xml vendor/etc/vintf/manifest/vendor.dolby.media.c2@1.0-service.xml
vendor/lib/libmmosal.so vendor/lib/libmmosal.so
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
@ -542,9 +510,13 @@ vendor/lib/libqcodec2_utils.so
vendor/lib/libqcodec2_v4l2codec.so vendor/lib/libqcodec2_v4l2codec.so
vendor/lib64/libmmosal.so vendor/lib64/libmmosal.so
# Neural networks # Media configs
vendor/lib64/libQnnHtp.so vendor/etc/media_blair_lite/video_system_specs.json
vendor/lib64/libQnnHtpV68Stub.so vendor/etc/media_blair/video_system_specs.json
vendor/etc/media_codecs_blair_lite.xml
vendor/etc/media_codecs_performance_blair_lite.xml
vendor/etc/media_holi/video_system_specs.json
vendor/etc/media_profiles_blair_lite.xml
# OEM # OEM
vendor/bin/motobox vendor/bin/motobox
@ -629,7 +601,6 @@ vendor/etc/lm/AdaptLaunchFeature.xml
vendor/etc/lm/AppClassifierFeature.xml vendor/etc/lm/AppClassifierFeature.xml
vendor/etc/lm/GameOptimizationFeature.xml vendor/etc/lm/GameOptimizationFeature.xml
vendor/etc/lm/PreKillFeature.xml vendor/etc/lm/PreKillFeature.xml
vendor/etc/lm/gPLAFFeature.xml
vendor/etc/lm/prekill/prekill_2GB.data vendor/etc/lm/prekill/prekill_2GB.data
vendor/etc/lm/prekill/prekill_4GB.data vendor/etc/lm/prekill/prekill_4GB.data
vendor/etc/lm/prekill/prekill_6GB.data vendor/etc/lm/prekill/prekill_6GB.data
@ -637,7 +608,6 @@ vendor/etc/lm/sPLHFeature.xml
vendor/lib64/libadaptlaunch.so vendor/lib64/libadaptlaunch.so
vendor/lib64/libappclassifier.so vendor/lib64/libappclassifier.so
vendor/lib64/libgameoptfeature.so vendor/lib64/libgameoptfeature.so
vendor/lib64/libgplaf.so
vendor/lib64/liblmutils-ns.so vendor/lib64/liblmutils-ns.so
vendor/lib64/libmemperfd.so vendor/lib64/libmemperfd.so
vendor/lib64/libmeters-ns.so vendor/lib64/libmeters-ns.so
@ -649,40 +619,35 @@ vendor/bin/pm-proxy
vendor/bin/pm-service vendor/bin/pm-service
vendor/lib64/libadropbox.so vendor/lib64/libadropbox.so
vendor/lib64/libperipheral_client.so vendor/lib64/libperipheral_client.so
vendor/lib64/libspcom.so
# Power-off alarm - from phone 1 - Nothing/Spacewar/Spacewar:11/RKQ1.211222.001/2401191910:user/release-keys # Power-off alarm
system_ext/app/PowerOffAlarm/PowerOffAlarm.apk|c31a2bdbed4398c95812ac2d3d0162d632055e00 system_ext/framework/vendor.qti.hardware.alarm-V1.0-java.jar
system_ext/framework/vendor.qti.hardware.alarm-V1.0-java.jar|2cff0d9993e6f51e7095f43eb71014eea7cd4ea2 vendor/bin/hw/vendor.qti.hardware.alarm@1.0-service
vendor/bin/hw/vendor.qti.hardware.alarm@1.0-service|7894b5b94626fe4f6beb0761dab8221295382258 vendor/bin/power_off_alarm
vendor/bin/power_off_alarm|4daf3facda380ea8ef31ad3b56f1d216eec4183a vendor/etc/init/vendor.qti.hardware.alarm@1.0-service.rc
vendor/etc/init/vendor.qti.hardware.alarm@1.0-service.rc|a03a9a1c818595b19272ea6ffb466e23a7fc3b05 vendor/lib64/hw/vendor.qti.hardware.alarm@1.0-impl.so
vendor/lib64/hw/vendor.qti.hardware.alarm@1.0-impl.so|0b5b86c7ea668197244b83dad4d686897b5e4fb4 vendor/lib64/vendor.qti.hardware.alarm@1.0.so
vendor/lib64/vendor.qti.hardware.alarm@1.0.so|8956937951c6f99727ace3380f46275e62c932c0
# QCC - System - from phone 1 - Nothing/Spacewar/Spacewar:11/RKQ1.211222.001/2401191910:user/release-keys # QCC
system_ext/bin/qccsyshal@1.2-service|1d3fa5feff11e463204d31927cfb659f707989e1 system_ext/bin/qccsyshal@1.2-service
system_ext/etc/init/vendor.qti.hardware.qccsyshal@1.2-service.rc|7279d09cf4d6f594dbab5c288ec16101bd668a95 system_ext/etc/init/vendor.qti.hardware.qccsyshal@1.2-service.rc
system_ext/lib64/libqcc_file_agent_sys.so|594caf0a2fba843dd34c87a7e4775cc1c25bc93a system_ext/lib/libqcc_file_agent_sys.so
system_ext/lib64/vendor.qti.hardware.qccsyshal@1.0.so|196bce8c481180705cc04074af4fd8362f15f6d9 system_ext/lib/vendor.qti.hardware.qccsyshal@1.0.so
system_ext/lib64/vendor.qti.hardware.qccsyshal@1.1.so|cb060471bccda79a173bd26f58aea0e7162d65eb system_ext/lib/vendor.qti.hardware.qccsyshal@1.1.so
system_ext/lib64/vendor.qti.hardware.qccsyshal@1.2-halimpl.so|9663f4512a1e33956a9a348ac19b139ddfe02ee6 system_ext/lib/vendor.qti.hardware.qccsyshal@1.2-halimpl.so
system_ext/lib64/vendor.qti.hardware.qccsyshal@1.2.so|db1ea124c0f42fcc1a814d69308d4f9522012e1b system_ext/lib/vendor.qti.hardware.qccsyshal@1.2.so
system_ext/lib64/libqcc_file_agent_sys.so
# QCC - vendor - from phone 1 - Nothing/Spacewar/Spacewar:11/RKQ1.211222.001/2401191910:user/release-keys system_ext/lib64/vendor.qti.hardware.qccsyshal@1.0.so
vendor/bin/hw/vendor.qti.hardware.qccvndhal@1.0-service|72637aa6e65e77b29bf270008281d82028a5185b system_ext/lib64/vendor.qti.hardware.qccsyshal@1.1.so
vendor/etc/init/vendor.qti.hardware.qccvndhal@1.0-service.rc|afeb332a4750a11587658fcc9a75a27f63bbccdd system_ext/lib64/vendor.qti.hardware.qccsyshal@1.2-halimpl.so
vendor/lib64/hw/vendor.qti.hardware.qccvndhal@1.0-impl.so|56b91c2addf67315bb4d992f816fe2607a942125 system_ext/lib64/vendor.qti.hardware.qccsyshal@1.2.so
vendor/lib64/libqcc_file_agent.so|9f7f6fade19994465c2c43a094200e5cf59752cd vendor/lib/vendor.qti.hardware.qccsyshal@1.0.so
vendor/lib64/vendor.qti.hardware.qccsyshal@1.0.so|dc270d1ec097a877374f23e5ba85cdfac19d9797 vendor/lib64/vendor.qti.hardware.qccsyshal@1.0.so
vendor/lib64/vendor.qti.hardware.qccvndhal@1.0-halimpl.so|b71ce8557c58ff13ee37408d4edc5570568ef4cb
vendor/lib64/vendor.qti.hardware.qccvndhal@1.0.so|26f7c4d097a7e21ef62f9218e0ccebc5cab00a3f
# 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/sec_config vendor/etc/sec_config
@ -744,11 +709,8 @@ vendor/lib64/hw/vendor.qti.hardware.servicetracker@1.2-impl.so
-product/app/uimgbaservice/uimgbaservice.apk -product/app/uimgbaservice/uimgbaservice.apk
product/etc/permissions/UimGba.xml product/etc/permissions/UimGba.xml
product/etc/permissions/UimGbaManager.xml product/etc/permissions/UimGbaManager.xml
product/etc/permissions/UimService.xml
product/framework/uimgbalibrary.jar product/framework/uimgbalibrary.jar
product/framework/uimgbamanagerlibrary.jar product/framework/uimgbamanagerlibrary.jar
product/framework/uimservicelibrary.jar
-system_ext/app/QtiTelephony/QtiTelephony.apk
-system_ext/app/QtiTelephonyService/QtiTelephonyService.apk -system_ext/app/QtiTelephonyService/QtiTelephonyService.apk
system_ext/etc/permissions/qcrilhook.xml system_ext/etc/permissions/qcrilhook.xml
system_ext/etc/permissions/qti_libpermissions.xml system_ext/etc/permissions/qti_libpermissions.xml
@ -761,6 +723,7 @@ vendor/bin/adpl
vendor/bin/hw/qcrilNrd vendor/bin/hw/qcrilNrd
vendor/bin/ks vendor/bin/ks
vendor/bin/mbm_spy vendor/bin/mbm_spy
vendor/bin/netmgrd
vendor/bin/pd-mapper vendor/bin/pd-mapper
vendor/bin/port-bridge vendor/bin/port-bridge
vendor/bin/qmi_motext_hook vendor/bin/qmi_motext_hook
@ -768,10 +731,7 @@ vendor/bin/qrtr-cfg
vendor/bin/qrtr-lookup vendor/bin/qrtr-lookup
vendor/bin/qrtr-ns vendor/bin/qrtr-ns
vendor/bin/qti vendor/bin/qti
vendor/bin/qtigetprop
vendor/bin/qtisetprop
vendor/bin/rmt_storage vendor/bin/rmt_storage
vendor/bin/shsusrd
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
@ -782,13 +742,11 @@ vendor/etc/init/ipa_fws.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/qcrilNrd.rc vendor/etc/init/qcrilNrd.rc
vendor/etc/init/shsusrd.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/qcrilNr.db
vendor/etc/qcril_database/upgrade/config/10.0_config.sql vendor/etc/qcril_database/upgrade/config/10.0_config.sql
vendor/etc/qcril_database/upgrade/config/11.0_config.sql vendor/etc/qcril_database/upgrade/config/11.0_config.sql
vendor/etc/qcril_database/upgrade/config/12.0_config.sql
vendor/etc/qcril_database/upgrade/config/6.0_config.sql 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/config/9.0_config.sql
vendor/etc/qcril_database/upgrade/ecc/0_initial.sql vendor/etc/qcril_database/upgrade/ecc/0_initial.sql
@ -822,10 +780,6 @@ vendor/etc/qcril_database/upgrade/ecc/37_version_qcrildb.sql
vendor/etc/qcril_database/upgrade/ecc/38_version_qcrildb.sql vendor/etc/qcril_database/upgrade/ecc/38_version_qcrildb.sql
vendor/etc/qcril_database/upgrade/ecc/39_version_qcrildb.sql vendor/etc/qcril_database/upgrade/ecc/39_version_qcrildb.sql
vendor/etc/qcril_database/upgrade/ecc/3_version_qcrildb.sql vendor/etc/qcril_database/upgrade/ecc/3_version_qcrildb.sql
vendor/etc/qcril_database/upgrade/ecc/40_version_qcrildb.sql
vendor/etc/qcril_database/upgrade/ecc/41_version_qcrildb.sql
vendor/etc/qcril_database/upgrade/ecc/42_version_qcrildb.sql
vendor/etc/qcril_database/upgrade/ecc/43_version_qcrildb.sql
vendor/etc/qcril_database/upgrade/ecc/4_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/5_version_qcrildb.sql
vendor/etc/qcril_database/upgrade/ecc/6_version_qcrildb.sql vendor/etc/qcril_database/upgrade/ecc/6_version_qcrildb.sql
@ -861,6 +815,7 @@ vendor/lib64/libqcrilNrLogger.so
vendor/lib64/libqcrilNrQtiBus.so vendor/lib64/libqcrilNrQtiBus.so
vendor/lib64/libqcrilNrQtiMutex.so vendor/lib64/libqcrilNrQtiMutex.so
vendor/lib64/libqcrildatactl.so vendor/lib64/libqcrildatactl.so
vendor/lib64/libqsap_sdk.so
vendor/lib64/libqmimotext.so vendor/lib64/libqmimotext.so
vendor/lib64/libqrtr.so vendor/lib64/libqrtr.so
vendor/lib64/libqrtrclient.so vendor/lib64/libqrtrclient.so
@ -900,15 +855,11 @@ 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
# RIL - Data - from dubai S1RDS32.55-106-3
vendor/bin/netmgrd|85718e6eac96b393848a4c70f3dc31acbb2f4374
# Ril - IMS (APK) # Ril - IMS (APK)
system/etc/permissions/moto-telephony.xml:system_ext/etc/permissions/moto-telephony.xml system/etc/permissions/moto-telephony.xml:system_ext/etc/permissions/moto-telephony.xml
system/framework/moto-telephony.jar:system_ext/framework/moto-telephony.jar system/framework/moto-telephony.jar:system_ext/framework/moto-telephony.jar
system_ext/lib64/libimsmedia_jni.so
# Radio - IMS (APK) - from patched source -system_ext/priv-app/ims/ims.apk
-system_ext/priv-app/ims/ims.apk|410414153e3b4b85c5e9f5b6f5c4fc6b98c2994b
# RIL - IMS # RIL - IMS
-system_ext/app/ImsRcsService/ImsRcsService.apk -system_ext/app/ImsRcsService/ImsRcsService.apk
@ -1022,6 +973,10 @@ vendor/lib/libscveObjectSegmentation.so
vendor/lib/libscveObjectSegmentation_stub.so vendor/lib/libscveObjectSegmentation_stub.so
vendor/lib/libscveObjectTracker.so vendor/lib/libscveObjectTracker.so
vendor/lib/libscveObjectTracker_stub.so vendor/lib/libscveObjectTracker_stub.so
vendor/lib/rfsa/adsp/libscveObjectSegmentation_skel.so
vendor/lib/rfsa/adsp/libscveT2T_skel.so
vendor/lib/vendor.qti.hardware.scve.objecttracker@1.0.so
vendor/lib/vendor.qti.hardware.scve.panorama@1.0.so
vendor/lib64/libfastcvdsp_stub.so vendor/lib64/libfastcvdsp_stub.so
-vendor/lib64/libfastcvopt.so -vendor/lib64/libfastcvopt.so
vendor/lib64/libscveCommon.so vendor/lib64/libscveCommon.so
@ -1030,6 +985,8 @@ vendor/lib64/libscveObjectSegmentation.so
vendor/lib64/libscveObjectSegmentation_stub.so vendor/lib64/libscveObjectSegmentation_stub.so
vendor/lib64/libscveObjectTracker.so vendor/lib64/libscveObjectTracker.so
vendor/lib64/libscveObjectTracker_stub.so vendor/lib64/libscveObjectTracker_stub.so
vendor/lib64/vendor.qti.hardware.scve.objecttracker@1.0.so
vendor/lib64/vendor.qti.hardware.scve.panorama@1.0.so
# Soter # Soter
vendor/bin/hw/vendor.qti.hardware.soter@1.0-service vendor/bin/hw/vendor.qti.hardware.soter@1.0-service
@ -1057,51 +1014,44 @@ 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/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/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/libsi.so
vendor/lib64/libtrustedapploader.so vendor/lib64/libtrustedapploader.so
vendor/lib64/vendor.qti.hardware.trustedui@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.1.so
vendor/lib64/vendor.qti.hardware.trustedui@1.2.so vendor/lib64/vendor.qti.hardware.trustedui@1.2.so
vendor/lib64/vendor.qti.hardware.tui_comm@1.0.so
# VPP # VPP
vendor/bin/hw/qconfigservice
vendor/bin/vppservice
vendor/etc/configstore/vpp.configstore.xml
vendor/etc/init/qconfig.rc
vendor/etc/init/vppservice.rc
vendor/lib/libqconfigclient.so
vendor/lib/libvppclient.so
vendor/lib/libvpphcp.so
vendor/lib/libvpphvx.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/lib/vendor.qti.hardware.vpp@2.0.so
vendor/lib64/libqconfigclient.so
vendor/lib64/libvppclient.so
vendor/lib64/libvpphcp.so
vendor/lib64/libvpphvx.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 vendor/lib64/vendor.qti.hardware.vpp@2.0.so
# VPU firmware # VPU firmware
vendor/firmware/vpu20_1v.b01
vendor/firmware/vpu20_1v.b02
vendor/firmware/vpu20_1v.b03
vendor/firmware/vpu20_1v.b04
vendor/firmware/vpu20_1v.b05
vendor/firmware/vpu20_1v.b06
vendor/firmware/vpu20_1v.b07
vendor/firmware/vpu20_1v.b08
vendor/firmware/vpu20_1v.b09
vendor/firmware/vpu20_1v.b10
vendor/firmware/vpu20_1v.b11
vendor/firmware/vpu20_1v.b12
vendor/firmware/vpu20_1v.b13
vendor/firmware/vpu20_1v.b14
vendor/firmware/vpu20_1v.b15
vendor/firmware/vpu20_1v.b16
vendor/firmware/vpu20_1v.b17
vendor/firmware/vpu20_1v.b18
vendor/firmware/vpu20_1v.b19
vendor/firmware/vpu20_1v.mbn
vendor/firmware/vpu20_1v.mdt
vendor/firmware/vpu20_1v_unsigned.mbn
vendor/firmware/vpu20_2v.b01 vendor/firmware/vpu20_2v.b01
vendor/firmware/vpu20_2v.b02 vendor/firmware/vpu20_2v.b02
vendor/firmware/vpu20_2v.b03 vendor/firmware/vpu20_2v.b03
@ -1156,7 +1106,6 @@ 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

0
rootdir/bin/init.class_main.sh Executable file → Normal file
View file

0
rootdir/bin/init.crda.sh Executable file → Normal file
View file

View file

@ -0,0 +1,240 @@
#=============================================================================
# Copyright (c) 2021 Qualcomm Technologies, Inc.
# All Rights Reserved.
# Confidential and Proprietary - Qualcomm Technologies, Inc.
#
# Copyright (c) 2012-2013, 2016-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.
#=============================================================================
function configure_zram_parameters() {
MemTotalStr=`cat /proc/meminfo | grep MemTotal`
MemTotal=${MemTotalStr:16:8}
# Zram disk - 75% for < 2GB devices .
# For >2GB devices, size = 50% of RAM size. Limit the size to 4GB.
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 [ -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 swappiness to 100 for all targets
echo 100 > /proc/sys/vm/swappiness
# 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
configure_zram_parameters
configure_read_ahead_kb_values
#Spawn 2 kswapd threads which can help in fast reclaiming of pages
echo 2 > /proc/sys/vm/kswapd_threads
}
# Core control parameters for silver
echo 0 0 0 0 1 1 > /sys/devices/system/cpu/cpu0/core_ctl/not_preferred
echo 4 > /sys/devices/system/cpu/cpu0/core_ctl/min_cpus
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 100 > /sys/devices/system/cpu/cpu0/core_ctl/offline_delay_ms
echo 8 > /sys/devices/system/cpu/cpu0/core_ctl/task_thres
# Enable Core control for Silver
echo 1 > /sys/devices/system/cpu/cpu0/core_ctl/enable
# Disable Core control on gold
echo 0 > /sys/devices/system/cpu/cpu6/core_ctl/enable
# Setting b.L scheduler parameters
echo 65 > /proc/sys/kernel/sched_downmigrate
echo 71 > /proc/sys/kernel/sched_upmigrate
echo 85 > /proc/sys/kernel/sched_group_downmigrate
echo 100 > /proc/sys/kernel/sched_group_upmigrate
echo 1 > /proc/sys/kernel/sched_walt_rotate_big_tasks
echo 0 > /proc/sys/kernel/sched_coloc_busy_hysteresis_enable_cpus
echo 0 > /proc/sys/kernel/sched_busy_hysteresis_enable_cpus
echo 5 > /proc/sys/kernel/sched_ravg_window_nr_ticks
# disable unfiltering
echo 20000000 > /proc/sys/kernel/sched_task_unfilter_period
# cpuset parameters
echo 0-5 > /dev/cpuset/background/cpus
echo 0-5 > /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 1113600 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/hispeed_freq
echo 576000 > /sys/devices/system/cpu/cpufreq/policy0/scaling_min_freq
# configure governor settings for gold cluster
echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy6/scaling_governor
echo 0 > /sys/devices/system/cpu/cpufreq/policy6/schedutil/down_rate_limit_us
echo 0 > /sys/devices/system/cpu/cpufreq/policy6/schedutil/up_rate_limit_us
echo 1228800 > /sys/devices/system/cpu/cpufreq/policy6/schedutil/hispeed_freq
echo 691200 > /sys/devices/system/cpu/cpufreq/policy6/scaling_min_freq
# Colocation V3 settings
echo 680000 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/rtg_boost_freq
echo 0 > /sys/devices/system/cpu/cpufreq/policy6/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
# sched_load_boost as -6 is equivalent to target load as 85. It is per cpu tunable.
echo -6 > /sys/devices/system/cpu/cpu6/sched_load_boost
echo -6 > /sys/devices/system/cpu/cpu7/sched_load_boost
echo 85 > /sys/devices/system/cpu/cpufreq/policy6/schedutil/hispeed_load
# configure input boost settings
echo "0:1113600" > /sys/devices/system/cpu/cpu_boost/input_boost_freq
echo 120 > /sys/devices/system/cpu/cpu_boost/input_boost_ms
# Enable bus-dcvs
for device in /sys/devices/platform/soc
do
for cpubw in $device/*cpu-cpu-ddr-bw/devfreq/*cpu-cpu-ddr-bw
do
cat $cpubw/available_frequencies | cut -d " " -f 1 > $cpubw/min_freq
echo "bw_hwmon" > $cpubw/governor
echo "762 1144 1720 2086 2597 2929 3879 5161 5931 6881 7980" > $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
# 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/*cpu6-cpu*latfloor/devfreq/*cpu6-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 DDR scaling
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
#Gold 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
#Gold CPU7 L3 ratio ceil
for l3gold in $device/*cpu7-cpu-l3-lat/devfreq/*cpu7-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
done
echo N > /sys/module/lpm_levels/parameters/sleep_disabled
configure_memory_parameters
setprop vendor.post_boot.parsed 1

View file

@ -0,0 +1,240 @@
#=============================================================================
# Copyright (c) 2020-2021 Qualcomm Technologies, Inc.
# All Rights Reserved.
# Confidential and Proprietary - Qualcomm Technologies, Inc.
#
# Copyright (c) 2012-2013, 2016-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.
#=============================================================================
function configure_zram_parameters() {
MemTotalStr=`cat /proc/meminfo | grep MemTotal`
MemTotal=${MemTotalStr:16:8}
# Zram disk - 75% for < 2GB devices .
# For >2GB devices, size = 50% of RAM size. Limit the size to 4GB.
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 [ -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 swappiness to 100 for all targets
echo 100 > /proc/sys/vm/swappiness
# 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
configure_zram_parameters
configure_read_ahead_kb_values
#Spawn 2 kswapd threads which can help in fast reclaiming of pages
echo 2 > /proc/sys/vm/kswapd_threads
}
# Core control parameters for silver
echo 0 0 0 0 1 1 > /sys/devices/system/cpu/cpu0/core_ctl/not_preferred
echo 4 > /sys/devices/system/cpu/cpu0/core_ctl/min_cpus
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 100 > /sys/devices/system/cpu/cpu0/core_ctl/offline_delay_ms
echo 8 > /sys/devices/system/cpu/cpu0/core_ctl/task_thres
# Enable Core control for Silver
echo 1 > /sys/devices/system/cpu/cpu0/core_ctl/enable
# Disable Core control on gold
echo 0 > /sys/devices/system/cpu/cpu6/core_ctl/enable
# Setting b.L scheduler parameters
echo 65 > /proc/sys/kernel/sched_downmigrate
echo 71 > /proc/sys/kernel/sched_upmigrate
echo 85 > /proc/sys/kernel/sched_group_downmigrate
echo 100 > /proc/sys/kernel/sched_group_upmigrate
echo 1 > /proc/sys/kernel/sched_walt_rotate_big_tasks
echo 0 > /proc/sys/kernel/sched_coloc_busy_hysteresis_enable_cpus
echo 0 > /proc/sys/kernel/sched_busy_hysteresis_enable_cpus
echo 5 > /proc/sys/kernel/sched_ravg_window_nr_ticks
# disable unfiltering
echo 20000000 > /proc/sys/kernel/sched_task_unfilter_period
# cpuset parameters
echo 0-3 > /dev/cpuset/background/cpus
echo 0-5 > /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 1190400 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/hispeed_freq
echo 576000 > /sys/devices/system/cpu/cpufreq/policy0/scaling_min_freq
# configure governor settings for gold cluster
echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy6/scaling_governor
echo 0 > /sys/devices/system/cpu/cpufreq/policy6/schedutil/down_rate_limit_us
echo 0 > /sys/devices/system/cpu/cpufreq/policy6/schedutil/up_rate_limit_us
echo 1248000 > /sys/devices/system/cpu/cpufreq/policy6/schedutil/hispeed_freq
echo 768000 > /sys/devices/system/cpu/cpufreq/policy6/scaling_min_freq
# Colocation V3 settings
echo 680000 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/rtg_boost_freq
echo 0 > /sys/devices/system/cpu/cpufreq/policy6/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
# sched_load_boost as -6 is equivalent to target load as 85. It is per cpu tunable.
echo -6 > /sys/devices/system/cpu/cpu6/sched_load_boost
echo -6 > /sys/devices/system/cpu/cpu7/sched_load_boost
echo 85 > /sys/devices/system/cpu/cpufreq/policy6/schedutil/hispeed_load
# configure input boost settings
echo "0:1190400" > /sys/devices/system/cpu/cpu_boost/input_boost_freq
echo 120 > /sys/devices/system/cpu/cpu_boost/input_boost_ms
# Enable bus-dcvs
for device in /sys/devices/platform/soc
do
for cpubw in $device/*cpu-cpu-ddr-bw/devfreq/*cpu-cpu-ddr-bw
do
cat $cpubw/available_frequencies | cut -d " " -f 1 > $cpubw/min_freq
echo "bw_hwmon" > $cpubw/governor
echo "1144 1720 2086 2929 3879 5931 6881 8137" > $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
# 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/*cpu6-cpu*latfloor/devfreq/*cpu6-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 DDR scaling
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
#Gold 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
#Gold CPU7 L3 ratio ceil
for l3gold in $device/*cpu7-cpu-l3-lat/devfreq/*cpu7-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
done
echo N > /sys/module/lpm_levels/parameters/sleep_disabled
configure_memory_parameters
setprop vendor.post_boot.parsed 1

View file

@ -1,369 +0,0 @@
#=============================================================================
# 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.
#
configure_zram_parameters
configure_read_ahead_kb_values
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

@ -1,387 +0,0 @@
#=============================================================================
# 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.
#
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
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

@ -1,364 +0,0 @@
#=============================================================================
# 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

63
rootdir/bin/init.kernel.post_boot.sh Executable file → Normal file
View file

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

0
rootdir/bin/init.mmi.boot.sh Executable file → Normal file
View file

2
rootdir/bin/init.mmi.touch.sh Executable file → Normal file
View file

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

2
rootdir/bin/init.oem.hw.sh Executable file → Normal file
View file

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

0
rootdir/bin/init.qcom.class_core.sh Executable file → Normal file
View file

0
rootdir/bin/init.qcom.coex.sh Executable file → Normal file
View file

4
rootdir/bin/init.qcom.early_boot.sh Executable file → Normal file
View file

@ -372,10 +372,6 @@ case "$target" in
;; ;;
518) 518)
;; ;;
*)
# default case is for bengal
setprop vendor.netflix.bsp_rev "Q6115-31409-1"
;;
esac esac
;; ;;
"sdm710" | "msmpeafowl") "sdm710" | "msmpeafowl")

52
rootdir/bin/init.qcom.post_boot.sh Executable file → Normal file
View file

@ -1060,7 +1060,8 @@ else
# wsf Range : 1..1000 So set to bare minimum value 1. # wsf Range : 1..1000 So set to bare minimum value 1.
echo 1 > /proc/sys/vm/watermark_scale_factor echo 1 > /proc/sys/vm/watermark_scale_factor
configure_zram_parameters # remove zram config here due to already configed in init.mmi
#configure_zram_parameters
configure_read_ahead_kb_values configure_read_ahead_kb_values
@ -1093,6 +1094,13 @@ function start_hbtp()
fi fi
} }
case "$target" in
"holi" )
echo 0-3 > /dev/cpuset/background/cpus
echo 1 > /sys/module/msm_show_resume_irq/parameters/debug_mask
;;
esac
case "$target" in case "$target" in
"msm7201a_ffa" | "msm7201a_surf" | "msm7627_ffa" | "msm7627_6x" | "msm7627a" | "msm7627_surf" | \ "msm7201a_ffa" | "msm7201a_surf" | "msm7627_ffa" | "msm7627_6x" | "msm7627a" | "msm7627_surf" | \
"qsd8250_surf" | "qsd8250_ffa" | "msm7630_surf" | "msm7630_1x" | "msm7630_fusion" | "qsd8650a_st1x") "qsd8250_surf" | "qsd8250_ffa" | "msm7630_surf" | "msm7630_1x" | "msm7630_fusion" | "qsd8650a_st1x")
@ -1101,6 +1109,36 @@ case "$target" in
;; ;;
esac esac
# For Kodiak target for which cdsp is defective, we read remote cdsp status from fastrpc node
# and if its value is false we disable cdsp daemon by setting the cdsp disable propety to true
case "$target" in
"lahaina")
if [ -f /sys/devices/soc0/chip_family ]; then
chip_family_id=`cat /sys/devices/soc0/chip_family`
else
chip_family_id=-1
fi
echo "adsprpc : chip_family_id : $chip_faily_id" > /dev/kmsg
case "$chip_family_id" in
"0x76")
if [ -f /sys/devices/platform/soc/soc:qcom,msm_fastrpc/remote_cdsp_status ]; then
remote_cdsp_status=`cat /sys/devices/platform/soc/soc:qcom,msm_fastrpc/remote_cdsp_status`
else
remote_cdsp_status=-1
fi
echo "adsprpc : remote_cdsp_status : $remote_cdsp_status" > /dev/kmsg
if [ $remote_cdsp_status -eq 0 ]; then
setprop vendor.fastrpc.disable.cdsprpcd.daemon 1
echo "adsprpc : Disabled cdsp daemon" > /dev/kmsg
fi
esac
;;
esac
case "$target" in case "$target" in
"msm7201a_ffa" | "msm7201a_surf") "msm7201a_ffa" | "msm7201a_surf")
echo 500000 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate echo 500000 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate
@ -5282,14 +5320,11 @@ case "$target" in
echo 85 85 > /proc/sys/kernel/sched_downmigrate echo 85 85 > /proc/sys/kernel/sched_downmigrate
echo 100 > /proc/sys/kernel/sched_group_upmigrate echo 100 > /proc/sys/kernel/sched_group_upmigrate
echo 10 > /proc/sys/kernel/sched_group_downmigrate echo 10 > /proc/sys/kernel/sched_group_downmigrate
echo 1 > /proc/sys/kernel/sched_walt_rotate_big_tasks
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
echo 0 > /proc/sys/kernel/sched_boost
# configure governor settings for silver cluster # configure governor settings for silver cluster
echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor
@ -5378,8 +5413,12 @@ case "$target" in
echo 0 > $npubw/bw_hwmon/idle_mbps echo 0 > $npubw/bw_hwmon/idle_mbps
echo 40 > $npubw/polling_interval echo 40 > $npubw/polling_interval
echo 0 > /sys/devices/virtual/npu/msm_npu/pwr echo 0 > /sys/devices/virtual/npu/msm_npu/pwr
done done
done done
fi
# Turn off scheduler boost at the end
echo 0 > /proc/sys/kernel/sched_boost
echo 1 > /proc/sys/kernel/sched_walt_rotate_big_tasks
# memlat specific settings are moved to seperate file under # memlat specific settings are moved to seperate file under
# device/target specific folder # device/target specific folder
@ -5427,7 +5466,6 @@ case "$target" in
configure_automotive_sku_parameters configure_automotive_sku_parameters
fi fi
fi fi
fi
;; ;;
esac esac

0
rootdir/bin/init.qcom.sensors.sh Executable file → Normal file
View file

0
rootdir/bin/init.qcom.sh Executable file → Normal file
View file

0
rootdir/bin/init.qti.chg_policy.sh Executable file → Normal file
View file

0
rootdir/bin/init.qti.kernel.sh Executable file → Normal file
View file

0
rootdir/bin/init.qti.qcv.sh Executable file → Normal file
View file

0
rootdir/bin/vendor_modprobe.sh Executable file → Normal file
View file

View file

@ -1,27 +1,53 @@
# Copyright (c) 2019-2020 The Linux Foundation. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted (subject to the limitations in the
# disclaimer below) 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.
#
# NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
# GRANTED BY THIS LICENSE. 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 AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
# IN NO EVENT SHALL THE COPYRIGHT HOLDER 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.
# Android fstab file. # Android fstab file.
# The filesystem that contains the filesystem checker binary (typically /system) cannot # The filesystem that contains the filesystem checker binary (typically /system) cannot
# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK # specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK
#TODO: Add 'check' as fs_mgr_flags with data partition. #<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
# Currently we dont have e2fsck compiled. So fs check would failed. system /system ext4 ro,discard wait,slotselect,avb=vbmeta_system,logical,first_stage_mount,avb_keys=/avb/q-gsi.avbpubkey:/avb/r-gsi.avbpubkey:/avb/s-gsi.avbpubkey
system_ext /system_ext ext4 ro,discard wait,slotselect,avb=vbmeta_system,logical,first_stage_mount
#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags> product /product ext4 ro,discard wait,slotselect,avb=vbmeta_system,logical,first_stage_mount
system /system ext4 ro,discard wait,slotselect,avb=vbmeta_system,logical,first_stage_mount,avb_keys=/avb/q-gsi.avbpubkey:/avb/r-gsi.avbpubkey:/avb/s-gsi.avbpubkey vendor /vendor ext4 ro,discard wait,slotselect,avb=vbmeta,logical,first_stage_mount
system_ext /system_ext ext4 ro,discard wait,slotselect,avb=vbmeta_system,logical,first_stage_mount /dev/block/by-name/metadata /metadata ext4 noatime,nosuid,nodev,discard,data=ordered,barrier=1 wait,check,formattable,first_stage_mount
product /product ext4 ro,discard wait,slotselect,avb=vbmeta_system,logical,first_stage_mount /dev/block/bootdevice/by-name/persist /mnt/vendor/persist ext4 noatime,nosuid,nodev,data=ordered,barrier=1 wait
vendor /vendor ext4 ro,discard wait,slotselect,avb,logical,first_stage_mount /dev/block/bootdevice/by-name/prodpersist /mnt/product/persist ext4 noatime,nosuid,nodev,data=ordered,barrier=1 wait,formattable,nofail
/dev/block/by-name/metadata /metadata ext4 noatime,nosuid,nodev,discard,data=ordered,barrier=1 wait,formattable,first_stage_mount,check /dev/block/bootdevice/by-name/userdata /data f2fs noatime,nosuid,nodev,discard,inlinecrypt,reserve_root=32768,resgid=1065,fsync_mode=nobarrier latemount,wait,check,formattable,fileencryption=aes-256-xts:aes-256-cts:v2+inlinecrypt_optimized+wrappedkey_v0,keydirectory=/metadata/vold/metadata_encryption,metadata_encryption=aes-256-xts:wrappedkey_v0,quota,sysfs_path=/sys/devices/platform/soc/4804000.ufshc,reservedsize=128M,checkpoint=fs
/dev/block/bootdevice/by-name/userdata /data f2fs noatime,nosuid,nodev,discard,reserve_root=32768,resgid=1065,fsync_mode=nobarrier,inlinecrypt latemount,wait,check,formattable,fileencryption=aes-256-xts:aes-256-cts:v2+inlinecrypt_optimized+wrappedkey_v0,metadata_encryption=aes-256-xts:wrappedkey_v0,keydirectory=/metadata/vold/metadata_encryption,quota,reservedsize=128M,sysfs_path=/sys/devices/platform/soc/1d84000.ufshc,checkpoint=fs /dev/block/bootdevice/by-name/misc /misc emmc defaults defaults
/devices/platform/soc/8804000.sdhci/mmc_host* auto auto defaults wait,voldmanaged=sdcard1:auto /devices/platform/soc/4784000.sdhci/mmc_host* /storage/sdcard1 vfat nosuid,nodev wait,voldmanaged=sdcard1:auto
/dev/block/bootdevice/by-name/modem /vendor/firmware_mnt ext4 ro,nosuid,nodev,context=u:object_r:firmware_file:s0 wait,slotselect /devices/platform/soc/*.ssusb/*.dwc3/xhci-hcd.*.auto* /storage/usbotg vfat nosuid,nodev wait,voldmanaged=usbotg:auto
/dev/block/bootdevice/by-name/dsp /vendor/dsp ext4 ro,nosuid,nodev,barrier=1 wait,slotselect /dev/block/bootdevice/by-name/modem /vendor/firmware_mnt ext4 ro,nosuid,nodev,context=u:object_r:firmware_file:s0 wait,slotselect
/dev/block/bootdevice/by-name/persist /mnt/vendor/persist ext4 noatime,nosuid,nodev,data=ordered,barrier=1 wait /dev/block/bootdevice/by-name/dsp /vendor/dsp ext4 ro,nosuid,nodev,barrier=1 wait,slotselect
/dev/block/bootdevice/by-name/prodpersist /mnt/product/persist ext4 noatime,nosuid,nodev,data=ordered,barrier=1 wait,formattable,nofail /dev/block/bootdevice/by-name/bluetooth /vendor/bt_firmware ext4 ro,nosuid,nodev,context=u:object_r:bt_firmware_file:s0 wait,slotselect
/dev/block/bootdevice/by-name/bluetooth /vendor/bt_firmware ext4 ro,nosuid,nodev,context=u:object_r:bt_firmware_file:s0 wait,slotselect /dev/block/bootdevice/by-name/fsg /vendor/fsg ext4 ro,nosuid,nodev,context=u:object_r:fsg_file:s0 wait,slotselect
/devices/platform/soc/*.ssusb/*.dwc3/xhci-hcd.*.auto* /storage/usbotg vfat nosuid,nodev wait,voldmanaged=usbotg:auto /dev/block/zram0 none swap defaults zramsize=75%
/dev/block/bootdevice/by-name/fsg /vendor/fsg ext4 ro,nosuid,nodev,context=u:object_r:fsg_file:s0 wait,slotselect
# Need to have this entry in here even though the mount point itself is no longer needed.
# The update_engine code looks for this entry in order to determine the boot device address
# and fails if it does not find it.
/dev/block/bootdevice/by-name/misc /misc emmc defaults defaults
/dev/block/zram0 none swap defaults zramsize=50%

View file

@ -12,7 +12,7 @@ on moto-charger
start vendor.thermal-com start vendor.thermal-com
start system_suspend start system_suspend
# Enable only CPU core 0 to keep current drain to a minimum # Enable only CPU core 0 to keep current drain to a minimum
write /sys/devices/system/cpu/cpu0/online 1 write /sys/devices/system/cpu/cpu0/online 1
write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor "interactive" write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor "interactive"
write /sys/devices/system/cpu/cpu1/online 0 write /sys/devices/system/cpu/cpu1/online 0
@ -22,7 +22,7 @@ on moto-charger
write /sys/devices/system/cpu/cpu5/online 0 write /sys/devices/system/cpu/cpu5/online 0
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
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

@ -1,31 +1,43 @@
# Charge only mode configuration # Charge only mode configuration
import /vendor/etc/init/hw/init.mmi.charge_only.rc import /vendor/etc/init/hw/init.mmi.charge_only.rc
on post-fs on property:ro.build.type=userdebug && property:ro.vendor.mot.gki.path=*
# MOT_LED_CALIBRATION insmod /vendor/lib/modules/${ro.vendor.mot.gki.path}/watchdogtest.ko
chown camera camera /mnt/vendor/persist/camera/mot_ledcal
on early-init on early-init && property:ro.bootmode=mot-factory
exec u:r:vendor_modprobe:s0 -- /vendor/bin/modprobe -a -d /vendor/lib/modules exfat insmod /vendor/lib/modules/moto_f_usbnet.ko
on property:ro.boot.default_usb_mode=device && property:vendor.usb.controller=*
setprop sys.usb.controller ${vendor.usb.controller}
write /sys/class/udc/${vendor.usb.controller}/device/../mode peripheral
on early-boot on early-boot
# Permission for Health Storage HAL # Permission for Health Storage HAL
chown system system /sys/devices/platform/soc/1d84000.ufshc/manual_gc chown system system /sys/devices/platform/soc/4804000.ufshc/manual_gc
chown system system /sys/devices/platform/soc/1d84000.ufshc/ufshid/trigger chown system system /sys/devices/platform/soc/4804000.ufshc/ufshid/trigger
#sync power supply with healthd #sync power supply with healthd
wait /sys/class/power_supply/battery wait /sys/class/power_supply/battery
wait /sys/class/power_supply/usb wait /sys/class/power_supply/usb
on early-boot && property:ro.boot.bm_ulog_enabled=1 on property:ro.build.type=userdebug
write /sys/module/bm_adsp_ulog/parameters/debug_enabled 1 setprop persist.vendor.qg.log_level 1
#Enable qpnp-qg debug_mask
#QG_DEBUG_PON | QG_DEBUG_STATUS | QG_DEBUG_IRQ | QG_DEBUG_PM | QG_DEBUG_ESR
write /sys/kernel/debug/qgauge/debug_mask 0x8A9
#Enable mmi_smbcharger_iio debug
write /sys/module/mmi_smbcharger_iio/parameters/debug_enabled Y
on charger && property:ro.boot.bm_ulog_enabled=1 on boot
write /sys/module/bm_adsp_ulog/parameters/debug_enabled 1 # Set adaptive charging perms for HAL
chown system system /sys/module/qpnp_adaptive_charge/parameters/upper_limit
chown system system /sys/module/qpnp_adaptive_charge/parameters/lower_limit
on property:sys.boot_completed=1 on property:sys.boot_completed=1
write /sys/devices/platform/soc/soc:mmi,charger/state_sync 1 write /sys/devices/platform/soc/soc:mmi,charger/state_sync 1
on post-fs && property:ro.vendor.build.motfactory=1
write /sys/devices/platform/soc/soc:mmi,charger/state_sync 1
wait /sys/class/power_supply/battery/device/factory_image_mode
write /sys/class/power_supply/battery/device/factory_image_mode 1
on property:vendor.boot_completed=1
start thermal-engine
on property:dev.bootcomplete=1
stop llkd-${ro.debuggable:-0}

View file

@ -8,6 +8,12 @@ on early-boot
write /sys/module/subsystem_restart/parameters/disable_restart_work 0x0 write /sys/module/subsystem_restart/parameters/disable_restart_work 0x0
on init on init
chown system log /sys/fs/pstore/console-ramoops-0
chmod 0440 /sys/fs/pstore/console-ramoops-0
chown system log /sys/fs/pstore/annotate-ramoops-0
chmod 0640 /sys/fs/pstore/annotate-ramoops-0
chown system log /sys/fs/pstore/dmesg-ramoops-0
chmod 0640 /sys/fs/pstore/dmesg-ramoops-0
chown system log /proc/driver/mmi_annotate chown system log /proc/driver/mmi_annotate
chmod 0640 /proc/driver/mmi_annotate chmod 0640 /proc/driver/mmi_annotate
@ -243,8 +249,8 @@ on post-fs-data
#Folder for hardware properties #Folder for hardware properties
mkdir /data/vendor/hardware_revisions 0755 system system mkdir /data/vendor/hardware_revisions 0755 system system
# Imager tuning data for camera subsystem # Imager tuning metadata for camera subsystem
mkdir /data/vendor/misc/imager 0771 camera camera mkdir /data/vendor/misc/imager/metadata 0771 camera camera
# NFC vendor data # NFC vendor data
mkdir /data/vendor/nfc 0770 nfc nfc mkdir /data/vendor/nfc 0770 nfc nfc
@ -364,6 +370,20 @@ service vendor.hal-fps-sh /vendor/bin/init.oem.fingerprint2.sh
group system group system
oneshot oneshot
service fpc_ident /vendor/bin/hw/fpc_ident
class late_start
user system
group system
oneshot
disabled
service egis_ident /vendor/bin/hw/egis_ident
class late_start
user system
group system
oneshot
disabled
service vendor.touch-dead-sh /vendor/bin/init.oem.hw.sh -f service vendor.touch-dead-sh /vendor/bin/init.oem.hw.sh -f
class main class main
user root user root

View file

@ -24,9 +24,13 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# #
# Changes from Qualcomm Innovation Center are provided under the following license:
# Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
# SPDX-License-Identifier: BSD-3-Clause-Clear
#
import /vendor/etc/init/hw/init.target.rc
import /vendor/etc/init/hw/init.qcom.usb.rc import /vendor/etc/init/hw/init.qcom.usb.rc
import /vendor/etc/init/hw/init.target.rc
on early-init on early-init
mount debugfs debugfs /sys/kernel/debug mount debugfs debugfs /sys/kernel/debug
@ -72,7 +76,6 @@ on init
write /sys/fs/cgroup/memory/bg/memory.swappiness 140 write /sys/fs/cgroup/memory/bg/memory.swappiness 140
write /sys/fs/cgroup/memory/bg/memory.move_charge_at_immigrate 1 write /sys/fs/cgroup/memory/bg/memory.move_charge_at_immigrate 1
chown root system /sys/fs/cgroup/memory/bg/tasks chown root system /sys/fs/cgroup/memory/bg/tasks
write /sys/kernel/icnss/wpss_boot 1
chmod 0660 /sys/fs/cgroup/memory/bg/tasks chmod 0660 /sys/fs/cgroup/memory/bg/tasks
on post-fs on post-fs
@ -184,9 +187,7 @@ on boot
# bond0 used by FST Manager # bond0 used by FST Manager
chown wifi wifi /sys/class/net/bond0/bonding/queue_id chown wifi wifi /sys/class/net/bond0/bonding/queue_id
# Allow access to emmc rawdump block partition and dload sysfs node # Allow access to emmc 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 chown root system /sys/kernel/dload/emmc_dload
chmod 0660 /sys/kernel/dload/emmc_dload chmod 0660 /sys/kernel/dload/emmc_dload
chown root system /dev/block/bootdevice/by-name/ramdump chown root system /dev/block/bootdevice/by-name/ramdump
@ -233,7 +234,7 @@ on post-fs-data
# Create directory used by display clients # Create directory used by display clients
mkdir /data/vendor/display 0770 system graphics mkdir /data/vendor/display 0770 system graphics
# Change lm related dirs # Change lm related dirs
mkdir /data/vendor/lm 0700 root root mkdir /data/vendor/lm 0700 root root
@ -241,7 +242,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
@ -335,14 +336,14 @@ on post-fs-data
#Create FM dir for patchdownloader #Create FM dir for patchdownloader
mkdir /data/vendor/fm 0770 system system mkdir /data/vendor/fm 0770 system system
chmod 0770 /data/vendor/fm chmod 0770 /data/vendor/fm
#Create PERFD deamon related dirs #Create PERFD deamon related dirs
mkdir /data/vendor/perfd 0770 root system mkdir /data/vendor/perfd 0770 root system
chmod 2770 /data/vendor/perfd chmod 2770 /data/vendor/perfd
rm /data/vendor/perfd/default_values rm /data/vendor/perfd/default_values
mkdir /data/vendor/secure_element 0777 system system mkdir /data/vendor/secure_element 0777 system system
#Create IOP deamon related dirs #Create IOP deamon related dirs
mkdir /data/vendor/iop 0700 root system mkdir /data/vendor/iop 0700 root system
@ -390,6 +391,13 @@ on post-fs-data
#Create dir for TUI #Create dir for TUI
mkdir /data/vendor/tui 0700 system drmrpc mkdir /data/vendor/tui 0700 system drmrpc
service iop /system/vendor/bin/iop
class main
user root
group root
disabled
socket iop seqpacket 0666 root system
on property:ro.vendor.hw.dualsim=true on property:ro.vendor.hw.dualsim=true
setprop persist.vendor.radio.multisim.config dsds setprop persist.vendor.radio.multisim.config dsds

View file

@ -29,6 +29,7 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#============================================================================= #=============================================================================
import /vendor/etc/init/hw/init.qti.kernel.test.rc
on early-init on early-init
mount debugfs debugfs /sys/kernel/debug mount debugfs debugfs /sys/kernel/debug
@ -81,9 +82,7 @@ on boot
# Set the default message loglevel to KERN_INFO # Set the default message loglevel to KERN_INFO
write /proc/sys/kernel/printk "4 6 1 7" write /proc/sys/kernel/printk "4 6 1 7"
# Allow access to emmc rawdump block partition and dload sysfs node # Allow access to 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 chown root system /sys/kernel/dload/emmc_dload
chmod 0660 /sys/kernel/dload/emmc_dload chmod 0660 /sys/kernel/dload/emmc_dload
chown root system /dev/block/bootdevice/by-name/ramdump chown root system /dev/block/bootdevice/by-name/ramdump

View file

@ -1,5 +1,5 @@
# Copyright (c) 2019-2020, The Linux Foundation. All rights reserved. # Copyright (c) 2019-2020, The Linux Foundation. All rights reserved.
# Copyright (c) 2022, Qualcomm Innovation Center, Inc. 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
@ -30,10 +30,10 @@
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 import /vendor/etc/init/hw/init.qti.kernel.rc
on early-init on early-init
exec u:r:vendor_modprobe:s0 -- /vendor/bin/vendor_modprobe.sh exec_background 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 exec_background 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_lpi_dlkm swr_dlkm platform_dlkm stub_dlkm wcd_core_dlkm wsa881x_analog_dlkm bolero_cdc_dlkm va_macro_dlkm rx_macro_dlkm tx_macro_dlkm bt_fm_slim wcd938x_dlkm wcd938x_slave_dlkm wcd937x_dlkm wcd937x_slave_dlkm machine_dlkm radio-i2c-rtc6226-qca cdsprm
exec u:r:vendor_qti_init_shell:s0 -- /vendor/bin/init.qti.early_init.sh
write /proc/sys/kernel/sched_boost 1 write /proc/sys/kernel/sched_boost 1
wait /sys/devices/soc0/soc_id wait /sys/devices/soc0/soc_id
@ -65,8 +65,6 @@ on init
wait /dev/block/platform/soc/${ro.boot.bootdevice} wait /dev/block/platform/soc/${ro.boot.bootdevice}
symlink /dev/block/platform/soc/${ro.boot.bootdevice} /dev/block/bootdevice symlink /dev/block/platform/soc/${ro.boot.bootdevice} /dev/block/bootdevice
chown system system /sys/devices/platform/soc/1d84000.ufshc/auto_hibern8
chmod 0660 /sys/devices/platform/soc/1d84000.ufshc/auto_hibern8
start logd start logd
on early-fs on early-fs
@ -74,17 +72,13 @@ on early-fs
on fs on fs
start hwservicemanager start hwservicemanager
mkdir /mnt/vendor/spunvm 0660 system system
mount_all --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
mkdir /mnt/vendor/persist/wlan 0700 system system
on fs && property:ro.boot.product.vendor.sku=lahaina chmod 0700 /mnt/vendor/persist/wlan
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
@ -95,8 +89,6 @@ on late-fs
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
write /sys/devices/platform/soc/b0000000.qcom,cnss-qca6490/fs_ready 1
on early-boot on early-boot
start vendor.sensors start vendor.sensors
@ -106,36 +98,13 @@ on boot
# set default schedTune value for camera-daemon # set default schedTune value for camera-daemon
write /dev/stune/camera-daemon/schedtune.prefer_idle 1 write /dev/stune/camera-daemon/schedtune.prefer_idle 1
write /dev/stune/camera-daemon/schedtune.boost 0 write /dev/stune/camera-daemon/schedtune.boost 0
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_mdm" setprop vendor.usb.qdss.inst.name "qdss_mdm"
setprop vendor.usb.controller a600000.dwc3 setprop vendor.usb.controller 4e00000.dwc3
#Load WLAN driver
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}
@ -147,7 +116,7 @@ on init && property:ro.boot.mode=charger
on charger on charger
start vendor.power_off_alarm start vendor.power_off_alarm
setprop sys.usb.controller a600000.dwc3 setprop sys.usb.controller 4e00000.dwc3
setprop sys.usb.configfs 1 setprop sys.usb.configfs 1
service vendor.lowi /vendor/bin/lowirpcd service vendor.lowi /vendor/bin/lowirpcd
@ -177,7 +146,7 @@ service vendor.per_proxy /vendor/bin/pm-proxy
#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 system wakelock
# 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
@ -189,16 +158,3 @@ 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
#fan-controller
service fan_control_turn_on /vendor/bin/fan_control 1
class late_start
user root
disabled
oneshot
service fan_control_turn_off /vendor/bin/fan_control 0
class late_start
user root
disabled
oneshot

View file

@ -72,6 +72,7 @@ firmware_directories /vendor/firmware_mnt/image/
/dev/smd2 0660 bluetooth bluetooth /dev/smd2 0660 bluetooth bluetooth
/dev/smd3 0660 bluetooth bluetooth /dev/smd3 0660 bluetooth bluetooth
/dev/btpower 0660 bluetooth system /dev/btpower 0660 bluetooth system
/dev/btfmslim 0660 bluetooth system
#permissions for pta #permissions for pta
/dev/pta 0660 system system /dev/pta 0660 system system
@ -173,10 +174,15 @@ firmware_directories /vendor/firmware_mnt/image/
#qvr #qvr
/dev/qvr_external_sensor_ioctl 0660 system system /dev/qvr_external_sensor_ioctl 0660 system system
/sys/kernel/qvr_external_sensor/fd 0660 system system
/dev/bus/usb/* 0660 root usb /dev/bus/usb/* 0660 root usb
/dev/hidraw* 0660 root usb /dev/hidraw* 0660 root usb
#rawdump
/dev/block/platform/soc/*/by-name/rawdump 0660 root system
# Trustonic TEE device
/dev/mobicore 0600 system system
/dev/mobicore-user 0666 system system
# wlan # wlan
/dev/wcnss_wlan 0660 system system /dev/wcnss_wlan 0660 system system
/dev/wcnss_ctrl 0660 system system /dev/wcnss_ctrl 0660 system system
@ -293,7 +299,6 @@ firmware_directories /vendor/firmware_mnt/image/
/sys/devices/virtual/input/input* enable_ps_sensor 0660 system input /sys/devices/virtual/input/input* enable_ps_sensor 0660 system input
/sys/devices/virtual/input/input* set_delay_ms 0660 system input /sys/devices/virtual/input/input* set_delay_ms 0660 system input
/sys/devices/virtual/input/input* do_flush 0660 system input /sys/devices/virtual/input/input* do_flush 0660 system input
/dev/stmvl53l5 0660 system camera
# vm_bms # vm_bms
/dev/vm_bms 0660 system system /dev/vm_bms 0660 system system
@ -381,6 +386,13 @@ firmware_directories /vendor/firmware_mnt/image/
# Kmsg device # Kmsg device
/dev/kmsg 0620 root system /dev/kmsg 0620 root system
# I2C
/dev/i2c-* 0660 system system
# change permission for some capsensor nodes
/sys/class/sensors/Moto\ CapSense\ Ch* enable 0660 root input
/sys/class/sensors/Moto\ CapSense\ Ch* poll_delay 0660 root input
# LED class devices # LED class devices
/sys/class/leds/red delay_on 0640 system system /sys/class/leds/red delay_on 0640 system system
/sys/class/leds/red delay_off 0640 system system /sys/class/leds/red delay_off 0640 system system
@ -394,10 +406,6 @@ firmware_directories /vendor/firmware_mnt/image/
/sys/class/leds/blue delay_off 0640 system system /sys/class/leds/blue delay_off 0640 system system
/sys/class/leds/blue breath 0640 system system /sys/class/leds/blue breath 0640 system system
/sys/class/leds/blue trigger 0640 system system /sys/class/leds/blue trigger 0640 system system
/sys/class/leds/charging delay_on 0640 system system
/sys/class/leds/charging delay_off 0640 system system
/sys/class/leds/charging breath 0640 system system
/sys/class/leds/charging trigger 0640 system system
# NPU device # NPU device
/dev/msm_npu 0644 system system /dev/msm_npu 0644 system system
@ -510,9 +518,3 @@ firmware_directories /vendor/firmware_mnt/image/
# socinfo # socinfo
/sys/devices/soc0 serial_number 0000 root root /sys/devices/soc0 serial_number 0000 root root
# I2C
/dev/i2c-* 0660 system system
# NFC ST Driver permissions
/dev/st21nfc 0660 nfc nfc

View file

@ -25,7 +25,7 @@ source "${HELPER}"
setup_vendor "${DEVICE_COMMON}" "${VENDOR_COMMON:-$VENDOR}" "${ANDROID_ROOT}" true setup_vendor "${DEVICE_COMMON}" "${VENDOR_COMMON:-$VENDOR}" "${ANDROID_ROOT}" true
# Warning headers and guards # Warning headers and guards
write_headers "berlin berlna dubai xpeng" write_headers "bangkk fogos"
# The standard common blobs # The standard common blobs
write_makefiles "${MY_DIR}/proprietary-files.txt" true write_makefiles "${MY_DIR}/proprietary-files.txt" true

View file

@ -20,7 +20,7 @@ import os
import sys import sys
from hashlib import sha1 from hashlib import sha1
device='sm7325-common' device='sm6375-common'
vendor='motorola' vendor='motorola'
with open('proprietary-files.txt', 'r') as f: with open('proprietary-files.txt', 'r') as f:

View file

@ -303,7 +303,7 @@ sys.vendor.shutdown.waittime=500
# SOC # SOC
ro.soc.manufacturer=QTI ro.soc.manufacturer=QTI
ro.soc.model=SM7325 ro.soc.model=SM6375
# Stagefright # Stagefright
debug.stagefright.c2inputsurface=-1 debug.stagefright.c2inputsurface=-1

View file

@ -1,6 +1,9 @@
# 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
# enable channel bonding mode 24GHZ
gChannelBondingMode24GHz=1
# IKSWO-42425: Enable user triggered SSR # IKSWO-42425: Enable user triggered SSR
gEnableForceTargetAssert=1 gEnableForceTargetAssert=1
@ -10,15 +13,19 @@ gEnableImps=1
# Enable BMPS or not # Enable BMPS or not
gEnableBmps=1 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-9, with 0 = Auto, 4 = 11n, 9 = 11ac # Valid values are 0-9, with 0 = Auto, 4 = 11n, 9 = 11ac
# 1 = 11abg, 2 = 11b, 3 = 11g, 5 = 11g only, 6 = 11n only # 1 = 11abg, 2 = 11b, 3 = 11g, 5 = 11g only, 6 = 11n only
# 7 = 11b only 8 = 11ac only. # 7 = 11b only 8 = 11ac only.
gDot11Mode=0 gDot11Mode=0
# Assigned MAC Addresses - This will be used until NV items are in place
# Each byte of MAC address is represented in Hex format as XX
Intf0MacAddress=000AF58989FF
Intf1MacAddress=000AF58989FE
Intf2MacAddress=000AF58989FD
Intf3MacAddress=000AF58989FC
# UAPSD service interval for VO,VI, BE, BK traffic # UAPSD service interval for VO,VI, BE, BK traffic
InfraUapsdVoSrvIntv=0 InfraUapsdVoSrvIntv=0
InfraUapsdViSrvIntv=0 InfraUapsdViSrvIntv=0
@ -28,6 +35,10 @@ 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
# Flags to filter Mcast and Bcast RX packets.
# Value 0: No filtering, 1: Filter all Multicast.
# 2: Filter all Broadcast. 3: Filter all Mcast abd Bcast
McastBcastFilter=3
#Flag to enable HostARPOffload feature or not #Flag to enable HostARPOffload feature or not
hostArpOffload=1 hostArpOffload=1
@ -44,6 +55,9 @@ gEnableApOBSSProt=1
#Enable/Disable UAPSD for SoftAP #Enable/Disable UAPSD for SoftAP
gEnableApUapsd=1 gEnableApUapsd=1
# Fixed Rate
gFixedRate=0
# Maximum Tx power # Maximum Tx power
# gTxPowerCap=30 # gTxPowerCap=30
@ -66,7 +80,7 @@ g11dSupportEnabled=0
g11hSupportEnabled=1 g11hSupportEnabled=1
# DFS Master Capability # DFS Master Capability
gEnableDFSMasterCap=1 gEnableDFSMasterCap=0
# ESE Support and fast transition # ESE Support and fast transition
EseEnabled=0 EseEnabled=0
@ -76,6 +90,8 @@ ImplicitQosIsEnabled=0
gNeighborScanTimerPeriod=200 gNeighborScanTimerPeriod=200
gNeighborLookupThreshold=76 gNeighborLookupThreshold=76
gNeighborScanChannelMinTime=20 gNeighborScanChannelMinTime=20
gNeighborScanChannelMaxTime=30
gMaxNeighborReqTries=3
# 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
@ -96,9 +112,18 @@ gRoamIntraBand=0
gShortGI20Mhz=1 gShortGI20Mhz=1
gShortGI40Mhz=1 gShortGI40Mhz=1
#Auto Shutdown Value in seconds. A value of 0 means Auto shutoff is disabled
gAPAutoShutOff=0
#Auto Shutdown wlan : Value in Seconds. 0 means disabled. Max 1 day = 86400 sec #Auto Shutdown wlan : Value in Seconds. 0 means disabled. Max 1 day = 86400 sec
gWlanAutoShutdown = 0 gWlanAutoShutdown = 0
# Not used.
gApAutoChannelSelection=0
#Preferred band (both or 2.4 only or 5 only)
BandCapability=0
#Channel Bonding #Channel Bonding
gChannelBondingMode5GHz=1 gChannelBondingMode5GHz=1
@ -127,6 +152,10 @@ gChannelBondingMode5GHz=1
gGoKeepAlivePeriod = 20 gGoKeepAlivePeriod = 20
gApKeepAlivePeriod = 20 gApKeepAlivePeriod = 20
#If set will start with active scan after driver load, otherwise will start with
#passive scan to find out the domain
gEnableBypass11d=1
#If set to 0, will not scan DFS channels #If set to 0, will not scan DFS channels
gEnableDFSChnlScan=1 gEnableDFSChnlScan=1
@ -151,6 +180,7 @@ gSetRxChainmask1x1=1
# gPassiveMaxChannelTime=110 # gPassiveMaxChannelTime=110
# gPassiveMinChannelTime=60 # gPassiveMinChannelTime=60
gActiveMaxChannelTime=40 gActiveMaxChannelTime=40
gActiveMinChannelTime=20
#If set to 0, MCC is not allowed. #If set to 0, MCC is not allowed.
gEnableMCCMode=1 gEnableMCCMode=1
@ -189,9 +219,17 @@ gEnableTxSUBeamformer=1
gEnableFastRoamInConcurrency=1 gEnableFastRoamInConcurrency=1
#Enable/Disable PER based roaming
gper_roam_enabled=0
#Maxium Channel time in msec
gMaxMediumTime = 6000
# 802.11K support # 802.11K support
gRrmEnable=1 gRrmEnable=1
#Enable Power Save offload
gEnablePowerSaveOffload=2
#Enable firmware uart print #Enable firmware uart print
gEnablefwprint=0 gEnablefwprint=0
@ -245,6 +283,9 @@ ssdp=0
#Enable Memory Deep Sleep #Enable Memory Deep Sleep
gEnableMemDeepSleep=1 gEnableMemDeepSleep=1
# Regulatory Setting; 0=STRICT; 1=CUSTOM
gRegulatoryChangeCountry=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.
@ -256,7 +297,11 @@ gMaxConcurrentActiveSessions=3
# Disable/Enable GreenAP # Disable/Enable GreenAP
# 0 to disable, 1 to enable, default: 1 # 0 to disable, 1 to enable, default: 1
gEnableGreenAp=0 gEnableGreenAp=1
gIgnorePeerErpInfo=1
# Radar PRI multiplier
gDFSradarMappingPriMultiplier=4
gPNOScanSupport=1 gPNOScanSupport=1
@ -274,6 +319,11 @@ gEnableSifsBurst=1
# 1=Enable (default), 0=Disable # 1=Enable (default), 0=Disable
gEnableMuBformee=1 gEnableMuBformee=1
# Enable/Disable channel avoidance for SAP in SCC scenario
# 0 - disable
# 1 - enable
gSapSccChanAvoidance=0
# Inactivity time (in ms) to end TX Service Period while in IBSS power save mode # Inactivity time (in ms) to end TX Service Period while in IBSS power save mode
gIbssTxSpEndInactivityTime=10 gIbssTxSpEndInactivityTime=10
@ -294,7 +344,11 @@ gTDLSExternalControl=1
# 1 - enable # 1 - enable
# TDLS off-channel operation will be invoked when there is only one # TDLS off-channel operation will be invoked when there is only one
# TDLS connection. # TDLS connection.
gEnableTDLSOffChannel=1 gEnableTDLSOffChannel=0
gEnableTDLSScan=1
gTDLSTxStatsPeriod=500
gTDLSTxPacketThreshold=10
gTDLSIdlePacketThreshold=1
# Enable or Disable Random MAC (Spoofing) # Enable or Disable Random MAC (Spoofing)
# 1=Enable (default), 0=Disable # 1=Enable (default), 0=Disable
@ -334,14 +388,6 @@ gVhtTxMCS2x2=2
gIPAConfig=0x7d gIPAConfig=0x7d
gIPADescSize=800 gIPADescSize=800
# Set IPA bandwidth levels in mbps
gIPALowBandwidthMbps=100
gIPAMediumBandwidthMbps=400
gIPAHighBandwidthMbps=800
# Set CPU mask for RPS Rx queue
rpsRxQueueCpuMapList=07
# Enable/Disable RX full reorder offload # Enable/Disable RX full reorder offload
gReorderOffloadSupported=1 gReorderOffloadSupported=1
@ -351,7 +397,7 @@ gCEClassifyEnable=1
# Enable Rx handling options # Enable Rx handling options
# Rx_thread=1 RPS=2(default for ROME) NAPI=4(default for ihelium) # Rx_thread=1 RPS=2(default for ROME) NAPI=4(default for ihelium)
rx_mode=20 rx_mode=5
# Enable(Tx) fastpath for data traffic. # Enable(Tx) fastpath for data traffic.
# 1 - enable(default) 0 - disable # 1 - enable(default) 0 - disable
@ -392,6 +438,11 @@ maxMSDUsPerRxInd=8
# 1 - enable 0 - disable(default) # 1 - enable 0 - disable(default)
gEnableNUDTracking=1 gEnableNUDTracking=1
# Enable PEER UNMAP CONF SUPPORT
# 1 - enable 0 - disable(default)
gEnablePeerUnmapConfSupport=1
rpsRxQueueCpuMapList=f3
################ Datapath feature set End ################ ################ Datapath feature set End ################
################ NAN feature set start ################### ################ NAN feature set start ###################
@ -430,56 +481,13 @@ enable_rtt_mac_randomization=1
#Enable/Disable SNR monitoring #Enable/Disable SNR monitoring
gEnableSNRMonitoring=1 gEnableSNRMonitoring=1
# Enable Runtime PM
gRuntimePM=2
gRuntimePMDelay=500
# Rx thread affinity mask in UL case # Rx thread affinity mask in UL case
RX_THREAD_UL_CPU_AFFINITY_MASK=0xc0 RX_THREAD_UL_CPU_AFFINITY_MASK=0xc0
AutoChannelSelectWeight=0x00fafafa # Packet Log buffer size
PktlogBufSize=1
bcast_twt=1 # Enable SRD channel
etsi13_srd_chan_in_master_mode=1
dp_tx_ring_size=3072
gWmiCreditCount=1
# 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
# Enable SRD channel for all modes
etsi13_srd_chan_in_master_mode=7
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

@ -2,5 +2,3 @@ disable_scan_offload=1
p2p_no_group_iface=1 p2p_no_group_iface=1
persistent_reconnect=1 persistent_reconnect=1
bss_max_count=400 bss_max_count=400
p2p_go_he=1
p2p_6ghz_disable=1

View file

@ -7,4 +7,3 @@ 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