e3q: Initial commit

This commit is contained in:
David Wronek 2024-10-19 09:55:36 +02:00
commit 1ed321552e
88 changed files with 34339 additions and 0 deletions

8
Android.bp Normal file
View File

@ -0,0 +1,8 @@
//
// Copyright (C) 2024 The LineageOS Project
//
// SPDX-License-Identifier: Apache-2.0
//
soong_namespace {
}

11
Android.mk Normal file
View File

@ -0,0 +1,11 @@
#
# Copyright (C) 2024 The LineageOS Project
#
# SPDX-License-Identifier: Apache-2.0
#
LOCAL_PATH := $(call my-dir)
ifeq ($(TARGET_DEVICE),e3q)
include $(call all-subdir-makefiles,$(LOCAL_PATH))
endif

13
AndroidProducts.mk Normal file
View File

@ -0,0 +1,13 @@
#
# Copyright (C) 2024 The LineageOS Project
#
# SPDX-License-Identifier: Apache-2.0
#
PRODUCT_MAKEFILES := \
$(LOCAL_DIR)/lineage_e3q.mk
COMMON_LUNCH_CHOICES := \
lineage_e3q-user \
lineage_e3q-userdebug \
lineage_e3q-eng

223
BoardConfig.mk Normal file
View File

@ -0,0 +1,223 @@
#
# Copyright (C) 2024 The LineageOS Project
#
# SPDX-License-Identifier: Apache-2.0
#
BUILD_BROKEN_DUP_RULES := true
BUILD_BROKEN_ELF_PREBUILT_PRODUCT_COPY_FILES := true
BUILD_BROKEN_INCORRECT_PARTITION_IMAGES := true
DEVICE_PATH := device/samsung/e3q
# Architecture
TARGET_ARCH := arm64
TARGET_ARCH_VARIANT := armv8-a
TARGET_CPU_ABI := arm64-v8a
TARGET_CPU_ABI2 :=
TARGET_CPU_VARIANT := generic
TARGET_CPU_VARIANT_RUNTIME := kryo300
# Board
TARGET_BOARD_INFO_FILE := $(DEVICE_PATH)/board-info.txt
# Bootloader
TARGET_BOOTLOADER_BOARD_NAME := pineapple
TARGET_NO_BOOTLOADER := true
# Display
TARGET_SCREEN_DENSITY := 450
TARGET_USES_VULKAN := true
# DTB / DTBO
BOARD_INCLUDE_DTB_IN_BOOTIMG := true
BOARD_USES_QCOM_MERGE_DTBS_SCRIPT := true
TARGET_NEEDS_DTBOIMAGE := true
# Init Boot
BOARD_INIT_BOOT_HEADER_VERSION := 4
BOARD_MKBOOTIMG_INIT_ARGS += --header_version $(BOARD_INIT_BOOT_HEADER_VERSION)
# Kernel
BOARD_KERNEL_CMDLINE := \
androidboot.hardware=qcom \
androidboot.memcg=1 \
androidboot.usbcontroller=a600000.dwc3 \
androidboot.load_modules_parallel=false \
androidboot.hypervisor.protected_vm.supported=true \
androidboot.selinux=permissive \
aosp_is_booting \
firmware_class.path=/vendor/firmware_mnt/image \
loop.max_part=7 \
printk.devkmsg=on \
video=vfb:640x400,bpp=32,memsize=3072000 \
audit=0
BOARD_BOOTCONFIG := \
androidboot.hardware=qcom \
androidboot.memcg=1 \
androidboot.usbcontroller=a600000.dwc3 \
androidboot.load_modules_parallel=false \
androidboot.hypervisor.protected_vm.supported=true \
androidboot.selinux=permissive
BOARD_KERNEL_IMAGE_NAME := Image
BOARD_KERNEL_BASE := 0x00000000
BOARD_KERNEL_PAGESIZE := 4096
BOARD_USES_GENERIC_KERNEL_IMAGE := true
TARGET_KERNEL_SOURCE := kernel/samsung/sm8650
TARGET_KERNEL_CONFIG := \
gki_defconfig \
vendor/pineapple_GKI.config \
oem/e3q-lego.config
# Kernel modules
BOARD_SYSTEM_KERNEL_MODULES_LOAD := $(strip $(shell cat $(DEVICE_PATH)/modules/modules.load.system_dlkm))
BOARD_VENDOR_KERNEL_MODULES_BLOCKLIST_FILE := $(DEVICE_PATH)/modules/modules.blocklist
BOARD_VENDOR_KERNEL_MODULES_LOAD := $(strip $(shell cat $(DEVICE_PATH)/modules/modules.load))
BOARD_VENDOR_RAMDISK_KERNEL_MODULES_BLOCKLIST_FILE := $(BOARD_VENDOR_KERNEL_MODULES_BLOCKLIST_FILE)
BOARD_VENDOR_RAMDISK_KERNEL_MODULES_LOAD := $(strip $(shell cat $(DEVICE_PATH)/modules/modules.load.vendor_boot))
BOARD_VENDOR_RAMDISK_RECOVERY_KERNEL_MODULES_LOAD := $(strip $(shell cat $(DEVICE_PATH)/modules/modules.load.recovery))
BOOT_KERNEL_MODULES := $(strip $(shell cat $(DEVICE_PATH)/modules/modules.load.recovery $(DEVICE_PATH)/modules/modules.include.vendor_ramdisk))
SYSTEM_KERNEL_MODULES := $(strip $(shell cat $(DEVICE_PATH)/modules/modules.include.system_dlkm))
BOARD_RECOVERY_KERNEL_MODULES_LOAD := $(strip $(shell cat $(DEVICE_PATH)/modules/modules.load.recovery))
BOARD_RECOVERY_RAMDISK_KERNEL_MODULES_LOAD := $(strip $(shell cat $(DEVICE_PATH)/modules/modules.load.recovery))
RECOVERY_KERNEL_MODULES := $(BOARD_RECOVERY_RAMDISK_KERNEL_MODULES_LOAD)
TARGET_KERNEL_EXT_MODULE_ROOT := kernel/samsung/sm8650-modules
TARGET_KERNEL_EXT_MODULES := \
qcom/opensource/mmrm-driver \
qcom/opensource/mm-drivers/hw_fence \
qcom/opensource/mm-drivers/msm_ext_display \
qcom/opensource/mm-drivers/sync_fence \
qcom/opensource/securemsm-kernel \
qcom/opensource/audio-kernel \
qcom/opensource/camera-kernel \
qcom/opensource/dataipa/drivers/platform/msm \
qcom/opensource/datarmnet-ext/mem \
qcom/opensource/datarmnet/core \
qcom/opensource/datarmnet-ext/aps \
qcom/opensource/datarmnet-ext/offload \
qcom/opensource/datarmnet-ext/shs \
qcom/opensource/datarmnet-ext/perf \
qcom/opensource/datarmnet-ext/perf_tether \
qcom/opensource/datarmnet-ext/sch \
qcom/opensource/datarmnet-ext/wlan \
qcom/opensource/display-drivers/msm \
qcom/opensource/synx-kernel \
qcom/opensource/dsp-kernel \
qcom/opensource/eva-kernel \
qcom/opensource/video-driver \
qcom/opensource/graphics-kernel \
qcom/opensource/wlan/platform \
qcom/opensource/wlan/qcacld-3.0 \
qcom/opensource/bt-kernel \
qcom/opensource/spu-kernel \
qcom/opensource/mm-sys-kernel/ubwcp \
qcom/opensource/touch-drivers \
nxp/opensource/driver
# Metadata
BOARD_USES_METADATA_PARTITION := true
# Partitions
BOARD_FLASH_BLOCK_SIZE := 262144 # (BOARD_KERNEL_PAGESIZE * 64)
BOARD_BOOTIMAGE_PARTITION_SIZE := 100663296
BOARD_CACHEIMAGE_PARTITION_SIZE := 367001600
BOARD_DTBOIMG_PARTITION_SIZE := 16777216
BOARD_INIT_BOOT_IMAGE_PARTITION_SIZE := 8388608
BOARD_RECOVERYIMAGE_PARTITION_SIZE := 110034944
BOARD_VENDOR_BOOTIMAGE_PARTITION_SIZE := 100663296
BOARD_SUPER_PARTITION_SIZE := 14105444352
BOARD_SUPER_PARTITION_GROUPS := samsung_dynamic_partitions
BOARD_SAMSUNG_DYNAMIC_PARTITIONS_PARTITION_LIST := \
odm \
product \
system \
system_dlkm \
system_ext \
vendor \
vendor_dlkm
BOARD_SAMSUNG_DYNAMIC_PARTITIONS_SIZE := 14101250048 # (BOARD_SUPER_PARTITION_SIZE - 4MiB)
BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE := ext4
BOARD_ODMIMAGE_FILE_SYSTEM_TYPE := ext4
BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE := ext4
BOARD_SYSTEMIMAGE_FILE_SYSTEM_TYPE := ext4
BOARD_SYSTEM_EXTIMAGE_FILE_SYSTEM_TYPE := ext4
BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4
BOARD_SYSTEM_DLKMIMAGE_FILE_SYSTEM_TYPE := ext4
BOARD_VENDOR_DLKMIMAGE_FILE_SYSTEM_TYPE := ext4
TARGET_COPY_OUT_ODM := odm
TARGET_COPY_OUT_PRODUCT := product
TARGET_COPY_OUT_SYSTEM_DLKM := system_dlkm
TARGET_COPY_OUT_SYSTEM_EXT := system_ext
TARGET_COPY_OUT_VENDOR := vendor
TARGET_COPY_OUT_VENDOR_DLKM := vendor_dlkm
BOARD_ROOT_EXTRA_FOLDERS := \
efs
# Platform
BOARD_VENDOR := samsung
BOARD_USES_QCOM_HARDWARE := true
TARGET_BOARD_PLATFORM := pineapple
# Properties
TARGET_SYSTEM_PROP += $(DEVICE_PATH)/system.prop
TARGET_VENDOR_PROP += $(DEVICE_PATH)/vendor.prop
TARGET_PRODUCT_PROP += $(DEVICE_PATH)/product.prop
TARGET_SYSTEM_EXT_PROP += $(DEVICE_PATH)/system_ext.prop
TARGET_SYSTEM_DLKM_PROP += $(DEVICE_PATH)/system_dlkm.prop
TARGET_ODM_PROP += $(DEVICE_PATH)/odm.prop
TARGET_ODM_DLKM_PROP += $(DEVICE_PATH)/odm_dlkm.prop
TARGET_VENDOR_DLKM_PROP += $(DEVICE_PATH)/vendor_dlkm.prop
# Recovery
TARGET_RECOVERY_FSTAB := $(DEVICE_PATH)/rootdir/etc/fstab.qcom
BOARD_INCLUDE_RECOVERY_DTBO := true
TARGET_RECOVERY_PIXEL_FORMAT := RGBX_8888
TARGET_USERIMAGES_USE_EXT4 := true
TARGET_USERIMAGES_USE_F2FS := true
# Security patch level
VENDOR_SECURITY_PATCH := 2024-10-01
# Sepolicy
include device/qcom/sepolicy_vndr/SEPolicy.mk
include device/lineage/sepolicy/libperfmgr/sepolicy.mk
BOARD_VENDOR_SEPOLICY_DIRS += $(DEVICE_PATH)/sepolicy/vendor
SYSTEM_EXT_PRIVATE_SEPOLICY_DIRS += $(DEVICE_PATH)/sepolicy/private
SYSTEM_EXT_PUBLIC_SEPOLICY_DIRS += $(DEVICE_PATH)/sepolicy/public
# Verified Boot
BOARD_AVB_ENABLE := true
BOARD_AVB_MAKE_VBMETA_IMAGE_ARGS += --flags 3
BOARD_AVB_RECOVERY_KEY_PATH := external/avb/test/data/testkey_rsa4096.pem
BOARD_AVB_RECOVERY_ALGORITHM := SHA256_RSA4096
BOARD_AVB_RECOVERY_ROLLBACK_INDEX := 1
BOARD_AVB_RECOVERY_ROLLBACK_INDEX_LOCATION := 1
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 := 1
BOARD_AVB_VENDOR_BOOT_ROLLBACK_INDEX_LOCATION := 1
# VINTF
DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE := \
$(DEVICE_PATH)/configs/vintf/compatibility_matrix.device.xml \
$(DEVICE_PATH)/configs/vintf/compatibility_matrix.samsung.xml \
hardware/qcom-caf/common/vendor_framework_compatibility_matrix.xml \
vendor/lineage/config/device_framework_matrix.xml \
hardware/samsung/vintf/samsung_framework_compatibility_matrix.xml
DEVICE_FRAMEWORK_MANIFEST_FILE += $(DEVICE_PATH)/configs/vintf/framework_manifest.xml
DEVICE_MATRIX_FILE := \
$(DEVICE_PATH)/configs/vintf/compatibility_matrix.xml \
hardware/qcom-caf/common/compatibility_matrix.xml
DEVICE_MANIFEST_SKUS := pineapple
DEVICE_MANIFEST_PINEAPPLE_FILES := \
$(DEVICE_PATH)/configs/vintf/manifest_pineapple.xml \
$(DEVICE_PATH)/configs/vintf/manifest_samsung.xml
# Inherit the proprietary files
include vendor/samsung/e3q/BoardConfigVendor.mk

1
board-info.txt Normal file
View File

@ -0,0 +1 @@
require board=pineapple|e3q

View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright 2021 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.
-->
<permissions>
<feature name="android.hardware.hardware_keystore" version="300" />
</permissions>

View File

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2021 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.
-->
<!-- Feature for devices that support app attestation keys (i.e. KeyMint 1.0). -->
<permissions>
<feature name="android.hardware.keystore.app_attest_key" />
</permissions>

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- 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.
-->
<!-- Feature for devices with Keymaster in StrongBox. -->
<permissions>
<feature name="android.hardware.strongbox_keystore" version="300"/>
</permissions>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,282 @@
<!--
Copyright (C) 2024 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<compatibility-matrix version="7.0" type="framework">
<hal format="aidl" optional="true">
<name>vendor.samsung.hardware.authfw</name>
<interface>
<name>ISehAuthenticationFramework</name>
<instance>default</instance>
</interface>
</hal>
<hal format="aidl" optional="true">
<name>vendor.samsung.hardware.frcmc</name>
<interface>
<name>ISehFrcMc</name>
<instance>default</instance>
</interface>
</hal>
<hal format="aidl" optional="true">
<name>vendor.samsung.hardware.gnss</name>
<version>2</version>
<interface>
<name>ISehGnss</name>
<instance>default</instance>
</interface>
</hal>
<hal format="aidl" optional="true">
<name>vendor.samsung.hardware.hyper</name>
<version>2</version>
<interface>
<name>ISehHyPer</name>
<instance>default</instance>
</interface>
</hal>
<hal format="aidl" optional="true">
<name>vendor.samsung.hardware.khdm</name>
<interface>
<name>ISehKhdm</name>
<instance>default</instance>
</interface>
</hal>
<hal format="aidl" optional="true">
<name>vendor.samsung.hardware.media.mpp</name>
<version>2</version>
<interface>
<name>ISehMppStore</name>
<instance>default</instance>
</interface>
</hal>
<hal format="aidl" optional="true">
<name>vendor.samsung.hardware.mpos</name>
<interface>
<name>ISehMpos</name>
<instance>default</instance>
</interface>
</hal>
<hal format="aidl" optional="true">
<name>vendor.samsung.hardware.radio.bridge</name>
<interface>
<name>ISehRadioBridge</name>
<instance>slot1</instance>
<instance>slot2</instance>
</interface>
</hal>
<hal format="aidl" optional="true">
<name>vendor.samsung.hardware.radio.channel</name>
<interface>
<name>ISehRadioChannel</name>
<instance>epdgd</instance>
<instance>epdgd2</instance>
<instance>imsd</instance>
<instance>imsd2</instance>
</interface>
</hal>
<hal format="aidl" optional="true">
<name>vendor.samsung.hardware.radio.data</name>
<interface>
<name>ISehRadioData</name>
<instance>slot1</instance>
<instance>slot2</instance>
</interface>
</hal>
<hal format="aidl" optional="true">
<name>vendor.samsung.hardware.radio.messaging</name>
<interface>
<name>ISehRadioMessaging</name>
<instance>slot1</instance>
<instance>slot2</instance>
</interface>
</hal>
<hal format="aidl" optional="true">
<name>vendor.samsung.hardware.radio.network</name>
<interface>
<name>ISehRadioNetwork</name>
<instance>slot1</instance>
<instance>slot2</instance>
</interface>
</hal>
<hal format="aidl" optional="true">
<name>vendor.samsung.hardware.radio.sim</name>
<interface>
<name>ISehRadioSim</name>
<instance>slot1</instance>
<instance>slot2</instance>
</interface>
</hal>
<hal format="aidl" optional="true">
<name>vendor.samsung.hardware.security.drk</name>
<interface>
<name>ISehDrk</name>
<instance>default</instance>
</interface>
</hal>
<hal format="aidl" optional="true">
<name>vendor.samsung.hardware.security.engmode</name>
<interface>
<name>ISehEngmode</name>
<instance>default</instance>
</interface>
</hal>
<hal format="aidl" optional="true">
<name>vendor.samsung.hardware.security.fkeymaster</name>
<interface>
<name>ISehFkeymaster</name>
<instance>default</instance>
</interface>
</hal>
<hal format="aidl" optional="true">
<name>vendor.samsung.hardware.security.hdcp.keyprovisioning</name>
<interface>
<name>ISehHdcpKeyProvisioning</name>
<instance>default</instance>
</interface>
</hal>
<hal format="aidl" optional="true">
<name>vendor.samsung.hardware.security.hdcp.wifidisplay</name>
<version>2</version>
<interface>
<name>ISehHdcp</name>
<instance>default</instance>
</interface>
</hal>
<hal format="aidl" optional="true">
<name>vendor.samsung.hardware.security.hermes</name>
<interface>
<name>ISehHermesCommand</name>
<instance>default</instance>
</interface>
</hal>
<hal format="aidl" optional="true">
<name>vendor.samsung.hardware.security.rtts</name>
<interface>
<name>ISehRealTimeToken</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.samsung.hardware.security.sem</name>
<version>1.0</version>
<interface>
<name>ISehSem</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.samsung.hardware.security.skpm</name>
<version>1.0</version>
<interface>
<name>ISehSkpm</name>
<instance>default</instance>
</interface>
</hal>
<hal format="aidl" optional="true">
<name>vendor.samsung.hardware.security.vaultkeeper</name>
<interface>
<name>ISehVaultKeeper</name>
<instance>default</instance>
</interface>
</hal>
<hal format="aidl" optional="true">
<name>vendor.samsung.hardware.security.widevine.keyprov</name>
<interface>
<name>ISehWidevineKeyProv</name>
<instance>default</instance>
</interface>
</hal>
<hal format="aidl" optional="true">
<name>vendor.samsung.hardware.security.wsm.service</name>
<interface>
<name>ISehWsm</name>
<instance>default</instance>
</interface>
</hal>
<hal format="aidl" optional="true">
<name>vendor.samsung.hardware.snap</name>
<version>2</version>
<interface>
<name>ISehSnap</name>
<instance>default</instance>
</interface>
</hal>
<hal format="aidl" optional="true">
<name>vendor.samsung.hardware.sysinput</name>
<version>2</version>
<interface>
<name>ISehSysInputCallback</name>
<instance>default</instance>
</interface>
<interface>
<name>ISehSysInputDev</name>
<instance>default</instance>
</interface>
</hal>
<hal format="aidl" optional="true">
<name>vendor.samsung.hardware.tlc.ddar</name>
<interface>
<name>ISehDdar</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.samsung.hardware.tlc.iccc</name>
<version>1.0</version>
<interface>
<name>ISehIccc</name>
<instance>default</instance>
</interface>
</hal>
<hal format="aidl" optional="true">
<name>vendor.samsung.hardware.tlc.kg</name>
<interface>
<name>ISehKg</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.samsung.hardware.tlc.snap</name>
<version>1.0</version>
<interface>
<name>ISehSnapSec</name>
<instance>default</instance>
</interface>
</hal>
<hal format="aidl" optional="true">
<name>vendor.samsung.hardware.tlc.ucm</name>
<interface>
<name>ISehUcm</name>
<instance>default</instance>
</interface>
</hal>
<hal format="aidl" optional="true">
<name>vendor.samsung.hardware.wifi</name>
<interface>
<name>ISehWifi</name>
<instance>default</instance>
</interface>
</hal>
<hal format="aidl" optional="true">
<name>vendor.samsung.hardware.wifi.nan</name>
<interface>
<name>IWifiVendorNan</name>
<instance>default</instance>
</interface>
</hal>
<hal format="aidl" optional="false">
<name>vendor.samsung.hardware.keymint</name>
<version>1-3</version>
<interface>
<name>ISehKeyMintExtension</name>
<instance>default</instance>
</interface>
</hal>
<hal format="aidl" optional="false">
<name>vendor.samsung.hardware.keymint</name>
<version>1-3</version>
<interface>
<name>ISehKeyMintFactory</name>
<instance>default</instance>
</interface>
</hal>
</compatibility-matrix>

View File

@ -0,0 +1,80 @@
<!-- Copyright (c) 2017, The Linux Foundation. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials provided
with the distribution.
* Neither the name of The Linux Foundation nor the names of its
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-->
<compatibility-matrix version="7.0" type="device">
<hal format="hidl" optional="false">
<name>android.frameworks.sensorservice</name>
<version>1.0</version>
<interface>
<name>ISensorManager</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="false">
<name>android.hidl.manager</name>
<version>1.0</version>
<interface>
<name>IServiceManager</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="false">
<name>android.hidl.memory</name>
<version>1.0</version>
<interface>
<name>IMapper</name>
<instance>ashmem</instance>
</interface>
</hal>
<hal format="hidl" optional="false">
<name>android.hidl.token</name>
<version>1.0</version>
<interface>
<name>ITokenManager</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.qti.hardware.sigma_miracast</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>Isigma_miracast</name>
<instance>sigmahal</instance>
<instance>sigmahal64</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.qti.hardware.qccsyshal</name>
<transport>hwbinder</transport>
<version>1.0-2</version>
<interface>
<name>IQccsyshal</name>
<instance>qccsyshal</instance>
</interface>
</hal>
</compatibility-matrix>

View File

@ -0,0 +1,39 @@
<!-- Copyright (c) 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 "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.
-->
<manifest version="7.0" type="framework">
<!-- atfwd -->
<hal format="hidl">
<name>vendor.qti.hardware.radio.atcmdfwd</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IAtCmdFwd</name>
<instance>AtCmdFwdService</instance>
</interface>
</hal>
</manifest>

View File

@ -0,0 +1,262 @@
<!-- Copyright (c) 2019-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:
* 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.
==========================================================================
Changes from Qualcomm Innovation Center are provided under the following license:
Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
SPDX-License-Identifier: BSD-3-Clause-Clear
==========================================================================
-->
<manifest version="7.0" type="device" target-level="8">
<!-- CapabilityConfigStore HAL Service -->
<hal format="hidl">
<name>vendor.qti.hardware.capabilityconfigstore</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>ICapabilityConfigStore</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.audio</name>
<transport>hwbinder</transport>
<version>7.1</version>
<interface>
<name>IDevicesFactory</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.audio.effect</name>
<transport>hwbinder</transport>
<version>7.0</version>
<interface>
<name>IEffectsFactory</name>
<instance>default</instance>
</interface>
</hal>
<!-- DSP Service -->
<hal format="hidl">
<name>vendor.qti.hardware.dsp</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IDspService</name>
<instance>dspservice</instance>
</interface>
</hal>
<hal format="aidl">
<name>android.hardware.gatekeeper</name>
<version>1</version>
<interface>
<name>IGatekeeper</name>
<instance>default</instance>
</interface>
</hal>
<!-- <hal format="aidl">
<name>android.hardware.secure_element</name>
<version>1</version>
<fqname>ISecureElement/eSE1</fqname>
</hal>-->
<!-- IMS UCE Service -->
<hal format="hidl">
<name>com.qualcomm.qti.uceservice</name>
<transport>hwbinder</transport>
<version>2.3</version>
<interface>
<name>IUceService</name>
<instance>com.qualcomm.qti.uceservice</instance>
</interface>
</hal>
<!-- IMS callinfo Service -->
<hal format="hidl">
<name>vendor.qti.ims.callinfo</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IService</name>
<instance>default</instance>
</interface>
</hal>
<!-- IMS CM Service -->
<hal format="hidl">
<name>com.qualcomm.qti.imscmservice</name>
<transport>hwbinder</transport>
<version>2.2</version>
<interface>
<name>IImsCmService</name>
<instance>qti.ims.connectionmanagerservice</instance>
</interface>
</hal>
<hal format="hidl">
<name>vendor.qti.ims.factory</name>
<transport>hwbinder</transport>
<version>1.1</version>
<interface>
<name>IImsFactory</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>vendor.qti.hardware.cacert</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IService</name>
<instance>default</instance>
</interface>
</hal>
<!-- Factory HAL service -->
<hal format="hidl">
<name>vendor.qti.hardware.factory</name>
<transport>hwbinder</transport>
<version>1.1</version>
<interface>
<name>IFactory</name>
<instance>default</instance>
</interface>
</hal>
<!-- Secure image data processor HAL Service -->
<hal format="hidl">
<name>vendor.qti.hardware.secureprocessor.device</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>ISecureProcessor</name>
<instance>qti-tee</instance>
<instance>qti-tvm</instance>
</interface>
</hal>
<!-- bluetooth -->
<hal format="hidl">
<name>android.hardware.bluetooth</name>
<transport>hwbinder</transport>
<version>1.1</version>
<interface>
<name>IBluetoothHci</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>vendor.qti.hardware.bluetooth_audio</name>
<transport>hwbinder</transport>
<version>2.1</version>
<interface>
<name>IBluetoothAudioProvidersFactory</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>vendor.qti.hardware.btconfigstore</name>
<transport>hwbinder</transport>
<version>2.0</version>
<interface>
<name>IBTConfigStore</name>
<instance>default</instance>
</interface>
</hal>
<!-- fm -->
<hal format="hidl">
<name>vendor.qti.hardware.fm</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IFmHci</name>
<instance>default</instance>
</interface>
</hal>
<!--ANT-->
<hal format="hidl">
<name>com.dsi.ant</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IAnt</name>
<instance>default</instance>
</interface>
</hal>
<!-- WifiStats HAL service -->
<hal format="hidl">
<name>vendor.qti.hardware.wifi.wifilearner</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IWifiStats</name>
<instance>wifiStats</instance>
</interface>
</hal>
<!-- BluetoothSar service-->
<hal format="hidl">
<name>vendor.qti.hardware.bluetooth_sar</name>
<transport>hwbinder</transport>
<version>1.1</version>
<interface>
<name>IBluetoothSar</name>
<instance>default</instance>
</interface>
</hal>
<!-- SPU service-->
<hal format="hidl">
<name>vendor.qti.spu</name>
<transport>hwbinder</transport>
<version>1.1</version>
<interface>
<name>ISPUManager</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>vendor.qti.spu</name>
<transport>hwbinder</transport>
<version>2.0</version>
<interface>
<name>ISPUManager</name>
<instance>default</instance>
</interface>
</hal>
<hal format="aidl" optional="true">
<name>vendor.qti.hardware.spu</name>
<version>2</version>
<interface>
<name>ISPUManager</name>
<instance>default</instance>
</interface>
</hal>
<!--<hal format="aidl" optional="true">
<name>android.hardware.security.keymint</name>
<version>3</version>
<fqname>IKeyMintDevice/strongbox</fqname>
</hal>
<hal format="aidl" optional="true">
<name>android.hardware.security.keymint</name>
<version>3</version>
<fqname>IRemotelyProvisionedComponent/strongbox</fqname>
</hal>-->
</manifest>

View File

@ -0,0 +1,62 @@
<manifest version="7.0" type="device" target-level="8">
<!--<hal format="aidl">
<name>vendor.samsung.hardware.gnss</name>
<version>2</version>
<fqname>ISehGnss/default</fqname>
</hal>-->
<!--<hal format="aidl">
<name>vendor.samsung.hardware.hyper</name>
<version>2</version>
<fqname>ISehHyPer/default</fqname>
</hal>-->
<hal format="aidl">
<name>vendor.samsung.hardware.media.mpp</name>
<version>2</version>
<fqname>ISehMppStore/default</fqname>
</hal>
<hal format="aidl">
<name>vendor.samsung.hardware.security.hdcp.wifidisplay</name>
<version>2</version>
<fqname>ISehHdcp/default</fqname>
</hal>
<hal format="aidl">
<name>vendor.samsung.hardware.snap</name>
<version>2</version>
<fqname>ISehSnap/default</fqname>
</hal>
<hal format="aidl">
<name>vendor.samsung.hardware.sysinput</name>
<version>2</version>
<interface>
<name>ISehSysInputDev</name>
<instance>default</instance>
</interface>
<interface>
<name>ISehSysInputCallback</name>
<instance>default</instance>
</interface>
</hal>
<hal format="aidl">
<name>vendor.samsung.hardware.keymint</name>
<version>3</version>
<fqname>ISehKeyMintExtension/default</fqname>
</hal>
<hal format="aidl">
<name>vendor.samsung.hardware.keymint</name>
<version>3</version>
<fqname>ISehKeyMintFactory/default</fqname>
</hal>
<hal format="hidl">
<name>vendor.samsung.hardware.bluetooth</name>
<transport>hwbinder</transport>
<fqname>@2.0::ISehBluetooth/default</fqname>
</hal>
<hal format="aidl" override="true">
<name>android.hardware.weaver</name>
<version>2</version>
<interface>
<name>IWeaver</name>
<instance>default</instance>
</interface>
</hal>
</manifest>

98
device.mk Normal file
View File

@ -0,0 +1,98 @@
#
# Copyright (C) 2024 The LineageOS Project
#
# SPDX-License-Identifier: Apache-2.0
#
# Enable updating of APEXes
$(call inherit-product, $(SRC_TARGET_DIR)/product/updatable_apex.mk)
# API levels
PRODUCT_SHIPPING_API_LEVEL := 34
# fastbootd
PRODUCT_PACKAGES += \
android.hardware.fastboot@1.1-impl-mock \
fastbootd
# Health
PRODUCT_PACKAGES += \
android.hardware.health@2.1-impl \
android.hardware.health@2.1-impl.recovery \
android.hardware.health@2.1-service
# Overlays
PRODUCT_ENFORCE_RRO_TARGETS := *
# Partitions
PRODUCT_USE_DYNAMIC_PARTITIONS := true
# Product characteristics
PRODUCT_CHARACTERISTICS := phone
# Rootdir
PRODUCT_PACKAGES += \
dcc_extension.sh \
hdm_status.sh \
init.class_main.sh \
init.crda.sh \
init.kernel.post_boot-cliffs.sh \
init.kernel.post_boot-pineapple.sh \
init.kernel.post_boot.sh \
init.mdm.sh \
init.qcom.class_core.sh \
init.qcom.coex.sh \
init.qcom.early_boot.sh \
init.qcom.efs.sync.sh \
init.qcom.post_boot.sh \
init.qcom.sdio.sh \
init.qcom.sensors.sh \
init.qcom.sh \
init.qcom.usb.sh \
init.qti.display_boot.sh \
init.qti.kernel.debug-cliffs.sh \
init.qti.kernel.debug-pineapple.sh \
init.qti.kernel.debug.sh \
init.qti.kernel.early_debug-pineapple.sh \
init.qti.kernel.early_debug.sh \
init.qti.kernel.sh \
init.qti.media.sh \
init.qti.qcv.sh \
init.qti.time.daemon.sh \
init.qti.write.sh \
init.vendor.sensordebug.sh \
init.vendor.sensordebug.ssr_dump.sh \
install-recovery.sh \
qca6234-service.sh \
system_dlkm_modprobe.sh \
vendor_modprobe.sh \
PRODUCT_PACKAGES += \
fstab.qcom \
init.e3q.rc \
init.qcom.factory.rc \
init.qcom.rc \
init.qcom.usb.rc \
init.qti.kernel.rc \
init.qti.ss-ramdump.sh \
init.qti.ufs.rc \
init.samsung.bsp.rc \
init.samsung.display.rc \
init.samsung.dp.rc \
init.samsung.factory.rc \
init.samsung.power.rc \
init.samsung.rc \
init.samsung.user.rc \
init.target.rc \
init.recovery.qcom.rc \
init.recovery.samsung.rc \
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/rootdir/etc/fstab.qcom:$(TARGET_COPY_OUT_RAMDISK)/fstab.qcom
# Soong namespaces
PRODUCT_SOONG_NAMESPACES += \
$(LOCAL_PATH)
# Inherit the proprietary files
$(call inherit-product, vendor/samsung/e3q/e3q-vendor.mk)

103
extract-files.sh Executable file
View File

@ -0,0 +1,103 @@
#!/bin/bash
#
# SPDX-FileCopyrightText: 2016 The CyanogenMod Project
# SPDX-FileCopyrightText: 2017-2024 The LineageOS Project
# SPDX-License-Identifier: Apache-2.0
#
set -e
DEVICE=e3q
VENDOR=samsung
# 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}/../../.."
# If XML files don't have comments before the XML header, use this flag
# Can still be used with broken XML files by using blob_fixup
export TARGET_DISABLE_XML_FIXING=true
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
ONLY_FIRMWARE=
KANG=
SECTION=
CARRIER_SKIP_FILES=()
while [ "${#}" -gt 0 ]; do
case "${1}" in
--only-firmware)
ONLY_FIRMWARE=true
;;
-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
vendor/lib/libsample1.so)
[ "$2" = "" ] && return 0
sed -i 's|/data/misc/sample1|/data/misc/sample2|g' "${2}"
;;
vendor/lib64/libsample2.so)
[ "$2" = "" ] && return 0
"${PATCHELF}" --remove-needed "libsample3.so" "${2}"
"${PATCHELF}" --add-needed "libsample4.so" "${2}"
;;
vendor/lib/libsample5.so)
[ "$2" = "" ] && return 0
"${PATCHELF}" --replace-needed "libsample6.so" "libsample7.so" "${2}"
;;
vendor/lib/libsample7.so)
[ "$2" = "" ] && return 0
"${PATCHELF}" --set-soname "libsample7.so" "${2}"
;;
*)
return 1
;;
esac
return 0
}
function blob_fixup_dry() {
blob_fixup "$1" ""
}
# Initialize the helper
setup_vendor "${DEVICE}" "${VENDOR}" "${ANDROID_ROOT}" false "${CLEAN_VENDOR}"
if [ -z "${ONLY_FIRMWARE}" ]; then
extract "${MY_DIR}/proprietary-files.txt" "${SRC}" "${KANG}" --section "${SECTION}"
fi
"${MY_DIR}/setup-makefiles.sh"

28
lineage_e3q.mk Normal file
View File

@ -0,0 +1,28 @@
#
# Copyright (C) 2024 The LineageOS Project
#
# SPDX-License-Identifier: Apache-2.0
#
# Inherit from those products. Most specific first.
$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk)
$(call inherit-product, $(SRC_TARGET_DIR)/product/full_base_telephony.mk)
# Inherit some common Lineage stuff.
$(call inherit-product, vendor/lineage/config/common_full_phone.mk)
# Inherit from e3q device
$(call inherit-product, device/samsung/e3q/device.mk)
PRODUCT_DEVICE := e3q
PRODUCT_NAME := lineage_e3q
PRODUCT_BRAND := samsung
PRODUCT_MODEL := SM-S928B
PRODUCT_MANUFACTURER := samsung
PRODUCT_GMS_CLIENTID_BASE := android-samsung-ss
PRODUCT_BUILD_PROP_OVERRIDES += \
PRIVATE_BUILD_DESC="e3qxxx-user 14 UP1A.231005.007 S928BXXS3AXI8 release-keys"
BUILD_FINGERPRINT := samsung/e3qxxx/qssi_64:14/UP1A.231005.007/S928BXXS3AXI8:user/release-keys

62
modules/modules.blocklist Normal file
View File

@ -0,0 +1,62 @@
# SPDX-License-Identifier: GPL-2.0-only
# Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
blocklist 8250_of
blocklist adc-tm
blocklist atomic64_test
blocklist dummy-cpufreq
blocklist dummy_hcd
blocklist dummy_hcd
blocklist e4000
blocklist failover
blocklist fc0011
blocklist fc0012
blocklist fc0013
blocklist fc2580
blocklist ipclite_test
blocklist it913x
blocklist limits_stat
blocklist limits_stress
blocklist lkdtm
blocklist llcc_perfmon
blocklist locktorture
blocklist m88rs6000t
blocklist max2165
blocklist mc44s803
blocklist mmrm_test_module
blocklist msi001
blocklist mt2060
blocklist mt2063
blocklist mt20xx
blocklist mt2131
blocklist mt2266
blocklist mxl301rf
blocklist net_failover
blocklist qca_cld3_kiwi
blocklist qm1d1b0004
blocklist qm1d1c0042
blocklist qt1010
blocklist r820t
blocklist rcutorture
blocklist rtc-test
blocklist si2157
blocklist tda18212
blocklist tda18218
blocklist tda18250
blocklist tda18271
blocklist tda827x
blocklist tda8290
blocklist tda9887
blocklist tea5761
blocklist tea5767
blocklist test_user_copy
blocklist torture
blocklist tua9001
blocklist tuner-simple
blocklist tuner-types
blocklist tuner-xc2028
blocklist vmw_vsock_virtio_transport
blocklist vmw_vsock_virtio_transport_common
blocklist vsock
blocklist vsock_diag
blocklist xc4000
blocklist xc5000

View File

@ -0,0 +1,60 @@
gzvm.ko
kheaders.ko
zsmalloc.ko
libarc4.ko
zram.ko
mii.ko
can-dev.ko
vcan.ko
slcan.ko
ppp_generic.ko
bsd_comp.ko
ppp_deflate.ko
ppp_mppe.ko
pppox.ko
pptp.ko
slhc.ko
wwan.ko
rtl8150.ko
r8152.ko
asix.ko
ax88179_178a.ko
cdc_ether.ko
cdc_eem.ko
usbnet.ko
cdc_ncm.ko
aqc111.ko
r8153_ecm.ko
cdc-acm.ko
usbserial.ko
ftdi_sio.ko
hci_uart.ko
btsdio.ko
btbcm.ko
btqca.ko
8021q.ko
can.ko
can-raw.ko
can-bcm.ko
can-gw.ko
bluetooth.ko
rfcomm.ko
hidp.ko
l2tp_core.ko
l2tp_ppp.ko
tipc.ko
diag.ko
rfkill.ko
6lowpan.ko
nhc_dest.ko
nhc_fragment.ko
nhc_hop.ko
nhc_ipv6.ko
nhc_mobility.ko
nhc_routing.ko
nhc_udp.ko
ieee802154_6lowpan.ko
ieee802154.ko
ieee802154_socket.ko
mac802154.ko
nfc.ko

View File

@ -0,0 +1,120 @@
sec_boot_stat.ko
sec_log_buf.ko
sec_arm64_ap_context.ko
gh_arm_drv.ko
sched-walt.ko
qcom_ipc_logging.ko
qcom-pdc.ko
phy-qcom-ufs.ko
phy-qcom-ufs-qmp-v4-pineapple.ko
phy-qcom-ufs-qrbtc-sdm845.ko
pinctrl-msm.ko
pinctrl-pineapple.ko
pinctrl-cliffs.ko
pinctrl-volcano.ko
clk-qcom.ko
clk-dummy.ko
gdsc-regulator.ko
clk-rpmh.ko
dispcc-pineapple.ko
gcc-cliffs.ko
gcc-pineapple.ko
gcc-volcano.ko
camcc-cliffs.ko
camcc-pineapple.ko
gpucc-pineapple.ko
videocc-pineapple.ko
tcsrcc-pineapple.ko
qcom_aoss.ko
cmd-db.ko
crm.ko
mdt_loader.ko
qcom_rpmh.ko
smem.ko
mem_buf.ko
mem_buf_dev.ko
mem_buf_msgq.ko
secure_buffer.ko
socinfo.ko
dcc_v2.ko
qcom_wdt_core.ko
memory_dump_v2.ko
qcom_cpu_vendor_hooks.ko
crypto-qti.ko
hwkm.ko
tmecom-intf.ko
gic_intr_routing.ko
minidump.ko
gh_cpusys_vm_mem_access.ko
qcom-pmu-lib.ko
dcvs_fp.ko
qcom-dcvs.ko
qcom_scmi_client.ko
qcom_cpucp.ko
debug_symbol.ko
proxy-consumer.ko
rpmh-regulator.ko
stub-regulator.ko
debug-regulator.ko
arm_smmu.ko
msm_dma_iommu_mapping.ko
qcom_iommu_util.ko
iommu-logger.ko
qti-regmap-debugfs.ko
qcom-spmi-pmic.ko
qcom_dma_heaps.ko
spmi-pmic-arb.ko
rtc-pm8xxx.ko
i2c-gpio.ko
qcom-dload-mode.ko
qcom-reboot-reason.ko
qcom_tsens.ko
thermal_pause.ko
bcl_pmic5.ko
cpu_hotplug.ko
thermal_minidump.ko
softdog.ko
qcom-cpufreq-hw.ko
cqhci.ko
ufs_qcom.ko
ufshcd-crypto-qti.ko
qcom_scmi_vendor.ko
qcom-scm.ko
qcom-ipcc.ko
msm_qmp.ko
qcom_hwspinlock.ko
gh_virt_wdt.ko
gh_dbl.ko
gh_msgq.ko
gh_rm_drv.ko
gunyah_loader.ko
gunyah_qcom.ko
qcom_llcc_pmu.ko
nvmem_qcom-spmi-sdam.ko
icc-bcm-voter.ko
icc-rpmh.ko
qnoc-cliffs.ko
qnoc-volcano.ko
qnoc-pineapple.ko
qnoc-qos.ko
icc-debug.ko
icc-test.ko
sec_class.ko
sec_key_notifier.ko
sec_param.ko
sec_qc_debug.ko
sec_qc_upload_cause.ko
sec_qc_logger.ko
sec_qc_summary.ko
sec_debug.ko
sec_pmsg.ko
sec_upload_cause.ko
sec_crashkey.ko
sec_crashkey_long.ko
sec_debug_region.ko
sec_pm_log.ko
abc.ko
qrtr.ko
qrtr-gunyah.ko
sec_qc_param.ko
sec_qc_dbg_partition.ko

467
modules/modules.load Normal file
View File

@ -0,0 +1,467 @@
msm_sysstats.ko
ssg.ko
blk-sec-common.ko
blk-sec-stats.ko
blk-sec-wb.ko
msm_show_resume_irq.ko
mhi.ko
mhi_dev_uci.ko
mhi_dev_satellite.ko
phy-qcom-ufs-qmp-v4.ko
pinctrl-spmi-gpio.ko
pinctrl-spmi-mpp.ko
pwm-qti-lpg.ko
pci-msm-drv.ko
lcd.ko
debugcc-cliffs.ko
debugcc-pineapple.ko
gpucc-cliffs.ko
gpucc-volcano.ko
videocc-volcano.ko
bam_dma.ko
msm_gpi.ko
qcom_cpuss_sleep_stats.ko
pcie-pdc.ko
pdr_interface.ko
qmi_helpers.ko
heap_mem_ext_v01.ko
msm_memshare.ko
smp2p.ko
smp2p_sleepstate.ko
qsee_ipc_irq_bridge.ko
glink_probe.ko
mem-hooks.ko
qcom_stats.ko
eud.ko
llcc-qcom.ko
llcc_perfmon.ko
pmic-pon-log.ko
boot_stats.ko
core_hang_detect.ko
qcom_va_minidump.ko
qcom_logbuf_vendor_hooks.ko
qcom_logbuf_boot_log.ko
hung_task_enh.ko
msm_show_epoch.ko
gh_tlmm_vm_mem_access.ko
sps_drv.ko
qcom_ramdump.ko
memlat.ko
bwmon.ko
c1dcvs_scmi_v2.ko
mpam.ko
cpufreq_stats_scmi_v2.ko
dynpf_scmi.ko
cpucp_log.ko
sys_pm_vx.ko
msm_performance.ko
wcd_usbss_i2c.ko
sysmon_subsystem_stats.ko
cdsprm.ko
adsp_sleepmon.ko
panel_event_notifier.ko
dmesg_dumper.ko
health_monitor.ko
qfprom-sys.ko
qti-fixed-regulator.ko
qpnp-amoled-regulator.ko
qti-ocp-notifier.ko
hvc_gunyah.ko
msm_geni_serial.ko
rdbg.ko
qcom_iommu_debug.ko
drm_dp_aux_bus.ko
drm_display_helper.ko
lt9611uxc.ko
qseecom_proxy.ko
dev_ril_bridge.ko
qcom-i2c-pmic.ko
sec_ap_pmic.ko
sg.ko
spi-msm-geni.ko
spmi-pmic-arb-debug.ko
smsc.ko
smsc75xx.ko
smsc95xx.ko
msm_sharedmem.ko
phy-generic.ko
phy-qcom-emu.ko
phy-msm-ssusb-qmp.ko
phy-msm-snps-eusb2.ko
dwc3-msm.ko
ehset.ko
lvstest.ko
f_fs_ipc_log.ko
usb_f_cdev.ko
usb_f_ccid.ko
usb_f_qdss.ko
usb_f_gsi.ko
usb_f_conn_gadget.ko
usb_f_ss_mon_gadget.ko
usb_f_ss_acm.ko
repeater.ko
repeater-i2c-eusb2.ko
redriver.ko
nb7vpq904m.ko
pm8941-pwrkey.ko
sec_pon_alarm.ko
i2c-msm-geni.ko
i3c-master-msm-geni.ko
qcom-pon.ko
reboot-mode.ko
qcom-spmi-temp-alarm.ko
bcl_soc.ko
qti_qmi_cdev.ko
qti_qmi_sensor_v2.ko
qti_cpufreq_cdev.ko
qti_devfreq_cdev.ko
cpu_voltage_cooling.ko
ddr_cdev.ko
qti_userspace_cdev.ko
max31760_fan.ko
msm_lmh_dcvs.ko
thermal_config.ko
gpu_dump_skip_cdev.ko
qcom_edac.ko
cpufreq_limit.ko
qcom-cpufreq-hw-debug.ko
qcom_lpm.ko
sdhci-msm-sec.ko
leds-qti-flash.ko
leds-qti-tri-led.ko
leds-qpnp-vibrator-ldo.ko
leds-s2mpb02.ko
cs_dsp.ko
cl_dsp.ko
cl_dsp-debugfs.ko
qcom_pil_info.ko
rproc_qcom_common.ko
qcom_q6v5.ko
qcom_q6v5_pas.ko
qcom_spss.ko
qcom_sysmon.ko
qcom_glink.ko
qcom_glink_smem.ko
qcom_glink_spss.ko
qcom_smd.ko
glink_pkt.ko
gh_ctrl.ko
gh_irq_lend.ko
gh_rm_booster.ko
gh_mem_notifier.ko
gh_panic_notifier.ko
qcom-spmi-adc5-gen3.ko
qcom-vadc-common.ko
nvmem_qfprom.ko
sec_reloc_gpio.ko
sec_arm64_fsimd_debug.ko
sec_arm64_debug.ko
sec_qc_rbcmd.ko
sec_qc_qcom_reboot_reason.ko
sec_qc_soc_id.ko
sec_qc_qcom_wdt_core.ko
sec_qc_user_reset.ko
sec_qc_smem.ko
sec_qc_hw_param.ko
sec_qc_rst_exinfo.ko
sec_reboot_cmd.ko
sec_rdx_bootdev.ko
hdm.ko
sec_panel_notifier_v2.ko
pmic_class.ko
usb_typec_manager.ko
if_cb_manager.ko
max77705_charger.ko
input_booster_lkm.ko
max77775_charger.ko
common_muic.ko
sec_switch_class.ko
sdp.ko
vbus_notifier.ko
sec_common_fn.ko
sec_input_notifier.ko
dropdump.ko
s2dos05-regulator.ko
stm_ts_spi.ko
max77705-fuelgauge.ko
mfd_max77705.ko
mfd_max77775.ko
vibrator_vib_info.ko
kperfmon.ko
sec_vibrator_inputff_module.ko
usb_notify_layer.ko
usb_notifier.ko
usb_vendor_receiver.ko
fingerprint.ko
fingerprint_sysfs.ko
qfs4008_spidev.ko
sb-core.ko
pdic_notifier_module.ko
abc_hub.ko
sec_abc_detect_conn.ko
max77775-fuelgauge.ko
input-cs40l26-i2c.ko
hall_ic.ko
hall_ic_notifier.ko
flicker_test.ko
flicker_sensor.ko
pdic_max77705.ko
pdic_max77775.ko
pca9481_charger.ko
s2mpb03.ko
sec_thermistor.ko
wez02.ko
snvm.ko
nu1668-charger.ko
nfc_nxp_sec.ko
s2mpb02-regulator.ko
uwb.ko
s2dos07.ko
synaptics_ts_spi.ko
sec-direct-charger.ko
sec_pd.ko
sb_wireless.ko
sec-battery.ko
stmvl53l8.ko
mfd_s2mpb02.ko
slimbus.ko
slim-qcom-ngd-ctrl.ko
hwmon.ko
qti_amoled_ecm.ko
coresight.ko
coresight-tmc.ko
coresight-funnel.ko
coresight-replicator.ko
coresight-stm.ko
coresight-cti.ko
coresight-dummy.ko
coresight-remote-etm.ko
coresight-tmc-sec.ko
coresight-trace-noc.ko
coresight-tgu.ko
coresight-hwevent.ko
coresight-tpda.ko
coresight-tpdm.ko
coresight-csr.ko
stm_core.ko
stm_p_ost.ko
stm_console.ko
stm_heartbeat.ko
stm_ftrace.ko
sensors_core.ko
adsp_factory_module.ko
snd-usb-audio-qmi.ko
snd-soc-cirrus-amp.ko
snd-soc-cs35l43-i2c.ko
snd-soc-cs35l45-i2c.ko
snd-soc-hdmi-codec.ko
snd-soc-wm-adsp.ko
snd-soc-cs40l26.ko
sec_audio_sysfs.ko
snd_debug_proc.ko
cfg80211.ko
mac80211.ko
qrtr-smd.ko
qrtr-mhi.ko
qca_cld3_kiwi_v2.ko
cnss2.ko
cnss_plat_ipc_qmi_svc.ko
wlan_firmware_service.ko
cnss_nl.ko
cnss_prealloc.ko
cnss_utils.ko
q6_notifier_dlkm.ko
spf_core_dlkm.ko
audpkt_ion_dlkm.ko
gpr_dlkm.ko
audio_pkt_dlkm.ko
q6_dlkm.ko
adsp_loader_dlkm.ko
audio_prm_dlkm.ko
q6_pdr_dlkm.ko
pinctrl_lpi_dlkm.ko
swr_dlkm.ko
swr_ctrl_dlkm.ko
snd_event_dlkm.ko
wcd_core_dlkm.ko
mbhc_dlkm.ko
wcd9xxx_dlkm.ko
stub_dlkm.ko
machine_dlkm.ko
swr_dmic_dlkm.ko
swr_haptics_dlkm.ko
hdmi_dlkm.ko
lpass_cdc_wsa2_macro_dlkm.ko
lpass_cdc_wsa_macro_dlkm.ko
lpass_cdc_va_macro_dlkm.ko
lpass_cdc_rx_macro_dlkm.ko
lpass_cdc_tx_macro_dlkm.ko
lpass_cdc_dlkm.ko
wsa884x_dlkm.ko
wsa883x_dlkm.ko
wcd938x_dlkm.ko
wcd938x_slave_dlkm.ko
wcd939x_dlkm.ko
wcd939x_slave_dlkm.ko
q6_notifier_dlkm.ko
spf_core_dlkm.ko
audpkt_ion_dlkm.ko
gpr_dlkm.ko
audio_pkt_dlkm.ko
q6_dlkm.ko
adsp_loader_dlkm.ko
audio_prm_dlkm.ko
q6_pdr_dlkm.ko
pinctrl_lpi_dlkm.ko
swr_dlkm.ko
swr_ctrl_dlkm.ko
snd_event_dlkm.ko
wcd_core_dlkm.ko
mbhc_dlkm.ko
wcd9xxx_dlkm.ko
stub_dlkm.ko
machine_dlkm.ko
swr_dmic_dlkm.ko
swr_haptics_dlkm.ko
hdmi_dlkm.ko
lpass_cdc_wsa2_macro_dlkm.ko
lpass_cdc_wsa_macro_dlkm.ko
lpass_cdc_va_macro_dlkm.ko
lpass_cdc_rx_macro_dlkm.ko
lpass_cdc_tx_macro_dlkm.ko
lpass_cdc_dlkm.ko
wsa884x_dlkm.ko
wsa883x_dlkm.ko
wcd938x_dlkm.ko
wcd938x_slave_dlkm.ko
wcd939x_dlkm.ko
wcd939x_slave_dlkm.ko
qcedev-mod_dlkm.ko
qcrypto-msm_dlkm.ko
qce50_dlkm.ko
hdcp_qseecom_dlkm.ko
qrng_dlkm.ko
smmu_proxy_dlkm.ko
smcinvoke_dlkm.ko
tz_log_dlkm.ko
qseecom_dlkm.ko
ubwcp.ko
btpower.ko
bt_fm_slim.ko
radio-i2c-rtc6226-qca.ko
qca_cld3_kiwi_v2.ko
cnss2.ko
cnss_plat_ipc_qmi_svc.ko
wlan_firmware_service.ko
cnss_nl.ko
cnss_prealloc.ko
cnss_utils.ko
q6_notifier_dlkm.ko
spf_core_dlkm.ko
audpkt_ion_dlkm.ko
gpr_dlkm.ko
audio_pkt_dlkm.ko
q6_dlkm.ko
adsp_loader_dlkm.ko
audio_prm_dlkm.ko
q6_pdr_dlkm.ko
pinctrl_lpi_dlkm.ko
swr_dlkm.ko
swr_ctrl_dlkm.ko
snd_event_dlkm.ko
wcd_core_dlkm.ko
mbhc_dlkm.ko
wcd9xxx_dlkm.ko
stub_dlkm.ko
machine_dlkm.ko
swr_dmic_dlkm.ko
swr_haptics_dlkm.ko
hdmi_dlkm.ko
lpass_cdc_wsa2_macro_dlkm.ko
lpass_cdc_wsa_macro_dlkm.ko
lpass_cdc_va_macro_dlkm.ko
lpass_cdc_rx_macro_dlkm.ko
lpass_cdc_tx_macro_dlkm.ko
lpass_cdc_dlkm.ko
wsa884x_dlkm.ko
wsa883x_dlkm.ko
wcd938x_dlkm.ko
wcd938x_slave_dlkm.ko
wcd939x_dlkm.ko
wcd939x_slave_dlkm.ko
q6_notifier_dlkm.ko
spf_core_dlkm.ko
audpkt_ion_dlkm.ko
gpr_dlkm.ko
audio_pkt_dlkm.ko
q6_dlkm.ko
adsp_loader_dlkm.ko
audio_prm_dlkm.ko
q6_pdr_dlkm.ko
pinctrl_lpi_dlkm.ko
swr_dlkm.ko
swr_ctrl_dlkm.ko
snd_event_dlkm.ko
wcd_core_dlkm.ko
mbhc_dlkm.ko
wcd9xxx_dlkm.ko
stub_dlkm.ko
machine_dlkm.ko
swr_dmic_dlkm.ko
swr_haptics_dlkm.ko
hdmi_dlkm.ko
lpass_cdc_wsa2_macro_dlkm.ko
lpass_cdc_wsa_macro_dlkm.ko
lpass_cdc_va_macro_dlkm.ko
lpass_cdc_rx_macro_dlkm.ko
lpass_cdc_tx_macro_dlkm.ko
lpass_cdc_dlkm.ko
wsa884x_dlkm.ko
wsa883x_dlkm.ko
wcd938x_dlkm.ko
wcd938x_slave_dlkm.ko
wcd939x_dlkm.ko
wcd939x_slave_dlkm.ko
btpower.ko
bt_fm_slim.ko
radio-i2c-rtc6226-qca.ko
camera.ko
gsim.ko
ipam.ko
ipanetm.ko
rmnet_core.ko
rmnet_ctl.ko
rmnet_offload.ko
rmnet_perf_tether.ko
rmnet_perf.ko
rmnet_wlan.ko
rmnet_mem.ko
rmnet_shs.ko
rmnet_aps.ko
rmnet_sch.ko
rmnet_wlan.ko
msm_drm.ko
frpc-adsprpc.ko
cdsp-loader.ko
msm-eva.ko
msm_ext_display.ko
sync_fence.ko
msm_hw_fence.ko
msm-mmrm.ko
qcedev-mod_dlkm.ko
qcrypto-msm_dlkm.ko
qce50_dlkm.ko
hdcp_qseecom_dlkm.ko
qrng_dlkm.ko
smmu_proxy_dlkm.ko
smcinvoke_dlkm.ko
tz_log_dlkm.ko
qseecom_dlkm.ko
spcom.ko
spss_utils.ko
synx-driver.ko
ipclite.ko
ipclite_test.ko
ubwcp.ko
msm_video.ko
msm_kgsl.ko

View File

@ -0,0 +1,394 @@
sec_boot_stat.ko
sec_log_buf.ko
sec_arm64_ap_context.ko
gh_arm_drv.ko
sched-walt.ko
qcom_ipc_logging.ko
qcom-pdc.ko
phy-qcom-ufs.ko
phy-qcom-ufs-qmp-v4-pineapple.ko
phy-qcom-ufs-qrbtc-sdm845.ko
pinctrl-msm.ko
pinctrl-pineapple.ko
pinctrl-cliffs.ko
pinctrl-volcano.ko
clk-qcom.ko
clk-dummy.ko
gdsc-regulator.ko
clk-rpmh.ko
dispcc-pineapple.ko
gcc-cliffs.ko
gcc-pineapple.ko
gcc-volcano.ko
camcc-cliffs.ko
camcc-pineapple.ko
gpucc-pineapple.ko
videocc-pineapple.ko
tcsrcc-pineapple.ko
qcom_aoss.ko
cmd-db.ko
crm.ko
mdt_loader.ko
qcom_rpmh.ko
smem.ko
mem_buf.ko
mem_buf_dev.ko
mem_buf_msgq.ko
secure_buffer.ko
socinfo.ko
dcc_v2.ko
qcom_wdt_core.ko
memory_dump_v2.ko
qcom_cpu_vendor_hooks.ko
crypto-qti.ko
hwkm.ko
tmecom-intf.ko
gic_intr_routing.ko
minidump.ko
gh_cpusys_vm_mem_access.ko
qcom-pmu-lib.ko
dcvs_fp.ko
qcom-dcvs.ko
qcom_scmi_client.ko
qcom_cpucp.ko
debug_symbol.ko
proxy-consumer.ko
rpmh-regulator.ko
stub-regulator.ko
debug-regulator.ko
arm_smmu.ko
msm_dma_iommu_mapping.ko
qcom_iommu_util.ko
iommu-logger.ko
qti-regmap-debugfs.ko
qcom-spmi-pmic.ko
qcom_dma_heaps.ko
spmi-pmic-arb.ko
rtc-pm8xxx.ko
i2c-gpio.ko
qcom-dload-mode.ko
qcom-reboot-reason.ko
qcom_tsens.ko
thermal_pause.ko
bcl_pmic5.ko
cpu_hotplug.ko
thermal_minidump.ko
softdog.ko
qcom-cpufreq-hw.ko
cqhci.ko
ufs_qcom.ko
ufshcd-crypto-qti.ko
qcom_scmi_vendor.ko
qcom-scm.ko
qcom-ipcc.ko
msm_qmp.ko
qcom_hwspinlock.ko
gh_virt_wdt.ko
gh_dbl.ko
gh_msgq.ko
gh_rm_drv.ko
gunyah_loader.ko
gunyah_qcom.ko
qcom_llcc_pmu.ko
nvmem_qcom-spmi-sdam.ko
icc-bcm-voter.ko
icc-rpmh.ko
qnoc-cliffs.ko
qnoc-volcano.ko
qnoc-pineapple.ko
qnoc-qos.ko
icc-debug.ko
icc-test.ko
sec_class.ko
sec_key_notifier.ko
sec_param.ko
sec_qc_debug.ko
sec_qc_upload_cause.ko
sec_qc_logger.ko
sec_qc_summary.ko
sec_debug.ko
sec_pmsg.ko
sec_upload_cause.ko
sec_crashkey.ko
sec_crashkey_long.ko
sec_debug_region.ko
sec_pm_log.ko
abc.ko
qrtr.ko
qrtr-gunyah.ko
sec_qc_param.ko
sec_qc_dbg_partition.ko
msm_sysstats.ko
ssg.ko
blk-sec-common.ko
blk-sec-stats.ko
blk-sec-wb.ko
msm_show_resume_irq.ko
mhi.ko
mhi_dev_uci.ko
mhi_dev_satellite.ko
phy-qcom-ufs-qmp-v4.ko
pinctrl-spmi-gpio.ko
pinctrl-spmi-mpp.ko
pwm-qti-lpg.ko
pci-msm-drv.ko
lcd.ko
debugcc-cliffs.ko
debugcc-pineapple.ko
gpucc-cliffs.ko
gpucc-volcano.ko
videocc-volcano.ko
bam_dma.ko
msm_gpi.ko
qcom_cpuss_sleep_stats.ko
pcie-pdc.ko
pdr_interface.ko
qmi_helpers.ko
heap_mem_ext_v01.ko
msm_memshare.ko
smp2p.ko
smp2p_sleepstate.ko
qsee_ipc_irq_bridge.ko
glink_probe.ko
mem-hooks.ko
qcom_stats.ko
eud.ko
llcc-qcom.ko
llcc_perfmon.ko
pmic-pon-log.ko
boot_stats.ko
core_hang_detect.ko
qcom_va_minidump.ko
qcom_logbuf_vendor_hooks.ko
qcom_logbuf_boot_log.ko
hung_task_enh.ko
msm_show_epoch.ko
gh_tlmm_vm_mem_access.ko
sps_drv.ko
qcom_ramdump.ko
memlat.ko
bwmon.ko
c1dcvs_scmi_v2.ko
mpam.ko
cpufreq_stats_scmi_v2.ko
dynpf_scmi.ko
cpucp_log.ko
sys_pm_vx.ko
msm_performance.ko
wcd_usbss_i2c.ko
sysmon_subsystem_stats.ko
cdsprm.ko
adsp_sleepmon.ko
panel_event_notifier.ko
dmesg_dumper.ko
health_monitor.ko
qfprom-sys.ko
qti-fixed-regulator.ko
qpnp-amoled-regulator.ko
qti-ocp-notifier.ko
hvc_gunyah.ko
msm_geni_serial.ko
rdbg.ko
qcom_iommu_debug.ko
drm_dp_aux_bus.ko
drm_display_helper.ko
lt9611uxc.ko
qseecom_proxy.ko
dev_ril_bridge.ko
qcom-i2c-pmic.ko
sec_ap_pmic.ko
sg.ko
spi-msm-geni.ko
spmi-pmic-arb-debug.ko
smsc.ko
smsc75xx.ko
smsc95xx.ko
msm_sharedmem.ko
phy-generic.ko
phy-qcom-emu.ko
phy-msm-ssusb-qmp.ko
phy-msm-snps-eusb2.ko
dwc3-msm.ko
ehset.ko
lvstest.ko
f_fs_ipc_log.ko
usb_f_cdev.ko
usb_f_ccid.ko
usb_f_qdss.ko
usb_f_gsi.ko
usb_f_conn_gadget.ko
usb_f_ss_mon_gadget.ko
usb_f_ss_acm.ko
repeater.ko
repeater-i2c-eusb2.ko
redriver.ko
nb7vpq904m.ko
pm8941-pwrkey.ko
sec_pon_alarm.ko
i2c-msm-geni.ko
i3c-master-msm-geni.ko
qcom-pon.ko
reboot-mode.ko
qcom-spmi-temp-alarm.ko
bcl_soc.ko
qti_qmi_cdev.ko
qti_qmi_sensor_v2.ko
qti_cpufreq_cdev.ko
qti_devfreq_cdev.ko
cpu_voltage_cooling.ko
ddr_cdev.ko
qti_userspace_cdev.ko
max31760_fan.ko
msm_lmh_dcvs.ko
thermal_config.ko
gpu_dump_skip_cdev.ko
qcom_edac.ko
cpufreq_limit.ko
qcom-cpufreq-hw-debug.ko
qcom_lpm.ko
sdhci-msm-sec.ko
leds-qti-flash.ko
leds-qti-tri-led.ko
leds-qpnp-vibrator-ldo.ko
leds-s2mpb02.ko
cs_dsp.ko
cl_dsp.ko
cl_dsp-debugfs.ko
qcom_pil_info.ko
rproc_qcom_common.ko
qcom_q6v5.ko
qcom_q6v5_pas.ko
qcom_spss.ko
qcom_sysmon.ko
qcom_glink.ko
qcom_glink_smem.ko
qcom_glink_spss.ko
qcom_smd.ko
glink_pkt.ko
gh_ctrl.ko
gh_irq_lend.ko
gh_rm_booster.ko
gh_mem_notifier.ko
gh_panic_notifier.ko
qcom-spmi-adc5-gen3.ko
qcom-vadc-common.ko
nvmem_qfprom.ko
sec_reloc_gpio.ko
sec_arm64_fsimd_debug.ko
sec_arm64_debug.ko
sec_qc_rbcmd.ko
sec_qc_qcom_reboot_reason.ko
sec_qc_soc_id.ko
sec_qc_qcom_wdt_core.ko
sec_qc_user_reset.ko
sec_qc_smem.ko
sec_qc_hw_param.ko
sec_qc_rst_exinfo.ko
sec_reboot_cmd.ko
sec_rdx_bootdev.ko
hdm.ko
sec_panel_notifier_v2.ko
pmic_class.ko
usb_typec_manager.ko
if_cb_manager.ko
max77705_charger.ko
input_booster_lkm.ko
max77775_charger.ko
common_muic.ko
sec_switch_class.ko
sdp.ko
vbus_notifier.ko
sec_common_fn.ko
sec_input_notifier.ko
dropdump.ko
s2dos05-regulator.ko
stm_ts_spi.ko
max77705-fuelgauge.ko
mfd_max77705.ko
mfd_max77775.ko
vibrator_vib_info.ko
kperfmon.ko
sec_vibrator_inputff_module.ko
usb_notify_layer.ko
usb_notifier.ko
usb_vendor_receiver.ko
fingerprint.ko
fingerprint_sysfs.ko
qfs4008_spidev.ko
sb-core.ko
pdic_notifier_module.ko
abc_hub.ko
sec_abc_detect_conn.ko
max77775-fuelgauge.ko
input-cs40l26-i2c.ko
hall_ic.ko
hall_ic_notifier.ko
flicker_test.ko
flicker_sensor.ko
pdic_max77705.ko
pdic_max77775.ko
pca9481_charger.ko
s2mpb03.ko
sec_thermistor.ko
wez02.ko
snvm.ko
nu1668-charger.ko
nfc_nxp_sec.ko
s2mpb02-regulator.ko
uwb.ko
s2dos07.ko
synaptics_ts_spi.ko
sec-direct-charger.ko
sec_pd.ko
sb_wireless.ko
sec-battery.ko
stmvl53l8.ko
mfd_s2mpb02.ko
slimbus.ko
slim-qcom-ngd-ctrl.ko
hwmon.ko
qti_amoled_ecm.ko
coresight.ko
coresight-tmc.ko
coresight-funnel.ko
coresight-replicator.ko
coresight-stm.ko
coresight-cti.ko
coresight-dummy.ko
coresight-remote-etm.ko
coresight-tmc-sec.ko
coresight-trace-noc.ko
coresight-tgu.ko
coresight-hwevent.ko
coresight-tpda.ko
coresight-tpdm.ko
coresight-csr.ko
stm_core.ko
stm_p_ost.ko
stm_console.ko
stm_heartbeat.ko
stm_ftrace.ko
sensors_core.ko
adsp_factory_module.ko
snd-usb-audio-qmi.ko
snd-soc-cirrus-amp.ko
snd-soc-cs35l43-i2c.ko
snd-soc-cs35l45-i2c.ko
snd-soc-hdmi-codec.ko
snd-soc-wm-adsp.ko
snd-soc-cs40l26.ko
sec_audio_sysfs.ko
snd_debug_proc.ko
qrtr-smd.ko
qrtr-mhi.ko
smcinvoke_dlkm.ko
hdcp_qseecom_dlkm.ko
qseecom_dlkm.ko
msm_drm.ko
msm_ext_display.ko
sync_fence.ko
msm_hw_fence.ko
msm-mmrm.ko
smcinvoke_dlkm.ko
hdcp_qseecom_dlkm.ko
qseecom_dlkm.ko

View File

@ -0,0 +1,60 @@
gzvm.ko
kheaders.ko
zsmalloc.ko
libarc4.ko
zram.ko
mii.ko
can-dev.ko
vcan.ko
slcan.ko
ppp_generic.ko
bsd_comp.ko
ppp_deflate.ko
ppp_mppe.ko
pppox.ko
pptp.ko
slhc.ko
wwan.ko
rtl8150.ko
r8152.ko
asix.ko
ax88179_178a.ko
cdc_ether.ko
cdc_eem.ko
usbnet.ko
cdc_ncm.ko
aqc111.ko
r8153_ecm.ko
cdc-acm.ko
usbserial.ko
ftdi_sio.ko
hci_uart.ko
btsdio.ko
btbcm.ko
btqca.ko
8021q.ko
can.ko
can-raw.ko
can-bcm.ko
can-gw.ko
bluetooth.ko
rfcomm.ko
hidp.ko
l2tp_core.ko
l2tp_ppp.ko
tipc.ko
diag.ko
rfkill.ko
6lowpan.ko
nhc_dest.ko
nhc_fragment.ko
nhc_hop.ko
nhc_ipv6.ko
nhc_mobility.ko
nhc_routing.ko
nhc_udp.ko
ieee802154_6lowpan.ko
ieee802154.ko
ieee802154_socket.ko
mac802154.ko
nfc.ko

View File

@ -0,0 +1,120 @@
sec_boot_stat.ko
sec_log_buf.ko
sec_arm64_ap_context.ko
gh_arm_drv.ko
sched-walt.ko
qcom_ipc_logging.ko
qcom-pdc.ko
phy-qcom-ufs.ko
phy-qcom-ufs-qmp-v4-pineapple.ko
phy-qcom-ufs-qrbtc-sdm845.ko
pinctrl-msm.ko
pinctrl-pineapple.ko
pinctrl-cliffs.ko
pinctrl-volcano.ko
clk-qcom.ko
clk-dummy.ko
gdsc-regulator.ko
clk-rpmh.ko
dispcc-pineapple.ko
gcc-cliffs.ko
gcc-pineapple.ko
gcc-volcano.ko
camcc-cliffs.ko
camcc-pineapple.ko
gpucc-pineapple.ko
videocc-pineapple.ko
tcsrcc-pineapple.ko
qcom_aoss.ko
cmd-db.ko
crm.ko
mdt_loader.ko
qcom_rpmh.ko
smem.ko
mem_buf.ko
mem_buf_dev.ko
mem_buf_msgq.ko
secure_buffer.ko
socinfo.ko
dcc_v2.ko
qcom_wdt_core.ko
memory_dump_v2.ko
qcom_cpu_vendor_hooks.ko
crypto-qti.ko
hwkm.ko
tmecom-intf.ko
gic_intr_routing.ko
minidump.ko
gh_cpusys_vm_mem_access.ko
qcom-pmu-lib.ko
dcvs_fp.ko
qcom-dcvs.ko
qcom_scmi_client.ko
qcom_cpucp.ko
debug_symbol.ko
proxy-consumer.ko
rpmh-regulator.ko
stub-regulator.ko
debug-regulator.ko
arm_smmu.ko
msm_dma_iommu_mapping.ko
qcom_iommu_util.ko
iommu-logger.ko
qti-regmap-debugfs.ko
qcom-spmi-pmic.ko
qcom_dma_heaps.ko
spmi-pmic-arb.ko
rtc-pm8xxx.ko
i2c-gpio.ko
qcom-dload-mode.ko
qcom-reboot-reason.ko
qcom_tsens.ko
thermal_pause.ko
bcl_pmic5.ko
cpu_hotplug.ko
thermal_minidump.ko
softdog.ko
qcom-cpufreq-hw.ko
cqhci.ko
ufs_qcom.ko
ufshcd-crypto-qti.ko
qcom_scmi_vendor.ko
qcom-scm.ko
qcom-ipcc.ko
msm_qmp.ko
qcom_hwspinlock.ko
gh_virt_wdt.ko
gh_dbl.ko
gh_msgq.ko
gh_rm_drv.ko
gunyah_loader.ko
gunyah_qcom.ko
qcom_llcc_pmu.ko
nvmem_qcom-spmi-sdam.ko
icc-bcm-voter.ko
icc-rpmh.ko
qnoc-cliffs.ko
qnoc-volcano.ko
qnoc-pineapple.ko
qnoc-qos.ko
icc-debug.ko
icc-test.ko
sec_class.ko
sec_key_notifier.ko
sec_param.ko
sec_qc_debug.ko
sec_qc_upload_cause.ko
sec_qc_logger.ko
sec_qc_summary.ko
sec_debug.ko
sec_pmsg.ko
sec_upload_cause.ko
sec_crashkey.ko
sec_crashkey_long.ko
sec_debug_region.ko
sec_pm_log.ko
abc.ko
qrtr.ko
qrtr-gunyah.ko
sec_qc_param.ko
sec_qc_dbg_partition.ko

3
odm.prop Normal file
View File

@ -0,0 +1,3 @@
# Miscellaneous
ro.vendor.qti.va_odm.support=1

View File

@ -0,0 +1,9 @@
//
// Copyright (C) 2024 The LineageOS Project
// SPDX-License-Identifier: Apache-2.0
//
runtime_resource_overlay {
name: "FrameworksResTarget",
vendor: true,
}

View File

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2024 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="android.overlay.target">
<overlay
android:isStatic="true"
android:priority="500"
android:targetPackage="android"/>
</manifest>

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<bool name="config_dozeAlwaysOnDisplayAvailable">true</bool>
<bool name="config_dozeAlwaysOnEnabled">false</bool>
<bool name="config_powerDecoupleAutoSuspendModeFromDisplay">true</bool>
<bool name="config_showNavigationBar">true</bool>
<bool name="config_useDevInputEventForAudioJack">true</bool>
<bool name="config_unplugTurnsOnScreen">true</bool>
<integer name="config_defaultPeakRefreshRate">120</integer>
</resources>

67
product.prop Normal file
View File

@ -0,0 +1,67 @@
# Audio
aaudio.hw_burst_min_usec=2000
aaudio.mmap_exclusive_policy=2
aaudio.mmap_policy=2
af.fast_track_multiplier=1
audio.deep_buffer.media=true
audio.offload.min.duration.secs=30
audio.offload.video=true
audio.sys.mute.latency.factor=2
audio.sys.noisy.broadcast.delay=500
audio.sys.offload.pstimeout.secs=3
audio.sys.routing.latency=0
# Bluetooth
bluetooth.device.class_of_device=90,2,12
bluetooth.profile.a2dp.source.enabled=true
bluetooth.profile.asha.central.enabled=true
bluetooth.profile.avrcp.target.enabled=true
bluetooth.profile.bap.broadcast.assist.enabled=true
bluetooth.profile.bap.broadcast.source.enabled=true
bluetooth.profile.bap.unicast.client.enabled=true
bluetooth.profile.bas.client.enabled=false
bluetooth.profile.ccp.server.enabled=true
bluetooth.profile.csip.set_coordinator.enabled=true
bluetooth.profile.gatt.enabled=true
bluetooth.profile.hap.client.enabled=false
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.mcp.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
bluetooth.profile.vcp.controller.enabled=true
persist.bluetooth.bqr.event_mask=0
persist.bluetooth.bqr.min_interval_ms=0
persist.bluetooth.samsung.a2dp_offload.cap=sbc-aptx-ssc-hifi
# Media
media.stagefright.audio.deep=false
# Miscellaneous
remote_provisioning.enable_rkpd=true
remote_provisioning.hostname=remoteprovisioning.googleapis.com
restore.feature.use_samsung_smart_switch_flow=1
ro.af.client_heap_size_kbyte=7168
ro.boot.uwbcountrycode=ff
ro.com.google.cdb.spa1=bsxasm1
ro.com.google.clientidbase=android-samsung-ss
ro.com.google.clientidbase.tx=android-samsung-rvod2
ro.com.google.gmsversion=14_202406
ro.dalvik.vm.enable_uffd_gc=true
ro.frp.pst=/dev/block/persistent
ro.opa.eligible_device=true
ro.product.cpu.pagesize.max=4096
ro.setupwizard.mode=OPTIONAL
ro.setupwizard.rotation_locked=false
ro.setupwizard.wifi_on_exit=false
setupwizard.feature.enable_quick_start_flow=true
setupwizard.feature.enable_stencil_partner_customization=1
setupwizard.feature.support_oem_large_screen_landscape_temporary_by_sys_prop=true
setupwizard.phenotype_sync_timeout_ms=90000
setupwizard.theme=glif_v3_light

2663
proprietary-files.txt Normal file

File diff suppressed because it is too large Load Diff

317
rootdir/Android.bp Normal file
View File

@ -0,0 +1,317 @@
//
// Copyright (C) 2024 The LineageOS Project
//
// SPDX-License-Identifier: Apache-2.0
//
// Init scripts
sh_binary {
name: "dcc_extension.sh",
src: "bin/dcc_extension.sh",
vendor: true,
}
sh_binary {
name: "hdm_status.sh",
src: "bin/hdm_status.sh",
vendor: true,
}
sh_binary {
name: "init.class_main.sh",
src: "bin/init.class_main.sh",
vendor: true,
}
sh_binary {
name: "init.crda.sh",
src: "bin/init.crda.sh",
vendor: true,
}
sh_binary {
name: "init.kernel.post_boot-cliffs.sh",
src: "bin/init.kernel.post_boot-cliffs.sh",
vendor: true,
}
sh_binary {
name: "init.kernel.post_boot-pineapple.sh",
src: "bin/init.kernel.post_boot-pineapple.sh",
vendor: true,
}
sh_binary {
name: "init.kernel.post_boot.sh",
src: "bin/init.kernel.post_boot.sh",
vendor: true,
}
sh_binary {
name: "init.mdm.sh",
src: "bin/init.mdm.sh",
vendor: true,
}
sh_binary {
name: "init.qcom.class_core.sh",
src: "bin/init.qcom.class_core.sh",
vendor: true,
}
sh_binary {
name: "init.qcom.coex.sh",
src: "bin/init.qcom.coex.sh",
vendor: true,
}
sh_binary {
name: "init.qcom.early_boot.sh",
src: "bin/init.qcom.early_boot.sh",
vendor: true,
}
sh_binary {
name: "init.qcom.efs.sync.sh",
src: "bin/init.qcom.efs.sync.sh",
vendor: true,
}
sh_binary {
name: "init.qcom.post_boot.sh",
src: "bin/init.qcom.post_boot.sh",
vendor: true,
}
sh_binary {
name: "init.qcom.sdio.sh",
src: "bin/init.qcom.sdio.sh",
vendor: true,
}
sh_binary {
name: "init.qcom.sensors.sh",
src: "bin/init.qcom.sensors.sh",
vendor: true,
}
sh_binary {
name: "init.qcom.sh",
src: "bin/init.qcom.sh",
vendor: true,
}
sh_binary {
name: "init.qcom.usb.sh",
src: "bin/init.qcom.usb.sh",
vendor: true,
}
sh_binary {
name: "init.qti.kernel.debug-cliffs.sh",
src: "bin/init.qti.kernel.debug-cliffs.sh",
vendor: true,
}
sh_binary {
name: "init.qti.kernel.debug-pineapple.sh",
src: "bin/init.qti.kernel.debug-pineapple.sh",
vendor: true,
}
sh_binary {
name: "init.qti.kernel.debug.sh",
src: "bin/init.qti.kernel.debug.sh",
vendor: true,
}
sh_binary {
name: "init.qti.kernel.early_debug-pineapple.sh",
src: "bin/init.qti.kernel.early_debug-pineapple.sh",
vendor: true,
}
sh_binary {
name: "init.qti.kernel.early_debug.sh",
src: "bin/init.qti.kernel.early_debug.sh",
vendor: true,
}
sh_binary {
name: "init.qti.kernel.sh",
src: "bin/init.qti.kernel.sh",
vendor: true,
}
sh_binary {
name: "init.qti.media.sh",
src: "bin/init.qti.media.sh",
vendor: true,
}
sh_binary {
name: "init.qti.qcv.sh",
src: "bin/init.qti.qcv.sh",
vendor: true,
}
sh_binary {
name: "init.qti.time.daemon.sh",
src: "bin/init.qti.time.daemon.sh",
vendor: true,
}
sh_binary {
name: "init.qti.write.sh",
src: "bin/init.qti.write.sh",
vendor: true,
}
sh_binary {
name: "init.vendor.sensordebug.sh",
src: "bin/init.vendor.sensordebug.sh",
vendor: true,
}
sh_binary {
name: "init.vendor.sensordebug.ssr_dump.sh",
src: "bin/init.vendor.sensordebug.ssr_dump.sh",
vendor: true,
}
sh_binary {
name: "install-recovery.sh",
src: "bin/install-recovery.sh",
vendor: true,
}
sh_binary {
name: "qca6234-service.sh",
src: "bin/qca6234-service.sh",
vendor: true,
}
sh_binary {
name: "system_dlkm_modprobe.sh",
src: "bin/system_dlkm_modprobe.sh",
vendor: true,
}
sh_binary {
name: "vendor_modprobe.sh",
src: "bin/vendor_modprobe.sh",
vendor: true,
}
// Init configuration files
prebuilt_etc {
name: "init.e3q.rc",
src: "etc/init.e3q.rc",
sub_dir: "init/hw",
vendor: true,
}
prebuilt_etc {
name: "init.qcom.factory.rc",
src: "etc/init.qcom.factory.rc",
sub_dir: "init/hw",
vendor: true,
}
prebuilt_etc {
name: "init.qcom.rc",
src: "etc/init.qcom.rc",
sub_dir: "init/hw",
vendor: true,
}
prebuilt_etc {
name: "init.qcom.usb.rc",
src: "etc/init.qcom.usb.rc",
sub_dir: "init/hw",
vendor: true,
}
prebuilt_etc {
name: "init.qti.kernel.rc",
src: "etc/init.qti.kernel.rc",
sub_dir: "init/hw",
vendor: true,
}
prebuilt_etc {
name: "init.qti.ss-ramdump.sh",
src: "etc/init.qti.ss-ramdump.sh",
sub_dir: "init/hw",
vendor: true,
}
prebuilt_etc {
name: "init.qti.ufs.rc",
src: "etc/init.qti.ufs.rc",
sub_dir: "init/hw",
vendor: true,
}
prebuilt_etc {
name: "init.samsung.bsp.rc",
src: "etc/init.samsung.bsp.rc",
sub_dir: "init/hw",
vendor: true,
}
prebuilt_etc {
name: "init.samsung.display.rc",
src: "etc/init.samsung.display.rc",
sub_dir: "init/hw",
vendor: true,
}
prebuilt_etc {
name: "init.samsung.dp.rc",
src: "etc/init.samsung.dp.rc",
sub_dir: "init/hw",
vendor: true,
}
prebuilt_etc {
name: "init.samsung.factory.rc",
src: "etc/init.samsung.factory.rc",
sub_dir: "init/hw",
vendor: true,
}
prebuilt_etc {
name: "init.samsung.power.rc",
src: "etc/init.samsung.power.rc",
sub_dir: "init/hw",
vendor: true,
}
prebuilt_etc {
name: "init.samsung.rc",
src: "etc/init.samsung.rc",
sub_dir: "init/hw",
vendor: true,
}
prebuilt_etc {
name: "init.samsung.user.rc",
src: "etc/init.samsung.user.rc",
sub_dir: "init/hw",
vendor: true,
}
prebuilt_etc {
name: "init.target.rc",
src: "etc/init.target.rc",
sub_dir: "init/hw",
vendor: true,
}
// fstab
prebuilt_etc {
name: "fstab.qcom",
src: "etc/fstab.qcom",
vendor: true,
}

25
rootdir/Android.mk Normal file
View File

@ -0,0 +1,25 @@
#
# Copyright (C) 2024 The LineageOS Project
#
# SPDX-License-Identifier: Apache-2.0
#
LOCAL_PATH := $(call my-dir)
# Recovery init configuration files
include $(CLEAR_VARS)
LOCAL_MODULE := init.recovery.qcom.rc
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.recovery.samsung.rc
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/init.recovery.samsung.rc
LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
include $(BUILD_PREBUILT)

View File

@ -0,0 +1,9 @@
#=============================================================================
# Copyright (c) 2023 Qualcomm Technologies, Inc.
# All Rights Reserved.
# Confidential and Proprietary - Qualcomm Technologies, Inc.
#=============================================================================
extension()
{
}

58
rootdir/bin/hdm_status.sh Normal file
View File

@ -0,0 +1,58 @@
#! /vendor/bin/sh
if [ "$#" -ne 1 ]
then
echo "Usage: $0 <hdm_status value>"
exit
fi
count=0
policy=0
array=(1 2 4 8 16 32 64 128 256 512)
name_arry=(cam mmc usb wlan bt gps dis aud cpm sen)
hdm_status=$1
hdm_swblock_status=$(getprop "ro.vendor.hdm.supported.swblock")
echo "hdmstatus = $hdm_status"
echo "hdm supported swblock = $hdm_swblock_status"
HDM_STATUS_SPLIT=$(echo $hdm_status | tr "&|" "\n")
#get hdm policy from ro.boot.hdm_status
for split in $HDM_STATUS_SPLIT
do
count=$((($count + 1)%2))
if [ $count -eq 0 ]; then
split16="0x$split"
echo "split16 = $split16"
policy=$(($policy|$split16))
fi
done
echo "$policy"
hex=$(printf "0x%x" "$policy")
echo "$hex"
#setprop vendor.hdm.status "$hex"
#check sw block
swblock=$(($policy&$hdm_swblock_status))
swblockhex=$(printf "0x%x" "$swblock")
echo "swblockhex = $swblockhex"
setprop vendor.hdm.swblock.status "$swblockhex"
#start sw block
count=0
for isblock in ${array[@]}
do
if [ $(($isblock&$swblock)) -eq $isblock ]; then
echo "swblock enable = ${name_arry[$count]}"
swblockname=$(printf "vendor.hdm.internal.%s" "${name_arry[$count]}")
setprop $swblockname "boot"
fi
count=$(($count + 1))
done

View File

@ -0,0 +1,104 @@
#! /vendor/bin/sh
# Copyright (c) 2013-2014, 2019 The Linux Foundation. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# * Neither the name of The Linux Foundation nor
# the names of its contributors may be used to endorse or promote
# products derived from this software without specific prior written
# permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
# NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
#
# start ril-daemon only for targets on which radio is present
#
baseband=`getprop ro.baseband`
sgltecsfb=`getprop persist.vendor.radio.sglte_csfb`
datamode=`getprop persist.vendor.data.mode`
low_ram=`getprop ro.config.low_ram`
case "$baseband" in
"apq" | "sda" | "qcs" )
setprop ro.vendor.radio.noril yes
stop vendor.ril-daemon
stop vendor.qcrild
stop vendor.qcrild2
stop vendor.qcrild3
esac
case "$baseband" in
"msm" | "csfb" | "svlte2a" | "mdm" | "mdm2" | "sglte" | "sglte2" | "dsda2" | "unknown" | "dsda3" | "sdm" | "sdx" | "sm6")
start vendor.qcrild
case "$baseband" in
"svlte2a" | "csfb")
start qmiproxy
;;
"sglte" | "sglte2" )
if [ "x$sgltecsfb" != "xtrue" ]; then
start qmiproxy
else
setprop persist.vendor.radio.voice.modem.index 0
fi
;;
esac
multisim=`getprop persist.radio.multisim.config`
if [ "$multisim" = "dsds" ] || [ "$multisim" = "dsda" ]; then
start vendor.qcrild2
elif [ "$multisim" = "tsts" ]; then
start vendor.qcrild2
start vendor.qcrild3
fi
case "$datamode" in
"tethered")
# This daemon was also disabled in sm8450 as a qualcomm tethering interface.
# start vendor.dataqti
if [ "$low_ram" != "true" ]; then
start vendor.dataadpl
fi
;;
"concurrent")
# This daemon was also disabled in sm8450 as a qualcomm tethering interface.
# start vendor.dataqti
if [ "$low_ram" != "true" ]; then
start vendor.dataadpl
fi
;;
*)
;;
esac
esac
#
# Allow persistent faking of bms
# User needs to set fake bms charge in persist.vendor.bms.fake_batt_capacity
#
fake_batt_capacity=`getprop persist.vendor.bms.fake_batt_capacity`
case "$fake_batt_capacity" in
"") ;; #Do nothing here
* )
echo "$fake_batt_capacity" > /sys/class/power_supply/battery/capacity
;;
esac

35
rootdir/bin/init.crda.sh Normal file
View File

@ -0,0 +1,35 @@
#! /vendor/bin/sh
# Copyright (c) 2012, The Linux Foundation. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# * Neither the name of The Linux Foundation nor
# the names of its contributors may be used to endorse or promote
# products derived from this software without specific prior written
# permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
# NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
country=`getprop wlan.crda.country`
# crda takes input in COUNTRY environment variable
if [ $country != "" ]
then
COUNTRY="$country" /system/bin/crda
fi

View File

@ -0,0 +1,49 @@
#=============================================================================
# Copyright (c) 2022-2023 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.
#=============================================================================
rev=`cat /sys/devices/soc0/revision`
echo 4 > /proc/sys/kernel/printk
# Change console log level as per console config property
console_config=`getprop persist.vendor.console.silent.config`
case "$console_config" in
"1")
echo "Enable console config to $console_config"
echo 0 > /proc/sys/kernel/printk
;;
*)
echo "Enable console config to $console_config"
;;
esac
setprop vendor.post_boot.parsed 1

View File

@ -0,0 +1,439 @@
#=============================================================================
# Copyright (c) 2022-2023 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.
#=============================================================================
rev=`cat /sys/devices/soc0/revision`
# Configure RT parameters:
# Long running RT task detection is confined to consolidated builds.
# Set RT throttle runtime to 50ms more than long running RT
# task detection time.
# Set RT throttle period to 100ms more than RT throttle runtime.
long_running_rt_task_ms=1200
sched_rt_runtime_ms=`expr $long_running_rt_task_ms + 50`
sched_rt_runtime_us=`expr $sched_rt_runtime_ms \* 1000`
sched_rt_period_ms=`expr $sched_rt_runtime_ms + 100`
sched_rt_period_us=`expr $sched_rt_period_ms \* 1000`
echo $sched_rt_period_us > /proc/sys/kernel/sched_rt_period_us
echo $sched_rt_runtime_us > /proc/sys/kernel/sched_rt_runtime_us
if [ -d /proc/sys/walt ]; then
# configure maximum frequency when CPUs are partially halted
echo 1190400 > /proc/sys/walt/sched_max_freq_partial_halt
# Core Control Paramters for Silvers
echo 0xFF > /sys/devices/system/cpu/cpu0/core_ctl/nrrun_cpu_mask
echo 0x00 > /sys/devices/system/cpu/cpu0/core_ctl/nrrun_cpu_misfit_mask
echo 0x00 > /sys/devices/system/cpu/cpu0/core_ctl/assist_cpu_mask
echo 0x00 > /sys/devices/system/cpu/cpu0/core_ctl/assist_cpu_misfit_mask
# Core control parameters for gold
echo 3 > /sys/devices/system/cpu/cpu2/core_ctl/min_cpus
echo 60 > /sys/devices/system/cpu/cpu2/core_ctl/busy_up_thres
echo 30 > /sys/devices/system/cpu/cpu2/core_ctl/busy_down_thres
echo 100 > /sys/devices/system/cpu/cpu2/core_ctl/offline_delay_ms
echo 3 > /sys/devices/system/cpu/cpu2/core_ctl/task_thres
echo 0 0 0 > /sys/devices/system/cpu/cpu2/core_ctl/not_preferred
echo 0xFC > /sys/devices/system/cpu/cpu2/core_ctl/nrrun_cpu_mask
echo 0x63 > /sys/devices/system/cpu/cpu2/core_ctl/nrrun_cpu_misfit_mask
echo 0x00 > /sys/devices/system/cpu/cpu2/core_ctl/assist_cpu_mask
echo 0x00 > /sys/devices/system/cpu/cpu2/core_ctl/assist_cpu_misfit_mask
# Core control parameters for titaniums
echo 0 > /sys/devices/system/cpu/cpu5/core_ctl/min_cpus
echo 2 > /sys/devices/system/cpu/cpu5/core_ctl/min_partial_cpus
echo 60 > /sys/devices/system/cpu/cpu5/core_ctl/busy_up_thres
echo 30 > /sys/devices/system/cpu/cpu5/core_ctl/busy_down_thres
echo 100 > /sys/devices/system/cpu/cpu5/core_ctl/offline_delay_ms
echo 2 > /sys/devices/system/cpu/cpu5/core_ctl/task_thres
echo 1 1 > /sys/devices/system/cpu/cpu5/core_ctl/not_preferred
echo 0xE0 > /sys/devices/system/cpu/cpu5/core_ctl/nrrun_cpu_mask
echo 0x00 > /sys/devices/system/cpu/cpu5/core_ctl/nrrun_cpu_misfit_mask
echo 0x1C > /sys/devices/system/cpu/cpu5/core_ctl/assist_cpu_mask
echo 0x03 > /sys/devices/system/cpu/cpu5/core_ctl/assist_cpu_misfit_mask
# 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
echo 1 > /sys/devices/system/cpu/cpu7/core_ctl/not_preferred
echo 0x80 > /sys/devices/system/cpu/cpu7/core_ctl/nrrun_cpu_mask
echo 0x7C > /sys/devices/system/cpu/cpu7/core_ctl/nrrun_cpu_misfit_mask
echo 0x7C > /sys/devices/system/cpu/cpu7/core_ctl/assist_cpu_mask
echo 0x03 > /sys/devices/system/cpu/cpu7/core_ctl/assist_cpu_misfit_mask
echo 0 > /sys/devices/system/cpu/cpu0/core_ctl/enable
echo 0 > /sys/devices/system/cpu/cpu2/core_ctl/enable
echo 1 > /sys/devices/system/cpu/cpu5/core_ctl/enable
echo 1 > /sys/devices/system/cpu/cpu7/core_ctl/enable
# Configure Single Boost Thread
echo 0 > /proc/sys/walt/sched_sbt_delay_windows
echo 0x60 > /proc/sys/walt/sched_sbt_pause_cpus
# Setting b.L scheduler parameters
echo 95 95 95 > /proc/sys/walt/sched_upmigrate
echo 85 85 85 > /proc/sys/walt/sched_downmigrate
echo 80 > /proc/sys/walt/sched_group_downmigrate
echo 90 > /proc/sys/walt/sched_group_upmigrate
echo 1 > /proc/sys/walt/sched_walt_rotate_big_tasks
echo 400000000 > /proc/sys/walt/sched_coloc_downmigrate_ns
echo 16000000 16000000 16000000 16000000 16000000 16000000 16000000 5000000 > /proc/sys/walt/sched_coloc_busy_hyst_cpu_ns
echo 248 > /proc/sys/walt/sched_coloc_busy_hysteresis_enable_cpus
echo 10 10 10 10 10 10 10 95 > /proc/sys/walt/sched_coloc_busy_hyst_cpu_busy_pct
echo 8500000 8500000 8500000 8500000 8500000 8500000 8500000 2000000 > /proc/sys/walt/sched_util_busy_hyst_cpu_ns
echo 255 > /proc/sys/walt/sched_util_busy_hysteresis_enable_cpus
echo 1 1 1 1 1 1 1 15 > /proc/sys/walt/sched_util_busy_hyst_cpu_util
echo 40 > /proc/sys/walt/sched_cluster_util_thres_pct
echo 0 30 30 30 > /proc/sys/walt/sched_idle_enough_clust
echo 10 > /proc/sys/walt/sched_ed_boost
#Set early upmigrate tunables
freq_to_migrate=1248000
silver_fmax=`cat /sys/devices/system/cpu/cpufreq/policy0/scaling_max_freq`
silver_early_upmigrate=`expr 1024 \* $silver_fmax / $freq_to_migrate`
silver_early_downmigrate=`expr \( 1024 \* $silver_fmax \) / \( \( \( 10 \* $freq_to_migrate \) - $silver_fmax \) \/ 10 \)`
sched_upmigrate=`cat /proc/sys/walt/sched_upmigrate`
sched_downmigrate=`cat /proc/sys/walt/sched_downmigrate`
sched_upmigrate=${sched_upmigrate:0:2}
sched_downmigrate=${sched_downmigrate:0:2}
gold_early_upmigrate=`expr \( 1024 \* 100 \) \/ $sched_upmigrate`
gold_early_downmigrate=`expr \( 1024 \* 100 \) \/ $sched_downmigrate`
echo $silver_early_downmigrate $gold_early_downmigrate $gold_early_downmigrate > /proc/sys/walt/sched_early_downmigrate
echo $silver_early_upmigrate $gold_early_upmigrate $gold_early_upmigrate > /proc/sys/walt/sched_early_upmigrate
# Enable Gold CPUs for pipeline
echo 28 > /proc/sys/walt/sched_pipeline_cpus
# set the threshold for low latency task boost feature which prioritize
# binder activity tasks
echo 325 > /proc/sys/walt/walt_low_latency_task_threshold
# configure maximum frequency of silver cluster when load is not detected and ensure that
# other clusters' fmax remains uncapped by setting the frequency to S32_MAX
# enable smart fmax for silver
echo 1804800 2147483647 2147483647 2147483647 > /proc/sys/walt/sched_fmax_cap
# set c1dcvs parameter
chown system.system /sys/devices/system/cpu/c1dcvs/enable_c1dcvs
chmod 0660 /sys/devices/system/cpu/c1dcvs/enable_c1dcvs
chown system.system /sys/devices/system/cpu/c1dcvs/efreq_thresh
chmod 0660 /sys/devices/system/cpu/c1dcvs/efreq_thresh
echo 0 > /sys/devices/system/cpu/c1dcvs/enable_c1dcvs
echo 2 1400000 > /sys/devices/system/cpu/c1dcvs/efreq_thresh
echo 3 1400000 > /sys/devices/system/cpu/c1dcvs/efreq_thresh
echo 4 1400000 > /sys/devices/system/cpu/c1dcvs/efreq_thresh
echo 1 > /sys/devices/system/cpu/c1dcvs/enable_c1dcvs
# Turn off scheduler boost at the end
echo 0 > /proc/sys/walt/sched_boost
# configure input boost settings
if [ $rev == "1.0" ] || [ $rev == "1.1" ]; then
echo 0 0 0 0 0 0 0 0 > /proc/sys/walt/input_boost/input_boost_freq
else
echo 0 0 0 0 0 0 0 0 > /proc/sys/walt/input_boost/input_boost_freq
fi
echo 0 > /proc/sys/walt/input_boost/input_boost_ms
echo "walt" > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor
echo "walt" > /sys/devices/system/cpu/cpufreq/policy2/scaling_governor
echo "walt" > /sys/devices/system/cpu/cpufreq/policy5/scaling_governor
echo "walt" > /sys/devices/system/cpu/cpufreq/policy7/scaling_governor
echo 0 > /sys/devices/system/cpu/cpufreq/policy0/walt/down_rate_limit_us
echo 0 > /sys/devices/system/cpu/cpufreq/policy0/walt/up_rate_limit_us
echo 0 > /sys/devices/system/cpu/cpufreq/policy2/walt/down_rate_limit_us
echo 0 > /sys/devices/system/cpu/cpufreq/policy2/walt/up_rate_limit_us
echo 0 > /sys/devices/system/cpu/cpufreq/policy5/walt/down_rate_limit_us
echo 0 > /sys/devices/system/cpu/cpufreq/policy5/walt/up_rate_limit_us
echo 0 > /sys/devices/system/cpu/cpufreq/policy7/walt/down_rate_limit_us
echo 0 > /sys/devices/system/cpu/cpufreq/policy7/walt/up_rate_limit_us
echo 1 > /sys/devices/system/cpu/cpufreq/policy0/walt/pl
echo 1 > /sys/devices/system/cpu/cpufreq/policy2/walt/pl
echo 1 > /sys/devices/system/cpu/cpufreq/policy5/walt/pl
echo 1 > /sys/devices/system/cpu/cpufreq/policy7/walt/pl
echo 787200 > /sys/devices/system/cpu/cpufreq/policy0/walt/rtg_boost_freq
echo 844800 > /sys/devices/system/cpu/cpufreq/policy2/walt/rtg_boost_freq
echo 844800 > /sys/devices/system/cpu/cpufreq/policy5/walt/rtg_boost_freq
echo 902400 > /sys/devices/system/cpu/cpufreq/policy7/walt/rtg_boost_freq
if [ $rev == "1.0" ] || [ $rev == "1.1" ]; then
echo 1344000 > /sys/devices/system/cpu/cpufreq/policy0/walt/hispeed_freq
echo 1612800 > /sys/devices/system/cpu/cpufreq/policy2/walt/hispeed_freq
echo 1612800 > /sys/devices/system/cpu/cpufreq/policy5/walt/hispeed_freq
echo 1555200 > /sys/devices/system/cpu/cpufreq/policy7/walt/hispeed_freq
else
echo 1344000 > /sys/devices/system/cpu/cpufreq/policy0/walt/hispeed_freq
echo 1612800 > /sys/devices/system/cpu/cpufreq/policy2/walt/hispeed_freq
echo 1612800 > /sys/devices/system/cpu/cpufreq/policy5/walt/hispeed_freq
echo 1593600 > /sys/devices/system/cpu/cpufreq/policy7/walt/hispeed_freq
fi
else
echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor
echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy2/scaling_governor
echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy5/scaling_governor
echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy7/scaling_governor
echo 1 > /proc/sys/kernel/sched_pelt_multiplier
fi
if [ $rev == "1.0" ] || [ $rev == "1.1" ]; then
echo 556800 > /sys/devices/system/cpu/cpufreq/policy0/scaling_min_freq
echo 576000 > /sys/devices/system/cpu/cpufreq/policy2/scaling_min_freq
echo 576000 > /sys/devices/system/cpu/cpufreq/policy5/scaling_min_freq
echo 729600 > /sys/devices/system/cpu/cpufreq/policy7/scaling_min_freq
else
echo 556800 > /sys/devices/system/cpu/cpufreq/policy0/scaling_min_freq
echo 614400 > /sys/devices/system/cpu/cpufreq/policy2/scaling_min_freq
echo 499200 > /sys/devices/system/cpu/cpufreq/policy5/scaling_min_freq
echo 672000 > /sys/devices/system/cpu/cpufreq/policy7/scaling_min_freq
fi
# Reset the RT boost, which is 1024 (max) by default.
echo 0 > /proc/sys/kernel/sched_util_clamp_min_rt_default
# disable min util condition for boost
echo 0 > /proc/sys/walt/sched_min_task_util_for_boost
echo 0 > /proc/sys/walt/sched_min_task_util_for_colocation
echo 0 > /proc/sys/walt/sched_min_task_util_for_uclamp
# cpuset parameters
echo 0-1 5-6 > /dev/cpuset/background/cpus
echo 0-1 5-6 > /dev/cpuset/system-background/cpus
# configure bus-dcvs
bus_dcvs="/sys/devices/system/cpu/bus_dcvs"
for device in $bus_dcvs/*
do
cat $device/hw_min_freq > $device/boost_freq
done
for ubwcpbw in $bus_dcvs/UBWCP/*bwmon-ubwcp
do
echo "5931 7980 10437 16113" > $ubwcpbw/mbps_zones
echo 4 > $ubwcpbw/sample_ms
echo 80 > $ubwcpbw/io_percent
echo 20 > $ubwcpbw/hist_memory
echo 5 > $ubwcpbw/hyst_length
echo 1 > $ubwcpbw/idle_length
echo 30 > $ubwcpbw/down_thres
echo 0 > $ubwcpbw/guard_band_mbps
echo 250 > $ubwcpbw/up_scale
echo 1600 > $ubwcpbw/idle_mbps
echo 710000 > $ubwcpbw/max_freq
echo 40 > $ubwcpbw/window_ms
done
for llccbw in $bus_dcvs/LLCC/*bwmon-llcc
do
echo "4577 7110 9155 12298 14236 16265" > $llccbw/mbps_zones
echo 4 > $llccbw/sample_ms
echo 80 > $llccbw/io_percent
echo 20 > $llccbw/hist_memory
echo 5 > $llccbw/hyst_length
echo 1 > $llccbw/idle_length
echo 30 > $llccbw/down_thres
echo 0 > $llccbw/guard_band_mbps
echo 250 > $llccbw/up_scale
echo 1600 > $llccbw/idle_mbps
echo 806000 > $llccbw/max_freq
echo 40 > $llccbw/window_ms
done
for ddrbw in $bus_dcvs/DDR/*bwmon-ddr
do
echo "2086 5931 7980 10437 12157 14060 16113" > $ddrbw/mbps_zones
echo 4 > $ddrbw/sample_ms
echo 80 > $ddrbw/io_percent
echo 20 > $ddrbw/hist_memory
echo 5 > $ddrbw/hyst_length
echo 1 > $ddrbw/idle_length
echo 30 > $ddrbw/down_thres
echo 0 > $ddrbw/guard_band_mbps
echo 250 > $ddrbw/up_scale
echo 1600 > $ddrbw/idle_mbps
echo 2736000 > $ddrbw/max_freq
echo 40 > $ddrbw/window_ms
done
for latfloor in $bus_dcvs/*/*latfloor
do
echo 25000 > $latfloor/ipm_ceil
done
for l3gold in $bus_dcvs/L3/*gold
do
echo 4000 > $l3gold/ipm_ceil
done
for l3prime in $bus_dcvs/L3/*prime
do
echo 20000 > $l3prime/ipm_ceil
done
for qosgold in $bus_dcvs/DDRQOS/*gold
do
echo 50 > $qosgold/ipm_ceil
done
for qosprime in $bus_dcvs/DDRQOS/*prime
do
echo 100 > $qosprime/ipm_ceil
done
for ddrprime in $bus_dcvs/DDR/*prime
do
echo 25 > $ddrprime/freq_scale_pct
echo 1500 > $ddrprime/freq_scale_floor_mhz
echo 2726 > $ddrprime/freq_scale_ceil_mhz
done
# Permission for video hint
chown root.system /sys/devices/system/cpu/cpufreq/policy0/walt/hispeed_freq
chmod 0660 /sys/devices/system/cpu/cpufreq/policy0/walt/hispeed_freq
chown root.system /sys/devices/system/cpu/cpufreq/policy0/walt/rtg_boost_freq
chmod 0660 /sys/devices/system/cpu/cpufreq/policy0/walt/rtg_boost_freq
chown root.system /sys/devices/system/cpu/cpufreq/policy0/walt/pl
chmod 0660 /sys/devices/system/cpu/cpufreq/policy0/walt/pl
echo s2idle > /sys/power/mem_sleep
echo N > /sys/devices/system/cpu/qcom_lpm/parameters/sleep_disabled
model_name=`getprop ro.product.device`
if [ $model_name == "b6q" ]; then
echo 608 > /sys/devices/system/cpu/cpufreq/policy0/walt/target_load_thresh
echo 837 > /sys/devices/system/cpu/cpufreq/policy2/walt/target_load_thresh
echo 891 > /sys/devices/system/cpu/cpufreq/policy5/walt/target_load_thresh
echo 806 > /sys/devices/system/cpu/cpufreq/policy7/walt/target_load_thresh
echo 15000 > /sys/devices/system/cpu/cpufreq/policy0/walt/up_rate_limit_us
echo 15000 > /sys/devices/system/cpu/cpufreq/policy2/walt/up_rate_limit_us
echo 15000 > /sys/devices/system/cpu/cpufreq/policy5/walt/up_rate_limit_us
echo 15000 > /sys/devices/system/cpu/cpufreq/policy7/walt/up_rate_limit_us
echo 1344000 > /sys/devices/system/cpu/cpufreq/policy0/walt/up_delay_freq
echo 2572800 > /sys/devices/system/cpu/cpufreq/policy2/walt/up_delay_freq
echo 2572800 > /sys/devices/system/cpu/cpufreq/policy5/walt/up_delay_freq
echo 2630400 > /sys/devices/system/cpu/cpufreq/policy7/walt/up_delay_freq
echo 0 > /sys/devices/system/cpu/cpufreq/policy0/walt/pl
echo 1 > /proc/sys/walt/sched_conservative_pl
echo 50 85 85 > /proc/sys/walt/sched_downmigrate
echo 59 95 95 > /proc/sys/walt/sched_upmigrate
echo 20 > /dev/cpuctl/background/cpu.uclamp.max
echo 1804800 2707200 2707200 2147483647 > /proc/sys/walt/sched_fmax_cap
echo 51 > /proc/sys/walt/sched_min_task_util_for_boost
echo 51 > /proc/sys/walt/sched_min_task_util_for_uclamp
echo 35 > /proc/sys/walt/sched_min_task_util_for_colocation
chown root.system /sys/devices/system/cpu/cpufreq/policy0/walt/up_delay_freq
chmod 0660 /sys/devices/system/cpu/cpufreq/policy0/walt/up_delay_freq
chown root.system /sys/devices/system/cpu/cpufreq/policy0/walt/target_load_thresh
chmod 0660 /sys/devices/system/cpu/cpufreq/policy0/walt/target_load_thresh
chown root.system /sys/devices/system/cpu/cpufreq/policy0/walt/up_rate_limit_us
chmod 0660 /sys/devices/system/cpu/cpufreq/policy0/walt/up_rate_limit_us
chown root.system /sys/devices/system/cpu/cpufreq/policy0/walt/rtg_boost_freq
chmod 0664 /sys/devices/system/cpu/cpufreq/policy0/walt/rtg_boost_freq
chown root.system /sys/devices/system/cpu/cpufreq/policy2/walt/up_delay_freq
chmod 0660 /sys/devices/system/cpu/cpufreq/policy2/walt/up_delay_freq
chown root.system /sys/devices/system/cpu/cpufreq/policy2/walt/target_load_thresh
chmod 0660 /sys/devices/system/cpu/cpufreq/policy2/walt/target_load_thresh
chown root.system /sys/devices/system/cpu/cpufreq/policy2/walt/up_rate_limit_us
chmod 0660 /sys/devices/system/cpu/cpufreq/policy2/walt/up_rate_limit_us
chown root.system /sys/devices/system/cpu/cpufreq/policy5/walt/up_delay_freq
chmod 0660 /sys/devices/system/cpu/cpufreq/policy5/walt/up_delay_freq
chown root.system /sys/devices/system/cpu/cpufreq/policy5/walt/target_load_thresh
chmod 0660 /sys/devices/system/cpu/cpufreq/policy5/walt/target_load_thresh
chown root.system /sys/devices/system/cpu/cpufreq/policy5/walt/up_rate_limit_us
chmod 0660 /sys/devices/system/cpu/cpufreq/policy5/walt/up_rate_limit_us
chown root.system /sys/devices/system/cpu/cpufreq/policy7/walt/up_delay_freq
chmod 0660 /sys/devices/system/cpu/cpufreq/policy7/walt/up_delay_freq
chown root.system /sys/devices/system/cpu/cpufreq/policy7/walt/target_load_thresh
chmod 0660 /sys/devices/system/cpu/cpufreq/policy7/walt/target_load_thresh
chown root.system /sys/devices/system/cpu/cpufreq/policy7/walt/up_rate_limit_us
chmod 0660 /sys/devices/system/cpu/cpufreq/policy7/walt/up_rate_limit_us
chown root.system /sys/devices/system/cpu/cpufreq/policy0/walt/pl
chmod 0660 /sys/devices/system/cpu/cpufreq/policy0/walt/pl
chown root.system /dev/cpuctl/background/cpu.uclamp.max
chmod 0660 /dev/cpuctl/background/cpu.uclamp.max
fi
# Enable dynamic prefetcher
if [ $model_name == "b6q" ] || [ $model_name == "q6q" ] || [ $model_name == "q6aq" ]; then
chown root.system /sys/devices/system/cpu/dynpf/enable_dynpf
chmod 0660 /sys/devices/system/cpu/dynpf/enable_dynpf
echo 1 > /sys/devices/system/cpu/dynpf/enable_dynpf
fi
echo 4 > /proc/sys/kernel/printk
# SED data dump
factory=`getprop ro.factory.factory_binary`
if [ "$factory" == "factory" ] && [ ! -e /data/local/tmp/SED_DDR_DATA_* ]; then
ap_serial=`getprop ro.boot.ap_serial`
soc_model=`getprop ro.soc.model`
dram_info=`getprop ro.boot.dram_info`
sed_dump_file=/data/local/tmp/SED_DDR_DATA_$soc_model'_'$dram_info'_'$ap_serial.BIN
dd if=/dev/block/bootdevice/by-name/ddr of=$sed_dump_file bs=1024 count=256
chown shell:shell $sed_dump_file
chmod 755 $sed_dump_file
fi
# Change console log level as per console config property
console_config=`getprop persist.vendor.console.silent.config`
case "$console_config" in
"1")
echo "Enable console config to $console_config"
echo 0 > /proc/sys/kernel/printk
;;
*)
echo "Enable console config to $console_config"
;;
esac
setprop vendor.post_boot.parsed 1

View File

@ -0,0 +1,215 @@
#=============================================================================
# Copyright (c) 2019-2023 Qualcomm Technologies, Inc.
# All Rights Reserved.
# Confidential and Proprietary - Qualcomm Technologies, Inc.
#
# Copyright (c) 2009-2012, 2014-2019, The Linux Foundation. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# * Neither the name of The Linux Foundation nor
# the names of its contributors may be used to endorse or promote
# products derived from this software without specific prior written
# permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
# NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#=============================================================================
function configure_zram_parameters() {
MemTotalStr=`cat /proc/meminfo | grep MemTotal`
MemTotal=${MemTotalStr:16:8}
low_ram=`getprop ro.config.low_ram`
let RamSizeGB="( $MemTotal / 1048576 ) + 1"
diskSizeUnit=M
# Zram disk - 75%
let zRamSizeMB="( $RamSizeGB * 1024 ) * 3 / 4"
# use MB avoid 32 bit overflow
if [ $zRamSizeMB -gt 6144 ]; then
let zRamSizeMB=6144
fi
# And enable lz4 zram compression for Go targets.
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
}
verify_pasr_support()
{
ddr_type=`od -An -tx /proc/device-tree/memory/ddr_device_type`
ddr_type5="08"
if [ -d /sys/kernel/mem-offline ]; then
#only LPDDR5 supports PAAR
if [ ${ddr_type:4:2} != $ddr_type5 ]; then
setprop vendor.pasr.activemode.enabled false
fi
setprop vendor.pasr.enabled true
echo "pasr-enabled"
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 -e sd)
# dmpts holds below read_ahead_kb nodes if exists:
# /sys/block/dm-0/queue/read_ahead_kb to /sys/block/dm-10/queue/read_ahead_kb
# /sys/block/sda/queue/read_ahead_kb to /sys/block/sdh/queue/read_ahead_kb
# Set 128 for <= 4GB &
# set 512 for >= 5GB 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
if [ `cat $(dirname $dm)/../removable` -eq 0 ]; then
echo $ra_kb > $dm
fi
done
}
function configure_memory_parameters() {
# Set Memory parameters.
#
# Set per_process_reclaim tuning parameters
# All targets will use vmpressure range 50-70,
# All targets will use 512 pages swap size.
#
# Set Low memory killer minfree parameters
# 32 bit Non-Go, all memory configurations will use 15K series
# 32 bit Go, all memory configurations will use uLMK + Memcg
# 64 bit will use Google default LMK series.
#
# Set ALMK parameters (usually above the highest minfree values)
# vmpressure_file_min threshold is always set slightly higher
# than LMK minfree's last bin value for all targets. It is calculated as
# vmpressure_file_min = (last bin - second last bin ) + last bin
#
# Set allocstall_threshold to 0 for all targets.
#
#configure_zram_parameters
configure_read_ahead_kb_values
#echo 100 > /proc/sys/vm/swappiness
# Disable periodic kcompactd wakeups. We do not use THP, so having many
# huge pages is not as necessary.
echo 0 > /proc/sys/vm/compaction_proactiveness
MemTotalStr=`cat /proc/meminfo | grep MemTotal`
MemTotal=${MemTotalStr:16:8}
let RamSizeGB="( $MemTotal / 1048576 ) + 1"
have_pasr=$(verify_pasr_support)
if [ -z $have_pasr ]; then
## Goal is to allow all allocations to use THP whilst minimizing allocaiton delays
# Allow all eligibe page faults to use THP
echo always > /sys/kernel/mm/transparent_hugepage/enabled
# Prevent page faults on THP-elgible VMAs from causing reclaim or compaction
echo never > /sys/kernel/mm/transparent_hugepage/defrag
## Goal is to make khugepaged as inert as possible using the below settings
# Prevent khugepaged from doing reclaim or compaction
echo 0 > /sys/kernel/mm/transparent_hugepage/khugepaged/defrag
# Minimize the number of pages that khugepaged will scan
echo 1 > /sys/kernel/mm/transparent_hugepage/khugepaged/pages_to_scan
# Maximize the amount of time that khugepaged is asleep for
echo 4294967295 > /sys/kernel/mm/transparent_hugepage/khugepaged/scan_sleep_millisecs
echo 4294967295 > /sys/kernel/mm/transparent_hugepage/khugepaged/alloc_sleep_millisecs
# Restrict khugepaged promotions as much as possible. Only allow khugepaged to promote
# if all pages in a VMA are (1) not invalid PTEs, (2) not swapped out PTEs, (3) not
# shared PTEs.
echo 0 > /sys/kernel/mm/transparent_hugepage/khugepaged/max_ptes_none
echo 0 > /sys/kernel/mm/transparent_hugepage/khugepaged/max_ptes_swap
echo 0 > /sys/kernel/mm/transparent_hugepage/khugepaged/max_ptes_shared
else
# Do not enable THP is PASR is enabled
echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
# Set the min_free_kbytes to standard kernel value
if [ $RamSizeGB -ge 8 ]; then
echo 11584 > /proc/sys/vm/min_free_kbytes
elif [ $RamSizeGB -ge 4 ]; then
echo 8192 > /proc/sys/vm/min_free_kbytes
elif [ $RamSizeGB -ge 2 ]; then
echo 5792 > /proc/sys/vm/min_free_kbytes
else
echo 4096 > /proc/sys/vm/min_free_kbytes
fi
#Set per-app max kgsl reclaim limit and per shrinker call limit
if [ -f /sys/class/kgsl/kgsl/page_reclaim_per_call ]; then
echo 38400 > /sys/class/kgsl/kgsl/page_reclaim_per_call
fi
# if [ -f /sys/class/kgsl/kgsl/max_reclaim_limit ]; then
# echo 51200 > /sys/class/kgsl/kgsl/max_reclaim_limit
# fi
}
configure_memory_parameters
if [ -f /sys/devices/soc0/soc_id ]; then
platformid=`cat /sys/devices/soc0/soc_id`
fi
case "$platformid" in
"557"|"577")
/vendor/bin/sh /vendor/bin/init.kernel.post_boot-pineapple.sh
;;
"614"|"632")
/vendor/bin/sh /vendor/bin/init.kernel.post_boot-cliffs.sh
;;
*)
echo "***WARNING***: Invalid SoC ID\n\t No postboot settings applied!!\n"
;;
esac

34
rootdir/bin/init.mdm.sh Normal file
View File

@ -0,0 +1,34 @@
#! /vendor/bin/sh
# Copyright (c) 2013, The Linux Foundation. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# * Neither the name of Linux Foundation nor
# the names of its contributors may be used to endorse or promote
# products derived from this software without specific prior written
# permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
# NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
baseband=`getprop ro.baseband`
if [ "$baseband" = "mdm" ] || [ "$baseband" = "mdm2" ]; then
start vendor.mdm_helper
fi

View File

@ -0,0 +1,216 @@
#!/vendor/bin/sh
# Copyright (c) 2012-2013, The Linux Foundation. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# * Neither the name of The Linux Foundation nor
# the names of its contributors may be used to endorse or promote
# products derived from this software without specific prior written
# permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
# NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
# Set platform variables
target=`getprop ro.board.platform`
if [ -f /sys/devices/soc0/hw_platform ]; then
soc_hwplatform=`cat /sys/devices/soc0/hw_platform` 2> /dev/null
else
soc_hwplatform=`cat /sys/devices/system/soc/soc0/hw_platform` 2> /dev/null
fi
if [ -f /sys/devices/soc0/soc_id ]; then
soc_hwid=`cat /sys/devices/soc0/soc_id` 2> /dev/null
else
soc_hwid=`cat /sys/devices/system/soc/soc0/id` 2> /dev/null
fi
if [ -f /sys/devices/soc0/platform_version ]; then
soc_hwver=`cat /sys/devices/soc0/platform_version` 2> /dev/null
else
soc_hwver=`cat /sys/devices/system/soc/soc0/platform_version` 2> /dev/null
fi
# Dynamic Memory Managment (DMM) provides a sys file system to the userspace
# that can be used to plug in/out memory that has been configured as unstable.
# This unstable memory can be in Active or In-Active State.
# Each of which the userspace can request by writing to a sys file.
#
# ro.dev.dmm = 1; Indicates that DMM is enabled in the Android User Space. This
# property is set in the Android system properties file.
#
# If ro.dev.dmm.dpd.start_address is set here then the target has a memory
# configuration that supports DynamicMemoryManagement.
init_DMM()
{
block=-1
case "$target" in
"msm7630_surf" | "msm7630_1x" | "msm7630_fusion" | "msm8960")
;;
*)
return
;;
esac
mem="/sys/devices/system/memory"
op=`cat $mem/movable_start_bytes`
case "$op" in
"0")
log -p i -t DMM DMM Disabled. movable_start_bytes not set: $op
;;
"$mem/movable_start_bytes: No such file or directory ")
log -p i -t DMM DMM Disabled. movable_start_bytes does not exist: $op
;;
*)
log -p i -t DMM DMM available. movable_start_bytes at $op
movable_start_bytes=0x`cat $mem/movable_start_bytes`
block_size_bytes=0x`cat $mem/block_size_bytes`
block=$((#${movable_start_bytes}/${block_size_bytes}))
chown -h system.system $mem/memory$block/state
chown -h system.system $mem/probe
chown -h system.system $mem/active
chown -h system.system $mem/remove
case "$target" in
"msm7630_surf" | "msm7630_1x" | "msm7630_fusion")
echo $movable_start_bytes > $mem/probe
case "$?" in
"0")
log -p i -t DMM $movable_start_bytes to physical hotplug succeeded.
;;
*)
log -p e -t DMM $movable_start_bytes to physical hotplug failed.
return
;;
esac
echo online > $mem/memory$block/state
case "$?" in
"0")
log -p i -t DMM \'echo online\' to logical hotplug succeeded.
;;
*)
log -p e -t DMM \'echo online\' to logical hotplug failed.
return
;;
esac
;;
esac
setprop ro.dev.dmm.dpd.start_address $movable_start_bytes
setprop ro.dev.dmm.dpd.block $block
;;
esac
case "$target" in
"msm8960")
return
;;
esac
# For 7X30 targets:
# ro.dev.dmm.dpd.start_address is set when the target has a 2x256Mb memory
# configuration. This is also used to indicate that the target is capable of
# setting EBI-1 to Deep Power Down or Self Refresh.
op=`cat $mem/low_power_memory_start_bytes`
case "$op" in
"0")
log -p i -t DMM Self-Refresh-Only Disabled. low_power_memory_start_bytes not set:$op
;;
"$mem/low_power_memory_start_bytes No such file or directory ")
log -p i -t DMM Self-Refresh-Only Disabled. low_power_memory_start_bytes does not exist:$op
;;
*)
log -p i -t DMM Self-Refresh-Only available. low_power_memory_start_bytes at $op
;;
esac
}
#
# For controlling console and shell on console on 8960 - perist.serial.enable 8960
# On other target use default ro.debuggable property.
#
serial=`getprop persist.serial.enable`
dserial=`getprop ro.debuggable`
case "$target" in
"msm8960")
case "$serial" in
"0")
echo 0 > /sys/devices/platform/msm_serial_hsl.0/console
;;
"1")
echo 1 > /sys/devices/platform/msm_serial_hsl.0/console
start console
;;
*)
case "$dserial" in
"1")
start console
;;
esac
;;
esac
;;
"msm8610" | "msm8974" | "msm8226")
case "$serial" in
"0")
echo 0 > /sys/devices/f991f000.serial/console
;;
"1")
echo 1 > /sys/devices/f991f000.serial/console
start console
;;
*)
case "$dserial" in
"1")
start console
;;
esac
;;
esac
;;
*)
case "$dserial" in
"1")
start console
;;
esac
;;
esac
case "$target" in
"msm7630_surf" | "msm7630_1x" | "msm7630_fusion")
insmod /system/lib/modules/ss_mfcinit.ko
insmod /system/lib/modules/ss_vencoder.ko
insmod /system/lib/modules/ss_vdecoder.ko
chmod -h 0666 /dev/ss_mfc_reg
chmod -h 0666 /dev/ss_vdec
chmod -h 0666 /dev/ss_venc
init_DMM
;;
"msm8960")
init_DMM
;;
esac

View File

@ -0,0 +1,115 @@
#! /vendor/bin/sh
# Copyright (c) 2009-2010, 2012, The Linux Foundation. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# * Neither the name of The Linux Foundation nor
# the names of its contributors may be used to endorse or promote
# products derived from this software without specific prior written
# permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
# NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
LOG_TAG="qcom-bt-wlan-coex"
LOG_NAME="${0}:"
coex_pid=""
ath_wlan_supported=`getprop wlan.driver.ath`
loge ()
{
/system/bin/log -t $LOG_TAG -p e "$LOG_NAME $@"
}
logi ()
{
/system/bin/log -t $LOG_TAG -p i "$LOG_NAME $@"
}
failed ()
{
loge "$1: exit code $2"
exit $2
}
start_coex ()
{
case "$ath_wlan_supported" in
"2")
echo "ATH WLAN Chip ID AR6004 is enabled"
/system/bin/abtfilt -d -z -n -m -a -w wlan0 &
;;
"1")
echo "ATH WLAN Chip ID is enabled"
# Must have -d -z -n -v -s -w wlan0 parameters for atheros btfilter.
/system/bin/abtfilt -d -z -n -v -q -s -w wlan0 &
;;
"0")
echo "WCN WLAN Chip ID is enabled"
# Must have -o turned on to avoid daemon (otherwise we cannot get pid)
/system/bin/btwlancoex -o $opt_flags &
;;
*)
echo "NO WLAN Chip ID is enabled, so enabling ATH as default"
# Must have -d -z -n -v -s -w wlan0 parameters for atheros btfilter.
/system/bin/abtfilt -d -z -n -v -q -s -w wlan0 &
;;
esac
coex_pid=$!
logi "start_coex: pid = $coex_pid"
}
kill_coex ()
{
logi "kill_coex: pid = $coex_pid"
kill -TERM $coex_pid
# this shell doesn't exit now -- wait returns for normal exit
}
# mimic coex options parsing -- maybe a waste of effort
USAGE="${0} [-o] [-c] [-r] [-i] [-h]"
while getopts "ocrih" f
do
case $f in
o | c | r | i | h) opt_flags="$opt_flags -$f" ;;
\?) echo $USAGE; exit 1;;
esac
done
# init does SIGTERM on ctl.stop for service
trap "kill_coex" TERM INT
#Selectively start coex module
target=`getprop ro.board.platform`
if [ "$target" == "msm8960" ] && [ "$ath_wlan_supported" != "2" ]; then
logi "btwlancoex/abtfilt is not needed"
else
# Build settings may not produce the coex executable
if ls /system/bin/btwlancoex || ls /system/bin/abtfilt
then
start_coex
wait $coex_pid
logi "Coex stopped"
else
logi "btwlancoex/abtfilt not available"
fi
fi
exit 0

View File

@ -0,0 +1,505 @@
#! /vendor/bin/sh
# Copyright (c) 2012-2013,2016,2018-2020 The Linux Foundation. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# * Neither the name of The Linux Foundation nor
# the names of its contributors may be used to endorse or promote
# products derived from this software without specific prior written
# permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
# NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
export PATH=/vendor/bin
# Set platform variables
if [ -f /sys/devices/soc0/hw_platform ]; then
soc_hwplatform=`cat /sys/devices/soc0/hw_platform` 2> /dev/null
else
soc_hwplatform=`cat /sys/devices/system/soc/soc0/hw_platform` 2> /dev/null
fi
if [ -f /sys/devices/soc0/soc_id ]; then
soc_hwid=`cat /sys/devices/soc0/soc_id` 2> /dev/null
else
soc_hwid=`cat /sys/devices/system/soc/soc0/id` 2> /dev/null
fi
if [ -f /sys/devices/soc0/platform_version ]; then
soc_hwver=`cat /sys/devices/soc0/platform_version` 2> /dev/null
else
soc_hwver=`cat /sys/devices/system/soc/soc0/platform_version` 2> /dev/null
fi
if [ -f /sys/class/drm/card0-DSI-1/modes ]; then
echo "detect" > /sys/class/drm/card0-DSI-1/status
mode_file=/sys/class/drm/card0-DSI-1/modes
while read line; do
fb_width=${line%%x*};
break;
done < $mode_file
elif [ -f /sys/class/graphics/fb0/virtual_size ]; then
res=`cat /sys/class/graphics/fb0/virtual_size` 2> /dev/null
fb_width=${res%,*}
fi
log -t BOOT -p i "MSM target '$1', SoC '$soc_hwplatform', HwID '$soc_hwid', SoC ver '$soc_hwver'"
#For drm based display driver
vbfile=/sys/module/drm/parameters/vblankoffdelay
if [ -w $vbfile ]; then
echo -1 > $vbfile
else
log -t DRM_BOOT -p w "file: '$vbfile' or perms doesn't exist"
fi
function set_density_by_fb() {
#put default density based on width
if [ -z $fb_width ]; then
setprop vendor.display.lcd_density 320
else
if [ $fb_width -ge 1600 ]; then
setprop vendor.display.lcd_density 640
elif [ $fb_width -ge 1440 ]; then
setprop vendor.display.lcd_density 560
elif [ $fb_width -ge 1080 ]; then
setprop vendor.display.lcd_density 480
elif [ $fb_width -ge 720 ]; then
setprop vendor.display.lcd_density 320 #for 720X1280 resolution
elif [ $fb_width -ge 480 ]; then
setprop vendor.display.lcd_density 240 #for 480X854 QRD resolution
else
setprop vendor.display.lcd_density 160
fi
fi
}
target=`getprop ro.board.platform`
case "$target" in
"msm7630_surf" | "msm7630_1x" | "msm7630_fusion")
case "$soc_hwplatform" in
"FFA" | "SVLTE_FFA")
# linking to surf_keypad_qwerty.kcm.bin instead of surf_keypad_numeric.kcm.bin so that
# the UI keyboard works fine.
ln -s /system/usr/keychars/surf_keypad_qwerty.kcm.bin /system/usr/keychars/surf_keypad.kcm.bin
;;
"Fluid")
setprop vendor.display.lcd_density 240
setprop qcom.bt.dev_power_class 2
;;
*)
ln -s /system/usr/keychars/surf_keypad_qwerty.kcm.bin /system/usr/keychars/surf_keypad.kcm.bin
;;
esac
;;
"sm6150")
case "$soc_hwplatform" in
"ADP")
setprop vendor.display.lcd_density 160
;;
esac
case "$soc_hwid" in
365|366)
sku_ver=`cat /sys/devices/platform/soc/aa00000.qcom,vidc1/sku_version` 2> /dev/null
setprop vendor.media.target.version 1
if [ $sku_ver -eq 1 ]; then
setprop vendor.media.target.version 2
fi
;;
355|369|377|384)
setprop vendor.chre.enabled 0
;;
*)
esac
;;
"msm8660")
case "$soc_hwplatform" in
"Fluid")
setprop vendor.display.lcd_density 240
;;
"Dragon")
setprop ro.sound.alsa "WM8903"
;;
esac
;;
"msm8960")
# lcd density is write-once. Hence the separate switch case
case "$soc_hwplatform" in
"Liquid")
if [ "$soc_hwver" == "196608" ]; then # version 0x30000 is 3D sku
setprop ro.sf.hwrotation 90
fi
setprop vendor.display.lcd_density 160
;;
"MTP")
setprop vendor.display.lcd_density 240
;;
*)
case "$soc_hwid" in
"109")
setprop vendor.display.lcd_density 160
;;
*)
setprop vendor.display.lcd_density 240
;;
esac
;;
esac
#Set up composition type based on the target
case "$soc_hwid" in
87)
#8960
setprop debug.composition.type dyn
;;
153|154|155|156|157|138)
#8064 V2 PRIME | 8930AB | 8630AB | 8230AB | 8030AB | 8960AB
setprop debug.composition.type c2d
;;
*)
esac
;;
"msm8974")
case "$soc_hwplatform" in
"Liquid")
setprop vendor.display.lcd_density 160
# Liquid do not have hardware navigation keys, so enable
# Android sw navigation bar
setprop ro.hw.nav_keys 0
;;
"Dragon")
setprop vendor.display.lcd_density 240
;;
*)
setprop vendor.display.lcd_density 320
;;
esac
;;
"msm8226")
case "$soc_hwplatform" in
*)
setprop vendor.display.lcd_density 320
;;
esac
;;
"msm8610" | "apq8084" | "mpq8092")
case "$soc_hwplatform" in
*)
setprop vendor.display.lcd_density 240
;;
esac
;;
"apq8084")
case "$soc_hwplatform" in
"Liquid")
setprop vendor.display.lcd_density 320
# Liquid do not have hardware navigation keys, so enable
# Android sw navigation bar
setprop ro.hw.nav_keys 0
;;
"SBC")
setprop vendor.display.lcd_density 200
# SBC do not have hardware navigation keys, so enable
# Android sw navigation bar
setprop qemu.hw.mainkeys 0
;;
*)
setprop vendor.display.lcd_density 480
;;
esac
;;
"msm8996")
case "$soc_hwplatform" in
"Dragon")
setprop vendor.display.lcd_density 240
setprop qemu.hw.mainkeys 0
;;
"ADP")
setprop vendor.display.lcd_density 160
setprop qemu.hw.mainkeys 0
;;
"SBC")
setprop vendor.display.lcd_density 240
setprop qemu.hw.mainkeys 0
;;
*)
setprop vendor.display.lcd_density 560
;;
esac
;;
"msm8937" | "msm8940")
# Set vendor.opengles.version based on chip id.
# MSM8937 and MSM8940 variants supports OpenGLES 3.1
# 196608 is decimal for 0x30000 to report version 3.0
# 196609 is decimal for 0x30001 to report version 3.1
# 196610 is decimal for 0x30002 to report version 3.2
case "$soc_hwid" in
294|295|296|297|298|313|353|354|363|364)
setprop vendor.opengles.version 196610
if [ $soc_hwid = 354 ]
then
setprop vendor.media.target.version 1
log -t BOOT -p i "SDM429 early_boot prop set for: HwID '$soc_hwid'"
fi
;;
303|307|308|309|320)
# Vulkan is not supported for 8917 variants
setprop vendor.opengles.version 196608
setprop persist.graphics.vulkan.disable true
;;
*)
setprop vendor.opengles.version 196608
;;
esac
;;
"msm8909")
case "$soc_hwplatform" in
*)
setprop persist.graphics.vulkan.disable true
;;
esac
;;
"msm8998" | "apq8098_latv")
case "$soc_hwplatform" in
*)
setprop vendor.display.lcd_density 560
;;
esac
;;
"sdm845")
case "$soc_hwplatform" in
*)
if [ $fb_width -le 1600 ]; then
setprop vendor.display.lcd_density 560
else
setprop vendor.display.lcd_density 640
fi
;;
esac
;;
"msmnile")
case "$soc_hwplatform" in
*)
if [ $fb_width -le 1600 ]; then
setprop vendor.display.lcd_density 560
else
setprop vendor.display.lcd_density 640
fi
;;
esac
;;
"kona")
case "$soc_hwplatform" in
*)
setprop vendor.media.target_variant "_kona"
if [ $fb_width -le 1600 ]; then
setprop vendor.display.lcd_density 560
else
setprop vendor.display.lcd_density 640
fi
;;
esac
;;
"lito")
case "$soc_hwid" in
400|440)
sku_ver=`cat /sys/devices/platform/soc/aa00000.qcom,vidc1/sku_version` 2> /dev/null
if [ $sku_ver -eq 1 ]; then
setprop vendor.media.target.version 1
fi
;;
434|459)
sku_ver=`cat /sys/devices/platform/soc/aa00000.qcom,vidc1/sku_version` 2> /dev/null
setprop vendor.media.target.version 2
if [ $sku_ver -eq 1 ]; then
setprop vendor.media.target.version 3
fi
;;
esac
;;
"bengal")
case "$soc_hwid" in
441)
setprop vendor.fastrpc.disable.cdsprpcd.daemon 1
setprop vendor.gralloc.disable_ubwc 1
# 196609 is decimal for 0x30001 to report version 3.1
setprop vendor.opengles.version 196609
;;
471)
#scuba APQ
setprop vendor.gralloc.disable_ubwc 1
;;
esac
;;
"sdm710" | "msmpeafowl")
case "$soc_hwplatform" in
*)
if [ $fb_width -le 1600 ]; then
setprop vendor.display.lcd_density 560
else
setprop vendor.display.lcd_density 640
fi
sku_ver=`cat /sys/devices/platform/soc/aa00000.qcom,vidc1/sku_version` 2> /dev/null
if [ $sku_ver -eq 1 ]; then
setprop vendor.media.target.version 1
fi
;;
esac
;;
"msm8953")
cap_ver = 1
if [ -e "/sys/devices/platform/soc/1d00000.qcom,vidc/capability_version" ]; then
cap_ver=`cat /sys/devices/platform/soc/1d00000.qcom,vidc/capability_version` 2> /dev/null
else
cap_ver=`cat /sys/devices/soc/1d00000.qcom,vidc/capability_version` 2> /dev/null
fi
if [ $cap_ver -eq 1 ]; then
setprop vendor.media.target.version 1
fi
;;
#Set property to differentiate SDM660 & SDM455
#SOC ID for SDM455 is 385
"sdm660")
case "$soc_hwplatform" in
*)
if [ $fb_width -le 1600 ]; then
setprop vendor.display.lcd_density 560
else
setprop vendor.display.lcd_density 640
fi
if [ $soc_hwid -eq 385 ]; then
setprop vendor.media.target.version 1
fi
;;
esac
;;
"holi")
setprop vendor.media.target_variant "_holi"
;;
esac
baseband=`getprop ro.baseband`
#enable atfwd daemon all targets except sda, apq, qcs
case "$baseband" in
"apq" | "sda" | "qcs" )
setprop persist.vendor.radio.atfwd.start false;;
*)
setprop persist.vendor.radio.atfwd.start true;;
esac
#set default lcd density
#Since lcd density has read only
#property, it will not overwrite previous set
#property if any target is setting forcefully.
set_density_by_fb
# set Lilliput LCD density for ADP
product=`getprop ro.board.platform`
case "$product" in
"msmnile_au")
setprop vendor.display.lcd_density 160
echo 902400000 > /sys/class/devfreq/soc:qcom,cpu0-cpu-l3-lat/min_freq
echo 1612800000 > /sys/class/devfreq/soc:qcom,cpu0-cpu-l3-lat/max_freq
echo 902400000 > /sys/class/devfreq/soc:qcom,cpu4-cpu-l3-lat/min_freq
echo 1612800000 > /sys/class/devfreq/soc:qcom,cpu4-cpu-l3-lat/max_freq
;;
*)
;;
esac
case "$product" in
"sm6150_au")
setprop vendor.display.lcd_density 160
;;
*)
;;
esac
case "$product" in
"sdmshrike_au")
setprop vendor.display.lcd_density 160
;;
*)
;;
esac
case "$product" in
"msmnile_gvmq")
setprop vendor.display.lcd_density 160
;;
*)
;;
esac
# Setup display nodes & permissions
# HDMI can be fb1 or fb2
# Loop through the sysfs nodes and determine
# the HDMI(dtv panel)
function set_perms() {
#Usage set_perms <filename> <ownership> <permission>
chown -h $2 $1
chmod $3 $1
}
# check for the type of driver FB or DRM
fb_driver=/sys/class/graphics/fb0
if [ -e "$fb_driver" ]
then
# check for mdp caps
file=/sys/class/graphics/fb0/mdp/caps
if [ -f "$file" ]
then
setprop vendor.gralloc.disable_ubwc 1
cat $file | while read line; do
case "$line" in
*"ubwc"*)
setprop vendor.gralloc.enable_fb_ubwc 1
setprop vendor.gralloc.disable_ubwc 0
esac
done
fi
else
set_perms /sys/devices/virtual/hdcp/msm_hdcp/min_level_change system.graphics 0660
fi
# allow system_graphics group to access pmic secure_mode node
set_perms /sys/class/lcd_bias/secure_mode system.graphics 0660
set_perms /sys/class/leds/wled/secure_mode system.graphics 0660
boot_reason=`cat /proc/sys/kernel/boot_reason`
reboot_reason=`getprop ro.boot.alarmboot`
if [ "$boot_reason" = "3" ] || [ "$reboot_reason" = "true" ]; then
setprop ro.vendor.alarm_boot true
else
setprop ro.vendor.alarm_boot false
fi
# copy GPU frequencies to vendor property
if [ -f /sys/class/kgsl/kgsl-3d0/gpu_available_frequencies ]; then
gpu_freq=`cat /sys/class/kgsl/kgsl-3d0/gpu_available_frequencies` 2> /dev/null
setprop vendor.gpu.available_frequencies "$gpu_freq"
fi

View File

@ -0,0 +1,35 @@
#! /vendor/bin/sh
# Copyright (c) 2012, The Linux Foundation. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above
# copyright notice, this list of conditions and the following
# disclaimer in the documentation and/or other materials provided
# with the distribution.
# * Neither the name of The Linux Foundation nor the names of its
# contributors may be used to endorse or promote products derived
# from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
#
PATH=/system/bin:$PATH
export PATH
cat /sys/devices/platform/rs300000a7.65536/force_sync
cat /sys/devices/platform/rs300100a7.65536/force_sync

File diff suppressed because it is too large Load Diff

View File

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

View File

@ -0,0 +1,33 @@
#!/vendor/bin/sh
# Copyright (c) 2020 The Linux Foundation. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# * Neither the name of The Linux Foundation nor
# the names of its contributors may be used to endorse or promote
# products derived from this software without specific prior written
# permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
# NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
#
# Function to start sensors for SSC enabled platforms
#
cp /vendor/etc/sensors/scripts/* /data/vendor/sensors/scripts/
chmod a+rw /data/vendor/sensors/scripts/*

517
rootdir/bin/init.qcom.sh Normal file
View File

@ -0,0 +1,517 @@
#! /vendor/bin/sh
# Copyright (c) 2009-2016, The Linux Foundation. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# * Neither the name of The Linux Foundation nor
# the names of its contributors may be used to endorse or promote
# products derived from this software without specific prior written
# permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
# NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
target=`getprop ro.board.platform`
low_ram=`getprop ro.config.low_ram`
if [ -f /sys/devices/soc0/soc_id ]; then
platformid=`cat /sys/devices/soc0/soc_id`
else
platformid=`cat /sys/devices/system/soc/soc0/id`
fi
start_battery_monitor()
{
if ls /sys/bus/spmi/devices/qpnp-bms-*/fcc_data ; then
chown -h root.system /sys/module/pm8921_bms/parameters/*
chown -h root.system /sys/module/qpnp_bms/parameters/*
chown -h root.system /sys/bus/spmi/devices/qpnp-bms-*/fcc_data
chown -h root.system /sys/bus/spmi/devices/qpnp-bms-*/fcc_temp
chown -h root.system /sys/bus/spmi/devices/qpnp-bms-*/fcc_chgcyl
chmod 0660 /sys/module/qpnp_bms/parameters/*
chmod 0660 /sys/module/pm8921_bms/parameters/*
mkdir -p /data/bms
chown -h root.system /data/bms
chmod 0770 /data/bms
start battery_monitor
fi
}
start_charger_monitor()
{
if ls /sys/module/qpnp_charger/parameters/charger_monitor; then
chown -h root.system /sys/module/qpnp_charger/parameters/*
chown -h root.system /sys/class/power_supply/battery/input_current_max
chown -h root.system /sys/class/power_supply/battery/input_current_trim
chown -h root.system /sys/class/power_supply/battery/input_current_settled
chown -h root.system /sys/class/power_supply/battery/voltage_min
chmod 0664 /sys/class/power_supply/battery/input_current_max
chmod 0664 /sys/class/power_supply/battery/input_current_trim
chmod 0664 /sys/class/power_supply/battery/input_current_settled
chmod 0664 /sys/class/power_supply/battery/voltage_min
chmod 0664 /sys/module/qpnp_charger/parameters/charger_monitor
start charger_monitor
fi
}
start_vm_bms()
{
if [ -e /dev/vm_bms ]; then
chown -h root.system /sys/class/power_supply/bms/current_now
chown -h root.system /sys/class/power_supply/bms/voltage_ocv
chmod 0664 /sys/class/power_supply/bms/current_now
chmod 0664 /sys/class/power_supply/bms/voltage_ocv
start vm_bms
fi
}
start_msm_irqbalance_8939()
{
if [ -f /vendor/bin/msm_irqbalance ]; then
case "$platformid" in
"239" | "293" | "294" | "295" | "304" | "338" | "313" | "353" | "354")
start vendor.msm_irqbalance;;
"349" | "350" )
start vendor.msm_irqbal_lb;;
esac
fi
}
start_msm_irqbalance_msmnile()
{
if [ -f /vendor/bin/msm_irqbalance ]; then
start vendor.msm_irqbalance
fi
}
start_msm_irqbalance_kona()
{
if [ -f /vendor/bin/msm_irqbalance ]; then
start vendor.msm_irqbalance
fi
}
start_msm_irqbalance_lito()
{
if [ -f /vendor/bin/msm_irqbalance ]; then
start vendor.msm_irqbalance
fi
}
start_msm_irqbalance_atoll()
{
if [ -f /vendor/bin/msm_irqbalance ]; then
start vendor.msm_irqbalance
fi
}
start_msm_irqbalance660()
{
if [ -f /vendor/bin/msm_irqbalance ]; then
case "$platformid" in
"317" | "321" | "324" | "325" | "326" | "336" | "345" | "346" | "360" | "393")
start vendor.msm_irqbalance;;
"318" | "327" | "385")
start vendor.msm_irqbl_sdm630;;
esac
fi
}
start_msm_irqbalance()
{
if [ -f /vendor/bin/msm_irqbalance ]; then
start vendor.msm_irqbalance
fi
}
baseband=`getprop ro.baseband`
echo 1 > /proc/sys/net/ipv6/conf/default/accept_ra_defrtr
case "$baseband" in
"svlte2a")
start bridgemgrd
;;
esac
case "$target" in
"msm7630_surf" | "msm7630_1x" | "msm7630_fusion")
if [ -f /sys/devices/soc0/hw_platform ]; then
value=`cat /sys/devices/soc0/hw_platform`
else
value=`cat /sys/devices/system/soc/soc0/hw_platform`
fi
case "$value" in
"Fluid")
start profiler_daemon;;
esac
;;
"msm8660" )
if [ -f /sys/devices/soc0/hw_platform ]; then
platformvalue=`cat /sys/devices/soc0/hw_platform`
else
platformvalue=`cat /sys/devices/system/soc/soc0/hw_platform`
fi
case "$platformvalue" in
"Fluid")
start profiler_daemon;;
esac
;;
"msm8960")
case "$baseband" in
"msm")
start_battery_monitor;;
esac
if [ -f /sys/devices/soc0/hw_platform ]; then
platformvalue=`cat /sys/devices/soc0/hw_platform`
else
platformvalue=`cat /sys/devices/system/soc/soc0/hw_platform`
fi
case "$platformvalue" in
"Fluid")
start profiler_daemon;;
"Liquid")
start profiler_daemon;;
esac
;;
"msm8974")
platformvalue=`cat /sys/devices/soc0/hw_platform`
case "$platformvalue" in
"Fluid")
start profiler_daemon;;
"Liquid")
start profiler_daemon;;
esac
case "$baseband" in
"msm")
start_battery_monitor
;;
esac
start_charger_monitor
;;
"sdm660")
if [ -f /sys/devices/soc0/soc_id ]; then
soc_id=`cat /sys/devices/soc0/soc_id`
else
soc_id=`cat /sys/devices/system/soc/soc0/id`
fi
if [ -f /sys/devices/soc0/hw_platform ]; then
hw_platform=`cat /sys/devices/soc0/hw_platform`
else
hw_platform=`cat /sys/devices/system/soc/soc0/hw_platform`
fi
case "$soc_id" in
"317" | "324" | "325" | "326" | "318" | "327" )
case "$hw_platform" in
"Surf")
setprop qemu.hw.mainkeys 0
;;
"MTP")
setprop qemu.hw.mainkeys 0
;;
"RCM")
setprop qemu.hw.mainkeys 0
;;
"QRD")
setprop qemu.hw.mainkeys 0
;;
esac
;;
esac
start_msm_irqbalance660
;;
"apq8084")
platformvalue=`cat /sys/devices/soc0/hw_platform`
case "$platformvalue" in
"Fluid")
start profiler_daemon;;
"Liquid")
start profiler_daemon;;
esac
;;
"msm8226")
start_charger_monitor
;;
"msm8610")
start_charger_monitor
;;
"msm8916")
start_vm_bms
start_msm_irqbalance_8939
if [ -f /sys/devices/soc0/soc_id ]; then
soc_id=`cat /sys/devices/soc0/soc_id`
else
soc_id=`cat /sys/devices/system/soc/soc0/id`
fi
if [ -f /sys/devices/soc0/platform_subtype_id ]; then
platform_subtype_id=`cat /sys/devices/soc0/platform_subtype_id`
fi
if [ -f /sys/devices/soc0/hw_platform ]; then
hw_platform=`cat /sys/devices/soc0/hw_platform`
fi
case "$soc_id" in
"239")
case "$hw_platform" in
"Surf")
case "$platform_subtype_id" in
"1")
setprop qemu.hw.mainkeys 0
;;
esac
;;
"MTP")
case "$platform_subtype_id" in
"3")
setprop qemu.hw.mainkeys 0
;;
esac
;;
esac
;;
esac
;;
"msm8994" | "msm8992" | "msm8998" | "apq8098_latv" | "sdm845" | "sdm710" | "qcs605" | "sm6150" | "trinket" | "bengal")
start_msm_irqbalance
;;
"msm8996")
if [ -f /sys/devices/soc0/hw_platform ]; then
hw_platform=`cat /sys/devices/soc0/hw_platform`
fi
case "$hw_platform" in
"MTP" | "CDP")
#Loop through the sysfs nodes and determine the correct sysfs to change the permission and ownership.
for count in 0 1 2 3 4 5 6 7 8 9 10
do
dir="/sys/devices/soc/75ba000.i2c/i2c-12/12-0020/input/input"$count
if [ -d "$dir" ]; then
chmod 0660 $dir/secure_touch_enable
chmod 0440 $dir/secure_touch
chown system.drmrpc $dir/secure_touch_enable
chown system.drmrpc $dir/secure_touch
break
fi
done
;;
esac
;;
"msm8909")
start_vm_bms
;;
"msmnile")
start_msm_irqbalance_msmnile
;;
"kona")
start_msm_irqbalance_kona
;;
"lito")
start_msm_irqbalance_lito
;;
"atoll")
start_msm_irqbalance_atoll
;;
"msm8937")
start_msm_irqbalance_8939
if [ -f /sys/devices/soc0/soc_id ]; then
soc_id=`cat /sys/devices/soc0/soc_id`
else
soc_id=`cat /sys/devices/system/soc/soc0/id`
fi
if [ -f /sys/devices/soc0/hw_platform ]; then
hw_platform=`cat /sys/devices/soc0/hw_platform`
else
hw_platform=`cat /sys/devices/system/soc/soc0/hw_platform`
fi
if [ "$low_ram" != "true" ]; then
case "$soc_id" in
"294" | "295" | "303" | "307" | "308" | "309" | "313" | "320" | "353" | "354" | "363" | "364")
case "$hw_platform" in
"Surf")
setprop qemu.hw.mainkeys 0
;;
"MTP")
setprop qemu.hw.mainkeys 0
;;
"RCM")
setprop qemu.hw.mainkeys 0
;;
"QRD")
setprop qemu.hw.mainkeys 0
;;
esac
;;
esac
fi
;;
"msm8953")
start_msm_irqbalance_8939
if [ -f /sys/devices/soc0/soc_id ]; then
soc_id=`cat /sys/devices/soc0/soc_id`
else
soc_id=`cat /sys/devices/system/soc/soc0/id`
fi
if [ -f /sys/devices/soc0/hw_platform ]; then
hw_platform=`cat /sys/devices/soc0/hw_platform`
else
hw_platform=`cat /sys/devices/system/soc/soc0/hw_platform`
fi
case "$soc_id" in
"293" | "304" | "338" | "351" | "349" | "350" )
case "$hw_platform" in
"Surf")
setprop qemu.hw.mainkeys 0
;;
"MTP")
setprop qemu.hw.mainkeys 0
;;
"RCM")
setprop qemu.hw.mainkeys 0
;;
"QRD")
setprop qemu.hw.mainkeys 0
;;
esac
;;
esac
;;
"sdm710")
if [ -f /sys/devices/soc0/soc_id ]; then
soc_id=`cat /sys/devices/soc0/soc_id`
else
soc_id=`cat /sys/devices/system/soc/soc0/id`
fi
if [ -f /sys/devices/soc0/hw_platform ]; then
hw_platform=`cat /sys/devices/soc0/hw_platform`
else
hw_platform=`cat /sys/devices/system/soc/soc0/hw_platform`
fi
case "$soc_id" in
"336" | "337" | "347" | "360" | "393" )
case "$hw_platform" in
"Surf")
setprop qemu.hw.mainkeys 0
;;
"MTP")
setprop qemu.hw.mainkeys 0
;;
"RCM")
setprop qemu.hw.mainkeys 0
;;
"QRD")
setprop qemu.hw.mainkeys 0
;;
esac
;;
esac
;;
esac
#
# Make modem config folder and copy firmware config to that folder for RIL
#
if [ -f /data/vendor/modem_config/ver_info.txt ]; then
prev_version_info=`cat /data/vendor/modem_config/ver_info.txt`
else
prev_version_info=""
fi
cur_version_info=`cat /vendor/firmware_mnt/verinfo/ver_info.txt`
if [ ! -f /vendor/firmware_mnt/verinfo/ver_info.txt -o "$prev_version_info" != "$cur_version_info" ]; then
# add W for group recursively before delete
chmod g+w -R /data/vendor/modem_config/*
rm -rf /data/vendor/modem_config/*
# preserve the read only mode for all subdir and files
cp --preserve=m -dr /vendor/firmware_mnt/image/modem_pr/mcfg/configs/* /data/vendor/modem_config
cp --preserve=m -d /vendor/firmware_mnt/verinfo/ver_info.txt /data/vendor/modem_config/
cp --preserve=m -d /vendor/firmware_mnt/image/modem_pr/mbn_ota.txt /data/vendor/modem_config/
# the group must be root, otherwise this script could not add "W" for group recursively
chown -hR radio.root /data/vendor/modem_config/*
fi
chmod g-w /data/vendor/modem_config
setprop ro.vendor.ril.mbn_copy_completed 1
#check build variant for printk logging
#current default minimum boot-time-default
buildvariant=`getprop ro.build.type`
case "$buildvariant" in
"userdebug" | "eng")
#set default loglevel to KERN_INFO
echo "6 6 1 7" > /proc/sys/kernel/printk
;;
*)
#set default loglevel to KERN_WARNING
echo "4 4 1 4" > /proc/sys/kernel/printk
;;
esac
#add permission for block_size, mem_type, mem_size nodes to collect diag over QDSS by ODL
#application by "oem_2902" group
chown -h root.oem_2902 /sys/devices/platform/soc/10048000.tmc/coresight-tmc-etr/block_size
chmod 660 /sys/devices/platform/soc/10048000.tmc/coresight-tmc-etr/block_size
chown -h root.oem_2902 /sys/devices/platform/soc/10048000.tmc/coresight-tmc-etr/buffer_size
chmod 660 /sys/devices/platform/soc/10048000.tmc/coresight-tmc-etr/buffer_size
chmod 660 /sys/devices/platform/soc/10048000.tmc/coresight-tmc-etr/out_mode
chown -h root.oem_2902 /sys/devices/platform/soc/1004f000.tmc/coresight-tmc-etr1/block_size
chmod 660 /sys/devices/platform/soc/1004f000.tmc/coresight-tmc-etr1/block_size
chown -h root.oem_2902 /sys/devices/platform/soc/1004f000.tmc/coresight-tmc-etr1/buffer_size
chmod 660 /sys/devices/platform/soc/1004f000.tmc/coresight-tmc-etr1/buffer_size
chmod 660 /sys/devices/platform/soc/1004f000.tmc/coresight-tmc-etr1/out_mode
chmod 660 /sys/devices/platform/soc/1004f000.tmc/coresight-tmc-etr1/enable_sink
chmod 660 /sys/devices/platform/soc/soc:modem_diag/coresight-modem-diag/enable_source
chown -h root.oem_2902 /sys/bus/coresight/reset_source_sink
chmod 660 /sys/bus/coresight/reset_source_sink
# qcom case
chown -h system.system /sys/bus/coresight/devices/coresight-tmc-etf/curr_sink
chown -h system.system /sys/bus/coresight/devices/coresight-tmc-etf/enable_sink
chown -h system.system /sys/bus/coresight/devices/coresight-tmc-etr/curr_sink
chown -h system.system /sys/bus/coresight/devices/coresight-tmc-etr/enable_sink
chown -h system.system /sys/bus/coresight/devices/coresight-tmc-etr/out_mode
chown -h system.system /sys/bus/coresight/devices/coresight-tpiu/curr_sink
chown -h system.system /sys/bus/coresight/devices/coresight-tpiu/out_mode
chown -h system.system /sys/bus/coresight/devices/coresight-stm/enable
chown -h system.system /sys/bus/coresight/devices/coresight-stm/enable_source
chown -h system.system /sys/bus/coresight/devices/coresight-hwevent/enable
chown -h system.system /sys/bus/coresight/devices/coresight-stm/hwevent_enable
chown -h system.system /sys/bus/coresight/devices/coresight-hwevent/setreg
chown -h system.system /sys/bus/coresight/devices/coresight-swao-csr/timestamp
chown -h system.system /sys/bus/coresight/devices/coresight-modem-diag/enable_source
chown -h system.system /sys/bus/coresight/devices/coresight-tmc-etr1/enable_sink
chown -h system.system /sys/bus/coresight/devices/coresight-tmc-etr1/out_mode
chown -h system.system /sys/bus/coresight/devices/coresight-tmc-etr1/curr_sink
# qcom case 05386569
mkdir /config/stp-policy/coresight-stm:p_ost.policy
chmod 660 /config/stp-policy/coresight-stm:p_ost.policy
mkdir /config/stp-policy/coresight-stm:p_ost.policy/default
chmod 660 /config/stp-policy/coresight-stm:p_ost.policy/default
echo 0x10 > /sys/bus/coresight/devices/coresight-stm/traceid
# disable ftrace log on coresight stm buffer
case "$buildvariant" in
"eng")
echo 0 > /sys/bus/coresight/devices/coresight-stm/port_enable
echo 0x10000003 > /sys/bus/coresight/devices/coresight-stm/port_select
echo 0xffffffff > /sys/bus/coresight/devices/coresight-stm/port_enable
;;
esac

View File

@ -0,0 +1,200 @@
#!/vendor/bin/sh
# Copyright (c) 2012-2018, 2020-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:
# * 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.
#
# Changes from Qualcomm Innovation Center are provided under the following license:
# Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
# SPDX-License-Identifier: BSD-3-Clause-Clear
#
# 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 [ "$(getprop ro.build.type)" != "user" ]; then
# If USB persist config not set, set default configuration
if [ "$(getprop persist.vendor.usb.config)" == "" ]; 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" | \
"taro" | "kalama" | "pineapple" | "blair")
setprop persist.vendor.usb.config diag,adb
# setprop persist.vendor.usb.config diag,serial_cdev,rmnet,dpl,qdss,adb
;;
"gen4")
setprop persist.vendor.usb.config adb
;;
*)
setprop persist.vendor.usb.config diag,adb
;;
esac
;;
esac
;;
esac
;;
esac
fi
fi
else # for user build let persist.sys.usb.config dictate the default composition
setprop persist.vendor.usb.config ""
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
machine_type=`cat /sys/devices/soc0/machine`
# Chip ID & serial are used for unique MSM identification in Product String
# If not present, then omit them instead of using 0x00000000
msm_chipid=`cat /sys/devices/soc0/nproduct_id`;
if [ "$msm_chipid" != "" ]; then
msm_chipid_hex=`printf _CID:%04X $msm_chipid`
fi
msm_serial=`cat /sys/devices/soc0/serial_number`;
if [ "$msm_serial" != "" ]; then
msm_serial_hex=`printf _SN:%08X $msm_serial`
fi
setprop vendor.usb.product_string "$machine_type-$soc_hwplatform$msm_chipid_hex$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
setprop vendor.usb.uvc.function.init 1
fi

View File

@ -0,0 +1,166 @@
#!/vendor/bin/sh
# Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
# Copyright (c) 2020-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:
# * 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.
#
#
target=`getprop ro.board.platform`
if [ -f /sys/devices/soc0/soc_id ]; then
soc_hwid=`cat /sys/devices/soc0/soc_id`
else
soc_hwid=`cat /sys/devices/system/soc/soc0/id`
fi
case "$target" in
"pineapple")
#SOC ID for Pineapple is 557
case "$soc_hwid" in
557)
setprop vendor.display.enable_fb_scaling 0
setprop vendor.gralloc.use_dma_buf_heaps 1
setprop vendor.display.target.version 4
setprop vendor.display.enable_posted_start_dyn 2
setprop vendor.display.enable_allow_idle_fallback 1
setprop vendor.display.enable_perf_hint_large_comp_cycle 1
setprop vendor.display.enable_rotator_ui 1
setprop vendor.display.enable_spec_fence 1
setprop vendor.display.thermal.version 1
setprop vendor.display.enable_rc_support 1
setprop vendor.display.enable_latch_media_content 1
setprop vendor.display.enable_inline_writeback 0
setprop vendor.display.timed_render_enable 1
setprop vendor.gralloc.hw_supports_ubwcp 0
;;
esac
;;
"kalama")
#SOC ID for Kalama is 519
case "$soc_hwid" in
519)
setprop vendor.display.enable_fb_scaling 0
setprop vendor.display.target.version 4
setprop vendor.gralloc.use_dma_buf_heaps 1
setprop vendor.display.enable_posted_start_dyn 2
setprop vendor.display.enable_allow_idle_fallback 1
setprop vendor.display.enable_perf_hint_large_comp_cycle 1
setprop vendor.display.enable_rotator_ui 1
setprop vendor.display.enable_spec_fence 0
setprop vendor.display.thermal.version 1
setprop vendor.display.enable_rc_support 1
setprop vendor.display.enable_latch_media_content 1
setprop vendor.display.enable_inline_writeback 1
setprop vendor.display.timed_render_enable 1
setprop debug.sf.disable_client_composition_cache 0
setprop vendor.gralloc.hw_supports_ubwcp 0
;;
esac
;;
"taro")
#Set property to differentiate Waipio
#SOC ID for Waipio is 457
#SOC ID for Cape MSM is 530
#SOC ID for Cape APQ is 531
#SOC ID for Cape 4g is 540
case "$soc_hwid" in
457)
setprop vendor.gralloc.use_dma_buf_heaps 1
setprop vendor.display.enable_posted_start_dyn 2
setprop vendor.display.enable_allow_idle_fallback 1
setprop vendor.display.enable_perf_hint_large_comp_cycle 1
setprop vendor.display.enable_rotator_ui 1
setprop vendor.display.enable_spec_fence 0
setprop vendor.display.thermal.version 1
setprop vendor.display.enable_rc_support 1
setprop vendor.display.target.version 3
setprop vendor.display.enable_fb_scaling 0
setprop vendor.display.disable_cwb_idle_fallback 1
;;
530|531|540)
setprop vendor.gralloc.use_dma_buf_heaps 1
setprop vendor.display.enable_posted_start_dyn 2
setprop vendor.display.enable_allow_idle_fallback 1
setprop vendor.display.enable_perf_hint_large_comp_cycle 1
setprop vendor.display.enable_rotator_ui 1
setprop vendor.display.enable_spec_fence 0
setprop vendor.display.thermal.version 1
setprop vendor.display.enable_rc_support 1
setprop vendor.display.target.version 2
setprop vendor.display.enable_qsync_idle 1
setprop vendor.display.disable_cwb_idle_fallback 1
;;
506|547)
# Set property for Diwali
# SOC ID for Diwali is 506
setprop vendor.gralloc.use_dma_buf_heaps 1
setprop vendor.display.enable_posted_start_dyn 2
setprop vendor.display.enable_allow_idle_fallback 1
setprop vendor.display.enable_perf_hint_large_comp_cycle 1
setprop vendor.display.enable_rotator_ui 1
setprop vendor.display.enable_spec_fence 0
setprop vendor.display.thermal.version 1
setprop vendor.display.enable_rc_support 1
setprop vendor.display.target.version 2
setprop vendor.display.enable_qsync_idle 1
;;
esac
;;
"lahaina")
#Set property to differentiate Lahaina & Shima
#SOC ID for Lahaina is 415, Lahaina P is 439, Lahaina-ATP is 456
case "$soc_hwid" in
415|439|456)
# Set property for lahaina
setprop vendor.display.target.version 1
setprop vendor.display.enable_posted_start_dyn 2
setprop vendor.display.enable_perf_hint_large_comp_cycle 1
setprop vendor.display.enable_allow_idle_fallback 1
;;
450)
# Set property for shima
setprop vendor.display.target.version 2
setprop vendor.display.enable_perf_hint_large_comp_cycle 1
setprop vendor.display.enable_posted_start_dyn 1
setprop vendor.display.enable_qsync_idle 1
setprop vendor.display.enable_allow_idle_fallback 1
;;
475)
# Set property for Yupik
setprop vendor.display.enable_posted_start_dyn 2
;;
esac
;;
"holi")
# Set property for holi
setprop vendor.display.target.version 2
setprop vendor.display.disable_offline_rotator 0
setprop vendor.display.disable_rotator_ubwc 1
setprop vendor.display.enable_perf_hint_large_comp_cycle 0
setprop vendor.display.enable_posted_start_dyn 1
setprop vendor.display.enable_allow_idle_fallback 1
;;
esac

View File

@ -0,0 +1,31 @@
#=============================================================================
# Copyright (c) 2020-2023 Qualcomm Technologies, Inc.
# All Rights Reserved.
# Confidential and Proprietary - Qualcomm Technologies, Inc.
#
# Copyright (c) 2014-2017, The Linux Foundation. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# * Neither the name of The Linux Foundation nor
# the names of its contributors may be used to endorse or promote
# products derived from this software without specific prior written
# permission.
#
# THIS SOFTWARE IS PROVIDED 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.
#=============================================================================

File diff suppressed because it is too large Load Diff

View File

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

View File

@ -0,0 +1,206 @@
#=============================================================================
# Copyright (c) 2022-2023 Qualcomm Technologies, Inc.
# All Rights Reserved.
# Confidential and Proprietary - Qualcomm Technologies, Inc.
#
# Copyright (c) 2014-2017, The Linux Foundation. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# * Neither the name of The Linux Foundation nor
# the names of its contributors may be used to endorse or promote
# products derived from this software without specific prior written
# permission.
#
# THIS SOFTWARE IS PROVIDED 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.
#=============================================================================
enable_sched_events()
{
local instance=/sys/kernel/tracing
echo > $instance/trace
echo > $instance/set_event
# timer
echo 1 > $instance/events/timer/timer_expire_entry/enable
echo 1 > $instance/events/timer/timer_expire_exit/enable
echo 1 > $instance/events/timer/hrtimer_cancel/enable
echo 1 > $instance/events/timer/hrtimer_expire_entry/enable
echo 1 > $instance/events/timer/hrtimer_expire_exit/enable
echo 1 > $instance/events/timer/hrtimer_init/enable
echo 1 > $instance/events/timer/hrtimer_start/enable
#enble FTRACE for softirq events
echo 1 > $instance/events/irq/enable
#enble FTRACE for Workqueue events
echo 1 > $instance/events/workqueue/enable
# sched
#echo 1 > $instance/events/sched/sched_cpu_hotplug/enable
echo 1 > $instance/events/sched/sched_migrate_task/enable
echo 1 > $instance/events/sched/sched_pi_setprio/enable
echo 1 > $instance/events/sched/sched_switch/enable
echo 1 > $instance/events/sched/sched_wakeup/enable
echo 1 > $instance/events/sched/sched_wakeup_new/enable
echo 1 > $instance/events/schedwalt/halt_cpus/enable
echo 1 > $instance/events/schedwalt/halt_cpus_start/enable
# hot-plug
echo 1 > $instance/events/cpuhp/enable
echo 1 > $instance/events/power/cpu_frequency/enable
echo 1 > $instance/tracing_on
}
enable_rproc_events()
{
local instance=/sys/kernel/tracing/instances/rproc_qcom
mkdir $instance
echo > $instance/trace
echo > $instance/set_event
# enable rproc events as soon as available
/vendor/bin/init.qti.write.sh $instance/events/rproc_qcom/enable 1
echo 1 > $instance/tracing_on
}
# Suspend events are also noisy when going into suspend/resume
enable_suspend_events()
{
local instance=/sys/kernel/tracing/instances/suspend
mkdir $instance
echo > $instance/trace
echo > $instance/set_event
echo 1 > $instance/events/power/suspend_resume/enable
echo 1 > $instance/events/power/device_pm_callback_start/enable
echo 1 > $instance/events/power/device_pm_callback_end/enable
echo 1 > $instance/tracing_on
}
enable_clock_reg_events()
{
local instance=/sys/kernel/tracing/instances/clock_reg
mkdir $instance
echo > $instance/trace
echo > $instance/set_event
# clock
echo 1 > $instance/events/clk/enable
echo 1 > $instance/events/clk_qcom/enable
# interconnect
echo 1 > $instance/events/interconnect/enable
# regulator
echo 1 > $instance/events/regulator/enable
# rpmh
echo 1 > $instance/events/rpmh/enable
echo 1 > $instance/tracing_on
}
enable_memory_events()
{
local instance=/sys/kernel/tracing/instances/memory
mkdir $instance
echo > $instance/trace
echo > $instance/set_event
#memory pressure events/oom
#echo 1 > $instance/events/psi/psi_event/enable
#echo 1 > $instance/events/psi/psi_window_vmstat/enable
echo 1 > $instance/events/arm_smmu/enable
echo 1 > $instance/tracing_on
}
# binder tracing can be noisy
enable_binder_events()
{
local instance=/sys/kernel/tracing/instances/binder
mkdir $instance
echo > $instance/trace
echo > $instance/set_event
echo 1 > $instance/events/binder/enable
echo 1 > $instance/tracing_on
}
enable_rwmmio_events()
{
if [ ! -d /sys/kernel/tracing/events/rwmmio ]
then
return
fi
local instance=/sys/kernel/tracing/instances/rwmmio
mkdir $instance
echo > $instance/trace
echo > $instance/set_event
echo 1 > $instance/events/rwmmio/rwmmio_read/enable
echo 1 > $instance/events/rwmmio/rwmmio_write/enable
echo 1 > $instance/tracing_on
}
find_build_type()
{
linux_banner=`cat /proc/version`
if [[ "$linux_banner" == *"-consolidate"* ]]
then
debug_build=true
fi
}
debug_build=false
enable_tracing_events()
{
# bail out if its perf config
find_build_type
if [ "$debug_build" = false ]
then
return
fi
# bail out if ftrace events aren't present
if [ ! -d /sys/kernel/tracing/events ] ; then
return
fi
enable_sched_events
enable_rproc_events
enable_suspend_events
enable_binder_events
enable_clock_reg_events
enable_memory_events
enable_rwmmio_events
}
enable_tracing_events

View File

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

View File

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

View File

@ -0,0 +1,108 @@
#! /vendor/bin/sh
#==============================================================================
# init.qti.media.sh
#
# Copyright (c) 2020-2022, Qualcomm Technologies, Inc.
# All Rights Reserved.
# Confidential and Proprietary - Qualcomm Technologies, Inc.
#
# Copyright (c) 2020, The Linux Foundation. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# 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.
#===============================================================================
build_codename=`getprop vendor.media.system.build_codename`
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
target=`getprop ro.board.platform`
case "$target" in
"anorak")
setprop vendor.mm.target.enable.qcom_parser 0
setprop vendor.media.target_variant "_anorak"
;;
"kalama")
setprop vendor.mm.target.enable.qcom_parser 0
setprop vendor.media.target_variant "_kalama"
;;
"pineapple")
setprop vendor.mm.target.enable.qcom_parser 0
case "$soc_hwid" in
614|632)
setprop vendor.media.target_variant "_cliffs_v0"
sku_ver=`cat /sys/devices/platform/soc/aa00000.qcom,vidc/sku_version` 2> /dev/null
if [ $sku_ver -eq 1 ]; then
setprop vendor.media.target_variant "_cliffs_v1"
fi
;;
*)
setprop vendor.media.target_variant "_pineapple"
if [ $build_codename -le "14" ]; then
setprop vendor.netflix.bsp_rev "Q8650-37577-1"
fi
;;
esac
;;
"taro")
setprop vendor.mm.target.enable.qcom_parser 1040479
case "$soc_hwid" in
530|531|540)
setprop vendor.media.target_variant "_cape"
;;
*)
setprop vendor.media.target_variant "_taro"
;;
esac
;;
"lahaina")
case "$soc_hwid" in
450)
setprop vendor.media.target_variant "_shima_v3"
setprop vendor.netflix.bsp_rev ""
sku_ver=`cat /sys/devices/platform/soc/aa00000.qcom,vidc/sku_version` 2> /dev/null
if [ $sku_ver -eq 1 ]; then
setprop vendor.media.target_variant "_shima_v1"
elif [ $sku_ver -eq 2 ]; then
setprop vendor.media.target_variant "_shima_v2"
fi
;;
*)
setprop vendor.media.target_variant "_lahaina"
setprop vendor.netflix.bsp_rev "Q875-32408-1"
;;
esac
;;
"holi")
setprop vendor.media.target_variant "_holi"
;;
"msmnile")
setprop vendor.media.target_variant "_msmnile"
;;
esac

View File

@ -0,0 +1,88 @@
#! /vendor/bin/sh
#=============================================================================
# Copyright (c) 2020, 2021 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 618 ]; then
setprop ro.vendor.qti.soc_name sun
setprop ro.vendor.qti.soc_model SM8750
setprop ro.vendor.media_performance_class 34
elif [ "$soc_id" -eq 507 ] || [ "$soc_id" -eq 565 ]; then
setprop ro.vendor.qti.soc_name blair
setprop ro.vendor.qti.soc_model SM6375
elif [ "$soc_id" -eq 578 ]; then
setprop ro.vendor.qti.soc_name blair
setprop ro.vendor.qti.soc_model SM4375
elif [ "$soc_id" -eq 454 ]; then
setprop ro.vendor.qti.soc_name holi
setprop ro.vendor.qti.soc_model SM4350
elif [ "$soc_id" -eq 472 ]; then
setprop ro.vendor.qti.soc_name holi
setprop ro.vendor.qti.soc_model SM6325
elif [ "$soc_id" -eq 557 ] || [ "$soc_id" -eq 577 ]; then
setprop ro.vendor.qti.soc_name pineapple
setprop ro.vendor.qti.soc_model SM8650
# setprop ro.vendor.media_performance_class 34
elif [ "$soc_id" -eq 632 ]; then
setprop ro.vendor.qti.soc_name cliffs
setprop ro.vendor.qti.soc_model SM7675
elif [ "$soc_id" -eq 614 ]; then
setprop ro.vendor.qti.soc_name cliffs
setprop ro.vendor.qti.soc_model SM8635
elif [ "$soc_id" -eq 519 ] || [ "$soc_id" -eq 536 ] || [ "$soc_id" -eq 600 ] || [ "$soc_id" -eq 601 ]; then
setprop ro.vendor.qti.soc_name kalama
setprop ro.vendor.qti.soc_model SM8550
setprop ro.vendor.media_performance_class 33
elif [ "$soc_id" -eq 608 ]; then
setprop ro.vendor.qti.soc_name crow
setprop ro.vendor.qti.soc_model SM7550
elif [ "$soc_id" -eq 457 ] || [ "$soc_id" -eq 482 ] || [ "$soc_id" -eq 552 ]; then
setprop ro.vendor.qti.soc_name taro
setprop ro.vendor.qti.soc_model SM8450
setprop ro.vendor.media_performance_class 31
elif [ "$soc_id" -eq 537 ] || [ "$soc_id" -eq 583 ]; then
setprop ro.vendor.qti.soc_name parrot
setprop ro.vendor.qti.soc_model SM6450
elif [ "$soc_id" -eq 613 ]; then
setprop ro.vendor.qti.soc_name parrot
setprop ro.vendor.qti.soc_model SM7435
elif [ "$soc_id" -eq 568 ] || [ "$soc_id" -eq 602 ]; then
setprop ro.vendor.qti.soc_name ravelin
setprop ro.vendor.qti.soc_model SM4450
elif [ "$soc_id" -eq 581 ]; then
setprop ro.vendor.qti.soc_name ravelin
setprop ro.vendor.qti.soc_model QCM4490
elif [ "$soc_id" -eq 582 ]; then
setprop ro.vendor.qti.soc_name ravelin
setprop ro.vendor.qti.soc_model QCS4490
elif [ "$soc_id" -eq 506 ] || [ "$soc_id" -eq 547 ] || [ "$soc_id" -eq 564 ]; then
setprop ro.vendor.qti.soc_name diwali
setprop ro.vendor.qti.soc_model SM7450
elif [ "$soc_id" -eq 591 ]; then
setprop ro.vendor.qti.soc_name ukee
setprop ro.vendor.qti.soc_model SM7475
elif [ "$soc_id" -eq 530 ] || [ "$soc_id" -eq 531 ] || [ "$soc_id" -eq 540 ]; then
setprop ro.vendor.qti.soc_name cape
setprop ro.vendor.qti.soc_model SM8475
setprop ro.vendor.media_performance_class 31
elif [ "$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
setprop ro.vendor.qti.soc_model SM8350
elif [ "$soc_id" -eq 450 ]; then
setprop ro.vendor.qti.soc_name shima
setprop ro.vendor.qti.soc_model SM7350
elif [ "$soc_id" -eq 475 ] || [ "$soc_id" -eq 499 ] || [ "$soc_id" -eq 497 ] ||
[ "$soc_id" -eq 498 ] || [ "$soc_id" -eq 515 ]; then
setprop ro.vendor.qti.soc_name yupik
setprop ro.vendor.qti.soc_model SM7325
fi

View File

@ -0,0 +1,23 @@
#! /vendor/bin/sh
LOG_HEAD="[time-services]"
current_time=$(date +%s)
echo "${LOG_HEAD} current time : ${current_time}" > /dev/kmsg
# if time-service initialization is required
if [ "$1" != "1" ]; then
#FIXME : date cmd could return 0 without broadcasting SET_TIME intent, the time diff b/w old & new must be enough
new_time=$((current_time+5))
date -s @${new_time}
ret=$?
# echo "${LOG_HEAD} date return code : ${ret} " > /dev/kmsg
if [ "$ret" -ne 0 ]; then
echo "${LOG_HEAD} failed to exec date cmd : ${current_time} to ${new_time} with ${ret}" > /dev/kmsg
echo c > /proc/sysrq-trigger #it's not working due to selinux
exit 1
else
echo "${LOG_HEAD} initialized : ${current_time} to ${new_time}" > /dev/kmsg
fi
setprop persist.vendor.time_services.init 1
fi

View File

@ -0,0 +1,27 @@
#!/vendor/bin/sh
#=============================================================================
# Copyright (c) 2021 Qualcomm Technologies, Inc.
# All Rights Reserved.
# Confidential and Proprietary - Qualcomm Technologies, Inc.
#=============================================================================
write_with_check() {
local i=60
while [ $i -gt 0 ]
do
if [ -f "$1" ]; then
break
fi
sleep 1
i=$(($i-1))
done
if [ ! -f "$1" ]; then
exit 1
fi
echo $2 > $1
}
write_with_check "$1" "$2"

View File

@ -0,0 +1,54 @@
#!/vendor/bin/sh
# Copyright (c) 2020 The Linux Foundation. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# * Neither the name of The Linux Foundation nor
# the names of its contributors may be used to endorse or promote
# products derived from this software without specific prior written
# permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
# NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
#
# Function to start sensors for SSC enabled platforms
#
echo "SensorDebug"
if [ ! -d /data/vendor/log/sensordebug ] ; then
mkdir /data/vendor/log/sensordebug
touch /data/vendor/log/sensordebug/.nomedia
chown system.system /data/vendor/log/sensordebug
fi
if [ ! -d /data/vendor/log/sensordebug/persist ] ; then
mkdir /data/vendor/log/sensordebug/persist
chown system.system /data/vendor/log/sensordebug/persist
else
rm -rf /data/vendor/log/sensordebug/persist/*
fi
cp -rf /mnt/vendor/persist/sensors/ /data/vendor/log/sensordebug/persist
chown -R system.system /data/vendor/log/sensordebug/persist
if [ -f /data/vendor/log/sensordebug/qrtr_5 ] ; then
rm -rf /data/vendor/log/sensordebug/qrtr_5
fi
cat /dev/ipc_logging/qrtr_5 >> /data/vendor/log/sensordebug/qrtr_5
chown -R system.system /data/vendor/log/sensordebug/qrtr_5

View File

@ -0,0 +1,117 @@
#!/vendor/bin/sh
# Copyright (c) 2020 The Linux Foundation. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# * Neither the name of The Linux Foundation nor
# the names of its contributors may be used to endorse or promote
# products derived from this software without specific prior written
# permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
# NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
#
# Function to start sensors for SSC enabled platforms
#
echo "Sensor SSR Dump"
param=$1
echo "param: $param"
index=0
adsp_path="none"
adsp_str="adsp"
if [[ "$param" == "start" || "$param" == "stop" ]]; then
COUNT_CMD='ls -l /sys/class/remoteproc | grep ^l | wc -l'
count=$(eval $COUNT_CMD)
echo "count: $count"
for file in /sys/class/remoteproc/*
do
local_path=$file"/name"
echo "$local_path:$local_path"
name=$(eval cat $local_path)
echo "name:$name"
if [[ "$name" == *"$adsp_str"* ]]; then
echo "found~!! index: $index"
adsp_path=$file
break
fi
((index++))
done
if [ "$param" == "start" ]; then
echo "start"
if [ "$adsp_path" != "none" ]; then
echo "adsp_path:$adsp_path"
SSR_DUMP_CMD=""
ENABLE_RAMDUMPS_CMD='getprop persist.vendor.ssr.enable_ramdumps'
enable_ramdumps=$(eval $ENABLE_RAMDUMPS_CMD)
echo "enable_ramdumps:$enable_ramdumps"
if [ "$enable_ramdumps" == "0" ]; then
SSR_DUMP_CMD+="setprop persist.vendor.ssr.enable_ramdumps 1 &"
fi
RESTART_LEVEL_CMD='getprop persist.vendor.ssr.restart_level'
restart_level=$(eval $RESTART_LEVEL_CMD)
echo "restart_level:$restart_level"
if [ "$restart_level" == "ALL_ENABLE" ]; then
set_val="$restart_level"
elif [ "$restart_level" == "ALL_DISABLE" ]; then
set_val="adsp"
elif [ -n "$restart_level" ];then
if [[ "$restart_level" == *adsp* ]]; then
set_val="$restart_level"
else
set_val="$restart_level adsp"
fi
else
set_val="adsp"
fi
SSR_DUMP_CMD+="echo enabled > $adsp_path/recovery &"
SSR_DUMP_CMD+="echo enabled > $adsp_path/coredump &"
SSR_DUMP_CMD+="setprop persist.vendor.ssr.restart_level '$set_val'"
echo "SSR_DUMP_CMD:$SSR_DUMP_CMD"
eval $SSR_DUMP_CMD
fi
fi
if [ "$param" == "stop" ]; then
echo "stop"
if [ "$adsp_path" != "none" ]; then
echo "adsp_path:$adsp_path"
SSR_DUMP_CMD="setprop persist.vendor.ssr.enable_ramdumps 0 &"
SSR_DUMP_CMD+="echo 0 > /sys/module/qcom_ramdump/parameters/enable_dump_collection &"
SSR_DUMP_CMD+="echo disabled > $adsp_path/recovery &"
SSR_DUMP_CMD+="echo disabled > $adsp_path/coredump &"
SSR_DUMP_CMD+="setprop persist.vendor.ssr.restart_level ALL_DISABLE"
eval $SSR_DUMP_CMD
fi
fi
fi
if [ "$param" == "complete" ]; then
chown root:system /data/vendor/ramdump/remoteproc-adsp.elf
INTENT_CMD="am broadcast -a com.sec.android.ISSUE_TRACKER_ACTION "
INTENT_CMD+="--ei ERRCODE -126 "
INTENT_CMD+="--es ERRNAME \"Sensor Silent dump\" "
INTENT_CMD+="--es ERRPKG \"Sensor ADSP\" "
INTENT_CMD+="--es ERRMSG \"Sensor SSR Dump after SSR\" "
INTENT_CMD+="--es EXTLOG \"/data/vendor/ramdump/remoteproc-adsp.elf\""
echo "$INTENT_CMD" && eval "$INTENT_CMD"
fi

View File

@ -0,0 +1,12 @@
#!/vendor/bin/sh
if ! applypatch --check EMMC:/dev/block/bootdevice/by-name/recovery$(getprop ro.boot.slot_suffix):110034944:fb67367b173f54e3bc51d601d18084bca70ad952; then
applypatch \
--patch /vendor/recovery-from-boot.p \
--source EMMC:/dev/block/bootdevice/by-name/boot$(getprop ro.boot.slot_suffix):100663296:6bae827ab03d5a9c73d764a2bed3c454358ebd45 \
--target EMMC:/dev/block/bootdevice/by-name/recovery$(getprop ro.boot.slot_suffix):110034944:fb67367b173f54e3bc51d601d18084bca70ad952 && \
(log -t install_recovery "Installing new recovery image: succeeded" && setprop vendor.ota.recovery.status 200) || \
(log -t install_recovery "Installing new recovery image: failed" && setprop vendor.ota.recovery.status 454)
else
log -t install_recovery "Recovery image already installed" && setprop vendor.ota.recovery.status 200
fi

View File

@ -0,0 +1,87 @@
#! /vendor/bin/sh
# Copyright (c) 2010-2014, The Linux Foundation. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above
# copyright notice, this list of conditions and the following
# disclaimer in the documentation and/or other materials provided
# with the distribution.
# * Neither the name of The Linux Foundation nor the names of its
# contributors may be used to endorse or promote products derived
# from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# Check whether device is plugged on the HSIC bus
# Currently HSIC bus will be the first index
PATH=/sbin:/system/sbin:/system/bin:/system/xbin
export PATH
deviceprop=`getprop ro.baseband`
boardprop=`getprop ro.board.platform`
if [ -e /sys/bus/platform/drivers/msm_hsic_host ]; then
if [ ! -L /sys/bus/usb/devices/1-1 ]; then
echo msm_hsic_host > /sys/bus/platform/drivers/msm_hsic_host/unbind
fi
chown -h system.system /sys/bus/platform/drivers/msm_hsic_host/bind
chown -h system.system /sys/bus/platform/drivers/msm_hsic_host/unbind
chmod -h 0200 /sys/bus/platform/drivers/msm_hsic_host/bind
chmod -h 0200 /sys/bus/platform/drivers/msm_hsic_host/unbind
fi
wlanchip=""
if [ "$deviceprop" == "apq" ] && [ "$boardprop" == "msm8974" ]; then
wlanchip="AR6004-USB"
fi
# force ar6004 is ar6004_wlan.conf existed.
if [ -f /system/etc/firmware/ath6k/AR6004/ar6004_wlan.conf ]; then
wlanchip=`cat /system/etc/firmware/ath6k/AR6004/ar6004_wlan.conf`
fi
echo "The WLAN Chip ID is $wlanchip"
if [ "$wlanchip" == "AR6004-USB" ]; then
echo msm_hsic_host > /sys/bus/platform/drivers/msm_hsic_host/unbind
setprop wlan.driver.ath 2
setprop vendor.bluetooth.soc ath3k
setprop wlan.driver.name /system/lib/modules/ath6kl-3.5/ath6kl_usb.ko
setprop wlan.supp.template /system/etc/wifi/wpa_supplicant_ath6kl.conf
btsoc="ath3k"
elif [ "$wlanchip" == "AR6004-SDIO" ]; then
setprop wlan.driver.ath 2
setprop vendor.bluetooth.soc ath3k
setprop wlan.driver.name /system/lib/modules/ath6kl-3.5/ath6kl_sdio.ko
setprop wlan.supp.template /system/etc/wifi/wpa_supplicant_ath6kl.conf
btsoc="ath3k"
# Chown polling nodes as needed from UI running on system server
chmod -h 0200 /sys/devices/msm_sdcc.1/polling
chmod -h 0200 /sys/devices/msm_sdcc.2/polling
chmod -h 0200 /sys/devices/msm_sdcc.3/polling
chmod -h 0200 /sys/devices/msm_sdcc.4/polling
chown -h system.system /sys/devices/msm_sdcc.1/polling
chown -h system.system /sys/devices/msm_sdcc.2/polling
chown -h system.system /sys/devices/msm_sdcc.3/polling
chown -h system.system /sys/devices/msm_sdcc.4/polling
fi

View File

@ -0,0 +1,42 @@
#! /vendor/bin/sh
#=============================================================================
# Copyright (c) 2022 Qualcomm Technologies, Inc.
# All Rights Reserved.
# Confidential and Proprietary - Qualcomm Technologies, Inc.
#=============================================================================
SYSTEM_DLKM_DIR="/system_dlkm/lib/modules"
VENDOR_DLKM_DIR="/vendor_dlkm/lib/modules"
MODPROBE="/vendor/bin/modprobe"
for dir in ${SYSTEM_DLKM_DIR} ;
do
if [ ! -e ${dir}/*/modules.load ]; then
continue
fi
if [ -e ${VENDOR_DLKM_DIR}/system_dlkm.modules.blocklist ] && grep -q blocklist ${VENDOR_DLKM_DIR}/system_dlkm.modules.blocklist; then
blocklist_expr="$(sed -n -e 's/blocklist \(.*\)/\1/p' ${VENDOR_DLKM_DIR}/system_dlkm.modules.blocklist | sed -e 's/-/_/g' -e 's/^/-e /')"
else
# Use pattern that won't be found in modules list so that all modules pass through grep below
blocklist_expr="-e %"
fi
# Filter out modules in blocklist - we would see unnecessary errors otherwise
load_modules=$(cat ${dir}/*/modules.load | grep -w -v ${blocklist_expr})
first_module=$(echo ${load_modules} | cut -d " " -f1)
other_modules=$(echo ${load_modules} | cut -d " " -f2-)
if ! ${MODPROBE} -b -s -d ${dir}/*/ -a ${first_module} > /dev/null ; then
continue
fi
# load modules individually in case one of them fails to init
for module in ${other_modules}; do
( ${MODPROBE} -b -s -d ${dir}/*/ -a ${module} > /dev/null ) &
done
wait
setprop odm.system.all.modules.ready 1
exit 0
done
exit 1

View File

@ -0,0 +1,61 @@
#! /vendor/bin/sh
#=============================================================================
# Copyright (c) 2019-2022 Qualcomm Technologies, Inc.
# All Rights Reserved.
# Confidential and Proprietary - Qualcomm Technologies, Inc.
#=============================================================================
VENDOR_DIR="/vendor/lib/modules"
VENDOR_DLKM_DIR="/vendor_dlkm/lib/modules"
MODPROBE="/vendor/bin/modprobe"
# vendor modules partition could be /vendor/lib/modules or /vendor_dlkm/lib/modules
POSSIBLE_DIRS="${VENDOR_DLKM_DIR} ${VENDOR_DIR}"
audio_arch=`getprop ro.boot.audio`
for dir in ${POSSIBLE_DIRS} ;
do
if [ ! -e ${dir}/modules.load ]; then
continue
fi
if [ "$audio_arch" == "audioreach" ]; then
if [ -e ${dir}/modules.audio.ar.blocklist ]; then
audio_blocklist_expr="$(sed -n -e 's/blocklist \(.*\)/\1/p' ${dir}/modules.audio.ar.blocklist | sed -e 's/-/_/g' -e 's/^/-e /')"
else
audio_blocklist_expr="-e %"
fi
else
if [ -e ${dir}/modules.audio.legacy.blocklist ]; then
audio_blocklist_expr="$(sed -n -e 's/blocklist \(.*\)/\1/p' ${dir}/modules.audio.legacy.blocklist | sed -e 's/-/_/g' -e 's/^/-e /')"
else
audio_blocklist_expr="-e %"
fi
fi
if [ -e ${dir}/modules.blocklist ]; then
blocklist_expr="$(sed -n -e 's/blocklist \(.*\)/\1/p' ${dir}/modules.blocklist | sed -e 's/-/_/g' -e 's/^/-e /')"
else
# Use pattern that won't be found in modules list so that all modules pass through grep below
blocklist_expr="-e %"
fi
# Filter out modules in blocklist - we would see unnecessary errors otherwise
load_modules=$(sed = ${dir}/modules.load | sed 'N;s/\n/\t/' | sort -uk2 | sort -nk1 | cut -f2- | grep -w -v ${blocklist_expr} | grep -w -v ${audio_blocklist_expr})
first_module=$(echo ${load_modules} | cut -d " " -f1)
other_modules=$(echo ${load_modules} | cut -d " " -f2-)
if ! ${MODPROBE} -b -s -d ${dir} -a ${first_module} > /dev/null ; then
continue
fi
# load modules individually in case one of them fails to init
for module in ${other_modules}; do
( ${MODPROBE} -b -d ${dir} -a ${module} > /dev/null ) &
done
wait
setprop vendor.all.modules.ready 1
exit 0
done
exit 1

28
rootdir/etc/fstab.qcom Normal file
View File

@ -0,0 +1,28 @@
system /system erofs ro avb=vbmeta_system,wait,logical,first_stage_mount,avb_keys=/avb/r-gsi.avbpubkey:/avb/s-gsi.avbpubkey:/avb/t-gsi.avbpubkey:/avb/u-gsi.avbpubkey
system /system f2fs ro avb=vbmeta_system,wait,logical,first_stage_mount,avb_keys=/avb/r-gsi.avbpubkey:/avb/s-gsi.avbpubkey:/avb/t-gsi.avbpubkey:/avb/u-gsi.avbpubkey
system /system ext4 ro avb=vbmeta_system,wait,logical,first_stage_mount,avb_keys=/avb/r-gsi.avbpubkey:/avb/s-gsi.avbpubkey:/avb/t-gsi.avbpubkey:/avb/u-gsi.avbpubkey
system_ext /system_ext erofs ro avb=vbmeta_system,wait,logical,first_stage_mount,avb_keys=/avb/r-gsi.avbpubkey:/avb/s-gsi.avbpubkey:/avb/t-gsi.avbpubkey:/avb/u-gsi.avbpubkey
product /product erofs ro avb,wait,logical,first_stage_mount
vendor /vendor erofs ro avb,wait,logical,first_stage_mount
vendor_dlkm /vendor_dlkm erofs ro avb,wait,logical,first_stage_mount
system_dlkm /system_dlkm erofs ro avb,wait,logical,first_stage_mount
system_dlkm /system_dlkm f2fs ro avb,wait,logical,first_stage_mount
system_dlkm /system_dlkm ext4 ro avb,wait,logical,first_stage_mount
odm /odm erofs ro avb,wait,logical,first_stage_mount
/dev/block/by-name/metadata /metadata f2fs noatime,nosuid,nodev,discard,sync,fsync_mode=strict,data_flush wait,check,formattable,wrappedkey,first_stage_mount
/dev/block/bootdevice/by-name/userdata /data f2fs noatime,nosuid,nodev,discard,usrquota,grpquota,fsync_mode=nobarrier,reserve_root=32768,resgid=5678,inlinecrypt latemount,wait,check,,quota,reservedsize=128M,sysfs_path=/sys/devices/platform/soc/1d84000.ufshc,checkpoint=fs,fscompress,fileencryption=aes-256-xts:aes-256-cts:v2+inlinecrypt_optimized+wrappedkey_v0,metadata_encryption=aes-256-xts:wrappedkey_v0,keydirectory=/metadata/vold/metadata_encryption
/dev/block/bootdevice/by-name/cache /cache ext4 noatime,nosuid,nodev,noauto_da_alloc,discard,journal_checksum,data=ordered,errors=panic wait,check
/dev/block/bootdevice/by-name/persist /mnt/vendor/persist ext4 noatime,nosuid,nodev,noauto_da_alloc,discard,journal_checksum,data=ordered,errors=panic wait,check
/dev/block/bootdevice/by-name/misc /misc emmc defaults defaults,first_stage_mount
/dev/block/bootdevice/by-name/apnhlos /vendor/firmware_mnt vfat ro,context=u:object_r:firmware_file:s0,shortname=lower,uid=0,gid=1000,dmask=227,fmask=337 wait
/dev/block/bootdevice/by-name/modem /vendor/firmware-modem vfat ro,shortname=lower,uid=1000,gid=1000,dmask=227,fmask=337,context=u:object_r:firmware_file:s0 wait
/dev/block/bootdevice/by-name/efs /mnt/vendor/efs ext4 noatime,nosuid,nodev,noauto_da_alloc,discard,journal_checksum,data=ordered,errors=panic wait,check
/dev/block/bootdevice/by-name/sec_efs /efs ext4 noatime,nosuid,nodev,noauto_da_alloc,discard,journal_checksum,data=ordered,errors=panic wait,check
/dev/block/bootdevice/by-name/dsp /vendor/dsp ext4 ro,nosuid,nodev,barrier=1 wait
/dev/block/bootdevice/by-name/vendor_boot /vendor_boot emmc defaults defaults,first_stage_mount
/dev/block/bootdevice/by-name/init_boot /init_boot emmc defaults defaults,first_stage_mount
/dev/block/bootdevice/by-name/vm-bootsys /product/vm-system ext4 ro,nosuid,nodev,barrier=1 defaults
/dev/block/platform/soc/1d84000.ufshc/by-name/prism /prism ext4 ro,barrier=1 avb,nofail,first_stage_mount
/dev/block/platform/soc/1d84000.ufshc/by-name/optics /optics ext4 ro,barrier=1 avb,nofail,first_stage_mount
/devices/platform/soc/*.ssusb/*.dwc3/xhci-hcd.*.auto* auto vfat default voldmanaged=usb:auto
/devices/platform/soc/8804000.sdhci/mmc_host* auto auto default voldmanaged=sdcard:auto

181
rootdir/etc/init.e3q.rc Normal file
View File

@ -0,0 +1,181 @@
# Copyright (c) 2019-2023, 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 early-init
on init
on late-init
on post-fs
on late-fs
on post-fs-data
# Samsung Pay
mkdir /efs/pfw_data 0760 vendor_spay vendor_spay
# MST/NFC Switch
chown vendor_spay system /dev/mst_ctrl
chmod 0660 /dev/mst_ctrl
#mAFPC
mkdir /efs/afc 0760 system system
exec - system system -- /system/bin/mafpc_write
on boot
write /proc/sys/vm/swappiness 100
# SDHMS Slowdown : Cpuset
write /dev/cpuset/abnormal/cpus 0-1,5-6
write /dev/cpuset/moderate/cpus 0-1,5-6
# [ Permissions for Range Sensor Sensor
# Range Sensor
chown system radio /sys/class/sensors/range_sensor/ambient
chown system radio /sys/class/sensors/range_sensor/cal01
chown system radio /sys/class/sensors/range_sensor/cal02
chown system radio /sys/class/sensors/range_sensor/cal_uid
chown system radio /sys/class/sensors/range_sensor/open_calibration
chown system radio /sys/class/sensors/range_sensor/calibration
chown system radio /sys/class/sensors/range_sensor/enable
chown system radio /sys/class/sensors/range_sensor/error
chown system radio /sys/class/sensors/range_sensor/frame_rate
chown system radio /sys/class/sensors/range_sensor/fw_version
chown system radio /sys/class/sensors/range_sensor/interrupt
chown system radio /sys/class/sensors/range_sensor/mode
chown system radio /sys/class/sensors/range_sensor/name
chown system radio /sys/class/sensors/range_sensor/range_sigma
chown system radio /sys/class/sensors/range_sensor/status
chown system radio /sys/class/sensors/range_sensor/target_status
chown system radio /sys/class/sensors/range_sensor/temp
chown system radio /sys/class/sensors/range_sensor/test01
chown system radio /sys/class/sensors/range_sensor/test02
chown system radio /sys/class/sensors/range_sensor/test03
chown system radio /sys/class/sensors/range_sensor/test_mode
chown system radio /sys/class/sensors/range_sensor/uid
chown system radio /sys/class/sensors/range_sensor/vendor
chown system radio /sys/class/sensors/range_sensor/zone
chown system radio /sys/class/sensors/range_sensor/file_cal
chown system radio /sys/class/sensors/range_sensor/file_p2p
chown system radio /sys/class/sensors/range_sensor/file_shape
# ] Permissions for Range Sensor
on shutdown
# service definition
# on property triggers
# Create carrier folder for HiddenMenu
on post-fs
mkdir /efs/carrier 0755 radio system
chown radio system /efs/carrier
chown radio system /efs/carrier/HiddenMenu
# For Range Sensor
chmod 0660 /dev/range_sensor
chown system system /dev/range_sensor
mkdir /efs/range_sensor 0770 system system
chown system system /efs/range_sensor/cal_data.bin
chmod 0660 /efs/range_sensor/cal_data.bin
chown system system /efs/range_sensor/vl53l5_cal_shape.bin
chmod 0660 /efs/range_sensor/vl53l5_cal_shape.bin
chown system system /efs/range_sensor/vl53l5_cal_p2p.bin
chmod 0660 /efs/range_sensor/vl53l5_cal_p2p.bin
# Range Sensor
on property:sys.boot_completed=1
write /sys/class/sensors/range_sensor/calibration 0
# some priv-apps of DSH bind mount to DSA priv-apps
on post-fs-data && property:ro.csc.sales_code=DSA
umount /system/carrier
mkdir /mnt/temp
mount none /system/carrier/DSH /mnt/temp bind
mount none /system/carrier/DSA /system/carrier bind
mount none /mnt/temp/priv-app/VisualVoicemailDsh_Stub /system/carrier/priv-app/VisualVoicemailDsh_Stub bind
umount /mnt/temp
rmdir /mnt/temp
# some priv-apps of DSH & DSA bind mount to DSG priv-apps
on post-fs-data && property:ro.csc.sales_code=DSG
umount /system/carrier
mkdir /mnt/temp1
mkdir /mnt/temp2
mount none /system/carrier/DSH /mnt/temp1 bind
mount none /system/carrier/DSA /mnt/temp2 bind
mount none /system/carrier/DSG /system/carrier bind
mount none /mnt/temp1/priv-app/NetworkCompanion /system/carrier/priv-app/NetworkCompanion bind
mount none /mnt/temp1/priv-app/VisualVoicemailDsh_Stub /system/carrier/priv-app/VisualVoicemailDsh_Stub bind
mount none /mnt/temp2/priv-app/Opportunistic /system/carrier/priv-app/Opportunistic bind
umount /mnt/temp1
umount /mnt/temp2
rmdir /mnt/temp1
rmdir /mnt/temp2
# some priv-apps of DSA bind mount to DSH priv-apps
on post-fs-data && property:ro.csc.sales_code=DSH
umount /system/carrier
mkdir /mnt/temp
mount none /system/carrier/DSA /mnt/temp bind
mount none /system/carrier/DSH /system/carrier bind
mount none /mnt/temp/priv-app/Opportunistic /system/carrier/priv-app/Opportunistic bind
umount /mnt/temp
rmdir /mnt/temp
# some priv-apps of TMB bind mount to ASR priv-apps
on post-fs-data && property:ro.csc.sales_code=ASR
umount /system/carrier
mkdir /mnt/temp
mount none /system/carrier/TMB /mnt/temp bind
mount none /system/carrier/ASR /system/carrier bind
mount none /mnt/temp/priv-app/SprintAndroidExtension2_TMB /system/carrier/priv-app/SprintAndroidExtension2_TMB bind
umount /mnt/temp
rmdir /mnt/temp
# some priv-apps of TMB bind mount to TMK priv-apps
on post-fs-data && property:ro.csc.sales_code=TMK
umount /system/carrier
mkdir /mnt/temp
mount none /system/carrier/TMB /mnt/temp bind
mount none /system/carrier/TMK /system/carrier bind
mount none /mnt/temp/priv-app/SprintAndroidExtension2_TMB /system/carrier/priv-app/SprintAndroidExtension2_TMB bind
umount /mnt/temp
rmdir /mnt/temp
# Pageboostd
on property:sys.boot_completed=1
start pageboostd
service pageboostd /system/bin/pageboostd
class main
user system
group system mount radio net_bt sdcard_rw shell media media_rw
socket pageboostd seqpacket 0660 system system
disabled

View File

@ -0,0 +1,386 @@
#
# 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 && property:ro.build.type=userdebug
write ${persist.vendor.mmi.misc_dev_path} "ffbm-01"
on property:vendor.sys.boot_mode=ffbm && property:ro.build.type=eng
write ${persist.vendor.mmi.misc_dev_path} "ffbm-01"
on property:vendor.sys.boot_mode=qmmi && property:ro.build.type=userdebug
write ${persist.vendor.mmi.misc_dev_path} "qmmi"
on property:vendor.sys.boot_mode=qmmi && property:ro.build.type=eng
write ${persist.vendor.mmi.misc_dev_path} "qmmi"
on property:vendor.sys.boot_mode=normal && property:ro.build.type=userdebug
write ${persist.vendor.mmi.misc_dev_path} "normal"
on property:vendor.sys.boot_mode=normal && property:ro.build.type=eng
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 && property:ro.build.type=userdebug
mount tmpfs tmpfs /data
on factory-fs && property:ro.bootmode=ffbm-00 && property:ro.build.type=eng
mount tmpfs tmpfs /data
on factory-fs && property:ro.bootmode=ffbm-01 && property:ro.build.type=userdebug
mount tmpfs tmpfs /data
on factory-fs && property:ro.bootmode=ffbm-01 && property:ro.build.type=eng
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 && property:ro.build.type=userdebug
setprop sys.usb.config ${persist.vendor.usb.config}
on property:persist.vendor.usb.config=* && property:ro.bootmode=ffbm-00 && property:ro.build.type=eng
setprop sys.usb.config ${persist.vendor.usb.config}
on property:persist.vendor.usb.config=* && property:ro.bootmode=ffbm-01 && property:ro.build.type=userdebug
setprop sys.usb.config ${persist.vendor.usb.config}
on property:persist.vendor.usb.config=* && property:ro.bootmode=ffbm-01 && property:ro.build.type=eng
setprop sys.usb.config ${persist.vendor.usb.config}
on property:persist.vendor.usb.config=* && property:ro.bootmode=ffbm-02 && property:ro.build.type=userdebug
setprop sys.usb.config ${persist.vendor.usb.config}
on property:persist.vendor.usb.config=* && property:ro.bootmode=ffbm-02 && property:ro.build.type=eng
setprop sys.usb.config ${persist.vendor.usb.config}
on property:persist.vendor.usb.config=* && property:ro.bootmode=qmmi && property:ro.build.type=userdebug
setprop sys.usb.config ${persist.vendor.usb.config}
on property:persist.vendor.usb.config=* && property:ro.bootmode=qmmi && property:ro.build.type=eng
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_tc1 /vendor/bin/mm-audio-ftm -tc 1
user audio
group audio
disabled
oneshot
service vendor.audio_tc2 /vendor/bin/mm-audio-ftm -tc 2
user audio
group audio
disabled
oneshot
service vendor.audio_tc3 /vendor/bin/mm-audio-ftm -tc 3
user audio
group audio
disabled
oneshot
service vendor.audio_tc4 /vendor/bin/mm-audio-ftm -tc 4
user audio
group audio
disabled
oneshot
service vendor.audio_tc5 /vendor/bin/mm-audio-ftm -tc 5
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_tc225 /vendor/bin/mm-audio-ftm -tc 225
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_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_tc333 /vendor/bin/mm-audio-ftm -tc 333
user audio
group audio
disabled
oneshot
service vendor.audio_tc334 /vendor/bin/mm-audio-ftm -tc 334
user audio
group audio
disabled
oneshot
service vendor.audio_tc335 /vendor/bin/mm-audio-ftm -tc 335
user audio
group audio
disabled
oneshot
service vendor.audio_tc336 /vendor/bin/mm-audio-ftm -tc 336
user audio
group audio
disabled
oneshot
service vendor.audio_tc337 /vendor/bin/mm-audio-ftm -tc 337
user audio
group audio
disabled
oneshot
service vendor.audio_tc338 /vendor/bin/mm-audio-ftm -tc 338
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_tc16 /vendor/bin/mm-audio-ftm -tc 16 -file /data/vendor/audio/ftm_mic1_record.wav
user audio
group audio
disabled
oneshot
service vendor.audio_tc17 /vendor/bin/mm-audio-ftm -tc 17 -file /data/vendor/audio/ftm_mic2_record.wav
user audio
group audio
disabled
oneshot
service vendor.audio_tc18 /vendor/bin/mm-audio-ftm -tc 18 -file /data/vendor/audio/ftm_mic3_record.wav
user audio
group audio
disabled
oneshot
service vendor.audio_tc19 /vendor/bin/mm-audio-ftm -tc 19 -file /data/vendor/audio/ftm_mic4_record.wav
user audio
group audio
disabled
oneshot
service vendor.audio_tc20 /vendor/bin/mm-audio-ftm -tc 20 -file /data/vendor/audio/ftm_mic5_record.wav
user audio
group audio
disabled
oneshot
service vendor.audio_tc21 /vendor/bin/mm-audio-ftm -tc 21 -file /data/vendor/audio/ftm_mic6_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
# ========================================================

989
rootdir/etc/init.qcom.rc Normal file
View File

@ -0,0 +1,989 @@
# Copyright (c) 2009-2012, 2014-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:
# * 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.
#
# Changes from Qualcomm Innovation Center are provided under the following
# license:
#
# Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted (subject to the limitations in the
# disclaimer below) provided that the following conditions are met:
#
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# * Redistributions in binary form must reproduce the above
# copyright notice, this list of conditions and the following
# disclaimer in the documentation and/or other materials provided
# with the distribution.
#
# * Neither the name of Qualcomm Innovation Center, Inc. nor the names of its
# contributors may be used to endorse or promote products derived
# from this software without specific prior written permission.
#
# NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
# GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
# HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
# IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
import /vendor/etc/init/hw/init.qti.ufs.rc
import /vendor/etc/init/hw/init.qcom.usb.rc
import /vendor/etc/init/hw/init.qcom.test.rc
import /vendor/etc/init/hw/init.target.rc
import /vendor/etc/init/hw/init.qcom.factory.rc
on early-init
mount tracefs tracefs /sys/kernel/tracing
chmod 0755 /sys/kernel/tracing
# create symlink for vendor mount points
symlink /vendor/firmware_mnt /firmware
symlink /vendor/bt_firmware /bt_firmware
symlink /vendor/dsp /dsp
# Change ownership of sysfs power control node
chown system graphics /sys/class/drm/card0/device/power/control
#Disable UFS clock scaling
write /sys/bus/platform/devices/1d84000.ufshc/clkscale_enable 0
#Disable UFS auto_hibern8
write /sys/bus/platform/devices/1d84000.ufshc/auto_hibern8 0
#Disable UFS clock gating
write /sys/bus/platform/devices/1d84000.ufshc/clkgate_enable 0
chown root system /dev/kmsg
chmod 0620 /dev/kmsg
# Load WIGIG platform driver
exec u:r:vendor_modprobe:s0 -- /vendor/bin/modprobe -a -d /vendor/lib/modules msm_11ad_proxy
on init
# Support legacy paths
symlink /sdcard /mnt/sdcard
symlink /sdcard /storage/sdcard0
# Create cgroup mount point for memory
mkdir /sys/fs/cgroup/memory/bg 0750 root system
write /sys/fs/cgroup/memory/bg/memory.swappiness 140
write /sys/fs/cgroup/memory/bg/memory.move_charge_at_immigrate 1
chown root system /sys/fs/cgroup/memory/bg/tasks
chmod 0660 /sys/fs/cgroup/memory/bg/tasks
on post-fs
on early-boot
# set RLIMIT_MEMLOCK to 64KB
setrlimit 8 65536 65536
exec u:r:vendor_qti_init_shell:s0 -- /vendor/bin/init.qcom.early_boot.sh
exec u:r:vendor_qti_init_shell:s0 -- /vendor/bin/init.qti.can.sh
setprop ro.sf.lcd_density ${vendor.display.lcd_density}
chown system system /mnt/vendor/persist/data/pfm/licenses
chmod 0775 /mnt/vendor/persist/data/pfm/licenses
chown system system /mnt/vendor/persist/data/pfm/licenses/store_0
chmod 0664 /mnt/vendor/persist/data/pfm/licenses/store_0
chown system system /mnt/vendor/persist/data/pfm/licenses/store_1
chmod 0664 /mnt/vendor/persist/data/pfm/licenses/store_1
chown system system /mnt/vendor/persist/data/pfm/licenses/store_2
chmod 0664 /mnt/vendor/persist/data/pfm/licenses/store_2
chown system system /mnt/vendor/persist/data/pfm/licenses/store_3
chmod 0664 /mnt/vendor/persist/data/pfm/licenses/store_3
chown system system /mnt/vendor/persist/data/pfm/licenses/store_4
chmod 0664 /mnt/vendor/persist/data/pfm/licenses/store_4
on boot
chown bluetooth bluetooth /sys/module/bluetooth_power/parameters/power
chown bluetooth net_bt /sys/class/rfkill/rfkill0/type
chown bluetooth net_bt /sys/class/rfkill/rfkill0/state
chown bluetooth bluetooth /proc/bluetooth/sleep/proto
chown bluetooth bluetooth /sys/module/hci_uart/parameters/ath_lpm
chown bluetooth bluetooth /sys/module/hci_uart/parameters/ath_btwrite
chown system system /sys/module/sco/parameters/disable_esco
chown bluetooth bluetooth /sys/module/hci_smd/parameters/hcismd_set
chown system system /sys/module/msm_core/parameters/polling_interval
chown system system /sys/module/msm_core/parameters/disabled
chown system system /sys/kernel/boot_slpi/ssr
chown system system /sys/module/radio_iris_transport/parameters/fmsmd_set
chmod 0660 /sys/module/bluetooth_power/parameters/power
chmod 0660 /sys/module/hci_smd/parameters/hcismd_set
chmod 0660 /sys/module/radio_iris_transport/parameters/fmsmd_set
chmod 0660 /sys/class/rfkill/rfkill0/state
chmod 0660 /proc/bluetooth/sleep/proto
chown bluetooth net_bt /dev/ttyHS0
chmod 0660 /sys/module/hci_uart/parameters/ath_lpm
chmod 0660 /sys/module/hci_uart/parameters/ath_btwrite
chmod 0660 /dev/ttyHS0
chown bluetooth bluetooth /sys/devices/platform/msm_serial_hs.0/clock
chmod 0660 /sys/devices/platform/msm_serial_hs.0/clock
chmod 0660 /dev/ttyHS2
chown bluetooth bluetooth /dev/ttyHS2
chown bluetooth net_bt /sys/class/rfkill/rfkill0/device/extldo
chmod 0660 /sys/class/rfkill/rfkill0/device/extldo
chown media audio /sys/kernel/snd_card/card_state
# for BT MAC address
mkdir /mnt/vendor/efs/bluetooth 0770 system bluetooth
# if already exist
chown system bluetooth /mnt/vendor/efs/bluetooth
chown system bluetooth /mnt/vendor/efs/bluetooth/bt_addr
chmod 0770 /mnt/vendor/efs/bluetooth
chmod 0660 /mnt/vendor/efs/bluetooth/bt_addr
# permissions for bluetooth.
setprop ro.bt.bdaddr_path "/mnt/vendor/efs/bluetooth/bt_addr"
chown bluetooth bluetooth ro.bt.bdaddr_path
# This location is used by QCRIL to host UNIX domain
# socket files used for internal IPC within QCRIL
# modules
mkdir /dev/socket/qmux_radio 0770 radio radio
chmod 2770 /dev/socket/qmux_radio
mkdir /persist/drm 0770 system system
mkdir /persist/bluetooth 0770 bluetooth bluetooth
mkdir /persist/misc 0770 system system
mkdir /persist/alarm 0770 system system
mkdir /mnt/vendor/persist/time 0770 system system
mkdir /mnt/vendor/persist/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
#Remove SUID bit for iproute2 ip tool
chmod 0755 /system/bin/ip
chmod 0444 /sys/devices/platform/msm_hsusb/gadget/usb_state
setprop net.tcp.2g_init_rwnd 10
# To prevent out of order acknowledgements from making
# connection tracking to treat them as not belonging to
# the connection they belong to.
# Otherwise, a weird issue happens in which some long
# connections on high-throughput links get dropped when
# an ack packet comes out of order
write /proc/sys/net/netfilter/nf_conntrack_tcp_be_liberal 1
# Allow access for CCID command/response timeout configuration
chown system system /sys/module/ccid_bridge/parameters/bulk_msg_timeout
# bond0 used by FST Manager
chown wifi wifi /sys/class/net/bond0/bonding/queue_id
# Allow access to emmc rawdump block partition and dload sysfs node
chown root system /dev/block/bootdevice/by-name/rawdump
chmod 0660 /dev/block/bootdevice/by-name/rawdump
chown root system /sys/kernel/dload/emmc_dload
chmod 0660 /sys/kernel/dload/emmc_dload
chown root system /dev/block/bootdevice/by-name/ramdump
chmod 0660 /dev/block/bootdevice/by-name/ramdump
chown root system /sys/kernel/dload/dload_mode
chmod 0660 /sys/kernel/dload/dload_mode
chown root graphics /sys/module/msm_drm/parameters/dsi_display0
chmod 0640 /sys/module/msm_drm/parameters/dsi_display0
chown root graphics /sys/module/msm_drm/parameters/dsi_display1
chmod 0640 /sys/module/msm_drm/parameters/dsi_display1
chown root system /sys/kernel/qts/primary/trusted_touch_enable
chown root system /sys/kernel/qts/primary/trusted_touch_event
chown root system /sys/kernel/qts/primary/trusted_touch_type
chown root system /sys/kernel/qts/primary/trusted_touch_device_path
chown root system /sys/kernel/qts/secondary/trusted_touch_enable
chown root system /sys/kernel/qts/secondary/trusted_touch_event
chown root system /sys/kernel/qts/secondary/trusted_touch_type
chown root system /sys/kernel/qts/secondary/trusted_touch_device_path
chown system system /sys/class/backlight/panel0-backlight/brightness
chown system system /sys/class/backlight/panel0-backlight/max_brightness
chown system system /sys/class/backlight/panel1-backlight/brightness
chown system system /sys/class/backlight/panel1-backlight/max_brightness
# Allow access to sensors device attributes
# SS_SLPI_PROJECT
#chown system system /sys/class/sensors/MPU6050-accel/enable
#chown system system /sys/class/sensors/MPU6050-accel/poll_delay
#chown system system /sys/class/sensors/MPU6050-gyro/enable
#chown system system /sys/class/sensors/MPU6050-gyro/poll_delay
#chown system system /sys/class/sensors/apds9930-light/enable
#chown system system /sys/class/sensors/apds9930-light/poll_delay
#chown system system /sys/class/sensors/apds9930-proximity/enable
#chown system system /sys/class/sensors/apds9930-proximity/poll_delay
# Create directory used for display
# for backward compatibility
mkdir /persist/display 0770 system graphics
mkdir /mnt/vendor/persist/display 0770 system graphics
# Create vpp directory
mkdir /mnt/vendor/persist/vpp 0770 media media
# Create hvdcp_opti directory
mkdir /mnt/vendor/persist/hvdcp_opti 0770 root system
# limit discard size to 128MB in order to avoid long IO latency
write /sys/block/sda/queue/discard_max_bytes 134217728
# msm specific files that need to be created on /data
on post-fs-data
mkdir /data/vendor/misc 01771 system system
# Create directory used for dump collection
mkdir /data/vendor/ssrdump 0770 root system
# Create directory used by display clients
mkdir /data/vendor/display 0770 system graphics
# Change lm related dirs
mkdir /data/vendor/lm 0700 root root
# Create directory used by powermodule
mkdir /data/vendor/pwr 0700 root root
# Create directory used by media clients
mkdir /data/vendor/media 0770 mediacodec media
# Create /data/vendor/tzstorage directory for SFS listener
mkdir /data/vendor/tzstorage 0770 system system
# Create directory for apps access via QTEEConnector
mkdir /data/vendor/qtee 0770 system system
#Create folder of camera
mkdir /data/vendor/camera 0770 camera system
mkdir /data/vendor/camera/logdump 0770 camera system
chmod 0664 /data/vendor/camera/camxoverridesettings.txt
#Create directory for tftp
mkdir /data/vendor/tombstones 0771 system system
mkdir /data/vendor/tombstones/rfs 0771 system system
mkdir /data/vendor/ramdump 0771 root system
mkdir /data/vendor/bluetooth 0770 bluetooth bluetooth
mkdir /data/vendor/ramdump/bluetooth 0770 bluetooth bluetooth
# Create the directories used by the Wireless subsystem
mkdir /data/vendor/wifi 0770 wifi wifi
mkdir /data/vendor/wifi/sockets 0770 wifi wifi
mkdir /data/vendor/wifi/hostapd 0770 wifi wifi
mkdir /data/vendor/wifi/hostapd/ctrl 0770 wifi wifi
mkdir /data/vendor/wifi/wpa_supplicant 0770 wifi wifi
mkdir /data/vendor/wifi/wigig_hostapd 0770 wifi wifi
mkdir /data/vendor/wifi/wpa 0770 wifi wifi
mkdir /data/vendor/wifi/wpa/sockets 0770 wifi wifi
# Create the directories used by WiGig Sensing
mkdir /data/vendor/sensing 0770 system wifi
# Create the directories used by CnE subsystem
mkdir /data/vendor/connectivity 0771 radio radio
chown radio radio /data/vendor/connectivity
# Create directory used by audio subsystem
mkdir /data/vendor/audio 0770 audio audio
mkdir /data/vendor/audio_dsp 0770 media media
mkdir /data/vendor/audio/audio_collector 0770 audio audio
# Create directory for audio delta files
mkdir /data/vendor/audio/acdbdata 0770 media audio
mkdir /data/vendor/audio/acdbdata/delta 0770 media audio
# Create directory for radio
mkdir /data/vendor/radio 0770 system radio
rm /data/vendor/radio/shmbus
# Create directory for modem_config
mkdir /data/vendor/modem_config 0570 radio root
# Mounting of persist is moved to 'on emmc-fs' and 'on fs' sections
# We chown/chmod /persist again so because mount is run as root + defaults
chown root system /persist
chmod 0771 /persist
chown system system /persist/WCNSS_qcom_wlan_nv.bin
chmod 0664 /sys/devices/platform/msm_sdcc.1/polling
chmod 0664 /sys/devices/platform/msm_sdcc.2/polling
chmod 0664 /sys/devices/platform/msm_sdcc.3/polling
chmod 0664 /sys/devices/platform/msm_sdcc.4/polling
# Chown polling nodes as needed from UI running on system server
chown system system /sys/devices/platform/msm_sdcc.1/polling
chown system system /sys/devices/platform/msm_sdcc.2/polling
chown system system /sys/devices/platform/msm_sdcc.3/polling
chown system system /sys/devices/platform/msm_sdcc.4/polling
#Create the symlink to qcn wpa_supplicant folder for ar6000 wpa_supplicant
#symlink /data/misc/wifi/wpa_supplicant /data/system/wpa_supplicant
#Create directories for Location services
mkdir /data/vendor/location 0770 gps gps
mkdir /data/vendor/location/mq 0770 gps gps
mkdir /data/vendor/location/xtwifi 0770 gps gps
mkdir /dev/socket/location 0770 gps gps
mkdir /dev/socket/location/mq 0770 gps gps
mkdir /dev/socket/location/xtra 0770 gps gps
mkdir /dev/socket/location/ehub 0770 gps gps
mkdir /dev/socket/location/dgnss 0770 gps gps
#Create directories for wifihal services
mkdir /dev/socket/wifihal 0770 wifi wifi
chmod 2770 /dev/socket/wifihal
# Create /data/time folder for time-services
mkdir /data/vendor/time/ 0700 system system
setprop vold.post_fs_data_done 1
#Create a folder for SRS to be able to create a usercfg file
#mkdir /data/data/media 0770 media media
#Create FM dir for patchdownloader
mkdir /data/vendor/fm 0770 system system
chmod 0770 /data/vendor/fm
#Create PERFD deamon related dirs
mkdir /data/vendor/perfd 0770 root system
chmod 2770 /data/vendor/perfd
rm /data/vendor/perfd/default_values
mkdir /data/vendor/secure_element 0777 system system
mkdir /data/vendor/nfc 0770 nfc nfc
#Create IOP deamon related dirs
mkdir /data/vendor/iop 0700 root system
# Mark the copy complete flag to not completed
write /data/vendor/radio/copy_complete 0
chown radio radio /data/vendor/radio/copy_complete
chmod 0660 /data/vendor/radio/copy_complete
# copy prebuilt qcril.db files always
copy /vendor/radio/qcril_database/qcril.db /data/vendor/radio/qcril_prebuilt.db
chown radio radio /data/vendor/radio/qcril_prebuilt.db
chmod 0660 /data/vendor/radio/qcril_prebuilt.db
copy /vendor/radio/qcril_database/qcrilNr.db /data/vendor/radio/qcrilNr_prebuilt.db
copy /vendor/etc/qcril_database/qcrilNr.db /data/vendor/radio/qcrilNr_prebuilt.db
chown radio radio /data/vendor/radio/qcrilNr_prebuilt.db
chmod 0660 /data/vendor/radio/qcrilNr_prebuilt.db
# File flags for prebuilt ril db file
write /data/vendor/radio/prebuilt_db_support 1
chown radio radio /data/vendor/radio/prebuilt_db_support
chmod 0400 /data/vendor/radio/prebuilt_db_support
write /data/vendor/radio/db_check_done 0
chown radio radio /data/vendor/radio/db_check_done
chmod 0660 /data/vendor/radio/db_check_done
# qti-logkit data
mkdir /data/vendor/qti-logkit/ 0771 system system
mkdir /data/vendor/qti-logkit/shared-privileged/ 2770 system system
mkdir /data/vendor/qti-logkit/shared-public/ 2770 system diag
mkdir /data/vendor/qti-logkit/socket-privileged/ 2770 system system
mkdir /data/vendor/qti-logkit/socket-public/ 2750 system diag
mkdir /data/vendor/qti-logkit/logdata/ 2750 system shell
#Create SWAP related dirs
mkdir /data/vendor/swap 0770 root system
chmod 2770 /data/vendor/swap
# set aggressive read ahead for dm-0 and dm-1 during boot up
write /sys/block/dm-0/queue/read_ahead_kb 2048
write /sys/block/dm-1/queue/read_ahead_kb 2048
write /sys/block/dm-2/queue/read_ahead_kb 2048
# Create vpp directory
mkdir /data/vendor/vpp 0770 media media
#Create dir for TUI
mkdir /data/vendor/tui 0700 system drmrpc
service nqnfcinfo /system/vendor/bin/nqnfcinfo
class late_start
group nfc
user system
oneshot
service iop /system/vendor/bin/iop
class main
user root
group root
disabled
socket iop seqpacket 0666 root system
service qcomsysd /system/vendor/bin/qcom-system-daemon
class main
user root
group root diag oem_2901
disabled
on property:persist.vendor.qcomsysd.enabled=1
enable qcomsysd
on property:persist.vendor.qcomsysd.enabled=0
stop qcomsysd
service vendor.ssr_setup /system/vendor/bin/ssr_setup
oneshot
disabled
service vendor.ss_ramdump /system/vendor/bin/subsystem_ramdump
class main
user system
group system
ioprio rt 4
disabled
service qti-ss-ramdump /vendor/bin/sh /vendor/etc/init/hw/init.qti.ss-ramdump.sh ${persist.vendor.ssr.enable_ramdumps}
class core
user root
oneshot
#seclabel u:r:vendor-qti-testscripts:s0
on property:ro.vendor.iocgrp.config=1
mkdir /dev/blkio
mount cgroup none /dev/blkio blkio
chown system system /dev/blkio
chown system system /dev/blkio/tasks
chmod 0664 /dev/blkio/tasks
mkdir /dev/blkio/bg 0755 system system
chown system system /dev/blkio/bg/tasks
chmod 0664 /dev/blkio/bg/tasks
write /dev/blkio/blkio.weight 1000
write /dev/blkio/bg/blkio.weight 100
on property:persist.sys.ssr.enable_debug=*
write /sys/module/subsystem_restart/parameters/enable_debug ${persist.sys.ssr.enable_debug}
on property:persist.sys.mba_boot_timeout=*
write /sys/module/pil_msa/parameters/pbl_mba_boot_timeout_ms ${persist.sys.mba_boot_timeout}
on property:persist.sys.modem_auth_timeout=*
write /sys/module/pil_msa/parameters/modem_auth_timeout_ms ${persist.sys.modem_auth_timeout}
on property:persist.sys.pil_proxy_timeout=*
write /sys/module/peripheral_loader/parameters/proxy_timeout_ms ${persist.sys.pil_proxy_timeout}
on property:persist.vendor.ssr.restart_level=*
start vendor.ssr_setup
on property:persist.vendor.ssr.enable_ramdumps=1
write /sys/module/subsystem_restart/parameters/enable_ramdumps 1
write /sys/module/qcom_ramdump/parameters/enable_dump_collection 1
start qti-ss-ramdump
mkdir /data/vendor/ramdump_ssr 770 system system
start vendor.ss_ramdump
on property:persist.vendor.ssr.enable_ramdumps=0
write /sys/module/subsystem_restart/parameters/enable_ramdumps 0
write /sys/module/qcom_ramdump/parameters/enable_dump_collection 0
start qti-ss-ramdump
on property:persist.vendor.sys.rawdump_copy=1
write /sys/kernel/dload/emmc_dload 1
on property:persist.vendor.sys.rawdump_copy=0
write /sys/kernel/dload/emmc_dload 0
on property:sys.boot_completed=1
write /dev/kmsg "Boot completed "
#Enable UFS clock scaling back
write /sys/bus/platform/devices/1d84000.ufshc/clkscale_enable 1
#Enable UFS auto_hibern8 back
write /sys/bus/platform/devices/1d84000.ufshc/auto_hibern8 2000
#Enable UFS clock gating back
write /sys/bus/platform/devices/1d84000.ufshc/clkgate_enable 1
#Reset read ahead for dm-0 and dm-1 to 512kb
write /sys/block/dm-0/queue/read_ahead_kb 512
write /sys/block/dm-1/queue/read_ahead_kb 512
#WDSP FW boot sysfs node used by STHAL
chown media audio /sys/kernel/wdsp0/boot
chown media audio /sys/kernel/wcd_cpe0/fw_name
#Reinit lmkd to reconfigure lmkd properties
setprop lmkd.reinit 1
chown media audio /sys/kernel/aud_dev/state
write /sys/devices/virtual/cvp/cvp/boot 1
on property:persist.vendor.radio.atfwd.start=false
stop vendor.atfwd
on property:vendor.radio.atfwd.start=false
stop vendor.atfwd
# corefile limit
on property:persist.debug.trace=1
mkdir /data/core 0777 root root
write /proc/sys/kernel/core_pattern "/data/core/%E.%p.%e"
on property:vendor.media.target.version=*
setprop vendor.sys.media.target.version ${vendor.media.target.version}
on property:vendor.media.target_variant=*
setprop ro.media.xml_variant.codecs ${vendor.media.target_variant}
setprop ro.media.xml_variant.codecs_performance ${vendor.media.target_variant}
service qcom-c_core-sh /vendor/bin/init.qcom.class_core.sh
class core
user root
oneshot
service qcom-c_main-sh /vendor/bin/init.class_main.sh
class main
user root
group root system
oneshot
on property:vold.decrypt=trigger_restart_framework
start qcom-c_main-sh
start wcnss-service
service irsc_util /vendor/bin/irsc_util "/vendor/etc/sec_config"
class core
user root
oneshot
service qmiproxy /system/bin/qmiproxy
class main
user radio
group radio diag
disabled
service vendor.wigig_supplicant /vendor/bin/hw/wpa_supplicant \
-iwigig0 -Dnl80211 -c/data/vendor/wifi/wigig_supplicant.conf \
-m/data/vendor/wifi/wigig_p2p_supplicant.conf \
-O/data/vendor/wifi/wigig_sockets -dd \
-e/data/vendor/wifi/wigig_entropy.bin -g@android:wigig/wpa_wigig0 \
-S wigigsvc
# we will start as root and wpa_supplicant will switch to user wifi
# after setting up the capabilities required for WEXT
# user wifi
# group wifi inet keystore
class main
socket wigig/wpa_wigig0 dgram 660 wifi wifi
disabled
oneshot
# Data Migration
service vendor.move_wifi_data /system/bin/move_wifi_data.sh
class main
user wifi
group wifi
disabled
oneshot
service 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
group wifi system inet net_admin
capabilities NET_ADMIN
oneshot
service ptt_ffbm /system/vendor/bin/ptt_socket_app -f -d
user root
group root
disabled
oneshot
service wifi_ftmd /system/vendor/bin/wifi_ftmd
user system
group system inet net_admin
socket wififtmd_server dgram 0660 system system
disabled
oneshot
on property:vendor.wifi.ftmd.load=true
insmod /system/lib/modules/pronto/pronto_wlan.ko con_mode=5
service cnss-daemon /system/vendor/bin/cnss-daemon -n -l
class late_start
user system
group system inet net_admin wifi
capabilities NET_ADMIN
on property:sys.shutdown.requested=*
write /sys/kernel/shutdown_wlan/shutdown 1
stop cnss-daemon
service dhcpcd_bt-pan /system/bin/dhcpcd -BKLG
class late_start
disabled
oneshot
service iprenew_bt-pan /system/bin/dhcpcd -n
class late_start
disabled
oneshot
service ssgqmigd /vendor/bin/ssgqmigd
class late_start
user radio
group radio gps system
socket ssgqmig seqpacket 0660 radio inet
service mlid /vendor/bin/mlid
class late_start
user gps
group gps
socket mlid stream 0666 gps gps
service loc_launcher /system/vendor/bin/loc_launcher
class late_start
user gps
group gps
service qcom-sh /vendor/bin/init.qcom.sh
class late_start
user root
group root system radio
oneshot
# Remove since is deprecated but throws AVC denial.
# service crashdata-sh /vendor/bin/init.qcom.crashdata.sh
# class late_start
# user root
# oneshot
service qcom-post-boot /vendor/bin/init.qcom.post_boot.sh
class late_start
user root
group root system wakelock graphics
disabled
oneshot
service 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
disabled
oneshot
service wifi-crda /vendor/bin/init.crda.sh
class late_start
user root
disabled
oneshot
on property:sys.boot_completed=1
start qcom-post-boot
start qti-testscripts
start init_time_daemon
on property:ro.vendor.ril.mbn_copy_completed=1
write /data/vendor/radio/copy_complete 1
service qvop-daemon /vendor/bin/qvop-daemon
class late_start
user system
group system drmrpc
service vendor.atfwd /vendor/bin/ATFWD-daemon
class late_start
user system
group system radio
service hostapd_fst /vendor/bin/hw/hostapd -dd -g /data/vendor/wifi/hostapd/global
class main
capabilities NET_ADMIN NET_RAW
user wifi
group wifi
disabled
oneshot
service battery_monitor /system/bin/battery_monitor
user system
group system
disabled
service vendor.ril-daemon2 /vendor/bin/hw/rild -c 2
class main
user radio
disabled
group radio cache inet misc audio sdcard_r sdcard_rw diag oem_2901 log
capabilities BLOCK_SUSPEND NET_ADMIN NET_RAW
service vendor.ril-daemon3 /vendor/bin/hw/rild -c 3
class main
user radio
disabled
group radio cache inet misc audio sdcard_r sdcard_rw diag oem_2901 log
capabilities BLOCK_SUSPEND NET_ADMIN NET_RAW
service profiler_daemon /system/bin/profiler_daemon
class late_start
user root
group root
disabled
service vendor.ssr_diag /system/vendor/bin/ssr_diag
class late_start
user system
group system
disabled
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
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
disabled
oneshot
service qlogd /system/xbin/qlogd
socket qlogd stream 0662 system system
class main
disabled
on property:persist.sys.qlogd=1
start qlogd
on property:persist.sys.qlogd=0
stop qlogd
service vm_bms /vendor/bin/vm_bms
user root
group root
disabled
service vendor.msm_irqbalance /vendor/bin/msm_irqbalance -f /system/vendor/etc/msm_irqbalance.conf
class core
user root
group root
disabled
service vendor.msm_irqbal_lb /vendor/bin/msm_irqbalance -f /system/vendor/etc/msm_irqbalance_little_big.conf
class core
user root
group root
disabled
service vendor.msm_irqbl_sdm630 /vendor/bin/msm_irqbalance -f /system/vendor/etc/msm_irqbalance_sdm630.conf
class core
user root
group root
disabled
# service for USERDEBUG
service vendor.LKCore-dbg /vendor/bin/LKCore
class late_start
oneshot
disabled
user root
group root system log diag net_raw
# service for USER
service vendor.LKCore-rel /vendor/bin/LKCore
class late_start
oneshot
disabled
user system
group system log diag
service qseeproxydaemon /system/vendor/bin/qseeproxydaemon
class late_start
user system
group system
service esepmdaemon /system/vendor/bin/esepmdaemon
class core
user system
group nfc
on charger
#Enable UFS clock scaling back
write /sys/bus/platform/devices/1d84000.ufshc/clkscale_enable 1
#Enable UFS auto_hibern8 back
write /sys/bus/platform/devices/1d84000.ufshc/auto_hibern8 2000
#Enable UFS clock gating back
write /sys/bus/platform/devices/1d84000.ufshc/clkgate_enable 1
setprop persist.sys.usb.config mass_storage
start qcom-post-boot
#add poweroffhandler
service poweroffhandler /system/vendor/bin/poweroffhandler
class core
user media
group graphics audio
disabled
oneshot
service time_daemon /vendor/bin/time_daemon
class main
user system
group system
capabilities SYS_TIME
#Mixed HWC versions among targets
on property:init.svc.surfaceflinger=restarting
stop vendor.qti.hardware.display.composer
start vendor.qti.hardware.display.composer
service init_time_daemon /vendor/bin/sh /vendor/bin/init.qti.time.daemon.sh ${persist.vendor.time_services.init}
class late_start
user system
group system
disabled
oneshot
capabilities SYS_TIME
seclabel u:r:vendor_init-qti-time-daemon-sh:s0
# Set vendor-ril lib path based on Meta version
on property:vendor.rild.libpath=*
setprop rild.libpath ${vendor.rild.libpath}
on property:ro.vendor.radio.noril=*
setprop ro.radio.noril ${ro.vendor.radio.noril}
service vendor.power_off_alarm /vendor/bin/power_off_alarm
class core
group system
disabled
oneshot
service vendor.hbtp /vendor/bin/hbtp_daemon
class main
user system
group system
capabilities SYS_NICE
disabled
#service chre /vendor/bin/chre
# class late_start
# user system
# group system
# socket chre seqpacket 0660 root system
# shutdown critical
#on property:vendor.chre.enabled=0
# stop chre
on property:sys.factory.running_pretest=true
write /sys/class/sensors/accelerometer_sensor/lowpassfilter 2
write /sys/class/sensors/sub_accelerometer_sensor/lowpassfilter 2
on property:sys.factory.running_pretest=false
write /sys/class/sensors/accelerometer_sensor/lowpassfilter 1
write /sys/class/sensors/sub_accelerometer_sensor/lowpassfilter 1
service bugreport /system/bin/dumpstate -d -p -B -z -o /data/user_de/0/com.android.shell/files/bugreports/bugreport
class main
disabled
oneshot
keycodes 114 115 116
#Set GPU Opengles version
on property:vendor.opengles.version=*
setprop ro.opengles.version ${vendor.opengles.version}
#Set gpu available frequencies property
on property:vendor.gpu.available_frequencies=*
setprop ro.vendor.gpu.available_frequencies ${vendor.gpu.available_frequencies}

2791
rootdir/etc/init.qcom.usb.rc Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,181 @@
#=============================================================================
# Copyright (c) 2019-2023 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
# Set the console loglevel to < KERN_WARN
# Set the default message loglevel to KERN_INFO
write /proc/sys/kernel/printk "4 6 1 7"
exec_start gki.modprobe
# wait for system modules to be loaded first before loading vendor modules
wait_for_prop odm.system.all.modules.ready 1
start vendor.modprobe
# 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 post-fs
wait_for_prop vendor.all.modules.ready 1
# 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
# 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
exec_background u:r:vendor_qti_init_shell_bg:s0 -- /vendor/bin/init.qti.write.sh /sys/kernel/boot_adsp/boot 1
exec_background u:r:vendor_qti_init_shell_bg:s0 -- /vendor/bin/init.qti.write.sh /sys/kernel/boot_cdsp/boot 1
exec_background u:r:vendor_qti_init_shell_bg:s0 -- /vendor/bin/init.qti.write.sh /sys/devices/virtual/cvp/cvp/boot 1
on boot
# Allow access to 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
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 eMMC and SD devices
write /sys/class/block/mmcblk0/queue/scheduler bfq
write /sys/class/block/mmcblk1/queue/scheduler bfq
# update io-scheduler tunables
write /sys/class/block/mmcblk0/queue/iosched/slice_idle 0
write /sys/class/block/mmcblk1/queue/iosched/slice_idle 0
# Allow access to memory hotplug device attributes
chown system system /sys/kernel/mem-offline/anon_migrate
on post-fs-data
# Create directory used for dump collection
mkdir /data/vendor/ssrdump 0770 root system
on property:persist.sys.ssr.enable_debug=*
write /sys/module/subsys_pil_tz/parameters/enable_debug ${persist.sys.ssr.enable_debug}
on property:persist.sys.mba_boot_timeout=*
write /sys/module/pil_msa/parameters/pbl_mba_boot_timeout_ms ${persist.sys.mba_boot_timeout}
on property:persist.sys.modem_auth_timeout=*
write /sys/module/pil_msa/parameters/modem_auth_timeout_ms ${persist.sys.modem_auth_timeout}
on property:persist.sys.pil_proxy_timeout=*
write /sys/module/peripheral_loader/parameters/proxy_timeout_ms ${persist.sys.pil_proxy_timeout}
on property:persist.vendor.ssr.enable_ramdumps=1
write /sys/module/subsystem_restart/parameters/enable_ramdumps 1
on property:persist.vendor.ssr.enable_ramdumps=0
write /sys/module/subsystem_restart/parameters/enable_ramdumps 0
on property:persist.vendor.sys.rawdump_copy=1
write /sys/kernel/dload/emmc_dload 1
on property:persist.vendor.sys.rawdump_copy=0
write /sys/kernel/dload/emmc_dload 0
service kernel-boot /vendor/bin/sh /vendor/bin/init.qti.kernel.sh
class core
user root
group root
disabled
oneshot
service kernel-post-boot /vendor/bin/sh /vendor/bin/init.kernel.post_boot.sh
class core
user root
group root system wakelock graphics
disabled
oneshot
on property:sys.boot_completed=1
write /dev/kmsg "Boot completed "
#Reset read ahead for dm-0, dm-1 and dm-2 to 512kb
write /sys/block/dm-0/queue/read_ahead_kb 512
write /sys/block/dm-1/queue/read_ahead_kb 512
write /sys/block/dm-2/queue/read_ahead_kb 512
write /proc/sys/vm/page-cluster 0
start kernel-boot
start kernel-post-boot
on charger
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
service gki.modprobe /vendor/bin/system_dlkm_modprobe.sh
class main
user root
group root system
disabled
stdio_to_kmsg
seclabel u:r:vendor_modprobe:s0
oneshot
service vendor.modprobe /vendor/bin/vendor_modprobe.sh
class main
user root
group root system
disabled
stdio_to_kmsg
seclabel u:r:vendor_modprobe:s0
oneshot

View File

@ -0,0 +1,39 @@
#! /vendor/bin/sh
# Copyright (c) 2023, 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.
#
value="disabled"
if [ "$1" == "1" ]; then
value="enabled"
fi
coredump_path=`ls /sys/devices/platform/soc/4080000.remoteproc-mss/remoteproc/remoteproc*/coredump`
if [ "${coredump_path}" != "" ]; then
echo ${value} > ${coredump_path}
fi

View File

@ -0,0 +1,30 @@
# 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 init
# exec u:r:vendor-qti-testscripts:s0 -- /vendor/bin/sh /vendor/bin/init.qti.ufs.debug.sh

View File

@ -0,0 +1,40 @@
# Copyright (c) 2017-2018,2020-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:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# * Neither the name of The Linux Foundation nor
# the names of its contributors may be used to endorse or promote
# products derived from this software without specific prior written
# permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
# NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
on init
write /sys/class/backlight/panel0-backlight/brightness 200
setprop sys.usb.configfs 1
on property:ro.boot.usbcontroller=*
setprop sys.usb.controller ${ro.boot.usbcontroller}
wait /sys/bus/platform/devices/${ro.boot.usb.dwc3_msm:-a600000.ssusb}/mode
write /sys/bus/platform/devices/${ro.boot.usb.dwc3_msm:-a600000.ssusb}/mode peripheral
wait /sys/class/udc/${ro.boot.usbcontroller} 1
on fs
wait /dev/block/platform/soc/${ro.boot.bootdevice}
symlink /dev/block/platform/soc/${ro.boot.bootdevice} /dev/block/bootdevice

View File

@ -0,0 +1,8 @@
on init
# unlink /efs > /mnt/vendor/efs
rm /efs
mkdir /efs
mkdir /sec_efs
#to cut charging battery path
write /sys/class/power_supply/battery/siop_level 0

View File

@ -0,0 +1,110 @@
# Copyright (c) 2019-2023, 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 early-init
# sec_debug.ko - 1st stage
chown system system /sys/module/sec_debug/parameters/dump_sink
chmod 0640 /sys/module/sec_debug/parameters/dump_sink
chown system system /sys/module/sec_debug/parameters/reboot_multicmd
chmod 0400 /sys/module/sec_debug/parameters/reboot_multicmd
on init
symlink /dev/block/bootdevice/by-name/param /dev/block/param
on late-init
on post-fs
on late-fs
on post-fs-data
on boot
# sec_qc_user_reset.ko
chown system system /proc/auto_comment
chmod 0400 /proc/auto_comment
chown system system /proc/reset_history
chmod 0400 /proc/reset_history
chown system system /proc/reset_klog
chmod 0400 /proc/reset_klog
chown system system /proc/reset_reason
chmod 0440 /proc/reset_reason
chown system system /proc/reset_rwc
chmod 0440 /proc/reset_rwc
chown system system /proc/reset_summary
chmod 0400 /proc/reset_summary
chown system system /proc/reset_tzlog
chmod 0400 /proc/reset_tzlog
chown system system /proc/store_lastkmsg
chmod 0440 /proc/store_lastkmsg
chown system system /sys/class/sec/sec_debug/recovery_cause
chmod 0660 /sys/class/sec/sec_debug/recovery_cause
chown system system /sys/class/sec/sec_debug/FMM_lock
chmod 0660 /sys/class/sec/sec_debug/FMM_lock
# sec_qc_hw_param.ko
chown system system /proc/extra
chmod 0440 /proc/extra
chown system system /sys/class/sec/sec_hw_param/ap_health
chmod 0600 /sys/class/sec/sec_hw_param/ap_health
chown system system /sys/class/sec/sec_hw_param/ap_info
chmod 0400 /sys/class/sec/sec_hw_param/ap_info
chown system system /sys/class/sec/sec_hw_param/ddr_info
chmod 0400 /sys/class/sec/sec_hw_param/ddr_info
chown system system /sys/class/sec/sec_hw_param/extra_info
chmod 0400 /sys/class/sec/sec_hw_param/extra_info
chown system system /sys/class/sec/sec_hw_param/extrb_info
chmod 0400 /sys/class/sec/sec_hw_param/extrb_info
chown system system /sys/class/sec/sec_hw_param/extrc_info
chmod 0400 /sys/class/sec/sec_hw_param/extrc_info
chown system system /sys/class/sec/sec_hw_param/extrm_info
chmod 0400 /sys/class/sec/sec_hw_param/extrm_info
chown system system /sys/class/sec/sec_hw_param/extrt_info
chmod 0400 /sys/class/sec/sec_hw_param/extrt_info
chown system system /sys/class/sec/sec_hw_param/eye_rd_info
chmod 0400 /sys/class/sec/sec_hw_param/eye_rd_info
chown system system /sys/class/sec/sec_hw_param/last_dcvs
chmod 0400 /sys/class/sec/sec_hw_param/last_dcvs
# sec_qc_rdx_bootdev.ko
chown system system /proc/rdx_bootdev
chmod 0220 /proc/rdx_bootdev
# PCIe
chown radio system /sys/class/sec/pcie-wifi/pcie_l1ss_ctrl
# sec_reloc_gpio.ko - factory mode only
chown root system /sys/class/sec/gpio/check_requested_gpio
chmod 0664 /sys/class/sec/gpio/check_requested_gpio
on shutdown
# service definition
# on property triggers

View File

@ -0,0 +1,634 @@
# Copyright (C) 2018 The Android Open Source Project
#
# Display configuration common for all android devices
#
on post-fs-data
# Permissions for Display
# Brightness Permission
wait /sys/class/lcd/panel/alpm
chown system system /sys/class/backlight/panel0-backlight/brightness
chmod 0664 /sys/class/backlight/panel0-backlight/brightness
chown system system /sys/class/backlight/panel1-backlight/brightness
chmod 0664 /sys/class/backlight/panel1-backlight/brightness
chown system system /sys/class/leds/lcd-backlight/brightness
chmod 0664 /sys/class/leds/lcd-backlight/brightness
# SSR
chown system system /sys/class/lcd/panel/ssr
chmod 0660 /sys/class/lcd/panel/ssr
chown system system /sys/class/lcd/panel1/ssr
chmod 0660 /sys/class/lcd/panel1/ssr
# ECC
chown system system /sys/class/lcd/panel/ecc
chmod 0660 /sys/class/lcd/panel/ecc
chown system system /sys/class/lcd/panel1/ecc
chmod 0660 /sys/class/lcd/panel1/ecc
# UDC data
chown system system /sys/class/lcd/panel/udc_data
chmod 0660 /sys/class/lcd/panel/udc_data
chown system system /sys/class/lcd/panel1/udc_data
chmod 0660 /sys/class/lcd/panel1/udc_data
# UDC factory data
chown system system /sys/class/lcd/panel/udc_fac
chmod 0660 /sys/class/lcd/panel/udc_fac
chown system system /sys/class/lcd/panel1/udc_fac
chmod 0660 /sys/class/lcd/panel1/udc_fac
# HMT
chown system system /sys/class/lcd/panel/hmt_on
chmod 0660 /sys/class/lcd/panel/hmt_on
chown system system /sys/class/lcd/panel/hmt_bright
chmod 0660 /sys/class/lcd/panel/hmt_bright
chown system system /sys/class/mdnie/mdnie/hmt_color_temperature
chmod 0660 /sys/class/mdnie/mdnie/hmt_color_temperature
chown system system /sys/class/lcd/panel1/hmt_on
chmod 0660 /sys/class/lcd/panel1/hmt_on
chown system system /sys/class/lcd/panel1/hmt_bright
chmod 0660 /sys/class/lcd/panel1/hmt_bright
chown system system /sys/class/mdnie/mdnie1/hmt_color_temperature
chmod 0660 /sys/class/mdnie/mdnie1/hmt_color_temperature
# mDNIe
chown system system /sys/class/mdnie/mdnie/lcdtype
chown system system /sys/class/mdnie/mdnie/lcd_power
chown system media_rw /sys/class/mdnie/mdnie/scenario
chmod 0660 /sys/class/mdnie/mdnie/scenario
chown system system /sys/class/mdnie/mdnie/tuning
chown system media_rw /sys/class/mdnie/mdnie/outdoor
chown system system /sys/class/mdnie/mdnie/mdnie_temp
chown system media_rw /sys/class/mdnie/mdnie/mode
chown system system /sys/class/mdnie/mdnie/negative
chown system media_rw /sys/class/mdnie/mdnie/playspeed
chown system media_rw /sys/class/mdnie/mdnie/accessibility
chown system system /sys/class/mdnie/mdnie/cabc
chown system system /sys/class/mdnie/mdnie/bypass
chmod 0660 /sys/class/mdnie/mdnie/bypass
chown system media_rw /sys/class/mdnie/mdnie/sensorRGB
chmod 0660 /sys/class/mdnie/mdnie/sensorRGB
chown system media_rw /sys/class/mdnie/mdnie/mdnie_ldu
chmod 0660 /sys/class/mdnie/mdnie/mdnie_ldu
chown system media_rw /sys/class/mdnie/mdnie/night_mode
chmod 0660 /sys/class/mdnie/mdnie/night_mode
chown system media_rw /sys/class/mdnie/mdnie/adaptive_mode
chmod 0660 /sys/class/mdnie/mdnie/adaptive_mode
chown system system /sys/class/mdnie/mdnie/color_lens
chmod 0660 /sys/class/mdnie/mdnie/color_lens
chown system media_rw /sys/class/mdnie/mdnie/hdr
chmod 0660 /sys/class/mdnie/mdnie/hdr
chown system media_rw /sys/class/mdnie/mdnie/whiteRGB
chmod 0660 /sys/class/mdnie/mdnie/whiteRGB
chown system system /sys/class/mdnie/mdnie/light_notification
chmod 0660 /sys/class/mdnie/mdnie/light_notification
chown system system /sys/class/mdnie/mdnie/afc
chmod 0660 /sys/class/mdnie/mdnie/afc
chown system system /sys/class/mdnie/mdnie/anti_glare
chmod 0660 /sys/class/mdnie/mdnie/anti_glare
chown system system /sys/class/mdnie/mdnie/extra_dim
chmod 0660 /sys/class/mdnie/mdnie/extra_dim
chown system system /sys/class/mdnie/mdnie/vividness
chmod 0660 /sys/class/mdnie/mdnie/vividness
chown system system /sys/class/mdnie/mdnie1/lcdtype
chown system system /sys/class/mdnie/mdnie1/lcd_power
chown system media_rw /sys/class/mdnie/mdnie1/scenario
chmod 0660 /sys/class/mdnie/mdnie1/scenario
chown system system /sys/class/mdnie/mdnie1/tuning
chown system media_rw /sys/class/mdnie/mdnie1/outdoor
chown system system /sys/class/mdnie/mdnie1/mdnie_temp
chown system media_rw /sys/class/mdnie/mdnie1/mode
chown system system /sys/class/mdnie/mdnie1/negative
chown system media_rw /sys/class/mdnie/mdnie1/playspeed
chown system media_rw /sys/class/mdnie/mdnie1/accessibility
chown system system /sys/class/mdnie/mdnie1/cabc
chown system system /sys/class/mdnie/mdnie1/bypass
chmod 0660 /sys/class/mdnie/mdnie1/bypass
chown system media_rw /sys/class/mdnie/mdnie1/sensorRGB
chmod 0660 /sys/class/mdnie/mdnie1/sensorRGB
chown system media_rw /sys/class/mdnie/mdnie1/mdnie_ldu
chmod 0660 /sys/class/mdnie/mdnie1/mdnie_ldu
chown system media_rw /sys/class/mdnie/mdnie1/night_mode
chmod 0660 /sys/class/mdnie/mdnie1/night_mode
chown system media_rw /sys/class/mdnie/mdnie1/adaptive_mode
chmod 0660 /sys/class/mdnie/mdnie1/adaptive_mode
chown system system /sys/class/mdnie/mdnie1/color_lens
chmod 0660 /sys/class/mdnie/mdnie1/color_lens
chown system media_rw /sys/class/mdnie/mdnie1/hdr
chmod 0660 /sys/class/mdnie/mdnie1/hdr
chown system media_rw /sys/class/mdnie/mdnie1/whiteRGB
chmod 0660 /sys/class/mdnie/mdnie1/whiteRGB
chown system system /sys/class/mdnie/mdnie1/light_notification
chmod 0660 /sys/class/mdnie/mdnie1/light_notification
chown system system /sys/class/mdnie/mdnie1/afc
chmod 0660 /sys/class/mdnie/mdnie1/afc
chown system system /sys/class/mdnie/mdnie1/anti_glare
chmod 0660 /sys/class/mdnie/mdnie1/anti_glare
chown system system /sys/class/mdnie/mdnie1/extra_dim
chmod 0660 /sys/class/mdnie/mdnie1/extra_dim
chown system system /sys/class/mdnie/mdnie1/vividness
chmod 0660 /sys/class/mdnie/mdnie1/vividness
mkdir /efs/afc 0700 system system
chmod 700 /efs/afc
mkdir /efs/etc 0700 system system
chmod 700 /efs/etc
# adaptive control
chown system system /sys/class/lcd/panel/adaptive_control
chmod 0660 /sys/class/lcd/panel/adaptive_control
chown system system /sys/class/lcd/panel1/adaptive_control
chmod 0660 /sys/class/lcd/panel1/adaptive_control
# CCB (color waekness)
chown system system /sys/class/backlight/panel/weakness_ccb
chmod 0660 /sys/class/backlight/panel/weakness_ccb
chown system system /sys/class/backlight/panel1/weakness_ccb
chmod 0660 /sys/class/backlight/panel1/weakness_ccb
# weakness_hbm_comp (Gallery Max brightness == 2)
chown system system /sys/class/backlight/panel/weakness_hbm_comp
chmod 0660 /sys/class/backlight/panel/weakness_hbm_comp
chown system system /sys/class/backlight/panel1/weakness_hbm_comp
chmod 0660 /sys/class/backlight/panel1/weakness_hbm_comp
# AOD(Always On Display)
chown system system /sys/class/lcd/panel/alpm
chmod 0660 /sys/class/lcd/panel/alpm
chown system system /sys/class/lcd/panel1/alpm
chmod 0660 /sys/class/lcd/panel1/alpm
# HLPM Mode
chown system system /sys/class/lcd/panel/hlpm_mode
chmod 0660 /sys/class/lcd/panel/hlpm_mode
chown system system /sys/class/lcd/panel1/hlpm_mode
chmod 0660 /sys/class/lcd/panel1/hlpm_mode
# Active Clock in AOD
chown system system /dev/act_clk
chmod 0660 /dev/act_clk
# Self Display in AOD
chown system system /dev/self_display
chmod 0660 /dev/self_display
chown system system /dev/self_display1
chmod 0660 /dev/self_display1
# Self Move in IDLE
chown system system /sys/class/lcd/panel/self_move
chmod 0660 /sys/class/lcd/panel/self_move
chown system system /sys/class/lcd/panel1/self_move
chmod 0660 /sys/class/lcd/panel1/self_move
# MAFPC
chown system system /dev/mafpc
chmod 0660 /dev/mafpc
chown system system /dev/mafpc1
chmod 0660 /dev/mafpc1
chown system system /sys/class/lcd/panel/mafpc_check
chmod 0660 /sys/class/lcd/panel/mafpc_check
chown system system /sys/class/lcd/panel1/mafpc_check
chmod 0660 /sys/class/lcd/panel1/mafpc_check
# POC
mkdir /efs/etc/poc 0700 system system
chmod 700 /efs/etc/poc
mkdir /cache/poc 0700 system system
chmod 700 /cache/poc
chown system system /dev/poc
chmod 0660 /dev/poc
chown system system /sys/class/lcd/panel/poc
chmod 0660 /sys/class/lcd/panel/poc
chown system system /sys/class/lcd/panel1/poc
chmod 0660 /sys/class/lcd/panel1/poc
# HMT
chown system system /sys/class/lcd/panel/hmt_on
chmod 0660 /sys/class/lcd/panel/hmt_on
chown system system /sys/class/lcd/panel/hmt_bright
chmod 0660 /sys/class/lcd/panel/hmt_bright
chown system system /sys/class/mdnie/mdnie/hmt_color_temperature
chmod 0660 /sys/class/mdnie/mdnie/hmt_color_temperature
chown system system /sys/class/lcd/panel1/hmt_on
chmod 0660 /sys/class/lcd/panel1/hmt_on
chown system system /sys/class/lcd/panel1/hmt_bright
chmod 0660 /sys/class/lcd/panel1/hmt_bright
chown system system /sys/class/mdnie/mdnie1/hmt_color_temperature
chmod 0660 /sys/class/mdnie/mdnie1/hmt_color_temperature
setprop sys.daydream.connected 0
# chown system system /sys/class/graphics/fb0/msm_cmd_autorefresh_en
# chmod 0660 /sys/class/graphics/fb0/msm_cmd_autorefresh_en
# IRC
chown system system /sys/class/lcd/panel/irc_mode
chmod 0660 /sys/class/lcd/panel/irc_mode
chown system system /sys/class/lcd/panel1/irc_mode
chmod 0660 /sys/class/lcd/panel1/irc_mode
# MCD_MODE
chown system system /sys/class/lcd/panel/mcd_mode
chmod 0660 /sys/class/lcd/panel/mcd_mode
chown system system /sys/class/lcd/panel1/mcd_mode
chmod 0660 /sys/class/lcd/panel1/mcd_mode
# BRIGHTDOT
chown system system /sys/class/lcd/panel/brightdot
chmod 0660 /sys/class/lcd/panel/brightdot
chown system system /sys/class/lcd/panel1/brightdot
chmod 0660 /sys/class/lcd/panel1/brightdot
# MCD_RESISTANCE
chown system system /sys/class/lcd/panel/mcd_resistance
chmod 0660 /sys/class/lcd/panel/mcd_resistance
chown system system /sys/class/lcd/panel1/mcd_resistance
chmod 0660 /sys/class/lcd/panel1/mcd_resistance
# GAMMA_FLASH
chown system system /sys/class/lcd/panel/gamma_flash
chmod 0660 /sys/class/lcd/panel/gamma_flash
chown system system /sys/class/lcd/panel1/gamma_flash
chmod 0660 /sys/class/lcd/panel1/gamma_flash
# GAMMA_CHECK
chown system system /sys/class/lcd/panel/gamma_check
chmod 0660 /sys/class/lcd/panel/gamma_check
chown system system /sys/class/lcd/panel1/gamma_check
chmod 0660 /sys/class/lcd/panel1/gamma_check
# X-Talk
chown system system /sys/class/lcd/panel/xtalk_mode
chmod 0660 /sys/class/lcd/panel/xtalk_mode
chown system system /sys/class/lcd/panel1/xtalk_mode
chmod 0660 /sys/class/lcd/panel1/xtalk_mode
# MST
chown system system /sys/class/lcd/panel/mst
chmod 0660 /sys/class/lcd/panel/mst
chown system system /sys/class/lcd/panel1/mst
chmod 0660 /sys/class/lcd/panel1/mst
# DDI H/W Cursor
chown system system /sys/class/lcd/panel/hw_cursor
chmod 0660 /sys/class/lcd/panel/hw_cursor
chown system system /sys/class/lcd/panel1/hw_cursor
chmod 0660 /sys/class/lcd/panel1/hw_cursor
# PANEL AGING
chown system system /sys/class/lcd/panel/panel_aging
chmod 0660 /sys/class/lcd/panel/panel_aging
chown system system /sys/class/lcd/panel1/panel_aging
chmod 0660 /sys/class/lcd/panel1/panel_aging
# DSC CRC
chown system system /sys/class/lcd/panel/dsc_crc
chmod 0660 /sys/class/lcd/panel/dsc_crc
chown system system /sys/class/lcd/panel1/dsc_crc
chmod 0660 /sys/class/lcd/panel1/dsc_crc
# Gram Checksum Test
chown system system /sys/class/lcd/panel/gct
chmod 0660 /sys/class/lcd/panel/gct
chown system system /sys/class/lcd/panel1/gct
chmod 0660 /sys/class/lcd/panel1/gct
# Gray Spot Test
chown system system /sys/class/lcd/panel/grayspot
chmod 0660 /sys/class/lcd/panel/grayspot
chown system system /sys/class/lcd/panel1/grayspot
chmod 0660 /sys/class/lcd/panel1/grayspot
# vglhighdot Test
chown system system /sys/class/lcd/panel/vglhighdot
chmod 0660 /sys/class/lcd/panel/vglhighdot
chown system system /sys/class/lcd/panel1/vglhighdot
chmod 0660 /sys/class/lcd/panel1/vglhighdot
# SPOT_REPAIR_CHECK
chown system system /sys/class/lcd/panel/spot_repair_check
chmod 0660 /sys/class/lcd/panel/spot_repair_check
chown system system /sys/class/lcd/panel1/spot_repair_check
chmod 0660 /sys/class/lcd/panel1/spot_repair_check
# POC
chown system system /sys/class/lcd/panel/poc
chmod 0660 /sys/class/lcd/panel/poc
chown system system /sys/class/lcd/panel1/poc
chmod 0660 /sys/class/lcd/panel1/poc
# POC_MCA
chown system system /sys/class/lcd/panel/poc_mca
chmod 0440 /sys/class/lcd/panel/poc_mca
chown system system /sys/class/lcd/panel1/poc_mca
chmod 0440 /sys/class/lcd/panel1/poc_mca
# POC_INFO
chown system system /sys/class/lcd/panel/poc_info
chmod 0440 /sys/class/lcd/panel/poc_info
chown system system /sys/class/lcd/panel1/poc_info
chmod 0440 /sys/class/lcd/panel1/poc_info
# POC OFF
chown system system /sys/class/lcd/panel/poc_onoff
chmod 0660 /sys/class/lcd/panel/poc_onoff
chown system system /sys/class/lcd/panel1/poc_onoff
chmod 0660 /sys/class/lcd/panel1/poc_onoff
# IRC OFF
chown system system /sys/class/lcd/panel/irc_onoff
chmod 0660 /sys/class/lcd/panel/irc_onoff
chown system system /sys/class/lcd/panel1/irc_onoff
chmod 0660 /sys/class/lcd/panel1/irc_onoff
# ISC Defect Test
chown system system /sys/class/lcd/panel/isc_defect
chmod 0660 /sys/class/lcd/panel/isc_defect
chown system system /sys/class/lcd/panel1/isc_defect
chmod 0660 /sys/class/lcd/panel1/isc_defect
# LCD Big Data (DPUI / DPCI)
chown system system /sys/class/lcd/panel/dpui
chown system system /sys/class/lcd/panel/dpui_dbg
chown system system /sys/class/lcd/panel/dpci
chown system system /sys/class/lcd/panel/dpci_dbg
chown system system /sys/class/lcd/panel1/dpui
chown system system /sys/class/lcd/panel1/dpui_dbg
chown system system /sys/class/lcd/panel1/dpci
chown system system /sys/class/lcd/panel1/dpci_dbg
# Panel
chown system system /sys/class/lcd/panel/window_type
chown radio system /sys/class/lcd/panel/power_reduce
chown radio system /sys/class/lcd/panel/siop_enable
chown radio system /sys/class/lcd/panel/temperature
chown radio system /sys/class/lcd/panel/tuning
chown radio system /sys/class/lcd/panel/lux
chown system system /sys/class/lcd/panel/smooth_dim
chown radio system /sys/class/lcd/panel/partial_disp
chmod 0660 /sys/class/lcd/panel/partial_disp
chown radio system /sys/class/lcd/panel/cover_control
chmod 0660 /sys/class/lcd/panel/cover_control
chown system system /sys/class/lcd/panel/ldu_correction
chmod 0660 /sys/class/lcd/panel/ldu_correction
chown radio system /sys/class/lcd/panel/force_flip
chown system system /sys/class/lcd/panel1/window_type
chown radio system /sys/class/lcd/panel1/power_reduce
chown radio system /sys/class/lcd/panel1/siop_enable
chown radio system /sys/class/lcd/panel1/temperature
chown radio system /sys/class/lcd/panel1/tuning
chown radio system /sys/class/lcd/panel1/lux
chown system system /sys/class/lcd/panel1/smooth_dim
chown radio system /sys/class/lcd/panel1/partial_disp
chmod 0660 /sys/class/lcd/panel1/partial_disp
chown radio system /sys/class/lcd/panel1/cover_control
chmod 0660 /sys/class/lcd/panel1/cover_control
chown system system /sys/class/lcd/panel1/ldu_correction
chmod 0660 /sys/class/lcd/panel1/ldu_correction
chown radio system /sys/class/lcd/panel1/force_flip
# COPR
chown system system /sys/class/lcd/panel/copr_roi
chmod 0660 /sys/class/lcd/panel/copr_roi
chown system system /sys/class/lcd/panel/read_copr
chmod 0660 /sys/class/lcd/panel/read_copr
chown system system /sys/class/lcd/panel/copr
chmod 0660 /sys/class/lcd/panel/copr
chown system system /sys/class/lcd/panel/brt_avg
chmod 0440 /sys/class/lcd/panel/brt_avg
chown system system /sys/class/lcd/panel1/copr_roi
chmod 0660 /sys/class/lcd/panel1/copr_roi
chown system system /sys/class/lcd/panel1/read_copr
chmod 0660 /sys/class/lcd/panel1/read_copr
chown system system /sys/class/lcd/panel1/copr
chmod 0660 /sys/class/lcd/panel1/copr
chown system system /sys/class/lcd/panel1/brt_avg
chmod 0440 /sys/class/lcd/panel1/brt_avg
# SELF MASK
chown system system /sys/class/lcd/panel/self_mask
chmod 0660 /sys/class/lcd/panel/self_mask
chown system system /sys/class/lcd/panel/self_mask_udc
chmod 0660 /sys/class/lcd/panel/self_mask_udc
chown system system /sys/class/lcd/panel1/self_mask
chmod 0660 /sys/class/lcd/panel1/self_mask
chown system system /sys/class/lcd/panel1/self_mask_udc
chmod 0660 /sys/class/lcd/panel1/self_mask_udc
chown system system /sys/class/lcd/panel/self_mask_check
chmod 0660 /sys/class/lcd/panel/self_mask_check
chown system system /sys/class/lcd/panel1/self_mask_check
chmod 0660 /sys/class/lcd/panel1/self_mask_check
# DYNAMIC HLPM
chown system system /sys/class/lcd/panel/dynamic_hlpm
chmod 0660 /sys/class/lcd/panel/dynamic_hlpm
chown system system /sys/class/lcd/panel1/dynamic_hlpm
chmod 0660 /sys/class/lcd/panel1/dynamic_hlpm
# LCD DYNAMIC FPS USE TE
chown system system /sys/class/lcd/panel/dynamic_fps_use_te
chmod 0660 /sys/class/lcd/panel/dynamic_fps_use_te
chown system system /sys/class/lcd/panel1/dynamic_fps_use_te
chmod 0660 /sys/class/lcd/panel1/dynamic_fps_use_te
# SPI intf select
chown system system /sys/class/lcd/panel/spi_if_sel
chmod 0660 /sys/class/lcd/panel/spi_if_sel
# CCD state Test
chown system system /sys/class/lcd/panel/ccd_state
chmod 0660 /sys/class/lcd/panel/ccd_state
chown system system /sys/class/lcd/panel1/ccd_state
chmod 0660 /sys/class/lcd/panel1/ccd_state
# FINGERPRINT MASK
chown system system /sys/class/lcd/panel/mask_brightness
chmod 0660 /sys/class/lcd/panel/mask_brightness
chown system system /sys/class/lcd/panel/actual_mask_brightness
chmod 0440 /sys/class/lcd/panel/actual_mask_brightness
chown system system /sys/class/lcd/panel1/mask_brightness
chmod 0660 /sys/class/lcd/panel1/mask_brightness
chown system system /sys/class/lcd/panel1/actual_mask_brightness
chmod 0440 /sys/class/lcd/panel1/actual_mask_brightness
# UB CONN DET
chown system system /sys/class/lcd/panel/conn_det
chmod 0660 /sys/class/lcd/panel/conn_det
chown system system /sys/class/lcd/panel1/conn_det
chmod 0660 /sys/class/lcd/panel1/conn_det
# TE CHECK
chown system system /sys/class/lcd/panel/te_check
chmod 0660 /sys/class/lcd/panel/te_check
chown system system /sys/class/lcd/panel1/te_check
chmod 0660 /sys/class/lcd/panel1/te_check
# DIA
chown system system /sys/class/lcd/panel/dia
chmod 0660 /sys/class/lcd/panel/dia
chown system system /sys/class/lcd/panel1/dia
chmod 0660 /sys/class/lcd/panel1/dia
# Finger Print Green Circle
chown system system /sys/class/lcd/panel/fp_green_circle
chmod 0660 /sys/class/lcd/panel/fp_green_circle
chown system system /sys/class/lcd/panel1/fp_green_circle
chmod 0660 /sys/class/lcd/panel1/fp_green_circle
# dynamic_freq
chown system system /sys/class/lcd/panel/dynamic_freq
chmod 0660 /sys/class/lcd/panel/dynamic_freq
chown system system /sys/class/lcd/panel1/dynamic_freq
chmod 0660 /sys/class/lcd/panel1/dynamic_freq
# Demux_stress Test
chown system system /sys/class/lcd/panel/demux_stress
chmod 0660 /sys/class/lcd/panel/demux_stress
chown system system /sys/class/lcd/panel1/demux_stress
chmod 0660 /sys/class/lcd/panel1/demux_stress
# VRR
chown system system /sys/class/lcd/panel/vrr
chmod 0440 /sys/class/lcd/panel/vrr
chown system system /sys/class/lcd/panel1/vrr
chmod 0440 /sys/class/lcd/panel1/vrr
chown system system /sys/class/lcd/panel/vrr_lfd
chmod 0660 /sys/class/lcd/panel/vrr_lfd
chown system system /sys/class/lcd/panel1/vrr_lfd
chmod 0660 /sys/class/lcd/panel1/vrr_lfd
chown system system /sys/class/drm/card0/device/perf_mode
chmod 0666 /sys/class/drm/card0/device/perf_mode
# Motto
chown system system /sys/class/lcd/panel/motto/swing
chmod 0660 /sys/class/lcd/panel/motto/swing
chown system system /sys/class/lcd/panel/motto/emphasis
chmod 0660 /sys/class/lcd/panel/motto/emphasis
# ioctl_power_ctrl
chown system system /sys/class/lcd/panel/ioctl_power_ctrl
chmod 0440 /sys/class/lcd/panel/ioctl_power_ctrl
# Vlin1 test
chown system system /sys/class/lcd/panel/vlin1_test
chmod 0660 /sys/class/lcd/panel/vlin1_test
# debug information for dumpstate
chown system system /dev/sec_display_debug
chmod 0660 /dev/sec_display_debug
# night dim
chown system system /sys/class/lcd/panel/night_dim
chmod 0660 /sys/class/lcd/panel/night_dim
chown system system /sys/class/lcd/panel1/night_dim
chmod 0660 /sys/class/lcd/panel1/night_dim
# factory pretest
chown system system /sys/class/lcd/panel/fac_pretest
chmod 0660 /sys/class/lcd/panel/fac_pretest
chown system system /sys/class/lcd/panel1/fac_pretest
chmod 0660 /sys/class/lcd/panel1/fac_pretest
# tcon pre_emphasis
chown system system /sys/class/lcd/panel/tcon_pe
chmod 0660 /sys/class/lcd/panel/tcon_pe
chown system system /sys/class/lcd/panel1/tcon_pe
chmod 0660 /sys/class/lcd/panel1/tcon_pe
# check for display on time
chown system system /sys/class/lcd/panel/display_on
chmod 0440 /sys/class/lcd/panel/display_on
chown system system /sys/class/lcd/panel1/display_on
chmod 0440 /sys/class/lcd/panel1/display_on
chmod 0660 /sys/kernel/debug/tracing/events/sde/sde_cmd_release_bw/enable
chmod 0660 /sys/kernel/tracing/events/sde/sde_cmd_release_bw/enable
chmod 0660 /sys/kernel/debug/tracing/events/sde/sde_encoder_underrun/enable
chmod 0660 /sys/kernel/tracing/events/sde/sde_encoder_underrun/enable
chmod 0660 /sys/kernel/debug/tracing/events/sde/sde_evtlog/enable
chmod 0660 /sys/kernel/tracing/events/sde/sde_evtlog/enable
chmod 0660 /sys/kernel/debug/tracing/events/sde/sde_perf_calc_crtc/enable
chmod 0660 /sys/kernel/tracing/events/sde/sde_perf_calc_crtc/enable
chmod 0660 /sys/kernel/debug/tracing/events/sde/sde_perf_crtc_update/enable
chmod 0660 /sys/kernel/tracing/events/sde/sde_perf_crtc_update/enable
chmod 0660 /sys/kernel/debug/tracing/events/sde/sde_perf_set_ot/enable
chmod 0660 /sys/kernel/tracing/events/sde/sde_perf_set_ot/enable
chmod 0660 /sys/kernel/debug/tracing/events/sde/sde_perf_set_qos_luts/enable
chmod 0660 /sys/kernel/tracing/events/sde/sde_perf_set_qos_luts/enable
chmod 0660 /sys/kernel/debug/tracing/events/sde/sde_perf_uidle_cntr/enable
chmod 0660 /sys/kernel/tracing/events/sde/sde_perf_uidle_cntr/enable
chmod 0660 /sys/kernel/debug/tracing/events/sde/sde_perf_uidle_status/enable
chmod 0660 /sys/kernel/tracing/events/sde/sde_perf_uidle_status/enable
chmod 0660 /sys/kernel/debug/tracing/events/sde/sde_perf_update_bus/enable
chmod 0660 /sys/kernel/tracing/events/sde/sde_perf_update_bus/enable
chmod 0660 /sys/kernel/debug/tracing/events/sde/tracing_mark_write/enable
chmod 0660 /sys/kernel/tracing/events/sde/tracing_mark_write/enable

View File

@ -0,0 +1,87 @@
# Copyright (c) 2019-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:
# * 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 early-init
on init
on late-init
on charger
on post-fs
on late-fs
on post-fs-data
# Permission for ESE
chmod 0660 /dev/p61
chown system system /dev/p61
on boot
# Permission for NFC
chmod 0660 /dev/pn547
chown nfc nfc /dev/pn547
chmod 0660 /dev/p61
chown system system /dev/p61
# Permission for Secure NVM
chmod 0660 /dev/k250a
chown system system /dev/k250a
# DP AUX switch control
chmod 0660 /sys/class/dp_sec/dp_sbu_sw_sel
chown system system /sys/class/dp_sec/dp_sbu_sw_sel
# DP DEX control
chmod 0660 /sys/class/dp_sec/dex
chown system system /sys/class/dp_sec/dex
# DP DEX version
chmod 0440 /sys/class/dp_sec/dex_ver
chown system system /sys/class/dp_sec/dex_ver
# DP error info
chmod 0660 /sys/class/dp_sec/dp_error_info
chown system system /sys/class/dp_sec/dp_error_info
# DP monitor info
chmod 0444 /sys/class/dp_sec/monitor_info
chown system system /sys/class/dp_sec/monitor_info
# DP bandwidth code
chmod 0440 /sys/class/dp_sec/bw_code
chown system radio /sys/class/dp_sec/bw_code
on shutdown
# service definition
# on property triggers

View File

@ -0,0 +1,52 @@
# Copyright (c) 2019-2024, 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 early-init
on init
on late-init
on post-fs
on late-fs
on post-fs-data
on boot
on shutdown
# service definition
# on property triggers
on early-boot && property:ro.binary.type=factory
umount /product/vm-system

View File

@ -0,0 +1,77 @@
# Copyright (c) 2019-2023, 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 early-init
on init
on late-init
on post-fs
on late-fs
on post-fs-data
on boot
chown radio system /sys/class/sec/ap_pmic/gpio_dump
chmod 664 /sys/class/sec/ap_pmic/gpio_dump
write /sys/power/pm_debug_messages 1
# limit driver
chown radio system /sys/devices/system/cpu/cpufreq_limit/cpufreq_max_limit
chown radio system /sys/devices/system/cpu/cpufreq_limit/cpufreq_min_limit
chown radio system /sys/devices/system/cpu/cpufreq_limit/cpufreq_table
chown radio system /sys/devices/system/cpu/cpufreq_limit/over_limit
chown radio system /sys/devices/system/cpu/cpufreq_limit/limit_stat
chmod 664 /sys/devices/system/cpu/cpufreq_limit/cpufreq_max_limit
chmod 664 /sys/devices/system/cpu/cpufreq_limit/cpufreq_min_limit
chmod 444 /sys/devices/system/cpu/cpufreq_limit/cpufreq_table
chmod 664 /sys/devices/system/cpu/cpufreq_limit/over_limit
chmod 664 /sys/devices/system/cpu/cpufreq_limit/limit_stat
chown system system /sys/class/sec/ap_pmic/manual_reset
chown radio system /sys/class/sec/ap_pmic/wake_enabled
chmod 664 /sys/class/sec/ap_pmic/wake_enabled
chown system system /sys/class/sec/ap_pmic/ap_info
chmod 0400 /sys/class/sec/ap_pmic/ap_info
on property:sys.boot_completed=1
on charger
on shutdown
# service definition
# on property triggers
on property:sys.boot_completed=1
write /sys/class/secgpio_check/secgpio_check_all/gpioinit_call 1
write /sys/devices/platform/soc/c320000.sys-pm-vx/debug_enable 1
chmod 220 /dev/power_on_alarm

124
rootdir/etc/init.samsung.rc Normal file
View File

@ -0,0 +1,124 @@
# Copyright (c) 2019-2023, The Linux Foundation. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above
# copyright notice, this list of conditions and the following
# disclaimer in the documentation and/or other materials provided
# with the distribution.
# * Neither the name of The Linux Foundation nor the names of its
# contributors may be used to endorse or promote products derived
# from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
#
import /vendor/etc/init/hw/init.samsung.bsp.rc
import /vendor/etc/init/hw/init.samsung.display.rc
import /vendor/etc/init/hw/init.samsung.dp.rc
import /vendor/etc/init/hw/init.samsung.power.rc
import /vendor/etc/init/hw/init.qti.ss-ramdump.sh
import /vendor/etc/init/hw/init.samsung.${ro.binary.type}.rc
on early-init
mkdir /mnt/vendor/efs 0771 radio system
mkdir /mnt/vendor/persist 0771 root system
on init
symlink /dev/block/platform/soc/1d84000.ufshc/by-name/steady /dev/block/steady
symlink /dev/block/platform/soc/1d84000.ufshc/by-name/persistent /dev/block/persistent
# Create carrier folder for HiddenMenu
on post-fs
mkdir /efs/carrier 0755 system system
restorecon_recursive /efs
restorecon_recursive /mnt/vendor/efs
chown radio system /mnt/vendor/efs
chmod 0771 /mnt/vendor/efs
chown system radio /efs
chmod 0771 /efs
restorecon /efs
on post-fs-data
# carrier partition
chown system system /carrier
chmod 0771 /carrier
restorecon /carrier
# sensors
chown system system /mnt/vendor/persist/sensors/registry/registry/sns_cm
# Meta event
chown system radio /sys/class/sensors/sensor_dev/flush
# If AP debug_level is low, recovery mode for ALL peripheral will be endabled
on post-fs-data && property:ro.boot.debug_level=0x4f4c
setprop persist.vendor.ssr.restart_level ALL_ENABLE
setprop persist.vendor.ssr.enable_ramdumps 1
setprop persist.vendor.sensors.debug.hal_trigger_ssr true
setprop persist.vendor.sensors.debug.hal_trigger_crash false
# Sensor property setting
on post-fs-data && property:ro.boot.debug_level=0x494d
setprop persist.vendor.sensors.debug.hal_trigger_crash true
setprop persist.vendor.sensors.debug.hal_trigger_ssr false
on post-fs-data && property:ro.boot.debug_level=0x4948
setprop persist.vendor.sensors.debug.hal_trigger_crash true
setprop persist.vendor.sensors.debug.hal_trigger_ssr false
# Enable recovery mode for modem only (CP Ramdump OFF && dbg_level MID)
on post-fs-data && property:ro.boot.cp_debug_level=0x55FF && property:ro.boot.debug_level=0x494d
setprop persist.vendor.ssr.restart_level mss
setprop persist.vendor.ssr.enable_ramdumps 1
# Enable recovery mode for modem only (CP Ramdump OFF && dbg_level HI)
on post-fs-data && property:ro.boot.cp_debug_level=0x55FF && property:ro.boot.debug_level=0x4948
setprop persist.vendor.ssr.restart_level mss
setprop persist.vendor.ssr.enable_ramdumps 1
# Disable recovery mode for modem only (CP Ramdump ON && dbg_level MID)
on post-fs-data && property:ro.boot.cp_debug_level=0x5500 && property:ro.boot.debug_level=0x494d
setprop persist.vendor.ssr.restart_level ALL_DISABLE
setprop persist.vendor.ssr.enable_ramdumps 0
# Disable recovery mode for modem only (CP Ramdump ON && dbg_level HI)
on post-fs-data && property:ro.boot.cp_debug_level=0x5500 && property:ro.boot.debug_level=0x4948
setprop persist.vendor.ssr.restart_level ALL_DISABLE
setprop persist.vendor.ssr.enable_ramdumps 0
on early-boot
on boot
service factory_ssc /vendor/bin/factory.ssc
class core
user system
group system radio inet diag net_admin net_raw sdcard_rw sdcard_r media_rw
on property:sys.boot_completed=1
setprop ro.factory.sensor.delay.init 1
on property:sys.dexopt.ctrl=true
setprop dalvik.vm.dex2oat-cpu-set "0,1,5,6"
setprop dalvik.vm.dex2oat-threads 4
on property:sys.dexopt.ctrl=false
setprop dalvik.vm.dex2oat-cpu-set ""
set_dex2oat_threads ctrl

View File

@ -0,0 +1,53 @@
# Copyright (c) 2019-2024, 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 early-init
on init
on late-init
on post-fs
on late-fs
on post-fs-data
on boot
on shutdown
# service definition
# on property triggers
# bcl_pmic5.ko - debug level mid
on property:sys.boot_completed=1 && property:ro.boot.debug_level=0x494d
write /sys/module/bcl_pmic5/parameters/panic_lvl 2

275
rootdir/etc/init.target.rc Normal file
View File

@ -0,0 +1,275 @@
# Copyright (c) 2019-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:
# * 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.
#
#
# Changes from Qualcomm Innovation Center are provided under the following license:
# Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted (subject to the limitations in the
# disclaimer below) provided that the following conditions are met:
#
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# * Redistributions in binary form must reproduce the above
# copyright notice, this list of conditions and the following
# disclaimer in the documentation and/or other materials provided
# with the distribution.
#
# * Neither the name of Qualcomm Innovation Center, Inc. nor the names of
# its contributors may be used to endorse or promote products derived
# from this software without specific prior written permission.
#
# NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
# GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
# HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
# IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
import /vendor/etc/init/hw/init.qti.kernel.rc
import /vendor/etc/init/hw/init.samsung.rc
# CAUTION: init.carrier.rc is replaced with init.${ro.product.model}.rc from Q OS
import /vendor/etc/init/hw/init.${ro.product.vendor.device}.rc
import /vendor/etc/init/hw/init.${ro.product.vendor.name}.rc
on early-init
write /proc/sys/kernel/printk_devkmsg ratelimited
export MEMTAG_OPTIONS off
# foreground-boost
mkdir /dev/cpuctl/foreground-boost
chown system system /dev/cpuctl/foreground-boost
chown system system /dev/cpuctl/foreground-boost/tasks
chmod 0664 /dev/cpuctl/foreground-boost/tasks
chown system system /dev/cpuctl/foreground-boost/cgroup.procs
chmod 0664 /dev/cpuctl/foreground-boost/cgroup.procs
# set property to boost-optimize
setprop sys.perf.boostopt true
# midground set
mkdir /dev/cpuset/midground
copy /dev/cpuset/cpus /dev/cpuset/midground/cpus
copy /dev/cpuset/mems /dev/cpuset/midground/mems
chown root system /dev/cpuset/midground/cgroup.procs
chmod 0664 /dev/cpuset/midground/cgroup.procs
chown root system /dev/cpuset/midground/cpus
chmod 0664 /dev/cpuset/midground/cpus
write /dev/cpuset/midground/cpus 0-1,5-6
on init
wait /dev/block/platform/soc/${ro.boot.bootdevice}
symlink /dev/block/platform/soc/${ro.boot.bootdevice} /dev/block/bootdevice
chown system system /sys/devices/platform/soc/1d84000.ufshc/auto_hibern8
chmod 0660 /sys/devices/platform/soc/1d84000.ufshc/auto_hibern8
start logd
mkdir /dev/cpuctl/general
copy_per_line /dev/cpuctl/tasks /dev/cpuctl/general/tasks
chown system system /dev/cpuctl/general
chown system system /dev/cpuctl/general/tasks
chmod 0644 /dev/cpuctl/general/tasks
chown system system /dev/cpuctl/general/cpu.shares
chmod 0644 /dev/cpuctl/general/cpu.shares
mkdir /dev/cpuset/foreground-boost
copy /dev/cpuset/cpus /dev/cpuset/foreground-boost/cpus
copy /dev/cpuset/mems /dev/cpuset/foreground-boost/mems
chown system system /dev/cpuset/foreground-boost
chown system system /dev/cpuset/foreground-boost/tasks
chmod 0664 /dev/cpuset/foreground-boost/tasks
chown system system /dev/cpuset/foreground-boost/cgroup.procs
chmod 0664 /dev/cpuset/foreground-boost/cgroup.procs
chown system system /dev/cpuset/restricted/cpus
chmod 0664 /dev/cpuset/restricted/cpus
on early-fs
start vold
on fs
start hwservicemanager
mount_all /vendor/etc/fstab.qcom --early
chown root system /mnt/vendor/persist
chmod 0771 /mnt/vendor/persist
restorecon_recursive /mnt/vendor/persist
mkdir /mnt/vendor/persist/secnvm 0770 system system
mkdir /mnt/vendor/persist/data 0700 system system
on post-fs && property:ro.boot.factory.interposer=0
# #Execute virtualization manager
# enable vendor.qvirtservice_rs
# start vendor.qvirtservice_rs
# set RLIMIT_MEMLOCK to 64MB
setrlimit 8 67108864 67108864
#Execute virtualization manager
enable vendor.qvirtservice
start vendor.qvirtservice
on late-fs
wait_for_prop hwservicemanager.ready true
#exec_start wait_for_keymaster
mount_all /vendor/etc/fstab.qcom --late
on post-fs-data
mkdir /vendor/data/tombstones 0771 system system
# Enable WLAN cold boot calibration
write /sys/kernel/cnss/fs_ready 1
on early-boot
verity_update_state
on boot
write /dev/cpuset/audio-app/cpus 0-1
# 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
chown system /sys/devices/platform/soc/990000.i2c/i2c-0/0-0038/trusted_touch_enable
chmod 0660 /sys/devices/platform/soc/990000.i2c/i2c-0/0-0038/trusted_touch_enable
chown system /sys/devices/platform/soc/990000.spi/spi_master/spi0/spi0.0/trusted_touch_enable
chmod 0660 /sys/devices/platform/soc/990000.spi/spi_master/spi0/spi0.0/trusted_touch_enable
chown system /sys/devices/system/cpu/hyp_core_ctl/enable
chown system /sys/devices/system/cpu/hyp_core_ctl/hcc_min_freq
# set cpuset value by performance team
write /dev/cpuset/foreground/cpus 0-6
write /dev/cpuset/foreground-boost/cpus 0-7
write /dev/cpuset/sf/cpus 0-1,5-6
# HyPer Permission
chown root system /dev/cpuctl/top-app/cpu.uclamp.min
chmod 0664 /dev/cpuctl/top-app/cpu.uclamp.min
chown root system /sys/devices/system/cpu/bus_dcvs/DDR/memlat/adaptive_low_freq
chmod 0664 /sys/devices/system/cpu/bus_dcvs/DDR/memlat/adaptive_low_freq
chown root system /sys/devices/system/cpu/bus_dcvs/DDR/memlat/adaptive_high_freq
chmod 0664 /sys/devices/system/cpu/bus_dcvs/DDR/memlat/adaptive_high_freq
chown root system /sys/devices/system/cpu/bus_dcvs/DDR/soc:qcom,memlat:ddr:prime-latfloor/max_freq
chmod 0664 /sys/devices/system/cpu/bus_dcvs/DDR/soc:qcom,memlat:ddr:prime-latfloor/max_freq
# For CDSP crash
on property:ro.boot.debug_level=0x494d
setprop vendor.fastrpc.process.attrs 1
setprop vendor.fastrpc.debug.trace 1
on property:vendor.display.lcd_density=560
setprop dalvik.vm.heapgrowthlimit 256m
on property:vendor.display.lcd_density=640
setprop dalvik.vm.heapgrowthlimit 512m
on init && property:ro.boot.mode=charger
wait_for_prop vendor.all.modules.ready 1
mount_all /vendor/etc/charger_fw_fstab.qti --early
wait /sys/kernel/boot_adsp/boot
write /sys/kernel/boot_adsp/boot 1
on charger
start vendor.power_off_alarm
write /sys/kernel/cnss/charger_mode 1
#service vendor.lowi /vendor/bin/sscrpcd
# class core
# user system
# group system wakelock
# capabilities BLOCK_SUSPEND
#pd-mapper
service vendor.pd_mapper /vendor/bin/pd-mapper
class core
user system
group system
#Peripheral manager
service vendor.per_mgr /vendor/bin/pm-service
class core
user system
group system
ioprio rt 4
service vendor.per_proxy /vendor/bin/pm-proxy
class core
user system
group system
disabled
#service vendor.mdm_helper /vendor/bin/mdm_helper
# class core
# group system wakelock
# disabled
service vendor.mdm_launcher /vendor/bin/sh /vendor/bin/init.mdm.sh
class core
oneshot
on property:init.svc.vendor.per_mgr=running
start vendor.per_proxy
on property:sys.shutdown.requested=*
write /sys/kernel/qcom_rproc/shutdown_in_progress 1
stop vendor.per_proxy
on property:vold.decrypt=trigger_restart_framework
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
oneshot
on early-boot && property:persist.vendor.pcie.boot_option=*
write /sys/bus/platform/devices/1c00000.qcom,pcie/debug/boot_option ${persist.vendor.pcie.boot_option}
write /sys/bus/platform/devices/1c08000.qcom,pcie/debug/boot_option ${persist.vendor.pcie.boot_option}
service fan_control_turn_on /vendor/bin/fan_service 1
class late_start
user root
disabled
oneshot
service fan_control_turn_off /vendor/bin/fan_service 0
class late_start
user root
disabled
oneshot

70
setup-makefiles.sh Executable file
View File

@ -0,0 +1,70 @@
#!/bin/bash
#
# SPDX-FileCopyrightText: 2016 The CyanogenMod Project
# SPDX-FileCopyrightText: 2017-2024 The LineageOS Project
# SPDX-License-Identifier: Apache-2.0
#
set -e
DEVICE=e3q
VENDOR=samsung
# 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}"
function vendor_imports() {
cat <<EOF >>"$1"
"device/samsung/e3q",
"hardware/qcom-caf/sm8650",
"hardware/qcom-caf/wlan",
"hardware/samsung",
"vendor/qcom/opensource/commonsys/display",
"vendor/qcom/opensource/commonsys-intf/display",
"vendor/qcom/opensource/dataservices",
EOF
}
function lib_to_package_fixup_vendor_variants() {
if [ "$2" != "vendor" ]; then
return 1
fi
case "$1" in
com.qualcomm.qti.dpm.api@1.0 | \
vendor.qti.imsrtpservice@3.0)
echo "$1-vendor"
;;
libwpa_client) ;;
*)
return 1
;;
esac
}
function lib_to_package_fixup() {
lib_to_package_fixup_clang_rt_ubsan_standalone "$1" ||
lib_to_package_fixup_proto_3_9_1 "$1" ||
lib_to_package_fixup_vendor_variants "$@"
}
# Initialize the helper
setup_vendor "${DEVICE}" "${VENDOR}" "${ANDROID_ROOT}"
# Warning headers and guards
write_headers
write_makefiles "${MY_DIR}/proprietary-files.txt"
# Finish
write_footers

209
system.prop Normal file
View File

@ -0,0 +1,209 @@
# Audio
ro.audio.spatializer_enabled=true
tunnel.audio.encode=true
use.voice.path.for.pcm.voip=true
# Bluetooth
persist.vendor.btstack.aac_frm_ctl.enabled=true
ro.bluetooth.library_name=libbluetooth_qti.so
# Camera
persist.vendor.camera.privapp.list=org.codeaurora.snapcam
vendor.camera.aux.packagelist=org.codeaurora.snapcam
# CNE
persist.vendor.cne.feature=1
# Display
debug.sf.enable_hwc_vds=0
debug.sf.latch_unsignaled=1
ro.hwui.drop_shadow_cache_size=6
ro.hwui.gradient_cache_size=1
ro.hwui.layer_cache_size=48
ro.hwui.path_cache_size=32
ro.hwui.r_buffer_cache_size=8
ro.hwui.text_large_cache_height=1024
ro.hwui.text_large_cache_width=2048
ro.hwui.text_small_cache_height=1024
ro.hwui.text_small_cache_width=1024
ro.hwui.texture_cache_flushrate=0.4
ro.hwui.texture_cache_size=72
ro.opengles.version=196610
# DRM
ro.netflix.bsp_rev=Q8650-37577-1
# GNSS
persist.vendor.overlay.izat.optin=rro
# Health
ro.charger.enable_suspend=1
# Media
debug.stagefright.ccodec=1
media.aac_51_output_enabled=true
media.stagefright.enable-aac=true
media.stagefright.enable-fma2dp=true
media.stagefright.enable-http=true
media.stagefright.enable-player=true
media.stagefright.enable-qcp=true
media.stagefright.enable-scan=true
media.stagefright.thumbnail.prefer_hw_codecs=true
# NFC
ro.nfc.port=I2C
# Radio
persist.rild.nitz_long_ons_0=
persist.rild.nitz_long_ons_1=
persist.rild.nitz_long_ons_2=
persist.rild.nitz_long_ons_3=
persist.rild.nitz_plmn=
persist.rild.nitz_short_ons_0=
persist.rild.nitz_short_ons_1=
persist.rild.nitz_short_ons_2=
persist.rild.nitz_short_ons_3=
persist.vendor.radio.atfwd.start=true
ril.subscription.types=NV,RUIM
rild.libpath=/vendor/lib64/libril-qc-hal-qmi.so
# Sensors
persist.vendor.sensors.enable.mag_filter=true
# Wi-Fi
ro.wifi.channels=
# Wi-Fi Display
persist.debug.wfd.enable=1
persist.sys.wfd.virtual=0
# Miscellaneous
DEVICE_PROVISIONED=1
arm64.memtag.process.system_server=off
com.samsung.speg.prelauncher.disable=true
config.disable_rtt=true
dalvik.vm.appimageformat=lz4
dalvik.vm.dex2oat-Xms=64m
dalvik.vm.dex2oat-Xmx=512m
dalvik.vm.dex2oat-max-image-block-size=524288
dalvik.vm.dex2oat-minidebuginfo=true
dalvik.vm.dex2oat-resolve-startup-strings=true
dalvik.vm.dex2oat64.enabled=true
dalvik.vm.dexopt.secondary=true
dalvik.vm.dexopt.thermal-cutoff=2
dalvik.vm.finalizer-timeout-ms=60000
dalvik.vm.heapsize=36m
dalvik.vm.image-dex2oat-Xms=64m
dalvik.vm.image-dex2oat-Xmx=64m
dalvik.vm.lockprof.threshold=500
dalvik.vm.madvise.artfile.size=4294967295
dalvik.vm.madvise.odexfile.size=104857600
dalvik.vm.madvise.vdexfile.size=104857600
dalvik.vm.minidebuginfo=true
dalvik.vm.systemuicompilerfilter=speed
dalvik.vm.usap_pool_enabled=false
dalvik.vm.usap_pool_refill_delay_ms=3000
dalvik.vm.usap_pool_size_max=3
dalvik.vm.usap_pool_size_min=1
dalvik.vm.usap_refill_threshold=1
dalvik.vm.useartservice=true
dalvik.vm.usejit=true
debug.atrace.tags.enableflags=0
debug.codec2.stop_hal_before_surface=0
debug.hwui.skia_atrace_enabled=false
dev.pm.dyn_samplingrate=1
log.tag.ClatdController=D
log.tag.ConnectivityManager=D
log.tag.ConnectivityService=D
log.tag.IptablesRestoreController=D
log.tag.NetworkLogger=D
mmp.enable.3g2=true
net.bt.name=Android
persist.backup.ntpServer="0.pool.ntp.org"
persist.data.df.agg.dl_pkt=10
persist.data.df.agg.dl_size=4096
persist.data.df.dev_name=rmnet_usb0
persist.data.df.dl_mode=5
persist.data.df.iwlan_mux=9
persist.data.df.mux_count=8
persist.data.df.ul_mode=5
persist.data.wda.enable=true
persist.debug.coresight.config=stm-events
persist.device_config.runtime_native_boot.iorap_perfetto_enable=true
persist.fuse_sdcard=true
persist.log.level=0xFFFFFFFF
persist.log.semlevel=0xFFFFFF00
persist.mm.enable.prefetch=true
persist.rmnet.data.enable=true
persist.sys.force_sw_gles=1
persist.timed.enable=true
persist.traced.enable=1
persist.vendor.data.mode=concurrent
persist.vendor.time_services.init=0
pm.dexopt.ab-ota=speed-profile
pm.dexopt.bg-dexopt=speed-profile
pm.dexopt.boot-after-mainline-update=verify
pm.dexopt.boot-after-ota=verify
pm.dexopt.cmdline=verify
pm.dexopt.first-boot=verify
pm.dexopt.inactive=verify
pm.dexopt.install=speed-profile
pm.dexopt.install-bulk=speed-profile
pm.dexopt.install-bulk-downgraded=verify
pm.dexopt.install-bulk-secondary=verify
pm.dexopt.install-bulk-secondary-downgraded=extract
pm.dexopt.install-fast=skip
pm.dexopt.post-boot=extract
pm.dexopt.shared=speed
qcom.hw.aac.encoder=true
qemu.hw.mainkeys=0
ro.actionable_compatible_property.enabled=true
ro.allow.mock.location=0
ro.binary.type=user
ro.build.2ndbrand=false
ro.build.PDA=S928BXXS3AXI8
ro.build.changelist=29543898
ro.build.display_build_number=true
ro.build.official.developer=false
ro.build.official.release=true
ro.build.selinux=1
ro.build.version.oneui=60101
ro.build.version.security_index=1
ro.build.version.sem=3402
ro.build.version.sep=150500
ro.camerax.extensions.enabled=true
ro.config.dmverity=G
ro.config.iccc_version=3.0
ro.config.knox=v30
ro.config.rm_preload_enabled=1
ro.dalvik.vm.native.bridge=0
ro.kernel.qemu=0
ro.kernel.qemu.gles=0
ro.launcher.blur.appLaunch=0
ro.media.recorder-max-base-layer-fps=60
ro.oem_unlock_supported=1
ro.postinstall.fstab.prefix=/system
ro.product.property_source_order=odm,vendor,product,system_ext,system
ro.product_ship=true
ro.security.bio.release=1
ro.security.bio.ver=1.1
ro.security.bt.release=1
ro.security.bt.ver=1.0
ro.security.fips.ux=Enabled
ro.security.fips_bssl.ver=1.7
ro.security.mdf.release=1
ro.security.mdf.ux=Enabled
ro.security.mdf.ver=3.3
ro.security.wlan.release=2
ro.security.wlan.ver=1.0
ro.smps.gain.spk=0.3
ro.system.build.version.sehi=3405
ro.system.qb.id=86324119
ro.vendor.qti.va_aosp.support=1
security.mdf=None
security.mdf.result=None
security.perf_harden=1
sys.hqm.support=true
sys.qca1530=detect
vendor.mm.enable.qcom_parser=16777215

3
system_ext.prop Normal file
View File

@ -0,0 +1,3 @@
# DPM
persist.vendor.dpm.feature=11

361
vendor.prop Normal file
View File

@ -0,0 +1,361 @@
# Audio
aaudio.hw_burst_min_usec=2000
aaudio.mmap_exclusive_policy=2
aaudio.mmap_policy=2
af.fast_track_multiplier=1
audio.deep_buffer.media=true
audio.offload.video=true
audio.sys.noisy.broadcast.delay=600
audio.sys.offload.pstimeout.secs=3
persist.audio.fluence.speaker=true
persist.audio.fluence.voicecall=true
persist.audio.fluence.voicecomm=true
persist.audio.fluence.voicerec=false
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.fluence.speaker=true
persist.vendor.audio.fluence.tmic.enabled=false
persist.vendor.audio.fluence.voicecall=true
persist.vendor.audio.fluence.voicerec=false
persist.vendor.audio.ha_proxy.enabled=true
persist.vendor.audio.ras.enabled=false
persist.vendor.audio.spv3.enable=true
persist.vendor.audio.voicecall.speaker.stereo=true
ro.audio.flinger_standbytime_ms=2000
ro.qc.sdk.audio.fluencetype=none
ro.vendor.audio.sdk.fluencetype=none
ro.vendor.audio.sdk.ssr=false
vendor.audio.adm.buffering.ms=3
vendor.audio.c2.preferred=true
vendor.audio.compress_capture.aac=true
vendor.audio.compress_capture.aac.cut_off_freq=-1
vendor.audio.compress_capture.enabled=true
vendor.audio.dolby.ds2.enabled=false
vendor.audio.dolby.ds2.hardbypass=false
vendor.audio.enable.mirrorlink=false
vendor.audio.feature.a2dp_offload.enable=true
vendor.audio.feature.audiozoom.enable=false
vendor.audio.feature.compr_voip.enable=true
vendor.audio.feature.compress_meta_data.enable=true
vendor.audio.feature.concurrent_capture.enable=false
vendor.audio.feature.deepbuffer_as_primary.enable=true
vendor.audio.feature.display_port.enable=true
vendor.audio.feature.external_dsp.enable=false
vendor.audio.feature.external_speaker.enable=false
vendor.audio.feature.fm.enable=true
vendor.audio.feature.hdmi_edid.enable=true
vendor.audio.feature.hfp.enable=true
vendor.audio.feature.hwdep_cal.enable=false
vendor.audio.feature.incall_music.enable=true
vendor.audio.feature.kpi_optimize.enable=true
vendor.audio.feature.maxx_audio.enable=false
vendor.audio.feature.multi_voice_session.enable=false
vendor.audio.feature.snd_mon.enable=true
vendor.audio.feature.spkr_prot.enable=true
vendor.audio.feature.usb_offload.enable=true
vendor.audio.flac.sw.decoder.24bit=true
vendor.audio.hal.boot.timeout.ms=20000
vendor.audio.hal.output.suspend.supported=true
vendor.audio.hw.aac.encoder=false
vendor.audio.offload.buffer.size.kb=32
vendor.audio.offload.gapless.enabled=true
vendor.audio.offload.multiaac.enable=true
vendor.audio.offload.multiple.enabled=false
vendor.audio.offload.passthrough=false
vendor.audio.offload.playspeed=true
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.ull_record_period_multiplier=2
vendor.audio.use.sw.alac.decoder=true
vendor.audio.use.sw.ape.decoder=true
vendor.audio.use.sw.mpegh.decoder=true
vendor.audio.volume.headset.gain.depcal=true
vendor.audio_hal.in_period_size=144
vendor.audio_hal.period_multiplier=4
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.vendor.bt.a2dp_offload_cap=sbc-aptx-aptxtws-aptxhd-aac-ldac
persist.vendor.bt.aac_frm_ctl.enabled=true
persist.vendor.bt.aac_vbr_frm_ctl.enabled=true
persist.vendor.qcom.bluetooth.soc=hamilton
ro.bluetooth.a2dp_offload.supported=true
# Camera
camera.disable_zsl_mode=1
# CNE
persist.vendor.cne.feature=0
# Display
debug.egl.hw=0
debug.sf.auto_latch_unsignaled=0
debug.sf.disable_client_composition_cache=1
debug.sf.enable_adpf_cpu_hint=true
debug.sf.enable_advanced_sf_phase_offset=0
debug.sf.enable_gl_backpressure=1
debug.sf.gpu_freq_index=7
debug.sf.hw=0
debug.sf.latch_unsignaled=1
debug.sf.predict_hwc_composition_strategy=0
debug.sf.treat_170m_as_sRGB=1
debug.sf.use_phase_offsets_as_durations=0
persist.sys.sf.color_mode=0
persist.sys.sf.color_saturation=1.0
persist.sys.sf.hs_mode=0
ro.gfx.driver.1=com.qualcomm.qti.gpudrivers.pineapple.api34
ro.hardware.egl=adreno
ro.hardware.vulkan=adreno
ro.opengles.version=196610
ro.surface_flinger.clear_slots_with_set_layer_buffer=false
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
ro.surface_flinger.set_display_power_timer_ms=300
ro.surface_flinger.set_idle_timer_ms=250
ro.surface_flinger.set_touch_timer_ms=300
ro.surface_flinger.use_color_management=true
ro.surface_flinger.use_content_detection_for_refresh_rate=true
ro.surface_flinger.wcg_composition_dataspace=143261696
vendor.display.allow_3d_adaptive_tm_external=1
vendor.display.comp_mask=0
vendor.display.defer_fps_frame_count=4
vendor.display.disable_3d_adaptive_tm=0
vendor.display.disable_dynamic_fps=1
vendor.display.disable_excl_rect=0
vendor.display.disable_excl_rect_partial_fb=1
vendor.display.disable_ext_anim=1
vendor.display.disable_hw_recovery_dump=1
vendor.display.disable_offline_rotator=1
vendor.display.disable_scaler=0
vendor.display.disable_sdr_dimming=0
vendor.display.disable_sdr_histogram=1
vendor.display.disable_stc_dimming=1
vendor.display.enable_async_powermode=0
vendor.display.enable_async_vds_creation=0
vendor.display.enable_brightness_drm_prop=0
vendor.display.enable_brightness_drm_prop_in_super_hdr=0
vendor.display.enable_display_extensions=1
vendor.display.enable_dpps_dynamic_fps=0
vendor.display.enable_early_wakeup=1
vendor.display.enable_hdr10_gpu_target=1
vendor.display.enable_optimize_refresh=0
vendor.display.enable_rc_support=0
vendor.display.enable_rounded_corner=0
vendor.display.idle_time=0
vendor.display.idle_time_inactive=0
vendor.display.scaling_dest_opt_mode=4
vendor.display.scaling_source_opt_mode=4
vendor.display.use_smooth_motion=0
vendor.display.vds_allow_hwc=1
vendor.gralloc.disable_ubwc=0
vendor.gralloc.enable_logs=0
# DRM
drm.service.enabled=true
# Fingerprint
persist.vendor.qfp=true
# Gatekeeper
vendor.gatekeeper.is_security_level_spu=0
# Media
debug.stagefright.ccodec=4
debug.stagefright.omx_default_rank=0
# Perf
ro.vendor.extension_library=libqti-perfd-client.so
# Power
vendor.power.pasr.enabled=true
# Radio
persist.vendor.radio.atfwd.start=true
persist.vendor.radio.enableadvancedscan=true
ro.radio.noril=no
ro.telephony.default_cdma_sub=0
# USB
vendor.usb.controller=a600000.dwc3
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=0
# Wi-Fi
wifi.aware.interface=wifi-aware0
# Miscellaneous
dalvik.vm.dex2oat64.enabled=true
dalvik.vm.heapgrowthlimit=256m
dalvik.vm.heapmaxfree=32m
dalvik.vm.heapminfree=8m
dalvik.vm.heapsize=512m
dalvik.vm.heapstartsize=16m
dalvik.vm.heaptargetutilization=0.5
debug.c2.use_dmabufheaps=1
debug.hwui.use_hint_manager=true
debug.mdpcomp.logs=0
external_storage.casefold.enabled=1
external_storage.projid.enabled=1
external_storage.sdcardfs.enabled=0
graphics.gpu.profiler.support=true
keyguard.no_require_sim=true
log.tag.stats_log=I
persist.backup.ntpServer=0.pool.ntp.org
persist.demo.hdmirotationlock=false
persist.sys.dalvik.vm.lib.2=libart.so
persist.sys.fuse.passthrough.enable=true
persist.vendor.qcomsysd.enabled=1
persist.vendor.rcs.singlereg.feature=1
ro.af.client_heap_size_kbyte=7168
ro.apk_verity.mode=2
ro.camera.disableJpegR=true
ro.camera.enableCamera1MaxZsl=1
ro.camera.notify_nfc=1
ro.carrier=unknown
ro.config.alarm_alert=ACH_Homecoming.ogg
ro.config.media_sound=Media_preview_Touch_the_light.ogg
ro.config.notification_sound=ACH_Spaceline.ogg
ro.config.notification_sound_2=ACH_Signal.ogg
ro.config.pageboost.vramdisk.without_predict=true
ro.config.ringtone=ACH_Galaxy_Bells.ogg
ro.config.ringtone_2=ACH_Atomic_Bell.ogg
ro.config.vc_call_vol_steps=8
ro.control_privapp_permissions=enforce
ro.crypto.metadata_init_delete_all_keys.enabled=true
ro.hardware.gatekeeper=mdfpp
ro.hardware.keystore=mdfpp
ro.hardware.keystore_desede=true
ro.incremental.enable=yes
ro.logd.size.stats=64K
ro.mediaserver.64b.enable=true
ro.oem_unlock_supported=1
ro.recovery.usb.adb.pid=D001
ro.recovery.usb.fastboot.pid=4EE0
ro.recovery.usb.vid=18D1
ro.security.cass.feature=1
ro.security.fips_scrypto.ver=2.7
ro.security.fips_skc.ver=2.3
ro.security.keystore.keytype=sakv2,gak,sgak,rkp
ro.security.vpnpp.release=2.0
ro.security.vpnpp.ver=2.4
ro.sf.init.lcd_density=600
ro.slmk.2nd.dha_cached_max=24
ro.slmk.2nd.dha_cached_min=4
ro.slmk.2nd.dha_empty_min=8
ro.slmk.2nd.dha_lmk_scale=3.0
ro.slmk.2nd.swap_free_low_percentage=10
ro.slmk.add_bonusEFK=2
ro.slmk.cam_dha_ver=3
ro.slmk.cam_kill_start_minutes=30
ro.slmk.chimera_quota_enable=true
ro.slmk.dha_2ndprop_thMB=8192
ro.slmk.dha_cached_max=20
ro.slmk.dha_cached_min=4
ro.slmk.dha_empty_max=30
ro.slmk.dha_empty_min=8
ro.slmk.dha_lmk_scale=2.0
ro.slmk.freelimit_val=13
ro.slmk.genai_reclaim_mode=true
ro.slmk.plg_key=25603
ro.slmk.psi_critical=120
ro.slmk.psi_medium=70
ro.slmk.reentry_mode_enable=true
ro.slmk.swap_free_low_percentage=10
ro.slmk.use_bg_keeping_policy=true
ro.slmk.use_lowmem_keep_except=true
ro.slmk.v_bonusEFK=15692
ro.soc.manufacturer=QTI
ro.sys.kernelmemory.gmr.enabled=true
ro.sys.kernelmemory.gmr.vendor_plugin=kgsl
ro.sys.kernelmemory.nandswap.higher_max_size=true
ro.sys.kernelmemory.nandswap.quickswap=true
ro.sys.kernelmemory.umr.enabled=true
ro.sys.kernelmemory.umr.mem_free_low_threshold_kb=524288
ro.sys.kernelmemory.umr.proactive_reclaim_battery_threshold=40
ro.sys.kernelmemory.umr.psi_cpu_threshold_ms=400
ro.sys.kernelmemory.umr.psi_mem_threshold_ms=70
ro.sys.kernelmemory.umr.reclaimer.cachedAppOptimizer.enabled=true
ro.sys.kernelmemory.umr.reclaimer.damon.50.aggr_interval=1000000
ro.sys.kernelmemory.umr.reclaimer.damon.50.min_age=30000000
ro.sys.kernelmemory.umr.reclaimer.damon.50.min_nr_regions=90
ro.sys.kernelmemory.umr.reclaimer.damon.50.quota_ms=20
ro.sys.kernelmemory.umr.reclaimer.damon.50.quota_reset_interval_ms=1000
ro.sys.kernelmemory.umr.reclaimer.damon.50.quota_sz=134217728
ro.sys.kernelmemory.umr.reclaimer.damon.50.sample_interval=100000
ro.sys.kernelmemory.umr.reclaimer.damon.50.wmarks_high=120
ro.sys.kernelmemory.umr.reclaimer.damon.50.wmarks_high_12gb=100
ro.sys.kernelmemory.umr.reclaimer.damon.50.wmarks_interval=1000000
ro.sys.kernelmemory.umr.reclaimer.damon.50.wmarks_low=15
ro.sys.kernelmemory.umr.reclaimer.damon.50.wmarks_mid=120
ro.sys.kernelmemory.umr.reclaimer.damon.50.wmarks_mid_12gb=100
ro.sys.kernelmemory.umr.reclaimer.damon.cpu_affinity=2
ro.sys.kernelmemory.umr.reclaimer.damon.enabled=true
ro.sys.kernelmemory.umr.reclaimer.onTrim.enabled=true
ro.vendor.beluga.c=0x4800
ro.vendor.beluga.p=0x3
ro.vendor.beluga.s=0x900
ro.vendor.beluga.t=0x240
ro.vendor.epdg.support=true
ro.vendor.hdm.supported.swblock=0x100
ro.vendor.nfc.feature.chipname=NXP_SN100U
ro.vendor.nfc.info.antpos=4
ro.vendor.nfc.info.antposX=21.6
ro.vendor.nfc.info.antposY=42.5
ro.vendor.nfc.info.deviceFoldable=false
ro.vendor.nfc.info.deviceHeight=162.3
ro.vendor.nfc.info.deviceWidth=79
ro.vendor.nfc.support.advancedsetting=false
ro.vendor.nfc.support.autoselect=true
ro.vendor.nfc.support.defaultaid=true
ro.vendor.nfc.support.ese=true
ro.vendor.nfc.support.nonaid=true
ro.vendor.nfc.support.uicc=true
ro.vendor.perf-hal.ver=3.0
ro.vendor.perf.scroll_opt=1
ro.vendor.qb.id=86324121
ro.vendor.qspm.enable=true
ro.vendor.sec.radio.def_network=9
ro.vendor.use_data_netmgrd=false
ro.vendor.uwb.feature.chipname=sr200
security.ADP.policy_version=00000000
security.ADP.version=0
security.ASKS.policy_version=00000000
security.ASKS.rufs_enable=true
security.ASKS.smsfilter_enable=false
security.ASKS.smsfilter_target=false
security.ASKS.time_value=00000000
security.ASKS.version=0
security.securehw.available=false
security.securenvm.available=false
sys.config.activelaunch_enable=true
sys.config.hardcoder.enable=false
sys.config.ibs.enable=false
sys.usb.mtp.batchcancel=1
sys.vendor.shutdown.waittime=500
vendor.mm.enable.qcom_parser=16777215
vendor.pasr.activemode.enabled=true
vendor.perf.framepacing.enable=1
vendor.qc2audio.per_frame.flac.dec.enabled=true
vendor.qc2audio.suspend.enabled=true
vendor.spu.rkp_enabled=false
vendor.wv.oemcrypto.debug.enable_external_display_check=1
vendor.wv.oemcrypto.debug.enable_hlos_data_path=true