diff --git a/Android.mk b/Android.mk new file mode 100644 index 0000000..76f6589 --- /dev/null +++ b/Android.mk @@ -0,0 +1,5 @@ +LOCAL_PATH := $(call my-dir) +ifeq ($(TARGET_DEVICE),bhima) +include $(call all-makefiles-under,$(LOCAL_PATH)) +include $(CLEAR_VARS) +endif \ No newline at end of file diff --git a/AndroidProducts.mk b/AndroidProducts.mk new file mode 100644 index 0000000..da128f2 --- /dev/null +++ b/AndroidProducts.mk @@ -0,0 +1,2 @@ +PRODUCT_MAKEFILES := \ + $(LOCAL_DIR)/lineage_bhima.mk \ No newline at end of file diff --git a/BoardConfig.mk b/BoardConfig.mk new file mode 100644 index 0000000..46b28e9 --- /dev/null +++ b/BoardConfig.mk @@ -0,0 +1,43 @@ +DEVICE_PATH := device/xiaomi/bhima +BOARD_VENDOR := xiaomi + +# Security patch level +VENDOR_SECURITY_PATCH := 2021-03-01 + +# HIDL +DEVICE_MANIFEST_FILE := $(DEVICE_PATH)/manifest.xml +DEVICE_MANIFEST_FILE += $(DEVICE_PATH)/android.hardware.atrace@1.0-service.xml +DEVICE_MANIFEST_FILE += $(DEVICE_PATH)/android.hardware.biometrics.fingerprint@2.1-service.xml +DEVICE_MANIFEST_FILE += $(DEVICE_PATH)/android.hardware.cas@1.2-service.xml +DEVICE_MANIFEST_FILE += $(DEVICE_PATH)/android.hardware.dumpstate@1.1-service.xiaomi.xml +DEVICE_MANIFEST_FILE += $(DEVICE_PATH)/android.hardware.gnss@2.1-service-qti.xml +DEVICE_MANIFEST_FILE += $(DEVICE_PATH)/android.hardware.graphics.composer-qti-display.xml +DEVICE_MANIFEST_FILE += $(DEVICE_PATH)/android.hardware.graphics.mapper-impl-qti-display.xml +DEVICE_MANIFEST_FILE += $(DEVICE_PATH)/android.hardware.health@2.1.xml +DEVICE_MANIFEST_FILE += $(DEVICE_PATH)/android.hardware.lights-qti.xml +DEVICE_MANIFEST_FILE += $(DEVICE_PATH)/android.hardware.neuralnetworks@1.3-service-qti-hta.xml +DEVICE_MANIFEST_FILE += $(DEVICE_PATH)/android.hardware.neuralnetworks@1.3-service-qti.xml +DEVICE_MANIFEST_FILE += $(DEVICE_PATH)/android.hardware.usb@1.0-service.xml +DEVICE_MANIFEST_FILE += $(DEVICE_PATH)/android.hardware.wifi.hostapd.xml +DEVICE_MANIFEST_FILE += $(DEVICE_PATH)/android.hardware.wifi@1.0-service.xml +DEVICE_MANIFEST_FILE += $(DEVICE_PATH)/manifest.xml +DEVICE_MANIFEST_FILE += $(DEVICE_PATH)/manifest_android.hardware.drm@1.3-service.clearkey.xml +DEVICE_MANIFEST_FILE += $(DEVICE_PATH)/manifest_android.hardware.drm@1.3-service.widevine.xml +DEVICE_MANIFEST_FILE += $(DEVICE_PATH)/manifest_vendor.xiaomi.hardware.mfidoca.xml +DEVICE_MANIFEST_FILE += $(DEVICE_PATH)/manifest_vendor.xiaomi.hardware.mlipay.xml +DEVICE_MANIFEST_FILE += $(DEVICE_PATH)/manifest_vendor.xiaomi.hardware.mtdservice.xml +DEVICE_MANIFEST_FILE += $(DEVICE_PATH)/manifest_vendor.xiaomi.hardware.tidaservice.xml +DEVICE_MANIFEST_FILE += $(DEVICE_PATH)/manifest_vendor.xiaomi.hardware.vsimapp.xml +DEVICE_MANIFEST_FILE += $(DEVICE_PATH)/power.xml +DEVICE_MANIFEST_FILE += $(DEVICE_PATH)/vendor.qti.gnss@4.0-service.xml +DEVICE_MANIFEST_FILE += $(DEVICE_PATH)/vendor.qti.hardware.display.allocator-service.xml +DEVICE_MANIFEST_FILE += $(DEVICE_PATH)/vendor.qti.hardware.servicetracker@1.2-service.xml +DEVICE_MANIFEST_FILE += $(DEVICE_PATH)/vendor.qti.hardware.vibrator.service.xml +DEVICE_MANIFEST_FILE += $(DEVICE_PATH)/vendor.xiaomi.hardware.micharge@1.0.xml +DEVICE_MANIFEST_FILE += $(DEVICE_PATH)/vendor.xiaomi.hardware.misys@1.0.xml +DEVICE_MANIFEST_FILE += $(DEVICE_PATH)/vendor.xiaomi.hardware.misys@2.0.xml +DEVICE_MANIFEST_FILE += $(DEVICE_PATH)/vendor.xiaomi.hardware.misys@3.0.xml +DEVICE_MATRIX_FILE := $(DEVICE_PATH)/compatibility_matrix.xml +DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE := $(DEVICE_PATH)/framework_compatibility_matrix.xml + +-include vendor/xiaomi/bhima/BoardConfigVendor.mk \ No newline at end of file diff --git a/android.hardware.atrace@1.0-service.xml b/android.hardware.atrace@1.0-service.xml new file mode 100644 index 0000000..fd3631c --- /dev/null +++ b/android.hardware.atrace@1.0-service.xml @@ -0,0 +1,11 @@ + + + android.hardware.atrace + hwbinder + 1.0 + + IAtraceDevice + default + + + diff --git a/android.hardware.biometrics.fingerprint@2.1-service.xml b/android.hardware.biometrics.fingerprint@2.1-service.xml new file mode 100644 index 0000000..115dd7b --- /dev/null +++ b/android.hardware.biometrics.fingerprint@2.1-service.xml @@ -0,0 +1,11 @@ + + + android.hardware.biometrics.fingerprint + hwbinder + 2.1 + + IBiometricsFingerprint + default + + + diff --git a/android.hardware.cas@1.2-service.xml b/android.hardware.cas@1.2-service.xml new file mode 100644 index 0000000..9b36406 --- /dev/null +++ b/android.hardware.cas@1.2-service.xml @@ -0,0 +1,11 @@ + + + android.hardware.cas + hwbinder + 1.2 + + IMediaCasService + default + + + diff --git a/android.hardware.dumpstate@1.1-service.xiaomi.xml b/android.hardware.dumpstate@1.1-service.xiaomi.xml new file mode 100644 index 0000000..775e8c8 --- /dev/null +++ b/android.hardware.dumpstate@1.1-service.xiaomi.xml @@ -0,0 +1,11 @@ + + + android.hardware.dumpstate + hwbinder + 1.1 + + IDumpstateDevice + default + + + diff --git a/android.hardware.gnss@2.1-service-qti.xml b/android.hardware.gnss@2.1-service-qti.xml new file mode 100644 index 0000000..842fb6e --- /dev/null +++ b/android.hardware.gnss@2.1-service-qti.xml @@ -0,0 +1,36 @@ + + + + android.hardware.gnss + hwbinder + @1.1::IGnss/default + @2.1::IGnss/default + + + diff --git a/android.hardware.graphics.composer-qti-display.xml b/android.hardware.graphics.composer-qti-display.xml new file mode 100644 index 0000000..66c85ab --- /dev/null +++ b/android.hardware.graphics.composer-qti-display.xml @@ -0,0 +1,48 @@ + + + + android.hardware.graphics.composer + hwbinder + 2.4 + + IComposer + default + + + + vendor.display.config + hwbinder + 2.0 + + IDisplayConfig + default + + + diff --git a/android.hardware.graphics.mapper-impl-qti-display.xml b/android.hardware.graphics.mapper-impl-qti-display.xml new file mode 100644 index 0000000..4e5c3ad --- /dev/null +++ b/android.hardware.graphics.mapper-impl-qti-display.xml @@ -0,0 +1,52 @@ + + + + vendor.qti.hardware.display.mapper + passthrough + 3.0 + 4.0 + + IQtiMapper + default + + + + android.hardware.graphics.mapper + passthrough + 3.0 + 4.0 + + IMapper + default + + + + + diff --git a/android.hardware.health@2.1.xml b/android.hardware.health@2.1.xml new file mode 100644 index 0000000..34fdca6 --- /dev/null +++ b/android.hardware.health@2.1.xml @@ -0,0 +1,7 @@ + + + android.hardware.health + hwbinder + @2.1::IHealth/default + + diff --git a/android.hardware.lights-qti.xml b/android.hardware.lights-qti.xml new file mode 100644 index 0000000..db604d6 --- /dev/null +++ b/android.hardware.lights-qti.xml @@ -0,0 +1,6 @@ + + + android.hardware.light + ILights/default + + diff --git a/android.hardware.neuralnetworks@1.3-service-qti-hta.xml b/android.hardware.neuralnetworks@1.3-service-qti-hta.xml new file mode 100644 index 0000000..4442341 --- /dev/null +++ b/android.hardware.neuralnetworks@1.3-service-qti-hta.xml @@ -0,0 +1,13 @@ + + + + android.hardware.neuralnetworks + hwbinder + @1.3::IDevice/qti-hta + + + diff --git a/android.hardware.neuralnetworks@1.3-service-qti.xml b/android.hardware.neuralnetworks@1.3-service-qti.xml new file mode 100644 index 0000000..b49adac --- /dev/null +++ b/android.hardware.neuralnetworks@1.3-service-qti.xml @@ -0,0 +1,14 @@ + + + + android.hardware.neuralnetworks + hwbinder + @1.3::IDevice/qti-default + @1.3::IDevice/qti-dsp + @1.3::IDevice/qti-gpu + + diff --git a/android.hardware.usb@1.0-service.xml b/android.hardware.usb@1.0-service.xml new file mode 100644 index 0000000..971c872 --- /dev/null +++ b/android.hardware.usb@1.0-service.xml @@ -0,0 +1,11 @@ + + + android.hardware.usb + hwbinder + 1.0 + + IUsb + default + + + diff --git a/android.hardware.wifi.hostapd.xml b/android.hardware.wifi.hostapd.xml new file mode 100644 index 0000000..309c3cd --- /dev/null +++ b/android.hardware.wifi.hostapd.xml @@ -0,0 +1,20 @@ + + + android.hardware.wifi.hostapd + hwbinder + 1.2 + + IHostapd + default + + + + vendor.qti.hardware.wifi.hostapd + hwbinder + 1.2 + + IHostapdVendor + default + + + diff --git a/android.hardware.wifi@1.0-service.xml b/android.hardware.wifi@1.0-service.xml new file mode 100644 index 0000000..b5d25cd --- /dev/null +++ b/android.hardware.wifi@1.0-service.xml @@ -0,0 +1,11 @@ + + + android.hardware.wifi + hwbinder + 1.4 + + IWifi + default + + + diff --git a/board-info.txt b/board-info.txt new file mode 100644 index 0000000..b209226 --- /dev/null +++ b/board-info.txt @@ -0,0 +1,3 @@ +require version-baseband=1.0.c3-00161-SM8150_GEN_PACK-1.377264.1.377882.3 +require version-trustzone=TZ.XF.5.2-00209 +require version-vendor=1616003537 diff --git a/compatibility_matrix.xml b/compatibility_matrix.xml new file mode 100644 index 0000000..2b40980 --- /dev/null +++ b/compatibility_matrix.xml @@ -0,0 +1,92 @@ + + + + android.frameworks.schedulerservice + 1.0 + + ISchedulingPolicyService + default + + + + android.frameworks.sensorservice + 1.0 + + ISensorManager + default + + + + android.hidl.allocator + 1.0 + + IAllocator + ashmem + + + + android.hidl.manager + 1.0 + + IServiceManager + default + + + + android.hidl.memory + 1.0 + + IMapper + ashmem + + + + android.hidl.token + 1.0 + + ITokenManager + default + + + + android.system.wifi.keystore + 1.0 + + IKeystore + default + + + + vendor.qti.hardware.qccsyshal + 1.0 + + IQccsyshal + qccsyshal + + + + vendor.qti.hardware.sigma_miracast + 1.0 + + Isigma_miracast + sigmahal + + + + vendor.qti.hardware.wifi.keystore + 1.0 + + IKeystoreExt + default + + + + 30 + + + 30 + + diff --git a/configs/audio/a2dp_audio_policy_configuration.xml b/configs/audio/a2dp_audio_policy_configuration.xml new file mode 100644 index 0000000..7bcab5c --- /dev/null +++ b/configs/audio/a2dp_audio_policy_configuration.xml @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/configs/audio/audio_configs.xml b/configs/audio/audio_configs.xml new file mode 100644 index 0000000..070cfc7 --- /dev/null +++ b/configs/audio/audio_configs.xml @@ -0,0 +1,114 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/configs/audio/audio_configs_stock.xml b/configs/audio/audio_configs_stock.xml new file mode 100644 index 0000000..bbc44c3 --- /dev/null +++ b/configs/audio/audio_configs_stock.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/configs/audio/audio_effects.conf b/configs/audio/audio_effects.conf new file mode 100644 index 0000000..8b9189a --- /dev/null +++ b/configs/audio/audio_effects.conf @@ -0,0 +1,367 @@ +# List of effect libraries to load. Each library element must contain a "path" element +# giving the full path of the library .so file. +# libraries { +# { +# path +# } +# } +libraries { + bundle { + path /vendor/lib/soundfx/libbundlewrapper.so + } + reverb { + path /vendor/lib/soundfx/libreverbwrapper.so + } + qcbassboost { + path /vendor/lib/soundfx/libqcbassboost.so + } + qcvirt { + path /vendor/lib/soundfx/libqcvirt.so + } + qcreverb { + path /vendor/lib/soundfx/libqcreverb.so + } + visualizer_sw { + path /vendor/lib/soundfx/libvisualizer.so + } + visualizer_hw { + path /vendor/lib/soundfx/libqcomvisualizer.so + } + downmix { + path /vendor/lib/soundfx/libdownmix.so + } + loudness_enhancer { + path /vendor/lib/soundfx/libldnhncr.so + } + dynamics_processing { + path /vendor/lib/soundfx/libdynproc.so + } + proxy { + path /vendor/lib/soundfx/libeffectproxy.so + } + offload_bundle { + path /vendor/lib/soundfx/libqcompostprocbundle.so + } + audio_pre_processing { + path /vendor/lib/soundfx/libqcomvoiceprocessing.so + } + volume_listener { + path /vendor/lib/soundfx/libvolumelistener.so + } + audiosphere { + path /vendor/lib/soundfx/libasphere.so + } + shoebox { + path /vendor/lib/soundfx/libshoebox.so + } +} + +# Default pre-processing library. Add to audio_effect.conf "libraries" section if +# audio HAL implements support for default software audio pre-processing effects +# +# pre_processing { +# path /vendor/lib/soundfx/libaudiopreprocessing.so +# } + +# list of effects to load. Each effect element must contain a "library" and a "uuid" element. +# The value of the "library" element must correspond to the name of one library element in the +# "libraries" element. +# The name of the effect element is indicative, only the value of the "uuid" element +# designates the effect. +# The uuid is the implementation specific UUID as specified by the effect vendor. This is not the +# generic effect type UUID. +# effects { +# { +# library +# uuid +# } +# ... +# } + +effects { + +# additions for the proxy implementation +# Proxy implementation + #effectname { + #library proxy + #uuid xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + + # SW implemetation of the effect. Added as a node under the proxy to + # indicate this as a sub effect. + #libsw { + #library libSW + #uuid yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy + #} End of SW effect + + # HW implementation of the effect. Added as a node under the proxy to + # indicate this as a sub effect. + #libhw { + #library libHW + #uuid zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz + #}End of HW effect + #} End of effect proxy + + bassboost { + library proxy + uuid 14804144-a5ee-4d24-aa88-0002a5d5c51b + + libsw { + library qcbassboost + uuid 23aca180-44bd-11e2-bcfd-0800200c9a66 + } + + libhw { + library offload_bundle + uuid 2c4a8c24-1581-487f-94f6-0002a5d5c51b + } + } + virtualizer { + library proxy + uuid d3467faa-acc7-4d34-acaf-0002a5d5c51b + + libsw { + library qcvirt + uuid e6c98a16-22a3-11e2-b87b-f23c91aec05e + } + + libhw { + library offload_bundle + uuid 509a4498-561a-4bea-b3b1-0002a5d5c51b + } + } + equalizer { + library proxy + uuid c8e70ecd-48ca-456e-8a4f-0002a5d5c51b + + libsw { + library bundle + uuid ce772f20-847d-11df-bb17-0002a5d5c51b + } + + libhw { + library offload_bundle + uuid a0dac280-401c-11e3-9379-0002a5d5c51b + } + } + volume { + library bundle + uuid 119341a0-8469-11df-81f9-0002a5d5c51b + } + reverb_env_aux { + library proxy + uuid 48404ac9-d202-4ccc-bf84-0002a5d5c51b + + libsw { + library qcreverb + uuid a8c1e5f3-293d-43cd-95ec-d5e26c02e217 + } + + libhw { + library offload_bundle + uuid 79a18026-18fd-4185-8233-0002a5d5c51b + } + } + reverb_env_ins { + library proxy + uuid b707403a-a1c1-4291-9573-0002a5d5c51b + + libsw { + library qcreverb + uuid 791fff8b-8129-4655-83a4-59bc61034c3a + } + + libhw { + library offload_bundle + uuid eb64ea04-973b-43d2-8f5e-0002a5d5c51b + } + } + reverb_pre_aux { + library proxy + uuid 1b78f587-6d1c-422e-8b84-0002a5d5c51b + + libsw { + library qcreverb + uuid 53ef1db5-c0c0-445b-b060-e34d20ebb70a + } + + libhw { + library offload_bundle + uuid 6987be09-b142-4b41-9056-0002a5d5c51b + } + } + reverb_pre_ins { + library proxy + uuid f3e178d2-ebcb-408e-8357-0002a5d5c51b + + libsw { + library qcreverb + uuid b08a0e38-22a5-11e2-b87b-f23c91aec05e + } + + libhw { + library offload_bundle + uuid aa2bebf6-47cf-4613-9bca-0002a5d5c51b + } + } + visualizer { + library proxy + uuid 1d0a1a53-7d5d-48f2-8e71-27fbd10d842c + + libsw { + library visualizer_sw + uuid d069d9e0-8329-11df-9168-0002a5d5c51b + } + + libhw { + library visualizer_hw + uuid 7a8044a0-1a71-11e3-a184-0002a5d5c51b + } + } + downmix { + library downmix + uuid 93f04452-e4fe-41cc-91f9-e475b6d1d69f + } + hw_acc { + library offload_bundle + uuid 7d1580bd-297f-4683-9239-e475b6d1d69f + } + loudness_enhancer { + library loudness_enhancer + uuid fa415329-2034-4bea-b5dc-5b381c8d1e2c + } + dynamics_processing { + library dynamics_processing + uuid e0e6539b-1781-7261-676f-6d7573696340 + } + aec { + library audio_pre_processing + uuid 0f8d0d2a-59e5-45fe-b6e4-248c8a799109 + } + ns { + library audio_pre_processing + uuid 1d97bb0b-9e2f-4403-9ae3-58c2554306f8 + } + music_helper { + library volume_listener + uuid 08b8b058-0590-11e5-ac71-0025b32654a0 + } + ring_helper { + library volume_listener + uuid 0956df94-0590-11e5-bdbe-0025b32654a0 + } + alarm_helper { + library volume_listener + uuid 09f303e2-0590-11e5-8fdb-0025b32654a0 + } + # voice_helper is called when stream type is voice_call in VoIP usecase + voice_helper { + library volume_listener + uuid 0ace5c08-0590-11e5-ae9e-0025b32654a0 + } + notification_helper { + library volume_listener + uuid 0b776dde-0590-11e5-81ba-0025b32654a0 + } + audiosphere { + library audiosphere + uuid 184e62ab-2d19-4364-9d1b-c0a40733866c + } + shoebox { + library shoebox + uuid 1eab784c-1a36-4b2a-b7fc-e34c44cab89e + } +} + +# additional effect from vendor +# UUID generated using version 1 + +output_session_processing { + music { + music_helper { + } + } + ring { + ring_helper { + } + } + alarm { + alarm_helper { + } + } + # stream type voice_call is used for VoIP call + voice_call { + voice_helper { + } + } + notification { + notification_helper { + } + } +} + +# Added aec, ns effects for voice_communication, which are supported by the board + +pre_processing { + voice_communication { + aec { + } + ns { + } + } +} + +# Default pre-processing effects. Add to audio_effect.conf "effects" section if +# audio HAL implements support for them. +# +# agc { +# library pre_processing +# uuid aa8130e0-66fc-11e0-bad0-0002a5d5c51b +# } +# aec { +# library pre_processing +# uuid bb392ec0-8d4d-11e0-a896-0002a5d5c51b +# } +# ns { +# library pre_processing +# uuid c06c8400-8e06-11e0-9cb6-0002a5d5c51b +# } + +# Audio preprocessor configurations. +# The pre processor configuration consists in a list of elements each describing +# pre processor settings for a given input source. Valid input source names are: +# "mic", "camcorder", "voice_recognition", "voice_communication" +# Each input source element contains a list of effects elements. The name of the effect +# element must be the name of one of the effects in the "effects" list of the file. +# Each effect element may optionally contain a list of parameters and their +# default value to apply when the pre processor effect is created. +# A parameter is defined by a "param" element and a "value" element. Each of these elements +# consists in one or more elements specifying a type followed by a value. +# The types defined are: "int", "short", "float", "bool" and "string" +# When both "param" and "value" are a single int, a simple form is allowed where just +# the param and value pair is present in the parameter description +# pre_processing { +# { +# { +# { +# param { +# int|short|float|bool|string +# [ int|short|float|bool|string ] +# ... +# } +# value { +# int|short|float|bool|string +# [ int|short|float|bool|string ] +# ... +# } +# } +# { } +# ... +# } +# ... +# } +# ... +# } + +# +# TODO: add default audio pre processor configurations after debug and tuning phase +# diff --git a/configs/audio/audio_effects.xml b/configs/audio/audio_effects.xml new file mode 100644 index 0000000..acebdb0 --- /dev/null +++ b/configs/audio/audio_effects.xml @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/configs/audio/audio_io_policy.conf b/configs/audio/audio_io_policy.conf new file mode 100644 index 0000000..7568907 --- /dev/null +++ b/configs/audio/audio_io_policy.conf @@ -0,0 +1,114 @@ +# List of profiles for the output device session where stream is routed.A +# A stream opened with the inputs attributes which match the "flags" and +# "formats" as specified in the profile is routed to a device at +# sample rate specified under "sampling_rates" and bit width under +# "bit_width" and the topology extracted from the acdb data against +# the "app_type". +# +# the flags and formats are specified using the strings corresponding to +# enums in audio.h and audio_policy.h. They are concatenated with "|" +# without space or "\n". +# the flags and formats should match the ones in "audio_policy.conf" + +outputs { + default { + flags AUDIO_OUTPUT_FLAG_PRIMARY + formats AUDIO_FORMAT_PCM_16_BIT + sampling_rates 48000 + bit_width 16 + app_type 69937 + } + default_24bit { + flags AUDIO_OUTPUT_FLAG_PRIMARY + formats AUDIO_FORMAT_PCM_24_BIT_PACKED + sampling_rates 48000 + bit_width 24 + app_type 69937 + } + proaudio { + flags AUDIO_OUTPUT_FLAG_FAST|AUDIO_OUTPUT_FLAG_RAW + formats AUDIO_FORMAT_PCM_16_BIT + sampling_rates 48000 + bit_width 16 + app_type 69943 + } + voip_rx { + flags AUDIO_OUTPUT_FLAG_VOIP_RX|AUDIO_OUTPUT_FLAG_DIRECT + formats AUDIO_FORMAT_PCM_16_BIT + sampling_rates 8000|16000|32000|48000 + bit_width 16 + 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 + } + deep_buffer_24 { + flags AUDIO_OUTPUT_FLAG_DEEP_BUFFER + formats AUDIO_FORMAT_PCM_24_BIT_PACKED + sampling_rates 48000 + bit_width 24 + app_type 69940 + } + direct_pcm_16 { + 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 + sampling_rates 44100|48000|88200|96000|176400|192000 + bit_width 16 + app_type 69936 + } + direct_pcm_24 { + flags AUDIO_OUTPUT_FLAG_DIRECT + 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 + bit_width 24 + app_type 69940 + } + direct_pcm_32 { + flags AUDIO_OUTPUT_FLAG_DIRECT + formats AUDIO_FORMAT_PCM_32_BIT + sampling_rates 44100|48000|88200|96000|176400|192000|352800|384000 + bit_width 32 + 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 32000|44100|48000|88200|96000|176400|192000|352800 + bit_width 16 + app_type 69941 + } + compress_offload_16 { + 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 + sampling_rates 44100|48000|88200|96000|176400|192000 + bit_width 16 + app_type 69936 + } + compress_offload_24 { + 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_VORBIS|AUDIO_FORMAT_WMA|AUDIO_FORMAT_WMA_PRO + sampling_rates 44100|48000|88200|96000|176400|192000 + bit_width 24 + app_type 69940 + } +} + +inputs { + primary { + formats AUDIO_FORMAT_PCM_16_BIT + sampling_rates 48000|16000|8000 + bit_width 16 + app_type 69938 + } + record_unprocessed { + profile record_unprocessed + formats AUDIO_FORMAT_PCM_24_BIT_PACKED + sampling_rates 16000|48000 + bit_width 24 + app_type 69942 + } +} diff --git a/configs/audio/audio_platform_info.xml b/configs/audio/audio_platform_info.xml new file mode 100644 index 0000000..997b66e --- /dev/null +++ b/configs/audio/audio_platform_info.xml @@ -0,0 +1,576 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/configs/audio/audio_policy_configuration.xml b/configs/audio/audio_policy_configuration.xml new file mode 100644 index 0000000..31dcdb3 --- /dev/null +++ b/configs/audio/audio_policy_configuration.xml @@ -0,0 +1,458 @@ + + + + + + + + + + + + + + + + + Earpiece + Speaker + Telephony Tx + Built-In Mic + Built-In Back Mic + FM Tuner + Telephony Rx + + Speaker + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/configs/audio/audio_policy_engine_configuration.xml b/configs/audio/audio_policy_engine_configuration.xml new file mode 100644 index 0000000..4ca33b4 --- /dev/null +++ b/configs/audio/audio_policy_engine_configuration.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + diff --git a/configs/audio/audio_policy_engine_configuration_mi.xml b/configs/audio/audio_policy_engine_configuration_mi.xml new file mode 100644 index 0000000..cc251fe --- /dev/null +++ b/configs/audio/audio_policy_engine_configuration_mi.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + diff --git a/configs/audio/audio_policy_engine_default_stream_volumes.xml b/configs/audio/audio_policy_engine_default_stream_volumes.xml new file mode 100644 index 0000000..21e6dd5 --- /dev/null +++ b/configs/audio/audio_policy_engine_default_stream_volumes.xml @@ -0,0 +1,136 @@ + + + + + + + + 0,0 + 100,0 + + + 0,-9600 + 100,-9600 + + + + 1,-2400 + 33,-1800 + 66,-1200 + 100,-600 + + + + 1,-5800 + 20,-4000 + 60,-1700 + 100,0 + + + + 1,-4950 + 33,-3350 + 66,-1700 + 100,0 + + + + 1,-5800 + 20,-4000 + 60,-1700 + 100,0 + + + + 1,-4680 + 42,-2070 + 85,-540 + 100,0 + + + + 1,-4950 + 33,-3350 + 66,-1700 + 100,0 + + + + 1,-5800 + 20,-4000 + 60,-2100 + 100,-1000 + + + + 1,-12700 + 20,-8000 + 60,-4000 + 100,0 + + + + + + + + + 0,-5800 + 20,-4000 + 60,-1700 + 100,0 + + + + + 0,-4950 + 33,-3350 + 66,-1700 + 100,0 + + + + + 0,-5800 + 20,-4000 + 60,-1700 + 100,0 + + + + + 0,-4950 + 33,-3350 + 66,-1700 + 100,0 + + + + + 0,-5800 + 20,-4000 + 60,-2100 + 100,-1000 + + + + + 0,-12700 + 20,-8000 + 60,-4000 + 100,0 + + diff --git a/configs/audio/audio_policy_engine_default_stream_volumes_mi.xml b/configs/audio/audio_policy_engine_default_stream_volumes_mi.xml new file mode 100644 index 0000000..21e6dd5 --- /dev/null +++ b/configs/audio/audio_policy_engine_default_stream_volumes_mi.xml @@ -0,0 +1,136 @@ + + + + + + + + 0,0 + 100,0 + + + 0,-9600 + 100,-9600 + + + + 1,-2400 + 33,-1800 + 66,-1200 + 100,-600 + + + + 1,-5800 + 20,-4000 + 60,-1700 + 100,0 + + + + 1,-4950 + 33,-3350 + 66,-1700 + 100,0 + + + + 1,-5800 + 20,-4000 + 60,-1700 + 100,0 + + + + 1,-4680 + 42,-2070 + 85,-540 + 100,0 + + + + 1,-4950 + 33,-3350 + 66,-1700 + 100,0 + + + + 1,-5800 + 20,-4000 + 60,-2100 + 100,-1000 + + + + 1,-12700 + 20,-8000 + 60,-4000 + 100,0 + + + + + + + + + 0,-5800 + 20,-4000 + 60,-1700 + 100,0 + + + + + 0,-4950 + 33,-3350 + 66,-1700 + 100,0 + + + + + 0,-5800 + 20,-4000 + 60,-1700 + 100,0 + + + + + 0,-4950 + 33,-3350 + 66,-1700 + 100,0 + + + + + 0,-5800 + 20,-4000 + 60,-2100 + 100,-1000 + + + + + 0,-12700 + 20,-8000 + 60,-4000 + 100,0 + + diff --git a/configs/audio/audio_policy_engine_product_strategies.xml b/configs/audio/audio_policy_engine_product_strategies.xml new file mode 100644 index 0000000..ba1e720 --- /dev/null +++ b/configs/audio/audio_policy_engine_product_strategies.xml @@ -0,0 +1,97 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/configs/audio/audio_policy_engine_product_strategies_mi.xml b/configs/audio/audio_policy_engine_product_strategies_mi.xml new file mode 100644 index 0000000..047c923 --- /dev/null +++ b/configs/audio/audio_policy_engine_product_strategies_mi.xml @@ -0,0 +1,104 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/configs/audio/audio_policy_engine_stream_volumes.xml b/configs/audio/audio_policy_engine_stream_volumes.xml new file mode 100644 index 0000000..d5a2b74 --- /dev/null +++ b/configs/audio/audio_policy_engine_stream_volumes.xml @@ -0,0 +1,256 @@ + + + + + + + voice_call + 1 + 5 + + 0,-4200 + 33,-2800 + 66,-1400 + 100,0 + + + 0,-2400 + 33,-1600 + 66,-800 + 100,0 + + + 0,-2400 + 33,-1600 + 66,-800 + 100,0 + + + + + + + system + 0 + 15 + + 1,-4400 + 33,-3200 + 66,-2200 + 100,-1600 + + + 1,-3800 + 33,-2400 + 73,-1500 + 100,-600 + + + + + + + + + ring + 0 + 15 + + + 1,-4300 + 13,-3300 + 20,-2900 + 27,-2600 + 33,-2300 + 40,-2000 + 47,-1700 + 53,-1500 + 60,-1300 + 66,-1100 + 73,-900 + 80,-700 + 87,-500 + 93,-200 + 100,0 + + + + + + + + music + 0 + 15 + + 1,-6400 + 13,-5600 + 20,-5200 + 27,-4700 + 33,-4300 + 40,-3850 + 47,-3350 + 53,-2950 + 60,-2500 + 66,-2050 + 73,-1600 + 80,-1200 + 87,-750 + 93,-400 + 100,0 + + + 1,-5500 + 13,-4300 + 20,-3800 + 27,-3400 + 33,-3000 + 40,-2600 + 47,-2200 + 53,-1900 + 60,-1600 + 66,-1300 + 73,-1000 + 80,-700 + 87,-400 + 93,-200 + 100,0 + + + + + + + + assistant + 0 + 15 + + + + + + + + + alarm + 1 + 15 + + + 1,-3500 + 26,-2500 + 50,-1250 + 73,-900 + 100,0 + + + + + + + + notification + 0 + 15 + + + 1,-3800 + 33,-2400 + 73,-1500 + 100,-600 + + + + + + + + bluetooth_sco + 1 + 15 + + 0,-420 + 33,-280 + 66,-140 + 100,0 + + + + + + + + + enforced_audible + 0 + 7 + + + + + + + + + + dtmf + 0 + 15 + + + 1,-3800 + 33,-2400 + 73,-1500 + 100,-600 + + + + + + + + + tts + 0 + 15 + + + + + + + + + accessibility + 1 + 15 + + + + + + + + + diff --git a/configs/audio/audio_policy_engine_stream_volumes_mi.xml b/configs/audio/audio_policy_engine_stream_volumes_mi.xml new file mode 100644 index 0000000..f3fda4b --- /dev/null +++ b/configs/audio/audio_policy_engine_stream_volumes_mi.xml @@ -0,0 +1,364 @@ + + + + + + + voice_call + 1 + 5 + + 0,-4200 + 33,-2800 + 66,-1400 + 100,0 + + + 0,-2400 + 33,-1600 + 66,-800 + 100,0 + + + 0,-4200 + 33,-2800 + 66,-1400 + 100,0 + + + 0,-2400 + 33,-1600 + 66,-800 + 100,0 + + + + + + + system + 0 + 15 + + 1,-4400 + 33,-3200 + 66,-2200 + 100,-1600 + + + 1,-3800 + 33,-2400 + 73,-1500 + 100,-600 + + + 1,-4400 + 33,-3200 + 66,-2200 + 100,-1600 + + + + + + + + + ring + 0 + 15 + + + 1,-4300 + 13,-3300 + 20,-2900 + 27,-2600 + 33,-2300 + 40,-2000 + 47,-1700 + 53,-1500 + 60,-1300 + 66,-1100 + 73,-900 + 80,-700 + 87,-500 + 93,-200 + 100,0 + + + + + + + + + music + 0 + 15 + + 1,-5700 + 13,-5300 + 20,-4900 + 27,-4500 + 33,-4100 + 40,-3700 + 47,-3350 + 53,-2950 + 60,-2500 + 66,-2050 + 73,-1600 + 80,-1200 + 87,-750 + 93,-400 + 100,0 + + + 1,-5500 + 13,-4300 + 20,-3800 + 27,-3400 + 33,-3000 + 40,-2600 + 47,-2200 + 53,-1900 + 60,-1600 + 66,-1300 + 73,-1000 + 80,-700 + 87,-400 + 93,-200 + 100,0 + + + 1,-5978 + 13,-4617 + 20,-3956 + 27,-3368 + 33,-3020 + 40,-2656 + 47,-1885 + 53,-1779 + 60,-1217 + 66,-967 + 73,-589 + 80,-394 + 87,-360 + 93,-70 + 100,0 + + + + + + + + assistant + 0 + 15 + + 1,-6400 + 13,-5600 + 20,-5200 + 27,-4700 + 33,-4300 + 40,-3850 + 47,-3350 + 53,-2950 + 60,-2500 + 66,-2050 + 73,-1600 + 80,-1200 + 87,-750 + 93,-400 + 100,0 + + + 1,-5500 + 13,-4300 + 20,-3800 + 27,-3400 + 33,-3000 + 40,-2600 + 47,-2200 + 53,-1900 + 60,-1600 + 66,-1300 + 73,-1000 + 80,-700 + 87,-400 + 93,-200 + 100,0 + + + 1,-5978 + 13,-4617 + 20,-3956 + 27,-3368 + 33,-3020 + 40,-2656 + 47,-1885 + 53,-1779 + 60,-1217 + 66,-967 + 73,-589 + 80,-394 + 87,-360 + 93,-70 + 100,0 + + + + + + + + alarm + 1 + 15 + + + 0,-3500 + 26,-2500 + 50,-1250 + 73,-900 + 100,0 + + + + + + + + + notification + 0 + 15 + + + 1,-3800 + 33,-2400 + 73,-1500 + 100,-600 + + + + + + + + + bluetooth_sco + 1 + 15 + + 0,-420 + 33,-280 + 66,-140 + 100,0 + + + + 0,-420 + 33,-280 + 66,-140 + 100,0 + + + + + + + + enforced_audible + 0 + 7 + + + + + + + + + + + dtmf + 0 + 15 + + 1,-3000 + 33,-2600 + 66,-2200 + 100,-1800 + + + 1,-3800 + 33,-2400 + 73,-1500 + 100,-600 + + + 1,-3000 + 33,-2600 + 66,-2200 + 100,-1800 + + + 1,-3000 + 33,-2600 + 66,-2200 + 100,-1800 + + + + + + + + + + tts + 0 + 15 + + + + + + + + + + accessibility + 1 + 15 + + + + + + + + + + diff --git a/configs/audio/audio_policy_volumes.xml b/configs/audio/audio_policy_volumes.xml new file mode 100644 index 0000000..0ce5e1f --- /dev/null +++ b/configs/audio/audio_policy_volumes.xml @@ -0,0 +1,226 @@ + + + + + + + + + + + + 1,-3800 + 33,-2400 + 73,-1500 + 100,-600 + + + + + + 1,-4300 + 13,-3300 + 20,-2900 + 27,-2600 + 33,-2300 + 40,-2000 + 47,-1700 + 53,-1500 + 60,-1300 + 66,-1100 + 73,-900 + 80,-700 + 87,-500 + 93,-200 + 100,0 + + + + + 1,-6400 + 13,-5600 + 20,-5200 + 27,-4700 + 33,-4300 + 40,-3850 + 47,-3350 + 53,-2950 + 60,-2500 + 66,-2050 + 73,-1600 + 80,-1200 + 87,-750 + 93,-400 + 100,0 + + + 1,-5500 + 13,-4300 + 20,-3800 + 27,-3400 + 33,-3000 + 40,-2600 + 47,-2200 + 53,-1900 + 60,-1600 + 66,-1300 + 73,-1000 + 80,-700 + 87,-400 + 93,-200 + 100,0 + + + + + + 1,-3500 + 26,-2500 + 50,-1250 + 73,-900 + 100,0 + + + + + + 1,-3800 + 33,-2400 + 73,-1500 + 100,-600 + + + + + 0,-420 + 33,-280 + 66,-140 + 100,0 + + + + + + + + + + + 1,-3800 + 33,-2400 + 73,-1500 + 100,-600 + + + + + + + + + + + + + + + + + + + + + + + 0,-4200 + 33,-2800 + 66,-1400 + 100,0 + + + + 0,-2400 + 33,-1600 + 66,-800 + 100,0 + + + + 1,-4400 + 33,-3200 + 66,-2200 + 100,-1600 + + + + 1,-3500 + 26,-2500 + 73,-1120 + 100,0 + + + diff --git a/configs/audio/audio_tuning_mixer.txt b/configs/audio/audio_tuning_mixer.txt new file mode 100644 index 0000000..6c1c864 --- /dev/null +++ b/configs/audio/audio_tuning_mixer.txt @@ -0,0 +1,193 @@ +#ANC_TEST_P_PATH_MIC_STEREO Capture +acdb_dev_id:85 +!Capture +Txdevice:0 + +enable +AIF1_CAP Mixer SLIM TX7:1 +AIF1_CAP Mixer SLIM TX8:1 +CDC_IF TX7 MUX:DEC7 +ADC MUX7:DMIC +DMIC MUX7:DMIC4 +CDC_IF TX8 MUX:DEC8 +ADC MUX8:DMIC +DMIC MUX8:DMIC0 +SLIM_0_TX Channels:Two +MultiMedia1 Mixer SLIM_0_TX:1 + +disable +MultiMedia1 Mixer SLIM_0_TX:0 +AIF1_CAP Mixer SLIM TX7:0 +AIF1_CAP Mixer SLIM TX8:0 +CDC_IF TX7 MUX:ZERO +CDC_IF TX8 MUX:ZERO +DMIC MUX7:ZERO +DMIC MUX8:ZERO + +#ANC_TEST_S_PATH_MIC_STEREO Capture +acdb_dev_id:88 +!Capture +Txdevice:0 + +enable +AIF1_CAP Mixer SLIM TX7:1 +AIF1_CAP Mixer SLIM TX8:1 +CDC_IF TX7 MUX:DEC7 +ADC MUX7:ANC_FB_TUNE1 +ADC MUX10:DMIC +DMIC MUX10:DMIC0 +CDC_IF TX8 MUX:DEC8 +ADC MUX8:ANC_FB_TUNE2 +ADC MUX12:DMIC +DMIC MUX12:DMIC0 +ANC0 FB MUX:ANC_IN_EAR_SPKR +ANC OUT EAR SPKR Enable Switch:1 +SLIM_0_TX Channels:Two +MultiMedia1 Mixer SLIM_0_TX:1 + +disable +MultiMedia1 Mixer SLIM_0_TX:0 +AIF1_CAP Mixer SLIM TX7:0 +AIF1_CAP Mixer SLIM TX8:0 +CDC_IF TX7 MUX:ZERO +CDC_IF TX8 MUX:ZERO +ADC MUX7:DMIC +ADC MUX8:DMIC +DMIC MUX10:ZERO +DMIC MUX12:ZERO +ANC0 FB MUX:ZERO +ANC OUT EAR SPKR Enable Switch:0 + + +#ANC_TEST_E_PATH_MIC_STEREO Capture +acdb_dev_id:91 +!Capture +Txdevice:0 + +enable +AIF1_CAP Mixer SLIM TX7:1 +AIF1_CAP Mixer SLIM TX8:1 +CDC_IF TX7 MUX:DEC7 +ADC MUX7:ANC_FB_TUNE1 +ADC MUX10:DMIC +DMIC MUX10:DMIC4 +CDC_IF TX8 MUX:DEC8 +ADC MUX8:ANC_FB_TUNE2 +ADC MUX12:DMIC +DMIC MUX12:DMIC4 +ANC0 FB MUX:ANC_IN_EAR_SPKR +ANC OUT EAR SPKR Enable Switch:1 +SLIM_0_TX Channels:Two +MultiMedia1 Mixer SLIM_0_TX:1 + +disable +MultiMedia1 Mixer SLIM_0_TX:0 +AIF1_CAP Mixer SLIM TX7:0 +AIF1_CAP Mixer SLIM TX8:0 +CDC_IF TX7 MUX:ZERO +CDC_IF TX8 MUX:ZERO +ADC MUX7:DMIC +ADC MUX8:DMIC +DMIC MUX10:ZERO +DMIC MUX12:ZERO +ANC0 FB MUX:ZERO +ANC OUT EAR SPKR Enable Switch:0 + + +#ANC_TEST_S_PATH_HANDSET_SPKR_ANC_MONO +acdb_dev_id:86 +!Playback +Rxdevice:0 + +enable +ANC Function:ON +SLIM RX0 MUX:AIF1_PB +SLIM_0_RX Channels:One +RX INT7_1 MIX1 INP0:RX0 +SpkrLeft SWR DAC_Port Switch:1 +ANC Slot:7 +ANC OUT EAR SPKR Enable Switch:1 +ANC SPKR PA Enable Switch:1 +SpkrLeft WSA PA Gain:G_6_DB +SLIMBUS_0_RX Audio Mixer MultiMedia1:1 + +disable +SLIMBUS_0_RX Audio Mixer MultiMedia1:0 +SpkrLeft WSA PA Gain:G_0_DB +ANC SPKR PA Enable Switch:0 +ANC OUT EAR SPKR Enable Switch:0 +SpkrLeft SWR DAC_Port Switch:0 +ANC Slot:0 +SLIM RX0 MUX:ZERO +RX INT7_1 MIX1 INP0:ZERO +ANC Function:OFF + +#ANC_TEST_E_PATH_HANDSET_SPKR_ANC_MONO +acdb_dev_id:89 +!Playback +Rxdevice:0 + +enable +ANC Function:ON +SLIM RX0 MUX:AIF1_PB +SLIM_0_RX Channels:One +RX INT7_1 MIX1 INP0:RX0 +SpkrLeft SWR DAC_Port Switch:1 +ANC Slot:8 +ANC OUT EAR SPKR Enable Switch:1 +ANC SPKR PA Enable Switch:1 +SpkrLeft WSA PA Gain:G_6_DB +SLIMBUS_0_RX Audio Mixer MultiMedia1:1 + +disable +SLIMBUS_0_RX Audio Mixer MultiMedia1:0 +SpkrLeft WSA PA Gain:G_0_DB +ANC SPKR PA Enable Switch:0 +ANC OUT EAR SPKR Enable Switch:0 +SpkrLeft SWR DAC_Port Switch:0 +ANC Slot:0 +SLIM RX0 MUX:ZERO +RX INT7_1 MIX1 INP0:ZERO +ANC Function:OFF + +#RAS_TEST_SPKR_PHONE_SPKR_STEREO +acdb_dev_id:136 +!Playback +Rxdevice:0 + +enable +SLIM RX0 MUX:AIF1_PB +SLIM RX1 MUX:AIF1_PB +CDC_IF RX0 MUX:SLIM RX0 +CDC_IF RX1 MUX:SLIM RX1 +SLIM_0_RX Channels:Two +RX INT7_1 MIX1 INP0:RX0 +RX INT8_1 MIX1 INP0:RX1 +COMP7 Switch:1 +COMP8 Switch:1 +SpkrLeft COMP Switch:1 +SpkrRight COMP Switch:1 +SpkrLeft BOOST Switch:1 +SpkrRight BOOST Switch:1 +SpkrLeft VISENSE Switch:1 +SpkrRight VISENSE Switch:1 +SpkrLeft SWR DAC_Port Switch:1 +SpkrRight SWR DAC_Port Switch:1 +SLIMBUS_0_RX Audio Mixer MultiMedia1:1 + +disable +SLIM RX0 MUX:ZERO +SLIM RX1 MUX:ZERO +RX INT7_1 MIX1 INP0:ZERO +RX INT8_1 MIX1 INP0:ZERO +COMP7 Switch:0 +COMP8 Switch:0 +SpkrLeft COMP Switch:0 +SpkrRight COMP Switch:0 +SpkrLeft BOOST Switch:0 +SpkrRight BOOST Switch:0 +SpkrLeft VISENSE Switch:0 +SpkrRight VISENSE Switch:0 +SpkrLeft SWR DAC_Port Switch:0 +SpkrRight SWR DAC_Port Switch:0 +SLIMBUS_0_RX Audio Mixer MultiMedia1:0 diff --git a/configs/audio/audio_tuning_mixer_tavil.txt b/configs/audio/audio_tuning_mixer_tavil.txt new file mode 100644 index 0000000..6c1c864 --- /dev/null +++ b/configs/audio/audio_tuning_mixer_tavil.txt @@ -0,0 +1,193 @@ +#ANC_TEST_P_PATH_MIC_STEREO Capture +acdb_dev_id:85 +!Capture +Txdevice:0 + +enable +AIF1_CAP Mixer SLIM TX7:1 +AIF1_CAP Mixer SLIM TX8:1 +CDC_IF TX7 MUX:DEC7 +ADC MUX7:DMIC +DMIC MUX7:DMIC4 +CDC_IF TX8 MUX:DEC8 +ADC MUX8:DMIC +DMIC MUX8:DMIC0 +SLIM_0_TX Channels:Two +MultiMedia1 Mixer SLIM_0_TX:1 + +disable +MultiMedia1 Mixer SLIM_0_TX:0 +AIF1_CAP Mixer SLIM TX7:0 +AIF1_CAP Mixer SLIM TX8:0 +CDC_IF TX7 MUX:ZERO +CDC_IF TX8 MUX:ZERO +DMIC MUX7:ZERO +DMIC MUX8:ZERO + +#ANC_TEST_S_PATH_MIC_STEREO Capture +acdb_dev_id:88 +!Capture +Txdevice:0 + +enable +AIF1_CAP Mixer SLIM TX7:1 +AIF1_CAP Mixer SLIM TX8:1 +CDC_IF TX7 MUX:DEC7 +ADC MUX7:ANC_FB_TUNE1 +ADC MUX10:DMIC +DMIC MUX10:DMIC0 +CDC_IF TX8 MUX:DEC8 +ADC MUX8:ANC_FB_TUNE2 +ADC MUX12:DMIC +DMIC MUX12:DMIC0 +ANC0 FB MUX:ANC_IN_EAR_SPKR +ANC OUT EAR SPKR Enable Switch:1 +SLIM_0_TX Channels:Two +MultiMedia1 Mixer SLIM_0_TX:1 + +disable +MultiMedia1 Mixer SLIM_0_TX:0 +AIF1_CAP Mixer SLIM TX7:0 +AIF1_CAP Mixer SLIM TX8:0 +CDC_IF TX7 MUX:ZERO +CDC_IF TX8 MUX:ZERO +ADC MUX7:DMIC +ADC MUX8:DMIC +DMIC MUX10:ZERO +DMIC MUX12:ZERO +ANC0 FB MUX:ZERO +ANC OUT EAR SPKR Enable Switch:0 + + +#ANC_TEST_E_PATH_MIC_STEREO Capture +acdb_dev_id:91 +!Capture +Txdevice:0 + +enable +AIF1_CAP Mixer SLIM TX7:1 +AIF1_CAP Mixer SLIM TX8:1 +CDC_IF TX7 MUX:DEC7 +ADC MUX7:ANC_FB_TUNE1 +ADC MUX10:DMIC +DMIC MUX10:DMIC4 +CDC_IF TX8 MUX:DEC8 +ADC MUX8:ANC_FB_TUNE2 +ADC MUX12:DMIC +DMIC MUX12:DMIC4 +ANC0 FB MUX:ANC_IN_EAR_SPKR +ANC OUT EAR SPKR Enable Switch:1 +SLIM_0_TX Channels:Two +MultiMedia1 Mixer SLIM_0_TX:1 + +disable +MultiMedia1 Mixer SLIM_0_TX:0 +AIF1_CAP Mixer SLIM TX7:0 +AIF1_CAP Mixer SLIM TX8:0 +CDC_IF TX7 MUX:ZERO +CDC_IF TX8 MUX:ZERO +ADC MUX7:DMIC +ADC MUX8:DMIC +DMIC MUX10:ZERO +DMIC MUX12:ZERO +ANC0 FB MUX:ZERO +ANC OUT EAR SPKR Enable Switch:0 + + +#ANC_TEST_S_PATH_HANDSET_SPKR_ANC_MONO +acdb_dev_id:86 +!Playback +Rxdevice:0 + +enable +ANC Function:ON +SLIM RX0 MUX:AIF1_PB +SLIM_0_RX Channels:One +RX INT7_1 MIX1 INP0:RX0 +SpkrLeft SWR DAC_Port Switch:1 +ANC Slot:7 +ANC OUT EAR SPKR Enable Switch:1 +ANC SPKR PA Enable Switch:1 +SpkrLeft WSA PA Gain:G_6_DB +SLIMBUS_0_RX Audio Mixer MultiMedia1:1 + +disable +SLIMBUS_0_RX Audio Mixer MultiMedia1:0 +SpkrLeft WSA PA Gain:G_0_DB +ANC SPKR PA Enable Switch:0 +ANC OUT EAR SPKR Enable Switch:0 +SpkrLeft SWR DAC_Port Switch:0 +ANC Slot:0 +SLIM RX0 MUX:ZERO +RX INT7_1 MIX1 INP0:ZERO +ANC Function:OFF + +#ANC_TEST_E_PATH_HANDSET_SPKR_ANC_MONO +acdb_dev_id:89 +!Playback +Rxdevice:0 + +enable +ANC Function:ON +SLIM RX0 MUX:AIF1_PB +SLIM_0_RX Channels:One +RX INT7_1 MIX1 INP0:RX0 +SpkrLeft SWR DAC_Port Switch:1 +ANC Slot:8 +ANC OUT EAR SPKR Enable Switch:1 +ANC SPKR PA Enable Switch:1 +SpkrLeft WSA PA Gain:G_6_DB +SLIMBUS_0_RX Audio Mixer MultiMedia1:1 + +disable +SLIMBUS_0_RX Audio Mixer MultiMedia1:0 +SpkrLeft WSA PA Gain:G_0_DB +ANC SPKR PA Enable Switch:0 +ANC OUT EAR SPKR Enable Switch:0 +SpkrLeft SWR DAC_Port Switch:0 +ANC Slot:0 +SLIM RX0 MUX:ZERO +RX INT7_1 MIX1 INP0:ZERO +ANC Function:OFF + +#RAS_TEST_SPKR_PHONE_SPKR_STEREO +acdb_dev_id:136 +!Playback +Rxdevice:0 + +enable +SLIM RX0 MUX:AIF1_PB +SLIM RX1 MUX:AIF1_PB +CDC_IF RX0 MUX:SLIM RX0 +CDC_IF RX1 MUX:SLIM RX1 +SLIM_0_RX Channels:Two +RX INT7_1 MIX1 INP0:RX0 +RX INT8_1 MIX1 INP0:RX1 +COMP7 Switch:1 +COMP8 Switch:1 +SpkrLeft COMP Switch:1 +SpkrRight COMP Switch:1 +SpkrLeft BOOST Switch:1 +SpkrRight BOOST Switch:1 +SpkrLeft VISENSE Switch:1 +SpkrRight VISENSE Switch:1 +SpkrLeft SWR DAC_Port Switch:1 +SpkrRight SWR DAC_Port Switch:1 +SLIMBUS_0_RX Audio Mixer MultiMedia1:1 + +disable +SLIM RX0 MUX:ZERO +SLIM RX1 MUX:ZERO +RX INT7_1 MIX1 INP0:ZERO +RX INT8_1 MIX1 INP0:ZERO +COMP7 Switch:0 +COMP8 Switch:0 +SpkrLeft COMP Switch:0 +SpkrRight COMP Switch:0 +SpkrLeft BOOST Switch:0 +SpkrRight BOOST Switch:0 +SpkrLeft VISENSE Switch:0 +SpkrRight VISENSE Switch:0 +SpkrLeft SWR DAC_Port Switch:0 +SpkrRight SWR DAC_Port Switch:0 +SLIMBUS_0_RX Audio Mixer MultiMedia1:0 diff --git a/configs/audio/bluetooth_qti_audio_policy_configuration.xml b/configs/audio/bluetooth_qti_audio_policy_configuration.xml new file mode 100644 index 0000000..f0b2506 --- /dev/null +++ b/configs/audio/bluetooth_qti_audio_policy_configuration.xml @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/configs/audio/graphite_ipc_platform_info.xml b/configs/audio/graphite_ipc_platform_info.xml new file mode 100644 index 0000000..15655fc --- /dev/null +++ b/configs/audio/graphite_ipc_platform_info.xml @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/configs/audio/listen_platform_info.xml b/configs/audio/listen_platform_info.xml new file mode 100644 index 0000000..5c49ac8 --- /dev/null +++ b/configs/audio/listen_platform_info.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/configs/audio/mixer_paths_overlay_dynamic.xml b/configs/audio/mixer_paths_overlay_dynamic.xml new file mode 100644 index 0000000..3360c6c --- /dev/null +++ b/configs/audio/mixer_paths_overlay_dynamic.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/configs/audio/mixer_paths_overlay_static.xml b/configs/audio/mixer_paths_overlay_static.xml new file mode 100644 index 0000000..2d0c8ff --- /dev/null +++ b/configs/audio/mixer_paths_overlay_static.xml @@ -0,0 +1,979 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/configs/audio/mixer_paths_pahu.xml b/configs/audio/mixer_paths_pahu.xml new file mode 100644 index 0000000..68e5317 --- /dev/null +++ b/configs/audio/mixer_paths_pahu.xml @@ -0,0 +1,2597 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/configs/audio/mixer_paths_tavil.xml b/configs/audio/mixer_paths_tavil.xml new file mode 100644 index 0000000..34b65dc --- /dev/null +++ b/configs/audio/mixer_paths_tavil.xml @@ -0,0 +1,4176 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/configs/audio/r_submix_audio_policy_configuration.xml b/configs/audio/r_submix_audio_policy_configuration.xml new file mode 100644 index 0000000..dc2a5ec --- /dev/null +++ b/configs/audio/r_submix_audio_policy_configuration.xml @@ -0,0 +1,47 @@ + + + + + + Remote Submix In + + + + + + + + + + + + + + + + + + + + + + diff --git a/configs/audio/sound_trigger_mixer_paths.xml b/configs/audio/sound_trigger_mixer_paths.xml new file mode 100644 index 0000000..28cd4db --- /dev/null +++ b/configs/audio/sound_trigger_mixer_paths.xml @@ -0,0 +1,332 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/configs/audio/sound_trigger_mixer_paths_wcd9340.xml b/configs/audio/sound_trigger_mixer_paths_wcd9340.xml new file mode 100644 index 0000000..94af744 --- /dev/null +++ b/configs/audio/sound_trigger_mixer_paths_wcd9340.xml @@ -0,0 +1,368 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/configs/audio/sound_trigger_mixer_paths_wcd9340_qrd.xml b/configs/audio/sound_trigger_mixer_paths_wcd9340_qrd.xml new file mode 100644 index 0000000..0a7c780 --- /dev/null +++ b/configs/audio/sound_trigger_mixer_paths_wcd9340_qrd.xml @@ -0,0 +1,395 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/configs/audio/sound_trigger_platform_info.xml b/configs/audio/sound_trigger_platform_info.xml new file mode 100644 index 0000000..6d8cf41 --- /dev/null +++ b/configs/audio/sound_trigger_platform_info.xml @@ -0,0 +1,367 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/configs/audio/usb_audio_policy_configuration.xml b/configs/audio/usb_audio_policy_configuration.xml new file mode 100644 index 0000000..a487ecb --- /dev/null +++ b/configs/audio/usb_audio_policy_configuration.xml @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/configs/excluded-input-devices.xml b/configs/excluded-input-devices.xml new file mode 100644 index 0000000..8fd2213 --- /dev/null +++ b/configs/excluded-input-devices.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/configs/gps/apdr.conf b/configs/gps/apdr.conf new file mode 100644 index 0000000..5a9a922 --- /dev/null +++ b/configs/gps/apdr.conf @@ -0,0 +1,188 @@ +# AP DR SENSOR Configuration file +# +# SENSOR_SERVICE options are one of below +# accel,gyro,vehicle_accel,vehicle_gyro,pedometer,vehicle_odometry,accel_temp, +# gyro_temp,baro,mag_calib,mag_uncalib,amd,rmd. +# +# SENSOR_PROVIDER options is one of -- default,native,ssc,samlite. +# +# SENSOR_RATE = 1~100 (Hz) +# +# SENSOR_SAMPLES = 1~N +# +# SENSOR_STATISTIC_ENABLED +# bit 0: Diag Print Enabled +# bit 1: Adb Print Enabled +# SENSOR_STATISTIC_PRINT_COUNT +# Skip Number of Print +# +# QDR_DYNAMIC_LOADING = 1~3 +# Configure QDR library to be loaded +# 1: QDR3 +# 2: QDR2-GYRO +# 3: QDR2-DWT +# +# + +###################################### +# # +# QDR3 Configuration # +# # +# For QDR3, # +# comment default configuration above# +# and # +# uncomment below configuration # +# settings. # +# # +###################################### +# +SENSOR_SERVICE = accel +SENSOR_PROVIDER = native +SENSOR_RATE = 10 +SENSOR_SAMPLES = 10 +# +SENSOR_SERVICE = vehicle_speed +SENSOR_PROVIDER = native +SENSOR_RATE = 100 +SENSOR_SAMPLES = 1 +# +SENSOR_SERVICE = gyro +SENSOR_PROVIDER = native +SENSOR_RATE = 10 +SENSOR_SAMPLES = 10 +# +SENSOR_SERVICE = vehicle_gear +SENSOR_PROVIDER = native +SENSOR_RATE = 100 +SENSOR_SAMPLES = 1 +# +SENSOR_SERVICE = accel_temp +SENSOR_PROVIDER = native +SENSOR_RATE = 1 +SENSOR_SAMPLES = 1 +# +# +##Configure QDR library to be loaded 1: QDR3 2: QDR2-GYRO 3: QDR2-DWS +QDR_DYNAMIC_LOADING = 1 +##Specify CAN sensor type: Valid Options: 14(ODO), 2(ODO_DWT), 3(ODO_DWS) +QDR_CAN_TYPE = 14 +##Reporting offset before PPS boundary +QDR_REPORTING_OFFSET = 20 +# +##QDR_ENABLE_QG shall be set as 1 +QDR_ENABLE_QG = 1 +#GEAR Optimisation +QG_GEAR_ON_CHANGE=1 +# + +##Vehicle Sensor Configuration (CAN data availability) +##QDR_VEH_SENSOR_CONFIG: +## 0: VEHICLE_SENSOR_PRESENT - Vehicle Sensor is available (DEFAULT) +## 1: VEHICLE_SENSOR_OPTIONAL - Vehicle Sensor may or may not be present. +#QDR_VEH_SENSOR_CONFIG = 0 + +##Select Wheel set (E.g.: Front two wheels, Rear two wheels OR All four wheels) +##To be used for differential wheel tick OR speed service. +##This configuration is applicable when QDR_CAN_TYPE configured as +##ODO_DWS(3) or ODO_DWT(2). +##Value "0": Use Front two wheels +##Value "1": Use Rear two wheels +##Value "2": Use All four wheels +#QG_DRIVE_WHEEL_FW_RW_AW = 2 +##Max Wheel tick value above which wheel tick rolls over +##This configuration is applicable when QDR_CAN_TYPE configured as ODO_DWT(2) +#QG_DWT_MAX_WHEEL_TICK_COUNT = 255.0 +##Configure Wheel constant for DWT based below equation +##(2 * pi * WHEEL_RADIUS / Pulses Per revolution) +##This configuration is applicable when QDR_CAN_TYPE configured as ODO_DWT(2) +#QG_DWT_WHEEL_CONSTANT = 0.044 +# + +###################################### +# # +# QDR2-DWT Configuration # +# # +# For QDR2-DWT, # +# comment default configuration above# +# and # +# uncomment below configuration # +# settings. # +# # +###################################### +# +#SENSOR_SERVICE = vehicle_speed +#SENSOR_PROVIDER = native +#SENSOR_RATE = 100 +#SENSOR_SAMPLES = 1 +#SENSOR_STATISTIC_ENABLED = 3 +#SENSOR_STATISTIC_PRINT_COUNT = 50 +# +#SENSOR_SERVICE = vehicle_dws +#SENSOR_PROVIDER = native +#SENSOR_RATE = 100 +#SENSOR_SAMPLES = 1 +#SENSOR_STATISTIC_ENABLED = 3 +#SENSOR_STATISTIC_PRINT_COUNT = 50 +# +#SENSOR_SERVICE = vehicle_gear +#SENSOR_PROVIDER = native +#SENSOR_RATE = 100 +#SENSOR_SAMPLES = 1 +#SENSOR_STATISTIC_ENABLED = 3 +#SENSOR_STATISTIC_PRINT_COUNT = 50 +# +#GNSS_POS_STATISTIC_ENABLED = 3 +#GNSS_POS_STATISTIC_PRNTCNT = 10 +#GNSS_MSR_STATISTIC_ENABLED = 3 +#GNSS_MSR_STATISTIC_PRNTCNT = 10 +# +##Configure QDR library to be loaded 1: QDR3 2: QDR2-GYRO 3: QDR2-DWS +#QDR_DYNAMIC_LOADING = 3 +##Enable/disable sensor data flashback feature +#QDR_FLASHBACK_ENABLED = 0 +##Enable/disable sensor data batching feature +#QDR_BATCHING_ENABLED = 0 +##Reporting offset before PPS boundary +#QDR_REPORTING_OFFSET = 20 +##Sensor dispatch threshold declaration +#QDR_SENSDISPATCH_MS = 30 + + +###################################### +# # +# QDR2-GYRO Configuration # +# # +# For QDR2-GYRO, # +# comment default configuration above# +# and # +# uncomment below configuration # +# settings. # +# # +###################################### +# +#SENSOR_SERVICE = vehicle_speed +#SENSOR_PROVIDER = native +#SENSOR_RATE = 100 +#SENSOR_SAMPLES = 1 +# +#SENSOR_SERVICE = vehicle_gyro +#SENSOR_PROVIDER = native +#SENSOR_RATE = 100 +#SENSOR_SAMPLES = 1 +# +#SENSOR_SERVICE = vehicle_gear +#SENSOR_PROVIDER = native +#SENSOR_RATE = 100 +#SENSOR_SAMPLES = 1 +# +##Configure QDR library to be loaded 1: QDR3 2: QDR2-GYRO 3: QDR2-DWS +#QDR_DYNAMIC_LOADING = 2 +##Enable/disable sensor data flashback feature +#QDR_FLASHBACK_ENABLED = 0 +##Enable/disable sensor data batching feature +#QDR_BATCHING_ENABLED = 0 +##Reporting offset before PPS boundary +#QDR_REPORTING_OFFSET = 20 +##Sensor dispatch threshold declaration +#QDR_SENSDISPATCH_MS = 30 +# diff --git a/configs/gps/flp.conf b/configs/gps/flp.conf new file mode 100644 index 0000000..65d54d3 --- /dev/null +++ b/configs/gps/flp.conf @@ -0,0 +1,60 @@ +################################### +##### FLP settings ##### +################################### + +################################### +# FLP BATCH SIZE +################################### +# The number of batched locations +# requested to modem. The desired number +# defined below may not be satisfied, as +# the modem can only return the number +# of batched locations that can be allocated, +# which is limited by memory. The default +# batch size defined as 20 as below. +BATCH_SIZE=20 + +################################### +# FLP OUTDOOR TRIP BATCH SIZE +################################### +# The number of batched locations +# requested to modem for outdoor +# trip batching. The desired number +# defined below may not be satisfied, as +# the modem can only return the number +# of batched locations that can be allocated, +# which is limited by memory. The default +# trip batch size defined as 600 as below. +OUTDOOR_TRIP_BATCH_SIZE=600 + +################################### +# FLP BATCHING SESSION TIMEOUT +################################### +# Duration with which batch session timeout +# happens in milliseconds. If not specified +# or set to zero, batching session timeout +# defaults to 20 seconds by the modem. +# BATCH_SESSION_TIMEOUT=20000 + +################################### +# FLP BATCHING ACCURACY +################################### +# Set to one of the defined values below +# to define the accuracy of batching. +# If not specified, accuracy defaults +# to LOW. +# FLP BATCHING ACCURACY values: +# Low accuracy = 0 +# Medium accuracy = 1 +# High accuracy = 2 +ACCURACY=1 + +#################################### +# By default if network fixes are not sensor assisted +# these fixes must be dropped. This parameter adds an exception +# for targets where there is no PDR and we still want to +# report out network fixes +# 0: MUST NOT ALLOW NETWORK FIXES +# 1: ALLOW NETWORK FIXES +#################################### +ALLOW_NETWORK_FIXES = 0 diff --git a/configs/gps/gps.conf b/configs/gps/gps.conf new file mode 100644 index 0000000..8d4d7b2 --- /dev/null +++ b/configs/gps/gps.conf @@ -0,0 +1,390 @@ +# Error Estimate +# _SET = 1 +# _CLEAR = 0 +ERR_ESTIMATE=0 + +#NTP server +NTP_SERVER=time.xtracloud.net +NTP_SERVER_2=asia.pool.ntp.org +NTP_SERVER_3=0.cn.pool.ntp.org + +#XTRA CA path +XTRA_CA_PATH=/usr/lib/ssl-1.1/certs + +# DEBUG LEVELS: 0 - none, 1 - Error, 2 - Warning, 3 - Info +# 4 - Debug, 5 - Verbose +# If DEBUG_LEVEL is commented, Android's logging levels will be used +DEBUG_LEVEL = 3 + +# Intermediate position report, 1=enable, 0=disable +INTERMEDIATE_POS=0 + +# supl version 1.0 +SUPL_VER=0x20000 + +# Emergency SUPL, 1=enable, 0=disable +SUPL_ES=0 + +#Choose PDN for Emergency SUPL +#1 - Use emergency PDN +#0 - Use regular SUPL PDN for Emergency SUPL +USE_EMERGENCY_PDN_FOR_EMERGENCY_SUPL=0 + +#SUPL_MODE is a bit mask set in config.xml per carrier by default. +#If it is uncommented here, this value will overwrite the value from +#config.xml. +#MSA=0X2 +#MSB=0X1 +SUPL_MODE=3 + +# GPS Capabilities bit mask +# SCHEDULING = 0x01 +# MSB = 0x02 +# MSA = 0x04 +# ON_DEMAND_TIME = 0x10 +# default = ON_DEMAND_TIME | MSA | MSB | SCHEDULING +CAPABILITIES=0x17 + +# Accuracy threshold for intermediate positions +# less accurate positions are ignored, 0 for passing all positions +ACCURACY_THRES=70 + +################################ +##### AGPS server settings ##### +################################ + +# FOR SUPL SUPPORT, set the following +# SUPL_HOST=supl.host.com or IP +# SUPL_PORT=1234 + +# FOR MO SUPL SUPPORT, set the following +# MO_SUPL_HOST=supl.host.com or IP +# MO_SUPL_PORT=1234 + +# FOR C2K PDE SUPPORT, set the following +# C2K_HOST=c2k.pde.com or IP +# C2K_PORT=1234 + +# Bitmask of slots that are available +# for write/install to, where 1s indicate writable, +# and the default value is 0 where no slots +# are writable. For example, AGPS_CERT_WRITABLE_MASK +# of b1000001010 makes 3 slots available +# and the remaining 7 slots unwritable. +#AGPS_CERT_WRITABLE_MASK=0 + +#################################### +# LTE Positioning Profile Settings +#################################### +# LPP_PROFILE is a bit mask +# 0: Enable RRLP on LTE(Default) +# 1: Enable LPP_User_Plane on LTE +# 2: Enable LPP_Control_Plane +# 3: Enable both LPP_User_Plane and LPP_Control_Plane +LPP_PROFILE = 3 + +#################################### +#Datum Type +#################################### +# 0: WGS-84 +# 1: PZ-90 +DATUM_TYPE = 0 + +################################ +# EXTRA SETTINGS +################################ +# NMEA provider (1=Modem Processor, 0=Application Processor) +NMEA_PROVIDER=0 + +# Customized NMEA GGA fix quality that can be used to tell +# whether SENSOR contributed to the fix. +# +# When this configuration item is not enabled (set to any value that is not 1), +# GGA fix quality conforms to NMEA standard spec as below: +# PPP/DGNSS/SBAS correction fix w/ or w/o sensor: 2 +# RTK fixed fix w/ or w/o sensor: 4 +# RTK float fix w/ or w/o sensor: 5 +# SPE fix w/ or w/o sensor: 1 +# Sensor dead reckoning fix: 6 +# +# When this configuration is enabled (set to 1), GGA fix quality +# will be output as below: +# PPP fix w/o sensor: 59, w/ sensor: 69 +# DGNSS/SBAS correction fix w/o sensor: 2, w/ sensor: 62 +# RTK fixed fix w/o sensor: 4, w/ sensor: 64 +# RTK float fix w/o sensor: 5, w/ sensor: 65, +# SPE fix w/o sensor: 1, and w/ sensor: 61 +# Sensor dead reckoning fix: 6 +# +# any value that is not 1 - disabled +# 1 - enabled +CUSTOM_NMEA_GGA_FIX_QUALITY_ENABLED = 0 + +################################ +# NMEA Reporting Rate Config, valid only when NMEA_PROVIDER is set to "0" +################################ +# NMEA Reporting Rate +# Set it to "1HZ" for 1Hz NMEA Reporting +# Set it to "NHZ" for NHz NMEA Reporting +#Default : NHZ (overridden by position update rate if set to lower rates) +NMEA_REPORT_RATE=NHZ + +# Mark if it is a SGLTE target (1=SGLTE, 0=nonSGLTE) +SGLTE_TARGET=0 + +################################################## +# Select Positioning Protocol on A-GLONASS system +################################################## +# 0x1: RRC CPlane +# 0x2: RRLP UPlane +# 0x4: LLP Uplane +A_GLONASS_POS_PROTOCOL_SELECT = 0xf + +################################################## +# Select technology for LPPe Control Plane +################################################## +# 0x1: DBH for LPPe CP +# 0x2: WLAN AP Measurements for LPPe CP +# 0x4: SRN AP measurement for CP +# 0x8: Sensor Barometer Measurement LPPe CP +#LPPE_CP_TECHNOLOGY = 0 + +################################################## +# Select technology for LPPe User Plane +################################################## +# 0x1: DBH for LPPe UP +# 0x2: WLAN AP Measurements for LPPe UP +# 0x4: SRN AP measurement for UP +# 0x8: Sensor Barometer Measurement LPPe UP +#LPPE_UP_TECHNOLOGY = 0 + +################################################## +# AGPS_CONFIG_INJECT +################################################## +# enable/disable injection of AGPS configurations: +# SUPL_VER +# SUPL_HOST +# SUPL_PORT +# MO_SUPL_HOST +# MO_SUPL_PORT +# C2K_HOST +# C2K_PORT +# LPP_PROFILE +# A_GLONASS_POS_PROTOCOL_SELECT +# 0: disable +# 1: enable +AGPS_CONFIG_INJECT = 1 + +################################################## +# GNSS settings for automotive use cases +# Configurations in following section are +# specific to automotive use cases, others +# please do not change, keep the default values +################################################## + +# AP Coarse Timestamp Uncertainty +################################################## +# default : 10 +# AP time stamp uncertainty, until GNSS receiver +# is able to acquire better timing information +AP_TIMESTAMP_UNCERTAINTY = 10 + +##################################### +# DR_SYNC Pulse Availability +##################################### +# 0 : DR_SYNC pulse not available (default) +# 1 : DR_SYNC pulse available +# This configuration enables the driver to make use +# of PPS events generated by DR_SYNC pulse +# Standard Linux PPS driver needs to be enabled +DR_SYNC_ENABLED = 0 + +##################################### +# PPS Device name +##################################### +PPS_DEVICENAME = /dev/pps0 + +##################################### +# Ignore PPS at Startup and after long outage +##################################### +IGNORE_PPS_PULSE_COUNT = 1 + +##################################### +# Long GNSS RF outage in seconds +##################################### +GNSS_OUTAGE_DURATION = 10 + +##################################### +# AP Clock Accuracy +##################################### +# Quality of APPS processor clock (in PPM). +# Value specified is used for calculation of +# APPS time stamp uncertainty +AP_CLOCK_PPM = 100 + +##################################### +# MAX ms difference to detect missing pulse +##################################### +# Specifies time threshold in ms to validate any missing PPS pulses +MISSING_PULSE_TIME_DELTA = 900 + +##################################### +# Propagation time uncertainty +##################################### +# This settings enables time uncertainty propagation +# logic incase of missing PPS pulse +PROPAGATION_TIME_UNCERTAINTY = 1 + +####################################### +# APN / IP Type Configuration +# APN and IP Type to use for setting +# up WWAN call. +# Use below values for IP Type: +# v4 = 4 +# v6 = 6 +# v4v6 = 10 +####################################### +# INTERNET_APN = abc.xyz +# INTERNET_IP_TYPE = 4 +# SUPL_APN = abc.xyz +# SUPL_IP_TYPE = 4 + +##################################### +# Modem type +##################################### +# This setting configures modem type +# (external=0 or internal=1) +# comment out the next line to vote +# for the first modem in the list +MODEM_TYPE = 1 + +################################################## +# CONSTRAINED TIME UNCERTAINTY MODE +################################################## +# 0 : disabled (default) +# 1 : enabled +# This setting enables GPS engine to keep its time +# uncertainty below the specified constraint +#CONSTRAINED_TIME_UNCERTAINTY_ENABLED = 0 + +# If constrained time uncertainty mode is enabled, +# this setting specifies the time uncertainty +# threshold that gps engine need to maintain. +# In unit of milli-seconds. +# Default is 0.0 meaning that modem default value +# of time uncertainty threshold will be used. +#CONSTRAINED_TIME_UNCERTAINTY_THRESHOLD = 0.0 + +# If constrained time uncertainty mode is enabled, +# this setting specifies the power budget that +# gps engine is allowed to spend to maintain the time +# uncertainty. +# Default is 0 meaning that GPS engine is not constained +# by power budget and can spend as much power as needed. +# In unit of 0.1 milli watt second. +#CONSTRAINED_TIME_UNCERTAINTY_ENERGY_BUDGET = 0 + +################################################## +# POSITION ASSISTED CLOCK ESTIMATOR +################################################## +# 0 : disabled (default) +# 1 : enabled +# This setting enables GPS engine to estimate clock +# bias and drift when the signal from at least 1 +# SV is available and the UE’s position is known by +# other position engines. +#POSITION_ASSISTED_CLOCK_ESTIMATOR_ENABLED = 0 + +##################################### +# proxyAppPackageName +##################################### +# This is a string that is sent to the framework +# in nfwNotifyCb callback +PROXY_APP_PACKAGE_NAME = com.lbe.security.miui + +##################################### +# CP_MTLR_ES +##################################### +# CP MTLR ES, 1=enable, 0=disable +CP_MTLR_ES=0 + +################################################## +# GNSS_DEPLOYMENT +################################################## +# 0 : Enable QTI GNSS (default) +# 1 : Enable QCSR SS5 +# 2 : Enable PDS API +# This setting use to select between QTI GNSS, +# QCSR SS5 hardware receiver, and PDS API. +# By default QTI GNSS receiver is enabled. +# GNSS_DEPLOYMENT = 0 + +################################################## +## LOG BUFFER CONFIGURATION +################################################## +#LOG_BUFFER_ENABLED, 1=enable, 0=disable +#*_LEVEL_TIME_DEPTH, maximum time depth of level * +#in log buffer, unit is second +#*_LEVEL_MAX_CAPACITY, maximum numbers of level * +#log print sentences in log buffer +LOG_BUFFER_ENABLED = 0 +E_LEVEL_TIME_DEPTH = 600 +E_LEVEL_MAX_CAPACITY = 50 +W_LEVEL_TIME_DEPTH = 500 +W_LEVEL_MAX_CAPACITY = 100 +I_LEVEL_TIME_DEPTH = 400 +I_LEVEL_MAX_CAPACITY = 200 +D_LEVEL_TIME_DEPTH = 30 +D_LEVEL_MAX_CAPACITY = 300 +V_LEVEL_TIME_DEPTH = 200 +V_LEVEL_MAX_CAPACITY = 400 + +# Xiaomi add for breaking xtra download limitation +XTRA_TEST_ENABLED = 1 +XTRA_THROTTLE_ENABLED = 0 +XTRA_SYSTEM_TIME_INJECT = 1 +# Mechanism to handle the gnss assistance data download +# in very bad network situations +XTRA_SOCK_KEEPALIVE=1 +################################################## +# Allow buffer diag log packets when diag memory allocation +# fails during boot up time. +################################################## +BUFFER_DIAG_LOGGING = 1 + +####################################### +# NTRIP CLIENT LIBRARY NAME +####################################### +# NTRIP_CLIENT_LIB_NAME = + +################################################## +# Correction Data Framework settings +# Default values: +# CDFW_SOURCE_PRIORITY_1 = INTERNAL_1 RTCM +# CDFW_INJECT_DATA_INTERVAL = 600000 //10 mins +# CDFW_RTCM_MESSAGE_INTERVAL = 1000 //1 second +# +# If multiple sources coexist on a PL, +# the prorioty sequence can be set by the integer number. +# PRIORITY_1 is higher than PRIORITY_2, for example, +# CDFW_SOURCE_PRIORITY_1 = INTERNAL_1 RTCM +# CDFW_SOURCE_PRIORITY_2 = CV2X RTCM +################################################## + +################################################## +# RF LOSS +# The loss in 0.1 dbHz from the C/N0 at the antenna port +# These values must be configured by OEM if not +# supported in QMI LOC message +# There is one entry for each signal type +################################################## +RF_LOSS_GPS = 0 +RF_LOSS_GPS_L5 = 0 +RF_LOSS_GLO_LEFT = 0 +RF_LOSS_GLO_CENTER = 0 +RF_LOSS_GLO_RIGHT = 0 +RF_LOSS_BDS = 0 +RF_LOSS_BDS_B2A = 0 +RF_LOSS_GAL = 0 +RF_LOSS_GAL_E5 = 0 +RF_LOSS_NAVIC = 0 diff --git a/configs/gps/izat.conf b/configs/gps/izat.conf new file mode 100644 index 0000000..e236d24 --- /dev/null +++ b/configs/gps/izat.conf @@ -0,0 +1,277 @@ +######################################### +# Log verbosity control for izat modules +######################################### +# OFF = 0, ERROR = 1, WARNING = 2, INFO = 3, DEBUG = 4, VERBOSE = 5 +IZAT_DEBUG_LEVEL = 2 + +################################################## +# Select WIFI Wait Timeout value in seconds for SUPL +################################################## +WIFI_WAIT_TIMEOUT_SELECT = 0 + +################################################## +# Time interval of injecting SRN scan data to modem +# time in seconds. +# Note: recommended value is between 1-5 sec +################################################## +LPPE_SRN_DATA_SCAN_INJECT_TIME=2 + +################################ +# NLP Settings +################################ +# NLP_MODE 1: OSNLP Only, 2: QNP Only, 3: Combo, 4: QNP preferred +# For Automotive products, please use NLP_MODE = 4 only. +# NLP_TOLERANCE_TIME_FIRST: Time in ms used in Combo mode +# to determine how much Tolerance for first position +# NLP_TOLERANCE_TIME_AFTER: Time in ms used in Combo mode +# to determine how much Tolerance for positions after first +# NLP_THRESHOLD: Sets how many failures needed before +# switching preferred NLP in Combo mode +# NLP_ACCURACY_MULTIPLE: Determines how far off the accuracy +# must be, in multiples, between two NLP location reports to +# be considered much worse accuracy. Used in switching logic +# NLP COMBO MODE USES QNP WITH NO EULA CONSENT: Determines +# whether or not to still send network location requests to +# QNP when the EULA is not consented to by the user. QNP can +# still return ZPP locations or injected locations even +# without EULA consent, but the uncertainty can be high. +# QNP preferred mode prefers QNP when there is EULA consent, +# otherwise OSNLP is used. +NLP_MODE = 1 +NLP_MODE_EMERGENCY = 2 +NLP_TOLERANCE_TIME_FIRST = 5000 +NLP_TOLERANCE_TIME_AFTER = 20000 +NLP_THRESHOLD = 3 +NLP_ACCURACY_MULTIPLE = 2 +NLP_COMBO_MODE_USES_QNP_WITH_NO_EULA_CONSENT = 1 + +######################################### +# NLP PACKAGE SETTINGS +######################################### +# OSNLP_PACKAGE: name of default NLP package +OSNLP_PACKAGE = com.google.android.gms +# REGION_OSNLP_PACKAGE: +# This value will be used as alternative +# for particular region where default NLP is not functional. +#REGION_OSNLP_PACKAGE = + +################################### +# GEOFENCE SERVICES +################################### +# If set to one of the defined values below, it will override +# the responsiveness for geofence services, which implements +# the Proximity Alert API. If not set to a value defined below, +# which is default, it will not override the responsivness. +# The geofence HAL API is unaffected by this value. +# GEOFENCE_SERVICES_RESPONSIVENESS_OVERRIDE Values: +# 1: LOW responsiveness +# 2: MEDIUM responsiveness +# 3: HIGH responsiveness +GEOFENCE_SERVICES_RESPONSIVENESS_OVERRIDE = 0 + +##################################### +#GTP Opt-In app +##################################### + +#GTP privacy policy version url +#https support is required +GTP_PRIVACY_VERSION_URL = https://info.izatcloud.net/privacy/version.html + +#GTP privacy policy version download retry interval +#unit is second. default is 86400 +GTP_PRIVACY_RETRY_INTERVAL = 86400 + +##################################### +# IZAT PREMIUM FEATURE SETTINGS +##################################### +#Possible states of a feature: +#DISABLED +#BASIC +#PREMIUM + +#GTP_MODE valid modes: +# DISABLED +# LEGACY_WWAN +# SDK (WWAN not available for Modems before LocTech 10.0) +# SDK_WIFI (WWAN provided by legacy Modem) +GTP_MODE=DISABLED + +#GTP_WAA valid modes: +# DISABLED +# BASIC +GTP_WAA=DISABLED + +#SAP valid modes: +# DISABLED +# BASIC +# PREMIUM +# PREMIUM_ENV_AIDING +# MODEM_DEFAULT +SAP=PREMIUM + +#FREE_WIFI_SCAN_INJECT valid modes: +#DISABLED +#BASIC +FREE_WIFI_SCAN_INJECT=BASIC + +#SUPL_WIFI valid modes: +#DISABLED +#BASIC +SUPL_WIFI=BASIC + +#WIFI_SUPPLICANT_INFO valid modes: +#DISABLED +#BASIC +WIFI_SUPPLICANT_INFO=BASIC + +##################################### +# Location process launcher settings +##################################### + +# DO NOT MODIFY +# Modifying below attributes without +# caution can have serious implications. + +#Values for PROCESS_STATE: +# ENABLED +# DISABLED + +#Values for LOW_RAM_TARGETS: +# ENABLED +# DISABLED +# Property to enable/disable processes for low ram targets. Uses ro.config.low_ram property +# to identify low ram targets. + +#PROCESS_NAME +# Name of the executable file. + +#FEATURE MASKS: +# GTP-WIFI 0X03 +# GTP-MP-CELL 0xc00 +# GTP-WAA 0x100 +# SAP 0Xc0 +# ODCPI 0x1000 +# FREE_WIFI_SCAN_INJECT 0x2000 +# SUPL_WIFI 0x4000 +# WIFI_SUPPLICANT_INFO 0x8000 + +#Values for PLATFORMS can be: +#1. Any valid values obtained from ro.board.platform separated by single space. For example: msm8960 msm8226 +#2. 'all' or 'all exclude' -> for All platforms +#3. 'all exclude XXXX' -> All platforms exclude XXXX. For example: all exclude msm8937 + +#Values for SOC_IDS can be: +#1. Any valid values obtained from soc_id node separated by single space. For example: 339 386 436 +## soc_id value can be obtained from any one of below node: +## - /sys/devices/soc0/soc_id +## - /sys/devices/system/soc/soc0/id +#2. 'all' or 'all exclude' -> for All soc id's +#3. 'all exclude XXXX' -> All soc id's exclude XXXX. For example: all exclude 339 386 + +#Values for BASEBAND can be: +#1. Any valid values obtained from ro.baseband separated by single space. For example: sglte sglte2 +#2. 'all' or 'all exclude' -> for all basebands +#3. 'all exclude XXXX' -> All basebands exclude XXXX. For example: all exclude sglte +PROCESS_NAME=lowi-server +PROCESS_ARGUMENT= +PROCESS_STATE=ENABLED +PROCESS_GROUPS=gps wifi inet oem_2901 +PREMIUM_FEATURE=0 +IZAT_FEATURE_MASK=0xf303 +PLATFORMS=all +SOC_IDS=all +BASEBAND=all +LOW_RAM_TARGETS=DISABLED +HARDWARE_TYPE=all +VENDOR_ENHANCED_PROCESS=0 + +PROCESS_NAME=xtwifi-inet-agent +PROCESS_ARGUMENT= +PROCESS_STATE=ENABLED +PROCESS_GROUPS=inet gps +PREMIUM_FEATURE=1 +IZAT_FEATURE_MASK=0xc03 +PLATFORMS=all +SOC_IDS=all exclude 386 436 +BASEBAND=all +LOW_RAM_TARGETS=DISABLED +HARDWARE_TYPE=all +VENDOR_ENHANCED_PROCESS=1 + +PROCESS_NAME=xtwifi-client +PROCESS_ARGUMENT= +PROCESS_STATE=ENABLED +PROCESS_GROUPS=wifi inet gps system oem_2904 +PREMIUM_FEATURE=1 +IZAT_FEATURE_MASK=0xd03 +PLATFORMS=all +SOC_IDS=all exclude 386 436 +BASEBAND=all +LOW_RAM_TARGETS=DISABLED +HARDWARE_TYPE=all +VENDOR_ENHANCED_PROCESS=1 + +PROCESS_NAME=slim_daemon +PROCESS_ARGUMENT= +PROCESS_STATE=DISABLED +PROCESS_GROUPS=gps oem_2901 can plugdev diag sensors +PREMIUM_FEATURE=1 +IZAT_FEATURE_MASK=0xf0 +PLATFORMS=all +SOC_IDS=all exclude 386 436 +BASEBAND=all +LOW_RAM_TARGETS=DISABLED +HARDWARE_TYPE=all +VENDOR_ENHANCED_PROCESS=1 + +PROCESS_NAME=xtra-daemon +PROCESS_ARGUMENT= +PROCESS_STATE=ENABLED +PROCESS_GROUPS=inet gps system +PREMIUM_FEATURE=0 +IZAT_FEATURE_MASK=0 +PLATFORMS=all +SOC_IDS=all +BASEBAND=all +LOW_RAM_TARGETS=ENABLED +HARDWARE_TYPE=all +VENDOR_ENHANCED_PROCESS=0 + +######################################## +# Engine Service which host DRE module # +# To enable DRE engine service, change # +# PROCESS_STATE=ENABLED # +######################################## +PROCESS_NAME=engine-service +PROCESS_ARGUMENT=DRE-INT libloc_epDr.so +PROCESS_STATE=DISABLED +PROCESS_GROUPS=gps diag inet qwes oem_2901 system +PREMIUM_FEATURE=0 +IZAT_FEATURE_MASK=0 +PLATFORMS=all +SOC_IDS=all +BASEBAND=all +LOW_RAM_TARGETS=DISABLED +HARDWARE_TYPE=all +VENDOR_ENHANCED_PROCESS=1 + +######################################## +# Engine Service which host PPE module # +# To enable PPE engine service, change # +# PROCESS_STATE=ENABLED # +# and update process arugements # +# with PPE library name # +#PROCESS_ARGUMENT=PPE libepsimulator.so# +######################################## +PROCESS_NAME=engine-service +PROCESS_ARGUMENT=PPE libepsimulator.so +PROCESS_STATE=DISABLED +PROCESS_GROUPS=gps diag inet qwes oem_2901 system +PREMIUM_FEATURE=0 +IZAT_FEATURE_MASK=0 +PLATFORMS=all +SOC_IDS=all +BASEBAND=all +LOW_RAM_TARGETS=DISABLED +HARDWARE_TYPE=all +VENDOR_ENHANCED_PROCESS=1 diff --git a/configs/gps/lowi.conf b/configs/gps/lowi.conf new file mode 100644 index 0000000..482fb42 --- /dev/null +++ b/configs/gps/lowi.conf @@ -0,0 +1,27 @@ +#*====*====*====*====*====*====*====*====*====*====*====*====*====*====*====* +# +# LOWI Config file - default +# +# GENERAL DESCRIPTION +# This file contains the config params for LOWI +# +# Copyright (c) 2019 Qualcomm Technologies, Inc. +# All Rights Reserved. +# Confidential and Proprietary - Qualcomm Technologies, Inc. +# +# 2012-2013 Qualcomm Atheros, Inc. +# All Rights Reserved. +# Qualcomm Atheros Confidential and Proprietary. +# +# Export of this technology or software is regulated by the U.S. Government. +# Diversion contrary to U.S. law prohibited. +#=============================================================================*/ + +# X86 ONLY - UBUNTU: +# Copy this file in the same directory where the executable is + +# Log level +# EL_LOG_OFF = 0, EL_ERROR = 1, EL_WARNING = 2, EL_INFO = 3, EL_DEBUG = 4, EL_VERBOSE = 5, EL_LOG_ALL = 100 +LOWI_LOG_LEVEL = 3 +LOWI_USE_LOWI_LP = 0 + diff --git a/configs/gps/sap.conf b/configs/gps/sap.conf new file mode 100644 index 0000000..e8d27b7 --- /dev/null +++ b/configs/gps/sap.conf @@ -0,0 +1,179 @@ +################################ +# Sensor Settings +################################ +#The following parameters are optional. +#Internal defaults support MEMS sensors +#native to most handset devices. +#Device specific sensor characterization +#for improved performance is possible as +#described in SAP application notes. +#GYRO_BIAS_RANDOM_WALK= +#ACCEL_RANDOM_WALK_SPECTRAL_DENSITY= +#ANGLE_RANDOM_WALK_SPECTRAL_DENSITY= +#RATE_RANDOM_WALK_SPECTRAL_DENSITY= +#VELOCITY_RANDOM_WALK_SPECTRAL_DENSITY= + +# DEBUG LEVELS: 0 - none, 1 - Error, 2 - Warning, 3 - Info +# 4 - Debug, 5 - Verbose +# If DEBUG_LEVEL is commented, Android's logging levels will be used +DEBUG_LEVEL = 0 +# Sensor Sampling Rate Parameters for Low-Data Rate Filter (should be greater than 0) +# used in loc_eng_reinit +SENSOR_ACCEL_BATCHES_PER_SEC=2 +SENSOR_ACCEL_SAMPLES_PER_BATCH=5 +SENSOR_GYRO_BATCHES_PER_SEC=2 +SENSOR_GYRO_SAMPLES_PER_BATCH=5 +# Sensor Sampling Rate Parameters for High-Data Rate Filter (should be greater than 0) +SENSOR_ACCEL_BATCHES_PER_SEC_HIGH=4 +SENSOR_ACCEL_SAMPLES_PER_BATCH_HIGH=25 +SENSOR_GYRO_BATCHES_PER_SEC_HIGH=4 +SENSOR_GYRO_SAMPLES_PER_BATCH_HIGH=25 + +# Sensor Control Mode (0=AUTO, 1=FORCE_ON, 2=MODEM_DEFAULT) +# used in loc_eng_reinit +SENSOR_CONTROL_MODE=2 + +# Bit mask used to define which sensor algorithms are used. +# Setting each bit has the following definition: +# 0x1 - DISABLE_INS_POSITIONING_FILTER +# 0x0 - ENABLE_INS_POSITIONING_FILTER +SENSOR_ALGORITHM_CONFIG_MASK=0x0 + +#Vehicle Network Provider configuration + +#Service configuration strings +#The number before colon in VN_X items defines version of the format of the rest of the string +#VN_ACCEL_CFG=0:5 +#VN_GYRO_CFG=0:5.5 +#VN_ODOMETRY_CFG=0:2,4.5 + +################################################ +# QDR3 configurations # +################################################ +#VN_SPEED_CFG=1:131,5,8,1,2,3,1,1,9,2,14,2 +#VN_GEAR_CFG=1:422,20,4,0,4,1,9,0,1,2,3,4,5,6,7,8 +VN_SPEED_CFG=1:777,0,0,1,3,1,0.002778,0,40,8,32,8 +VN_GEAR_CFG=1:422,20,4,0,4,1,9,0,1,2,3,4,5,6,7,8 + +################################################ +# QDR2-Gyro configurations # +################################################ +#VN_GYRO_CFG=1:555,0,1,0,0,0,0,-6.5,6.6066,-6.5,-1.00,2,6.607,6.6068,0,0,16,0.0002,0,16,0.0002,0,16,0.0002 +#VN_SPEED_CFG=1:555,0,0,1,2,1,0.01,0,56,8,48,8 +#VN_GEAR_CFG=1:555,16,4,0,1,1,9,0,1,2,3,4,5,6,7,8 + +################################################ +# QDR2-DWT configurations # +################################################ +#VN_SPEED_CFG=1:555,22,1,2,1,1,1,0,8,8,23,1,2,0,1,0,8,8,23,1 +#VN_GEAR_CFG=1:555,12,4,16,14,16,8,1,2,3,4,5,6,7,8 +#VN_DWS_CFG=1:555,0,0,1,3,1,1,0,0,8,0,0,8,8,0,0,16,8,0,0,24,8,0,0 +#VN_GYRO_CFG=1:555,40,16,1.0,40,16,1.0,40,16,1.0 + +##################################################################################### +# VNW service batching configuration strings # +# VNW provider will initialize default type as Time based batching # +# Each service batch value is configured to be 100 # +# VN_ACCEL_CFG_BATCH_VALUE will be treated as time in Ms if VN_CFG_BATCH_TYPE # +# is set to time based batching # +# VN_ACCEL_CFG_BATCH_VALUE will be treated as sample count if VN_CFG_BATCH_TYPE # +# is set to count based batching # +# Uncomment and update batch time /sample count as per selected batching type # +##################################################################################### +# Batching type +# 1 - Time based (default) +# 2 - Count based +VN_CFG_BATCH_TYPE=1 + +#Vehicle Accel batching value, it can either accept time in milli seconds or sample count +#VN_ACCEL_CFG_BATCH_VALUE=100 + +#Vehicle Gyro batching value, it can either accept time in milli seconds or sample count +VN_GYRO_CFG_BATCH_VALUE=50 + +#Vehicle Odo batching value, it can either accept time in milli seconds or sample count +#VN_ODOMETRY_CFG_BATCH_VALUE=100 + +#Vehicle Speed batching value, it can either accept time in milli seconds or sample count +VN_SPEED_CFG_BATCH_VALUE=50 + +#Vehicle Gear batching value, it can either accept time in milli seconds or sample count +VN_GEAR_CFG_BATCH_VALUE=50 + +#Vehicle DWS batching value, it can either accept time in milli seconds or sample count +#VN_DWS_CFG_BATCH_VALUE=100 +#################################################################################### + +#Procesors clock ratio: AP and CAN bus microcontroller +################################################ +# QDR3 configurations # +################################################ +VN_PROC_CLOCK_RATIO=1.0 + +################################################ +# QDR2-DWT OR QDR2-Gyro configurations # +################################################ +#VN_PROC_CLOCK_RATIO = 1.0 + +# Time source used by Sensor HAL +# Setting this value controls accuracy of location sensor services. +# 0 - Unknown +# 1 - CLOCK_BOOTTIME +# 2 - CLOCK_MONOTONIC +# 3 - CLOCK_REALTIME +# 4 - CLOCK_BOOTTIME using Alarm timer interface +NDK_PROVIDER_TIME_SOURCE=1 + +# Sensor Batching Configuration +# 0 - Time based +# 1 - Fixed count based +# 2 - Variable count based +COUNT_BASED_BATCHING=1 +SYNC_ONCE=0 + +# Vehicle Network Data optimization +# Default value: 0 +# Value 0x40000 - Speed(bit 18 eSLIM_SERVICE_VEHICLE_SPEED) +# Value 0x80000 - Speed(bit 19 eSLIM_SERVICE_VEHICLE_DWS) +# Value 0x100000 - Speed(bit 20 eSLIM_SERVICE_VEHICLE_GEAR) +VN_ENABLE_DATA_OPTIMIZATION=0x100000 + +# Vehicle Network Data Routing time interval +# This is applicable only if VN_ENABLE_DATA_OPTIMIZATION value is set +# Default value: 5000 msec +VN_DATA_ROUTING_TIME_INTERVAL_MSEC=3000 + +#Sensor HAL Provider Configuration HAL Library name including path +################################################ +# # +# Configuration for BMI 160 Sensor # +# # +################################################ +#SENSOR_TYPE=2 +#SENSOR_HAL_LIB_PATH=/usr/lib/libbmi160sensors.so.1 + +################################################ +# # +# Configuration for ASM330 Sensor # +# # +################################################ +SENSOR_TYPE=1 +SENSOR_HAL_LIB_PATH=/usr/lib/libasm330sensors.so.1 + + +################################################ +# # +# Configuration for IAM20680 Sensor # +# # +################################################ +#SENSOR_TYPE=3 +#SENSOR_HAL_LIB_PATH=/usr/lib/libiam20680sensors.so.1 + + +################################################ +# # +# Configuration for SMI130 Sensor # +# # +################################################ +#SENSOR_TYPE=4 +#SENSOR_HAL_LIB_PATH=/usr/lib/libsmi130sensors.so.1 diff --git a/configs/gps/xtwifi.conf b/configs/gps/xtwifi.conf new file mode 100644 index 0000000..5d7df9e --- /dev/null +++ b/configs/gps/xtwifi.conf @@ -0,0 +1,78 @@ +#GTP AP Project client core config file +# +#GENERAL DESCRIPTION +#This is used by client core +# +#Copyright (c) 2012-2014 Qualcomm Atheros, Inc. +#All Rights Reserved. +#Qualcomm Atheros Confidential and Proprietary. +# +#Copyright (c) 2017 Qualcomm Technologies, Inc. +#All Rights Reserved. +#Confidential and Proprietary - Qualcomm Technologies, Inc. + +############################################################################## +# non-IOT devices configuration items # +# For non-IOT devices, configure below configuration items # +# according to the app note: 80-NK218-1 and remove the configuration items # +# in section of "IOT devices configuration items". # +############################################################################## + +# ASN URI v2 to be used by some GTP AP modules that +# need to run with ASN URI v2 protocol. +XT_SERVER_ROOT_URL = https://gtp1.izatcloud.net:443/uds/v2 + +# ASN URI v3 to be used by GTP AP modules that +# can support ASN URI v3 protocol. +XT_SERVER_ROOT_URL_V3 = https://gtp1.izatcloud.net:443/uds/v3 + +# size, in bytes, of the cache on device +SIZE_BYTE_TOTAL_CACHE = 5000000 + +############################################################################## +# IOT devices configuration items # +# For IOT devices, configure below configuration items # +# according to the app note and remove the configuration items in section of # +# "non-IOT devices configuration items". # +############################################################################## + +# ASN URI v3 to be used by GTP AP modules that +# can support ASN URI v3 protocol. +# XT_SERVER_ROOT_URL_V3 = https://gtpma1.izatcloud.net:443/uds/v3 + +# 3: Wi-Fi APDB injection via Izat SDK. GTP server is not accessed +# for any GTP requests, instead notification is sent to Izat SDK. +# WiFi crowdsourcing module is disabled. +# 4: Wi-Fi APDB injection via Izat SDK. GTP server is not accessed +# for any GTP requests, instead notification is sent to Izat SDK. +# WiFi crowdsourcing module is active, also accessed via Izat SDK. +# GTP_AP_MODE = 4 + +# 1: MP cell features relies on GTP AP for either download or upload +# 0: MP cell features does not rely on GTP AP +# GTP_AP_NEEDED_BY_MP_CELL = 1 + +############################################################################## +# Configuration items applicable to all devices # +############################################################################## + +# Log verbosity control for most of the GTP WiFi system, including native and +# Java componenets +# OFF = 0, ERROR = 1, WARNING = 2, INFO = 3, DEBUG = 4, VERBOSE = 5, ALL = 100 +DEBUG_GLOBAL_LOG_LEVEL = 2 + +# this is used at the server side to distinguish uploads from different maker/model +# default "Qualcomm" +OEM_ID_IN_REQUEST_TO_SERVER = "Qualcomm" + +# this is used at the server side to distinguish uploads from different maker/model +# default "UNKNOWN" +MODEL_ID_IN_REQUEST_TO_SERVER = "UNKNOWN" + +############################################################################## +# Qualcomm Network Location Provider config # +############################################################################## + +# Accuracy Threshold for NLP position. Position exceeds thsi threshold will be filtered out. +# Default is 25000 meters. +LARGE_ACCURACY_THRESHOLD_TO_FILTER_NLP_POSITION = 25000 diff --git a/configs/idc/uinput-fpc.idc b/configs/idc/uinput-fpc.idc new file mode 100644 index 0000000..8412e48 --- /dev/null +++ b/configs/idc/uinput-fpc.idc @@ -0,0 +1,16 @@ +# +# FPC1020 Touch sensor driver +# +# Copyright (c) 2013,2014 Fingerprint Cards AB +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License Version 2 +# as published by the Free Software Foundation. +# + +device.internal = 1 + +keyboard.layout = uinput-fpc +keyboard.builtIn = 1 +keyboard.orientationAware = 1 + diff --git a/configs/idc/uinput-goodix.idc b/configs/idc/uinput-goodix.idc new file mode 100644 index 0000000..2b580cd --- /dev/null +++ b/configs/idc/uinput-goodix.idc @@ -0,0 +1,16 @@ +# +# FPC1020 Touch sensor driver +# +# Copyright (c) 2013,2014 Fingerprint Cards AB +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License Version 2 +# as published by the Free Software Foundation. +# + +device.internal = 1 + +keyboard.layout = uinput-goodix +keyboard.builtIn = 1 +keyboard.orientationAware = 1 + diff --git a/configs/keylayout/gpio-keys.kl b/configs/keylayout/gpio-keys.kl new file mode 100644 index 0000000..7d5afc3 --- /dev/null +++ b/configs/keylayout/gpio-keys.kl @@ -0,0 +1,32 @@ +# Copyright (c) 2013, 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. + +key 115 VOLUME_UP +key 114 VOLUME_DOWN +key 102 HOME +key 528 FOCUS +key 766 CAMERA diff --git a/configs/keylayout/uinput-fpc.kl b/configs/keylayout/uinput-fpc.kl new file mode 100644 index 0000000..035ac09 --- /dev/null +++ b/configs/keylayout/uinput-fpc.kl @@ -0,0 +1,15 @@ +# +# FPC1020 Touch sensor driver +# +# Copyright (c) 2013,2014 Fingerprint Cards AB +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License Version 2 +# as published by the Free Software Foundation. +# + +key 304 DPAD_CENTER VIRTUAL +#key 102 HOME VIRTUAL +#key 108 SYSTEM_NAVIGATION_DOWN +#key 103 SYSTEM_NAVIGATION_DOWN + diff --git a/configs/keylayout/uinput-goodix.kl b/configs/keylayout/uinput-goodix.kl new file mode 100644 index 0000000..8ddf764 --- /dev/null +++ b/configs/keylayout/uinput-goodix.kl @@ -0,0 +1,15 @@ +# +# FPC1020 Touch sensor driver +# +# Copyright (c) 2013,2014 Fingerprint Cards AB +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License Version 2 +# as published by the Free Software Foundation. +# + +# HOME --> DPAD_CENTER +key 102 DPAD_CENTER VIRTUAL +#key 105 DPAD_LEFT VIRTUAL +#key 106 DPAD_RIGHT VIRTUAL + diff --git a/configs/media/media_codecs.xml b/configs/media/media_codecs.xml new file mode 100644 index 0000000..18c43f6 --- /dev/null +++ b/configs/media/media_codecs.xml @@ -0,0 +1,442 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/configs/media/media_codecs_c2.xml b/configs/media/media_codecs_c2.xml new file mode 100644 index 0000000..ca30cf7 --- /dev/null +++ b/configs/media/media_codecs_c2.xml @@ -0,0 +1,312 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/configs/media/media_codecs_google_audio.xml b/configs/media/media_codecs_google_audio.xml new file mode 100644 index 0000000..8899adc --- /dev/null +++ b/configs/media/media_codecs_google_audio.xml @@ -0,0 +1,97 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/configs/media/media_codecs_google_c2.xml b/configs/media/media_codecs_google_c2.xml new file mode 100644 index 0000000..bb78013 --- /dev/null +++ b/configs/media/media_codecs_google_c2.xml @@ -0,0 +1,19 @@ + + + + + + diff --git a/configs/media/media_codecs_google_c2_audio.xml b/configs/media/media_codecs_google_c2_audio.xml new file mode 100644 index 0000000..509f7a9 --- /dev/null +++ b/configs/media/media_codecs_google_c2_audio.xml @@ -0,0 +1,118 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/configs/media/media_codecs_google_c2_video.xml b/configs/media/media_codecs_google_c2_video.xml new file mode 100644 index 0000000..8f9fc99 --- /dev/null +++ b/configs/media/media_codecs_google_c2_video.xml @@ -0,0 +1,146 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/configs/media/media_codecs_google_telephony.xml b/configs/media/media_codecs_google_telephony.xml new file mode 100644 index 0000000..5ad90d9 --- /dev/null +++ b/configs/media/media_codecs_google_telephony.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + diff --git a/configs/media/media_codecs_google_video.xml b/configs/media/media_codecs_google_video.xml new file mode 100644 index 0000000..829f403 --- /dev/null +++ b/configs/media/media_codecs_google_video.xml @@ -0,0 +1,122 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/configs/media/media_codecs_google_video_le.xml b/configs/media/media_codecs_google_video_le.xml new file mode 100644 index 0000000..6eeb845 --- /dev/null +++ b/configs/media/media_codecs_google_video_le.xml @@ -0,0 +1,111 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/configs/media/media_codecs_performance.xml b/configs/media/media_codecs_performance.xml new file mode 100644 index 0000000..8111a34 --- /dev/null +++ b/configs/media/media_codecs_performance.xml @@ -0,0 +1,217 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/configs/media/media_codecs_vendor.xml b/configs/media/media_codecs_vendor.xml new file mode 100644 index 0000000..d262d04 --- /dev/null +++ b/configs/media/media_codecs_vendor.xml @@ -0,0 +1,484 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/configs/media/media_codecs_vendor_audio.xml b/configs/media/media_codecs_vendor_audio.xml new file mode 100644 index 0000000..2164a65 --- /dev/null +++ b/configs/media/media_codecs_vendor_audio.xml @@ -0,0 +1,24 @@ + + + + + + + + + diff --git a/configs/media/media_profiles.xml b/configs/media/media_profiles.xml new file mode 100644 index 0000000..66128d6 --- /dev/null +++ b/configs/media/media_profiles.xml @@ -0,0 +1,867 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/configs/media/media_profiles_vendor.xml b/configs/media/media_profiles_vendor.xml new file mode 100644 index 0000000..22d831b --- /dev/null +++ b/configs/media/media_profiles_vendor.xml @@ -0,0 +1,2294 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/configs/media/system_properties.xml b/configs/media/system_properties.xml new file mode 100644 index 0000000..f029c0d --- /dev/null +++ b/configs/media/system_properties.xml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + diff --git a/configs/msm_irqbalance.conf b/configs/msm_irqbalance.conf new file mode 100644 index 0000000..8689e05 --- /dev/null +++ b/configs/msm_irqbalance.conf @@ -0,0 +1,32 @@ +# Copyright (c) 2017, 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. +# +# + +PRIO=1,1,1,1,0,0,0,0 +#arch_timer, arm-pmu, arch_mem_timer +IGNORED_IRQ=19,21,39 diff --git a/configs/privapp-permissions-qti.xml b/configs/privapp-permissions-qti.xml new file mode 100644 index 0000000..75f7f1b --- /dev/null +++ b/configs/privapp-permissions-qti.xml @@ -0,0 +1,113 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/configs/public.libraries.txt b/configs/public.libraries.txt new file mode 100644 index 0000000..9519061 --- /dev/null +++ b/configs/public.libraries.txt @@ -0,0 +1,32 @@ +libqti-perfd-client.so +libadsprpc.so +libcdsprpc.so +libsdsprpc.so +libfastcvopt.so +liblistensoundmodel2.so +libOpenCL.so +libnpu.so +libmpbase.so 64 +libmialgoengine.so 64 +libVDClearShot.so +libHalSuperSensorServer.so +libSuperSensor.so +libSuperSensorCPU.so +libarcsoft_beautyshot.so 64 +libarcsoft_portrait_lighting.so 64 +libarcsoft_portrait_lighting_c.so 64 +libarcsoft_high_dynamic_range_v5.so 64 +libarcsoft_high_dynamic_range.so 64 +libarcsoft_low_light_hdr.so 64 +libarcsoft_distortion_correction.so 64 +libarcsoft_bodyslim.so 64 +libalCFR.so 64 +libSNPE.so 64 +libsnpe_dsp_domains_v2.so 64 +libcvp.so +libcvp_stub.so +libcvp_common.so +libhta_hexagon_runtime.so +unnhal-acc-hta.so +libalhLDC.so +libalAILDC.so diff --git a/configs/qti_whitelist.xml b/configs/qti_whitelist.xml new file mode 100644 index 0000000..2fbba0a --- /dev/null +++ b/configs/qti_whitelist.xml @@ -0,0 +1,118 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/configs/sec_config b/configs/sec_config new file mode 100644 index 0000000..4689406 --- /dev/null +++ b/configs/sec_config @@ -0,0 +1,333 @@ +/* IPC Security Config */ +/* :: */ +16:4294967295:1000:1021:1026 +/* :: */ +75:4294967295:1000:1001:3006 +/* :: */ +56:4294967295:1021 +/* Allow SS CTL service to be used by system and net_raw processes */ +43:4294967295:1000:3004 +/* :: */ +71:4294967295:1001 +/* :: */ +50:4294967295:1001 +/* QMI-SLIM service permitted to gps and net_raw */ +55:4294967295:1021 +/* Allow Sensor services to be used by sensor process */ +256:4294967295:1000:1006:1013:1021:1047:3011 +257:4294967295:1000:1006:1013:1021:1047:3011 +258:4294967295:1000:1006:1013:1021:1047:3011 +259:4294967295:1000:1006:1013:1021:1047:3011 +260:4294967295:1000:1006:1013:1021:1047:3011 +261:4294967295:1000:1006:1013:1021:1047:3011 +262:4294967295:1000:1006:1013:1021:1047:3011 +263:4294967295:1000:1006:1013:1021:1047:3011 +264:4294967295:1000:1006:1013:1021:1047:3011 +265:4294967295:1000:1006:1013:1021:1047:3011 +266:4294967295:1000:1006:1013:1021:1047:3011 +267:4294967295:1000:1006:1013:1021:1047:3011 +268:4294967295:1000:1006:1013:1021:1047:3011 +269:4294967295:1000:1006:1013:1021:1047:3011 +270:4294967295:1000:1006:1013:1021:1047:3011 +271:4294967295:1000:1006:1013:1021:1047:3011 +272:4294967295:1000:1006:1013:1021:1047:3011 +273:4294967295:1000:1006:1013:1021:1047:3011 +274:4294967295:1000:1006:1013:1021:1047:3011 +275:4294967295:1000:1006:1013:1021:1047:3011 +276:4294967295:1000:1006:1013:1021:1047:3011 +277:4294967295:1000:1006:1013:1021:1047:3011 +278:4294967295:1000:1006:1013:1021:1047:3011 +279:4294967295:1000:1006:1013:1021:1047:3011 +280:4294967295:1000:1006:1013:1021:1047:3011 +281:4294967295:1000:1006:1013:1021:1047:3011 +282:4294967295:1000:1006:1013:1021:1047:3011 +283:4294967295:1000:1006:1013:1021:1047:3011 +284:4294967295:1000:1006:1013:1021:1047:3011 +285:4294967295:1000:1006:1013:1021:1047:3011 +286:4294967295:1000:1006:1013:1021:1047:3011 +287:4294967295:1000:1006:1013:1021:1047:3011 +288:4294967295:1000:1006:1013:1021:1047:3011 +289:4294967295:1000:1006:1013:1021:1047:3011 +290:4294967295:1000:1006:1013:1021:1047:3011 +291:4294967295:1000:1006:1013:1021:1047:3011 +292:4294967295:1000:1006:1013:1021:1047:3011 +293:4294967295:1000:1006:1013:1021:1047:3011 +294:4294967295:1000:1006:1013:1021:1047:3011 +295:4294967295:1000:1006:1013:1021:1047:3011 +296:4294967295:1000:1006:1013:1021:1047:3011 +297:4294967295:1000:1006:1013:1021:1047:3011 +298:4294967295:1000:1006:1013:1021:1047:3011 +299:4294967295:1000:1006:1013:1021:1047:3011 +300:4294967295:1000:1006:1013:1021:1047:3011 +301:4294967295:1000:1006:1013:1021:1047:3011 +302:4294967295:1000:1006:1013:1021:1047:3011 +303:4294967295:1000:1006:1013:1021:1047:3011 +304:4294967295:1000:1006:1013:1021:1047:3011 +305:4294967295:1000:1006:1013:1021:1047:3011 +306:4294967295:1000:1006:1013:1021:1047:3011 +307:4294967295:1000:1006:1013:1021:1047:3011 +308:4294967295:1000:1006:1013:1021:1047:3011 +309:4294967295:1000:1006:1013:1021:1047:3011 +310:4294967295:1000:1006:1013:1021:1047:3011 +311:4294967295:1000:1006:1013:1021:1047:3011 +312:4294967295:1000:1006:1013:1021:1047:3011 +313:4294967295:1000:1006:1013:1021:1047:3011 +314:4294967295:1000:1006:1013:1021:1047:3011 +315:4294967295:1000:1006:1013:1021:1047:3011 +316:4294967295:1000:1006:1013:1021:1047:3011 +317:4294967295:1000:1006:1013:1021:1047:3011 +318:4294967295:1000:1006:1013:1021:1047:3011 +319:4294967295:1000:1006:1013:1021:1047:3011 +320:4294967295:1000:1006:1013:1021:1047:3011 +321:4294967295:1000:1006:1013:1021:1047:3011 +322:4294967295:1000:1006:1013:1021:1047:3011 +323:4294967295:1000:1006:1013:1021:1047:3011 +324:4294967295:1000:1006:1013:1021:1047:3011 +325:4294967295:1000:1006:1013:1021:1047:3011 +326:4294967295:1000:1006:1013:1021:1047:3011 +327:4294967295:1000:1006:1013:1021:1047:3011 +328:4294967295:1000:1006:1013:1021:1047:3011 +329:4294967295:1000:1006:1013:1021:1047:3011 +330:4294967295:1000:1006:1013:1021:1047:3011 +331:4294967295:1000:1006:1013:1021:1047:3011 +332:4294967295:1000:1006:1013:1021:1047:3011 +333:4294967295:1000:1006:1013:1021:1047:3011 +334:4294967295:1000:1006:1013:1021:1047:3011 +335:4294967295:1000:1006:1013:1021:1047:3011 +336:4294967295:1000:1006:1013:1021:1047:3011 +337:4294967295:1000:1006:1013:1021:1047:3011 +338:4294967295:1000:1006:1013:1021:1047:3011 +339:4294967295:1000:1006:1013:1021:1047:3011 +340:4294967295:1000:1006:1013:1021:1047:3011 +341:4294967295:1000:1006:1013:1021:1047:3011 +342:4294967295:1000:1006:1013:1021:1047:3011 +343:4294967295:1000:1006:1013:1021:1047:3011 +344:4294967295:1000:1006:1013:1021:1047:3011 +345:4294967295:1000:1006:1013:1021:1047:3011 +346:4294967295:1000:1006:1013:1021:1047:3011 +347:4294967295:1000:1006:1013:1021:1047:3011 +348:4294967295:1000:1006:1013:1021:1047:3011 +349:4294967295:1000:1006:1013:1021:1047:3011 +350:4294967295:1000:1006:1013:1021:1047:3011 +351:4294967295:1000:1006:1013:1021:1047:3011 +352:4294967295:1000:1006:1013:1021:1047:3011 +353:4294967295:1000:1006:1013:1021:1047:3011 +354:4294967295:1000:1006:1013:1021:1047:3011 +355:4294967295:1000:1006:1013:1021:1047:3011 +356:4294967295:1000:1006:1013:1021:1047:3011 +357:4294967295:1000:1006:1013:1021:1047:3011 +358:4294967295:1000:1006:1013:1021:1047:3011 +359:4294967295:1000:1006:1013:1021:1047:3011 +360:4294967295:1000:1006:1013:1021:1047:3011 +361:4294967295:1000:1006:1013:1021:1047:3011 +362:4294967295:1000:1006:1013:1021:1047:3011 +363:4294967295:1000:1006:1013:1021:1047:3011 +364:4294967295:1000:1006:1013:1021:1047:3011 +365:4294967295:1000:1006:1013:1021:1047:3011 +366:4294967295:1000:1006:1013:1021:1047:3011 +367:4294967295:1000:1006:1013:1021:1047:3011 +368:4294967295:1000:1006:1013:1021:1047:3011 +369:4294967295:1000:1006:1013:1021:1047:3011 +370:4294967295:1000:1006:1013:1021:1047:3011 +371:4294967295:1000:1006:1013:1021:1047:3011 +372:4294967295:1000:1006:1013:1021:1047:3011 +373:4294967295:1000:1006:1013:1021:1047:3011 +374:4294967295:1000:1006:1013:1021:1047:3011 +375:4294967295:1000:1006:1013:1021:1047:3011 +376:4294967295:1000:1006:1013:1021:1047:3011 +377:4294967295:1000:1006:1013:1021:1047:3011 +378:4294967295:1000:1006:1013:1021:1047:3011 +379:4294967295:1000:1006:1013:1021:1047:3011 +380:4294967295:1000:1006:1013:1021:1047:3011 +381:4294967295:1000:1006:1013:1021:1047:3011 +382:4294967295:1000:1006:1013:1021:1047:3011 +383:4294967295:1000:1006:1013:1021:1047:3011 +384:4294967295:1000:1006:1013:1021:1047:3011 +385:4294967295:1000:1006:1013:1021:1047:3011 +386:4294967295:1000:1006:1013:1021:1047:3011 +387:4294967295:1000:1006:1013:1021:1047:3011 +388:4294967295:1000:1006:1013:1021:1047:3011 +389:4294967295:1000:1006:1013:1021:1047:3011 +390:4294967295:1000:1006:1013:1021:1047:3011 +391:4294967295:1000:1006:1013:1021:1047:3011 +392:4294967295:1000:1006:1013:1021:1047:3011 +393:4294967295:1000:1006:1013:1021:1047:3011 +394:4294967295:1000:1006:1013:1021:1047:3011 +395:4294967295:1000:1006:1013:1021:1047:3011 +396:4294967295:1000:1006:1013:1021:1047:3011 +397:4294967295:1000:1006:1013:1021:1047:3011 +398:4294967295:1000:1006:1013:1021:1047:3011 +399:4294967295:1000:1006:1013:1021:1047:3011 +400:4294967295:1000:1006:1013:1021:1047:3011 +401:4294967295:1000:1006:1013:1021:1047:3011 +402:4294967295:1000:1006:1013:1021:1047:3011 +403:4294967295:1000:1006:1013:1021:1047:3011 +404:4294967295:1000:1006:1013:1021:1047:3011 +405:4294967295:1000:1006:1013:1021:1047:3011 +406:4294967295:1000:1006:1013:1021:1047:3011 +407:4294967295:1000:1006:1013:1021:1047:3011 +408:4294967295:1000:1006:1013:1021:1047:3011 +409:4294967295:1000:1006:1013:1021:1047:3011 +410:4294967295:1000:1006:1013:1021:1047:3011 +411:4294967295:1000:1006:1013:1021:1047:3011 +412:4294967295:1000:1006:1013:1021:1047:3011 +413:4294967295:1000:1006:1013:1021:1047:3011 +414:4294967295:1000:1006:1013:1021:1047:3011 +415:4294967295:1000:1006:1013:1021:1047:3011 +416:4294967295:1000:1006:1013:1021:1047:3011 +417:4294967295:1000:1006:1013:1021:1047:3011 +418:4294967295:1000:1006:1013:1021:1047:3011 +419:4294967295:1000:1006:1013:1021:1047:3011 +420:4294967295:1000:1006:1013:1021:1047:3011 +421:4294967295:1000:1006:1013:1021:1047:3011 +422:4294967295:1000:1006:1013:1021:1047:3011 +423:4294967295:1000:1006:1013:1021:1047:3011 +424:4294967295:1000:1006:1013:1021:1047:3011 +425:4294967295:1000:1006:1013:1021:1047:3011 +426:4294967295:1000:1006:1013:1021:1047:3011 +427:4294967295:1000:1006:1013:1021:1047:3011 +428:4294967295:1000:1006:1013:1021:1047:3011 +429:4294967295:1000:1006:1013:1021:1047:3011 +430:4294967295:1000:1006:1013:1021:1047:3011 +431:4294967295:1000:1006:1013:1021:1047:3011 +432:4294967295:1000:1006:1013:1021:1047:3011 +433:4294967295:1000:1006:1013:1021:1047:3011 +434:4294967295:1000:1006:1013:1021:1047:3011 +435:4294967295:1000:1006:1013:1021:1047:3011 +436:4294967295:1000:1006:1013:1021:1047:3011 +437:4294967295:1000:1006:1013:1021:1047:3011 +438:4294967295:1000:1006:1013:1021:1047:3011 +439:4294967295:1000:1006:1013:1021:1047:3011 +440:4294967295:1000:1006:1013:1021:1047:3011 +441:4294967295:1000:1006:1013:1021:1047:3011 +442:4294967295:1000:1006:1013:1021:1047:3011 +443:4294967295:1000:1006:1013:1021:1047:3011 +444:4294967295:1000:1006:1013:1021:1047:3011 +445:4294967295:1000:1006:1013:1021:1047:3011 +446:4294967295:1000:1006:1013:1021:1047:3011 +447:4294967295:1000:1006:1013:1021:1047:3011 +448:4294967295:1000:1006:1013:1021:1047:3011 +449:4294967295:1000:1006:1013:1021:1047:3011 +450:4294967295:1000:1006:1013:1021:1047:3011 +451:4294967295:1000:1006:1013:1021:1047:3011 +452:4294967295:1000:1006:1013:1021:1047:3011 +453:4294967295:1000:1006:1013:1021:1047:3011 +454:4294967295:1000:1006:1013:1021:1047:3011 +455:4294967295:1000:1006:1013:1021:1047:3011 +456:4294967295:1000:1006:1013:1021:1047:3011 +457:4294967295:1000:1006:1013:1021:1047:3011 +458:4294967295:1000:1006:1013:1021:1047:3011 +459:4294967295:1000:1006:1013:1021:1047:3011 +460:4294967295:1000:1006:1013:1021:1047:3011 +461:4294967295:1000:1006:1013:1021:1047:3011 +462:4294967295:1000:1006:1013:1021:1047:3011 +463:4294967295:1000:1006:1013:1021:1047:3011 +464:4294967295:1000:1006:1013:1021:1047:3011 +465:4294967295:1000:1006:1013:1021:1047:3011 +466:4294967295:1000:1006:1013:1021:1047:3011 +467:4294967295:1000:1006:1013:1021:1047:3011 +468:4294967295:1000:1006:1013:1021:1047:3011 +469:4294967295:1000:1006:1013:1021:1047:3011 +470:4294967295:1000:1006:1013:1021:1047:3011 +471:4294967295:1000:1006:1013:1021:1047:3011 +472:4294967295:1000:1006:1013:1021:1047:3011 +473:4294967295:1000:1006:1013:1021:1047:3011 +474:4294967295:1000:1006:1013:1021:1047:3011 +475:4294967295:1000:1006:1013:1021:1047:3011 +476:4294967295:1000:1006:1013:1021:1047:3011 +477:4294967295:1000:1006:1013:1021:1047:3011 +478:4294967295:1000:1006:1013:1021:1047:3011 +479:4294967295:1000:1006:1013:1021:1047:3011 +480:4294967295:1000:1006:1013:1021:1047:3011 +481:4294967295:1000:1006:1013:1021:1047:3011 +482:4294967295:1000:1006:1013:1021:1047:3011 +483:4294967295:1000:1006:1013:1021:1047:3011 +484:4294967295:1000:1006:1013:1021:1047:3011 +485:4294967295:1000:1006:1013:1021:1047:3011 +486:4294967295:1000:1006:1013:1021:1047:3011 +487:4294967295:1000:1006:1013:1021:1047:3011 +488:4294967295:1000:1006:1013:1021:1047:3011 +489:4294967295:1000:1006:1013:1021:1047:3011 +490:4294967295:1000:1006:1013:1021:1047:3011 +491:4294967295:1000:1006:1013:1021:1047:3011 +492:4294967295:1000:1006:1013:1021:1047:3011 +493:4294967295:1000:1006:1013:1021:1047:3011 +494:4294967295:1000:1006:1013:1021:1047:3011 +495:4294967295:1000:1006:1013:1021:1047:3011 +496:4294967295:1000:1006:1013:1021:1047:3011 +497:4294967295:1000:1006:1013:1021:1047:3011 +498:4294967295:1000:1006:1013:1021:1047:3011 +499:4294967295:1000:1006:1013:1021:1047:3011 +500:4294967295:1000:1006:1013:1021:1047:3011 +501:4294967295:1000:1006:1013:1021:1047:3011 +502:4294967295:1000:1006:1013:1021:1047:3011 +503:4294967295:1000:1006:1013:1021:1047:3011 +504:4294967295:1000:1006:1013:1021:1047:3011 +505:4294967295:1000:1006:1013:1021:1047:3011 +506:4294967295:1000:1006:1013:1021:1047:3011 +507:4294967295:1000:1006:1013:1021:1047:3011 +508:4294967295:1000:1006:1013:1021:1047:3011 +509:4294967295:1000:1006:1013:1021:1047:3011 +510:4294967295:1000:1006:1013:1021:1047:3011 +511:4294967295:1000:1006:1013:1021:1047:3011 +/* Allow RCS service to aquire net_raw permission */ +18:4294967295:1001:3004 +/* Allow RCS service to communicate to IMS QMI Priv Svc*/ +77:4294967295:1001:3003 +/* Allow RCS service to access QMI-IMSS service */ +18:4294967295:1001:3003 +/* Allow SSGQMIGD to communicate to SSGCCS service*/ +76:4294967295:1001 +/* Allow cnd to accquire netbind */ +18:4294967295:1000:3003 +/* Allow QMID service to aquire net_raw permission */ +3:4294967295:1001:1021:3004 +2:4294967295:1000:1001:3004 +42:4294967295:1001:3004 +18:4294967295:1001:3004 +9:4294967295:1001:3004 +1:4294967295:1001:3004:1000 +4:4294967295:1001:3004 +7:4294967295:1001:3004 +8:4294967295:1001:3004:1000 +68:4294967295:1001:3004 +/* DPM */ +47:4294967295:1001:3004 +/* Allow communication to some QMI services with radio privilages */ +/* Format is :: */ +/* PBM */ +12:4294967295:1001 +/* WMS */ +5:4294967295:1001 +/* IMS VT */ +32:4294967295:1001 +/* IMSP */ +31:4294967295:1001 +/* PDC */ +36:4294967295:1001 +/* SAR */ +17:4294967295:1001 +/* RFRPE */ +41:4294967295:1001 +/*UIM*/ +11:4294967295:1001 +/*CAT*/ +10:4294967295:1001 +/*IMSA*/ +33:4294967295:1001 +/* CSVT */ +29:4294967295:1001 +/*SERVREG_NOTIF*/ +64:4294967295:1001 +66:4294967295:1001 +73:4294967295:1001 +/*LTE*/ +70:4294967295:1001 +/* Allow Data dpmd to access QMI DFS */ +48:4294967295:1000:3004 +/* DIAG */ +4097:4294967295:2002:2950:3009:2901 +/* :: */ +69:4294967295:1000 +/* :: */ +57:4294967295:1000 diff --git a/configs/seccomp/atfwd@2.0.policy b/configs/seccomp/atfwd@2.0.policy new file mode 100644 index 0000000..d556f3a --- /dev/null +++ b/configs/seccomp/atfwd@2.0.policy @@ -0,0 +1,67 @@ +# Copyright (c) 2020 Qualcomm Technologies, Inc. +# All Rights Reserved. +# Confidential and Proprietary - Qualcomm Technologies, Inc +# +# Not a contribution. +# +# Copyright (C) 2018 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. + +mmap: arg2 in ~PROT_EXEC || arg2 in ~PROT_WRITE +munmap: 1 +getuid: 1 +writev: 1 +prctl: arg0 == PR_SET_VMA || arg0 == PR_GET_DUMPABLE +mprotect: arg2 in ~PROT_EXEC || arg2 in ~PROT_WRITE +openat: 1 +futex: 1 +close: 1 +read: 1 +newfstatat: 1 +fstat: 1 +#ioctl: arg1 == BINDER_WRITE_READ || arg1 == BINDER_SET_MAX_THREADS || arg1 == BINDER_VERSION +ioctl: 1 +mremap: 1 +readlinkat: 1 +pread64: 1 +fstatfs: 1 +rt_sigprocmask: 1 +faccessat: 1 +sendto: 1 +rt_sigaction: 1 +socket: arg0 == AF_UNIX || arg0 == AF_QIPCRTR +recvfrom: 1 +getsockname: 1 +getdents64: 1 +fcntl: 1 +nanosleep: 1 +getrandom: 1 +clone: 1 +pipe2: 1 +exit_group: 1 +write: 1 +exit: 1 +getpid: 1 +sigaltstack: 1 +getrlimit: 1 +restart_syscall: 1 +setsockopt: 1 +sched_getscheduler: 1 +rt_sigreturn: 1 +execve: 1 +madvise: 1 +set_tid_address: 1 +connect: 1 +ppoll: 1 +clock_gettime: 1 diff --git a/configs/seccomp/codec2.vendor.base.policy b/configs/seccomp/codec2.vendor.base.policy new file mode 100644 index 0000000..9d3a478 --- /dev/null +++ b/configs/seccomp/codec2.vendor.base.policy @@ -0,0 +1,89 @@ +################################################################################################### +# Copyright (c) 2020 Qualcomm Technologies, Inc. +# All Rights Reserved. +# Confidential and Proprietary - Qualcomm Technologies, Inc. +################################################################################################### +# +# Not a Contribution. +# + +# Copyright (C) 2019 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. + +futex: 1 +# ioctl calls are filtered via the selinux policy. +ioctl: 1 +sched_yield: 1 +close: 1 +dup: 1 +ppoll: 1 +mprotect: arg2 in ~PROT_EXEC || arg2 in ~PROT_WRITE +mmap2: arg2 in ~PROT_EXEC || arg2 in ~PROT_WRITE +memfd_create: 1 +ftruncate: 1 +ftruncate64: 1 + +mremap: arg3 == 3 +munmap: 1 +prctl: 1 +getuid32: 1 +writev: 1 +sigaltstack: 1 +clone: 1 +exit: 1 +lseek: 1 +rt_sigprocmask: 1 +openat: 1 +open: 1 +fstat64: 1 +write: 1 +nanosleep: 1 +setpriority: 1 +set_tid_address: 1 +getdents64: 1 +readlinkat: 1 +readlink: 1 +read: 1 +pread64: 1 +fstatfs64: 1 +gettimeofday: 1 +faccessat: 1 +_llseek: 1 +fstatat64: 1 +ugetrlimit: 1 +exit_group: 1 +restart_syscall: 1 +rt_sigreturn: 1 +getrandom: 1 +madvise: 1 + +# crash dump policy additions +sigreturn: 1 +clock_gettime: 1 +futex: 1 +getpid: 1 +gettid: 1 +pipe2: 1 +recvmsg: 1 +process_vm_readv: 1 +tgkill: 1 +rt_sigaction: 1 +rt_tgsigqueueinfo: 1 +#prctl: arg0 == PR_GET_NO_NEW_PRIVS || arg0 == 0x53564d41 +#mprotect: arg2 in 0x1|0x2 +#mmap2: arg2 in 0x1|0x2 +geteuid32: 1 +getgid32: 1 +getegid32: 1 +getgroups32: 1 diff --git a/configs/seccomp/codec2.vendor.ext.policy b/configs/seccomp/codec2.vendor.ext.policy new file mode 100644 index 0000000..07b7bf7 --- /dev/null +++ b/configs/seccomp/codec2.vendor.ext.policy @@ -0,0 +1,9 @@ +# device specific syscalls +pselect6: 1 +eventfd2: 1 +sendto: 1 +recvfrom: 1 +_llseek: 1 +sysinfo: 1 +getcwd: 1 +getdents64: 1 diff --git a/configs/seccomp/configstore@1.1.policy b/configs/seccomp/configstore@1.1.policy new file mode 100644 index 0000000..a609620 --- /dev/null +++ b/configs/seccomp/configstore@1.1.policy @@ -0,0 +1,57 @@ +# Copyright (C) 2017 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. + +futex: 1 +# ioctl: arg1 == BINDER_WRITE_READ +ioctl: arg1 == 0xc0306201 +# prctl: arg0 == PR_SET_NAME || arg0 == PR_SET_VMA || arg0 == PR_SET_TIMERSLACK +# || arg0 == PR_GET_NO_NEW_PRIVS # used by crash_dump +# prctl: arg0 == 15 || arg0 == 0x53564d41 || arg0 == 29 || arg0 == 39 +# TODO(b/68162846) reduce scope of prctl() based on arguments +prctl: 1 +openat: 1 +mmap: 1 +mprotect: 1 +close: 1 +getuid: 1 +read: 1 +faccessat: 1 +write: 1 +fstat: 1 +clone: 1 +sched_setscheduler: 1 +munmap: 1 +lseek: 1 +sigaltstack: 1 +writev: 1 +setpriority: 1 +restart_syscall: 1 +exit: 1 +exit_group: 1 +rt_sigreturn: 1 +getrlimit: 1 +madvise: 1 +getdents64: 1 +clock_gettime: 1 +getpid: 1 +gettid: 1 + +# used during process crash by crash_dump to dump process info +rt_sigprocmask: 1 +rt_sigaction: 1 +# socket: arg0 == AF_LOCAL +socket: arg0 == 1 +connect: 1 +recvmsg: 1 +rt_tgsigqueueinfo: 1 diff --git a/configs/seccomp/imsrtp.policy b/configs/seccomp/imsrtp.policy new file mode 100644 index 0000000..3ed54f6 --- /dev/null +++ b/configs/seccomp/imsrtp.policy @@ -0,0 +1,95 @@ +#Copyright (c) 2020 Qualcomm Technologies, Inc. +#All Rights Reserved. +#Confidential and Proprietary - Qualcomm Technologies, Inc + +#Not a contribution. + +#Copyright (C) 2018 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. + +mmap: arg2 in ~PROT_EXEC || arg2 in ~PROT_WRITE +munmap: 1 +mprotect: arg2 in ~PROT_EXEC || arg2 in ~PROT_WRITE +#prctl: arg0 == PR_SET_VMA || arg0 == PR_SET_NO_NEW_PRIVS || arg0 == PR_GET_DUMPABLE || arg0 == PR_SET_SECCOMP || arg0 == 0x37 /* PR_??? */ +prctl: 1 +read: 1 +openat: 1 +close: 1 +shutdown: 1 +kill: 1 +futex: 1 +fstat: 1 +gettimeofday: 1 +readlinkat: 1 +newfstatat: 1 +mremap: 1 +pread64: 1 +fstatfs: 1 +rt_sigaction: 1 +faccessat: 1 +socket: arg0 == AF_UNIX || arg0 == AF_QIPCRTR +writev: 1 +connect: 1 +rt_sigprocmask: 1 +fcntl: 1 +sendto: 1 +getrandom: 1 +lseek: 1 +exit_group: 1 +rt_tgsigqueueinfo: 1 +write: 1 +exit: 1 +getpid: 1 +sigaltstack: 1 +recvmsg: 1 +dup: 1 +getrlimit: 1 +restart_syscall: 1 +clone: 1 +gettid: 1 +sched_getscheduler: 1 +ioctl: 1 +execve: 1 +getuid: 1 +madvise: 1 +set_tid_address: 1 +nanosleep: 1 +rt_sigreturn: 1 +rt_sigsuspend: 1 +setpriority: 1 +geteuid: 1 +getgid: 1 +getegid: 1 +getgroups: 1 +pipe2: 1 +setitimer: 1 +pselect6: 1 +getsockname: 1 +recvfrom: 1 +ppoll: 1 +socketpair: 1 +setsockopt: 1 +getsockopt: 1 +sendmsg: 1 +bind: 1 +timer_create: 1 +timer_settime: 1 +timer_delete: 1 +clock_gettime: 1 +sched_getaffinity: 1 +#crash dump policy addition +socket: 1 +process_vm_readv: 1 +tgkill: 1 + diff --git a/configs/seccomp/mediacodec.policy b/configs/seccomp/mediacodec.policy new file mode 100644 index 0000000..3bf11a3 --- /dev/null +++ b/configs/seccomp/mediacodec.policy @@ -0,0 +1,19 @@ +# device specific syscalls +# extension of services/mediacodec/minijail/seccomp_policy/mediacodec-seccomp-arm.policy +pselect6: 1 +eventfd2: 1 +sendto: 1 +recvfrom: 1 +_llseek: 1 +sysinfo: 1 +getcwd: 1 +getdents64: 1 +ARM_cacheflush: 1 +inotify_init1: 1 +inotify_add_watch: 1 +inotify_rm_watch: 1 +uname: 1 +ueventd: 1 +timer_create: 1 +timer_settime: 1 +rt_sigtimedwait: 1 diff --git a/configs/seccomp/qti-systemd.policy b/configs/seccomp/qti-systemd.policy new file mode 100644 index 0000000..325f300 --- /dev/null +++ b/configs/seccomp/qti-systemd.policy @@ -0,0 +1,79 @@ +# Copyright (c) 2020 Qualcomm Technologies, Inc. +# All Rights Reserved. +# Confidential and Proprietary - Qualcomm Technologies, Inc +# +# Not a contribution. +# +# Copyright (C) 2018 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. + +mmap: arg2 in ~PROT_EXEC || arg2 in ~PROT_WRITE +munmap: 1 +mprotect: arg2 in ~PROT_EXEC || arg2 in ~PROT_WRITE +#prctl: arg0 == 0x37 /* PR_??? */ || arg0 == PR_SET_VMA || arg0 == PR_GET_DUMPABLE || arg0 == PR_SET_SECCOMP || arg0 == PR_CAP_AMBIENT || arg0 == PR_GET_NO_NEW_PRIVS || arg0 == PR_SET_DUMPABLE || arg0 == PR_GET_NAME || arg0 == PR_SET_PTRACER +prctl: 1 +openat: 1 +read: 1 +futex: 1 +close: 1 +fstat: 1 +readlinkat: 1 +newfstatat: 1 +mremap: 1 +fstatfs: 1 +pread64: 1 +rt_sigprocmask: 1 +rt_sigaction: 1 +faccessat: 1 +#ioctl: arg1 == _IOC(_IOC_NONE +ioctl: 1 +clock_gettime: 1 +getrandom: 1 +nanosleep: 1 +fcntl: 1 +getuid: 1 +sigaltstack: 1 +socket: arg0 == AF_QIPCRTR || arg0 == AF_UNIX +writev: 1 +execve: 1 +getpid: 1 +set_tid_address: 1 +sched_getscheduler: 1 +sigaltstack: 1 +sched_getaffinity: 1 +connect: 1 +pipe2: 1 +clone: 1 +ppoll: 1 +restart_syscall: 1 +exit: 1 +exit_group: 1 +rt_sigreturn: 1 +rt_tgsigqueueinfo: 1 +getppid: 1 +dup: 1 +capget: 1 +capset: 1 +setsid: 1 +setitimer: 1 +ptrace: 1 +recvmsg: 1 +exit: 1 +restart_syscall: 1 +gettid: 1 +write: 1 +dup3: 1 +getdents64: 1 +getsockname: 1 +recvfrom: 1 \ No newline at end of file diff --git a/configs/seccomp/vendor.qti.hardware.dsp.policy b/configs/seccomp/vendor.qti.hardware.dsp.policy new file mode 100644 index 0000000..e5b3618 --- /dev/null +++ b/configs/seccomp/vendor.qti.hardware.dsp.policy @@ -0,0 +1,63 @@ +# Copyright (c) 2020 Qualcomm Technologies, Inc. +# All Rights Reserved. +# Confidential and Proprietary - Qualcomm Technologies, Inc +# +# Not a contribution. +# +# Copyright (C) 2018 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. + +mmap: arg2 in ~PROT_EXEC || arg2 in ~PROT_WRITE +munmap: 1 +#prctl: arg0 == PR_SET_VMA || arg0 == PR_GET_DUMPABLE || arg0 == 0x37 +mprotect: arg2 in ~PROT_EXEC || arg2 in ~PROT_WRITE +futex: 1 +read: 1 +openat: 1 +close: 1 +fstat: 1 +readlinkat: 1 +newfstatat: 1 +mremap: 1 +clock_gettime: 1 +pread64: 1 +fstatfs: 1 +rt_sigaction: 1 +faccessat: 1 +rt_sigprocmask: 1 +#ioctl: arg1 == TCGETS || arg1 == BINDER_WRITE_READ || arg1 == BINDER_SET_MAX_THREADS || arg1 == BINDER_VERSION +ioctl: 1 +getrandom: 1 +fcntl: 1 +getuid: 1 +lseek: 1 +exit_group: 1 +sched_getaffinity: 1 +writev: 1 +exit: 1 +getpid: 1 +sigaltstack: 1 +getrlimit: 1 +restart_syscall: 1 +clone: 1 +sched_getscheduler: 1 +execve: 1 +socket: arg0 == AF_UNIX +set_tid_address: 1 +rt_sigreturn: 1 +connect: 1 +gettid: 1 +setpriority: 1 +prctl: 1 +write: 1 diff --git a/configs/seccomp/wfdhdcphalservice.policy b/configs/seccomp/wfdhdcphalservice.policy new file mode 100644 index 0000000..1100707 --- /dev/null +++ b/configs/seccomp/wfdhdcphalservice.policy @@ -0,0 +1,67 @@ +# Copyright (c) 2020 Qualcomm Technologies, Inc. +# All Rights Reserved. +# Confidential and Proprietary - Qualcomm Technologies, Inc +# +# Not a contribution. +# +# Copyright (C) 2019 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. + +mmap2: arg2 in ~PROT_EXEC || arg2 in ~PROT_WRITE +munmap: 1 +mprotect: arg2 in ~PROT_EXEC || arg2 in ~PROT_WRITE +#prctl: arg0 == PR_GET_DUMPABLE || arg0 == PR_SET_VMA +prctl: 1 +openat: 1 +futex: 1 +close: 1 +read: 1 +write: 1 +fstat64: 1 +fstatat64: 1 +readlinkat: 1 +fstatfs64: 1 +pread64: 1 +#ioctl: arg1 == BINDER_VERSION || arg1 == BINDER_SET_MAX_THREADS || arg1 == BINDER_WRITE_READ +ioctl: 1 +faccessat: 1 +clock_gettime: 1 +getuid32: 1 +rt_sigaction: 1 +writev: 1 +madvise: 1 +_llseek: 1 +rt_sigprocmask: 1 +fcntl64: 1 +#set_tls: 1 +personality: 1 +getrandom: 1 +open: 1 +ugetrlimit: 1 +clone: 1 +set_tid_address: 1 +execve: 1 +sched_getscheduler: 1 +exit_group: 1 +rt_sigreturn: 1 +restart_syscall: 1 +connect: 1 +socket: arg0 == AF_UNIX +exit: 1 +readlink: 1 +getpid: 1 +sigaltstack: 1 +setpriority: 1 +getdents64: 1 +dup: 1 \ No newline at end of file diff --git a/configs/seccomp/wfdvndservice.policy b/configs/seccomp/wfdvndservice.policy new file mode 100644 index 0000000..591cf41 --- /dev/null +++ b/configs/seccomp/wfdvndservice.policy @@ -0,0 +1,80 @@ +# Copyright (c) 2020 Qualcomm Technologies, Inc. +# All Rights Reserved. +# Confidential and Proprietary - Qualcomm Technologies, Inc +# +# Not a contribution. +# +# Copyright (C) 2019 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. + +mmap2: arg2 in ~PROT_EXEC || arg2 in ~PROT_WRITE +munmap: 1 +mprotect: arg2 in ~PROT_EXEC || arg2 in ~PROT_WRITE +#prctl: arg0 == PR_SET_VMA || arg0 == PR_GET_DUMPABLE +prctl: 1 +futex: 1 +openat: 1 +fstatat64: 1 +read: 1 +write: 1 +close: 1 +sendto: 1 +clock_gettime: 1 +fstat64: 1 +faccessat: 1 +readlinkat: 1 +pread64: 1 +fstatfs64: 1 +getuid32: 1 +rt_sigaction: 1 +#ioctl: arg1 == BINDER_WRITE_READ || arg1 == BINDER_VERSION || arg1 == BINDER_SET_MAX_THREADS +ioctl: 1 +writev: 1 +rt_sigprocmask: 1 +madvise: 1 +fcntl64: 1 +clone: 1 +#set_tls: 1 +open: 1 +personality: 1 +getrandom: 1 +restart_syscall: 1 +sched_getscheduler: 1 +execve: 1 +socket: arg0 == AF_UNIX +exit_group: 1 +rt_sigreturn: 1 +connect: 1 +set_tid_address: 1 +readlink: 1 +ugetrlimit: 1 +exit: 1 +getpid: 1 +gettid: 1 +sigaltstack: 1 +setpriority: 1 +lseek: 1 +sched_yield: 1 +_llseek: 1 +nanosleep: 1 +flock: 1 +setsockopt: 1 +bind: 1 +getsockname: 1 +listen: 1 +pselect6: 1 +accept4: 1 +sendmsg: 1 +recvfrom: 1 +mremap: 1 diff --git a/configs/seccomp/wifidisplayhalservice.policy b/configs/seccomp/wifidisplayhalservice.policy new file mode 100644 index 0000000..5bb6994 --- /dev/null +++ b/configs/seccomp/wifidisplayhalservice.policy @@ -0,0 +1,94 @@ +# Copyright (c) 2020 Qualcomm Technologies, Inc. +# All Rights Reserved. +# Confidential and Proprietary - Qualcomm Technologies, Inc +# +# Not a contribution. +# +# Copyright (C) 2019 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. + +#ioctl: arg1 == BINDER_WRITE_READ || arg1 == BINDER_VERSION || arg1 == VIDIOC_QBUF || arg1 == BINDER_SET_MAX_THREADS +ioctl: 1 +futex: 1 +mmap2: arg2 in ~PROT_EXEC || arg2 in ~PROT_WRITE +clock_gettime: 1 +dup: 1 +munmap: 1 +mprotect: arg2 in ~PROT_EXEC || arg2 in ~PROT_WRITE +#prctl: arg0 == PR_GET_DUMPABLE || arg0 == PR_SET_VMA +prctl: 1 +openat: 1 +close: 1 +fstat64: 1 +read: 1 +write: 1 +readlinkat: 1 +unlinkat: 1 +mremap: 1 +pread64: 1 +fstatfs64: 1 +fstatat64: 1 +getuid32: 1 +writev: 1 +faccessat: 1 +rt_sigaction: 1 +sendto: 1 +_llseek: 1 +madvise: 1 +rt_sigprocmask: 1 +fcntl64: 1 +#set_tls: 1 +personality: 1 +getrandom: 1 +ugetrlimit: 1 +rt_sigreturn: 1 +set_tid_address: 1 +open: 1 +exit: 1 +sched_getscheduler: 1 +connect: 1 +execve: 1 +getpid: 1 +exit_group: 1 +socket: arg0 == AF_UNIX +clone: 1 +restart_syscall: 1 +sigaltstack: 1 +setpriority: 1 +setsockopt: 1 +getsockopt: 1 +bind: 1 +listen: 1 +socketpair: 1 +getpriority: 1 +pselect6: 1 +accept4: 1 +sendmsg: 1 +sendmmsg: 1 +recvmsg: 1 +recvfrom: 1 +gettimeofday: 1 +lseek: 1 +getsockname: 1 +nanosleep: 1 +ppoll: 1 +timer_create: 1 +timer_delete: 1 +timer_settime: 1 +rt_sigtimedwait: 1 +eventfd2: 1 +tgkill: 1 +gettid: 1 +sched_yield: 1 +flock: 1 diff --git a/configs/sensors/hals.conf b/configs/sensors/hals.conf new file mode 100644 index 0000000..f226164 --- /dev/null +++ b/configs/sensors/hals.conf @@ -0,0 +1,2 @@ +sensors.ssc.so +sensors.touch.so diff --git a/configs/telephony_product_privapp-permissions-qti.xml b/configs/telephony_product_privapp-permissions-qti.xml new file mode 100644 index 0000000..045550c --- /dev/null +++ b/configs/telephony_product_privapp-permissions-qti.xml @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/configs/telephony_system-ext_privapp-permissions-qti.xml b/configs/telephony_system-ext_privapp-permissions-qti.xml new file mode 100644 index 0000000..e54d7e3 --- /dev/null +++ b/configs/telephony_system-ext_privapp-permissions-qti.xml @@ -0,0 +1,82 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/configs/wfd-system-ext-privapp-permissions-qti.xml b/configs/wfd-system-ext-privapp-permissions-qti.xml new file mode 100644 index 0000000..47462f8 --- /dev/null +++ b/configs/wfd-system-ext-privapp-permissions-qti.xml @@ -0,0 +1,11 @@ + + + + + + + diff --git a/configs/wifi/WCNSS_qcom_cfg.ini b/configs/wifi/WCNSS_qcom_cfg.ini new file mode 100644 index 0000000..9d0a100 --- /dev/null +++ b/configs/wifi/WCNSS_qcom_cfg.ini @@ -0,0 +1,635 @@ +# This file allows user to override the factory +# defaults for the WLAN Driver + +# Enable IMPS or not +gEnableImps=1 + +# Enable BMPS or not +gEnableBmps=1 + +# Phy Mode (auto, b, g, n, etc) +# Valid values are 0-9, with 0 = Auto, 4 = 11n, 9 = 11ac +# 1 = 11abg, 2 = 11b, 3 = 11g, 5 = 11g only, 6 = 11n only +# 7 = 11b only 8 = 11ac only. +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 +InfraUapsdVoSrvIntv=0 +InfraUapsdViSrvIntv=0 +InfraUapsdBeSrvIntv=0 +InfraUapsdBkSrvIntv=0 + +# Flag to allow STA send AddTspec even when ACM is Off +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 +hostArpOffload=1 + +#Flag to enable HostNSOffload feature or not +hostNSOffload=1 + +# 802.11n Protection flag +gEnableApProt=1 + +#Enable OBSS protection +gEnableApOBSSProt=1 + +#Enable/Disable UAPSD for SoftAP +gEnableApUapsd=1 + +# Fixed Rate +gFixedRate=0 + +# Maximum Tx power +# gTxPowerCap=30 + +# Fragmentation Threshold +# gFragmentationThreshold=2346 + +# RTS threshold +RTSThreshold=2346 + +# CTS2SELF_ENABLED_4_SWRETRIES +gEnableRTSProfiles=33 + +# Intra-BSS forward +gDisableIntraBssFwd=0 + +# WMM Enable/Disable +WmmIsEnabled=0 + +# 802.11d support +g11dSupportEnabled=0 + +# 802.11h support +g11hSupportEnabled=1 + +# DFS Master Capability +gEnableDFSMasterCap=1 + +# ESE Support and fast transition +EseEnabled=0 + +ImplicitQosIsEnabled=0 + +gNeighborScanTimerPeriod=200 +gNeighborLookupThreshold=76 +gNeighborScanChannelMinTime=20 +gNeighborScanChannelMaxTime=30 +gMaxNeighborReqTries=3 + +# Legacy (non-ESE, non-802.11r) Fast Roaming Support +# To enable, set FastRoamEnabled=1 +# To disable, set FastRoamEnabled=0 +FastRoamEnabled=1 + +# Check if the AP to which we are roaming is better than current AP in +# terms of RSSI. Checking is disabled if set to Zero.Otherwise it will +# use this value as to how better the RSSI of the new/roamable AP should +# be for roaming +RoamRssiDiff=5 + +# To enable, set gRoamIntraBand=1 (Roaming within band) +# To disable, set gRoamIntraBand=0 (Roaming across band) +gRoamIntraBand=0 +# Sets RSSI preference for 5GHz over 2.4GHz AP +gSelect5GHzMargin=5 + +# RSSI threshold offset for 2G to 5G roam +roam_bad_rssi_thresh_offset_2g=0 + +#RSSI threshold for background roam +roam_bg_scan_bad_rssi_thresh=-76 + +#Short Guard Interval Enable/disable +gShortGI20Mhz=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 +gWlanAutoShutdown = 0 + +# Not used. +gApAutoChannelSelection=0 + +#Preferred band (both or 2.4 only or 5 only) +BandCapability=0 + +#Channel Bonding +gChannelBondingMode5GHz=1 + +#Say gGoKeepAlivePeriod(5 seconds) and gGoLinkMonitorPeriod(10 seconds). +#For every 10 seconds DUT send Qos Null frame(i.e., Keep Alive frame if link +#is idle for last 10 seconds.) For both active and power save clients. + +#Power save clients: DUT set TIM bit from 10th second onwards and till client +#honors TIM bit. If doesn't honor for 5 seconds then DUT remove client. + +#Active clients: DUT send Qos Null frame for 10th seconds onwards if it is not +#success still we try on 11th second if not tries on 12th and so on till 15th +#second. Hence before disconnection DUT will send 5 NULL frames. Hence in any +#case DUT will detect client got removed in (10+5) seconds. +#i.e., (gGoKeepAlivePeriod + gGoLinkMonitorPeriod).. + +#gGoLinkMonitorPeriod/ gApLinkMonitorPeriod is period where link is idle and +#it is period where we send NULL frame. +#gApLinkMonitorPeriod = 10 +#gGoLinkMonitorPeriod = 10 + +#gGoKeepAlivePeriod/gApKeepAlivePeriod is time to spend to check whether frame +#are succeed to send or not. Hence total effective detection time is +# (gGoLinkMonitorPeriod + gGoKeepAlivePeriod) / +# (gApLinkMonitorPeriod + gApKeepAlivePeriod) +gGoKeepAlivePeriod = 20 +gApKeepAlivePeriod = 20 + +#Enable Keep alive with non-zero period value +gStaKeepAlivePeriod = 30 + +#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 +gEnableDFSChnlScan=1 + +# Enable DFS channel roam +# 0: DISABLE, 1: ENABLED_NORMAL, 2: ENABLED_ACTIVE +gAllowDFSChannelRoam=1 + +gVhtChannelWidth=2 + +#Data Inactivity Timeout when in powersave (in ms) +gDataInactivityTimeout=200 + +# Set txchainmask and rxchainmask +# These parameters are used only if gEnable2x2 is 0 +# Valid values are 1,2 +# Set gSetTxChainmask1x1=1 or gSetRxChainmask1x1=1 to select chain0. +# Set gSetTxChainmask1x1=2 or gSetRxChainmask1x1=2 to select chain1. +gSetTxChainmask1x1=1 +gSetRxChainmask1x1=1 + +# Scan Timing Parameters +# gPassiveMaxChannelTime=110 +# gPassiveMinChannelTime=60 +gActiveMaxChannelTime=40 +gActiveMinChannelTime=20 + +#max time for active 2G channel scan. +#if set to zero, gActiveMaxChannelTime is used for 2G channel scan. +active_max_channel_time_2g=0 + +#If set to 0, MCC is not allowed. +gEnableMCCMode=1 + +# MCC to SCC Switch mode: +# 0-Disable +# 1-Enable +# 2-Force SCC if same band, with SAP restart +# 3-Force SCC if same band, without SAP restart by sending (E)CSA +# 4-Force SCC if same band (or) use SAP mandatory channel for DBS, +# without SAP restart by sending (E)CSA +gWlanMccToSccSwitchMode = 3 + +# 1=enable STBC; 0=disable STBC +gEnableRXSTBC=1 + +# 1=enable tx STBC; 0=disable +gEnableTXSTBC=1 + +# 1=enable rx LDPC; 0=disable +gEnableRXLDPC=1 + +#Enable/Disable Tx beamforming +gTxBFEnable=1 + +#Enable/Disable Tx beamformee in SAP mode +gEnableTxBFeeSAP=1 + +# Enable Tx beamforming in VHT20MHz +# Valid values are 0,1. If commented out, the default value is 0. +# 0=disable, 1=enable +gEnableTxBFin20MHz=1 + +#Enable/Disable SU Tx beamformer support. +gEnableTxSUBeamformer=1 + +gEnableFastRoamInConcurrency=1 + +#Maxium Channel time in msec +gMaxMediumTime = 6000 + +# 802.11K support +gRrmEnable=1 + +#Enable Power Save offload +gEnablePowerSaveOffload=1 + +#Enable firmware uart print +gEnablefwprint=0 + +# Firmware log mode +# Valid values are 0,1,2 +# 0=Disable, 1=WMI, 2=DIAG +gEnablefwlog=1 + +# Maximum Receive AMPDU size (VHT only. Valid values: +# 0->8k 1->16k 2->32k 3->64k 4->128k) +gVhtAmpduLenExponent=7 + +# Maximum MPDU length (VHT only. Valid values: +# 0->3895 octets, 1->7991 octets, 2->11454 octets) +gVhtMpduLen=2 + +# Maximum number of wow filters required +#gMaxWoWFilters=22 + +# WOW Enable/Disable. +# 0 - Disable both magic pattern match and pattern byte match. +# 1 - Enable magic pattern match on all interfaces. +# 2 - Enable pattern byte match on all interfaces. +# 3 - Enable both magic pattern and pattern byte match on all interfaces. +# Default value of gEnableWoW is 3. +# gEnableWoW=0 + +# Enable or Disable MCC Adaptive Scheduler at the FW +# 1=Enable (default), 0=Disable +gEnableMCCAdaptiveScheduler=1 + +#Enable or Disable p2p device address administered +isP2pDeviceAddrAdministrated=0 + +# Set Thermal Power limit +TxPower2g=10 +TxPower5g=10 + +# Remove Overlap channel restriction +gEnableOverLapCh=0 + +#Enable VHT on 2.4Ghz +gEnableVhtFor24GHzBand=1 + +#Maximum number of offload peers supported +# gMaxOffloadPeers=2 + +# controlling the following offload patterns +# through ini parameter. Default value is 1 +# to disable set it to zero. ssdp = 0 +# Setup multicast pattern for mDNS 224.0.0.251, +# SSDP 239.255.255.250 and LLMNR 224.0.0.252 +ssdp=0 + +#Enable Memory Deep Sleep +gEnableMemDeepSleep=1 + +# Regulatory Setting; 0=STRICT; 1=CUSTOM +gRegulatoryChangeCountry=1 + +# RA filtering rate limit param, the current value would not +# help if the lifetime in RA is less than 3*60=3min. Then +# we need to change it, though it is uncommon. +# gRAFilterEnable=0 +gRArateLimitInterval=600 + +# Maximum number of concurrent connections +gMaxConcurrentActiveSessions=3 + +# Disable/Enable GreenAP +# 0 to disable, 1 to enable, default: 1 +gEnableGreenAp=1 + +# Disable/Enbale Enhanced Green AP +# 0 to disable, 1 to enable, default: 0 +gEnableEGAP=1 + +# Radar PRI multiplier +gDFSradarMappingPriMultiplier=4 + +gPNOScanSupport=1 + +#Enable/Disable LPASS support +# 0 to disable, 1 to enable +gEnableLpassSupport=1 + +# Whether userspace country code setting shld have priority +gCountryCodePriority=1 + +# Enable(1)/Disable(0) SIFS burst +gEnableSifsBurst=1 + +# Enable or Disable Multi-user MIMO +# 1=Enable (default), 0=Disable +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 +gIbssTxSpEndInactivityTime=10 + +# Enable support for TDLS +# 0 - disable +# 1 - enable +gEnableTDLSSupport=1 + +# Enable support for Implicit Trigger of TDLS. That is, wlan driver shall +# initiate TDLS Discovery towards a peer whenever setup criteria (throughput +# and RSSI) is met and then will initiate teardown when teardown criteria +# (idle packet count and RSSI) is met. +# 0 - disable +# 1 - enable +gEnableTDLSImplicitTrigger=1 + +# Enable TDLS External Control. That is, user space application has to +# first configure a peer MAC in wlan driver towards which TDLS is desired. +# Device will establish TDLS only towards those configured peers whenever +# TDLS criteria (throughput and RSSI threshold) is met and teardown TDLS +# when teardown criteria (idle packet count and RSSI) is met. However, +# device will accept TDLS connection if it is initiated from any other peer, +# even if that peer is not configured. +# 0 - disable +# 1 - enable +# For TDLS External Control, Implicit Trigger must also be enabled. +gTDLSExternalControl=1 + +# Enable support for TDLS off-channel operation +# 0 - disable +# 1 - enable +# TDLS off-channel operation will be invoked when there is only one +# TDLS connection. +gEnableTDLSOffChannel=1 + +# Enable or Disable Random MAC (Spoofing) +# 1=Enable (default), 0=Disable +gEnableMacAddrSpoof=1 + +################ Datapath feature set Begin ################ +# Bus bandwidth threshold values in terms of number of packets +gBusBandwidthHighThreshold=2000 +gBusBandwidthMediumThreshold=500 +gBusBandwidthLowThreshold=150 + +# Bus bandwidth compute timeout value in ms +gBusBandwidthComputeInterval=100 + +# VHT Tx/Rx MCS values +# Valid values are 0,1,2. If commented out, the default value is 0. +# 0=MCS0-7, 1=MCS0-8, 2=MCS0-9 +gVhtRxMCS=2 +gVhtTxMCS=2 + +# VHT Tx/Rx MCS values for 2x2 +# Valid values are 0,1,2. If commented out, the default value is 0. +# 0=MCS0-7, 1=MCS0-8, 2=MCS0-9 +gEnable2x2=1 +gVhtRxMCS2x2=2 +gVhtTxMCS2x2=2 + +#IPA config is a bit mask and following are the configurations. +#bit0 IPA Enable +#bit1 IPA PRE Filter enable +#bit2 IPv6 enable +#bit3 IPA Resource Manager (RM) enable +#bit4 IPA Clock scaling enable +#bit5 IPA uC ENABLE +#bit6 IPA uC STA ENABLE +#bit8 IPA Real Time Debugging +gIPAConfig=0x7d +gIPADescSize=800 + +# Enable/Disable RX full reorder offload +gReorderOffloadSupported=1 + +# Enable CE classification +# 1 - enable(default) 0 - disable +gCEClassifyEnable=1 + +# Enable Rx handling options +# Rx_thread=1 RPS=2(default for ROME) NAPI=4(default for ihelium) +rx_mode=5 + +# Enable(Tx) fastpath for data traffic. +# 1 - enable(default) 0 - disable +gEnableFastPath=1 + +# This flag enables IP, TCP and UDP checksum offload +# 1 - enable(default) 0 - disable +gEnableIpTcpUdpChecksumOffload=1 + +# Enable TCP Segmentation Offload +# 1 - enable 0 - disable +TSOEnable=1 + +# Enable Generic Receive Offload +# 1 - enable(default) 0 - disable +GROEnable=1 + +# Enable HT MPDU Density +# 4 for 2 micro sec +ght_mpdu_density=4 + +# Enable flow steering to enable multiple CEs for Rx flows. +# Multiple Rx CEs<==>Multiple Rx IRQs<==>probably different CPUs. +# Parallel Rx paths. +# 1 - enable 0 - disable(default) +gEnableFlowSteering=1 + +# Time in microseconds after which a NAPI poll must yield +ce_service_max_yield_time=500 + +#Maximum number of HTT messages to be processed per NAPI poll +ce_service_max_rx_ind_flush=1 + +# Maximum number of MSDUs the firmware will pack in one HTT_T2H_MSG_TYPE_RX_IN_ORD_PADDR_IND +maxMSDUsPerRxInd=8 + +# Enable NUD tracking feature +# 1 - enable 0 - disable(default) +gEnableNUDTracking=1 + +# Enable PEER UNMAP CONF SUPPORT +# 1 - enable 0 - disable(default) +gEnablePeerUnmapConfSupport=1 + +################ Datapath feature set End ################ + +################ NAN feature set start ################### + +# Enable NAN discovery (NAN 1.0) +# 1 - enable 0 - disable(default) +gEnableNanSupport=1 +# Enable NAN Datapath +genable_nan_datapath=1 + +################ NAN feature set end ##################### + +adaptive_dwell_mode_enabled=1 + +hostscan_adaptive_dwell_mode=1 + +#disable probe request deferral +oce_enable_probe_req_deferral=0 + +adapt_dwell_lpf_weight=80 + +adapt_dwell_wifi_act_threshold=10 + +# Enable pkt log +# 1 - enable, 0 - disable +gEnablePacketLog=1 + +# Force 1x1 for 2.4g SAP, P2P-GC/GO, 2x2 for STA +# gVdevTypeNss_2g=21846 + +# 0: Disable BPF packet filter +# 1: Enable BPF packet filter +gBpfFilterEnable=1 + +gActiveUcBpfMode=1 +gActiveMcBcBpfMode=1 + +# 0: Disable force 1x1 on MTK solution AP +# 1: Enable force 1x1 on MTK solution AP +gForce1x1Exception=0 + +# set modulated DTIM interval +gEnableModulatedDTIM=3 +gMaxLIModulatedDTIM=3 + +# groam_dense_rssi_thresh_offset - Sets dense roam RSSI threshold diff +groam_dense_rssi_thresh_offset=5 + +# Dense traffic threshold in kBps +gtraffic_threshold=50 + +# Set beacon missed count threshold +# if beacon missed counter > gRoamBmissFirstBcnt+gRoamBmissFinalBcnt, +# heartbeat error triggered +gRoamBmissFirstBcnt=10 +gRoamBmissFinalBcnt=20 + +# To enabled/disable PER based roaming in FW +# 0: disabled +# 1: enabled for Rx traffic +# 2: enabled for Tx traffic +# 3: enabled for Tx and Rx traffic +gper_roam_enabled=3 + +# arp_ac_category - ARP access category +# Firmware by default categorizes ARP packets with VOICE TID. +# WME_AC_BE = 0 (Best effort) +# WME_AC_BK = 1 (Background) +# WME_AC_VI = 2 (Video) +# WME_AC_VO = 3 (Voice) +arp_ac_category=0 +# Enable/Disable DTIM Synth +# 1- Enable DTIM Synth +# 0- Disable DTIM Synth +gEnableLPRx=0 + +############################################# +# MAWC related configurations +############################################# + +# MAWCEnabled - Enable/Disable Motion Aided Wireless Connectivity Global +MAWCEnabled=0 + +# mawc_roam_enabled - Enable/Disable MAWC during roaming +mawc_roam_enabled=0 + +# Enable/Disable the Motion Aided Wireless Connectivity +# based NLO using this parameter +mawc_nlo_enabled=0 + +# Enable Packet filters before going into suspend +# will clear those when resume +# bit-0 : drop MAC multicast and IPv4 multicast +# bit-1 : drop MAC unicast and IPv4 multicast +# bit-2 : drop IPv4 broadcast +# bit-3 : drop XID - Exchange station Identification packet +# bit-4 : drop STP - Spanning Tree Protocol +# bit-5 : drop DTP/LLC/CDP +g_enable_packet_filter_bitmap=0 + +#Enable host side recovery +gEnableSelfRecovery=1 + +#enable/disable FT open feature +enable_ftopen=0 + +# This ini is used to allow STA+SAP SCC on LTE coex channel +# 0 - Disallow STA+SAP SCC on LTE coex channel +# 1 - Allow STA+SAP SCC on LTE coex channel +g_sta_sap_scc_on_lte_coex_chan=1 + +# enable/disable GCMP to fix throughput issue +gcmp_enabled=1 + +drop_bcn_on_chan_mismatch=0 + +# Enable/Disable rtt sta mac randomization +enable_rtt_mac_randomization=1 + +# Create another interface during driver load +gEnableConcurrentSTA=wlan1 + +#Enable/Disable SNR monitoring +gEnableSNRMonitoring=1 + +# WLM latency Enable +wlm_latency_enable=1 + +# WLM flags setting for ultralow level, bit9 for BMPS disabled +wlm_latency_flags_ultralow=0xe03 + +#Enable ETSI SRD channels by Xiaomi. Qualcom default value is disable +etsi13_srd_chan_in_master_mode=1 + +#Configures Channel Bonding in 24 GHz +gChannelBondingMode24GHz=0 + +# Allow STA+SAP SCC on DFS channel with master mode support disabled +g_sta_sap_scc_on_dfs_chan=1 + +# Enable wpa3 on 8150 device +sae_enabled=1 + +# Set IPA low/med/high bandwidth mbps +gIPALowBandwidthMbps=100 +gIPAMediumBandwidthMbps=400 +gIPAHighBandwidthMbps=800 + +# Enable/Disable force bandwidth voting during IPA suspend +gIPAForceVotingEnable=1 +spectral_disable=1 + +gEnableSARV1toSARV2=1 + +gStaPrefer80MHzOver160MHz=1 + +# Reduce the expiry time for avoid list and black list in drv. +avoid_list_expiry_time=3 +black_list_expiry_time=3 +# Improve threshold to move the Ap from avoid to blacklist +bad_bssid_counter_thresh=7 +END + +# Note: Configuration parser would not read anything past the END marker + diff --git a/configs/wifi/aoa_cldb_falcon.bin b/configs/wifi/aoa_cldb_falcon.bin new file mode 100644 index 0000000..f9d7551 Binary files /dev/null and b/configs/wifi/aoa_cldb_falcon.bin differ diff --git a/configs/wifi/aoa_cldb_swl14.bin b/configs/wifi/aoa_cldb_swl14.bin new file mode 100644 index 0000000..21fcb9f Binary files /dev/null and b/configs/wifi/aoa_cldb_swl14.bin differ diff --git a/configs/wifi/fstman.ini b/configs/wifi/fstman.ini new file mode 100644 index 0000000..8f04102 --- /dev/null +++ b/configs/wifi/fstman.ini @@ -0,0 +1,24 @@ +[fst_manager] +ctrl_iface=/data/vendor/wifi/hostapd/global +groups=bond0 + +[bond0] +interfaces=wlan0,wigig0 +mux_type=bonding +mux_ifname=bond0 +mux_managed=1 +mac_address_by=wlan0 +rate_upgrade_master=wlan0 +txqueuelen=100 +rate_upgrade_acl_file=/data/vendor/wifi/fst_rate_upgrade.accept + +[wlan0] +priority=100 +default_llt=3600 + +[wigig0] +priority=110 +wpa_group=GCMP +wpa_pairwise=GCMP +hw_mode=ad +channel=2 diff --git a/configs/wifi/icm.conf b/configs/wifi/icm.conf new file mode 100644 index 0000000..e664917 --- /dev/null +++ b/configs/wifi/icm.conf @@ -0,0 +1,116 @@ +# Copyright (c) 2017, 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. + +# icm configuration file + +#number of devices +num_devices=1 + +# Number of Radios +num_radios=1 + +# Communication interface with driver +# options: ioctl OR cfg +walflag=cfg + +# enable daemon +# 0 - disable +# 1 - enable +daemon=0 + +# enable server_mode +# 0 - disable +# 1 - enable +server_mode=0 + +# debug level +# 1 - minor +# 2 - default +# 3 - major +# 4 - critical +debug_level=2 + +# debug mask +# 0x01 - ICM main module +# 0x02 - ICM SCAN module +# 0x04 - ICM_SELELCTOR module +# 0x08 - ICM_UTIL module +# 0x10 - ICM Test module +# 0xFF - Default +debug_module_bitmap=255 + +# socket interface type +# 0 - TCP socket +# 1 - UDP socket +sock_type=1 + +#### Below this, configuration are per interface starting with id_* #### + +# radio interface name +id_0_radio_ifname=phy0 +#id_1_radio_ifname=phy1 +#id_2_radio_ifname=wifi2 + +# device interface name +id_0_dev_ifname=softap0 +#id_1_dev_ifname=p2p0 +#id_2_dev_ifname=ath2 + +# operating band +# 0 - 2.4 GHz band +# 1 - 5 GHz band +id_0_band=0 +id_1_band=1 +#id_2_band=1 + +# PHY specification +# 0 - 11A +# 1 - 11B +# 2 - 11G +# 3 - FH +# 4 - TURBO_A +# 5 - TURBO_G +# 6 - 11NA +# 7 - 11NG +# 8 - 11AC +id_0_phy_spec=7 +id_1_phy_spec=6 +#id_2_physpec=8 + +# channel width +# 0 - HT20 +# 1 - HT40MINUS +# 2 - HT40PLUS +# 3 - HT40 +id_0_channel_width=0 +id_1_channel_width=2 +#id_2_channel_width=0 + +# channel +id_0_channel=6 +id_1_channel=44 +#id_2_channel=36 diff --git a/configs/wifi/p2p_supplicant_overlay.conf b/configs/wifi/p2p_supplicant_overlay.conf new file mode 100644 index 0000000..2b27c5b --- /dev/null +++ b/configs/wifi/p2p_supplicant_overlay.conf @@ -0,0 +1,4 @@ +disable_scan_offload=1 +p2p_no_group_iface=1 +persistent_reconnect=1 +bss_max_count=400 diff --git a/configs/wifi/wpa_supplicant.conf b/configs/wifi/wpa_supplicant.conf new file mode 100644 index 0000000..d5c784b --- /dev/null +++ b/configs/wifi/wpa_supplicant.conf @@ -0,0 +1,8 @@ +update_config=1 +eapol_version=1 +ap_scan=1 +fast_reauth=1 +pmf=1 +p2p_add_cli_chan=1 +oce=1 +bss_no_flush_when_down=1 diff --git a/configs/wifi/wpa_supplicant_overlay.conf b/configs/wifi/wpa_supplicant_overlay.conf new file mode 100644 index 0000000..c73546e --- /dev/null +++ b/configs/wifi/wpa_supplicant_overlay.conf @@ -0,0 +1,8 @@ +disable_scan_offload=1 +p2p_disabled=1 +tdls_external_control=1 +wowlan_triggers=magic_pkt +bss_max_count=400 +interworking=1 +config_methods=virtual_display virtual_push_button keypad +driver_param="no_rrm=1" diff --git a/device.mk b/device.mk new file mode 100644 index 0000000..2f30b6a --- /dev/null +++ b/device.mk @@ -0,0 +1,213 @@ +# Audio +PRODUCT_COPY_FILES += \ + $(LOCAL_PATH)/configs/audio/a2dp_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/a2dp_audio_policy_configuration.xml \ + $(LOCAL_PATH)/configs/audio/audio_configs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_configs.xml \ + $(LOCAL_PATH)/configs/audio/audio_configs_stock.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_configs_stock.xml \ + $(LOCAL_PATH)/configs/audio/audio_effects.conf:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.conf \ + $(LOCAL_PATH)/configs/audio/audio_effects.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.xml \ + $(LOCAL_PATH)/configs/audio/audio_io_policy.conf:$(TARGET_COPY_OUT_VENDOR)/etc/audio_io_policy.conf \ + $(LOCAL_PATH)/configs/audio/audio_platform_info.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_info.xml \ + $(LOCAL_PATH)/configs/audio/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml \ + $(LOCAL_PATH)/configs/audio/audio_policy_engine_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_engine_configuration.xml \ + $(LOCAL_PATH)/configs/audio/audio_policy_engine_configuration_mi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_engine_configuration_mi.xml \ + $(LOCAL_PATH)/configs/audio/audio_policy_engine_default_stream_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_engine_default_stream_volumes.xml \ + $(LOCAL_PATH)/configs/audio/audio_policy_engine_default_stream_volumes_mi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_engine_default_stream_volumes_mi.xml \ + $(LOCAL_PATH)/configs/audio/audio_policy_engine_product_strategies.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_engine_product_strategies.xml \ + $(LOCAL_PATH)/configs/audio/audio_policy_engine_product_strategies_mi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_engine_product_strategies_mi.xml \ + $(LOCAL_PATH)/configs/audio/audio_policy_engine_stream_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_engine_stream_volumes.xml \ + $(LOCAL_PATH)/configs/audio/audio_policy_engine_stream_volumes_mi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_engine_stream_volumes_mi.xml \ + $(LOCAL_PATH)/configs/audio/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml \ + $(LOCAL_PATH)/configs/audio/audio_tuning_mixer.txt:$(TARGET_COPY_OUT_VENDOR)/etc/audio_tuning_mixer.txt \ + $(LOCAL_PATH)/configs/audio/audio_tuning_mixer_tavil.txt:$(TARGET_COPY_OUT_VENDOR)/etc/audio_tuning_mixer_tavil.txt \ + $(LOCAL_PATH)/configs/audio/bluetooth_qti_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_qti_audio_policy_configuration.xml \ + $(LOCAL_PATH)/configs/audio/graphite_ipc_platform_info.xml:$(TARGET_COPY_OUT_VENDOR)/etc/graphite_ipc_platform_info.xml \ + $(LOCAL_PATH)/configs/audio/listen_platform_info.xml:$(TARGET_COPY_OUT_VENDOR)/etc/listen_platform_info.xml \ + $(LOCAL_PATH)/configs/audio/mixer_paths_overlay_dynamic.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_overlay_dynamic.xml \ + $(LOCAL_PATH)/configs/audio/mixer_paths_overlay_static.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_overlay_static.xml \ + $(LOCAL_PATH)/configs/audio/mixer_paths_pahu.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_pahu.xml \ + $(LOCAL_PATH)/configs/audio/mixer_paths_tavil.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_tavil.xml \ + $(LOCAL_PATH)/configs/audio/r_submix_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/r_submix_audio_policy_configuration.xml \ + $(LOCAL_PATH)/configs/audio/sound_trigger_mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_mixer_paths.xml \ + $(LOCAL_PATH)/configs/audio/sound_trigger_mixer_paths_wcd9340.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_mixer_paths_wcd9340.xml \ + $(LOCAL_PATH)/configs/audio/sound_trigger_mixer_paths_wcd9340_qrd.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_mixer_paths_wcd9340_qrd.xml \ + $(LOCAL_PATH)/configs/audio/sound_trigger_platform_info.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_platform_info.xml \ + $(LOCAL_PATH)/configs/audio/usb_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/usb_audio_policy_configuration.xml \ + +# Exclude sensor from InputManager +PRODUCT_COPY_FILES += \ + $(LOCAL_PATH)/configs/excluded-input-devices.xml:system/etc/excluded-input-devices.xml \ + +# GPS +PRODUCT_COPY_FILES += \ + $(LOCAL_PATH)/configs/gps/apdr.conf:$(TARGET_COPY_OUT_VENDOR)/etc/apdr.conf \ + $(LOCAL_PATH)/configs/gps/flp.conf:$(TARGET_COPY_OUT_VENDOR)/etc/flp.conf \ + $(LOCAL_PATH)/configs/gps/gps.conf:$(TARGET_COPY_OUT_VENDOR)/etc/gps.conf \ + $(LOCAL_PATH)/configs/gps/izat.conf:$(TARGET_COPY_OUT_VENDOR)/etc/izat.conf \ + $(LOCAL_PATH)/configs/gps/lowi.conf:$(TARGET_COPY_OUT_VENDOR)/etc/lowi.conf \ + $(LOCAL_PATH)/configs/gps/sap.conf:$(TARGET_COPY_OUT_VENDOR)/etc/sap.conf \ + $(LOCAL_PATH)/configs/gps/xtwifi.conf:$(TARGET_COPY_OUT_VENDOR)/etc/xtwifi.conf \ + +# IDC +PRODUCT_COPY_FILES += \ + $(LOCAL_PATH)/configs/idc/uinput-fpc.idc:$(TARGET_COPY_OUT_VENDOR)/usr/idc/uinput-fpc.idc \ + $(LOCAL_PATH)/configs/idc/uinput-goodix.idc:$(TARGET_COPY_OUT_VENDOR)/usr/idc/uinput-goodix.idc \ + +# IRQ +PRODUCT_COPY_FILES += \ + $(LOCAL_PATH)/configs/msm_irqbalance.conf:$(TARGET_COPY_OUT_VENDOR)/etc/msm_irqbalance.conf \ + +# IRSC +PRODUCT_COPY_FILES += \ + $(LOCAL_PATH)/configs/sec_config:$(TARGET_COPY_OUT_VENDOR)/etc/sec_config \ + +# Keylayout +PRODUCT_COPY_FILES += \ + $(LOCAL_PATH)/configs/keylayout/gpio-keys.kl:$(TARGET_COPY_OUT_VENDOR)/usr/keylayout/gpio-keys.kl \ + $(LOCAL_PATH)/configs/keylayout/uinput-fpc.kl:$(TARGET_COPY_OUT_VENDOR)/usr/keylayout/uinput-fpc.kl \ + $(LOCAL_PATH)/configs/keylayout/uinput-goodix.kl:$(TARGET_COPY_OUT_VENDOR)/usr/keylayout/uinput-goodix.kl \ + +# Low power Whitelist +PRODUCT_COPY_FILES += \ + $(LOCAL_PATH)/configs/qti_whitelist.xml:system/etc/sysconfig/qti_whitelist.xml \ + +# Media +PRODUCT_COPY_FILES += \ + $(LOCAL_PATH)/configs/media/media_codecs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs.xml \ + $(LOCAL_PATH)/configs/media/media_codecs_c2.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_c2.xml \ + $(LOCAL_PATH)/configs/media/media_codecs_google_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_audio.xml \ + $(LOCAL_PATH)/configs/media/media_codecs_google_c2.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_c2.xml \ + $(LOCAL_PATH)/configs/media/media_codecs_google_c2_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_c2_audio.xml \ + $(LOCAL_PATH)/configs/media/media_codecs_google_c2_video.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_c2_video.xml \ + $(LOCAL_PATH)/configs/media/media_codecs_google_telephony.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_telephony.xml \ + $(LOCAL_PATH)/configs/media/media_codecs_google_video.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_video.xml \ + $(LOCAL_PATH)/configs/media/media_codecs_google_video_le.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_video_le.xml \ + $(LOCAL_PATH)/configs/media/media_codecs_performance.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance.xml \ + $(LOCAL_PATH)/configs/media/media_codecs_vendor.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_vendor.xml \ + $(LOCAL_PATH)/configs/media/media_codecs_vendor_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_vendor_audio.xml \ + $(LOCAL_PATH)/configs/media/media_profiles.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles.xml \ + $(LOCAL_PATH)/configs/media/media_profiles_vendor.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_vendor.xml \ + $(LOCAL_PATH)/configs/media/system_properties.xml:$(TARGET_COPY_OUT_VENDOR)/etc/system_properties.xml \ + +# Overlays +DEVICE_PACKAGE_OVERLAYS += \ + $(LOCAL_PATH)/overlay + +# Permissions +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.hardware.audio.low_latency.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.low_latency.xml \ + frameworks/native/data/etc/android.hardware.audio.pro.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.pro.xml \ + frameworks/native/data/etc/android.hardware.bluetooth.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth.xml \ + frameworks/native/data/etc/android.hardware.bluetooth_le.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth_le.xml \ + frameworks/native/data/etc/android.hardware.camera.flash-autofocus.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.flash-autofocus.xml \ + frameworks/native/data/etc/android.hardware.camera.front.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.front.xml \ + frameworks/native/data/etc/android.hardware.camera.full.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.full.xml \ + frameworks/native/data/etc/android.hardware.camera.raw.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.raw.xml \ + frameworks/native/data/etc/android.hardware.consumerir.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.consumerir.xml \ + frameworks/native/data/etc/android.hardware.fingerprint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.fingerprint.xml \ + frameworks/native/data/etc/android.hardware.location.gps.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.location.gps.xml \ + frameworks/native/data/etc/android.hardware.opengles.aep.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.opengles.aep.xml \ + frameworks/native/data/etc/android.hardware.sensor.accelerometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.accelerometer.xml \ + frameworks/native/data/etc/android.hardware.sensor.compass.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.compass.xml \ + frameworks/native/data/etc/android.hardware.sensor.gyroscope.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.gyroscope.xml \ + frameworks/native/data/etc/android.hardware.sensor.light.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.light.xml \ + frameworks/native/data/etc/android.hardware.sensor.proximity.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.proximity.xml \ + frameworks/native/data/etc/android.hardware.sensor.stepcounter.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.stepcounter.xml \ + frameworks/native/data/etc/android.hardware.sensor.stepdetector.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.stepdetector.xml \ + frameworks/native/data/etc/android.hardware.telephony.cdma.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.cdma.xml \ + frameworks/native/data/etc/android.hardware.telephony.gsm.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.gsm.xml \ + frameworks/native/data/etc/android.hardware.telephony.ims.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.ims.xml \ + frameworks/native/data/etc/android.hardware.touchscreen.multitouch.jazzhand.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.touchscreen.multitouch.jazzhand.xml \ + frameworks/native/data/etc/android.hardware.usb.accessory.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.accessory.xml \ + frameworks/native/data/etc/android.hardware.usb.host.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.host.xml \ + frameworks/native/data/etc/android.hardware.vulkan.compute-0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.compute-0.xml \ + frameworks/native/data/etc/android.hardware.vulkan.level-1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.level-1.xml \ + frameworks/native/data/etc/android.hardware.vulkan.version-1_1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.version-1_1.xml \ + frameworks/native/data/etc/android.hardware.wifi.aware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.aware.xml \ + frameworks/native/data/etc/android.hardware.wifi.direct.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.direct.xml \ + frameworks/native/data/etc/android.hardware.wifi.passpoint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.passpoint.xml \ + frameworks/native/data/etc/android.hardware.wifi.rtt.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.rtt.xml \ + frameworks/native/data/etc/android.hardware.wifi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.xml \ + frameworks/native/data/etc/android.software.ipsec_tunnels.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.ipsec_tunnels.xml \ + frameworks/native/data/etc/android.software.midi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.midi.xml \ + frameworks/native/data/etc/android.software.sip.voip.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.sip.voip.xml \ + frameworks/native/data/etc/android.software.verified_boot.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.verified_boot.xml \ + frameworks/native/data/etc/android.software.vulkan.deqp.level.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.vulkan.deqp.level.xml \ + frameworks/native/data/etc/handheld_core_hardware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/handheld_core_hardware.xml \ + +# Public Libraries +PRODUCT_COPY_FILES += \ + $(LOCAL_PATH)/configs/public.libraries.txt:$(TARGET_COPY_OUT_VENDOR)/etc/public.libraries.txt \ + +# QTI +PRODUCT_COPY_FILES += \ + $(LOCAL_PATH)/configs/privapp-permissions-qti.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/privapp-permissions-qti.xml \ + +# Ramdisk +PRODUCT_PACKAGES += \ + capture.sh \ + capture_1adc.sh \ + capture_headset.sh \ + headsetstate.sh \ + init.class_main.sh \ + init.crda.sh \ + init.mdm.sh \ + init.mi.usb.sh \ + init.qcom.class_core.sh \ + init.qcom.coex.sh \ + init.qcom.early_boot.sh \ + init.qcom.efs.sync.sh \ + init.qcom.post_boot.sh \ + init.qcom.sdio.sh \ + init.qcom.sensors.sh \ + init.qcom.sh \ + init.qcom.usb.sh \ + init.qti.chg_policy.sh \ + init.qti.dcvs.sh \ + init.qti.qcv.sh \ + install-recovery.sh \ + mishow.sh \ + playback.sh \ + playback_headset.sh \ + qca6234-service.sh \ + setup_headsetmic2headphone.sh \ + setup_mainmic2headphone.sh \ + setup_topmic2headphone.sh \ + teardown_loopback.sh \ + init.qcom.factory.rc \ + init.qcom.rc \ + init.qcom.usb.rc \ + init.target.rc \ + fstab.qcom \ + ueventd.qcom.rc \ + +# Seccomp +PRODUCT_COPY_FILES += \ + $(LOCAL_PATH)/configs/seccomp/atfwd@2.0.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/atfwd@2.0.policy \ + $(LOCAL_PATH)/configs/seccomp/codec2.vendor.base.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/codec2.vendor.base.policy \ + $(LOCAL_PATH)/configs/seccomp/codec2.vendor.ext.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/codec2.vendor.ext.policy \ + $(LOCAL_PATH)/configs/seccomp/configstore@1.1.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/configstore@1.1.policy \ + $(LOCAL_PATH)/configs/seccomp/imsrtp.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/imsrtp.policy \ + $(LOCAL_PATH)/configs/seccomp/mediacodec.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediacodec.policy \ + $(LOCAL_PATH)/configs/seccomp/qti-systemd.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/qti-systemd.policy \ + $(LOCAL_PATH)/configs/seccomp/vendor.qti.hardware.dsp.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/vendor.qti.hardware.dsp.policy \ + $(LOCAL_PATH)/configs/seccomp/wfdhdcphalservice.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/wfdhdcphalservice.policy \ + $(LOCAL_PATH)/configs/seccomp/wfdvndservice.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/wfdvndservice.policy \ + $(LOCAL_PATH)/configs/seccomp/wifidisplayhalservice.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/wifidisplayhalservice.policy \ + +# Sensors +PRODUCT_COPY_FILES += \ + $(LOCAL_PATH)/configs/sensors/hals.conf:$(TARGET_COPY_OUT_VENDOR)/etc/sensors/hals.conf \ + +# WiFi +PRODUCT_COPY_FILES += \ + $(LOCAL_PATH)/configs/wifi/WCNSS_qcom_cfg.ini:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/WCNSS_qcom_cfg.ini \ + $(LOCAL_PATH)/configs/wifi/aoa_cldb_falcon.bin:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/aoa_cldb_falcon.bin \ + $(LOCAL_PATH)/configs/wifi/aoa_cldb_swl14.bin:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/aoa_cldb_swl14.bin \ + $(LOCAL_PATH)/configs/wifi/fstman.ini:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/fstman.ini \ + $(LOCAL_PATH)/configs/wifi/icm.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/icm.conf \ + $(LOCAL_PATH)/configs/wifi/p2p_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/p2p_supplicant_overlay.conf \ + $(LOCAL_PATH)/configs/wifi/wpa_supplicant.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/wpa_supplicant.conf \ + $(LOCAL_PATH)/configs/wifi/wpa_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/wpa_supplicant_overlay.conf \ + +# Inherit vendor +$(call inherit-product, vendor/xiaomi/bhima/bhima-vendor.mk) \ No newline at end of file diff --git a/framework_compatibility_matrix.xml b/framework_compatibility_matrix.xml new file mode 100644 index 0000000..326d657 --- /dev/null +++ b/framework_compatibility_matrix.xml @@ -0,0 +1,998 @@ + + + + android.hardware.automotive.evs + 1.1 + + IEvsEnumerator + EvsEnumeratorHw + EvsEnumeratorHw-Mock + default + + + + android.hardware.gnss + 1.0-1 + 2.0-1 + + IGnss + default + gnss_vendor + + + + android.hardware.media.c2 + 1.0 + + IComponentStore + default + software + + + + android.hardware.nfc + 1.0 + + INfc + default + + + + android.hardware.radio + 1.0-4 + + IRadio + slot1 + slot2 + + + ISap + slot1 + slot2 + + + + android.hardware.radio.config + 1.0-1 + + IRadioConfig + default + + + + android.hardware.wifi.supplicant + 1.0-2 + + ISupplicant + default + wigigp2p + + + + com.fingerprints.extension + 1.0 + + IFingerprintEngineering + default + + + IFingerprintNavigation + default + + + IFingerprintSensorTest + default + + + + com.qualcomm.qti.dpm.api + 1.0 + + IdpmQmi + dpmQmiService + + + + com.qualcomm.qti.imscmservice + 2.0-2 + + IImsCmService + qti.ims.connectionmanagerservice + + + + com.qualcomm.qti.uceservice + 2.0-1 + 2.2 + + IUceService + com.qualcomm.qti.uceservice + + + + com.qualcomm.qti.wifidisplayhal + 1.0 + + IDSManager + wifidisplaydshal + + + IHDCPSession + wifidisplayhdcphal + + + + com.quicinc.cne.api + 1.0-1 + + IApiService + cnd + + + + com.quicinc.cne.server + 2.0-2 + + IServer + cnd + + + + vendor.display.color + 1.0-5 + + IDisplayColor + default + + + + vendor.display.config + 1.0-15 + 2.0 + + IDisplayConfig + default + + + + vendor.display.postproc + 1.0 + + IDisplayPostproc + default + + + + vendor.goodix.hardware.cap.biometrics.fingerprint + 2.1 + + IGoodixFingerprintDaemon + default + + + IGoodixFingerprintDaemonExt + default + + + + vendor.nxp.hardware.nfc + 1.0-1 + 2.0 + + INqNfc + default + + + + vendor.nxp.nxpnfclegacy + 1.0 + + INxpNfcLegacy + default + + + + vendor.qti.automotive.qcarcam + 1.0 + + IQcarCamera + default + + + + vendor.qti.data.factory + 1.0 + 2.0-1 + + IFactory + default + + + + vendor.qti.diaghal + 1.0 + + Idiag + default + + + + vendor.qti.esepowermanager + 1.0-1 + + IEsePowerManager + default + + + + vendor.qti.gnss + 1.0-2 + 2.0-1 + 3.0 + 4.0 + + ILocHidlGnss + gnss_vendor + + + + vendor.qti.hardware.alarm + 1.0 + + IAlarm + default + + + + vendor.qti.hardware.audiohalext + 1.0 + + IAudioHalExt + default + + + + vendor.qti.hardware.bluetooth_audio + 2.0 + + IBluetoothAudioProvidersFactory + default + + + + vendor.qti.hardware.bluetooth_sar + 1.0-1 + + IBluetoothSar + default + + + + vendor.qti.hardware.btconfigstore + 1.0 + 2.0 + + IBTConfigStore + default + + + + vendor.qti.hardware.cacert + 1.0 + + IService + default + + + + vendor.qti.hardware.camera.postproc + 1.0 + + IPostProcService + camerapostprocservice + + + + vendor.qti.hardware.capabilityconfigstore + 1.0 + + ICapabilityConfigStore + default + + + + vendor.qti.hardware.cryptfshw + 1.0 + + ICryptfsHw + default + + + + vendor.qti.hardware.cvp + 1.0 + + ICvp + cvphalservice + + + + vendor.qti.hardware.data.connection + 1.0-1 + + IDataConnection + slot1 + slot2 + + + + vendor.qti.hardware.data.iwlan + 1.0 + + IIWlan + slot1 + slot2 + + + + vendor.qti.hardware.data.latency + 1.0 + + ILinkLatency + default + + + + vendor.qti.hardware.debugutils + 1.0 + + IDebugUtils + default + + + + vendor.qti.hardware.display.allocator + 1.0 + 3.0 + 4.0 + + IQtiAllocator + default + + + + vendor.qti.hardware.display.composer + 2.0-1 + 3.0 + + IQtiComposer + default + + + + vendor.qti.hardware.display.mapper + 2.0 + 3.0 + 4.0 + + IQtiMapper + default + + + + vendor.qti.hardware.dsp + 1.0 + + IDspService + dspservice + + + + vendor.qti.hardware.eid + 1.0 + + IEid + default + + + + vendor.qti.hardware.embmssl + 1.0 + + IEmbms + embmsslServer0 + + + + vendor.qti.hardware.factory + 1.0-1 + + IFactory + default + + + + vendor.qti.hardware.fingerprint + 1.0 + + IQtiExtendedFingerprint + default + + + + vendor.qti.hardware.fm + 1.0 + + IFmHci + default + + + + vendor.qti.hardware.fstman + 1.0 + + IFstManager + default + + + + vendor.qti.hardware.improvetouch.blobmanager + 1.0 + + IBlobManager + BlobManagerService + + + + vendor.qti.hardware.improvetouch.gesturemanager + 1.0 + + IGestureManager + GestureManagerService + + + + vendor.qti.hardware.improvetouch.touchcompanion + 1.0 + + ITouchCompanion + TouchCompanionService + + + + vendor.qti.hardware.iop + 2.0 + + IIop + default + + + + vendor.qti.hardware.perf + 2.0-2 + + IPerf + default + + + + vendor.qti.hardware.qccsyshal + 1.0 + + IQccsyshal + qccsyshal + + + + vendor.qti.hardware.qccvndhal + 1.0 + + IQccvndhal + qccvndhal + + + + vendor.qti.hardware.qconfig + 1.0 + + IQConfig + default + + + + vendor.qti.hardware.qdutils_disp + 1.0 + + IQdutilsDisp + default + + + + vendor.qti.hardware.qseecom + 1.0 + + IQSEECom + default + + + + vendor.qti.hardware.qteeconnector + 1.0 + + IAppConnector + default + + + IGPAppConnector + default + + + + vendor.qti.hardware.radio.am + 1.0 + + IQcRilAudio + slot1 + slot2 + + + + vendor.qti.hardware.radio.ims + 1.0-6 + + IImsRadio + imsradio0 + imsradio1 + + + + vendor.qti.hardware.radio.internal.deviceinfo + 1.0 + + IDeviceInfo + deviceinfo + + + + vendor.qti.hardware.radio.lpa + 1.0 + + IUimLpa + UimLpa0 + UimLpa1 + + + + vendor.qti.hardware.radio.qcrilhook + 1.0 + + IQtiOemHook + oemhook0 + oemhook1 + + + + vendor.qti.hardware.radio.qtiradio + 1.0 + 2.0-4 + + IQtiRadio + slot1 + slot2 + + + + vendor.qti.hardware.radio.uim + 1.1-2 + + IUim + Uim0 + Uim1 + + + + vendor.qti.hardware.radio.uim_remote_client + 1.0 + + IUimRemoteServiceClient + uimRemoteClient0 + uimRemoteClient1 + + + + vendor.qti.hardware.radio.uim_remote_server + 1.0 + + IUimRemoteServiceServer + uimRemoteServer0 + uimRemoteServer1 + + + + vendor.qti.hardware.scve.objecttracker + 1.0 + + IObjectTracker + objectTracker + + + + vendor.qti.hardware.scve.panorama + 1.0 + + IPanoramaStitching + panoStitching + + + IPanoramaTracking + panoTracking + + + + vendor.qti.hardware.seccam + 1.0 + + ISecCam + default + + + + vendor.qti.hardware.secureprocessor.device + 1.0 + + ISecureProcessor + qti-tee + + + + vendor.qti.hardware.sensorscalibrate + 1.0 + + ISensorsCalibrate + default + + + + vendor.qti.hardware.sensorscalibrate + 1.0 + + ISensorsCalibrate + default + + + + vendor.qti.hardware.servicetracker + 1.0-2 + + IServicetracker + default + + + + vendor.qti.hardware.slmadapter + 1.0 + + ISlmAdapter + SlmAdapter + + + + vendor.qti.hardware.soter + 1.0 + + ISoter + default + + + + vendor.qti.hardware.systemhelper + 1.0 + + ISystemEvent + default + + + ISystemResource + default + + + + vendor.qti.hardware.trustedui + 1.0 + + ITrustedInput + default + qtee-vm + + + ITrustedUI + default + qtee-vm + + + + vendor.qti.hardware.tui_comm + 1.0 + + ITuiComm + default + + + + vendor.qti.hardware.vpp + 1.1-3 + 2.0 + + IHidlVppService + vppService + + + + vendor.qti.hardware.wifi.hostapd + 1.0-2 + + IHostapdVendor + default + wigighostapd + + + + vendor.qti.hardware.wifi.supplicant + 2.0-2 + + ISupplicantVendor + default + + + + vendor.qti.hardware.wifi.wifilearner + 1.0 + + IWifiStats + wifiStats + + + + vendor.qti.hardware.wifidisplaysession + 1.0 + + IWifiDisplaySession + wifidisplaysession + + + IWifiDisplaySessionAudioTrack + wifidisplaysessionaudiotrack + + + IWifiDisplaySessionImageTrack + wifidisplaysessionimagetrack + + + IWifiDisplaySessionVideoTrack + wifidisplaysessionvideotrack + + + + vendor.qti.hardware.wigig.netperftuner + 1.0 + + INetPerfTuner + default + + + + vendor.qti.hardware.wigig.supptunnel + 1.0 + + ISuppTunnelProvider + default + + + + vendor.qti.hardware.wipower + 1.0 + + IWipower + default + + + + vendor.qti.ims.callinfo + 1.0 + + IService + default + + + + vendor.qti.ims.factory + 1.0-1 + + IImsFactory + default + + + + vendor.qti.imsrtpservice + 3.0 + + IRTPService + imsrtpservice + + + + vendor.qti.memory.pasrmanager + 1.0 + + IPasrManager + pasrhal + + + + vendor.qti.power.pasrmanager + 1.0 + + IPasrManager + default + + + + vendor.qti.qspmhal + 1.0 + + IQspmhal + default + + + + vendor.qti.voiceprint + 1.0 + + IQtiVoicePrintService + default + + + + vendor.xiaomi.hardware.citsensorservice + 1.1 + + ICitSensorService + default + + + + vendor.xiaomi.hardware.displayfeature + 1.0 + + IDisplayFeature + default + + + + vendor.xiaomi.hardware.fingerprintextension + 1.0 + + IXiaomiFingerprint + default + + + + vendor.xiaomi.hardware.mfidoca + 1.0 + + IFidoService + default + + + + vendor.xiaomi.hardware.micharge + 1.0 + + IMiCharge + default + + + + vendor.xiaomi.hardware.misys + 1.0 + + IMiSys + default + + + + vendor.xiaomi.hardware.misys + 2.0 + + IMiSys + default + + + + vendor.xiaomi.hardware.misys + 3.0 + + IMiSys + default + + + + vendor.xiaomi.hardware.mlipay + 1.0-1 + + IMlipayService + default + + + + vendor.xiaomi.hardware.mtdservice + 1.0-2 + + IMTService + default + + + + vendor.xiaomi.hardware.otrpagent + 2.0 + + IOTrPAgent + default + + + + vendor.xiaomi.hardware.tidaservice + 1.0-2 + + ITidaService + default + + + + vendor.xiaomi.hardware.touchfeature + 1.0 + + ITouchFeature + default + + + + vendor.xiaomi.hardware.vibratorfeature + 1.0 + + IVibratorFeature + default + + + + vendor.xiaomi.hardware.vsimapp + 1.0 + + IVSIMService + default + + + + 30 + 26.0 + 27.0 + 28.0 + 29.0 + 30.0 + + + 1.0 + + diff --git a/lineage_bhima.mk b/lineage_bhima.mk new file mode 100644 index 0000000..5edf6fd --- /dev/null +++ b/lineage_bhima.mk @@ -0,0 +1,23 @@ +# Inherit from those products. Most specific first. +$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk) +$(call inherit-product, $(SRC_TARGET_DIR)/product/full_base_telephony.mk) + +# Inherit some common Lineage stuff +$(call inherit-product, vendor/lineage/config/common_full_phone.mk) + +# Inherit from bhima device +$(call inherit-product, $(LOCAL_PATH)/device.mk) + +PRODUCT_BRAND := xiaomi +PRODUCT_DEVICE := bhima +PRODUCT_MANUFACTURER := xiaomi +PRODUCT_NAME := lineage_bhima +PRODUCT_MODEL := POCO X3 Pro + +PRODUCT_GMS_CLIENTID_BASE := android-xiaomi +TARGET_VENDOR := xiaomi +TARGET_VENDOR_PRODUCT_NAME := bhima +PRODUCT_BUILD_PROP_OVERRIDES += PRIVATE_BUILD_DESC=" 11 RKQ1.200826.002 V12.0.4.0.RJUEUXM release-keys" + +# Set BUILD_FINGERPRINT variable to be picked up by both system and vendor build.prop +BUILD_FINGERPRINT := POCO/bhima_eea/bhima:11/RKQ1.200826.002/V12.0.4.0.RJUEUXM:user/release-keys diff --git a/manifest.xml b/manifest.xml new file mode 100644 index 0000000..98a21d9 --- /dev/null +++ b/manifest.xml @@ -0,0 +1,20 @@ + + + android.hardware.wifi.supplicant + hwbinder + 1.3 + + ISupplicant + default + + + + vendor.qti.hardware.wifi.supplicant + hwbinder + 2.2 + + ISupplicantVendor + default + + + diff --git a/manifest_android.hardware.drm@1.3-service.clearkey.xml b/manifest_android.hardware.drm@1.3-service.clearkey.xml new file mode 100644 index 0000000..229ee96 --- /dev/null +++ b/manifest_android.hardware.drm@1.3-service.clearkey.xml @@ -0,0 +1,23 @@ + + + + + android.hardware.drm + hwbinder + @1.3::ICryptoFactory/clearkey + @1.3::IDrmFactory/clearkey + + diff --git a/manifest_android.hardware.drm@1.3-service.widevine.xml b/manifest_android.hardware.drm@1.3-service.widevine.xml new file mode 100644 index 0000000..f6f2d88 --- /dev/null +++ b/manifest_android.hardware.drm@1.3-service.widevine.xml @@ -0,0 +1,23 @@ + + + + + android.hardware.drm + hwbinder + @1.3::ICryptoFactory/widevine + @1.3::IDrmFactory/widevine + + diff --git a/manifest_vendor.xiaomi.hardware.mfidoca.xml b/manifest_vendor.xiaomi.hardware.mfidoca.xml new file mode 100644 index 0000000..2ad1da3 --- /dev/null +++ b/manifest_vendor.xiaomi.hardware.mfidoca.xml @@ -0,0 +1,39 @@ + + + + vendor.xiaomi.hardware.mfidoca + hwbinder + 1.0 + + IFidoService + default + + + + diff --git a/manifest_vendor.xiaomi.hardware.mlipay.xml b/manifest_vendor.xiaomi.hardware.mlipay.xml new file mode 100644 index 0000000..f8f09b3 --- /dev/null +++ b/manifest_vendor.xiaomi.hardware.mlipay.xml @@ -0,0 +1,39 @@ + + + + vendor.xiaomi.hardware.mlipay + hwbinder + 1.1 + + IMlipayService + default + + + + diff --git a/manifest_vendor.xiaomi.hardware.mtdservice.xml b/manifest_vendor.xiaomi.hardware.mtdservice.xml new file mode 100644 index 0000000..08b08c1 --- /dev/null +++ b/manifest_vendor.xiaomi.hardware.mtdservice.xml @@ -0,0 +1,39 @@ + + + + vendor.xiaomi.hardware.mtdservice + hwbinder + 1.2 + + IMTService + default + + + + diff --git a/manifest_vendor.xiaomi.hardware.tidaservice.xml b/manifest_vendor.xiaomi.hardware.tidaservice.xml new file mode 100644 index 0000000..7d115e6 --- /dev/null +++ b/manifest_vendor.xiaomi.hardware.tidaservice.xml @@ -0,0 +1,39 @@ + + + + vendor.xiaomi.hardware.tidaservice + hwbinder + 1.2 + + ITidaService + default + + + + diff --git a/manifest_vendor.xiaomi.hardware.vsimapp.xml b/manifest_vendor.xiaomi.hardware.vsimapp.xml new file mode 100644 index 0000000..968be0a --- /dev/null +++ b/manifest_vendor.xiaomi.hardware.vsimapp.xml @@ -0,0 +1,39 @@ + + + + vendor.xiaomi.hardware.vsimapp + hwbinder + 1.0 + + IVSIMService + default + + + + diff --git a/overlay-lineage/lineage-sdk/lineage/res/res/values/config.xml b/overlay-lineage/lineage-sdk/lineage/res/res/values/config.xml new file mode 100644 index 0000000..580a3bd --- /dev/null +++ b/overlay-lineage/lineage-sdk/lineage/res/res/values/config.xml @@ -0,0 +1,8 @@ + + + + + 3082046c30820354a003020102020900e552a8ecb9011b7c300d06092a864886f70d0101050500308180310b300906035504061302434e3110300e060355040813074265696a696e673110300e060355040713074265696a696e67310f300d060355040a13065869616f6d69310d300b060355040b13044d495549310d300b060355040313044d495549311e301c06092a864886f70d010901160f6d697569407869616f6d692e636f6d301e170d3131313230363033323632365a170d3339303432333033323632365a308180310b300906035504061302434e3110300e060355040813074265696a696e673110300e060355040713074265696a696e67310f300d060355040a13065869616f6d69310d300b060355040b13044d495549310d300b060355040313044d495549311e301c06092a864886f70d010901160f6d697569407869616f6d692e636f6d30820120300d06092a864886f70d01010105000382010d00308201080282010100c786568a9aff253ad74c5d3e6fbffa12fed44cd3244f18960ec5511bb551e413115197234845112cc3df9bbacd3e0f4b3528cd87ed397d577dc9008e9cbc6a25fc0664d3a3f440243786db8b250d40f6f148c9a3cd6fbc2dd8d24039bd6a8972a1bdee28c308798bfa9bb3b549877b10f98e265f118c05f264537d95e29339157b9d2a31485e0c823521cca6d0b721a8432600076d669e20ac43aa588b52c11c2a51f04c6bb31ad6ae8573991afe8e4957d549591fcb83ec62d1da35b1727dc6b63001a5ef387b5a7186c1e68da1325772b5307b1bc739ef236b9efe06d52dcaf1e32768e3403e55e3ec56028cf5680cfb33971ccf7870572bc47d3e3affa385020103a381e83081e5301d0603551d0e0416041491ae2f8c72e305f92aa9f7452e2a3160b841a15c3081b50603551d230481ad3081aa801491ae2f8c72e305f92aa9f7452e2a3160b841a15ca18186a48183308180310b300906035504061302434e3110300e060355040813074265696a696e673110300e060355040713074265696a696e67310f300d060355040a13065869616f6d69310d300b060355040b13044d495549310d300b060355040313044d495549311e301c06092a864886f70d010901160f6d697569407869616f6d692e636f6d820900e552a8ecb9011b7c300c0603551d13040530030101ff300d06092a864886f70d010105050003820101003b3a699ceb497300f2ab86cbd41c513440bf60aa5c43984eb1da140ef30544d9fbbb3733df24b26f2703d7ffc645bf598a5e6023596a947e91731542f2c269d0816a69c92df9bfe8b1c9bc3c54c46c12355bb4629fe6020ca9d15f8d6155dc5586f5616db806ecea2d06bd83e32b5f13f5a04fe3e5aa514f05df3d555526c63d3d62acf00adee894b923c2698dc571bc52c756ffa7a2221d834d10cb7175c864c30872fe217c31442dff0040a67a2fb1c8ba63eac2d5ba3d8e76b4ff2a49b0db8a33ef4ae0dd0a840dd2a8714cb5531a56b786819ec9eb1051d91b23fde06bd9d0708f150c4f9efe6a416ca4a5e0c23a952af931ad3579fb4a8b19de98f64bd9 + + \ No newline at end of file diff --git a/overlay/frameworks/base/core/res/res/values/config.xml b/overlay/frameworks/base/core/res/res/values/config.xml new file mode 100644 index 0000000..3da4f60 --- /dev/null +++ b/overlay/frameworks/base/core/res/res/values/config.xml @@ -0,0 +1,403 @@ + + + + + + + + + false + + + true + + + false + + + false + + + true + + + false + true + + + false + + + true + + + true + + + true + + + false + + + false + + + true + true + true + true + + + false + + + false + + + false + + + false + + + true + + + true + + + true + + + false + + + false + + + true + + + false + + + false + + + true + + + false + + + false + + + false + + + false + + + false + + + false + + + true + + + true + + + true + + + false + + + false + + + false + + + + false + + + 24.0dip + + + 300.0% + + + 29.999996% + + + 4000 + 8000 + + + 0 + + + 180 + + + 60 + 0 + + + 1 + + + 0xFF00FF00 + + + 0xFFFF0000 + + + 0xFFFFFF00 + + + 1 + + + 10 + + + 1 + + + 102 + + + 10 + + + 680 + + + com.miui.aod/com.miui.aod.doze.DozeService + + + eth\\d + + + 524288,1048576,5505024,262144,524288,4194304 + + + + 40 + + + + + 0 + 1 + 20 + 21 + + + + + + 1 + 0 + 5 + 7 + + + + + 0 + 10 + 20 + 30 + + + + + /data/dalvik-cache/arm64/system@framework@boot.oat + /data/dalvik-cache/arm/system@framework@boot.oat + /data/dalvik-cache/arm64/system@framework@services.jar@classes.dex + /data/dalvik-cache/arm/system@framework@services.jar@classes.dex + /system/framework/arm64/boot.oat + /system/framework/arm/boot.oat + /system/framework/oat/arm64/services.odex + /system/framework/oat/arm/services.odex + /system/framework/arm64/boot-framework.oat + /system/framework/arm/boot-framework.oat + /system/framework/arm64/boot-core-libart.oat + /system/framework/arm/boot-core-libart.oat + /system/lib64/libRScpp.so + /system/lib64/libRS.so + /system/lib64/libRS_internal.so + /system/lib64/libbcinfo.so + /system/lib64/libRSDriver.so + /system/lib64/libRSCpuRef.so + /system/lib64/libblas.so + + + + + + + wifi,1,1,1,-1,true + mobile,0,0,0,-1,true + mobile_mms,2,0,4,300000,true + mobile_supl,3,0,2,300000,true + mobile_dun,4,0,2,300000,true + mobile_hipri,5,0,3,300000,true + mobile_fota,10,0,2,300000,true + mobile_ims,11,0,2,300000,true + mobile_cbs,12,0,2,300000,true + bluetooth,7,7,2,-1,true + ethernet,9,9,4,-1,true + + + + + + 1,1 + 0,1 + 7,1 + 9,1 + + + \ No newline at end of file diff --git a/overlay/frameworks/base/core/res/res/xml/power_profile.xml b/overlay/frameworks/base/core/res/res/xml/power_profile.xml new file mode 100644 index 0000000..18f5ad4 --- /dev/null +++ b/overlay/frameworks/base/core/res/res/xml/power_profile.xml @@ -0,0 +1,67 @@ + + + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + + 0.2 + 0.1 + + + 0.1 + + + 1 + + + 400000 + + + 0.1 + + 0.1 + + 22.7 + + 1000 + 0 + 0 + 0 + + 0 + + .0002 + .002 + .02 + .2 + 2 + + 0 + 0 + 0 + + 0 + 0 + 0 + 0 + 0 + + 0 + + 0 + 0 + + 0 + \ No newline at end of file diff --git a/overlay/packages/apps/CarrierConfig/res/xml/vendor.xml b/overlay/packages/apps/CarrierConfig/res/xml/vendor.xml new file mode 100644 index 0000000..307f669 --- /dev/null +++ b/overlay/packages/apps/CarrierConfig/res/xml/vendor.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/overlay/packages/apps/CarrierConfig/res/xml/vendor_device.xml b/overlay/packages/apps/CarrierConfig/res/xml/vendor_device.xml new file mode 100644 index 0000000..48a0518 --- /dev/null +++ b/overlay/packages/apps/CarrierConfig/res/xml/vendor_device.xml @@ -0,0 +1,315 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/overlay/packages/apps/CarrierConfig/res/xml/vendor_miui.xml b/overlay/packages/apps/CarrierConfig/res/xml/vendor_miui.xml new file mode 100644 index 0000000..d766748 --- /dev/null +++ b/overlay/packages/apps/CarrierConfig/res/xml/vendor_miui.xml @@ -0,0 +1,1668 @@ + + + + + + + + + + + + + + + + IPV4V6 + IPV4V6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 888 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +351962000000 + + + + + + *86 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LTE + LTE + + + + + AT&T XT + AT&T XT + AT&T EX + AT&T EX + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +64222022002 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 121 + + + + + + + + + + + + + *99 + + + + + + + +420608989898 + + + + + + + + + + + + + 22177 + + + + + + + + + + + + + + + + + + + + + + + 5500 + + + + + + + + + + + + + + + + +491793000333 + + + + + + + + + + + + + + + + + + 170 + + + + + + + + + + + + + 42020 + + + + + + + + + + + +40722033334 + + + + + + + + + + + + 123 + + + + + + + + + + + + + + + + + + + + + + 171 + + + + + + + + + + + + 121 + + + + + + + + +31654501233 + + + + + + + + + + + + + + + + + + +31624001233 + + + +31640192939 + + + + + + + 123 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 22123 + + + + + + + + + + + + + + + + + + + + + + + + 242 + + + + + + + + + + + + + + + + + + + + + + + + + + + 242 + + + + + + + + + + + + + + + + + *20 + + + + + + + + + + + + + + voz4g + vozwifi + + + + + + + + + + + + + +56964109999 + + + + voz4g + vozwifi + + + + + + + + + + *123 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +38598151100 + + + + + + + + + + + + + 131 + + + + + + + + + + + + + + + + + + + + + + + + *80 + + + + + + + + + + *2747 + + + + + + + + + + *86 + + + + + + + + + + *111 + + + + + + + + + + + *99 + + + + + + + + + + + *777 + + + + + + + *2747 + + + + + + + + + + *555 + + + + + + + + + + *100 + + + *100 + + + + + + + + + + *555 + + + + + + + + + + + + *80 + + + + + + + + + + + #99 + + + + + + + + + + *80 + + + + + + + + + + + *80 + + + + + + + + + + + + + + + *80 + + + + + + + + + + + + + + *123 + + + + + + + + + + + + 41919 + + + + + + + + + + + + + + + + + + + + + + +436762200 + + + + + + + + + + + + + + + + + + + + + + + + + + + +420603123311 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3311 + + + + + + IPV4V6 + IP + + + + + + + + + + + + + + + + + + + + + + + + + + + + +306971000123 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +36309888444 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +48601222222 + + + + + *501 + + + + + + + + + + + + +48602950000 + + + + + + + + + + + + + + + + + + + + + + + + + + +421903333999 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +38598151100 + + + + + + + + + + + + + + + + + + + + + + + + +40766177177 + + + + + + + + + + + + + + + + + + + +3826714077 + + + + + + + + + + + + + + + + + + +38970121212 + + + + + + + + + + + + + + + + + + + + + + +31624001233 + + + + + + + + + + + +31640192939 + + + + + + + + + + +31640192939 + + + + + + + + + +31640192939 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + *501 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 132 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/power.xml b/power.xml new file mode 100644 index 0000000..016665e --- /dev/null +++ b/power.xml @@ -0,0 +1,33 @@ + + + + android.hardware.power + IPower/default + + \ No newline at end of file diff --git a/proprietary-files-system.txt b/proprietary-files-system.txt new file mode 100644 index 0000000..40ba64b --- /dev/null +++ b/proprietary-files-system.txt @@ -0,0 +1,708 @@ +-app/SoterService/SoterService.apk +-framework/WfdCommon.jar +-framework/tcmclient.jar +-product/priv-app/HotwordEnrollmentOKGoogleHEXAGON/HotwordEnrollmentOKGoogleHEXAGON.apk +-product/priv-app/HotwordEnrollmentXGoogleHEXAGON/HotwordEnrollmentXGoogleHEXAGON.apk +-system_ext/app/ConfURIDialer/ConfURIDialer.apk +-system_ext/app/DeviceInfo/DeviceInfo.apk +-system_ext/app/DeviceStatisticsService/DeviceStatisticsService.apk +-system_ext/app/DynamicDDSService/DynamicDDSService.apk +-system_ext/app/FM/FM.apk +-system_ext/app/PerformanceMode/PerformanceMode.apk +-system_ext/app/QCC-AUTHMGR/QCC-AUTHMGR.apk +-system_ext/app/QCC/QCC.apk +-system_ext/app/QColor/QColor.apk +-system_ext/app/QTIDiagServices/QTIDiagServices.apk +-system_ext/app/QdcmFF/QdcmFF.apk +-system_ext/app/QtiSystemService/QtiSystemService.apk +-system_ext/app/QtiTelephonyService/QtiTelephonyService.apk +-system_ext/app/SimContact/SimContact.apk +-system_ext/app/WAPPushManager/WAPPushManager.apk +-system_ext/app/WigigTetheringRRO/WigigTetheringRRO.apk +-system_ext/app/atfwd/atfwd.apk +-system_ext/app/colorservice/colorservice.apk +-system_ext/app/com.qualcomm.qti.services.secureui/com.qualcomm.qti.services.secureui.apk +-system_ext/app/com.qualcomm.qti.services.systemhelper/com.qualcomm.qti.services.systemhelper.apk +-system_ext/app/datastatusnotification/datastatusnotification.apk +-system_ext/app/embms/embms.apk +-system_ext/app/remoteSimLockAuthentication/remoteSimLockAuthentication.apk +-system_ext/app/remotesimlockservice/remotesimlockservice.apk +-system_ext/app/uimgbaservice/uimgbaservice.apk +-system_ext/app/uimlpaservice/uimlpaservice.apk +-system_ext/app/uimremoteclient/uimremoteclient.apk +-system_ext/app/uimremoteserver/uimremoteserver.apk +-system_ext/app/workloadclassifier/workloadclassifier.apk +-system_ext/app/xdivert/xdivert.apk +-system_ext/framework/ActivityExt.jar +-system_ext/framework/audiosphere.jar +-system_ext/framework/com.android.hotwordenrollment.common.util.jar +-system_ext/framework/com.qti.dpmframework.jar +-system_ext/framework/com.qti.location.sdk.jar +-system_ext/framework/com.qti.media.secureprocessor.jar +-system_ext/framework/com.qualcomm.qti.imscmservice-V2.0-java.jar +-system_ext/framework/com.qualcomm.qti.imscmservice-V2.1-java.jar +-system_ext/framework/com.qualcomm.qti.imscmservice-V2.2-java.jar +-system_ext/framework/com.qualcomm.qti.uceservice-V2.0-java.jar +-system_ext/framework/com.qualcomm.qti.uceservice-V2.1-java.jar +-system_ext/framework/com.qualcomm.qti.uceservice-V2.2-java.jar +-system_ext/framework/com.quicinc.cne.api-V1.0-java.jar +-system_ext/framework/com.quicinc.cne.api-V1.1-java.jar +-system_ext/framework/com.quicinc.cne.constants-V1.0-java.jar +-system_ext/framework/com.quicinc.cne.constants-V2.0-java.jar +-system_ext/framework/com.quicinc.cne.constants-V2.1-java.jar +-system_ext/framework/dpmapi.jar +-system_ext/framework/embmslibrary.jar +-system_ext/framework/izat.xt.srv.jar +-system_ext/framework/qcrilhook.jar +-system_ext/framework/qmapbridge.jar +-system_ext/framework/qti-telephony-common.jar +-system_ext/framework/qti-telephony-hidl-wrapper.jar +-system_ext/framework/qti-telephony-utils.jar +-system_ext/framework/remotesimlockmanagerlibrary.jar +-system_ext/framework/uimgbalibrary.jar +-system_ext/framework/uimgbamanagerlibrary.jar +-system_ext/framework/uimlpalibrary.jar +-system_ext/framework/uimremoteclientlibrary.jar +-system_ext/framework/uimremoteserverlibrary.jar +-system_ext/framework/uimremotesimlocklibrary.jar +-system_ext/framework/uimservicelibrary.jar +-system_ext/framework/vendor.qti.data.factory-V1.0-java.jar +-system_ext/framework/vendor.qti.data.factory-V2.0-java.jar +-system_ext/framework/vendor.qti.data.factory-V2.1-java.jar +-system_ext/framework/vendor.qti.data.slm-V1.0-java.jar +-system_ext/framework/vendor.qti.hardware.alarm-V1.0-java.jar +-system_ext/framework/vendor.qti.hardware.capabilityconfigstore-V1.0-java.jar +-system_ext/framework/vendor.qti.hardware.data.cne.internal.api-V1.0-java.jar +-system_ext/framework/vendor.qti.hardware.data.cne.internal.constants-V1.0-java.jar +-system_ext/framework/vendor.qti.hardware.data.cne.internal.server-V1.0-java.jar +-system_ext/framework/vendor.qti.hardware.data.connection-V1.0-java.jar +-system_ext/framework/vendor.qti.hardware.data.connection-V1.1-java.jar +-system_ext/framework/vendor.qti.hardware.data.dynamicdds-V1.0-java.jar +-system_ext/framework/vendor.qti.hardware.data.iwlan-V1.0-java.jar +-system_ext/framework/vendor.qti.hardware.data.latency-V1.0-java.jar +-system_ext/framework/vendor.qti.hardware.data.qmi-V1.0-java.jar +-system_ext/framework/vendor.qti.hardware.sensorscalibrate-V1.0-java.jar +-system_ext/framework/vendor.qti.hardware.slmadapter-V1.0-java.jar +-system_ext/framework/vendor.qti.hardware.wigig.netperftuner-V1.0-java.jar +-system_ext/framework/vendor.qti.hardware.wigig.supptunnel-V1.0-java.jar +-system_ext/framework/vendor.qti.ims.callcapability-V1.0-java.jar +-system_ext/framework/vendor.qti.ims.callinfo-V1.0-java.jar +-system_ext/framework/vendor.qti.ims.factory-V1.0-java.jar +-system_ext/framework/vendor.qti.ims.factory-V1.1-java.jar +-system_ext/framework/vendor.qti.ims.rcsconfig-V1.0-java.jar +-system_ext/framework/vendor.qti.ims.rcsconfig-V1.1-java.jar +-system_ext/framework/vendor.qti.ims.rcsconfig-V2.0-java.jar +-system_ext/framework/vendor.qti.ims.rcsconfig-V2.1-java.jar +-system_ext/framework/vendor.qti.latency-V2.0-java.jar +-system_ext/framework/vendor.qti.voiceprint-V1.0-java.jar +-system_ext/framework/wigig-service.jar +-system_ext/priv-app/CarrierConfig/CarrierConfig.apk +-system_ext/priv-app/EmergencyInfo/EmergencyInfo.apk +-system_ext/priv-app/GoogleFeedback/GoogleFeedback.apk +-system_ext/priv-app/GoogleOneTimeInitializer/GoogleOneTimeInitializer.apk +-system_ext/priv-app/GoogleServicesFramework/GoogleServicesFramework.apk +-system_ext/priv-app/Settings/Settings.apk +-system_ext/priv-app/SetupWizard/SetupWizard.apk +-system_ext/priv-app/StorageManager/StorageManager.apk +-system_ext/priv-app/WallpaperCropper/WallpaperCropper.apk +-system_ext/priv-app/WfdService/WfdService.apk +-system_ext/priv-app/beyondGnssService/beyondGnssService.apk +-system_ext/priv-app/dpmserviceapp/dpmserviceapp.apk +-system_ext/priv-app/ims/ims.apk +-system_ext/priv-app/qcrilmsgtunnel/qcrilmsgtunnel.apk +-system_ext/priv-app/seccamservice/seccamservice.apk +bin/iwpriv +etc/permissions/privapp-permissions-qti.xml +etc/sysconfig/qti_whitelist.xml +product/etc/permissions/vendor.qti.hardware.data.connection-V1.0-java.xml +product/etc/permissions/vendor.qti.hardware.data.connection-V1.1-java.xml +system_ext/app/FM/lib/arm64/libqcomfm_jni.so +system_ext/app/com.qualcomm.qti.services.systemhelper/lib/arm64/libsystemhelper_jni.so +system_ext/bin/bt_logger +system_ext/bin/checknv +system_ext/bin/diag_callback_sample_system +system_ext/bin/diag_dci_sample_system +system_ext/bin/dpmd +system_ext/bin/dun-server +system_ext/bin/perfservice +system_ext/bin/qccsyshalservice +system_ext/bin/qspmsvc +system_ext/bin/qvrdatalogger +system_ext/bin/qvrservice +system_ext/bin/qvrservicetest +system_ext/bin/qvrservicetest64 +system_ext/bin/rtspclient +system_ext/bin/rtspserver +system_ext/bin/sigma_miracasthalservice +system_ext/bin/test_diag_system +system_ext/bin/wfdservice +system_ext/etc/bluetooth/bt_configstore.conf +system_ext/etc/bluetooth/bt_profile.conf +system_ext/etc/bluetooth/interop_database.conf +system_ext/etc/cdma_call_conf.xml +system_ext/etc/compatconfig/settings-platform-compat-config.xml +system_ext/etc/dpm/dpm.conf +system_ext/etc/fs_config_dirs +system_ext/etc/fs_config_files +system_ext/etc/group +system_ext/etc/init/checknv.rc +system_ext/etc/init/com.qualcomm.qti.sigma_miracast@1.0-service.rc +system_ext/etc/init/dpmd.rc +system_ext/etc/init/init.qti.bt.logger.rc +system_ext/etc/init/perfservice.rc +system_ext/etc/init/qspmsvc.rc +system_ext/etc/init/qvrd_ext.rc +system_ext/etc/init/vendor.qti.hardware.qccsyshal@1.0-service.rc +system_ext/etc/init/wfdservice.rc +system_ext/etc/perf/wlc_model.tflite +system_ext/etc/permissions/RemoteSimlock.xml +system_ext/etc/permissions/RemoteSimlockManager.xml +system_ext/etc/permissions/UimGba.xml +system_ext/etc/permissions/UimGbaManager.xml +system_ext/etc/permissions/UimService.xml +system_ext/etc/permissions/android.software.verified_boot.xml +system_ext/etc/permissions/audiosphere.xml +system_ext/etc/permissions/com.android.carrierconfig.xml +system_ext/etc/permissions/com.android.emergency.xml +system_ext/etc/permissions/com.android.hotwordenrollment.common.util.xml +system_ext/etc/permissions/com.android.settings.xml +system_ext/etc/permissions/com.android.storagemanager.xml +system_ext/etc/permissions/com.qti.dpmframework.xml +system_ext/etc/permissions/com.qti.location.sdk.xml +system_ext/etc/permissions/com.qti.media.secureprocessor.xml +system_ext/etc/permissions/com.qualcomm.location.xml +system_ext/etc/permissions/com.qualcomm.qmapbridge.xml +system_ext/etc/permissions/com.qualcomm.qti.imscmservice-V2.0-java.xml +system_ext/etc/permissions/com.qualcomm.qti.imscmservice-V2.1-java.xml +system_ext/etc/permissions/com.qualcomm.qti.imscmservice-V2.2-java.xml +system_ext/etc/permissions/com.qualcomm.qti.imscmservice.xml +system_ext/etc/permissions/com.qualcomm.qti.izattools.xml +system_ext/etc/permissions/dpmapi.xml +system_ext/etc/permissions/embms-noship_product_privapp_permissions_qti.xml +system_ext/etc/permissions/embms.xml +system_ext/etc/permissions/izat.xt.srv.xml +system_ext/etc/permissions/lpa.xml +system_ext/etc/permissions/privapp-permissions-com.beyondGnssService.location.xml +system_ext/etc/permissions/privapp-permissions-com.qualcomm.location.xml +system_ext/etc/permissions/privapp-permissions-google-system-ext.xml +system_ext/etc/permissions/privapp-permissions-miui-settings.xml +system_ext/etc/permissions/privapp-permissions-qti-system-ext.xml +system_ext/etc/permissions/qcrilhook.xml +system_ext/etc/permissions/qti_libpermissions.xml +system_ext/etc/permissions/qti_permissions.xml +system_ext/etc/permissions/qti_telephony_hidl_wrapper.xml +system_ext/etc/permissions/qti_telephony_utils.xml +system_ext/etc/permissions/telephony_system-ext_privapp-permissions-qti.xml +system_ext/etc/permissions/telephonyservice.xml +system_ext/etc/permissions/uimremoteclient.xml +system_ext/etc/permissions/uimremoteserver.xml +system_ext/etc/permissions/wfd-system-ext-privapp-permissions-qti.xml +system_ext/etc/public.libraries-qti.txt +system_ext/etc/qvr/cfg/339/0/65536/mtp855.txt +system_ext/etc/qvr/cfg/339/0/65536/mtp855_6dof_config.xml +system_ext/etc/qvr/cfg/341/2/65536/svr845.txt +system_ext/etc/qvr/cfg/356/0/65536/mtp865.txt +system_ext/etc/qvr/cfg/356/0/65536/mtp865_6dof_config.xml +system_ext/etc/qvr/cfg/356/1/131072/morpheus.txt +system_ext/etc/qvr/cfg/356/1/131072/morpheus_6dof_config.xml +system_ext/etc/qvr/cfg/356/1/65536/trinity.txt +system_ext/etc/qvr/cfg/356/1/65536/trinity_6dof_config.xml +system_ext/etc/qvr/cfg/415/0/65536/mtplahaina.txt +system_ext/etc/qvr/cfg/415/0/65536/mtplahaina_6dof_config.xml +system_ext/etc/qvr/qvr_hid_device_list.txt +system_ext/etc/qvr/qvrservice_config.txt +system_ext/etc/seccomp_policy/perfservice.policy +system_ext/etc/seccomp_policy/qvr@2.0.policy +system_ext/etc/seccomp_policy/wfdservice.policy +system_ext/etc/spn-conf.xml +system_ext/etc/sysconfig/qti_whitelist_system_ext.xml +system_ext/etc/wfdconfigsink.xml +system_ext/lib/android.hidl.base@1.0.so +system_ext/lib/com.qualcomm.qti.ant@1.0.so +system_ext/lib/com.qualcomm.qti.bluetooth_audio@1.0.so +system_ext/lib/com.qualcomm.qti.dpm.api@1.0.so +system_ext/lib/com.qualcomm.qti.imscmservice@1.0.so +system_ext/lib/com.qualcomm.qti.imscmservice@2.0.so +system_ext/lib/com.qualcomm.qti.imscmservice@2.1.so +system_ext/lib/com.qualcomm.qti.imscmservice@2.2.so +system_ext/lib/com.qualcomm.qti.uceservice@2.0.so +system_ext/lib/com.qualcomm.qti.uceservice@2.1.so +system_ext/lib/com.qualcomm.qti.uceservice@2.2.so +system_ext/lib/com.qualcomm.qti.wifidisplayhal@1.0.so +system_ext/lib/com.quicinc.cne.api@1.0.so +system_ext/lib/com.quicinc.cne.api@1.1.so +system_ext/lib/com.quicinc.cne.constants@1.0.so +system_ext/lib/com.quicinc.cne.constants@2.0.so +system_ext/lib/com.quicinc.cne.constants@2.1.so +system_ext/lib/extractors/libmmparserextractor.so +system_ext/lib/fm_helium.so +system_ext/lib/hw/vendor.qti.hardware.sigma_miracast@1.0-impl.so +system_ext/lib/lib-imsvideocodec.so +system_ext/lib/lib-imsvt.so +system_ext/lib/lib-imsvtextutils.so +system_ext/lib/lib-imsvtutils.so +system_ext/lib/libDiagService.so +system_ext/lib/libOpenCL_system.so +system_ext/lib/libQSEEComAPI_system.so +system_ext/lib/libScenescape.so +system_ext/lib/libadsprpc_system.so +system_ext/lib/libavenhancements.so +system_ext/lib/libbinauralrenderer_wrapper.qti.so +system_ext/lib/libbluetooth_qti.so +system_ext/lib/libbt-logClient.so +system_ext/lib/libbtconfigstore.so +system_ext/lib/libcdsprpc_system.so +system_ext/lib/libcvp_common_system.so +system_ext/lib/libcvpcpuRev_skel_system.so +system_ext/lib/libdiag_system.so +system_ext/lib/libdisplayconfig.qti.so +system_ext/lib/libdolphin.so +system_ext/lib/libdpmctmgr.so +system_ext/lib/libdpmfdmgr.so +system_ext/lib/libdpmframework.so +system_ext/lib/libdpmtcm.so +system_ext/lib/libeye_tracking_dsp_sample_stub.so +system_ext/lib/libfm-hci.so +system_ext/lib/libframeextension.so +system_ext/lib/libgralloc.qti.so +system_ext/lib/libhoaeffects.qti.so +system_ext/lib/libhoaeffects_csim.so +system_ext/lib/libimscamera_jni.so +system_ext/lib/libimsmedia_jni.so +system_ext/lib/libjnihelpers.so +system_ext/lib/liblayerext.qti.so +system_ext/lib/liblistenjni.qti.so +system_ext/lib/liblistensoundmodel2.qti.so +system_ext/lib/libmdsprpc_system.so +system_ext/lib/libmediasp_jni.so +system_ext/lib/libmink-sock-native-api.so +system_ext/lib/libminksocket_system.so +system_ext/lib/libmiracastsystem.so +system_ext/lib/libmmosal.so +system_ext/lib/libmmparser_lite.so +system_ext/lib/libmmrtpdecoder.so +system_ext/lib/libmmrtpencoder.so +system_ext/lib/liboemaids_system.so +system_ext/lib/libqcc.so +system_ext/lib/libqcc_file_agent_sys.so +system_ext/lib/libqcomfm_jni.so +system_ext/lib/libqct_resampler.so +system_ext/lib/libqdMetaData.so +system_ext/lib/libqmi_cci_system.so +system_ext/lib/libqmi_encdec_system.so +system_ext/lib/libqspmsvc.so +system_ext/lib/libqti-at.so +system_ext/lib/libqti-iopd-client_system.so +system_ext/lib/libqti-perfd-client_system.so +system_ext/lib/libqti-util_system.so +system_ext/lib/libqti_performance.so +system_ext/lib/libqti_vndfwk_detect.so +system_ext/lib/libqti_workloadclassifiermodel.so +system_ext/lib/libqvr_cam_cdsp_driver_stub.so +system_ext/lib/libqvr_cdsp_driver_stub.so +system_ext/lib/libqvr_eyetracking_plugin.so +system_ext/lib/libqvrcamera_client.qti.so +system_ext/lib/libqvrservice.so +system_ext/lib/libqvrservice_client.qti.so +system_ext/lib/libqvrservice_ov7251_hvx_tuning.so +system_ext/lib/libqvrservice_ov9282_hvx_tuning.so +system_ext/lib/libqvrservice_v4l_ov7251_hvx_tuning.so +system_ext/lib/libsd_sdk_display.qti.so +system_ext/lib/libsdm-disp-apis.qti.so +system_ext/lib/libsdsprpc_system.so +system_ext/lib/libseccam-ipc.so +system_ext/lib/libseccam.so +system_ext/lib/libseccamservice.so +system_ext/lib/libsecureui_svcsock_system.so +system_ext/lib/libsecureuisvc_jni.so +system_ext/lib/libsensor_calibration.so +system_ext/lib/libskewknob_system.so +system_ext/lib/libsmomo.qti.so +system_ext/lib/libsystemhelper_jni.so +system_ext/lib/libtrigger-handler.so +system_ext/lib/libupdateprof.qti.so +system_ext/lib/libvndfwk_detect_jni.qti.so +system_ext/lib/libvr_amb_engine.so +system_ext/lib/libvr_object_engine.so +system_ext/lib/libvr_sam_wrapper.so +system_ext/lib/libvraudio.so +system_ext/lib/libvraudio_client.qti.so +system_ext/lib/libwfdaac.so +system_ext/lib/libwfdavenhancements.so +system_ext/lib/libwfdclient.so +system_ext/lib/libwfdcommonutils.so +system_ext/lib/libwfdconfigutils.so +system_ext/lib/libwfddisplayconfig.so +system_ext/lib/libwfdmminterface.so +system_ext/lib/libwfdmmsink.so +system_ext/lib/libwfdmmsrc_system.so +system_ext/lib/libwfdnative.so +system_ext/lib/libwfdrtsp.so +system_ext/lib/libwfdservice.so +system_ext/lib/libwfdsinksm.so +system_ext/lib/libwfduibcinterface.so +system_ext/lib/libwfduibcsink.so +system_ext/lib/libwfduibcsinkinterface.so +system_ext/lib/libwfduibcsrc.so +system_ext/lib/libwfduibcsrcinterface.so +system_ext/lib/rfsa/adsp/libdsp_streamer_qvrcam_receiver.so +system_ext/lib/rfsa/adsp/libeye_tracking_dsp_sample_skel.so +system_ext/lib/rfsa/adsp/libqvr_cam_dsp_driver_skel.so +system_ext/lib/rfsa/adsp/libqvr_dsp_driver_skel.so +system_ext/lib/rfsa/adsp/libtracker_6dof_skel_8150.so +system_ext/lib/vendor.display.color@1.0.so +system_ext/lib/vendor.display.color@1.1.so +system_ext/lib/vendor.display.color@1.2.so +system_ext/lib/vendor.display.color@1.3.so +system_ext/lib/vendor.display.config@1.0.so +system_ext/lib/vendor.display.config@1.1.so +system_ext/lib/vendor.display.config@1.2.so +system_ext/lib/vendor.display.config@1.3.so +system_ext/lib/vendor.display.config@1.4.so +system_ext/lib/vendor.display.config@1.5.so +system_ext/lib/vendor.display.config@2.0.so +system_ext/lib/vendor.display.postproc@1.0.so +system_ext/lib/vendor.nxp.hardware.nfc@1.0.so +system_ext/lib/vendor.nxp.hardware.nfc@1.1.so +system_ext/lib/vendor.qti.data.factory@1.0.so +system_ext/lib/vendor.qti.data.factory@2.0.so +system_ext/lib/vendor.qti.data.factory@2.1.so +system_ext/lib/vendor.qti.data.slm@1.0.so +system_ext/lib/vendor.qti.diaghal@1.0.so +system_ext/lib/vendor.qti.gnss@1.0.so +system_ext/lib/vendor.qti.gnss@1.1.so +system_ext/lib/vendor.qti.gnss@1.2.so +system_ext/lib/vendor.qti.gnss@2.0.so +system_ext/lib/vendor.qti.gnss@2.1.so +system_ext/lib/vendor.qti.gnss@3.0.so +system_ext/lib/vendor.qti.gnss@4.0.so +system_ext/lib/vendor.qti.hardware.alarm@1.0.so +system_ext/lib/vendor.qti.hardware.audiohalext@1.0.so +system_ext/lib/vendor.qti.hardware.bluetooth_audio@2.0.so +system_ext/lib/vendor.qti.hardware.btconfigstore@1.0.so +system_ext/lib/vendor.qti.hardware.btconfigstore@2.0.so +system_ext/lib/vendor.qti.hardware.camera.device@1.0.so +system_ext/lib/vendor.qti.hardware.camera.device@2.0.so +system_ext/lib/vendor.qti.hardware.camera.device@3.5.so +system_ext/lib/vendor.qti.hardware.capabilityconfigstore@1.0.so +system_ext/lib/vendor.qti.hardware.cvp@1.0-adapter-helper.so +system_ext/lib/vendor.qti.hardware.cvp@1.0.so +system_ext/lib/vendor.qti.hardware.data.cne.internal.api@1.0.so +system_ext/lib/vendor.qti.hardware.data.cne.internal.constants@1.0.so +system_ext/lib/vendor.qti.hardware.data.cne.internal.server@1.0.so +system_ext/lib/vendor.qti.hardware.data.connection@1.0.so +system_ext/lib/vendor.qti.hardware.data.connection@1.1.so +system_ext/lib/vendor.qti.hardware.data.dynamicdds@1.0.so +system_ext/lib/vendor.qti.hardware.data.iwlan@1.0.so +system_ext/lib/vendor.qti.hardware.data.latency@1.0.so +system_ext/lib/vendor.qti.hardware.data.qmi@1.0.so +system_ext/lib/vendor.qti.hardware.display.composer@3.0.so +system_ext/lib/vendor.qti.hardware.dsp@1.0.so +system_ext/lib/vendor.qti.hardware.fm@1.0.so +system_ext/lib/vendor.qti.hardware.iop@2.0.so +system_ext/lib/vendor.qti.hardware.perf@2.0.so +system_ext/lib/vendor.qti.hardware.qccsyshal@1.0-halimpl.so +system_ext/lib/vendor.qti.hardware.qccsyshal@1.0.so +system_ext/lib/vendor.qti.hardware.qccvndhal@1.0.so +system_ext/lib/vendor.qti.hardware.qdutils_disp@1.0.so +system_ext/lib/vendor.qti.hardware.qseecom@1.0.so +system_ext/lib/vendor.qti.hardware.qteeconnector@1.0.so +system_ext/lib/vendor.qti.hardware.radio.am@1.0.so +system_ext/lib/vendor.qti.hardware.radio.ims@1.0.so +system_ext/lib/vendor.qti.hardware.radio.ims@1.1.so +system_ext/lib/vendor.qti.hardware.radio.ims@1.2.so +system_ext/lib/vendor.qti.hardware.radio.ims@1.3.so +system_ext/lib/vendor.qti.hardware.radio.ims@1.4.so +system_ext/lib/vendor.qti.hardware.radio.ims@1.5.so +system_ext/lib/vendor.qti.hardware.radio.ims@1.6.so +system_ext/lib/vendor.qti.hardware.radio.internal.deviceinfo@1.0.so +system_ext/lib/vendor.qti.hardware.radio.lpa@1.0.so +system_ext/lib/vendor.qti.hardware.radio.qcrilhook@1.0.so +system_ext/lib/vendor.qti.hardware.radio.qtiradio@1.0.so +system_ext/lib/vendor.qti.hardware.radio.qtiradio@2.0.so +system_ext/lib/vendor.qti.hardware.radio.qtiradio@2.1.so +system_ext/lib/vendor.qti.hardware.radio.qtiradio@2.2.so +system_ext/lib/vendor.qti.hardware.radio.qtiradio@2.3.so +system_ext/lib/vendor.qti.hardware.radio.qtiradio@2.4.so +system_ext/lib/vendor.qti.hardware.radio.uim@1.0.so +system_ext/lib/vendor.qti.hardware.radio.uim@1.1.so +system_ext/lib/vendor.qti.hardware.radio.uim@1.2.so +system_ext/lib/vendor.qti.hardware.radio.uim_remote_client@1.0.so +system_ext/lib/vendor.qti.hardware.radio.uim_remote_client@1.1.so +system_ext/lib/vendor.qti.hardware.radio.uim_remote_client@1.2.so +system_ext/lib/vendor.qti.hardware.radio.uim_remote_server@1.0.so +system_ext/lib/vendor.qti.hardware.scve.objecttracker@1.0-adapter-helper.so +system_ext/lib/vendor.qti.hardware.scve.objecttracker@1.0.so +system_ext/lib/vendor.qti.hardware.scve.panorama@1.0-adapter-helper.so +system_ext/lib/vendor.qti.hardware.scve.panorama@1.0.so +system_ext/lib/vendor.qti.hardware.seccam@1.0.so +system_ext/lib/vendor.qti.hardware.secureprocessor.common@1.0.so +system_ext/lib/vendor.qti.hardware.secureprocessor.config@1.0.so +system_ext/lib/vendor.qti.hardware.secureprocessor.device@1.0.so +system_ext/lib/vendor.qti.hardware.sigma_miracast@1.0-halimpl.so +system_ext/lib/vendor.qti.hardware.sigma_miracast@1.0.so +system_ext/lib/vendor.qti.hardware.slmadapter@1.0.so +system_ext/lib/vendor.qti.hardware.systemhelper@1.0.so +system_ext/lib/vendor.qti.hardware.tui_comm@1.0.so +system_ext/lib/vendor.qti.hardware.vpp@1.1.so +system_ext/lib/vendor.qti.hardware.wifidisplaysession@1.0.so +system_ext/lib/vendor.qti.hardware.wigig.netperftuner@1.0.so +system_ext/lib/vendor.qti.hardware.wigig.supptunnel@1.0.so +system_ext/lib/vendor.qti.ims.callcapability@1.0.so +system_ext/lib/vendor.qti.ims.callinfo@1.0.so +system_ext/lib/vendor.qti.ims.factory@1.0.so +system_ext/lib/vendor.qti.ims.factory@1.1.so +system_ext/lib/vendor.qti.ims.rcsconfig@1.0.so +system_ext/lib/vendor.qti.ims.rcsconfig@1.1.so +system_ext/lib/vendor.qti.ims.rcsconfig@2.0.so +system_ext/lib/vendor.qti.ims.rcsconfig@2.1.so +system_ext/lib/vendor.qti.imsrtpservice@3.0.so +system_ext/lib/vendor.qti.latency@2.0.so +system_ext/lib/vendor.qti.qspmhal@1.0.so +system_ext/lib/vendor.qti.voiceprint@1.0.so +system_ext/lib/vendor.xiaomi.hardware.fingerprintextension@1.0.so +system_ext/lib64/android.hidl.base@1.0.so +system_ext/lib64/com.qualcomm.qti.ant@1.0.so +system_ext/lib64/com.qualcomm.qti.bluetooth_audio@1.0.so +system_ext/lib64/com.qualcomm.qti.dpm.api@1.0.so +system_ext/lib64/com.qualcomm.qti.imscmservice@1.0.so +system_ext/lib64/com.qualcomm.qti.imscmservice@2.0.so +system_ext/lib64/com.qualcomm.qti.imscmservice@2.1.so +system_ext/lib64/com.qualcomm.qti.imscmservice@2.2.so +system_ext/lib64/com.qualcomm.qti.uceservice@2.0.so +system_ext/lib64/com.qualcomm.qti.uceservice@2.1.so +system_ext/lib64/com.qualcomm.qti.uceservice@2.2.so +system_ext/lib64/com.quicinc.cne.api@1.0.so +system_ext/lib64/com.quicinc.cne.api@1.1.so +system_ext/lib64/com.quicinc.cne.constants@1.0.so +system_ext/lib64/com.quicinc.cne.constants@2.0.so +system_ext/lib64/com.quicinc.cne.constants@2.1.so +system_ext/lib64/extractors/libmmparserextractor.so +system_ext/lib64/fm_helium.so +system_ext/lib64/hw/vendor.qti.hardware.sigma_miracast@1.0-impl.so +system_ext/lib64/lib-imsvideocodec.so +system_ext/lib64/lib-imsvt.so +system_ext/lib64/lib-imsvtextutils.so +system_ext/lib64/lib-imsvtutils.so +system_ext/lib64/libDiagService.so +system_ext/lib64/libOpenCL_system.so +system_ext/lib64/libQOC.qti.so +system_ext/lib64/libQSEEComAPI_system.so +system_ext/lib64/libadsprpc_system.so +system_ext/lib64/libavenhancements.so +system_ext/lib64/libbinauralrenderer_wrapper.qti.so +system_ext/lib64/libbluetooth_qti.so +system_ext/lib64/libbt-logClient.so +system_ext/lib64/libbtconfigstore.so +system_ext/lib64/libcdsprpc_system.so +system_ext/lib64/libcryptfs_hw.so +system_ext/lib64/libcvp_common_system.so +system_ext/lib64/libcvpcpuRev_skel_system.so +system_ext/lib64/libdashdatasource.so +system_ext/lib64/libdashsamplesource.so +system_ext/lib64/libdiag_system.so +system_ext/lib64/libdisplayconfig.qti.so +system_ext/lib64/libdolphin.so +system_ext/lib64/libdpmctmgr.so +system_ext/lib64/libdpmfdmgr.so +system_ext/lib64/libdpmframework.so +system_ext/lib64/libdpmtcm.so +system_ext/lib64/libembmsmmosal.so +system_ext/lib64/libembmsmmparser_lite.so +system_ext/lib64/libembmssqlite.so +system_ext/lib64/libembmstinyxml.so +system_ext/lib64/libfm-hci.so +system_ext/lib64/libframeextension.so +system_ext/lib64/libgralloc.qti.so +system_ext/lib64/libhoaeffects.qti.so +system_ext/lib64/libhoaeffects_csim.so +system_ext/lib64/libimscamera_jni.so +system_ext/lib64/libimsmedia_jni.so +system_ext/lib64/libjnihelpers.so +system_ext/lib64/liblayerext.qti.so +system_ext/lib64/liblistenjni.qti.so +system_ext/lib64/liblistensoundmodel2.qti.so +system_ext/lib64/libmdsprpc_system.so +system_ext/lib64/libmediasp_jni.so +system_ext/lib64/libmink-sock-native-api.so +system_ext/lib64/libminksocket_system.so +system_ext/lib64/libmiracastsystem.so +system_ext/lib64/libmmQSM.so +system_ext/lib64/libmmhttpstack.so +system_ext/lib64/libmmiipstreammmihttp.so +system_ext/lib64/libmmipstreamnetwork.so +system_ext/lib64/libmmipstreamsourcehttp.so +system_ext/lib64/libmmipstreamutils.so +system_ext/lib64/libmmosal.so +system_ext/lib64/libmmparser_lite.so +system_ext/lib64/libmmrtpdecoder.so +system_ext/lib64/libmmrtpencoder.so +system_ext/lib64/libmsp.so +system_ext/lib64/liboemaids_system.so +system_ext/lib64/libqcc.so +system_ext/lib64/libqcc_file_agent_sys.so +system_ext/lib64/libqcomfm_jni.so +system_ext/lib64/libqdMetaData.so +system_ext/lib64/libqmi_cci_system.so +system_ext/lib64/libqmi_encdec_system.so +system_ext/lib64/libqspmsvc.so +system_ext/lib64/libqti-at.so +system_ext/lib64/libqti-iopd-client_system.so +system_ext/lib64/libqti-perfd-client_system.so +system_ext/lib64/libqti-util_system.so +system_ext/lib64/libqti_performance.so +system_ext/lib64/libqti_vndfwk_detect.so +system_ext/lib64/libqti_workloadclassifiermodel.so +system_ext/lib64/libqvrcamera_client.qti.so +system_ext/lib64/libqvrservice_client.qti.so +system_ext/lib64/libqvrservice_ov7251_hvx_tuning.so +system_ext/lib64/libqvrservice_ov9282_hvx_tuning.so +system_ext/lib64/libqvrservice_v4l_ov7251_hvx_tuning.so +system_ext/lib64/libsd_sdk_display.qti.so +system_ext/lib64/libsdm-disp-apis.qti.so +system_ext/lib64/libsdsprpc_system.so +system_ext/lib64/libseccam-ipc.so +system_ext/lib64/libseccam.so +system_ext/lib64/libseccamservice.so +system_ext/lib64/libsecureui_svcsock_system.so +system_ext/lib64/libsecureuisvc_jni.so +system_ext/lib64/libskewknob_system.so +system_ext/lib64/libsmomo.qti.so +system_ext/lib64/libsystemhelper_jni.so +system_ext/lib64/libtrigger-handler.so +system_ext/lib64/libupdateprof.qti.so +system_ext/lib64/libvndfwk_detect_jni.qti.so +system_ext/lib64/libvr_amb_engine.so +system_ext/lib64/libvr_object_engine.so +system_ext/lib64/libvr_sam_wrapper.so +system_ext/lib64/libvraudio.so +system_ext/lib64/libvraudio_client.qti.so +system_ext/lib64/libwfdclient.so +system_ext/lib64/libwfdcommonutils.so +system_ext/lib64/libwfdconfigutils.so +system_ext/lib64/libwfddisplayconfig.so +system_ext/lib64/libwfdmminterface.so +system_ext/lib64/libwfdmmsink.so +system_ext/lib64/libwfdnative.so +system_ext/lib64/libwfdrtsp.so +system_ext/lib64/libwfdsinksm.so +system_ext/lib64/libwfduibcinterface.so +system_ext/lib64/libwfduibcsink.so +system_ext/lib64/libwfduibcsinkinterface.so +system_ext/lib64/libwfduibcsrc.so +system_ext/lib64/libwfduibcsrcinterface.so +system_ext/lib64/vendor.display.color@1.0.so +system_ext/lib64/vendor.display.color@1.1.so +system_ext/lib64/vendor.display.color@1.2.so +system_ext/lib64/vendor.display.color@1.3.so +system_ext/lib64/vendor.display.config@1.0.so +system_ext/lib64/vendor.display.config@1.1.so +system_ext/lib64/vendor.display.config@1.2.so +system_ext/lib64/vendor.display.config@1.3.so +system_ext/lib64/vendor.display.config@1.4.so +system_ext/lib64/vendor.display.config@1.5.so +system_ext/lib64/vendor.display.config@2.0.so +system_ext/lib64/vendor.display.postproc@1.0.so +system_ext/lib64/vendor.nxp.hardware.nfc@1.0.so +system_ext/lib64/vendor.nxp.hardware.nfc@1.1.so +system_ext/lib64/vendor.qti.data.factory@1.0.so +system_ext/lib64/vendor.qti.data.factory@2.0.so +system_ext/lib64/vendor.qti.data.factory@2.1.so +system_ext/lib64/vendor.qti.data.slm@1.0.so +system_ext/lib64/vendor.qti.diaghal@1.0.so +system_ext/lib64/vendor.qti.gnss@1.0.so +system_ext/lib64/vendor.qti.gnss@1.1.so +system_ext/lib64/vendor.qti.gnss@1.2.so +system_ext/lib64/vendor.qti.gnss@2.0.so +system_ext/lib64/vendor.qti.gnss@2.1.so +system_ext/lib64/vendor.qti.gnss@3.0.so +system_ext/lib64/vendor.qti.gnss@4.0.so +system_ext/lib64/vendor.qti.hardware.alarm@1.0.so +system_ext/lib64/vendor.qti.hardware.audiohalext@1.0.so +system_ext/lib64/vendor.qti.hardware.bluetooth_audio@2.0.so +system_ext/lib64/vendor.qti.hardware.btconfigstore@1.0.so +system_ext/lib64/vendor.qti.hardware.btconfigstore@2.0.so +system_ext/lib64/vendor.qti.hardware.capabilityconfigstore@1.0.so +system_ext/lib64/vendor.qti.hardware.cryptfshw@1.0.so +system_ext/lib64/vendor.qti.hardware.cvp@1.0-adapter-helper.so +system_ext/lib64/vendor.qti.hardware.cvp@1.0.so +system_ext/lib64/vendor.qti.hardware.data.cne.internal.api@1.0.so +system_ext/lib64/vendor.qti.hardware.data.cne.internal.constants@1.0.so +system_ext/lib64/vendor.qti.hardware.data.cne.internal.server@1.0.so +system_ext/lib64/vendor.qti.hardware.data.connection@1.0.so +system_ext/lib64/vendor.qti.hardware.data.connection@1.1.so +system_ext/lib64/vendor.qti.hardware.data.dynamicdds@1.0.so +system_ext/lib64/vendor.qti.hardware.data.iwlan@1.0.so +system_ext/lib64/vendor.qti.hardware.data.latency@1.0.so +system_ext/lib64/vendor.qti.hardware.data.qmi@1.0.so +system_ext/lib64/vendor.qti.hardware.display.composer@3.0.so +system_ext/lib64/vendor.qti.hardware.dsp@1.0.so +system_ext/lib64/vendor.qti.hardware.embmssl@1.0-adapter-helper.so +system_ext/lib64/vendor.qti.hardware.embmssl@1.0.so +system_ext/lib64/vendor.qti.hardware.fm@1.0.so +system_ext/lib64/vendor.qti.hardware.iop@2.0.so +system_ext/lib64/vendor.qti.hardware.perf@2.0.so +system_ext/lib64/vendor.qti.hardware.qccsyshal@1.0-halimpl.so +system_ext/lib64/vendor.qti.hardware.qccsyshal@1.0.so +system_ext/lib64/vendor.qti.hardware.qccvndhal@1.0.so +system_ext/lib64/vendor.qti.hardware.qdutils_disp@1.0.so +system_ext/lib64/vendor.qti.hardware.qseecom@1.0.so +system_ext/lib64/vendor.qti.hardware.qteeconnector@1.0.so +system_ext/lib64/vendor.qti.hardware.radio.am@1.0.so +system_ext/lib64/vendor.qti.hardware.radio.ims@1.0.so +system_ext/lib64/vendor.qti.hardware.radio.ims@1.1.so +system_ext/lib64/vendor.qti.hardware.radio.ims@1.2.so +system_ext/lib64/vendor.qti.hardware.radio.ims@1.3.so +system_ext/lib64/vendor.qti.hardware.radio.ims@1.4.so +system_ext/lib64/vendor.qti.hardware.radio.ims@1.5.so +system_ext/lib64/vendor.qti.hardware.radio.ims@1.6.so +system_ext/lib64/vendor.qti.hardware.radio.internal.deviceinfo@1.0.so +system_ext/lib64/vendor.qti.hardware.radio.lpa@1.0.so +system_ext/lib64/vendor.qti.hardware.radio.qcrilhook@1.0.so +system_ext/lib64/vendor.qti.hardware.radio.qtiradio@1.0.so +system_ext/lib64/vendor.qti.hardware.radio.qtiradio@2.0.so +system_ext/lib64/vendor.qti.hardware.radio.qtiradio@2.1.so +system_ext/lib64/vendor.qti.hardware.radio.qtiradio@2.2.so +system_ext/lib64/vendor.qti.hardware.radio.qtiradio@2.3.so +system_ext/lib64/vendor.qti.hardware.radio.qtiradio@2.4.so +system_ext/lib64/vendor.qti.hardware.radio.uim@1.0.so +system_ext/lib64/vendor.qti.hardware.radio.uim@1.1.so +system_ext/lib64/vendor.qti.hardware.radio.uim@1.2.so +system_ext/lib64/vendor.qti.hardware.radio.uim_remote_client@1.0.so +system_ext/lib64/vendor.qti.hardware.radio.uim_remote_client@1.1.so +system_ext/lib64/vendor.qti.hardware.radio.uim_remote_client@1.2.so +system_ext/lib64/vendor.qti.hardware.radio.uim_remote_server@1.0.so +system_ext/lib64/vendor.qti.hardware.scve.objecttracker@1.0-adapter-helper.so +system_ext/lib64/vendor.qti.hardware.scve.objecttracker@1.0.so +system_ext/lib64/vendor.qti.hardware.scve.panorama@1.0-adapter-helper.so +system_ext/lib64/vendor.qti.hardware.scve.panorama@1.0.so +system_ext/lib64/vendor.qti.hardware.seccam@1.0.so +system_ext/lib64/vendor.qti.hardware.secureprocessor.common@1.0.so +system_ext/lib64/vendor.qti.hardware.secureprocessor.config@1.0.so +system_ext/lib64/vendor.qti.hardware.secureprocessor.device@1.0.so +system_ext/lib64/vendor.qti.hardware.sigma_miracast@1.0-halimpl.so +system_ext/lib64/vendor.qti.hardware.sigma_miracast@1.0.so +system_ext/lib64/vendor.qti.hardware.slmadapter@1.0.so +system_ext/lib64/vendor.qti.hardware.systemhelper@1.0.so +system_ext/lib64/vendor.qti.hardware.tui_comm@1.0.so +system_ext/lib64/vendor.qti.hardware.vpp@1.1.so +system_ext/lib64/vendor.qti.hardware.wifi.keystore@1.0.so +system_ext/lib64/vendor.qti.hardware.wifidisplaysession@1.0.so +system_ext/lib64/vendor.qti.hardware.wigig.netperftuner@1.0.so +system_ext/lib64/vendor.qti.hardware.wigig.supptunnel@1.0.so +system_ext/lib64/vendor.qti.ims.callcapability@1.0.so +system_ext/lib64/vendor.qti.ims.callinfo@1.0.so +system_ext/lib64/vendor.qti.ims.factory@1.0.so +system_ext/lib64/vendor.qti.ims.factory@1.1.so +system_ext/lib64/vendor.qti.ims.rcsconfig@1.0.so +system_ext/lib64/vendor.qti.ims.rcsconfig@1.1.so +system_ext/lib64/vendor.qti.ims.rcsconfig@2.0.so +system_ext/lib64/vendor.qti.ims.rcsconfig@2.1.so +system_ext/lib64/vendor.qti.imsrtpservice@3.0.so +system_ext/lib64/vendor.qti.latency@2.0.so +system_ext/lib64/vendor.qti.qspmhal@1.0.so +system_ext/lib64/vendor.qti.voiceprint@1.0.so +system_ext/lib64/vendor.xiaomi.hardware.fingerprintextension@1.0.so +system_ext/priv-app/WfdService/lib/arm64/libwfdnative.so +system_ext/priv-app/ims/lib/arm64/libimscamera_jni.so +system_ext/priv-app/ims/lib/arm64/libimsmedia_jni.so diff --git a/proprietary-files.txt b/proprietary-files.txt new file mode 100644 index 0000000..74474e2 --- /dev/null +++ b/proprietary-files.txt @@ -0,0 +1,3212 @@ + +# ADSP +vendor/bin/adsprpcd +vendor/lib/libadsprpc.so +vendor/lib/libadsp_default_listener.so +vendor/lib/libfastcvdsp_stub.so +vendor/lib/libfastcvopt.so +vendor/lib/libmdsprpc.so +vendor/lib/libsdsprpc.so +vendor/lib64/libadsprpc.so +vendor/lib64/libadsp_default_listener.so +vendor/lib64/libfastcvdsp_stub.so +vendor/lib64/libfastcvopt.so +vendor/lib64/libmdsprpc.so +vendor/lib64/libsdsprpc.so + +# ADSP-Modules +vendor/lib/rfsa/adsp/capi_v2_aptX_Classic.so +vendor/lib/rfsa/adsp/capi_v2_aptX_CLHDAD_Encoder.so +vendor/lib/rfsa/adsp/capi_v2_aptX_HD.so +vendor/lib/rfsa/adsp/libapps_mem_heap.so +vendor/lib/rfsa/adsp/libcalculator_skel.so +vendor/lib/rfsa/adsp/libcamera_nn_skel.so +vendor/lib/rfsa/adsp/libcvpdsp_skel.so +vendor/lib/rfsa/adsp/libdspCV_skel.so +vendor/lib/rfsa/adsp/libdsp_streamer_add_constant.so +vendor/lib/rfsa/adsp/libdsp_streamer_binning.so +vendor/lib/rfsa/adsp/libdsp_streamer_skel.so +vendor/lib/rfsa/adsp/libfastcvadsp.so +vendor/lib/rfsa/adsp/libfastcvdsp_skel.so +vendor/lib/rfsa/adsp/libhexagon_nn_skel.so +vendor/lib/rfsa/adsp/libsnpe_dsp_v66_domains_v2_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/libSuperSensor_skel.so +vendor/lib/rfsa/adsp/libVC1Dec.so +vendor/lib/rfsa/adsp/libVC1DecDsp_skel.so +vendor/lib/rfsa/adsp/misound_karaokemix_res.bin +vendor/lib/rfsa/adsp/misound_karaoke_res.bin +vendor/lib/rfsa/adsp/misound_res_headphone.bin +vendor/lib/rfsa/adsp/misound_res_spk.bin +vendor/lib/rfsa/adsp/tas25xx_TI_0.bin + +# ANT +system_ext/lib/com.qualcomm.qti.ant@1.0.so +system_ext/lib64/com.qualcomm.qti.ant@1.0.so +vendor/lib/com.dsi.ant@1.0.so +vendor/lib64/com.dsi.ant@1.0.so + +# Alarm +-system_ext/framework/vendor.qti.hardware.alarm-V1.0-java.jar +system_ext/lib/vendor.qti.hardware.alarm@1.0.so +system_ext/lib64/vendor.qti.hardware.alarm@1.0.so +vendor/bin/hw/vendor.qti.hardware.alarm@1.0-service +vendor/bin/power_off_alarm +vendor/etc/init/vendor.qti.hardware.alarm@1.0-service.rc +vendor/lib/hw/vendor.qti.hardware.alarm@1.0-impl.so +vendor/lib/vendor.qti.hardware.alarm@1.0.so +vendor/lib64/hw/vendor.qti.hardware.alarm@1.0-impl.so +vendor/lib64/vendor.qti.hardware.alarm@1.0.so + +# Atrace +vendor/bin/hw/android.hardware.atrace@1.0-service +vendor/etc/init/android.hardware.atrace@1.0-service.rc +-vendor/etc/vintf/manifest/android.hardware.atrace@1.0-service.xml + +# Audio +system_ext/etc/permissions/audiosphere.xml +-system_ext/framework/audiosphere.jar +vendor/bin/audioflacapp +vendor/lib/libacdb-fts.so +vendor/lib/libacdbloader.so +vendor/lib/libacdbrtac.so +vendor/lib/libadiertac.so +vendor/lib/libadm.so +vendor/lib/libaudcal.so +vendor/lib/libaudioalsa.so +vendor/lib/libaudioconfigstore.so +vendor/lib/libaudioparsers.so +vendor/lib/libaudioroute_ext.so +vendor/lib/libaudio_log_utils.so +vendor/lib/libdrc.so +vendor/lib/libqtigef.so +vendor/lib/libsurround_3mic_proc.so +vendor/lib/libtinycompress.so +vendor/lib/soundfx/libasphere.so +vendor/lib/soundfx/libaudiopreprocessing.so +vendor/lib/soundfx/libmisoundfx.so +vendor/lib/soundfx/libqcbassboost.so +vendor/lib/soundfx/libqcreverb.so +vendor/lib/soundfx/libqcvirt.so +vendor/lib/soundfx/libshoebox.so +vendor/lib64/libacdb-fts.so +vendor/lib64/libacdbloader.so +vendor/lib64/libacdbrtac.so +vendor/lib64/libadiertac.so +vendor/lib64/libaudcal.so +vendor/lib64/libaudioalsa.so +vendor/lib64/libaudioconfigstore.so +vendor/lib64/libaudioparsers.so +vendor/lib64/libaudioroute_ext.so +vendor/lib64/libaudio_log_utils.so +vendor/lib64/libqtigef.so +vendor/lib64/libtinycompress.so +vendor/lib64/soundfx/libasphere.so +vendor/lib64/soundfx/libaudiopreprocessing.so +vendor/lib64/soundfx/libqcbassboost.so +vendor/lib64/soundfx/libqcreverb.so +vendor/lib64/soundfx/libqcvirt.so +vendor/lib64/soundfx/libshoebox.so + +# Audio-ACDB +vendor/etc/acdbdata/adsp_avs_config.acdb +vendor/etc/acdbdata/Forte/Forte_Bluetooth_cal.acdb +vendor/etc/acdbdata/Forte/Forte_Codec_cal.acdb +vendor/etc/acdbdata/Forte/Forte_General_cal.acdb +vendor/etc/acdbdata/Forte/Forte_Global_cal.acdb +vendor/etc/acdbdata/Forte/Forte_Handset_cal.acdb +vendor/etc/acdbdata/Forte/Forte_Hdmi_cal.acdb +vendor/etc/acdbdata/Forte/Forte_Headset_cal.acdb +vendor/etc/acdbdata/Forte/Forte_Speaker_cal.acdb +vendor/etc/acdbdata/Forte/Forte_workspaceFile.qwsp + +# Audio-Hardware +system_ext/lib/vendor.qti.hardware.audiohalext@1.0.so +system_ext/lib64/vendor.qti.hardware.audiohalext@1.0.so +vendor/bin/hw/android.hardware.audio.service +vendor/etc/init/android.hardware.audio.service.rc +vendor/lib/android.hardware.audio.common-util.so +vendor/lib/android.hardware.audio.common@2.0-util.so +vendor/lib/android.hardware.audio.common@4.0-util.so +vendor/lib/android.hardware.audio.common@5.0-util.so +vendor/lib/android.hardware.audio.common@6.0-util.so +vendor/lib/hw/android.hardware.audio.effect@2.0-impl.so +vendor/lib/hw/android.hardware.audio.effect@4.0-impl.so +vendor/lib/hw/android.hardware.audio.effect@5.0-impl.so +vendor/lib/hw/android.hardware.audio.effect@6.0-impl.so +vendor/lib/hw/android.hardware.audio@2.0-impl.so +vendor/lib/hw/android.hardware.audio@4.0-impl.so +vendor/lib/hw/android.hardware.audio@5.0-impl.so +vendor/lib/hw/android.hardware.audio@6.0-impl.so +vendor/lib/hw/audio.primary.default.so +vendor/lib/hw/audio.primary.msmnile.so +vendor/lib/hw/audio.r_submix.default.so +vendor/lib/hw/audio.usb.default.so +vendor/lib/hw/vendor.qti.hardware.audiohalext@1.0-impl.so +vendor/lib/soundfx/libqcompostprocbundle.so +vendor/lib/soundfx/libqcomvisualizer.so +vendor/lib/soundfx/libqcomvoiceprocessing.so +vendor/lib/soundfx/libvolumelistener.so +vendor/lib/vendor.qti.hardware.audiohalext@1.0.so +vendor/lib64/android.hardware.audio.common-util.so +vendor/lib64/android.hardware.audio.common@2.0-util.so +vendor/lib64/android.hardware.audio.common@4.0-util.so +vendor/lib64/android.hardware.audio.common@5.0-util.so +vendor/lib64/android.hardware.audio.common@6.0-util.so +vendor/lib64/hw/android.hardware.audio.effect@2.0-impl.so +vendor/lib64/hw/android.hardware.audio.effect@4.0-impl.so +vendor/lib64/hw/android.hardware.audio.effect@5.0-impl.so +vendor/lib64/hw/android.hardware.audio.effect@6.0-impl.so +vendor/lib64/hw/android.hardware.audio@2.0-impl.so +vendor/lib64/hw/android.hardware.audio@4.0-impl.so +vendor/lib64/hw/android.hardware.audio@5.0-impl.so +vendor/lib64/hw/android.hardware.audio@6.0-impl.so +vendor/lib64/hw/audio.primary.default.so +vendor/lib64/hw/audio.primary.msmnile.so +vendor/lib64/hw/audio.r_submix.default.so +vendor/lib64/hw/audio.usb.default.so +vendor/lib64/hw/vendor.qti.hardware.audiohalext@1.0-impl.so +vendor/lib64/soundfx/libqcompostprocbundle.so +vendor/lib64/soundfx/libqcomvisualizer.so +vendor/lib64/soundfx/libqcomvoiceprocessing.so +vendor/lib64/soundfx/libvolumelistener.so +vendor/lib64/vendor.qti.hardware.audiohalext@1.0.so + +# Bluetooth +system_ext/lib/com.qualcomm.qti.bluetooth_audio@1.0.so +system_ext/lib/vendor.qti.hardware.bluetooth_audio@2.0.so +system_ext/lib/vendor.qti.hardware.btconfigstore@1.0.so +system_ext/lib/vendor.qti.hardware.btconfigstore@2.0.so +system_ext/lib64/com.qualcomm.qti.bluetooth_audio@1.0.so +system_ext/lib64/vendor.qti.hardware.bluetooth_audio@2.0.so +system_ext/lib64/vendor.qti.hardware.btconfigstore@1.0.so +system_ext/lib64/vendor.qti.hardware.btconfigstore@2.0.so +vendor/bin/hw/android.hardware.bluetooth@1.0-service-qti +vendor/etc/init/android.hardware.bluetooth@1.0-service-qti.rc +vendor/lib/com.qualcomm.qti.bluetooth_audio@1.0.so +vendor/lib/hw/android.hardware.bluetooth.audio@2.0-impl.so +vendor/lib/hw/android.hardware.bluetooth@1.0-impl-qti.so +vendor/lib/hw/audio.bluetooth.default.so +vendor/lib/hw/audio.bluetooth_qti.default.so +vendor/lib/hw/com.qualcomm.qti.bluetooth_audio@1.0-impl.so +vendor/lib/hw/vendor.qti.hardware.bluetooth_audio@2.0-impl.so +vendor/lib/hw/vendor.qti.hardware.bluetooth_sar@1.1-impl.so +vendor/lib/hw/vendor.qti.hardware.btconfigstore@1.0-impl.so +vendor/lib/hw/vendor.qti.hardware.btconfigstore@2.0-impl.so +vendor/lib/libbluetooth_audio_session.so +vendor/lib/libbluetooth_audio_session_qti.so +vendor/lib/libbt-hidlclient.so +vendor/lib/libbtnv.so +vendor/lib/vendor.qti.hardware.bluetooth_audio@2.0.so +vendor/lib/vendor.qti.hardware.bluetooth_sar@1.0.so +vendor/lib/vendor.qti.hardware.bluetooth_sar@1.1.so +vendor/lib/vendor.qti.hardware.btconfigstore@1.0.so +vendor/lib/vendor.qti.hardware.btconfigstore@2.0.so +vendor/lib64/com.qualcomm.qti.bluetooth_audio@1.0.so +vendor/lib64/hw/android.hardware.bluetooth.audio@2.0-impl.so +vendor/lib64/hw/android.hardware.bluetooth@1.0-impl-qti.so +vendor/lib64/hw/audio.bluetooth.default.so +vendor/lib64/hw/audio.bluetooth_qti.default.so +vendor/lib64/hw/com.qualcomm.qti.bluetooth_audio@1.0-impl.so +vendor/lib64/hw/vendor.qti.hardware.bluetooth_audio@2.0-impl.so +vendor/lib64/hw/vendor.qti.hardware.bluetooth_sar@1.1-impl.so +vendor/lib64/hw/vendor.qti.hardware.btconfigstore@1.0-impl.so +vendor/lib64/hw/vendor.qti.hardware.btconfigstore@2.0-impl.so +vendor/lib64/libbluetooth_audio_session.so +vendor/lib64/libbluetooth_audio_session_qti.so +vendor/lib64/libbt-hidlclient.so +vendor/lib64/libbtnv.so +vendor/lib64/vendor.qti.hardware.bluetooth_audio@2.0.so +vendor/lib64/vendor.qti.hardware.bluetooth_sar@1.0.so +vendor/lib64/vendor.qti.hardware.bluetooth_sar@1.1.so +vendor/lib64/vendor.qti.hardware.btconfigstore@1.0.so +vendor/lib64/vendor.qti.hardware.btconfigstore@2.0.so + +# CDSP +vendor/bin/cdsprpcd +vendor/etc/init/vendor.qti.cdsprpc-service.rc +vendor/lib/libcdsprpc.so +vendor/lib/libcdsp_default_listener.so +vendor/lib/libfastrpc_utf_stub.so +vendor/lib/libsysmon_cdsp_skel.so +vendor/lib64/libcdsprpc.so +vendor/lib64/libcdsp_default_listener.so +vendor/lib64/libfastrpc_utf_stub.so +vendor/lib64/libsysmon_cdsp_skel.so + +# CNE +product/etc/permissions/vendor.qti.hardware.data.connection-V1.0-java.xml +product/etc/permissions/vendor.qti.hardware.data.connection-V1.1-java.xml +-system_ext/framework/com.quicinc.cne.api-V1.0-java.jar +-system_ext/framework/com.quicinc.cne.api-V1.1-java.jar +-system_ext/framework/com.quicinc.cne.constants-V1.0-java.jar +-system_ext/framework/com.quicinc.cne.constants-V2.0-java.jar +-system_ext/framework/com.quicinc.cne.constants-V2.1-java.jar +-system_ext/framework/vendor.qti.data.factory-V1.0-java.jar +-system_ext/framework/vendor.qti.data.factory-V2.0-java.jar +-system_ext/framework/vendor.qti.data.factory-V2.1-java.jar +-system_ext/framework/vendor.qti.data.slm-V1.0-java.jar +-system_ext/framework/vendor.qti.hardware.data.cne.internal.api-V1.0-java.jar +-system_ext/framework/vendor.qti.hardware.data.cne.internal.constants-V1.0-java.jar +-system_ext/framework/vendor.qti.hardware.data.cne.internal.server-V1.0-java.jar +-system_ext/framework/vendor.qti.hardware.data.connection-V1.0-java.jar +-system_ext/framework/vendor.qti.hardware.data.connection-V1.1-java.jar +-system_ext/framework/vendor.qti.hardware.data.dynamicdds-V1.0-java.jar +-system_ext/framework/vendor.qti.hardware.data.iwlan-V1.0-java.jar +-system_ext/framework/vendor.qti.hardware.data.qmi-V1.0-java.jar +system_ext/lib/com.quicinc.cne.api@1.0.so +system_ext/lib/com.quicinc.cne.api@1.1.so +system_ext/lib/com.quicinc.cne.constants@1.0.so +system_ext/lib/com.quicinc.cne.constants@2.0.so +system_ext/lib/com.quicinc.cne.constants@2.1.so +system_ext/lib/vendor.qti.data.factory@1.0.so +system_ext/lib/vendor.qti.data.factory@2.0.so +system_ext/lib/vendor.qti.data.factory@2.1.so +system_ext/lib/vendor.qti.data.slm@1.0.so +system_ext/lib/vendor.qti.hardware.data.cne.internal.api@1.0.so +system_ext/lib/vendor.qti.hardware.data.cne.internal.constants@1.0.so +system_ext/lib/vendor.qti.hardware.data.cne.internal.server@1.0.so +system_ext/lib/vendor.qti.hardware.data.connection@1.0.so +system_ext/lib/vendor.qti.hardware.data.connection@1.1.so +system_ext/lib/vendor.qti.hardware.data.dynamicdds@1.0.so +system_ext/lib/vendor.qti.hardware.data.iwlan@1.0.so +system_ext/lib/vendor.qti.hardware.data.qmi@1.0.so +system_ext/lib64/com.quicinc.cne.api@1.0.so +system_ext/lib64/com.quicinc.cne.api@1.1.so +system_ext/lib64/com.quicinc.cne.constants@1.0.so +system_ext/lib64/com.quicinc.cne.constants@2.0.so +system_ext/lib64/com.quicinc.cne.constants@2.1.so +system_ext/lib64/vendor.qti.data.factory@1.0.so +system_ext/lib64/vendor.qti.data.factory@2.0.so +system_ext/lib64/vendor.qti.data.factory@2.1.so +system_ext/lib64/vendor.qti.data.slm@1.0.so +system_ext/lib64/vendor.qti.hardware.data.cne.internal.api@1.0.so +system_ext/lib64/vendor.qti.hardware.data.cne.internal.constants@1.0.so +system_ext/lib64/vendor.qti.hardware.data.cne.internal.server@1.0.so +system_ext/lib64/vendor.qti.hardware.data.connection@1.0.so +system_ext/lib64/vendor.qti.hardware.data.connection@1.1.so +system_ext/lib64/vendor.qti.hardware.data.dynamicdds@1.0.so +system_ext/lib64/vendor.qti.hardware.data.iwlan@1.0.so +system_ext/lib64/vendor.qti.hardware.data.qmi@1.0.so +-vendor/app/CneApp/CneApp.apk +vendor/app/CneApp/lib/arm64/libvndfwk_detect_jni.qti.so +-vendor/app/IWlanService/IWlanService.apk +vendor/bin/cnd +vendor/etc/cne/profileSlm.xml +vendor/etc/cne/slm.conf +vendor/etc/cne/wqeclient/ATT/ATT_profile1.xml +vendor/etc/cne/wqeclient/ATT/ATT_profile2.xml +vendor/etc/cne/wqeclient/ATT/ATT_profile3.xml +vendor/etc/cne/wqeclient/ATT/ATT_profile4.xml +vendor/etc/cne/wqeclient/ATT/ATT_profile5.xml +vendor/etc/cne/wqeclient/ATT/ATT_profile6.xml +vendor/etc/cne/wqeclient/ROW/ROW_profile1.xml +vendor/etc/cne/wqeclient/ROW/ROW_profile15.xml +vendor/etc/cne/wqeclient/ROW/ROW_profile16.xml +vendor/etc/cne/wqeclient/ROW/ROW_profile17.xml +vendor/etc/cne/wqeclient/ROW/ROW_profile18.xml +vendor/etc/cne/wqeclient/ROW/ROW_profile19.xml +vendor/etc/cne/wqeclient/ROW/ROW_profile2.xml +vendor/etc/cne/wqeclient/ROW/ROW_profile20.xml +vendor/etc/cne/wqeclient/ROW/ROW_profile21.xml +vendor/etc/cne/wqeclient/ROW/ROW_profile3.xml +vendor/etc/cne/wqeclient/ROW/ROW_profile32.xml +vendor/etc/cne/wqeclient/ROW/ROW_profile4.xml +vendor/etc/cne/wqeclient/ROW/ROW_profile5.xml +vendor/etc/cne/wqeclient/ROW/ROW_profile6.xml +vendor/etc/cne/wqeclient/ROW/ROW_profile7.xml +vendor/etc/cne/wqeclient/VZW/VZW_profile1.xml +vendor/etc/cne/wqeclient/VZW/VZW_profile2.xml +vendor/etc/cne/wqeclient/VZW/VZW_profile3.xml +vendor/etc/cne/wqeclient/VZW/VZW_profile4.xml +vendor/etc/cne/wqeclient/VZW/VZW_profile5.xml +vendor/etc/cne/wqeclient/VZW/VZW_profile6.xml +vendor/etc/init/cnd.rc +vendor/lib/libcne.so +vendor/lib/libcneapiclient.so +vendor/lib/libcneoplookup.so +vendor/lib/libcneqmiutils.so +vendor/lib/libwms.so +vendor/lib/libwqe.so +vendor/lib/libxml.so +vendor/lib/vendor.qti.data.factory@2.0.so +vendor/lib/vendor.qti.data.factory@2.1.so +vendor/lib/vendor.qti.data.slm@1.0.so +vendor/lib/vendor.qti.hardware.data.cne.internal.api@1.0.so +vendor/lib/vendor.qti.hardware.data.cne.internal.constants@1.0.so +vendor/lib/vendor.qti.hardware.data.cne.internal.server@1.0.so +vendor/lib/vendor.qti.hardware.data.connection@1.0.so +vendor/lib/vendor.qti.hardware.data.connection@1.1.so +vendor/lib/vendor.qti.hardware.data.dynamicdds@1.0.so +vendor/lib/vendor.qti.hardware.data.qmi@1.0.so +vendor/lib64/libcne.so +vendor/lib64/libcneapiclient.so +vendor/lib64/libcneoplookup.so +vendor/lib64/libcneqmiutils.so +vendor/lib64/libwms.so +vendor/lib64/libwqe.so +vendor/lib64/libxml.so +vendor/lib64/vendor.qti.data.factory@2.0.so +vendor/lib64/vendor.qti.data.factory@2.1.so +vendor/lib64/vendor.qti.data.slm@1.0.so +vendor/lib64/vendor.qti.hardware.data.cne.internal.api@1.0.so +vendor/lib64/vendor.qti.hardware.data.cne.internal.constants@1.0.so +vendor/lib64/vendor.qti.hardware.data.cne.internal.server@1.0.so +vendor/lib64/vendor.qti.hardware.data.connection@1.0.so +vendor/lib64/vendor.qti.hardware.data.connection@1.1.so +vendor/lib64/vendor.qti.hardware.data.dynamicdds@1.0.so +vendor/lib64/vendor.qti.hardware.data.iwlan@1.0.so +vendor/lib64/vendor.qti.hardware.data.qmi@1.0.so + +# CVP +system_ext/lib/vendor.qti.hardware.cvp@1.0-adapter-helper.so +system_ext/lib/vendor.qti.hardware.cvp@1.0.so +system_ext/lib64/vendor.qti.hardware.cvp@1.0-adapter-helper.so +system_ext/lib64/vendor.qti.hardware.cvp@1.0.so +vendor/lib/libcvp.so +vendor/lib/libcvpcpuRev_skel.so +vendor/lib/libcvp_common.so +vendor/lib/libcvp_stub.so +vendor/lib/vendor.qti.hardware.cvp@1.0.so +vendor/lib64/libcvp.so +vendor/lib64/libcvpcpuRev_skel.so +vendor/lib64/libcvp_common.so +vendor/lib64/libcvp_stub.so +vendor/lib64/vendor.qti.hardware.cvp@1.0.so + +# Camera +system_ext/lib/vendor.qti.hardware.camera.device@1.0.so +system_ext/lib/vendor.qti.hardware.camera.device@2.0.so +system_ext/lib/vendor.qti.hardware.camera.device@3.5.so +vendor/bin/hw/android.hardware.camera.provider@2.4-service_64 +vendor/etc/camera/mibokeh_712_opencl.bin +vendor/etc/camera/mibokeh_712_parameter.bin +vendor/etc/camera/model_front_mibokeh_video.dlc +vendor/etc/init/android.hardware.camera.provider@2.4-service_64.rc +vendor/lib/android.hardware.camera.provider@2.4-external.so +vendor/lib/android.hardware.camera.provider@2.4-legacy.so +vendor/lib/camera/com.qti.sensor.hi259_vayu.so +vendor/lib/camera/com.qti.sensor.imx582_vayu.so +vendor/lib/camera/com.qti.sensor.ov02b1b_vayu.so +vendor/lib/camera/com.qti.sensor.ov8856_vayu.so +vendor/lib/camera/com.qti.sensor.s5k3t2_vayu.so +vendor/lib/camera/com.qti.sensormodule.vayu_aac_hi259.bin +vendor/lib/camera/com.qti.sensormodule.vayu_aac_ov02b1b.bin +vendor/lib/camera/com.qti.sensormodule.vayu_ofilm_hi259.bin +vendor/lib/camera/com.qti.sensormodule.vayu_ofilm_imx582.bin +vendor/lib/camera/com.qti.sensormodule.vayu_ofilm_ov02b1b.bin +vendor/lib/camera/com.qti.sensormodule.vayu_ofilm_ov8856.bin +vendor/lib/camera/com.qti.sensormodule.vayu_ofilm_s5k3t2.bin +vendor/lib/camera/com.qti.sensormodule.vayu_sunny_imx582.bin +vendor/lib/camera/com.qti.sensormodule.vayu_sunny_ov8856.bin +vendor/lib/camera/com.qti.sensormodule.vayu_sunny_s5k3t2.bin +vendor/lib/camera/com.qti.tuned.default.bin +vendor/lib/camera/com.qti.tuned.vayu_aac_hi259.bin +vendor/lib/camera/com.qti.tuned.vayu_aac_ov02b1b.bin +vendor/lib/camera/com.qti.tuned.vayu_ofilm_hi259.bin +vendor/lib/camera/com.qti.tuned.vayu_ofilm_imx582.bin +vendor/lib/camera/com.qti.tuned.vayu_ofilm_ov02b1b.bin +vendor/lib/camera/com.qti.tuned.vayu_ofilm_ov8856.bin +vendor/lib/camera/com.qti.tuned.vayu_ofilm_s5k3t2.bin +vendor/lib/camera/com.qti.tuned.vayu_sunny_imx582.bin +vendor/lib/camera/com.qti.tuned.vayu_sunny_ov8856.bin +vendor/lib/camera/com.qti.tuned.vayu_sunny_s5k3t2.bin +vendor/lib/camera/components/com.ailab.node.videofilter.so +vendor/lib/camera/components/com.almalence.node.sr.so +vendor/lib/camera/components/com.altek.node.depurple.so +vendor/lib/camera/components/com.qti.camx.chiiqutils.so +vendor/lib/camera/components/com.qti.eisv2.so +vendor/lib/camera/components/com.qti.eisv3.so +vendor/lib/camera/components/com.qti.hvx.addconstant.so +vendor/lib/camera/components/com.qti.hvx.binning.so +vendor/lib/camera/components/com.qti.node.depth.so +vendor/lib/camera/components/com.qti.node.dummyrtb.so +vendor/lib/camera/components/com.qti.node.dummysat.so +vendor/lib/camera/components/com.qti.node.eisv2.so +vendor/lib/camera/components/com.qti.node.eisv3.so +vendor/lib/camera/components/com.qti.node.fcv.so +vendor/lib/camera/components/com.qti.node.gpu.so +vendor/lib/camera/components/com.qti.node.memcpy.so +vendor/lib/camera/components/com.qti.node.mimovie.so +vendor/lib/camera/components/com.qti.node.remosaic.so +vendor/lib/camera/components/com.qti.node.stich.so +vendor/lib/camera/components/com.qti.node.swregistration.so +vendor/lib/camera/components/com.qti.node.watermark.so +vendor/lib/camera/components/com.qti.node.xiaomigenderage.so +vendor/lib/camera/components/com.qti.stats.aec.so +vendor/lib/camera/components/com.qti.stats.af.so +vendor/lib/camera/components/com.qti.stats.afd.so +vendor/lib/camera/components/com.qti.stats.asd.so +vendor/lib/camera/components/com.qti.stats.awb.so +vendor/lib/camera/components/com.qti.stats.awbwrapper.so +vendor/lib/camera/components/com.qti.stats.haf.so +vendor/lib/camera/components/com.qti.stats.localhistogram.so +vendor/lib/camera/components/com.qti.stats.pdlib.so +vendor/lib/camera/components/com.qti.stats.pdlibsony.so +vendor/lib/camera/components/com.qti.stats.pdlibwrapper.so +vendor/lib/camera/components/com.qtistatic.stats.aec.so +vendor/lib/camera/components/com.qtistatic.stats.af.so +vendor/lib/camera/components/com.qtistatic.stats.awb.so +vendor/lib/camera/components/com.qtistatic.stats.pdlib.so +vendor/lib/camera/components/com.st.node.sr.so +vendor/lib/camera/components/com.visidon.node.clearshot.so +vendor/lib/camera/components/libdepthmapwrapper.so +vendor/lib/camera/fdconfigpreview.bin +vendor/lib/camera/fdconfigpreviewlite.bin +vendor/lib/camera/fdconfigvideo.bin +vendor/lib/camera/fdconfigvideolite.bin +vendor/lib/hw/android.hardware.camera.provider@2.4-impl.so +vendor/lib/hw/camera.qcom.so +vendor/lib/hw/com.qti.chi.override.so +vendor/lib/libalhLDC.so +vendor/lib/libalLDC.so +vendor/lib/libc++_shared.so +vendor/lib/libcamera2ndk_vendor.so +vendor/lib/libcamera_nn_stub.so +vendor/lib/libcamxfdalgov7.so +vendor/lib/libcamxfdalgov8.so +vendor/lib/libcamxfdengine.so +vendor/lib/libcamxstatscore.so +vendor/lib/libcamxswprocessalgo.so +vendor/lib/libcamxtintlessalgo.so +vendor/lib/libcapiv2svacnn.so +vendor/lib/libcapiv2vop.so +vendor/lib/libcom.qti.chinodeutils.so +vendor/lib/libFaceGrade.so +vendor/lib/libgui_vendor.so +vendor/lib/libHalSuperSensorServer.so +vendor/lib/libmegface.so +vendor/lib/libMegviiFacepp-0.5.2.so +vendor/lib/libmialgo_fs.so +vendor/lib/libmialgo_rfs.so +vendor/lib/libmialgo_utils.so +vendor/lib/libremosaic_daemon.so +vendor/lib/libsnsapi.so +vendor/lib/libsnsdiaglog.so +vendor/lib/libsns_device_mode_stub.so +vendor/lib/libsns_fastRPC_util.so +vendor/lib/libsns_low_lat_stream_stub.so +vendor/lib/libSuperSensor.so +vendor/lib/libSuperSensorCPU.so +vendor/lib/libswregistrationalgo.so +vendor/lib/libswvdec.so +vendor/lib/libVDClearShot.so +vendor/lib/libvideoutils.so +vendor/lib/libXMFD_AgeGender.so +vendor/lib/vendor.qti.hardware.camera.device@1.0.so +vendor/lib/vendor.qti.hardware.camera.device@2.0.so +vendor/lib/vendor.qti.hardware.camera.device@3.5.so +vendor/lib64/android.hardware.camera.provider@2.4-external.so +vendor/lib64/android.hardware.camera.provider@2.4-legacy.so +vendor/lib64/camera/com.qti.sensor.hi259_vayu.so +vendor/lib64/camera/com.qti.sensor.imx582_vayu.so +vendor/lib64/camera/com.qti.sensor.ov02b1b_vayu.so +vendor/lib64/camera/com.qti.sensor.ov8856_vayu.so +vendor/lib64/camera/com.qti.sensor.s5k3t2_vayu.so +vendor/lib64/camera/com.qti.sensormodule.vayu_aac_hi259.bin +vendor/lib64/camera/com.qti.sensormodule.vayu_aac_ov02b1b.bin +vendor/lib64/camera/com.qti.sensormodule.vayu_ofilm_hi259.bin +vendor/lib64/camera/com.qti.sensormodule.vayu_ofilm_imx582.bin +vendor/lib64/camera/com.qti.sensormodule.vayu_ofilm_ov02b1b.bin +vendor/lib64/camera/com.qti.sensormodule.vayu_ofilm_ov8856.bin +vendor/lib64/camera/com.qti.sensormodule.vayu_ofilm_s5k3t2.bin +vendor/lib64/camera/com.qti.sensormodule.vayu_sunny_imx582.bin +vendor/lib64/camera/com.qti.sensormodule.vayu_sunny_ov8856.bin +vendor/lib64/camera/com.qti.sensormodule.vayu_sunny_s5k3t2.bin +vendor/lib64/camera/com.qti.tuned.default.bin +vendor/lib64/camera/com.qti.tuned.vayu_aac_hi259.bin +vendor/lib64/camera/com.qti.tuned.vayu_aac_ov02b1b.bin +vendor/lib64/camera/com.qti.tuned.vayu_ofilm_hi259.bin +vendor/lib64/camera/com.qti.tuned.vayu_ofilm_imx582.bin +vendor/lib64/camera/com.qti.tuned.vayu_ofilm_ov02b1b.bin +vendor/lib64/camera/com.qti.tuned.vayu_ofilm_ov8856.bin +vendor/lib64/camera/com.qti.tuned.vayu_ofilm_s5k3t2.bin +vendor/lib64/camera/com.qti.tuned.vayu_sunny_imx582.bin +vendor/lib64/camera/com.qti.tuned.vayu_sunny_ov8856.bin +vendor/lib64/camera/com.qti.tuned.vayu_sunny_s5k3t2.bin +vendor/lib64/camera/components/com.ailab.node.videofilter.so +vendor/lib64/camera/components/com.almalence.node.sr.so +vendor/lib64/camera/components/com.altek.node.depurple.so +vendor/lib64/camera/components/com.altek.node.distortioncorrection.so +vendor/lib64/camera/components/com.arcsoft.node.bodyslim.so +vendor/lib64/camera/components/com.arcsoft.node.capturebokeh.so +vendor/lib64/camera/components/com.arcsoft.node.deflicker.so +vendor/lib64/camera/components/com.arcsoft.node.distortioncorrection.so +vendor/lib64/camera/components/com.arcsoft.node.hdr.so +vendor/lib64/camera/components/com.arcsoft.node.hdrchecker.so +vendor/lib64/camera/components/com.arcsoft.node.realtimebokeh.so +vendor/lib64/camera/components/com.arcsoft.node.skinbeautifier.so +vendor/lib64/camera/components/com.arcsoft.node.smoothtransition.so +vendor/lib64/camera/components/com.arcsoft.node.superlowlight.so +vendor/lib64/camera/components/com.mi.node.aiasd.so +vendor/lib64/camera/components/com.mi.node.miaisuperlowlightraw.so +vendor/lib64/camera/components/com.mi.node.rearvideo.so +vendor/lib64/camera/components/com.mi.node.videobokeh.so +vendor/lib64/camera/components/com.qti.camx.chiiqutils.so +vendor/lib64/camera/components/com.qti.eisv2.so +vendor/lib64/camera/components/com.qti.eisv3.so +vendor/lib64/camera/components/com.qti.hvx.addconstant.so +vendor/lib64/camera/components/com.qti.hvx.binning.so +vendor/lib64/camera/components/com.qti.node.depth.so +vendor/lib64/camera/components/com.qti.node.dummyrtb.so +vendor/lib64/camera/components/com.qti.node.dummysat.so +vendor/lib64/camera/components/com.qti.node.eisv2.so +vendor/lib64/camera/components/com.qti.node.eisv3.so +vendor/lib64/camera/components/com.qti.node.fcv.so +vendor/lib64/camera/components/com.qti.node.gpu.so +vendor/lib64/camera/components/com.qti.node.memcpy.so +vendor/lib64/camera/components/com.qti.node.mimovie.so +vendor/lib64/camera/components/com.qti.node.photosolid.so +vendor/lib64/camera/components/com.qti.node.remosaic.so +vendor/lib64/camera/components/com.qti.node.stich.so +vendor/lib64/camera/components/com.qti.node.swregistration.so +vendor/lib64/camera/components/com.qti.node.watermark.so +vendor/lib64/camera/components/com.qti.node.xiaomigenderage.so +vendor/lib64/camera/components/com.qti.stats.aec.so +vendor/lib64/camera/components/com.qti.stats.af.so +vendor/lib64/camera/components/com.qti.stats.afd.so +vendor/lib64/camera/components/com.qti.stats.asd.so +vendor/lib64/camera/components/com.qti.stats.awb.so +vendor/lib64/camera/components/com.qti.stats.awbwrapper.so +vendor/lib64/camera/components/com.qti.stats.haf.so +vendor/lib64/camera/components/com.qti.stats.hafoverride.so +vendor/lib64/camera/components/com.qti.stats.localhistogram.so +vendor/lib64/camera/components/com.qti.stats.pdlib.so +vendor/lib64/camera/components/com.qti.stats.pdlibsony.so +vendor/lib64/camera/components/com.qti.stats.pdlibwrapper.so +vendor/lib64/camera/components/com.qtistatic.stats.aec.so +vendor/lib64/camera/components/com.qtistatic.stats.af.so +vendor/lib64/camera/components/com.qtistatic.stats.awb.so +vendor/lib64/camera/components/com.qtistatic.stats.pdlib.so +vendor/lib64/camera/components/com.st.node.sr.so +vendor/lib64/camera/components/com.vidhance.node.eis.so +vendor/lib64/camera/components/com.vidhance.stats.aec_dmbr.so +vendor/lib64/camera/components/com.visidon.node.clearshot.so +vendor/lib64/camera/components/com.xiaomi.node.mibokeh.so +vendor/lib64/camera/components/com.xiaomi.node.mifragment.so +vendor/lib64/camera/components/com.xiaomi.node.misegment.so +vendor/lib64/camera/components/etc/visidon_clearshot_params.xml +vendor/lib64/camera/components/libdepthmapwrapper.so +vendor/lib64/camera/fdconfigpreview.bin +vendor/lib64/camera/fdconfigpreviewlite.bin +vendor/lib64/camera/fdconfigvideo.bin +vendor/lib64/camera/fdconfigvideolite.bin +vendor/lib64/hw/android.hardware.camera.provider@2.4-impl.so +vendor/lib64/hw/camera.qcom.so +vendor/lib64/hw/com.qti.chi.override.so +vendor/lib64/libc++_shared.so +vendor/lib64/libcamera2ndk_vendor.so +vendor/lib64/libcamera_dirty.so +vendor/lib64/libcamera_nn_stub.so +vendor/lib64/libcamera_scene.so +vendor/lib64/libcamxfdalgov7.so +vendor/lib64/libcamxfdalgov8.so +vendor/lib64/libcamxfdengine.so +vendor/lib64/libcamxlocalhistogramalgo.so +vendor/lib64/libcamxstatscore.so +vendor/lib64/libcamxswprocessalgo.so +vendor/lib64/libcamxtintlessalgo.so +vendor/lib64/libcapiv2svacnn.so +vendor/lib64/libcapiv2vop.so +vendor/lib64/libcom.qti.chinodeutils.so +vendor/lib64/libdualcam_optical_zoom_control.so +vendor/lib64/libdualcam_video_optical_zoom.so +vendor/lib64/libFaceGrade.so +vendor/lib64/libgui_vendor.so +vendor/lib64/libHalSuperSensorServer.so +vendor/lib64/libmegface.so +vendor/lib64/libMegviiFacepp-0.5.2.so +vendor/lib64/libmialgoengine.so +vendor/lib64/libmialgo_fs.so +vendor/lib64/libmialgo_ie_capture.so +vendor/lib64/libmialgo_image_colourkeeping.so +vendor/lib64/libmialgo_rfs.so +vendor/lib64/libmialgo_sd.so +vendor/lib64/libmialgo_utils.so +vendor/lib64/libmialgo_video_colourkeeping.so +vendor/lib64/libmialgo_video_seg.so +vendor/lib64/libmibokeh_712.so +vendor/lib64/libmibokeh_845_video.so +vendor/lib64/libmibokeh_855.so +vendor/lib64/libmpbase.so +vendor/lib64/libremosaiclib.so +vendor/lib64/libremosaic_daemon.so +vendor/lib64/libSNPE.so +vendor/lib64/libsnpe_dsp_domains_v2.so +vendor/lib64/libsnsapi.so +vendor/lib64/libsnsdiaglog.so +vendor/lib64/libsns_device_mode_stub.so +vendor/lib64/libsns_fastRPC_util.so +vendor/lib64/libsns_low_lat_stream_stub.so +vendor/lib64/libSuperSensor.so +vendor/lib64/libSuperSensorCPU.so +vendor/lib64/libswregistrationalgo.so +vendor/lib64/libswvdec.so +vendor/lib64/libsymphony-cpu.so +vendor/lib64/libVDClearShot.so +vendor/lib64/libvidhance.so +vendor/lib64/libXMFD_AgeGender.so +vendor/lib64/lib_denoiser3.so +vendor/lib64/vendor.qti.hardware.camera.device@1.0.so +vendor/lib64/vendor.qti.hardware.camera.device@2.0.so +vendor/lib64/vendor.qti.hardware.camera.device@3.5.so + +# Camera-arcsoft +vendor/lib64/libarcsoft_beautyshot.so +vendor/lib64/libarcsoft_bodyslim.so +vendor/lib64/libarcsoft_distortion_correction.so +vendor/lib64/libarcsoft_dualcam_refocus_image.so +vendor/lib64/libarcsoft_dualcam_refocus_video.so +vendor/lib64/libarcsoft_hdr_detection.so +vendor/lib64/libarcsoft_high_dynamic_range.so +vendor/lib64/libarcsoft_high_dynamic_range_v5.so +vendor/lib64/libarcsoft_low_light_hdr.so +vendor/lib64/libarcsoft_portrait_lighting.so +vendor/lib64/libarcsoft_portrait_lighting_c.so +vendor/lib64/libarcsoft_preview_deflicker.so +vendor/lib64/libarcsoft_supernight.so + +# Camera-configs +vendor/etc/camera/104_Meet.png +vendor/etc/camera/108_NorthernEurope.png +vendor/etc/camera/109_Rome.png +vendor/etc/camera/110_BlackGold.png +vendor/etc/camera/121_BBP.png +vendor/etc/camera/122_Mysterious.png +vendor/etc/camera/123_GreenOrange.png +vendor/etc/camera/124_SummerDay.png +vendor/etc/camera/125_Latin.png +vendor/etc/camera/126_Fantasy.png +vendor/etc/camera/127_DustDream.png +vendor/etc/camera/128_MongKok.png +vendor/etc/camera/almalence_sr_params_tele.config +vendor/etc/camera/almalence_sr_params_wide.config +vendor/etc/camera/beauty_ui9_intelligent_params.config +vendor/etc/camera/body_slim_ui9_params.config +vendor/etc/camera/bokehParams.json +vendor/etc/camera/camxoverridesettings.txt +vendor/etc/camera/CFR_para_T.bin +vendor/etc/camera/CFR_para_UW.bin +vendor/etc/camera/CFR_para_W.bin +vendor/etc/camera/CFR_para_W_HD_V01.bin +vendor/etc/camera/eisoverridesettings.txt +vendor/etc/camera/eyelineblush.cng +vendor/etc/camera/golden_rear_dc_cal_wt.bin +vendor/etc/camera/golden_rear_dc_cal_wu.bin +vendor/etc/camera/GpuKernelRepo.pb +vendor/etc/camera/hdr_ui9_params.config +vendor/etc/camera/LDC_FPC_TUNING_DATA.bin +vendor/etc/camera/LDC_PACKDATA_VENDORID_0x01.bin +vendor/etc/camera/LDC_PACKDATA_VENDORID_0x03.bin +vendor/etc/camera/LDC_PACKDATA_VENDORID_0x07.bin +vendor/etc/camera/LDC_table_src1.dat +vendor/etc/camera/megviifacepp_0_5_2_model +vendor/etc/camera/model_back.dlc +vendor/etc/camera/model_front.dlc +vendor/etc/camera/morpho_lowlight4.0.xml +vendor/etc/camera/morpho_lowlight4.0_3hdr.xml +vendor/etc/camera/morpho_lowlight4.0_adrc_high.xml +vendor/etc/camera/morpho_lowlight4.0_adrc_high_1.xml +vendor/etc/camera/sceneDetection.xml +vendor/etc/camera/seg_quantized.dlc +vendor/etc/camera/sr_params.xml +vendor/etc/camera/vidhance_calibration +vendor/etc/camera/visidon_clearshot_params_algoup.xml + +# Camera-firmware +vendor/firmware/CAMERA_ICP.elf + +# Charger +vendor/bin/hvdcp_opti + +# Configstore +-system_ext/framework/vendor.qti.hardware.capabilityconfigstore-V1.0-java.jar +system_ext/lib/vendor.qti.hardware.capabilityconfigstore@1.0.so +system_ext/lib64/vendor.qti.hardware.capabilityconfigstore@1.0.so +vendor/bin/hw/android.hardware.configstore@1.1-service +vendor/bin/hw/vendor.qti.hardware.capabilityconfigstore@1.0-service +vendor/etc/init/vendor.qti.hardware.capabilityconfigstore@1.0-service.rc +vendor/lib/hw/vendor.qti.hardware.capabilityconfigstore@1.0-impl.so +vendor/lib/vendor.qti.hardware.capabilityconfigstore@1.0.so +vendor/lib64/hw/vendor.qti.hardware.capabilityconfigstore@1.0-impl.so +vendor/lib64/vendor.qti.hardware.capabilityconfigstore@1.0.so + +# Consumerir +vendor/lib/hw/consumerir.default.so +vendor/lib64/hw/consumerir.default.so + +# DPM +-framework/tcmclient.jar +system_ext/bin/dpmd +system_ext/etc/dpm/dpm.conf +system_ext/etc/init/dpmd.rc +system_ext/etc/permissions/com.qti.dpmframework.xml +system_ext/etc/permissions/dpmapi.xml +-system_ext/framework/com.qti.dpmframework.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/libdpmctmgr.so +system_ext/lib64/libdpmfdmgr.so +system_ext/lib64/libdpmframework.so +system_ext/lib64/libdpmtcm.so +-system_ext/priv-app/dpmserviceapp/dpmserviceapp.apk +vendor/bin/dpmQmiMgr +vendor/lib/com.qualcomm.qti.dpm.api@1.0.so +vendor/lib/libdpmqmihal.so +vendor/lib64/com.qualcomm.qti.dpm.api@1.0.so +vendor/lib64/libdpmqmihal.so + +# DRM +vendor/bin/qseecomd +vendor/lib/libbase64.so +vendor/lib/libcpion.so +vendor/lib/libcppf.so +vendor/lib/libdrmfs.so +vendor/lib/libdrmtime.so +vendor/lib/libGPQTEEC_vendor.so +vendor/lib/libGPreqcancel.so +vendor/lib/libGPreqcancel_svc.so +vendor/lib/libGPTEE_vendor.so +vendor/lib/liboemcrypto.so +vendor/lib/libops.so +vendor/lib/libqisl.so +vendor/lib/libQSEEComAPI.so +vendor/lib/librmp.so +vendor/lib/librpmb.so +vendor/lib/libsdedrm.so +vendor/lib/libsecureui.so +vendor/lib/libSecureUILib.so +vendor/lib/libsecureui_svcsock.so +vendor/lib/libsi.so +vendor/lib/libspl.so +vendor/lib/libssd.so +vendor/lib/libStDrvInt.so +vendor/lib/libtzdrmgenprov.so +vendor/lib64/libbase64.so +vendor/lib64/libcpion.so +vendor/lib64/libdrmfs.so +vendor/lib64/libdrmtime.so +vendor/lib64/libGPQTEEC_vendor.so +vendor/lib64/libGPreqcancel.so +vendor/lib64/libGPreqcancel_svc.so +vendor/lib64/libGPTEE_vendor.so +vendor/lib64/liboemcrypto.so +vendor/lib64/libops.so +vendor/lib64/libqisl.so +vendor/lib64/libQSEEComAPI.so +vendor/lib64/librmp.so +vendor/lib64/librpmb.so +vendor/lib64/libsdedrm.so +vendor/lib64/libsecureui.so +vendor/lib64/libSecureUILib.so +vendor/lib64/libsecureui_svcsock.so +vendor/lib64/libsi.so +vendor/lib64/libspl.so +vendor/lib64/libssd.so +vendor/lib64/libStDrvInt.so +vendor/lib64/libtzdrmgenprov.so + +# DRM-HDCP +vendor/bin/hdcp1prov +vendor/bin/hdcp2p2prov +vendor/lib/libhdcp1prov.so +vendor/lib/libhdcp2p2prov.so +vendor/lib/libhdcpsrm.so +vendor/lib/libmm-hdcpmgr.so +vendor/lib64/libhdcp1prov.so +vendor/lib64/libhdcp2p2prov.so +vendor/lib64/libhdcpsrm.so +vendor/lib64/libmm-hdcpmgr.so + +# DRM-Hardware +vendor/bin/hw/android.hardware.drm@1.3-service.clearkey +vendor/bin/hw/android.hardware.drm@1.3-service.widevine +vendor/etc/init/android.hardware.drm@1.1-service.wfdhdcp.rc +vendor/etc/init/android.hardware.drm@1.3-service.clearkey.rc +vendor/etc/init/android.hardware.drm@1.3-service.widevine.rc +-vendor/etc/vintf/manifest/manifest_android.hardware.drm@1.3-service.clearkey.xml +-vendor/etc/vintf/manifest/manifest_android.hardware.drm@1.3-service.widevine.xml + +# DRM-Qteeconnector +vendor/bin/hw/vendor.qti.hardware.qteeconnector@1.0-service +vendor/etc/init/vendor.qti.hardware.qteeconnector@1.0-service.rc +vendor/lib/hw/vendor.qti.hardware.qteeconnector@1.0-impl.so +vendor/lib/libQTEEConnector_vendor.so +vendor/lib/vendor.qti.hardware.qteeconnector@1.0.so +vendor/lib64/hw/vendor.qti.hardware.qteeconnector@1.0-impl.so +vendor/lib64/libQTEEConnector_vendor.so +vendor/lib64/vendor.qti.hardware.qteeconnector@1.0.so + +# DRM-Widevine +vendor/lib/mediadrm/libdrmclearkeyplugin.so +vendor/lib/mediadrm/libwvdrmengine.so +vendor/lib64/libwvhidl.so +vendor/lib64/mediadrm/libdrmclearkeyplugin.so +vendor/lib64/mediadrm/libwvdrmengine.so + +# Display +vendor/etc/dsi_j20s_36_02_0a_video_display_mi.xml +vendor/etc/dsi_j20s_42_02_0b_video_display_mi.xml + +# Display-Hardware +system_ext/lib/vendor.display.config@1.0.so +system_ext/lib/vendor.display.config@1.1.so +system_ext/lib/vendor.display.config@1.2.so +system_ext/lib/vendor.display.config@1.3.so +system_ext/lib/vendor.display.config@1.4.so +system_ext/lib/vendor.display.config@1.5.so +system_ext/lib/vendor.display.config@2.0.so +system_ext/lib/vendor.qti.hardware.display.composer@3.0.so +system_ext/lib64/vendor.display.config@1.0.so +system_ext/lib64/vendor.display.config@1.1.so +system_ext/lib64/vendor.display.config@1.2.so +system_ext/lib64/vendor.display.config@1.3.so +system_ext/lib64/vendor.display.config@1.4.so +system_ext/lib64/vendor.display.config@1.5.so +system_ext/lib64/vendor.display.config@2.0.so +system_ext/lib64/vendor.qti.hardware.display.composer@3.0.so +vendor/bin/hw/android.hardware.graphics.composer@2.4-service +vendor/bin/hw/android.hardware.memtrack@1.0-service +vendor/bin/hw/vendor.qti.hardware.display.allocator-service +vendor/bin/hw/vendor.xiaomi.hardware.displayfeature@1.0-service +vendor/etc/init/android.hardware.graphics.composer@2.4-service.rc +vendor/etc/init/android.hardware.memtrack@1.0-service.rc +vendor/etc/init/vendor.qti.hardware.display.allocator-service.rc +vendor/etc/init/vendor.xiaomi.hardware.displayfeature@1.0-service.rc +-vendor/etc/vintf/manifest/android.hardware.graphics.composer-qti-display.xml +-vendor/etc/vintf/manifest/android.hardware.graphics.mapper-impl-qti-display.xml +-vendor/etc/vintf/manifest/vendor.qti.hardware.display.allocator-service.xml +vendor/lib/hw/android.hardware.graphics.mapper@3.0-impl-qti-display.so +vendor/lib/hw/android.hardware.graphics.mapper@4.0-impl-qti-display.so +vendor/lib/hw/android.hardware.memtrack@1.0-impl.so +vendor/lib/hw/gralloc.default.so +vendor/lib/hw/gralloc.msmnile.so +vendor/lib/hw/hwcomposer.msmnile.so +vendor/lib/hw/memtrack.msmnile.so +vendor/lib/hw/vendor.xiaomi.hardware.displayfeature@1.0-impl.so +vendor/lib/libdisplaydebug.so +vendor/lib/libdisplayqos.so +vendor/lib/libdpps.so +vendor/lib/libdrm.so +vendor/lib/libdrmutils.so +vendor/lib/libgpu_tonemapper.so +vendor/lib/libgralloccore.so +vendor/lib/libgrallocutils.so +vendor/lib/libqdMetaData.so +vendor/lib/libqdutils.so +vendor/lib/libqservice.so +vendor/lib/libsdm-colormgr-algo.so +vendor/lib/libsdmcore.so +vendor/lib/libsdmextension.so +vendor/lib/libsdmutils.so +vendor/lib/vendor.display.config@1.0.so +vendor/lib/vendor.display.config@1.1.so +vendor/lib/vendor.display.config@1.10.so +vendor/lib/vendor.display.config@1.11.so +vendor/lib/vendor.display.config@1.2.so +vendor/lib/vendor.display.config@1.3.so +vendor/lib/vendor.display.config@1.4.so +vendor/lib/vendor.display.config@1.5.so +vendor/lib/vendor.display.config@1.6.so +vendor/lib/vendor.display.config@1.7.so +vendor/lib/vendor.display.config@1.8.so +vendor/lib/vendor.display.config@1.9.so +vendor/lib/vendor.display.config@2.0.so +vendor/lib/vendor.qti.hardware.display.allocator@1.0.so +vendor/lib/vendor.qti.hardware.display.allocator@3.0.so +vendor/lib/vendor.qti.hardware.display.composer@1.0.so +vendor/lib/vendor.qti.hardware.display.composer@2.0.so +vendor/lib/vendor.qti.hardware.display.mapper@1.0.so +vendor/lib/vendor.qti.hardware.display.mapper@1.1.so +vendor/lib/vendor.qti.hardware.display.mapper@2.0.so +vendor/lib/vendor.qti.hardware.display.mapper@3.0.so +vendor/lib/vendor.qti.hardware.display.mapper@4.0.so +vendor/lib/vendor.qti.hardware.display.mapperextensions@1.0.so +vendor/lib/vendor.qti.hardware.display.mapperextensions@1.1.so +vendor/lib/vendor.xiaomi.hardware.displayfeature@1.0.so +vendor/lib64/android.hardware.graphics.composer@2.1-resources.so +vendor/lib64/android.hardware.graphics.composer@2.2-resources.so +vendor/lib64/hw/android.hardware.graphics.mapper@3.0-impl-qti-display.so +vendor/lib64/hw/android.hardware.graphics.mapper@4.0-impl-qti-display.so +vendor/lib64/hw/android.hardware.memtrack@1.0-impl.so +vendor/lib64/hw/gralloc.default.so +vendor/lib64/hw/gralloc.msmnile.so +vendor/lib64/hw/hwcomposer.msmnile.so +vendor/lib64/hw/memtrack.msmnile.so +vendor/lib64/hw/vendor.xiaomi.hardware.displayfeature@1.0-impl.so +vendor/lib64/libdisplaydebug.so +vendor/lib64/libdisplayqos.so +vendor/lib64/libdpps.so +vendor/lib64/libdrm.so +vendor/lib64/libdrmutils.so +vendor/lib64/libgpu_tonemapper.so +vendor/lib64/libgralloccore.so +vendor/lib64/libgrallocutils.so +vendor/lib64/libqdMetaData.so +vendor/lib64/libqdutils.so +vendor/lib64/libqservice.so +vendor/lib64/libsdm-colormgr-algo.so +vendor/lib64/libsdmcore.so +vendor/lib64/libsdmextension.so +vendor/lib64/libsdmutils.so +vendor/lib64/vendor.display.config@1.0.so +vendor/lib64/vendor.display.config@1.1.so +vendor/lib64/vendor.display.config@1.10.so +vendor/lib64/vendor.display.config@1.11.so +vendor/lib64/vendor.display.config@1.2.so +vendor/lib64/vendor.display.config@1.3.so +vendor/lib64/vendor.display.config@1.4.so +vendor/lib64/vendor.display.config@1.5.so +vendor/lib64/vendor.display.config@1.6.so +vendor/lib64/vendor.display.config@1.7.so +vendor/lib64/vendor.display.config@1.8.so +vendor/lib64/vendor.display.config@1.9.so +vendor/lib64/vendor.display.config@2.0.so +vendor/lib64/vendor.qti.hardware.display.allocator@1.0.so +vendor/lib64/vendor.qti.hardware.display.allocator@3.0.so +vendor/lib64/vendor.qti.hardware.display.allocator@4.0.so +vendor/lib64/vendor.qti.hardware.display.composer@1.0.so +vendor/lib64/vendor.qti.hardware.display.composer@2.0.so +vendor/lib64/vendor.qti.hardware.display.mapper@1.0.so +vendor/lib64/vendor.qti.hardware.display.mapper@1.1.so +vendor/lib64/vendor.qti.hardware.display.mapper@2.0.so +vendor/lib64/vendor.qti.hardware.display.mapper@3.0.so +vendor/lib64/vendor.qti.hardware.display.mapper@4.0.so +vendor/lib64/vendor.qti.hardware.display.mapperextensions@1.0.so +vendor/lib64/vendor.qti.hardware.display.mapperextensions@1.1.so +vendor/lib64/vendor.xiaomi.hardware.displayfeature@1.0.so + +# Display-calibration +vendor/etc/qdcm_calib_data_xiaomi_36_02_0a_video_mode_dsc_dsi_panel.xml +vendor/etc/qdcm_calib_data_xiaomi_42_02_0b_video_mode_dsc_dsi_panel.xml + +# ESE-Powermanager +vendor/bin/hw/vendor.qti.esepowermanager@1.1-service +vendor/etc/init/vendor.qti.esepowermanager@1.1-service.rc +vendor/lib/hw/vendor.qti.esepowermanager@1.1-impl.so +vendor/lib/vendor.qti.esepowermanager@1.0.so +vendor/lib/vendor.qti.esepowermanager@1.1.so +vendor/lib64/hw/vendor.qti.esepowermanager@1.1-impl.so +vendor/lib64/vendor.qti.esepowermanager@1.0.so +vendor/lib64/vendor.qti.esepowermanager@1.1.so + +# FM +system_ext/lib/fm_helium.so +system_ext/lib/libfm-hci.so +system_ext/lib/vendor.qti.hardware.fm@1.0.so +system_ext/lib64/fm_helium.so +system_ext/lib64/libfm-hci.so +system_ext/lib64/vendor.qti.hardware.fm@1.0.so +vendor/bin/fm_qsoc_patches +vendor/lib/ftm_fm_lib.so +vendor/lib/hw/vendor.qti.hardware.fm@1.0-impl.so +vendor/lib/vendor.qti.hardware.fm@1.0.so +vendor/lib64/ftm_fm_lib.so +vendor/lib64/hw/vendor.qti.hardware.fm@1.0-impl.so +vendor/lib64/vendor.qti.hardware.fm@1.0.so + +# Factory +vendor/bin/hw/vendor.qti.hardware.factory@1.0-service +vendor/etc/init/vendor.qti.hardware.factory@1.0-service.rc +vendor/lib64/vendor.qti.hardware.factory@1.0.so +vendor/lib64/vendor.qti.hardware.factory@1.1.so + +# Fido +vendor/bin/fidoca +vendor/etc/init/vendor.xiaomi.hardware.mfidoca@1.0-service.rc +-vendor/etc/vintf/manifest/manifest_vendor.xiaomi.hardware.mfidoca.xml +vendor/lib/libmfido.so +vendor/lib/vendor.xiaomi.hardware.mfidoca@1.0.so +vendor/lib64/libmfido.so +vendor/lib64/vendor.xiaomi.hardware.mfidoca@1.0.so + +# Fingerprint +vendor/bin/hw/android.hardware.biometrics.fingerprint@2.1-service +vendor/etc/init/android.hardware.biometrics.fingerprint@2.1-service.rc +-vendor/etc/vintf/manifest/android.hardware.biometrics.fingerprint@2.1-service.xml +vendor/lib/hw/fingerprint.fpc.so +vendor/lib/hw/fingerprint.goodix.so +vendor/lib/libgf_ca.so +vendor/lib/libgf_hal.so +vendor/lib/libgoodixhwfingerprint.so +vendor/lib/vendor.goodix.hardware.cap.biometrics.fingerprint@2.1.so +vendor/lib64/hw/fingerprint.fpc.so +vendor/lib64/hw/fingerprint.goodix.so +vendor/lib64/libgf_ca.so +vendor/lib64/libgf_hal.so +vendor/lib64/libgoodixhwfingerprint.so +vendor/lib64/vendor.goodix.hardware.cap.biometrics.fingerprint@2.1.so +vendor/lib64/vendor.xiaomi.hardware.fingerprintextension@1.0.so + +# Firmware +vendor/firmware/a612_rgmu.bin +vendor/firmware/a618_gmu.bin +vendor/firmware/a630_gmu.bin +vendor/firmware/a630_sqe.fw +vendor/firmware/a640_gmu.bin +vendor/firmware/a640_zap.b00 +vendor/firmware/a640_zap.b01 +vendor/firmware/a640_zap.b02 +vendor/firmware/a640_zap.elf +vendor/firmware/a640_zap.mdt +vendor/firmware/ipa_uc.b00 +vendor/firmware/ipa_uc.b01 +vendor/firmware/ipa_uc.b02 +vendor/firmware/ipa_uc.elf +vendor/firmware/ipa_uc.mdt +vendor/firmware/NT36xxx_MP_Setting_Criteria_594A.csv +vendor/firmware/NT36xxx_MP_Setting_Criteria_594B.csv +vendor/firmware/tas256x_reg.bin +vendor/firmware/wigig/wigig.ini +vendor/firmware/wlan/qca_cld/WCNSS_qcom_cfg.ini +vendor/firmware/wlan/qca_cld/wlan_mac.bin + +# GPS +system_ext/etc/permissions/com.qti.location.sdk.xml +system_ext/etc/permissions/com.qualcomm.location.xml +system_ext/etc/permissions/izat.xt.srv.xml +system_ext/etc/permissions/privapp-permissions-com.qualcomm.location.xml +-system_ext/framework/com.qti.location.sdk.jar +-system_ext/framework/izat.xt.srv.jar +system_ext/lib/vendor.qti.gnss@1.0.so +system_ext/lib/vendor.qti.gnss@1.1.so +system_ext/lib/vendor.qti.gnss@1.2.so +system_ext/lib/vendor.qti.gnss@2.0.so +system_ext/lib/vendor.qti.gnss@2.1.so +system_ext/lib/vendor.qti.gnss@3.0.so +system_ext/lib/vendor.qti.gnss@4.0.so +system_ext/lib64/vendor.qti.gnss@1.0.so +system_ext/lib64/vendor.qti.gnss@1.1.so +system_ext/lib64/vendor.qti.gnss@1.2.so +system_ext/lib64/vendor.qti.gnss@2.0.so +system_ext/lib64/vendor.qti.gnss@2.1.so +system_ext/lib64/vendor.qti.gnss@3.0.so +system_ext/lib64/vendor.qti.gnss@4.0.so +vendor/bin/garden_app +vendor/bin/hw/android.hardware.gnss@2.1-service-qti +vendor/bin/loc_launcher +vendor/bin/lowi-server +vendor/bin/slim_daemon +vendor/bin/xtra-daemon +vendor/etc/cacert_location.pem +vendor/etc/init/android.hardware.gnss@2.1-service-qti.rc +-vendor/etc/vintf/manifest/android.hardware.gnss@2.1-service-qti.xml +-vendor/etc/vintf/manifest/vendor.qti.gnss@4.0-service.xml +vendor/etc/xtra_root_cert.pem +vendor/lib/hw/android.hardware.gnss@2.1-impl-qti.so +vendor/lib/hw/vendor.qti.gnss@4.0-impl.so +vendor/lib/libbatching.so +vendor/lib/libdataitems.so +vendor/lib/libgdtap.so +vendor/lib/libgeofencing.so +vendor/lib/libizat_client_api.so +vendor/lib/libizat_core.so +vendor/lib/liblbs_core.so +vendor/lib/liblocationservice.so +vendor/lib/liblocationservice_glue.so +vendor/lib/liblocation_api.so +vendor/lib/libloc_api_v02.so +vendor/lib/libloc_core.so +vendor/lib/libloc_socket.so +vendor/lib/liblowi_client.so +vendor/lib/liblowi_wifihal.so +vendor/lib/libslimclient.so +vendor/lib/libxtadapter.so +vendor/lib/vendor.qti.gnss@1.0.so +vendor/lib/vendor.qti.gnss@1.1.so +vendor/lib/vendor.qti.gnss@1.2.so +vendor/lib/vendor.qti.gnss@2.0.so +vendor/lib/vendor.qti.gnss@2.1.so +vendor/lib/vendor.qti.gnss@3.0.so +vendor/lib/vendor.qti.gnss@4.0-service.so +vendor/lib/vendor.qti.gnss@4.0.so +vendor/lib64/hw/android.hardware.gnss@2.1-impl-qti.so +vendor/lib64/hw/vendor.qti.gnss@4.0-impl.so +vendor/lib64/libbatching.so +vendor/lib64/libdataitems.so +vendor/lib64/libgarden_haltests_e2e.so +vendor/lib64/libgdtap.so +vendor/lib64/libgeofencing.so +vendor/lib64/libizat_client_api.so +vendor/lib64/libizat_core.so +vendor/lib64/liblbs_core.so +vendor/lib64/liblocationservice.so +vendor/lib64/liblocationservice_glue.so +vendor/lib64/liblocation_api.so +vendor/lib64/libloc_api_v02.so +vendor/lib64/libloc_core.so +vendor/lib64/libloc_socket.so +vendor/lib64/liblowi_client.so +vendor/lib64/liblowi_wifihal.so +vendor/lib64/libqdma_file_agent.so +vendor/lib64/libslimclient.so +vendor/lib64/libxtadapter.so +vendor/lib64/vendor.qti.gnss@1.0.so +vendor/lib64/vendor.qti.gnss@1.1.so +vendor/lib64/vendor.qti.gnss@1.2.so +vendor/lib64/vendor.qti.gnss@2.0.so +vendor/lib64/vendor.qti.gnss@2.1.so +vendor/lib64/vendor.qti.gnss@3.0.so +vendor/lib64/vendor.qti.gnss@4.0-service.so +vendor/lib64/vendor.qti.gnss@4.0.so + +# GPS-Hardware +vendor/lib/libaoa.so +vendor/lib/libgarden.so +vendor/lib/libgnss.so +vendor/lib/libgnsspps.so +vendor/lib/libgps.utils.so +vendor/lib64/libaoa.so +vendor/lib64/libgarden.so +vendor/lib64/libgnss.so +vendor/lib64/libgnsspps.so +vendor/lib64/libgps.utils.so + +# Gatekeeper +vendor/bin/hw/android.hardware.gatekeeper@1.0-service-qti +vendor/etc/init/android.hardware.gatekeeper@1.0-service-qti.rc +vendor/lib/hw/android.hardware.gatekeeper@1.0-impl-qti.so +vendor/lib64/hw/android.hardware.gatekeeper@1.0-impl-qti.so + +# Google +vendor/etc/permissions/com.google.android.feature.PREMIER_TIER.xml + +# Graphics +vendor/lib/egl/eglSubDriverAndroid.so +vendor/lib/egl/libEGL_adreno.so +vendor/lib/egl/libGLESv1_CM_adreno.so +vendor/lib/egl/libGLESv2_adreno.so +vendor/lib/egl/libq3dtools_adreno.so +vendor/lib/egl/libq3dtools_esx.so +vendor/lib/hw/vulkan.adreno.so +vendor/lib/libadreno_utils.so +vendor/lib/libC2D2.so +vendor/lib/libc2d30_bltlib.so +vendor/lib/libCB.so +vendor/lib/libEGL_adreno.so +vendor/lib/libgsl.so +vendor/lib/libhdr_tm.so +vendor/lib/libllvm-glnext.so +vendor/lib/libllvm-qcom.so +vendor/lib/libOpenCL.so +vendor/lib/libpvr.so +vendor/lib/libq3dtools_adreno.so +vendor/lib/libqseed3.so +vendor/lib/libsdm-color.so +vendor/lib/libsdm-diag.so +vendor/lib/libsdm-disp-vndapis.so +vendor/lib/libtinyxml2_1.so +vendor/lib64/egl/eglSubDriverAndroid.so +vendor/lib64/egl/libEGL_adreno.so +vendor/lib64/egl/libGLESv1_CM_adreno.so +vendor/lib64/egl/libGLESv2_adreno.so +vendor/lib64/egl/libq3dtools_adreno.so +vendor/lib64/egl/libq3dtools_esx.so +vendor/lib64/hw/vulkan.adreno.so +vendor/lib64/libadreno_utils.so +vendor/lib64/libC2D2.so +vendor/lib64/libc2d30_bltlib.so +vendor/lib64/libCB.so +vendor/lib64/libEGL_adreno.so +vendor/lib64/libgsl.so +vendor/lib64/libhdr_tm.so +vendor/lib64/libllvm-glnext.so +vendor/lib64/libllvm-qcom.so +vendor/lib64/libOpenCL.so +vendor/lib64/libpvr.so +vendor/lib64/libq3dtools_adreno.so +vendor/lib64/libqseed3.so +vendor/lib64/libsdm-color.so +vendor/lib64/libsdm-diag.so +vendor/lib64/libsdm-disp-vndapis.so +vendor/lib64/libtinyxml2_1.so + +# Health +vendor/bin/hw/android.hardware.health@2.1-service +vendor/etc/init/android.hardware.health@2.1-service.rc +-vendor/etc/vintf/manifest/android.hardware.health@2.1.xml +vendor/lib/hw/android.hardware.health@2.0-impl-2.1.so +vendor/lib64/hw/android.hardware.health@2.0-impl-2.1.so + +# HotwordEnrollment +-product/priv-app/HotwordEnrollmentOKGoogleHEXAGON/HotwordEnrollmentOKGoogleHEXAGON.apk +-product/priv-app/HotwordEnrollmentXGoogleHEXAGON/HotwordEnrollmentXGoogleHEXAGON.apk + +# IPA-Firmware +vendor/firmware/ipa_fws.b00 +vendor/firmware/ipa_fws.b01 +vendor/firmware/ipa_fws.b02 +vendor/firmware/ipa_fws.b03 +vendor/firmware/ipa_fws.b04 +vendor/firmware/ipa_fws.elf +vendor/firmware/ipa_fws.mdt + +# Keymaster +system_ext/lib64/vendor.qti.hardware.wifi.keystore@1.0.so +vendor/bin/hw/android.hardware.keymaster@3.0-service-qti +vendor/bin/hw/android.hardware.keymaster@4.0-service-qti +vendor/bin/hw/android.hardware.keymaster@4.0-strongbox-service-qti +vendor/bin/hw/android.hardware.keymaster@4.1-service-qti +vendor/etc/init/android.hardware.keymaster@4.1-service-qti.rc +vendor/lib/hw/android.hardware.keymaster@3.0-impl-qti.so +vendor/lib/libkeymasterdeviceutils.so +vendor/lib/libkeymasterprovision.so +vendor/lib/libkeymasterutils.so +vendor/lib/libkeymaster_messages.so +vendor/lib/libqtikeymaster4.so +vendor/lib/libspcom.so +vendor/lib64/hw/android.hardware.keymaster@3.0-impl-qti.so +vendor/lib64/libkeymasterdeviceutils.so +vendor/lib64/libkeymasterprovision.so +vendor/lib64/libkeymasterutils.so +vendor/lib64/libkeymaster_messages.so +vendor/lib64/libkeystore-engine-wifi-hidl.so +vendor/lib64/libkeystore-wifi-hidl.so +vendor/lib64/libqtikeymaster4.so +vendor/lib64/libspcom.so +vendor/lib64/vendor.qti.hardware.wifi.keystore@1.0.so + +# Latency +-system_ext/framework/vendor.qti.hardware.data.latency-V1.0-java.jar +-system_ext/framework/vendor.qti.latency-V2.0-java.jar +system_ext/lib/vendor.qti.hardware.data.latency@1.0.so +system_ext/lib/vendor.qti.latency@2.0.so +system_ext/lib64/vendor.qti.hardware.data.latency@1.0.so +system_ext/lib64/vendor.qti.latency@2.0.so +vendor/lib/vendor.qti.hardware.data.latency@1.0.so +vendor/lib/vendor.qti.latency@2.0.so +vendor/lib64/vendor.qti.hardware.data.latency@1.0.so +vendor/lib64/vendor.qti.latency@2.0.so + +# Lights +vendor/bin/hw/android.hardware.lights-service.qti +vendor/etc/init/android.hardware.lights-qti.rc +-vendor/etc/vintf/manifest/android.hardware.lights-qti.xml +vendor/lib/hw/lights.msmnile.so +vendor/lib64/hw/lights.msmnile.so + +# Listen +vendor/lib/hw/android.hardware.soundtrigger@2.1-impl.so +vendor/lib/hw/android.hardware.soundtrigger@2.2-impl.so +vendor/lib/hw/android.hardware.soundtrigger@2.3-impl.so +vendor/lib/hw/sound_trigger.primary.msmnile.so +vendor/lib/libadpcmdec.so +vendor/lib/libgcs-calwrapper.so +vendor/lib/libgcs-ipc.so +vendor/lib/libgcs-osal.so +vendor/lib/libgcs.so +vendor/lib/liblistensoundmodel2.so +vendor/lib/libsmwrapper.so +vendor/lib64/hw/android.hardware.soundtrigger@2.2-impl.so +vendor/lib64/hw/android.hardware.soundtrigger@2.3-impl.so +vendor/lib64/hw/sound_trigger.primary.msmnile.so +vendor/lib64/libgcs-calwrapper.so +vendor/lib64/libgcs-ipc.so +vendor/lib64/libgcs-osal.so +vendor/lib64/libgcs.so +vendor/lib64/liblistensoundmodel2.so + +# Media +system_ext/lib/libmmosal.so +system_ext/lib/libmmparser_lite.so +system_ext/lib/libmmrtpdecoder.so +system_ext/lib/libmmrtpencoder.so +system_ext/lib/vendor.qti.hardware.vpp@1.1.so +system_ext/lib64/libmmosal.so +system_ext/lib64/libmmparser_lite.so +system_ext/lib64/libmmrtpdecoder.so +system_ext/lib64/libmmrtpencoder.so +system_ext/lib64/vendor.qti.hardware.vpp@1.1.so +vendor/lib/libAlacSwDec.so +vendor/lib/libApeSwDec.so +vendor/lib/libdsd2pcm.so +vendor/lib/libFlacSwDec.so +vendor/lib/libI420colorconvert.so +vendor/lib/libmm-color-convertor.so +vendor/lib/libmmosal.so +vendor/lib/libMpeg4SwEncoder.so +vendor/lib/libmulawdec.so +vendor/lib/libOmxAacDec.so +vendor/lib/libOmxAlacDec.so +vendor/lib/libOmxAlacDecSw.so +vendor/lib/libOmxAmrDec.so +vendor/lib/libOmxAmrwbplusDec.so +vendor/lib/libOmxApeDec.so +vendor/lib/libOmxApeDecSw.so +vendor/lib/libOmxDsdDec.so +vendor/lib/libOmxEvrcDec.so +vendor/lib/libOmxG711Dec.so +vendor/lib/libOmxQcelp13Dec.so +vendor/lib/libOmxVideoDSMode.so +vendor/lib/libOmxVpp.so +vendor/lib/libOmxWmaDec.so +vendor/lib/libstagefright_soft_mpeg2dec.so +vendor/lib/libstagefright_soft_qtiflacdec.so +vendor/lib/libvppclient.so +vendor/lib/libvpphcp.so +vendor/lib/libvpphvx.so +vendor/lib/libvppimmotion.so +vendor/lib/libvpplibrary.so +vendor/lib/libvpptestutils.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.3.so +vendor/lib/vndk/libstagefright_foundation.so +vendor/lib/vndk/libstagefright_omx.so +vendor/lib64/libAlacSwDec.so +vendor/lib64/libApeSwDec.so +vendor/lib64/libFlacSwDec.so +vendor/lib64/libI420colorconvert.so +vendor/lib64/libmm-color-convertor.so +vendor/lib64/libmmosal.so +vendor/lib64/libMpeg4SwEncoder.so +vendor/lib64/libmulawdec.so +vendor/lib64/libOmxAacDec.so +vendor/lib64/libOmxAlacDec.so +vendor/lib64/libOmxAlacDecSw.so +vendor/lib64/libOmxAmrDec.so +vendor/lib64/libOmxAmrwbplusDec.so +vendor/lib64/libOmxApeDec.so +vendor/lib64/libOmxApeDecSw.so +vendor/lib64/libOmxEvrcDec.so +vendor/lib64/libOmxG711Dec.so +vendor/lib64/libOmxQcelp13Dec.so +vendor/lib64/libOmxVpp.so +vendor/lib64/libOmxWmaDec.so +vendor/lib64/libstagefright_soft_qtiflacdec.so +vendor/lib64/libvppclient.so +vendor/lib64/libvpphcp.so +vendor/lib64/libvpphvx.so +vendor/lib64/libvppimmotion.so +vendor/lib64/libvpplibrary.so +vendor/lib64/libvpptestutils.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.3.so + +# Media-Hardware +vendor/lib/libarbitrarybytes.so +vendor/lib/libc2dcolorconvert.so +vendor/lib/libmm-omxcore.so +vendor/lib/libOmxAacEnc.so +vendor/lib/libOmxAmrEnc.so +vendor/lib/libOmxCore.so +vendor/lib/libOmxEvrcEnc.so +vendor/lib/libOmxG711Enc.so +vendor/lib/libOmxQcelp13Enc.so +vendor/lib/libOmxSwVdec.so +vendor/lib/libOmxSwVencMpeg4.so +vendor/lib/libOmxVdec.so +vendor/lib/libOmxVenc.so +-vendor/lib/libplatformconfig.so +vendor/lib/libstagefrighthw.so +vendor/lib64/libarbitrarybytes.so +vendor/lib64/libc2dcolorconvert.so +vendor/lib64/libmm-omxcore.so +vendor/lib64/libOmxAacEnc.so +vendor/lib64/libOmxAmrEnc.so +vendor/lib64/libOmxCore.so +vendor/lib64/libOmxEvrcEnc.so +vendor/lib64/libOmxG711Enc.so +vendor/lib64/libOmxQcelp13Enc.so +vendor/lib64/libOmxSwVdec.so +vendor/lib64/libOmxSwVencMpeg4.so +vendor/lib64/libOmxVdec.so +vendor/lib64/libOmxVenc.so +-vendor/lib64/libplatformconfig.so +vendor/lib64/libstagefrighthw.so + +# NFC +system_ext/lib/vendor.nxp.hardware.nfc@1.0.so +system_ext/lib/vendor.nxp.hardware.nfc@1.1.so +system_ext/lib64/vendor.nxp.hardware.nfc@1.0.so +system_ext/lib64/vendor.nxp.hardware.nfc@1.1.so +vendor/bin/hw/vendor.nxp.hardware.nfc@1.2-service +vendor/bin/nqnfcinfo +vendor/etc/init/vendor.nxp.hardware.nfc@1.2-service.rc +vendor/etc/libnfc-mtp-SN100.conf +vendor/etc/libnfc-mtp-SN100_38_4MHZ.conf +vendor/etc/libnfc-nci.conf +vendor/etc/libnfc-nxp-pnscr.conf +vendor/etc/libnfc-nxp.conf +vendor/etc/libnfc-nxp_RF.conf +vendor/etc/libnfc-qrd-SN100.conf +vendor/etc/libnfc-qrd-SN100_38_4MHZ.conf +vendor/lib/ese_spi_nxp.so +vendor/lib/hal_libnfc.so +vendor/lib/libpn553_fw.so +vendor/lib/nfc_nci.nqpn553.default.hw.so +vendor/lib/vendor.nxp.hardware.nfc@1.0.so +vendor/lib/vendor.nxp.hardware.nfc@1.1.so +vendor/lib/vendor.nxp.nxpese@1.0.so +vendor/lib/vendor.nxp.nxpnfc@1.0.so +vendor/lib64/ese_spi_nxp.so +vendor/lib64/hal_libnfc.so +vendor/lib64/nfc_nci.nqpn553.default.hw.so +vendor/lib64/vendor.nxp.hardware.nfc@1.0.so +vendor/lib64/vendor.nxp.hardware.nfc@1.1.so +vendor/lib64/vendor.nxp.nxpese@1.0.so +vendor/lib64/vendor.nxp.nxpnfc@1.0.so + +# Neural-networks +vendor/bin/hw/android.hardware.neuralnetworks@1.3-service-qti +vendor/etc/init/android.hardware.neuralnetworks@1.3-service-qti.rc +-vendor/etc/vintf/manifest/android.hardware.neuralnetworks@1.3-service-qti-hta.xml +-vendor/etc/vintf/manifest/android.hardware.neuralnetworks@1.3-service-qti.xml +vendor/lib64/libhexagon_nn_stub.so + +# Pasrmanager +vendor/bin/hw/vendor.qti.power.pasrmanager@1.0-service +vendor/etc/init/vendor.qti.power.pasrmanager@1.0-service.rc +vendor/lib/hw/vendor.qti.power.pasrmanager@1.0-impl.so +vendor/lib/vendor.qti.memory.pasrmanager@1.0.so +vendor/lib/vendor.qti.power.pasrmanager@1.0.so +vendor/lib64/hw/vendor.qti.power.pasrmanager@1.0-impl.so +vendor/lib64/vendor.qti.memory.pasrmanager@1.0.so +vendor/lib64/vendor.qti.power.pasrmanager@1.0.so + +# Perf +system_ext/etc/perf/wlc_model.tflite +system_ext/lib/libqti-perfd-client_system.so +system_ext/lib/libqti-util_system.so +system_ext/lib/libqti_performance.so +system_ext/lib/vendor.qti.hardware.perf@2.0.so +system_ext/lib64/libqti-perfd-client_system.so +system_ext/lib64/libqti-util_system.so +system_ext/lib64/libqti_performance.so +system_ext/lib64/vendor.qti.hardware.perf@2.0.so +vendor/bin/hw/vendor.qti.hardware.perf@2.2-service +vendor/bin/msm_irqbalance +vendor/etc/init/vendor.qti.hardware.perf@2.2-service.rc +vendor/etc/perf/commonresourceconfigs.xml +vendor/etc/perf/perfboostsconfig.xml +vendor/etc/perf/perfconfigstore.xml +vendor/etc/perf/targetconfig.xml +vendor/etc/perf/targetresourceconfigs.xml +vendor/etc/powerhint.xml +vendor/lib/libperfgluelayer.so +vendor/lib/libqti-perfd-client.so +vendor/lib/libqti-perfd.so +vendor/lib/libqti-util.so +vendor/lib/libqti-utils.so +vendor/lib/vendor.qti.hardware.perf@2.0.so +vendor/lib/vendor.qti.hardware.perf@2.1.so +vendor/lib/vendor.qti.hardware.perf@2.2.so +vendor/lib64/libadaptlaunch.so +vendor/lib64/liblearningmodule.so +vendor/lib64/libmeters-ns.so +vendor/lib64/libmeters.so +vendor/lib64/libperfgluelayer.so +vendor/lib64/libqti-perfd-client.so +vendor/lib64/libqti-perfd.so +vendor/lib64/libqti-util.so +vendor/lib64/libqti-utils.so +vendor/lib64/vendor.qti.hardware.perf@2.0.so +vendor/lib64/vendor.qti.hardware.perf@2.1.so +vendor/lib64/vendor.qti.hardware.perf@2.2.so + +# Perf-IOP +system_ext/lib/vendor.qti.hardware.iop@2.0.so +system_ext/lib64/vendor.qti.hardware.iop@2.0.so +vendor/bin/hw/vendor.qti.hardware.iop@2.0-service +vendor/etc/init/vendor.qti.hardware.iop@2.0-service.rc +vendor/lib/libqti-iopd-client.so +vendor/lib/libqti-iopd.so +vendor/lib/vendor.qti.hardware.iop@1.0.so +vendor/lib/vendor.qti.hardware.iop@2.0.so +vendor/lib64/libqti-iopd-client.so +vendor/lib64/libqti-iopd.so +vendor/lib64/vendor.qti.hardware.iop@1.0.so +vendor/lib64/vendor.qti.hardware.iop@2.0.so + +# Peripheral +vendor/bin/pm-proxy +vendor/bin/pm-service +vendor/lib/libperipheral_client.so +vendor/lib64/libperipheral_client.so + +# Postprocessing +system_ext/lib/vendor.display.color@1.0.so +system_ext/lib/vendor.display.color@1.1.so +system_ext/lib/vendor.display.color@1.2.so +system_ext/lib/vendor.display.color@1.3.so +system_ext/lib/vendor.display.postproc@1.0.so +system_ext/lib64/vendor.display.color@1.0.so +system_ext/lib64/vendor.display.color@1.1.so +system_ext/lib64/vendor.display.color@1.2.so +system_ext/lib64/vendor.display.color@1.3.so +system_ext/lib64/vendor.display.postproc@1.0.so +vendor/bin/hw/vendor.display.color@1.0-service +vendor/etc/init/vendor.display.color@1.0-service.rc +vendor/lib/libdisp-aba.so +vendor/lib/vendor.display.color@1.0.so +vendor/lib/vendor.display.color@1.1.so +vendor/lib/vendor.display.color@1.2.so +vendor/lib/vendor.display.color@1.3.so +vendor/lib/vendor.display.color@1.4.so +vendor/lib/vendor.display.color@1.5.so +vendor/lib/vendor.display.postproc@1.0.so +vendor/lib64/libdisp-aba.so +vendor/lib64/vendor.display.color@1.0.so +vendor/lib64/vendor.display.color@1.1.so +vendor/lib64/vendor.display.color@1.2.so +vendor/lib64/vendor.display.color@1.3.so +vendor/lib64/vendor.display.color@1.4.so +vendor/lib64/vendor.display.color@1.5.so +vendor/lib64/vendor.display.postproc@1.0.so + +# Power-Hardware +vendor/bin/hw/android.hardware.power-service +vendor/etc/init/android.hardware.power-service.rc +vendor/lib/hw/power.default.so +vendor/lib64/hw/power.default.so + +# QMI +system_ext/etc/permissions/qti_libpermissions.xml +system_ext/etc/permissions/qti_permissions.xml +system_ext/etc/permissions/qti_telephony_hidl_wrapper.xml +system_ext/etc/permissions/qti_telephony_utils.xml +vendor/bin/irsc_util +vendor/bin/pd-mapper +vendor/lib/libdiag.so +vendor/lib/libdsutils.so +vendor/lib/libidl.so +vendor/lib/libminkdescriptor.so +vendor/lib/libminksocket.so +vendor/lib/libqcci_legacy.so +vendor/lib/libqdi.so +vendor/lib/libqdp.so +vendor/lib/libqmi.so +vendor/lib/libqmiservices.so +vendor/lib/libqmi_cci.so +vendor/lib/libqmi_client_helper.so +vendor/lib/libqmi_client_qmux.so +vendor/lib/libqmi_common_so.so +vendor/lib/libqmi_csi.so +vendor/lib/libqmi_csvt_srvc.so +vendor/lib/libqmi_encdec.so +vendor/lib/libqmi_legacy.so +vendor/lib64/libdiag.so +vendor/lib64/libdsutils.so +vendor/lib64/libidl.so +vendor/lib64/libminkdescriptor.so +vendor/lib64/libminksocket.so +vendor/lib64/libqcci_legacy.so +vendor/lib64/libqdi.so +vendor/lib64/libqdp.so +vendor/lib64/libqmi.so +vendor/lib64/libqmiservices.so +vendor/lib64/libqmi_cci.so +vendor/lib64/libqmi_client_helper.so +vendor/lib64/libqmi_client_qmux.so +vendor/lib64/libqmi_common_so.so +vendor/lib64/libqmi_csi.so +vendor/lib64/libqmi_csvt_srvc.so +vendor/lib64/libqmi_encdec.so +vendor/lib64/libqmi_legacy.so + +# Qdutils +system_ext/lib/vendor.qti.hardware.qdutils_disp@1.0.so +system_ext/lib64/vendor.qti.hardware.qdutils_disp@1.0.so +vendor/lib/vendor.qti.hardware.qdutils_disp@1.0.so +vendor/lib64/vendor.qti.hardware.qdutils_disp@1.0.so + +# Radio +etc/permissions/privapp-permissions-qti.xml +etc/sysconfig/qti_whitelist.xml +-system_ext/app/datastatusnotification/datastatusnotification.apk +-system_ext/app/embms/embms.apk +-system_ext/app/QtiTelephonyService/QtiTelephonyService.apk +system_ext/etc/permissions/embms.xml +system_ext/etc/permissions/qcrilhook.xml +system_ext/etc/permissions/telephonyservice.xml +-system_ext/framework/embmslibrary.jar +-system_ext/framework/qcrilhook.jar +-system_ext/framework/qti-telephony-common.jar +system_ext/lib/vendor.qti.hardware.radio.am@1.0.so +system_ext/lib/vendor.qti.hardware.radio.internal.deviceinfo@1.0.so +system_ext/lib/vendor.qti.hardware.radio.lpa@1.0.so +system_ext/lib/vendor.qti.hardware.radio.qcrilhook@1.0.so +system_ext/lib/vendor.qti.hardware.radio.qtiradio@1.0.so +system_ext/lib/vendor.qti.hardware.radio.qtiradio@2.0.so +system_ext/lib/vendor.qti.hardware.radio.qtiradio@2.1.so +system_ext/lib/vendor.qti.hardware.radio.qtiradio@2.2.so +system_ext/lib/vendor.qti.hardware.radio.qtiradio@2.3.so +system_ext/lib/vendor.qti.hardware.radio.qtiradio@2.4.so +system_ext/lib/vendor.qti.hardware.radio.uim@1.0.so +system_ext/lib/vendor.qti.hardware.radio.uim@1.1.so +system_ext/lib/vendor.qti.hardware.radio.uim@1.2.so +system_ext/lib/vendor.qti.hardware.radio.uim_remote_client@1.0.so +system_ext/lib/vendor.qti.hardware.radio.uim_remote_client@1.1.so +system_ext/lib/vendor.qti.hardware.radio.uim_remote_client@1.2.so +system_ext/lib/vendor.qti.hardware.radio.uim_remote_server@1.0.so +system_ext/lib64/vendor.qti.hardware.radio.am@1.0.so +system_ext/lib64/vendor.qti.hardware.radio.internal.deviceinfo@1.0.so +system_ext/lib64/vendor.qti.hardware.radio.lpa@1.0.so +system_ext/lib64/vendor.qti.hardware.radio.qcrilhook@1.0.so +system_ext/lib64/vendor.qti.hardware.radio.qtiradio@1.0.so +system_ext/lib64/vendor.qti.hardware.radio.qtiradio@2.0.so +system_ext/lib64/vendor.qti.hardware.radio.qtiradio@2.1.so +system_ext/lib64/vendor.qti.hardware.radio.qtiradio@2.2.so +system_ext/lib64/vendor.qti.hardware.radio.qtiradio@2.3.so +system_ext/lib64/vendor.qti.hardware.radio.qtiradio@2.4.so +system_ext/lib64/vendor.qti.hardware.radio.uim@1.0.so +system_ext/lib64/vendor.qti.hardware.radio.uim@1.1.so +system_ext/lib64/vendor.qti.hardware.radio.uim@1.2.so +system_ext/lib64/vendor.qti.hardware.radio.uim_remote_client@1.0.so +system_ext/lib64/vendor.qti.hardware.radio.uim_remote_client@1.1.so +system_ext/lib64/vendor.qti.hardware.radio.uim_remote_client@1.2.so +system_ext/lib64/vendor.qti.hardware.radio.uim_remote_server@1.0.so +-system_ext/priv-app/qcrilmsgtunnel/qcrilmsgtunnel.apk +vendor/bin/ATFWD-daemon +vendor/bin/hw/qcrild +vendor/bin/netmgrd +vendor/bin/port-bridge +vendor/bin/qrtr-cfg +vendor/bin/qrtr-lookup +vendor/bin/qrtr-ns +vendor/bin/qti +vendor/bin/rmt_storage +vendor/bin/tftp_server +vendor/etc/data/dsi_config.xml +vendor/etc/data/netmgr_config.xml +vendor/etc/init/qcrild.rc +vendor/lib/libconfigdb.so +vendor/lib/libdsi_netctrl.so +vendor/lib/liblqe.so +vendor/lib/libmdmdetect.so +vendor/lib/libnetmgr.so +vendor/lib/libnetmgr_common.so +vendor/lib/libnetmgr_nr_fusion.so +vendor/lib/libnetmgr_rmnet_ext.so +vendor/lib/libnlnetmgr.so +vendor/lib/liboemaids_vendor.so +vendor/lib/libpdmapper.so +vendor/lib/libpdnotifier.so +vendor/lib/libqcmaputils.so +vendor/lib/libqcrilFramework.so +vendor/lib/libqrtr.so +vendor/lib/libqsocket.so +vendor/lib/libril-qc-ltedirectdisc.so +vendor/lib/libril-qc-radioconfig.so +vendor/lib/libril-qcril-hook-oem.so +vendor/lib/librilqmiservices.so +vendor/lib/libsettings.so +vendor/lib/libsystem_health_mon.so +vendor/lib/libvsim.so +vendor/lib/qcrild_librilutils.so +vendor/lib/vendor.qti.hardware.radio.am@1.0.so +vendor/lib/vendor.qti.hardware.radio.atcmdfwd@1.0.so +vendor/lib/vendor.qti.hardware.radio.internal.deviceinfo@1.0.so +vendor/lib/vendor.qti.hardware.radio.lpa@1.0.so +vendor/lib/vendor.qti.hardware.radio.qcrilhook@1.0.so +vendor/lib/vendor.qti.hardware.radio.qtiradio@1.0.so +vendor/lib/vendor.qti.hardware.radio.qtiradio@2.0.so +vendor/lib/vendor.qti.hardware.radio.qtiradio@2.1.so +vendor/lib/vendor.qti.hardware.radio.qtiradio@2.2.so +vendor/lib/vendor.qti.hardware.radio.qtiradio@2.3.so +vendor/lib/vendor.qti.hardware.radio.qtiradio@2.4.so +vendor/lib/vendor.qti.hardware.radio.uim@1.0.so +vendor/lib/vendor.qti.hardware.radio.uim@1.1.so +vendor/lib/vendor.qti.hardware.radio.uim@1.2.so +vendor/lib/vendor.qti.hardware.radio.uim_remote_client@1.0.so +vendor/lib/vendor.qti.hardware.radio.uim_remote_client@1.1.so +vendor/lib/vendor.qti.hardware.radio.uim_remote_client@1.2.so +vendor/lib/vendor.qti.hardware.radio.uim_remote_server@1.0.so +vendor/lib64/libconfigdb.so +vendor/lib64/libdsi_netctrl.so +vendor/lib64/liblqe.so +vendor/lib64/libmdmdetect.so +vendor/lib64/libnetmgr.so +vendor/lib64/libnetmgr_common.so +vendor/lib64/libnetmgr_nr_fusion.so +vendor/lib64/libnetmgr_rmnet_ext.so +vendor/lib64/libnlnetmgr.so +vendor/lib64/liboemaids_vendor.so +vendor/lib64/libpdmapper.so +vendor/lib64/libpdnotifier.so +vendor/lib64/libqcmaputils.so +vendor/lib64/libqcrilFramework.so +vendor/lib64/libqrtr.so +vendor/lib64/libqsocket.so +vendor/lib64/libril-qc-hal-qmi.so +vendor/lib64/libril-qc-ltedirectdisc.so +vendor/lib64/libril-qc-radioconfig.so +vendor/lib64/libril-qcril-hook-oem.so +vendor/lib64/librilqmiservices.so +vendor/lib64/libsettings.so +vendor/lib64/libsystem_health_mon.so +vendor/lib64/qcrild_librilutils.so +vendor/lib64/vendor.qti.hardware.radio.am@1.0.so +vendor/lib64/vendor.qti.hardware.radio.atcmdfwd@1.0.so +vendor/lib64/vendor.qti.hardware.radio.internal.deviceinfo@1.0.so +vendor/lib64/vendor.qti.hardware.radio.lpa@1.0.so +vendor/lib64/vendor.qti.hardware.radio.qcrilhook@1.0.so +vendor/lib64/vendor.qti.hardware.radio.qtiradio@1.0.so +vendor/lib64/vendor.qti.hardware.radio.qtiradio@2.0.so +vendor/lib64/vendor.qti.hardware.radio.qtiradio@2.1.so +vendor/lib64/vendor.qti.hardware.radio.qtiradio@2.2.so +vendor/lib64/vendor.qti.hardware.radio.qtiradio@2.3.so +vendor/lib64/vendor.qti.hardware.radio.qtiradio@2.4.so +vendor/lib64/vendor.qti.hardware.radio.uim@1.0.so +vendor/lib64/vendor.qti.hardware.radio.uim@1.1.so +vendor/lib64/vendor.qti.hardware.radio.uim@1.2.so +vendor/lib64/vendor.qti.hardware.radio.uim_remote_client@1.0.so +vendor/lib64/vendor.qti.hardware.radio.uim_remote_client@1.1.so +vendor/lib64/vendor.qti.hardware.radio.uim_remote_client@1.2.so +vendor/lib64/vendor.qti.hardware.radio.uim_remote_server@1.0.so +vendor/radio/qcril_database/qcril.db +vendor/radio/qcril_database/upgrade/0_initial.sql +vendor/radio/qcril_database/upgrade/1_version_intro.sql +vendor/radio/qcril_database/upgrade/2_version_add_wps_config.sql +vendor/radio/qcril_database/upgrade/3_version_update_wps_config.sql +vendor/radio/qcril_database/upgrade/4_version_update_ecc_table.sql +vendor/radio/qcril_database/upgrade/5_version_update_ecc_table.sql +vendor/radio/qcril_database/upgrade/6_version_update_ecc_table.sql +vendor/radio/qcril_database/upgrade/7_version_update_ecc_table.sql + +# Radio-IMS +system_ext/etc/permissions/com.qualcomm.qti.imscmservice-V2.0-java.xml +system_ext/etc/permissions/com.qualcomm.qti.imscmservice-V2.1-java.xml +system_ext/etc/permissions/com.qualcomm.qti.imscmservice-V2.2-java.xml +system_ext/etc/permissions/com.qualcomm.qti.imscmservice.xml +-system_ext/framework/com.qualcomm.qti.imscmservice-V2.0-java.jar +-system_ext/framework/com.qualcomm.qti.imscmservice-V2.1-java.jar +-system_ext/framework/com.qualcomm.qti.imscmservice-V2.2-java.jar +-system_ext/framework/com.qualcomm.qti.uceservice-V2.0-java.jar +-system_ext/framework/com.qualcomm.qti.uceservice-V2.1-java.jar +-system_ext/framework/com.qualcomm.qti.uceservice-V2.2-java.jar +-system_ext/framework/vendor.qti.ims.callcapability-V1.0-java.jar +-system_ext/framework/vendor.qti.ims.callinfo-V1.0-java.jar +-system_ext/framework/vendor.qti.ims.factory-V1.0-java.jar +-system_ext/framework/vendor.qti.ims.factory-V1.1-java.jar +-system_ext/framework/vendor.qti.ims.rcsconfig-V1.0-java.jar +-system_ext/framework/vendor.qti.ims.rcsconfig-V1.1-java.jar +-system_ext/framework/vendor.qti.ims.rcsconfig-V2.0-java.jar +-system_ext/framework/vendor.qti.ims.rcsconfig-V2.1-java.jar +system_ext/lib/com.qualcomm.qti.imscmservice@1.0.so +system_ext/lib/com.qualcomm.qti.imscmservice@2.0.so +system_ext/lib/com.qualcomm.qti.imscmservice@2.1.so +system_ext/lib/com.qualcomm.qti.imscmservice@2.2.so +system_ext/lib/com.qualcomm.qti.uceservice@2.0.so +system_ext/lib/com.qualcomm.qti.uceservice@2.1.so +system_ext/lib/com.qualcomm.qti.uceservice@2.2.so +system_ext/lib/lib-imsvideocodec.so +system_ext/lib/lib-imsvt.so +system_ext/lib/lib-imsvtextutils.so +system_ext/lib/lib-imsvtutils.so +system_ext/lib/libdiag_system.so +system_ext/lib/libimscamera_jni.so +system_ext/lib/libimsmedia_jni.so +system_ext/lib/vendor.qti.hardware.radio.ims@1.0.so +system_ext/lib/vendor.qti.hardware.radio.ims@1.1.so +system_ext/lib/vendor.qti.hardware.radio.ims@1.2.so +system_ext/lib/vendor.qti.hardware.radio.ims@1.3.so +system_ext/lib/vendor.qti.hardware.radio.ims@1.4.so +system_ext/lib/vendor.qti.hardware.radio.ims@1.5.so +system_ext/lib/vendor.qti.hardware.radio.ims@1.6.so +system_ext/lib/vendor.qti.ims.callcapability@1.0.so +system_ext/lib/vendor.qti.ims.callinfo@1.0.so +system_ext/lib/vendor.qti.ims.factory@1.0.so +system_ext/lib/vendor.qti.ims.factory@1.1.so +system_ext/lib/vendor.qti.ims.rcsconfig@1.0.so +system_ext/lib/vendor.qti.ims.rcsconfig@1.1.so +system_ext/lib/vendor.qti.ims.rcsconfig@2.0.so +system_ext/lib/vendor.qti.ims.rcsconfig@2.1.so +system_ext/lib/vendor.qti.imsrtpservice@3.0.so +system_ext/lib64/com.qualcomm.qti.imscmservice@1.0.so +system_ext/lib64/com.qualcomm.qti.imscmservice@2.0.so +system_ext/lib64/com.qualcomm.qti.imscmservice@2.1.so +system_ext/lib64/com.qualcomm.qti.imscmservice@2.2.so +system_ext/lib64/com.qualcomm.qti.uceservice@2.0.so +system_ext/lib64/com.qualcomm.qti.uceservice@2.1.so +system_ext/lib64/com.qualcomm.qti.uceservice@2.2.so +system_ext/lib64/lib-imsvideocodec.so +system_ext/lib64/lib-imsvt.so +system_ext/lib64/lib-imsvtextutils.so +system_ext/lib64/lib-imsvtutils.so +system_ext/lib64/libdiag_system.so +system_ext/lib64/libimscamera_jni.so +system_ext/lib64/libimsmedia_jni.so +system_ext/lib64/vendor.qti.hardware.radio.ims@1.0.so +system_ext/lib64/vendor.qti.hardware.radio.ims@1.1.so +system_ext/lib64/vendor.qti.hardware.radio.ims@1.2.so +system_ext/lib64/vendor.qti.hardware.radio.ims@1.3.so +system_ext/lib64/vendor.qti.hardware.radio.ims@1.4.so +system_ext/lib64/vendor.qti.hardware.radio.ims@1.5.so +system_ext/lib64/vendor.qti.hardware.radio.ims@1.6.so +system_ext/lib64/vendor.qti.ims.callcapability@1.0.so +system_ext/lib64/vendor.qti.ims.callinfo@1.0.so +system_ext/lib64/vendor.qti.ims.factory@1.0.so +system_ext/lib64/vendor.qti.ims.factory@1.1.so +system_ext/lib64/vendor.qti.ims.rcsconfig@1.0.so +system_ext/lib64/vendor.qti.ims.rcsconfig@1.1.so +system_ext/lib64/vendor.qti.ims.rcsconfig@2.0.so +system_ext/lib64/vendor.qti.ims.rcsconfig@2.1.so +system_ext/lib64/vendor.qti.imsrtpservice@3.0.so +-system_ext/priv-app/ims/ims.apk +vendor/bin/imsdatadaemon +vendor/bin/imsqmidaemon +vendor/bin/imsrcsd +vendor/bin/ims_rtp_daemon +vendor/lib/com.qualcomm.qti.imscmservice@1.0.so +vendor/lib/com.qualcomm.qti.imscmservice@2.0.so +vendor/lib/com.qualcomm.qti.imscmservice@2.1.so +vendor/lib/com.qualcomm.qti.imscmservice@2.2.so +vendor/lib/com.qualcomm.qti.uceservice@2.0.so +vendor/lib/com.qualcomm.qti.uceservice@2.1.so +vendor/lib/com.qualcomm.qti.uceservice@2.2.so +vendor/lib/lib-imscmservice.so +vendor/lib/lib-imsdpl.so +vendor/lib/lib-imsqimf.so +vendor/lib/lib-imsrcs-v2.so +vendor/lib/lib-imsrcsbaseimpl.so +vendor/lib/lib-imsvtcore.so +vendor/lib/lib-imsxml.so +vendor/lib/lib-rtpcommon.so +vendor/lib/lib-rtpcore.so +vendor/lib/lib-rtpsl.so +vendor/lib/lib-siputility.so +vendor/lib/lib-uceservice.so +vendor/lib/librcc.so +vendor/lib/vendor.qti.hardware.radio.ims@1.0.so +vendor/lib/vendor.qti.hardware.radio.ims@1.1.so +vendor/lib/vendor.qti.hardware.radio.ims@1.2.so +vendor/lib/vendor.qti.hardware.radio.ims@1.3.so +vendor/lib/vendor.qti.hardware.radio.ims@1.4.so +vendor/lib/vendor.qti.hardware.radio.ims@1.5.so +vendor/lib/vendor.qti.hardware.radio.ims@1.6.so +vendor/lib/vendor.qti.ims.callcapability@1.0.so +vendor/lib/vendor.qti.ims.callinfo@1.0.so +vendor/lib/vendor.qti.ims.factory@1.0.so +vendor/lib/vendor.qti.ims.rcsconfig@1.0.so +vendor/lib/vendor.qti.ims.rcsconfig@1.1.so +vendor/lib/vendor.qti.ims.rcsconfig@2.0.so +vendor/lib/vendor.qti.ims.rcsconfig@2.1.so +vendor/lib/vendor.qti.imsrtpservice@3.0-service-Impl.so +vendor/lib/vendor.qti.imsrtpservice@3.0.so +vendor/lib64/com.qualcomm.qti.imscmservice@1.0.so +vendor/lib64/com.qualcomm.qti.imscmservice@2.0.so +vendor/lib64/com.qualcomm.qti.imscmservice@2.1.so +vendor/lib64/com.qualcomm.qti.imscmservice@2.2.so +vendor/lib64/com.qualcomm.qti.uceservice@2.0.so +vendor/lib64/com.qualcomm.qti.uceservice@2.1.so +vendor/lib64/com.qualcomm.qti.uceservice@2.2.so +vendor/lib64/lib-imscmservice.so +vendor/lib64/lib-imsdpl.so +vendor/lib64/lib-imsqimf.so +vendor/lib64/lib-imsrcs-v2.so +vendor/lib64/lib-imsrcsbaseimpl.so +vendor/lib64/lib-imsvtcore.so +vendor/lib64/lib-imsxml.so +vendor/lib64/lib-rtpcommon.so +vendor/lib64/lib-rtpcore.so +vendor/lib64/lib-rtpsl.so +vendor/lib64/lib-siputility.so +vendor/lib64/lib-uceservice.so +vendor/lib64/librcc.so +vendor/lib64/vendor.qti.hardware.radio.ims@1.0.so +vendor/lib64/vendor.qti.hardware.radio.ims@1.1.so +vendor/lib64/vendor.qti.hardware.radio.ims@1.2.so +vendor/lib64/vendor.qti.hardware.radio.ims@1.3.so +vendor/lib64/vendor.qti.hardware.radio.ims@1.4.so +vendor/lib64/vendor.qti.hardware.radio.ims@1.5.so +vendor/lib64/vendor.qti.hardware.radio.ims@1.6.so +vendor/lib64/vendor.qti.ims.callcapability@1.0.so +vendor/lib64/vendor.qti.ims.callinfo@1.0.so +vendor/lib64/vendor.qti.ims.factory@1.0.so +vendor/lib64/vendor.qti.ims.rcsconfig@1.0.so +vendor/lib64/vendor.qti.ims.rcsconfig@1.1.so +vendor/lib64/vendor.qti.ims.rcsconfig@2.0.so +vendor/lib64/vendor.qti.ims.rcsconfig@2.1.so +vendor/lib64/vendor.qti.imsrtpservice@3.0-service-Impl.so +vendor/lib64/vendor.qti.imsrtpservice@3.0.so + +# SCVE +system_ext/lib/vendor.qti.hardware.scve.objecttracker@1.0-adapter-helper.so +system_ext/lib/vendor.qti.hardware.scve.objecttracker@1.0.so +system_ext/lib/vendor.qti.hardware.scve.panorama@1.0-adapter-helper.so +system_ext/lib/vendor.qti.hardware.scve.panorama@1.0.so +system_ext/lib64/vendor.qti.hardware.scve.objecttracker@1.0-adapter-helper.so +system_ext/lib64/vendor.qti.hardware.scve.objecttracker@1.0.so +system_ext/lib64/vendor.qti.hardware.scve.panorama@1.0-adapter-helper.so +system_ext/lib64/vendor.qti.hardware.scve.panorama@1.0.so +vendor/lib/libscveCommon.so +vendor/lib/libscveCommon_stub.so +vendor/lib/libscveObjectSegmentation.so +vendor/lib/libscveObjectSegmentation_stub.so +vendor/lib/libscveObjectTracker.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/libscveCommon.so +vendor/lib64/libscveCommon_stub.so +vendor/lib64/libscveObjectSegmentation.so +vendor/lib64/libscveObjectSegmentation_stub.so +vendor/lib64/libscveObjectTracker.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 + +# SSR +vendor/bin/ssr_diag +vendor/bin/ssr_setup +vendor/bin/subsystem_ramdump +vendor/lib/libsubsystem_control.so +vendor/lib64/libsubsystem_control.so + +# Seccam +vendor/lib/vendor.qti.hardware.seccam@1.0.so +vendor/lib64/vendor.qti.hardware.seccam@1.0.so + +# Sensor-calibrate +vendor/bin/hw/vendor.qti.hardware.sensorscalibrate@1.0-service +vendor/etc/init/vendor.qti.hardware.sensorscalibrate@1.0-service.rc +vendor/etc/permissions/vendor-qti-hardware-sensorscalibrate.xml +vendor/lib/hw/vendor.qti.hardware.sensorscalibrate@1.0-impl.so +vendor/lib/vendor.qti.hardware.sensorscalibrate@1.0.so +vendor/lib64/hw/vendor.qti.hardware.sensorscalibrate@1.0-impl.so +vendor/lib64/vendor.qti.hardware.sensorscalibrate@1.0.so + +# Sensor-configs +vendor/etc/sensors/config/adux1050_0.json +vendor/etc/sensors/config/ak991x_dri_0.json +vendor/etc/sensors/config/lsm6dso_0.json +vendor/etc/sensors/config/shtw2_0.json +vendor/etc/sensors/config/sm8150_adux1050_0.json +vendor/etc/sensors/config/sm8150_ak991x_0.json +vendor/etc/sensors/config/sm8150_lsm6dso_0.json +vendor/etc/sensors/config/sm8150_power_0.json +vendor/etc/sensors/config/sm8150_shtw2_0.json +vendor/etc/sensors/config/sm8150_stk3a5x_0.json +vendor/etc/sensors/config/sns_amd.json +vendor/etc/sensors/config/sns_amd_sw_disabled.json +vendor/etc/sensors/config/sns_amd_sw_enabled.json +vendor/etc/sensors/config/sns_aod.json +vendor/etc/sensors/config/sns_basic_gestures.json +vendor/etc/sensors/config/sns_bring_to_ear.json +vendor/etc/sensors/config/sns_ccd.json +vendor/etc/sensors/config/sns_cm.json +vendor/etc/sensors/config/sns_dae.json +vendor/etc/sensors/config/sns_device_orient.json +vendor/etc/sensors/config/sns_diag_filter.json +vendor/etc/sensors/config/sns_distance_bound.json +vendor/etc/sensors/config/sns_dpc.json +vendor/etc/sensors/config/sns_facing.json +vendor/etc/sensors/config/sns_fmv.json +vendor/etc/sensors/config/sns_geomag_rv.json +vendor/etc/sensors/config/sns_gyro_cal.json +vendor/etc/sensors/config/sns_mag_cal.json +vendor/etc/sensors/config/sns_multishake.json +vendor/etc/sensors/config/sns_nonui.json +vendor/etc/sensors/config/sns_pedometer.json +vendor/etc/sensors/config/sns_rmd.json +vendor/etc/sensors/config/sns_rotv.json +vendor/etc/sensors/config/sns_sar_algo_0.json +vendor/etc/sensors/config/sns_sar_algo_1.json +vendor/etc/sensors/config/sns_smd.json +vendor/etc/sensors/config/sns_tilt.json +vendor/etc/sensors/config/sns_tilt_sw_disabled.json +vendor/etc/sensors/config/sns_tilt_sw_enabled.json +vendor/etc/sensors/config/sns_tilt_to_wake.json +vendor/etc/sensors/proto/descriptor.proto +vendor/etc/sensors/proto/nanopb.proto +vendor/etc/sensors/proto/qti_gravity.proto +vendor/etc/sensors/proto/sns_accel.proto +vendor/etc/sensors/proto/sns_accel_cal.proto +vendor/etc/sensors/proto/sns_activity_recognition.proto +vendor/etc/sensors/proto/sns_ambient_light.proto +vendor/etc/sensors/proto/sns_ambient_temperature.proto +vendor/etc/sensors/proto/sns_amd.proto +vendor/etc/sensors/proto/sns_aont.proto +vendor/etc/sensors/proto/sns_async_com_port.proto +vendor/etc/sensors/proto/sns_basic_gestures.proto +vendor/etc/sensors/proto/sns_bring_to_ear.proto +vendor/etc/sensors/proto/sns_cal.proto +vendor/etc/sensors/proto/sns_ccd_ttw.proto +vendor/etc/sensors/proto/sns_ccd_walk.proto +vendor/etc/sensors/proto/sns_client.proto +vendor/etc/sensors/proto/sns_cmc.proto +vendor/etc/sensors/proto/sns_cmd.proto +vendor/etc/sensors/proto/sns_dae.proto +vendor/etc/sensors/proto/sns_data_acquisition_engine.proto +vendor/etc/sensors/proto/sns_da_test.proto +vendor/etc/sensors/proto/sns_device_mode.proto +vendor/etc/sensors/proto/sns_device_orient.proto +vendor/etc/sensors/proto/sns_diag.proto +vendor/etc/sensors/proto/sns_diag_sensor.proto +vendor/etc/sensors/proto/sns_distance_bound.proto +vendor/etc/sensors/proto/sns_dpc.proto +vendor/etc/sensors/proto/sns_ext_svc.proto +vendor/etc/sensors/proto/sns_facing.proto +vendor/etc/sensors/proto/sns_fmv.proto +vendor/etc/sensors/proto/sns_formatter.proto +vendor/etc/sensors/proto/sns_free_fall.proto +vendor/etc/sensors/proto/sns_fw.proto +vendor/etc/sensors/proto/sns_game_rv.proto +vendor/etc/sensors/proto/sns_geomag_rv.proto +vendor/etc/sensors/proto/sns_gravity.proto +vendor/etc/sensors/proto/sns_gyro.proto +vendor/etc/sensors/proto/sns_gyro_cal.proto +vendor/etc/sensors/proto/sns_gyro_rot_matrix.proto +vendor/etc/sensors/proto/sns_hall.proto +vendor/etc/sensors/proto/sns_har.proto +vendor/etc/sensors/proto/sns_heart_beat.proto +vendor/etc/sensors/proto/sns_heart_rate.proto +vendor/etc/sensors/proto/sns_hinge_angle.proto +vendor/etc/sensors/proto/sns_humidity.proto +vendor/etc/sensors/proto/sns_interrupt.proto +vendor/etc/sensors/proto/sns_mag.proto +vendor/etc/sensors/proto/sns_mag_cal.proto +vendor/etc/sensors/proto/sns_mcmd.proto +vendor/etc/sensors/proto/sns_motion_detect.proto +vendor/etc/sensors/proto/sns_multishake.proto +vendor/etc/sensors/proto/sns_oem1.proto +vendor/etc/sensors/proto/sns_oem2.proto +vendor/etc/sensors/proto/sns_oem3.proto +vendor/etc/sensors/proto/sns_offbody_detect.proto +vendor/etc/sensors/proto/sns_pedometer.proto +vendor/etc/sensors/proto/sns_pedometer_wrist.proto +vendor/etc/sensors/proto/sns_physical_sensor_oem_config.proto +vendor/etc/sensors/proto/sns_physical_sensor_test.proto +vendor/etc/sensors/proto/sns_pose_6dof.proto +vendor/etc/sensors/proto/sns_ppg.proto +vendor/etc/sensors/proto/sns_pressure.proto +vendor/etc/sensors/proto/sns_proximity.proto +vendor/etc/sensors/proto/sns_psmd.proto +vendor/etc/sensors/proto/sns_registry.proto +vendor/etc/sensors/proto/sns_remote_proc_state.proto +vendor/etc/sensors/proto/sns_resampler.proto +vendor/etc/sensors/proto/sns_rgb.proto +vendor/etc/sensors/proto/sns_rmd.proto +vendor/etc/sensors/proto/sns_rotv.proto +vendor/etc/sensors/proto/sns_sar.proto +vendor/etc/sensors/proto/sns_sensor_temperature.proto +vendor/etc/sensors/proto/sns_signal_sensor.proto +vendor/etc/sensors/proto/sns_sig_motion.proto +vendor/etc/sensors/proto/sns_sim.proto +vendor/etc/sensors/proto/sns_sim_legacy.proto +vendor/etc/sensors/proto/sns_std.proto +vendor/etc/sensors/proto/sns_std_event_gated_sensor.proto +vendor/etc/sensors/proto/sns_std_sensor.proto +vendor/etc/sensors/proto/sns_std_type.proto +vendor/etc/sensors/proto/sns_step_detect.proto +vendor/etc/sensors/proto/sns_suid.proto +vendor/etc/sensors/proto/sns_thermopile.proto +vendor/etc/sensors/proto/sns_threshold.proto +vendor/etc/sensors/proto/sns_tilt.proto +vendor/etc/sensors/proto/sns_tilt_to_wake.proto +vendor/etc/sensors/proto/sns_timer.proto +vendor/etc/sensors/proto/sns_ultra_violet.proto +vendor/etc/sensors/proto/sns_wrist_tilt_gesture.proto +vendor/etc/sensors/sns_reg_config + +# Sensors +-system_ext/framework/vendor.qti.hardware.sensorscalibrate-V1.0-java.jar +vendor/bin/hw/android.hardware.sensors@1.0-service +vendor/bin/sensors.qti +vendor/etc/elliptic_sensor.xml +vendor/etc/init/android.hardware.sensors@1.0-service.rc +vendor/lib/hw/android.hardware.sensors@1.0-impl.so +vendor/lib/libsensorcal.so +vendor/lib/libsensorslog.so +vendor/lib/libssc.so +vendor/lib/libssccalapi.so +vendor/lib/libssc_default_listener.so +vendor/lib/sensors.mius.proximity.so +vendor/lib/sensors.ssc.so +vendor/lib/sensors.touch.so +vendor/lib64/hw/android.hardware.sensors@1.0-impl.so +vendor/lib64/libnotifyaudiohal.so +vendor/lib64/libsensorcal.so +vendor/lib64/libsensorndkbridge.so +vendor/lib64/libsensorslog.so +vendor/lib64/libssc.so +vendor/lib64/libssccalapi.so +vendor/lib64/libssc_default_listener.so +vendor/lib64/sensors.elliptic.so +vendor/lib64/sensors.mius.proximity.so +vendor/lib64/sensors.ssc.so +vendor/lib64/sensors.touch.so + +# Soter +-app/SoterService/SoterService.apk +vendor/bin/hw/vendor.qti.hardware.soter@1.0-service +vendor/bin/SoterProvisioningTool +vendor/bin/vendor.qti.hardware.soter@1.0-provision +vendor/etc/init/vendor.qti.hardware.soter@1.0-service.rc +vendor/lib/hw/vendor.qti.hardware.soter@1.0-impl.so +vendor/lib/vendor.qti.hardware.soter@1.0.so +vendor/lib64/hw/vendor.qti.hardware.soter@1.0-impl.so +vendor/lib64/vendor.qti.hardware.soter@1.0.so + +# TUI +system_ext/lib/vendor.qti.hardware.tui_comm@1.0.so +system_ext/lib64/vendor.qti.hardware.tui_comm@1.0.so +vendor/bin/hw/vendor.qti.hardware.tui_comm@1.0-service-qti +vendor/etc/init/vendor.qti.hardware.tui_comm@1.0-service-qti.rc +vendor/lib/vendor.qti.hardware.tui_comm@1.0.so +vendor/lib64/vendor.qti.hardware.tui_comm@1.0.so + +# Thermal +vendor/bin/mi_thermald +vendor/bin/thermal-engine +vendor/bin/thermal_factory +vendor/etc/init/init.mi_thermald.rc +vendor/etc/init/init_thermal-engine.rc +vendor/etc/thermal-arvr.conf +vendor/etc/thermal-camera.conf +vendor/etc/thermal-chg-only.conf +vendor/etc/thermal-engine.conf +vendor/etc/thermal-map.conf +vendor/etc/thermal-nolimits.conf +vendor/etc/thermal-normal.conf +vendor/etc/thermal-phone.conf +vendor/etc/thermal-tgame.conf +vendor/etc/thermald-devices.conf +vendor/lib/libthermalclient.so +vendor/lib64/libthermalclient.so + +# Time +-vendor/app/TimeService/TimeService.apk +vendor/bin/time_daemon +vendor/lib/libtime_genoff.so +vendor/lib64/libtime_genoff.so + +# Touch-improve +-vendor/app/com.qualcomm.qti.improvetouch.service/com.qualcomm.qti.improvetouch.service.apk +vendor/lib/vendor.qti.hardware.improvetouch.touchcompanion@1.0-service.so +vendor/lib/vendor.qti.hardware.improvetouch.touchcompanion@1.0.so +vendor/lib64/vendor.qti.hardware.improvetouch.touchcompanion@1.0-service.so +vendor/lib64/vendor.qti.hardware.improvetouch.touchcompanion@1.0.so + +# Touchscreen +vendor/etc/hbtp/hbtpcfg_sdm855_801s_4k.dat +vendor/etc/hbtp/loader.cfg +vendor/etc/hbtp/qtc801s.bin +vendor/lib/libhbtpclient.so +vendor/lib/libhbtpdsp.so +vendor/lib/libhbtpfrmwk.so +vendor/lib64/libhbtpclient.so +vendor/lib64/libhbtpdsp.so +vendor/lib64/libhbtpfrmwk.so + +# UBWC +vendor/lib/libstreamparser.so + +# Vibrator +vendor/bin/hw/vendor.qti.hardware.vibrator.service +vendor/etc/init/vendor.qti.hardware.vibrator.service.rc +-vendor/etc/vintf/manifest/vendor.qti.hardware.vibrator.service.xml +vendor/lib/hw/vibrator.default.so +vendor/lib64/hw/vibrator.default.so +vendor/lib64/libqtivibratoreffect.so +vendor/lib64/vendor.qti.hardware.vibrator.impl.so + +# Voice +-system_ext/framework/vendor.qti.voiceprint-V1.0-java.jar +system_ext/lib/vendor.qti.voiceprint@1.0.so +system_ext/lib64/vendor.qti.voiceprint@1.0.so +vendor/lib/vendor.qti.voiceprint@1.0.so +vendor/lib64/vendor.qti.voiceprint@1.0.so + +# WFD +-framework/WfdCommon.jar +system_ext/bin/wfdservice +system_ext/etc/init/wfdservice.rc +system_ext/etc/wfdconfigsink.xml +system_ext/lib/com.qualcomm.qti.wifidisplayhal@1.0.so +system_ext/lib/hw/vendor.qti.hardware.sigma_miracast@1.0-impl.so +system_ext/lib/libwfdaac.so +system_ext/lib/libwfdavenhancements.so +system_ext/lib/libwfdclient.so +system_ext/lib/libwfdcommonutils.so +system_ext/lib/libwfdconfigutils.so +system_ext/lib/libwfddisplayconfig.so +system_ext/lib/libwfdmminterface.so +system_ext/lib/libwfdmmsink.so +system_ext/lib/libwfdmmsrc_system.so +system_ext/lib/libwfdnative.so +system_ext/lib/libwfdrtsp.so +system_ext/lib/libwfdservice.so +system_ext/lib/libwfdsinksm.so +system_ext/lib/libwfduibcinterface.so +system_ext/lib/libwfduibcsink.so +system_ext/lib/libwfduibcsinkinterface.so +system_ext/lib/libwfduibcsrc.so +system_ext/lib/libwfduibcsrcinterface.so +system_ext/lib/vendor.qti.hardware.sigma_miracast@1.0-halimpl.so +system_ext/lib/vendor.qti.hardware.sigma_miracast@1.0.so +system_ext/lib/vendor.qti.hardware.wifidisplaysession@1.0.so +system_ext/lib64/hw/vendor.qti.hardware.sigma_miracast@1.0-impl.so +system_ext/lib64/libwfdclient.so +system_ext/lib64/libwfdcommonutils.so +system_ext/lib64/libwfdconfigutils.so +system_ext/lib64/libwfddisplayconfig.so +system_ext/lib64/libwfdmminterface.so +system_ext/lib64/libwfdmmsink.so +system_ext/lib64/libwfdnative.so +system_ext/lib64/libwfdrtsp.so +system_ext/lib64/libwfdsinksm.so +system_ext/lib64/libwfduibcinterface.so +system_ext/lib64/libwfduibcsink.so +system_ext/lib64/libwfduibcsinkinterface.so +system_ext/lib64/libwfduibcsrc.so +system_ext/lib64/libwfduibcsrcinterface.so +system_ext/lib64/vendor.qti.hardware.sigma_miracast@1.0-halimpl.so +system_ext/lib64/vendor.qti.hardware.sigma_miracast@1.0.so +system_ext/lib64/vendor.qti.hardware.wifidisplaysession@1.0.so +system_ext/priv-app/WfdService/lib/arm64/libwfdnative.so +-system_ext/priv-app/WfdService/WfdService.apk +vendor/bin/wifidisplayhalservice +vendor/etc/init/com.qualcomm.qti.wifidisplayhal@1.0-service.rc +vendor/etc/seccomp_policy/wifidisplayhalservice.policy +vendor/etc/wfdconfig.xml +vendor/lib/libmiracast.so +vendor/lib/libwfdaac_vendor.so +vendor/lib/libwfdcodecv4l2_proprietary.so +vendor/lib/libwfdcommonutils_proprietary.so +vendor/lib/libwfdconfigutils_proprietary.so +vendor/lib/libwfddisplayconfig_proprietary.so +vendor/lib/libwfdhdcpcp.so +vendor/lib/libwfdhdcpservice_proprietary.so +vendor/lib/libwfdmminterface_proprietary.so +vendor/lib/libwfdmmservice_proprietary.so +vendor/lib/libwfdmmsrc_proprietary.so +vendor/lib/libwfdmodulehdcpsession.so +vendor/lib/libwfdrtsp_proprietary.so +vendor/lib/libwfdsessionmodule.so +vendor/lib/libwfdsourcesession_proprietary.so +vendor/lib/libwfdsourcesm_proprietary.so +vendor/lib/libwfduibcinterface_proprietary.so +vendor/lib/libwfduibcsinkinterface_proprietary.so +vendor/lib/libwfduibcsink_proprietary.so +vendor/lib/libwfduibcsrcinterface_proprietary.so +vendor/lib/libwfduibcsrc_proprietary.so +vendor/lib/libwfdutils_proprietary.so +vendor/lib/vendor.qti.hardware.sigma_miracast@1.0.so +vendor/lib/vendor.qti.hardware.wifidisplaysession@1.0.so +vendor/lib/vendor.qti.hardware.wifidisplaysessionl@1.0-halimpl.so +vendor/lib64/libmiracast.so +vendor/lib64/libwfddisplayconfig_proprietary.so +vendor/lib64/libwfdhdcpcp.so +vendor/lib64/vendor.qti.hardware.sigma_miracast@1.0.so +vendor/lib64/vendor.qti.hardware.wifidisplaysession@1.0.so + +# WiFi +bin/iwpriv +-system_ext/framework/vendor.qti.hardware.wigig.netperftuner-V1.0-java.jar +-system_ext/framework/vendor.qti.hardware.wigig.supptunnel-V1.0-java.jar +system_ext/lib/vendor.qti.hardware.wigig.netperftuner@1.0.so +system_ext/lib/vendor.qti.hardware.wigig.supptunnel@1.0.so +system_ext/lib64/vendor.qti.hardware.wigig.netperftuner@1.0.so +system_ext/lib64/vendor.qti.hardware.wigig.supptunnel@1.0.so +vendor/bin/cnss-daemon +vendor/bin/cnss_diag +vendor/bin/fstman +vendor/bin/hw/android.hardware.wifi@1.0-service +vendor/bin/nv_mac +vendor/etc/init/android.hardware.wifi@1.0-service.rc +vendor/etc/init/vendor.qti.hardware.wifi.wifilearner@1.0-service.rc +-vendor/etc/vintf/manifest/android.hardware.wifi.hostapd.xml +-vendor/etc/vintf/manifest/android.hardware.wifi@1.0-service.xml +vendor/lib/vendor.qti.hardware.wigig.netperftuner@1.0.so +vendor/lib64/vendor.qti.hardware.wifi.hostapd@1.0.so +vendor/lib64/vendor.qti.hardware.wifi.hostapd@1.1.so +vendor/lib64/vendor.qti.hardware.wifi.hostapd@1.2.so +vendor/lib64/vendor.qti.hardware.wifi.supplicant@2.0.so +vendor/lib64/vendor.qti.hardware.wifi.supplicant@2.1.so +vendor/lib64/vendor.qti.hardware.wifi.supplicant@2.2.so +vendor/lib64/vendor.qti.hardware.wifi.wifilearner@1.0.so +vendor/lib64/vendor.qti.hardware.wigig.netperftuner@1.0.so + +# Xiaomi +system_ext/lib/vendor.xiaomi.hardware.fingerprintextension@1.0.so +system_ext/lib64/vendor.xiaomi.hardware.fingerprintextension@1.0.so +vendor/bin/hw/android.hardware.dumpstate@1.1-service.xiaomi +vendor/bin/hw/vendor.xiaomi.hardware.citsensorservice@1.1-service +vendor/bin/hw/vendor.xiaomi.hardware.micharge@1.0-service +vendor/bin/hw/vendor.xiaomi.hardware.misys@1.0-service +vendor/bin/hw/vendor.xiaomi.hardware.misys@2.0-service +vendor/bin/hw/vendor.xiaomi.hardware.misys@3.0-service +vendor/bin/hw/vendor.xiaomi.hardware.touchfeature@1.0-service +vendor/bin/mlipayd@1.1 +vendor/bin/mtd@1.2 +vendor/bin/tidad@1.2 +vendor/bin/xiaomi_extend_cmd +vendor/etc/init/android.hardware.dumpstate@1.1-service.xiaomi.rc +vendor/etc/init/vendor.xiaomi.hardware.citsensorservice@1.1-service.rc +vendor/etc/init/vendor.xiaomi.hardware.micharge@1.0-service.rc +vendor/etc/init/vendor.xiaomi.hardware.misys@1.0-service.rc +vendor/etc/init/vendor.xiaomi.hardware.misys@2.0-service.rc +vendor/etc/init/vendor.xiaomi.hardware.misys@3.0-service.rc +vendor/etc/init/vendor.xiaomi.hardware.mlipay@1.1-service.rc +vendor/etc/init/vendor.xiaomi.hardware.mtdservice@1.2-service.rc +vendor/etc/init/vendor.xiaomi.hardware.tidaservice@1.2-service.rc +vendor/etc/init/vendor.xiaomi.hardware.touchfeature@1.0-service.rc +vendor/etc/init/vendor.xiaomi.hardware.vsimapp@1.0-service.rc +-vendor/etc/vintf/manifest/android.hardware.dumpstate@1.1-service.xiaomi.xml +-vendor/etc/vintf/manifest/manifest_vendor.xiaomi.hardware.mlipay.xml +-vendor/etc/vintf/manifest/manifest_vendor.xiaomi.hardware.mtdservice.xml +-vendor/etc/vintf/manifest/manifest_vendor.xiaomi.hardware.tidaservice.xml +-vendor/etc/vintf/manifest/manifest_vendor.xiaomi.hardware.vsimapp.xml +-vendor/etc/vintf/manifest/vendor.xiaomi.hardware.micharge@1.0.xml +-vendor/etc/vintf/manifest/vendor.xiaomi.hardware.misys@1.0.xml +-vendor/etc/vintf/manifest/vendor.xiaomi.hardware.misys@2.0.xml +-vendor/etc/vintf/manifest/vendor.xiaomi.hardware.misys@3.0.xml +vendor/lib/hw/vendor.xiaomi.hardware.citsensorservice@1.1-impl.so +vendor/lib/hw/vendor.xiaomi.hardware.micharge@1.0-impl.so +vendor/lib/hw/vendor.xiaomi.hardware.misys@1.0-impl.so +vendor/lib/hw/vendor.xiaomi.hardware.misys@2.0-impl.so +vendor/lib/hw/vendor.xiaomi.hardware.misys@3.0-impl.so +vendor/lib/hw/vendor.xiaomi.hardware.touchfeature@1.0-impl.so +vendor/lib/libmlipay.so +vendor/lib/libmlipay@1.1.so +vendor/lib/libtida@1.2.so +vendor/lib/vendor.xiaomi.hardware.citsensorservice@1.0.so +vendor/lib/vendor.xiaomi.hardware.citsensorservice@1.0_vendor.so +vendor/lib/vendor.xiaomi.hardware.citsensorservice@1.1.so +vendor/lib/vendor.xiaomi.hardware.citsensorservice@1.1_vendor.so +vendor/lib/vendor.xiaomi.hardware.micharge@1.0.so +vendor/lib/vendor.xiaomi.hardware.misys@1.0.so +vendor/lib/vendor.xiaomi.hardware.misys@2.0.so +vendor/lib/vendor.xiaomi.hardware.misys@3.0.so +vendor/lib/vendor.xiaomi.hardware.mlipay@1.0.so +vendor/lib/vendor.xiaomi.hardware.mlipay@1.1.so +vendor/lib/vendor.xiaomi.hardware.mtdservice@1.0.so +vendor/lib/vendor.xiaomi.hardware.tidaservice@1.0.so +vendor/lib/vendor.xiaomi.hardware.tidaservice@1.1.so +vendor/lib/vendor.xiaomi.hardware.tidaservice@1.2.so +vendor/lib/vendor.xiaomi.hardware.touchfeature@1.0.so +vendor/lib/vendor.xiaomi.hardware.vsimapp@1.0.so +vendor/lib64/hw/vendor.xiaomi.hardware.citsensorservice@1.1-impl.so +vendor/lib64/hw/vendor.xiaomi.hardware.micharge@1.0-impl.so +vendor/lib64/hw/vendor.xiaomi.hardware.misys@1.0-impl.so +vendor/lib64/hw/vendor.xiaomi.hardware.misys@2.0-impl.so +vendor/lib64/hw/vendor.xiaomi.hardware.misys@3.0-impl.so +vendor/lib64/hw/vendor.xiaomi.hardware.touchfeature@1.0-impl.so +vendor/lib64/libmlipay.so +vendor/lib64/libmlipay@1.1.so +vendor/lib64/libtida@1.2.so +vendor/lib64/vendor.xiaomi.hardware.citsensorservice@1.0.so +vendor/lib64/vendor.xiaomi.hardware.citsensorservice@1.0_vendor.so +vendor/lib64/vendor.xiaomi.hardware.citsensorservice@1.1.so +vendor/lib64/vendor.xiaomi.hardware.citsensorservice@1.1_vendor.so +vendor/lib64/vendor.xiaomi.hardware.micharge@1.0.so +vendor/lib64/vendor.xiaomi.hardware.misys@1.0.so +vendor/lib64/vendor.xiaomi.hardware.misys@2.0.so +vendor/lib64/vendor.xiaomi.hardware.misys@3.0.so +vendor/lib64/vendor.xiaomi.hardware.mlipay@1.0.so +vendor/lib64/vendor.xiaomi.hardware.mlipay@1.1.so +vendor/lib64/vendor.xiaomi.hardware.mtdservice@1.0.so +vendor/lib64/vendor.xiaomi.hardware.mtdservice@1.1.so +vendor/lib64/vendor.xiaomi.hardware.mtdservice@1.2.so +vendor/lib64/vendor.xiaomi.hardware.tidaservice@1.0.so +vendor/lib64/vendor.xiaomi.hardware.tidaservice@1.1.so +vendor/lib64/vendor.xiaomi.hardware.tidaservice@1.2.so +vendor/lib64/vendor.xiaomi.hardware.touchfeature@1.0.so + +# rootdir +vendor/bin/audioshell_service +vendor/bin/chre +vendor/bin/displaycount +vendor/bin/ftmdaemon +vendor/bin/hbtp_daemon +vendor/bin/mdm_helper +vendor/bin/mlid +vendor/bin/mmid +vendor/bin/sec_nvm +vendor/bin/spdaemon +vendor/bin/ssgqmigd +vendor/bin/tcpdump +vendor/bin/wdsdaemon +vendor/etc/init.leds.sh +vendor/etc/init.panel_info.sh +vendor/etc/init/init.batteryd.rc +vendor/etc/init/init.batterysecret.rc +vendor/etc/init/init.charge_logger.rc +vendor/etc/init/init.mishow.ctl.rc +vendor/etc/rcv.wav +vendor/etc/rcv_hp.wav +vendor/etc/spk.wav +vendor/etc/test.wav +vendor/etc/top_spk.wav +vendor/recovery-from-boot.p + +# Misc +-system_ext/app/atfwd/atfwd.apk +-system_ext/app/colorservice/colorservice.apk +-system_ext/app/com.qualcomm.qti.services.secureui/com.qualcomm.qti.services.secureui.apk +-system_ext/app/com.qualcomm.qti.services.systemhelper/com.qualcomm.qti.services.systemhelper.apk +system_ext/app/com.qualcomm.qti.services.systemhelper/lib/arm64/libsystemhelper_jni.so +-system_ext/app/ConfURIDialer/ConfURIDialer.apk +-system_ext/app/DeviceInfo/DeviceInfo.apk +-system_ext/app/DeviceStatisticsService/DeviceStatisticsService.apk +-system_ext/app/DynamicDDSService/DynamicDDSService.apk +-system_ext/app/FM/FM.apk +system_ext/app/FM/lib/arm64/libqcomfm_jni.so +-system_ext/app/PerformanceMode/PerformanceMode.apk +-system_ext/app/QCC-AUTHMGR/QCC-AUTHMGR.apk +-system_ext/app/QCC/QCC.apk +-system_ext/app/QColor/QColor.apk +-system_ext/app/QdcmFF/QdcmFF.apk +-system_ext/app/QTIDiagServices/QTIDiagServices.apk +-system_ext/app/QtiSystemService/QtiSystemService.apk +-system_ext/app/remoteSimLockAuthentication/remoteSimLockAuthentication.apk +-system_ext/app/remotesimlockservice/remotesimlockservice.apk +-system_ext/app/SimContact/SimContact.apk +-system_ext/app/uimgbaservice/uimgbaservice.apk +-system_ext/app/uimlpaservice/uimlpaservice.apk +-system_ext/app/uimremoteclient/uimremoteclient.apk +-system_ext/app/uimremoteserver/uimremoteserver.apk +-system_ext/app/WAPPushManager/WAPPushManager.apk +-system_ext/app/WigigTetheringRRO/WigigTetheringRRO.apk +-system_ext/app/workloadclassifier/workloadclassifier.apk +-system_ext/app/xdivert/xdivert.apk +system_ext/bin/bt_logger +system_ext/bin/checknv +system_ext/bin/diag_callback_sample_system +system_ext/bin/diag_dci_sample_system +system_ext/bin/dun-server +system_ext/bin/perfservice +system_ext/bin/qccsyshalservice +system_ext/bin/qspmsvc +system_ext/bin/qvrdatalogger +system_ext/bin/qvrservice +system_ext/bin/qvrservicetest +system_ext/bin/qvrservicetest64 +system_ext/bin/rtspclient +system_ext/bin/rtspserver +system_ext/bin/sigma_miracasthalservice +system_ext/bin/test_diag_system +system_ext/etc/bluetooth/bt_configstore.conf +system_ext/etc/bluetooth/bt_profile.conf +system_ext/etc/bluetooth/interop_database.conf +system_ext/etc/cdma_call_conf.xml +system_ext/etc/compatconfig/settings-platform-compat-config.xml +system_ext/etc/fs_config_dirs +system_ext/etc/fs_config_files +system_ext/etc/group +system_ext/etc/init/checknv.rc +system_ext/etc/init/com.qualcomm.qti.sigma_miracast@1.0-service.rc +system_ext/etc/init/init.qti.bt.logger.rc +system_ext/etc/init/perfservice.rc +system_ext/etc/init/qspmsvc.rc +system_ext/etc/init/qvrd_ext.rc +system_ext/etc/init/vendor.qti.hardware.qccsyshal@1.0-service.rc +system_ext/etc/permissions/android.software.verified_boot.xml +system_ext/etc/permissions/com.android.carrierconfig.xml +system_ext/etc/permissions/com.android.emergency.xml +system_ext/etc/permissions/com.android.hotwordenrollment.common.util.xml +system_ext/etc/permissions/com.android.settings.xml +system_ext/etc/permissions/com.android.storagemanager.xml +system_ext/etc/permissions/com.qti.media.secureprocessor.xml +system_ext/etc/permissions/com.qualcomm.qmapbridge.xml +system_ext/etc/permissions/com.qualcomm.qti.izattools.xml +system_ext/etc/permissions/embms-noship_product_privapp_permissions_qti.xml +system_ext/etc/permissions/lpa.xml +system_ext/etc/permissions/privapp-permissions-com.beyondGnssService.location.xml +system_ext/etc/permissions/privapp-permissions-google-system-ext.xml +system_ext/etc/permissions/privapp-permissions-miui-settings.xml +system_ext/etc/permissions/privapp-permissions-qti-system-ext.xml +system_ext/etc/permissions/RemoteSimlock.xml +system_ext/etc/permissions/RemoteSimlockManager.xml +system_ext/etc/permissions/telephony_system-ext_privapp-permissions-qti.xml +system_ext/etc/permissions/UimGba.xml +system_ext/etc/permissions/UimGbaManager.xml +system_ext/etc/permissions/uimremoteclient.xml +system_ext/etc/permissions/uimremoteserver.xml +system_ext/etc/permissions/UimService.xml +system_ext/etc/permissions/wfd-system-ext-privapp-permissions-qti.xml +system_ext/etc/public.libraries-qti.txt +system_ext/etc/qvr/cfg/339/0/65536/mtp855.txt +system_ext/etc/qvr/cfg/339/0/65536/mtp855_6dof_config.xml +system_ext/etc/qvr/cfg/341/2/65536/svr845.txt +system_ext/etc/qvr/cfg/356/0/65536/mtp865.txt +system_ext/etc/qvr/cfg/356/0/65536/mtp865_6dof_config.xml +system_ext/etc/qvr/cfg/356/1/131072/morpheus.txt +system_ext/etc/qvr/cfg/356/1/131072/morpheus_6dof_config.xml +system_ext/etc/qvr/cfg/356/1/65536/trinity.txt +system_ext/etc/qvr/cfg/356/1/65536/trinity_6dof_config.xml +system_ext/etc/qvr/cfg/415/0/65536/mtplahaina.txt +system_ext/etc/qvr/cfg/415/0/65536/mtplahaina_6dof_config.xml +system_ext/etc/qvr/qvrservice_config.txt +system_ext/etc/qvr/qvr_hid_device_list.txt +system_ext/etc/seccomp_policy/perfservice.policy +system_ext/etc/seccomp_policy/qvr@2.0.policy +system_ext/etc/seccomp_policy/wfdservice.policy +system_ext/etc/spn-conf.xml +system_ext/etc/sysconfig/qti_whitelist_system_ext.xml +-system_ext/framework/ActivityExt.jar +-system_ext/framework/com.android.hotwordenrollment.common.util.jar +-system_ext/framework/com.qti.media.secureprocessor.jar +-system_ext/framework/qmapbridge.jar +-system_ext/framework/qti-telephony-hidl-wrapper.jar +-system_ext/framework/qti-telephony-utils.jar +-system_ext/framework/remotesimlockmanagerlibrary.jar +-system_ext/framework/uimgbalibrary.jar +-system_ext/framework/uimgbamanagerlibrary.jar +-system_ext/framework/uimlpalibrary.jar +-system_ext/framework/uimremoteclientlibrary.jar +-system_ext/framework/uimremoteserverlibrary.jar +-system_ext/framework/uimremotesimlocklibrary.jar +-system_ext/framework/uimservicelibrary.jar +-system_ext/framework/vendor.qti.hardware.slmadapter-V1.0-java.jar +-system_ext/framework/wigig-service.jar +system_ext/lib/android.hidl.base@1.0.so +system_ext/lib/extractors/libmmparserextractor.so +system_ext/lib/libadsprpc_system.so +system_ext/lib/libavenhancements.so +system_ext/lib/libbinauralrenderer_wrapper.qti.so +system_ext/lib/libbluetooth_qti.so +system_ext/lib/libbt-logClient.so +system_ext/lib/libbtconfigstore.so +system_ext/lib/libcdsprpc_system.so +system_ext/lib/libcvpcpuRev_skel_system.so +system_ext/lib/libcvp_common_system.so +system_ext/lib/libDiagService.so +system_ext/lib/libdisplayconfig.qti.so +system_ext/lib/libdolphin.so +system_ext/lib/libeye_tracking_dsp_sample_stub.so +system_ext/lib/libframeextension.so +system_ext/lib/libgralloc.qti.so +system_ext/lib/libhoaeffects.qti.so +system_ext/lib/libhoaeffects_csim.so +system_ext/lib/libjnihelpers.so +system_ext/lib/liblayerext.qti.so +system_ext/lib/liblistenjni.qti.so +system_ext/lib/liblistensoundmodel2.qti.so +system_ext/lib/libmdsprpc_system.so +system_ext/lib/libmediasp_jni.so +system_ext/lib/libmink-sock-native-api.so +system_ext/lib/libminksocket_system.so +system_ext/lib/libmiracastsystem.so +system_ext/lib/liboemaids_system.so +system_ext/lib/libOpenCL_system.so +system_ext/lib/libqcc.so +system_ext/lib/libqcc_file_agent_sys.so +system_ext/lib/libqcomfm_jni.so +system_ext/lib/libqct_resampler.so +system_ext/lib/libqdMetaData.so +system_ext/lib/libqmi_cci_system.so +system_ext/lib/libqmi_encdec_system.so +system_ext/lib/libQSEEComAPI_system.so +system_ext/lib/libqspmsvc.so +system_ext/lib/libqti-at.so +system_ext/lib/libqti-iopd-client_system.so +system_ext/lib/libqti_vndfwk_detect.so +system_ext/lib/libqti_workloadclassifiermodel.so +system_ext/lib/libqvrcamera_client.qti.so +system_ext/lib/libqvrservice.so +system_ext/lib/libqvrservice_client.qti.so +system_ext/lib/libqvrservice_ov7251_hvx_tuning.so +system_ext/lib/libqvrservice_ov9282_hvx_tuning.so +system_ext/lib/libqvrservice_v4l_ov7251_hvx_tuning.so +system_ext/lib/libqvr_cam_cdsp_driver_stub.so +system_ext/lib/libqvr_cdsp_driver_stub.so +system_ext/lib/libqvr_eyetracking_plugin.so +system_ext/lib/libScenescape.so +system_ext/lib/libsdm-disp-apis.qti.so +system_ext/lib/libsdsprpc_system.so +system_ext/lib/libsd_sdk_display.qti.so +system_ext/lib/libseccam-ipc.so +system_ext/lib/libseccam.so +system_ext/lib/libseccamservice.so +system_ext/lib/libsecureuisvc_jni.so +system_ext/lib/libsecureui_svcsock_system.so +system_ext/lib/libsensor_calibration.so +system_ext/lib/libskewknob_system.so +system_ext/lib/libsmomo.qti.so +system_ext/lib/libsystemhelper_jni.so +system_ext/lib/libtrigger-handler.so +system_ext/lib/libupdateprof.qti.so +system_ext/lib/libvndfwk_detect_jni.qti.so +system_ext/lib/libvraudio.so +system_ext/lib/libvraudio_client.qti.so +system_ext/lib/libvr_amb_engine.so +system_ext/lib/libvr_object_engine.so +system_ext/lib/libvr_sam_wrapper.so +system_ext/lib/rfsa/adsp/libdsp_streamer_qvrcam_receiver.so +system_ext/lib/rfsa/adsp/libeye_tracking_dsp_sample_skel.so +system_ext/lib/rfsa/adsp/libqvr_cam_dsp_driver_skel.so +system_ext/lib/rfsa/adsp/libqvr_dsp_driver_skel.so +system_ext/lib/rfsa/adsp/libtracker_6dof_skel_8150.so +system_ext/lib/vendor.qti.diaghal@1.0.so +system_ext/lib/vendor.qti.hardware.dsp@1.0.so +system_ext/lib/vendor.qti.hardware.qccsyshal@1.0-halimpl.so +system_ext/lib/vendor.qti.hardware.qccsyshal@1.0.so +system_ext/lib/vendor.qti.hardware.qccvndhal@1.0.so +system_ext/lib/vendor.qti.hardware.qseecom@1.0.so +system_ext/lib/vendor.qti.hardware.qteeconnector@1.0.so +system_ext/lib/vendor.qti.hardware.seccam@1.0.so +system_ext/lib/vendor.qti.hardware.secureprocessor.common@1.0.so +system_ext/lib/vendor.qti.hardware.secureprocessor.config@1.0.so +system_ext/lib/vendor.qti.hardware.secureprocessor.device@1.0.so +system_ext/lib/vendor.qti.hardware.slmadapter@1.0.so +system_ext/lib/vendor.qti.hardware.systemhelper@1.0.so +system_ext/lib/vendor.qti.qspmhal@1.0.so +system_ext/lib64/android.hidl.base@1.0.so +system_ext/lib64/extractors/libmmparserextractor.so +system_ext/lib64/libadsprpc_system.so +system_ext/lib64/libavenhancements.so +system_ext/lib64/libbinauralrenderer_wrapper.qti.so +system_ext/lib64/libbluetooth_qti.so +system_ext/lib64/libbt-logClient.so +system_ext/lib64/libbtconfigstore.so +system_ext/lib64/libcdsprpc_system.so +system_ext/lib64/libcryptfs_hw.so +system_ext/lib64/libcvpcpuRev_skel_system.so +system_ext/lib64/libcvp_common_system.so +system_ext/lib64/libdashdatasource.so +system_ext/lib64/libdashsamplesource.so +system_ext/lib64/libDiagService.so +system_ext/lib64/libdisplayconfig.qti.so +system_ext/lib64/libdolphin.so +system_ext/lib64/libembmsmmosal.so +system_ext/lib64/libembmsmmparser_lite.so +system_ext/lib64/libembmssqlite.so +system_ext/lib64/libembmstinyxml.so +system_ext/lib64/libframeextension.so +system_ext/lib64/libgralloc.qti.so +system_ext/lib64/libhoaeffects.qti.so +system_ext/lib64/libhoaeffects_csim.so +system_ext/lib64/libjnihelpers.so +system_ext/lib64/liblayerext.qti.so +system_ext/lib64/liblistenjni.qti.so +system_ext/lib64/liblistensoundmodel2.qti.so +system_ext/lib64/libmdsprpc_system.so +system_ext/lib64/libmediasp_jni.so +system_ext/lib64/libmink-sock-native-api.so +system_ext/lib64/libminksocket_system.so +system_ext/lib64/libmiracastsystem.so +system_ext/lib64/libmmhttpstack.so +system_ext/lib64/libmmiipstreammmihttp.so +system_ext/lib64/libmmipstreamnetwork.so +system_ext/lib64/libmmipstreamsourcehttp.so +system_ext/lib64/libmmipstreamutils.so +system_ext/lib64/libmmQSM.so +system_ext/lib64/libmsp.so +system_ext/lib64/liboemaids_system.so +system_ext/lib64/libOpenCL_system.so +system_ext/lib64/libqcc.so +system_ext/lib64/libqcc_file_agent_sys.so +system_ext/lib64/libqcomfm_jni.so +system_ext/lib64/libqdMetaData.so +system_ext/lib64/libqmi_cci_system.so +system_ext/lib64/libqmi_encdec_system.so +system_ext/lib64/libQOC.qti.so +system_ext/lib64/libQSEEComAPI_system.so +system_ext/lib64/libqspmsvc.so +system_ext/lib64/libqti-at.so +system_ext/lib64/libqti-iopd-client_system.so +system_ext/lib64/libqti_vndfwk_detect.so +system_ext/lib64/libqti_workloadclassifiermodel.so +system_ext/lib64/libqvrcamera_client.qti.so +system_ext/lib64/libqvrservice_client.qti.so +system_ext/lib64/libqvrservice_ov7251_hvx_tuning.so +system_ext/lib64/libqvrservice_ov9282_hvx_tuning.so +system_ext/lib64/libqvrservice_v4l_ov7251_hvx_tuning.so +system_ext/lib64/libsdm-disp-apis.qti.so +system_ext/lib64/libsdsprpc_system.so +system_ext/lib64/libsd_sdk_display.qti.so +system_ext/lib64/libseccam-ipc.so +system_ext/lib64/libseccam.so +system_ext/lib64/libseccamservice.so +system_ext/lib64/libsecureuisvc_jni.so +system_ext/lib64/libsecureui_svcsock_system.so +system_ext/lib64/libskewknob_system.so +system_ext/lib64/libsmomo.qti.so +system_ext/lib64/libsystemhelper_jni.so +system_ext/lib64/libtrigger-handler.so +system_ext/lib64/libupdateprof.qti.so +system_ext/lib64/libvndfwk_detect_jni.qti.so +system_ext/lib64/libvraudio.so +system_ext/lib64/libvraudio_client.qti.so +system_ext/lib64/libvr_amb_engine.so +system_ext/lib64/libvr_object_engine.so +system_ext/lib64/libvr_sam_wrapper.so +system_ext/lib64/vendor.qti.diaghal@1.0.so +system_ext/lib64/vendor.qti.hardware.cryptfshw@1.0.so +system_ext/lib64/vendor.qti.hardware.dsp@1.0.so +system_ext/lib64/vendor.qti.hardware.embmssl@1.0-adapter-helper.so +system_ext/lib64/vendor.qti.hardware.embmssl@1.0.so +system_ext/lib64/vendor.qti.hardware.qccsyshal@1.0-halimpl.so +system_ext/lib64/vendor.qti.hardware.qccsyshal@1.0.so +system_ext/lib64/vendor.qti.hardware.qccvndhal@1.0.so +system_ext/lib64/vendor.qti.hardware.qseecom@1.0.so +system_ext/lib64/vendor.qti.hardware.qteeconnector@1.0.so +system_ext/lib64/vendor.qti.hardware.seccam@1.0.so +system_ext/lib64/vendor.qti.hardware.secureprocessor.common@1.0.so +system_ext/lib64/vendor.qti.hardware.secureprocessor.config@1.0.so +system_ext/lib64/vendor.qti.hardware.secureprocessor.device@1.0.so +system_ext/lib64/vendor.qti.hardware.slmadapter@1.0.so +system_ext/lib64/vendor.qti.hardware.systemhelper@1.0.so +system_ext/lib64/vendor.qti.qspmhal@1.0.so +-system_ext/priv-app/beyondGnssService/beyondGnssService.apk +-system_ext/priv-app/CarrierConfig/CarrierConfig.apk +-system_ext/priv-app/EmergencyInfo/EmergencyInfo.apk +-system_ext/priv-app/GoogleFeedback/GoogleFeedback.apk +-system_ext/priv-app/GoogleOneTimeInitializer/GoogleOneTimeInitializer.apk +-system_ext/priv-app/GoogleServicesFramework/GoogleServicesFramework.apk +system_ext/priv-app/ims/lib/arm64/libimscamera_jni.so +system_ext/priv-app/ims/lib/arm64/libimsmedia_jni.so +-system_ext/priv-app/seccamservice/seccamservice.apk +-system_ext/priv-app/Settings/Settings.apk +-system_ext/priv-app/SetupWizard/SetupWizard.apk +-system_ext/priv-app/StorageManager/StorageManager.apk +-system_ext/priv-app/WallpaperCropper/WallpaperCropper.apk +-vendor/app/CACertService/CACertService.apk +-vendor/app/com.qualcomm.qti.gpudrivers.msmnile.api30/com.qualcomm.qti.gpudrivers.msmnile.api30.apk +-vendor/app/IconShapeOverlay/IconShapeOverlay.apk +-vendor/app/NotchOverlay/NotchOverlay.apk +-vendor/app/pasrservice/pasrservice.apk +vendor/bin/adpl +vendor/bin/applypatch +vendor/bin/athdiag +vendor/bin/batteryd +vendor/bin/batterysecret +vendor/bin/boringssl_self_test32 +vendor/bin/boringssl_self_test64 +vendor/bin/ccid_daemon +vendor/bin/charge_logger +vendor/bin/chattr +vendor/bin/cplay +vendor/bin/devmem +vendor/bin/diag_callback_sample +vendor/bin/diag_dci_sample +vendor/bin/diag_klog +vendor/bin/diag_mdlog +vendor/bin/diag_socket_log +vendor/bin/diag_uart_log +vendor/bin/dspservice +vendor/bin/dumpsys +vendor/bin/embmsslServer +vendor/bin/e_loop +vendor/bin/fmconfig +vendor/bin/fmfactorytest +vendor/bin/fmfactorytestserver +vendor/bin/fsync +vendor/bin/getconf +vendor/bin/hal_proxy_daemon +vendor/bin/hw/capabilityconfigstoretest +vendor/bin/hw/vendor.qti.hardware.cryptfshw@1.0-service-qti +vendor/bin/hw/vendor.qti.hardware.qccvndhal@1.0-service +vendor/bin/hw/vendor.qti.hardware.qseecom@1.0-service +vendor/bin/hw/vendor.qti.hardware.servicetracker@1.2-service +vendor/bin/hw/vendor.qti.hardware.trustedui@1.0-service-qti +vendor/bin/i2cdetect +vendor/bin/i2cdump +vendor/bin/i2cget +vendor/bin/i2cset +vendor/bin/iconv +vendor/bin/install +vendor/bin/ipacm-diag +vendor/bin/KmInstallKeybox +vendor/bin/ks +vendor/bin/loadalgo +vendor/bin/lsattr +vendor/bin/mdm_helper_proxy +vendor/bin/minidump64 +vendor/bin/MI_IC +vendor/bin/mm-vidc-omx-test +vendor/bin/mutualex +vendor/bin/myftm +vendor/bin/nc +vendor/bin/netcat +vendor/bin/nproc +vendor/bin/npu_launcher +vendor/bin/nsenter +vendor/bin/pktlogconf +vendor/bin/PktRspTest +vendor/bin/pnscr +vendor/bin/poweroffm64 +vendor/bin/ppd +vendor/bin/qcc-trd +vendor/bin/qdcmss +vendor/bin/qseecom_sample_client +vendor/bin/qtigetprop +vendor/bin/qtisetprop +vendor/bin/readelf +vendor/bin/secure_ui_sample_client +vendor/bin/shsusrd +vendor/bin/sigma_dut +vendor/bin/spectraltool +vendor/bin/sscrpcd +vendor/bin/ssgtzd +vendor/bin/test +vendor/bin/test_diag +vendor/bin/tloc_daemon +vendor/bin/TrustedUISampleTest +vendor/bin/unlink +vendor/bin/unshare +vendor/bin/uuidgen +vendor/bin/vendor_cmd_tool +vendor/bin/vppservice +vendor/bin/vsimd +vendor/bin/watch +vendor/bin/wfdhdcphalservice +vendor/bin/wfdvndservice +vendor/bin/wifilearner +vendor/bin/xtwifi-client +vendor/bin/xtwifi-inet-agent +vendor/build_bhima.prop +vendor/build_vayu.prop +-vendor/data-app/GlobalFashiongallery/GlobalFashiongallery.apk +-vendor/data-app/wps_lite/wps_lite.apk +-vendor/data-app/XMRemoteController/XMRemoteController.apk +vendor/etc/calib.config +vendor/etc/charger_fstab.qti +vendor/etc/configstore/vpp.configstore.xml +vendor/etc/configstore/wigig.xml +vendor/etc/default-permissions/com.qualcomm.qti.cne.xml +vendor/etc/device_features/bhima.xml +vendor/etc/device_features/vayu.xml +vendor/etc/excluded-input-devices.xml +vendor/etc/ftm_test_config_qrd +vendor/etc/gnss_antenna_info.conf +vendor/etc/gpfspath_oem_config.xml +vendor/etc/hdr_config.cfg +vendor/etc/hostapd/hostapd.accept +vendor/etc/hostapd/hostapd.deny +vendor/etc/hostapd/hostapd_default.conf +vendor/etc/init.qti.fm.sh +vendor/etc/init/boringssl_self_test.rc +vendor/etc/init/dataadpl.rc +vendor/etc/init/dataqti.rc +vendor/etc/init/dpmQmiMgr.rc +vendor/etc/init/exfat.rc +vendor/etc/init/imsdatadaemon.rc +vendor/etc/init/imsqmidaemon.rc +vendor/etc/init/imsrcsd.rc +vendor/etc/init/ims_rtp_daemon.rc +vendor/etc/init/init-qcril-data.rc +vendor/etc/init/init.embmssl_server.rc +vendor/etc/init/init.qdmastats.rc +vendor/etc/init/init.qti.qcv.rc +vendor/etc/init/init.spdaemon.rc +vendor/etc/init/init.time_daemon.rc +vendor/etc/init/init.vendor.sensors.rc +vendor/etc/init/ipacm-diag.rc +vendor/etc/init/ipacm.rc +vendor/etc/init/ipa_fws.rc +vendor/etc/init/minidump.rc +vendor/etc/init/mi_ic.rc +vendor/etc/init/mutualex.rc +vendor/etc/init/netmgrd.rc +vendor/etc/init/port-bridge.rc +vendor/etc/init/qdcmss.rc +vendor/etc/init/qseecomd.rc +vendor/etc/init/shsusrd.rc +vendor/etc/init/ssgtzd.rc +vendor/etc/init/tloc_daemon.rc +vendor/etc/init/vendor.qti.adsprpc-service.rc +vendor/etc/init/vendor.qti.hardware.charger_monitor@1.0-service.rc +vendor/etc/init/vendor.qti.hardware.cryptfshw@1.0-service-qti.rc +vendor/etc/init/vendor.qti.hardware.dsp@1.0-service.rc +vendor/etc/init/vendor.qti.hardware.qccvndhal@1.0-service.rc +vendor/etc/init/vendor.qti.hardware.qseecom@1.0-service.rc +vendor/etc/init/vendor.qti.hardware.servicetracker@1.2-service.rc +vendor/etc/init/vendor.qti.hardware.trustedui@1.0-service-qti.rc +vendor/etc/init/vendor.qti.rmt_storage.rc +vendor/etc/init/vendor.qti.tftp.rc +vendor/etc/init/vendor.sensors.qti.rc +vendor/etc/init/vendor.sensors.sscrpcd.rc +vendor/etc/init/vendor_flash_recovery.rc +vendor/etc/init/vppservice.rc +vendor/etc/init/wfdvndservice.rc +vendor/etc/lm/AdaptLaunchFeature.xml +vendor/etc/lm/AppClassifierFeature.xml +vendor/etc/lm/GameOptimizationFeature.xml +vendor/etc/NOTICE_GPL.html.gz +vendor/etc/permissions/vendor.qti.hardware.factory.xml +vendor/etc/pm_test_item_config.xml +vendor/etc/qvaconfig.xml +vendor/etc/rcv_pb.wav +vendor/etc/screen_light.xml +vendor/etc/sdr_config.cfg +vendor/etc/sn100u_pnx_cui.pnscr +vendor/etc/sn100u_pnx_ese_3.pnscr +vendor/etc/sn100u_pnx_ndi.pnscr +vendor/etc/sn100u_pnx_pcv.pnscr +vendor/etc/sn100u_pnx_sst.pnscr +vendor/etc/spk_cal_pinknoise.wav +vendor/etc/spk_cal_silence.wav +vendor/etc/spk_cal_sweep.wav +vendor/etc/spk_cal_whitenoise.wav +vendor/etc/spk_hp.wav +vendor/etc/ssg/ta_config.json +vendor/etc/ssg/tz_whitelist.json +vendor/etc/tzlog.dict +vendor/etc/XiaoAiNiZaiNa.uim +vendor/etc/XiaoAiTongXue.uim +vendor/lib/btaudio_offload_if.so +vendor/lib/carwatchdog_aidl_interface-V2-ndk_platform.so +vendor/lib/hw/displayfeature.default.so +vendor/lib/hw/vendor.qti.hardware.qccvndhal@1.0-impl.so +vendor/lib/hw/vendor.qti.hardware.qseecom@1.0-impl.so +vendor/lib/hw/vendor.qti.hardware.servicetracker@1.2-impl.so +vendor/lib/lib-rcsconfig.so +vendor/lib/liba2dpoffload.so +vendor/lib/libadreno_app_profiles.so +vendor/lib/libalAILDC.so +vendor/lib/libalCFR.so +vendor/lib/libalRnBRT_GL_GBWRAPPER.so +vendor/lib/libavservices_minijail.so +vendor/lib/libbatterylistener.so +vendor/lib/libcacertclient.so +vendor/lib/libcert_parse.wpa_s.so +vendor/lib/libcheckpid.so +vendor/lib/libchrome.so +vendor/lib/libclient2slpi.notifier.so +vendor/lib/libcodec2_hidl@1.0.so +vendor/lib/libcodec2_vndk.so +vendor/lib/libcomprcapture.so +vendor/lib/libcryptfshwcommon.so +vendor/lib/libcryptfshwhidl.so +vendor/lib/libdiagjni.so +vendor/lib/libdisplayconfig.qti.so +vendor/lib/libdng_sdk.so +vendor/lib/libexthwplugin.so +vendor/lib/libfastcrc.so +vendor/lib/libFileMux_proprietary.so +vendor/lib/libft2vendor.so +vendor/lib/libGLESv2_adreno.so +vendor/lib/libgpudataproducer.so +vendor/lib/libgralloc.qti.so +vendor/lib/libhdmiedid.so +vendor/lib/libhdmipassthru.so +vendor/lib/libhfp.so +vendor/lib/libhidltransport.so +vendor/lib/libhta_hexagon_runtime.so +vendor/lib/libhwbinder.so +vendor/lib/libjnihelper.so +vendor/lib/liblogwrap_vendor.so +vendor/lib/libmmrtpdecoder_proprietary.so +vendor/lib/libmmrtpencoder_proprietary.so +vendor/lib/libmt.so +vendor/lib/libnanopb.so +vendor/lib/libnative-api.so +vendor/lib/libnpu.so +vendor/lib/libopenvx.so +vendor/lib/libopus.so +vendor/lib/libperfconfig.so +vendor/lib/libperfioctl.so +vendor/lib/libprotobuf-cpp-full-3.9.1.so +vendor/lib/libprotobuf-cpp-lite-3.9.1.so +vendor/lib/libqcbor.so +vendor/lib/libqcc_file_agent.so +vendor/lib/libqcodec2.so +vendor/lib/libqcrildatactl.so +vendor/lib/libqdma_file_agent.so +vendor/lib/libqti_vndfwk_detect.so +vendor/lib/libril-qc-logger.so +vendor/lib/libsdk_sr.so +vendor/lib/libskewknob.so +vendor/lib/libsmemlog.so +vendor/lib/libsndmonitor.so +vendor/lib/libsns_registry_skel.so +vendor/lib/libsoc_helper.so +vendor/lib/libsoc_helper_jni.so +vendor/lib/libspkrprot.so +vendor/lib/libssrec.so +vendor/lib/libstagefright_amrnb_common.so +vendor/lib/libstagefright_bufferpool@2.0.1.so +vendor/lib/libstagefright_enc_common.so +vendor/lib/libstagefright_flacdec.so +vendor/lib/libstagefright_softomx.so +vendor/lib/libstagefright_softomx_plugin.so +vendor/lib/libstagefright_soft_aacdec.so +vendor/lib/libstagefright_soft_aacenc.so +vendor/lib/libstagefright_soft_amrdec.so +vendor/lib/libstagefright_soft_amrnbenc.so +vendor/lib/libstagefright_soft_amrwbenc.so +vendor/lib/libstagefright_soft_avcdec.so +vendor/lib/libstagefright_soft_avcenc.so +vendor/lib/libstagefright_soft_flacdec.so +vendor/lib/libstagefright_soft_flacenc.so +vendor/lib/libstagefright_soft_g711dec.so +vendor/lib/libstagefright_soft_gsmdec.so +vendor/lib/libstagefright_soft_hevcdec.so +vendor/lib/libstagefright_soft_mp3dec.so +vendor/lib/libstagefright_soft_mpeg4dec.so +vendor/lib/libstagefright_soft_mpeg4enc.so +vendor/lib/libstagefright_soft_opusdec.so +vendor/lib/libstagefright_soft_rawdec.so +vendor/lib/libstagefright_soft_vorbisdec.so +vendor/lib/libstagefright_soft_vpxdec.so +vendor/lib/libstagefright_soft_vpxenc.so +vendor/lib/libsynergy_loc_api.so +vendor/lib/libteeclientjni.so +vendor/lib/libTouchInputVM.so +vendor/lib/libtrustedapploader.so +vendor/lib/libTrustedInput.so +vendor/lib/libTrustedInputTZ.so +vendor/lib/libTrustedUI.so +vendor/lib/libTrustedUITZ.so +vendor/lib/libultrasound.so +vendor/lib/libvideofilter_only.so +vendor/lib/libVkLayer_q3dtools.so +vendor/lib/libvndfwk_detect_jni.qti.so +vendor/lib/libvorbisidec.so +vendor/lib/libvpx.so +vendor/lib/libwapi_cert.so +vendor/lib/libwifi-hal-ctrl.so +vendor/lib/libwvkeybox.so +vendor/lib/lib_sr_models.so +vendor/lib/qtimutex.so +vendor/lib/unnhal-acc-hta.so +vendor/lib/vendor.qti.hardware.automotive.vehicle@1.0.so +vendor/lib/vendor.qti.hardware.cacert@1.0.so +vendor/lib/vendor.qti.hardware.cryptfshw@1.0.so +vendor/lib/vendor.qti.hardware.dsp@1.0.so +vendor/lib/vendor.qti.hardware.qccsyshal@1.0.so +vendor/lib/vendor.qti.hardware.qccvndhal@1.0-halimpl.so +vendor/lib/vendor.qti.hardware.qccvndhal@1.0.so +vendor/lib/vendor.qti.hardware.qseecom@1.0.so +vendor/lib/vendor.qti.hardware.servicetracker@1.0.so +vendor/lib/vendor.qti.hardware.servicetracker@1.1.so +vendor/lib/vendor.qti.hardware.servicetracker@1.2.so +vendor/lib/vendor.qti.hardware.slmadapter@1.0.so +vendor/lib/vendor.qti.hardware.systemhelper@1.0.so +vendor/lib/vendor.qti.hardware.trustedui@1.0.so +vendor/lib/vndk/libxlog.so +vendor/lib64/btaudio_offload_if.so +vendor/lib64/carwatchdog_aidl_interface-V2-ndk_platform.so +vendor/lib64/deviceInfoServiceModule.so +vendor/lib64/hw/displayfeature.default.so +vendor/lib64/hw/vendor.qti.hardware.qccvndhal@1.0-impl.so +vendor/lib64/hw/vendor.qti.hardware.qseecom@1.0-impl.so +vendor/lib64/hw/vendor.qti.hardware.servicetracker@1.2-impl.so +vendor/lib64/lib-rcsconfig.so +vendor/lib64/liba2dpoffload.so +vendor/lib64/libadreno_app_profiles.so +vendor/lib64/libalAILDC.so +vendor/lib64/libalCFR.so +vendor/lib64/libalhLDC.so +vendor/lib64/libalLDC.so +vendor/lib64/libalRnBRT_GL_GBWRAPPER.so +vendor/lib64/libappclassifier.so +vendor/lib64/libarcdualcamsat.so +vendor/lib64/libavservices_minijail.so +vendor/lib64/libbatterylistener.so +vendor/lib64/libc++_shared_dirty.so +vendor/lib64/libcacertclient.so +vendor/lib64/libcalculator.so +vendor/lib64/libcdfw.so +vendor/lib64/libcdfw_remote_api.so +vendor/lib64/libcert_parse.wpa_s.so +vendor/lib64/libcheckpid.so +vendor/lib64/libchrome.so +vendor/lib64/libclient2slpi.notifier.so +vendor/lib64/libcodec2_hidl@1.0.so +vendor/lib64/libcodec2_vndk.so +vendor/lib64/libcomprcapture.so +vendor/lib64/libcryptfshwcommon.so +vendor/lib64/libcryptfshwhidl.so +vendor/lib64/libdiagjni.so +vendor/lib64/libdisplayconfig.qti.so +vendor/lib64/libdng_sdk.so +vendor/lib64/libembmsservice.so +vendor/lib64/libexthwplugin.so +vendor/lib64/libft2vendor.so +vendor/lib64/libgameoptfeature.so +vendor/lib64/libGLESv2_adreno.so +vendor/lib64/libgpudataproducer.so +vendor/lib64/libgralloc.qti.so +vendor/lib64/libhdmiedid.so +vendor/lib64/libhdmipassthru.so +vendor/lib64/libhfp.so +vendor/lib64/libhidltransport.so +vendor/lib64/libhta.so +vendor/lib64/libhta_hexagon_runtime.so +vendor/lib64/libhwbinder.so +vendor/lib64/libjnihelper.so +vendor/lib64/libloadalgo_stub.so +vendor/lib64/liblogwrap_vendor.so +vendor/lib64/libmdmimgload.so +vendor/lib64/libmiai_portraitsupernight.so +vendor/lib64/libmi_supernight_raw.so +vendor/lib64/libmi_supernight_raw_checker.so +vendor/lib64/libmt.so +vendor/lib64/libmt@1.2.so +vendor/lib64/libnanopb.so +vendor/lib64/libnative-api.so +vendor/lib64/libnpu.so +vendor/lib64/libopenvx.so +vendor/lib64/libpcap.so +vendor/lib64/libperfconfig.so +vendor/lib64/libperfioctl.so +vendor/lib64/libPlatformValidatorShared.so +vendor/lib64/libprotobuf-cpp-full-3.9.1.so +vendor/lib64/libprotobuf-cpp-lite-3.9.1.so +vendor/lib64/libqcbor.so +vendor/lib64/libqcc_file_agent.so +vendor/lib64/libqcodec2.so +vendor/lib64/libqcrildatactl.so +vendor/lib64/libqti_vndfwk_detect.so +vendor/lib64/librawnrv2_shared.so +vendor/lib64/libreffeature.so +vendor/lib64/librelight_only.so +vendor/lib64/libril-qc-logger.so +vendor/lib64/libsdk_sr.so +vendor/lib64/libskewknob.so +vendor/lib64/libsmemlog.so +vendor/lib64/libsndmonitor.so +vendor/lib64/libsns_registry_skel.so +vendor/lib64/libsoc_helper.so +vendor/lib64/libsoc_helper_jni.so +vendor/lib64/libspkrprot.so +vendor/lib64/libssrec.so +vendor/lib64/libstagefright_bufferpool@2.0.1.so +vendor/lib64/libstagefright_softomx.so +vendor/lib64/libsynergy_loc_api.so +vendor/lib64/libteeclientjni.so +vendor/lib64/libTouchInputVM.so +vendor/lib64/libtrustedapploader.so +vendor/lib64/libTrustedInput.so +vendor/lib64/libTrustedInputTZ.so +vendor/lib64/libTrustedUI.so +vendor/lib64/libTrustedUITZ.so +vendor/lib64/libultrasound.so +vendor/lib64/libvideoBokeh.so +vendor/lib64/libvideofilter_only.so +vendor/lib64/libVkLayer_q3dtools.so +vendor/lib64/libvndfwk_detect_jni.qti.so +vendor/lib64/libwapi_cert.so +vendor/lib64/libwifi-hal-ctrl.so +vendor/lib64/libwvkeybox.so +vendor/lib64/lib_sr_models.so +vendor/lib64/qtibus.so +vendor/lib64/qtimutex.so +vendor/lib64/rfsa/adsp/libsns_device_mode_skel.so +vendor/lib64/rfsa/adsp/libsns_low_lat_stream_skel.so +vendor/lib64/unnhal-acc-adreno.so +vendor/lib64/unnhal-acc-common.so +vendor/lib64/unnhal-acc-hta.so +vendor/lib64/unnhal-acc-hvx.so +vendor/lib64/vendor.qti.hardware.automotive.vehicle@1.0.so +vendor/lib64/vendor.qti.hardware.cacert@1.0.so +vendor/lib64/vendor.qti.hardware.cryptfshw@1.0.so +vendor/lib64/vendor.qti.hardware.dsp@1.0.so +vendor/lib64/vendor.qti.hardware.embmssl@1.0-adapter-helper.so +vendor/lib64/vendor.qti.hardware.embmssl@1.0.so +vendor/lib64/vendor.qti.hardware.fstman@1.0.so +vendor/lib64/vendor.qti.hardware.qccsyshal@1.0.so +vendor/lib64/vendor.qti.hardware.qccvndhal@1.0-halimpl.so +vendor/lib64/vendor.qti.hardware.qccvndhal@1.0.so +vendor/lib64/vendor.qti.hardware.qseecom@1.0.so +vendor/lib64/vendor.qti.hardware.servicetracker@1.0.so +vendor/lib64/vendor.qti.hardware.servicetracker@1.1.so +vendor/lib64/vendor.qti.hardware.servicetracker@1.2.so +vendor/lib64/vendor.qti.hardware.slmadapter@1.0.so +vendor/lib64/vendor.qti.hardware.systemhelper@1.0.so +vendor/lib64/vendor.qti.hardware.trustedui@1.0.so +vendor/odm diff --git a/rootdir/Android.mk b/rootdir/Android.mk new file mode 100644 index 0000000..a779193 --- /dev/null +++ b/rootdir/Android.mk @@ -0,0 +1,283 @@ +LOCAL_PATH := $(call my-dir) +include $(CLEAR_VARS) + +include $(CLEAR_VARS) +LOCAL_MODULE := capture.sh +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_SRC_FILES := bin/capture.sh +LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES) +include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := capture_1adc.sh +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_SRC_FILES := bin/capture_1adc.sh +LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES) +include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := capture_headset.sh +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_SRC_FILES := bin/capture_headset.sh +LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES) +include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := headsetstate.sh +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_SRC_FILES := bin/headsetstate.sh +LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES) +include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := init.class_main.sh +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_SRC_FILES := bin/init.class_main.sh +LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES) +include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := init.crda.sh +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_SRC_FILES := bin/init.crda.sh +LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES) +include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := init.mdm.sh +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_SRC_FILES := bin/init.mdm.sh +LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES) +include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := init.mi.usb.sh +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_SRC_FILES := bin/init.mi.usb.sh +LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES) +include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := init.qcom.class_core.sh +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_SRC_FILES := bin/init.qcom.class_core.sh +LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES) +include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := init.qcom.coex.sh +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_SRC_FILES := bin/init.qcom.coex.sh +LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES) +include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := init.qcom.early_boot.sh +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_SRC_FILES := bin/init.qcom.early_boot.sh +LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES) +include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := init.qcom.efs.sync.sh +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_SRC_FILES := bin/init.qcom.efs.sync.sh +LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES) +include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := init.qcom.post_boot.sh +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_SRC_FILES := bin/init.qcom.post_boot.sh +LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES) +include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := init.qcom.sdio.sh +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_SRC_FILES := bin/init.qcom.sdio.sh +LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES) +include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := init.qcom.sensors.sh +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_SRC_FILES := bin/init.qcom.sensors.sh +LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES) +include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := init.qcom.sh +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_SRC_FILES := bin/init.qcom.sh +LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES) +include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := init.qcom.usb.sh +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_SRC_FILES := bin/init.qcom.usb.sh +LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES) +include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := init.qti.chg_policy.sh +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_SRC_FILES := bin/init.qti.chg_policy.sh +LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES) +include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := init.qti.dcvs.sh +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_SRC_FILES := bin/init.qti.dcvs.sh +LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES) +include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := init.qti.qcv.sh +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_SRC_FILES := bin/init.qti.qcv.sh +LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES) +include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := install-recovery.sh +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_SRC_FILES := bin/install-recovery.sh +LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES) +include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := mishow.sh +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_SRC_FILES := bin/mishow.sh +LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES) +include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := playback.sh +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_SRC_FILES := bin/playback.sh +LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES) +include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := playback_headset.sh +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_SRC_FILES := bin/playback_headset.sh +LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES) +include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := qca6234-service.sh +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_SRC_FILES := bin/qca6234-service.sh +LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES) +include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := setup_headsetmic2headphone.sh +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_SRC_FILES := bin/setup_headsetmic2headphone.sh +LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES) +include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := setup_mainmic2headphone.sh +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_SRC_FILES := bin/setup_mainmic2headphone.sh +LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES) +include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := setup_topmic2headphone.sh +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_SRC_FILES := bin/setup_topmic2headphone.sh +LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES) +include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := teardown_loopback.sh +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_SRC_FILES := bin/teardown_loopback.sh +LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES) +include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := init.qcom.factory.rc +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_SRC_FILES := etc/init.qcom.factory.rc +LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init/hw +include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := init.qcom.rc +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_SRC_FILES := etc/init.qcom.rc +LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init/hw +include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := init.qcom.usb.rc +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_SRC_FILES := etc/init.qcom.usb.rc +LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init/hw +include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := init.target.rc +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_SRC_FILES := etc/init.target.rc +LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init/hw +include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := fstab.qcom +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_SRC_FILES := etc/fstab.qcom +LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC) +include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := ueventd.qcom.rc +LOCAL_MODULE_STEM := ueventd.rc +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_SRC_FILES := etc/ueventd.qcom.rc +LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR) +include $(BUILD_PREBUILT) diff --git a/rootdir/bin/capture.sh b/rootdir/bin/capture.sh new file mode 100644 index 0000000..d3e916a --- /dev/null +++ b/rootdir/bin/capture.sh @@ -0,0 +1,217 @@ +# $1: audio source +# main-mic: main mic +# top-mic: top mic +# back-mic: back mic +# front-mic: front mic +# us: ultrasound +# $2: sample rate(Hz) +# $3: sample bit +# $4: channel number +# $5: capture duration(s) +# tinycap file.wav [-D card] [-d device] [-c channels] [-r rate] [-b bits] [-p period_size] [-n n_periods] [-t duration] +# sample usage: capture.sh main-mic 48000 16 2 10 + +rate=KHZ_192 +filename=/sdcard/unknown_mic.wav + + +case "$2" in + "48000" ) + rate=KHZ_48 + ;; + "96000" ) + rate=KHZ_96 + ;; + "192000" ) + rate=KHZ_192 + ;; +esac + +function enable_main_mic +{ + echo "enabling main mic" + tinymix 'SLIM_0_TX Channels' 'Two' + tinymix 'AIF1_CAP Mixer SLIM TX7' 1 + tinymix 'AIF1_CAP Mixer SLIM TX8' 1 + tinymix 'CDC_IF TX8 MUX' 'DEC8' + tinymix 'CDC_IF TX7 MUX' 'DEC7' + tinymix 'ADC MUX7' 'AMIC' + tinymix 'ADC MUX8' 'AMIC' + tinymix 'AMIC MUX8' 'ADC4' + tinymix 'AMIC MUX7' 'ADC3' + + tinymix 'AMIC4_5 SEL' 'AMIC4' + tinymix 'DEC8 Volume' 84 + tinymix 'ADC4 Volume' 5 + tinymix 'DEC7 Volume' 84 + tinymix 'ADC3 Volume' 5 +} + +function disable_main_mic +{ + echo "disabling main mic" + tinymix 'SLIM_0_TX Channels' 'One' + tinymix 'AIF1_CAP Mixer SLIM TX7' 0 + tinymix 'AIF1_CAP Mixer SLIM TX8' 0 + tinymix 'CDC_IF TX7 MUX' 'ZERO' + tinymix 'CDC_IF TX8 MUX' 'ZERO' + tinymix 'AMIC MUX8' 'ZERO' + tinymix 'AMIC MUX7' 'ZERO' + tinymix 'DEC7 Volume' 84 + tinymix 'ADC3 Volume' 8 + tinymix 'DEC8 Volume' 84 + tinymix 'ADC4 Volume' 8 +} + +function enable_top_mic +{ + echo "enabling top mic" + tinymix 'SLIM_0_TX Channels' 'Two' + tinymix 'AIF1_CAP Mixer SLIM TX7' 1 + tinymix 'AIF1_CAP Mixer SLIM TX8' 1 + tinymix 'CDC_IF TX7 MUX' 'DEC7' + tinymix 'CDC_IF TX8 MUX' 'DEC8' + tinymix 'ADC MUX7' 'AMIC' + tinymix 'ADC MUX8' 'AMIC' + tinymix 'AMIC MUX7' 'ADC1' + tinymix 'AMIC MUX8' 'ADC2' + tinymix 'External AMIC2 Mux' 'Dual_ADC' + tinymix 'ADC1 Volume' 5 + tinymix 'ADC2 Volume' 5 + tinymix 'DEC7 Volume' 84 + tinymix 'DEC8 Volume' 84 +} + +function disable_top_mic +{ + echo "disabling top mic" + tinymix 'SLIM_0_TX Channels' 'One' + tinymix 'AIF1_CAP Mixer SLIM TX7' 0 + tinymix 'AIF1_CAP Mixer SLIM TX8' 0 + tinymix 'CDC_IF TX8 MUX' 'ZERO' + tinymix 'CDC_IF TX7 MUX' 'ZERO' + tinymix 'AMIC MUX8' 'ZERO' + tinymix 'AMIC MUX7' 'ZERO' + tinymix 'External AMIC2 Mux' 'default' + tinymix 'DEC7 Volume' 84 + tinymix 'DEC8 Volume' 84 + tinymix 'ADC1 Volume' 8 + tinymix 'ADC2 Volume' 8 +} + +function enable_back_mic +{ + echo "PHONE HAS NO BACK MIC!" +} + +function disable_back_mic +{ + echo "PHONE HAS NO BACK MIC!" +} + +function enable_front_mic +{ + echo "PHONE HAS NO FRONT MIC!" +} + +function disable_front_mic +{ + echo "PHONE HAS NO FRONT MIC!" +} + +function enable_ultrasound_mic +{ + echo "enable ultrasound mic" + tinymix 'Audio Stream Capture 0 App Type Cfg' 69938 19 96000 3 + tinymix 'SLIM_0_TX Channels' 'One' + tinymix 'AIF1_CAP Mixer SLIM TX7' 1 + tinymix 'CDC_IF TX7 MUX' 'DEC7' + tinymix 'ADC MUX7' 'AMIC' + tinymix 'AMIC MUX7' 'ADC1' + tinymix 'ADC1 Volume' 6 + tinymix 'DEC7 Volume' 84 +} + +function disable_ultrasound_mic +{ + echo "disable ultrasound mic" + tinymix 'SLIM_0_TX Channels' 'One' + tinymix 'AIF1_CAP Mixer SLIM TX7' 0 + tinymix 'CDC_IF TX7 MUX' 'ZERO' + tinymix 'AMIC MUX7' 'ZERO' + tinymix 'DEC7 Volume' 84 + tinymix 'ADC1 Volume' 8 +} + +# setup +tinymix 'MultiMedia1 Mixer SLIM_0_TX' 1 +tinymix 'SLIM_0_TX SampleRate' $rate + +case "$1" in + "main-mic" ) + enable_main_mic + filename=/sdcard/main_mic.wav + ;; + "top-mic" ) + enable_top_mic + filename=/sdcard/top_mic.wav + ;; + "back-mic" ) + enable_back_mic + filename=/sdcard/back_mic.wav + ;; + "front-mic" ) + enable_front_mic + filename=/sdcard/front_mic.wav + ;; + "us" ) + enable_ultrasound_mic + filename=/sdcard/us_mic.wav + ;; + *) + echo "Usage: capture.sh main-mic 48000 16 2 10" + ;; +esac + +if [ -z "$6" ]; then + period_size=1024 +else + period_size=$6 +fi + +if [ -z "$7" ]; then + n_periods=4 +else + n_periods=$7 +fi + + +# start recording +echo "start recording" +tinycap $filename -r $2 -b $3 -t $5 -p $period_size -n $n_periods +ret=$? +if [ $ret -ne 0 ]; then + echo "tinycap done, return $ret" +fi + +# tear down +case "$1" in + "main-mic" ) + disable_main_mic + ;; + "top-mic" ) + disable_top_mic + ;; + "back-mic" ) + disable_back_mic + ;; + "front-mic" ) + disable_front_mic + ;; + "us" ) + disable_ultrasound_mic + ;; +esac + +tinymix 'MultiMedia1 Mixer SLIM_0_TX' 0 +tinymix 'SLIM_0_TX SampleRate' 'KHZ_48' diff --git a/rootdir/bin/capture_1adc.sh b/rootdir/bin/capture_1adc.sh new file mode 100644 index 0000000..688b581 --- /dev/null +++ b/rootdir/bin/capture_1adc.sh @@ -0,0 +1,134 @@ +# $1: wave file to write +# $2: audio source +# 0: default +# 1: main mic +# 2: top mic +# 3: back mic +# 4: front mic +# $3: sample rate(Hz) +# $4: sample bit +# $5: channel number +# $6: capture duration(s) +# tinycap file.wav [-D card] [-d device] [-c channels] [-r rate] [-b bits] [-p period_size] [-n n_periods] [-t duration] +# sample usage: capture_audio.sh /data/test1.wav 1 48000 16 2 10 + +rate=KHZ_192 + +case "$3" in + "48000" ) + rate=KHZ_48 + ;; + "96000" ) + rate=KHZ_96 + ;; + "192000" ) + rate=KHZ_192 + ;; +esac + +function enable_main_mic +{ + echo "enabling main mic" + tinymix 'AIF1_CAP Mixer SLIM TX7' 1 + tinymix 'CDC_IF TX7 MUX' 'DEC7' + tinymix 'SLIM_0_TX Channels' 'One' + tinymix 'ADC MUX7' 'AMIC' + tinymix 'AMIC MUX7' 'ADC3' + tinymix 'DEC7 Volume' 84 +} + +function disable_main_mic +{ + echo "disabling main mic" + tinymix 'SLIM_0_TX Channels' 'One' + tinymix 'AIF1_CAP Mixer SLIM TX7' 0 + tinymix 'CDC_IF TX7 MUX' 'ZERO' + tinymix 'AMIC MUX7' 'ZERO' + tinymix 'DEC7 Volume' 84 +} + +function enable_top_mic +{ + echo "enabling top mic" + tinymix 'AIF1_CAP Mixer SLIM TX7' 1 + tinymix 'CDC_IF TX7 MUX' 'DEC7' + tinymix 'SLIM_0_TX Channels' 'One' + tinymix 'ADC MUX7' 'AMIC' + tinymix 'AMIC MUX7' 'ADC1' + tinymix 'DEC7 Volume' 84 +} + +function disable_top_mic +{ + echo "disabling top mic" + tinymix 'SLIM_0_TX Channels' 'One' + tinymix 'AIF1_CAP Mixer SLIM TX7' 0 + tinymix 'CDC_IF TX7 MUX' 'ZERO' + tinymix 'AMIC MUX7' 'ZERO' + tinymix 'DEC7 Volume' 84 +} + +function enable_back_mic +{ + echo "PHONE HAS NO BACK MIC!" +} + +function disable_back_mic +{ + echo "PHONE HAS NO BACK MIC!" +} + +function enable_front_mic +{ + echo "PHONE HAS NO FRONT MIC!" +} + +function disable_front_mic +{ + echo "PHONE HAS NO FRONT MIC!" +} + +# setup +tinymix 'MultiMedia1 Mixer SLIM_0_TX' 1 +tinymix 'SLIM_0_TX SampleRate' $rate + +case "$2" in + "1" ) + enable_main_mic + ;; + "2" ) + enable_top_mic + ;; + "3" ) + enable_back_mic + ;; + "4" ) + enable_front_mic + ;; +esac + +# start recording +tinycap $1 -r $3 -b $4 -t $6 +ret=$? +if [ $ret -ne 0 ]; then + echo "tinycap done, return $ret" +fi + +# tear down +case "$2" in + "1" ) + disable_main_mic + ;; + "2" ) + disable_top_mic + ;; + "3" ) + disable_back_mic + ;; + "4" ) + disable_front_mic + ;; +esac + +tinymix 'MultiMedia1 Mixer SLIM_0_TX' 0 +tinymix 'SLIM_0_TX SampleRate' 'KHZ_48' diff --git a/rootdir/bin/capture_headset.sh b/rootdir/bin/capture_headset.sh new file mode 100644 index 0000000..75b4c5f --- /dev/null +++ b/rootdir/bin/capture_headset.sh @@ -0,0 +1,52 @@ +# $1: wave file to write +# $2: audio source +# 0: default +# 1: main mic +# 2: top mic +# 3: back mic +# 4: front mic +# $3: sample rate(Hz) +# $4: sample bit +# $5: channel number +# $6: capture duration(s) +# tinycap file.wav [-D card] [-d device] [-c channels] [-r rate] [-b bits] [-p period_size] [-n n_periods] [-t duration] +# sample usage: capture_audio.sh /data/test1.wav 1 48000 16 2 10 + +sleep 10 +rate=KHZ_48 + + +function enable_headset_mic +{ + echo "enabling main mic" + tinymix 'AIF1_CAP Mixer SLIM TX7' 1 + tinymix 'CDC_IF TX7 MUX' 'DEC7' + tinymix 'SLIM_0_TX Channels' 'One' + tinymix 'ADC MUX7' 'AMIC' + tinymix 'AMIC MUX7' 'ADC2' + tinymix 'DEC7 Volume' 84 +} + +function disable_headset_mic +{ + echo "disabling main mic" + tinymix 'SLIM_0_TX Channels' 'One' + tinymix 'AIF1_CAP Mixer SLIM TX7' 0 + tinymix 'CDC_IF TX7 MUX' 'ZERO' + tinymix 'AMIC MUX7' 'ZERO' + tinymix 'DEC7 Volume' 84 +} + +# setup +tinymix 'MultiMedia1 Mixer SLIM_0_TX' 1 +tinymix 'SLIM_0_TX SampleRate' $rate + +enable_headset_mic + +# start recording +tinycap /data/test1.wav -r 48000 -b 16 -t 10 + +disable_headset_mic + +tinymix 'MultiMedia1 Mixer SLIM_0_TX' 0 +tinymix 'SLIM_0_TX SampleRate' 'KHZ_48' diff --git a/rootdir/bin/headsetstate.sh b/rootdir/bin/headsetstate.sh new file mode 100644 index 0000000..e8362bb --- /dev/null +++ b/rootdir/bin/headsetstate.sh @@ -0,0 +1,10 @@ +#!/system/bin/sh +getevent -s /dev/input/event > /sdcard/list.out +line=`cat /sdcard/list.out|grep -n "Headset"|awk -F ':' '{print $1}'` +#echo $line +let headset_line=line-1 +#echo $headset_line +headset_event=`head -$headset_line /sdcard/list.out|tail -1|awk -F 'event' '{print $2}'` +#echo $headset_event +getevent -s $headset_event /dev/input/event$headset_event +rm /sdcard/list.out \ No newline at end of file diff --git a/rootdir/bin/init.class_main.sh b/rootdir/bin/init.class_main.sh new file mode 100644 index 0000000..35e72ef --- /dev/null +++ b/rootdir/bin/init.class_main.sh @@ -0,0 +1,153 @@ +#! /vendor/bin/sh + +# Copyright (c) 2013-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. +# + +# +# start ril-daemon only for targets on which radio is present +# +baseband=`getprop ro.baseband` +sgltecsfb=`getprop persist.vendor.radio.sglte_csfb` +datamode=`getprop persist.vendor.data.mode` +qcrild_status=true + +case "$baseband" in + "apq" | "sda" | "qcs" ) + setprop ro.vendor.radio.noril yes + stop ril-daemon + stop vendor.ril-daemon + stop vendor.qcrild +esac + +case "$baseband" in + "msm" | "csfb" | "svlte2a" | "mdm" | "mdm2" | "sglte" | "sglte2" | "dsda2" | "unknown" | "dsda3" | "sdm" | "sdx" | "sm6") + + # For older modem packages launch ril-daemon. + if [ -f /vendor/firmware_mnt/verinfo/ver_info.txt ]; then + modem=`cat /vendor/firmware_mnt/verinfo/ver_info.txt | + sed -n 's/^[^:]*modem[^:]*:[[:blank:]]*//p' | + sed 's/.*MPSS.\(.*\)/\1/g' | cut -d \. -f 1` + if [ "$modem" = "AT" ]; then + version=`cat /vendor/firmware_mnt/verinfo/ver_info.txt | + sed -n 's/^[^:]*modem[^:]*:[[:blank:]]*//p' | + sed 's/.*AT.\(.*\)/\1/g' | cut -d \- -f 1` + if [ ! -z $version ]; then + if [ "$version" \< "3.1" ]; then + qcrild_status=false + fi + fi + elif [ "$modem" = "TA" ]; then + version=`cat /vendor/firmware_mnt/verinfo/ver_info.txt | + sed -n 's/^[^:]*modem[^:]*:[[:blank:]]*//p' | + sed 's/.*TA.\(.*\)/\1/g' | cut -d \- -f 1` + if [ ! -z $version ]; then + if [ "$version" \< "3.0" ]; then + qcrild_status=false + fi + fi + elif [ "$modem" = "JO" ]; then + version=`cat /vendor/firmware_mnt/verinfo/ver_info.txt | + sed -n 's/^[^:]*modem[^:]*:[[:blank:]]*//p' | + sed 's/.*JO.\(.*\)/\1/g' | cut -d \- -f 1` + if [ ! -z $version ]; then + if [ "$version" \< "3.2" ]; then + qcrild_status=false + fi + fi + elif [ "$modem" = "TH" ]; then + qcrild_status=false + fi + fi + + if [ "$qcrild_status" = "true" ]; then + # Make sure both rild, qcrild are not running at same time. + # This is possible with vanilla aosp system image. + stop ril-daemon + stop vendor.ril-daemon + + start vendor.qcrild + else + start ril-daemon + start vendor.ril-daemon + fi + + case "$baseband" in + "svlte2a" | "csfb") + start qmiproxy + ;; + "sglte" | "sglte2" ) + if [ "x$sgltecsfb" != "xtrue" ]; then + start qmiproxy + else + setprop persist.vendor.radio.voice.modem.index 0 + fi + ;; + esac + + multisim=`getprop persist.radio.multisim.config` + + if [ "$multisim" = "dsds" ] || [ "$multisim" = "dsda" ]; then + if [ "$qcrild_status" = "true" ]; then + start vendor.qcrild2 + else + start vendor.ril-daemon2 + fi + elif [ "$multisim" = "tsts" ]; then + if [ "$qcrild_status" = "true" ]; then + start vendor.qcrild2 + start vendor.qcrild3 + else + start vendor.ril-daemon2 + start vendor.ril-daemon3 + fi + fi + + case "$datamode" in + "tethered") + start vendor.dataqti + start vendor.dataadpl + ;; + "concurrent") + start vendor.dataqti + start vendor.dataadpl + ;; + *) + ;; + esac +esac + +# +# Allow persistent faking of bms +# User needs to set fake bms charge in persist.vendor.bms.fake_batt_capacity +# +fake_batt_capacity=`getprop persist.vendor.bms.fake_batt_capacity` +case "$fake_batt_capacity" in + "") ;; #Do nothing here + * ) + echo "$fake_batt_capacity" > /sys/class/power_supply/battery/capacity + ;; +esac diff --git a/rootdir/bin/init.crda.sh b/rootdir/bin/init.crda.sh new file mode 100644 index 0000000..4264789 --- /dev/null +++ b/rootdir/bin/init.crda.sh @@ -0,0 +1,35 @@ +#! /vendor/bin/sh + +# Copyright (c) 2012, 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. +# + +country=`getprop wlan.crda.country` +# crda takes input in COUNTRY environment variable +if [ $country != "" ] +then +COUNTRY="$country" /system/bin/crda +fi diff --git a/rootdir/bin/init.mdm.sh b/rootdir/bin/init.mdm.sh new file mode 100644 index 0000000..3ed7ed5 --- /dev/null +++ b/rootdir/bin/init.mdm.sh @@ -0,0 +1,34 @@ +#! /vendor/bin/sh + +# Copyright (c) 2013, 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 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. +# + +baseband=`getprop ro.baseband` +if [ "$baseband" = "mdm" ] || [ "$baseband" = "mdm2" ]; then + start vendor.mdm_helper +fi + diff --git a/rootdir/bin/init.mi.usb.sh b/rootdir/bin/init.mi.usb.sh new file mode 100644 index 0000000..4d5a0b5 --- /dev/null +++ b/rootdir/bin/init.mi.usb.sh @@ -0,0 +1,7 @@ +#!/vendor/bin/sh +usb_config=`getprop vendor.usb.mimode` + +if [ "$(getprop persist.vendor.usb.config)" != "$usb_config" -a \ + "$(getprop ro.boot.factorybuild)" != "1" ];then + setprop persist.vendor.usb.config "$usb_config" +fi diff --git a/rootdir/bin/init.qcom.class_core.sh b/rootdir/bin/init.qcom.class_core.sh new file mode 100644 index 0000000..8f8265d --- /dev/null +++ b/rootdir/bin/init.qcom.class_core.sh @@ -0,0 +1,216 @@ +#!/vendor/bin/sh + +# Copyright (c) 2012-2013, 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. +# + +# Set platform variables +target=`getprop ro.board.platform` +if [ -f /sys/devices/soc0/hw_platform ]; then + soc_hwplatform=`cat /sys/devices/soc0/hw_platform` 2> /dev/null +else + soc_hwplatform=`cat /sys/devices/system/soc/soc0/hw_platform` 2> /dev/null +fi +if [ -f /sys/devices/soc0/soc_id ]; then + soc_hwid=`cat /sys/devices/soc0/soc_id` 2> /dev/null +else + soc_hwid=`cat /sys/devices/system/soc/soc0/id` 2> /dev/null +fi +if [ -f /sys/devices/soc0/platform_version ]; then + soc_hwver=`cat /sys/devices/soc0/platform_version` 2> /dev/null +else + soc_hwver=`cat /sys/devices/system/soc/soc0/platform_version` 2> /dev/null +fi + + +# Dynamic Memory Managment (DMM) provides a sys file system to the userspace +# that can be used to plug in/out memory that has been configured as unstable. +# This unstable memory can be in Active or In-Active State. +# Each of which the userspace can request by writing to a sys file. +# +# ro.dev.dmm = 1; Indicates that DMM is enabled in the Android User Space. This +# property is set in the Android system properties file. +# +# If ro.dev.dmm.dpd.start_address is set here then the target has a memory +# configuration that supports DynamicMemoryManagement. +init_DMM() +{ + block=-1 + + case "$target" in + "msm7630_surf" | "msm7630_1x" | "msm7630_fusion" | "msm8960") + ;; + *) + return + ;; + esac + + mem="/sys/devices/system/memory" + op=`cat $mem/movable_start_bytes` + case "$op" in + "0") + log -p i -t DMM DMM Disabled. movable_start_bytes not set: $op + ;; + + "$mem/movable_start_bytes: No such file or directory ") + log -p i -t DMM DMM Disabled. movable_start_bytes does not exist: $op + ;; + + *) + log -p i -t DMM DMM available. movable_start_bytes at $op + movable_start_bytes=0x`cat $mem/movable_start_bytes` + block_size_bytes=0x`cat $mem/block_size_bytes` + block=$((#${movable_start_bytes}/${block_size_bytes})) + + chown -h system.system $mem/memory$block/state + chown -h system.system $mem/probe + chown -h system.system $mem/active + chown -h system.system $mem/remove + + case "$target" in + "msm7630_surf" | "msm7630_1x" | "msm7630_fusion") + echo $movable_start_bytes > $mem/probe + case "$?" in + "0") + log -p i -t DMM $movable_start_bytes to physical hotplug succeeded. + ;; + *) + log -p e -t DMM $movable_start_bytes to physical hotplug failed. + return + ;; + esac + + echo online > $mem/memory$block/state + case "$?" in + "0") + log -p i -t DMM \'echo online\' to logical hotplug succeeded. + ;; + *) + log -p e -t DMM \'echo online\' to logical hotplug failed. + return + ;; + esac + ;; + esac + + setprop ro.dev.dmm.dpd.start_address $movable_start_bytes + setprop ro.dev.dmm.dpd.block $block + ;; + esac + + case "$target" in + "msm8960") + return + ;; + esac + + # For 7X30 targets: + # ro.dev.dmm.dpd.start_address is set when the target has a 2x256Mb memory + # configuration. This is also used to indicate that the target is capable of + # setting EBI-1 to Deep Power Down or Self Refresh. + op=`cat $mem/low_power_memory_start_bytes` + case "$op" in + "0") + log -p i -t DMM Self-Refresh-Only Disabled. low_power_memory_start_bytes not set:$op + ;; + "$mem/low_power_memory_start_bytes No such file or directory ") + log -p i -t DMM Self-Refresh-Only Disabled. low_power_memory_start_bytes does not exist:$op + ;; + *) + log -p i -t DMM Self-Refresh-Only available. low_power_memory_start_bytes at $op + ;; + esac +} + +# +# For controlling console and shell on console on 8960 - perist.serial.enable 8960 +# On other target use default ro.debuggable property. +# +serial=`getprop persist.serial.enable` +dserial=`getprop ro.debuggable` +case "$target" in + "msm8960") + case "$serial" in + "0") + echo 0 > /sys/devices/platform/msm_serial_hsl.0/console + ;; + "1") + echo 1 > /sys/devices/platform/msm_serial_hsl.0/console + start console + ;; + *) + case "$dserial" in + "1") + start console + ;; + esac + ;; + esac + ;; + + "msm8610" | "msm8974" | "msm8226") + case "$serial" in + "0") + echo 0 > /sys/devices/f991f000.serial/console + ;; + "1") + echo 1 > /sys/devices/f991f000.serial/console + start console + ;; + *) + case "$dserial" in + "1") + start console + ;; + esac + ;; + esac + ;; + *) + case "$dserial" in + "1") + start console + ;; + esac + ;; +esac + +case "$target" in + "msm7630_surf" | "msm7630_1x" | "msm7630_fusion") + insmod /system/lib/modules/ss_mfcinit.ko + insmod /system/lib/modules/ss_vencoder.ko + insmod /system/lib/modules/ss_vdecoder.ko + chmod -h 0666 /dev/ss_mfc_reg + chmod -h 0666 /dev/ss_vdec + chmod -h 0666 /dev/ss_venc + + init_DMM + ;; + + "msm8960") + init_DMM + ;; +esac diff --git a/rootdir/bin/init.qcom.coex.sh b/rootdir/bin/init.qcom.coex.sh new file mode 100644 index 0000000..a9a22f1 --- /dev/null +++ b/rootdir/bin/init.qcom.coex.sh @@ -0,0 +1,115 @@ +#! /vendor/bin/sh + +# Copyright (c) 2009-2010, 2012, 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. + +LOG_TAG="qcom-bt-wlan-coex" +LOG_NAME="${0}:" + +coex_pid="" +ath_wlan_supported=`getprop wlan.driver.ath` + +loge () +{ + /system/bin/log -t $LOG_TAG -p e "$LOG_NAME $@" +} + +logi () +{ + /system/bin/log -t $LOG_TAG -p i "$LOG_NAME $@" +} + +failed () +{ + loge "$1: exit code $2" + exit $2 +} + +start_coex () +{ + case "$ath_wlan_supported" in + "2") + echo "ATH WLAN Chip ID AR6004 is enabled" + /system/bin/abtfilt -d -z -n -m -a -w wlan0 & + ;; + "1") + echo "ATH WLAN Chip ID is enabled" + # Must have -d -z -n -v -s -w wlan0 parameters for atheros btfilter. + /system/bin/abtfilt -d -z -n -v -q -s -w wlan0 & + ;; + "0") + echo "WCN WLAN Chip ID is enabled" + # Must have -o turned on to avoid daemon (otherwise we cannot get pid) + /system/bin/btwlancoex -o $opt_flags & + ;; + *) + echo "NO WLAN Chip ID is enabled, so enabling ATH as default" + # Must have -d -z -n -v -s -w wlan0 parameters for atheros btfilter. + /system/bin/abtfilt -d -z -n -v -q -s -w wlan0 & + ;; + esac + coex_pid=$! + logi "start_coex: pid = $coex_pid" +} + +kill_coex () +{ + logi "kill_coex: pid = $coex_pid" + kill -TERM $coex_pid + # this shell doesn't exit now -- wait returns for normal exit +} + +# mimic coex options parsing -- maybe a waste of effort +USAGE="${0} [-o] [-c] [-r] [-i] [-h]" + +while getopts "ocrih" f +do + case $f in + o | c | r | i | h) opt_flags="$opt_flags -$f" ;; + \?) echo $USAGE; exit 1;; + esac +done + +# init does SIGTERM on ctl.stop for service +trap "kill_coex" TERM INT + +#Selectively start coex module +target=`getprop ro.board.platform` + +if [ "$target" == "msm8960" ] && [ "$ath_wlan_supported" != "2" ]; then + logi "btwlancoex/abtfilt is not needed" +else + # Build settings may not produce the coex executable + if ls /system/bin/btwlancoex || ls /system/bin/abtfilt + then + start_coex + wait $coex_pid + logi "Coex stopped" + else + logi "btwlancoex/abtfilt not available" + fi +fi +exit 0 diff --git a/rootdir/bin/init.qcom.early_boot.sh b/rootdir/bin/init.qcom.early_boot.sh new file mode 100644 index 0000000..e37bd86 --- /dev/null +++ b/rootdir/bin/init.qcom.early_boot.sh @@ -0,0 +1,514 @@ +#! /vendor/bin/sh + +# Copyright (c) 2012-2013,2016,2018-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 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. +# + +export PATH=/vendor/bin + +# Set platform variables +if [ -f /sys/devices/soc0/hw_platform ]; then + soc_hwplatform=`cat /sys/devices/soc0/hw_platform` 2> /dev/null +else + soc_hwplatform=`cat /sys/devices/system/soc/soc0/hw_platform` 2> /dev/null +fi +if [ -f /sys/devices/soc0/soc_id ]; then + soc_hwid=`cat /sys/devices/soc0/soc_id` 2> /dev/null +else + soc_hwid=`cat /sys/devices/system/soc/soc0/id` 2> /dev/null +fi +if [ -f /sys/devices/soc0/platform_version ]; then + soc_hwver=`cat /sys/devices/soc0/platform_version` 2> /dev/null +else + soc_hwver=`cat /sys/devices/system/soc/soc0/platform_version` 2> /dev/null +fi + +if [ -f /sys/class/drm/card0-DSI-1/modes ]; then + echo "detect" > /sys/class/drm/card0-DSI-1/status + mode_file=/sys/class/drm/card0-DSI-1/modes + while read line; do + fb_width=${line%%x*}; + break; + done < $mode_file +elif [ -f /sys/class/graphics/fb0/virtual_size ]; then + res=`cat /sys/class/graphics/fb0/virtual_size` 2> /dev/null + fb_width=${res%,*} +fi + +log -t BOOT -p i "MSM target '$1', SoC '$soc_hwplatform', HwID '$soc_hwid', SoC ver '$soc_hwver'" + +#For drm based display driver +vbfile=/sys/module/drm/parameters/vblankoffdelay +if [ -w $vbfile ]; then + echo -1 > $vbfile +else + log -t DRM_BOOT -p w "file: '$vbfile' or perms doesn't exist" +fi + +function set_density_by_fb() { + #put default density based on width + if [ -z $fb_width ]; then + setprop vendor.display.lcd_density 320 + else + if [ $fb_width -ge 1600 ]; then + setprop vendor.display.lcd_density 640 + elif [ $fb_width -ge 1440 ]; then + setprop vendor.display.lcd_density 560 + elif [ $fb_width -ge 1080 ]; then + setprop vendor.display.lcd_density 480 + elif [ $fb_width -ge 720 ]; then + setprop vendor.display.lcd_density 320 #for 720X1280 resolution + elif [ $fb_width -ge 480 ]; then + setprop vendor.display.lcd_density 240 #for 480X854 QRD resolution + else + setprop vendor.display.lcd_density 160 + fi + fi +} + +target=`getprop ro.board.platform` +case "$target" in + "msm7630_surf" | "msm7630_1x" | "msm7630_fusion") + case "$soc_hwplatform" in + "FFA" | "SVLTE_FFA") + # linking to surf_keypad_qwerty.kcm.bin instead of surf_keypad_numeric.kcm.bin so that + # the UI keyboard works fine. + ln -s /system/usr/keychars/surf_keypad_qwerty.kcm.bin /system/usr/keychars/surf_keypad.kcm.bin + ;; + "Fluid") + setprop vendor.display.lcd_density 240 + setprop qcom.bt.dev_power_class 2 + ;; + *) + ln -s /system/usr/keychars/surf_keypad_qwerty.kcm.bin /system/usr/keychars/surf_keypad.kcm.bin + ;; + esac + ;; + "sm6150") + case "$soc_hwplatform" in + "ADP") + setprop vendor.display.lcd_density 160 + ;; + esac + case "$soc_hwid" in + 365|366) + sku_ver=`cat /sys/devices/platform/soc/aa00000.qcom,vidc1/sku_version` 2> /dev/null + setprop vendor.media.target.version 1 + if [ $sku_ver -eq 1 ]; then + setprop vendor.media.target.version 2 + fi + ;; + 355|369|377|384) + setprop vendor.chre.enabled 0 + ;; + *) + esac + ;; + "msm8660") + case "$soc_hwplatform" in + "Fluid") + setprop vendor.display.lcd_density 240 + ;; + "Dragon") + setprop ro.sound.alsa "WM8903" + ;; + esac + ;; + + "msm8960") + # lcd density is write-once. Hence the separate switch case + case "$soc_hwplatform" in + "Liquid") + if [ "$soc_hwver" == "196608" ]; then # version 0x30000 is 3D sku + setprop ro.sf.hwrotation 90 + fi + + setprop vendor.display.lcd_density 160 + ;; + "MTP") + setprop vendor.display.lcd_density 240 + ;; + *) + case "$soc_hwid" in + "109") + setprop vendor.display.lcd_density 160 + ;; + *) + setprop vendor.display.lcd_density 240 + ;; + esac + ;; + esac + + #Set up composition type based on the target + case "$soc_hwid" in + 87) + #8960 + setprop debug.composition.type dyn + ;; + 153|154|155|156|157|138) + #8064 V2 PRIME | 8930AB | 8630AB | 8230AB | 8030AB | 8960AB + setprop debug.composition.type c2d + ;; + *) + esac + ;; + + "msm8974") + case "$soc_hwplatform" in + "Liquid") + setprop vendor.display.lcd_density 160 + # Liquid do not have hardware navigation keys, so enable + # Android sw navigation bar + setprop ro.hw.nav_keys 0 + ;; + "Dragon") + setprop vendor.display.lcd_density 240 + ;; + *) + setprop vendor.display.lcd_density 320 + ;; + esac + ;; + + "msm8226") + case "$soc_hwplatform" in + *) + setprop vendor.display.lcd_density 320 + ;; + esac + ;; + + "msm8610" | "apq8084" | "mpq8092") + case "$soc_hwplatform" in + *) + setprop vendor.display.lcd_density 240 + ;; + esac + ;; + "apq8084") + case "$soc_hwplatform" in + "Liquid") + setprop vendor.display.lcd_density 320 + # Liquid do not have hardware navigation keys, so enable + # Android sw navigation bar + setprop ro.hw.nav_keys 0 + ;; + "SBC") + setprop vendor.display.lcd_density 200 + # SBC do not have hardware navigation keys, so enable + # Android sw navigation bar + setprop qemu.hw.mainkeys 0 + ;; + *) + setprop vendor.display.lcd_density 480 + ;; + esac + ;; + "msm8996") + case "$soc_hwplatform" in + "Dragon") + setprop vendor.display.lcd_density 240 + setprop qemu.hw.mainkeys 0 + ;; + "ADP") + setprop vendor.display.lcd_density 160 + setprop qemu.hw.mainkeys 0 + ;; + "SBC") + setprop vendor.display.lcd_density 240 + setprop qemu.hw.mainkeys 0 + ;; + *) + setprop vendor.display.lcd_density 560 + ;; + esac + ;; + "msm8937" | "msm8940") + # Set vendor.opengles.version based on chip id. + # MSM8937 and MSM8940 variants supports OpenGLES 3.1 + # 196608 is decimal for 0x30000 to report version 3.0 + # 196609 is decimal for 0x30001 to report version 3.1 + # 196610 is decimal for 0x30002 to report version 3.2 + case "$soc_hwid" in + 294|295|296|297|298|313|353|354|363|364) + setprop vendor.opengles.version 196610 + if [ $soc_hwid = 354 ] + then + setprop vendor.media.target.version 1 + log -t BOOT -p i "SDM429 early_boot prop set for: HwID '$soc_hwid'" + fi + ;; + 303|307|308|309|320) + # Vulkan is not supported for 8917 variants + setprop vendor.opengles.version 196608 + setprop persist.graphics.vulkan.disable true + ;; + *) + setprop vendor.opengles.version 196608 + ;; + esac + ;; + "msm8909") + case "$soc_hwplatform" in + *) + setprop persist.graphics.vulkan.disable true + ;; + esac + ;; + "msm8998" | "apq8098_latv") + case "$soc_hwplatform" in + *) + setprop vendor.display.lcd_density 560 + ;; + esac + ;; + "sdm845") + case "$soc_hwplatform" in + *) + if [ $fb_width -le 1600 ]; then + setprop vendor.display.lcd_density 560 + else + setprop vendor.display.lcd_density 640 + fi + ;; + esac + ;; + "msmnile") + case "$soc_hwplatform" in + *) + if [ $fb_width -le 1600 ]; then + setprop vendor.display.lcd_density 560 + else + setprop vendor.display.lcd_density 640 + fi + ;; + esac + ;; + "kona") + case "$soc_hwplatform" in + *) + setprop vendor.media.target_variant "_kona" + if [ $fb_width -le 1600 ]; then + setprop vendor.display.lcd_density 560 + else + setprop vendor.display.lcd_density 640 + fi + ;; + esac + ;; + "lito") + case "$soc_hwid" in + 400|440) + sku_ver=`cat /sys/devices/platform/soc/aa00000.qcom,vidc1/sku_version` 2> /dev/null + if [ $sku_ver -eq 1 ]; then + setprop vendor.media.target.version 1 + fi + ;; + 434|459) + sku_ver=`cat /sys/devices/platform/soc/aa00000.qcom,vidc1/sku_version` 2> /dev/null + setprop vendor.media.target.version 2 + if [ $sku_ver -eq 1 ]; then + setprop vendor.media.target.version 3 + fi + ;; + esac + ;; + "bengal") + case "$soc_hwid" in + 441) + setprop vendor.fastrpc.disable.cdsprpcd.daemon 1 + setprop vendor.gralloc.disable_ubwc 1 + ;; + esac + ;; + "sdm710" | "msmpeafowl") + case "$soc_hwplatform" in + *) + if [ $fb_width -le 1600 ]; then + setprop vendor.display.lcd_density 560 + else + setprop vendor.display.lcd_density 640 + fi + + sku_ver=`cat /sys/devices/platform/soc/aa00000.qcom,vidc1/sku_version` 2> /dev/null + if [ $sku_ver -eq 1 ]; then + setprop vendor.media.target.version 1 + fi + ;; + esac + ;; + "msm8953") + cap_ver = 1 + if [ -e "/sys/devices/platform/soc/1d00000.qcom,vidc/capability_version" ]; then + cap_ver=`cat /sys/devices/platform/soc/1d00000.qcom,vidc/capability_version` 2> /dev/null + else + cap_ver=`cat /sys/devices/soc/1d00000.qcom,vidc/capability_version` 2> /dev/null + fi + + if [ $cap_ver -eq 1 ]; then + setprop vendor.media.target.version 1 + fi + ;; + #Set property to differentiate SDM660 & SDM455 + #SOC ID for SDM455 is 385 + "sdm660") + case "$soc_hwplatform" in + *) + if [ $fb_width -le 1600 ]; then + setprop vendor.display.lcd_density 560 + else + setprop vendor.display.lcd_density 640 + fi + + if [ $soc_hwid -eq 385 ]; then + setprop vendor.media.target.version 1 + fi + ;; + esac + ;; + "lahaina") + case "$soc_hwid" in + 450) + setprop vendor.media.target_variant "_shima_v3" + sku_ver=`cat /sys/devices/platform/soc/aa00000.qcom,vidc/sku_version` 2> /dev/null + if [ $sku_ver -eq 1 ]; then + setprop vendor.media.target_variant "_shima_v1" + elif [ $sku_ver -eq 2 ]; then + setprop vendor.media.target_variant "_shima_v2" + fi + ;; + *) + setprop vendor.media.target_variant "_lahaina" + ;; + esac + ;; + "holi") + setprop vendor.media.target_variant "_holi" + ;; +esac + +baseband=`getprop ro.baseband` +#enable atfwd daemon all targets except sda, apq, qcs +case "$baseband" in + "apq" | "sda" | "qcs" ) + setprop persist.vendor.radio.atfwd.start false;; + *) + setprop persist.vendor.radio.atfwd.start true;; +esac + +#set default lcd density +#Since lcd density has read only +#property, it will not overwrite previous set +#property if any target is setting forcefully. +set_density_by_fb + + +# set Lilliput LCD density for ADP +product=`getprop ro.build.product` + +case "$product" in + "msmnile_au") + setprop vendor.display.lcd_density 160 + echo 902400000 > /sys/class/devfreq/soc:qcom,cpu0-cpu-l3-lat/min_freq + echo 1612800000 > /sys/class/devfreq/soc:qcom,cpu0-cpu-l3-lat/max_freq + echo 902400000 > /sys/class/devfreq/soc:qcom,cpu4-cpu-l3-lat/min_freq + echo 1612800000 > /sys/class/devfreq/soc:qcom,cpu4-cpu-l3-lat/max_freq + ;; + *) + ;; +esac +case "$product" in + "sm6150_au") + setprop vendor.display.lcd_density 160 + ;; + *) + ;; +esac +case "$product" in + "sdmshrike_au") + setprop vendor.display.lcd_density 160 + ;; + *) + ;; +esac + +case "$product" in + "msmnile_gvmq") + setprop vendor.display.lcd_density 160 + ;; + *) + ;; +esac +# Setup display nodes & permissions +# HDMI can be fb1 or fb2 +# Loop through the sysfs nodes and determine +# the HDMI(dtv panel) + +function set_perms() { + #Usage set_perms + chown -h $2 $1 + chmod $3 $1 +} + +# check for the type of driver FB or DRM +fb_driver=/sys/class/graphics/fb0 +if [ -e "$fb_driver" ] +then + # check for mdp caps + file=/sys/class/graphics/fb0/mdp/caps + if [ -f "$file" ] + then + setprop vendor.gralloc.disable_ubwc 1 + cat $file | while read line; do + case "$line" in + *"ubwc"*) + setprop vendor.gralloc.enable_fb_ubwc 1 + setprop vendor.gralloc.disable_ubwc 0 + esac + done + fi +else + set_perms /sys/devices/virtual/hdcp/msm_hdcp/min_level_change system.graphics 0660 +fi + +# allow system_graphics group to access pmic secure_mode node +set_perms /sys/class/lcd_bias/secure_mode system.graphics 0660 +set_perms /sys/class/leds/wled/secure_mode system.graphics 0660 + +boot_reason=`cat /proc/sys/kernel/boot_reason` +reboot_reason=`getprop ro.boot.alarmboot` +if [ "$boot_reason" = "3" ] || [ "$reboot_reason" = "true" ]; then + setprop ro.vendor.alarm_boot true +else + setprop ro.vendor.alarm_boot false +fi + +# copy GPU frequencies to vendor property +if [ -f /sys/class/kgsl/kgsl-3d0/gpu_available_frequencies ]; then + gpu_freq=`cat /sys/class/kgsl/kgsl-3d0/gpu_available_frequencies` 2> /dev/null + setprop vendor.gpu.available_frequencies "$gpu_freq" +fi diff --git a/rootdir/bin/init.qcom.efs.sync.sh b/rootdir/bin/init.qcom.efs.sync.sh new file mode 100644 index 0000000..5e7bfa1 --- /dev/null +++ b/rootdir/bin/init.qcom.efs.sync.sh @@ -0,0 +1,35 @@ +#! /vendor/bin/sh + +# Copyright (c) 2012, 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. +# +# + +PATH=/system/bin:$PATH +export PATH +cat /sys/devices/platform/rs300000a7.65536/force_sync +cat /sys/devices/platform/rs300100a7.65536/force_sync diff --git a/rootdir/bin/init.qcom.post_boot.sh b/rootdir/bin/init.qcom.post_boot.sh new file mode 100644 index 0000000..97270f1 --- /dev/null +++ b/rootdir/bin/init.qcom.post_boot.sh @@ -0,0 +1,5774 @@ +#! /vendor/bin/sh + +# 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 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 8953_sched_dcvs_eas() +{ + #governor settings + echo 1 > /sys/devices/system/cpu/cpu0/online + echo "schedutil" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor + echo 0 > /sys/devices/system/cpu/cpufreq/schedutil/rate_limit_us + #set the hispeed_freq + echo 1401600 > /sys/devices/system/cpu/cpufreq/schedutil/hispeed_freq + #default value for hispeed_load is 90, for 8953 and sdm450 it should be 85 + echo 85 > /sys/devices/system/cpu/cpufreq/schedutil/hispeed_load +} + +function 8917_sched_dcvs_eas() +{ + #governor settings + echo 1 > /sys/devices/system/cpu/cpu0/online + echo "schedutil" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor + echo 0 > /sys/devices/system/cpu/cpufreq/schedutil/rate_limit_us + #set the hispeed_freq + echo 1094400 > /sys/devices/system/cpu/cpufreq/schedutil/hispeed_freq + #default value for hispeed_load is 90, for 8917 it should be 85 + echo 85 > /sys/devices/system/cpu/cpufreq/schedutil/hispeed_load +} + +function 8937_sched_dcvs_eas() +{ + # enable governor for perf cluster + echo 1 > /sys/devices/system/cpu/cpu0/online + echo "schedutil" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor + echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/rate_limit_us + #set the hispeed_freq + echo 1094400 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_freq + #default value for hispeed_load is 90, for 8937 it should be 85 + echo 85 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_load + ## enable governor for power cluster + echo 1 > /sys/devices/system/cpu/cpu4/online + echo "schedutil" > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor + echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/rate_limit_us + #set the hispeed_freq + echo 768000 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/hispeed_freq + #default value for hispeed_load is 90, for 8937 it should be 85 + echo 85 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/hispeed_load + +} + +function configure_automotive_sku_parameters() { + + echo 1036800 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + echo 1056000 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq + echo 1171200 > /sys/devices/system/cpu/cpu7/cpufreq/scaling_min_freq + echo 1785600 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq + echo 902400000 > /sys/class/devfreq/soc\:qcom,cpu0-cpu-l3-lat/min_freq + echo 902400000 > /sys/class/devfreq/soc\:qcom,cpu4-cpu-l3-lat/min_freq + echo 902400000 > /sys/class/devfreq/soc\:qcom,cpu7-cpu-l3-lat/min_freq + echo 1612800000 > /sys/class/devfreq/soc\:qcom,cpu0-cpu-l3-lat/max_freq + echo 1612800000 > /sys/class/devfreq/soc\:qcom,cpu4-cpu-l3-lat/max_freq + echo 1612800000 > /sys/class/devfreq/soc\:qcom,cpu7-cpu-l3-lat/max_freq +#read feature id from nvram +reg_val=`cat /sys/devices/platform/soc/780130.qfprom/qfprom0/nvmem | od -An -t d4` +feature_id=$(((reg_val >> 20) & 0xFF)) +log -t BOOT -p i "feature id '$feature_id'" +if [ $feature_id == 0 ]; then + echo " SKU Configured : SA8155P" + echo 2131200 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq + echo 2419200 > /sys/devices/system/cpu/cpu7/cpufreq/scaling_max_freq + echo 0 > /sys/class/kgsl/kgsl-3d0/max_pwrlevel +elif [ $feature_id == 1 ]; then + echo "SKU Configured : SA8150P" + echo 1920000 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq + echo 2227200 > /sys/devices/system/cpu/cpu7/cpufreq/scaling_max_freq + echo 3 > /sys/class/kgsl/kgsl-3d0/max_pwrlevel +else + echo "unknown feature_id value" $feature_id +fi +} + +function configure_sku_parameters() { + +#read feature id from nvram +reg_val=`cat /sys/devices/platform/soc/780130.qfprom/qfprom0/nvmem | od -An -t d4` +feature_id=$(((reg_val >> 20) & 0xFF)) +log -t BOOT -p i "feature id '$feature_id'" +if [ $feature_id == 6 ]; then + echo " SKU Configured : SA6145" + echo 748800 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + echo 748800 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq + echo 748800 > /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq + echo 748800 > /sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq + echo 748800 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq + echo 748800 > /sys/devices/system/cpu/cpu5/cpufreq/scaling_min_freq + echo 1017600 > /sys/devices/system/cpu/cpu6/cpufreq/scaling_min_freq + echo 1017600 > /sys/devices/system/cpu/cpu7/cpufreq/scaling_min_freq + echo 748800 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq + echo 748800 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq + echo 748800 > /sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq + echo 748800 > /sys/devices/system/cpu/cpu3/cpufreq/scaling_max_freq + echo 748800 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq + echo 748800 > /sys/devices/system/cpu/cpu5/cpufreq/scaling_max_freq + echo 1017600 > /sys/devices/system/cpu/cpu6/cpufreq/scaling_max_freq + echo 1017600 > /sys/devices/system/cpu/cpu7/cpufreq/scaling_max_freq + echo 940800000 > /sys/class/devfreq/soc\:qcom,cpu0-cpu-l3-lat/min_freq + echo 1017600000 > /sys/class/devfreq/soc\:qcom,cpu0-cpu-l3-lat/max_freq + echo 940800000 > /sys/class/devfreq/soc\:qcom,cpu6-cpu-l3-lat/min_freq + echo 1017600000 > /sys/class/devfreq/soc\:qcom,cpu6-cpu-l3-lat/max_freq + echo 3 > /sys/class/kgsl/kgsl-3d0/max_pwrlevel + echo {class:ddr, res:capped, val: 1016} > /sys/kernel/debug/aop_send_message + setprop vendor.sku_identified 1 + setprop vendor.sku_name "SA6145" +elif [ $feature_id == 5 ]; then + echo "SKU Configured : SA6150" + echo 748800 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + echo 748800 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq + echo 748800 > /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq + echo 748800 > /sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq + echo 748800 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq + echo 748800 > /sys/devices/system/cpu/cpu5/cpufreq/scaling_min_freq + echo 1017600 > /sys/devices/system/cpu/cpu6/cpufreq/scaling_min_freq + echo 1017600 > /sys/devices/system/cpu/cpu7/cpufreq/scaling_min_freq + echo 998400 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq + echo 998400 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq + echo 998400 > /sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq + echo 998400 > /sys/devices/system/cpu/cpu3/cpufreq/scaling_max_freq + echo 998400 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq + echo 998400 > /sys/devices/system/cpu/cpu5/cpufreq/scaling_max_freq + echo 1708800 > /sys/devices/system/cpu/cpu6/cpufreq/scaling_max_freq + echo 1708800 > /sys/devices/system/cpu/cpu7/cpufreq/scaling_max_freq + echo 940800000 > /sys/class/devfreq/soc\:qcom,cpu0-cpu-l3-lat/min_freq + echo 1363200000 > /sys/class/devfreq/soc\:qcom,cpu0-cpu-l3-lat/max_freq + echo 940800000 > /sys/class/devfreq/soc\:qcom,cpu6-cpu-l3-lat/min_freq + echo 1363200000 > /sys/class/devfreq/soc\:qcom,cpu6-cpu-l3-lat/max_freq + echo 2 > /sys/class/kgsl/kgsl-3d0/max_pwrlevel + echo {class:ddr, res:capped, val: 1333} > /sys/kernel/debug/aop_send_message + setprop vendor.sku_identified 1 + setprop vendor.sku_name "SA6150" +elif [ $feature_id == 4 ] || [ $feature_id == 3 ]; then + echo "SKU Configured : SA6155" + echo 748800 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + echo 748800 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq + echo 748800 > /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq + echo 748800 > /sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq + echo 748800 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq + echo 748800 > /sys/devices/system/cpu/cpu5/cpufreq/scaling_min_freq + echo 1017600 > /sys/devices/system/cpu/cpu6/cpufreq/scaling_min_freq + echo 1017600 > /sys/devices/system/cpu/cpu7/cpufreq/scaling_min_freq + echo 1593600 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq + echo 1593600 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq + echo 1593600 > /sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq + echo 1593600 > /sys/devices/system/cpu/cpu3/cpufreq/scaling_max_freq + echo 1593600 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq + echo 1593600 > /sys/devices/system/cpu/cpu5/cpufreq/scaling_max_freq + echo 1900800 > /sys/devices/system/cpu/cpu6/cpufreq/scaling_max_freq + echo 1900800 > /sys/devices/system/cpu/cpu7/cpufreq/scaling_max_freq + echo 940800000 > /sys/class/devfreq/soc\:qcom,cpu0-cpu-l3-lat/min_freq + echo 1363200000 > /sys/class/devfreq/soc\:qcom,cpu0-cpu-l3-lat/max_freq + echo 940800000 > /sys/class/devfreq/soc\:qcom,cpu6-cpu-l3-lat/min_freq + echo 1363200000 > /sys/class/devfreq/soc\:qcom,cpu6-cpu-l3-lat/max_freq + echo 0 > /sys/class/kgsl/kgsl-3d0/max_pwrlevel + echo {class:ddr, res:capped, val: 1555} > /sys/kernel/debug/aop_send_message + setprop vendor.sku_identified 1 + setprop vendor.sku_name "SA6155" +else + echo "SKU Configured : SA6155" + echo 748800 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + echo 748800 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq + echo 748800 > /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq + echo 748800 > /sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq + echo 748800 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq + echo 748800 > /sys/devices/system/cpu/cpu5/cpufreq/scaling_min_freq + echo 1017600 > /sys/devices/system/cpu/cpu6/cpufreq/scaling_min_freq + echo 1017600 > /sys/devices/system/cpu/cpu7/cpufreq/scaling_min_freq + echo 1593600 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq + echo 1593600 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq + echo 1593600 > /sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq + echo 1593600 > /sys/devices/system/cpu/cpu3/cpufreq/scaling_max_freq + echo 1593600 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq + echo 1593600 > /sys/devices/system/cpu/cpu5/cpufreq/scaling_max_freq + echo 1900800 > /sys/devices/system/cpu/cpu6/cpufreq/scaling_max_freq + echo 1900800 > /sys/devices/system/cpu/cpu7/cpufreq/scaling_max_freq + echo 940800000 > /sys/class/devfreq/soc\:qcom,cpu0-cpu-l3-lat/min_freq + echo 1363200000 > /sys/class/devfreq/soc\:qcom,cpu0-cpu-l3-lat/max_freq + echo 940800000 > /sys/class/devfreq/soc\:qcom,cpu6-cpu-l3-lat/min_freq + echo 1363200000 > /sys/class/devfreq/soc\:qcom,cpu6-cpu-l3-lat/max_freq + echo 0 > /sys/class/kgsl/kgsl-3d0/max_pwrlevel + echo {class:ddr, res:capped, val: 1555} > /sys/kernel/debug/aop_send_message + setprop vendor.sku_identified 1 + setprop vendor.sku_name "SA6155" +fi +} + +function 8953_sched_dcvs_hmp() +{ + #scheduler settings + echo 3 > /proc/sys/kernel/sched_window_stats_policy + echo 3 > /proc/sys/kernel/sched_ravg_hist_size + #task packing settings + echo 0 > /sys/devices/system/cpu/cpu0/sched_static_cpu_pwr_cost + echo 0 > /sys/devices/system/cpu/cpu1/sched_static_cpu_pwr_cost + echo 0 > /sys/devices/system/cpu/cpu2/sched_static_cpu_pwr_cost + echo 0 > /sys/devices/system/cpu/cpu3/sched_static_cpu_pwr_cost + echo 0 > /sys/devices/system/cpu/cpu4/sched_static_cpu_pwr_cost + echo 0 > /sys/devices/system/cpu/cpu5/sched_static_cpu_pwr_cost + echo 0 > /sys/devices/system/cpu/cpu6/sched_static_cpu_pwr_cost + echo 0 > /sys/devices/system/cpu/cpu7/sched_static_cpu_pwr_cost + # spill load is set to 100% by default in the kernel + echo 3 > /proc/sys/kernel/sched_spill_nr_run + # Apply inter-cluster load balancer restrictions + echo 1 > /proc/sys/kernel/sched_restrict_cluster_spill + # set sync wakee policy tunable + echo 1 > /proc/sys/kernel/sched_prefer_sync_wakee_to_waker + + #governor settings + echo 1 > /sys/devices/system/cpu/cpu0/online + echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor + echo "19000 1401600:39000" > /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay + echo 85 > /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load + echo 20000 > /sys/devices/system/cpu/cpufreq/interactive/timer_rate + echo 1401600 > /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq + echo 0 > /sys/devices/system/cpu/cpufreq/interactive/io_is_busy + echo "85 1401600:80" > /sys/devices/system/cpu/cpufreq/interactive/target_loads + echo 39000 > /sys/devices/system/cpu/cpufreq/interactive/min_sample_time + echo 40000 > /sys/devices/system/cpu/cpufreq/interactive/sampling_down_factor + echo 19 > /proc/sys/kernel/sched_upmigrate_min_nice + # Enable sched guided freq control + echo 1 > /sys/devices/system/cpu/cpufreq/interactive/use_sched_load + echo 1 > /sys/devices/system/cpu/cpufreq/interactive/use_migration_notif + echo 200000 > /proc/sys/kernel/sched_freq_inc_notify + echo 200000 > /proc/sys/kernel/sched_freq_dec_notify + +} + +function 8917_sched_dcvs_hmp() +{ + # HMP scheduler settings + echo 3 > /proc/sys/kernel/sched_window_stats_policy + echo 3 > /proc/sys/kernel/sched_ravg_hist_size + echo 1 > /proc/sys/kernel/sched_restrict_tasks_spread + # HMP Task packing settings + echo 20 > /proc/sys/kernel/sched_small_task + echo 30 > /sys/devices/system/cpu/cpu0/sched_mostly_idle_load + echo 30 > /sys/devices/system/cpu/cpu1/sched_mostly_idle_load + echo 30 > /sys/devices/system/cpu/cpu2/sched_mostly_idle_load + echo 30 > /sys/devices/system/cpu/cpu3/sched_mostly_idle_load + + echo 3 > /sys/devices/system/cpu/cpu0/sched_mostly_idle_nr_run + echo 3 > /sys/devices/system/cpu/cpu1/sched_mostly_idle_nr_run + echo 3 > /sys/devices/system/cpu/cpu2/sched_mostly_idle_nr_run + echo 3 > /sys/devices/system/cpu/cpu3/sched_mostly_idle_nr_run + + echo 0 > /sys/devices/system/cpu/cpu0/sched_prefer_idle + echo 0 > /sys/devices/system/cpu/cpu1/sched_prefer_idle + echo 0 > /sys/devices/system/cpu/cpu2/sched_prefer_idle + echo 0 > /sys/devices/system/cpu/cpu3/sched_prefer_idle + + echo 1 > /sys/devices/system/cpu/cpu0/online + echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor + echo "19000 1094400:39000" > /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay + echo 85 > /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load + echo 20000 > /sys/devices/system/cpu/cpufreq/interactive/timer_rate + echo 1094400 > /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq + echo 0 > /sys/devices/system/cpu/cpufreq/interactive/io_is_busy + echo "1 960000:85 1094400:90" > /sys/devices/system/cpu/cpufreq/interactive/target_loads + echo 40000 > /sys/devices/system/cpu/cpufreq/interactive/min_sample_time + echo 40000 > /sys/devices/system/cpu/cpufreq/interactive/sampling_down_factor + + # Enable sched guided freq control + echo 1 > /sys/devices/system/cpu/cpufreq/interactive/use_sched_load + echo 1 > /sys/devices/system/cpu/cpufreq/interactive/use_migration_notif + echo 50000 > /proc/sys/kernel/sched_freq_inc_notify + echo 50000 > /proc/sys/kernel/sched_freq_dec_notify +} + +function 8937_sched_dcvs_hmp() +{ + # HMP scheduler settings + echo 3 > /proc/sys/kernel/sched_window_stats_policy + echo 3 > /proc/sys/kernel/sched_ravg_hist_size + # HMP Task packing settings + echo 20 > /proc/sys/kernel/sched_small_task + echo 30 > /sys/devices/system/cpu/cpu0/sched_mostly_idle_load + echo 30 > /sys/devices/system/cpu/cpu1/sched_mostly_idle_load + echo 30 > /sys/devices/system/cpu/cpu2/sched_mostly_idle_load + echo 30 > /sys/devices/system/cpu/cpu3/sched_mostly_idle_load + echo 30 > /sys/devices/system/cpu/cpu4/sched_mostly_idle_load + echo 30 > /sys/devices/system/cpu/cpu5/sched_mostly_idle_load + echo 30 > /sys/devices/system/cpu/cpu6/sched_mostly_idle_load + echo 30 > /sys/devices/system/cpu/cpu7/sched_mostly_idle_load + + echo 3 > /sys/devices/system/cpu/cpu0/sched_mostly_idle_nr_run + echo 3 > /sys/devices/system/cpu/cpu1/sched_mostly_idle_nr_run + echo 3 > /sys/devices/system/cpu/cpu2/sched_mostly_idle_nr_run + echo 3 > /sys/devices/system/cpu/cpu3/sched_mostly_idle_nr_run + echo 3 > /sys/devices/system/cpu/cpu4/sched_mostly_idle_nr_run + echo 3 > /sys/devices/system/cpu/cpu5/sched_mostly_idle_nr_run + echo 3 > /sys/devices/system/cpu/cpu6/sched_mostly_idle_nr_run + echo 3 > /sys/devices/system/cpu/cpu7/sched_mostly_idle_nr_run + + echo 0 > /sys/devices/system/cpu/cpu0/sched_prefer_idle + echo 0 > /sys/devices/system/cpu/cpu1/sched_prefer_idle + echo 0 > /sys/devices/system/cpu/cpu2/sched_prefer_idle + echo 0 > /sys/devices/system/cpu/cpu3/sched_prefer_idle + echo 0 > /sys/devices/system/cpu/cpu4/sched_prefer_idle + echo 0 > /sys/devices/system/cpu/cpu5/sched_prefer_idle + echo 0 > /sys/devices/system/cpu/cpu6/sched_prefer_idle + echo 0 > /sys/devices/system/cpu/cpu7/sched_prefer_idle + # enable governor for perf cluster + echo 1 > /sys/devices/system/cpu/cpu0/online + echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor + echo "19000 1094400:39000" > /sys/devices/system/cpu/cpu0/cpufreq/interactive/above_hispeed_delay + echo 85 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/go_hispeed_load + echo 20000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/timer_rate + echo 1094400 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/hispeed_freq + echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/io_is_busy + echo "1 960000:85 1094400:90 1344000:80" > /sys/devices/system/cpu/cpu0/cpufreq/interactive/target_loads + echo 40000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/min_sample_time + echo 40000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/sampling_down_factor + + # enable governor for power cluster + echo 1 > /sys/devices/system/cpu/cpu4/online + echo "interactive" > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor + echo 39000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/above_hispeed_delay + echo 90 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/go_hispeed_load + echo 20000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/timer_rate + echo 768000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq + echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/io_is_busy + echo "1 768000:90" > /sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads + echo 40000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/min_sample_time + echo 40000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/sampling_down_factor + + # Enable sched guided freq control + echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_sched_load + echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_migration_notif + echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/use_sched_load + echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/use_migration_notif + echo 50000 > /proc/sys/kernel/sched_freq_inc_notify + echo 50000 > /proc/sys/kernel/sched_freq_dec_notify + +} + +function sdm660_sched_interactive_dcvs() { + + echo 0 > /proc/sys/kernel/sched_select_prev_cpu_us + echo 400000 > /proc/sys/kernel/sched_freq_inc_notify + echo 400000 > /proc/sys/kernel/sched_freq_dec_notify + echo 5 > /proc/sys/kernel/sched_spill_nr_run + echo 1 > /proc/sys/kernel/sched_restrict_cluster_spill + echo 100000 > /proc/sys/kernel/sched_short_burst_ns + echo 1 > /proc/sys/kernel/sched_prefer_sync_wakee_to_waker + echo 20 > /proc/sys/kernel/sched_small_wakee_task_load + + # disable thermal bcl hotplug to switch governor + echo 0 > /sys/module/msm_thermal/core_control/enabled + + # online CPU0 + echo 1 > /sys/devices/system/cpu/cpu0/online + # configure governor settings for little cluster + echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor + echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_sched_load + echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_migration_notif + echo "19000 1401600:39000" > /sys/devices/system/cpu/cpu0/cpufreq/interactive/above_hispeed_delay + echo 90 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/go_hispeed_load + echo 20000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/timer_rate + echo 1401600 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/hispeed_freq + echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/io_is_busy + echo "85 1747200:95" > /sys/devices/system/cpu/cpu0/cpufreq/interactive/target_loads + echo 39000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/min_sample_time + echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/max_freq_hysteresis + echo 633600 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/ignore_hispeed_on_notif + echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/fast_ramp_down + # online CPU4 + echo 1 > /sys/devices/system/cpu/cpu4/online + # configure governor settings for big cluster + echo "interactive" > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor + echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/use_sched_load + echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/use_migration_notif + echo "19000 1401600:39000" > /sys/devices/system/cpu/cpu4/cpufreq/interactive/above_hispeed_delay + echo 90 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/go_hispeed_load + echo 20000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/timer_rate + echo 1401600 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq + echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/io_is_busy + echo "85 1401600:90 2150400:95" > /sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads + echo 39000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/min_sample_time + echo 59000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/max_freq_hysteresis + echo 1113600 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq + echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/ignore_hispeed_on_notif + echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/fast_ramp_down + + # bring all cores online + echo 1 > /sys/devices/system/cpu/cpu0/online + echo 1 > /sys/devices/system/cpu/cpu1/online + echo 1 > /sys/devices/system/cpu/cpu2/online + echo 1 > /sys/devices/system/cpu/cpu3/online + echo 1 > /sys/devices/system/cpu/cpu4/online + echo 1 > /sys/devices/system/cpu/cpu5/online + echo 1 > /sys/devices/system/cpu/cpu6/online + echo 1 > /sys/devices/system/cpu/cpu7/online + + # configure LPM + echo N > /sys/module/lpm_levels/system/pwr/cpu0/ret/idle_enabled + echo N > /sys/module/lpm_levels/system/pwr/cpu1/ret/idle_enabled + echo N > /sys/module/lpm_levels/system/pwr/cpu2/ret/idle_enabled + echo N > /sys/module/lpm_levels/system/pwr/cpu3/ret/idle_enabled + echo N > /sys/module/lpm_levels/system/perf/cpu4/ret/idle_enabled + echo N > /sys/module/lpm_levels/system/perf/cpu5/ret/idle_enabled + echo N > /sys/module/lpm_levels/system/perf/cpu6/ret/idle_enabled + echo N > /sys/module/lpm_levels/system/perf/cpu7/ret/idle_enabled + echo N > /sys/module/lpm_levels/system/pwr/pwr-l2-dynret/idle_enabled + echo N > /sys/module/lpm_levels/system/perf/perf-l2-dynret/idle_enabled + echo N > /sys/module/lpm_levels/system/pwr/pwr-l2-ret/idle_enabled + echo N > /sys/module/lpm_levels/system/perf/perf-l2-ret/idle_enabled + + # re-enable thermal and BCL hotplug + echo 1 > /sys/module/msm_thermal/core_control/enabled + + # Enable bus-dcvs + for cpubw in /sys/class/devfreq/*qcom,cpubw* + do + echo "bw_hwmon" > $cpubw/governor + echo 50 > $cpubw/polling_interval + echo 762 > $cpubw/min_freq + echo "1525 3143 5859 7759 9887 10327 11863 13763" > $cpubw/bw_hwmon/mbps_zones + echo 4 > $cpubw/bw_hwmon/sample_ms + echo 85 > $cpubw/bw_hwmon/io_percent + echo 100 > $cpubw/bw_hwmon/decay_rate + echo 50 > $cpubw/bw_hwmon/bw_step + 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/low_power_ceil_mbps + echo 34 > $cpubw/bw_hwmon/low_power_io_percent + echo 20 > $cpubw/bw_hwmon/low_power_delay + echo 0 > $cpubw/bw_hwmon/guard_band_mbps + echo 250 > $cpubw/bw_hwmon/up_scale + echo 1600 > $cpubw/bw_hwmon/idle_mbps + done + + for memlat in /sys/class/devfreq/*qcom,memlat-cpu* + do + echo "mem_latency" > $memlat/governor + echo 10 > $memlat/polling_interval + echo 400 > $memlat/mem_latency/ratio_ceil + done + echo "cpufreq" > /sys/class/devfreq/soc:qcom,mincpubw/governor +} + +function sdm660_sched_schedutil_dcvs() { + + # configure governor settings for little cluster + echo "schedutil" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor + echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/up_rate_limit_us + echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/down_rate_limit_us + echo 1401600 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_freq + + # configure governor settings for big cluster + echo "schedutil" > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor + echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/up_rate_limit_us + echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/down_rate_limit_us + echo 1401600 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/hispeed_freq + + echo 1 > /proc/sys/kernel/sched_walt_rotate_big_tasks + + echo "0:1401600" > /sys/module/cpu_boost/parameters/input_boost_freq + echo 40 > /sys/module/cpu_boost/parameters/input_boost_ms + + # sched_load_boost as -6 is equivalent to target load as 85. It is per cpu tunable. + echo -6 > /sys/devices/system/cpu/cpu0/sched_load_boost + echo -6 > /sys/devices/system/cpu/cpu1/sched_load_boost + echo -6 > /sys/devices/system/cpu/cpu2/sched_load_boost + echo -6 > /sys/devices/system/cpu/cpu3/sched_load_boost + 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 -6 > /sys/devices/system/cpu/cpu7/sched_load_boost + echo 85 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_load + echo 85 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/hispeed_load + + # 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 + echo "bw_hwmon" > $cpubw/governor + echo 50 > $cpubw/polling_interval + echo 762 > $cpubw/min_freq + echo "1525 3143 5859 7759 9887 10327 11863 13763" > $cpubw/bw_hwmon/mbps_zones + echo 4 > $cpubw/bw_hwmon/sample_ms + echo 85 > $cpubw/bw_hwmon/io_percent + echo 100 > $cpubw/bw_hwmon/decay_rate + echo 50 > $cpubw/bw_hwmon/bw_step + 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 + done + + for memlat in $device/*cpu*-lat/devfreq/*cpu*-lat + do + echo "mem_latency" > $memlat/governor + echo 10 > $memlat/polling_interval + echo 400 > $memlat/mem_latency/ratio_ceil + done + + for latfloor in $device/*cpu*-ddr-latfloor*/devfreq/*cpu-ddr-latfloor* + do + echo "compute" > $latfloor/governor + echo 10 > $latfloor/polling_interval + done + + done +} + +target=`getprop ro.board.platform` + +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 devices. + # For 512MB Go device, size = 384MB, set same for Non-Go. + # For 1GB Go device, size = 768MB, set same for Non-Go. + # 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" + let zRamSizeMB="( $RamSizeGB * 1024 ) / 2" + diskSizeUnit=M + + # 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 + # if [ $MemTotal -le 524288 ]; then + # echo 402653184 > /sys/block/zram0/disksize + # elif [ $MemTotal -le 1048576 ]; then + # echo 805306368 > /sys/block/zram0/disksize + # else + # zramDiskSize=$zRamSizeMB$diskSizeUnit + # echo $zramDiskSize > /sys/block/zram0/disksize + # fi + + # 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 + echo 128 > /sys/block/mmcblk0/bdi/read_ahead_kb + echo 128 > /sys/block/mmcblk0rpmb/bdi/read_ahead_kb + for dm in $dmpts; do + echo 128 > $dm + done + else + echo 512 > /sys/block/mmcblk0/bdi/read_ahead_kb + echo 512 > /sys/block/mmcblk0rpmb/bdi/read_ahead_kb + for dm in $dmpts; do + echo 512 > $dm + done + fi +} + +function disable_core_ctl() { + if [ -f /sys/devices/system/cpu/cpu0/core_ctl/enable ]; then + echo 0 > /sys/devices/system/cpu/cpu0/core_ctl/enable + else + echo 1 > /sys/devices/system/cpu/cpu0/core_ctl/disable + fi +} + +function enable_swap() { + MemTotalStr=`cat /proc/meminfo | grep MemTotal` + MemTotal=${MemTotalStr:16:8} + + SWAP_ENABLE_THRESHOLD=1048576 + swap_enable=`getprop ro.vendor.qti.config.swap` + + # Enable swap initially only for 1 GB targets + if [ "$MemTotal" -le "$SWAP_ENABLE_THRESHOLD" ] && [ "$swap_enable" == "true" ]; then + # Static swiftness + echo 1 > /proc/sys/vm/swap_ratio_enable + echo 70 > /proc/sys/vm/swap_ratio + + # Swap disk - 200MB size + if [ ! -f /data/vendor/swap/swapfile ]; then + dd if=/dev/zero of=/data/vendor/swap/swapfile bs=1m count=200 + fi + mkswap /data/vendor/swap/swapfile + swapon /data/vendor/swap/swapfile -p 32758 + fi +} + +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` +low_ram=`getprop ro.config.low_ram` + +if [ "$ProductName" == "msmnile" ] || [ "$ProductName" == "kona" ] || [ "$ProductName" == "sdmshrike_au" ]; then + # Enable ZRAM + configure_zram_parameters + configure_read_ahead_kb_values + echo 0 > /proc/sys/vm/page-cluster + echo 100 > /proc/sys/vm/swappiness +else + arch_type=`uname -m` + MemTotalStr=`cat /proc/meminfo | grep MemTotal` + MemTotal=${MemTotalStr:16:8} + + # Set parameters for 32-bit Go targets. + if [ $MemTotal -le 1048576 ] && [ "$low_ram" == "true" ]; then + # Disable KLMK, ALMK, PPR & Core Control for Go devices + echo 0 > /sys/module/lowmemorykiller/parameters/enable_lmk + echo 0 > /sys/module/lowmemorykiller/parameters/enable_adaptive_lmk + echo 0 > /sys/module/process_reclaim/parameters/enable_process_reclaim + disable_core_ctl + # Enable oom_reaper for Go devices + if [ -f /proc/sys/vm/reap_mem_on_sigkill ]; then + echo 1 > /proc/sys/vm/reap_mem_on_sigkill + fi + else + + # Read adj series and set adj threshold for PPR and ALMK. + # This is required since adj values change from framework to framework. + adj_series=`cat /sys/module/lowmemorykiller/parameters/adj` + adj_1="${adj_series#*,}" + set_almk_ppr_adj="${adj_1%%,*}" + + # PPR and ALMK should not act on HOME adj and below. + # Normalized ADJ for HOME is 6. Hence multiply by 6 + # ADJ score represented as INT in LMK params, actual score can be in decimal + # Hence add 6 considering a worst case of 0.9 conversion to INT (0.9*6). + # For uLMK + Memcg, this will be set as 6 since adj is zero. + set_almk_ppr_adj=$(((set_almk_ppr_adj * 6) + 6)) + echo $set_almk_ppr_adj > /sys/module/lowmemorykiller/parameters/adj_max_shift + + # Calculate vmpressure_file_min as below & set for 64 bit: + # vmpressure_file_min = last_lmk_bin + (last_lmk_bin - last_but_one_lmk_bin) + if [ "$arch_type" == "aarch64" ]; then + minfree_series=`cat /sys/module/lowmemorykiller/parameters/minfree` + minfree_1="${minfree_series#*,}" ; rem_minfree_1="${minfree_1%%,*}" + minfree_2="${minfree_1#*,}" ; rem_minfree_2="${minfree_2%%,*}" + minfree_3="${minfree_2#*,}" ; rem_minfree_3="${minfree_3%%,*}" + minfree_4="${minfree_3#*,}" ; rem_minfree_4="${minfree_4%%,*}" + minfree_5="${minfree_4#*,}" + + vmpres_file_min=$((minfree_5 + (minfree_5 - rem_minfree_4))) + echo $vmpres_file_min > /sys/module/lowmemorykiller/parameters/vmpressure_file_min + if [ $MemTotal -lt 3145728 ]; then + echo "18432,23040,27648,32256,100640,120640" > /sys/module/lowmemorykiller/parameters/minfree + elif [ $MemTotal -lt 4194304 ]; then + echo "18432,23040,27648,38708,120640,144768" > /sys/module/lowmemorykiller/parameters/minfree + elif [ $MemTotal -lt 6291456 ]; then + echo "18432,23040,27648,64512,165888,225792" > /sys/module/lowmemorykiller/parameters/minfree + else + echo "18432,23040,27648,96768,276480,362880" > /sys/module/lowmemorykiller/parameters/minfree + fi + else + # Set LMK series, vmpressure_file_min for 32 bit non-go targets. + # Disable Core Control, enable KLMK for non-go 8909. + if [ "$ProductName" == "msm8909" ]; then + disable_core_ctl + echo 1 > /sys/module/lowmemorykiller/parameters/enable_lmk + fi + echo "15360,19200,23040,26880,34415,43737" > /sys/module/lowmemorykiller/parameters/minfree + echo 53059 > /sys/module/lowmemorykiller/parameters/vmpressure_file_min + fi + + # Enable adaptive LMK for all targets & + # use Google default LMK series for all 64-bit targets >=2GB. + echo 1 > /sys/module/lowmemorykiller/parameters/enable_adaptive_lmk + + # Enable oom_reaper + if [ -f /sys/module/lowmemorykiller/parameters/oom_reaper ]; then + echo 1 > /sys/module/lowmemorykiller/parameters/oom_reaper + fi + + if [[ "$ProductName" != "bengal"* ]]; then + #bengal has appcompaction enabled. So not needed + # Set PPR parameters for other targets + if [ -f /sys/devices/soc0/soc_id ]; then + soc_id=`cat /sys/devices/soc0/soc_id` + else + soc_id=`cat /sys/devices/system/soc/soc0/id` + fi + + case "$soc_id" in + # Do not set PPR parameters for premium targets + # sdm845 - 321, 341 + # msm8998 - 292, 319 + # msm8996 - 246, 291, 305, 312 + "321" | "341" | "292" | "319" | "246" | "291" | "305" | "312") + ;; + *) + #Set PPR parameters for all other targets. + echo $set_almk_ppr_adj > /sys/module/process_reclaim/parameters/min_score_adj + echo 0 > /sys/module/process_reclaim/parameters/enable_process_reclaim + echo 50 > /sys/module/process_reclaim/parameters/pressure_min + echo 70 > /sys/module/process_reclaim/parameters/pressure_max + echo 30 > /sys/module/process_reclaim/parameters/swap_opt_eff + echo 512 > /sys/module/process_reclaim/parameters/per_swap_size + ;; + esac + fi + fi + + if [[ "$ProductName" == "bengal"* ]]; then + #Set PPR nomap parameters for bengal targets + echo 1 > /sys/module/process_reclaim/parameters/enable_process_reclaim + echo 50 > /sys/module/process_reclaim/parameters/pressure_min + echo 70 > /sys/module/process_reclaim/parameters/pressure_max + echo 30 > /sys/module/process_reclaim/parameters/swap_opt_eff + echo 0 > /sys/module/process_reclaim/parameters/per_swap_size + echo 7680 > /sys/module/process_reclaim/parameters/tsk_nomap_swap_sz + fi + + # Set allocstall_threshold to 0 for all targets. + # Set swappiness to 100 for all targets + echo 0 > /sys/module/vmpressure/parameters/allocstall_threshold + 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 10 > /proc/sys/vm/watermark_scale_factor + + configure_zram_parameters + + configure_read_ahead_kb_values + + enable_swap +fi +} + +function enable_memory_features() +{ + MemTotalStr=`cat /proc/meminfo | grep MemTotal` + MemTotal=${MemTotalStr:16:8} + + if [ $MemTotal -le 2097152 ]; then + #Enable B service adj transition for 2GB or less memory + setprop ro.vendor.qti.sys.fw.bservice_enable true + setprop ro.vendor.qti.sys.fw.bservice_limit 5 + setprop ro.vendor.qti.sys.fw.bservice_age 5000 + + #Enable Delay Service Restart + setprop ro.vendor.qti.am.reschedule_service true + fi +} + +function start_hbtp() +{ + # Start the Host based Touch processing but not in the power off mode. + #bootmode=`getprop ro.bootmode` + #if [ "charger" != $bootmode ]; then + # start vendor.hbtp + #fi +} + +case "$target" in + "msm7201a_ffa" | "msm7201a_surf" | "msm7627_ffa" | "msm7627_6x" | "msm7627a" | "msm7627_surf" | \ + "qsd8250_surf" | "qsd8250_ffa" | "msm7630_surf" | "msm7630_1x" | "msm7630_fusion" | "qsd8650a_st1x") + echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor + echo 90 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold + ;; +esac + +case "$target" in + "msm7201a_ffa" | "msm7201a_surf") + echo 500000 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate + ;; +esac + +case "$target" in + "msm7630_surf" | "msm7630_1x" | "msm7630_fusion") + echo 75000 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate + echo 1 > /sys/module/pm2/parameters/idle_sleep_mode + ;; +esac + +case "$target" in + "msm7201a_ffa" | "msm7201a_surf" | "msm7627_ffa" | "msm7627_6x" | "msm7627_surf" | "msm7630_surf" | "msm7630_1x" | "msm7630_fusion" | "msm7627a" ) + echo 245760 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + ;; +esac + +case "$target" in + "msm8660") + echo 1 > /sys/module/rpm_resources/enable_low_power/L2_cache + echo 1 > /sys/module/rpm_resources/enable_low_power/pxo + echo 2 > /sys/module/rpm_resources/enable_low_power/vdd_dig + echo 2 > /sys/module/rpm_resources/enable_low_power/vdd_mem + echo 1 > /sys/module/rpm_resources/enable_low_power/rpm_cpu + echo 1 > /sys/module/msm_pm/modes/cpu0/power_collapse/suspend_enabled + echo 1 > /sys/module/msm_pm/modes/cpu1/power_collapse/suspend_enabled + echo 1 > /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/suspend_enabled + echo 1 > /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/suspend_enabled + echo 1 > /sys/module/msm_pm/modes/cpu0/power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu1/power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/idle_enabled + echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor + echo "ondemand" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor + echo 50000 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate + echo 90 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold + echo 1 > /sys/devices/system/cpu/cpufreq/ondemand/io_is_busy + echo 4 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor + echo 384000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + echo 384000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq + chown -h system /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq + chown -h system /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + chown -h system /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq + chown -h system /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq + chown -h root.system /sys/devices/system/cpu/mfreq + chmod -h 220 /sys/devices/system/cpu/mfreq + chown -h root.system /sys/devices/system/cpu/cpu1/online + chmod -h 664 /sys/devices/system/cpu/cpu1/online + ;; +esac + +case "$target" in + "msm8960") + echo 1 > /sys/module/rpm_resources/enable_low_power/L2_cache + echo 1 > /sys/module/rpm_resources/enable_low_power/pxo + echo 1 > /sys/module/rpm_resources/enable_low_power/vdd_dig + echo 1 > /sys/module/rpm_resources/enable_low_power/vdd_mem + echo 1 > /sys/module/msm_pm/modes/cpu0/retention/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu0/power_collapse/suspend_enabled + echo 1 > /sys/module/msm_pm/modes/cpu1/power_collapse/suspend_enabled + echo 1 > /sys/module/msm_pm/modes/cpu2/power_collapse/suspend_enabled + echo 1 > /sys/module/msm_pm/modes/cpu3/power_collapse/suspend_enabled + echo 1 > /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/suspend_enabled + echo 1 > /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/suspend_enabled + echo 1 > /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/suspend_enabled + echo 1 > /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/suspend_enabled + echo 1 > /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu0/power_collapse/idle_enabled + echo 0 > /sys/module/msm_thermal/core_control/enabled + echo 1 > /sys/devices/system/cpu/cpu1/online + echo 1 > /sys/devices/system/cpu/cpu2/online + echo 1 > /sys/devices/system/cpu/cpu3/online + echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor + echo "ondemand" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor + echo "ondemand" > /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor + echo "ondemand" > /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor + echo 50000 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate + echo 90 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold + echo 1 > /sys/devices/system/cpu/cpufreq/ondemand/io_is_busy + echo 4 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor + echo 10 > /sys/devices/system/cpu/cpufreq/ondemand/down_differential + echo 70 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold_multi_core + echo 3 > /sys/devices/system/cpu/cpufreq/ondemand/down_differential_multi_core + echo 918000 > /sys/devices/system/cpu/cpufreq/ondemand/optimal_freq + echo 1026000 > /sys/devices/system/cpu/cpufreq/ondemand/sync_freq + echo 80 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold_any_cpu_load + chown -h system /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate + chown -h system /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor + chown -h system /sys/devices/system/cpu/cpufreq/ondemand/io_is_busy + echo 384000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + echo 384000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq + echo 384000 > /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq + echo 384000 > /sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq + chown -h system /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq + chown -h system /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + chown -h system /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq + chown -h system /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq + chown -h system /sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq + chown -h system /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq + chown -h system /sys/devices/system/cpu/cpu3/cpufreq/scaling_max_freq + chown -h system /sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq + echo 1 > /sys/module/msm_thermal/core_control/enabled + chown -h root.system /sys/devices/system/cpu/mfreq + chmod -h 220 /sys/devices/system/cpu/mfreq + chown -h root.system /sys/devices/system/cpu/cpu1/online + chown -h root.system /sys/devices/system/cpu/cpu2/online + chown -h root.system /sys/devices/system/cpu/cpu3/online + chmod -h 664 /sys/devices/system/cpu/cpu1/online + chmod -h 664 /sys/devices/system/cpu/cpu2/online + chmod -h 664 /sys/devices/system/cpu/cpu3/online + # set DCVS parameters for CPU + echo 40000 > /sys/module/msm_dcvs/cores/cpu0/slack_time_max_us + echo 40000 > /sys/module/msm_dcvs/cores/cpu0/slack_time_min_us + echo 100000 > /sys/module/msm_dcvs/cores/cpu0/em_win_size_min_us + echo 500000 > /sys/module/msm_dcvs/cores/cpu0/em_win_size_max_us + echo 0 > /sys/module/msm_dcvs/cores/cpu0/slack_mode_dynamic + echo 1000000 > /sys/module/msm_dcvs/cores/cpu0/disable_pc_threshold + echo 25000 > /sys/module/msm_dcvs/cores/cpu1/slack_time_max_us + echo 25000 > /sys/module/msm_dcvs/cores/cpu1/slack_time_min_us + echo 100000 > /sys/module/msm_dcvs/cores/cpu1/em_win_size_min_us + echo 500000 > /sys/module/msm_dcvs/cores/cpu1/em_win_size_max_us + echo 0 > /sys/module/msm_dcvs/cores/cpu1/slack_mode_dynamic + echo 1000000 > /sys/module/msm_dcvs/cores/cpu1/disable_pc_threshold + echo 25000 > /sys/module/msm_dcvs/cores/cpu2/slack_time_max_us + echo 25000 > /sys/module/msm_dcvs/cores/cpu2/slack_time_min_us + echo 100000 > /sys/module/msm_dcvs/cores/cpu2/em_win_size_min_us + echo 500000 > /sys/module/msm_dcvs/cores/cpu2/em_win_size_max_us + echo 0 > /sys/module/msm_dcvs/cores/cpu2/slack_mode_dynamic + echo 1000000 > /sys/module/msm_dcvs/cores/cpu2/disable_pc_threshold + echo 25000 > /sys/module/msm_dcvs/cores/cpu3/slack_time_max_us + echo 25000 > /sys/module/msm_dcvs/cores/cpu3/slack_time_min_us + echo 100000 > /sys/module/msm_dcvs/cores/cpu3/em_win_size_min_us + echo 500000 > /sys/module/msm_dcvs/cores/cpu3/em_win_size_max_us + echo 0 > /sys/module/msm_dcvs/cores/cpu3/slack_mode_dynamic + echo 1000000 > /sys/module/msm_dcvs/cores/cpu3/disable_pc_threshold + # set DCVS parameters for GPU + echo 20000 > /sys/module/msm_dcvs/cores/gpu0/slack_time_max_us + echo 20000 > /sys/module/msm_dcvs/cores/gpu0/slack_time_min_us + echo 0 > /sys/module/msm_dcvs/cores/gpu0/slack_mode_dynamic + # set msm_mpdecision parameters + echo 45000 > /sys/module/msm_mpdecision/slack_time_max_us + echo 15000 > /sys/module/msm_mpdecision/slack_time_min_us + echo 100000 > /sys/module/msm_mpdecision/em_win_size_min_us + echo 1000000 > /sys/module/msm_mpdecision/em_win_size_max_us + echo 3 > /sys/module/msm_mpdecision/online_util_pct_min + echo 25 > /sys/module/msm_mpdecision/online_util_pct_max + echo 97 > /sys/module/msm_mpdecision/em_max_util_pct + echo 2 > /sys/module/msm_mpdecision/rq_avg_poll_ms + echo 10 > /sys/module/msm_mpdecision/mp_em_rounding_point_min + echo 85 > /sys/module/msm_mpdecision/mp_em_rounding_point_max + echo 50 > /sys/module/msm_mpdecision/iowait_threshold_pct + #set permissions for the nodes needed by display on/off hook + chown -h system /sys/module/msm_dcvs/cores/cpu0/slack_time_max_us + chown -h system /sys/module/msm_dcvs/cores/cpu0/slack_time_min_us + chown -h system /sys/module/msm_mpdecision/slack_time_max_us + chown -h system /sys/module/msm_mpdecision/slack_time_min_us + chmod -h 664 /sys/module/msm_dcvs/cores/cpu0/slack_time_max_us + chmod -h 664 /sys/module/msm_dcvs/cores/cpu0/slack_time_min_us + chmod -h 664 /sys/module/msm_mpdecision/slack_time_max_us + chmod -h 664 /sys/module/msm_mpdecision/slack_time_min_us + if [ -f /sys/devices/soc0/soc_id ]; then + soc_id=`cat /sys/devices/soc0/soc_id` + else + soc_id=`cat /sys/devices/system/soc/soc0/id` + fi + case "$soc_id" in + "130") + echo 230 > /sys/class/gpio/export + echo 228 > /sys/class/gpio/export + echo 229 > /sys/class/gpio/export + echo "in" > /sys/class/gpio/gpio230/direction + echo "rising" > /sys/class/gpio/gpio230/edge + echo "in" > /sys/class/gpio/gpio228/direction + echo "rising" > /sys/class/gpio/gpio228/edge + echo "in" > /sys/class/gpio/gpio229/direction + echo "rising" > /sys/class/gpio/gpio229/edge + echo 253 > /sys/class/gpio/export + echo 254 > /sys/class/gpio/export + echo 257 > /sys/class/gpio/export + echo 258 > /sys/class/gpio/export + echo 259 > /sys/class/gpio/export + echo "out" > /sys/class/gpio/gpio253/direction + echo "out" > /sys/class/gpio/gpio254/direction + echo "out" > /sys/class/gpio/gpio257/direction + echo "out" > /sys/class/gpio/gpio258/direction + echo "out" > /sys/class/gpio/gpio259/direction + chown -h media /sys/class/gpio/gpio253/value + chown -h media /sys/class/gpio/gpio254/value + chown -h media /sys/class/gpio/gpio257/value + chown -h media /sys/class/gpio/gpio258/value + chown -h media /sys/class/gpio/gpio259/value + chown -h media /sys/class/gpio/gpio253/direction + chown -h media /sys/class/gpio/gpio254/direction + chown -h media /sys/class/gpio/gpio257/direction + chown -h media /sys/class/gpio/gpio258/direction + chown -h media /sys/class/gpio/gpio259/direction + echo 0 > /sys/module/rpm_resources/enable_low_power/vdd_dig + echo 0 > /sys/module/rpm_resources/enable_low_power/vdd_mem + ;; + esac + ;; +esac + +case "$target" in + "msm8974") + echo 4 > /sys/module/lpm_levels/enable_low_power/l2 + echo 1 > /sys/module/msm_pm/modes/cpu0/power_collapse/suspend_enabled + echo 1 > /sys/module/msm_pm/modes/cpu1/power_collapse/suspend_enabled + echo 1 > /sys/module/msm_pm/modes/cpu2/power_collapse/suspend_enabled + echo 1 > /sys/module/msm_pm/modes/cpu3/power_collapse/suspend_enabled + echo 1 > /sys/module/msm_pm/modes/cpu0/power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu1/power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu2/power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu3/power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/suspend_enabled + echo 1 > /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/suspend_enabled + echo 1 > /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/suspend_enabled + echo 1 > /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/suspend_enabled + echo 1 > /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu0/retention/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu1/retention/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu2/retention/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu3/retention/idle_enabled + echo 0 > /sys/module/msm_thermal/core_control/enabled + echo 1 > /sys/devices/system/cpu/cpu1/online + echo 1 > /sys/devices/system/cpu/cpu2/online + echo 1 > /sys/devices/system/cpu/cpu3/online + if [ -f /sys/devices/soc0/soc_id ]; then + soc_id=`cat /sys/devices/soc0/soc_id` + else + soc_id=`cat /sys/devices/system/soc/soc0/id` + fi + case "$soc_id" in + "208" | "211" | "214" | "217" | "209" | "212" | "215" | "218" | "194" | "210" | "213" | "216") + for devfreq_gov in /sys/class/devfreq/qcom,cpubw*/governor + do + echo "cpubw_hwmon" > $devfreq_gov + done + echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor + echo "interactive" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor + echo "interactive" > /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor + echo "interactive" > /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor + echo "20000 1400000:40000 1700000:20000" > /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay + echo 90 > /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load + echo 1190400 > /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq + echo 1 > /sys/devices/system/cpu/cpufreq/interactive/io_is_busy + echo "85 1500000:90 1800000:70" > /sys/devices/system/cpu/cpufreq/interactive/target_loads + echo 40000 > /sys/devices/system/cpu/cpufreq/interactive/min_sample_time + echo 20 > /sys/module/cpu_boost/parameters/boost_ms + echo 1728000 > /sys/module/cpu_boost/parameters/sync_threshold + echo 100000 > /sys/devices/system/cpu/cpufreq/interactive/sampling_down_factor + echo 1497600 > /sys/module/cpu_boost/parameters/input_boost_freq + echo 40 > /sys/module/cpu_boost/parameters/input_boost_ms + ;; + *) + echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor + echo "ondemand" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor + echo "ondemand" > /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor + echo "ondemand" > /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor + echo 50000 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate + echo 90 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold + echo 1 > /sys/devices/system/cpu/cpufreq/ondemand/io_is_busy + echo 2 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor + echo 10 > /sys/devices/system/cpu/cpufreq/ondemand/down_differential + echo 70 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold_multi_core + echo 3 > /sys/devices/system/cpu/cpufreq/ondemand/down_differential_multi_core + echo 960000 > /sys/devices/system/cpu/cpufreq/ondemand/optimal_freq + echo 960000 > /sys/devices/system/cpu/cpufreq/ondemand/sync_freq + echo 1190400 > /sys/devices/system/cpu/cpufreq/ondemand/input_boost + echo 80 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold_any_cpu_load + ;; + esac + echo 300000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + echo 300000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq + echo 300000 > /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq + echo 300000 > /sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq + chown -h system /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq + chown -h system /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + echo 1 > /sys/module/msm_thermal/core_control/enabled + chown -h root.system /sys/devices/system/cpu/mfreq + chmod -h 220 /sys/devices/system/cpu/mfreq + chown -h root.system /sys/devices/system/cpu/cpu1/online + chown -h root.system /sys/devices/system/cpu/cpu2/online + chown -h root.system /sys/devices/system/cpu/cpu3/online + chmod -h 664 /sys/devices/system/cpu/cpu1/online + chmod -h 664 /sys/devices/system/cpu/cpu2/online + chmod -h 664 /sys/devices/system/cpu/cpu3/online + echo 1 > /dev/cpuctl/apps/cpu.notify_on_migrate + ;; +esac + +case "$target" in + "msm8916") + if [ -f /sys/devices/soc0/soc_id ]; then + soc_id=`cat /sys/devices/soc0/soc_id` + else + soc_id=`cat /sys/devices/system/soc/soc0/id` + fi + case "$soc_id" in + "206") + echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled + echo 1 > /sys/devices/system/cpu/cpu1/online + echo 1 > /sys/devices/system/cpu/cpu2/online + echo 1 > /sys/devices/system/cpu/cpu3/online + echo 2 > /sys/class/net/rmnet0/queues/rx-0/rps_cpus + ;; + "247" | "248" | "249" | "250") + echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled + echo 1 > /sys/devices/system/cpu/cpu1/online + echo 1 > /sys/devices/system/cpu/cpu2/online + echo 1 > /sys/devices/system/cpu/cpu3/online + ;; + "239" | "241" | "263") + if [ -f /sys/devices/soc0/revision ]; then + revision=`cat /sys/devices/soc0/revision` + else + revision=`cat /sys/devices/system/soc/soc0/revision` + fi + echo 10 > /sys/class/net/rmnet0/queues/rx-0/rps_cpus + if [ -f /sys/devices/soc0/platform_subtype_id ]; then + platform_subtype_id=`cat /sys/devices/soc0/platform_subtype_id` + fi + if [ -f /sys/devices/soc0/hw_platform ]; then + hw_platform=`cat /sys/devices/soc0/hw_platform` + fi + case "$soc_id" in + "239") + case "$hw_platform" in + "Surf") + case "$platform_subtype_id" in + "1" | "2") + start_hbtp + ;; + esac + ;; + "MTP") + case "$platform_subtype_id" in + "3") + start_hbtp + ;; + esac + ;; + esac + ;; + esac + ;; + "268" | "269" | "270" | "271") + echo 10 > /sys/class/net/rmnet0/queues/rx-0/rps_cpus + ;; + "233" | "240" | "242") + echo 1 > /sys/devices/system/cpu/cpu1/online + echo 1 > /sys/devices/system/cpu/cpu2/online + echo 1 > /sys/devices/system/cpu/cpu3/online + ;; + esac + ;; +esac + +case "$target" in + "msm8226") + echo 4 > /sys/module/lpm_levels/enable_low_power/l2 + echo 1 > /sys/module/msm_pm/modes/cpu0/power_collapse/suspend_enabled + echo 1 > /sys/module/msm_pm/modes/cpu1/power_collapse/suspend_enabled + echo 1 > /sys/module/msm_pm/modes/cpu2/power_collapse/suspend_enabled + echo 1 > /sys/module/msm_pm/modes/cpu3/power_collapse/suspend_enabled + echo 1 > /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/suspend_enabled + echo 1 > /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/suspend_enabled + echo 1 > /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/suspend_enabled + echo 1 > /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/suspend_enabled + echo 1 > /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu0/power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu1/power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu2/power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu3/power_collapse/idle_enabled + echo 1 > /sys/devices/system/cpu/cpu1/online + echo 1 > /sys/devices/system/cpu/cpu2/online + echo 1 > /sys/devices/system/cpu/cpu3/online + echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor + echo 50000 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate + echo 90 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold + echo 1 > /sys/devices/system/cpu/cpufreq/ondemand/io_is_busy + echo 2 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor + echo 10 > /sys/devices/system/cpu/cpufreq/ondemand/down_differential + echo 70 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold_multi_core + echo 10 > /sys/devices/system/cpu/cpufreq/ondemand/down_differential_multi_core + echo 787200 > /sys/devices/system/cpu/cpufreq/ondemand/optimal_freq + echo 300000 > /sys/devices/system/cpu/cpufreq/ondemand/sync_freq + echo 80 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold_any_cpu_load + echo 300000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + chown -h system /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq + chown -h system /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + chown -h root.system /sys/devices/system/cpu/cpu1/online + chown -h root.system /sys/devices/system/cpu/cpu2/online + chown -h root.system /sys/devices/system/cpu/cpu3/online + chmod -h 664 /sys/devices/system/cpu/cpu1/online + chmod -h 664 /sys/devices/system/cpu/cpu2/online + chmod -h 664 /sys/devices/system/cpu/cpu3/online + ;; +esac + +case "$target" in + "msm8610") + echo 4 > /sys/module/lpm_levels/enable_low_power/l2 + echo 1 > /sys/module/msm_pm/modes/cpu0/power_collapse/suspend_enabled + echo 1 > /sys/module/msm_pm/modes/cpu1/power_collapse/suspend_enabled + echo 1 > /sys/module/msm_pm/modes/cpu2/power_collapse/suspend_enabled + echo 1 > /sys/module/msm_pm/modes/cpu3/power_collapse/suspend_enabled + echo 1 > /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/suspend_enabled + echo 1 > /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/suspend_enabled + echo 1 > /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/suspend_enabled + echo 1 > /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/suspend_enabled + echo 1 > /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu0/power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu1/power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu2/power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu3/power_collapse/idle_enabled + echo 1 > /sys/devices/system/cpu/cpu1/online + echo 1 > /sys/devices/system/cpu/cpu2/online + echo 1 > /sys/devices/system/cpu/cpu3/online + echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor + echo 50000 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate + echo 90 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold + echo 1 > /sys/devices/system/cpu/cpufreq/ondemand/io_is_busy + echo 2 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor + echo 10 > /sys/devices/system/cpu/cpufreq/ondemand/down_differential + echo 70 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold_multi_core + echo 10 > /sys/devices/system/cpu/cpufreq/ondemand/down_differential_multi_core + echo 787200 > /sys/devices/system/cpu/cpufreq/ondemand/optimal_freq + echo 300000 > /sys/devices/system/cpu/cpufreq/ondemand/sync_freq + echo 80 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold_any_cpu_load + echo 300000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + setprop ro.qualcomm.perf.min_freq 7 + echo 1 > /sys/kernel/mm/ksm/deferred_timer + chown -h system /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq + chown -h system /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + chown -h root.system /sys/devices/system/cpu/cpu1/online + chown -h root.system /sys/devices/system/cpu/cpu2/online + chown -h root.system /sys/devices/system/cpu/cpu3/online + chmod -h 664 /sys/devices/system/cpu/cpu1/online + chmod -h 664 /sys/devices/system/cpu/cpu2/online + chmod -h 664 /sys/devices/system/cpu/cpu3/online + ;; +esac + +case "$target" in + "msm8916") + + if [ -f /sys/devices/soc0/soc_id ]; then + soc_id=`cat /sys/devices/soc0/soc_id` + else + soc_id=`cat /sys/devices/system/soc/soc0/id` + fi + + # HMP scheduler settings for 8916, 8936, 8939, 8929 + echo 3 > /proc/sys/kernel/sched_window_stats_policy + echo 3 > /proc/sys/kernel/sched_ravg_hist_size + + # Apply governor settings for 8916 + case "$soc_id" in + "206" | "247" | "248" | "249" | "250") + + # HMP scheduler load tracking settings + echo 3 > /proc/sys/kernel/sched_ravg_hist_size + + # HMP Task packing settings for 8916 + echo 20 > /proc/sys/kernel/sched_small_task + echo 30 > /proc/sys/kernel/sched_mostly_idle_load + echo 3 > /proc/sys/kernel/sched_mostly_idle_nr_run + + # disable thermal core_control to update scaling_min_freq + echo 0 > /sys/module/msm_thermal/core_control/enabled + echo 1 > /sys/devices/system/cpu/cpu0/online + echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor + echo 800000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + # enable thermal core_control now + echo 1 > /sys/module/msm_thermal/core_control/enabled + + echo "25000 1094400:50000" > /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay + echo 90 > /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load + echo 30000 > /sys/devices/system/cpu/cpufreq/interactive/timer_rate + echo 998400 > /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq + echo 0 > /sys/devices/system/cpu/cpufreq/interactive/io_is_busy + echo "1 800000:85 998400:90 1094400:80" > /sys/devices/system/cpu/cpufreq/interactive/target_loads + echo 50000 > /sys/devices/system/cpu/cpufreq/interactive/min_sample_time + echo 50000 > /sys/devices/system/cpu/cpufreq/interactive/sampling_down_factor + + # Bring up all cores online + echo 1 > /sys/devices/system/cpu/cpu1/online + echo 1 > /sys/devices/system/cpu/cpu2/online + echo 1 > /sys/devices/system/cpu/cpu3/online + echo 1 > /sys/devices/system/cpu/cpu4/online + ;; + esac + + # Apply governor settings for 8936 + case "$soc_id" in + "233" | "240" | "242") + + # HMP scheduler load tracking settings + echo 3 > /proc/sys/kernel/sched_ravg_hist_size + + # HMP Task packing settings for 8936 + echo 50 > /proc/sys/kernel/sched_small_task + echo 50 > /proc/sys/kernel/sched_mostly_idle_load + echo 10 > /proc/sys/kernel/sched_mostly_idle_nr_run + + # disable thermal core_control to update scaling_min_freq, interactive gov + echo 0 > /sys/module/msm_thermal/core_control/enabled + echo 1 > /sys/devices/system/cpu/cpu0/online + echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor + echo 800000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + # enable thermal core_control now + echo 1 > /sys/module/msm_thermal/core_control/enabled + + echo "25000 1113600:50000" > /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay + echo 90 > /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load + echo 30000 > /sys/devices/system/cpu/cpufreq/interactive/timer_rate + echo 960000 > /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq + echo 0 > /sys/devices/system/cpu/cpufreq/interactive/io_is_busy + echo "1 800000:85 1113600:90 1267200:80" > /sys/devices/system/cpu/cpufreq/interactive/target_loads + echo 50000 > /sys/devices/system/cpu/cpufreq/interactive/min_sample_time + echo 50000 > /sys/devices/system/cpu/cpufreq/interactive/sampling_down_factor + + # Bring up all cores online + echo 1 > /sys/devices/system/cpu/cpu1/online + echo 1 > /sys/devices/system/cpu/cpu2/online + echo 1 > /sys/devices/system/cpu/cpu3/online + echo 1 > /sys/devices/system/cpu/cpu4/online + + # Enable low power modes + echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled + + for gpu_bimc_io_percent in /sys/class/devfreq/*qcom,gpubw*/bw_hwmon/io_percent + do + echo 40 > $gpu_bimc_io_percent + done + ;; + esac + + # Apply governor settings for 8939 + case "$soc_id" in + "239" | "241" | "263" | "268" | "269" | "270" | "271") + + if [ `cat /sys/devices/soc0/revision` != "3.0" ]; then + # Apply 1.0 and 2.0 specific Sched & Governor settings + + # HMP scheduler load tracking settings + echo 5 > /proc/sys/kernel/sched_ravg_hist_size + + # HMP Task packing settings for 8939, 8929 + echo 20 > /proc/sys/kernel/sched_small_task + + for devfreq_gov in /sys/class/devfreq/*qcom,mincpubw*/governor + do + echo "cpufreq" > $devfreq_gov + done + + for devfreq_gov in /sys/class/devfreq/*qcom,cpubw*/governor + do + echo "bw_hwmon" > $devfreq_gov + for cpu_io_percent in /sys/class/devfreq/*qcom,cpubw*/bw_hwmon/io_percent + do + echo 20 > $cpu_io_percent + done + done + + for gpu_bimc_io_percent in /sys/class/devfreq/*qcom,gpubw*/bw_hwmon/io_percent + do + echo 40 > $gpu_bimc_io_percent + done + # disable thermal core_control to update interactive gov settings + echo 0 > /sys/module/msm_thermal/core_control/enabled + + # enable governor for perf cluster + echo 1 > /sys/devices/system/cpu/cpu0/online + echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor + echo "20000 1113600:50000" > /sys/devices/system/cpu/cpu0/cpufreq/interactive/above_hispeed_delay + echo 85 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/go_hispeed_load + echo 20000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/timer_rate + echo 1113600 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/hispeed_freq + echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/io_is_busy + echo "1 960000:85 1113600:90 1344000:80" > /sys/devices/system/cpu/cpu0/cpufreq/interactive/target_loads + echo 50000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/min_sample_time + echo 50000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/sampling_down_factor + echo 960000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + + # enable governor for power cluster + echo 1 > /sys/devices/system/cpu/cpu4/online + echo "interactive" > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor + echo "25000 800000:50000" > /sys/devices/system/cpu/cpu4/cpufreq/interactive/above_hispeed_delay + echo 90 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/go_hispeed_load + echo 40000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/timer_rate + echo 998400 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq + echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/io_is_busy + echo "1 800000:90" > /sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads + echo 40000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/min_sample_time + echo 40000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/sampling_down_factor + echo 800000 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq + + # enable thermal core_control now + echo 1 > /sys/module/msm_thermal/core_control/enabled + + # Bring up all cores online + echo 1 > /sys/devices/system/cpu/cpu1/online + echo 1 > /sys/devices/system/cpu/cpu2/online + echo 1 > /sys/devices/system/cpu/cpu3/online + echo 1 > /sys/devices/system/cpu/cpu4/online + echo 1 > /sys/devices/system/cpu/cpu5/online + echo 1 > /sys/devices/system/cpu/cpu6/online + echo 1 > /sys/devices/system/cpu/cpu7/online + + # Enable low power modes + echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled + + # HMP scheduler (big.Little cluster related) settings + echo 75 > /proc/sys/kernel/sched_upmigrate + echo 60 > /proc/sys/kernel/sched_downmigrate + + # cpu idle load threshold + echo 30 > /sys/devices/system/cpu/cpu0/sched_mostly_idle_load + echo 30 > /sys/devices/system/cpu/cpu1/sched_mostly_idle_load + echo 30 > /sys/devices/system/cpu/cpu2/sched_mostly_idle_load + echo 30 > /sys/devices/system/cpu/cpu3/sched_mostly_idle_load + echo 30 > /sys/devices/system/cpu/cpu4/sched_mostly_idle_load + echo 30 > /sys/devices/system/cpu/cpu5/sched_mostly_idle_load + echo 30 > /sys/devices/system/cpu/cpu6/sched_mostly_idle_load + echo 30 > /sys/devices/system/cpu/cpu7/sched_mostly_idle_load + + # cpu idle nr run threshold + echo 3 > /sys/devices/system/cpu/cpu0/sched_mostly_idle_nr_run + echo 3 > /sys/devices/system/cpu/cpu1/sched_mostly_idle_nr_run + echo 3 > /sys/devices/system/cpu/cpu2/sched_mostly_idle_nr_run + echo 3 > /sys/devices/system/cpu/cpu3/sched_mostly_idle_nr_run + echo 3 > /sys/devices/system/cpu/cpu4/sched_mostly_idle_nr_run + echo 3 > /sys/devices/system/cpu/cpu5/sched_mostly_idle_nr_run + echo 3 > /sys/devices/system/cpu/cpu6/sched_mostly_idle_nr_run + echo 3 > /sys/devices/system/cpu/cpu7/sched_mostly_idle_nr_run + + else + # Apply 3.0 specific Sched & Governor settings + # HMP scheduler settings for 8939 V3.0 + echo 3 > /proc/sys/kernel/sched_window_stats_policy + echo 3 > /proc/sys/kernel/sched_ravg_hist_size + echo 20000000 > /proc/sys/kernel/sched_ravg_window + + # HMP Task packing settings for 8939 V3.0 + echo 20 > /proc/sys/kernel/sched_small_task + echo 30 > /proc/sys/kernel/sched_mostly_idle_load + echo 3 > /proc/sys/kernel/sched_mostly_idle_nr_run + + echo 0 > /sys/devices/system/cpu/cpu0/sched_prefer_idle + echo 0 > /sys/devices/system/cpu/cpu1/sched_prefer_idle + echo 0 > /sys/devices/system/cpu/cpu2/sched_prefer_idle + echo 0 > /sys/devices/system/cpu/cpu3/sched_prefer_idle + echo 0 > /sys/devices/system/cpu/cpu4/sched_prefer_idle + echo 0 > /sys/devices/system/cpu/cpu5/sched_prefer_idle + echo 0 > /sys/devices/system/cpu/cpu6/sched_prefer_idle + echo 0 > /sys/devices/system/cpu/cpu7/sched_prefer_idle + + for devfreq_gov in /sys/class/devfreq/*qcom,mincpubw*/governor + do + echo "cpufreq" > $devfreq_gov + done + + for devfreq_gov in /sys/class/devfreq/*qcom,cpubw*/governor + do + echo "bw_hwmon" > $devfreq_gov + for cpu_io_percent in /sys/class/devfreq/*qcom,cpubw*/bw_hwmon/io_percent + do + echo 20 > $cpu_io_percent + done + done + + for gpu_bimc_io_percent in /sys/class/devfreq/*qcom,gpubw*/bw_hwmon/io_percent + do + echo 40 > $gpu_bimc_io_percent + done + # disable thermal core_control to update interactive gov settings + echo 0 > /sys/module/msm_thermal/core_control/enabled + + # enable governor for perf cluster + echo 1 > /sys/devices/system/cpu/cpu0/online + echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor + echo "19000 1113600:39000" > /sys/devices/system/cpu/cpu0/cpufreq/interactive/above_hispeed_delay + echo 85 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/go_hispeed_load + echo 20000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/timer_rate + echo 1113600 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/hispeed_freq + echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/io_is_busy + echo "1 960000:85 1113600:90 1344000:80" > /sys/devices/system/cpu/cpu0/cpufreq/interactive/target_loads + echo 40000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/min_sample_time + echo 40000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/sampling_down_factor + echo 960000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + + # enable governor for power cluster + echo 1 > /sys/devices/system/cpu/cpu4/online + echo "interactive" > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor + echo 39000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/above_hispeed_delay + echo 90 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/go_hispeed_load + echo 20000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/timer_rate + echo 800000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq + echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/io_is_busy + echo "1 800000:90" > /sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads + echo 40000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/min_sample_time + echo 40000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/sampling_down_factor + echo 800000 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq + + # enable thermal core_control now + echo 1 > /sys/module/msm_thermal/core_control/enabled + + # Bring up all cores online + echo 1 > /sys/devices/system/cpu/cpu1/online + echo 1 > /sys/devices/system/cpu/cpu2/online + echo 1 > /sys/devices/system/cpu/cpu3/online + echo 1 > /sys/devices/system/cpu/cpu5/online + echo 1 > /sys/devices/system/cpu/cpu6/online + echo 1 > /sys/devices/system/cpu/cpu7/online + + # Enable low power modes + echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled + + # HMP scheduler (big.Little cluster related) settings + echo 93 > /proc/sys/kernel/sched_upmigrate + echo 83 > /proc/sys/kernel/sched_downmigrate + + # Enable sched guided freq control + echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_sched_load + echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_migration_notif + echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/use_sched_load + echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/use_migration_notif + echo 50000 > /proc/sys/kernel/sched_freq_inc_notify + echo 50000 > /proc/sys/kernel/sched_freq_dec_notify + + # Enable core control +# insmod /system/lib/modules/core_ctl.ko + echo 2 > /sys/devices/system/cpu/cpu0/core_ctl/min_cpus + echo 4 > /sys/devices/system/cpu/cpu0/core_ctl/max_cpus + echo 68 > /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 + case "$revision" in + "3.0") + # Enable dynamic clock gatin + echo 1 > /sys/module/lpm_levels/lpm_workarounds/dynamic_clock_gating + ;; + esac + fi + ;; + esac + # Set Memory parameters + configure_memory_parameters + ;; +esac + +case "$target" in + "msm8952") + + if [ -f /sys/devices/soc0/soc_id ]; then + soc_id=`cat /sys/devices/soc0/soc_id` + else + soc_id=`cat /sys/devices/system/soc/soc0/id` + fi + case "$soc_id" in + "264" | "289") + # Apply Scheduler and Governor settings for 8952 + + # HMP scheduler settings + echo 3 > /proc/sys/kernel/sched_window_stats_policy + echo 3 > /proc/sys/kernel/sched_ravg_hist_size + echo 20000000 > /proc/sys/kernel/sched_ravg_window + + # HMP Task packing settings + echo 20 > /proc/sys/kernel/sched_small_task + echo 30 > /sys/devices/system/cpu/cpu0/sched_mostly_idle_load + echo 30 > /sys/devices/system/cpu/cpu1/sched_mostly_idle_load + echo 30 > /sys/devices/system/cpu/cpu2/sched_mostly_idle_load + echo 30 > /sys/devices/system/cpu/cpu3/sched_mostly_idle_load + echo 30 > /sys/devices/system/cpu/cpu4/sched_mostly_idle_load + echo 30 > /sys/devices/system/cpu/cpu5/sched_mostly_idle_load + echo 30 > /sys/devices/system/cpu/cpu6/sched_mostly_idle_load + echo 30 > /sys/devices/system/cpu/cpu7/sched_mostly_idle_load + + echo 3 > /sys/devices/system/cpu/cpu0/sched_mostly_idle_nr_run + echo 3 > /sys/devices/system/cpu/cpu1/sched_mostly_idle_nr_run + echo 3 > /sys/devices/system/cpu/cpu2/sched_mostly_idle_nr_run + echo 3 > /sys/devices/system/cpu/cpu3/sched_mostly_idle_nr_run + echo 3 > /sys/devices/system/cpu/cpu4/sched_mostly_idle_nr_run + echo 3 > /sys/devices/system/cpu/cpu5/sched_mostly_idle_nr_run + echo 3 > /sys/devices/system/cpu/cpu6/sched_mostly_idle_nr_run + echo 3 > /sys/devices/system/cpu/cpu7/sched_mostly_idle_nr_run + + echo 0 > /sys/devices/system/cpu/cpu0/sched_prefer_idle + echo 0 > /sys/devices/system/cpu/cpu1/sched_prefer_idle + echo 0 > /sys/devices/system/cpu/cpu2/sched_prefer_idle + echo 0 > /sys/devices/system/cpu/cpu3/sched_prefer_idle + echo 0 > /sys/devices/system/cpu/cpu4/sched_prefer_idle + echo 0 > /sys/devices/system/cpu/cpu5/sched_prefer_idle + echo 0 > /sys/devices/system/cpu/cpu6/sched_prefer_idle + echo 0 > /sys/devices/system/cpu/cpu7/sched_prefer_idle + + echo 0 > /proc/sys/kernel/sched_boost + + for devfreq_gov in /sys/class/devfreq/*qcom,mincpubw*/governor + do + echo "cpufreq" > $devfreq_gov + done + + for devfreq_gov in /sys/class/devfreq/*qcom,cpubw*/governor + do + echo "bw_hwmon" > $devfreq_gov + for cpu_io_percent in /sys/class/devfreq/*qcom,cpubw*/bw_hwmon/io_percent + do + echo 20 > $cpu_io_percent + done + for cpu_guard_band in /sys/class/devfreq/*qcom,cpubw*/bw_hwmon/guard_band_mbps + do + echo 30 > $cpu_guard_band + done + done + + for gpu_bimc_io_percent in /sys/class/devfreq/qcom,gpubw*/bw_hwmon/io_percent + do + echo 40 > $gpu_bimc_io_percent + done + # disable thermal & BCL core_control to update interactive gov settings + echo 0 > /sys/module/msm_thermal/core_control/enabled + for mode in /sys/devices/soc.0/qcom,bcl.*/mode + do + echo -n disable > $mode + done + for hotplug_mask in /sys/devices/soc.0/qcom,bcl.*/hotplug_mask + do + bcl_hotplug_mask=`cat $hotplug_mask` + echo 0 > $hotplug_mask + done + for hotplug_soc_mask in /sys/devices/soc.0/qcom,bcl.*/hotplug_soc_mask + do + bcl_soc_hotplug_mask=`cat $hotplug_soc_mask` + echo 0 > $hotplug_soc_mask + done + for mode in /sys/devices/soc.0/qcom,bcl.*/mode + do + echo -n enable > $mode + done + + # enable governor for perf cluster + echo 1 > /sys/devices/system/cpu/cpu0/online + echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor + echo "19000 1113600:39000" > /sys/devices/system/cpu/cpu0/cpufreq/interactive/above_hispeed_delay + echo 85 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/go_hispeed_load + echo 20000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/timer_rate + echo 1113600 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/hispeed_freq + echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/io_is_busy + echo "1 960000:85 1113600:90 1344000:80" > /sys/devices/system/cpu/cpu0/cpufreq/interactive/target_loads + echo 40000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/min_sample_time + echo 40000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/sampling_down_factor + echo 960000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + + # enable governor for power cluster + echo 1 > /sys/devices/system/cpu/cpu4/online + echo "interactive" > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor + echo 39000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/above_hispeed_delay + echo 90 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/go_hispeed_load + echo 20000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/timer_rate + echo 806400 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq + echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/io_is_busy + echo "1 806400:90" > /sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads + echo 40000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/min_sample_time + echo 40000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/sampling_down_factor + echo 806400 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq + + # Bring up all cores online + echo 1 > /sys/devices/system/cpu/cpu1/online + echo 1 > /sys/devices/system/cpu/cpu2/online + echo 1 > /sys/devices/system/cpu/cpu3/online + echo 1 > /sys/devices/system/cpu/cpu4/online + echo 1 > /sys/devices/system/cpu/cpu5/online + echo 1 > /sys/devices/system/cpu/cpu6/online + echo 1 > /sys/devices/system/cpu/cpu7/online + + # Enable Low power modes + echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled + + # HMP scheduler (big.Little cluster related) settings + echo 93 > /proc/sys/kernel/sched_upmigrate + echo 83 > /proc/sys/kernel/sched_downmigrate + + # Enable sched guided freq control + echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_sched_load + echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_migration_notif + echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/use_sched_load + echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/use_migration_notif + echo 50000 > /proc/sys/kernel/sched_freq_inc_notify + echo 50000 > /proc/sys/kernel/sched_freq_dec_notify + + # Enable core control + echo 2 > /sys/devices/system/cpu/cpu0/core_ctl/min_cpus + echo 4 > /sys/devices/system/cpu/cpu0/core_ctl/max_cpus + echo 68 > /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 1 > /sys/devices/system/cpu/cpu0/core_ctl/is_big_cluster + + # re-enable thermal & BCL core_control now + echo 1 > /sys/module/msm_thermal/core_control/enabled + for mode in /sys/devices/soc.0/qcom,bcl.*/mode + do + echo -n disable > $mode + done + for hotplug_mask in /sys/devices/soc.0/qcom,bcl.*/hotplug_mask + do + echo $bcl_hotplug_mask > $hotplug_mask + done + for hotplug_soc_mask in /sys/devices/soc.0/qcom,bcl.*/hotplug_soc_mask + do + echo $bcl_soc_hotplug_mask > $hotplug_soc_mask + done + for mode in /sys/devices/soc.0/qcom,bcl.*/mode + do + echo -n enable > $mode + done + + # Enable dynamic clock gating + echo 1 > /sys/module/lpm_levels/lpm_workarounds/dynamic_clock_gating + # Enable timer migration to little cluster + echo 1 > /proc/sys/kernel/power_aware_timer_migration + + # Set Memory parameters + configure_memory_parameters + + ;; + *) + panel=`cat /sys/class/graphics/fb0/modes` + if [ "${panel:5:1}" == "x" ]; then + panel=${panel:2:3} + else + panel=${panel:2:4} + fi + + # Apply Scheduler and Governor settings for 8976 + # SoC IDs are 266, 274, 277, 278 + + # HMP scheduler (big.Little cluster related) settings + echo 95 > /proc/sys/kernel/sched_upmigrate + echo 85 > /proc/sys/kernel/sched_downmigrate + + echo 2 > /proc/sys/kernel/sched_window_stats_policy + echo 5 > /proc/sys/kernel/sched_ravg_hist_size + + echo 3 > /sys/devices/system/cpu/cpu0/sched_mostly_idle_nr_run + echo 3 > /sys/devices/system/cpu/cpu1/sched_mostly_idle_nr_run + echo 3 > /sys/devices/system/cpu/cpu2/sched_mostly_idle_nr_run + echo 3 > /sys/devices/system/cpu/cpu3/sched_mostly_idle_nr_run + echo 3 > /sys/devices/system/cpu/cpu4/sched_mostly_idle_nr_run + echo 3 > /sys/devices/system/cpu/cpu5/sched_mostly_idle_nr_run + echo 3 > /sys/devices/system/cpu/cpu6/sched_mostly_idle_nr_run + echo 3 > /sys/devices/system/cpu/cpu7/sched_mostly_idle_nr_run + + for devfreq_gov in /sys/class/devfreq/*qcom,mincpubw*/governor + do + echo "cpufreq" > $devfreq_gov + done + + for devfreq_gov in /sys/class/devfreq/*qcom,cpubw*/governor + do + echo "bw_hwmon" > $devfreq_gov + for cpu_io_percent in /sys/class/devfreq/*qcom,cpubw*/bw_hwmon/io_percent + do + echo 20 > $cpu_io_percent + done + for cpu_guard_band in /sys/class/devfreq/*qcom,cpubw*/bw_hwmon/guard_band_mbps + do + echo 30 > $cpu_guard_band + done + done + + for gpu_bimc_io_percent in /sys/class/devfreq/qcom,gpubw*/bw_hwmon/io_percent + do + echo 40 > $gpu_bimc_io_percent + done + # disable thermal & BCL core_control to update interactive gov settings + echo 0 > /sys/module/msm_thermal/core_control/enabled + for mode in /sys/devices/soc.0/qcom,bcl.*/mode + do + echo -n disable > $mode + done + for hotplug_mask in /sys/devices/soc.0/qcom,bcl.*/hotplug_mask + do + bcl_hotplug_mask=`cat $hotplug_mask` + echo 0 > $hotplug_mask + done + for hotplug_soc_mask in /sys/devices/soc.0/qcom,bcl.*/hotplug_soc_mask + do + bcl_soc_hotplug_mask=`cat $hotplug_soc_mask` + echo 0 > $hotplug_soc_mask + done + for mode in /sys/devices/soc.0/qcom,bcl.*/mode + do + echo -n enable > $mode + done + + # enable governor for power cluster + echo 1 > /sys/devices/system/cpu/cpu0/online + echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor + echo 80 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/go_hispeed_load + echo 20000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/timer_rate + echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/io_is_busy + echo 40000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/min_sample_time + echo 691200 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + + # enable governor for perf cluster + echo 1 > /sys/devices/system/cpu/cpu4/online + echo "interactive" > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor + echo 85 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/go_hispeed_load + echo 20000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/timer_rate + echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/io_is_busy + echo 40000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/min_sample_time + echo 40000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/sampling_down_factor + echo 883200 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq + echo 60000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/max_freq_hysteresis + + if [ $panel -gt 1080 ]; then + #set texture cache size for resolution greater than 1080p + setprop ro.hwui.texture_cache_size 72 + fi + + echo 59000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/above_hispeed_delay + echo 1305600 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/hispeed_freq + echo "1 691200:80" > /sys/devices/system/cpu/cpu0/cpufreq/interactive/target_loads + echo 1382400 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq + echo "19000 1382400:39000" > /sys/devices/system/cpu/cpu4/cpufreq/interactive/above_hispeed_delay + echo "85 1382400:90 1747200:80" > /sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads + # HMP Task packing settings for 8976 + echo 30 > /proc/sys/kernel/sched_small_task + echo 20 > /sys/devices/system/cpu/cpu0/sched_mostly_idle_load + echo 20 > /sys/devices/system/cpu/cpu1/sched_mostly_idle_load + echo 20 > /sys/devices/system/cpu/cpu2/sched_mostly_idle_load + echo 20 > /sys/devices/system/cpu/cpu3/sched_mostly_idle_load + echo 20 > /sys/devices/system/cpu/cpu4/sched_mostly_idle_load + echo 20 > /sys/devices/system/cpu/cpu5/sched_mostly_idle_load + echo 20 > /sys/devices/system/cpu/cpu6/sched_mostly_idle_load + echo 20 > /sys/devices/system/cpu/cpu7/sched_mostly_idle_load + + echo 0 > /proc/sys/kernel/sched_boost + + # Bring up all cores online + echo 1 > /sys/devices/system/cpu/cpu1/online + echo 1 > /sys/devices/system/cpu/cpu2/online + echo 1 > /sys/devices/system/cpu/cpu3/online + echo 1 > /sys/devices/system/cpu/cpu4/online + echo 1 > /sys/devices/system/cpu/cpu5/online + echo 1 > /sys/devices/system/cpu/cpu6/online + echo 1 > /sys/devices/system/cpu/cpu7/online + + #Disable CPU retention modes for 32bit builds + ProductName=`getprop ro.product.name` + if [ "$ProductName" == "msm8952_32" ] || [ "$ProductName" == "msm8952_32_LMT" ]; then + echo N > /sys/module/lpm_levels/system/a72/cpu4/retention/idle_enabled + echo N > /sys/module/lpm_levels/system/a72/cpu5/retention/idle_enabled + echo N > /sys/module/lpm_levels/system/a72/cpu6/retention/idle_enabled + echo N > /sys/module/lpm_levels/system/a72/cpu7/retention/idle_enabled + fi + + if [ `cat /sys/devices/soc0/revision` == "1.0" ]; then + # Disable l2-pc and l2-gdhs low power modes + echo N > /sys/module/lpm_levels/system/a53/a53-l2-gdhs/idle_enabled + echo N > /sys/module/lpm_levels/system/a72/a72-l2-gdhs/idle_enabled + echo N > /sys/module/lpm_levels/system/a53/a53-l2-pc/idle_enabled + echo N > /sys/module/lpm_levels/system/a72/a72-l2-pc/idle_enabled + fi + + # Enable LPM Prediction + echo 1 > /sys/module/lpm_levels/parameters/lpm_prediction + + # Enable Low power modes + echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled + # Disable L2 GDHS on 8976 + echo N > /sys/module/lpm_levels/system/a53/a53-l2-gdhs/idle_enabled + echo N > /sys/module/lpm_levels/system/a72/a72-l2-gdhs/idle_enabled + + # Enable sched guided freq control + echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_sched_load + echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_migration_notif + echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/use_sched_load + echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/use_migration_notif + echo 50000 > /proc/sys/kernel/sched_freq_inc_notify + echo 50000 > /proc/sys/kernel/sched_freq_dec_notify + + # Enable core control + #for 8976 + echo 2 > /sys/devices/system/cpu/cpu4/core_ctl/min_cpus + echo 4 > /sys/devices/system/cpu/cpu4/core_ctl/max_cpus + echo 68 > /sys/devices/system/cpu/cpu4/core_ctl/busy_up_thres + echo 40 > /sys/devices/system/cpu/cpu4/core_ctl/busy_down_thres + echo 100 > /sys/devices/system/cpu/cpu4/core_ctl/offline_delay_ms + echo 1 > /sys/devices/system/cpu/cpu4/core_ctl/is_big_cluster + + # re-enable thermal & BCL core_control now + echo 1 > /sys/module/msm_thermal/core_control/enabled + for mode in /sys/devices/soc.0/qcom,bcl.*/mode + do + echo -n disable > $mode + done + for hotplug_mask in /sys/devices/soc.0/qcom,bcl.*/hotplug_mask + do + echo $bcl_hotplug_mask > $hotplug_mask + done + for hotplug_soc_mask in /sys/devices/soc.0/qcom,bcl.*/hotplug_soc_mask + do + echo $bcl_soc_hotplug_mask > $hotplug_soc_mask + done + for mode in /sys/devices/soc.0/qcom,bcl.*/mode + do + echo -n enable > $mode + done + + # Enable timer migration to little cluster + echo 1 > /proc/sys/kernel/power_aware_timer_migration + + case "$soc_id" in + "277" | "278") + # Start energy-awareness for 8976 + start energy-awareness + ;; + esac + + #enable sched colocation and colocation inheritance + echo 130 > /proc/sys/kernel/sched_grp_upmigrate + echo 110 > /proc/sys/kernel/sched_grp_downmigrate + echo 1 > /proc/sys/kernel/sched_enable_thread_grouping + + # Set Memory parameters + configure_memory_parameters + + ;; + esac + #Enable Memory Features + enable_memory_features + restorecon -R /sys/devices/system/cpu + ;; +esac + +case "$target" in + "msm8953") + + if [ -f /sys/devices/soc0/soc_id ]; then + soc_id=`cat /sys/devices/soc0/soc_id` + else + soc_id=`cat /sys/devices/system/soc/soc0/id` + fi + + if [ -f /sys/devices/soc0/hw_platform ]; then + hw_platform=`cat /sys/devices/soc0/hw_platform` + else + hw_platform=`cat /sys/devices/system/soc/soc0/hw_platform` + fi + + if [ -f /sys/devices/soc0/platform_subtype_id ]; then + platform_subtype_id=`cat /sys/devices/soc0/platform_subtype_id` + fi + + echo 0 > /proc/sys/kernel/sched_boost + + case "$soc_id" in + "293" | "304" | "338" | "351") + + # Start Host based Touch processing + case "$hw_platform" in + "MTP" | "Surf" | "RCM" ) + #if this directory is present, it means that a + #1200p panel is connected to the device. + dir="/sys/bus/i2c/devices/3-0038" + if [ ! -d "$dir" ]; then + start_hbtp + fi + ;; + esac + + if [ $soc_id -eq "338" ]; then + case "$hw_platform" in + "QRD" ) + if [ $platform_subtype_id -eq "1" ]; then + start_hbtp + fi + ;; + esac + fi + + #init task load, restrict wakeups to preferred cluster + echo 15 > /proc/sys/kernel/sched_init_task_load + + for devfreq_gov in /sys/class/devfreq/qcom,mincpubw*/governor + do + echo "cpufreq" > $devfreq_gov + done + + for devfreq_gov in /sys/class/devfreq/soc:qcom,cpubw/governor + do + echo "bw_hwmon" > $devfreq_gov + for cpu_io_percent in /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/io_percent + do + echo 34 > $cpu_io_percent + done + for cpu_guard_band in /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/guard_band_mbps + do + echo 0 > $cpu_guard_band + done + for cpu_hist_memory in /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/hist_memory + do + echo 20 > $cpu_hist_memory + done + for cpu_hyst_length in /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/hyst_length + do + echo 10 > $cpu_hyst_length + done + for cpu_idle_mbps in /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/idle_mbps + do + echo 1600 > $cpu_idle_mbps + done + for cpu_low_power_delay in /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/low_power_delay + do + echo 20 > $cpu_low_power_delay + done + for cpu_low_power_io_percent in /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/low_power_io_percent + do + echo 34 > $cpu_low_power_io_percent + done + for cpu_mbps_zones in /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/mbps_zones + do + echo "1611 3221 5859 6445 7104" > $cpu_mbps_zones + done + for cpu_sample_ms in /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/sample_ms + do + echo 4 > $cpu_sample_ms + done + for cpu_up_scale in /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/up_scale + do + echo 250 > $cpu_up_scale + done + for cpu_min_freq in /sys/class/devfreq/soc:qcom,cpubw/min_freq + do + echo 1611 > $cpu_min_freq + done + done + + for gpu_bimc_io_percent in /sys/class/devfreq/soc:qcom,gpubw/bw_hwmon/io_percent + do + echo 40 > $gpu_bimc_io_percent + done + + # disable thermal & BCL core_control to update interactive gov settings + echo 0 > /sys/module/msm_thermal/core_control/enabled + for mode in /sys/devices/soc.0/qcom,bcl.*/mode + do + echo -n disable > $mode + done + for hotplug_mask in /sys/devices/soc.0/qcom,bcl.*/hotplug_mask + do + bcl_hotplug_mask=`cat $hotplug_mask` + echo 0 > $hotplug_mask + done + for hotplug_soc_mask in /sys/devices/soc.0/qcom,bcl.*/hotplug_soc_mask + do + bcl_soc_hotplug_mask=`cat $hotplug_soc_mask` + echo 0 > $hotplug_soc_mask + done + for mode in /sys/devices/soc.0/qcom,bcl.*/mode + do + echo -n enable > $mode + done + + #if the kernel version >=4.9,use the schedutil governor + KernelVersionStr=`cat /proc/sys/kernel/osrelease` + KernelVersionS=${KernelVersionStr:2:2} + KernelVersionA=${KernelVersionStr:0:1} + KernelVersionB=${KernelVersionS%.*} + if [ $KernelVersionA -ge 4 ] && [ $KernelVersionB -ge 9 ]; then + 8953_sched_dcvs_eas + else + 8953_sched_dcvs_hmp + fi + echo 652800 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + + # Bring up all cores online + echo 1 > /sys/devices/system/cpu/cpu1/online + echo 1 > /sys/devices/system/cpu/cpu2/online + echo 1 > /sys/devices/system/cpu/cpu3/online + echo 1 > /sys/devices/system/cpu/cpu4/online + echo 1 > /sys/devices/system/cpu/cpu5/online + echo 1 > /sys/devices/system/cpu/cpu6/online + echo 1 > /sys/devices/system/cpu/cpu7/online + + # Enable low power modes + echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled + + # re-enable thermal & BCL core_control now + echo 1 > /sys/module/msm_thermal/core_control/enabled + for mode in /sys/devices/soc.0/qcom,bcl.*/mode + do + echo -n disable > $mode + done + for hotplug_mask in /sys/devices/soc.0/qcom,bcl.*/hotplug_mask + do + echo $bcl_hotplug_mask > $hotplug_mask + done + for hotplug_soc_mask in /sys/devices/soc.0/qcom,bcl.*/hotplug_soc_mask + do + echo $bcl_soc_hotplug_mask > $hotplug_soc_mask + done + for mode in /sys/devices/soc.0/qcom,bcl.*/mode + do + echo -n enable > $mode + done + + # SMP scheduler + echo 85 > /proc/sys/kernel/sched_upmigrate + echo 85 > /proc/sys/kernel/sched_downmigrate + + # Set Memory parameters + configure_memory_parameters + ;; + esac + case "$soc_id" in + "349" | "350") + + # Start Host based Touch processing + case "$hw_platform" in + "MTP" | "Surf" | "RCM" | "QRD" ) + start_hbtp + ;; + esac + + for devfreq_gov in /sys/class/devfreq/qcom,mincpubw*/governor + do + echo "cpufreq" > $devfreq_gov + done + for cpubw in /sys/class/devfreq/*qcom,cpubw* + do + echo "bw_hwmon" > $cpubw/governor + echo 50 > $cpubw/polling_interval + echo "1611 3221 5859 6445 7104" > $cpubw/bw_hwmon/mbps_zones + echo 4 > $cpubw/bw_hwmon/sample_ms + echo 34 > $cpubw/bw_hwmon/io_percent + echo 20 > $cpubw/bw_hwmon/hist_memory + echo 80 > $cpubw/bw_hwmon/down_thres + echo 0 > $cpubw/bw_hwmon/hyst_length + echo 0 > $cpubw/bw_hwmon/guard_band_mbps + echo 250 > $cpubw/bw_hwmon/up_scale + echo 1600 > $cpubw/bw_hwmon/idle_mbps + done + + # Configure DCC module to capture critical register contents when device crashes + for DCC_PATH in /sys/bus/platform/devices/*.dcc* + do + echo 0 > $DCC_PATH/enable + echo cap > $DCC_PATH/func_type + echo sram > $DCC_PATH/data_sink + echo 1 > $DCC_PATH/config_reset + + # Register specifies APC CPR closed-loop settled voltage for current voltage corner + echo 0xb1d2c18 1 > $DCC_PATH/config + + # Register specifies SW programmed open-loop voltage for current voltage corner + echo 0xb1d2900 1 > $DCC_PATH/config + + # Register specifies APM switch settings and APM FSM state + echo 0xb1112b0 1 > $DCC_PATH/config + + # Register specifies CPR mode change state and also #online cores input to CPR HW + echo 0xb018798 1 > $DCC_PATH/config + + echo 1 > $DCC_PATH/enable + done + + # disable thermal & BCL core_control to update interactive gov settings + echo 0 > /sys/module/msm_thermal/core_control/enabled + for mode in /sys/devices/soc.0/qcom,bcl.*/mode + do + echo -n disable > $mode + done + for hotplug_mask in /sys/devices/soc.0/qcom,bcl.*/hotplug_mask + do + bcl_hotplug_mask=`cat $hotplug_mask` + echo 0 > $hotplug_mask + done + for hotplug_soc_mask in /sys/devices/soc.0/qcom,bcl.*/hotplug_soc_mask + do + bcl_soc_hotplug_mask=`cat $hotplug_soc_mask` + echo 0 > $hotplug_soc_mask + done + for mode in /sys/devices/soc.0/qcom,bcl.*/mode + do + echo -n enable > $mode + done + + # configure governor settings for little cluster + echo 1 > /sys/devices/system/cpu/cpu0/online + echo "schedutil" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor + echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/rate_limit_us + echo 1363200 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_freq + #default value for hispeed_load is 90, for sdm632 it should be 85 + echo 85 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_load + # sched_load_boost as -6 is equivalent to target load as 85. + echo -6 > /sys/devices/system/cpu/cpu0/sched_load_boost + echo -6 > /sys/devices/system/cpu/cpu1/sched_load_boost + echo -6 > /sys/devices/system/cpu/cpu2/sched_load_boost + echo -6 > /sys/devices/system/cpu/cpu3/sched_load_boost + + # configure governor settings for big cluster + echo 1 > /sys/devices/system/cpu/cpu4/online + echo "schedutil" > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor + echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/rate_limit_us + echo 1401600 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/hispeed_freq + #default value for hispeed_load is 90, for sdm632 it should be 85 + echo 85 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/hispeed_load + # sched_load_boost as -6 is equivalent to target load as 85. + 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/cpu7/sched_load_boost + echo -6 > /sys/devices/system/cpu/cpu6/sched_load_boost + + echo 614400 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + echo 633600 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq + + # cpuset settings + echo 0-3 > /dev/cpuset/background/cpus + echo 0-3 > /dev/cpuset/system-background/cpus + # choose idle CPU for top app tasks + echo 1 > /dev/stune/top-app/schedtune.prefer_idle + + # re-enable thermal & BCL core_control now + echo 1 > /sys/module/msm_thermal/core_control/enabled + for mode in /sys/devices/soc.0/qcom,bcl.*/mode + do + echo -n disable > $mode + done + for hotplug_mask in /sys/devices/soc.0/qcom,bcl.*/hotplug_mask + do + echo $bcl_hotplug_mask > $hotplug_mask + done + for hotplug_soc_mask in /sys/devices/soc.0/qcom,bcl.*/hotplug_soc_mask + do + echo $bcl_soc_hotplug_mask > $hotplug_soc_mask + done + for mode in /sys/devices/soc.0/qcom,bcl.*/mode + do + echo -n enable > $mode + done + + # Disable Core control + echo 0 > /sys/devices/system/cpu/cpu0/core_ctl/enable + echo 0 > /sys/devices/system/cpu/cpu4/core_ctl/enable + + # Bring up all cores online + echo 1 > /sys/devices/system/cpu/cpu1/online + echo 1 > /sys/devices/system/cpu/cpu2/online + echo 1 > /sys/devices/system/cpu/cpu3/online + echo 1 > /sys/devices/system/cpu/cpu4/online + echo 1 > /sys/devices/system/cpu/cpu5/online + echo 1 > /sys/devices/system/cpu/cpu6/online + echo 1 > /sys/devices/system/cpu/cpu7/online + + # Enable low power modes + echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled + + # Set Memory parameters + configure_memory_parameters + + # Setting b.L scheduler parameters + echo 76 > /proc/sys/kernel/sched_downmigrate + echo 86 > /proc/sys/kernel/sched_upmigrate + echo 80 > /proc/sys/kernel/sched_group_downmigrate + echo 90 > /proc/sys/kernel/sched_group_upmigrate + echo 1 > /proc/sys/kernel/sched_walt_rotate_big_tasks + + # Enable min frequency adjustment for big cluster + if [ -f /sys/module/big_cluster_min_freq_adjust/parameters/min_freq_cluster ]; then + echo "4-7" > /sys/module/big_cluster_min_freq_adjust/parameters/min_freq_cluster + fi + echo 1 > /sys/module/big_cluster_min_freq_adjust/parameters/min_freq_adjust + + ;; + esac + ;; +esac + +case "$target" in + "msm8937") + + if [ -f /sys/devices/soc0/soc_id ]; then + soc_id=`cat /sys/devices/soc0/soc_id` + else + soc_id=`cat /sys/devices/system/soc/soc0/id` + fi + + if [ -f /sys/devices/soc0/hw_platform ]; then + hw_platform=`cat /sys/devices/soc0/hw_platform` + else + hw_platform=`cat /sys/devices/system/soc/soc0/hw_platform` + fi + if [ -f /sys/devices/soc0/platform_subtype_id ]; then + platform_subtype_id=`cat /sys/devices/soc0/platform_subtype_id` + fi + + # Socid 386 = Pukeena + case "$soc_id" in + "303" | "307" | "308" | "309" | "320" | "386" | "436") + + # Start Host based Touch processing + case "$hw_platform" in + "MTP" ) + start_hbtp + ;; + esac + + case "$hw_platform" in + "Surf" | "RCM" ) + if [ $platform_subtype_id -ne "4" ]; then + start_hbtp + fi + ;; + esac + # Apply Scheduler and Governor settings for 8917 / 8920 + + echo 20000000 > /proc/sys/kernel/sched_ravg_window + + #disable sched_boost in 8917 + echo 0 > /proc/sys/kernel/sched_boost + + # core_ctl is not needed for 8917. Disable it. + disable_core_ctl + + for devfreq_gov in /sys/class/devfreq/qcom,mincpubw*/governor + do + echo "cpufreq" > $devfreq_gov + done + + for devfreq_gov in /sys/class/devfreq/soc:qcom,cpubw/governor + do + echo "bw_hwmon" > $devfreq_gov + for cpu_io_percent in /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/io_percent + do + echo 20 > $cpu_io_percent + done + for cpu_guard_band in /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/guard_band_mbps + do + echo 30 > $cpu_guard_band + done + done + + for gpu_bimc_io_percent in /sys/class/devfreq/soc:qcom,gpubw/bw_hwmon/io_percent + do + echo 40 > $gpu_bimc_io_percent + done + + # disable thermal core_control to update interactive gov settings + echo 0 > /sys/module/msm_thermal/core_control/enabled + + KernelVersionStr=`cat /proc/sys/kernel/osrelease` + KernelVersionS=${KernelVersionStr:2:2} + KernelVersionA=${KernelVersionStr:0:1} + KernelVersionB=${KernelVersionS%.*} + if [ $KernelVersionA -ge 4 ] && [ $KernelVersionB -ge 9 ]; then + 8917_sched_dcvs_eas + else + 8917_sched_dcvs_hmp + fi + echo 960000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + # re-enable thermal core_control now + echo 1 > /sys/module/msm_thermal/core_control/enabled + + # Disable L2-GDHS low power modes + echo N > /sys/module/lpm_levels/perf/perf-l2-gdhs/idle_enabled + echo N > /sys/module/lpm_levels/perf/perf-l2-gdhs/suspend_enabled + + # Bring up all cores online + echo 1 > /sys/devices/system/cpu/cpu1/online + echo 1 > /sys/devices/system/cpu/cpu2/online + echo 1 > /sys/devices/system/cpu/cpu3/online + + # Enable low power modes + echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled + + # Set rps mask + echo 2 > /sys/class/net/rmnet0/queues/rx-0/rps_cpus + + # Enable dynamic clock gating + echo 1 > /sys/module/lpm_levels/lpm_workarounds/dynamic_clock_gating + # Enable timer migration to little cluster + echo 1 > /proc/sys/kernel/power_aware_timer_migration + # Set Memory parameters + configure_memory_parameters + ;; + *) + ;; + esac + + case "$soc_id" in + "294" | "295" | "313" ) + + # Start Host based Touch processing + case "$hw_platform" in + "MTP" | "Surf" | "RCM" ) + start_hbtp + ;; + esac + + # Apply Scheduler and Governor settings for 8937/8940 + + # HMP scheduler settings + echo 3 > /proc/sys/kernel/sched_window_stats_policy + echo 3 > /proc/sys/kernel/sched_ravg_hist_size + echo 20000000 > /proc/sys/kernel/sched_ravg_window + + #disable sched_boost in 8937 + echo 0 > /proc/sys/kernel/sched_boost + + for devfreq_gov in /sys/class/devfreq/qcom,mincpubw*/governor + do + echo "cpufreq" > $devfreq_gov + done + + for devfreq_gov in /sys/class/devfreq/soc:qcom,cpubw/governor + do + echo "bw_hwmon" > $devfreq_gov + for cpu_io_percent in /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/io_percent + do + echo 20 > $cpu_io_percent + done + for cpu_guard_band in /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/guard_band_mbps + do + echo 30 > $cpu_guard_band + done + done + + for gpu_bimc_io_percent in /sys/class/devfreq/soc:qcom,gpubw/bw_hwmon/io_percent + do + echo 40 > $gpu_bimc_io_percent + done + + # disable thermal core_control to update interactive gov and core_ctl settings + echo 0 > /sys/module/msm_thermal/core_control/enabled + + KernelVersionStr=`cat /proc/sys/kernel/osrelease` + KernelVersionS=${KernelVersionStr:2:2} + KernelVersionA=${KernelVersionStr:0:1} + KernelVersionB=${KernelVersionS%.*} + if [ $KernelVersionA -ge 4 ] && [ $KernelVersionB -ge 9 ]; then + 8937_sched_dcvs_eas + else + 8937_sched_dcvs_hmp + fi + echo 960000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + echo 768000 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq + # Disable L2-GDHS low power modes + echo N > /sys/module/lpm_levels/system/pwr/pwr-l2-gdhs/idle_enabled + echo N > /sys/module/lpm_levels/system/pwr/pwr-l2-gdhs/suspend_enabled + echo N > /sys/module/lpm_levels/system/perf/perf-l2-gdhs/idle_enabled + echo N > /sys/module/lpm_levels/system/perf/perf-l2-gdhs/suspend_enabled + + # Bring up all cores online + echo 1 > /sys/devices/system/cpu/cpu1/online + echo 1 > /sys/devices/system/cpu/cpu2/online + echo 1 > /sys/devices/system/cpu/cpu3/online + echo 1 > /sys/devices/system/cpu/cpu4/online + echo 1 > /sys/devices/system/cpu/cpu5/online + echo 1 > /sys/devices/system/cpu/cpu6/online + echo 1 > /sys/devices/system/cpu/cpu7/online + + # Enable low power modes + echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled + + # HMP scheduler (big.Little cluster related) settings + echo 93 > /proc/sys/kernel/sched_upmigrate + echo 83 > /proc/sys/kernel/sched_downmigrate + + # Enable core control + echo 2 > /sys/devices/system/cpu/cpu0/core_ctl/min_cpus + echo 4 > /sys/devices/system/cpu/cpu0/core_ctl/max_cpus + echo 68 > /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 1 > /sys/devices/system/cpu/cpu0/core_ctl/is_big_cluster + + # re-enable thermal core_control + echo 1 > /sys/module/msm_thermal/core_control/enabled + + # Enable dynamic clock gating + echo 1 > /sys/module/lpm_levels/lpm_workarounds/dynamic_clock_gating + # Enable timer migration to little cluster + echo 1 > /proc/sys/kernel/power_aware_timer_migration + # Set Memory parameters + configure_memory_parameters + ;; + *) + + ;; + esac + + case "$soc_id" in + "354" | "364" | "353" | "363" ) + + # Start Host based Touch processing + case "$hw_platform" in + "MTP" | "Surf" | "RCM" | "QRD" ) + start_hbtp + ;; + esac + + # Apply settings for sdm429/sda429/sdm439/sda439 + + for cpubw in /sys/class/devfreq/*qcom,mincpubw* + do + echo "cpufreq" > $cpubw/governor + done + + for cpubw in /sys/class/devfreq/*qcom,cpubw* + do + echo "bw_hwmon" > $cpubw/governor + echo 20 > $cpubw/bw_hwmon/io_percent + echo 30 > $cpubw/bw_hwmon/guard_band_mbps + done + + for gpu_bimc_io_percent in /sys/class/devfreq/soc:qcom,gpubw/bw_hwmon/io_percent + do + echo 40 > $gpu_bimc_io_percent + done + + case "$soc_id" in + "353" | "363" ) + # Apply settings for sdm439/sda439 + # configure schedutil governor settings + # enable governor for perf cluster + echo 1 > /sys/devices/system/cpu/cpu0/online + echo "schedutil" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor + echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/rate_limit_us + #set the hispeed_freq + echo 1497600 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_freq + echo 80 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_load + echo 960000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + # sched_load_boost as -6 is equivalent to target load as 85. + echo -6 > /sys/devices/system/cpu/cpu0/sched_load_boost + echo -6 > /sys/devices/system/cpu/cpu1/sched_load_boost + echo -6 > /sys/devices/system/cpu/cpu2/sched_load_boost + echo -6 > /sys/devices/system/cpu/cpu3/sched_load_boost + + ## enable governor for power cluster + echo 1 > /sys/devices/system/cpu/cpu4/online + echo "schedutil" > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor + echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/rate_limit_us + #set the hispeed_freq + echo 998400 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/hispeed_freq + echo 85 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/hispeed_load + echo 768000 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq + # sched_load_boost as -6 is equivalent to target load as 85. + 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 -6 > /sys/devices/system/cpu/cpu7/sched_load_boost + + # EAS scheduler (big.Little cluster related) settings + echo 93 > /proc/sys/kernel/sched_upmigrate + echo 83 > /proc/sys/kernel/sched_downmigrate + echo 140 > /proc/sys/kernel/sched_group_upmigrate + echo 120 > /proc/sys/kernel/sched_group_downmigrate + + # cpuset settings + #echo 0-3 > /dev/cpuset/background/cpus + #echo 0-3 > /dev/cpuset/system-background/cpus + + # Bring up all cores online + echo 1 > /sys/devices/system/cpu/cpu1/online + echo 1 > /sys/devices/system/cpu/cpu2/online + echo 1 > /sys/devices/system/cpu/cpu3/online + echo 1 > /sys/devices/system/cpu/cpu4/online + echo 1 > /sys/devices/system/cpu/cpu5/online + echo 1 > /sys/devices/system/cpu/cpu6/online + echo 1 > /sys/devices/system/cpu/cpu7/online + + # Enable core control + echo 2 > /sys/devices/system/cpu/cpu0/core_ctl/min_cpus + echo 4 > /sys/devices/system/cpu/cpu0/core_ctl/max_cpus + echo 68 > /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 1 > /sys/devices/system/cpu/cpu0/core_ctl/is_big_cluster + echo 4 > /sys/devices/system/cpu/cpu0/core_ctl/task_thres + + # Big cluster min frequency adjust settings + if [ -f /sys/module/big_cluster_min_freq_adjust/parameters/min_freq_cluster ]; then + echo "0-3" > /sys/module/big_cluster_min_freq_adjust/parameters/min_freq_cluster + fi + echo 1305600 > /sys/module/big_cluster_min_freq_adjust/parameters/min_freq_floor + ;; + *) + # Apply settings for sdm429/sda429 + # configure schedutil governor settings + echo 1 > /sys/devices/system/cpu/cpu0/online + echo "schedutil" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor + echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/rate_limit_us + #set the hispeed_freq + echo 1305600 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_freq + echo 80 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_load + echo 960000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + # sched_load_boost as -6 is equivalent to target load as 85. + echo -6 > /sys/devices/system/cpu/cpu0/sched_load_boost + echo -6 > /sys/devices/system/cpu/cpu1/sched_load_boost + echo -6 > /sys/devices/system/cpu/cpu2/sched_load_boost + echo -6 > /sys/devices/system/cpu/cpu3/sched_load_boost + + # Bring up all cores online + echo 1 > /sys/devices/system/cpu/cpu1/online + echo 1 > /sys/devices/system/cpu/cpu2/online + echo 1 > /sys/devices/system/cpu/cpu3/online + ;; + esac + + # Set Memory parameters + configure_memory_parameters + + #disable sched_boost + echo 0 > /proc/sys/kernel/sched_boost + + # Disable L2-GDHS low power modes + echo N > /sys/module/lpm_levels/system/pwr/pwr-l2-gdhs/idle_enabled + echo N > /sys/module/lpm_levels/system/pwr/pwr-l2-gdhs/suspend_enabled + echo N > /sys/module/lpm_levels/system/perf/perf-l2-gdhs/idle_enabled + echo N > /sys/module/lpm_levels/system/perf/perf-l2-gdhs/suspend_enabled + + # Enable low power modes + echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled + + case "$soc_id" in + "353" | "363" ) + echo 1 > /sys/module/big_cluster_min_freq_adjust/parameters/min_freq_adjust + ;; + esac + ;; + esac + + case "$soc_id" in + "386" | "436") + + # Start Host based Touch processing + case "$hw_platform" in + "QRD" ) + start_hbtp + ;; + esac + ;; + esac + ;; +esac + +case "$target" in + "sdm660") + + # Set the default IRQ affinity to the primary cluster. When a + # CPU is isolated/hotplugged, the IRQ affinity is adjusted + # to one of the CPU from the default IRQ affinity mask. + echo f > /proc/irq/default_smp_affinity + + if [ -f /sys/devices/soc0/soc_id ]; then + soc_id=`cat /sys/devices/soc0/soc_id` + else + soc_id=`cat /sys/devices/system/soc/soc0/id` + fi + + if [ -f /sys/devices/soc0/hw_platform ]; then + hw_platform=`cat /sys/devices/soc0/hw_platform` + else + hw_platform=`cat /sys/devices/system/soc/soc0/hw_platform` + fi + + panel=`cat /sys/class/graphics/fb0/modes` + if [ "${panel:5:1}" == "x" ]; then + panel=${panel:2:3} + else + panel=${panel:2:4} + fi + + if [ $panel -gt 1080 ]; then + echo 2 > /proc/sys/kernel/sched_window_stats_policy + echo 5 > /proc/sys/kernel/sched_ravg_hist_size + else + echo 3 > /proc/sys/kernel/sched_window_stats_policy + echo 3 > /proc/sys/kernel/sched_ravg_hist_size + fi + #Apply settings for sdm660, sdm636,sda636 + case "$soc_id" in + "317" | "324" | "325" | "326" | "345" | "346" ) + + 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 1 > /sys/devices/system/cpu/cpu4/core_ctl/is_big_cluster + echo 4 > /sys/devices/system/cpu/cpu4/core_ctl/task_thres + + # Setting b.L scheduler parameters + echo 96 > /proc/sys/kernel/sched_upmigrate + echo 90 > /proc/sys/kernel/sched_downmigrate + echo 140 > /proc/sys/kernel/sched_group_upmigrate + echo 120 > /proc/sys/kernel/sched_group_downmigrate + + # cpuset settings + echo 0-3 > /dev/cpuset/background/cpus + echo 0-3 > /dev/cpuset/system-background/cpus + + #if the kernel version >=4.14,use the schedutil governor + KernelVersionStr=`cat /proc/sys/kernel/osrelease` + KernelVersionS=${KernelVersionStr:2:2} + KernelVersionA=${KernelVersionStr:0:1} + KernelVersionB=${KernelVersionS%.*} + if [ $KernelVersionA -ge 4 ] && [ $KernelVersionB -ge 14 ]; then + sdm660_sched_schedutil_dcvs + else + sdm660_sched_interactive_dcvs + fi + + # Set Memory parameters + configure_memory_parameters + + # enable LPM + echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled + + # Start cdsprpcd only for sdm660 and disable for sdm630 + start vendor.cdsprpcd + + # Start Host based Touch processing + case "$hw_platform" in + "MTP" | "Surf" | "RCM" | "QRD" ) + start_hbtp + ;; + esac + ;; + esac + #Apply settings for sdm630 and Tahaa + case "$soc_id" in + "318" | "327" | "385" ) + + # Start Host based Touch processing + case "$hw_platform" in + "MTP" | "Surf" | "RCM" | "QRD" ) + start_hbtp + ;; + esac + + # Setting b.L scheduler parameters + echo 85 > /proc/sys/kernel/sched_upmigrate + echo 85 > /proc/sys/kernel/sched_downmigrate + echo 900 > /proc/sys/kernel/sched_group_upmigrate + echo 900 > /proc/sys/kernel/sched_group_downmigrate + echo 0 > /proc/sys/kernel/sched_select_prev_cpu_us + echo 400000 > /proc/sys/kernel/sched_freq_inc_notify + echo 400000 > /proc/sys/kernel/sched_freq_dec_notify + echo 3 > /proc/sys/kernel/sched_spill_nr_run + + #init task load, restrict wakeups to preferred cluster + echo 15 > /proc/sys/kernel/sched_init_task_load + echo 1 > /proc/sys/kernel/sched_restrict_cluster_spill + echo 50000 > /proc/sys/kernel/sched_short_burst_ns + + # cpuset settings + echo 0-3 > /dev/cpuset/background/cpus + echo 0-3 > /dev/cpuset/system-background/cpus + + # disable thermal bcl hotplug to switch governor + echo 0 > /sys/module/msm_thermal/core_control/enabled + for mode in /sys/devices/soc.0/qcom,bcl.*/mode + do + echo -n disable > $mode + done + for hotplug_mask in /sys/devices/soc.0/qcom,bcl.*/hotplug_mask + do + bcl_hotplug_mask=`cat $hotplug_mask` + echo 0 > $hotplug_mask + done + for hotplug_soc_mask in /sys/devices/soc.0/qcom,bcl.*/hotplug_soc_mask + do + bcl_soc_hotplug_mask=`cat $hotplug_soc_mask` + echo 0 > $hotplug_soc_mask + done + for mode in /sys/devices/soc.0/qcom,bcl.*/mode + do + echo -n enable > $mode + done + + # online CPU0 + echo 1 > /sys/devices/system/cpu/cpu0/online + # configure governor settings for Big cluster(CPU0 to CPU3) + echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor + echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_sched_load + echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_migration_notif + echo "19000 1344000:39000" > /sys/devices/system/cpu/cpu0/cpufreq/interactive/above_hispeed_delay + echo 85 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/go_hispeed_load + echo 20000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/timer_rate + echo 1344000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/hispeed_freq + echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/io_is_busy + echo "85 1344000:80" > /sys/devices/system/cpu/cpu0/cpufreq/interactive/target_loads + echo 39000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/min_sample_time + echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/max_freq_hysteresis + echo 787200 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/ignore_hispeed_on_notif + + # online CPU4 + echo 1 > /sys/devices/system/cpu/cpu4/online + # configure governor settings for Little cluster(CPU4 to CPU7) + echo "interactive" > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor + echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/use_sched_load + echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/use_migration_notif + echo "19000 1094400:39000" > /sys/devices/system/cpu/cpu4/cpufreq/interactive/above_hispeed_delay + echo 85 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/go_hispeed_load + echo 20000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/timer_rate + echo 1094400 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq + echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/io_is_busy + echo "85 1094400:80" > /sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads + echo 39000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/min_sample_time + echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/max_freq_hysteresis + echo 614400 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq + echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/ignore_hispeed_on_notif + + # bring all cores online + echo 1 > /sys/devices/system/cpu/cpu0/online + echo 1 > /sys/devices/system/cpu/cpu1/online + echo 1 > /sys/devices/system/cpu/cpu2/online + echo 1 > /sys/devices/system/cpu/cpu3/online + echo 1 > /sys/devices/system/cpu/cpu4/online + echo 1 > /sys/devices/system/cpu/cpu5/online + echo 1 > /sys/devices/system/cpu/cpu6/online + echo 1 > /sys/devices/system/cpu/cpu7/online + + # configure LPM + echo N > /sys/module/lpm_levels/system/perf/cpu0/ret/idle_enabled + echo N > /sys/module/lpm_levels/system/perf/cpu1/ret/idle_enabled + echo N > /sys/module/lpm_levels/system/perf/cpu2/ret/idle_enabled + echo N > /sys/module/lpm_levels/system/perf/cpu3/ret/idle_enabled + echo N > /sys/module/lpm_levels/system/pwr/cpu4/ret/idle_enabled + echo N > /sys/module/lpm_levels/system/pwr/cpu5/ret/idle_enabled + echo N > /sys/module/lpm_levels/system/pwr/cpu6/ret/idle_enabled + echo N > /sys/module/lpm_levels/system/pwr/cpu7/ret/idle_enabled + echo N > /sys/module/lpm_levels/system/pwr/pwr-l2-dynret/idle_enabled + echo N > /sys/module/lpm_levels/system/perf/perf-l2-dynret/idle_enabled + # enable LPM + echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled + + # re-enable thermal and BCL hotplug + echo 1 > /sys/module/msm_thermal/core_control/enabled + for mode in /sys/devices/soc.0/qcom,bcl.*/mode + do + echo -n disable > $mode + done + for hotplug_mask in /sys/devices/soc.0/qcom,bcl.*/hotplug_mask + do + echo $bcl_hotplug_mask > $hotplug_mask + done + for hotplug_soc_mask in /sys/devices/soc.0/qcom,bcl.*/hotplug_soc_mask + do + echo $bcl_soc_hotplug_mask > $hotplug_soc_mask + done + for mode in /sys/devices/soc.0/qcom,bcl.*/mode + do + echo -n enable > $mode + done + + # Set Memory parameters + configure_memory_parameters + + # Enable bus-dcvs + for cpubw in /sys/class/devfreq/*qcom,cpubw* + do + echo "bw_hwmon" > $cpubw/governor + echo 50 > $cpubw/polling_interval + echo 762 > $cpubw/min_freq + echo "1525 3143 4173 5195 5859 7759 9887 10327" > $cpubw/bw_hwmon/mbps_zones + echo 4 > $cpubw/bw_hwmon/sample_ms + echo 85 > $cpubw/bw_hwmon/io_percent + echo 20 > $cpubw/bw_hwmon/hist_memory + echo 0 > $cpubw/bw_hwmon/hyst_length + echo 100 > $cpubw/bw_hwmon/decay_rate + echo 50 > $cpubw/bw_hwmon/bw_step + echo 80 > $cpubw/bw_hwmon/down_thres + echo 0 > $cpubw/bw_hwmon/low_power_ceil_mbps + echo 50 > $cpubw/bw_hwmon/low_power_io_percent + echo 20 > $cpubw/bw_hwmon/low_power_delay + echo 0 > $cpubw/bw_hwmon/guard_band_mbps + echo 250 > $cpubw/bw_hwmon/up_scale + echo 1600 > $cpubw/bw_hwmon/idle_mbps + done + + for memlat in /sys/class/devfreq/*qcom,memlat-cpu* + do + echo "mem_latency" > $memlat/governor + echo 10 > $memlat/polling_interval + echo 400 > $memlat/mem_latency/ratio_ceil + done + + echo "cpufreq" > /sys/class/devfreq/soc:qcom,mincpubw/governor + ;; + esac + ;; +esac + +case "$target" in + "sdm710") + + #Apply settings for sdm710 + # Set the default IRQ affinity to the silver cluster. When a + # CPU is isolated/hotplugged, the IRQ affinity is adjusted + # to one of the CPU from the default IRQ affinity mask. + echo 3f > /proc/irq/default_smp_affinity + + if [ -f /sys/devices/soc0/soc_id ]; then + soc_id=`cat /sys/devices/soc0/soc_id` + else + soc_id=`cat /sys/devices/system/soc/soc0/id` + fi + + if [ -f /sys/devices/soc0/hw_platform ]; then + hw_platform=`cat /sys/devices/soc0/hw_platform` + else + hw_platform=`cat /sys/devices/system/soc/soc0/hw_platform` + fi + + case "$soc_id" in + "336" | "337" | "347" | "360" | "393" ) + + # Start Host based Touch processing + case "$hw_platform" in + "MTP" | "Surf" | "RCM" | "QRD" ) + start_hbtp + ;; + esac + + # Core control parameters on 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 0 > /sys/devices/system/cpu/cpu0/core_ctl/is_big_cluster + echo 8 > /sys/devices/system/cpu/cpu0/core_ctl/task_thres + + # Setting b.L scheduler parameters + echo 96 > /proc/sys/kernel/sched_upmigrate + echo 90 > /proc/sys/kernel/sched_downmigrate + echo 140 > /proc/sys/kernel/sched_group_upmigrate + echo 120 > /proc/sys/kernel/sched_group_downmigrate + echo 1 > /proc/sys/kernel/sched_walt_rotate_big_tasks + + # configure governor settings for little cluster + echo "schedutil" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor + echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/rate_limit_us + echo 1209600 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_freq + echo 576000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + + # configure governor settings for big cluster + echo "schedutil" > /sys/devices/system/cpu/cpu6/cpufreq/scaling_governor + echo 0 > /sys/devices/system/cpu/cpu6/cpufreq/schedutil/rate_limit_us + echo 1344000 > /sys/devices/system/cpu/cpu6/cpufreq/schedutil/hispeed_freq + echo 652800 > /sys/devices/system/cpu/cpu6/cpufreq/scaling_min_freq + + # 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/cpu6/cpufreq/schedutil/hispeed_load + + echo "0:1324800" > /sys/module/cpu_boost/parameters/input_boost_freq + echo 120 > /sys/module/cpu_boost/parameters/input_boost_ms + echo "0:0 1:0 2:0 3:0 4:1804800 5:0 6:0 7:2208000" > /sys/module/cpu_boost/parameters/powerkey_input_boost_freq + echo 400 > /sys/module/cpu_boost/parameters/powerkey_input_boost_ms + + # Set Memory parameters + configure_memory_parameters + + # Enable bus-dcvs + for cpubw in /sys/class/devfreq/*qcom,cpubw* + do + echo "bw_hwmon" > $cpubw/governor + echo 50 > $cpubw/polling_interval + echo "1144 1720 2086 2929 3879 5931 6881" > $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 + done + + #Enable mem_latency governor for DDR scaling + for memlat in /sys/class/devfreq/*qcom,memlat-cpu* + do + echo "mem_latency" > $memlat/governor + echo 10 > $memlat/polling_interval + echo 400 > $memlat/mem_latency/ratio_ceil + done + + #Enable mem_latency governor for L3 scaling + for memlat in /sys/class/devfreq/*qcom,l3-cpu* + do + echo "mem_latency" > $memlat/governor + echo 10 > $memlat/polling_interval + echo 400 > $memlat/mem_latency/ratio_ceil + done + + #Enable userspace governor for L3 cdsp nodes + for l3cdsp in /sys/class/devfreq/*qcom,l3-cdsp* + do + echo "userspace" > $l3cdsp/governor + chown -h system $l3cdsp/userspace/set_freq + done + + echo "cpufreq" > /sys/class/devfreq/soc:qcom,mincpubw/governor + + # Disable CPU Retention + echo N > /sys/module/lpm_levels/L3/cpu0/ret/idle_enabled + echo N > /sys/module/lpm_levels/L3/cpu1/ret/idle_enabled + echo N > /sys/module/lpm_levels/L3/cpu2/ret/idle_enabled + echo N > /sys/module/lpm_levels/L3/cpu3/ret/idle_enabled + echo N > /sys/module/lpm_levels/L3/cpu4/ret/idle_enabled + echo N > /sys/module/lpm_levels/L3/cpu5/ret/idle_enabled + echo N > /sys/module/lpm_levels/L3/cpu6/ret/idle_enabled + echo N > /sys/module/lpm_levels/L3/cpu7/ret/idle_enabled + + # cpuset parameters + echo 0-2 > /dev/cpuset/background/cpus + echo 0-3 > /dev/cpuset/system-background/cpus + echo 4-7 > /dev/cpuset/foreground/boost/cpus + echo 0-2,4-7 > /dev/cpuset/foreground/cpus + echo 0-7 > /dev/cpuset/top-app/cpus + + # Turn off scheduler boost at the end + echo 0 > /proc/sys/kernel/sched_boost + + # Turn on sleep modes. + echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled + ;; + esac + ;; +esac + +case "$target" in + "trinket") + + if [ -f /sys/devices/soc0/soc_id ]; then + soc_id=`cat /sys/devices/soc0/soc_id` + else + soc_id=`cat /sys/devices/system/soc/soc0/id` + fi + + case "$soc_id" in + "394" ) + + # Core control parameters on big + echo 2 > /sys/devices/system/cpu/cpu4/core_ctl/min_cpus + echo 40 > /sys/devices/system/cpu/cpu4/core_ctl/busy_down_thres + echo 60 > /sys/devices/system/cpu/cpu4/core_ctl/busy_up_thres + echo 100 > /sys/devices/system/cpu/cpu4/core_ctl/offline_delay_ms + echo 1 > /sys/devices/system/cpu/cpu4/core_ctl/is_big_cluster + echo 4 > /sys/devices/system/cpu/cpu4/core_ctl/task_thres + + # Setting b.L scheduler parameters + echo 67 > /proc/sys/kernel/sched_downmigrate + echo 77 > /proc/sys/kernel/sched_upmigrate + echo 85 > /proc/sys/kernel/sched_group_downmigrate + echo 100 > /proc/sys/kernel/sched_group_upmigrate + + # cpuset settings + echo 0-3 > /dev/cpuset/background/cpus + echo 0-3 > /dev/cpuset/system-background/cpus + + + # configure governor settings for little cluster + echo "schedutil" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor + echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/up_rate_limit_us + echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/down_rate_limit_us + echo 1305600 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_freq + echo 614400 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + + # configure governor settings for big cluster + echo "schedutil" > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor + echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/up_rate_limit_us + echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/down_rate_limit_us + echo 1401600 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/hispeed_freq + echo 1056000 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq + + echo 1 > /proc/sys/kernel/sched_walt_rotate_big_tasks + + # sched_load_boost as -6 is equivalent to target load as 85. It is per cpu tunable. + echo -6 > /sys/devices/system/cpu/cpu0/sched_load_boost + echo -6 > /sys/devices/system/cpu/cpu1/sched_load_boost + echo -6 > /sys/devices/system/cpu/cpu2/sched_load_boost + echo -6 > /sys/devices/system/cpu/cpu3/sched_load_boost + 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 -6 > /sys/devices/system/cpu/cpu7/sched_load_boost + echo 85 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_load + echo 85 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/hispeed_load + + # Set Memory parameters + configure_memory_parameters + + # Enable bus-dcvs + ddr_type=`od -An -tx /proc/device-tree/memory/ddr_device_type` + ddr_type4="07" + ddr_type3="05" + + for device in /sys/devices/platform/soc + do + for cpubw in $device/*cpu-cpu-ddr-bw/devfreq/*cpu-cpu-ddr-bw + do + echo "bw_hwmon" > $cpubw/governor + echo 762 > $cpubw/min_freq + if [ ${ddr_type:4:2} == $ddr_type4 ]; then + # LPDDR4 + echo "2288 3440 4173 5195 5859 7759 10322 11863 13763" > $cpubw/bw_hwmon/mbps_zones + echo 85 > $cpubw/bw_hwmon/io_percent + fi + if [ ${ddr_type:4:2} == $ddr_type3 ]; then + # LPDDR3 + echo "1525 3440 5195 5859 7102" > $cpubw/bw_hwmon/mbps_zones + echo 34 > $cpubw/bw_hwmon/io_percent + fi + echo 4 > $cpubw/bw_hwmon/sample_ms + echo 90 > $cpubw/bw_hwmon/decay_rate + echo 190 > $cpubw/bw_hwmon/bw_step + 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 50 > $cpubw/polling_interval + done + + done + + # memlat specific settings are moved to seperate file under + # device/target specific folder + setprop vendor.dcvs.prop 1 + + # colcoation v3 disabled + echo 0 > /proc/sys/kernel/sched_min_task_util_for_boost + echo 0 > /proc/sys/kernel/sched_min_task_util_for_colocation + echo 0 > /proc/sys/kernel/sched_little_cluster_coloc_fmin_khz + + # Turn off scheduler boost at the end + echo 0 > /proc/sys/kernel/sched_boost + + # Turn on sleep modes. + echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled + + ;; + esac + ;; +esac + +case "$target" in + "sm6150") + + #Apply settings for sm6150 + # Set the default IRQ affinity to the silver cluster. When a + # CPU is isolated/hotplugged, the IRQ affinity is adjusted + # to one of the CPU from the default IRQ affinity mask. + echo 3f > /proc/irq/default_smp_affinity + + if [ -f /sys/devices/soc0/soc_id ]; then + soc_id=`cat /sys/devices/soc0/soc_id` + else + soc_id=`cat /sys/devices/system/soc/soc0/id` + fi + + case "$soc_id" in + "355" | "369" | "377" | "380" | "384" ) + target_type=`getprop ro.hardware.type` + if [ "$target_type" == "automotive" ]; then + # update frequencies + configure_sku_parameters + sku_identified=`getprop vendor.sku_identified` + else + sku_identified=0 + fi + + # Core control parameters on 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 0 > /sys/devices/system/cpu/cpu0/core_ctl/is_big_cluster + echo 8 > /sys/devices/system/cpu/cpu0/core_ctl/task_thres + echo 0 > /sys/devices/system/cpu/cpu6/core_ctl/enable + + + # Setting b.L scheduler parameters + # default sched up and down migrate values are 90 and 85 + echo 65 > /proc/sys/kernel/sched_downmigrate + echo 71 > /proc/sys/kernel/sched_upmigrate + # default sched up and down migrate values are 100 and 95 + 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 + + # colocation v3 settings + echo 740000 > /proc/sys/kernel/sched_little_cluster_coloc_fmin_khz + + + # configure governor settings for little cluster + echo "schedutil" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor + echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/up_rate_limit_us + echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/down_rate_limit_us + echo 1209600 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_freq + if [ $sku_identified != 1 ]; then + echo 576000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + fi + + # configure governor settings for big cluster + echo "schedutil" > /sys/devices/system/cpu/cpu6/cpufreq/scaling_governor + echo 0 > /sys/devices/system/cpu/cpu6/cpufreq/schedutil/up_rate_limit_us + echo 0 > /sys/devices/system/cpu/cpu6/cpufreq/schedutil/down_rate_limit_us + echo 1209600 > /sys/devices/system/cpu/cpu6/cpufreq/schedutil/hispeed_freq + if [ $sku_identified != 1 ]; then + echo 768000 > /sys/devices/system/cpu/cpu6/cpufreq/scaling_min_freq + fi + + # 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/cpu6/cpufreq/schedutil/hispeed_load + + echo "0:1209600" > /sys/module/cpu_boost/parameters/input_boost_freq + echo 40 > /sys/module/cpu_boost/parameters/input_boost_ms + + # Set Memory parameters + configure_memory_parameters + + # Enable bus-dcvs + for device in /sys/devices/platform/soc + do + for cpubw in $device/*cpu-cpu-llcc-bw/devfreq/*cpu-cpu-llcc-bw + do + echo "bw_hwmon" > $cpubw/governor + echo "2288 4577 7110 9155 12298 14236" > $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 50 > $cpubw/polling_interval + done + + for llccbw in $device/*cpu-llcc-ddr-bw/devfreq/*cpu-llcc-ddr-bw + do + echo "bw_hwmon" > $llccbw/governor + echo "1144 1720 2086 2929 3879 5931 6881" > $llccbw/bw_hwmon/mbps_zones + 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 40 > $llccbw/polling_interval + done + done + + # memlat specific settings are moved to seperate file under + # device/target specific folder + setprop vendor.dcvs.prop 1 + + # 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 + + # Turn on sleep modes. + echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled + ;; + esac + + #Apply settings for moorea + case "$soc_id" in + "365" | "366" ) + + # Core control parameters on 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 0 > /sys/devices/system/cpu/cpu0/core_ctl/is_big_cluster + echo 8 > /sys/devices/system/cpu/cpu0/core_ctl/task_thres + echo 0 > /sys/devices/system/cpu/cpu6/core_ctl/enable + + # Setting b.L scheduler parameters + # default sched up and down migrate values are 71 and 65 + echo 65 > /proc/sys/kernel/sched_downmigrate + echo 71 > /proc/sys/kernel/sched_upmigrate + # default sched up and down migrate values are 100 and 95 + 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 + + #colocation v3 settings + echo 740000 > /proc/sys/kernel/sched_little_cluster_coloc_fmin_khz + + # configure governor settings for little cluster + echo "schedutil" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor + echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/up_rate_limit_us + echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/down_rate_limit_us + echo 1248000 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_freq + echo 576000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + + # configure governor settings for big cluster + echo "schedutil" > /sys/devices/system/cpu/cpu6/cpufreq/scaling_governor + echo 0 > /sys/devices/system/cpu/cpu6/cpufreq/schedutil/up_rate_limit_us + echo 0 > /sys/devices/system/cpu/cpu6/cpufreq/schedutil/down_rate_limit_us + echo 1324600 > /sys/devices/system/cpu/cpu6/cpufreq/schedutil/hispeed_freq + echo 652800 > /sys/devices/system/cpu/cpu6/cpufreq/scaling_min_freq + + # 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/cpu6/cpufreq/schedutil/hispeed_load + + echo "0:1324800" > /sys/module/cpu_boost/parameters/input_boost_freq + echo 120 > /sys/module/cpu_boost/parameters/input_boost_ms + echo "0:1324800 1:0 2:0 3:0 4:0 5:0 6:2169600 7:0" > /sys/module/cpu_boost/parameters/powerkey_input_boost_freq + echo 400 > /sys/module/cpu_boost/parameters/powerkey_input_boost_ms + + # Set Memory parameters + configure_memory_parameters + + # Enable bus-dcvs + for device in /sys/devices/platform/soc + do + for cpubw in $device/*cpu-cpu-llcc-bw/devfreq/*cpu-cpu-llcc-bw + do + echo "bw_hwmon" > $cpubw/governor + echo "2288 4577 7110 9155 12298 14236" > $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 50 > $cpubw/polling_interval + done + + for llccbw in $device/*cpu-llcc-ddr-bw/devfreq/*cpu-llcc-ddr-bw + do + echo "bw_hwmon" > $llccbw/governor + echo "1144 1720 2086 2929 3879 5931 6881" > $llccbw/bw_hwmon/mbps_zones + 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 40 > $llccbw/polling_interval + done + + for npubw in $device/*npu-npu-ddr-bw/devfreq/*npu-npu-ddr-bw + do + echo 1 > /sys/devices/virtual/npu/msm_npu/pwr + echo "bw_hwmon" > $npubw/governor + echo "1144 1720 2086 2929 3879 5931 6881" > $npubw/bw_hwmon/mbps_zones + echo 4 > $npubw/bw_hwmon/sample_ms + echo 80 > $npubw/bw_hwmon/io_percent + echo 20 > $npubw/bw_hwmon/hist_memory + echo 10 > $npubw/bw_hwmon/hyst_length + echo 30 > $npubw/bw_hwmon/down_thres + echo 0 > $npubw/bw_hwmon/guard_band_mbps + echo 250 > $npubw/bw_hwmon/up_scale + echo 0 > $npubw/bw_hwmon/idle_mbps + echo 40 > $npubw/polling_interval + echo 0 > /sys/devices/virtual/npu/msm_npu/pwr + done + done + + # memlat specific settings are moved to seperate file under + # device/target specific folder + setprop vendor.dcvs.prop 1 + + # cpuset parameters + echo 0-2 > /dev/cpuset/background/cpus + echo 0-3 > /dev/cpuset/system-background/cpus + echo 4-7 > /dev/cpuset/foreground/boost/cpus + echo 0-2,4-7 > /dev/cpuset/foreground/cpus + echo 0-7 > /dev/cpuset/top-app/cpus + + # Turn off scheduler boost at the end + echo 0 > /proc/sys/kernel/sched_boost + + # Turn on sleep modes. + echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled + ;; + esac + + ;; +esac + + +case "$target" in + "lito") + + #Apply settings for lito + if [ -f /sys/devices/soc0/soc_id ]; then + soc_id=`cat /sys/devices/soc0/soc_id` + fi + + case "$soc_id" in + "400" | "440" ) + # Core control parameters on 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 8 > /sys/devices/system/cpu/cpu0/core_ctl/task_thres + echo 100 > /sys/devices/system/cpu/cpu0/core_ctl/offline_delay_ms + + # Disable Core control on gold, prime + echo 0 > /sys/devices/system/cpu/cpu6/core_ctl/enable + echo 0 > /sys/devices/system/cpu/cpu7/core_ctl/enable + + # Setting b.L scheduler parameters + echo 65 85 > /proc/sys/kernel/sched_downmigrate + echo 71 95 > /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_hyst_ns + echo 0 > /proc/sys/kernel/sched_coloc_busy_hysteresis_enable_cpus + echo 0 > /proc/sys/kernel/sched_coloc_busy_hyst_max_ms + + # disable unfiltering + echo 20000000 > /proc/sys/kernel/sched_task_unfilter_period + echo 1 > /proc/sys/kernel/sched_task_unfilter_nr_windows + + # 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/up_rate_limit_us + echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/down_rate_limit_us + echo 1228800 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/hispeed_freq + echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/pl + echo 576000 > /sys/devices/system/cpu/cpufreq/policy0/scaling_min_freq + echo 650000 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/rtg_boost_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/up_rate_limit_us + echo 0 > /sys/devices/system/cpu/cpufreq/policy6/schedutil/down_rate_limit_us + echo 1228800 > /sys/devices/system/cpu/cpufreq/policy6/schedutil/hispeed_freq + echo 85 > /sys/devices/system/cpu/cpu6/cpufreq/schedutil/hispeed_load + echo -6 > /sys/devices/system/cpu/cpu6/sched_load_boost + echo 0 > /sys/devices/system/cpu/cpufreq/policy6/schedutil/pl + echo 672000 > /sys/devices/system/cpu/cpufreq/policy6/scaling_min_freq + echo 0 > /sys/devices/system/cpu/cpufreq/policy6/schedutil/rtg_boost_freq + + # 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/up_rate_limit_us + echo 0 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/down_rate_limit_us + echo 1228800 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/hispeed_freq + echo 85 > /sys/devices/system/cpu/cpu7/cpufreq/schedutil/hispeed_load + echo -6 > /sys/devices/system/cpu/cpu7/sched_load_boost + echo 0 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/pl + echo 672000 > /sys/devices/system/cpu/cpufreq/policy7/scaling_min_freq + echo 0 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/rtg_boost_freq + + # colocation v3 settings + echo 51 > /proc/sys/kernel/sched_min_task_util_for_boost + echo 35 > /proc/sys/kernel/sched_min_task_util_for_colocation + + # Enable conservative pl + echo 1 > /proc/sys/kernel/sched_conservative_pl + + # enable input boost + echo 1 > /sys/devices/system/cpu/cpu_boost/sched_boost_on_input + echo "0:1516800" > /sys/devices/system/cpu/cpu_boost/input_boost_freq + echo 120 > /sys/devices/system/cpu/cpu_boost/input_boost_ms + echo 1 > /sys/devices/system/cpu/cpu_boost/sched_boost_on_powerkey_input + echo "0:1804800 1:0 2:0 3:0 4:0 5:0 6:2208000 7:2400000" > /sys/devices/system/cpu/cpu_boost/powerkey_input_boost_freq + echo 400 > /sys/devices/system/cpu/cpu_boost/powerkey_input_boost_ms + + # Set Memory parameters + configure_memory_parameters + + if [ `cat /sys/devices/soc0/revision` == "2.0" ]; then + # r2.0 related changes + echo "0:1075200" > /sys/devices/system/cpu/cpu_boost/input_boost_freq + echo 610000 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/rtg_boost_freq + echo 1075200 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/hispeed_freq + echo 1152000 > /sys/devices/system/cpu/cpufreq/policy6/schedutil/hispeed_freq + echo 1401600 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/hispeed_freq + echo 614400 > /sys/devices/system/cpu/cpufreq/policy0/scaling_min_freq + echo 652800 > /sys/devices/system/cpu/cpufreq/policy6/scaling_min_freq + echo 806400 > /sys/devices/system/cpu/cpufreq/policy7/scaling_min_freq + echo 83 > /proc/sys/kernel/sched_asym_cap_sibling_freq_match_pct + fi + + # Enable bus-dcvs + for device in /sys/devices/platform/soc + do + for cpubw in $device/*cpu-cpu-llcc-bw/devfreq/*cpu-cpu-llcc-bw + do + echo "bw_hwmon" > $cpubw/governor + echo "2288 4577 7110 9155 12298 14236 16265" > $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 50 > $cpubw/polling_interval + done + + for llccbw in $device/*cpu-llcc-ddr-bw/devfreq/*cpu-llcc-ddr-bw + do + echo "bw_hwmon" > $llccbw/governor + echo "1144 1720 2086 2929 3879 5931 6881 7980" > $llccbw/bw_hwmon/mbps_zones + 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 50 > $llccbw/polling_interval + done + + for npubw in $device/*npu*-ddr-bw/devfreq/*npu*-ddr-bw + do + echo 1 > /sys/devices/virtual/npu/msm_npu/pwr + echo "bw_hwmon" > $npubw/governor + echo "1144 1720 2086 2929 3879 5931 6881 7980" > $npubw/bw_hwmon/mbps_zones + echo 4 > $npubw/bw_hwmon/sample_ms + echo 80 > $npubw/bw_hwmon/io_percent + echo 20 > $npubw/bw_hwmon/hist_memory + echo 10 > $npubw/bw_hwmon/hyst_length + echo 30 > $npubw/bw_hwmon/down_thres + echo 0 > $npubw/bw_hwmon/guard_band_mbps + echo 250 > $npubw/bw_hwmon/up_scale + echo 0 > $npubw/bw_hwmon/idle_mbps + echo 40 > $npubw/polling_interval + echo 0 > /sys/devices/virtual/npu/msm_npu/pwr + done + + for npullccbw in $device/*npu*-llcc-bw/devfreq/*npu*-llcc-bw + do + echo 1 > /sys/devices/virtual/npu/msm_npu/pwr + echo "bw_hwmon" > $npullccbw/governor + echo "2288 4577 7110 9155 12298 14236 16265" > $npullccbw/bw_hwmon/mbps_zones + echo 4 > $npullccbw/bw_hwmon/sample_ms + echo 100 > $npullccbw/bw_hwmon/io_percent + echo 20 > $npullccbw/bw_hwmon/hist_memory + echo 10 > $npullccbw/bw_hwmon/hyst_length + echo 30 > $npullccbw/bw_hwmon/down_thres + echo 0 > $npullccbw/bw_hwmon/guard_band_mbps + echo 250 > $npullccbw/bw_hwmon/up_scale + echo 40 > $npullccbw/polling_interval + echo 0 > /sys/devices/virtual/npu/msm_npu/pwr + done + done + # memlat specific settings are moved to seperate file under + # device/target specific folder + setprop vendor.dcvs.prop 0 + setprop vendor.dcvs.prop 1 + + # 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 + + # Turn on sleep modes + echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled + ;; + esac + + #Apply settings for lagoon + case "$soc_id" in + "434" | "459" ) + + # Core control parameters on 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 + + # Disable Core control on gold + echo 0 > /sys/devices/system/cpu/cpu6/core_ctl/enable + + + # disable unfiltering + echo 20000000 > /proc/sys/kernel/sched_task_unfilter_period + + # Setting b.L scheduler parameters + # default sched up and down migrate values are 95 and 85 + echo 65 > /proc/sys/kernel/sched_downmigrate + echo 71 > /proc/sys/kernel/sched_upmigrate + + # default sched up and down migrate values are 100 and 95 + 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_hyst_ns + echo 0 > /proc/sys/kernel/sched_coloc_busy_hysteresis_enable_cpus + echo 0 > /proc/sys/kernel/sched_coloc_busy_hyst_max_ms + + # configure governor settings for little cluster + echo "schedutil" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor + echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/up_rate_limit_us + echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/down_rate_limit_us + echo 1248000 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_freq + echo 576000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + + # configure governor settings for big cluster + echo "schedutil" > /sys/devices/system/cpu/cpu6/cpufreq/scaling_governor + echo 0 > /sys/devices/system/cpu/cpu6/cpufreq/schedutil/up_rate_limit_us + echo 0 > /sys/devices/system/cpu/cpu6/cpufreq/schedutil/down_rate_limit_us + echo 1248000 > /sys/devices/system/cpu/cpu6/cpufreq/schedutil/hispeed_freq + echo 652800 > /sys/devices/system/cpu/cpu6/cpufreq/scaling_min_freq + + #colocation v3 settings + echo 740000 > /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 + + # 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/cpu6/cpufreq/schedutil/hispeed_load + + # Enable conservative pl + echo 1 > /proc/sys/kernel/sched_conservative_pl + + echo "0:1248000" > /sys/devices/system/cpu/cpu_boost/input_boost_freq + echo 120 > /sys/devices/system/cpu/cpu_boost/input_boost_ms + + # Set Memory parameters + configure_memory_parameters + + # Enable bus-dcvs + for device in /sys/devices/platform/soc + do + for cpubw in $device/*cpu-cpu-llcc-bw/devfreq/*cpu-cpu-llcc-bw + do + echo "bw_hwmon" > $cpubw/governor + echo "2288 4577 7110 9155 12298 14236" > $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 50 > $cpubw/polling_interval + done + + for llccbw in $device/*cpu-llcc-ddr-bw/devfreq/*cpu-llcc-ddr-bw + do + echo "bw_hwmon" > $llccbw/governor + echo "1144 1720 2086 2929 3879 5931 6881 8137" > $llccbw/bw_hwmon/mbps_zones + 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 40 > $llccbw/polling_interval + done + + for npubw in $device/*npu*-ddr-bw/devfreq/*npu*-ddr-bw + do + echo 1 > /sys/devices/virtual/npu/msm_npu/pwr + echo "bw_hwmon" > $npubw/governor + echo "1144 1720 2086 2929 3879 5931 6881 7980" > $npubw/bw_hwmon/mbps_zones + echo 4 > $npubw/bw_hwmon/sample_ms + echo 80 > $npubw/bw_hwmon/io_percent + echo 20 > $npubw/bw_hwmon/hist_memory + echo 10 > $npubw/bw_hwmon/hyst_length + echo 30 > $npubw/bw_hwmon/down_thres + echo 0 > $npubw/bw_hwmon/guard_band_mbps + echo 250 > $npubw/bw_hwmon/up_scale + echo 0 > $npubw/bw_hwmon/idle_mbps + echo 40 > $npubw/polling_interval + echo 0 > /sys/devices/virtual/npu/msm_npu/pwr + done + + for npullccbw in $device/*npu*-llcc-bw/devfreq/*npu*-llcc-bw + do + echo 1 > /sys/devices/virtual/npu/msm_npu/pwr + echo "bw_hwmon" > $npullccbw/governor + echo 40 > $npullccbw/polling_interval + echo "2288 4577 7110 9155 12298 14236 16265" > $npullccbw/bw_hwmon/mbps_zones + echo 4 > $npullccbw/bw_hwmon/sample_ms + echo 100 > $npullccbw/bw_hwmon/io_percent + echo 20 > $npullccbw/bw_hwmon/hist_memory + echo 10 > $npullccbw/bw_hwmon/hyst_length + echo 30 > $npullccbw/bw_hwmon/down_thres + echo 0 > $npullccbw/bw_hwmon/guard_band_mbps + echo 250 > $npullccbw/bw_hwmon/up_scale + echo 0 > /sys/devices/virtual/npu/msm_npu/pwr + done + done + # memlat specific settings are moved to seperate file under + # device/target specific folder + setprop vendor.dcvs.prop 1 + + # 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 + + # Turn off sleep modes + echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled + ;; + esac +esac + +case "$target" in + "bengal") + + if [ -f /sys/devices/soc0/soc_id ]; then + soc_id=`cat /sys/devices/soc0/soc_id` + else + soc_id=`cat /sys/devices/system/soc/soc0/id` + fi + + case "$soc_id" in + "417" | "420" | "444" | "445" ) + + # Core control is temporarily disabled till bring up + echo 0 > /sys/devices/system/cpu/cpu0/core_ctl/enable + echo 2 > /sys/devices/system/cpu/cpu4/core_ctl/min_cpus + # Core control parameters on big + echo 40 > /sys/devices/system/cpu/cpu4/core_ctl/busy_down_thres + echo 60 > /sys/devices/system/cpu/cpu4/core_ctl/busy_up_thres + echo 100 > /sys/devices/system/cpu/cpu4/core_ctl/offline_delay_ms + echo 4 > /sys/devices/system/cpu/cpu4/core_ctl/task_thres + + # Setting b.L scheduler parameters + echo 67 > /proc/sys/kernel/sched_downmigrate + echo 77 > /proc/sys/kernel/sched_upmigrate + echo 85 > /proc/sys/kernel/sched_group_downmigrate + echo 100 > /proc/sys/kernel/sched_group_upmigrate + + # cpuset settings + echo 0-3 > /dev/cpuset/background/cpus + echo 0-3 > /dev/cpuset/system-background/cpus + + + # configure governor settings for little cluster + echo "schedutil" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor + echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/up_rate_limit_us + echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/down_rate_limit_us + echo 1305600 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_freq + echo 614400 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/rtg_boost_freq + + # configure governor settings for big cluster + echo "schedutil" > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor + echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/up_rate_limit_us + echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/down_rate_limit_us + echo 1401600 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/hispeed_freq + echo 1056000 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq + echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/rtg_boost_freq + + echo 1 > /proc/sys/kernel/sched_walt_rotate_big_tasks + + # sched_load_boost as -6 is equivalent to target load as 85. It is per cpu tunable. + echo -6 > /sys/devices/system/cpu/cpu0/sched_load_boost + echo -6 > /sys/devices/system/cpu/cpu1/sched_load_boost + echo -6 > /sys/devices/system/cpu/cpu2/sched_load_boost + echo -6 > /sys/devices/system/cpu/cpu3/sched_load_boost + 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 -6 > /sys/devices/system/cpu/cpu7/sched_load_boost + echo 85 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_load + echo 85 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/hispeed_load + + # Set Memory parameters + configure_memory_parameters + + # Enable bus-dcvs + ddr_type=`od -An -tx /proc/device-tree/memory/ddr_device_type` + ddr_type4="07" + ddr_type3="05" + + for device in /sys/devices/platform/soc + do + for cpubw in $device/*cpu-cpu-ddr-bw/devfreq/*cpu-cpu-ddr-bw + do + echo "bw_hwmon" > $cpubw/governor + echo 50 > $cpubw/polling_interval + echo 762 > $cpubw/min_freq + if [ ${ddr_type:4:2} == $ddr_type4 ]; then + # LPDDR4 + echo "2288 3440 4173 5195 5859 7759 10322 11863 13763" > $cpubw/bw_hwmon/mbps_zones + echo 85 > $cpubw/bw_hwmon/io_percent + fi + if [ ${ddr_type:4:2} == $ddr_type3 ]; then + # LPDDR3 + echo "1525 3440 5195 5859 7102" > $cpubw/bw_hwmon/mbps_zones + echo 34 > $cpubw/bw_hwmon/io_percent + fi + echo 4 > $cpubw/bw_hwmon/sample_ms + echo 90 > $cpubw/bw_hwmon/decay_rate + echo 190 > $cpubw/bw_hwmon/bw_step + 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 + done + + done + # memlat specific settings are moved to seperate file under + # device/target specific folder + setprop vendor.dcvs.prop 1 + + # colcoation v3 disabled + echo 0 > /proc/sys/kernel/sched_min_task_util_for_boost + echo 0 > /proc/sys/kernel/sched_min_task_util_for_colocation + + # Turn off scheduler boost at the end + echo 0 > /proc/sys/kernel/sched_boost + + # Turn on sleep modes + echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled + + ;; + esac + + # Scuba perf/power tunings + case "$soc_id" in + "441" ) + + # Quad-core device. disable core_ctl + echo 0 > /sys/devices/system/cpu/cpu0/core_ctl/enable + + # Configure schedutil governor settings + echo "schedutil" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor + echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/up_rate_limit_us + echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/down_rate_limit_us + echo 1305600 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_freq + echo 614400 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/rtg_boost_freq + + # sched_load_boost as -6 is equivalent to target load as 85. + echo 0 > /proc/sys/kernel/sched_boost + echo -6 > /sys/devices/system/cpu/cpu0/sched_load_boost + echo -6 > /sys/devices/system/cpu/cpu1/sched_load_boost + echo -6 > /sys/devices/system/cpu/cpu2/sched_load_boost + echo -6 > /sys/devices/system/cpu/cpu3/sched_load_boost + echo 85 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_load + + # Set Memory parameters + configure_memory_parameters + + # Enable bus-dcvs + ddr_type=`od -An -tx /proc/device-tree/memory/ddr_device_type` + ddr_type4="07" + ddr_type3="05" + + for device in /sys/devices/platform/soc + do + for cpubw in $device/*cpu-cpu-ddr-bw/devfreq/*cpu-cpu-ddr-bw + do + echo "bw_hwmon" > $cpubw/governor + echo 50 > $cpubw/polling_interval + echo 762 > $cpubw/min_freq + if [ ${ddr_type:4:2} == $ddr_type4 ]; then + # LPDDR4 + echo "2288 3440 4173 5195 5859 7759 10322 11863 13763" > $cpubw/bw_hwmon/mbps_zones + echo 85 > $cpubw/bw_hwmon/io_percent + fi + if [ ${ddr_type:4:2} == $ddr_type3 ]; then + # LPDDR3 + echo "1525 3440 5195 5859 7102" > $cpubw/bw_hwmon/mbps_zones + echo 34 > $cpubw/bw_hwmon/io_percent + fi + echo 4 > $cpubw/bw_hwmon/sample_ms + echo 90 > $cpubw/bw_hwmon/decay_rate + echo 190 > $cpubw/bw_hwmon/bw_step + 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 + done + + for memlat in $device/*cpu*-lat/devfreq/*cpu*-lat + do + echo "mem_latency" > $memlat/governor + echo 10 > $memlat/polling_interval + echo 400 > $memlat/mem_latency/ratio_ceil + done + + for latfloor in $device/*cpu*-ddr-latfloor*/devfreq/*cpu-ddr-latfloor* + do + echo "compute" > $latfloor/governor + echo 10 > $latfloor/polling_interval + done + done + + # Disable low power modes. Enable it after LPM stable + echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled + ;; + esac + + ;; +esac + + +#Apply settings for atoll +case "$target" in + "atoll") + + # Core control parameters on 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 + echo 0 > /sys/devices/system/cpu/cpu6/core_ctl/enable + + # Setting b.L scheduler parameters + # default sched up and down migrate values are 95 and 85 + echo 65 > /proc/sys/kernel/sched_downmigrate + echo 71 > /proc/sys/kernel/sched_upmigrate + # default sched up and down migrate values are 100 and 95 + 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 + + #colocation v3 settings + echo 740000 > /proc/sys/kernel/sched_little_cluster_coloc_fmin_khz + + # configure governor settings for little cluster + echo "schedutil" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor + echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/up_rate_limit_us + echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/down_rate_limit_us + echo 1248000 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_freq + echo 576000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + + # configure governor settings for big cluster + echo "schedutil" > /sys/devices/system/cpu/cpu6/cpufreq/scaling_governor + echo 0 > /sys/devices/system/cpu/cpu6/cpufreq/schedutil/up_rate_limit_us + echo 0 > /sys/devices/system/cpu/cpu6/cpufreq/schedutil/down_rate_limit_us + echo 1267200 > /sys/devices/system/cpu/cpu6/cpufreq/schedutil/hispeed_freq + echo 652800 > /sys/devices/system/cpu/cpu6/cpufreq/scaling_min_freq + + # 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/cpu6/cpufreq/schedutil/hispeed_load + + echo "0:1248000" > /sys/module/cpu_boost/parameters/input_boost_freq + echo 40 > /sys/module/cpu_boost/parameters/input_boost_ms + + # Set Memory parameters + configure_memory_parameters + + # Enable bus-dcvs + for device in /sys/devices/platform/soc + do + for cpubw in $device/*cpu-cpu-llcc-bw/devfreq/*cpu-cpu-llcc-bw + do + echo "bw_hwmon" > $cpubw/governor + echo "2288 4577 7110 9155 12298 14236" > $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 50 > $cpubw/polling_interval + done + + for llccbw in $device/*cpu-llcc-ddr-bw/devfreq/*cpu-llcc-ddr-bw + do + echo "bw_hwmon" > $llccbw/governor + echo "1144 1720 2086 2929 3879 5931 6881 8137" > $llccbw/bw_hwmon/mbps_zones + 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 40 > $llccbw/polling_interval + done + + for npubw in $device/*npu*-npu-ddr-bw/devfreq/*npu*-npu-ddr-bw + do + echo 1 > /sys/devices/virtual/npu/msm_npu/pwr + echo "bw_hwmon" > $npubw/governor + echo "1144 1720 2086 2929 3879 5931 6881 8137" > $npubw/bw_hwmon/mbps_zones + echo 4 > $npubw/bw_hwmon/sample_ms + echo 80 > $npubw/bw_hwmon/io_percent + echo 20 > $npubw/bw_hwmon/hist_memory + echo 10 > $npubw/bw_hwmon/hyst_length + echo 30 > $npubw/bw_hwmon/down_thres + echo 0 > $npubw/bw_hwmon/guard_band_mbps + echo 250 > $npubw/bw_hwmon/up_scale + echo 0 > $npubw/bw_hwmon/idle_mbps + echo 40 > $npubw/polling_interval + echo 0 > /sys/devices/virtual/npu/msm_npu/pwr + done + + done + + # memlat specific settings are moved to seperate file under + # device/target specific folder + setprop vendor.dcvs.prop 1 + + # 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 + + # Turn on sleep modes + echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled + ;; +esac + + +case "$target" in + "qcs605") + + #Apply settings for qcs605 + # Set the default IRQ affinity to the silver cluster. When a + # CPU is isolated/hotplugged, the IRQ affinity is adjusted + # to one of the CPU from the default IRQ affinity mask. + echo 3f > /proc/irq/default_smp_affinity + + if [ -f /sys/devices/soc0/soc_id ]; then + soc_id=`cat /sys/devices/soc0/soc_id` + else + soc_id=`cat /sys/devices/system/soc/soc0/id` + fi + + if [ -f /sys/devices/soc0/hw_platform ]; then + hw_platform=`cat /sys/devices/soc0/hw_platform` + else + hw_platform=`cat /sys/devices/system/soc/soc0/hw_platform` + fi + + if [ -f /sys/devices/soc0/platform_subtype_id ]; then + platform_subtype_id=`cat /sys/devices/soc0/platform_subtype_id` + fi + + case "$soc_id" in + "347" ) + + # Start Host based Touch processing + case "$hw_platform" in + "Surf" | "RCM" | "QRD" ) + start_hbtp + ;; + "MTP" ) + if [ $platform_subtype_id != 5 ]; then + start_hbtp + fi + ;; + esac + + # Core control parameters on silver + 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 0 > /sys/devices/system/cpu/cpu0/core_ctl/is_big_cluster + echo 8 > /sys/devices/system/cpu/cpu0/core_ctl/task_thres + + # Setting b.L scheduler parameters + echo 96 > /proc/sys/kernel/sched_upmigrate + echo 90 > /proc/sys/kernel/sched_downmigrate + echo 140 > /proc/sys/kernel/sched_group_upmigrate + echo 120 > /proc/sys/kernel/sched_group_downmigrate + + # configure governor settings for little cluster + echo "schedutil" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor + echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/rate_limit_us + echo 1209600 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_freq + echo 576000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + + # configure governor settings for big cluster + echo "schedutil" > /sys/devices/system/cpu/cpu6/cpufreq/scaling_governor + echo 0 > /sys/devices/system/cpu/cpu6/cpufreq/schedutil/rate_limit_us + echo 1344000 > /sys/devices/system/cpu/cpu6/cpufreq/schedutil/hispeed_freq + echo 825600 > /sys/devices/system/cpu/cpu6/cpufreq/scaling_min_freq + + echo "0:1209600" > /sys/module/cpu_boost/parameters/input_boost_freq + echo 40 > /sys/module/cpu_boost/parameters/input_boost_ms + + # Enable bus-dcvs + for cpubw in /sys/class/devfreq/*qcom,cpubw* + do + echo "bw_hwmon" > $cpubw/governor + echo 50 > $cpubw/polling_interval + echo "1144 1720 2086 2929 3879 5931 6881" > $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/low_power_ceil_mbps + echo 68 > $cpubw/bw_hwmon/low_power_io_percent + echo 20 > $cpubw/bw_hwmon/low_power_delay + echo 0 > $cpubw/bw_hwmon/guard_band_mbps + echo 250 > $cpubw/bw_hwmon/up_scale + echo 1600 > $cpubw/bw_hwmon/idle_mbps + done + + #Enable mem_latency governor for DDR scaling + for memlat in /sys/class/devfreq/*qcom,memlat-cpu* + do + echo "mem_latency" > $memlat/governor + echo 10 > $memlat/polling_interval + echo 400 > $memlat/mem_latency/ratio_ceil + done + + #Enable mem_latency governor for L3 scaling + for memlat in /sys/class/devfreq/*qcom,l3-cpu* + do + echo "mem_latency" > $memlat/governor + echo 10 > $memlat/polling_interval + echo 400 > $memlat/mem_latency/ratio_ceil + done + + echo "cpufreq" > /sys/class/devfreq/soc:qcom,mincpubw/governor + + # 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 + + # Turn on sleep modes. + echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled + echo 100 > /proc/sys/vm/swappiness + ;; + esac + ;; +esac + +case "$target" in + "apq8084") + echo 4 > /sys/module/lpm_levels/enable_low_power/l2 + echo 1 > /sys/module/msm_pm/modes/cpu0/power_collapse/suspend_enabled + echo 1 > /sys/module/msm_pm/modes/cpu1/power_collapse/suspend_enabled + echo 1 > /sys/module/msm_pm/modes/cpu2/power_collapse/suspend_enabled + echo 1 > /sys/module/msm_pm/modes/cpu3/power_collapse/suspend_enabled + echo 1 > /sys/module/msm_pm/modes/cpu0/power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu1/power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu2/power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu3/power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/suspend_enabled + echo 1 > /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/suspend_enabled + echo 1 > /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/suspend_enabled + echo 1 > /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/suspend_enabled + echo 1 > /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu0/retention/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu1/retention/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu2/retention/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu3/retention/idle_enabled + echo 0 > /sys/module/msm_thermal/core_control/enabled + echo 1 > /sys/devices/system/cpu/cpu1/online + echo 1 > /sys/devices/system/cpu/cpu2/online + echo 1 > /sys/devices/system/cpu/cpu3/online + for devfreq_gov in /sys/class/devfreq/qcom,cpubw*/governor + do + echo "cpubw_hwmon" > $devfreq_gov + done + echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor + echo "interactive" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor + echo "interactive" > /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor + echo "interactive" > /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor + echo "20000 1400000:40000 1700000:20000" > /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay + echo 90 > /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load + echo 1497600 > /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq + echo "85 1500000:90 1800000:70" > /sys/devices/system/cpu/cpufreq/interactive/target_loads + echo 40000 > /sys/devices/system/cpu/cpufreq/interactive/min_sample_time + echo 20 > /sys/module/cpu_boost/parameters/boost_ms + echo 1728000 > /sys/module/cpu_boost/parameters/sync_threshold + echo 100000 > /sys/devices/system/cpu/cpufreq/interactive/sampling_down_factor + echo 1497600 > /sys/module/cpu_boost/parameters/input_boost_freq + echo 40 > /sys/module/cpu_boost/parameters/input_boost_ms + echo 1 > /dev/cpuctl/apps/cpu.notify_on_migrate + echo 300000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + echo 300000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq + echo 300000 > /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq + echo 300000 > /sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq + echo 1 > /sys/module/msm_thermal/core_control/enabled + chown -h system /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq + chown -h system /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + chown -h root.system /sys/devices/system/cpu/mfreq + chmod -h 220 /sys/devices/system/cpu/mfreq + chown -h root.system /sys/devices/system/cpu/cpu1/online + chown -h root.system /sys/devices/system/cpu/cpu2/online + chown -h root.system /sys/devices/system/cpu/cpu3/online + chmod -h 664 /sys/devices/system/cpu/cpu1/online + chmod -h 664 /sys/devices/system/cpu/cpu2/online + chmod -h 664 /sys/devices/system/cpu/cpu3/online + ;; +esac + +case "$target" in + "mpq8092") + echo 4 > /sys/module/lpm_levels/enable_low_power/l2 + echo 1 > /sys/module/msm_pm/modes/cpu0/power_collapse/suspend_enabled + echo 1 > /sys/module/msm_pm/modes/cpu1/power_collapse/suspend_enabled + echo 1 > /sys/module/msm_pm/modes/cpu2/power_collapse/suspend_enabled + echo 1 > /sys/module/msm_pm/modes/cpu3/power_collapse/suspend_enabled + echo 1 > /sys/module/msm_pm/modes/cpu0/power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu1/power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu2/power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu3/power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/suspend_enabled + echo 1 > /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/suspend_enabled + echo 1 > /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/suspend_enabled + echo 1 > /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/suspend_enabled + echo 1 > /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu0/retention/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu1/retention/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu2/retention/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu3/retention/idle_enabled + echo 0 > /sys/module/msm_thermal/core_control/enabled + echo 1 > /sys/devices/system/cpu/cpu1/online + echo 1 > /sys/devices/system/cpu/cpu2/online + echo 1 > /sys/devices/system/cpu/cpu3/online + echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor + echo "ondemand" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor + echo "ondemand" > /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor + echo "ondemand" > /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor + echo 50000 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate + echo 90 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold + echo 1 > /sys/devices/system/cpu/cpufreq/ondemand/io_is_busy + echo 300000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + echo 300000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq + echo 300000 > /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq + echo 300000 > /sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq + echo 1 > /sys/module/msm_thermal/core_control/enabled + chown -h system /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq + chown -h system /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + chown -h root.system /sys/devices/system/cpu/mfreq + chmod -h 220 /sys/devices/system/cpu/mfreq + chown -h root.system /sys/devices/system/cpu/cpu1/online + chown -h root.system /sys/devices/system/cpu/cpu2/online + chown -h root.system /sys/devices/system/cpu/cpu3/online + chmod -h 664 /sys/devices/system/cpu/cpu1/online + chmod -h 664 /sys/devices/system/cpu/cpu2/online + chmod -h 664 /sys/devices/system/cpu/cpu3/online + ;; +esac + +case "$target" in + "msm8992") + # disable thermal bcl hotplug to switch governor + echo 0 > /sys/module/msm_thermal/core_control/enabled + echo -n disable > /sys/devices/soc.*/qcom,bcl.*/mode + bcl_hotplug_mask=`cat /sys/devices/soc.*/qcom,bcl.*/hotplug_mask` + echo 0 > /sys/devices/soc.*/qcom,bcl.*/hotplug_mask + echo -n enable > /sys/devices/soc.*/qcom,bcl.*/mode + echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled + # configure governor settings for little cluster + echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor + echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_sched_load + echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_migration_notif + echo 19000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/above_hispeed_delay + echo 90 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/go_hispeed_load + echo 20000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/timer_rate + echo 960000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/hispeed_freq + echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/io_is_busy + echo 80 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/target_loads + echo 40000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/min_sample_time + echo 80000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/max_freq_hysteresis + echo 384000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + # online CPU4 + echo 1 > /sys/devices/system/cpu/cpu4/online + # configure governor settings for big cluster + echo "interactive" > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor + echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/use_sched_load + echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/use_migration_notif + echo 19000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/above_hispeed_delay + echo 90 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/go_hispeed_load + echo 20000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/timer_rate + echo 1536000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq + echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/io_is_busy + echo 85 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads + echo 40000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/min_sample_time + echo 80000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/max_freq_hysteresis + echo 384000 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq + # re-enable thermal and BCL hotplug + echo 1 > /sys/module/msm_thermal/core_control/enabled + echo -n disable > /sys/devices/soc.*/qcom,bcl.*/mode + echo $bcl_hotplug_mask > /sys/devices/soc.*/qcom,bcl.*/hotplug_mask + echo $bcl_soc_hotplug_mask > /sys/devices/soc.*/qcom,bcl.*/hotplug_soc_mask + echo -n enable > /sys/devices/soc.*/qcom,bcl.*/mode + # plugin remaining A57s + echo 1 > /sys/devices/system/cpu/cpu5/online + # input boost configuration + echo 0:1248000 > /sys/module/cpu_boost/parameters/input_boost_freq + echo 40 > /sys/module/cpu_boost/parameters/input_boost_ms + # Enable task migration fixups in the scheduler + echo 1 > /proc/sys/kernel/sched_migration_fixup + for devfreq_gov in /sys/class/devfreq/qcom,cpubw*/governor + do + echo "bw_hwmon" > $devfreq_gov + done + #enable rps static configuration + echo 8 > /sys/class/net/rmnet_ipa0/queues/rx-0/rps_cpus + echo 30 > /proc/sys/kernel/sched_small_task + ;; +esac + +case "$target" in + "msm8994") + # ensure at most one A57 is online when thermal hotplug is disabled + echo 0 > /sys/devices/system/cpu/cpu5/online + echo 0 > /sys/devices/system/cpu/cpu6/online + echo 0 > /sys/devices/system/cpu/cpu7/online + # in case CPU4 is online, limit its frequency + echo 960000 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq + # Limit A57 max freq from msm_perf module in case CPU 4 is offline + echo "4:960000 5:960000 6:960000 7:960000" > /sys/module/msm_performance/parameters/cpu_max_freq + # disable thermal bcl hotplug to switch governor + echo 0 > /sys/module/msm_thermal/core_control/enabled + for mode in /sys/devices/soc.0/qcom,bcl.*/mode + do + echo -n disable > $mode + done + for hotplug_mask in /sys/devices/soc.0/qcom,bcl.*/hotplug_mask + do + bcl_hotplug_mask=`cat $hotplug_mask` + echo 0 > $hotplug_mask + done + for hotplug_soc_mask in /sys/devices/soc.0/qcom,bcl.*/hotplug_soc_mask + do + bcl_soc_hotplug_mask=`cat $hotplug_soc_mask` + echo 0 > $hotplug_soc_mask + done + for mode in /sys/devices/soc.0/qcom,bcl.*/mode + do + echo -n enable > $mode + done + # configure governor settings for little cluster + echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor + echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_sched_load + echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_migration_notif + echo 19000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/above_hispeed_delay + echo 90 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/go_hispeed_load + echo 20000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/timer_rate + echo 960000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/hispeed_freq + echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/io_is_busy + echo 80 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/target_loads + echo 40000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/min_sample_time + echo 80000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/max_freq_hysteresis + echo 384000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + # online CPU4 + echo 1 > /sys/devices/system/cpu/cpu4/online + # Best effort limiting for first time boot if msm_performance module is absent + echo 960000 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq + # configure governor settings for big cluster + echo "interactive" > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor + echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/use_sched_load + echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/use_migration_notif + echo "19000 1400000:39000 1700000:19000" > /sys/devices/system/cpu/cpu4/cpufreq/interactive/above_hispeed_delay + echo 90 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/go_hispeed_load + echo 20000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/timer_rate + echo 1248000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq + echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/io_is_busy + echo "85 1500000:90 1800000:70" > /sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads + echo 40000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/min_sample_time + echo 80000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/max_freq_hysteresis + echo 384000 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq + # restore A57's max + cat /sys/devices/system/cpu/cpu4/cpufreq/cpuinfo_max_freq > /sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq + # re-enable thermal and BCL hotplug + echo 1 > /sys/module/msm_thermal/core_control/enabled + for mode in /sys/devices/soc.0/qcom,bcl.*/mode + do + echo -n disable > $mode + done + for hotplug_mask in /sys/devices/soc.0/qcom,bcl.*/hotplug_mask + do + echo $bcl_hotplug_mask > $hotplug_mask + done + for hotplug_soc_mask in /sys/devices/soc.0/qcom,bcl.*/hotplug_soc_mask + do + echo $bcl_soc_hotplug_mask > $hotplug_soc_mask + done + for mode in /sys/devices/soc.0/qcom,bcl.*/mode + do + echo -n enable > $mode + done + # plugin remaining A57s + echo 1 > /sys/devices/system/cpu/cpu5/online + echo 1 > /sys/devices/system/cpu/cpu6/online + echo 1 > /sys/devices/system/cpu/cpu7/online + echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled + # Restore CPU 4 max freq from msm_performance + echo "4:4294967295 5:4294967295 6:4294967295 7:4294967295" > /sys/module/msm_performance/parameters/cpu_max_freq + # input boost configuration + echo 0:1344000 > /sys/module/cpu_boost/parameters/input_boost_freq + echo 40 > /sys/module/cpu_boost/parameters/input_boost_ms + # Setting b.L scheduler parameters + echo 1 > /proc/sys/kernel/sched_migration_fixup + echo 30 > /proc/sys/kernel/sched_small_task + echo 20 > /proc/sys/kernel/sched_mostly_idle_load + echo 3 > /proc/sys/kernel/sched_mostly_idle_nr_run + echo 99 > /proc/sys/kernel/sched_upmigrate + echo 85 > /proc/sys/kernel/sched_downmigrate + echo 400000 > /proc/sys/kernel/sched_freq_inc_notify + echo 400000 > /proc/sys/kernel/sched_freq_dec_notify + #enable rps static configuration + echo 8 > /sys/class/net/rmnet_ipa0/queues/rx-0/rps_cpus + for devfreq_gov in /sys/class/devfreq/qcom,cpubw*/governor + do + echo "bw_hwmon" > $devfreq_gov + done + ;; +esac + +case "$target" in + "msm8996") + # disable thermal bcl hotplug to switch governor + echo 0 > /sys/module/msm_thermal/core_control/enabled + echo -n disable > /sys/devices/soc/soc:qcom,bcl/mode + bcl_hotplug_mask=`cat /sys/devices/soc/soc:qcom,bcl/hotplug_mask` + echo 0 > /sys/devices/soc/soc:qcom,bcl/hotplug_mask + bcl_soc_hotplug_mask=`cat /sys/devices/soc/soc:qcom,bcl/hotplug_soc_mask` + echo 0 > /sys/devices/soc/soc:qcom,bcl/hotplug_soc_mask + echo -n enable > /sys/devices/soc/soc:qcom,bcl/mode + # set sync wakee policy tunable + echo 1 > /proc/sys/kernel/sched_prefer_sync_wakee_to_waker + # configure governor settings for little cluster + echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor + echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_sched_load + echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_migration_notif + echo 19000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/above_hispeed_delay + echo 90 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/go_hispeed_load + echo 20000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/timer_rate + echo 960000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/hispeed_freq + echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/io_is_busy + echo 80 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/target_loads + echo 19000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/min_sample_time + echo 79000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/max_freq_hysteresis + echo 300000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/ignore_hispeed_on_notif + # online CPU2 + echo 1 > /sys/devices/system/cpu/cpu2/online + # configure governor settings for big cluster + echo "interactive" > /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor + echo 1 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/use_sched_load + echo 1 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/use_migration_notif + echo "19000 1400000:39000 1700000:19000 2100000:79000" > /sys/devices/system/cpu/cpu2/cpufreq/interactive/above_hispeed_delay + echo 90 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/go_hispeed_load + echo 20000 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/timer_rate + echo 1248000 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/hispeed_freq + echo 1 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/io_is_busy + echo "85 1500000:90 1800000:70 2100000:95" > /sys/devices/system/cpu/cpu2/cpufreq/interactive/target_loads + echo 19000 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/min_sample_time + echo 79000 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/max_freq_hysteresis + echo 300000 > /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq + echo 1 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/ignore_hispeed_on_notif + # re-enable thermal and BCL hotplug + echo 1 > /sys/module/msm_thermal/core_control/enabled + echo -n disable > /sys/devices/soc/soc:qcom,bcl/mode + echo $bcl_hotplug_mask > /sys/devices/soc/soc:qcom,bcl/hotplug_mask + echo $bcl_soc_hotplug_mask > /sys/devices/soc/soc:qcom,bcl/hotplug_soc_mask + echo -n enable > /sys/devices/soc/soc:qcom,bcl/mode + # input boost configuration + echo "0:1324800 2:1324800" > /sys/module/cpu_boost/parameters/input_boost_freq + echo 40 > /sys/module/cpu_boost/parameters/input_boost_ms + # Setting b.L scheduler parameters + echo 0 > /proc/sys/kernel/sched_boost + echo 1 > /proc/sys/kernel/sched_migration_fixup + echo 45 > /proc/sys/kernel/sched_downmigrate + echo 45 > /proc/sys/kernel/sched_upmigrate + echo 400000 > /proc/sys/kernel/sched_freq_inc_notify + echo 400000 > /proc/sys/kernel/sched_freq_dec_notify + echo 3 > /proc/sys/kernel/sched_spill_nr_run + echo 100 > /proc/sys/kernel/sched_init_task_load + # Enable bus-dcvs + for cpubw in /sys/class/devfreq/*qcom,cpubw* + do + echo "bw_hwmon" > $cpubw/governor + echo 50 > $cpubw/polling_interval + echo 1525 > $cpubw/min_freq + echo "1525 5195 11863 13763" > $cpubw/bw_hwmon/mbps_zones + echo 4 > $cpubw/bw_hwmon/sample_ms + echo 34 > $cpubw/bw_hwmon/io_percent + echo 20 > $cpubw/bw_hwmon/hist_memory + echo 10 > $cpubw/bw_hwmon/hyst_length + echo 0 > $cpubw/bw_hwmon/low_power_ceil_mbps + echo 34 > $cpubw/bw_hwmon/low_power_io_percent + echo 20 > $cpubw/bw_hwmon/low_power_delay + echo 0 > $cpubw/bw_hwmon/guard_band_mbps + echo 250 > $cpubw/bw_hwmon/up_scale + echo 1600 > $cpubw/bw_hwmon/idle_mbps + done + + for memlat in /sys/class/devfreq/*qcom,memlat-cpu* + do + echo "mem_latency" > $memlat/governor + echo 10 > $memlat/polling_interval + done + echo "cpufreq" > /sys/class/devfreq/soc:qcom,mincpubw/governor + + soc_revision=`cat /sys/devices/soc0/revision` + if [ "$soc_revision" == "2.0" ]; then + #Disable suspend for v2.0 + echo pwr_dbg > /sys/power/wake_lock + elif [ "$soc_revision" == "2.1" ]; then + # Enable C4.D4.E4.M3 LPM modes + # Disable D3 state + echo 0 > /sys/module/lpm_levels/system/pwr/pwr-l2-gdhs/idle_enabled + echo 0 > /sys/module/lpm_levels/system/perf/perf-l2-gdhs/idle_enabled + # Disable DEF-FPC mode + echo N > /sys/module/lpm_levels/system/pwr/cpu0/fpc-def/idle_enabled + echo N > /sys/module/lpm_levels/system/pwr/cpu1/fpc-def/idle_enabled + echo N > /sys/module/lpm_levels/system/perf/cpu2/fpc-def/idle_enabled + echo N > /sys/module/lpm_levels/system/perf/cpu3/fpc-def/idle_enabled + else + # Enable all LPMs by default + # This will enable C4, D4, D3, E4 and M3 LPMs + echo N > /sys/module/lpm_levels/parameters/sleep_disabled + fi + echo N > /sys/module/lpm_levels/parameters/sleep_disabled + # Starting io prefetcher service + start iop + + # Set Memory parameters + configure_memory_parameters + ;; +esac + +case "$target" in + "sdm845") + + # Set the default IRQ affinity to the silver cluster. When a + # CPU is isolated/hotplugged, the IRQ affinity is adjusted + # to one of the CPU from the default IRQ affinity mask. + echo f > /proc/irq/default_smp_affinity + + if [ -f /sys/devices/soc0/soc_id ]; then + soc_id=`cat /sys/devices/soc0/soc_id` + else + soc_id=`cat /sys/devices/system/soc/soc0/id` + fi + + if [ -f /sys/devices/soc0/hw_platform ]; then + hw_platform=`cat /sys/devices/soc0/hw_platform` + fi + + if [ -f /sys/devices/soc0/platform_subtype_id ]; then + platform_subtype_id=`cat /sys/devices/soc0/platform_subtype_id` + fi + + case "$soc_id" in + "321" | "341") + # Start Host based Touch processing + case "$hw_platform" in + "QRD" ) + case "$platform_subtype_id" in + "32") #QVR845 do nothing + ;; + *) + start_hbtp + ;; + esac + ;; + *) + start_hbtp + ;; + esac + ;; + esac + # Core control parameters + 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 1 > /sys/devices/system/cpu/cpu4/core_ctl/is_big_cluster + echo 4 > /sys/devices/system/cpu/cpu4/core_ctl/task_thres + + # Setting b.L scheduler parameters + echo 95 > /proc/sys/kernel/sched_upmigrate + echo 85 > /proc/sys/kernel/sched_downmigrate + echo 100 > /proc/sys/kernel/sched_group_upmigrate + echo 95 > /proc/sys/kernel/sched_group_downmigrate + echo 1 > /proc/sys/kernel/sched_walt_rotate_big_tasks + + # configure governor settings for little cluster + echo "schedutil" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor + echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/rate_limit_us + echo 1209600 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_freq + echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/pl + echo 576000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + + # configure governor settings for big cluster + echo "schedutil" > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor + echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/rate_limit_us + echo 1574400 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/hispeed_freq + echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/pl + echo "0:1324800" > /sys/module/cpu_boost/parameters/input_boost_freq + echo 120 > /sys/module/cpu_boost/parameters/input_boost_ms + # Limit the min frequency to 825MHz + echo 825000 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq + + # Enable oom_reaper + echo 1 > /sys/module/lowmemorykiller/parameters/oom_reaper + + # Enable bus-dcvs + for cpubw in /sys/class/devfreq/*qcom,cpubw* + do + echo "bw_hwmon" > $cpubw/governor + echo 50 > $cpubw/polling_interval + echo "2288 4577 6500 8132 9155 10681" > $cpubw/bw_hwmon/mbps_zones + echo 4 > $cpubw/bw_hwmon/sample_ms + echo 50 > $cpubw/bw_hwmon/io_percent + echo 20 > $cpubw/bw_hwmon/hist_memory + echo 10 > $cpubw/bw_hwmon/hyst_length + echo 0 > $cpubw/bw_hwmon/guard_band_mbps + echo 250 > $cpubw/bw_hwmon/up_scale + echo 1600 > $cpubw/bw_hwmon/idle_mbps + done + + for llccbw in /sys/class/devfreq/*qcom,llccbw* + do + echo "bw_hwmon" > $llccbw/governor + echo 50 > $llccbw/polling_interval + echo "1720 2929 3879 5931 6881" > $llccbw/bw_hwmon/mbps_zones + 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 0 > $llccbw/bw_hwmon/guard_band_mbps + echo 250 > $llccbw/bw_hwmon/up_scale + echo 1600 > $llccbw/bw_hwmon/idle_mbps + done + + #Enable mem_latency governor for DDR scaling + for memlat in /sys/class/devfreq/*qcom,memlat-cpu* + do + echo "mem_latency" > $memlat/governor + echo 10 > $memlat/polling_interval + echo 400 > $memlat/mem_latency/ratio_ceil + done + + #Enable mem_latency governor for L3 scaling + for memlat in /sys/class/devfreq/*qcom,l3-cpu* + do + echo "mem_latency" > $memlat/governor + echo 10 > $memlat/polling_interval + echo 400 > $memlat/mem_latency/ratio_ceil + done + + #Enable userspace governor for L3 cdsp nodes + for l3cdsp in /sys/class/devfreq/*qcom,l3-cdsp* + do + echo "userspace" > $l3cdsp/governor + chown -h system $l3cdsp/userspace/set_freq + done + + #Gold L3 ratio ceil + echo 4000 > /sys/class/devfreq/soc:qcom,l3-cpu4/mem_latency/ratio_ceil + + echo "compute" > /sys/class/devfreq/soc:qcom,mincpubw/governor + echo 10 > /sys/class/devfreq/soc:qcom,mincpubw/polling_interval + + # 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 + # Disable CPU Retention + echo N > /sys/module/lpm_levels/L3/cpu0/ret/idle_enabled + echo N > /sys/module/lpm_levels/L3/cpu1/ret/idle_enabled + echo N > /sys/module/lpm_levels/L3/cpu2/ret/idle_enabled + echo N > /sys/module/lpm_levels/L3/cpu3/ret/idle_enabled + echo N > /sys/module/lpm_levels/L3/cpu4/ret/idle_enabled + echo N > /sys/module/lpm_levels/L3/cpu5/ret/idle_enabled + echo N > /sys/module/lpm_levels/L3/cpu6/ret/idle_enabled + echo N > /sys/module/lpm_levels/L3/cpu7/ret/idle_enabled + echo N > /sys/module/lpm_levels/L3/l3-dyn-ret/idle_enabled + # Turn on sleep modes. + echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled + echo 100 > /proc/sys/vm/swappiness + echo 120 > /proc/sys/vm/watermark_scale_factor + ;; +esac + +case "$target" in + "msmnile") + # 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 10 > /proc/sys/kernel/sched_group_downmigrate + echo 1 > /proc/sys/kernel/sched_walt_rotate_big_tasks + + # cpuset parameters + echo 0-2 > /dev/cpuset/background/cpus + echo 0-3 > /dev/cpuset/system-background/cpus + echo 4-7 > /dev/cpuset/foreground/boost/cpus + echo 0-2,4-7 > /dev/cpuset/foreground/cpus + echo 0-7 > /dev/cpuset/top-app/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/up_rate_limit_us + echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/down_rate_limit_us + echo 1209600 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/hispeed_freq + echo 576000 > /sys/devices/system/cpu/cpufreq/policy0/scaling_min_freq + echo 1 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/pl + + # 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/up_rate_limit_us + echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/down_rate_limit_us + echo 1612800 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/hispeed_freq + 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/up_rate_limit_us + echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/down_rate_limit_us + echo 1612800 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/hispeed_freq + echo 1 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/pl + + # configure input boost settings + echo "0:1324800" > /sys/module/cpu_boost/parameters/input_boost_freq + echo 120 > /sys/module/cpu_boost/parameters/input_boost_ms + echo "0:0 1:0 2:0 3:0 4:2323200 5:0 6:0 7:2323200" > /sys/module/cpu_boost/parameters/powerkey_input_boost_freq + echo 400 > /sys/module/cpu_boost/parameters/powerkey_input_boost_ms + + # 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 + + # Enable oom_reaper + if [ -f /sys/module/lowmemorykiller/parameters/oom_reaper ]; then + echo 1 > /sys/module/lowmemorykiller/parameters/oom_reaper + else + echo 1 > /proc/sys/vm/reap_mem_on_sigkill + fi + + # Enable bus-dcvs + for device in /sys/devices/platform/soc + do + for cpubw in $device/*cpu-cpu-llcc-bw/devfreq/*cpu-cpu-llcc-bw + do + echo "bw_hwmon" > $cpubw/governor + echo "2288 4577 7110 9155 12298 14236 15258" > $cpubw/bw_hwmon/mbps_zones + echo 4 > $cpubw/bw_hwmon/sample_ms + echo 50 > $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 14236 > $cpubw/max_freq + echo 40 > $cpubw/polling_interval + done + + for llccbw in $device/*cpu-llcc-ddr-bw/devfreq/*cpu-llcc-ddr-bw + do + echo "bw_hwmon" > $llccbw/governor + echo "1720 2929 3879 5931 6881 7980" > $llccbw/bw_hwmon/mbps_zones + 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 6881 > $llccbw/max_freq + echo 40 > $llccbw/polling_interval + done + + for npubw in $device/*npu-npu-ddr-bw/devfreq/*npu-npu-ddr-bw + do + echo 1 > /sys/devices/virtual/npu/msm_npu/pwr + echo "bw_hwmon" > $npubw/governor + echo "1720 2929 3879 5931 6881 7980" > $npubw/bw_hwmon/mbps_zones + echo 4 > $npubw/bw_hwmon/sample_ms + echo 80 > $npubw/bw_hwmon/io_percent + echo 20 > $npubw/bw_hwmon/hist_memory + echo 6 > $npubw/bw_hwmon/hyst_length + echo 30 > $npubw/bw_hwmon/down_thres + echo 0 > $npubw/bw_hwmon/guard_band_mbps + echo 250 > $npubw/bw_hwmon/up_scale + echo 0 > $npubw/bw_hwmon/idle_mbps + echo 40 > $npubw/polling_interval + echo 0 > /sys/devices/virtual/npu/msm_npu/pwr + done + done + + # memlat specific settings are moved to seperate file under + # device/target specific folder + setprop vendor.dcvs.prop 1 + + if [ -f /sys/devices/soc0/hw_platform ]; then + hw_platform=`cat /sys/devices/soc0/hw_platform` + else + hw_platform=`cat /sys/devices/system/soc/soc0/hw_platform` + fi + + if [ -f /sys/devices/soc0/platform_subtype_id ]; then + platform_subtype_id=`cat /sys/devices/soc0/platform_subtype_id` + fi + + case "$hw_platform" in + "MTP" | "Surf" | "RCM" ) + # Start Host based Touch processing + case "$platform_subtype_id" in + "0" | "1" | "2" | "3" | "4") + start_hbtp + ;; + esac + ;; + "HDK" ) + if [ -d /sys/kernel/hbtpsensor ] ; then + start_hbtp + fi + ;; + esac + + echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled + configure_memory_parameters + target_type=`getprop ro.hardware.type` + if [ "$target_type" == "automotive" ]; then + # update frequencies + configure_automotive_sku_parameters + fi + + ;; +esac + +case "$target" in + "sdmshrike") + # 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 10 > /proc/sys/kernel/sched_group_downmigrate + echo 1 > /proc/sys/kernel/sched_walt_rotate_big_tasks + + # 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/up_rate_limit_us + echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/down_rate_limit_us + echo 1209600 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/hispeed_freq + echo 576000 > /sys/devices/system/cpu/cpufreq/policy0/scaling_min_freq + echo 1 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/pl + + # 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/up_rate_limit_us + echo 0 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/down_rate_limit_us + echo 1612800 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/hispeed_freq + 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/up_rate_limit_us + echo 0 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/down_rate_limit_us + echo 1612800 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/hispeed_freq + echo 1 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/pl + + # configure input boost settings + echo "0:1324800" > /sys/module/cpu_boost/parameters/input_boost_freq + echo 120 > /sys/module/cpu_boost/parameters/input_boost_ms + + # 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 + + echo 0-3 > /dev/cpuset/background/cpus + echo 0-3 > /dev/cpuset/system-background/cpus + + # Enable oom_reaper + if [ -f /sys/module/lowmemorykiller/parameters/oom_reaper ]; then + echo 1 > /sys/module/lowmemorykiller/parameters/oom_reaper + else + echo 1 > /proc/sys/vm/reap_mem_on_sigkill + fi + + # Enable bus-dcvs + for device in /sys/devices/platform/soc + do + for cpubw in $device/*cpu-cpu-llcc-bw/devfreq/*cpu-cpu-llcc-bw + do + echo "bw_hwmon" > $cpubw/governor + echo 40 > $cpubw/polling_interval + echo "2288 4577 7110 9155 12298 14236 15258" > $cpubw/bw_hwmon/mbps_zones + echo 4 > $cpubw/bw_hwmon/sample_ms + echo 50 > $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 14236 > $cpubw/max_freq + done + + for llccbw in $device/*cpu-llcc-ddr-bw/devfreq/*cpu-llcc-ddr-bw + do + echo "bw_hwmon" > $llccbw/governor + echo 40 > $llccbw/polling_interval + echo "1720 2929 3879 5931 6881 7980" > $llccbw/bw_hwmon/mbps_zones + 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 6881 > $llccbw/max_freq + done + + for npubw in $device/*npu-npu-ddr-bw/devfreq/*npu-npu-ddr-bw + do + echo 1 > /sys/devices/virtual/npu/msm_npu/pwr + echo "bw_hwmon" > $npubw/governor + echo 40 > $npubw/polling_interval + echo "1720 2929 3879 5931 6881 7980" > $npubw/bw_hwmon/mbps_zones + echo 4 > $npubw/bw_hwmon/sample_ms + echo 80 > $npubw/bw_hwmon/io_percent + echo 20 > $npubw/bw_hwmon/hist_memory + echo 6 > $npubw/bw_hwmon/hyst_length + echo 30 > $npubw/bw_hwmon/down_thres + echo 0 > $npubw/bw_hwmon/guard_band_mbps + echo 250 > $npubw/bw_hwmon/up_scale + echo 0 > $npubw/bw_hwmon/idle_mbps + echo 0 > /sys/devices/virtual/npu/msm_npu/pwr + done + + #Enable mem_latency governor for L3, LLCC, and DDR scaling + for memlat in $device/*cpu*-lat/devfreq/*cpu*-lat + do + echo "mem_latency" > $memlat/governor + echo 10 > $memlat/polling_interval + echo 400 > $memlat/mem_latency/ratio_ceil + done + + #Enable userspace governor for L3 cdsp nodes + for l3cdsp in $device/*cdsp-cdsp-l3-lat/devfreq/*cdsp-cdsp-l3-lat + do + echo "cdspl3" > $l3cdsp/governor + done + + #Enable compute governor for gold latfloor + for latfloor in $device/*cpu-ddr-latfloor*/devfreq/*cpu-ddr-latfloor* + do + echo "compute" > $latfloor/governor + echo 10 > $latfloor/polling_interval + done + + #Gold 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 + + #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 + done + + if [ -f /sys/devices/soc0/hw_platform ]; then + hw_platform=`cat /sys/devices/soc0/hw_platform` + else + hw_platform=`cat /sys/devices/system/soc/soc0/hw_platform` + fi + + if [ -f /sys/devices/soc0/platform_subtype_id ]; then + platform_subtype_id=`cat /sys/devices/soc0/platform_subtype_id` + fi + + case "$hw_platform" in + "MTP" | "Surf" | "RCM" ) + # Start Host based Touch processing + case "$platform_subtype_id" in + "0" | "1") + start_hbtp + ;; + esac + ;; + "HDK" ) + if [ -d /sys/kernel/hbtpsensor ] ; then + start_hbtp + fi + ;; + esac + + #Setting the min and max supported frequencies + reg_val=`cat /sys/devices/platform/soc/780130.qfprom/qfprom0/nvmem | od -An -t d4` + feature_id=$(((reg_val >> 20) & 0xFF)) + + #Setting the min supported frequencies + echo 1113600 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + echo 1113600 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq + echo 1113600 > /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq + echo 1113600 > /sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq + echo 1171200 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq + echo 1171200 > /sys/devices/system/cpu/cpu5/cpufreq/scaling_min_freq + echo 1171200 > /sys/devices/system/cpu/cpu6/cpufreq/scaling_min_freq + echo 1171200 > /sys/devices/system/cpu/cpu7/cpufreq/scaling_min_freq + echo 940800000 > /sys/class/devfreq/soc\:qcom,cpu0-cpu-l3-lat/min_freq + echo 940800000 > /sys/class/devfreq/soc\:qcom,cpu4-cpu-l3-lat/min_freq + echo 1651200000 > /sys/class/devfreq/soc\:qcom,cpu0-cpu-l3-lat/max_freq + echo 1651200000 > /sys/class/devfreq/soc\:qcom,cpu4-cpu-l3-lat/max_freq + #setting min gpu freq to 392 MHz + echo 4 > /sys/class/kgsl/kgsl-3d0/min_pwrlevel + if [ $feature_id == 0 ]; then + echo "feature_id is 0 for SA8185P" + + #setting max gpu freq to 530 MHz + echo 3 > /sys/class/kgsl/kgsl-3d0/max_pwrlevel + echo {class:ddr, res:capped, val: 1804} > /sys/kernel/debug/aop_send_message + elif [ $feature_id == 1 ]; then + echo "feature_id is 1 for SA8195P" + + #setting max gpu freq to 670 MHz + echo 0 > /sys/class/kgsl/kgsl-3d0/max_pwrlevel + echo {class:ddr, res:capped, val: 2092} > /sys/kernel/debug/aop_send_message + else + echo "unknown feature_id value" $feature_id + fi + + echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled + configure_memory_parameters + ;; +esac + +case "$target" in + "kona") + 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 + + # 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 == "2.0" ] || [ $rev == "2.1" ]; then + echo 1248000 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/hispeed_freq + else + echo 1228800 > /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 + echo "0:1324800" > /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 1574400 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/hispeed_freq + 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 == "2.0" ] || [ $rev == "2.1" ]; then + echo 1632000 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/hispeed_freq + else + echo 1612800 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/hispeed_freq + fi + echo 1 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/pl + + # Enable bus-dcvs + for device in /sys/devices/platform/soc + do + for cpubw in $device/*cpu-cpu-llcc-bw/devfreq/*cpu-cpu-llcc-bw + do + echo "bw_hwmon" > $cpubw/governor + echo "4577 7110 9155 12298 14236 15258" > $cpubw/bw_hwmon/mbps_zones + echo 4 > $cpubw/bw_hwmon/sample_ms + echo 50 > $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 14236 > $cpubw/max_freq + echo 40 > $cpubw/polling_interval + done + + for llccbw in $device/*cpu-llcc-ddr-bw/devfreq/*cpu-llcc-ddr-bw + do + echo "bw_hwmon" > $llccbw/governor + if [ ${ddr_type:4:2} == $ddr_type4 ]; then + echo "1720 2086 2929 3879 5161 5931 6881 7980" > $llccbw/bw_hwmon/mbps_zones + elif [ ${ddr_type:4:2} == $ddr_type5 ]; then + echo "1720 2086 2929 3879 5931 6881 7980 10437" > $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 6881 > $llccbw/max_freq + echo 40 > $llccbw/polling_interval + done + + for npubw in $device/*npu*-ddr-bw/devfreq/*npu*-ddr-bw + do + echo 1 > /sys/devices/virtual/npu/msm_npu/pwr + echo "bw_hwmon" > $npubw/governor + if [ ${ddr_type:4:2} == $ddr_type4 ]; then + echo "1720 2086 2929 3879 5931 6881 7980" > $npubw/bw_hwmon/mbps_zones + elif [ ${ddr_type:4:2} == $ddr_type5 ]; then + echo "1720 2086 2929 3879 5931 6881 7980 10437" > $npubw/bw_hwmon/mbps_zones + fi + echo 4 > $npubw/bw_hwmon/sample_ms + echo 160 > $npubw/bw_hwmon/io_percent + echo 20 > $npubw/bw_hwmon/hist_memory + echo 10 > $npubw/bw_hwmon/hyst_length + echo 30 > $npubw/bw_hwmon/down_thres + echo 0 > $npubw/bw_hwmon/guard_band_mbps + echo 250 > $npubw/bw_hwmon/up_scale + echo 1600 > $npubw/bw_hwmon/idle_mbps + echo 40 > $npubw/polling_interval + echo 0 > /sys/devices/virtual/npu/msm_npu/pwr + done + + for npullccbw in $device/*npu*-llcc-bw/devfreq/*npu*-llcc-bw + do + echo 1 > /sys/devices/virtual/npu/msm_npu/pwr + echo "bw_hwmon" > $npullccbw/governor + echo "4577 7110 9155 12298 14236 15258" > $npullccbw/bw_hwmon/mbps_zones + echo 4 > $npullccbw/bw_hwmon/sample_ms + echo 160 > $npullccbw/bw_hwmon/io_percent + echo 20 > $npullccbw/bw_hwmon/hist_memory + echo 10 > $npullccbw/bw_hwmon/hyst_length + echo 30 > $npullccbw/bw_hwmon/down_thres + echo 0 > $npullccbw/bw_hwmon/guard_band_mbps + echo 250 > $npullccbw/bw_hwmon/up_scale + echo 1600 > $npullccbw/bw_hwmon/idle_mbps + echo 40 > $npullccbw/polling_interval + echo 0 > /sys/devices/virtual/npu/msm_npu/pwr + done + done + # memlat specific settings are moved to seperate file under + # device/target specific folder + setprop vendor.dcvs.prop 0 + setprop vendor.dcvs.prop 1 + echo N > /sys/module/lpm_levels/parameters/sleep_disabled + configure_memory_parameters + ;; +esac + +case "$target" in + "msm8998" | "apq8098_latv") + + 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 1 > /sys/devices/system/cpu/cpu4/core_ctl/is_big_cluster + echo 4 > /sys/devices/system/cpu/cpu4/core_ctl/task_thres + + # Setting b.L scheduler parameters + echo 1 > /proc/sys/kernel/sched_migration_fixup + echo 95 > /proc/sys/kernel/sched_upmigrate + echo 90 > /proc/sys/kernel/sched_downmigrate + echo 100 > /proc/sys/kernel/sched_group_upmigrate + echo 95 > /proc/sys/kernel/sched_group_downmigrate + echo 0 > /proc/sys/kernel/sched_select_prev_cpu_us + echo 400000 > /proc/sys/kernel/sched_freq_inc_notify + echo 400000 > /proc/sys/kernel/sched_freq_dec_notify + echo 5 > /proc/sys/kernel/sched_spill_nr_run + echo 1 > /proc/sys/kernel/sched_restrict_cluster_spill + echo 1 > /proc/sys/kernel/sched_prefer_sync_wakee_to_waker + start iop + + # disable thermal bcl hotplug to switch governor + echo 0 > /sys/module/msm_thermal/core_control/enabled + + # online CPU0 + echo 1 > /sys/devices/system/cpu/cpu0/online + # configure governor settings for little cluster + echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor + echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_sched_load + echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_migration_notif + echo 19000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/above_hispeed_delay + echo 90 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/go_hispeed_load + echo 20000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/timer_rate + echo 1248000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/hispeed_freq + echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/io_is_busy + echo "83 1804800:95" > /sys/devices/system/cpu/cpu0/cpufreq/interactive/target_loads + echo 19000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/min_sample_time + echo 79000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/max_freq_hysteresis + echo 518400 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/ignore_hispeed_on_notif + # online CPU4 + echo 1 > /sys/devices/system/cpu/cpu4/online + # configure governor settings for big cluster + echo "interactive" > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor + echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/use_sched_load + echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/use_migration_notif + echo 19000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/above_hispeed_delay + echo 90 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/go_hispeed_load + echo 20000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/timer_rate + echo 1574400 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq + echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/io_is_busy + echo "83 1939200:90 2016000:95" > /sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads + echo 19000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/min_sample_time + echo 79000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/max_freq_hysteresis + echo 806400 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq + echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/ignore_hispeed_on_notif + + # re-enable thermal and BCL hotplug + echo 1 > /sys/module/msm_thermal/core_control/enabled + + # Enable input boost configuration + echo "0:1324800" > /sys/module/cpu_boost/parameters/input_boost_freq + echo 40 > /sys/module/cpu_boost/parameters/input_boost_ms + # Enable bus-dcvs + for cpubw in /sys/class/devfreq/*qcom,cpubw* + do + echo "bw_hwmon" > $cpubw/governor + echo 50 > $cpubw/polling_interval + echo 1525 > $cpubw/min_freq + echo "3143 5859 11863 13763" > $cpubw/bw_hwmon/mbps_zones + echo 4 > $cpubw/bw_hwmon/sample_ms + echo 34 > $cpubw/bw_hwmon/io_percent + echo 20 > $cpubw/bw_hwmon/hist_memory + echo 10 > $cpubw/bw_hwmon/hyst_length + echo 0 > $cpubw/bw_hwmon/low_power_ceil_mbps + echo 34 > $cpubw/bw_hwmon/low_power_io_percent + echo 20 > $cpubw/bw_hwmon/low_power_delay + echo 0 > $cpubw/bw_hwmon/guard_band_mbps + echo 250 > $cpubw/bw_hwmon/up_scale + echo 1600 > $cpubw/bw_hwmon/idle_mbps + done + + for memlat in /sys/class/devfreq/*qcom,memlat-cpu* + do + echo "mem_latency" > $memlat/governor + echo 10 > $memlat/polling_interval + echo 400 > $memlat/mem_latency/ratio_ceil + done + echo "cpufreq" > /sys/class/devfreq/soc:qcom,mincpubw/governor + if [ -f /sys/devices/soc0/soc_id ]; then + soc_id=`cat /sys/devices/soc0/soc_id` + else + soc_id=`cat /sys/devices/system/soc/soc0/id` + fi + + if [ -f /sys/devices/soc0/hw_platform ]; then + hw_platform=`cat /sys/devices/soc0/hw_platform` + else + hw_platform=`cat /sys/devices/system/soc/soc0/hw_platform` + fi + + if [ -f /sys/devices/soc0/platform_version ]; then + platform_version=`cat /sys/devices/soc0/platform_version` + platform_major_version=$((10#${platform_version}>>16)) + fi + + if [ -f /sys/devices/soc0/platform_subtype_id ]; then + platform_subtype_id=`cat /sys/devices/soc0/platform_subtype_id` + fi + + case "$soc_id" in + "292") #msm8998 apq8098_latv + # Start Host based Touch processing + case "$hw_platform" in + "QRD") + case "$platform_subtype_id" in + "0") + start_hbtp + ;; + "16") + if [ $platform_major_version -lt 6 ]; then + start_hbtp + fi + ;; + esac + + ;; + esac + ;; + esac + + echo N > /sys/module/lpm_levels/system/pwr/cpu0/ret/idle_enabled + echo N > /sys/module/lpm_levels/system/pwr/cpu1/ret/idle_enabled + echo N > /sys/module/lpm_levels/system/pwr/cpu2/ret/idle_enabled + echo N > /sys/module/lpm_levels/system/pwr/cpu3/ret/idle_enabled + echo N > /sys/module/lpm_levels/system/perf/cpu4/ret/idle_enabled + echo N > /sys/module/lpm_levels/system/perf/cpu5/ret/idle_enabled + echo N > /sys/module/lpm_levels/system/perf/cpu6/ret/idle_enabled + echo N > /sys/module/lpm_levels/system/perf/cpu7/ret/idle_enabled + echo N > /sys/module/lpm_levels/system/pwr/pwr-l2-dynret/idle_enabled + echo N > /sys/module/lpm_levels/system/pwr/pwr-l2-ret/idle_enabled + echo N > /sys/module/lpm_levels/system/perf/perf-l2-dynret/idle_enabled + echo N > /sys/module/lpm_levels/system/perf/perf-l2-ret/idle_enabled + echo N > /sys/module/lpm_levels/parameters/sleep_disabled + + echo 0-3 > /dev/cpuset/background/cpus + echo 0-3 > /dev/cpuset/system-background/cpus + echo 0 > /proc/sys/kernel/sched_boost + + # Set Memory parameters + configure_memory_parameters + ;; +esac + +case "$target" in + "msm8909") + + if [ -f /sys/devices/soc0/soc_id ]; then + soc_id=`cat /sys/devices/soc0/soc_id` + else + soc_id=`cat /sys/devices/system/soc/soc0/id` + fi + + # HMP scheduler settings for 8909 similiar to 8917 + echo 3 > /proc/sys/kernel/sched_window_stats_policy + echo 3 > /proc/sys/kernel/sched_ravg_hist_size + + echo 1 > /proc/sys/kernel/sched_restrict_tasks_spread + + echo 20 > /proc/sys/kernel/sched_small_task + echo 30 > /sys/devices/system/cpu/cpu0/sched_mostly_idle_load + echo 30 > /sys/devices/system/cpu/cpu1/sched_mostly_idle_load + echo 30 > /sys/devices/system/cpu/cpu2/sched_mostly_idle_load + echo 30 > /sys/devices/system/cpu/cpu3/sched_mostly_idle_load + + echo 3 > /sys/devices/system/cpu/cpu0/sched_mostly_idle_nr_run + echo 3 > /sys/devices/system/cpu/cpu1/sched_mostly_idle_nr_run + echo 3 > /sys/devices/system/cpu/cpu2/sched_mostly_idle_nr_run + echo 3 > /sys/devices/system/cpu/cpu3/sched_mostly_idle_nr_run + + echo 0 > /sys/devices/system/cpu/cpu0/sched_prefer_idle + echo 0 > /sys/devices/system/cpu/cpu1/sched_prefer_idle + echo 0 > /sys/devices/system/cpu/cpu2/sched_prefer_idle + echo 0 > /sys/devices/system/cpu/cpu3/sched_prefer_idle + + # Apply governor settings for 8909 + + # disable thermal core_control to update scaling_min_freq + echo 0 > /sys/module/msm_thermal/core_control/enabled + echo 1 > /sys/devices/system/cpu/cpu0/online + echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor + echo 800000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + # enable thermal core_control now + echo 1 > /sys/module/msm_thermal/core_control/enabled + + echo "29000 1094400:49000" > /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay + echo 90 > /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load + echo 30000 > /sys/devices/system/cpu/cpufreq/interactive/timer_rate + echo 998400 > /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq + echo 0 > /sys/devices/system/cpu/cpufreq/interactive/io_is_busy + echo "1 800000:85 998400:90 1094400:80" > /sys/devices/system/cpu/cpufreq/interactive/target_loads + echo 50000 > /sys/devices/system/cpu/cpufreq/interactive/min_sample_time + echo 50000 > /sys/devices/system/cpu/cpufreq/interactive/sampling_down_factor + + # Bring up all cores online + echo 1 > /sys/devices/system/cpu/cpu1/online + echo 1 > /sys/devices/system/cpu/cpu2/online + echo 1 > /sys/devices/system/cpu/cpu3/online + echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled + + for devfreq_gov in /sys/class/devfreq/*qcom,cpubw*/governor + do + echo "bw_hwmon" > $devfreq_gov + for cpu_bimc_bw_step in /sys/class/devfreq/*qcom,cpubw*/bw_hwmon/bw_step + do + echo 60 > $cpu_bimc_bw_step + done + for cpu_guard_band_mbps in /sys/class/devfreq/*qcom,cpubw*/bw_hwmon/guard_band_mbps + do + echo 30 > $cpu_guard_band_mbps + done + done + + for gpu_bimc_io_percent in /sys/class/devfreq/*qcom,gpubw*/bw_hwmon/io_percent + do + echo 40 > $gpu_bimc_io_percent + done + for gpu_bimc_bw_step in /sys/class/devfreq/*qcom,gpubw*/bw_hwmon/bw_step + do + echo 60 > $gpu_bimc_bw_step + done + for gpu_bimc_guard_band_mbps in /sys/class/devfreq/*qcom,gpubw*/bw_hwmon/guard_band_mbps + do + echo 30 > $gpu_bimc_guard_band_mbps + done + + # Set Memory parameters + configure_memory_parameters + restorecon -R /sys/devices/system/cpu + ;; +esac + +case "$target" in + "msm7627_ffa" | "msm7627_surf" | "msm7627_6x") + echo 25000 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate + ;; +esac + +case "$target" in + "qsd8250_surf" | "qsd8250_ffa" | "qsd8650a_st1x") + echo 50000 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate + ;; +esac + +case "$target" in + "qsd8650a_st1x") + mount -t debugfs none /sys/kernel/debug + ;; +esac + +chown -h system /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate +chown -h system /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor +chown -h system /sys/devices/system/cpu/cpufreq/ondemand/io_is_busy + +emmc_boot=`getprop vendor.boot.emmc` +case "$emmc_boot" + in "true") + chown -h system /sys/devices/platform/rs300000a7.65536/force_sync + chown -h system /sys/devices/platform/rs300000a7.65536/sync_sts + chown -h system /sys/devices/platform/rs300100a7.65536/force_sync + chown -h system /sys/devices/platform/rs300100a7.65536/sync_sts + ;; +esac + +case "$target" in + "msm8960" | "msm8660" | "msm7630_surf") + echo 10 > /sys/devices/platform/msm_sdcc.3/idle_timeout + ;; + "msm7627a") + echo 10 > /sys/devices/platform/msm_sdcc.1/idle_timeout + ;; +esac + +# Post-setup services +case "$target" in + "msm8660" | "msm8960" | "msm8226" | "msm8610" | "mpq8092" ) + start mpdecision + ;; + "msm8974") + start mpdecision + echo 512 > /sys/block/mmcblk0/bdi/read_ahead_kb + ;; + "msm8909" | "msm8916" | "msm8937" | "msm8952" | "msm8953" | "msm8994" | "msm8992" | "msm8996" | "msm8998" | "sdm660" | "apq8098_latv" | "sdm845" | "sdm710" | "msmnile" | "msmsteppe" | "sm6150" | "kona" | "lito" | "trinket" | "atoll" | "bengal" | "sdmshrike") + setprop vendor.post_boot.parsed 1 + ;; + "apq8084") + rm /data/system/perfd/default_values + start mpdecision + echo 512 > /sys/block/mmcblk0/bdi/read_ahead_kb + echo 512 > /sys/block/sda/bdi/read_ahead_kb + echo 512 > /sys/block/sdb/bdi/read_ahead_kb + echo 512 > /sys/block/sdc/bdi/read_ahead_kb + echo 512 > /sys/block/sdd/bdi/read_ahead_kb + echo 512 > /sys/block/sde/bdi/read_ahead_kb + echo 512 > /sys/block/sdf/bdi/read_ahead_kb + echo 512 > /sys/block/sdg/bdi/read_ahead_kb + echo 512 > /sys/block/sdh/bdi/read_ahead_kb + ;; + "msm7627a") + if [ -f /sys/devices/soc0/soc_id ]; then + soc_id=`cat /sys/devices/soc0/soc_id` + else + soc_id=`cat /sys/devices/system/soc/soc0/id` + fi + case "$soc_id" in + "127" | "128" | "129") + start mpdecision + ;; + esac + ;; +esac + +# Enable Power modes and set the CPU Freq Sampling rates +case "$target" in + "msm7627a") + start qosmgrd + echo 1 > /sys/module/pm2/modes/cpu0/standalone_power_collapse/idle_enabled + echo 1 > /sys/module/pm2/modes/cpu1/standalone_power_collapse/idle_enabled + echo 1 > /sys/module/pm2/modes/cpu0/standalone_power_collapse/suspend_enabled + echo 1 > /sys/module/pm2/modes/cpu1/standalone_power_collapse/suspend_enabled + #SuspendPC: + echo 1 > /sys/module/pm2/modes/cpu0/power_collapse/suspend_enabled + #IdlePC: + echo 1 > /sys/module/pm2/modes/cpu0/power_collapse/idle_enabled + echo 25000 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate + ;; +esac + +# Change adj level and min_free_kbytes setting for lowmemory killer to kick in +case "$target" in + "msm7627a") + echo 0,1,2,4,9,12 > /sys/module/lowmemorykiller/parameters/adj + echo 5120 > /proc/sys/vm/min_free_kbytes + ;; +esac + +# Install AdrenoTest.apk if not already installed +if [ -f /data/prebuilt/AdrenoTest.apk ]; then + if [ ! -d /data/data/com.qualcomm.adrenotest ]; then + pm install /data/prebuilt/AdrenoTest.apk + fi +fi + +# Install SWE_Browser.apk if not already installed +if [ -f /data/prebuilt/SWE_AndroidBrowser.apk ]; then + if [ ! -d /data/data/com.android.swe.browser ]; then + pm install /data/prebuilt/SWE_AndroidBrowser.apk + fi +fi + +# Change adj level and min_free_kbytes setting for lowmemory killer to kick in +case "$target" in + "msm8660") + start qosmgrd + echo 0,1,2,4,9,12 > /sys/module/lowmemorykiller/parameters/adj + echo 5120 > /proc/sys/vm/min_free_kbytes + ;; +esac +# 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 + +# Parse misc partition path and set property +misc_link=$(ls -l /dev/block/bootdevice/by-name/misc) +real_path=${misc_link##*>} +setprop persist.vendor.mmi.misc_dev_path $real_path diff --git a/rootdir/bin/init.qcom.sdio.sh b/rootdir/bin/init.qcom.sdio.sh new file mode 100644 index 0000000..df77745 --- /dev/null +++ b/rootdir/bin/init.qcom.sdio.sh @@ -0,0 +1,78 @@ +#! /vendor/bin/sh + +# Copyright (c) 2010, The Linux Foundation. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following +# disclaimer in the documentation and/or other materials provided +# with the distribution. +# * Neither the name of The Linux Foundation nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT +# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS +# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN +# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# + +# For successful WLAN card detection, WLAN needs SDIO polling turned on. +# This script can be used to turn on/off SDIO polling on appropriate +# SDIO slot on the MSM target (e.g. slot 3 on 7x30 surf). + +arg=$1 +target=`getprop ro.board.platform` + +case "$target" in + "msm7627_6x") + echo 1 > /sys/devices/platform/msm_sdcc.1/polling + echo 1 > /sys/devices/platform/msm_sdcc.2/polling + ;; + + "msm7627_ffa") + echo 1 > /sys/devices/platform/msm_sdcc.2/polling + ;; + + "msm7627_surf") + echo 1 > /sys/devices/platform/msm_sdcc.1/polling + echo 1 > /sys/devices/platform/msm_sdcc.2/polling + ;; + + "msm7627a") + echo 1 > /sys/devices/platform/msm_sdcc.2/polling + ;; + + "msm7630_surf") + echo 1 > /sys/devices/platform/msm_sdcc.3/polling + ;; + + "msm7630_1x") + echo 1 > /sys/devices/platform/msm_sdcc.3/polling + ;; + + "msm7630_fusion") + echo 1 > /sys/devices/platform/msm_sdcc.3/polling + ;; + + "msm8660") + echo 1 > /sys/devices/platform/msm_sdcc.4/polling + ;; + + "msm8660_csfb") + echo 1 > /sys/devices/platform/msm_sdcc.4/polling + ;; +esac + +exit 0 diff --git a/rootdir/bin/init.qcom.sensors.sh b/rootdir/bin/init.qcom.sensors.sh new file mode 100644 index 0000000..dcc0556 --- /dev/null +++ b/rootdir/bin/init.qcom.sensors.sh @@ -0,0 +1,33 @@ +#!/vendor/bin/sh +# Copyright (c) 2020 The Linux Foundation. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of The Linux Foundation nor +# the names of its contributors may be used to endorse or promote +# products derived from this software without specific prior written +# permission. +# +# THIS SOFTWARE IS PROVIDED 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 to start sensors for SSC enabled platforms +# +cp /vendor/etc/sensors/scripts/* /data/vendor/sensors/scripts/ +chmod a+rw /data/vendor/sensors/scripts/* diff --git a/rootdir/bin/init.qcom.sh b/rootdir/bin/init.qcom.sh new file mode 100644 index 0000000..02c0394 --- /dev/null +++ b/rootdir/bin/init.qcom.sh @@ -0,0 +1,465 @@ +#! /vendor/bin/sh + +# Copyright (c) 2009-2016, 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. +# + +target=`getprop ro.board.platform` +low_ram=`getprop ro.config.low_ram` +if [ -f /sys/devices/soc0/soc_id ]; then + platformid=`cat /sys/devices/soc0/soc_id` +else + platformid=`cat /sys/devices/system/soc/soc0/id` +fi + +start_battery_monitor() +{ + if ls /sys/bus/spmi/devices/qpnp-bms-*/fcc_data ; then + chown -h root.system /sys/module/pm8921_bms/parameters/* + chown -h root.system /sys/module/qpnp_bms/parameters/* + chown -h root.system /sys/bus/spmi/devices/qpnp-bms-*/fcc_data + chown -h root.system /sys/bus/spmi/devices/qpnp-bms-*/fcc_temp + chown -h root.system /sys/bus/spmi/devices/qpnp-bms-*/fcc_chgcyl + chmod 0660 /sys/module/qpnp_bms/parameters/* + chmod 0660 /sys/module/pm8921_bms/parameters/* + mkdir -p /data/bms + chown -h root.system /data/bms + chmod 0770 /data/bms + start battery_monitor + fi +} + +start_charger_monitor() +{ + if ls /sys/module/qpnp_charger/parameters/charger_monitor; then + chown -h root.system /sys/module/qpnp_charger/parameters/* + chown -h root.system /sys/class/power_supply/battery/input_current_max + chown -h root.system /sys/class/power_supply/battery/input_current_trim + chown -h root.system /sys/class/power_supply/battery/input_current_settled + chown -h root.system /sys/class/power_supply/battery/voltage_min + chmod 0664 /sys/class/power_supply/battery/input_current_max + chmod 0664 /sys/class/power_supply/battery/input_current_trim + chmod 0664 /sys/class/power_supply/battery/input_current_settled + chmod 0664 /sys/class/power_supply/battery/voltage_min + chmod 0664 /sys/module/qpnp_charger/parameters/charger_monitor + start charger_monitor + fi +} + +start_vm_bms() +{ + if [ -e /dev/vm_bms ]; then + chown -h root.system /sys/class/power_supply/bms/current_now + chown -h root.system /sys/class/power_supply/bms/voltage_ocv + chmod 0664 /sys/class/power_supply/bms/current_now + chmod 0664 /sys/class/power_supply/bms/voltage_ocv + start vm_bms + fi +} + +start_msm_irqbalance_8939() +{ + if [ -f /vendor/bin/msm_irqbalance ]; then + case "$platformid" in + "239" | "293" | "294" | "295" | "304" | "338" | "313" | "353" | "354") + start vendor.msm_irqbalance;; + "349" | "350" ) + start vendor.msm_irqbal_lb;; + esac + fi +} + +start_msm_irqbalance_msmnile() +{ + if [ -f /vendor/bin/msm_irqbalance ]; then + start vendor.msm_irqbalance + fi +} + +start_msm_irqbalance_kona() +{ + if [ -f /vendor/bin/msm_irqbalance ]; then + start vendor.msm_irqbalance + fi +} + +start_msm_irqbalance_lito() +{ + if [ -f /vendor/bin/msm_irqbalance ]; then + start vendor.msm_irqbalance + fi +} + +start_msm_irqbalance_atoll() +{ + if [ -f /vendor/bin/msm_irqbalance ]; then + start vendor.msm_irqbalance + fi +} + +start_msm_irqbalance660() +{ + if [ -f /vendor/bin/msm_irqbalance ]; then + case "$platformid" in + "317" | "321" | "324" | "325" | "326" | "336" | "345" | "346" | "360" | "393") + start vendor.msm_irqbalance;; + "318" | "327" | "385") + start vendor.msm_irqbl_sdm630;; + esac + fi +} + +start_msm_irqbalance() +{ + if [ -f /vendor/bin/msm_irqbalance ]; then + start vendor.msm_irqbalance + fi +} + +baseband=`getprop ro.baseband` +echo 1 > /proc/sys/net/ipv6/conf/default/accept_ra_defrtr + +case "$baseband" in + "svlte2a") + start bridgemgrd + ;; +esac + +case "$target" in + "msm7630_surf" | "msm7630_1x" | "msm7630_fusion") + if [ -f /sys/devices/soc0/hw_platform ]; then + value=`cat /sys/devices/soc0/hw_platform` + else + value=`cat /sys/devices/system/soc/soc0/hw_platform` + fi + case "$value" in + "Fluid") + start profiler_daemon;; + esac + ;; + "msm8660" ) + if [ -f /sys/devices/soc0/hw_platform ]; then + platformvalue=`cat /sys/devices/soc0/hw_platform` + else + platformvalue=`cat /sys/devices/system/soc/soc0/hw_platform` + fi + case "$platformvalue" in + "Fluid") + start profiler_daemon;; + esac + ;; + "msm8960") + case "$baseband" in + "msm") + start_battery_monitor;; + esac + + if [ -f /sys/devices/soc0/hw_platform ]; then + platformvalue=`cat /sys/devices/soc0/hw_platform` + else + platformvalue=`cat /sys/devices/system/soc/soc0/hw_platform` + fi + case "$platformvalue" in + "Fluid") + start profiler_daemon;; + "Liquid") + start profiler_daemon;; + esac + ;; + "msm8974") + platformvalue=`cat /sys/devices/soc0/hw_platform` + case "$platformvalue" in + "Fluid") + start profiler_daemon;; + "Liquid") + start profiler_daemon;; + esac + case "$baseband" in + "msm") + start_battery_monitor + ;; + esac + start_charger_monitor + ;; + "sdm660") + if [ -f /sys/devices/soc0/soc_id ]; then + soc_id=`cat /sys/devices/soc0/soc_id` + else + soc_id=`cat /sys/devices/system/soc/soc0/id` + fi + + if [ -f /sys/devices/soc0/hw_platform ]; then + hw_platform=`cat /sys/devices/soc0/hw_platform` + else + hw_platform=`cat /sys/devices/system/soc/soc0/hw_platform` + fi + + case "$soc_id" in + "317" | "324" | "325" | "326" | "318" | "327" ) + case "$hw_platform" in + "Surf") + setprop qemu.hw.mainkeys 0 + ;; + "MTP") + setprop qemu.hw.mainkeys 0 + ;; + "RCM") + setprop qemu.hw.mainkeys 0 + ;; + "QRD") + setprop qemu.hw.mainkeys 0 + ;; + esac + ;; + esac + start_msm_irqbalance660 + ;; + "apq8084") + platformvalue=`cat /sys/devices/soc0/hw_platform` + case "$platformvalue" in + "Fluid") + start profiler_daemon;; + "Liquid") + start profiler_daemon;; + esac + ;; + "msm8226") + start_charger_monitor + ;; + "msm8610") + start_charger_monitor + ;; + "msm8916") + start_vm_bms + start_msm_irqbalance_8939 + if [ -f /sys/devices/soc0/soc_id ]; then + soc_id=`cat /sys/devices/soc0/soc_id` + else + soc_id=`cat /sys/devices/system/soc/soc0/id` + fi + + if [ -f /sys/devices/soc0/platform_subtype_id ]; then + platform_subtype_id=`cat /sys/devices/soc0/platform_subtype_id` + fi + if [ -f /sys/devices/soc0/hw_platform ]; then + hw_platform=`cat /sys/devices/soc0/hw_platform` + fi + case "$soc_id" in + "239") + case "$hw_platform" in + "Surf") + case "$platform_subtype_id" in + "1") + setprop qemu.hw.mainkeys 0 + ;; + esac + ;; + "MTP") + case "$platform_subtype_id" in + "3") + setprop qemu.hw.mainkeys 0 + ;; + esac + ;; + esac + ;; + esac + ;; + "msm8994" | "msm8992" | "msm8998" | "apq8098_latv" | "sdm845" | "sdm710" | "qcs605" | "sm6150" | "trinket" | "bengal") + start_msm_irqbalance + ;; + "msm8996") + if [ -f /sys/devices/soc0/hw_platform ]; then + hw_platform=`cat /sys/devices/soc0/hw_platform` + fi + case "$hw_platform" in + "MTP" | "CDP") + #Loop through the sysfs nodes and determine the correct sysfs to change the permission and ownership. + for count in 0 1 2 3 4 5 6 7 8 9 10 + do + dir="/sys/devices/soc/75ba000.i2c/i2c-12/12-0020/input/input"$count + if [ -d "$dir" ]; then + chmod 0660 $dir/secure_touch_enable + chmod 0440 $dir/secure_touch + chown system.drmrpc $dir/secure_touch_enable + chown system.drmrpc $dir/secure_touch + break + fi + done + ;; + esac + ;; + "msm8909") + start_vm_bms + ;; + "msmnile") + start_msm_irqbalance_msmnile + ;; + "kona") + start_msm_irqbalance_kona + ;; + "lito") + start_msm_irqbalance_lito + ;; + "atoll") + start_msm_irqbalance_atoll + ;; + "msm8937") + start_msm_irqbalance_8939 + if [ -f /sys/devices/soc0/soc_id ]; then + soc_id=`cat /sys/devices/soc0/soc_id` + else + soc_id=`cat /sys/devices/system/soc/soc0/id` + fi + + if [ -f /sys/devices/soc0/hw_platform ]; then + hw_platform=`cat /sys/devices/soc0/hw_platform` + else + hw_platform=`cat /sys/devices/system/soc/soc0/hw_platform` + fi + if [ "$low_ram" != "true" ]; then + case "$soc_id" in + "294" | "295" | "303" | "307" | "308" | "309" | "313" | "320" | "353" | "354" | "363" | "364") + case "$hw_platform" in + "Surf") + setprop qemu.hw.mainkeys 0 + ;; + "MTP") + setprop qemu.hw.mainkeys 0 + ;; + "RCM") + setprop qemu.hw.mainkeys 0 + ;; + "QRD") + setprop qemu.hw.mainkeys 0 + ;; + esac + ;; + esac + fi + ;; + "msm8953") + start_msm_irqbalance_8939 + if [ -f /sys/devices/soc0/soc_id ]; then + soc_id=`cat /sys/devices/soc0/soc_id` + else + soc_id=`cat /sys/devices/system/soc/soc0/id` + fi + + if [ -f /sys/devices/soc0/hw_platform ]; then + hw_platform=`cat /sys/devices/soc0/hw_platform` + else + hw_platform=`cat /sys/devices/system/soc/soc0/hw_platform` + fi + case "$soc_id" in + "293" | "304" | "338" | "351" | "349" | "350" ) + case "$hw_platform" in + "Surf") + setprop qemu.hw.mainkeys 0 + ;; + "MTP") + setprop qemu.hw.mainkeys 0 + ;; + "RCM") + setprop qemu.hw.mainkeys 0 + ;; + "QRD") + setprop qemu.hw.mainkeys 0 + ;; + esac + ;; + esac + ;; + "sdm710") + if [ -f /sys/devices/soc0/soc_id ]; then + soc_id=`cat /sys/devices/soc0/soc_id` + else + soc_id=`cat /sys/devices/system/soc/soc0/id` + fi + + if [ -f /sys/devices/soc0/hw_platform ]; then + hw_platform=`cat /sys/devices/soc0/hw_platform` + else + hw_platform=`cat /sys/devices/system/soc/soc0/hw_platform` + fi + case "$soc_id" in + "336" | "337" | "347" | "360" | "393" ) + case "$hw_platform" in + "Surf") + setprop qemu.hw.mainkeys 0 + ;; + "MTP") + setprop qemu.hw.mainkeys 0 + ;; + "RCM") + setprop qemu.hw.mainkeys 0 + ;; + "QRD") + setprop qemu.hw.mainkeys 0 + ;; + esac + ;; + esac + ;; +esac + +# +# Make modem config folder and copy firmware config to that folder for RIL +# +if [ -f /data/vendor/modem_config/ver_info.txt ]; then + prev_version_info=`cat /data/vendor/modem_config/ver_info.txt` +else + prev_version_info="" +fi + +cur_version_info=`cat /vendor/firmware_mnt/verinfo/ver_info.txt` +if [ ! -f /vendor/firmware_mnt/verinfo/ver_info.txt -o "$prev_version_info" != "$cur_version_info" ]; then + # add W for group recursively before delete + chmod g+w -R /data/vendor/modem_config/* + rm -rf /data/vendor/modem_config/* + # preserve the read only mode for all subdir and files + cp --preserve=m -dr /vendor/firmware_mnt/image/modem_pr/mcfg/configs/* /data/vendor/modem_config + cp --preserve=m -d /vendor/firmware_mnt/verinfo/ver_info.txt /data/vendor/modem_config/ + cp --preserve=m -d /vendor/firmware_mnt/image/modem_pr/mbn_ota.txt /data/vendor/modem_config/ + # the group must be root, otherwise this script could not add "W" for group recursively + chown -hR radio.root /data/vendor/modem_config/* +fi +chmod g-w /data/vendor/modem_config +setprop ro.vendor.ril.mbn_copy_completed 1 + +#check build variant for printk logging +#current default minimum boot-time-default +buildvariant=`getprop ro.build.type` +case "$buildvariant" in + "userdebug" | "eng") + #set default loglevel to KERN_INFO + echo "6 6 1 7" > /proc/sys/kernel/printk + ;; + *) + #set default loglevel to KERN_WARNING + echo "4 4 1 4" > /proc/sys/kernel/printk + ;; +esac diff --git a/rootdir/bin/init.qcom.usb.sh b/rootdir/bin/init.qcom.usb.sh new file mode 100644 index 0000000..f575c2c --- /dev/null +++ b/rootdir/bin/init.qcom.usb.sh @@ -0,0 +1,290 @@ +#!/vendor/bin/sh +# Copyright (c) 2012-2018, 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. +# +# + +# Set platform variables +soc_hwplatform=`cat /sys/devices/soc0/hw_platform 2> /dev/null` +soc_machine=`cat /sys/devices/soc0/machine 2> /dev/null` +soc_machine=${soc_machine:0:2} +soc_id=`cat /sys/devices/soc0/soc_id 2> /dev/null` + +# +# Allow USB enumeration with default PID/VID +# +baseband=`getprop ro.baseband` +debuggable=`getprop ro.debuggable` +buildvariant=`getprop ro.build.type` + +# +# Check ESOC for external modem +# +# Note: currently only a single MDM/SDX is supported +# +esoc_name=`cat /sys/bus/esoc/devices/esoc0/esoc_name 2> /dev/null` + +target=`getprop ro.board.platform` + +# +# Override USB default composition +# +# If USB persist config not set, set default configuration +if [ "$(getprop persist.vendor.usb.config)" == "" -a "$(getprop ro.build.type)" != "user" -a \ + "$(getprop init.svc.vendor.usb-gadget-hal-1-0)" != "running" ]; then + if [ "$esoc_name" == "" ]; then + #setprop persist.vendor.usb.config adb + case "$soc_hwplatform" in + "ALIOTH") + if [ "$(getprop ro.boot.factorybuild)" == "1" ]; then + setprop persist.vendor.usb.config diag,diag_mdm,qdss,qdss_mdm,serial_cdev,dpl,rmnet,adb + elif [ "$buildvariant" = "eng" ]; then + setprop persist.vendor.usb.config diag,diag_mdm,qdss,qdss_mdm,serial_cdev,dpl,rmnet,adb + else + if [ -z "$debuggable" -o "$debuggable" = "1" ]; then + setprop persist.vendor.usb.config adb + else + setprop persist.vendor.usb.config none + fi + fi + ;; + "COURBET" | "SWEET" | "VAYU") + if [ "$(getprop ro.boot.factorybuild)" == "1" ]; then + setprop persist.vendor.usb.config diag,serial_cdev,rmnet,dpl,qdss,adb + elif [ "$buildvariant" = "eng" ]; then + setprop persist.vendor.usb.config diag,serial_cdev,rmnet,dpl,qdss,adb + else + if [ -z "$debuggable" -o "$debuggable" = "1" ]; then + setprop persist.vendor.usb.config adb + else + setprop persist.vendor.usb.config none + fi + fi + ;; + esac + + else + case "$(getprop ro.baseband)" in + "apq") + setprop persist.vendor.usb.config diag,adb + ;; + *) + case "$soc_hwplatform" in + "Dragon" | "SBC") + setprop persist.vendor.usb.config diag,adb + ;; + "CMI" | "UMI" | "PICASSO" | "MONET" | "VANGOGH" | "LMI" | "COURBET" | "SWEET" | "ALIOTH" | "THYME" | "VAYU" | "ENUMA") + if [ "$(getprop ro.boot.factorybuild)" == "1" ]; then + setprop persist.vendor.usb.config diag,diag_mdm,qdss,qdss_mdm,serial_cdev,dpl,rmnet,adb + elif [ "$buildvariant" = "eng" ]; then + setprop persist.vendor.usb.config diag,diag_mdm,qdss,qdss_mdm,serial_cdev,dpl,rmnet,adb + else + if [ -z "$debuggable" -o "$debuggable" = "1" ]; then + setprop persist.vendor.usb.config adb + else + setprop persist.vendor.usb.config none + fi + fi + ;; + *) + case "$soc_machine" in + "SA") + setprop persist.vendor.usb.config diag,adb + ;; + *) + case "$target" in + "msm8996") + setprop persist.vendor.usb.config diag,serial_cdev,serial_tty,rmnet_ipa,mass_storage,adb + ;; + "msm8909") + setprop persist.vendor.usb.config diag,serial_smd,rmnet_qti_bam,adb + ;; + "msm8937") + if [ -d /config/usb_gadget ]; then + setprop persist.vendor.usb.config diag,serial_cdev,rmnet,dpl,adb + else + case "$soc_id" in + "313" | "320") + setprop persist.vendor.usb.config diag,serial_smd,rmnet_ipa,adb + ;; + *) + setprop persist.vendor.usb.config diag,serial_smd,rmnet_qti_bam,adb + ;; + esac + fi + ;; + "msm8953") + if [ -d /config/usb_gadget ]; then + setprop persist.vendor.usb.config diag,serial_cdev,rmnet,dpl,adb + else + setprop persist.vendor.usb.config diag,serial_smd,rmnet_ipa,adb + fi + ;; + "msm8998" | "sdm660" | "apq8098_latv") + setprop persist.vendor.usb.config diag,serial_cdev,rmnet,adb + ;; + "sdm845" | "sdm710") + setprop persist.vendor.usb.config diag,serial_cdev,rmnet,dpl,adb + ;; + "msmnile" | "sm6150" | "trinket" | "lito" | "atoll" | "bengal" | "lahaina" | "holi") + setprop persist.vendor.usb.config diag,serial_cdev,rmnet,dpl,qdss,adb + ;; + *) + setprop persist.vendor.usb.config diag,adb + ;; + esac + ;; + esac + ;; + esac + ;; + esac + fi +fi + +# This check is needed for GKI 1.0 targets where QDSS is not available +if [ "$(getprop persist.vendor.usb.config)" == "diag,serial_cdev,rmnet,dpl,qdss,adb" -a \ + ! -d /config/usb_gadget/g1/functions/qdss.qdss ]; then + setprop persist.vendor.usb.config diag,serial_cdev,rmnet,dpl,adb +fi + +# Start peripheral mode on primary USB controllers for Automotive platforms +case "$soc_machine" in + "SA") + if [ -f /sys/bus/platform/devices/a600000.ssusb/mode ]; then + default_mode=`cat /sys/bus/platform/devices/a600000.ssusb/mode` + case "$default_mode" in + "none") + echo peripheral > /sys/bus/platform/devices/a600000.ssusb/mode + ;; + esac + fi + ;; +esac + +# check configfs is mounted or not +if [ -d /config/usb_gadget ]; then + + # ADB requires valid iSerialNumber; if ro.serialno is missing, use dummy + serialnumber=`cat /config/usb_gadget/g1/strings/0x409/serialnumber 2> /dev/null` + if [ "$serialnumber" == "" ]; then + serialno=1234567 + echo $serialno > /config/usb_gadget/g1/strings/0x409/serialnumber + fi + + persist_comp=`getprop persist.vendor.usb.config` + comp=`getprop sys.usb.config` + echo $persist_comp + echo $comp + if [ "$comp" != "$persist_comp" ]; then + echo "setting sys.usb.config" + setprop sys.usb.config $persist_comp + fi + + setprop vendor.usb.configfs 1 + setprop sys.usb.configfs 1 +fi + +# update product +marketname=`getprop ro.product.marketname` +if [ "$marketname" != "" ]; then + setprop vendor.usb.product_string "$marketname" +else + setprop vendor.usb.product_string "$(getprop ro.product.model)" +fi + +# +# Initialize RNDIS Diag option. If unset, set it to 'none'. +# +diag_extra=`getprop persist.vendor.usb.config.extra` +if [ "$diag_extra" == "" ]; then + setprop persist.vendor.usb.config.extra none +fi + +# enable rps cpus on msm8937 target +setprop vendor.usb.rps_mask 0 +case "$soc_id" in + "294" | "295" | "353" | "354") + setprop vendor.usb.rps_mask 40 + ;; +esac + +# +# Initialize UVC conifguration. +# +if [ -d /config/usb_gadget/g1/functions/uvc.0 ]; then + cd /config/usb_gadget/g1/functions/uvc.0 + + echo 3072 > streaming_maxpacket + echo 1 > streaming_maxburst + mkdir control/header/h + ln -s control/header/h control/class/fs/ + ln -s control/header/h control/class/ss + + mkdir -p streaming/uncompressed/u/360p + echo "666666\n1000000\n5000000\n" > streaming/uncompressed/u/360p/dwFrameInterval + + mkdir -p streaming/uncompressed/u/720p + echo 1280 > streaming/uncompressed/u/720p/wWidth + echo 720 > streaming/uncompressed/u/720p/wWidth + echo 29491200 > streaming/uncompressed/u/720p/dwMinBitRate + echo 29491200 > streaming/uncompressed/u/720p/dwMaxBitRate + echo 1843200 > streaming/uncompressed/u/720p/dwMaxVideoFrameBufferSize + echo 5000000 > streaming/uncompressed/u/720p/dwDefaultFrameInterval + echo "5000000\n" > streaming/uncompressed/u/720p/dwFrameInterval + + mkdir -p streaming/mjpeg/m/360p + echo "666666\n1000000\n5000000\n" > streaming/mjpeg/m/360p/dwFrameInterval + + mkdir -p streaming/mjpeg/m/720p + echo 1280 > streaming/mjpeg/m/720p/wWidth + echo 720 > streaming/mjpeg/m/720p/wWidth + echo 29491200 > streaming/mjpeg/m/720p/dwMinBitRate + echo 29491200 > streaming/mjpeg/m/720p/dwMaxBitRate + echo 1843200 > streaming/mjpeg/m/720p/dwMaxVideoFrameBufferSize + echo 5000000 > streaming/mjpeg/m/720p/dwDefaultFrameInterval + echo "5000000\n" > streaming/mjpeg/m/720p/dwFrameInterval + + echo 0x04 > /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/bmaControls + + mkdir -p streaming/h264/h/960p + echo 1920 > streaming/h264/h/960p/wWidth + echo 960 > streaming/h264/h/960p/wWidth + echo 40 > streaming/h264/h/960p/bLevelIDC + echo "333667\n" > streaming/h264/h/960p/dwFrameInterval + + mkdir -p streaming/h264/h/1920p + echo "333667\n" > streaming/h264/h/1920p/dwFrameInterval + + mkdir streaming/header/h + ln -s streaming/uncompressed/u streaming/header/h + ln -s streaming/mjpeg/m streaming/header/h + ln -s streaming/h264/h streaming/header/h + ln -s streaming/header/h streaming/class/fs/ + ln -s streaming/header/h streaming/class/hs/ + ln -s streaming/header/h streaming/class/ss/ +fi diff --git a/rootdir/bin/init.qti.chg_policy.sh b/rootdir/bin/init.qti.chg_policy.sh new file mode 100644 index 0000000..87fdca9 --- /dev/null +++ b/rootdir/bin/init.qti.chg_policy.sh @@ -0,0 +1,48 @@ +#! /vendor/bin/sh + +# +# Copyright (c) 2019-2020 Qualcomm Technologies, Inc. +# All Rights Reserved. +# Confidential and Proprietary - Qualcomm Technologies, Inc. +# +# Copyright (c) 2019 The Linux Foundation. All rights reserved. +# + +export PATH=/vendor/bin + +soc_id=`getprop ro.vendor.qti.soc_id` +if [ "$soc_id" -eq 415 ] || [ "$soc_id" -eq 439 ] || [ "$soc_id" -eq 450 ]; then + setprop persist.vendor.hvdcp_opti.start 2 + exit 0 +fi + +if [ "$soc_id" -eq 441 ] || [ "$soc_id" -eq 471 ]; then + #Scuba does not support usb-pd or charge pumps + find /sys/class/power_supply/battery/ -type f | xargs chown system.system + find /sys/class/power_supply/bms/ -type f | xargs chown system.system + find /sys/class/power_supply/main/ -type f | xargs chown system.system + find /sys/class/power_supply/usb/ -type f | xargs chown system.system +else + find /sys/class/power_supply/battery/ -type f | xargs chown system.system + find /sys/class/power_supply/bms/ -type f | xargs chown system.system + find /sys/class/power_supply/main/ -type f | xargs chown system.system + find /sys/class/power_supply/usb/ -type f | xargs chown system.system + find /sys/class/power_supply/charge_pump_master/ -type f | xargs chown system.system + find /sys/class/power_supply/pc_port/ -type f | xargs chown system.system + find /sys/class/power_supply/dc/ -type f | xargs chown system.system + find /sys/class/power_supply/parallel/ -type f | xargs chown system.system + find /sys/class/usbpd/usbpd0/ -type f | xargs chown system.system + find /sys/class/qc-vdm/ -type f | xargs chown system.system + find /sys/class/charge_pump/ -type f | xargs chown system.system + find /sys/class/qcom-battery/ -type f | xargs chown system.system + + for i in 0 1 2 3 4 5 6 7 8 9 + do + devname=`cat /sys/bus/iio/devices/iio:device$i/name` + if [[ "$devname" == *smb* ]] || [[ "$devname" == *qg* ]] || [[ "$devname" == *div2_cp* ]]; then + find /sys/bus/iio/devices/iio:device$i/ -type f | xargs chown system.system + fi + done +fi + +setprop persist.vendor.hvdcp_opti.start 1 diff --git a/rootdir/bin/init.qti.dcvs.sh b/rootdir/bin/init.qti.dcvs.sh new file mode 100644 index 0000000..047f38a --- /dev/null +++ b/rootdir/bin/init.qti.dcvs.sh @@ -0,0 +1,64 @@ +#! /vendor/bin/sh +# +# Copyright (c) 2020, The Linux Foundation. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following +# disclaimer in the documentation and/or other materials provided +# with the distribution. +# * Neither the name of The Linux Foundation nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT +# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS +# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN +# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# + for device in /sys/devices/platform/soc + do + #Enable mem_latency governor for L3, LLCC, and DDR scaling + for memlat in $device/*cpu*-lat/devfreq/*cpu*-lat + do + echo "mem_latency" > $memlat/governor + echo 10 > $memlat/polling_interval + echo 400 > $memlat/mem_latency/ratio_ceil + done + + #Enable userspace governor for L3 cdsp nodes + for l3cdsp in $device/*cdsp-cdsp-l3-lat/devfreq/*cdsp-cdsp-l3-lat + do + echo "cdspl3" > $l3cdsp/governor + done + + #Enable compute governor for gold latfloor + for latfloor in $device/*cpu-ddr-latfloor*/devfreq/*cpu-ddr-latfloor* + do + echo "compute" > $latfloor/governor + echo 10 > $latfloor/polling_interval + done + + #Gold 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 + + #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 + done; diff --git a/rootdir/bin/init.qti.qcv.sh b/rootdir/bin/init.qti.qcv.sh new file mode 100644 index 0000000..2796c06 --- /dev/null +++ b/rootdir/bin/init.qti.qcv.sh @@ -0,0 +1,19 @@ +#! /vendor/bin/sh +#============================================================================= +# Copyright (c) 2020 Qualcomm Technologies, Inc. +# All Rights Reserved. +# Confidential and Proprietary - Qualcomm Technologies, Inc. +#============================================================================= + +soc_id=`cat /sys/devices/soc0/soc_id` 2> /dev/null + +# Store soc_id in ro.vendor.qti.soc_id +setprop ro.vendor.qti.soc_id $soc_id + +# For chipsets in QCV family, convert soc_id to soc_name +# and store it in ro.vendor.qti.soc_name. +if [ "$soc_id" -eq 415 ] || [ "$soc_id" -eq 439 ] || [ "$soc_id" -eq 456 ]; then + setprop ro.vendor.qti.soc_name lahaina +elif [ "$soc_id" -eq 450 ]; then + setprop ro.vendor.qti.soc_name shima +fi diff --git a/rootdir/bin/install-recovery.sh b/rootdir/bin/install-recovery.sh new file mode 100644 index 0000000..4e2be8b --- /dev/null +++ b/rootdir/bin/install-recovery.sh @@ -0,0 +1,11 @@ +#!/vendor/bin/sh +if ! applypatch --check EMMC:/dev/block/bootdevice/by-name/recovery$(getprop ro.boot.slot_suffix):134217728:35d2c23b262c8ae330b35d1a1446158be4732ece; then + applypatch \ + --patch /vendor/recovery-from-boot.p \ + --source EMMC:/dev/block/bootdevice/by-name/boot$(getprop ro.boot.slot_suffix):134217728:f9ea86248cb7f61775adee460dd02344cea44a7c \ + --target EMMC:/dev/block/bootdevice/by-name/recovery$(getprop ro.boot.slot_suffix):134217728:35d2c23b262c8ae330b35d1a1446158be4732ece && \ + log -t recovery "Installing new recovery image: succeeded" || \ + log -t recovery "Installing new recovery image: failed" +else + log -t recovery "Recovery image already installed" +fi diff --git a/rootdir/bin/mishow.sh b/rootdir/bin/mishow.sh new file mode 100644 index 0000000..3083a9a --- /dev/null +++ b/rootdir/bin/mishow.sh @@ -0,0 +1,15 @@ +local chg_en=1 + +if [ -n "$1" ]; then + chg_en=$1 +fi + +#echo "MIShow Control" + +if [ "$chg_en" -eq "0" ]; then +# Disable charging + echo 1 > /sys/class/power_supply/battery/input_suspend +else +# enable charging + echo 0 > /sys/class/power_supply/battery/input_suspend +fi diff --git a/rootdir/bin/playback.sh b/rootdir/bin/playback.sh new file mode 100644 index 0000000..ac5642f --- /dev/null +++ b/rootdir/bin/playback.sh @@ -0,0 +1,180 @@ +set -x +# $1: device for output +# spk: speaker +# rcv: receiver +# spk_hp: speaker high power +# us: ultrasound + +# tinyplay file.wav [-D card] [-d device] [-p period_size] [-n n_periods] +# sample usage: playback.sh spk +# rcv.wav:-4.5dbfs spk: -4.8dbfs ultra: -4.5dbfs spk_hp:-1.8dbfs + +function enable_speaker +{ + echo "enabling speaker" + tinymix 'QUAT_MI2S_RX Channels' 'Two' + tinymix 'QUAT_MI2S_RX Audio Mixer MultiMedia1' 1 + #tinymix 'TAS256X RX MODE RIGHT' 'Speaker' + tinymix 'TAS256X ASI1 SEL RIGHT' 'Right' + tinymix 'TAS256X ASI1 SEL LEFT' 'Left' + tinymix 'TAS256X ASI Right Switch' '1' + tinymix 'TAS256X ASI Left Switch' '1' + tinymix 'TAS256X PLAYBACK VOLUME LEFT' '50' + tinymix 'TAS256X PLAYBACK VOLUME RIGHT' '50' + sleep 1 +} + + +function disable_speaker +{ + echo "disabling speaker" + tinymix 'QUAT_MI2S_RX Channels' 'Two' + tinymix 'QUAT_MI2S_RX Audio Mixer MultiMedia1' 0 + #tinymix 'TAS256X RX MODE RIGHT' 'Speaker' + tinymix 'TAS256X ASI1 SEL RIGHT' 'I2C offset' + tinymix 'TAS256X ASI1 SEL LEFT' 'I2C offset' + tinymix 'TAS256X ASI Right Switch' '0' + tinymix 'TAS256X ASI Left Switch' '0' + tinymix 'TAS256X PLAYBACK VOLUME LEFT' '55' + tinymix 'TAS256X PLAYBACK VOLUME RIGHT' '55' +} + +function enable_speaker_top +{ + echo "enabling top speaker" + tinymix 'QUAT_MI2S_RX Channels' 'One' + tinymix 'QUAT_MI2S_RX Audio Mixer MultiMedia1' 1 + tinymix 'TAS256X RX MODE LEFT' 'Speaker' + tinymix 'TAS256X ASI1 SEL LEFT' 'Left' + tinymix 'TAS256X ASI Left Switch' '1' + tinymix 'TAS25XX_ALGO_BYPASS' 'TRUE' + tinymix 'TAS256X PLAYBACK VOLUME LEFT' '55' + sleep 1 +} + + +function disable_speaker_top +{ + echo "enabling top speaker" + tinymix 'QUAT_MI2S_RX Channels' 'Two' + tinymix 'QUAT_MI2S_RX Audio Mixer MultiMedia1' 0 + tinymix 'TAS256X RX MODE LEFT' 'Speaker' + tinymix 'TAS256X ASI1 SEL LEFT' 'I2C offset' + tinymix 'TAS256X ASI Left Switch' '0' + tinymix 'TAS25XX_ALGO_BYPASS' 'FALSE' + tinymix 'TAS256X PLAYBACK VOLUME LEFT' '55' +} + +function enable_speaker_bot +{ + echo "enabling bottom speaker" + tinymix 'QUAT_MI2S_RX Channels' 'One' + tinymix 'QUAT_MI2S_RX Audio Mixer MultiMedia1' 1 + tinymix 'TAS256X ASI1 SEL RIGHT' 'Right' + tinymix 'TAS256X ASI Right Switch' '1' + tinymix 'TAS25XX_ALGO_BYPASS' 'TRUE' + tinymix 'TAS256X PLAYBACK VOLUME RIGHT' '52' + sleep 1 +} + +function disable_speaker_bot +{ + echo "enabling bottom speaker" + tinymix 'QUAT_MI2S_RX Channels' 'Two' + tinymix 'QUAT_MI2S_RX Audio Mixer MultiMedia1' 0 + tinymix 'TAS256X ASI1 SEL RIGHT' 'I2C offset' + tinymix 'TAS256X ASI Right Switch' '0' + tinymix 'TAS25XX_ALGO_BYPASS' 'FALSE' + tinymix 'TAS256X PLAYBACK VOLUME RIGHT' '55' +} + +function enable_receiver +{ + echo "enabling receiver" + tinymix 'QUAT_MI2S_RX Channels' 'One' + tinymix 'QUAT_MI2S_RX Audio Mixer MultiMedia1' 1 + tinymix 'TAS256X RX MODE LEFT' 'Receiver' + tinymix 'TAS256X ASI1 SEL LEFT' 'Left' + tinymix 'TAS256X ASI Left Switch' '1' + tinymix 'TAS25XX_ALGO_BYPASS' 'TRUE' + tinymix 'TAS256X PLAYBACK VOLUME LEFT' '52' + sleep 1 +} + +function disable_receiver +{ + echo "enabling receiver" + tinymix 'QUAT_MI2S_RX Channels' 'Two' + tinymix 'QUAT_MI2S_RX Audio Mixer MultiMedia1' 0 + tinymix 'TAS256X RX MODE LEFT' 'Speaker' + tinymix 'TAS256X ASI1 SEL LEFT' 'I2C offset' + tinymix 'TAS256X ASI Left Switch' '0' + tinymix 'TAS25XX_ALGO_BYPASS' 'FALSE' + tinymix 'TAS256X PLAYBACK VOLUME LEFT' '55' +} + +function enable_headphone +{ + echo "enabling headphone" + tinymix 'SLIM RX0 MUX' 'AIF1_PB' + tinymix 'SLIM RX1 MUX' 'AIF1_PB' + tinymix 'SLIM_0_RX Channels' 'Two' + tinymix 'RX INT1_1 MIX1 INP0' 'RX0' + tinymix 'RX INT2_1 MIX1 INP0' 'RX1' + tinymix 'SLIMBUS_0_RX Audio Mixer MultiMedia1' 1 + tinymix 'RX INT1 DEM MUX' 'CLSH_DSM_OUT' + tinymix 'RX INT2 DEM MUX' 'CLSH_DSM_OUT' + tinymix 'COMP1 Switch' 1 + tinymix 'COMP2 Switch' 1 + sleep 1 +} + +function disable_headphone +{ + echo "disabling headphone" + tinymix 'SLIM RX0 MUX' 'ZERO' + tinymix 'SLIM RX1 MUX' 'ZERO' + tinymix 'SLIM_0_RX Channels' 'One' + tinymix 'RX INT1_1 MIX1 INP0' 'ZERO' + tinymix 'RX INT2_1 MIX1 INP0' 'ZERO' + tinymix 'SLIMBUS_0_RX Audio Mixer MultiMedia1' 0 +} + +if [ "$1" = "spk" ]; then +# enable_speaker +# filename=/vendor/etc/spk.wav + enable_speaker_bot + filename=/vendor/etc/spk.wav +elif [ "$1" = "top-spk" ]; then + enable_speaker_top + filename=/vendor/etc/top_spk.wav +elif [ "$1" = "bot-spk" ]; then + enable_speaker_bot + filename=/vendor/etc/spk.wav +elif [ "$1" = "rcv" ]; then + enable_receiver + filename=/vendor/etc/rcv.wav +elif [ "$1" = "rcv_hp" ]; then + enable_headphone + filename=/vendor/etc/rcv_hp.wav +else + echo "Usage: playback.sh device; device: spk bot-spk rcv rcv_hp" +fi + +echo "start playing" +tinyplay $filename + +if [ "$1" = "spk" ]; then +# disable_speaker + disable_speaker_bot +elif [ "$1" = "top-spk" ]; then + disable_speaker_top +elif [ "$1" = "bot-spk" ]; then + disable_speaker_bot +elif [ "$1" = "rcv" ]; then + disable_receiver +elif [ "$1" = "rcv_hp" ]; then + disable_headphone +fi + +exit 0 diff --git a/rootdir/bin/playback_headset.sh b/rootdir/bin/playback_headset.sh new file mode 100644 index 0000000..4d38fdb --- /dev/null +++ b/rootdir/bin/playback_headset.sh @@ -0,0 +1,28 @@ +# $1: wave file to read +# $2: device for output +# 0: current +# 1: speaker +# 2: receiver + +# tinyplay file.wav [-D card] [-d device] [-p period_size] [-n n_periods] +# sample usage: playback.sh 2000.wav 1 +sleep 1 +tinymix 'SLIM RX0 MUX' 'AIF1_PB' +tinymix 'SLIM RX1 MUX' 'AIF1_PB' +tinymix 'SLIM_0_RX Channels' 'Two' +tinymix 'RX INT1_1 MIX1 INP0' 'RX0' +tinymix 'RX INT2_1 MIX1 INP0' 'RX1' +tinymix 'SLIMBUS_0_RX Audio Mixer MultiMedia1' 1 +tinymix 'RX INT1 DEM MUX' 'CLSH_DSM_OUT' +tinymix 'RX INT2 DEM MUX' 'CLSH_DSM_OUT' +tinymix 'COMP1 Switch' 1 +tinymix 'COMP2 Switch' 1 +tinyplay /vendor/etc/test.wav +sleep 1 + +tinymix 'SLIM RX0 MUX' 'ZERO' +tinymix 'SLIM RX1 MUX' 'ZERO' +tinymix 'SLIM_0_RX Channels' 'One' +tinymix 'RX INT1_1 MIX1 INP0' 'ZERO' +tinymix 'RX INT2_1 MIX1 INP0' 'ZERO' +tinymix 'SLIMBUS_0_RX Audio Mixer MultiMedia1' 0 diff --git a/rootdir/bin/qca6234-service.sh b/rootdir/bin/qca6234-service.sh new file mode 100644 index 0000000..0d9923c --- /dev/null +++ b/rootdir/bin/qca6234-service.sh @@ -0,0 +1,87 @@ +#! /vendor/bin/sh + +# Copyright (c) 2010-2014, 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. + +# Check whether device is plugged on the HSIC bus +# Currently HSIC bus will be the first index + +PATH=/sbin:/system/sbin:/system/bin:/system/xbin +export PATH + +deviceprop=`getprop ro.baseband` +boardprop=`getprop ro.board.platform` + +if [ -e /sys/bus/platform/drivers/msm_hsic_host ]; then + if [ ! -L /sys/bus/usb/devices/1-1 ]; then + echo msm_hsic_host > /sys/bus/platform/drivers/msm_hsic_host/unbind + fi + + chown -h system.system /sys/bus/platform/drivers/msm_hsic_host/bind + chown -h system.system /sys/bus/platform/drivers/msm_hsic_host/unbind + chmod -h 0200 /sys/bus/platform/drivers/msm_hsic_host/bind + chmod -h 0200 /sys/bus/platform/drivers/msm_hsic_host/unbind +fi + +wlanchip="" + +if [ "$deviceprop" == "apq" ] && [ "$boardprop" == "msm8974" ]; then + wlanchip="AR6004-USB" +fi + +# force ar6004 is ar6004_wlan.conf existed. +if [ -f /system/etc/firmware/ath6k/AR6004/ar6004_wlan.conf ]; then + wlanchip=`cat /system/etc/firmware/ath6k/AR6004/ar6004_wlan.conf` +fi + +echo "The WLAN Chip ID is $wlanchip" +if [ "$wlanchip" == "AR6004-USB" ]; then + echo msm_hsic_host > /sys/bus/platform/drivers/msm_hsic_host/unbind + setprop wlan.driver.ath 2 + setprop vendor.bluetooth.soc ath3k + setprop wlan.driver.name /system/lib/modules/ath6kl-3.5/ath6kl_usb.ko + setprop wlan.supp.template /system/etc/wifi/wpa_supplicant_ath6kl.conf + btsoc="ath3k" +elif [ "$wlanchip" == "AR6004-SDIO" ]; then + setprop wlan.driver.ath 2 + setprop vendor.bluetooth.soc ath3k + setprop wlan.driver.name /system/lib/modules/ath6kl-3.5/ath6kl_sdio.ko + setprop wlan.supp.template /system/etc/wifi/wpa_supplicant_ath6kl.conf + btsoc="ath3k" + + # Chown polling nodes as needed from UI running on system server + chmod -h 0200 /sys/devices/msm_sdcc.1/polling + chmod -h 0200 /sys/devices/msm_sdcc.2/polling + chmod -h 0200 /sys/devices/msm_sdcc.3/polling + chmod -h 0200 /sys/devices/msm_sdcc.4/polling + + chown -h system.system /sys/devices/msm_sdcc.1/polling + chown -h system.system /sys/devices/msm_sdcc.2/polling + chown -h system.system /sys/devices/msm_sdcc.3/polling + chown -h system.system /sys/devices/msm_sdcc.4/polling +fi + diff --git a/rootdir/bin/setup_headsetmic2headphone.sh b/rootdir/bin/setup_headsetmic2headphone.sh new file mode 100644 index 0000000..6d4291a --- /dev/null +++ b/rootdir/bin/setup_headsetmic2headphone.sh @@ -0,0 +1,17 @@ +# setup headsetmic +tinymix 'ADC MUX7' 'AMIC' +tinymix 'AMIC MUX7' 'ADC2' +tinymix 'IIR0 INP0 MUX' 'DEC7' +tinymix 'IIR0 INP0 Volume' 84 +tinymix 'DEC7 Volume' 84 +tinymix 'ADC2 Volume' 4 + +# setup headphone +tinymix 'RX INT1_1 MIX1 INP0' 'IIR0' +tinymix 'RX INT2_1 MIX1 INP0' 'IIR0' +tinymix 'RX INT1 DEM MUX' 'CLSH_DSM_OUT' +tinymix 'RX INT2 DEM MUX' 'CLSH_DSM_OUT' +tinymix 'HPHL Volume' 20 +tinymix 'HPHR Volume' 20 +tinymix 'RX1 Digital Volume' 84 +tinymix 'RX2 Digital Volume' 84 diff --git a/rootdir/bin/setup_mainmic2headphone.sh b/rootdir/bin/setup_mainmic2headphone.sh new file mode 100644 index 0000000..72af8b0 --- /dev/null +++ b/rootdir/bin/setup_mainmic2headphone.sh @@ -0,0 +1,17 @@ +# setup main mic +tinymix 'ADC MUX7' 'AMIC' +tinymix 'AMIC MUX7' 'ADC3' +tinymix 'IIR0 INP0 MUX' 'DEC7' +tinymix 'DEC7 Volume' 84 +tinymix 'ADC3 Volume' 0 +tinymix 'IIR0 INP0 Volume' 84 + +# setup headphone +tinymix 'RX INT1_1 MIX1 INP0' 'IIR0' +tinymix 'RX INT2_1 MIX1 INP0' 'IIR0' +tinymix 'RX INT1 DEM MUX' 'CLSH_DSM_OUT' +tinymix 'RX INT2 DEM MUX' 'CLSH_DSM_OUT' +tinymix 'HPHL Volume' 20 +tinymix 'HPHR Volume' 20 +tinymix 'RX1 Digital Volume' 84 +tinymix 'RX2 Digital Volume' 84 diff --git a/rootdir/bin/setup_topmic2headphone.sh b/rootdir/bin/setup_topmic2headphone.sh new file mode 100644 index 0000000..a199b85 --- /dev/null +++ b/rootdir/bin/setup_topmic2headphone.sh @@ -0,0 +1,17 @@ +# setup top mic +tinymix 'ADC MUX7' 'AMIC' +tinymix 'AMIC MUX7' 'ADC1' +tinymix 'IIR0 INP0 MUX' 'DEC7' +tinymix 'DEC7 Volume' 84 +tinymix 'ADC1 Volume' 0 +tinymix 'IIR0 INP0 Volume' 84 + +# setup headphone +tinymix 'RX INT1_1 MIX1 INP0' 'IIR0' +tinymix 'RX INT2_1 MIX1 INP0' 'IIR0' +tinymix 'RX INT1 DEM MUX' 'CLSH_DSM_OUT' +tinymix 'RX INT2 DEM MUX' 'CLSH_DSM_OUT' +tinymix 'HPHL Volume' 20 +tinymix 'HPHR Volume' 20 +tinymix 'RX1 Digital Volume' 84 +tinymix 'RX2 Digital Volume' 84 diff --git a/rootdir/bin/teardown_loopback.sh b/rootdir/bin/teardown_loopback.sh new file mode 100644 index 0000000..e0216c2 --- /dev/null +++ b/rootdir/bin/teardown_loopback.sh @@ -0,0 +1,25 @@ +# teardown mic +tinymix 'ADC MUX7' 'AMIC' +tinymix 'ADC MUX8' 'AMIC' +tinymix 'AMIC MUX7' 'ZERO' +tinymix 'AMIC MUX8' 'ZERO' +tinymix 'IIR0 INP0 MUX' 'ZERO' +tinymix 'IIR1 INP0 MUX' 'ZERO' +tinymix 'DEC7 Volume' 84 +tinymix 'DEC8 Volume' 84 +tinymix 'ADC1 Volume' 12 +tinymix 'ADC2 Volume' 12 +tinymix 'ADC3 Volume' 12 +tinymix 'ADC4 Volume' 12 +tinymix 'IIR0 INP0 Volume' 84 +tinymix 'IIR1 INP0 Volume' 84 + +# teardown headphone +tinymix 'RX INT1 DEM MUX' 'CLSH_DSM_OUT' +tinymix 'RX INT2 DEM MUX' 'CLSH_DSM_OUT' +tinymix 'RX INT1_1 MIX1 INP0' 'ZERO' +tinymix 'RX INT2_1 MIX1 INP0' 'ZERO' +tinymix 'HPHL Volume' 20 +tinymix 'HPHR Volume' 20 +tinymix 'RX1 Digital Volume' 84 +tinymix 'RX2 Digital Volume' 84 diff --git a/rootdir/etc/fstab.qcom b/rootdir/etc/fstab.qcom new file mode 100644 index 0000000..dcd8939 --- /dev/null +++ b/rootdir/etc/fstab.qcom @@ -0,0 +1,27 @@ +# Android fstab file. +# 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 + +#TODO: Add 'check' as fs_mgr_flags with data partition. +# Currently we dont have e2fsck compiled. So fs check would failed. + +# +system /system ext4 ro,barrier=1,discard wait,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,barrier=1,discard wait,avb=vbmeta_system,logical,first_stage_mount +product /product ext4 ro,barrier=1,discard wait,avb=vbmeta_system,logical,first_stage_mount +vendor /vendor ext4 ro,barrier=1,discard wait,avb,logical,first_stage_mount +odm /odm ext4 ro,barrier=1,discard wait,avb,logical,first_stage_mount +/dev/block/by-name/metadata /metadata ext4 noatime,nosuid,nodev,discard wait,check,formattable,first_stage_mount +/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,checkpoint=fs +/devices/platform/soc/8804000.sdhci/mmc_host* /storage/sdcard1 vfat nosuid,nodev wait,voldmanaged=sdcard1:auto,encryptable=footer +/devices/platform/soc/1da4000.ufshc_card/host* /storage/sdcard1 vfat nosuid,nodev wait,voldmanaged=sdcard1:auto,encryptable=footer +/dev/block/bootdevice/by-name/modem /vendor/firmware_mnt vfat ro,shortname=lower,uid=1000,gid=1000,dmask=227,fmask=337,context=u:object_r:firmware_file:s0 wait +/dev/block/bootdevice/by-name/dsp /vendor/dsp ext4 ro,nosuid,nodev,barrier=1 wait +/dev/block/bootdevice/by-name/persist /mnt/vendor/persist ext4 noatime,nosuid,nodev,barrier=1 wait +/dev/block/bootdevice/by-name/bluetooth /vendor/bt_firmware vfat ro,shortname=lower,uid=1002,gid=3002,dmask=227,fmask=337,context=u:object_r:bt_firmware_file:s0 wait +# 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 +/devices/platform/soc/*.ssusb/*.dwc3/xhci-hcd.*.auto* /storage/usbotg vfat nosuid,nodev wait,voldmanaged=usbotg:auto +/dev/block/bootdevice/by-name/cache /cache ext4 nosuid,noatime,nodev,barrier=1 wait diff --git a/rootdir/etc/init.qcom.factory.rc b/rootdir/etc/init.qcom.factory.rc new file mode 100644 index 0000000..1edaa99 --- /dev/null +++ b/rootdir/etc/init.qcom.factory.rc @@ -0,0 +1,258 @@ +# +# Copyright (c) 2009-2016, 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. +# + +# Define fastmmi +service fastmmi /system_ext/bin/mmi + user root + group root + disabled + +service vendor.mmid /vendor/bin/mmid + user root + group root + disabled + +service mmi_diag /system_ext/bin/mmi_diag + class main + user root + group root oem_2901 + disabled + +on property:vendor.sys.boot_mode=ffbm + write ${persist.vendor.mmi.misc_dev_path} "ffbm-01" + +on property:vendor.sys.boot_mode=qmmi + write ${persist.vendor.mmi.misc_dev_path} "qmmi" + +on property:vendor.sys.boot_mode=normal + write ${persist.vendor.mmi.misc_dev_path} "normal" + +# Creating a scratch storage on /data for factory testing. +on factory-fs && property:ro.bootmode=ffbm-00 + mount tmpfs tmpfs /data + +on factory-fs && property:ro.bootmode=ffbm-01 + mount tmpfs tmpfs /data + +# aligned the usb port with system standard, otherwise if only diag be added +# Then in QMMI mode, the whole Andoid be booted, but due to the ro.bootmode is +# not normal/unknow, then when it apply the default funcs, it will turn to MTP +# which cause the diag/Wwan/modem port all be lost in qmmi mode. Details: +# UsbDeviceManager.java---->getDefaultFunctions and trySetEnabledFunctions +on property:persist.vendor.usb.config=* + setprop persist.sys.usb.qmmi.func ${persist.vendor.usb.config} + +on mmi && property:ro.bootmode=ffbm-00 + # ======================================================== + # This is FFBM only settings. + # ======================================================== + #mkdir for factory data files. + mkdir /mnt/vendor/persist/FTM_AP 0750 system system + + start fastmmi + # start qcom-post-boot to set the misc partition path property value + start qcom-post-boot + start mmi_diag + +on mmi && property:ro.bootmode=ffbm-01 + # ======================================================== + # This is FFBM only settings. + # ======================================================== + #mkdir for factory data files. + mkdir /mnt/vendor/persist/FTM_AP 0750 system system + + start fastmmi + ## start qcom-post-boot to set the misc partition path property value + start qcom-post-boot + start mmi_diag + +on property:persist.vendor.usb.config=* && property:ro.bootmode=ffbm-00 + setprop sys.usb.config ${persist.vendor.usb.config} + +on property:persist.vendor.usb.config=* && property:ro.bootmode=ffbm-01 + setprop sys.usb.config ${persist.vendor.usb.config} + +on property:persist.vendor.usb.config=* && property:ro.bootmode=ffbm-02 + setprop sys.usb.config ${persist.vendor.usb.config} + +on property:persist.vendor.usb.config=* && property:ro.bootmode=qmmi + setprop sys.usb.config ${persist.vendor.usb.config} + +on ffbm + trigger early-fs + trigger factory-fs + trigger fs + trigger post-fs + + # Mount fstab in init.{$device}.rc by mount_all with '--late' parameter + # to only mount entries with 'latemount'. This is needed if '--early' is + # specified in the previous mount_all command on the fs stage. + # With /system mounted and properties form /system + /factory available, + # some services can be started. + trigger late-fs + + # Now we can mount /data. File encryption requires keymaster to decrypt + # /data, which in turn can only be loaded when system properties are present. + trigger post-fs-data + + # Now we can start zygote for devices with file based encryption + trigger zygote-start + + # Load persist properties and override properties (if enabled) from /data. + trigger load_persist_props_action + + # Remove a file to wake up anything waiting for firmware. + trigger firmware_mounts_complete + + trigger early-boot + trigger boot + trigger mmi + + +# ======================================================== +# Start for audio TC +# ======================================================== + +service vendor.audio_tc53 /vendor/bin/mm-audio-ftm -tc 53 + user audio + group audio + disabled + oneshot + + +service vendor.audio_tc51 /vendor/bin/mm-audio-ftm -tc 51 + user audio + group audio + disabled + oneshot + +service vendor.audio_tc56 /vendor/bin/mm-audio-ftm -tc 56 + user audio + group audio + disabled + oneshot + +service vendor.audio_tc222 /vendor/bin/mm-audio-ftm -tc 222 + user audio + group audio + disabled + oneshot + +service vendor.audio_tc228 /vendor/bin/mm-audio-ftm -tc 228 + user audio + group audio + disabled + oneshot + +service vendor.audio_tc229 /vendor/bin/mm-audio-ftm -tc 229 + user audio + group audio + disabled + oneshot + +service vendor.audio_tc230 /vendor/bin/mm-audio-ftm -tc 230 + user audio + group audio + disabled + oneshot + +service vendor.audio_tc225 /vendor/bin/mm-audio-ftm -tc 225 + user audio + group audio + disabled + oneshot + +service vendor.audio_tc246 /vendor/bin/mm-audio-ftm -tc 246 + user audio + group audio + disabled + oneshot + +service vendor.audio_tc247 /vendor/bin/mm-audio-ftm -tc 247 + user audio + group audio + disabled + oneshot + +service vendor.audio_tc250 /vendor/bin/mm-audio-ftm -tc 250 + user audio + group audio + disabled + oneshot + +service vendor.audio_tc251 /vendor/bin/mm-audio-ftm -tc 251 + user audio + group audio + disabled + oneshot + +service vendor.audio_tc252 /vendor/bin/mm-audio-ftm -tc 252 + user audio + group audio + disabled + oneshot + +service vendor.audio_tc253 /vendor/bin/mm-audio-ftm -tc 253 + user audio + group audio + disabled + oneshot + +service vendor.audio_tc11 /vendor/bin/mm-audio-ftm -tc 11 -file /data/vendor/audio/ftm_headset_mic_record.wav + user audio + group audio + disabled + oneshot + +service vendor.audio_tc101 /vendor/bin/mm-audio-ftm -tc 101 -file /data/vendor/audio/ftm_mic1_record.wav + user audio + group audio + disabled + oneshot + +service vendor.audio_tc102 /vendor/bin/mm-audio-ftm -tc 102 -file /data/vendor/audio/ftm_mic2_record.wav + user audio + group audio + disabled + oneshot + +service vendor.audio_tc103 /vendor/bin/mm-audio-ftm -tc 103 -file /data/vendor/audio/ftm_mic3_record.wav + user audio + group audio + disabled + oneshot + +service vendor.audio_tc104 /vendor/bin/mm-audio-ftm -tc 104 -file /data/vendor/audio/ftm_mic4_record.wav + user audio + group audio + disabled + oneshot + +# ======================================================== +# End for audio TC +# ======================================================== diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc new file mode 100644 index 0000000..45d40a9 --- /dev/null +++ b/rootdir/etc/init.qcom.rc @@ -0,0 +1,1093 @@ +# Copyright (c) 2009-2012, 2014-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 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. +# + +import /vendor/etc/init/hw/init.qti.ufs.rc +import /vendor/etc/init/hw/init.qcom.usb.rc +import /vendor/etc/init/hw/init.qcom.test.rc +import /vendor/etc/init/hw/init.target.rc +import /vendor/etc/init/hw/init.qcom.factory.rc + +on early-init + mount debugfs debugfs /sys/kernel/debug + chmod 0755 /sys/kernel/debug + mount tracefs tracefs /sys/kernel/tracing + chmod 0755 /sys/kernel/tracing + + # create symlink for vendor mount points + symlink /vendor/firmware_mnt /firmware + symlink /vendor/bt_firmware /bt_firmware + symlink /vendor/dsp /dsp + + # Change ownership of hw_recovery related nodes + chown system graphics /sys/kernel/debug/dri/0/debug/dump + chown system graphics /sys/kernel/debug/dri/0/debug/recovery_reg + chown system graphics /sys/kernel/debug/dri/0/debug/recovery_dbgbus + chown system graphics /sys/kernel/debug/dri/0/debug/recovery_vbif_dbgbus + chown system graphics /sys/kernel/debug/dri/0/debug/recovery_dsi_dbgbus + + # Change ownership of sysfs power control node + chown system graphics /sys/class/drm/card0/device/power/control + + # Change ownership of sw_sync node + chown system graphics /sys/kernel/debug/sync/sw_sync + chmod 0666 /sys/kernel/debug/sync/sw_sync + + chown root system /dev/kmsg + chmod 0620 /dev/kmsg + # Load WIGIG platform driver + #exec u:r:vendor_modprobe:s0 -- /vendor/bin/modprobe -a -d /vendor/lib/modules msm_11ad_proxy + +on init + + # Support legacy paths + symlink /sdcard /mnt/sdcard + symlink /sdcard /storage/sdcard0 + + # Create cgroup mount point for memory + mkdir /sys/fs/cgroup/memory/bg 0750 root system + write /sys/fs/cgroup/memory/bg/memory.swappiness 140 + write /sys/fs/cgroup/memory/bg/memory.move_charge_at_immigrate 1 + chown root system /sys/fs/cgroup/memory/bg/tasks + chmod 0660 /sys/fs/cgroup/memory/bg/tasks + + # Allow both charger and hal_light to access panel0 backlight + chown system system /sys/class/backlight/panel0-backlight/brightness + + +on post-fs + chmod 0755 /sys/kernel/debug/tracing + +on early-boot + # set RLIMIT_MEMLOCK to 64MB + setrlimit 8 67108864 67108864 + # Allow subsystem (modem etc) debugging + write /sys/kernel/boot_adsp/boot 1 + write /sys/kernel/boot_cdsp/boot 1 + write /sys/devices/virtual/npu/msm_npu/boot 1 + write /sys/devices/virtual/cvp/cvp/boot 1 + exec u:r:vendor_qti_init_shell:s0 -- /vendor/bin/init.qcom.early_boot.sh + exec u:r:vendor_qti_init_shell:s0 -- /vendor/bin/init.qti.can.sh + setprop ro.sf.lcd_density ${vendor.display.lcd_density} + + chown system system /mnt/vendor/persist/data/pfm/licenses + chmod 0775 /mnt/vendor/persist/data/pfm/licenses + +on boot + chown bluetooth bluetooth /sys/module/bluetooth_power/parameters/power + chown bluetooth net_bt /sys/class/rfkill/rfkill0/type + chown bluetooth net_bt /sys/class/rfkill/rfkill0/state + chown bluetooth bluetooth /proc/bluetooth/sleep/proto + chown bluetooth bluetooth /sys/module/hci_uart/parameters/ath_lpm + chown bluetooth bluetooth /sys/module/hci_uart/parameters/ath_btwrite + chown system system /sys/module/sco/parameters/disable_esco + chown bluetooth bluetooth /sys/module/hci_smd/parameters/hcismd_set + chown system system /sys/module/msm_core/parameters/polling_interval + chown system system /sys/module/msm_core/parameters/disabled + chown system system /sys/kernel/debug/msm_core/enable + chown system system /sys/kernel/debug/msm_core/ptable + chown system system /sys/kernel/boot_slpi/ssr + chown system system /sys/module/radio_iris_transport/parameters/fmsmd_set + chmod 0660 /sys/module/bluetooth_power/parameters/power + chmod 0660 /sys/module/hci_smd/parameters/hcismd_set + chmod 0660 /sys/module/radio_iris_transport/parameters/fmsmd_set + chmod 0660 /sys/class/rfkill/rfkill0/state + chmod 0660 /proc/bluetooth/sleep/proto + chown bluetooth net_bt /dev/ttyHS0 + chmod 0660 /sys/module/hci_uart/parameters/ath_lpm + chmod 0660 /sys/module/hci_uart/parameters/ath_btwrite + chmod 0660 /dev/ttyHS0 + chown bluetooth bluetooth /sys/devices/platform/msm_serial_hs.0/clock + chmod 0660 /sys/devices/platform/msm_serial_hs.0/clock + + # add for power data upload + chown system system /sys/power/sum_wakeup_time + chmod 0660 /sys/power/sum_wakeup_time + chown system system /sys/power/last_wake_time + chmod 0660 /sys/power/last_wake_time + chown system system /sys/power/wake_times + chmod 0660 /sys/power/wake_times + chown system system /sys/power/screen_off_flag + chmod 0660 /sys/power/screen_off_flag + + chmod 0660 /dev/ttyHS2 + chown bluetooth bluetooth /dev/ttyHS2 + + chown bluetooth net_bt /sys/class/rfkill/rfkill0/device/extldo + chmod 0660 /sys/class/rfkill/rfkill0/device/extldo + + # add for power data upload + chown system system /sys/power/sum_wakeup_time + chmod 0660 /sys/power/sum_wakeup_time + chown system system /sys/power/last_wake_time + chmod 0660 /sys/power/last_wake_time + chown system system /sys/power/wake_times + chmod 0660 /sys/power/wake_times + chown system system /sys/power/screen_off_flag + chmod 0660 /sys/power/screen_off_flag + + # This location is used by QCRIL to host UNIX domain + # socket files used for internal IPC within QCRIL + # modules + mkdir /dev/socket/qmux_radio 0770 radio radio + chmod 2770 /dev/socket/qmux_radio + + mkdir /persist/drm 0770 system system + mkdir /persist/bluetooth 0770 bluetooth bluetooth + mkdir /persist/misc 0770 system system + mkdir /persist/alarm 0770 system system + mkdir /mnt/vendor/persist/time 0770 system system + mkdir /mnt/vendor/persist/secnvm 0770 system system + mkdir /mnt/vendor/persist/iar_db 0770 system system + mkdir /mnt/vendor/spunvm 0770 system system + + #Create WIGIG socket area + mkdir /dev/socket/wigig 0770 wifi wifi + + setprop wifi.interface wlan0 + + setprop persist.bluetooth.a2dp_offload.disabled false + + setprop ro.telephony.call_ring.multiple false + + #enable camera read sensors data + setprop persist.camera.gyro.disable 0 + + #Remove SUID bit for iproute2 ip tool + chmod 0755 /system/bin/ip + + + chmod 0444 /sys/devices/platform/msm_hsusb/gadget/usb_state + + setprop net.tcp.2g_init_rwnd 10 + + # To prevent out of order acknowledgements from making + # connection tracking to treat them as not belonging to + # the connection they belong to. + # Otherwise, a weird issue happens in which some long + # connections on high-throughput links get dropped when + # an ack packet comes out of order + write /proc/sys/net/netfilter/nf_conntrack_tcp_be_liberal 1 + + # Set the console loglevel to < KERN_INFO + # Set the default message loglevel to KERN_INFO + write /proc/sys/kernel/printk "6 6 1 7" + + # Allow access for CCID command/response timeout configuration + chown system system /sys/module/ccid_bridge/parameters/bulk_msg_timeout + + # bond0 used by FST Manager + chown wifi wifi /sys/class/net/bond0/bonding/queue_id + + # Allow access to emmc rawdump block partition and dload sysfs node + chown root system /dev/block/bootdevice/by-name/rawdump + chmod 0660 /dev/block/bootdevice/by-name/rawdump + chown root system /sys/kernel/dload/emmc_dload + chmod 0660 /sys/kernel/dload/emmc_dload + chown root system /dev/block/bootdevice/by-name/ramdump + chmod 0660 /dev/block/bootdevice/by-name/ramdump + chown root system /sys/kernel/dload/dload_mode + chmod 0660 /sys/kernel/dload/dload_mode + + chown system system /sys/class/backlight/panel0-backlight/max_brightness + chown system system /sys/class/backlight/panel1-backlight/brightness + chown system system /sys/class/backlight/panel1-backlight/max_brightness + + # Allow access to sensors device attributes + chown system system /sys/class/sensors/MPU6050-accel/enable + chown system system /sys/class/sensors/MPU6050-accel/poll_delay + chown system system /sys/class/sensors/MPU6050-gyro/enable + chown system system /sys/class/sensors/MPU6050-gyro/poll_delay + chown system system /sys/class/sensors/apds9930-light/enable + chown system system /sys/class/sensors/apds9930-light/poll_delay + chown system system /sys/class/sensors/apds9930-proximity/enable + chown system system /sys/class/sensors/apds9930-proximity/poll_delay + + # Create directory used for display + # for backward compatibility + mkdir /persist/display 0770 system graphics + mkdir /mnt/vendor/persist/display 0770 system graphics + + # Create vpp directory + mkdir /mnt/vendor/persist/vpp 0770 media media + + + # Create hvdcp_opti directory + mkdir /mnt/vendor/persist/hvdcp_opti 0770 root system + + #Create camera directory + mkdir /mnt/vendor/persist/camera 0755 system cameraserver + + # limit discard size to 128MB in order to avoid long IO latency + write /sys/block/sda/queue/discard_max_bytes 134217728 + +# msm specific files that need to be created on /data +on post-fs-data + mkdir /data/vendor/misc 01771 system system + + # Create directory used for dump collection + mkdir /data/vendor/ssrdump 0770 root system + + # Create directory used by display clients + mkdir /data/vendor/display 0770 system graphics + + # Change lm related dirs + mkdir /data/vendor/lm 0700 root root + + # Create directory used by media clients + mkdir /data/vendor/media 0770 mediacodec media + + # Create /data/vendor/tzstorage directory for SFS listener + mkdir /data/vendor/tzstorage 0770 system system + + # Create directory for apps access via QTEEConnector + mkdir /data/vendor/qtee 0770 system system + + #Create folder of camera + mkdir /data/vendor/camera 0770 camera camera + + + #Create directory for tftp + mkdir /data/vendor/tombstones 0771 system system + mkdir /data/vendor/tombstones/rfs 0771 system system + + mkdir /data/vendor/ramdump 0771 root system + mkdir /data/vendor/bluetooth 0770 bluetooth bluetooth + mkdir /data/vendor/ramdump/bluetooth 0770 bluetooth bluetooth + + # Create the directories used by the Wireless subsystem + mkdir /data/vendor/wifi 0770 wifi wifi + mkdir /data/vendor/wifi/sockets 0770 wifi wifi + mkdir /data/vendor/wifi/hostapd 0770 wifi wifi + mkdir /data/vendor/wifi/hostapd/ctrl 0770 wifi wifi + mkdir /data/vendor/wifi/wpa_supplicant 0770 wifi wifi + mkdir /data/vendor/wlan_logs 0770 system wifi + mkdir /data/vendor/mac_addr 0770 system wifi + mkdir /data/vendor/wifi/wigig_hostapd 0770 wifi wifi + mkdir /data/vendor/wifi/wpa 0770 wifi wifi + mkdir /data/vendor/wifi/wpa/sockets 0770 wifi wifi + + # Create the directories used by WiGig Sensing + mkdir /data/vendor/sensing 0770 system wifi + + # Create the directories used by CnE subsystem + mkdir /data/vendor/connectivity 0771 radio radio + chown radio radio /data/vendor/connectivity + + # Create directory used by audio subsystem + mkdir /data/vendor/audio 0770 audio audio + # Create directory used by audio cit + mkdir /data/vendor/cit 0770 system system + + # Create directory for audio delta files + mkdir /data/vendor/audio/acdbdata 0770 media audio + mkdir /data/vendor/audio/acdbdata/delta 0770 media audio + + # Create directory for radio + mkdir /data/vendor/radio 0770 system radio + rm /data/vendor/radio/shmbus + + # Create directory for modem_config + mkdir /data/vendor/modem_config 0570 radio root + + # Mounting of persist is moved to 'on emmc-fs' and 'on fs' sections + # We chown/chmod /persist again so because mount is run as root + defaults + chown root system /persist + chmod 0771 /persist + chown system system /persist/WCNSS_qcom_wlan_nv.bin + chmod 0664 /sys/devices/platform/msm_sdcc.1/polling + chmod 0664 /sys/devices/platform/msm_sdcc.2/polling + chmod 0664 /sys/devices/platform/msm_sdcc.3/polling + chmod 0664 /sys/devices/platform/msm_sdcc.4/polling + + # Chown polling nodes as needed from UI running on system server + chown system system /sys/devices/platform/msm_sdcc.1/polling + chown system system /sys/devices/platform/msm_sdcc.2/polling + chown system system /sys/devices/platform/msm_sdcc.3/polling + chown system system /sys/devices/platform/msm_sdcc.4/polling + + #Create the symlink to qcn wpa_supplicant folder for ar6000 wpa_supplicant + #symlink /data/misc/wifi/wpa_supplicant /data/system/wpa_supplicant + + #Create directories for Location services + mkdir /data/vendor/location 0770 gps gps + mkdir /data/vendor/location/mq 0770 gps gps + mkdir /data/vendor/location/xtwifi 0770 gps gps + mkdir /dev/socket/location 0770 gps gps + mkdir /dev/socket/location/mq 0770 gps gps + mkdir /dev/socket/location/xtra 0770 gps gps + + #Create directories for wifihal services + mkdir /dev/socket/wifihal 0770 wifi wifi + chmod 2770 /dev/socket/wifihal + + # Create /data/time folder for time-services + mkdir /data/vendor/time/ 0700 system system + + setprop vold.post_fs_data_done 1 + + #Create a folder for SRS to be able to create a usercfg file + #mkdir /data/data/media 0770 media media + + #Create FM dir for patchdownloader + mkdir /data/vendor/fm 0770 system system + chmod 0770 /data/vendor/fm + + #Create PERFD deamon related dirs + mkdir /data/vendor/perfd 0770 root system + chmod 2770 /data/vendor/perfd + rm /data/vendor/perfd/default_values + + mkdir /data/vendor/secure_element 0777 system system + + #Create IOP deamon related dirs + mkdir /data/vendor/iop 0700 root system + + # Mark the copy complete flag to not completed + write /data/vendor/radio/copy_complete 0 + chown radio radio /data/vendor/radio/copy_complete + chmod 0660 /data/vendor/radio/copy_complete + + # copy prebuilt qcril.db files always + copy /vendor/radio/qcril_database/qcril.db /data/vendor/radio/qcril_prebuilt.db + chown radio radio /data/vendor/radio/qcril_prebuilt.db + chmod 0660 /data/vendor/radio/qcril_prebuilt.db + copy /vendor/radio/qcril_database/qcrilNr.db /data/vendor/radio/qcrilNr_prebuilt.db + copy /vendor/etc/qcril_database/qcrilNr.db /data/vendor/radio/qcrilNr_prebuilt.db + chown radio radio /data/vendor/radio/qcrilNr_prebuilt.db + chmod 0660 /data/vendor/radio/qcrilNr_prebuilt.db + + # File flags for prebuilt ril db file + write /data/vendor/radio/prebuilt_db_support 1 + chown radio radio /data/vendor/radio/prebuilt_db_support + chmod 0400 /data/vendor/radio/prebuilt_db_support + write /data/vendor/radio/db_check_done 0 + chown radio radio /data/vendor/radio/db_check_done + chmod 0660 /data/vendor/radio/db_check_done + + # qti-logkit data + mkdir /data/vendor/qti-logkit/ 0771 system system + mkdir /data/vendor/qti-logkit/shared-privileged/ 2770 system system + mkdir /data/vendor/qti-logkit/shared-public/ 2770 system diag + mkdir /data/vendor/qti-logkit/socket-privileged/ 2770 system system + mkdir /data/vendor/qti-logkit/socket-public/ 2750 system diag + mkdir /data/vendor/qti-logkit/logdata/ 2750 system shell + + #Create SWAP related dirs + mkdir /data/vendor/swap 0770 root system + chmod 2770 /data/vendor/swap + + #add torch node for cit + chown system system /sys/class/leds/led:torch_0/brightness + chown system system /sys/class/leds/led:torch_1/brightness + chown system system /sys/class/leds/led:switch_0/brightness + chown system system /sys/class/leds/led:switch_1/brightness + chown system system /sys/class/leds/led:switch_2/brightness + chown system system /sys/class/leds/flashlight/brightness + + # set aggressive read ahead for dm-0 and dm-1 during boot up + write /sys/block/dm-0/queue/read_ahead_kb 2048 + write /sys/block/dm-1/queue/read_ahead_kb 2048 + write /sys/block/dm-2/queue/read_ahead_kb 2048 + + # Create vpp directory + mkdir /data/vendor/vpp 0770 media media + + #Create dir for TUI + mkdir /data/vendor/tui 0700 system drmrpc + + #Make MTU adjusting + write /proc/sys/net/ipv4/tcp_mtu_probing 1 + +service nqnfcinfo /system/vendor/bin/nqnfcinfo + class late_start + group nfc + user system + oneshot + +service iop /system/vendor/bin/iop + class main + user root + group root + disabled + socket iop seqpacket 0666 root system + +service qcomsysd /system/vendor/bin/qcom-system-daemon + class main + user root + group root diag oem_2901 + disabled + +on property:persist.vendor.qcomsysd.enabled=1 + enable qcomsysd + +on property:persist.vendor.qcomsysd.enabled=0 + stop qcomsysd + +service vendor.ssr_setup /system/vendor/bin/ssr_setup + oneshot + disabled + +service vendor.ss_ramdump /system/bin/subsystem_ramdump_system 2 + class late_start +# user system + group system everybody + disabled + +on property:ro.vendor.iocgrp.config=1 + mkdir /dev/blkio + mount cgroup none /dev/blkio blkio + chown system system /dev/blkio + chown system system /dev/blkio/tasks + chmod 0664 /dev/blkio/tasks + mkdir /dev/blkio/bg 0755 system system + chown system system /dev/blkio/bg/tasks + chmod 0664 /dev/blkio/bg/tasks + write /dev/blkio/blkio.weight 1000 + write /dev/blkio/bg/blkio.weight 100 + +on property:persist.sys.ssr.enable_debug=* + write /sys/module/subsystem_restart/parameters/enable_debug ${persist.sys.ssr.enable_debug} + +on property:persist.sys.mba_boot_timeout=* + write /sys/module/pil_msa/parameters/pbl_mba_boot_timeout_ms ${persist.sys.mba_boot_timeout} + +on property:persist.sys.modem_auth_timeout=* + write /sys/module/pil_msa/parameters/modem_auth_timeout_ms ${persist.sys.modem_auth_timeout} + +on property:persist.sys.pil_proxy_timeout=* + write /sys/module/peripheral_loader/parameters/proxy_timeout_ms ${persist.sys.pil_proxy_timeout} + +on property:persist.vendor.ssr.restart_level=* + start vendor.ssr_setup + +on property:persist.vendor.ssr.enable_ramdumps=1 && property:ro.boot.dp=0xB + write /sys/module/subsystem_restart/parameters/enable_ramdumps 1 + mkdir /data/vendor/ramdump_ssr 770 system system +# start vendor.ss_ramdump + +on property:persist.vendor.ssr.enable_ramdumps=0 + write /sys/module/subsystem_restart/parameters/enable_ramdumps 0 +# stop vendor.ss_ramdump + +on property:ro.boot.dp=0x0 + write /sys/module/subsystem_restart/parameters/enable_ramdumps 0 + +on property:persist.vendor.sys.rawdump_copy=1 + write /sys/kernel/dload/emmc_dload 1 + +on property:persist.vendor.sys.rawdump_copy=0 + write /sys/kernel/dload/emmc_dload 0 + +on property:sys.boot_completed=1 + write /dev/kmsg "Boot completed " + #Reset read ahead for dm-0 and dm-1 to 512kb + write /sys/block/dm-0/queue/read_ahead_kb 512 + write /sys/block/dm-1/queue/read_ahead_kb 512 + #WDSP FW boot sysfs node used by STHAL + chown media audio /sys/kernel/wdsp0/boot + chown media audio /sys/kernel/wcd_cpe0/fw_name + #Reinit lmkd to reconfigure lmkd properties + setprop lmkd.reinit 1 + +on property:persist.vendor.radio.atfwd.start=false + stop vendor.atfwd + +on property:vendor.radio.atfwd.start=false + stop vendor.atfwd + +# corefile limit +on property:persist.debug.trace=1 + mkdir /data/core 0777 root root + write /proc/sys/kernel/core_pattern "/data/core/core-%e-%p" + +on property:vendor.bluetooth.startwdsdaemon=true + start vendor.bt_wdsdaemon + +on property:vendor.bluetooth.startwdsdaemon=false + stop vendor.bt_wdsdaemon + +on property:vendor.media.target.version=* + setprop vendor.sys.media.target.version ${vendor.media.target.version} + +on property: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} + +service qcom-c_core-sh /vendor/bin/init.qcom.class_core.sh + class core + user root + oneshot + +service qcom-c_main-sh /vendor/bin/init.class_main.sh + class main + user root + group root system + oneshot + +on property:vold.decrypt=trigger_restart_framework + start qcom-c_main-sh + start wcnss-service + +service vendor.qrtr-ns /vendor/bin/qrtr-ns -f + class core + user vendor_qrtr + group vendor_qrtr + capabilities NET_BIND_SERVICE + +service irsc_util /vendor/bin/irsc_util "/vendor/etc/sec_config" + class core + user root + oneshot + +service vendor.bt_wdsdaemon /system/vendor/bin/wdsdaemon -su + class late_start + user root + group bluetooth diag system wakelock + disabled + oneshot + +service ftmd /system/vendor/bin/ftmdaemon + class late_start + user root + group bluetooth net_bt_admin misc diag net_bt + disabled + oneshot + +service qmiproxy /system/bin/qmiproxy + class main + user radio + group radio diag + disabled + +# Adjust socket buffer to enlarge TCP receive window for high bandwidth +# but only if ro.data.large_tcp_window_size property is set. +on property:ro.data.large_tcp_window_size=true + write /proc/sys/net/ipv4/tcp_adv_win_scale 2 + +on property:sys.sysctl.tcp_adv_win_scale=* + write /proc/sys/net/ipv4/tcp_adv_win_scale ${sys.sysctl.tcp_adv_win_scale} + +service wpa_supplicant /vendor/bin/hw/wpa_supplicant \ + -O/data/vendor/wifi/wpa/sockets -puse_p2p_group_interface=1 -dd \ + -g@android:vendor_wpa_wlan0 +# we will start as root and wpa_supplicant will switch to user wifi +# after setting up the capabilities required for WEXT +# user wifi +# group wifi inet keystore + interface android.hardware.wifi.supplicant@1.0::ISupplicant default + interface android.hardware.wifi.supplicant@1.1::ISupplicant default + class main + socket vendor_wpa_wlan0 dgram 660 wifi wifi + disabled + oneshot + +service vendor.wigig_supplicant /vendor/bin/hw/wpa_supplicant \ + -iwigig0 -Dnl80211 -c/data/vendor/wifi/wigig_supplicant.conf \ + -m/data/vendor/wifi/wigig_p2p_supplicant.conf \ + -O/data/vendor/wifi/wigig_sockets -dd \ + -e/data/vendor/wifi/wigig_entropy.bin -g@android:wigig/wpa_wigig0 \ + -S wigigsvc + # we will start as root and wpa_supplicant will switch to user wifi + # after setting up the capabilities required for WEXT + # user wifi + # group wifi inet keystore + class main + socket wigig/wpa_wigig0 dgram 660 wifi wifi + disabled + oneshot + +# Data Migration +service vendor.move_wifi_data /system/bin/move_wifi_data.sh + class main + user wifi + group wifi + disabled + oneshot + +service vendor.sensingdaemon /vendor/bin/sensingdaemon + class hal + socket wigig/sensingdaemon stream 660 system wifi + user system + group wifi + disabled + +service dhcpcd_wlan0 /system/bin/dhcpcd -ABKLG + class late_start + disabled + oneshot + +service dhcpcd_bond0 /system/bin/dhcpcd -ABKLG + class late_start + disabled + oneshot + +service dhcpcd_p2p /system/bin/dhcpcd -ABKLG + class late_start + disabled + oneshot + +service dhcpcd_wigig0 /system/bin/dhcpcd -ABKLG + class late_start + disabled + oneshot + +service iprenew_wlan0 /system/bin/dhcpcd -n + class late_start + disabled + oneshot + +service iprenew_bond0 /system/bin/dhcpcd -n + class late_start + disabled + oneshot + +service iprenew_p2p /system/bin/dhcpcd -n + class late_start + disabled + oneshot + +service iprenew_wigig0 /system/bin/dhcpcd -n + class late_start + disabled + oneshot + +service ptt_socket_app /system/vendor/bin/ptt_socket_app -d + class main + user wifi + group wifi system inet net_admin + capabilities NET_ADMIN + oneshot + +service ptt_ffbm /system/vendor/bin/ptt_socket_app -f -d + user root + group root + disabled + oneshot + +service wifi_ftmd /system/vendor/bin/wifi_ftmd + user system + group system inet net_admin + socket wififtmd_server dgram 0660 system system + disabled + oneshot + +on property:vendor.wifi.ftmd.load=true + insmod /system/lib/modules/pronto/pronto_wlan.ko con_mode=5 + +service tcpdump /vendor/bin/tcpdump -i any -W 2 -C 2 -s 134 -w /data/vendor/wlan_logs/tcpdump.pcap + class main + user root + group root wifi + disabled + oneshot + +service tcpdump_full /vendor/bin/tcpdump -i any -W 3 -C 40 -w /data/vendor/wlan_logs/tcpdump_full.pcap + class main + user root + group root wifi + disabled + oneshot + +service sniffer /vendor/bin/tcpdump -i wlan0 -w /data/vendor/wlan_logs/sniffer.pcap + class main + user root + group root wifi + disabled + oneshot + +on property:vendor.hardware.wlan.runtcpdump=stop + stop tcpdump + +on property:vendor.hardware.wlan.runtcpdump=start + start tcpdump + +on property:vendor.hardware.wlan.runsniffer=stop + stop sniffer + +on property:vendor.hardware.wlan.runsniffer=start + start sniffer + +on property:sys.user.0.ce_available=true + start cnss_diag + start tcpdump + +service startpktlog /system/bin/iwpriv wlan0 pktlog 2 + class main + user root + group root + disabled + oneshot + +service stoppktlog /system/bin/iwpriv wlan0 pktlog 0 + class main + user root + group root + disabled + oneshot + +service cnss-daemon /system/vendor/bin/cnss-daemon -n -l + class late_start + user system + group system inet net_admin wifi + capabilities NET_ADMIN + +on property:sys.shutdown.requested=* + write /sys/kernel/shutdown_wlan/shutdown 1 + stop cnss-daemon + +service dhcpcd_bt-pan /system/bin/dhcpcd -BKLG + class late_start + disabled + oneshot + +service iprenew_bt-pan /system/bin/dhcpcd -n + class late_start + disabled + oneshot + +service ssgqmigd /vendor/bin/ssgqmigd + class late_start + user radio + group radio gps system + socket ssgqmig seqpacket 0660 radio inet + +service mlid /vendor/bin/mlid + class late_start + user gps + group gps + socket mlid stream 0666 gps gps + +service loc_launcher /system/vendor/bin/loc_launcher + class late_start + user gps + group gps + +service drmdiag /system/vendor/bin/drmdiagapp + class late_start + user root + disabled + oneshot + +on property:drmdiag.load=1 + start drmdiag + +on property:drmdiag.load=0 + stop drmdiag + +service qcom-sh /vendor/bin/init.qcom.sh + class late_start + user root + group root system radio + oneshot +# Remove since is deprecated but throws AVC denial. +# service crashdata-sh /vendor/bin/init.qcom.crashdata.sh +# class late_start +# user root +# oneshot + +service qcom-post-boot /vendor/bin/init.qcom.post_boot.sh + class late_start + user root + group root system wakelock graphics + disabled + oneshot + +service wifi-sdio-on /vendor/bin/init.qcom.sdio.sh + class late_start + group wifi inet + disabled + oneshot + +service wifi-crda /vendor/bin/init.crda.sh + class late_start + user root + disabled + oneshot + +on property:sys.boot_completed=1 + start qcom-post-boot + +on property:ro.vendor.ril.mbn_copy_completed=1 + write /data/vendor/radio/copy_complete 1 + +service qvop-daemon /vendor/bin/qvop-daemon + class late_start + user system + group system drmrpc + +service vendor.atfwd /vendor/bin/ATFWD-daemon + class late_start + user system + group system radio + +service hostapd_fst /vendor/bin/hw/hostapd -dd -g /data/vendor/wifi/hostapd/global + class main + capabilities NET_ADMIN NET_RAW + user wifi + group wifi + disabled + oneshot + +service ims_regmanager /system/vendor/bin/exe-ims-regmanagerprocessnative + class late_start + group net_bt_admin inet radio wifi + disabled + +on property:persist.ims.regmanager.mode=1 + start ims_regmanager + +on property:ro.data.large_tcp_window_size=true + # Adjust socket buffer to enlarge TCP receive window for high bandwidth (e.g. DO-RevB) + write /proc/sys/net/ipv4/tcp_adv_win_scale 2 + +service battery_monitor /system/bin/battery_monitor + user system + group system + disabled + +service vendor.ril-daemon2 /vendor/bin/hw/rild -c 2 + class main + user radio + disabled + group radio cache inet misc audio sdcard_r sdcard_rw diag oem_2901 log + capabilities BLOCK_SUSPEND NET_ADMIN NET_RAW + +service vendor.ril-daemon3 /vendor/bin/hw/rild -c 3 + class main + user radio + disabled + group radio cache inet misc audio sdcard_r sdcard_rw diag oem_2901 log + capabilities BLOCK_SUSPEND NET_ADMIN NET_RAW + +service profiler_daemon /system/bin/profiler_daemon + class late_start + user root + group root + disabled + +service charger /system/bin/charger + class charger + user system + group system graphics input + capabilities SYS_BOOT + seclabel u:r:charger:s0 + +service vendor.ssr_diag /system/vendor/bin/ssr_diag + class late_start + user system + group system + disabled + +service hvdcp /system/bin/hvdcp + class core + user root + disabled + +on property:persist.usb.hvdcp.detect=true + start hvdcp + +on property:persist.usb.hvdcp.detect=false + stop hvdcp + +service charger_monitor /system/bin/charger_monitor + user root + group root + disabled + +service qbcharger /charger -m 1 + disabled + oneshot + +on property:sys.qbcharger.enable=true + start qbcharger + +on property:sys.qbcharger.enable=false + stop qbcharger + +service diag_mdlog_start /system/bin/diag_mdlog_system -c -n 20 + class late_start + user shell + group system oem_2901 sdcard_rw sdcard_r media_rw + disabled + oneshot + +service diag_mdlog_stop /system/bin/diag_mdlog_system -k + class late_start + user shell + group system oem_2901 sdcard_rw sdcard_r media_rw + disabled + oneshot + +service qlogd /system/xbin/qlogd + socket qlogd stream 0662 system system + class main + disabled +on property:persist.sys.qlogd=1 + start qlogd +on property:persist.sys.qlogd=0 + stop qlogd + +service vm_bms /vendor/bin/vm_bms + user root + group root + disabled + +service vendor.msm_irqbalance /vendor/bin/msm_irqbalance -f /system/vendor/etc/msm_irqbalance.conf + class core + user root + group root + disabled + +service vendor.msm_irqbal_lb /vendor/bin/msm_irqbalance -f /system/vendor/etc/msm_irqbalance_little_big.conf + class core + user root + group root + disabled + +service vendor.msm_irqbl_sdm630 /vendor/bin/msm_irqbalance -f /system/vendor/etc/msm_irqbalance_sdm630.conf + class core + user root + group root + disabled + +# service for USERDEBUG +service vendor.LKCore-dbg /vendor/bin/LKCore + class late_start + oneshot + disabled + user root + group root system log diag net_raw + +# service for USER +service vendor.LKCore-rel /vendor/bin/LKCore + class late_start + oneshot + disabled + user system + group system log diag + +service qseeproxydaemon /system/vendor/bin/qseeproxydaemon + class late_start + user system + group system + +service esepmdaemon /system/vendor/bin/esepmdaemon + class core + user system + group nfc + +on charger + setprop persist.sys.usb.config mass_storage + start qcom-post-boot + +#add poweroffhandler +service poweroffhandler /system/vendor/bin/poweroffhandler + class core + user media + group graphics audio + disabled + oneshot + +# Logcat dump daemon, dumps logs to logdump partition +service logdumpd /system/bin/logcat -b all -v threadtime -D -w /dev/block/bootdevice/by-name/logdump + class core + writepid /dev/cpuset/system-background/tasks + seclabel u:r:logdumpd:s0 + disabled + +# Logdumpd is enabled only for userdebug non-perf build +on property:ro.logdumpd.enabled=1 + start logdumpd + +service time_daemon /vendor/bin/time_daemon + class main + user system + group system + capabilities SYS_TIME + +# Set vendor-ril lib path based on Meta version +on property:vendor.rild.libpath=* + setprop rild.libpath ${vendor.rild.libpath} + +on property:ro.vendor.radio.noril=* + setprop ro.radio.noril ${ro.vendor.radio.noril} + +service vendor.power_off_alarm /vendor/bin/power_off_alarm + class core + group system + disabled + oneshot + +service vendor.hbtp /vendor/bin/hbtp_daemon + class main + user system + group system + capabilities SYS_NICE + disabled + +#service chre /vendor/bin/chre +# class late_start +# user system +# group system +# socket chre seqpacket 0660 root system +# shutdown critical + +#on property:vendor.chre.enabled=0 +# stop chre + +service bugreport /system/bin/dumpstate -d -p -B -z -o /data/user_de/0/com.android.shell/files/bugreports/bugreport + class main + disabled + oneshot + keycodes 114 115 116 + +#Set GPU Opengles version +on property:vendor.opengles.version=* + setprop ro.opengles.version ${vendor.opengles.version} + +#Set gpu available frequencies property +on property:vendor.gpu.available_frequencies=* + setprop ro.vendor.gpu.available_frequencies ${vendor.gpu.available_frequencies} + +service vendor.audio-hal /vendor/bin/hw/android.hardware.audio.service + override + class hal + user audioserver + # media gid needed for /dev/fm (radio) and for /data/misc/media (tee) + group audio camera drmrpc inet media mediadrm net_bt net_bt_admin net_bw_acct oem_2901 wakelock + capabilities BLOCK_SUSPEND + ioprio rt 4 + writepid /dev/cpuset/foreground/tasks /dev/stune/foreground/tasks + socket audio_hw_socket seqpacket 0666 system system + onrestart restart audioserver + +#nv_mac is added by Xiaomi-Wifi +service nv_mac /vendor/bin/nv_mac + class late_start + user system + group system inet net_admin wifi net_raw + oneshot diff --git a/rootdir/etc/init.qcom.usb.rc b/rootdir/etc/init.qcom.usb.rc new file mode 100644 index 0000000..99c8ac2 --- /dev/null +++ b/rootdir/etc/init.qcom.usb.rc @@ -0,0 +1,1677 @@ +# Copyright (c) 2011-2016, 2018-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. +# + +on charger + mkdir /dev/usb-ffs 0770 shell shell + mkdir /dev/usb-ffs/adb 0770 shell shell + mount configfs none /config + mkdir /config/usb_gadget/g1 0770 + mkdir /config/usb_gadget/g1/strings/0x409 0770 + write /config/usb_gadget/g1/bcdUSB 0x0200 + write /config/usb_gadget/g1/strings/0x409/serialnumber ${ro.serialno} + write /config/usb_gadget/g1/strings/0x409/manufacturer ${ro.product.manufacturer} + mkdir /config/usb_gadget/g1/functions/mass_storage.0 + mkdir /config/usb_gadget/g1/functions/ffs.adb + mkdir /config/usb_gadget/g1/configs/b.1 0770 + mkdir /config/usb_gadget/g1/configs/b.1/strings/0x409 0770 + write /config/usb_gadget/g1/configs/b.1/MaxPower 900 + symlink /config/usb_gadget/g1/configs/b.1 /config/usb_gadget/g1/os_desc/b.1 + mount functionfs adb /dev/usb-ffs/adb uid=2000,gid=2000 + exec u:r:vendor_qti_init_shell:s0 -- /vendor/bin/init.qcom.usb.sh + write /config/usb_gadget/g1/strings/0x409/product ${vendor.usb.product_string} + setprop sys.usb.configfs 1 + setprop sys.usb.config adb + trigger userspace-reboot-fs-remount + trigger post-fs-data + trigger early-fs + trigger fs + start adbd + +on init + exec u:r:vendor-qti-testscripts:s0 -- /vendor/bin/sh /vendor/bin/init.qti.usb.debug.sh + +on boot + mount configfs none /config + mkdir /config/usb_gadget/g1 0770 + mkdir /config/usb_gadget/g2 0770 + mkdir /config/usb_gadget/g1/strings/0x409 0770 + mkdir /config/usb_gadget/g2/strings/0x409 0770 + write /config/usb_gadget/g1/bcdUSB 0x0200 + write /config/usb_gadget/g2/bcdUSB 0x0200 + write /config/usb_gadget/g1/os_desc/use 1 + write /config/usb_gadget/g1/strings/0x409/serialnumber ${ro.serialno} + write /config/usb_gadget/g2/strings/0x409/serialnumber ${ro.serialno} + write /config/usb_gadget/g1/strings/0x409/manufacturer ${ro.product.manufacturer} + write /config/usb_gadget/g2/strings/0x409/manufacturer ${ro.product.manufacturer} + mkdir /config/usb_gadget/g1/functions/mass_storage.0 + mkdir /config/usb_gadget/g1/functions/mtp.gs0 + mkdir /config/usb_gadget/g1/functions/ptp.gs1 + mkdir /config/usb_gadget/g1/functions/accessory.gs2 + mkdir /config/usb_gadget/g1/functions/audio_source.gs3 + mkdir /config/usb_gadget/g1/functions/midi.gs5 + mkdir /config/usb_gadget/g1/functions/ffs.adb + mkdir /config/usb_gadget/g1/functions/ffs.diag + mkdir /config/usb_gadget/g1/functions/ffs.diag_mdm + mkdir /config/usb_gadget/g1/functions/ffs.diag_mdm2 + mkdir /config/usb_gadget/g1/functions/diag.diag + mkdir /config/usb_gadget/g1/functions/diag.diag_mdm + mkdir /config/usb_gadget/g1/functions/diag.diag_mdm2 + mkdir /config/usb_gadget/g1/functions/cser.dun.0 + mkdir /config/usb_gadget/g1/functions/cser.nmea.1 + mkdir /config/usb_gadget/g1/functions/cser.dun.2 + mkdir /config/usb_gadget/g1/functions/gsi.rmnet + mkdir /config/usb_gadget/g1/functions/gsi.rndis + mkdir /config/usb_gadget/g1/functions/gsi.dpl + mkdir /config/usb_gadget/g1/functions/qdss.qdss + mkdir /config/usb_gadget/g1/functions/qdss.qdss_mdm + mkdir /config/usb_gadget/g1/functions/rndis_bam.rndis + mkdir /config/usb_gadget/g1/functions/rndis.rndis + mkdir /config/usb_gadget/g1/functions/rmnet_bam.rmnet + mkdir /config/usb_gadget/g1/functions/rmnet_bam.dpl + mkdir /config/usb_gadget/g1/functions/rmnet_bam.rmnet_bam_dmux + mkdir /config/usb_gadget/g1/functions/rmnet_bam.dpl_bam_dmux + mkdir /config/usb_gadget/g1/functions/ncm.0 + mkdir /config/usb_gadget/g1/functions/ccid.ccid + mkdir /config/usb_gadget/g1/functions/uac2.0 + mkdir /config/usb_gadget/g1/functions/uvc.0 + mkdir /config/usb_gadget/g1/configs/b.1 0770 + mkdir /config/usb_gadget/g2/configs/b.1 0770 + mkdir /config/usb_gadget/g1/configs/b.1/strings/0x409 0770 + mkdir /config/usb_gadget/g2/configs/b.1/strings/0x409 0770 + write /config/usb_gadget/g1/configs/b.1/MaxPower 900 + write /config/usb_gadget/g1/os_desc/b_vendor_code 0x1 + write /config/usb_gadget/g1/os_desc/qw_sign "MSFT100" + write /config/usb_gadget/g1/functions/diag.diag/serial ${ro.serialno} + symlink /config/usb_gadget/g1/configs/b.1 /config/usb_gadget/g1/os_desc/b.1 + mkdir /dev/usb-ffs 0775 shell system + mkdir /dev/usb-ffs/adb 0770 shell system + mount functionfs adb /dev/usb-ffs/adb uid=2000,gid=1000,rmode=0770,fmode=0660 + mkdir /dev/ffs-diag 0770 shell system + mount functionfs diag /dev/ffs-diag uid=2000,gid=1000,rmode=0770,fmode=0660,no_disconnect=1 + mkdir /dev/ffs-diag-1 0770 shell system + mount functionfs diag_mdm /dev/ffs-diag-1 uid=2000,gid=1000,rmode=0770,fmode=0660,no_disconnect=1 + mkdir /dev/ffs-diag-2 0770 shell system + mount functionfs diag_mdm2 /dev/ffs-diag-2 uid=2000,gid=1000,rmode=0770,fmode=0660,no_disconnect=1 + setprop sys.usb.mtp.device_type 3 + setprop vendor.usb.controller ${sys.usb.controller} + exec u:r:vendor_qti_init_shell:s0 -- /vendor/bin/init.qcom.usb.sh + write /config/usb_gadget/g1/strings/0x409/product ${vendor.usb.product_string} + write /config/usb_gadget/g2/strings/0x409/product ${vendor.usb.product_string} + setprop sys.usb.config ${persist.vendor.usb.config} + setprop sys.usb.configfs 1 + +on boot && property:vendor.usb.use_ffs_mtp=1 + mkdir /config/usb_gadget/g1/functions/ffs.mtp + mkdir /config/usb_gadget/g1/functions/ffs.ptp + mkdir /dev/usb-ffs/mtp 0770 mtp mtp + mount functionfs mtp /dev/usb-ffs/mtp rmode=0770,fmode=0660,uid=1024,gid=1024,no_disconnect=1 + mkdir /dev/usb-ffs/ptp 0770 mtp mtp + mount functionfs ptp /dev/usb-ffs/ptp rmode=0770,fmode=0660,uid=1024,gid=1024,no_disconnect=1 + +on property:persist.vendor.usb.config=* + setprop persist.sys.usb.config ${persist.vendor.usb.config} + +on property:sys.usb.config=* + setprop vendor.usb.mimode ${persist.sys.usb.config} + exec u:r:vendor_qti_init_shell:s0 -- /vendor/bin/init.mi.usb.sh + +on boot && property:ro.boot.usbconfigfs=true + setprop sys.usb.configfs 1 + +on boot && property:ro.boot.factorybuild=1 + write /config/usb_gadget/g1/strings/0x409/serialnumber 1234567890ABCDEF + +# +# USB compositions +# +# Following are the triggers to configure various combinations of functions into a USB +# composition. Each correspond to a unique VID/PID. +# + +on property:sys.usb.config=none && property:sys.usb.configfs=1 + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + +on property:sys.usb.config=mass_storage && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "msc" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x05C6 + write /config/usb_gadget/g1/idProduct 0xF000 + symlink /config/usb_gadget/g1/functions/mass_storage.0 /config/usb_gadget/g1/configs/b.1/f1 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=mass_storage,adb && property:sys.usb.configfs=1 + start adbd + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=mass_storage,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "adb_msc" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x05C6 + write /config/usb_gadget/g1/idProduct 0x9015 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/mass_storage.0 /config/usb_gadget/g1/configs/b.1/f2 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,adb && property:sys.usb.configfs=1 + start adbd + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=diag,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_adb" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x05C6 + write /config/usb_gadget/g1/idProduct 0x901D + write /config/usb_gadget/g1/functions/diag.diag/pid 0x901d + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x05C6 + write /config/usb_gadget/g1/idProduct 0x900E + write /config/usb_gadget/g1/functions/diag.diag/pid 0x900e + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f1 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,serial_cdev,rmnet,adb && property:sys.usb.configfs=1 + start adbd + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=diag,serial_cdev,rmnet,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "Default composition" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x05C6 + write /config/usb_gadget/g1/idProduct 0x9091 + write /config/usb_gadget/g1/functions/diag.diag/pid 0x9091 + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/cser.dun.0 /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.rmnet.inst.name} /config/usb_gadget/g1/configs/b.1/f3 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f4 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,serial_cdev,rmnet && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "Default comp without ADB" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x05C6 + write /config/usb_gadget/g1/idProduct 0x9092 + write /config/usb_gadget/g1/functions/diag.diag/pid 0x9092 + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/cser.dun.0 /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.rmnet.inst.name} /config/usb_gadget/g1/configs/b.1/f3 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,serial_cdev,serial_cdev_nmea,adb && property:sys.usb.configfs=1 + start adbd + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=diag,serial_cdev,serial_cdev_nmea,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_dun_nmea_adb" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x05C6 + write /config/usb_gadget/g1/idProduct 0x9020 + write /config/usb_gadget/g1/functions/diag.diag/pid 0x9020 + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/cser.dun.0 /config/usb_gadget/g1/configs/b.1/f3 + symlink /config/usb_gadget/g1/functions/cser.nmea.1 /config/usb_gadget/g1/configs/b.1/f4 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:vendor.usb.tethering=true + write /sys/class/net/rndis0/queues/rx-0/rps_cpus ${vendor.usb.rps_mask} + +on property:sys.usb.config=rndis + setprop sys.usb.config rndis,${persist.vendor.usb.config.extra} + +on property:sys.usb.config=rndis,none && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "rndis" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x2717 + write /config/usb_gadget/g1/idProduct 0xFF80 + symlink /config/usb_gadget/g1/functions/${vendor.usb.rndis.func.name}.rndis /config/usb_gadget/g1/configs/b.1/f1 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state rndis + +on property:sys.usb.config=rndis,sec && property:sys.usb.configfs=1 + write /config/usb_gadget/g2/configs/b.1/strings/0x409/configuration "rndis" + rm /config/usb_gadget/g2/configs/b.1/f1 + write /config/usb_gadget/g2/idVendor 0x05C6 + write /config/usb_gadget/g2/idProduct 0xF00E + symlink /config/usb_gadget/g2/functions/${vendor.usb.rndis.func.name}.rndis /config/usb_gadget/g2/configs/b.1/f1 + write /config/usb_gadget/g2/UDC ${persist.vendor.usb.controller.secondary} + setprop sys.usb.state rndis + +on property:sys.usb.config=rndis,adb + setprop sys.usb.config rndis,${persist.vendor.usb.config.extra},adb + +on property:sys.usb.config=rndis,none,adb && property:sys.usb.configfs=1 + start adbd + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=rndis,none,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "rndis_adb" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x2717 + write /config/usb_gadget/g1/idProduct 0xFF88 + symlink /config/usb_gadget/g1/functions/${vendor.usb.rndis.func.name}.rndis /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state rndis,adb + +on property:sys.usb.config=rndis,diag && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "rndis_diag" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x05C6 + write /config/usb_gadget/g1/idProduct 0x902C + symlink /config/usb_gadget/g1/functions/${vendor.usb.rndis.func.name}.rndis /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f2 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state rndis + +on property:sys.usb.config=rndis,diag,adb && property:sys.usb.configfs=1 + start adbd + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=rndis,diag,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "rndis_diag_adb" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x05C6 + write /config/usb_gadget/g1/idProduct 0x902D + symlink /config/usb_gadget/g1/functions/${vendor.usb.rndis.func.name}.rndis /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f3 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state rndis,adb + +on property:sys.usb.config=rndis,serial_cdev && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "rndis_dun" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x05C6 + write /config/usb_gadget/g1/idProduct 0x90B3 + symlink /config/usb_gadget/g1/functions/${vendor.usb.rndis.func.name}.rndis /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/cser.dun.0 /config/usb_gadget/g1/configs/b.1/f2 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state rndis + +on property:sys.usb.config=rndis,serial_cdev,adb && property:sys.usb.configfs=1 + start adbd + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=rndis,serial_cdev,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "rndis_dun_adb" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x05C6 + write /config/usb_gadget/g1/idProduct 0x90B4 + symlink /config/usb_gadget/g1/functions/${vendor.usb.rndis.func.name}.rndis /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/cser.dun.0 /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f3 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state rndis,adb + +on property:sys.usb.config=rndis,serial_cdev,diag && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "rndis_dun_diag" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x05C6 + write /config/usb_gadget/g1/idProduct 0x90B5 + symlink /config/usb_gadget/g1/functions/${vendor.usb.rndis.func.name}.rndis /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/cser.dun.0 /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f3 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state rndis + +on property:sys.usb.config=rndis,serial_cdev,diag,adb && property:sys.usb.configfs=1 + start adbd + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=rndis,serial_cdev,diag,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "rndis_dun_diag" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x05C6 + write /config/usb_gadget/g1/idProduct 0x90B6 + symlink /config/usb_gadget/g1/functions/${vendor.usb.rndis.func.name}.rndis /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/cser.dun.0 /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f3 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f4 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state rndis,adb + +on property:sys.usb.config=mtp,diag && property:vendor.usb.use_ffs_mtp=0 && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "mtp_diag" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x05C6 + write /config/usb_gadget/g1/idProduct 0x901B + symlink /config/usb_gadget/g1/functions/mtp.gs0 /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f2 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=mtp,diag && property:vendor.usb.use_ffs_mtp=1 && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "ffs-mtp_diag" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x05C6 + write /config/usb_gadget/g1/idProduct 0x901B + symlink /config/usb_gadget/g1/functions/ffs.mtp /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f2 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=mtp,diag,adb && property:sys.usb.configfs=1 + start adbd + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=mtp,diag,adb && property:vendor.usb.use_ffs_mtp=0 && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "mtp_diag_adb" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x05C6 + write /config/usb_gadget/g1/idProduct 0x903A + symlink /config/usb_gadget/g1/functions/mtp.gs0 /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f3 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=mtp,diag,adb && property:vendor.usb.use_ffs_mtp=1 && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "ffs-mtp_diag_adb" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x05C6 + write /config/usb_gadget/g1/idProduct 0x903A + symlink /config/usb_gadget/g1/functions/ffs.mtp /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f3 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,qdss && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_qdss" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x05C6 + write /config/usb_gadget/g1/idProduct 0x904A + write /config/usb_gadget/g1/functions/diag.diag/pid 0x904a + write /config/usb_gadget/g1/functions/qdss.${vendor.usb.qdss.inst.name}/enable_debug_inface 1 + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/qdss.${vendor.usb.qdss.inst.name} /config/usb_gadget/g1/configs/b.1/f2 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,qdss,adb && property:sys.usb.configfs=1 + start adbd + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=diag,qdss,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_qdss_adb" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x05C6 + write /config/usb_gadget/g1/idProduct 0x9060 + write /config/usb_gadget/g1/functions/diag.diag/pid 0x9060 + write /config/usb_gadget/g1/functions/qdss.${vendor.usb.qdss.inst.name}/enable_debug_inface 1 + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/qdss.${vendor.usb.qdss.inst.name} /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f3 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,qdss,rmnet && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_qdss_rmnet" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x05C6 + write /config/usb_gadget/g1/idProduct 0x9083 + write /config/usb_gadget/g1/functions/diag.diag/pid 0x9083 + write /config/usb_gadget/g1/functions/qdss.${vendor.usb.qdss.inst.name}/enable_debug_inface 1 + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/qdss.${vendor.usb.qdss.inst.name} /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.rmnet.inst.name} /config/usb_gadget/g1/configs/b.1/f3 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,qdss,rmnet,adb && property:sys.usb.configfs=1 + start adbd + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=diag,qdss,rmnet,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_qdss_rmnet_adb" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x05C6 + write /config/usb_gadget/g1/idProduct 0x9084 + write /config/usb_gadget/g1/functions/diag.diag/pid 0x9084 + write /config/usb_gadget/g1/functions/qdss.${vendor.usb.qdss.inst.name}/enable_debug_inface 1 + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/qdss.${vendor.usb.qdss.inst.name} /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f3 + symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.rmnet.inst.name} /config/usb_gadget/g1/configs/b.1/f4 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=rndis,diag,qdss && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "rndis_diag_qdss" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x05C6 + write /config/usb_gadget/g1/idProduct 0x9081 + write /config/usb_gadget/g1/functions/qdss.${vendor.usb.qdss.inst.name}/enable_debug_inface 1 + symlink /config/usb_gadget/g1/functions/${vendor.usb.rndis.func.name}.rndis /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/qdss.${vendor.usb.qdss.inst.name} /config/usb_gadget/g1/configs/b.1/f3 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=rndis,diag,qdss,adb && property:sys.usb.configfs=1 + start adbd + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=rndis,diag,qdss,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "rndis_diag_qdss_adb" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x05C6 + write /config/usb_gadget/g1/idProduct 0x9082 + write /config/usb_gadget/g1/functions/qdss.${vendor.usb.qdss.inst.name}/enable_debug_inface 1 + symlink /config/usb_gadget/g1/functions/${vendor.usb.rndis.func.name}.rndis /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/qdss.${vendor.usb.qdss.inst.name} /config/usb_gadget/g1/configs/b.1/f3 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f4 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=ncm && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "ncm" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x05C6 + write /config/usb_gadget/g1/idProduct 0xA4A1 + symlink /config/usb_gadget/g1/functions/ncm.0 /config/usb_gadget/g1/configs/b.1/f1 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=ncm,adb && property:sys.usb.configfs=1 + start adbd + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=ncm,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "ncm_adb" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x05C6 + write /config/usb_gadget/g1/idProduct 0x908C + symlink /config/usb_gadget/g1/functions/ncm.0 /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,serial_cdev && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_dun" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x05C6 + write /config/usb_gadget/g1/idProduct 0x9004 + write /config/usb_gadget/g1/functions/diag.diag/pid 0x9004 + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/cser.dun.0 /config/usb_gadget/g1/configs/b.1/f2 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,adb,serial_cdev && property:sys.usb.configfs=1 + start adbd + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=diag,adb,serial_cdev && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_adb_dun" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x05C6 + write /config/usb_gadget/g1/idProduct 0x901f + write /config/usb_gadget/g1/functions/diag.diag/pid 0x901f + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/cser.dun.0 /config/usb_gadget/g1/configs/b.1/f3 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,serial_cdev,rmnet,dpl && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_dun_rmnet_dpl" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x05C6 + write /config/usb_gadget/g1/idProduct 0x90b7 + write /config/usb_gadget/g1/functions/diag.diag/pid 0x90b7 + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/cser.dun.0 /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.rmnet.inst.name} /config/usb_gadget/g1/configs/b.1/f3 + symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.dpl.inst.name} /config/usb_gadget/g1/configs/b.1/f4 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,serial_cdev,rmnet,dpl,adb && property:sys.usb.configfs=1 + start adbd + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=diag,serial_cdev,rmnet,dpl,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_dun_rmnet_dpl_adb" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x05C6 + write /config/usb_gadget/g1/idProduct 0x90b8 + write /config/usb_gadget/g1/functions/diag.diag/pid 0x90b8 + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/cser.dun.0 /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.rmnet.inst.name} /config/usb_gadget/g1/configs/b.1/f3 + symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.dpl.inst.name} /config/usb_gadget/g1/configs/b.1/f4 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f5 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=rndis,diag,dpl && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "rndis_diag_dpl" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x05C6 + write /config/usb_gadget/g1/idProduct 0x90bf + symlink /config/usb_gadget/g1/functions/${vendor.usb.rndis.func.name}.rndis /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.dpl.inst.name} /config/usb_gadget/g1/configs/b.1/f3 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state rndis + +on property:sys.usb.config=rndis,diag,dpl,adb && property:sys.usb.configfs=1 + start adbd + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=rndis,diag,dpl,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "rndis_diag_dpl_adb" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x05C6 + write /config/usb_gadget/g1/idProduct 0x90c0 + symlink /config/usb_gadget/g1/functions/${vendor.usb.rndis.func.name}.rndis /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.dpl.inst.name} /config/usb_gadget/g1/configs/b.1/f3 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f4 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state rndis,adb + +on property:sys.usb.config=ccid && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "ccid" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x05C6 + write /config/usb_gadget/g1/idProduct 0x90CE + symlink /config/usb_gadget/g1/functions/ccid.ccid /config/usb_gadget/g1/configs/b.1/f1 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=ccid,adb && property:sys.usb.configfs=1 + start adbd + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=ccid,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "ccid_adb" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x05C6 + write /config/usb_gadget/g1/idProduct 0x90CF + symlink /config/usb_gadget/g1/functions/ccid.ccid /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=ccid,diag && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "ccid_diag" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x05C6 + write /config/usb_gadget/g1/idProduct 0x90D0 + symlink /config/usb_gadget/g1/functions/ccid.ccid /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f2 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=ccid,diag,adb && property:sys.usb.configfs=1 + start adbd + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=ccid,diag,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "ccid_diag_adb" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x05C6 + write /config/usb_gadget/g1/idProduct 0x90D1 + symlink /config/usb_gadget/g1/functions/ccid.ccid /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f3 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,serial_cdev,rmnet,ccid && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_dun_rmnet_ccid" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x05C6 + write /config/usb_gadget/g1/idProduct 0x90D2 + write /config/usb_gadget/g1/functions/diag.diag/pid 0x90d2 + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/cser.dun.0 /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.rmnet.inst.name} /config/usb_gadget/g1/configs/b.1/f3 + symlink /config/usb_gadget/g1/functions/ccid.ccid /config/usb_gadget/g1/configs/b.1/f4 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,serial_cdev,rmnet,ccid,adb && property:sys.usb.configfs=1 + start adbd + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=diag,serial_cdev,rmnet,ccid,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_dun_rmnet_ccid_adb" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x05C6 + write /config/usb_gadget/g1/idProduct 0x90D3 + write /config/usb_gadget/g1/functions/diag.diag/pid 0x90d3 + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/cser.dun.0 /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.rmnet.inst.name} /config/usb_gadget/g1/configs/b.1/f3 + symlink /config/usb_gadget/g1/functions/ccid.ccid /config/usb_gadget/g1/configs/b.1/f4 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f5 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,diag_mdm,qdss,qdss_mdm,serial_cdev,serial_cdev_mdm,rmnet && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_diag_mdm,qdss_qdss_mdm_dun_dun_mdm_rmnet" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x05C6 + write /config/usb_gadget/g1/idProduct 0x90D7 + write /config/usb_gadget/g1/functions/diag.diag/pid 0x90d7 + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag_mdm /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/qdss.qdss /config/usb_gadget/g1/configs/b.1/f3 + symlink /config/usb_gadget/g1/functions/qdss.qdss_mdm /config/usb_gadget/g1/configs/b.1/f4 + symlink /config/usb_gadget/g1/functions/cser.dun.0 /config/usb_gadget/g1/configs/b.1/f5 + symlink /config/usb_gadget/g1/functions/cser.dun.2 /config/usb_gadget/g1/configs/b.1/f6 + symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.rmnet.inst.name} /config/usb_gadget/g1/configs/b.1/f7 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,diag_mdm,qdss,qdss_mdm,serial_cdev,serial_cdev_mdm,rmnet,adb && property:sys.usb.configfs=1 + start adbd + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=diag,diag_mdm,qdss,qdss_mdm,serial_cdev,serial_cdev_mdm,rmnet,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_diag_mdm,qdss_qdss_mdm_dun_dun_mdm_rmnet_adb" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x05C6 + write /config/usb_gadget/g1/idProduct 0x90D8 + write /config/usb_gadget/g1/functions/diag.diag/pid 0x90d8 + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag_mdm /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/qdss.qdss /config/usb_gadget/g1/configs/b.1/f3 + symlink /config/usb_gadget/g1/functions/qdss.qdss_mdm /config/usb_gadget/g1/configs/b.1/f4 + symlink /config/usb_gadget/g1/functions/cser.dun.0 /config/usb_gadget/g1/configs/b.1/f5 + symlink /config/usb_gadget/g1/functions/cser.dun.2 /config/usb_gadget/g1/configs/b.1/f6 + symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.rmnet.inst.name} /config/usb_gadget/g1/configs/b.1/f7 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f8 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,diag_mdm,qdss,qdss_mdm,serial_cdev,serial_cdev_mdm,dpl,rmnet && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_diag_mdm,qdss_qdss_mdm_dun_dun_mdm_dpl_rmnet" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x05C6 + write /config/usb_gadget/g1/idProduct 0x90DD + write /config/usb_gadget/g1/functions/diag.diag/pid 0x90dd + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag_mdm /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/qdss.qdss /config/usb_gadget/g1/configs/b.1/f3 + symlink /config/usb_gadget/g1/functions/qdss.qdss_mdm /config/usb_gadget/g1/configs/b.1/f4 + symlink /config/usb_gadget/g1/functions/cser.dun.0 /config/usb_gadget/g1/configs/b.1/f5 + symlink /config/usb_gadget/g1/functions/cser.dun.2 /config/usb_gadget/g1/configs/b.1/f6 + symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.dpl.inst.name} /config/usb_gadget/g1/configs/b.1/f7 + symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.rmnet.inst.name} /config/usb_gadget/g1/configs/b.1/f8 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,diag_mdm,qdss,qdss_mdm,serial_cdev,serial_cdev_mdm,dpl,rmnet,adb && property:sys.usb.configfs=1 + start adbd + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=diag,diag_mdm,qdss,qdss_mdm,serial_cdev,serial_cdev_mdm,dpl,rmnet,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_diag_mdm,qdss_qdss_mdm_dun_dun_mdm_dpl_rmnet_adb" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x05C6 + write /config/usb_gadget/g1/idProduct 0x90DE + write /config/usb_gadget/g1/functions/diag.diag/pid 0x90de + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag_mdm /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/qdss.qdss /config/usb_gadget/g1/configs/b.1/f3 + symlink /config/usb_gadget/g1/functions/qdss.qdss_mdm /config/usb_gadget/g1/configs/b.1/f4 + symlink /config/usb_gadget/g1/functions/cser.dun.0 /config/usb_gadget/g1/configs/b.1/f5 + symlink /config/usb_gadget/g1/functions/cser.dun.2 /config/usb_gadget/g1/configs/b.1/f6 + symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.dpl.inst.name} /config/usb_gadget/g1/configs/b.1/f7 + symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.rmnet.inst.name} /config/usb_gadget/g1/configs/b.1/f8 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,serial_cdev,rmnet,dpl,qdss && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_dun_rmnet_dpl_qdss" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x05C6 + write /config/usb_gadget/g1/idProduct 0x90DC + write /config/usb_gadget/g1/functions/diag.diag/pid 0x90dc + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/cser.dun.0 /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.rmnet.inst.name} /config/usb_gadget/g1/configs/b.1/f3 + symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.dpl.inst.name} /config/usb_gadget/g1/configs/b.1/f4 + symlink /config/usb_gadget/g1/functions/qdss.${vendor.usb.qdss.inst.name} /config/usb_gadget/g1/configs/b.1/f5 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,serial_cdev,rmnet,dpl,qdss,adb && property:sys.usb.configfs=1 + start adbd + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=diag,serial_cdev,rmnet,dpl,qdss,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_dun_rmnet_dpl_qdss_adb" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x05C6 + write /config/usb_gadget/g1/idProduct 0x90DB + write /config/usb_gadget/g1/functions/diag.diag/pid 0x90db + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/cser.dun.0 /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.rmnet.inst.name} /config/usb_gadget/g1/configs/b.1/f3 + symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.dpl.inst.name} /config/usb_gadget/g1/configs/b.1/f4 + symlink /config/usb_gadget/g1/functions/qdss.${vendor.usb.qdss.inst.name} /config/usb_gadget/g1/configs/b.1/f5 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f6 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,uac2,adb && property:sys.usb.configfs=1 + start adbd + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=diag,uac2,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_uac2_adb" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x05C6 + write /config/usb_gadget/g1/idProduct 0x90CA + write /config/usb_gadget/g1/functions/diag.diag/pid 0x90ca + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/uac2.0 /config/usb_gadget/g1/configs/b.1/f3 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,uac2 && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_uac2" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x05C6 + write /config/usb_gadget/g1/idProduct 0x901C + write /config/usb_gadget/g1/functions/diag.diag/pid 0x901c + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/uac2.0 /config/usb_gadget/g1/configs/b.1/f2 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,uvc,adb && property:sys.usb.configfs=1 + start adbd + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=diag,uvc,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_uvc_adb" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x05C6 + write /config/usb_gadget/g1/idProduct 0x90CB + write /config/usb_gadget/g1/functions/diag.diag/pid 0x90cb + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/uvc.0 /config/usb_gadget/g1/configs/b.1/f3 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,uvc && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_uvc" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x05C6 + write /config/usb_gadget/g1/idProduct 0x90DF + write /config/usb_gadget/g1/functions/diag.diag/pid 0x90df + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/uvc.0 /config/usb_gadget/g1/configs/b.1/f2 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,uac2,uvc,adb && property:sys.usb.configfs=1 + start adbd + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=diag,uac2,uvc,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_uac2_uvc_adb" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x05C6 + write /config/usb_gadget/g1/idProduct 0x90CC + write /config/usb_gadget/g1/functions/diag.diag/pid 0x90cc + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/uac2.0 /config/usb_gadget/g1/configs/b.1/f3 + symlink /config/usb_gadget/g1/functions/uvc.0 /config/usb_gadget/g1/configs/b.1/f4 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,uac2,uvc && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_uac2_uvc" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x05C6 + write /config/usb_gadget/g1/idProduct 0x90E0 + write /config/usb_gadget/g1/functions/diag.diag/pid 0x90e0 + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/uac2.0 /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/uvc.0 /config/usb_gadget/g1/configs/b.1/f3 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=diag,diag_mdm,qdss,qdss_mdm,serial_cdev,dpl,rmnet && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_diag_mdm_qdss_qdss_mdm_dun_dpl_rmnet" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x05C6 + write /config/usb_gadget/g1/idProduct 0x90E4 + write /config/usb_gadget/g1/functions/diag.diag/pid 0x90e4 + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag_mdm /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/qdss.qdss /config/usb_gadget/g1/configs/b.1/f3 + symlink /config/usb_gadget/g1/functions/qdss.qdss_mdm /config/usb_gadget/g1/configs/b.1/f4 + symlink /config/usb_gadget/g1/functions/cser.dun.0 /config/usb_gadget/g1/configs/b.1/f5 + symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.dpl.inst.name} /config/usb_gadget/g1/configs/b.1/f6 + symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.rmnet.inst.name} /config/usb_gadget/g1/configs/b.1/f7 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,diag_mdm,qdss,qdss_mdm,serial_cdev,dpl,rmnet,adb && property:sys.usb.configfs=1 + start adbd + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=diag,diag_mdm,qdss,qdss_mdm,serial_cdev,dpl,rmnet,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_diag_mdm_qdss_qdss_mdm_dun_dpl_rmnet_adb" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x05C6 + write /config/usb_gadget/g1/idProduct 0x90E5 + write /config/usb_gadget/g1/functions/diag.diag/pid 0x90e5 + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag_mdm /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/qdss.qdss /config/usb_gadget/g1/configs/b.1/f3 + symlink /config/usb_gadget/g1/functions/qdss.qdss_mdm /config/usb_gadget/g1/configs/b.1/f4 + symlink /config/usb_gadget/g1/functions/cser.dun.0 /config/usb_gadget/g1/configs/b.1/f5 + symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.dpl.inst.name} /config/usb_gadget/g1/configs/b.1/f6 + symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.rmnet.inst.name} /config/usb_gadget/g1/configs/b.1/f7 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f8 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=rndis,diag,diag_mdm,qdss,qdss_mdm,serial_cdev,dpl && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "rndis_diag_diag_mdm_qdss_qdss_mdm_dun_dpl" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x05C6 + write /config/usb_gadget/g1/idProduct 0x90E6 + symlink /config/usb_gadget/g1/functions/${vendor.usb.rndis.func.name}.rndis /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag_mdm /config/usb_gadget/g1/configs/b.1/f3 + symlink /config/usb_gadget/g1/functions/qdss.qdss /config/usb_gadget/g1/configs/b.1/f4 + symlink /config/usb_gadget/g1/functions/qdss.qdss_mdm /config/usb_gadget/g1/configs/b.1/f5 + symlink /config/usb_gadget/g1/functions/cser.dun.0 /config/usb_gadget/g1/configs/b.1/f6 + symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.dpl.inst.name} /config/usb_gadget/g1/configs/b.1/f7 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state rndis + +on property:sys.usb.config=rndis,diag,diag_mdm,qdss,qdss_mdm,serial_cdev,dpl,adb && property:sys.usb.configfs=1 + start adbd + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=rndis,diag,diag_mdm,qdss,qdss_mdm,serial_cdev,dpl,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "rndis_diag_diag_mdm_qdss_qdss_mdm_dun_dpl_adb" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x05C6 + write /config/usb_gadget/g1/idProduct 0x90E7 + symlink /config/usb_gadget/g1/functions/${vendor.usb.rndis.func.name}.rndis /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag_mdm /config/usb_gadget/g1/configs/b.1/f3 + symlink /config/usb_gadget/g1/functions/qdss.qdss /config/usb_gadget/g1/configs/b.1/f4 + symlink /config/usb_gadget/g1/functions/qdss.qdss_mdm /config/usb_gadget/g1/configs/b.1/f5 + symlink /config/usb_gadget/g1/functions/cser.dun.0 /config/usb_gadget/g1/configs/b.1/f6 + symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.dpl.inst.name} /config/usb_gadget/g1/configs/b.1/f7 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f8 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state rndis,adb + +on property:sys.usb.config=diag,diag_mdm,adb && property:sys.usb.configfs=1 + start adbd + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=diag,diag_mdm,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_diag_mdm_adb" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x05C6 + write /config/usb_gadget/g1/idProduct 0x90D9 + write /config/usb_gadget/g1/functions/diag.diag/pid 0x90d9 + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag_mdm /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f3 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=diag,diag_mdm,diag_mdm2,qdss,qdss_mdm,serial_cdev,dpl,rmnet && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_diag_mdm_diag_mdm2_qdss_qdss_mdm_dun_dpl_rmnet" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x05C6 + write /config/usb_gadget/g1/idProduct 0x90F6 + write /config/usb_gadget/g1/functions/diag.diag/pid 0x90f6 + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag_mdm /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag_mdm2 /config/usb_gadget/g1/configs/b.1/f3 + symlink /config/usb_gadget/g1/functions/qdss.qdss /config/usb_gadget/g1/configs/b.1/f4 + symlink /config/usb_gadget/g1/functions/qdss.qdss_mdm /config/usb_gadget/g1/configs/b.1/f5 + symlink /config/usb_gadget/g1/functions/cser.dun.0 /config/usb_gadget/g1/configs/b.1/f6 + symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.dpl.inst.name} /config/usb_gadget/g1/configs/b.1/f7 + symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.rmnet.inst.name} /config/usb_gadget/g1/configs/b.1/f8 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,diag_mdm,diag_mdm2,qdss,qdss_mdm,serial_cdev,dpl,rmnet,adb && property:sys.usb.configfs=1 + start adbd + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=diag,diag_mdm,diag_mdm2,qdss,qdss_mdm,serial_cdev,dpl,rmnet,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_diag_mdm_diag_mdm2_qdss_qdss_mdm_dun_dpl_rmnet_adb" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x05C6 + write /config/usb_gadget/g1/idProduct 0x90F7 + write /config/usb_gadget/g1/functions/diag.diag/pid 0x90f7 + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag_mdm /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag_mdm2 /config/usb_gadget/g1/configs/b.1/f3 + symlink /config/usb_gadget/g1/functions/qdss.qdss /config/usb_gadget/g1/configs/b.1/f4 + symlink /config/usb_gadget/g1/functions/qdss.qdss_mdm /config/usb_gadget/g1/configs/b.1/f5 + symlink /config/usb_gadget/g1/functions/cser.dun.0 /config/usb_gadget/g1/configs/b.1/f6 + symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.dpl.inst.name} /config/usb_gadget/g1/configs/b.1/f7 + symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.rmnet.inst.name} /config/usb_gadget/g1/configs/b.1/f8 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=rndis,diag,diag_mdm,diag_mdm2,qdss,qdss_mdm,serial_cdev,dpl && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "rndis_diag_diag_mdm_diag_mdm2_qdss_qdss_mdm_dun_dpl" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x05C6 + write /config/usb_gadget/g1/idProduct 0x90F8 + symlink /config/usb_gadget/g1/functions/${vendor.usb.rndis.func.name}.rndis /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag_mdm /config/usb_gadget/g1/configs/b.1/f3 + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag_mdm2 /config/usb_gadget/g1/configs/b.1/f4 + symlink /config/usb_gadget/g1/functions/qdss.qdss /config/usb_gadget/g1/configs/b.1/f5 + symlink /config/usb_gadget/g1/functions/qdss.qdss_mdm /config/usb_gadget/g1/configs/b.1/f6 + symlink /config/usb_gadget/g1/functions/cser.dun.0 /config/usb_gadget/g1/configs/b.1/f7 + symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.dpl.inst.name} /config/usb_gadget/g1/configs/b.1/f8 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state rndis + +on property:sys.usb.config=rndis,diag,diag_mdm,diag_mdm2,qdss,qdss_mdm,serial_cdev,dpl,adb && property:sys.usb.configfs=1 + start adbd + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=rndis,diag,diag_mdm,diag_mdm2,qdss,qdss_mdm,serial_cdev,dpl,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "rndis_diag_diag_mdm_diag_mdm2_qdss_qdss_mdm_dun_dpl_adb" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x05C6 + write /config/usb_gadget/g1/idProduct 0x90F9 + symlink /config/usb_gadget/g1/functions/${vendor.usb.rndis.func.name}.rndis /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag_mdm /config/usb_gadget/g1/configs/b.1/f3 + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag_mdm2 /config/usb_gadget/g1/configs/b.1/f4 + symlink /config/usb_gadget/g1/functions/qdss.qdss /config/usb_gadget/g1/configs/b.1/f5 + symlink /config/usb_gadget/g1/functions/qdss.qdss_mdm /config/usb_gadget/g1/configs/b.1/f6 + symlink /config/usb_gadget/g1/functions/cser.dun.0 /config/usb_gadget/g1/configs/b.1/f7 + symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.dpl.inst.name} /config/usb_gadget/g1/configs/b.1/f8 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state rndis,adb + +on property:sys.usb.config=diag,diag_mdm,ccid && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_diag_mdm_ccid" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x05C6 + write /config/usb_gadget/g1/idProduct 0x9045 + write /config/usb_gadget/g1/functions/diag.diag/pid 0x9045 + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag_mdm /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/ccid.ccid /config/usb_gadget/g1/configs/b.1/f3 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,diag_mdm,adb,ccid && property:sys.usb.configfs=1 + start adbd + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=diag,diag_mdm,adb,ccid && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_diag_mdm_adb_ccid" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x05C6 + write /config/usb_gadget/g1/idProduct 0x9044 + write /config/usb_gadget/g1/functions/diag.diag/pid 0x9044 + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag_mdm /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f3 + symlink /config/usb_gadget/g1/functions/ccid.ccid /config/usb_gadget/g1/configs/b.1/f4 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,diag_cnss,serial_cdev,rmnet,dpl,qdss,adb && property:sys.usb.configfs=1 + start adbd + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=diag,diag_cnss,serial_cdev,rmnet,dpl,qdss,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_diag_cnss_dun_rmnet_dpl_qdss_adb" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x05C6 + write /config/usb_gadget/g1/idProduct 0x9110 + write /config/usb_gadget/g1/functions/diag.diag/pid 0x9110 + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag_mdm2 /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/cser.dun.0 /config/usb_gadget/g1/configs/b.1/f3 + symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.rmnet.inst.name} /config/usb_gadget/g1/configs/b.1/f4 + symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.dpl.inst.name} /config/usb_gadget/g1/configs/b.1/f5 + symlink /config/usb_gadget/g1/functions/qdss.${vendor.usb.qdss.inst.name} /config/usb_gadget/g1/configs/b.1/f6 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f7 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,diag_cnss,serial_cdev,rmnet,dpl,qdss && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_diag_cnss_dun_rmnet_dpl_qdss" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x05C6 + write /config/usb_gadget/g1/idProduct 0x9111 + write /config/usb_gadget/g1/functions/diag.diag/pid 0x9111 + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag_mdm2 /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/cser.dun.0 /config/usb_gadget/g1/configs/b.1/f3 + symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.rmnet.inst.name} /config/usb_gadget/g1/configs/b.1/f4 + symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.dpl.inst.name} /config/usb_gadget/g1/configs/b.1/f5 + symlink /config/usb_gadget/g1/functions/qdss.${vendor.usb.qdss.inst.name} /config/usb_gadget/g1/configs/b.1/f6 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/idVendor 0x18d1 + write /config/usb_gadget/g1/idProduct 0x4ee7 + +on property:sys.usb.config=mtp && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/idVendor 2717 + write /config/usb_gadget/g1/idProduct 0xff40 + +on property:sys.usb.config=mtp && property:vendor.usb.use_ffs_mtp=1 && property:sys.usb.configfs=1 + symlink /config/usb_gadget/g1/functions/ffs.mtp /config/usb_gadget/g1/configs/b.1/f1 + +on property:sys.usb.config=mtp,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/idVendor 0x2717 + write /config/usb_gadget/g1/idProduct 0xff48 + +on property:sys.usb.config=mtp,adb && property:vendor.usb.use_ffs_mtp=1 && property:sys.usb.configfs=1 + symlink /config/usb_gadget/g1/functions/ffs.mtp /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2 + +on property:sys.usb.config=ptp && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/idVendor 0x2717 + write /config/usb_gadget/g1/idProduct 0xff10 + +on property:sys.usb.config=ptp && property:vendor.usb.use_ffs_mtp=1 && property:sys.usb.configfs=1 + symlink /config/usb_gadget/g1/functions/ffs.ptp /config/usb_gadget/g1/configs/b.1/f1 + +on property:sys.usb.config=ptp,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/idVendor 0x2717 + write /config/usb_gadget/g1/idProduct 0xff18 + +on property:sys.usb.config=ptp,adb && property:vendor.usb.use_ffs_mtp=1 && property:sys.usb.configfs=1 + symlink /config/usb_gadget/g1/functions/ffs.ptp /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2 + +on property:sys.usb.config=accessory && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/idVendor 0x18d1 + write /config/usb_gadget/g1/idProduct 0x2d00 + +on property:sys.usb.config=accessory,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/idVendor 0x18d1 + write /config/usb_gadget/g1/idProduct 0x2d01 + +on property:sys.usb.config=audio_source && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/idVendor 0x18d1 + write /config/usb_gadget/g1/idProduct 0x2d02 + +on property:sys.usb.config=audio_source,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/idVendor 0x18d1 + write /config/usb_gadget/g1/idProduct 0x2d03 + +on property:sys.usb.config=accessory,audio_source && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/idVendor 0x18d1 + write /config/usb_gadget/g1/idProduct 0x2d04 + +on property:sys.usb.config=accessory,audio_source,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/idVendor 0x18d1 + write /config/usb_gadget/g1/idProduct 0x2d05 + +on property:sys.usb.config=midi && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/idVendor 0x18d1 + write /config/usb_gadget/g1/idProduct 0x4ee8 + +on property:sys.usb.config=midi,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/idVendor 0x18d1 + write /config/usb_gadget/g1/idProduct 0x4ee9 + +on property:vendor.usb.eud=1 + write /config/usb_gadget/g1/configs/b.1/MaxPower 1 + write /sys/module/eud/parameters/enable 1 + write /sys/kernel/debug/pmic-votable/USB_ICL/force_active 1 + write /sys/kernel/debug/pmic-votable/USB_ICL/force_val 500 + +on property:vendor.usb.eud=0 + write /sys/kernel/debug/pmic-votable/USB_ICL/force_active 0 + write /sys/kernel/debug/pmic-votable/USB_ICL/force_val 0 + write /config/usb_gadget/g1/configs/b.1/MaxPower 0 + write /sys/module/eud/parameters/enable 0 diff --git a/rootdir/etc/init.target.rc b/rootdir/etc/init.target.rc new file mode 100644 index 0000000..f1ae8d9 --- /dev/null +++ b/rootdir/etc/init.target.rc @@ -0,0 +1,377 @@ +# Copyright (c) 2013-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. +# +# + +import /vendor/etc/init/init.mi_thermald.rc +import /vendor/etc/init/init.batteryd.rc +import /vendor/etc/init/init.batterysecret.rc +import /vendor/etc/init/init.charge_logger.rc +import /vendor/etc/init/init.mishow.ctl.rc + +on early-init + exec u:r:vendor_modprobe:s0 -- /vendor/bin/modprobe -a -d /vendor/lib/modules audio_wglink audio_q6_pdr audio_q6_notifier audio_apr audio_adsp_loader audio_q6 audio_native audio_usf audio_pinctrl_wcd audio_swr audio_platform audio_hdmi audio_wcd_spi audio_stub audio_wcd_core audio_wsa881x audio_wcd9360 audio_hdmi audio_cs35l41 audio_tas2557 audio_tas256x audio_tfa98xx audio_machine_msmnile + write /proc/sys/kernel/sched_boost 1 + symlink /data/tombstones /tombstones + +on init + write /dev/stune/foreground/schedtune.sched_boost_no_override 1 + write /dev/stune/top-app/schedtune.sched_boost_no_override 1 + write /dev/stune/schedtune.colocate 0 + write /dev/stune/background/schedtune.colocate 0 + write /dev/stune/system-background/schedtune.colocate 0 + write /dev/stune/foreground/schedtune.colocate 0 + write /dev/stune/top-app/schedtune.colocate 1 + write /sys/module/qpnp_rtc/parameters/poweron_alarm 1 + wait /dev/block/platform/soc/1d84000.ufshc + symlink /dev/block/platform/soc/1d84000.ufshc /dev/block/bootdevice + #change owner of white led + chown system system /sys/class/leds/white/brightness + chown system system /sys/class/leds/white/breath + #change owner of green led + chown system system /sys/class/leds/green/brightness + chown system system /sys/class/leds/green/breath + +# Add a cpuset for the camera daemon +# We want all cores for camera + mkdir /dev/cpuset/camera-daemon + write /dev/cpuset/camera-daemon/cpus 0-7 + write /dev/cpuset/camera-daemon/mems 0 + chown cameraserver cameraserver /dev/cpuset/camera-daemon + chown cameraserver cameraserver /dev/cpuset/camera-daemon/tasks + chmod 0660 /dev/cpuset/camera-daemon/tasks + +on early-fs + start vold + +on fs + start hwservicemanager + mount_all /vendor/etc/fstab.qcom --early + chown root system /mnt/vendor/persist + chmod 0771 /mnt/vendor/persist + restorecon_recursive /mnt/vendor/persist + mkdir /mnt/vendor/persist/data 0700 system system + mkdir /mnt/vendor/persist/audio 0755 system system + chmod 644 /mnt/vendor/persist/audio/us_manual_cal + #+ add for watermark + mkdir /mnt/vendor/persist/camera 0777 root root + mkdir /dev/logfs 0771 system system + mount vfat /dev/block/bootdevice/by-name/logfs /dev/logfs noatime umask=006,uid=1000,gid=1000 + chown system system /dev/tiload_node + chmod 660 /dev/tiload_node + + mkdir /mnt/vendor/persist/subsys 0770 root system + +on post-fs + # set RLIMIT_MEMLOCK to 64MB + setrlimit 8 67108864 67108864 + + start vendor.spdaemon + start vendor.sec_nvm + +on late-fs + wait_for_prop hwservicemanager.ready true + exec_start wait_for_keymaster + mount_all /vendor/etc/fstab.qcom --late + +on post-fs-data + mkdir /vendor/data/tombstones 0771 system system + mkdir /tombstones/modem 0771 system system + mkdir /tombstones/lpass 0771 system system + mkdir /tombstones/wcnss 0771 system system + mkdir /tombstones/dsps 0771 system system + mkdir /data/vendor/hbtp 0750 system system + mkdir /data/vendor/nnhal 0700 system system + chmod 0644 /dev/elliptic0 + chmod 0644 /dev/elliptic1 + mkdir /data/vendor/misc/display 0771 system system + mkdir /data/vendor/nfc 0770 nfc nfc + chmod 666 /sys/class/drm/card0-DSI-1/disp_count + chown system system /sys/class/drm/card0-DSI-1/dim_alpha + chown system system /sys/class/drm/card0-DSI-1/fod_ui_ready + chown system system /sys/class/drm/card0-DSI-1/dim_layer_enable + + mkdir /data/vendor/thermal 0771 root system + mkdir /data/vendor/thermal/config 0771 root system + + chown system system /dev/tfa_reg + chown system system /dev/tfa_rw + chown system system /dev/tfa_rpc + chown system system /dev/tfa_control + chmod 0660 /dev/tfa_reg + chmod 0660 /dev/tfa_rw + chmod 0660 /dev/tfa_rpc + chmod 0660 /dev/tfa_control + +on property:ro.boot.dp=0x0 + write /sys/bus/platform/devices/c440000.qcom,spmi:qcom,pm8150@0:qcom,power-on@800/pshold_reboot 7 + +on early-boot + start vendor.sensors + +# For cpusets initialize for Silver Only first and then Silver + Gold +# Silver Only configuration cannot work with 0-7 +on boot + chown system system /sys/kernel/hbtp/display_pwr + chown system system /sys/kernel/qvr_external_sensor/fd + chown system system /sys/class/drm/card0-DSI-1/doze_backlight + start rmt_storage + start rfs_access + write /dev/cpuset/top-app/cpus 0-3 + write /dev/cpuset/audio-app/cpus 1-2 + write /dev/cpuset/foreground/cpus 0-3 + write /dev/cpuset/foreground/boost/cpus 0-3 + write /dev/cpuset/background/cpus 0-3 + write /dev/cpuset/system-background/cpus 0-3 + write /dev/cpuset/top-app/cpus 0-7 + write /dev/cpuset/foreground/cpus 0-7 + write /dev/cpuset/foreground/boost/cpus 0-7 + write /dev/cpuset/background/cpus 0-7 + write /dev/cpuset/system-background/cpus 0-7 + + chown system system /sys/class/thermal/thermal_message/sconfig + + + chown system system /proc/tp_selftest + chown system system /sys/class/touch/touch_dev/palm_sensor + +# Add a cpuset for the camera daemon +# We want all cores for camera + mkdir /dev/cpuset/camera-daemon + write /dev/cpuset/camera-daemon/cpus 0-7 + write /dev/cpuset/camera-daemon/mems 0 + chown cameraserver cameraserver /dev/cpuset/camera-daemon + chown cameraserver cameraserver /dev/cpuset/camera-daemon/tasks + chmod 0660 /dev/cpuset/camera-daemon/tasks + +#palm_sensor + chown system system /sys/class/touch/touch_dev/palm_sensor + + chown system system /sys/class/backlight/panel0-backlight/brightness_clone + chown system system /dev/lirc0 + chmod 0660 /dev/lirc0 +#USB controller configuration + setprop vendor.usb.rndis.func.name "gsi" + setprop vendor.usb.rmnet.func.name "gsi" + setprop vendor.usb.rmnet.inst.name "rmnet" + setprop vendor.usb.dpl.inst.name "dpl" + setprop vendor.usb.qdss.inst.name "qdss" + setprop vendor.usb.controller a600000.dwc3 + setprop sys.usb.configfs 1 + +on property:vendor.display.lcd_density=560 + setprop dalvik.vm.heapgrowthlimit 256m + +on property:vendor.display.lcd_density=640 + setprop dalvik.vm.heapgrowthlimit 512m + +on boot && property:persist.vendor.usb.controller.default=* + setprop vendor.usb.controller ${persist.vendor.usb.controller.default} + +on property:vendor.usb.controller=* + setprop sys.usb.controller ${vendor.usb.controller} + +#Load WLAN driver + insmod /vendor/lib/modules/qca_cld3_wlan.ko + +#pd-mapper +service vendor.pd_mapper /vendor/bin/pd-mapper + class core + user system + group system + +#Peripheral manager +service vendor.per_mgr /vendor/bin/pm-service + class core + user system + group system + ioprio rt 4 + +service vendor.per_proxy /vendor/bin/pm-proxy + class core + user system + group system + disabled + +on property:init.svc.vendor.per_mgr=running + start vendor.per_proxy + +on property:sys.shutdown.requested=* + stop vendor.per_proxy + +on charger + mkdir /mnt/vendor/persist + chown root system /mnt/vendor/persist + chmod 0771 /mnt/vendor/persist + mkdir /mnt/vendor/persist/subsys 0770 root system + start vendor.power_off_alarm + setprop sys.usb.controller a600000.dwc3 + setprop sys.usb.configfs 1 + start leds-sh + +service vendor.spdaemon /vendor/bin/spdaemon + class core + user system + group system + shutdown critical + +service vendor.sec_nvm /vendor/bin/sec_nvm + class core + user system + group system + +service vendor.thermal-engine /vendor/bin/thermal-engine + class main + user root + socket thermal-send-client stream 0666 system system + socket thermal-recv-client stream 0660 system system + socket thermal-recv-passive-client stream 0666 system system + socket thermal-send-rule stream 0660 system system + group root + +service vendor.mdm_helper /vendor/bin/mdm_helper + class core + group system wakelock + disabled + +service vendor.mdm_launcher /vendor/bin/sh /vendor/bin/init.mdm.sh + class main + oneshot + + +on property:vold.decrypt=trigger_restart_framework + start cnss_diag + +service cnss_diag /system/vendor/bin/cnss_diag -q -f -t HELIUM + class main + user system + group system wifi inet sdcard_rw media_rw diag + oneshot + +service vendor.energy-awareness /vendor/bin/energy-awareness + class main + user system + group system + oneshot + +service displayfeature /system/bin/displayfeature + class late_start + user root + group root + +service displaycount /vendor/bin/displaycount + class late_start + user system + group system + oneshot + disabled + +on property:sys.boot_completed=1 + start displaycount + +on property:init.svc.surfaceflinger=stopped + stop displayfeature + +on property:init.svc.surfaceflinger=running + start displayfeature + +on property:init.svc.surfaceflinger=restarting + stop displayfeature + +service panel-info-sh /system/vendor/bin/sh /vendor/etc/init.panel_info.sh + class core + user root + oneshot + +service leds-sh /system/vendor/bin/sh /vendor/etc/init.leds.sh + class core + user root + oneshot + +service nv_mac /vendor/bin/nv_mac + class late_start + user system + group system inet net_admin wifi net_raw + oneshot + +service dcvs-sh /vendor/bin/init.qti.dcvs.sh + class late_start + user root + group root system + disabled + oneshot + +on property:vendor.dcvs.prop=1 + start dcvs-sh + +service audioshell_service /vendor/bin/audioshell_service + oneshot + disabled + +on property:ro.vendor.miui.region=* + start audioshell_service + +on property:vendor.audio.cit.spkcal.copy=true + copy /data/vendor/cit/tas2557_cal.bin /mnt/vendor/persist/audio/tas2557_cal.bin + copy /data/vendor/cit/tas2557_cal.txt /mnt/vendor/persist/audio/tas2557_cal.txt + copy /data/vendor/cit/tas2557_chk.txt /mnt/vendor/persist/audio/tas2557_chk.txt + chmod 666 /mnt/vendor/persist/audio/tas2557_cal.bin + chmod 666 /mnt/vendor/persist/audio/tas2557_cal.txt + chmod 666 /mnt/vendor/persist/audio/tas2557_chk.txt + copy /data/vendor/cit/cs35l41_cal.bin /mnt/vendor/persist/audio/cs35l41_cal.bin + copy /data/vendor/cit/cs35l41_cal.txt /mnt/vendor/persist/audio/cs35l41_cal.txt + chmod 666 /mnt/vendor/persist/audio/cs35l41_cal.bin + chmod 666 /mnt/vendor/persist/audio/cs35l41_cal.txt + copy /data/vendor/cit/tfa9894_chk.txt /mnt/vendor/persist/audio/tfa9894_chk.txt + chmod 666 /mnt/vendor/persist/audio/tfa9894_chk.txt + copy /data/vendor/cit/tas25xx_calib.bin /mnt/vendor/persist/audio/tas25xx_calib.bin + copy /data/vendor/cit/tas2559_cal.txt /mnt/vendor/persist/audio/tas2559_cal.txt + chmod 666 /mnt/vendor/persist/audio/tas25xx_calib.bin + chmod 666 /mnt/vendor/persist/audio/tas2559_cal.txt +service remosaic_daemon /system/vendor/bin/remosaic_daemon + class late_start + user camera + group camera + + +on post-fs-data + chmod 0666 /dev/migt + restorecon /dev/migt + chmod 0777 /sys/module/migt/parameters/migt_freq + restorecon /sys/module/migt/parameters/migt_freq + chmod 0777 /sys/module/migt/parameters/migt_ms + restorecon /sys/module/migt/parameters/migt_ms + chmod 0777 /sys/module/migt/parameters/migt_thresh + restorecon /sys/module/migt/parameters/migt_thresh + chmod 0777 /sys/module/migt/parameters/boost_policy + restorecon /sys/module/migt/parameters/boost_policy + chmod 0777 /sys/module/migt/parameters/fps_variance_ratio + restorecon /sys/module/migt/parameters/fps_variance_ratio + chmod 0777 /sys/module/migt/parameters/super_task_max_num + restorecon /sys/module/migt/parameters/super_task_max_num + chmod 0777 /sys/module/migt/parameters/migt_ceiling_freq + restorecon /sys/module/migt/parameters/migt_ceiling_freq diff --git a/rootdir/etc/ueventd.qcom.rc b/rootdir/etc/ueventd.qcom.rc new file mode 100644 index 0000000..1c773b5 --- /dev/null +++ b/rootdir/etc/ueventd.qcom.rc @@ -0,0 +1,487 @@ +# Copyright (c) 2012-2015, 2017-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 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. +# + +# Firmware directory Path +# Below macro will be read by uevent and path will +# be added to search path for firmware loading +firmware_directories /vendor/firmware_mnt/image/ + +# the DIAG device node is not world writable/readable. +/dev/diag 0660 system oem_2901 +/dev/mhi_*_pipe_4 0660 system system + +/dev/xlog 0660 system audio + +/dev/genlock 0666 system system +/dev/wlan 0660 wifi wifi +/dev/kgsl 0666 system system +/dev/kgsl-3d0 0666 system system +/dev/kgsl-2d0 0666 root root +/dev/kgsl-2d1 0666 root root +/dev/ion 0664 system system +/dev/membuf 0664 system system +/dev/rtc0 0660 system system +/dev/smd0 0660 system system +/dev/smd4 0660 system system +/dev/smd_cxm_qmi 0640 radio radio +/dev/smd5 0660 system system +/dev/smd6 0660 system system +/dev/smd7 0660 bluetooth bluetooth +/dev/ccid_bridge 0660 system system +/dev/ipa 0660 radio radio +/dev/wwan_ioctl 0660 radio radio +/dev/ipaNatTable 0660 radio radio +/dev/rmnet_ctrl 0660 usb usb +/dev/dpl_ctrl 0660 usb usb +/dev/ipa_odl_ctl 0660 radio radio +/dev/ipa_adpl 0660 system oem_2905 +/dev/synx_device 0660 root camera +/dev/hab 0666 system system +/dev/iio:device* 0664 system system + +#permissions for UFS RPMB BSG device node +/dev/0:0:0:49476 0600 system system + +#permissions for CSVT +/dev/smd11 0660 radio radio + +#permsissions for BT/FM +/dev/smd2 0660 bluetooth bluetooth +/dev/smd3 0660 bluetooth bluetooth +/dev/btpower 0660 bluetooth system + +#permissions for pta +/dev/pta 0660 system system + +/dev/radio0 0640 system system +/dev/rfcomm0 0660 bluetooth bluetooth +/dev/ttyUSB0 0660 bluetooth bluetooth +/dev/smdcntl0 0640 radio radio +/dev/smdcntl1 0640 radio radio +/dev/smdcntl2 0640 radio radio +/dev/smdcntl3 0640 radio radio +/dev/smdcntl4 0640 radio radio +/dev/smdcntl5 0640 radio radio +/dev/smdcntl6 0640 radio radio +/dev/smdcntl7 0640 radio radio +/dev/smdcntl8 0640 radio radio +/dev/smdcnt_rev0 0640 radio radio +/dev/smdcnt_rev1 0640 radio radio +/dev/smdcnt_rev2 0640 radio radio +/dev/smdcnt_rev3 0640 radio radio +/dev/smdcnt_rev4 0640 radio radio +/dev/smdcnt_rev5 0640 radio radio +/dev/smdcnt_rev6 0640 radio radio +/dev/smdcnt_rev7 0640 radio radio +/dev/smdcnt_rev8 0640 radio radio +/dev/smuxctl32 0640 radio radio +/dev/sdioctl0 0640 radio radio +/dev/sdioctl1 0640 radio radio +/dev/sdioctl2 0640 radio radio +/dev/sdioctl3 0640 radio radio +/dev/sdioctl4 0640 radio radio +/dev/sdioctl5 0640 radio radio +/dev/sdioctl6 0640 radio radio +/dev/sdioctl7 0640 radio radio +/dev/sdioctl8 0640 radio radio +/dev/rmnet_mux_ctrl 0640 radio radio +/dev/hsicctl0 0640 radio radio +/dev/hsicctl1 0640 radio radio +/dev/hsicctl2 0640 radio radio +/dev/hsicctl3 0640 radio radio +/dev/hsicctl4 0640 radio radio +/dev/hsicctl5 0640 radio radio +/dev/hsicctl6 0640 radio radio +/dev/hsicctl7 0640 radio radio +/dev/hsicctl8 0640 radio radio +/dev/hsicctl9 0640 radio radio +/dev/hsicctl10 0640 radio radio +/dev/hsicctl11 0640 radio radio +/dev/hsicctl12 0640 radio radio +/dev/hsicctl13 0640 radio radio +/dev/hsicctl14 0640 radio radio +/dev/hsicctl15 0640 radio radio +/dev/hsicctl16 0640 radio radio +/dev/mhi_*_pipe_14 0640 radio radio +/dev/mhi_*_pipe_16 0640 radio radio +/dev/mhi_*_pipe_32 0640 radio radio +/dev/at_usb0 0640 radio radio +/dev/at_mdm0 0640 radio radio +/dev/video* 0660 system camera +/dev/cvp* 0660 system camera +/dev/media* 0660 system camera +/dev/v4l-subdev* 0660 system camera +/dev/qseecom 0660 system drmrpc +/dev/qce 0660 system drmrpc +/dev/smcinvoke 0660 system drmrpc +/dev/qsee_ipc_irq_spss 0660 system drmrpc +/dev/seemplog 0660 system system +/dev/pft 0660 system drmrpc +/dev/spcom 0660 system system +/dev/spss_utils 0660 system system +/dev/sp_kernel 0660 system system +/dev/sp_nvm 0660 system system +/dev/sp_ssr 0660 system system +/dev/sp_keymaster 0660 system system +/dev/sp_keymaster_ssr 0660 system system +/dev/sec_nvm_* 0660 system system +/dev/cryptoapp 0660 system system +/dev/spdaemon_ssr 0660 system system +/dev/spu_hal_ssr 0660 system system +/dev/iuicc* 0660 system system +/dev/gemini0 0660 system camera +/dev/jpeg0 0660 system camera +/dev/jpeg1 0660 system camera +/dev/jpeg2 0660 system camera +/dev/jpeg3 0660 system camera +/dev/adsprpc-smd 0664 system system +/dev/adsprpc-smd-secure 0644 system system +/dev/system_health_monitor 0644 radio system +/dev/mdss_rotator 0664 system system + +#QDSS +/dev/byte-cntr 0660 system oem_2902 +/dev/mhi_qdss 0660 system oem_2902 +/sys/class/qdss_bridge/mhi_qdss mode 0660 system oem_2902 + +#qg +/dev/qg 0660 system system +/dev/qg_battery 0660 system system + +# Elliptic +/dev/elliptic0 0644 system system +/dev/elliptic1 0644 system system + +#qvr +/dev/qvr_external_sensor_ioctl 0660 system system +/sys/kernel/qvr_external_sensor/fd 0660 system system + +# wlan +/dev/wcnss_wlan 0660 system system +/dev/wcnss_ctrl 0660 system system +/sys/devices/soc/a000000.qcom,wcnss-wlan/net/wlan0/queues/rx-* rps_cpus 0660 system system +/sys/devices/soc/a000000.qcom,wcnss-wlan/net/p2p0/queues/rx-* rps_cpus 0660 system system +/sys/devices/platform/soc/18800000.qcom,icnss/net/wlan*/queues/rx-* rps_cpus 0660 system system +/sys/devices/platform/soc/1c00000.qcom,pcie/pci0000:00/0000:00:00.0/0000:01:00.0/net/wlan*/queues/rx-* rps_cpus 0660 system system +/dev/spidev0.0 0660 system audio +/dev/i2c-7 0660 system audio +/dev/msm_camera/* 0660 system camera +/dev/gemini/ 0660 system camera +/dev/mercury0 0660 system camera +/dev/msm_vidc_reg 0660 system audio +/dev/msm_vidc_dec 0660 system audio +/dev/msm_vidc_dec_sec 0660 system audio +/dev/msm_vidc_enc 0660 system audio +/dev/msm_rotator 0660 system system +/dev/hw_random 0600 root root +/dev/sdsprpc-smd 0660 system system + +#permissions for audio +/dev/wcd_dsp0_control 0660 system audio +/dev/wcd-dsp-glink 0660 system audio +/dev/audio_slimslave 0660 system audio +/dev/msm_qcelp 0660 system audio +/dev/msm_evrc 0660 system audio +/dev/msm_wma 0660 system audio +/dev/msm_wmapro 0660 system audio +/dev/msm_alac 0660 system audio +/dev/msm_ape 0660 system audio +/dev/msm_amrnb 0660 system audio +/dev/msm_amrwb 0660 system audio +/dev/msm_amrwbplus 0660 system audio +/dev/msm_aac 0660 system audio +/dev/msm_multi_aac 0660 system audio +/dev/msm_aac_in 0660 system audio +/dev/msm_qcelp_in 0660 system audio +/dev/msm_evrc_in 0660 system audio +/dev/msm_amrnb_in 0660 system audio +/dev/msm_amrwb_in 0660 system audio +/dev/msm_a2dp_in 0660 system audio +/dev/msm_ac3 0660 system audio +/dev/msm_audio_cal 0660 system audio +/dev/msm_hweffects 0660 system audio +/dev/msm_cad 0660 system audio +/dev/msm_fm 0660 system audio +/dev/msm_mvs 0660 system audio +/dev/msm_pcm_lp_dec 0660 system audio +/dev/msm_preproc_ctl 0660 system audio +/dev/msm_rtac 0660 system audio +/dev/msm_voicememo 0660 system audio +/dev/ttyHSL1 0660 system system +/dev/ttyHS1 0660 system system +/dev/mdm 0660 system radio +/sys/devices/virtual/smdpkt/smdcntl* open_timeout 0664 radio radio +/dev/sdio_tty_ciq_00 0660 system system +/dev/tty_sdio_00 0660 system system +/dev/ttyGS0 0660 system system +/dev/i2c-5 0660 media media +/dev/avtimer 0660 system audio +/dev/spidev2.0 0660 system audio + +# DVB devices +/dev/dvb/adapter0/demux* 0440 media media +/dev/dvb/adapter0/dvr* 0660 media media +/dev/dvb/adapter0/video* 0660 media media + +# Broadcast devices +/dev/tsc_mux0 0660 media media +/dev/tsc_ci0 0660 media media + +# sensors +/dev/sensors 0660 system system +/sys/devices/i2c-12/12-* pollrate_ms 0664 system system +/sys/devices/f9925000.i2c/i2c-0/0-* enable 0660 input system +/sys/devices/f9925000.i2c/i2c-0/0-* poll_delay 0660 input system +/sys/devices/soc.0/78b6000.i2c/i2c-0/0-* enable 0660 input system +/sys/devices/soc.0/78b6000.i2c/i2c-0/0-* poll_delay 0660 input system +/sys/devices/soc.0/78b6000.i2c/i2c-0/0-* enable_wakeup 0660 input system +/sys/devices/soc.0/78b6000.i2c/i2c-0/0-* max_latency 0660 input system +/sys/devices/soc.0/78b6000.i2c/i2c-0/0-* flush 0660 input system +/sys/devices/soc.0/78b6000.i2c/i2c-0/0-* calibrate 0660 input system +/sys/devices/soc.0/78b5000.i2c/i2c-1/1-* enable 0660 input system +/sys/devices/soc.0/78b5000.i2c/i2c-1/1-* poll_delay 0660 input system +/sys/devices/soc.0/78b5000.i2c/i2c-1/1-* enable_wakeup 0660 input system +/sys/devices/soc.0/78b5000.i2c/i2c-1/1-* max_latency 0660 input system +/sys/devices/soc.0/78b5000.i2c/i2c-1/1-* flush 0660 input system +/sys/devices/soc.0/78b5000.i2c/i2c-1/1-* calibrate 0660 input system +/sys/devices/virtual/optical_sensors/proximity ps_adc 0660 input system +/sys/devices/virtual/optical_sensors/proximity ps_poll_delay 0660 input system +/sys/devices/virtual/optical_sensors/lightsensor ls_auto 0660 input system +/sys/devices/virtual/optical_sensors/lightsensor ls_poll_delay 0660 input system +/sys/devices/virtual/input/input* poll 0660 input system +/sys/devices/virtual/input/input* pollrate_ms 0660 input system +/sys/devices/soc/78b7000.i2c/i2c-3/3-0020/input/input* secure_touch 0440 system drmrpc +/sys/devices/soc/78b7000.i2c/i2c-3/3-0020/input/input* secure_touch_enable 0660 system drmrpc +/sys/devices/soc/78b7000.i2c/i2c-3/3-0038/input/input* secure_touch 0440 system drmrpc +/sys/devices/soc/78b7000.i2c/i2c-3/3-0038/input/input* secure_touch_enable 0660 system drmrpc +/sys/devices/soc/78b7000.i2c/i2c-3/3-004b/input/input* secure_touch 0440 system drmrpc +/sys/devices/soc/78b7000.i2c/i2c-3/3-004b/input/input* secure_touch_enable 0660 system drmrpc +/sys/devices/soc/c179000.i2c/i2c-5/5-0020/input/input* secure_touch 0440 system drmrpc +/sys/devices/soc/c179000.i2c/i2c-5/5-0020/input/input* secure_touch_enable 0660 system drmrpc +/sys/devices/platform/soc/a98000.i2c/i2c-2/2-0020/input/input* secure_touch 0440 system drmrpc +/sys/devices/platform/soc/a98000.i2c/i2c-2/2-0020/input/input* secure_touch_enable 0660 system drmrpc +/sys/devices/platform/soc/a84000.i2c/i2c-2/2-0020/input/input* secure_touch 0440 system drmrpc +/sys/devices/platform/soc/a84000.i2c/i2c-2/2-0020/input/input* secure_touch_enable 0660 system drmrpc + +# GNSS Device premissions +/dev/gnss_sirf 0660 gps gps + +# laser sensor access +/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* do_flush 0660 system input + +# vm_bms +/dev/vm_bms 0660 system system +/dev/battery_data 0660 system system + +# wlan +/dev/wcnss_wlan 0660 system system +/dev/wcnss_ctrl 0660 system system +/sys/devices/soc/600000.qcom,pcie/pci0000:00/0000:00:00.0/0000:01:00.0/net/wlan0/queues/rx-* rps_cpus 0660 system system +/sys/devices/soc/600000.qcom,pcie/pci0000:00/0000:00:00.0/0000:01:00.0/net/p2p0/queues/rx-* rps_cpus 0660 system system + +# wigig +/sys/bus/pci/drivers/wil6210* 0000:01:00.0/wil6210/fst_link_loss 0660 wifi wifi +/sys/bus/pci/drivers/wil6210* 0000:01:00.0/wil6210/thermal_throttling 0660 system system +/sys/bus/pci/drivers/wil6210* 0000:01:00.0/wil6210/snr_thresh 0660 wifi wifi +/sys/bus/pci/drivers/wil6210* 0000:01:00.0/net/wigig0/queues/rx-0/rps_cpus 0660 system system +/sys/bus/pci/drivers/wil6210* 0000:01:00.0/net/wigig0/gro_flush_timeout 0660 system system +/sys/devices/virtual/net/bond0 queues/rx-0/rps_cpus 0660 system system + +#nfc permissions +/dev/nfc-nci 0660 nfc nfc +/dev/nq-nci 0660 nfc nfc +/dev/assd 0660 nfc nfc + +# UIO devices +/dev/uio0 0660 system system +/dev/uio1 0660 system system +/dev/uio2 0660 system system + +#spi ir nodes +/dev/ir_spi 0660 system system + +# SSR devices +/dev/subsys_* 0640 system system + +# Ultrasound device +/dev/usf1 0660 system system + +# Ramdump devices +/dev/ramdump* 0640 system system + +# Fingerprint device +/dev/qbt* 0660 system system +/sys/class/fts/touch_aoi aoi_set 0660 root system +/sys/class/fts/touch_aoi power_set 0660 root system + +#ImproveTouch device +/dev/hbtp_input 0660 system system +/dev/hbtp_vm 0660 system system + +# Add device block for FRP +/dev/block/platform/soc/7824900.sdhci/by-name/config 0600 system system +/dev/block/platform/soc/7464900.sdhci/by-name/frp 0600 system system +/dev/block/platform/soc/624000.ufshc/by-name/frp 0600 system system +/dev/block/platform/soc/1da4000.ufshc/by-name/frp 0600 system system +/dev/block/platform/soc/c0c4000.sdhci/by-name/frp 0600 system system +/dev/block/platform/soc/1d84000.ufshc/by-name/frp 0600 system system +/dev/block/platform/soc/7c4000.sdhci/by-name/frp 0600 system system +/dev/block/platform/soc/4744000.sdhci/by-name/frp 0600 system system +/dev/block/platform/soc/4804000.ufshc/by-name/frp 0600 system system + +# This is temporary while using SD card for initial bring-up +/dev/block/platform/soc/8804000.sdhci/by-name/frp 0600 system system + +# Kmsg device +/dev/kmsg 0620 root system + +# mius iio devices +/dev/iio:device* 0660 system system +/sys/devices/platform/us_prox.0/iio:device* buffer/enable 0600 system system +/sys/devices/platform/us_prox.0/iio:device* scan_elements/in_proximity_en 0600 system system +/sys/devices/platform/us_prox.0/iio:device* scan_elements/in_timestamp_en 0600 system system + +# LED class devices +/sys/class/leds/red delay_on 0640 system system +/sys/class/leds/red delay_off 0640 system system +/sys/class/leds/red breath 0640 system system +/sys/class/leds/red trigger 0640 system system +/sys/class/leds/green delay_on 0640 system system +/sys/class/leds/green delay_off 0640 system system +/sys/class/leds/green breath 0640 system system +/sys/class/leds/green trigger 0640 system system +/sys/class/leds/blue delay_on 0640 system system +/sys/class/leds/blue delay_off 0640 system system +/sys/class/leds/blue breath 0640 system system +/sys/class/leds/blue trigger 0640 system system + +# NPU device +/dev/msm_npu 0644 system system + +# USB role switch +/sys/class/dual_role_usb/* data_role 0660 system system +/sys/class/dual_role_usb/* power_role 0660 system system +/sys/class/dual_role_usb/* mode 0660 system system + +#Memory Offline +/sys/devices/system/memory/memory* state 0660 system system + +/sys/devices/virtual/hdcp/msm_hdcp min_level_change 0664 system graphics + +# sys-fs display +/sys/class/graphics/fb* hpd 0664 system graphics +/sys/class/graphics/fb* res_info 0664 system graphics +/sys/class/graphics/fb* vendor_name 0664 system graphics +/sys/class/graphics/fb* product_description 0664 system graphics +/sys/class/graphics/fb* video_mode 0664 system graphics +/sys/class/graphics/fb* format_3d 0664 system graphics +/sys/class/graphics/fb* s3d_mode 0664 system graphics +/sys/class/graphics/fb* dynamic_fps 0664 system graphics +/sys/class/graphics/fb* msm_fb_dfps_mode 0664 system graphics +/sys/class/graphics/fb* hdr_stream 0664 system graphics +/sys/class/graphics/fb* cec/enable 0664 system graphics +/sys/class/graphics/fb* cec/logical_addr 0664 system graphics +/sys/class/graphics/fb* cec/rd_msg 0664 system graphics +/sys/class/graphics/fb* pa 0664 system graphics +/sys/class/graphics/fb* cec/wr_msg 0600 system graphics +/sys/class/graphics/fb* hdcp/tp 0664 system graphics +/sys/class/graphics/fb* hdcp2p2/min_level_change 0660 system graphics +/sys/class/graphics/fb* hdmi_audio_cb 0600 audioserver audio + +/sys/class/graphics/fb* lineptr_value 0664 system graphics +/sys/class/graphics/fb* msm_fb_persist_mode 0664 system graphics + +/sys/class/graphics/fb0 idle_time 0664 system graphics +/sys/class/graphics/fb0 dynamic_fps 0664 system graphics +/sys/class/graphics/fb0 dyn_pu 0664 system graphics +/sys/class/graphics/fb0 modes 0664 system graphics +/sys/class/graphics/fb0 mode 0664 system graphics +/sys/class/graphics/fb0 msm_cmd_autorefresh_en 0664 system graphics +*/ + +#asm330 sensor +#common sensors files +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* buffer/enable 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* buffer/length 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* buffer/watermark 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* discharded_samples 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* current_timestamp_clock 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* hwfifo_flush 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* hwfifo_watermark 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* hwfifo_watermark_max 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* mount_matrix 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* name 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* sampling_frequency 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* sampling_frequency_available 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* scan_elements/in_timestamp_en 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* scan_elements/in_timestamp_index 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* scan_elements/in_timestamp_type 0664 system system + +# standard iio accel attributes +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* in_accel_scale_available 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* in_accel_x_raw 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* in_accel_x_scale 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* in_accel_y_raw 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* in_accel_y_scale 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* in_accel_z_raw 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* in_accel_z_scale 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* scan_elements/in_accel_x_en 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* scan_elements/in_accel_x_index 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* scan_elements/in_accel_x_type 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* scan_elements/in_accel_y_en 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* scan_elements/in_accel_y_index 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* scan_elements/in_accel_y_type 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* scan_elements/in_accel_z_en 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* scan_elements/in_accel_z_index 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* scan_elements/in_accel_z_type 0664 system system + +# standard iio gyro attributes +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* in_anglvel_scale_available 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* in_anglvel_x_raw 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* in_anglvel_x_scale 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* in_anglvel_y_raw 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* in_anglvel_y_scale 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* in_anglvel_z_raw 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* in_anglvel_z_scale 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* scan_elements/in_anglvel_x_en 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* scan_elements/in_anglvel_x_index 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* scan_elements/in_anglvel_x_type 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* scan_elements/in_anglvel_y_en 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* scan_elements/in_anglvel_y_index 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* scan_elements/in_anglvel_y_type 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* scan_elements/in_anglvel_z_en 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* scan_elements/in_anglvel_z_index 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* scan_elements/in_anglvel_z_type 0664 system system + + +# standard iio temp attributes +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* in_temp_offset 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* in_temp_raw 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* in_temp_scale 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* in_temp_scale_available 0664 system system diff --git a/system.prop b/system.prop new file mode 100644 index 0000000..c10ca19 --- /dev/null +++ b/system.prop @@ -0,0 +1,227 @@ + +# +# from device/qcom/qssi/system.prop +# +# +# system.prop for qssi +# + +rild.libpath=/vendor/lib64/libril-qc-hal-qmi.so +#rild.libargs=-d /dev/smd0 +persist.rild.nitz_plmn= +persist.rild.nitz_long_ons_0= +persist.rild.nitz_long_ons_1= +persist.rild.nitz_long_ons_2= +persist.rild.nitz_long_ons_3= +persist.rild.nitz_short_ons_0= +persist.rild.nitz_short_ons_1= +persist.rild.nitz_short_ons_2= +persist.rild.nitz_short_ons_3= +ril.subscription.types=NV,RUIM +DEVICE_PROVISIONED=1 +# Set network mode to (NR_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA, NR_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA) for 8+8 mode device on DSDS mode +ro.telephony.default_network=33,33 + +dalvik.vm.heapsize=36m +dev.pm.dyn_samplingrate=1 + +#ro.hdmi.enable=true +#persist.speaker.prot.enable=false +qcom.hw.aac.encoder=true +# +# system props for the cne module +# +persist.vendor.cne.feature=1 + +#system props for the MM modules +media.stagefright.enable-player=true +media.stagefright.enable-http=true +media.stagefright.enable-aac=true +media.stagefright.enable-qcp=true +media.stagefright.enable-fma2dp=true +media.stagefright.enable-scan=true +media.stagefright.thumbnail.prefer_hw_codecs=true +mmp.enable.3g2=true +media.aac_51_output_enabled=true +mm.enable.smoothstreaming=true +media.settings.xml=/vendor/etc/media_profiles_vendor.xml +#16777215 is decimal sum of supported codecs in AAL +#codecs:(PARSER_)AAC AC3 AMR_NB AMR_WB ASF AVI DTS FLV 3GP 3G2 MKV MP2PS MP2TS MP3 OGG QCP WAV FLAC AIFF APE DSD MOV MHAS +vendor.mm.enable.qcom_parser=16777215 +persist.mm.enable.prefetch=true + +#Netflix custom property +ro.netflix.bsp_rev=Q845-05000-1 + +# +# system props for the data modules +# +ro.vendor.use_data_netmgrd=true +persist.vendor.data.mode=concurrent + +#system props for time-services +persist.timed.enable=true + +# +# system prop for opengles version +# +# 196608 is decimal for 0x30000 to report version 3 +# 196609 is decimal for 0x30001 to report version 3.1 +# 196610 is decimal for 0x30002 to report version 3.2 +ro.opengles.version=196610 + +# +# System props for telephony +# System prop to turn on CdmaLTEPhone always +telephony.lteOnCdmaDevice=1 + +#Simulate sdcard on /data/media +# +persist.fuse_sdcard=true + +#System props for BT +ro.bluetooth.library_name=libbluetooth_qti.so +persist.vendor.btstack.aac_frm_ctl.enabled=true + +#system prop for RmNet Data +persist.rmnet.data.enable=true +persist.data.wda.enable=true +persist.data.df.dl_mode=5 +persist.data.df.ul_mode=5 +persist.data.df.agg.dl_pkt=10 +persist.data.df.agg.dl_size=4096 +persist.data.df.mux_count=8 +persist.data.df.iwlan_mux=9 +persist.data.df.dev_name=rmnet_usb0 + +#property to enable user to access Google WFD settings +persist.debug.wfd.enable=1 +##property to choose between virtual/external wfd display +persist.sys.wfd.virtual=0 + + +#property to enable HWC for VDS +debug.sf.enable_hwc_vds=1 + +#property to latch unsignaled buffer +debug.sf.latch_unsignaled=1 + +# enable tunnel encoding for amrwb +tunnel.audio.encode = true + +#enable voice path for PCM VoIP by default +use.voice.path.for.pcm.voip=true + +# system prop for NFC DT +ro.nfc.port=I2C + +#initialize QCA1530 detection +sys.qca1530=detect + +#Enable stm events +persist.debug.coresight.config=stm-events + +#hwui properties +ro.hwui.texture_cache_size=72 +ro.hwui.layer_cache_size=48 +ro.hwui.r_buffer_cache_size=8 +ro.hwui.path_cache_size=32 +ro.hwui.gradient_cache_size=1 +ro.hwui.drop_shadow_cache_size=6 +ro.hwui.texture_cache_flushrate=0.4 +ro.hwui.text_small_cache_width=1024 +ro.hwui.text_small_cache_height=1024 +ro.hwui.text_large_cache_width=2048 +ro.hwui.text_large_cache_height=1024 + +config.disable_rtt=true + +#Bringup properties +persist.sys.force_sw_gles=1 +persist.vendor.radio.atfwd.start=true +ro.kernel.qemu.gles=0 +qemu.hw.mainkeys=0 + +#Expose aux camera for below packages +vendor.camera.aux.packagelist=org.codeaurora.snapcam,com.xiaomi.cameratest,com.xiaomi.factory.mmi,com.xiaomi.runin + +#enable IZat OptInApp overlay +persist.vendor.overlay.izat.optin=rro + +# Property for backup NTP Server +persist.backup.ntpServer="0.pool.ntp.org" + +#Property to enable Mag filter +persist.vendor.sensors.enable.mag_filter=true + +#Partition source order for Product/Build properties pickup. +ro.product.property_source_order=odm,vendor,product,system_ext,system + +#Property to enable Codec2 for audio and OMX for Video +debug.stagefright.ccodec=1 + +#Property to set native recorder's maximum base layer fps +ro.media.recorder-max-base-layer-fps = 60 + +#button jack mode & switch +persist.audio.button_jack.profile=volume +persist.audio.button_jack.switch=0 + +# system props for the dpm module +persist.vendor.dpm.feature=1 + +#close flex mapping +persist.radio.flexmap_type=none + +#In the taper mode, low voltage charging +persist.vendor.cp.taper_term_mv=7000 + +#Set fcc_main to 400mA to avoid the risk of vph_pwr droop +persist.vendor.cp.fcc_main_ua=400000 + +#set vfloat_offset_uv +persist.vendor.cp.qc3p5_vfloat_offset_uv=110000 + +#Enable sd log +persist.service.sdlog.enable=1 + +#Battery Property +ro.charger.enable_suspend = 1 + +# prop for show gnss support +ro.config.gnss.support=GPS,NavIC,BeiDou,GLONASS,Galileo +# end of device/qcom/qssi/system.prop + +# +# from device/qcom/qssi/system_sm8150.prop +# +#Netflix custom property +ro.netflix.bsp_rev=Q855-16947-1 +# end of device/qcom/qssi/system_sm8150.prop + +# +# from device/qcom/qssi/system_vayu.prop +# +# sync prop from sm8150_common/system.prop for qssi j20s +vendor.mm.enable.qcom_parser=63963135 + +#snapdragon value add features +ro.qc.sdk.audio.ssr=false + +##fluencetype can be "fluence" or "fluencepro" or "none" +ro.qc.sdk.audio.fluencetype=none +persist.audio.fluence.voicecall=true +persist.audio.fluence.voicerec=false +persist.audio.fluence.speaker=true + +#Buffer size in kbytes for compress offload playback +audio.offload.buffer.size.kb=32 + +#Enable offload audio video playback by default +av.offload.enable=true + +#enable dsp gapless mode by default +audio.offload.gapless.enabled=true +# end of device/qcom/qssi/system_vayu.prop + +# diff --git a/vendor.qti.gnss@4.0-service.xml b/vendor.qti.gnss@4.0-service.xml new file mode 100644 index 0000000..0ec38c5 --- /dev/null +++ b/vendor.qti.gnss@4.0-service.xml @@ -0,0 +1,19 @@ + + + + vendor.qti.gnss + hwbinder + @1.2::ILocHidlGnss/gnss_vendor + @2.1::ILocHidlGnss/gnss_vendor + @3.0::ILocHidlGnss/gnss_vendor + @4.0::ILocHidlGnss/gnss_vendor + + + android.hardware.gnss + hwbinder + @1.0::IGnss/gnss_vendor + + diff --git a/vendor.qti.hardware.display.allocator-service.xml b/vendor.qti.hardware.display.allocator-service.xml new file mode 100644 index 0000000..506c58b --- /dev/null +++ b/vendor.qti.hardware.display.allocator-service.xml @@ -0,0 +1,50 @@ + + + + android.hardware.graphics.allocator + hwbinder + 3.0 + 4.0 + + IAllocator + default + + + + vendor.qti.hardware.display.allocator + hwbinder + 3.0 + 4.0 + + IQtiAllocator + default + + + diff --git a/vendor.qti.hardware.servicetracker@1.2-service.xml b/vendor.qti.hardware.servicetracker@1.2-service.xml new file mode 100644 index 0000000..b685dfe --- /dev/null +++ b/vendor.qti.hardware.servicetracker@1.2-service.xml @@ -0,0 +1,16 @@ + + + + vendor.qti.hardware.servicetracker + hwbinder + 1.2 + + IServicetracker + default + + + diff --git a/vendor.qti.hardware.vibrator.service.xml b/vendor.qti.hardware.vibrator.service.xml new file mode 100644 index 0000000..df29ada --- /dev/null +++ b/vendor.qti.hardware.vibrator.service.xml @@ -0,0 +1,33 @@ + + + + android.hardware.vibrator + IVibrator/default + + diff --git a/vendor.xiaomi.hardware.micharge@1.0.xml b/vendor.xiaomi.hardware.micharge@1.0.xml new file mode 100644 index 0000000..f602960 --- /dev/null +++ b/vendor.xiaomi.hardware.micharge@1.0.xml @@ -0,0 +1,12 @@ + + + + vendor.xiaomi.hardware.micharge + hwbinder + 1.0 + + IMiCharge + default + + + diff --git a/vendor.xiaomi.hardware.misys@1.0.xml b/vendor.xiaomi.hardware.misys@1.0.xml new file mode 100644 index 0000000..1510521 --- /dev/null +++ b/vendor.xiaomi.hardware.misys@1.0.xml @@ -0,0 +1,38 @@ + + + + vendor.xiaomi.hardware.misys + hwbinder + 1.0 + + IMiSys + default + + + diff --git a/vendor.xiaomi.hardware.misys@2.0.xml b/vendor.xiaomi.hardware.misys@2.0.xml new file mode 100644 index 0000000..2e148db --- /dev/null +++ b/vendor.xiaomi.hardware.misys@2.0.xml @@ -0,0 +1,38 @@ + + + + vendor.xiaomi.hardware.misys + hwbinder + 2.0 + + IMiSys + default + + + diff --git a/vendor.xiaomi.hardware.misys@3.0.xml b/vendor.xiaomi.hardware.misys@3.0.xml new file mode 100644 index 0000000..df402fe --- /dev/null +++ b/vendor.xiaomi.hardware.misys@3.0.xml @@ -0,0 +1,38 @@ + + + + vendor.xiaomi.hardware.misys + hwbinder + 3.0 + + IMiSys + default + + + diff --git a/vendor_prop.mk b/vendor_prop.mk new file mode 100644 index 0000000..4a8aded --- /dev/null +++ b/vendor_prop.mk @@ -0,0 +1,181 @@ +PRODUCT_PROPERTY_OVERRIDES += \ + aaudio.hw_burst_min_usec=2000 \ + aaudio.mmap_exclusive_policy=2 \ + aaudio.mmap_policy=2 \ + camera.disable_zsl_mode=true \ + dalvik.vm.heapmaxfree=8m \ + dalvik.vm.heapminfree=512k \ + dalvik.vm.heapsize=512m \ + dalvik.vm.heapstartsize=8m \ + dalvik.vm.heaptargetutilization=0.75 \ + debug.egl.hw=0 \ + debug.mdpcomp.logs=0 \ + debug.sf.hw=0 \ + debug.stagefright.ccodec=1 \ + debug.stagefright.omx_default_rank=0 \ + drm.service.enabled=true \ + import /vendor/build_${ro.boot.product.hardware.sku}.prop \ + keyguard.no_require_sim=true \ + persist.backup.ntpServer=0.pool.ntp.org \ + persist.bluetooth.a2dp_offload.cap=sbc-aac-aptx-aptxhd-ldac \ + persist.bluetooth.a2dp_offload.disabled=false \ + persist.demo.hdmirotationlock=false \ + persist.radio.multisim.config=dsds \ + persist.sys.mcd_config_file=/system/etc/mcd_default.conf \ + persist.sys.offlinelog.kernel=false \ + persist.sys.offlinelog.logcat=false \ + persist.sys.offlinelog.logcatkernel=false \ + persist.sys.sf.color_saturation=1.0 \ + persist.vendor.audio.fluence.speaker=true \ + persist.vendor.audio.fluence.tmic.enabled=false \ + persist.vendor.audio.fluence.voicecall=true \ + persist.vendor.audio.fluence.voicecomm=true \ + persist.vendor.audio.fluence.voicerec=false \ + persist.vendor.audio.ras.enabled=false \ + persist.vendor.audio.ring.filter.mask=0 \ + persist.vendor.audio.voicecall.speaker.stereo=true \ + persist.vendor.bt.a2dp_offload_cap=sbc-aptx-aptxtws-aptxhd-aptxadaptive-aac-ldac \ + persist.vendor.bt.aac_frm_ctl.enabled=false \ + persist.vendor.dpmhalservice.enable=1 \ + persist.vendor.qcom.bluetooth.a2dp_offload_cap=sbc-aptx-aptxtws-aptxhd-aac-ldac-aptxadaptive \ + persist.vendor.qcom.bluetooth.aac_frm_ctl.enabled=true \ + persist.vendor.qcom.bluetooth.aac_vbr_ctl.enabled=false \ + persist.vendor.qcom.bluetooth.enable.splita2dp=true \ + persist.vendor.qcom.bluetooth.scram.enabled=true \ + persist.vendor.qcom.bluetooth.soc=cherokee \ + persist.vendor.qcom.bluetooth.twsp_state.enabled=false \ + persist.vendor.qcomsysd.enabled=1 \ + persist.vendor.qfp=false \ + persist.vendor.radio.apm_sim_not_pwdn=1 \ + persist.vendor.radio.custom_ecc=1 \ + persist.vendor.radio.enableadvancedscan=true \ + persist.vendor.radio.procedure_bytes=SKIP \ + persist.vendor.radio.rat_on=combine \ + persist.vendor.radio.sib16_support=1 \ + rild.libpath=/vendor/lib64/libril-qc-hal-qmi.so \ + ro.apex.updatable=true \ + ro.audio.monitorRotation=true \ + ro.audio.recording.hd=true \ + ro.bluetooth.a2dp_offload.supported=true \ + ro.carrier=unknown \ + ro.config.alarm_alert=Fireflies.ogg \ + ro.config.media_vol_default=100 \ + ro.config.media_vol_steps=150 \ + ro.config.notification_sound=WaterDrop_preview.ogg.ogg \ + ro.config.ringtone=MiRemix.ogg \ + ro.config.sms_delivered_sound=MessageSent.ogg \ + ro.config.sms_received_sound=WaterDrop_preview.ogg \ + ro.config.vc_call_vol_steps=11 \ + ro.control_privapp_permissions=enforce \ + ro.crypto.dm_default_key.options_format.version=2 \ + ro.crypto.volume.filenames_mode=aes-256-cts \ + ro.crypto.volume.metadata.method=dm-default-key \ + ro.frp.pst=/dev/block/bootdevice/by-name/frp \ + ro.gfx.driver.1=com.qualcomm.qti.gpudrivers.msmnile.api30 \ + ro.hardware.egl=adreno \ + ro.hardware.fp.sideCap=true \ + ro.hardware.fp.vendor=goodix,fpc \ + ro.hardware.vulkan=adreno \ + ro.incremental.enable=1 \ + ro.opengles.version=196610 \ + ro.vendor.audio.game.effect=true \ + ro.vendor.audio.ring.filter=true \ + ro.vendor.audio.scenario.support=true \ + ro.vendor.audio.sdk.fluencetype=fluence \ + ro.vendor.audio.sdk.ssr=false \ + ro.vendor.audio.sfx.earadj=true \ + ro.vendor.audio.sfx.scenario=true \ + ro.vendor.audio.sos=true \ + ro.vendor.audio.soundfx.type=mi \ + ro.vendor.audio.soundfx.usb=true \ + ro.vendor.audio.soundtrigger.cnn.adsp.level=27 \ + ro.vendor.audio.soundtrigger.cnn.level=27 \ + ro.vendor.audio.soundtrigger.gmm.adsp.level=50 \ + ro.vendor.audio.soundtrigger.gmm.level=50 \ + ro.vendor.audio.soundtrigger.gmm.user.adsp.level=10 \ + ro.vendor.audio.soundtrigger.gmm.user.level=10 \ + ro.vendor.audio.soundtrigger.lowpower=true \ + ro.vendor.audio.soundtrigger.training.level=50 \ + ro.vendor.audio.soundtrigger.vop.adsp.level=10 \ + ro.vendor.audio.soundtrigger.vop.level=10 \ + ro.vendor.audio.soundtrigger.xanzn.cnn.level=25 \ + ro.vendor.audio.soundtrigger.xanzn.gmm.level=45 \ + ro.vendor.audio.soundtrigger.xanzn.gmm.user.level=50 \ + ro.vendor.audio.soundtrigger.xanzn.vop.level=20 \ + ro.vendor.audio.soundtrigger.xatx.cnn.level.high=27 \ + ro.vendor.audio.soundtrigger.xatx.cnn.level.low=27 \ + ro.vendor.audio.soundtrigger.xatx.cnn.level.medium=27 \ + ro.vendor.audio.soundtrigger.xatx.gmm.level.high=50 \ + ro.vendor.audio.soundtrigger.xatx.gmm.level.low=50 \ + ro.vendor.audio.soundtrigger.xatx.gmm.level.medium=50 \ + ro.vendor.audio.soundtrigger.xatx.gmm.user.level.high=10 \ + ro.vendor.audio.soundtrigger.xatx.gmm.user.level.low=10 \ + ro.vendor.audio.soundtrigger.xatx.gmm.user.level.medium=10 \ + ro.vendor.audio.soundtrigger.xatx.vop.level.high=10 \ + ro.vendor.audio.soundtrigger.xatx.vop.level.low=10 \ + ro.vendor.audio.soundtrigger.xatx.vop.level.medium=10 \ + ro.vendor.audio.soundtrigger=sva \ + ro.vendor.audio.spk.clean=true \ + ro.vendor.audio.spk.stereo=true \ + ro.vendor.audio.surround.support=true \ + ro.vendor.audio.us.proximity=false \ + ro.vendor.audio.vocal.support=true \ + ro.vendor.audio.voice.change.support=true \ + ro.vendor.audio.voice.volume.boost=manual \ + ro.vendor.audio.xiaoaitongxue.aec=true \ + ro.vendor.bluetooth.wipower=false \ + ro.vendor.extension_library=libqti-perfd-client.so \ + ro.vendor.se.type=HCE,UICC \ + sys.haptic.down.normal=2 \ + sys.haptic.down.strong=5 \ + sys.haptic.down.weak=0 \ + sys.haptic.motor=zlinear \ + sys.haptic.runin=13 \ + sys.vendor.shutdown.waittime=500 \ + vendor.audio.adm.buffering.ms=6 \ + vendor.audio.dolby.ds2.enabled=false \ + vendor.audio.dolby.ds2.hardbypass=false \ + vendor.audio.enable.mirrorlink=false \ + vendor.audio.flac.sw.decoder.24bit=true \ + vendor.audio.hal.boot.timeout.ms=20000 \ + vendor.audio.hal.output.suspend.supported=false \ + vendor.audio.hw.aac.encoder=false \ + vendor.audio.offload.buffer.size.kb=32 \ + vendor.audio.offload.gapless.enabled=true \ + vendor.audio.offload.multiaac.enable=true \ + vendor.audio.offload.multiple.enabled=false \ + vendor.audio.offload.passthrough=false \ + vendor.audio.offload.track.enable=false \ + vendor.audio.parser.ip.buffer.size=262144 \ + vendor.audio.safx.pbe.enabled=false \ + vendor.audio.spkcal.copy.inhal=true \ + vendor.audio.tunnel.encode=false \ + vendor.audio.usb.disable.sidetone=true \ + vendor.audio.use.sw.alac.decoder=true \ + vendor.audio.use.sw.ape.decoder=true \ + vendor.audio.volume.headset.gain.depcal=true \ + vendor.audio_hal.in_period_size=144 \ + vendor.audio_hal.period_multiplier=3 \ + vendor.audio_hal.period_size=192 \ + vendor.display.comp_mask=0 \ + vendor.display.dataspace_saturation_matrix=1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0 \ + vendor.display.disable_decimation=1 \ + vendor.display.disable_excl_rect=0 \ + vendor.display.disable_hw_recovery_dump=1 \ + vendor.display.disable_inline_rotator=1 \ + vendor.display.disable_scaler=0 \ + vendor.display.disable_ui_3d_tonemap=1 \ + vendor.display.enable_default_color_mode=0 \ + vendor.display.enable_force_split=1 \ + vendor.display.enable_null_display=0 \ + vendor.display.enable_optimize_refresh=1 \ + vendor.gatekeeper.disable_spu=true \ + vendor.gralloc.disable_ubwc=0 \ + vendor.hw.fm.init=0 \ + vendor.mm.enable.qcom_parser=16777215 \ + vendor.power.pasr.enabled=false \ + vendor.qcom.bluetooth.soc=cherokee \ + vendor.usb.diag.func.name=diag \ + vendor.usb.use_ffs_mtp=0 \ + vendor.voice.path.for.pcm.voip=false \ + wifi.aware.interface=wifi-aware0 \