diff --git a/Android.bp b/Android.bp index dfecee0..ad27f07 100644 --- a/Android.bp +++ b/Android.bp @@ -1,3 +1,26 @@ +// +// Copyright (C) 2021-2024 The LineageOS Project +// SPDX-License-Identifier: Apache-2.0 +// Copyright (C) 2019-Current A-Team Digital Solutions +// + soong_namespace { - imports: ["hardware/qcom-caf/bootctrl"], + imports: [ + "hardware/google/interfaces", + "hardware/google/pixel" + ], +} + +install_symlink { + name: "firmware_wlan_mac.bin_symlink", + vendor: true, + installed_location: "firmware/wlan/qca_cld/wlan_mac.bin", + symlink_target: "/mnt/vendor/persist/wlan_mac.bin", +} + +install_symlink { + name: "firmware_WCNSS_qcom_cfg.ini_symlink", + vendor: true, + installed_location: "firmware/wlan/qca_cld/WCNSS_qcom_cfg.ini", + symlink_target: "/odm/vendor/etc/wifi/WCNSS_qcom_cfg.ini", } diff --git a/Android.mk b/Android.mk deleted file mode 100644 index dbae463..0000000 --- a/Android.mk +++ /dev/null @@ -1,99 +0,0 @@ -# -# Copyright (C) 2021-2022 The LineageOS Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -LOCAL_PATH := $(call my-dir) - -ifeq ($(TARGET_DEVICE),dre) -include $(call all-makefiles-under,$(LOCAL_PATH)) - -include $(CLEAR_VARS) - -# A/B builds require us to create the mount points at compile time. -# Just creating it for all cases since it does not hurt. -FIRMWARE_MOUNT_POINT := $(TARGET_OUT_VENDOR)/firmware_mnt -$(FIRMWARE_MOUNT_POINT): $(LOCAL_INSTALLED_MODULE) - @echo "Creating $(FIRMWARE_MOUNT_POINT)" - @mkdir -p $(TARGET_OUT_VENDOR)/firmware_mnt - -BT_FIRMWARE_MOUNT_POINT := $(TARGET_OUT_VENDOR)/bt_firmware -$(BT_FIRMWARE_MOUNT_POINT): $(LOCAL_INSTALLED_MODULE) - @echo "Creating $(BT_FIRMWARE_MOUNT_POINT)" - @mkdir -p $(TARGET_OUT_VENDOR)/bt_firmware - -DSP_MOUNT_POINT := $(TARGET_OUT_VENDOR)/dsp -$(DSP_MOUNT_POINT): $(LOCAL_INSTALLED_MODULE) - @echo "Creating $(DSP_MOUNT_POINT)" - @mkdir -p $(TARGET_OUT_VENDOR)/dsp - -ALL_DEFAULT_INSTALLED_MODULES += $(FIRMWARE_MOUNT_POINT) $(BT_FIRMWARE_MOUNT_POINT) $(DSP_MOUNT_POINT) - -RFS_MSM_ADSP_SYMLINKS := $(TARGET_OUT_VENDOR)/rfs/msm/adsp/ -$(RFS_MSM_ADSP_SYMLINKS): $(LOCAL_INSTALLED_MODULE) - @echo "Creating RFS MSM ADSP folder structure: $@" - @rm -rf $@/* - @mkdir -p $(dir $@)/readonly/vendor - $(hide) ln -sf /data/vendor/tombstones/rfs/lpass $@/ramdumps - $(hide) ln -sf /mnt/vendor/persist/rfs/msm/adsp $@/readwrite - $(hide) ln -sf /mnt/vendor/persist/rfs/shared $@/shared - $(hide) ln -sf /mnt/vendor/persist/hlos_rfs/shared $@/hlos - $(hide) ln -sf /vendor/firmware_mnt $@/readonly/firmware - $(hide) ln -sf /vendor/firmware $@/readonly/vendor/firmware - -RFS_MSM_CDSP_SYMLINKS := $(TARGET_OUT_VENDOR)/rfs/msm/cdsp/ -$(RFS_MSM_CDSP_SYMLINKS): $(LOCAL_INSTALLED_MODULE) - @echo "Creating RFS MSM CDSP folder structure: $@" - @rm -rf $@/* - @mkdir -p $(dir $@)/readonly/vendor - $(hide) ln -sf /data/vendor/tombstones/rfs/cdsp $@/ramdumps - $(hide) ln -sf /mnt/vendor/persist/rfs/msm/cdsp $@/readwrite - $(hide) ln -sf /mnt/vendor/persist/rfs/shared $@/shared - $(hide) ln -sf /mnt/vendor/persist/hlos_rfs/shared $@/hlos - $(hide) ln -sf /vendor/firmware_mnt $@/readonly/firmware - $(hide) ln -sf /vendor/firmware $@/readonly/vendor/firmware - -RFS_MSM_MPSS_SYMLINKS := $(TARGET_OUT_VENDOR)/rfs/msm/mpss/ -$(RFS_MSM_MPSS_SYMLINKS): $(LOCAL_INSTALLED_MODULE) - @echo "Creating RFS MSM MPSS folder structure: $@" - @rm -rf $@/* - @mkdir -p $(dir $@)/readonly/vendor - $(hide) ln -sf /data/vendor/tombstones/rfs/modem $@/ramdumps - $(hide) ln -sf /mnt/vendor/persist/rfs/msm/mpss $@/readwrite - $(hide) ln -sf /mnt/vendor/persist/rfs/shared $@/shared - $(hide) ln -sf /mnt/vendor/persist/hlos_rfs/shared $@/hlos - $(hide) ln -sf /vendor/firmware_mnt $@/readonly/firmware - $(hide) ln -sf /vendor/firmware $@/readonly/vendor/firmware - -RFS_MSM_SLPI_SYMLINKS := $(TARGET_OUT_VENDOR)/rfs/msm/slpi/ -$(RFS_MSM_SLPI_SYMLINKS): $(LOCAL_INSTALLED_MODULE) - @echo "Creating RFS MSM SLPI folder structure: $@" - @rm -rf $@/* - @mkdir -p $(dir $@)/readonly/vendor - $(hide) ln -sf /data/vendor/tombstones/rfs/slpi $@/ramdumps - $(hide) ln -sf /mnt/vendor/persist/rfs/msm/slpi $@/readwrite - $(hide) ln -sf /mnt/vendor/persist/rfs/shared $@/shared - $(hide) ln -sf /mnt/vendor/persist/hlos_rfs/shared $@/hlos - $(hide) ln -sf /vendor/firmware_mnt $@/readonly/firmware - $(hide) ln -sf /vendor/firmware $@/readonly/vendor/firmware - -WIFI_FIRMWARE_SYMLINKS := $(TARGET_OUT_VENDOR)/firmware/wlan/qca_cld -$(WIFI_FIRMWARE_SYMLINKS): $(LOCAL_INSTALLED_MODULE) - @echo "Creating wifi firmware symlinks: $@" - @mkdir -p $@ - $(hide) ln -sf /mnt/vendor/persist/WCNSS_qcom_cfg.ini $@/WCNSS_qcom_cfg.ini - $(hide) ln -sf /mnt/vendor/persist/wlan_mac.bin $@/wlan_mac.bin - -ALL_DEFAULT_INSTALLED_MODULES += $(RFS_MSM_ADSP_SYMLINKS) $(RFS_MSM_CDSP_SYMLINKS) $(RFS_MSM_MPSS_SYMLINKS) $(RFS_MSM_SLPI_SYMLINKS) $(WIFI_FIRMWARE_SYMLINKS) -endif diff --git a/AndroidProducts.mk b/AndroidProducts.mk index 5b67f85..5149227 100644 --- a/AndroidProducts.mk +++ b/AndroidProducts.mk @@ -13,11 +13,6 @@ # See the License for the specific language governing permissions and # limitations under the License. # - +# Copyright (C) 2019-Current A-Team Digital Solutions PRODUCT_MAKEFILES := \ - $(LOCAL_DIR)/lineage_dre.mk - -COMMON_LUNCH_CHOICES := \ - lineage_dre-user \ - lineage_dre-userdebug \ - lineage_dre-eng + $(LOCAL_DIR)/bliss_dre.mk diff --git a/BoardConfig.mk b/BoardConfig.mk index adf47eb..300574b 100644 --- a/BoardConfig.mk +++ b/BoardConfig.mk @@ -1,23 +1,6 @@ -# -# Copyright (C) 2021-2022 The LineageOS Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -BUILD_BROKEN_DUP_RULES := true -BUILD_BROKEN_ELF_PREBUILT_PRODUCT_COPY_FILES := true - -BOARD_VENDOR := oneplus +# Copyright (C) 2021-2024 The LineageOS Project +# SPDX-License-Identifier: Apache-2.0 +# Copyright (C) 2019-Current A-Team Digital Solutions DEVICE_PATH := device/oneplus/dre @@ -37,9 +20,6 @@ AB_OTA_PARTITIONS += \ vendor_boot \ vendor_dlkm -# ANT+ -BOARD_ANT_WIRELESS_DEVICE := "qualcomm-hidl" - # Architecture TARGET_ARCH := arm64 TARGET_ARCH_VARIANT := armv8-a @@ -55,13 +35,11 @@ TARGET_2ND_CPU_ABI2 := armeabi TARGET_2ND_CPU_VARIANT := generic TARGET_2ND_CPU_VARIANT_RUNTIME := kryo385 +# Assert +TARGET_OTA_ASSERT_DEVICE := OnePlusN200,OnePlusN200TMO,dre + # Audio -AUDIO_FEATURE_ENABLED_AHAL_EXT := false AUDIO_FEATURE_ENABLED_DLKM := true -AUDIO_FEATURE_ENABLED_DS2_DOLBY_DAP := false -AUDIO_FEATURE_ENABLED_DTS_EAGLE := false -AUDIO_FEATURE_ENABLED_DYNAMIC_LOG := false -AUDIO_FEATURE_ENABLED_EXT_AMPLIFIER := true AUDIO_FEATURE_ENABLED_EXTENDED_COMPRESS_FORMAT := true AUDIO_FEATURE_ENABLED_GEF_SUPPORT := true AUDIO_FEATURE_ENABLED_GKI := true @@ -69,6 +47,7 @@ AUDIO_FEATURE_ENABLED_HW_ACCELERATED_EFFECTS := false AUDIO_FEATURE_ENABLED_INSTANCE_ID := true AUDIO_FEATURE_ENABLED_PROXY_DEVICE := true AUDIO_FEATURE_ENABLED_SSR := true +AUDIO_FEATURE_ENABLED_SVA_MULTI_STAGE := true BOARD_SUPPORTS_OPENSOURCE_STHAL := true BOARD_SUPPORTS_SOUND_TRIGGER := true BOARD_USES_ALSA_AUDIO := true @@ -78,40 +57,18 @@ USE_CUSTOM_AUDIO_POLICY := 1 TARGET_BOOTLOADER_BOARD_NAME := holi TARGET_NO_BOOTLOADER := true -# Bluetooth -BOARD_BLUETOOTH_BDROID_BUILDCFG_INLUDE_DIR := $(DEVICE_PATH)/bluetooth -TARGET_USE_QTI_BT_STACK := true - # Camera TARGET_USES_QTI_CAMERA_DEVICE := true USE_DEVICE_SPECIFIC_CAMERA := true # Display +TARGET_GRALLOC_HANDLE_HAS_RESERVED_SIZE := true +TARGET_HAS_WIDE_COLOR_DISPLAY := false TARGET_SCREEN_DENSITY := 450 -TARGET_USES_COLOR_METADATA := true -TARGET_USES_DISPLAY_RENDER_INTENTS := true -TARGET_USES_DRM_PP := true -TARGET_USES_GRALLOC4 := true -TARGET_USES_HWC2 := true -TARGET_USES_ION := true -TARGET_USES_QCOM_DISPLAY_BSP := true -TARGET_USES_QTI_MAPPER_2_0 := true -TARGET_USES_QTI_MAPPER_EXTENSIONS_1_1 := true - -# DRM -TARGET_ENABLE_MEDIADRM_64 := true # Filesystem TARGET_FS_CONFIG_GEN := $(DEVICE_PATH)/config.fs -# HIDL -DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE := \ - $(DEVICE_PATH)/device_framework_matrix.xml \ - hardware/qcom-caf/common/vendor_framework_compatibility_matrix.xml \ - vendor/lineage/config/device_framework_matrix.xml -DEVICE_MATRIX_FILE := $(DEVICE_PATH)/compatibility_matrix.xml -DEVICE_MANIFEST_FILE := $(DEVICE_PATH)/manifest.xml - # Kernel BOARD_BOOT_HEADER_VERSION := 3 BOARD_KERNEL_BASE := 0x00000000 @@ -127,45 +84,35 @@ BOARD_KERNEL_CMDLINE := \ service_locator.enable=1 \ swiotlb=0 \ iptable_raw.raw_before_defrag=1 \ - ip6table_raw.raw_before_defrag=1 \ - video=vfb:640x400,bpp=32,memsize=3072000 + ip6table_raw.raw_before_defrag=1 BOARD_KERNEL_IMAGE_NAME := Image BOARD_KERNEL_PAGESIZE := 4096 BOARD_KERNEL_SEPARATED_DTBO := true BOARD_MKBOOTIMG_ARGS += --header_version $(BOARD_BOOT_HEADER_VERSION) -TARGET_KERNEL_ADDITIONAL_FLAGS := \ - DTC_EXT=$(shell pwd)/prebuilts/misc/linux-x86/dtc/dtc \ - LLVM=1 +BOARD_RAMDISK_USE_LZ4 := true TARGET_KERNEL_SOURCE := kernel/oneplus/sm4350 TARGET_KERNEL_CONFIG := vendor/holi-qgki_defconfig +TARGET_KERNEL_NO_GCC := true # Kernel modules BOARD_VENDOR_KERNEL_MODULES_LOAD := $(strip $(shell cat $(DEVICE_PATH)/modules.load)) -BOARD_VENDOR_RAMDISK_RECOVERY_KERNEL_MODULES_LOAD := $(strip $(shell cat $(DEVICE_PATH)/modules.load.recovery)) -BOOT_KERNEL_MODULES := $(BOARD_VENDOR_RAMDISK_RECOVERY_KERNEL_MODULES_LOAD) # Metadata BOARD_USES_METADATA_PARTITION := true # Partitions +BOARD_PRODUCTIMAGE_MINIMAL_PARTITION_RESERVED_SIZE := false +-include vendor/lineage/config/BoardConfigReservedSize.mk BOARD_BOOTIMAGE_PARTITION_SIZE := 100663296 BOARD_DTBOIMG_PARTITION_SIZE := 8388608 BOARD_USERDATAIMAGE_PARTITION_SIZE := 54429298688 BOARD_VENDOR_BOOTIMAGE_PARTITION_SIZE := 100663296 -ifneq ($(WITH_GMS),true) -BOARD_PRODUCTIMAGE_EXTFS_INODE_COUNT := -1 -BOARD_PRODUCTIMAGE_PARTITION_RESERVED_SIZE := 958769746 -BOARD_SYSTEMIMAGE_EXTFS_INODE_COUNT := -1 -BOARD_SYSTEMIMAGE_PARTITION_RESERVED_SIZE := 1441097161 -BOARD_SYSTEM_EXTIMAGE_EXTFS_INODE_COUNT := -1 -BOARD_SYSTEM_EXTIMAGE_PARTITION_RESERVED_SIZE := 92160000 -endif -BOARD_ODMIMAGE_FILE_SYSTEM_TYPE := ext4 +BOARD_ODMIMAGE_FILE_SYSTEM_TYPE := erofs BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE := ext4 BOARD_SYSTEM_EXTIMAGE_FILE_SYSTEM_TYPE := ext4 BOARD_SYSTEMIMAGE_FILE_SYSTEM_TYPE := ext4 -BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4 -BOARD_VENDOR_DLKMIMAGE_FILE_SYSTEM_TYPE := ext4 +BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := erofs +BOARD_VENDOR_DLKMIMAGE_FILE_SYSTEM_TYPE := erofs BOARD_ONEPLUS_DYNAMIC_PARTITIONS_PARTITION_LIST := odm product system system_ext vendor vendor_dlkm BOARD_ONEPLUS_DYNAMIC_PARTITIONS_SIZE := 5837979648 BOARD_SUPER_PARTITION_GROUPS := oneplus_dynamic_partitions @@ -181,57 +128,72 @@ TARGET_COPY_OUT_VENDOR_DLKM := vendor_dlkm BOARD_USES_QCOM_HARDWARE := true TARGET_BOARD_PLATFORM := holi -# Power -TARGET_TAP_TO_WAKE_NODE := "/proc/touchpanel/double_tap_enable" - # Properties TARGET_ODM_PROP += $(DEVICE_PATH)/odm.prop -TARGET_SYSTEM_PROP += $(DEVICE_PATH)/system.prop +TARGET_PRODUCT_PROP += $(DEVICE_PATH)/product.prop +TARGET_SYSTEM_EXT_PROP += $(DEVICE_PATH)/system_ext.prop TARGET_VENDOR_PROP += $(DEVICE_PATH)/vendor.prop # Recovery BOARD_INCLUDE_DTB_IN_BOOTIMG := true -BOARD_USES_RECOVERY_AS_BOOT := true -TARGET_RECOVERY_FSTAB := $(DEVICE_PATH)/rootdir/etc/fstab.qcom +BOARD_MOVE_RECOVERY_RESOURCES_TO_VENDOR_BOOT := true +TARGET_RECOVERY_FSTAB := $(DEVICE_PATH)/init/fstab.qcom TARGET_RECOVERY_PIXEL_FORMAT := RGBX_8888 TARGET_USERIMAGES_USE_EXT4 := true TARGET_USERIMAGES_USE_F2FS := true # RIL -CUSTOM_APNS_FILE := $(DEVICE_PATH)/configs/apns-conf.xml ENABLE_VENDOR_RIL_SERVICE := true -# Security patch level -VENDOR_SECURITY_PATCH := 2022-03-01 +# Security +BOOT_SECURITY_PATCH := $(PLATFORM_SECURITY_PATCH) +VENDOR_SECURITY_PATCH := $(BOOT_SECURITY_PATCH) # SEPolicy include device/qcom/sepolicy_vndr/SEPolicy.mk - -BOARD_VENDOR_SEPOLICY_DIRS += $(DEVICE_PATH)/sepolicy/vendor +include hardware/oplus/sepolicy/qti/SEPolicy.mk +SYSTEM_EXT_PRIVATE_SEPOLICY_DIRS += $(DEVICE_PATH)/sepolicy/private # Verified Boot BOARD_AVB_ENABLE := true BOARD_AVB_MAKE_VBMETA_IMAGE_ARGS += --set_hashtree_disabled_flag -BOARD_AVB_MAKE_VBMETA_IMAGE_ARGS += --flags 2 +BOARD_AVB_MAKE_VBMETA_IMAGE_ARGS += --set_verification_disabled_flag + +BOARD_AVB_BOOT_KEY_PATH := external/avb/test/data/testkey_rsa4096.pem +BOARD_AVB_BOOT_ALGORITHM := SHA256_RSA4096 +BOARD_AVB_BOOT_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP) +BOARD_AVB_BOOT_ROLLBACK_INDEX_LOCATION := 4 + +BOARD_AVB_DTBO_KEY_PATH := external/avb/test/data/testkey_rsa4096.pem +BOARD_AVB_DTBO_ALGORITHM := SHA256_RSA4096 +BOARD_AVB_DTBO_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP) +BOARD_AVB_DTBO_ROLLBACK_INDEX_LOCATION := 3 + BOARD_AVB_VBMETA_SYSTEM := system system_ext product -BOARD_AVB_VBMETA_SYSTEM_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem -BOARD_AVB_VBMETA_SYSTEM_ALGORITHM := SHA256_RSA2048 +BOARD_AVB_VBMETA_SYSTEM_KEY_PATH := external/avb/test/data/testkey_rsa4096.pem +BOARD_AVB_VBMETA_SYSTEM_ALGORITHM := SHA256_RSA4096 BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP) -BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX_LOCATION := 1 +BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX_LOCATION := 2 + +BOARD_AVB_VENDOR_BOOT_KEY_PATH := external/avb/test/data/testkey_rsa4096.pem +BOARD_AVB_VENDOR_BOOT_ALGORITHM := SHA256_RSA4096 +BOARD_AVB_VENDOR_BOOT_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP) +BOARD_AVB_VENDOR_BOOT_ROLLBACK_INDEX_LOCATION := 1 # Wi-Fi BOARD_WLAN_DEVICE := qcwcn BOARD_HOSTAPD_DRIVER := NL80211 BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_$(BOARD_WLAN_DEVICE) -BOARD_WPA_SUPPLICANT_DRIVER := NL80211 -BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_$(BOARD_WLAN_DEVICE) -WIFI_DRIVER_DEFAULT := qca_cld3 +BOARD_WPA_SUPPLICANT_DRIVER := $(BOARD_HOSTAPD_DRIVER) +BOARD_WPA_SUPPLICANT_PRIVATE_LIB := $(BOARD_HOSTAPD_PRIVATE_LIB) +BOARD_WPA_SUPPLICANT_PRIVATE_LIB_EVENT := "ON" WIFI_DRIVER_STATE_CTRL_PARAM := "/dev/wlan" WIFI_DRIVER_STATE_OFF := "OFF" WIFI_DRIVER_STATE_ON := "ON" +WIFI_HIDL_FEATURE_AWARE := true WIFI_HIDL_FEATURE_DUAL_INTERFACE := true WIFI_HIDL_UNIFIED_SUPPLICANT_SERVICE_RC_ENTRY := true WPA_SUPPLICANT_VERSION := VER_0_8_X # Include the proprietary files BoardConfig. --include vendor/oneplus/dre/BoardConfigVendor.mk +include vendor/oneplus/dre/BoardConfigVendor.mk diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..261eeb9 --- /dev/null +++ b/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/lineage_dre.mk b/bliss_dre.mk similarity index 63% rename from lineage_dre.mk rename to bliss_dre.mk index 9ac72af..1b3b1bf 100644 --- a/lineage_dre.mk +++ b/bliss_dre.mk @@ -1,6 +1,4 @@ -# -# Copyright (C) 2021-2022 The LineageOS Project -# +# Copyright (C) 2021-2023 The LineageOS Project # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at @@ -12,19 +10,20 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. -# +# Copyright (C) 2019-Current A-Team Digital Solutions # Inherit from those products. Most specific first. $(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk) +TARGET_SUPPORTS_OMX_SERVICE := false $(call inherit-product, $(SRC_TARGET_DIR)/product/full_base_telephony.mk) # Inherit from dre device $(call inherit-product, device/oneplus/dre/device.mk) -# Inherit some common Lineage stuff. -$(call inherit-product, vendor/lineage/config/common_full_phone.mk) +# Inherit some common Bliss stuff. +$(call inherit-product, vendor/bliss/config/common_full_phone.mk) -PRODUCT_NAME := lineage_dre +PRODUCT_NAME := bliss_dre PRODUCT_DEVICE := dre PRODUCT_MANUFACTURER := OnePlus PRODUCT_BRAND := OnePlus @@ -33,8 +32,9 @@ PRODUCT_MODEL := DE2117 PRODUCT_GMS_CLIENTID_BASE := android-oneplus PRODUCT_BUILD_PROP_OVERRIDES += \ - PRIVATE_BUILD_DESC="OnePlusN200-user 11 release-keys" \ - TARGET_DEVICE=OnePlusN200 \ - TARGET_PRODUCT=OnePlusN200 - -BUILD_FINGERPRINT := OnePlus/OnePlusN200/OnePlusN200:11/RKQ1.201217.002/2203021418:user/release-keys + BuildDesc="OnePlusN200-user 12 SKQ1.210216.001 R.205d809_1-735849 release-keys" \ + BuildFingerprint=OnePlus/OnePlusN200/OnePlusN200:12/SKQ1.210216.001/R.205d809_1-735849:user/release-keys \ + DeviceName=OnePlusN200 \ + DeviceProduct=OnePlusN200 \ + SystemDevice=OnePlusN200 \ + SystemName=OnePlusN200 diff --git a/blob-patches/init-post-boot-blair.patch b/blob-patches/init-post-boot-blair.patch new file mode 100644 index 0000000..bb6bf61 --- /dev/null +++ b/blob-patches/init-post-boot-blair.patch @@ -0,0 +1,14 @@ +--- a/init.kernel.post_boot-blair.sh ++++ b/init.kernel.post_boot-blair.sh +@@ -32,11 +32,6 @@ + #============================================================================= + + function configure_zram_parameters() { +- # Moto yangbq2: Skip this if we are using zram from fstab. +- using_zram_from_fstab=`getprop ro.boot.using_zram_from_fstab` +- if [ "$using_zram_from_fstab" == "true" ]; then +- return +- fi + MemTotalStr=`cat /proc/meminfo | grep MemTotal` + MemTotal=${MemTotalStr:16:8} + diff --git a/blob-patches/init-post-boot-holi.patch b/blob-patches/init-post-boot-holi.patch new file mode 100644 index 0000000..bc9a319 --- /dev/null +++ b/blob-patches/init-post-boot-holi.patch @@ -0,0 +1,14 @@ +--- a/init.kernel.post_boot-holi.sh ++++ b/init.kernel.post_boot-holi.sh +@@ -32,11 +32,6 @@ + #============================================================================= + + function configure_zram_parameters() { +- # Moto yangbq2: Skip this if we are using zram from fstab. +- using_zram_from_fstab=`getprop ro.boot.using_zram_from_fstab` +- if [ "$using_zram_from_fstab" == "true" ]; then +- return +- fi + MemTotalStr=`cat /proc/meminfo | grep MemTotal` + MemTotal=${MemTotalStr:16:8} + diff --git a/bluetooth/bdroid_buildcfg.h b/bluetooth/bdroid_buildcfg.h deleted file mode 100644 index 9b20406..0000000 --- a/bluetooth/bdroid_buildcfg.h +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright (c) 2013, The Linux Foundation. All rights reserved. - * Not a Contribution. - * - * Copyright (C) 2012 The Android Open Source Project - * Copyright (C) 2022 The LineageOS Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef _BDROID_BUILDCFG_H -#define _BDROID_BUILDCFG_H -#define BTM_DEF_LOCAL_NAME "OnePlus Nord N200" -// Disables read remote device feature -#define MAX_ACL_CONNECTIONS 16 -#define MAX_L2CAP_CHANNELS 32 -#define BLE_VND_INCLUDED TRUE -#define GATT_MAX_PHY_CHANNEL 10 -// skips conn update at conn completion -#define BT_CLEAN_TURN_ON_DISABLED 1 - -#define AVDT_NUM_SEPS 35 -#endif \ No newline at end of file diff --git a/board-info.txt b/board-info.txt new file mode 100644 index 0000000..0fee1ba --- /dev/null +++ b/board-info.txt @@ -0,0 +1 @@ +require board=holi|OnePlusN200 diff --git a/bootctrl/Android.bp b/bootctrl/Android.bp deleted file mode 100644 index 0f412aa..0000000 --- a/bootctrl/Android.bp +++ /dev/null @@ -1,28 +0,0 @@ -// -// Copyright (C) 2018 The Android Open Source Project -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -cc_library { - name: "bootctrl.holi", - defaults: ["bootctrl_hal_defaults"], - static_libs: ["libgptutils.oneplus_holi"], -} - -cc_library_shared { - name: "android.hardware.boot@1.1-impl-qti", - stem: "android.hardware.boot@1.0-impl-1.1-qti", - defaults: ["android.hardware.boot@1.1-impl-qti_defaults"], - static_libs: ["libgptutils.oneplus_holi"], -} diff --git a/compatibility_matrix.xml b/compatibility_matrix.xml deleted file mode 100644 index 8c2c0bf..0000000 --- a/compatibility_matrix.xml +++ /dev/null @@ -1,109 +0,0 @@ - - - - android.frameworks.schedulerservice - 1.0 - - ISchedulingPolicyService - default - - - - android.frameworks.sensorservice - 1.0 - - ISensorManager - default - - - - android.hidl.allocator - 1.0 - - IAllocator - ashmem - - - - android.hidl.manager - 1.0 - - IServiceManager - default - - - - android.hidl.memory - 1.0 - - IMapper - ashmem - - - - android.hidl.token - 1.0 - - ITokenManager - default - - - - android.system.wifi.keystore - 1.0 - - IKeystore - default - - - - vendor.qti.hardware.qccsyshal - 1.0 - - IQccsyshal - qccsyshal - - - - vendor.qti.hardware.sigma_miracast - 1.0 - - Isigma_miracast - sigmahal - - - - vendor.qti.hardware.wifi.keystore - 1.0 - - IKeystoreExt - default - - - diff --git a/config.fs b/config.fs index 084ddf9..0b2da9d 100644 --- a/config.fs +++ b/config.fs @@ -25,6 +25,12 @@ value:2908 [AID_VENDOR_QTR] value:2909 +[AID_VENDOR_LAUNCHER] +value:2988 + +[AID_VENDOR_SAURES] +value:2989 + [bt_firmware/] mode: 0771 user: AID_SYSTEM diff --git a/configs/apns-conf.xml b/configs/apns-conf.xml deleted file mode 100644 index ad5bd04..0000000 --- a/configs/apns-conf.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/audio/audio_io_policy.conf b/configs/audio/audio_io_policy.conf similarity index 90% rename from audio/audio_io_policy.conf rename to configs/audio/audio_io_policy.conf index 337c70b..b1169dd 100644 --- a/audio/audio_io_policy.conf +++ b/configs/audio/audio_io_policy.conf @@ -11,26 +11,21 @@ # the flags and formats should match the ones in "audio_policy.conf" outputs { -#ifdef VENDOR_EDIT -#if OP_FEATURE_MM_24BIT == 1 -#zhangyu@MM.Audio, 2021/01/28, Use 24bit to playback default { + flags AUDIO_OUTPUT_FLAG_PRIMARY + formats AUDIO_FORMAT_PCM_16_BIT + sampling_rates 48000 + bit_width 16 + app_type 69937 + } +#Vincent.chen@MULTIMEDIA.AUDIODRIVER.HAL, 2022/03/09, Add for support 24bit playback + default_24bit { flags AUDIO_OUTPUT_FLAG_PRIMARY formats AUDIO_FORMAT_PCM_24_BIT_PACKED sampling_rates 48000 bit_width 24 app_type 69937 } -#else -# default { -# flags AUDIO_OUTPUT_FLAG_PRIMARY -# formats AUDIO_FORMAT_PCM_16_BIT -# sampling_rates 48000 -# bit_width 16 -# app_type 69937 -# } -#endif -#endif proaudio { flags AUDIO_OUTPUT_FLAG_FAST|AUDIO_OUTPUT_FLAG_RAW formats AUDIO_FORMAT_PCM_16_BIT @@ -45,26 +40,21 @@ outputs { bit_width 16 app_type 69946 } -#ifdef VENDOR_EDIT -#if OP_FEATURE_MM_24BIT == 1 -#zhangyu@MM.Audio, 2021/01/28, Use 24bit to playback deep_buffer { + flags AUDIO_OUTPUT_FLAG_DEEP_BUFFER + formats AUDIO_FORMAT_PCM_16_BIT + sampling_rates 48000 + bit_width 16 + app_type 69936 + } +#Vincent.chen@MULTIMEDIA.AUDIODRIVER.HAL, 2022/03/09, Add for support 24bit playback + deep_buffer_24bit { flags AUDIO_OUTPUT_FLAG_DEEP_BUFFER formats AUDIO_FORMAT_PCM_24_BIT_PACKED sampling_rates 48000 bit_width 24 app_type 69936 } -#else -# deep_buffer { -# flags AUDIO_OUTPUT_FLAG_DEEP_BUFFER -# formats AUDIO_FORMAT_PCM_16_BIT -# sampling_rates 48000 -# bit_width 16 -# app_type 69936 -# } -#endif -#endif direct_pcm_16 { flags AUDIO_OUTPUT_FLAG_DIRECT formats AUDIO_FORMAT_PCM_16_BIT|AUDIO_FORMAT_PCM_24_BIT_PACKED|AUDIO_FORMAT_PCM_8_24_BIT|AUDIO_FORMAT_PCM_32_BIT diff --git a/audio/audio_platform_info_intcodec.xml b/configs/audio/audio_platform_info.xml similarity index 81% rename from audio/audio_platform_info_intcodec.xml rename to configs/audio/audio_platform_info.xml index b628fdf..9bfd743 100644 --- a/audio/audio_platform_info_intcodec.xml +++ b/configs/audio/audio_platform_info.xml @@ -1,5 +1,5 @@ - + @@ -82,8 +82,11 @@ - + + + + @@ -92,16 +95,20 @@ - - + + + + + + @@ -109,15 +116,33 @@ - - - - + - - - + + + + + + + + + + + + + + + + + + + + + + + + @@ -128,12 +153,7 @@ - - - - - @@ -157,16 +177,60 @@ + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + + + + + + + + + + + + + + @@ -198,6 +262,9 @@ + + + @@ -242,6 +309,9 @@ + + + @@ -280,6 +350,9 @@ + + + @@ -326,12 +399,25 @@ - - - - - - + + + + + + + + + + + + + + + + + + + @@ -385,8 +471,6 @@ - + diff --git a/configs/audio/audio_policy_configuration.xml b/configs/audio/audio_policy_configuration.xml new file mode 100644 index 0000000..c04734a --- /dev/null +++ b/configs/audio/audio_policy_configuration.xml @@ -0,0 +1,448 @@ + + + + + + + + + + + + + + + + + + + Earpiece + Speaker + Telephony Tx + Built-In Mic + Built-In Back Mic + FM Tuner + Telephony Rx + + Speaker + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/configs/audio/audio_policy_configuration_a2dp_offload_disabled.xml b/configs/audio/audio_policy_configuration_a2dp_offload_disabled.xml new file mode 100644 index 0000000..62b6633 --- /dev/null +++ b/configs/audio/audio_policy_configuration_a2dp_offload_disabled.xml @@ -0,0 +1,427 @@ + + + + + + + + + + + + + + + + + + + Earpiece + Speaker + Telephony Tx + Built-In Mic + Built-In Back Mic + FM Tuner + Telephony Rx + + Speaker + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/configs/audio/bluetooth_hearing_aid_audio_policy_configuration.xml b/configs/audio/bluetooth_hearing_aid_audio_policy_configuration.xml new file mode 100644 index 0000000..eddd371 --- /dev/null +++ b/configs/audio/bluetooth_hearing_aid_audio_policy_configuration.xml @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/audio/mixer_paths.xml b/configs/audio/mixer_paths.xml similarity index 84% rename from audio/mixer_paths.xml rename to configs/audio/mixer_paths.xml index 68508d8..ee9a34f 100644 --- a/audio/mixer_paths.xml +++ b/configs/audio/mixer_paths.xml @@ -64,6 +64,7 @@ + @@ -335,6 +336,7 @@ + @@ -346,6 +348,14 @@ + + + + + + + + @@ -372,33 +382,31 @@ + + + + - + + - - - - + + - - - - - + - - @@ -446,6 +454,9 @@ + + + @@ -471,9 +482,36 @@ - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -526,6 +564,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -558,11 +624,9 @@ - - @@ -609,7 +673,6 @@ - @@ -716,7 +779,6 @@ - @@ -865,7 +927,6 @@ - @@ -936,6 +997,11 @@ + + + + + @@ -952,11 +1018,9 @@ - - @@ -991,7 +1055,6 @@ - @@ -1101,11 +1164,9 @@ - - @@ -1124,7 +1185,6 @@ - @@ -1235,11 +1295,9 @@ - - @@ -1258,7 +1316,6 @@ - @@ -1368,11 +1425,9 @@ - - @@ -1391,7 +1446,6 @@ - @@ -1501,11 +1555,9 @@ - - @@ -1524,7 +1576,6 @@ - @@ -1634,11 +1685,9 @@ - - @@ -1657,7 +1706,6 @@ - @@ -1767,11 +1815,9 @@ - - @@ -1790,7 +1836,6 @@ - @@ -1900,11 +1945,9 @@ - - @@ -1923,7 +1966,6 @@ - @@ -2033,11 +2075,9 @@ - - @@ -2056,7 +2096,6 @@ - @@ -2175,7 +2214,6 @@ - @@ -2200,7 +2238,6 @@ - @@ -2225,7 +2262,6 @@ - @@ -2244,17 +2280,12 @@ - - - - - + - @@ -2528,7 +2559,6 @@ - @@ -2556,12 +2586,10 @@ - - + - @@ -2589,7 +2617,6 @@ - @@ -2658,7 +2685,6 @@ - @@ -2720,6 +2746,10 @@ + + + + @@ -2733,7 +2763,6 @@ - @@ -2783,7 +2812,8 @@ - + + @@ -2798,17 +2828,37 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + - - - - @@ -2818,7 +2868,6 @@ - @@ -2852,7 +2901,6 @@ - @@ -2860,52 +2908,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -2938,12 +2940,11 @@ - - - - - - + + + + + @@ -2970,12 +2971,6 @@ - - - - - - @@ -3004,7 +2999,7 @@ - + @@ -3031,14 +3026,20 @@ - + - + - - + + @@ -3051,7 +3052,22 @@ - + + + + + + + + + + + + + + + @@ -3070,6 +3086,10 @@ + + + @@ -3092,7 +3112,6 @@ - @@ -3125,10 +3144,49 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3136,6 +3194,12 @@ + + + + + + @@ -3148,10 +3212,12 @@ - - + + + + + - @@ -3183,11 +3249,43 @@ - + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + @@ -3195,7 +3293,8 @@ - + + @@ -3299,8 +3398,14 @@ - - + + @@ -3315,14 +3420,9 @@ - + - - - - - @@ -3347,39 +3447,14 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - + + --> @@ -3392,16 +3467,33 @@ - + + + + + + + + + + + + + + + + + + - - + + --> @@ -3414,60 +3506,9 @@ - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -3480,116 +3521,89 @@ - - - - - + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -3682,20 +3696,14 @@ - - - - - - @@ -4013,7 +4021,6 @@ - @@ -4098,7 +4105,6 @@ - @@ -4387,4 +4393,269 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/audio/sound_trigger_mixer_paths.xml b/configs/audio/sound_trigger_mixer_paths.xml similarity index 85% rename from audio/sound_trigger_mixer_paths.xml rename to configs/audio/sound_trigger_mixer_paths.xml index 66f54b0..089ee7a 100644 --- a/audio/sound_trigger_mixer_paths.xml +++ b/configs/audio/sound_trigger_mixer_paths.xml @@ -56,6 +56,12 @@ + + + + + + @@ -72,11 +78,14 @@ + + + @@ -241,17 +250,13 @@ - - - - - - + + + + @@ -262,10 +267,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/configs/media_profiles_holi.xml b/configs/media/media_profiles_holi.xml similarity index 100% rename from configs/media_profiles_holi.xml rename to configs/media/media_profiles_holi.xml diff --git a/configs/media_codecs_holi.xml b/configs/media_codecs_holi.xml deleted file mode 100644 index aad5cf5..0000000 --- a/configs/media_codecs_holi.xml +++ /dev/null @@ -1,291 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/configs/media_codecs_holi_vendor.xml b/configs/media_codecs_holi_vendor.xml deleted file mode 100644 index 229f30e..0000000 --- a/configs/media_codecs_holi_vendor.xml +++ /dev/null @@ -1,287 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/configs/media_codecs_performance_holi.xml b/configs/media_codecs_performance_holi.xml deleted file mode 100644 index f4cf7bf..0000000 --- a/configs/media_codecs_performance_holi.xml +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/configs/media_codecs_performance_holi_vendor.xml b/configs/media_codecs_performance_holi_vendor.xml deleted file mode 100644 index b95d481..0000000 --- a/configs/media_codecs_performance_holi_vendor.xml +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/configs/media_codecs_vendor_audio.xml b/configs/media_codecs_vendor_audio.xml deleted file mode 100644 index 2164a65..0000000 --- a/configs/media_codecs_vendor_audio.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - diff --git a/configs/media_profiles.xml b/configs/media_profiles.xml deleted file mode 100644 index 66128d6..0000000 --- a/configs/media_profiles.xml +++ /dev/null @@ -1,867 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/configs/media_profiles_V1_0.xml b/configs/media_profiles_V1_0.xml deleted file mode 100644 index dc4a051..0000000 --- a/configs/media_profiles_V1_0.xml +++ /dev/null @@ -1,511 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/configs/nfc/libnfc-hal-st.conf b/configs/nfc/libnfc-hal-st.conf new file mode 100644 index 0000000..ebd4224 --- /dev/null +++ b/configs/nfc/libnfc-hal-st.conf @@ -0,0 +1,156 @@ +########################### Start of libnfc-hal-st.conf ########################### + +############################################################################### +############################################################################### +# ST HAL trace log level +#define STNFC_TRACE_LEVEL_NONE 0x00 +#define STNFC_TRACE_LEVEL_ERROR 0x01 +#define STNFC_TRACE_LEVEL_WARNING 0x02 +#define STNFC_TRACE_LEVEL_DEBUG 0x03 +#define STNFC_TRACE_LEVEL_VERBOSE 0x04 +#define STNFC_TRACE_FLAG_PRIVACY 0x10 +STNFC_HAL_LOGLEVEL=3 + +NFC_DEBUG_ENABLED=1 + +############################################################################### +# Vendor specific mode to enable FW (RF & SWP) traces. +STNFC_FW_DEBUG_ENABLED=0 + +############################################################################### +# File used for NFA storage +NFA_STORAGE="/data/nfc" + +############################################################################### +# Keep the nfa storage file. +PRESERVE_STORAGE=1 + +############################################################################### +# In Switch OFF mode (phone switched-off), specify the desired CE mode to +# the controller. +# 0: No card-emulation; DEFAULT +# 1: Switch-off card-emulation enabled +CE_ON_SWITCH_OFF_STATE=1 + +############################################################################### +# Vendor specific mode to support the USB charging mode if VPSIO=1 in switch off. +STNFC_USB_CHARGING_MODE=1 + +############################################################################### +# Vendor Specific Proprietary Protocol & Discovery Configuration +# Set to 0xFF if unsupported +# byte[0] NCI_PROTOCOL_18092_ACTIVE +# byte[1] NCI_PROTOCOL_B_PRIME +# byte[2] NCI_PROTOCOL_DUAL +# byte[3] NCI_PROTOCOL_15693 +# byte[4] NCI_PROTOCOL_KOVIO +# byte[5] NCI_PROTOCOL_MIFARE +# byte[6] NCI_DISCOVERY_TYPE_POLL_KOVIO +# byte[7] NCI_DISCOVERY_TYPE_POLL_B_PRIME +# byte[8] NCI_DISCOVERY_TYPE_LISTEN_B_PRIME +NFA_PROPRIETARY_CFG={05:FF:FF:06:8A:90:77:FF:FF} + +############################################################################### +# Choose the presence-check algorithm for type-4 tag. If not defined, +# the default value is 1. +# 0 NFA_RW_PRES_CHK_DEFAULT; Let stack selects an algorithm +# 1 NFA_RW_PRES_CHK_I_BLOCK; ISO-DEP protocol's empty I-block +# 2 NFA_RW_PRES_CHK_RESET; Deactivate to Sleep, then re-activate +# 3 NFA_RW_PRES_CHK_RB_CH0; Type-4 tag protocol's ReadBinary command on channel 0 +# 4 NFA_RW_PRES_CHK_RB_CH3; Type-4 tag protocol's ReadBinary command on channel 3 +# 5 NFA_RW_PRES_CHK_ISO_DEP_NAK; presence check command ISO-DEP NAK as per NCI2.0 +PRESENCE_CHECK_ALGORITHM=5 + +############################################################################### +# Name of the NCI HAL module to use +# If unset, falls back to nfc_nci.bcm2079x +NCI_HAL_MODULE="nfc_nci.st21nfc" + +############################################################################### +# Allow list to be set at startup. +DEVICE_HOST_ALLOW_LIST={02:C0} + +############################################################################### +# BAIL OUT value for P2P +# Implements algorithm for NFC-DEP protocol priority over ISO-DEP protocol. +POLL_BAIL_OUT_MODE=1 + +############################################################################### +# Extended APDU length for ISO_DEP +ISO_DEP_MAX_TRANSCEIVE=0xFEFF + +############################################################################### +# Configure the NFC Extras to open and use a static pipe. If the value is +# not set or set to 0, then the default is use a dynamic pipe based on a +# destination gate (see NFA_HCI_DEFAULT_DEST_GATE). Note there is a value +# for each EE (ESE/SIM) +OFF_HOST_ESE_PIPE_ID=0x5E +OFF_HOST_SIM_PIPE_ID=0x3E + +############################################################################### +#Set the default Felica T3T System Code OffHost route Location : +#This settings will be used when application does not set this parameter +# host 0x00 +# eSE 0x82 (eSE), 0x86 (eUICC/SPI-SE) +# UICC 0x81 (UICC_1), 0x85 (UICC_2) +DEFAULT_SYS_CODE_ROUTE=0x81 + +############################################################################### +#Set the Felica T3T System Code supported power state: +DEFAULT_SYS_CODE_PWR_STATE=0x3B + +############################################################################### +# Path and Files used for FW update binaries storage +STNFC_FW_PATH_STORAGE="/vendor/firmware/" +# STNFC_FW_BIN_NAME="st21nfc_fw7.bin" +STNFC_FW_CONF_NAME="/vendor/etc/libnfc-st21h_conf.txt" + +############################################################################### +# Default off-host route for Felica. +#This settings will be used when application does not set this parameter +# host 0x00 +# eSE 0x82 (eSE), 0x86 (eUICC/SPI-SE) +# UICC 0x81 (UICC_1), 0x85 (UICC_2) +DEFAULT_NFCF_ROUTE=0x81 + +############################################################################### +# Configure the default off-host route. +# used for technology A and B routing +# eSE 0x82 (eSE), 0x86 (eUICC/SPI-SE) +# UICC 0x81 (UICC_1), 0x85 (UICC_2) +DEFAULT_OFFHOST_ROUTE=0x81 + +############################################################################### +# Configure the default AID route. +# host 0x00 +# eSE 0x82 (eSE), 0x86 (eUICC/SPI-SE) +# UICC 0x81 (UICC_1), 0x85 (UICC_2) +DEFAULT_ROUTE=0x81 + +############################################################################### +# Configure the NFCEEIDs of offhost UICC. +# UICC 0x81 (UICC_1), 0x85 (UICC_2) +OFFHOST_ROUTE_UICC={81,83,85} + +############################################################################### +# Configure the NFCEEIDs of offhost eSEs. +# eSE 0x82 (eSE), 0x86 (eUICC/SPI-SE) +OFFHOST_ROUTE_ESE={82,86} + +############################################################################### +# Configure the list of NFCEE for the ISO-DEP routing. +# host 0x00 +# eSE 0x82 (eSE), 0x86 (eUICC/SPI-SE) +# UICC 0x81 (UICC_1), 0x85 (UICC_2) +DEFAULT_ISODEP_ROUTE=0x81 + +############################################################################### +# Core configuration settings +CORE_CONF_PROP={ 20, 02, 13, 06, + a1, 01, 19, + a2, 01, 15, + 80, 01, 01, + 08, 01, 01, + 11, 01, 01, + 19, 01, 01 +} diff --git a/configs/perf/task_profiles.json b/configs/perf/task_profiles.json new file mode 100644 index 0000000..0fc4bd5 --- /dev/null +++ b/configs/perf/task_profiles.json @@ -0,0 +1,566 @@ +{ + "Attributes": [ + { + "Name": "LowCapacityCPUs", + "Controller": "cpuset", + "File": "background/cpus" + }, + { + "Name": "HighCapacityCPUs", + "Controller": "cpuset", + "File": "foreground/cpus" + }, + { + "Name": "MaxCapacityCPUs", + "Controller": "cpuset", + "File": "top-app/cpus" + }, + { + "Name": "AudioAppCapacityCPUs", + "Controller": "cpuset", + "File": "audio-app/cpus" + }, + + { + "Name": "MemLimit", + "Controller": "memory", + "File": "memory.limit_in_bytes" + }, + { + "Name": "MemSoftLimit", + "Controller": "memory", + "File": "memory.soft_limit_in_bytes" + }, + { + "Name": "MemSwappiness", + "Controller": "memory", + "File": "memory.swappiness" + }, + { + "Name": "UClampMin", + "Controller": "cpu", + "File": "cpu.uclamp.min" + }, + { + "Name": "UClampMax", + "Controller": "cpu", + "File": "cpu.uclamp.max" + } + ], + + "Profiles": [ + { + "Name": "HighEnergySaving", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpu", + "Path": "background" + } + } + ] + }, + { + "Name": "NormalPerformance", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpu", + "Path": "" + } + } + ] + }, + { + "Name": "HighPerformance", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpu", + "Path": "foreground" + } + } + ] + }, + { + "Name": "MaxPerformance", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpu", + "Path": "top-app" + } + } + ] + }, + { + "Name": "RealtimePerformance", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpu", + "Path": "rt" + } + } + ] + }, + { + "Name": "AudioAppPerformance", + "Actions" : [ + { + "Name" : "JoinCgroup", + "Params" : + { + "Controller": "cpu", + "Path": "audio-app" + } + } + ] + }, + + { + "Name": "VrKernelCapacity", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpuset", + "Path": "" + } + } + ] + }, + { + "Name": "VrServiceCapacityLow", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpuset", + "Path": "system/background" + } + } + ] + }, + { + "Name": "VrServiceCapacityNormal", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpuset", + "Path": "system" + } + } + ] + }, + { + "Name": "VrServiceCapacityHigh", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpuset", + "Path": "system/performance" + } + } + ] + }, + { + "Name": "VrProcessCapacityLow", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpuset", + "Path": "application/background" + } + } + ] + }, + { + "Name": "VrProcessCapacityNormal", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpuset", + "Path": "application" + } + } + ] + }, + { + "Name": "VrProcessCapacityHigh", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpuset", + "Path": "application/performance" + } + } + ] + }, + + { + "Name": "ProcessCapacityLow", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpuset", + "Path": "background" + } + } + ] + }, + { + "Name": "ProcessCapacityNormal", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpuset", + "Path": "" + } + } + ] + }, + { + "Name": "ProcessCapacityHigh", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpuset", + "Path": "foreground" + } + } + ] + }, + { + "Name": "ProcessCapacityMax", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpuset", + "Path": "top-app" + } + } + ] + }, + + { + "Name": "ServiceCapacityLow", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpuset", + "Path": "system-background" + } + } + ] + }, + { + "Name": "ServiceCapacityRestricted", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpuset", + "Path": "restricted" + } + } + ] + }, + + { + "Name": "CameraServiceCapacity", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpuset", + "Path": "camera-daemon" + } + } + ] + }, + { + "Name": "AudioAppCapacity", + "Actions" : [ + { + "Name" : "JoinCgroup", + "Params" : + { + "Controller": "cpuset", + "Path": "audio-app" + } + } + ] + }, + + { + "Name": "BlkIOForeground", + "Actions" : [ + { + "Name" : "JoinCgroup", + "Params" : + { + "Controller": "blkio", + "Path": "" + } + } + ] + }, + { + "Name": "BlkIOBackground", + "Actions" : [ + { + "Name" : "JoinCgroup", + "Params" : + { + "Controller": "blkio", + "Path": "bg" + } + } + ] + }, + + { + "Name": "LowIoPriority", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "blkio", + "Path": "background" + } + } + ] + }, + { + "Name": "NormalIoPriority", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "blkio", + "Path": "" + } + } + ] + }, + { + "Name": "HighIoPriority", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "blkio", + "Path": "" + } + } + ] + }, + { + "Name": "MaxIoPriority", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "blkio", + "Path": "" + } + } + ] + }, + + { + "Name": "TimerSlackHigh", + "Actions": [ + { + "Name": "SetTimerSlack", + "Params": + { + "Slack": "5000000" + } + } + ] + }, + { + "Name": "TimerSlackNormal", + "Actions": [ + { + "Name": "SetTimerSlack", + "Params": + { + "Slack": "50000" + } + } + ] + }, + + { + "Name": "PerfBoost", + "Actions": [ + { + "Name": "SetClamps", + "Params": + { + "Boost": "50%", + "Clamp": "0" + } + } + ] + }, + { + "Name": "PerfClamp", + "Actions": [ + { + "Name": "SetClamps", + "Params": + { + "Boost": "0", + "Clamp": "30%" + } + } + ] + }, + + { + "Name": "LowMemoryUsage", + "Actions": [ + { + "Name": "SetAttribute", + "Params": + { + "Name": "MemSoftLimit", + "Value": "16MB" + } + }, + { + "Name": "SetAttribute", + "Params": + { + "Name": "MemSwappiness", + "Value": "150" + + } + } + ] + }, + { + "Name": "HighMemoryUsage", + "Actions": [ + { + "Name": "SetAttribute", + "Params": + { + "Name": "MemSoftLimit", + "Value": "512MB" + } + }, + { + "Name": "SetAttribute", + "Params": + { + "Name": "MemSwappiness", + "Value": "100" + } + } + ] + }, + { + "Name": "SystemMemoryProcess", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "memory", + "Path": "system" + } + } + ] + } + ], + + "AggregateProfiles": [ + { + "Name": "SCHED_SP_DEFAULT", + "Profiles": [ "TimerSlackNormal" ] + }, + { + "Name": "SCHED_SP_BACKGROUND", + "Profiles": [ "HighEnergySaving", "LowIoPriority", "TimerSlackHigh" ] + }, + { + "Name": "SCHED_SP_FOREGROUND", + "Profiles": [ "HighPerformance", "HighIoPriority", "TimerSlackNormal" ] + }, + { + "Name": "SCHED_SP_TOP_APP", + "Profiles": [ "MaxPerformance", "MaxIoPriority", "TimerSlackNormal" ] + }, + { + "Name": "SCHED_SP_RT_APP", + "Profiles": [ "RealtimePerformance", "MaxIoPriority", "TimerSlackNormal" ] + }, + { + "Name": "CPUSET_SP_DEFAULT", + "Profiles": [ "TimerSlackNormal" ] + }, + { + "Name": "CPUSET_SP_BACKGROUND", + "Profiles": [ "HighEnergySaving", "ProcessCapacityLow", "LowIoPriority", "TimerSlackHigh" ] + }, + { + "Name": "CPUSET_SP_FOREGROUND", + "Profiles": [ "HighPerformance", "ProcessCapacityHigh", "HighIoPriority", "TimerSlackNormal" ] + }, + { + "Name": "CPUSET_SP_TOP_APP", + "Profiles": [ "MaxPerformance", "ProcessCapacityMax", "MaxIoPriority", "TimerSlackNormal" ] + }, + { + "Name": "CPUSET_SP_SYSTEM", + "Profiles": [ "ServiceCapacityLow", "TimerSlackNormal" ] + }, + { + "Name": "CPUSET_SP_RESTRICTED", + "Profiles": [ "ServiceCapacityRestricted", "TimerSlackNormal" ] + } + ] +} diff --git a/configs/privapp-permissions-hotword.xml b/configs/permissions/privapp-permissions-hotword.xml similarity index 100% rename from configs/privapp-permissions-hotword.xml rename to configs/permissions/privapp-permissions-hotword.xml diff --git a/configs/powerhint.json b/configs/powerhint.json new file mode 100644 index 0000000..9a79c05 --- /dev/null +++ b/configs/powerhint.json @@ -0,0 +1,628 @@ +{ + "Nodes": [ + { + "Name": "CPULittleClusterMaxFreq", + "Path": "/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq", + "Values": [ + "9999999", + "1708800", + "576000", + "300000" + ], + "DefaultIndex": 0, + "ResetOnInit": true + }, + { + "Name": "CPULittleClusterMinFreq", + "Path": "/sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq", + "Values": [ + "9999999", + "1708800", + "1324800", + "576000", + "300000" + ], + "DefaultIndex": 4, + "ResetOnInit": true + }, + { + "Name": "CPULittleClusterUpRateLimit", + "Path": "/sys/devices/system/cpu/cpu0/cpufreq/schedutil/up_rate_limit_us", + "Values": [ + "500", + "2000" + ], + "ResetOnInit": true + }, + { + "Name": "CPULittleClusterDownRateLimit", + "Path": "/sys/devices/system/cpu/cpu0/cpufreq/schedutil/down_rate_limit_us", + "Values": [ + "20000", + "2000" + ], + "ResetOnInit": true + }, + { + "Name": "CPUBigClusterMaxFreq", + "Path": "/sys/devices/system/cpu/cpu6/cpufreq/scaling_max_freq", + "Values": [ + "9999999", + "2035200", + "1804800", + "1651200", + "1536000" + ], + "DefaultIndex": 0, + "ResetOnInit": true + }, + { + "Name": "CPUBigClusterMinFreq", + "Path": "/sys/devices/system/cpu/cpu6/cpufreq/scaling_min_freq", + "Values": [ + "9999999", + "1651200", + "768000", + "0" + ], + "DefaultIndex": 3, + "ResetOnInit": true + }, + { + "Name": "CPUBigClusterUpRateLimit", + "Path": "/sys/devices/system/cpu/cpu6/cpufreq/schedutil/up_rate_limit_us", + "Values": [ + "500", + "2000" + ], + "ResetOnInit": true + }, + { + "Name": "CPUBigClusterDownRateLimit", + "Path": "/sys/devices/system/cpu/cpu6/cpufreq/schedutil/down_rate_limit_us", + "Values": [ + "20000", + "2000" + ], + "ResetOnInit": true + }, + { + "Name": "UclampTAMin", + "Path": "/dev/cpuctl/top-app/cpu.uclamp.min", + "Values": [ + "0", + "50", + "100" + ], + "DefaultIndex": 0, + "ResetOnInit": true + }, + { + "Name": "UclampTALatency", + "Path": "/dev/cpuctl/top-app/cpu.uclamp.latency_sensitive", + "Values": [ + "1", + "0" + ], + "ResetOnInit": true + }, + { + "Name": "UclampFgMin", + "Path": "/dev/cpuctl/foreground/cpu.uclamp.min", + "Values": [ + "0", + "50", + "100" + ], + "DefaultIndex": 0, + "ResetOnInit": true + }, + { + "Name": "GPUMaxFreq", + "Path": "/sys/class/kgsl/kgsl-3d0/max_pwrlevel", + "Values": [ + "0", + "1" + ], + "DefaultIndex": 0, + "ResetOnInit": true + }, + { + "Name": "GPUMinFreq", + "Path": "/sys/class/kgsl/kgsl-3d0/min_pwrlevel", + "Values": [ + "0", + "1", + "2", + "3", + "4" + ], + "ResetOnInit": true + }, + { + "Name": "GPUForceRailOn", + "Path": "/sys/class/kgsl/kgsl-3d0/force_rail_on", + "Values": [ + "1", + "0" + ], + "ResetOnInit": true + }, + { + "Name": "GPUForceClkOn", + "Path": "/sys/class/kgsl/kgsl-3d0/force_clk_on", + "Values": [ + "1", + "0" + ], + "ResetOnInit": true + }, + { + "Name": "GPUIdleTimer", + "Path": "/sys/class/kgsl/kgsl-3d0/idle_timer", + "Values": [ + "10000", + "80" + ], + "ResetOnInit": true + }, + { + "Name": "CPUBWHystTriggerCount", + "Path": "/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/bw_hwmon/hyst_trigger_count", + "Values": [ + "0", + "3" + ], + "ResetOnInit": true + }, + { + "Name": "CPUBWHistMemory", + "Path": "/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/bw_hwmon/hist_memory", + "Values": [ + "0", + "20" + ], + "ResetOnInit": true + }, + { + "Name": "CPUBWHystLength", + "Path": "/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/bw_hwmon/hyst_length", + "Values": [ + "0", + "10" + ], + "ResetOnInit": true + }, + { + "Name": "CPUBWSampleMs", + "Path": "/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/bw_hwmon/sample_ms", + "Values": [ + "10", + "4" + ], + "ResetOnInit": true + }, + { + "Name": "CPUBWMinFreq", + "Path": "/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/min_freq", + "Values": [ + "7980", + "5161", + "762" + ], + "ResetOnInit": true + }, + { + "Name": "L3LittleClusterMinFreq", + "Path": "/sys/class/devfreq/fd90100.qcom,cpu0-cpu-l3-lat/min_freq", + "Values": [ + "1459200000", + "1171200000", + "300000000" + ], + "ResetOnInit": true + }, + { + "Name": "L3BigClusterMinFreq", + "Path": "/sys/class/devfreq/fd90100.qcom,cpu6-cpu-l3-lat/min_freq", + "Values": [ + "1459200000", + "1171200000", + "300000000" + ], + "ResetOnInit": true + }, + { + "Name": "CPUDDRLatLittleMinFreq", + "Path": "/sys/class/devfreq/soc:qcom,cpu0-cpu-ddr-lat/min_freq", + "Values": [ + "7980", + "3879", + "762" + ], + "ResetOnInit": true + }, + { + "Name": "CPUDDRLatBigMinFreq", + "Path": "/sys/class/devfreq/soc:qcom,cpu6-cpu-ddr-lat/min_freq", + "Values": [ + "7980", + "3879", + "762" + ], + "ResetOnInit": true + }, + { + "Name": "CPUDDRLatfloorLittleMinFreq", + "Path": "/sys/class/devfreq/soc:qcom,cpu0-cpu-ddr-latfloor/min_freq", + "Values": [ + "7980", + "3879", + "762" + ], + "ResetOnInit": true + }, + { + "Name": "CPUDDRLatfloorBigMinFreq", + "Path": "/sys/class/devfreq/soc:qcom,cpu6-cpu-ddr-latfloor/min_freq", + "Values": [ + "7980", + "3879", + "762" + ], + "ResetOnInit": true + }, + { + "Name": "DoubleTapToWake", + "Path": "/proc/touchpanel/double_tap_enable", + "Values": [ + "1", + "0" + ] + }, + { + "Name": "PowerHALMainState", + "Path": "vendor.powerhal.state", + "Values": [ + "SUSTAINED_PERFORMANCE", + "" + ], + "Type": "Property" + }, + { + "Name": "PowerHALRenderingState", + "Path": "vendor.powerhal.rendering", + "Values": [ + "EXPENSIVE_RENDERING", + "" + ], + "Type": "Property" + } + ], + "Actions": [ + { + "PowerHint": "SUSTAINED_PERFORMANCE", + "Node": "PowerHALMainState", + "Duration": 0, + "Value": "SUSTAINED_PERFORMANCE" + }, + { + "PowerHint": "SUSTAINED_PERFORMANCE", + "Node": "CPUBigClusterMaxFreq", + "Duration": 0, + "Value": "1536000" + }, + { + "PowerHint": "SUSTAINED_PERFORMANCE", + "Node": "CPULittleClusterMaxFreq", + "Duration": 0, + "Value": "1708800" + }, + { + "PowerHint": "SUSTAINED_PERFORMANCE", + "Node": "GPUMaxFreq", + "Duration": 0, + "Value": "1" + }, + { + "PowerHint": "INTERACTION", + "Node": "CPUBigClusterMinFreq", + "Duration": 1000, + "Value": "1651200" + }, + { + "PowerHint": "INTERACTION", + "Node": "CPULittleClusterMinFreq", + "Duration": 1000, + "Value": "1708800" + }, + { + "PowerHint": "INTERACTION", + "Node": "UclampTAMin", + "Duration": 1000, + "Value": "50" + }, + { + "PowerHint": "INTERACTION", + "Node": "UclampTALatency", + "Duration": 0, + "Value": "1" + }, + { + "PowerHint": "INTERACTION", + "Node": "UclampFgMin", + "Duration": 1000, + "Value": "50" + }, + { + "PowerHint": "INTERACTION", + "Node": "GPUMinFreq", + "Duration": 1000, + "Value": "3" + }, + { + "PowerHint": "INTERACTION", + "Node": "CPUBWHystTriggerCount", + "Duration": 1000, + "Value": "0" + }, + { + "PowerHint": "INTERACTION", + "Node": "CPUBWHystLength", + "Duration": 1000, + "Value": "0" + }, + { + "PowerHint": "INTERACTION", + "Node": "CPUBWHistMemory", + "Duration": 1000, + "Value": "0" + }, + { + "PowerHint": "INTERACTION", + "Node": "CPUBWMinFreq", + "Duration": 1000, + "Value": "5161" + }, + { + "PowerHint": "INTERACTION", + "Node": "CPUDDRLatLittleMinFreq", + "Duration": 1000, + "Value": "7980" + }, + { + "PowerHint": "INTERACTION", + "Node": "CPUDDRLatBigMinFreq", + "Duration": 1000, + "Value": "7980" + }, + { + "PowerHint": "INTERACTION", + "Node": "CPUDDRLatfloorLittleMinFreq", + "Duration": 1000, + "Value": "7980" + }, + { + "PowerHint": "INTERACTION", + "Node": "CPUDDRLatfloorBigMinFreq", + "Duration": 1000, + "Value": "7980" + }, + { + "PowerHint": "INTERACTION", + "Node": "L3LittleClusterMinFreq", + "Duration": 1000, + "Value": "1171200000" + }, + { + "PowerHint": "INTERACTION", + "Node": "L3BigClusterMinFreq", + "Duration": 1000, + "Value": "1171200000" + }, + { + "PowerHint": "INTERACTIVE", + "Node": "CPULittleClusterUpRateLimit", + "Duration": 0, + "Value": "500" + }, + { + "PowerHint": "INTERACTIVE", + "Node": "CPULittleClusterDownRateLimit", + "Duration": 0, + "Value": "20000" + }, + { + "PowerHint": "INTERACTIVE", + "Node": "CPUBigClusterUpRateLimit", + "Duration": 0, + "Value": "500" + }, + { + "PowerHint": "INTERACTIVE", + "Node": "CPUBigClusterDownRateLimit", + "Duration": 0, + "Value": "20000" + }, + { + "PowerHint": "LAUNCH", + "Node": "CPUBigClusterMaxFreq", + "Duration": 3000, + "Value": "9999999" + }, + { + "PowerHint": "LAUNCH", + "Node": "CPUBigClusterMinFreq", + "Duration": 3000, + "Value": "9999999" + }, + { + "PowerHint": "LAUNCH", + "Node": "CPULittleClusterMinFreq", + "Duration": 3000, + "Value": "9999999" + }, + { + "PowerHint": "LAUNCH", + "Node": "UclampTAMin", + "Duration": 3000, + "Value": "100" + }, + { + "PowerHint": "LAUNCH", + "Node": "UclampFgMin", + "Duration": 3000, + "Value": "100" + }, + { + "PowerHint": "LAUNCH", + "Node": "CPUBWHystTriggerCount", + "Duration": 3000, + "Value": "0" + }, + { + "PowerHint": "LAUNCH", + "Node": "CPUBWHystLength", + "Duration": 3000, + "Value": "0" + }, + { + "PowerHint": "LAUNCH", + "Node": "CPUBWHistMemory", + "Duration": 3000, + "Value": "0" + }, + { + "PowerHint": "LAUNCH", + "Node": "CPUBWMinFreq", + "Duration": 3000, + "Value": "7980" + }, + { + "PowerHint": "LAUNCH", + "Node": "CPUDDRLatLittleMinFreq", + "Duration": 3000, + "Value": "7980" + }, + { + "PowerHint": "LAUNCH", + "Node": "CPUDDRLatBigMinFreq", + "Duration": 3000, + "Value": "7980" + }, + { + "PowerHint": "LAUNCH", + "Node": "CPUDDRLatfloorLittleMinFreq", + "Duration": 3000, + "Value": "7980" + }, + { + "PowerHint": "LAUNCH", + "Node": "CPUDDRLatfloorBigMinFreq", + "Duration": 3000, + "Value": "7980" + }, + { + "PowerHint": "LAUNCH", + "Node": "GPUForceClkOn", + "Duration": 3000, + "Value": "1" + }, + { + "PowerHint": "LAUNCH", + "Node": "GPUForceRailOn", + "Duration": 3000, + "Value": "1" + }, + { + "PowerHint": "LAUNCH", + "Node": "GPUIdleTimer", + "Duration": 3000, + "Value": "10000" + }, + { + "PowerHint": "LAUNCH", + "Node": "L3LittleClusterMinFreq", + "Duration": 3000, + "Value": "1459200000" + }, + { + "PowerHint": "LAUNCH", + "Node": "L3BigClusterMinFreq", + "Duration": 3000, + "Value": "1459200000" + }, + { + "PowerHint": "FIXED_PERFORMANCE", + "Node": "CPUBigClusterMaxFreq", + "Duration": 0, + "Value": "9999999" + }, + { + "PowerHint": "FIXED_PERFORMANCE", + "Node": "CPUBigClusterMinFreq", + "Duration": 0, + "Value": "9999999" + }, + { + "PowerHint": "FIXED_PERFORMANCE", + "Node": "CPULittleClusterMaxFreq", + "Duration": 0, + "Value": "9999999" + }, + { + "PowerHint": "FIXED_PERFORMANCE", + "Node": "CPULittleClusterMinFreq", + "Duration": 0, + "Value": "9999999" + }, + { + "PowerHint": "FIXED_PERFORMANCE", + "Node": "GPUMaxFreq", + "Duration": 0, + "Value": "0" + }, + { + "PowerHint": "FIXED_PERFORMANCE", + "Node": "GPUMinFreq", + "Duration": 0, + "Value": "0" + }, + { + "PowerHint": "EXPENSIVE_RENDERING", + "Node": "PowerHALRenderingState", + "Duration": 0, + "Value": "EXPENSIVE_RENDERING" + }, + { + "PowerHint": "EXPENSIVE_RENDERING", + "Node": "GPUMinFreq", + "Duration": 0, + "Value": "1" + }, + { + "PowerHint": "EXPENSIVE_RENDERING", + "Node": "GPUMaxFreq", + "Duration": 0, + "Value": "0" + }, + { + "PowerHint": "EXPENSIVE_RENDERING", + "Node": "CPULittleClusterMinFreq", + "Duration": 0, + "Value": "1708800" + }, + { + "PowerHint": "EXPENSIVE_RENDERING", + "Node": "CPUBigClusterMinFreq", + "Duration": 0, + "Value": "1651200" + }, + { + "PowerHint": "DOUBLE_TAP_TO_WAKE", + "Node": "DoubleTapToWake", + "Duration": 0, + "Value": "1" + } + ] +} diff --git a/configs/public.libraries.txt b/configs/public.libraries.txt deleted file mode 100644 index aed894f..0000000 --- a/configs/public.libraries.txt +++ /dev/null @@ -1,32 +0,0 @@ -libAlgoInterface.so -libAlgoProcess.so -vendor.qti.hardware.camera.postproc@1.0.so -libPolarrRender.so -libapsexif.so -libapsjpeg.so -libmpbase.so -libarcsoft_high_dynamic_range.so 64 -libarcsoft_low_light_hdr.so 64 -libarcsoft_hdr_couple_api.so 64 -libarcsoft_high_dynamic_range_couple.so 64 -libCOppLceTonemapAPI.so -libVDSuperPhotoAPI.so -libFaceBeautyCap.so -libstface_fd_api.so -libVDDualCameraBlurlessAPI.so 64 -libSNPE.so 64 -libc++_shared.so 64 -libstdc++.so -libarcsoft_dualcam_bokeh_api.so 64 -libPlatformValidatorShared.so 64 -libcvface_api.so -libsnpe_dsp_domains_v3.so 64 -libPolarrRender.so -libXDocProcessSDK.so -libqti-perfd-client.so -libadsprpc.so -libcdsprpc.so -libsdsprpc.so -libfastcvopt.so -liblistensoundmodel2.so -libOpenCL.so diff --git a/device.mk b/device.mk index 88eadcc..35514b5 100644 --- a/device.mk +++ b/device.mk @@ -1,56 +1,17 @@ -# -# Copyright (C) 2021-2022 The LineageOS Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# +# Copyright (C) 2021-2025 The LineageOS Project +# SPDX-License-Identifier: Apache-2.0 +# Copyright (C) 2019-Current A-Team Digital Solutions -# Enable project quotas and casefolding for emulated storage without sdcardfs -$(call inherit-product, $(SRC_TARGET_DIR)/product/emulated_storage.mk) - -# Enable updating of APEXes -$(call inherit-product, $(SRC_TARGET_DIR)/product/updatable_apex.mk) - -# Enable virtual A/B OTA -$(call inherit-product, $(SRC_TARGET_DIR)/product/virtual_ab_ota.mk) - -# Include GSI keys -$(call inherit-product, $(SRC_TARGET_DIR)/product/gsi_keys.mk) - -# Setup dalvik vm configs -$(call inherit-product, frameworks/native/build/phone-xhdpi-4096-dalvik-heap.mk) - -# Get non-open-source specific aspects -$(call inherit-product, vendor/oneplus/dre/dre-vendor.mk) - -# Set product shipping level -PRODUCT_SHIPPING_API_LEVEL := 30 - -# Additional native libraries -PRODUCT_COPY_FILES += \ - $(LOCAL_PATH)/configs/public.libraries.txt:$(TARGET_COPY_OUT_VENDOR)/etc/public.libraries.txt - -# Overlays -DEVICE_PACKAGE_OVERLAYS += \ - $(LOCAL_PATH)/overlay \ - $(LOCAL_PATH)/overlay-lineage - -PRODUCT_ENFORCE_RRO_TARGETS := * +# Add common definitions for Qualcomm +$(call inherit-product, hardware/qcom-caf/common/common.mk) # AAPT PRODUCT_AAPT_CONFIG := normal PRODUCT_AAPT_PREF_CONFIG := xxhdpi # A/B +$(call inherit-product, $(SRC_TARGET_DIR)/product/virtual_ab_ota/launch_with_vendor_ramdisk.mk) + AB_OTA_POSTINSTALL_CONFIG += \ RUN_POSTINSTALL_system=true \ POSTINSTALL_PATH_system=system/bin/otapreopt_script \ @@ -60,103 +21,74 @@ AB_OTA_POSTINSTALL_CONFIG += \ AB_OTA_POSTINSTALL_CONFIG += \ RUN_POSTINSTALL_vendor=true \ POSTINSTALL_PATH_vendor=bin/checkpoint_gc \ - FILESYSTEM_TYPE_vendor=ext4 \ + FILESYSTEM_TYPE_vendor=erofs \ POSTINSTALL_OPTIONAL_vendor=true +AB_OTA_POSTINSTALL_CONFIG += \ + RUN_POSTINSTALL_odm=true \ + POSTINSTALL_PATH_odm=bin/xbl_config_arb_check \ + FILESYSTEM_TYPE_odm=erofs \ + POSTINSTALL_OPTIONAL_odm=false + PRODUCT_PACKAGES += \ checkpoint_gc \ - otapreopt_script - -# ANT+ -PRODUCT_PACKAGES += \ - AntHalService-Soong \ - com.dsi.ant@1.0.vendor - -# Atrace -PRODUCT_PACKAGES += \ - android.hardware.atrace@1.0-service + otapreopt_script \ + xbl_config_arb_check # Audio PRODUCT_PACKAGES += \ android.hardware.audio@6.0-impl \ android.hardware.audio.effect@6.0-impl \ android.hardware.audio.service \ - android.hardware.bluetooth.audio@2.0-impl \ + android.hardware.bluetooth.audio-impl \ android.hardware.soundtrigger@2.3-impl \ - audio.a2dp.default \ audio.bluetooth.default \ audio.primary.holi \ audio.r_submix.default \ audio.usb.default \ - audio_amplifier.holi \ audioadsprpcd \ liba2dpoffload \ - libaudiopreprocessing \ libbatterylistener \ - libbundlewrapper \ - libcirrusspkrprot \ libcomprcapture \ - libdownmix \ - libdynproc \ - libeffectproxy \ libexthwplugin \ libhdmiedid \ libhfp \ - libldnhncr \ libqcompostprocbundle \ libqcomvisualizer \ libqcomvoiceprocessing \ - libreverbwrapper \ libsndmonitor \ libspkrprot \ libssrec \ - libvisualizer \ libvolumelistener \ sound_trigger.primary.holi:32 -# SM8350 audio HAL has SM4350 configurations. AUDIO_HAL_DIR := hardware/qcom-caf/sm8350/audio PRODUCT_COPY_FILES += \ - $(AUDIO_HAL_DIR)/configs/common/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml \ - $(AUDIO_HAL_DIR)/configs/common/bluetooth_qti_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/sku_holi/bluetooth_qti_audio_policy_configuration.xml \ - $(AUDIO_HAL_DIR)/configs/common/bluetooth_qti_hearing_aid_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/sku_holi/bluetooth_qti_hearing_aid_audio_policy_configuration.xml \ $(AUDIO_HAL_DIR)/configs/holi/audio_effects.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.xml \ - $(AUDIO_HAL_DIR)/configs/holi/audio_platform_info.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_info.xml \ - $(AUDIO_HAL_DIR)/configs/holi/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/audio_policy_configuration.xml \ + $(AUDIO_HAL_DIR)/configs/holi/audio_platform_info_intcodec.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_info_intcodec.xml \ $(AUDIO_HAL_DIR)/configs/holi/audio_tuning_mixer.txt:$(TARGET_COPY_OUT_VENDOR)/etc/audio_tuning_mixer.txt \ - $(AUDIO_HAL_DIR)/configs/holi/sound_trigger_platform_info.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_platform_info.xml \ - $(LOCAL_PATH)/audio/audio_io_policy.conf:$(TARGET_COPY_OUT_VENDOR)/etc/audio_io_policy.conf \ - $(LOCAL_PATH)/audio/audio_platform_info_intcodec.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_info_intcodec.xml \ - $(LOCAL_PATH)/audio/mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths.xml \ - $(LOCAL_PATH)/audio/sound_trigger_mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_mixer_paths.xml + $(AUDIO_HAL_DIR)/configs/holi/sound_trigger_platform_info.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_platform_info.xml \ + $(LOCAL_PATH)/configs/audio/audio_io_policy.conf:$(TARGET_COPY_OUT_VENDOR)/etc/audio_io_policy.conf \ + $(LOCAL_PATH)/configs/audio/audio_platform_info.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_info.xml \ + $(LOCAL_PATH)/configs/audio/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml \ + $(LOCAL_PATH)/configs/audio/audio_policy_configuration_a2dp_offload_disabled.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/audio_policy_configuration.xml \ + $(LOCAL_PATH)/configs/audio/bluetooth_hearing_aid_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_hearing_aid_audio_policy_configuration.xml \ + $(LOCAL_PATH)/configs/audio/mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths.xml \ + $(LOCAL_PATH)/configs/audio/sound_trigger_mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_mixer_paths.xml PRODUCT_COPY_FILES += \ - frameworks/av/services/audiopolicy/config/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/sku_holi/audio_policy_volumes.xml \ frameworks/av/services/audiopolicy/config/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml \ - frameworks/av/services/audiopolicy/config/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/sku_holi/default_volume_tables.xml \ + frameworks/av/services/audiopolicy/config/bluetooth_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_audio_policy_configuration.xml \ frameworks/av/services/audiopolicy/config/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default_volume_tables.xml \ - frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/sku_holi/r_submix_audio_policy_configuration.xml \ frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/r_submix_audio_policy_configuration.xml \ - frameworks/av/services/audiopolicy/config/usb_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/sku_holi/usb_audio_policy_configuration.xml \ frameworks/av/services/audiopolicy/config/usb_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/usb_audio_policy_configuration.xml PRODUCT_COPY_FILES += \ frameworks/native/data/etc/android.hardware.audio.low_latency.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.low_latency.xml \ - frameworks/native/data/etc/android.hardware.audio.pro.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.pro.xml \ frameworks/native/data/etc/android.software.midi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.midi.xml -# Authsecret -PRODUCT_PACKAGES += \ - android.hardware.authsecret@1.0.vendor - # Bluetooth -PRODUCT_PACKAGES += \ - android.hardware.bluetooth@1.0.vendor \ - vendor.qti.hardware.bluetooth_audio@2.0.vendor \ - vendor.qti.hardware.btconfigstore@1.0.vendor \ - vendor.qti.hardware.btconfigstore@2.0.vendor - PRODUCT_COPY_FILES += \ frameworks/native/data/etc/android.hardware.bluetooth.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth.xml \ frameworks/native/data/etc/android.hardware.bluetooth_le.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth_le.xml @@ -167,20 +99,13 @@ TARGET_SCREEN_WIDTH := 1080 # Boot control PRODUCT_PACKAGES += \ - android.hardware.boot@1.1-impl-qti \ - android.hardware.boot@1.1-impl-qti.recovery \ - android.hardware.boot@1.1-service \ - bootctrl.holi \ - bootctrl.holi.recovery - -PRODUCT_PACKAGES_DEBUG += \ - bootctl + android.hardware.boot-service.qti \ + android.hardware.boot-service.qti.recovery # Camera PRODUCT_PACKAGES += \ android.hardware.camera.provider@2.4-impl \ - android.hardware.camera.provider@2.4-service_64 \ - vendor.qti.hardware.camera.postproc@1.0.vendor + android.hardware.camera.provider@2.4-service_64 PRODUCT_COPY_FILES += \ frameworks/native/data/etc/android.hardware.camera.flash-autofocus.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.flash-autofocus.xml \ @@ -188,90 +113,55 @@ PRODUCT_COPY_FILES += \ frameworks/native/data/etc/android.hardware.camera.full.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.full.xml \ frameworks/native/data/etc/android.hardware.camera.raw.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.raw.xml -# Common init scripts -PRODUCT_PACKAGES += \ - charger_fstab.qti \ - fstab.qcom \ - ftm_power_config.sh \ - init.class_main.sh \ - init.cust.rc \ - init.kernel.post_boot.sh \ - init.oem.debug.rc \ - init.oem.rc \ - init.oem_ftm.rc \ - init.oem_rf.rc \ - init.qcom.class_core.sh \ - init.qcom.early_boot.sh \ - init.qcom.factory.rc \ - init.qcom.post_boot.sh \ - init.qcom.rc \ - init.qcom.sh \ - init.qcom.usb.rc \ - init.qcom.usb.sh \ - init.qti.chg_policy.sh \ - init.qti.dcvs.sh \ - init.qti.kernel.rc \ - init.qti.kernel.sh \ - init.qti.qcv.rc \ - init.qti.qcv.sh \ - init.stnfc.rc \ - init.stnfc.sh \ - init.recovery.qcom.rc \ - init.target.rc \ - init.uicc.rc \ - ueventd.qcom.rc \ - vendor.oem_ftm.rc \ - vendor.oem_ftm_svc_disable.rc \ - vendor_modprobe.sh +# Dalvik +$(call inherit-product, frameworks/native/build/phone-xhdpi-4096-dalvik-heap.mk) -# Device ID Attestation -PRODUCT_COPY_FILES += \ - frameworks/native/data/etc/android.software.device_id_attestation.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.device_id_attestation.xml +# DebugFS +PRODUCT_SET_DEBUGFS_RESTRICTIONS := true # Display PRODUCT_PACKAGES += \ - android.hardware.graphics.common-V1-ndk_platform.vendor \ android.hardware.graphics.mapper@3.0-impl-qti-display \ android.hardware.graphics.mapper@4.0-impl-qti-display \ - android.hardware.memtrack@1.0-impl \ - android.hardware.memtrack@1.0-service \ init.qti.display_boot.sh \ - libdisplayconfig.qti \ - libdisplayconfig.qti.vendor \ - libmemutils \ - libqdMetaData \ - libsdmcore \ - libsdmutils \ - libtinyxml \ - memtrack.default \ - vendor.display.config@1.0 \ - vendor.display.config@1.0.vendor \ - vendor.display.config@1.1.vendor \ - vendor.display.config@1.2.vendor \ - vendor.display.config@1.3.vendor \ - vendor.display.config@1.4.vendor \ - vendor.display.config@1.5.vendor \ - vendor.display.config@1.6.vendor \ - vendor.display.config@1.7.vendor \ - vendor.display.config@1.8.vendor \ - vendor.display.config@1.9.vendor \ - vendor.display.config@1.10.vendor \ - vendor.display.config@1.11.vendor \ - vendor.display.config@1.12.vendor \ - vendor.display.config@1.13.vendor \ - vendor.display.config@1.14.vendor \ - vendor.display.config@1.15.vendor \ - vendor.display.config@2.0 \ - vendor.display.config@2.0.vendor \ - vendor.oneplus.hardware.display@1.0.vendor \ vendor.qti.hardware.display.allocator-service \ vendor.qti.hardware.display.composer-service \ - vendor.qti.hardware.display.mapper@1.0.vendor \ - vendor.qti.hardware.display.mapper@1.1.vendor \ - vendor.qti.hardware.display.mapper@2.0.vendor \ - vendor.qti.hardware.display.mapper@3.0.vendor \ - vendor.qti.hardware.display.mapper@4.0.vendor + vendor.qti.hardware.memtrack-service +PRODUCT_COPY_FILES += \ + hardware/qcom-caf/sm8350/display/config/snapdragon_color_libs_config.xml:$(TARGET_COPY_OUT_VENDOR)/etc/snapdragon_color_libs_config.xml + +# Doze +PRODUCT_PACKAGES += \ + OplusDoze \ + OplusDozeResTarget + +# DRM +PRODUCT_PACKAGES += \ + android.hardware.drm-service.clearkey \ + wvmkiller + +# Fastboot +PRODUCT_PACKAGES += \ + android.hardware.fastboot@1.1-impl.custom \ + fastbootd + +# Fingerprint +PRODUCT_PACKAGES += \ + android.hardware.biometrics.fingerprint@2.3-service.oplus + +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.hardware.fingerprint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.fingerprint.xml + +# FM Radio +PRODUCT_PACKAGES += \ + FM2 + +# GPS +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.hardware.location.gps.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.location.gps.xml + +# Graphics PRODUCT_COPY_FILES += \ frameworks/native/data/etc/android.hardware.opengles.aep.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.opengles.aep.xml \ frameworks/native/data/etc/android.hardware.vulkan.compute-0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.compute-0.xml \ @@ -279,187 +169,113 @@ PRODUCT_COPY_FILES += \ frameworks/native/data/etc/android.hardware.vulkan.version-1_1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.version-1_1.xml \ frameworks/native/data/etc/android.software.vulkan.deqp.level-2020-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.vulkan.deqp.level.xml -# Doze -PRODUCT_PACKAGES += \ - OnePlusDoze - -# DRM -PRODUCT_PACKAGES += \ - android.hardware.drm@1.3.vendor \ - android.hardware.drm@1.4-service.clearkey - -# fastbootd -PRODUCT_PACKAGES += \ - fastbootd - -# Fingerprint -PRODUCT_PACKAGES += \ - android.hardware.biometrics.fingerprint@2.1-service \ - vendor.oneplus.fingerprint.extension@1.0.vendor - -PRODUCT_COPY_FILES += \ - frameworks/native/data/etc/android.hardware.fingerprint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.fingerprint.xml - -# Gatekeeper -PRODUCT_PACKAGES += \ - android.hardware.gatekeeper@1.0.vendor - -# GPS -PRODUCT_PACKAGES += \ - android.hardware.gnss.measurement_corrections@1.1.vendor \ - android.hardware.gnss.visibility_control@1.0.vendor \ - android.hardware.gnss@2.1.vendor - -PRODUCT_COPY_FILES += \ - $(LOCAL_PATH)/gps/flp.conf:$(TARGET_COPY_OUT_VENDOR)/etc/flp.conf \ - $(LOCAL_PATH)/gps/gnss_antenna_info.conf:$(TARGET_COPY_OUT_VENDOR)/etc/gnss_antenna_info.conf \ - $(LOCAL_PATH)/gps/gps.conf:$(TARGET_COPY_OUT_VENDOR)/etc/gps.conf \ - $(LOCAL_PATH)/gps/izat.conf:$(TARGET_COPY_OUT_VENDOR)/etc/izat.conf \ - $(LOCAL_PATH)/gps/lowi.conf:$(TARGET_COPY_OUT_VENDOR)/etc/lowi.conf \ - $(LOCAL_PATH)/gps/sap.conf:$(TARGET_COPY_OUT_VENDOR)/etc/sap.conf \ - $(LOCAL_PATH)/gps/xtwifi.conf:$(TARGET_COPY_OUT_VENDOR)/etc/xtwifi.conf - -PRODUCT_COPY_FILES += \ - frameworks/native/data/etc/android.hardware.location.gps.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.location.gps.xml - # Health PRODUCT_PACKAGES += \ - android.hardware.health@2.1-impl \ - android.hardware.health@2.1-service + android.hardware.health-service.qti -# HIDL -PRODUCT_PACKAGES += \ - libhidltransport.vendor \ - libhwbinder.vendor - -# HotwordEnrollement app permissions +# Hotword enrollment PRODUCT_COPY_FILES += \ - $(LOCAL_PATH)/configs/privapp-permissions-hotword.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/permissions/privapp-permissions-hotword.xml + $(LOCAL_PATH)/configs/permissions/privapp-permissions-hotword.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/permissions/privapp-permissions-hotword.xml + +# Init +PRODUCT_PACKAGES += \ + fstab.qcom \ + fstab.qcom.vendor_ramdisk \ + init.class_main.sh \ + init.oplus.rc \ + init.qcom.early_boot.sh \ + init.qcom.rc \ + init.qcom.recovery.rc \ + init.qcom.sh \ + init.qcom.usb.rc \ + init.qcom.usb.sh \ + init.target.rc \ + ueventd.oplus.rc \ + ueventd.qcom.rc + +$(call soong_config_set,libinit,vendor_init_lib,//$(LOCAL_PATH):libinit_oplus) # IPACM PRODUCT_PACKAGES += \ ipacm \ - IPACM_cfg.xml \ - libipanat \ - liboffloadhal + IPACM_cfg.xml -# Keymaster +# Kernel +PRODUCT_ENABLE_UFFD_GC := true + +# Lineage Health PRODUCT_PACKAGES += \ - android.hardware.keymaster@4.1.vendor + vendor.lineage.health-service.default + +$(call soong_config_set,lineage_health,charging_control_charging_path,/sys/class/oplus_chg/battery/mmi_charging_enable) # LiveDisplay PRODUCT_PACKAGES += \ - vendor.lineage.livedisplay@2.1-service.oneplus + vendor.lineage.livedisplay-service.oplus + +$(call soong_config_set_bool,OPLUS_LINEAGE_LIVEDISPLAY_HAL,ENABLE_SE,false) # Media PRODUCT_COPY_FILES += \ - $(LOCAL_PATH)/configs/media_codecs_holi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs.xml \ - $(LOCAL_PATH)/configs/media_codecs_holi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_holi.xml \ - $(LOCAL_PATH)/configs/media_codecs_holi_vendor.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_holi_vendor.xml \ - $(LOCAL_PATH)/configs/media_codecs_performance_holi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance.xml \ - $(LOCAL_PATH)/configs/media_codecs_performance_holi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance_holi.xml \ - $(LOCAL_PATH)/configs/media_codecs_performance_holi_vendor.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance_holi_vendor.xml \ - $(LOCAL_PATH)/configs/media_codecs_vendor_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_vendor_audio.xml \ - $(LOCAL_PATH)/configs/media_profiles.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles.xml \ - $(LOCAL_PATH)/configs/media_profiles_holi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_holi.xml \ - $(LOCAL_PATH)/configs/media_profiles_holi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_vendor.xml \ - $(LOCAL_PATH)/configs/media_profiles_V1_0.xml:$(TARGET_COPY_OUT_ODM)/etc/media_profiles_V1_0.xml + $(LOCAL_PATH)/configs/media/media_profiles_holi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_vendor.xml -PRODUCT_COPY_FILES += \ - frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_audio.xml \ - frameworks/av/media/libstagefright/data/media_codecs_google_c2.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_c2.xml \ - frameworks/av/media/libstagefright/data/media_codecs_google_c2_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_c2_audio.xml \ - frameworks/av/media/libstagefright/data/media_codecs_google_c2_video.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_c2_video.xml \ - frameworks/av/media/libstagefright/data/media_codecs_google_telephony.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_telephony.xml \ - frameworks/av/media/libstagefright/data/media_codecs_google_video.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_video.xml \ - frameworks/av/media/libstagefright/data/media_codecs_google_video_le.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_video_le.xml - - -PRODUCT_PACKAGES += \ - libavservices_minijail \ - libavservices_minijail.vendor \ - libavservices_minijail_vendor \ - libcodec2_hidl@1.0.vendor - -# Net -PRODUCT_PACKAGES += \ - android.system.net.netd@1.1.vendor \ - netutils-wrapper-1.0 - -# Neural Network -PRODUCT_PACKAGES += \ - android.hardware.neuralnetworks@1.3.vendor +$(call soong_config_set_bool,stagefright,target_disable_thumbnail_block_model,true) # NFC PRODUCT_PACKAGES += \ - android.hardware.nfc@1.2-service.st \ - android.hardware.secure_element@1.2.vendor \ + android.hardware.nfc-service.st \ com.android.nfc_extras \ nfc_nci.st21nfc.default \ - SecureElement \ Tag PRODUCT_COPY_FILES += \ + $(LOCAL_PATH)/configs/nfc/libnfc-hal-st.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libnfc-hal-st.conf \ frameworks/native/data/etc/android.hardware.nfc.hce.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hce.xml \ frameworks/native/data/etc/android.hardware.nfc.hcef.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hcef.xml \ frameworks/native/data/etc/android.hardware.nfc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.xml -# OMX -PRODUCT_PACKAGES += \ - libOmxAacEnc \ - libOmxAmrEnc \ - libOmxCore \ - libOmxEvrcEnc \ - libOmxG711Enc \ - libOmxQcelp13Enc \ - libstagefrighthw +# Overlays +$(call inherit-product, hardware/oplus/overlay/generic/generic.mk) +$(call inherit-product, hardware/oplus/overlay/qssi/qssi.mk) -# OnePlus -PRODUCT_PACKAGES += \ - oneplus-fwk +DEVICE_PACKAGE_OVERLAYS += \ + $(LOCAL_PATH)/overlay-lineage -PRODUCT_BOOT_JARS += \ - oneplus-fwk +PRODUCT_ENFORCE_RRO_TARGETS := * +PRODUCT_PACKAGES += \ + CarrierConfigResCommon \ + FrameworksResTarget \ + Launcher3ResTarget \ + NcmTetheringOverlay \ + OPlusFrameworksResTarget \ + OPlusSettingsProviderResTarget \ + OPlusSettingsResTarget \ + OPlusSystemUIResTarget \ + WifiResTarget + +# Partitions +PRODUCT_PACKAGES += \ + vendor_bt_firmware_mountpoint \ + vendor_dsp_mountpoint \ + vendor_firmware_mnt_mountpoint + +PRODUCT_USE_DYNAMIC_PARTITIONS := true + +# Perf +PRODUCT_COPY_FILES += \ + $(LOCAL_PATH)/configs/perf/task_profiles.json:$(TARGET_COPY_OUT_VENDOR)/etc/task_profiles.json # Power PRODUCT_PACKAGES += \ - android.hardware.power-service-qti \ - android.hardware.power@1.2.vendor \ - vendor.qti.hardware.perf@2.0.vendor \ - vendor.qti.hardware.perf@2.1.vendor \ - vendor.qti.hardware.perf@2.2.vendor + android.hardware.power-service.lineage-libperfmgr \ + libqti-perfd-client -# QMI -PRODUCT_PACKAGES += \ - libjson \ - libqti_vndfwk_detect \ - libqti_vndfwk_detect.vendor \ - libvndfwk_detect_jni.qti \ - libvndfwk_detect_jni.qti.vendor - -# QTI service tracker -PRODUCT_PACKAGES += \ - vendor.qti.hardware.servicetracker@1.0.vendor \ - vendor.qti.hardware.servicetracker@1.1.vendor \ - vendor.qti.hardware.servicetracker@1.2.vendor - -# RIL -PRODUCT_PACKAGES += \ - android.hardware.radio@1.5.vendor \ - android.hardware.radio.config@1.2.vendor \ - android.hardware.radio.deprecated@1.0.vendor \ - libprotobuf-cpp-full \ - librmnetctl \ - libxml2 +PRODUCT_COPY_FILES += \ + $(LOCAL_PATH)/configs/powerhint.json:$(TARGET_COPY_OUT_VENDOR)/etc/powerhint.json # Sensors PRODUCT_PACKAGES += \ - android.hardware.sensors@2.0-service.multihal \ - libsensorndkbridge - -# Needed for sensors.ssc.so -PRODUCT_PACKAGES += \ - android.hardware.audio@4.0.vendor + android.hardware.sensors-service.multihal \ PRODUCT_COPY_FILES += \ frameworks/native/data/etc/android.hardware.sensor.accelerometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.accelerometer.xml \ @@ -472,21 +288,43 @@ PRODUCT_COPY_FILES += \ frameworks/native/data/etc/android.hardware.sensor.stepcounter.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.stepcounter.xml \ frameworks/native/data/etc/android.hardware.sensor.stepdetector.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.stepdetector.xml +# Shipping API +BOARD_SHIPPING_API_LEVEL := 30 +PRODUCT_SHIPPING_API_LEVEL := $(BOARD_SHIPPING_API_LEVEL) + # Soong namespaces PRODUCT_SOONG_NAMESPACES += \ $(LOCAL_PATH) \ - hardware/oneplus + hardware/google/interfaces \ + hardware/google/pixel \ + hardware/oplus \ + hardware/lineage/interfaces/power-libperfmgr \ + hardware/qcom-caf/common/libqti-perfd-client + +# Storage +$(call inherit-product, $(SRC_TARGET_DIR)/product/emulated_storage.mk) # Telephony PRODUCT_PACKAGES += \ + extphonelib \ + extphonelib-product \ + extphonelib.xml \ + extphonelib_product.xml \ ims-ext-common \ ims_ext_common.xml \ qti-telephony-hidl-wrapper \ + qti-telephony-hidl-wrapper-prd \ qti_telephony_hidl_wrapper.xml \ + qti_telephony_hidl_wrapper_prd.xml \ qti-telephony-utils \ + qti-telephony-utils-prd \ qti_telephony_utils.xml \ + qti_telephony_utils_prd.xml \ telephony-ext +PRODUCT_PACKAGES += \ + qcrilNrDb_vendor + PRODUCT_BOOT_JARS += \ telephony-ext @@ -499,13 +337,15 @@ PRODUCT_COPY_FILES += \ frameworks/native/data/etc/android.hardware.telephony.ims.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.ims.xml \ frameworks/native/data/etc/android.software.sip.voip.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.sip.voip.xml +$(call inherit-product, hardware/oplus/oplus-fwk/oplus-fwk.mk) + # Thermal PRODUCT_PACKAGES += \ - android.hardware.thermal@2.0-service.qti + android.hardware.thermal-service.qti # Touch PRODUCT_PACKAGES += \ - vendor.lineage.touch@1.0-service.oneplus + vendor.lineage.touch-service.oplus PRODUCT_COPY_FILES += \ frameworks/native/data/etc/android.hardware.touchscreen.multitouch.jazzhand.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.touchscreen.multitouch.jazzhand.xml @@ -521,7 +361,12 @@ PRODUCT_PACKAGES_DEBUG += \ # USB PRODUCT_PACKAGES += \ - android.hardware.usb@1.3-service-qti + android.hardware.usb-service.qti \ + android.hardware.usb.gadget-service.qti \ + oplus_usb_compositions.conf + +PRODUCT_SOONG_NAMESPACES += \ + vendor/qcom/opensource/usb/etc PRODUCT_COPY_FILES += \ frameworks/native/data/etc/android.hardware.usb.accessory.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.accessory.xml \ @@ -531,10 +376,6 @@ PRODUCT_COPY_FILES += \ PRODUCT_PACKAGES += \ vndservicemanager -# Vendor libstdc++ -PRODUCT_PACKAGES += \ - libstdc++.vendor - # Verified Boot PRODUCT_COPY_FILES += \ frameworks/native/data/etc/android.software.verified_boot.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.verified_boot.xml @@ -546,35 +387,35 @@ PRODUCT_PACKAGES += \ PRODUCT_COPY_FILES += \ vendor/qcom/opensource/vibrator/excluded-input-devices.xml:$(TARGET_COPY_OUT_VENDOR)/etc/excluded-input-devices.xml -# Wi-Fi +# VINTF +DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE += \ + hardware/oplus/vintf/device_framework_matrix.xml \ + hardware/qcom-caf/common/vendor_framework_compatibility_matrix.xml +DEVICE_MATRIX_FILE := hardware/qcom-caf/common/compatibility_matrix.xml +DEVICE_MANIFEST_FILE := $(LOCAL_PATH)/vintf/manifest.xml + +# WiFi PRODUCT_PACKAGES += \ - android.hardware.wifi@1.0-service \ + android.hardware.wifi-service \ hostapd \ - libwpa_client \ libwifi-hal-ctrl \ libwifi-hal-qcom \ - wifi-mac-generator-dre \ - WifiResCommon \ wpa_supplicant \ wpa_supplicant.conf PRODUCT_COPY_FILES += \ - $(LOCAL_PATH)/wifi/p2p_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/p2p_supplicant_overlay.conf \ - $(LOCAL_PATH)/wifi/wpa_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/wpa_supplicant_overlay.conf - -PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.hardware.wifi.aware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.aware.xml \ frameworks/native/data/etc/android.hardware.wifi.direct.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.direct.xml \ frameworks/native/data/etc/android.hardware.wifi.passpoint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.passpoint.xml \ + frameworks/native/data/etc/android.hardware.wifi.rtt.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.rtt.xml \ frameworks/native/data/etc/android.hardware.wifi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.xml \ + frameworks/native/data/etc/android.software.ipsec_tunnel_migration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.ipsec_tunnel_migration.xml \ frameworks/native/data/etc/android.software.ipsec_tunnels.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.ipsec_tunnels.xml -# Wi-Fi Display +# WiFi firmware symlinks PRODUCT_PACKAGES += \ - libnl \ - libwfdaac_vendor + firmware_wlan_mac.bin_symlink \ + firmware_WCNSS_qcom_cfg.ini_symlink -PRODUCT_BOOT_JARS += \ - WfdCommon - -PRODUCT_BUILD_SUPER_PARTITION := false -PRODUCT_USE_DYNAMIC_PARTITIONS := true +# Get non-open-source specific aspects +$(call inherit-product, vendor/oneplus/dre/dre-vendor.mk) diff --git a/device_framework_matrix.xml b/device_framework_matrix.xml deleted file mode 100644 index dcf935b..0000000 --- a/device_framework_matrix.xml +++ /dev/null @@ -1,218 +0,0 @@ - - - vendor.aac.hardware.richtap.vibrator - - IRichtapVibrator - default - - - - vendor.dolby.hardware.dms - 2.0 - - IDms - default - - - - vendor.goodix3626.hardware.biometrics.fingerprint - 2.1 - - IGoodixFingerprintDaemon - default - - - - vendor.nxp.eventprocessor - 1.0 - - INxpEseEvtProcessor - default - - - - vendor.nxp.hardware.nfc - 1.0-1 - 2.0 - - INqNfc - default - - - - vendor.nxp.nxpese - 1.0 - - INxpEse - default - - - - vendor.nxp.nxpnfc - 1.0 - - INxpNfc - default - - - - vendor.nxp.nxpnfclegacy - 1.0 - - INxpNfcLegacy - default - - - - vendor.oneplus.engnative.engineer - 1.0 - - IEngineer - default - - - - vendor.oneplus.faceunlock.hal - 1.0 - - IFaceUnlockNativeService - default - - - - vendor.oneplus.fingerprint.extension - 1.0 - - IVendorFingerprintExtensions - default - - - - vendor.oneplus.hardware.CameraMDMHIDL - 1.0 - - IOnePlusCameraMDM - default - - - - vendor.oneplus.hardware.camera - 1.0 - - IOnePlusCameraProvider - default - - - - vendor.oneplus.hardware.cwb - 1.0 - - ICwbService - default - - - - vendor.oneplus.hardware.display - 1.0 - - IOneplusDisplay - default - - - - vendor.oneplus.hardware.drmkey - 1.0 - - IOneplusDrmKey - default - - - - vendor.oneplus.hardware.hdcpkey - 1.0 - - IOneplusHdcpKey - default - - - - vendor.oneplus.hardware.hypnus - 1.0 - - IHypnusUtil - default - - - - vendor.oneplus.hardware.ifaa - 2.0 - - IOneplusIfaa - default - - - - vendor.oneplus.hardware.lmvibrator - 1.0 - - ILinearMotorVibrator - default - - - - vendor.oneplus.hardware.motorcontrol - 1.0 - - IOPMotorControl - default - - - - vendor.oneplus.hardware.param - 1.0 - - IOneplusParam - default - - - - vendor.oneplus.hardware.rpmb - 1.0 - - IOneplusRpmb - default - - - - vendor.oneplus.hardware.wifi - 1.1 - - IOneplusWifi - default - - - - vendor.pixelworks.hardware.display - 1.1 - - IIris - default - - - - vendor.pixelworks.hardware.feature - 1.0 - - IIrisFeature - default - - - - vendor.rongcard.hardware.eid - 1.0 - - IEidDevice - default - - - diff --git a/extract-files.py b/extract-files.py new file mode 100755 index 0000000..d0b5d85 --- /dev/null +++ b/extract-files.py @@ -0,0 +1,124 @@ +#!/usr/bin/env -S PYTHONPATH=../../../tools/extract-utils python3 +# +# SPDX-FileCopyrightText: 2024 The LineageOS Project +# SPDX-License-Identifier: Apache-2.0 +# + +from extract_utils.fixups_blob import ( + blob_fixup, + blob_fixups_user_type, +) +from extract_utils.fixups_lib import ( + lib_fixups, + lib_fixups_user_type, +) +from extract_utils.main import ( + ExtractUtils, + ExtractUtilsModule, +) + +namespace_imports = [ + 'device/oneplus/dre', + 'hardware/oplus', + 'hardware/qcom-caf/common/libqti-perfd-client', + 'hardware/qcom-caf/sm8350', + 'hardware/qcom-caf/wlan', + 'vendor/qcom/opensource/commonsys-intf/display', + 'vendor/qcom/opensource/commonsys/display', + 'vendor/qcom/opensource/dataservices', + 'vendor/qcom/opensource/display', +] + + +def lib_fixup_vendor_suffix(lib: str, partition: str, *args, **kwargs): + return f'{lib}_vendor' if partition in ['odm', 'vendor'] else None + + +lib_fixups: lib_fixups_user_type = { + **lib_fixups, + ( + 'com.qualcomm.qti.dpm.api@1.0', + 'libmmosal', + 'vendor.qti.diaghal@1.0', + 'vendor.qti.hardware.fm@1.0', + 'vendor.qti.hardware.wifidisplaysession@1.0', + 'vendor.qti.imsrtpservice@3.0', + ): lib_fixup_vendor_suffix, +} + +blob_fixups: blob_fixups_user_type = { + 'odm/etc/init/android.hardware.drm@1.3-service.widevine.rc': blob_fixup() + .regex_replace('writepid /dev/cpuset/foreground/tasks', 'task_profiles ProcessCapacityHigh'), + ('odm/lib/liblvimfs_wrapper.so', 'odm/lib64/libCOppLceTonemapAPI.so', 'odm/lib64/libaps_frame_registration.so'): blob_fixup() + .replace_needed('libstdc++.so', 'libstdc++_vendor.so'), + 'odm/lib64/libarcsoft_portrait_super_night_raw.so': blob_fixup() + .clear_symbol_version('remote_handle_close') + .clear_symbol_version('remote_handle_invoke') + .clear_symbol_version('remote_handle_open') + .clear_symbol_version('remote_handle64_close') + .clear_symbol_version('remote_handle64_invoke') + .clear_symbol_version('remote_handle64_open') + .clear_symbol_version('remote_register_buf_attr') + .clear_symbol_version('remote_register_buf') + .clear_symbol_version('rpcmem_alloc') + .clear_symbol_version('rpcmem_free') + .clear_symbol_version('rpcmem_to_fd'), + 'odm/lib64/libOGLManager.so': blob_fixup() + .clear_symbol_version('AHardwareBuffer_allocate') + .clear_symbol_version('AHardwareBuffer_describe') + .clear_symbol_version('AHardwareBuffer_lock') + .clear_symbol_version('AHardwareBuffer_release') + .clear_symbol_version('AHardwareBuffer_unlock'), + ('odm/lib64/libwvhidl.so','odm/lib64/mediadrm/libwvdrmengine.so'): blob_fixup() + .add_needed('libcrypto_shim.so'), + 'product/etc/sysconfig/com.android.hotwordenrollment.common.util.xml': blob_fixup() + .regex_replace('/my_product', '/product'), + 'system_ext/lib64/libwfdnative.so': blob_fixup() + .add_needed('libinput_shim.so'), + 'vendor/bin/init.kernel.post_boot-blair.sh': blob_fixup() + .patch_file('blob-patches/init-post-boot-blair.patch'), + 'vendor/bin/init.kernel.post_boot-holi.sh': blob_fixup() + .patch_file('blob-patches/init-post-boot-holi.patch'), + 'vendor/etc/init/vendor.qti.media.c2@1.0-service.rc': blob_fixup() + .regex_replace('writepid /dev/cpuset/foreground/tasks', 'task_profiles ProcessCapacityHigh'), + ('vendor/etc/media_codecs.xml','vendor/etc/media_codecs_blair.xml','vendor/etc/media_codecs_blair_lite.xml','vendor/etc/media_codecs_holi.xml'): blob_fixup() + .regex_replace('\n ', '') + .regex_replace('\n ', '') + .regex_replace('\n ', '') + .regex_replace('\n ', '') + .regex_replace('\n ', '') + .regex_replace('\n ', '\n \n '), + 'vendor/etc/media_holi/video_system_specs.json': blob_fixup() + .regex_replace('"max_retry_alloc_output_timeout": 2000,', '"max_retry_alloc_output_timeout": 0,'), + 'vendor/etc/libnfc-nci.conf': blob_fixup() + .regex_replace('NFC_DEBUG_ENABLED=1', 'NFC_DEBUG_ENABLED=0'), + 'vendor/etc/msm_irqbalance.conf': blob_fixup() + .regex_replace('IGNORED_IRQ=19,21,38$', 'IGNORED_IRQ=19,21,38,209,218'), + 'vendor/etc/public.libraries.txt': blob_fixup() + .regex_replace('libqti-perfd-client.so\n', ''), + 'vendor/etc/qdcm_calib_data_nt36672c_tm_fhd_plus_video_mode_dsi_panel.xml': blob_fixup() + .regex_replace('FeatureType="2" Disable="false"', 'FeatureType="2" Disable="true"') + .regex_replace('FeatureType="7" Disable="false"', 'FeatureType="7" Disable="true"') + .regex_replace('FeatureType="8" Disable="false"', 'FeatureType="8" Disable="true"') + .regex_replace('20121_v1_20201113', 'native') + .regex_replace('SRGB', 'sRGB'), + 'vendor/lib64/hw/camera.qcom.so': blob_fixup() + .add_needed('libcamera_metadata_shim.so'), + ( + 'vendor/lib64/libdpps.so', + 'vendor/lib64/libsnapdragoncolor-manager.so', + ): blob_fixup() + .replace_needed('libtinyxml2.so', 'libtinyxml2-v34.so'), +} # fmt: skip + +module = ExtractUtilsModule( + 'dre', + 'oneplus', + blob_fixups=blob_fixups, + lib_fixups=lib_fixups, + namespace_imports=namespace_imports, +) + +if __name__ == '__main__': + utils = ExtractUtils.device(module) + utils.run() diff --git a/extract-files.sh b/extract-files.sh deleted file mode 100755 index e3a5452..0000000 --- a/extract-files.sh +++ /dev/null @@ -1,72 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2016 The CyanogenMod Project -# Copyright (C) 2017-2022 The LineageOS Project -# -# SPDX-License-Identifier: Apache-2.0 -# - -set -e - -DEVICE=dre -VENDOR=oneplus - -# Load extract_utils and do some sanity checks -MY_DIR="${BASH_SOURCE%/*}" -if [[ ! -d "${MY_DIR}" ]]; then MY_DIR="${PWD}"; fi - -ANDROID_ROOT="${MY_DIR}/../../.." - -HELPER="${ANDROID_ROOT}/tools/extract-utils/extract_utils.sh" -if [ ! -f "${HELPER}" ]; then - echo "Unable to find helper script at ${HELPER}" - exit 1 -fi -source "${HELPER}" - -# Default to sanitizing the vendor folder before extraction -CLEAN_VENDOR=true - -KANG= -SECTION= - -while [ "${#}" -gt 0 ]; do - case "${1}" in - -n | --no-cleanup ) - CLEAN_VENDOR=false - ;; - -k | --kang ) - KANG="--kang" - ;; - -s | --section ) - SECTION="${2}"; shift - CLEAN_VENDOR=false - ;; - * ) - SRC="${1}" - ;; - esac - shift -done - -if [ -z "${SRC}" ]; then - SRC="adb" -fi - -function blob_fixup() { - case "${1}" in - system_ext/lib64/libwfdnative.so) - sed -i "s/android.hidl.base@1.0.so/libhidlbase.so\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00/" "${2}" - ;; - vendor/lib64/hw/fingerprint.qcom.so) - sed -i "s/goodix\.3626/fingerprint/g" "${2}" - ;; - esac -} - -# Initialize the helper -setup_vendor "${DEVICE}" "${VENDOR}" "${ANDROID_ROOT}" false "${CLEAN_VENDOR}" - -extract "${MY_DIR}/proprietary-files.txt" "${SRC}" "${KANG}" --section "${SECTION}" - -"${MY_DIR}/setup-makefiles.sh" diff --git a/gps/flp.conf b/gps/flp.conf deleted file mode 100644 index 65d54d3..0000000 --- a/gps/flp.conf +++ /dev/null @@ -1,60 +0,0 @@ -################################### -##### FLP settings ##### -################################### - -################################### -# FLP BATCH SIZE -################################### -# The number of batched locations -# requested to modem. The desired number -# defined below may not be satisfied, as -# the modem can only return the number -# of batched locations that can be allocated, -# which is limited by memory. The default -# batch size defined as 20 as below. -BATCH_SIZE=20 - -################################### -# FLP OUTDOOR TRIP BATCH SIZE -################################### -# The number of batched locations -# requested to modem for outdoor -# trip batching. The desired number -# defined below may not be satisfied, as -# the modem can only return the number -# of batched locations that can be allocated, -# which is limited by memory. The default -# trip batch size defined as 600 as below. -OUTDOOR_TRIP_BATCH_SIZE=600 - -################################### -# FLP BATCHING SESSION TIMEOUT -################################### -# Duration with which batch session timeout -# happens in milliseconds. If not specified -# or set to zero, batching session timeout -# defaults to 20 seconds by the modem. -# BATCH_SESSION_TIMEOUT=20000 - -################################### -# FLP BATCHING ACCURACY -################################### -# Set to one of the defined values below -# to define the accuracy of batching. -# If not specified, accuracy defaults -# to LOW. -# FLP BATCHING ACCURACY values: -# Low accuracy = 0 -# Medium accuracy = 1 -# High accuracy = 2 -ACCURACY=1 - -#################################### -# By default if network fixes are not sensor assisted -# these fixes must be dropped. This parameter adds an exception -# for targets where there is no PDR and we still want to -# report out network fixes -# 0: MUST NOT ALLOW NETWORK FIXES -# 1: ALLOW NETWORK FIXES -#################################### -ALLOW_NETWORK_FIXES = 0 diff --git a/gps/gnss_antenna_info.conf b/gps/gnss_antenna_info.conf deleted file mode 100644 index 79a2aef..0000000 --- a/gps/gnss_antenna_info.conf +++ /dev/null @@ -1,134 +0,0 @@ -################################### -##### ANTENNA INFORMATION ##### -################################### - -################################### -# ANTENNA INFO VECTOR SIZE -################################### -# The number of antenna info -# structures in the vector. Each -# entry in this vector is a structure -# with the following elements: -# -# - CARRIER_FREQUENCY -# - PC_OFFSET -# - PC_VARIATION_CORRECTION -# - PC_VARIATION_CORRECTION_UNC -# - SIGNAL_GAIN_CORRECTION -# - SIGNAL_GAIN_CORRECTION_UNC -# -# Notes: -# CARRIER_FREQUENCY -# The carrier frequency in MHz. -# -# PC = PHASE CENTER -# PC_OFFSET is a structure with six -# elements: x, y, z and their associated uncertainties -# Phase center offset (PCO) is defined with -# respect to the origin of the Android sensor coordinate system, e.g., -# center of primary screen for mobiles -# -# PC_VARIATION_CORRECTION -# 2D vectors representing the phase center variation (PCV) corrections, -# in millimeters, at regularly spaced azimuthal angle (theta) and zenith angle -# (phi). The PCV correction is added to the phase measurement to obtain the -# corrected value. -# The azimuthal angle, theta, is defined with respect to the X axis of the -# Android sensor coordinate system, increasing toward the Y axis. The zenith -# angle, phi, is defined with respect to the Z axis of the Android Sensor -# coordinate system, increasing toward the X-Y plane. -# Each row vector (outer vectors) represents a fixed theta. The first row -# corresponds to a theta angle of 0 degrees. The last row corresponds to a -# theta angle of (360 - deltaTheta) degrees, where deltaTheta is the regular -# spacing between azimuthal angles, i.e., deltaTheta = 360 / (number of rows). -# The columns (inner vectors) represent fixed zenith angles, beginning at 0 -# degrees and ending at 180 degrees. They are separated by deltaPhi, the regular -# spacing between zenith angles, i.e., deltaPhi = 180 / (number of columns - 1). -# -# PC_VARIATION_CORRECTION_UNC -# 2D vectors of 1-sigma uncertainty in millimeters associated with the PCV -# correction values. -# -# SIGNAL_GAIN_CORRECTION -# 2D vectors representing the signal gain corrections at regularly spaced -# azimuthal angle (theta) and zenith angle (phi). The values are calculated or -# measured at the antenna feed point without considering the radio and receiver -# noise figure and path loss contribution, in dBi, i.e., decibel over isotropic -# antenna with the same total power. The signal gain correction is added the -# signal gain measurement to obtain the corrected value. -# The azimuthal angle, theta, is defined with respect to the X axis of the -# Android sensor coordinate system, increasing toward the Y axis. The zenith -# angle, phi, is defined with respect to the Z axis of the Android Sensor -# coordinate system, increasing toward the X-Y plane. -# Each row vector (outer vectors) represents a fixed theta. The first row -# corresponds to a theta angle of 0 degrees. The last row corresponds to a -# theta angle of (360 - deltaTheta) degrees, where deltaTheta is the regular -# spacing between azimuthal angles, i.e., deltaTheta = 360 / (number of rows). -# The columns (inner vectors) represent fixed zenith angles, beginning at 0 -# degrees and ending at 180 degrees. They are separated by deltaPhi, the regular -# spacing between zenith angles, i.e., deltaPhi = 180 / (number of columns - 1). -# -# SIGNAL_GAIN_CORRECTION_UNC -# 2D vectors of 1-sigma uncertainty in dBi associated with the signal -# gain correction values. -# -# The number of rows and columns could be the same for PC variation correction -# and signal gain corrections, or could be different -# If the former then NUMBER_OF_ROWS_ and NUMBER_OF_COLUMNS_ are specified once -# only, if the latter then NUMBER_OF_ROWS_ and NUMBER_OF_COLUMNS_ represent -# the number of rows/columns for PC variation correction and -# NUMBER_OF_ROWS_SGC_ and NUMBER_OF_COLUMNS_SGC_ represent the number of -# rows/columns for signal gain corrections - -ANTENNA_INFO_VECTOR_SIZE = 2 - -CARRIER_FREQUENCY_0 = 1575.42 - -PC_OFFSET_0 = 1.2 0.1 3.4 0.2 5.6 0.3 - -NUMBER_OF_ROWS_0 = 3 -NUMBER_OF_COLUMNS_0 = 4 - -PC_VARIATION_CORRECTION_0_ROW_0 = 11.22 33.44 55.66 77.88 -PC_VARIATION_CORRECTION_0_ROW_1 = 10.2 30.4 50.6 70.8 -PC_VARIATION_CORRECTION_0_ROW_2 = 12.2 34.4 56.6 78.8 - -PC_VARIATION_CORRECTION_UNC_0_ROW_0 = 0.1 0.2 0.3 0.4 -PC_VARIATION_CORRECTION_UNC_0_ROW_1 = 1.1 1.2 1.3 1.4 -PC_VARIATION_CORRECTION_UNC_0_ROW_2 = 2.1 2.2 2.3 2.4 - -SIGNAL_GAIN_CORRECTION_0_ROW_0 = 9.8 8.7 7.6 6.5 -SIGNAL_GAIN_CORRECTION_0_ROW_1 = 5.4 4.3 3.2 2.1 -SIGNAL_GAIN_CORRECTION_0_ROW_2 = 1.3 2.4 3.5 4.6 - -SIGNAL_GAIN_CORRECTION_UNC_0_ROW_0 = 0.11 0.22 0.33 0.44 -SIGNAL_GAIN_CORRECTION_UNC_0_ROW_1 = 0.55 0.66 0.77 0.88 -SIGNAL_GAIN_CORRECTION_UNC_0_ROW_2 = 0.91 0.92 0.93 0.94 - - -CARRIER_FREQUENCY_1 = 1227.6 - -PC_OFFSET_1 = 3.4 0.2 5.6 0.3 1.2 0.1 - -NUMBER_OF_ROWS_1 = 4 -NUMBER_OF_COLUMNS_1 = 2 -NUMBER_OF_ROWS_SGC_1 = 3 -NUMBER_OF_COLUMNS_SGC_1 = 4 - -PC_VARIATION_CORRECTION_1_ROW_0 = 55.66 77.88 -PC_VARIATION_CORRECTION_1_ROW_1 = 11.22 33.44 -PC_VARIATION_CORRECTION_1_ROW_2 = 56.6 78.8 -PC_VARIATION_CORRECTION_1_ROW_3 = 12.2 34.4 - -PC_VARIATION_CORRECTION_UNC_1_ROW_0 = 0.3 0.4 -PC_VARIATION_CORRECTION_UNC_1_ROW_1 = 1.1 1.2 -PC_VARIATION_CORRECTION_UNC_1_ROW_2 = 2.1 2.2 -PC_VARIATION_CORRECTION_UNC_1_ROW_3 = 0.1 0.2 - -SIGNAL_GAIN_CORRECTION_1_ROW_0 = 7.6 6.5 5.4 4.3 -SIGNAL_GAIN_CORRECTION_1_ROW_1 = 1.3 2.4 9.8 8.7 -SIGNAL_GAIN_CORRECTION_1_ROW_2 = 1.4 2.5 3.6 4.7 - -SIGNAL_GAIN_CORRECTION_UNC_1_ROW_0 = 0.91 0.92 0.55 0.66 -SIGNAL_GAIN_CORRECTION_UNC_1_ROW_1 = 0.11 0.22 0.93 0.94 -SIGNAL_GAIN_CORRECTION_UNC_1_ROW_2 = 0.95 0.96 0.33 0.44 diff --git a/gps/gps.conf b/gps/gps.conf deleted file mode 100644 index c5e9dd1..0000000 --- a/gps/gps.conf +++ /dev/null @@ -1,391 +0,0 @@ -# Error Estimate -# _SET = 1 -# _CLEAR = 0 -ERR_ESTIMATE=0 - -#NTP server -NTP_SERVER=time.xtracloud.net - -#XTRA CA path -XTRA_CA_PATH=/usr/lib/ssl-1.1/certs - -# DEBUG LEVELS: 0 - none, 1 - Error, 2 - Warning, 3 - Info -# 4 - Debug, 5 - Verbose -# If DEBUG_LEVEL is commented, Android's logging levels will be used -DEBUG_LEVEL = 2 - -# Intermediate position report, 1=enable, 0=disable -INTERMEDIATE_POS=0 - -# supl version 2.0 -SUPL_VER=0x20000 - -# Emergency SUPL, 1=enable, 0=disable -#SUPL_ES=1 - -#Choose PDN for Emergency SUPL -#1 - Use emergency PDN -#0 - Use regular SUPL PDN for Emergency SUPL -#USE_EMERGENCY_PDN_FOR_EMERGENCY_SUPL=0 - -#SUPL_MODE is a bit mask set in config.xml per carrier by default. -#If it is uncommented here, this value will overwrite the value from -#config.xml. -#MSA=0X2 -#MSB=0X1 -SUPL_MODE=3 - -# GPS Capabilities bit mask -# SCHEDULING = 0x01 -# MSB = 0x02 -# MSA = 0x04 -# ON_DEMAND_TIME = 0x10 -# default = ON_DEMAND_TIME | MSA | MSB | SCHEDULING -CAPABILITIES=0x17 - -# Accuracy threshold for intermediate positions -# less accurate positions are ignored, 0 for passing all positions -# ACCURACY_THRES=5000 - -################################ -##### AGPS server settings ##### -################################ - -# FOR SUPL SUPPORT, set the following -SUPL_HOST=supl.google.com -SUPL_PORT=7275 - -# FOR MO SUPL SUPPORT, set the following -# MO_SUPL_HOST=supl.host.com or IP -# MO_SUPL_PORT=1234 - -# FOR C2K PDE SUPPORT, set the following -# C2K_HOST=c2k.pde.com or IP -# C2K_PORT=1234 - -# Bitmask of slots that are available -# for write/install to, where 1s indicate writable, -# and the default value is 0 where no slots -# are writable. For example, AGPS_CERT_WRITABLE_MASK -# of b1000001010 makes 3 slots available -# and the remaining 7 slots unwritable. -#AGPS_CERT_WRITABLE_MASK=0 - -#################################### -# LTE Positioning Profile Settings -#################################### -# LPP_PROFILE is a bit mask -# 0: Enable RRLP on LTE(Default) -# 0x1: LPP User Plane -# 0x2: LPP Control Plane -# 0x4: LPP User Plane for NR5G -# 0x8: LPP Control Plane for NR5G -LPP_PROFILE = 3 - -#################################### -#Datum Type -#################################### -# 0: WGS-84 -# 1: PZ-90 -DATUM_TYPE = 0 - -################################ -# EXTRA SETTINGS -################################ -# NMEA provider (1=Modem Processor, 0=Application Processor) -NMEA_PROVIDER=0 - -################################ -# NMEA TAG BLOCK GROUPING -################################ -# NMEA tag block grouping is only applicable to GSA -# Default is disabled -# 0 - disabled -# 1 - enabled -NMEA_TAG_BLOCK_GROUPING_ENABLED = 0 - -# Customized NMEA GGA fix quality that can be used to tell -# whether SENSOR contributed to the fix. -# -# When this configuration item is not enabled (set to any value that is not 1), -# GGA fix quality conforms to NMEA standard spec as below: -# PPP/DGNSS/SBAS correction fix w/ or w/o sensor: 2 -# RTK fixed fix w/ or w/o sensor: 4 -# RTK float fix w/ or w/o sensor: 5 -# SPE fix w/ or w/o sensor: 1 -# Sensor dead reckoning fix: 6 -# -# When this configuration is enabled (set to 1), GGA fix quality -# will be output as below: -# PPP fix w/o sensor: 59, w/ sensor: 69 -# DGNSS/SBAS correction fix w/o sensor: 2, w/ sensor: 62 -# RTK fixed fix w/o sensor: 4, w/ sensor: 64 -# RTK float fix w/o sensor: 5, w/ sensor: 65, -# SPE fix w/o sensor: 1, and w/ sensor: 61 -# Sensor dead reckoning fix: 6 -# -# any value that is not 1 - disabled -# 1 - enabled -CUSTOM_NMEA_GGA_FIX_QUALITY_ENABLED = 0 - -################################ -# NMEA Reporting Rate Config, valid only when NMEA_PROVIDER is set to "0" -################################ -# NMEA Reporting Rate -# Set it to "1HZ" for 1Hz NMEA Reporting -# Set it to "NHZ" for NHz NMEA Reporting -#Default : NHZ (overridden by position update rate if set to lower rates) -NMEA_REPORT_RATE=NHZ - -# Mark if it is a SGLTE target (1=SGLTE, 0=nonSGLTE) -SGLTE_TARGET=0 - -################################################## -# Select Positioning Protocol on A-GLONASS system -################################################## -# 0x1: RRC CPlane -# 0x2: RRLP UPlane -# 0x4: LLP Uplane -A_GLONASS_POS_PROTOCOL_SELECT = 0 - -################################################## -# Select technology for LPPe Control Plane -################################################## -# 0x1: DBH for LPPe CP -# 0x2: WLAN AP Measurements for LPPe CP -# 0x4: SRN AP measurement for CP -# 0x8: Sensor Barometer Measurement LPPe CP -LPPE_CP_TECHNOLOGY = 0xb - -################################################## -# Select technology for LPPe User Plane -################################################## -# 0x1: DBH for LPPe UP -# 0x2: WLAN AP Measurements for LPPe UP -# 0x4: SRN AP measurement for UP -# 0x8: Sensor Barometer Measurement LPPe UP -#LPPE_UP_TECHNOLOGY = 0 - -################################################## -# AGPS_CONFIG_INJECT -################################################## -# enable/disable injection of AGPS configurations: -# SUPL_VER -# SUPL_HOST -# SUPL_PORT -# MO_SUPL_HOST -# MO_SUPL_PORT -# C2K_HOST -# C2K_PORT -# LPP_PROFILE -# A_GLONASS_POS_PROTOCOL_SELECT -# 0: disable -# 1: enable -AGPS_CONFIG_INJECT = 1 - -################################################## -# GNSS settings for automotive use cases -# Configurations in following section are -# specific to automotive use cases, others -# please do not change, keep the default values -################################################## - -# AP Coarse Timestamp Uncertainty -################################################## -# default : 10 -# AP time stamp uncertainty, until GNSS receiver -# is able to acquire better timing information -AP_TIMESTAMP_UNCERTAINTY = 10 - -##################################### -# DR_SYNC Pulse Availability -##################################### -# 0 : DR_SYNC pulse not available (default) -# 1 : DR_SYNC pulse available -# This configuration enables the driver to make use -# of PPS events generated by DR_SYNC pulse -# Standard Linux PPS driver needs to be enabled -DR_SYNC_ENABLED = 0 - -##################################### -# PPS Device name -##################################### -PPS_DEVICENAME = /dev/pps0 - -##################################### -# Ignore PPS at Startup and after long outage -##################################### -IGNORE_PPS_PULSE_COUNT = 1 - -##################################### -# Long GNSS RF outage in seconds -##################################### -GNSS_OUTAGE_DURATION = 10 - -##################################### -# AP Clock Accuracy -##################################### -# Quality of APPS processor clock (in PPM). -# Value specified is used for calculation of -# APPS time stamp uncertainty -AP_CLOCK_PPM = 100 - -##################################### -# MAX ms difference to detect missing pulse -##################################### -# Specifies time threshold in ms to validate any missing PPS pulses -MISSING_PULSE_TIME_DELTA = 900 - -##################################### -# Propagation time uncertainty -##################################### -# This settings enables time uncertainty propagation -# logic incase of missing PPS pulse -PROPAGATION_TIME_UNCERTAINTY = 1 - -####################################### -# APN / IP Type Configuration -# APN and IP Type to use for setting -# up WWAN call. -# Use below values for IP Type: -# v4 = 4 -# v6 = 6 -# v4v6 = 10 -####################################### -# INTERNET_APN = abc.xyz -# INTERNET_IP_TYPE = 4 -# SUPL_APN = abc.xyz -# SUPL_IP_TYPE = 4 - -##################################### -# Modem type -##################################### -# This setting configures modem type -# (external=0 or internal=1) -# comment out the next line to vote -# for the first modem in the list -MODEM_TYPE = 1 - -################################################## -# CONSTRAINED TIME UNCERTAINTY MODE -################################################## -# 0 : disabled (default) -# 1 : enabled -# This setting enables GPS engine to keep its time -# uncertainty below the specified constraint -#CONSTRAINED_TIME_UNCERTAINTY_ENABLED = 0 - -# If constrained time uncertainty mode is enabled, -# this setting specifies the time uncertainty -# threshold that gps engine need to maintain. -# In unit of milli-seconds. -# Default is 0.0 meaning that modem default value -# of time uncertainty threshold will be used. -#CONSTRAINED_TIME_UNCERTAINTY_THRESHOLD = 0.0 - -# If constrained time uncertainty mode is enabled, -# this setting specifies the power budget that -# gps engine is allowed to spend to maintain the time -# uncertainty. -# Default is 0 meaning that GPS engine is not constained -# by power budget and can spend as much power as needed. -# In unit of 0.1 milli watt second. -#CONSTRAINED_TIME_UNCERTAINTY_ENERGY_BUDGET = 0 - -################################################## -# POSITION ASSISTED CLOCK ESTIMATOR -################################################## -# 0 : disabled (default) -# 1 : enabled -# This setting enables GPS engine to estimate clock -# bias and drift when the signal from at least 1 -# SV is available and the UEs position is known by -# other position engines. -#POSITION_ASSISTED_CLOCK_ESTIMATOR_ENABLED = 0 - -##################################### -# proxyAppPackageName -##################################### -# This is a string that is sent to the framework -# in nfwNotifyCb callback -PROXY_APP_PACKAGE_NAME = com.oneplus.carrierlocation - -##################################### -# CP_MTLR_ES -##################################### -# CP MTLR ES, 1=enable, 0=disable -CP_MTLR_ES=0 - -################################################## -# GNSS_DEPLOYMENT -################################################## -# 0 : Enable QTI GNSS (default) -# 1 : Enable QCSR SS5 -# 2 : Enable PDS API -# This setting use to select between QTI GNSS, -# QCSR SS5 hardware receiver, and PDS API. -# By default QTI GNSS receiver is enabled. -# GNSS_DEPLOYMENT = 0 - -################################################## -## LOG BUFFER CONFIGURATION -################################################## -#LOG_BUFFER_ENABLED, 1=enable, 0=disable -#*_LEVEL_TIME_DEPTH, maximum time depth of level * -#in log buffer, unit is second -#*_LEVEL_MAX_CAPACITY, maximum numbers of level * -#log print sentences in log buffer -LOG_BUFFER_ENABLED = 0 -E_LEVEL_TIME_DEPTH = 600 -E_LEVEL_MAX_CAPACITY = 50 -W_LEVEL_TIME_DEPTH = 500 -W_LEVEL_MAX_CAPACITY = 100 -I_LEVEL_TIME_DEPTH = 400 -I_LEVEL_MAX_CAPACITY = 200 -D_LEVEL_TIME_DEPTH = 30 -D_LEVEL_MAX_CAPACITY = 300 -V_LEVEL_TIME_DEPTH = 200 -V_LEVEL_MAX_CAPACITY = 400 - -################################################## -# Allow buffer diag log packets when diag memory allocation -# fails during boot up time. -################################################## -BUFFER_DIAG_LOGGING = 1 - -####################################### -# NTRIP CLIENT LIBRARY NAME -####################################### -# NTRIP_CLIENT_LIB_NAME = - -################################################## -# Correction Data Framework settings -# Default values: -# CDFW_SOURCE_PRIORITY_1 = INTERNAL_1 RTCM -# CDFW_INJECT_DATA_INTERVAL = 600000 //10 mins -# CDFW_RTCM_MESSAGE_INTERVAL = 1000 //1 second -# -# If multiple sources coexist on a PL, -# the prorioty sequence can be set by the integer number. -# PRIORITY_1 is higher than PRIORITY_2, for example, -# CDFW_SOURCE_PRIORITY_1 = INTERNAL_1 RTCM -# CDFW_SOURCE_PRIORITY_2 = CV2X RTCM -################################################## - -################################################## -# RF LOSS -# The loss in 0.1 dbHz from the C/N0 at the antenna port -# These values must be configured by OEM if not -# supported in QMI LOC message -# There is one entry for each signal type -################################################## -RF_LOSS_GPS = 0 -RF_LOSS_GPS_L5 = 0 -RF_LOSS_GLO_LEFT = 0 -RF_LOSS_GLO_CENTER = 0 -RF_LOSS_GLO_RIGHT = 0 -RF_LOSS_BDS = 0 -RF_LOSS_BDS_B2A = 0 -RF_LOSS_GAL = 0 -RF_LOSS_GAL_E5 = 0 -RF_LOSS_NAVIC = 0 diff --git a/gps/izat.conf b/gps/izat.conf deleted file mode 100644 index e236d24..0000000 --- a/gps/izat.conf +++ /dev/null @@ -1,277 +0,0 @@ -######################################### -# Log verbosity control for izat modules -######################################### -# OFF = 0, ERROR = 1, WARNING = 2, INFO = 3, DEBUG = 4, VERBOSE = 5 -IZAT_DEBUG_LEVEL = 2 - -################################################## -# Select WIFI Wait Timeout value in seconds for SUPL -################################################## -WIFI_WAIT_TIMEOUT_SELECT = 0 - -################################################## -# Time interval of injecting SRN scan data to modem -# time in seconds. -# Note: recommended value is between 1-5 sec -################################################## -LPPE_SRN_DATA_SCAN_INJECT_TIME=2 - -################################ -# NLP Settings -################################ -# NLP_MODE 1: OSNLP Only, 2: QNP Only, 3: Combo, 4: QNP preferred -# For Automotive products, please use NLP_MODE = 4 only. -# NLP_TOLERANCE_TIME_FIRST: Time in ms used in Combo mode -# to determine how much Tolerance for first position -# NLP_TOLERANCE_TIME_AFTER: Time in ms used in Combo mode -# to determine how much Tolerance for positions after first -# NLP_THRESHOLD: Sets how many failures needed before -# switching preferred NLP in Combo mode -# NLP_ACCURACY_MULTIPLE: Determines how far off the accuracy -# must be, in multiples, between two NLP location reports to -# be considered much worse accuracy. Used in switching logic -# NLP COMBO MODE USES QNP WITH NO EULA CONSENT: Determines -# whether or not to still send network location requests to -# QNP when the EULA is not consented to by the user. QNP can -# still return ZPP locations or injected locations even -# without EULA consent, but the uncertainty can be high. -# QNP preferred mode prefers QNP when there is EULA consent, -# otherwise OSNLP is used. -NLP_MODE = 1 -NLP_MODE_EMERGENCY = 2 -NLP_TOLERANCE_TIME_FIRST = 5000 -NLP_TOLERANCE_TIME_AFTER = 20000 -NLP_THRESHOLD = 3 -NLP_ACCURACY_MULTIPLE = 2 -NLP_COMBO_MODE_USES_QNP_WITH_NO_EULA_CONSENT = 1 - -######################################### -# NLP PACKAGE SETTINGS -######################################### -# OSNLP_PACKAGE: name of default NLP package -OSNLP_PACKAGE = com.google.android.gms -# REGION_OSNLP_PACKAGE: -# This value will be used as alternative -# for particular region where default NLP is not functional. -#REGION_OSNLP_PACKAGE = - -################################### -# GEOFENCE SERVICES -################################### -# If set to one of the defined values below, it will override -# the responsiveness for geofence services, which implements -# the Proximity Alert API. If not set to a value defined below, -# which is default, it will not override the responsivness. -# The geofence HAL API is unaffected by this value. -# GEOFENCE_SERVICES_RESPONSIVENESS_OVERRIDE Values: -# 1: LOW responsiveness -# 2: MEDIUM responsiveness -# 3: HIGH responsiveness -GEOFENCE_SERVICES_RESPONSIVENESS_OVERRIDE = 0 - -##################################### -#GTP Opt-In app -##################################### - -#GTP privacy policy version url -#https support is required -GTP_PRIVACY_VERSION_URL = https://info.izatcloud.net/privacy/version.html - -#GTP privacy policy version download retry interval -#unit is second. default is 86400 -GTP_PRIVACY_RETRY_INTERVAL = 86400 - -##################################### -# IZAT PREMIUM FEATURE SETTINGS -##################################### -#Possible states of a feature: -#DISABLED -#BASIC -#PREMIUM - -#GTP_MODE valid modes: -# DISABLED -# LEGACY_WWAN -# SDK (WWAN not available for Modems before LocTech 10.0) -# SDK_WIFI (WWAN provided by legacy Modem) -GTP_MODE=DISABLED - -#GTP_WAA valid modes: -# DISABLED -# BASIC -GTP_WAA=DISABLED - -#SAP valid modes: -# DISABLED -# BASIC -# PREMIUM -# PREMIUM_ENV_AIDING -# MODEM_DEFAULT -SAP=PREMIUM - -#FREE_WIFI_SCAN_INJECT valid modes: -#DISABLED -#BASIC -FREE_WIFI_SCAN_INJECT=BASIC - -#SUPL_WIFI valid modes: -#DISABLED -#BASIC -SUPL_WIFI=BASIC - -#WIFI_SUPPLICANT_INFO valid modes: -#DISABLED -#BASIC -WIFI_SUPPLICANT_INFO=BASIC - -##################################### -# Location process launcher settings -##################################### - -# DO NOT MODIFY -# Modifying below attributes without -# caution can have serious implications. - -#Values for PROCESS_STATE: -# ENABLED -# DISABLED - -#Values for LOW_RAM_TARGETS: -# ENABLED -# DISABLED -# Property to enable/disable processes for low ram targets. Uses ro.config.low_ram property -# to identify low ram targets. - -#PROCESS_NAME -# Name of the executable file. - -#FEATURE MASKS: -# GTP-WIFI 0X03 -# GTP-MP-CELL 0xc00 -# GTP-WAA 0x100 -# SAP 0Xc0 -# ODCPI 0x1000 -# FREE_WIFI_SCAN_INJECT 0x2000 -# SUPL_WIFI 0x4000 -# WIFI_SUPPLICANT_INFO 0x8000 - -#Values for PLATFORMS can be: -#1. Any valid values obtained from ro.board.platform separated by single space. For example: msm8960 msm8226 -#2. 'all' or 'all exclude' -> for All platforms -#3. 'all exclude XXXX' -> All platforms exclude XXXX. For example: all exclude msm8937 - -#Values for SOC_IDS can be: -#1. Any valid values obtained from soc_id node separated by single space. For example: 339 386 436 -## soc_id value can be obtained from any one of below node: -## - /sys/devices/soc0/soc_id -## - /sys/devices/system/soc/soc0/id -#2. 'all' or 'all exclude' -> for All soc id's -#3. 'all exclude XXXX' -> All soc id's exclude XXXX. For example: all exclude 339 386 - -#Values for BASEBAND can be: -#1. Any valid values obtained from ro.baseband separated by single space. For example: sglte sglte2 -#2. 'all' or 'all exclude' -> for all basebands -#3. 'all exclude XXXX' -> All basebands exclude XXXX. For example: all exclude sglte -PROCESS_NAME=lowi-server -PROCESS_ARGUMENT= -PROCESS_STATE=ENABLED -PROCESS_GROUPS=gps wifi inet oem_2901 -PREMIUM_FEATURE=0 -IZAT_FEATURE_MASK=0xf303 -PLATFORMS=all -SOC_IDS=all -BASEBAND=all -LOW_RAM_TARGETS=DISABLED -HARDWARE_TYPE=all -VENDOR_ENHANCED_PROCESS=0 - -PROCESS_NAME=xtwifi-inet-agent -PROCESS_ARGUMENT= -PROCESS_STATE=ENABLED -PROCESS_GROUPS=inet gps -PREMIUM_FEATURE=1 -IZAT_FEATURE_MASK=0xc03 -PLATFORMS=all -SOC_IDS=all exclude 386 436 -BASEBAND=all -LOW_RAM_TARGETS=DISABLED -HARDWARE_TYPE=all -VENDOR_ENHANCED_PROCESS=1 - -PROCESS_NAME=xtwifi-client -PROCESS_ARGUMENT= -PROCESS_STATE=ENABLED -PROCESS_GROUPS=wifi inet gps system oem_2904 -PREMIUM_FEATURE=1 -IZAT_FEATURE_MASK=0xd03 -PLATFORMS=all -SOC_IDS=all exclude 386 436 -BASEBAND=all -LOW_RAM_TARGETS=DISABLED -HARDWARE_TYPE=all -VENDOR_ENHANCED_PROCESS=1 - -PROCESS_NAME=slim_daemon -PROCESS_ARGUMENT= -PROCESS_STATE=DISABLED -PROCESS_GROUPS=gps oem_2901 can plugdev diag sensors -PREMIUM_FEATURE=1 -IZAT_FEATURE_MASK=0xf0 -PLATFORMS=all -SOC_IDS=all exclude 386 436 -BASEBAND=all -LOW_RAM_TARGETS=DISABLED -HARDWARE_TYPE=all -VENDOR_ENHANCED_PROCESS=1 - -PROCESS_NAME=xtra-daemon -PROCESS_ARGUMENT= -PROCESS_STATE=ENABLED -PROCESS_GROUPS=inet gps system -PREMIUM_FEATURE=0 -IZAT_FEATURE_MASK=0 -PLATFORMS=all -SOC_IDS=all -BASEBAND=all -LOW_RAM_TARGETS=ENABLED -HARDWARE_TYPE=all -VENDOR_ENHANCED_PROCESS=0 - -######################################## -# Engine Service which host DRE module # -# To enable DRE engine service, change # -# PROCESS_STATE=ENABLED # -######################################## -PROCESS_NAME=engine-service -PROCESS_ARGUMENT=DRE-INT libloc_epDr.so -PROCESS_STATE=DISABLED -PROCESS_GROUPS=gps diag inet qwes oem_2901 system -PREMIUM_FEATURE=0 -IZAT_FEATURE_MASK=0 -PLATFORMS=all -SOC_IDS=all -BASEBAND=all -LOW_RAM_TARGETS=DISABLED -HARDWARE_TYPE=all -VENDOR_ENHANCED_PROCESS=1 - -######################################## -# Engine Service which host PPE module # -# To enable PPE engine service, change # -# PROCESS_STATE=ENABLED # -# and update process arugements # -# with PPE library name # -#PROCESS_ARGUMENT=PPE libepsimulator.so# -######################################## -PROCESS_NAME=engine-service -PROCESS_ARGUMENT=PPE libepsimulator.so -PROCESS_STATE=DISABLED -PROCESS_GROUPS=gps diag inet qwes oem_2901 system -PREMIUM_FEATURE=0 -IZAT_FEATURE_MASK=0 -PLATFORMS=all -SOC_IDS=all -BASEBAND=all -LOW_RAM_TARGETS=DISABLED -HARDWARE_TYPE=all -VENDOR_ENHANCED_PROCESS=1 diff --git a/gps/lowi.conf b/gps/lowi.conf deleted file mode 100644 index 6d4de75..0000000 --- a/gps/lowi.conf +++ /dev/null @@ -1,27 +0,0 @@ -#*====*====*====*====*====*====*====*====*====*====*====*====*====*====*====* -# -# LOWI Config file - default -# -# GENERAL DESCRIPTION -# This file contains the config params for LOWI -# -# Copyright (c) 2019 Qualcomm Technologies, Inc. -# All Rights Reserved. -# Confidential and Proprietary - Qualcomm Technologies, Inc. -# -# 2012-2013 Qualcomm Atheros, Inc. -# All Rights Reserved. -# Qualcomm Atheros Confidential and Proprietary. -# -# Export of this technology or software is regulated by the U.S. Government. -# Diversion contrary to U.S. law prohibited. -#=============================================================================*/ - -# X86 ONLY - UBUNTU: -# Copy this file in the same directory where the executable is - -# Log level -# EL_LOG_OFF = 0, EL_ERROR = 1, EL_WARNING = 2, EL_INFO = 3, EL_DEBUG = 4, EL_VERBOSE = 5, EL_LOG_ALL = 100 -LOWI_LOG_LEVEL = 2 -LOWI_USE_LOWI_LP = 0 - diff --git a/gps/sap.conf b/gps/sap.conf deleted file mode 100644 index e8d27b7..0000000 --- a/gps/sap.conf +++ /dev/null @@ -1,179 +0,0 @@ -################################ -# Sensor Settings -################################ -#The following parameters are optional. -#Internal defaults support MEMS sensors -#native to most handset devices. -#Device specific sensor characterization -#for improved performance is possible as -#described in SAP application notes. -#GYRO_BIAS_RANDOM_WALK= -#ACCEL_RANDOM_WALK_SPECTRAL_DENSITY= -#ANGLE_RANDOM_WALK_SPECTRAL_DENSITY= -#RATE_RANDOM_WALK_SPECTRAL_DENSITY= -#VELOCITY_RANDOM_WALK_SPECTRAL_DENSITY= - -# DEBUG LEVELS: 0 - none, 1 - Error, 2 - Warning, 3 - Info -# 4 - Debug, 5 - Verbose -# If DEBUG_LEVEL is commented, Android's logging levels will be used -DEBUG_LEVEL = 0 -# Sensor Sampling Rate Parameters for Low-Data Rate Filter (should be greater than 0) -# used in loc_eng_reinit -SENSOR_ACCEL_BATCHES_PER_SEC=2 -SENSOR_ACCEL_SAMPLES_PER_BATCH=5 -SENSOR_GYRO_BATCHES_PER_SEC=2 -SENSOR_GYRO_SAMPLES_PER_BATCH=5 -# Sensor Sampling Rate Parameters for High-Data Rate Filter (should be greater than 0) -SENSOR_ACCEL_BATCHES_PER_SEC_HIGH=4 -SENSOR_ACCEL_SAMPLES_PER_BATCH_HIGH=25 -SENSOR_GYRO_BATCHES_PER_SEC_HIGH=4 -SENSOR_GYRO_SAMPLES_PER_BATCH_HIGH=25 - -# Sensor Control Mode (0=AUTO, 1=FORCE_ON, 2=MODEM_DEFAULT) -# used in loc_eng_reinit -SENSOR_CONTROL_MODE=2 - -# Bit mask used to define which sensor algorithms are used. -# Setting each bit has the following definition: -# 0x1 - DISABLE_INS_POSITIONING_FILTER -# 0x0 - ENABLE_INS_POSITIONING_FILTER -SENSOR_ALGORITHM_CONFIG_MASK=0x0 - -#Vehicle Network Provider configuration - -#Service configuration strings -#The number before colon in VN_X items defines version of the format of the rest of the string -#VN_ACCEL_CFG=0:5 -#VN_GYRO_CFG=0:5.5 -#VN_ODOMETRY_CFG=0:2,4.5 - -################################################ -# QDR3 configurations # -################################################ -#VN_SPEED_CFG=1:131,5,8,1,2,3,1,1,9,2,14,2 -#VN_GEAR_CFG=1:422,20,4,0,4,1,9,0,1,2,3,4,5,6,7,8 -VN_SPEED_CFG=1:777,0,0,1,3,1,0.002778,0,40,8,32,8 -VN_GEAR_CFG=1:422,20,4,0,4,1,9,0,1,2,3,4,5,6,7,8 - -################################################ -# QDR2-Gyro configurations # -################################################ -#VN_GYRO_CFG=1:555,0,1,0,0,0,0,-6.5,6.6066,-6.5,-1.00,2,6.607,6.6068,0,0,16,0.0002,0,16,0.0002,0,16,0.0002 -#VN_SPEED_CFG=1:555,0,0,1,2,1,0.01,0,56,8,48,8 -#VN_GEAR_CFG=1:555,16,4,0,1,1,9,0,1,2,3,4,5,6,7,8 - -################################################ -# QDR2-DWT configurations # -################################################ -#VN_SPEED_CFG=1:555,22,1,2,1,1,1,0,8,8,23,1,2,0,1,0,8,8,23,1 -#VN_GEAR_CFG=1:555,12,4,16,14,16,8,1,2,3,4,5,6,7,8 -#VN_DWS_CFG=1:555,0,0,1,3,1,1,0,0,8,0,0,8,8,0,0,16,8,0,0,24,8,0,0 -#VN_GYRO_CFG=1:555,40,16,1.0,40,16,1.0,40,16,1.0 - -##################################################################################### -# VNW service batching configuration strings # -# VNW provider will initialize default type as Time based batching # -# Each service batch value is configured to be 100 # -# VN_ACCEL_CFG_BATCH_VALUE will be treated as time in Ms if VN_CFG_BATCH_TYPE # -# is set to time based batching # -# VN_ACCEL_CFG_BATCH_VALUE will be treated as sample count if VN_CFG_BATCH_TYPE # -# is set to count based batching # -# Uncomment and update batch time /sample count as per selected batching type # -##################################################################################### -# Batching type -# 1 - Time based (default) -# 2 - Count based -VN_CFG_BATCH_TYPE=1 - -#Vehicle Accel batching value, it can either accept time in milli seconds or sample count -#VN_ACCEL_CFG_BATCH_VALUE=100 - -#Vehicle Gyro batching value, it can either accept time in milli seconds or sample count -VN_GYRO_CFG_BATCH_VALUE=50 - -#Vehicle Odo batching value, it can either accept time in milli seconds or sample count -#VN_ODOMETRY_CFG_BATCH_VALUE=100 - -#Vehicle Speed batching value, it can either accept time in milli seconds or sample count -VN_SPEED_CFG_BATCH_VALUE=50 - -#Vehicle Gear batching value, it can either accept time in milli seconds or sample count -VN_GEAR_CFG_BATCH_VALUE=50 - -#Vehicle DWS batching value, it can either accept time in milli seconds or sample count -#VN_DWS_CFG_BATCH_VALUE=100 -#################################################################################### - -#Procesors clock ratio: AP and CAN bus microcontroller -################################################ -# QDR3 configurations # -################################################ -VN_PROC_CLOCK_RATIO=1.0 - -################################################ -# QDR2-DWT OR QDR2-Gyro configurations # -################################################ -#VN_PROC_CLOCK_RATIO = 1.0 - -# Time source used by Sensor HAL -# Setting this value controls accuracy of location sensor services. -# 0 - Unknown -# 1 - CLOCK_BOOTTIME -# 2 - CLOCK_MONOTONIC -# 3 - CLOCK_REALTIME -# 4 - CLOCK_BOOTTIME using Alarm timer interface -NDK_PROVIDER_TIME_SOURCE=1 - -# Sensor Batching Configuration -# 0 - Time based -# 1 - Fixed count based -# 2 - Variable count based -COUNT_BASED_BATCHING=1 -SYNC_ONCE=0 - -# Vehicle Network Data optimization -# Default value: 0 -# Value 0x40000 - Speed(bit 18 eSLIM_SERVICE_VEHICLE_SPEED) -# Value 0x80000 - Speed(bit 19 eSLIM_SERVICE_VEHICLE_DWS) -# Value 0x100000 - Speed(bit 20 eSLIM_SERVICE_VEHICLE_GEAR) -VN_ENABLE_DATA_OPTIMIZATION=0x100000 - -# Vehicle Network Data Routing time interval -# This is applicable only if VN_ENABLE_DATA_OPTIMIZATION value is set -# Default value: 5000 msec -VN_DATA_ROUTING_TIME_INTERVAL_MSEC=3000 - -#Sensor HAL Provider Configuration HAL Library name including path -################################################ -# # -# Configuration for BMI 160 Sensor # -# # -################################################ -#SENSOR_TYPE=2 -#SENSOR_HAL_LIB_PATH=/usr/lib/libbmi160sensors.so.1 - -################################################ -# # -# Configuration for ASM330 Sensor # -# # -################################################ -SENSOR_TYPE=1 -SENSOR_HAL_LIB_PATH=/usr/lib/libasm330sensors.so.1 - - -################################################ -# # -# Configuration for IAM20680 Sensor # -# # -################################################ -#SENSOR_TYPE=3 -#SENSOR_HAL_LIB_PATH=/usr/lib/libiam20680sensors.so.1 - - -################################################ -# # -# Configuration for SMI130 Sensor # -# # -################################################ -#SENSOR_TYPE=4 -#SENSOR_HAL_LIB_PATH=/usr/lib/libsmi130sensors.so.1 diff --git a/gps/xtwifi.conf b/gps/xtwifi.conf deleted file mode 100644 index 5d7df9e..0000000 --- a/gps/xtwifi.conf +++ /dev/null @@ -1,78 +0,0 @@ -#GTP AP Project client core config file -# -#GENERAL DESCRIPTION -#This is used by client core -# -#Copyright (c) 2012-2014 Qualcomm Atheros, Inc. -#All Rights Reserved. -#Qualcomm Atheros Confidential and Proprietary. -# -#Copyright (c) 2017 Qualcomm Technologies, Inc. -#All Rights Reserved. -#Confidential and Proprietary - Qualcomm Technologies, Inc. - -############################################################################## -# non-IOT devices configuration items # -# For non-IOT devices, configure below configuration items # -# according to the app note: 80-NK218-1 and remove the configuration items # -# in section of "IOT devices configuration items". # -############################################################################## - -# ASN URI v2 to be used by some GTP AP modules that -# need to run with ASN URI v2 protocol. -XT_SERVER_ROOT_URL = https://gtp1.izatcloud.net:443/uds/v2 - -# ASN URI v3 to be used by GTP AP modules that -# can support ASN URI v3 protocol. -XT_SERVER_ROOT_URL_V3 = https://gtp1.izatcloud.net:443/uds/v3 - -# size, in bytes, of the cache on device -SIZE_BYTE_TOTAL_CACHE = 5000000 - -############################################################################## -# IOT devices configuration items # -# For IOT devices, configure below configuration items # -# according to the app note and remove the configuration items in section of # -# "non-IOT devices configuration items". # -############################################################################## - -# ASN URI v3 to be used by GTP AP modules that -# can support ASN URI v3 protocol. -# XT_SERVER_ROOT_URL_V3 = https://gtpma1.izatcloud.net:443/uds/v3 - -# 3: Wi-Fi APDB injection via Izat SDK. GTP server is not accessed -# for any GTP requests, instead notification is sent to Izat SDK. -# WiFi crowdsourcing module is disabled. -# 4: Wi-Fi APDB injection via Izat SDK. GTP server is not accessed -# for any GTP requests, instead notification is sent to Izat SDK. -# WiFi crowdsourcing module is active, also accessed via Izat SDK. -# GTP_AP_MODE = 4 - -# 1: MP cell features relies on GTP AP for either download or upload -# 0: MP cell features does not rely on GTP AP -# GTP_AP_NEEDED_BY_MP_CELL = 1 - -############################################################################## -# Configuration items applicable to all devices # -############################################################################## - -# Log verbosity control for most of the GTP WiFi system, including native and -# Java componenets -# OFF = 0, ERROR = 1, WARNING = 2, INFO = 3, DEBUG = 4, VERBOSE = 5, ALL = 100 -DEBUG_GLOBAL_LOG_LEVEL = 2 - -# this is used at the server side to distinguish uploads from different maker/model -# default "Qualcomm" -OEM_ID_IN_REQUEST_TO_SERVER = "Qualcomm" - -# this is used at the server side to distinguish uploads from different maker/model -# default "UNKNOWN" -MODEL_ID_IN_REQUEST_TO_SERVER = "UNKNOWN" - -############################################################################## -# Qualcomm Network Location Provider config # -############################################################################## - -# Accuracy Threshold for NLP position. Position exceeds thsi threshold will be filtered out. -# Default is 25000 meters. -LARGE_ACCURACY_THRESHOLD_TO_FILTER_NLP_POSITION = 25000 diff --git a/gpt-utils/Android.bp b/gpt-utils/Android.bp deleted file mode 100644 index ca01f22..0000000 --- a/gpt-utils/Android.bp +++ /dev/null @@ -1,41 +0,0 @@ -// -// Copyright (C) 2018 The Android Open Source Project -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - - -cc_library { - name: "libgptutils.oneplus_holi", - vendor: true, - recovery_available: true, - shared_libs: [ - "libcutils", - "liblog", - "libz", - ], - cflags: [ - "-Wall", - "-Werror", - "-D_BSG_FRAMEWORK_KERNEL_HEADERS", - ], - srcs: [ - "gpt-utils.cpp", - "recovery-ufs-bsg.cpp", - ], - owner: "qti", - header_libs: [ - "generated_kernel_headers", - ], - export_include_dirs: ["."], -} diff --git a/gpt-utils/gpt-utils.cpp b/gpt-utils/gpt-utils.cpp deleted file mode 100644 index 58fc93a..0000000 --- a/gpt-utils/gpt-utils.cpp +++ /dev/null @@ -1,1519 +0,0 @@ -/* - * Copyright (c) 2013,2016,2020 The Linux Foundation. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials provided - * with the distribution. - * * Neither the name of The Linux Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR - * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE - * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN - * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#define _LARGEFILE64_SOURCE /* enable lseek64() */ - -/****************************************************************************** - * INCLUDE SECTION - ******************************************************************************/ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#ifndef __STDC_FORMAT_MACROS -#define __STDC_FORMAT_MACROS -#endif -#include - - -#define LOG_TAG "gpt-utils" -#include -#include -#include "gpt-utils.h" -#include -#include - - -/****************************************************************************** - * DEFINE SECTION - ******************************************************************************/ -#define BLK_DEV_FILE "/dev/block/mmcblk0" -/* list the names of the backed-up partitions to be swapped */ -/* extension used for the backup partitions - tzbak, abootbak, etc. */ -#define BAK_PTN_NAME_EXT "bak" -#define XBL_PRIMARY "/dev/block/bootdevice/by-name/xbl" -#define XBL_BACKUP "/dev/block/bootdevice/by-name/xblbak" -#define XBL_AB_PRIMARY "/dev/block/bootdevice/by-name/xbl_a" -#define XBL_AB_SECONDARY "/dev/block/bootdevice/by-name/xbl_b" -/* GPT defines */ -#define MAX_LUNS 26 -//This will allow us to get the root lun path from the path to the partition. -//i.e: from /dev/block/sdaXXX get /dev/block/sda. The assumption here is that -//the boot critical luns lie between sda to sdz which is acceptable because -//only user added external disks,etc would lie beyond that limit which do not -//contain partitions that interest us here. -#define PATH_TRUNCATE_LOC (sizeof("/dev/block/sda") - 1) - -//From /dev/block/sda get just sda -#define LUN_NAME_START_LOC (sizeof("/dev/block/") - 1) -#define BOOT_LUN_A_ID 1 -#define BOOT_LUN_B_ID 2 -/****************************************************************************** - * MACROS - ******************************************************************************/ - - -#define GET_4_BYTES(ptr) ((uint32_t) *((uint8_t *)(ptr)) | \ - ((uint32_t) *((uint8_t *)(ptr) + 1) << 8) | \ - ((uint32_t) *((uint8_t *)(ptr) + 2) << 16) | \ - ((uint32_t) *((uint8_t *)(ptr) + 3) << 24)) - -#define GET_8_BYTES(ptr) ((uint64_t) *((uint8_t *)(ptr)) | \ - ((uint64_t) *((uint8_t *)(ptr) + 1) << 8) | \ - ((uint64_t) *((uint8_t *)(ptr) + 2) << 16) | \ - ((uint64_t) *((uint8_t *)(ptr) + 3) << 24) | \ - ((uint64_t) *((uint8_t *)(ptr) + 4) << 32) | \ - ((uint64_t) *((uint8_t *)(ptr) + 5) << 40) | \ - ((uint64_t) *((uint8_t *)(ptr) + 6) << 48) | \ - ((uint64_t) *((uint8_t *)(ptr) + 7) << 56)) - -#define PUT_4_BYTES(ptr, y) *((uint8_t *)(ptr)) = (y) & 0xff; \ - *((uint8_t *)(ptr) + 1) = ((y) >> 8) & 0xff; \ - *((uint8_t *)(ptr) + 2) = ((y) >> 16) & 0xff; \ - *((uint8_t *)(ptr) + 3) = ((y) >> 24) & 0xff; - -/****************************************************************************** - * TYPES - ******************************************************************************/ -using namespace std; -enum gpt_state { - GPT_OK = 0, - GPT_BAD_SIGNATURE, - GPT_BAD_CRC -}; -//List of LUN's containing boot critical images. -//Required in the case of UFS devices -struct update_data { - char lun_list[MAX_LUNS][PATH_MAX]; - uint32_t num_valid_entries; -}; - -int32_t set_boot_lun(char *sg_dev,uint8_t boot_lun_id); -/****************************************************************************** - * FUNCTIONS - ******************************************************************************/ -/** - * ========================================================================== - * - * \brief Read/Write len bytes from/to block dev - * - * \param [in] fd block dev file descriptor (returned from open) - * \param [in] rw RW flag: 0 - read, != 0 - write - * \param [in] offset block dev offset [bytes] - RW start position - * \param [in] buf Pointer to the buffer containing the data - * \param [in] len RW size in bytes. Buf must be at least that big - * - * \return 0 on success - * - * ========================================================================== - */ -static int blk_rw(int fd, int rw, int64_t offset, uint8_t *buf, unsigned len) -{ - int r; - - if (lseek64(fd, offset, SEEK_SET) < 0) { - fprintf(stderr, "block dev lseek64 %" PRIi64 " failed: %s\n", offset, - strerror(errno)); - return -1; - } - - if (rw) - r = write(fd, buf, len); - else - r = read(fd, buf, len); - - if (r < 0) - fprintf(stderr, "block dev %s failed: %s\n", rw ? "write" : "read", - strerror(errno)); - else - r = 0; - - return r; -} - - - -/** - * ========================================================================== - * - * \brief Search within GPT for partition entry with the given name - * or it's backup twin (name-bak). - * - * \param [in] ptn_name Partition name to seek - * \param [in] pentries_start Partition entries array start pointer - * \param [in] pentries_end Partition entries array end pointer - * \param [in] pentry_size Single partition entry size [bytes] - * - * \return First partition entry pointer that matches the name or NULL - * - * ========================================================================== - */ -static uint8_t *gpt_pentry_seek(const char *ptn_name, - const uint8_t *pentries_start, - const uint8_t *pentries_end, - uint32_t pentry_size) -{ - char *pentry_name; - unsigned len = strlen(ptn_name); - unsigned i; - char name8[MAX_GPT_NAME_SIZE] = {0}; // initialize with null - - for (pentry_name = (char *) (pentries_start + PARTITION_NAME_OFFSET); - pentry_name < (char *) pentries_end; - pentry_name += pentry_size) { - - /* Partition names in GPT are UTF-16 - ignoring UTF-16 2nd byte */ - for (i = 0; i < sizeof(name8) / 2; i++) - name8[i] = pentry_name[i * 2]; - name8[i] = '\0'; - - if (!strncmp(ptn_name, name8, len)) { - if (name8[len] == 0 || !strcmp(&name8[len], BAK_PTN_NAME_EXT)) - return (uint8_t *) (pentry_name - PARTITION_NAME_OFFSET); - } - } - - return NULL; -} - - - -/** - * ========================================================================== - * - * \brief Swaps boot chain in GPT partition entries array - * - * \param [in] pentries_start Partition entries array start - * \param [in] pentries_end Partition entries array end - * \param [in] pentry_size Single partition entry size - * - * \return 0 on success, 1 if no backup partitions found - * - * ========================================================================== - */ -static int gpt_boot_chain_swap(const uint8_t *pentries_start, - const uint8_t *pentries_end, - uint32_t pentry_size) -{ - const char ptn_swap_list[][MAX_GPT_NAME_SIZE] = { PTN_SWAP_LIST }; - - int backup_not_found = 1; - unsigned i; - - for (i = 0; i < ARRAY_SIZE(ptn_swap_list); i++) { - uint8_t *ptn_entry; - uint8_t *ptn_bak_entry; - uint8_t ptn_swap[PTN_ENTRY_SIZE]; - //Skip the xbl partition on UFS devices. That is handled - //seperately. - if (gpt_utils_is_ufs_device() && !strncmp(ptn_swap_list[i], - PTN_XBL, - strlen(PTN_XBL))) - continue; - - ptn_entry = gpt_pentry_seek(ptn_swap_list[i], pentries_start, - pentries_end, pentry_size); - if (ptn_entry == NULL) - continue; - - ptn_bak_entry = gpt_pentry_seek(ptn_swap_list[i], - ptn_entry + pentry_size, pentries_end, pentry_size); - if (ptn_bak_entry == NULL) { - fprintf(stderr, "'%s' partition not backup - skip safe update\n", - ptn_swap_list[i]); - continue; - } - - /* swap primary <-> backup partition entries */ - memcpy(ptn_swap, ptn_entry, PTN_ENTRY_SIZE); - memcpy(ptn_entry, ptn_bak_entry, PTN_ENTRY_SIZE); - memcpy(ptn_bak_entry, ptn_swap, PTN_ENTRY_SIZE); - backup_not_found = 0; - } - - return backup_not_found; -} - - - -/** - * ========================================================================== - * - * \brief Sets secondary GPT boot chain - * - * \param [in] fd block dev file descriptor - * \param [in] boot Boot chain to switch to - * - * \return 0 on success - * - * ========================================================================== - */ -static int gpt2_set_boot_chain(int fd, enum boot_chain boot) -{ - int64_t gpt2_header_offset; - uint64_t pentries_start_offset; - uint32_t gpt_header_size; - uint32_t pentry_size; - uint32_t pentries_array_size; - - uint8_t *gpt_header = NULL; - uint8_t *pentries = NULL; - uint32_t crc; - uint32_t crc_zero; - uint32_t blk_size = 0; - int r; - - - crc_zero = crc32(0L, Z_NULL, 0); - if (ioctl(fd, BLKSSZGET, &blk_size) != 0) { - fprintf(stderr, "Failed to get GPT device block size: %s\n", - strerror(errno)); - r = -1; - goto EXIT; - } - gpt_header = (uint8_t*)malloc(blk_size); - if (!gpt_header) { - fprintf(stderr, "Failed to allocate memory to hold GPT block\n"); - r = -1; - goto EXIT; - } - gpt2_header_offset = lseek64(fd, 0, SEEK_END) - blk_size; - if (gpt2_header_offset < 0) { - fprintf(stderr, "Getting secondary GPT header offset failed: %s\n", - strerror(errno)); - r = -1; - goto EXIT; - } - - /* Read primary GPT header from block dev */ - r = blk_rw(fd, 0, blk_size, gpt_header, blk_size); - - if (r) { - fprintf(stderr, "Failed to read primary GPT header from blk dev\n"); - goto EXIT; - } - pentries_start_offset = - GET_8_BYTES(gpt_header + PENTRIES_OFFSET) * blk_size; - pentry_size = GET_4_BYTES(gpt_header + PENTRY_SIZE_OFFSET); - pentries_array_size = - GET_4_BYTES(gpt_header + PARTITION_COUNT_OFFSET) * pentry_size; - - pentries = (uint8_t *) calloc(1, pentries_array_size); - if (pentries == NULL) { - fprintf(stderr, - "Failed to alloc memory for GPT partition entries array\n"); - r = -1; - goto EXIT; - } - /* Read primary GPT partititon entries array from block dev */ - r = blk_rw(fd, 0, pentries_start_offset, pentries, pentries_array_size); - if (r) - goto EXIT; - - crc = crc32(crc_zero, pentries, pentries_array_size); - if (GET_4_BYTES(gpt_header + PARTITION_CRC_OFFSET) != crc) { - fprintf(stderr, "Primary GPT partition entries array CRC invalid\n"); - r = -1; - goto EXIT; - } - - /* Read secondary GPT header from block dev */ - r = blk_rw(fd, 0, gpt2_header_offset, gpt_header, blk_size); - if (r) - goto EXIT; - - gpt_header_size = GET_4_BYTES(gpt_header + HEADER_SIZE_OFFSET); - pentries_start_offset = - GET_8_BYTES(gpt_header + PENTRIES_OFFSET) * blk_size; - - if (boot == BACKUP_BOOT) { - r = gpt_boot_chain_swap(pentries, pentries + pentries_array_size, - pentry_size); - if (r) - goto EXIT; - } - - crc = crc32(crc_zero, pentries, pentries_array_size); - PUT_4_BYTES(gpt_header + PARTITION_CRC_OFFSET, crc); - - /* header CRC is calculated with this field cleared */ - PUT_4_BYTES(gpt_header + HEADER_CRC_OFFSET, 0); - crc = crc32(crc_zero, gpt_header, gpt_header_size); - PUT_4_BYTES(gpt_header + HEADER_CRC_OFFSET, crc); - - /* Write the modified GPT header back to block dev */ - r = blk_rw(fd, 1, gpt2_header_offset, gpt_header, blk_size); - if (!r) - /* Write the modified GPT partititon entries array back to block dev */ - r = blk_rw(fd, 1, pentries_start_offset, pentries, - pentries_array_size); - -EXIT: - if(gpt_header) - free(gpt_header); - if (pentries) - free(pentries); - return r; -} - -/** - * ========================================================================== - * - * \brief Checks GPT state (header signature and CRC) - * - * \param [in] fd block dev file descriptor - * \param [in] gpt GPT header to be checked - * \param [out] state GPT header state - * - * \return 0 on success - * - * ========================================================================== - */ -static int gpt_get_state(int fd, enum gpt_instance gpt, enum gpt_state *state) -{ - int64_t gpt_header_offset; - uint32_t gpt_header_size; - uint8_t *gpt_header = NULL; - uint32_t crc; - uint32_t crc_zero; - uint32_t blk_size = 0; - - *state = GPT_OK; - - crc_zero = crc32(0L, Z_NULL, 0); - if (ioctl(fd, BLKSSZGET, &blk_size) != 0) { - fprintf(stderr, "Failed to get GPT device block size: %s\n", - strerror(errno)); - goto error; - } - gpt_header = (uint8_t*)malloc(blk_size); - if (!gpt_header) { - fprintf(stderr, "gpt_get_state:Failed to alloc memory for header\n"); - goto error; - } - if (gpt == PRIMARY_GPT) - gpt_header_offset = blk_size; - else { - gpt_header_offset = lseek64(fd, 0, SEEK_END) - blk_size; - if (gpt_header_offset < 0) { - fprintf(stderr, "gpt_get_state:Seek to end of GPT part fail\n"); - goto error; - } - } - - if (blk_rw(fd, 0, gpt_header_offset, gpt_header, blk_size)) { - fprintf(stderr, "gpt_get_state: blk_rw failed\n"); - goto error; - } - if (memcmp(gpt_header, GPT_SIGNATURE, sizeof(GPT_SIGNATURE))) - *state = GPT_BAD_SIGNATURE; - gpt_header_size = GET_4_BYTES(gpt_header + HEADER_SIZE_OFFSET); - - crc = GET_4_BYTES(gpt_header + HEADER_CRC_OFFSET); - /* header CRC is calculated with this field cleared */ - PUT_4_BYTES(gpt_header + HEADER_CRC_OFFSET, 0); - if (crc32(crc_zero, gpt_header, gpt_header_size) != crc) - *state = GPT_BAD_CRC; - free(gpt_header); - return 0; -error: - if (gpt_header) - free(gpt_header); - return -1; -} - - - -/** - * ========================================================================== - * - * \brief Sets GPT header state (used to corrupt and fix GPT signature) - * - * \param [in] fd block dev file descriptor - * \param [in] gpt GPT header to be checked - * \param [in] state GPT header state to set (GPT_OK or GPT_BAD_SIGNATURE) - * - * \return 0 on success - * - * ========================================================================== - */ -static int gpt_set_state(int fd, enum gpt_instance gpt, enum gpt_state state) -{ - int64_t gpt_header_offset; - uint32_t gpt_header_size; - uint8_t *gpt_header = NULL; - uint32_t crc; - uint32_t crc_zero; - uint32_t blk_size = 0; - - crc_zero = crc32(0L, Z_NULL, 0); - if (ioctl(fd, BLKSSZGET, &blk_size) != 0) { - fprintf(stderr, "Failed to get GPT device block size: %s\n", - strerror(errno)); - goto error; - } - gpt_header = (uint8_t*)malloc(blk_size); - if (!gpt_header) { - fprintf(stderr, "Failed to alloc memory for gpt header\n"); - goto error; - } - if (gpt == PRIMARY_GPT) - gpt_header_offset = blk_size; - else { - gpt_header_offset = lseek64(fd, 0, SEEK_END) - blk_size; - if (gpt_header_offset < 0) { - fprintf(stderr, "Failed to seek to end of GPT device\n"); - goto error; - } - } - if (blk_rw(fd, 0, gpt_header_offset, gpt_header, blk_size)) { - fprintf(stderr, "Failed to r/w gpt header\n"); - goto error; - } - if (state == GPT_OK) - memcpy(gpt_header, GPT_SIGNATURE, sizeof(GPT_SIGNATURE)); - else if (state == GPT_BAD_SIGNATURE) - *gpt_header = 0; - else { - fprintf(stderr, "gpt_set_state: Invalid state\n"); - goto error; - } - - gpt_header_size = GET_4_BYTES(gpt_header + HEADER_SIZE_OFFSET); - - /* header CRC is calculated with this field cleared */ - PUT_4_BYTES(gpt_header + HEADER_CRC_OFFSET, 0); - crc = crc32(crc_zero, gpt_header, gpt_header_size); - PUT_4_BYTES(gpt_header + HEADER_CRC_OFFSET, crc); - - if (blk_rw(fd, 1, gpt_header_offset, gpt_header, blk_size)) { - fprintf(stderr, "gpt_set_state: blk write failed\n"); - goto error; - } - return 0; -error: - if(gpt_header) - free(gpt_header); - return -1; -} - -int get_scsi_node_from_bootdevice(const char *bootdev_path, - char *sg_node_path, - size_t buf_size) -{ - char sg_dir_path[PATH_MAX] = {0}; - char real_path[PATH_MAX] = {0}; - DIR *scsi_dir = NULL; - struct dirent *de; - int node_found = 0; - if (!bootdev_path || !sg_node_path) { - fprintf(stderr, "%s : invalid argument\n", - __func__); - goto error; - } - if (readlink(bootdev_path, real_path, sizeof(real_path) - 1) < 0) { - fprintf(stderr, "failed to resolve link for %s(%s)\n", - bootdev_path, - strerror(errno)); - goto error; - } - if(strlen(real_path) < PATH_TRUNCATE_LOC + 1){ - fprintf(stderr, "Unrecognized path :%s:\n", - real_path); - goto error; - } - //For the safe side in case there are additional partitions on - //the XBL lun we truncate the name. - real_path[PATH_TRUNCATE_LOC] = '\0'; - if(strlen(real_path) < LUN_NAME_START_LOC + 1){ - fprintf(stderr, "Unrecognized truncated path :%s:\n", - real_path); - goto error; - } - //This will give us /dev/block/sdb/device/scsi_generic - //which contains a file sgY whose name gives us the path - //to /dev/sgY which we return - snprintf(sg_dir_path, sizeof(sg_dir_path) - 1, - "/sys/block/%s/device/scsi_generic", - &real_path[LUN_NAME_START_LOC]); - scsi_dir = opendir(sg_dir_path); - if (!scsi_dir) { - fprintf(stderr, "%s : Failed to open %s(%s)\n", - __func__, - sg_dir_path, - strerror(errno)); - goto error; - } - while((de = readdir(scsi_dir))) { - if (de->d_name[0] == '.') - continue; - else if (!strncmp(de->d_name, "sg", 2)) { - snprintf(sg_node_path, - buf_size -1, - "/dev/%s", - de->d_name); - fprintf(stderr, "%s:scsi generic node is :%s:\n", - __func__, - sg_node_path); - node_found = 1; - break; - } - } - if(!node_found) { - fprintf(stderr,"%s: Unable to locate scsi generic node\n", - __func__); - goto error; - } - closedir(scsi_dir); - return 0; -error: - if (scsi_dir) - closedir(scsi_dir); - return -1; -} - - - -//Swtich betwieen using either the primary or the backup -//boot LUN for boot. This is required since UFS boot partitions -//cannot have a backup GPT which is what we use for failsafe -//updates of the other 'critical' partitions. This function will -//not be invoked for emmc targets and on UFS targets is only required -//to be invoked for XBL. -// -//The algorithm to do this is as follows: -//- Find the real block device(eg: /dev/block/sdb) that corresponds -// to the /dev/block/bootdevice/by-name/xbl(bak) symlink -// -//- Once we have the block device 'node' name(sdb in the above example) -// use this node to to locate the scsi generic device that represents -// it by checking the file /sys/block/sdb/device/scsi_generic/sgY -// -//- Once we locate sgY we call the query ioctl on /dev/sgy to switch -//the boot lun to either LUNA or LUNB -int gpt_utils_set_xbl_boot_partition(enum boot_chain chain) -{ - struct stat st; - ///sys/block/sdX/device/scsi_generic/ - char sg_dev_node[PATH_MAX] = {0}; - uint8_t boot_lun_id = 0; - const char *boot_dev = NULL; - - if (chain == BACKUP_BOOT) { - boot_lun_id = BOOT_LUN_B_ID; - if (!stat(XBL_BACKUP, &st)) - boot_dev = XBL_BACKUP; - else if (!stat(XBL_AB_SECONDARY, &st)) - boot_dev = XBL_AB_SECONDARY; - else { - fprintf(stderr, "%s: Failed to locate secondary xbl\n", - __func__); - goto error; - } - } else if (chain == NORMAL_BOOT) { - boot_lun_id = BOOT_LUN_A_ID; - if (!stat(XBL_PRIMARY, &st)) - boot_dev = XBL_PRIMARY; - else if (!stat(XBL_AB_PRIMARY, &st)) - boot_dev = XBL_AB_PRIMARY; - else { - fprintf(stderr, "%s: Failed to locate primary xbl\n", - __func__); - goto error; - } - } else { - fprintf(stderr, "%s: Invalid boot chain id\n", __func__); - goto error; - } - //We need either both xbl and xblbak or both xbl_a and xbl_b to exist at - //the same time. If not the current configuration is invalid. - if((stat(XBL_PRIMARY, &st) || - stat(XBL_BACKUP, &st)) && - (stat(XBL_AB_PRIMARY, &st) || - stat(XBL_AB_SECONDARY, &st))) { - fprintf(stderr, "%s:primary/secondary XBL prt not found(%s)\n", - __func__, - strerror(errno)); - goto error; - } - fprintf(stderr, "%s: setting %s lun as boot lun\n", - __func__, - boot_dev); - if (get_scsi_node_from_bootdevice(boot_dev, - sg_dev_node, - sizeof(sg_dev_node))) { - fprintf(stderr, "%s: Failed to get scsi node path for xblbak\n", - __func__); - goto error; - } - /* set boot lun using /dev/sg or /dev/ufs-bsg* */ - if (set_boot_lun(sg_dev_node, boot_lun_id)) { - fprintf(stderr, "%s: Failed to set xblbak as boot partition\n", - __func__); - goto error; - } - return 0; -error: - return -1; -} - -int gpt_utils_is_ufs_device() -{ - char bootdevice[PROPERTY_VALUE_MAX] = {0}; - property_get("ro.boot.bootdevice", bootdevice, "N/A"); - if (strlen(bootdevice) < strlen(".ufshc") + 1) - return 0; - return (!strncmp(&bootdevice[strlen(bootdevice) - strlen(".ufshc")], - ".ufshc", - sizeof(".ufshc"))); -} -//dev_path is the path to the block device that contains the GPT image that -//needs to be updated. This would be the device which holds one or more critical -//boot partitions and their backups. In the case of EMMC this function would -//be invoked only once on /dev/block/mmcblk1 since it holds the GPT image -//containing all the partitions For UFS devices it could potentially be -//invoked multiple times, once for each LUN containing critical image(s) and -//their backups -int prepare_partitions(enum boot_update_stage stage, const char *dev_path) -{ - int r = 0; - int fd = -1; - int is_ufs = gpt_utils_is_ufs_device(); - enum gpt_state gpt_prim, gpt_second; - enum boot_update_stage internal_stage; - struct stat xbl_partition_stat; - - if (!dev_path) { - fprintf(stderr, "%s: Invalid dev_path\n", - __func__); - r = -1; - goto EXIT; - } - fd = open(dev_path, O_RDWR); - if (fd < 0) { - fprintf(stderr, "%s: Opening '%s' failed: %s\n", - __func__, - BLK_DEV_FILE, - strerror(errno)); - r = -1; - goto EXIT; - } - r = gpt_get_state(fd, PRIMARY_GPT, &gpt_prim) || - gpt_get_state(fd, SECONDARY_GPT, &gpt_second); - if (r) { - fprintf(stderr, "%s: Getting GPT headers state failed\n", - __func__); - goto EXIT; - } - - /* These 2 combinations are unexpected and unacceptable */ - if (gpt_prim == GPT_BAD_CRC || gpt_second == GPT_BAD_CRC) { - fprintf(stderr, "%s: GPT headers CRC corruption detected, aborting\n", - __func__); - r = -1; - goto EXIT; - } - if (gpt_prim == GPT_BAD_SIGNATURE && gpt_second == GPT_BAD_SIGNATURE) { - fprintf(stderr, "%s: Both GPT headers corrupted, aborting\n", - __func__); - r = -1; - goto EXIT; - } - - /* Check internal update stage according GPT headers' state */ - if (gpt_prim == GPT_OK && gpt_second == GPT_OK) - internal_stage = UPDATE_MAIN; - else if (gpt_prim == GPT_BAD_SIGNATURE) - internal_stage = UPDATE_BACKUP; - else if (gpt_second == GPT_BAD_SIGNATURE) - internal_stage = UPDATE_FINALIZE; - else { - fprintf(stderr, "%s: Abnormal GPTs state: primary (%d), secondary (%d), " - "aborting\n", __func__, gpt_prim, gpt_second); - r = -1; - goto EXIT; - } - - /* Stage already set - ready for update, exitting */ - if ((int) stage == (int) internal_stage - 1) - goto EXIT; - /* Unexpected stage given */ - if (stage != internal_stage) { - r = -1; - goto EXIT; - } - - switch (stage) { - case UPDATE_MAIN: - if (is_ufs) { - if(stat(XBL_PRIMARY, &xbl_partition_stat)|| - stat(XBL_BACKUP, &xbl_partition_stat)){ - //Non fatal error. Just means this target does not - //use XBL but relies on sbl whose update is handled - //by the normal methods. - fprintf(stderr, "%s: xbl part not found(%s).Assuming sbl in use\n", - __func__, - strerror(errno)); - } else { - //Switch the boot lun so that backup boot LUN is used - r = gpt_utils_set_xbl_boot_partition(BACKUP_BOOT); - if(r){ - fprintf(stderr, "%s: Failed to set xbl backup partition as boot\n", - __func__); - goto EXIT; - } - } - } - //Fix up the backup GPT table so that it actually points to - //the backup copy of the boot critical images - fprintf(stderr, "%s: Preparing for primary partition update\n", - __func__); - r = gpt2_set_boot_chain(fd, BACKUP_BOOT); - if (r) { - if (r < 0) - fprintf(stderr, - "%s: Setting secondary GPT to backup boot failed\n", - __func__); - /* No backup partitions - do not corrupt GPT, do not flag error */ - else - r = 0; - goto EXIT; - } - //corrupt the primary GPT so that the backup(which now points to - //the backup boot partitions is used) - r = gpt_set_state(fd, PRIMARY_GPT, GPT_BAD_SIGNATURE); - if (r) { - fprintf(stderr, "%s: Corrupting primary GPT header failed\n", - __func__); - goto EXIT; - } - break; - case UPDATE_BACKUP: - if (is_ufs) { - if(stat(XBL_PRIMARY, &xbl_partition_stat)|| - stat(XBL_BACKUP, &xbl_partition_stat)){ - //Non fatal error. Just means this target does not - //use XBL but relies on sbl whose update is handled - //by the normal methods. - fprintf(stderr, "%s: xbl part not found(%s).Assuming sbl in use\n", - __func__, - strerror(errno)); - } else { - //Switch the boot lun so that backup boot LUN is used - r = gpt_utils_set_xbl_boot_partition(NORMAL_BOOT); - if(r) { - fprintf(stderr, "%s: Failed to set xbl backup partition as boot\n", - __func__); - goto EXIT; - } - } - } - //Fix the primary GPT header so that is used - fprintf(stderr, "%s: Preparing for backup partition update\n", - __func__); - r = gpt_set_state(fd, PRIMARY_GPT, GPT_OK); - if (r) { - fprintf(stderr, "%s: Fixing primary GPT header failed\n", - __func__); - goto EXIT; - } - //Corrupt the scondary GPT header - r = gpt_set_state(fd, SECONDARY_GPT, GPT_BAD_SIGNATURE); - if (r) { - fprintf(stderr, "%s: Corrupting secondary GPT header failed\n", - __func__); - goto EXIT; - } - break; - case UPDATE_FINALIZE: - //Undo the changes we had made in the UPDATE_MAIN stage so that the - //primary/backup GPT headers once again point to the same set of - //partitions - fprintf(stderr, "%s: Finalizing partitions\n", - __func__); - r = gpt2_set_boot_chain(fd, NORMAL_BOOT); - if (r < 0) { - fprintf(stderr, "%s: Setting secondary GPT to normal boot failed\n", - __func__); - goto EXIT; - } - - r = gpt_set_state(fd, SECONDARY_GPT, GPT_OK); - if (r) { - fprintf(stderr, "%s: Fixing secondary GPT header failed\n", - __func__); - goto EXIT; - } - break; - default:; - } - -EXIT: - if (fd >= 0) { - fsync(fd); - close(fd); - } - return r; -} - -int add_lun_to_update_list(char *lun_path, struct update_data *dat) -{ - uint32_t i = 0; - struct stat st; - if (!lun_path || !dat){ - fprintf(stderr, "%s: Invalid data", - __func__); - return -1; - } - if (stat(lun_path, &st)) { - fprintf(stderr, "%s: Unable to access %s. Skipping adding to list", - __func__, - lun_path); - return -1; - } - if (dat->num_valid_entries == 0) { - fprintf(stderr, "%s: Copying %s into lun_list[%d]\n", - __func__, - lun_path, - i); - strlcpy(dat->lun_list[0], lun_path, - PATH_MAX * sizeof(char)); - dat->num_valid_entries = 1; - } else { - for (i = 0; (i < dat->num_valid_entries) && - (dat->num_valid_entries < MAX_LUNS - 1); i++) { - //Check if the current LUN is not already part - //of the lun list - if (!strncmp(lun_path,dat->lun_list[i], - strlen(dat->lun_list[i]))) { - //LUN already in list..Return - return 0; - } - } - fprintf(stderr, "%s: Copying %s into lun_list[%d]\n", - __func__, - lun_path, - dat->num_valid_entries); - //Add LUN path lun list - strlcpy(dat->lun_list[dat->num_valid_entries], lun_path, - PATH_MAX * sizeof(char)); - dat->num_valid_entries++; - } - return 0; -} - -int prepare_boot_update(enum boot_update_stage stage) -{ - int is_ufs = gpt_utils_is_ufs_device(); - struct stat ufs_dir_stat; - struct update_data data; - int rcode = 0; - uint32_t i = 0; - int is_error = 0; - const char ptn_swap_list[][MAX_GPT_NAME_SIZE] = { PTN_SWAP_LIST }; - //Holds /dev/block/bootdevice/by-name/*bak entry - char buf[PATH_MAX] = {0}; - //Holds the resolved path of the symlink stored in buf - char real_path[PATH_MAX] = {0}; - - if (!is_ufs) { - //emmc device. Just pass in path to mmcblk0 - return prepare_partitions(stage, BLK_DEV_FILE); - } else { - //Now we need to find the list of LUNs over - //which the boot critical images are spread - //and set them up for failsafe updates.To do - //this we find out where the symlinks for the - //each of the paths under - ///dev/block/bootdevice/by-name/PTN_SWAP_LIST - //actually point to. - fprintf(stderr, "%s: Running on a UFS device\n", - __func__); - memset(&data, '\0', sizeof(struct update_data)); - for (i=0; i < ARRAY_SIZE(ptn_swap_list); i++) { - //XBL on UFS does not follow the convention - //of being loaded based on well known GUID'S. - //We take care of switching the UFS boot LUN - //explicitly later on. - if (!strncmp(ptn_swap_list[i], - PTN_XBL, - strlen(PTN_XBL))) - continue; - snprintf(buf, sizeof(buf), - "%s/%sbak", - BOOT_DEV_DIR, - ptn_swap_list[i]); - if (stat(buf, &ufs_dir_stat)) { - continue; - } - if (readlink(buf, real_path, sizeof(real_path) - 1) < 0) - { - fprintf(stderr, "%s: readlink error. Skipping %s", - __func__, - strerror(errno)); - } else { - if(strlen(real_path) < PATH_TRUNCATE_LOC + 1){ - fprintf(stderr, "Unknown path.Skipping :%s:\n", - real_path); - } else { - real_path[PATH_TRUNCATE_LOC] = '\0'; - add_lun_to_update_list(real_path, &data); - } - } - memset(buf, '\0', sizeof(buf)); - memset(real_path, '\0', sizeof(real_path)); - } - for (i=0; i < data.num_valid_entries; i++) { - fprintf(stderr, "%s: Preparing %s for update stage %d\n", - __func__, - data.lun_list[i], - stage); - rcode = prepare_partitions(stage, data.lun_list[i]); - if (rcode != 0) - { - fprintf(stderr, "%s: Failed to prepare %s.Continuing..\n", - __func__, - data.lun_list[i]); - is_error = 1; - } - } - } - if (is_error) - return -1; - return 0; -} - -//Given a parttion name(eg: rpm) get the path to the block device that -//represents the GPT disk the partition resides on. In the case of emmc it -//would be the default emmc dev(/dev/block/mmcblk0). In the case of UFS we look -//through the /dev/block/bootdevice/by-name/ tree for partname, and resolve -//the path to the LUN from there. -static int get_dev_path_from_partition_name(const char *partname, - char *buf, - size_t buflen) -{ - struct stat st; - char path[PATH_MAX] = {0}; - if (!partname || !buf || buflen < ((PATH_TRUNCATE_LOC) + 1)) { - ALOGE("%s: Invalid argument", __func__); - goto error; - } - if (gpt_utils_is_ufs_device()) { - //Need to find the lun that holds partition partname - snprintf(path, sizeof(path), - "%s/%s", - BOOT_DEV_DIR, - partname); - if (stat(path, &st)) { - goto error; - } - if (readlink(path, buf, buflen) < 0) - { - goto error; - } else { - buf[PATH_TRUNCATE_LOC] = '\0'; - } - } else { - snprintf(buf, buflen, BLK_DEV_FILE); - } - return 0; - -error: - return -1; -} - -int gpt_utils_get_partition_map(vector& ptn_list, - map>& partition_map) { - char devpath[PATH_MAX] = {'\0'}; - map>::iterator it; - if (ptn_list.size() < 1) { - fprintf(stderr, "%s: Invalid ptn list\n", __func__); - goto error; - } - //Go through the passed in list - for (uint32_t i = 0; i < ptn_list.size(); i++) - { - //Key in the map is the path to the device that holds the - //partition - if (get_dev_path_from_partition_name(ptn_list[i].c_str(), - devpath, - sizeof(devpath))) { - //Not necessarily an error. The partition may just - //not be present. - continue; - } - string path = devpath; - it = partition_map.find(path); - if (it != partition_map.end()) { - it->second.push_back(ptn_list[i]); - } else { - vector str_vec; - str_vec.push_back( ptn_list[i]); - partition_map.insert(pair> - (path, str_vec)); - } - memset(devpath, '\0', sizeof(devpath)); - } - return 0; -error: - return -1; -} - -//Get the block size of the disk represented by decsriptor fd -static uint32_t gpt_get_block_size(int fd) -{ - uint32_t block_size = 0; - if (fd < 0) { - ALOGE("%s: invalid descriptor", - __func__); - goto error; - } - if (ioctl(fd, BLKSSZGET, &block_size) != 0) { - ALOGE("%s: Failed to get GPT dev block size : %s", - __func__, - strerror(errno)); - goto error; - } - return block_size; -error: - return 0; -} - -//Write the GPT header present in the passed in buffer back to the -//disk represented by fd -static int gpt_set_header(uint8_t *gpt_header, int fd, - enum gpt_instance instance) -{ - uint32_t block_size = 0; - off64_t gpt_header_offset = 0; - if (!gpt_header || fd < 0) { - ALOGE("%s: Invalid arguments", - __func__); - goto error; - } - block_size = gpt_get_block_size(fd); - if (block_size == 0) { - ALOGE("%s: Failed to get block size", __func__); - goto error; - } - if (instance == PRIMARY_GPT) - gpt_header_offset = block_size; - else - gpt_header_offset = lseek64(fd, 0, SEEK_END) - block_size; - if (gpt_header_offset <= 0) { - ALOGE("%s: Failed to get gpt header offset",__func__); - goto error; - } - if (blk_rw(fd, 1, gpt_header_offset, gpt_header, block_size)) { - ALOGE("%s: Failed to write back GPT header", __func__); - goto error; - } - return 0; -error: - return -1; -} - -//Read out the GPT header for the disk that contains the partition partname -static uint8_t* gpt_get_header(const char *partname, enum gpt_instance instance) -{ - uint8_t* hdr = NULL; - char devpath[PATH_MAX] = {0}; - int64_t hdr_offset = 0; - uint32_t block_size = 0; - int fd = -1; - if (!partname) { - ALOGE("%s: Invalid partition name", __func__); - goto error; - } - if (get_dev_path_from_partition_name(partname, devpath, sizeof(devpath)) - != 0) { - ALOGE("%s: Failed to resolve path for %s", - __func__, - partname); - goto error; - } - fd = open(devpath, O_RDWR); - if (fd < 0) { - ALOGE("%s: Failed to open %s : %s", - __func__, - devpath, - strerror(errno)); - goto error; - } - block_size = gpt_get_block_size(fd); - if (block_size == 0) - { - ALOGE("%s: Failed to get gpt block size for %s", - __func__, - partname); - goto error; - } - - hdr = (uint8_t*)malloc(block_size); - if (!hdr) { - ALOGE("%s: Failed to allocate memory for gpt header", - __func__); - } - if (instance == PRIMARY_GPT) - hdr_offset = block_size; - else { - hdr_offset = lseek64(fd, 0, SEEK_END) - block_size; - } - if (hdr_offset < 0) { - ALOGE("%s: Failed to get gpt header offset", - __func__); - goto error; - } - if (blk_rw(fd, 0, hdr_offset, hdr, block_size)) { - ALOGE("%s: Failed to read GPT header from device", - __func__); - goto error; - } - close(fd); - return hdr; -error: - if (fd >= 0) - close(fd); - if (hdr) - free(hdr); - return NULL; -} - -//Returns the partition entry array based on the -//passed in buffer which contains the gpt header. -//The fd here is the descriptor for the 'disk' which -//holds the partition -static uint8_t* gpt_get_pentry_arr(uint8_t *hdr, int fd) -{ - uint64_t pentries_start = 0; - uint32_t pentry_size = 0; - uint32_t block_size = 0; - uint32_t pentries_arr_size = 0; - uint8_t *pentry_arr = NULL; - int rc = 0; - if (!hdr) { - ALOGE("%s: Invalid header", __func__); - goto error; - } - if (fd < 0) { - ALOGE("%s: Invalid fd", __func__); - goto error; - } - block_size = gpt_get_block_size(fd); - if (!block_size) { - ALOGE("%s: Failed to get gpt block size for", - __func__); - goto error; - } - pentries_start = GET_8_BYTES(hdr + PENTRIES_OFFSET) * block_size; - pentry_size = GET_4_BYTES(hdr + PENTRY_SIZE_OFFSET); - pentries_arr_size = - GET_4_BYTES(hdr + PARTITION_COUNT_OFFSET) * pentry_size; - pentry_arr = (uint8_t*)calloc(1, pentries_arr_size); - if (!pentry_arr) { - ALOGE("%s: Failed to allocate memory for partition array", - __func__); - goto error; - } - rc = blk_rw(fd, 0, - pentries_start, - pentry_arr, - pentries_arr_size); - if (rc) { - ALOGE("%s: Failed to read partition entry array", - __func__); - goto error; - } - return pentry_arr; -error: - if (pentry_arr) - free(pentry_arr); - return NULL; -} - -static int gpt_set_pentry_arr(uint8_t *hdr, int fd, uint8_t* arr) -{ - uint32_t block_size = 0; - uint64_t pentries_start = 0; - uint32_t pentry_size = 0; - uint32_t pentries_arr_size = 0; - int rc = 0; - if (!hdr || fd < 0 || !arr) { - ALOGE("%s: Invalid argument", __func__); - goto error; - } - block_size = gpt_get_block_size(fd); - if (!block_size) { - ALOGE("%s: Failed to get gpt block size for", - __func__); - goto error; - } - pentries_start = GET_8_BYTES(hdr + PENTRIES_OFFSET) * block_size; - pentry_size = GET_4_BYTES(hdr + PENTRY_SIZE_OFFSET); - pentries_arr_size = - GET_4_BYTES(hdr + PARTITION_COUNT_OFFSET) * pentry_size; - rc = blk_rw(fd, 1, - pentries_start, - arr, - pentries_arr_size); - if (rc) { - ALOGE("%s: Failed to read partition entry array", - __func__); - goto error; - } - return 0; -error: - return -1; -} - - - -//Allocate a handle used by calls to the "gpt_disk" api's -struct gpt_disk * gpt_disk_alloc() -{ - struct gpt_disk *disk; - disk = (struct gpt_disk *)malloc(sizeof(struct gpt_disk)); - if (!disk) { - ALOGE("%s: Failed to allocate memory", __func__); - goto end; - } - memset(disk, 0, sizeof(struct gpt_disk)); -end: - return disk; -} - -//Free previously allocated/initialized handle -void gpt_disk_free(struct gpt_disk *disk) -{ - if (!disk) - return; - if (disk->hdr) - free(disk->hdr); - if (disk->hdr_bak) - free(disk->hdr_bak); - if (disk->pentry_arr) - free(disk->pentry_arr); - if (disk->pentry_arr_bak) - free(disk->pentry_arr_bak); - free(disk); - return; -} - -//fills up the passed in gpt_disk struct with information about the -//disk represented by path dev. Returns 0 on success and -1 on error. -int gpt_disk_get_disk_info(const char *dev, struct gpt_disk *dsk) -{ - - struct gpt_disk *disk = NULL; - int fd = -1; - uint32_t gpt_header_size = 0; - uint32_t crc_zero; - - crc_zero = crc32(0L, Z_NULL, 0); - if (!dsk || !dev) { - ALOGE("%s: Invalid arguments", __func__); - goto error; - } - disk = dsk; - disk->hdr = gpt_get_header(dev, PRIMARY_GPT); - if (!disk->hdr) { - ALOGE("%s: Failed to get primary header", __func__); - goto error; - } - gpt_header_size = GET_4_BYTES(disk->hdr + HEADER_SIZE_OFFSET); - disk->hdr_crc = crc32(crc_zero, disk->hdr, gpt_header_size); - disk->hdr_bak = gpt_get_header(dev, SECONDARY_GPT); - if (!disk->hdr_bak) { - ALOGE("%s: Failed to get backup header", __func__); - goto error; - } - disk->hdr_bak_crc = crc32(crc_zero, disk->hdr_bak, gpt_header_size); - - //Descriptor for the block device. We will use this for further - //modifications to the partition table - if (get_dev_path_from_partition_name(dev, - disk->devpath, - sizeof(disk->devpath)) != 0) { - ALOGE("%s: Failed to resolve path for %s", - __func__, - dev); - goto error; - } - fd = open(disk->devpath, O_RDWR); - if (fd < 0) { - ALOGE("%s: Failed to open %s: %s", - __func__, - disk->devpath, - strerror(errno)); - goto error; - } - disk->pentry_arr = gpt_get_pentry_arr(disk->hdr, fd); - if (!disk->pentry_arr) { - ALOGE("%s: Failed to obtain partition entry array", - __func__); - goto error; - } - disk->pentry_arr_bak = gpt_get_pentry_arr(disk->hdr_bak, fd); - if (!disk->pentry_arr_bak) { - ALOGE("%s: Failed to obtain backup partition entry array", - __func__); - goto error; - } - disk->pentry_size = GET_4_BYTES(disk->hdr + PENTRY_SIZE_OFFSET); - disk->pentry_arr_size = - GET_4_BYTES(disk->hdr + PARTITION_COUNT_OFFSET) * - disk->pentry_size; - disk->pentry_arr_crc = GET_4_BYTES(disk->hdr + PARTITION_CRC_OFFSET); - disk->pentry_arr_bak_crc = GET_4_BYTES(disk->hdr_bak + - PARTITION_CRC_OFFSET); - disk->block_size = gpt_get_block_size(fd); - close(fd); - disk->is_initialized = GPT_DISK_INIT_MAGIC; - return 0; -error: - if (fd >= 0) - close(fd); - return -1; -} - -//Get pointer to partition entry from a allocated gpt_disk structure -uint8_t* gpt_disk_get_pentry(struct gpt_disk *disk, - const char *partname, - enum gpt_instance instance) -{ - uint8_t *ptn_arr = NULL; - if (!disk || !partname || disk->is_initialized != GPT_DISK_INIT_MAGIC) { - ALOGE("%s: Invalid argument",__func__); - goto error; - } - ptn_arr = (instance == PRIMARY_GPT) ? - disk->pentry_arr : disk->pentry_arr_bak; - return (gpt_pentry_seek(partname, ptn_arr, - ptn_arr + disk->pentry_arr_size , - disk->pentry_size)); -error: - return NULL; -} - -//Update CRC values for the various components of the gpt_disk -//structure. This function should be called after any of the fields -//have been updated before the structure contents are written back to -//disk. -int gpt_disk_update_crc(struct gpt_disk *disk) -{ - uint32_t gpt_header_size = 0; - uint32_t crc_zero; - crc_zero = crc32(0L, Z_NULL, 0); - if (!disk || (disk->is_initialized != GPT_DISK_INIT_MAGIC)) { - ALOGE("%s: invalid argument", __func__); - goto error; - } - //Recalculate the CRC of the primary partiton array - disk->pentry_arr_crc = crc32(crc_zero, - disk->pentry_arr, - disk->pentry_arr_size); - //Recalculate the CRC of the backup partition array - disk->pentry_arr_bak_crc = crc32(crc_zero, - disk->pentry_arr_bak, - disk->pentry_arr_size); - //Update the partition CRC value in the primary GPT header - PUT_4_BYTES(disk->hdr + PARTITION_CRC_OFFSET, disk->pentry_arr_crc); - //Update the partition CRC value in the backup GPT header - PUT_4_BYTES(disk->hdr_bak + PARTITION_CRC_OFFSET, - disk->pentry_arr_bak_crc); - //Update the CRC value of the primary header - gpt_header_size = GET_4_BYTES(disk->hdr + HEADER_SIZE_OFFSET); - //Header CRC is calculated with its own CRC field set to 0 - PUT_4_BYTES(disk->hdr + HEADER_CRC_OFFSET, 0); - PUT_4_BYTES(disk->hdr_bak + HEADER_CRC_OFFSET, 0); - disk->hdr_crc = crc32(crc_zero, disk->hdr, gpt_header_size); - disk->hdr_bak_crc = crc32(crc_zero, disk->hdr_bak, gpt_header_size); - PUT_4_BYTES(disk->hdr + HEADER_CRC_OFFSET, disk->hdr_crc); - PUT_4_BYTES(disk->hdr_bak + HEADER_CRC_OFFSET, disk->hdr_bak_crc); - return 0; -error: - return -1; -} - -//Write the contents of struct gpt_disk back to the actual disk -int gpt_disk_commit(struct gpt_disk *disk) -{ - int fd = -1; - if (!disk || (disk->is_initialized != GPT_DISK_INIT_MAGIC)){ - ALOGE("%s: Invalid args", __func__); - goto error; - } - fd = open(disk->devpath, O_RDWR); - if (fd < 0) { - ALOGE("%s: Failed to open %s: %s", - __func__, - disk->devpath, - strerror(errno)); - goto error; - } - //Write the primary header - if(gpt_set_header(disk->hdr, fd, PRIMARY_GPT) != 0) { - ALOGE("%s: Failed to update primary GPT header", - __func__); - goto error; - } - //Write back the primary partition array - if (gpt_set_pentry_arr(disk->hdr, fd, disk->pentry_arr)) { - ALOGE("%s: Failed to write primary GPT partition arr", - __func__); - goto error; - } - //Write back the secondary header - if(gpt_set_header(disk->hdr_bak, fd, SECONDARY_GPT) != 0) { - ALOGE("%s: Failed to update secondary GPT header", - __func__); - goto error; - } - //Write back the secondary partition array - if (gpt_set_pentry_arr(disk->hdr_bak, fd, disk->pentry_arr_bak)) { - ALOGE("%s: Failed to write secondary GPT partition arr", - __func__); - goto error; - } - close(fd); - return 0; -error: - if (fd >= 0) - close(fd); - return -1; -} diff --git a/gpt-utils/gpt-utils.h b/gpt-utils/gpt-utils.h deleted file mode 100644 index 6c833c8..0000000 --- a/gpt-utils/gpt-utils.h +++ /dev/null @@ -1,193 +0,0 @@ -/* - * Copyright (c) 2013,2016,2020 The Linux Foundation. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials provided - * with the distribution. - * * Neither the name of The Linux Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR - * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE - * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN - * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef __GPT_UTILS_H__ -#define __GPT_UTILS_H__ -#include -#include -#include -#ifdef __cplusplus -extern "C" { -#endif -#include -#include -/****************************************************************************** - * GPT HEADER DEFINES - ******************************************************************************/ -#define GPT_SIGNATURE "EFI PART" -#define HEADER_SIZE_OFFSET 12 -#define HEADER_CRC_OFFSET 16 -#define PRIMARY_HEADER_OFFSET 24 -#define BACKUP_HEADER_OFFSET 32 -#define FIRST_USABLE_LBA_OFFSET 40 -#define LAST_USABLE_LBA_OFFSET 48 -#define PENTRIES_OFFSET 72 -#define PARTITION_COUNT_OFFSET 80 -#define PENTRY_SIZE_OFFSET 84 -#define PARTITION_CRC_OFFSET 88 - -#define TYPE_GUID_OFFSET 0 -#define TYPE_GUID_SIZE 16 -#define PTN_ENTRY_SIZE 128 -#define UNIQUE_GUID_OFFSET 16 -#define FIRST_LBA_OFFSET 32 -#define LAST_LBA_OFFSET 40 -#define ATTRIBUTE_FLAG_OFFSET 48 -#define PARTITION_NAME_OFFSET 56 -#define MAX_GPT_NAME_SIZE 72 - -/****************************************************************************** - * AB RELATED DEFINES - ******************************************************************************/ -//Bit 48 onwords in the attribute field are the ones where we are allowed to -//store our AB attributes. -#define AB_FLAG_OFFSET (ATTRIBUTE_FLAG_OFFSET + 6) -#define GPT_DISK_INIT_MAGIC 0xABCD -#define AB_PARTITION_ATTR_SLOT_ACTIVE (0x1<<2) -#define AB_PARTITION_ATTR_BOOT_SUCCESSFUL (0x1<<6) -#define AB_PARTITION_ATTR_UNBOOTABLE (0x1<<7) -#define AB_SLOT_ACTIVE_VAL 0x3F -#define AB_SLOT_INACTIVE_VAL 0x0 -#define AB_SLOT_ACTIVE 1 -#define AB_SLOT_INACTIVE 0 -#define AB_SLOT_A_SUFFIX "_a" -#define AB_SLOT_B_SUFFIX "_b" -#define PTN_XBL "xbl" -#define PTN_XBL_CFG "xbl_config" -#define PTN_SWAP_LIST PTN_XBL, PTN_XBL_CFG, "sbl1", "rpm", "tz", "aboot", "abl", "hyp", "lksecapp", "keymaster", "cmnlib", "cmnlib32", "cmnlib64", "pmic", "apdp", "devcfg", "hosd", "keystore", "msadp", "mdtp", "mdtpsecapp", "dsp", "aop", "qupfw", "vbmeta", "dtbo", "imagefv", "ImageFv", "multiimgoem", "multiimgqti", "uefisecapp", "vm-bootsys", "shrm", "cpucp" -#define AB_PTN_LIST PTN_SWAP_LIST, "boot", "vendor_boot", "system", "vendor", "odm", "modem", "bluetooth" -#define BOOT_DEV_DIR "/dev/block/bootdevice/by-name" - -/****************************************************************************** - * HELPER MACROS - ******************************************************************************/ -#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0])) -/****************************************************************************** - * TYPES - ******************************************************************************/ -enum boot_update_stage { - UPDATE_MAIN = 1, - UPDATE_BACKUP, - UPDATE_FINALIZE -}; - -enum gpt_instance { - PRIMARY_GPT = 0, - SECONDARY_GPT -}; - -enum boot_chain { - NORMAL_BOOT = 0, - BACKUP_BOOT -}; - -struct gpt_disk { - //GPT primary header - uint8_t *hdr; - //primary header crc - uint32_t hdr_crc; - //GPT backup header - uint8_t *hdr_bak; - //backup header crc - uint32_t hdr_bak_crc; - //Partition entries array - uint8_t *pentry_arr; - //Partition entries array for backup table - uint8_t *pentry_arr_bak; - //Size of the pentry array - uint32_t pentry_arr_size; - //Size of each element in the pentry array - uint32_t pentry_size; - //CRC of the partition entry array - uint32_t pentry_arr_crc; - //CRC of the backup partition entry array - uint32_t pentry_arr_bak_crc; - //Path to block dev representing the disk - char devpath[PATH_MAX]; - //Block size of disk - uint32_t block_size; - uint32_t is_initialized; -}; - -/****************************************************************************** - * FUNCTION PROTOTYPES - ******************************************************************************/ -int prepare_boot_update(enum boot_update_stage stage); -//GPT disk methods -struct gpt_disk* gpt_disk_alloc(); -//Free previously allocated gpt_disk struct -void gpt_disk_free(struct gpt_disk *disk); -//Get the details of the disk holding the partition whose name -//is passed in via dev -int gpt_disk_get_disk_info(const char *dev, struct gpt_disk *disk); - -//Get pointer to partition entry from a allocated gpt_disk structure -uint8_t* gpt_disk_get_pentry(struct gpt_disk *disk, - const char *partname, - enum gpt_instance instance); - -//Update the crc fields of the modified disk structure -int gpt_disk_update_crc(struct gpt_disk *disk); - -//Write the contents of struct gpt_disk back to the actual disk -int gpt_disk_commit(struct gpt_disk *disk); - -//Return if the current device is UFS based or not -int gpt_utils_is_ufs_device(); - -//Swtich betwieen using either the primary or the backup -//boot LUN for boot. This is required since UFS boot partitions -//cannot have a backup GPT which is what we use for failsafe -//updates of the other 'critical' partitions. This function will -//not be invoked for emmc targets and on UFS targets is only required -//to be invoked for XBL. -// -//The algorithm to do this is as follows: -//- Find the real block device(eg: /dev/block/sdb) that corresponds -// to the /dev/block/bootdevice/by-name/xbl(bak) symlink -// -//- Once we have the block device 'node' name(sdb in the above example) -// use this node to to locate the scsi generic device that represents -// it by checking the file /sys/block/sdb/device/scsi_generic/sgY -// -//- Once we locate sgY we call the query ioctl on /dev/sgy to switch -//the boot lun to either LUNA or LUNB -int gpt_utils_set_xbl_boot_partition(enum boot_chain chain); - -//Given a vector of partition names as a input and a reference to a map, -//populate the map to indicate which physical disk each of the partitions -//sits on. The key in the map is the path to the block device where the -//partiton lies and the value is a vector of strings indicating which of -//the passed in partiton names sits on that device. -int gpt_utils_get_partition_map(std::vector& partition_list, - std::map>& partition_map); -#ifdef __cplusplus -} -#endif -#endif /* __GPT_UTILS_H__ */ diff --git a/gpt-utils/recovery-ufs-bsg.cpp b/gpt-utils/recovery-ufs-bsg.cpp deleted file mode 100644 index 4249aa6..0000000 --- a/gpt-utils/recovery-ufs-bsg.cpp +++ /dev/null @@ -1,255 +0,0 @@ -/* - * Copyright (c) 2020 The Linux Foundation. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials provided - * with the distribution. - * * Neither the name of The Linux Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR - * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE - * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN - * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - - -#define LOG_TAG "recovery_ufs" - -#include "recovery-ufs-bsg.h" - -#ifndef _BSG_FRAMEWORK_KERNEL_HEADERS -#ifndef _GENERIC_KERNEL_HEADERS -#include -#include -#endif -#endif - -//Size of the buffer that needs to be passed to the UFS ioctl -#define UFS_ATTR_DATA_SIZE 32 - -#ifdef _BSG_FRAMEWORK_KERNEL_HEADERS -static int get_ufs_bsg_dev(void) -{ - DIR *dir; - struct dirent *ent; - int ret = -ENODEV; - - if ((dir = opendir ("/dev")) != NULL) { - /* read all the files and directories within directory */ - while ((ent = readdir(dir)) != NULL) { - if (!strcmp(ent->d_name, "ufs-bsg") || - !strcmp(ent->d_name, "ufs-bsg0")) { - snprintf(ufs_bsg_dev, FNAME_SZ, "/dev/%s", ent->d_name); - ret = 0; - break; - } - } - if (ret) - ALOGE("could not find the ufs-bsg dev\n"); - closedir (dir); - } else { - /* could not open directory */ - ALOGE("could not open /dev (error no: %d)\n", errno); - ret = -EINVAL; - } - - return ret; -} - -int ufs_bsg_dev_open(void) -{ - int ret; - if (!fd_ufs_bsg) { - fd_ufs_bsg = open(ufs_bsg_dev, O_RDWR); - ret = errno; - if (fd_ufs_bsg < 0) { - ALOGE("Unable to open %s (error no: %d)", - ufs_bsg_dev, errno); - fd_ufs_bsg = 0; - return ret; - } - } - return 0; -} - -void ufs_bsg_dev_close(void) -{ - if (fd_ufs_bsg) { - close(fd_ufs_bsg); - fd_ufs_bsg = 0; - } -} - -static int ufs_bsg_ioctl(int fd, struct ufs_bsg_request *req, - struct ufs_bsg_reply *rsp, __u8 *buf, __u32 buf_len, - enum bsg_ioctl_dir dir) -{ - int ret; - struct sg_io_v4 sg_io{}; - - sg_io.guard = 'Q'; - sg_io.protocol = BSG_PROTOCOL_SCSI; - sg_io.subprotocol = BSG_SUB_PROTOCOL_SCSI_TRANSPORT; - sg_io.request_len = sizeof(*req); - sg_io.request = (__u64)req; - sg_io.response = (__u64)rsp; - sg_io.max_response_len = sizeof(*rsp); - if (dir == BSG_IOCTL_DIR_FROM_DEV) { - sg_io.din_xfer_len = buf_len; - sg_io.din_xferp = (__u64)(buf); - } else { - sg_io.dout_xfer_len = buf_len; - sg_io.dout_xferp = (__u64)(buf); - } - - ret = ioctl(fd, SG_IO, &sg_io); - if (ret) - ALOGE("%s: Error from sg_io ioctl (return value: %d, error no: %d, reply result from LLD: %d\n)", - __func__, ret, errno, rsp->result); - - if (sg_io.info || rsp->result) { - ALOGE("%s: Error from sg_io info (check sg info: device_status: 0x%x, transport_status: 0x%x, driver_status: 0x%x, reply result from LLD: %d\n)", - __func__, sg_io.device_status, sg_io.transport_status, - sg_io.driver_status, rsp->result); - ret = -EAGAIN; - } - - return ret; -} - -static void compose_ufs_bsg_query_req(struct ufs_bsg_request *req, __u8 func, - __u8 opcode, __u8 idn, __u8 index, __u8 sel, - __u16 length) -{ - struct utp_upiu_header *hdr = &req->upiu_req.header; - struct utp_upiu_query *qr = &req->upiu_req.qr; - - req->msgcode = UTP_UPIU_QUERY_REQ; - hdr->dword_0 = DWORD(UTP_UPIU_QUERY_REQ, 0, 0, 0); - hdr->dword_1 = DWORD(0, func, 0, 0); - hdr->dword_2 = DWORD(0, 0, length >> 8, (__u8)length); - qr->opcode = opcode; - qr->idn = idn; - qr->index = index; - qr->selector = sel; - qr->length = htobe16(length); -} - - -static int ufs_query_attr(int fd, __u32 value, - __u8 func, __u8 opcode, __u8 idn, - __u8 index, __u8 sel) -{ - struct ufs_bsg_request req{}; - struct ufs_bsg_reply rsp{}; - enum bsg_ioctl_dir dir = BSG_IOCTL_DIR_FROM_DEV; - int ret = 0; - - if (opcode == QUERY_REQ_OP_WRITE_DESC || opcode == QUERY_REQ_OP_WRITE_ATTR) - dir = BSG_IOCTL_DIR_TO_DEV; - - req.upiu_req.qr.value = htobe32(value); - - compose_ufs_bsg_query_req(&req, func, opcode, idn, index, sel, 0); - - ret = ufs_bsg_ioctl(fd, &req, &rsp, 0, 0, dir); - if (ret) - ALOGE("%s: Error from ufs_bsg_ioctl (return value: %d, error no: %d\n)", - __func__, ret, errno); - - return ret; -} - -int32_t set_boot_lun(char *sg_dev __unused,uint8_t lun_id) -{ - int32_t ret; - __u32 boot_lun_id = lun_id; - - ret = get_ufs_bsg_dev(); - if (ret) - return ret; - ALOGV("Found the ufs bsg dev: %s\n", ufs_bsg_dev); - - ret = ufs_bsg_dev_open(); - if (ret) - return ret; - ALOGV("Opened ufs bsg dev: %s\n", ufs_bsg_dev); - - ret = ufs_query_attr(fd_ufs_bsg, boot_lun_id, QUERY_REQ_FUNC_STD_WRITE, - QUERY_REQ_OP_WRITE_ATTR, QUERY_ATTR_IDN_BOOT_LU_EN, 0, 0); - if (ret) { - ALOGE("Error requesting ufs attr idn %d via query ioctl (return value: %d, error no: %d)", - QUERY_ATTR_IDN_BOOT_LU_EN, ret, errno); - goto out; - } -out: - ufs_bsg_dev_close(); - return ret; -} -#endif - -#ifndef _BSG_FRAMEWORK_KERNEL_HEADERS -int32_t set_boot_lun(char *sg_dev, uint8_t boot_lun_id) -{ -#ifndef _GENERIC_KERNEL_HEADERS - int fd = -1; - int rc; - struct ufs_ioctl_query_data *data = NULL; - size_t ioctl_data_size = sizeof(struct ufs_ioctl_query_data) + UFS_ATTR_DATA_SIZE; - - data = (struct ufs_ioctl_query_data*)malloc(ioctl_data_size); - if (!data) { - fprintf(stderr, "%s: Failed to alloc query data struct\n", - __func__); - goto error; - } - memset(data, 0, ioctl_data_size); - data->opcode = UPIU_QUERY_OPCODE_WRITE_ATTR; - data->idn = QUERY_ATTR_IDN_BOOT_LU_EN; - data->buf_size = UFS_ATTR_DATA_SIZE; - data->buffer[0] = boot_lun_id; - fd = open(sg_dev, O_RDWR); - if (fd < 0) { - fprintf(stderr, "%s: Failed to open %s(%s)\n", - __func__, - sg_dev, - strerror(errno)); - goto error; - } - rc = ioctl(fd, UFS_IOCTL_QUERY, data); - if (rc) { - fprintf(stderr, "%s: UFS query ioctl failed(%s)\n", - __func__, - strerror(errno)); - goto error; - } - close(fd); - free(data); - return 0; -error: - if (fd >= 0) - close(fd); - if (data) - free(data); - return -1; -#else - return 0; -#endif -} -#endif - diff --git a/gpt-utils/recovery-ufs-bsg.h b/gpt-utils/recovery-ufs-bsg.h deleted file mode 100644 index fafea5f..0000000 --- a/gpt-utils/recovery-ufs-bsg.h +++ /dev/null @@ -1,131 +0,0 @@ -#ifndef __RECOVERY_UFS_BSG_H__ -#define __RECOVERY_UFS_BSG_H__ - -/* - * Copyright (c) 2020 The Linux Foundation. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials provided - * with the distribution. - * * Neither the name of The Linux Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR - * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE - * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN - * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - - -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include - -#ifdef ANDROID -#include "cutils/log.h" -#endif - -#ifdef OE -#include -#define LOGI(...) syslog(LOG_NOTICE, "INFO:" __VA_ARGS__) -#define LOGV(...) syslog(LOG_NOTICE,"VERB:" __VA_ARGS__) -#define LOGD(...) syslog(LOG_DEBUG,"DBG:" __VA_ARGS__) -#define LOGE(...) syslog(LOG_ERR,"ERR:" __VA_ARGS__) -#define LOGW(...) syslog(LOG_WARNING,"WRN:" __VA_ARGS__) -#define strlcat(d,s,l) snprintf(d+strlen(d),l,"%s",s) -#endif - - - -#define FNAME_SZ 64 - -#define SG_IO 0x2285 - -#define DWORD(b3, b2, b1, b0) htobe32((b3 << 24) | (b2 << 16) |\ - (b1 << 8) | b0) - -/* UFS BSG device nodes */ -char ufs_bsg_dev[FNAME_SZ] = "/dev/ufs-bsg"; - -int fd_ufs_bsg; - -int32_t set_ufs_lun(uint8_t lun_id); - -#ifdef _BSG_FRAMEWORK_KERNEL_HEADERS -/* UPIU Transaction Codes */ -enum { - UTP_UPIU_NOP_OUT = 0x00, - UTP_UPIU_COMMAND = 0x01, - UTP_UPIU_DATA_OUT = 0x02, - UTP_UPIU_TASK_REQ = 0x04, - UTP_UPIU_QUERY_REQ = 0x16, -}; - -/* UPIU Query Function field */ -enum { - QUERY_REQ_FUNC_STD_READ = 0x01, - QUERY_REQ_FUNC_STD_WRITE = 0x81, -}; - -enum query_req_opcode { - QUERY_REQ_OP_READ_DESC = 0x1, - QUERY_REQ_OP_WRITE_DESC = 0x2, - QUERY_REQ_OP_READ_ATTR = 0x3, - QUERY_REQ_OP_WRITE_ATTR = 0x4, - QUERY_REQ_OP_READ_FLAG = 0x5, - QUERY_REQ_OP_SET_FLAG = 0x6, - QUERY_REQ_OP_CLEAR_FLAG = 0x7, - QUERY_REQ_OP_TOGGLE_FLAG = 0x8, -}; - -enum query_desc_idn { - QUERY_DESC_IDN_DEVICE = 0x0, - QUERY_DESC_IDN_UNIT = 0x2, - QUERY_DESC_IDN_GEOMETRY = 0x7, -}; - -enum query_desc_size { - QUERY_DESC_SIZE_DEVICE = 0x40, - QUERY_DESC_SIZE_GEOMETRY = 0x48, - QUERY_DESC_SIZE_UNIT = 0x23, -}; - -enum bsg_ioctl_dir { - BSG_IOCTL_DIR_TO_DEV, - BSG_IOCTL_DIR_FROM_DEV, -}; - -enum query_attr_idn { - QUERY_ATTR_IDN_BOOT_LU_EN = 0x00, - QUERY_ATTR_IDN_RESERVED = 0x01, - QUERY_ATTR_IDN_POWER_MODE = 0x02, - QUERY_ATTR_IDN_ACTIVE_ICC_LVL = 0x03, -}; -#endif /* _BSG_FRAMEWORK_KERNEL_HEADERS */ - -#endif /* __RECOVERY_UFS_BSG_H__ */ diff --git a/gpt-utils/sparse_crc32.cpp b/gpt-utils/sparse_crc32.cpp deleted file mode 100644 index 267322c..0000000 --- a/gpt-utils/sparse_crc32.cpp +++ /dev/null @@ -1,97 +0,0 @@ -/*- - * COPYRIGHT (C) 1986 Gary S. Brown. You may use this program, or - * code or tables extracted from it, as desired without restriction. - */ - -/* - * First, the polynomial itself and its table of feedback terms. The - * polynomial is - * X^32+X^26+X^23+X^22+X^16+X^12+X^11+X^10+X^8+X^7+X^5+X^4+X^2+X^1+X^0 - * - * Note that we take it "backwards" and put the highest-order term in - * the lowest-order bit. The X^32 term is "implied"; the LSB is the - * X^31 term, etc. The X^0 term (usually shown as "+1") results in - * the MSB being 1 - * - * Note that the usual hardware shift register implementation, which - * is what we're using (we're merely optimizing it by doing eight-bit - * chunks at a time) shifts bits into the lowest-order term. In our - * implementation, that means shifting towards the right. Why do we - * do it this way? Because the calculated CRC must be transmitted in - * order from highest-order term to lowest-order term. UARTs transmit - * characters in order from LSB to MSB. By storing the CRC this way - * we hand it to the UART in the order low-byte to high-byte; the UART - * sends each low-bit to hight-bit; and the result is transmission bit - * by bit from highest- to lowest-order term without requiring any bit - * shuffling on our part. Reception works similarly - * - * The feedback terms table consists of 256, 32-bit entries. Notes - * - * The table can be generated at runtime if desired; code to do so - * is shown later. It might not be obvious, but the feedback - * terms simply represent the results of eight shift/xor opera - * tions for all combinations of data and CRC register values - * - * The values must be right-shifted by eight bits by the "updcrc - * logic; the shift must be unsigned (bring in zeroes). On some - * hardware you could probably optimize the shift in assembler by - * using byte-swap instructions - * polynomial $edb88320 - * - * - * CRC32 code derived from work by Gary S. Brown. - */ - -/* Code taken from FreeBSD 8 */ -#include -#include - -static uint32_t crc32_tab[] = { - 0x00000000, 0x77073096, 0xee0e612c, 0x990951ba, 0x076dc419, 0x706af48f, 0xe963a535, 0x9e6495a3, - 0x0edb8832, 0x79dcb8a4, 0xe0d5e91e, 0x97d2d988, 0x09b64c2b, 0x7eb17cbd, 0xe7b82d07, 0x90bf1d91, - 0x1db71064, 0x6ab020f2, 0xf3b97148, 0x84be41de, 0x1adad47d, 0x6ddde4eb, 0xf4d4b551, 0x83d385c7, - 0x136c9856, 0x646ba8c0, 0xfd62f97a, 0x8a65c9ec, 0x14015c4f, 0x63066cd9, 0xfa0f3d63, 0x8d080df5, - 0x3b6e20c8, 0x4c69105e, 0xd56041e4, 0xa2677172, 0x3c03e4d1, 0x4b04d447, 0xd20d85fd, 0xa50ab56b, - 0x35b5a8fa, 0x42b2986c, 0xdbbbc9d6, 0xacbcf940, 0x32d86ce3, 0x45df5c75, 0xdcd60dcf, 0xabd13d59, - 0x26d930ac, 0x51de003a, 0xc8d75180, 0xbfd06116, 0x21b4f4b5, 0x56b3c423, 0xcfba9599, 0xb8bda50f, - 0x2802b89e, 0x5f058808, 0xc60cd9b2, 0xb10be924, 0x2f6f7c87, 0x58684c11, 0xc1611dab, 0xb6662d3d, - 0x76dc4190, 0x01db7106, 0x98d220bc, 0xefd5102a, 0x71b18589, 0x06b6b51f, 0x9fbfe4a5, 0xe8b8d433, - 0x7807c9a2, 0x0f00f934, 0x9609a88e, 0xe10e9818, 0x7f6a0dbb, 0x086d3d2d, 0x91646c97, 0xe6635c01, - 0x6b6b51f4, 0x1c6c6162, 0x856530d8, 0xf262004e, 0x6c0695ed, 0x1b01a57b, 0x8208f4c1, 0xf50fc457, - 0x65b0d9c6, 0x12b7e950, 0x8bbeb8ea, 0xfcb9887c, 0x62dd1ddf, 0x15da2d49, 0x8cd37cf3, 0xfbd44c65, - 0x4db26158, 0x3ab551ce, 0xa3bc0074, 0xd4bb30e2, 0x4adfa541, 0x3dd895d7, 0xa4d1c46d, 0xd3d6f4fb, - 0x4369e96a, 0x346ed9fc, 0xad678846, 0xda60b8d0, 0x44042d73, 0x33031de5, 0xaa0a4c5f, 0xdd0d7cc9, - 0x5005713c, 0x270241aa, 0xbe0b1010, 0xc90c2086, 0x5768b525, 0x206f85b3, 0xb966d409, 0xce61e49f, - 0x5edef90e, 0x29d9c998, 0xb0d09822, 0xc7d7a8b4, 0x59b33d17, 0x2eb40d81, 0xb7bd5c3b, 0xc0ba6cad, - 0xedb88320, 0x9abfb3b6, 0x03b6e20c, 0x74b1d29a, 0xead54739, 0x9dd277af, 0x04db2615, 0x73dc1683, - 0xe3630b12, 0x94643b84, 0x0d6d6a3e, 0x7a6a5aa8, 0xe40ecf0b, 0x9309ff9d, 0x0a00ae27, 0x7d079eb1, - 0xf00f9344, 0x8708a3d2, 0x1e01f268, 0x6906c2fe, 0xf762575d, 0x806567cb, 0x196c3671, 0x6e6b06e7, - 0xfed41b76, 0x89d32be0, 0x10da7a5a, 0x67dd4acc, 0xf9b9df6f, 0x8ebeeff9, 0x17b7be43, 0x60b08ed5, - 0xd6d6a3e8, 0xa1d1937e, 0x38d8c2c4, 0x4fdff252, 0xd1bb67f1, 0xa6bc5767, 0x3fb506dd, 0x48b2364b, - 0xd80d2bda, 0xaf0a1b4c, 0x36034af6, 0x41047a60, 0xdf60efc3, 0xa867df55, 0x316e8eef, 0x4669be79, - 0xcb61b38c, 0xbc66831a, 0x256fd2a0, 0x5268e236, 0xcc0c7795, 0xbb0b4703, 0x220216b9, 0x5505262f, - 0xc5ba3bbe, 0xb2bd0b28, 0x2bb45a92, 0x5cb36a04, 0xc2d7ffa7, 0xb5d0cf31, 0x2cd99e8b, 0x5bdeae1d, - 0x9b64c2b0, 0xec63f226, 0x756aa39c, 0x026d930a, 0x9c0906a9, 0xeb0e363f, 0x72076785, 0x05005713, - 0x95bf4a82, 0xe2b87a14, 0x7bb12bae, 0x0cb61b38, 0x92d28e9b, 0xe5d5be0d, 0x7cdcefb7, 0x0bdbdf21, - 0x86d3d2d4, 0xf1d4e242, 0x68ddb3f8, 0x1fda836e, 0x81be16cd, 0xf6b9265b, 0x6fb077e1, 0x18b74777, - 0x88085ae6, 0xff0f6a70, 0x66063bca, 0x11010b5c, 0x8f659eff, 0xf862ae69, 0x616bffd3, 0x166ccf45, - 0xa00ae278, 0xd70dd2ee, 0x4e048354, 0x3903b3c2, 0xa7672661, 0xd06016f7, 0x4969474d, 0x3e6e77db, - 0xaed16a4a, 0xd9d65adc, 0x40df0b66, 0x37d83bf0, 0xa9bcae53, 0xdebb9ec5, 0x47b2cf7f, 0x30b5ffe9, - 0xbdbdf21c, 0xcabac28a, 0x53b39330, 0x24b4a3a6, 0xbad03605, 0xcdd70693, 0x54de5729, 0x23d967bf, - 0xb3667a2e, 0xc4614ab8, 0x5d681b02, 0x2a6f2b94, 0xb40bbe37, 0xc30c8ea1, 0x5a05df1b, 0x2d02ef8d}; - -/* - * A function that calculates the CRC-32 based on the table above is - * given below for documentation purposes. An equivalent implementation - * of this function that's actually used in the kernel can be found - * in sys/libkern.h, where it can be inlined. - */ - -uint32_t sparse_crc32(uint32_t crc_in, const void* buf, size_t size) { - const uint8_t* p = reinterpret_cast(buf); - uint32_t crc; - - crc = crc_in ^ ~0U; - while (size--) crc = crc32_tab[(crc ^ *p++) & 0xFF] ^ (crc >> 8); - return crc ^ ~0U; -} diff --git a/gpt-utils/sparse_crc32.h b/gpt-utils/sparse_crc32.h deleted file mode 100644 index 2702c4f..0000000 --- a/gpt-utils/sparse_crc32.h +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright (C) 2010 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef _LIBSPARSE_SPARSE_CRC32_H_ -#define _LIBSPARSE_SPARSE_CRC32_H_ - -#include - -uint32_t sparse_crc32(uint32_t crc, const void* buf, size_t size); - -#endif diff --git a/init/Android.bp b/init/Android.bp new file mode 100644 index 0000000..6358f9e --- /dev/null +++ b/init/Android.bp @@ -0,0 +1,78 @@ +// +// Copyright (C) 2022 The LineageOS Project +// SPDX-License-Identifier: Apache-2.0 +// + +cc_library_static { + name: "libinit_oplus", + recovery_available: true, + shared_libs: ["libbase"], + srcs: ["init_oplus.cpp"], +} + +prebuilt_etc { + name: "fstab.qcom", + src: "fstab.qcom", + vendor: true, + vendor_ramdisk_available: true, +} + +prebuilt_etc { + name: "init.oplus.rc", + src: "init.oplus.rc", + sub_dir: "init", + device_specific: true, +} + +prebuilt_etc { + name: "init.qcom.rc", + src: "init.qcom.rc", + sub_dir: "init/hw", + vendor: true, +} + +prebuilt_etc { + name: "init.qcom.recovery.rc", + src: "init.qcom.recovery.rc", + sub_dir: "init", + recovery: true, +} + +prebuilt_etc { + name: "init.target.rc", + src: "init.target.rc", + sub_dir: "init/hw", + vendor: true, +} + +prebuilt_etc { + name: "ueventd.oplus.rc", + filename: "ueventd.rc", + src: "ueventd.oplus.rc", + device_specific: true, +} + +prebuilt_etc { + name: "ueventd.qcom.rc", + filename: "ueventd.rc", + src: "ueventd.qcom.rc", + vendor: true, +} + +sh_binary { + name: "init.class_main.sh", + src: "init.class_main.sh", + vendor: true, +} + +sh_binary { + name: "init.qcom.early_boot.sh", + src: "init.qcom.early_boot.sh", + vendor: true, +} + +sh_binary { + name: "init.qcom.sh", + src: "init.qcom.sh", + vendor: true, +} diff --git a/rootdir/etc/fstab.qcom b/init/fstab.qcom similarity index 90% rename from rootdir/etc/fstab.qcom rename to init/fstab.qcom index 8ce7314..dbc85d3 100644 --- a/rootdir/etc/fstab.qcom +++ b/init/fstab.qcom @@ -38,15 +38,14 @@ system /system ext4 ro,barrier=1,discard wait,slotselect,avb=vbmeta_system,logical,first_stage_mount,avb_keys=/avb/q-gsi.avbpubkey:/avb/r-gsi.avbpubkey:/avb/s-gsi.avbpubkey system_ext /system_ext ext4 ro,barrier=1,discard wait,slotselect,avb=vbmeta_system,logical,first_stage_mount product /product ext4 ro,barrier=1,discard wait,slotselect,avb=vbmeta_system,logical,first_stage_mount -vendor /vendor ext4 ro,barrier=1,discard wait,slotselect,avb,logical,first_stage_mount -vendor_dlkm /vendor_dlkm ext4 ro,barrier=1,discard wait,slotselect,avb,logical,first_stage_mount -odm /odm ext4 ro,barrier=1,discard wait,slotselect,avb,logical,first_stage_mount -/dev/block/bootdevice/by-name/opluslog /mnt/vendor/op2 ext4 noatime,nosuid,nodev,barrier=1,data=ordered wait,check -/dev/block/by-name/metadata /metadata ext4 noatime,nosuid,nodev,discard wait,check,formattable,first_stage_mount +vendor /vendor erofs ro wait,slotselect,avb,logical,first_stage_mount +vendor_dlkm /vendor_dlkm erofs ro wait,slotselect,avb,logical,first_stage_mount +odm /odm erofs ro wait,slotselect,avb,logical,first_stage_mount +/dev/block/by-name/metadata /metadata ext4 noatime,nosuid,nodev,discard,data=journal,commit=1 wait,check,formattable,first_stage_mount /dev/block/bootdevice/by-name/persist /mnt/vendor/persist ext4 noatime,nosuid,nodev,barrier=1 wait /dev/block/bootdevice/by-name/userdata /data f2fs noatime,nosuid,nodev,discard,inlinecrypt,reserve_root=32768,resgid=1065,fsync_mode=nobarrier latemount,wait,check,formattable,fileencryption=aes-256-xts:aes-256-cts:v2+inlinecrypt_optimized+wrappedkey_v0,keydirectory=/metadata/vold/metadata_encryption,metadata_encryption=aes-256-xts:wrappedkey_v0,quota,reservedsize=128M,checkpoint=fs /dev/block/bootdevice/by-name/misc /misc emmc defaults defaults -/devices/platform/soc/4784000.sdhci/mmc_host* /storage/sdcard1 vfat nosuid,nodev wait,voldmanaged=sdcard1:auto +/devices/platform/soc/4784000.sdhci/mmc_host* /storage/sdcard1 auto nosuid,nodev wait,voldmanaged=sdcard1:auto /devices/platform/soc/*.ssusb/*.dwc3/xhci-hcd.*.auto* /storage/usbotg vfat nosuid,nodev wait,voldmanaged=usbotg:auto /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,slotselect /dev/block/bootdevice/by-name/dsp /vendor/dsp ext4 ro,nosuid,nodev,barrier=1 wait,slotselect diff --git a/rootdir/bin/init.class_main.sh b/init/init.class_main.sh similarity index 100% rename from rootdir/bin/init.class_main.sh rename to init/init.class_main.sh diff --git a/init/init.oplus.rc b/init/init.oplus.rc new file mode 100644 index 0000000..5d5069f --- /dev/null +++ b/init/init.oplus.rc @@ -0,0 +1,61 @@ +# +# Copyright (C) 2022-2024 The LineageOS Project +# +# SPDX-License-Identifier: Apache-2.0 +# + +on fs + # Update touchpanel firmware in case we ship newer firmware in /odm + write /proc/touchpanel/tp_fw_update 0 + +on early-boot + # SSR + write /sys/bus/msm_subsys/devices/subsys0/restart_level RELATED + write /sys/bus/msm_subsys/devices/subsys1/restart_level RELATED + write /sys/bus/msm_subsys/devices/subsys2/restart_level RELATED + write /sys/bus/msm_subsys/devices/subsys3/restart_level RELATED + write /sys/bus/msm_subsys/devices/subsys4/restart_level RELATED + write /sys/bus/msm_subsys/devices/subsys5/restart_level RELATED + write /sys/bus/msm_subsys/devices/subsys6/restart_level RELATED + write /sys/bus/msm_subsys/devices/subsys7/restart_level RELATED + write /sys/bus/msm_subsys/devices/subsys8/restart_level RELATED + write /sys/bus/msm_subsys/devices/subsys9/restart_level RELATED + write /sys/bus/msm_subsys/devices/subsys10/restart_level RELATED + write /sys/bus/msm_subsys/devices/subsys11/restart_level RELATED + +on boot + # Display + chown system system /dev/oplus_display + chown system system /sys/kernel/oplus_display/dimlayer_bl_en + chown system system /sys/kernel/oplus_display/dynamic_osc_clock + chown system system /sys/kernel/oplus_display/hbm + chown system system /sys/kernel/oplus_display/notify_fppress + chown system system /sys/kernel/oplus_display/panel_serial_number + + # Sensors + chown system system /sys/devices/platform/soc/soc:sensor_fb/adsp_notify + +on property:ro.boot.prjname=* + # Display + setprop ro.separate.soft ${ro.boot.prjname} + +on property:sys.boot_completed=1 + # Display + copy /vendor/etc/Oppo_QC_LTM_Commercial_SM8250_2020_01_15.pfm /mnt/vendor/persist/data/pfm/licenses/1000-1000-no-exp-1186717196.pfm + chmod 0600 /mnt/vendor/persist/data/pfm/licenses/1000-1000-no-exp-1186717196.pfm + chown system system /mnt/vendor/persist/data/pfm/licenses/1000-1000-no-exp-1186717196.pfm + # Enable PowerHAL hint processing + setprop vendor.powerhal.init 1 + +on property:vendor.post_boot.parsed=1 + # IRQ Tuning + # IRQ 243: msm_drm + # IRQ 240: kgsl_3d0_irq + write /proc/irq/243/smp_affinity_list 2 + write /proc/irq/240/smp_affinity_list 1 + +service oplus_sensor_fb /odm/bin/oplus_sensor_fb + user system + group system + class late_start + oneshot diff --git a/rootdir/bin/init.qcom.early_boot.sh b/init/init.qcom.early_boot.sh similarity index 94% rename from rootdir/bin/init.qcom.early_boot.sh rename to init/init.qcom.early_boot.sh index e6bb800..ad8f106 100755 --- a/rootdir/bin/init.qcom.early_boot.sh +++ b/init/init.qcom.early_boot.sh @@ -1,6 +1,6 @@ #! /vendor/bin/sh -# Copyright (c) 2012-2013,2016,2018-2020 The Linux Foundation. All rights reserved. +# Copyright (c) 2012-2013,2016,2018-2021 The Linux Foundation. All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: @@ -255,6 +255,9 @@ case "$target" in # 196610 is decimal for 0x30002 to report version 3.2 case "$soc_hwid" in 294|295|296|297|298|313|353|354|363|364) + # Disable adsprpcd_sensorspd daemon + setprop vendor.fastrpc.disable.adsprpcd_sensorspd.daemon 1 + setprop vendor.opengles.version 196610 if [ $soc_hwid = 354 ] then @@ -267,6 +270,8 @@ case "$target" in setprop vendor.opengles.version 196608 setprop persist.graphics.vulkan.disable true setprop vendor.gralloc.disable_ahardware_buffer 1 + # Disable adsprpcd_sensorspd daemon + setprop vendor.fastrpc.disable.adsprpcd_sensorspd.daemon 1 ;; *) setprop vendor.opengles.version 196608 @@ -365,9 +370,7 @@ case "$target" in setprop vendor.display.enhance_idle_time 1 setprop vendor.netflix.bsp_rev "" ;; - *) - # default case is for bengal - setprop vendor.netflix.bsp_rev "Q6115-31409-1" + 518) ;; esac ;; @@ -420,15 +423,23 @@ case "$target" in setprop vendor.media.target_variant "_holi" ;; esac +case "$target" in + "msm8937") + case "$soc_hwid" in + 386|354|353|303) + # enable qrtr-ns service for kernel 4.14 or above + KernelVersionStr=`cat /proc/sys/kernel/osrelease` + KernelVersionS=${KernelVersionStr:2:2} + KernelVersionA=${KernelVersionStr:0:1} + KernelVersionB=${KernelVersionS%.*} -baseband=`getprop ro.baseband` -#enable atfwd daemon all targets except sda, apq, qcs -case "$baseband" in - "apq" | "sda" | "qcs" ) - setprop persist.vendor.radio.atfwd.start false;; - *) - setprop persist.vendor.radio.atfwd.start true;; -esac + if [ $KernelVersionA -ge 4 ] && [ $KernelVersionB -ge 14 ]; then + setprop init.svc.vendor.qrtrns.enable 1 + fi + ;; + esac + ;; + esac #set default lcd density #Since lcd density has read only @@ -473,6 +484,14 @@ case "$product" in *) ;; esac + +case "$product" in + "msmnile_gvmgh") + setprop vendor.display.lcd_density 160 + ;; + *) + ;; +esac # Setup display nodes & permissions # HDMI can be fb1 or fb2 # Loop through the sysfs nodes and determine diff --git a/rootdir/etc/init.qcom.rc b/init/init.qcom.rc similarity index 81% rename from rootdir/etc/init.qcom.rc rename to init/init.qcom.rc index f02918d..fb94ed4 100644 --- a/rootdir/etc/init.qcom.rc +++ b/init/init.qcom.rc @@ -25,21 +25,11 @@ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # -#ifdef VENDOR_EDIT -import /vendor/etc/init/hw/init.oem.rc -import /vendor/etc/init/hw/init.oem.debug.rc -#endif VENDOR_EDIT - -#ifdef VENDOR_EDIT -import /vendor/etc/init/hw/init.oem.entry.rc -#endif VENDOR_EDIT - import /vendor/etc/init/hw/init.qti.ufs.rc import /vendor/etc/init/hw/init.qcom.usb.rc import /vendor/etc/init/hw/init.qcom.test.rc import /vendor/etc/init/hw/init.target.rc import /vendor/etc/init/hw/init.qcom.factory.rc -import /vendor/etc/init/hw/init.oem.rc on early-init mount debugfs debugfs /sys/kernel/debug @@ -71,8 +61,6 @@ on early-init chown root system /dev/kmsg chmod 0620 /dev/kmsg - # Load WIGIG platform driver - exec u:r:vendor_modprobe:s0 -- /vendor/bin/modprobe -a -d /vendor/lib/modules msm_11ad_proxy on init @@ -85,14 +73,15 @@ on init write /sys/fs/cgroup/memory/bg/memory.swappiness 140 write /sys/fs/cgroup/memory/bg/memory.move_charge_at_immigrate 1 chown root system /sys/fs/cgroup/memory/bg/tasks + write /sys/kernel/icnss/wpss_boot 1 chmod 0660 /sys/fs/cgroup/memory/bg/tasks on post-fs chmod 0755 /sys/kernel/debug/tracing on early-boot - # set RLIMIT_MEMLOCK to 64MB - setrlimit 8 67108864 67108864 + # set RLIMIT_MEMLOCK to 64KB + setrlimit 8 65536 65536 # Allow subsystem (modem etc) debugging write /sys/kernel/boot_adsp/boot 1 write /sys/kernel/boot_cdsp/boot 1 @@ -163,9 +152,6 @@ on boot mkdir /mnt/vendor/persist/iar_db 0770 system system mkdir /mnt/vendor/spunvm 0770 system system - #Create WIGIG socket area - mkdir /dev/socket/wigig 0770 wifi wifi - setprop wifi.interface wlan0 setprop ro.telephony.call_ring.multiple false @@ -186,19 +172,13 @@ on boot # an ack packet comes out of order write /proc/sys/net/netfilter/nf_conntrack_tcp_be_liberal 1 - # Set the console loglevel to < KERN_WARN - # Set the default message loglevel to KERN_INFO - write /proc/sys/kernel/printk "4 6 1 7" - # Allow access for CCID command/response timeout configuration chown system system /sys/module/ccid_bridge/parameters/bulk_msg_timeout # bond0 used by FST Manager chown wifi wifi /sys/class/net/bond0/bonding/queue_id - # Allow access to emmc rawdump block partition and dload sysfs node - chown root system /dev/block/bootdevice/by-name/rawdump - chmod 0660 /dev/block/bootdevice/by-name/rawdump + # Allow access to emmc dload sysfs node chown root system /sys/kernel/dload/emmc_dload chmod 0660 /sys/kernel/dload/emmc_dload chown root system /dev/block/bootdevice/by-name/ramdump @@ -221,10 +201,6 @@ on boot chown system system /sys/class/sensors/apds9930-proximity/enable chown system system /sys/class/sensors/apds9930-proximity/poll_delay - # Allow access to fpc fingerprint device attributes - chmod 0666 /sys/bus/platform/devices/soc/soc:fpc1020/wakeup_enable - chown system system /sys/bus/platform/devices/soc/soc:fpc1020/wakeup_enable - # Create directory used for display # for backward compatibility mkdir /persist/display 0770 system graphics @@ -240,24 +216,6 @@ on boot # limit discard size to 128MB in order to avoid long IO latency write /sys/block/sda/queue/discard_max_bytes 134217728 - # bin.zhong@ASTI, 2019/08/06, Add for OMM - chmod 0750 /dev/memcg - chown system system /dev/memplus - - # allen.lv@ASTI, 2019/10/12, Add for Virtual Memory Defragment - chmod 0660 /dev/fragment_monitor - chown system system /dev/fragment_monitor - - #QDSS - chown root oem_2902 /sys/devices/platform/soc/8048000.tmc/coresight-tmc-etr/block_size - chmod 660 /sys/devices/platform/soc/8048000.tmc/coresight-tmc-etr/block_size - - #enable coresight for diag_mdlog_system over qdss - write /sys/bus/coresight/devices/coresight-tmc-etr/buffer_size 0x2000000 - write /sys/bus/coresight/devices/coresight-tmc-etr/enable_sink 1 - write /sys/bus/coresight/devices/coresight-stm/enable_source 1 - write /sys/bus/coresight/devices/coresight-stm/hwevent_enable 0 - # msm specific files that need to be created on /data on post-fs-data mkdir /data/vendor/misc 01771 system system @@ -268,12 +226,6 @@ on post-fs-data # Create directory used by display clients mkdir /data/vendor/display 0770 system graphics - # Change lm related dirs - mkdir /data/vendor/lm 0700 root root - - # Create directory used by powermodule - mkdir /data/vendor/pwr 0700 root root - # Create directory used by media clients mkdir /data/vendor/media 0770 mediacodec media @@ -301,13 +253,9 @@ on post-fs-data mkdir /data/vendor/wifi/hostapd 0770 wifi wifi mkdir /data/vendor/wifi/hostapd/ctrl 0770 wifi wifi mkdir /data/vendor/wifi/wpa_supplicant 0770 wifi wifi - mkdir /data/vendor/wifi/wigig_hostapd 0770 wifi wifi mkdir /data/vendor/wifi/wpa 0770 wifi wifi mkdir /data/vendor/wifi/wpa/sockets 0770 wifi wifi - # Create the directories used by WiGig Sensing - mkdir /data/vendor/sensing 0770 system wifi - # Create the directories used by CnE subsystem mkdir /data/vendor/connectivity 0771 radio radio chown radio radio /data/vendor/connectivity @@ -352,6 +300,7 @@ on post-fs-data mkdir /dev/socket/location 0770 gps gps mkdir /dev/socket/location/mq 0770 gps gps mkdir /dev/socket/location/xtra 0770 gps gps + mkdir /dev/socket/location/dgnss 0770 gps gps #Create directories for wifihal services mkdir /dev/socket/wifihal 0770 wifi wifi @@ -369,16 +318,8 @@ on post-fs-data mkdir /data/vendor/fm 0770 system system chmod 0770 /data/vendor/fm - #Create PERFD deamon related dirs - mkdir /data/vendor/perfd 0770 root system - chmod 2770 /data/vendor/perfd - rm /data/vendor/perfd/default_values - mkdir /data/vendor/secure_element 0777 system system - #Create IOP deamon related dirs - mkdir /data/vendor/iop 0700 root system - # Mark the copy complete flag to not completed write /data/vendor/radio/copy_complete 0 chown radio radio /data/vendor/radio/copy_complete @@ -430,13 +371,6 @@ service nqnfcinfo /system/vendor/bin/nqnfcinfo user system oneshot -service iop /system/vendor/bin/iop - class main - user root - group root - disabled - socket iop seqpacket 0666 root system - service qcomsysd /system/vendor/bin/qcom-system-daemon class main user root @@ -487,7 +421,7 @@ on property:persist.sys.pil_proxy_timeout=* on property:persist.vendor.ssr.restart_level=* start vendor.ssr_setup -on property:persist.vendor.ssr.enable_ramdumps=1 && property:ro.boot.mode=normal +on property:persist.vendor.ssr.enable_ramdumps=1 write /sys/module/subsystem_restart/parameters/enable_ramdumps 1 mkdir /data/vendor/ramdump_ssr 770 system system start vendor.ss_ramdump @@ -514,12 +448,6 @@ on property:sys.boot_completed=1 #Reinit lmkd to reconfigure lmkd properties setprop lmkd.reinit 1 -on property:persist.vendor.radio.atfwd.start=false - stop vendor.atfwd - -on property:vendor.radio.atfwd.start=false - stop vendor.atfwd - # corefile limit on property:persist.debug.trace=1 mkdir /data/core 0777 root root @@ -575,65 +503,6 @@ service vendor.move_wifi_data /system/bin/move_wifi_data.sh disabled oneshot -service wigignpt /vendor/bin/wigignpt - interface vendor.qti.hardware.wigig.netperftuner@1.0::INetPerfTuner default - class hal - socket wigig/wigignpt stream 660 system wifi - user system - group wifi - capabilities NET_ADMIN - disabled - -on property:persist.vendor.wigig.npt.enable=1 - start wigignpt - -service vendor.sensingdaemon /vendor/bin/sensingdaemon - class hal - socket wigig/sensingdaemon stream 660 system wifi - user system - group wifi - disabled - -service dhcpcd_wlan0 /system/bin/dhcpcd -ABKLG - class late_start - disabled - oneshot - -service dhcpcd_bond0 /system/bin/dhcpcd -ABKLG - class late_start - disabled - oneshot - -service dhcpcd_p2p /system/bin/dhcpcd -ABKLG - class late_start - disabled - oneshot - -service dhcpcd_wigig0 /system/bin/dhcpcd -ABKLG - class late_start - disabled - oneshot - -service iprenew_wlan0 /system/bin/dhcpcd -n - class late_start - disabled - oneshot - -service iprenew_bond0 /system/bin/dhcpcd -n - class late_start - disabled - oneshot - -service iprenew_p2p /system/bin/dhcpcd -n - class late_start - disabled - oneshot - -service iprenew_wigig0 /system/bin/dhcpcd -n - class late_start - disabled - oneshot - service ptt_socket_app /system/vendor/bin/ptt_socket_app -d class main user wifi @@ -667,16 +536,6 @@ on property:sys.shutdown.requested=* write /sys/kernel/shutdown_wlan/shutdown 1 stop cnss-daemon -service dhcpcd_bt-pan /system/bin/dhcpcd -BKLG - class late_start - disabled - oneshot - -service iprenew_bt-pan /system/bin/dhcpcd -n - class late_start - disabled - oneshot - service ssgqmigd /vendor/bin/ssgqmigd class late_start user radio @@ -712,13 +571,6 @@ service qcom-post-boot /vendor/bin/init.qcom.post_boot.sh disabled oneshot -#service qti-testscripts /system/bin/sh /product/etc/init.qcom.testscripts.sh -# class late_start -# user root -# disabled -# oneshot -# seclabel u:r:qti-testscripts:s0 - service wifi-sdio-on /vendor/bin/init.qcom.sdio.sh class late_start group wifi inet @@ -733,7 +585,6 @@ service wifi-crda /vendor/bin/init.crda.sh on property:sys.boot_completed=1 start qcom-post-boot - start qti-testscripts on property:ro.vendor.ril.mbn_copy_completed=1 write /data/vendor/radio/copy_complete 1 @@ -743,11 +594,6 @@ service qvop-daemon /vendor/bin/qvop-daemon user system group system drmrpc -service vendor.atfwd /vendor/bin/ATFWD-daemon - class late_start - user system - group system radio - service hostapd_fst /vendor/bin/hw/hostapd -dd -g /data/vendor/wifi/hostapd/global class main capabilities NET_ADMIN NET_RAW @@ -781,48 +627,20 @@ service profiler_daemon /system/bin/profiler_daemon group root disabled -service charger /system/bin/charger - class charger - user system - group system graphics input - capabilities SYS_BOOT - seclabel u:r:charger:s0 - service vendor.ssr_diag /system/vendor/bin/ssr_diag class late_start user system group system disabled -# VENDOR_EDIT BruceChenYC, 2020/06/09, need to add -c to clean mask before start command -service diag_mdlog_start /system/vendor/bin/diag_mdlog -q 2 -j 1 -c -u -d -i - class late_start - user shell - group system oem_2901 oem_2902 sdcard_rw sdcard_r media_rw - disabled - oneshot - -service diag_mdlog_stop /system/vendor/bin/diag_mdlog -k +service diag_mdlog_start /system/vendor/bin/diag_mdlog class late_start user shell group system oem_2901 sdcard_rw sdcard_r media_rw disabled oneshot -# VENDOR_EDIT JamesChang, 2020/02/22, KBA-180917030333 -# VENDOR_EDIT BruceChenYC, 2020/06/09, need to add -c to clean mask before start command -# VENDOR_EDIT BruceChenYC, 2020/07/01, In 8350R Kernel 5.4 delete Diag driver Need to use /system/vendor/bin/diag_mdlog. -#service diag_mdlog_system_start /system/bin/diag_mdlog_system -c -u -service diag_mdlog_system_start /system/vendor/bin/diag_mdlog -q 2 -j 1 -c -u -d -i - class late_start - user shell - group system oem_2901 oem_2902 sdcard_rw sdcard_r media_rw - disabled - oneshot - -# VENDOR_EDIT BruceChenYC, 2020/07/01, In 8350R Kernel 5.4 delete Diag driver Need to use /system/vendor/bin/diag_mdlog. -#service diag_mdlog_system_stop /system/bin/diag_mdlog_system -k -service diag_mdlog_system_stop /system/vendor/bin/diag_mdlog -k +service diag_mdlog_stop /system/vendor/bin/diag_mdlog -k class late_start user shell group system oem_2901 sdcard_rw sdcard_r media_rw @@ -887,7 +705,7 @@ service esepmdaemon /system/vendor/bin/esepmdaemon user system group nfc -on charger +on property:init.svc.vendor.charger=running setprop persist.sys.usb.config mass_storage start qcom-post-boot @@ -957,5 +775,24 @@ service vendor.audio-hal /vendor/bin/hw/android.hardware.audio.service group audio camera drmrpc inet media mediadrm net_bt net_bt_admin net_bw_acct oem_2901 wakelock capabilities BLOCK_SUSPEND ioprio rt 4 - writepid /dev/cpuset/foreground/tasks /dev/stune/foreground/tasks + task_profiles ProcessCapacityHigh HighPerformance onrestart restart audioserver + +service vendor.qti.hardware.display.composer /vendor/bin/hw/vendor.qti.hardware.display.composer-service + override + class hal animation + user system + group graphics drmrpc + capabilities SYS_NICE + onrestart restart surfaceflinger + socket pps stream 0660 system system + task_profiles ProcessCapacityHigh HighPerformance + +service vendor.qti.hardware.display.allocator /vendor/bin/hw/vendor.qti.hardware.display.allocator-service + override + class hal animation + user system + group graphics drmrpc + capabilities SYS_NICE + onrestart restart surfaceflinger + task_profiles ProcessCapacityHigh HighPerformance diff --git a/rootdir/bin/init.qti.kernel.sh b/init/init.qcom.recovery.rc old mode 100755 new mode 100644 similarity index 68% rename from rootdir/bin/init.qti.kernel.sh rename to init/init.qcom.recovery.rc index 642794d..c0fa50d --- a/rootdir/bin/init.qti.kernel.sh +++ b/init/init.qcom.recovery.rc @@ -1,10 +1,4 @@ -#! /vendor/bin/sh -#============================================================================= -# Copyright (c) 2019-2020 Qualcomm Technologies, Inc. -# All Rights Reserved. -# Confidential and Proprietary - Qualcomm Technologies, Inc. -# -# Copyright (c) 2009-2012, 2014-2019, The Linux Foundation. All rights reserved. +# Copyright (c) 2017-2018,2020 The Linux Foundation. All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: @@ -29,20 +23,16 @@ # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -#============================================================================= +# -verify_pasr_support() -{ - if [ -d /sys/kernel/mem-offline ]; then - setprop vendor.pasr.enabled true - fi -} +on init + write /sys/class/backlight/panel0-backlight/brightness 200 + setprop sys.usb.configfs 1 -start_msm_irqbalance() -{ - if [ -f /vendor/bin/msm_irqbalance ]; then - start vendor.msm_irqbalance - fi -} -start_msm_irqbalance -verify_pasr_support +on property:ro.boot.usbcontroller=* + setprop sys.usb.controller ${ro.boot.usbcontroller} + write /sys/class/udc/${ro.boot.usbcontroller}/device/../mode peripheral + +on fs + wait /dev/block/platform/soc/${ro.boot.bootdevice} + symlink /dev/block/platform/soc/${ro.boot.bootdevice} /dev/block/bootdevice diff --git a/rootdir/bin/init.qcom.sh b/init/init.qcom.sh similarity index 100% rename from rootdir/bin/init.qcom.sh rename to init/init.qcom.sh diff --git a/rootdir/etc/init.target.rc b/init/init.target.rc similarity index 65% rename from rootdir/etc/init.target.rc rename to init/init.target.rc index 24b945d..dcd5c76 100644 --- a/rootdir/etc/init.target.rc +++ b/init/init.target.rc @@ -1,5 +1,6 @@ # Copyright (c) 2019-2020, The Linux Foundation. All rights reserved. +# Copyright (c) 2022, Qualcomm Innovation Center, Inc. All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are @@ -29,12 +30,12 @@ # import /vendor/etc/init/hw/init.qti.kernel.rc -# kevin@system, 2020/09/03, add carrier rc -import /vendor/etc/init/hw/init.oem.carrier.rc on early-init exec u:r:vendor_modprobe:s0 -- /vendor/bin/vendor_modprobe.sh - exec u:r:vendor_modprobe:s0 -- /vendor/bin/modprobe -a -d /vendor/lib/modules q6_pdr_dlkm q6_notifier_dlkm snd_event_dlkm apr_dlkm adsp_loader_dlkm q6_dlkm native_dlkm pinctrl_lpi_dlkm swr_dlkm platform_dlkm stub_dlkm wcd_core_dlkm wsa881x_analog_dlkm bolero_cdc_dlkm va_macro_dlkm rx_macro_dlkm tx_macro_dlkm bt_fm_slim wcd938x_dlkm wcd938x_slave_dlkm wcd937x_dlkm wcd937x_slave_dlkm machine_dlkm radio-i2c-rtc6226-qca mmc_core mmc_block sdhci sdhci-pltfm sdhci-msm cdsprm sia81xx_dlkm aw87xxx_dlkm + exec u:r:vendor_modprobe:s0 -- /vendor/bin/modprobe -a -d /vendor/lib/modules q6_pdr_dlkm q6_notifier_dlkm snd_event_dlkm apr_dlkm adsp_loader_dlkm q6_dlkm native_dlkm pinctrl_lpi_dlkm swr_dlkm platform_dlkm stub_dlkm wcd_core_dlkm wsa881x_analog_dlkm bolero_cdc_dlkm va_macro_dlkm rx_macro_dlkm tx_macro_dlkm bt_fm_slim wcd938x_dlkm wcd938x_slave_dlkm wcd937x_dlkm wcd937x_slave_dlkm machine_dlkm radio-i2c-rtc6226-qca cdsprm + exec u:r:vendor_qti_init_shell:s0 -- /vendor/bin/init.qti.early_init.sh + setprop ro.soc.model ${ro.vendor.qti.soc_model} wait /sys/devices/soc0/soc_id on init @@ -58,9 +59,6 @@ on init chmod 0664 /dev/cpuctl/background/tasks chmod 0664 /dev/cpuctl/top-app/tasks chmod 0664 /dev/cpuctl/rt/tasks - #NFC - #chmod 0660 /dev/st21nfc - #chown nfc nfc /dev/st21nfc write /dev/cpuctl/foreground/cpu.rt_runtime_us 950000 write /dev/cpuctl/background/cpu.rt_runtime_us 950000 write /dev/cpuctl/top-app/cpu.rt_runtime_us 950000 @@ -75,30 +73,15 @@ on early-fs on fs start hwservicemanager -#ifdef VENDOR_EDIT - mkdir /mnt/vendor/op2 0660 system system -#endif /* VENDOR_EDIT */ mount_all --early -#ifdef VENDOR_EDIT - wait /mnt/vendor/op2 - chown system system /mnt/vendor/op2 -#endif /* VENDOR_EDIT */ chown root system /mnt/vendor/persist chmod 0771 /mnt/vendor/persist restorecon_recursive /mnt/vendor/persist mkdir /mnt/vendor/persist/data 0700 system system - mkdir /mnt/vendor/my_cota 0660 system system - -on post-fs - # set RLIMIT_MEMLOCK to 64MB - setrlimit 8 67108864 67108864 - write /dev/ipa 1 - mkdir /mnt/vendor/op2/recovery 0770 root system + mkdir /mnt/vendor/persist/wlan 0700 system system + chmod 0700 /mnt/vendor/persist/wlan on late-fs - wait_for_prop hwservicemanager.ready true - #exec_start wait_for_keymaster - start console mount_all --late on post-fs-data @@ -109,14 +92,6 @@ on early-boot on boot write /dev/cpuset/audio-app/cpus 1-2 - # Add a cpuset for the camera daemon - # We want all cores for camera - mkdir /dev/cpuset/camera-daemon - write /dev/cpuset/camera-daemon/cpus 0-7 - write /dev/cpuset/camera-daemon/mems 0 - chown cameraserver cameraserver /dev/cpuset/camera-daemon - chown cameraserver cameraserver /dev/cpuset/camera-daemon/tasks - chmod 0660 /dev/cpuset/camera-daemon/tasks #USB controller configuration setprop vendor.usb.rndis.func.name "gsi" setprop vendor.usb.rmnet.func.name "gsi" @@ -124,21 +99,11 @@ on boot setprop vendor.usb.dpl.inst.name "dpl" setprop vendor.usb.qdss.inst.name "qdss_mdm" setprop vendor.usb.controller 4e00000.dwc3 -# v-takey.zheng@SYSTEM, 2020/06/03 Add for oemlogkit camera log - chmod 0666 /sys/module/cam_debug_util/parameters/debug_mdl - -#ifdef VENDOR_EDIT -# Fengfeng.XU@PERFORMANCE, 2020/07/30, Optimize the boot time and run the boot animation on the small core -on boot - write /dev/cpuset/top-app/cpus 0-7 - write /dev/cpuset/foreground/cpus 0-7 - write /dev/cpuset/foreground/boost/cpus 0-7 - write /dev/cpuset/system-background/cpus 0-7 - write /dev/cpuset/background/cpus 0-3 -#endif /* VENDOR_EDIT */ + #Load WLAN driver + exec_background u:r:vendor_modprobe:s0 -- /vendor/bin/modprobe -a -d /vendor/lib/modules/ qca_cld3_wlan on property:vendor.display.lcd_density=560 - setprop dalvik.vm.heapgrowthlimit 384m + setprop dalvik.vm.heapgrowthlimit 256m on property:vendor.display.lcd_density=640 setprop dalvik.vm.heapgrowthlimit 512m @@ -146,29 +111,7 @@ on property:vendor.display.lcd_density=640 on boot && property:persist.vendor.usb.controller.default=* setprop vendor.usb.controller ${persist.vendor.usb.controller.default} -on property:vendor.usb.controller=* - setprop sys.usb.controller ${vendor.usb.controller} - -on charger - mount_all /vendor/etc/charger_fstab.qti --early - write /sys/kernel/boot_adsp/boot 1 - #restart charger after ADSP is out of reset - restart charger - start qcom-post-boot - write /sys/devices/system/cpu/cpufreq/policy0/scaling_governor schedutil - write /sys/devices/system/cpu/cpufreq/policy6/scaling_governor schedutil - write /sys/devices/system/cpu/cpufreq/policy0/scaling_max_freq 1324800 - - write /sys/devices/system/cpu/cpu1/online 0 - write /sys/devices/system/cpu/cpu2/online 0 - write /sys/devices/system/cpu/cpu3/online 0 - write /sys/devices/system/cpu/cpu4/online 0 - write /sys/devices/system/cpu/cpu5/online 0 - write /sys/devices/system/cpu/cpu6/online 0 - write /sys/devices/system/cpu/cpu7/online 0 - write /sys/module/lpm_levels/parameters/sleep_disabled 0 - stop oemlogkit - +on property:init.svc.vendor.charger=running start vendor.power_off_alarm setprop sys.usb.controller 4e00000.dwc3 setprop sys.usb.configfs 1 @@ -208,14 +151,11 @@ on property:sys.shutdown.requested=* stop vendor.per_proxy on property:vold.decrypt=trigger_restart_framework -#on property:vold.decrypt=trigger_restart_framework -# start vendor.cnss_diag -#endif /* VENDOR_EDIT */ + start vendor.cnss_diag service vendor.cnss_diag /system/vendor/bin/cnss_diag -q -f -t HELIUM class main user system group system wifi inet sdcard_rw media_rw diag - disabled oneshot diff --git a/init/init_oplus.cpp b/init/init_oplus.cpp new file mode 100644 index 0000000..d0855b8 --- /dev/null +++ b/init/init_oplus.cpp @@ -0,0 +1,80 @@ +/* + * Copyright (C) 2022 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ + +#include +#include + +#define _REALLY_INCLUDE_SYS__SYSTEM_PROPERTIES_H_ +#include + +using android::base::GetProperty; + +constexpr const char* BUILD_DESCRIPTION = "OnePlusN200TMO-user 12 SKQ1.210216.001 R.205d7fc_1-735f72 release-keys"; +constexpr const char* BUILD_FINGERPRINT = "OnePlus/OnePlusN200TMO/OnePlusN200TMO:12/SKQ1.210216.001/R.205d7fc_1-735f72:user/release-keys"; + +constexpr const char* RO_PROP_SOURCES[] = { + nullptr, + "bootimage.", + "odm.", + "odm_dlkm.", + "product.", + "system.", + "system_dlkm.", + "system_ext.", + "vendor.", + "vendor_dlkm.", +}; + +/* + * SetProperty does not allow updating read only properties and as a result + * does not work for our use case. Write "OverrideProperty" to do practically + * the same thing as "SetProperty" without this restriction. + */ +void OverrideProperty(const char* name, const char* value) { + size_t valuelen = strlen(value); + + prop_info* pi = (prop_info*)__system_property_find(name); + if (pi != nullptr) { + __system_property_update(pi, value, valuelen); + } else { + __system_property_add(name, strlen(name), value, valuelen); + } +} + +void OverrideCarrierProperties() { + const auto ro_prop_override = [](const char* source, const char* prop, const char* value, + bool product) { + std::string prop_name = "ro."; + + if (product) prop_name += "product."; + if (source != nullptr) prop_name += source; + if (!product) prop_name += "build."; + prop_name += prop; + + OverrideProperty(prop_name.c_str(), value); + }; + + for (const auto& source : RO_PROP_SOURCES) { + ro_prop_override(source, "model", "DE2118", true); + ro_prop_override(source, "device", "OnePlusN200TMO", true); + ro_prop_override(source, "fingerprint", BUILD_FINGERPRINT, false); + } + ro_prop_override(nullptr, "product", "OnePlusN200TMO", false); + ro_prop_override(nullptr, "description", BUILD_DESCRIPTION, false); +} + +/* + * Only for read-only properties. Properties that can be wrote to more + * than once should be set in a typical init script (e.g. init.oplus.hw.rc) + * after the original property has been set. + */ +void vendor_load_properties() { + //auto device = GetProperty("ro.product.product.device", ""); + auto prj_codename = GetProperty("ro.boot.project_codename", ""); + + // T-Mobile (dre8t) or Metro by T-Mobile (dre8m) + if (prj_codename != "dre9") + OverrideCarrierProperties(); +} diff --git a/init/ueventd.oplus.rc b/init/ueventd.oplus.rc new file mode 100644 index 0000000..e059192 --- /dev/null +++ b/init/ueventd.oplus.rc @@ -0,0 +1,17 @@ +# +# Copyright (C) 2022-2023 The LineageOS Project +# +# SPDX-License-Identifier: Apache-2.0 +# + +# Charger +/sys/class/oplus_chg/* mmi_charging_enable 0660 system system + +# NFC +/dev/st21nfc 0660 nfc nfc + +# Reserve +/dev/block/bootdevice/by-name/oplusreserve1 0660 root system + +# WiFi +firmware_directories /odm/etc/wifi/ diff --git a/rootdir/ueventd.rc b/init/ueventd.qcom.rc similarity index 95% rename from rootdir/ueventd.rc rename to init/ueventd.qcom.rc index f9447ff..e1f4463 100644 --- a/rootdir/ueventd.rc +++ b/init/ueventd.qcom.rc @@ -28,12 +28,7 @@ # Firmware directory Path # Below macro will be read by uevent and path will # be added to search path for firmware loading -# ifndef VENDOR_EDIT -# Richy.li@CONNECTIVITY, 2020/08/20, [8350] Wifi one point cal -#firmware_directories /vendor/firmware_mnt/image/ -# else -firmware_directories /mnt/vendor/persist/copy/ /vendor/firmware_mnt/image/ -# endif /* VENDOR_EDIT * +firmware_directories /vendor/firmware_mnt/image/ # the DIAG device node is not world writable/readable. /dev/diag 0660 system oem_2901 @@ -64,6 +59,7 @@ firmware_directories /mnt/vendor/persist/copy/ /vendor/firmware_mnt/image/ /dev/ipa_adpl 0660 system oem_2905 /dev/synx_device 0660 root camera /dev/hab 0666 system system +/dev/hgsl 0666 system system /dev/iio:device* 0664 system system #permissions for UFS RPMB BSG device node @@ -76,6 +72,7 @@ firmware_directories /mnt/vendor/persist/copy/ /vendor/firmware_mnt/image/ /dev/smd2 0660 bluetooth bluetooth /dev/smd3 0660 bluetooth bluetooth /dev/btpower 0660 bluetooth system +/dev/btfmslim 0660 bluetooth system #permissions for pta /dev/pta 0660 system system @@ -166,15 +163,6 @@ firmware_directories /mnt/vendor/persist/copy/ /vendor/firmware_mnt/image/ /dev/system_health_monitor 0644 radio system /dev/mdss_rotator 0664 system system -#ifdef VENDOR_EDIT -#Revise the permissions for Param -/dev/block/by-name/param 0660 root system -#endif VENDOR_EDIT - -# narci.gu@SYSTEM, 2020/12/08, add for serial number writing by wifi adb -/dev/block/sde72 0600 system system -/dev/block/bootdevice/by-name/reserve1 0600 system system - #QDSS /dev/byte-cntr 0660 system oem_2902 /dev/mhi_qdss 0660 system oem_2902 @@ -186,7 +174,11 @@ firmware_directories /mnt/vendor/persist/copy/ /vendor/firmware_mnt/image/ #qvr /dev/qvr_external_sensor_ioctl 0660 system system -/sys/kernel/qvr_external_sensor/fd 0660 system system +/dev/bus/usb/* 0660 root usb +/dev/hidraw* 0660 root usb + +#rawdump +/dev/block/platform/soc/*/by-name/rawdump 0660 root system # wlan /dev/wcnss_wlan 0660 system system @@ -195,6 +187,7 @@ firmware_directories /mnt/vendor/persist/copy/ /vendor/firmware_mnt/image/ /sys/devices/soc/a000000.qcom,wcnss-wlan/net/p2p0/queues/rx-* rps_cpus 0660 system system /sys/devices/platform/soc/*.qcom,icnss/net/wlan*/queues/rx-* rps_cpus 0660 system system /sys/devices/platform/soc/1c00000.qcom,pcie/pci0000:00/0000:00:00.0/0000:01:00.0/net/wlan*/queues/rx-* rps_cpus 0660 system system +/sys/devices/platform/soc/17a10040.qcom,wcn6750/net/wlan*/queues/rx-* rps_cpus 0660 system system /dev/spidev0.0 0660 system audio /dev/i2c-7 0660 system audio /dev/msm_camera/* 0660 system camera @@ -205,7 +198,6 @@ firmware_directories /mnt/vendor/persist/copy/ /vendor/firmware_mnt/image/ /dev/msm_vidc_dec_sec 0660 system audio /dev/msm_vidc_enc 0660 system audio /dev/msm_rotator 0660 system system -/dev/hw_random 0600 root root /dev/sdsprpc-smd 0660 system system #permissions for audio @@ -250,6 +242,7 @@ firmware_directories /mnt/vendor/persist/copy/ /vendor/firmware_mnt/image/ /dev/avtimer 0660 system audio /dev/spidev2.0 0660 system audio /dev/spidev22.0 0660 system audio +/dev/spidev10.0 0660 system audio # DVB devices /dev/dvb/adapter0/demux* 0440 media media @@ -314,17 +307,6 @@ firmware_directories /mnt/vendor/persist/copy/ /vendor/firmware_mnt/image/ /sys/devices/soc/600000.qcom,pcie/pci0000:00/0000:00:00.0/0000:01:00.0/net/wlan0/queues/rx-* rps_cpus 0660 system system /sys/devices/soc/600000.qcom,pcie/pci0000:00/0000:00:00.0/0000:01:00.0/net/p2p0/queues/rx-* rps_cpus 0660 system system -# wigig -/sys/bus/pci/drivers/wil6210* 0000:01:00.0/wil6210/fst_link_loss 0660 wifi wifi -/sys/bus/pci/drivers/wil6210* 0000:01:00.0/wil6210/thermal_throttling 0660 system system -/sys/bus/pci/drivers/wil6210* 0000:01:00.0/wil6210/snr_thresh 0660 wifi wifi -/sys/bus/pci/drivers/wil6210* 0000:01:00.0/net/wigig0/queues/rx-0/rps_cpus 0660 system system -/sys/bus/pci/drivers/wil6210* 0000:01:00.0/net/wigig0/gro_flush_timeout 0660 system system -/sys/devices/virtual/net/bond0 queues/rx-0/rps_cpus 0660 system system - -#NFC -/dev/st21nfc 0660 nfc nfc - #nfc permissions /dev/nfc-nci 0660 nfc nfc /dev/nq-nci 0660 nfc nfc @@ -397,6 +379,9 @@ firmware_directories /mnt/vendor/persist/copy/ /vendor/firmware_mnt/image/ /sys/devices/virtual/hdcp/msm_hdcp min_level_change 0664 system graphics +#KGSL +/sys/class/kgsl/kgsl-3d0 perfcounter 0660 root shell + # sys-fs display /sys/class/graphics/fb* hpd 0664 system graphics /sys/class/graphics/fb* res_info 0664 system graphics @@ -426,7 +411,6 @@ firmware_directories /mnt/vendor/persist/copy/ /vendor/firmware_mnt/image/ /sys/class/graphics/fb0 modes 0664 system graphics /sys/class/graphics/fb0 mode 0664 system graphics /sys/class/graphics/fb0 msm_cmd_autorefresh_en 0664 system graphics -*/ /sys/devices/platform/soc/ae00000.qcom,mdss_mdp power/control 0664 system graphics diff --git a/lineage.dependencies b/lineage.dependencies index 18a16e7..ab2b304 100644 --- a/lineage.dependencies +++ b/lineage.dependencies @@ -1,7 +1,7 @@ [ { - "repository": "android_hardware_oneplus", - "target_path": "hardware/oneplus" + "repository": "android_hardware_oplus", + "target_path": "hardware/oplus" }, { "repository": "android_kernel_oneplus_sm4350", diff --git a/modules.load b/modules.load index 715e234..d2d3b49 100644 --- a/modules.load +++ b/modules.load @@ -1,46 +1,33 @@ -sia81xx_dlkm.ko -va_macro_dlkm.ko -rdbg.ko -wsa881x_analog_dlkm.ko -bootloader_log.ko -native_dlkm.ko -swr_ctrl_dlkm.ko -sim_holder_detect.ko -adsp_loader_dlkm.ko -wcd938x_dlkm.ko -snd_event_dlkm.ko swr_dlkm.ko -q6_dlkm.ko -gf_spi_driver.ko -machine_dlkm.ko -camera.ko -wcd937x_dlkm.ko -project_info.ko -wcd938x_slave_dlkm.ko -wcd_core_dlkm.ko -platform_dlkm.ko -st21nfc.ko -op_rf_cable_monitor.ko -tri_key.ko -aw8697.ko -op_cmdline.ko -tx_macro_dlkm.ko -q6_notifier_dlkm.ko -mbhc_dlkm.ko -btpower.ko -apr_dlkm.ko -wcd9xxx_dlkm.ko -rx_macro_dlkm.ko -fpc1020_platform_tee.ko -bt_fm_slim.ko +native_dlkm.ko wcd937x_slave_dlkm.ko +btpower.ko q6_pdr_dlkm.ko -aw87xxx_dlkm.ko -bolero_cdc_dlkm.ko -oem_aboard.ko +va_macro_dlkm.ko +q6_notifier_dlkm.ko +apr_dlkm.ko +snd_event_dlkm.ko +machine_dlkm.ko +wcd938x_dlkm.ko +wcd_core_dlkm.ko +wcd937x_dlkm.ko +adsp_loader_dlkm.ko +q6_dlkm.ko +sia81xx_dlkm.ko +mbhc_dlkm.ko +swr_ctrl_dlkm.ko +rdbg.ko +camera.ko pinctrl_lpi_dlkm.ko +rx_macro_dlkm.ko +wcd938x_slave_dlkm.ko +wcd9xxx_dlkm.ko +tx_macro_dlkm.ko +bt_fm_slim.ko +wsa881x_analog_dlkm.ko +bolero_cdc_dlkm.ko stub_dlkm.ko -fingerprint_detect.ko +platform_dlkm.ko wlan.ko rmnet_core.ko rmnet_ctl.ko diff --git a/modules.load.recovery b/modules.load.recovery deleted file mode 100644 index 89371e7..0000000 --- a/modules.load.recovery +++ /dev/null @@ -1,4 +0,0 @@ -fingerprint_detect.ko -gf_spi_driver.ko -op_cmdline.ko -project_info.ko diff --git a/odm.prop b/odm.prop index fab6c31..9953643 100644 --- a/odm.prop +++ b/odm.prop @@ -1,2 +1,31 @@ # Audio +persist.vendor.audio.fluence.voicerec=true +persist.vendor.audio_hal.dsp_bit_width_enforce_mode=24 +persist.vendor.audio.spv4.enable=false +persist.vendor.audio.vbat.enabled=false +ro.config.media_vol_steps=30 +ro.config.vc_call_vol_steps=9 +ro.vendor.audio.sdk.fluencetype=fluence ro.vendor.qti.va_odm.support=1 + +# Bluetooth +persist.vendor.bluetooth.modem_nv_support=true + +# Display +vendor.display.primary_mixer_stages=9 + +# Media +ro.odm.build.media_performance_class=30 +vendor.media.vpp.enable=0 +vendor.media.vpp.osie.enable=0 +vendor.media.vpp.sr.enable=0 + +# Radio +persist.vendor.radio.force_on_dc=true +persist.vendor.radio.stack_id_1=1 +ro.sys.reserve.integrate=true +ro.vendor.oplus.radio.project=2 +ro.vendor.oplus.radio.sar_regionmark=FCC + +# SVN +ro.build.version.svn=34 diff --git a/overlay-lineage/lineage-sdk/lineage/res/res/values/config.xml b/overlay-lineage/lineage-sdk/lineage/res/res/values/config.xml index 39b4468..2734d6b 100644 --- a/overlay-lineage/lineage-sdk/lineage/res/res/values/config.xml +++ b/overlay-lineage/lineage-sdk/lineage/res/res/values/config.xml @@ -2,62 +2,23 @@ true - 100 true - - 64 - - - 64 - true restart + restart_systemui restart_recovery restart_bootloader restart_fastboot - + diff --git a/overlay-lineage/lineage-sdk/packages/LineageSettingsProvider/res/values/defaults.xml b/overlay-lineage/lineage-sdk/packages/LineageSettingsProvider/res/values/defaults.xml index 07152fc..a8f6407 100644 --- a/overlay-lineage/lineage-sdk/packages/LineageSettingsProvider/res/values/defaults.xml +++ b/overlay-lineage/lineage-sdk/packages/LineageSettingsProvider/res/values/defaults.xml @@ -1,21 +1,13 @@ true + + + 1 diff --git a/overlay-lineage/packages/apps/Aperture/app/src/main/res/values/config.xml b/overlay-lineage/packages/apps/Aperture/app/src/main/res/values/config.xml new file mode 100644 index 0000000..59b9d98 --- /dev/null +++ b/overlay-lineage/packages/apps/Aperture/app/src/main/res/values/config.xml @@ -0,0 +1,14 @@ + + + + + true + + + + 4 + + diff --git a/overlay-lineage/packages/apps/Dialer/java/com/android/dialer/callrecord/res/values/config.xml b/overlay-lineage/packages/apps/Dialer/java/com/android/dialer/callrecord/res/values/config.xml deleted file mode 100644 index da46c31..0000000 --- a/overlay-lineage/packages/apps/Dialer/java/com/android/dialer/callrecord/res/values/config.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - true - 4 - diff --git a/overlay-lineage/hardware/oneplus/doze/res/values/config.xml b/overlay-lineage/packages/apps/Settings/res/values/lineage_config.xml similarity index 78% rename from overlay-lineage/hardware/oneplus/doze/res/values/config.xml rename to overlay-lineage/packages/apps/Settings/res/values/lineage_config.xml index 1fcf008..d212f66 100644 --- a/overlay-lineage/hardware/oneplus/doze/res/values/config.xml +++ b/overlay-lineage/packages/apps/Settings/res/values/lineage_config.xml @@ -1,8 +1,8 @@ - - oneplus.sensor.op_motion_detect + + true diff --git a/overlay/CarrierConfigResCommon/Android.bp b/overlay/CarrierConfigResCommon/Android.bp new file mode 100644 index 0000000..7963a53 --- /dev/null +++ b/overlay/CarrierConfigResCommon/Android.bp @@ -0,0 +1,10 @@ +// +// Copyright (C) 2022 The LineageOS Project +// SPDX-License-Identifier: Apache-2.0 +// + +runtime_resource_overlay { + name: "CarrierConfigResCommon", + aaptflags: ["--keep-raw-values"], + product_specific: true, +} diff --git a/overlay/CarrierConfigResCommon/AndroidManifest.xml b/overlay/CarrierConfigResCommon/AndroidManifest.xml new file mode 100644 index 0000000..5935539 --- /dev/null +++ b/overlay/CarrierConfigResCommon/AndroidManifest.xml @@ -0,0 +1,13 @@ + + + + + + diff --git a/overlay/CarrierConfigResCommon/res/xml/vendor.xml b/overlay/CarrierConfigResCommon/res/xml/vendor.xml new file mode 100644 index 0000000..76bd25e --- /dev/null +++ b/overlay/CarrierConfigResCommon/res/xml/vendor.xml @@ -0,0 +1,5397 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + com.example.android.locationattribution + + + + + + + + connected_mmwave:5GUWB,connected:5g,not_restricted:None,restricted:None + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IPV4V6 + IPV4V6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IPV4V6 + IPV4V6 + + + + + + + + + + + + + + + + + + + IPV4V6 + IPV4V6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + IPV4V6 + IPV4V6 + + + + + + + + + + + + + + + + + + + + + + + China Mobile + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IPV4V6 + IPV4V6 + + + + + + China Unicom + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IPV4V6 + IPV4V6 + + + + + + + + + + + + + + + + + + + + + + + China Mobile + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IPV4V6 + IPV4V6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IPV4V6 + IPV4V6 + + + + + + + + + + + + IPV4V6 + IPV4V6 + + + + + + + + + + + + + + + + + + + + + + + + IPV4V6 + IPV4V6 + + + + + + China Unicom + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IPV4V6 + IPV4V6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IPV4V6 + IPV4V6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IPV4V6 + IPV4V6 + + + + + + China Unicom + + + + + + + + + + + + + + + + + + + + + + IPV4V6 + IPV4V6 + + + + + + + + + + + + + + + + + IPV4V6 + IPV4V6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IPV4V6 + IPV4V6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 31654501233 + + + 888 + + + 2211 + + + 2211 + + + 1210 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +6483083210 + + + + + + + + + + OnePlus---[P]---[V] + + + + + + + + + + + + + + Verizon + + + 3 + + + + + + + + + + + + + + + OnePlus---[P]---[V] + + + + + + + + + Verizon + + 3 + + + + + + + + + + OnePlus---[P]---[V] + + :qandadiv + + + + + + + + + + + Verizon + + 3 + + + + + + + + + + + + + OnePlus---[P]---[V] + + + + + + + + + + + Verizon + + 3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 121 + + + + + + + + + + + + + + + +447953222222 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 30047 + + vvm_type_omtp + + + + + + + + + + + + + + + + + + + +64284808808 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Mobile Vikings WiFi Calling + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +48790200200 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + WiFi Calling + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + *100 + + + *555 + + + *289 + + + + + + + + + + + + + + + *123 + + + + + + + *80 + + + + + + + + + + + + + + + + + + + + + *100 + + + + + + + + + + + + + + + + + + + + + + *80 + + + *90 + + + + + + + + + + + + + + + + *80 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 600 + + + *77 + + + + + + + *86 + + + *86 + + + + + + + *86 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OPPO_[M]_[S] + + + + + + + + + + + + + + + + + OPPO_[M]_[S] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Telstra OPPO [M] [A] [S]_[D] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OPPO_[M]_[A]_[S]_[D] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OPPO_[M]_[S] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + com.google.android.ims + + + + + + + + + + OPPO_[M]_[S] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + com.google.android.ims + + + OPPO_[M]_[S] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + com.google.android.ims + OPPO_[M]_[S] + + + + + + + + + + + + + + + + + + + + + + + + + OPPO_[M]_[S] + + + + + + + + + + + + + + + + + + + + + + + + + + + + OPPO_[M]_[S] + com.google.android.ims + + + + + + + + + + + + + + + + + + + + + + + + + + + + com.google.android.ims + + OPPO [M] [S] + + + + + + + + + + + OPPO_[M]_[S] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OPPO_[M]_[S] + + + + + + + + + + + + OPPO_[M]_[S] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OPPO_[M]_[S] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OPPO_[M]_[S]_[D] + + + + + + + + + + + + + + + + + + + + + + OPPO_[M]_[S] + + + + + + + + + + + + + + + + + + + + + + + + + + OPPO_[M]_[S] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OPPO_[M]_[S] + + + + + + + + + + + + + + + + + + + + + + + + + + + + OPPO_[M]_[S] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OPPO_[M]_[S] + + + + + + + + + + + + + + + + --> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OPPO_[M]_[S]_[D] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OPPO_[M]_[S] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OPPO_[M]_[S]_[D] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OPPO_[M]_[S]_[D] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OPPO_[M]_[S]_[D] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OPPO_[M]_[S] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OPPO [M] + + + + + + + + + + [I]_OPPO_[M] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + TMO + + rscp + + + + + T-Mobile + + + + + + + + + + Sprint + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Verizon + + + 3 + + + + + + + + + + + + + + + + OnePlus---[P]---[V] + + + + + + + + + + + + + + + + + + + com.google.android.ims + + + + + + + + + + + + + + + + + diff --git a/overlay/FrameworksResTarget/Android.bp b/overlay/FrameworksResTarget/Android.bp new file mode 100644 index 0000000..bf003fa --- /dev/null +++ b/overlay/FrameworksResTarget/Android.bp @@ -0,0 +1,9 @@ +// +// Copyright (C) 2022 The LineageOS Project +// SPDX-License-Identifier: Apache-2.0 +// + +runtime_resource_overlay { + name: "FrameworksResTarget", + vendor: true, +} diff --git a/overlay/FrameworksResTarget/AndroidManifest.xml b/overlay/FrameworksResTarget/AndroidManifest.xml new file mode 100644 index 0000000..b146007 --- /dev/null +++ b/overlay/FrameworksResTarget/AndroidManifest.xml @@ -0,0 +1,13 @@ + + + + + + diff --git a/overlay/FrameworksResTarget/res/values/config.xml b/overlay/FrameworksResTarget/res/values/config.xml new file mode 100644 index 0000000..fd05997 --- /dev/null +++ b/overlay/FrameworksResTarget/res/values/config.xml @@ -0,0 +1,69 @@ + + + + + + true + + + true + + + true + + + vendor.qti.iwlan + + + vendor.qti.iwlan + + + vendor.qti.iwlan + + + + /system/framework/arm64/boot-framework.oat + /system/framework/arm/boot-framework.oat + /apex/com.android.art/javalib/arm64/boot-core-libart.oat + /apex/com.android.art/javalib/arm/boot-core-libart.oat + /apex/com.android.art/javalib/arm64/boot-okhttp.oat + /apex/com.android.art/javalib/arm/boot-okhttp.oat + /apex/com.android.art/javalib/arm64/boot.vdex + /apex/com.android.art/javalib/arm/boot.vdex + /apex/com.android.art/javalib/arm64/boot-core-libart.vdex + /apex/com.android.art/javalib/arm/boot-core-libart.vdex + /apex/com.android.art/javalib/arm64/boot-core-libart.art + /apex/com.android.art/javalib/arm/boot-core-libart.art + /system/framework/framework-res.apk + /system/lib64/libhwui.so + /system/lib/libhwui.so + /system/framework/boot-framework.vdex + /system/framework/oat/arm64/services.vdex + /system/framework/oat/arm64/services.odex + /apex/com.android.art/javalib/arm64/boot.oat + /apex/com.android.art/javalib/arm/boot.oat + /system/framework/telephony-common.jar + /system/framework/arm64/boot-telephony-common.art + /system/lib64/libsurfaceflinger.so + /apex/com.android.art/javalib/core-oj.jar + /apex/com.android.art/javalib/core-libart.jar + + + + + 0:2:15 + + + diff --git a/overlay/Launcher3ResTarget/Android.bp b/overlay/Launcher3ResTarget/Android.bp new file mode 100644 index 0000000..f7d3242 --- /dev/null +++ b/overlay/Launcher3ResTarget/Android.bp @@ -0,0 +1,9 @@ +// +// Copyright (C) 2022 The LineageOS Project +// SPDX-License-Identifier: Apache-2.0 +// + +runtime_resource_overlay { + name: "Launcher3ResTarget", + product_specific: true, +} diff --git a/overlay/Launcher3ResTarget/AndroidManifest.xml b/overlay/Launcher3ResTarget/AndroidManifest.xml new file mode 100644 index 0000000..55363cc --- /dev/null +++ b/overlay/Launcher3ResTarget/AndroidManifest.xml @@ -0,0 +1,13 @@ + + + + + + diff --git a/overlay/Launcher3ResTarget/res/values/config.xml b/overlay/Launcher3ResTarget/res/values/config.xml new file mode 100644 index 0000000..c693b9e --- /dev/null +++ b/overlay/Launcher3ResTarget/res/values/config.xml @@ -0,0 +1,11 @@ + + + + + 11 + 15dp + + diff --git a/overlay/OPlusFrameworksResTarget/Android.bp b/overlay/OPlusFrameworksResTarget/Android.bp new file mode 100644 index 0000000..23cfce2 --- /dev/null +++ b/overlay/OPlusFrameworksResTarget/Android.bp @@ -0,0 +1,9 @@ +// +// Copyright (C) 2022 The LineageOS Project +// SPDX-License-Identifier: Apache-2.0 +// + +runtime_resource_overlay { + name: "OPlusFrameworksResTarget", + device_specific: true, +} diff --git a/overlay/OPlusFrameworksResTarget/AndroidManifest.xml b/overlay/OPlusFrameworksResTarget/AndroidManifest.xml new file mode 100644 index 0000000..c7dd537 --- /dev/null +++ b/overlay/OPlusFrameworksResTarget/AndroidManifest.xml @@ -0,0 +1,13 @@ + + + + + + diff --git a/overlay/OPlusFrameworksResTarget/res/values-mcc310-mnc590/config.xml b/overlay/OPlusFrameworksResTarget/res/values-mcc310-mnc590/config.xml new file mode 100644 index 0000000..0e0533a --- /dev/null +++ b/overlay/OPlusFrameworksResTarget/res/values-mcc310-mnc590/config.xml @@ -0,0 +1,14 @@ + + + + + + odopg1917 + + + http://uaprof.vtext.com/oneplus/odopg1917/odopg1917.xml + + diff --git a/overlay/OPlusFrameworksResTarget/res/values-mcc310-mnc890/config.xml b/overlay/OPlusFrameworksResTarget/res/values-mcc310-mnc890/config.xml new file mode 100644 index 0000000..0e0533a --- /dev/null +++ b/overlay/OPlusFrameworksResTarget/res/values-mcc310-mnc890/config.xml @@ -0,0 +1,14 @@ + + + + + + odopg1917 + + + http://uaprof.vtext.com/oneplus/odopg1917/odopg1917.xml + + diff --git a/overlay/OPlusFrameworksResTarget/res/values-mcc311-mnc270/config.xml b/overlay/OPlusFrameworksResTarget/res/values-mcc311-mnc270/config.xml new file mode 100644 index 0000000..0e0533a --- /dev/null +++ b/overlay/OPlusFrameworksResTarget/res/values-mcc311-mnc270/config.xml @@ -0,0 +1,14 @@ + + + + + + odopg1917 + + + http://uaprof.vtext.com/oneplus/odopg1917/odopg1917.xml + + diff --git a/overlay/OPlusFrameworksResTarget/res/values-mcc311-mnc480/config.xml b/overlay/OPlusFrameworksResTarget/res/values-mcc311-mnc480/config.xml new file mode 100644 index 0000000..0e0533a --- /dev/null +++ b/overlay/OPlusFrameworksResTarget/res/values-mcc311-mnc480/config.xml @@ -0,0 +1,14 @@ + + + + + + odopg1917 + + + http://uaprof.vtext.com/oneplus/odopg1917/odopg1917.xml + + diff --git a/overlay/OPlusFrameworksResTarget/res/values-mcc312-mnc770/config.xml b/overlay/OPlusFrameworksResTarget/res/values-mcc312-mnc770/config.xml new file mode 100644 index 0000000..0e0533a --- /dev/null +++ b/overlay/OPlusFrameworksResTarget/res/values-mcc312-mnc770/config.xml @@ -0,0 +1,14 @@ + + + + + + odopg1917 + + + http://uaprof.vtext.com/oneplus/odopg1917/odopg1917.xml + + diff --git a/overlay/frameworks/base/core/res/res/values/config.xml b/overlay/OPlusFrameworksResTarget/res/values/config.xml similarity index 60% rename from overlay/frameworks/base/core/res/res/values/config.xml rename to overlay/OPlusFrameworksResTarget/res/values/config.xml index dc4bb81..9a5f3f2 100644 --- a/overlay/frameworks/base/core/res/res/values/config.xml +++ b/overlay/OPlusFrameworksResTarget/res/values/config.xml @@ -1,22 +1,10 @@ - + - - true @@ -377,89 +365,20 @@ --> true - - true - - - - true - true - - Android-Mms/2.0 - - - http://www.google.com/oha/rdf/ua-profile-kila.xml - - - - - - - wifi,1,1,1,-1,true - mobile,0,0,0,-1,true - mobile_mms,2,0,4,60000,true - mobile_supl,3,0,2,60000,true - mobile_dun,4,0,2,60000,true - mobile_hipri,5,0,3,60000,true - mobile_fota,10,0,2,60000,true - mobile_ims,11,0,2,60000,true - mobile_cbs,12,0,2,60000,true - bluetooth,7,7,2,-1,true - mobile_emergency,15,0,5,-1,true - ethernet,9,9,9,-1,true - - - - - - "1,1" - "0,1" - "7,1" - - - - true - - - true - true + + true + + + 6291456 + true - + true - Note that doze dreams are not subject to the same start conditions as ordinary dreams. - Doze dreams will run whenever the power manager is in a dozing state. --> - com.android.systemui/com.android.systemui.doze.DozeService - - - true - - - true - - - false - - - true + + true - true + false - - 17 - - - - 5gnr:2097152,6291456,16777216,512000,2097152,8388608 - lte:2097152,4194304,8388608,262144,524288,1048576 - lte_ca:4096,6291456,12582912,4096,1048576,2097152 - umts:4094,87380,1220608,4096,16384,1220608 - hspa:4094,87380,1220608,4096,16384,1220608 - hsupa:4094,87380,1220608,4096,16384,1220608 - hsdpa:4094,87380,1220608,4096,16384,1220608 - hspap:4094,87380,1220608,4096,16384,1220608 - edge:4093,26280,35040,4096,16384,35040 - gprs:4092,8760,11680,4096,8760,11680 - evdo:4094,87380,524288,4096,16384,262144 - - - - true - - - true - - - true - - - vendor.qti.iwlan - - - vendor.qti.iwlan - - - vendor.qti.iwlan - - - true - - - false - - - true - - - true - - - true - - - 680 - - - 6 - - - 28 - - - 36 - - - 3700 + + 0 @@ -611,60 +429,13 @@ 80 - - - 80 + + + 0 + 1 + 2 - - - "/system/framework/framework.jar" - "/system/framework/services.jar" - "/apex/com.android.art/javalib/core-oj.jar" - "/apex/com.android.art/javalib/core-libart.jar" - "/apex/com.android.media/javalib/updatable-media.jar" - "/system_ext/priv-app/SystemUI/SystemUI.apk" - "/system/bin/surfaceflinger" - - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - - 0:2:15 - - true @@ -682,19 +453,69 @@ 115 - - 0 + + + "/system/framework/framework.jar" + "/system/framework/services.jar" + "/apex/com.android.art/javalib/core-oj.jar" + "/apex/com.android.art/javalib/core-libart.jar" + "/system_ext/priv-app/SystemUI/SystemUI.apk" + "/system/bin/surfaceflinger" + "/vendor/lib64/libcamxexternalformatutils.so" + "/vendor/lib64/libipebpsstriping.so" + "/vendor/lib64/libCB.so" + "/vendor/lib64/libgsl.so" + + + + false + + + true + + + true + + + + gsm,11 + utran,11 + cdma1x,1 + hrpd,3 + ehrpd,12 + eutran,11 + nfc,1 + + + + 18 + + + -1650 + + + false - - 90 diff --git a/overlay/frameworks/base/core/res/res/values/dimens.xml b/overlay/OPlusFrameworksResTarget/res/values/dimens.xml similarity index 100% rename from overlay/frameworks/base/core/res/res/values/dimens.xml rename to overlay/OPlusFrameworksResTarget/res/values/dimens.xml diff --git a/overlay/frameworks/base/core/res/res/xml/power_profile.xml b/overlay/OPlusFrameworksResTarget/res/xml/power_profile.xml similarity index 96% rename from overlay/frameworks/base/core/res/res/xml/power_profile.xml rename to overlay/OPlusFrameworksResTarget/res/xml/power_profile.xml index 9b3b9aa..72240e1 100644 --- a/overlay/frameworks/base/core/res/res/xml/power_profile.xml +++ b/overlay/OPlusFrameworksResTarget/res/xml/power_profile.xml @@ -2,8 +2,8 @@ 0 35 - 100 - 330 + 100 + 330 25.6 1.7 1.8 @@ -37,7 +37,7 @@ 800 - 4 + 6 2 @@ -107,4 +107,4 @@ - \ No newline at end of file + diff --git a/overlay/OPlusSettingsProviderResTarget/Android.bp b/overlay/OPlusSettingsProviderResTarget/Android.bp new file mode 100644 index 0000000..73617c8 --- /dev/null +++ b/overlay/OPlusSettingsProviderResTarget/Android.bp @@ -0,0 +1,9 @@ +// +// Copyright (C) 2022 The LineageOS Project +// SPDX-License-Identifier: Apache-2.0 +// + +runtime_resource_overlay { + name: "OPlusSettingsProviderResTarget", + device_specific: true, +} diff --git a/overlay/OPlusSettingsProviderResTarget/AndroidManifest.xml b/overlay/OPlusSettingsProviderResTarget/AndroidManifest.xml new file mode 100644 index 0000000..b1b461e --- /dev/null +++ b/overlay/OPlusSettingsProviderResTarget/AndroidManifest.xml @@ -0,0 +1,13 @@ + + + + + + diff --git a/overlay/OPlusSettingsProviderResTarget/res/values/defaults.xml b/overlay/OPlusSettingsProviderResTarget/res/values/defaults.xml new file mode 100644 index 0000000..433faf6 --- /dev/null +++ b/overlay/OPlusSettingsProviderResTarget/res/values/defaults.xml @@ -0,0 +1,11 @@ + + + + + + OnePlus Nord N200 + + diff --git a/overlay/OPlusSettingsResTarget/Android.bp b/overlay/OPlusSettingsResTarget/Android.bp new file mode 100644 index 0000000..4ae65c5 --- /dev/null +++ b/overlay/OPlusSettingsResTarget/Android.bp @@ -0,0 +1,9 @@ +// +// Copyright (C) 2022 The LineageOS Project +// SPDX-License-Identifier: Apache-2.0 +// + +runtime_resource_overlay { + name: "OPlusSettingsResTarget", + device_specific: true, +} diff --git a/overlay/OPlusSettingsResTarget/AndroidManifest.xml b/overlay/OPlusSettingsResTarget/AndroidManifest.xml new file mode 100644 index 0000000..71dc0aa --- /dev/null +++ b/overlay/OPlusSettingsResTarget/AndroidManifest.xml @@ -0,0 +1,13 @@ + + + + + + diff --git a/overlay/OPlusSettingsResTarget/res/values/config.xml b/overlay/OPlusSettingsResTarget/res/values/config.xml new file mode 100644 index 0000000..368b7b1 --- /dev/null +++ b/overlay/OPlusSettingsResTarget/res/values/config.xml @@ -0,0 +1,14 @@ + + + + + + 254 + + + true + + diff --git a/overlay/OPlusSystemUIResTarget/Android.bp b/overlay/OPlusSystemUIResTarget/Android.bp new file mode 100644 index 0000000..0b502e3 --- /dev/null +++ b/overlay/OPlusSystemUIResTarget/Android.bp @@ -0,0 +1,9 @@ +// +// Copyright (C) 2022 The LineageOS Project +// SPDX-License-Identifier: Apache-2.0 +// + +runtime_resource_overlay { + name: "OPlusSystemUIResTarget", + device_specific: true, +} diff --git a/overlay/OPlusSystemUIResTarget/AndroidManifest.xml b/overlay/OPlusSystemUIResTarget/AndroidManifest.xml new file mode 100644 index 0000000..4de1645 --- /dev/null +++ b/overlay/OPlusSystemUIResTarget/AndroidManifest.xml @@ -0,0 +1,13 @@ + + + + + + diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable/rounded_corner_bottom.xml b/overlay/OPlusSystemUIResTarget/res/drawable/rounded_corner_bottom.xml similarity index 100% rename from overlay/frameworks/base/packages/SystemUI/res/drawable/rounded_corner_bottom.xml rename to overlay/OPlusSystemUIResTarget/res/drawable/rounded_corner_bottom.xml diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable/rounded_corner_top.xml b/overlay/OPlusSystemUIResTarget/res/drawable/rounded_corner_top.xml similarity index 100% rename from overlay/frameworks/base/packages/SystemUI/res/drawable/rounded_corner_top.xml rename to overlay/OPlusSystemUIResTarget/res/drawable/rounded_corner_top.xml diff --git a/overlay/frameworks/base/packages/SystemUI/res/values-land/dimens.xml b/overlay/OPlusSystemUIResTarget/res/values-land/dimens.xml similarity index 100% rename from overlay/frameworks/base/packages/SystemUI/res/values-land/dimens.xml rename to overlay/OPlusSystemUIResTarget/res/values-land/dimens.xml diff --git a/overlay/frameworks/base/packages/SystemUI/res/values/config.xml b/overlay/OPlusSystemUIResTarget/res/values/config.xml similarity index 82% rename from overlay/frameworks/base/packages/SystemUI/res/values/config.xml rename to overlay/OPlusSystemUIResTarget/res/values/config.xml index c0229b2..869244b 100644 --- a/overlay/frameworks/base/packages/SystemUI/res/values/config.xml +++ b/overlay/OPlusSystemUIResTarget/res/values/config.xml @@ -20,9 +20,10 @@ - - true - true + + + true diff --git a/overlay/frameworks/base/packages/SystemUI/res/values/dimens.xml b/overlay/OPlusSystemUIResTarget/res/values/dimens.xml similarity index 96% rename from overlay/frameworks/base/packages/SystemUI/res/values/dimens.xml rename to overlay/OPlusSystemUIResTarget/res/values/dimens.xml index f9dbb90..dfadffc 100644 --- a/overlay/frameworks/base/packages/SystemUI/res/values/dimens.xml +++ b/overlay/OPlusSystemUIResTarget/res/values/dimens.xml @@ -37,8 +37,6 @@ @dimen/status_bar_padding_end - 300px - 930px + + + 17dp diff --git a/overlay/OplusDozeResTarget/Android.bp b/overlay/OplusDozeResTarget/Android.bp new file mode 100644 index 0000000..6410eb8 --- /dev/null +++ b/overlay/OplusDozeResTarget/Android.bp @@ -0,0 +1,9 @@ +// +// SPDX-FileCopyrightText: The LineageOS Project +// SPDX-License-Identifier: Apache-2.0 +// + +runtime_resource_overlay { + name: "OplusDozeResTarget", + system_ext_specific: true, +} diff --git a/overlay/OplusDozeResTarget/AndroidManifest.xml b/overlay/OplusDozeResTarget/AndroidManifest.xml new file mode 100644 index 0000000..84aae14 --- /dev/null +++ b/overlay/OplusDozeResTarget/AndroidManifest.xml @@ -0,0 +1,11 @@ + + + + + diff --git a/overlay/OplusDozeResTarget/res/values/config.xml b/overlay/OplusDozeResTarget/res/values/config.xml new file mode 100644 index 0000000..50c067b --- /dev/null +++ b/overlay/OplusDozeResTarget/res/values/config.xml @@ -0,0 +1,12 @@ + + + + + android.sensor.tilt_detector + + + 0.0 + diff --git a/overlay/WifiResTarget/Android.bp b/overlay/WifiResTarget/Android.bp new file mode 100644 index 0000000..dc78d25 --- /dev/null +++ b/overlay/WifiResTarget/Android.bp @@ -0,0 +1,9 @@ +// +// Copyright (C) 2022 The LineageOS Project +// SPDX-License-Identifier: Apache-2.0 +// + +runtime_resource_overlay { + name: "WifiResTarget", + vendor: true, +} diff --git a/overlay/WifiResTarget/AndroidManifest.xml b/overlay/WifiResTarget/AndroidManifest.xml new file mode 100644 index 0000000..c635152 --- /dev/null +++ b/overlay/WifiResTarget/AndroidManifest.xml @@ -0,0 +1,14 @@ + + + + + + diff --git a/overlay/WifiResTarget/res/values/config.xml b/overlay/WifiResTarget/res/values/config.xml new file mode 100644 index 0000000..d0d6fe1 --- /dev/null +++ b/overlay/WifiResTarget/res/values/config.xml @@ -0,0 +1,21 @@ + + + + + + true + + + true + + + true + + + true + + diff --git a/overlay/frameworks/base/packages/SettingsProvider/res/values/defaults.xml b/overlay/frameworks/base/packages/SettingsProvider/res/values/defaults.xml deleted file mode 100644 index 1f32bc7..0000000 --- a/overlay/frameworks/base/packages/SettingsProvider/res/values/defaults.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - true - - - OnePlus Nord N200 - diff --git a/overlay/frameworks/base/packages/SystemUI/res/values-sw372dp/dimens.xml b/overlay/frameworks/base/packages/SystemUI/res/values-sw372dp/dimens.xml deleted file mode 100644 index 1292c64..0000000 --- a/overlay/frameworks/base/packages/SystemUI/res/values-sw372dp/dimens.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - 4dp - diff --git a/overlay/packages/apps/CarrierConfig/res/xml/vendor.xml b/overlay/packages/apps/CarrierConfig/res/xml/vendor.xml deleted file mode 100644 index 16ceff4..0000000 --- a/overlay/packages/apps/CarrierConfig/res/xml/vendor.xml +++ /dev/null @@ -1,2099 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IPV4V6 - IPV4V6 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IPV4V6 - IPV4V6 - - - - - - - - - - - - - - - - - - - IPV4V6 - IPV4V6 - - - - - - - - - - - - - - - - - - - - - - - - - - - - IPV4V6 - IPV4V6 - - - - - - - - - - - - - - - - - - - - - - - China Mobile - - - - - - - - - - - - - - - - - - - - - - - IPV4V6 - IPV4V6 - - - - - China Unicom - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IPV4V6 - IPV4V6 - - - - - - - - - - - - - - - - - - - - - - - China Mobile - - - - - - - - - - - - - - - - - - - - - - - - IPV4V6 - IPV4V6 - - - - - - - - - - - - - - - - - - - - - - - - - - - - IPV4V6 - IPV4V6 - - - - - - - - - IPV4V6 - IPV4V6 - - - - - - - - - - - - - - - - - - - - - IPV4V6 - IPV4V6 - - - - - China Unicom - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IPV4V6 - IPV4V6 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IPV4V6 - IPV4V6 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IPV4V6 - IPV4V6 - - - - - China Unicom - - - - - - - - - - - - - - - - - IPV4V6 - IPV4V6 - - - - - - - - - - - - - - - - - IPV4V6 - IPV4V6 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IPV4V6 - IPV4V6 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/overlay/packages/apps/Settings/res/values/config.xml b/overlay/packages/apps/Settings/res/values/config.xml deleted file mode 100644 index d99d769..0000000 --- a/overlay/packages/apps/Settings/res/values/config.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - true - diff --git a/overlay/packages/apps/Settings/res/values/dimens.xml b/overlay/packages/apps/Settings/res/values/dimens.xml deleted file mode 100644 index b2d1025..0000000 --- a/overlay/packages/apps/Settings/res/values/dimens.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - 8dp - 80% - diff --git a/overlay/packages/services/Telephony/res/values/config.xml b/overlay/packages/services/Telephony/res/values/config.xml deleted file mode 100644 index 7a10cc8..0000000 --- a/overlay/packages/services/Telephony/res/values/config.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - - - true - - - true - - - org.codeaurora.ims - - - org.codeaurora.ims - diff --git a/product.prop b/product.prop new file mode 100644 index 0000000..3b1dffa --- /dev/null +++ b/product.prop @@ -0,0 +1,15 @@ +# Audio +af.fast_track_multiplier=1 +audio.deep_buffer.media=true +audio.offload.min.duration.secs=30 +audio.offload.video=true +ro.af.client_heap_size_kbyte=7168 + +# eBPF +ro.bpf.kver_override=5.10.239 + +# GMS +ro.opa.device_model_id=ga-oplus-skill-os121-211011 + +# IMS +persist.vendor.rcs.singlereg.feature=1 diff --git a/proprietary-files.txt b/proprietary-files.txt index 4294973..ad1ef77 100644 --- a/proprietary-files.txt +++ b/proprietary-files.txt @@ -1,36 +1,19 @@ ## All proprietary files from this list, unless pinned and noted otherwise, -## are from OnePlus Nord N200 (11.0.6.0.DE17AA). OTAs to extract from can be found here: -## https://www.oneplus.com/support/softwareupgrade/details?code=PM1630638351161 +## are from CPH2467_14.0.0.1320(EX01). -# ACDB -odm/etc/acdbdata/acdb_version -odm/etc/acdbdata/Bluetooth_cal.acdb -odm/etc/acdbdata/General_cal.acdb -odm/etc/acdbdata/Global_cal.acdb -odm/etc/acdbdata/Handset_cal.acdb -odm/etc/acdbdata/Hdmi_cal.acdb -odm/etc/acdbdata/Headset_cal.acdb -odm/etc/acdbdata/Speaker_cal.acdb -vendor/etc/acdbdata/adsp_avs_config.acdb -vendor/etc/acdbdata/MTP/holi-mtpsku1-snd-card/MTP_SKU1_Bluetooth_cal.acdb -vendor/etc/acdbdata/MTP/holi-mtpsku1-snd-card/MTP_SKU1_General_cal.acdb -vendor/etc/acdbdata/MTP/holi-mtpsku1-snd-card/MTP_SKU1_Global_cal.acdb -vendor/etc/acdbdata/MTP/holi-mtpsku1-snd-card/MTP_SKU1_Handset_cal.acdb -vendor/etc/acdbdata/MTP/holi-mtpsku1-snd-card/MTP_SKU1_Hdmi_cal.acdb -vendor/etc/acdbdata/MTP/holi-mtpsku1-snd-card/MTP_SKU1_Headset_cal.acdb -vendor/etc/acdbdata/MTP/holi-mtpsku1-snd-card/MTP_SKU1_Speaker_cal.acdb -vendor/etc/acdbdata/MTP/holi-mtpsku1-snd-card/MTP_SKU1_workspaceFile.qwsp -vendor/etc/acdbdata/MTP/MTP_Bluetooth_cal.acdb -vendor/etc/acdbdata/MTP/MTP_General_cal.acdb -vendor/etc/acdbdata/MTP/MTP_Global_cal.acdb -vendor/etc/acdbdata/MTP/MTP_Handset_cal.acdb -vendor/etc/acdbdata/MTP/MTP_Hdmi_cal.acdb -vendor/etc/acdbdata/MTP/MTP_Headset_cal.acdb -vendor/etc/acdbdata/MTP/MTP_Speaker_cal.acdb -vendor/etc/acdbdata/MTP/MTP_workspaceFile.qwsp -vendor/etc/acdbdata/nn_ns_models/fai__2.0.0_0.1__3.0.0_0.0__eai_1.00.pmd -vendor/etc/acdbdata/nn_ns_models/fai__2.2.0_0.1__3.0.0_0.0__eai_1.00.pmd -vendor/etc/acdbdata/nn_vad_models/fai_3.0.0_0.0_eai_1.00.pmd +# ACDB - from DE2117_11.C.37 +odm/etc/acdbdata/Audio_Parameter_Version.txt|5ca7048cb6c53d0af7193467e2e12ddd19d71fa9 +odm/etc/acdbdata/Bluetooth_cal.acdb|3a151ca12899db9278c6795a9be0e03f4339367b +odm/etc/acdbdata/General_cal.acdb|220a94d8de69f19a2368c6db3ec2a4b533fb61df +odm/etc/acdbdata/Global_cal.acdb|8cca2bc30c44da7637e53b655670429cf823fb81 +odm/etc/acdbdata/Handset_cal.acdb|0f05e2babc16d8f6d9c29b57509029104c49fd87 +odm/etc/acdbdata/Hdmi_cal.acdb|fb11f4035f9d68e1fad73e68578768dfb5a005d9 +odm/etc/acdbdata/Headset_cal.acdb|a54f1e7964a582f6d657488eec8e29d51eb8679f +odm/etc/acdbdata/Speaker_cal.acdb|e11b2ac4b8710924cccc662e128c0ca84b549433 +vendor/etc/acdbdata/nn_ns_models/fai__2.0.0_0.1__3.0.0_0.0__eai_1.00.pmd|247fa73e3b22ac1d8b98a601a9583bfd1e113879 +vendor/etc/acdbdata/nn_ns_models/fai__2.2.0_0.1__3.0.0_0.0__eai_1.00.pmd|92885cbda7ebaba86f07cc6974ba9a17cfac78f8 +vendor/etc/acdbdata/nn_vad_models/fai_3.0.0_0.0_eai_1.00.pmd|b761b7b9d0b2e782ec557b0c333cc3efa924db4f +vendor/etc/acdbdata/adsp_avs_config.acdb;SYMLINK=odm/etc/acdbdata/adsp_avs_config.acdb|43fde53eaafb40ac88e5c7e2e17dd534f84d5efd # ADSP vendor/bin/adsprpcd @@ -45,43 +28,57 @@ vendor/lib64/libloadalgo_stub.so vendor/lib64/vendor.qti.hardware.dsp@1.0.so # ADSP modules -vendor/lib/rfsa/adsp/capi_v2_aptX_CLHDAD_Encoder.so -vendor/lib/rfsa/adsp/capi_v2_aptX_CLHDAD_Speech_Decoder.so -vendor/lib/rfsa/adsp/dirac_resource.dar +odm/lib/rfsa/adsp/capi_v2_aptX_CLHDAD_Encoder.so +odm/lib/rfsa/adsp/libarcsoft_dualcam_refocus_skel.so +odm/lib/rfsa/adsp/libarcsoft_hdrplus_hvx_skel.so +odm/lib/rfsa/adsp/libarcsoft_portraitsn_hvx_skel.so +odm/lib/rfsa/adsp/libarcsoft_portraitSN_hvx_skel.so +odm/lib/rfsa/adsp/libcalculator_skel.so +odm/lib/rfsa/adsp/libhdr_skel.so +odm/lib/rfsa/adsp/libhvxFaceBeautyPre_skel.so +odm/lib/rfsa/adsp/libktvdrc.so +odm/lib/rfsa/adsp/libktveffect.so +odm/lib/rfsa/adsp/libktveq.so +odm/lib/rfsa/adsp/libktvns.so +odm/lib/rfsa/adsp/libktvpitchshift.so +odm/lib/rfsa/adsp/libktvreverb.so +odm/lib/rfsa/adsp/libktvvolume.so +odm/lib/rfsa/adsp/libsnpe_dsp_domains_skel.so +odm/lib/rfsa/adsp/libsnpe_dsp_skel.so +odm/lib/rfsa/adsp/libsnpe_dsp_v65_domains_v2_skel.so +odm/lib/rfsa/adsp/libsnpe_dsp_v66_domains_v2_skel.so +odm/lib/rfsa/adsp/libsnpe_dsp_v68_domains_v3_skel.so +odm/lib/rfsa/adsp/libvdblurless_4.6.10T_skel.so +odm/lib/rfsa/adsp/libvdblurless_skel.so +odm/lib/rfsa/adsp/libVDHexagonBlurless_v2_skel.so +odm/lib/rfsa/adsp/libvdsuperphoto_skel.so +vendor/lib/rfsa/adsp/bm2n06.bin +vendor/lib/rfsa/adsp/bm2n08.bin +vendor/lib/rfsa/adsp/bm2n12.bin +vendor/lib/rfsa/adsp/bm2n13.bin +vendor/lib/rfsa/adsp/bm2n14.bin +vendor/lib/rfsa/adsp/bm2n15.bin vendor/lib/rfsa/adsp/libadsp_jpege_skel.so vendor/lib/rfsa/adsp/libapps_mem_heap.so -vendor/lib/rfsa/adsp/libarcsoft_dualcam_refocus_skel.so vendor/lib/rfsa/adsp/libbitml_nsp_skel.so -vendor/lib/rfsa/adsp/libcalculator_skel.so +vendor/lib/rfsa/adsp/libbitml_nsp_v2_skel.so vendor/lib/rfsa/adsp/libcamera_nn_skel.so -vendor/lib/rfsa/adsp/libdirac-capiv2.so vendor/lib/rfsa/adsp/libdspCV_skel.so vendor/lib/rfsa/adsp/libdsp_streamer_binning.so vendor/lib/rfsa/adsp/libfastcvadsp.so vendor/lib/rfsa/adsp/libfastcvdsp_skel.so -vendor/lib/rfsa/adsp/libhexagon_nn_skel.so -vendor/lib/rfsa/adsp/libhvxFaceBeautyPre_skel.so +vendor/lib/rfsa/adsp/libhdr_skel.so;MODULE_SUFFIX=_vendor vendor/lib/rfsa/adsp/libmctfengine_skel.so vendor/lib/rfsa/adsp/libscveObjectSegmentation_skel.so vendor/lib/rfsa/adsp/libscveT2T_skel.so -vendor/lib/rfsa/adsp/libsnpe_dsp_v65_domains_v2_skel.so -vendor/lib/rfsa/adsp/libsnpe_dsp_v66_domains_v2_skel.so -vendor/lib/rfsa/adsp/libsnpe_dsp_v68_domains_v3_skel.so -vendor/lib/rfsa/adsp/libsns_device_mode_skel.so -vendor/lib/rfsa/adsp/libsns_low_lat_stream_skel.so -vendor/lib/rfsa/adsp/libvdblurless_4.6.10M_skel.so -vendor/lib/rfsa/adsp/libVDHexagonBlurless_v2_skel.so -vendor/lib64/rfsa/adsp/libsns_device_mode_skel.so -vendor/lib64/rfsa/adsp/libsns_low_lat_stream_skel.so +vendor/lib/rfsa/adsp/libsns_device_mode_skel.so;SYMLINK=vendor/lib64/rfsa/adsp/libsns_device_mode_skel.so +vendor/lib/rfsa/adsp/libsns_low_lat_stream_skel.so;SYMLINK=vendor/lib64/rfsa/adsp/libsns_low_lat_stream_skel.so -# ANT+ -system_ext/lib/com.qualcomm.qti.ant@1.0.so -system_ext/lib64/com.qualcomm.qti.ant@1.0.so -vendor/lib64/hw/com.dsi.ant@1.0-impl.so +# ANT+ - from LE2125_14.0.0.720(EX01) +vendor/lib64/hw/com.dsi.ant@1.0-impl.so|ab5ad99ff48dac2cbe87e8c2847161bc302d1923 # Audio libraries vendor/lib/soundfx/libasphere.so -vendor/lib/soundfx/libhaptic_effect.so vendor/lib/soundfx/libqcbassboost.so vendor/lib/soundfx/libqcreverb.so vendor/lib/soundfx/libqcvirt.so @@ -93,349 +90,694 @@ vendor/lib/libadiertac.so vendor/lib/libadm.so vendor/lib/libadsprpc.so vendor/lib/libaudcal.so +vendor/lib/libaudio_log_utils.so +vendor/lib/libaudioparsers.so +vendor/lib/libhdmipassthru.so vendor/lib/libqtigef.so vendor/lib64/libadsprpc.so -# Bluetooth -vendor/bin/hw/android.hardware.bluetooth@1.0-service-qti -vendor/etc/init/android.hardware.bluetooth@1.0-service-qti.rc -vendor/lib64/hw/android.hardware.bluetooth@1.0-impl-qti.so -vendor/lib64/libbtnv.so -vendor/lib64/libsoc_helper.so +# Audio LVIMFS +odm/lib/lib_lvacfs.so +odm/lib/liblvacfs_wrapper.so -# Bluetooth (A2DP) -vendor/lib/hw/audio.bluetooth_qti.default.so -vendor/lib/hw/vendor.qti.hardware.bluetooth_audio@2.0-impl.so -vendor/lib/hw/vendor.qti.hardware.bluetooth_sar@1.1-impl.so -vendor/lib/hw/vendor.qti.hardware.btconfigstore@1.0-impl.so -vendor/lib/hw/vendor.qti.hardware.btconfigstore@2.0-impl.so -vendor/lib/btaudio_offload_if.so -vendor/lib/libbluetooth_audio_session_qti.so -vendor/lib/vendor.qti.hardware.bluetooth_sar@1.0.so -vendor/lib/vendor.qti.hardware.bluetooth_sar@1.1.so -vendor/lib64/hw/audio.bluetooth_qti.default.so -vendor/lib64/hw/vendor.qti.hardware.bluetooth_audio@2.0-impl.so -vendor/lib64/hw/vendor.qti.hardware.bluetooth_sar@1.1-impl.so -vendor/lib64/hw/vendor.qti.hardware.btconfigstore@1.0-impl.so -vendor/lib64/hw/vendor.qti.hardware.btconfigstore@2.0-impl.so -vendor/lib64/btaudio_offload_if.so -vendor/lib64/libbluetooth_audio_session_qti.so -vendor/lib64/vendor.qti.hardware.bluetooth_sar@1.0.so -vendor/lib64/vendor.qti.hardware.bluetooth_sar@1.1.so +# Audio LVIMFS - from DE2117_11.C.37 +odm/etc/lvimfs_params/LVACFS_Configuration.txt|024b3814ee9d35b2954c253ae1a25311d4724902 +odm/etc/lvimfs_params/LVIMFS_Calibration_2mic.dat|ae8a5e7c7ee1a036ebf19a93d0e4e6ad804421ed +odm/etc/lvimfs_params/LVIMFS_Parameter_ID1_MIC_Normal.txt|b3ba0a1e4330ab2c06ed91935775d73410f95e75 +odm/etc/lvimfs_params/LVIMFS_Parameter_ID2_MIC_APP1.txt|9c4c252c1d3b8e0d408436493e23456c5d1cac02 +odm/etc/lvimfs_params/LVIMFS_Parameter_ID3_MIC_APP2.txt|49a5e51773d6e914760bc63e120b8dccc665e3fc +odm/etc/lvimfs_params/LVIMFS_Parameter_ID4_MIC_Cam.txt|51755c45956e874f16cf32864997b37fb8118ae0 +odm/etc/lvimfs_params/LVIMFS_Parameter_ID5_MIC_Conference.txt|86cec8aefc159025764de1c973f355b18f28f99d +odm/etc/lvimfs_params/LVIMFS_Parameter_ID6_MIC_Fast.txt|79ae2eeca0a57e6bec03b89ad5643f59f4bb4c81 +odm/etc/lvimfs_params/LVIMFS_Parameter_ID7_MIC_Interview.txt|80da5955012e93d6c50678a42afc6338957ccd85 +odm/etc/lvimfs_params/LVIMFS_Parameter_ID8_MIC_Unprocess.txt|9f6c9bf974df7bb44569f0c907ffdf12278d9ff4 +odm/etc/lvimfs_params/LVIMFS_Parameter_ID9_MIC_Voice.txt|58d97be976f0af53c8e917bbc183c97e880c0ef6 +odm/etc/lvimfs_params/LVIMFS_Parameter_ID10_MIC_VR.txt|58d97be976f0af53c8e917bbc183c97e880c0ef6 +odm/etc/lvimfs_params/LVIMFS_Parameter_ID11_HE.txt|cf5511dfe48fa689b264f6acb243b472ab77f952 +odm/etc/lvimfs_params/LVIMFS_Parameter_ID12_HE_APP1.txt|9f20523bd98f93113e5638593bac65102d128cf5 +odm/etc/lvimfs_params/LVIMFS_Parameter_ID13_HE_APP2.txt|127971b4a69960ad59dae3a7fb2142d0a698ef15 +odm/etc/lvimfs_params/LVIMFS_Parameter_ID14_HE_Cam.txt|2801ccb5a315e020ae88d279517310c64ebd3555 +odm/etc/lvimfs_params/LVIMFS_Parameter_ID15_HE_Conference.txt|a9f52a40c3cc5d9e69e4e7d01cbe31848b6baa13 +odm/etc/lvimfs_params/LVIMFS_Parameter_ID16_HE_Fast.txt|80d912cc493fcdcae4df2812b86d7e600f44b9ce +odm/etc/lvimfs_params/LVIMFS_Parameter_ID17_HE_Interview.txt|77b9bcdd3d03341b8c789a1fc46686988d77d232 +odm/etc/lvimfs_params/LVIMFS_Parameter_ID18_HE_Unprocess.txt|ce88b46719190c7605ab3300d2d88121f7709c47 +odm/etc/lvimfs_params/LVIMFS_Parameter_ID19_HE_Voice.txt|cf5511dfe48fa689b264f6acb243b472ab77f952 +odm/etc/lvimfs_params/LVIMFS_Parameter_ID20_HE_VR.txt|17d73bdbe846e10e221f24ebf4266b070a9ba29d +odm/etc/lvimfs_params/LVIMFS_Parameter_ID21_USB_Normal.txt|d71c71902cd0690fc427c151351c063a61065f87 +odm/etc/lvimfs_params/LVIMFS_Parameter_ID22_USB_APP1.txt|4afab240183e10e0dfabe44c68d3f96286046233 +odm/etc/lvimfs_params/LVIMFS_Parameter_ID23_BT_Normal.txt|4afab240183e10e0dfabe44c68d3f96286046233 +odm/etc/lvimfs_params/LVIMFS_Parameter_ID24_BT_APP1.txt|d06f245cc25a70b556100af2d38638d0251feb0e +odm/lib/liblvimfs.so|51955be664d0d88044d212c9f1f96924eeb816f7 +odm/lib/liblvimfs_wrapper.so|d099f079a134900932db8fb2417b4e98e14ea05d|6a77ce24d662e1169e57951cb8a849ea75c8ee3d -# Bluetooth (aptX) - from crosshatch - RQ1A.201205.003 -system_ext/lib64/libaptX_encoder.so|df1c89d7af1bb35808d5fe3496b04ba066c10cbc -system_ext/lib64/libaptXHD_encoder.so|e13fa70c97caaa24d061678bdee608eb8850a69e +# Bluetooth - from LE2125_14.0.0.720(EX01) +vendor/bin/hw/android.hardware.bluetooth@1.0-service-qti|801aeb458a8d7fbbf56599981ae0c3a1bcf9d32a +vendor/etc/init/android.hardware.bluetooth@1.0-service-qti.rc|ebf60c17d1fbd737c6f6b043241e2ce18b3fcaa1 +vendor/lib/hw/android.hardware.bluetooth@1.0-impl-qti.so|ecaad4f00669bfd54f3a41c2a1186cfc5600edd6 +vendor/lib/libbtnv.so|e642f7a5d0bd59a8409209486b37658d5e757721 +vendor/lib/libsoc_helper.so|a80d8e4e2740cbfb369270581475b5921ced5077 +vendor/lib64/hw/android.hardware.bluetooth@1.0-impl-qti.so|65cbc32456db100cf4babc418424fa5b3d581e8e +vendor/lib64/libbtnv.so|84bbe7a0911631d0394f87e8739f719db866e025 +vendor/lib64/libsoc_helper.so|1a76b2e9151c6bf3a0576999b4ca9fa2e65da6ed -# Camera -odm/lib64/libhwconfigurationutil.so -vendor/bin/hw/vendor.oneplus.hardware.camera@1.0-service -vendor/bin/hw/vendor.oneplus.hardware.CameraMDMHIDL@1.0-service -vendor/etc/camera/filters_lut/B1aMqioxf -vendor/etc/camera/filters_lut/B1nmcmWbG -vendor/etc/camera/filters_lut/B1si_XbZz -vendor/etc/camera/filters_lut/B1VLf4peM -vendor/etc/camera/filters_lut/BJJAwoigM -vendor/etc/camera/filters_lut/BJyKIwqxz -vendor/etc/camera/filters_lut/black_gold.bin -vendor/etc/camera/filters_lut/bowu-2.1.cube.rgb.bin -vendor/etc/camera/filters_lut/bright_coloured.bin -vendor/etc/camera/filters_lut/BycYf7WWz -vendor/etc/camera/filters_lut/ByW7g4bbf -vendor/etc/camera/filters_lut/ByYo3If -vendor/etc/camera/filters_lut/default -vendor/etc/camera/filters_lut/EyxRbD2UCe -vendor/etc/camera/filters_lut/f_bin_hideaki -vendor/etc/camera/filters_lut/f_candy_water_weak.cube.rgb.bin -vendor/etc/camera/filters_lut/f_contrast_gray_face_dark -vendor/etc/camera/filters_lut/f_fuji_strong.cube.rgb.bin -vendor/etc/camera/filters_lut/f_japan_strong.cube.rgb.bin -vendor/etc/camera/filters_lut/interstellar_space.bin -vendor/etc/camera/filters_lut/jiari-2.0.cube.rgb.bin -vendor/etc/camera/filters_lut/lvtu-2.0.cube.rgb.bin -vendor/etc/camera/filters_lut/meiwei-2.2.cube.rgb.bin -vendor/etc/camera/filters_lut/neon-2020.cube.rgb.bin -vendor/etc/camera/filters_lut/oppo_video_filter_black_and_white -vendor/etc/camera/filters_lut/oppo_video_filter_highlight -vendor/etc/camera/filters_lut/oppo_video_filter_ins -vendor/etc/camera/filters_lut/oppo_video_filter_natal -vendor/etc/camera/filters_lut/oppo_video_filter_olympus -vendor/etc/camera/filters_lut/oppo_video_filter_plain -vendor/etc/camera/filters_lut/oppo_video_filter_show -vendor/etc/camera/filters_lut/oppo_video_filter_solar -vendor/etc/camera/filters_lut/oppo_video_filter_strong -vendor/etc/camera/filters_lut/oppo_video_filter_west -vendor/etc/camera/filters_lut/p4_1.cube.rgb.bin -vendor/etc/camera/filters_lut/p4_2.cube.rgb.bin -vendor/etc/camera/filters_lut/p4_3.cube.rgb.bin -vendor/etc/camera/filters_lut/p4_4.cube.rgb.bin -vendor/etc/camera/filters_lut/qiuri-2.0.cube.rgb.bin -vendor/etc/camera/filters_lut/r1JaFSZZG -vendor/etc/camera/filters_lut/r1PrfoolG -vendor/etc/camera/filters_lut/realme-black-gold-1.1-RGB.CUBE.rgb.bin -vendor/etc/camera/filters_lut/realme-cyberpunk-RGB.CUBE.rgb.bin -vendor/etc/camera/filters_lut/realme-infra-RGB.CUBE.rgb.bin -vendor/etc/camera/filters_lut/red-red.cube.rgb.bin -vendor/etc/camera/filters_lut/rJ5g5vPWG -vendor/etc/camera/filters_lut/rJxJtmaez -vendor/etc/camera/filters_lut/rkMhq4ZWf -vendor/etc/camera/filters_lut/rkx5u4Zbf -vendor/etc/camera/filters_lut/senlin-2.0.cube.rgb.bin -vendor/etc/camera/filters_lut/SJ3mbr6ef -vendor/etc/camera/filters_lut/SkpZ8ebbz -vendor/etc/camera/filters_lut/sky-blue.cube.rgb.bin -vendor/etc/camera/filters_lut/Sy4uLSTgf -vendor/etc/camera/filters_lut/Syt2KeZZf -vendor/etc/camera/filters_lut/tree-green.cube.rgb.bin -vendor/etc/camera/filters_lut/yuanqi-2.2s.cube.rgb.bin -vendor/etc/camera/filters_res/film_grain_small.bin -vendor/etc/camera/filters_res/lut_all_points.png -vendor/etc/camera/filters_res/overlay_p4_3_weak.png -vendor/etc/camera/PerfectColorSet/default/colorLut0 -vendor/etc/camera/PerfectColorSet/default/colorLut1 -vendor/etc/camera/PerfectColorSet/default/colorLut10 -vendor/etc/camera/PerfectColorSet/default/colorLut11 -vendor/etc/camera/PerfectColorSet/default/colorLut12 -vendor/etc/camera/PerfectColorSet/default/colorLut13 -vendor/etc/camera/PerfectColorSet/default/colorLut14 -vendor/etc/camera/PerfectColorSet/default/colorLut15 -vendor/etc/camera/PerfectColorSet/default/colorLut16 -vendor/etc/camera/PerfectColorSet/default/colorLut17 -vendor/etc/camera/PerfectColorSet/default/colorLut18 -vendor/etc/camera/PerfectColorSet/default/colorLut2 -vendor/etc/camera/PerfectColorSet/default/colorLut3 -vendor/etc/camera/PerfectColorSet/default/colorLut4 -vendor/etc/camera/PerfectColorSet/default/colorLut5 -vendor/etc/camera/PerfectColorSet/default/colorLut6 -vendor/etc/camera/PerfectColorSet/default/colorLut7 -vendor/etc/camera/PerfectColorSet/default/colorLut8 -vendor/etc/camera/PerfectColorSet/default/colorLut9 -vendor/etc/camera/PerfectColorSet/default/curveLut0 -vendor/etc/camera/PerfectColorSet/default/curveLut1 -vendor/etc/camera/PerfectColorSet/default/curveLut10 -vendor/etc/camera/PerfectColorSet/default/curveLut11 -vendor/etc/camera/PerfectColorSet/default/curveLut12 -vendor/etc/camera/PerfectColorSet/default/curveLut13 -vendor/etc/camera/PerfectColorSet/default/curveLut14 -vendor/etc/camera/PerfectColorSet/default/curveLut15 -vendor/etc/camera/PerfectColorSet/default/curveLut16 -vendor/etc/camera/PerfectColorSet/default/curveLut17 -vendor/etc/camera/PerfectColorSet/default/curveLut18 -vendor/etc/camera/PerfectColorSet/default/curveLut2 -vendor/etc/camera/PerfectColorSet/default/curveLut3 -vendor/etc/camera/PerfectColorSet/default/curveLut4 -vendor/etc/camera/PerfectColorSet/default/curveLut5 -vendor/etc/camera/PerfectColorSet/default/curveLut6 -vendor/etc/camera/PerfectColorSet/default/curveLut7 -vendor/etc/camera/PerfectColorSet/default/curveLut8 -vendor/etc/camera/PerfectColorSet/default/curveLut9 -vendor/etc/camera/PerfectColorSet/default/frameSet.ini -vendor/etc/camera/PerfectColorSet/default/param0.ini -vendor/etc/camera/PerfectColorSet/default/param10.ini -vendor/etc/camera/PerfectColorSet/default/param11.ini -vendor/etc/camera/PerfectColorSet/default/param12.ini -vendor/etc/camera/PerfectColorSet/default/param13.ini -vendor/etc/camera/PerfectColorSet/default/param14.ini -vendor/etc/camera/PerfectColorSet/default/param15.ini -vendor/etc/camera/PerfectColorSet/default/param16.ini -vendor/etc/camera/PerfectColorSet/default/param17.ini -vendor/etc/camera/PerfectColorSet/default/param18.ini -vendor/etc/camera/PerfectColorSet/default/param1.ini -vendor/etc/camera/PerfectColorSet/default/param2.ini -vendor/etc/camera/PerfectColorSet/default/param3.ini -vendor/etc/camera/PerfectColorSet/default/param4.ini -vendor/etc/camera/PerfectColorSet/default/param5.ini -vendor/etc/camera/PerfectColorSet/default/param6.ini -vendor/etc/camera/PerfectColorSet/default/param7.ini -vendor/etc/camera/PerfectColorSet/default/param8.ini -vendor/etc/camera/PerfectColorSet/default/param9.ini -vendor/etc/camera/PerfectColorSet/default/photoSet.ini -vendor/etc/camera/PerfectColorSet/default/platformSet.ini -vendor/etc/camera/PerfectColorSet/default/sceneList.txt -vendor/etc/camera/singleblur/dbl_small_481.model -vendor/etc/camera/singleblur/license_release.lic -vendor/etc/camera/gasryuv_1.2_wp.model -vendor/etc/camera/M_Attribute_AG_BMW_1.1.0.model.hardcode -vendor/etc/camera/M_Attribute_Gender_Age_1.0.model.hardcode -vendor/etc/init/vendor.oneplus.hardware.camera@1.0-service.rc -vendor/etc/init/vendor.oneplus.hardware.CameraMDMHIDL@1.0-service.rc -vendor/lib/libcamxexternalformatutils.so -vendor/lib64/camera/components/com.qti.camx.chiiqutils.so -vendor/lib64/camera/components/com.qti.eisv2.so -vendor/lib64/camera/components/com.qti.eisv3.so -vendor/lib64/camera/components/com.qti.hvx.addconstant.so -vendor/lib64/camera/components/com.qti.hvx.binning.so -vendor/lib64/camera/components/com.qti.node.customhwnode.so -vendor/lib64/camera/components/com.qti.node.depth.so -vendor/lib64/camera/components/com.qti.node.dewarp.so -vendor/lib64/camera/components/com.qti.node.dummyrtb.so -vendor/lib64/camera/components/com.qti.node.dummysat.so -vendor/lib64/camera/components/com.qti.node.eisv2.so -vendor/lib64/camera/components/com.qti.node.eisv3.so -vendor/lib64/camera/components/com.qti.node.fcv.so -vendor/lib64/camera/components/com.qti.node.formatconversion.so -vendor/lib64/camera/components/com.qti.node.gpu.so -vendor/lib64/camera/components/com.qti.node.memcpy.so -vendor/lib64/camera/components/com.qti.node.ml.so -vendor/lib64/camera/components/com.qti.node.remosaic.so -vendor/lib64/camera/components/com.qti.node.stich.so -vendor/lib64/camera/components/com.qti.node.swaidenoiser.so -vendor/lib64/camera/components/com.qti.node.swbestats.so -vendor/lib64/camera/components/com.qti.node.swcac.so -vendor/lib64/camera/components/com.qti.node.swlsc.so -vendor/lib64/camera/components/com.qti.node.swmctf.so -vendor/lib64/camera/components/com.qti.node.swmfnr.so -vendor/lib64/camera/components/com.qti.node.swpdpc.so -vendor/lib64/camera/components/com.qti.node.swpreprocess.so -vendor/lib64/camera/components/com.qti.node.swregistration.so -vendor/lib64/camera/components/com.qtistatic.stats.aec.so -vendor/lib64/camera/components/com.qtistatic.stats.af.so -vendor/lib64/camera/components/com.qtistatic.stats.awb.so -vendor/lib64/camera/components/com.qtistatic.stats.pdlib.so -vendor/lib64/camera/components/com.qti.stats.aec.so -vendor/lib64/camera/components/com.qti.stats.aecwrapper.so -vendor/lib64/camera/components/com.qti.stats.aecxcore.so -vendor/lib64/camera/components/com.qti.stats.afd.so -vendor/lib64/camera/components/com.qti.stats.af.so -vendor/lib64/camera/components/com.qti.stats.afwrapper.so -vendor/lib64/camera/components/com.qti.stats.asd.so -vendor/lib64/camera/components/com.qti.stats.awb.so -vendor/lib64/camera/components/com.qti.stats.awbwrapper.so -vendor/lib64/camera/components/com.qti.stats.cnndriver.so -vendor/lib64/camera/components/com.qti.stats.hafoverride.so -vendor/lib64/camera/components/com.qti.stats.haf.so -vendor/lib64/camera/components/com.qti.stats.pdlib.so -vendor/lib64/camera/components/com.qti.stats.pdlibsony.so -vendor/lib64/camera/components/com.qti.stats.pdlibwrapper.so -vendor/lib64/camera/components/com.qti.stats.tracker.so -vendor/lib64/camera/components/libdepthmapwrapper_secure.so -vendor/lib64/camera/com.qti.sensor.gc02m1b_mono.so -vendor/lib64/camera/com.qti.sensormodule.gc02m1b_mono.bin -vendor/lib64/camera/com.qti.sensormodule.ov02b10_macro.bin -vendor/lib64/camera/com.qti.sensormodule.sunny_ov13b10.bin -vendor/lib64/camera/com.qti.sensormodule.sy_imx471.bin -vendor/lib64/camera/com.qti.sensor.ov02b10_macro.so -vendor/lib64/camera/com.qti.sensor.ov13b10.so -vendor/lib64/camera/com.qti.sensor.sy_imx471.so -vendor/lib64/camera/com.qti.tuned.default_front.bin -vendor/lib64/camera/com.qti.tuned.default_macro.bin -vendor/lib64/camera/com.qti.tuned.default_mono.bin -vendor/lib64/camera/com.qti.tuned.default_rear.bin -vendor/lib64/hw/camera.qcom.so -vendor/lib64/hw/com.qti.chi.override.so -vendor/lib64/com.qti.chiusecaseselector.so -vendor/lib64/com.qti.feature2.anchorsync.so -vendor/lib64/com.qti.feature2.demux.so -vendor/lib64/com.qti.feature2.derivedoffline.so -vendor/lib64/com.qti.feature2.frameselect.so -vendor/lib64/com.qti.feature2.fusion.so -vendor/lib64/com.qti.feature2.generic.so -vendor/lib64/com.qti.feature2.gs.cedros.so -vendor/lib64/com.qti.feature2.gs.kamorta.so -vendor/lib64/com.qti.feature2.gs.mannar.so -vendor/lib64/com.qti.feature2.gs.sdm865.so -vendor/lib64/com.qti.feature2.gs.sm8350.so -vendor/lib64/com.qti.feature2.hdr.so -vendor/lib64/com.qti.feature2.mcreprocrt.so -vendor/lib64/com.qti.feature2.memcpy.so -vendor/lib64/com.qti.feature2.mfsr.so -vendor/lib64/com.qti.feature2.ml.so -vendor/lib64/com.qti.feature2.mux.so -vendor/lib64/com.qti.feature2.qcfa.so -vendor/lib64/com.qti.feature2.rawhdr.so -vendor/lib64/com.qti.feature2.realtimeserializer.so -vendor/lib64/com.qti.feature2.rt.so -vendor/lib64/com.qti.feature2.rtmcx.so -vendor/lib64/com.qti.feature2.serializer.so -vendor/lib64/com.qti.feature2.statsregeneration.so -vendor/lib64/com.qti.feature2.stub.so -vendor/lib64/com.qti.feature2.swmf.so -vendor/lib64/com.qti.settings.mannar.so -vendor/lib64/com.qti.stats.common.so -vendor/lib64/com.qualcomm.mcx.distortionmapper.so -vendor/lib64/com.qualcomm.mcx.linearmapper.so -vendor/lib64/com.qualcomm.mcx.policy.mfl.so -vendor/lib64/com.qualcomm.qti.mcx.usecase.extension.so -vendor/lib64/libaidenoiser.so -vendor/lib64/libAlgoProcess.so -vendor/lib64/libapsexif.so -vendor/lib64/libapsjpeg.so -vendor/lib64/libarcsoft_calibverify_TriCamera.so -vendor/lib64/libarcsoft_dualcam_bokeh_api.so -vendor/lib64/libarcsoft_dualcam_refocus_left.so -vendor/lib64/libarcsoft_dualcam_refocus_preview.so -vendor/lib64/libarcsoft_dualcam_refocus_uw.so -vendor/lib64/libarcsoft_hdr_couple_api.so -vendor/lib64/libarcsoft_hdr_denoise_api.so -vendor/lib64/libarcsoft_high_dynamic_range.so -vendor/lib64/libarcsoft_high_dynamic_range_couple.so -vendor/lib64/libarcsoft_low_light_hdr.so -vendor/lib64/libarcsoft_portraitsupernight.so -vendor/lib64/libarcsoft_smart_denoise.so -vendor/lib64/libarcsoft_supernight.so -vendor/lib64/libarcsoft_tricam_calibration.so -vendor/lib64/libarcsoft_tricam_verification.so -vendor/lib64/libbitmlengine.so -vendor/lib64/libc++_shared.so -vendor/lib64/libcamera_nn_stub.so -vendor/lib64/libcamerapostproc.so -vendor/lib64/libcamxexternalformatutils.so -vendor/lib64/libcamxfacialfeatures.so -vendor/lib64/libcamxfdalgo.so -vendor/lib64/libcamxfdengine.so -vendor/lib64/libcamxifestriping.so -vendor/lib64/libcamximageformatutils.so -vendor/lib64/libcamxqsatalgo.so -vendor/lib64/libcamxstatscore.so -vendor/lib64/libcamxswispiqmodule.so -vendor/lib64/libcamxswprocessalgo.so -vendor/lib64/libcamxtintlessalgo.so -vendor/lib64/libchilog.so -vendor/lib64/libcom.qti.chinodeutils.so -vendor/lib64/libCOppLceTonemapAPI.so -vendor/lib64/libcvface_api.so -vendor/lib64/libhta.so -vendor/lib64/libipebpsstriping.so -vendor/lib64/libjpege.so -vendor/lib64/libmctfengine_stub.so -vendor/lib64/libmmcamera_bestats.so -vendor/lib64/libmmcamera_cac3.so -vendor/lib64/libmmcamera_faceproc.so -vendor/lib64/libmmcamera_faceproc2.so -vendor/lib64/libmmcamera_lscv35.so -vendor/lib64/libmmcamera_mfnr.so -vendor/lib64/libmmcamera_mfnr_t4.so -vendor/lib64/libmmcamera_pdpc.so -vendor/lib64/libmpbase.so -vendor/lib64/libnanopb.so -vendor/lib64/libofflinedump.so -vendor/lib64/libofflinelog.so -vendor/lib64/libopencv.so -vendor/lib64/libopestriping.so -vendor/lib64/libos.so -vendor/lib64/libPerfectColor.so -vendor/lib64/libPerfectlyClearCruxOpt.so -vendor/lib64/libPolarrRender.so -vendor/lib64/libqll10.so -vendor/lib64/libqllengine.so -vendor/lib64/libSNPE.so -vendor/lib64/libsnpe_dsp_domains_v2.so -vendor/lib64/libsnpe_dsp_domains_v3.so -vendor/lib64/libSonyIMX471RmscLibrary.so -vendor/lib64/libstface_fd_api.so -vendor/lib64/libswregistrationalgo.so -vendor/lib64/libsynx.so -vendor/lib64/libtfestriping.so -vendor/lib64/libthreadutils.so -vendor/lib64/libVDBlurless.so -vendor/lib64/libVDBlurlessAPI_v2.so -vendor/lib64/libVDDualCameraBlurlessAPI.so -vendor/lib64/libVDPostureDetection.so -vendor/lib64/libVDSuperPhotoAPI.so -vendor/lib64/libVDUpScale.so -vendor/lib64/vendor.oneplus.hardware.camera@1.0.so -vendor/lib64/vendor.oneplus.hardware.CameraMDMHIDL@1.0.so -vendor/lib64/vendor.qti.hardware.camera.postproc@1.0-service-impl.so +# Bluetooth (A2DP) - from LE2125_14.0.0.720(EX01) +odm/lib/libbluetooth_audio_extend_factory_client.so|f387bd64693acd5192ebe767bb31fac78b34499d +odm/lib/vendor.oplus.hardware.bluetooth_audio_extend@2.1.so|7696aa748c0ae5bb4e200c100cc705f9fc2c7180 +odm/lib64/libbluetooth_audio_extend_factory_client.so|2363d96d4724c5c50c71944d3ab0faba46a660d3 +odm/lib64/vendor.oplus.hardware.bluetooth_audio_extend@2.1.so|68b29714755a494f7ceeea5302a8f3fa17423224 +vendor/lib/hw/vendor.qti.hardware.bluetooth_audio@2.0-impl.so|27316a4a9725437bdb1df0116f78fe73b6bbbf17 +vendor/lib/hw/vendor.qti.hardware.bluetooth_audio@2.1-impl.so|e0ac4deeda6ec32ebd929ded4fa144508393c000 +vendor/lib/hw/vendor.qti.hardware.bluetooth_sar@1.1-impl.so|2443909c9c1489a254a45bc47ca41dd5b935d08f +vendor/lib/hw/vendor.qti.hardware.btconfigstore@1.0-impl.so|4279398476187e4eaee25b17cc724bd300f79ce5 +vendor/lib/hw/vendor.qti.hardware.btconfigstore@2.0-impl.so|26924b6fcfa37beaf7a3cea26a088fef3dc78265 +vendor/lib/btaudio_offload_if.so|4423b604489b2127980ec0ca5c8a7d5998f73d97 +vendor/lib/libbluetooth_audio_session_qti.so|562967862bd5b19394c43c032796d77d9c5b2269 +vendor/lib/libbluetooth_audio_session_qti_2_1.so|c6069aa7798ae32adba88b7436b17bf44202ca75 +vendor/lib/vendor.qti.hardware.bluetooth_sar@1.0.so|33801f28c861c1c8556fa5daad26323e48a9c529 +vendor/lib/vendor.qti.hardware.bluetooth_sar@1.1.so|7b7135e7947366d0028410bdb5ffa57cdbe58ef6 +vendor/lib64/hw/vendor.qti.hardware.bluetooth_audio@2.0-impl.so|1def0ab01bb2647d7bece252211886cf6d3f74fd +vendor/lib64/hw/vendor.qti.hardware.bluetooth_audio@2.1-impl.so|4a8963453c6a41d1a0c65f2316da6814493e14c0 +vendor/lib64/hw/vendor.qti.hardware.bluetooth_sar@1.1-impl.so|dcdd0a74362b64e54278b5fb9cb903e9e91c0af3 +vendor/lib64/hw/vendor.qti.hardware.btconfigstore@1.0-impl.so|374f62d697c3a1af3293962e97c852c5d1f87e57 +vendor/lib64/hw/vendor.qti.hardware.btconfigstore@2.0-impl.so|4b26be5a786078ba7176233d4c0957f55ff65952 +vendor/lib64/btaudio_offload_if.so|95aea246c9dc2583b0cc37648f8515249a3aa9cb +vendor/lib64/libbluetooth_audio_session_qti.so|0023b876ea15948911954abcc3840b8503d4e847 +vendor/lib64/libbluetooth_audio_session_qti_2_1.so|934500aa31fa1d88f72ce29f62f1370d1d7fca4c +vendor/lib64/vendor.qti.hardware.bluetooth_sar@1.0.so|6b49865f15b9f2ae1f049623018db08a0bdbc03a +vendor/lib64/vendor.qti.hardware.bluetooth_sar@1.1.so|16af46f837b2b617dcf146ac478d08ea1a9800d1 + +# Camera - from DE2117_11.C.37 +odm/etc/camera/asd/class.dlc|0303c404d43f8aca151551cdf779fabb55738a84 +odm/etc/camera/asd/detect.dlc|9a8c7dfa78b6cf8bc9f116f234b47c4384f1500a +odm/etc/camera/ashdr/ncf_pack.ncf|1758fb709a0375c754c2e6f3a34c8093538956f7 +odm/etc/camera/cfr_bin/CFR_OPlus_EF017_UW_snapshot.bin|d76b20f42c9e030ec72ac81ed50777f5589b5242 +odm/etc/camera/config/camera_unit_config|40d2ce3b1ad40d4a6eaa24f9daa37daff1884725 +odm/etc/camera/config/hi846|6fe70e0489e84fdb9a794927df636e79f65cd910 +odm/etc/camera/config/imx471|357c1cb5579e3a9dc22b54388afac9bdfe5af558 +odm/etc/camera/config/odin_jk_ov02b10_macro|322636383a66e6eb59df7b10c8e805d3c02d9d19 +odm/etc/camera/config/odin_qt_ov13b10_rear|c89a509d6e4e869cd45268be62ab817b73d295d3 +odm/etc/camera/config/odin_qt_ov48b_wide|f5f7537c53da190bae87944704add252c30cc3dd +odm/etc/camera/config/odin_qt_s5kgm1st_wide|3738d77ba11a859035ae3c1bc95ca9a1037f4d04 +odm/etc/camera/config/odin_st_gc02k0_macro|c60c35a0886dc821fc393827ba7ea46b44d00f15 +odm/etc/camera/config/odin_st_hi846_uw|25cc387a125701bd76f3918be1382fdda1446d58 +odm/etc/camera/config/odin_tsp_ov8856_front|dbf1b8ad5bf996a3aafead8ac918fbfaa998dc58 +odm/etc/camera/config/oplus_camera_algo_switch_config|996fc6fca856b21a4eda4d36cb32561f06d115ff +odm/etc/camera/config/oplus_camera_aps_config|2dbb65f8387d1c83884bab3637b7f022bae7de55 +odm/etc/camera/config/oplus_camera_config|b7a0eb6ed6f3a2abc2ccecfbdee84da20694bc68 +odm/etc/camera/config/sy_imx471|0f07d3deafe817c02675126d1ee3208259287970 +odm/etc/camera/config/video_beauty_default_config|ef6dc95f6b8b21f356a866fb6b8b584ac2fb970c +odm/etc/camera/darksight/darksight_main.bin|050f73f28e0e1484acb5b9011272c98046b510ae +odm/etc/camera/darksight/darksight_ultrawide.bin|2d499ca8aaf85da9815f32c0daee5bc7caf0356a +odm/etc/camera/fb_model/000.png|219637b27bdfc08b7d4c9acf2c8041620f6e9e45 +odm/etc/camera/fb_model/000_pre.bin|a326a9639d8308b9a3ec0468bc1921bf812d8364 +odm/etc/camera/fb_model/001.png|d22ad35754e5e05cdffa2e8a0f6fca275e5af63d +odm/etc/camera/fb_model/001_pre.bin|7dd534cca54c618f2f2e9a038df046a4eea2905c +odm/etc/camera/fb_model/002.png|13196abcb75957573a035e958dfab8fa0f3d1ae6 +odm/etc/camera/fb_model/002_pre.bin|b5c1d444277c7118da8d180c1cc17f94fae81a16 +odm/etc/camera/fb_model/003.png|86c7a2fc0bf77c84d58e7f7cf30447e0211cf5aa +odm/etc/camera/fb_model/003_pre.bin|294811387d49cb984c0f6466605878dfc8d4d0cd +odm/etc/camera/fb_model/010.png|ec62f4c7f3fba7eb6a423432027a3ebfa1c90901 +odm/etc/camera/fb_model/010_pre.bin|8df840a6b39923bf796e85befe72a21d102416e8 +odm/etc/camera/fb_model/011.png|1ef2813100faab4dc11ac669fdac9a6bbc2c20c5 +odm/etc/camera/fb_model/011_pre.bin|03a62483d995aa83f244f136622f32713b34231d +odm/etc/camera/fb_model/012.png|9c4d770b074a34d1176fefc991d039fd51b7d9d3 +odm/etc/camera/fb_model/012_pre.bin|ea67b9a8ec4d6bec989ccb773a094742ad32d726 +odm/etc/camera/fb_model/013.png|6275f7ddd84ad2f71c440a927fa4a8a2a42753d0 +odm/etc/camera/fb_model/100.png|b38d0917b6e4acfb415bf0926b355c6f1587f537 +odm/etc/camera/fb_model/100_pre.bin|8b40743976abeb6ccc5f5d6237b8081e60a52945 +odm/etc/camera/fb_model/101.png|466a0528afb45118a7dbc5fb79ea41e771743482 +odm/etc/camera/fb_model/101_pre.bin|52c17c16722c297ee936d743719028bf390dbbd7 +odm/etc/camera/fb_model/102.png|2853a8373ac086ee439f8a2e2e72f3f044ebd666 +odm/etc/camera/fb_model/102_pre.bin|2f24d6c50e59b037ea7e42384372204d9458cf9b +odm/etc/camera/fb_model/103.png|7a88cdd65ad5452f775e122772db43febd59d263 +odm/etc/camera/fb_model/103_pre.bin|1283c04d3e16de10c74733b7de709070f3838e1b +odm/etc/camera/fb_model/110.png|95ca7a519d69fa0804be0f30720a52c9588115b3 +odm/etc/camera/fb_model/110_pre.bin|eacfffc01f68693dfc19a47e76949a127532e57e +odm/etc/camera/fb_model/111.png|3257f1110964eb2cbbb572a50c6c5ca96355552f +odm/etc/camera/fb_model/111_pre.bin|afcbc5d7aaa3f57311ba85f618edcf7951b7254c +odm/etc/camera/fb_model/112.png|29f0fb7ef51953b9c810d6266d847148af3257fb +odm/etc/camera/fb_model/112_pre.bin|e53300cfd6c3fbcab37a34ee450e9df84313bce7 +odm/etc/camera/fb_model/113.png|6275f7ddd84ad2f71c440a927fa4a8a2a42753d0 +odm/etc/camera/fb_model/200.png|0de6587e38322d11718d392fa14328bcca139964 +odm/etc/camera/fb_model/200_pre.bin|971aae38ab3ce5013004e50f661c05b99689d757 +odm/etc/camera/fb_model/201.png|a33cae031433bdac73d226c856d179056f2b775e +odm/etc/camera/fb_model/201_pre.bin|598a9bd59ee27ca7d5586b25c5d118871370a317 +odm/etc/camera/fb_model/202.png|6275f7ddd84ad2f71c440a927fa4a8a2a42753d0 +odm/etc/camera/fb_model/202_pre.bin|f3edf19b7fd88731844a7d1a456eb2d1942c361e +odm/etc/camera/fb_model/203.png|6df03df13c17ad53b1462222b1c0f3fdde641c33 +odm/etc/camera/fb_model/203_pre.bin|c7956044c6473ed72c20d9b7192199d3720c510f +odm/etc/camera/fb_model/210.png|fe6bd027a66e92c63103d2e111f9692bab648964 +odm/etc/camera/fb_model/210_pre.bin|0618b8338eada16a0610ea242e0e9e7066cacc37 +odm/etc/camera/fb_model/211.png|ea15579b2669ab3f2e980571572fc1d70a4921ff +odm/etc/camera/fb_model/211_pre.bin|03a62483d995aa83f244f136622f32713b34231d +odm/etc/camera/fb_model/212.png|6275f7ddd84ad2f71c440a927fa4a8a2a42753d0 +odm/etc/camera/fb_model/212_pre.bin|f3edf19b7fd88731844a7d1a456eb2d1942c361e +odm/etc/camera/fb_model/213.png|6275f7ddd84ad2f71c440a927fa4a8a2a42753d0 +odm/etc/camera/fb_model/eyeBright.png|7efa081de8858570d0b50edf23d755fa0fc265c5 +odm/etc/camera/fb_model/skinLUTs00.bin|00e91e5272c941ad6f9a9f212ecabee07a42bdce +odm/etc/camera/fb_model/skinLUTs01.bin|6a85c350bd26be564feb332cbb64e84316604f10 +odm/etc/camera/fb_model/skinLUTs02.bin|964cc7dad7682fdbd04c13590f374e8da7e53073 +odm/etc/camera/fb_model/skinLUTs03.bin|7cf2b4fb94e0af8e1567e3a6233bc3860801c720 +odm/etc/camera/fb_model/skinLUTs10.bin|b0935258d83e911ffe0a085838509138aa56124f +odm/etc/camera/fb_model/skinLUTs11.bin|b0935258d83e911ffe0a085838509138aa56124f +odm/etc/camera/fb_model/skinLUTs12.bin|a2132fb97a40c5b9e67ae9f0b934d55c5434e007 +odm/etc/camera/fb_model/skinLUTs13.bin|6518888c35358d2c8b8a2a092dba1d4dc5fb08e3 +odm/etc/camera/fb_model/skinLUTs_yuv16_00.bin|e2c05a96c2e5fe2ddf04c543612b1af767d3f94e +odm/etc/camera/fb_model/skinLUTs_yuv16_01.bin|e2c05a96c2e5fe2ddf04c543612b1af767d3f94e +odm/etc/camera/fb_model/skinLUTs_yuv16_02.bin|c27b314e308d969be7ebaae4fb96105b5b3fd123 +odm/etc/camera/fb_model/skinLUTs_yuv16_03.bin|09441ed14978ccd7e0b0928594de88607e136c05 +odm/etc/camera/fb_model/skinLUTs_yuv16_10.bin|beb65238a43003b8a21b84f49c3ded052c7d976d +odm/etc/camera/fb_model/skinLUTs_yuv16_11.bin|beb65238a43003b8a21b84f49c3ded052c7d976d +odm/etc/camera/fb_model/skinLUTs_yuv16_12.bin|1767c6313b7a44633403cded0e65c90fe53db271 +odm/etc/camera/fb_model/skinLUTs_yuv16_13.bin|b7d9d60d3d5ade856e2e124cc95bcfbddbed5eda +odm/etc/camera/fb_model/skinmask.bin|c08e1250c9011f78a48fcc37dacb77ae33a066da +odm/etc/camera/fb_model/skinmask.png|27178381ac57cb45f4184851c80fde44edcf55ed +odm/etc/camera/filters_lut/B1VLf4peM|07a93b313b9ccf02b15d51fd7de9997f7e8b5288 +odm/etc/camera/filters_lut/B1aMqioxf|7a69adbb2b98871edc607931ba30d31057c6500d +odm/etc/camera/filters_lut/B1nmcmWbG|e23a9ef9efa78cf2eb3b9b40c872767a4072bce7 +odm/etc/camera/filters_lut/B1si_XbZz|4c33ed51f0e7ec31135bef1b12450eb7c7b60953 +odm/etc/camera/filters_lut/B612Pretty.cube.rgb.bin|fa99968b62894d7502d24740d7d957ec28052dba +odm/etc/camera/filters_lut/BJJAwoigM|38402dac9f93256240d102fc1b575431b1e3a440 +odm/etc/camera/filters_lut/BJyKIwqxz|8884d51a71406949866ad7fb94fc566c1de36949 +odm/etc/camera/filters_lut/BeautyplusMellow-5.CUBE.rgb.bin|ac8441563fe21bf93dd94fb18866a1c4b86b6a4e +odm/etc/camera/filters_lut/ByW7g4bbf|7818dda29cf25fbd92c9e25dadfc9a27767b66f7 +odm/etc/camera/filters_lut/ByYo3If|36a4df720cd45c807e4007e89c38cca6a6b25269 +odm/etc/camera/filters_lut/BycYf7WWz|3e5bfab8dcb7a6c2981f13203da03d7dc45faee2 +odm/etc/camera/filters_lut/DL_D_G4.cube.rgb.bin|d3f488455bb636662afc9e1319f25627cd4f6c9a +odm/etc/camera/filters_lut/DL_L_B6.cube.rgb.bin|61ebf73b4a2ae5a2c1671bd09f1f677d6031f55a +odm/etc/camera/filters_lut/EyxRbD2UCe|f3a4f3037fa598eb1049aefebb35d25b30198eec +odm/etc/camera/filters_lut/FaceappGrayscale.cube.rgb.bin|094fe3f2c773652f5d7624ec2af31de5bc3d3095 +odm/etc/camera/filters_lut/InsClarendon.cube.rgb.bin|344e8a3727edf4bb39688fd73ff71910f6933d43 +odm/etc/camera/filters_lut/InsJuno.cube.rgb.bin|d4ba9663fa8698b18a1e8098beb2f538b440bd00 +odm/etc/camera/filters_lut/InsValencia-2.cube.rgb.bin|3041badd4a2d44f3a065bb2ca5ec9ffdf3849180 +odm/etc/camera/filters_lut/OPLUSR0604.cube.rgb.bin|8af8add6f4d49b994dc35625d671ae1a84e8c3c1 +odm/etc/camera/filters_lut/PP1-soft-2.6.CUBE.rgb.bin|e5a0e568db269e98b457d0285815d087e1a27ce6 +odm/etc/camera/filters_lut/PP2-pop-4.1.CUBE.rgb.bin|2e4d17f90831574f1bbb19dca907f760943f9c2d +odm/etc/camera/filters_lut/PP3-mono-3.3.CUBE.rgb.bin|ce25d3e8c5158811bdf15091d88b6a964bb87018 +odm/etc/camera/filters_lut/SJ3mbr6ef|85367441facb4426cdfb408e55eba16e71c9b47d +odm/etc/camera/filters_lut/SkpZ8ebbz|0236d7e8fd1a415d0f375893d17b8c13580db182 +odm/etc/camera/filters_lut/SnapseedBright.cube.rgb.bin|ab4338e5cdd168311bde06199e414241274996c0 +odm/etc/camera/filters_lut/SweetSnapAlice-3.CUBE.rgb.bin|d347df59c2268197cbd57ae7dfef4d7b38f0b208 +odm/etc/camera/filters_lut/Sy4uLSTgf|0d5d26568e0ef735c895a501e7a0f533663c840f +odm/etc/camera/filters_lut/Syt2KeZZf|53907ac2af5e706c824aa684c8a6b0c23fb3e8ca +odm/etc/camera/filters_lut/V01-landscape-2.6.CUBE.rgb.bin|8e208aa9f1045ae03d14a76421c2536a6b2b2478 +odm/etc/camera/filters_lut/V02-portrait-2.5.CUBE.rgb.bin|84887122a400332277da47fc3c7b562b1e07b52d +odm/etc/camera/filters_lut/V03-food-2.0.CUBE.rgb.bin|318f5b3ff478068d6b1181e019a6a6059d984962 +odm/etc/camera/filters_lut/V04-night-1.3.CUBE.rgb.bin|6578cd7037ec05e005c03d3956765d2de7f3dfe0 +odm/etc/camera/filters_lut/V05-mono-3.3.CUBE.rgb.bin|ce25d3e8c5158811bdf15091d88b6a964bb87018 +odm/etc/camera/filters_lut/YoucamAdorable80.cube.rgb.bin|781469e613b9ab7ec7b20206efd9e370a0e8aeb2 +odm/etc/camera/filters_lut/b-w-P8.CUBE.rgb.bin|8de4b52d30d5297c89d8cfb086c5d6b2fe1d9e23 +odm/etc/camera/filters_lut/black_gold.bin|7a2e6de6c1c402e073c4a3ac2905161b077e7a6c +odm/etc/camera/filters_lut/bowu-2.1.cube.rgb.bin|2f239d00763dd16b6e39031189569d44bb2b8c6a +odm/etc/camera/filters_lut/bright_coloured.bin|967d8e813f0776c9576a27abdcac5517c7b143f4 +odm/etc/camera/filters_lut/calm-V5.CUBE.rgb.bin|45c206c1af9e36e9d70f644c70da4e28db347c42 +odm/etc/camera/filters_lut/candy-P7.CUBE.rgb.bin|214b9e610c3b9977ea3c613ee70b2ae6eadeb336 +odm/etc/camera/filters_lut/cyberpunk-kitsch-3.1.CUBE.rgb.bin|2d6cb484fd9f111f8010f261aa6f63d20c3695e2 +odm/etc/camera/filters_lut/cyberpunk-neoMilitarism-2.4-final.CUBE.rgb.bin|d05a8f708994838779ac8336a101522a70c30fae +odm/etc/camera/filters_lut/default|19b5bfbede80bf0b68296b502a11b6678abd9ba2 +odm/etc/camera/filters_lut/delight-P3.CUBE.rgb.bin|4f9bf428d2f3f8871395fcbceee64a13174e0024 +odm/etc/camera/filters_lut/delight-V1.CUBE.rgb.bin|4f9bf428d2f3f8871395fcbceee64a13174e0024 +odm/etc/camera/filters_lut/drjw1994.bin|b6a507a727b3e9282d4e9ecc789af8c6553ad4c0 +odm/etc/camera/filters_lut/drjw2010.bin|1f6f99dd12f86a1694fb65dea8319713bf654083 +odm/etc/camera/filters_lut/f_bin_hideaki|b30474d5e5b02941af1154a000e7c2fe81b034c4 +odm/etc/camera/filters_lut/f_candy_water_weak.cube.rgb.bin|3f7f9d30eaeef1352c1279b3eb0b8319c919fcc5 +odm/etc/camera/filters_lut/f_contrast_gray_face_dark|670f8f97cb7d8c9fae4f49d832e59de3b5d5436d +odm/etc/camera/filters_lut/f_fuji_strong.cube.rgb.bin|ca2411cf901e4242f8002e55b001c5016acd12e4 +odm/etc/camera/filters_lut/f_japan_strong.cube.rgb.bin|2aefd391d91a6d58b5aac7429b3e4b1ff66d1da9 +odm/etc/camera/filters_lut/farewell-V7.CUBE.rgb.bin|e590fe9a960b70784df776551e9245d1d80978a3 +odm/etc/camera/filters_lut/interstellar_space.bin|991800e841c0cc50a19ced876784579e13479512 +odm/etc/camera/filters_lut/jiari-2.0.cube.rgb.bin|4e83e9f3ae43a739f97422e334d95bb1c8234fd0 +odm/etc/camera/filters_lut/lvtu-2.0.cube.rgb.bin|09abc20fb19013df6abca72df8315079ad29cfe7 +odm/etc/camera/filters_lut/meiwei-2.2.cube.rgb.bin|d76d1b9563b7f7eaaf6767eb53f34913b7ecedab +odm/etc/camera/filters_lut/mellow-V3.CUBE.rgb.bin|aa27e8329d60d40413406ed91bb1fbc0b0e44a0c +odm/etc/camera/filters_lut/misty-P5.CUBE.rgb.bin|ce156a627e1eaecb88c390bf6f215ed55defc15d +odm/etc/camera/filters_lut/misty-V4.CUBE.rgb.bin|ce156a627e1eaecb88c390bf6f215ed55defc15d +odm/etc/camera/filters_lut/natural-P1.CUBE.rgb.bin|81d162ad4b0ec937019505e560fb89efc36b187d +odm/etc/camera/filters_lut/neon-2020.cube.rgb.bin|9b173568decfe4dcbf5ffdbed24e6901f2bc3291 +odm/etc/camera/filters_lut/oplus-black-gold.cube.rgb.bin|d053dfb4c515f3d915c3e4d33c26322d0119b7d3 +odm/etc/camera/filters_lut/oplus-cyberpunk.cube.rgb.bin|0e2dbcdfab82b63722dfa754c9e741feffac9d9b +odm/etc/camera/filters_lut/oplus-nightcity.cube.rgb.bin|d05a8f708994838779ac8336a101522a70c30fae +odm/etc/camera/filters_lut/oplus-r-black-gold-1.1-RGB.CUBE.rgb.bin|62ffb06f6d595ce997e6d052ae9afd7f3c895f6a +odm/etc/camera/filters_lut/oplus-r-cyberpunk-RGB.CUBE.rgb.bin|c78007ba9e98cdf59d48e2e267d01df4fa39991c +odm/etc/camera/filters_lut/oplus-r-infra-RGB.CUBE.rgb.bin|1168370263756effe2f86d3c9ffd390495517fce +odm/etc/camera/filters_lut/oplus-yellow-blue.cube.rgb.bin|69194a080945b3c0a424b1853b6f68e960bdb05d +odm/etc/camera/filters_lut/oplus_SAREK_III.cube.rgb.bin|1056c39a39e413a2a7039331140d4a8c4598a71b +odm/etc/camera/filters_lut/oplus_VAEROY_III.cube.rgb.bin|f41fba0fa8480f72d9846301f70a053231c5173b +odm/etc/camera/filters_lut/oplus_YLLAAS.cube.rgb.bin|99ad355afbaa3192bf60c84c65f31056c9a8da9b +odm/etc/camera/filters_lut/oplus_r4.cube.rgb.bin|414e1f7704f0dd2a05694cd7efcdfcc662849d2a +odm/etc/camera/filters_lut/oplus_r5.cube.rgb.bin|cf0d0368854ab79566eb05786b3e1425ca22664a +odm/etc/camera/filters_lut/oplus_r6.cube.rgb.bin|d81470dfa79e37532c442600aa0506ea27c57576 +odm/etc/camera/filters_lut/oplus_video_filter_black_and_white|870ab4e427fe6a91ad9108bc350915b32ef639d0 +odm/etc/camera/filters_lut/oplus_video_filter_highlight|420b1886de6e2ab5151c584f42c8e914aa4291e0 +odm/etc/camera/filters_lut/oplus_video_filter_ins|5225081190619a78f234a2998b161c83da4154f3 +odm/etc/camera/filters_lut/oplus_video_filter_natal|b147a2021ec5f5d51d23b1a0ad0956437c7da4e8 +odm/etc/camera/filters_lut/oplus_video_filter_olympus|2018db3d5daf1fa428d0fabda8ede0ca6098ce07 +odm/etc/camera/filters_lut/oplus_video_filter_plain|e3703458ff1e435127995dd71e2fbb698f5615cd +odm/etc/camera/filters_lut/oplus_video_filter_show|600a00455400eca7a1ba4574efdaad07e9a4d25a +odm/etc/camera/filters_lut/oplus_video_filter_solar|075c3e088fa9a5a64051549ddb7ab3d4fb8abe03 +odm/etc/camera/filters_lut/oplus_video_filter_strong|246319f4e53ca7d03b653d26ef4b28b8c039f2df +odm/etc/camera/filters_lut/oplus_video_filter_west|569919b3d8e0c2d79247bc28e984c03756468986 +odm/etc/camera/filters_lut/oppo_video_filter_black_and_white|870ab4e427fe6a91ad9108bc350915b32ef639d0 +odm/etc/camera/filters_lut/oppo_video_filter_highlight|420b1886de6e2ab5151c584f42c8e914aa4291e0 +odm/etc/camera/filters_lut/oppo_video_filter_ins|5225081190619a78f234a2998b161c83da4154f3 +odm/etc/camera/filters_lut/oppo_video_filter_natal|b147a2021ec5f5d51d23b1a0ad0956437c7da4e8 +odm/etc/camera/filters_lut/oppo_video_filter_olympus|2018db3d5daf1fa428d0fabda8ede0ca6098ce07 +odm/etc/camera/filters_lut/oppo_video_filter_plain|e3703458ff1e435127995dd71e2fbb698f5615cd +odm/etc/camera/filters_lut/oppo_video_filter_show|600a00455400eca7a1ba4574efdaad07e9a4d25a +odm/etc/camera/filters_lut/oppo_video_filter_solar|075c3e088fa9a5a64051549ddb7ab3d4fb8abe03 +odm/etc/camera/filters_lut/oppo_video_filter_strong|246319f4e53ca7d03b653d26ef4b28b8c039f2df +odm/etc/camera/filters_lut/oppo_video_filter_west|569919b3d8e0c2d79247bc28e984c03756468986 +odm/etc/camera/filters_lut/p4_1.cube.rgb.bin|ffca0056046beb608810561d71b06cdc343b7ded +odm/etc/camera/filters_lut/p4_2.cube.rgb.bin|1b4e3f17e6ec246441df1c2012f72045b8a15ab4 +odm/etc/camera/filters_lut/p4_3.cube.rgb.bin|77256d7273159f9f8b78de5a9e3cd014fb843ed2 +odm/etc/camera/filters_lut/p4_4.cube.rgb.bin|4eba6b9f4fca419c8bcd97327a8f41211fe14a38 +odm/etc/camera/filters_lut/qiuri-2.0.cube.rgb.bin|9b201f97573c677cf7317a8e4536a229e507e962 +odm/etc/camera/filters_lut/r1JaFSZZG|0fba962d7da6db87f14f71a2f9e2c55c37fab0fb +odm/etc/camera/filters_lut/r1PrfoolG|f21c1f4ac076ff2d0ac84f63caf24e25c68eef71 +odm/etc/camera/filters_lut/rJ5g5vPWG|cf0d0368854ab79566eb05786b3e1425ca22664a +odm/etc/camera/filters_lut/rJxJtmaez|37036374520b67bd518ed43e504b8d1e70496db9 +odm/etc/camera/filters_lut/red-red.cube.rgb.bin|d87f1e6eeea9d46683dd7d145b9853e4347bf014 +odm/etc/camera/filters_lut/rkMhq4ZWf|453ab586ab05de59e3063189942e3b7126e8fe3c +odm/etc/camera/filters_lut/rkx5u4Zbf|59ea467054ac9039a4a3a6c4991718a8583f8939 +odm/etc/camera/filters_lut/senlin-2.0.cube.rgb.bin|d1fba438285f7b127ff57f3226be475821b658f1 +odm/etc/camera/filters_lut/serene-P9.CUBE.rgb.bin|dcb3652d35c9c81ab1b5d4cc065a97539d07af0d +odm/etc/camera/filters_lut/sky-blue.cube.rgb.bin|430b7f802fd7ddcca2559239f3a0abff1d0192b8 +odm/etc/camera/filters_lut/sweet-P2.CUBE.rgb.bin|8e225eac95d326d67afc1eadc443f402a2602593 +odm/etc/camera/filters_lut/sweet-V2.CUBE.rgb.bin|81d162ad4b0ec937019505e560fb89efc36b187d +odm/etc/camera/filters_lut/tree-green.cube.rgb.bin|33ade442b39c4720f49e4fecdf335ab5c7f9e4f8 +odm/etc/camera/filters_lut/type_fuji_acros|dfff7bcc189461dcb248e60e0e4f9c467ddba1b9 +odm/etc/camera/filters_lut/type_fuji_astia|4c4310f26058485ca233ec99f8b44a5d75b26c52 +odm/etc/camera/filters_lut/type_fuji_chrome|c926656d08da47865e35b4a2ca43a0c3f242a98e +odm/etc/camera/filters_lut/type_fuji_provia|0d69d9b0beb13386f2f11951bbcc93a81422162e +odm/etc/camera/filters_lut/type_fuji_velvia|53eccbf2bd4bde8125277f41dd80c96b7f5aca61 +odm/etc/camera/filters_lut/yuanqi-2.2s.cube.rgb.bin|e48ea1ba90adddf90906afd80a18410490b38181 +odm/etc/camera/filters_res/film_grain_small.bin|b98855ca8ca85c4ed736f0f02484622da2574343 +odm/etc/camera/filters_res/lut_all_points.png|1c3f2d6bab41f8f54ce948872588c4a718c43ac4 +odm/etc/camera/filters_res/overlay_p4_3_weak.png|d17b9bf407e2bfc9e727429672adfe681fc03670 +odm/etc/camera/model/DocDetectV15.xbin|ff40cbe1cc82fe484764029c4a42386f32c8fe51 +odm/etc/camera/pf/PerfectColorSet/default/colorLut0|c30a24d4e310333275f81f3530974234cdf9e39b +odm/etc/camera/pf/PerfectColorSet/default/colorLut1|606b05d424617e44224896a26b387c1a1fdad6cd +odm/etc/camera/pf/PerfectColorSet/default/colorLut10|05f22d45979cb84ce6f13091067c872b787dea48 +odm/etc/camera/pf/PerfectColorSet/default/colorLut11|4d4ece37eee7b8094ed7860d34a3ef5ec856e0ab +odm/etc/camera/pf/PerfectColorSet/default/colorLut12|5ff7475eb1f286fe5be2287205751bb1540dfcad +odm/etc/camera/pf/PerfectColorSet/default/colorLut13|12f2b10f6f2dd4236908129750c600c968cc4014 +odm/etc/camera/pf/PerfectColorSet/default/colorLut14|e03aa36de8edf8d88547e7aa64ba788e7a0ae514 +odm/etc/camera/pf/PerfectColorSet/default/colorLut15|a54d13f8dc7842f37f3e8e865ede674495f58dc2 +odm/etc/camera/pf/PerfectColorSet/default/colorLut16|a54d13f8dc7842f37f3e8e865ede674495f58dc2 +odm/etc/camera/pf/PerfectColorSet/default/colorLut17|f680e1d00652179ed823fc2116aba77924449882 +odm/etc/camera/pf/PerfectColorSet/default/colorLut18|851b9d1b43dae348005c800956325701add713f5 +odm/etc/camera/pf/PerfectColorSet/default/colorLut2|367ff571a74f71473c29a69249cb29f91499c12a +odm/etc/camera/pf/PerfectColorSet/default/colorLut3|f874058616a94ba6920f7e07f4fc8c02371f4e41 +odm/etc/camera/pf/PerfectColorSet/default/colorLut4|465e60a3e589a21e2c7e9cff3e462953dc4476e6 +odm/etc/camera/pf/PerfectColorSet/default/colorLut5|465e60a3e589a21e2c7e9cff3e462953dc4476e6 +odm/etc/camera/pf/PerfectColorSet/default/colorLut6|7c8290279fee25e4e812a74be1151a002c2466f5 +odm/etc/camera/pf/PerfectColorSet/default/colorLut7|db3cf565daa94177f0eed3d2915bc8eea656fd4a +odm/etc/camera/pf/PerfectColorSet/default/colorLut8|b2bc2debb3bc519e478dc4ded2a87cc0aab13ed0 +odm/etc/camera/pf/PerfectColorSet/default/colorLut9|f680e1d00652179ed823fc2116aba77924449882 +odm/etc/camera/pf/PerfectColorSet/default/curveLut0|a4c65b33d6040be6bd2d2d0768db840458f76474 +odm/etc/camera/pf/PerfectColorSet/default/curveLut1|ff01d83a3fab101d1973e29fae8590c2b4a0696a +odm/etc/camera/pf/PerfectColorSet/default/curveLut10|c514d5c7dc3ea4132d3c6cec9983d75211cc7c40 +odm/etc/camera/pf/PerfectColorSet/default/curveLut11|72f37bd4430cdee024dc9435001935c4fa3c0173 +odm/etc/camera/pf/PerfectColorSet/default/curveLut12|ff01d83a3fab101d1973e29fae8590c2b4a0696a +odm/etc/camera/pf/PerfectColorSet/default/curveLut13|9131be886ba4745f8389ac7a3877ccbca2fcceb6 +odm/etc/camera/pf/PerfectColorSet/default/curveLut14|66461d16dcd3ffa6525c73bee50ab5ae60aa33ff +odm/etc/camera/pf/PerfectColorSet/default/curveLut15|cec78b5f357413fe0a12646816c7c2cda26e426b +odm/etc/camera/pf/PerfectColorSet/default/curveLut16|cec78b5f357413fe0a12646816c7c2cda26e426b +odm/etc/camera/pf/PerfectColorSet/default/curveLut17|d6d6b10f952f245b736c15bfa6e9e3f2e8ab06b6 +odm/etc/camera/pf/PerfectColorSet/default/curveLut18|ff01d83a3fab101d1973e29fae8590c2b4a0696a +odm/etc/camera/pf/PerfectColorSet/default/curveLut2|a4c65b33d6040be6bd2d2d0768db840458f76474 +odm/etc/camera/pf/PerfectColorSet/default/curveLut3|ff01d83a3fab101d1973e29fae8590c2b4a0696a +odm/etc/camera/pf/PerfectColorSet/default/curveLut4|72f37bd4430cdee024dc9435001935c4fa3c0173 +odm/etc/camera/pf/PerfectColorSet/default/curveLut5|72f37bd4430cdee024dc9435001935c4fa3c0173 +odm/etc/camera/pf/PerfectColorSet/default/curveLut6|72f37bd4430cdee024dc9435001935c4fa3c0173 +odm/etc/camera/pf/PerfectColorSet/default/curveLut7|9131be886ba4745f8389ac7a3877ccbca2fcceb6 +odm/etc/camera/pf/PerfectColorSet/default/curveLut8|5c488f32ec88627c8fbc36cefba258463f79e7c3 +odm/etc/camera/pf/PerfectColorSet/default/curveLut9|5c488f32ec88627c8fbc36cefba258463f79e7c3 +odm/etc/camera/pf/PerfectColorSet/default/frameSet.ini|c4122ad1051545e0c5b4caa3ba7836c11ea701ae +odm/etc/camera/pf/PerfectColorSet/default/param0.ini|1dbb12fc16a7606e5b5cde814ce779d294105ffe +odm/etc/camera/pf/PerfectColorSet/default/param1.ini|ede2799d8f32e516e05a98e81a96404c67c4d283 +odm/etc/camera/pf/PerfectColorSet/default/param10.ini|d8d00f41a3f00f91ea099b680f8b5a14b49bfb12 +odm/etc/camera/pf/PerfectColorSet/default/param11.ini|d8d00f41a3f00f91ea099b680f8b5a14b49bfb12 +odm/etc/camera/pf/PerfectColorSet/default/param12.ini|bbe05f607e33b514f7d9ca1256cf1df4908a9797 +odm/etc/camera/pf/PerfectColorSet/default/param13.ini|0e3cda58f9c9c6c766981a22087ef943bb393535 +odm/etc/camera/pf/PerfectColorSet/default/param14.ini|d8d00f41a3f00f91ea099b680f8b5a14b49bfb12 +odm/etc/camera/pf/PerfectColorSet/default/param15.ini|d8d00f41a3f00f91ea099b680f8b5a14b49bfb12 +odm/etc/camera/pf/PerfectColorSet/default/param16.ini|d8d00f41a3f00f91ea099b680f8b5a14b49bfb12 +odm/etc/camera/pf/PerfectColorSet/default/param17.ini|d8d00f41a3f00f91ea099b680f8b5a14b49bfb12 +odm/etc/camera/pf/PerfectColorSet/default/param18.ini|0e3cda58f9c9c6c766981a22087ef943bb393535 +odm/etc/camera/pf/PerfectColorSet/default/param2.ini|bbe05f607e33b514f7d9ca1256cf1df4908a9797 +odm/etc/camera/pf/PerfectColorSet/default/param3.ini|0e3cda58f9c9c6c766981a22087ef943bb393535 +odm/etc/camera/pf/PerfectColorSet/default/param4.ini|843fd19158dd7c803e73fef20d5f1762116e017d +odm/etc/camera/pf/PerfectColorSet/default/param5.ini|843fd19158dd7c803e73fef20d5f1762116e017d +odm/etc/camera/pf/PerfectColorSet/default/param6.ini|843fd19158dd7c803e73fef20d5f1762116e017d +odm/etc/camera/pf/PerfectColorSet/default/param7.ini|0e3cda58f9c9c6c766981a22087ef943bb393535 +odm/etc/camera/pf/PerfectColorSet/default/param8.ini|d8d00f41a3f00f91ea099b680f8b5a14b49bfb12 +odm/etc/camera/pf/PerfectColorSet/default/param9.ini|d8d00f41a3f00f91ea099b680f8b5a14b49bfb12 +odm/etc/camera/pf/PerfectColorSet/default/photoSet.ini|bc6fd50c52e811db218de0c3130750990d030c5c +odm/etc/camera/pf/PerfectColorSet/default/platformSet.ini|da1a551f22119d1a648f15327c51e638c4a999d5 +odm/etc/camera/pf/PerfectColorSet/default/sceneList.txt|b21a48524fecea7f516bfcbf93941526625b6675 +odm/etc/camera/pf/PerfectColorSet/normal/colorLut0|c30a24d4e310333275f81f3530974234cdf9e39b +odm/etc/camera/pf/PerfectColorSet/normal/colorLut1|606b05d424617e44224896a26b387c1a1fdad6cd +odm/etc/camera/pf/PerfectColorSet/normal/colorLut10|05f22d45979cb84ce6f13091067c872b787dea48 +odm/etc/camera/pf/PerfectColorSet/normal/colorLut11|4d4ece37eee7b8094ed7860d34a3ef5ec856e0ab +odm/etc/camera/pf/PerfectColorSet/normal/colorLut12|5ff7475eb1f286fe5be2287205751bb1540dfcad +odm/etc/camera/pf/PerfectColorSet/normal/colorLut13|12f2b10f6f2dd4236908129750c600c968cc4014 +odm/etc/camera/pf/PerfectColorSet/normal/colorLut14|e03aa36de8edf8d88547e7aa64ba788e7a0ae514 +odm/etc/camera/pf/PerfectColorSet/normal/colorLut15|a54d13f8dc7842f37f3e8e865ede674495f58dc2 +odm/etc/camera/pf/PerfectColorSet/normal/colorLut16|a54d13f8dc7842f37f3e8e865ede674495f58dc2 +odm/etc/camera/pf/PerfectColorSet/normal/colorLut17|f680e1d00652179ed823fc2116aba77924449882 +odm/etc/camera/pf/PerfectColorSet/normal/colorLut18|851b9d1b43dae348005c800956325701add713f5 +odm/etc/camera/pf/PerfectColorSet/normal/colorLut2|367ff571a74f71473c29a69249cb29f91499c12a +odm/etc/camera/pf/PerfectColorSet/normal/colorLut3|f874058616a94ba6920f7e07f4fc8c02371f4e41 +odm/etc/camera/pf/PerfectColorSet/normal/colorLut4|465e60a3e589a21e2c7e9cff3e462953dc4476e6 +odm/etc/camera/pf/PerfectColorSet/normal/colorLut5|465e60a3e589a21e2c7e9cff3e462953dc4476e6 +odm/etc/camera/pf/PerfectColorSet/normal/colorLut6|7c8290279fee25e4e812a74be1151a002c2466f5 +odm/etc/camera/pf/PerfectColorSet/normal/colorLut7|db3cf565daa94177f0eed3d2915bc8eea656fd4a +odm/etc/camera/pf/PerfectColorSet/normal/colorLut8|b2bc2debb3bc519e478dc4ded2a87cc0aab13ed0 +odm/etc/camera/pf/PerfectColorSet/normal/colorLut9|f680e1d00652179ed823fc2116aba77924449882 +odm/etc/camera/pf/PerfectColorSet/normal/curveLut0|a4c65b33d6040be6bd2d2d0768db840458f76474 +odm/etc/camera/pf/PerfectColorSet/normal/curveLut1|ff01d83a3fab101d1973e29fae8590c2b4a0696a +odm/etc/camera/pf/PerfectColorSet/normal/curveLut10|c514d5c7dc3ea4132d3c6cec9983d75211cc7c40 +odm/etc/camera/pf/PerfectColorSet/normal/curveLut11|72f37bd4430cdee024dc9435001935c4fa3c0173 +odm/etc/camera/pf/PerfectColorSet/normal/curveLut12|ff01d83a3fab101d1973e29fae8590c2b4a0696a +odm/etc/camera/pf/PerfectColorSet/normal/curveLut13|9131be886ba4745f8389ac7a3877ccbca2fcceb6 +odm/etc/camera/pf/PerfectColorSet/normal/curveLut14|66461d16dcd3ffa6525c73bee50ab5ae60aa33ff +odm/etc/camera/pf/PerfectColorSet/normal/curveLut15|cec78b5f357413fe0a12646816c7c2cda26e426b +odm/etc/camera/pf/PerfectColorSet/normal/curveLut16|cec78b5f357413fe0a12646816c7c2cda26e426b +odm/etc/camera/pf/PerfectColorSet/normal/curveLut17|d6d6b10f952f245b736c15bfa6e9e3f2e8ab06b6 +odm/etc/camera/pf/PerfectColorSet/normal/curveLut18|ff01d83a3fab101d1973e29fae8590c2b4a0696a +odm/etc/camera/pf/PerfectColorSet/normal/curveLut2|a4c65b33d6040be6bd2d2d0768db840458f76474 +odm/etc/camera/pf/PerfectColorSet/normal/curveLut3|ff01d83a3fab101d1973e29fae8590c2b4a0696a +odm/etc/camera/pf/PerfectColorSet/normal/curveLut4|72f37bd4430cdee024dc9435001935c4fa3c0173 +odm/etc/camera/pf/PerfectColorSet/normal/curveLut5|72f37bd4430cdee024dc9435001935c4fa3c0173 +odm/etc/camera/pf/PerfectColorSet/normal/curveLut6|72f37bd4430cdee024dc9435001935c4fa3c0173 +odm/etc/camera/pf/PerfectColorSet/normal/curveLut7|9131be886ba4745f8389ac7a3877ccbca2fcceb6 +odm/etc/camera/pf/PerfectColorSet/normal/curveLut8|5c488f32ec88627c8fbc36cefba258463f79e7c3 +odm/etc/camera/pf/PerfectColorSet/normal/curveLut9|5c488f32ec88627c8fbc36cefba258463f79e7c3 +odm/etc/camera/pf/PerfectColorSet/normal/frameSet.ini|7add308a87d12485ac045d761df63154f57a7be7 +odm/etc/camera/pf/PerfectColorSet/normal/param0.ini|1dbb12fc16a7606e5b5cde814ce779d294105ffe +odm/etc/camera/pf/PerfectColorSet/normal/param1.ini|ede2799d8f32e516e05a98e81a96404c67c4d283 +odm/etc/camera/pf/PerfectColorSet/normal/param10.ini|d8d00f41a3f00f91ea099b680f8b5a14b49bfb12 +odm/etc/camera/pf/PerfectColorSet/normal/param11.ini|d8d00f41a3f00f91ea099b680f8b5a14b49bfb12 +odm/etc/camera/pf/PerfectColorSet/normal/param12.ini|bbe05f607e33b514f7d9ca1256cf1df4908a9797 +odm/etc/camera/pf/PerfectColorSet/normal/param13.ini|0e3cda58f9c9c6c766981a22087ef943bb393535 +odm/etc/camera/pf/PerfectColorSet/normal/param14.ini|d8d00f41a3f00f91ea099b680f8b5a14b49bfb12 +odm/etc/camera/pf/PerfectColorSet/normal/param15.ini|d8d00f41a3f00f91ea099b680f8b5a14b49bfb12 +odm/etc/camera/pf/PerfectColorSet/normal/param16.ini|d8d00f41a3f00f91ea099b680f8b5a14b49bfb12 +odm/etc/camera/pf/PerfectColorSet/normal/param17.ini|d8d00f41a3f00f91ea099b680f8b5a14b49bfb12 +odm/etc/camera/pf/PerfectColorSet/normal/param18.ini|0e3cda58f9c9c6c766981a22087ef943bb393535 +odm/etc/camera/pf/PerfectColorSet/normal/param2.ini|bbe05f607e33b514f7d9ca1256cf1df4908a9797 +odm/etc/camera/pf/PerfectColorSet/normal/param3.ini|0e3cda58f9c9c6c766981a22087ef943bb393535 +odm/etc/camera/pf/PerfectColorSet/normal/param4.ini|843fd19158dd7c803e73fef20d5f1762116e017d +odm/etc/camera/pf/PerfectColorSet/normal/param5.ini|843fd19158dd7c803e73fef20d5f1762116e017d +odm/etc/camera/pf/PerfectColorSet/normal/param6.ini|843fd19158dd7c803e73fef20d5f1762116e017d +odm/etc/camera/pf/PerfectColorSet/normal/param7.ini|0e3cda58f9c9c6c766981a22087ef943bb393535 +odm/etc/camera/pf/PerfectColorSet/normal/param8.ini|d8d00f41a3f00f91ea099b680f8b5a14b49bfb12 +odm/etc/camera/pf/PerfectColorSet/normal/param9.ini|d8d00f41a3f00f91ea099b680f8b5a14b49bfb12 +odm/etc/camera/pf/PerfectColorSet/normal/photoSet.ini|d474dca6b8b0a06d28c94efb8b4ebe16d8043e19 +odm/etc/camera/pf/PerfectColorSet/normal/platformSet.ini|41746d838c7326b5f998e2e5bde89537902510de +odm/etc/camera/pf/PerfectColorSet/normal/sceneList.txt|b21a48524fecea7f516bfcbf93941526625b6675 +odm/etc/camera/pfb_bin/PreAddSRBinary.bin|949ac2e944e50780ca2a02b8a8a72e44ceb2a6ae +odm/etc/camera/pfb_bin/PreCalVarBinary.bin|a8f649f0bd5012c72a26a41abbcddf23c67382a6 +odm/etc/camera/pfb_bin/PreCalcSRBinary.bin|a4b7e04184ca1c04a5848a02337878a47760c3a1 +odm/etc/camera/pfb_bin/PreDepouchBinary.bin|8c2b95f0059413cfb6fec5ef5a7c0272db848bb0 +odm/etc/camera/pfb_bin/PreEyeMeanBinary.bin|e3a463b154a7fdc9495a1c38bd5acb68767915b5 +odm/etc/camera/pfb_bin/PreHighPassBinary.bin|6cd8d1f3b436ee7e082b1b595b97a70d8303fdfb +odm/etc/camera/pfb_bin/PreHighPassPreBinary.bin|5324543f0d6550e9d3485d2328b90c60bbc67abd +odm/etc/camera/pfb_bin/PreHoriFilterBinary.bin|ae5da9980f5e35747a1652d14c23ad04907611b7 +odm/etc/camera/pfb_bin/PreMakeupBinary.bin|888c90cb248c8a7efade2ad5c195c158fdf1e856 +odm/etc/camera/pfb_bin/PreMakeupMultiFaceBinary.bin|3c255908e5ec3a0c93dc0298efde9af9b7213e40 +odm/etc/camera/pfb_bin/PreMakeupSingleFaceBinary.bin|5a9e1922530fe46f5aeafdcf22db29c84676d5d1 +odm/etc/camera/pfb_bin/PreMixImageBinary.bin|61e07df71e2880631f8f8c5f557732b6aeecdd4c +odm/etc/camera/pfb_bin/PreMorphBinary.bin|dd4e07fdf17482156c490d7075004c7fe0606877 +odm/etc/camera/pfb_bin/PreOnlywhitenBinary.bin|c38ba9ee3daab0faa1b3b2c3ac1008d09ef056b0 +odm/etc/camera/pfb_bin/PreSkintuneBinary.bin|5e1115401ae7df2bf33edfa5bdb9de71e7a5cfa3 +odm/etc/camera/pfb_bin/PreSkintuneMRTBinary.bin|66b679fa19d4b09d80cbde59271858982f129b88 +odm/etc/camera/pfb_bin/PreSurfaceBlurBinary.bin|2bcca638b1f6dbd72156144507584fd82c752263 +odm/etc/camera/pfb_bin/PreVertFilterBinary.bin|fd58454514973017f09b2448e7e20b76c423049f +odm/etc/camera/pfb_bin/PreVertSurBinary.bin|ff9780dcd756fc3bdb591349d5478d8b7d19c817 +odm/etc/camera/pfb_bin/ThirdPartyPreHoriFilterBinary.bin|c3011c11bf627e66ebc10a13751c2cfdba3bb21c +odm/etc/camera/pfb_bin/ThirdPartyPreMorphBinary.bin|3c72943b39298256f6011d79e927e504994c4753 +odm/etc/camera/pfb_bin/ThirdPartyPreOnlywhitenBinary.bin|6865c2254cb0ce5b9154eae7d42417e1668ad38d +odm/etc/camera/pfb_bin/ThirdPartyPreSkintuneBinary.bin|c834e69a336ac127c94b19cab2ccb8c6b67743bd +odm/etc/camera/pfb_bin/ThirdPartyPreSkintuneMRTBinary.bin|cf12a6251b4153d9edfc68db4db6fbd349a6fd96 +odm/etc/camera/pfb_bin/ThirdPartyPreVertFilterBinary.bin|14d4e1282138b825c8e1ee6e41cc2820b8e37229 +odm/etc/camera/pfb_bin/ThirdPartyPreVertSurBinary.bin|cf6ac5618c2844fb49662f533cb6fe0ade68a540 +odm/etc/camera/singleblur/dbl_small_481.model|56ad6ad74c54632b7aaf60c0a727d0288e721fce +odm/etc/camera/sticker/material/animoji/data.zip|e26f389fe389e17f4577ae1698c183848dc79949 +odm/etc/camera/sticker/material/animoji/snowleopard_v_0_0_0_9.zip|aebb9673f46d009573f787c6815764ace68c2df0 +odm/etc/camera/sticker/M_SenseME_Action_5.2.12.model|a9b3a9a8a2d59c438de87137e8d5943eef915d8a +odm/etc/camera/tonemap/curve_lut_0|a4c65b33d6040be6bd2d2d0768db840458f76474 +odm/etc/camera/tonemap/curve_lut_1|ff01d83a3fab101d1973e29fae8590c2b4a0696a +odm/etc/camera/tonemap/curve_lut_10|cec78b5f357413fe0a12646816c7c2cda26e426b +odm/etc/camera/tonemap/curve_lut_2|72f37bd4430cdee024dc9435001935c4fa3c0173 +odm/etc/camera/tonemap/curve_lut_3|9131be886ba4745f8389ac7a3877ccbca2fcceb6 +odm/etc/camera/tonemap/curve_lut_4|d6d6b10f952f245b736c15bfa6e9e3f2e8ab06b6 +odm/etc/camera/tonemap/curve_lut_5|c514d5c7dc3ea4132d3c6cec9983d75211cc7c40 +odm/etc/camera/tonemap/curve_lut_6|72f37bd4430cdee024dc9435001935c4fa3c0173 +odm/etc/camera/tonemap/curve_lut_7|ff01d83a3fab101d1973e29fae8590c2b4a0696a +odm/etc/camera/tonemap/curve_lut_8|9131be886ba4745f8389ac7a3877ccbca2fcceb6 +odm/etc/camera/tonemap/curve_lut_9|66461d16dcd3ffa6525c73bee50ab5ae60aa33ff +odm/etc/camera/tonemap/list.txt|cdbc0f1bcc646da7a23f5db9325922a5db155b73 +odm/etc/camera/tonemap/s_curve_lut|48d1df744e0bfaa1187ade0d1ed563a4cc91fe76 +odm/etc/camera/tonemap/tonemap_lut_0|4c66bfad2f99de8a2765b75517f76a4f7b29e586 +odm/etc/camera/tonemap/tonemap_lut_1|f44c5f81eed91f16fd3498f01533f79334f76b83 +odm/etc/camera/tonemap/tonemap_lut_10|50a0d9795d3762adc9d16a25ded0199eaeab775d +odm/etc/camera/tonemap/tonemap_lut_2|82d6da9239b45c7634b2df3d1c37a4467a2cf005 +odm/etc/camera/tonemap/tonemap_lut_3|ac662974e035d1d6b1c1ae06457310340aaca417 +odm/etc/camera/tonemap/tonemap_lut_4|03ea5710cb3137c5c30c4941c25a37cc3f6bf5f7 +odm/etc/camera/tonemap/tonemap_lut_5|0168d4b6a03b50067cc2915e6cde732cbd0a5078 +odm/etc/camera/tonemap/tonemap_lut_6|285d2345fc48c30e63225c827601061a29defb30 +odm/etc/camera/tonemap/tonemap_lut_7|ca6098e12166e3830fe30d9788be10a283755e4b +odm/etc/camera/tonemap/tonemap_lut_8|8a25c8bf43bad6c4ab8928959dbc80d3ffdffde2 +odm/etc/camera/tonemap/tonemap_lut_9|e7eebd43c4d3d5d399ea531aea23f787cc97becb +odm/etc/camera/CameraHWConfiguration.config|180a80884df367af1d42e0e464032b204d1cc255 +odm/etc/camera/anc_cl_kernel.cache|4d1a22fe06fd7367c0516f3fa9a97f498b7b578b +odm/etc/camera/arcsoft_distortionParams.bin|c6fde672b8190597e929bb4274caea7a6ffeea40 +odm/etc/camera/camera_engmode.xml|ca69300b83ccaf15780443b17014402919265658 +odm/etc/camera/dualcal_golden.bin|f32e9090ab514cfdc3e8fc73201eea9d3e465e0a +odm/etc/camera/eis_camera.vcfg|97ae6ab9952635a4c9d00322894ac4cf0952f720 +odm/etc/camera/fb_default|6993d03659a5b07f4468214e38bf4c943719662b +odm/etc/camera/fwk_config.json|0a0f509db9549b8bc1542f7a6e3b123373aa66d4 +odm/etc/camera/gasryuv_1.2_wp.model|690e6c00fd300a7ea024aa971b66ac663767a6fa +odm/etc/camera/model_fdc.data|4bcb462b7176e0369b1066419f740661bbde4335 +odm/etc/camera/settings_fdc.txt|4cc7747262e957daaa02f58a8eb92511d06bc97d +odm/lib/libc++_shared.so|1ec35a25d92cfc44994d696c2c1f623106888687 +odm/lib64/camera/com.qti.sensor.odin_hlt_gc02m1b_mono.so|531a8791a11eae17a77dc82566efdf04b6488dbc +odm/lib64/camera/com.qti.sensor.odin_jk_ov02b10_macro.so|89af9e955614b12cf7c23b39c91087a6a16f8445 +odm/lib64/camera/com.qti.sensor.odin_qt_ov13b10_rear.so|2dd35323648886f4638136a9bc1086773dd17888 +odm/lib64/camera/com.qti.sensor.sy_imx471.so|e9e302001979748a4b54e4d30884354a34ad2657 +odm/lib64/camera/com.qti.sensormodule.odin_hlt_gc02m1b_mono.bin|50e24648c77a3c59f64ab974707a152e5f268aae +odm/lib64/camera/com.qti.sensormodule.odin_jk_ov02b10_macro.bin|a597e6ba850fa6e2ad144dfa5b9bb21300c9e465 +odm/lib64/camera/com.qti.sensormodule.odin_qt_ov13b10_rear.bin|7485d793f9f33dbde31444f5891d8e511a7d97a8 +odm/lib64/camera/com.qti.sensormodule.sy_imx471.bin|816ce5a9eaabc655e3287812bc5d75dc8a8425db +odm/lib64/camera/com.qti.tuned.gc02m1b.bin|9d91000971d043d7171d60ae2979c334928bb43d +odm/lib64/camera/com.qti.tuned.imx471.bin|1157952fab315e05d10c129af6f7231c884eea9e +odm/lib64/camera/com.qti.tuned.ov02b10.bin|2dcf838d90ee37251571f0980431facab2b8fada +odm/lib64/camera/com.qti.tuned.qt_ov13b10.bin|874d752800726ee8942caaf2223c7659a4a9f494 +odm/lib64/libAlgoInterface.so|a03a90a5ee43704fb4bb65915b064f2fb58ae26a +odm/lib64/libAlgoProcess.so|0ebc4353c53e27ece08631074c63f2996279a06a +odm/lib64/libCOppLceTonemapAPI.so|30129dcefe6fa848e210d2c9d284ec67dc613b83|6995a9556108eefe9209a2d47f915beecd9a24e7 +odm/lib64/libDeVIS.so|c067c019df4b9f4151313fdf1f24d9ba477e0114 +odm/lib64/libEIS.so|119e4f32c3424836f59a62983b60d138df2e39d1 +odm/lib64/libFaceBeautyCap.so|720ae75918db88660c6dac05a4c7c0f91139fdc9 +odm/lib64/libFaceBeautyPre.so|e2d94b9e20f9802c7b3630f2a65642945e1af242 +odm/lib64/libOGLManager.so|c2c3a4fc7f3a514b7bf2c63ec6ed9f794376ac5e|c5dff2ed7063de0a9ed01343acf2d8de32b889bc +odm/lib64/libOPLUS_SCPortrait.so;FIX_SONAME|76cbba3cacab9af53beee375224d8024531261c4|4fd18a78235353de7df80b047295ce3b4b130e75 +odm/lib64/libPerfectColor.so|02072122a368d8ebf18371a2d3a080ef29dcff52 +odm/lib64/libPerfectlyClearCrux.so|aee168fa44e8ef142f6cc3bac389d53e060568e1 +odm/lib64/libPerfectlyClearCruxOpt.so|bb51740007c9836de2a55e5104c4105b2cc0c1c6 +odm/lib64/libPolarrRender.so|2b530a815aa98b2c1c14cbcf67eaa08d23f2bb9e +odm/lib64/libSNPE.so|c0d6987626b5c55c022bc9e7c6505c307e6ca3d9 +odm/lib64/libSNPE_G.so|11ba8cf9522ff49013cad25b229e2687fd1e0b3b +odm/lib64/libVDBayerHDR.so|a0231ba3447d18e96194ac2255b3403e62d9791d +odm/lib64/libVDBlurless.so;FIX_SONAME|a00b4509c6ee9de384eb335685128b6fb3a3976f|d4137bd39e5cdcf617253e1319d40add0f8561a0 +odm/lib64/libVDBlurlessAPI_v2.so|797efde1250fbc07e3c9df52737322e587331141 +odm/lib64/libVDDualCameraBlurlessAPI.so|abd719fdb46f4120b3dcaf6987967be09bbd6831 +odm/lib64/libVDExternal.so|3e25f17714469a6a8652124ce01a945eb9c8855d +odm/lib64/libVDPostureDetection.so|77eca3ecb91c104b8816d30c98f2561c0477a4e4 +odm/lib64/libVDSuperPhotoAPI.so|2ebdd701a4ab8efc3383ee5c835adb40b77cdf5c +odm/lib64/libVDUpScale.so|67226b02386fdea7d1d503b2f0d2ad8c66638f7c +odm/lib64/libWaterMark.so|9c2e8e8891398a643662b135659fbe1ec76024de +odm/lib64/libWaterMode.so|5c3de056b4c4fd3cfc1f87db00e40d27ca1fd963 +odm/lib64/lib_rectify.so|79fe02097a656aa208ac75e29afc2fba3c942a05 +odm/lib64/libaps_frame_registration.so|ae277a0d501e3d5f725fb971714d360b0f2477ab|6b325fe8b992a47ce431167ff26fb2d25b00684a +odm/lib64/libapsdarksight.so;FIX_SONAME|b6e68a7c29766f6282cc44c76d3120ee0335c2f9|a8731350907c978569b0aa9f5ed881f899deb448 +odm/lib64/libapsexif.so|601e9b84e5f93e2345fe0ddf8fec0b6bcb29bbed +odm/lib64/libapsjpeg.so|8c60c67b4cb396db2ff4371a500823a1e6561387 +odm/lib64/libarcsoft_distortion_correction.so|5102a34a42da747971f2070f49b06a0d7ba6ba61 +odm/lib64/libarcsoft_dualcam_bokeh_api.so|a29a7f821c756444ce693c34190b04c191b9da8e +odm/lib64/libarcsoft_dualcam_refocus_left.so|f6ae4f3d1652fc37b19cb4ab10032a7f740033ff +odm/lib64/libarcsoft_dualcam_refocus_preview.so|226f44e3dc38506395cd61782c4dd506a3679a76 +odm/lib64/libarcsoft_dualcam_refocus_uw.so|915dcde06a6f218d227c8b2d0f3612e07fdff05a +odm/lib64/libarcsoft_hdr_couple_api.so|3ed63cd3268ebe3325e84de50dbebb3bee085a7c +odm/lib64/libarcsoft_hdr_denoise_api.so|c770156ede7abc16c7e97bb063d643e1abe4c91e +odm/lib64/libarcsoft_hdrplus_hvx_stub.so|7caf41c3fe693bf5ab04e0845f8d8bc2596ef097 +odm/lib64/libarcsoft_high_dynamic_range.so|14a20bb81e16fad16f6729ac918677900d0f5c74 +odm/lib64/libarcsoft_high_dynamic_range_couple.so|0746fdfb3d710aecffac9d811ab0bcaf2295b4a9 +odm/lib64/libarcsoft_lensstaindetection.so|87673d5563a7e0461d021de733d07e28454fc2de +odm/lib64/libarcsoft_low_light_hdr.so|47f61166412a6f4ef8402f16a1d8e79a9146e000 +odm/lib64/libarcsoft_portraitSN_hvx_stub.so|7703a304111a49a8948da28eb07fcd01fe39f7e2 +odm/lib64/libarcsoft_portrait_super_night_raw.so|ba6a0f3d89e675f9cd13dc7a5243631e89cc06d4|e21490541ec524386f3effb07cc144ec00495acd +odm/lib64/libarcsoft_portraitsupernight.so|f66e169657999dcb8b422829ed2db73e35f55103 +odm/lib64/libarcsoft_scbokeh_video.so|5d2dafc3588e88f1ee8a2437346de3bd543ce989 +odm/lib64/libarcsoft_smart_denoise.so|df9e6f5192d13a215db971f5e954945f03323785 +odm/lib64/libarcsoft_super_night_raw.so|762355fe1a720c7a46defaf358ca4dce5a1b66b4 +odm/lib64/libarcsoft_supernight.so|f5653861b79d9a5f2191db951136f9c94ddf5e97 +odm/lib64/libc++_shared.so|d5ba162c9b3165804df81d3260b7dcf32a1a46be +odm/lib64/libhta.so|509462940cb6e09dc0b4551791f8346fc2e3f4e1 +odm/lib64/libhwconfigurationutil.so|65621b4a1baa6a4b682c6f7c41a0b2d27a6d9cc4 +odm/lib64/libhyperlapse.so|b40cf7a0dedd0088c552bd55ba4ac247b74755ae +odm/lib64/libml_util.so|9a6bfec008853042c1801aa87f501d9da4bde2e5 +odm/lib64/libmpbase.so|0bded0d4b202799bb5584c4a0415050a64c5abab +odm/lib64/libormshalclient.so|8cb4479c3358c9f271014b2bf5b31d53b3f9877e +odm/lib64/libsnpe_dsp_domains_v2.so|7907c89ee8f26ef339b1b87543c3227e14b25d49 +odm/lib64/libsnpe_dsp_domains_v3.so|f5471baacbcbefcda072e6dd70610f5eed2f7142 +odm/lib64/libsnpe_loader.so|f01cc1327b9f7b305fff9c346d337828885c8625 +odm/lib64/libsnpeml.so|880b4eae70646d75e0567ad48ef28d5aa7721261 +odm/lib64/libstblur_api.so|8e6485de17b20981394f80abf0230b1925aa9023 +odm/lib64/libstblur_capture_api.so|650367383b458cc8396308a2208274531c810178 +odm/lib64/libstface_fd_api.so|6575436e71e0391b9571bb8b9c98b580b22529eb +odm/lib64/libsymphony-cpu.so|521e63af19b3fd51b12bb48f95b3f58a90068cc2 +odm/lib64/libwatermark_photo.so|1e217096f6932806c9e08a9233a14217a52e8718 +odm/lib64/vendor.oplus.hardware.orms@1.0.so|b2ca234e8094fe21d0b033dae36d204c6df7af69 +vendor/etc/camera/M_Attribute_AG_BMW_1.1.0.model.hardcode|7609ec9780a75b6adde762df763be8c68e4d2ce6 +vendor/etc/camera/M_Attribute_Gender_Age_1.0.model.hardcode|265ee47baa0e26226916265596aff65849cfefef +vendor/lib/libcamxexternalformatutils.so|b9dfd9a6b24707811ff4d6aa9aa75abfee1c8c1e +vendor/lib64/camera/components/com.qti.camx.chiiqutils.so|378c231d11b499e0dddf37cafb5324141a22f733 +vendor/lib64/camera/components/com.qti.eisv2.so|9d9ec2592c4e9e662016881f618de5995483bc6c +vendor/lib64/camera/components/com.qti.eisv3.so|cf0f6368f6b52de094a342ae63e8f4f9da8dc54b +vendor/lib64/camera/components/com.qti.hvx.addconstant.so|925b8b8caef36bee88a4e6d219e6350fd0c9996f +vendor/lib64/camera/components/com.qti.hvx.binning.so|6dd388faa7ada1a1f41d2848a219019116488fe3 +vendor/lib64/camera/components/com.qti.node.customhwnode.so|41c9f5a69d5c3d8afc0248c8aad742a4617e0821 +vendor/lib64/camera/components/com.qti.node.depth.so|4066a07a099be43515944d698dd54aa779050743 +vendor/lib64/camera/components/com.qti.node.dewarp.so|a32b68d30590c567dc3c6af65a105c8bba3daea6 +vendor/lib64/camera/components/com.qti.node.dummyrtb.so|a53eb31c6cb381f1ecd4e8aa210462ac26c3a06d +vendor/lib64/camera/components/com.qti.node.dummysat.so|7c396855acb9e8848e5f492c0339b9fa40033a4c +vendor/lib64/camera/components/com.qti.node.eisv2.so|8446a82caceff592c66cc6da435ea6665603a365 +vendor/lib64/camera/components/com.qti.node.eisv3.so|508872218723a0c85ae17c0de92578afb77561ce +vendor/lib64/camera/components/com.qti.node.fcv.so|e45d19d46b048ae7ea4d465412b93ac0a3496570 +vendor/lib64/camera/components/com.qti.node.formatconversion.so|d583b3d902a05b044b15f4526a22486417e9b131 +vendor/lib64/camera/components/com.qti.node.gpu.so|c443ac5e5f538d03b32958619045bc86269c3fb1 +vendor/lib64/camera/components/com.qti.node.memcpy.so|5696a06014902437fffef5681717357ef059a670 +vendor/lib64/camera/components/com.qti.node.ml.so|8cd3507a72f5b46842e2dd4a00027f0be24638ee +vendor/lib64/camera/components/com.qti.node.remosaic.so|c32adbeaf71476489c2f75545dfecb6104735ee7 +vendor/lib64/camera/components/com.qti.node.stich.so|691ddbaaa57843fb8b35b5aa894cc03412c81d85 +vendor/lib64/camera/components/com.qti.node.swaidenoiser.so|c753b9725d01bf30d4fd962a6c2b1a44c3a04b1f +vendor/lib64/camera/components/com.qti.node.swbestats.so|5d728cdfe55520e4fc6ad6b2db7ebd466335f25a +vendor/lib64/camera/components/com.qti.node.swcac.so|b0cfae6274e9d352169c57f4c10651f38d924bf6 +vendor/lib64/camera/components/com.qti.node.swlsc.so|4422229dd06e86a8db35daed8be1167cab43a912 +vendor/lib64/camera/components/com.qti.node.swmctf.so|e7b7e7c3711ecfdcb9b6baaabd5c2cee74b7d68b +vendor/lib64/camera/components/com.qti.node.swmfnr.so|1b189247328d980d5f4d3cc7e463fe31511654b6 +vendor/lib64/camera/components/com.qti.node.swpdpc.so|058ae86117c2d89c661fe4a5df5a6cabf6d1904b +vendor/lib64/camera/components/com.qti.node.swpreprocess.so|fc78ac52c49d133bdf3a664c98695c3075300ec3 +vendor/lib64/camera/components/com.qti.node.swregistration.so|c3a044a8f4b62bf9640cd3fbf6336322946ad48c +vendor/lib64/camera/components/com.qti.stats.aec.so|2f7fb397ee4689b79b768f0b210615998fb411c3 +vendor/lib64/camera/components/com.qti.stats.aecwrapper.so|047dafcbf3cb855a4ee6751c06ae4a2652c25d79 +vendor/lib64/camera/components/com.qti.stats.aecxcore.so|89c5fad53fdc4f0b3ebe4dd3362032cd5525212f +vendor/lib64/camera/components/com.qti.stats.af.so|960ba3571943fdc9fca347e27cea4f7937307bb2 +vendor/lib64/camera/components/com.qti.stats.afd.so|d023dd37e2a0acbd19048f42d31033db2415416e +vendor/lib64/camera/components/com.qti.stats.afwrapper.so|a039c7bb41adf20db9867532398564da96db3a41 +vendor/lib64/camera/components/com.qti.stats.asd.so|589ec0d2de1cd9c47e95deb4645a6cda01655c61 +vendor/lib64/camera/components/com.qti.stats.awb.so|59ba5ad8e9807beaed3a00c57f0bbaeafed0f57e +vendor/lib64/camera/components/com.qti.stats.awbwrapper.so|f49e136bffffed16f613fbde0228b73e45cc6215 +vendor/lib64/camera/components/com.qti.stats.cnndriver.so|3128c575c0a8c52aa42df7d4c0c60f7740059571 +vendor/lib64/camera/components/com.qti.stats.haf.so|7a543be75f4239092ca0b0c70c3d6e9fe5a76bc5 +vendor/lib64/camera/components/com.qti.stats.hafoverride.so|0f7d1c851751f4283d53d19404cbf4f80c4a03a8 +vendor/lib64/camera/components/com.qti.stats.pdlib.so|bf1b3f725a7aa233fa671419d4ea57ac6dc3b309 +vendor/lib64/camera/components/com.qti.stats.pdlibsony.so|373928bd31edbd620e53b5dfba37068b86d632c3 +vendor/lib64/camera/components/com.qti.stats.pdlibwrapper.so|19dde86984c8a0cec9d1f3db62282e5ddc8eb3e9 +vendor/lib64/camera/components/com.qti.stats.tracker.so|a9fa50c17e335da2b039e0a4708499ed3485bfb3 +vendor/lib64/camera/components/com.qtistatic.stats.aec.so|3403baaa5357733ec640f3fd25e258c40996d845 +vendor/lib64/camera/components/com.qtistatic.stats.af.so|b7671c14c2e65505acfc0b21884d97e59608808e +vendor/lib64/camera/components/com.qtistatic.stats.awb.so|c76e994f6198b828d97464fb68170cebf46e5252 +vendor/lib64/camera/components/com.qtistatic.stats.pdlib.so|be48eb8183f84ca53173c921baa66976f95482d8 +vendor/lib64/camera/components/libdepthmapwrapper_secure.so|0712281e292791f8813bb83f47f9f418b0463ef9 +vendor/lib64/camera/fdconfigpreview.bin|caf04e55d04ba717c8618faa125c1708efe44c1a +vendor/lib64/camera/fdconfigpreviewlite.bin|e95052671b9eec7ff53b665482b7b85b7dac0c62 +vendor/lib64/camera/fdconfigvideo.bin|c3303efadaa16495aee7e508a07f9000a435e8a2 +vendor/lib64/camera/fdconfigvideolite.bin|2d4648c313fa28fb83272f39ad64fd3bd0ff826d +vendor/lib64/hw/camera.qcom.so|cc31f6e349cad62cbd3e067fc38547c90e685d4f|8d27e06ac937c1bb49f1910b828068ac74e5c3c3 +vendor/lib64/hw/com.qti.chi.override.so|9637ffe7bfaa2799b7cf86973f3e7d8fbfa3344b +vendor/lib64/com.qti.chiusecaseselector.so|a35b657ea98415d110fb95c5b15066bb58dbdc34 +vendor/lib64/com.qti.feature2.anchorsync.so|d17bc4f703021706c98d5418cb20eb5b707f6cc1 +vendor/lib64/com.qti.feature2.demux.so|d35be36b8f793c0db5f748681633c11d155dd8b8 +vendor/lib64/com.qti.feature2.derivedoffline.so|88bade4b26ddc36211d71345f36532f8ff000424 +vendor/lib64/com.qti.feature2.frameselect.so|a65ed980d7855fc5422f5553cf1f3309851d14ed +vendor/lib64/com.qti.feature2.fusion.so|b4a400620b372670dae5b9469c051ee5c70e9d48 +vendor/lib64/com.qti.feature2.generic.so|c3767970f0c19fddb51d3197a440c22688e2d055 +vendor/lib64/com.qti.feature2.gs.cedros.so|7a4751c20028109414be7b3d062feae06d919c8d +vendor/lib64/com.qti.feature2.gs.kamorta.so|099cc1b33811eab18c92e353a495cd6c7a738887 +vendor/lib64/com.qti.feature2.gs.kodiak.so|9319eb376c67ceb1af3b694f7b68f14710d26908 +vendor/lib64/com.qti.feature2.gs.mannar.so|04908c0620848b1fc6dbdb00597b8b617c79776d +vendor/lib64/com.qti.feature2.gs.sdm865.so|a7fe5b8c666ef276efde3d70123410c1dc154986 +vendor/lib64/com.qti.feature2.gs.sm8350.so|ce3e28dfb61c45cde595648e55dbc2d15bbb8584 +vendor/lib64/com.qti.feature2.hdr.so|adbbb1731ea3f38c5165385a087bec9fdbfc4963 +vendor/lib64/com.qti.feature2.mcreprocrt.so|4559cf262474034dafe2d6acc1bcc101ee9d0d49 +vendor/lib64/com.qti.feature2.memcpy.so|9013a28adccb2dbd4439b237e8b08cc285796134 +vendor/lib64/com.qti.feature2.mfsr.so|8adb878619a3e447b98f504a833bdd15fd0d1e46 +vendor/lib64/com.qti.feature2.ml.so|a7784ea3ee137d9476e0e4c8968b062f1b5d9d7d +vendor/lib64/com.qti.feature2.mux.so|16492b1d07fcb23d7312f977e5450475a3511ef7 +vendor/lib64/com.qti.feature2.qcfa.so|18a567a29f3d508f39674a89f0e90993d0c80652 +vendor/lib64/com.qti.feature2.rawhdr.so|d2015cbf139d76d97087c88c08b94b1bf5f15a82 +vendor/lib64/com.qti.feature2.realtimeserializer.so|8b352061ecf3f7c10037bc6289dddee3ee57f03e +vendor/lib64/com.qti.feature2.rt.so|dc12483d467459ae4051297ba7e6146880b1136e +vendor/lib64/com.qti.feature2.rtmcx.so|cf60e1f164d147e018f31403fa7b53c728b7be52 +vendor/lib64/com.qti.feature2.serializer.so|2bc51b2a4b0ee3745469bad6d46a5bc575019cd8 +vendor/lib64/com.qti.feature2.statsregeneration.so|d18fb4edf002f30036c453d8179a4e5eeadbcbac +vendor/lib64/com.qti.feature2.stub.so|0fcff1fa75faae44d729c23067d505fe72aabc75 +vendor/lib64/com.qti.feature2.swmf.so|3ecd1ae76efc1e449102796f65eaa5a52fcdd7e0 +vendor/lib64/com.qti.settings.mannar.so|43f4f7c007d3b0a191a38c34da8d8343b8339411 +vendor/lib64/com.qti.stats.common.so|72bfddaaee97b64e1283e4c8fea4147c34ff4605 +vendor/lib64/com.qualcomm.mcx.distortionmapper.so|cb4e21304cd35cd293e6e70744e44be2460b2ada +vendor/lib64/com.qualcomm.mcx.linearmapper.so|82ba5b9baacce2ee942ed9118efd369ec529ce2a +vendor/lib64/com.qualcomm.mcx.policy.mfl.so|4de712246d2c2414b5710823911edd2d8f171017 +vendor/lib64/com.qualcomm.qti.mcx.usecase.extension.so|9c9b1454707f56b9bd629ce3f482cad442a3ab2c +vendor/lib64/libSonyIMX471RmscLibrary.so|eee34c1f29a14e542d906e36712436c1d877023d +vendor/lib64/libaidenoiser.so|425521468f0a5b440e6bf4197ec6251e9fa2f6a6 +vendor/lib64/libbitmlengine.so|495ecaedc87fbc639619225eab09d79d3ae2764f +vendor/lib64/libcamera_nn_stub.so|532001484fc848b9813d9fd9aac07e6cc265a38d +vendor/lib64/libcamerapostproc.so|ef502835c23f674103f672471369e3478df20a2a +vendor/lib64/libcamxexternalformatutils.so|169a14a6524d1d1b387a1329455001fc5f7c6625 +vendor/lib64/libcamxfacialfeatures.so|c4c73ee7cebc66100ed502df7d3dc7b125e30c0c +vendor/lib64/libcamxfdalgo.so|a75e33ffaadbe838056ad01470b7c21de17fea0e +vendor/lib64/libcamxfdengine.so|0812f5d395d982a6ab19dcf53751684d5406560f +vendor/lib64/libcamxifestriping.so|ffc0b6954d725b44f4173434371a63912bd6494b +vendor/lib64/libcamximageformatutils.so|c2443e3a85ddbfd1af4bcc46df15a33434759607 +vendor/lib64/libcamxqsatalgo.so|21b9881369f92dad697dd2698a0b089e9f41e781 +vendor/lib64/libcamxstatscore.so|c8294aa5317cab66a2bfa786aecff08d726510f7 +vendor/lib64/libcamxswispiqmodule.so|8e4421edbbece0447d06d73f4238ef14bdd9dfe2 +vendor/lib64/libcamxswprocessalgo.so|b36350ba2880aaaf8a8fd3446944eb0d5ef6bca5 +vendor/lib64/libcamxtintlessalgo.so|d05f07943e1fb7c70d85133cad4c4eeeabb40d38 +vendor/lib64/libchilog.so|a25ff86fe105b225c177915530d5e87cc72db80f +vendor/lib64/libcom.qti.chinodeutils.so|3da25bdd6522868d2781a44ffa7f8cb066a6dcb4 +vendor/lib64/libcvface_api.so|242c6653a4431c2f7ad5546e18b1df092750c9ed +vendor/lib64/libipebpsstriping.so|a5239d680297225690c317def678b26bd1dbcdae +vendor/lib64/libjpege.so|f7491279778f6b5bc55e4760ac9cf565b790b64d +vendor/lib64/libmctfengine_stub.so|2bb82a899acca1997658b85d2a34dd082431cace +vendor/lib64/libmidasserviceintf.so|c98856d48b3e8730aba65583775f56405addba13 +vendor/lib64/libmmcamera_bestats.so|14804b224fff0d6f66a68d1444a8a334e44d281a +vendor/lib64/libmmcamera_cac3.so|2cbc9bb177ad463bfb2fc7d4e8ca395534e67e91 +vendor/lib64/libmmcamera_faceproc.so|e96b400c33efa56f7c0d01b642ca1cf277b380ac +vendor/lib64/libmmcamera_faceproc2.so|20c36bb50f34e407863d6c0ede174aeff87acd32 +vendor/lib64/libmmcamera_lscv35.so|03171d55f2802d28619488fc8f06ab6c1dbdbf5a +vendor/lib64/libmmcamera_mfnr.so|815d5d25548dcb01ed20f976712671ee57e4923e +vendor/lib64/libmmcamera_mfnr_t4.so|7cdbb3bc2d38d21391ac2fab49eb3ee1ac4e111f +vendor/lib64/libmmcamera_pdpc.so|32529b4f130cd9988154ff6ff628e5f3ef4845cc +vendor/lib64/libnanopb.so|2cb742ac49ef82551c061aab6758b8b19a557409 +vendor/lib64/libofflinedump.so|b2cfbe19f7537b789f254bace38bb700ebbba36a +vendor/lib64/libofflinelog.so|6946dfc55d6d05ba67b6f23078045612493618ad +vendor/lib64/libopencv.so|3290c7e4b89dbcd895d20b1c56313e5f2ec31d34 +vendor/lib64/libopestriping.so|d8606c7e91e622f659642f69a4f55651437a0a45 +vendor/lib64/libos.so|0b19c0d59a1c0e4e6a7a624d17b9f8d7b744238a +vendor/lib64/libqll10.so|81357eefbb42a77a9843035a0797ac6ba0d7ba78 +vendor/lib64/libqllengine.so|7080d8c165b281256fa998f2dfd76931db29f293 +vendor/lib64/libswregistrationalgo.so|ac2d549854f31e7dea3ceddf25d1ee12b6210121 +vendor/lib64/libsynx.so|685190192da44081f2098a3178ec2f633b1e407e +vendor/lib64/libtfestriping.so|2f19ddb0bf6c68381973a28aaa5b3a7d766ff9c6 +vendor/lib64/libthreadutils.so|878a15983cad41932b47b83b0a98c9d0c093bd92 +vendor/lib64/vendor.oplus.hardware.cammidasservice@1.0.so|76c31ae9d6012e78170c33b74642d4b5ff98b369 +vendor/lib64/vendor.qti.hardware.camera.postproc@1.0-service-impl.so|12a7667d09c0729ceaf630aaa135194ce94f01e1 # CDSP vendor/bin/cdsprpcd @@ -456,11 +798,14 @@ vendor/lib64/libsysmon_cdsp_skel.so # Charger vendor/bin/hvdcp_opti +vendor/bin/init.qti.chg_policy.sh vendor/etc/init/vendor.qti.hardware.charger_monitor@1.0-service.rc +vendor/etc/charger_fstab.qti # CNE --vendor/app/CneApp/CneApp.apk +vendor/app/CneApp/CneApp.apk;REQUIRED=CneApp.libvndfwk_detect_jni.qti_symlink vendor/bin/cnd +vendor/bin/mutualex vendor/etc/cne/wqeclient/ATT/ATT_profile1.xml vendor/etc/cne/wqeclient/ATT/ATT_profile2.xml vendor/etc/cne/wqeclient/ATT/ATT_profile3.xml @@ -488,8 +833,12 @@ vendor/etc/cne/wqeclient/VZW/VZW_profile3.xml vendor/etc/cne/wqeclient/VZW/VZW_profile4.xml vendor/etc/cne/wqeclient/VZW/VZW_profile5.xml vendor/etc/cne/wqeclient/VZW/VZW_profile6.xml -vendor/etc/init/cnd.rc +vendor/etc/cne/mwqem.conf +vendor/etc/cne/profileMwqem.xml vendor/etc/default-permissions/com.qualcomm.qti.cne.xml +vendor/etc/init/cnd.rc +vendor/etc/init/mutualex.rc +vendor/lib/libxml.so vendor/lib64/libcne.so vendor/lib64/libcneapiclient.so vendor/lib64/libcneoplookup.so @@ -500,7 +849,7 @@ vendor/lib64/libxml.so vendor/lib64/vendor.qti.data.factory@2.0.so vendor/lib64/vendor.qti.data.factory@2.1.so vendor/lib64/vendor.qti.data.factory@2.2.so -vendor/lib64/vendor.qti.data.mwqem@1.0.so +vendor/lib64/vendor.qti.data.factory@2.3.so vendor/lib64/vendor.qti.data.slm@1.0.so vendor/lib64/vendor.qti.hardware.data.cne.internal.api@1.0.so vendor/lib64/vendor.qti.hardware.data.cne.internal.constants@1.0.so @@ -510,83 +859,75 @@ vendor/lib64/vendor.qti.hardware.data.connection@1.1.so vendor/lib64/vendor.qti.hardware.data.dynamicdds@1.0.so vendor/lib64/vendor.qti.hardware.data.iwlan@1.0.so vendor/lib64/vendor.qti.hardware.data.latency@1.0.so +vendor/lib64/vendor.qti.hardware.data.lce@1.0.so vendor/lib64/vendor.qti.hardware.data.qmi@1.0.so -vendor/lib64/vendor.qti.hardware.mwqemadapter@1.0.so vendor/lib64/vendor.qti.hardware.slmadapter@1.0.so vendor/lib64/vendor.qti.latency@2.0.so +vendor/lib64/vendor.qti.latency@2.1.so # Configstore vendor/bin/hw/vendor.qti.hardware.capabilityconfigstore@1.0-service vendor/etc/init/vendor.qti.hardware.capabilityconfigstore@1.0-service.rc -vendor/lib64/hw/vendor.qti.hardware.capabilityconfigstore@1.0-impl.so vendor/lib/hw/vendor.qti.hardware.capabilityconfigstore@1.0-impl.so +vendor/lib64/hw/vendor.qti.hardware.capabilityconfigstore@1.0-impl.so # CVP vendor/lib64/libcvp_common.so vendor/lib64/libcvpcpuRev_skel.so vendor/lib64/vendor.qti.hardware.cvp@1.0.so -# CVP firmware -vendor/firmware/evass.b01 -vendor/firmware/evass.b02 -vendor/firmware/evass.b03 -vendor/firmware/evass.b04 -vendor/firmware/evass.b05 -vendor/firmware/evass.b06 -vendor/firmware/evass.b07 -vendor/firmware/evass.b08 -vendor/firmware/evass.b09 -vendor/firmware/evass.b10 -vendor/firmware/evass.b11 -vendor/firmware/evass.b12 -vendor/firmware/evass.b13 -vendor/firmware/evass.b14 -vendor/firmware/evass.b15 -vendor/firmware/evass.b16 -vendor/firmware/evass.b17 -vendor/firmware/evass.b18 -vendor/firmware/evass.b19 -vendor/firmware/evass.mbn -vendor/firmware/evass.mdt +# CVP firmware - from DE2117_11.C.37 +vendor/firmware/evass.b01|0ba927944b4ecb3160d10bf1fbdf8c0a24b4135d +vendor/firmware/evass.b02|f9215f6edcdf711ed37d033dcc1af70bdcb358bd +vendor/firmware/evass.b03|817d0f1aa1dd38a187de8ee0b92fa5d27bf2c700 +vendor/firmware/evass.b04|86a5ed4d22759036806d9321f8e509628f64c5b6 +vendor/firmware/evass.b05|46fead36eae934ee058cefa7b5c1e2cd14d18a48 +vendor/firmware/evass.b06|e19854e03b52cc67d7db620f54609b66d1b85f54 +vendor/firmware/evass.b07|0b403b94f400e8f76ac5f5f18f6957318ec2a582 +vendor/firmware/evass.b08|86a5ed4d22759036806d9321f8e509628f64c5b6 +vendor/firmware/evass.b09|9e5dea8617157aa63d483e97ccf6d11b0023ea66 +vendor/firmware/evass.b10|52bc47832701c3ba13aac0fa43988db439b8bd17 +vendor/firmware/evass.b11|da39a3ee5e6b4b0d3255bfef95601890afd80709 +vendor/firmware/evass.b12|da39a3ee5e6b4b0d3255bfef95601890afd80709 +vendor/firmware/evass.b13|da39a3ee5e6b4b0d3255bfef95601890afd80709 +vendor/firmware/evass.b14|da39a3ee5e6b4b0d3255bfef95601890afd80709 +vendor/firmware/evass.b15|da39a3ee5e6b4b0d3255bfef95601890afd80709 +vendor/firmware/evass.b16|da39a3ee5e6b4b0d3255bfef95601890afd80709 +vendor/firmware/evass.b17|da39a3ee5e6b4b0d3255bfef95601890afd80709 +vendor/firmware/evass.b18|da39a3ee5e6b4b0d3255bfef95601890afd80709 +vendor/firmware/evass.b19|1ceaf73df40e531df3bfb26b4fb7cd95fb7bff1d +vendor/firmware/evass.mbn|5fff4b07130a609d8aa76d0af48bfcdabe56ec1e +vendor/firmware/evass.mdt|50a2938df0fe52344d95fc2d14414a2922c6decc # Diag system_ext/lib/vendor.qti.diaghal@1.0.so system_ext/lib64/vendor.qti.diaghal@1.0.so -vendor/bin/diag-router -vendor/etc/init/vendor.qti.diag.rc -vendor/lib/vendor.qti.diaghal@1.0.so -vendor/lib64/vendor.qti.diaghal@1.0.so -# Display -vendor/bin/hw/vendor.oneplus.hardware.display@1.0-service -vendor/etc/init/vendor.oneplus.hardware.display@1.0-service.rc +# Display (Features) +vendor/bin/feature_enabler_client +vendor/etc/init/feature_enabler_client.rc +vendor/etc/Oppo_QC_LTM_Commercial_SM8250_2020_01_15.pfm # Display (HDR) vendor/lib64/libhdr_tm.so # Display (HWC) -vendor/bin/hw/vendor.qti.hardware.display.composer-service vendor/bin/qdcmss vendor/etc/init/qdcmss.rc -vendor/etc/snapdragon_color_libs_config.xml -vendor/lib64/libdisplayconfig.qti.so vendor/lib64/libdpps.so vendor/lib64/libqdcm-mode-parser.so -vendor/lib64/libsdmcore.so -vendor/lib64/libsdmutils.so vendor/lib64/libsnapdragoncolor-manager.so vendor/lib64/libsnapdragoncolor-qdcm.so # Display (SDM) -vendor/etc/display/advanced_sf_offsets.xml vendor/etc/display/DPU660.xml vendor/etc/display/DPU670.xml vendor/etc/display/DPU7__.xml +vendor/etc/display/advanced_sf_offsets.xml vendor/lib64/libdisplayqos.so vendor/lib64/libdisplayskuutils.so vendor/lib64/libqseed3.so vendor/lib64/librcmask.so -vendor/lib64/libsdedrm.so vendor/lib64/libsdm-color.so vendor/lib64/libsdm-colormgr-algo.so vendor/lib64/libsdm-diag.so @@ -611,27 +952,27 @@ vendor/lib64/vendor.display.color@1.5.so vendor/lib64/vendor.display.postproc@1.0.so # DPM -system/framework/tcmclient.jar system_ext/bin/dpmd +system_ext/bin/tcmd system_ext/etc/dpm/dpm.conf system_ext/etc/init/dpmd.rc +system_ext/etc/init/tcmd.rc system_ext/etc/permissions/com.qti.dpmframework.xml system_ext/etc/permissions/dpmapi.xml +system_ext/etc/seccomp_policy/tcmd.policy system_ext/framework/com.qti.dpmframework.jar system_ext/framework/dpmapi.jar -system_ext/lib/com.qualcomm.qti.dpm.api@1.0.so -system_ext/lib/libdpmctmgr.so -system_ext/lib/libdpmfdmgr.so -system_ext/lib/libdpmframework.so -system_ext/lib/libdpmtcm.so system_ext/lib64/com.qualcomm.qti.dpm.api@1.0.so system_ext/lib64/libdpmctmgr.so system_ext/lib64/libdpmfdmgr.so system_ext/lib64/libdpmframework.so system_ext/lib64/libdpmtcm.so +system_ext/lib64/vendor.qti.hardware.dpmaidlservice-V1-ndk.so +system_ext/lib64/vendor.qti.hardware.dpmservice@1.0.so +system_ext/priv-app/dpmserviceapp/dpmserviceapp.apk vendor/bin/dpmQmiMgr vendor/etc/init/dpmQmiMgr.rc -vendor/lib64/com.qualcomm.qti.dpm.api@1.0.so +vendor/lib64/com.qualcomm.qti.dpm.api@1.0.so;MODULE_SUFFIX=_vendor vendor/lib64/libdpmqmihal.so # DRM @@ -639,43 +980,50 @@ vendor/bin/hw/vendor.qti.hardware.qseecom@1.0-service vendor/bin/qseecomd vendor/etc/init/qseecomd.rc vendor/etc/init/vendor.qti.hardware.qseecom@1.0-service.rc +vendor/etc/gpfspath_oem_config.xml vendor/lib64/hw/vendor.qti.hardware.qseecom@1.0-impl.so +vendor/lib64/libGPreqcancel.so +vendor/lib64/libGPreqcancel_svc.so +vendor/lib64/libQSEEComAPI.so +vendor/lib64/libSecureUILib.so +vendor/lib64/libStDrvInt.so vendor/lib64/libcpion.so vendor/lib64/libdrmfs.so vendor/lib64/libdrmtime.so -vendor/lib64/libGPreqcancel.so -vendor/lib64/libGPreqcancel_svc.so vendor/lib64/libops.so vendor/lib64/libqisl.so -vendor/lib64/libQSEEComAPI.so vendor/lib64/librpmb.so +vendor/lib64/libsecureui.so vendor/lib64/libsecureui_svcsock.so vendor/lib64/libssd.so vendor/lib64/libtzdrmgenprov.so vendor/lib64/vendor.qti.hardware.qseecom@1.0.so -# ESE -vendor/bin/hw/vendor.qti.esepowermanager@1.1-service -vendor/etc/init/vendor.qti.esepowermanager@1.1-service.rc -vendor/lib64/hw/vendor.qti.esepowermanager@1.1-impl.so -vendor/lib64/vendor.qti.esepowermanager@1.0.so -vendor/lib64/vendor.qti.esepowermanager@1.1.so +# Fingerprint - from DE2117_11.C.37 +odm/bin/hw/vendor.oplus.hardware.biometrics.fingerprint@2.1-service|8ae1f13680191151058b40c69fa0f6f4ad593c86 +odm/bin/init.oplus.fingerprints.sh|950befd6f64d4055bf47ab066a0a1e0080e6191e +odm/etc/init/vendor.oplus.hardware.biometrics.fingerprint@2.1-service.rc|e4dc71dbcf48df8e4a5fbf9a14048698046cbe0b +odm/etc/vintf/manifest/manifest_oplus_fingerprint.xml|78ca4f56ed1f5dd48c186718718fd9513629851e +odm/lib64/hw/fingerprint.goodix_G3.default.so|06259ab73ecb36ced83da0880a7dce513f6b7182 +odm/lib64/anc.hal.so|43f05e06b2f1b2b7887dc16c62a01eff6d2b0333 +odm/lib64/libgf_hal_G3.so|dbffbab96f50494b290fa2ae0dc1d7368c58af22 +odm/vendor/firmware/goodixfp.b00|b82a938f6f1ca22d66e5a74a78d2076f5acd546c +odm/vendor/firmware/goodixfp.b01|b18dbcb1834968e7a5a7be54c49927c69b32c3e0 +odm/vendor/firmware/goodixfp.b02|c48132cb6151e1db16a303d2ab2cc6345b2b2d9b +odm/vendor/firmware/goodixfp.b03|22d8c1d6bd01d3767afc5fd11ed4075389757913 +odm/vendor/firmware/goodixfp.b04|eed1f8095bc7c2939d641b0f2fddecff30997a5b +odm/vendor/firmware/goodixfp.b05|ac45c20a9376e4fe66b9ec19677b6c43edd31983 +odm/vendor/firmware/goodixfp.b06|6e23da6647e1a117b827aaa32271199b42293ccb +odm/vendor/firmware/goodixfp.b07|450bf7245b6a2e2c4ab5d92b64badd472ba3cbb0 +odm/vendor/firmware/goodixfp.mdt|c6caa1def77190e216fa2ed6eb7bfae9cd7f8e53 +vendor/lib64/vendor.oplus.hardware.commondcs@1.0.so:odm/lib64/vendor.oplus.hardware.commondcs@1.0.so|02e67cac1e468ee300148d87cfa3be39958047dd -# Feature enabler client -vendor/bin/feature_enabler_client -vendor/etc/init/feature_enabler_client.rc - -# Fingerprint -vendor/lib64/hw/goodix.3626.holi.so:vendor/lib64/hw/fingerprint.qcom.so -vendor/lib64/fp_hal_extension.so -vendor/lib64/libgf_ca.so -vendor/lib64/libgf_hal.so -vendor/lib64/libgoodixhwfingerprint.so -vendor/lib64/vendor.goodix3626.hardware.biometrics.fingerprint@2.1.so - -# FM -vendor/lib64/hw/vendor.qti.hardware.fm@1.0-impl.so -vendor/lib64/vendor.qti.hardware.fm@1.0.so +# FM - from LE2125_14.0.0.720(EX01) +system_ext/lib64/fm_helium.so|f67fc530027c32455d5b06984b14854641689712 +system_ext/lib64/libfm-hci.so|3ce381e1902bdf5dcbd60e22e601f29398cb8d97 +system_ext/lib64/vendor.qti.hardware.fm@1.0.so|1fae109f511f0dc7de8261dcaeef71f232486684 +vendor/lib64/hw/vendor.qti.hardware.fm@1.0-impl.so|6819718ea5f2d00c5da8ad215c4d11fd794e6a0e +vendor/lib64/vendor.qti.hardware.fm@1.0.so;MODULE_SUFFIX=_vendor|8bb6c293e00c49fc69378815b872b7ed0b67189b # Gatekeeper vendor/bin/hw/android.hardware.gatekeeper@1.0-service-qti @@ -683,62 +1031,69 @@ vendor/etc/init/android.hardware.gatekeeper@1.0-service-qti.rc vendor/lib64/hw/android.hardware.gatekeeper@1.0-impl-qti.so # Graphics (Adreno) +vendor/gpu/kbc/sequence_manifest.bin +vendor/gpu/kbc/unified_kbcs_32.bin +vendor/gpu/kbc/unified_kbcs_64.bin +vendor/gpu/kbc/unified_ksqs.bin vendor/lib/egl/eglSubDriverAndroid.so -vendor/lib/egl/libEGL_adreno.so +vendor/lib/egl/libEGL_adreno.so;SYMLINK=vendor/lib/libEGL_adreno.so vendor/lib/egl/libGLESv1_CM_adreno.so -vendor/lib/egl/libGLESv2_adreno.so -vendor/lib/egl/libq3dtools_adreno.so +vendor/lib/egl/libGLESv2_adreno.so;SYMLINK=vendor/lib/libGLESv2_adreno.so +vendor/lib/egl/libq3dtools_adreno.so;SYMLINK=vendor/lib/libq3dtools_adreno.so vendor/lib/egl/libq3dtools_esx.so +vendor/lib/libC2D2.so +vendor/lib/libCB.so +vendor/lib/libOpenCL.so vendor/lib/libadreno_app_profiles.so vendor/lib/libadreno_utils.so -vendor/lib/libC2D2.so vendor/lib/libc2d30_bltlib.so -vendor/lib/libCB.so -vendor/lib/libgpudataproducer.so vendor/lib/libgsl.so +vendor/lib/libkcl.so +vendor/lib/libkernelmanager.so vendor/lib/libllvm-glnext.so vendor/lib/libllvm-qcom.so -vendor/lib/libOpenCL.so -vendor/lib/libVkLayer_q3dtools.so vendor/lib64/egl/eglSubDriverAndroid.so -vendor/lib64/egl/libEGL_adreno.so +vendor/lib64/egl/libEGL_adreno.so;SYMLINK=vendor/lib64/libEGL_adreno.so vendor/lib64/egl/libGLESv1_CM_adreno.so -vendor/lib64/egl/libGLESv2_adreno.so -vendor/lib64/egl/libq3dtools_adreno.so +vendor/lib64/egl/libGLESv2_adreno.so;SYMLINK=vendor/lib64/libGLESv2_adreno.so +vendor/lib64/egl/libq3dtools_adreno.so;SYMLINK=vendor/lib64/libq3dtools_adreno.so vendor/lib64/egl/libq3dtools_esx.so +vendor/lib64/libC2D2.so +vendor/lib64/libCB.so +vendor/lib64/libOpenCL.so vendor/lib64/libadreno_app_profiles.so vendor/lib64/libadreno_utils.so -vendor/lib64/libC2D2.so vendor/lib64/libc2d30_bltlib.so -vendor/lib64/libCB.so -vendor/lib64/libgpudataproducer.so vendor/lib64/libgsl.so +vendor/lib64/libkcl.so +vendor/lib64/libkernelmanager.so vendor/lib64/libllvm-glnext.so vendor/lib64/libllvm-qcom.so -vendor/lib64/libOpenCL.so -vendor/lib64/libVkLayer_q3dtools.so -# Graphics (Adreno firmware) -vendor/firmware/a615_zap.b00 -vendor/firmware/a615_zap.b01 -vendor/firmware/a615_zap.b02 -vendor/firmware/a615_zap.elf -vendor/firmware/a615_zap.mdt -vendor/firmware/a619_gmu.bin -vendor/firmware/a630_sqe.fw -vendor/firmware/a660_gmu.bin -vendor/firmware/a660_sqe.fw -vendor/firmware/a660_zap.b00 -vendor/firmware/a660_zap.b01 -vendor/firmware/a660_zap.b02 -vendor/firmware/a660_zap.elf -vendor/firmware/a660_zap.mdt +# Graphics (Adreno firmware) - from DE2117_11.C.37 +vendor/firmware/a615_zap.b00|55c1a14a5699d05f796a982448711159f8208951 +vendor/firmware/a615_zap.b01|a753f53c8c7715aa0269b080a24c3c6ff0a59694 +vendor/firmware/a615_zap.b02|4ae54047f9629f2470a5d58f3940c5eb51298b96 +vendor/firmware/a615_zap.elf|0d65f06baa2de5c9d22c57c5c1470e9fa9a4da11 +vendor/firmware/a615_zap.mdt|29777fb920fc871c04e4a0ac0ba07a853d386161 +vendor/firmware/a619_gmu.bin|0c211ef8a3246d649a4ae52a926d128b61e3c264 +vendor/firmware/a630_sqe.fw|3be171586a5600b8a0253a0e267d1eb96cd82290 +vendor/firmware/a660_gmu.bin|7e23fae9ac6dfaf0219280c83e0086b8e97082b1 +vendor/firmware/a660_sqe.fw|8e6becfbcff6ff6e64b5edb6f135cc6f656d4ee1 +vendor/firmware/a660_zap.b00|f8df59bf1c76d6cceb152cfd58142af4e0cdabb5 +vendor/firmware/a660_zap.b01|e89ce22bac10956f19dbe5e257219f27059387a5 +vendor/firmware/a660_zap.b02|bcbdf56fca034c66a9e44242587ed25a1ffe2abe +vendor/firmware/a660_zap.elf|7a5dbfa688fa17801845e090f56cc4d6f3a4e8da +vendor/firmware/a660_zap.mdt|0b56b4d50e23a289558b4ade01f041b3e78515c4 # Graphics (Vulkan) vendor/lib/hw/vulkan.adreno.so vendor/lib64/hw/vulkan.adreno.so # GNSS +odm/etc/izat.conf +odm/etc/sap.conf +vendor/app/CACertService/CACertService.apk vendor/bin/hw/android.hardware.gnss@2.1-service-qti vendor/bin/loc_launcher vendor/bin/lowi-server @@ -748,13 +1103,28 @@ vendor/bin/xtra-daemon vendor/bin/xtwifi-client vendor/bin/xtwifi-inet-agent vendor/etc/init/android.hardware.gnss@2.1-service-qti.rc --vendor/etc/vintf/manifest/android.hardware.gnss@2.1-service-qti.xml --vendor/etc/vintf/manifest/vendor.qti.gnss@4.0-service.xml +vendor/etc/seccomp_policy/gnss@2.0-base.policy +vendor/etc/seccomp_policy/gnss@2.0-xtra-daemon.policy +vendor/etc/seccomp_policy/gnss@2.0-xtwifi-client.policy +vendor/etc/seccomp_policy/gnss@2.0-xtwifi-inet-agent.policy +vendor/etc/vintf/manifest/android.hardware.gnss@2.1-service-qti.xml +vendor/etc/vintf/manifest/vendor.qti.gnss@4.0-service.xml +vendor/etc/apdr.conf vendor/etc/cacert_location.pem +vendor/etc/flp.conf +vendor/etc/gnss_antenna_info.conf +vendor/etc/gps.conf +vendor/etc/izat.conf +vendor/etc/lowi.conf +vendor/etc/sap.conf vendor/etc/xtra_root_cert.pem +vendor/etc/xtwifi.conf vendor/lib64/hw/android.hardware.gnss@2.1-impl-qti.so vendor/lib64/hw/vendor.qti.gnss@4.0-impl.so vendor/lib64/libaoa.so +vendor/lib64/libasn1cper.so +vendor/lib64/libasn1crt.so +vendor/lib64/libasn1crtx.so vendor/lib64/libbatching.so vendor/lib64/libcacertclient.so vendor/lib64/libdataitems.so @@ -791,27 +1161,50 @@ vendor/lib64/vendor.qti.gnss@2.1.so vendor/lib64/vendor.qti.gnss@3.0.so vendor/lib64/vendor.qti.gnss@4.0-service.so vendor/lib64/vendor.qti.gnss@4.0.so +vendor/lib64/vendor.qti.hardware.cacert@1.0.so -# HotwordEnrollment --product/priv-app/HotwordEnrollmentOKGoogleHEXAGON/HotwordEnrollmentOKGoogleHEXAGON.apk --product/priv-app/HotwordEnrollmentXGoogleHEXAGON/HotwordEnrollmentXGoogleHEXAGON.apk -system_ext/etc/permissions/com.android.hotwordenrollment.common.util.xml -system_ext/framework/com.android.hotwordenrollment.common.util.jar +# Hotword Enrollment +my_product/etc/sysconfig/com.android.hotwordenrollment.common.util.xml:product/etc/sysconfig/com.android.hotwordenrollment.common.util.xml +my_product/framework/com.android.hotwordenrollment.common.util.jar:product/framework/com.android.hotwordenrollment.common.util.jar +my_product/priv-app/HotwordEnrollmentOKGoogleHEXAGON.apk:product/priv-app/HotwordEnrollmentOKGoogleHEXAGON/HotwordEnrollmentOKGoogleHEXAGON.apk +my_product/priv-app/HotwordEnrollmentXGoogleHEXAGON.apk:product/priv-app/HotwordEnrollmentXGoogleHEXAGON/HotwordEnrollmentXGoogleHEXAGON.apk # IMS --system_ext/priv-app/ims/ims.apk +system_ext/app/ImsRcsService/ImsRcsService.apk +system_ext/etc/permissions/telephony_system-ext_privapp-permissions-qti.xml +system_ext/etc/permissions/vendor.qti.ims.rcsservice.xml +system_ext/etc/sysconfig/qti_telephony_system_packages_config.xml +system_ext/etc/sysconfig/qti_whitelist_system_ext.xml +system_ext/framework/oplus-ims-ext.jar +system_ext/framework/vendor.qti.ims.connection-V1.0-java.jar +system_ext/framework/vendor.qti.ims.connectionaidlservice-V1-java.jar +system_ext/framework/vendor.qti.ims.factory-V2.0-java.jar +system_ext/framework/vendor.qti.ims.factory-V2.1-java.jar +system_ext/framework/vendor.qti.ims.factory-V2.2-java.jar +system_ext/framework/vendor.qti.ims.factoryaidlservice-V1-java.jar +system_ext/framework/vendor.qti.ims.rcssip-V1.0-java.jar +system_ext/framework/vendor.qti.ims.rcssip-V1.1-java.jar +system_ext/framework/vendor.qti.ims.rcssip-V1.2-java.jar +system_ext/framework/vendor.qti.ims.rcssipaidlservice-V1-java.jar +system_ext/framework/vendor.qti.ims.rcsuce-V1.0-java.jar +system_ext/framework/vendor.qti.ims.rcsuce-V1.1-java.jar +system_ext/framework/vendor.qti.ims.rcsuce-V1.2-java.jar +system_ext/framework/vendor.qti.ims.rcsuceaidlservice-V1-java.jar system_ext/lib64/lib-imsvideocodec.so system_ext/lib64/lib-imsvt.so system_ext/lib64/lib-imsvtextutils.so system_ext/lib64/lib-imsvtutils.so system_ext/lib64/libdiag_system.so -system_ext/lib64/libimscamera_jni.so -system_ext/lib64/libimsmedia_jni.so +system_ext/lib64/libimscamera_jni.so;SYMLINK=system_ext/priv-app/ims/lib/arm64/libimscamera_jni.so +system_ext/lib64/libimsmedia_jni.so;SYMLINK=system_ext/priv-app/ims/lib/arm64/libimsmedia_jni.so +system_ext/lib64/vendor.qti.ImsRtpService-V1-ndk.so system_ext/lib64/vendor.qti.imsrtpservice@3.0.so -vendor/bin/imsdaemon +system_ext/lib64/vendor.qti.imsrtpservice@3.1.so +system_ext/priv-app/ims/ims.apk vendor/bin/ims_rtp_daemon -vendor/etc/init/imsdaemon.rc +vendor/bin/imsdaemon vendor/etc/init/ims_rtp_daemon.rc +vendor/etc/init/imsdaemon.rc vendor/etc/seccomp_policy/imsrtp.policy vendor/lib64/com.qualcomm.qti.imscmservice@1.0.so vendor/lib64/com.qualcomm.qti.imscmservice@2.0.so @@ -820,11 +1213,11 @@ vendor/lib64/com.qualcomm.qti.imscmservice@2.2.so vendor/lib64/com.qualcomm.qti.uceservice@2.0.so vendor/lib64/com.qualcomm.qti.uceservice@2.1.so vendor/lib64/com.qualcomm.qti.uceservice@2.2.so +vendor/lib64/com.qualcomm.qti.uceservice@2.3.so vendor/lib64/lib-imscommon.so vendor/lib64/lib-imsdpl.so vendor/lib64/lib-imsqimf.so vendor/lib64/lib-imsrcsservice.so -vendor/lib64/lib-imsSDP.so vendor/lib64/lib-imsservice.so vendor/lib64/lib-imsvtcore.so vendor/lib64/lib-imsxml.so @@ -832,6 +1225,8 @@ vendor/lib64/lib-rtpcommon.so vendor/lib64/lib-rtpcore.so vendor/lib64/lib-rtpsl.so vendor/lib64/librcc.so +vendor/lib64/vendor.qti.data.mwqem@1.0.so +vendor/lib64/vendor.qti.hardware.mwqemadapter@1.0.so vendor/lib64/vendor.qti.hardware.radio.ims@1.0.so vendor/lib64/vendor.qti.hardware.radio.ims@1.1.so vendor/lib64/vendor.qti.hardware.radio.ims@1.2.so @@ -839,38 +1234,55 @@ vendor/lib64/vendor.qti.hardware.radio.ims@1.3.so vendor/lib64/vendor.qti.hardware.radio.ims@1.4.so vendor/lib64/vendor.qti.hardware.radio.ims@1.5.so vendor/lib64/vendor.qti.hardware.radio.ims@1.6.so +vendor/lib64/vendor.qti.hardware.radio.ims@1.7.so vendor/lib64/vendor.qti.ims.callcapability@1.0.so vendor/lib64/vendor.qti.ims.callinfo@1.0.so +vendor/lib64/vendor.qti.ims.configservice@1.0.so +vendor/lib64/vendor.qti.ims.configservice@1.1.so +vendor/lib64/vendor.qti.ims.connection@1.0.so vendor/lib64/vendor.qti.ims.factory@1.0.so vendor/lib64/vendor.qti.ims.factory@1.1.so +vendor/lib64/vendor.qti.ims.factory@2.0.so +vendor/lib64/vendor.qti.ims.factory@2.1.so +vendor/lib64/vendor.qti.ims.factory@2.2.so vendor/lib64/vendor.qti.ims.rcsconfig@1.0.so vendor/lib64/vendor.qti.ims.rcsconfig@1.1.so vendor/lib64/vendor.qti.ims.rcsconfig@2.0.so vendor/lib64/vendor.qti.ims.rcsconfig@2.1.so +vendor/lib64/vendor.qti.ims.rcssip@1.0.so +vendor/lib64/vendor.qti.ims.rcssip@1.1.so +vendor/lib64/vendor.qti.ims.rcssip@1.2.so +vendor/lib64/vendor.qti.ims.rcsuce@1.0.so +vendor/lib64/vendor.qti.ims.rcsuce@1.1.so +vendor/lib64/vendor.qti.ims.rcsuce@1.2.so vendor/lib64/vendor.qti.imsrtpservice@3.0-service-Impl.so -vendor/lib64/vendor.qti.imsrtpservice@3.0.so - -# IO prefetcher -vendor/bin/hw/vendor.qti.hardware.iop@2.0-service -vendor/etc/init/vendor.qti.hardware.iop@2.0-service.rc -vendor/lib64/libqti-iopd-client.so -vendor/lib64/libqti-iopd.so -vendor/lib64/vendor.qti.hardware.iop@1.0.so -vendor/lib64/vendor.qti.hardware.iop@2.0.so +vendor/lib64/vendor.qti.imsrtpservice@3.0.so;MODULE_SUFFIX=_vendor # IPA firmware vendor/etc/init/ipa_fws.rc -vendor/firmware/ipa_fws.b00 -vendor/firmware/ipa_fws.b01 -vendor/firmware/ipa_fws.b02 -vendor/firmware/ipa_fws.b03 -vendor/firmware/ipa_fws.b04 -vendor/firmware/ipa_fws.elf -vendor/firmware/ipa_fws.mdt + +# IPA firmware - from DE2117_11.C.37 +vendor/firmware/ipa_fws.b00|eb24330c9d96f1b75ae07968484734e4c2a59c75 +vendor/firmware/ipa_fws.b01|c659c8afaaa27145c7d499564eee364028c73664 +vendor/firmware/ipa_fws.b02|cd418e2434a5698bf7a2f8844171f1b2ddd4b57a +vendor/firmware/ipa_fws.b03|c07cfef57f8f694b4cee41e78700614efbedf2bc +vendor/firmware/ipa_fws.b04|7aa0ec649f20af523f21c6e19014987f86f18dff +vendor/firmware/ipa_fws.elf|9103334c1cc07d320cc4d80f912e0c2129dafbf2 +vendor/firmware/ipa_fws.mdt|59d3f76009592e29a4883fd3659b7fa9e853d4ae # IRQ balance vendor/bin/msm_irqbalance -vendor/etc/msm_irqbalance.conf + +# IRQ balance - from DE2117_11.C.37 +vendor/etc/msm_irqbalance.conf|1c1c2c568953546f67ce24c497ca5bd58a581cf8|298dc27a89520ed92b3c99ef0f95209e4b77279b + +# Kernel - from Fogos U1UGS34.23-110-2-1 +vendor/bin/init.kernel.post_boot-blair.sh|cd5ce1032fc750f545adea3b67066853e81d020c|7e187ca6573ce0815daac9d8a79e0f6d1142209f +vendor/bin/init.kernel.post_boot-holi.sh|85a6a76b21db596bf06180a83a7b6369af773293|da69f675aa706fd6c13d17892157bf471cdf5d9a +vendor/bin/init.kernel.post_boot.sh|a6b39a91a61c92a42dff1f8565f37917c60827f4 +vendor/bin/init.qti.kernel.sh|1c17e31a8edfc0b188802d280af9a85038f96b60 +vendor/bin/vendor_modprobe.sh|d6f572abb7aba5c12077607ec18c221388b86394 +vendor/etc/init/hw/init.qti.kernel.rc|91245b402447c148f770abe09c416c05c6757a21 # Keymaster vendor/bin/hw/android.hardware.keymaster@4.1-service-qti @@ -881,7 +1293,6 @@ vendor/lib64/libkeymasterutils.so vendor/lib64/libqtikeymaster4.so # Listen -vendor/lib/libadpcmdec.so vendor/lib/libcapiv2svacnn.so vendor/lib/libcapiv2svarnn.so vendor/lib/libcapiv2vop.so @@ -891,20 +1302,35 @@ vendor/lib/libgcs-osal.so vendor/lib/libgcs.so vendor/lib/liblistensoundmodel2.so vendor/lib/libmulawdec.so -vendor/lib/libsmwrapper.so # Media -system_ext/lib/libmmosal.so -system_ext/lib/libmmparser_lite.so +odm/etc/media_profiles_V1_0.xml system_ext/lib64/libmmosal.so +system_ext/lib64/libmmparser_lite.so vendor/bin/hw/vendor.qti.media.c2@1.0-service vendor/bin/init.qti.media.sh vendor/etc/init/init.qti.media.rc vendor/etc/init/vendor.qti.media.c2@1.0-service.rc +vendor/etc/media_blair/video_system_specs.json +vendor/etc/media_blair_lite/video_system_specs.json vendor/etc/media_holi/video_system_specs.json +vendor/etc/media_codecs.xml +vendor/etc/media_codecs_blair.xml +vendor/etc/media_codecs_blair_lite.xml +vendor/etc/media_codecs_holi.xml +vendor/etc/media_codecs_performance.xml +vendor/etc/media_codecs_performance_blair.xml +vendor/etc/media_codecs_performance_blair_lite.xml +vendor/etc/media_codecs_performance_holi.xml +vendor/etc/media_profiles.xml +vendor/etc/media_profiles_V1_0.xml +vendor/etc/media_profiles_blair.xml +vendor/etc/media_profiles_blair_lite.xml +vendor/etc/media_profiles_holi.xml vendor/etc/video_system_specs.json vendor/etc/seccomp_policy/codec2.vendor.base-arm.policy vendor/etc/seccomp_policy/codec2.vendor.ext-arm.policy +vendor/etc/vintf/manifest/c2_manifest_vendor.xml vendor/lib/libqcodec2_base.so vendor/lib/libqcodec2_basecodec.so vendor/lib/libqcodec2_core.so @@ -912,125 +1338,29 @@ vendor/lib/libqcodec2_hooks.so vendor/lib/libqcodec2_platform.so vendor/lib/libqcodec2_utils.so vendor/lib/libqcodec2_v4l2codec.so -vendor/lib64/libmmosal.so +vendor/lib64/libmmosal.so;MODULE_SUFFIX=_vendor -# Neural networks -vendor/bin/hw/android.hardware.neuralnetworks@1.3-service-qti -vendor/etc/init/android.hardware.neuralnetworks@1.3-service-qti.rc --vendor/etc/vintf/manifest/android.hardware.neuralnetworks@1.3-service-qti.xml -vendor/lib64/unnhal-acc-common.so -vendor/lib64/unnhal-acc-gpu.so +# Native public libraries +vendor/etc/public.libraries.txt -# NFC -vendor/bin/STFlashTool -vendor/etc/libese-nxp.conf -vendor/etc/libnfc-hal-st.conf -vendor/etc/libnfc-nci.conf +# NFC - from DE2117_11.C.37 +odm/etc/nfc/libnfc-nci.conf_20818:vendor/etc/libnfc-nci.conf|ec1d66cb7fb1a03a99270f9b893de7ee586f7972|af0df368c0edd9272ec1265f7144d4b09e20c41b +odm/etc/nfc/libnfc-st21h_conf.txt_20818:vendor/etc/libnfc-st21h_conf.txt|f69535ba7cc30b8fc7f30d7db895233c77430ace +odm/etc/nfc/nfc_conf_ref|d3f90262a5762117e519dd55361b8d7742bfb764 +odm/etc/nfc/nfc_fw_ref|525f3232cbf9ef8d26e89fcc6bc42b9eee03f92c +odm/etc/nfc/st21nfc_fw.bin_st21h:vendor/firmware/st21nfc_fw.bin|3375e15716e356a2580e4c8828833f442669e586 +odm/etc/nfc/st21nfc_fw7.bin_st21h:vendor/firmware/st21nfc_fw7.bin|e857d4139163e8a16ae9d0b616e731d3441deda4 -# NFC configs -vendor/etc/libnfc-mtp-SN100.conf -vendor/etc/libnfc-mtp-SN100_38_4MHZ.conf - -# NFC firmware -vendor/lib/libsn100u_fw.so -vendor/firmware/st21nfc_fw.bin -vendor/firmware/st21nfc_fw7.bin - -# ODM feature list -odm/etc/odm_feature_list - -# OMX -vendor/lib/libAlacSwDec.so -vendor/lib/libApeSwDec.so -vendor/lib/libdsd2pcm.so -vendor/lib/libFlacSwDec.so -vendor/lib/libOmxAacDec.so -vendor/lib/libOmxAlacDec.so -vendor/lib/libOmxAlacDecSw.so -vendor/lib/libOmxAmrDec.so -vendor/lib/libOmxAmrwbplusDec.so -vendor/lib/libOmxApeDec.so -vendor/lib/libOmxApeDecSw.so -vendor/lib/libOmxDsdDec.so -vendor/lib/libOmxEvrcDec.so -vendor/lib/libOmxG711Dec.so -vendor/lib/libOmxMpeghDecSw.so -vendor/lib/libOmxMpeghEncSw.so -vendor/lib/libOmxQcelp13Dec.so -vendor/lib/libOmxVideoDSMode.so -vendor/lib/libOmxWmaDec.so -vendor/lib64/libAlacSwDec.so -vendor/lib64/libApeSwDec.so -vendor/lib64/libFlacSwDec.so -vendor/lib64/libOmxAacDec.so -vendor/lib64/libOmxAlacDec.so -vendor/lib64/libOmxAlacDecSw.so -vendor/lib64/libOmxAmrDec.so -vendor/lib64/libOmxAmrwbplusDec.so -vendor/lib64/libOmxApeDec.so -vendor/lib64/libOmxApeDecSw.so -vendor/lib64/libOmxEvrcDec.so -vendor/lib64/libOmxG711Dec.so -vendor/lib64/libOmxMpeghEncSw.so -vendor/lib64/libOmxQcelp13Dec.so -vendor/lib64/libOmxWmaDec.so - -# OPFeature -vendor/bin/opf-service -vendor/etc/init/init.opf.rc +# PASR +vendor/lib64/vendor.qti.memory.pasrmanager@1.0.so +vendor/lib64/vendor.qti.memory.pasrmanager@1.1.so # Peripheral manager vendor/bin/pm-proxy vendor/bin/pm-service vendor/lib64/libperipheral_client.so -# Perf -vendor/bin/hw/vendor.qti.hardware.perf@2.2-service -vendor/etc/init/vendor.qti.hardware.perf@2.2-service.rc -vendor/etc/perf/commonresourceconfigs.xml -vendor/etc/perf/perfboostsconfig.xml -vendor/etc/perf/perfconfigstore.xml -vendor/etc/perf/targetconfig.xml -vendor/etc/perf/targetresourceconfigs.xml -vendor/etc/powerhint.xml -vendor/lib/libperfconfig.so -vendor/lib/libperfgluelayer.so -vendor/lib/libperfioctl.so -vendor/lib/libqti-perfd-client.so -vendor/lib/libqti-perfd.so -vendor/lib/libqti-util.so -vendor/lib/libqti-utils.so -vendor/lib64/liblearningmodule.so -vendor/lib64/libmeters.so -vendor/lib64/libperfconfig.so -vendor/lib64/libperfgluelayer.so -vendor/lib64/libperfioctl.so -vendor/lib64/libqti-perfd-client.so -vendor/lib64/libqti-perfd.so -vendor/lib64/libqti-util.so -vendor/lib64/libqti-utils.so - -# Perf LM -vendor/etc/lm/prekill/prekill_2GB.data -vendor/etc/lm/prekill/prekill_4GB.data -vendor/etc/lm/prekill/prekill_6GB.data -vendor/etc/lm/AdaptLaunchFeature.xml -vendor/etc/lm/AppClassifierFeature.xml -vendor/etc/lm/GameOptimizationFeature.xml -vendor/etc/lm/PreKillFeature.xml -vendor/etc/lm/sPLHFeature.xml -vendor/lib64/libadaptlaunch.so -vendor/lib64/libappclassifier.so -vendor/lib64/libgameoptfeature.so -vendor/lib64/liblmutils-ns.so -vendor/lib64/libmemperfd.so -vendor/lib64/libmeters-ns.so -vendor/lib64/libprekill.so -vendor/lib64/libsplh.so - # Power-off alarm --product/app/PowerOffAlarm/PowerOffAlarm.apk|b0e06d00af3ecf65284788169a5333c2f56a1823 -system_ext/framework/vendor.qti.hardware.alarm-V1.0-java.jar vendor/bin/hw/vendor.qti.hardware.alarm@1.0-service vendor/bin/power_off_alarm vendor/etc/init/vendor.qti.hardware.alarm@1.0-service.rc @@ -1056,7 +1386,6 @@ vendor/lib/libdiag.so vendor/lib/libdsi_netctrl.so vendor/lib/libdsutils.so vendor/lib/libidl.so -vendor/lib/libqcci_legacy.so vendor/lib/libqcmaputils.so vendor/lib/libqdi.so vendor/lib/libqdp.so @@ -1067,12 +1396,12 @@ vendor/lib/libqmi_client_qmux.so vendor/lib/libqmi_common_so.so vendor/lib/libqmi_csi.so vendor/lib/libqmi_encdec.so +vendor/lib/libqmi_legacy.so vendor/lib/libqmiservices.so vendor/lib64/libdiag.so vendor/lib64/libdsi_netctrl.so vendor/lib64/libdsutils.so vendor/lib64/libidl.so -vendor/lib64/libqcci_legacy.so vendor/lib64/libqcmaputils.so vendor/lib64/libqdi.so vendor/lib64/libqdp.so @@ -1083,74 +1412,88 @@ vendor/lib64/libqmi_client_qmux.so vendor/lib64/libqmi_common_so.so vendor/lib64/libqmi_csi.so vendor/lib64/libqmi_encdec.so +vendor/lib64/libqmi_legacy.so vendor/lib64/libqmiservices.so # QSPM vendor/bin/vendor.qti.qspmhal@1.0-service vendor/etc/init/vendor.qti.qspmhal@1.0-service.rc vendor/etc/seccomp_policy/qspm.policy +vendor/lib/vendor.qti.qspmhal@1.0-impl.so +vendor/lib/vendor.qti.qspmhal@1.0.so vendor/lib64/vendor.qti.qspmhal@1.0-impl.so vendor/lib64/vendor.qti.qspmhal@1.0.so # QTI service tracker vendor/bin/hw/vendor.qti.hardware.servicetracker@1.2-service vendor/etc/init/vendor.qti.hardware.servicetracker@1.2-service.rc --vendor/etc/vintf/manifest/vendor.qti.hardware.servicetracker@1.2-service.xml +vendor/etc/vintf/manifest/vendor.qti.hardware.servicetracker@1.2-service.xml vendor/lib64/hw/vendor.qti.hardware.servicetracker@1.2-impl.so # RIL --system/framework/qcnvitems.jar --system_ext/app/QtiTelephonyService/QtiTelephonyService.apk +odm/lib64/vendor.oplus.hardware.appradio@1.0.so +odm/lib64/vendor.oplus.hardware.ims@1.0.so +odm/lib64/vendor.oplus.hardware.radio@1.0.so +system_ext/app/QtiTelephonyService/QtiTelephonyService.apk system_ext/etc/permissions/qcrilhook.xml system_ext/etc/permissions/qti_libpermissions.xml system_ext/etc/permissions/qti_permissions.xml -system_ext/etc/permissions/telephonyservice.xml system_ext/framework/qcrilhook.jar --system_ext/priv-app/qcrilmsgtunnel/qcrilmsgtunnel.apk --vendor/app/IWlanService/IWlanService.apk +system_ext/priv-app/qcrilmsgtunnel/qcrilmsgtunnel.apk +vendor/app/IWlanService/IWlanService.apk vendor/bin/hw/qcrilNrd -vendor/bin/hw/vendor.oneplus.hardware.param@1.0-service vendor/bin/adpl -vendor/bin/ATFWD-daemon vendor/bin/ks vendor/bin/netmgrd vendor/bin/pd-mapper vendor/bin/port-bridge -vendor/bin/qrtr-cfg -vendor/bin/qrtr-lookup vendor/bin/qrtr-ns vendor/bin/qti vendor/bin/rmt_storage +vendor/bin/shsusrd vendor/bin/ssgqmigd vendor/bin/ssgtzd vendor/bin/tftp_server vendor/etc/data/dsi_config.xml vendor/etc/data/netmgr_config.xml -vendor/etc/ssg/ta_config.json -vendor/etc/ssg/tz_whitelist.json vendor/etc/init/dataadpl.rc vendor/etc/init/dataqti.rc vendor/etc/init/init-qcril-data.rc vendor/etc/init/netmgrd.rc vendor/etc/init/port-bridge.rc vendor/etc/init/qcrilNrd.rc +vendor/etc/init/shsusrd.rc vendor/etc/init/ssgtzd.rc -vendor/etc/init/vendor.oneplus.hardware.param@1.0-service.rc vendor/etc/init/vendor.qti.rmt_storage.rc vendor/etc/init/vendor.qti.tftp.rc -vendor/etc/qcril_database/qcrilNr.db -vendor/etc/qcril_database/upgrade/config/6.0_config.sql -vendor/etc/qcril_database/upgrade/config/7.0_config.sql -vendor/etc/qcril_database/upgrade/other/0_initial_qcrilnr.sql -vendor/etc/qcril_database/upgrade/other/1_version_intro_qcrilnr.sql -vendor/etc/qcril_database/upgrade/other/2_version_add_wps_config_qcrilnr.sql -vendor/etc/qcril_database/upgrade/other/3_version_update_wps_config_qcrilnr.sql -vendor/etc/qcril_database/upgrade/other/4_version_update_ecc_table_qcrilnr.sql -vendor/etc/qcril_database/upgrade/other/5_version_update_ecc_table_qcrilnr.sql -vendor/etc/qcril_database/upgrade/other/6_version_change_property_table_qcrilnr.sql -vendor/etc/qcril_database/upgrade/other/7_version_update_ecc_table_qcrilnr.sql -vendor/etc/seccomp_policy/atfwd@2.0.policy +vendor/etc/qcril_database/upgrade/config/10.0_config.sql;FILEGROUP=proprietary_rildb_config_sql_files +vendor/etc/qcril_database/upgrade/config/11.0_config.sql;FILEGROUP=proprietary_rildb_config_sql_files +vendor/etc/qcril_database/upgrade/config/12.0_config.sql;FILEGROUP=proprietary_rildb_config_sql_files +vendor/etc/qcril_database/upgrade/config/13.0_config.sql;FILEGROUP=proprietary_rildb_config_sql_files +vendor/etc/qcril_database/upgrade/config/14.0_config.sql;FILEGROUP=proprietary_rildb_config_sql_files +vendor/etc/qcril_database/upgrade/config/6.0_config.sql;FILEGROUP=proprietary_rildb_config_sql_files +vendor/etc/qcril_database/upgrade/config/7.0_config.sql;FILEGROUP=proprietary_rildb_config_sql_files +vendor/etc/qcril_database/upgrade/config/8.0_config.sql;FILEGROUP=proprietary_rildb_config_sql_files +vendor/etc/qcril_database/upgrade/config/9.0_config.sql;FILEGROUP=proprietary_rildb_config_sql_files +vendor/etc/qcril_database/upgrade/other/0_initial_qcrilnr.sql;FILEGROUP=proprietary_rildb_other_sql_files +vendor/etc/qcril_database/upgrade/other/10_version_update_ecc_table.sql;FILEGROUP=proprietary_rildb_other_sql_files +vendor/etc/qcril_database/upgrade/other/11_version_update_ecc_table.sql;FILEGROUP=proprietary_rildb_other_sql_files +vendor/etc/qcril_database/upgrade/other/12_version_update_ecc_table.sql;FILEGROUP=proprietary_rildb_other_sql_files +vendor/etc/qcril_database/upgrade/other/1_version_intro_qcrilnr.sql;FILEGROUP=proprietary_rildb_other_sql_files +vendor/etc/qcril_database/upgrade/other/2_version_add_wps_config_qcrilnr.sql;FILEGROUP=proprietary_rildb_other_sql_files +vendor/etc/qcril_database/upgrade/other/3_version_update_wps_config_qcrilnr.sql;FILEGROUP=proprietary_rildb_other_sql_files +vendor/etc/qcril_database/upgrade/other/4_version_update_ecc_table_qcrilnr.sql;FILEGROUP=proprietary_rildb_other_sql_files +vendor/etc/qcril_database/upgrade/other/5_version_update_ecc_table_qcrilnr.sql;FILEGROUP=proprietary_rildb_other_sql_files +vendor/etc/qcril_database/upgrade/other/6_version_change_property_table_qcrilnr.sql;FILEGROUP=proprietary_rildb_other_sql_files +vendor/etc/qcril_database/upgrade/other/7_version_update_ecc_table_qcrilnr.sql;FILEGROUP=proprietary_rildb_other_sql_files +vendor/etc/qcril_database/upgrade/other/8_version_update_ecc_table.sql;FILEGROUP=proprietary_rildb_other_sql_files +vendor/etc/qcril_database/upgrade/other/9_version_update_ecc_table.sql;FILEGROUP=proprietary_rildb_other_sql_files vendor/etc/seccomp_policy/qcrilnr@2.0.policy +vendor/etc/ssg/ta_config.json +vendor/etc/ssg/tz_whitelist.json +vendor/lib/libconfigdb.so +vendor/lib/libmdmdetect.so +vendor/lib/libnetmgr.so vendor/lib64/deviceInfoServiceModuleNr.so vendor/lib64/libconfigdb.so vendor/lib64/liblqe.so @@ -1161,37 +1504,33 @@ vendor/lib64/libnetmgr_common.so vendor/lib64/libnetmgr_nr_fusion.so vendor/lib64/libnetmgr_rmnet_ext.so vendor/lib64/libnlnetmgr.so -vendor/lib64/libopf.so -vendor/lib64/libparam_vendor.so vendor/lib64/libpdmapper.so vendor/lib64/libpdnotifier.so vendor/lib64/libqcbor.so -vendor/lib64/libqcrildatactl.so vendor/lib64/libqcrilNr.so vendor/lib64/libqcrilNrFramework.so vendor/lib64/libqcrilNrLogger.so vendor/lib64/libqcrilNrQtiBus.so vendor/lib64/libqcrilNrQtiMutex.so +vendor/lib64/libqcrildatactl.so vendor/lib64/libqrtr.so vendor/lib64/libqrtrclient.so vendor/lib64/libqsocket.so vendor/lib64/libril-db.so vendor/lib64/libril-qc-ltedirectdisc.so vendor/lib64/libril-qc-radioconfig.so -vendor/lib64/libril-qcril-hook-oem.so vendor/lib64/librilqmimiscservices.so vendor/lib64/librilqmiservices.so vendor/lib64/libsystem_health_mon.so -vendor/lib64/qcrild_libqcrilnrutils.so vendor/lib64/qcrilMarshal.so +vendor/lib64/qcrild_libqcrilnrutils.so vendor/lib64/qtiril-utils.so vendor/lib64/qtiwakelock.so -vendor/lib64/vendor.oneplus.hardware.param@1.0.so vendor/lib64/vendor.qti.hardware.radio.am@1.0.so -vendor/lib64/vendor.qti.hardware.radio.atcmdfwd@1.0.so vendor/lib64/vendor.qti.hardware.radio.internal.deviceinfo@1.0.so vendor/lib64/vendor.qti.hardware.radio.lpa@1.0.so vendor/lib64/vendor.qti.hardware.radio.lpa@1.1.so +vendor/lib64/vendor.qti.hardware.radio.lpa@1.2.so vendor/lib64/vendor.qti.hardware.radio.qcrilhook@1.0.so vendor/lib64/vendor.qti.hardware.radio.qtiradio@1.0.so vendor/lib64/vendor.qti.hardware.radio.qtiradio@2.0.so @@ -1200,6 +1539,8 @@ vendor/lib64/vendor.qti.hardware.radio.qtiradio@2.2.so vendor/lib64/vendor.qti.hardware.radio.qtiradio@2.3.so vendor/lib64/vendor.qti.hardware.radio.qtiradio@2.4.so vendor/lib64/vendor.qti.hardware.radio.qtiradio@2.5.so +vendor/lib64/vendor.qti.hardware.radio.qtiradio@2.6.so +vendor/lib64/vendor.qti.hardware.radio.qtiradio@2.7.so vendor/lib64/vendor.qti.hardware.radio.uim@1.0.so vendor/lib64/vendor.qti.hardware.radio.uim@1.1.so vendor/lib64/vendor.qti.hardware.radio.uim@1.2.so @@ -1208,7 +1549,22 @@ vendor/lib64/vendor.qti.hardware.radio.uim_remote_client@1.1.so vendor/lib64/vendor.qti.hardware.radio.uim_remote_client@1.2.so vendor/lib64/vendor.qti.hardware.radio.uim_remote_server@1.0.so +# Sensors - from DE2117_11.C.37 +odm/etc/sensor/config/alsps.json|637ccbc1d44b97e52c25cf89c38eb23add3e7cfc +odm/etc/sensor/config/holi_alsps.json|373fcdf0c181fc4857766172a85907a1b5a42867 +odm/etc/sensor/config/holi_bmi26x_0.json|9b32a305c4d9e6b64e7c31bac128adcda83c2ff8 +odm/etc/sensor/config/holi_bmp380.json|c51bb798045fa1a0096aba4dda13112656d94eee +odm/etc/sensor/config/holi_lps22hb.json|548fcebf0ee7643d9c5da91ec5bef93c7f86b5af +odm/etc/sensor/config/holi_lsm6ds3c_0.json|fee2715461da218fa03aa5c0be0da4a6a2e7e390 +odm/etc/sensor/config/holi_mmc56x3x_0.json|6443e3b9585405e58c84b25962634b885c251acd +odm/etc/sensor/config/holi_sx932x.json|6b639662418307e2f9bc3786d32177877c5c2108 +odm/etc/sensor/config/holi_sx932x_down.json|0e1c9f24dbeceece0e27c0936e969d01e1775fff +odm/etc/sensor/sensor_config.json|399d44fdecf04893db2196ad8d3b8ae31585f2b7 +odm/etc/sensor.cfg|207b9d69dfba90c8a331ad58992f1475b66ba0eb + # Sensors +odm/bin/oplus_sensor_fb +odm/lib64/liboplus_service.so vendor/bin/hw/vendor.qti.hardware.sensorscalibrate@1.0-service vendor/bin/init.qcom.sensors.sh vendor/bin/sensors.qti @@ -1218,26 +1574,16 @@ vendor/etc/init/vendor.qti.hardware.sensorscalibrate@1.0-service.rc vendor/etc/init/vendor.sensors.qti.rc vendor/etc/init/vendor.sensors.sscrpcd.rc vendor/etc/permissions/vendor-qti-hardware-sensorscalibrate.xml -vendor/etc/sensors/config/alsps.json vendor/etc/sensors/config/holi_ak991x_0.json -vendor/etc/sensors/config/holi_alsps.json -vendor/etc/sensors/config/holi_bmi26x_0.json -vendor/etc/sensors/config/holi_bmp380.json vendor/etc/sensors/config/holi_bu52053nvx_0.json vendor/etc/sensors/config/holi_default_sensors.json vendor/etc/sensors/config/holi_dynamic_sensors.json vendor/etc/sensors/config/holi_icp101xx_0.json -vendor/etc/sensors/config/holi_lps22hb.json -vendor/etc/sensors/config/holi_lps22hh_0.json -vendor/etc/sensors/config/holi_lsm6ds3c_0.json vendor/etc/sensors/config/holi_lsm6dst_0.json -vendor/etc/sensors/config/holi_mmc56x3x_0.json vendor/etc/sensors/config/holi_power_0.json vendor/etc/sensors/config/holi_qrd_ak991x_0.json vendor/etc/sensors/config/holi_qrd_lsm6dst_0.json vendor/etc/sensors/config/holi_qrd_tmd2725.json -vendor/etc/sensors/config/holi_sx932x_down.json -vendor/etc/sensors/config/holi_sx932x.json vendor/etc/sensors/config/holi_tmd2725.json vendor/etc/sensors/config/sns_amd.json vendor/etc/sensors/config/sns_amd_sw_disabled.json @@ -1253,6 +1599,7 @@ vendor/etc/sensors/config/sns_cm.json vendor/etc/sensors/config/sns_dae.json vendor/etc/sensors/config/sns_device_orient.json vendor/etc/sensors/config/sns_diag_filter.json +vendor/etc/sensors/config/sns_direct_channel.json vendor/etc/sensors/config/sns_distance_bound.json vendor/etc/sensors/config/sns_dpc.json vendor/etc/sensors/config/sns_facing.json @@ -1273,71 +1620,68 @@ vendor/etc/sensors/config/sns_tilt_sw_disabled.json vendor/etc/sensors/config/sns_tilt_sw_enabled.json vendor/etc/sensors/config/sns_tilt_to_wake.json vendor/etc/sensors/config/sns_wrist_pedo.json +vendor/etc/sensors/config/strait_ak991x_0.json +vendor/etc/sensors/config/strait_bu52053nvx_0.json +vendor/etc/sensors/config/strait_default_sensors.json +vendor/etc/sensors/config/strait_dynamic_sensors.json +vendor/etc/sensors/config/strait_icp101xx_0.json +vendor/etc/sensors/config/strait_lsm6dst_0.json +vendor/etc/sensors/config/strait_power_0.json +vendor/etc/sensors/config/strait_qrd_ak991x_0.json +vendor/etc/sensors/config/strait_qrd_lsm6dst_0.json +vendor/etc/sensors/config/strait_qrd_tmd2725.json +vendor/etc/sensors/config/strait_tmd2725.json vendor/etc/sensors/proto/descriptor.proto vendor/etc/sensors/proto/nanopb.proto -vendor/etc/sensors/proto/qti_gravity.proto -vendor/etc/sensors/proto/sns_accel_cal.proto vendor/etc/sensors/proto/sns_accel.proto +vendor/etc/sensors/proto/sns_accel_cal.proto vendor/etc/sensors/proto/sns_activity_recognition.proto vendor/etc/sensors/proto/sns_ambient_light.proto vendor/etc/sensors/proto/sns_ambient_temperature.proto vendor/etc/sensors/proto/sns_amd.proto vendor/etc/sensors/proto/sns_aont.proto -vendor/etc/sensors/proto/sns_async_com_port.proto vendor/etc/sensors/proto/sns_basic_gestures.proto vendor/etc/sensors/proto/sns_bring_to_ear.proto vendor/etc/sensors/proto/sns_cal.proto -vendor/etc/sensors/proto/sns_ccd_ttw.proto -vendor/etc/sensors/proto/sns_ccd_walk.proto vendor/etc/sensors/proto/sns_client.proto vendor/etc/sensors/proto/sns_cmc.proto -vendor/etc/sensors/proto/sns_cmd.proto -vendor/etc/sensors/proto/sns_dae.proto -vendor/etc/sensors/proto/sns_data_acquisition_engine.proto vendor/etc/sensors/proto/sns_da_test.proto vendor/etc/sensors/proto/sns_device_mode.proto vendor/etc/sensors/proto/sns_device_orient.proto vendor/etc/sensors/proto/sns_diag.proto vendor/etc/sensors/proto/sns_diag_sensor.proto vendor/etc/sensors/proto/sns_direct_channel.proto -vendor/etc/sensors/proto/sns_distance_bound.proto vendor/etc/sensors/proto/sns_dpc.proto vendor/etc/sensors/proto/sns_ext_svc.proto vendor/etc/sensors/proto/sns_facing.proto vendor/etc/sensors/proto/sns_fmv.proto vendor/etc/sensors/proto/sns_formatter.proto +vendor/etc/sensors/proto/sns_formatter_notify.proto vendor/etc/sensors/proto/sns_fw.proto vendor/etc/sensors/proto/sns_game_rv.proto vendor/etc/sensors/proto/sns_geomag_rv.proto vendor/etc/sensors/proto/sns_gravity.proto -vendor/etc/sensors/proto/sns_gyro_cal.proto vendor/etc/sensors/proto/sns_gyro.proto +vendor/etc/sensors/proto/sns_gyro_cal.proto vendor/etc/sensors/proto/sns_gyro_rot_matrix.proto vendor/etc/sensors/proto/sns_hall.proto vendor/etc/sensors/proto/sns_heart_beat.proto vendor/etc/sensors/proto/sns_heart_rate.proto vendor/etc/sensors/proto/sns_hinge_angle.proto vendor/etc/sensors/proto/sns_humidity.proto -vendor/etc/sensors/proto/sns_interrupt.proto -vendor/etc/sensors/proto/sns_mag_cal.proto vendor/etc/sensors/proto/sns_mag.proto -vendor/etc/sensors/proto/sns_mcmd.proto -vendor/etc/sensors/proto/sns_motion_detect.proto -vendor/etc/sensors/proto/sns_multishake.proto +vendor/etc/sensors/proto/sns_mag_cal.proto vendor/etc/sensors/proto/sns_oem1.proto vendor/etc/sensors/proto/sns_offbody_detect.proto -vendor/etc/sensors/proto/sns_op_motion_detect.proto vendor/etc/sensors/proto/sns_pedometer.proto vendor/etc/sensors/proto/sns_pedometer_wrist.proto vendor/etc/sensors/proto/sns_physical_sensor_test.proto -vendor/etc/sensors/proto/sns_pocket.proto vendor/etc/sensors/proto/sns_pose_6dof.proto vendor/etc/sensors/proto/sns_ppg.proto vendor/etc/sensors/proto/sns_pressure.proto vendor/etc/sensors/proto/sns_proximity.proto vendor/etc/sensors/proto/sns_psmd.proto vendor/etc/sensors/proto/sns_registry.proto -vendor/etc/sensors/proto/sns_remote_proc_state.proto vendor/etc/sensors/proto/sns_resampler.proto vendor/etc/sensors/proto/sns_rgb.proto vendor/etc/sensors/proto/sns_rmd.proto @@ -1345,11 +1689,8 @@ vendor/etc/sensors/proto/sns_rotv.proto vendor/etc/sensors/proto/sns_sar.proto vendor/etc/sensors/proto/sns_sensor_temperature.proto vendor/etc/sensors/proto/sns_sig_motion.proto -vendor/etc/sensors/proto/sns_signal_sensor.proto -vendor/etc/sensors/proto/sns_sim_legacy.proto -vendor/etc/sensors/proto/sns_sim.proto -vendor/etc/sensors/proto/sns_std_event_gated_sensor.proto vendor/etc/sensors/proto/sns_std.proto +vendor/etc/sensors/proto/sns_std_event_gated_sensor.proto vendor/etc/sensors/proto/sns_std_sensor.proto vendor/etc/sensors/proto/sns_std_type.proto vendor/etc/sensors/proto/sns_step_detect.proto @@ -1358,7 +1699,6 @@ vendor/etc/sensors/proto/sns_thermopile.proto vendor/etc/sensors/proto/sns_threshold.proto vendor/etc/sensors/proto/sns_tilt.proto vendor/etc/sensors/proto/sns_tilt_to_wake.proto -vendor/etc/sensors/proto/sns_timer.proto vendor/etc/sensors/proto/sns_ultra_violet.proto vendor/etc/sensors/proto/sns_wrist_tilt_gesture.proto vendor/etc/sensors/hals.conf @@ -1378,7 +1718,7 @@ vendor/lib64/vendor.qti.hardware.sensorscalibrate@1.0.so # Snapdragon Computer Vision Engine vendor/lib/libfastcvdsp_stub.so --vendor/lib/libfastcvopt.so +vendor/lib/libfastcvopt.so vendor/lib/libscveCommon.so vendor/lib/libscveCommon_stub.so vendor/lib/libscveObjectSegmentation.so @@ -1386,7 +1726,7 @@ vendor/lib/libscveObjectSegmentation_stub.so vendor/lib/libscveObjectTracker.so vendor/lib/libscveObjectTracker_stub.so vendor/lib64/libfastcvdsp_stub.so --vendor/lib64/libfastcvopt.so +vendor/lib64/libfastcvopt.so vendor/lib64/libscveCommon.so vendor/lib64/libscveCommon_stub.so vendor/lib64/libscveObjectSegmentation.so @@ -1402,20 +1742,29 @@ vendor/lib64/vendor.qti.hardware.soter@1.0.so # Thermal engine vendor/bin/thermal-engine +vendor/etc/init/init_thermal-engine.rc vendor/etc/thermal-engine.conf --vendor/lib/libthermalclient.so --vendor/lib64/libthermalclient.so +vendor/lib/libthermalclient.so +vendor/lib64/libthermalclient.so # Time services --vendor/app/TimeService/TimeService.apk +vendor/app/TimeService/TimeService.apk vendor/bin/time_daemon vendor/etc/init/init.time_daemon.rc vendor/lib64/libtime_genoff.so -# Touchscreen firmware -vendor/firmware/tp/20818/FW_NF_NT36672C_TIANMA.img -vendor/firmware/tp/20818/FW_NF_NT36672C_TIANMA_TEST.bin -vendor/firmware/tp/20818/LIMIT_NF_NT36672C_TIANMA.img +# Touchscreen firmware - from DE2117_11.C.37 +odm/firmware/tp/133144/FW_NF_ILI7807S_TIANMA.img;SYMLINK=odm/firmware/tp/133180/FW_NF_ILI7807S_TIANMA.img|57128b45ffd464032b07b5bb34b70b760014ac28 +odm/firmware/tp/133144/FW_NF_ILI7807S_TIANMA_FAE.img;SYMLINK=odm/firmware/tp/133180/FW_NF_ILI7807S_TIANMA_FAE.img|a892bebde4c7e5bd1cf1b3925ca8cedba69c401b +odm/firmware/tp/133144/FW_NF_NT36672C_DSJM.img;SYMLINK=odm/firmware/tp/133180/FW_NF_NT36672C_DSJM.img|8f9770d361f9db1f99cc6a00dad189e54a269329 +odm/firmware/tp/133144/FW_NF_NT36672C_DSJM_FAE.img;SYMLINK=odm/firmware/tp/133180/FW_NF_NT36672C_DSJM_FAE.img|bcec89af4c6a3f5d93f41c9522db1adf828eedd1 +odm/firmware/tp/133144/FW_NF_NT36672C_DSJM_TEST.bin;SYMLINK=odm/firmware/tp/133180/FW_NF_NT36672C_DSJM_TEST.bin|251543cda1adf0237adc324ee3bf566abfae6f4c +odm/firmware/tp/133144/FW_NF_NT36672C_TIANMA.img;SYMLINK=odm/firmware/tp/133180/FW_NF_NT36672C_TIANMA.img|f191bb5f958e72270a99eae768c4a495ecc6915f +odm/firmware/tp/133144/FW_NF_NT36672C_TIANMA_FAE.img;SYMLINK=odm/firmware/tp/133180/FW_NF_NT36672C_TIANMA_FAE.img|de808ee5bce21e8dd230aea480a45d5a4f58701b +odm/firmware/tp/133144/FW_NF_NT36672C_TIANMA_TEST.bin;SYMLINK=odm/firmware/tp/133180/FW_NF_NT36672C_TIANMA_TEST.bin|8241bb846f9ba408c1b43719acd08c440213d55a +odm/firmware/tp/133144/LIMIT_NF_ILI7807S_TIANMA.img;SYMLINK=odm/firmware/tp/133180/LIMIT_NF_ILI7807S_TIANMA.img|f96221079feac750ffbf69014efd4beb7fcec23d +odm/firmware/tp/133144/LIMIT_NF_NT36672C_DSJM.img;SYMLINK=odm/firmware/tp/133180/LIMIT_NF_NT36672C_DSJM.img|a890add4044670b3b7ca4eb95c8bcf8d95e56734 +odm/firmware/tp/133144/LIMIT_NF_NT36672C_TIANMA.img;SYMLINK=odm/firmware/tp/133180/LIMIT_NF_NT36672C_TIANMA.img|2063ed914d8a918e15dc62cf0af2df8942f22079 # Trusted Execution Environment connector vendor/bin/hw/vendor.qti.hardware.qteeconnector@1.0-service @@ -1423,6 +1772,7 @@ vendor/etc/init/vendor.qti.hardware.qteeconnector@1.0-service.rc vendor/lib64/hw/vendor.qti.hardware.qteeconnector@1.0-impl.so vendor/lib64/libGPQTEEC_vendor.so vendor/lib64/libGPTEE_vendor.so +vendor/lib64/libQTEEConnector_listener.so vendor/lib64/libQTEEConnector_vendor.so vendor/lib64/vendor.qti.hardware.qteeconnector@1.0.so @@ -1431,104 +1781,82 @@ vendor/bin/hw/vendor.qti.hardware.tui_comm@1.0-service-qti vendor/etc/init/vendor.qti.hardware.tui_comm@1.0-service-qti.rc vendor/lib64/vendor.qti.hardware.tui_comm@1.0.so -# Vibrator firmware -vendor/firmware/aw87xxx_pid_5a_fm_0.bin -vendor/firmware/aw87xxx_pid_5a_music_0.bin -vendor/firmware/aw87xxx_pid_5a_off_0.bin -vendor/firmware/aw87xxx_pid_5a_rcv_0.bin -vendor/firmware/aw87xxx_pid_5a_voice_0.bin -vendor/firmware/aw87xxx_vmax_0.bin - # VPP -vendor/lib/vendor.qti.hardware.vpp@1.1.so -vendor/lib/vendor.qti.hardware.vpp@1.2.so -vendor/lib/vendor.qti.hardware.vpp@1.3.so -vendor/lib/vendor.qti.hardware.vpp@2.0.so vendor/lib64/vendor.qti.hardware.vpp@1.1.so vendor/lib64/vendor.qti.hardware.vpp@1.2.so vendor/lib64/vendor.qti.hardware.vpp@1.3.so vendor/lib64/vendor.qti.hardware.vpp@2.0.so -# VPU firmware -vendor/firmware/vpu20_4v.b01 -vendor/firmware/vpu20_4v.b02 -vendor/firmware/vpu20_4v.b03 -vendor/firmware/vpu20_4v.b04 -vendor/firmware/vpu20_4v.b05 -vendor/firmware/vpu20_4v.b06 -vendor/firmware/vpu20_4v.b07 -vendor/firmware/vpu20_4v.b08 -vendor/firmware/vpu20_4v.b09 -vendor/firmware/vpu20_4v.b10 -vendor/firmware/vpu20_4v.b11 -vendor/firmware/vpu20_4v.b12 -vendor/firmware/vpu20_4v.b13 -vendor/firmware/vpu20_4v.b14 -vendor/firmware/vpu20_4v.b15 -vendor/firmware/vpu20_4v.b16 -vendor/firmware/vpu20_4v.b17 -vendor/firmware/vpu20_4v.b18 -vendor/firmware/vpu20_4v.b19 -vendor/firmware/vpu20_4v.mbn -vendor/firmware/vpu20_4v.mdt -vendor/firmware/vpu20_4v_unsigned.mbn +# VPU firmware - from DE2117_11.C.37 +vendor/firmware/vpu20_4v.b01|18d7f096d032f45d2735e49b1753c6ea71c975ac +vendor/firmware/vpu20_4v.b02|f98b37380cc5d3b72541f5ad19d4eb465540e1eb +vendor/firmware/vpu20_4v.b03|7772b18b16e520641e8051fd6284384e9b0e1939 +vendor/firmware/vpu20_4v.b04|3fa13fcee15cc831c0c831ebf01edacc5f0f2bf2 +vendor/firmware/vpu20_4v.b05|f726e7fa233485e02ef6172833d51353627aa81d +vendor/firmware/vpu20_4v.b06|e19854e03b52cc67d7db620f54609b66d1b85f54 +vendor/firmware/vpu20_4v.b07|0b403b94f400e8f76ac5f5f18f6957318ec2a582 +vendor/firmware/vpu20_4v.b08|86a5ed4d22759036806d9321f8e509628f64c5b6 +vendor/firmware/vpu20_4v.b09|39ae290288cab6a550f346eb1f404f9bebe908a7 +vendor/firmware/vpu20_4v.b10|7c1bc6e568d5bdd45b74ca340f590e5eeb0ee62d +vendor/firmware/vpu20_4v.b11|da39a3ee5e6b4b0d3255bfef95601890afd80709 +vendor/firmware/vpu20_4v.b12|da39a3ee5e6b4b0d3255bfef95601890afd80709 +vendor/firmware/vpu20_4v.b13|da39a3ee5e6b4b0d3255bfef95601890afd80709 +vendor/firmware/vpu20_4v.b14|da39a3ee5e6b4b0d3255bfef95601890afd80709 +vendor/firmware/vpu20_4v.b15|da39a3ee5e6b4b0d3255bfef95601890afd80709 +vendor/firmware/vpu20_4v.b16|da39a3ee5e6b4b0d3255bfef95601890afd80709 +vendor/firmware/vpu20_4v.b17|da39a3ee5e6b4b0d3255bfef95601890afd80709 +vendor/firmware/vpu20_4v.b18|da39a3ee5e6b4b0d3255bfef95601890afd80709 +vendor/firmware/vpu20_4v.b19|c1756e0567d10a1173f481cd367ff4637b2dd77f +vendor/firmware/vpu20_4v.mbn|2908604891c8444b5224a2c31e5e7d6e9ea81bf4 +vendor/firmware/vpu20_4v.mdt|d790954d379cf802f464a760f9e76880ef209a94 +vendor/firmware/vpu20_4v_unsigned.mbn|135bbafec880648519a57818f6dcd7d154c97907 # Widevine DRM -vendor/bin/hw/android.hardware.drm@1.3-service.widevine -vendor/etc/init/android.hardware.drm@1.3-service.widevine.rc --vendor/etc/vintf/manifest/manifest_android.hardware.drm@1.3-service.widevine.xml -vendor/lib64/mediadrm/libwvdrmengine.so +odm/bin/hw/android.hardware.drm@1.3-service.widevine +odm/etc/init/android.hardware.drm@1.3-service.widevine.rc +odm/etc/vintf/manifest/manifest_android.hardware.drm@1.3-service.widevine.xml +odm/lib64/mediadrm/libwvdrmengine.so +odm/lib64/liboemcrypto.so +odm/lib64/libwvhidl.so vendor/lib64/libtrustedapploader.so -vendor/lib64/libwvhidl.so # WiFi +odm/vendor/etc/wifi/WCNSS_qcom_cfg.ini +odm/etc/wifi/regdb.bin vendor/bin/cnss-daemon -vendor/etc/wifi/WCNSS_qcom_cfg.ini +vendor/etc/wifi/p2p_supplicant_overlay.conf +vendor/etc/wifi/wpa_supplicant_overlay.conf -# WiFi Display --system/framework/WfdCommon.jar -system_ext/bin/wfdservice -system_ext/etc/init/wfdservice.rc -system_ext/etc/seccomp_policy/wfdservice.policy -system_ext/etc/wfdconfigsink.xml -system_ext/lib/com.qualcomm.qti.wifidisplayhal@1.0.so -system_ext/lib/libmmrtpdecoder.so -system_ext/lib/libmmrtpencoder.so -system_ext/lib/libwfdavenhancements.so -system_ext/lib/libwfdclient.so -system_ext/lib/libwfdcommonutils.so -system_ext/lib/libwfdconfigutils.so -system_ext/lib/libwfddisplayconfig.so -system_ext/lib/libwfdmminterface.so -system_ext/lib/libwfdmmsink.so -system_ext/lib/libwfdmmsrc_system.so -system_ext/lib/libwfdrtsp.so -system_ext/lib/libwfdservice.so -system_ext/lib/libwfdsinksm.so -system_ext/lib/libwfduibcinterface.so -system_ext/lib/libwfduibcsink.so -system_ext/lib/libwfduibcsinkinterface.so -system_ext/lib/libwfduibcsrc.so -system_ext/lib/libwfduibcsrcinterface.so -system_ext/lib/vendor.qti.hardware.wifidisplaysession@1.0.so -system_ext/lib64/libmmparser_lite.so -system_ext/lib64/libmmrtpdecoder.so -system_ext/lib64/libmmrtpencoder.so -system_ext/lib64/libwfdclient.so -system_ext/lib64/libwfdcommonutils.so -system_ext/lib64/libwfdconfigutils.so -system_ext/lib64/libwfddisplayconfig.so -system_ext/lib64/libwfdmminterface.so -system_ext/lib64/libwfdmmsink.so -system_ext/lib64/libwfdnative.so -system_ext/lib64/libwfdrtsp.so -system_ext/lib64/libwfdsinksm.so -system_ext/lib64/libwfduibcinterface.so -system_ext/lib64/libwfduibcsink.so -system_ext/lib64/libwfduibcsinkinterface.so -system_ext/lib64/libwfduibcsrc.so -system_ext/lib64/libwfduibcsrcinterface.so --system_ext/priv-app/WfdService/WfdService.apk +# WiFi Display (system) - from dada OS2.0.217.0.WOCMIXM +system/framework/WfdCommon.jar;BOOT_JAR|76fab5ed43206989057284fa26e8b894f1da102f +system_ext/bin/wfdservice64:system_ext/bin/wfdservice|34851904d02d11d3cfebbc7b8745a9444ba3e7c5 +system_ext/etc/init/wfdservice.rc|907def8565d8f91f531ca7dfad880af05d540b0c +system_ext/etc/permissions/wfd-system-ext-privapp-permissions-qti.xml|6669d5ee462c981663b8ac573d84d334e4eed96c +system_ext/etc/seccomp_policy/wfdservice64.policy|1e331272649395423b11c575892e0bdc9433b820 +system_ext/lib64/libmmrtpdecoder.so|8b143c0b004a2f5ab8d7911dd463de0ceea794e7 +system_ext/lib64/libmmrtpencoder.so|eef3f64e6c2892fc0c87e176f5a83f7fe07761d3 +system_ext/lib64/libwfdavenhancements.so|8c968c6930e44901ef8c6abd6356f2308600d90e +system_ext/lib64/libwfdclient.so|2d1bf9b010ecfb8532eaf6a12c8bf60f9e8ffe08 +system_ext/lib64/libwfdcommonutils.so|3ae375016a9551e51f26710e8b07d20eeef2b76f +system_ext/lib64/libwfdconfigutils.so|4d8200cc4c455f54fcbce927f5cabeb7b591f5d0 +system_ext/lib64/libwfddisplayconfig.so|27f5d6e284edf05cc7776e5be010912973000ab9 +system_ext/lib64/libwfdmminterface.so|8d3d493fef797aef2feaab4e09e50250ddf5dc9a +system_ext/lib64/libwfdmmsink.so|4569ce9941eb5d06db599146ed80b8a32d7cd97f +system_ext/lib64/libwfdmmsrc_system.so|0cc970954800566baddbf760b153b027940180f5 +system_ext/lib64/libwfdnative.so;SYMLINK=system_ext/priv-app/WfdService/lib/arm64/libwfdnative.so|9513bbbd813dd05fb063d3c9e72640a1bc9156c2|f2918bbd8e4c691299e840863e8cb502a47bb773 +system_ext/lib64/libwfdrtsp.so|1ab4fc5b75d25f551df3593d5856e6f7893a4176 +system_ext/lib64/libwfdservice.so|af0e31f17ed997a5d8bad64cdad486be28cb9f07 +system_ext/lib64/libwfdsinksm.so|cc899b719fa11d844c65908d7fdc18600451324d +system_ext/lib64/libwfduibcinterface.so|432d54b072d8f1c80409b6e11f4f833ca9576937 +system_ext/lib64/libwfduibcsink.so|d12b05bbcefdff6addc2c31567a656b7540d7489 +system_ext/lib64/libwfduibcsinkinterface.so|a41b4d1fa4307a247b1f059a5b5cdf7f6a645db3 +system_ext/lib64/libwfduibcsrc.so|5be7d282be9ab45297bd030f8e37a45f48aa8677 +system_ext/lib64/libwfduibcsrcinterface.so|0e32acc87c8518e8ebb44f6ef341a2e278e1e7c2 +system_ext/lib64/vendor.qti.hardware.wifidisplaysession@1.0.so|2b2563450ad6a8d46d5648b97f63f87c5d9983ca +system_ext/lib64/vendor.qti.hardware.wifidisplaysession_aidl-V1-ndk.so|58cd9358df40aa16ddf0e603b736c58588623b9e +system_ext/priv-app/WfdService/WfdService.apk|b8a1d9f83804d274fab6e09e0607082801207f60 + +# WiFi Display (vendor) vendor/bin/wfdhdcphalservice vendor/bin/wfdvndservice vendor/bin/wifidisplayhalservice @@ -1541,7 +1869,7 @@ vendor/etc/seccomp_policy/wifidisplayhalservice.policy vendor/etc/wfdconfig.xml vendor/lib/libFileMux_proprietary.so vendor/lib/libmm-hdcpmgr.so -vendor/lib/libmmosal.so +vendor/lib/libmmosal.so;MODULE_SUFFIX=_vendor vendor/lib/libmmrtpdecoder_proprietary.so vendor/lib/libmmrtpencoder_proprietary.so vendor/lib/libwfdcodecv4l2_proprietary.so @@ -1564,5 +1892,5 @@ vendor/lib/libwfduibcsinkinterface_proprietary.so vendor/lib/libwfduibcsrc_proprietary.so vendor/lib/libwfduibcsrcinterface_proprietary.so vendor/lib/libwfdutils_proprietary.so -vendor/lib/vendor.qti.hardware.wifidisplaysession@1.0.so +vendor/lib/vendor.qti.hardware.wifidisplaysession@1.0.so;MODULE_SUFFIX=_vendor vendor/lib/vendor.qti.hardware.wifidisplaysessionl@1.0-halimpl.so diff --git a/qcril-database/Android.bp b/qcril-database/Android.bp new file mode 100644 index 0000000..9db5fc7 --- /dev/null +++ b/qcril-database/Android.bp @@ -0,0 +1,37 @@ +// +// SPDX-FileCopyrightText: 2025 The LineageOS Project +// SPDX-License-Identifier: Apache-2.0 +// + +filegroup { + name: "rildb_config_sql_files", + srcs: [ + "config/14.1_config.sql", + ], +} + +genrule { + name: "qcril_config_database", + enabled: true, + srcs: [ + "//vendor/oneplus/dre:proprietary_rildb_other_sql_files", + "//vendor/oneplus/dre:proprietary_rildb_config_sql_files", + ":rildb_config_sql_files", + ], + tools: [ + "generate_qcril_db", + ], + cmd: "$(location generate_qcril_db) $(out) $(in)", + out: ["qcrilNr.db"], +} + +prebuilt_etc { + name: "qcrilNrDb_vendor", + filename: "qcrilNr.db", + src: ":qcril_config_database", + relative_install_path: "qcril_database", + vendor: true, + required: [ + "14.1_config.sql", + ], +} diff --git a/qcril-database/config/14.1_config.sql b/qcril-database/config/14.1_config.sql new file mode 100644 index 0000000..21b1532 --- /dev/null +++ b/qcril-database/config/14.1_config.sql @@ -0,0 +1,8 @@ +/* + Copyright (C) 2025 The LineageOS Project + SPDX-License-Identifier: Apache-2.0 +*/ + +CREATE TABLE IF NOT EXISTS qcril_properties_table (property TEXT PRIMARY KEY NOT NULL, def_val TEXT, value TEXT); +INSERT OR REPLACE INTO qcril_properties_table(property, def_val) VALUES('qcrildb_version',14.1); +UPDATE qcril_properties_table SET def_val="0" WHERE property="persist.vendor.radio.poweron_opt"; diff --git a/qcril-database/config/Android.bp b/qcril-database/config/Android.bp new file mode 100644 index 0000000..341bc01 --- /dev/null +++ b/qcril-database/config/Android.bp @@ -0,0 +1,11 @@ +// +// SPDX-FileCopyrightText: 2025 The LineageOS Project +// SPDX-License-Identifier: Apache-2.0 +// + +prebuilt_etc { + name: "14.1_config.sql", + src: "14.1_config.sql", + relative_install_path: "qcril_database/upgrade/config", + vendor: true, +} diff --git a/rootdir/Android.mk b/rootdir/Android.mk deleted file mode 100644 index c8812c7..0000000 --- a/rootdir/Android.mk +++ /dev/null @@ -1,269 +0,0 @@ -LOCAL_PATH := $(call my-dir) - -include $(CLEAR_VARS) -LOCAL_MODULE := charger_fstab.qti -LOCAL_MODULE_TAGS := optional -LOCAL_MODULE_CLASS := ETC -LOCAL_SRC_FILES := etc/charger_fstab.qti -LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC) -include $(BUILD_PREBUILT) - -include $(CLEAR_VARS) -LOCAL_MODULE := fstab.qcom -LOCAL_MODULE_TAGS := optional -LOCAL_MODULE_CLASS := ETC -LOCAL_SRC_FILES := etc/fstab.qcom -LOCAL_REQUIRED_MODULES := fstab.qcom.first_stage_ramdisk -LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC) -include $(BUILD_PREBUILT) - -include $(CLEAR_VARS) -LOCAL_MODULE := fstab.qcom.first_stage_ramdisk -LOCAL_MODULE_STEM := fstab.qcom -LOCAL_MODULE_TAGS := optional -LOCAL_MODULE_CLASS := ETC -LOCAL_SRC_FILES := etc/fstab.qcom -LOCAL_MODULE_PATH := $(TARGET_VENDOR_RAMDISK_OUT)/first_stage_ramdisk -include $(BUILD_PREBUILT) - -include $(CLEAR_VARS) -LOCAL_MODULE := init.class_main.sh -LOCAL_MODULE_TAGS := optional -LOCAL_MODULE_CLASS := ETC -LOCAL_SRC_FILES := bin/init.class_main.sh -LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES) -include $(BUILD_PREBUILT) - -include $(CLEAR_VARS) -LOCAL_MODULE := init.kernel.post_boot.sh -LOCAL_MODULE_TAGS := optional -LOCAL_MODULE_CLASS := ETC -LOCAL_SRC_FILES := bin/init.kernel.post_boot.sh -LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES) -include $(BUILD_PREBUILT) - -include $(CLEAR_VARS) -LOCAL_MODULE := init.qcom.class_core.sh -LOCAL_MODULE_TAGS := optional -LOCAL_MODULE_CLASS := ETC -LOCAL_SRC_FILES := bin/init.qcom.class_core.sh -LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES) -include $(BUILD_PREBUILT) - -include $(CLEAR_VARS) -LOCAL_MODULE := init.qcom.early_boot.sh -LOCAL_MODULE_TAGS := optional -LOCAL_MODULE_CLASS := ETC -LOCAL_SRC_FILES := bin/init.qcom.early_boot.sh -LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES) -include $(BUILD_PREBUILT) - -include $(CLEAR_VARS) -LOCAL_MODULE := init.qcom.post_boot.sh -LOCAL_MODULE_TAGS := optional -LOCAL_MODULE_CLASS := ETC -LOCAL_SRC_FILES := bin/init.qcom.post_boot.sh -LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES) -include $(BUILD_PREBUILT) - -include $(CLEAR_VARS) -LOCAL_MODULE := init.qcom.sh -LOCAL_MODULE_TAGS := optional -LOCAL_MODULE_CLASS := ETC -LOCAL_SRC_FILES := bin/init.qcom.sh -LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES) -include $(BUILD_PREBUILT) - -include $(CLEAR_VARS) -LOCAL_MODULE := init.qcom.usb.sh -LOCAL_MODULE_TAGS := optional -LOCAL_MODULE_CLASS := ETC -LOCAL_SRC_FILES := bin/init.qcom.usb.sh -LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES) -include $(BUILD_PREBUILT) - -include $(CLEAR_VARS) -LOCAL_MODULE := init.qti.chg_policy.sh -LOCAL_MODULE_TAGS := optional -LOCAL_MODULE_CLASS := ETC -LOCAL_SRC_FILES := bin/init.qti.chg_policy.sh -LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES) -include $(BUILD_PREBUILT) - -include $(CLEAR_VARS) -LOCAL_MODULE := init.qti.dcvs.sh -LOCAL_MODULE_TAGS := optional -LOCAL_MODULE_CLASS := ETC -LOCAL_SRC_FILES := bin/init.qti.dcvs.sh -LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES) -include $(BUILD_PREBUILT) - -include $(CLEAR_VARS) -LOCAL_MODULE := init.qti.kernel.sh -LOCAL_MODULE_TAGS := optional -LOCAL_MODULE_CLASS := ETC -LOCAL_SRC_FILES := bin/init.qti.kernel.sh -LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES) -include $(BUILD_PREBUILT) - -include $(CLEAR_VARS) -LOCAL_MODULE := init.qti.qcv.sh -LOCAL_MODULE_TAGS := optional -LOCAL_MODULE_CLASS := ETC -LOCAL_SRC_FILES := bin/init.qti.qcv.sh -LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES) -include $(BUILD_PREBUILT) - -include $(CLEAR_VARS) -LOCAL_MODULE := vendor_modprobe.sh -LOCAL_MODULE_TAGS := optional -LOCAL_MODULE_CLASS := ETC -LOCAL_SRC_FILES := bin/vendor_modprobe.sh -LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES) -include $(BUILD_PREBUILT) - -include $(CLEAR_VARS) -LOCAL_MODULE := ftm_power_config.sh -LOCAL_MODULE_TAGS := optional -LOCAL_MODULE_CLASS := ETC -LOCAL_SRC_FILES := etc/ftm_power_config.sh -LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init/hw -include $(BUILD_PREBUILT) - -include $(CLEAR_VARS) -LOCAL_MODULE := init.cust.rc -LOCAL_MODULE_TAGS := optional -LOCAL_MODULE_CLASS := ETC -LOCAL_SRC_FILES := etc/init.cust.rc -LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init/hw -include $(BUILD_PREBUILT) - -include $(CLEAR_VARS) -LOCAL_MODULE := init.oem.debug.rc -LOCAL_MODULE_TAGS := optional -LOCAL_MODULE_CLASS := ETC -LOCAL_SRC_FILES := etc/init.oem.debug.rc -LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init/hw -include $(BUILD_PREBUILT) - -include $(CLEAR_VARS) -LOCAL_MODULE := init.oem_ftm.rc -LOCAL_MODULE_TAGS := optional -LOCAL_MODULE_CLASS := ETC -LOCAL_SRC_FILES := etc/init.oem_ftm.rc -LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init/hw -include $(BUILD_PREBUILT) - -include $(CLEAR_VARS) -LOCAL_MODULE := init.oem_rf.rc -LOCAL_MODULE_TAGS := optional -LOCAL_MODULE_CLASS := ETC -LOCAL_SRC_FILES := etc/init.oem_rf.rc -LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init/hw -include $(BUILD_PREBUILT) - -include $(CLEAR_VARS) -LOCAL_MODULE := init.oem.rc -LOCAL_MODULE_TAGS := optional -LOCAL_MODULE_CLASS := ETC -LOCAL_SRC_FILES := etc/init.oem.rc -LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init/hw -include $(BUILD_PREBUILT) - -include $(CLEAR_VARS) -LOCAL_MODULE := init.qcom.factory.rc -LOCAL_MODULE_TAGS := optional -LOCAL_MODULE_CLASS := ETC -LOCAL_SRC_FILES := etc/init.qcom.factory.rc -LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init/hw -include $(BUILD_PREBUILT) - -include $(CLEAR_VARS) -LOCAL_MODULE := init.qcom.rc -LOCAL_MODULE_TAGS := optional -LOCAL_MODULE_CLASS := ETC -LOCAL_SRC_FILES := etc/init.qcom.rc -LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init/hw -include $(BUILD_PREBUILT) - -include $(CLEAR_VARS) -LOCAL_MODULE := init.qcom.usb.rc -LOCAL_MODULE_TAGS := optional -LOCAL_MODULE_CLASS := ETC -LOCAL_SRC_FILES := etc/init.qcom.usb.rc -LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init/hw -include $(BUILD_PREBUILT) - -include $(CLEAR_VARS) -LOCAL_MODULE := init.qti.kernel.rc -LOCAL_MODULE_TAGS := optional -LOCAL_MODULE_CLASS := ETC -LOCAL_SRC_FILES := etc/init.qti.kernel.rc -LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init/hw -include $(BUILD_PREBUILT) - -include $(CLEAR_VARS) -LOCAL_MODULE := init.qti.qcv.rc -LOCAL_MODULE_TAGS := optional -LOCAL_MODULE_CLASS := ETC -LOCAL_SRC_FILES := etc/init.qti.qcv.rc -LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init -include $(BUILD_PREBUILT) - -include $(CLEAR_VARS) -LOCAL_MODULE := init.recovery.qcom.rc -LOCAL_MODULE_TAGS := optional -LOCAL_MODULE_TAGS := optional -LOCAL_MODULE_CLASS := ETC -LOCAL_SRC_FILES := etc/init.recovery.qcom.rc -LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT) -include $(BUILD_PREBUILT) - -include $(CLEAR_VARS) -LOCAL_MODULE := init.stnfc.rc -LOCAL_MODULE_TAGS := optional -LOCAL_MODULE_CLASS := ETC -LOCAL_SRC_FILES := etc/init.stnfc.rc -LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init/hw -include $(BUILD_PREBUILT) - -include $(CLEAR_VARS) -LOCAL_MODULE := init.target.rc -LOCAL_MODULE_TAGS := optional -LOCAL_MODULE_CLASS := ETC -LOCAL_SRC_FILES := etc/init.target.rc -LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init/hw -include $(BUILD_PREBUILT) - -include $(CLEAR_VARS) -LOCAL_MODULE := init.uicc.rc -LOCAL_MODULE_TAGS := optional -LOCAL_MODULE_CLASS := ETC -LOCAL_SRC_FILES := etc/init.uicc.rc -LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init/hw -include $(BUILD_PREBUILT) - -include $(CLEAR_VARS) -LOCAL_MODULE := vendor.oem_ftm.rc -LOCAL_MODULE_TAGS := optional -LOCAL_MODULE_CLASS := ETC -LOCAL_SRC_FILES := etc/vendor.oem_ftm.rc -LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init/hw -include $(BUILD_PREBUILT) - -include $(CLEAR_VARS) -LOCAL_MODULE := vendor.oem_ftm_svc_disable.rc -LOCAL_MODULE_TAGS := optional -LOCAL_MODULE_CLASS := ETC -LOCAL_SRC_FILES := etc/vendor.oem_ftm_svc_disable.rc -LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init/hw -include $(BUILD_PREBUILT) - -include $(CLEAR_VARS) -LOCAL_MODULE := ueventd.qcom.rc -LOCAL_MODULE_STEM := ueventd.rc -LOCAL_MODULE_TAGS := optional -LOCAL_MODULE_CLASS := ETC -LOCAL_SRC_FILES := ueventd.rc -LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR) -include $(BUILD_PREBUILT) diff --git a/rootdir/bin/init.kernel.post_boot.sh b/rootdir/bin/init.kernel.post_boot.sh deleted file mode 100755 index 15a7094..0000000 --- a/rootdir/bin/init.kernel.post_boot.sh +++ /dev/null @@ -1,449 +0,0 @@ -#============================================================================= -# Copyright (c) 2020 Qualcomm Technologies, Inc. -# All Rights Reserved. -# Confidential and Proprietary - Qualcomm Technologies, Inc. -# -# Copyright (c) 2012-2013, 2016-2020, The Linux Foundation. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are -# met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above -# copyright notice, this list of conditions and the following -# disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of The Linux Foundation nor the names of its -# contributors may be used to endorse or promote products derived -# from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT -# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS -# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -#============================================================================= - -function configure_zram_parameters() { - postboot_running=$(getprop vendor.sys.memplus.postboot 0) - if [ $postboot_running == 3 ];then - return - fi - - MemTotalStr=`cat /proc/meminfo | grep MemTotal` - MemTotal=${MemTotalStr:16:8} - - # Zram disk - 75% for < 2GB devices . - # For >2GB devices, size = 50% of RAM size. Limit the size to 4GB. - - let RamSizeGB="( $MemTotal / 1048576 ) + 1" - diskSizeUnit=M - if [ $RamSizeGB -le 2 ]; then - let zRamSizeMB="( $RamSizeGB * 1024 ) * 3 / 4" - else - let zRamSizeMB="( $RamSizeGB * 1024 ) / 2" - fi - - # use MB avoid 32 bit overflow - if [ $zRamSizeMB -gt 4096 ]; then - let zRamSizeMB=4096 - fi - - if [ -f /sys/block/zram0/disksize ]; then - if [ -f /sys/block/zram0/use_dedup ]; then - echo 1 > /sys/block/zram0/use_dedup - fi - echo "$zRamSizeMB""$diskSizeUnit" > /sys/block/zram0/disksize - - # ZRAM may use more memory than it saves if SLAB_STORE_USER - # debug option is enabled. - if [ -e /sys/kernel/slab/zs_handle ]; then - echo 0 > /sys/kernel/slab/zs_handle/store_user - fi - if [ -e /sys/kernel/slab/zspage ]; then - echo 0 > /sys/kernel/slab/zspage/store_user - fi - - mkswap /dev/block/zram0 - swapon /dev/block/zram0 -p 32758 - fi -} - -function configure_read_ahead_kb_values() { - MemTotalStr=`cat /proc/meminfo | grep MemTotal` - MemTotal=${MemTotalStr:16:8} - - dmpts=$(ls /sys/block/*/queue/read_ahead_kb | grep -e dm -e mmc) - - # Set 128 for <= 4GB & - # set 512 for > 4GB targets. - if [ $MemTotal -le 4194304 ]; then - ra_kb=128 - else - ra_kb=512 - fi - if [ -f /sys/block/mmcblk0/bdi/read_ahead_kb ]; then - echo $ra_kb > /sys/block/mmcblk0/bdi/read_ahead_kb - fi - if [ -f /sys/block/mmcblk0rpmb/bdi/read_ahead_kb ]; then - echo $ra_kb > /sys/block/mmcblk0rpmb/bdi/read_ahead_kb - fi - for dm in $dmpts; do - echo $ra_kb > $dm - done -} - -# huangwen.chen@OPTI, 2020/05/14, add for zram writeback - function configure_zram_writeback() { - # get backing storage size, unit: MB - backing_dev_size=$(getprop persist.vendor.zwriteback.backing_dev_size 2048) - case $backing_dev_size in - [1-9]) - ;; - [1-9][0-9]*) - ;; - *) - backing_dev_size=2048 - ;; - esac - - dump_switch=$(getprop persist.vendor.zwriteback.backup) - wb_file="/data/vendor/swap/zram_wb" - if [[ -f $wb_file && $dump_switch == 1 ]];then - rm -f "/data/vendor/swap/zram_wb.old" - mv $wb_file "/data/vendor/swap/zram_wb.old" - fi - # create backing storage - # check if dd command success - ret=$(dd if=/dev/zero of=/data/vendor/swap/zram_wb bs=1m count=$backing_dev_size 2>&1) - if [ $? -ne 0 ];then - rm -f /data/vendor/swap/zram_wb - echo "memplus $ret" > /dev/kmsg - return 1 - fi - - # check if attaching file success - losetup -f - loop_device=$(losetup -f -s /data/vendor/swap/zram_wb 2>&1) - if [ $? -ne 0 ];then - rm -f /data/vendor/swap/zram_wb - echo "memplus $loop_device" > /dev/kmsg - return 1 - fi - echo $loop_device > /sys/block/zram0/backing_dev - - mem_limit=$(getprop persist.vendor.zwriteback.mem_limit) - case $mem_limit in - [1-9]) - mem_limit="${mem_limit}M" - ;; - [1-9][0-9]*) - mem_limit="${mem_limit}M" - ;; - *) - mem_limit="1G" - ;; - esac - echo $mem_limit > /sys/block/zram0/mem_limit - } - - # bin.zhong@ASTI, 2019/10/12, add for memplus - function configure_memplus_parameters() { - bootmode=`getprop ro.vendor.factory.mode` - if [ "$bootmode" == "ftm" ] || [ "$bootmode" == "wlan" ] || [ "$bootmode" == "rf" ];then - return - fi - if [ ! $memplus_post_config ];then - return - fi - setprop vendor.sys.memplus.postboot 1 - memplus=`getprop persist.vendor.memplus.enable` - case "$memplus" in - "0") - # diable swapspace - rm /data/vendor/swap/swapfile - echo "memplus swapoff start" > /dev/kmsg - ret=$(swapoff /dev/block/zram0 2>&1) - if [ $? -ne 0 ];then - echo "memplus $ret" > /dev/kmsg - return - fi - echo "memplus swapoff done" > /dev/kmsg - ;; - "1") - # enable memplus - rm /data/vendor/swap/swapfile - # reset zram swapspace - # huangwen.chen@OPTI, 2020/07/10 check if swapoff success - echo "memplus swapoff start" > /dev/kmsg - ret=$(swapoff /dev/block/zram0 2>&1) - if [ $? -ne 0 ];then - echo "memplus $ret" > /dev/kmsg - return - fi - echo "memplus swapoff done" > /dev/kmsg - echo 1 > /sys/block/zram0/reset - - # huangwen.chen@OPTI, 2020/05/21 set zram disksize by property - disksize=$(getprop persist.vendor.zwriteback.disksize 2048) - case $disksize in - [1-9]) - disksize="${disksize}M" - ;; - [1-9][0-9]*) - disksize="${disksize}M" - ;; - *) - disksize="2100M" - ;; - esac - - # huangwen.chen@OPTI, 2020/05/14 add for zram writeback - # check if ZRAM_WRITEBACK_CONFIG enable - writeback_file="/sys/block/zram0/writeback" - zwriteback=$(getprop persist.vendor.zwriteback.enable 0) - if [[ -f $writeback_file && $zwriteback == 1 ]];then - configure_zram_writeback - # check if configure_zram_writeback success - if [ $? -ne 0 ];then - echo 0 > /sys/block/zram0/mem_limit - fi - else - rm -f /data/vendor/swap/zram_wb - disksize="2100M" - echo 0 > /sys/block/zram0/mem_limit - fi - echo $disksize > /sys/block/zram0/disksize - - mkswap /dev/block/zram0 - echo "memplus swapon start" > /dev/kmsg - swapon /dev/block/zram0 -p 32758 - if [ $? -eq 0 ]; then - echo 1 > /sys/module/memplus_core/parameters/memory_plus_enabled - fi - echo "memplus swapon done" > /dev/kmsg - ;; - *) - #enable kswapd - rm /data/vendor/swap/swapfile - # reset zram swapspace - # huangwen.chen@OPTI, 2020/07/10 check if swapoff success - echo "memplus swapoff start" > /dev/kmsg - ret=$(swapoff /dev/block/zram0 2>&1) - if [ $? -ne 0 ];then - echo "memplus $ret" > /dev/kmsg - return - fi - echo "memplus swapoff done" > /dev/kmsg - echo 1 > /sys/block/zram0/reset - echo zstd > /sys/block/zram0/comp_algorithm - # huangwen.chen@OPTI, 2020/05/21 set zram disksize by property - disksize=$(getprop persist.vendor.zwriteback.disksize 2048) - case $disksize in - [1-9]) - disksize="${disksize}M" - ;; - [1-9][0-9]*) - disksize="${disksize}M" - ;; - *) - disksize="2100M" - ;; - esac - # huangwen.chen@OPTI, 2020/05/14 add for zram writeback - # check if ZRAM_WRITEBACK_CONFIG enable - writeback_file="/sys/block/zram0/writeback" - zwriteback=$(getprop persist.vendor.zwriteback.enable 0) - if [[ -f $writeback_file && $zwriteback == 1 ]];then - configure_zram_writeback - if [ $? -ne 0 ];then - echo 0 > /sys/block/zram0/mem_limit - fi - else - rm -f /data/vendor/swap/zram_wb - disksize="2100M" - echo 0 > /sys/block/zram0/mem_limit - fi - echo $disksize > /sys/block/zram0/disksize - - mkswap /dev/block/zram0 - echo "memplus swapon start" > /dev/kmsg - swapon /dev/block/zram0 -p 32758 - if [ $? -eq 0 ]; then - echo 0 > /sys/module/memplus_core/parameters/memory_plus_enabled - fi - echo "memplus swapon done" > /dev/kmsg - ;; - esac - setprop vendor.sys.memplus.postboot 2 - } - -function configure_memory_parameters() { - # Set Memory parameters. - - # Set swappiness to 180 for all targets - echo 180 > /proc/sys/vm/swappiness - echo 0 > /proc/sys/vm/direct_swappiness - - # Disable wsf for all targets beacause we are using efk. - # wsf Range : 1..1000 So set to bare minimum value 1. - echo 1 > /proc/sys/vm/watermark_scale_factor - configure_zram_parameters - configure_read_ahead_kb_values - echo 0 > /proc/sys/vm/page-cluster - - #Spawn 2 kswapd threads which can help in fast reclaiming of pages - echo 2 > /proc/sys/vm/kswapd_threads -} - -# Core control parameters for silver -echo 0 0 0 0 1 1 > /sys/devices/system/cpu/cpu0/core_ctl/not_preferred -echo 4 > /sys/devices/system/cpu/cpu0/core_ctl/min_cpus -echo 60 > /sys/devices/system/cpu/cpu0/core_ctl/busy_up_thres -echo 40 > /sys/devices/system/cpu/cpu0/core_ctl/busy_down_thres -echo 100 > /sys/devices/system/cpu/cpu0/core_ctl/offline_delay_ms -echo 8 > /sys/devices/system/cpu/cpu0/core_ctl/task_thres - -# Enable Core control for Silver -echo 1 > /sys/devices/system/cpu/cpu0/core_ctl/enable - -# Disable Core control on gold -echo 0 > /sys/devices/system/cpu/cpu6/core_ctl/enable - -# Setting b.L scheduler parameters -echo 65 > /proc/sys/kernel/sched_downmigrate -echo 71 > /proc/sys/kernel/sched_upmigrate -echo 85 > /proc/sys/kernel/sched_group_downmigrate -echo 100 > /proc/sys/kernel/sched_group_upmigrate -echo 1 > /proc/sys/kernel/sched_walt_rotate_big_tasks -echo 0 > /proc/sys/kernel/sched_coloc_busy_hysteresis_enable_cpus -echo 0 > /proc/sys/kernel/sched_busy_hysteresis_enable_cpus -echo 5 > /proc/sys/kernel/sched_ravg_window_nr_ticks - -# disable unfiltering -echo 20000000 > /proc/sys/kernel/sched_task_unfilter_period - -# cpuset parameters -echo 0-5 > /dev/cpuset/background/cpus -echo 0-5 > /dev/cpuset/system-background/cpus - -# Turn off scheduler boost at the end -echo 0 > /proc/sys/kernel/sched_boost - -# configure governor settings for silver cluster -echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor -echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/down_rate_limit_us -echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/up_rate_limit_us -echo 1190400 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/hispeed_freq -echo 576000 > /sys/devices/system/cpu/cpufreq/policy0/scaling_min_freq - -# configure governor settings for gold cluster -echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy6/scaling_governor -echo 0 > /sys/devices/system/cpu/cpufreq/policy6/schedutil/down_rate_limit_us -echo 0 > /sys/devices/system/cpu/cpufreq/policy6/schedutil/up_rate_limit_us -echo 1248000 > /sys/devices/system/cpu/cpufreq/policy6/schedutil/hispeed_freq -echo 768000 > /sys/devices/system/cpu/cpufreq/policy6/scaling_min_freq - -# Colocation V3 settings -echo 680000 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/rtg_boost_freq -echo 0 > /sys/devices/system/cpu/cpufreq/policy6/schedutil/rtg_boost_freq -echo 51 > /proc/sys/kernel/sched_min_task_util_for_boost -echo 35 > /proc/sys/kernel/sched_min_task_util_for_colocation - -# sched_load_boost as -6 is equivalent to target load as 85. It is per cpu tunable. -echo -6 > /sys/devices/system/cpu/cpu6/sched_load_boost -echo -6 > /sys/devices/system/cpu/cpu7/sched_load_boost -echo 85 > /sys/devices/system/cpu/cpufreq/policy6/schedutil/hispeed_load - -# configure input boost settings -echo "0:1804800" > /sys/devices/system/cpu/cpu_boost/input_boost_freq -echo 120 > /sys/devices/system/cpu/cpu_boost/input_boost_ms - -# Enable bus-dcvs -for device in /sys/devices/platform/soc -do - for cpubw in $device/*cpu-cpu-ddr-bw/devfreq/*cpu-cpu-ddr-bw - do - cat $cpubw/available_frequencies | cut -d " " -f 1 > $cpubw/min_freq - echo "bw_hwmon" > $cpubw/governor - echo "1144 1720 2086 2929 3879 5931 6881 8137" > $cpubw/bw_hwmon/mbps_zones - echo 4 > $cpubw/bw_hwmon/sample_ms - echo 68 > $cpubw/bw_hwmon/io_percent - echo 20 > $cpubw/bw_hwmon/hist_memory - echo 0 > $cpubw/bw_hwmon/hyst_length - echo 80 > $cpubw/bw_hwmon/down_thres - echo 0 > $cpubw/bw_hwmon/guard_band_mbps - echo 250 > $cpubw/bw_hwmon/up_scale - echo 1600 > $cpubw/bw_hwmon/idle_mbps - echo 40 > $cpubw/polling_interval - done - - # configure compute settings for silver latfloor - for latfloor in $device/*cpu0-cpu*latfloor/devfreq/*cpu0-cpu*latfloor - do - cat $latfloor/available_frequencies | cut -d " " -f 1 > $latfloor/min_freq - echo 8 > $latfloor/polling_interval - done - - # configure compute settings for gold latfloor - for latfloor in $device/*cpu6-cpu*latfloor/devfreq/*cpu6-cpu*latfloor - do - cat $latfloor/available_frequencies | cut -d " " -f 1 > $latfloor/min_freq - echo 8 > $latfloor/polling_interval - done - - # configure mem_latency settings for DDR scaling - for memlat in $device/*lat/devfreq/*lat - do - cat $memlat/available_frequencies | cut -d " " -f 1 > $memlat/min_freq - echo 8 > $memlat/polling_interval - echo 400 > $memlat/mem_latency/ratio_ceil - done - - #Gold CPU6 L3 ratio ceil - for l3gold in $device/*cpu6-cpu-l3-lat/devfreq/*cpu6-cpu-l3-lat - do - echo 4000 > $l3gold/mem_latency/ratio_ceil - echo 25000 > $l3gold/mem_latency/wb_filter_ratio - echo 60 > $l3gold/mem_latency/wb_pct_thres - done - - #Gold CPU7 L3 ratio ceil - for l3gold in $device/*cpu7-cpu-l3-lat/devfreq/*cpu7-cpu-l3-lat - do - echo 4000 > $l3gold/mem_latency/ratio_ceil - echo 25000 > $l3gold/mem_latency/wb_filter_ratio - echo 60 > $l3gold/mem_latency/wb_pct_thres - done - -done - -echo N > /sys/module/lpm_levels/parameters/sleep_disabled - -configure_memory_parameters - -# bin.zhong@ASTI, 2019/10/12, add for memplus -memplus_post_config=1 -# huangwen.chen@OPTI, 2020/07/10, excute on first boot. -postboot_running=$(getprop vendor.sys.memplus.postboot 0) -if [ $postboot_running != 3 ];then - configure_memplus_parameters -fi - -setprop vendor.post_boot.parsed 1 - - # UFS add component info -UFS_PN=`cat /sys/devices/platform/soc/4804000.ufshc/string_descriptors/product_name` -UFS_VENDOR=`cat /sys/devices/platform/soc/4804000.ufshc/string_descriptors/manufacturer_name` -UFS_VERSION=`cat /sys/devices/platform/soc/4804000.ufshc/string_descriptors/product_revision` -UFS_INFO="UFS "`echo ${UFS_PN} | tr -d "\r"`" "`echo ${UFS_VENDOR} | tr -d "\r"`" "`echo ${UFS_VERSION} | tr -d "\r"` -echo ${UFS_INFO}> /sys/project_info/add_component -#liochen@SYSTEM, 2020/11/02, Add for enable ufs performance -#echo 0 > /sys/class/scsi_host/host0/../../../clkscale_enable diff --git a/rootdir/bin/init.qcom.class_core.sh b/rootdir/bin/init.qcom.class_core.sh deleted file mode 100755 index 8f8265d..0000000 --- a/rootdir/bin/init.qcom.class_core.sh +++ /dev/null @@ -1,216 +0,0 @@ -#!/vendor/bin/sh - -# Copyright (c) 2012-2013, The Linux Foundation. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of The Linux Foundation nor -# the names of its contributors may be used to endorse or promote -# products derived from this software without specific prior written -# permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# - -# Set platform variables -target=`getprop ro.board.platform` -if [ -f /sys/devices/soc0/hw_platform ]; then - soc_hwplatform=`cat /sys/devices/soc0/hw_platform` 2> /dev/null -else - soc_hwplatform=`cat /sys/devices/system/soc/soc0/hw_platform` 2> /dev/null -fi -if [ -f /sys/devices/soc0/soc_id ]; then - soc_hwid=`cat /sys/devices/soc0/soc_id` 2> /dev/null -else - soc_hwid=`cat /sys/devices/system/soc/soc0/id` 2> /dev/null -fi -if [ -f /sys/devices/soc0/platform_version ]; then - soc_hwver=`cat /sys/devices/soc0/platform_version` 2> /dev/null -else - soc_hwver=`cat /sys/devices/system/soc/soc0/platform_version` 2> /dev/null -fi - - -# Dynamic Memory Managment (DMM) provides a sys file system to the userspace -# that can be used to plug in/out memory that has been configured as unstable. -# This unstable memory can be in Active or In-Active State. -# Each of which the userspace can request by writing to a sys file. -# -# ro.dev.dmm = 1; Indicates that DMM is enabled in the Android User Space. This -# property is set in the Android system properties file. -# -# If ro.dev.dmm.dpd.start_address is set here then the target has a memory -# configuration that supports DynamicMemoryManagement. -init_DMM() -{ - block=-1 - - case "$target" in - "msm7630_surf" | "msm7630_1x" | "msm7630_fusion" | "msm8960") - ;; - *) - return - ;; - esac - - mem="/sys/devices/system/memory" - op=`cat $mem/movable_start_bytes` - case "$op" in - "0") - log -p i -t DMM DMM Disabled. movable_start_bytes not set: $op - ;; - - "$mem/movable_start_bytes: No such file or directory ") - log -p i -t DMM DMM Disabled. movable_start_bytes does not exist: $op - ;; - - *) - log -p i -t DMM DMM available. movable_start_bytes at $op - movable_start_bytes=0x`cat $mem/movable_start_bytes` - block_size_bytes=0x`cat $mem/block_size_bytes` - block=$((#${movable_start_bytes}/${block_size_bytes})) - - chown -h system.system $mem/memory$block/state - chown -h system.system $mem/probe - chown -h system.system $mem/active - chown -h system.system $mem/remove - - case "$target" in - "msm7630_surf" | "msm7630_1x" | "msm7630_fusion") - echo $movable_start_bytes > $mem/probe - case "$?" in - "0") - log -p i -t DMM $movable_start_bytes to physical hotplug succeeded. - ;; - *) - log -p e -t DMM $movable_start_bytes to physical hotplug failed. - return - ;; - esac - - echo online > $mem/memory$block/state - case "$?" in - "0") - log -p i -t DMM \'echo online\' to logical hotplug succeeded. - ;; - *) - log -p e -t DMM \'echo online\' to logical hotplug failed. - return - ;; - esac - ;; - esac - - setprop ro.dev.dmm.dpd.start_address $movable_start_bytes - setprop ro.dev.dmm.dpd.block $block - ;; - esac - - case "$target" in - "msm8960") - return - ;; - esac - - # For 7X30 targets: - # ro.dev.dmm.dpd.start_address is set when the target has a 2x256Mb memory - # configuration. This is also used to indicate that the target is capable of - # setting EBI-1 to Deep Power Down or Self Refresh. - op=`cat $mem/low_power_memory_start_bytes` - case "$op" in - "0") - log -p i -t DMM Self-Refresh-Only Disabled. low_power_memory_start_bytes not set:$op - ;; - "$mem/low_power_memory_start_bytes No such file or directory ") - log -p i -t DMM Self-Refresh-Only Disabled. low_power_memory_start_bytes does not exist:$op - ;; - *) - log -p i -t DMM Self-Refresh-Only available. low_power_memory_start_bytes at $op - ;; - esac -} - -# -# For controlling console and shell on console on 8960 - perist.serial.enable 8960 -# On other target use default ro.debuggable property. -# -serial=`getprop persist.serial.enable` -dserial=`getprop ro.debuggable` -case "$target" in - "msm8960") - case "$serial" in - "0") - echo 0 > /sys/devices/platform/msm_serial_hsl.0/console - ;; - "1") - echo 1 > /sys/devices/platform/msm_serial_hsl.0/console - start console - ;; - *) - case "$dserial" in - "1") - start console - ;; - esac - ;; - esac - ;; - - "msm8610" | "msm8974" | "msm8226") - case "$serial" in - "0") - echo 0 > /sys/devices/f991f000.serial/console - ;; - "1") - echo 1 > /sys/devices/f991f000.serial/console - start console - ;; - *) - case "$dserial" in - "1") - start console - ;; - esac - ;; - esac - ;; - *) - case "$dserial" in - "1") - start console - ;; - esac - ;; -esac - -case "$target" in - "msm7630_surf" | "msm7630_1x" | "msm7630_fusion") - insmod /system/lib/modules/ss_mfcinit.ko - insmod /system/lib/modules/ss_vencoder.ko - insmod /system/lib/modules/ss_vdecoder.ko - chmod -h 0666 /dev/ss_mfc_reg - chmod -h 0666 /dev/ss_vdec - chmod -h 0666 /dev/ss_venc - - init_DMM - ;; - - "msm8960") - init_DMM - ;; -esac diff --git a/rootdir/bin/init.qcom.post_boot.sh b/rootdir/bin/init.qcom.post_boot.sh deleted file mode 100755 index e6dedd0..0000000 --- a/rootdir/bin/init.qcom.post_boot.sh +++ /dev/null @@ -1,5788 +0,0 @@ -#! /vendor/bin/sh - -# Copyright (c) 2012-2013, 2016-2020, The Linux Foundation. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of The Linux Foundation nor -# the names of its contributors may be used to endorse or promote -# products derived from this software without specific prior written -# permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# - -function 8953_sched_dcvs_eas() -{ - #governor settings - echo 1 > /sys/devices/system/cpu/cpu0/online - echo "schedutil" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo 0 > /sys/devices/system/cpu/cpufreq/schedutil/up_rate_limit_us - echo 0 > /sys/devices/system/cpu/cpufreq/schedutil/down_rate_limit_us - #set the hispeed_freq - echo 1401600 > /sys/devices/system/cpu/cpufreq/schedutil/hispeed_freq - #default value for hispeed_load is 90, for 8953 and sdm450 it should be 85 - echo 85 > /sys/devices/system/cpu/cpufreq/schedutil/hispeed_load -} - -function 8917_sched_dcvs_eas() -{ - #governor settings - echo 1 > /sys/devices/system/cpu/cpu0/online - echo "schedutil" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo 0 > /sys/devices/system/cpu/cpufreq/schedutil/up_rate_limit_us - echo 0 > /sys/devices/system/cpu/cpufreq/schedutil/down_rate_limit_us - #set the hispeed_freq - echo 1094400 > /sys/devices/system/cpu/cpufreq/schedutil/hispeed_freq - #default value for hispeed_load is 90, for 8917 it should be 85 - echo 85 > /sys/devices/system/cpu/cpufreq/schedutil/hispeed_load -} - -function 8937_sched_dcvs_eas() -{ - # enable governor for perf cluster - echo 1 > /sys/devices/system/cpu/cpu0/online - echo "schedutil" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/up_rate_limit_us - echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/down_rate_limit_us - #set the hispeed_freq - echo 1094400 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_freq - #default value for hispeed_load is 90, for 8937 it should be 85 - echo 85 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_load - ## enable governor for power cluster - echo 1 > /sys/devices/system/cpu/cpu4/online - echo "schedutil" > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor - echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/up_rate_limit_us - echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/down_rate_limit_us - #set the hispeed_freq - echo 768000 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/hispeed_freq - #default value for hispeed_load is 90, for 8937 it should be 85 - echo 85 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/hispeed_load - -} - -function configure_automotive_sku_parameters() { - - echo 1036800 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - echo 1056000 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq - echo 1171200 > /sys/devices/system/cpu/cpu7/cpufreq/scaling_min_freq - echo 1785600 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq - echo 902400000 > /sys/class/devfreq/soc\:qcom,cpu0-cpu-l3-lat/min_freq - echo 902400000 > /sys/class/devfreq/soc\:qcom,cpu4-cpu-l3-lat/min_freq - echo 902400000 > /sys/class/devfreq/soc\:qcom,cpu7-cpu-l3-lat/min_freq - echo 1612800000 > /sys/class/devfreq/soc\:qcom,cpu0-cpu-l3-lat/max_freq - echo 1612800000 > /sys/class/devfreq/soc\:qcom,cpu4-cpu-l3-lat/max_freq - echo 1612800000 > /sys/class/devfreq/soc\:qcom,cpu7-cpu-l3-lat/max_freq -#read feature id from nvram -reg_val=`cat /sys/devices/platform/soc/780130.qfprom/qfprom0/nvmem | od -An -t d4` -feature_id=$(((reg_val >> 20) & 0xFF)) -log -t BOOT -p i "feature id '$feature_id'" -if [ $feature_id == 0 ]; then - echo " SKU Configured : SA8155P" - echo 2131200 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq - echo 2419200 > /sys/devices/system/cpu/cpu7/cpufreq/scaling_max_freq - echo 0 > /sys/class/kgsl/kgsl-3d0/max_pwrlevel -elif [ $feature_id == 1 ]; then - echo "SKU Configured : SA8150P" - echo 1920000 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq - echo 2227200 > /sys/devices/system/cpu/cpu7/cpufreq/scaling_max_freq - echo 3 > /sys/class/kgsl/kgsl-3d0/max_pwrlevel -else - echo "unknown feature_id value" $feature_id -fi -} - -function configure_sku_parameters() { - -#read feature id from nvram -reg_val=`cat /sys/devices/platform/soc/780130.qfprom/qfprom0/nvmem | od -An -t d4` -feature_id=$(((reg_val >> 20) & 0xFF)) -log -t BOOT -p i "feature id '$feature_id'" -if [ $feature_id == 6 ]; then - echo " SKU Configured : SA6145" - echo 748800 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - echo 748800 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq - echo 748800 > /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq - echo 748800 > /sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq - echo 748800 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq - echo 748800 > /sys/devices/system/cpu/cpu5/cpufreq/scaling_min_freq - echo 1017600 > /sys/devices/system/cpu/cpu6/cpufreq/scaling_min_freq - echo 1017600 > /sys/devices/system/cpu/cpu7/cpufreq/scaling_min_freq - echo 748800 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq - echo 748800 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq - echo 748800 > /sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq - echo 748800 > /sys/devices/system/cpu/cpu3/cpufreq/scaling_max_freq - echo 748800 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq - echo 748800 > /sys/devices/system/cpu/cpu5/cpufreq/scaling_max_freq - echo 1017600 > /sys/devices/system/cpu/cpu6/cpufreq/scaling_max_freq - echo 1017600 > /sys/devices/system/cpu/cpu7/cpufreq/scaling_max_freq - echo 940800000 > /sys/class/devfreq/soc\:qcom,cpu0-cpu-l3-lat/min_freq - echo 1017600000 > /sys/class/devfreq/soc\:qcom,cpu0-cpu-l3-lat/max_freq - echo 940800000 > /sys/class/devfreq/soc\:qcom,cpu6-cpu-l3-lat/min_freq - echo 1017600000 > /sys/class/devfreq/soc\:qcom,cpu6-cpu-l3-lat/max_freq - echo 3 > /sys/class/kgsl/kgsl-3d0/max_pwrlevel - echo {class:ddr, res:capped, val: 1016} > /sys/kernel/debug/aop_send_message - setprop vendor.sku_identified 1 - setprop vendor.sku_name "SA6145" -elif [ $feature_id == 5 ]; then - echo "SKU Configured : SA6150" - echo 748800 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - echo 748800 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq - echo 748800 > /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq - echo 748800 > /sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq - echo 748800 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq - echo 748800 > /sys/devices/system/cpu/cpu5/cpufreq/scaling_min_freq - echo 1017600 > /sys/devices/system/cpu/cpu6/cpufreq/scaling_min_freq - echo 1017600 > /sys/devices/system/cpu/cpu7/cpufreq/scaling_min_freq - echo 998400 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq - echo 998400 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq - echo 998400 > /sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq - echo 998400 > /sys/devices/system/cpu/cpu3/cpufreq/scaling_max_freq - echo 998400 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq - echo 998400 > /sys/devices/system/cpu/cpu5/cpufreq/scaling_max_freq - echo 1708800 > /sys/devices/system/cpu/cpu6/cpufreq/scaling_max_freq - echo 1708800 > /sys/devices/system/cpu/cpu7/cpufreq/scaling_max_freq - echo 940800000 > /sys/class/devfreq/soc\:qcom,cpu0-cpu-l3-lat/min_freq - echo 1363200000 > /sys/class/devfreq/soc\:qcom,cpu0-cpu-l3-lat/max_freq - echo 940800000 > /sys/class/devfreq/soc\:qcom,cpu6-cpu-l3-lat/min_freq - echo 1363200000 > /sys/class/devfreq/soc\:qcom,cpu6-cpu-l3-lat/max_freq - echo 2 > /sys/class/kgsl/kgsl-3d0/max_pwrlevel - echo {class:ddr, res:capped, val: 1333} > /sys/kernel/debug/aop_send_message - setprop vendor.sku_identified 1 - setprop vendor.sku_name "SA6150" -elif [ $feature_id == 4 ] || [ $feature_id == 3 ]; then - echo "SKU Configured : SA6155" - echo 748800 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - echo 748800 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq - echo 748800 > /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq - echo 748800 > /sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq - echo 748800 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq - echo 748800 > /sys/devices/system/cpu/cpu5/cpufreq/scaling_min_freq - echo 1017600 > /sys/devices/system/cpu/cpu6/cpufreq/scaling_min_freq - echo 1017600 > /sys/devices/system/cpu/cpu7/cpufreq/scaling_min_freq - echo 1593600 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq - echo 1593600 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq - echo 1593600 > /sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq - echo 1593600 > /sys/devices/system/cpu/cpu3/cpufreq/scaling_max_freq - echo 1593600 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq - echo 1593600 > /sys/devices/system/cpu/cpu5/cpufreq/scaling_max_freq - echo 1900800 > /sys/devices/system/cpu/cpu6/cpufreq/scaling_max_freq - echo 1900800 > /sys/devices/system/cpu/cpu7/cpufreq/scaling_max_freq - echo 940800000 > /sys/class/devfreq/soc\:qcom,cpu0-cpu-l3-lat/min_freq - echo 1363200000 > /sys/class/devfreq/soc\:qcom,cpu0-cpu-l3-lat/max_freq - echo 940800000 > /sys/class/devfreq/soc\:qcom,cpu6-cpu-l3-lat/min_freq - echo 1363200000 > /sys/class/devfreq/soc\:qcom,cpu6-cpu-l3-lat/max_freq - echo 0 > /sys/class/kgsl/kgsl-3d0/max_pwrlevel - echo {class:ddr, res:capped, val: 1555} > /sys/kernel/debug/aop_send_message - setprop vendor.sku_identified 1 - setprop vendor.sku_name "SA6155" -else - echo "SKU Configured : SA6155" - echo 748800 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - echo 748800 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq - echo 748800 > /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq - echo 748800 > /sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq - echo 748800 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq - echo 748800 > /sys/devices/system/cpu/cpu5/cpufreq/scaling_min_freq - echo 1017600 > /sys/devices/system/cpu/cpu6/cpufreq/scaling_min_freq - echo 1017600 > /sys/devices/system/cpu/cpu7/cpufreq/scaling_min_freq - echo 1593600 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq - echo 1593600 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq - echo 1593600 > /sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq - echo 1593600 > /sys/devices/system/cpu/cpu3/cpufreq/scaling_max_freq - echo 1593600 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq - echo 1593600 > /sys/devices/system/cpu/cpu5/cpufreq/scaling_max_freq - echo 1900800 > /sys/devices/system/cpu/cpu6/cpufreq/scaling_max_freq - echo 1900800 > /sys/devices/system/cpu/cpu7/cpufreq/scaling_max_freq - echo 940800000 > /sys/class/devfreq/soc\:qcom,cpu0-cpu-l3-lat/min_freq - echo 1363200000 > /sys/class/devfreq/soc\:qcom,cpu0-cpu-l3-lat/max_freq - echo 940800000 > /sys/class/devfreq/soc\:qcom,cpu6-cpu-l3-lat/min_freq - echo 1363200000 > /sys/class/devfreq/soc\:qcom,cpu6-cpu-l3-lat/max_freq - echo 0 > /sys/class/kgsl/kgsl-3d0/max_pwrlevel - echo {class:ddr, res:capped, val: 1555} > /sys/kernel/debug/aop_send_message - setprop vendor.sku_identified 1 - setprop vendor.sku_name "SA6155" -fi -} - -function 8953_sched_dcvs_hmp() -{ - #scheduler settings - echo 3 > /proc/sys/kernel/sched_window_stats_policy - echo 3 > /proc/sys/kernel/sched_ravg_hist_size - #task packing settings - echo 0 > /sys/devices/system/cpu/cpu0/sched_static_cpu_pwr_cost - echo 0 > /sys/devices/system/cpu/cpu1/sched_static_cpu_pwr_cost - echo 0 > /sys/devices/system/cpu/cpu2/sched_static_cpu_pwr_cost - echo 0 > /sys/devices/system/cpu/cpu3/sched_static_cpu_pwr_cost - echo 0 > /sys/devices/system/cpu/cpu4/sched_static_cpu_pwr_cost - echo 0 > /sys/devices/system/cpu/cpu5/sched_static_cpu_pwr_cost - echo 0 > /sys/devices/system/cpu/cpu6/sched_static_cpu_pwr_cost - echo 0 > /sys/devices/system/cpu/cpu7/sched_static_cpu_pwr_cost - # spill load is set to 100% by default in the kernel - echo 3 > /proc/sys/kernel/sched_spill_nr_run - # Apply inter-cluster load balancer restrictions - echo 1 > /proc/sys/kernel/sched_restrict_cluster_spill - # set sync wakee policy tunable - echo 1 > /proc/sys/kernel/sched_prefer_sync_wakee_to_waker - - #governor settings - echo 1 > /sys/devices/system/cpu/cpu0/online - echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo "19000 1401600:39000" > /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay - echo 85 > /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load - echo 20000 > /sys/devices/system/cpu/cpufreq/interactive/timer_rate - echo 1401600 > /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq - echo 0 > /sys/devices/system/cpu/cpufreq/interactive/io_is_busy - echo "85 1401600:80" > /sys/devices/system/cpu/cpufreq/interactive/target_loads - echo 39000 > /sys/devices/system/cpu/cpufreq/interactive/min_sample_time - echo 40000 > /sys/devices/system/cpu/cpufreq/interactive/sampling_down_factor - echo 19 > /proc/sys/kernel/sched_upmigrate_min_nice - # Enable sched guided freq control - echo 1 > /sys/devices/system/cpu/cpufreq/interactive/use_sched_load - echo 1 > /sys/devices/system/cpu/cpufreq/interactive/use_migration_notif - echo 200000 > /proc/sys/kernel/sched_freq_inc_notify - echo 200000 > /proc/sys/kernel/sched_freq_dec_notify - -} - -function 8917_sched_dcvs_hmp() -{ - # HMP scheduler settings - echo 3 > /proc/sys/kernel/sched_window_stats_policy - echo 3 > /proc/sys/kernel/sched_ravg_hist_size - echo 1 > /proc/sys/kernel/sched_restrict_tasks_spread - # HMP Task packing settings - echo 20 > /proc/sys/kernel/sched_small_task - echo 30 > /sys/devices/system/cpu/cpu0/sched_mostly_idle_load - echo 30 > /sys/devices/system/cpu/cpu1/sched_mostly_idle_load - echo 30 > /sys/devices/system/cpu/cpu2/sched_mostly_idle_load - echo 30 > /sys/devices/system/cpu/cpu3/sched_mostly_idle_load - - echo 3 > /sys/devices/system/cpu/cpu0/sched_mostly_idle_nr_run - echo 3 > /sys/devices/system/cpu/cpu1/sched_mostly_idle_nr_run - echo 3 > /sys/devices/system/cpu/cpu2/sched_mostly_idle_nr_run - echo 3 > /sys/devices/system/cpu/cpu3/sched_mostly_idle_nr_run - - echo 0 > /sys/devices/system/cpu/cpu0/sched_prefer_idle - echo 0 > /sys/devices/system/cpu/cpu1/sched_prefer_idle - echo 0 > /sys/devices/system/cpu/cpu2/sched_prefer_idle - echo 0 > /sys/devices/system/cpu/cpu3/sched_prefer_idle - - echo 1 > /sys/devices/system/cpu/cpu0/online - echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo "19000 1094400:39000" > /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay - echo 85 > /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load - echo 20000 > /sys/devices/system/cpu/cpufreq/interactive/timer_rate - echo 1094400 > /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq - echo 0 > /sys/devices/system/cpu/cpufreq/interactive/io_is_busy - echo "1 960000:85 1094400:90" > /sys/devices/system/cpu/cpufreq/interactive/target_loads - echo 40000 > /sys/devices/system/cpu/cpufreq/interactive/min_sample_time - echo 40000 > /sys/devices/system/cpu/cpufreq/interactive/sampling_down_factor - - # Enable sched guided freq control - echo 1 > /sys/devices/system/cpu/cpufreq/interactive/use_sched_load - echo 1 > /sys/devices/system/cpu/cpufreq/interactive/use_migration_notif - echo 50000 > /proc/sys/kernel/sched_freq_inc_notify - echo 50000 > /proc/sys/kernel/sched_freq_dec_notify -} - -function 8937_sched_dcvs_hmp() -{ - # HMP scheduler settings - echo 3 > /proc/sys/kernel/sched_window_stats_policy - echo 3 > /proc/sys/kernel/sched_ravg_hist_size - # HMP Task packing settings - echo 20 > /proc/sys/kernel/sched_small_task - echo 30 > /sys/devices/system/cpu/cpu0/sched_mostly_idle_load - echo 30 > /sys/devices/system/cpu/cpu1/sched_mostly_idle_load - echo 30 > /sys/devices/system/cpu/cpu2/sched_mostly_idle_load - echo 30 > /sys/devices/system/cpu/cpu3/sched_mostly_idle_load - echo 30 > /sys/devices/system/cpu/cpu4/sched_mostly_idle_load - echo 30 > /sys/devices/system/cpu/cpu5/sched_mostly_idle_load - echo 30 > /sys/devices/system/cpu/cpu6/sched_mostly_idle_load - echo 30 > /sys/devices/system/cpu/cpu7/sched_mostly_idle_load - - echo 3 > /sys/devices/system/cpu/cpu0/sched_mostly_idle_nr_run - echo 3 > /sys/devices/system/cpu/cpu1/sched_mostly_idle_nr_run - echo 3 > /sys/devices/system/cpu/cpu2/sched_mostly_idle_nr_run - echo 3 > /sys/devices/system/cpu/cpu3/sched_mostly_idle_nr_run - echo 3 > /sys/devices/system/cpu/cpu4/sched_mostly_idle_nr_run - echo 3 > /sys/devices/system/cpu/cpu5/sched_mostly_idle_nr_run - echo 3 > /sys/devices/system/cpu/cpu6/sched_mostly_idle_nr_run - echo 3 > /sys/devices/system/cpu/cpu7/sched_mostly_idle_nr_run - - echo 0 > /sys/devices/system/cpu/cpu0/sched_prefer_idle - echo 0 > /sys/devices/system/cpu/cpu1/sched_prefer_idle - echo 0 > /sys/devices/system/cpu/cpu2/sched_prefer_idle - echo 0 > /sys/devices/system/cpu/cpu3/sched_prefer_idle - echo 0 > /sys/devices/system/cpu/cpu4/sched_prefer_idle - echo 0 > /sys/devices/system/cpu/cpu5/sched_prefer_idle - echo 0 > /sys/devices/system/cpu/cpu6/sched_prefer_idle - echo 0 > /sys/devices/system/cpu/cpu7/sched_prefer_idle - # enable governor for perf cluster - echo 1 > /sys/devices/system/cpu/cpu0/online - echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo "19000 1094400:39000" > /sys/devices/system/cpu/cpu0/cpufreq/interactive/above_hispeed_delay - echo 85 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/go_hispeed_load - echo 20000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/timer_rate - echo 1094400 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/hispeed_freq - echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/io_is_busy - echo "1 960000:85 1094400:90 1344000:80" > /sys/devices/system/cpu/cpu0/cpufreq/interactive/target_loads - echo 40000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/min_sample_time - echo 40000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/sampling_down_factor - - # enable governor for power cluster - echo 1 > /sys/devices/system/cpu/cpu4/online - echo "interactive" > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor - echo 39000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/above_hispeed_delay - echo 90 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/go_hispeed_load - echo 20000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/timer_rate - echo 768000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq - echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/io_is_busy - echo "1 768000:90" > /sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads - echo 40000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/min_sample_time - echo 40000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/sampling_down_factor - - # Enable sched guided freq control - echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_sched_load - echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_migration_notif - echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/use_sched_load - echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/use_migration_notif - echo 50000 > /proc/sys/kernel/sched_freq_inc_notify - echo 50000 > /proc/sys/kernel/sched_freq_dec_notify - -} - -function sdm660_sched_interactive_dcvs() { - - echo 0 > /proc/sys/kernel/sched_select_prev_cpu_us - echo 400000 > /proc/sys/kernel/sched_freq_inc_notify - echo 400000 > /proc/sys/kernel/sched_freq_dec_notify - echo 5 > /proc/sys/kernel/sched_spill_nr_run - echo 1 > /proc/sys/kernel/sched_restrict_cluster_spill - echo 100000 > /proc/sys/kernel/sched_short_burst_ns - echo 1 > /proc/sys/kernel/sched_prefer_sync_wakee_to_waker - echo 20 > /proc/sys/kernel/sched_small_wakee_task_load - - # disable thermal bcl hotplug to switch governor - echo 0 > /sys/module/msm_thermal/core_control/enabled - - # online CPU0 - echo 1 > /sys/devices/system/cpu/cpu0/online - # configure governor settings for little cluster - echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_sched_load - echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_migration_notif - echo "19000 1401600:39000" > /sys/devices/system/cpu/cpu0/cpufreq/interactive/above_hispeed_delay - echo 90 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/go_hispeed_load - echo 20000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/timer_rate - echo 1401600 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/hispeed_freq - echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/io_is_busy - echo "85 1747200:95" > /sys/devices/system/cpu/cpu0/cpufreq/interactive/target_loads - echo 39000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/min_sample_time - echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/max_freq_hysteresis - echo 633600 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/ignore_hispeed_on_notif - echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/fast_ramp_down - # online CPU4 - echo 1 > /sys/devices/system/cpu/cpu4/online - # configure governor settings for big cluster - echo "interactive" > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor - echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/use_sched_load - echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/use_migration_notif - echo "19000 1401600:39000" > /sys/devices/system/cpu/cpu4/cpufreq/interactive/above_hispeed_delay - echo 90 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/go_hispeed_load - echo 20000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/timer_rate - echo 1401600 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq - echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/io_is_busy - echo "85 1401600:90 2150400:95" > /sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads - echo 39000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/min_sample_time - echo 59000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/max_freq_hysteresis - echo 1113600 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq - echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/ignore_hispeed_on_notif - echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/fast_ramp_down - - # bring all cores online - echo 1 > /sys/devices/system/cpu/cpu0/online - echo 1 > /sys/devices/system/cpu/cpu1/online - echo 1 > /sys/devices/system/cpu/cpu2/online - echo 1 > /sys/devices/system/cpu/cpu3/online - echo 1 > /sys/devices/system/cpu/cpu4/online - echo 1 > /sys/devices/system/cpu/cpu5/online - echo 1 > /sys/devices/system/cpu/cpu6/online - echo 1 > /sys/devices/system/cpu/cpu7/online - - # configure LPM - echo N > /sys/module/lpm_levels/system/pwr/cpu0/ret/idle_enabled - echo N > /sys/module/lpm_levels/system/pwr/cpu1/ret/idle_enabled - echo N > /sys/module/lpm_levels/system/pwr/cpu2/ret/idle_enabled - echo N > /sys/module/lpm_levels/system/pwr/cpu3/ret/idle_enabled - echo N > /sys/module/lpm_levels/system/perf/cpu4/ret/idle_enabled - echo N > /sys/module/lpm_levels/system/perf/cpu5/ret/idle_enabled - echo N > /sys/module/lpm_levels/system/perf/cpu6/ret/idle_enabled - echo N > /sys/module/lpm_levels/system/perf/cpu7/ret/idle_enabled - echo N > /sys/module/lpm_levels/system/pwr/pwr-l2-dynret/idle_enabled - echo N > /sys/module/lpm_levels/system/perf/perf-l2-dynret/idle_enabled - echo N > /sys/module/lpm_levels/system/pwr/pwr-l2-ret/idle_enabled - echo N > /sys/module/lpm_levels/system/perf/perf-l2-ret/idle_enabled - - # re-enable thermal and BCL hotplug - echo 1 > /sys/module/msm_thermal/core_control/enabled - - # Enable bus-dcvs - for cpubw in /sys/class/devfreq/*qcom,cpubw* - do - echo "bw_hwmon" > $cpubw/governor - echo 50 > $cpubw/polling_interval - echo 762 > $cpubw/min_freq - echo "1525 3143 5859 7759 9887 10327 11863 13763" > $cpubw/bw_hwmon/mbps_zones - echo 4 > $cpubw/bw_hwmon/sample_ms - echo 85 > $cpubw/bw_hwmon/io_percent - echo 100 > $cpubw/bw_hwmon/decay_rate - echo 50 > $cpubw/bw_hwmon/bw_step - echo 20 > $cpubw/bw_hwmon/hist_memory - echo 0 > $cpubw/bw_hwmon/hyst_length - echo 80 > $cpubw/bw_hwmon/down_thres - echo 0 > $cpubw/bw_hwmon/low_power_ceil_mbps - echo 34 > $cpubw/bw_hwmon/low_power_io_percent - echo 20 > $cpubw/bw_hwmon/low_power_delay - echo 0 > $cpubw/bw_hwmon/guard_band_mbps - echo 250 > $cpubw/bw_hwmon/up_scale - echo 1600 > $cpubw/bw_hwmon/idle_mbps - done - - for memlat in /sys/class/devfreq/*qcom,memlat-cpu* - do - echo "mem_latency" > $memlat/governor - echo 10 > $memlat/polling_interval - echo 400 > $memlat/mem_latency/ratio_ceil - done - echo "cpufreq" > /sys/class/devfreq/soc:qcom,mincpubw/governor -} - -function sdm660_sched_schedutil_dcvs() { - - if [ $KernelVersionA -ge 4 ] && [ $KernelVersionB -ge 19 ]; then - # configure governor settings for little cluster - echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor - echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/up_rate_limit_us - echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/down_rate_limit_us - echo 1401600 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/hispeed_freq - echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/pl - echo 633600 > /sys/devices/system/cpu/cpufreq/policy0/scaling_min_freq - echo 902400 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/rtg_boost_freq - - # configure governor settings for big cluster - echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy4/scaling_governor - echo 0 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/up_rate_limit_us - echo 0 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/down_rate_limit_us - echo 1401600 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/hispeed_freq - echo 0 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/pl - echo 1113600 > /sys/devices/system/cpu/cpufreq/policy4/scaling_min_freq - echo 0 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/rtg_boost_freq - else - # configure governor settings for little cluster - echo "schedutil" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/up_rate_limit_us - echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/down_rate_limit_us - echo 1401600 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_freq - - # configure governor settings for big cluster - echo "schedutil" > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor - echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/up_rate_limit_us - echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/down_rate_limit_us - echo 1401600 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/hispeed_freq - fi - - echo 1 > /proc/sys/kernel/sched_walt_rotate_big_tasks - - #if the kernel version >=4.19,set input_boost_freq accordingly - if [ $KernelVersionA -ge 4 ] && [ $KernelVersionB -ge 19 ]; then - echo "0:1401600" > /sys/devices/system/cpu/cpu_boost/input_boost_freq - echo 40 > /sys/devices/system/cpu/cpu_boost/input_boost_ms - else - echo "0:1401600" > /sys/module/cpu_boost/parameters/input_boost_freq - echo 40 > /sys/module/cpu_boost/parameters/input_boost_ms - fi - - # sched_load_boost as -6 is equivalent to target load as 85. It is per cpu tunable. - echo -6 > /sys/devices/system/cpu/cpu0/sched_load_boost - echo -6 > /sys/devices/system/cpu/cpu1/sched_load_boost - echo -6 > /sys/devices/system/cpu/cpu2/sched_load_boost - echo -6 > /sys/devices/system/cpu/cpu3/sched_load_boost - echo -6 > /sys/devices/system/cpu/cpu4/sched_load_boost - echo -6 > /sys/devices/system/cpu/cpu5/sched_load_boost - echo -6 > /sys/devices/system/cpu/cpu6/sched_load_boost - echo -6 > /sys/devices/system/cpu/cpu7/sched_load_boost - echo 85 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_load - echo 85 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/hispeed_load - - # Enable bus-dcvs - for device in /sys/devices/platform/soc - do - for cpubw in $device/*cpu-cpu-ddr-bw/devfreq/*cpu-cpu-ddr-bw - do - echo "bw_hwmon" > $cpubw/governor - echo 50 > $cpubw/polling_interval - echo 762 > $cpubw/min_freq - echo "1525 3143 5859 7759 9887 10327 11863 13763" > $cpubw/bw_hwmon/mbps_zones - echo 4 > $cpubw/bw_hwmon/sample_ms - echo 85 > $cpubw/bw_hwmon/io_percent - echo 100 > $cpubw/bw_hwmon/decay_rate - echo 50 > $cpubw/bw_hwmon/bw_step - echo 20 > $cpubw/bw_hwmon/hist_memory - echo 0 > $cpubw/bw_hwmon/hyst_length - echo 80 > $cpubw/bw_hwmon/down_thres - echo 0 > $cpubw/bw_hwmon/guard_band_mbps - echo 250 > $cpubw/bw_hwmon/up_scale - echo 1600 > $cpubw/bw_hwmon/idle_mbps - done - - if [ $KernelVersionA -ge 4 ] && [ $KernelVersionB -le 14 ]; then - for memlat in $device/*cpu*-lat/devfreq/*cpu*-lat - do - echo "mem_latency" > $memlat/governor - echo 10 > $memlat/polling_interval - echo 400 > $memlat/mem_latency/ratio_ceil - done - - for latfloor in $device/*cpu*-ddr-latfloor*/devfreq/*cpu-ddr-latfloor* - do - echo "compute" > $latfloor/governor - echo 10 > $latfloor/polling_interval - done - fi - done - - if [ $KernelVersionA -ge 4 ] && [ $KernelVersionB -ge 19 ]; then - # memlat specific settings are moved to seperate file under - # device/target specific folder - setprop vendor.dcvs.prop 1 - fi - -} - -target=`getprop ro.board.platform` - -KernelVersionStr=`cat /proc/sys/kernel/osrelease` -KernelVersionS=${KernelVersionStr:2:2} -KernelVersionA=${KernelVersionStr:0:1} -KernelVersionB=${KernelVersionS%.*} - -function configure_zram_parameters() { - MemTotalStr=`cat /proc/meminfo | grep MemTotal` - MemTotal=${MemTotalStr:16:8} - - low_ram=`getprop ro.config.low_ram` - - # Zram disk - 75% for Go devices. - # For 512MB Go device, size = 384MB, set same for Non-Go. - # For 1GB Go device, size = 768MB, set same for Non-Go. - # For 2GB Go device, size = 1536MB, set same for Non-Go. - # For >2GB Non-Go devices, size = 50% of RAM size. Limit the size to 4GB. - # And enable lz4 zram compression for Go targets. - - let RamSizeGB="( $MemTotal / 1048576 ) + 1" - diskSizeUnit=M - if [ $RamSizeGB -le 2 ]; then - let zRamSizeMB="( $RamSizeGB * 1024 ) * 3 / 4" - else - let zRamSizeMB="( $RamSizeGB * 1024 ) / 2" - fi - - # use MB avoid 32 bit overflow - if [ $zRamSizeMB -gt 4096 ]; then - let zRamSizeMB=4096 - fi - - if [ "$low_ram" == "true" ]; then - echo lz4 > /sys/block/zram0/comp_algorithm - fi - - if [ -f /sys/block/zram0/disksize ]; then - if [ -f /sys/block/zram0/use_dedup ]; then - echo 1 > /sys/block/zram0/use_dedup - fi - echo "$zRamSizeMB""$diskSizeUnit" > /sys/block/zram0/disksize - - # ZRAM may use more memory than it saves if SLAB_STORE_USER - # debug option is enabled. - if [ -e /sys/kernel/slab/zs_handle ]; then - echo 0 > /sys/kernel/slab/zs_handle/store_user - fi - if [ -e /sys/kernel/slab/zspage ]; then - echo 0 > /sys/kernel/slab/zspage/store_user - fi - - #mkswap /dev/block/zram0 - #swapon /dev/block/zram0 -p 32758 - fi -} - -function configure_read_ahead_kb_values() { - MemTotalStr=`cat /proc/meminfo | grep MemTotal` - MemTotal=${MemTotalStr:16:8} - - dmpts=$(ls /sys/block/*/queue/read_ahead_kb | grep -e dm -e mmc) - - # Set 128 for <= 3GB & - # set 512 for >= 4GB targets. - if [ $MemTotal -le 3145728 ]; then - echo 128 > /sys/block/mmcblk0/bdi/read_ahead_kb - echo 128 > /sys/block/mmcblk0rpmb/bdi/read_ahead_kb - for dm in $dmpts; do - echo 128 > $dm - done - else - echo 512 > /sys/block/mmcblk0/bdi/read_ahead_kb - echo 512 > /sys/block/mmcblk0rpmb/bdi/read_ahead_kb - for dm in $dmpts; do - echo 512 > $dm - done - fi -} - -function disable_core_ctl() { - if [ -f /sys/devices/system/cpu/cpu0/core_ctl/enable ]; then - echo 0 > /sys/devices/system/cpu/cpu0/core_ctl/enable - else - echo 1 > /sys/devices/system/cpu/cpu0/core_ctl/disable - fi -} - -function enable_swap() { - MemTotalStr=`cat /proc/meminfo | grep MemTotal` - MemTotal=${MemTotalStr:16:8} - - SWAP_ENABLE_THRESHOLD=1048576 - swap_enable=`getprop ro.vendor.qti.config.swap` - - # Enable swap initially only for 1 GB targets - if [ "$MemTotal" -le "$SWAP_ENABLE_THRESHOLD" ] && [ "$swap_enable" == "true" ]; then - # Static swiftness - echo 1 > /proc/sys/vm/swap_ratio_enable - echo 70 > /proc/sys/vm/swap_ratio - - # Swap disk - 200MB size - if [ ! -f /data/vendor/swap/swapfile ]; then - dd if=/dev/zero of=/data/vendor/swap/swapfile bs=1m count=200 - fi - mkswap /data/vendor/swap/swapfile - swapon /data/vendor/swap/swapfile -p 32758 - fi -} - -function configure_memory_parameters() { - # Set Memory parameters. - # - # Set per_process_reclaim tuning parameters - # All targets will use vmpressure range 50-70, - # All targets will use 512 pages swap size. - # - # Set Low memory killer minfree parameters - # 32 bit Non-Go, all memory configurations will use 15K series - # 32 bit Go, all memory configurations will use uLMK + Memcg - # 64 bit will use Google default LMK series. - # - # Set ALMK parameters (usually above the highest minfree values) - # vmpressure_file_min threshold is always set slightly higher - # than LMK minfree's last bin value for all targets. It is calculated as - # vmpressure_file_min = (last bin - second last bin ) + last bin - # - # Set allocstall_threshold to 0 for all targets. - # - -ProductName=`getprop ro.product.name` -low_ram=`getprop ro.config.low_ram` - -if [ "$ProductName" == "msmnile" ] || [ "$ProductName" == "kona" ] || [ "$ProductName" == "sdmshrike_au" ]; then - # Enable ZRAM - configure_zram_parameters - configure_read_ahead_kb_values - echo 0 > /proc/sys/vm/page-cluster - echo 100 > /proc/sys/vm/swappiness -else - arch_type=`uname -m` - - # Set parameters for 32-bit Go targets. - if [ "$low_ram" == "true" ]; then - # Disable KLMK, ALMK, PPR & Core Control for Go devices - echo 0 > /sys/module/lowmemorykiller/parameters/enable_lmk - echo 0 > /sys/module/lowmemorykiller/parameters/enable_adaptive_lmk - echo 0 > /sys/module/process_reclaim/parameters/enable_process_reclaim - disable_core_ctl - # Enable oom_reaper for Go devices - if [ -f /proc/sys/vm/reap_mem_on_sigkill ]; then - echo 1 > /proc/sys/vm/reap_mem_on_sigkill - fi - else - - # Read adj series and set adj threshold for PPR and ALMK. - # This is required since adj values change from framework to framework. - adj_series=`cat /sys/module/lowmemorykiller/parameters/adj` - adj_1="${adj_series#*,}" - set_almk_ppr_adj="${adj_1%%,*}" - - # PPR and ALMK should not act on HOME adj and below. - # Normalized ADJ for HOME is 6. Hence multiply by 6 - # ADJ score represented as INT in LMK params, actual score can be in decimal - # Hence add 6 considering a worst case of 0.9 conversion to INT (0.9*6). - # For uLMK + Memcg, this will be set as 6 since adj is zero. - set_almk_ppr_adj=$(((set_almk_ppr_adj * 6) + 6)) - echo $set_almk_ppr_adj > /sys/module/lowmemorykiller/parameters/adj_max_shift - - # Calculate vmpressure_file_min as below & set for 64 bit: - # vmpressure_file_min = last_lmk_bin + (last_lmk_bin - last_but_one_lmk_bin) - if [ "$arch_type" == "aarch64" ]; then - minfree_series=`cat /sys/module/lowmemorykiller/parameters/minfree` - minfree_1="${minfree_series#*,}" ; rem_minfree_1="${minfree_1%%,*}" - minfree_2="${minfree_1#*,}" ; rem_minfree_2="${minfree_2%%,*}" - minfree_3="${minfree_2#*,}" ; rem_minfree_3="${minfree_3%%,*}" - minfree_4="${minfree_3#*,}" ; rem_minfree_4="${minfree_4%%,*}" - minfree_5="${minfree_4#*,}" - - vmpres_file_min=$((minfree_5 + (minfree_5 - rem_minfree_4))) - echo $vmpres_file_min > /sys/module/lowmemorykiller/parameters/vmpressure_file_min - else - # Set LMK series, vmpressure_file_min for 32 bit non-go targets. - # Disable Core Control, enable KLMK for non-go 8909. - if [ "$ProductName" == "msm8909" ]; then - disable_core_ctl - echo 1 > /sys/module/lowmemorykiller/parameters/enable_lmk - fi - echo "15360,19200,23040,26880,34415,43737" > /sys/module/lowmemorykiller/parameters/minfree - echo 53059 > /sys/module/lowmemorykiller/parameters/vmpressure_file_min - fi - - # Enable adaptive LMK for all targets & - # use Google default LMK series for all 64-bit targets >=2GB. - echo 1 > /sys/module/lowmemorykiller/parameters/enable_adaptive_lmk - - # Enable oom_reaper - if [ -f /sys/module/lowmemorykiller/parameters/oom_reaper ]; then - echo 1 > /sys/module/lowmemorykiller/parameters/oom_reaper - fi - - if [[ "$ProductName" != "bengal"* ]]; then - #bengal has appcompaction enabled. So not needed - # Set PPR parameters for other targets - if [ -f /sys/devices/soc0/soc_id ]; then - soc_id=`cat /sys/devices/soc0/soc_id` - else - soc_id=`cat /sys/devices/system/soc/soc0/id` - fi - - case "$soc_id" in - # Do not set PPR parameters for premium targets - # sdm845 - 321, 341 - # msm8998 - 292, 319 - # msm8996 - 246, 291, 305, 312 - "321" | "341" | "292" | "319" | "246" | "291" | "305" | "312") - ;; - *) - #Set PPR parameters for all other targets. - echo $set_almk_ppr_adj > /sys/module/process_reclaim/parameters/min_score_adj - echo 1 > /sys/module/process_reclaim/parameters/enable_process_reclaim - echo 50 > /sys/module/process_reclaim/parameters/pressure_min - echo 70 > /sys/module/process_reclaim/parameters/pressure_max - echo 30 > /sys/module/process_reclaim/parameters/swap_opt_eff - echo 512 > /sys/module/process_reclaim/parameters/per_swap_size - ;; - esac - fi - fi - - if [[ "$ProductName" == "bengal"* ]]; then - #Set PPR nomap parameters for bengal targets - echo 1 > /sys/module/process_reclaim/parameters/enable_process_reclaim - echo 50 > /sys/module/process_reclaim/parameters/pressure_min - echo 70 > /sys/module/process_reclaim/parameters/pressure_max - echo 30 > /sys/module/process_reclaim/parameters/swap_opt_eff - echo 0 > /sys/module/process_reclaim/parameters/per_swap_size - echo 7680 > /sys/module/process_reclaim/parameters/tsk_nomap_swap_sz - fi - - # Set allocstall_threshold to 0 for all targets. - # Set swappiness to 100 for all targets - echo 0 > /sys/module/vmpressure/parameters/allocstall_threshold - echo 100 > /proc/sys/vm/swappiness - - # Disable wsf for all targets beacause we are using efk. - # wsf Range : 1..1000 So set to bare minimum value 1. - echo 1 > /proc/sys/vm/watermark_scale_factor - - configure_zram_parameters - - configure_read_ahead_kb_values - - enable_swap -fi -} - -function enable_memory_features() -{ - MemTotalStr=`cat /proc/meminfo | grep MemTotal` - MemTotal=${MemTotalStr:16:8} - - if [ $MemTotal -le 2097152 ]; then - #Enable B service adj transition for 2GB or less memory - setprop ro.vendor.qti.sys.fw.bservice_enable true - setprop ro.vendor.qti.sys.fw.bservice_limit 5 - setprop ro.vendor.qti.sys.fw.bservice_age 5000 - - #Enable Delay Service Restart - setprop ro.vendor.qti.am.reschedule_service true - fi -} - -function start_hbtp() -{ - # Start the Host based Touch processing but not in the power off mode. - bootmode=`getprop ro.bootmode` - if [ "charger" != $bootmode ]; then - start vendor.hbtp - fi -} - -case "$target" in - "msm7201a_ffa" | "msm7201a_surf" | "msm7627_ffa" | "msm7627_6x" | "msm7627a" | "msm7627_surf" | \ - "qsd8250_surf" | "qsd8250_ffa" | "msm7630_surf" | "msm7630_1x" | "msm7630_fusion" | "qsd8650a_st1x") - echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo 90 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold - ;; -esac - -case "$target" in - "msm7201a_ffa" | "msm7201a_surf") - echo 500000 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate - ;; -esac - -case "$target" in - "msm7630_surf" | "msm7630_1x" | "msm7630_fusion") - echo 75000 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate - echo 1 > /sys/module/pm2/parameters/idle_sleep_mode - ;; -esac - -case "$target" in - "msm7201a_ffa" | "msm7201a_surf" | "msm7627_ffa" | "msm7627_6x" | "msm7627_surf" | "msm7630_surf" | "msm7630_1x" | "msm7630_fusion" | "msm7627a" ) - echo 245760 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - ;; -esac - -case "$target" in - "msm8660") - echo 1 > /sys/module/rpm_resources/enable_low_power/L2_cache - echo 1 > /sys/module/rpm_resources/enable_low_power/pxo - echo 2 > /sys/module/rpm_resources/enable_low_power/vdd_dig - echo 2 > /sys/module/rpm_resources/enable_low_power/vdd_mem - echo 1 > /sys/module/rpm_resources/enable_low_power/rpm_cpu - echo 1 > /sys/module/msm_pm/modes/cpu0/power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu1/power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu0/power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu1/power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/idle_enabled - echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo "ondemand" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor - echo 50000 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate - echo 90 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold - echo 1 > /sys/devices/system/cpu/cpufreq/ondemand/io_is_busy - echo 4 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor - echo 384000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - echo 384000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq - chown -h system /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq - chown -h system /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - chown -h system /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq - chown -h system /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq - chown -h root.system /sys/devices/system/cpu/mfreq - chmod -h 220 /sys/devices/system/cpu/mfreq - chown -h root.system /sys/devices/system/cpu/cpu1/online - chmod -h 664 /sys/devices/system/cpu/cpu1/online - ;; -esac - -case "$target" in - "msm8960") - echo 1 > /sys/module/rpm_resources/enable_low_power/L2_cache - echo 1 > /sys/module/rpm_resources/enable_low_power/pxo - echo 1 > /sys/module/rpm_resources/enable_low_power/vdd_dig - echo 1 > /sys/module/rpm_resources/enable_low_power/vdd_mem - echo 1 > /sys/module/msm_pm/modes/cpu0/retention/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu0/power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu1/power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu2/power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu3/power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu0/power_collapse/idle_enabled - echo 0 > /sys/module/msm_thermal/core_control/enabled - echo 1 > /sys/devices/system/cpu/cpu1/online - echo 1 > /sys/devices/system/cpu/cpu2/online - echo 1 > /sys/devices/system/cpu/cpu3/online - echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo "ondemand" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor - echo "ondemand" > /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor - echo "ondemand" > /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor - echo 50000 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate - echo 90 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold - echo 1 > /sys/devices/system/cpu/cpufreq/ondemand/io_is_busy - echo 4 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor - echo 10 > /sys/devices/system/cpu/cpufreq/ondemand/down_differential - echo 70 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold_multi_core - echo 3 > /sys/devices/system/cpu/cpufreq/ondemand/down_differential_multi_core - echo 918000 > /sys/devices/system/cpu/cpufreq/ondemand/optimal_freq - echo 1026000 > /sys/devices/system/cpu/cpufreq/ondemand/sync_freq - echo 80 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold_any_cpu_load - chown -h system /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate - chown -h system /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor - chown -h system /sys/devices/system/cpu/cpufreq/ondemand/io_is_busy - echo 384000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - echo 384000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq - echo 384000 > /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq - echo 384000 > /sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq - chown -h system /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq - chown -h system /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - chown -h system /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq - chown -h system /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq - chown -h system /sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq - chown -h system /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq - chown -h system /sys/devices/system/cpu/cpu3/cpufreq/scaling_max_freq - chown -h system /sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq - echo 1 > /sys/module/msm_thermal/core_control/enabled - chown -h root.system /sys/devices/system/cpu/mfreq - chmod -h 220 /sys/devices/system/cpu/mfreq - chown -h root.system /sys/devices/system/cpu/cpu1/online - chown -h root.system /sys/devices/system/cpu/cpu2/online - chown -h root.system /sys/devices/system/cpu/cpu3/online - chmod -h 664 /sys/devices/system/cpu/cpu1/online - chmod -h 664 /sys/devices/system/cpu/cpu2/online - chmod -h 664 /sys/devices/system/cpu/cpu3/online - # set DCVS parameters for CPU - echo 40000 > /sys/module/msm_dcvs/cores/cpu0/slack_time_max_us - echo 40000 > /sys/module/msm_dcvs/cores/cpu0/slack_time_min_us - echo 100000 > /sys/module/msm_dcvs/cores/cpu0/em_win_size_min_us - echo 500000 > /sys/module/msm_dcvs/cores/cpu0/em_win_size_max_us - echo 0 > /sys/module/msm_dcvs/cores/cpu0/slack_mode_dynamic - echo 1000000 > /sys/module/msm_dcvs/cores/cpu0/disable_pc_threshold - echo 25000 > /sys/module/msm_dcvs/cores/cpu1/slack_time_max_us - echo 25000 > /sys/module/msm_dcvs/cores/cpu1/slack_time_min_us - echo 100000 > /sys/module/msm_dcvs/cores/cpu1/em_win_size_min_us - echo 500000 > /sys/module/msm_dcvs/cores/cpu1/em_win_size_max_us - echo 0 > /sys/module/msm_dcvs/cores/cpu1/slack_mode_dynamic - echo 1000000 > /sys/module/msm_dcvs/cores/cpu1/disable_pc_threshold - echo 25000 > /sys/module/msm_dcvs/cores/cpu2/slack_time_max_us - echo 25000 > /sys/module/msm_dcvs/cores/cpu2/slack_time_min_us - echo 100000 > /sys/module/msm_dcvs/cores/cpu2/em_win_size_min_us - echo 500000 > /sys/module/msm_dcvs/cores/cpu2/em_win_size_max_us - echo 0 > /sys/module/msm_dcvs/cores/cpu2/slack_mode_dynamic - echo 1000000 > /sys/module/msm_dcvs/cores/cpu2/disable_pc_threshold - echo 25000 > /sys/module/msm_dcvs/cores/cpu3/slack_time_max_us - echo 25000 > /sys/module/msm_dcvs/cores/cpu3/slack_time_min_us - echo 100000 > /sys/module/msm_dcvs/cores/cpu3/em_win_size_min_us - echo 500000 > /sys/module/msm_dcvs/cores/cpu3/em_win_size_max_us - echo 0 > /sys/module/msm_dcvs/cores/cpu3/slack_mode_dynamic - echo 1000000 > /sys/module/msm_dcvs/cores/cpu3/disable_pc_threshold - # set DCVS parameters for GPU - echo 20000 > /sys/module/msm_dcvs/cores/gpu0/slack_time_max_us - echo 20000 > /sys/module/msm_dcvs/cores/gpu0/slack_time_min_us - echo 0 > /sys/module/msm_dcvs/cores/gpu0/slack_mode_dynamic - # set msm_mpdecision parameters - echo 45000 > /sys/module/msm_mpdecision/slack_time_max_us - echo 15000 > /sys/module/msm_mpdecision/slack_time_min_us - echo 100000 > /sys/module/msm_mpdecision/em_win_size_min_us - echo 1000000 > /sys/module/msm_mpdecision/em_win_size_max_us - echo 3 > /sys/module/msm_mpdecision/online_util_pct_min - echo 25 > /sys/module/msm_mpdecision/online_util_pct_max - echo 97 > /sys/module/msm_mpdecision/em_max_util_pct - echo 2 > /sys/module/msm_mpdecision/rq_avg_poll_ms - echo 10 > /sys/module/msm_mpdecision/mp_em_rounding_point_min - echo 85 > /sys/module/msm_mpdecision/mp_em_rounding_point_max - echo 50 > /sys/module/msm_mpdecision/iowait_threshold_pct - #set permissions for the nodes needed by display on/off hook - chown -h system /sys/module/msm_dcvs/cores/cpu0/slack_time_max_us - chown -h system /sys/module/msm_dcvs/cores/cpu0/slack_time_min_us - chown -h system /sys/module/msm_mpdecision/slack_time_max_us - chown -h system /sys/module/msm_mpdecision/slack_time_min_us - chmod -h 664 /sys/module/msm_dcvs/cores/cpu0/slack_time_max_us - chmod -h 664 /sys/module/msm_dcvs/cores/cpu0/slack_time_min_us - chmod -h 664 /sys/module/msm_mpdecision/slack_time_max_us - chmod -h 664 /sys/module/msm_mpdecision/slack_time_min_us - if [ -f /sys/devices/soc0/soc_id ]; then - soc_id=`cat /sys/devices/soc0/soc_id` - else - soc_id=`cat /sys/devices/system/soc/soc0/id` - fi - case "$soc_id" in - "130") - echo 230 > /sys/class/gpio/export - echo 228 > /sys/class/gpio/export - echo 229 > /sys/class/gpio/export - echo "in" > /sys/class/gpio/gpio230/direction - echo "rising" > /sys/class/gpio/gpio230/edge - echo "in" > /sys/class/gpio/gpio228/direction - echo "rising" > /sys/class/gpio/gpio228/edge - echo "in" > /sys/class/gpio/gpio229/direction - echo "rising" > /sys/class/gpio/gpio229/edge - echo 253 > /sys/class/gpio/export - echo 254 > /sys/class/gpio/export - echo 257 > /sys/class/gpio/export - echo 258 > /sys/class/gpio/export - echo 259 > /sys/class/gpio/export - echo "out" > /sys/class/gpio/gpio253/direction - echo "out" > /sys/class/gpio/gpio254/direction - echo "out" > /sys/class/gpio/gpio257/direction - echo "out" > /sys/class/gpio/gpio258/direction - echo "out" > /sys/class/gpio/gpio259/direction - chown -h media /sys/class/gpio/gpio253/value - chown -h media /sys/class/gpio/gpio254/value - chown -h media /sys/class/gpio/gpio257/value - chown -h media /sys/class/gpio/gpio258/value - chown -h media /sys/class/gpio/gpio259/value - chown -h media /sys/class/gpio/gpio253/direction - chown -h media /sys/class/gpio/gpio254/direction - chown -h media /sys/class/gpio/gpio257/direction - chown -h media /sys/class/gpio/gpio258/direction - chown -h media /sys/class/gpio/gpio259/direction - echo 0 > /sys/module/rpm_resources/enable_low_power/vdd_dig - echo 0 > /sys/module/rpm_resources/enable_low_power/vdd_mem - ;; - esac - ;; -esac - -case "$target" in - "msm8974") - echo 4 > /sys/module/lpm_levels/enable_low_power/l2 - echo 1 > /sys/module/msm_pm/modes/cpu0/power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu1/power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu2/power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu3/power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu0/power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu1/power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu2/power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu3/power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu0/retention/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu1/retention/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu2/retention/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu3/retention/idle_enabled - echo 0 > /sys/module/msm_thermal/core_control/enabled - echo 1 > /sys/devices/system/cpu/cpu1/online - echo 1 > /sys/devices/system/cpu/cpu2/online - echo 1 > /sys/devices/system/cpu/cpu3/online - if [ -f /sys/devices/soc0/soc_id ]; then - soc_id=`cat /sys/devices/soc0/soc_id` - else - soc_id=`cat /sys/devices/system/soc/soc0/id` - fi - case "$soc_id" in - "208" | "211" | "214" | "217" | "209" | "212" | "215" | "218" | "194" | "210" | "213" | "216") - for devfreq_gov in /sys/class/devfreq/qcom,cpubw*/governor - do - echo "cpubw_hwmon" > $devfreq_gov - done - echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo "interactive" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor - echo "interactive" > /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor - echo "interactive" > /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor - echo "20000 1400000:40000 1700000:20000" > /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay - echo 90 > /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load - echo 1190400 > /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq - echo 1 > /sys/devices/system/cpu/cpufreq/interactive/io_is_busy - echo "85 1500000:90 1800000:70" > /sys/devices/system/cpu/cpufreq/interactive/target_loads - echo 40000 > /sys/devices/system/cpu/cpufreq/interactive/min_sample_time - echo 20 > /sys/module/cpu_boost/parameters/boost_ms - echo 1728000 > /sys/module/cpu_boost/parameters/sync_threshold - echo 100000 > /sys/devices/system/cpu/cpufreq/interactive/sampling_down_factor - echo 1497600 > /sys/module/cpu_boost/parameters/input_boost_freq - echo 40 > /sys/module/cpu_boost/parameters/input_boost_ms - ;; - *) - echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo "ondemand" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor - echo "ondemand" > /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor - echo "ondemand" > /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor - echo 50000 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate - echo 90 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold - echo 1 > /sys/devices/system/cpu/cpufreq/ondemand/io_is_busy - echo 2 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor - echo 10 > /sys/devices/system/cpu/cpufreq/ondemand/down_differential - echo 70 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold_multi_core - echo 3 > /sys/devices/system/cpu/cpufreq/ondemand/down_differential_multi_core - echo 960000 > /sys/devices/system/cpu/cpufreq/ondemand/optimal_freq - echo 960000 > /sys/devices/system/cpu/cpufreq/ondemand/sync_freq - echo 1190400 > /sys/devices/system/cpu/cpufreq/ondemand/input_boost - echo 80 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold_any_cpu_load - ;; - esac - echo 300000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - echo 300000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq - echo 300000 > /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq - echo 300000 > /sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq - chown -h system /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq - chown -h system /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - echo 1 > /sys/module/msm_thermal/core_control/enabled - chown -h root.system /sys/devices/system/cpu/mfreq - chmod -h 220 /sys/devices/system/cpu/mfreq - chown -h root.system /sys/devices/system/cpu/cpu1/online - chown -h root.system /sys/devices/system/cpu/cpu2/online - chown -h root.system /sys/devices/system/cpu/cpu3/online - chmod -h 664 /sys/devices/system/cpu/cpu1/online - chmod -h 664 /sys/devices/system/cpu/cpu2/online - chmod -h 664 /sys/devices/system/cpu/cpu3/online - echo 1 > /dev/cpuctl/apps/cpu.notify_on_migrate - ;; -esac - -case "$target" in - "msm8916") - if [ -f /sys/devices/soc0/soc_id ]; then - soc_id=`cat /sys/devices/soc0/soc_id` - else - soc_id=`cat /sys/devices/system/soc/soc0/id` - fi - case "$soc_id" in - "206") - echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled - echo 1 > /sys/devices/system/cpu/cpu1/online - echo 1 > /sys/devices/system/cpu/cpu2/online - echo 1 > /sys/devices/system/cpu/cpu3/online - echo 2 > /sys/class/net/rmnet0/queues/rx-0/rps_cpus - ;; - "247" | "248" | "249" | "250") - echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled - echo 1 > /sys/devices/system/cpu/cpu1/online - echo 1 > /sys/devices/system/cpu/cpu2/online - echo 1 > /sys/devices/system/cpu/cpu3/online - ;; - "239" | "241" | "263") - if [ -f /sys/devices/soc0/revision ]; then - revision=`cat /sys/devices/soc0/revision` - else - revision=`cat /sys/devices/system/soc/soc0/revision` - fi - echo 10 > /sys/class/net/rmnet0/queues/rx-0/rps_cpus - if [ -f /sys/devices/soc0/platform_subtype_id ]; then - platform_subtype_id=`cat /sys/devices/soc0/platform_subtype_id` - fi - if [ -f /sys/devices/soc0/hw_platform ]; then - hw_platform=`cat /sys/devices/soc0/hw_platform` - fi - case "$soc_id" in - "239") - case "$hw_platform" in - "Surf") - case "$platform_subtype_id" in - "1" | "2") - start_hbtp - ;; - esac - ;; - "MTP") - case "$platform_subtype_id" in - "3") - start_hbtp - ;; - esac - ;; - esac - ;; - esac - ;; - "268" | "269" | "270" | "271") - echo 10 > /sys/class/net/rmnet0/queues/rx-0/rps_cpus - ;; - "233" | "240" | "242") - echo 1 > /sys/devices/system/cpu/cpu1/online - echo 1 > /sys/devices/system/cpu/cpu2/online - echo 1 > /sys/devices/system/cpu/cpu3/online - ;; - esac - ;; -esac - -case "$target" in - "msm8226") - echo 4 > /sys/module/lpm_levels/enable_low_power/l2 - echo 1 > /sys/module/msm_pm/modes/cpu0/power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu1/power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu2/power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu3/power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu0/power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu1/power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu2/power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu3/power_collapse/idle_enabled - echo 1 > /sys/devices/system/cpu/cpu1/online - echo 1 > /sys/devices/system/cpu/cpu2/online - echo 1 > /sys/devices/system/cpu/cpu3/online - echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo 50000 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate - echo 90 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold - echo 1 > /sys/devices/system/cpu/cpufreq/ondemand/io_is_busy - echo 2 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor - echo 10 > /sys/devices/system/cpu/cpufreq/ondemand/down_differential - echo 70 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold_multi_core - echo 10 > /sys/devices/system/cpu/cpufreq/ondemand/down_differential_multi_core - echo 787200 > /sys/devices/system/cpu/cpufreq/ondemand/optimal_freq - echo 300000 > /sys/devices/system/cpu/cpufreq/ondemand/sync_freq - echo 80 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold_any_cpu_load - echo 300000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - chown -h system /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq - chown -h system /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - chown -h root.system /sys/devices/system/cpu/cpu1/online - chown -h root.system /sys/devices/system/cpu/cpu2/online - chown -h root.system /sys/devices/system/cpu/cpu3/online - chmod -h 664 /sys/devices/system/cpu/cpu1/online - chmod -h 664 /sys/devices/system/cpu/cpu2/online - chmod -h 664 /sys/devices/system/cpu/cpu3/online - ;; -esac - -case "$target" in - "msm8610") - echo 4 > /sys/module/lpm_levels/enable_low_power/l2 - echo 1 > /sys/module/msm_pm/modes/cpu0/power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu1/power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu2/power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu3/power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu0/power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu1/power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu2/power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu3/power_collapse/idle_enabled - echo 1 > /sys/devices/system/cpu/cpu1/online - echo 1 > /sys/devices/system/cpu/cpu2/online - echo 1 > /sys/devices/system/cpu/cpu3/online - echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo 50000 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate - echo 90 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold - echo 1 > /sys/devices/system/cpu/cpufreq/ondemand/io_is_busy - echo 2 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor - echo 10 > /sys/devices/system/cpu/cpufreq/ondemand/down_differential - echo 70 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold_multi_core - echo 10 > /sys/devices/system/cpu/cpufreq/ondemand/down_differential_multi_core - echo 787200 > /sys/devices/system/cpu/cpufreq/ondemand/optimal_freq - echo 300000 > /sys/devices/system/cpu/cpufreq/ondemand/sync_freq - echo 80 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold_any_cpu_load - echo 300000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - setprop ro.qualcomm.perf.min_freq 7 - echo 1 > /sys/kernel/mm/ksm/deferred_timer - chown -h system /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq - chown -h system /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - chown -h root.system /sys/devices/system/cpu/cpu1/online - chown -h root.system /sys/devices/system/cpu/cpu2/online - chown -h root.system /sys/devices/system/cpu/cpu3/online - chmod -h 664 /sys/devices/system/cpu/cpu1/online - chmod -h 664 /sys/devices/system/cpu/cpu2/online - chmod -h 664 /sys/devices/system/cpu/cpu3/online - ;; -esac - -case "$target" in - "msm8916") - - if [ -f /sys/devices/soc0/soc_id ]; then - soc_id=`cat /sys/devices/soc0/soc_id` - else - soc_id=`cat /sys/devices/system/soc/soc0/id` - fi - - # HMP scheduler settings for 8916, 8936, 8939, 8929 - echo 3 > /proc/sys/kernel/sched_window_stats_policy - echo 3 > /proc/sys/kernel/sched_ravg_hist_size - - # Apply governor settings for 8916 - case "$soc_id" in - "206" | "247" | "248" | "249" | "250") - - # HMP scheduler load tracking settings - echo 3 > /proc/sys/kernel/sched_ravg_hist_size - - # HMP Task packing settings for 8916 - echo 20 > /proc/sys/kernel/sched_small_task - echo 30 > /proc/sys/kernel/sched_mostly_idle_load - echo 3 > /proc/sys/kernel/sched_mostly_idle_nr_run - - # disable thermal core_control to update scaling_min_freq - echo 0 > /sys/module/msm_thermal/core_control/enabled - echo 1 > /sys/devices/system/cpu/cpu0/online - echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo 800000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - # enable thermal core_control now - echo 1 > /sys/module/msm_thermal/core_control/enabled - - echo "25000 1094400:50000" > /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay - echo 90 > /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load - echo 30000 > /sys/devices/system/cpu/cpufreq/interactive/timer_rate - echo 998400 > /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq - echo 0 > /sys/devices/system/cpu/cpufreq/interactive/io_is_busy - echo "1 800000:85 998400:90 1094400:80" > /sys/devices/system/cpu/cpufreq/interactive/target_loads - echo 50000 > /sys/devices/system/cpu/cpufreq/interactive/min_sample_time - echo 50000 > /sys/devices/system/cpu/cpufreq/interactive/sampling_down_factor - - # Bring up all cores online - echo 1 > /sys/devices/system/cpu/cpu1/online - echo 1 > /sys/devices/system/cpu/cpu2/online - echo 1 > /sys/devices/system/cpu/cpu3/online - echo 1 > /sys/devices/system/cpu/cpu4/online - ;; - esac - - # Apply governor settings for 8936 - case "$soc_id" in - "233" | "240" | "242") - - # HMP scheduler load tracking settings - echo 3 > /proc/sys/kernel/sched_ravg_hist_size - - # HMP Task packing settings for 8936 - echo 50 > /proc/sys/kernel/sched_small_task - echo 50 > /proc/sys/kernel/sched_mostly_idle_load - echo 10 > /proc/sys/kernel/sched_mostly_idle_nr_run - - # disable thermal core_control to update scaling_min_freq, interactive gov - echo 0 > /sys/module/msm_thermal/core_control/enabled - echo 1 > /sys/devices/system/cpu/cpu0/online - echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo 800000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - # enable thermal core_control now - echo 1 > /sys/module/msm_thermal/core_control/enabled - - echo "25000 1113600:50000" > /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay - echo 90 > /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load - echo 30000 > /sys/devices/system/cpu/cpufreq/interactive/timer_rate - echo 960000 > /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq - echo 0 > /sys/devices/system/cpu/cpufreq/interactive/io_is_busy - echo "1 800000:85 1113600:90 1267200:80" > /sys/devices/system/cpu/cpufreq/interactive/target_loads - echo 50000 > /sys/devices/system/cpu/cpufreq/interactive/min_sample_time - echo 50000 > /sys/devices/system/cpu/cpufreq/interactive/sampling_down_factor - - # Bring up all cores online - echo 1 > /sys/devices/system/cpu/cpu1/online - echo 1 > /sys/devices/system/cpu/cpu2/online - echo 1 > /sys/devices/system/cpu/cpu3/online - echo 1 > /sys/devices/system/cpu/cpu4/online - - # Enable low power modes - echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled - - for gpu_bimc_io_percent in /sys/class/devfreq/*qcom,gpubw*/bw_hwmon/io_percent - do - echo 40 > $gpu_bimc_io_percent - done - ;; - esac - - # Apply governor settings for 8939 - case "$soc_id" in - "239" | "241" | "263" | "268" | "269" | "270" | "271") - - if [ `cat /sys/devices/soc0/revision` != "3.0" ]; then - # Apply 1.0 and 2.0 specific Sched & Governor settings - - # HMP scheduler load tracking settings - echo 5 > /proc/sys/kernel/sched_ravg_hist_size - - # HMP Task packing settings for 8939, 8929 - echo 20 > /proc/sys/kernel/sched_small_task - - for devfreq_gov in /sys/class/devfreq/*qcom,mincpubw*/governor - do - echo "cpufreq" > $devfreq_gov - done - - for devfreq_gov in /sys/class/devfreq/*qcom,cpubw*/governor - do - echo "bw_hwmon" > $devfreq_gov - for cpu_io_percent in /sys/class/devfreq/*qcom,cpubw*/bw_hwmon/io_percent - do - echo 20 > $cpu_io_percent - done - done - - for gpu_bimc_io_percent in /sys/class/devfreq/*qcom,gpubw*/bw_hwmon/io_percent - do - echo 40 > $gpu_bimc_io_percent - done - # disable thermal core_control to update interactive gov settings - echo 0 > /sys/module/msm_thermal/core_control/enabled - - # enable governor for perf cluster - echo 1 > /sys/devices/system/cpu/cpu0/online - echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo "20000 1113600:50000" > /sys/devices/system/cpu/cpu0/cpufreq/interactive/above_hispeed_delay - echo 85 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/go_hispeed_load - echo 20000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/timer_rate - echo 1113600 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/hispeed_freq - echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/io_is_busy - echo "1 960000:85 1113600:90 1344000:80" > /sys/devices/system/cpu/cpu0/cpufreq/interactive/target_loads - echo 50000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/min_sample_time - echo 50000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/sampling_down_factor - echo 960000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - - # enable governor for power cluster - echo 1 > /sys/devices/system/cpu/cpu4/online - echo "interactive" > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor - echo "25000 800000:50000" > /sys/devices/system/cpu/cpu4/cpufreq/interactive/above_hispeed_delay - echo 90 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/go_hispeed_load - echo 40000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/timer_rate - echo 998400 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq - echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/io_is_busy - echo "1 800000:90" > /sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads - echo 40000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/min_sample_time - echo 40000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/sampling_down_factor - echo 800000 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq - - # enable thermal core_control now - echo 1 > /sys/module/msm_thermal/core_control/enabled - - # Bring up all cores online - echo 1 > /sys/devices/system/cpu/cpu1/online - echo 1 > /sys/devices/system/cpu/cpu2/online - echo 1 > /sys/devices/system/cpu/cpu3/online - echo 1 > /sys/devices/system/cpu/cpu4/online - echo 1 > /sys/devices/system/cpu/cpu5/online - echo 1 > /sys/devices/system/cpu/cpu6/online - echo 1 > /sys/devices/system/cpu/cpu7/online - - # Enable low power modes - echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled - - # HMP scheduler (big.Little cluster related) settings - echo 75 > /proc/sys/kernel/sched_upmigrate - echo 60 > /proc/sys/kernel/sched_downmigrate - - # cpu idle load threshold - echo 30 > /sys/devices/system/cpu/cpu0/sched_mostly_idle_load - echo 30 > /sys/devices/system/cpu/cpu1/sched_mostly_idle_load - echo 30 > /sys/devices/system/cpu/cpu2/sched_mostly_idle_load - echo 30 > /sys/devices/system/cpu/cpu3/sched_mostly_idle_load - echo 30 > /sys/devices/system/cpu/cpu4/sched_mostly_idle_load - echo 30 > /sys/devices/system/cpu/cpu5/sched_mostly_idle_load - echo 30 > /sys/devices/system/cpu/cpu6/sched_mostly_idle_load - echo 30 > /sys/devices/system/cpu/cpu7/sched_mostly_idle_load - - # cpu idle nr run threshold - echo 3 > /sys/devices/system/cpu/cpu0/sched_mostly_idle_nr_run - echo 3 > /sys/devices/system/cpu/cpu1/sched_mostly_idle_nr_run - echo 3 > /sys/devices/system/cpu/cpu2/sched_mostly_idle_nr_run - echo 3 > /sys/devices/system/cpu/cpu3/sched_mostly_idle_nr_run - echo 3 > /sys/devices/system/cpu/cpu4/sched_mostly_idle_nr_run - echo 3 > /sys/devices/system/cpu/cpu5/sched_mostly_idle_nr_run - echo 3 > /sys/devices/system/cpu/cpu6/sched_mostly_idle_nr_run - echo 3 > /sys/devices/system/cpu/cpu7/sched_mostly_idle_nr_run - - else - # Apply 3.0 specific Sched & Governor settings - # HMP scheduler settings for 8939 V3.0 - echo 3 > /proc/sys/kernel/sched_window_stats_policy - echo 3 > /proc/sys/kernel/sched_ravg_hist_size - echo 20000000 > /proc/sys/kernel/sched_ravg_window - - # HMP Task packing settings for 8939 V3.0 - echo 20 > /proc/sys/kernel/sched_small_task - echo 30 > /proc/sys/kernel/sched_mostly_idle_load - echo 3 > /proc/sys/kernel/sched_mostly_idle_nr_run - - echo 0 > /sys/devices/system/cpu/cpu0/sched_prefer_idle - echo 0 > /sys/devices/system/cpu/cpu1/sched_prefer_idle - echo 0 > /sys/devices/system/cpu/cpu2/sched_prefer_idle - echo 0 > /sys/devices/system/cpu/cpu3/sched_prefer_idle - echo 0 > /sys/devices/system/cpu/cpu4/sched_prefer_idle - echo 0 > /sys/devices/system/cpu/cpu5/sched_prefer_idle - echo 0 > /sys/devices/system/cpu/cpu6/sched_prefer_idle - echo 0 > /sys/devices/system/cpu/cpu7/sched_prefer_idle - - for devfreq_gov in /sys/class/devfreq/*qcom,mincpubw*/governor - do - echo "cpufreq" > $devfreq_gov - done - - for devfreq_gov in /sys/class/devfreq/*qcom,cpubw*/governor - do - echo "bw_hwmon" > $devfreq_gov - for cpu_io_percent in /sys/class/devfreq/*qcom,cpubw*/bw_hwmon/io_percent - do - echo 20 > $cpu_io_percent - done - done - - for gpu_bimc_io_percent in /sys/class/devfreq/*qcom,gpubw*/bw_hwmon/io_percent - do - echo 40 > $gpu_bimc_io_percent - done - # disable thermal core_control to update interactive gov settings - echo 0 > /sys/module/msm_thermal/core_control/enabled - - # enable governor for perf cluster - echo 1 > /sys/devices/system/cpu/cpu0/online - echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo "19000 1113600:39000" > /sys/devices/system/cpu/cpu0/cpufreq/interactive/above_hispeed_delay - echo 85 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/go_hispeed_load - echo 20000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/timer_rate - echo 1113600 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/hispeed_freq - echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/io_is_busy - echo "1 960000:85 1113600:90 1344000:80" > /sys/devices/system/cpu/cpu0/cpufreq/interactive/target_loads - echo 40000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/min_sample_time - echo 40000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/sampling_down_factor - echo 960000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - - # enable governor for power cluster - echo 1 > /sys/devices/system/cpu/cpu4/online - echo "interactive" > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor - echo 39000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/above_hispeed_delay - echo 90 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/go_hispeed_load - echo 20000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/timer_rate - echo 800000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq - echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/io_is_busy - echo "1 800000:90" > /sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads - echo 40000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/min_sample_time - echo 40000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/sampling_down_factor - echo 800000 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq - - # enable thermal core_control now - echo 1 > /sys/module/msm_thermal/core_control/enabled - - # Bring up all cores online - echo 1 > /sys/devices/system/cpu/cpu1/online - echo 1 > /sys/devices/system/cpu/cpu2/online - echo 1 > /sys/devices/system/cpu/cpu3/online - echo 1 > /sys/devices/system/cpu/cpu5/online - echo 1 > /sys/devices/system/cpu/cpu6/online - echo 1 > /sys/devices/system/cpu/cpu7/online - - # Enable low power modes - echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled - - # HMP scheduler (big.Little cluster related) settings - echo 93 > /proc/sys/kernel/sched_upmigrate - echo 83 > /proc/sys/kernel/sched_downmigrate - - # Enable sched guided freq control - echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_sched_load - echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_migration_notif - echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/use_sched_load - echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/use_migration_notif - echo 50000 > /proc/sys/kernel/sched_freq_inc_notify - echo 50000 > /proc/sys/kernel/sched_freq_dec_notify - - # Enable core control -# insmod /system/lib/modules/core_ctl.ko - echo 2 > /sys/devices/system/cpu/cpu0/core_ctl/min_cpus - echo 4 > /sys/devices/system/cpu/cpu0/core_ctl/max_cpus - echo 68 > /sys/devices/system/cpu/cpu0/core_ctl/busy_up_thres - echo 40 > /sys/devices/system/cpu/cpu0/core_ctl/busy_down_thres - echo 100 > /sys/devices/system/cpu/cpu0/core_ctl/offline_delay_ms - case "$revision" in - "3.0") - # Enable dynamic clock gatin - echo 1 > /sys/module/lpm_levels/lpm_workarounds/dynamic_clock_gating - ;; - esac - fi - ;; - esac - # Set Memory parameters - configure_memory_parameters - ;; -esac - -case "$target" in - "msm8952") - - if [ -f /sys/devices/soc0/soc_id ]; then - soc_id=`cat /sys/devices/soc0/soc_id` - else - soc_id=`cat /sys/devices/system/soc/soc0/id` - fi - case "$soc_id" in - "264" | "289") - # Apply Scheduler and Governor settings for 8952 - - # HMP scheduler settings - echo 3 > /proc/sys/kernel/sched_window_stats_policy - echo 3 > /proc/sys/kernel/sched_ravg_hist_size - echo 20000000 > /proc/sys/kernel/sched_ravg_window - - # HMP Task packing settings - echo 20 > /proc/sys/kernel/sched_small_task - echo 30 > /sys/devices/system/cpu/cpu0/sched_mostly_idle_load - echo 30 > /sys/devices/system/cpu/cpu1/sched_mostly_idle_load - echo 30 > /sys/devices/system/cpu/cpu2/sched_mostly_idle_load - echo 30 > /sys/devices/system/cpu/cpu3/sched_mostly_idle_load - echo 30 > /sys/devices/system/cpu/cpu4/sched_mostly_idle_load - echo 30 > /sys/devices/system/cpu/cpu5/sched_mostly_idle_load - echo 30 > /sys/devices/system/cpu/cpu6/sched_mostly_idle_load - echo 30 > /sys/devices/system/cpu/cpu7/sched_mostly_idle_load - - echo 3 > /sys/devices/system/cpu/cpu0/sched_mostly_idle_nr_run - echo 3 > /sys/devices/system/cpu/cpu1/sched_mostly_idle_nr_run - echo 3 > /sys/devices/system/cpu/cpu2/sched_mostly_idle_nr_run - echo 3 > /sys/devices/system/cpu/cpu3/sched_mostly_idle_nr_run - echo 3 > /sys/devices/system/cpu/cpu4/sched_mostly_idle_nr_run - echo 3 > /sys/devices/system/cpu/cpu5/sched_mostly_idle_nr_run - echo 3 > /sys/devices/system/cpu/cpu6/sched_mostly_idle_nr_run - echo 3 > /sys/devices/system/cpu/cpu7/sched_mostly_idle_nr_run - - echo 0 > /sys/devices/system/cpu/cpu0/sched_prefer_idle - echo 0 > /sys/devices/system/cpu/cpu1/sched_prefer_idle - echo 0 > /sys/devices/system/cpu/cpu2/sched_prefer_idle - echo 0 > /sys/devices/system/cpu/cpu3/sched_prefer_idle - echo 0 > /sys/devices/system/cpu/cpu4/sched_prefer_idle - echo 0 > /sys/devices/system/cpu/cpu5/sched_prefer_idle - echo 0 > /sys/devices/system/cpu/cpu6/sched_prefer_idle - echo 0 > /sys/devices/system/cpu/cpu7/sched_prefer_idle - - echo 0 > /proc/sys/kernel/sched_boost - - for devfreq_gov in /sys/class/devfreq/*qcom,mincpubw*/governor - do - echo "cpufreq" > $devfreq_gov - done - - for devfreq_gov in /sys/class/devfreq/*qcom,cpubw*/governor - do - echo "bw_hwmon" > $devfreq_gov - for cpu_io_percent in /sys/class/devfreq/*qcom,cpubw*/bw_hwmon/io_percent - do - echo 20 > $cpu_io_percent - done - for cpu_guard_band in /sys/class/devfreq/*qcom,cpubw*/bw_hwmon/guard_band_mbps - do - echo 30 > $cpu_guard_band - done - done - - for gpu_bimc_io_percent in /sys/class/devfreq/qcom,gpubw*/bw_hwmon/io_percent - do - echo 40 > $gpu_bimc_io_percent - done - # disable thermal & BCL core_control to update interactive gov settings - echo 0 > /sys/module/msm_thermal/core_control/enabled - for mode in /sys/devices/soc.0/qcom,bcl.*/mode - do - echo -n disable > $mode - done - for hotplug_mask in /sys/devices/soc.0/qcom,bcl.*/hotplug_mask - do - bcl_hotplug_mask=`cat $hotplug_mask` - echo 0 > $hotplug_mask - done - for hotplug_soc_mask in /sys/devices/soc.0/qcom,bcl.*/hotplug_soc_mask - do - bcl_soc_hotplug_mask=`cat $hotplug_soc_mask` - echo 0 > $hotplug_soc_mask - done - for mode in /sys/devices/soc.0/qcom,bcl.*/mode - do - echo -n enable > $mode - done - - # enable governor for perf cluster - echo 1 > /sys/devices/system/cpu/cpu0/online - echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo "19000 1113600:39000" > /sys/devices/system/cpu/cpu0/cpufreq/interactive/above_hispeed_delay - echo 85 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/go_hispeed_load - echo 20000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/timer_rate - echo 1113600 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/hispeed_freq - echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/io_is_busy - echo "1 960000:85 1113600:90 1344000:80" > /sys/devices/system/cpu/cpu0/cpufreq/interactive/target_loads - echo 40000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/min_sample_time - echo 40000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/sampling_down_factor - echo 960000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - - # enable governor for power cluster - echo 1 > /sys/devices/system/cpu/cpu4/online - echo "interactive" > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor - echo 39000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/above_hispeed_delay - echo 90 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/go_hispeed_load - echo 20000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/timer_rate - echo 806400 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq - echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/io_is_busy - echo "1 806400:90" > /sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads - echo 40000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/min_sample_time - echo 40000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/sampling_down_factor - echo 806400 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq - - # Bring up all cores online - echo 1 > /sys/devices/system/cpu/cpu1/online - echo 1 > /sys/devices/system/cpu/cpu2/online - echo 1 > /sys/devices/system/cpu/cpu3/online - echo 1 > /sys/devices/system/cpu/cpu4/online - echo 1 > /sys/devices/system/cpu/cpu5/online - echo 1 > /sys/devices/system/cpu/cpu6/online - echo 1 > /sys/devices/system/cpu/cpu7/online - - # Enable Low power modes - echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled - - # HMP scheduler (big.Little cluster related) settings - echo 93 > /proc/sys/kernel/sched_upmigrate - echo 83 > /proc/sys/kernel/sched_downmigrate - - # Enable sched guided freq control - echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_sched_load - echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_migration_notif - echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/use_sched_load - echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/use_migration_notif - echo 50000 > /proc/sys/kernel/sched_freq_inc_notify - echo 50000 > /proc/sys/kernel/sched_freq_dec_notify - - # Enable core control - echo 2 > /sys/devices/system/cpu/cpu0/core_ctl/min_cpus - echo 4 > /sys/devices/system/cpu/cpu0/core_ctl/max_cpus - echo 68 > /sys/devices/system/cpu/cpu0/core_ctl/busy_up_thres - echo 40 > /sys/devices/system/cpu/cpu0/core_ctl/busy_down_thres - echo 100 > /sys/devices/system/cpu/cpu0/core_ctl/offline_delay_ms - echo 1 > /sys/devices/system/cpu/cpu0/core_ctl/is_big_cluster - - # re-enable thermal & BCL core_control now - echo 1 > /sys/module/msm_thermal/core_control/enabled - for mode in /sys/devices/soc.0/qcom,bcl.*/mode - do - echo -n disable > $mode - done - for hotplug_mask in /sys/devices/soc.0/qcom,bcl.*/hotplug_mask - do - echo $bcl_hotplug_mask > $hotplug_mask - done - for hotplug_soc_mask in /sys/devices/soc.0/qcom,bcl.*/hotplug_soc_mask - do - echo $bcl_soc_hotplug_mask > $hotplug_soc_mask - done - for mode in /sys/devices/soc.0/qcom,bcl.*/mode - do - echo -n enable > $mode - done - - # Enable dynamic clock gating - echo 1 > /sys/module/lpm_levels/lpm_workarounds/dynamic_clock_gating - # Enable timer migration to little cluster - echo 1 > /proc/sys/kernel/power_aware_timer_migration - - # Set Memory parameters - configure_memory_parameters - - ;; - *) - panel=`cat /sys/class/graphics/fb0/modes` - if [ "${panel:5:1}" == "x" ]; then - panel=${panel:2:3} - else - panel=${panel:2:4} - fi - - # Apply Scheduler and Governor settings for 8976 - # SoC IDs are 266, 274, 277, 278 - - # HMP scheduler (big.Little cluster related) settings - echo 95 > /proc/sys/kernel/sched_upmigrate - echo 85 > /proc/sys/kernel/sched_downmigrate - - echo 2 > /proc/sys/kernel/sched_window_stats_policy - echo 5 > /proc/sys/kernel/sched_ravg_hist_size - - echo 3 > /sys/devices/system/cpu/cpu0/sched_mostly_idle_nr_run - echo 3 > /sys/devices/system/cpu/cpu1/sched_mostly_idle_nr_run - echo 3 > /sys/devices/system/cpu/cpu2/sched_mostly_idle_nr_run - echo 3 > /sys/devices/system/cpu/cpu3/sched_mostly_idle_nr_run - echo 3 > /sys/devices/system/cpu/cpu4/sched_mostly_idle_nr_run - echo 3 > /sys/devices/system/cpu/cpu5/sched_mostly_idle_nr_run - echo 3 > /sys/devices/system/cpu/cpu6/sched_mostly_idle_nr_run - echo 3 > /sys/devices/system/cpu/cpu7/sched_mostly_idle_nr_run - - for devfreq_gov in /sys/class/devfreq/*qcom,mincpubw*/governor - do - echo "cpufreq" > $devfreq_gov - done - - for devfreq_gov in /sys/class/devfreq/*qcom,cpubw*/governor - do - echo "bw_hwmon" > $devfreq_gov - for cpu_io_percent in /sys/class/devfreq/*qcom,cpubw*/bw_hwmon/io_percent - do - echo 20 > $cpu_io_percent - done - for cpu_guard_band in /sys/class/devfreq/*qcom,cpubw*/bw_hwmon/guard_band_mbps - do - echo 30 > $cpu_guard_band - done - done - - for gpu_bimc_io_percent in /sys/class/devfreq/qcom,gpubw*/bw_hwmon/io_percent - do - echo 40 > $gpu_bimc_io_percent - done - # disable thermal & BCL core_control to update interactive gov settings - echo 0 > /sys/module/msm_thermal/core_control/enabled - for mode in /sys/devices/soc.0/qcom,bcl.*/mode - do - echo -n disable > $mode - done - for hotplug_mask in /sys/devices/soc.0/qcom,bcl.*/hotplug_mask - do - bcl_hotplug_mask=`cat $hotplug_mask` - echo 0 > $hotplug_mask - done - for hotplug_soc_mask in /sys/devices/soc.0/qcom,bcl.*/hotplug_soc_mask - do - bcl_soc_hotplug_mask=`cat $hotplug_soc_mask` - echo 0 > $hotplug_soc_mask - done - for mode in /sys/devices/soc.0/qcom,bcl.*/mode - do - echo -n enable > $mode - done - - # enable governor for power cluster - echo 1 > /sys/devices/system/cpu/cpu0/online - echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo 80 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/go_hispeed_load - echo 20000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/timer_rate - echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/io_is_busy - echo 40000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/min_sample_time - echo 691200 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - - # enable governor for perf cluster - echo 1 > /sys/devices/system/cpu/cpu4/online - echo "interactive" > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor - echo 85 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/go_hispeed_load - echo 20000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/timer_rate - echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/io_is_busy - echo 40000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/min_sample_time - echo 40000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/sampling_down_factor - echo 883200 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq - echo 60000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/max_freq_hysteresis - - if [ $panel -gt 1080 ]; then - #set texture cache size for resolution greater than 1080p - setprop ro.hwui.texture_cache_size 72 - fi - - echo 59000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/above_hispeed_delay - echo 1305600 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/hispeed_freq - echo "1 691200:80" > /sys/devices/system/cpu/cpu0/cpufreq/interactive/target_loads - echo 1382400 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq - echo "19000 1382400:39000" > /sys/devices/system/cpu/cpu4/cpufreq/interactive/above_hispeed_delay - echo "85 1382400:90 1747200:80" > /sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads - # HMP Task packing settings for 8976 - echo 30 > /proc/sys/kernel/sched_small_task - echo 20 > /sys/devices/system/cpu/cpu0/sched_mostly_idle_load - echo 20 > /sys/devices/system/cpu/cpu1/sched_mostly_idle_load - echo 20 > /sys/devices/system/cpu/cpu2/sched_mostly_idle_load - echo 20 > /sys/devices/system/cpu/cpu3/sched_mostly_idle_load - echo 20 > /sys/devices/system/cpu/cpu4/sched_mostly_idle_load - echo 20 > /sys/devices/system/cpu/cpu5/sched_mostly_idle_load - echo 20 > /sys/devices/system/cpu/cpu6/sched_mostly_idle_load - echo 20 > /sys/devices/system/cpu/cpu7/sched_mostly_idle_load - - echo 0 > /proc/sys/kernel/sched_boost - - # Bring up all cores online - echo 1 > /sys/devices/system/cpu/cpu1/online - echo 1 > /sys/devices/system/cpu/cpu2/online - echo 1 > /sys/devices/system/cpu/cpu3/online - echo 1 > /sys/devices/system/cpu/cpu4/online - echo 1 > /sys/devices/system/cpu/cpu5/online - echo 1 > /sys/devices/system/cpu/cpu6/online - echo 1 > /sys/devices/system/cpu/cpu7/online - - #Disable CPU retention modes for 32bit builds - ProductName=`getprop ro.product.name` - if [ "$ProductName" == "msm8952_32" ] || [ "$ProductName" == "msm8952_32_LMT" ]; then - echo N > /sys/module/lpm_levels/system/a72/cpu4/retention/idle_enabled - echo N > /sys/module/lpm_levels/system/a72/cpu5/retention/idle_enabled - echo N > /sys/module/lpm_levels/system/a72/cpu6/retention/idle_enabled - echo N > /sys/module/lpm_levels/system/a72/cpu7/retention/idle_enabled - fi - - if [ `cat /sys/devices/soc0/revision` == "1.0" ]; then - # Disable l2-pc and l2-gdhs low power modes - echo N > /sys/module/lpm_levels/system/a53/a53-l2-gdhs/idle_enabled - echo N > /sys/module/lpm_levels/system/a72/a72-l2-gdhs/idle_enabled - echo N > /sys/module/lpm_levels/system/a53/a53-l2-pc/idle_enabled - echo N > /sys/module/lpm_levels/system/a72/a72-l2-pc/idle_enabled - fi - - # Enable LPM Prediction - echo 1 > /sys/module/lpm_levels/parameters/lpm_prediction - - # Enable Low power modes - echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled - # Disable L2 GDHS on 8976 - echo N > /sys/module/lpm_levels/system/a53/a53-l2-gdhs/idle_enabled - echo N > /sys/module/lpm_levels/system/a72/a72-l2-gdhs/idle_enabled - - # Enable sched guided freq control - echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_sched_load - echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_migration_notif - echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/use_sched_load - echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/use_migration_notif - echo 50000 > /proc/sys/kernel/sched_freq_inc_notify - echo 50000 > /proc/sys/kernel/sched_freq_dec_notify - - # Enable core control - #for 8976 - echo 2 > /sys/devices/system/cpu/cpu4/core_ctl/min_cpus - echo 4 > /sys/devices/system/cpu/cpu4/core_ctl/max_cpus - echo 68 > /sys/devices/system/cpu/cpu4/core_ctl/busy_up_thres - echo 40 > /sys/devices/system/cpu/cpu4/core_ctl/busy_down_thres - echo 100 > /sys/devices/system/cpu/cpu4/core_ctl/offline_delay_ms - echo 1 > /sys/devices/system/cpu/cpu4/core_ctl/is_big_cluster - - # re-enable thermal & BCL core_control now - echo 1 > /sys/module/msm_thermal/core_control/enabled - for mode in /sys/devices/soc.0/qcom,bcl.*/mode - do - echo -n disable > $mode - done - for hotplug_mask in /sys/devices/soc.0/qcom,bcl.*/hotplug_mask - do - echo $bcl_hotplug_mask > $hotplug_mask - done - for hotplug_soc_mask in /sys/devices/soc.0/qcom,bcl.*/hotplug_soc_mask - do - echo $bcl_soc_hotplug_mask > $hotplug_soc_mask - done - for mode in /sys/devices/soc.0/qcom,bcl.*/mode - do - echo -n enable > $mode - done - - # Enable timer migration to little cluster - echo 1 > /proc/sys/kernel/power_aware_timer_migration - - case "$soc_id" in - "277" | "278") - # Start energy-awareness for 8976 - start energy-awareness - ;; - esac - - #enable sched colocation and colocation inheritance - echo 130 > /proc/sys/kernel/sched_grp_upmigrate - echo 110 > /proc/sys/kernel/sched_grp_downmigrate - echo 1 > /proc/sys/kernel/sched_enable_thread_grouping - - # Set Memory parameters - configure_memory_parameters - - ;; - esac - #Enable Memory Features - enable_memory_features - restorecon -R /sys/devices/system/cpu - ;; -esac - -case "$target" in - "msm8953") - - if [ -f /sys/devices/soc0/soc_id ]; then - soc_id=`cat /sys/devices/soc0/soc_id` - else - soc_id=`cat /sys/devices/system/soc/soc0/id` - fi - - if [ -f /sys/devices/soc0/hw_platform ]; then - hw_platform=`cat /sys/devices/soc0/hw_platform` - else - hw_platform=`cat /sys/devices/system/soc/soc0/hw_platform` - fi - - if [ -f /sys/devices/soc0/platform_subtype_id ]; then - platform_subtype_id=`cat /sys/devices/soc0/platform_subtype_id` - fi - - echo 0 > /proc/sys/kernel/sched_boost - - case "$soc_id" in - "293" | "304" | "338" | "351") - - # Start Host based Touch processing - case "$hw_platform" in - "MTP" | "Surf" | "RCM" ) - #if this directory is present, it means that a - #1200p panel is connected to the device. - dir="/sys/bus/i2c/devices/3-0038" - if [ ! -d "$dir" ]; then - start_hbtp - fi - ;; - esac - - if [ $soc_id -eq "338" ]; then - case "$hw_platform" in - "QRD" ) - if [ $platform_subtype_id -eq "1" ]; then - start_hbtp - fi - ;; - esac - fi - - #init task load, restrict wakeups to preferred cluster - echo 15 > /proc/sys/kernel/sched_init_task_load - - for devfreq_gov in /sys/class/devfreq/qcom,mincpubw*/governor - do - echo "cpufreq" > $devfreq_gov - done - - for devfreq_gov in /sys/class/devfreq/soc:qcom,cpubw/governor - do - echo "bw_hwmon" > $devfreq_gov - for cpu_io_percent in /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/io_percent - do - echo 34 > $cpu_io_percent - done - for cpu_guard_band in /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/guard_band_mbps - do - echo 0 > $cpu_guard_band - done - for cpu_hist_memory in /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/hist_memory - do - echo 20 > $cpu_hist_memory - done - for cpu_hyst_length in /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/hyst_length - do - echo 10 > $cpu_hyst_length - done - for cpu_idle_mbps in /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/idle_mbps - do - echo 1600 > $cpu_idle_mbps - done - for cpu_low_power_delay in /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/low_power_delay - do - echo 20 > $cpu_low_power_delay - done - for cpu_low_power_io_percent in /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/low_power_io_percent - do - echo 34 > $cpu_low_power_io_percent - done - for cpu_mbps_zones in /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/mbps_zones - do - echo "1611 3221 5859 6445 7104" > $cpu_mbps_zones - done - for cpu_sample_ms in /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/sample_ms - do - echo 4 > $cpu_sample_ms - done - for cpu_up_scale in /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/up_scale - do - echo 250 > $cpu_up_scale - done - for cpu_min_freq in /sys/class/devfreq/soc:qcom,cpubw/min_freq - do - echo 1611 > $cpu_min_freq - done - done - - for gpu_bimc_io_percent in /sys/class/devfreq/soc:qcom,gpubw/bw_hwmon/io_percent - do - echo 40 > $gpu_bimc_io_percent - done - - # disable thermal & BCL core_control to update interactive gov settings - echo 0 > /sys/module/msm_thermal/core_control/enabled - for mode in /sys/devices/soc.0/qcom,bcl.*/mode - do - echo -n disable > $mode - done - for hotplug_mask in /sys/devices/soc.0/qcom,bcl.*/hotplug_mask - do - bcl_hotplug_mask=`cat $hotplug_mask` - echo 0 > $hotplug_mask - done - for hotplug_soc_mask in /sys/devices/soc.0/qcom,bcl.*/hotplug_soc_mask - do - bcl_soc_hotplug_mask=`cat $hotplug_soc_mask` - echo 0 > $hotplug_soc_mask - done - for mode in /sys/devices/soc.0/qcom,bcl.*/mode - do - echo -n enable > $mode - done - - #if the kernel version >=4.9,use the schedutil governor - if [ $KernelVersionA -ge 4 ] && [ $KernelVersionB -ge 9 ]; then - 8953_sched_dcvs_eas - else - 8953_sched_dcvs_hmp - fi - echo 652800 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - - # Bring up all cores online - echo 1 > /sys/devices/system/cpu/cpu1/online - echo 1 > /sys/devices/system/cpu/cpu2/online - echo 1 > /sys/devices/system/cpu/cpu3/online - echo 1 > /sys/devices/system/cpu/cpu4/online - echo 1 > /sys/devices/system/cpu/cpu5/online - echo 1 > /sys/devices/system/cpu/cpu6/online - echo 1 > /sys/devices/system/cpu/cpu7/online - - # Enable low power modes - echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled - - # re-enable thermal & BCL core_control now - echo 1 > /sys/module/msm_thermal/core_control/enabled - for mode in /sys/devices/soc.0/qcom,bcl.*/mode - do - echo -n disable > $mode - done - for hotplug_mask in /sys/devices/soc.0/qcom,bcl.*/hotplug_mask - do - echo $bcl_hotplug_mask > $hotplug_mask - done - for hotplug_soc_mask in /sys/devices/soc.0/qcom,bcl.*/hotplug_soc_mask - do - echo $bcl_soc_hotplug_mask > $hotplug_soc_mask - done - for mode in /sys/devices/soc.0/qcom,bcl.*/mode - do - echo -n enable > $mode - done - - # SMP scheduler - echo 85 > /proc/sys/kernel/sched_upmigrate - echo 85 > /proc/sys/kernel/sched_downmigrate - - # Set Memory parameters - configure_memory_parameters - ;; - esac - case "$soc_id" in - "349" | "350") - - # Start Host based Touch processing - case "$hw_platform" in - "MTP" | "Surf" | "RCM" | "QRD" ) - start_hbtp - ;; - esac - - for devfreq_gov in /sys/class/devfreq/qcom,mincpubw*/governor - do - echo "cpufreq" > $devfreq_gov - done - for cpubw in /sys/class/devfreq/*qcom,cpubw* - do - echo "bw_hwmon" > $cpubw/governor - echo 50 > $cpubw/polling_interval - echo "1611 3221 5859 6445 7104" > $cpubw/bw_hwmon/mbps_zones - echo 4 > $cpubw/bw_hwmon/sample_ms - echo 34 > $cpubw/bw_hwmon/io_percent - echo 20 > $cpubw/bw_hwmon/hist_memory - echo 80 > $cpubw/bw_hwmon/down_thres - echo 0 > $cpubw/bw_hwmon/hyst_length - echo 0 > $cpubw/bw_hwmon/guard_band_mbps - echo 250 > $cpubw/bw_hwmon/up_scale - echo 1600 > $cpubw/bw_hwmon/idle_mbps - done - - # Configure DCC module to capture critical register contents when device crashes - for DCC_PATH in /sys/bus/platform/devices/*.dcc* - do - echo 0 > $DCC_PATH/enable - echo cap > $DCC_PATH/func_type - echo sram > $DCC_PATH/data_sink - echo 1 > $DCC_PATH/config_reset - - # Register specifies APC CPR closed-loop settled voltage for current voltage corner - echo 0xb1d2c18 1 > $DCC_PATH/config - - # Register specifies SW programmed open-loop voltage for current voltage corner - echo 0xb1d2900 1 > $DCC_PATH/config - - # Register specifies APM switch settings and APM FSM state - echo 0xb1112b0 1 > $DCC_PATH/config - - # Register specifies CPR mode change state and also #online cores input to CPR HW - echo 0xb018798 1 > $DCC_PATH/config - - echo 1 > $DCC_PATH/enable - done - - # disable thermal & BCL core_control to update interactive gov settings - echo 0 > /sys/module/msm_thermal/core_control/enabled - for mode in /sys/devices/soc.0/qcom,bcl.*/mode - do - echo -n disable > $mode - done - for hotplug_mask in /sys/devices/soc.0/qcom,bcl.*/hotplug_mask - do - bcl_hotplug_mask=`cat $hotplug_mask` - echo 0 > $hotplug_mask - done - for hotplug_soc_mask in /sys/devices/soc.0/qcom,bcl.*/hotplug_soc_mask - do - bcl_soc_hotplug_mask=`cat $hotplug_soc_mask` - echo 0 > $hotplug_soc_mask - done - for mode in /sys/devices/soc.0/qcom,bcl.*/mode - do - echo -n enable > $mode - done - - # configure governor settings for little cluster - echo 1 > /sys/devices/system/cpu/cpu0/online - echo "schedutil" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/up_rate_limit_us - echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/down_rate_limit_us - echo 1363200 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_freq - #default value for hispeed_load is 90, for sdm632 it should be 85 - echo 85 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_load - # sched_load_boost as -6 is equivalent to target load as 85. - echo -6 > /sys/devices/system/cpu/cpu0/sched_load_boost - echo -6 > /sys/devices/system/cpu/cpu1/sched_load_boost - echo -6 > /sys/devices/system/cpu/cpu2/sched_load_boost - echo -6 > /sys/devices/system/cpu/cpu3/sched_load_boost - - # configure governor settings for big cluster - echo 1 > /sys/devices/system/cpu/cpu4/online - echo "schedutil" > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor - echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/up_rate_limit_us - echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/down_rate_limit_us - echo 1401600 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/hispeed_freq - #default value for hispeed_load is 90, for sdm632 it should be 85 - echo 85 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/hispeed_load - # sched_load_boost as -6 is equivalent to target load as 85. - echo -6 > /sys/devices/system/cpu/cpu4/sched_load_boost - echo -6 > /sys/devices/system/cpu/cpu5/sched_load_boost - echo -6 > /sys/devices/system/cpu/cpu7/sched_load_boost - echo -6 > /sys/devices/system/cpu/cpu6/sched_load_boost - - echo 614400 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - echo 633600 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq - - # cpuset settings - echo 0-3 > /dev/cpuset/background/cpus - echo 0-3 > /dev/cpuset/system-background/cpus - # choose idle CPU for top app tasks - echo 1 > /dev/stune/top-app/schedtune.prefer_idle - - # re-enable thermal & BCL core_control now - echo 1 > /sys/module/msm_thermal/core_control/enabled - for mode in /sys/devices/soc.0/qcom,bcl.*/mode - do - echo -n disable > $mode - done - for hotplug_mask in /sys/devices/soc.0/qcom,bcl.*/hotplug_mask - do - echo $bcl_hotplug_mask > $hotplug_mask - done - for hotplug_soc_mask in /sys/devices/soc.0/qcom,bcl.*/hotplug_soc_mask - do - echo $bcl_soc_hotplug_mask > $hotplug_soc_mask - done - for mode in /sys/devices/soc.0/qcom,bcl.*/mode - do - echo -n enable > $mode - done - - # Disable Core control - echo 0 > /sys/devices/system/cpu/cpu0/core_ctl/enable - echo 0 > /sys/devices/system/cpu/cpu4/core_ctl/enable - - # Bring up all cores online - echo 1 > /sys/devices/system/cpu/cpu1/online - echo 1 > /sys/devices/system/cpu/cpu2/online - echo 1 > /sys/devices/system/cpu/cpu3/online - echo 1 > /sys/devices/system/cpu/cpu4/online - echo 1 > /sys/devices/system/cpu/cpu5/online - echo 1 > /sys/devices/system/cpu/cpu6/online - echo 1 > /sys/devices/system/cpu/cpu7/online - - # Enable low power modes - echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled - - # Set Memory parameters - configure_memory_parameters - - # Setting b.L scheduler parameters - echo 76 > /proc/sys/kernel/sched_downmigrate - echo 86 > /proc/sys/kernel/sched_upmigrate - echo 80 > /proc/sys/kernel/sched_group_downmigrate - echo 90 > /proc/sys/kernel/sched_group_upmigrate - echo 1 > /proc/sys/kernel/sched_walt_rotate_big_tasks - - # Enable min frequency adjustment for big cluster - if [ -f /sys/module/big_cluster_min_freq_adjust/parameters/min_freq_cluster ]; then - echo "4-7" > /sys/module/big_cluster_min_freq_adjust/parameters/min_freq_cluster - fi - echo 1 > /sys/module/big_cluster_min_freq_adjust/parameters/min_freq_adjust - - ;; - esac - ;; -esac - -case "$target" in - "msm8937") - - if [ -f /sys/devices/soc0/soc_id ]; then - soc_id=`cat /sys/devices/soc0/soc_id` - else - soc_id=`cat /sys/devices/system/soc/soc0/id` - fi - - if [ -f /sys/devices/soc0/hw_platform ]; then - hw_platform=`cat /sys/devices/soc0/hw_platform` - else - hw_platform=`cat /sys/devices/system/soc/soc0/hw_platform` - fi - if [ -f /sys/devices/soc0/platform_subtype_id ]; then - platform_subtype_id=`cat /sys/devices/soc0/platform_subtype_id` - fi - - # Socid 386 = Pukeena - case "$soc_id" in - "303" | "307" | "308" | "309" | "320" | "386" | "436") - - # Start Host based Touch processing - case "$hw_platform" in - "MTP" ) - start_hbtp - ;; - esac - - case "$hw_platform" in - "Surf" | "RCM" ) - if [ $platform_subtype_id -ne "4" ]; then - start_hbtp - fi - ;; - esac - # Apply Scheduler and Governor settings for 8917 / 8920 - - echo 20000000 > /proc/sys/kernel/sched_ravg_window - - #disable sched_boost in 8917 - echo 0 > /proc/sys/kernel/sched_boost - - # core_ctl is not needed for 8917. Disable it. - disable_core_ctl - - for devfreq_gov in /sys/class/devfreq/qcom,mincpubw*/governor - do - echo "cpufreq" > $devfreq_gov - done - - for devfreq_gov in /sys/class/devfreq/soc:qcom,cpubw/governor - do - echo "bw_hwmon" > $devfreq_gov - for cpu_io_percent in /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/io_percent - do - echo 20 > $cpu_io_percent - done - for cpu_guard_band in /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/guard_band_mbps - do - echo 30 > $cpu_guard_band - done - done - - for gpu_bimc_io_percent in /sys/class/devfreq/soc:qcom,gpubw/bw_hwmon/io_percent - do - echo 40 > $gpu_bimc_io_percent - done - - # disable thermal core_control to update interactive gov settings - echo 0 > /sys/module/msm_thermal/core_control/enabled - - if [ $KernelVersionA -ge 4 ] && [ $KernelVersionB -ge 9 ]; then - 8917_sched_dcvs_eas - else - 8917_sched_dcvs_hmp - fi - echo 960000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - # re-enable thermal core_control now - echo 1 > /sys/module/msm_thermal/core_control/enabled - - # Disable L2-GDHS low power modes - echo N > /sys/module/lpm_levels/perf/perf-l2-gdhs/idle_enabled - echo N > /sys/module/lpm_levels/perf/perf-l2-gdhs/suspend_enabled - - # Bring up all cores online - echo 1 > /sys/devices/system/cpu/cpu1/online - echo 1 > /sys/devices/system/cpu/cpu2/online - echo 1 > /sys/devices/system/cpu/cpu3/online - - # Enable low power modes - echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled - - # Set rps mask - echo 2 > /sys/class/net/rmnet0/queues/rx-0/rps_cpus - - # Enable dynamic clock gating - echo 1 > /sys/module/lpm_levels/lpm_workarounds/dynamic_clock_gating - # Enable timer migration to little cluster - echo 1 > /proc/sys/kernel/power_aware_timer_migration - # Set Memory parameters - configure_memory_parameters - ;; - *) - ;; - esac - - case "$soc_id" in - "294" | "295" | "313" ) - - # Start Host based Touch processing - case "$hw_platform" in - "MTP" | "Surf" | "RCM" ) - start_hbtp - ;; - esac - - # Apply Scheduler and Governor settings for 8937/8940 - - # HMP scheduler settings - echo 3 > /proc/sys/kernel/sched_window_stats_policy - echo 3 > /proc/sys/kernel/sched_ravg_hist_size - echo 20000000 > /proc/sys/kernel/sched_ravg_window - - #disable sched_boost in 8937 - echo 0 > /proc/sys/kernel/sched_boost - - for devfreq_gov in /sys/class/devfreq/qcom,mincpubw*/governor - do - echo "cpufreq" > $devfreq_gov - done - - for devfreq_gov in /sys/class/devfreq/soc:qcom,cpubw/governor - do - echo "bw_hwmon" > $devfreq_gov - for cpu_io_percent in /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/io_percent - do - echo 20 > $cpu_io_percent - done - for cpu_guard_band in /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/guard_band_mbps - do - echo 30 > $cpu_guard_band - done - done - - for gpu_bimc_io_percent in /sys/class/devfreq/soc:qcom,gpubw/bw_hwmon/io_percent - do - echo 40 > $gpu_bimc_io_percent - done - - # disable thermal core_control to update interactive gov and core_ctl settings - echo 0 > /sys/module/msm_thermal/core_control/enabled - - if [ $KernelVersionA -ge 4 ] && [ $KernelVersionB -ge 9 ]; then - 8937_sched_dcvs_eas - else - 8937_sched_dcvs_hmp - fi - echo 960000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - echo 768000 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq - # Disable L2-GDHS low power modes - echo N > /sys/module/lpm_levels/system/pwr/pwr-l2-gdhs/idle_enabled - echo N > /sys/module/lpm_levels/system/pwr/pwr-l2-gdhs/suspend_enabled - echo N > /sys/module/lpm_levels/system/perf/perf-l2-gdhs/idle_enabled - echo N > /sys/module/lpm_levels/system/perf/perf-l2-gdhs/suspend_enabled - - # Bring up all cores online - echo 1 > /sys/devices/system/cpu/cpu1/online - echo 1 > /sys/devices/system/cpu/cpu2/online - echo 1 > /sys/devices/system/cpu/cpu3/online - echo 1 > /sys/devices/system/cpu/cpu4/online - echo 1 > /sys/devices/system/cpu/cpu5/online - echo 1 > /sys/devices/system/cpu/cpu6/online - echo 1 > /sys/devices/system/cpu/cpu7/online - - # Enable low power modes - echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled - - # HMP scheduler (big.Little cluster related) settings - echo 93 > /proc/sys/kernel/sched_upmigrate - echo 83 > /proc/sys/kernel/sched_downmigrate - - # Enable core control - echo 2 > /sys/devices/system/cpu/cpu0/core_ctl/min_cpus - echo 4 > /sys/devices/system/cpu/cpu0/core_ctl/max_cpus - echo 68 > /sys/devices/system/cpu/cpu0/core_ctl/busy_up_thres - echo 40 > /sys/devices/system/cpu/cpu0/core_ctl/busy_down_thres - echo 100 > /sys/devices/system/cpu/cpu0/core_ctl/offline_delay_ms - echo 1 > /sys/devices/system/cpu/cpu0/core_ctl/is_big_cluster - - # re-enable thermal core_control - echo 1 > /sys/module/msm_thermal/core_control/enabled - - # Enable dynamic clock gating - echo 1 > /sys/module/lpm_levels/lpm_workarounds/dynamic_clock_gating - # Enable timer migration to little cluster - echo 1 > /proc/sys/kernel/power_aware_timer_migration - # Set Memory parameters - configure_memory_parameters - ;; - *) - - ;; - esac - - case "$soc_id" in - "354" | "364" | "353" | "363" ) - - # Start Host based Touch processing - case "$hw_platform" in - "MTP" | "Surf" | "RCM" | "QRD" ) - start_hbtp - ;; - esac - - # Apply settings for sdm429/sda429/sdm439/sda439 - - for cpubw in /sys/class/devfreq/*qcom,mincpubw* - do - echo "cpufreq" > $cpubw/governor - done - - for cpubw in /sys/class/devfreq/*qcom,cpubw* - do - echo "bw_hwmon" > $cpubw/governor - echo 20 > $cpubw/bw_hwmon/io_percent - echo 30 > $cpubw/bw_hwmon/guard_band_mbps - done - - for gpu_bimc_io_percent in /sys/class/devfreq/soc:qcom,gpubw/bw_hwmon/io_percent - do - echo 40 > $gpu_bimc_io_percent - done - - case "$soc_id" in - "353" | "363" ) - # Apply settings for sdm439/sda439 - # configure schedutil governor settings - # enable governor for perf cluster - echo 1 > /sys/devices/system/cpu/cpu0/online - echo "schedutil" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/up_rate_limit_us - echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/down_rate_limit_us - - #set the hispeed_freq - echo 1497600 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_freq - echo 80 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_load - echo 960000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - # sched_load_boost as -6 is equivalent to target load as 85. - echo -6 > /sys/devices/system/cpu/cpu0/sched_load_boost - echo -6 > /sys/devices/system/cpu/cpu1/sched_load_boost - echo -6 > /sys/devices/system/cpu/cpu2/sched_load_boost - echo -6 > /sys/devices/system/cpu/cpu3/sched_load_boost - - ## enable governor for power cluster - echo 1 > /sys/devices/system/cpu/cpu4/online - echo "schedutil" > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor - echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/up_rate_limit_us - echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/down_rate_limit_us - - #set the hispeed_freq - echo 998400 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/hispeed_freq - echo 85 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/hispeed_load - echo 768000 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq - # sched_load_boost as -6 is equivalent to target load as 85. - echo -6 > /sys/devices/system/cpu/cpu4/sched_load_boost - echo -6 > /sys/devices/system/cpu/cpu5/sched_load_boost - echo -6 > /sys/devices/system/cpu/cpu6/sched_load_boost - echo -6 > /sys/devices/system/cpu/cpu7/sched_load_boost - - # EAS scheduler (big.Little cluster related) settings - echo 93 > /proc/sys/kernel/sched_upmigrate - echo 83 > /proc/sys/kernel/sched_downmigrate - echo 140 > /proc/sys/kernel/sched_group_upmigrate - echo 120 > /proc/sys/kernel/sched_group_downmigrate - - # cpuset settings - #echo 0-3 > /dev/cpuset/background/cpus - #echo 0-3 > /dev/cpuset/system-background/cpus - - # Bring up all cores online - echo 1 > /sys/devices/system/cpu/cpu1/online - echo 1 > /sys/devices/system/cpu/cpu2/online - echo 1 > /sys/devices/system/cpu/cpu3/online - echo 1 > /sys/devices/system/cpu/cpu4/online - echo 1 > /sys/devices/system/cpu/cpu5/online - echo 1 > /sys/devices/system/cpu/cpu6/online - echo 1 > /sys/devices/system/cpu/cpu7/online - - # Enable core control - echo 2 > /sys/devices/system/cpu/cpu0/core_ctl/min_cpus - echo 4 > /sys/devices/system/cpu/cpu0/core_ctl/max_cpus - echo 68 > /sys/devices/system/cpu/cpu0/core_ctl/busy_up_thres - echo 40 > /sys/devices/system/cpu/cpu0/core_ctl/busy_down_thres - echo 100 > /sys/devices/system/cpu/cpu0/core_ctl/offline_delay_ms - echo 1 > /sys/devices/system/cpu/cpu0/core_ctl/is_big_cluster - echo 4 > /sys/devices/system/cpu/cpu0/core_ctl/task_thres - - # Big cluster min frequency adjust settings - if [ -f /sys/module/big_cluster_min_freq_adjust/parameters/min_freq_cluster ]; then - echo "0-3" > /sys/module/big_cluster_min_freq_adjust/parameters/min_freq_cluster - fi - echo 1305600 > /sys/module/big_cluster_min_freq_adjust/parameters/min_freq_floor - ;; - *) - # Apply settings for sdm429/sda429 - # configure schedutil governor settings - echo 1 > /sys/devices/system/cpu/cpu0/online - echo "schedutil" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/up_rate_limit_us - echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/down_rate_limit_us - - #set the hispeed_freq - echo 1305600 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_freq - echo 80 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_load - echo 960000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - # sched_load_boost as -6 is equivalent to target load as 85. - echo -6 > /sys/devices/system/cpu/cpu0/sched_load_boost - echo -6 > /sys/devices/system/cpu/cpu1/sched_load_boost - echo -6 > /sys/devices/system/cpu/cpu2/sched_load_boost - echo -6 > /sys/devices/system/cpu/cpu3/sched_load_boost - - # Bring up all cores online - echo 1 > /sys/devices/system/cpu/cpu1/online - echo 1 > /sys/devices/system/cpu/cpu2/online - echo 1 > /sys/devices/system/cpu/cpu3/online - ;; - esac - - # Set Memory parameters - configure_memory_parameters - - #disable sched_boost - echo 0 > /proc/sys/kernel/sched_boost - - # Disable L2-GDHS low power modes - echo N > /sys/module/lpm_levels/system/pwr/pwr-l2-gdhs/idle_enabled - echo N > /sys/module/lpm_levels/system/pwr/pwr-l2-gdhs/suspend_enabled - echo N > /sys/module/lpm_levels/system/perf/perf-l2-gdhs/idle_enabled - echo N > /sys/module/lpm_levels/system/perf/perf-l2-gdhs/suspend_enabled - - # Enable low power modes - echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled - - case "$soc_id" in - "353" | "363" ) - echo 1 > /sys/module/big_cluster_min_freq_adjust/parameters/min_freq_adjust - ;; - esac - ;; - esac - - case "$soc_id" in - "386" | "436") - - # Start Host based Touch processing - case "$hw_platform" in - "QRD" ) - start_hbtp - ;; - esac - ;; - esac - ;; -esac - -case "$target" in - "sdm660") - - # Set the default IRQ affinity to the primary cluster. When a - # CPU is isolated/hotplugged, the IRQ affinity is adjusted - # to one of the CPU from the default IRQ affinity mask. - echo f > /proc/irq/default_smp_affinity - - if [ -f /sys/devices/soc0/soc_id ]; then - soc_id=`cat /sys/devices/soc0/soc_id` - else - soc_id=`cat /sys/devices/system/soc/soc0/id` - fi - - if [ -f /sys/devices/soc0/hw_platform ]; then - hw_platform=`cat /sys/devices/soc0/hw_platform` - else - hw_platform=`cat /sys/devices/system/soc/soc0/hw_platform` - fi - - panel=`cat /sys/class/graphics/fb0/modes` - if [ "${panel:5:1}" == "x" ]; then - panel=${panel:2:3} - else - panel=${panel:2:4} - fi - - if [ $KernelVersionA -ge 4 ] && [ $KernelVersionB -le 14 ]; then - if [ $panel -gt 1080 ]; then - echo 2 > /proc/sys/kernel/sched_window_stats_policy - echo 5 > /proc/sys/kernel/sched_ravg_hist_size - else - echo 3 > /proc/sys/kernel/sched_window_stats_policy - echo 3 > /proc/sys/kernel/sched_ravg_hist_size - fi - fi - #Apply settings for sdm660, sdm636,sda636 - case "$soc_id" in - "317" | "324" | "325" | "326" | "345" | "346" ) - - echo 2 > /sys/devices/system/cpu/cpu4/core_ctl/min_cpus - echo 60 > /sys/devices/system/cpu/cpu4/core_ctl/busy_up_thres - echo 30 > /sys/devices/system/cpu/cpu4/core_ctl/busy_down_thres - echo 100 > /sys/devices/system/cpu/cpu4/core_ctl/offline_delay_ms - echo 1 > /sys/devices/system/cpu/cpu4/core_ctl/is_big_cluster - echo 4 > /sys/devices/system/cpu/cpu4/core_ctl/task_thres - - # Setting b.L scheduler parameters - echo 96 > /proc/sys/kernel/sched_upmigrate - echo 90 > /proc/sys/kernel/sched_downmigrate - echo 140 > /proc/sys/kernel/sched_group_upmigrate - echo 120 > /proc/sys/kernel/sched_group_downmigrate - - # cpuset settings - echo 0-3 > /dev/cpuset/background/cpus - echo 0-3 > /dev/cpuset/system-background/cpus - - #if the kernel version >=4.14,use the schedutil governor - if [ $KernelVersionA -ge 4 ] && [ $KernelVersionB -ge 14 ]; then - sdm660_sched_schedutil_dcvs - else - sdm660_sched_interactive_dcvs - fi - - # Set Memory parameters - configure_memory_parameters - - # enable LPM - echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled - - # Start cdsprpcd only for sdm660 and disable for sdm630 - start vendor.cdsprpcd - - # Start Host based Touch processing - case "$hw_platform" in - "MTP" | "Surf" | "RCM" | "QRD" ) - start_hbtp - ;; - esac - ;; - esac - #Apply settings for sdm630 and Tahaa - case "$soc_id" in - "318" | "327" | "385" ) - - # Start Host based Touch processing - case "$hw_platform" in - "MTP" | "Surf" | "RCM" | "QRD" ) - start_hbtp - ;; - esac - - # Disable cdsprpcd daemon for sdm630 - setprop vendor.fastrpc.disable.cdsprpcd.daemon 1 - - # Setting b.L scheduler parameters - echo 85 > /proc/sys/kernel/sched_upmigrate - echo 85 > /proc/sys/kernel/sched_downmigrate - echo 900 > /proc/sys/kernel/sched_group_upmigrate - echo 900 > /proc/sys/kernel/sched_group_downmigrate - echo 0 > /proc/sys/kernel/sched_select_prev_cpu_us - echo 400000 > /proc/sys/kernel/sched_freq_inc_notify - echo 400000 > /proc/sys/kernel/sched_freq_dec_notify - echo 3 > /proc/sys/kernel/sched_spill_nr_run - - #init task load, restrict wakeups to preferred cluster - echo 15 > /proc/sys/kernel/sched_init_task_load - echo 1 > /proc/sys/kernel/sched_restrict_cluster_spill - echo 50000 > /proc/sys/kernel/sched_short_burst_ns - - # cpuset settings - echo 0-3 > /dev/cpuset/background/cpus - echo 0-3 > /dev/cpuset/system-background/cpus - - # disable thermal bcl hotplug to switch governor - echo 0 > /sys/module/msm_thermal/core_control/enabled - for mode in /sys/devices/soc.0/qcom,bcl.*/mode - do - echo -n disable > $mode - done - for hotplug_mask in /sys/devices/soc.0/qcom,bcl.*/hotplug_mask - do - bcl_hotplug_mask=`cat $hotplug_mask` - echo 0 > $hotplug_mask - done - for hotplug_soc_mask in /sys/devices/soc.0/qcom,bcl.*/hotplug_soc_mask - do - bcl_soc_hotplug_mask=`cat $hotplug_soc_mask` - echo 0 > $hotplug_soc_mask - done - for mode in /sys/devices/soc.0/qcom,bcl.*/mode - do - echo -n enable > $mode - done - - # online CPU0 - echo 1 > /sys/devices/system/cpu/cpu0/online - # configure governor settings for Big cluster(CPU0 to CPU3) - echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_sched_load - echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_migration_notif - echo "19000 1344000:39000" > /sys/devices/system/cpu/cpu0/cpufreq/interactive/above_hispeed_delay - echo 85 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/go_hispeed_load - echo 20000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/timer_rate - echo 1344000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/hispeed_freq - echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/io_is_busy - echo "85 1344000:80" > /sys/devices/system/cpu/cpu0/cpufreq/interactive/target_loads - echo 39000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/min_sample_time - echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/max_freq_hysteresis - echo 787200 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/ignore_hispeed_on_notif - - # online CPU4 - echo 1 > /sys/devices/system/cpu/cpu4/online - # configure governor settings for Little cluster(CPU4 to CPU7) - echo "interactive" > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor - echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/use_sched_load - echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/use_migration_notif - echo "19000 1094400:39000" > /sys/devices/system/cpu/cpu4/cpufreq/interactive/above_hispeed_delay - echo 85 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/go_hispeed_load - echo 20000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/timer_rate - echo 1094400 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq - echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/io_is_busy - echo "85 1094400:80" > /sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads - echo 39000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/min_sample_time - echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/max_freq_hysteresis - echo 614400 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq - echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/ignore_hispeed_on_notif - - # bring all cores online - echo 1 > /sys/devices/system/cpu/cpu0/online - echo 1 > /sys/devices/system/cpu/cpu1/online - echo 1 > /sys/devices/system/cpu/cpu2/online - echo 1 > /sys/devices/system/cpu/cpu3/online - echo 1 > /sys/devices/system/cpu/cpu4/online - echo 1 > /sys/devices/system/cpu/cpu5/online - echo 1 > /sys/devices/system/cpu/cpu6/online - echo 1 > /sys/devices/system/cpu/cpu7/online - - # configure LPM - echo N > /sys/module/lpm_levels/system/perf/cpu0/ret/idle_enabled - echo N > /sys/module/lpm_levels/system/perf/cpu1/ret/idle_enabled - echo N > /sys/module/lpm_levels/system/perf/cpu2/ret/idle_enabled - echo N > /sys/module/lpm_levels/system/perf/cpu3/ret/idle_enabled - echo N > /sys/module/lpm_levels/system/pwr/cpu4/ret/idle_enabled - echo N > /sys/module/lpm_levels/system/pwr/cpu5/ret/idle_enabled - echo N > /sys/module/lpm_levels/system/pwr/cpu6/ret/idle_enabled - echo N > /sys/module/lpm_levels/system/pwr/cpu7/ret/idle_enabled - echo N > /sys/module/lpm_levels/system/pwr/pwr-l2-dynret/idle_enabled - echo N > /sys/module/lpm_levels/system/perf/perf-l2-dynret/idle_enabled - # enable LPM - echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled - - # re-enable thermal and BCL hotplug - echo 1 > /sys/module/msm_thermal/core_control/enabled - for mode in /sys/devices/soc.0/qcom,bcl.*/mode - do - echo -n disable > $mode - done - for hotplug_mask in /sys/devices/soc.0/qcom,bcl.*/hotplug_mask - do - echo $bcl_hotplug_mask > $hotplug_mask - done - for hotplug_soc_mask in /sys/devices/soc.0/qcom,bcl.*/hotplug_soc_mask - do - echo $bcl_soc_hotplug_mask > $hotplug_soc_mask - done - for mode in /sys/devices/soc.0/qcom,bcl.*/mode - do - echo -n enable > $mode - done - - # Set Memory parameters - configure_memory_parameters - - # Enable bus-dcvs - for cpubw in /sys/class/devfreq/*qcom,cpubw* - do - echo "bw_hwmon" > $cpubw/governor - echo 50 > $cpubw/polling_interval - echo 762 > $cpubw/min_freq - echo "1525 3143 4173 5195 5859 7759 9887 10327" > $cpubw/bw_hwmon/mbps_zones - echo 4 > $cpubw/bw_hwmon/sample_ms - echo 85 > $cpubw/bw_hwmon/io_percent - echo 20 > $cpubw/bw_hwmon/hist_memory - echo 0 > $cpubw/bw_hwmon/hyst_length - echo 100 > $cpubw/bw_hwmon/decay_rate - echo 50 > $cpubw/bw_hwmon/bw_step - echo 80 > $cpubw/bw_hwmon/down_thres - echo 0 > $cpubw/bw_hwmon/low_power_ceil_mbps - echo 50 > $cpubw/bw_hwmon/low_power_io_percent - echo 20 > $cpubw/bw_hwmon/low_power_delay - echo 0 > $cpubw/bw_hwmon/guard_band_mbps - echo 250 > $cpubw/bw_hwmon/up_scale - echo 1600 > $cpubw/bw_hwmon/idle_mbps - done - - for memlat in /sys/class/devfreq/*qcom,memlat-cpu* - do - echo "mem_latency" > $memlat/governor - echo 10 > $memlat/polling_interval - echo 400 > $memlat/mem_latency/ratio_ceil - done - - echo "cpufreq" > /sys/class/devfreq/soc:qcom,mincpubw/governor - ;; - esac - ;; -esac - -case "$target" in - "sdm710") - - #Apply settings for sdm710 - # Set the default IRQ affinity to the silver cluster. When a - # CPU is isolated/hotplugged, the IRQ affinity is adjusted - # to one of the CPU from the default IRQ affinity mask. - echo 3f > /proc/irq/default_smp_affinity - - if [ -f /sys/devices/soc0/soc_id ]; then - soc_id=`cat /sys/devices/soc0/soc_id` - else - soc_id=`cat /sys/devices/system/soc/soc0/id` - fi - - if [ -f /sys/devices/soc0/hw_platform ]; then - hw_platform=`cat /sys/devices/soc0/hw_platform` - else - hw_platform=`cat /sys/devices/system/soc/soc0/hw_platform` - fi - - case "$soc_id" in - "336" | "337" | "347" | "360" | "393" ) - - # Start Host based Touch processing - case "$hw_platform" in - "MTP" | "Surf" | "RCM" | "QRD" ) - start_hbtp - ;; - esac - - # Core control parameters on silver - echo 0 0 0 0 1 1 > /sys/devices/system/cpu/cpu0/core_ctl/not_preferred - echo 4 > /sys/devices/system/cpu/cpu0/core_ctl/min_cpus - echo 60 > /sys/devices/system/cpu/cpu0/core_ctl/busy_up_thres - echo 40 > /sys/devices/system/cpu/cpu0/core_ctl/busy_down_thres - echo 100 > /sys/devices/system/cpu/cpu0/core_ctl/offline_delay_ms - echo 0 > /sys/devices/system/cpu/cpu0/core_ctl/is_big_cluster - echo 8 > /sys/devices/system/cpu/cpu0/core_ctl/task_thres - - # Setting b.L scheduler parameters - echo 96 > /proc/sys/kernel/sched_upmigrate - echo 90 > /proc/sys/kernel/sched_downmigrate - echo 140 > /proc/sys/kernel/sched_group_upmigrate - echo 120 > /proc/sys/kernel/sched_group_downmigrate - echo 1 > /proc/sys/kernel/sched_walt_rotate_big_tasks - - # configure governor settings for little cluster - echo "schedutil" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/rate_limit_us - echo 1209600 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_freq - echo 576000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - - # configure governor settings for big cluster - echo "schedutil" > /sys/devices/system/cpu/cpu6/cpufreq/scaling_governor - echo 0 > /sys/devices/system/cpu/cpu6/cpufreq/schedutil/rate_limit_us - echo 1344000 > /sys/devices/system/cpu/cpu6/cpufreq/schedutil/hispeed_freq - echo 652800 > /sys/devices/system/cpu/cpu6/cpufreq/scaling_min_freq - - # sched_load_boost as -6 is equivalent to target load as 85. It is per cpu tunable. - echo -6 > /sys/devices/system/cpu/cpu6/sched_load_boost - echo -6 > /sys/devices/system/cpu/cpu7/sched_load_boost - echo 85 > /sys/devices/system/cpu/cpu6/cpufreq/schedutil/hispeed_load - - echo "0:1209600" > /sys/module/cpu_boost/parameters/input_boost_freq - echo 40 > /sys/module/cpu_boost/parameters/input_boost_ms - - # Set Memory parameters - configure_memory_parameters - - # Enable bus-dcvs - for cpubw in /sys/class/devfreq/*qcom,cpubw* - do - echo "bw_hwmon" > $cpubw/governor - echo 50 > $cpubw/polling_interval - echo "1144 1720 2086 2929 3879 5931 6881" > $cpubw/bw_hwmon/mbps_zones - echo 4 > $cpubw/bw_hwmon/sample_ms - echo 68 > $cpubw/bw_hwmon/io_percent - echo 20 > $cpubw/bw_hwmon/hist_memory - echo 0 > $cpubw/bw_hwmon/hyst_length - echo 80 > $cpubw/bw_hwmon/down_thres - echo 0 > $cpubw/bw_hwmon/guard_band_mbps - echo 250 > $cpubw/bw_hwmon/up_scale - echo 1600 > $cpubw/bw_hwmon/idle_mbps - done - - #Enable mem_latency governor for DDR scaling - for memlat in /sys/class/devfreq/*qcom,memlat-cpu* - do - echo "mem_latency" > $memlat/governor - echo 10 > $memlat/polling_interval - echo 400 > $memlat/mem_latency/ratio_ceil - done - - #Enable mem_latency governor for L3 scaling - for memlat in /sys/class/devfreq/*qcom,l3-cpu* - do - echo "mem_latency" > $memlat/governor - echo 10 > $memlat/polling_interval - echo 400 > $memlat/mem_latency/ratio_ceil - done - - #Enable userspace governor for L3 cdsp nodes - for l3cdsp in /sys/class/devfreq/*qcom,l3-cdsp* - do - echo "userspace" > $l3cdsp/governor - chown -h system $l3cdsp/userspace/set_freq - done - - echo "cpufreq" > /sys/class/devfreq/soc:qcom,mincpubw/governor - - # Disable CPU Retention - echo N > /sys/module/lpm_levels/L3/cpu0/ret/idle_enabled - echo N > /sys/module/lpm_levels/L3/cpu1/ret/idle_enabled - echo N > /sys/module/lpm_levels/L3/cpu2/ret/idle_enabled - echo N > /sys/module/lpm_levels/L3/cpu3/ret/idle_enabled - echo N > /sys/module/lpm_levels/L3/cpu4/ret/idle_enabled - echo N > /sys/module/lpm_levels/L3/cpu5/ret/idle_enabled - echo N > /sys/module/lpm_levels/L3/cpu6/ret/idle_enabled - echo N > /sys/module/lpm_levels/L3/cpu7/ret/idle_enabled - - # cpuset parameters - echo 0-5 > /dev/cpuset/background/cpus - echo 0-5 > /dev/cpuset/system-background/cpus - - # Turn off scheduler boost at the end - echo 0 > /proc/sys/kernel/sched_boost - - # Turn on sleep modes. - echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled - ;; - esac - ;; -esac - -case "$target" in - "trinket") - - if [ -f /sys/devices/soc0/soc_id ]; then - soc_id=`cat /sys/devices/soc0/soc_id` - else - soc_id=`cat /sys/devices/system/soc/soc0/id` - fi - - case "$soc_id" in - "394" ) - - # Core control parameters on big - echo 2 > /sys/devices/system/cpu/cpu4/core_ctl/min_cpus - echo 40 > /sys/devices/system/cpu/cpu4/core_ctl/busy_down_thres - echo 60 > /sys/devices/system/cpu/cpu4/core_ctl/busy_up_thres - echo 100 > /sys/devices/system/cpu/cpu4/core_ctl/offline_delay_ms - echo 1 > /sys/devices/system/cpu/cpu4/core_ctl/is_big_cluster - echo 4 > /sys/devices/system/cpu/cpu4/core_ctl/task_thres - - # Setting b.L scheduler parameters - echo 67 > /proc/sys/kernel/sched_downmigrate - echo 77 > /proc/sys/kernel/sched_upmigrate - echo 85 > /proc/sys/kernel/sched_group_downmigrate - echo 100 > /proc/sys/kernel/sched_group_upmigrate - - # cpuset settings - echo 0-3 > /dev/cpuset/background/cpus - echo 0-3 > /dev/cpuset/system-background/cpus - - - # configure governor settings for little cluster - echo "schedutil" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/up_rate_limit_us - echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/down_rate_limit_us - echo 1305600 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_freq - echo 614400 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - - # configure governor settings for big cluster - echo "schedutil" > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor - echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/up_rate_limit_us - echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/down_rate_limit_us - echo 1401600 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/hispeed_freq - echo 1056000 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq - - echo 1 > /proc/sys/kernel/sched_walt_rotate_big_tasks - - # sched_load_boost as -6 is equivalent to target load as 85. It is per cpu tunable. - echo -6 > /sys/devices/system/cpu/cpu0/sched_load_boost - echo -6 > /sys/devices/system/cpu/cpu1/sched_load_boost - echo -6 > /sys/devices/system/cpu/cpu2/sched_load_boost - echo -6 > /sys/devices/system/cpu/cpu3/sched_load_boost - echo -6 > /sys/devices/system/cpu/cpu4/sched_load_boost - echo -6 > /sys/devices/system/cpu/cpu5/sched_load_boost - echo -6 > /sys/devices/system/cpu/cpu6/sched_load_boost - echo -6 > /sys/devices/system/cpu/cpu7/sched_load_boost - echo 85 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_load - echo 85 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/hispeed_load - - # Set Memory parameters - configure_memory_parameters - - # Enable bus-dcvs - ddr_type=`od -An -tx /proc/device-tree/memory/ddr_device_type` - ddr_type4="07" - ddr_type3="05" - - for device in /sys/devices/platform/soc - do - for cpubw in $device/*cpu-cpu-ddr-bw/devfreq/*cpu-cpu-ddr-bw - do - echo "bw_hwmon" > $cpubw/governor - echo 762 > $cpubw/min_freq - if [ ${ddr_type:4:2} == $ddr_type4 ]; then - # LPDDR4 - echo "2288 3440 4173 5195 5859 7759 10322 11863 13763" > $cpubw/bw_hwmon/mbps_zones - echo 85 > $cpubw/bw_hwmon/io_percent - fi - if [ ${ddr_type:4:2} == $ddr_type3 ]; then - # LPDDR3 - echo "1525 3440 5195 5859 7102" > $cpubw/bw_hwmon/mbps_zones - echo 34 > $cpubw/bw_hwmon/io_percent - fi - echo 4 > $cpubw/bw_hwmon/sample_ms - echo 90 > $cpubw/bw_hwmon/decay_rate - echo 190 > $cpubw/bw_hwmon/bw_step - echo 20 > $cpubw/bw_hwmon/hist_memory - echo 0 > $cpubw/bw_hwmon/hyst_length - echo 80 > $cpubw/bw_hwmon/down_thres - echo 0 > $cpubw/bw_hwmon/guard_band_mbps - echo 250 > $cpubw/bw_hwmon/up_scale - echo 1600 > $cpubw/bw_hwmon/idle_mbps - echo 50 > $cpubw/polling_interval - done - - done - - # memlat specific settings are moved to seperate file under - # device/target specific folder - setprop vendor.dcvs.prop 1 - - # colcoation v3 disabled - echo 0 > /proc/sys/kernel/sched_min_task_util_for_boost - echo 0 > /proc/sys/kernel/sched_min_task_util_for_colocation - echo 0 > /proc/sys/kernel/sched_little_cluster_coloc_fmin_khz - - # Turn off scheduler boost at the end - echo 0 > /proc/sys/kernel/sched_boost - - # Turn on sleep modes. - echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled - - ;; - esac - ;; -esac - -case "$target" in - "sm6150") - - #Apply settings for sm6150 - # Set the default IRQ affinity to the silver cluster. When a - # CPU is isolated/hotplugged, the IRQ affinity is adjusted - # to one of the CPU from the default IRQ affinity mask. - echo 3f > /proc/irq/default_smp_affinity - - if [ -f /sys/devices/soc0/soc_id ]; then - soc_id=`cat /sys/devices/soc0/soc_id` - else - soc_id=`cat /sys/devices/system/soc/soc0/id` - fi - - case "$soc_id" in - "355" | "369" | "377" | "380" | "384" ) - target_type=`getprop ro.hardware.type` - if [ "$target_type" == "automotive" ]; then - # update frequencies - configure_sku_parameters - sku_identified=`getprop vendor.sku_identified` - else - sku_identified=0 - fi - - # Core control parameters on silver - echo 0 0 0 0 1 1 > /sys/devices/system/cpu/cpu0/core_ctl/not_preferred - echo 4 > /sys/devices/system/cpu/cpu0/core_ctl/min_cpus - echo 60 > /sys/devices/system/cpu/cpu0/core_ctl/busy_up_thres - echo 40 > /sys/devices/system/cpu/cpu0/core_ctl/busy_down_thres - echo 100 > /sys/devices/system/cpu/cpu0/core_ctl/offline_delay_ms - echo 0 > /sys/devices/system/cpu/cpu0/core_ctl/is_big_cluster - echo 8 > /sys/devices/system/cpu/cpu0/core_ctl/task_thres - echo 0 > /sys/devices/system/cpu/cpu6/core_ctl/enable - - - # Setting b.L scheduler parameters - # default sched up and down migrate values are 90 and 85 - echo 65 > /proc/sys/kernel/sched_downmigrate - echo 71 > /proc/sys/kernel/sched_upmigrate - # default sched up and down migrate values are 100 and 95 - echo 85 > /proc/sys/kernel/sched_group_downmigrate - echo 100 > /proc/sys/kernel/sched_group_upmigrate - echo 1 > /proc/sys/kernel/sched_walt_rotate_big_tasks - - # colocation v3 settings - echo 740000 > /proc/sys/kernel/sched_little_cluster_coloc_fmin_khz - - - # configure governor settings for little cluster - echo "schedutil" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/up_rate_limit_us - echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/down_rate_limit_us - echo 1209600 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_freq - if [ $sku_identified != 1 ]; then - echo 576000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - fi - - # configure governor settings for big cluster - echo "schedutil" > /sys/devices/system/cpu/cpu6/cpufreq/scaling_governor - echo 0 > /sys/devices/system/cpu/cpu6/cpufreq/schedutil/up_rate_limit_us - echo 0 > /sys/devices/system/cpu/cpu6/cpufreq/schedutil/down_rate_limit_us - echo 1209600 > /sys/devices/system/cpu/cpu6/cpufreq/schedutil/hispeed_freq - if [ $sku_identified != 1 ]; then - echo 768000 > /sys/devices/system/cpu/cpu6/cpufreq/scaling_min_freq - fi - - # sched_load_boost as -6 is equivalent to target load as 85. It is per cpu tunable. - echo -6 > /sys/devices/system/cpu/cpu6/sched_load_boost - echo -6 > /sys/devices/system/cpu/cpu7/sched_load_boost - echo 85 > /sys/devices/system/cpu/cpu6/cpufreq/schedutil/hispeed_load - - echo "0:1209600" > /sys/module/cpu_boost/parameters/input_boost_freq - echo 40 > /sys/module/cpu_boost/parameters/input_boost_ms - - # Set Memory parameters - configure_memory_parameters - - # Enable bus-dcvs - for device in /sys/devices/platform/soc - do - for cpubw in $device/*cpu-cpu-llcc-bw/devfreq/*cpu-cpu-llcc-bw - do - echo "bw_hwmon" > $cpubw/governor - echo "2288 4577 7110 9155 12298 14236" > $cpubw/bw_hwmon/mbps_zones - echo 4 > $cpubw/bw_hwmon/sample_ms - echo 68 > $cpubw/bw_hwmon/io_percent - echo 20 > $cpubw/bw_hwmon/hist_memory - echo 0 > $cpubw/bw_hwmon/hyst_length - echo 80 > $cpubw/bw_hwmon/down_thres - echo 0 > $cpubw/bw_hwmon/guard_band_mbps - echo 250 > $cpubw/bw_hwmon/up_scale - echo 1600 > $cpubw/bw_hwmon/idle_mbps - echo 50 > $cpubw/polling_interval - done - - for llccbw in $device/*cpu-llcc-ddr-bw/devfreq/*cpu-llcc-ddr-bw - do - echo "bw_hwmon" > $llccbw/governor - echo "1144 1720 2086 2929 3879 5931 6881" > $llccbw/bw_hwmon/mbps_zones - echo 4 > $llccbw/bw_hwmon/sample_ms - echo 68 > $llccbw/bw_hwmon/io_percent - echo 20 > $llccbw/bw_hwmon/hist_memory - echo 0 > $llccbw/bw_hwmon/hyst_length - echo 80 > $llccbw/bw_hwmon/down_thres - echo 0 > $llccbw/bw_hwmon/guard_band_mbps - echo 250 > $llccbw/bw_hwmon/up_scale - echo 1600 > $llccbw/bw_hwmon/idle_mbps - echo 40 > $llccbw/polling_interval - done - done - - # memlat specific settings are moved to seperate file under - # device/target specific folder - setprop vendor.dcvs.prop 1 - - # cpuset parameters - echo 0-5 > /dev/cpuset/background/cpus - echo 0-5 > /dev/cpuset/system-background/cpus - - # Turn off scheduler boost at the end - echo 0 > /proc/sys/kernel/sched_boost - - # Turn on sleep modes. - echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled - ;; - esac - - #Apply settings for moorea - case "$soc_id" in - "365" | "366" ) - - # Core control parameters on silver - echo 0 0 0 0 1 1 > /sys/devices/system/cpu/cpu0/core_ctl/not_preferred - echo 4 > /sys/devices/system/cpu/cpu0/core_ctl/min_cpus - echo 60 > /sys/devices/system/cpu/cpu0/core_ctl/busy_up_thres - echo 40 > /sys/devices/system/cpu/cpu0/core_ctl/busy_down_thres - echo 100 > /sys/devices/system/cpu/cpu0/core_ctl/offline_delay_ms - echo 0 > /sys/devices/system/cpu/cpu0/core_ctl/is_big_cluster - echo 8 > /sys/devices/system/cpu/cpu0/core_ctl/task_thres - echo 0 > /sys/devices/system/cpu/cpu6/core_ctl/enable - - # Setting b.L scheduler parameters - # default sched up and down migrate values are 71 and 65 - echo 65 > /proc/sys/kernel/sched_downmigrate - echo 71 > /proc/sys/kernel/sched_upmigrate - # default sched up and down migrate values are 100 and 95 - echo 85 > /proc/sys/kernel/sched_group_downmigrate - echo 100 > /proc/sys/kernel/sched_group_upmigrate - echo 1 > /proc/sys/kernel/sched_walt_rotate_big_tasks - - #colocation v3 settings - echo 740000 > /proc/sys/kernel/sched_little_cluster_coloc_fmin_khz - - # configure governor settings for little cluster - echo "schedutil" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/up_rate_limit_us - echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/down_rate_limit_us - echo 1248000 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_freq - echo 576000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - - # configure governor settings for big cluster - echo "schedutil" > /sys/devices/system/cpu/cpu6/cpufreq/scaling_governor - echo 0 > /sys/devices/system/cpu/cpu6/cpufreq/schedutil/up_rate_limit_us - echo 0 > /sys/devices/system/cpu/cpu6/cpufreq/schedutil/down_rate_limit_us - echo 1324600 > /sys/devices/system/cpu/cpu6/cpufreq/schedutil/hispeed_freq - echo 652800 > /sys/devices/system/cpu/cpu6/cpufreq/scaling_min_freq - - # sched_load_boost as -6 is equivalent to target load as 85. It is per cpu tunable. - echo -6 > /sys/devices/system/cpu/cpu6/sched_load_boost - echo -6 > /sys/devices/system/cpu/cpu7/sched_load_boost - echo 85 > /sys/devices/system/cpu/cpu6/cpufreq/schedutil/hispeed_load - - echo "0:1248000" > /sys/module/cpu_boost/parameters/input_boost_freq - echo 40 > /sys/module/cpu_boost/parameters/input_boost_ms - - # Set Memory parameters - configure_memory_parameters - - # Enable bus-dcvs - for device in /sys/devices/platform/soc - do - for cpubw in $device/*cpu-cpu-llcc-bw/devfreq/*cpu-cpu-llcc-bw - do - echo "bw_hwmon" > $cpubw/governor - echo "2288 4577 7110 9155 12298 14236" > $cpubw/bw_hwmon/mbps_zones - echo 4 > $cpubw/bw_hwmon/sample_ms - echo 68 > $cpubw/bw_hwmon/io_percent - echo 20 > $cpubw/bw_hwmon/hist_memory - echo 0 > $cpubw/bw_hwmon/hyst_length - echo 80 > $cpubw/bw_hwmon/down_thres - echo 0 > $cpubw/bw_hwmon/guard_band_mbps - echo 250 > $cpubw/bw_hwmon/up_scale - echo 1600 > $cpubw/bw_hwmon/idle_mbps - echo 50 > $cpubw/polling_interval - done - - for llccbw in $device/*cpu-llcc-ddr-bw/devfreq/*cpu-llcc-ddr-bw - do - echo "bw_hwmon" > $llccbw/governor - echo "1144 1720 2086 2929 3879 5931 6881" > $llccbw/bw_hwmon/mbps_zones - echo 4 > $llccbw/bw_hwmon/sample_ms - echo 68 > $llccbw/bw_hwmon/io_percent - echo 20 > $llccbw/bw_hwmon/hist_memory - echo 0 > $llccbw/bw_hwmon/hyst_length - echo 80 > $llccbw/bw_hwmon/down_thres - echo 0 > $llccbw/bw_hwmon/guard_band_mbps - echo 250 > $llccbw/bw_hwmon/up_scale - echo 1600 > $llccbw/bw_hwmon/idle_mbps - echo 40 > $llccbw/polling_interval - done - - for npubw in $device/*npu-npu-ddr-bw/devfreq/*npu-npu-ddr-bw - do - echo 1 > /sys/devices/virtual/npu/msm_npu/pwr - echo "bw_hwmon" > $npubw/governor - echo "1144 1720 2086 2929 3879 5931 6881" > $npubw/bw_hwmon/mbps_zones - echo 4 > $npubw/bw_hwmon/sample_ms - echo 80 > $npubw/bw_hwmon/io_percent - echo 20 > $npubw/bw_hwmon/hist_memory - echo 10 > $npubw/bw_hwmon/hyst_length - echo 30 > $npubw/bw_hwmon/down_thres - echo 0 > $npubw/bw_hwmon/guard_band_mbps - echo 250 > $npubw/bw_hwmon/up_scale - echo 0 > $npubw/bw_hwmon/idle_mbps - echo 40 > $npubw/polling_interval - echo 0 > /sys/devices/virtual/npu/msm_npu/pwr - done - done - - # memlat specific settings are moved to seperate file under - # device/target specific folder - setprop vendor.dcvs.prop 1 - - # cpuset parameters - echo 0-5 > /dev/cpuset/background/cpus - echo 0-5 > /dev/cpuset/system-background/cpus - - # Turn off scheduler boost at the end - echo 0 > /proc/sys/kernel/sched_boost - - # Turn on sleep modes. - echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled - ;; - esac - - ;; -esac - - -case "$target" in - "lito") - - #Apply settings for lito - if [ -f /sys/devices/soc0/soc_id ]; then - soc_id=`cat /sys/devices/soc0/soc_id` - fi - - case "$soc_id" in - "400" | "440" | "476" ) - # Core control parameters on silver - echo 0 0 0 0 1 1 > /sys/devices/system/cpu/cpu0/core_ctl/not_preferred - echo 4 > /sys/devices/system/cpu/cpu0/core_ctl/min_cpus - echo 60 > /sys/devices/system/cpu/cpu0/core_ctl/busy_up_thres - echo 40 > /sys/devices/system/cpu/cpu0/core_ctl/busy_down_thres - echo 8 > /sys/devices/system/cpu/cpu0/core_ctl/task_thres - echo 100 > /sys/devices/system/cpu/cpu0/core_ctl/offline_delay_ms - - # Disable Core control on gold, prime - echo 0 > /sys/devices/system/cpu/cpu6/core_ctl/enable - echo 0 > /sys/devices/system/cpu/cpu7/core_ctl/enable - - # Setting b.L scheduler parameters - echo 65 85 > /proc/sys/kernel/sched_downmigrate - echo 71 95 > /proc/sys/kernel/sched_upmigrate - echo 85 > /proc/sys/kernel/sched_group_downmigrate - echo 100 > /proc/sys/kernel/sched_group_upmigrate - echo 1 > /proc/sys/kernel/sched_walt_rotate_big_tasks - echo 0 > /proc/sys/kernel/sched_coloc_busy_hyst_ns - echo 0 > /proc/sys/kernel/sched_coloc_busy_hysteresis_enable_cpus - echo 0 > /proc/sys/kernel/sched_coloc_busy_hyst_max_ms - - # disable unfiltering - echo 20000000 > /proc/sys/kernel/sched_task_unfilter_period - echo 1 > /proc/sys/kernel/sched_task_unfilter_nr_windows - - # configure governor settings for silver cluster - echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor - echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/up_rate_limit_us - echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/down_rate_limit_us - echo 1228800 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/hispeed_freq - echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/pl - echo 576000 > /sys/devices/system/cpu/cpufreq/policy0/scaling_min_freq - echo 650000 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/rtg_boost_freq - - # configure governor settings for gold cluster - echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy6/scaling_governor - echo 0 > /sys/devices/system/cpu/cpufreq/policy6/schedutil/up_rate_limit_us - echo 0 > /sys/devices/system/cpu/cpufreq/policy6/schedutil/down_rate_limit_us - echo 1228800 > /sys/devices/system/cpu/cpufreq/policy6/schedutil/hispeed_freq - echo 85 > /sys/devices/system/cpu/cpu6/cpufreq/schedutil/hispeed_load - echo -6 > /sys/devices/system/cpu/cpu6/sched_load_boost - echo 0 > /sys/devices/system/cpu/cpufreq/policy6/schedutil/pl - echo 672000 > /sys/devices/system/cpu/cpufreq/policy6/scaling_min_freq - echo 0 > /sys/devices/system/cpu/cpufreq/policy6/schedutil/rtg_boost_freq - - # configure governor settings for gold+ cluster - echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy7/scaling_governor - echo 0 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/up_rate_limit_us - echo 0 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/down_rate_limit_us - echo 1228800 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/hispeed_freq - echo 85 > /sys/devices/system/cpu/cpu7/cpufreq/schedutil/hispeed_load - echo -6 > /sys/devices/system/cpu/cpu7/sched_load_boost - echo 0 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/pl - echo 672000 > /sys/devices/system/cpu/cpufreq/policy7/scaling_min_freq - echo 0 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/rtg_boost_freq - - # colocation v3 settings - echo 51 > /proc/sys/kernel/sched_min_task_util_for_boost - echo 35 > /proc/sys/kernel/sched_min_task_util_for_colocation - - # Enable conservative pl - echo 1 > /proc/sys/kernel/sched_conservative_pl - - echo "0:1228800" > /sys/devices/system/cpu/cpu_boost/input_boost_freq - echo 120 > /sys/devices/system/cpu/cpu_boost/input_boost_ms - - # Set Memory parameters - configure_memory_parameters - - if [ `cat /sys/devices/soc0/revision` == "2.0" ]; then - # r2.0 related changes - echo "0:1075200" > /sys/devices/system/cpu/cpu_boost/input_boost_freq - echo 610000 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/rtg_boost_freq - echo 1075200 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/hispeed_freq - echo 1152000 > /sys/devices/system/cpu/cpufreq/policy6/schedutil/hispeed_freq - echo 1401600 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/hispeed_freq - echo 614400 > /sys/devices/system/cpu/cpufreq/policy0/scaling_min_freq - echo 652800 > /sys/devices/system/cpu/cpufreq/policy6/scaling_min_freq - echo 806400 > /sys/devices/system/cpu/cpufreq/policy7/scaling_min_freq - echo 83 > /proc/sys/kernel/sched_asym_cap_sibling_freq_match_pct - fi - - # Enable bus-dcvs - for device in /sys/devices/platform/soc - do - for cpubw in $device/*cpu-cpu-llcc-bw/devfreq/*cpu-cpu-llcc-bw - do - echo "bw_hwmon" > $cpubw/governor - echo "2288 4577 7110 9155 12298 14236 16265" > $cpubw/bw_hwmon/mbps_zones - echo 4 > $cpubw/bw_hwmon/sample_ms - echo 68 > $cpubw/bw_hwmon/io_percent - echo 20 > $cpubw/bw_hwmon/hist_memory - echo 0 > $cpubw/bw_hwmon/hyst_length - echo 80 > $cpubw/bw_hwmon/down_thres - echo 0 > $cpubw/bw_hwmon/guard_band_mbps - echo 250 > $cpubw/bw_hwmon/up_scale - echo 1600 > $cpubw/bw_hwmon/idle_mbps - echo 50 > $cpubw/polling_interval - done - - for llccbw in $device/*cpu-llcc-ddr-bw/devfreq/*cpu-llcc-ddr-bw - do - echo "bw_hwmon" > $llccbw/governor - echo "1144 1720 2086 2929 3879 5931 6881 7980" > $llccbw/bw_hwmon/mbps_zones - echo 4 > $llccbw/bw_hwmon/sample_ms - echo 68 > $llccbw/bw_hwmon/io_percent - echo 20 > $llccbw/bw_hwmon/hist_memory - echo 0 > $llccbw/bw_hwmon/hyst_length - echo 80 > $llccbw/bw_hwmon/down_thres - echo 0 > $llccbw/bw_hwmon/guard_band_mbps - echo 250 > $llccbw/bw_hwmon/up_scale - echo 1600 > $llccbw/bw_hwmon/idle_mbps - echo 50 > $llccbw/polling_interval - done - - for npubw in $device/*npu*-ddr-bw/devfreq/*npu*-ddr-bw - do - echo 1 > /sys/devices/virtual/npu/msm_npu/pwr - echo "bw_hwmon" > $npubw/governor - echo "1144 1720 2086 2929 3879 5931 6881 7980" > $npubw/bw_hwmon/mbps_zones - echo 4 > $npubw/bw_hwmon/sample_ms - echo 80 > $npubw/bw_hwmon/io_percent - echo 20 > $npubw/bw_hwmon/hist_memory - echo 10 > $npubw/bw_hwmon/hyst_length - echo 30 > $npubw/bw_hwmon/down_thres - echo 0 > $npubw/bw_hwmon/guard_band_mbps - echo 250 > $npubw/bw_hwmon/up_scale - echo 0 > $npubw/bw_hwmon/idle_mbps - echo 40 > $npubw/polling_interval - echo 0 > /sys/devices/virtual/npu/msm_npu/pwr - done - - for npullccbw in $device/*npu*-llcc-bw/devfreq/*npu*-llcc-bw - do - echo 1 > /sys/devices/virtual/npu/msm_npu/pwr - echo "bw_hwmon" > $npullccbw/governor - echo "2288 4577 7110 9155 12298 14236 16265" > $npullccbw/bw_hwmon/mbps_zones - echo 4 > $npullccbw/bw_hwmon/sample_ms - echo 100 > $npullccbw/bw_hwmon/io_percent - echo 20 > $npullccbw/bw_hwmon/hist_memory - echo 10 > $npullccbw/bw_hwmon/hyst_length - echo 30 > $npullccbw/bw_hwmon/down_thres - echo 0 > $npullccbw/bw_hwmon/guard_band_mbps - echo 250 > $npullccbw/bw_hwmon/up_scale - echo 40 > $npullccbw/polling_interval - echo 0 > /sys/devices/virtual/npu/msm_npu/pwr - done - done - # memlat specific settings are moved to seperate file under - # device/target specific folder - setprop vendor.dcvs.prop 0 - setprop vendor.dcvs.prop 1 - - # cpuset parameters - echo 0-5 > /dev/cpuset/background/cpus - echo 0-5 > /dev/cpuset/system-background/cpus - - # Turn off scheduler boost at the end - echo 0 > /proc/sys/kernel/sched_boost - - # Turn on sleep modes - echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled - ;; - esac - - #Apply settings for lagoon - case "$soc_id" in - "434" | "459" ) - - # Core control parameters on silver - echo 0 0 0 0 1 1 > /sys/devices/system/cpu/cpu0/core_ctl/not_preferred - echo 4 > /sys/devices/system/cpu/cpu0/core_ctl/min_cpus - echo 60 > /sys/devices/system/cpu/cpu0/core_ctl/busy_up_thres - echo 40 > /sys/devices/system/cpu/cpu0/core_ctl/busy_down_thres - echo 100 > /sys/devices/system/cpu/cpu0/core_ctl/offline_delay_ms - echo 8 > /sys/devices/system/cpu/cpu0/core_ctl/task_thres - - # Disable Core control on gold - echo 0 > /sys/devices/system/cpu/cpu6/core_ctl/enable - - - # disable unfiltering - echo 20000000 > /proc/sys/kernel/sched_task_unfilter_period - - # Setting b.L scheduler parameters - # default sched up and down migrate values are 95 and 85 - echo 65 > /proc/sys/kernel/sched_downmigrate - echo 71 > /proc/sys/kernel/sched_upmigrate - - # default sched up and down migrate values are 100 and 95 - echo 85 > /proc/sys/kernel/sched_group_downmigrate - echo 100 > /proc/sys/kernel/sched_group_upmigrate - echo 1 > /proc/sys/kernel/sched_walt_rotate_big_tasks - echo 0 > /proc/sys/kernel/sched_coloc_busy_hyst_ns - echo 0 > /proc/sys/kernel/sched_coloc_busy_hysteresis_enable_cpus - echo 0 > /proc/sys/kernel/sched_coloc_busy_hyst_max_ms - - # configure governor settings for little cluster - echo "schedutil" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/up_rate_limit_us - echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/down_rate_limit_us - echo 1248000 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_freq - echo 576000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - - # configure governor settings for big cluster - echo "schedutil" > /sys/devices/system/cpu/cpu6/cpufreq/scaling_governor - echo 0 > /sys/devices/system/cpu/cpu6/cpufreq/schedutil/up_rate_limit_us - echo 0 > /sys/devices/system/cpu/cpu6/cpufreq/schedutil/down_rate_limit_us - echo 1248000 > /sys/devices/system/cpu/cpu6/cpufreq/schedutil/hispeed_freq - echo 652800 > /sys/devices/system/cpu/cpu6/cpufreq/scaling_min_freq - - #colocation v3 settings - echo 740000 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/rtg_boost_freq - echo 0 > /sys/devices/system/cpu/cpufreq/policy6/schedutil/rtg_boost_freq - echo 51 > /proc/sys/kernel/sched_min_task_util_for_boost - - # sched_load_boost as -6 is equivalent to target load as 85. It is per cpu tunable. - echo -6 > /sys/devices/system/cpu/cpu6/sched_load_boost - echo -6 > /sys/devices/system/cpu/cpu7/sched_load_boost - echo 85 > /sys/devices/system/cpu/cpu6/cpufreq/schedutil/hispeed_load - - # Enable conservative pl - echo 1 > /proc/sys/kernel/sched_conservative_pl - - echo "0:1248000" > /sys/devices/system/cpu/cpu_boost/input_boost_freq - echo 120 > /sys/devices/system/cpu/cpu_boost/input_boost_ms - - # Set Memory parameters - configure_memory_parameters - - # Enable bus-dcvs - for device in /sys/devices/platform/soc - do - for cpubw in $device/*cpu-cpu-llcc-bw/devfreq/*cpu-cpu-llcc-bw - do - echo "bw_hwmon" > $cpubw/governor - echo "2288 4577 7110 9155 12298 14236" > $cpubw/bw_hwmon/mbps_zones - echo 4 > $cpubw/bw_hwmon/sample_ms - echo 68 > $cpubw/bw_hwmon/io_percent - echo 20 > $cpubw/bw_hwmon/hist_memory - echo 0 > $cpubw/bw_hwmon/hyst_length - echo 80 > $cpubw/bw_hwmon/down_thres - echo 0 > $cpubw/bw_hwmon/guard_band_mbps - echo 250 > $cpubw/bw_hwmon/up_scale - echo 1600 > $cpubw/bw_hwmon/idle_mbps - echo 50 > $cpubw/polling_interval - done - - for llccbw in $device/*cpu-llcc-ddr-bw/devfreq/*cpu-llcc-ddr-bw - do - echo "bw_hwmon" > $llccbw/governor - echo "1144 1720 2086 2929 3879 5931 6881 8137" > $llccbw/bw_hwmon/mbps_zones - echo 4 > $llccbw/bw_hwmon/sample_ms - echo 68 > $llccbw/bw_hwmon/io_percent - echo 20 > $llccbw/bw_hwmon/hist_memory - echo 0 > $llccbw/bw_hwmon/hyst_length - echo 80 > $llccbw/bw_hwmon/down_thres - echo 0 > $llccbw/bw_hwmon/guard_band_mbps - echo 250 > $llccbw/bw_hwmon/up_scale - echo 1600 > $llccbw/bw_hwmon/idle_mbps - echo 40 > $llccbw/polling_interval - done - - for npubw in $device/*npu*-ddr-bw/devfreq/*npu*-ddr-bw - do - echo 1 > /sys/devices/virtual/npu/msm_npu/pwr - echo "bw_hwmon" > $npubw/governor - echo "1144 1720 2086 2929 3879 5931 6881 7980" > $npubw/bw_hwmon/mbps_zones - echo 4 > $npubw/bw_hwmon/sample_ms - echo 80 > $npubw/bw_hwmon/io_percent - echo 20 > $npubw/bw_hwmon/hist_memory - echo 10 > $npubw/bw_hwmon/hyst_length - echo 30 > $npubw/bw_hwmon/down_thres - echo 0 > $npubw/bw_hwmon/guard_band_mbps - echo 250 > $npubw/bw_hwmon/up_scale - echo 0 > $npubw/bw_hwmon/idle_mbps - echo 40 > $npubw/polling_interval - echo 0 > /sys/devices/virtual/npu/msm_npu/pwr - done - - for npullccbw in $device/*npu*-llcc-bw/devfreq/*npu*-llcc-bw - do - echo 1 > /sys/devices/virtual/npu/msm_npu/pwr - echo "bw_hwmon" > $npullccbw/governor - echo "2288 4577 7110 9155 12298 14236 16265" > $npullccbw/bw_hwmon/mbps_zones - echo 4 > $npullccbw/bw_hwmon/sample_ms - echo 100 > $npullccbw/bw_hwmon/io_percent - echo 20 > $npullccbw/bw_hwmon/hist_memory - echo 10 > $npullccbw/bw_hwmon/hyst_length - echo 30 > $npullccbw/bw_hwmon/down_thres - echo 0 > $npullccbw/bw_hwmon/guard_band_mbps - echo 250 > $npullccbw/bw_hwmon/up_scale - echo 40 > $npullccbw/polling_interval - echo 0 > /sys/devices/virtual/npu/msm_npu/pwr - done - done - # memlat specific settings are moved to seperate file under - # device/target specific folder - setprop vendor.dcvs.prop 1 - - # cpuset parameters - echo 0-5 > /dev/cpuset/background/cpus - echo 0-5 > /dev/cpuset/system-background/cpus - - # Turn off scheduler boost at the end - echo 0 > /proc/sys/kernel/sched_boost - - # Turn off sleep modes - echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled - ;; - esac -esac - -case "$target" in - "bengal") - - if [ -f /sys/devices/soc0/soc_id ]; then - soc_id=`cat /sys/devices/soc0/soc_id` - else - soc_id=`cat /sys/devices/system/soc/soc0/id` - fi - - case "$soc_id" in - "417" | "420" | "444" | "445" | "469" | "470" ) - - # Core control is temporarily disabled till bring up - echo 0 > /sys/devices/system/cpu/cpu0/core_ctl/enable - echo 2 > /sys/devices/system/cpu/cpu4/core_ctl/min_cpus - # Core control parameters on big - echo 40 > /sys/devices/system/cpu/cpu4/core_ctl/busy_down_thres - echo 60 > /sys/devices/system/cpu/cpu4/core_ctl/busy_up_thres - echo 100 > /sys/devices/system/cpu/cpu4/core_ctl/offline_delay_ms - echo 4 > /sys/devices/system/cpu/cpu4/core_ctl/task_thres - - # Setting b.L scheduler parameters - echo 67 > /proc/sys/kernel/sched_downmigrate - echo 77 > /proc/sys/kernel/sched_upmigrate - echo 85 > /proc/sys/kernel/sched_group_downmigrate - echo 100 > /proc/sys/kernel/sched_group_upmigrate - - # cpuset settings - echo 0-3 > /dev/cpuset/background/cpus - echo 0-3 > /dev/cpuset/system-background/cpus - - - # configure governor settings for little cluster - echo "schedutil" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/up_rate_limit_us - echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/down_rate_limit_us - echo 1305600 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_freq - echo 614400 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/rtg_boost_freq - - # configure governor settings for big cluster - echo "schedutil" > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor - echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/up_rate_limit_us - echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/down_rate_limit_us - echo 1401600 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/hispeed_freq - echo 1056000 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq - echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/rtg_boost_freq - - echo "0:1017600" > /sys/devices/system/cpu/cpu_boost/input_boost_freq - echo 80 > /sys/devices/system/cpu/cpu_boost/input_boost_ms - - echo 1 > /proc/sys/kernel/sched_walt_rotate_big_tasks - - # sched_load_boost as -6 is equivalent to target load as 85. It is per cpu tunable. - echo -6 > /sys/devices/system/cpu/cpu0/sched_load_boost - echo -6 > /sys/devices/system/cpu/cpu1/sched_load_boost - echo -6 > /sys/devices/system/cpu/cpu2/sched_load_boost - echo -6 > /sys/devices/system/cpu/cpu3/sched_load_boost - echo -6 > /sys/devices/system/cpu/cpu4/sched_load_boost - echo -6 > /sys/devices/system/cpu/cpu5/sched_load_boost - echo -6 > /sys/devices/system/cpu/cpu6/sched_load_boost - echo -6 > /sys/devices/system/cpu/cpu7/sched_load_boost - echo 85 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_load - echo 85 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/hispeed_load - - # Set Memory parameters - configure_memory_parameters - - # Enable bus-dcvs - ddr_type=`od -An -tx /proc/device-tree/memory/ddr_device_type` - ddr_type4="07" - ddr_type3="05" - - for device in /sys/devices/platform/soc - do - for cpubw in $device/*cpu-cpu-ddr-bw/devfreq/*cpu-cpu-ddr-bw - do - echo "bw_hwmon" > $cpubw/governor - echo 50 > $cpubw/polling_interval - echo 762 > $cpubw/min_freq - if [ ${ddr_type:4:2} == $ddr_type4 ]; then - # LPDDR4 - echo "2288 3440 4173 5195 5859 7759 10322 11863 13763" > $cpubw/bw_hwmon/mbps_zones - echo 85 > $cpubw/bw_hwmon/io_percent - fi - if [ ${ddr_type:4:2} == $ddr_type3 ]; then - # LPDDR3 - echo "1525 3440 5195 5859 7102" > $cpubw/bw_hwmon/mbps_zones - echo 34 > $cpubw/bw_hwmon/io_percent - fi - echo 4 > $cpubw/bw_hwmon/sample_ms - echo 90 > $cpubw/bw_hwmon/decay_rate - echo 190 > $cpubw/bw_hwmon/bw_step - echo 20 > $cpubw/bw_hwmon/hist_memory - echo 0 > $cpubw/bw_hwmon/hyst_length - echo 80 > $cpubw/bw_hwmon/down_thres - echo 0 > $cpubw/bw_hwmon/guard_band_mbps - echo 250 > $cpubw/bw_hwmon/up_scale - echo 1600 > $cpubw/bw_hwmon/idle_mbps - done - - done - # memlat specific settings are moved to seperate file under - # device/target specific folder - setprop vendor.dcvs.prop 1 - - # colcoation v3 disabled - echo 0 > /proc/sys/kernel/sched_min_task_util_for_boost - echo 0 > /proc/sys/kernel/sched_min_task_util_for_colocation - - # Turn off scheduler boost at the end - echo 0 > /proc/sys/kernel/sched_boost - - # Turn on sleep modes - echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled - - ;; - esac - - # Scuba perf/power tunings - case "$soc_id" in - "441" | "473" | "474" ) - - # Quad-core device. disable core_ctl - echo 0 > /sys/devices/system/cpu/cpu0/core_ctl/enable - - # Configure schedutil governor settings - echo "schedutil" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/up_rate_limit_us - echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/down_rate_limit_us - echo 1305600 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_freq - echo 614400 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/rtg_boost_freq - - # sched_load_boost as -6 is equivalent to target load as 85. - echo 0 > /proc/sys/kernel/sched_boost - echo -6 > /sys/devices/system/cpu/cpu0/sched_load_boost - echo -6 > /sys/devices/system/cpu/cpu1/sched_load_boost - echo -6 > /sys/devices/system/cpu/cpu2/sched_load_boost - echo -6 > /sys/devices/system/cpu/cpu3/sched_load_boost - echo 85 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_load - - # Set Memory parameters - configure_memory_parameters - - # Enable bus-dcvs - ddr_type=`od -An -tx /proc/device-tree/memory/ddr_device_type` - ddr_type4="07" - ddr_type3="05" - - for device in /sys/devices/platform/soc - do - for cpubw in $device/*cpu-cpu-ddr-bw/devfreq/*cpu-cpu-ddr-bw - do - echo "bw_hwmon" > $cpubw/governor - echo 50 > $cpubw/polling_interval - echo 762 > $cpubw/min_freq - if [ ${ddr_type:4:2} == $ddr_type4 ]; then - # LPDDR4 - echo "2288 3440 4173 5195 5859 7759 10322 11863 13763" > $cpubw/bw_hwmon/mbps_zones - echo 85 > $cpubw/bw_hwmon/io_percent - fi - if [ ${ddr_type:4:2} == $ddr_type3 ]; then - # LPDDR3 - echo "1525 3440 5195 5859 7102" > $cpubw/bw_hwmon/mbps_zones - echo 34 > $cpubw/bw_hwmon/io_percent - fi - echo 4 > $cpubw/bw_hwmon/sample_ms - echo 90 > $cpubw/bw_hwmon/decay_rate - echo 190 > $cpubw/bw_hwmon/bw_step - echo 20 > $cpubw/bw_hwmon/hist_memory - echo 0 > $cpubw/bw_hwmon/hyst_length - echo 80 > $cpubw/bw_hwmon/down_thres - echo 0 > $cpubw/bw_hwmon/guard_band_mbps - echo 250 > $cpubw/bw_hwmon/up_scale - echo 1600 > $cpubw/bw_hwmon/idle_mbps - done - - for memlat in $device/*cpu*-lat/devfreq/*cpu*-lat - do - echo "mem_latency" > $memlat/governor - echo 10 > $memlat/polling_interval - echo 400 > $memlat/mem_latency/ratio_ceil - done - - for latfloor in $device/*cpu*-ddr-latfloor*/devfreq/*cpu-ddr-latfloor* - do - echo "compute" > $latfloor/governor - echo 10 > $latfloor/polling_interval - done - done - - # Disable low power modes. Enable it after LPM stable - echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled - ;; - esac - - ;; -esac - - -#Apply settings for atoll -case "$target" in - "atoll") - - # Core control parameters on silver - echo 0 0 0 0 1 1 > /sys/devices/system/cpu/cpu0/core_ctl/not_preferred - echo 4 > /sys/devices/system/cpu/cpu0/core_ctl/min_cpus - echo 60 > /sys/devices/system/cpu/cpu0/core_ctl/busy_up_thres - echo 40 > /sys/devices/system/cpu/cpu0/core_ctl/busy_down_thres - echo 100 > /sys/devices/system/cpu/cpu0/core_ctl/offline_delay_ms - echo 8 > /sys/devices/system/cpu/cpu0/core_ctl/task_thres - echo 0 > /sys/devices/system/cpu/cpu6/core_ctl/enable - - # Setting b.L scheduler parameters - # default sched up and down migrate values are 95 and 85 - echo 65 > /proc/sys/kernel/sched_downmigrate - echo 71 > /proc/sys/kernel/sched_upmigrate - # default sched up and down migrate values are 100 and 95 - echo 85 > /proc/sys/kernel/sched_group_downmigrate - echo 100 > /proc/sys/kernel/sched_group_upmigrate - echo 1 > /proc/sys/kernel/sched_walt_rotate_big_tasks - - #colocation v3 settings - echo 740000 > /proc/sys/kernel/sched_little_cluster_coloc_fmin_khz - - # configure governor settings for little cluster - echo "schedutil" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/up_rate_limit_us - echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/down_rate_limit_us - echo 1248000 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_freq - echo 576000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - - # configure governor settings for big cluster - echo "schedutil" > /sys/devices/system/cpu/cpu6/cpufreq/scaling_governor - echo 0 > /sys/devices/system/cpu/cpu6/cpufreq/schedutil/up_rate_limit_us - echo 0 > /sys/devices/system/cpu/cpu6/cpufreq/schedutil/down_rate_limit_us - echo 1267200 > /sys/devices/system/cpu/cpu6/cpufreq/schedutil/hispeed_freq - echo 652800 > /sys/devices/system/cpu/cpu6/cpufreq/scaling_min_freq - - # sched_load_boost as -6 is equivalent to target load as 85. It is per cpu tunable. - echo -6 > /sys/devices/system/cpu/cpu6/sched_load_boost - echo -6 > /sys/devices/system/cpu/cpu7/sched_load_boost - echo 85 > /sys/devices/system/cpu/cpu6/cpufreq/schedutil/hispeed_load - - echo "0:1248000" > /sys/module/cpu_boost/parameters/input_boost_freq - echo 40 > /sys/module/cpu_boost/parameters/input_boost_ms - - # Set Memory parameters - configure_memory_parameters - - # Enable bus-dcvs - for device in /sys/devices/platform/soc - do - for cpubw in $device/*cpu-cpu-llcc-bw/devfreq/*cpu-cpu-llcc-bw - do - echo "bw_hwmon" > $cpubw/governor - echo "2288 4577 7110 9155 12298 14236" > $cpubw/bw_hwmon/mbps_zones - echo 4 > $cpubw/bw_hwmon/sample_ms - echo 68 > $cpubw/bw_hwmon/io_percent - echo 20 > $cpubw/bw_hwmon/hist_memory - echo 0 > $cpubw/bw_hwmon/hyst_length - echo 80 > $cpubw/bw_hwmon/down_thres - echo 0 > $cpubw/bw_hwmon/guard_band_mbps - echo 250 > $cpubw/bw_hwmon/up_scale - echo 1600 > $cpubw/bw_hwmon/idle_mbps - echo 50 > $cpubw/polling_interval - done - - for llccbw in $device/*cpu-llcc-ddr-bw/devfreq/*cpu-llcc-ddr-bw - do - echo "bw_hwmon" > $llccbw/governor - echo "1144 1720 2086 2929 3879 5931 6881 8137" > $llccbw/bw_hwmon/mbps_zones - echo 4 > $llccbw/bw_hwmon/sample_ms - echo 68 > $llccbw/bw_hwmon/io_percent - echo 20 > $llccbw/bw_hwmon/hist_memory - echo 0 > $llccbw/bw_hwmon/hyst_length - echo 80 > $llccbw/bw_hwmon/down_thres - echo 0 > $llccbw/bw_hwmon/guard_band_mbps - echo 250 > $llccbw/bw_hwmon/up_scale - echo 1600 > $llccbw/bw_hwmon/idle_mbps - echo 40 > $llccbw/polling_interval - done - - for npubw in $device/*npu*-npu-ddr-bw/devfreq/*npu*-npu-ddr-bw - do - echo 1 > /sys/devices/virtual/npu/msm_npu/pwr - echo "bw_hwmon" > $npubw/governor - echo "1144 1720 2086 2929 3879 5931 6881 8137" > $npubw/bw_hwmon/mbps_zones - echo 4 > $npubw/bw_hwmon/sample_ms - echo 80 > $npubw/bw_hwmon/io_percent - echo 20 > $npubw/bw_hwmon/hist_memory - echo 10 > $npubw/bw_hwmon/hyst_length - echo 30 > $npubw/bw_hwmon/down_thres - echo 0 > $npubw/bw_hwmon/guard_band_mbps - echo 250 > $npubw/bw_hwmon/up_scale - echo 0 > $npubw/bw_hwmon/idle_mbps - echo 40 > $npubw/polling_interval - echo 0 > /sys/devices/virtual/npu/msm_npu/pwr - done - - done - - # memlat specific settings are moved to seperate file under - # device/target specific folder - setprop vendor.dcvs.prop 1 - - # cpuset parameters - echo 0-5 > /dev/cpuset/background/cpus - echo 0-5 > /dev/cpuset/system-background/cpus - - # Turn off scheduler boost at the end - echo 0 > /proc/sys/kernel/sched_boost - - # Turn on sleep modes - echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled - ;; -esac - - -case "$target" in - "qcs605") - - #Apply settings for qcs605 - # Set the default IRQ affinity to the silver cluster. When a - # CPU is isolated/hotplugged, the IRQ affinity is adjusted - # to one of the CPU from the default IRQ affinity mask. - echo 3f > /proc/irq/default_smp_affinity - - if [ -f /sys/devices/soc0/soc_id ]; then - soc_id=`cat /sys/devices/soc0/soc_id` - else - soc_id=`cat /sys/devices/system/soc/soc0/id` - fi - - if [ -f /sys/devices/soc0/hw_platform ]; then - hw_platform=`cat /sys/devices/soc0/hw_platform` - else - hw_platform=`cat /sys/devices/system/soc/soc0/hw_platform` - fi - - if [ -f /sys/devices/soc0/platform_subtype_id ]; then - platform_subtype_id=`cat /sys/devices/soc0/platform_subtype_id` - fi - - case "$soc_id" in - "347" ) - - # Start Host based Touch processing - case "$hw_platform" in - "Surf" | "RCM" | "QRD" ) - start_hbtp - ;; - "MTP" ) - if [ $platform_subtype_id != 5 ]; then - start_hbtp - fi - ;; - esac - - # Core control parameters on silver - echo 4 > /sys/devices/system/cpu/cpu0/core_ctl/min_cpus - echo 60 > /sys/devices/system/cpu/cpu0/core_ctl/busy_up_thres - echo 40 > /sys/devices/system/cpu/cpu0/core_ctl/busy_down_thres - echo 100 > /sys/devices/system/cpu/cpu0/core_ctl/offline_delay_ms - echo 0 > /sys/devices/system/cpu/cpu0/core_ctl/is_big_cluster - echo 8 > /sys/devices/system/cpu/cpu0/core_ctl/task_thres - - # Setting b.L scheduler parameters - echo 96 > /proc/sys/kernel/sched_upmigrate - echo 90 > /proc/sys/kernel/sched_downmigrate - echo 140 > /proc/sys/kernel/sched_group_upmigrate - echo 120 > /proc/sys/kernel/sched_group_downmigrate - - # configure governor settings for little cluster - echo "schedutil" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/rate_limit_us - echo 1209600 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_freq - echo 576000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - - # configure governor settings for big cluster - echo "schedutil" > /sys/devices/system/cpu/cpu6/cpufreq/scaling_governor - echo 0 > /sys/devices/system/cpu/cpu6/cpufreq/schedutil/rate_limit_us - echo 1344000 > /sys/devices/system/cpu/cpu6/cpufreq/schedutil/hispeed_freq - echo 825600 > /sys/devices/system/cpu/cpu6/cpufreq/scaling_min_freq - - echo "0:1209600" > /sys/module/cpu_boost/parameters/input_boost_freq - echo 40 > /sys/module/cpu_boost/parameters/input_boost_ms - - # Enable bus-dcvs - for cpubw in /sys/class/devfreq/*qcom,cpubw* - do - echo "bw_hwmon" > $cpubw/governor - echo 50 > $cpubw/polling_interval - echo "1144 1720 2086 2929 3879 5931 6881" > $cpubw/bw_hwmon/mbps_zones - echo 4 > $cpubw/bw_hwmon/sample_ms - echo 68 > $cpubw/bw_hwmon/io_percent - echo 20 > $cpubw/bw_hwmon/hist_memory - echo 0 > $cpubw/bw_hwmon/hyst_length - echo 80 > $cpubw/bw_hwmon/down_thres - echo 0 > $cpubw/bw_hwmon/low_power_ceil_mbps - echo 68 > $cpubw/bw_hwmon/low_power_io_percent - echo 20 > $cpubw/bw_hwmon/low_power_delay - echo 0 > $cpubw/bw_hwmon/guard_band_mbps - echo 250 > $cpubw/bw_hwmon/up_scale - echo 1600 > $cpubw/bw_hwmon/idle_mbps - done - - #Enable mem_latency governor for DDR scaling - for memlat in /sys/class/devfreq/*qcom,memlat-cpu* - do - echo "mem_latency" > $memlat/governor - echo 10 > $memlat/polling_interval - echo 400 > $memlat/mem_latency/ratio_ceil - done - - #Enable mem_latency governor for L3 scaling - for memlat in /sys/class/devfreq/*qcom,l3-cpu* - do - echo "mem_latency" > $memlat/governor - echo 10 > $memlat/polling_interval - echo 400 > $memlat/mem_latency/ratio_ceil - done - - echo "cpufreq" > /sys/class/devfreq/soc:qcom,mincpubw/governor - - # cpuset parameters - echo 0-5 > /dev/cpuset/background/cpus - echo 0-5 > /dev/cpuset/system-background/cpus - - # Turn off scheduler boost at the end - echo 0 > /proc/sys/kernel/sched_boost - - # Turn on sleep modes. - echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled - echo 100 > /proc/sys/vm/swappiness - ;; - esac - ;; -esac - -case "$target" in - "apq8084") - echo 4 > /sys/module/lpm_levels/enable_low_power/l2 - echo 1 > /sys/module/msm_pm/modes/cpu0/power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu1/power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu2/power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu3/power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu0/power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu1/power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu2/power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu3/power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu0/retention/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu1/retention/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu2/retention/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu3/retention/idle_enabled - echo 0 > /sys/module/msm_thermal/core_control/enabled - echo 1 > /sys/devices/system/cpu/cpu1/online - echo 1 > /sys/devices/system/cpu/cpu2/online - echo 1 > /sys/devices/system/cpu/cpu3/online - for devfreq_gov in /sys/class/devfreq/qcom,cpubw*/governor - do - echo "cpubw_hwmon" > $devfreq_gov - done - echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo "interactive" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor - echo "interactive" > /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor - echo "interactive" > /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor - echo "20000 1400000:40000 1700000:20000" > /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay - echo 90 > /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load - echo 1497600 > /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq - echo "85 1500000:90 1800000:70" > /sys/devices/system/cpu/cpufreq/interactive/target_loads - echo 40000 > /sys/devices/system/cpu/cpufreq/interactive/min_sample_time - echo 20 > /sys/module/cpu_boost/parameters/boost_ms - echo 1728000 > /sys/module/cpu_boost/parameters/sync_threshold - echo 100000 > /sys/devices/system/cpu/cpufreq/interactive/sampling_down_factor - echo 1497600 > /sys/module/cpu_boost/parameters/input_boost_freq - echo 40 > /sys/module/cpu_boost/parameters/input_boost_ms - echo 1 > /dev/cpuctl/apps/cpu.notify_on_migrate - echo 300000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - echo 300000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq - echo 300000 > /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq - echo 300000 > /sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq - echo 1 > /sys/module/msm_thermal/core_control/enabled - chown -h system /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq - chown -h system /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - chown -h root.system /sys/devices/system/cpu/mfreq - chmod -h 220 /sys/devices/system/cpu/mfreq - chown -h root.system /sys/devices/system/cpu/cpu1/online - chown -h root.system /sys/devices/system/cpu/cpu2/online - chown -h root.system /sys/devices/system/cpu/cpu3/online - chmod -h 664 /sys/devices/system/cpu/cpu1/online - chmod -h 664 /sys/devices/system/cpu/cpu2/online - chmod -h 664 /sys/devices/system/cpu/cpu3/online - ;; -esac - -case "$target" in - "mpq8092") - echo 4 > /sys/module/lpm_levels/enable_low_power/l2 - echo 1 > /sys/module/msm_pm/modes/cpu0/power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu1/power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu2/power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu3/power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu0/power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu1/power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu2/power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu3/power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu0/retention/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu1/retention/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu2/retention/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu3/retention/idle_enabled - echo 0 > /sys/module/msm_thermal/core_control/enabled - echo 1 > /sys/devices/system/cpu/cpu1/online - echo 1 > /sys/devices/system/cpu/cpu2/online - echo 1 > /sys/devices/system/cpu/cpu3/online - echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo "ondemand" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor - echo "ondemand" > /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor - echo "ondemand" > /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor - echo 50000 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate - echo 90 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold - echo 1 > /sys/devices/system/cpu/cpufreq/ondemand/io_is_busy - echo 300000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - echo 300000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq - echo 300000 > /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq - echo 300000 > /sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq - echo 1 > /sys/module/msm_thermal/core_control/enabled - chown -h system /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq - chown -h system /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - chown -h root.system /sys/devices/system/cpu/mfreq - chmod -h 220 /sys/devices/system/cpu/mfreq - chown -h root.system /sys/devices/system/cpu/cpu1/online - chown -h root.system /sys/devices/system/cpu/cpu2/online - chown -h root.system /sys/devices/system/cpu/cpu3/online - chmod -h 664 /sys/devices/system/cpu/cpu1/online - chmod -h 664 /sys/devices/system/cpu/cpu2/online - chmod -h 664 /sys/devices/system/cpu/cpu3/online - ;; -esac - -case "$target" in - "msm8992") - # disable thermal bcl hotplug to switch governor - echo 0 > /sys/module/msm_thermal/core_control/enabled - echo -n disable > /sys/devices/soc.*/qcom,bcl.*/mode - bcl_hotplug_mask=`cat /sys/devices/soc.*/qcom,bcl.*/hotplug_mask` - echo 0 > /sys/devices/soc.*/qcom,bcl.*/hotplug_mask - echo -n enable > /sys/devices/soc.*/qcom,bcl.*/mode - echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled - # configure governor settings for little cluster - echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_sched_load - echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_migration_notif - echo 19000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/above_hispeed_delay - echo 90 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/go_hispeed_load - echo 20000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/timer_rate - echo 960000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/hispeed_freq - echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/io_is_busy - echo 80 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/target_loads - echo 40000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/min_sample_time - echo 80000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/max_freq_hysteresis - echo 384000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - # online CPU4 - echo 1 > /sys/devices/system/cpu/cpu4/online - # configure governor settings for big cluster - echo "interactive" > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor - echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/use_sched_load - echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/use_migration_notif - echo 19000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/above_hispeed_delay - echo 90 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/go_hispeed_load - echo 20000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/timer_rate - echo 1536000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq - echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/io_is_busy - echo 85 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads - echo 40000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/min_sample_time - echo 80000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/max_freq_hysteresis - echo 384000 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq - # re-enable thermal and BCL hotplug - echo 1 > /sys/module/msm_thermal/core_control/enabled - echo -n disable > /sys/devices/soc.*/qcom,bcl.*/mode - echo $bcl_hotplug_mask > /sys/devices/soc.*/qcom,bcl.*/hotplug_mask - echo $bcl_soc_hotplug_mask > /sys/devices/soc.*/qcom,bcl.*/hotplug_soc_mask - echo -n enable > /sys/devices/soc.*/qcom,bcl.*/mode - # plugin remaining A57s - echo 1 > /sys/devices/system/cpu/cpu5/online - # input boost configuration - echo 0:1248000 > /sys/module/cpu_boost/parameters/input_boost_freq - echo 40 > /sys/module/cpu_boost/parameters/input_boost_ms - # Enable task migration fixups in the scheduler - echo 1 > /proc/sys/kernel/sched_migration_fixup - for devfreq_gov in /sys/class/devfreq/qcom,cpubw*/governor - do - echo "bw_hwmon" > $devfreq_gov - done - #enable rps static configuration - echo 8 > /sys/class/net/rmnet_ipa0/queues/rx-0/rps_cpus - echo 30 > /proc/sys/kernel/sched_small_task - ;; -esac - -case "$target" in - "msm8994") - # ensure at most one A57 is online when thermal hotplug is disabled - echo 0 > /sys/devices/system/cpu/cpu5/online - echo 0 > /sys/devices/system/cpu/cpu6/online - echo 0 > /sys/devices/system/cpu/cpu7/online - # in case CPU4 is online, limit its frequency - echo 960000 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq - # Limit A57 max freq from msm_perf module in case CPU 4 is offline - echo "4:960000 5:960000 6:960000 7:960000" > /sys/module/msm_performance/parameters/cpu_max_freq - # disable thermal bcl hotplug to switch governor - echo 0 > /sys/module/msm_thermal/core_control/enabled - for mode in /sys/devices/soc.0/qcom,bcl.*/mode - do - echo -n disable > $mode - done - for hotplug_mask in /sys/devices/soc.0/qcom,bcl.*/hotplug_mask - do - bcl_hotplug_mask=`cat $hotplug_mask` - echo 0 > $hotplug_mask - done - for hotplug_soc_mask in /sys/devices/soc.0/qcom,bcl.*/hotplug_soc_mask - do - bcl_soc_hotplug_mask=`cat $hotplug_soc_mask` - echo 0 > $hotplug_soc_mask - done - for mode in /sys/devices/soc.0/qcom,bcl.*/mode - do - echo -n enable > $mode - done - # configure governor settings for little cluster - echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_sched_load - echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_migration_notif - echo 19000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/above_hispeed_delay - echo 90 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/go_hispeed_load - echo 20000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/timer_rate - echo 960000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/hispeed_freq - echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/io_is_busy - echo 80 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/target_loads - echo 40000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/min_sample_time - echo 80000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/max_freq_hysteresis - echo 384000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - # online CPU4 - echo 1 > /sys/devices/system/cpu/cpu4/online - # Best effort limiting for first time boot if msm_performance module is absent - echo 960000 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq - # configure governor settings for big cluster - echo "interactive" > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor - echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/use_sched_load - echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/use_migration_notif - echo "19000 1400000:39000 1700000:19000" > /sys/devices/system/cpu/cpu4/cpufreq/interactive/above_hispeed_delay - echo 90 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/go_hispeed_load - echo 20000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/timer_rate - echo 1248000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq - echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/io_is_busy - echo "85 1500000:90 1800000:70" > /sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads - echo 40000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/min_sample_time - echo 80000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/max_freq_hysteresis - echo 384000 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq - # restore A57's max - cat /sys/devices/system/cpu/cpu4/cpufreq/cpuinfo_max_freq > /sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq - # re-enable thermal and BCL hotplug - echo 1 > /sys/module/msm_thermal/core_control/enabled - for mode in /sys/devices/soc.0/qcom,bcl.*/mode - do - echo -n disable > $mode - done - for hotplug_mask in /sys/devices/soc.0/qcom,bcl.*/hotplug_mask - do - echo $bcl_hotplug_mask > $hotplug_mask - done - for hotplug_soc_mask in /sys/devices/soc.0/qcom,bcl.*/hotplug_soc_mask - do - echo $bcl_soc_hotplug_mask > $hotplug_soc_mask - done - for mode in /sys/devices/soc.0/qcom,bcl.*/mode - do - echo -n enable > $mode - done - # plugin remaining A57s - echo 1 > /sys/devices/system/cpu/cpu5/online - echo 1 > /sys/devices/system/cpu/cpu6/online - echo 1 > /sys/devices/system/cpu/cpu7/online - echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled - # Restore CPU 4 max freq from msm_performance - echo "4:4294967295 5:4294967295 6:4294967295 7:4294967295" > /sys/module/msm_performance/parameters/cpu_max_freq - # input boost configuration - echo 0:1344000 > /sys/module/cpu_boost/parameters/input_boost_freq - echo 40 > /sys/module/cpu_boost/parameters/input_boost_ms - # Setting b.L scheduler parameters - echo 1 > /proc/sys/kernel/sched_migration_fixup - echo 30 > /proc/sys/kernel/sched_small_task - echo 20 > /proc/sys/kernel/sched_mostly_idle_load - echo 3 > /proc/sys/kernel/sched_mostly_idle_nr_run - echo 99 > /proc/sys/kernel/sched_upmigrate - echo 85 > /proc/sys/kernel/sched_downmigrate - echo 400000 > /proc/sys/kernel/sched_freq_inc_notify - echo 400000 > /proc/sys/kernel/sched_freq_dec_notify - #enable rps static configuration - echo 8 > /sys/class/net/rmnet_ipa0/queues/rx-0/rps_cpus - for devfreq_gov in /sys/class/devfreq/qcom,cpubw*/governor - do - echo "bw_hwmon" > $devfreq_gov - done - ;; -esac - -case "$target" in - "msm8996") - # disable thermal bcl hotplug to switch governor - echo 0 > /sys/module/msm_thermal/core_control/enabled - echo -n disable > /sys/devices/soc/soc:qcom,bcl/mode - bcl_hotplug_mask=`cat /sys/devices/soc/soc:qcom,bcl/hotplug_mask` - echo 0 > /sys/devices/soc/soc:qcom,bcl/hotplug_mask - bcl_soc_hotplug_mask=`cat /sys/devices/soc/soc:qcom,bcl/hotplug_soc_mask` - echo 0 > /sys/devices/soc/soc:qcom,bcl/hotplug_soc_mask - echo -n enable > /sys/devices/soc/soc:qcom,bcl/mode - # set sync wakee policy tunable - echo 1 > /proc/sys/kernel/sched_prefer_sync_wakee_to_waker - # configure governor settings for little cluster - echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_sched_load - echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_migration_notif - echo 19000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/above_hispeed_delay - echo 90 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/go_hispeed_load - echo 20000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/timer_rate - echo 960000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/hispeed_freq - echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/io_is_busy - echo 80 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/target_loads - echo 19000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/min_sample_time - echo 79000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/max_freq_hysteresis - echo 300000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/ignore_hispeed_on_notif - # online CPU2 - echo 1 > /sys/devices/system/cpu/cpu2/online - # configure governor settings for big cluster - echo "interactive" > /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor - echo 1 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/use_sched_load - echo 1 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/use_migration_notif - echo "19000 1400000:39000 1700000:19000 2100000:79000" > /sys/devices/system/cpu/cpu2/cpufreq/interactive/above_hispeed_delay - echo 90 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/go_hispeed_load - echo 20000 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/timer_rate - echo 1248000 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/hispeed_freq - echo 1 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/io_is_busy - echo "85 1500000:90 1800000:70 2100000:95" > /sys/devices/system/cpu/cpu2/cpufreq/interactive/target_loads - echo 19000 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/min_sample_time - echo 79000 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/max_freq_hysteresis - echo 300000 > /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq - echo 1 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/ignore_hispeed_on_notif - # re-enable thermal and BCL hotplug - echo 1 > /sys/module/msm_thermal/core_control/enabled - echo -n disable > /sys/devices/soc/soc:qcom,bcl/mode - echo $bcl_hotplug_mask > /sys/devices/soc/soc:qcom,bcl/hotplug_mask - echo $bcl_soc_hotplug_mask > /sys/devices/soc/soc:qcom,bcl/hotplug_soc_mask - echo -n enable > /sys/devices/soc/soc:qcom,bcl/mode - # input boost configuration - echo "0:1324800 2:1324800" > /sys/module/cpu_boost/parameters/input_boost_freq - echo 40 > /sys/module/cpu_boost/parameters/input_boost_ms - # Setting b.L scheduler parameters - echo 0 > /proc/sys/kernel/sched_boost - echo 1 > /proc/sys/kernel/sched_migration_fixup - echo 45 > /proc/sys/kernel/sched_downmigrate - echo 45 > /proc/sys/kernel/sched_upmigrate - echo 400000 > /proc/sys/kernel/sched_freq_inc_notify - echo 400000 > /proc/sys/kernel/sched_freq_dec_notify - echo 3 > /proc/sys/kernel/sched_spill_nr_run - echo 100 > /proc/sys/kernel/sched_init_task_load - # Enable bus-dcvs - for cpubw in /sys/class/devfreq/*qcom,cpubw* - do - echo "bw_hwmon" > $cpubw/governor - echo 50 > $cpubw/polling_interval - echo 1525 > $cpubw/min_freq - echo "1525 5195 11863 13763" > $cpubw/bw_hwmon/mbps_zones - echo 4 > $cpubw/bw_hwmon/sample_ms - echo 34 > $cpubw/bw_hwmon/io_percent - echo 20 > $cpubw/bw_hwmon/hist_memory - echo 10 > $cpubw/bw_hwmon/hyst_length - echo 0 > $cpubw/bw_hwmon/low_power_ceil_mbps - echo 34 > $cpubw/bw_hwmon/low_power_io_percent - echo 20 > $cpubw/bw_hwmon/low_power_delay - echo 0 > $cpubw/bw_hwmon/guard_band_mbps - echo 250 > $cpubw/bw_hwmon/up_scale - echo 1600 > $cpubw/bw_hwmon/idle_mbps - done - - for memlat in /sys/class/devfreq/*qcom,memlat-cpu* - do - echo "mem_latency" > $memlat/governor - echo 10 > $memlat/polling_interval - done - echo "cpufreq" > /sys/class/devfreq/soc:qcom,mincpubw/governor - - soc_revision=`cat /sys/devices/soc0/revision` - if [ "$soc_revision" == "2.0" ]; then - #Disable suspend for v2.0 - echo pwr_dbg > /sys/power/wake_lock - elif [ "$soc_revision" == "2.1" ]; then - # Enable C4.D4.E4.M3 LPM modes - # Disable D3 state - echo 0 > /sys/module/lpm_levels/system/pwr/pwr-l2-gdhs/idle_enabled - echo 0 > /sys/module/lpm_levels/system/perf/perf-l2-gdhs/idle_enabled - # Disable DEF-FPC mode - echo N > /sys/module/lpm_levels/system/pwr/cpu0/fpc-def/idle_enabled - echo N > /sys/module/lpm_levels/system/pwr/cpu1/fpc-def/idle_enabled - echo N > /sys/module/lpm_levels/system/perf/cpu2/fpc-def/idle_enabled - echo N > /sys/module/lpm_levels/system/perf/cpu3/fpc-def/idle_enabled - else - # Enable all LPMs by default - # This will enable C4, D4, D3, E4 and M3 LPMs - echo N > /sys/module/lpm_levels/parameters/sleep_disabled - fi - echo N > /sys/module/lpm_levels/parameters/sleep_disabled - # Starting io prefetcher service - start iop - - # Set Memory parameters - configure_memory_parameters - ;; -esac - -case "$target" in - "sdm845") - - # Set the default IRQ affinity to the silver cluster. When a - # CPU is isolated/hotplugged, the IRQ affinity is adjusted - # to one of the CPU from the default IRQ affinity mask. - echo f > /proc/irq/default_smp_affinity - - if [ -f /sys/devices/soc0/soc_id ]; then - soc_id=`cat /sys/devices/soc0/soc_id` - else - soc_id=`cat /sys/devices/system/soc/soc0/id` - fi - - if [ -f /sys/devices/soc0/hw_platform ]; then - hw_platform=`cat /sys/devices/soc0/hw_platform` - fi - - if [ -f /sys/devices/soc0/platform_subtype_id ]; then - platform_subtype_id=`cat /sys/devices/soc0/platform_subtype_id` - fi - - case "$soc_id" in - "321" | "341") - # Start Host based Touch processing - case "$hw_platform" in - "QRD" ) - case "$platform_subtype_id" in - "32") #QVR845 do nothing - ;; - *) - start_hbtp - ;; - esac - ;; - *) - start_hbtp - ;; - esac - ;; - esac - # Core control parameters - echo 2 > /sys/devices/system/cpu/cpu4/core_ctl/min_cpus - echo 60 > /sys/devices/system/cpu/cpu4/core_ctl/busy_up_thres - echo 30 > /sys/devices/system/cpu/cpu4/core_ctl/busy_down_thres - echo 100 > /sys/devices/system/cpu/cpu4/core_ctl/offline_delay_ms - echo 1 > /sys/devices/system/cpu/cpu4/core_ctl/is_big_cluster - echo 4 > /sys/devices/system/cpu/cpu4/core_ctl/task_thres - - # Setting b.L scheduler parameters - echo 95 > /proc/sys/kernel/sched_upmigrate - echo 85 > /proc/sys/kernel/sched_downmigrate - echo 100 > /proc/sys/kernel/sched_group_upmigrate - echo 95 > /proc/sys/kernel/sched_group_downmigrate - echo 1 > /proc/sys/kernel/sched_walt_rotate_big_tasks - - # configure governor settings for little cluster - echo "schedutil" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/rate_limit_us - echo 1209600 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_freq - echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/pl - echo 576000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - - # configure governor settings for big cluster - echo "schedutil" > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor - echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/rate_limit_us - echo 1574400 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/hispeed_freq - echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/pl - echo "0:1324800" > /sys/module/cpu_boost/parameters/input_boost_freq - echo 120 > /sys/module/cpu_boost/parameters/input_boost_ms - # Limit the min frequency to 825MHz - echo 825000 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq - - # Enable oom_reaper - echo 1 > /sys/module/lowmemorykiller/parameters/oom_reaper - - # Enable bus-dcvs - for cpubw in /sys/class/devfreq/*qcom,cpubw* - do - echo "bw_hwmon" > $cpubw/governor - echo 50 > $cpubw/polling_interval - echo "2288 4577 6500 8132 9155 10681" > $cpubw/bw_hwmon/mbps_zones - echo 4 > $cpubw/bw_hwmon/sample_ms - echo 50 > $cpubw/bw_hwmon/io_percent - echo 20 > $cpubw/bw_hwmon/hist_memory - echo 10 > $cpubw/bw_hwmon/hyst_length - echo 0 > $cpubw/bw_hwmon/guard_band_mbps - echo 250 > $cpubw/bw_hwmon/up_scale - echo 1600 > $cpubw/bw_hwmon/idle_mbps - done - - for llccbw in /sys/class/devfreq/*qcom,llccbw* - do - echo "bw_hwmon" > $llccbw/governor - echo 50 > $llccbw/polling_interval - echo "1720 2929 3879 5931 6881" > $llccbw/bw_hwmon/mbps_zones - echo 4 > $llccbw/bw_hwmon/sample_ms - echo 80 > $llccbw/bw_hwmon/io_percent - echo 20 > $llccbw/bw_hwmon/hist_memory - echo 10 > $llccbw/bw_hwmon/hyst_length - echo 0 > $llccbw/bw_hwmon/guard_band_mbps - echo 250 > $llccbw/bw_hwmon/up_scale - echo 1600 > $llccbw/bw_hwmon/idle_mbps - done - - #Enable mem_latency governor for DDR scaling - for memlat in /sys/class/devfreq/*qcom,memlat-cpu* - do - echo "mem_latency" > $memlat/governor - echo 10 > $memlat/polling_interval - echo 400 > $memlat/mem_latency/ratio_ceil - done - - #Enable mem_latency governor for L3 scaling - for memlat in /sys/class/devfreq/*qcom,l3-cpu* - do - echo "mem_latency" > $memlat/governor - echo 10 > $memlat/polling_interval - echo 400 > $memlat/mem_latency/ratio_ceil - done - - #Enable userspace governor for L3 cdsp nodes - for l3cdsp in /sys/class/devfreq/*qcom,l3-cdsp* - do - echo "userspace" > $l3cdsp/governor - chown -h system $l3cdsp/userspace/set_freq - done - - #Gold L3 ratio ceil - echo 4000 > /sys/class/devfreq/soc:qcom,l3-cpu4/mem_latency/ratio_ceil - - echo "compute" > /sys/class/devfreq/soc:qcom,mincpubw/governor - echo 10 > /sys/class/devfreq/soc:qcom,mincpubw/polling_interval - - # cpuset parameters - echo 0-3 > /dev/cpuset/background/cpus - echo 0-3 > /dev/cpuset/system-background/cpus - - # Turn off scheduler boost at the end - echo 0 > /proc/sys/kernel/sched_boost - # Disable CPU Retention - echo N > /sys/module/lpm_levels/L3/cpu0/ret/idle_enabled - echo N > /sys/module/lpm_levels/L3/cpu1/ret/idle_enabled - echo N > /sys/module/lpm_levels/L3/cpu2/ret/idle_enabled - echo N > /sys/module/lpm_levels/L3/cpu3/ret/idle_enabled - echo N > /sys/module/lpm_levels/L3/cpu4/ret/idle_enabled - echo N > /sys/module/lpm_levels/L3/cpu5/ret/idle_enabled - echo N > /sys/module/lpm_levels/L3/cpu6/ret/idle_enabled - echo N > /sys/module/lpm_levels/L3/cpu7/ret/idle_enabled - echo N > /sys/module/lpm_levels/L3/l3-dyn-ret/idle_enabled - # Turn on sleep modes. - echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled - echo 100 > /proc/sys/vm/swappiness - echo 120 > /proc/sys/vm/watermark_scale_factor - ;; -esac - -case "$target" in - "msmnile") - # Core control parameters for gold - echo 2 > /sys/devices/system/cpu/cpu4/core_ctl/min_cpus - echo 60 > /sys/devices/system/cpu/cpu4/core_ctl/busy_up_thres - echo 30 > /sys/devices/system/cpu/cpu4/core_ctl/busy_down_thres - echo 100 > /sys/devices/system/cpu/cpu4/core_ctl/offline_delay_ms - echo 3 > /sys/devices/system/cpu/cpu4/core_ctl/task_thres - - # Core control parameters for gold+ - echo 0 > /sys/devices/system/cpu/cpu7/core_ctl/min_cpus - echo 60 > /sys/devices/system/cpu/cpu7/core_ctl/busy_up_thres - echo 30 > /sys/devices/system/cpu/cpu7/core_ctl/busy_down_thres - echo 100 > /sys/devices/system/cpu/cpu7/core_ctl/offline_delay_ms - echo 1 > /sys/devices/system/cpu/cpu7/core_ctl/task_thres - # Controls how many more tasks should be eligible to run on gold CPUs - # w.r.t number of gold CPUs available to trigger assist (max number of - # tasks eligible to run on previous cluster minus number of CPUs in - # the previous cluster). - # - # Setting to 1 by default which means there should be at least - # 4 tasks eligible to run on gold cluster (tasks running on gold cores - # plus misfit tasks on silver cores) to trigger assitance from gold+. - echo 1 > /sys/devices/system/cpu/cpu7/core_ctl/nr_prev_assist_thresh - - # Disable Core control on silver - echo 0 > /sys/devices/system/cpu/cpu0/core_ctl/enable - - # Setting b.L scheduler parameters - echo 95 95 > /proc/sys/kernel/sched_upmigrate - echo 85 85 > /proc/sys/kernel/sched_downmigrate - echo 100 > /proc/sys/kernel/sched_group_upmigrate - echo 10 > /proc/sys/kernel/sched_group_downmigrate - echo 1 > /proc/sys/kernel/sched_walt_rotate_big_tasks - - # cpuset parameters - echo 0-3 > /dev/cpuset/background/cpus - echo 0-3 > /dev/cpuset/system-background/cpus - - # Turn off scheduler boost at the end - echo 0 > /proc/sys/kernel/sched_boost - - # configure governor settings for silver cluster - echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor - echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/up_rate_limit_us - echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/down_rate_limit_us - echo 1209600 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/hispeed_freq - echo 576000 > /sys/devices/system/cpu/cpufreq/policy0/scaling_min_freq - echo 1 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/pl - - # configure governor settings for gold cluster - echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy4/scaling_governor - echo 0 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/up_rate_limit_us - echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/down_rate_limit_us - echo 1612800 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/hispeed_freq - echo 1 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/pl - - # configure governor settings for gold+ cluster - echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy7/scaling_governor - echo 0 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/up_rate_limit_us - echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/down_rate_limit_us - echo 1612800 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/hispeed_freq - echo 1 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/pl - - # configure input boost settings - echo "0:1324800" > /sys/module/cpu_boost/parameters/input_boost_freq - echo 120 > /sys/module/cpu_boost/parameters/input_boost_ms - - # Disable wsf, beacause we are using efk. - # wsf Range : 1..1000 So set to bare minimum value 1. - echo 1 > /proc/sys/vm/watermark_scale_factor - - echo 0-3 > /dev/cpuset/background/cpus - echo 0-3 > /dev/cpuset/system-background/cpus - - # Enable oom_reaper - if [ -f /sys/module/lowmemorykiller/parameters/oom_reaper ]; then - echo 1 > /sys/module/lowmemorykiller/parameters/oom_reaper - else - echo 1 > /proc/sys/vm/reap_mem_on_sigkill - fi - - # Enable bus-dcvs - for device in /sys/devices/platform/soc - do - for cpubw in $device/*cpu-cpu-llcc-bw/devfreq/*cpu-cpu-llcc-bw - do - echo "bw_hwmon" > $cpubw/governor - echo "2288 4577 7110 9155 12298 14236 15258" > $cpubw/bw_hwmon/mbps_zones - echo 4 > $cpubw/bw_hwmon/sample_ms - echo 50 > $cpubw/bw_hwmon/io_percent - echo 20 > $cpubw/bw_hwmon/hist_memory - echo 10 > $cpubw/bw_hwmon/hyst_length - echo 30 > $cpubw/bw_hwmon/down_thres - echo 0 > $cpubw/bw_hwmon/guard_band_mbps - echo 250 > $cpubw/bw_hwmon/up_scale - echo 1600 > $cpubw/bw_hwmon/idle_mbps - echo 14236 > $cpubw/max_freq - echo 40 > $cpubw/polling_interval - done - - for llccbw in $device/*cpu-llcc-ddr-bw/devfreq/*cpu-llcc-ddr-bw - do - echo "bw_hwmon" > $llccbw/governor - echo "1720 2929 3879 5931 6881 7980" > $llccbw/bw_hwmon/mbps_zones - echo 4 > $llccbw/bw_hwmon/sample_ms - echo 80 > $llccbw/bw_hwmon/io_percent - echo 20 > $llccbw/bw_hwmon/hist_memory - echo 10 > $llccbw/bw_hwmon/hyst_length - echo 30 > $llccbw/bw_hwmon/down_thres - echo 0 > $llccbw/bw_hwmon/guard_band_mbps - echo 250 > $llccbw/bw_hwmon/up_scale - echo 1600 > $llccbw/bw_hwmon/idle_mbps - echo 6881 > $llccbw/max_freq - echo 40 > $llccbw/polling_interval - done - - for npubw in $device/*npu-npu-ddr-bw/devfreq/*npu-npu-ddr-bw - do - echo 1 > /sys/devices/virtual/npu/msm_npu/pwr - echo "bw_hwmon" > $npubw/governor - echo "1720 2929 3879 5931 6881 7980" > $npubw/bw_hwmon/mbps_zones - echo 4 > $npubw/bw_hwmon/sample_ms - echo 80 > $npubw/bw_hwmon/io_percent - echo 20 > $npubw/bw_hwmon/hist_memory - echo 6 > $npubw/bw_hwmon/hyst_length - echo 30 > $npubw/bw_hwmon/down_thres - echo 0 > $npubw/bw_hwmon/guard_band_mbps - echo 250 > $npubw/bw_hwmon/up_scale - echo 0 > $npubw/bw_hwmon/idle_mbps - echo 40 > $npubw/polling_interval - echo 0 > /sys/devices/virtual/npu/msm_npu/pwr - done - done - - # memlat specific settings are moved to seperate file under - # device/target specific folder - setprop vendor.dcvs.prop 1 - - if [ -f /sys/devices/soc0/hw_platform ]; then - hw_platform=`cat /sys/devices/soc0/hw_platform` - else - hw_platform=`cat /sys/devices/system/soc/soc0/hw_platform` - fi - - if [ -f /sys/devices/soc0/platform_subtype_id ]; then - platform_subtype_id=`cat /sys/devices/soc0/platform_subtype_id` - fi - - case "$hw_platform" in - "MTP" | "Surf" | "RCM" ) - # Start Host based Touch processing - case "$platform_subtype_id" in - "0" | "1" | "2" | "3" | "4") - start_hbtp - ;; - esac - ;; - "HDK" ) - if [ -d /sys/kernel/hbtpsensor ] ; then - start_hbtp - fi - ;; - esac - - echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled - configure_memory_parameters - target_type=`getprop ro.hardware.type` - if [ "$target_type" == "automotive" ]; then - # update frequencies - configure_automotive_sku_parameters - fi - - ;; -esac - -case "$target" in - "sdmshrike") - # Core control parameters for gold - echo 2 > /sys/devices/system/cpu/cpu4/core_ctl/min_cpus - echo 60 > /sys/devices/system/cpu/cpu4/core_ctl/busy_up_thres - echo 30 > /sys/devices/system/cpu/cpu4/core_ctl/busy_down_thres - echo 100 > /sys/devices/system/cpu/cpu4/core_ctl/offline_delay_ms - echo 3 > /sys/devices/system/cpu/cpu4/core_ctl/task_thres - - # Core control parameters for gold+ - echo 0 > /sys/devices/system/cpu/cpu7/core_ctl/min_cpus - echo 60 > /sys/devices/system/cpu/cpu7/core_ctl/busy_up_thres - echo 30 > /sys/devices/system/cpu/cpu7/core_ctl/busy_down_thres - echo 100 > /sys/devices/system/cpu/cpu7/core_ctl/offline_delay_ms - echo 1 > /sys/devices/system/cpu/cpu7/core_ctl/task_thres - # Controls how many more tasks should be eligible to run on gold CPUs - # w.r.t number of gold CPUs available to trigger assist (max number of - # tasks eligible to run on previous cluster minus number of CPUs in - # the previous cluster). - # - # Setting to 1 by default which means there should be at least - # 4 tasks eligible to run on gold cluster (tasks running on gold cores - # plus misfit tasks on silver cores) to trigger assitance from gold+. - echo 1 > /sys/devices/system/cpu/cpu7/core_ctl/nr_prev_assist_thresh - - # Disable Core control on silver - echo 0 > /sys/devices/system/cpu/cpu0/core_ctl/enable - - # Setting b.L scheduler parameters - echo 95 95 > /proc/sys/kernel/sched_upmigrate - echo 85 85 > /proc/sys/kernel/sched_downmigrate - echo 100 > /proc/sys/kernel/sched_group_upmigrate - echo 10 > /proc/sys/kernel/sched_group_downmigrate - echo 1 > /proc/sys/kernel/sched_walt_rotate_big_tasks - - # cpuset parameters - echo 0-3 > /dev/cpuset/background/cpus - echo 0-3 > /dev/cpuset/system-background/cpus - - # Turn off scheduler boost at the end - echo 0 > /proc/sys/kernel/sched_boost - - # configure governor settings for silver cluster - echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor - echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/up_rate_limit_us - echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/down_rate_limit_us - echo 1209600 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/hispeed_freq - echo 576000 > /sys/devices/system/cpu/cpufreq/policy0/scaling_min_freq - echo 1 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/pl - - # configure governor settings for gold cluster - echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy4/scaling_governor - echo 0 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/up_rate_limit_us - echo 0 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/down_rate_limit_us - echo 1612800 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/hispeed_freq - echo 1 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/pl - - # configure governor settings for gold+ cluster - echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy7/scaling_governor - echo 0 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/up_rate_limit_us - echo 0 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/down_rate_limit_us - echo 1612800 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/hispeed_freq - echo 1 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/pl - - # configure input boost settings - echo "0:1324800" > /sys/module/cpu_boost/parameters/input_boost_freq - echo 120 > /sys/module/cpu_boost/parameters/input_boost_ms - - # Disable wsf, beacause we are using efk. - # wsf Range : 1..1000 So set to bare minimum value 1. - echo 1 > /proc/sys/vm/watermark_scale_factor - - echo 0-3 > /dev/cpuset/background/cpus - echo 0-3 > /dev/cpuset/system-background/cpus - - # Enable oom_reaper - if [ -f /sys/module/lowmemorykiller/parameters/oom_reaper ]; then - echo 1 > /sys/module/lowmemorykiller/parameters/oom_reaper - else - echo 1 > /proc/sys/vm/reap_mem_on_sigkill - fi - - # Enable bus-dcvs - for device in /sys/devices/platform/soc - do - for cpubw in $device/*cpu-cpu-llcc-bw/devfreq/*cpu-cpu-llcc-bw - do - echo "bw_hwmon" > $cpubw/governor - echo 40 > $cpubw/polling_interval - echo "2288 4577 7110 9155 12298 14236 15258" > $cpubw/bw_hwmon/mbps_zones - echo 4 > $cpubw/bw_hwmon/sample_ms - echo 50 > $cpubw/bw_hwmon/io_percent - echo 20 > $cpubw/bw_hwmon/hist_memory - echo 10 > $cpubw/bw_hwmon/hyst_length - echo 30 > $cpubw/bw_hwmon/down_thres - echo 0 > $cpubw/bw_hwmon/guard_band_mbps - echo 250 > $cpubw/bw_hwmon/up_scale - echo 1600 > $cpubw/bw_hwmon/idle_mbps - echo 14236 > $cpubw/max_freq - done - - for llccbw in $device/*cpu-llcc-ddr-bw/devfreq/*cpu-llcc-ddr-bw - do - echo "bw_hwmon" > $llccbw/governor - echo 40 > $llccbw/polling_interval - echo "1720 2929 3879 5931 6881 7980" > $llccbw/bw_hwmon/mbps_zones - echo 4 > $llccbw/bw_hwmon/sample_ms - echo 80 > $llccbw/bw_hwmon/io_percent - echo 20 > $llccbw/bw_hwmon/hist_memory - echo 10 > $llccbw/bw_hwmon/hyst_length - echo 30 > $llccbw/bw_hwmon/down_thres - echo 0 > $llccbw/bw_hwmon/guard_band_mbps - echo 250 > $llccbw/bw_hwmon/up_scale - echo 1600 > $llccbw/bw_hwmon/idle_mbps - echo 6881 > $llccbw/max_freq - done - - for npubw in $device/*npu-npu-ddr-bw/devfreq/*npu-npu-ddr-bw - do - echo 1 > /sys/devices/virtual/npu/msm_npu/pwr - echo "bw_hwmon" > $npubw/governor - echo 40 > $npubw/polling_interval - echo "1720 2929 3879 5931 6881 7980" > $npubw/bw_hwmon/mbps_zones - echo 4 > $npubw/bw_hwmon/sample_ms - echo 80 > $npubw/bw_hwmon/io_percent - echo 20 > $npubw/bw_hwmon/hist_memory - echo 6 > $npubw/bw_hwmon/hyst_length - echo 30 > $npubw/bw_hwmon/down_thres - echo 0 > $npubw/bw_hwmon/guard_band_mbps - echo 250 > $npubw/bw_hwmon/up_scale - echo 0 > $npubw/bw_hwmon/idle_mbps - echo 0 > /sys/devices/virtual/npu/msm_npu/pwr - done - - #Enable mem_latency governor for L3, LLCC, and DDR scaling - for memlat in $device/*cpu*-lat/devfreq/*cpu*-lat - do - echo "mem_latency" > $memlat/governor - echo 10 > $memlat/polling_interval - echo 400 > $memlat/mem_latency/ratio_ceil - done - - #Enable userspace governor for L3 cdsp nodes - for l3cdsp in $device/*cdsp-cdsp-l3-lat/devfreq/*cdsp-cdsp-l3-lat - do - echo "cdspl3" > $l3cdsp/governor - done - - #Enable compute governor for gold latfloor - for latfloor in $device/*cpu-ddr-latfloor*/devfreq/*cpu-ddr-latfloor* - do - echo "compute" > $latfloor/governor - echo 10 > $latfloor/polling_interval - done - - #Gold L3 ratio ceil - for l3gold in $device/*cpu4-cpu-l3-lat/devfreq/*cpu4-cpu-l3-lat - do - echo 4000 > $l3gold/mem_latency/ratio_ceil - done - - #Prime L3 ratio ceil - for l3prime in $device/*cpu7-cpu-l3-lat/devfreq/*cpu7-cpu-l3-lat - do - echo 20000 > $l3prime/mem_latency/ratio_ceil - done - done - - if [ -f /sys/devices/soc0/hw_platform ]; then - hw_platform=`cat /sys/devices/soc0/hw_platform` - else - hw_platform=`cat /sys/devices/system/soc/soc0/hw_platform` - fi - - if [ -f /sys/devices/soc0/platform_subtype_id ]; then - platform_subtype_id=`cat /sys/devices/soc0/platform_subtype_id` - fi - - case "$hw_platform" in - "MTP" | "Surf" | "RCM" ) - # Start Host based Touch processing - case "$platform_subtype_id" in - "0" | "1") - start_hbtp - ;; - esac - ;; - "HDK" ) - if [ -d /sys/kernel/hbtpsensor ] ; then - start_hbtp - fi - ;; - esac - - #Setting the min and max supported frequencies - reg_val=`cat /sys/devices/platform/soc/780130.qfprom/qfprom0/nvmem | od -An -t d4` - feature_id=$(((reg_val >> 20) & 0xFF)) - - #Setting the min supported frequencies - echo 1113600 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - echo 1171200 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq - echo 940800000 > /sys/class/devfreq/soc\:qcom,cpu0-cpu-l3-lat/min_freq - echo 940800000 > /sys/class/devfreq/soc\:qcom,cpu4-cpu-l3-lat/min_freq - echo 1651200000 > /sys/class/devfreq/soc\:qcom,cpu0-cpu-l3-lat/max_freq - echo 1651200000 > /sys/class/devfreq/soc\:qcom,cpu4-cpu-l3-lat/max_freq - #setting min gpu freq to 392 MHz - echo 4 > /sys/class/kgsl/kgsl-3d0/min_pwrlevel - if [ $feature_id == 0 ]; then - echo "feature_id is 0 for SA8195AA" - - #setting max cpu freq to 2.496GHz - echo 2496000 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq - #setting max gpu freq to 530 MHz - echo 3 > /sys/class/kgsl/kgsl-3d0/max_pwrlevel - echo {class:ddr, res:capped, val: 1804} > /sys/kernel/debug/aop_send_message - elif [ $feature_id == 1 ] || [ $feature_id == 2 ]; then - echo "feature_id is 1 for external SA8195AB" - echo "feature_id is 2 for internal SA8195AB" - - #setting max cpu freq to 2.496GHz - echo 2496000 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq - #setting max gpu freq to 670 MHz - echo 0 > /sys/class/kgsl/kgsl-3d0/max_pwrlevel - echo {class:ddr, res:capped, val: 2092} > /sys/kernel/debug/aop_send_message - elif [ $feature_id == 3 ]; then - echo "feature_id is 3 for external SA8195AC" - else - echo "unknown feature_id value" $feature_id - fi - - echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled - configure_memory_parameters - ;; -esac - -case "$target" in - "kona") - rev=`cat /sys/devices/soc0/revision` - ddr_type=`od -An -tx /proc/device-tree/memory/ddr_device_type` - ddr_type4="07" - ddr_type5="08" - - # Core control parameters for gold - echo 2 > /sys/devices/system/cpu/cpu4/core_ctl/min_cpus - echo 60 > /sys/devices/system/cpu/cpu4/core_ctl/busy_up_thres - echo 30 > /sys/devices/system/cpu/cpu4/core_ctl/busy_down_thres - echo 100 > /sys/devices/system/cpu/cpu4/core_ctl/offline_delay_ms - echo 3 > /sys/devices/system/cpu/cpu4/core_ctl/task_thres - - # Core control parameters for gold+ - echo 0 > /sys/devices/system/cpu/cpu7/core_ctl/min_cpus - echo 60 > /sys/devices/system/cpu/cpu7/core_ctl/busy_up_thres - echo 30 > /sys/devices/system/cpu/cpu7/core_ctl/busy_down_thres - echo 100 > /sys/devices/system/cpu/cpu7/core_ctl/offline_delay_ms - echo 1 > /sys/devices/system/cpu/cpu7/core_ctl/task_thres - # Controls how many more tasks should be eligible to run on gold CPUs - # w.r.t number of gold CPUs available to trigger assist (max number of - # tasks eligible to run on previous cluster minus number of CPUs in - # the previous cluster). - # - # Setting to 1 by default which means there should be at least - # 4 tasks eligible to run on gold cluster (tasks running on gold cores - # plus misfit tasks on silver cores) to trigger assitance from gold+. - echo 1 > /sys/devices/system/cpu/cpu7/core_ctl/nr_prev_assist_thresh - - # Disable Core control on silver - echo 0 > /sys/devices/system/cpu/cpu0/core_ctl/enable - - # Setting b.L scheduler parameters - echo 95 95 > /proc/sys/kernel/sched_upmigrate - echo 85 85 > /proc/sys/kernel/sched_downmigrate - echo 100 > /proc/sys/kernel/sched_group_upmigrate - echo 85 > /proc/sys/kernel/sched_group_downmigrate - echo 1 > /proc/sys/kernel/sched_walt_rotate_big_tasks - echo 400000000 > /proc/sys/kernel/sched_coloc_downmigrate_ns - - # cpuset parameters - echo 0-3 > /dev/cpuset/background/cpus - echo 0-3 > /dev/cpuset/system-background/cpus - - # Turn off scheduler boost at the end - echo 0 > /proc/sys/kernel/sched_boost - - # configure governor settings for silver cluster - echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor - echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/down_rate_limit_us - echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/up_rate_limit_us - if [ $rev == "2.0" ] || [ $rev == "2.1" ]; then - echo 1248000 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/hispeed_freq - else - echo 1228800 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/hispeed_freq - fi - echo 691200 > /sys/devices/system/cpu/cpufreq/policy0/scaling_min_freq - echo 1 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/pl - - # configure input boost settings - echo "0:1324800" > /sys/devices/system/cpu/cpu_boost/input_boost_freq - echo 120 > /sys/devices/system/cpu/cpu_boost/input_boost_ms - - # configure governor settings for gold cluster - echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy4/scaling_governor - echo 0 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/down_rate_limit_us - echo 0 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/up_rate_limit_us - echo 1574400 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/hispeed_freq - echo 1 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/pl - - # configure governor settings for gold+ cluster - echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy7/scaling_governor - echo 0 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/down_rate_limit_us - echo 0 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/up_rate_limit_us - if [ $rev == "2.0" ] || [ $rev == "2.1" ]; then - echo 1632000 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/hispeed_freq - else - echo 1612800 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/hispeed_freq - fi - echo 1 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/pl - - # Enable bus-dcvs - for device in /sys/devices/platform/soc - do - for cpubw in $device/*cpu-cpu-llcc-bw/devfreq/*cpu-cpu-llcc-bw - do - echo "bw_hwmon" > $cpubw/governor - echo "4577 7110 9155 12298 14236 15258" > $cpubw/bw_hwmon/mbps_zones - echo 4 > $cpubw/bw_hwmon/sample_ms - echo 50 > $cpubw/bw_hwmon/io_percent - echo 20 > $cpubw/bw_hwmon/hist_memory - echo 10 > $cpubw/bw_hwmon/hyst_length - echo 30 > $cpubw/bw_hwmon/down_thres - echo 0 > $cpubw/bw_hwmon/guard_band_mbps - echo 250 > $cpubw/bw_hwmon/up_scale - echo 1600 > $cpubw/bw_hwmon/idle_mbps - echo 14236 > $cpubw/max_freq - echo 40 > $cpubw/polling_interval - done - - for llccbw in $device/*cpu-llcc-ddr-bw/devfreq/*cpu-llcc-ddr-bw - do - echo "bw_hwmon" > $llccbw/governor - if [ ${ddr_type:4:2} == $ddr_type4 ]; then - echo "1720 2086 2929 3879 5161 5931 6881 7980" > $llccbw/bw_hwmon/mbps_zones - elif [ ${ddr_type:4:2} == $ddr_type5 ]; then - echo "1720 2086 2929 3879 5931 6881 7980 10437" > $llccbw/bw_hwmon/mbps_zones - fi - echo 4 > $llccbw/bw_hwmon/sample_ms - echo 80 > $llccbw/bw_hwmon/io_percent - echo 20 > $llccbw/bw_hwmon/hist_memory - echo 10 > $llccbw/bw_hwmon/hyst_length - echo 30 > $llccbw/bw_hwmon/down_thres - echo 0 > $llccbw/bw_hwmon/guard_band_mbps - echo 250 > $llccbw/bw_hwmon/up_scale - echo 1600 > $llccbw/bw_hwmon/idle_mbps - echo 6881 > $llccbw/max_freq - echo 40 > $llccbw/polling_interval - done - - for npubw in $device/*npu*-ddr-bw/devfreq/*npu*-ddr-bw - do - echo 1 > /sys/devices/virtual/npu/msm_npu/pwr - echo "bw_hwmon" > $npubw/governor - if [ ${ddr_type:4:2} == $ddr_type4 ]; then - echo "1720 2086 2929 3879 5931 6881 7980" > $npubw/bw_hwmon/mbps_zones - elif [ ${ddr_type:4:2} == $ddr_type5 ]; then - echo "1720 2086 2929 3879 5931 6881 7980 10437" > $npubw/bw_hwmon/mbps_zones - fi - echo 4 > $npubw/bw_hwmon/sample_ms - echo 160 > $npubw/bw_hwmon/io_percent - echo 20 > $npubw/bw_hwmon/hist_memory - echo 10 > $npubw/bw_hwmon/hyst_length - echo 30 > $npubw/bw_hwmon/down_thres - echo 0 > $npubw/bw_hwmon/guard_band_mbps - echo 250 > $npubw/bw_hwmon/up_scale - echo 1600 > $npubw/bw_hwmon/idle_mbps - echo 40 > $npubw/polling_interval - echo 0 > /sys/devices/virtual/npu/msm_npu/pwr - done - - for npullccbw in $device/*npu*-llcc-bw/devfreq/*npu*-llcc-bw - do - echo 1 > /sys/devices/virtual/npu/msm_npu/pwr - echo "bw_hwmon" > $npullccbw/governor - echo "4577 7110 9155 12298 14236 15258" > $npullccbw/bw_hwmon/mbps_zones - echo 4 > $npullccbw/bw_hwmon/sample_ms - echo 160 > $npullccbw/bw_hwmon/io_percent - echo 20 > $npullccbw/bw_hwmon/hist_memory - echo 10 > $npullccbw/bw_hwmon/hyst_length - echo 30 > $npullccbw/bw_hwmon/down_thres - echo 0 > $npullccbw/bw_hwmon/guard_band_mbps - echo 250 > $npullccbw/bw_hwmon/up_scale - echo 1600 > $npullccbw/bw_hwmon/idle_mbps - echo 40 > $npullccbw/polling_interval - echo 0 > /sys/devices/virtual/npu/msm_npu/pwr - done - done - # memlat specific settings are moved to seperate file under - # device/target specific folder - setprop vendor.dcvs.prop 0 - setprop vendor.dcvs.prop 1 - echo N > /sys/module/lpm_levels/parameters/sleep_disabled - configure_memory_parameters - ;; -esac - -case "$target" in - "msm8998" | "apq8098_latv") - - echo 2 > /sys/devices/system/cpu/cpu4/core_ctl/min_cpus - echo 60 > /sys/devices/system/cpu/cpu4/core_ctl/busy_up_thres - echo 30 > /sys/devices/system/cpu/cpu4/core_ctl/busy_down_thres - echo 100 > /sys/devices/system/cpu/cpu4/core_ctl/offline_delay_ms - echo 1 > /sys/devices/system/cpu/cpu4/core_ctl/is_big_cluster - echo 4 > /sys/devices/system/cpu/cpu4/core_ctl/task_thres - - # Setting b.L scheduler parameters - echo 1 > /proc/sys/kernel/sched_migration_fixup - echo 95 > /proc/sys/kernel/sched_upmigrate - echo 90 > /proc/sys/kernel/sched_downmigrate - echo 100 > /proc/sys/kernel/sched_group_upmigrate - echo 95 > /proc/sys/kernel/sched_group_downmigrate - echo 0 > /proc/sys/kernel/sched_select_prev_cpu_us - echo 400000 > /proc/sys/kernel/sched_freq_inc_notify - echo 400000 > /proc/sys/kernel/sched_freq_dec_notify - echo 5 > /proc/sys/kernel/sched_spill_nr_run - echo 1 > /proc/sys/kernel/sched_restrict_cluster_spill - echo 1 > /proc/sys/kernel/sched_prefer_sync_wakee_to_waker - start iop - - # disable thermal bcl hotplug to switch governor - echo 0 > /sys/module/msm_thermal/core_control/enabled - - # online CPU0 - echo 1 > /sys/devices/system/cpu/cpu0/online - # configure governor settings for little cluster - echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_sched_load - echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_migration_notif - echo 19000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/above_hispeed_delay - echo 90 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/go_hispeed_load - echo 20000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/timer_rate - echo 1248000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/hispeed_freq - echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/io_is_busy - echo "83 1804800:95" > /sys/devices/system/cpu/cpu0/cpufreq/interactive/target_loads - echo 19000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/min_sample_time - echo 79000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/max_freq_hysteresis - echo 518400 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/ignore_hispeed_on_notif - # online CPU4 - echo 1 > /sys/devices/system/cpu/cpu4/online - # configure governor settings for big cluster - echo "interactive" > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor - echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/use_sched_load - echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/use_migration_notif - echo 19000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/above_hispeed_delay - echo 90 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/go_hispeed_load - echo 20000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/timer_rate - echo 1574400 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq - echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/io_is_busy - echo "83 1939200:90 2016000:95" > /sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads - echo 19000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/min_sample_time - echo 79000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/max_freq_hysteresis - echo 806400 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq - echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/ignore_hispeed_on_notif - - # re-enable thermal and BCL hotplug - echo 1 > /sys/module/msm_thermal/core_control/enabled - - # Enable input boost configuration - echo "0:1324800" > /sys/module/cpu_boost/parameters/input_boost_freq - echo 40 > /sys/module/cpu_boost/parameters/input_boost_ms - # Enable bus-dcvs - for cpubw in /sys/class/devfreq/*qcom,cpubw* - do - echo "bw_hwmon" > $cpubw/governor - echo 50 > $cpubw/polling_interval - echo 1525 > $cpubw/min_freq - echo "3143 5859 11863 13763" > $cpubw/bw_hwmon/mbps_zones - echo 4 > $cpubw/bw_hwmon/sample_ms - echo 34 > $cpubw/bw_hwmon/io_percent - echo 20 > $cpubw/bw_hwmon/hist_memory - echo 10 > $cpubw/bw_hwmon/hyst_length - echo 0 > $cpubw/bw_hwmon/low_power_ceil_mbps - echo 34 > $cpubw/bw_hwmon/low_power_io_percent - echo 20 > $cpubw/bw_hwmon/low_power_delay - echo 0 > $cpubw/bw_hwmon/guard_band_mbps - echo 250 > $cpubw/bw_hwmon/up_scale - echo 1600 > $cpubw/bw_hwmon/idle_mbps - done - - for memlat in /sys/class/devfreq/*qcom,memlat-cpu* - do - echo "mem_latency" > $memlat/governor - echo 10 > $memlat/polling_interval - echo 400 > $memlat/mem_latency/ratio_ceil - done - echo "cpufreq" > /sys/class/devfreq/soc:qcom,mincpubw/governor - if [ -f /sys/devices/soc0/soc_id ]; then - soc_id=`cat /sys/devices/soc0/soc_id` - else - soc_id=`cat /sys/devices/system/soc/soc0/id` - fi - - if [ -f /sys/devices/soc0/hw_platform ]; then - hw_platform=`cat /sys/devices/soc0/hw_platform` - else - hw_platform=`cat /sys/devices/system/soc/soc0/hw_platform` - fi - - if [ -f /sys/devices/soc0/platform_version ]; then - platform_version=`cat /sys/devices/soc0/platform_version` - platform_major_version=$((10#${platform_version}>>16)) - fi - - if [ -f /sys/devices/soc0/platform_subtype_id ]; then - platform_subtype_id=`cat /sys/devices/soc0/platform_subtype_id` - fi - - case "$soc_id" in - "292") #msm8998 apq8098_latv - # Start Host based Touch processing - case "$hw_platform" in - "QRD") - case "$platform_subtype_id" in - "0") - start_hbtp - ;; - "16") - if [ $platform_major_version -lt 6 ]; then - start_hbtp - fi - ;; - esac - - ;; - esac - ;; - esac - - echo N > /sys/module/lpm_levels/system/pwr/cpu0/ret/idle_enabled - echo N > /sys/module/lpm_levels/system/pwr/cpu1/ret/idle_enabled - echo N > /sys/module/lpm_levels/system/pwr/cpu2/ret/idle_enabled - echo N > /sys/module/lpm_levels/system/pwr/cpu3/ret/idle_enabled - echo N > /sys/module/lpm_levels/system/perf/cpu4/ret/idle_enabled - echo N > /sys/module/lpm_levels/system/perf/cpu5/ret/idle_enabled - echo N > /sys/module/lpm_levels/system/perf/cpu6/ret/idle_enabled - echo N > /sys/module/lpm_levels/system/perf/cpu7/ret/idle_enabled - echo N > /sys/module/lpm_levels/system/pwr/pwr-l2-dynret/idle_enabled - echo N > /sys/module/lpm_levels/system/pwr/pwr-l2-ret/idle_enabled - echo N > /sys/module/lpm_levels/system/perf/perf-l2-dynret/idle_enabled - echo N > /sys/module/lpm_levels/system/perf/perf-l2-ret/idle_enabled - echo N > /sys/module/lpm_levels/parameters/sleep_disabled - - echo 0-3 > /dev/cpuset/background/cpus - echo 0-3 > /dev/cpuset/system-background/cpus - echo 0 > /proc/sys/kernel/sched_boost - - # Set Memory parameters - configure_memory_parameters - ;; -esac - -case "$target" in - "msm8909") - - if [ -f /sys/devices/soc0/soc_id ]; then - soc_id=`cat /sys/devices/soc0/soc_id` - else - soc_id=`cat /sys/devices/system/soc/soc0/id` - fi - - # HMP scheduler settings for 8909 similiar to 8917 - echo 3 > /proc/sys/kernel/sched_window_stats_policy - echo 3 > /proc/sys/kernel/sched_ravg_hist_size - - echo 1 > /proc/sys/kernel/sched_restrict_tasks_spread - - echo 20 > /proc/sys/kernel/sched_small_task - echo 30 > /sys/devices/system/cpu/cpu0/sched_mostly_idle_load - echo 30 > /sys/devices/system/cpu/cpu1/sched_mostly_idle_load - echo 30 > /sys/devices/system/cpu/cpu2/sched_mostly_idle_load - echo 30 > /sys/devices/system/cpu/cpu3/sched_mostly_idle_load - - echo 3 > /sys/devices/system/cpu/cpu0/sched_mostly_idle_nr_run - echo 3 > /sys/devices/system/cpu/cpu1/sched_mostly_idle_nr_run - echo 3 > /sys/devices/system/cpu/cpu2/sched_mostly_idle_nr_run - echo 3 > /sys/devices/system/cpu/cpu3/sched_mostly_idle_nr_run - - echo 0 > /sys/devices/system/cpu/cpu0/sched_prefer_idle - echo 0 > /sys/devices/system/cpu/cpu1/sched_prefer_idle - echo 0 > /sys/devices/system/cpu/cpu2/sched_prefer_idle - echo 0 > /sys/devices/system/cpu/cpu3/sched_prefer_idle - - # Apply governor settings for 8909 - - # disable thermal core_control to update scaling_min_freq - echo 0 > /sys/module/msm_thermal/core_control/enabled - echo 1 > /sys/devices/system/cpu/cpu0/online - echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo 800000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - # enable thermal core_control now - echo 1 > /sys/module/msm_thermal/core_control/enabled - - echo "29000 1094400:49000" > /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay - echo 90 > /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load - echo 30000 > /sys/devices/system/cpu/cpufreq/interactive/timer_rate - echo 998400 > /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq - echo 0 > /sys/devices/system/cpu/cpufreq/interactive/io_is_busy - echo "1 800000:85 998400:90 1094400:80" > /sys/devices/system/cpu/cpufreq/interactive/target_loads - echo 50000 > /sys/devices/system/cpu/cpufreq/interactive/min_sample_time - echo 50000 > /sys/devices/system/cpu/cpufreq/interactive/sampling_down_factor - - # Bring up all cores online - echo 1 > /sys/devices/system/cpu/cpu1/online - echo 1 > /sys/devices/system/cpu/cpu2/online - echo 1 > /sys/devices/system/cpu/cpu3/online - echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled - - for devfreq_gov in /sys/class/devfreq/*qcom,cpubw*/governor - do - echo "bw_hwmon" > $devfreq_gov - for cpu_bimc_bw_step in /sys/class/devfreq/*qcom,cpubw*/bw_hwmon/bw_step - do - echo 60 > $cpu_bimc_bw_step - done - for cpu_guard_band_mbps in /sys/class/devfreq/*qcom,cpubw*/bw_hwmon/guard_band_mbps - do - echo 30 > $cpu_guard_band_mbps - done - done - - for gpu_bimc_io_percent in /sys/class/devfreq/*qcom,gpubw*/bw_hwmon/io_percent - do - echo 40 > $gpu_bimc_io_percent - done - for gpu_bimc_bw_step in /sys/class/devfreq/*qcom,gpubw*/bw_hwmon/bw_step - do - echo 60 > $gpu_bimc_bw_step - done - for gpu_bimc_guard_band_mbps in /sys/class/devfreq/*qcom,gpubw*/bw_hwmon/guard_band_mbps - do - echo 30 > $gpu_bimc_guard_band_mbps - done - - # Set Memory parameters - configure_memory_parameters - restorecon -R /sys/devices/system/cpu - ;; -esac - -case "$target" in - "msm7627_ffa" | "msm7627_surf" | "msm7627_6x") - echo 25000 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate - ;; -esac - -case "$target" in - "qsd8250_surf" | "qsd8250_ffa" | "qsd8650a_st1x") - echo 50000 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate - ;; -esac - -case "$target" in - "qsd8650a_st1x") - mount -t debugfs none /sys/kernel/debug - ;; -esac - -chown -h system /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate -chown -h system /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor -chown -h system /sys/devices/system/cpu/cpufreq/ondemand/io_is_busy - -emmc_boot=`getprop vendor.boot.emmc` -case "$emmc_boot" - in "true") - chown -h system /sys/devices/platform/rs300000a7.65536/force_sync - chown -h system /sys/devices/platform/rs300000a7.65536/sync_sts - chown -h system /sys/devices/platform/rs300100a7.65536/force_sync - chown -h system /sys/devices/platform/rs300100a7.65536/sync_sts - ;; -esac - -case "$target" in - "msm8960" | "msm8660" | "msm7630_surf") - echo 10 > /sys/devices/platform/msm_sdcc.3/idle_timeout - ;; - "msm7627a") - echo 10 > /sys/devices/platform/msm_sdcc.1/idle_timeout - ;; -esac - -# Post-setup services -case "$target" in - "msm8660" | "msm8960" | "msm8226" | "msm8610" | "mpq8092" ) - start mpdecision - ;; - "msm8974") - start mpdecision - echo 512 > /sys/block/mmcblk0/bdi/read_ahead_kb - ;; - "msm8909" | "msm8916" | "msm8937" | "msm8952" | "msm8953" | "msm8994" | "msm8992" | "msm8996" | "msm8998" | "sdm660" | "apq8098_latv" | "sdm845" | "sdm710" | "msmnile" | "msmsteppe" | "sm6150" | "kona" | "lito" | "trinket" | "atoll" | "bengal" | "sdmshrike") - setprop vendor.post_boot.parsed 1 - ;; - "apq8084") - rm /data/system/perfd/default_values - start mpdecision - echo 512 > /sys/block/mmcblk0/bdi/read_ahead_kb - echo 512 > /sys/block/sda/bdi/read_ahead_kb - echo 512 > /sys/block/sdb/bdi/read_ahead_kb - echo 512 > /sys/block/sdc/bdi/read_ahead_kb - echo 512 > /sys/block/sdd/bdi/read_ahead_kb - echo 512 > /sys/block/sde/bdi/read_ahead_kb - echo 512 > /sys/block/sdf/bdi/read_ahead_kb - echo 512 > /sys/block/sdg/bdi/read_ahead_kb - echo 512 > /sys/block/sdh/bdi/read_ahead_kb - ;; - "msm7627a") - if [ -f /sys/devices/soc0/soc_id ]; then - soc_id=`cat /sys/devices/soc0/soc_id` - else - soc_id=`cat /sys/devices/system/soc/soc0/id` - fi - case "$soc_id" in - "127" | "128" | "129") - start mpdecision - ;; - esac - ;; -esac - -# Enable Power modes and set the CPU Freq Sampling rates -case "$target" in - "msm7627a") - start qosmgrd - echo 1 > /sys/module/pm2/modes/cpu0/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/pm2/modes/cpu1/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/pm2/modes/cpu0/standalone_power_collapse/suspend_enabled - echo 1 > /sys/module/pm2/modes/cpu1/standalone_power_collapse/suspend_enabled - #SuspendPC: - echo 1 > /sys/module/pm2/modes/cpu0/power_collapse/suspend_enabled - #IdlePC: - echo 1 > /sys/module/pm2/modes/cpu0/power_collapse/idle_enabled - echo 25000 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate - ;; -esac - -# Change adj level and min_free_kbytes setting for lowmemory killer to kick in -case "$target" in - "msm7627a") - echo 0,1,2,4,9,12 > /sys/module/lowmemorykiller/parameters/adj - echo 5120 > /proc/sys/vm/min_free_kbytes - ;; -esac - -# Install AdrenoTest.apk if not already installed -if [ -f /data/prebuilt/AdrenoTest.apk ]; then - if [ ! -d /data/data/com.qualcomm.adrenotest ]; then - pm install /data/prebuilt/AdrenoTest.apk - fi -fi - -# Install SWE_Browser.apk if not already installed -if [ -f /data/prebuilt/SWE_AndroidBrowser.apk ]; then - if [ ! -d /data/data/com.android.swe.browser ]; then - pm install /data/prebuilt/SWE_AndroidBrowser.apk - fi -fi - -# Change adj level and min_free_kbytes setting for lowmemory killer to kick in -case "$target" in - "msm8660") - start qosmgrd - echo 0,1,2,4,9,12 > /sys/module/lowmemorykiller/parameters/adj - echo 5120 > /proc/sys/vm/min_free_kbytes - ;; -esac -# Let kernel know our image version/variant/crm_version -if [ -f /sys/devices/soc0/select_image ]; then - image_version="10:" - image_version+=`getprop ro.build.id` - image_version+=":" - image_version+=`getprop ro.build.version.incremental` - image_variant=`getprop ro.product.name` - image_variant+="-" - image_variant+=`getprop ro.build.type` - oem_version=`getprop ro.build.version.codename` - echo 10 > /sys/devices/soc0/select_image - echo $image_version > /sys/devices/soc0/image_version - echo $image_variant > /sys/devices/soc0/image_variant - echo $oem_version > /sys/devices/soc0/image_crm_version -fi - -# Change console log level as per console config property -console_config=`getprop persist.vendor.console.silent.config` -case "$console_config" in - "1") - echo "Enable console config to $console_config" - echo 0 > /proc/sys/kernel/printk - ;; - *) - echo "Enable console config to $console_config" - ;; -esac - -# Parse misc partition path and set property -misc_link=$(ls -l /dev/block/bootdevice/by-name/misc) -real_path=${misc_link##*>} -setprop persist.vendor.mmi.misc_dev_path $real_path diff --git a/rootdir/bin/init.qcom.usb.sh b/rootdir/bin/init.qcom.usb.sh deleted file mode 100755 index aa20859..0000000 --- a/rootdir/bin/init.qcom.usb.sh +++ /dev/null @@ -1,238 +0,0 @@ -#!/vendor/bin/sh -# Copyright (c) 2012-2018, 2020 The Linux Foundation. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are -# met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above -# copyright notice, this list of conditions and the following -# disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of The Linux Foundation nor the names of its -# contributors may be used to endorse or promote products derived -# from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT -# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS -# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# -# - -# Set platform variables -soc_hwplatform=`cat /sys/devices/soc0/hw_platform 2> /dev/null` -soc_machine=`cat /sys/devices/soc0/machine 2> /dev/null` -soc_machine=${soc_machine:0:2} -soc_id=`cat /sys/devices/soc0/soc_id 2> /dev/null` - -# -# Check ESOC for external modem -# -# Note: currently only a single MDM/SDX is supported -# -esoc_name=`cat /sys/bus/esoc/devices/esoc0/esoc_name 2> /dev/null` - -target=`getprop ro.board.platform` - -# -# Override USB default composition -# -# If USB persist config not set, set default configuration -if [ "$(getprop persist.vendor.usb.config)" == "" -a "$(getprop ro.build.type)" != "user" -a \ - "$(getprop init.svc.vendor.usb-gadget-hal-1-0)" != "running" ]; then - if [ "$esoc_name" != "" ]; then - setprop persist.vendor.usb.config diag,diag_mdm,qdss,qdss_mdm,serial_cdev,dpl,rmnet,adb - else - case "$(getprop ro.baseband)" in - "apq") - setprop persist.vendor.usb.config diag,adb - ;; - *) - case "$soc_hwplatform" in - "Dragon" | "SBC") - setprop persist.vendor.usb.config diag,adb - ;; - *) - case "$soc_machine" in - "SA") - setprop persist.vendor.usb.config diag,adb - ;; - *) - case "$target" in - "msm8996") - setprop persist.vendor.usb.config diag,serial_cdev,serial_tty,rmnet_ipa,mass_storage,adb - ;; - "msm8909") - setprop persist.vendor.usb.config diag,serial_smd,rmnet_qti_bam,adb - ;; - "msm8937") - if [ -d /config/usb_gadget ]; then - setprop persist.vendor.usb.config diag,serial_cdev,rmnet,dpl,adb - else - case "$soc_id" in - "313" | "320") - setprop persist.vendor.usb.config diag,serial_smd,rmnet_ipa,adb - ;; - *) - setprop persist.vendor.usb.config diag,serial_smd,rmnet_qti_bam,adb - ;; - esac - fi - ;; - "msm8953") - if [ -d /config/usb_gadget ]; then - setprop persist.vendor.usb.config diag,serial_cdev,rmnet,dpl,adb - else - setprop persist.vendor.usb.config diag,serial_smd,rmnet_ipa,adb - fi - ;; - "msm8998" | "sdm660" | "apq8098_latv") - setprop persist.vendor.usb.config diag,serial_cdev,rmnet,adb - ;; - "sdm845" | "sdm710") - setprop persist.vendor.usb.config diag,serial_cdev,rmnet,dpl,adb - ;; - "msmnile" | "sm6150" | "trinket" | "lito" | "atoll" | "bengal" | "lahaina" | "holi") - setprop persist.vendor.usb.config diag,serial_cdev,rmnet,dpl,qdss,adb - ;; - *) - setprop persist.vendor.usb.config diag,adb - ;; - esac - ;; - esac - ;; - esac - ;; - esac - fi -fi - -# This check is needed for GKI 1.0 targets where QDSS is not available -if [ "$(getprop persist.vendor.usb.config)" == "diag,serial_cdev,rmnet,dpl,qdss,adb" -a \ - ! -d /config/usb_gadget/g1/functions/qdss.qdss ]; then - setprop persist.vendor.usb.config diag,serial_cdev,rmnet,dpl,adb -fi - -# Start peripheral mode on primary USB controllers for Automotive platforms -case "$soc_machine" in - "SA") - if [ -f /sys/bus/platform/devices/a600000.ssusb/mode ]; then - default_mode=`cat /sys/bus/platform/devices/a600000.ssusb/mode` - case "$default_mode" in - "none") - echo peripheral > /sys/bus/platform/devices/a600000.ssusb/mode - ;; - esac - fi - ;; -esac - -# check configfs is mounted or not -if [ -d /config/usb_gadget ]; then - # Chip-serial is used for unique MSM identification in Product string - msm_serial=`cat /sys/devices/soc0/serial_number`; - msm_serial_hex=`printf %08X $msm_serial` - machine_type=`cat /sys/devices/soc0/machine` - setprop vendor.usb.product_string "$machine_type-$soc_hwplatform _SN:$msm_serial_hex" - - # ADB requires valid iSerialNumber; if ro.serialno is missing, use dummy - serialnumber=`cat /config/usb_gadget/g1/strings/0x409/serialnumber 2> /dev/null` - if [ "$serialnumber" == "" ]; then - serialno=1234567 - echo $serialno > /config/usb_gadget/g1/strings/0x409/serialnumber - fi - setprop vendor.usb.configfs 1 -fi - -# -# Initialize RNDIS Diag option. If unset, set it to 'none'. -# -diag_extra=`getprop persist.vendor.usb.config.extra` -if [ "$diag_extra" == "" ]; then - setprop persist.vendor.usb.config.extra none -fi - -# enable rps cpus on msm8937 target -setprop vendor.usb.rps_mask 0 -case "$soc_id" in - "294" | "295" | "353" | "354") - setprop vendor.usb.rps_mask 40 - ;; -esac - -# -# Initialize UVC conifguration. -# -if [ -d /config/usb_gadget/g1/functions/uvc.0 ]; then - cd /config/usb_gadget/g1/functions/uvc.0 - - echo 3072 > streaming_maxpacket - echo 1 > streaming_maxburst - mkdir control/header/h - ln -s control/header/h control/class/fs/ - ln -s control/header/h control/class/ss - - mkdir -p streaming/uncompressed/u/360p - echo "666666\n1000000\n5000000\n" > streaming/uncompressed/u/360p/dwFrameInterval - - mkdir -p streaming/uncompressed/u/720p - echo 1280 > streaming/uncompressed/u/720p/wWidth - echo 720 > streaming/uncompressed/u/720p/wWidth - echo 29491200 > streaming/uncompressed/u/720p/dwMinBitRate - echo 29491200 > streaming/uncompressed/u/720p/dwMaxBitRate - echo 1843200 > streaming/uncompressed/u/720p/dwMaxVideoFrameBufferSize - echo 5000000 > streaming/uncompressed/u/720p/dwDefaultFrameInterval - echo "5000000\n" > streaming/uncompressed/u/720p/dwFrameInterval - - mkdir -p streaming/mjpeg/m/360p - echo "666666\n1000000\n5000000\n" > streaming/mjpeg/m/360p/dwFrameInterval - - mkdir -p streaming/mjpeg/m/720p - echo 1280 > streaming/mjpeg/m/720p/wWidth - echo 720 > streaming/mjpeg/m/720p/wWidth - echo 29491200 > streaming/mjpeg/m/720p/dwMinBitRate - echo 29491200 > streaming/mjpeg/m/720p/dwMaxBitRate - echo 1843200 > streaming/mjpeg/m/720p/dwMaxVideoFrameBufferSize - echo 5000000 > streaming/mjpeg/m/720p/dwDefaultFrameInterval - echo "5000000\n" > streaming/mjpeg/m/720p/dwFrameInterval - - echo 0x04 > /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/bmaControls - - mkdir -p streaming/h264/h/960p - echo 1920 > streaming/h264/h/960p/wWidth - echo 960 > streaming/h264/h/960p/wWidth - echo 40 > streaming/h264/h/960p/bLevelIDC - echo "333667\n" > streaming/h264/h/960p/dwFrameInterval - - mkdir -p streaming/h264/h/1920p - echo "333667\n" > streaming/h264/h/1920p/dwFrameInterval - - mkdir streaming/header/h - ln -s streaming/uncompressed/u streaming/header/h - ln -s streaming/mjpeg/m streaming/header/h - ln -s streaming/h264/h streaming/header/h - ln -s streaming/header/h streaming/class/fs/ - ln -s streaming/header/h streaming/class/hs/ - ln -s streaming/header/h streaming/class/ss/ -fi - -#Enable diag and adb for FTM -boot_mode=`getprop ro.boot.ftm_mode` -echo "boot_mode: $boot_mode" > /dev/kmsg -case "$boot_mode" in - "ftm_rf" | "ftm_wlan" | "ftm_at") - setprop persist.vendor.usb.config diag,adb - setprop persist.sys.usb.config diag,adb - setprop sys.usb.config diag,adb - echo "AFTER boot_mode: diag,adb" > /dev/kmsg -esac diff --git a/rootdir/bin/init.qti.chg_policy.sh b/rootdir/bin/init.qti.chg_policy.sh deleted file mode 100755 index 99187ab..0000000 --- a/rootdir/bin/init.qti.chg_policy.sh +++ /dev/null @@ -1,48 +0,0 @@ -#! /vendor/bin/sh - -# -# Copyright (c) 2019-2020 Qualcomm Technologies, Inc. -# All Rights Reserved. -# Confidential and Proprietary - Qualcomm Technologies, Inc. -# -# Copyright (c) 2019 The Linux Foundation. All rights reserved. -# - -export PATH=/vendor/bin - -soc_id=`getprop ro.vendor.qti.soc_id` -if [ "$soc_id" -eq 415 ] || [ "$soc_id" -eq 439 ] || [ "$soc_id" -eq 450 ] || [ "$soc_id" -eq 475 ]; then - setprop persist.vendor.hvdcp_opti.start 2 - exit 0 -fi - -if [ "$soc_id" -eq 441 ] || [ "$soc_id" -eq 471 ]; then - #Scuba does not support usb-pd or charge pumps - find /sys/class/power_supply/battery/ -type f -maxdepth 1 | xargs chown system.system - find /sys/class/power_supply/bms/ -type f -maxdepth 1 | xargs chown system.system - find /sys/class/power_supply/main/ -type f -maxdepth 1 | xargs chown system.system - find /sys/class/power_supply/usb/ -type f -maxdepth 1 | xargs chown system.system -else - find /sys/class/power_supply/battery/ -type f -maxdepth 1 | xargs chown system.system - find /sys/class/power_supply/bms/ -type f -maxdepth 1 | xargs chown system.system - find /sys/class/power_supply/main/ -type f -maxdepth 1 | xargs chown system.system - find /sys/class/power_supply/usb/ -type f -maxdepth 1 | xargs chown system.system - find /sys/class/power_supply/charge_pump_master/ -type f -maxdepth 1 | xargs chown system.system - find /sys/class/power_supply/pc_port/ -type f -maxdepth 1 | xargs chown system.system - find /sys/class/power_supply/dc/ -type f -maxdepth 1 | xargs chown system.system - find /sys/class/power_supply/parallel/ -type f -maxdepth 1 | xargs chown system.system - find /sys/class/usbpd/usbpd0/ -type f -maxdepth 1 | xargs chown system.system - find /sys/class/qc-vdm/ -type f -maxdepth 1 | xargs chown system.system - find /sys/class/charge_pump/ -type f -maxdepth 1 | xargs chown system.system - find /sys/class/qcom-battery/ -type f -maxdepth 1 | xargs chown system.system - - for i in 0 1 2 3 4 5 6 7 8 9 - do - devname=`cat /sys/bus/iio/devices/iio:device$i/name` - if [[ "$devname" == *smb* ]] || [[ "$devname" == *qg* ]] || [[ "$devname" == *div2_cp* ]]; then - find /sys/bus/iio/devices/iio:device$i/ -type f -maxdepth 1 | xargs chown system.system - fi - done -fi - -setprop persist.vendor.hvdcp_opti.start 1 diff --git a/rootdir/bin/init.qti.dcvs.sh b/rootdir/bin/init.qti.dcvs.sh deleted file mode 100755 index 0f3309b..0000000 --- a/rootdir/bin/init.qti.dcvs.sh +++ /dev/null @@ -1,77 +0,0 @@ -#! /vendor/bin/sh -# -# Copyright (c) 2020, The Linux Foundation. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are -# met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above -# copyright notice, this list of conditions and the following -# disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of The Linux Foundation nor the names of its -# contributors may be used to endorse or promote products derived -# from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT -# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS -# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# - for device in /sys/devices/platform/soc - do - for memlat in $device/*qcom,devfreq-l3/*cpu*-lat/devfreq/*cpu*-lat - do - echo "mem_latency" > $memlat/governor - echo 8 > $memlat/polling_interval - echo 400 > $memlat/mem_latency/ratio_ceil - done - - #Enable mem_latency governor for LLCC and DDR scaling - for memlat in $device/*cpu*-lat/devfreq/*cpu*-lat - do - echo "mem_latency" > $memlat/governor - echo 8 > $memlat/polling_interval - echo 400 > $memlat/mem_latency/ratio_ceil - done - - #Enable compute governor for gold latfloor - for latfloor in $device/*cpu-ddr-latfloor*/devfreq/*cpu-ddr-latfloor* - do - echo "compute" > $latfloor/governor - echo 8 > $latfloor/polling_interval - done - - for qoslat in $device/*qoslat/devfreq/*qoslat - do - echo "mem_latency" > $qoslat/governor - echo 10 > $qoslat/polling_interval - echo 50 > $qoslat/mem_latency/ratio_ceil - done - - for l3cdsp in $device/*qcom,devfreq-l3/*cdsp-l3-lat/devfreq/*cdsp-l3-lat - do - echo "cdspl3" > $l3cdsp/governor - done - - #Gold L3 ratio ceil - for l3gold in $device/*qcom,devfreq-l3/*cpu4-cpu-l3-lat/devfreq/*cpu4-cpu-l3-lat - do - echo 4000 > $l3gold/mem_latency/ratio_ceil - done - - #Prime L3 ratio ceil - for l3prime in $device/*qcom,devfreq-l3/*cpu7-cpu-l3-lat/devfreq/*cpu7-cpu-l3-lat - do - echo 20000 > $l3prime/mem_latency/ratio_ceil - done - done; diff --git a/rootdir/bin/init.qti.qcv.sh b/rootdir/bin/init.qti.qcv.sh deleted file mode 100755 index 6e4e315..0000000 --- a/rootdir/bin/init.qti.qcv.sh +++ /dev/null @@ -1,20 +0,0 @@ -#! /vendor/bin/sh -#============================================================================= -# Copyright (c) 2020 Qualcomm Technologies, Inc. -# All Rights Reserved. -# Confidential and Proprietary - Qualcomm Technologies, Inc. -#============================================================================= - -soc_id=`cat /sys/devices/soc0/soc_id` 2> /dev/null - -# Store soc_id in ro.vendor.qti.soc_id -setprop ro.vendor.qti.soc_id $soc_id - -# For chipsets in QCV family, convert soc_id to soc_name -# and store it in ro.vendor.qti.soc_name. -if [ "$soc_id" -eq 415 ] || [ "$soc_id" -eq 439 ] || [ "$soc_id" -eq 456 ] || - [ "$soc_id" -eq 501 ] || [ "$soc_id" -eq 502 ]; then - setprop ro.vendor.qti.soc_name lahaina -elif [ "$soc_id" -eq 450 ]; then - setprop ro.vendor.qti.soc_name shima -fi diff --git a/rootdir/bin/vendor_modprobe.sh b/rootdir/bin/vendor_modprobe.sh deleted file mode 100755 index 5586bbe..0000000 --- a/rootdir/bin/vendor_modprobe.sh +++ /dev/null @@ -1,43 +0,0 @@ -#! /vendor/bin/sh -#============================================================================= -# Copyright (c) 2019-2020 Qualcomm Technologies, Inc. -# All Rights Reserved. -# Confidential and Proprietary - Qualcomm Technologies, Inc. -#============================================================================= - -#default to /vendor/lib/modules -MODULES_PATH="/vendor/lib/modules/" -GKI_MOD_PATH="/vendor/lib/modules/5.4-gki" - -MODPROBE="/vendor/bin/modprobe" -MODULES=`${MODPROBE} -d ${MODULES_PATH} -l` - -# insmod op_cmdline before other modules -CMD_LINE=`cat /proc/cmdline` -${MODPROBE} -a -b -d ${MODULES_PATH} op_cmdline.ko op_cmdline="\"${CMD_LINE}\"" -${MODPROBE} -a -b -d ${GKI_MOD_PATH} op_cmdline.ko op_cmdline="\"${CMD_LINE}\"" - -# Find the first non-blacklisted module and try -# inserting it. If insertion fails the module is not -# compatible with the current kernel. Change the modules -# directory to gki. -for MODULE in ${MODULES}; do - cat ${MODULES_PATH}/modules.blocklist | grep $MODULE - if [ $? -ne 0 ]; then - break - fi -done - -${MODPROBE} -a -b -d ${MODULES_PATH} ${MODULE} -if [ $? -ne 0 ];then - MODULES_PATH=$GKI_MOD_PATH - MODULES=`${MODPROBE} -d ${MODULES_PATH} -l` -fi - -# Iterate over module list and modprobe them in background. -for MODULE in ${MODULES}; do - ${MODPROBE} -a -b -d ${MODULES_PATH} ${MODULE} & -done - -# Wait until all the modprobes are finished -wait diff --git a/rootdir/etc/charger_fstab.qti b/rootdir/etc/charger_fstab.qti deleted file mode 100644 index 87dd4a9..0000000 --- a/rootdir/etc/charger_fstab.qti +++ /dev/null @@ -1,33 +0,0 @@ -# Copyright (c) 2019 - 2020, The Linux Foundation. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are -# met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above -# copyright notice, this list of conditions and the following -# disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of The Linux Foundation nor the names of its -# contributors may be used to endorse or promote products derived -# from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT -# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS -# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -# Android fstab file. -# The filesystem that contains the filesystem checker binary (typically /system) cannot -# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK - -# -/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,slotselect diff --git a/rootdir/etc/ftm_power_config.sh b/rootdir/etc/ftm_power_config.sh deleted file mode 100644 index 45230b4..0000000 --- a/rootdir/etc/ftm_power_config.sh +++ /dev/null @@ -1,53 +0,0 @@ -#!/system/bin/sh -echo "ftm_power_config start" >> /dev/kmsg -bootmode=`getprop ro.vendor.factory.mode` -target=`getprop ro.board.platform` -/vendor/bin/sh /vendor/bin/init.qcom.post_boot.sh - -echo s2idle > /sys/power/mem_sleep - -sleep 5 -echo 0 > /sys/devices/system/cpu/cpu4/online -echo 0 > /sys/devices/system/cpu/cpu5/online -echo 0 > /sys/devices/system/cpu/cpu6/online -echo 0 > /sys/devices/system/cpu/cpu7/online - -sleep 10 -echo 0 > /sys/devices/system/cpu/cpu3/online -echo 0 > /sys/devices/system/cpu/cpu2/online - -if [ "$target" == "lito" ]; then - echo 614400 > /sys/devices/system/cpu/cpufreq/policy0/scaling_min_freq - echo 1075200 > /sys/devices/system/cpu/cpufreq/policy0/scaling_max_freq -else - echo 518400 > /sys/devices/system/cpu/cpufreq/policy0/scaling_min_freq - echo 883200 > /sys/devices/system/cpu/cpufreq/policy0/scaling_max_freq -fi - -echo "ftm_power_config ftrace config start" >> /dev/kmsg -echo 0 > /sys/kernel/debug/tracing/tracing_on -echo "" > /sys/kernel/debug/tracing/set_event -echo "" > /sys/kernel/debug/tracing/trace -echo power:cpu_idle power:cpu_frequency power:cpu_frequency_switch_start msm_low_power:* sched:sched_switch sched:sched_wakeup sched:sched_wakeup_new sched:sched_enq_deq_task >> /sys/kernel/debug/tracing/set_event -echo power:memlat_dev_update power:memlat_dev_meas msm_bus:bus_update_request msm_bus:* power:bw_hwmon_update power:bw_hwmon_meas >> /sys/kernel/debug/tracing/set_event -echo power:bw_hwmon_meas power:bw_hwmon_update>> /sys/kernel/debug/tracing/set_event -echo clk:clk_set_rate clk:clk_enable clk:clk_disable >> /sys/kernel/debug/tracing/set_event -echo power:clock_set_rate power:clock_enable power:clock_disable msm_bus:bus_update_request >> /sys/kernel/debug/tracing/set_event -echo cpufreq_interactive:cpufreq_interactive_target cpufreq_interactive:cpufreq_interactive_setspeed >> /sys/kernel/debug/tracing/set_event -echo irq:* >> /sys/kernel/debug/tracing/set_event -echo mdss:mdp_mixer_update mdss:mdp_sspp_change mdss:mdp_commit >> /sys/kernel/debug/tracing/set_event -echo workqueue:* >> /sys/kernel/debug/tracing/set_event -echo kgsl:kgsl_pwrlevel kgsl:kgsl_buslevel kgsl:kgsl_pwr_set_state >> /sys/kernel/debug/tracing/set_event -echo regulator:regulator_set_voltage_complete regulator:regulator_disable_complete regulator:regulator_enable_complete >> /sys/kernel/debug/tracing/set_event -echo thermal:* >> /sys/kernel/debug/tracing/set_event -cat /sys/kernel/debug/tracing/set_event -echo 40000 > /sys/kernel/debug/tracing/buffer_size_kb -cat /sys/kernel/debug/tracing/buffer_size_kb - -sleep 5 -echo "ftm_power_config capture ftrace start" >> /dev/kmsg -echo 0 > /sys/kernel/debug/tracing/tracing_on && cat /sys/kernel/debug/tracing/trace > /data/local/trace.txt && echo 0 > /sys/kernel/debug/tracing/tracing_on && echo "" > /sys/kernel/debug/tracing/trace && sleep 1 && echo 1 > /sys/kernel/debug/tracing/tracing_on && sleep 40 && echo 0 > /sys/kernel/debug/tracing/tracing_on && cat /sys/kernel/debug/tracing/trace > /mnt/vendor/op2/trace.txt& - -echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled -baseband=`getprop ro.baseband` -echo "ftm_power_config done baseband=$baseband" >> /dev/kmsg diff --git a/rootdir/etc/init.cust.rc b/rootdir/etc/init.cust.rc deleted file mode 100644 index c0a12a1..0000000 --- a/rootdir/etc/init.cust.rc +++ /dev/null @@ -1,2 +0,0 @@ -on property:ro.boot.product.hardware.sku=9 - setprop persist.radio.multisim.config ssss diff --git a/rootdir/etc/init.oem.debug.rc b/rootdir/etc/init.oem.debug.rc deleted file mode 100644 index 875cc27..0000000 --- a/rootdir/etc/init.oem.debug.rc +++ /dev/null @@ -1,79 +0,0 @@ -################################################################################## -### VENDOR_EDIT, OEM All rights reserved. -### -### File: - init.oem.debug.rc -### -### ------------------------------- Revision History: ---------------------------- -### -### ------------------------------------------------------------------------------ -################################################################################## - - -################################## Trigger Point Begin ########################################### -on late-init - write /proc/sys/kernel/hung_task_timeout_secs 60 - write /proc/sys/kernel/hung_task_selective_monitoring 0 - -on property:persist.vendor.enable.powerkey.dump=1 - write /sys/module/qpnp_power_on/parameters/long_pwr_dump_enabled 1 - -on property:persist.vendor.enable.powerkey.dump=0 - write /sys/module/qpnp_power_on/parameters/long_pwr_dump_enabled 0 - -on property:vendor.sys.oem.long_pwr_dump=1 - write /sys/module/qpnp_power_on/parameters/pwr_dump_enabled 1 - -on property:vendor.sys.oem.long_pwr_dump=0 - write /sys/module/qpnp_power_on/parameters/pwr_dump_enabled 0 - -on property:vendor.sys.oem.long_debug_suspend=1 - write /d/clk/debug_suspend 1 - -on property:vendor.sys.oem.long_debug_suspend=0 - write /d/clk/debug_suspend 0 - -on property:persist.vendor.oem.dump=1 && property:persist.vendor.oem.ssrdump=0 - write /sys/module/msm_poweroff/parameters/download_mode 1 - write /sys/kernel/dload/dload_mode full - write /sys/kernel/dload/emmc_dload 0 - write /proc/otrace_on 7978 - write /proc/restart_level_all 1 - write /proc/sys/kernel/printk "4 6 1 7" - setprop persist.vendor.oem.pmsg.enable 1 - -on property:persist.vendor.oem.dump=0 && property:persist.vendor.oem.ssrdump=0 - write /sys/module/msm_poweroff/parameters/download_mode 1 - write /sys/kernel/dload/dload_mode mini - write /sys/kernel/dload/emmc_dload 1 - write /proc/otrace_on 0 - write /proc/restart_level_all 0 - write /proc/sys/kernel/printk "1 6 1 7" - setprop persist.vendor.oem.pmsg.enable 0 - -on property:persist.vendor.oem.dump=0 && property:persist.vendor.oem.ssrdump=1 - write /sys/module/msm_poweroff/parameters/download_mode 1 - write /sys/kernel/dload/dload_mode full - write /sys/kernel/dload/emmc_dload 0 - write /proc/otrace_on 7978 - write /proc/restart_level_all 0 - write /proc/sys/kernel/printk "4 6 1 7" - setprop persist.vendor.oem.pmsg.enable 0 - - -on property:persist.vendor.oem.twice.modemdump=1 - write /sys/kernel/dload/oem_modemdump twice - -on property:persist.vendor.oem.twice.modemdump=0 - write /sys/kernel/dload/oem_modemdump fusion - -on property:vendor.oem.enroll.index=* - exec_background - root root -- /system_ext/bin/oem_on_gatekeeper_change.sh enroll - exec_background - root root -- /system_ext/bin/oem_back_up_sec.sh enroll - -on property:vendor.oem.verify.pass.index=* - exec_background - root root -- /system_ext/bin/oem_on_gatekeeper_change.sh pass - exec_background - root root -- /system_ext/bin/oem_back_up_sec.sh pass - -on property:vendor.oem.verify.fail.index=* - exec_background - root root -- /system_ext/bin/oem_on_gatekeeper_change.sh fail - exec_background - root root -- /system_ext/bin/oem_back_up_sec.sh fail diff --git a/rootdir/etc/init.oem.rc b/rootdir/etc/init.oem.rc deleted file mode 100644 index f8e0755..0000000 --- a/rootdir/etc/init.oem.rc +++ /dev/null @@ -1,1193 +0,0 @@ -################################################################################# -### VENDOR_EDIT, OEM All rights reserved. -### -### File: - init.oem.rc -### Author: jiangyonggao -### all oem triger & init are here -### ------------------------------- Revision History: ---------------------------- -### -### ------------------------------------------------------------------------------ -### jiangyg@PM 2013-10-21 Create this file -################################################################################## -#Load WLAN driver - -import /vendor/etc/init/hw/init.cust.rc -#ethan.peng@Connectivity,2020/12/29,close uicc since orange -import /vendor/etc/init/hw/init.uicc.rc - -on property:wlan.driver.status=ok - start load_wlan_driver - -service load_wlan_driver /vendor/bin/sh /vendor/bin/load_wlan_driver - class main - disabled - oneshot - -on charger - setprop persist.vendor.oem.dump 0 - setprop persist.vendor.oem.ssrdump 0 - start oemlogkit - -#@bsp, 2019/08/22 Add dash charging -service dashd /vendor/bin/dashd - class core - seclabel u:r:dashd:s0 - group root system - -#bsp, 2020/01/04 Add wireless charge -service wlchgd /vendor/bin/wlchgd - class main - disabled - seclabel u:r:wlchgd:s0 - group root system - -on fs - mount ext4 /dev/block/bootdevice/by-name/op1 /mnt/vendor/op1 ro barrier=1 discard context=u:object_r:op1_file:s0 - #yankelong add - chown system system /sys/class/leds/vibrator/haptic_audio_ai_input - chown system system /sys/class/leds/vibrator/haptic_audio_tp_input - chown system system /sys/class/leds/vibrator/haptic_audio_tp_size - chown audioserver audioserver /sys/class/leds/vibrator/register - chown system system /sys/class/leds/vibrator/vmax_mv - chmod 660 /sys/class/leds/vibrator/vmax_mv - chmod 660 /sys/class/leds/vibrator/rtp - chmod 660 /sys/class/leds/vibrator/haptic_audio_tp_time - chmod 644 /sys/class/leds/vibrator/haptic_osc_data - chmod 660 /sys/class/leds/vibrator/ram_test - chmod 644 /sys/class/leds/vibrator/ram_update - chmod 644 /sys/class/leds/vibrator/f0_cali_data - chown system system /sys/class/leds/vibrator/activate - chown system system /sys/class/leds/vibrator/brightness - chown system system /sys/class/leds/vibrator/duration - chown system system /sys/class/leds/vibrator/state - chown system system /sys/class/leds/vibrator/rf_hz - chown system system /sys/class/leds/vibrator/lra_resistance - chown system system /sys/class/leds/vibrator/gain - chown system system /sys/class/leds/vibrator/vmax - chown system system /sys/class/leds/vibrator/index - chown system system /sys/class/leds/vibrator/activate_mode - chown system system /sys/class/leds/vibrator/seq - chown system audio /sys/class/leds/vibrator/rtp - chown system audio /sys/class/leds/vibrator/haptic_audio_tp_time - chown system system /sys/class/leds/vibrator/loop - chown system system /sys/class/leds/vibrator/ignore_store - chown system system /sys/class/leds/vibrator/osc_cali - chown system system /sys/class/leds/vibrator/haptic_osc_data - chown system system /sys/class/leds/vibrator/ram_test - chown system system /sys/class/leds/vibrator/ram_update - chown system system /sys/class/leds/vibrator/f0_cali_data -#ifdef VENDOR_EDIT -# /* 20200330 david shih */ - chown system system /sys/module/proc/parameters/dbg_buf -#endif - chown system system /sys/class/leds/vibrator/cali - chown system system /sys/module/lpm_levels/parameters/sleep_disabled - restorecon /sys/class/leds/vibrator/activate - restorecon /sys/class/leds/vibrator/brightness - restorecon /sys/class/leds/vibrator/duration - restorecon /sys/class/leds/vibrator/state -#change ownership and premission for awinic haptic shock with music - chown audioserver audioserver /dev/awinic_haptic - chown audioserver audioserver /sys/class/leds/vibrator/haptic_audio - chown audioserver audioserver /sys/class/leds/vibrator/gun_type - chown audioserver audioserver /sys/class/leds/vibrator/bullet_nr - chmod 777 /sys/class/leds/vibrator/gun_type - chmod 777 /sys/class/leds/vibrator/bullet_nr - chmod 777 /sys/class/leds/vibrator/register -# /* add for aging apk to set node */ - chown system system /sys/class/power_supply/battery/is_aging_test - chown system system /sys/class/power_supply/battery/dump_reg - -#add for tri_state_key - chown system system /sys/bus/platform/devices/soc/soc\:tri_state_key/hall_data_calib - chown system system /sys/bus/platform/devices/soc/soc\:tri_state_key/hall_set_value - -#add for tp firmware update - write /sys/devices/platform/soc/a94000.i2c/i2c-4/4-004b/tp_fw_update 0 - write /sys/devices/platform/soc/a94000.i2c/i2c-4/4-0048/tp_fw_update 0 - write /sys/devices/platform/soc/984000.i2c/i2c-4/4-005d/tp_fw_update 0 - write /sys/devices/platform/soc/984000.i2c/i2c-4/4-0048/tp_fw_update 0 - write /sys/devices/platform/soc/a94000.i2c/i2c-4/4-005d/tp_fw_update 0 - write /sys/devices/platform/soc/880000.i2c/i2c-0/0-0038/tp_fw_update 0 - write /sys/devices/platform/soc/880000.spi/spi_master/spi0/spi0.0/tp_fw_update 0 -#add for n200 - write /sys/devices/platform/soc/4a80000.spi/spi_master/spi0/spi0.0/tp_fw_update 0 - -#add for tp debug log & to set node gesture_enable - chown system system /proc/touchpanel/tp_debug_log - chown system system /proc/touchpanel/gesture_enable - chown system system /proc/touchpanel/gesture_switch - chown system system /proc/touchpanel/tpedge_limit_enable - chown system system /proc/touchpanel/tp_switch_dead_zone - chown system system /proc/touchpanel/tp_switch_corner_dead_l_zone - chown system system /proc/touchpanel/tp_switch_corner_dead_p_zone - chown system system /proc/touchpanel/touch_apk - chown system system /proc/touchpanel/get_device_temperature - chown system system /proc/touchpanel/get_ic_firmware_version -# /* add for wireless charge */ - chown system system /proc/wireless/enable_tx - chown system system /proc/wireless/enable_rx - chown system system /proc/wireless/epp_or_bpp - chown system system /proc/wireless/current_out - chown system system /proc/wireless/rx_voltage - chown system system /proc/wireless/charge_pump_en - chown system system /proc/wireless/deviated - chown system system /proc/wireless/quiet_mode - chown system system /proc/wireless/fast_skin_threld - - chown system system /proc/enhance_dash - -#gerry.ding@bsp, add for s2 reset config - chown system system /proc/s2_reset_config - chown system system /proc/pmicWd - -# rayboo.lin@bsp, 2020/09/09 add for simCard holder detect - chmod 0666 /proc/simholder/sim_holder_detect - chown system system /proc/simholder/sim_holder_detect - - -#uma.mahesh@Imaging 2020/4/8 add for factory item - chown system system /sys/class/leds/led:torch_0/brightness - chmod 666 /sys/class/leds/led:torch_0/brightness - chown system system /sys/class/leds/led:torch_1/brightness - chmod 666 /sys/class/leds/led:torch_1/brightness - chown system system /sys/class/leds/led:switch_0/brightness - chmod 666 /sys/class/leds/led:switch_0/brightness - chown system system /sys/class/leds/led:switch_1/brightness - chmod 666 /sys/class/leds/led:switch_1/brightness - chown system system /sys/class/leds/led:switch_2/brightness - chmod 666 /sys/class/leds/led:switch_2/brightness - chown system system /sys/class/leds/led:torch_2/brightness - chmod 666 /sys/class/leds/led:torch_2/brightness - chown system system /sys/class/leds/led:switch_3/brightness - chmod 666 /sys/class/leds/led:switch_3/brightness - mkdir /mnt/vendor/persist/camera 0777 system system -#add for laser - chown system system /dev/stmvl53l1_ranging - chmod 0666 /dev/stmvl53l1_ranging - start vl53l1_daemon_main -#add for ams-tof - chown system system /sys/kernel/tof_control/app0/capture - chmod 666 /sys/kernel/tof_control/app0/capture - chown system system /sys/kernel/tof_control/app0/app0_get_fac_calib - chmod 666 /sys/kernel/tof_control/app0/app0_get_fac_calib - chown system system /sys/kernel/tof_control/app0/app0_get_distance - chmod 666 /sys/kernel/tof_control/app0/app0_get_distance - chown system system /sys/kernel/tof_control/app0/app0_read_peak_crosstalk - chmod 666 /sys/kernel/tof_control/app0/app0_read_peak_crosstalk - chown system system /sys/kernel/tof_control/app0/period - chmod 666 /sys/kernel/tof_control/app0/period - chown system system /sys/kernel/tof_control/app0/iterations - chmod 666 /sys/kernel/tof_control/app0/iterations - chown system system /sys/kernel/tof_control/app0/alg_setting - chmod 666 /sys/kernel/tof_control/app0/alg_setting - chown system system /sys/kernel/tof_control/app0/app0_clk_iterations - chmod 666 /sys/kernel/tof_control/app0/app0_clk_iterations - chown system system /sys/kernel/tof_control/chip_enable - chmod 666 /sys/kernel/tof_control/chip_enable - chown system system /sys/kernel/tof_control/app0/app0_clk_trim_set - chmod 666 /sys/kernel/tof_control/app0/app0_clk_trim_set - chown system system /sys/kernel/tof_control/app0/app0_apply_fac_calib - chmod 666 /sys/kernel/tof_control/app0/app0_apply_fac_calib - chown system system /sys/kernel/tof_control/driver_debug - chmod 666 /sys/kernel/tof_control/driver_debug -#add for ois debug - chown system system /sys/kernel/ois_control/dump_registers - chmod 666 /sys/kernel/ois_control/dump_registers - - -# Power@bsp, 2020/2/27, add for thermal - chown system system /dev/msm_thermal - chown system system /dev/skin_thermal - chown system system /dev/modem_skin_thermal - chown system system /dev/mmw0_thermal - chown system system /dev/mmw1_thermal - chown system system /dev/mmw2_thermal - chmod 0664 /dev/msm_thermal - chmod 0664 /dev/skin_thermal - chmod 0664 /dev/modem_skin_thermal - chmod 0664 /dev/mmw0_thermal - chmod 0664 /dev/mmw1_thermal - chmod 0664 /dev/mmw2_thermal - -#ifdef VENDOR_EDIT -#if OP_FEATURE_MM_ADSP_MINIDUMP == 1 -# zhangrun@MM, 2020/09/12, implement to collect adsp minidump - chmod 664 /dev/ramdump_adsp -#endif - -#ifdef VENDOR_EDIT -# BSP add for display 2020/04/17 @Leo_BSP - chmod 0666 /sys/class/drm/card0-DSI-1/hbm - chmod 0666 /sys/class/drm/card0-DSI-1/hbm_brightness - chmod 0666 /sys/class/backlight/panel0-backlight/brightness -#endif -# display add 2018/10/19 @lichao_display - chmod 0666 /sys/class/drm/card0-DSI-1/SRGB - chmod 0666 /sys/class/drm/card0-DSI-1/DCI_P3 - chmod 0666 /sys/class/drm/card0-DSI-1/aod - chmod 0666 /sys/class/drm/card0-DSI-1/night_mode - chmod 0666 /sys/class/drm/card0-DSI-1/panel_serial_number - chmod 0666 /sys/class/drm/card0-DSI-1/cabc - chmod 0666 /sys/class/drm/card0-DSI-1/oplus_shutdownflag - chmod 0666 /sys/class/drm/card0-DSI-1/oneplus_mode - chmod 0666 /sys/class/drm/card0-DSI-1/adaption_mode - chmod 0666 /sys/class/drm/card0-DSI-1/notify_fppress - chmod 0666 /sys/class/drm/card0-DSI-1/dim_alpha - chmod 0666 /sys/class/drm/card0-DSI-1/notify_dim - chmod 0666 /sys/class/drm/card0-DSI-1/force_screenfp - chmod 0666 /sys/class/drm/card0-DSI-1/native_display_p3_mode - chmod 0666 /sys/class/drm/card0-DSI-1/native_display_wide_color_mode - chmod 0666 /sys/class/drm/card0-DSI-1/native_display_srgb_color_mode - chmod 0666 /sys/devices/platform/soc/soc:qcom,dsi-display-primary/dynamic_dsi_clock - chown radio radio /sys/devices/platform/soc/soc:qcom,dsi-display-primary/dynamic_dsi_clock - chown radio radio /proc/force_reset - chmod 0666 /sys/class/drm/card0-DSI-1/native_display_loading_effect_mode - chmod 0666 /sys/class/drm/card0-DSI-1/native_display_customer_srgb_mode - chmod 0666 /sys/class/drm/card0-DSI-1/native_display_customer_p3_mode - chmod 0666 /sys/class/drm/card0-DSI-1/dimlayer_bl_en - chmod 0666 /sys/class/drm/card0-DSI-1/dither_en - chmod 0666 /sys/class/drm/card0-DSI-1/oplus_msd_aod - - chmod 0666 /sys/class/drm/card0-DSI-1/osc_mode - chown radio radio /sys/class/drm/card0-DSI-1/osc_mode - -# ken.lin@ASTI, 2019/6/21, add for fsc - chown system system /sys/module/fsc/parameters/enable - chmod 0664 /sys/module/fsc/parameters/enable - -on boot -#ifdef VENDOR_EDIT - chmod 0666 /dev/goodix_fp - chmod 0660 /sys/devices/platform/soc/soc:fingerprint_detect/sensor_version - chown system system /sys/devices/platform/soc/soc:fingerprint_detect/sensor_version - chmod 0666 /proc/touchpanel/touch_hold - chown system system /proc/touchpanel/touch_hold - chmod 0664 sys/devices/platform/soc/soc:goodix_fp/screen_state - chown system system sys/devices/platform/soc/soc:goodix_fp/screen_state - chmod 0666 /dev/qseecom - - # access permission for egis - chown system system /dev/esfp0 - chmod 0666 /dev/esfp0 - # access permission for egis navigation - chmod 0666 /sys/devices/platform/egis_input/navigation_event - chmod 0666 /sys/devices/platform/egis_input/navigation_enable - chown system system /sys/devices/platform/egis_input/navigation_event - chown system system /sys/devices/platform/egis_input/navigation_enable -#endif - setprop ro.nfc.port "I2C" - chmod 0666 /dev/pn553 - chown nfc nfc /dev/pn553 - chmod 0666 /dev/p73 - chown secure_element secure_element /dev/p73 -#Leo@BSP 2020/04/17 add for qsee_log tz_log - chmod 0666 /proc/tzdbg/qsee_log - chmod 0666 /proc/tzdbg/log -#Norman@Connectivity 2020/04/24 add for default country code - setprop ro.boot.wificountrycode 00 - -#martin.li@BSP, 2019/12/03,support for EngineeringMode tool start - chown system system /proc/rf_cable_config - chown system system /proc/rf_factory_mode -#martin.li@BSP, 2019/12/03,support for EngineeringMode tool end -#ifdef VENDOR_EDIT -#Set TCP MTU probing to automatic - write /proc/sys/net/ipv4/tcp_mtu_probing 1 -#endif /*VENDOR_EDIT*/ - -#ifdef VENDOR_EDIT -#tempest.chen@BSP 2020/12/07 add for light sensor and ultrasound proximity - chmod 666 /dev/input/event1 - chmod 666 /dev/input/event2 - chmod 666 /dev/input/event8 - chmod 666 /dev/input/event10 -#endif /*VENDOR_EDIT*/ - -#ifdef VENDOR_EDIT -#niku.huang@SYSTEM, 2020/12/30, Add for enable round corner - setprop vendor.display.disable_rounded_corner 0 -#endif /*VENDOR_EDIT*/ - -on init - setprop vendor.boot.verifiedbootstate ${ro.boot.verifiedbootstate} - setprop vendor.boot.hw_version ${ro.boot.hw_version} - - #@bsp, 2019/08/22 Add dash charging - chown system system /dev/dash - chmod 0664 /dev/dash - #restorecon /dev/dash - chown system system /dev/wlchg - chmod 0664 /dev/wlchg - #restorecon /dev/wlchg - -on post-fs -#ifdef VENDOR_EDIT -#oscar.wei@SYSTEM, 2019/10/02, [AN-604] opdiagnose porting, create folder and binary file. - mkdir /mnt/vendor/persist/OPDiagnose 0770 system system - chmod 660 /mnt/vendor/persist/OPDiagnose/opdiagnosedata - chown system system /mnt/vendor/persist/OPDiagnose/opdiagnosedata -#endif - chmod 0664 /sys/module/qpnp_smb5/parameters/usb_connector_temp - chown system system /sys/module/qpnp_smb5/parameters/usb_connector_temp - chmod 0664 /sys/module/qpnp_smb5/parameters/disable_connector_protect - chown system system /sys/module/qpnp_smb5/parameters/disable_connector_protect - chmod 0664 /sys/module/qpnp_smb5/parameters/usb_interval_temp - chown system system /sys/module/qpnp_smb5/parameters/usb_interval_temp - chmod 0664 /sys/module/qpnp_smb5/parameters/call_on - chown radio radio /sys/module/qpnp_smb5/parameters/call_on - chmod 0666 /sys/module/qpnp_smb5/parameters/video_call_on - chown system system /sys/module/qpnp_smb5/parameters/video_call_on - chown system system /proc/skin_temp_thrd/fastchg_thd - chown system system /proc/skin_temp_thrd/fastchg_lcdoff_thd - chown system system /proc/skin_temp_thrd/norchg_thd - chown system system /proc/skin_temp_thrd/norchg_lcdoff_thd -#ifdef VENDOR_EDIT -#brandon.zeng@Conn,2020/05/08. add for nfc pnscr tool - chown system system /vendor/bin/nfc_trasmit_start.sh - chmod 0777 /vendor/bin/nfc_trasmit_start.sh - chown system system /vendor/bin/nfc_trasmit_stop.sh - chmod 0777 /vendor/bin/nfc_trasmit_stop.sh - chown system system vendor/bin/pnscr - chmod 0777 vendor/bin/pnscr -#endif - -#ifdef VENDOR_EDIT -# /* create a empty file for wifi hal to write mac address */ - mkdir /mnt/vendor/persist/qca6390 0770 wifi wifi - write /mnt/vendor/persist/qca6390/wlan_mac.bin "" - chown wifi wifi /mnt/vendor/persist/qca6390/wlan_mac.bin - copy /vendor/etc/wifi/qca6390/WCNSS_qcom_cfg.ini /mnt/vendor/persist/qca6390/WCNSS_qcom_cfg.ini - chown wifi wifi /mnt/vendor/persist/qca6390/WCNSS_qcom_cfg.ini -# /*create a empty file for wifi single point calibration*/ - mkdir /mnt/vendor/persist/copy 0770 wifi wifi -# /* create a empty file for wifi hal to write qca6490 mac address */ - write /mnt/vendor/persist/wlan_mac.bin "" - chown wifi wifi /mnt/vendor/persist/wlan_mac.bin -# /* Implement the function of forced Chain0/1 insmod WCNSS_qcom_cfg.ini */ - copy /vendor/etc/wifi/WCNSS_qcom_cfg.ini /mnt/vendor/persist/WCNSS_qcom_cfg.ini - chown wifi wifi /mnt/vendor/persist/WCNSS_qcom_cfg.ini -#endif - -#ifdef VENDOR_EDIT -#henry.cao@system, add for engineermode - mkdir /mnt/vendor/persist/engineermode 0777 system system -#endif - chown system system /proc/ship_mode - chown system system /dev/param - -#ifdef VENDOR_EDIT -#create path for NV items - -#ifdef VENDOR_EDIT -#ken.chenxm@SYSTEM, 2019/10/10, add for [OSP-3172] charging optimizated - chown system system /sys/class/power_supply/battery/op_disable_charge - chmod 660 /sys/class/power_supply/battery/op_disable_charge - chown system system /sys/class/power_supply/bms/battery_h - chmod 660 /sys/class/power_supply/bms/battery_h -#brian@BSP, 2021/3/4, add for [IKR-43692] charging optimizated - chown system system /sys/class/power_supply/bms/full_available_capacity - chmod 660 /sys/class/power_supply/bms/full_available_capacity - chown system system /sys/class/power_supply/bms/full_charge_capacity_filtered - chmod 660 /sys/class/power_supply/bms/full_charge_capacity_filtered -#endif -#ifdef VENDOR_EDIT -#randle.liu@optimization, 2020/04/24, [OSP-6116] avoid waking up when wireless charging disconnects - chown system system /sys/class/power_supply/wireless/icon_delay - chmod 660 /sys/class/power_supply/wireless/icon_delay -#endif -#jay.fa@OPTI, 2020/08/12, add for [OPTI-42] hypnus - chown root system /sys/class/thermal/cooling_device0/cur_state - chown root system /sys/class/thermal/cooling_device1/cur_state - chown root system /sys/class/thermal/cooling_device2/cur_state - chown root system /sys/class/kgsl/kgsl-3d0/max_pwrlevel - chown root system /sys/class/kgsl/kgsl-3d0/min_pwrlevel - chown root system /sys/class/thermal/cooling_device14/cur_state - chmod 660 /sys/class/thermal/cooling_device0/cur_state - chmod 660 /sys/class/thermal/cooling_device1/cur_state - chmod 660 /sys/class/thermal/cooling_device2/cur_state - chmod 660 /sys/class/kgsl/kgsl-3d0/max_pwrlevel - chmod 660 /sys/class/kgsl/kgsl-3d0/min_pwrlevel - chmod 660 /sys/class/thermal/cooling_device14/cur_state - -on post-fs-data - mkdir /data/vendor/oemnvitems 0771 radio radio - #brandon.zeng@Conn,2020/08/11. move data path to post-fs-data - mkdir /data/vendor/nfc 0770 nfc nfc - # Ted.Lin@ASTI 2019/06/12 add for CONFIG_HOUSTON - chown system system /sys/module/houston/parameters/fps_boost - chown system system /sys/module/houston/parameters/fps_data_sync - chown system system /sys/module/houston/parameters/perf_ready - chown system system /sys/module/houston/parameters/ais_enable - chown system system /sys/module/houston/parameters/sample_rate_ms - chown system system /sys/module/houston/parameters/ht_enable - chown system system /sys/module/houston/parameters/fps_boost_enable - chown system system /sys/module/houston/parameters/fps_boost_strategy - chown system system /sys/module/houston/parameters/tb_ctl - chown system system /sys/module/houston/parameters/tb_enable - chown system system /sys/module/houston/parameters/reset - chown system system /sys/module/houston/parameters/hwui_boost_enable - chown system system /sys/module/houston/parameters/fuse_boost - chown system system /dev/ht_ctl - chown system system /sys/module/pccore/parameters/params - chown system system /sys/module/tpd/parameters/tpd_enable - chown system system /sys/module/tpd/parameters/tpd_cmds - chown system system /sys/module/tpd/parameters/tpd_id - chown system system /sys/module/tpd/parameters/tpd_dynamic - chown system system /sys/module/fuse/parameters/shortcircuit - chown system system /sys/module/fuse/parameters/sct_mode - # Jacky.Ho@OPTI 2020/09/23 add for [OSP-8617] - chown system system /sys/module/houston/parameters/game_fps_pid - chown system system /sys/module/houston/parameters/game_info - # fps stabilizer - chown system system /sys/module/houston/parameters/efps_max - chown system system /sys/module/houston/parameters/fps_boost_strategy - chown system system /sys/module/houston/parameters/egl_buf - chown system system /sys/module/houston/parameters/ht_online_config_update - - # rock.lin@OPTI [OPTI-191] for power consumption - chown system system /sys/module/cpufreq_bouncing/parameters/enable - chown system system /sys/module/cpufreq_bouncing/parameters/config - - # Jacky.Ho@OPTI 2020/09/30 add for [OPTI-85] - chown system system /sys/module/tpp/parameters/tpp_on - chown system system /sys/module/tpp/parameters/strategy - -# Ted.Lin@ASTI 2019/06/12 add for CONFIG_CONTROL_CENTER - chown system system /dev/cc_ctl - chown system system /proc/cc_ctl - -#endif /* VENDOR_EDIT */ - -# rock.lin@OPTI 2020/06/11 add for CONFIG_RATP - chown system system /sys/module/ratp/parameters/ratp_enable - -#ifdef VENDOR_EDIT -# TomCheng@Core ,2020/06/22, HDCP provision key feature - mkdir /mnt/vendor/persist/hdcp/media_dump 0770 mediaex mediadrm - mkdir /mnt/vendor/persist/hdcp 775 media mediadrm - restorecon /mnt/vendor/persist/hdcp -#endif - -# ifdef VENDOR_EDIT -# denzel.chen@performance, 2020/05/12, add for OPBRITN-3462 - chmod 664 /sys/module/memplus_core/parameters/memory_plus_wake_memex - chown system system /sys/module/memplus_core/parameters/memory_plus_wake_memex -# endif - - # neil.sun@Connectivity, 2020/08/12, add for wifi minidump - mkdir /data/vendor/ramdump/wifi 0770 system system - -#if OP_FEATURE_MM_ADSP_MINIDUMP == 1 -# zhangrun@MM, 2020/09/12, implement to collect adsp minidump - mkdir /data/vendor/ramdump/adsp 0770 system system -# endif - - # kimmy.yang@NETWORK, 20201223, add for SM8350 (SoC) - mkdir /data/vendor/ramdump/modem 0770 system system - -#ifdef VENDOR_EDIT online ISP tuning - mkdir /data/vendor/camera_update 0777 camera camera - write /data/vendor/camera_update/reservetuningbin0 "" - write /data/vendor/camera_update/reservetuningbin1 "" - write /data/vendor/camera_update/reservetuningbin2 "" - write /data/vendor/camera_update/reservetuningbin3 "" - write /data/vendor/camera_update/reservetuningbin4 "" - write /data/vendor/camera_update/reservetuningbin5 "" - write /data/vendor/camera_update/reservetuningbin6 "" - - chmod 0666 /data/vendor/camera_update/reservetuningbin0 - chmod 0666 /data/vendor/camera_update/reservetuningbin1 - chmod 0666 /data/vendor/camera_update/reservetuningbin2 - chmod 0666 /data/vendor/camera_update/reservetuningbin3 - chmod 0666 /data/vendor/camera_update/reservetuningbin4 - chmod 0666 /data/vendor/camera_update/reservetuningbin5 - chmod 0666 /data/vendor/camera_update/reservetuningbin6 -#endif - -# for battery charging off is call_state_change -# jinguozhi@wt.network,20210207,add for battery charging off is call_state_change -on property:persist.sys.chgdisabled=1 - write /sys/class/power_supply/battery/call_mode 1 -on property:persist.sys.chgdisabled=0 - write /sys/class/power_supply/battery/call_mode 0 - -# add for SMT test enters WLAN FTM test in non-signaling -service wififtmserver /vendor/bin/sh vendor/bin/wifi_ftm - class late_start - user root - group root - disabled - oneshot - -# ted.lin@OPTU [OPTI-191] add for qcom boost config -on property:vendor.post_boot.parsed=1 - chown system system /sys/devices/system/cpu/cpu0/cpufreq/schedutil/target_loads - chown system system /sys/devices/system/cpu/cpu4/cpufreq/schedutil/target_loads - chown system system /sys/devices/system/cpu/cpu7/cpufreq/schedutil/target_loads - chown system system /sys/devices/system/cpu/cpu7/core_ctl/busy_up_thres - chown system system /sys/devices/system/cpu/cpu7/core_ctl/busy_down_thres - -on property:vendor.wlan.ftm.up=1 - start wififtmserver - -on property:persist.vendor.oem.wifi.chain=1 - copy /vendor/etc/wifi/WCNSS_qcom_cfg_setchain.ini /mnt/vendor/persist/qca6390/WCNSS_qcom_cfg.ini - copy /vendor/etc/wifi/WCNSS_qcom_cfg_setchain.ini /mnt/vendor/persist/WCNSS_qcom_cfg.ini - start service_setChain -on property:persist.vendor.oem.wifi.chain=2 - copy /vendor/etc/wifi/WCNSS_qcom_cfg_setchain.ini /mnt/vendor/persist/qca6390/WCNSS_qcom_cfg.ini - copy /vendor/etc/wifi/WCNSS_qcom_cfg_setchain.ini /mnt/vendor/persist/WCNSS_qcom_cfg.ini - start service_setChain -on property:persist.vendor.oem.wifi.chain=0 - copy /vendor/etc/wifi/qca6390/WCNSS_qcom_cfg.ini /mnt/vendor/persist/qca6390/WCNSS_qcom_cfg.ini - copy /vendor/etc/wifi/WCNSS_qcom_cfg.ini /mnt/vendor/persist/WCNSS_qcom_cfg.ini - start service_setChain -on property:persist.vendor.oem.wifi.chain=3 - copy /vendor/etc/wifi/WCNSS_qcom_cfg_roam.ini /mnt/vendor/persist/qca6390/WCNSS_qcom_cfg.ini - copy /vendor/etc/wifi/WCNSS_qcom_cfg_roam.ini /mnt/vendor/persist/WCNSS_qcom_cfg.ini -service service_setChain /vendor/bin/sh /vendor/bin/wifi_setChain ${persist.vendor.oem.wifi.chain} - class main - user root - group root system - disabled - oneshot - -on property:persist.vendor.oem.wifi.txenable=1 - start service_wifi_txEnable - -service service_wifi_txEnable /vendor/bin/sh /vendor/bin/wifi_txEnable - class main - user root - group root system - disabled - oneshot - -on init - mkdir /dev/op_cgroup 0750 root system - mount tmpfs none /dev/op_cgroup mode=0750,uid=0,gid=1000 - mkdir /dev/op_cgroup/freezer 0750 root system - mount cgroup none /dev/op_cgroup/freezer freezer - chmod 777 /dev/op_cgroup/freezer -#ifdef VENDOR_EDIT - setprop persist.vendor.mdm_helper.fail_action cold_reset,s3_reset,panic -#endif - -# alex.huang@Connectivity, 2020/04/29, Porting *#8019# function -#ifdef VENDOR_EDIT -service wifisocket-mdm /system_ext/bin/diag_system_socket_log -a 181.157.1.200 -p 2500 -r 10000 -c 2 - user root - group root system oem_2901 - disabled - oneshot - seclabel u:r:logserver:s0 - -service wifisocket-mdm-stop /system_ext/bin/diag_system_socket_log -k - user root - group root system oem_2901 - disabled - oneshot - seclabel u:r:logserver:s0 - -service oemsysd /vendor/bin/oem-system-daemon - class main - user root - group root system oem_2901 - disabled - seclabel u:r:ftmdaemon:s0 - -on property:vendor.service.wifi.socket.mdm.enable=1 - start oemsysd - start wifisocket-mdm - -on property:vendor.service.wifi.socket.mdm.enable=0 - stop oemsysd - start wifisocket-mdm-stop - -service wifisocket /vendor/bin/diag_socket_log -a 181.157.1.200 -p 2500 -r 10000 -c 1 - user root - group root system oem_2901 - disabled - oneshot - -service wifisocket-stop /vendor/bin/diag_socket_log -k - user root - group root system oem_2901 - disabled - oneshot - -on property:vendor.service.wifi.socket.enable=1 - start oemsysd - -on property:vendor.service.wifi.socket.enable=0 - stop oemsysd - -service wifisocket-lahaina /vendor/bin/diag_socket_log -a 181.157.1.200 -p 2500 -r 10000 -c 1 - user root - group root system oem_2901 - disabled - oneshot - -service wifisocket-lahaina-stop /vendor/bin/diag_socket_log -k - user root - group root system oem_2901 - disabled - oneshot - -on property:vendor.service.wifi.socket.lahaina.enable=0 - stop oemsysd - -on property:vendor.service.wifi.socket.lahaina.enable=1 - start oemsysd - -service wifisocket-nord /system_ext/bin/diag_system_socket_log -a 181.157.1.200 -p 2500 -r 10000 -c 1 - user root - group root system oem_2901 - disabled - oneshot - seclabel u:r:logserver:s0 - -service wifisocket-nord-stop /system_ext/bin/diag_system_socket_log -k - user root - group root system oem_2901 - disabled - oneshot - seclabel u:r:logserver:s0 - -on property:vendor.service.wifi.socket.nord.enable=1 - start oemsysd - start wifisocket-nord - -on property:vendor.service.wifi.socket.nord.enable=0 - stop oemsysd - start wifisocket-nord-stop -#endif - -service ftmdaemon /system/vendor/bin/ftmdaemon -n - class late_start - user root - group wifi root system oem_2901 - disabled - oneshot - seclabel u:r:ftmdaemon:s0 - -service wifi_ftm_up /vendor/bin/sh /vendor/bin/wifi_ftm_up - class late_start - user root - group root - disabled - oneshot - -service reload_wlan_driver /vendor/bin/sh /vendor/bin/reload_wlan_driver - class late_start - user root - group root - disabled - oneshot -#ifdef VENDOR_EDIT -#yuquan.fei@Connectivity, 2020/05/06, porting wlan logs functions -service stop_pktlog /system/vendor/bin/stoppktlog - class main - user system - group system wifi inet net_admin sdcard_rw media_rw diag - disabled - oneshot -#endif - -# denzel.chen@performance, 2020/05/12, add for OPBRITN-3462 -# system server cannot write to /proc/sys files, -# and chown/chmod does not work for /proc/sys/ entries. -# So proxy writes through init. -on property:sys.sysctl.watermark_boost_factor=* - write /proc/sys/vm/watermark_boost_factor ${sys.sysctl.watermark_boost_factor} - -#ifdef VENDOR_EDIT -on property:vendor.wlan.ftm.daemon=on - start wifi_ftm_up - start ftmdaemon - -on property:vendor.wlan.ftm.daemon=off - stop ftmdaemon - start reload_wlan_driver - -on property:vendor.wlan.write.con_mode=* - write /sys/module/wlan/parameters/con_mode ${vendor.wlan.write.con_mode} - -#ifdef VENDOR_EDIT -#binson.xu@oneplus.com, 2019/02/17, add for write alikey -service mvalikey /system/bin/cp -rp /sdcard/.lii /mnt/vendor/op2/ - class core - user root - group root - disabled - oneshot - seclabel u:r:vold:s0 - -service rmalikey /system/bin/rm -r /mnt/vendor/op2/.lii - class core - user root - group root - disabled - oneshot - seclabel u:r:vold:s0 - -service chownalikey /system/bin/chown -R system.system /mnt/vendor/op2/.lii - class core - user root - group root - disabled - oneshot - seclabel u:r:vold:s0 - -#len.nie@bsp, 2020/11/04. add for dump fingerprint data -on property:gf.debug.dump_path=* - mkdir /sdcard/Android/data/gf_file 0755 system ext_data_rw - -#endif - -# ken.lin@ASTI, 2019/6/21, add for memplus -service memplus_config /vendor/bin/sh /vendor/etc/vendor.memplus.sh - user root - disabled - oneshot - seclabel u:r:vendor_qti_init_shell:s0 - -on property:persist.vendor.memplus.enable=* - start memplus_config - -on property:persist.sys.memplus.swappiness=* - write /proc/sys/vm/swappiness ${persist.sys.memplus.swappiness} -on property:persist.sys.memplus.direct_swappiness=* - write /proc/sys/vm/direct_swappiness ${persist.sys.memplus.direct_swappiness} - -#ifdef VENDOR_EDIT -#brandon.zeng@Conn,2020/05/08. add for nfc pnscr tool -service nfctransmitstart /vendor/bin/sh /vendor/bin/nfc_trasmit_start.sh - class late_start - user nfc - group nfc - disabled - oneshot - -service nfctransmitstop /vendor/bin/sh /vendor/bin/nfc_trasmit_stop.sh - class late_start - user nfc - group nfc - disabled - oneshot - -on property:vendor.nfc.transmit.start=1 - start nfctransmitstart - -on property:vendor.nfc.transmit.start=0 - stop nfctransmitstart - -on property:vendor.nfc.transmit.stop=1 - start nfctransmitstop - -on property:vendor.nfc.transmit.stop=0 - stop nfctransmitstop -#endif - -#ifdef VENDOR_EDIT -on property:sys.usb.config=diag,adb && property:sys.usb.configfs=1 - start wifitestdiag - -service wifitestdiag /vendor/bin/wifi_diag - class main - user root - group root system oem_2901 - disabled - seclabel u:r:ftmdaemon:s0 -#endif - -#ifdef VENDOR_EDIT -service vl53l1_daemon_main /vendor/bin/vl53l1_daemon_main - class late_start - user system - group system - socket vl53l1_daemon stream 660 system system -#endif - -#oscar.wei@SYSTEM, 2019/10/02, [AN-604] opdiagnose porting : create opdiagnose service -service opdiagnose /system_ext/bin/OPDiagnoseservice - class core - user root - group system - -service opdiagdatacopy /system_ext/bin/OPDiagdataCopy - class core - user root - group system everybody - oneshot - disabled - -on property:vendor.copy.opdiagnose.data=1 - start opdiagdatacopy - -service copy_qxdm_log /system_ext/bin/OPDiagdataCopy -q ${copy.qxdm.log} - class core - user root - group system everybody - oneshot - disabled -#endif - -#ifdef VENDOR_EDIT -#kim@bsp 2019/10/25 add to fix apsd wrong issue when boot with dash connected -on property:sys.boot_completed=1 - write /sys/module/smb5_lib/parameters/sys_boot_complete 1 -#@bsp Add OTG switch -on property:persist.sys.oem.otg_support=true - write /sys/class/power_supply/usb/otg_switch 1 - write /sys/class/oplus_chg/usb/otg_switch 1 -on property:persist.sys.oem.otg_support=false - write /sys/class/power_supply/usb/otg_switch 0 - write /sys/class/oplus_chg/usb/otg_switch 0 -#endif - -#ifdef VENDOR_EDIT -on property:persist.vendor.oem.wechat_cameraon=1 - write /sys/class/oplus_chg/common/camera_on 1 -on property:persist.vendor.oem.wechat_cameraon=0 - write /sys/class/oplus_chg/common/camera_on 0 -#endif - -on property:vendor.sys.op.game=1 - write /proc/sys/kernel/sched_skip_affinity 1 - -on property:vendor.sys.op.game=0 - write /proc/sys/kernel/sched_skip_affinity 0 - -#ifdef VENDOR_EDIT -on property:vendor.wlan.sniffer.enabled=1 - start launch_sniffer - setprop vendor.wlan.sniffer.status 1 - -on property:vendor.wlan.sniffer.enabled=0 - stop launch_sniffer - start terminate_sniffer - -service launch_sniffer /vendor/bin/sh /vendor/bin/launch_sniffer.sh ${vendor.wlan.sniffer.iface} ${vendor.wlan.sniffer.channel} ${vendor.wlan.sniffer.bandwidth} - class main - user root - group root - disabled - oneshot - -service terminate_sniffer /vendor/bin/sh /vendor/bin/terminate_sniffer.sh - class main - user root - group root - disabled - oneshot - -#v-krishna.rao@Connectivity, 2020/12/21 , servce to set iwpriv contention for btwifi coex debugging -on property:persist.vendor.oem.btwificoex.debug=1 - start startiwprivcontention - -on property:persist.vendor.oem.btwificoex.debug=0 - start stopiwprivcontention - -on property:wlan.driver.status=ok && property:persist.vendor.oem.btwificoex.debug=1 - start startiwprivcontention - -service startiwprivcontention /vendor/bin/sh /vendor/bin/startcontention.sh 1 - class main - user root - group root - disabled - oneshot - -service stopiwprivcontention /vendor/bin/sh /vendor/bin/startcontention.sh 0 - class main - user root - group root - disabled - oneshot - -#endif - -#ifdef VENDOR_EDIT -# TomCheng@Core ,2020/06/22, HDCP provision key feature -service mvhdcpkey /system/bin/mv /sdcard/hdcpkey /mnt/vendor/op2/hdcpkey - class core - user root - group root - disabled - oneshot - seclabel u:r:vold:s0 - -service rmhdcpkey /system/bin/rm /mnt/vendor/op2/hdcpkey - class core - user root - group root - disabled - oneshot - seclabel u:r:vold:s0 - -service chmodhdcpkey /system/bin/chmod 777 /mnt/vendor/op2/hdcpkey - class core - user root - group root - disabled - oneshot - seclabel u:r:vold:s0 - -service dphdcp2p2prov /vendor/bin/hdcp2p2prov /mnt/vendor/op2/dphdcp2key /mnt/vendor/op2/DPS_hdcp2 - class core - setenv LD_LIBRARY_PATH /vendor/lib64 - user root - group root - disabled - oneshot - seclabel u:r:vendor_init:s0 - -service verifydphdcp2p2prov /vendor/bin/hdcp2p2prov -verify - class core - setenv LD_LIBRARY_PATH /vendor/lib64 - user root - group root - disabled - oneshot - seclabel u:r:vendor_init:s0 - -service mvdphdcp2key /system/bin/mv /sdcard/dphdcp2key /mnt/vendor/op2/dphdcp2key - class core - user root - group root - disabled - oneshot - seclabel u:r:vold:s0 - -service rmdphdcp2key /system/bin/rm /mnt/vendor/op2/dphdcp2key - class core - user root - group root - disabled - oneshot - seclabel u:r:vold:s0 - -service mvdpshdcp2 /system/bin/mv /sdcard/DPS_hdcp2 /mnt/vendor/op2/DPS_hdcp2 - class core - user root - group root - disabled - oneshot - seclabel u:r:vold:s0 - -service rmdpshdcp2 /system/bin/rm /mnt/vendor/op2/DPS_hdcp2 - class core - user root - group root - disabled - oneshot - seclabel u:r:vold:s0 -#endif - -on property:vendor.sys.op.disable_ufstw=1 - write /sys/devices/platform/soc/1d84000.ufshc/ufstw_lu0/tw_enable 0 - -on property:vendor.sys.op.disable_ufstw=0 - write /sys/devices/platform/soc/1d84000.ufshc/ufstw_lu0/tw_enable 1 - -service filebuilderd /system_ext/bin/filebuilderd - class core - user root - group root system - disabled - oneshot - seclabel u:r:vold:s0 - -on property:sys.boot_completed=1 && property:persist.sys.ufs_hpb_disable=1 - write /sys/devices/platform/soc/1d84000.ufshc/ufshpb_lu0/release 171 - -on property:sys.boot_completed=1 - write /sys/devices/platform/soc/1d84000.ufshc/ufstw_lu0/tw_enable 1 - write /sys/devices/platform/soc/1d84000.ufshc/ufstw_lu0/flush_enable 1 - write /sys/devices/platform/soc/1d84000.ufshc/ufstw_lu0/flush_during_hibern_enter 1 - -# ifdef VENDOR_EDIT -# narci.gu@SYSTEM, 2018/7/23, [AN-709] Add for keymaster key -service KmInstallKeybox19805 /vendor/bin/KmInstallKeybox /mnt/vendor/op2/.lii/keyboxes_ciphered.xml OnePlus8T_Key_Attest_0 true - class core - setenv LD_LIBRARY_PATH /vendor/lib64/hw - user system - group root - disabled - oneshot - seclabel u:r:keybox_oem:s0 - -service KmInstallKeybox20809 /vendor/bin/KmInstallKeybox /mnt/vendor/op2/.lii/keyboxes_ciphered.xml OnePlus8TTMO_Key_Attest_0 true - class core - setenv LD_LIBRARY_PATH /vendor/lib64/hw - user system - group root - disabled - oneshot - seclabel u:r:keybox_oem:s0 - -# ifdef VENDOR_EDIT -# yanamadala.ragini@SYSTEM, 2018/7/23, [AVICII-2558] Add for keymaster key -service KmInstallKeybox20801 /vendor/bin/KmInstallKeybox /mnt/vendor/op2/.lii/keyboxes_ciphered.xml Nord_Key_Attest_00 true - class core - setenv LD_LIBRARY_PATH /vendor/lib64/hw - user system - group root - disabled - oneshot - seclabel u:r:keybox_oem:s0 - -# yanamadala.ragini@SYSTEM, 2020/11/30, [AN-977] Add for keymaster key -service KmInstallKeybox20828 /vendor/bin/KmInstallKeybox /mnt/vendor/op2/.lii/keyboxes_ciphered.xml OnePlus9R_Key_Attest_0 true - class core - setenv LD_LIBRARY_PATH /vendor/lib64/hw - user system - group root - disabled - oneshot - seclabel u:r:keybox_oem:s0 -# endif - -# v-huanouyang@SYSTEM, 2020/10/22 [TFS-20170] Update Google key box for check on Lemonadev -service KmInstallKeyboxLemonadev /vendor/bin/KmInstallKeybox /mnt/vendor/op2/.lii/keyboxes_ciphered.xml OnePlus9VZW_Key_Attest_0 true - class core - setenv LD_LIBRARY_PATH /vendor/lib64/hw - user system - group root - disabled - oneshot - seclabel u:r:keybox_oem:s0 - -# v-huanouyang@SYSTEM, 2020/10/22 [TFS-20170] Update Google key box for check on Lemonadet -service KmInstallKeyboxLemonadet /vendor/bin/KmInstallKeybox /mnt/vendor/op2/.lii/keyboxes_ciphered.xml OnePlus9TMO_Key_Attest_0 true - class core - setenv LD_LIBRARY_PATH /vendor/lib64/hw - user system - group root - disabled - oneshot - seclabel u:r:keybox_oem:s0 - -# v-huanouyang@SYSTEM, 2020/10/22 [TFS-20170] Update Google key box for check on Lemonade -service KmInstallKeyboxLemonade /vendor/bin/KmInstallKeybox /mnt/vendor/op2/.lii/keyboxes_ciphered.xml OnePlus9_Key_Attest_0 true - class core - setenv LD_LIBRARY_PATH /vendor/lib64/hw - user system - group root - disabled - oneshot - seclabel u:r:keybox_oem:s0 - -# v-huanouyang@SYSTEM, 2020/10/22 [TFS-20170] Update Google key box for check on Lemonadep -service KmInstallKeyboxLemonadep /vendor/bin/KmInstallKeybox /mnt/vendor/op2/.lii/keyboxes_ciphered.xml OnePlus9Pro_Key_Attest_0 true - class core - setenv LD_LIBRARY_PATH /vendor/lib64/hw - user system - group root - disabled - oneshot - seclabel u:r:keybox_oem:s0 - -# v-huanouyang@SYSTEM, 2020/10/22 [TFS-20170] Update Google key box for check on Lemonadept -service KmInstallKeyboxLemonadept /vendor/bin/KmInstallKeybox /mnt/vendor/op2/.lii/keyboxes_ciphered.xml OnePlus9ProTMO_Key_Attest_0 true - class core - setenv LD_LIBRARY_PATH /vendor/lib64/hw - user system - group root - disabled - oneshot - seclabel u:r:keybox_oem:s0 - -# braden.liu@SYSTEM, 2021/01/05 Update Google key box for check on Dre -service KmInstallKeyboxDre8t /vendor/bin/KmInstallKeybox /mnt/vendor/op2/.lii/keyboxes_ciphered.xml OnePlusN200TMO_Key_Attest_0 true - class core - setenv LD_LIBRARY_PATH /vendor/lib64/hw - user system - group root - disabled - oneshot - seclabel u:r:keybox_oem:s0 - -# braden.liu@SYSTEM, 2021/01/05 Update Google key box for check on Dre -service KmInstallKeyboxDre8m /vendor/bin/KmInstallKeybox /mnt/vendor/op2/.lii/keyboxes_ciphered.xml OnePlusN200METRO_Key_Attest_0 true - class core - setenv LD_LIBRARY_PATH /vendor/lib64/hw - user system - group root - disabled - oneshot - seclabel u:r:keybox_oem:s0 - -# braden.liu@SYSTEM, 2021/01/05 Update Google key box for check on Dre -service KmInstallKeyboxDre9 /vendor/bin/KmInstallKeybox /mnt/vendor/op2/.lii/keyboxes_ciphered.xml OnePlusN200_Key_Attest_0 true - class core - setenv LD_LIBRARY_PATH /vendor/lib64/hw - user system - group root - disabled - oneshot - seclabel u:r:keybox_oem:s0 - -# dongbin@WT_ODM_SYSTEM, 2021/01/27 Update Google key box for check on ebba -service KmInstallKeybox20813 /vendor/bin/KmInstallKeybox /mnt/vendor/op2/.lii/keyboxes_ciphered.xml OnePlusNordCE_Key_Attest_00 true - class core - setenv LD_LIBRARY_PATH /vendor/lib64/hw - user system - group root - disabled - oneshot - seclabel u:r:keybox_oem:s0 - -service keyboxxml /system/bin/mv /sdcard/.lii /mnt/vendor/op2/ - class core - user root - group root - disabled - oneshot - seclabel u:r:vold:s0 - -service rmkeyboxxml /system/bin/rm -rf /mnt/vendor/op2/.lii - class core - user root - group root - disabled - oneshot - seclabel u:r:vold:s0 - -service chmodkeyboxxmldir /system/bin/chmod 777 -R /mnt/vendor/op2/.lii - class core - user root - group root - disabled - oneshot - seclabel u:r:vold:s0 -# endif - -#alden.zhang@OPTI, 2020/7/18. [OSP-8064], add for IOLIMIT -on property:persist.sys.iolimiter.enable=true - write /proc/iolimit_enable 1 - write /sys/module/oneplus_healthinfo/parameters/ohm_action_ctrl Y - chown system system /sys/module/oneplus_healthinfo - chown system system /sys/module/oneplus_healthinfo/parameters - chown system system /sys/module/oneplus_healthinfo/parameters/ohm_iowait_h_ms - chown system system /sys/module/oneplus_healthinfo/parameters/ohm_iowait_l_ms - chown system system /sys/module/oneplus_healthinfo/parameters/ohm_read_thresh - chown system system /sys/module/oneplus_healthinfo/parameters/ohm_write_thresh - chown system system /sys/module/oneplus_healthinfo/parameters/ohm_sample_time - chown system system /sys/module/oneplus_healthinfo/parameters/ohm_action_ctrl - chown system system /proc/iolimit_enable - -#huangwen.chen#OPTI, 2020/9/16, [OPTI-43], add for zram writeback -on property:persist.vendor.oem.dump=0 - setprop persist.vendor.zwriteback.backup 0 - -on property:persist.vendor.oem.dump=1 - setprop persist.vendor.zwriteback.backup 1 - -#ifdef ODM_WT_EDIT Kai.Cao@ODM_WT.NW.SIM,BILLIE8-6704, 2020/07/13,Support single and dual card solutions -on property:ro.boot.rf_version=0 && property:ro.boot.project_codename=billie8 - setprop persist.radio.multisim.config "ssss" -on property:ro.boot.rf_version=0 && property:ro.boot.project_codename=billie8t - setprop persist.radio.multisim.config "ssss" -#endif diff --git a/rootdir/etc/init.oem_ftm.rc b/rootdir/etc/init.oem_ftm.rc deleted file mode 100644 index 0e76a4b..0000000 --- a/rootdir/etc/init.oem_ftm.rc +++ /dev/null @@ -1,5 +0,0 @@ -#factory load rc - -import /vendor/etc/init/hw/vendor.oem_ftm_svc_disable.rc -import /system/etc/init/hw/init.rc -import /vendor/etc/init/hw/vendor.oem_ftm.rc diff --git a/rootdir/etc/init.oem_rf.rc b/rootdir/etc/init.oem_rf.rc deleted file mode 100644 index 681b11f..0000000 --- a/rootdir/etc/init.oem_rf.rc +++ /dev/null @@ -1,11 +0,0 @@ -#add for SMT test enters WLAN FTM test in non-signaling -service wififtmserver /vendor/bin/sh vendor/bin/wifi_ftm - class late_start - user root - group root - disabled - oneshot - -on property:vendor.wlan.ftm.up=1 - start wififtmserver - diff --git a/rootdir/etc/init.qcom.factory.rc b/rootdir/etc/init.qcom.factory.rc deleted file mode 100644 index 1edaa99..0000000 --- a/rootdir/etc/init.qcom.factory.rc +++ /dev/null @@ -1,258 +0,0 @@ -# -# Copyright (c) 2009-2016, The Linux Foundation. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of The Linux Foundation nor -# the names of its contributors may be used to endorse or promote -# products derived from this software without specific prior written -# permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# - -# Define fastmmi -service fastmmi /system_ext/bin/mmi - user root - group root - disabled - -service vendor.mmid /vendor/bin/mmid - user root - group root - disabled - -service mmi_diag /system_ext/bin/mmi_diag - class main - user root - group root oem_2901 - disabled - -on property:vendor.sys.boot_mode=ffbm - write ${persist.vendor.mmi.misc_dev_path} "ffbm-01" - -on property:vendor.sys.boot_mode=qmmi - write ${persist.vendor.mmi.misc_dev_path} "qmmi" - -on property:vendor.sys.boot_mode=normal - write ${persist.vendor.mmi.misc_dev_path} "normal" - -# Creating a scratch storage on /data for factory testing. -on factory-fs && property:ro.bootmode=ffbm-00 - mount tmpfs tmpfs /data - -on factory-fs && property:ro.bootmode=ffbm-01 - mount tmpfs tmpfs /data - -# aligned the usb port with system standard, otherwise if only diag be added -# Then in QMMI mode, the whole Andoid be booted, but due to the ro.bootmode is -# not normal/unknow, then when it apply the default funcs, it will turn to MTP -# which cause the diag/Wwan/modem port all be lost in qmmi mode. Details: -# UsbDeviceManager.java---->getDefaultFunctions and trySetEnabledFunctions -on property:persist.vendor.usb.config=* - setprop persist.sys.usb.qmmi.func ${persist.vendor.usb.config} - -on mmi && property:ro.bootmode=ffbm-00 - # ======================================================== - # This is FFBM only settings. - # ======================================================== - #mkdir for factory data files. - mkdir /mnt/vendor/persist/FTM_AP 0750 system system - - start fastmmi - # start qcom-post-boot to set the misc partition path property value - start qcom-post-boot - start mmi_diag - -on mmi && property:ro.bootmode=ffbm-01 - # ======================================================== - # This is FFBM only settings. - # ======================================================== - #mkdir for factory data files. - mkdir /mnt/vendor/persist/FTM_AP 0750 system system - - start fastmmi - ## start qcom-post-boot to set the misc partition path property value - start qcom-post-boot - start mmi_diag - -on property:persist.vendor.usb.config=* && property:ro.bootmode=ffbm-00 - setprop sys.usb.config ${persist.vendor.usb.config} - -on property:persist.vendor.usb.config=* && property:ro.bootmode=ffbm-01 - setprop sys.usb.config ${persist.vendor.usb.config} - -on property:persist.vendor.usb.config=* && property:ro.bootmode=ffbm-02 - setprop sys.usb.config ${persist.vendor.usb.config} - -on property:persist.vendor.usb.config=* && property:ro.bootmode=qmmi - setprop sys.usb.config ${persist.vendor.usb.config} - -on ffbm - trigger early-fs - trigger factory-fs - trigger fs - trigger post-fs - - # Mount fstab in init.{$device}.rc by mount_all with '--late' parameter - # to only mount entries with 'latemount'. This is needed if '--early' is - # specified in the previous mount_all command on the fs stage. - # With /system mounted and properties form /system + /factory available, - # some services can be started. - trigger late-fs - - # Now we can mount /data. File encryption requires keymaster to decrypt - # /data, which in turn can only be loaded when system properties are present. - trigger post-fs-data - - # Now we can start zygote for devices with file based encryption - trigger zygote-start - - # Load persist properties and override properties (if enabled) from /data. - trigger load_persist_props_action - - # Remove a file to wake up anything waiting for firmware. - trigger firmware_mounts_complete - - trigger early-boot - trigger boot - trigger mmi - - -# ======================================================== -# Start for audio TC -# ======================================================== - -service vendor.audio_tc53 /vendor/bin/mm-audio-ftm -tc 53 - user audio - group audio - disabled - oneshot - - -service vendor.audio_tc51 /vendor/bin/mm-audio-ftm -tc 51 - user audio - group audio - disabled - oneshot - -service vendor.audio_tc56 /vendor/bin/mm-audio-ftm -tc 56 - user audio - group audio - disabled - oneshot - -service vendor.audio_tc222 /vendor/bin/mm-audio-ftm -tc 222 - user audio - group audio - disabled - oneshot - -service vendor.audio_tc228 /vendor/bin/mm-audio-ftm -tc 228 - user audio - group audio - disabled - oneshot - -service vendor.audio_tc229 /vendor/bin/mm-audio-ftm -tc 229 - user audio - group audio - disabled - oneshot - -service vendor.audio_tc230 /vendor/bin/mm-audio-ftm -tc 230 - user audio - group audio - disabled - oneshot - -service vendor.audio_tc225 /vendor/bin/mm-audio-ftm -tc 225 - user audio - group audio - disabled - oneshot - -service vendor.audio_tc246 /vendor/bin/mm-audio-ftm -tc 246 - user audio - group audio - disabled - oneshot - -service vendor.audio_tc247 /vendor/bin/mm-audio-ftm -tc 247 - user audio - group audio - disabled - oneshot - -service vendor.audio_tc250 /vendor/bin/mm-audio-ftm -tc 250 - user audio - group audio - disabled - oneshot - -service vendor.audio_tc251 /vendor/bin/mm-audio-ftm -tc 251 - user audio - group audio - disabled - oneshot - -service vendor.audio_tc252 /vendor/bin/mm-audio-ftm -tc 252 - user audio - group audio - disabled - oneshot - -service vendor.audio_tc253 /vendor/bin/mm-audio-ftm -tc 253 - user audio - group audio - disabled - oneshot - -service vendor.audio_tc11 /vendor/bin/mm-audio-ftm -tc 11 -file /data/vendor/audio/ftm_headset_mic_record.wav - user audio - group audio - disabled - oneshot - -service vendor.audio_tc101 /vendor/bin/mm-audio-ftm -tc 101 -file /data/vendor/audio/ftm_mic1_record.wav - user audio - group audio - disabled - oneshot - -service vendor.audio_tc102 /vendor/bin/mm-audio-ftm -tc 102 -file /data/vendor/audio/ftm_mic2_record.wav - user audio - group audio - disabled - oneshot - -service vendor.audio_tc103 /vendor/bin/mm-audio-ftm -tc 103 -file /data/vendor/audio/ftm_mic3_record.wav - user audio - group audio - disabled - oneshot - -service vendor.audio_tc104 /vendor/bin/mm-audio-ftm -tc 104 -file /data/vendor/audio/ftm_mic4_record.wav - user audio - group audio - disabled - oneshot - -# ======================================================== -# End for audio TC -# ======================================================== diff --git a/rootdir/etc/init.qcom.usb.rc b/rootdir/etc/init.qcom.usb.rc deleted file mode 100644 index 57932ba..0000000 --- a/rootdir/etc/init.qcom.usb.rc +++ /dev/null @@ -1,1796 +0,0 @@ -# Copyright (c) 2011-2016, 2018-2020 The Linux Foundation. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are -# met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above -# copyright notice, this list of conditions and the following -# disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of The Linux Foundation nor the names of its -# contributors may be used to endorse or promote products derived -# from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT -# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS -# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# - -on charger - mkdir /dev/usb-ffs 0770 shell shell - mkdir /dev/usb-ffs/adb 0770 shell shell - mount configfs none /config - mkdir /config/usb_gadget/g1 0770 shell shell - mkdir /config/usb_gadget/g1/strings/0x409 0770 - write /config/usb_gadget/g1/bcdUSB 0x0200 - write /config/usb_gadget/g1/os_desc/use 1 - write /config/usb_gadget/g1/strings/0x409/serialnumber ${ro.serialno} - write /config/usb_gadget/g1/strings/0x409/manufacturer ${ro.product.manufacturer} - write /config/usb_gadget/g1/strings/0x409/product ${ro.product.model} - mkdir /config/usb_gadget/g1/functions/mass_storage.0 - mkdir /config/usb_gadget/g1/functions/ffs.adb - mkdir /config/usb_gadget/g1/configs/b.1 0770 shell shell - mkdir /config/usb_gadget/g1/configs/b.1/strings/0x409 0770 shell shell - write /config/usb_gadget/g1/os_desc/b_vendor_code 0x1 - write /config/usb_gadget/g1/configs/b.1/MaxPower 900 - symlink /config/usb_gadget/g1/configs/b.1 /config/usb_gadget/g1/os_desc/b.1 - mount functionfs adb /dev/usb-ffs/adb uid=2000,gid=2000 - exec u:r:vendor_qti_init_shell:s0 -- /vendor/bin/init.qcom.usb.sh - write /config/usb_gadget/g1/strings/0x409/product ${vendor.usb.product_string} - setprop sys.usb.configfs 1 - -on charger && property:ro.boot.type=debug - write /dev/kmsg "debug version, ready to trigger post-fs-data" -# kartar@SYSTEM, 2020/05/08, IKR-260 Enable adb early in charger mode - start apexd - wait_for_prop apexd.status activated - perform_apex_config - setprop sys.usb.config adb - start adbd - write /dev/kmsg "start adbd" - write /config/usb_gadget/g1/idVendor 0x2A70 - write /config/usb_gadget/g1/idProduct 0x4ee7 - write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "adb" - symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f1 - write /config/usb_gadget/g1/UDC ${sys.usb.controller} - -on charger && property:ro.boot.type=sdebug - write /dev/kmsg "sdebug version, ready to trigger post-fs-data" -# kartar@SYSTEM, 2020/05/08, IKR-260 Enable adb early in charger mode - start apexd - wait_for_prop apexd.status activated - perform_apex_config - setprop sys.usb.config adb - start adbd - write /dev/kmsg "start adbd" - write /config/usb_gadget/g1/idVendor 0x2A70 - write /config/usb_gadget/g1/idProduct 0x4ee7 - write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "adb" - symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f1 - write /config/usb_gadget/g1/UDC ${sys.usb.controller} - -on charger && property:ro.boot.type=auto - write /dev/kmsg "ready to trigger post-fs-data" -# kartar@SYSTEM, 2020/05/08, IKR-260 Enable adb early in charger mode - start apexd - wait_for_prop apexd.status activated - perform_apex_config - setprop sys.usb.config adb - start adbd - write /dev/kmsg "start adbd" - write /config/usb_gadget/g1/idVendor 0x2A70 - write /config/usb_gadget/g1/idProduct 0x4ee7 - write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "adb" - symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f1 - write /config/usb_gadget/g1/UDC ${sys.usb.controller} - -on init - exec u:r:vendor-qti-testscripts:s0 -- /vendor/bin/sh /vendor/bin/init.qti.usb.debug.sh - -on boot - write /sys/class/android_usb/android0/iSerial ${ro.serialno} - mount configfs none /config - mkdir /config/usb_gadget/g1 0770 - mkdir /config/usb_gadget/g2 0770 - mkdir /config/usb_gadget/g1/strings/0x409 0770 - mkdir /config/usb_gadget/g2/strings/0x409 0770 - write /config/usb_gadget/g1/bcdUSB 0x0200 - write /config/usb_gadget/g2/bcdUSB 0x0200 - write /config/usb_gadget/g1/os_desc/use 1 - write /config/usb_gadget/g1/strings/0x409/serialnumber ${ro.serialno} - write /config/usb_gadget/g2/strings/0x409/serialnumber ${ro.serialno} - write /config/usb_gadget/g1/strings/0x409/manufacturer ${ro.product.manufacturer} - write /config/usb_gadget/g2/strings/0x409/manufacturer ${ro.product.manufacturer} - mkdir /config/usb_gadget/g1/functions/mass_storage.0 - mkdir /config/usb_gadget/g1/functions/mtp.gs0 - mkdir /config/usb_gadget/g1/functions/ptp.gs1 - mkdir /config/usb_gadget/g1/functions/accessory.gs2 - mkdir /config/usb_gadget/g1/functions/audio_source.gs3 - mkdir /config/usb_gadget/g1/functions/midi.gs5 - mkdir /config/usb_gadget/g1/functions/ffs.adb - mkdir /config/usb_gadget/g1/functions/ffs.diag - mkdir /config/usb_gadget/g1/functions/ffs.diag_mdm - mkdir /config/usb_gadget/g1/functions/ffs.diag_mdm2 - mkdir /config/usb_gadget/g1/functions/diag.diag - mkdir /config/usb_gadget/g1/functions/diag.diag_mdm - mkdir /config/usb_gadget/g1/functions/diag.diag_mdm2 - mkdir /config/usb_gadget/g1/functions/cser.dun.0 - mkdir /config/usb_gadget/g1/functions/cser.nmea.1 - mkdir /config/usb_gadget/g1/functions/cser.dun.2 - mkdir /config/usb_gadget/g1/functions/gsi.rmnet - mkdir /config/usb_gadget/g1/functions/gsi.rndis - mkdir /config/usb_gadget/g1/functions/gsi.dpl - mkdir /config/usb_gadget/g1/functions/qdss.qdss - mkdir /config/usb_gadget/g1/functions/qdss.qdss_mdm - mkdir /config/usb_gadget/g1/functions/rndis_bam.rndis - mkdir /config/usb_gadget/g1/functions/rndis.rndis - mkdir /config/usb_gadget/g1/functions/rmnet_bam.rmnet - mkdir /config/usb_gadget/g1/functions/rmnet_bam.dpl - mkdir /config/usb_gadget/g1/functions/rmnet_bam.rmnet_bam_dmux - mkdir /config/usb_gadget/g1/functions/rmnet_bam.dpl_bam_dmux - mkdir /config/usb_gadget/g1/functions/ncm.0 - mkdir /config/usb_gadget/g1/functions/ccid.ccid - mkdir /config/usb_gadget/g1/functions/uac2.0 - mkdir /config/usb_gadget/g1/functions/uvc.0 - mkdir /config/usb_gadget/g1/configs/b.1 0770 - mkdir /config/usb_gadget/g2/configs/b.1 0770 - mkdir /config/usb_gadget/g1/configs/b.1/strings/0x409 0770 - mkdir /config/usb_gadget/g2/configs/b.1/strings/0x409 0770 - write /config/usb_gadget/g1/configs/b.1/MaxPower 900 - write /config/usb_gadget/g1/os_desc/b_vendor_code 0x1 - write /config/usb_gadget/g1/os_desc/qw_sign "MSFT100" - write /config/usb_gadget/g1/functions/diag.diag/serial ${ro.serialno} - symlink /config/usb_gadget/g1/configs/b.1 /config/usb_gadget/g1/os_desc/b.1 - mkdir /dev/usb-ffs 0775 shell system - mkdir /dev/usb-ffs/adb 0770 shell system - mount functionfs adb /dev/usb-ffs/adb uid=2000,gid=1000,rmode=0770,fmode=0660 - mkdir /dev/ffs-diag 0770 shell system - mount functionfs diag /dev/ffs-diag uid=2000,gid=1000,rmode=0770,fmode=0660,no_disconnect=1 - mkdir /dev/ffs-diag-1 0770 shell system - mount functionfs diag_mdm /dev/ffs-diag-1 uid=2000,gid=1000,rmode=0770,fmode=0660,no_disconnect=1 - mkdir /dev/ffs-diag-2 0770 shell system - mount functionfs diag_mdm2 /dev/ffs-diag-2 uid=2000,gid=1000,rmode=0770,fmode=0660,no_disconnect=1 - setprop sys.usb.mtp.device_type 3 - exec u:r:vendor_qti_init_shell:s0 -- /vendor/bin/init.qcom.usb.sh - write /config/usb_gadget/g1/strings/0x409/product ${vendor.usb.product_string} - write /config/usb_gadget/g2/strings/0x409/product ${vendor.usb.product_string} - - #setprop sys.usb.config ${persist.vendor.usb.config} - setprop sys.usb.configfs 1 - trigger set_serialnumber - -on set_serialnumber && property:ro.boot.ftm_mode=ftm_rf - write /config/usb_gadget/g1/strings/0x409/serialnumber "0123456789ABCDEF" - write /config/usb_gadget/g2/strings/0x409/serialnumber "0123456789ABCDEF" - - -on boot && property:vendor.usb.use_ffs_mtp=1 - mkdir /config/usb_gadget/g1/functions/ffs.mtp - mkdir /config/usb_gadget/g1/functions/ffs.ptp - mkdir /dev/usb-ffs/mtp 0770 mtp mtp - mount functionfs mtp /dev/usb-ffs/mtp rmode=0770,fmode=0660,uid=1024,gid=1024,no_disconnect=1 - mkdir /dev/usb-ffs/ptp 0770 mtp mtp - mount functionfs ptp /dev/usb-ffs/ptp rmode=0770,fmode=0660,uid=1024,gid=1024,no_disconnect=1 - - -#on property:persist.vendor.usb.config=* -# setprop persist.sys.usb.config ${persist.vendor.usb.config} - -on property:vendor.usb.controller=* - setprop sys.usb.controller ${vendor.usb.controller} - setprop sys.usb.configfs 1 - -on boot && property:ro.boot.usbconfigfs=true - setprop sys.usb.configfs 1 - -# -# USB compositions -# -# Following are the triggers to configure various combinations of functions into a USB -# composition. Each correspond to a unique VID/PID. -# - -on property:sys.usb.config=none && property:sys.usb.configfs=1 - rm /config/usb_gadget/g1/configs/b.1/f1 - rm /config/usb_gadget/g1/configs/b.1/f2 - rm /config/usb_gadget/g1/configs/b.1/f3 - rm /config/usb_gadget/g1/configs/b.1/f4 - rm /config/usb_gadget/g1/configs/b.1/f5 - rm /config/usb_gadget/g1/configs/b.1/f6 - rm /config/usb_gadget/g1/configs/b.1/f7 - rm /config/usb_gadget/g1/configs/b.1/f8 - rm /config/usb_gadget/g1/configs/b.1/f9 - -on property:sys.usb.config=mass_storage && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "msc" - rm /config/usb_gadget/g1/configs/b.1/f1 - rm /config/usb_gadget/g1/configs/b.1/f2 - rm /config/usb_gadget/g1/configs/b.1/f3 - rm /config/usb_gadget/g1/configs/b.1/f4 - rm /config/usb_gadget/g1/configs/b.1/f5 - rm /config/usb_gadget/g1/configs/b.1/f6 - rm /config/usb_gadget/g1/configs/b.1/f7 - rm /config/usb_gadget/g1/configs/b.1/f8 - rm /config/usb_gadget/g1/configs/b.1/f9 - write /config/usb_gadget/g1/idVendor 0x05C6 - write /config/usb_gadget/g1/idProduct 0xF000 - symlink /config/usb_gadget/g1/functions/ffs.mtp /config/usb_gadget/g1/configs/b.1/f1 - symlink /config/usb_gadget/g1/functions/mass_storage.0 /config/usb_gadget/g1/configs/b.1/f2 - write /config/usb_gadget/g1/functions/mass_storage.0/lun.0/file "/vendor/etc/usb_drivers.iso" - write /config/usb_gadget/g1/UDC ${sys.usb.controller} - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=mass_storage,adb && property:sys.usb.configfs=1 - start adbd - -on property:sys.usb.ffs.ready=1 && property:sys.usb.config=mass_storage,adb && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "adb_msc" - rm /config/usb_gadget/g1/configs/b.1/f1 - rm /config/usb_gadget/g1/configs/b.1/f2 - rm /config/usb_gadget/g1/configs/b.1/f3 - rm /config/usb_gadget/g1/configs/b.1/f4 - rm /config/usb_gadget/g1/configs/b.1/f5 - rm /config/usb_gadget/g1/configs/b.1/f6 - rm /config/usb_gadget/g1/configs/b.1/f7 - rm /config/usb_gadget/g1/configs/b.1/f8 - rm /config/usb_gadget/g1/configs/b.1/f9 - write /config/usb_gadget/g1/idVendor 0x05C6 - write /config/usb_gadget/g1/idProduct 0x9015 - symlink /config/usb_gadget/g1/functions/ffs.mtp /config/usb_gadget/g1/configs/b.1/f1 - symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2 - symlink /config/usb_gadget/g1/functions/mass_storage.0 /config/usb_gadget/g1/configs/b.1/f3 - write /config/usb_gadget/g1/functions/mass_storage.0/lun.0/file "/vendor/etc/usb_drivers.iso" - write /config/usb_gadget/g1/UDC ${sys.usb.controller} - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,adb && property:sys.usb.configfs=1 - start adbd - -on property:sys.usb.ffs.ready=1 && property:sys.usb.config=diag,adb && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_adb" - rm /config/usb_gadget/g1/configs/b.1/f1 - rm /config/usb_gadget/g1/configs/b.1/f2 - rm /config/usb_gadget/g1/configs/b.1/f3 - rm /config/usb_gadget/g1/configs/b.1/f4 - rm /config/usb_gadget/g1/configs/b.1/f5 - rm /config/usb_gadget/g1/configs/b.1/f6 - rm /config/usb_gadget/g1/configs/b.1/f7 - rm /config/usb_gadget/g1/configs/b.1/f8 - rm /config/usb_gadget/g1/configs/b.1/f9 - write /config/usb_gadget/g1/idVendor 0x05C6 - write /config/usb_gadget/g1/idProduct 0x901D - write /config/usb_gadget/g1/functions/diag.diag/pid 0x901d - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f1 - symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2 - write /config/usb_gadget/g1/UDC ${sys.usb.controller} - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag" - rm /config/usb_gadget/g1/configs/b.1/f1 - rm /config/usb_gadget/g1/configs/b.1/f2 - rm /config/usb_gadget/g1/configs/b.1/f3 - rm /config/usb_gadget/g1/configs/b.1/f4 - rm /config/usb_gadget/g1/configs/b.1/f5 - rm /config/usb_gadget/g1/configs/b.1/f6 - rm /config/usb_gadget/g1/configs/b.1/f7 - rm /config/usb_gadget/g1/configs/b.1/f8 - rm /config/usb_gadget/g1/configs/b.1/f9 - write /config/usb_gadget/g1/idVendor 0x05C6 - write /config/usb_gadget/g1/idProduct 0x900E - write /config/usb_gadget/g1/functions/diag.diag/pid 0x900e - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f1 - write /config/usb_gadget/g1/UDC ${sys.usb.controller} - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,serial_cdev,rmnet,adb && property:sys.usb.configfs=1 - start adbd - -on property:sys.usb.ffs.ready=1 && property:sys.usb.config=diag,serial_cdev,rmnet,adb && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "Default composition" - rm /config/usb_gadget/g1/configs/b.1/f1 - rm /config/usb_gadget/g1/configs/b.1/f2 - rm /config/usb_gadget/g1/configs/b.1/f3 - rm /config/usb_gadget/g1/configs/b.1/f4 - rm /config/usb_gadget/g1/configs/b.1/f5 - rm /config/usb_gadget/g1/configs/b.1/f6 - rm /config/usb_gadget/g1/configs/b.1/f7 - rm /config/usb_gadget/g1/configs/b.1/f8 - rm /config/usb_gadget/g1/configs/b.1/f9 - write /config/usb_gadget/g1/idVendor 0x05C6 - write /config/usb_gadget/g1/idProduct 0x9091 - write /config/usb_gadget/g1/functions/diag.diag/pid 0x9091 - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f1 - symlink /config/usb_gadget/g1/functions/cser.dun.0 /config/usb_gadget/g1/configs/b.1/f2 - symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.rmnet.inst.name} /config/usb_gadget/g1/configs/b.1/f3 - symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f4 - write /config/usb_gadget/g1/UDC ${sys.usb.controller} - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,serial_cdev,rmnet && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "Default comp without ADB" - rm /config/usb_gadget/g1/configs/b.1/f1 - rm /config/usb_gadget/g1/configs/b.1/f2 - rm /config/usb_gadget/g1/configs/b.1/f3 - rm /config/usb_gadget/g1/configs/b.1/f4 - rm /config/usb_gadget/g1/configs/b.1/f5 - rm /config/usb_gadget/g1/configs/b.1/f6 - rm /config/usb_gadget/g1/configs/b.1/f7 - rm /config/usb_gadget/g1/configs/b.1/f8 - rm /config/usb_gadget/g1/configs/b.1/f9 - write /config/usb_gadget/g1/idVendor 0x05C6 - write /config/usb_gadget/g1/idProduct 0x9092 - write /config/usb_gadget/g1/functions/diag.diag/pid 0x9092 - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f1 - symlink /config/usb_gadget/g1/functions/cser.dun.0 /config/usb_gadget/g1/configs/b.1/f2 - symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.rmnet.inst.name} /config/usb_gadget/g1/configs/b.1/f3 - write /config/usb_gadget/g1/UDC ${sys.usb.controller} - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,serial_cdev,serial_cdev_nmea,adb && property:sys.usb.configfs=1 - start adbd - -on property:sys.usb.ffs.ready=1 && property:sys.usb.config=diag,serial_cdev,serial_cdev_nmea,adb && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_dun_nmea_adb" - rm /config/usb_gadget/g1/configs/b.1/f1 - rm /config/usb_gadget/g1/configs/b.1/f2 - rm /config/usb_gadget/g1/configs/b.1/f3 - rm /config/usb_gadget/g1/configs/b.1/f4 - rm /config/usb_gadget/g1/configs/b.1/f5 - rm /config/usb_gadget/g1/configs/b.1/f6 - rm /config/usb_gadget/g1/configs/b.1/f7 - rm /config/usb_gadget/g1/configs/b.1/f8 - rm /config/usb_gadget/g1/configs/b.1/f9 - write /config/usb_gadget/g1/idVendor 0x05C6 - write /config/usb_gadget/g1/idProduct 0x9020 - write /config/usb_gadget/g1/functions/diag.diag/pid 0x9020 - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f1 - symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2 - symlink /config/usb_gadget/g1/functions/cser.dun.0 /config/usb_gadget/g1/configs/b.1/f3 - symlink /config/usb_gadget/g1/functions/cser.nmea.1 /config/usb_gadget/g1/configs/b.1/f4 - write /config/usb_gadget/g1/UDC ${sys.usb.controller} - setprop sys.usb.state ${sys.usb.config} - -on property:vendor.usb.tethering=true - write /sys/class/net/rndis0/queues/rx-0/rps_cpus ${vendor.usb.rps_mask} - -on property:sys.usb.config=rndis - setprop sys.usb.config rndis,${persist.vendor.usb.config.extra} - -on property:sys.usb.config=rndis,none && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "rndis" - rm /config/usb_gadget/g1/configs/b.1/f1 - rm /config/usb_gadget/g1/configs/b.1/f2 - rm /config/usb_gadget/g1/configs/b.1/f3 - rm /config/usb_gadget/g1/configs/b.1/f4 - rm /config/usb_gadget/g1/configs/b.1/f5 - rm /config/usb_gadget/g1/configs/b.1/f6 - rm /config/usb_gadget/g1/configs/b.1/f7 - rm /config/usb_gadget/g1/configs/b.1/f8 - rm /config/usb_gadget/g1/configs/b.1/f9 - write /config/usb_gadget/g1/idVendor 0x2A70 - write /config/usb_gadget/g1/idProduct 0xF00E - symlink /config/usb_gadget/g1/functions/${vendor.usb.rndis.func.name}.rndis /config/usb_gadget/g1/configs/b.1/f1 - write /config/usb_gadget/g1/UDC ${sys.usb.controller} - setprop sys.usb.state rndis - -on property:sys.usb.config=rndis,sec && property:sys.usb.configfs=1 - write /config/usb_gadget/g2/configs/b.1/strings/0x409/configuration "rndis" - rm /config/usb_gadget/g2/configs/b.1/f1 - write /config/usb_gadget/g2/idVendor 0x05C6 - write /config/usb_gadget/g2/idProduct 0xF00E - symlink /config/usb_gadget/g2/functions/${vendor.usb.rndis.func.name}.rndis /config/usb_gadget/g2/configs/b.1/f1 - write /config/usb_gadget/g2/UDC ${persist.vendor.usb.controller.secondary} - setprop sys.usb.state rndis - -on property:sys.usb.config=rndis,adb - setprop sys.usb.config rndis,${persist.vendor.usb.config.extra},adb - -on property:sys.usb.config=rndis,none,adb && property:sys.usb.configfs=1 - start adbd - -on property:sys.usb.ffs.ready=1 && property:sys.usb.config=rndis,none,adb && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "rndis_adb" - rm /config/usb_gadget/g1/configs/b.1/f1 - rm /config/usb_gadget/g1/configs/b.1/f2 - rm /config/usb_gadget/g1/configs/b.1/f3 - rm /config/usb_gadget/g1/configs/b.1/f4 - rm /config/usb_gadget/g1/configs/b.1/f5 - rm /config/usb_gadget/g1/configs/b.1/f6 - rm /config/usb_gadget/g1/configs/b.1/f7 - rm /config/usb_gadget/g1/configs/b.1/f8 - rm /config/usb_gadget/g1/configs/b.1/f9 - write /config/usb_gadget/g1/idVendor 0x2A70 - write /config/usb_gadget/g1/idProduct 0x9024 - symlink /config/usb_gadget/g1/functions/${vendor.usb.rndis.func.name}.rndis /config/usb_gadget/g1/configs/b.1/f1 - symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2 - write /config/usb_gadget/g1/UDC ${sys.usb.controller} - setprop sys.usb.state rndis,adb - -on property:sys.usb.config=rndis,diag && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "rndis_diag" - rm /config/usb_gadget/g1/configs/b.1/f1 - rm /config/usb_gadget/g1/configs/b.1/f2 - rm /config/usb_gadget/g1/configs/b.1/f3 - rm /config/usb_gadget/g1/configs/b.1/f4 - rm /config/usb_gadget/g1/configs/b.1/f5 - rm /config/usb_gadget/g1/configs/b.1/f6 - rm /config/usb_gadget/g1/configs/b.1/f7 - rm /config/usb_gadget/g1/configs/b.1/f8 - rm /config/usb_gadget/g1/configs/b.1/f9 - write /config/usb_gadget/g1/idVendor 0x05C6 - write /config/usb_gadget/g1/idProduct 0x902C - symlink /config/usb_gadget/g1/functions/${vendor.usb.rndis.func.name}.rndis /config/usb_gadget/g1/configs/b.1/f1 - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f2 - write /config/usb_gadget/g1/UDC ${sys.usb.controller} - setprop sys.usb.state rndis - -on property:sys.usb.config=rndis,diag,adb && property:sys.usb.configfs=1 - start adbd - -on property:sys.usb.ffs.ready=1 && property:sys.usb.config=rndis,diag,adb && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "rndis_diag_adb" - rm /config/usb_gadget/g1/configs/b.1/f1 - rm /config/usb_gadget/g1/configs/b.1/f2 - rm /config/usb_gadget/g1/configs/b.1/f3 - rm /config/usb_gadget/g1/configs/b.1/f4 - rm /config/usb_gadget/g1/configs/b.1/f5 - rm /config/usb_gadget/g1/configs/b.1/f6 - rm /config/usb_gadget/g1/configs/b.1/f7 - rm /config/usb_gadget/g1/configs/b.1/f8 - rm /config/usb_gadget/g1/configs/b.1/f9 - write /config/usb_gadget/g1/idVendor 0x05C6 - write /config/usb_gadget/g1/idProduct 0x902D - symlink /config/usb_gadget/g1/functions/${vendor.usb.rndis.func.name}.rndis /config/usb_gadget/g1/configs/b.1/f1 - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f2 - symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f3 - write /config/usb_gadget/g1/UDC ${sys.usb.controller} - setprop sys.usb.state rndis,adb - -on property:sys.usb.config=rndis,serial_cdev && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "rndis_dun" - rm /config/usb_gadget/g1/configs/b.1/f1 - rm /config/usb_gadget/g1/configs/b.1/f2 - rm /config/usb_gadget/g1/configs/b.1/f3 - rm /config/usb_gadget/g1/configs/b.1/f4 - rm /config/usb_gadget/g1/configs/b.1/f5 - rm /config/usb_gadget/g1/configs/b.1/f6 - rm /config/usb_gadget/g1/configs/b.1/f7 - rm /config/usb_gadget/g1/configs/b.1/f8 - rm /config/usb_gadget/g1/configs/b.1/f9 - write /config/usb_gadget/g1/idVendor 0x05C6 - write /config/usb_gadget/g1/idProduct 0x90B3 - symlink /config/usb_gadget/g1/functions/${vendor.usb.rndis.func.name}.rndis /config/usb_gadget/g1/configs/b.1/f1 - symlink /config/usb_gadget/g1/functions/cser.dun.0 /config/usb_gadget/g1/configs/b.1/f2 - write /config/usb_gadget/g1/UDC ${sys.usb.controller} - setprop sys.usb.state rndis - -on property:sys.usb.config=rndis,serial_cdev,adb && property:sys.usb.configfs=1 - start adbd - -on property:sys.usb.ffs.ready=1 && property:sys.usb.config=rndis,serial_cdev,adb && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "rndis_dun_adb" - rm /config/usb_gadget/g1/configs/b.1/f1 - rm /config/usb_gadget/g1/configs/b.1/f2 - rm /config/usb_gadget/g1/configs/b.1/f3 - rm /config/usb_gadget/g1/configs/b.1/f4 - rm /config/usb_gadget/g1/configs/b.1/f5 - rm /config/usb_gadget/g1/configs/b.1/f6 - rm /config/usb_gadget/g1/configs/b.1/f7 - rm /config/usb_gadget/g1/configs/b.1/f8 - rm /config/usb_gadget/g1/configs/b.1/f9 - write /config/usb_gadget/g1/idVendor 0x05C6 - write /config/usb_gadget/g1/idProduct 0x90B4 - symlink /config/usb_gadget/g1/functions/${vendor.usb.rndis.func.name}.rndis /config/usb_gadget/g1/configs/b.1/f1 - symlink /config/usb_gadget/g1/functions/cser.dun.0 /config/usb_gadget/g1/configs/b.1/f2 - symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f3 - write /config/usb_gadget/g1/UDC ${sys.usb.controller} - setprop sys.usb.state rndis,adb - -on property:sys.usb.config=rndis,serial_cdev,diag && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "rndis_dun_diag" - rm /config/usb_gadget/g1/configs/b.1/f1 - rm /config/usb_gadget/g1/configs/b.1/f2 - rm /config/usb_gadget/g1/configs/b.1/f3 - rm /config/usb_gadget/g1/configs/b.1/f4 - rm /config/usb_gadget/g1/configs/b.1/f5 - rm /config/usb_gadget/g1/configs/b.1/f6 - rm /config/usb_gadget/g1/configs/b.1/f7 - rm /config/usb_gadget/g1/configs/b.1/f8 - rm /config/usb_gadget/g1/configs/b.1/f9 - write /config/usb_gadget/g1/idVendor 0x05C6 - write /config/usb_gadget/g1/idProduct 0x90B5 - symlink /config/usb_gadget/g1/functions/${vendor.usb.rndis.func.name}.rndis /config/usb_gadget/g1/configs/b.1/f1 - symlink /config/usb_gadget/g1/functions/cser.dun.0 /config/usb_gadget/g1/configs/b.1/f2 - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f3 - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag_mdm /config/usb_gadget/g1/configs/b.1/f4 - write /config/usb_gadget/g1/UDC ${sys.usb.controller} - setprop sys.usb.state ${sys.usb.config} #2018.05.28 modify for CTA/EngineerMode RNDIS test - -on property:sys.usb.config=rndis,serial_cdev,diag,adb && property:sys.usb.configfs=1 - start adbd - -on property:sys.usb.ffs.ready=1 && property:sys.usb.config=rndis,serial_cdev,diag,adb && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "rndis_dun_diag" - rm /config/usb_gadget/g1/configs/b.1/f1 - rm /config/usb_gadget/g1/configs/b.1/f2 - rm /config/usb_gadget/g1/configs/b.1/f3 - rm /config/usb_gadget/g1/configs/b.1/f4 - rm /config/usb_gadget/g1/configs/b.1/f5 - rm /config/usb_gadget/g1/configs/b.1/f6 - rm /config/usb_gadget/g1/configs/b.1/f7 - rm /config/usb_gadget/g1/configs/b.1/f8 - rm /config/usb_gadget/g1/configs/b.1/f9 - write /config/usb_gadget/g1/idVendor 0x05C6 - write /config/usb_gadget/g1/idProduct 0x90B6 - symlink /config/usb_gadget/g1/functions/${vendor.usb.rndis.func.name}.rndis /config/usb_gadget/g1/configs/b.1/f1 - symlink /config/usb_gadget/g1/functions/cser.dun.0 /config/usb_gadget/g1/configs/b.1/f2 - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f3 - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag_mdm /config/usb_gadget/g1/configs/b.1/f4 - symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f5 - write /config/usb_gadget/g1/UDC ${sys.usb.controller} - setprop sys.usb.state ${sys.usb.config} #2018.02.12 modify for CTA RNDIS test - -on property:sys.usb.config=mtp,diag && property:vendor.usb.use_ffs_mtp=0 && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "mtp_diag" - rm /config/usb_gadget/g1/configs/b.1/f1 - rm /config/usb_gadget/g1/configs/b.1/f2 - rm /config/usb_gadget/g1/configs/b.1/f3 - rm /config/usb_gadget/g1/configs/b.1/f4 - rm /config/usb_gadget/g1/configs/b.1/f5 - rm /config/usb_gadget/g1/configs/b.1/f6 - rm /config/usb_gadget/g1/configs/b.1/f7 - rm /config/usb_gadget/g1/configs/b.1/f8 - rm /config/usb_gadget/g1/configs/b.1/f9 - write /config/usb_gadget/g1/idVendor 0x05C6 - write /config/usb_gadget/g1/idProduct 0x901B - symlink /config/usb_gadget/g1/functions/mtp.gs0 /config/usb_gadget/g1/configs/b.1/f1 - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f2 - write /config/usb_gadget/g1/UDC ${sys.usb.controller} - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=mtp,diag && property:vendor.usb.use_ffs_mtp=1 && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "ffs-mtp_diag" - rm /config/usb_gadget/g1/configs/b.1/f1 - rm /config/usb_gadget/g1/configs/b.1/f2 - rm /config/usb_gadget/g1/configs/b.1/f3 - rm /config/usb_gadget/g1/configs/b.1/f4 - rm /config/usb_gadget/g1/configs/b.1/f5 - rm /config/usb_gadget/g1/configs/b.1/f6 - rm /config/usb_gadget/g1/configs/b.1/f7 - rm /config/usb_gadget/g1/configs/b.1/f8 - rm /config/usb_gadget/g1/configs/b.1/f9 - write /config/usb_gadget/g1/idVendor 0x05C6 - write /config/usb_gadget/g1/idProduct 0x901B - symlink /config/usb_gadget/g1/functions/ffs.mtp /config/usb_gadget/g1/configs/b.1/f1 - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f2 - write /config/usb_gadget/g1/UDC ${sys.usb.controller} - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=mtp,diag,adb && property:sys.usb.configfs=1 - start adbd - -on property:sys.usb.ffs.ready=1 && property:sys.usb.config=mtp,diag,adb && property:vendor.usb.use_ffs_mtp=0 && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "mtp_diag_adb" - rm /config/usb_gadget/g1/configs/b.1/f1 - rm /config/usb_gadget/g1/configs/b.1/f2 - rm /config/usb_gadget/g1/configs/b.1/f3 - rm /config/usb_gadget/g1/configs/b.1/f4 - rm /config/usb_gadget/g1/configs/b.1/f5 - rm /config/usb_gadget/g1/configs/b.1/f6 - rm /config/usb_gadget/g1/configs/b.1/f7 - rm /config/usb_gadget/g1/configs/b.1/f8 - rm /config/usb_gadget/g1/configs/b.1/f9 - write /config/usb_gadget/g1/idVendor 0x05C6 - write /config/usb_gadget/g1/idProduct 0x903A - symlink /config/usb_gadget/g1/functions/mtp.gs0 /config/usb_gadget/g1/configs/b.1/f1 - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f2 - symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f3 - write /config/usb_gadget/g1/UDC ${sys.usb.controller} - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.ffs.ready=1 && property:sys.usb.config=mtp,diag,adb && property:vendor.usb.use_ffs_mtp=1 && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "ffs-mtp_diag_adb" - rm /config/usb_gadget/g1/configs/b.1/f1 - rm /config/usb_gadget/g1/configs/b.1/f2 - rm /config/usb_gadget/g1/configs/b.1/f3 - rm /config/usb_gadget/g1/configs/b.1/f4 - rm /config/usb_gadget/g1/configs/b.1/f5 - rm /config/usb_gadget/g1/configs/b.1/f6 - rm /config/usb_gadget/g1/configs/b.1/f7 - rm /config/usb_gadget/g1/configs/b.1/f8 - rm /config/usb_gadget/g1/configs/b.1/f9 - write /config/usb_gadget/g1/idVendor 0x05C6 - write /config/usb_gadget/g1/idProduct 0x903A - symlink /config/usb_gadget/g1/functions/ffs.mtp /config/usb_gadget/g1/configs/b.1/f1 - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f2 - symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f3 - write /config/usb_gadget/g1/UDC ${sys.usb.controller} - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,qdss && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_qdss" - rm /config/usb_gadget/g1/configs/b.1/f1 - rm /config/usb_gadget/g1/configs/b.1/f2 - rm /config/usb_gadget/g1/configs/b.1/f3 - rm /config/usb_gadget/g1/configs/b.1/f4 - rm /config/usb_gadget/g1/configs/b.1/f5 - rm /config/usb_gadget/g1/configs/b.1/f6 - rm /config/usb_gadget/g1/configs/b.1/f7 - rm /config/usb_gadget/g1/configs/b.1/f8 - rm /config/usb_gadget/g1/configs/b.1/f9 - write /config/usb_gadget/g1/idVendor 0x05C6 - write /config/usb_gadget/g1/idProduct 0x904A - write /config/usb_gadget/g1/functions/diag.diag/pid 0x904a - write /config/usb_gadget/g1/functions/qdss.${vendor.usb.qdss.inst.name}/enable_debug_inface 1 - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f1 - symlink /config/usb_gadget/g1/functions/qdss.${vendor.usb.qdss.inst.name} /config/usb_gadget/g1/configs/b.1/f2 - write /config/usb_gadget/g1/UDC ${sys.usb.controller} - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,qdss,adb && property:sys.usb.configfs=1 - start adbd - -on property:sys.usb.ffs.ready=1 && property:sys.usb.config=diag,qdss,adb && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_qdss_adb" - rm /config/usb_gadget/g1/configs/b.1/f1 - rm /config/usb_gadget/g1/configs/b.1/f2 - rm /config/usb_gadget/g1/configs/b.1/f3 - rm /config/usb_gadget/g1/configs/b.1/f4 - rm /config/usb_gadget/g1/configs/b.1/f5 - rm /config/usb_gadget/g1/configs/b.1/f6 - rm /config/usb_gadget/g1/configs/b.1/f7 - rm /config/usb_gadget/g1/configs/b.1/f8 - rm /config/usb_gadget/g1/configs/b.1/f9 - write /config/usb_gadget/g1/idVendor 0x05C6 - write /config/usb_gadget/g1/idProduct 0x9060 - write /config/usb_gadget/g1/functions/diag.diag/pid 0x9060 - write /config/usb_gadget/g1/functions/qdss.${vendor.usb.qdss.inst.name}/enable_debug_inface 1 - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f1 - symlink /config/usb_gadget/g1/functions/qdss.${vendor.usb.qdss.inst.name} /config/usb_gadget/g1/configs/b.1/f2 - symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f3 - write /config/usb_gadget/g1/UDC ${sys.usb.controller} - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,qdss,rmnet && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_qdss_rmnet" - rm /config/usb_gadget/g1/configs/b.1/f1 - rm /config/usb_gadget/g1/configs/b.1/f2 - rm /config/usb_gadget/g1/configs/b.1/f3 - rm /config/usb_gadget/g1/configs/b.1/f4 - rm /config/usb_gadget/g1/configs/b.1/f5 - rm /config/usb_gadget/g1/configs/b.1/f6 - rm /config/usb_gadget/g1/configs/b.1/f7 - rm /config/usb_gadget/g1/configs/b.1/f8 - rm /config/usb_gadget/g1/configs/b.1/f9 - write /config/usb_gadget/g1/idVendor 0x05C6 - write /config/usb_gadget/g1/idProduct 0x9083 - write /config/usb_gadget/g1/functions/diag.diag/pid 0x9083 - write /config/usb_gadget/g1/functions/qdss.${vendor.usb.qdss.inst.name}/enable_debug_inface 1 - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f1 - symlink /config/usb_gadget/g1/functions/qdss.${vendor.usb.qdss.inst.name} /config/usb_gadget/g1/configs/b.1/f2 - symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.rmnet.inst.name} /config/usb_gadget/g1/configs/b.1/f3 - write /config/usb_gadget/g1/UDC ${sys.usb.controller} - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,qdss,rmnet,adb && property:sys.usb.configfs=1 - start adbd - -on property:sys.usb.ffs.ready=1 && property:sys.usb.config=diag,qdss,rmnet,adb && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_qdss_rmnet_adb" - rm /config/usb_gadget/g1/configs/b.1/f1 - rm /config/usb_gadget/g1/configs/b.1/f2 - rm /config/usb_gadget/g1/configs/b.1/f3 - rm /config/usb_gadget/g1/configs/b.1/f4 - rm /config/usb_gadget/g1/configs/b.1/f5 - rm /config/usb_gadget/g1/configs/b.1/f6 - rm /config/usb_gadget/g1/configs/b.1/f7 - rm /config/usb_gadget/g1/configs/b.1/f8 - rm /config/usb_gadget/g1/configs/b.1/f9 - write /config/usb_gadget/g1/idVendor 0x05C6 - write /config/usb_gadget/g1/idProduct 0x9084 - write /config/usb_gadget/g1/functions/diag.diag/pid 0x9084 - write /config/usb_gadget/g1/functions/qdss.${vendor.usb.qdss.inst.name}/enable_debug_inface 1 - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f1 - symlink /config/usb_gadget/g1/functions/qdss.${vendor.usb.qdss.inst.name} /config/usb_gadget/g1/configs/b.1/f2 - symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f3 - symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.rmnet.inst.name} /config/usb_gadget/g1/configs/b.1/f4 - write /config/usb_gadget/g1/UDC ${sys.usb.controller} - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=rndis,diag,qdss && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "rndis_diag_qdss" - rm /config/usb_gadget/g1/configs/b.1/f1 - rm /config/usb_gadget/g1/configs/b.1/f2 - rm /config/usb_gadget/g1/configs/b.1/f3 - rm /config/usb_gadget/g1/configs/b.1/f4 - rm /config/usb_gadget/g1/configs/b.1/f5 - rm /config/usb_gadget/g1/configs/b.1/f6 - rm /config/usb_gadget/g1/configs/b.1/f7 - rm /config/usb_gadget/g1/configs/b.1/f8 - rm /config/usb_gadget/g1/configs/b.1/f9 - write /config/usb_gadget/g1/idVendor 0x05C6 - write /config/usb_gadget/g1/idProduct 0x9081 - write /config/usb_gadget/g1/functions/qdss.${vendor.usb.qdss.inst.name}/enable_debug_inface 1 - symlink /config/usb_gadget/g1/functions/${vendor.usb.rndis.func.name}.rndis /config/usb_gadget/g1/configs/b.1/f1 - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f2 - symlink /config/usb_gadget/g1/functions/qdss.${vendor.usb.qdss.inst.name} /config/usb_gadget/g1/configs/b.1/f3 - write /config/usb_gadget/g1/UDC ${sys.usb.controller} - setprop sys.usb.state rndis - -on property:sys.usb.config=rndis,diag,qdss,adb && property:sys.usb.configfs=1 - start adbd - -on property:sys.usb.ffs.ready=1 && property:sys.usb.config=rndis,diag,qdss,adb && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "rndis_diag_qdss_adb" - rm /config/usb_gadget/g1/configs/b.1/f1 - rm /config/usb_gadget/g1/configs/b.1/f2 - rm /config/usb_gadget/g1/configs/b.1/f3 - rm /config/usb_gadget/g1/configs/b.1/f4 - rm /config/usb_gadget/g1/configs/b.1/f5 - rm /config/usb_gadget/g1/configs/b.1/f6 - rm /config/usb_gadget/g1/configs/b.1/f7 - rm /config/usb_gadget/g1/configs/b.1/f8 - rm /config/usb_gadget/g1/configs/b.1/f9 - write /config/usb_gadget/g1/idVendor 0x05C6 - write /config/usb_gadget/g1/idProduct 0x9082 - write /config/usb_gadget/g1/functions/qdss.${vendor.usb.qdss.inst.name}/enable_debug_inface 1 - symlink /config/usb_gadget/g1/functions/${vendor.usb.rndis.func.name}.rndis /config/usb_gadget/g1/configs/b.1/f1 - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f2 - symlink /config/usb_gadget/g1/functions/qdss.${vendor.usb.qdss.inst.name} /config/usb_gadget/g1/configs/b.1/f3 - symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f4 - write /config/usb_gadget/g1/UDC ${sys.usb.controller} - setprop sys.usb.state rndis,adb - -on property:sys.usb.config=ncm && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "ncm" - rm /config/usb_gadget/g1/configs/b.1/f1 - rm /config/usb_gadget/g1/configs/b.1/f2 - rm /config/usb_gadget/g1/configs/b.1/f3 - rm /config/usb_gadget/g1/configs/b.1/f4 - rm /config/usb_gadget/g1/configs/b.1/f5 - rm /config/usb_gadget/g1/configs/b.1/f6 - rm /config/usb_gadget/g1/configs/b.1/f7 - rm /config/usb_gadget/g1/configs/b.1/f8 - rm /config/usb_gadget/g1/configs/b.1/f9 - write /config/usb_gadget/g1/idVendor 0x05C6 - write /config/usb_gadget/g1/idProduct 0xA4A1 - symlink /config/usb_gadget/g1/functions/ncm.0 /config/usb_gadget/g1/configs/b.1/f1 - write /config/usb_gadget/g1/UDC ${sys.usb.controller} - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=ncm,adb && property:sys.usb.configfs=1 - start adbd - -on property:sys.usb.ffs.ready=1 && property:sys.usb.config=ncm,adb && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "ncm_adb" - rm /config/usb_gadget/g1/configs/b.1/f1 - rm /config/usb_gadget/g1/configs/b.1/f2 - rm /config/usb_gadget/g1/configs/b.1/f3 - rm /config/usb_gadget/g1/configs/b.1/f4 - rm /config/usb_gadget/g1/configs/b.1/f5 - rm /config/usb_gadget/g1/configs/b.1/f6 - rm /config/usb_gadget/g1/configs/b.1/f7 - rm /config/usb_gadget/g1/configs/b.1/f8 - rm /config/usb_gadget/g1/configs/b.1/f9 - write /config/usb_gadget/g1/idVendor 0x05C6 - write /config/usb_gadget/g1/idProduct 0x908C - symlink /config/usb_gadget/g1/functions/ncm.0 /config/usb_gadget/g1/configs/b.1/f1 - symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2 - write /config/usb_gadget/g1/UDC ${sys.usb.controller} - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,serial_cdev && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_dun" - rm /config/usb_gadget/g1/configs/b.1/f1 - rm /config/usb_gadget/g1/configs/b.1/f2 - rm /config/usb_gadget/g1/configs/b.1/f3 - rm /config/usb_gadget/g1/configs/b.1/f4 - rm /config/usb_gadget/g1/configs/b.1/f5 - rm /config/usb_gadget/g1/configs/b.1/f6 - rm /config/usb_gadget/g1/configs/b.1/f7 - rm /config/usb_gadget/g1/configs/b.1/f8 - rm /config/usb_gadget/g1/configs/b.1/f9 - write /config/usb_gadget/g1/idVendor 0x05C6 - write /config/usb_gadget/g1/idProduct 0x9004 - write /config/usb_gadget/g1/functions/diag.diag/pid 0x9004 - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f1 - symlink /config/usb_gadget/g1/functions/cser.dun.0 /config/usb_gadget/g1/configs/b.1/f2 - write /config/usb_gadget/g1/UDC ${sys.usb.controller} - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,adb,serial_cdev && property:sys.usb.configfs=1 - start adbd - -on property:sys.usb.ffs.ready=1 && property:sys.usb.config=diag,adb,serial_cdev && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_adb_dun" - rm /config/usb_gadget/g1/configs/b.1/f1 - rm /config/usb_gadget/g1/configs/b.1/f2 - rm /config/usb_gadget/g1/configs/b.1/f3 - rm /config/usb_gadget/g1/configs/b.1/f4 - rm /config/usb_gadget/g1/configs/b.1/f5 - rm /config/usb_gadget/g1/configs/b.1/f6 - rm /config/usb_gadget/g1/configs/b.1/f7 - rm /config/usb_gadget/g1/configs/b.1/f8 - rm /config/usb_gadget/g1/configs/b.1/f9 - write /config/usb_gadget/g1/idVendor 0x05C6 - write /config/usb_gadget/g1/idProduct 0x901f - write /config/usb_gadget/g1/functions/diag.diag/pid 0x901f - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f1 - symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2 - symlink /config/usb_gadget/g1/functions/cser.dun.0 /config/usb_gadget/g1/configs/b.1/f3 - write /config/usb_gadget/g1/UDC ${sys.usb.controller} - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,serial_cdev,rmnet,dpl && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_dun_rmnet_dpl" - rm /config/usb_gadget/g1/configs/b.1/f1 - rm /config/usb_gadget/g1/configs/b.1/f2 - rm /config/usb_gadget/g1/configs/b.1/f3 - rm /config/usb_gadget/g1/configs/b.1/f4 - rm /config/usb_gadget/g1/configs/b.1/f5 - rm /config/usb_gadget/g1/configs/b.1/f6 - rm /config/usb_gadget/g1/configs/b.1/f7 - rm /config/usb_gadget/g1/configs/b.1/f8 - rm /config/usb_gadget/g1/configs/b.1/f9 - write /config/usb_gadget/g1/idVendor 0x05C6 - write /config/usb_gadget/g1/idProduct 0x90b7 - write /config/usb_gadget/g1/functions/diag.diag/pid 0x90b7 - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f1 - symlink /config/usb_gadget/g1/functions/cser.dun.0 /config/usb_gadget/g1/configs/b.1/f2 - symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.rmnet.inst.name} /config/usb_gadget/g1/configs/b.1/f3 - symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.dpl.inst.name} /config/usb_gadget/g1/configs/b.1/f4 - write /config/usb_gadget/g1/UDC ${sys.usb.controller} - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,serial_cdev,rmnet,dpl,adb && property:sys.usb.configfs=1 - start adbd - -on property:sys.usb.ffs.ready=1 && property:sys.usb.config=diag,serial_cdev,rmnet,dpl,adb && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_dun_rmnet_dpl_adb" - rm /config/usb_gadget/g1/configs/b.1/f1 - rm /config/usb_gadget/g1/configs/b.1/f2 - rm /config/usb_gadget/g1/configs/b.1/f3 - rm /config/usb_gadget/g1/configs/b.1/f4 - rm /config/usb_gadget/g1/configs/b.1/f5 - rm /config/usb_gadget/g1/configs/b.1/f6 - rm /config/usb_gadget/g1/configs/b.1/f7 - rm /config/usb_gadget/g1/configs/b.1/f8 - rm /config/usb_gadget/g1/configs/b.1/f9 - write /config/usb_gadget/g1/idVendor 0x05C6 - write /config/usb_gadget/g1/idProduct 0x90b8 - write /config/usb_gadget/g1/functions/diag.diag/pid 0x90b8 - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f1 - symlink /config/usb_gadget/g1/functions/cser.dun.0 /config/usb_gadget/g1/configs/b.1/f2 - symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.rmnet.inst.name} /config/usb_gadget/g1/configs/b.1/f3 - symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.dpl.inst.name} /config/usb_gadget/g1/configs/b.1/f4 - symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f5 - write /config/usb_gadget/g1/UDC ${sys.usb.controller} - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=rndis,diag,dpl && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "rndis_diag_dpl" - rm /config/usb_gadget/g1/configs/b.1/f1 - rm /config/usb_gadget/g1/configs/b.1/f2 - rm /config/usb_gadget/g1/configs/b.1/f3 - rm /config/usb_gadget/g1/configs/b.1/f4 - rm /config/usb_gadget/g1/configs/b.1/f5 - rm /config/usb_gadget/g1/configs/b.1/f6 - rm /config/usb_gadget/g1/configs/b.1/f7 - rm /config/usb_gadget/g1/configs/b.1/f8 - rm /config/usb_gadget/g1/configs/b.1/f9 - write /config/usb_gadget/g1/idVendor 0x05C6 - write /config/usb_gadget/g1/idProduct 0x90bf - symlink /config/usb_gadget/g1/functions/${vendor.usb.rndis.func.name}.rndis /config/usb_gadget/g1/configs/b.1/f1 - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f2 - symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.dpl.inst.name} /config/usb_gadget/g1/configs/b.1/f3 - write /config/usb_gadget/g1/UDC ${sys.usb.controller} - setprop sys.usb.state rndis - -on property:sys.usb.config=rndis,diag,dpl,adb && property:sys.usb.configfs=1 - start adbd - -on property:sys.usb.ffs.ready=1 && property:sys.usb.config=rndis,diag,dpl,adb && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "rndis_diag_dpl_adb" - rm /config/usb_gadget/g1/configs/b.1/f1 - rm /config/usb_gadget/g1/configs/b.1/f2 - rm /config/usb_gadget/g1/configs/b.1/f3 - rm /config/usb_gadget/g1/configs/b.1/f4 - rm /config/usb_gadget/g1/configs/b.1/f5 - rm /config/usb_gadget/g1/configs/b.1/f6 - rm /config/usb_gadget/g1/configs/b.1/f7 - rm /config/usb_gadget/g1/configs/b.1/f8 - rm /config/usb_gadget/g1/configs/b.1/f9 - write /config/usb_gadget/g1/idVendor 0x05C6 - write /config/usb_gadget/g1/idProduct 0x90c0 - symlink /config/usb_gadget/g1/functions/${vendor.usb.rndis.func.name}.rndis /config/usb_gadget/g1/configs/b.1/f1 - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f2 - symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.dpl.inst.name} /config/usb_gadget/g1/configs/b.1/f3 - symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f4 - write /config/usb_gadget/g1/UDC ${sys.usb.controller} - setprop sys.usb.state rndis,adb - -on property:sys.usb.config=ccid && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "ccid" - rm /config/usb_gadget/g1/configs/b.1/f1 - rm /config/usb_gadget/g1/configs/b.1/f2 - rm /config/usb_gadget/g1/configs/b.1/f3 - rm /config/usb_gadget/g1/configs/b.1/f4 - rm /config/usb_gadget/g1/configs/b.1/f5 - rm /config/usb_gadget/g1/configs/b.1/f6 - rm /config/usb_gadget/g1/configs/b.1/f7 - rm /config/usb_gadget/g1/configs/b.1/f8 - rm /config/usb_gadget/g1/configs/b.1/f9 - write /config/usb_gadget/g1/idVendor 0x05C6 - write /config/usb_gadget/g1/idProduct 0x90CE - symlink /config/usb_gadget/g1/functions/ccid.ccid /config/usb_gadget/g1/configs/b.1/f1 - write /config/usb_gadget/g1/UDC ${sys.usb.controller} - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=ccid,adb && property:sys.usb.configfs=1 - start adbd - -on property:sys.usb.ffs.ready=1 && property:sys.usb.config=ccid,adb && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "ccid_adb" - rm /config/usb_gadget/g1/configs/b.1/f1 - rm /config/usb_gadget/g1/configs/b.1/f2 - rm /config/usb_gadget/g1/configs/b.1/f3 - rm /config/usb_gadget/g1/configs/b.1/f4 - rm /config/usb_gadget/g1/configs/b.1/f5 - rm /config/usb_gadget/g1/configs/b.1/f6 - rm /config/usb_gadget/g1/configs/b.1/f7 - rm /config/usb_gadget/g1/configs/b.1/f8 - rm /config/usb_gadget/g1/configs/b.1/f9 - write /config/usb_gadget/g1/idVendor 0x05C6 - write /config/usb_gadget/g1/idProduct 0x90CF - symlink /config/usb_gadget/g1/functions/ccid.ccid /config/usb_gadget/g1/configs/b.1/f1 - symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2 - write /config/usb_gadget/g1/UDC ${sys.usb.controller} - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=ccid,diag && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "ccid_diag" - rm /config/usb_gadget/g1/configs/b.1/f1 - rm /config/usb_gadget/g1/configs/b.1/f2 - rm /config/usb_gadget/g1/configs/b.1/f3 - rm /config/usb_gadget/g1/configs/b.1/f4 - rm /config/usb_gadget/g1/configs/b.1/f5 - rm /config/usb_gadget/g1/configs/b.1/f6 - rm /config/usb_gadget/g1/configs/b.1/f7 - rm /config/usb_gadget/g1/configs/b.1/f8 - rm /config/usb_gadget/g1/configs/b.1/f9 - write /config/usb_gadget/g1/idVendor 0x05C6 - write /config/usb_gadget/g1/idProduct 0x90D0 - symlink /config/usb_gadget/g1/functions/ccid.ccid /config/usb_gadget/g1/configs/b.1/f1 - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f2 - write /config/usb_gadget/g1/UDC ${sys.usb.controller} - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=ccid,diag,adb && property:sys.usb.configfs=1 - start adbd - -on property:sys.usb.ffs.ready=1 && property:sys.usb.config=ccid,diag,adb && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "ccid_diag_adb" - rm /config/usb_gadget/g1/configs/b.1/f1 - rm /config/usb_gadget/g1/configs/b.1/f2 - rm /config/usb_gadget/g1/configs/b.1/f3 - rm /config/usb_gadget/g1/configs/b.1/f4 - rm /config/usb_gadget/g1/configs/b.1/f5 - rm /config/usb_gadget/g1/configs/b.1/f6 - rm /config/usb_gadget/g1/configs/b.1/f7 - rm /config/usb_gadget/g1/configs/b.1/f8 - rm /config/usb_gadget/g1/configs/b.1/f9 - write /config/usb_gadget/g1/idVendor 0x05C6 - write /config/usb_gadget/g1/idProduct 0x90D1 - symlink /config/usb_gadget/g1/functions/ccid.ccid /config/usb_gadget/g1/configs/b.1/f1 - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f2 - symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f3 - write /config/usb_gadget/g1/UDC ${sys.usb.controller} - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,serial_cdev,rmnet,ccid && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_dun_rmnet_ccid" - rm /config/usb_gadget/g1/configs/b.1/f1 - rm /config/usb_gadget/g1/configs/b.1/f2 - rm /config/usb_gadget/g1/configs/b.1/f3 - rm /config/usb_gadget/g1/configs/b.1/f4 - rm /config/usb_gadget/g1/configs/b.1/f5 - rm /config/usb_gadget/g1/configs/b.1/f6 - rm /config/usb_gadget/g1/configs/b.1/f7 - rm /config/usb_gadget/g1/configs/b.1/f8 - rm /config/usb_gadget/g1/configs/b.1/f9 - write /config/usb_gadget/g1/idVendor 0x05C6 - write /config/usb_gadget/g1/idProduct 0x90D2 - write /config/usb_gadget/g1/functions/diag.diag/pid 0x90d2 - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f1 - symlink /config/usb_gadget/g1/functions/cser.dun.0 /config/usb_gadget/g1/configs/b.1/f2 - symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.rmnet.inst.name} /config/usb_gadget/g1/configs/b.1/f3 - symlink /config/usb_gadget/g1/functions/ccid.ccid /config/usb_gadget/g1/configs/b.1/f4 - write /config/usb_gadget/g1/UDC ${sys.usb.controller} - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,serial_cdev,rmnet,ccid,adb && property:sys.usb.configfs=1 - start adbd - -on property:sys.usb.ffs.ready=1 && property:sys.usb.config=diag,serial_cdev,rmnet,ccid,adb && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_dun_rmnet_ccid_adb" - rm /config/usb_gadget/g1/configs/b.1/f1 - rm /config/usb_gadget/g1/configs/b.1/f2 - rm /config/usb_gadget/g1/configs/b.1/f3 - rm /config/usb_gadget/g1/configs/b.1/f4 - rm /config/usb_gadget/g1/configs/b.1/f5 - rm /config/usb_gadget/g1/configs/b.1/f6 - rm /config/usb_gadget/g1/configs/b.1/f7 - rm /config/usb_gadget/g1/configs/b.1/f8 - rm /config/usb_gadget/g1/configs/b.1/f9 - write /config/usb_gadget/g1/idVendor 0x05C6 - write /config/usb_gadget/g1/idProduct 0x90D3 - write /config/usb_gadget/g1/functions/diag.diag/pid 0x90d3 - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f1 - symlink /config/usb_gadget/g1/functions/cser.dun.0 /config/usb_gadget/g1/configs/b.1/f2 - symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.rmnet.inst.name} /config/usb_gadget/g1/configs/b.1/f3 - symlink /config/usb_gadget/g1/functions/ccid.ccid /config/usb_gadget/g1/configs/b.1/f4 - symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f5 - write /config/usb_gadget/g1/UDC ${sys.usb.controller} - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,diag_mdm,qdss,qdss_mdm,serial_cdev,serial_cdev_mdm,rmnet && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_diag_mdm,qdss_qdss_mdm_dun_dun_mdm_rmnet" - rm /config/usb_gadget/g1/configs/b.1/f1 - rm /config/usb_gadget/g1/configs/b.1/f2 - rm /config/usb_gadget/g1/configs/b.1/f3 - rm /config/usb_gadget/g1/configs/b.1/f4 - rm /config/usb_gadget/g1/configs/b.1/f5 - rm /config/usb_gadget/g1/configs/b.1/f6 - rm /config/usb_gadget/g1/configs/b.1/f7 - rm /config/usb_gadget/g1/configs/b.1/f8 - rm /config/usb_gadget/g1/configs/b.1/f9 - write /config/usb_gadget/g1/idVendor 0x05C6 - write /config/usb_gadget/g1/idProduct 0x90D7 - write /config/usb_gadget/g1/functions/diag.diag/pid 0x90d7 - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f1 - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag_mdm /config/usb_gadget/g1/configs/b.1/f2 - symlink /config/usb_gadget/g1/functions/qdss.qdss /config/usb_gadget/g1/configs/b.1/f3 - symlink /config/usb_gadget/g1/functions/qdss.qdss_mdm /config/usb_gadget/g1/configs/b.1/f4 - symlink /config/usb_gadget/g1/functions/cser.dun.0 /config/usb_gadget/g1/configs/b.1/f5 - symlink /config/usb_gadget/g1/functions/cser.dun.2 /config/usb_gadget/g1/configs/b.1/f6 - symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.rmnet.inst.name} /config/usb_gadget/g1/configs/b.1/f7 - write /config/usb_gadget/g1/UDC ${sys.usb.controller} - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,diag_mdm,qdss,qdss_mdm,serial_cdev,serial_cdev_mdm,rmnet,adb && property:sys.usb.configfs=1 - start adbd - -on property:sys.usb.ffs.ready=1 && property:sys.usb.config=diag,diag_mdm,qdss,qdss_mdm,serial_cdev,serial_cdev_mdm,rmnet,adb && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_diag_mdm,qdss_qdss_mdm_dun_dun_mdm_rmnet_adb" - rm /config/usb_gadget/g1/configs/b.1/f1 - rm /config/usb_gadget/g1/configs/b.1/f2 - rm /config/usb_gadget/g1/configs/b.1/f3 - rm /config/usb_gadget/g1/configs/b.1/f4 - rm /config/usb_gadget/g1/configs/b.1/f5 - rm /config/usb_gadget/g1/configs/b.1/f6 - rm /config/usb_gadget/g1/configs/b.1/f7 - rm /config/usb_gadget/g1/configs/b.1/f8 - rm /config/usb_gadget/g1/configs/b.1/f9 - write /config/usb_gadget/g1/idVendor 0x05C6 - write /config/usb_gadget/g1/idProduct 0x90D8 - write /config/usb_gadget/g1/functions/diag.diag/pid 0x90d8 - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f1 - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag_mdm /config/usb_gadget/g1/configs/b.1/f2 - symlink /config/usb_gadget/g1/functions/qdss.qdss /config/usb_gadget/g1/configs/b.1/f3 - symlink /config/usb_gadget/g1/functions/qdss.qdss_mdm /config/usb_gadget/g1/configs/b.1/f4 - symlink /config/usb_gadget/g1/functions/cser.dun.0 /config/usb_gadget/g1/configs/b.1/f5 - symlink /config/usb_gadget/g1/functions/cser.dun.2 /config/usb_gadget/g1/configs/b.1/f6 - symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.rmnet.inst.name} /config/usb_gadget/g1/configs/b.1/f7 - symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f8 - write /config/usb_gadget/g1/UDC ${sys.usb.controller} - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,diag_mdm,qdss,qdss_mdm,serial_cdev,serial_cdev_mdm,dpl,rmnet && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_diag_mdm,qdss_qdss_mdm_dun_dun_mdm_dpl_rmnet" - rm /config/usb_gadget/g1/configs/b.1/f1 - rm /config/usb_gadget/g1/configs/b.1/f2 - rm /config/usb_gadget/g1/configs/b.1/f3 - rm /config/usb_gadget/g1/configs/b.1/f4 - rm /config/usb_gadget/g1/configs/b.1/f5 - rm /config/usb_gadget/g1/configs/b.1/f6 - rm /config/usb_gadget/g1/configs/b.1/f7 - rm /config/usb_gadget/g1/configs/b.1/f8 - rm /config/usb_gadget/g1/configs/b.1/f9 - write /config/usb_gadget/g1/idVendor 0x05C6 - write /config/usb_gadget/g1/idProduct 0x90DD - write /config/usb_gadget/g1/functions/diag.diag/pid 0x90dd - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f1 - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag_mdm /config/usb_gadget/g1/configs/b.1/f2 - symlink /config/usb_gadget/g1/functions/qdss.qdss /config/usb_gadget/g1/configs/b.1/f3 - symlink /config/usb_gadget/g1/functions/qdss.qdss_mdm /config/usb_gadget/g1/configs/b.1/f4 - symlink /config/usb_gadget/g1/functions/cser.dun.0 /config/usb_gadget/g1/configs/b.1/f5 - symlink /config/usb_gadget/g1/functions/cser.dun.2 /config/usb_gadget/g1/configs/b.1/f6 - symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.dpl.inst.name} /config/usb_gadget/g1/configs/b.1/f7 - symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.rmnet.inst.name} /config/usb_gadget/g1/configs/b.1/f8 - write /config/usb_gadget/g1/UDC ${sys.usb.controller} - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,diag_mdm,qdss,qdss_mdm,serial_cdev,serial_cdev_mdm,dpl,rmnet,adb && property:sys.usb.configfs=1 - start adbd - -on property:sys.usb.ffs.ready=1 && property:sys.usb.config=diag,diag_mdm,qdss,qdss_mdm,serial_cdev,serial_cdev_mdm,dpl,rmnet,adb && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_diag_mdm,qdss_qdss_mdm_dun_dun_mdm_dpl_rmnet_adb" - rm /config/usb_gadget/g1/configs/b.1/f1 - rm /config/usb_gadget/g1/configs/b.1/f2 - rm /config/usb_gadget/g1/configs/b.1/f3 - rm /config/usb_gadget/g1/configs/b.1/f4 - rm /config/usb_gadget/g1/configs/b.1/f5 - rm /config/usb_gadget/g1/configs/b.1/f6 - rm /config/usb_gadget/g1/configs/b.1/f7 - rm /config/usb_gadget/g1/configs/b.1/f8 - rm /config/usb_gadget/g1/configs/b.1/f9 - write /config/usb_gadget/g1/idVendor 0x05C6 - write /config/usb_gadget/g1/idProduct 0x90DE - write /config/usb_gadget/g1/functions/diag.diag/pid 0x90de - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f1 - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag_mdm /config/usb_gadget/g1/configs/b.1/f2 - symlink /config/usb_gadget/g1/functions/qdss.qdss /config/usb_gadget/g1/configs/b.1/f3 - symlink /config/usb_gadget/g1/functions/qdss.qdss_mdm /config/usb_gadget/g1/configs/b.1/f4 - symlink /config/usb_gadget/g1/functions/cser.dun.0 /config/usb_gadget/g1/configs/b.1/f5 - symlink /config/usb_gadget/g1/functions/cser.dun.2 /config/usb_gadget/g1/configs/b.1/f6 - symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.dpl.inst.name} /config/usb_gadget/g1/configs/b.1/f7 - symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.rmnet.inst.name} /config/usb_gadget/g1/configs/b.1/f8 - symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f9 - write /config/usb_gadget/g1/UDC ${sys.usb.controller} - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,serial_cdev,rmnet,dpl,qdss && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_dun_rmnet_dpl_qdss" - rm /config/usb_gadget/g1/configs/b.1/f1 - rm /config/usb_gadget/g1/configs/b.1/f2 - rm /config/usb_gadget/g1/configs/b.1/f3 - rm /config/usb_gadget/g1/configs/b.1/f4 - rm /config/usb_gadget/g1/configs/b.1/f5 - rm /config/usb_gadget/g1/configs/b.1/f6 - rm /config/usb_gadget/g1/configs/b.1/f7 - rm /config/usb_gadget/g1/configs/b.1/f8 - rm /config/usb_gadget/g1/configs/b.1/f9 - write /config/usb_gadget/g1/idVendor 0x05C6 - write /config/usb_gadget/g1/idProduct 0x90DC - write /config/usb_gadget/g1/functions/diag.diag/pid 0x90dc - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f1 - symlink /config/usb_gadget/g1/functions/cser.dun.0 /config/usb_gadget/g1/configs/b.1/f2 - symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.rmnet.inst.name} /config/usb_gadget/g1/configs/b.1/f3 - symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.dpl.inst.name} /config/usb_gadget/g1/configs/b.1/f4 - symlink /config/usb_gadget/g1/functions/qdss.${vendor.usb.qdss.inst.name} /config/usb_gadget/g1/configs/b.1/f5 - write /config/usb_gadget/g1/UDC ${sys.usb.controller} - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,serial_cdev,rmnet,dpl,qdss,adb && property:sys.usb.configfs=1 - start adbd - -on property:sys.usb.ffs.ready=1 && property:sys.usb.config=diag,serial_cdev,rmnet,dpl,qdss,adb && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_dun_rmnet_dpl_qdss_adb" - rm /config/usb_gadget/g1/configs/b.1/f1 - rm /config/usb_gadget/g1/configs/b.1/f2 - rm /config/usb_gadget/g1/configs/b.1/f3 - rm /config/usb_gadget/g1/configs/b.1/f4 - rm /config/usb_gadget/g1/configs/b.1/f5 - rm /config/usb_gadget/g1/configs/b.1/f6 - rm /config/usb_gadget/g1/configs/b.1/f7 - rm /config/usb_gadget/g1/configs/b.1/f8 - rm /config/usb_gadget/g1/configs/b.1/f9 - write /config/usb_gadget/g1/idVendor 0x05C6 - write /config/usb_gadget/g1/idProduct 0x90DB - write /config/usb_gadget/g1/functions/diag.diag/pid 0x90db - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f1 - symlink /config/usb_gadget/g1/functions/cser.dun.0 /config/usb_gadget/g1/configs/b.1/f2 - symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.rmnet.inst.name} /config/usb_gadget/g1/configs/b.1/f3 - symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.dpl.inst.name} /config/usb_gadget/g1/configs/b.1/f4 - symlink /config/usb_gadget/g1/functions/qdss.${vendor.usb.qdss.inst.name} /config/usb_gadget/g1/configs/b.1/f5 - symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f6 - write /config/usb_gadget/g1/UDC ${sys.usb.controller} - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,uac2,adb && property:sys.usb.configfs=1 - start adbd - -on property:sys.usb.ffs.ready=1 && property:sys.usb.config=diag,uac2,adb && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_uac2_adb" - rm /config/usb_gadget/g1/configs/b.1/f1 - rm /config/usb_gadget/g1/configs/b.1/f2 - rm /config/usb_gadget/g1/configs/b.1/f3 - rm /config/usb_gadget/g1/configs/b.1/f4 - rm /config/usb_gadget/g1/configs/b.1/f5 - rm /config/usb_gadget/g1/configs/b.1/f6 - rm /config/usb_gadget/g1/configs/b.1/f7 - rm /config/usb_gadget/g1/configs/b.1/f8 - rm /config/usb_gadget/g1/configs/b.1/f9 - write /config/usb_gadget/g1/idVendor 0x05C6 - write /config/usb_gadget/g1/idProduct 0x90CA - write /config/usb_gadget/g1/functions/diag.diag/pid 0x90ca - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f1 - symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2 - symlink /config/usb_gadget/g1/functions/uac2.0 /config/usb_gadget/g1/configs/b.1/f3 - write /config/usb_gadget/g1/UDC ${sys.usb.controller} - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,uac2 && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_uac2" - rm /config/usb_gadget/g1/configs/b.1/f1 - rm /config/usb_gadget/g1/configs/b.1/f2 - rm /config/usb_gadget/g1/configs/b.1/f3 - rm /config/usb_gadget/g1/configs/b.1/f4 - rm /config/usb_gadget/g1/configs/b.1/f5 - rm /config/usb_gadget/g1/configs/b.1/f6 - rm /config/usb_gadget/g1/configs/b.1/f7 - rm /config/usb_gadget/g1/configs/b.1/f8 - rm /config/usb_gadget/g1/configs/b.1/f9 - write /config/usb_gadget/g1/idVendor 0x05C6 - write /config/usb_gadget/g1/idProduct 0x901C - write /config/usb_gadget/g1/functions/diag.diag/pid 0x901c - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f1 - symlink /config/usb_gadget/g1/functions/uac2.0 /config/usb_gadget/g1/configs/b.1/f2 - write /config/usb_gadget/g1/UDC ${sys.usb.controller} - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,uvc,adb && property:sys.usb.configfs=1 - start adbd - -on property:sys.usb.ffs.ready=1 && property:sys.usb.config=diag,uvc,adb && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_uvc_adb" - rm /config/usb_gadget/g1/configs/b.1/f1 - rm /config/usb_gadget/g1/configs/b.1/f2 - rm /config/usb_gadget/g1/configs/b.1/f3 - rm /config/usb_gadget/g1/configs/b.1/f4 - rm /config/usb_gadget/g1/configs/b.1/f5 - rm /config/usb_gadget/g1/configs/b.1/f6 - rm /config/usb_gadget/g1/configs/b.1/f7 - rm /config/usb_gadget/g1/configs/b.1/f8 - rm /config/usb_gadget/g1/configs/b.1/f9 - write /config/usb_gadget/g1/idVendor 0x05C6 - write /config/usb_gadget/g1/idProduct 0x90CB - write /config/usb_gadget/g1/functions/diag.diag/pid 0x90cb - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f1 - symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2 - symlink /config/usb_gadget/g1/functions/uvc.0 /config/usb_gadget/g1/configs/b.1/f3 - write /config/usb_gadget/g1/UDC ${sys.usb.controller} - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,uvc && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_uvc" - rm /config/usb_gadget/g1/configs/b.1/f1 - rm /config/usb_gadget/g1/configs/b.1/f2 - rm /config/usb_gadget/g1/configs/b.1/f3 - rm /config/usb_gadget/g1/configs/b.1/f4 - rm /config/usb_gadget/g1/configs/b.1/f5 - rm /config/usb_gadget/g1/configs/b.1/f6 - rm /config/usb_gadget/g1/configs/b.1/f7 - rm /config/usb_gadget/g1/configs/b.1/f8 - rm /config/usb_gadget/g1/configs/b.1/f9 - write /config/usb_gadget/g1/idVendor 0x05C6 - write /config/usb_gadget/g1/idProduct 0x90DF - write /config/usb_gadget/g1/functions/diag.diag/pid 0x90df - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f1 - symlink /config/usb_gadget/g1/functions/uvc.0 /config/usb_gadget/g1/configs/b.1/f2 - write /config/usb_gadget/g1/UDC ${sys.usb.controller} - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,uac2,uvc,adb && property:sys.usb.configfs=1 - start adbd - -on property:sys.usb.ffs.ready=1 && property:sys.usb.config=diag,uac2,uvc,adb && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_uac2_uvc_adb" - rm /config/usb_gadget/g1/configs/b.1/f1 - rm /config/usb_gadget/g1/configs/b.1/f2 - rm /config/usb_gadget/g1/configs/b.1/f3 - rm /config/usb_gadget/g1/configs/b.1/f4 - rm /config/usb_gadget/g1/configs/b.1/f5 - rm /config/usb_gadget/g1/configs/b.1/f6 - rm /config/usb_gadget/g1/configs/b.1/f7 - rm /config/usb_gadget/g1/configs/b.1/f8 - rm /config/usb_gadget/g1/configs/b.1/f9 - write /config/usb_gadget/g1/idVendor 0x05C6 - write /config/usb_gadget/g1/idProduct 0x90CC - write /config/usb_gadget/g1/functions/diag.diag/pid 0x90cc - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f1 - symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2 - symlink /config/usb_gadget/g1/functions/uac2.0 /config/usb_gadget/g1/configs/b.1/f3 - symlink /config/usb_gadget/g1/functions/uvc.0 /config/usb_gadget/g1/configs/b.1/f4 - write /config/usb_gadget/g1/UDC ${sys.usb.controller} - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,uac2,uvc && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_uac2_uvc" - rm /config/usb_gadget/g1/configs/b.1/f1 - rm /config/usb_gadget/g1/configs/b.1/f2 - rm /config/usb_gadget/g1/configs/b.1/f3 - rm /config/usb_gadget/g1/configs/b.1/f4 - rm /config/usb_gadget/g1/configs/b.1/f5 - rm /config/usb_gadget/g1/configs/b.1/f6 - rm /config/usb_gadget/g1/configs/b.1/f7 - rm /config/usb_gadget/g1/configs/b.1/f8 - rm /config/usb_gadget/g1/configs/b.1/f9 - write /config/usb_gadget/g1/idVendor 0x05C6 - write /config/usb_gadget/g1/idProduct 0x90E0 - write /config/usb_gadget/g1/functions/diag.diag/pid 0x90e0 - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f1 - symlink /config/usb_gadget/g1/functions/uac2.0 /config/usb_gadget/g1/configs/b.1/f2 - symlink /config/usb_gadget/g1/functions/uvc.0 /config/usb_gadget/g1/configs/b.1/f3 - write /config/usb_gadget/g1/UDC ${sys.usb.controller} - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.ffs.ready=1 && property:sys.usb.config=diag,diag_mdm,qdss,qdss_mdm,serial_cdev,dpl,rmnet && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_diag_mdm_qdss_qdss_mdm_dun_dpl_rmnet" - rm /config/usb_gadget/g1/configs/b.1/f1 - rm /config/usb_gadget/g1/configs/b.1/f2 - rm /config/usb_gadget/g1/configs/b.1/f3 - rm /config/usb_gadget/g1/configs/b.1/f4 - rm /config/usb_gadget/g1/configs/b.1/f5 - rm /config/usb_gadget/g1/configs/b.1/f6 - rm /config/usb_gadget/g1/configs/b.1/f7 - rm /config/usb_gadget/g1/configs/b.1/f8 - rm /config/usb_gadget/g1/configs/b.1/f9 - write /config/usb_gadget/g1/idVendor 0x05C6 - write /config/usb_gadget/g1/idProduct 0x90E4 - write /config/usb_gadget/g1/functions/diag.diag/pid 0x90e4 - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f1 - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag_mdm /config/usb_gadget/g1/configs/b.1/f2 - symlink /config/usb_gadget/g1/functions/qdss.qdss /config/usb_gadget/g1/configs/b.1/f3 - symlink /config/usb_gadget/g1/functions/qdss.qdss_mdm /config/usb_gadget/g1/configs/b.1/f4 - symlink /config/usb_gadget/g1/functions/cser.dun.0 /config/usb_gadget/g1/configs/b.1/f5 - symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.dpl.inst.name} /config/usb_gadget/g1/configs/b.1/f6 - symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.rmnet.inst.name} /config/usb_gadget/g1/configs/b.1/f7 - write /config/usb_gadget/g1/UDC ${sys.usb.controller} - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,diag_mdm,qdss,qdss_mdm,serial_cdev,dpl,rmnet,adb && property:sys.usb.configfs=1 - start adbd - -on property:sys.usb.ffs.ready=1 && property:sys.usb.config=diag,diag_mdm,qdss,qdss_mdm,serial_cdev,dpl,rmnet,adb && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_diag_mdm_qdss_qdss_mdm_dun_dpl_rmnet_adb" - rm /config/usb_gadget/g1/configs/b.1/f1 - rm /config/usb_gadget/g1/configs/b.1/f2 - rm /config/usb_gadget/g1/configs/b.1/f3 - rm /config/usb_gadget/g1/configs/b.1/f4 - rm /config/usb_gadget/g1/configs/b.1/f5 - rm /config/usb_gadget/g1/configs/b.1/f6 - rm /config/usb_gadget/g1/configs/b.1/f7 - rm /config/usb_gadget/g1/configs/b.1/f8 - rm /config/usb_gadget/g1/configs/b.1/f9 - write /config/usb_gadget/g1/idVendor 0x05C6 - write /config/usb_gadget/g1/idProduct 0x90E5 - write /config/usb_gadget/g1/functions/diag.diag/pid 0x90e5 - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f1 - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag_mdm /config/usb_gadget/g1/configs/b.1/f2 - symlink /config/usb_gadget/g1/functions/qdss.qdss /config/usb_gadget/g1/configs/b.1/f3 - symlink /config/usb_gadget/g1/functions/qdss.qdss_mdm /config/usb_gadget/g1/configs/b.1/f4 - symlink /config/usb_gadget/g1/functions/cser.dun.0 /config/usb_gadget/g1/configs/b.1/f5 - symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.dpl.inst.name} /config/usb_gadget/g1/configs/b.1/f6 - symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.rmnet.inst.name} /config/usb_gadget/g1/configs/b.1/f7 - symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f8 - write /config/usb_gadget/g1/UDC ${sys.usb.controller} - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.ffs.ready=1 && property:sys.usb.config=rndis,diag,diag_mdm,qdss,qdss_mdm,serial_cdev,dpl && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "rndis_diag_diag_mdm_qdss_qdss_mdm_dun_dpl" - rm /config/usb_gadget/g1/configs/b.1/f1 - rm /config/usb_gadget/g1/configs/b.1/f2 - rm /config/usb_gadget/g1/configs/b.1/f3 - rm /config/usb_gadget/g1/configs/b.1/f4 - rm /config/usb_gadget/g1/configs/b.1/f5 - rm /config/usb_gadget/g1/configs/b.1/f6 - rm /config/usb_gadget/g1/configs/b.1/f7 - rm /config/usb_gadget/g1/configs/b.1/f8 - rm /config/usb_gadget/g1/configs/b.1/f9 - write /config/usb_gadget/g1/idVendor 0x05C6 - write /config/usb_gadget/g1/idProduct 0x90E6 - symlink /config/usb_gadget/g1/functions/${vendor.usb.rndis.func.name}.rndis /config/usb_gadget/g1/configs/b.1/f1 - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f2 - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag_mdm /config/usb_gadget/g1/configs/b.1/f3 - symlink /config/usb_gadget/g1/functions/qdss.qdss /config/usb_gadget/g1/configs/b.1/f4 - symlink /config/usb_gadget/g1/functions/qdss.qdss_mdm /config/usb_gadget/g1/configs/b.1/f5 - symlink /config/usb_gadget/g1/functions/cser.dun.0 /config/usb_gadget/g1/configs/b.1/f6 - symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.dpl.inst.name} /config/usb_gadget/g1/configs/b.1/f7 - write /config/usb_gadget/g1/UDC ${sys.usb.controller} - setprop sys.usb.state rndis - -on property:sys.usb.config=rndis,diag,diag_mdm,qdss,qdss_mdm,serial_cdev,dpl,adb && property:sys.usb.configfs=1 - start adbd - -on property:sys.usb.ffs.ready=1 && property:sys.usb.config=rndis,diag,diag_mdm,qdss,qdss_mdm,serial_cdev,dpl,adb && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "rndis_diag_diag_mdm_qdss_qdss_mdm_dun_dpl_adb" - rm /config/usb_gadget/g1/configs/b.1/f1 - rm /config/usb_gadget/g1/configs/b.1/f2 - rm /config/usb_gadget/g1/configs/b.1/f3 - rm /config/usb_gadget/g1/configs/b.1/f4 - rm /config/usb_gadget/g1/configs/b.1/f5 - rm /config/usb_gadget/g1/configs/b.1/f6 - rm /config/usb_gadget/g1/configs/b.1/f7 - rm /config/usb_gadget/g1/configs/b.1/f8 - rm /config/usb_gadget/g1/configs/b.1/f9 - write /config/usb_gadget/g1/idVendor 0x05C6 - write /config/usb_gadget/g1/idProduct 0x90E7 - symlink /config/usb_gadget/g1/functions/${vendor.usb.rndis.func.name}.rndis /config/usb_gadget/g1/configs/b.1/f1 - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f2 - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag_mdm /config/usb_gadget/g1/configs/b.1/f3 - symlink /config/usb_gadget/g1/functions/qdss.qdss /config/usb_gadget/g1/configs/b.1/f4 - symlink /config/usb_gadget/g1/functions/qdss.qdss_mdm /config/usb_gadget/g1/configs/b.1/f5 - symlink /config/usb_gadget/g1/functions/cser.dun.0 /config/usb_gadget/g1/configs/b.1/f6 - symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.dpl.inst.name} /config/usb_gadget/g1/configs/b.1/f7 - symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f8 - write /config/usb_gadget/g1/UDC ${sys.usb.controller} - setprop sys.usb.state rndis,adb - -on property:sys.usb.ffs.ready=1 && property:sys.usb.config=rndis,diag,qdss,serial_cdev,dpl && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "rndis_diag_qdss_dun_dpl" - rm /config/usb_gadget/g1/configs/b.1/f1 - rm /config/usb_gadget/g1/configs/b.1/f2 - rm /config/usb_gadget/g1/configs/b.1/f3 - rm /config/usb_gadget/g1/configs/b.1/f4 - rm /config/usb_gadget/g1/configs/b.1/f5 - rm /config/usb_gadget/g1/configs/b.1/f6 - rm /config/usb_gadget/g1/configs/b.1/f7 - rm /config/usb_gadget/g1/configs/b.1/f8 - rm /config/usb_gadget/g1/configs/b.1/f9 - write /config/usb_gadget/g1/idVendor 0x05C6 - write /config/usb_gadget/g1/idProduct 0x90E8 - symlink /config/usb_gadget/g1/functions/${vendor.usb.rndis.func.name}.rndis /config/usb_gadget/g1/configs/b.1/f1 - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f2 - symlink /config/usb_gadget/g1/functions/qdss.${vendor.usb.qdss.inst.name} /config/usb_gadget/g1/configs/b.1/f3 - symlink /config/usb_gadget/g1/functions/cser.dun.0 /config/usb_gadget/g1/configs/b.1/f4 - symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.dpl.inst.name} /config/usb_gadget/g1/configs/b.1/f5 - write /config/usb_gadget/g1/UDC ${sys.usb.controller} - setprop sys.usb.state rndis - -on property:sys.usb.config=rndis,diag,qdss,serial_cdev,dpl,adb && property:sys.usb.configfs=1 - start adbd - -on property:sys.usb.ffs.ready=1 && property:sys.usb.config=rndis,diag,qdss,serial_cdev,dpl,adb && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "rndis_diag_qdss_dun_dpl_adb" - rm /config/usb_gadget/g1/configs/b.1/f1 - rm /config/usb_gadget/g1/configs/b.1/f2 - rm /config/usb_gadget/g1/configs/b.1/f3 - rm /config/usb_gadget/g1/configs/b.1/f4 - rm /config/usb_gadget/g1/configs/b.1/f5 - rm /config/usb_gadget/g1/configs/b.1/f6 - rm /config/usb_gadget/g1/configs/b.1/f7 - rm /config/usb_gadget/g1/configs/b.1/f8 - rm /config/usb_gadget/g1/configs/b.1/f9 - write /config/usb_gadget/g1/idVendor 0x05C6 - write /config/usb_gadget/g1/idProduct 0x90E9 - symlink /config/usb_gadget/g1/functions/${vendor.usb.rndis.func.name}.rndis /config/usb_gadget/g1/configs/b.1/f1 - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f2 - symlink /config/usb_gadget/g1/functions/qdss.${vendor.usb.qdss.inst.name} /config/usb_gadget/g1/configs/b.1/f3 - symlink /config/usb_gadget/g1/functions/cser.dun.0 /config/usb_gadget/g1/configs/b.1/f4 - symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.dpl.inst.name} /config/usb_gadget/g1/configs/b.1/f5 - symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f6 - write /config/usb_gadget/g1/UDC ${sys.usb.controller} - setprop sys.usb.state rndis,adb - -on property:sys.usb.config=diag,diag_mdm,adb && property:sys.usb.configfs=1 - start adbd - -on property:sys.usb.ffs.ready=1 && property:sys.usb.config=diag,diag_mdm,adb && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_diag_mdm_adb" - rm /config/usb_gadget/g1/configs/b.1/f1 - rm /config/usb_gadget/g1/configs/b.1/f2 - rm /config/usb_gadget/g1/configs/b.1/f3 - rm /config/usb_gadget/g1/configs/b.1/f4 - rm /config/usb_gadget/g1/configs/b.1/f5 - rm /config/usb_gadget/g1/configs/b.1/f6 - rm /config/usb_gadget/g1/configs/b.1/f7 - rm /config/usb_gadget/g1/configs/b.1/f8 - rm /config/usb_gadget/g1/configs/b.1/f9 - write /config/usb_gadget/g1/idVendor 0x05C6 - write /config/usb_gadget/g1/idProduct 0x90D9 - write /config/usb_gadget/g1/functions/diag.diag/pid 0x90d9 - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f1 - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag_mdm /config/usb_gadget/g1/configs/b.1/f2 - symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f3 - write /config/usb_gadget/g1/UDC ${sys.usb.controller} - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.ffs.ready=1 && property:sys.usb.config=diag,diag_mdm,diag_mdm2,qdss,qdss_mdm,serial_cdev,dpl,rmnet && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_diag_mdm_diag_mdm2_qdss_qdss_mdm_dun_dpl_rmnet" - rm /config/usb_gadget/g1/configs/b.1/f1 - rm /config/usb_gadget/g1/configs/b.1/f2 - rm /config/usb_gadget/g1/configs/b.1/f3 - rm /config/usb_gadget/g1/configs/b.1/f4 - rm /config/usb_gadget/g1/configs/b.1/f5 - rm /config/usb_gadget/g1/configs/b.1/f6 - rm /config/usb_gadget/g1/configs/b.1/f7 - rm /config/usb_gadget/g1/configs/b.1/f8 - rm /config/usb_gadget/g1/configs/b.1/f9 - write /config/usb_gadget/g1/idVendor 0x05C6 - write /config/usb_gadget/g1/idProduct 0x90F6 - write /config/usb_gadget/g1/functions/diag.diag/pid 0x90f6 - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f1 - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag_mdm /config/usb_gadget/g1/configs/b.1/f2 - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag_mdm2 /config/usb_gadget/g1/configs/b.1/f3 - symlink /config/usb_gadget/g1/functions/qdss.qdss /config/usb_gadget/g1/configs/b.1/f4 - symlink /config/usb_gadget/g1/functions/qdss.qdss_mdm /config/usb_gadget/g1/configs/b.1/f5 - symlink /config/usb_gadget/g1/functions/cser.dun.0 /config/usb_gadget/g1/configs/b.1/f6 - symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.dpl.inst.name} /config/usb_gadget/g1/configs/b.1/f7 - symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.rmnet.inst.name} /config/usb_gadget/g1/configs/b.1/f8 - write /config/usb_gadget/g1/UDC ${sys.usb.controller} - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,diag_mdm,diag_mdm2,qdss,qdss_mdm,serial_cdev,dpl,rmnet,adb && property:sys.usb.configfs=1 - start adbd - -on property:sys.usb.ffs.ready=1 && property:sys.usb.config=diag,diag_mdm,diag_mdm2,qdss,qdss_mdm,serial_cdev,dpl,rmnet,adb && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_diag_mdm_diag_mdm2_qdss_qdss_mdm_dun_dpl_rmnet_adb" - rm /config/usb_gadget/g1/configs/b.1/f1 - rm /config/usb_gadget/g1/configs/b.1/f2 - rm /config/usb_gadget/g1/configs/b.1/f3 - rm /config/usb_gadget/g1/configs/b.1/f4 - rm /config/usb_gadget/g1/configs/b.1/f5 - rm /config/usb_gadget/g1/configs/b.1/f6 - rm /config/usb_gadget/g1/configs/b.1/f7 - rm /config/usb_gadget/g1/configs/b.1/f8 - rm /config/usb_gadget/g1/configs/b.1/f9 - write /config/usb_gadget/g1/idVendor 0x05C6 - write /config/usb_gadget/g1/idProduct 0x90F7 - write /config/usb_gadget/g1/functions/diag.diag/pid 0x90f7 - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f1 - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag_mdm /config/usb_gadget/g1/configs/b.1/f2 - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag_mdm2 /config/usb_gadget/g1/configs/b.1/f3 - symlink /config/usb_gadget/g1/functions/qdss.qdss /config/usb_gadget/g1/configs/b.1/f4 - symlink /config/usb_gadget/g1/functions/qdss.qdss_mdm /config/usb_gadget/g1/configs/b.1/f5 - symlink /config/usb_gadget/g1/functions/cser.dun.0 /config/usb_gadget/g1/configs/b.1/f6 - symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.dpl.inst.name} /config/usb_gadget/g1/configs/b.1/f7 - symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.rmnet.inst.name} /config/usb_gadget/g1/configs/b.1/f8 - symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f9 - write /config/usb_gadget/g1/UDC ${sys.usb.controller} - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.ffs.ready=1 && property:sys.usb.config=rndis,diag,diag_mdm,diag_mdm2,qdss,qdss_mdm,serial_cdev,dpl && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "rndis_diag_diag_mdm_diag_mdm2_qdss_qdss_mdm_dun_dpl" - rm /config/usb_gadget/g1/configs/b.1/f1 - rm /config/usb_gadget/g1/configs/b.1/f2 - rm /config/usb_gadget/g1/configs/b.1/f3 - rm /config/usb_gadget/g1/configs/b.1/f4 - rm /config/usb_gadget/g1/configs/b.1/f5 - rm /config/usb_gadget/g1/configs/b.1/f6 - rm /config/usb_gadget/g1/configs/b.1/f7 - rm /config/usb_gadget/g1/configs/b.1/f8 - rm /config/usb_gadget/g1/configs/b.1/f9 - write /config/usb_gadget/g1/idVendor 0x05C6 - write /config/usb_gadget/g1/idProduct 0x90F8 - symlink /config/usb_gadget/g1/functions/${vendor.usb.rndis.func.name}.rndis /config/usb_gadget/g1/configs/b.1/f1 - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f2 - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag_mdm /config/usb_gadget/g1/configs/b.1/f3 - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag_mdm2 /config/usb_gadget/g1/configs/b.1/f4 - symlink /config/usb_gadget/g1/functions/qdss.qdss /config/usb_gadget/g1/configs/b.1/f5 - symlink /config/usb_gadget/g1/functions/qdss.qdss_mdm /config/usb_gadget/g1/configs/b.1/f6 - symlink /config/usb_gadget/g1/functions/cser.dun.0 /config/usb_gadget/g1/configs/b.1/f7 - symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.dpl.inst.name} /config/usb_gadget/g1/configs/b.1/f8 - write /config/usb_gadget/g1/UDC ${sys.usb.controller} - setprop sys.usb.state rndis - -on property:sys.usb.config=rndis,diag,diag_mdm,diag_mdm2,qdss,qdss_mdm,serial_cdev,dpl,adb && property:sys.usb.configfs=1 - start adbd - -on property:sys.usb.ffs.ready=1 && property:sys.usb.config=rndis,diag,diag_mdm,diag_mdm2,qdss,qdss_mdm,serial_cdev,dpl,adb && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "rndis_diag_diag_mdm_diag_mdm2_qdss_qdss_mdm_dun_dpl_adb" - rm /config/usb_gadget/g1/configs/b.1/f1 - rm /config/usb_gadget/g1/configs/b.1/f2 - rm /config/usb_gadget/g1/configs/b.1/f3 - rm /config/usb_gadget/g1/configs/b.1/f4 - rm /config/usb_gadget/g1/configs/b.1/f5 - rm /config/usb_gadget/g1/configs/b.1/f6 - rm /config/usb_gadget/g1/configs/b.1/f7 - rm /config/usb_gadget/g1/configs/b.1/f8 - rm /config/usb_gadget/g1/configs/b.1/f9 - write /config/usb_gadget/g1/idVendor 0x05C6 - write /config/usb_gadget/g1/idProduct 0x90F9 - symlink /config/usb_gadget/g1/functions/${vendor.usb.rndis.func.name}.rndis /config/usb_gadget/g1/configs/b.1/f1 - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f2 - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag_mdm /config/usb_gadget/g1/configs/b.1/f3 - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag_mdm2 /config/usb_gadget/g1/configs/b.1/f4 - symlink /config/usb_gadget/g1/functions/qdss.qdss /config/usb_gadget/g1/configs/b.1/f5 - symlink /config/usb_gadget/g1/functions/qdss.qdss_mdm /config/usb_gadget/g1/configs/b.1/f6 - symlink /config/usb_gadget/g1/functions/cser.dun.0 /config/usb_gadget/g1/configs/b.1/f7 - symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.dpl.inst.name} /config/usb_gadget/g1/configs/b.1/f8 - symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f9 - write /config/usb_gadget/g1/UDC ${sys.usb.controller} - setprop sys.usb.state rndis,adb - -on property:sys.usb.config=diag,diag_mdm,ccid && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_diag_mdm_ccid" - rm /config/usb_gadget/g1/configs/b.1/f1 - rm /config/usb_gadget/g1/configs/b.1/f2 - rm /config/usb_gadget/g1/configs/b.1/f3 - rm /config/usb_gadget/g1/configs/b.1/f4 - rm /config/usb_gadget/g1/configs/b.1/f5 - rm /config/usb_gadget/g1/configs/b.1/f6 - rm /config/usb_gadget/g1/configs/b.1/f7 - rm /config/usb_gadget/g1/configs/b.1/f8 - rm /config/usb_gadget/g1/configs/b.1/f9 - write /config/usb_gadget/g1/idVendor 0x05C6 - write /config/usb_gadget/g1/idProduct 0x9045 - write /config/usb_gadget/g1/functions/diag.diag/pid 0x9045 - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f1 - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag_mdm /config/usb_gadget/g1/configs/b.1/f2 - symlink /config/usb_gadget/g1/functions/ccid.ccid /config/usb_gadget/g1/configs/b.1/f3 - write /config/usb_gadget/g1/UDC ${sys.usb.controller} - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,diag_mdm,adb,ccid && property:sys.usb.configfs=1 - start adbd - -on property:sys.usb.ffs.ready=1 && property:sys.usb.config=diag,diag_mdm,adb,ccid && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_diag_mdm_adb_ccid" - rm /config/usb_gadget/g1/configs/b.1/f1 - rm /config/usb_gadget/g1/configs/b.1/f2 - rm /config/usb_gadget/g1/configs/b.1/f3 - rm /config/usb_gadget/g1/configs/b.1/f4 - rm /config/usb_gadget/g1/configs/b.1/f5 - rm /config/usb_gadget/g1/configs/b.1/f6 - rm /config/usb_gadget/g1/configs/b.1/f7 - rm /config/usb_gadget/g1/configs/b.1/f8 - rm /config/usb_gadget/g1/configs/b.1/f9 - write /config/usb_gadget/g1/idVendor 0x05C6 - write /config/usb_gadget/g1/idProduct 0x9044 - write /config/usb_gadget/g1/functions/diag.diag/pid 0x9044 - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f1 - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag_mdm /config/usb_gadget/g1/configs/b.1/f2 - symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f3 - symlink /config/usb_gadget/g1/functions/ccid.ccid /config/usb_gadget/g1/configs/b.1/f4 - write /config/usb_gadget/g1/UDC ${sys.usb.controller} - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,diag_cnss,serial_cdev,rmnet,dpl,qdss,adb && property:sys.usb.configfs=1 - start adbd - -on property:sys.usb.ffs.ready=1 && property:sys.usb.config=diag,diag_cnss,serial_cdev,rmnet,dpl,qdss,adb && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_diag_cnss_dun_rmnet_dpl_qdss_adb" - rm /config/usb_gadget/g1/configs/b.1/f1 - rm /config/usb_gadget/g1/configs/b.1/f2 - rm /config/usb_gadget/g1/configs/b.1/f3 - rm /config/usb_gadget/g1/configs/b.1/f4 - rm /config/usb_gadget/g1/configs/b.1/f5 - rm /config/usb_gadget/g1/configs/b.1/f6 - rm /config/usb_gadget/g1/configs/b.1/f7 - rm /config/usb_gadget/g1/configs/b.1/f8 - rm /config/usb_gadget/g1/configs/b.1/f9 - write /config/usb_gadget/g1/idVendor 0x05C6 - write /config/usb_gadget/g1/idProduct 0x9110 - write /config/usb_gadget/g1/functions/diag.diag/pid 0x9110 - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f1 - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag_mdm2 /config/usb_gadget/g1/configs/b.1/f2 - symlink /config/usb_gadget/g1/functions/cser.dun.0 /config/usb_gadget/g1/configs/b.1/f3 - symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.rmnet.inst.name} /config/usb_gadget/g1/configs/b.1/f4 - symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.dpl.inst.name} /config/usb_gadget/g1/configs/b.1/f5 - symlink /config/usb_gadget/g1/functions/qdss.${vendor.usb.qdss.inst.name} /config/usb_gadget/g1/configs/b.1/f6 - symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f7 - write /config/usb_gadget/g1/UDC ${sys.usb.controller} - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=diag,diag_cnss,serial_cdev,rmnet,dpl,qdss && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_diag_cnss_dun_rmnet_dpl_qdss" - rm /config/usb_gadget/g1/configs/b.1/f1 - rm /config/usb_gadget/g1/configs/b.1/f2 - rm /config/usb_gadget/g1/configs/b.1/f3 - rm /config/usb_gadget/g1/configs/b.1/f4 - rm /config/usb_gadget/g1/configs/b.1/f5 - rm /config/usb_gadget/g1/configs/b.1/f6 - rm /config/usb_gadget/g1/configs/b.1/f7 - rm /config/usb_gadget/g1/configs/b.1/f8 - rm /config/usb_gadget/g1/configs/b.1/f9 - write /config/usb_gadget/g1/idVendor 0x05C6 - write /config/usb_gadget/g1/idProduct 0x9111 - write /config/usb_gadget/g1/functions/diag.diag/pid 0x9111 - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag /config/usb_gadget/g1/configs/b.1/f1 - symlink /config/usb_gadget/g1/functions/${vendor.usb.diag.func.name}.diag_mdm2 /config/usb_gadget/g1/configs/b.1/f2 - symlink /config/usb_gadget/g1/functions/cser.dun.0 /config/usb_gadget/g1/configs/b.1/f3 - symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.rmnet.inst.name} /config/usb_gadget/g1/configs/b.1/f4 - symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.dpl.inst.name} /config/usb_gadget/g1/configs/b.1/f5 - symlink /config/usb_gadget/g1/functions/qdss.${vendor.usb.qdss.inst.name} /config/usb_gadget/g1/configs/b.1/f6 - write /config/usb_gadget/g1/UDC ${sys.usb.controller} - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=adb && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/idVendor 0x18d1 - write /config/usb_gadget/g1/idProduct 0x4ee7 - -on property:sys.usb.config=mtp && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/idVendor 0x18d1 - write /config/usb_gadget/g1/idProduct 0x4ee1 - -on property:sys.usb.config=mtp && property:vendor.usb.use_ffs_mtp=1 && property:sys.usb.configfs=1 - symlink /config/usb_gadget/g1/functions/ffs.mtp /config/usb_gadget/g1/configs/b.1/f1 - -on property:sys.usb.config=mtp,adb && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/idVendor 0x18d1 - write /config/usb_gadget/g1/idProduct 0x4ee2 - -on property:sys.usb.config=mtp,adb && property:vendor.usb.use_ffs_mtp=1 && property:sys.usb.configfs=1 - symlink /config/usb_gadget/g1/functions/ffs.mtp /config/usb_gadget/g1/configs/b.1/f1 - symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2 - -on property:sys.usb.config=ptp && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/idVendor 0x18d1 - write /config/usb_gadget/g1/idProduct 0x4ee5 - -on property:sys.usb.config=ptp && property:vendor.usb.use_ffs_mtp=1 && property:sys.usb.configfs=1 - symlink /config/usb_gadget/g1/functions/ffs.ptp /config/usb_gadget/g1/configs/b.1/f1 - -on property:sys.usb.config=ptp,adb && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/idVendor 0x18d1 - write /config/usb_gadget/g1/idProduct 0x4ee6 - -on property:sys.usb.config=ptp,adb && property:vendor.usb.use_ffs_mtp=1 && property:sys.usb.configfs=1 - symlink /config/usb_gadget/g1/functions/ffs.ptp /config/usb_gadget/g1/configs/b.1/f1 - symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2 - -on property:sys.usb.config=accessory && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/idVendor 0x18d1 - write /config/usb_gadget/g1/idProduct 0x2d00 - -on property:sys.usb.config=accessory,adb && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/idVendor 0x18d1 - write /config/usb_gadget/g1/idProduct 0x2d01 - -on property:sys.usb.config=audio_source && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/idVendor 0x18d1 - write /config/usb_gadget/g1/idProduct 0x2d02 - -on property:sys.usb.config=audio_source,adb && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/idVendor 0x18d1 - write /config/usb_gadget/g1/idProduct 0x2d03 - -on property:sys.usb.config=accessory,audio_source && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/idVendor 0x18d1 - write /config/usb_gadget/g1/idProduct 0x2d04 - -on property:sys.usb.config=accessory,audio_source,adb && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/idVendor 0x18d1 - write /config/usb_gadget/g1/idProduct 0x2d05 - -on property:sys.usb.config=midi && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/idVendor 0x18d1 - write /config/usb_gadget/g1/idProduct 0x4ee8 - -on property:sys.usb.config=midi,adb && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/idVendor 0x18d1 - write /config/usb_gadget/g1/idProduct 0x4ee9 - -on property:vendor.usb.eud=1 - write /config/usb_gadget/g1/configs/b.1/MaxPower 1 - write /sys/module/eud/parameters/enable 1 - write /sys/kernel/debug/pmic-votable/USB_ICL/force_active 1 - write /sys/kernel/debug/pmic-votable/USB_ICL/force_val 500 - -on property:vendor.usb.eud=0 - write /sys/kernel/debug/pmic-votable/USB_ICL/force_active 0 - write /sys/kernel/debug/pmic-votable/USB_ICL/force_val 0 - write /config/usb_gadget/g1/configs/b.1/MaxPower 0 - write /sys/module/eud/parameters/enable 0 - -#bsp, 2020/07/07 Add for op chg -service oplus_chg_init_sh /vendor/bin/init.oplus_chg.sh - class core - user root - oneshot - disabled - -on boot - start oplus_chg_init_sh - -on charger - start oplus_chg_init_sh - -on property:sys.fastcharger=true - write /sys/class/oplus_chg/usb/chg_enable 1 - -on property:sys.fastcharger=false - write /sys/class/oplus_chg/usb/chg_enable 0 - diff --git a/rootdir/etc/init.qti.kernel.rc b/rootdir/etc/init.qti.kernel.rc deleted file mode 100644 index 350d247..0000000 --- a/rootdir/etc/init.qti.kernel.rc +++ /dev/null @@ -1,174 +0,0 @@ -#============================================================================= -# Copyright (c) 2019-2020 Qualcomm Technologies, Inc. -# All Rights Reserved. -# Confidential and Proprietary - Qualcomm Technologies, Inc. -# -# Copyright (c) 2009-2012, 2014-2019, The Linux Foundation. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of The Linux Foundation nor -# the names of its contributors may be used to endorse or promote -# products derived from this software without specific prior written -# permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -#============================================================================= -import /vendor/etc/init/hw/init.qti.kernel.test.rc - -on early-init - mount debugfs debugfs /sys/kernel/debug - chmod 0755 /sys/kernel/debug - - # Mount tracefs in /sys/kernel/tracing as CONFIG_DEBUG_FS might be - # disabled and /sys/kernel/debug/tracing might not be available - mount tracefs tracefs /sys/kernel/tracing - chmod 0755 /sys/kernel/tracing - - chown root system /dev/kmsg - chmod 0620 /dev/kmsg - - write /proc/sys/kernel/sched_boost 1 - - write /proc/sys/kernel/firmware_config/force_sysfs_fallback 1 - -on init - # Create cgroup mount point for memory - mkdir /sys/fs/cgroup/memory/bg 0750 root system - write /sys/fs/cgroup/memory/bg/memory.swappiness 140 - write /sys/fs/cgroup/memory/bg/memory.move_charge_at_immigrate 1 - chown root system /sys/fs/cgroup/memory/bg/tasks - chmod 0660 /sys/fs/cgroup/memory/bg/tasks - - # update scheduler tunables - write /dev/cpuctl/foreground/cpu.uclamp.sched_boost_no_override 1 - write /dev/cpuctl/top-app/cpu.uclamp.sched_boost_no_override 1 - write /dev/cpuctl/background/cpu.uclamp.colocate 0 - write /dev/cpuctl/foreground/cpu.uclamp.colocate 0 - write /dev/cpuctl/top-app/cpu.uclamp.colocate 1 - -on post-fs - chmod 0755 /sys/kernel/debug/tracing - - # set aggressive read ahead for dm-0 and dm-1 during boot up - write /sys/block/dm-0/queue/read_ahead_kb 2048 - write /sys/block/dm-1/queue/read_ahead_kb 2048 - write /sys/block/dm-2/queue/read_ahead_kb 2048 - -on early-boot - # Allow subsystem (modem etc) debugging - write /sys/kernel/boot_adsp/boot 1 - write /sys/kernel/boot_cdsp/boot 1 - write /sys/kernel/boot_slpi/boot 1 - write /sys/devices/virtual/cvp/cvp/boot 1 - -on boot - # Set the console loglevel to < KERN_WARN - # Set the default message loglevel to KERN_INFO - write /proc/sys/kernel/printk "4 6 1 7" - - # Allow access to emmc rawdump block partition and dload sysfs node - chown root system /dev/block/bootdevice/by-name/rawdump - chmod 0660 /dev/block/bootdevice/by-name/rawdump - chown root system /sys/kernel/dload/emmc_dload - chmod 0660 /sys/kernel/dload/emmc_dload - chown root system /dev/block/bootdevice/by-name/ramdump - chmod 0660 /dev/block/bootdevice/by-name/ramdump - chown root system /sys/kernel/dload/dload_mode - chmod 0660 /sys/kernel/dload/dload_mode - - # set the io-scheduler to bfq on all mq support devices - write /sys/block/sda/queue/scheduler bfq - write /sys/block/sdb/queue/scheduler bfq - write /sys/block/sdc/queue/scheduler bfq - write /sys/block/sdd/queue/scheduler bfq - write /sys/block/sde/queue/scheduler bfq - write /sys/block/sdf/queue/scheduler bfq - write /sys/block/sdg/queue/scheduler bfq - write /sys/block/sdh/queue/scheduler bfq - write /sys/class/block/mmcblk0/queue/scheduler bfq - write /sys/class/block/mmcblk1/queue/scheduler bfq - - # update io-scheduler tunables - write /sys/block/sda/queue/iosched/slice_idle 0 - write /sys/block/sdb/queue/iosched/slice_idle 0 - write /sys/block/sdc/queue/iosched/slice_idle 0 - write /sys/block/sdd/queue/iosched/slice_idle 0 - write /sys/block/sde/queue/iosched/slice_idle 0 - write /sys/block/sdf/queue/iosched/slice_idle 0 - write /sys/block/sdg/queue/iosched/slice_idle 0 - write /sys/block/sdh/queue/iosched/slice_idle 0 - write /sys/class/block/mmcblk0/queue/iosched/slice_idle 0 - write /sys/class/block/mmcblk1/queue/iosched/slice_idle 0 - -on post-fs-data - # Create directory used for dump collection - mkdir /data/vendor/ssrdump 0770 root system - -on property:persist.sys.ssr.enable_debug=* - write /sys/module/subsys_pil_tz/parameters/enable_debug ${persist.sys.ssr.enable_debug} - -on property:persist.sys.mba_boot_timeout=* - write /sys/module/pil_msa/parameters/pbl_mba_boot_timeout_ms ${persist.sys.mba_boot_timeout} - -on property:persist.sys.modem_auth_timeout=* - write /sys/module/pil_msa/parameters/modem_auth_timeout_ms ${persist.sys.modem_auth_timeout} - -on property:persist.sys.pil_proxy_timeout=* - write /sys/module/peripheral_loader/parameters/proxy_timeout_ms ${persist.sys.pil_proxy_timeout} - -on property:persist.vendor.ssr.enable_ramdumps=1 - write /sys/module/subsystem_restart/parameters/enable_ramdumps 1 - -on property:persist.vendor.ssr.enable_ramdumps=0 - write /sys/module/subsystem_restart/parameters/enable_ramdumps 0 - -on property:persist.vendor.sys.rawdump_copy=1 - write /sys/kernel/dload/emmc_dload 1 - -on property:persist.vendor.sys.rawdump_copy=0 - write /sys/kernel/dload/emmc_dload 0 - -service kernel-boot /vendor/bin/sh /vendor/bin/init.qti.kernel.sh - class core - user root - group root - disabled - oneshot - -service kernel-post-boot /vendor/bin/sh /vendor/bin/init.kernel.post_boot.sh - class core - user root - group root system wakelock graphics - disabled - oneshot - -on property:sys.boot_completed=1 - write /dev/kmsg "Boot completed " - #Reset read ahead for dm-0, dm-1 and dm-2 to 512kb - write /sys/block/dm-0/queue/read_ahead_kb 512 - write /sys/block/dm-1/queue/read_ahead_kb 512 - write /sys/block/dm-2/queue/read_ahead_kb 512 - start kernel-boot - start kernel-post-boot - -service vendor.msm_irqbalance /vendor/bin/msm_irqbalance -f /system/vendor/etc/msm_irqbalance.conf - class core - user root - group root - disabled diff --git a/rootdir/etc/init.qti.qcv.rc b/rootdir/etc/init.qti.qcv.rc deleted file mode 100644 index cd19f40..0000000 --- a/rootdir/etc/init.qti.qcv.rc +++ /dev/null @@ -1,11 +0,0 @@ -#! /vendor/etc/init -#============================================================================= -# Copyright (c) 2020 Qualcomm Technologies, Inc. -# All Rights Reserved. -# Confidential and Proprietary - Qualcomm Technologies, Inc. -#============================================================================= - -on early-init - # Set ro.boot.product.vendor.sku to soc_name - exec u:r:vendor_qti_init_shell:s0 -- /vendor/bin/init.qti.qcv.sh - setprop ro.boot.product.vendor.sku ${ro.vendor.qti.soc_name} diff --git a/rootdir/etc/init.recovery.qcom.rc b/rootdir/etc/init.recovery.qcom.rc deleted file mode 100644 index 32cfe26..0000000 --- a/rootdir/etc/init.recovery.qcom.rc +++ /dev/null @@ -1,12 +0,0 @@ -import /init.recovery.target.rc - -on fs - wait /dev/block/platform/soc/${ro.boot.bootdevice} - symlink /dev/block/platform/soc/${ro.boot.bootdevice} /dev/block/bootdevice - -on init - setprop sys.usb.configfs 1 - -on property:ro.boot.usbcontroller=* - setprop sys.usb.controller ${ro.boot.usbcontroller} - write /sys/class/udc/${ro.boot.usbcontroller}/device/../mode peripheral diff --git a/rootdir/etc/init.stnfc.rc b/rootdir/etc/init.stnfc.rc deleted file mode 100644 index 6997a3d..0000000 --- a/rootdir/etc/init.stnfc.rc +++ /dev/null @@ -1,9 +0,0 @@ - -# This file needs to be executed by vendor_init at boot of the device, -# both in normal and factory mode. - -service stflashtool /vendor/bin/STFlashTool - class late_start - group nfc - user nfc - oneshot diff --git a/rootdir/etc/init.uicc.rc b/rootdir/etc/init.uicc.rc deleted file mode 100644 index 1f78370..0000000 --- a/rootdir/etc/init.uicc.rc +++ /dev/null @@ -1,3 +0,0 @@ -#nfc uicc control -on property:ro.boot.product.hardware.sku=9 - setprop persist.vendor.radio.uicc_se_enabled true diff --git a/rootdir/etc/vendor.oem_ftm.rc b/rootdir/etc/vendor.oem_ftm.rc deleted file mode 100644 index f47935b..0000000 --- a/rootdir/etc/vendor.oem_ftm.rc +++ /dev/null @@ -1,40 +0,0 @@ -on post-fs-data - chmod 0666 /dev/block/sda6 - chmod 0666 /dev/param - -service wcnss-service-f /system/bin/wcnss_service -f - class main - user root - group system wifi radio - oneshot - disabled - -service factory /vendor/bin/factory - class late_start - disabled - -service ftm_power_config /vendor/bin/sh /vendor/etc/init/hw/ftm_power_config.sh - class late_start - user root - disabled - oneshot - -on oem_ftm - chmod 0666 /sys/module/sysctl/parameters/oem_en_chg_prk_lv - chmod 0666 /sys/class/drm/card0-DSI-1/panel_serial_number_AT - chown system system /vendor/bin/factory - chmod 0755 /vendor/bin/factory - chown system system /vendor/bin/ptt_socket_app - chmod 0755 /vendor/bin/ptt_socket_app - write /sys/class/power_supply/battery/charging_enabled 0 - start qcom-sh - start vendor.qmuxd - start ptt_ffbm - start ftm_power_config - start cnss-daemon - start qcom-c_main-sh - write /dev/kmsg "factory boot mode is:${ro.vendor.factory.mode}" - start vendor.mdm_launcher - -on property:ro.vendor.factory.mode=ftm - start factory diff --git a/rootdir/etc/vendor.oem_ftm_svc_disable.rc b/rootdir/etc/vendor.oem_ftm_svc_disable.rc deleted file mode 100644 index a53bee9..0000000 --- a/rootdir/etc/vendor.oem_ftm_svc_disable.rc +++ /dev/null @@ -1,90 +0,0 @@ -# this file should import init.rc and then add some oem defined service - -#this service is a non-use service and just use to duplicate real console service -service console /system/bin/xxx - class core - console - disabled - user root - group shell log - oneshot - seclabel u:r:shell:s0 - -#this service is a non-use service and just use to duplicate real surfaceflinger service -service surfaceflinger /system/bin/xxx - class core - oneshot - disabled - -service vendor.fps_hal /vendor/bin/hw/XXX - class hal - user system - group system input uhid everybody - disabled - -#disable below services to solve AT current peaks issue start -service zygote /system/bin/xxx - class main - user system - disabled - -service zygote_secondary /system/bin/xxx - class main - user root - group root readproc reserved_disk - disabled - -service vendor.cdsprpcd /vendor/bin/xxx - class main - user system - disabled - -service cameraserver /system/bin/xxx - class late_start - user cameraserver - disabled - -service iorapd /system/bin/xxx - class main - user iorapd - disabled - -service feature_enabler_client /vendor/bin/xxx - class late_start - user system - disabled - -service vendor.vppservice /vendor/bin/XXX - class hal - user media - group camera system - disabled - -service biometrics_face_service /vendor/bin/hw/xxx - class hal - user system - disabled -#disable below services to solve AT current peaks issue end - -service oemasserttip /system/bin/xxx - class main - user system - disabled - -service vendor.oneplus.cwb-1-0 /vendor/bin/hw/xxx - oneshot - disabled - -service vendor.qti.hardware.display.composer /vendor/bin/hw/xxx - oneshot - disabled - -service vendor.light-hal-2-0 /vendor/bin/hw/xxx - oneshot - disabled - -service vendor.imsdaemon /vendor/bin/imsdaemon - class main - user radio - group radio wifi inet vendor_qti_diag log - disabled \ No newline at end of file diff --git a/rro_overlays/WifiResCommon/Android.bp b/rro_overlays/WifiResCommon/Android.bp deleted file mode 100644 index 859ad2b..0000000 --- a/rro_overlays/WifiResCommon/Android.bp +++ /dev/null @@ -1,6 +0,0 @@ -runtime_resource_overlay { - name: "WifiResCommon", - theme: "WifiResCommon", - sdk_version: "current", - product_specific: true -} diff --git a/rro_overlays/WifiResCommon/AndroidManifest.xml b/rro_overlays/WifiResCommon/AndroidManifest.xml deleted file mode 100644 index eb771d3..0000000 --- a/rro_overlays/WifiResCommon/AndroidManifest.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - diff --git a/rro_overlays/WifiResCommon/res/values/bools.xml b/rro_overlays/WifiResCommon/res/values/bools.xml deleted file mode 100644 index 6a032b9..0000000 --- a/rro_overlays/WifiResCommon/res/values/bools.xml +++ /dev/null @@ -1,44 +0,0 @@ - - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - false - - - true - - - true - - - true - - - true - diff --git a/rro_overlays/WifiResCommon/res/values/integers.xml b/rro_overlays/WifiResCommon/res/values/integers.xml deleted file mode 100644 index ab57c9e..0000000 --- a/rro_overlays/WifiResCommon/res/values/integers.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - 32 - diff --git a/rro_overlays/WifiResCommon/res/values/strings.xml b/rro_overlays/WifiResCommon/res/values/strings.xml deleted file mode 100644 index b53a931..0000000 --- a/rro_overlays/WifiResCommon/res/values/strings.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/sepolicy/private/seapp_contexts b/sepolicy/private/seapp_contexts new file mode 100644 index 0000000..951ea3c --- /dev/null +++ b/sepolicy/private/seapp_contexts @@ -0,0 +1 @@ +user=bluetooth seinfo=default name=com.android.bluetooth domain=bluetooth type=bluetooth_data_file levelFrom=all isPrivApp=true \ No newline at end of file diff --git a/sepolicy/vendor/attributes b/sepolicy/vendor/attributes deleted file mode 100644 index 8d180cf..0000000 --- a/sepolicy/vendor/attributes +++ /dev/null @@ -1,12 +0,0 @@ -# HALs -attribute hal_cameraHIDL; -attribute hal_cameraHIDL_client; -attribute hal_cameraHIDL_server; - -attribute hal_display; -attribute hal_display_client; -attribute hal_display_server; - -attribute hal_param; -attribute hal_param_client; -attribute hal_param_server; diff --git a/sepolicy/vendor/cameraserver.te b/sepolicy/vendor/cameraserver.te deleted file mode 100644 index 08b17e0..0000000 --- a/sepolicy/vendor/cameraserver.te +++ /dev/null @@ -1 +0,0 @@ -binder_call(cameraserver, hal_cameraHIDL_default) diff --git a/sepolicy/vendor/device.te b/sepolicy/vendor/device.te deleted file mode 100644 index 8883822..0000000 --- a/sepolicy/vendor/device.te +++ /dev/null @@ -1,8 +0,0 @@ -type byte_cntr_device, dev_type; -type dash_device, dev_type; -type fingerprintd_device, dev_type; -type fragment_monitor_device, dev_type; -type param_block_device, dev_type; -type param_device, dev_type; -type reserve2_block_device, dev_type; -type therm_device, dev_type; diff --git a/sepolicy/vendor/domain.te b/sepolicy/vendor/domain.te deleted file mode 100644 index 6d7bdfb..0000000 --- a/sepolicy/vendor/domain.te +++ /dev/null @@ -1 +0,0 @@ -allow domain opf_file:file r_file_perms; diff --git a/sepolicy/vendor/file.te b/sepolicy/vendor/file.te deleted file mode 100644 index 2f3a19b..0000000 --- a/sepolicy/vendor/file.te +++ /dev/null @@ -1,22 +0,0 @@ -# files -type oem_file, file_type; -type op1_file, file_type; -type op2_file, file_type; -type opf_file, file_type; - -# procfs -type proc_direct_swappiness, fs_type, proc_type; -type proc_flash_light_file, fs_type, proc_type; -type proc_swappiness, fs_type, proc_type; -type proc_touchpanel, fs_type, proc_type; -type proc_watermark_boost_factor, fs_type, proc_type; - -# sysfs -type sysfs_dbg, fs_type, sysfs_type; -type sysfs_fsc, fs_type, sysfs_type; -type sysfs_fuse, fs_type, sysfs_type; -type sysfs_memplus, fs_type, sysfs_type; -type sysfs_ois_control, fs_type, sysfs_type; -type sysfs_project_info, fs_type, sysfs_type; -type sysfs_tof_control, fs_type, sysfs_type; -type sysfs_tpd, fs_type, sysfs_type; diff --git a/sepolicy/vendor/file_contexts b/sepolicy/vendor/file_contexts deleted file mode 100644 index 4f3824a..0000000 --- a/sepolicy/vendor/file_contexts +++ /dev/null @@ -1,85 +0,0 @@ -# Binaries -/(vendor|system/vendor)/bin/opf-service u:object_r:opf_exec:s0 -/(vendor|system/vendor)/bin/wifi-mac-generator-dre u:object_r:wifi-mac-generator_exec:s0 - -# Block devices -/dev/block/platform/soc/4804000\.ufshc/by-name/fw_ufs1_[ab] u:object_r:vendor_custom_ab_block_device:s0 -/dev/block/platform/soc/4804000\.ufshc/by-name/fw_ufs2_[ab] u:object_r:vendor_custom_ab_block_device:s0 -/dev/block/platform/soc/4804000\.ufshc/by-name/logo_[ab] u:object_r:vendor_custom_ab_block_device:s0 -/dev/block/platform/soc/4804000\.ufshc/by-name/oplusdycnvbk u:object_r:vendor_modem_efs_partition_device:s0 -/dev/block/platform/soc/4804000\.ufshc/by-name/oplusreserve4 u:object_r:reserve2_block_device:s0 -/dev/block/platform/soc/4804000\.ufshc/by-name/oplusstanvbk_[ab] u:object_r:vendor_modem_efs_partition_device:s0 -/dev/block/platform/soc/4804000\.ufshc/by-name/opproduct_[ab] u:object_r:vendor_custom_ab_block_device:s0 -/dev/block/platform/soc/4804000\.ufshc/by-name/param u:object_r:param_block_device:s0 -/dev/block/platform/soc/4804000\.ufshc/by-name/rawdump u:object_r:vendor_rawdump_block_device:s0 - -# Data files -/data/reserve-lib(/.*)? u:object_r:apk_data_file:s0 - -# Devices -/dev/byte-cntr u:object_r:byte_cntr_device:s0 -/dev/cc_ctl u:object_r:graphics_device:s0 -/dev/fragment_monitor u:object_r:fragment_monitor_device:s0 -/dev/goodix_fp u:object_r:fingerprintd_device:s0 -/dev/ht_ctl u:object_r:graphics_device:s0 -/dev/mmw0_thermal u:object_r:therm_device:s0 -/dev/mmw1_thermal u:object_r:therm_device:s0 -/dev/mmw2_thermal u:object_r:therm_device:s0 -/dev/opfeature u:object_r:opf_file:s0 -/dev/param u:object_r:param_device:s0 -/dev/skin_thermal u:object_r:therm_device:s0 -/dev/st21nfc u:object_r:nfc_device:s0 - -# HALs -/(vendor|system/vendor)/bin/hw/android\.hardware\.nfc@1\.2-service\.st u:object_r:hal_nfc_default_exec:s0 -/(vendor|system/vendor)/bin/hw/vendor\.lineage\.livedisplay@2\.1-service\.oneplus u:object_r:hal_lineage_livedisplay_qti_exec:s0 -/(vendor|system/vendor)/bin/hw/vendor\.lineage\.touch@1\.0-service\.oneplus u:object_r:hal_lineage_touch_default_exec:s0 -/(vendor|system/vendor)/bin/hw/vendor\.oneplus\.hardware\.camera@1\.0-service u:object_r:hal_cameraHIDL_default_exec:s0 -/(vendor|system/vendor)/bin/hw/vendor\.oneplus\.hardware\.CameraMDMHIDL@1\.0-service u:object_r:hal_cameraHIDL_default_exec:s0 -/(vendor|system/vendor)/bin/hw/vendor\.oneplus\.hardware\.display@1\.0-service u:object_r:hal_display_default_exec:s0 -/(vendor|system/vendor)/bin/hw/vendor\.oneplus\.hardware\.param@1\.0-service u:object_r:hal_param_default_exec:s0 - -# OP1, OP2 files -/mnt/vendor/op1(/.*)? u:object_r:op1_file:s0 -/mnt/vendor/op2(/.*)? u:object_r:op2_file:s0 - -# Persist files -/mnt/vendor/persist u:object_r:vendor_data_file:s0 -/mnt/vendor/persist/camera(/.*)? u:object_r:oem_file:s0 -/mnt/vendor/persist/camera_ae_sync(/.*)? u:object_r:oem_file:s0 -/mnt/vendor/persist/dual_camera_calibration(/.*)? u:object_r:oem_file:s0 -/mnt/vendor/persist/engineermode(/.*)? u:object_r:oem_file:s0 -/mnt/vendor/persist/OPDiagnose(/.*)? u:object_r:oem_file:s0 - -# Sys files -/sys/module/fsc(/.*)? u:object_r:sysfs_fsc:s0 -/sys/module/fuse(/.*)? u:object_r:sysfs_fuse:s0 -/sys/module/proc(/.*)? u:object_r:sysfs_dbg:s0 -/sys/module/tpd(/.*)? u:object_r:sysfs_tpd:s0 -/sys/module/qpnp_smb5(/.*)? u:object_r:vendor_sysfs_battery_supply:s0 - -# Sys files (health) -/sys/devices/platform/soc/4c90000.i2c/i2c-1/1-006b/iio:device5/name u:object_r:vendor_sysfs_battery_supply:s0 -/sys/devices/platform/soc/4c90000.i2c/i2c-1/1-006b/power_supply/parallel/model_name u:object_r:vendor_sysfs_battery_supply:s0 - -# Sys files (wakeup) -/sys/devices(/platform)?/soc/[0-9a-f]+.qcom,spmi/spmi-[0-9]+/spmi[0-9]+-[0-9]+/[0-9a-f]+.qcom,spmi:qcom,pmk[0-9]+@[0-9]+:pon_hlos@[0-9]+/wakeup/wakeup[0-9]+(/.*)? u:object_r:sysfs_wakeup:s0 -/sys/devices(/platform)?/soc/[0-9a-f]+.qcom,spmi/spmi-[0-9]+/spmi[0-9]+-[0-9]+/[0-9a-f]+.qcom,spmi:qcom,pmk[0-9]+@[0-9]+:pon_pbs@[0-9]+/wakeup/wakeup[0-9]+(/.*)? u:object_r:sysfs_wakeup:s0 -/sys/devices(/platform)?/soc/[0-9a-f]+.qcom,spmi/spmi-[0-9]+/spmi[0-9]+-[0-9]+/[0-9a-f]+.qcom,spmi:qcom,pmk[0-9]+@[0-9]+:rtc@[0-9]+/rtc/rtc[0-9]+/wakeup[0-9]+(/.*)? u:object_r:sysfs_wakeup:s0 -/sys/devices(/platform)?/soc/[0-9a-f]+.qcom,spmi/spmi-[0-9]+/spmi[0-9]+-[0-9]+/[0-9a-f]+.qcom,spmi:qcom,pmk[0-9]+@[0-9]+:rtc@[0-9]+/wakeup/wakeup[0-9]+(/.*)? u:object_r:sysfs_wakeup:s0 -/sys/devices/virtual/fastrpc/adsprpc-smd-secure/wakeup[0-9]+(/.*)? u:object_r:sysfs_wakeup:s0 -/sys/devices/virtual/fastrpc/adsprpc-smd/wakeup[0-9]+(/.*)? u:object_r:sysfs_wakeup:s0 -/sys/devices/virtual/misc/msm_aac/wakeup[0-9]+(/.*)? u:object_r:sysfs_wakeup:s0 -/sys/devices/virtual/misc/msm_alac/wakeup[0-9]+(/.*)? u:object_r:sysfs_wakeup:s0 -/sys/devices/virtual/misc/msm_amrnb/wakeup[0-9]+(/.*)? u:object_r:sysfs_wakeup:s0 -/sys/devices/virtual/misc/msm_amrwb/wakeup[0-9]+(/.*)? u:object_r:sysfs_wakeup:s0 -/sys/devices/virtual/misc/msm_amrwbplus/wakeup[0-9]+(/.*)? u:object_r:sysfs_wakeup:s0 -/sys/devices/virtual/misc/msm_ape/wakeup[0-9]+(/.*)? u:object_r:sysfs_wakeup:s0 -/sys/devices/virtual/misc/msm_evrc/wakeup[0-9]+(/.*)? u:object_r:sysfs_wakeup:s0 -/sys/devices/virtual/misc/msm_g711alaw/wakeup[0-9]+(/.*)? u:object_r:sysfs_wakeup:s0 -/sys/devices/virtual/misc/msm_g711mlaw/wakeup[0-9]+(/.*)? u:object_r:sysfs_wakeup:s0 -/sys/devices/virtual/misc/msm_mp3/wakeup[0-9]+(/.*)? u:object_r:sysfs_wakeup:s0 -/sys/devices/virtual/misc/msm_multi_aac/wakeup[0-9]+(/.*)? u:object_r:sysfs_wakeup:s0 -/sys/devices/virtual/misc/msm_qcelp/wakeup[0-9]+(/.*)? u:object_r:sysfs_wakeup:s0 -/sys/devices/virtual/misc/msm_wma/wakeup[0-9]+(/.*)? u:object_r:sysfs_wakeup:s0 -/sys/devices/virtual/misc/msm_wmapro/wakeup[0-9]+(/.*)? u:object_r:sysfs_wakeup:s0 diff --git a/sepolicy/vendor/genfs_contexts b/sepolicy/vendor/genfs_contexts deleted file mode 100644 index 371846e..0000000 --- a/sepolicy/vendor/genfs_contexts +++ /dev/null @@ -1,34 +0,0 @@ -# procfs -genfscon proc /qcom_flash u:object_r:proc_flash_light_file:s0 -genfscon proc /touchpanel u:object_r:proc_touchpanel:s0 - -# sysfs -genfscon sysfs /devices/platform/soc/5e00000.qcom,mdss_mdp/drm/card0/card0-DSI-1/dimlayer_bl_en u:object_r:sysfs_livedisplay_tuneable:s0 -genfscon sysfs /devices/platform/soc/5e00000.qcom,mdss_mdp/drm/card0/card0-DSI-1/hbm u:object_r:sysfs_livedisplay_tuneable:s0 -genfscon sysfs /kernel/ois_control u:object_r:sysfs_ois_control:s0 -genfscon sysfs /kernel/tof_control u:object_r:sysfs_tof_control:s0 -genfscon sysfs /module/memplus_core/parameters u:object_r:sysfs_memplus:s0 -genfscon sysfs /project_info u:object_r:sysfs_project_info:s0 - -# sysfs (wakeup) -genfscon sysfs /devices/platform/soc/1628000.qcom,msm-eud/wakeup u:object_r:sysfs_wakeup:s0 -genfscon sysfs /devices/platform/soc/4a84000.qcom,qup_uart/wakeup u:object_r:sysfs_wakeup:s0 -genfscon sysfs /devices/platform/soc/4c88000.i2c/i2c-0/0-0008/wakeup u:object_r:sysfs_wakeup:s0 -genfscon sysfs /devices/platform/soc/5800000.qcom,ipa/wakeup u:object_r:sysfs_wakeup:s0 -genfscon sysfs /devices/platform/soc/5ab0000.qcom,venus/subsys5/wakeup u:object_r:sysfs_wakeup:s0 -genfscon sysfs /devices/platform/soc/5ab0000.qcom,venus/wakeup u:object_r:sysfs_wakeup:s0 -genfscon sysfs /devices/platform/soc/6000000.qcom,mss/subsys2/wakeup u:object_r:sysfs_wakeup:s0 -genfscon sysfs /devices/platform/soc/6000000.qcom,mss/wakeup u:object_r:sysfs_wakeup:s0 -genfscon sysfs /devices/platform/soc/a400000.qcom,lpass/subsys0/wakeup u:object_r:sysfs_wakeup:s0 -genfscon sysfs /devices/platform/soc/a400000.qcom,lpass/wakeup u:object_r:sysfs_wakeup:s0 -genfscon sysfs /devices/platform/soc/b000000.qcom,turing/subsys1/wakeup u:object_r:sysfs_wakeup:s0 -genfscon sysfs /devices/platform/soc/b000000.qcom,turing/wakeup u:object_r:sysfs_wakeup:s0 -genfscon sysfs /devices/platform/soc/c800000.qcom,icnss/wakeup u:object_r:sysfs_wakeup:s0 -genfscon sysfs /devices/platform/soc/soc:qcom,ipa_fws/subsys3/wakeup u:object_r:sysfs_wakeup:s0 -genfscon sysfs /devices/platform/soc/soc:qcom,ipa_fws/wakeup u:object_r:sysfs_wakeup:s0 -genfscon sysfs /devices/platform/soc/soc:qcom,kgsl-hyp/subsys4/wakeup u:object_r:sysfs_wakeup:s0 -genfscon sysfs /devices/platform/soc/soc:qcom,kgsl-hyp/wakeup u:object_r:sysfs_wakeup:s0 -genfscon sysfs /devices/platform/soc/soc:qcom,smp2p-adsp/wakeup u:object_r:sysfs_wakeup:s0 -genfscon sysfs /devices/platform/soc/soc:qcom,smp2p-dsps/wakeup u:object_r:sysfs_wakeup:s0 -genfscon sysfs /devices/platform/soc/soc:qcom,smp2p-modem/wakeup u:object_r:sysfs_wakeup:s0 -genfscon sysfs /devices/platform/soc/soc:qcom,smp2p_sleepstate/wakeup u:object_r:sysfs_wakeup:s0 diff --git a/sepolicy/vendor/hal_bluetooth_default.te b/sepolicy/vendor/hal_bluetooth_default.te deleted file mode 100644 index 6bdf685..0000000 --- a/sepolicy/vendor/hal_bluetooth_default.te +++ /dev/null @@ -1,3 +0,0 @@ -allow hal_bluetooth_default vendor_data_file:file r_file_perms; - -allow hal_bluetooth_default vendor_diag_device:chr_file rw_file_perms; diff --git a/sepolicy/vendor/hal_bootctl.te b/sepolicy/vendor/hal_bootctl.te deleted file mode 100644 index 5b16097..0000000 --- a/sepolicy/vendor/hal_bootctl.te +++ /dev/null @@ -1 +0,0 @@ -allow hal_bootctl vendor_modem_efs_partition_device:blk_file getattr; diff --git a/sepolicy/vendor/hal_cameraHIDL.te b/sepolicy/vendor/hal_cameraHIDL.te deleted file mode 100644 index fc6f13c..0000000 --- a/sepolicy/vendor/hal_cameraHIDL.te +++ /dev/null @@ -1,4 +0,0 @@ -binder_call(hal_cameraHIDL_client, hal_cameraHIDL_server) -binder_call(hal_cameraHIDL_server, hal_cameraHIDL_client) - -hal_attribute_hwservice(hal_cameraHIDL, hal_cameraHIDL_hwservice) diff --git a/sepolicy/vendor/hal_cameraHIDL_default.te b/sepolicy/vendor/hal_cameraHIDL_default.te deleted file mode 100644 index 2f5dd6d..0000000 --- a/sepolicy/vendor/hal_cameraHIDL_default.te +++ /dev/null @@ -1,22 +0,0 @@ -type hal_cameraHIDL_default, domain; -hal_server_domain(hal_cameraHIDL_default, hal_cameraHIDL) - -type hal_cameraHIDL_default_exec, exec_type, vendor_file_type, file_type; -init_daemon_domain(hal_cameraHIDL_default) - -add_hwservice(hal_cameraHIDL_default, hal_cameraHIDL_hwservice) - -hwbinder_use(hal_cameraHIDL_default) - -binder_call(hal_cameraHIDL_default, vendor_hal_perf_default) - -allow hal_cameraHIDL_default vendor_hal_perf_hwservice:hwservice_manager find; - -allow hal_cameraHIDL_default ion_device:chr_file r_file_perms; -allow hal_cameraHIDL_default tee_device:chr_file rw_file_perms; - -allow hal_cameraHIDL_default vendor_camera_data_file:dir create_dir_perms; - -r_dir_file(hal_cameraHIDL_default, firmware_file) - -get_prop(hal_cameraHIDL_default, hwservicemanager_prop) diff --git a/sepolicy/vendor/hal_camera_default.te b/sepolicy/vendor/hal_camera_default.te deleted file mode 100644 index 06a0fae..0000000 --- a/sepolicy/vendor/hal_camera_default.te +++ /dev/null @@ -1,27 +0,0 @@ -hal_client_domain(hal_camera_default, hal_cameraHIDL) - -allow hal_camera_default mnt_vendor_file:dir w_dir_perms; -allow hal_camera_default mnt_vendor_file:file create_file_perms; - -allow hal_camera_default oem_file:dir w_dir_perms; -allow hal_camera_default oem_file:file create_file_perms; - -allow hal_camera_default vendor_persist_file:dir w_dir_perms; -allow hal_camera_default vendor_persist_file:file create_file_perms; - -allow hal_camera_default input_device:dir r_dir_perms; -allow hal_camera_default input_device:chr_file r_file_perms; - -allow hal_camera_default proc_meminfo:file r_file_perms; -allow hal_camera_default proc_flash_light_file:file rw_file_perms; - -allow hal_camera_default sysfs_ois_control:dir r_dir_perms; -allow hal_camera_default sysfs_ois_control:file rw_file_perms; - -allow hal_camera_default sysfs_tof_control:dir r_dir_perms; -allow hal_camera_default sysfs_tof_control:file rw_file_perms; - -get_prop(hal_camera_default, ctl_default_prop) -get_prop(hal_camera_default, vendor_db_security_prop) -get_prop(hal_camera_default, vendor_mmi_prop) -set_prop(hal_camera_default, vendor_sys_op_prop) diff --git a/sepolicy/vendor/hal_display.te b/sepolicy/vendor/hal_display.te deleted file mode 100644 index f9f233d..0000000 --- a/sepolicy/vendor/hal_display.te +++ /dev/null @@ -1,4 +0,0 @@ -binder_call(hal_display_client, hal_display_server) -binder_call(hal_display_server, hal_display_client) - -hal_attribute_hwservice(hal_display, hal_display_hwservice) diff --git a/sepolicy/vendor/hal_display_default.te b/sepolicy/vendor/hal_display_default.te deleted file mode 100644 index 1225350..0000000 --- a/sepolicy/vendor/hal_display_default.te +++ /dev/null @@ -1,17 +0,0 @@ -type hal_display_default, domain; -hal_server_domain(hal_display_default, hal_display) - -type hal_display_default_exec, exec_type, vendor_file_type, file_type; -init_daemon_domain(hal_display_default) - -add_hwservice(hal_display_default, hal_display_hwservice) - -hwbinder_use(hal_display_default) - -binder_call(hal_display_default, vendor_hal_display_color) - -allow hal_display_default vendor_hal_display_postproc_hwservice:hwservice_manager find; - -allow hal_display_default sysfs:file rw_file_perms; - -get_prop(hal_display_default, hwservicemanager_prop) diff --git a/sepolicy/vendor/hal_fingerprint_device.te b/sepolicy/vendor/hal_fingerprint_device.te deleted file mode 100644 index 95af6f6..0000000 --- a/sepolicy/vendor/hal_fingerprint_device.te +++ /dev/null @@ -1,21 +0,0 @@ -hal_client_domain(hal_fingerprint_default, hal_display) - -allow hal_fingerprint_default self:netlink_socket create_socket_perms_no_ioctl; - -binder_call(hal_fingerprint_default, vendor_hal_perf_default) - -allow hal_fingerprint_default vendor_hal_perf_hwservice:hwservice_manager find; - -allow hal_fingerprint_default fingerprintd_device:chr_file rw_file_perms; -allow hal_fingerprint_default tee_device:chr_file rw_file_perms; -allow hal_fingerprint_default vendor_qdsp_device:chr_file rw_file_perms; -allow hal_fingerprint_default vendor_xdsp_device:chr_file rw_file_perms; - -allow hal_fingerprint_default proc_touchpanel:dir search; -allow hal_fingerprint_default proc_touchpanel:file rw_file_perms; - -allow hal_fingerprint_default uhid_device:chr_file rw_file_perms; - -get_prop(hal_fingerprint_default, vendor_adsprpc_prop) -get_prop(hal_fingerprint_default, vendor_default_prop) -set_prop(hal_fingerprint_default, vendor_fingerprint_prop) diff --git a/sepolicy/vendor/hal_graphics_composer_default.te b/sepolicy/vendor/hal_graphics_composer_default.te deleted file mode 100644 index 08b21f9..0000000 --- a/sepolicy/vendor/hal_graphics_composer_default.te +++ /dev/null @@ -1,5 +0,0 @@ -allow hal_graphics_composer_default vendor_persist_file:file rw_file_perms; - -allow hal_graphics_composer_default sysfs_devices_system_cpu:file rw_file_perms; - -allow hal_graphics_composer_default vendor_diag_device:chr_file rw_file_perms; diff --git a/sepolicy/vendor/hal_lineage_livedisplay_qti.te b/sepolicy/vendor/hal_lineage_livedisplay_qti.te deleted file mode 100644 index 178a242..0000000 --- a/sepolicy/vendor/hal_lineage_livedisplay_qti.te +++ /dev/null @@ -1,5 +0,0 @@ -allow hal_lineage_livedisplay_qti vendor_display_vendor_data_file:dir rw_dir_perms; -allow hal_lineage_livedisplay_qti vendor_display_vendor_data_file:file create_file_perms; - -allow hal_lineage_livedisplay_qti vendor_sysfs_graphics:dir r_dir_perms; -allow hal_lineage_livedisplay_qti sysfs_livedisplay_tuneable:file rw_file_perms; diff --git a/sepolicy/vendor/hal_lineage_touch_default.te b/sepolicy/vendor/hal_lineage_touch_default.te deleted file mode 100644 index 2782309..0000000 --- a/sepolicy/vendor/hal_lineage_touch_default.te +++ /dev/null @@ -1,2 +0,0 @@ -allow hal_lineage_touch_default proc_touchpanel:dir search; -allow hal_lineage_touch_default proc_touchpanel:file rw_file_perms; diff --git a/sepolicy/vendor/hal_nfc_default.te b/sepolicy/vendor/hal_nfc_default.te deleted file mode 100644 index 17bb5a1..0000000 --- a/sepolicy/vendor/hal_nfc_default.te +++ /dev/null @@ -1,4 +0,0 @@ -allow hal_nfc_default vendor_nfc_vendor_data_file:dir create_dir_perms; -allow hal_nfc_default vendor_nfc_vendor_data_file:file create_file_perms; - -get_prop(hal_nfc_default, vendor_nfc_prop) \ No newline at end of file diff --git a/sepolicy/vendor/hal_param.te b/sepolicy/vendor/hal_param.te deleted file mode 100644 index 27a3543..0000000 --- a/sepolicy/vendor/hal_param.te +++ /dev/null @@ -1,4 +0,0 @@ -binder_call(hal_param_client, hal_param_server) -binder_call(hal_param_server, hal_param_client) - -hal_attribute_hwservice(hal_param, hal_param_hwservice) diff --git a/sepolicy/vendor/hal_param_default.te b/sepolicy/vendor/hal_param_default.te deleted file mode 100644 index e9406fb..0000000 --- a/sepolicy/vendor/hal_param_default.te +++ /dev/null @@ -1,17 +0,0 @@ -type hal_param_default, domain; -hal_server_domain(hal_param_default, hal_param) - -type hal_param_default_exec, exec_type, vendor_file_type, file_type; -init_daemon_domain(hal_param_default) - -allow hal_param_default self:qipcrtr_socket create_socket_perms_no_ioctl; - -allow hal_param_default block_device:dir search; - -allow hal_param_default param_block_device:blk_file rw_file_perms; - -allow hal_param_default param_device:chr_file rw_file_perms; - -r_dir_file(hal_param_default, sysfs_project_info) - -get_prop(hal_param_default, exported_default_prop) diff --git a/sepolicy/vendor/hal_power_default.te b/sepolicy/vendor/hal_power_default.te deleted file mode 100644 index 63b5b0f..0000000 --- a/sepolicy/vendor/hal_power_default.te +++ /dev/null @@ -1,2 +0,0 @@ -allow hal_power_default proc_touchpanel:dir search; -allow hal_power_default proc_touchpanel:file rw_file_perms; diff --git a/sepolicy/vendor/hwservice.te b/sepolicy/vendor/hwservice.te deleted file mode 100644 index 2f36a79..0000000 --- a/sepolicy/vendor/hwservice.te +++ /dev/null @@ -1,4 +0,0 @@ -type hal_cameraHIDL_hwservice, hwservice_manager_type; -type hal_charger_hwservice, hwservice_manager_type; -type hal_display_hwservice, hwservice_manager_type; -type hal_param_hwservice, hwservice_manager_type; diff --git a/sepolicy/vendor/hwservice_contexts b/sepolicy/vendor/hwservice_contexts deleted file mode 100644 index 482f6a0..0000000 --- a/sepolicy/vendor/hwservice_contexts +++ /dev/null @@ -1,10 +0,0 @@ -vendor.goodix3626.hardware.biometrics.fingerprint::IGoodixFingerprintDaemon u:object_r:hal_fingerprint_hwservice:s0 -vendor.goodix3626.hardware.biometrics.fingerprint::IGoodixFingerprintDaemonExt u:object_r:hal_fingerprint_hwservice:s0 -vendor.goodix3626.hardware.biometrics.fingerprint::IGoodixFingerprintDaemonHbd u:object_r:hal_fingerprint_hwservice:s0 -vendor.goodix3626.hardware.biometrics.fingerprint::IGoodixFingerprintDaemonFido u:object_r:hal_fingerprint_hwservice:s0 -vendor.oneplus.camera.CameraHIDL::IOnePlusCameraProvider u:object_r:hal_cameraHIDL_hwservice:s0 -vendor.oneplus.fingerprint.extension::IVendorFingerprintExtensions u:object_r:hal_fingerprint_hwservice:s0 -vendor.oneplus.hardware.camera::IOnePlusCameraProvider u:object_r:hal_cameraHIDL_hwservice:s0 -vendor.oneplus.hardware.CameraMDMHIDL::IOnePlusCameraMDM u:object_r:hal_cameraHIDL_hwservice:s0 -vendor.oneplus.hardware.display::IOneplusDisplay u:object_r:hal_display_hwservice:s0 -vendor.oneplus.hardware.param::IOneplusParam u:object_r:hal_param_hwservice:s0 diff --git a/sepolicy/vendor/kernel.te b/sepolicy/vendor/kernel.te deleted file mode 100644 index 03ad952..0000000 --- a/sepolicy/vendor/kernel.te +++ /dev/null @@ -1,2 +0,0 @@ -allow kernel param_block_device:dir search; -allow kernel param_block_device:blk_file rw_file_perms; diff --git a/sepolicy/vendor/opf.te b/sepolicy/vendor/opf.te deleted file mode 100644 index 07f319d..0000000 --- a/sepolicy/vendor/opf.te +++ /dev/null @@ -1,11 +0,0 @@ -type opf, domain; -type opf_exec, exec_type, vendor_file_type, file_type; - -init_daemon_domain(opf) - -type_transition opf device:file opf_file; - -allow opf device:dir create_dir_perms; -allow opf device:file create_file_perms; - -allow opf opf_file:file create_file_perms; diff --git a/sepolicy/vendor/property.te b/sepolicy/vendor/property.te deleted file mode 100644 index 56aa7d7..0000000 --- a/sepolicy/vendor/property.te +++ /dev/null @@ -1,11 +0,0 @@ -vendor_internal_prop(vendor_db_security_prop) -vendor_internal_prop(vendor_fingerprint_prop) -vendor_internal_prop(vendor_gps_prop) -vendor_internal_prop(vendor_memplus_prop) -vendor_internal_prop(vendor_nfc_prop) -vendor_internal_prop(vendor_oem_bluetooth_prop) -vendor_internal_prop(vendor_oem_wifi_prop) -vendor_internal_prop(vendor_rild_prop) -vendor_internal_prop(vendor_set_wlan_prop) -vendor_internal_prop(vendor_shell_prop) -vendor_internal_prop(vendor_sys_op_prop) diff --git a/sepolicy/vendor/property_contexts b/sepolicy/vendor/property_contexts deleted file mode 100644 index d02aa44..0000000 --- a/sepolicy/vendor/property_contexts +++ /dev/null @@ -1,51 +0,0 @@ -persist.vendor.bluetooth.bt.uart.log u:object_r:vendor_oem_bluetooth_prop:s0 -persist.vendor.ese. u:object_r:vendor_nfc_prop:s0 -persist.vendor.nfc. u:object_r:vendor_nfc_prop:s0 -persist.vendor.oem.bt.debug u:object_r:vendor_oem_bluetooth_prop:s0 -persist.vendor.oem.btenhanced.debug u:object_r:vendor_oem_bluetooth_prop:s0 -persist.vendor.oem.btsnoop.debug u:object_r:vendor_oem_bluetooth_prop:s0 -persist.vendor.oem.fp.version u:object_r:vendor_fingerprint_prop:s0 -persist.vendor.oem.gps.debug u:object_r:vendor_gps_prop:s0 -persist.vendor.oem.wifi.chain u:object_r:vendor_oem_wifi_prop:s0 -persist.vendor.oem.wifi.cnssdiag u:object_r:vendor_oem_wifi_prop:s0 -persist.vendor.oem.wifi.copytosd u:object_r:vendor_oem_wifi_prop:s0 -persist.vendor.oem.wifi.debug u:object_r:vendor_oem_wifi_prop:s0 -persist.vendor.oem.wifi.logpath u:object_r:vendor_oem_wifi_prop:s0 -persist.vendor.oem.wifi.txenable u:object_r:vendor_oem_wifi_prop:s0 -persist.vendor.oneplus.bt u:object_r:vendor_oem_bluetooth_prop:s0 -persist.vendor.oneplus.bttestmode u:object_r:vendor_oem_bluetooth_prop:s0 -persist.vendor.sdx50m.online u:object_r:vendor_usb_prop:s0 -persist.vendor.service.bdroid.snooplog u:object_r:vendor_bluetooth_prop:s0 -persist.vendor.service.bdroid.soclog u:object_r:vendor_bluetooth_prop:s0 -persist.vendor.tcpdump.copy u:object_r:vendor_oem_wifi_prop:s0 -persist.vendor.tcpdump.dir u:object_r:vendor_oem_wifi_prop:s0 -persist.vendor.tcpdump.location u:object_r:vendor_oem_wifi_prop:s0 -persist.vendor.tcpdump.mdpermission u:object_r:vendor_oem_wifi_prop:s0 -ro.vendor.build.display.full_id u:object_r:vendor_rild_prop:s0 -ro.vendor.product.device.db u:object_r:vendor_db_security_prop:s0 -ro.vendor.product.manufacturer.db u:object_r:vendor_db_security_prop:s0 -vendor.calibration.fingerprint u:object_r:vendor_fingerprint_prop:s0 -vendor.copy.opdiagnose.data u:object_r:vendor_shell_prop:s0 -vendor.nfc. u:object_r:vendor_nfc_prop:s0 -vendor.oem.rbr.log.clean u:object_r:vendor_default_prop:s0 -vendor.oem.wifi.socket.quit u:object_r:vendor_set_wlan_prop:s0 -vendor.service.wifi.socket.enable u:object_r:vendor_oem_wifi_prop:s0 -vendor.service.wifi.socket.mdm.enable u:object_r:vendor_oem_wifi_prop:s0 -vendor.sys.memplus.postboot u:object_r:vendor_memplus_prop:s0 -vendor.sys.op.disable_ufstw u:object_r:vendor_sys_op_prop:s0 -vendor.wcn.firmware.version u:object_r:vendor_set_wlan_prop:s0 -vendor.wcn.bdf.version u:object_r:vendor_set_wlan_prop:s0 -vendor.wlan.driver.status u:object_r:vendor_set_wlan_prop:s0 -vendor.wlan.ftm.daemon u:object_r:vendor_set_wlan_prop:s0 -vendor.wlan.ftm.up u:object_r:vendor_set_wlan_prop:s0 -vendor.wlan.hotspot.forceChannel u:object_r:vendor_oem_wifi_prop:s0 -vendor.wlan.sniffer.bandwidth u:object_r:vendor_oem_wifi_prop:s0 -vendor.wlan.sniffer.channel u:object_r:vendor_oem_wifi_prop:s0 -vendor.wlan.sniffer.dump u:object_r:vendor_oem_wifi_prop:s0 -vendor.wlan.sniffer.enabled u:object_r:vendor_oem_wifi_prop:s0 -vendor.wlan.sniffer.file u:object_r:vendor_oem_wifi_prop:s0 -vendor.wlan.sniffer.iface u:object_r:vendor_oem_wifi_prop:s0 -vendor.wlan.sniffer.output_dir u:object_r:vendor_oem_wifi_prop:s0 -vendor.wlan.sniffer.status u:object_r:vendor_oem_wifi_prop:s0 -vendor.wlan.sniffer.vendor_dir u:object_r:vendor_oem_wifi_prop:s0 -vendor.wlan.write.con_mode u:object_r:vendor_set_wlan_prop:s0 diff --git a/sepolicy/vendor/rild.te b/sepolicy/vendor/rild.te deleted file mode 100644 index 126d025..0000000 --- a/sepolicy/vendor/rild.te +++ /dev/null @@ -1,15 +0,0 @@ -hal_client_domain(rild, hal_param) - -allow rild vendor_data_file:dir rw_dir_perms; -allow rild vendor_data_file:file create_file_perms; - -allow rild block_device:dir search; - -allow rild param_block_device:blk_file rw_file_perms; - -allow rild vendor_diag_device:chr_file rw_file_perms; - -allow rild proc:file w_file_perms; -allow rild proc_net:file w_file_perms; - -set_prop(rild, vendor_rild_prop) diff --git a/sepolicy/vendor/seapp_contexts b/sepolicy/vendor/seapp_contexts deleted file mode 100644 index 48be461..0000000 --- a/sepolicy/vendor/seapp_contexts +++ /dev/null @@ -1 +0,0 @@ -user=system seinfo=platform name=com.qualcomm.qti.poweroffalarm domain=vendor_poweroffalarm_app type=system_app_data_file diff --git a/sepolicy/vendor/update_engine_common.te b/sepolicy/vendor/update_engine_common.te deleted file mode 100644 index bde8371..0000000 --- a/sepolicy/vendor/update_engine_common.te +++ /dev/null @@ -1 +0,0 @@ -allow update_engine_common vendor_modem_efs_partition_device:blk_file rw_file_perms; diff --git a/sepolicy/vendor/vendor_init-qcom-sensors-sh.te b/sepolicy/vendor/vendor_init-qcom-sensors-sh.te deleted file mode 100644 index 2363a4e..0000000 --- a/sepolicy/vendor/vendor_init-qcom-sensors-sh.te +++ /dev/null @@ -1,2 +0,0 @@ -allow vendor_init-qcom-sensors-sh vendor_persist_sensors_file:dir setattr; -allow vendor_init-qcom-sensors-sh vendor_persist_sensors_file:file setattr; diff --git a/sepolicy/vendor/vendor_init.te b/sepolicy/vendor/vendor_init.te deleted file mode 100644 index 5a1d5d8..0000000 --- a/sepolicy/vendor/vendor_init.te +++ /dev/null @@ -1,13 +0,0 @@ -allow vendor_init tmpfs:chr_file { read open }; -allow vendor_init tmpfs:dir { create_dir_perms mounton }; - -allow vendor_init op2_file:file create_file_perms; - -allow vendor_init proc_direct_swappiness:file w_file_perms; -allow vendor_init proc_hung_task:file w_file_perms; -allow vendor_init proc_swappiness:file w_file_perms; -allow vendor_init proc_watermark_boost_factor:file rw_file_perms; - -get_prop(vendor_init, vendor_db_security_prop) -set_prop(vendor_init, vendor_oem_bluetooth_prop) -set_prop(vendor_init, vendor_oem_wifi_prop) diff --git a/sepolicy/vendor/vendor_qti_init_shell.te b/sepolicy/vendor/vendor_qti_init_shell.te deleted file mode 100644 index 48c6ad6..0000000 --- a/sepolicy/vendor/vendor_qti_init_shell.te +++ /dev/null @@ -1,30 +0,0 @@ -allow vendor_qti_init_shell proc_modules:file r_file_perms; - -allow vendor_qti_init_shell sysfs:file write; - -allow vendor_qti_init_shell sysfs_devices_system_cpu:file setattr; -allow vendor_qti_init_shell sysfs_project_info:file write; - -allow vendor_qti_init_shell sysfs_fsc:dir r_dir_perms; -allow vendor_qti_init_shell sysfs_fsc:file rw_file_perms; - -allow vendor_qti_init_shell sysfs_memplus:file rw_file_perms; - -allow vendor_qti_init_shell vendor_data_file:dir create_dir_perms; -allow vendor_qti_init_shell vendor_data_file:file create_file_perms; - -allow vendor_qti_init_shell vendor_file:file execute_no_trans; -allow vendor_qti_init_shell vendor_file:system module_load; - -allow vendor_qti_init_shell vendor_sysfs_scsi_host:dir r_dir_perms; -allow vendor_qti_init_shell vendor_sysfs_scsi_host:file rw_file_perms; - -allow vendor_qti_init_shell vendor_wcnss_service_exec:file execute_no_trans; - -allow vendor_qti_init_shell kmsg_device:chr_file w_file_perms; -allow vendor_qti_init_shell loop_control_device:chr_file rw_file_perms; - -get_prop(vendor_qti_init_shell, exported_system_prop) -set_prop(vendor_qti_init_shell, ctl_default_prop) -set_prop(vendor_qti_init_shell, vendor_memplus_prop) -set_prop(vendor_qti_init_shell, vendor_set_wlan_prop) diff --git a/sepolicy/vendor/vendor_sensors.te b/sepolicy/vendor/vendor_sensors.te deleted file mode 100644 index 24e46e0..0000000 --- a/sepolicy/vendor/vendor_sensors.te +++ /dev/null @@ -1,2 +0,0 @@ -r_dir_file(vendor_sensors, oem_file) -r_dir_file(vendor_sensors, sysfs_project_info) diff --git a/sepolicy/vendor/vendor_wcnss_service.te b/sepolicy/vendor/vendor_wcnss_service.te deleted file mode 100644 index 98e5d9c..0000000 --- a/sepolicy/vendor/vendor_wcnss_service.te +++ /dev/null @@ -1,3 +0,0 @@ -allow vendor_wcnss_service init:unix_stream_socket connectto; -allow vendor_wcnss_service property_socket:sock_file write; -allow vendor_wcnss_service vendor_set_wlan_prop:property_service set; diff --git a/sepolicy/vendor/wifi-mac-generator.te b/sepolicy/vendor/wifi-mac-generator.te deleted file mode 100644 index ced7309..0000000 --- a/sepolicy/vendor/wifi-mac-generator.te +++ /dev/null @@ -1,12 +0,0 @@ -type wifi-mac-generator, domain; -type wifi-mac-generator_exec, exec_type, vendor_file_type, file_type; - -init_daemon_domain(wifi-mac-generator) - -allow wifi-mac-generator vendor_shell_exec:file rx_file_perms; -allow wifi-mac-generator vendor_toolbox_exec:file rx_file_perms; - -r_dir_file(wifi-mac-generator, vendor_data_file) - -allow wifi-mac-generator mnt_vendor_file:dir search; -allow wifi-mac-generator mnt_vendor_file:file w_file_perms; diff --git a/setup-makefiles.py b/setup-makefiles.py new file mode 100755 index 0000000..32947cf --- /dev/null +++ b/setup-makefiles.py @@ -0,0 +1 @@ +#!./extract-files.py --regenerate_makefiles diff --git a/setup-makefiles.sh b/setup-makefiles.sh deleted file mode 100755 index b0355e8..0000000 --- a/setup-makefiles.sh +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2016 The CyanogenMod Project -# Copyright (C) 2017-2022 The LineageOS Project -# -# SPDX-License-Identifier: Apache-2.0 -# - -set -e - -DEVICE=dre -VENDOR=oneplus - -# Load extract_utils and do some sanity checks -MY_DIR="${BASH_SOURCE%/*}" -if [[ ! -d "${MY_DIR}" ]]; then MY_DIR="${PWD}"; fi - -ANDROID_ROOT="${MY_DIR}/../../.." - -HELPER="${ANDROID_ROOT}/tools/extract-utils/extract_utils.sh" -if [ ! -f "${HELPER}" ]; then - echo "Unable to find helper script at ${HELPER}" - exit 1 -fi -source "${HELPER}" - -# Initialize the helper -setup_vendor "${DEVICE}" "${VENDOR}" "${ANDROID_ROOT}" - -# Warning headers and guards -write_headers - -write_makefiles "${MY_DIR}/proprietary-files.txt" true - -# Finish -write_footers diff --git a/system.prop b/system.prop deleted file mode 100644 index b95b123..0000000 --- a/system.prop +++ /dev/null @@ -1,58 +0,0 @@ -# Audio -audio.offload.min.duration.secs=30 -persist.vendor.audio.hac.enable=false -persist.vendor.audio_hal.dsp_bit_width_enforce_mode=24 - -# Bluetooth -persist.vendor.bt.a2dp.aac_whitelist=false -ro.bluetooth.library_name=libbluetooth_qti.so - -# Camera -camera.disable_zsl_mode=true - -# Charger -ro.charger.disable_init_blank=true - -# Display -debug.gralloc.gfx_ubwc_disable=0 -debug.sf.enable_hwc_vds=1 -debug.sf.latch_unsignaled=1 -persist.vendor.color.matrix=2 - -# CNE -persist.vendor.cne.feature=1 - -# DPM -persist.vendor.dpm.feature=11 - -# IMS -persist.dbg.volte_avail_ovr=1 -persist.dbg.vt_avail_ovr=1 -persist.dbg.wfc_avail_ovr=1 - -# IOP -vendor.iop.enable_prefetch_ofr=1 -vendor.iop.enable_uxe=0 - -# Media -media.settings.xml=/vendor/etc/media_profiles_vendor.xml - -# Radio -ro.telephony.default_network=33,33 - -# Touchscreen -persist.vendor.qti.inputopts.enable=true -persist.vendor.qti.inputopts.movetouchslop=0.6 - -# Netmgr -persist.vendor.data.iwlan.enable=true -persist.vendor.data.mode=concurrent - -# SSR -persist.vendor.ssr.restart_level=ALL_ENABLE - -# Vendor -ro.vendor.qti.va_aosp.support=1 - -# Zygote -persist.device_config.runtime_native.usap_pool_enabled=true diff --git a/system_ext.prop b/system_ext.prop new file mode 100644 index 0000000..3933c58 --- /dev/null +++ b/system_ext.prop @@ -0,0 +1,40 @@ +# Bluetooth +persist.bluetooth.bqr.event_mask=0x8000000E +persist.bluetooth.bqr.min_interval_ms=60000 + +# Display +debug.sf.enable_hwc_vds=1 + +# CNE +persist.vendor.cne.feature=1 + +# DPM +persist.vendor.dpm.feature=11 + +# GPS +persist.backup.ntpServer=0.pool.ntp.org + +# IMS +persist.dbg.volte_avail_ovr=1 +persist.dbg.vt_avail_ovr=1 +persist.dbg.wfc_avail_ovr=1 + +# Media +media.settings.xml=/vendor/etc/media_profiles_vendor.xml +media.stagefright.thumbnail.prefer_hw_codecs=true +ro.media.recorder-max-base-layer-fps=60 +vendor.mm.enable.qcom_parser=4044018 + +# Netmgr +persist.data.df.agg.dl_pkt=10 +persist.data.df.agg.dl_size=4096 +persist.vendor.data.mode=concurrent + +# Radio +ril.subscription.types=NV,RUIM + +# Sensors +persist.vendor.sensors.enable.mag_filter=true + +# Vendor +ro.vendor.qti.va_aosp.support=1 diff --git a/vendor.prop b/vendor.prop index d7e1506..21dc0d2 100644 --- a/vendor.prop +++ b/vendor.prop @@ -2,87 +2,46 @@ aaudio.hw_burst_min_usec=2000 aaudio.mmap_exclusive_policy=2 aaudio.mmap_policy=2 -audio.deep_buffer.media=true -audio.offload.video=false -persist.audio.fluence.voicecomm=true -persist.vendor.audio.ambisonic.auto.profile=false -persist.vendor.audio.ambisonic.capture=false -persist.vendor.audio.apptype.multirec.enabled=false persist.vendor.audio.avs.afe_api_version=2 -persist.vendor.audio.bcl.enabled=false -persist.vendor.audio.fluence.audiorec=true persist.vendor.audio.fluence.speaker=true -persist.vendor.audio.fluence.tmic.enabled=false persist.vendor.audio.fluence.voicecall=true -persist.vendor.audio.fluence.voicerec=true -persist.vendor.audio.ha_proxy.enabled=false -persist.vendor.audio.ras.enabled=false +persist.vendor.audio.fluence.voicecomm=true persist.vendor.audio.spv3.enable=true -persist.vendor.audio.voicecall.speaker.stereo=true -persist.vendor.audio_hal.dsp_bit_width_enforce_mode=24 -ro.audio.monitorRotation=true -ro.config.media_vol_steps=30 -ro.config.vc_call_vol_steps=9 -ro.vendor.audio.sdk.fluencetype=fluence -ro.vendor.audio.sdk.ssr=false vendor.audio.adm.buffering.ms=2 -vendor.audio.enable.mirrorlink=false vendor.audio.feature.a2dp_offload.enable=true vendor.audio.feature.afe_proxy.enable=true -vendor.audio.feature.anc_headset.enable=false -vendor.audio.feature.audiozoom.enable=false vendor.audio.feature.battery_listener.enable=true -vendor.audio.feature.compr_cap.enable=false -vendor.audio.feature.compr_voip.enable=false vendor.audio.feature.compress_in.enable=true vendor.audio.feature.compress_meta_data.enable=true vendor.audio.feature.concurrent_capture.enable=true vendor.audio.feature.custom_stereo.enable=true -vendor.audio.feature.deepbuffer_as_primary.enable=false vendor.audio.feature.display_port.enable=true -vendor.audio.feature.dsm_feedback.enable=false vendor.audio.feature.dynamic_ecns.enable=true -vendor.audio.feature.ext_hw_plugin.enable=false -vendor.audio.feature.external_dsp.enable=false -vendor.audio.feature.external_speaker.enable=false -vendor.audio.feature.external_speaker_tfa.enable=false vendor.audio.feature.fluence.enable=true vendor.audio.feature.fm.enable=true vendor.audio.feature.hdmi_edid.enable=true vendor.audio.feature.hdmi_passthrough.enable=true vendor.audio.feature.hfp.enable=true -vendor.audio.feature.hifi_audio.enable=false -vendor.audio.feature.hwdep_cal.enable=false vendor.audio.feature.incall_music.enable=true vendor.audio.feature.keep_alive.enable=true vendor.audio.feature.kpi_optimize.enable=true -vendor.audio.feature.maxx_audio.enable=false vendor.audio.feature.multi_voice_session.enable=true vendor.audio.feature.power_mode.enable=true vendor.audio.feature.ras.enable=true -vendor.audio.feature.record_play_concurency.enable=false vendor.audio.feature.snd_mon.enable=true vendor.audio.feature.spkr_prot.enable=true vendor.audio.feature.src_trkn.enable=true vendor.audio.feature.ssrec.enable=true vendor.audio.feature.usb_offload.enable=true vendor.audio.feature.usb_offload_burst_mode.enable=true -vendor.audio.feature.usb_offload_sidetone_volume.enable=false vendor.audio.feature.vbat.enable=true -vendor.audio.feature.wsa.enable=false vendor.audio.flac.sw.decoder.24bit=true vendor.audio.hal.boot.timeout.ms=20000 -vendor.audio.hal.output.suspend.supported=false +vendor.audio.hal.output.suspend.supported=true vendor.audio.hw.aac.encoder=true vendor.audio.offload.buffer.size.kb=32 vendor.audio.offload.gapless.enabled=true -vendor.audio.offload.multiaac.enable=true -vendor.audio.offload.multiple.enabled=false -vendor.audio.offload.passthrough=false vendor.audio.offload.track.enable=true -vendor.audio.parser.ip.buffer.size=262144 -vendor.audio.safx.pbe.enabled=false -vendor.audio.tunnel.encode=false vendor.audio.use.sw.alac.decoder=true vendor.audio.use.sw.ape.decoder=true vendor.audio.use.sw.mpegh.decoder=true @@ -93,54 +52,58 @@ vendor.audio_hal.period_size=192 vendor.voice.path.for.pcm.voip=true # Bluetooth -persist.bluetooth.a2dp_offload.cap=sbc-aac-aptx-aptxhd-ldac -persist.bluetooth.a2dp_offload.disabled=false -persist.sys.fflag.override.settings_bluetooth_hearing_aid=true -persist.vendor.bt.a2dp_offload_cap=sbc-aptx-aptxtws-aptxhd-aac-ldac +bluetooth.device.class_of_device=90,2,12 +bluetooth.hardware.power.idle_cur_ma=6 +bluetooth.hardware.power.operating_voltage_mv=3700 +bluetooth.hardware.power.rx_cur_ma=28 +bluetooth.hardware.power.tx_cur_ma=36 +bluetooth.profile.a2dp.source.enabled?=true +bluetooth.profile.asha.central.enabled?=true +bluetooth.profile.avrcp.target.enabled?=true +bluetooth.profile.bas.client.enabled?=true +bluetooth.profile.gatt.enabled?=true +bluetooth.profile.hfp.ag.enabled?=true +bluetooth.profile.hid.device.enabled?=true +bluetooth.profile.hid.host.enabled?=true +bluetooth.profile.map.server.enabled?=true +bluetooth.profile.opp.enabled?=true +bluetooth.profile.pan.nap.enabled?=true +bluetooth.profile.pan.panu.enabled?=true +bluetooth.profile.pbap.server.enabled?=true +bluetooth.profile.sap.server.enabled?=true +#persist.bluetooth.a2dp_offload.disabled=false persist.vendor.bt.aac_frm_ctl.enabled=true persist.vendor.bt.aac_vbr_frm_ctl.enabled=true -persist.vendor.oneplus.bt.asd.chain=0 -persist.vendor.oneplus.bt.asd.firmware=false persist.vendor.qcom.bluetooth.a2dp_offload_cap=sbc-aptx-aptxtws-aptxhd-aac-ldac -persist.vendor.qcom.bluetooth.aac_vbr_ctl.enabled=true -persist.vendor.qcom.bluetooth.enable.splita2dp=true -persist.vendor.qcom.bluetooth.scram.enabled=false -persist.vendor.qcom.bluetooth.twsp_state.enabled=false -ro.bluetooth.a2dp_offload.supported=true -ro.vendor.bluetooth.wipower=false -vendor.qcom.bluetooth.soc=hastings +persist.vendor.qcom.bluetooth.aac_frm_ctl.enabled=true +persist.vendor.qcom.bluetooth.aptxadaptiver2_1_support=true +#ro.bluetooth.a2dp_offload.supported=true # Camera -persist.vendor.camera.privapp.list=com.oneplus.factorymode,com.oneplus.camera,com.oem.autotest,com.oneplus.healthcheck -vendor.arcsoft.sn_isHardCopy=0 -vendor.camera.algo.jpeghwencode=1 -vendor.camera.aux.packagelist=com.oneplus.factorymode,com.oplus.camera,com.oem.autotest,com.oneplus.healthcheck +vendor.camera.aux.packageexcludelist=org.telegram.messenger,org.thunderdog.challegram,us.zoom.videomeetings # Chipset ro.soc.manufacturer=Qualcomm ro.soc.model=SM4350 # Crypto -ro.crypto.allow_encrypt_override=true ro.crypto.dm_default_key.options_format.version=2 -ro.crypto.volume.filenames_mode=aes-256-cts ro.crypto.volume.metadata.method=dm-default-key +# DPM +persist.vendor.dpm.idletimer.mode=default +persist.vendor.dpmhalservice.enable=1 + # Display -ro.vendor.display.sensortype=2 vendor.display.comp_mask=0 vendor.display.disable_excl_rect=0 vendor.display.disable_excl_rect_partial_fb=1 vendor.display.disable_hw_recovery_dump=1 -vendor.display.disable_offline_rotator=1 -vendor.display.disable_scaler=0 +vendor.display.disable_offline_rotator=0 +vendor.display.enable_camera_smooth=1 vendor.display.enable_async_powermode=0 vendor.display.enable_early_wakeup=1 vendor.display.enable_optimize_refresh=1 -vendor.display.enable_posted_start_dyn=1 -vendor.display.secure_preview_buffer_format=420_sp -vendor.display.use_layer_ext=1 -vendor.display.use_smooth_motion=1 # DRM drm.service.enabled=true @@ -148,32 +111,28 @@ drm.service.enabled=true # FRP ro.frp.pst=/dev/block/bootdevice/by-name/frp +# FUSE passthrough +persist.sys.fuse.passthrough.enable=true + # Gatekeeper vendor.gatekeeper.disable_spu=true -# GPS -persist.backup.ntpServer=0.pool.ntp.org - # Graphics -debug.egl.hw=0 -debug.mdpcomp.logs=0 -debug.sf.enable_advanced_sf_phase_offset=1 -debug.sf.enable_gl_backpressure=1 -debug.sf.high_fps_early_gl_phase_offset_ns=-4000000 -debug.sf.high_fps_early_phase_offset_ns=-4000000 -debug.sf.high_fps_late_app_phase_offset_ns=1000000 -debug.sf.high_fps_late_sf_phase_offset_ns=-4000000 -debug.sf.hw=0 +debug.sf.disable_client_composition_cache=1 +debug.sf.early.sf.duration=15666666 +debug.sf.early.app.duration=13666666 +debug.sf.earlyGl.app.duration=13666666 +debug.sf.earlyGl.sf.duration=15666666 +debug.sf.enable_gl_backpressure=0 debug.sf.latch_unsignaled=1 -persist.demo.hdmirotationlock=false -persist.sys.sf.color_mode=0 -persist.sys.sf.color_saturation=1.0 +debug.sf.late.app.duration=13666666 +debug.sf.late.sf.duration=15666666 +debug.sf.use_phase_offsets_as_durations=1 ro.hardware.egl=adreno ro.hardware.vulkan=adreno ro.opengles.version=196610 +ro.surface_flinger.enable_frame_rate_override=false ro.surface_flinger.force_hwc_copy_for_virtual_displays=true -ro.surface_flinger.has_HDR_display=true -ro.surface_flinger.has_wide_color_display=true ro.surface_flinger.max_frame_buffer_acquired_buffers=3 ro.surface_flinger.max_virtual_display_dimension=4096 ro.surface_flinger.protected_contents=true @@ -181,52 +140,27 @@ ro.surface_flinger.refresh_rate_switching=true ro.surface_flinger.set_idle_timer_ms=80 ro.surface_flinger.set_touch_timer_ms=200 ro.surface_flinger.set_display_power_timer_ms=1000 -ro.surface_flinger.use_color_management=true ro.surface_flinger.use_content_detection_for_refresh_rate=true -ro.surface_flinger.wcg_composition_dataspace=143261696 +ro.surface_flinger.supports_background_blur=1 vendor.gralloc.disable_ubwc=0 vendor.gralloc.secure_preview_buffer_format=420_sp vendor.gralloc.secure_preview_only=1 # Incremental FS -ro.incremental.enable=true - -# Keystore -ro.hardware.keystore_desede=true +ro.incremental.enable=yes # Media -debug.stagefright.ccodec=4 -debug.stagefright.omx_default_rank=0 - -# PASR -vendor.power.pasr.enabled=false +debug.stagefright.c2inputsurface=-1 # Perf ro.vendor.extension_library=libqti-perfd-client.so # Radio -persist.radio.snapshot_enabled=0 -persist.radio.snapshot_timer=0 -persist.rcs.otp_sms_port=0 -persist.rcs.supported=1 -persist.vendor.data.iwlan.enable=true -persist.vendor.radio.5g_mode_pref=1 -persist.vendor.radio.apm_sim_not_pwdn=1 -persist.vendor.radio.arfcn_test_mode=3 -persist.vendor.radio.bar_fake_gcell=1 persist.vendor.radio.custom_ecc=1 -persist.vendor.radio.data_con_rprt=1 -persist.vendor.radio.data_ltd_sys_ind=1 -persist.vendor.radio.efssync=true -persist.vendor.radio.enableadvancedscan=true -persist.vendor.radio.force_on_dc=true -persist.vendor.radio.ignore_dom_time=10 +persist.vendor.radio.mt_sms_ack=30 persist.vendor.radio.procedure_bytes=SKIP -persist.vendor.radio.process_sups_ind=1 persist.vendor.radio.rat_on=combine -persist.vendor.radio.sib16_support=1 -persist.vendor.radio.uicc_se_enabled=true -ro.com.android.dataroaming=false +ro.telephony.default_network=33,33 # Sensors persist.vendor.sensors.debug.ssc_qmi_debug=true @@ -237,12 +171,19 @@ persist.vendor.sensors.support_direct_channel=false persist.vendor.sensors.enable.bypass_worker=true persist.vendor.sensors.sync_request=true -# Shutdown -sys.vendor.shutdown.waittime=500 - # USB +sys.usb.mtp.batchcancel=1 vendor.usb.diag.func.name=ffs +vendor.usb.dpl.inst.name=dpl +vendor.usb.qdss.inst.name=qdss_sw +vendor.usb.rmnet.func.name=gsi +vendor.usb.rmnet.inst.name=rmnet +vendor.usb.rndis.func.name=gsi vendor.usb.use_ffs_mtp=1 +vendor.usb.use_gadget_hal=1 # WiFi wifi.aware.interface=wifi-aware0 + +# Zygote +zygote.critical_window.minute=10 diff --git a/manifest.xml b/vintf/manifest.xml similarity index 69% rename from manifest.xml rename to vintf/manifest.xml index 01e9d76..88b9cc3 100644 --- a/manifest.xml +++ b/vintf/manifest.xml @@ -1,5 +1,4 @@ - - + android.hardware.audio hwbinder @@ -27,15 +26,6 @@ default - - android.hardware.bluetooth.audio - hwbinder - 2.0 - - IBluetoothAudioProvidersFactory - default - - android.hardware.camera.provider hwbinder @@ -69,52 +59,11 @@ default - - android.hardware.media.c2 - hwbinder - 1.0 - - IComponentStore - default - software - - - - android.hardware.media.omx - hwbinder - 1.0 - - IOmx - default - - - IOmxStore - default - - - - android.hardware.memtrack - hwbinder - 1.0 - - IMemtrack - default - - - - android.hardware.nfc - hwbinder - 1.2 - - INfc - default - - android.hardware.radio hwbinder - @1.2::ISap/slot1 @1.5::IRadio/slot1 + @1.2::ISap/slot1 android.hardware.radio.config @@ -146,7 +95,7 @@ android.hardware.tetheroffload.control hwbinder - 1.0 + 1.1 IOffloadControl default @@ -188,123 +137,6 @@ com.qualcomm.qti.uceservice - - vendor.goodix3626.hardware.biometrics.fingerprint - hwbinder - 2.1 - - IGoodixFingerprintDaemon - default - - - - vendor.oneplus.engnative.engineer - hwbinder - 1.0 - - IEngineer - default - - - - vendor.oneplus.faceunlock.hal - hwbinder - 1.0 - - IFaceUnlockNativeService - default - - - - vendor.oneplus.fingerprint.extension - hwbinder - 1.0 - - IVendorFingerprintExtensions - default - - - - vendor.oneplus.hardware.CameraMDMHIDL - hwbinder - 1.0 - - IOnePlusCameraMDM - default - - - - vendor.oneplus.hardware.camera - hwbinder - 1.0 - - IOnePlusCameraProvider - default - - - - vendor.oneplus.hardware.display - hwbinder - 1.0 - - IOneplusDisplay - default - - - - vendor.oneplus.hardware.drmkey - hwbinder - 1.0 - - IOneplusDrmKey - default - - - - vendor.oneplus.hardware.hypnus - hwbinder - 1.0 - - IHypnusUtil - default - - - - vendor.oneplus.hardware.ifaa - hwbinder - 2.0 - - IOneplusIfaa - default - - - - vendor.oneplus.hardware.param - hwbinder - 1.0 - - IOneplusParam - default - - - - vendor.oneplus.hardware.rpmb - hwbinder - 1.0 - - IOneplusRpmb - default - - - - vendor.oneplus.hardware.wifi - hwbinder - 1.1 - - IOneplusWifi - default - - vendor.qti.data.factory hwbinder @@ -314,15 +146,6 @@ default - - vendor.qti.esepowermanager - hwbinder - 1.1 - - IEsePowerManager - default - - vendor.qti.hardware.alarm hwbinder @@ -394,8 +217,8 @@ IDataConnection slot1 - - + + vendor.qti.hardware.data.iwlan hwbinder 1.0 @@ -450,12 +273,12 @@ - vendor.qti.hardware.perf + vendor.qti.hardware.mwqemadapter hwbinder - 2.2 + 1.0 - IPerf - default + IMwqemAdapter + MwqemAdapter @@ -501,7 +324,7 @@ vendor.qti.hardware.radio.ims hwbinder - 1.6 + 1.7 IImsRadio imsradio0 @@ -516,15 +339,6 @@ deviceinfo - - vendor.qti.hardware.radio.lpa - hwbinder - 1.1 - - IUimLpa - UimLpa0 - - vendor.qti.hardware.radio.qcrilhook hwbinder @@ -546,7 +360,7 @@ vendor.qti.hardware.radio.qtiradio hwbinder - 2.5 + 2.7 IQtiRadio slot1 @@ -649,6 +463,7 @@ vendor.qti.ims.factory hwbinder 1.1 + 2.2 IImsFactory default @@ -663,23 +478,4 @@ imsrtpservice - - vendor.qti.qspmhal - hwbinder - 1.0 - - IQspmhal - default - - - - vendor.rongcard.hardware.eid - hwbinder - 1.0 - - IEidDevice - default - - @1.0::IEidDevice/default - diff --git a/wifi-mac-generator/Android.bp b/wifi-mac-generator/Android.bp deleted file mode 100644 index cf239de..0000000 --- a/wifi-mac-generator/Android.bp +++ /dev/null @@ -1,6 +0,0 @@ -sh_binary { - name: "wifi-mac-generator-dre", - init_rc: ["wifi-mac-generator.rc"], - src: "wifi-mac-generator.sh", - vendor: true, -} diff --git a/wifi-mac-generator/wifi-mac-generator.rc b/wifi-mac-generator/wifi-mac-generator.rc deleted file mode 100644 index 409de07..0000000 --- a/wifi-mac-generator/wifi-mac-generator.rc +++ /dev/null @@ -1,9 +0,0 @@ -service vendor.wifi-mac-generator /vendor/bin/wifi-mac-generator-dre - class main - user wifi - group wifi - oneshot - disabled - -on post-fs-data - start vendor.wifi-mac-generator diff --git a/wifi-mac-generator/wifi-mac-generator.sh b/wifi-mac-generator/wifi-mac-generator.sh deleted file mode 100644 index 2961318..0000000 --- a/wifi-mac-generator/wifi-mac-generator.sh +++ /dev/null @@ -1,43 +0,0 @@ -#!/vendor/bin/sh -WLAN_MAC_VENDOR_PREFIX="C0EEFB" -WLAN_MAC_PERSIST_PATH="/mnt/vendor/persist/wlan_mac.bin" - -function wait_for_file() { - retries=0 - - while [ ! -f "${1}" ]; do - retries=$((retries + 1)) - - if [ "${retries}" -eq 10 ]; then - return 1 - fi - - sleep 1 - done - - return 0 -} - -if [[ ! -f "${WLAN_MAC_PERSIST_PATH}" ]] || [[ ! -s "${WLAN_MAC_PERSIST_PATH}" ]]; then - MAC_0_PATH="/data/vendor/oemnvitems/4678_0" - - if ! wait_for_file "${MAC_0_PATH}"; then - MAC_0="${WLAN_MAC_VENDOR_PREFIX}`xxd -l 3 -p /dev/urandom | tr '[:lower:]' '[:upper:]'`" - else - MAC_0=`xxd -p "${MAC_0_PATH}" | grep -o '..' | tac | tr -d '\n' | tr '[:lower:]' '[:upper:]'` - fi - - #MAC_1_PATH="/data/vendor/oemnvitems/4678_1" - - #if ! wait_for_file "${MAC_1_PATH}"; then - # MAC_1="${WLAN_MAC_VENDOR_PREFIX}`xxd -l 3 -p /dev/urandom | tr '[:lower:]' '[:upper:]'`" - #else - # MAC_1=`xxd -p "${MAC_1_PATH}" | grep -o '..' | tac | tr -d '\n' | tr '[:lower:]' '[:upper:]'` - #fi - - echo "Intf0MacAddress=${MAC_0}" > "${WLAN_MAC_PERSIST_PATH}" - echo "Intf1MacAddress=000AF58989FE" >> "${WLAN_MAC_PERSIST_PATH}" - echo "Intf2MacAddress=000AF58989FD" >> "${WLAN_MAC_PERSIST_PATH}" - echo "Intf3MacAddress=000AF58989FC" >> "${WLAN_MAC_PERSIST_PATH}" - echo "END" >> "${WLAN_MAC_PERSIST_PATH}" -fi diff --git a/wifi/p2p_supplicant_overlay.conf b/wifi/p2p_supplicant_overlay.conf deleted file mode 100644 index 2b27c5b..0000000 --- a/wifi/p2p_supplicant_overlay.conf +++ /dev/null @@ -1,4 +0,0 @@ -disable_scan_offload=1 -p2p_no_group_iface=1 -persistent_reconnect=1 -bss_max_count=400 diff --git a/wifi/wpa_supplicant_overlay.conf b/wifi/wpa_supplicant_overlay.conf deleted file mode 100644 index 799420d..0000000 --- a/wifi/wpa_supplicant_overlay.conf +++ /dev/null @@ -1,8 +0,0 @@ -disable_scan_offload=1 -p2p_disabled=1 -tdls_external_control=1 -wowlan_triggers=magic_pkt -bss_max_count=400 -interworking=1 -config_methods=virtual_display virtual_push_button keypad -driver_param="no_rrm=1 use_p2p_group_interface=1"