├── Android.bp ├── configs ├── sensors │ └── hals.conf ├── permissions │ └── privapp-permissions-hotword.xml ├── vintf │ └── c2_manifest_vendor.xml ├── nfc │ └── libnfc-nci.conf ├── gps │ ├── izat.conf │ └── gps.conf └── perf │ └── task_profiles.json ├── product.prop ├── overlay ├── OPlusTetheringResCommon │ ├── Android.bp │ ├── AndroidManifest.xml │ └── res │ │ └── values │ │ └── config.xml ├── OPlusSystemUIResCommon │ ├── Android.bp │ ├── res │ │ ├── drawable-nodpi │ │ │ └── udfps_icon_pressed.png │ │ └── values │ │ │ ├── integers.xml │ │ │ ├── dimens.xml │ │ │ └── config.xml │ └── AndroidManifest.xml ├── OPlusNfcResCommon │ ├── Android.bp │ ├── AndroidManifest.xml │ └── res │ │ └── values │ │ └── config.xml ├── OPlusFrameworksResCommon │ ├── Android.bp │ └── AndroidManifest.xml ├── OPlusSettingsResCommon │ ├── Android.bp │ ├── AndroidManifest.xml │ └── res │ │ └── values │ │ └── config.xml ├── AOSPAOPlusFrameworksResCommon │ ├── Android.bp │ ├── AndroidManifest.xml │ └── res │ │ └── values │ │ └── config.xml └── OPlusCarrierConfigResCommon │ ├── Android.bp │ └── AndroidManifest.xml ├── wifi ├── p2p_supplicant_overlay.conf ├── wpa_supplicant_overlay.conf └── WCNSS_qcom_cfg.ini ├── odm.prop ├── power ├── Android.bp └── power-feature.cpp ├── libinit ├── include │ ├── libinit_utils.h │ └── libinit_variant.h ├── Android.bp ├── libinit_variant.cpp ├── libinit_utils.cpp └── init_realme_kona.cpp ├── system_ext.prop ├── init ├── Android.bp ├── ueventd.oplus.rc ├── init.oplus.sh ├── fstab.qcom ├── init.target.rc └── init.oplus.rc ├── media └── media_codecs_vendor_audio.xml ├── setup-makefiles.sh ├── releasetools.py ├── reorder-libs.py ├── vendor.prop ├── compatibility_matrix.xml ├── extract-files.sh ├── BoardConfigCommon.mk ├── device_framework_matrix.xml ├── audio ├── audio_io_policy.conf ├── default_volume_tables.xml └── audio_effects.xml ├── Android.mk ├── common.mk └── manifest.xml /Android.bp: -------------------------------------------------------------------------------- 1 | soong_namespace { 2 | } 3 | -------------------------------------------------------------------------------- /configs/sensors/hals.conf: -------------------------------------------------------------------------------- 1 | sensors.ssc.so 2 | sensors.oplus.so 3 | -------------------------------------------------------------------------------- /product.prop: -------------------------------------------------------------------------------- 1 | # Fuse 2 | persist.sys.fuse.passthrough.enable=true 3 | 4 | # GMS 5 | ro.opa.device_model_id=ga-oplus-skill-os121-211011 6 | -------------------------------------------------------------------------------- /overlay/OPlusTetheringResCommon/Android.bp: -------------------------------------------------------------------------------- 1 | runtime_resource_overlay { 2 | name: "OPlusTetheringResCommon", 3 | vendor: true 4 | } 5 | -------------------------------------------------------------------------------- /overlay/OPlusSystemUIResCommon/Android.bp: -------------------------------------------------------------------------------- 1 | runtime_resource_overlay { 2 | name: "OPlusSystemUIResCommon", 3 | device_specific: true 4 | } 5 | -------------------------------------------------------------------------------- /wifi/p2p_supplicant_overlay.conf: -------------------------------------------------------------------------------- 1 | disable_scan_offload=1 2 | p2p_no_group_iface=1 3 | persistent_reconnect=1 4 | bss_max_count=400 5 | p2p_go_he=1 6 | -------------------------------------------------------------------------------- /odm.prop: -------------------------------------------------------------------------------- 1 | # Graphics 2 | debug.sf.high_fps_early_gl_phase_offset_ns=-2000000 3 | debug.sf.high_fps_late_sf_phase_offset_ns=-2000000 4 | 5 | # Media 6 | ro.odm.build.media_performance_class=30 7 | -------------------------------------------------------------------------------- /overlay/OPlusSystemUIResCommon/res/drawable-nodpi/udfps_icon_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AOSPA/android_device_realme_sm8250-common/HEAD/overlay/OPlusSystemUIResCommon/res/drawable-nodpi/udfps_icon_pressed.png -------------------------------------------------------------------------------- /overlay/OPlusNfcResCommon/Android.bp: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (C) 2023 Paranoid Android 3 | // SPDX-License-Identifier: Apache-2.0 4 | // 5 | 6 | runtime_resource_overlay { 7 | name: "OPlusNfcResCommon", 8 | vendor: true, 9 | } 10 | -------------------------------------------------------------------------------- /overlay/OPlusFrameworksResCommon/Android.bp: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (C) 2022 The LineageOS Project 3 | // SPDX-License-Identifier: Apache-2.0 4 | // 5 | 6 | runtime_resource_overlay { 7 | name: "OPlusFrameworksResCommon", 8 | device_specific: true, 9 | } 10 | -------------------------------------------------------------------------------- /overlay/OPlusSettingsResCommon/Android.bp: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (C) 2022 The LineageOS Project 3 | // SPDX-License-Identifier: Apache-2.0 4 | // 5 | 6 | runtime_resource_overlay { 7 | name: "OPlusSettingsResCommon", 8 | device_specific: true, 9 | } 10 | -------------------------------------------------------------------------------- /overlay/AOSPAOPlusFrameworksResCommon/Android.bp: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (C) 2022 Paranoid Android 3 | // SPDX-License-Identifier: Apache-2.0 4 | // 5 | 6 | runtime_resource_overlay { 7 | name: "AOSPAOPlusFrameworksResCommon", 8 | device_specific: true, 9 | } 10 | -------------------------------------------------------------------------------- /wifi/wpa_supplicant_overlay.conf: -------------------------------------------------------------------------------- 1 | disable_scan_offload=1 2 | p2p_disabled=1 3 | tdls_external_control=1 4 | wowlan_triggers=magic_pkt 5 | bss_max_count=512 6 | interworking=1 7 | hs20=1 8 | auto_interworking=0 9 | config_methods=virtual_display virtual_push_button keypad 10 | driver_param="no_rrm=1" 11 | -------------------------------------------------------------------------------- /overlay/OPlusCarrierConfigResCommon/Android.bp: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (C) 2023 Paranoid Android 3 | // SPDX-License-Identifier: Apache-2.0 4 | // 5 | 6 | runtime_resource_overlay { 7 | name: "OPlusCarrierConfigResCommon", 8 | aaptflags: ["--keep-raw-values"], 9 | product_specific: true, 10 | } 11 | -------------------------------------------------------------------------------- /power/Android.bp: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (C) 2023 Paranoid Android 3 | // 4 | // SPDX-License-Identifier: Apache-2.0 5 | // 6 | 7 | cc_library_static { 8 | name: "libpowerfeature_ext_realme_kona", 9 | srcs: ["power-feature.cpp"], 10 | shared_libs: [ 11 | "libbase", 12 | "vendor.aospa.power-V1-ndk", 13 | ], 14 | vendor: true, 15 | } 16 | -------------------------------------------------------------------------------- /libinit/include/libinit_utils.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2021 The LineageOS Project 3 | * 4 | * SPDX-License-Identifier: Apache-2.0 5 | */ 6 | 7 | #ifndef LIBINIT_UTILS_H 8 | #define LIBINIT_UTILS_H 9 | 10 | #include 11 | 12 | void property_override(std::string prop, std::string value, bool add = true); 13 | 14 | void set_ro_build_prop(const std::string &prop, const std::string &value, bool product = false); 15 | 16 | #endif // LIBINIT_UTILS_H 17 | -------------------------------------------------------------------------------- /overlay/OPlusFrameworksResCommon/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 8 | 9 | 13 | 14 | -------------------------------------------------------------------------------- /overlay/AOSPAOPlusFrameworksResCommon/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 8 | 9 | 13 | 14 | -------------------------------------------------------------------------------- /overlay/OPlusNfcResCommon/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 8 | 9 | 13 | 14 | -------------------------------------------------------------------------------- /overlay/OPlusSystemUIResCommon/res/values/integers.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 11 | 19 12 | 13 | 14 | -------------------------------------------------------------------------------- /overlay/OPlusSettingsResCommon/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 8 | 9 | 13 | 14 | -------------------------------------------------------------------------------- /overlay/OPlusSystemUIResCommon/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 8 | 9 | 13 | 14 | -------------------------------------------------------------------------------- /overlay/OPlusCarrierConfigResCommon/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 8 | 9 | 13 | 14 | -------------------------------------------------------------------------------- /overlay/OPlusTetheringResCommon/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 8 | 9 | 14 | 15 | -------------------------------------------------------------------------------- /system_ext.prop: -------------------------------------------------------------------------------- 1 | # Bluetooth 2 | persist.bluetooth.bqr.choppy_threshold=9,6 3 | persist.bluetooth.bqr.event_mask=0x8000000E 4 | persist.bluetooth.bqr.min_interval_ms=60000 5 | 6 | # Display 7 | persist.sys.brightness.low.gamma=true 8 | 9 | # GPS 10 | persist.backup.ntpServer=0.pool.ntp.org 11 | 12 | # Netflix 13 | ro.netflix.bsp_rev=Q8250-19134-1 14 | 15 | # Sensors 16 | persist.vendor.sensors.enable.mag_filter=true 17 | ro.sensor.pickup=android.sensor.tilt_detector 18 | ro.sensor.pickup.value=0 19 | ro.sensor.proximity=true 20 | 21 | # Vendor 22 | ro.vendor.qti.va_aosp.support=1 23 | -------------------------------------------------------------------------------- /libinit/include/libinit_variant.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2021 The LineageOS Project 3 | * 4 | * SPDX-License-Identifier: Apache-2.0 5 | */ 6 | 7 | #ifndef LIBINIT_VARIANT_H 8 | #define LIBINIT_VARIANT_H 9 | 10 | #include 11 | #include 12 | 13 | typedef struct variant_info { 14 | std::string prjversion_value; 15 | 16 | std::string device; 17 | std::string model; 18 | std::string name; 19 | 20 | std::string sku; 21 | } variant_info_t; 22 | 23 | void search_variant(const std::vector variants); 24 | 25 | void set_variant_props(const variant_info_t variant); 26 | 27 | #endif // LIBINIT_VARIANT_H 28 | -------------------------------------------------------------------------------- /libinit/Android.bp: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (C) 2022 The LineageOS Project 3 | // 4 | // SPDX-License-Identifier: Apache-2.0 5 | // 6 | 7 | cc_library_static { 8 | name: "libinit_realme_kona", 9 | srcs: [ 10 | "libinit_variant.cpp", 11 | "libinit_utils.cpp", 12 | ], 13 | whole_static_libs: ["libbase"], 14 | export_include_dirs: ["include"], 15 | recovery_available: true, 16 | } 17 | 18 | cc_library_static { 19 | name: "init_realme_kona", 20 | srcs: ["init_realme_kona.cpp"], 21 | whole_static_libs: ["libinit_realme_kona"], 22 | include_dirs: ["system/core/init"], 23 | recovery_available: true, 24 | } -------------------------------------------------------------------------------- /init/Android.bp: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (C) 2022 The LineageOS Project 3 | // SPDX-License-Identifier: Apache-2.0 4 | // 5 | 6 | prebuilt_etc { 7 | name: "fstab.qcom", 8 | src: "fstab.qcom", 9 | vendor: true, 10 | ramdisk_available: true, 11 | } 12 | 13 | prebuilt_etc { 14 | name: "init.oplus.rc", 15 | src: "init.oplus.rc", 16 | sub_dir: "init", 17 | device_specific: true, 18 | } 19 | 20 | prebuilt_etc { 21 | name: "init.target.rc", 22 | src: "init.target.rc", 23 | sub_dir: "init/hw", 24 | vendor: true, 25 | } 26 | 27 | prebuilt_etc { 28 | name: "ueventd.oplus.rc", 29 | filename: "ueventd.rc", 30 | src: "ueventd.oplus.rc", 31 | device_specific: true, 32 | } 33 | 34 | sh_binary { 35 | name: "init.oplus.sh", 36 | src: "init.oplus.sh", 37 | device_specific: true, 38 | } 39 | -------------------------------------------------------------------------------- /overlay/OPlusNfcResCommon/res/values/config.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | 20 | bitra 21 | bladerunner 22 | 23 | 24 | -------------------------------------------------------------------------------- /overlay/OPlusSystemUIResCommon/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 18 | 19 | 20 | 102dp 21 | 22 | 23 | 05sp 24 | 25 | -------------------------------------------------------------------------------- /libinit/libinit_variant.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2021 The LineageOS Project 3 | * 4 | * SPDX-License-Identifier: Apache-2.0 5 | */ 6 | 7 | #include 8 | #include 9 | #include 10 | 11 | #include 12 | 13 | using android::base::GetProperty; 14 | 15 | #define PRJVERSION_PROP "ro.boot.prj_version" 16 | #define SKU_PROP "ro.boot.hardware.sku" 17 | 18 | void search_variant(const std::vector variants) { 19 | std::string prjversion_value = GetProperty(PRJVERSION_PROP, ""); 20 | 21 | for (const auto& variant : variants) { 22 | if ((variant.prjversion_value == "" || variant.prjversion_value == prjversion_value)) { 23 | set_variant_props(variant); 24 | break; 25 | } 26 | } 27 | } 28 | 29 | void set_variant_props(const variant_info_t variant) { 30 | set_ro_build_prop("device", variant.device, true); 31 | set_ro_build_prop("model", variant.model, true); 32 | set_ro_build_prop("name", variant.name, true); 33 | property_override(SKU_PROP, variant.sku, true); 34 | } 35 | -------------------------------------------------------------------------------- /media/media_codecs_vendor_audio.xml: -------------------------------------------------------------------------------- 1 | 2 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /init/ueventd.oplus.rc: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (C) 2022 The LineageOS Project 3 | # 4 | # SPDX-License-Identifier: Apache-2.0 5 | # 6 | 7 | # Radio 8 | /dev/block/sde13 0660 root system 9 | /dev/block/sde15 0660 root system 10 | /dev/block/sdf4 0660 root system 11 | /dev/block/sdf6 0660 root system 12 | /dev/block/sdf8 0660 root system 13 | /dev/block/sdf10 0660 root system 14 | 15 | # Reserve 16 | /dev/block/bootdevice/by-name/oplusreserve1 0660 root system 17 | /dev/block/bootdevice/by-name/oplusreserve3 0660 root system 18 | /dev/block/bootdevice/by-name/oplusreserve5 0660 root system 19 | /dev/block/sdf13 0660 root system 20 | /dev/block/sdf15 0660 root system 21 | /dev/block/sdf17 0660 root system 22 | 23 | # WiFi 24 | firmware_directories /mnt/vendor/persist/copy/ /mnt/vendor/persist/ /odm/etc/wifi/ /vendor/firmware_mnt/image/qca6390/ 25 | -------------------------------------------------------------------------------- /init/init.oplus.sh: -------------------------------------------------------------------------------- 1 | #! /vendor/bin/sh 2 | # 3 | # Copyright (C) 2022 The LineageOS Project 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | 8 | prjname=`getprop ro.boot.prjname` 9 | 10 | # Radio 11 | if [ "$prjname" = "19705" ]; then 12 | setprop vendor.radio.multisim.config ssss 13 | else 14 | setprop vendor.radio.multisim.config dsds 15 | fi 16 | 17 | # Wifi 18 | persistbdf=`md5sum /mnt/vendor/persist/bdwlan.elf |cut -d" " -f1` 19 | persistRegdb=`md5sum /odm/etc/wifi/regdb.bin |cut -d" " -f1` 20 | vendorbdf=`md5sum /odm/etc/wifi/bdwlan.elf |cut -d" " -f1` 21 | vendorRegdb=`md5sum /mnt/vendor/persist/regdb.bin |cut -d" " -f1` 22 | 23 | if [ x"$vendorbdf" != x"$persistbdf" ]; then 24 | cp /odm/etc/wifi/bdwlan.elf /mnt/vendor/persist/bdwlan.elf 25 | sync 26 | echo "bdf check" 27 | fi 28 | 29 | if [ x"$vendorRegdb" != x"$persistRegdb" ]; then 30 | cp /odm/etc/wifi/regdb.bin /mnt/vendor/persist/regdb.bin 31 | sync 32 | echo "regdb check" 33 | fi 34 | 35 | chmod 666 /mnt/vendor/persist/bdwlan.elf 36 | chmod 666 /mnt/vendor/persist/regdb.bin 37 | chown system:wifi /mnt/vendor/persist/bdwlan.elf 38 | chown system:wifi /mnt/vendor/persist/regdb.bin 39 | -------------------------------------------------------------------------------- /overlay/OPlusSystemUIResCommon/res/values/config.xml: -------------------------------------------------------------------------------- 1 | 2 | 19 | 20 | 22 | 23 | 24 | 25 | #00ffffff 26 | 27 | 31 | 0 32 | 33 | 34 | -------------------------------------------------------------------------------- /setup-makefiles.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Copyright (C) 2016 The CyanogenMod Project 4 | # Copyright (C) 2017-2020 The LineageOS Project 5 | # 6 | # SPDX-License-Identifier: Apache-2.0 7 | # 8 | 9 | set -e 10 | 11 | # Load extract_utils and do some sanity checks 12 | MY_DIR="${BASH_SOURCE%/*}" 13 | if [[ ! -d "${MY_DIR}" ]]; then MY_DIR="${PWD}"; fi 14 | 15 | ANDROID_ROOT="${MY_DIR}/../../.." 16 | 17 | HELPER="${ANDROID_ROOT}/tools/extract-utils/extract_utils.sh" 18 | if [ ! -f "${HELPER}" ]; then 19 | echo "Unable to find helper script at ${HELPER}" 20 | exit 1 21 | fi 22 | source "${HELPER}" 23 | 24 | # Initialize the helper for common 25 | setup_vendor "${DEVICE_COMMON}" "${VENDOR}" "${ANDROID_ROOT}" true 26 | 27 | # Warning headers and guards 28 | write_headers "bitra bladerunner" 29 | 30 | # The standard common blobs 31 | write_makefiles "${MY_DIR}/proprietary-files.txt" true 32 | 33 | # Finish 34 | write_footers 35 | 36 | if [ -s "${MY_DIR}/../${DEVICE}/proprietary-files.txt" ]; then 37 | # Reinitialize the helper for device 38 | setup_vendor "${DEVICE}" "${VENDOR}" "${ANDROID_ROOT}" false 39 | 40 | # Warning headers and guards 41 | write_headers 42 | 43 | # The standard device blobs 44 | write_makefiles "${MY_DIR}/../${DEVICE}/proprietary-files.txt" true 45 | 46 | # Finish 47 | write_footers 48 | fi 49 | -------------------------------------------------------------------------------- /libinit/libinit_utils.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2021 The LineageOS Project 3 | * 4 | * SPDX-License-Identifier: Apache-2.0 5 | */ 6 | 7 | #define _REALLY_INCLUDE_SYS__SYSTEM_PROPERTIES_H_ 8 | #include 9 | #include 10 | 11 | #include 12 | 13 | void property_override(std::string prop, std::string value, bool add) { 14 | auto pi = (prop_info *) __system_property_find(prop.c_str()); 15 | if (pi != nullptr) { 16 | __system_property_update(pi, value.c_str(), value.length()); 17 | } else if (add) { 18 | __system_property_add(prop.c_str(), prop.length(), value.c_str(), value.length()); 19 | } 20 | } 21 | 22 | std::vector ro_props_default_source_order = { 23 | "odm.", 24 | "odm_dlkm.", 25 | "product.", 26 | "system.", 27 | "system_ext.", 28 | "vendor.", 29 | "vendor_dlkm.", 30 | "", 31 | }; 32 | 33 | void set_ro_build_prop(const std::string &prop, const std::string &value, bool product) { 34 | std::string prop_name; 35 | 36 | for (const auto &source : ro_props_default_source_order) { 37 | if (product) 38 | prop_name = "ro.product." + source + prop; 39 | else 40 | prop_name = "ro." + source + "build." + prop; 41 | 42 | property_override(prop_name, value, true); 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /configs/permissions/privapp-permissions-hotword.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /releasetools.py: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2009 The Android Open Source Project 2 | # Copyright (C) 2019 The Mokee Open Source Project 3 | # Copyright (C) 2019 The LineageOS Open Source Project 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | import common 18 | import re 19 | 20 | def FullOTA_InstallEnd(info): 21 | OTA_InstallEnd(info) 22 | return 23 | 24 | def IncrementalOTA_InstallEnd(info): 25 | OTA_InstallEnd(info) 26 | return 27 | 28 | def AddImage(info, basename, dest): 29 | name = basename 30 | data = info.input_zip.read("IMAGES/" + basename) 31 | common.ZipWriteStr(info.output_zip, name, data) 32 | info.script.AppendExtra('package_extract_file("%s", "%s");' % (name, dest)) 33 | 34 | def OTA_InstallEnd(info): 35 | info.script.Print("Patching firmware images...") 36 | AddImage(info, "vbmeta.img", "/dev/block/bootdevice/by-name/vbmeta") 37 | AddImage(info, "vbmeta_system.img", "/dev/block/bootdevice/by-name/vbmeta_system") 38 | AddImage(info, "vbmeta_vendor.img", "/dev/block/bootdevice/by-name/vbmeta_vendor") 39 | AddImage(info, "dtbo.img", "/dev/block/bootdevice/by-name/dtbo") 40 | return 41 | -------------------------------------------------------------------------------- /power/power-feature.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2023 Paranoid Android 3 | * 4 | * SPDX-License-Identifier: Apache-2.0 5 | */ 6 | 7 | #include 8 | #include 9 | #include 10 | #include 11 | 12 | #define GESTURE_ENABLE_PATH "/proc/touchpanel/double_tap_enable_indep" 13 | 14 | using ::android::base::ReadFileToString; 15 | using ::android::base::Trim; 16 | using ::android::base::WriteStringToFile; 17 | 18 | namespace aidl { 19 | namespace vendor { 20 | namespace aospa { 21 | namespace power { 22 | 23 | // based on values in touchpanel_common.h 24 | static const std::unordered_map GESTURE_MAP = { 25 | {Feature::DOUBLE_TAP, 1}, 26 | {Feature::DRAW_V, 2}, 27 | {Feature::DRAW_INVERSE_V, 3}, 28 | {Feature::DRAW_O, 6}, 29 | {Feature::DRAW_M, 12}, 30 | {Feature::DRAW_W, 13}, 31 | {Feature::DRAW_ARROW_LEFT, 5}, 32 | {Feature::DRAW_ARROW_RIGHT, 4}, 33 | {Feature::ONE_FINGER_SWIPE_UP, 11}, 34 | {Feature::ONE_FINGER_SWIPE_RIGHT, 8}, 35 | {Feature::ONE_FINGER_SWIPE_DOWN, 10}, 36 | {Feature::ONE_FINGER_SWIPE_LEFT, 9}, 37 | {Feature::TWO_FINGER_SWIPE, 7}, 38 | {Feature::DRAW_S, 18}, 39 | }; 40 | 41 | bool setDeviceSpecificFeature(Feature feature, bool enabled) { 42 | int contents = 0; 43 | auto gesture = GESTURE_MAP.find(feature); 44 | 45 | if (gesture == GESTURE_MAP.end()) { 46 | // Unsupported gesture 47 | return false; 48 | } 49 | 50 | if (std::string tmp; ReadFileToString(GESTURE_ENABLE_PATH, &tmp)) { 51 | contents = std::stoi(Trim(tmp), nullptr, 16); 52 | } 53 | 54 | if (enabled) { 55 | contents |= (1 << gesture->second); 56 | } else { 57 | contents &= ~(1 << gesture->second); 58 | } 59 | 60 | return WriteStringToFile(std::to_string(contents), GESTURE_ENABLE_PATH, true); 61 | } 62 | 63 | } // namespace power 64 | } // namespace aospa 65 | } // namespace vendor 66 | } // namespace aidl 67 | -------------------------------------------------------------------------------- /configs/vintf/c2_manifest_vendor.xml: -------------------------------------------------------------------------------- 1 | 28 | 29 | 30 | 31 | android.hardware.media.c2 32 | hwbinder 33 | 1.0 34 | 35 | IComponentStore 36 | default 37 | software 38 | ozoaudio 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /libinit/init_realme_kona.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2021 The LineageOS Project 3 | * 4 | * SPDX-License-Identifier: Apache-2.0 5 | */ 6 | 7 | #include 8 | 9 | #include "vendor_init.h" 10 | 11 | static const variant_info_t RMX2071_CN_info = { 12 | .prjversion_value = "19795", 13 | 14 | .device = "RMX2071CN", 15 | .model = "RMX2071", 16 | .name = "RMX2071", 17 | 18 | .sku = "bladerunner", 19 | }; 20 | 21 | static const variant_info_t RMX2075_GLOBAL_info = { 22 | .prjversion_value = "19705", 23 | 24 | .device = "RMX2075L1", 25 | .model = "RMX2075", 26 | .name = "RMX2075", 27 | 28 | .sku = "bladerunner", 29 | }; 30 | 31 | static const variant_info_t RMX2076_IN_info = { 32 | .prjversion_value = "19706", 33 | 34 | .device = "RMX2076L1", 35 | .model = "RMX2076", 36 | .name = "RMX2076", 37 | 38 | .sku = "bladerunner", 39 | }; 40 | 41 | static const variant_info_t RMX3370_CN_info = { 42 | .prjversion_value = "21619", 43 | 44 | .device = "RE5473", 45 | .model = "RMX3370", 46 | .name = "RMX3370", 47 | 48 | .sku = "bitra", 49 | }; 50 | 51 | static const variant_info_t RMX3370_CNLZ_info = { 52 | .prjversion_value = "136730", 53 | 54 | .device = "RE5473", 55 | .model = "RMX3370", 56 | .name = "RMX3370", 57 | 58 | .sku = "bitra", 59 | }; 60 | 61 | static const variant_info_t RMX3370_GLOBAL_info = { 62 | .prjversion_value = "136859", 63 | 64 | .device = "RE879AL1", 65 | .model = "RMX3370", 66 | .name = "RMX3370", 67 | 68 | .sku = "bitra", 69 | }; 70 | 71 | static const variant_info_t RMX3370_IN_info = { 72 | .prjversion_value = "136858", 73 | 74 | .device = "RE879AL1", 75 | .model = "RMX3370", 76 | .name = "RMX3370", 77 | 78 | .sku = "bitra", 79 | }; 80 | 81 | static const std::vector variants = { 82 | RMX2071_CN_info, 83 | RMX2075_GLOBAL_info, 84 | RMX2076_IN_info, 85 | RMX3370_CN_info, 86 | RMX3370_CNLZ_info, 87 | RMX3370_GLOBAL_info, 88 | RMX3370_IN_info, 89 | }; 90 | 91 | void vendor_load_properties() { 92 | search_variant(variants); 93 | } 94 | -------------------------------------------------------------------------------- /reorder-libs.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # 3 | # Copyright (C) 2021 The LineageOS Project 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | 8 | from functools import cmp_to_key 9 | from locale import LC_ALL, setlocale, strcoll 10 | from pathlib import Path 11 | 12 | FILES = [Path(file) for file in [ 13 | "proprietary-files.txt", 14 | ]] 15 | 16 | setlocale(LC_ALL, "C") 17 | 18 | def strcoll_extract_utils(string1: str, string2: str) -> int: 19 | # Skip logic if one of the string if empty 20 | if not string1 or not string2: 21 | return strcoll(string1, string2) 22 | 23 | # Remove '-' from strings if there, 24 | # it is used to indicate a build target 25 | string1 = string1.removeprefix('-') 26 | string2 = string2.removeprefix('-') 27 | 28 | # If no directories, compare normally 29 | if not "/" in string1 and not "/" in string2: 30 | return strcoll(string1, string2) 31 | 32 | string1_dir = string1.rsplit("/", 1)[0] + "/" 33 | string2_dir = string2.rsplit("/", 1)[0] + "/" 34 | if string1_dir == string2_dir: 35 | # Same directory, compare normally 36 | return strcoll(string1, string2) 37 | 38 | if string1_dir.startswith(string2_dir): 39 | # First string dir is a subdirectory of the second one, 40 | # return string1 > string2 41 | return -1 42 | 43 | if string2_dir.startswith(string1_dir): 44 | # Second string dir is a subdirectory of the first one, 45 | # return string2 > string1 46 | return 1 47 | 48 | # Compare normally 49 | return strcoll(string1, string2) 50 | 51 | for file in FILES: 52 | if not file.is_file(): 53 | print(f"File {str(file)} not found") 54 | continue 55 | 56 | with open(file, 'r') as f: 57 | sections = f.read().split("\n\n") 58 | 59 | ordered_sections = [] 60 | for section in sections: 61 | section_list = [line.strip() for line in section.splitlines()] 62 | section_list.sort(key=cmp_to_key(strcoll_extract_utils)) 63 | ordered_sections.append("\n".join(section_list)) 64 | 65 | with open(file, 'w') as f: 66 | f.write("\n\n".join(ordered_sections).strip() + "\n") 67 | -------------------------------------------------------------------------------- /vendor.prop: -------------------------------------------------------------------------------- 1 | # Bluetooth 2 | persist.bluetooth.a2dp_offload.cap=sbc-aac-aptx-aptxhd-ldac 3 | persist.bluetooth.a2dp_offload.disabled=false 4 | persist.vendor.bluetooth.modem_nv_support=true 5 | persist.vendor.bt.aac_frm_ctl.enabled=true 6 | persist.vendor.bt.aac_vbr_frm_ctl.enabled=true 7 | persist.vendor.qcom.bluetooth.a2dp_offload_cap=sbc-aptx-aptxtws-aptxhd-aac-ldac-aptxadaptiver2 8 | persist.vendor.qcom.bluetooth.aac_frm_ctl.enabled=true 9 | persist.vendor.qcom.bluetooth.aac_vbr_ctl.enabled=true 10 | persist.vendor.qcom.bluetooth.enable.splita2dp=true 11 | persist.vendor.qcom.bluetooth.soc=hastings 12 | ro.bluetooth.a2dp_offload.supported=true 13 | ro.vendor.bluetooth.wipower=false 14 | vendor.qcom.bluetooth.soc=hastings 15 | 16 | # Camera 17 | vendor.camera.aux.packageexcludelist=org.telegram.messenger,org.thunderdog.challegram 18 | 19 | # Chipset 20 | ro.soc.model=SM8250 21 | 22 | # Crypto 23 | ro.crypto.dm_default_key.options_format.version=2 24 | ro.crypto.volume.filenames_mode=aes-256-cts 25 | ro.crypto.volume.metadata.method=dm-default-key 26 | 27 | # DPM 28 | persist.vendor.dpmhalservice.enable=1 29 | 30 | # Display 31 | ro.vendor.display.sensortype=2 32 | 33 | # Dolby 34 | ro.vendor.dolby.brand=OPLUS 35 | ro.vendor.dolby.dax.version=DAX3_3.6.0.12_r1 36 | ro.vendor.dolby.device=OP46C3 37 | ro.vendor.dolby.manufacturer=OPLUS 38 | ro.vendor.dolby.model=PAFM00 39 | 40 | # DRM 41 | drm.service.enabled=true 42 | 43 | # Fingerprint 44 | persist.vendor.qfp=true 45 | vendor.flash.locked=0 46 | 47 | # FRP 48 | ro.frp.pst=/dev/block/bootdevice/by-name/frp 49 | 50 | # Gatekeeper 51 | vendor.gatekeeper.disable_spu=true 52 | 53 | # Graphics 54 | debug.sf.disable_backpressure=1 55 | ro.surface_flinger.set_display_power_timer_ms=1000 56 | ro.surface_flinger.set_idle_timer_ms=4000 57 | ro.surface_flinger.set_touch_timer_ms=4000 58 | ro.surface_flinger.use_content_detection_for_refresh_rate=true 59 | 60 | # Incremental FS 61 | ro.incremental.enable=1 62 | 63 | # Media 64 | vendor.media.vpp.enable=0 65 | vendor.media.vpp.osie.enable=0 66 | vendor.media.vpp.sr.enable=0 67 | 68 | # Qualcomm System Daemon 69 | persist.vendor.qcomsysd.enabled=1 70 | 71 | # Sensors 72 | persist.vendor.sensors.allow_non_default_discovery=true 73 | persist.vendor.sensors.sync_request=true 74 | 75 | # Wifi 76 | wifi.aware.interface=wifi-aware0 77 | 78 | # Zygote 79 | zygote.critical_window.minute=10 80 | -------------------------------------------------------------------------------- /overlay/OPlusSettingsResCommon/res/values/config.xml: -------------------------------------------------------------------------------- 1 | 2 | 16 | 17 | 18 | 19 | 20 | true 21 | 22 | 23 | 254 24 | 25 | 39 | 3 40 | 41 | -------------------------------------------------------------------------------- /compatibility_matrix.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | android.frameworks.schedulerservice 4 | 1.0 5 | 6 | ISchedulingPolicyService 7 | default 8 | 9 | 10 | 11 | android.frameworks.sensorservice 12 | 1.0 13 | 14 | ISensorManager 15 | default 16 | 17 | 18 | 19 | android.hidl.allocator 20 | 1.0 21 | 22 | IAllocator 23 | ashmem 24 | 25 | 26 | 27 | android.hidl.manager 28 | 1.0 29 | 30 | IServiceManager 31 | default 32 | 33 | 34 | 35 | android.hidl.memory 36 | 1.0 37 | 38 | IMapper 39 | ashmem 40 | 41 | 42 | 43 | android.hidl.token 44 | 1.0 45 | 46 | ITokenManager 47 | default 48 | 49 | 50 | 51 | android.system.wifi.keystore 52 | 1.0 53 | 54 | IKeystore 55 | default 56 | 57 | 58 | 59 | vendor.qti.hardware.qccsyshal 60 | 1.0 61 | 62 | IQccsyshal 63 | qccsyshal 64 | 65 | 66 | 67 | vendor.qti.hardware.sigma_miracast 68 | 1.0 69 | 70 | Isigma_miracast 71 | sigmahal 72 | 73 | 74 | 75 | vendor.qti.hardware.wifi.keystore 76 | 1.0 77 | 78 | IKeystoreExt 79 | default 80 | 81 | 82 | -------------------------------------------------------------------------------- /overlay/AOSPAOPlusFrameworksResCommon/res/values/config.xml: -------------------------------------------------------------------------------- 1 | 2 | 16 | 17 | 18 | 19 | 143 20 | 248 21 | 249 22 | 252 23 | 258 24 | 259 25 | 264 26 | 251 27 | 250 28 | 257 29 | 254 30 | 256 31 | 255 32 | 253 33 | 34 | 44 | 1 45 | 3 46 | 8 47 | 5 48 | 7 49 | 6 50 | 51 | 52 | true 53 | 54 | 56 | /sys/kernel/oplus_display/dimlayer_bl_en 57 | 58 | 59 | true 60 | 61 | 62 | -------------------------------------------------------------------------------- /extract-files.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Copyright (C) 2016 The CyanogenMod Project 4 | # Copyright (C) 2017-2020 The LineageOS Project 5 | # 6 | # SPDX-License-Identifier: Apache-2.0 7 | # 8 | 9 | set -e 10 | 11 | # Load extract_utils and do some sanity checks 12 | MY_DIR="${BASH_SOURCE%/*}" 13 | if [[ ! -d "${MY_DIR}" ]]; then MY_DIR="${PWD}"; fi 14 | 15 | ANDROID_ROOT="${MY_DIR}/../../.." 16 | 17 | HELPER="${ANDROID_ROOT}/tools/extract-utils/extract_utils.sh" 18 | if [ ! -f "${HELPER}" ]; then 19 | echo "Unable to find helper script at ${HELPER}" 20 | exit 1 21 | fi 22 | source "${HELPER}" 23 | 24 | # Default to sanitizing the vendor folder before extraction 25 | CLEAN_VENDOR=true 26 | 27 | ONLY_COMMON= 28 | ONLY_TARGET= 29 | KANG= 30 | SECTION= 31 | 32 | while [ "${#}" -gt 0 ]; do 33 | case "${1}" in 34 | --only-common ) 35 | ONLY_COMMON=true 36 | ;; 37 | --only-target ) 38 | ONLY_TARGET=true 39 | ;; 40 | -n | --no-cleanup ) 41 | CLEAN_VENDOR=false 42 | ;; 43 | -k | --kang ) 44 | KANG="--kang" 45 | ;; 46 | -s | --section ) 47 | SECTION="${2}"; shift 48 | CLEAN_VENDOR=false 49 | ;; 50 | * ) 51 | SRC="${1}" 52 | ;; 53 | esac 54 | shift 55 | done 56 | 57 | if [ -z "${SRC}" ]; then 58 | SRC="adb" 59 | fi 60 | 61 | function blob_fixup() { 62 | case "${1}" in 63 | odm/bin/hw/vendor.ozoaudio.media.c2@1.0-service|odm/lib/libcodec2_soft_ozodec.so|odm/lib/libcodec2_soft_ozoenc.so) 64 | "${PATCHELF}" --add-needed "libshims_ozoc2store.so" "${2}" 65 | ;; 66 | odm/etc/dolby/multimedia_dolby_dax_default.xml) 67 | sed -i "/volume-leveler-enable/ s/true/false/g" "${2}" 68 | ;; 69 | odm/lib/libdlbdsservice_v3_6.so|odm/lib/libstagefright_soft_ddpdec.so|odm/lib/libstagefrightdolby.so|odm/lib64/libdlbdsservice_v3_6.so) 70 | "${PATCHELF}" --replace-needed "libstagefright_foundation.so" "libstagefright_foundation-v33.so" "${2}" 71 | ;; 72 | system_ext/etc/permissions/com.android.hotwordenrollment.common.util.xml) 73 | sed -i "s/my_product/system_ext/" "${2}" 74 | ;; 75 | vendor/lib64/hw/camera.qcom.so) 76 | grep -q libcamera_metadata_shim.so "${2}" || "${PATCHELF}" --add-needed "libcamera_metadata_shim.so" "${2}" 77 | ;; 78 | vendor/lib64/libril-qc-hal-qmi.so) 79 | "${PATCHELF}" --add-needed "libshims_ocsclk.so" "${2}" 80 | ;; 81 | vendor/lib64/vendor.qti.hardware.camera.postproc@1.0-service-impl.so) 82 | "${SIGSCAN}" -p "AF 0B 00 94" -P "1F 20 03 D5" -f "${2}" 83 | ;; 84 | vendor/lib/libgui1_vendor.so) 85 | "${PATCHELF}" --replace-needed "libui.so" "libui-v30.so" "${2}" 86 | ;; 87 | esac 88 | } 89 | 90 | if [ -z "${ONLY_TARGET}" ]; then 91 | # Initialize the helper for common device 92 | setup_vendor "${DEVICE_COMMON}" "${VENDOR}" "${ANDROID_ROOT}" true "${CLEAN_VENDOR}" 93 | 94 | extract "${MY_DIR}/proprietary-files.txt" "${SRC}" "${KANG}" --section "${SECTION}" 95 | fi 96 | 97 | if [ -z "${ONLY_COMMON}" ] && [ -s "${MY_DIR}/../${DEVICE}/proprietary-files.txt" ]; then 98 | # Reinitialize the helper for device 99 | source "${MY_DIR}/../${DEVICE}/extract-files.sh" 100 | setup_vendor "${DEVICE}" "${VENDOR}" "${ANDROID_ROOT}" false "${CLEAN_VENDOR}" 101 | 102 | extract "${MY_DIR}/../${DEVICE}/proprietary-files.txt" "${SRC}" "${KANG}" --section "${SECTION}" 103 | fi 104 | 105 | "${MY_DIR}/setup-makefiles.sh" 106 | -------------------------------------------------------------------------------- /overlay/OPlusTetheringResCommon/res/values/config.xml: -------------------------------------------------------------------------------- 1 | 2 | 19 | 20 | 21 | 24 | 25 | bnep\\d 26 | bt-pan 27 | 28 | 29 | 30 | 38 | 39 | 192.168.42.2 40 | 192.168.42.254 41 | 192.168.43.2 42 | 192.168.43.254 43 | 192.168.44.2 44 | 192.168.44.254 45 | 192.168.45.2 46 | 192.168.45.254 47 | 192.168.46.2 48 | 192.168.46.254 49 | 192.168.47.2 50 | 192.168.47.254 51 | 192.168.48.2 52 | 192.168.48.254 53 | 192.168.49.2 54 | 192.168.49.254 55 | 192.168.50.2 56 | 192.168.50.254 57 | 192.168.51.2 58 | 192.168.51.254 59 | 60 | 61 | 87 | 88 | 0 89 | 1 90 | 5 91 | 7 92 | 93 | 94 | 97 | 98 | usb\\d 99 | rndis\\d 100 | 101 | 102 | 105 | 106 | "softap.*" 107 | "wlan\\d" 108 | 109 | 110 | 111 | -------------------------------------------------------------------------------- /init/fstab.qcom: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2018-2019 The Linux Foundation. All rights reserved. 2 | # 3 | # Redistribution and use in source and binary forms, with or without 4 | # modification, are permitted (subject to the limitations in the 5 | # disclaimer below) provided that the following conditions are met: 6 | # 7 | # * Redistributions of source code must retain the above copyright 8 | # notice, this list of conditions and the following disclaimer. 9 | # 10 | # * Redistributions in binary form must reproduce the above 11 | # copyright notice, this list of conditions and the following 12 | # disclaimer in the documentation and/or other materials provided 13 | # with the distribution. 14 | # 15 | # * Neither the name of The Linux Foundation nor the names of its 16 | # contributors may be used to endorse or promote products derived 17 | # from this software without specific prior written permission. 18 | # 19 | # NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE 20 | # GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT 21 | # HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED 22 | # WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 23 | # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 24 | # IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR 25 | # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 26 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE 27 | # GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 28 | # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER 29 | # IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 30 | # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN 31 | # IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | 33 | # Android fstab file. 34 | # The filesystem that contains the filesystem checker binary (typically /system) cannot 35 | # specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK 36 | 37 | # 38 | 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,readahead_size_kb=128 39 | system_ext /system_ext ext4 ro,barrier=1,discard wait,avb=vbmeta_system,logical,first_stage_mount,readahead_size_kb=128 40 | product /product ext4 ro,barrier=1,discard wait,avb=vbmeta_system,logical,first_stage_mount,readahead_size_kb=128 41 | vendor /vendor ext4 ro,barrier=1,discard wait,avb=vbmeta_vendor,logical,first_stage_mount,readahead_size_kb=128 42 | odm /odm ext4 ro,barrier=1,discard wait,avb=vbmeta_vendor,logical,first_stage_mount,readahead_size_kb=128 43 | /dev/block/by-name/metadata /metadata ext4 noatime,nosuid,nodev,discard,data=journal,commit=1 wait,check,formattable,first_stage_mount,metadata_csum 44 | /dev/block/bootdevice/by-name/userdata /data f2fs noatime,nosuid,nodev,discard,reserve_root=32768,resgid=1065,fsync_mode=nobarrier,inlinecrypt latemount,wait,check,formattable,fileencryption=aes-256-xts:aes-256-cts:v2+inlinecrypt_optimized+wrappedkey_v0,metadata_encryption=aes-256-xts:wrappedkey_v0,keydirectory=/metadata/vold/metadata_encryption,quota,reservedsize=128M,sysfs_path=/sys/devices/platform/soc/1d84000.ufshc,checkpoint=fs,fscompress,readahead_size_kb=128 45 | /dev/block/bootdevice/by-name/cache /cache ext4 nosuid,noatime,nodev,barrier=1 wait 46 | /dev/block/bootdevice/by-name/persist /mnt/vendor/persist ext4 noatime,nosuid,nodev,barrier=1 wait 47 | /dev/block/bootdevice/by-name/boot /boot emmc defaults avb=vbmeta,first_stage_mount 48 | /dev/block/bootdevice/by-name/dtbo /dtbo emmc defaults avb=vbmeta,first_stage_mount 49 | /dev/block/bootdevice/by-name/recovery /recovery emmc defaults avb=vbmeta,first_stage_mount 50 | /dev/block/bootdevice/by-name/misc /misc emmc defaults defaults 51 | /devices/platform/soc/8804000.sdhci/mmc_host* /storage/sdcard1 vfat nosuid,nodev wait,voldmanaged=sdcard1:auto,encryptable=footer 52 | /devices/platform/soc/1da4000.ufshc_card/host* /storage/sdcard1 vfat nosuid,nodev wait,voldmanaged=sdcard1:auto,encryptable=footer 53 | /devices/platform/soc/*.ssusb/*.dwc3/xhci-hcd.*.auto* /storage/usbotg vfat nosuid,nodev wait,voldmanaged=usbotg:auto 54 | /dev/block/bootdevice/by-name/spunvm /mnt/vendor/spunvm vfat rw,noatime,shortname=lower,uid=1000,gid=1000,dmask=007,fmask=007,context=u:object_r:spunvm_file:s0 wait 55 | /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 56 | /dev/block/bootdevice/by-name/dsp /vendor/dsp ext4 ro,nosuid,nodev,barrier=1 wait 57 | /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 58 | -------------------------------------------------------------------------------- /configs/nfc/libnfc-nci.conf: -------------------------------------------------------------------------------- 1 | ########################## Start of libnfc-nci.conf ########################### 2 | ############################################################################### 3 | # Application options 4 | NFC_DEBUG_ENABLED=0 5 | 6 | ############################################################################### 7 | # File used for NFA storage 8 | NFA_STORAGE="/data/nfc" 9 | ############################################################################### 10 | # Configure the default NfcA/IsoDep techology and protocol route. Can be 11 | # either a secure element (e.g. 0xF4) or the host (0x00) 12 | #DEFAULT_ISODEP_ROUTE=0x00 13 | 14 | ############################################################################### 15 | ## Default poll duration (in ms) 16 | ## The defualt is 500ms if not set 17 | NFA_DM_DISC_DURATION_POLL=500 18 | 19 | ############################################################################### 20 | # Force UICC to only listen to the following technology(s). 21 | # The bits are defined as tNFA_TECHNOLOGY_MASK in nfa_api.h. 22 | # Default is NFA_TECHNOLOGY_MASK_A | NFA_TECHNOLOGY_MASK_B | NFA_TECHNOLOGY_MASK_F 23 | UICC_LISTEN_TECH_MASK=0x07 24 | 25 | ############################################################################### 26 | # Force HOST listen feature enable or disable. 27 | # 0: Disable 28 | # 1: Enable 29 | HOST_LISTEN_ENABLE=0x01 30 | ############################################################################### 31 | # When screen is turned off, specify the desired power state of the controller. 32 | # 0: power-off-sleep state; DEFAULT 33 | # 1: full-power state 34 | # 2: screen-off card-emulation (CE4/CE3/CE1 modes are used) 35 | SCREEN_OFF_POWER_STATE=1 36 | ############################################################################### 37 | # Force tag polling for the following technology(s). 38 | # The bits are defined as tNFA_TECHNOLOGY_MASK in nfa_api.h. 39 | # Default is NFA_TECHNOLOGY_MASK_A | NFA_TECHNOLOGY_MASK_B | 40 | # NFA_TECHNOLOGY_MASK_F | NFA_TECHNOLOGY_MASK_ISO15693 | 41 | # NFA_TECHNOLOGY_MASK_B_PRIME | 42 | # NFA_TECHNOLOGY_MASK_A_ACTIVE | NFA_TECHNOLOGY_MASK_F_ACTIVE. 43 | # 44 | # Notable bits: 45 | # NFA_TECHNOLOGY_MASK_A 0x01 /* NFC Technology A */ 46 | # NFA_TECHNOLOGY_MASK_B 0x02 /* NFC Technology B */ 47 | # NFA_TECHNOLOGY_MASK_F 0x04 /* NFC Technology F */ 48 | # NFA_TECHNOLOGY_MASK_ISO15693 0x08 /* Proprietary Technology */ 49 | # NFA_TECHNOLOGY_MASK_A_ACTIVE 0x40 /* NFC Technology A active mode */ 50 | # NFA_TECHNOLOGY_MASK_F_ACTIVE 0x80 /* NFC Technology F active mode */ 51 | POLLING_TECH_MASK=0x4F 52 | ############################################################################### 53 | # Force P2P to only listen for the following technology(s). 54 | # The bits are defined as tNFA_TECHNOLOGY_MASK in nfa_api.h. 55 | # Default is NFA_TECHNOLOGY_MASK_A | NFA_TECHNOLOGY_MASK_F | 56 | # NFA_TECHNOLOGY_MASK_A_ACTIVE | NFA_TECHNOLOGY_MASK_F_ACTIVE 57 | # 58 | # Notable bits: 59 | # NFA_TECHNOLOGY_MASK_A 0x01 /* NFC Technology A */ 60 | # NFA_TECHNOLOGY_MASK_F 0x04 /* NFC Technology F */ 61 | # NFA_TECHNOLOGY_MASK_A_ACTIVE 0x40 /* NFC Technology A active mode */ 62 | # NFA_TECHNOLOGY_MASK_F_ACTIVE 0x80 /* NFC Technology F active mode */ 63 | P2P_LISTEN_TECH_MASK=0x44 64 | ############################################################################### 65 | PRESERVE_STORAGE=0x01 66 | ############################################################################### 67 | # Override the stack default for NFA_EE_MAX_EE_SUPPORTED set in nfc_target.h. 68 | # The value is set to 3 by default as it assumes we will discover 0xF2, 69 | # 0xF3, and 0xF4. If a platform will exclude and SE, this value can be reduced 70 | # so that the stack will not wait any longer than necessary. 71 | 72 | # Maximum EE supported number 73 | # NXP PN547C2 0x02 74 | # NXP PN65T 0x03 75 | # NXP PN548C2 0x02 76 | # NXP PN66T 0x03 77 | NFA_MAX_EE_SUPPORTED=0x03 78 | ############################################################################## 79 | # Deactivate notification wait time out in seconds used in ETSI Reader mode 80 | # 0 - Infinite wait 81 | NFA_DM_DISC_NTF_TIMEOUT=0 82 | 83 | ############################################################################### 84 | # AID_MATCHING constants 85 | # AID_MATCHING_EXACT_ONLY 0x00 86 | # AID_MATCHING_EXACT_OR_PREFIX 0x01 87 | # AID_MATCHING_PREFIX_ONLY 0x02 88 | #AID_MATCHING_EXACT_OR_SUBSET_OR_PREFIX 0x03 89 | AID_MATCHING_MODE=0x03 90 | 91 | ############################################################################### 92 | # NCI_RESET_TYPE options 93 | # Default 0x00, reset configurations everytime. 94 | # 0x01, reset configurations only once every boot. 95 | # 0x02, keep configurations. 96 | NCI_RESET_TYPE=0x02 97 | 98 | ############################################################################### 99 | # Preferred Secure Element for Technology based routing 100 | # eSE 0x01 101 | # UICC 0x02 102 | 103 | NXP_PRFD_TECH_SE=0x01 104 | 105 | ################################################################################ 106 | #Set bit to 1 , block list is enabled 107 | #Set bit to 0, to disable block list 108 | NFA_AID_BLOCK_ROUTE=0x00 109 | 110 | ############################################################################### 111 | #Set the OffHost AID supported power state: 112 | OFFHOST_AID_ROUTE_PWR_STATE=0x3B 113 | 114 | ################################################################################ 115 | # Maximum WTX requests entertained by MW 116 | NXP_WM_MAX_WTX_COUNT=30 117 | ################################################################################ 118 | #Set the default Felica T3T System Code : 119 | #This settings will be used when application does not set this parameter 120 | DEFAULT_SYS_CODE={FE:FE} 121 | ######################################################################### 122 | #Set NCI credit notification timeout value 123 | NXP_NCI_CREDIT_NTF_TIMEOUT=2 124 | ######################################################################### 125 | 126 | -------------------------------------------------------------------------------- /BoardConfigCommon.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (C) 2020 The LineageOS Project 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | # 18 | # This file sets variables that control the way modules are built 19 | # thorughout the system. It should not be used to conditionally 20 | # disable makefiles (the proper mechanism to control what gets 21 | # included in a build is to use PRODUCT_PACKAGES in a product 22 | # definition file). 23 | # 24 | 25 | COMMON_PATH := device/realme/sm8250-common 26 | 27 | BUILD_BROKEN_DUP_RULES := true 28 | BUILD_BROKEN_ELF_PREBUILT_PRODUCT_COPY_FILES := true 29 | BUILD_BROKEN_USES_BUILD_COPY_HEADERS := true 30 | NEED_AIDL_NDK_PLATFORM_BACKEND := true 31 | 32 | # Architecture 33 | TARGET_ARCH := arm64 34 | TARGET_ARCH_VARIANT := armv8-2a-dotprod 35 | TARGET_CPU_ABI := arm64-v8a 36 | TARGET_CPU_ABI2 := 37 | TARGET_CPU_VARIANT := cortex-a76 38 | 39 | TARGET_2ND_ARCH := arm 40 | TARGET_2ND_ARCH_VARIANT := armv8-2a 41 | TARGET_2ND_CPU_ABI := armeabi-v7a 42 | TARGET_2ND_CPU_ABI2 := armeabi 43 | TARGET_2ND_CPU_VARIANT := cortex-a76 44 | 45 | # Bootloader 46 | TARGET_NO_BOOTLOADER := true 47 | TARGET_BOOTLOADER_BOARD_NAME := kona 48 | 49 | # Display 50 | TARGET_SCREEN_DENSITY := 480 51 | 52 | # Fingerprint 53 | TARGET_SURFACEFLINGER_UDFPS_LIB := //hardware/oplus:libudfps_extension.oplus 54 | 55 | # HIDL 56 | DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE += $(COMMON_PATH)/device_framework_matrix.xml 57 | DEVICE_MATRIX_FILE += $(COMMON_PATH)/compatibility_matrix.xml 58 | DEVICE_MANIFEST_FILE += \ 59 | $(COMMON_PATH)/manifest.xml \ 60 | $(COMMON_PATH)/configs/vintf/c2_manifest_vendor.xml 61 | 62 | # Init 63 | TARGET_INIT_VENDOR_LIB := //$(COMMON_PATH):init_realme_kona 64 | TARGET_RECOVERY_DEVICE_MODULES := init_realme_kona 65 | 66 | # Kernel 67 | BOARD_KERNEL_BASE := 0x00000000 68 | BOARD_KERNEL_PAGESIZE := 4096 69 | 70 | BOARD_BOOT_HEADER_VERSION := 2 71 | BOARD_MKBOOTIMG_ARGS += --header_version $(BOARD_BOOT_HEADER_VERSION) 72 | 73 | BOARD_KERNEL_CMDLINE := \ 74 | androidboot.hardware=qcom \ 75 | androidboot.usbcontroller=a600000.dwc3 \ 76 | cgroup.memory=nokmem,nosocket \ 77 | kpti=off \ 78 | loop.max_part=7 \ 79 | lpm_levels.sleep_disabled=1 \ 80 | msm_rtb.filter=0x237 \ 81 | reboot=panic_warm \ 82 | service_locator.enable=1 \ 83 | swiotlb=2048 84 | 85 | USE_KERNEL_AOSP_LLVM := true 86 | KERNEL_FULL_LLVM := true 87 | 88 | BOARD_KERNEL_IMAGE_NAME := Image 89 | KERNEL_DEFCONFIG := vendor/sm8250_defconfig 90 | 91 | BOARD_INCLUDE_DTB_IN_BOOTIMG := true 92 | BOARD_KERNEL_SEPARATED_DTBO := true 93 | BOARD_RAMDISK_USE_LZ4 := true 94 | 95 | # Metadata 96 | BOARD_USES_METADATA_PARTITION := true 97 | 98 | # Partitions 99 | BOARD_BOOTIMAGE_PARTITION_SIZE := 100663296 100 | BOARD_CACHEIMAGE_PARTITION_SIZE := 536870912 101 | BOARD_DTBOIMG_PARTITION_SIZE := 25165824 102 | BOARD_FLASH_BLOCK_SIZE := 262144 103 | BOARD_RECOVERYIMAGE_PARTITION_SIZE := 134217728 104 | 105 | BOARD_SUPER_PARTITION_GROUPS := qti_dynamic_partitions 106 | BOARD_QTI_DYNAMIC_PARTITIONS_PARTITION_LIST := system system_ext product vendor odm 107 | 108 | ifneq ($(filter 29,$(PRODUCT_SHIPPING_API_LEVEL)),) 109 | BOARD_SUPER_PARTITION_SIZE := 9168748544 110 | BOARD_QTI_DYNAMIC_PARTITIONS_SIZE := 9164554240 111 | else 112 | BOARD_SUPER_PARTITION_SIZE := 10200547328 113 | BOARD_QTI_DYNAMIC_PARTITIONS_SIZE := 10196353024 114 | endif 115 | 116 | BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE := ext4 117 | BOARD_ODMIMAGE_FILE_SYSTEM_TYPE := ext4 118 | BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE := ext4 119 | BOARD_SYSTEM_EXTIMAGE_FILE_SYSTEM_TYPE := ext4 120 | BOARD_SYSTEMIMAGE_FILE_SYSTEM_TYPE := ext4 121 | BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4 122 | 123 | TARGET_COPY_OUT_ODM := odm 124 | TARGET_COPY_OUT_PRODUCT := product 125 | TARGET_COPY_OUT_SYSTEM_EXT := system_ext 126 | TARGET_COPY_OUT_VENDOR := vendor 127 | 128 | # Platform 129 | TARGET_BOARD_PLATFORM := kona 130 | 131 | # Properties 132 | TARGET_ODM_PROP += $(COMMON_PATH)/odm.prop 133 | TARGET_PRODUCT_PROP += $(COMMON_PATH)/product.prop 134 | TARGET_SYSTEM_EXT_PROP += $(COMMON_PATH)/system_ext.prop 135 | TARGET_VENDOR_PROP += $(COMMON_PATH)/vendor.prop 136 | 137 | # QCOM 138 | BOARD_USES_QCOM_HARDWARE := true 139 | 140 | # Recovery 141 | BOARD_INCLUDE_RECOVERY_DTBO := true 142 | TARGET_RECOVERY_FSTAB := $(COMMON_PATH)/init/fstab.qcom 143 | TARGET_RECOVERY_PIXEL_FORMAT := RGBX_8888 144 | TARGET_USERIMAGES_USE_F2FS := true 145 | 146 | # Releasetools 147 | TARGET_RELEASETOOLS_EXTENSIONS := $(COMMON_PATH) 148 | 149 | # SELinux 150 | include hardware/oplus/sepolicy/qti/SEPolicy.mk 151 | 152 | # Touch 153 | TARGET_POWER_FEATURE_EXT_LIB := //$(COMMON_PATH):libpowerfeature_ext_realme_kona 154 | 155 | # Verified boot 156 | BOARD_AVB_ENABLE := true 157 | BOARD_AVB_ALGORITHM := SHA256_RSA4096 158 | BOARD_AVB_KEY_PATH := external/avb/test/data/testkey_rsa4096.pem 159 | BOARD_AVB_MAKE_VBMETA_IMAGE_ARGS += --flags 3 160 | BOARD_AVB_RECOVERY_ALGORITHM := $(BOARD_AVB_ALGORITHM) 161 | BOARD_AVB_RECOVERY_KEY_PATH := $(BOARD_AVB_KEY_PATH) 162 | BOARD_AVB_RECOVERY_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP) 163 | BOARD_AVB_RECOVERY_ROLLBACK_INDEX_LOCATION := 1 164 | BOARD_AVB_BOOT_ALGORITHM := $(BOARD_AVB_ALGORITHM) 165 | BOARD_AVB_BOOT_KEY_PATH := $(BOARD_AVB_KEY_PATH) 166 | BOARD_AVB_BOOT_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP) 167 | BOARD_AVB_BOOT_ROLLBACK_INDEX_LOCATION := 2 168 | BOARD_AVB_DTBO_ALGORITHM := $(BOARD_AVB_ALGORITHM) 169 | BOARD_AVB_DTBO_KEY_PATH := $(BOARD_AVB_KEY_PATH) 170 | BOARD_AVB_DTBO_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP) 171 | BOARD_AVB_DTBO_ROLLBACK_INDEX_LOCATION := 3 172 | BOARD_AVB_VBMETA_SYSTEM := system product system_ext 173 | BOARD_AVB_VBMETA_SYSTEM_ALGORITHM := $(BOARD_AVB_ALGORITHM) 174 | BOARD_AVB_VBMETA_SYSTEM_KEY_PATH := $(BOARD_AVB_KEY_PATH) 175 | BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP) 176 | BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX_LOCATION := 4 177 | BOARD_AVB_VBMETA_VENDOR := vendor odm 178 | BOARD_AVB_VBMETA_VENDOR_ALGORITHM := $(BOARD_AVB_ALGORITHM) 179 | BOARD_AVB_VBMETA_VENDOR_KEY_PATH := $(BOARD_AVB_KEY_PATH) 180 | BOARD_AVB_VBMETA_VENDOR_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP) 181 | BOARD_AVB_VBMETA_VENDOR_ROLLBACK_INDEX_LOCATION := 5 182 | -------------------------------------------------------------------------------- /device_framework_matrix.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | android.hardware.drm 4 | 1.4 5 | 6 | ICryptoFactory 7 | clearkey 8 | 9 | 10 | IDrmFactory 11 | clearkey 12 | 13 | 14 | 15 | android.hardware.media.c2 16 | 1.0 17 | 18 | IComponentStore 19 | ozoaudio 20 | 21 | 22 | 23 | android.hardware.usb 24 | 1.3 25 | 26 | IUsb 27 | default 28 | 29 | 30 | 31 | android.hardware.wifi.hostapd 32 | 1.0-3 33 | 34 | IHostapd 35 | default 36 | 37 | 38 | 39 | android.hardware.wifi.supplicant 40 | 1.0-4 41 | 42 | ISupplicant 43 | default 44 | wigigp2p 45 | 46 | 47 | 48 | android.hardware.wifi 49 | 1.0-5 50 | 51 | IWifi 52 | default 53 | 54 | 55 | 56 | vendor.dolby_v3_6.hardware.dms360 57 | 2.0 58 | 59 | IDms 60 | default 61 | 62 | 63 | 64 | vendor.nxp.nxpnfc 65 | 2.0 66 | 67 | INxpNfc 68 | default 69 | 70 | 71 | 72 | vendor.oplus.hardware.appradio 73 | 1.0 74 | 75 | IOplusAppRadio 76 | oplus_app_slot1 77 | oplus_app_slot2 78 | 79 | 80 | 81 | vendor.oplus.hardware.biometrics.fingerprint 82 | 2.1 83 | 84 | IBiometricsFingerprint 85 | default 86 | 87 | 88 | 89 | vendor.oplus.hardware.cameraextension 90 | 1.0 91 | 92 | ICameraExtensionService 93 | cameraextensionservice 94 | 95 | 96 | 97 | vendor.oplus.hardware.cammidasservice 98 | 1.0 99 | 100 | IMIDASService 101 | default 102 | 103 | 104 | 105 | vendor.oplus.hardware.commondcs 106 | 1.0 107 | 108 | ICommonDcsHalService 109 | commondcsservice 110 | 111 | 112 | 113 | vendor.oplus.hardware.extcamera 114 | 1.0 115 | 116 | IExtCamera 117 | default 118 | 119 | 120 | 121 | vendor.oplus.hardware.ims 122 | 1.0 123 | 124 | IOplusImsRadio 125 | oplusimsradio0 126 | oplusimsradio1 127 | 128 | 129 | 130 | vendor.oplus.hardware.oplusSensor 131 | 1.0 132 | 133 | ISensorFeature 134 | default 135 | 136 | 137 | 138 | vendor.oplus.hardware.orms.ormsHalService 139 | 1.0 140 | 141 | IOrmsHalProxy 142 | ORMS_HAL_PROXY 143 | 144 | 145 | 146 | vendor.oplus.hardware.performance 147 | 1.0 148 | 149 | IPerformance 150 | default 151 | 152 | 153 | 154 | vendor.oplus.hardware.radio 155 | 1.0-1 156 | 157 | IOplusRadio 158 | oplus_slot1 159 | oplus_slot2 160 | 161 | 162 | 163 | vendor.qti.hardware.vpp 164 | 1.4 165 | 166 | IHidlVppService 167 | vppService 168 | 169 | 170 | 171 | vendor.aospa.power 172 | 1 173 | 174 | IPowerFeature 175 | default 176 | 177 | 178 | -------------------------------------------------------------------------------- /audio/audio_io_policy.conf: -------------------------------------------------------------------------------- 1 | # List of profiles for the output device session where stream is routed. 2 | # A stream opened with the inputs attributes which match the "flags" and 3 | # "formats" as specified in the profile is routed to a device at 4 | # sample rate specified under "sampling_rates" and bit width under 5 | # "bit_width" and the topology extracted from the acdb data against 6 | # the "app_type". 7 | # 8 | # the flags and formats are specified using the strings corresponding to 9 | # enums in audio.h and audio_policy.h. They are concatenated with "|" 10 | # without space or "\n". 11 | # the flags and formats should match the ones in "audio_policy.conf" 12 | 13 | outputs { 14 | default { 15 | flags AUDIO_OUTPUT_FLAG_PRIMARY 16 | formats AUDIO_FORMAT_PCM_16_BIT 17 | sampling_rates 48000 18 | bit_width 16 19 | app_type 69937 20 | } 21 | #ifdef OPLUS_FEATURE_PLAYBACK_24BIT 22 | #Chunyu.Xie@MULTIMEDIA.AUDIODRIVER.HAL, 2021/07/15, add for support playback with 24bits 23 | default_24 { 24 | flags AUDIO_OUTPUT_FLAG_PRIMARY 25 | formats AUDIO_FORMAT_PCM_24_BIT_PACKED 26 | sampling_rates 48000 27 | bit_width 24 28 | app_type 69937 29 | } 30 | #endif /* OPLUS_FEATURE_PLAYBACK_24BIT */ 31 | proaudio { 32 | flags AUDIO_OUTPUT_FLAG_FAST|AUDIO_OUTPUT_FLAG_RAW 33 | formats AUDIO_FORMAT_PCM_16_BIT 34 | sampling_rates 48000 35 | bit_width 16 36 | app_type 69943 37 | } 38 | voip_rx { 39 | flags AUDIO_OUTPUT_FLAG_VOIP_RX|AUDIO_OUTPUT_FLAG_DIRECT 40 | formats AUDIO_FORMAT_PCM_16_BIT 41 | sampling_rates 8000|16000|32000|48000 42 | bit_width 16 43 | app_type 69946 44 | } 45 | deep_buffer { 46 | flags AUDIO_OUTPUT_FLAG_DEEP_BUFFER 47 | formats AUDIO_FORMAT_PCM_16_BIT 48 | sampling_rates 48000 49 | bit_width 16 50 | app_type 69936 51 | } 52 | #ifdef OPLUS_FEATURE_PLAYBACK_24BIT 53 | #Chunyu.Xie@MULTIMEDIA.AUDIODRIVER.HAL, 2021/07/15, add for support playback with 24bits 54 | deep_buffer_24 { 55 | flags AUDIO_OUTPUT_FLAG_DEEP_BUFFER 56 | formats AUDIO_FORMAT_PCM_24_BIT_PACKED 57 | sampling_rates 48000 58 | bit_width 24 59 | app_type 69936 60 | } 61 | #endif /* OPLUS_FEATURE_PLAYBACK_24BIT */ 62 | direct_pcm_16 { 63 | flags AUDIO_OUTPUT_FLAG_DIRECT 64 | formats AUDIO_FORMAT_PCM_16_BIT|AUDIO_FORMAT_PCM_24_BIT_PACKED|AUDIO_FORMAT_PCM_8_24_BIT|AUDIO_FORMAT_PCM_32_BIT 65 | sampling_rates 44100|48000|88200|96000|176400|192000 66 | bit_width 16 67 | app_type 69936 68 | } 69 | direct_pcm_24 { 70 | flags AUDIO_OUTPUT_FLAG_DIRECT 71 | formats AUDIO_FORMAT_PCM_24_BIT_PACKED|AUDIO_FORMAT_PCM_8_24_BIT|AUDIO_FORMAT_PCM_32_BIT 72 | sampling_rates 44100|48000|88200|96000|176400|192000|352800|384000 73 | bit_width 24 74 | app_type 69940 75 | } 76 | direct_pcm_32 { 77 | flags AUDIO_OUTPUT_FLAG_DIRECT 78 | formats AUDIO_FORMAT_PCM_32_BIT 79 | sampling_rates 44100|48000|88200|96000|176400|192000|352800|384000 80 | bit_width 32 81 | app_type 69942 82 | } 83 | compress_passthrough { 84 | flags AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING|AUDIO_OUTPUT_FLAG_COMPRESS_PASSTHROUGH 85 | formats AUDIO_FORMAT_DTS|AUDIO_FORMAT_DTS_HD|AUDIO_FORMAT_DSD 86 | sampling_rates 32000|44100|48000|88200|96000|176400|192000|352800 87 | bit_width 16 88 | app_type 69941 89 | } 90 | compress_offload_16 { 91 | flags AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING 92 | 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 93 | sampling_rates 44100|48000|88200|96000|176400|192000 94 | bit_width 16 95 | app_type 69936 96 | } 97 | compress_offload_24 { 98 | flags AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING 99 | formats 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 100 | sampling_rates 44100|48000|88200|96000|176400|192000 101 | bit_width 24 102 | app_type 69940 103 | } 104 | } 105 | 106 | inputs { 107 | record_16bit { 108 | formats AUDIO_FORMAT_PCM_16_BIT 109 | #ifndef OPLUS_BUG_COMPATIBILITY 110 | #//Yongpei.Yao@MULTIMEDIA.AUDIODRIVER.HAL.1825796, 2020/04/13, Modify for not support rate 111 | # sampling_rates 8000|16000|32000|44100|48000|88200|96000|176400|192000 112 | #else 113 | sampling_rates 8000|16000|32000|48000 114 | #endif /* OPLUS_BUG_COMPATIBILITY */ 115 | bit_width 16 116 | app_type 69938 117 | } 118 | record_24bit { 119 | formats AUDIO_FORMAT_PCM_24_BIT_PACKED|AUDIO_FORMAT_PCM_24_BIT 120 | #ifndef OPLUS_BUG_COMPATIBILITY 121 | #//Yongpei.Yao@MULTIMEDIA.AUDIODRIVER.HAL.1825796, 2020/04/13, Modify for not support rate 122 | # sampling_rates 44100|48000|88200|96000|176400|192000 123 | #else 124 | sampling_rates 48000|88200|96000|176400|192000 125 | #endif /* OPLUS_BUG_COMPATIBILITY */ 126 | bit_width 24 127 | app_type 69948 128 | } 129 | record_32bit { 130 | formats AUDIO_FORMAT_PCM_32_BIT|AUDIO_FORMAT_PCM_FLOAT 131 | #ifndef OPLUS_BUG_COMPATIBILITY 132 | #//Yongpei.Yao@MULTIMEDIA.AUDIODRIVER.HAL.1825796, 2020/04/13, Modify for not support rate 133 | # sampling_rates 44100|48000|88200|96000|176400|192000 134 | #else 135 | sampling_rates 48000|88200|96000|176400|192000 136 | #endif /* OPLUS_BUG_COMPATIBILITY */ 137 | bit_width 32 138 | app_type 69949 139 | } 140 | #ifdef OPLUS_ARCH_EXTENDS 141 | 142 | #//Nan.Zhong@MULTIMEDIA.AUDIODRIVER.HAL, 2020/08/27, Add for support rate for record_compress 143 | record_compress_16 { 144 | flags AUDIO_INPUT_FLAG_COMPRESS 145 | formats AUDIO_FORMAT_PCM_16_BIT 146 | sampling_rates 8000|16000|32000|48000 147 | bit_width 16 148 | app_type 69938 149 | } 150 | record_compress_24 { 151 | flags AUDIO_INPUT_FLAG_COMPRESS 152 | formats AUDIO_FORMAT_PCM_24_BIT_PACKED|AUDIO_FORMAT_PCM_24_BIT 153 | sampling_rates 48000|88200|96000|176400|192000 154 | bit_width 24 155 | app_type 69948 156 | } 157 | record_compress_32 { 158 | flags AUDIO_INPUT_FLAG_COMPRESS 159 | formats AUDIO_FORMAT_PCM_32_BIT|AUDIO_FORMAT_PCM_FLOAT 160 | sampling_rates 48000|88200|96000|176400|192000 161 | bit_width 32 162 | app_type 69949 163 | } 164 | #endif /* OPLUS_ARCH_EXTENDS */ 165 | 166 | #//RiCheng.Wang@MULTIMEDIA.AUDIODRIVER.HAL.1825796, 2020/09/27, Modify for #CR2762808 audio record voip low latency 167 | voip_tx { 168 | flags AUDIO_INPUT_FLAG_VOIP_TX 169 | formats AUDIO_FORMAT_PCM_16_BIT 170 | sampling_rates 8000|16000|32000|48000 171 | bit_width 16 172 | app_type 69946 173 | } 174 | low_latency_voip_tx { 175 | flags AUDIO_INPUT_FLAG_FAST|AUDIO_INPUT_FLAG_VOIP_TX 176 | formats AUDIO_FORMAT_PCM_16_BIT 177 | sampling_rates 48000 178 | bit_width 16 179 | app_type 69946 180 | } 181 | #endif/* OPLUS_ARCH_EXTENDS */ 182 | 183 | } -------------------------------------------------------------------------------- /init/init.target.rc: -------------------------------------------------------------------------------- 1 | 2 | # Copyright (c) 2018-2020, The Linux Foundation. All rights reserved. 3 | # 4 | # Redistribution and use in source and binary forms, with or without 5 | # modification, are permitted provided that the following conditions are 6 | # met: 7 | # * Redistributions of source code must retain the above copyright 8 | # notice, this list of conditions and the following disclaimer. 9 | # * Redistributions in binary form must reproduce the above 10 | # copyright notice, this list of conditions and the following 11 | # disclaimer in the documentation and/or other materials provided 12 | # with the distribution. 13 | # * Neither the name of The Linux Foundation nor the names of its 14 | # contributors may be used to endorse or promote products derived 15 | # from this software without specific prior written permission. 16 | # 17 | # THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED 18 | # WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 19 | # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT 20 | # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS 21 | # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 22 | # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 23 | # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 24 | # BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 25 | # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE 26 | # OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN 27 | # IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | # 29 | # 30 | 31 | on early-init 32 | exec u:r:vendor_modprobe:s0 -- /vendor/bin/modprobe -a -d /vendor/lib/modules audio_q6_pdr audio_q6_notifier audio_snd_event audio_apr audio_adsp_loader audio_q6 audio_native audio_usf audio_pinctrl_wcd audio_pinctrl_lpi audio_swr audio_platform audio_hdmi audio_stub audio_wcd_core audio_wsa881x audio_bolero_cdc audio_wsa_macro audio_va_macro audio_rx_macro audio_tx_macro audio_wcd938x audio_wcd938x_slave audio_machine_kona 33 | 34 | on init 35 | # Scheduler uclamp 36 | mkdir /dev/cpuctl/foreground 37 | mkdir /dev/cpuctl/background 38 | mkdir /dev/cpuctl/top-app 39 | mkdir /dev/cpuctl/rt 40 | chown system system /dev/cpuctl 41 | chown system system /dev/cpuctl/foreground 42 | chown system system /dev/cpuctl/background 43 | chown system system /dev/cpuctl/top-app 44 | chown system system /dev/cpuctl/rt 45 | chown system system /dev/cpuctl/tasks 46 | chown system system /dev/cpuctl/foreground/tasks 47 | chown system system /dev/cpuctl/background/tasks 48 | chown system system /dev/cpuctl/top-app/tasks 49 | chown system system /dev/cpuctl/rt/tasks 50 | chmod 0664 /dev/cpuctl/tasks 51 | chmod 0664 /dev/cpuctl/foreground/tasks 52 | chmod 0664 /dev/cpuctl/background/tasks 53 | chmod 0664 /dev/cpuctl/top-app/tasks 54 | chmod 0664 /dev/cpuctl/rt/tasks 55 | 56 | wait /dev/block/platform/soc/1d84000.ufshc 57 | symlink /dev/block/platform/soc/1d84000.ufshc /dev/block/bootdevice 58 | chown system system /sys/devices/platform/soc/1d84000.ufshc/auto_hibern8 59 | chmod 0660 /sys/devices/platform/soc/1d84000.ufshc/auto_hibern8 60 | start logd 61 | 62 | on early-fs 63 | start vold 64 | 65 | on fs 66 | start hwservicemanager 67 | mkdir /mnt/vendor/spunvm 0660 system system 68 | mount_all /vendor/etc/fstab.qcom --early 69 | chown root system /mnt/vendor/persist 70 | chmod 0771 /mnt/vendor/persist 71 | restorecon_recursive /mnt/vendor/persist 72 | mkdir /mnt/vendor/persist/data 0700 system system 73 | 74 | on post-fs 75 | write /dev/ipa 1 76 | 77 | on late-fs 78 | wait_for_prop hwservicemanager.ready true 79 | exec_start wait_for_keymaster 80 | mount_all /vendor/etc/fstab.qcom --late 81 | 82 | on post-fs-data 83 | mkdir /vendor/data/tombstones 0771 system system 84 | # Enable WLAN cold boot calibration 85 | write /sys/devices/platform/soc/b0000000.qcom,cnss-qca6390/fs_ready 1 86 | 87 | on early-boot 88 | start vendor.sensors 89 | 90 | on boot 91 | write /dev/cpuset/audio-app/cpus 1-2 92 | # Add a cpuset for the camera daemon 93 | # We want all cores for camera 94 | mkdir /dev/cpuset/camera-daemon 95 | write /dev/cpuset/camera-daemon/cpus 0-3 96 | write /dev/cpuset/camera-daemon/mems 0 97 | chown cameraserver cameraserver /dev/cpuset/camera-daemon 98 | chown cameraserver cameraserver /dev/cpuset/camera-daemon/tasks 99 | chmod 0660 /dev/cpuset/camera-daemon/tasks 100 | #USB controller configuration 101 | setprop vendor.usb.rndis.func.name "gsi" 102 | setprop vendor.usb.rmnet.func.name "gsi" 103 | setprop vendor.usb.rmnet.inst.name "rmnet" 104 | setprop vendor.usb.dpl.inst.name "dpl" 105 | setprop vendor.usb.qdss.inst.name "qdss" 106 | setprop vendor.usb.controller a600000.dwc3 107 | # Load all wlan drivers 108 | exec_background u:r:vendor_modprobe:s0 -- /vendor/bin/modprobe -a -d /vendor/lib/modules/ qca_cld3_qca6390 qca_cld3_qca6490 109 | 110 | on property:vendor.display.lcd_density=560 111 | setprop dalvik.vm.heapgrowthlimit 256m 112 | 113 | on property:vendor.display.lcd_density=640 114 | setprop dalvik.vm.heapgrowthlimit 512m 115 | 116 | on boot && property:persist.vendor.usb.controller.default=* 117 | setprop vendor.usb.controller ${persist.vendor.usb.controller.default} 118 | 119 | on property:init.svc.vendor.charger=running 120 | start vendor.power_off_alarm 121 | setprop sys.usb.controller a600000.dwc3 122 | setprop sys.usb.configfs 1 123 | 124 | service vendor.lowi /vendor/bin/sscrpcd 125 | class core 126 | user system 127 | group system wakelock 128 | capabilities BLOCK_SUSPEND 129 | 130 | #pd-mapper 131 | service vendor.pd_mapper /vendor/bin/pd-mapper 132 | class core 133 | user system 134 | group system 135 | 136 | #Peripheral manager 137 | service vendor.per_mgr /vendor/bin/pm-service 138 | class core 139 | user system 140 | group system 141 | ioprio rt 4 142 | 143 | service vendor.per_proxy /vendor/bin/pm-proxy 144 | class core 145 | user system 146 | group system 147 | disabled 148 | 149 | service vendor.mdm_helper /vendor/bin/mdm_helper 150 | class core 151 | group system wakelock 152 | disabled 153 | 154 | service vendor.mdm_launcher /vendor/bin/sh /vendor/bin/init.mdm.sh 155 | class core 156 | oneshot 157 | 158 | on property:init.svc.vendor.per_mgr=running 159 | start vendor.per_proxy 160 | 161 | on property:sys.shutdown.requested=* 162 | stop vendor.per_proxy 163 | 164 | on property:vold.decrypt=trigger_restart_framework 165 | start vendor.cnss_diag 166 | 167 | service vendor.cnss_diag /system/vendor/bin/cnss_diag -q -f -b 128 -t HELIUM 168 | class main 169 | user system 170 | group system wifi inet sdcard_rw media_rw diag 171 | oneshot 172 | 173 | service dcvs-sh /vendor/bin/init.qti.dcvs.sh 174 | class late_start 175 | user root 176 | group root system 177 | disabled 178 | oneshot 179 | 180 | on property:vendor.dcvs.prop=1 181 | start dcvs-sh 182 | -------------------------------------------------------------------------------- /Android.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (C) 2020 The LineageOS Project 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | LOCAL_PATH := $(call my-dir) 18 | 19 | ifneq ($(filter bitra bladerunner,$(TARGET_DEVICE)),) 20 | 21 | include $(call all-makefiles-under,$(LOCAL_PATH)) 22 | 23 | include $(CLEAR_VARS) 24 | 25 | ACDBDATA_SYMLINKS := $(TARGET_OUT_ODM)/etc/acdbdata 26 | $(ACDBDATA_SYMLINKS): $(LOCAL_INSTALLED_MODULE) 27 | @echo "Creating acdbdata symlinks: $@" 28 | @mkdir -p $@ 29 | $(hide) ln -sf /vendor/etc/acdbdata/adsp_avs_config.acdb $@/adsp_avs_config.acdb 30 | 31 | CAMERA_COMPONENTS_SYMLINKS := $(TARGET_OUT_VENDOR)/lib64 32 | $(CAMERA_COMPONENTS_SYMLINKS): $(LOCAL_INSTALLED_MODULE) 33 | @echo "Creating camera components symlinks: $@" 34 | @mkdir -p $@ 35 | @mkdir -p $@/camera/components 36 | $(hide) ln -sf /odm/lib64/camera/components/com.qti.stats.haf.so $@/camera/components/com.qti.stats.haf.so 37 | $(hide) ln -sf /odm/lib64/camera/components/com.qti.stats.pdlib.so $@/camera/components/com.qti.stats.pdlib.so 38 | $(hide) ln -sf /odm/lib64/camera/components/libipebpsstriping.so $@/libipebpsstriping.so 39 | 40 | RFS_APQ_GNSS_SYMLINKS := $(TARGET_OUT_VENDOR)/rfs/apq/gnss/ 41 | $(RFS_APQ_GNSS_SYMLINKS): $(LOCAL_INSTALLED_MODULE) 42 | @echo "Creating RFS APQ GNSS folder structure: $@" 43 | @rm -rf $@/* 44 | @mkdir -p $(dir $@)/readonly/vendor 45 | $(hide) ln -sf /data/vendor/tombstones/rfs/modem $@/ramdumps 46 | $(hide) ln -sf /mnt/vendor/persist/rfs/apq/gnss $@/readwrite 47 | $(hide) ln -sf /mnt/vendor/persist/rfs/shared $@/shared 48 | $(hide) ln -sf /mnt/vendor/persist/hlos_rfs/shared $@/hlos 49 | $(hide) ln -sf /vendor/firmware_mnt $@/readonly/firmware 50 | $(hide) ln -sf /vendor/firmware $@/readonly/vendor/firmware 51 | 52 | RFS_MDM_ADSP_SYMLINKS := $(TARGET_OUT_VENDOR)/rfs/mdm/adsp/ 53 | $(RFS_MDM_ADSP_SYMLINKS): $(LOCAL_INSTALLED_MODULE) 54 | @echo "Creating RFS MDM ADSP folder structure: $@" 55 | @rm -rf $@/* 56 | @mkdir -p $(dir $@)/readonly/vendor 57 | $(hide) ln -sf /data/vendor/tombstones/rfs/lpass $@/ramdumps 58 | $(hide) ln -sf /mnt/vendor/persist/rfs/mdm/adsp $@/readwrite 59 | $(hide) ln -sf /mnt/vendor/persist/rfs/shared $@/shared 60 | $(hide) ln -sf /mnt/vendor/persist/hlos_rfs/shared $@/hlos 61 | $(hide) ln -sf /vendor/firmware_mnt $@/readonly/firmware 62 | $(hide) ln -sf /vendor/firmware $@/readonly/vendor/firmware 63 | 64 | RFS_MDM_CDSP_SYMLINKS := $(TARGET_OUT_VENDOR)/rfs/mdm/cdsp/ 65 | $(RFS_MDM_CDSP_SYMLINKS): $(LOCAL_INSTALLED_MODULE) 66 | @echo "Creating RFS MDM CDSP folder structure: $@" 67 | @rm -rf $@/* 68 | @mkdir -p $(dir $@)/readonly/vendor 69 | $(hide) ln -sf /data/vendor/tombstones/rfs/cdsp $@/ramdumps 70 | $(hide) ln -sf /mnt/vendor/persist/rfs/mdm/cdsp $@/readwrite 71 | $(hide) ln -sf /mnt/vendor/persist/rfs/shared $@/shared 72 | $(hide) ln -sf /mnt/vendor/persist/hlos_rfs/shared $@/hlos 73 | $(hide) ln -sf /vendor/firmware_mnt $@/readonly/firmware 74 | $(hide) ln -sf /vendor/firmware $@/readonly/vendor/firmware 75 | 76 | RFS_MDM_MPSS_SYMLINKS := $(TARGET_OUT_VENDOR)/rfs/mdm/mpss/ 77 | $(RFS_MDM_MPSS_SYMLINKS): $(LOCAL_INSTALLED_MODULE) 78 | @echo "Creating RFS MDM MPSS folder structure: $@" 79 | @rm -rf $@/* 80 | @mkdir -p $(dir $@)/readonly/vendor 81 | $(hide) ln -sf /data/vendor/tombstones/rfs/modem $@/ramdumps 82 | $(hide) ln -sf /mnt/vendor/persist/rfs/mdm/mpss $@/readwrite 83 | $(hide) ln -sf /mnt/vendor/persist/rfs/shared $@/shared 84 | $(hide) ln -sf /mnt/vendor/persist/hlos_rfs/shared $@/hlos 85 | $(hide) ln -sf /vendor/firmware_mnt $@/readonly/firmware 86 | $(hide) ln -sf /vendor/firmware $@/readonly/vendor/firmware 87 | 88 | RFS_MDM_SLPI_SYMLINKS := $(TARGET_OUT_VENDOR)/rfs/mdm/slpi/ 89 | $(RFS_MDM_SLPI_SYMLINKS): $(LOCAL_INSTALLED_MODULE) 90 | @echo "Creating RFS MDM SLPI folder structure: $@" 91 | @rm -rf $@/* 92 | @mkdir -p $(dir $@)/readonly/vendor 93 | $(hide) ln -sf /data/vendor/tombstones/rfs/slpi $@/ramdumps 94 | $(hide) ln -sf /mnt/vendor/persist/rfs/mdm/slpi $@/readwrite 95 | $(hide) ln -sf /mnt/vendor/persist/rfs/shared $@/shared 96 | $(hide) ln -sf /mnt/vendor/persist/hlos_rfs/shared $@/hlos 97 | $(hide) ln -sf /vendor/firmware_mnt $@/readonly/firmware 98 | $(hide) ln -sf /vendor/firmware $@/readonly/vendor/firmware 99 | 100 | RFS_MDM_TN_SYMLINKS := $(TARGET_OUT_VENDOR)/rfs/mdm/tn/ 101 | $(RFS_MDM_TN_SYMLINKS): $(LOCAL_INSTALLED_MODULE) 102 | @echo "Creating RFS MDM TN folder structure: $@" 103 | @rm -rf $@/* 104 | @mkdir -p $(dir $@)/readonly/vendor 105 | $(hide) ln -sf /data/vendor/tombstones/rfs/tn $@/ramdumps 106 | $(hide) ln -sf /mnt/vendor/persist/rfs/mdm/tn $@/readwrite 107 | $(hide) ln -sf /mnt/vendor/persist/rfs/shared $@/shared 108 | $(hide) ln -sf /mnt/vendor/persist/hlos_rfs/shared $@/hlos 109 | $(hide) ln -sf /vendor/firmware_mnt $@/readonly/firmware 110 | $(hide) ln -sf /vendor/firmware $@/readonly/vendor/firmware 111 | 112 | RFS_MSM_ADSP_SYMLINKS := $(TARGET_OUT_VENDOR)/rfs/msm/adsp/ 113 | $(RFS_MSM_ADSP_SYMLINKS): $(LOCAL_INSTALLED_MODULE) 114 | @echo "Creating RFS MSM ADSP folder structure: $@" 115 | @rm -rf $@/* 116 | @mkdir -p $(dir $@)/readonly/vendor 117 | $(hide) ln -sf /data/vendor/tombstones/rfs/lpass $@/ramdumps 118 | $(hide) ln -sf /mnt/vendor/persist/rfs/msm/adsp $@/readwrite 119 | $(hide) ln -sf /mnt/vendor/persist/rfs/shared $@/shared 120 | $(hide) ln -sf /mnt/vendor/persist/hlos_rfs/shared $@/hlos 121 | $(hide) ln -sf /vendor/firmware_mnt $@/readonly/firmware 122 | $(hide) ln -sf /vendor/firmware $@/readonly/vendor/firmware 123 | 124 | RFS_MSM_CDSP_SYMLINKS := $(TARGET_OUT_VENDOR)/rfs/msm/cdsp/ 125 | $(RFS_MSM_CDSP_SYMLINKS): $(LOCAL_INSTALLED_MODULE) 126 | @echo "Creating RFS MSM CDSP folder structure: $@" 127 | @rm -rf $@/* 128 | @mkdir -p $(dir $@)/readonly/vendor 129 | $(hide) ln -sf /data/vendor/tombstones/rfs/cdsp $@/ramdumps 130 | $(hide) ln -sf /mnt/vendor/persist/rfs/msm/cdsp $@/readwrite 131 | $(hide) ln -sf /mnt/vendor/persist/rfs/shared $@/shared 132 | $(hide) ln -sf /mnt/vendor/persist/hlos_rfs/shared $@/hlos 133 | $(hide) ln -sf /vendor/firmware_mnt $@/readonly/firmware 134 | $(hide) ln -sf /vendor/firmware $@/readonly/vendor/firmware 135 | 136 | RFS_MSM_MPSS_SYMLINKS := $(TARGET_OUT_VENDOR)/rfs/msm/mpss/ 137 | $(RFS_MSM_MPSS_SYMLINKS): $(LOCAL_INSTALLED_MODULE) 138 | @echo "Creating RFS MSM MPSS folder structure: $@" 139 | @rm -rf $@/* 140 | @mkdir -p $(dir $@)/readonly/vendor 141 | $(hide) ln -sf /data/vendor/tombstones/rfs/modem $@/ramdumps 142 | $(hide) ln -sf /mnt/vendor/persist/rfs/msm/mpss $@/readwrite 143 | $(hide) ln -sf /mnt/vendor/persist/rfs/shared $@/shared 144 | $(hide) ln -sf /mnt/vendor/persist/hlos_rfs/shared $@/hlos 145 | $(hide) ln -sf /vendor/firmware_mnt $@/readonly/firmware 146 | $(hide) ln -sf /vendor/firmware $@/readonly/vendor/firmware 147 | 148 | RFS_MSM_SLPI_SYMLINKS := $(TARGET_OUT_VENDOR)/rfs/msm/slpi/ 149 | $(RFS_MSM_SLPI_SYMLINKS): $(LOCAL_INSTALLED_MODULE) 150 | @echo "Creating RFS MSM SLPI folder structure: $@" 151 | @rm -rf $@/* 152 | @mkdir -p $(dir $@)/readonly/vendor 153 | $(hide) ln -sf /data/vendor/tombstones/rfs/slpi $@/ramdumps 154 | $(hide) ln -sf /mnt/vendor/persist/rfs/msm/slpi $@/readwrite 155 | $(hide) ln -sf /mnt/vendor/persist/rfs/shared $@/shared 156 | $(hide) ln -sf /mnt/vendor/persist/hlos_rfs/shared $@/hlos 157 | $(hide) ln -sf /vendor/firmware_mnt $@/readonly/firmware 158 | $(hide) ln -sf /vendor/firmware $@/readonly/vendor/firmware 159 | 160 | ALL_DEFAULT_INSTALLED_MODULES += $(ACDBDATA_SYMLINKS) $(CAMERA_COMPONENTS_SYMLINKS) $(RFS_APQ_GNSS_SYMLINKS) $(RFS_MDM_ADSP_SYMLINKS) $(RFS_MDM_CDSP_SYMLINKS) $(RFS_MDM_MPSS_SYMLINKS) $(RFS_MDM_SLPI_SYMLINKS) $(RFS_MDM_TN_SYMLINKS) $(RFS_MSM_ADSP_SYMLINKS) $(RFS_MSM_CDSP_SYMLINKS) $(RFS_MSM_MPSS_SYMLINKS) $(RFS_MSM_SLPI_SYMLINKS) 161 | 162 | WIFI_FIRMWARE_SYMLINKS := $(TARGET_OUT_VENDOR)/firmware/wlan/qca_cld 163 | $(WIFI_FIRMWARE_SYMLINKS): $(LOCAL_INSTALLED_MODULE) 164 | @echo "Creating wifi firmware symlinks: $@" 165 | mkdir -p $@ 166 | $(hide) ln -sf /mnt/vendor/persist/wlan/qca_cld/WCNSS_qcom_cfg.ini $@/WCNSS_qcom_cfg.ini 167 | 168 | WIFI_QCA6390_FIRMWARE_SYMLINKS := $(TARGET_OUT_VENDOR)/firmware/wlan/qca_cld/qca6390 169 | $(WIFI_QCA6390_FIRMWARE_SYMLINKS): $(LOCAL_INSTALLED_MODULE) 170 | @echo "Creating wifi firmware symlinks: $@" 171 | mkdir -p $@ 172 | $(hide) ln -sf /vendor/etc/wifi/qca6390/WCNSS_qcom_cfg.ini $@/WCNSS_qcom_cfg.ini 173 | $(hide) ln -sf /mnt/vendor/persist/qca6390/wlan_mac.bin $@/wlan_mac.bin 174 | 175 | ALL_DEFAULT_INSTALLED_MODULES += $(WIFI_FIRMWARE_SYMLINKS) $(WIFI_QCA6390_FIRMWARE_SYMLINKS) 176 | 177 | endif 178 | -------------------------------------------------------------------------------- /configs/gps/izat.conf: -------------------------------------------------------------------------------- 1 | ######################################### 2 | # Log verbosity control for izat modules 3 | ######################################### 4 | # OFF = 0, ERROR = 1, WARNING = 2, INFO = 3, DEBUG = 4, VERBOSE = 5 5 | IZAT_DEBUG_LEVEL = 2 6 | #ODM 7 | ################################################## 8 | # Select WIFI Wait Timeout value in seconds for SUPL 9 | ################################################## 10 | WIFI_WAIT_TIMEOUT_SELECT = 0 11 | 12 | ################################################## 13 | # Time interval of injecting SRN scan data to modem 14 | # time in seconds. 15 | # Note: recommended value is between 1-5 sec 16 | ################################################## 17 | LPPE_SRN_DATA_SCAN_INJECT_TIME=2 18 | 19 | ################################ 20 | # NLP Settings 21 | ################################ 22 | # NLP_MODE 1: OSNLP Only, 2: QNP Only, 3: Combo, 4: QNP preferred 23 | # For Automotive products, please use NLP_MODE = 4 only. 24 | # NLP_TOLERANCE_TIME_FIRST: Time in ms used in Combo mode 25 | # to determine how much Tolerance for first position 26 | # NLP_TOLERANCE_TIME_AFTER: Time in ms used in Combo mode 27 | # to determine how much Tolerance for positions after first 28 | # NLP_THRESHOLD: Sets how many failures needed before 29 | # switching preferred NLP in Combo mode 30 | # NLP_ACCURACY_MULTIPLE: Determines how far off the accuracy 31 | # must be, in multiples, between two NLP location reports to 32 | # be considered much worse accuracy. Used in switching logic 33 | # NLP COMBO MODE USES QNP WITH NO EULA CONSENT: Determines 34 | # whether or not to still send network location requests to 35 | # QNP when the EULA is not consented to by the user. QNP can 36 | # still return ZPP locations or injected locations even 37 | # without EULA consent, but the uncertainty can be high. 38 | # QNP preferred mode prefers QNP when there is EULA consent, 39 | # otherwise OSNLP is used. 40 | NLP_MODE = 1 41 | NLP_MODE_EMERGENCY = 2 42 | NLP_TOLERANCE_TIME_FIRST = 5000 43 | NLP_TOLERANCE_TIME_AFTER = 20000 44 | NLP_THRESHOLD = 3 45 | NLP_ACCURACY_MULTIPLE = 2 46 | NLP_COMBO_MODE_USES_QNP_WITH_NO_EULA_CONSENT = 1 47 | 48 | ######################################### 49 | # NLP PACKAGE SETTINGS 50 | ######################################### 51 | # OSNLP_PACKAGE: name of default NLP package 52 | OSNLP_PACKAGE = com.google.android.gms 53 | # REGION_OSNLP_PACKAGE: 54 | # This value will be used as alternative 55 | # for particular region where default NLP is not functional. 56 | #REGION_OSNLP_PACKAGE = 57 | 58 | ################################### 59 | # GEOFENCE SERVICES 60 | ################################### 61 | # If set to one of the defined values below, it will override 62 | # the responsiveness for geofence services, which implements 63 | # the Proximity Alert API. If not set to a value defined below, 64 | # which is default, it will not override the responsivness. 65 | # The geofence HAL API is unaffected by this value. 66 | # GEOFENCE_SERVICES_RESPONSIVENESS_OVERRIDE Values: 67 | # 1: LOW responsiveness 68 | # 2: MEDIUM responsiveness 69 | # 3: HIGH responsiveness 70 | GEOFENCE_SERVICES_RESPONSIVENESS_OVERRIDE = 0 71 | 72 | ##################################### 73 | #GTP Opt-In app 74 | ##################################### 75 | 76 | #GTP privacy policy version url 77 | #https support is required 78 | GTP_PRIVACY_VERSION_URL = https://info.izatcloud.net/privacy/version.html 79 | 80 | #GTP privacy policy version download retry interval 81 | #unit is second. default is 86400 82 | GTP_PRIVACY_RETRY_INTERVAL = 86400 83 | 84 | ##################################### 85 | # IZAT PREMIUM FEATURE SETTINGS 86 | ##################################### 87 | #Possible states of a feature: 88 | #DISABLED 89 | #BASIC 90 | #PREMIUM 91 | 92 | #GTP_MODE valid modes: 93 | # DISABLED 94 | # LEGACY_WWAN 95 | # SDK (WWAN not available for Modems before LocTech 10.0) 96 | GTP_MODE=DISABLED 97 | 98 | #GTP_WAA valid modes: 99 | # DISABLED 100 | # BASIC 101 | GTP_WAA=DISABLED 102 | 103 | #SAP valid modes: 104 | # DISABLED 105 | # BASIC 106 | # PREMIUM 107 | # PREMIUM_ENV_AIDING 108 | # MODEM_DEFAULT 109 | #ifndef OPLUS_BUG_COMPATIBILITY 110 | #ShiMinghao@CONNECTIVITY.GPS.SAP.OPCUSTOMIZED, 2020/04/14, Modify for changing SAP mode from MODEM_DEFAULT to PREMIUM 111 | #SAP=MODEM_DEFAULT 112 | #else /* OPLUS_BUG_COMPATIBILITY */ 113 | SAP=PREMIUM 114 | #endif /* OPLUS_BUG_COMPATIBILITY */ 115 | 116 | #FREE_WIFI_SCAN_INJECT valid modes: 117 | #DISABLED 118 | #BASIC 119 | FREE_WIFI_SCAN_INJECT=BASIC 120 | 121 | #SUPL_WIFI valid modes: 122 | #DISABLED 123 | #BASIC 124 | SUPL_WIFI=BASIC 125 | 126 | #WIFI_SUPPLICANT_INFO valid modes: 127 | #DISABLED 128 | #BASIC 129 | WIFI_SUPPLICANT_INFO=BASIC 130 | 131 | ##################################### 132 | # Location process launcher settings 133 | ##################################### 134 | 135 | # DO NOT MODIFY 136 | # Modifying below attributes without 137 | # caution can have serious implications. 138 | 139 | #Values for PROCESS_STATE: 140 | # ENABLED 141 | # DISABLED 142 | 143 | #Values for LOW_RAM_TARGETS: 144 | # ENABLED 145 | # DISABLED 146 | # Property to enable/disable processes for low ram targets. Uses ro.config.low_ram property 147 | # to identify low ram targets. 148 | 149 | #PROCESS_NAME 150 | # Name of the executable file. 151 | 152 | #FEATURE MASKS: 153 | # GTP-WIFI 0X03 154 | # GTP-MP-CELL 0xc00 155 | # GTP-WAA 0x100 156 | # SAP 0Xc0 157 | # ODCPI 0x1000 158 | # FREE_WIFI_SCAN_INJECT 0x2000 159 | # SUPL_WIFI 0x4000 160 | # WIFI_SUPPLICANT_INFO 0x8000 161 | 162 | #Values for PLATFORMS can be: 163 | #1. Any valid values obtained from ro.board.platform separated by single space. For example: msm8960 msm8226 164 | #2. 'all' or 'all exclude' -> for All platforms 165 | #3. 'all exclude XXXX' -> All platforms exclude XXXX. For example: all exclude msm8937 166 | 167 | #Values for SOC_IDS can be: 168 | #1. Any valid values obtained from soc_id node separated by single space. For example: 339 386 436 169 | ## soc_id value can be obtained from any one of below node: 170 | ## - /sys/devices/soc0/soc_id 171 | ## - /sys/devices/system/soc/soc0/id 172 | #2. 'all' or 'all exclude' -> for All soc id's 173 | #3. 'all exclude XXXX' -> All soc id's exclude XXXX. For example: all exclude 339 386 174 | 175 | #Values for BASEBAND can be: 176 | #1. Any valid values obtained from ro.baseband separated by single space. For example: sglte sglte2 177 | #2. 'all' or 'all exclude' -> for all basebands 178 | #3. 'all exclude XXXX' -> All basebands exclude XXXX. For example: all exclude sglte 179 | PROCESS_NAME=lowi-server 180 | PROCESS_ARGUMENT= 181 | PROCESS_STATE=DISABLED 182 | PROCESS_GROUPS=gps wifi inet oem_2901 183 | PREMIUM_FEATURE=0 184 | IZAT_FEATURE_MASK=0xf303 185 | PLATFORMS=all 186 | SOC_IDS=all 187 | BASEBAND=all 188 | LOW_RAM_TARGETS=DISABLED 189 | HARDWARE_TYPE=all 190 | VENDOR_ENHANCED_PROCESS=0 191 | 192 | PROCESS_NAME=xtwifi-inet-agent 193 | PROCESS_ARGUMENT= 194 | PROCESS_STATE=DISABLED 195 | PROCESS_GROUPS=inet gps 196 | PREMIUM_FEATURE=1 197 | IZAT_FEATURE_MASK=0xc03 198 | PLATFORMS=all 199 | SOC_IDS=all exclude 386 436 200 | BASEBAND=all 201 | LOW_RAM_TARGETS=DISABLED 202 | HARDWARE_TYPE=all 203 | VENDOR_ENHANCED_PROCESS=1 204 | 205 | PROCESS_NAME=xtwifi-client 206 | PROCESS_ARGUMENT= 207 | PROCESS_STATE=DISABLED 208 | PROCESS_GROUPS=wifi inet gps system oem_2904 209 | PREMIUM_FEATURE=1 210 | IZAT_FEATURE_MASK=0xd03 211 | PLATFORMS=all 212 | SOC_IDS=all exclude 386 436 213 | BASEBAND=all 214 | LOW_RAM_TARGETS=DISABLED 215 | HARDWARE_TYPE=all 216 | VENDOR_ENHANCED_PROCESS=1 217 | 218 | PROCESS_NAME=slim_daemon 219 | PROCESS_ARGUMENT= 220 | PROCESS_STATE=DISABLED 221 | PROCESS_GROUPS=gps oem_2901 can plugdev diag sensors 222 | PREMIUM_FEATURE=1 223 | IZAT_FEATURE_MASK=0xf0 224 | PLATFORMS=all 225 | SOC_IDS=all exclude 386 436 226 | BASEBAND=all 227 | LOW_RAM_TARGETS=DISABLED 228 | HARDWARE_TYPE=all 229 | VENDOR_ENHANCED_PROCESS=1 230 | 231 | PROCESS_NAME=xtra-daemon 232 | PROCESS_ARGUMENT= 233 | PROCESS_STATE=ENABLED 234 | PROCESS_GROUPS=inet gps system 235 | PREMIUM_FEATURE=0 236 | IZAT_FEATURE_MASK=0 237 | PLATFORMS=all 238 | SOC_IDS=all 239 | BASEBAND=all 240 | LOW_RAM_TARGETS=ENABLED 241 | HARDWARE_TYPE=all 242 | VENDOR_ENHANCED_PROCESS=0 243 | 244 | ######################################## 245 | # Engine Service which host DRE module # 246 | # To enable DRE engine service, change # 247 | # PROCESS_STATE=ENABLED # 248 | ######################################## 249 | PROCESS_NAME=engine-service 250 | PROCESS_ARGUMENT=DRE-INT libloc_epDr.so 251 | PROCESS_STATE=DISABLED 252 | PROCESS_GROUPS=gps diag inet qwes oem_2901 system 253 | PREMIUM_FEATURE=0 254 | IZAT_FEATURE_MASK=0 255 | PLATFORMS=all 256 | SOC_IDS=all 257 | BASEBAND=all 258 | LOW_RAM_TARGETS=DISABLED 259 | HARDWARE_TYPE=all 260 | VENDOR_ENHANCED_PROCESS=1 261 | 262 | ######################################## 263 | # Engine Service which host PPE module # 264 | # To enable PPE engine service, change # 265 | # PROCESS_STATE=ENABLED # 266 | # and update process arugements # 267 | # with PPE library name # 268 | #PROCESS_ARGUMENT=PPE libepsimulator.so# 269 | ######################################## 270 | PROCESS_NAME=engine-service 271 | PROCESS_ARGUMENT=PPE libepsimulator.so 272 | PROCESS_STATE=DISABLED 273 | PROCESS_GROUPS=gps diag inet qwes oem_2901 system 274 | PREMIUM_FEATURE=0 275 | IZAT_FEATURE_MASK=0 276 | PLATFORMS=all 277 | SOC_IDS=all 278 | BASEBAND=all 279 | LOW_RAM_TARGETS=DISABLED 280 | HARDWARE_TYPE=all 281 | VENDOR_ENHANCED_PROCESS=1 282 | -------------------------------------------------------------------------------- /audio/default_volume_tables.xml: -------------------------------------------------------------------------------- 1 | 2 | 16 | 17 | 18 | 19 | 20 | 21 | 0,0 22 | 100,0 23 | 24 | 25 | 0,-9600 26 | 100,-9600 27 | 28 | 30 | 31 | 32 | 0,-4200 33 | 33,-2800 34 | 66,-1400 35 | 100,0 36 | 37 | 38 | 39 | 40 | 1,-2400 41 | 33,-1800 42 | 66,-1200 43 | 100,0 44 | 45 | 46 | 47 | 55 | 1,-7000 56 | 10,-6100 57 | 20,-5530 58 | 30,-4950 59 | 40,-4350 60 | 50,-3740 61 | 60,-3140 62 | 70,-2840 63 | 80,-2550 64 | 90,-2240 65 | 100,-1995 66 | 110,-1650 67 | 120,-1350 68 | 130,-1050 69 | 140,-740 70 | 150,-440 71 | 160,-150 72 | 73 | 74 | 76 | 77 | 78 | 1,-7000 79 | 10,-6200 80 | 20,-5600 81 | 30,-5000 82 | 40,-4400 83 | 50,-3800 84 | 60,-3200 85 | 70,-2800 86 | 80,-2550 87 | 90,-2240 88 | 100,-1900 89 | 110,-1600 90 | 120,-1300 91 | 130,-1000 92 | 140,-700 93 | 150,-400 94 | 160,-125 95 | 96 | 97 | 98 | 99 | 107 | 1,-7000 108 | 10,-5200 109 | 20,-4800 110 | 30,-4400 111 | 40,-4000 112 | 50,-3600 113 | 60,-3200 114 | 70,-2800 115 | 80,-2400 116 | 90,-2000 117 | 100,-1700 118 | 110,-1450 119 | 120,-1200 120 | 130,-900 121 | 140,-600 122 | 150,-300 123 | 160,0 124 | 125 | 126 | 127 | 128 | 1,-4950 129 | 33,-3350 130 | 66,-1700 131 | 100,0 132 | 133 | 134 | 135 | 143 | 1,-6000 144 | 10,-5030 145 | 20,-4200 146 | 30,-3280 147 | 40,-2780 148 | 50,-2320 149 | 60,-1975 150 | 70,-1650 151 | 80,-1510 152 | 90,-1370 153 | 100,-1230 154 | 110,-1070 155 | 120,-930 156 | 130,-650 157 | 140,-400 158 | 150,-200 159 | 160,0 160 | 161 | 162 | 163 | 164 | 1,-4950 165 | 33,-3350 166 | 66,-1700 167 | 100,0 168 | 169 | 170 | 171 | 1,-5800 172 | 20,-4000 173 | 60,-2100 174 | 100,-1000 175 | 176 | 177 | 178 | 1,-12700 179 | 20,-8000 180 | 60,-4000 181 | 100,0 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 0,-5800 191 | 20,-4000 192 | 60,-1700 193 | 100,0 194 | 195 | 196 | 197 | 198 | 0,-4950 199 | 33,-3350 200 | 66,-1700 201 | 100,0 202 | 203 | 204 | 205 | 206 | 0,-5800 207 | 20,-4000 208 | 60,-1700 209 | 100,0 210 | 211 | 212 | 213 | 214 | 0,-4950 215 | 33,-3350 216 | 66,-1700 217 | 100,0 218 | 219 | 220 | 221 | 222 | 0,-5800 223 | 20,-4000 224 | 60,-2100 225 | 100,-1000 226 | 227 | 228 | 229 | 230 | 0,-12700 231 | 20,-8000 232 | 60,-4000 233 | 100,0 234 | 235 | 236 | -------------------------------------------------------------------------------- /init/init.oplus.rc: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (C) 2022 The LineageOS Project 3 | # 4 | # SPDX-License-Identifier: Apache-2.0 5 | # 6 | 7 | on init 8 | # Charger 9 | write /proc/fastchg_fw_update 1 10 | write /proc/ui_soc_decimal 1 11 | 12 | # Migrate cpuctl tasks once to cpuctl system 13 | copy_per_line /dev/cpuctl/tasks /dev/cpuctl/system/tasks 14 | 15 | on fs 16 | # Update touchpanel firmware in case we ship newer firmware in /odm 17 | write /proc/touchpanel/tp_fw_update 0 18 | 19 | on post-fs-data 20 | # Media XML codecs 21 | setprop ro.media.xml_variant.codecs _kona 22 | setprop ro.media.xml_variant.codecs_performance _kona 23 | 24 | # Vibrator 25 | chown audioserver audioserver /dev/awinic_haptic 26 | 27 | on early-boot 28 | # Radio 29 | exec_start oplus-sh 30 | setprop persist.radio.multisim.config ${vendor.radio.multisim.config} 31 | 32 | # SSR 33 | write /sys/bus/msm_subsys/devices/subsys0/restart_level RELATED 34 | write /sys/bus/msm_subsys/devices/subsys1/restart_level RELATED 35 | write /sys/bus/msm_subsys/devices/subsys2/restart_level RELATED 36 | write /sys/bus/msm_subsys/devices/subsys3/restart_level RELATED 37 | write /sys/bus/msm_subsys/devices/subsys4/restart_level RELATED 38 | write /sys/bus/msm_subsys/devices/subsys5/restart_level RELATED 39 | write /sys/bus/msm_subsys/devices/subsys6/restart_level RELATED 40 | write /sys/bus/msm_subsys/devices/subsys7/restart_level RELATED 41 | write /sys/bus/msm_subsys/devices/subsys8/restart_level RELATED 42 | write /sys/bus/msm_subsys/devices/subsys9/restart_level RELATED 43 | write /sys/bus/msm_subsys/devices/subsys10/restart_level RELATED 44 | write /sys/bus/msm_subsys/devices/subsys11/restart_level RELATED 45 | 46 | on boot 47 | # Charger 48 | chown system system /proc/charger/charger_factorymode_test 49 | chown system system /proc/charger/integrate_gauge_fcc_flag 50 | chown system system /proc/charger/hmac 51 | chown system system /proc/charger_critical_log 52 | chown system system /proc/fastchg_fw_update 53 | chown system system /proc/tbatt_pwroff 54 | 55 | chown system system /sys/class/oplus_chg/battery/call_mode 56 | chown system system /sys/class/oplus_chg/battery/cool_down 57 | chown system system /sys/class/oplus_chg/battery/bcc_current 58 | chown system system /sys/class/oplus_chg/battery/bcc_exception 59 | chown system system /sys/class/oplus_chg/battery/em_mode 60 | chown system system /sys/class/oplus_chg/battery/mmi_charging_enable 61 | chown system system /sys/class/oplus_chg/battery/ship_mode 62 | chown system system /sys/class/oplus_chg/battery/short_c_hw_status 63 | chown system system /sys/class/oplus_chg/battery/short_c_hw_feature 64 | chown system system /sys/class/oplus_chg/battery/short_c_limit_chg 65 | chown system system /sys/class/oplus_chg/battery/short_c_limit_rechg 66 | chown system system /sys/class/oplus_chg/battery/short_ic_otp_status 67 | chown system system /sys/class/oplus_chg/battery/short_ic_otp_value 68 | chown system system /sys/class/oplus_chg/battery/short_ic_volt_thresh 69 | chown system system /sys/class/oplus_chg/battery/soc_ajust 70 | chown system system /sys/class/power_supply/battery/battery_info 71 | chown system system /sys/class/power_supply/battery/battery_info_id 72 | chown system system /sys/class/power_supply/battery/charging_enabled 73 | chown system system /sys/class/power_supply/battery/cool_down 74 | chown system system /sys/class/power_supply/battery/ship_mode 75 | chown system system /sys/class/power_supply/battery/restore_soc 76 | chown system system /sys/class/power_supply/battery/short_c_batt_in_idle 77 | chown system system /sys/class/power_supply/battery/short_c_batt_limit_chg 78 | chown system system /sys/class/power_supply/battery/short_c_batt_limit_rechg 79 | chown system system /sys/class/power_supply/battery/short_c_batt_update_change 80 | chown system system /sys/class/power_supply/battery/short_c_hw_feature 81 | chown system system /sys/class/power_supply/battery/short_ic_otp_status 82 | chown system system /sys/class/power_supply/battery/short_ic_volt_thresh 83 | chown system system /sys/class/power_supply/battery/smooth_switch 84 | chown system system /sys/class/power_supply/battery/soc_notify_ready 85 | chown system system /sys/class/power_supply/battery/soc_reporting_ready 86 | 87 | chown system system /sys/class/oplus_chg/usb/otg_switch 88 | chown system system /sys/class/power_supply/usb/otg_switch 89 | chown system system /sys/class/power_supply/usb/type 90 | 91 | # Display 92 | chmod 0666 /dev/oplus_display 93 | chmod 0666 /sys/kernel/oplus_display/dimlayer_bl_en 94 | chmod 0666 /sys/kernel/oplus_display/dynamic_osc_clock 95 | chmod 0666 /sys/kernel/oplus_display/hbm 96 | chmod 0666 /sys/kernel/oplus_display/notify_fppress 97 | chmod 0666 /sys/kernel/oplus_display/panel_serial_number 98 | chmod 0666 /sys/kernel/oplus_display/power_status 99 | 100 | chown system system /dev/oplus_display 101 | chown system system /sys/kernel/oplus_display/dimlayer_bl_en 102 | chown system system /sys/kernel/oplus_display/dynamic_osc_clock 103 | chown system system /sys/kernel/oplus_display/hbm 104 | chown system system /sys/kernel/oplus_display/notify_fppress 105 | chown system system /sys/kernel/oplus_display/panel_serial_number 106 | chown system system /sys/kernel/oplus_display/power_status 107 | 108 | # TOF 109 | chown cameraserver cameraserver /dev/stmvl53l1_ranging 110 | 111 | # Sensors 112 | chown system system /sys/devices/platform/soc/soc:sensor_fb/adsp_notify 113 | 114 | on property:ro.boot.prjname=* 115 | # Display 116 | setprop ro.separate.soft ${ro.boot.prjname} 117 | 118 | on property:sys.boot_completed=1 119 | # Display 120 | chown system system /mnt/vendor/persist/data/pfm/licenses/1000-1000-no-exp-1186717196.pfm 121 | chown system system /mnt/vendor/persist/data/pfm/licenses/1000-1000-no-exp-958228818.pfm 122 | 123 | # Migrate tasks again in case kernel threads are created during boot 124 | copy_per_line /dev/cpuctl/tasks /dev/cpuctl/system/tasks 125 | 126 | on property:vendor.post_boot.parsed=1 127 | # Configure UClamp 128 | write /dev/cpuctl/top-app/cpu.uclamp.latency_sensitive 1 129 | 130 | write /dev/cpuctl/background/cpu.uclamp.max 50 131 | write /dev/cpuctl/system-background/cpu.uclamp.max 50 132 | write /dev/cpuctl/dex2oat/cpu.uclamp.max 60 133 | 134 | # Configure CGroup tunning 135 | write /dev/cpuctl/background/cpu.shares 1024 136 | write /dev/cpuctl/system-background/cpu.shares 1024 137 | write /dev/cpuctl/dex2oat/cpu.shares 512 138 | write /dev/cpuctl/system/cpu.shares 20480 139 | write /dev/cpuctl/camera-daemon/cpu.shares 20480 140 | write /dev/cpuctl/foreground/cpu.shares 20480 141 | write /dev/cpuctl/nnapi-hal/cpu.shares 20480 142 | write /dev/cpuctl/rt/cpu.shares 20480 143 | write /dev/cpuctl/top-app/cpu.shares 20480 144 | 145 | on property:sys.usb.config=adb && property:sys.usb.configfs=1 146 | write /config/usb_gadget/g1/idVendor 0x22D9 147 | write /config/usb_gadget/g1/idProduct 0x2769 148 | 149 | on property:sys.usb.config=mass_storage && property:sys.usb.configfs=1 150 | write /config/usb_gadget/g1/idProduct 0x2768 151 | write /config/usb_gadget/g1/idVendor 0x22D9 152 | 153 | on property:sys.usb.config=mtp && property:sys.usb.configfs=1 154 | write /config/usb_gadget/g1/idVendor 0x22D9 155 | write /config/usb_gadget/g1/idProduct 0x2764 156 | 157 | on property:sys.usb.config=mtp,adb && property:sys.usb.configfs=1 158 | write /config/usb_gadget/g1/idVendor 0x22D9 159 | write /config/usb_gadget/g1/idProduct 0x2765 160 | 161 | on property:sys.usb.config=ptp && property:sys.usb.configfs=1 162 | write /config/usb_gadget/g1/idVendor 0x22D9 163 | write /config/usb_gadget/g1/idProduct 0x2771 164 | 165 | on property:sys.usb.config=ptp,adb && property:sys.usb.configfs=1 166 | write /config/usb_gadget/g1/idVendor 0x22D9 167 | write /config/usb_gadget/g1/idProduct 0x2772 168 | 169 | on property:sys.usb.config=rndis,none && property:sys.usb.configfs=1 170 | write /config/usb_gadget/g1/idVendor 0x22D9 171 | write /config/usb_gadget/g1/idProduct 0x276A 172 | 173 | on property:sys.usb.config=rndis,serial_cdev,diag && property:sys.usb.configfs=1 174 | write /config/usb_gadget/g1/idVendor 0x22D9 175 | write /config/usb_gadget/g1/idProduct 0x2783 176 | 177 | on property:sys.usb.ffs.ready=1 && property:sys.usb.config=diag,adb && property:sys.usb.configfs=1 178 | write /config/usb_gadget/g1/idVendor 0x22D9 179 | write /config/usb_gadget/g1/idProduct 0x276C 180 | 181 | on property:sys.usb.ffs.ready=1 && property:sys.usb.config=diag,diag_mdm,adb && property:sys.usb.configfs=1 182 | write /config/usb_gadget/g1/idVendor 0x22D9 183 | write /config/usb_gadget/g1/idProduct 0x276E 184 | 185 | on property:sys.usb.ffs.ready=1 && property:sys.usb.config=mass_storage,adb && property:sys.usb.configfs=1 186 | write /config/usb_gadget/g1/idVendor 0x22D9 187 | write /config/usb_gadget/g1/idProduct 0x2767 188 | 189 | on property:sys.usb.ffs.ready=1 && property:sys.usb.config=rndis,diag,adb && property:sys.usb.configfs=1 190 | write /config/usb_gadget/g1/idVendor 0x22D9 191 | write /config/usb_gadget/g1/idProduct 0x2775 192 | 193 | on property:sys.usb.ffs.ready=1 && property:sys.usb.config=rndis,none,adb && property:sys.usb.configfs=1 194 | write /config/usb_gadget/g1/idVendor 0x22D9 195 | write /config/usb_gadget/g1/idProduct 0x2766 196 | 197 | service oplus-sh /odm/bin/init.oplus.sh 198 | user root 199 | group root 200 | oneshot 201 | 202 | service oplus_sensor_fb /odm/bin/oplus_sensor_fb 203 | user system 204 | group system 205 | class late_start 206 | oneshot 207 | 208 | service vl53l1_daemon_main /odm/bin/vl53l1_daemon_main 209 | class late_start 210 | user root 211 | group root 212 | socket vl53l1_daemon stream 660 root system 213 | -------------------------------------------------------------------------------- /audio/audio_effects.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | -------------------------------------------------------------------------------- /common.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (C) 2020 The LineageOS Project 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | # Enable project quotas and casefolding for emulated storage without sdcardfs 18 | $(call inherit-product, $(SRC_TARGET_DIR)/product/emulated_storage.mk) 19 | 20 | # Enable updating of APEXes 21 | $(call inherit-product, $(SRC_TARGET_DIR)/product/updatable_apex.mk) 22 | 23 | # Setup dalvik vm configs 24 | $(call inherit-product, frameworks/native/build/phone-xhdpi-6144-dalvik-heap.mk) 25 | 26 | # Inherit proprietary libraries 27 | $(call inherit-product, vendor/realme/sm8250-common/sm8250-common-vendor.mk) 28 | 29 | # Audio 30 | PRODUCT_PACKAGES += \ 31 | libshims_ozoc2store 32 | 33 | PRODUCT_COPY_FILES += \ 34 | $(LOCAL_PATH)/audio/audio_effects.xml:$(TARGET_COPY_OUT_ODM)/etc/audio_effects.xml \ 35 | $(LOCAL_PATH)/audio/audio_effects.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.xml \ 36 | $(LOCAL_PATH)/audio/audio_io_policy.conf:$(TARGET_COPY_OUT_ODM)/etc/audio_io_policy.conf \ 37 | $(LOCAL_PATH)/audio/audio_io_policy.conf:$(TARGET_COPY_OUT_VENDOR)/etc/audio_io_policy.conf \ 38 | $(LOCAL_PATH)/audio/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml \ 39 | $(LOCAL_PATH)/audio/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default_volume_tables.xml 40 | 41 | # Camera 42 | PRODUCT_PACKAGES += \ 43 | android.hardware.camera.provider@2.4-impl \ 44 | android.hardware.camera.provider@2.4-service_64 \ 45 | vendor.qti.hardware.camera.device@1.0.vendor \ 46 | vendor.qti.hardware.camera.postproc@1.0.vendor 47 | 48 | PRODUCT_PACKAGES += \ 49 | libcamera2ndk_vendor \ 50 | libcamera_metadata_shim 51 | 52 | PRODUCT_COPY_FILES += \ 53 | frameworks/native/data/etc/android.hardware.camera.flash-autofocus.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.flash-autofocus.xml \ 54 | frameworks/native/data/etc/android.hardware.camera.front.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.front.xml \ 55 | frameworks/native/data/etc/android.hardware.camera.full.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.full.xml \ 56 | frameworks/native/data/etc/android.hardware.camera.raw.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.raw.xml 57 | 58 | # Charateristics 59 | PRODUCT_CHARACTERISTICS := nosdcard 60 | 61 | # Display 62 | PRODUCT_PACKAGES += \ 63 | android.hardware.graphics.common-V1-ndk.vendor 64 | 65 | # Dolby 66 | PRODUCT_PACKAGES += \ 67 | DolbyManager 68 | 69 | # Doze 70 | PRODUCT_PACKAGES += \ 71 | ParanoidDoze 72 | 73 | # DRM 74 | PRODUCT_PACKAGES += \ 75 | android.hardware.drm@1.3.vendor \ 76 | android.hardware.drm-service.clearkey 77 | 78 | # fastbootd 79 | PRODUCT_PACKAGES += \ 80 | fastbootd 81 | 82 | # Fingerprint 83 | TARGET_USES_FOD_ZPOS := true 84 | 85 | PRODUCT_PACKAGES += \ 86 | android.hardware.biometrics.fingerprint@2.3-service.oplus 87 | 88 | PRODUCT_COPY_FILES += \ 89 | frameworks/native/data/etc/android.hardware.fingerprint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.fingerprint.xml 90 | 91 | # Gatekeeper 92 | PRODUCT_PACKAGES += \ 93 | android.hardware.gatekeeper@1.0.vendor 94 | 95 | # GPS 96 | PRODUCT_COPY_FILES += \ 97 | $(LOCAL_PATH)/configs/gps/gps.conf:$(TARGET_COPY_OUT_VENDOR)/etc/gps.conf \ 98 | $(LOCAL_PATH)/configs/gps/izat.conf:$(TARGET_COPY_OUT_VENDOR)/etc/izat.conf 99 | 100 | # HIDL 101 | PRODUCT_PACKAGES += \ 102 | libhidltransport.vendor \ 103 | libhwbinder.vendor 104 | 105 | # Hotword Enrollment 106 | PRODUCT_COPY_FILES += \ 107 | $(LOCAL_PATH)/configs/permissions/privapp-permissions-hotword.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/permissions/privapp-permissions-hotword.xml 108 | 109 | # Init 110 | PRODUCT_PACKAGES += \ 111 | fstab.qcom \ 112 | fstab.qcom.ramdisk \ 113 | init.oplus.rc \ 114 | init.oplus.sh \ 115 | init.target.rc \ 116 | ueventd.oplus.rc 117 | 118 | # Keymaster 119 | PRODUCT_PACKAGES += \ 120 | android.hardware.keymaster@4.1.vendor 121 | 122 | # Media 123 | TARGET_USES_CUSTOM_C2_MANIFEST := true 124 | GENERIC_ODM_IMAGE := true 125 | 126 | PRODUCT_COPY_FILES += \ 127 | $(LOCAL_PATH)/media/media_codecs_c2.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_c2.xml \ 128 | $(LOCAL_PATH)/media/media_codecs_vendor_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_vendor_audio.xml 129 | 130 | # Neural networks 131 | PRODUCT_PACKAGES += \ 132 | android.hardware.neuralnetworks@1.3.vendor 133 | 134 | # NFC 135 | PRODUCT_PACKAGES += \ 136 | android.hardware.nfc-service.nxp 137 | 138 | PRODUCT_PACKAGES += \ 139 | NfcNci \ 140 | Tag \ 141 | com.android.nfc_extras 142 | 143 | PRODUCT_COPY_FILES += \ 144 | $(LOCAL_PATH)/configs/nfc/libnfc-nci.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libnfc-nci.conf \ 145 | $(LOCAL_PATH)/configs/nfc/libnfc-nxp.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libnfc-nxp.conf 146 | 147 | PRODUCT_COPY_FILES += \ 148 | frameworks/native/data/etc/android.hardware.nfc.ese.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.ese.xml \ 149 | frameworks/native/data/etc/android.hardware.nfc.hce.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hce.xml \ 150 | frameworks/native/data/etc/android.hardware.nfc.hcef.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hcef.xml \ 151 | frameworks/native/data/etc/android.hardware.nfc.uicc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.uicc.xml \ 152 | frameworks/native/data/etc/android.hardware.nfc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.xml \ 153 | frameworks/native/data/etc/android.hardware.se.omapi.uicc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.se.omapi.uicc.xml 154 | 155 | # Overlays 156 | PRODUCT_PACKAGES += \ 157 | AOSPAOPlusFrameworksResCommon \ 158 | OPlusCarrierConfigResCommon \ 159 | OPlusFrameworksResCommon \ 160 | OPlusNfcResCommon \ 161 | OPlusSettingsResCommon \ 162 | OPlusSystemUIResCommon \ 163 | OPlusTetheringResCommon 164 | 165 | # Partition 166 | PRODUCT_BUILD_SUPER_PARTITION := false 167 | PRODUCT_USE_DYNAMIC_PARTITIONS := true 168 | 169 | # Perf 170 | PRODUCT_COPY_FILES += \ 171 | $(LOCAL_PATH)/configs/perf/task_profiles.json:$(TARGET_COPY_OUT_VENDOR)/etc/task_profiles.json 172 | 173 | # QTI 174 | TARGET_BOARD_PLATFORM := kona 175 | 176 | TARGET_COMMON_QTI_COMPONENTS := \ 177 | adreno \ 178 | alarm \ 179 | audio \ 180 | av \ 181 | bt \ 182 | charging \ 183 | display \ 184 | dsprpcd \ 185 | gps \ 186 | init \ 187 | media \ 188 | overlay \ 189 | perf \ 190 | telephony \ 191 | usb \ 192 | wfd \ 193 | wlan 194 | 195 | # RIL 196 | PRODUCT_PACKAGES += \ 197 | libshims_ocsclk 198 | 199 | # Sensors 200 | PRODUCT_PACKAGES += \ 201 | android.hardware.sensors-service.multihal 202 | 203 | PRODUCT_PACKAGES += \ 204 | libsensorndkbridge \ 205 | sensors.oplus 206 | 207 | PRODUCT_COPY_FILES += \ 208 | $(LOCAL_PATH)/configs/sensors/hals.conf:$(TARGET_COPY_OUT_VENDOR)/etc/sensors/hals.conf 209 | 210 | PRODUCT_COPY_FILES += \ 211 | frameworks/native/data/etc/android.hardware.sensor.accelerometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.accelerometer.xml \ 212 | frameworks/native/data/etc/android.hardware.sensor.ambient_temperature.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.ambient_temperature.xml \ 213 | frameworks/native/data/etc/android.hardware.sensor.barometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.barometer.xml \ 214 | frameworks/native/data/etc/android.hardware.sensor.compass.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.compass.xml \ 215 | frameworks/native/data/etc/android.hardware.sensor.gyroscope.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.gyroscope.xml \ 216 | frameworks/native/data/etc/android.hardware.sensor.hifi_sensors.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.hifi_sensors.xml \ 217 | frameworks/native/data/etc/android.hardware.sensor.light.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.light.xml \ 218 | frameworks/native/data/etc/android.hardware.sensor.proximity.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.proximity.xml \ 219 | frameworks/native/data/etc/android.hardware.sensor.relative_humidity.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.relative_humidity.xml \ 220 | frameworks/native/data/etc/android.hardware.sensor.stepcounter.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.stepcounter.xml \ 221 | frameworks/native/data/etc/android.hardware.sensor.stepdetector.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.stepdetector.xml 222 | 223 | # Soong namespaces 224 | PRODUCT_SOONG_NAMESPACES += \ 225 | device/realme/sm8250-common \ 226 | hardware/oplus \ 227 | hardware/nxp/nfc 228 | 229 | # Thermal 230 | PRODUCT_PACKAGES += \ 231 | android.hardware.thermal@2.0-service.qti 232 | 233 | # Userdata 234 | PRODUCT_FS_COMPRESSION := 1 235 | 236 | # Verified boot 237 | PRODUCT_COPY_FILES += \ 238 | frameworks/native/data/etc/android.software.verified_boot.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.verified_boot.xml 239 | 240 | # Vibrator 241 | PRODUCT_COPY_FILES += \ 242 | vendor/qcom/opensource/vibrator/excluded-input-devices.xml:$(TARGET_COPY_OUT_VENDOR)/etc/excluded-input-devices.xml 243 | 244 | # VNDK 245 | PRODUCT_PACKAGES += \ 246 | android.hardware.graphics.common-V1-ndk_platform.vendor \ 247 | android.hardware.vibrator-V1-ndk_platform.vendor 248 | 249 | PRODUCT_COPY_FILES += \ 250 | prebuilts/vndk/v30/arm/arch-arm-armv7-a-neon/shared/vndk-core/libui.so:$(TARGET_COPY_OUT_VENDOR)/lib/libui-v30.so \ 251 | prebuilts/vndk/v33/arm/arch-arm-armv7-a-neon/shared/vndk-core/libstagefright_foundation.so:$(TARGET_COPY_OUT_VENDOR)/lib/libstagefright_foundation-v33.so \ 252 | prebuilts/vndk/v33/arm64/arch-arm64-armv8-a/shared/vndk-core/libstagefright_foundation.so:$(TARGET_COPY_OUT_VENDOR)/lib64/libstagefright_foundation-v33.so 253 | 254 | # WiFi 255 | PRODUCT_COPY_FILES += \ 256 | $(LOCAL_PATH)/wifi/p2p_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/p2p_supplicant_overlay.conf \ 257 | $(LOCAL_PATH)/wifi/WCNSS_qcom_cfg.ini:$(TARGET_COPY_OUT_ODM)/vendor/etc/wifi/WCNSS_qcom_cfg.ini \ 258 | $(LOCAL_PATH)/wifi/WCNSS_qcom_cfg.ini:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/qca6390/WCNSS_qcom_cfg.ini \ 259 | $(LOCAL_PATH)/wifi/wpa_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/wpa_supplicant_overlay.conf 260 | 261 | PRODUCT_COPY_FILES += \ 262 | frameworks/native/data/etc/android.hardware.wifi.aware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.aware.xml \ 263 | frameworks/native/data/etc/android.hardware.wifi.passpoint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.passpoint.xml 264 | -------------------------------------------------------------------------------- /wifi/WCNSS_qcom_cfg.ini: -------------------------------------------------------------------------------- 1 | # This file allows user to override the factory 2 | # defaults for the WLAN Driver 3 | 4 | # Phy Mode (auto, b, g, n, etc) 5 | # Valid values are 0-12, with 0(Min) = Auto, 12(Max) = 11ax 6 | # 1 = 11abg, 2 = 11b, 3 = 11g, 4 = 11n, 5 = 11g only, 6 = 11n only 7 | # 7 = 11b only 8 = 11ac only, 9 = 11ac, 12 = 11ax. 8 | gDot11Mode=0 9 | 10 | # UAPSD service interval for VO,VI, BE, BK traffic 11 | InfraUapsdVoSrvIntv=0 12 | InfraUapsdViSrvIntv=0 13 | InfraUapsdBeSrvIntv=0 14 | InfraUapsdBkSrvIntv=0 15 | 16 | # Flag to allow STA send AddTspec even when ACM is Off 17 | gAddTSWhenACMIsOff=1 18 | 19 | #Enable OBSS protection 20 | gEnableApOBSSProt=1 21 | 22 | # Maximum Tx power 23 | # gTxPowerCap=30 24 | 25 | # Fragmentation Threshold 26 | # gFragmentationThreshold=2346 27 | 28 | # RTS threshold 29 | RTSThreshold=1048576 30 | 31 | # WMM Enable/Disable 32 | WmmIsEnabled=0 33 | 34 | # 802.11d support 35 | g11dSupportEnabled=0 36 | 37 | # DFS Master Capability 38 | gEnableDFSMasterCap=1 39 | 40 | ImplicitQosIsEnabled=0 41 | 42 | gNeighborScanTimerPeriod=200 43 | gNeighborLookupThreshold=85 44 | 45 | # Legacy (non-ESE, non-802.11r) Fast Roaming Support 46 | # To enable, set FastRoamEnabled=1 47 | # To disable, set FastRoamEnabled=0 48 | FastRoamEnabled=1 49 | 50 | # Check if the AP to which we are roaming is better than current AP in 51 | # terms of RSSI. Checking is disabled if set to Zero.Otherwise it will 52 | # use this value as to how better the RSSI of the new/roamable AP should 53 | # be for roaming 54 | RoamRssiDiff=5 55 | 56 | #add for select 5G wifi preferentially 57 | gRoamPrefer5GHz=1 58 | gSelect5GHzMargin=5 59 | 60 | # avoid background roaming roam from 2g to 5g 61 | # RSSI threshold offset for 2G to 5G roam 62 | roam_bad_rssi_thresh_offset_2g=0 63 | 64 | #Add for dense roam 65 | gtraffic_threshold=55 66 | groam_dense_rssi_thresh_offset=0 67 | 68 | #add for roam scan diff 69 | gRoamRescanRssiDiff=3 70 | 71 | #add for disable background scan roam 72 | roam_bg_scan_client_bitmap=0 73 | 74 | #Channel Bonding 75 | gChannelBondingMode5GHz=1 76 | 77 | #Say gGoKeepAlivePeriod(5 seconds) and gGoLinkMonitorPeriod(10 seconds). 78 | #For every 10 seconds DUT send Qos Null frame(i.e., Keep Alive frame if link 79 | #is idle for last 10 seconds.) For both active and power save clients. 80 | 81 | #Power save clients: DUT set TIM bit from 10th second onwards and till client 82 | #honors TIM bit. If doesn't honor for 5 seconds then DUT remove client. 83 | 84 | #Active clients: DUT send Qos Null frame for 10th seconds onwards if it is not 85 | #success still we try on 11th second if not tries on 12th and so on till 15th 86 | #second. Hence before disconnection DUT will send 5 NULL frames. Hence in any 87 | #case DUT will detect client got removed in (10+5) seconds. 88 | #i.e., (gGoKeepAlivePeriod + gGoLinkMonitorPeriod).. 89 | 90 | #gGoLinkMonitorPeriod/ gApLinkMonitorPeriod is period where link is idle and 91 | #it is period where we send NULL frame. 92 | #gApLinkMonitorPeriod = 10 93 | #gGoLinkMonitorPeriod = 10 94 | 95 | #gApKeepAlivePeriod is time to spend to check whether frame 96 | #are succeed to send or not. Hence total effective detection time is 97 | #(gApLinkMonitorPeriod + gApKeepAlivePeriod) 98 | 99 | # Enable DFS channel roam 100 | # 0: DISABLE, 1: ENABLED_NORMAL, 2: ENABLED_ACTIVE 101 | gAllowDFSChannelRoam=1 102 | 103 | gVhtChannelWidth=2 104 | 105 | # Set txchainmask and rxchainmask 106 | # These parameters are used only if gEnable2x2 is 0 107 | # Valid values are 1,2 108 | # Set gSetTxChainmask1x1=1 or gSetRxChainmask1x1=1 to select chain0. 109 | # Set gSetTxChainmask1x1=2 or gSetRxChainmask1x1=2 to select chain1. 110 | gSetTxChainmask1x1=1 111 | gSetRxChainmask1x1=1 112 | 113 | # MCC to SCC Switch mode: 114 | # 0-Disable 115 | # 1-Enable 116 | # 2-Force SCC if same band, with SAP restart 117 | # 3-Force SCC if same band, without SAP restart by sending (E)CSA 118 | # 4-Force SCC if same band (or) use SAP mandatory channel for DBS, 119 | # without SAP restart by sending (E)CSA 120 | gWlanMccToSccSwitchMode = 3 121 | 122 | # 1=enable tx STBC; 0=disable 123 | gEnableTXSTBC=1 124 | 125 | #Enable/Disable Tx beamformee in SAP mode 126 | gEnableTxBFeeSAP=1 127 | 128 | # Enable Tx beamforming in VHT20MHz 129 | # Valid values are 0,1. If commented out, the default value is 0. 130 | # 0=disable, 1=enable 131 | gEnableTxBFin20MHz=1 132 | 133 | #Enable/Disable SU Tx beamformer support 134 | gEnableTxSUBeamformer=1 135 | 136 | # 802.11K support 137 | gRrmEnable=1 138 | 139 | # Firmware log mode 140 | # Valid values are 0,1,2 141 | # 0=Disable, 1=WMI, 2=DIAG 142 | gEnablefwlog=0 143 | 144 | # Maximum Receive AMPDU size (VHT only. Valid values: 145 | # 0->8k 1->16k 2->32k 3->64k 4->128k) 146 | gVhtAmpduLenExponent=7 147 | 148 | # Maximum MPDU length (VHT only. Valid values: 149 | # 0->3895 octets, 1->7991 octets, 2->11454 octets) 150 | gVhtMpduLen=2 151 | 152 | #Enable or Disable p2p device address administered 153 | isP2pDeviceAddrAdministrated=0 154 | 155 | #Enable VHT on 2.4Ghz 156 | gEnableVhtFor24GHzBand=1 157 | 158 | #Maximum number of offload peers supported 159 | # gMaxOffloadPeers=2 160 | 161 | # controlling the following offload patterns 162 | # through ini parameter. Default value is 1 163 | # to disable set it to zero. ssdp = 0 164 | # Setup multicast pattern for mDNS 224.0.0.251, 165 | # SSDP 239.255.255.250 and LLMNR 224.0.0.252 166 | ssdp=0 167 | 168 | # RA filtering rate limit param, the current value would not 169 | # help if the lifetime in RA is less than 3*60=3min. Then 170 | # we need to change it, though it is uncommon. 171 | # gRAFilterEnable=0 172 | gRArateLimitInterval=600 173 | 174 | # Maximum number of concurrent connections 175 | gMaxConcurrentActiveSessions=3 176 | 177 | # Disable/Enable GreenAP 178 | # 0 to disable, 1 to enable, default: 1 179 | gEnableGreenAp=0 180 | 181 | #Enable/Disable LPASS support 182 | # 0 to disable, 1 to enable 183 | gEnableLpassSupport=1 184 | 185 | # Whether userspace country code setting shld have priority 186 | gCountryCodePriority=1 187 | 188 | # Enable or Disable Multi-user MIMO 189 | # 1=Enable (default), 0=Disable 190 | gEnableMuBformee=1 191 | 192 | # Enable TDLS External Control. That is, user space application has to 193 | # first configure a peer MAC in wlan driver towards which TDLS is desired. 194 | # Device will establish TDLS only towards those configured peers whenever 195 | # TDLS criteria (throughput and RSSI threshold) is met and teardown TDLS 196 | # when teardown criteria (idle packet count and RSSI) is met. However, 197 | # device will accept TDLS connection if it is initiated from any other peer, 198 | # even if that peer is not configured. 199 | # 0 - disable 200 | # 1 - enable 201 | # For TDLS External Control, Implicit Trigger must also be enabled. 202 | gTDLSExternalControl=1 203 | 204 | # Enable support for TDLS off-channel operation 205 | # 0 - disable 206 | # 1 - enable 207 | # TDLS off-channel operation will be invoked when there is only one 208 | # TDLS connection. 209 | gEnableTDLSOffChannel=0 210 | 211 | # VHT Tx/Rx MCS values 212 | # Valid values are 0,1,2. If commented out, the default value is 0. 213 | # 0=MCS0-7, 1=MCS0-8, 2=MCS0-9 214 | gVhtRxMCS=2 215 | gVhtTxMCS=2 216 | 217 | # VHT Tx/Rx MCS values for 2x2 218 | # Valid values are 0,1,2. If commented out, the default value is 0. 219 | # 0=MCS0-7, 1=MCS0-8, 2=MCS0-9 220 | gEnable2x2=1 221 | gVhtRxMCS2x2=2 222 | gVhtTxMCS2x2=2 223 | 224 | #IPA config is a bit mask and following are the configurations. 225 | #bit0 IPA Enable 226 | #bit1 IPA PRE Filter enable 227 | #bit2 IPv6 enable 228 | #bit3 IPA Resource Manager (RM) enable 229 | #bit4 IPA Clock scaling enable 230 | #bit5 IPA uC ENABLE 231 | #bit6 IPA uC STA ENABLE 232 | #bit8 IPA Real Time Debugging 233 | gIPAConfig=0x7d 234 | gIPADescSize=800 235 | 236 | # Enable TCP Segmentation Offload 237 | # 1 - enable 0 - disable 238 | TSOEnable=1 239 | 240 | # Enable Generic Receive Offload 241 | # 1 - enable(default) 0 - disable 242 | GROEnable=1 243 | 244 | # Enable HT MPDU Density 245 | # 4 for 2 micro sec 246 | ght_mpdu_density=4 247 | 248 | # Enable flow steering to enable multiple CEs for Rx flows. 249 | # Multiple Rx CEs<==>Multiple Rx IRQs<==>probably different CPUs. 250 | # Parallel Rx paths. 251 | # 1 - enable 0 - disable(default) 252 | gEnableFlowSteering=1 253 | 254 | # RPS map for different RX queues (seperate by spaces) 255 | # Internally, the nibbles get swapped. 256 | rpsRxQueueCpuMapList=f7 257 | 258 | # Maximum number of MSDUs the firmware will pack in one HTT_T2H_MSG_TYPE_RX_IN_ORD_PADDR_IND 259 | maxMSDUsPerRxInd=8 260 | 261 | ################ Datapath feature set End ################ 262 | 263 | ################ NAN feature set start ################### 264 | 265 | # Enable NAN discovery (NAN 1.0) 266 | # 1 - enable 0 - disable(default) 267 | gEnableNanSupport=1 268 | # Enable NAN Datapath 269 | genable_nan_datapath=1 270 | 271 | ################ NAN feature set end ##################### 272 | 273 | hostscan_adaptive_dwell_mode=1 274 | 275 | # Enable/Disable rtt sta mac randomization 276 | enable_rtt_mac_randomization=1 277 | 278 | #Enable/Disable SNR monitoring 279 | gEnableSNRMonitoring=1 280 | 281 | # HTC Credit count for WMI operation 282 | # 1 to serialize the WMI commands 283 | # 0 default works with FW advertised credits, 2 credits usually 284 | gWmiCreditCount=1 285 | 286 | # Enable enhanced ACS 287 | acs_with_more_param=1 288 | # bits 0-3: rssi weight 289 | # bits 4-7: bss count weight 290 | # bits 8-11: noise floor weight 291 | # bits 12-15: channel free weight 292 | # bits 16-19: tx power range weight 293 | # bits 20-23: tx power throughput weight 294 | # bits 24-31: reserved 295 | AutoChannelSelectWeight=0x00fafafa 296 | 297 | # Enable/Disable broadcast TWT 298 | bcast_twt=1 299 | 300 | # Enable Runtime PM 301 | # 0 - RTPM disabled, so CxPC aware RTPM will be disabled as well 302 | # 1 - RTPM enabled, but CxPC aware RTPM disabled (i.e, Static Runtime PM) 303 | # 2 - RTPM enabled and CxPC aware RTPM enabled as well (i.e, Dynamic Runtime PM) 304 | gRuntimePM=2 305 | gRuntimePMDelay=500 306 | 307 | # Enable broadcast logging to the userspace entities 308 | gMulticastHostFwMsgs=1 309 | # Disable packetlog explicitly 310 | gEnablePacketLog=0 311 | 312 | # Set IPA bandwidth levels in mbps 313 | gIPALowBandwidthMbps=100 314 | gIPAMediumBandwidthMbps=400 315 | gIPAHighBandwidthMbps=800 316 | 317 | # Enable wlm_latency_enable feature 318 | # 0 - disable, 1 - enable(default) 319 | wlm_latency_enable=1 320 | 321 | # This ini is used to give higher priority for 5g scc than dbs. 322 | # It is bitmap per enum policy_mgr_con_mode. 323 | # For example in GO+STA(5G) mode, when TPUT is onfigured as wlan system 324 | # preference option, If 5G SCC needs higher priority than dbs, set it as 8. 325 | g_prefer_5g_scc_to_dbs=8 326 | 327 | #Enable Power Save offload 328 | gEnablePowerSaveOffload=5 329 | 330 | # Disable rx wakelock 331 | rx_wakelock_timeout=0 332 | 333 | #Add another interface while driver load 334 | gEnableConcurrentSTA=wlan1 335 | 336 | #ifdef OPLUS_BUG_STABILITY 337 | #Guotian.Wu@PSW.CN.WiFi.Hardware.OpCustomized.1123073, 2019/07/02, 338 | #disable for CTS test fail 339 | gEnableRTTSupport=0 340 | 341 | #WuGuotian@CONNECTIVITY.WIFI.BASE.OPERATOR.2062392, 2019/05/31, 342 | #fix EU JP band1 band4 issue 343 | etsi13_srd_chan_in_master_mode=1 344 | 345 | #LiJunlong@CONNECTIVITY.WIFI.INTERNET.1405517,2018/12/22, 346 | #Add for disable gEnableNUDTracking in wifi driver 347 | gEnableNUDTracking=0 348 | 349 | #Tao.Hui@PSW.CN.WiFi.Basic.Custom.1884719 2019/03/08, 350 | #add for bdf fw rus 351 | gEnableForceTargetAssert=1 352 | 353 | #Yuanliu.Tang@PSW.CN.WiFi.Basic.Crash.1135753, 2017/05/27, 354 | #Add for open walkround feature to avoid MTK AP crash,QC case2952499 355 | gForce1x1Exception=0 356 | 357 | #HuiTao@CONNECTIVITY.WiFi.Basic.Custom.1067549, 2018/01/02, 358 | #Modify for country code JP soft ap cant got 5G list for bug:1194908 359 | gindoor_channel_support=1 360 | 361 | #Jian.Wang@PSW.CN.WiFi.Basic.Crash.1340840, 2018/05/17, 362 | #Add for enable Self Recovery for crash 363 | gEnableSelfRecovery=1 364 | 365 | #hanshirong@CONNECTIVITY.WiFi.Network.internet.313561, 2020/10/23, 366 | #disable AEDCA to improve throughput when detecting huawei AX3 AP OUI 367 | gActionOUIDisableAggressiveEDCA=AC853D 00 01 368 | 369 | #dengjialing@CONNECTIVITY.WiFi.HARDWARE.CHANNEL, 2022/09/29, 370 | #disable 6G capbility 371 | BandCapability=3 372 | #endif /* OPLUS_BUG_STABILITY */ 373 | 374 | # AOSPA Edit: Disable FW TWT 375 | twt_congestion_timeout=0 376 | 377 | END 378 | 379 | # Note: Configuration parser would not read anything past the END marker 380 | 381 | -------------------------------------------------------------------------------- /configs/gps/gps.conf: -------------------------------------------------------------------------------- 1 | # Error Estimate 2 | # _SET = 1 3 | # _CLEAR = 0 4 | ERR_ESTIMATE=0 5 | 6 | #NTP server 7 | NTP_SERVER=time.xtracloud.net 8 | 9 | #XTRA CA path 10 | XTRA_CA_PATH=/usr/lib/ssl-1.1/certs 11 | 12 | # DEBUG LEVELS: 0 - none, 1 - Error, 2 - Warning, 3 - Info 13 | # 4 - Debug, 5 - Verbose 14 | # If DEBUG_LEVEL is commented, Android's logging levels will be used 15 | #ifndef OPLUS_BUG_DEBUG 16 | #LinHuaqiu@CONNECTIVITY.GPS.LOCATION.LOG.1065783, 2017/11/04, Add for gps log control 17 | #DEBUG_LEVEL = 3 18 | #else /* OPLUS_BUG_DEBUG */ 19 | DEBUG_LEVEL = 2 20 | #endif /* OPLUS_BUG_DEBUG */ 21 | 22 | # Intermediate position report, 1=enable, 0=disable 23 | INTERMEDIATE_POS=0 24 | 25 | # supl version 1.0 26 | SUPL_VER=0x10000 27 | 28 | # Emergency SUPL, 1=enable, 0=disable 29 | #SUPL_ES=1 30 | 31 | #Choose PDN for Emergency SUPL 32 | #1 - Use emergency PDN 33 | #0 - Use regular SUPL PDN for Emergency SUPL 34 | #USE_EMERGENCY_PDN_FOR_EMERGENCY_SUPL=0 35 | 36 | #SUPL_MODE is a bit mask set in config.xml per carrier by default. 37 | #If it is uncommented here, this value will overwrite the value from 38 | #config.xml. 39 | #MSA=0X2 40 | #MSB=0X1 41 | #SUPL_MODE= 42 | 43 | # GPS Capabilities bit mask 44 | # SCHEDULING = 0x01 45 | # MSB = 0x02 46 | # MSA = 0x04 47 | # ON_DEMAND_TIME = 0x10 48 | # default = ON_DEMAND_TIME | MSA | MSB | SCHEDULING 49 | CAPABILITIES=0x17 50 | 51 | # Accuracy threshold for intermediate positions 52 | # less accurate positions are ignored, 0 for passing all positions 53 | # ACCURACY_THRES=5000 54 | 55 | ################################ 56 | ##### AGPS server settings ##### 57 | ################################ 58 | 59 | # FOR SUPL SUPPORT, set the following 60 | # SUPL_HOST=supl.host.com or IP 61 | # SUPL_PORT=1234 62 | 63 | # FOR MO SUPL SUPPORT, set the following 64 | # MO_SUPL_HOST=supl.host.com or IP 65 | # MO_SUPL_PORT=1234 66 | 67 | # FOR C2K PDE SUPPORT, set the following 68 | # C2K_HOST=c2k.pde.com or IP 69 | # C2K_PORT=1234 70 | 71 | # Bitmask of slots that are available 72 | # for write/install to, where 1s indicate writable, 73 | # and the default value is 0 where no slots 74 | # are writable. For example, AGPS_CERT_WRITABLE_MASK 75 | # of b1000001010 makes 3 slots available 76 | # and the remaining 7 slots unwritable. 77 | #AGPS_CERT_WRITABLE_MASK=0 78 | 79 | #################################### 80 | # LTE Positioning Profile Settings 81 | #################################### 82 | # LPP_PROFILE is a bit mask 83 | # 0: Enable RRLP on LTE(Default) 84 | # 0x1: LPP User Plane 85 | # 0x2: LPP Control Plane 86 | # 0x4: LPP User Plane for NR5G 87 | # 0x8: LPP Control Plane for NR5G 88 | LPP_PROFILE = 2 89 | 90 | #################################### 91 | #Datum Type 92 | #################################### 93 | # 0: WGS-84 94 | # 1: PZ-90 95 | DATUM_TYPE = 0 96 | 97 | ################################ 98 | # EXTRA SETTINGS 99 | ################################ 100 | # NMEA provider (1=Modem Processor, 0=Application Processor) 101 | NMEA_PROVIDER=0 102 | 103 | ################################ 104 | # NMEA TAG BLOCK GROUPING 105 | ################################ 106 | # NMEA tag block grouping is only applicable to GSA 107 | # Default is disabled 108 | # 0 - disabled 109 | # 1 - enabled 110 | NMEA_TAG_BLOCK_GROUPING_ENABLED = 0 111 | 112 | # Customized NMEA GGA fix quality that can be used to tell 113 | # whether SENSOR contributed to the fix. 114 | # 115 | # When this configuration item is not enabled (set to any value that is not 1), 116 | # GGA fix quality conforms to NMEA standard spec as below: 117 | # PPP/DGNSS/SBAS correction fix w/ or w/o sensor: 2 118 | # RTK fixed fix w/ or w/o sensor: 4 119 | # RTK float fix w/ or w/o sensor: 5 120 | # SPE fix w/ or w/o sensor: 1 121 | # Sensor dead reckoning fix: 6 122 | # 123 | # When this configuration is enabled (set to 1), GGA fix quality 124 | # will be output as below: 125 | # PPP fix w/o sensor: 59, w/ sensor: 69 126 | # DGNSS/SBAS correction fix w/o sensor: 2, w/ sensor: 62 127 | # RTK fixed fix w/o sensor: 4, w/ sensor: 64 128 | # RTK float fix w/o sensor: 5, w/ sensor: 65, 129 | # SPE fix w/o sensor: 1, and w/ sensor: 61 130 | # Sensor dead reckoning fix: 6 131 | # 132 | # any value that is not 1 - disabled 133 | # 1 - enabled 134 | CUSTOM_NMEA_GGA_FIX_QUALITY_ENABLED = 0 135 | 136 | ################################ 137 | # NMEA Reporting Rate Config, valid only when NMEA_PROVIDER is set to "0" 138 | ################################ 139 | # NMEA Reporting Rate 140 | # Set it to "1HZ" for 1Hz NMEA Reporting 141 | # Set it to "NHZ" for NHz NMEA Reporting 142 | #Default : NHZ (overridden by position update rate if set to lower rates) 143 | NMEA_REPORT_RATE=NHZ 144 | 145 | # Mark if it is a SGLTE target (1=SGLTE, 0=nonSGLTE) 146 | SGLTE_TARGET=0 147 | 148 | ################################################## 149 | # Select Positioning Protocol on A-GLONASS system 150 | ################################################## 151 | # 0x1: RRC CPlane 152 | # 0x2: RRLP UPlane 153 | # 0x4: LLP Uplane 154 | A_GLONASS_POS_PROTOCOL_SELECT = 0 155 | 156 | ################################################## 157 | # Select technology for LPPe Control Plane 158 | ################################################## 159 | # 0x1: DBH for LPPe CP 160 | # 0x2: WLAN AP Measurements for LPPe CP 161 | # 0x4: SRN AP measurement for CP 162 | # 0x8: Sensor Barometer Measurement LPPe CP 163 | #LPPE_CP_TECHNOLOGY = 0 164 | 165 | ################################################## 166 | # Select technology for LPPe User Plane 167 | ################################################## 168 | # 0x1: DBH for LPPe UP 169 | # 0x2: WLAN AP Measurements for LPPe UP 170 | # 0x4: SRN AP measurement for UP 171 | # 0x8: Sensor Barometer Measurement LPPe UP 172 | #LPPE_UP_TECHNOLOGY = 0 173 | 174 | ################################################## 175 | # AGPS_CONFIG_INJECT 176 | ################################################## 177 | # enable/disable injection of AGPS configurations: 178 | # SUPL_VER 179 | # SUPL_HOST 180 | # SUPL_PORT 181 | # MO_SUPL_HOST 182 | # MO_SUPL_PORT 183 | # C2K_HOST 184 | # C2K_PORT 185 | # LPP_PROFILE 186 | # A_GLONASS_POS_PROTOCOL_SELECT 187 | # 0: disable 188 | # 1: enable 189 | AGPS_CONFIG_INJECT = 1 190 | 191 | ################################################## 192 | # GNSS settings for automotive use cases 193 | # Configurations in following section are 194 | # specific to automotive use cases, others 195 | # please do not change, keep the default values 196 | ################################################## 197 | 198 | # AP Coarse Timestamp Uncertainty 199 | ################################################## 200 | # default : 10 201 | # AP time stamp uncertainty, until GNSS receiver 202 | # is able to acquire better timing information 203 | AP_TIMESTAMP_UNCERTAINTY = 10 204 | 205 | ##################################### 206 | # DR_SYNC Pulse Availability 207 | ##################################### 208 | # 0 : DR_SYNC pulse not available (default) 209 | # 1 : DR_SYNC pulse available 210 | # This configuration enables the driver to make use 211 | # of PPS events generated by DR_SYNC pulse 212 | # Standard Linux PPS driver needs to be enabled 213 | DR_SYNC_ENABLED = 0 214 | 215 | ##################################### 216 | # PPS Device name 217 | ##################################### 218 | PPS_DEVICENAME = /dev/pps0 219 | 220 | ##################################### 221 | # Ignore PPS at Startup and after long outage 222 | ##################################### 223 | IGNORE_PPS_PULSE_COUNT = 1 224 | 225 | ##################################### 226 | # Long GNSS RF outage in seconds 227 | ##################################### 228 | GNSS_OUTAGE_DURATION = 10 229 | 230 | ##################################### 231 | # AP Clock Accuracy 232 | ##################################### 233 | # Quality of APPS processor clock (in PPM). 234 | # Value specified is used for calculation of 235 | # APPS time stamp uncertainty 236 | AP_CLOCK_PPM = 100 237 | 238 | ##################################### 239 | # MAX ms difference to detect missing pulse 240 | ##################################### 241 | # Specifies time threshold in ms to validate any missing PPS pulses 242 | MISSING_PULSE_TIME_DELTA = 900 243 | 244 | ##################################### 245 | # Propagation time uncertainty 246 | ##################################### 247 | # This settings enables time uncertainty propagation 248 | # logic incase of missing PPS pulse 249 | PROPAGATION_TIME_UNCERTAINTY = 1 250 | 251 | ####################################### 252 | # APN / IP Type Configuration 253 | # APN and IP Type to use for setting 254 | # up WWAN call. 255 | # Use below values for IP Type: 256 | # v4 = 4 257 | # v6 = 6 258 | # v4v6 = 10 259 | ####################################### 260 | # INTERNET_APN = abc.xyz 261 | # INTERNET_IP_TYPE = 4 262 | # SUPL_APN = abc.xyz 263 | # SUPL_IP_TYPE = 4 264 | 265 | ##################################### 266 | # Modem type 267 | ##################################### 268 | # This setting configures modem type 269 | # (external=0 or internal=1) 270 | # comment out the next line to vote 271 | # for the first modem in the list 272 | MODEM_TYPE = 1 273 | 274 | ################################################## 275 | # CONSTRAINED TIME UNCERTAINTY MODE 276 | ################################################## 277 | # 0 : disabled (default) 278 | # 1 : enabled 279 | # This setting enables GPS engine to keep its time 280 | # uncertainty below the specified constraint 281 | #CONSTRAINED_TIME_UNCERTAINTY_ENABLED = 0 282 | 283 | # If constrained time uncertainty mode is enabled, 284 | # this setting specifies the time uncertainty 285 | # threshold that gps engine need to maintain. 286 | # In unit of milli-seconds. 287 | # Default is 0.0 meaning that modem default value 288 | # of time uncertainty threshold will be used. 289 | #CONSTRAINED_TIME_UNCERTAINTY_THRESHOLD = 0.0 290 | 291 | # If constrained time uncertainty mode is enabled, 292 | # this setting specifies the power budget that 293 | # gps engine is allowed to spend to maintain the time 294 | # uncertainty. 295 | # Default is 0 meaning that GPS engine is not constained 296 | # by power budget and can spend as much power as needed. 297 | # In unit of 0.1 milli watt second. 298 | #CONSTRAINED_TIME_UNCERTAINTY_ENERGY_BUDGET = 0 299 | 300 | ################################################## 301 | # POSITION ASSISTED CLOCK ESTIMATOR 302 | ################################################## 303 | # 0 : disabled (default) 304 | # 1 : enabled 305 | # This setting enables GPS engine to estimate clock 306 | # bias and drift when the signal from at least 1 307 | # SV is available and the UE�s position is known by 308 | # other position engines. 309 | #POSITION_ASSISTED_CLOCK_ESTIMATOR_ENABLED = 0 310 | 311 | ##################################### 312 | # proxyAppPackageName 313 | ##################################### 314 | # This is a string that is sent to the framework 315 | # in nfwNotifyCb callback 316 | PROXY_APP_PACKAGE_NAME = com.google.android.carrierlocation 317 | 318 | ##################################### 319 | # CP_MTLR_ES 320 | ##################################### 321 | # CP MTLR ES, 1=enable, 0=disable 322 | CP_MTLR_ES=0 323 | 324 | ################################################## 325 | # GNSS_DEPLOYMENT 326 | ################################################## 327 | # 0 : Enable QTI GNSS (default) 328 | # 1 : Enable QCSR SS5 329 | # 2 : Enable PDS API 330 | # This setting use to select between QTI GNSS, 331 | # QCSR SS5 hardware receiver, and PDS API. 332 | # By default QTI GNSS receiver is enabled. 333 | # GNSS_DEPLOYMENT = 0 334 | 335 | ################################################## 336 | ## LOG BUFFER CONFIGURATION 337 | ################################################## 338 | #LOG_BUFFER_ENABLED, 1=enable, 0=disable 339 | #*_LEVEL_TIME_DEPTH, maximum time depth of level * 340 | #in log buffer, unit is second 341 | #*_LEVEL_MAX_CAPACITY, maximum numbers of level * 342 | #log print sentences in log buffer 343 | LOG_BUFFER_ENABLED = 0 344 | E_LEVEL_TIME_DEPTH = 600 345 | E_LEVEL_MAX_CAPACITY = 50 346 | W_LEVEL_TIME_DEPTH = 500 347 | W_LEVEL_MAX_CAPACITY = 100 348 | I_LEVEL_TIME_DEPTH = 400 349 | I_LEVEL_MAX_CAPACITY = 200 350 | D_LEVEL_TIME_DEPTH = 30 351 | D_LEVEL_MAX_CAPACITY = 300 352 | V_LEVEL_TIME_DEPTH = 200 353 | V_LEVEL_MAX_CAPACITY = 400 354 | 355 | ################################################## 356 | # Allow buffer diag log packets when diag memory allocation 357 | # fails during boot up time. 358 | ################################################## 359 | BUFFER_DIAG_LOGGING = 1 360 | 361 | ####################################### 362 | # NTRIP CLIENT LIBRARY NAME 363 | ####################################### 364 | # NTRIP_CLIENT_LIB_NAME = 365 | 366 | ################################################## 367 | # Correction Data Framework settings 368 | # Default values: 369 | # CDFW_SOURCE_PRIORITY_1 = INTERNAL_1 RTCM 370 | # CDFW_INJECT_DATA_INTERVAL = 600000 //10 mins 371 | # CDFW_RTCM_MESSAGE_INTERVAL = 1000 //1 second 372 | # 373 | # If multiple sources coexist on a PL, 374 | # the prorioty sequence can be set by the integer number. 375 | # PRIORITY_1 is higher than PRIORITY_2, for example, 376 | # CDFW_SOURCE_PRIORITY_1 = INTERNAL_1 RTCM 377 | # CDFW_SOURCE_PRIORITY_2 = CV2X RTCM 378 | ################################################## 379 | 380 | ################################################## 381 | # RF LOSS 382 | # The loss in 0.1 dbHz from the C/N0 at the antenna port 383 | # These values must be configured by OEM if not 384 | # supported in QMI LOC message 385 | # There is one entry for each signal type 386 | ################################################## 387 | RF_LOSS_GPS = 0 388 | RF_LOSS_GPS_L5 = 0 389 | RF_LOSS_GLO_LEFT = 0 390 | RF_LOSS_GLO_CENTER = 0 391 | RF_LOSS_GLO_RIGHT = 0 392 | RF_LOSS_BDS = 0 393 | RF_LOSS_BDS_B2A = 0 394 | RF_LOSS_GAL = 0 395 | RF_LOSS_GAL_E5 = 0 396 | RF_LOSS_NAVIC = 0 -------------------------------------------------------------------------------- /configs/perf/task_profiles.json: -------------------------------------------------------------------------------- 1 | { 2 | "Attributes": [ 3 | { 4 | "Name": "LowCapacityCPUs", 5 | "Controller": "cpuset", 6 | "File": "background/cpus" 7 | }, 8 | { 9 | "Name": "HighCapacityCPUs", 10 | "Controller": "cpuset", 11 | "File": "foreground/cpus" 12 | }, 13 | { 14 | "Name": "MaxCapacityCPUs", 15 | "Controller": "cpuset", 16 | "File": "top-app/cpus" 17 | }, 18 | { 19 | "Name": "AudioAppCapacityCPUs", 20 | "Controller": "cpuset", 21 | "File": "audio-app/cpus" 22 | }, 23 | 24 | { 25 | "Name": "MemLimit", 26 | "Controller": "memory", 27 | "File": "memory.limit_in_bytes" 28 | }, 29 | { 30 | "Name": "MemSoftLimit", 31 | "Controller": "memory", 32 | "File": "memory.soft_limit_in_bytes" 33 | }, 34 | { 35 | "Name": "MemSwappiness", 36 | "Controller": "memory", 37 | "File": "memory.swappiness" 38 | }, 39 | { 40 | "Name": "UClampMin", 41 | "Controller": "cpu", 42 | "File": "cpu.uclamp.min" 43 | }, 44 | { 45 | "Name": "UClampMax", 46 | "Controller": "cpu", 47 | "File": "cpu.uclamp.max" 48 | } 49 | ], 50 | 51 | "Profiles": [ 52 | { 53 | "Name": "HighEnergySaving", 54 | "Actions": [ 55 | { 56 | "Name": "JoinCgroup", 57 | "Params": 58 | { 59 | "Controller": "cpu", 60 | "Path": "background" 61 | } 62 | } 63 | ] 64 | }, 65 | { 66 | "Name": "NormalPerformance", 67 | "Actions": [ 68 | { 69 | "Name": "JoinCgroup", 70 | "Params": 71 | { 72 | "Controller": "cpu", 73 | "Path": "" 74 | } 75 | } 76 | ] 77 | }, 78 | { 79 | "Name": "HighPerformance", 80 | "Actions": [ 81 | { 82 | "Name": "JoinCgroup", 83 | "Params": 84 | { 85 | "Controller": "cpu", 86 | "Path": "foreground" 87 | } 88 | } 89 | ] 90 | }, 91 | { 92 | "Name": "MaxPerformance", 93 | "Actions": [ 94 | { 95 | "Name": "JoinCgroup", 96 | "Params": 97 | { 98 | "Controller": "cpu", 99 | "Path": "top-app" 100 | } 101 | } 102 | ] 103 | }, 104 | { 105 | "Name": "RealtimePerformance", 106 | "Actions": [ 107 | { 108 | "Name": "JoinCgroup", 109 | "Params": 110 | { 111 | "Controller": "cpu", 112 | "Path": "rt" 113 | } 114 | } 115 | ] 116 | }, 117 | { 118 | "Name": "AudioAppPerformance", 119 | "Actions" : [ 120 | { 121 | "Name" : "JoinCgroup", 122 | "Params" : 123 | { 124 | "Controller": "cpu", 125 | "Path": "audio-app" 126 | } 127 | } 128 | ] 129 | }, 130 | 131 | { 132 | "Name": "VrKernelCapacity", 133 | "Actions": [ 134 | { 135 | "Name": "JoinCgroup", 136 | "Params": 137 | { 138 | "Controller": "cpuset", 139 | "Path": "" 140 | } 141 | } 142 | ] 143 | }, 144 | { 145 | "Name": "VrServiceCapacityLow", 146 | "Actions": [ 147 | { 148 | "Name": "JoinCgroup", 149 | "Params": 150 | { 151 | "Controller": "cpuset", 152 | "Path": "system/background" 153 | } 154 | } 155 | ] 156 | }, 157 | { 158 | "Name": "VrServiceCapacityNormal", 159 | "Actions": [ 160 | { 161 | "Name": "JoinCgroup", 162 | "Params": 163 | { 164 | "Controller": "cpuset", 165 | "Path": "system" 166 | } 167 | } 168 | ] 169 | }, 170 | { 171 | "Name": "VrServiceCapacityHigh", 172 | "Actions": [ 173 | { 174 | "Name": "JoinCgroup", 175 | "Params": 176 | { 177 | "Controller": "cpuset", 178 | "Path": "system/performance" 179 | } 180 | } 181 | ] 182 | }, 183 | { 184 | "Name": "VrProcessCapacityLow", 185 | "Actions": [ 186 | { 187 | "Name": "JoinCgroup", 188 | "Params": 189 | { 190 | "Controller": "cpuset", 191 | "Path": "application/background" 192 | } 193 | } 194 | ] 195 | }, 196 | { 197 | "Name": "VrProcessCapacityNormal", 198 | "Actions": [ 199 | { 200 | "Name": "JoinCgroup", 201 | "Params": 202 | { 203 | "Controller": "cpuset", 204 | "Path": "application" 205 | } 206 | } 207 | ] 208 | }, 209 | { 210 | "Name": "VrProcessCapacityHigh", 211 | "Actions": [ 212 | { 213 | "Name": "JoinCgroup", 214 | "Params": 215 | { 216 | "Controller": "cpuset", 217 | "Path": "application/performance" 218 | } 219 | } 220 | ] 221 | }, 222 | 223 | { 224 | "Name": "ProcessCapacityLow", 225 | "Actions": [ 226 | { 227 | "Name": "JoinCgroup", 228 | "Params": 229 | { 230 | "Controller": "cpuset", 231 | "Path": "background" 232 | } 233 | } 234 | ] 235 | }, 236 | { 237 | "Name": "ProcessCapacityNormal", 238 | "Actions": [ 239 | { 240 | "Name": "JoinCgroup", 241 | "Params": 242 | { 243 | "Controller": "cpuset", 244 | "Path": "" 245 | } 246 | } 247 | ] 248 | }, 249 | { 250 | "Name": "ProcessCapacityHigh", 251 | "Actions": [ 252 | { 253 | "Name": "JoinCgroup", 254 | "Params": 255 | { 256 | "Controller": "cpuset", 257 | "Path": "foreground" 258 | } 259 | } 260 | ] 261 | }, 262 | { 263 | "Name": "ProcessCapacityMax", 264 | "Actions": [ 265 | { 266 | "Name": "JoinCgroup", 267 | "Params": 268 | { 269 | "Controller": "cpuset", 270 | "Path": "top-app" 271 | } 272 | } 273 | ] 274 | }, 275 | 276 | { 277 | "Name": "ServiceCapacityLow", 278 | "Actions": [ 279 | { 280 | "Name": "JoinCgroup", 281 | "Params": 282 | { 283 | "Controller": "cpuset", 284 | "Path": "system-background" 285 | } 286 | } 287 | ] 288 | }, 289 | { 290 | "Name": "ServiceCapacityRestricted", 291 | "Actions": [ 292 | { 293 | "Name": "JoinCgroup", 294 | "Params": 295 | { 296 | "Controller": "cpuset", 297 | "Path": "restricted" 298 | } 299 | } 300 | ] 301 | }, 302 | 303 | { 304 | "Name": "CameraServiceCapacity", 305 | "Actions": [ 306 | { 307 | "Name": "JoinCgroup", 308 | "Params": 309 | { 310 | "Controller": "cpuset", 311 | "Path": "camera-daemon" 312 | } 313 | } 314 | ] 315 | }, 316 | { 317 | "Name": "AudioAppCapacity", 318 | "Actions" : [ 319 | { 320 | "Name" : "JoinCgroup", 321 | "Params" : 322 | { 323 | "Controller": "cpuset", 324 | "Path": "audio-app" 325 | } 326 | } 327 | ] 328 | }, 329 | 330 | { 331 | "Name": "BlkIOForeground", 332 | "Actions" : [ 333 | { 334 | "Name" : "JoinCgroup", 335 | "Params" : 336 | { 337 | "Controller": "blkio", 338 | "Path": "" 339 | } 340 | } 341 | ] 342 | }, 343 | { 344 | "Name": "BlkIOBackground", 345 | "Actions" : [ 346 | { 347 | "Name" : "JoinCgroup", 348 | "Params" : 349 | { 350 | "Controller": "blkio", 351 | "Path": "bg" 352 | } 353 | } 354 | ] 355 | }, 356 | 357 | { 358 | "Name": "LowIoPriority", 359 | "Actions": [ 360 | { 361 | "Name": "JoinCgroup", 362 | "Params": 363 | { 364 | "Controller": "blkio", 365 | "Path": "background" 366 | } 367 | } 368 | ] 369 | }, 370 | { 371 | "Name": "NormalIoPriority", 372 | "Actions": [ 373 | { 374 | "Name": "JoinCgroup", 375 | "Params": 376 | { 377 | "Controller": "blkio", 378 | "Path": "" 379 | } 380 | } 381 | ] 382 | }, 383 | { 384 | "Name": "HighIoPriority", 385 | "Actions": [ 386 | { 387 | "Name": "JoinCgroup", 388 | "Params": 389 | { 390 | "Controller": "blkio", 391 | "Path": "" 392 | } 393 | } 394 | ] 395 | }, 396 | { 397 | "Name": "MaxIoPriority", 398 | "Actions": [ 399 | { 400 | "Name": "JoinCgroup", 401 | "Params": 402 | { 403 | "Controller": "blkio", 404 | "Path": "" 405 | } 406 | } 407 | ] 408 | }, 409 | 410 | { 411 | "Name": "TimerSlackHigh", 412 | "Actions": [ 413 | { 414 | "Name": "SetTimerSlack", 415 | "Params": 416 | { 417 | "Slack": "40000000" 418 | } 419 | } 420 | ] 421 | }, 422 | { 423 | "Name": "TimerSlackNormal", 424 | "Actions": [ 425 | { 426 | "Name": "SetTimerSlack", 427 | "Params": 428 | { 429 | "Slack": "50000" 430 | } 431 | } 432 | ] 433 | }, 434 | 435 | { 436 | "Name": "PerfBoost", 437 | "Actions": [ 438 | { 439 | "Name": "SetClamps", 440 | "Params": 441 | { 442 | "Boost": "50%", 443 | "Clamp": "0" 444 | } 445 | } 446 | ] 447 | }, 448 | { 449 | "Name": "PerfClamp", 450 | "Actions": [ 451 | { 452 | "Name": "SetClamps", 453 | "Params": 454 | { 455 | "Boost": "0", 456 | "Clamp": "30%" 457 | } 458 | } 459 | ] 460 | }, 461 | 462 | { 463 | "Name": "LowMemoryUsage", 464 | "Actions": [ 465 | { 466 | "Name": "SetAttribute", 467 | "Params": 468 | { 469 | "Name": "MemSoftLimit", 470 | "Value": "16MB" 471 | } 472 | }, 473 | { 474 | "Name": "SetAttribute", 475 | "Params": 476 | { 477 | "Name": "MemSwappiness", 478 | "Value": "150" 479 | 480 | } 481 | } 482 | ] 483 | }, 484 | { 485 | "Name": "HighMemoryUsage", 486 | "Actions": [ 487 | { 488 | "Name": "SetAttribute", 489 | "Params": 490 | { 491 | "Name": "MemSoftLimit", 492 | "Value": "512MB" 493 | } 494 | }, 495 | { 496 | "Name": "SetAttribute", 497 | "Params": 498 | { 499 | "Name": "MemSwappiness", 500 | "Value": "100" 501 | } 502 | } 503 | ] 504 | }, 505 | { 506 | "Name": "SystemMemoryProcess", 507 | "Actions": [ 508 | { 509 | "Name": "JoinCgroup", 510 | "Params": 511 | { 512 | "Controller": "memory", 513 | "Path": "system" 514 | } 515 | } 516 | ] 517 | } 518 | ], 519 | 520 | "AggregateProfiles": [ 521 | { 522 | "Name": "SCHED_SP_DEFAULT", 523 | "Profiles": [ "TimerSlackNormal" ] 524 | }, 525 | { 526 | "Name": "SCHED_SP_BACKGROUND", 527 | "Profiles": [ "HighEnergySaving", "LowIoPriority", "TimerSlackHigh" ] 528 | }, 529 | { 530 | "Name": "SCHED_SP_FOREGROUND", 531 | "Profiles": [ "HighPerformance", "HighIoPriority", "TimerSlackNormal" ] 532 | }, 533 | { 534 | "Name": "SCHED_SP_TOP_APP", 535 | "Profiles": [ "MaxPerformance", "MaxIoPriority", "TimerSlackNormal" ] 536 | }, 537 | { 538 | "Name": "SCHED_SP_RT_APP", 539 | "Profiles": [ "RealtimePerformance", "MaxIoPriority", "TimerSlackNormal" ] 540 | }, 541 | { 542 | "Name": "CPUSET_SP_DEFAULT", 543 | "Profiles": [ "TimerSlackNormal" ] 544 | }, 545 | { 546 | "Name": "CPUSET_SP_BACKGROUND", 547 | "Profiles": [ "HighEnergySaving", "ProcessCapacityLow", "LowIoPriority", "TimerSlackHigh" ] 548 | }, 549 | { 550 | "Name": "CPUSET_SP_FOREGROUND", 551 | "Profiles": [ "HighPerformance", "ProcessCapacityHigh", "HighIoPriority", "TimerSlackNormal" ] 552 | }, 553 | { 554 | "Name": "CPUSET_SP_TOP_APP", 555 | "Profiles": [ "MaxPerformance", "ProcessCapacityMax", "MaxIoPriority", "TimerSlackNormal" ] 556 | }, 557 | { 558 | "Name": "CPUSET_SP_SYSTEM", 559 | "Profiles": [ "ServiceCapacityLow", "TimerSlackNormal" ] 560 | }, 561 | { 562 | "Name": "CPUSET_SP_RESTRICTED", 563 | "Profiles": [ "ServiceCapacityRestricted", "TimerSlackNormal" ] 564 | } 565 | ] 566 | } 567 | -------------------------------------------------------------------------------- /manifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | android.hardware.audio 4 | hwbinder 5 | 6.0 6 | 7 | IDevicesFactory 8 | default 9 | 10 | @6.0::IDevicesFactory/default 11 | 12 | 13 | android.hardware.audio.effect 14 | hwbinder 15 | 6.0 16 | 17 | IEffectsFactory 18 | default 19 | 20 | @6.0::IEffectsFactory/default 21 | 22 | 23 | android.hardware.bluetooth 24 | hwbinder 25 | 1.0 26 | 27 | IBluetoothHci 28 | default 29 | 30 | @1.0::IBluetoothHci/default 31 | 32 | 33 | android.hardware.bluetooth.audio 34 | hwbinder 35 | 2.1 36 | 37 | IBluetoothAudioProvidersFactory 38 | default 39 | 40 | @2.1::IBluetoothAudioProvidersFactory/default 41 | 42 | 43 | android.hardware.camera.provider 44 | hwbinder 45 | 2.4 46 | 47 | ICameraProvider 48 | legacy/0 49 | 50 | @2.4::ICameraProvider/legacy/0 51 | 52 | 53 | android.hardware.gatekeeper 54 | hwbinder 55 | 1.0 56 | 57 | IGatekeeper 58 | default 59 | 60 | @1.0::IGatekeeper/default 61 | 62 | 63 | android.hardware.keymaster 64 | hwbinder 65 | @4.1::IKeymasterDevice/default 66 | 67 | 68 | android.hardware.media.omx 69 | hwbinder 70 | 1.0 71 | 72 | IOmx 73 | default 74 | 75 | 76 | IOmxStore 77 | default 78 | 79 | @1.0::IOmx/default 80 | @1.0::IOmxStore/default 81 | 82 | 83 | android.hardware.memtrack 84 | hwbinder 85 | 1.0 86 | 87 | IMemtrack 88 | default 89 | 90 | @1.0::IMemtrack/default 91 | 92 | 93 | android.hardware.radio 94 | hwbinder 95 | @1.5::IRadio/slot1 96 | @1.5::IRadio/slot2 97 | @1.2::ISap/slot1 98 | @1.2::ISap/slot2 99 | 100 | 101 | android.hardware.radio.config 102 | hwbinder 103 | 1.1 104 | 105 | IRadioConfig 106 | default 107 | 108 | @1.1::IRadioConfig/default 109 | 110 | 111 | android.hardware.secure_element 112 | hwbinder 113 | 1.2 114 | 115 | ISecureElement 116 | SIM1 117 | SIM2 118 | eSE1 119 | 120 | @1.2::ISecureElement/SIM1 121 | @1.2::ISecureElement/SIM2 122 | @1.2::ISecureElement/eSE1 123 | 124 | 125 | android.hardware.soundtrigger 126 | hwbinder 127 | 2.3 128 | 129 | ISoundTriggerHw 130 | default 131 | 132 | @2.3::ISoundTriggerHw/default 133 | 134 | 135 | android.hardware.tetheroffload.config 136 | hwbinder 137 | 1.0 138 | 139 | IOffloadConfig 140 | default 141 | 142 | @1.0::IOffloadConfig/default 143 | 144 | 145 | android.hardware.tetheroffload.control 146 | hwbinder 147 | 1.0 148 | 149 | IOffloadControl 150 | default 151 | 152 | @1.0::IOffloadControl/default 153 | 154 | 155 | com.dsi.ant 156 | hwbinder 157 | 1.0 158 | 159 | IAnt 160 | default 161 | 162 | @1.0::IAnt/default 163 | 164 | 165 | com.qualcomm.qti.dpm.api 166 | hwbinder 167 | 1.0 168 | 169 | IdpmQmi 170 | dpmQmiService 171 | 172 | @1.0::IdpmQmi/dpmQmiService 173 | 174 | 175 | com.qualcomm.qti.imscmservice 176 | hwbinder 177 | 2.2 178 | 179 | IImsCmService 180 | qti.ims.connectionmanagerservice 181 | 182 | @2.2::IImsCmService/qti.ims.connectionmanagerservice 183 | 184 | 185 | com.qualcomm.qti.uceservice 186 | hwbinder 187 | 2.3 188 | 189 | IUceService 190 | com.qualcomm.qti.uceservice 191 | 192 | @2.3::IUceService/com.qualcomm.qti.uceservice 193 | 194 | 195 | vendor.oplus.hardware.appradio 196 | hwbinder 197 | 1.0 198 | 199 | IOplusAppRadio 200 | oplus_app_slot1 201 | oplus_app_slot2 202 | 203 | 204 | 205 | vendor.oplus.hardware.ims 206 | hwbinder 207 | 1.0 208 | 209 | IOplusImsRadio 210 | oplusimsradio0 211 | oplusimsradio1 212 | 213 | 214 | 215 | vendor.oplus.hardware.radio 216 | hwbinder 217 | 1.0 218 | 219 | IOplusRadio 220 | oplus_slot1 221 | oplus_slot2 222 | 223 | 224 | 225 | vendor.qti.data.factory 226 | hwbinder 227 | 2.3 228 | 229 | IFactory 230 | default 231 | 232 | @2.3::IFactory/default 233 | 234 | 235 | vendor.qti.esepowermanager 236 | hwbinder 237 | 1.1 238 | 239 | IEsePowerManager 240 | default 241 | 242 | @1.1::IEsePowerManager/default 243 | 244 | 245 | vendor.qti.hardware.bluetooth_audio 246 | hwbinder 247 | 2.1 248 | 249 | IBluetoothAudioProvidersFactory 250 | default 251 | 252 | @2.1::IBluetoothAudioProvidersFactory/default 253 | 254 | 255 | vendor.qti.hardware.bluetooth_sar 256 | hwbinder 257 | 1.1 258 | 259 | IBluetoothSar 260 | default 261 | 262 | @1.1::IBluetoothSar/default 263 | 264 | 265 | vendor.qti.hardware.btconfigstore 266 | hwbinder 267 | 2.0 268 | 269 | IBTConfigStore 270 | default 271 | 272 | @2.0::IBTConfigStore/default 273 | 274 | 275 | vendor.qti.hardware.cacert 276 | hwbinder 277 | 1.0 278 | 279 | IService 280 | default 281 | 282 | @1.0::IService/default 283 | 284 | 285 | vendor.qti.hardware.camera.postproc 286 | hwbinder 287 | 1.0 288 | 289 | IPostProcService 290 | camerapostprocservice 291 | 292 | @1.0::IPostProcService/camerapostprocservice 293 | 294 | 295 | vendor.qti.hardware.capabilityconfigstore 296 | hwbinder 297 | 1.0 298 | 299 | ICapabilityConfigStore 300 | default 301 | 302 | @1.0::ICapabilityConfigStore/default 303 | 304 | 305 | vendor.qti.hardware.data.connection 306 | hwbinder 307 | 1.1 308 | 309 | IDataConnection 310 | slot1 311 | slot2 312 | 313 | 314 | 315 | vendor.qti.hardware.data.iwlan 316 | hwbinder 317 | 1.0 318 | 319 | IIWlan 320 | slot1 321 | slot2 322 | 323 | 324 | 325 | vendor.qti.hardware.data.latency 326 | hwbinder 327 | 1.0 328 | 329 | ILinkLatency 330 | default 331 | 332 | @1.0::ILinkLatency/default 333 | 334 | 335 | vendor.qti.hardware.dsp 336 | hwbinder 337 | 1.0 338 | 339 | IDspService 340 | dspservice 341 | 342 | @1.0::IDspService/dspservice 343 | 344 | 345 | vendor.qti.hardware.embmssl 346 | hwbinder 347 | 1.1 348 | 349 | IEmbms 350 | embmsslServer0 351 | 352 | @1.1::IEmbms/embmsslServer0 353 | 354 | 355 | vendor.qti.hardware.factory 356 | hwbinder 357 | 1.1 358 | 359 | IFactory 360 | default 361 | 362 | @1.1::IFactory/default 363 | 364 | 365 | vendor.qti.hardware.fm 366 | hwbinder 367 | 1.0 368 | 369 | IFmHci 370 | default 371 | 372 | @1.0::IFmHci/default 373 | 374 | 375 | vendor.qti.hardware.fstman 376 | hwbinder 377 | 1.0 378 | 379 | IFstManager 380 | default 381 | 382 | @1.0::IFstManager/default 383 | 384 | 385 | vendor.qti.hardware.mwqemadapter 386 | hwbinder 387 | 1.0 388 | 389 | IMwqemAdapter 390 | MwqemAdapter 391 | 392 | @1.0::IMwqemAdapter/MwqemAdapter 393 | 394 | 395 | vendor.qti.hardware.qseecom 396 | hwbinder 397 | 1.0 398 | 399 | IQSEECom 400 | default 401 | 402 | @1.0::IQSEECom/default 403 | 404 | 405 | vendor.qti.hardware.qteeconnector 406 | hwbinder 407 | 1.0 408 | 409 | IAppConnector 410 | default 411 | 412 | 413 | IGPAppConnector 414 | default 415 | 416 | @1.0::IAppConnector/default 417 | @1.0::IGPAppConnector/default 418 | 419 | 420 | vendor.qti.hardware.radio.am 421 | hwbinder 422 | 1.0 423 | 424 | IQcRilAudio 425 | slot1 426 | slot2 427 | 428 | 429 | 430 | vendor.qti.hardware.radio.ims 431 | hwbinder 432 | 1.7 433 | 434 | IImsRadio 435 | imsradio0 436 | imsradio1 437 | 438 | 439 | 440 | vendor.qti.hardware.radio.internal.deviceinfo 441 | hwbinder 442 | 1.0 443 | 444 | IDeviceInfo 445 | deviceinfo 446 | 447 | @1.0::IDeviceInfo/deviceinfo 448 | 449 | 450 | vendor.qti.hardware.radio.qcrilhook 451 | hwbinder 452 | 1.0 453 | 454 | IQtiOemHook 455 | oemhook0 456 | oemhook1 457 | 458 | 459 | 460 | vendor.qti.hardware.radio.qtiradio 461 | hwbinder 462 | 1.0 463 | 464 | IQtiRadio 465 | slot1 466 | slot2 467 | 468 | 469 | 470 | vendor.qti.hardware.radio.qtiradio 471 | hwbinder 472 | 2.4 473 | 474 | IQtiRadio 475 | slot1 476 | slot2 477 | 478 | 479 | 480 | vendor.qti.hardware.radio.uim_remote_client 481 | hwbinder 482 | 1.0 483 | 484 | IUimRemoteServiceClient 485 | uimRemoteClient0 486 | uimRemoteClient1 487 | 488 | 489 | 490 | vendor.qti.hardware.radio.uim_remote_server 491 | hwbinder 492 | 1.0 493 | 494 | IUimRemoteServiceServer 495 | uimRemoteServer0 496 | uimRemoteServer1 497 | 498 | 499 | 500 | vendor.qti.hardware.radio.uim 501 | hwbinder 502 | 1.2 503 | 504 | IUim 505 | Uim0 506 | Uim1 507 | 508 | 509 | 510 | vendor.qti.hardware.sensorscalibrate 511 | hwbinder 512 | 1.0 513 | 514 | ISensorsCalibrate 515 | default 516 | 517 | @1.0::ISensorsCalibrate/default 518 | 519 | 520 | vendor.qti.hardware.soter 521 | hwbinder 522 | 1.0 523 | 524 | ISoter 525 | default 526 | 527 | @1.0::ISoter/default 528 | 529 | 530 | vendor.qti.hardware.wifi.wifilearner 531 | hwbinder 532 | 1.0 533 | 534 | IWifiStats 535 | wifiStats 536 | 537 | @1.0::IWifiStats/wifiStats 538 | 539 | 540 | vendor.qti.hardware.wigig.netperftuner 541 | hwbinder 542 | 1.0 543 | 544 | INetPerfTuner 545 | default 546 | 547 | @1.0::INetPerfTuner/default 548 | 549 | 550 | vendor.qti.hardware.wigig.supptunnel 551 | hwbinder 552 | 1.0 553 | 554 | ISuppTunnelProvider 555 | default 556 | 557 | @1.0::ISuppTunnelProvider/default 558 | 559 | 560 | vendor.qti.ims.callinfo 561 | hwbinder 562 | 1.0 563 | 564 | IService 565 | default 566 | 567 | @1.0::IService/default 568 | 569 | 570 | vendor.qti.ims.factory 571 | hwbinder 572 | 1.0 573 | 574 | IImsFactory 575 | default 576 | 577 | @1.0::IImsFactory/default 578 | 579 | 580 | vendor.qti.imsrtpservice 581 | hwbinder 582 | 3.0 583 | 584 | IRTPService 585 | imsrtpservice 586 | 587 | @3.0::IRTPService/imsrtpservice 588 | 589 | 590 | 591 | --------------------------------------------------------------------------------