diff --git a/Android.bp b/Android.bp index 0ef38b3..c1e01fa 100644 --- a/Android.bp +++ b/Android.bp @@ -10,46 +10,3 @@ cc_prebuilt_library_shared { none: true, }, } - -cc_binary { - name: "sycamore_fscryptd", - defaults: [ - "vold_default_flags", - "vold_default_libs", - ], - srcs: ["fscryptd/sycamore_fscryptd.cpp"], - include_dirs: ["vendor/twrp/libfscrypt/include"], - static_libs: ["libvold_fscrypt_helper"], - header_libs: ["libvold_headers"], - shared_libs: [ - "android.hardware.confirmationui@1.0", - "android.hardware.gatekeeper@1.0", - "android.hardware.health.storage@1.0", - "android.hardware.health.storage-V1-ndk_platform", - "android.hardware.keymaster@4.1", - "android.hardware.security.keymint-V1-ndk_platform", - "android.hardware.weaver@1.0", - "android.security.apc-ndk_platform", - "android.system.keystore2-V1-ndk_platform", - "android.security.authorization-ndk_platform", - "android.security.maintenance-ndk_platform", - "libbase", - "libbinder", - "libbinder_ndk", - "libgatekeeper", - "libgatekeeper_aidl", - "libhardware", - "libhidlbase", - "libkeymaster4_1support", - "libkeystoreinfo", - "libkeystore-attestation-application-id", - "libkeymint_support", - "liblog", - "libchrome", - ], - cflags: [ - "-Wall", - "-Werror", - "-Wextra", - ], -} diff --git a/Android.mk b/Android.mk index 2d62d20..ae2f48c 100644 --- a/Android.mk +++ b/Android.mk @@ -54,15 +54,4 @@ $(eval $(call sycamore-recovery-library,sycamore_soft_attestation,libsoft_attest $(eval $(call sycamore-recovery-library,sycamore_cppbor_external,libcppbor_external.so,vendor/lib64)) $(eval $(call sycamore-recovery-library,sycamore_cppcose_rkp,libcppcose_rkp.so,vendor/lib64)) -# Diagnostic V8 only: observe the 64-byte STORAGE_KEY at Beanpod's final -# userspace boundary, then tail-call the byte-identical stock A16 function. -include $(CLEAR_VARS) -LOCAL_MODULE := libsycamore_keytrace -LOCAL_SRC_FILES := diagnostics/keytrace.cpp -LOCAL_MODULE_CLASS := SHARED_LIBRARIES -LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/vendor/lib64 -LOCAL_MODULE_TAGS := optional -LOCAL_SHARED_LIBRARIES := libcrypto libdl liblog -include $(BUILD_SHARED_LIBRARY) - endif diff --git a/BoardConfig.mk b/BoardConfig.mk index 33c2ff8..9ddbe14 100644 --- a/BoardConfig.mk +++ b/BoardConfig.mk @@ -102,13 +102,24 @@ endif # PLATFORM already provides the complete stock module tree. Remove the duplicate # device recovery metadata after recovery-root population and before mkbootfs; # otherwise its recovery-oriented modules.load shadows the stock normal list. +# Final recovery-root preparation: +# - remove duplicate recovery module metadata so the pristine PLATFORM ramdisk wins +# - present the exact production XT2575-4 vendor identity before Microtrust starts BOARD_RECOVERY_IMAGE_PREPARE = test -n "$(TARGET_RECOVERY_ROOT_OUT)" && \ - rm -rf -- "$(TARGET_RECOVERY_ROOT_OUT)/lib/modules" -TARGET_RECOVERY_PIXEL_FORMAT := "BGRA_8888" -RECOVERY_GRAPHICS_FORCE_USE_LINELENGTH := true + rm -rf -- "$(TARGET_RECOVERY_ROOT_OUT)/lib/modules" && \ + sed -i \ + -e 's/^ro.product.vendor.device=sycamore_row_5G$$/ro.product.vendor.device=XT2575-4/' \ + -e 's/^ro.product.vendor.name=twrp_sycamore_row_5G$$/ro.product.vendor.name=XT2575-4/' \ + "$(TARGET_RECOVERY_ROOT_OUT)/prop.default" && \ + grep -Fqx 'ro.product.device=XT2575-4' "$(TARGET_RECOVERY_ROOT_OUT)/prop.default" && \ + grep -Fqx 'ro.product.vendor.device=XT2575-4' "$(TARGET_RECOVERY_ROOT_OUT)/prop.default" && \ + grep -Fqx 'ro.product.vendor.name=XT2575-4' "$(TARGET_RECOVERY_ROOT_OUT)/prop.default" && \ + grep -Fqx 'ro.product.vendor.model=XT2575-4' "$(TARGET_RECOVERY_ROOT_OUT)/prop.default" && \ + grep -Fqx 'ro.build.product=sycamore_row_5G' "$(TARGET_RECOVERY_ROOT_OUT)/prop.default" +TARGET_RECOVERY_PIXEL_FORMAT := RGBX_8888 BOARD_HAS_NO_SELECT_BUTTON := true -# V18: exact production teei_daemon domain and narrowly scoped Microtrust +# Exact production teei_daemon domain and narrowly scoped Microtrust # device labels. The platform policy already defines tee/tee_exec and its # init transition; this directory supplies only Sycamore-specific paths/types. BOARD_VENDOR_SEPOLICY_DIRS += $(DEVICE_PATH)/sepolicy/vendor @@ -126,39 +137,18 @@ TW_INCLUDE_FASTBOOTD := true # Preserve the device recovery.fstab mount options. The stock additional fstab # otherwise reparses /metadata and drops its recovery-only context= option. TW_SKIP_ADDITIONAL_FSTAB := true -# Build the crypto-only helper against the existing platform libvold, then use -# TeamWin's supported device hook to relink it into recovery /system/bin. -TW_RECOVERY_ADDITIONAL_RELINK_BINARY_FILES += $(TARGET_OUT_EXECUTABLES)/sycamore_fscryptd -# The generic TWRP 12.1 synthetic /super object exposes raw restore/image -# writes while logical mappings are live. Keep super discovery, but hide those -# unsafe UI operations on this virtual A/B device. -TW_EXCLUDE_SUPER_BACKUP_FLASH := true TW_INTERNAL_STORAGE_PATH := "/data/media/0" TW_INTERNAL_STORAGE_MOUNT_POINT := "data" TW_USB_STORAGE := false -# Runtime diagnostic: the initial configfs ADB gadget works, but entering the -# GUI makes TWRP request mtp,adb. This tree has no configfs mtp,adb property -# action, so that transition unbinds the UDC and loses all host enumeration. -# Keep the proven adb-only gadget until MTK configfs MTP is implemented. - -# Tree-only FBE diagnostic: avoid twrpApex::loadApexImage(), whose TWRP 12.1 -# implementation seeks an already-closed payload fd. Recovery's own crypto -# binaries and libraries are packaged in the ramdisk, so first prove the stock -# KeyMint/TEE chain without depending on Android's runtime APEX mounts. The -# generic source correction is retained separately as patch 0002. +# TWRP 12.1's APEX loader is incompatible with this recovery's crypto path. +# Sycamore packages the required Android 16 crypto binaries and libraries +# directly in the recovery ramdisk, so recovery APEX mounting is unnecessary. TW_EXCLUDE_APEX := true -# Stock FBE v2 + metadata encryption. Branch must provide Android 15/16 crypto. -# Temporary first-hardware-boot diagnostic: keep /data encrypted and unmounted, -# and bypass the synchronous Android 16 metadata/FBE decrypt path so the GUI -# can start. Re-enable these only after the KeyMint/Keystore2 dependency chain -# is made compatible with the stock Android 16 vendor environment. -SYCAMORE_DIAGNOSTIC_NO_DECRYPT := false -ifneq ($(SYCAMORE_DIAGNOSTIC_NO_DECRYPT),true) +# Stock FBE v2 with metadata encryption. TW_INCLUDE_CRYPTO := true TW_INCLUDE_CRYPTO_FBE := true TW_INCLUDE_FBE_METADATA_DECRYPT := true -endif BOARD_USES_METADATA_PARTITION := true # Bring-up/debug essentials; no missing-dependency escape hatch. @@ -171,7 +161,6 @@ TW_EXCLUDE_DEFAULT_USB_INIT := true TW_DEFAULT_LANGUAGE := en TW_EXTRA_LANGUAGES := true TW_USE_SERIALNO_PROPERTY_FOR_DEVICE_ID := true - # Preserve the exact factory vendor_boot AVB fingerprint independently of the # recovery build fingerprint. BOARD_AVB_VENDOR_BOOT_FINGERPRINT := Motorola/XT2575-4/XT2575-4:15/AP3A.240905.015.A2/9bdeac_017:user/release-keys @@ -185,8 +174,8 @@ BOARD_AVB_VENDOR_BOOT_ADD_HASH_FOOTER_ARGS += \ # Removable storage filesystem support. TW_INCLUDE_NTFS_3G := true -# R7v9.60: platform-side TWRP FBE property definition +# Platform-side TWRP FBE property definition. SYSTEM_EXT_PUBLIC_SEPOLICY_DIRS += device/motorola/sycamore_row_5G/sepolicy/public -# R7v9.60: platform-side TWRP FBE property context +# Platform-side TWRP FBE property context. SYSTEM_EXT_PRIVATE_SEPOLICY_DIRS += device/motorola/sycamore_row_5G/sepolicy/private diff --git a/BoardConfig.mk.v20.4-backup b/BoardConfig.mk.v20.4-backup deleted file mode 100644 index 522cce0..0000000 --- a/BoardConfig.mk.v20.4-backup +++ /dev/null @@ -1,162 +0,0 @@ -DEVICE_PATH := device/motorola/sycamore_row_5G - -# Architecture (64-bit recovery; runtime CPU properties identify Cortex-A55/A76 cores). -TARGET_ARCH := arm64 -TARGET_ARCH_VARIANT := armv8-a -TARGET_CPU_ABI := arm64-v8a -TARGET_CPU_ABI2 := -TARGET_CPU_VARIANT := generic -TARGET_CPU_VARIANT_RUNTIME := cortex-a55 -TARGET_USES_64_BIT_BINDER := true - -# Platform and assertions. -TARGET_BOARD_PLATFORM := mt6835 -TARGET_BOOTLOADER_BOARD_NAME := sycamore_row_5G -TARGET_NO_BOOTLOADER := true -TARGET_OTA_ASSERT_DEVICE := sycamore_row_5G,XT2575-4 -# Stock first API level is 35, but twrp-12.1 is an API 32 build and rejects a -# BOARD_SHIPPING_API_LEVEL newer than its platform SDK. Keep the measured value -# in the bring-up log rather than emitting a false API-32 build property. - -# The stock Beanpod KeyMint service configures its TA from these properties. -# Pristine A16 vendor_boot supplies 2026-07-05 for both, and the live metadata -# key blob is bound to OS patch level 202607. Leaving the TWRP 12.1 defaults -# (202204 / empty) makes secure world reject that newer blob as a downgrade. -# These are exact stock inputs, not the old twrpdtgen 2099 bypass. -PLATFORM_SECURITY_PATCH := 2026-07-05 -VENDOR_SECURITY_PATCH := 2026-07-05 - -# Exact factory kernel, DTB, and vendor_boot v4 header addresses. These values -# are mechanically extracted from the pristine ZUI 17.5 vendor_boot image. -TARGET_PREBUILT_KERNEL := $(DEVICE_PATH)/prebuilt/kernel -BOARD_INCLUDE_DTB_IN_BOOTIMG := true -BOARD_PREBUILT_DTBIMAGE_DIR := $(DEVICE_PATH)/prebuilt/dtb -BOARD_BOOT_HEADER_VERSION := 4 -BOARD_KERNEL_PAGESIZE := 4096 -BOARD_KERNEL_BASE := 0x40000000 -BOARD_RAMDISK_USE_LZ4 := true -BOARD_KERNEL_SEPARATED_DTBO := true -BOARD_MKBOOTIMG_ARGS += --header_version $(BOARD_BOOT_HEADER_VERSION) -BOARD_MKBOOTIMG_ARGS += --kernel_offset 0x00000000 -BOARD_MKBOOTIMG_ARGS += --ramdisk_offset 0x26f00000 -BOARD_MKBOOTIMG_ARGS += --tags_offset 0x07c80000 -BOARD_MKBOOTIMG_ARGS += --dtb_offset 0x07c80000 -BOARD_MKBOOTIMG_ARGS += --vendor_cmdline "bootopt=64S3,32N2,64N2" - -# Preserve the pristine stock vendor ramdisk byte-for-byte as the unnamed base -# PLATFORM ramdisk. AOSP then appends the generated TWRP RECOVERY fragment. -# This matches the factory vendor_boot v4 layout and preserves overlay ordering. -BOARD_PREBUILT_VENDOR_RAMDISK := \ - $(DEVICE_PATH)/prebuilt/vendor_ramdisk/platform.cpio.lz4 - -# Physical partition sizes measured from GPT/factory images. -BOARD_BOOTIMAGE_PARTITION_SIZE := 67108864 -BOARD_VENDOR_BOOTIMAGE_PARTITION_SIZE := 67108864 -BOARD_INIT_BOOT_IMAGE_PARTITION_SIZE := 8388608 -BOARD_DTBOIMG_PARTITION_SIZE := 8388608 -BOARD_PREBUILT_DTBOIMAGE := $(DEVICE_PATH)/prebuilt/dtbo.img - -# Live liblp metadata: v10.2, 64 KiB max metadata, three slots, virtual A/B. -BOARD_SUPER_PARTITION_SIZE := 11811160064 -BOARD_SUPER_PARTITION_GROUPS := main_dynamic_partitions -BOARD_MAIN_DYNAMIC_PARTITIONS_SIZE := 11809062912 -# API-32 build/make cannot generate system_dlkm. It remains in recovery.fstab -# and live liblp metadata; this recovery-only target does not build super. -BOARD_MAIN_DYNAMIC_PARTITIONS_PARTITION_LIST := \ - odm_dlkm product system system_ext vendor vendor_dlkm - -TARGET_COPY_OUT_SYSTEM_EXT := system_ext -TARGET_COPY_OUT_PRODUCT := product -TARGET_COPY_OUT_VENDOR := vendor -TARGET_COPY_OUT_VENDOR_DLKM := vendor_dlkm -TARGET_COPY_OUT_ODM_DLKM := odm_dlkm - -BOARD_SYSTEMIMAGE_FILE_SYSTEM_TYPE := erofs -BOARD_SYSTEM_EXTIMAGE_FILE_SYSTEM_TYPE := erofs -BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE := erofs -BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := erofs -BOARD_VENDOR_DLKMIMAGE_FILE_SYSTEM_TYPE := erofs -BOARD_ODM_DLKMIMAGE_FILE_SYSTEM_TYPE := erofs -BOARD_USERDATAIMAGE_FILE_SYSTEM_TYPE := f2fs -TARGET_USERIMAGES_USE_EXT4 := true -TARGET_USERIMAGES_USE_F2FS := true - -# Recovery lives in vendor_boot. AOSP build/make emits a v4 RECOVERY ramdisk -# fragment when both switches below are true; stock's platform fragment already -# proves that all recovery resources belong in vendor_boot on this device. -TARGET_NO_RECOVERY := true -TW_HAS_NO_RECOVERY_PARTITION := true -BOARD_EXCLUDE_KERNEL_FROM_RECOVERY_IMAGE := true -BOARD_MOVE_RECOVERY_RESOURCES_TO_VENDOR_BOOT := true -BOARD_INCLUDE_RECOVERY_RAMDISK_IN_VENDOR_BOOT := true -TARGET_RECOVERY_FSTAB := $(DEVICE_PATH)/recovery.fstab -TARGET_RECOVERY_PIXEL_FORMAT := RGBX_8888 -BOARD_HAS_NO_SELECT_BUTTON := true - -# V18: exact production teei_daemon domain and narrowly scoped Microtrust -# device labels. The platform policy already defines tee/tee_exec and its -# init transition; this directory supplies only Sycamore-specific paths/types. -BOARD_VENDOR_SEPOLICY_DIRS += $(DEVICE_PATH)/sepolicy/vendor - -# Display values measured from Android. -TARGET_SCREEN_WIDTH := 1600 -TARGET_SCREEN_HEIGHT := 2560 -TARGET_SCREEN_DENSITY := 320 -TW_THEME := portrait_hdpi -TW_FRAMERATE := 90 - -# A/B, dynamic partitions, fastbootd and storage. -AB_OTA_UPDATER := true -TW_INCLUDE_FASTBOOTD := true -TW_INTERNAL_STORAGE_PATH := "/data/media/0" -TW_INTERNAL_STORAGE_MOUNT_POINT := "data" -TW_BACKUP_DATA_MEDIA := true -TW_USB_STORAGE := false -# Runtime diagnostic: the initial configfs ADB gadget works, but entering the -# GUI makes TWRP request mtp,adb. This tree has no configfs mtp,adb property -# action, so that transition unbinds the UDC and loses all host enumeration. -# Keep the proven adb-only gadget until MTK configfs MTP is implemented. -TW_EXCLUDE_MTP := true - -# Tree-only FBE diagnostic: avoid twrpApex::loadApexImage(), whose TWRP 12.1 -# implementation seeks an already-closed payload fd. Recovery's own crypto -# binaries and libraries are packaged in the ramdisk, so first prove the stock -# KeyMint/TEE chain without depending on Android's runtime APEX mounts. The -# generic source correction is retained separately as patch 0002. -TW_EXCLUDE_APEX := true - -# Stock FBE v2 + metadata encryption. Branch must provide Android 15/16 crypto. -# Temporary first-hardware-boot diagnostic: keep /data encrypted and unmounted, -# and bypass the synchronous Android 16 metadata/FBE decrypt path so the GUI -# can start. Re-enable these only after the KeyMint/Keystore2 dependency chain -# is made compatible with the stock Android 16 vendor environment. -SYCAMORE_DIAGNOSTIC_NO_DECRYPT := false -ifneq ($(SYCAMORE_DIAGNOSTIC_NO_DECRYPT),true) -TW_INCLUDE_CRYPTO := true -TW_INCLUDE_CRYPTO_FBE := true -TW_INCLUDE_FBE_METADATA_DECRYPT := true -endif -BOARD_USES_METADATA_PARTITION := true - -# Bring-up/debug essentials; no missing-dependency escape hatch. -TARGET_USES_LOGD := true -TWRP_INCLUDE_LOGCAT := true -TW_INCLUDE_REPACKTOOLS := true -TW_INCLUDE_RESETPROP := true -TW_INCLUDE_LIBRESETPROP := true -TW_EXCLUDE_DEFAULT_USB_INIT := true -TW_DEFAULT_LANGUAGE := en -TW_EXTRA_LANGUAGES := true - -# Preserve the exact factory vendor_boot AVB fingerprint independently of the -# recovery build fingerprint. -BOARD_AVB_VENDOR_BOOT_FINGERPRINT := Motorola/XT2575-4/XT2575-4:15/AP3A.240905.015.A2/9bdeac_017:user/release-keys - -# Match the stock algorithm-NONE vendor_boot hash-footer design. The salt is -# extracted from the pristine footer; no signing key is used or invented. -BOARD_AVB_ENABLE := true -BOARD_AVB_VENDOR_BOOT_ADD_HASH_FOOTER_ARGS += \ - --salt 11503e95ee971adc6c444e3ae47f564f178032ee9bbcf99d2ccfdc0895c67ed7 - -# Removable storage filesystem support. -TW_INCLUDE_NTFS_3G := true diff --git a/CMD_0X18_INVESTIGATION.md b/CMD_0X18_INVESTIGATION.md deleted file mode 100644 index 19ded22..0000000 --- a/CMD_0X18_INVESTIGATION.md +++ /dev/null @@ -1,228 +0,0 @@ -# Sycamore Android 16 FBE cmd 0x18 investigation - -Date: 2026-08-27 - -Baseline: hardware-tested V14 wrapped-first vendor_boot, SHA-256 -`d657365e5c14ba0bc1e93e9fc0ec38acb18f935e222d1bae66377011b96b9d15`. - -Evidence labels in this report are **PROVEN**, **EXPECTED**, **UNKNOWN**, and -**EXCLUDED**. - -## A. Recovery state immediately before the first cmd 0x18 - -The first V14 conversion is at `v14-native-runtime-failure/logcat-all.txt:2942-2957`, -at 19:01:29.957-19:01:29.959. Before that point recovery had already proven: - -- `vendor.soter.teei.init=INIT_OK` -- `vendor.soter.teei.km.init=config_patch_level_sucess` -- `vendor.soter.teei.km.version=v2.0.0` -- `vendor.soter.teei.persist=OPEN` -- `vendor.soter.teei.rpmb.flag=ok` -- persist selector 3 -- successful c09 TA load, secure-storage manager startup, physical RPMB commands, - `rpmb key is programmed`, KeyMint configuration, SharedSecret, metadata unwrap, - systemwide outer unwrap, and one stock-shaped Begin/Update/Finish sequence. - -The retained recovery property dump does not contain: - -- `vendor.soter.teei.googlekey.status` -- `vendor.soter.teei.logini` - -Recovery later logs `logini thread failed` at 19:02:05.108, about 35 seconds after -the first failure. This proves a final recovery-state difference, but does not prove -that logini participates in cmd 0x18. - -## B. Healthy-stock Soter comparison - -The archived stock snapshot contains: - -| Property | Stock snapshot | V14 retained state before/around failure | -|---|---|---| -| `vendor.soter.teei.googlekey.status` | `ok` | absent | -| `vendor.soter.teei.init` | `INIT_OK` | `INIT_OK` | -| `vendor.soter.teei.km.init` | `config_patch_level_sucess` | same | -| `vendor.soter.teei.km.version` | `v2.0.0` | `v2.0.0` | -| `vendor.soter.teei.logini` | `start` | absent; later logini thread failure | -| `vendor.soter.teei.persist` | `OPEN` | `OPEN` | -| `vendor.soter.teei.rpmb.flag` | `ok` | `ok` | - -Stock `microtrust.rc:245-246` sets `vendor.soter.teei.logini=start` on the Android -`post-fs-data` trigger. It is an init-set request to `teei_daemon`, not proof by -itself that a secure-world transition completed. The stock property snapshot was -captured after DE storage was available, so it cannot prove that logini preceded -stock's first storage-key conversion. Android init describes `post-fs-data` as the -stage at which `/data` has already been mounted; therefore forcing logini before -conversion would not reproduce a proven stock ordering. - -No local rc file was found that directly sets `googlekey.status`. The value is -therefore **EXPECTED** to be service/secure-world-derived, but its exact setter and -pre-conversion timing remain **UNKNOWN**. - -Conclusion: `persist=OPEN` and `rpmb.flag=ok` are matched and correspond to observed -real VFS/RPMB activity. `logini` and `googlekey.status` differ in final visibility, -but neither is yet connected to cmd 0x18 timing. - -## C. Exact 64-byte storage-key provenance - -The source directory is `/data/unencrypted/key`: - -1. `keymaster_key_blob` is a 444-byte ordinary KeyMint AES wrapping-key blob, - SHA-256 - `24449b28dedeecc82b0abfb571ef6aa93151608e841fbbf9dd9bdb907ff89c87`. -2. `secdiscardable` contributes to the application ID computed by - `KeyStorage.cpp::generateAppId()`. -3. `encrypted_key` is a 92-byte AES-GCM container: 12-byte nonce, 64-byte - ciphertext/plaintext length, and 16-byte tag. Its SHA-256 is - `7700695d0e5c1605d9d1c56669cb4130588c1054766ac735488fa76f4fd47312`. -4. `retrieveKey()` reads the files at `system/vold/KeyStorage.cpp:630-652`. -5. `decryptWithKeymasterKey()` authenticates and decrypts the 92-byte container. -6. The resulting 64-byte plaintext is the proprietary `TAG_STORAGE_KEY` blob. -7. `exportWrappedStorageKey()` at `system/vold/KeyStorage.cpp:189-197` copies it - without transformation into `Keymaster::exportKey()`. -8. `Keymaster::exportKey()` at `system/vold/Keymaster.cpp:167-191` places the same - bytes in a `Domain::BLOB` descriptor. -9. Keystore2 at `system/security/keystore2/src/security_level.rs:892-962` passes - the byte vector unchanged to `IKeyMintDevice::convertStorageKeyToEphemeral()`. -10. Beanpod serializes the legacy export request as 12-byte empty AuthorizationSet, - 4-byte RAW KeyFormat, 4-byte blob length, and the 64-byte blob: 84 bytes total. - -V14 hash-only checkpoints A, B, C, and D all report 64 bytes with SHA-256 -`3c36a06c93c07adeda069dd413b2df8f2e9b54371f3920e5de40ea6f318e8f83`. -The complete 84-byte request SHA-256 is -`7c4f5fdd21de15b396f5b739cbb41f32a3944046902c786ceed9a2b829e56647`. - -No raw key, nonce, HMAC, or credential bytes are recorded. This is intentional: -lengths and hashes prove transport identity without exposing live key material. - -The 64-byte length is **PROVEN expected for this exact existing Sycamore blob**: -stock decrypts the same key lineage, the authenticated outer container has a -64-byte plaintext, and the TA reports `DeserializeAuthEncryptedBlob ... (64)`. - -## D. Recovery code path and cmd 0x18 construction - -`fscrypt_initialize_systemwide_keys()` at `system/vold/FsCrypt.cpp:452-495` -retrieves `/data/unencrypted/key`, then `install_storage_key()` at lines 268-279 -calls `exportWrappedStorageKey()` when hardware-wrapped mode is selected. - -The request contains: - -- empty client/application AuthorizationSets; -- `KeyFormat::RAW`; -- the unmodified 64-byte opaque blob; -- no credential, SID, auth token, application ID, or application data. - -Beanpod command `0x18` is its legacy Keymaster export-key command encoding. It is -not a distinct 0x18-only userspace serializer invented by TWRP. - -## E. Android 16 comparison - -Android 16 AOSP `system/vold` retains the same architecture: - -- vold passes the opaque storage key as `Domain::BLOB` to Keystore2; -- Keystore2 calls `convertStorageKeyToEphemeral()` directly; -- only `KEY_REQUIRES_UPGRADE` invokes `upgradeKey()` and retries; -- vold intentionally continues storing its original storage blob because its outer - wrapper already handles version binding. - -V14 follows this behavior. Beanpod returns `INVALID_KEY_BLOB`, not -`KEY_REQUIRES_UPGRADE`, so the absent upgrade retry is correct. - -Material source drift found in the old tree is creation-side, not conversion-side: - -- the local `generateWrappedStorageKey()` requests rollback resistance through its - generic generator and adds private `KM_TAG_FBE_ICE`; -- newer AOSP avoids rollback resistance for newly generated storage keys. - -Neither changes the already-existing 64-byte stock blob or its conversion request. -The exact stock A16 vold binary contains `wrappedkey_v0`, -`fscrypt_initialize_systemwide_keys`, and the same ephemeral-key path. A -syntactically or semantically obsolete recovery request is therefore **EXCLUDED at -the presently visible boundary**. - -## F. Public recovery references - -- Agate: credible working TWRP + Microtrust/Beanpod + FBE/metadata reference, but - userdata lacks `wrappedkey_v0`; it does not exercise cmd 0x18. -- Pissarro: useful Beanpod/TEEI startup ordering, but no proven hardware-wrapped - storage-key decryption. -- Air: closest MT6835 architecture reference, but crypto flags are disabled and the - tree is explicitly WIP. -- Dew: modern AIDL KeyMint/Keystore2 architecture, but WIP and no verified - hardware-wrapped-key decryption result. -- TB351FU: valuable modern Lenovo Soter property control; its published recovery - reports encrypted internal storage inaccessible and its stock fstab does not - establish hardware-wrapped-key use. - -No verified public “unicorn” was found that simultaneously demonstrates MediaTek, -Microtrust/TEEI, Beanpod, `wrappedkey_v0`, and successful recovery decryption. - -## G. Microtrust hidden state - -The MT6895 public driver names `boot_decryto_lock`, `boot_soter_flag`, -`keymaster_call_flag`, `soter_error_flag`, and `teei_capi_ready`, and enforces -`teei_daemon` identity for VFS calls. These establish that hidden kernel/secure-world -state exists. Sycamore runtime proves VFS, TA load, RPMB, and ordinary KeyMint calls -advance far enough to work. - -No local Sycamore kernel source exposes equivalent variables, and no retained trace -connects any one of them to cmd 0x18. They remain architectural context, not a -root-cause result. - -The exact Sycamore TA is a 930,857-byte signed/encrypted Microtrust container, not -an ELF image, so normal `readelf`/`objdump` analysis cannot isolate its dispatcher. -Runtime secure-world diagnostics nevertheless identify the decisive path: - -`ParseKeyBlob()` -> `DeserializeAuthEncryptedBlob()` -> `AES_decrypt_ctr()` -> -integrity/hash comparison failure -> `-33`. - -This is after the 64-byte blob has reached authenticated blob decoding. It strongly -favors a structurally recognized blob whose authentication/derivation context does -not reproduce stock over a malformed 84-byte request. - -## H. Ranked remaining causes - -1. **Medium-high:** secure-world storage-key authentication/KDF context differs - between normal boot and recovery. This best matches the TA's integrity comparison - failure while ordinary blobs and the same session work. -2. **Medium:** a storage-specific secure-world initialization transition occurs in - stock but not recovery before conversion. `googlekey.status`/logini are observable - leads, but their timing and causal relationship are unproven. -3. **Medium-low:** the retained 64-byte blob depends on secure-storage lineage/state - not exercised by ordinary metadata keys. RPMB transport works, but that does not - prove every SST namespace/derived key is identical. -4. **Low:** userspace serialization or Android-version drift. A16 and recovery paths - match, and A/B/C/D plus the complete request hash exclude mutation. -5. **Low:** malformed length/version presented by vold. The outer container - authenticates, 64 bytes is the actual stored object, and TA reaches integrity - comparison rather than rejecting request structure. - -Root-of-Trust/device-lock state remains a possible input to item 1, not a proven -cause. Current-stock success under the same raw unlocked/orange boot properties -prevents asserting a simple property-level ROT mismatch. - -## I. Best next controlled experiment - -The smallest justified next artifact is diagnostic-only: snapshot the seven Soter -properties inside `Keymaster::exportKey()` immediately before the first -`convertStorageKeyToEphemeral()` call. This proves exact boundary-time recovery -state without setting properties, changing service order, exposing secrets, or -altering the request. - -Do **not** set `logini=start` yet. Stock sets it on `post-fs-data`, and available -evidence does not prove that doing so before cmd 0x18 is stock-equivalent or safe. - -The stock-side unresolved requirement is a trustworthy early-boot timing capture. -The existing post-DE stock property dump cannot answer it, and invasive stock -instrumentation could invalidate the control. - -## J. Exact proposed change - -One diagnostic addition in `system/vold/Keymaster.cpp`, immediately before -`securityLevel->convertStorageKeyToEphemeral(...)`: - -- read and log only the seven public `vendor.soter.teei.*` property strings; -- keep the existing 64-byte length/SHA-256 checkpoint; -- do not set any property or alter control flow. - -No TA, Beanpod, Keystore2, KeyStorage, init, fstab, DTB, PLATFORM fragment, or key -file would change functionally. diff --git a/README.md b/README.md index ddd4b3f..358f63c 100644 --- a/README.md +++ b/README.md @@ -36,57 +36,48 @@ Vendor Boot Header | Version 4 Current state of features: -- [x] Correct screen/recovery size -- [x] Working display -- [x] Working touch -- [x] Screen brightness control -- [x] Power off -- [x] Reboot to system -- [x] Reboot to bootloader -- [x] Reboot to recovery -- [x] Fastboot / fastbootd -- [x] ADB -- [x] Internal storage detected -- [x] External SD card detected -- [x] exFAT external storage -- [x] F2FS userdata support -- [x] EXT4 support -- [x] EROFS support -- [x] Dynamic partition support -- [x] A/B slot handling -- [x] `vendor_boot` v4 support -- [x] Stock PLATFORM vendor ramdisk preserved -- [x] TWRP RECOVERY vendor ramdisk fragment -- [x] Metadata encryption successfully decrypted -- [x] `/data` block device successfully decrypted and mounted -- [x] KeyMint service -- [x] Gatekeeper service -- [x] Keystore2 service -- [ ] Full FBE decryption -- [ ] User PIN/password decryption -- [ ] Decrypted `/data/media` -- [ ] MTP -- [ ] Vibration / haptics -- [ ] USB mass storage export -- [ ] TWRP native `vendor_boot` installation from pristine stock image -- [ ] All commonly modified partitions exposed for image flashing +- Correct screen/recovery size +- Working touch and display +- ADB +- Support EROFS/F2FS/EXT4/exFAT/NTFS +- External SD card support +- Dynamic partition support +- A/B slot handling +- `vendor_boot` v4 support +- Stock PLATFORM vendor ramdisk preserved +- TWRP RECOVERY vendor ramdisk fragment +- Decrypt `/data` with user PIN/password +- Decrypted `/data/media` +- Metadata encryption +- KeyMint service +- Gatekeeper service +- Keystore2 service +- MediaTek/Microtrust TEE +- MTP export +- SELinux enforcing +- Vibrate and set vibration -## Encryption status +Still to validate before final release: -Metadata encryption is working and TWRP successfully creates and mounts the decrypted userdata block device. +- Backup/restore to/from internal/external storage and ADB +- ADB sideload +- Poweroff and all reboot targets +- Flashing zip/images from the TWRP UI +- All important partitions listed in wipe/mount/backup lists +- Input devices via USB-OTG +- Correct date/time configuration +- Battery level reporting +- Brightness adjustment +- Screenshot +- Advanced recovery features -Current testing reaches the Android hardware-wrapped storage key path but fails during system-wide fscrypt key initialization. +# Building -The current failure occurs in the MediaTek Beanpod KeyMint trusted application while processing storage-key conversion: +```bash +export ALLOW_MISSING_DEPENDENCIES=true +source build/envsetup.sh +lunch twrp_sycamore_row_5G-eng +mka vendorbootimage -j$(nproc --all) +``` -```text -cmd 0x18 / cmd 24 -km_error = -33 - -AES_decrypt_ctr: -decrypt keyblob compare hash failed - -DeserializeAuthEncryptedBlob: -decrypt keyblob failed (-33) - -**Copyright (C) 2023 A-Team Digital Solutions** +**Copyright (C) 2026 BOBtheBlinker | A-Team Digital Solutions** diff --git a/V15_SOTER_PRE_0X18_STATIC_AUDIT.md b/V15_SOTER_PRE_0X18_STATIC_AUDIT.md deleted file mode 100644 index 9ca1d01..0000000 --- a/V15_SOTER_PRE_0X18_STATIC_AUDIT.md +++ /dev/null @@ -1,85 +0,0 @@ -# V15 Soter pre-0x18 state snapshot - -Date: 2026-08-27 - -Result: **PASS — diagnostic-only one-variable build; not flashed.** - -Artifact SHA-256: -`d2f542f8d475bc3699487647a041e16235f20847ee43d23e5545b55e6f2b8b1c` - -Artifact size: 67,108,864 bytes. - -## Hypothesis and change scope - -The retained V14 property dump did not prove the exact values of seven public -Microtrust/Soter properties at the instant immediately before the first cmd 0x18. - -The only functional source delta from V14 is in -`system/vold/Keymaster.cpp::Keymaster::exportKey()`: immediately after the existing -length/SHA-256 checkpoint B and before -`securityLevel->convertStorageKeyToEphemeral()`, recovery reads and logs: - -- `vendor.soter.teei.googlekey.status` -- `vendor.soter.teei.init` -- `vendor.soter.teei.km.init` -- `vendor.soter.teei.km.version` -- `vendor.soter.teei.logini` -- `vendor.soter.teei.persist` -- `vendor.soter.teei.rpmb.flag` - -The marker is `SYCA_SOTER_PRE_0X18`. The patch sets no property, changes no -service ordering, changes no request bytes, and exposes no key material. - -## Final-image differential - -Against the preserved pre-V15 current recovery fragment, complete unpacked-file -SHA-256 manifests differ only at: - -- `system/bin/recovery` - - before: `439d1fa5a5080e3ff5f293d18deb1e34aa21b48dc9ba9fd01e7e982fa83840e3` - - V15: `53683ad4e34ffb6ebe4ffb705037f224f62334d2e355b5359230cc60e106077a` -- `ramdisk-files.sha256sum` -- `ramdisk-files.txt` - -The final recovery binary contains `SYCA_SOTER_PRE_0X18`, the requested property -names, and the existing `SYCA_DEKEY_A/B` diagnostics. - -## Frozen final-image hashes - -- PLATFORM: - `06738f638a745075511c571347c5511331dda16b84d1ee88cda160c2dc7ebb14` -- DTB: - `0e93b71aacf707a5fbb7a58eff73995b92d766a31a98d8d70e91f548c9e1d5af` -- Beanpod: - `e066ff6e4f0aaa803e6633aa8fad1f54335e5b969f6422fedc44f77b033851e9` -- `libTEECommon.so`: - `d700e663bd3f68611cadef9bfc929aeb819e199cc9ef3f61a9c8d0afc2bed5b0` -- KeyMint TA: - `af4d1dc971c80b539de9e73ee792285944dd9b132d267be3bb0496bd82bb75ab` -- `teei_daemon`: - `fb79a0c59dab04edbf5ff4cd10af601c4d3dba5378b5ba3d981553f818fbb014` -- `libteei_daemon_vfs.so`: - `6012c5ccb298a411c8f7c0572b26ca237c3209ad348cd6e509a2cf71f4fccc13` -- Keystore2: - `31a9f7d9de497e06c465343ddb4d3aa3e8064c3051059c206b53d061d59f6256` -- `libkeystore2_crypto.so`: - `6e46dbfbf135c41131d64b91ce93fedf7c62077059fdbc24a5ca62b94e195132` - -## vendor_boot audit - -- header v4; page size 4096 -- cmdline: `bootopt=64S3,32N2,64N2` -- fragment 0: exact stock PLATFORM, 27,422,144 bytes -- fragment 1: RECOVERY named `recovery`, 31,678,798 bytes -- total vendor ramdisk: 59,100,942 bytes -- stock DTB exact -- bootconfig empty -- PLATFORM first, RECOVERY second -- all board_id words zero -- recovery fragment `.ko` count: zero -- only five expected module metadata files retained -- algorithm-NONE AVB footer and vendor_boot hash verify -- post-AVB image re-unpacks successfully -- final size exactly 67,108,864 bytes - -Static audit: **PASS. Stop before flashing.** diff --git a/V16_BOOT_DECRYPT_UNLOCK_STATIC_AUDIT.md b/V16_BOOT_DECRYPT_UNLOCK_STATIC_AUDIT.md deleted file mode 100644 index 39c1cdc..0000000 --- a/V16_BOOT_DECRYPT_UNLOCK_STATIC_AUDIT.md +++ /dev/null @@ -1,115 +0,0 @@ -# V16 boot-decrypt-unlock static audit - -Date: 2026-08-27 - -Result: **PASS — one-variable boot-decrypt lifecycle experiment; not flashed.** - -Artifact SHA-256: -`1fe86baa602403638e2f0c0b2b7a29bc4cd768ec2bed9256b12aa92c8ca81e09` - -Artifact size: 67,108,864 bytes. - -## Hypothesis - -The exact stock `teei_daemon` snapshots `ro.crypto.state` and -`ro.crypto.type` in its boot-decrypt thread. With `ro.crypto.type=file`, it -logs `fbe mode late` and issues the `/dev/teei_config` boot-decrypt-unlock -ioctl. V15 did not expose that initial FBE state and never set -`vendor.soter.teei.logini=start`; consequently it showed neither the daemon -unlock message nor a boot-decrypt-lock result before cmd 0x18. - -V16 tests whether reproducing those stock lifecycle inputs before the first -storage-key conversion changes cmd 0x18 from `KM_ERROR_INVALID_KEY_BLOB`. - -## Exact source changes - -- `device/motorola/sycamore_row_5G/device.mk:16-22` - - adds `ro.crypto.state=encrypted` and `ro.crypto.type=file` through - `PRODUCT_SYSTEM_DEFAULT_PROPERTIES`, placing both in the initial recovery - `prop.default` before `teei_daemon` starts. -- `device/motorola/sycamore_row_5G/recovery/root/init.recovery.crypto.rc:69-73` - - sets `vendor.soter.teei.logini=start` once the existing Soter init, - persist-VFS, and RPMB health properties simultaneously report their stock - terminal values. -- `system/vold/Keymaster.cpp:187-213` - - adds the secret-free `SYCA_V16_PRE_0X18` state snapshot immediately before - `convertStorageKeyToEphemeral()`; V15 tracing remains present. - -No other functional source was changed for V16. Cmd 0x18 serialization, -wrapped-key bytes, Beanpod, TA, private libraries, SharedSecret, patch levels, -DTB, PLATFORM, and kernel modules are unchanged. - -## Implemented ordering - -1. Initial property load exposes the real recovery FBE mode: - `ro.crypto.state=encrypted`, `ro.crypto.type=file`. -2. `on init` prepares the existing TEE device nodes and starts the exact stock - `teei_daemon`. -3. `init.svc.teei_daemon=running` starts Beanpod and Gatekeeper as in V15. -4. Once `vendor.soter.teei.init=INIT_OK`, - `vendor.soter.teei.persist=OPEN`, and - `vendor.soter.teei.rpmb.flag=ok` are all true, init sets - `vendor.soter.teei.logini=start`. -5. Existing vold flow reaches the first storage-key conversion, where V16 logs - the complete pre-0x18 public-state snapshot. - -No sleep or repeated trigger was added. `vold.post_fs_data_done` and -`vendor.soter.teei.crypto.state` were not set: the exact daemon does not -reference the former, and its `ro.crypto.type=file` startup branch does not -require the latter. - -## Final recovery-fragment differential against archived V15 - -Complete relative-path SHA-256 manifests differ only at: - -- `init.recovery.crypto.rc` (intentional logini trigger) -- `prop.default` (intentional two FBE defaults) -- `system/bin/recovery` (intentional V16 marker) -- `ramdisk-files.sha256sum` and `ramdisk-files.txt` (generated inventory) - -There are no added or removed payload paths. - -## Frozen binary/content verification - -- stock PLATFORM: - `06738f638a745075511c571347c5511331dda16b84d1ee88cda160c2dc7ebb14` -- stock DTB: - `0e93b71aacf707a5fbb7a58eff73995b92d766a31a98d8d70e91f548c9e1d5af` -- exact stock `teei_daemon`: - `fb79a0c59dab04edbf5ff4cd10af601c4d3dba5378b5ba3d981553f818fbb014` -- Beanpod: - `e066ff6e4f0aaa803e6633aa8fad1f54335e5b969f6422fedc44f77b033851e9` -- KeyMint TA: - `af4d1dc971c80b539de9e73ee792285944dd9b132d267be3bb0496bd82bb75ab` -- Keystore2: - `31a9f7d9de497e06c465343ddb4d3aa3e8064c3051059c206b53d061d59f6256` -- `libkeystore2_crypto.so`: - `6e46dbfbf135c41131d64b91ce93fedf7c62077059fdbc24a5ca62b94e195132` - -All nine stock KeyMint private-library hashes and the V15 keytrace library hash -match the frozen V15 family. The recovery fragment contains zero `.ko` files -and only the same five module metadata files. - -## Final vendor_boot audit - -- header version 4; page size 4096 -- command line `bootopt=64S3,32N2,64N2` -- bootconfig empty -- fragment 0: unnamed PLATFORM, type 1, 27,422,144 bytes, exact stock hash -- fragment 1: `recovery`, RECOVERY type 2, 31,679,640 bytes -- total vendor ramdisk size: 59,101,784 bytes -- all board IDs zero; PLATFORM first and RECOVERY second -- exact stock DTB, 192,119 bytes -- algorithm-NONE AVB footer verifies -- final image re-unpacks successfully -- final partition-padded size exactly 67,108,864 bytes - -## Expected hardware-test markers - -- `SYCA_V16_PRE_0X18` -- `daemon unlock keymaster signal to tz-driver` -- `keymaster unlock boot_decrypt_lock success` or `failed!` -- existing `SYCA_SOTER_PRE_0X18`, `SYCA_DEKEY_A/B/C/D`, `SYCA_TA_TRACE`, - cmd 0x18 hashes, and cmd result - -Static audit: **PASS. Stop before flashing.** diff --git a/V17_STOCK_THH_IDENTITY_STATIC_AUDIT.md b/V17_STOCK_THH_IDENTITY_STATIC_AUDIT.md deleted file mode 100644 index 1df9fe5..0000000 --- a/V17_STOCK_THH_IDENTITY_STATIC_AUDIT.md +++ /dev/null @@ -1,148 +0,0 @@ -# V17 stock THH identity static audit - -Date: 2026-08-27 - -Result: **PASS — controlled stock-THH/product-identity experiment; not flashed.** - -Artifact SHA-256: -`f23330a09d0b0ea4a7c902342dd62f36dcf5179cd72ed40d316819deb7c9ec50` - -Artifact size: 67,108,864 bytes. - -## Hypothesis - -V16 initialized Microtrust with an incomplete `/vendor/thh/ta` namespace and -the recovery codename as `ro.product.device`. The exact signed stock model -configuration recognizes `platform=mt8755`, `model=XT2575-4`, while V16 secure -world logged `model:sycamore_row_5G`, model verification failures, and TA load -error 18. V17 tests whether presenting the complete exact-stock THH payload -and production Microtrust-facing identity before the first `teei_daemon` -launch restores cold TA/model validation and changes cmd 0x18 behavior. - -All V16 FBE/logini behavior and crypto diagnostics are retained unchanged. - -## Exact stock source - -The files were copied from the preserved exact-firmware vendor extraction: - -`/home/nicholas/Downloads/sycamore-twrp-info/first-hardware-boot/fbe-a16-v3/ta-forensics/stock-vendor-thh/ta` - -This extraction belongs to factory baseline -`XT2575-4_ROW_OPEN_USER_M1317.3_W_ZUI_17.5.10.017_ST`. Both the staged source -tree and the final unpacked recovery fragment were compared byte-for-byte with -all 15 source files. Both comparisons pass. - -## Stock THH manifest - -| File | Bytes | SHA-256 | -|---|---:|---| -| `0102030405060708090a0b0c0d0e0f10.ta` | 20,777 | `19a5e15a2f17a6c1418c5edc6fc63a3ddd279966540930b2e97f227ce0d897ae` | -| `020f0000000000000000000000000000.ta` | 22,649 | `aba910dfbdccbf177eb107853669c6eff689b4f36e9afb2f8e04e30d8e97108b` | -| `06090000000000000000000000000000.ta` | 6,953 | `2d5cd2e906a1dab1636c59bbe037f8502aec7c25edc9172cba8da158fc6d8c36` | -| `08030000000000000000000000000000.ta` | 24,393 | `ba29286b7d24edc04275b195db120032e116828ff73241241d6d8c40855b4f03` | -| `08110000000000000000000000000000.ta` | 72,073 | `0fb3e0b70a972d4a58088978aec706399009f32f5133061efe6b7033f1ae9f17` | -| `40188311faf343488db888ad39496f9a.ta` | 9,177 | `5cb79b594721523700fe4708ea764c80144979dc698db27a18a2383159028a1c` | -| `5020170115e016302017012521300000.ta` | 10,393 | `0865a891c965a201d4e64f3b9e2f4a3f0fe899f80ff24ab88cf75b1622dc5d40` | -| `5f7a5b3b29b041bca249524a031a00e3.ta` | 32,737 | `2911bd3726ae4110877409d501329f36f5958a6686262b93814d8bb89fdb629c` | -| `8888c04fc30c4dd0a319ea29643d4d4c.ta` | 32,129 | `5b812b524f5eea79c1bc944b06d00cddc8738274166d888bf255080ab0feab09` | -| `abcd270ea5c44c58bcd3384a2fa2539e.ta` | 39,833 | `c4d5811efd695ba0550960f9c5649e6476289cbb00cb8c9d7f5cb11b7a2e2f18` | -| `c09c9c5daa504b78b0e46eda61556c3a.ta` | 930,857 | `af4d1dc971c80b539de9e73ee792285944dd9b132d267be3bb0496bd82bb75ab` | -| `c1882f2d885e4e13a8c8e2622461b2fa.ta` | 55,537 | `0a5f34be1d73535c563aaece231b2e93193ae5f2c69b8050e71b14f48956081d` | -| `d91f322ad5a441d5955110eda3272fc0.ta` | 22,177 | `4432d3f85370e41f57bf5fb6b5945326c441a394d0cbe298be5c29b2b056b954` | -| `e97c270ea5c44c58bcd3384a2fa2539e.ta` | 447,769 | `c76352a8115aba85e963d2e39466530daa8ac5db411ccea403eaf84d2c308e96` | -| `isee_model.json` | 2,794 | `67c019209942f9a68408d998e5d478b0dba5e3f5dbbc6582b146af8aaa05e3c6` | - -## Source/change scope - -- `device/motorola/sycamore_row_5G/device.mk` - - packages all 15 stock THH files and the early diagnostic script; - - adds only global `ro.product.device=XT2575-4` to the existing V16 initial - system-default property set. -- `build/make/core/Makefile` - - recovery-only, target-gated, fail-closed replacement of the two generated - vendor device/name values in final `prop.default`; vendor model was already - stock-correct. -- `device/motorola/sycamore_row_5G/recovery/root/init.recovery.crypto.rc` - - synchronously executes the readiness diagnostic immediately before the - existing first `start teei_daemon`. -- `device/motorola/sycamore_row_5G/recovery/root/system/bin/syca_v17_thh_ready.sh` - - logs only public properties, four existence results, and total file count. -- fourteen stock THH files were added under - `device/motorola/sycamore_row_5G/recovery/root/vendor/thh/ta`; the fifteenth, - the KeyMint TA, was already present and byte-identical. - -## Final initial properties - -- `ro.product.device=XT2575-4` -- `ro.product.vendor.device=XT2575-4` -- `ro.product.vendor.name=XT2575-4` -- `ro.product.vendor.model=XT2575-4` -- `ro.build.product=sycamore_row_5G` (preserved) -- `ro.crypto.type=file` (V16 preserved) -- `ro.crypto.state=encrypted` (V16 preserved) - -`PRODUCT_DEVICE=sycamore_row_5G`, the TWRP product name, target assertions, and -`ro.twrp.target.devices` behavior were not changed. - -## Cold-boot ordering - -1. Recovery ramdisk, all 15 THH files, production identity, and V16 FBE - properties exist before init actions. -2. Existing TEE/RPMB nodes and read-only persist mount are prepared. -3. Init synchronously runs `syca_v17_thh_ready.sh` and emits - `SYCA_V17_THH_READY`; expected `thh_file_count=15`. -4. Init launches the unchanged exact-stock `teei_daemon` for the first time. -5. The daemon performs cold secure-world TA/model validation. -6. Existing `init.svc.teei_daemon=running` action starts Beanpod/Gatekeeper. -7. Existing V16 healthy-state conjunction sets `logini=start`. -8. Existing vold/Keystore2 path reaches the first cmd 0x18. - -No sleep, restart, bind mount, or post-initialization substitution was added. - -## V16-to-V17 final-image differential - -Complete unpacked relative-path SHA-256 manifests show only: - -- modified: `init.recovery.crypto.rc`, `prop.default`, and generated ramdisk - inventory files; -- added: readiness script and the 14 THH files absent from V16; -- unchanged: `system/bin/recovery`, existing KeyMint TA, all secure binaries, - private libraries, Keytrace, and every other ramdisk payload. - -## Frozen architecture/binary verification - -- stock PLATFORM: - `06738f638a745075511c571347c5511331dda16b84d1ee88cda160c2dc7ebb14` -- stock DTB: - `0e93b71aacf707a5fbb7a58eff73995b92d766a31a98d8d70e91f548c9e1d5af` -- exact stock `teei_daemon`: - `fb79a0c59dab04edbf5ff4cd10af601c4d3dba5378b5ba3d981553f818fbb014` -- Beanpod: - `e066ff6e4f0aaa803e6633aa8fad1f54335e5b969f6422fedc44f77b033851e9` -- KeyMint TA: - `af4d1dc971c80b539de9e73ee792285944dd9b132d267be3bb0496bd82bb75ab` -- Keystore2: - `31a9f7d9de497e06c465343ddb4d3aa3e8064c3051059c206b53d061d59f6256` -- `libkeystore2_crypto.so`: - `6e46dbfbf135c41131d64b91ce93fedf7c62077059fdbc24a5ca62b94e195132` -- Keytrace: - `0642e36b25589ebdf16423cb3a81c8ba5dab3ffc0dcb32a58386efa8b2d7293d` - -The final recovery has zero `.ko` files and the same five module metadata -files. V16 `SYCA_V16_PRE_0X18`, `SYCA_SOTER_PRE_0X18`, -`SYCA_DEKEY_A/B/C/D`, and `SYCA_TA_TRACE` markers remain present. - -## Final vendor_boot audit - -- header v4; page size 4096 -- cmdline `bootopt=64S3,32N2,64N2`; bootconfig empty -- fragment 0: unnamed PLATFORM/type 1, 27,422,144 bytes, exact stock hash -- fragment 1: `recovery`/type 2, 32,078,301 bytes -- total vendor ramdisk: 59,500,445 bytes -- stock DTB exact; all board IDs zero -- PLATFORM first, RECOVERY second -- algorithm-NONE AVB footer and vendor_boot hash verify -- final image re-unpacks successfully -- final partition-padded size exactly 67,108,864 bytes - -Static audit: **PASS. Stop before flashing.** diff --git a/V18_1_COLD_STOCK_TEE_IDENTITY_STATIC_AUDIT.md b/V18_1_COLD_STOCK_TEE_IDENTITY_STATIC_AUDIT.md deleted file mode 100644 index d85d7c4..0000000 --- a/V18_1_COLD_STOCK_TEE_IDENTITY_STATIC_AUDIT.md +++ /dev/null @@ -1,177 +0,0 @@ -# V18.1 cold stock tee identity static audit - -Date: 2026-08-27 - -Result: **PASS — surgical init/DAC/tee-permissive experiment; not flashed.** - -Immutable baseline: -`fbe-a16-v18-stock-tee-identity` - -Baseline SHA-256: -`7c6817d5b29055ac337b26a87e3c29281e8ff2df2209521546c75bb8064642ac` - -V18.1 artifact SHA-256: -`5f57030d1cd10d6ef0c3987c8a1b3119f7e51ef23ddc21f647970cf4efb6a26d` - -Artifact size: 67,108,864 bytes. - -## Task-scoped source changes - -- `device/motorola/sycamore_row_5G/recovery/root/init.recovery.crypto.rc` - - moves exact stock Microtrust DAC and first daemon start to `on fs`; - - restores the daemon executable context before starting it; - - gates Beanpod/Gatekeeper on `vendor.soter.teei.init=INIT_OK`; - - uses stock `post-fs-data` logini lifecycle. -- `device/motorola/sycamore_row_5G/sepolicy/vendor/teei_device.te` - - adds only `permissive tee;` for this diagnostic build. - -No other source file was modified for V18.1. - -Task-scoped diff stat: - -```text -recovery/root/init.recovery.crypto.rc | 48 +++++++++++++++++++++++++++-------- -sepolicy/vendor/teei_device.te | 4 +++ -2 files changed, 41 insertions(+), 11 deletions(-) -``` - -## A. teei_daemon service - -The final unpacked recovery contains the complete V18 `-r`/`-t` UUID sequence -unchanged and exactly: - -```rc -user system -group system -disabled -capabilities SYS_RAWIO -seclabel u:r:tee:s0 -``` - -There is one primary `group system` declaration and no supplementary group. -`SYS_RAWIO` is the only capability. The final daemon binary is byte-identical -to V18: - -`fb79a0c59dab04edbf5ff4cd10af601c4d3dba5378b5ba3d981553f818fbb014` - -## B. executable runtime context - -Final `vendor_file_contexts` still contains: - -```text -/vendor/bin/teei_daemon u:object_r:tee_exec:s0 -``` - -The final init action executes: - -```rc -on fs - restorecon /vendor/bin/teei_daemon - ... - start teei_daemon -``` - -`restorecon` precedes every Microtrust DAC operation and the first daemon start. - -## C. exact stock DAC sequence - -The final `on fs` action contains, in the requested order: - -```rc -restorecon /vendor/bin/teei_daemon -chmod 0660 /dev/teei_client -chown system system /dev/teei_client -chmod 0660 /dev/teei_config -chown system system /dev/teei_config -chmod 0666 /dev/isee_tee0 -chown system drmrpc /dev/isee_tee0 -chmod 0660 /dev/tz_vfs -chown system system /dev/tz_vfs -chmod 0660 /dev/teei_fp -chown system /dev/teei_fp -chown system drmrpc /dev/ut_keymaster -chmod 0660 /dev/ut_keymaster -chmod 0660 /dev/0:0:0:49476 -chown system system /dev/0:0:0:49476 -chmod 0660 /dev/rpmb0 -chown system system /dev/rpmb0 -chmod 0660 /dev/emmcrpmb0 -chown system system /dev/emmcrpmb0 -chown system system /dev/utr_tui -chmod 0660 /dev/utr_tui -start teei_daemon -``` - -No node is manufactured. `/dev/teeperf` remains separately handled in -`on init` at mode 0660. - -The persist setup remains byte-for-byte equivalent to V18: - -```rc -mkdir /mnt/vendor/persist 0771 system system -mount ext4 /dev/block/sdc14 /mnt/vendor/persist ro noatime nosuid nodev wait noload -``` - -## D. sequencing - -- no `init.svc.teei_daemon=running` action starts security services; -- `vendor.soter.teei.init=INIT_OK` starts Beanpod and Gatekeeper; -- `on post-fs-data` sets `vendor.soter.teei.logini=start`; -- no init property action sets `vendor.soter.teei.persist` or - `vendor.soter.teei.rpmb.flag`; -- no sleep was introduced. - -## E. SELinux - -The final compiled-policy permissive-domain set differs from V18 by exactly one -entry: `tee`. Existing recovery-build permissive domains are unchanged. - -`tee` is intentionally permissive for V18.1. Global kernel/recovery enforcing -configuration was not changed, no other domain was added, existing node types -and allow rules were preserved, and policy/neverallow compilation passed. - -Final policy SHA-256: -`5d9a65cc5a28d3f7ef8ca79f1a40ba4d2548b91a6be0f115085df54b3ae7d055` - -## F. frozen crypto comparison against V18 - -Complete unpacked-file manifests differ only at: - -- `init.recovery.crypto.rc`; -- `sepolicy`; -- generated `ramdisk-files.sha256sum` and `ramdisk-files.txt`. - -Everything else is byte-identical, including: - -| Payload | SHA-256 | -|---|---| -| `teei_daemon` | `fb79a0c59dab04edbf5ff4cd10af601c4d3dba5378b5ba3d981553f818fbb014` | -| Beanpod | `e066ff6e4f0aaa803e6633aa8fad1f54335e5b969f6422fedc44f77b033851e9` | -| Gatekeeper | `7460ce26460376b24c29d2f46820ecc5646505fe24090f57aa7d05141e77d3b9` | -| Keymaster TA | `af4d1dc971c80b539de9e73ee792285944dd9b132d267be3bb0496bd82bb75ab` | -| diagnostic preload | `0642e36b25589ebdf16423cb3a81c8ba5dab3ffc0dcb32a58386efa8b2d7293d` | -| Keystore2 | `31a9f7d9de497e06c465343ddb4d3aa3e8064c3051059c206b53d061d59f6256` | -| `libkeystore2_crypto.so` | `6e46dbfbf135c41131d64b91ce93fedf7c62077059fdbc24a5ca62b94e195132` | -| cmd0x18-bearing recovery binary | `986d25bac8ceb0df6edee2731c5b92c30090f30c84977229022e33c97e9a3a89` | - -All eight private KeyMint libraries compare byte-for-byte with V18. The full -15-file THH directory, including `isee_model.json`, compares byte-for-byte with -V18. Product/model/platform and FBE property subsets are identical to V18. - -## G. stock hybrid / final image - -- header v4; page size 4096 -- cmdline `bootopt=64S3,32N2,64N2`; bootconfig empty -- fragment 0: unnamed PLATFORM/type 1, 27,422,144 bytes -- PLATFORM SHA-256: - `06738f638a745075511c571347c5511331dda16b84d1ee88cda160c2dc7ebb14` -- fragment 1: `recovery`/type 2, 32,078,214 bytes -- total vendor ramdisk: 59,500,358 bytes -- DTB SHA-256: - `0e93b71aacf707a5fbb7a58eff73995b92d766a31a98d8d70e91f548c9e1d5af` -- recovery `.ko` count: zero; same five module metadata files -- algorithm-NONE AVB footer and vendor_boot hash verify -- image re-unpacks successfully -- final size exactly 67,108,864 bytes - -Static audit: **PASS. Stop before flashing.** diff --git a/V18_STOCK_TEE_IDENTITY_STATIC_AUDIT.md b/V18_STOCK_TEE_IDENTITY_STATIC_AUDIT.md deleted file mode 100644 index dbe0ad2..0000000 --- a/V18_STOCK_TEE_IDENTITY_STATIC_AUDIT.md +++ /dev/null @@ -1,158 +0,0 @@ -# V18 stock tee identity static audit - -Date: 2026-08-27 - -Result: **PASS — controlled teei_daemon execution-identity experiment; not flashed.** - -Artifact SHA-256: -`7c6817d5b29055ac337b26a87e3c29281e8ff2df2209521546c75bb8064642ac` - -Artifact size: 67,108,864 bytes. - -## Hypothesis - -V17 fixed cold THH/model validation but still ran the unchanged stock -`teei_daemon` as root in `u:r:recovery:s0`. V18 tests whether the missing -boot-decrypt-unlock transition and cmd 0x18 key-blob failure depend on the -daemon's production process identity: UID/GID 1000, no supplementary groups, -only `CAP_SYS_RAWIO`, and enforcing `u:r:tee:s0`. - -No KeyMint, wrapped-key, FBE, secure-storage, vendor_boot, kernel, or binary -behavior was otherwise changed. - -## Service declaration differential - -V17: - -```rc -user root -group root system -capabilities SYS_RAWIO -seclabel u:r:recovery:s0 -``` - -V18: - -```rc -user system -group system -capabilities SYS_RAWIO -seclabel u:r:tee:s0 -``` - -The complete 21-entry `-r`/`-t` UUID argument sequence is byte-for-byte -unchanged. A single `group system` entry establishes the primary GID only; no -supplementary group is declared. `SYS_RAWIO` is the sole capability token. - -## SELinux audit and implementation - -The pre-V18 platform policy already defined: - -- `tee` with the `domain` attribute; -- `tee_exec` as an executable vendor-file type; -- `init_daemon_domain(tee)`, producing - `type_transition init tee_exec:process tee`. - -V17 lacked a `tee_exec` path label for `/vendor/bin/teei_daemon`, so merely -changing `seclabel` could not prove a valid launch environment. - -V18 adds the exact executable context and the narrowly scoped stock Microtrust -device contexts under `device/motorola/sycamore_row_5G/sepolicy/vendor`. The -final combined policy: - -- compiles successfully; -- passes neverallow checks; -- contains `tee` in the `domain` attribute; -- contains the init→`tee` transition; -- permits `tee` to use only the declared Microtrust node types; -- permits `tee` `sys_rawio` capability use; -- does **not** mark `tee` permissive. - -Final policy SHA-256: -`0b23e52b72848a03649e78fe005b88827d35a37bcab2ce8d394fc6d395fd94d3` - -## Exact node contexts - -These are copied from the exact stock vendor_boot `vendor_file_contexts`: - -| Path | Final type | -|---|---| -| `/dev/isee_tee0` | `teei_client_device` | -| `/dev/teei_client` | `teei_client_device` | -| `/dev/teei_config` | `teei_config_device` | -| `/dev/tz_vfs` | `teei_vfs_device` | -| `/dev/teei_fp` | `teei_fp_device` | -| `/dev/ut_keymaster` | `ut_keymaster_device` | -| `/dev/0:0:0:49476` | `teei_rpmb_device` | -| `/dev/rpmb0` | `teei_rpmb_device` | -| `/dev/utr_tui` | `utr_tui_device` | -| `/vendor/bin/teei_daemon` | `tee_exec` | - -No non-Microtrust device path was relabeled. These labels are required for the -enforcing `tee` domain to use the same interfaces that V17 accessed from the -permissive recovery domain. - -## Removed failed V17 diagnostic - -The packaged `syca_v17_thh_ready.sh` and its synchronous init `exec` were -removed. This eliminates the known invalid-domain exec failure and does not add -a replacement delay or process. V16/V17 crypto diagnostics remain intact. - -## Frozen V17/V16 state - -- all 15 stock THH files: byte-identical to the exact stock extraction; -- `isee_model.json`: unchanged; -- `ro.product.device=XT2575-4`; -- all three vendor product identity fields: `XT2575-4`; -- `ro.build.product=sycamore_row_5G`; -- `ro.crypto.type=file` and `ro.crypto.state=encrypted`; -- healthy-state `vendor.soter.teei.logini=start` ordering; -- `SYCA_V16_PRE_0X18`, `SYCA_SOTER_PRE_0X18`, - `SYCA_DEKEY_A/B/C/D`, and `SYCA_TA_TRACE`. - -## Frozen hashes - -- stock PLATFORM: - `06738f638a745075511c571347c5511331dda16b84d1ee88cda160c2dc7ebb14` -- stock DTB: - `0e93b71aacf707a5fbb7a58eff73995b92d766a31a98d8d70e91f548c9e1d5af` -- exact stock `teei_daemon`: - `fb79a0c59dab04edbf5ff4cd10af601c4d3dba5378b5ba3d981553f818fbb014` -- Beanpod: - `e066ff6e4f0aaa803e6633aa8fad1f54335e5b969f6422fedc44f77b033851e9` -- KeyMint TA: - `af4d1dc971c80b539de9e73ee792285944dd9b132d267be3bb0496bd82bb75ab` -- Keystore2: - `31a9f7d9de497e06c465343ddb4d3aa3e8064c3051059c206b53d061d59f6256` -- Keytrace: - `0642e36b25589ebdf16423cb3a81c8ba5dab3ffc0dcb32a58386efa8b2d7293d` - -## V17-to-V18 final-image differential - -Complete unpacked relative-path SHA-256 manifests differ only at: - -- `init.recovery.crypto.rc` — intended service identity and failed-diagnostic - removal; -- `sepolicy`, `vendor_file_contexts`, and `file_contexts.bin` — intended narrow - tee-domain implementation; -- removal of `system/bin/syca_v17_thh_ready.sh`; -- generated ramdisk inventory files. - -No secure binary, THH payload, property file, kernel module, or crypto -diagnostic binary changed. - -## Final vendor_boot audit - -- header v4; page size 4096 -- cmdline `bootopt=64S3,32N2,64N2`; bootconfig empty -- fragment 0: unnamed PLATFORM/type 1, 27,422,144 bytes, exact stock hash -- fragment 1: `recovery`/type 2, 32,078,200 bytes -- total vendor ramdisk: 59,500,344 bytes -- exact stock DTB; all board IDs zero -- PLATFORM first, RECOVERY second -- recovery `.ko` count: zero; same five module metadata files -- algorithm-NONE AVB footer and vendor_boot hash verify -- final image re-unpacks successfully -- final partition-padded size exactly 67,108,864 bytes - -Static audit: **PASS. Stop before flashing.** diff --git a/V19_STOCK_BEANPOD_UID_STATIC_AUDIT.md b/V19_STOCK_BEANPOD_UID_STATIC_AUDIT.md deleted file mode 100644 index cc8922c..0000000 --- a/V19_STOCK_BEANPOD_UID_STATIC_AUDIT.md +++ /dev/null @@ -1,114 +0,0 @@ -# V19 stock Beanpod UID static audit - -Date: 2026-08-27 - -Result: **PASS — one-line Beanpod Unix-identity experiment; not flashed.** - -Immutable baseline: -`fbe-a16-v18.1-cold-stock-tee-identity` - -Baseline SHA-256: -`5f57030d1cd10d6ef0c3987c8a1b3119f7e51ef23ddc21f647970cf4efb6a26d` - -V19 artifact SHA-256: -`549e214d0e58888e6d9b449fd9dafb3fa2912d76295bef18a1409e1ca60b761a` - -Artifact size: 67,108,864 bytes. - -## Hypothesis and exact change - -V19 tests whether Microtrust KeyMint storage-key cmd 0x18 depends on Beanpod's -stock Linux UID 9999. It intentionally retains the V18.1 recovery SELinux -domain so the Unix identity is the only runtime variable. - -The sole task source change is: - -`device/motorola/sycamore_row_5G/recovery/root/init.recovery.crypto.rc` - -```diff -- user root -+ user nobody -``` - -Task-scoped V18.1-to-V19 diff stat: - -```text -init.recovery.crypto.rc | 2 +- -1 file changed, 1 insertion(+), 1 deletion(-) -``` - -## 1–3. Final Beanpod service - -The final unpacked ramdisk contains: - -```rc -service vendor.keymint-beanpod /vendor/bin/hw/android.hardware.security.keymint@2.0-service.beanpod - class early_hal - user nobody - group root - disabled - seclabel u:r:recovery:s0 - setenv LD_LIBRARY_PATH /vendor/lib64:/vendor/lib64/hw:/system/lib64:/system/lib64/hw - setenv LD_PRELOAD /vendor/lib64/libsycamore_keytrace.so -``` - -There is no capability declaration and no supplementary group. Expected Linux -credentials are UID 9999, primary GID 0, empty supplementary groups, and zero -inheritable/permitted/effective/ambient capabilities. - -## 4–7. Frozen secure payloads - -Every listed final file compares byte-for-byte with the unpacked archived -V18.1 baseline: - -| Payload | SHA-256 | -|---|---| -| Beanpod | `e066ff6e4f0aaa803e6633aa8fad1f54335e5b969f6422fedc44f77b033851e9` | -| `teei_daemon` | `fb79a0c59dab04edbf5ff4cd10af601c4d3dba5378b5ba3d981553f818fbb014` | -| Gatekeeper | `7460ce26460376b24c29d2f46820ecc5646505fe24090f57aa7d05141e77d3b9` | -| Keymaster TA | `af4d1dc971c80b539de9e73ee792285944dd9b132d267be3bb0496bd82bb75ab` | -| diagnostic preload | `0642e36b25589ebdf16423cb3a81c8ba5dab3ffc0dcb32a58386efa8b2d7293d` | -| Keystore2 | `31a9f7d9de497e06c465343ddb4d3aa3e8064c3051059c206b53d061d59f6256` | -| `libkeystore2_crypto.so` | `6e46dbfbf135c41131d64b91ce93fedf7c62077059fdbc24a5ca62b94e195132` | -| cmd0x18-bearing recovery binary | `986d25bac8ceb0df6edee2731c5b92c30090f30c84977229022e33c97e9a3a89` | - -All eight private KeyMint libraries are byte-identical. The complete 15-file -THH directory, including `isee_model.json`, is byte-identical. - -## 8–11. Frozen ordering/configuration/diagnostics - -Replacing the V18.1 `user root` line with `user nobody` produces a file -byte-identical to V19 `init.recovery.crypto.rc`; therefore every other byte of -the service definitions, UUID arguments, cold `on fs` DAC sequence, INIT_OK -gate, post-fs-data logini action, persist mount, and RPMB handling is unchanged. - -Final `prop.default`, compiled SELinux policy, and `vendor_file_contexts` are -byte-identical to V18.1. This preserves: - -- V18.1 tee-domain policy and permissive state; -- all product/model/platform and FBE properties; -- all Microtrust file contexts; -- `SYCA_V16_PRE_0X18`, `SYCA_SOTER_PRE_0X18`, - `SYCA_DEKEY_A/B/C/D`, and `SYCA_TA_TRACE` instrumentation. - -## 12–16. Final vendor_boot audit - -- header v4; page size 4096 -- cmdline `bootopt=64S3,32N2,64N2`; bootconfig empty -- fragment 0: unnamed PLATFORM/type 1, 27,422,144 bytes -- PLATFORM SHA-256: - `06738f638a745075511c571347c5511331dda16b84d1ee88cda160c2dc7ebb14` -- fragment 1: `recovery`/type 2, 32,078,223 bytes -- total vendor ramdisk: 59,500,367 bytes -- DTB SHA-256: - `0e93b71aacf707a5fbb7a58eff73995b92d766a31a98d8d70e91f548c9e1d5af` -- no kernel payload was changed; recovery `.ko` count is zero and the five - module metadata filenames match V18.1 -- algorithm-NONE AVB footer and vendor_boot hash verify -- final image re-unpacks successfully -- final partition-padded size exactly 67,108,864 bytes - -Complete final ramdisk manifests differ from V18.1 only at -`init.recovery.crypto.rc` and the two generated ramdisk inventory files. - -Static audit: **PASS. Stop before flashing.** diff --git a/device.mk b/device.mk index a22a550..29c643b 100644 --- a/device.mk +++ b/device.mk @@ -18,8 +18,7 @@ PRODUCT_SOONG_NAMESPACES += $(DEVICE_PATH) # passthrough stub while keeping the generic fastbootd logical-partition path. PRODUCT_PACKAGES += \ android.hardware.fastboot@1.1-impl-mock \ - sycamore_boot_hal_stock_libbase \ - sycamore_fscryptd + sycamore_boot_hal_stock_libbase # Let TWRP publish ro.crypto.state/type when it detects /data FBE. # Stock teei_daemon begins polling before ro.crypto.type=file appears; Beanpod @@ -33,7 +32,6 @@ PRODUCT_COPY_FILES += \ $(DEVICE_PATH)/recovery/root/init.recovery.mt6835.rc:$(TARGET_COPY_OUT_RECOVERY)/root/init.recovery.mt6835.rc \ $(DEVICE_PATH)/recovery/root/init.recovery.mt8755.rc:$(TARGET_COPY_OUT_RECOVERY)/root/init.recovery.mt8755.rc \ $(DEVICE_PATH)/recovery/root/init.recovery.crypto.rc:$(TARGET_COPY_OUT_RECOVERY)/root/init.recovery.crypto.rc \ - $(DEVICE_PATH)/recovery/root/system/etc/init/zz_sycamore_fscryptd.rc:$(TARGET_COPY_OUT_RECOVERY)/root/system/etc/init/zz_sycamore_fscryptd.rc \ $(DEVICE_PATH)/recovery/root/system/etc/vintf/manifest.xml:$(TARGET_COPY_OUT_RECOVERY)/root/system/etc/vintf/manifest.xml \ $(DEVICE_PATH)/recovery/root/system/etc/vintf/manifest/android.hardware.health-service.example.xml:$(TARGET_COPY_OUT_RECOVERY)/root/system/etc/vintf/manifest/android.hardware.health-service.example.xml \ $(DEVICE_PATH)/recovery/root/vendor/manifest.xml:$(TARGET_COPY_OUT_RECOVERY)/root/vendor/manifest.xml \ @@ -79,7 +77,6 @@ PRODUCT_PACKAGES += \ sycamore_tee_imsg_log \ sycamore_tee_vfs \ sycamore_teei_daemon \ - libsycamore_keytrace PRODUCT_VENDOR_PROPERTIES += \ ro.vendor.mtk_ufs_support=1 \ @@ -94,3 +91,7 @@ PRODUCT_COPY_FILES += \ PRODUCT_COPY_FILES += \ $(LOCAL_PATH)/recovery/root/system/etc/init/zz_sycamore_hwservicemanager.rc:$(TARGET_COPY_OUT_RECOVERY)/root/system/etc/init/zz_sycamore_hwservicemanager.rc + +# Device-side Keystore2 database staging for Android 16 FBE. +PRODUCT_COPY_FILES += \ + $(DEVICE_PATH)/recovery/root/system/bin/sycamore_keystore2_stage.sh:$(TARGET_COPY_OUT_RECOVERY)/root/system/bin/sycamore_keystore2_stage.sh diff --git a/device.mk.v20.1-backup b/device.mk.v20.1-backup deleted file mode 100644 index dc732b6..0000000 --- a/device.mk.v20.1-backup +++ /dev/null @@ -1,82 +0,0 @@ -DEVICE_PATH := device/motorola/sycamore_row_5G - -PRODUCT_USE_DYNAMIC_PARTITIONS := true -ENABLE_VIRTUAL_AB := true - -# This is the exact list exposed by ro.product.ab_ota_partitions on the live build. -AB_OTA_PARTITIONS := \ - init_boot \ - product \ - system \ - system_ext \ - vendor - -PRODUCT_SOONG_NAMESPACES += $(DEVICE_PATH) - -# V16 boot-decrypt-unlock: expose the real FBE mode before teei_daemon starts. -# The stock daemon snapshots these read-only properties in its startup thread; -# setting them later from TWRP's partition scan leaves that thread waiting on -# the legacy vold.decrypt fallback instead of issuing the FBE unlock ioctl. -PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \ - ro.product.device=XT2575-4 \ - ro.crypto.state=encrypted \ - ro.crypto.type=file - -PRODUCT_COPY_FILES += \ - $(DEVICE_PATH)/recovery.fstab:$(TARGET_COPY_OUT_RECOVERY)/root/system/etc/recovery.fstab \ - $(DEVICE_PATH)/recovery/root/init.recovery.mt6835.rc:$(TARGET_COPY_OUT_RECOVERY)/root/init.recovery.mt6835.rc \ - $(DEVICE_PATH)/recovery/root/init.recovery.mt8755.rc:$(TARGET_COPY_OUT_RECOVERY)/root/init.recovery.mt8755.rc \ - $(DEVICE_PATH)/recovery/root/init.recovery.crypto.rc:$(TARGET_COPY_OUT_RECOVERY)/root/init.recovery.crypto.rc \ - $(DEVICE_PATH)/recovery/root/system/etc/vintf/manifest.xml:$(TARGET_COPY_OUT_RECOVERY)/root/system/etc/vintf/manifest.xml \ - $(DEVICE_PATH)/recovery/root/system/etc/vintf/manifest/android.hardware.health-service.example.xml:$(TARGET_COPY_OUT_RECOVERY)/root/system/etc/vintf/manifest/android.hardware.health-service.example.xml \ - $(DEVICE_PATH)/recovery/root/vendor/manifest.xml:$(TARGET_COPY_OUT_RECOVERY)/root/vendor/manifest.xml \ - $(DEVICE_PATH)/recovery/root/vendor/etc/vintf/manifest/android.hardware.health-service.example.xml:$(TARGET_COPY_OUT_RECOVERY)/root/vendor/etc/vintf/manifest/android.hardware.health-service.example.xml \ - $(DEVICE_PATH)/recovery/root/vendor/thh/ta/0102030405060708090a0b0c0d0e0f10.ta:$(TARGET_COPY_OUT_RECOVERY)/root/vendor/thh/ta/0102030405060708090a0b0c0d0e0f10.ta \ - $(DEVICE_PATH)/recovery/root/vendor/thh/ta/020f0000000000000000000000000000.ta:$(TARGET_COPY_OUT_RECOVERY)/root/vendor/thh/ta/020f0000000000000000000000000000.ta \ - $(DEVICE_PATH)/recovery/root/vendor/thh/ta/06090000000000000000000000000000.ta:$(TARGET_COPY_OUT_RECOVERY)/root/vendor/thh/ta/06090000000000000000000000000000.ta \ - $(DEVICE_PATH)/recovery/root/vendor/thh/ta/08030000000000000000000000000000.ta:$(TARGET_COPY_OUT_RECOVERY)/root/vendor/thh/ta/08030000000000000000000000000000.ta \ - $(DEVICE_PATH)/recovery/root/vendor/thh/ta/08110000000000000000000000000000.ta:$(TARGET_COPY_OUT_RECOVERY)/root/vendor/thh/ta/08110000000000000000000000000000.ta \ - $(DEVICE_PATH)/recovery/root/vendor/thh/ta/40188311faf343488db888ad39496f9a.ta:$(TARGET_COPY_OUT_RECOVERY)/root/vendor/thh/ta/40188311faf343488db888ad39496f9a.ta \ - $(DEVICE_PATH)/recovery/root/vendor/thh/ta/5020170115e016302017012521300000.ta:$(TARGET_COPY_OUT_RECOVERY)/root/vendor/thh/ta/5020170115e016302017012521300000.ta \ - $(DEVICE_PATH)/recovery/root/vendor/thh/ta/5f7a5b3b29b041bca249524a031a00e3.ta:$(TARGET_COPY_OUT_RECOVERY)/root/vendor/thh/ta/5f7a5b3b29b041bca249524a031a00e3.ta \ - $(DEVICE_PATH)/recovery/root/vendor/thh/ta/8888c04fc30c4dd0a319ea29643d4d4c.ta:$(TARGET_COPY_OUT_RECOVERY)/root/vendor/thh/ta/8888c04fc30c4dd0a319ea29643d4d4c.ta \ - $(DEVICE_PATH)/recovery/root/vendor/thh/ta/abcd270ea5c44c58bcd3384a2fa2539e.ta:$(TARGET_COPY_OUT_RECOVERY)/root/vendor/thh/ta/abcd270ea5c44c58bcd3384a2fa2539e.ta \ - $(DEVICE_PATH)/recovery/root/vendor/thh/ta/c09c9c5daa504b78b0e46eda61556c3a.ta:$(TARGET_COPY_OUT_RECOVERY)/root/vendor/thh/ta/c09c9c5daa504b78b0e46eda61556c3a.ta \ - $(DEVICE_PATH)/recovery/root/vendor/thh/ta/c1882f2d885e4e13a8c8e2622461b2fa.ta:$(TARGET_COPY_OUT_RECOVERY)/root/vendor/thh/ta/c1882f2d885e4e13a8c8e2622461b2fa.ta \ - $(DEVICE_PATH)/recovery/root/vendor/thh/ta/d91f322ad5a441d5955110eda3272fc0.ta:$(TARGET_COPY_OUT_RECOVERY)/root/vendor/thh/ta/d91f322ad5a441d5955110eda3272fc0.ta \ - $(DEVICE_PATH)/recovery/root/vendor/thh/ta/e97c270ea5c44c58bcd3384a2fa2539e.ta:$(TARGET_COPY_OUT_RECOVERY)/root/vendor/thh/ta/e97c270ea5c44c58bcd3384a2fa2539e.ta \ - $(DEVICE_PATH)/recovery/root/vendor/thh/ta/isee_model.json:$(TARGET_COPY_OUT_RECOVERY)/root/vendor/thh/ta/isee_model.json \ - $(DEVICE_PATH)/recovery/root/vendor/etc/vintf/manifest/android.hardware.security.keymint-service.beanpod.xml:$(TARGET_COPY_OUT_RECOVERY)/root/vendor/etc/vintf/manifest/android.hardware.security.keymint-service.beanpod.xml \ - $(DEVICE_PATH)/recovery/root/vendor/etc/vintf/manifest/android.hardware.security.secureclock-service.beanpod.xml:$(TARGET_COPY_OUT_RECOVERY)/root/vendor/etc/vintf/manifest/android.hardware.security.secureclock-service.beanpod.xml \ - $(DEVICE_PATH)/recovery/root/vendor/etc/vintf/manifest/android.hardware.security.sharedsecret-service.beanpod.xml:$(TARGET_COPY_OUT_RECOVERY)/root/vendor/etc/vintf/manifest/android.hardware.security.sharedsecret-service.beanpod.xml \ - $(DEVICE_PATH)/recovery/root/vendor/etc/vintf/manifest/android.hardware.gatekeeper@1.0-service.xml:$(TARGET_COPY_OUT_RECOVERY)/root/vendor/etc/vintf/manifest/android.hardware.gatekeeper@1.0-service.xml - -PRODUCT_PACKAGES += \ - sycamore_gatekeeper_impl \ - sycamore_gatekeeper_hidl \ - sycamore_gatekeeper_service \ - sycamore_gatekeeper_soft \ - sycamore_gatekeeper_tee \ - sycamore_keymint_ndk_v2 \ - sycamore_keymint_private_utils \ - sycamore_keymaster_messages \ - sycamore_keymaster_portable \ - sycamore_keymint_private \ - sycamore_puresoft_keymaster \ - sycamore_soft_attestation \ - sycamore_cppbor_external \ - sycamore_cppcose_rkp \ - sycamore_keymint_service \ - sycamore_secureclock_ndk_v1 \ - sycamore_sharedsecret_ndk_v1 \ - sycamore_tee_common \ - sycamore_tee_imsg_log \ - sycamore_tee_vfs \ - sycamore_teei_daemon \ - libsycamore_keytrace - -PRODUCT_VENDOR_PROPERTIES += \ - ro.vendor.mtk_ufs_support=1 \ - ro.vendor.mtk_boot_devices=soc/112b0000.ufshci \ - ro.hardware.gatekeeper=beanpod \ - ro.crypto.volume.filenames_mode=aes-256-cts diff --git a/diagnostics/keytrace.cpp b/diagnostics/keytrace.cpp deleted file mode 100644 index af1b0f7..0000000 --- a/diagnostics/keytrace.cpp +++ /dev/null @@ -1,298 +0,0 @@ -// Diagnostic-only Beanpod STORAGE_KEY boundary tracer. -// Logs only length and SHA-256, then calls the stock A16 implementation. - -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -namespace { - -constexpr const char* kSetKeyMaterialSymbol = - "_ZN9keymaster16ExportKeyRequest14SetKeyMaterialEPKvm"; -constexpr const char* kGetPropertySymbol = - "_ZN7android4base11GetPropertyERKNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEES9_"; - -// Microtrust uses the GlobalPlatform client ABI, but its headers are not -// shipped in this recovery tree. These declarations contain only the stable -// ABI prefix needed to inspect the four operation parameters. The 24-byte -// parameter union and 112-byte operation layout are also verified against the -// exact stock libTEECommon.so used by Beanpod. -struct TEEC_Context; -struct TEEC_Session; - -struct TEEC_SharedMemory { - void* buffer; - size_t size; -}; - -struct TEEC_TempMemoryReference { - void* buffer; - size_t size; -}; - -struct TEEC_RegisteredMemoryReference { - TEEC_SharedMemory* parent; - size_t size; - size_t offset; -}; - -union TEEC_Parameter { - TEEC_TempMemoryReference tmpref; - TEEC_RegisteredMemoryReference memref; - uint8_t abi_size[24]; -}; - -struct TEEC_Operation { - uint32_t started; - uint32_t paramTypes; - TEEC_Parameter params[4]; - void* session; -}; - -static_assert(sizeof(TEEC_Parameter) == 24); -static_assert(sizeof(TEEC_Operation) == 112); - -using TEEC_Result = uint32_t; -using InvokeCommand = TEEC_Result (*)(TEEC_Session*, uint32_t, TEEC_Operation*, uint32_t*); - -constexpr uint32_t kTeecSuccess = 0; -constexpr uint32_t kTempInput = 0x5; -constexpr uint32_t kTempOutput = 0x6; -constexpr uint32_t kTempInout = 0x7; -constexpr uint32_t kWhole = 0xc; -constexpr uint32_t kPartialInput = 0xd; -constexpr uint32_t kPartialOutput = 0xe; -constexpr uint32_t kPartialInout = 0xf; - -struct ByteRange { - const uint8_t* data = nullptr; - size_t size = 0; - bool found = false; -}; - -uint32_t ParamType(const TEEC_Operation* operation, size_t index) { - return (operation->paramTypes >> (index * 4)) & 0xf; -} - -ByteRange FindInput(const TEEC_Operation* operation) { - if (operation == nullptr) return {}; - for (size_t i = 0; i < 4; ++i) { - const uint32_t type = ParamType(operation, i); - if (type == kTempInput || type == kTempInout) { - const auto& ref = operation->params[i].tmpref; - return {static_cast(ref.buffer), ref.size, true}; - } - if (type == kWhole || type == kPartialInput || type == kPartialInout) { - const auto& ref = operation->params[i].memref; - if (ref.parent == nullptr) return {}; - const size_t offset = type == kWhole ? 0 : ref.offset; - const size_t size = type == kWhole ? ref.parent->size : ref.size; - return {static_cast(ref.parent->buffer) + offset, size, true}; - } - } - return {}; -} - -ByteRange FindOutput(const TEEC_Operation* operation) { - if (operation == nullptr) return {}; - for (size_t i = 0; i < 4; ++i) { - const uint32_t type = ParamType(operation, i); - if (type == kTempOutput || type == kTempInout) { - const auto& ref = operation->params[i].tmpref; - return {static_cast(ref.buffer), ref.size, true}; - } - if (type == kWhole || type == kPartialOutput || type == kPartialInout) { - const auto& ref = operation->params[i].memref; - if (ref.parent == nullptr) return {}; - const size_t offset = type == kWhole ? 0 : ref.offset; - const size_t size = type == kWhole ? ref.parent->size : ref.size; - return {static_cast(ref.parent->buffer) + offset, size, true}; - } - } - return {}; -} - -void DigestHex(const uint8_t* data, size_t size, char (&hex)[SHA256_DIGEST_LENGTH * 2 + 1]) { - static constexpr uint8_t empty = 0; - uint8_t digest[SHA256_DIGEST_LENGTH]; - SHA256(size == 0 ? &empty : data, size, digest); - static constexpr char digits[] = "0123456789abcdef"; - for (size_t i = 0; i < SHA256_DIGEST_LENGTH; ++i) { - hex[i * 2] = digits[digest[i] >> 4]; - hex[i * 2 + 1] = digits[digest[i] & 0x0f]; - } - hex[sizeof(hex) - 1] = '\0'; -} - -bool HasKeymasterError(uint32_t command) { - switch (command) { - case 0x04: - case 0x08: - case 0x0c: - case 0x18: - case 0x48: - case 0x4c: - case 0x50: - case 0x84: - case 0x340000: - return true; - default: - return false; - } -} - -void LogDigest(const void* data, size_t size) { - if (size != 64) return; - - static std::atomic_flag logged = ATOMIC_FLAG_INIT; - if (logged.test_and_set()) return; - - uint8_t digest[SHA256_DIGEST_LENGTH]; - SHA256(static_cast(data), size, digest); - char hex[SHA256_DIGEST_LENGTH * 2 + 1]; - static constexpr char digits[] = "0123456789abcdef"; - for (size_t i = 0; i < SHA256_DIGEST_LENGTH; ++i) { - hex[i * 2] = digits[digest[i] >> 4]; - hex[i * 2 + 1] = digits[digest[i] & 0x0f]; - } - hex[sizeof(hex) - 1] = '\0'; - __android_log_print(ANDROID_LOG_INFO, "SYCA_DEKEY", - "SYCA_DEKEY_D len=%zu sha256=%s", size, hex); -} - -} // namespace - -// Diagnostic V13: interpose the single GlobalPlatform boundary used by both -// Beanpod request wrappers. This observes the registered-memory ranges but -// never writes to the operation, shared memory, result, or return-origin. -extern "C" TEEC_Result TEEC_InvokeCommand(TEEC_Session* session, uint32_t command, - TEEC_Operation* operation, uint32_t* return_origin) { - static const InvokeCommand original = - reinterpret_cast(dlsym(RTLD_NEXT, "TEEC_InvokeCommand")); - if (original == nullptr) { - __android_log_print(ANDROID_LOG_FATAL, "SYCA_TA_TRACE", - "stock TEEC_InvokeCommand symbol unavailable"); - __builtin_trap(); - } - - static std::atomic next_sequence{0}; - const uint64_t sequence = next_sequence.fetch_add(1, std::memory_order_relaxed) + 1; - const ByteRange input = FindInput(operation); - const ByteRange output_before = FindOutput(operation); - const uint8_t* input_data = input.found ? input.data : nullptr; - const size_t input_size = input.found ? input.size : 0; - char input_hash[SHA256_DIGEST_LENGTH * 2 + 1]; - DigestHex(input_data, input_size, input_hash); - - __android_log_print(ANDROID_LOG_INFO, "SYCA_TA_TRACE", - "SYCA_TA_SEQ=%llu session=0x%llx cmd=0x%x in_len=%zu " - "in_sha256=%s out_capacity=%zu", - static_cast(sequence), - static_cast(reinterpret_cast(session)), - command, input_size, input_hash, - output_before.found ? output_before.size : 0); - - const TEEC_Result result = original(session, command, operation, return_origin); - - const ByteRange output_after = FindOutput(operation); - // A failed TEEC transport did not return a serialized TA response. The - // memref can still retain its pre-call capacity, which must not be logged - // or hashed as though it were returned data. - const bool has_response = result == kTeecSuccess && output_after.found; - const uint8_t* output_data = has_response ? output_after.data : nullptr; - const size_t output_size = has_response ? output_after.size : 0; - char output_hash[SHA256_DIGEST_LENGTH * 2 + 1]; - DigestHex(output_data, output_size, output_hash); - char origin[16]; - if (return_origin == nullptr) { - memcpy(origin, "NA", 3); - } else { - snprintf(origin, sizeof(origin), "%u", *return_origin); - } - - if (result == kTeecSuccess && HasKeymasterError(command) && output_size >= sizeof(int32_t)) { - int32_t keymaster_error; - memcpy(&keymaster_error, output_data, sizeof(keymaster_error)); - __android_log_print(ANDROID_LOG_INFO, "SYCA_TA_TRACE", - "SYCA_TA_RET_SEQ=%llu cmd=0x%x teec_ret=%u origin=%s out_len=%zu " - "out_sha256=%s km_error=%d", - static_cast(sequence), command, result, origin, - output_size, output_hash, keymaster_error); - } else { - __android_log_print(ANDROID_LOG_INFO, "SYCA_TA_TRACE", - "SYCA_TA_RET_SEQ=%llu cmd=0x%x teec_ret=%u origin=%s out_len=%zu " - "out_sha256=%s", - static_cast(sequence), command, result, origin, - output_size, output_hash); - } - return result; -} - -namespace android::base { - -// V10-IDENTITY one-variable experiment. Beanpod obtains these two fields -// through android::base::GetProperty() while constructing BPConfigureRequest -// for command 0x48. Override only these Beanpod-facing lookups and delegate -// every other property unchanged. -std::string GetProperty(const std::string& key, const std::string& default_value) { - if (key == "ro.product.name" || key == "ro.product.device") { - constexpr const char* kStockIdentity = "XT2575-4"; - __android_log_print(ANDROID_LOG_INFO, "SYCA_IDENTITY", - "%s=%s", key.c_str(), kStockIdentity); - return kStockIdentity; - } - - using Original = std::string (*)(const std::string&, const std::string&); - static const Original original = - reinterpret_cast(dlsym(RTLD_NEXT, kGetPropertySymbol)); - if (original == nullptr) { - __android_log_print(ANDROID_LOG_FATAL, "SYCA_IDENTITY", - "stock GetProperty symbol unavailable"); - __builtin_trap(); - } - return original(key, default_value); -} - -} // namespace android::base - -namespace keymaster { - -// V9-OSVERSION one-variable experiment. Beanpod dynamically imports this -// helper when building BPConfigureRequest for command 0x48. Keep recovery's -// global Android 12 properties intact and change only the value observed by -// this Beanpod process. -uint32_t GetOsVersion() { - constexpr uint32_t kAndroid16OsVersion = 160000; - __android_log_print(ANDROID_LOG_INFO, "SYCA_OSVERSION", - "Beanpod ConfigDeviceInfo os_version=%u", - kAndroid16OsVersion); - return kAndroid16OsVersion; -} - -class ExportKeyRequest { - public: - void SetKeyMaterial(const void* key_material, size_t length); -}; - -void ExportKeyRequest::SetKeyMaterial(const void* key_material, size_t length) { - using Original = void (*)(ExportKeyRequest*, const void*, size_t); - static const Original original = reinterpret_cast( - dlsym(RTLD_NEXT, kSetKeyMaterialSymbol)); - - LogDigest(key_material, length); - if (original == nullptr) { - __android_log_print(ANDROID_LOG_FATAL, "SYCA_DEKEY", - "stock SetKeyMaterial symbol unavailable"); - __builtin_trap(); - } - original(this, key_material, length); -} - -} // namespace keymaster diff --git a/fscryptd/sycamore_fscryptd.cpp b/fscryptd/sycamore_fscryptd.cpp deleted file mode 100644 index eb795ab..0000000 --- a/fscryptd/sycamore_fscryptd.cpp +++ /dev/null @@ -1,222 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include - -#include "FsCrypt.h" -#include "SycamoreFscryptIpc.h" - -namespace sycamore = android::vold::sycamore; - -namespace { - -bool ReadFully(int fd, void* data, size_t size) { - auto* p = static_cast(data); - while (size != 0) { - ssize_t n = TEMP_FAILURE_RETRY(read(fd, p, size)); - if (n <= 0) return false; - p += n; - size -= n; - } - return true; -} - -bool WriteFully(int fd, const void* data, size_t size) { - const auto* p = static_cast(data); - while (size != 0) { - ssize_t n = TEMP_FAILURE_RETRY(write(fd, p, size)); - if (n <= 0) return false; - p += n; - size -= n; - } - return true; -} - -template -bool Consume(const std::vector& payload, size_t* offset, T* value) { - if (*offset > payload.size() || sizeof(T) > payload.size() - *offset) return false; - memcpy(value, payload.data() + *offset, sizeof(T)); - *offset += sizeof(T); - return true; -} - -template -void Append(std::vector* payload, const T& value) { - const auto* p = reinterpret_cast(&value); - payload->insert(payload->end(), p, p + sizeof(value)); -} - -bool IsRecoveryPeer(int fd) { - ucred cred = {}; - socklen_t cred_len = sizeof(cred); - if (getsockopt(fd, SOL_SOCKET, SO_PEERCRED, &cred, &cred_len) == -1 || cred.uid != 0) { - return false; - } - char context[128] = {}; - socklen_t context_len = sizeof(context); - if (getsockopt(fd, SOL_SOCKET, SO_PEERSEC, context, &context_len) == -1) return false; - return std::string(context, strnlen(context, context_len)) == "u:r:recovery:s0"; -} - -int32_t Dispatch(sycamore::Command command, std::vector* request, - std::vector* response) { - size_t offset = 0; - switch (command) { - case sycamore::Command::kPing: - return request->empty() ? 0 : -EINVAL; - case sycamore::Command::kInitSystemwide: - if (!request->empty()) return -EINVAL; - LOG(INFO) << "sycamore_fscryptd: INIT_SYSTEMWIDE begin"; - if (!fscrypt_initialize_systemwide_keys()) { - LOG(ERROR) << "sycamore_fscryptd: INIT_SYSTEMWIDE fail"; - return -EIO; - } - LOG(INFO) << "sycamore_fscryptd: INIT_SYSTEMWIDE success"; - return 0; - case sycamore::Command::kInitUser0: - if (!request->empty()) return -EINVAL; - LOG(INFO) << "sycamore_fscryptd: INIT_USER0 begin"; - if (!fscrypt_init_user0()) { - LOG(ERROR) << "sycamore_fscryptd: INIT_USER0 fail"; - return -EIO; - } - LOG(INFO) << "sycamore_fscryptd: INIT_USER0 success"; - return 0; - case sycamore::Command::kUnlockUser: { - int32_t user_id; - int32_t serial; - uint32_t secret_size; - if (!Consume(*request, &offset, &user_id) || !Consume(*request, &offset, &serial) || - !Consume(*request, &offset, &secret_size) || user_id < 0 || user_id > 9999 || - secret_size > 1024 || secret_size != request->size() - offset) { - return -EINVAL; - } - std::string secret(reinterpret_cast(request->data() + offset), secret_size); - LOG(INFO) << "sycamore_fscryptd: UNLOCK_USER user=" << user_id << " begin"; - bool ok = fscrypt_unlock_user_key(user_id, serial, secret); - std::fill(secret.begin(), secret.end(), '\0'); - std::fill(request->begin(), request->end(), 0); - if (ok) { - LOG(INFO) << "sycamore_fscryptd: UNLOCK_USER user=" << user_id << " success"; - } else { - LOG(ERROR) << "sycamore_fscryptd: UNLOCK_USER user=" << user_id << " fail"; - } - return ok ? 0 : -EIO; - } - case sycamore::Command::kPrepareUserStorage: { - int32_t user_id; - int32_t serial; - int32_t flags; - uint32_t uuid_size; - if (!Consume(*request, &offset, &user_id) || !Consume(*request, &offset, &serial) || - !Consume(*request, &offset, &flags) || !Consume(*request, &offset, &uuid_size) || - user_id < 0 || user_id > 9999 || uuid_size > 128 || - uuid_size != request->size() - offset || (flags & ~3) != 0 || flags == 0) { - return -EINVAL; - } - std::string uuid(reinterpret_cast(request->data() + offset), uuid_size); - return fscrypt_prepare_user_storage(uuid, user_id, serial, flags) ? 0 : -EIO; - } - case sycamore::Command::kClassifyPolicy: { - uint32_t ref_size; - if (!Consume(*request, &offset, &ref_size) || ref_size == 0 || ref_size > 64 || - ref_size != request->size() - offset) { - return -EINVAL; - } - std::string ref(reinterpret_cast(request->data() + offset), ref_size); - FscryptPolicyKind kind = FscryptPolicyKind::kUnknown; - userid_t user_id = 0; - if (!fscrypt_classify_policy_ref(ref, &kind, &user_id)) return -ENOENT; - int32_t kind_value = static_cast(kind); - int32_t uid = user_id; - Append(response, kind_value); - Append(response, uid); - return 0; - } - case sycamore::Command::kResolvePolicy: { - int32_t kind_value; - int32_t user_id; - if (!Consume(*request, &offset, &kind_value) || !Consume(*request, &offset, &user_id) || - offset != request->size() || user_id < 0 || user_id > 9999) { - return -EINVAL; - } - std::string ref; - if (!fscrypt_resolve_policy_ref(static_cast(kind_value), user_id, - &ref) || - ref.empty() || ref.size() > 64) { - return -ENOENT; - } - response->assign(ref.begin(), ref.end()); - return 0; - } - default: - return -ENOTSUP; - } -} - -void HandleClient(int fd) { - if (!IsRecoveryPeer(fd)) { - LOG(ERROR) << "sycamore_fscryptd: rejected unauthorized peer"; - return; - } - sycamore::RequestHeader header = {}; - if (!ReadFully(fd, &header, sizeof(header)) || header.magic != sycamore::kMagic || - header.version != sycamore::kVersion || header.payload_size > sycamore::kMaxPayload) { - return; - } - std::vector request(header.payload_size); - if (!request.empty() && !ReadFully(fd, request.data(), request.size())) return; - std::vector response; - int32_t status = Dispatch(static_cast(header.command), &request, &response); - sycamore::ResponseHeader reply{sycamore::kMagic, sycamore::kVersion, header.command, status, - static_cast(response.size())}; - WriteFully(fd, &reply, sizeof(reply)); - if (!response.empty()) WriteFully(fd, response.data(), response.size()); - std::fill(request.begin(), request.end(), 0); -} - -int CreateServerSocket() { - int fd = socket(AF_UNIX, SOCK_STREAM | SOCK_CLOEXEC, 0); - if (fd == -1) return -1; - sockaddr_un addr = {}; - addr.sun_family = AF_UNIX; - static_assert(sizeof(sycamore::kSocketName) <= sizeof(addr.sun_path)); - memcpy(addr.sun_path + 1, sycamore::kSocketName, sizeof(sycamore::kSocketName) - 1); - socklen_t len = offsetof(sockaddr_un, sun_path) + 1 + sizeof(sycamore::kSocketName) - 1; - if (bind(fd, reinterpret_cast(&addr), len) == -1 || listen(fd, 4) == -1) { - close(fd); - return -1; - } - return fd; -} - -} // namespace - -int main() { - signal(SIGPIPE, SIG_IGN); - int server = CreateServerSocket(); - if (server == -1) { - PLOG(ERROR) << "sycamore_fscryptd: unable to create private socket"; - return 1; - } - LOG(INFO) << "sycamore_fscryptd: started"; - for (;;) { - int client = TEMP_FAILURE_RETRY(accept4(server, nullptr, nullptr, SOCK_CLOEXEC)); - if (client == -1) { - if (errno == EINTR) continue; - PLOG(ERROR) << "sycamore_fscryptd: accept failed"; - return 1; - } - HandleClient(client); - close(client); - } -} diff --git a/prebuilt/modules/8250_mtk.ko b/prebuilt/modules/8250_mtk.ko deleted file mode 100644 index 5a2766d..0000000 Binary files a/prebuilt/modules/8250_mtk.ko and /dev/null differ diff --git a/prebuilt/modules/adapter_class.ko b/prebuilt/modules/adapter_class.ko deleted file mode 100644 index 9dd155d..0000000 Binary files a/prebuilt/modules/adapter_class.ko and /dev/null differ diff --git a/prebuilt/modules/aee_aed.ko b/prebuilt/modules/aee_aed.ko deleted file mode 100644 index d871a11..0000000 Binary files a/prebuilt/modules/aee_aed.ko and /dev/null differ diff --git a/prebuilt/modules/aee_hangdet.ko b/prebuilt/modules/aee_hangdet.ko deleted file mode 100644 index 37bddd3..0000000 Binary files a/prebuilt/modules/aee_hangdet.ko and /dev/null differ diff --git a/prebuilt/modules/aee_rs.ko b/prebuilt/modules/aee_rs.ko deleted file mode 100644 index d00627a..0000000 Binary files a/prebuilt/modules/aee_rs.ko and /dev/null differ diff --git a/prebuilt/modules/arm_dsu_pmu.ko b/prebuilt/modules/arm_dsu_pmu.ko deleted file mode 100644 index 8037adf..0000000 Binary files a/prebuilt/modules/arm_dsu_pmu.ko and /dev/null differ diff --git a/prebuilt/modules/blocktag.ko b/prebuilt/modules/blocktag.ko deleted file mode 100644 index 2be15de..0000000 Binary files a/prebuilt/modules/blocktag.ko and /dev/null differ diff --git a/prebuilt/modules/bootprof.ko b/prebuilt/modules/bootprof.ko deleted file mode 100644 index a533006..0000000 Binary files a/prebuilt/modules/bootprof.ko and /dev/null differ diff --git a/prebuilt/modules/bus-parity.ko b/prebuilt/modules/bus-parity.ko deleted file mode 100644 index 5b3efd4..0000000 Binary files a/prebuilt/modules/bus-parity.ko and /dev/null differ diff --git a/prebuilt/modules/cache-parity.ko b/prebuilt/modules/cache-parity.ko deleted file mode 100644 index 9696407..0000000 Binary files a/prebuilt/modules/cache-parity.ko and /dev/null differ diff --git a/prebuilt/modules/cfg80211.ko b/prebuilt/modules/cfg80211.ko deleted file mode 100644 index 3be8c8c..0000000 Binary files a/prebuilt/modules/cfg80211.ko and /dev/null differ diff --git a/prebuilt/modules/charger_class.ko b/prebuilt/modules/charger_class.ko deleted file mode 100644 index bb43574..0000000 Binary files a/prebuilt/modules/charger_class.ko and /dev/null differ diff --git a/prebuilt/modules/clk-bringup.ko b/prebuilt/modules/clk-bringup.ko deleted file mode 100644 index 264306d..0000000 Binary files a/prebuilt/modules/clk-bringup.ko and /dev/null differ diff --git a/prebuilt/modules/clk-chk-mt6835.ko b/prebuilt/modules/clk-chk-mt6835.ko deleted file mode 100644 index d5904d9..0000000 Binary files a/prebuilt/modules/clk-chk-mt6835.ko and /dev/null differ diff --git a/prebuilt/modules/clk-common.ko b/prebuilt/modules/clk-common.ko deleted file mode 100644 index a81b9c6..0000000 Binary files a/prebuilt/modules/clk-common.ko and /dev/null differ diff --git a/prebuilt/modules/clk-dbg-mt6835.ko b/prebuilt/modules/clk-dbg-mt6835.ko deleted file mode 100644 index 5a94720..0000000 Binary files a/prebuilt/modules/clk-dbg-mt6835.ko and /dev/null differ diff --git a/prebuilt/modules/clk-disable-unused.ko b/prebuilt/modules/clk-disable-unused.ko deleted file mode 100644 index 1472001..0000000 Binary files a/prebuilt/modules/clk-disable-unused.ko and /dev/null differ diff --git a/prebuilt/modules/clk-fmeter-mt6835.ko b/prebuilt/modules/clk-fmeter-mt6835.ko deleted file mode 100644 index d8b4a2e..0000000 Binary files a/prebuilt/modules/clk-fmeter-mt6835.ko and /dev/null differ diff --git a/prebuilt/modules/clk-mt6835-adsp.ko b/prebuilt/modules/clk-mt6835-adsp.ko deleted file mode 100644 index d07eab3..0000000 Binary files a/prebuilt/modules/clk-mt6835-adsp.ko and /dev/null differ diff --git a/prebuilt/modules/clk-mt6835-bus.ko b/prebuilt/modules/clk-mt6835-bus.ko deleted file mode 100644 index 6d06b77..0000000 Binary files a/prebuilt/modules/clk-mt6835-bus.ko and /dev/null differ diff --git a/prebuilt/modules/clk-mt6835-cam.ko b/prebuilt/modules/clk-mt6835-cam.ko deleted file mode 100644 index 1ae0e10..0000000 Binary files a/prebuilt/modules/clk-mt6835-cam.ko and /dev/null differ diff --git a/prebuilt/modules/clk-mt6835-img.ko b/prebuilt/modules/clk-mt6835-img.ko deleted file mode 100644 index a38321f..0000000 Binary files a/prebuilt/modules/clk-mt6835-img.ko and /dev/null differ diff --git a/prebuilt/modules/clk-mt6835-imgsys1.ko b/prebuilt/modules/clk-mt6835-imgsys1.ko deleted file mode 100644 index d1530f3..0000000 Binary files a/prebuilt/modules/clk-mt6835-imgsys1.ko and /dev/null differ diff --git a/prebuilt/modules/clk-mt6835-mdpsys.ko b/prebuilt/modules/clk-mt6835-mdpsys.ko deleted file mode 100644 index 69d6240..0000000 Binary files a/prebuilt/modules/clk-mt6835-mdpsys.ko and /dev/null differ diff --git a/prebuilt/modules/clk-mt6835-mfgcfg.ko b/prebuilt/modules/clk-mt6835-mfgcfg.ko deleted file mode 100644 index 97a7353..0000000 Binary files a/prebuilt/modules/clk-mt6835-mfgcfg.ko and /dev/null differ diff --git a/prebuilt/modules/clk-mt6835-mmsys.ko b/prebuilt/modules/clk-mt6835-mmsys.ko deleted file mode 100644 index 4a9ad99..0000000 Binary files a/prebuilt/modules/clk-mt6835-mmsys.ko and /dev/null differ diff --git a/prebuilt/modules/clk-mt6835-nemi_reg.ko b/prebuilt/modules/clk-mt6835-nemi_reg.ko deleted file mode 100644 index 39913c6..0000000 Binary files a/prebuilt/modules/clk-mt6835-nemi_reg.ko and /dev/null differ diff --git a/prebuilt/modules/clk-mt6835-peri.ko b/prebuilt/modules/clk-mt6835-peri.ko deleted file mode 100644 index c9f3e62..0000000 Binary files a/prebuilt/modules/clk-mt6835-peri.ko and /dev/null differ diff --git a/prebuilt/modules/clk-mt6835-scp_iic.ko b/prebuilt/modules/clk-mt6835-scp_iic.ko deleted file mode 100644 index 1cf4ee6..0000000 Binary files a/prebuilt/modules/clk-mt6835-scp_iic.ko and /dev/null differ diff --git a/prebuilt/modules/clk-mt6835-sramrc_apb.ko b/prebuilt/modules/clk-mt6835-sramrc_apb.ko deleted file mode 100644 index 60e448f..0000000 Binary files a/prebuilt/modules/clk-mt6835-sramrc_apb.ko and /dev/null differ diff --git a/prebuilt/modules/clk-mt6835-vcodec.ko b/prebuilt/modules/clk-mt6835-vcodec.ko deleted file mode 100644 index c04f8fa..0000000 Binary files a/prebuilt/modules/clk-mt6835-vcodec.ko and /dev/null differ diff --git a/prebuilt/modules/clk-mt6835.ko b/prebuilt/modules/clk-mt6835.ko deleted file mode 100644 index c4591c2..0000000 Binary files a/prebuilt/modules/clk-mt6835.ko and /dev/null differ diff --git a/prebuilt/modules/clkbuf.ko b/prebuilt/modules/clkbuf.ko deleted file mode 100644 index 86bc0c6..0000000 Binary files a/prebuilt/modules/clkbuf.ko and /dev/null differ diff --git a/prebuilt/modules/cmdq-platform-mt6835.ko b/prebuilt/modules/cmdq-platform-mt6835.ko deleted file mode 100644 index 830110b..0000000 Binary files a/prebuilt/modules/cmdq-platform-mt6835.ko and /dev/null differ diff --git a/prebuilt/modules/cmdq_helper_inf.ko b/prebuilt/modules/cmdq_helper_inf.ko deleted file mode 100644 index 7809f49..0000000 Binary files a/prebuilt/modules/cmdq_helper_inf.ko and /dev/null differ diff --git a/prebuilt/modules/cqhci.ko b/prebuilt/modules/cqhci.ko deleted file mode 100644 index ac29a47..0000000 Binary files a/prebuilt/modules/cqhci.ko and /dev/null differ diff --git a/prebuilt/modules/dbgtop-drm.ko b/prebuilt/modules/dbgtop-drm.ko deleted file mode 100644 index e15d918..0000000 Binary files a/prebuilt/modules/dbgtop-drm.ko and /dev/null differ diff --git a/prebuilt/modules/device-apc-common.ko b/prebuilt/modules/device-apc-common.ko deleted file mode 100644 index ffbeb44..0000000 Binary files a/prebuilt/modules/device-apc-common.ko and /dev/null differ diff --git a/prebuilt/modules/device-apc-mt6835.ko b/prebuilt/modules/device-apc-mt6835.ko deleted file mode 100644 index 5e8d9d3..0000000 Binary files a/prebuilt/modules/device-apc-mt6835.ko and /dev/null differ diff --git a/prebuilt/modules/emi-mpu.ko b/prebuilt/modules/emi-mpu.ko deleted file mode 100644 index 646dfd9..0000000 Binary files a/prebuilt/modules/emi-mpu.ko and /dev/null differ diff --git a/prebuilt/modules/emi.ko b/prebuilt/modules/emi.ko deleted file mode 100644 index c6c51d4..0000000 Binary files a/prebuilt/modules/emi.ko and /dev/null differ diff --git a/prebuilt/modules/extcon-mtk-usb.ko b/prebuilt/modules/extcon-mtk-usb.ko deleted file mode 100644 index c1dad9c..0000000 Binary files a/prebuilt/modules/extcon-mtk-usb.ko and /dev/null differ diff --git a/prebuilt/modules/extdev_io_class.ko b/prebuilt/modules/extdev_io_class.ko deleted file mode 100644 index cada476..0000000 Binary files a/prebuilt/modules/extdev_io_class.ko and /dev/null differ diff --git a/prebuilt/modules/fusb304.ko b/prebuilt/modules/fusb304.ko deleted file mode 100644 index f3a0fab..0000000 Binary files a/prebuilt/modules/fusb304.ko and /dev/null differ diff --git a/prebuilt/modules/gt9896s.ko b/prebuilt/modules/gt9896s.ko deleted file mode 100644 index fcf8940..0000000 Binary files a/prebuilt/modules/gt9896s.ko and /dev/null differ diff --git a/prebuilt/modules/hqsysfs.ko b/prebuilt/modules/hqsysfs.ko deleted file mode 100644 index 14dc7f9..0000000 Binary files a/prebuilt/modules/hqsysfs.ko and /dev/null differ diff --git a/prebuilt/modules/hx83102j.ko b/prebuilt/modules/hx83102j.ko deleted file mode 100644 index 15a9e4d..0000000 Binary files a/prebuilt/modules/hx83102j.ko and /dev/null differ diff --git a/prebuilt/modules/i2c-mt65xx.ko b/prebuilt/modules/i2c-mt65xx.ko deleted file mode 100644 index 083935e..0000000 Binary files a/prebuilt/modules/i2c-mt65xx.ko and /dev/null differ diff --git a/prebuilt/modules/iommu_debug.ko b/prebuilt/modules/iommu_debug.ko deleted file mode 100644 index 5cafb98..0000000 Binary files a/prebuilt/modules/iommu_debug.ko and /dev/null differ diff --git a/prebuilt/modules/iommu_secure.ko b/prebuilt/modules/iommu_secure.ko deleted file mode 100644 index 97ee4c8..0000000 Binary files a/prebuilt/modules/iommu_secure.ko and /dev/null differ diff --git a/prebuilt/modules/iommu_test.ko b/prebuilt/modules/iommu_test.ko deleted file mode 100644 index a51f2be..0000000 Binary files a/prebuilt/modules/iommu_test.ko and /dev/null differ diff --git a/prebuilt/modules/irq-dbg.ko b/prebuilt/modules/irq-dbg.ko deleted file mode 100644 index a7b23f2..0000000 Binary files a/prebuilt/modules/irq-dbg.ko and /dev/null differ diff --git a/prebuilt/modules/isee.ko b/prebuilt/modules/isee.ko deleted file mode 100644 index 95c0b93..0000000 Binary files a/prebuilt/modules/isee.ko and /dev/null differ diff --git a/prebuilt/modules/leds-gpio.ko b/prebuilt/modules/leds-gpio.ko deleted file mode 100644 index 7a1e2ec..0000000 Binary files a/prebuilt/modules/leds-gpio.ko and /dev/null differ diff --git a/prebuilt/modules/leds-mtk-disp.ko b/prebuilt/modules/leds-mtk-disp.ko deleted file mode 100644 index ff4bbd5..0000000 Binary files a/prebuilt/modules/leds-mtk-disp.ko and /dev/null differ diff --git a/prebuilt/modules/leds-mtk-pwm.ko b/prebuilt/modules/leds-mtk-pwm.ko deleted file mode 100644 index 028b530..0000000 Binary files a/prebuilt/modules/leds-mtk-pwm.ko and /dev/null differ diff --git a/prebuilt/modules/leds-mtk.ko b/prebuilt/modules/leds-mtk.ko deleted file mode 100644 index e1d9a67..0000000 Binary files a/prebuilt/modules/leds-mtk.ko and /dev/null differ diff --git a/prebuilt/modules/lenovo_keyboard.ko b/prebuilt/modules/lenovo_keyboard.ko deleted file mode 100644 index 1117b05..0000000 Binary files a/prebuilt/modules/lenovo_keyboard.ko and /dev/null differ diff --git a/prebuilt/modules/load_track.ko b/prebuilt/modules/load_track.ko deleted file mode 100644 index a4d3ee6..0000000 Binary files a/prebuilt/modules/load_track.ko and /dev/null differ diff --git a/prebuilt/modules/log_store.ko b/prebuilt/modules/log_store.ko deleted file mode 100644 index 0e6994d..0000000 Binary files a/prebuilt/modules/log_store.ko and /dev/null differ diff --git a/prebuilt/modules/mac80211.ko b/prebuilt/modules/mac80211.ko deleted file mode 100644 index b417637..0000000 Binary files a/prebuilt/modules/mac80211.ko and /dev/null differ diff --git a/prebuilt/modules/mcDrvModule.ko b/prebuilt/modules/mcDrvModule.ko deleted file mode 100644 index e13c8c4..0000000 Binary files a/prebuilt/modules/mcDrvModule.ko and /dev/null differ diff --git a/prebuilt/modules/mediatek-drm-gateic.ko b/prebuilt/modules/mediatek-drm-gateic.ko deleted file mode 100644 index 1b855c7..0000000 Binary files a/prebuilt/modules/mediatek-drm-gateic.ko and /dev/null differ diff --git a/prebuilt/modules/mediatek-drm-panel-drv.ko b/prebuilt/modules/mediatek-drm-panel-drv.ko deleted file mode 100644 index 2090372..0000000 Binary files a/prebuilt/modules/mediatek-drm-panel-drv.ko and /dev/null differ diff --git a/prebuilt/modules/mediatek-drm.ko b/prebuilt/modules/mediatek-drm.ko deleted file mode 100644 index a97c509..0000000 Binary files a/prebuilt/modules/mediatek-drm.ko and /dev/null differ diff --git a/prebuilt/modules/mm8013.ko b/prebuilt/modules/mm8013.ko deleted file mode 100644 index 82c74ea..0000000 Binary files a/prebuilt/modules/mm8013.ko and /dev/null differ diff --git a/prebuilt/modules/mmprofile.ko b/prebuilt/modules/mmprofile.ko deleted file mode 100644 index 50ba730..0000000 Binary files a/prebuilt/modules/mmprofile.ko and /dev/null differ diff --git a/prebuilt/modules/mmqos-common.ko b/prebuilt/modules/mmqos-common.ko deleted file mode 100644 index 9dc4a76..0000000 Binary files a/prebuilt/modules/mmqos-common.ko and /dev/null differ diff --git a/prebuilt/modules/mmqos-mt6835.ko b/prebuilt/modules/mmqos-mt6835.ko deleted file mode 100644 index 529746b..0000000 Binary files a/prebuilt/modules/mmqos-mt6835.ko and /dev/null differ diff --git a/prebuilt/modules/monitor_hang.ko b/prebuilt/modules/monitor_hang.ko deleted file mode 100644 index 5c8b74c..0000000 Binary files a/prebuilt/modules/monitor_hang.ko and /dev/null differ diff --git a/prebuilt/modules/mrdump.ko b/prebuilt/modules/mrdump.ko deleted file mode 100644 index 9b89eea..0000000 Binary files a/prebuilt/modules/mrdump.ko and /dev/null differ diff --git a/prebuilt/modules/mt6315-regulator.ko b/prebuilt/modules/mt6315-regulator.ko deleted file mode 100644 index 74cd32d..0000000 Binary files a/prebuilt/modules/mt6315-regulator.ko and /dev/null differ diff --git a/prebuilt/modules/mt6375-adc.ko b/prebuilt/modules/mt6375-adc.ko deleted file mode 100644 index 427cf2d..0000000 Binary files a/prebuilt/modules/mt6375-adc.ko and /dev/null differ diff --git a/prebuilt/modules/mt6375-auxadc.ko b/prebuilt/modules/mt6375-auxadc.ko deleted file mode 100644 index 44d580d..0000000 Binary files a/prebuilt/modules/mt6375-auxadc.ko and /dev/null differ diff --git a/prebuilt/modules/mt6375-battery.ko b/prebuilt/modules/mt6375-battery.ko deleted file mode 100644 index 60442d8..0000000 Binary files a/prebuilt/modules/mt6375-battery.ko and /dev/null differ diff --git a/prebuilt/modules/mt6375-charger.ko b/prebuilt/modules/mt6375-charger.ko deleted file mode 100644 index 20b2f22..0000000 Binary files a/prebuilt/modules/mt6375-charger.ko and /dev/null differ diff --git a/prebuilt/modules/mt6375.ko b/prebuilt/modules/mt6375.ko deleted file mode 100644 index 82e5a1f..0000000 Binary files a/prebuilt/modules/mt6375.ko and /dev/null differ diff --git a/prebuilt/modules/mt6377-battery.ko b/prebuilt/modules/mt6377-battery.ko deleted file mode 100644 index 7a924ae..0000000 Binary files a/prebuilt/modules/mt6377-battery.ko and /dev/null differ diff --git a/prebuilt/modules/mt6377-clkbuf.ko b/prebuilt/modules/mt6377-clkbuf.ko deleted file mode 100644 index cd20e24..0000000 Binary files a/prebuilt/modules/mt6377-clkbuf.ko and /dev/null differ diff --git a/prebuilt/modules/mt6377-regulator.ko b/prebuilt/modules/mt6377-regulator.ko deleted file mode 100644 index 6e7393f..0000000 Binary files a/prebuilt/modules/mt6377-regulator.ko and /dev/null differ diff --git a/prebuilt/modules/mt6577_auxadc.ko b/prebuilt/modules/mt6577_auxadc.ko deleted file mode 100644 index dabda99..0000000 Binary files a/prebuilt/modules/mt6577_auxadc.ko and /dev/null differ diff --git a/prebuilt/modules/mt6835_dcm.ko b/prebuilt/modules/mt6835_dcm.ko deleted file mode 100644 index 66bbe0b..0000000 Binary files a/prebuilt/modules/mt6835_dcm.ko and /dev/null differ diff --git a/prebuilt/modules/mtk-cmdq-drv-ext.ko b/prebuilt/modules/mtk-cmdq-drv-ext.ko deleted file mode 100644 index 6841526..0000000 Binary files a/prebuilt/modules/mtk-cmdq-drv-ext.ko and /dev/null differ diff --git a/prebuilt/modules/mtk-cqdma.ko b/prebuilt/modules/mtk-cqdma.ko deleted file mode 100644 index a89be9f..0000000 Binary files a/prebuilt/modules/mtk-cqdma.ko and /dev/null differ diff --git a/prebuilt/modules/mtk-dvfsrc-regulator.ko b/prebuilt/modules/mtk-dvfsrc-regulator.ko deleted file mode 100644 index 8a372be..0000000 Binary files a/prebuilt/modules/mtk-dvfsrc-regulator.ko and /dev/null differ diff --git a/prebuilt/modules/mtk-dvfsrc.ko b/prebuilt/modules/mtk-dvfsrc.ko deleted file mode 100644 index f124270..0000000 Binary files a/prebuilt/modules/mtk-dvfsrc.ko and /dev/null differ diff --git a/prebuilt/modules/mtk-emi.ko b/prebuilt/modules/mtk-emi.ko deleted file mode 100644 index 81d3ee1..0000000 Binary files a/prebuilt/modules/mtk-emi.ko and /dev/null differ diff --git a/prebuilt/modules/mtk-icc-core.ko b/prebuilt/modules/mtk-icc-core.ko deleted file mode 100644 index db6b2ab..0000000 Binary files a/prebuilt/modules/mtk-icc-core.ko and /dev/null differ diff --git a/prebuilt/modules/mtk-kpd.ko b/prebuilt/modules/mtk-kpd.ko deleted file mode 100644 index d373de5..0000000 Binary files a/prebuilt/modules/mtk-kpd.ko and /dev/null differ diff --git a/prebuilt/modules/mtk-mbox-mailbox.ko b/prebuilt/modules/mtk-mbox-mailbox.ko deleted file mode 100644 index ea741e9..0000000 Binary files a/prebuilt/modules/mtk-mbox-mailbox.ko and /dev/null differ diff --git a/prebuilt/modules/mtk-mbox.ko b/prebuilt/modules/mtk-mbox.ko deleted file mode 100644 index dfd2a26..0000000 Binary files a/prebuilt/modules/mtk-mbox.ko and /dev/null differ diff --git a/prebuilt/modules/mtk-mmc-dbg.ko b/prebuilt/modules/mtk-mmc-dbg.ko deleted file mode 100644 index 928f8e6..0000000 Binary files a/prebuilt/modules/mtk-mmc-dbg.ko and /dev/null differ diff --git a/prebuilt/modules/mtk-mmc.ko b/prebuilt/modules/mtk-mmc.ko deleted file mode 100644 index 0410bf6..0000000 Binary files a/prebuilt/modules/mtk-mmc.ko and /dev/null differ diff --git a/prebuilt/modules/mtk-mmdvfs-debug.ko b/prebuilt/modules/mtk-mmdvfs-debug.ko deleted file mode 100644 index 30ab3e7..0000000 Binary files a/prebuilt/modules/mtk-mmdvfs-debug.ko and /dev/null differ diff --git a/prebuilt/modules/mtk-mmdvfs-ftrace.ko b/prebuilt/modules/mtk-mmdvfs-ftrace.ko deleted file mode 100644 index ae14b4c..0000000 Binary files a/prebuilt/modules/mtk-mmdvfs-ftrace.ko and /dev/null differ diff --git a/prebuilt/modules/mtk-mmdvfs-v3.ko b/prebuilt/modules/mtk-mmdvfs-v3.ko deleted file mode 100644 index f812260..0000000 Binary files a/prebuilt/modules/mtk-mmdvfs-v3.ko and /dev/null differ diff --git a/prebuilt/modules/mtk-mmdvfs.ko b/prebuilt/modules/mtk-mmdvfs.ko deleted file mode 100644 index 961fd36..0000000 Binary files a/prebuilt/modules/mtk-mmdvfs.ko and /dev/null differ diff --git a/prebuilt/modules/mtk-mminfra-debug.ko b/prebuilt/modules/mtk-mminfra-debug.ko deleted file mode 100644 index 9854ba4..0000000 Binary files a/prebuilt/modules/mtk-mminfra-debug.ko and /dev/null differ diff --git a/prebuilt/modules/mtk-mminfra-imax.ko b/prebuilt/modules/mtk-mminfra-imax.ko deleted file mode 100644 index b9bb02c..0000000 Binary files a/prebuilt/modules/mtk-mminfra-imax.ko and /dev/null differ diff --git a/prebuilt/modules/mtk-mml.ko b/prebuilt/modules/mtk-mml.ko deleted file mode 100644 index b3317ac..0000000 Binary files a/prebuilt/modules/mtk-mml.ko and /dev/null differ diff --git a/prebuilt/modules/mtk-pm-domain-disable-unused.ko b/prebuilt/modules/mtk-pm-domain-disable-unused.ko deleted file mode 100644 index be60ef3..0000000 Binary files a/prebuilt/modules/mtk-pm-domain-disable-unused.ko and /dev/null differ diff --git a/prebuilt/modules/mtk-pmic-keys.ko b/prebuilt/modules/mtk-pmic-keys.ko deleted file mode 100644 index 3a1897b..0000000 Binary files a/prebuilt/modules/mtk-pmic-keys.ko and /dev/null differ diff --git a/prebuilt/modules/mtk-pmic-wrap.ko b/prebuilt/modules/mtk-pmic-wrap.ko deleted file mode 100644 index a72d019..0000000 Binary files a/prebuilt/modules/mtk-pmic-wrap.ko and /dev/null differ diff --git a/prebuilt/modules/mtk-scpsys-bringup.ko b/prebuilt/modules/mtk-scpsys-bringup.ko deleted file mode 100644 index b567cc6..0000000 Binary files a/prebuilt/modules/mtk-scpsys-bringup.ko and /dev/null differ diff --git a/prebuilt/modules/mtk-scpsys-mt6835.ko b/prebuilt/modules/mtk-scpsys-mt6835.ko deleted file mode 100644 index 26eee7b..0000000 Binary files a/prebuilt/modules/mtk-scpsys-mt6835.ko and /dev/null differ diff --git a/prebuilt/modules/mtk-scpsys.ko b/prebuilt/modules/mtk-scpsys.ko deleted file mode 100644 index b8c39fb..0000000 Binary files a/prebuilt/modules/mtk-scpsys.ko and /dev/null differ diff --git a/prebuilt/modules/mtk-smi-dbg.ko b/prebuilt/modules/mtk-smi-dbg.ko deleted file mode 100644 index 694c1a6..0000000 Binary files a/prebuilt/modules/mtk-smi-dbg.ko and /dev/null differ diff --git a/prebuilt/modules/mtk-smi.ko b/prebuilt/modules/mtk-smi.ko deleted file mode 100644 index ea67d79..0000000 Binary files a/prebuilt/modules/mtk-smi.ko and /dev/null differ diff --git a/prebuilt/modules/mtk-socinfo.ko b/prebuilt/modules/mtk-socinfo.ko deleted file mode 100644 index d06e2c7..0000000 Binary files a/prebuilt/modules/mtk-socinfo.ko and /dev/null differ diff --git a/prebuilt/modules/mtk-spmi-pmic-adc.ko b/prebuilt/modules/mtk-spmi-pmic-adc.ko deleted file mode 100644 index 122177b..0000000 Binary files a/prebuilt/modules/mtk-spmi-pmic-adc.ko and /dev/null differ diff --git a/prebuilt/modules/mtk-spmi-pmic.ko b/prebuilt/modules/mtk-spmi-pmic.ko deleted file mode 100644 index c3cc1ca..0000000 Binary files a/prebuilt/modules/mtk-spmi-pmic.ko and /dev/null differ diff --git a/prebuilt/modules/mtk-uart-apdma.ko b/prebuilt/modules/mtk-uart-apdma.ko deleted file mode 100644 index 3abddef..0000000 Binary files a/prebuilt/modules/mtk-uart-apdma.ko and /dev/null differ diff --git a/prebuilt/modules/mtk_battery_oc_throttling.ko b/prebuilt/modules/mtk_battery_oc_throttling.ko deleted file mode 100644 index 3263f3c..0000000 Binary files a/prebuilt/modules/mtk_battery_oc_throttling.ko and /dev/null differ diff --git a/prebuilt/modules/mtk_charger_algorithm_class.ko b/prebuilt/modules/mtk_charger_algorithm_class.ko deleted file mode 100644 index 51f1874..0000000 Binary files a/prebuilt/modules/mtk_charger_algorithm_class.ko and /dev/null differ diff --git a/prebuilt/modules/mtk_charger_framework.ko b/prebuilt/modules/mtk_charger_framework.ko deleted file mode 100644 index 576d158..0000000 Binary files a/prebuilt/modules/mtk_charger_framework.ko and /dev/null differ diff --git a/prebuilt/modules/mtk_chg_type_det.ko b/prebuilt/modules/mtk_chg_type_det.ko deleted file mode 100644 index 6204bc4..0000000 Binary files a/prebuilt/modules/mtk_chg_type_det.ko and /dev/null differ diff --git a/prebuilt/modules/mtk_dcm.ko b/prebuilt/modules/mtk_dcm.ko deleted file mode 100644 index 02ca2be..0000000 Binary files a/prebuilt/modules/mtk_dcm.ko and /dev/null differ diff --git a/prebuilt/modules/mtk_disp_notify.ko b/prebuilt/modules/mtk_disp_notify.ko deleted file mode 100644 index 209e1c5..0000000 Binary files a/prebuilt/modules/mtk_disp_notify.ko and /dev/null differ diff --git a/prebuilt/modules/mtk_dramc.ko b/prebuilt/modules/mtk_dramc.ko deleted file mode 100644 index 4800bf4..0000000 Binary files a/prebuilt/modules/mtk_dramc.ko and /dev/null differ diff --git a/prebuilt/modules/mtk_dynamic_loading_throttling.ko b/prebuilt/modules/mtk_dynamic_loading_throttling.ko deleted file mode 100644 index e94dca3..0000000 Binary files a/prebuilt/modules/mtk_dynamic_loading_throttling.ko and /dev/null differ diff --git a/prebuilt/modules/mtk_iommu.ko b/prebuilt/modules/mtk_iommu.ko deleted file mode 100644 index b22dfca..0000000 Binary files a/prebuilt/modules/mtk_iommu.ko and /dev/null differ diff --git a/prebuilt/modules/mtk_low_battery_throttling.ko b/prebuilt/modules/mtk_low_battery_throttling.ko deleted file mode 100644 index a9861f7..0000000 Binary files a/prebuilt/modules/mtk_low_battery_throttling.ko and /dev/null differ diff --git a/prebuilt/modules/mtk_mdpm.ko b/prebuilt/modules/mtk_mdpm.ko deleted file mode 100644 index 903906a..0000000 Binary files a/prebuilt/modules/mtk_mdpm.ko and /dev/null differ diff --git a/prebuilt/modules/mtk_panel_ext.ko b/prebuilt/modules/mtk_panel_ext.ko deleted file mode 100644 index 73fca0f..0000000 Binary files a/prebuilt/modules/mtk_panel_ext.ko and /dev/null differ diff --git a/prebuilt/modules/mtk_pbm.ko b/prebuilt/modules/mtk_pbm.ko deleted file mode 100644 index b07bc86..0000000 Binary files a/prebuilt/modules/mtk_pbm.ko and /dev/null differ diff --git a/prebuilt/modules/mtk_pd_adapter.ko b/prebuilt/modules/mtk_pd_adapter.ko deleted file mode 100644 index c72f186..0000000 Binary files a/prebuilt/modules/mtk_pd_adapter.ko and /dev/null differ diff --git a/prebuilt/modules/mtk_pd_charging.ko b/prebuilt/modules/mtk_pd_charging.ko deleted file mode 100644 index a546afa..0000000 Binary files a/prebuilt/modules/mtk_pd_charging.ko and /dev/null differ diff --git a/prebuilt/modules/mtk_pep.ko b/prebuilt/modules/mtk_pep.ko deleted file mode 100644 index 85fd9e5..0000000 Binary files a/prebuilt/modules/mtk_pep.ko and /dev/null differ diff --git a/prebuilt/modules/mtk_pep20.ko b/prebuilt/modules/mtk_pep20.ko deleted file mode 100644 index 22d217c..0000000 Binary files a/prebuilt/modules/mtk_pep20.ko and /dev/null differ diff --git a/prebuilt/modules/mtk_pep40.ko b/prebuilt/modules/mtk_pep40.ko deleted file mode 100644 index adb9b0d..0000000 Binary files a/prebuilt/modules/mtk_pep40.ko and /dev/null differ diff --git a/prebuilt/modules/mtk_pep45.ko b/prebuilt/modules/mtk_pep45.ko deleted file mode 100644 index f73809f..0000000 Binary files a/prebuilt/modules/mtk_pep45.ko and /dev/null differ diff --git a/prebuilt/modules/mtk_printk_ctrl.ko b/prebuilt/modules/mtk_printk_ctrl.ko deleted file mode 100644 index 13456f8..0000000 Binary files a/prebuilt/modules/mtk_printk_ctrl.ko and /dev/null differ diff --git a/prebuilt/modules/mtk_rpmsg_mbox.ko b/prebuilt/modules/mtk_rpmsg_mbox.ko deleted file mode 100644 index 147334c..0000000 Binary files a/prebuilt/modules/mtk_rpmsg_mbox.ko and /dev/null differ diff --git a/prebuilt/modules/mtk_slbc.ko b/prebuilt/modules/mtk_slbc.ko deleted file mode 100644 index fd9e652..0000000 Binary files a/prebuilt/modules/mtk_slbc.ko and /dev/null differ diff --git a/prebuilt/modules/mtk_sync.ko b/prebuilt/modules/mtk_sync.ko deleted file mode 100644 index c295164..0000000 Binary files a/prebuilt/modules/mtk_sync.ko and /dev/null differ diff --git a/prebuilt/modules/mtk_tinysys_ipi.ko b/prebuilt/modules/mtk_tinysys_ipi.ko deleted file mode 100644 index 6958ea9..0000000 Binary files a/prebuilt/modules/mtk_tinysys_ipi.ko and /dev/null differ diff --git a/prebuilt/modules/mtk_wdt.ko b/prebuilt/modules/mtk_wdt.ko deleted file mode 100644 index ef4fcdf..0000000 Binary files a/prebuilt/modules/mtk_wdt.ko and /dev/null differ diff --git a/prebuilt/modules/mtu3.ko b/prebuilt/modules/mtu3.ko deleted file mode 100644 index 3274f36..0000000 Binary files a/prebuilt/modules/mtu3.ko and /dev/null differ diff --git a/prebuilt/modules/mux_switch.ko b/prebuilt/modules/mux_switch.ko deleted file mode 100644 index f8b28f9..0000000 Binary files a/prebuilt/modules/mux_switch.ko and /dev/null differ diff --git a/prebuilt/modules/nt36523n.ko b/prebuilt/modules/nt36523n.ko deleted file mode 100644 index eeb263d..0000000 Binary files a/prebuilt/modules/nt36523n.ko and /dev/null differ diff --git a/prebuilt/modules/nvmem_mtk-devinfo.ko b/prebuilt/modules/nvmem_mtk-devinfo.ko deleted file mode 100644 index 6db1b3f..0000000 Binary files a/prebuilt/modules/nvmem_mtk-devinfo.ko and /dev/null differ diff --git a/prebuilt/modules/panel-boe-sycamore-90hz-drv.ko b/prebuilt/modules/panel-boe-sycamore-90hz-drv.ko deleted file mode 100644 index 6465f19..0000000 Binary files a/prebuilt/modules/panel-boe-sycamore-90hz-drv.ko and /dev/null differ diff --git a/prebuilt/modules/panel-boeips-sycamore-90hz-drv.ko b/prebuilt/modules/panel-boeips-sycamore-90hz-drv.ko deleted file mode 100644 index 7b4f9d0..0000000 Binary files a/prebuilt/modules/panel-boeips-sycamore-90hz-drv.ko and /dev/null differ diff --git a/prebuilt/modules/panel-tcl-sycamore-90hz-drv.ko b/prebuilt/modules/panel-tcl-sycamore-90hz-drv.ko deleted file mode 100644 index c341c1b..0000000 Binary files a/prebuilt/modules/panel-tcl-sycamore-90hz-drv.ko and /dev/null differ diff --git a/prebuilt/modules/panel-tianma-sycamore-90hz-drv.ko b/prebuilt/modules/panel-tianma-sycamore-90hz-drv.ko deleted file mode 100644 index 78f96d3..0000000 Binary files a/prebuilt/modules/panel-tianma-sycamore-90hz-drv.ko and /dev/null differ diff --git a/prebuilt/modules/panel-tmips-sycamore-90hz-drv.ko b/prebuilt/modules/panel-tmips-sycamore-90hz-drv.ko deleted file mode 100644 index 39e3e1b..0000000 Binary files a/prebuilt/modules/panel-tmips-sycamore-90hz-drv.ko and /dev/null differ diff --git a/prebuilt/modules/pd-chk-mt6835.ko b/prebuilt/modules/pd-chk-mt6835.ko deleted file mode 100644 index 2ca142e..0000000 Binary files a/prebuilt/modules/pd-chk-mt6835.ko and /dev/null differ diff --git a/prebuilt/modules/pd_dbg_info.ko b/prebuilt/modules/pd_dbg_info.ko deleted file mode 100644 index 5d135f2..0000000 Binary files a/prebuilt/modules/pd_dbg_info.ko and /dev/null differ diff --git a/prebuilt/modules/perf_helper.ko b/prebuilt/modules/perf_helper.ko deleted file mode 100644 index ae95ee0..0000000 Binary files a/prebuilt/modules/perf_helper.ko and /dev/null differ diff --git a/prebuilt/modules/phy-mtk-tphy.ko b/prebuilt/modules/phy-mtk-tphy.ko deleted file mode 100644 index 856cb04..0000000 Binary files a/prebuilt/modules/phy-mtk-tphy.ko and /dev/null differ diff --git a/prebuilt/modules/phy-mtk-ufs.ko b/prebuilt/modules/phy-mtk-ufs.ko deleted file mode 100644 index a1985f1..0000000 Binary files a/prebuilt/modules/phy-mtk-ufs.ko and /dev/null differ diff --git a/prebuilt/modules/pidmap.ko b/prebuilt/modules/pidmap.ko deleted file mode 100644 index b92bf72..0000000 Binary files a/prebuilt/modules/pidmap.ko and /dev/null differ diff --git a/prebuilt/modules/pinctrl-mt6835.ko b/prebuilt/modules/pinctrl-mt6835.ko deleted file mode 100644 index fb1b0d6..0000000 Binary files a/prebuilt/modules/pinctrl-mt6835.ko and /dev/null differ diff --git a/prebuilt/modules/pinctrl-mtk-common-v2_debug.ko b/prebuilt/modules/pinctrl-mtk-common-v2_debug.ko deleted file mode 100644 index b9c4cae..0000000 Binary files a/prebuilt/modules/pinctrl-mtk-common-v2_debug.ko and /dev/null differ diff --git a/prebuilt/modules/pinctrl-mtk-v2.ko b/prebuilt/modules/pinctrl-mtk-v2.ko deleted file mode 100644 index 606edc0..0000000 Binary files a/prebuilt/modules/pinctrl-mtk-v2.ko and /dev/null differ diff --git a/prebuilt/modules/pmic_lbat_service.ko b/prebuilt/modules/pmic_lbat_service.ko deleted file mode 100644 index 63ca192..0000000 Binary files a/prebuilt/modules/pmic_lbat_service.ko and /dev/null differ diff --git a/prebuilt/modules/pmic_lvsys_notify.ko b/prebuilt/modules/pmic_lvsys_notify.ko deleted file mode 100644 index 335c933..0000000 Binary files a/prebuilt/modules/pmic_lvsys_notify.ko and /dev/null differ diff --git a/prebuilt/modules/powerhal_cpu_ctrl.ko b/prebuilt/modules/powerhal_cpu_ctrl.ko deleted file mode 100644 index 8af00a4..0000000 Binary files a/prebuilt/modules/powerhal_cpu_ctrl.ko and /dev/null differ diff --git a/prebuilt/modules/ps5169.ko b/prebuilt/modules/ps5169.ko deleted file mode 100644 index 291f463..0000000 Binary files a/prebuilt/modules/ps5169.ko and /dev/null differ diff --git a/prebuilt/modules/pwm-mtk-disp.ko b/prebuilt/modules/pwm-mtk-disp.ko deleted file mode 100644 index d012426..0000000 Binary files a/prebuilt/modules/pwm-mtk-disp.ko and /dev/null differ diff --git a/prebuilt/modules/reboot-mode.ko b/prebuilt/modules/reboot-mode.ko deleted file mode 100644 index 423b342..0000000 Binary files a/prebuilt/modules/reboot-mode.ko and /dev/null differ diff --git a/prebuilt/modules/regmap-spmi.ko b/prebuilt/modules/regmap-spmi.ko deleted file mode 100644 index b5972e5..0000000 Binary files a/prebuilt/modules/regmap-spmi.ko and /dev/null differ diff --git a/prebuilt/modules/regulator-vibrator.ko b/prebuilt/modules/regulator-vibrator.ko deleted file mode 100644 index 49fd2cc..0000000 Binary files a/prebuilt/modules/regulator-vibrator.ko and /dev/null differ diff --git a/prebuilt/modules/reset-ti-syscon.ko b/prebuilt/modules/reset-ti-syscon.ko deleted file mode 100644 index 8e4c2a6..0000000 Binary files a/prebuilt/modules/reset-ti-syscon.ko and /dev/null differ diff --git a/prebuilt/modules/rpmb-mtk.ko b/prebuilt/modules/rpmb-mtk.ko deleted file mode 100644 index eec59dd..0000000 Binary files a/prebuilt/modules/rpmb-mtk.ko and /dev/null differ diff --git a/prebuilt/modules/rpmb.ko b/prebuilt/modules/rpmb.ko deleted file mode 100644 index 5ccbc5a..0000000 Binary files a/prebuilt/modules/rpmb.ko and /dev/null differ diff --git a/prebuilt/modules/rt4831a_drv.ko b/prebuilt/modules/rt4831a_drv.ko deleted file mode 100644 index b274422..0000000 Binary files a/prebuilt/modules/rt4831a_drv.ko and /dev/null differ diff --git a/prebuilt/modules/rt5133-regulator.ko b/prebuilt/modules/rt5133-regulator.ko deleted file mode 100644 index a5846c0..0000000 Binary files a/prebuilt/modules/rt5133-regulator.ko and /dev/null differ diff --git a/prebuilt/modules/rt_pd_manager.ko b/prebuilt/modules/rt_pd_manager.ko deleted file mode 100644 index 8045821..0000000 Binary files a/prebuilt/modules/rt_pd_manager.ko and /dev/null differ diff --git a/prebuilt/modules/rtc-mt6685.ko b/prebuilt/modules/rtc-mt6685.ko deleted file mode 100644 index bd62b1f..0000000 Binary files a/prebuilt/modules/rtc-mt6685.ko and /dev/null differ diff --git a/prebuilt/modules/sc8960x_charger.ko b/prebuilt/modules/sc8960x_charger.ko deleted file mode 100644 index 6d7e372..0000000 Binary files a/prebuilt/modules/sc8960x_charger.ko and /dev/null differ diff --git a/prebuilt/modules/sc8960x_slave_charger.ko b/prebuilt/modules/sc8960x_slave_charger.ko deleted file mode 100644 index 3556b6a..0000000 Binary files a/prebuilt/modules/sc8960x_slave_charger.ko and /dev/null differ diff --git a/prebuilt/modules/sec-rng.ko b/prebuilt/modules/sec-rng.ko deleted file mode 100644 index c3de6fc..0000000 Binary files a/prebuilt/modules/sec-rng.ko and /dev/null differ diff --git a/prebuilt/modules/sec.ko b/prebuilt/modules/sec.ko deleted file mode 100644 index ab5311c..0000000 Binary files a/prebuilt/modules/sec.ko and /dev/null differ diff --git a/prebuilt/modules/sgm415xx_charger.ko b/prebuilt/modules/sgm415xx_charger.ko deleted file mode 100644 index f2392ce..0000000 Binary files a/prebuilt/modules/sgm415xx_charger.ko and /dev/null differ diff --git a/prebuilt/modules/sgm415xx_slave_charger.ko b/prebuilt/modules/sgm415xx_slave_charger.ko deleted file mode 100644 index d2f74f0..0000000 Binary files a/prebuilt/modules/sgm415xx_slave_charger.ko and /dev/null differ diff --git a/prebuilt/modules/spi-mt65xx.ko b/prebuilt/modules/spi-mt65xx.ko deleted file mode 100644 index 4c53077..0000000 Binary files a/prebuilt/modules/spi-mt65xx.ko and /dev/null differ diff --git a/prebuilt/modules/spi_slave.ko b/prebuilt/modules/spi_slave.ko deleted file mode 100644 index 7c49e10..0000000 Binary files a/prebuilt/modules/spi_slave.ko and /dev/null differ diff --git a/prebuilt/modules/spmi-mtk-mpu.ko b/prebuilt/modules/spmi-mtk-mpu.ko deleted file mode 100644 index fd5b1d1..0000000 Binary files a/prebuilt/modules/spmi-mtk-mpu.ko and /dev/null differ diff --git a/prebuilt/modules/spmi-mtk-pmif.ko b/prebuilt/modules/spmi-mtk-pmif.ko deleted file mode 100644 index 8f6e891..0000000 Binary files a/prebuilt/modules/spmi-mtk-pmif.ko and /dev/null differ diff --git a/prebuilt/modules/sycamore-i2c.ko b/prebuilt/modules/sycamore-i2c.ko deleted file mode 100644 index e9f4183..0000000 Binary files a/prebuilt/modules/sycamore-i2c.ko and /dev/null differ diff --git a/prebuilt/modules/syscon-reboot-mode.ko b/prebuilt/modules/syscon-reboot-mode.ko deleted file mode 100644 index 3e4d254..0000000 Binary files a/prebuilt/modules/syscon-reboot-mode.ko and /dev/null differ diff --git a/prebuilt/modules/system_heap.ko b/prebuilt/modules/system_heap.ko deleted file mode 100644 index 448648f..0000000 Binary files a/prebuilt/modules/system_heap.ko and /dev/null differ diff --git a/prebuilt/modules/tcpc_class.ko b/prebuilt/modules/tcpc_class.ko deleted file mode 100644 index 0eb8044..0000000 Binary files a/prebuilt/modules/tcpc_class.ko and /dev/null differ diff --git a/prebuilt/modules/tcpc_upm7610.ko b/prebuilt/modules/tcpc_upm7610.ko deleted file mode 100644 index 564e002..0000000 Binary files a/prebuilt/modules/tcpc_upm7610.ko and /dev/null differ diff --git a/prebuilt/modules/tcpc_wusb3812.ko b/prebuilt/modules/tcpc_wusb3812.ko deleted file mode 100644 index 0b77f71..0000000 Binary files a/prebuilt/modules/tcpc_wusb3812.ko and /dev/null differ diff --git a/prebuilt/modules/tcpci_late_sync.ko b/prebuilt/modules/tcpci_late_sync.ko deleted file mode 100644 index 93502ed..0000000 Binary files a/prebuilt/modules/tcpci_late_sync.ko and /dev/null differ diff --git a/prebuilt/modules/teeperf.ko b/prebuilt/modules/teeperf.ko deleted file mode 100644 index 44ee1b0..0000000 Binary files a/prebuilt/modules/teeperf.ko and /dev/null differ diff --git a/prebuilt/modules/timer-mediatek.ko b/prebuilt/modules/timer-mediatek.ko deleted file mode 100644 index e5f0692..0000000 Binary files a/prebuilt/modules/timer-mediatek.ko and /dev/null differ diff --git a/prebuilt/modules/tinysys-scmi.ko b/prebuilt/modules/tinysys-scmi.ko deleted file mode 100644 index 14310a0..0000000 Binary files a/prebuilt/modules/tinysys-scmi.ko and /dev/null differ diff --git a/prebuilt/modules/uarthub_drv.ko b/prebuilt/modules/uarthub_drv.ko deleted file mode 100644 index 024ecd4..0000000 Binary files a/prebuilt/modules/uarthub_drv.ko and /dev/null differ diff --git a/prebuilt/modules/ufs-mediatek-dbg.ko b/prebuilt/modules/ufs-mediatek-dbg.ko deleted file mode 100644 index c5fc8e0..0000000 Binary files a/prebuilt/modules/ufs-mediatek-dbg.ko and /dev/null differ diff --git a/prebuilt/modules/ufs-mediatek-mod.ko b/prebuilt/modules/ufs-mediatek-mod.ko deleted file mode 100644 index de32deb..0000000 Binary files a/prebuilt/modules/ufs-mediatek-mod.ko and /dev/null differ diff --git a/prebuilt/modules/uload_ind.ko b/prebuilt/modules/uload_ind.ko deleted file mode 100644 index 3686ae7..0000000 Binary files a/prebuilt/modules/uload_ind.ko and /dev/null differ diff --git a/prebuilt/modules/usb_boost.ko b/prebuilt/modules/usb_boost.ko deleted file mode 100644 index 271a94b..0000000 Binary files a/prebuilt/modules/usb_boost.ko and /dev/null differ diff --git a/prebuilt/modules/usb_meta.ko b/prebuilt/modules/usb_meta.ko deleted file mode 100644 index 4ffc0f0..0000000 Binary files a/prebuilt/modules/usb_meta.ko and /dev/null differ diff --git a/prebuilt/modules/vcp_status.ko b/prebuilt/modules/vcp_status.ko deleted file mode 100644 index a25519d..0000000 Binary files a/prebuilt/modules/vcp_status.ko and /dev/null differ diff --git a/prebuilt/modules/xhci-mtk-hcd-v2.ko b/prebuilt/modules/xhci-mtk-hcd-v2.ko deleted file mode 100644 index 24e411e..0000000 Binary files a/prebuilt/modules/xhci-mtk-hcd-v2.ko and /dev/null differ diff --git a/prebuilt/modules/zsmalloc.ko b/prebuilt/modules/zsmalloc.ko deleted file mode 100644 index b22808d..0000000 Binary files a/prebuilt/modules/zsmalloc.ko and /dev/null differ diff --git a/recovery/root/init.recovery.crypto.rc b/recovery/root/init.recovery.crypto.rc index 2490c39..218f95e 100644 --- a/recovery/root/init.recovery.crypto.rc +++ b/recovery/root/init.recovery.crypto.rc @@ -37,7 +37,6 @@ service vendor.keymint-beanpod /vendor/bin/hw/android.hardware.security.keymint@ disabled seclabel u:r:hal_keymint_default:s0 setenv LD_LIBRARY_PATH /vendor/lib64:/vendor/lib64/hw:/system/lib64:/system/lib64/hw - setenv LD_PRELOAD /vendor/lib64/libsycamore_keytrace.so service vendor.gatekeeper-1-0 /vendor/bin/hw/android.hardware.gatekeeper@1.0-service interface android.hardware.gatekeeper@1.0::IGatekeeper default diff --git a/recovery/root/init.recovery.crypto.rc.v19-backup b/recovery/root/init.recovery.crypto.rc.v19-backup deleted file mode 100644 index cd1339d..0000000 --- a/recovery/root/init.recovery.crypto.rc.v19-backup +++ /dev/null @@ -1,99 +0,0 @@ -# Android 16 Beanpod/Microtrust security services required by metadata FBE. -# V18 runs teei_daemon with its exact stock system/system + SYS_RAWIO + tee -# identity. Beanpod and Gatekeeper retain the proven V17 recovery identity. -service teei_daemon /vendor/bin/teei_daemon \ - -r 020b0000000000000000000000000000 \ - -r 020f0000000000000000000000000000 \ - -r 06090000000000000000000000000000 \ - -r 05120000000000000000000000000000 \ - -r 40188311faf343488db888ad39496f9a \ - -r 07060000000000000000000000007169 \ - -r 4be4f7dc1f2c11e5b5f7727283247c7f \ - -r 9073f03a9618383bb1856eb3f990babd \ - -r 08050000000000000000000000003419 \ - -r 5020170115e016302017012521300000 \ - -r 0f5eed3c3b5a47afacca69a84bf0efad \ - -r 07407000000000000000000000000000 \ - -r 05160000000000000000000000000000 \ - -r 91dba524a6e24909acc48abd7163121a \ - -r 08070000000000000000000000008270 \ - -r 09080000000000000000000000009381 \ - -t 08030000000000000000000000000000 \ - -t 85f630e0f0964c5fa2cc268ce04e3da3 \ - -t 98fb95bcb4bf42d26473eae48690d7ea \ - -t 7b66512021214487ba710a51d7ea78fe \ - -t 09010000000000000000000000000000 - class core - user system - group system - disabled - capabilities SYS_RAWIO - seclabel u:r:tee:s0 - -service vendor.keymint-beanpod /vendor/bin/hw/android.hardware.security.keymint@2.0-service.beanpod - class early_hal - user nobody - group root - disabled - seclabel u:r:recovery:s0 - setenv LD_LIBRARY_PATH /vendor/lib64:/vendor/lib64/hw:/system/lib64:/system/lib64/hw - setenv LD_PRELOAD /vendor/lib64/libsycamore_keytrace.so - -service vendor.gatekeeper-1-0 /vendor/bin/hw/android.hardware.gatekeeper@1.0-service - interface android.hardware.gatekeeper@1.0::IGatekeeper default - class hal - user root - group root - disabled - seclabel u:r:recovery:s0 - setenv LD_LIBRARY_PATH /vendor/lib64:/vendor/lib64/hw:/system/lib64:/system/lib64/hw - -on init - # teeperf is not part of the stock Microtrust DAC sequence below. - chmod 0660 /dev/teeperf - # V11-persist-ro: expose the stock Microtrust VFS namespace without - # permitting journal replay or persistent writes. - mkdir /mnt/vendor/persist 0771 system system - mount ext4 /dev/block/sdc14 /mnt/vendor/persist ro noatime nosuid nodev wait noload - -on fs - restorecon /vendor/bin/teei_daemon - - chmod 0660 /dev/teei_client - chown system system /dev/teei_client - - chmod 0660 /dev/teei_config - chown system system /dev/teei_config - - chmod 0666 /dev/isee_tee0 - chown system drmrpc /dev/isee_tee0 - - chmod 0660 /dev/tz_vfs - chown system system /dev/tz_vfs - - chmod 0660 /dev/teei_fp - chown system /dev/teei_fp - - chown system drmrpc /dev/ut_keymaster - chmod 0660 /dev/ut_keymaster - - chmod 0660 /dev/0:0:0:49476 - chown system system /dev/0:0:0:49476 - - chmod 0660 /dev/rpmb0 - chown system system /dev/rpmb0 - - chmod 0660 /dev/emmcrpmb0 - chown system system /dev/emmcrpmb0 - - chown system system /dev/utr_tui - chmod 0660 /dev/utr_tui - - start teei_daemon - -on property:vendor.soter.teei.init=INIT_OK - start vendor.keymint-beanpod - start vendor.gatekeeper-1-0 - -on post-fs-data - setprop vendor.soter.teei.logini start diff --git a/recovery/root/init.recovery.crypto.rc.v20-backup b/recovery/root/init.recovery.crypto.rc.v20-backup deleted file mode 100644 index 04360a9..0000000 --- a/recovery/root/init.recovery.crypto.rc.v20-backup +++ /dev/null @@ -1,97 +0,0 @@ -# Android 16 Beanpod/Microtrust security services required by metadata FBE. -# V18 runs teei_daemon with its exact stock system/system + SYS_RAWIO + tee -# identity. Beanpod and Gatekeeper retain the proven V17 recovery identity. -service teei_daemon /vendor/bin/teei_daemon \ - -r 020b0000000000000000000000000000 \ - -r 020f0000000000000000000000000000 \ - -r 06090000000000000000000000000000 \ - -r 05120000000000000000000000000000 \ - -r 40188311faf343488db888ad39496f9a \ - -r 07060000000000000000000000007169 \ - -r 4be4f7dc1f2c11e5b5f7727283247c7f \ - -r 9073f03a9618383bb1856eb3f990babd \ - -r 08050000000000000000000000003419 \ - -r 5020170115e016302017012521300000 \ - -r 0f5eed3c3b5a47afacca69a84bf0efad \ - -r 07407000000000000000000000000000 \ - -r 05160000000000000000000000000000 \ - -r 91dba524a6e24909acc48abd7163121a \ - -r 08070000000000000000000000008270 \ - -r 09080000000000000000000000009381 \ - -t 08030000000000000000000000000000 \ - -t 85f630e0f0964c5fa2cc268ce04e3da3 \ - -t 98fb95bcb4bf42d26473eae48690d7ea \ - -t 7b66512021214487ba710a51d7ea78fe \ - -t 09010000000000000000000000000000 - class core - user system - group system - disabled - capabilities SYS_RAWIO - seclabel u:r:tee:s0 - -service vendor.keymint-beanpod /vendor/bin/hw/android.hardware.security.keymint@2.0-service.beanpod - class early_hal - user nobody - group root - seclabel u:r:recovery:s0 - setenv LD_LIBRARY_PATH /vendor/lib64:/vendor/lib64/hw:/system/lib64:/system/lib64/hw - setenv LD_PRELOAD /vendor/lib64/libsycamore_keytrace.so - -service vendor.gatekeeper-1-0 /vendor/bin/hw/android.hardware.gatekeeper@1.0-service - interface android.hardware.gatekeeper@1.0::IGatekeeper default - class hal - user root - group root - disabled - seclabel u:r:recovery:s0 - setenv LD_LIBRARY_PATH /vendor/lib64:/vendor/lib64/hw:/system/lib64:/system/lib64/hw - -on init - # teeperf is not part of the stock Microtrust DAC sequence below. - chmod 0660 /dev/teeperf - # V11-persist-ro: expose the stock Microtrust VFS namespace without - # permitting journal replay or persistent writes. - mkdir /mnt/vendor/persist 0771 system system - mount ext4 /dev/block/sdc14 /mnt/vendor/persist ro noatime nosuid nodev wait noload - -on fs - restorecon /vendor/bin/teei_daemon - - chmod 0660 /dev/teei_client - chown system system /dev/teei_client - - chmod 0660 /dev/teei_config - chown system system /dev/teei_config - - chmod 0666 /dev/isee_tee0 - chown system drmrpc /dev/isee_tee0 - - chmod 0660 /dev/tz_vfs - chown system system /dev/tz_vfs - - chmod 0660 /dev/teei_fp - chown system /dev/teei_fp - - chown system drmrpc /dev/ut_keymaster - chmod 0660 /dev/ut_keymaster - - chmod 0660 /dev/0:0:0:49476 - chown system system /dev/0:0:0:49476 - - chmod 0660 /dev/rpmb0 - chown system system /dev/rpmb0 - - chmod 0660 /dev/emmcrpmb0 - chown system system /dev/emmcrpmb0 - - chown system system /dev/utr_tui - chmod 0660 /dev/utr_tui - - start teei_daemon - -on property:vendor.soter.teei.init=INIT_OK - start vendor.gatekeeper-1-0 - -on post-fs-data - setprop vendor.soter.teei.logini start diff --git a/recovery/root/init.recovery.crypto.rc.v20.3-backup b/recovery/root/init.recovery.crypto.rc.v20.3-backup deleted file mode 100644 index 6196b9a..0000000 --- a/recovery/root/init.recovery.crypto.rc.v20.3-backup +++ /dev/null @@ -1,101 +0,0 @@ -# Android 16 Beanpod/Microtrust security services required by metadata FBE. -# V18 runs teei_daemon with its exact stock system/system + SYS_RAWIO + tee -# identity. Beanpod and Gatekeeper retain the proven V17 recovery identity. -service teei_daemon /vendor/bin/teei_daemon \ - -r 020b0000000000000000000000000000 \ - -r 020f0000000000000000000000000000 \ - -r 06090000000000000000000000000000 \ - -r 05120000000000000000000000000000 \ - -r 40188311faf343488db888ad39496f9a \ - -r 07060000000000000000000000007169 \ - -r 4be4f7dc1f2c11e5b5f7727283247c7f \ - -r 9073f03a9618383bb1856eb3f990babd \ - -r 08050000000000000000000000003419 \ - -r 5020170115e016302017012521300000 \ - -r 0f5eed3c3b5a47afacca69a84bf0efad \ - -r 07407000000000000000000000000000 \ - -r 05160000000000000000000000000000 \ - -r 91dba524a6e24909acc48abd7163121a \ - -r 08070000000000000000000000008270 \ - -r 09080000000000000000000000009381 \ - -t 08030000000000000000000000000000 \ - -t 85f630e0f0964c5fa2cc268ce04e3da3 \ - -t 98fb95bcb4bf42d26473eae48690d7ea \ - -t 7b66512021214487ba710a51d7ea78fe \ - -t 09010000000000000000000000000000 - class core - user system - group system - disabled - capabilities SYS_RAWIO - seclabel u:r:tee:s0 - -service vendor.keymint-beanpod /vendor/bin/hw/android.hardware.security.keymint@2.0-service.beanpod - class early_hal - user nobody - group root - disabled - seclabel u:r:recovery:s0 - setenv LD_LIBRARY_PATH /vendor/lib64:/vendor/lib64/hw:/system/lib64:/system/lib64/hw - setenv LD_PRELOAD /vendor/lib64/libsycamore_keytrace.so - -service vendor.gatekeeper-1-0 /vendor/bin/hw/android.hardware.gatekeeper@1.0-service - interface android.hardware.gatekeeper@1.0::IGatekeeper default - class hal - user root - group root - disabled - seclabel u:r:recovery:s0 - setenv LD_LIBRARY_PATH /vendor/lib64:/vendor/lib64/hw:/system/lib64:/system/lib64/hw - -on init - # teeperf is not part of the stock Microtrust DAC sequence below. - chmod 0660 /dev/teeperf - # V11-persist-ro: expose the stock Microtrust VFS namespace without - # permitting journal replay or persistent writes. - mkdir /mnt/vendor/persist 0771 system system - mount ext4 /dev/block/sdc14 /mnt/vendor/persist ro noatime nosuid nodev wait noload - -on fs - restorecon /vendor/bin/teei_daemon - - chmod 0660 /dev/teei_client - chown system system /dev/teei_client - - chmod 0660 /dev/teei_config - chown system system /dev/teei_config - - chmod 0666 /dev/isee_tee0 - chown system drmrpc /dev/isee_tee0 - - chmod 0660 /dev/tz_vfs - chown system system /dev/tz_vfs - - chmod 0660 /dev/teei_fp - chown system /dev/teei_fp - - chown system drmrpc /dev/ut_keymaster - chmod 0660 /dev/ut_keymaster - - chmod 0660 /dev/0:0:0:49476 - chown system system /dev/0:0:0:49476 - - chmod 0660 /dev/rpmb0 - chown system system /dev/rpmb0 - - chmod 0660 /dev/emmcrpmb0 - chown system system /dev/emmcrpmb0 - - chown system system /dev/utr_tui - chmod 0660 /dev/utr_tui - - start teei_daemon - -on property:init.svc.teei_daemon=running - start vendor.keymint-beanpod - -on property:vendor.soter.teei.init=INIT_OK - start vendor.gatekeeper-1-0 - -on post-fs-data - setprop vendor.soter.teei.logini start diff --git a/recovery/root/init.recovery.mt8755.rc b/recovery/root/init.recovery.mt8755.rc index 9e55b67..815c1ea 100644 --- a/recovery/root/init.recovery.mt8755.rc +++ b/recovery/root/init.recovery.mt8755.rc @@ -50,3 +50,10 @@ on property:sys.usb.config=mtp,adb && property:sys.usb.ffs.ready=1 && property:s on property:sys.usb.config=none && property:sys.usb.configfs=1 rm /config/usb_gadget/g1/configs/b.1/f2 setprop sys.usb.ffs.mtp.ready 0 + +# Configure the regulator-vibrator LED for TWRP's native transient haptics. +# Selecting the transient trigger creates duration/activate/state; state=1 +# makes each activation turn the vibrator on for the requested duration. +on boot + write /sys/class/leds/vibrator/trigger transient + write /sys/class/leds/vibrator/state 1 diff --git a/recovery/root/lib/modules/modules.alias b/recovery/root/lib/modules/modules.alias deleted file mode 100644 index 8ee446e..0000000 --- a/recovery/root/lib/modules/modules.alias +++ /dev/null @@ -1,1211 +0,0 @@ -# Aliases extracted from modules themselves. -alias of:N*T*Cmediatek,mt2701-auxadc mt6577_auxadc -alias of:N*T*Cmediatek,mt2701-auxadcC* mt6577_auxadc -alias of:N*T*Cmediatek,mt2712-auxadc mt6577_auxadc -alias of:N*T*Cmediatek,mt2712-auxadcC* mt6577_auxadc -alias of:N*T*Cmediatek,mt7622-auxadc mt6577_auxadc -alias of:N*T*Cmediatek,mt7622-auxadcC* mt6577_auxadc -alias of:N*T*Cmediatek,mt8173-auxadc mt6577_auxadc -alias of:N*T*Cmediatek,mt8173-auxadcC* mt6577_auxadc -alias of:N*T*Cmediatek,mt6765-auxadc mt6577_auxadc -alias of:N*T*Cmediatek,mt6765-auxadcC* mt6577_auxadc -alias of:N*T*Cmediatek,mt2701-u3phy phy_mtk_tphy -alias of:N*T*Cmediatek,mt2701-u3phyC* phy_mtk_tphy -alias of:N*T*Cmediatek,mt2712-u3phy phy_mtk_tphy -alias of:N*T*Cmediatek,mt2712-u3phyC* phy_mtk_tphy -alias of:N*T*Cmediatek,mt8173-u3phy phy_mtk_tphy -alias of:N*T*Cmediatek,mt8173-u3phyC* phy_mtk_tphy -alias of:N*T*Cmediatek,mt8195-tphy phy_mtk_tphy -alias of:N*T*Cmediatek,mt8195-tphyC* phy_mtk_tphy -alias of:N*T*Cmediatek,generic-tphy-v1 phy_mtk_tphy -alias of:N*T*Cmediatek,generic-tphy-v1C* phy_mtk_tphy -alias of:N*T*Cmediatek,generic-tphy-v2 phy_mtk_tphy -alias of:N*T*Cmediatek,generic-tphy-v2C* phy_mtk_tphy -alias of:N*T*Cmediatek,generic-tphy-v3 phy_mtk_tphy -alias of:N*T*Cmediatek,generic-tphy-v3C* phy_mtk_tphy -alias of:N*T*Cmediatek,mt6359p-keys mtk_pmic_keys -alias of:N*T*Cmediatek,mt6359p-keysC* mtk_pmic_keys -alias of:N*T*Cmediatek,mt6397-keys mtk_pmic_keys -alias of:N*T*Cmediatek,mt6397-keysC* mtk_pmic_keys -alias of:N*T*Cmediatek,mt6323-keys mtk_pmic_keys -alias of:N*T*Cmediatek,mt6323-keysC* mtk_pmic_keys -alias of:N*T*Cmediatek,mt6363-keys mtk_pmic_keys -alias of:N*T*Cmediatek,mt6363-keysC* mtk_pmic_keys -alias of:N*T*Cmediatek,mt6377-keys mtk_pmic_keys -alias of:N*T*Cmediatek,mt6377-keysC* mtk_pmic_keys -alias of:N*T*Cmediatek,mt6323 mtk_pmic_wrap -alias of:N*T*Cmediatek,mt6323C* mtk_pmic_wrap -alias of:N*T*Cmediatek,mt6351 mtk_pmic_wrap -alias of:N*T*Cmediatek,mt6351C* mtk_pmic_wrap -alias of:N*T*Cmediatek,mt6357 mtk_pmic_wrap -alias of:N*T*Cmediatek,mt6357C* mtk_pmic_wrap -alias of:N*T*Cmediatek,mt6358 mtk_pmic_wrap -alias of:N*T*Cmediatek,mt6358C* mtk_pmic_wrap -alias of:N*T*Cmediatek,mt6359 mtk_pmic_wrap -alias of:N*T*Cmediatek,mt6359C* mtk_pmic_wrap -alias of:N*T*Cmediatek,mt6359p mtk_pmic_wrap -alias of:N*T*Cmediatek,mt6359pC* mtk_pmic_wrap -alias of:N*T*Cmediatek,mt6380-regulator mtk_pmic_wrap -alias of:N*T*Cmediatek,mt6380-regulatorC* mtk_pmic_wrap -alias of:N*T*Cmediatek,mt6397 mtk_pmic_wrap -alias of:N*T*Cmediatek,mt6397C* mtk_pmic_wrap -alias of:N*T*Cmediatek,mt2701-pwrap mtk_pmic_wrap -alias of:N*T*Cmediatek,mt2701-pwrapC* mtk_pmic_wrap -alias of:N*T*Cmediatek,mt6765-pwrap mtk_pmic_wrap -alias of:N*T*Cmediatek,mt6765-pwrapC* mtk_pmic_wrap -alias of:N*T*Cmediatek,mt6779-pwrap mtk_pmic_wrap -alias of:N*T*Cmediatek,mt6779-pwrapC* mtk_pmic_wrap -alias of:N*T*Cmediatek,mt6797-pwrap mtk_pmic_wrap -alias of:N*T*Cmediatek,mt6797-pwrapC* mtk_pmic_wrap -alias of:N*T*Cmediatek,mt6853-pwrap mtk_pmic_wrap -alias of:N*T*Cmediatek,mt6853-pwrapC* mtk_pmic_wrap -alias of:N*T*Cmediatek,mt6873-pwrap mtk_pmic_wrap -alias of:N*T*Cmediatek,mt6873-pwrapC* mtk_pmic_wrap -alias of:N*T*Cmediatek,mt7622-pwrap mtk_pmic_wrap -alias of:N*T*Cmediatek,mt7622-pwrapC* mtk_pmic_wrap -alias of:N*T*Cmediatek,mt8135-pwrap mtk_pmic_wrap -alias of:N*T*Cmediatek,mt8135-pwrapC* mtk_pmic_wrap -alias of:N*T*Cmediatek,mt8173-pwrap mtk_pmic_wrap -alias of:N*T*Cmediatek,mt8173-pwrapC* mtk_pmic_wrap -alias of:N*T*Cmediatek,mt8183-pwrap mtk_pmic_wrap -alias of:N*T*Cmediatek,mt8183-pwrapC* mtk_pmic_wrap -alias of:N*T*Cmediatek,mt8195-pwrap mtk_pmic_wrap -alias of:N*T*Cmediatek,mt8195-pwrapC* mtk_pmic_wrap -alias of:N*T*Cmediatek,mt8516-pwrap mtk_pmic_wrap -alias of:N*T*Cmediatek,mt8516-pwrapC* mtk_pmic_wrap -alias of:N*T*Csouthchip,sc89601d_slave sc8960x_slave_charger -alias of:N*T*Csouthchip,sc89601d_slaveC* sc8960x_slave_charger -alias of:N*T*Cmediatek,mt2712-i2c i2c_mt65xx -alias of:N*T*Cmediatek,mt2712-i2cC* i2c_mt65xx -alias of:N*T*Cmediatek,mt6577-i2c i2c_mt65xx -alias of:N*T*Cmediatek,mt6577-i2cC* i2c_mt65xx -alias of:N*T*Cmediatek,mt6589-i2c i2c_mt65xx -alias of:N*T*Cmediatek,mt6589-i2cC* i2c_mt65xx -alias of:N*T*Cmediatek,mt6873-i2c i2c_mt65xx -alias of:N*T*Cmediatek,mt6873-i2cC* i2c_mt65xx -alias of:N*T*Cmediatek,mt6879-i2c i2c_mt65xx -alias of:N*T*Cmediatek,mt6879-i2cC* i2c_mt65xx -alias of:N*T*Cmediatek,mt6983-i2c i2c_mt65xx -alias of:N*T*Cmediatek,mt6983-i2cC* i2c_mt65xx -alias of:N*T*Cmediatek,mt7622-i2c i2c_mt65xx -alias of:N*T*Cmediatek,mt7622-i2cC* i2c_mt65xx -alias of:N*T*Cmediatek,mt8173-i2c i2c_mt65xx -alias of:N*T*Cmediatek,mt8173-i2cC* i2c_mt65xx -alias of:N*T*Cmediatek,mt8183-i2c i2c_mt65xx -alias of:N*T*Cmediatek,mt8183-i2cC* i2c_mt65xx -alias of:N*T*Cmediatek,mt8192-i2c i2c_mt65xx -alias of:N*T*Cmediatek,mt8192-i2cC* i2c_mt65xx -alias of:N*T*Cmediatek,mt6359p-battery_oc_throttling mtk_battery_oc_throttling -alias of:N*T*Cmediatek,mt6359p-battery_oc_throttlingC* mtk_battery_oc_throttling -alias of:N*T*Cmediatek,mt6375-battery_oc_throttling mtk_battery_oc_throttling -alias of:N*T*Cmediatek,mt6375-battery_oc_throttlingC* mtk_battery_oc_throttling -alias of:N*T*Cmediatek,mt6377-battery_oc_throttling mtk_battery_oc_throttling -alias of:N*T*Cmediatek,mt6377-battery_oc_throttlingC* mtk_battery_oc_throttling -alias of:N*T*Crichtek,rt5133 rt5133_regulator -alias of:N*T*Crichtek,rt5133C* rt5133_regulator -alias of:N*T*Cmediatek,mt8173-mtu3 mtu3 -alias of:N*T*Cmediatek,mt8173-mtu3C* mtu3 -alias of:N*T*Cmediatek,mtu3 mtu3 -alias of:N*T*Cmediatek,mtu3C* mtu3 -alias of:N*T*Cti,syscon-reset reset_ti_syscon -alias of:N*T*Cti,syscon-resetC* reset_ti_syscon -alias of:N*T*Cmediatek,mt6835-spmi spmi_mtk_pmif -alias of:N*T*Cmediatek,mt6835-spmiC* spmi_mtk_pmif -alias of:N*T*Cmediatek,mt6853-spmi spmi_mtk_pmif -alias of:N*T*Cmediatek,mt6853-spmiC* spmi_mtk_pmif -alias of:N*T*Cmediatek,mt6855-spmi spmi_mtk_pmif -alias of:N*T*Cmediatek,mt6855-spmiC* spmi_mtk_pmif -alias of:N*T*Cmediatek,mt6873-spmi spmi_mtk_pmif -alias of:N*T*Cmediatek,mt6873-spmiC* spmi_mtk_pmif -alias of:N*T*Cmediatek,mt6879-spmi spmi_mtk_pmif -alias of:N*T*Cmediatek,mt6879-spmiC* spmi_mtk_pmif -alias of:N*T*Cmediatek,mt6886-spmi spmi_mtk_pmif -alias of:N*T*Cmediatek,mt6886-spmiC* spmi_mtk_pmif -alias of:N*T*Cmediatek,mt6893-spmi spmi_mtk_pmif -alias of:N*T*Cmediatek,mt6893-spmiC* spmi_mtk_pmif -alias of:N*T*Cmediatek,mt6895-spmi spmi_mtk_pmif -alias of:N*T*Cmediatek,mt6895-spmiC* spmi_mtk_pmif -alias of:N*T*Cmediatek,mt6983-spmi spmi_mtk_pmif -alias of:N*T*Cmediatek,mt6983-spmiC* spmi_mtk_pmif -alias of:N*T*Cmediatek,mt6985-spmi spmi_mtk_pmif -alias of:N*T*Cmediatek,mt6985-spmiC* spmi_mtk_pmif -alias of:N*T*Cmediatek,mtk_ctd mtk_chg_type_det -alias of:N*T*Cmediatek,mtk_ctdC* mtk_chg_type_det -alias of:N*T*Cpanel,sycamore panel_boeips_sycamore_90hz_drv -alias of:N*T*Cpanel,sycamoreC* panel_boeips_sycamore_90hz_drv -alias of:N*T*Cmediatek,mt2712-m4u mtk_iommu -alias of:N*T*Cmediatek,mt2712-m4uC* mtk_iommu -alias of:N*T*Cmediatek,mt6779-m4u mtk_iommu -alias of:N*T*Cmediatek,mt6779-m4uC* mtk_iommu -alias of:N*T*Cmediatek,mt6835-disp-iommu mtk_iommu -alias of:N*T*Cmediatek,mt6835-disp-iommuC* mtk_iommu -alias of:N*T*Cmediatek,mt6853-m4u mtk_iommu -alias of:N*T*Cmediatek,mt6853-m4uC* mtk_iommu -alias of:N*T*Cmediatek,mt6855-disp-iommu mtk_iommu -alias of:N*T*Cmediatek,mt6855-disp-iommuC* mtk_iommu -alias of:N*T*Cmediatek,mt6873-m4u mtk_iommu -alias of:N*T*Cmediatek,mt6873-m4uC* mtk_iommu -alias of:N*T*Cmediatek,mt6873-apu-iommu mtk_iommu -alias of:N*T*Cmediatek,mt6873-apu-iommuC* mtk_iommu -alias of:N*T*Cmediatek,mt6879-apu-iommu0 mtk_iommu -alias of:N*T*Cmediatek,mt6879-apu-iommu0C* mtk_iommu -alias of:N*T*Cmediatek,mt6879-disp-iommu mtk_iommu -alias of:N*T*Cmediatek,mt6879-disp-iommuC* mtk_iommu -alias of:N*T*Cmediatek,mt6886-apu-iommu0 mtk_iommu -alias of:N*T*Cmediatek,mt6886-apu-iommu0C* mtk_iommu -alias of:N*T*Cmediatek,mt6886-disp-iommu mtk_iommu -alias of:N*T*Cmediatek,mt6886-disp-iommuC* mtk_iommu -alias of:N*T*Cmediatek,mt6893-iommu0 mtk_iommu -alias of:N*T*Cmediatek,mt6893-iommu0C* mtk_iommu -alias of:N*T*Cmediatek,mt6893-iommu1 mtk_iommu -alias of:N*T*Cmediatek,mt6893-iommu1C* mtk_iommu -alias of:N*T*Cmediatek,mt6893-iommu2 mtk_iommu -alias of:N*T*Cmediatek,mt6893-iommu2C* mtk_iommu -alias of:N*T*Cmediatek,mt6893-iommu3 mtk_iommu -alias of:N*T*Cmediatek,mt6893-iommu3C* mtk_iommu -alias of:N*T*Cmediatek,mt6895-disp-iommu mtk_iommu -alias of:N*T*Cmediatek,mt6895-disp-iommuC* mtk_iommu -alias of:N*T*Cmediatek,mt6895-mdp-iommu mtk_iommu -alias of:N*T*Cmediatek,mt6895-mdp-iommuC* mtk_iommu -alias of:N*T*Cmediatek,mt6895-apu-iommu0 mtk_iommu -alias of:N*T*Cmediatek,mt6895-apu-iommu0C* mtk_iommu -alias of:N*T*Cmediatek,mt6895-apu-iommu1 mtk_iommu -alias of:N*T*Cmediatek,mt6895-apu-iommu1C* mtk_iommu -alias of:N*T*Cmediatek,mt6983-apu-iommu0 mtk_iommu -alias of:N*T*Cmediatek,mt6983-apu-iommu0C* mtk_iommu -alias of:N*T*Cmediatek,mt6983-apu-iommu1 mtk_iommu -alias of:N*T*Cmediatek,mt6983-apu-iommu1C* mtk_iommu -alias of:N*T*Cmediatek,mt6983-disp-iommu mtk_iommu -alias of:N*T*Cmediatek,mt6983-disp-iommuC* mtk_iommu -alias of:N*T*Cmediatek,mt6983-mdp-iommu mtk_iommu -alias of:N*T*Cmediatek,mt6983-mdp-iommuC* mtk_iommu -alias of:N*T*Cmediatek,mt6985-apu-iommu0 mtk_iommu -alias of:N*T*Cmediatek,mt6985-apu-iommu0C* mtk_iommu -alias of:N*T*Cmediatek,mt6985-apu-iommu1 mtk_iommu -alias of:N*T*Cmediatek,mt6985-apu-iommu1C* mtk_iommu -alias of:N*T*Cmediatek,mt6985-disp-iommu mtk_iommu -alias of:N*T*Cmediatek,mt6985-disp-iommuC* mtk_iommu -alias of:N*T*Cmediatek,mt6985-mdp-iommu mtk_iommu -alias of:N*T*Cmediatek,mt6985-mdp-iommuC* mtk_iommu -alias of:N*T*Cmediatek,mt8167-m4u mtk_iommu -alias of:N*T*Cmediatek,mt8167-m4uC* mtk_iommu -alias of:N*T*Cmediatek,mt8173-m4u mtk_iommu -alias of:N*T*Cmediatek,mt8173-m4uC* mtk_iommu -alias of:N*T*Cmediatek,mt8183-m4u mtk_iommu -alias of:N*T*Cmediatek,mt8183-m4uC* mtk_iommu -alias of:N*T*Cmediatek,mt8192-m4u mtk_iommu -alias of:N*T*Cmediatek,mt8192-m4uC* mtk_iommu -alias of:N*T*Cmediatek,charger,pe2 mtk_pep20 -alias of:N*T*Cmediatek,charger,pe2C* mtk_pep20 -alias of:N*T*Cmediatek,mt2701-disp-pwm pwm_mtk_disp -alias of:N*T*Cmediatek,mt2701-disp-pwmC* pwm_mtk_disp -alias of:N*T*Cmediatek,mt6595-disp-pwm pwm_mtk_disp -alias of:N*T*Cmediatek,mt6595-disp-pwmC* pwm_mtk_disp -alias of:N*T*Cmediatek,mt6873-disp-pwm pwm_mtk_disp -alias of:N*T*Cmediatek,mt6873-disp-pwmC* pwm_mtk_disp -alias of:N*T*Cmediatek,mt6853-disp-pwm pwm_mtk_disp -alias of:N*T*Cmediatek,mt6853-disp-pwmC* pwm_mtk_disp -alias of:N*T*Cmediatek,mt6985-disp-pwm0 pwm_mtk_disp -alias of:N*T*Cmediatek,mt6985-disp-pwm0C* pwm_mtk_disp -alias of:N*T*Cmediatek,mt8173-disp-pwm pwm_mtk_disp -alias of:N*T*Cmediatek,mt8173-disp-pwmC* pwm_mtk_disp -alias of:N*T*Cmediatek,mt8183-disp-pwm pwm_mtk_disp -alias of:N*T*Cmediatek,mt8183-disp-pwmC* pwm_mtk_disp -alias of:N*T*Cmediatek,mt6886-disp-pwm pwm_mtk_disp -alias of:N*T*Cmediatek,mt6886-disp-pwmC* pwm_mtk_disp -alias of:N*T*Cmediatek,mt6835-disp-pwm pwm_mtk_disp -alias of:N*T*Cmediatek,mt6835-disp-pwmC* pwm_mtk_disp -alias of:N*T*Cmediatek,mt6685-rtc rtc_mt6685 -alias of:N*T*Cmediatek,mt6685-rtcC* rtc_mt6685 -alias of:N*T*Cmediatek,mt6377-rtc rtc_mt6685 -alias of:N*T*Cmediatek,mt6377-rtcC* rtc_mt6685 -alias of:N*T*Cpanel,sycamore panel_tcl_sycamore_90hz_drv -alias of:N*T*Cpanel,sycamoreC* panel_tcl_sycamore_90hz_drv -alias i2c:wusb3812 tcpc_wusb3812 -alias of:N*T*Cmediatek,mt6359p-dynamic_loading_throttling mtk_dynamic_loading_throttling -alias of:N*T*Cmediatek,mt6359p-dynamic_loading_throttlingC* mtk_dynamic_loading_throttling -alias of:N*T*Cmediatek,mt6363-dynamic_loading_throttling mtk_dynamic_loading_throttling -alias of:N*T*Cmediatek,mt6363-dynamic_loading_throttlingC* mtk_dynamic_loading_throttling -alias of:N*T*Cmediatek,mt6377-dynamic_loading_throttling mtk_dynamic_loading_throttling -alias of:N*T*Cmediatek,mt6377-dynamic_loading_throttlingC* mtk_dynamic_loading_throttling -alias of:N*T*Cmediatek,mt6315_3-regulator mt6315_regulator -alias of:N*T*Cmediatek,mt6315_3-regulatorC* mt6315_regulator -alias of:N*T*Cmediatek,mt6315_6-regulator mt6315_regulator -alias of:N*T*Cmediatek,mt6315_6-regulatorC* mt6315_regulator -alias of:N*T*Cmediatek,mt6315_7-regulator mt6315_regulator -alias of:N*T*Cmediatek,mt6315_7-regulatorC* mt6315_regulator -alias of:N*T*Cmediatek,mt6315_15-regulator mt6315_regulator -alias of:N*T*Cmediatek,mt6315_15-regulatorC* mt6315_regulator -alias of:N*T*Cmediatek,mt8183-dvfsrc mtk_dvfsrc_regulator -alias of:N*T*Cmediatek,mt8183-dvfsrcC* mtk_dvfsrc_regulator -alias of:N*T*Cmediatek,mt8192-dvfsrc mtk_dvfsrc_regulator -alias of:N*T*Cmediatek,mt8192-dvfsrcC* mtk_dvfsrc_regulator -alias of:N*T*Cmediatek,mt6873-dvfsrc mtk_dvfsrc_regulator -alias of:N*T*Cmediatek,mt6873-dvfsrcC* mtk_dvfsrc_regulator -alias of:N*T*Cmediatek,mt6853-dvfsrc mtk_dvfsrc_regulator -alias of:N*T*Cmediatek,mt6853-dvfsrcC* mtk_dvfsrc_regulator -alias of:N*T*Cmediatek,mt6885-dvfsrc mtk_dvfsrc_regulator -alias of:N*T*Cmediatek,mt6885-dvfsrcC* mtk_dvfsrc_regulator -alias of:N*T*Cmediatek,mt6893-dvfsrc mtk_dvfsrc_regulator -alias of:N*T*Cmediatek,mt6893-dvfsrcC* mtk_dvfsrc_regulator -alias of:N*T*Cmediatek,mt6833-dvfsrc mtk_dvfsrc_regulator -alias of:N*T*Cmediatek,mt6833-dvfsrcC* mtk_dvfsrc_regulator -alias of:N*T*Cmediatek,mt6877-dvfsrc mtk_dvfsrc_regulator -alias of:N*T*Cmediatek,mt6877-dvfsrcC* mtk_dvfsrc_regulator -alias of:N*T*Cmediatek,mt6983-dvfsrc mtk_dvfsrc_regulator -alias of:N*T*Cmediatek,mt6983-dvfsrcC* mtk_dvfsrc_regulator -alias of:N*T*Cmediatek,mt6879-dvfsrc mtk_dvfsrc_regulator -alias of:N*T*Cmediatek,mt6879-dvfsrcC* mtk_dvfsrc_regulator -alias of:N*T*Cmediatek,mt6895-dvfsrc mtk_dvfsrc_regulator -alias of:N*T*Cmediatek,mt6895-dvfsrcC* mtk_dvfsrc_regulator -alias of:N*T*Cmediatek,mt6855-dvfsrc mtk_dvfsrc_regulator -alias of:N*T*Cmediatek,mt6855-dvfsrcC* mtk_dvfsrc_regulator -alias of:N*T*Cmediatek,mt6985-dvfsrc mtk_dvfsrc_regulator -alias of:N*T*Cmediatek,mt6985-dvfsrcC* mtk_dvfsrc_regulator -alias of:N*T*Cmediatek,mt6886-dvfsrc mtk_dvfsrc_regulator -alias of:N*T*Cmediatek,mt6886-dvfsrcC* mtk_dvfsrc_regulator -alias of:N*T*Cmediatek,mt6835-dvfsrc mtk_dvfsrc_regulator -alias of:N*T*Cmediatek,mt6835-dvfsrcC* mtk_dvfsrc_regulator -alias platform:mtk-srclken-rc clkbuf -alias of:N*T*Cmediatek,srclken-rc clkbuf -alias of:N*T*Cmediatek,srclken-rcC* clkbuf -alias of:N*T*Cmediatek,mt6375-adc mt6375_adc -alias of:N*T*Cmediatek,mt6375-adcC* mt6375_adc -alias of:N*T*Cmediatek,spi_slave spi_slave -alias of:N*T*Cmediatek,spi_slaveC* spi_slave -alias of:N*T*Cmediatek,mtk-drm-panel-drv-dbi mediatek_drm_panel_drv -alias of:N*T*Cmediatek,mtk-drm-panel-drv-dbiC* mediatek_drm_panel_drv -alias of:N*T*Cmediatek,mtk-drm-panel-drv-dpi mediatek_drm_panel_drv -alias of:N*T*Cmediatek,mtk-drm-panel-drv-dpiC* mediatek_drm_panel_drv -alias of:N*T*Cmediatek,mtk-drm-panel-drv-dsi mediatek_drm_panel_drv -alias of:N*T*Cmediatek,mtk-drm-panel-drv-dsiC* mediatek_drm_panel_drv -alias of:N*T*Cmediatek,extcon-usb extcon_mtk_usb -alias of:N*T*Cmediatek,extcon-usbC* extcon_mtk_usb -alias of:N*T*Cmediatek,mt6363-lvsys-notify pmic_lvsys_notify -alias of:N*T*Cmediatek,mt6363-lvsys-notifyC* pmic_lvsys_notify -alias of:N*T*Csouthchip,sc89601d sc8960x_charger -alias of:N*T*Csouthchip,sc89601dC* sc8960x_charger -alias of:N*T*Csouthchip,sc89601s sc8960x_charger -alias of:N*T*Csouthchip,sc89601sC* sc8960x_charger -alias of:N*T*Csouthchip,sc89619d sc8960x_charger -alias of:N*T*Csouthchip,sc89619dC* sc8960x_charger -alias spmi:spmi-pmic mtk_spmi_pmic -alias of:N*T*Cmediatek,mt6315 mtk_spmi_pmic -alias of:N*T*Cmediatek,mt6315C* mtk_spmi_pmic -alias of:N*T*Cmediatek,mt6319 mtk_spmi_pmic -alias of:N*T*Cmediatek,mt6319C* mtk_spmi_pmic -alias of:N*T*Cmediatek,mt6363 mtk_spmi_pmic -alias of:N*T*Cmediatek,mt6363C* mtk_spmi_pmic -alias of:N*T*Cmediatek,mt6368 mtk_spmi_pmic -alias of:N*T*Cmediatek,mt6368C* mtk_spmi_pmic -alias of:N*T*Cmediatek,mt6369 mtk_spmi_pmic -alias of:N*T*Cmediatek,mt6369C* mtk_spmi_pmic -alias of:N*T*Cmediatek,mt6373 mtk_spmi_pmic -alias of:N*T*Cmediatek,mt6373C* mtk_spmi_pmic -alias of:N*T*Cmediatek,mt6377 mtk_spmi_pmic -alias of:N*T*Cmediatek,mt6377C* mtk_spmi_pmic -alias of:N*T*Cmediatek,scpsys-disable-unused mtk_pm_domain_disable_unused -alias of:N*T*Cmediatek,scpsys-disable-unusedC* mtk_pm_domain_disable_unused -alias of:N*T*Cmediatek,mt6375-gauge mt6375_battery -alias of:N*T*Cmediatek,mt6375-gaugeC* mt6375_battery -alias platform:himax_ts hx83102j -alias of:N*T*Cmediatek,pbm mtk_pbm -alias of:N*T*Cmediatek,pbmC* mtk_pbm -alias of:N*T*Cmediatek,disp-leds leds_mtk_disp -alias of:N*T*Cmediatek,disp-ledsC* leds_mtk_disp -alias of:N*T*Cmediatek,disp-conn-leds leds_mtk_disp -alias of:N*T*Cmediatek,disp-conn-ledsC* leds_mtk_disp -alias of:N*T*Cmediatek,i2c-leds leds_mtk_disp -alias of:N*T*Cmediatek,i2c-ledsC* leds_mtk_disp -alias of:N*T*Cmediatek,mtk-leds leds_mtk_disp -alias of:N*T*Cmediatek,mtk-ledsC* leds_mtk_disp -alias of:N*T*Cmediatek,charger mtk_charger_framework -alias of:N*T*Cmediatek,chargerC* mtk_charger_framework -alias of:N*T*Cmediatek,mt2712-wdt mtk_wdt -alias of:N*T*Cmediatek,mt2712-wdtC* mtk_wdt -alias of:N*T*Cmediatek,mt6589-wdt mtk_wdt -alias of:N*T*Cmediatek,mt6589-wdtC* mtk_wdt -alias of:N*T*Cmediatek,mt8183-wdt mtk_wdt -alias of:N*T*Cmediatek,mt8183-wdtC* mtk_wdt -alias of:N*T*Cmediatek,mt8192-wdt mtk_wdt -alias of:N*T*Cmediatek,mt8192-wdtC* mtk_wdt -alias of:N*T*Cmediatek,mt8195-wdt mtk_wdt -alias of:N*T*Cmediatek,mt8195-wdtC* mtk_wdt -alias of:N*T*Cmediatek,mt6363-auxadc mtk_spmi_pmic_adc -alias of:N*T*Cmediatek,mt6363-auxadcC* mtk_spmi_pmic_adc -alias of:N*T*Cmediatek,mt6368-auxadc mtk_spmi_pmic_adc -alias of:N*T*Cmediatek,mt6368-auxadcC* mtk_spmi_pmic_adc -alias of:N*T*Cmediatek,mt6373-auxadc mtk_spmi_pmic_adc -alias of:N*T*Cmediatek,mt6373-auxadcC* mtk_spmi_pmic_adc -alias of:N*T*Cmediatek,mt6377-auxadc mtk_spmi_pmic_adc -alias of:N*T*Cmediatek,mt6377-auxadcC* mtk_spmi_pmic_adc -alias of:N*T*Csyscon-reboot-mode syscon_reboot_mode -alias of:N*T*Csyscon-reboot-modeC* syscon_reboot_mode -alias of:N*T*Cmediatek,mt6359p-lbat_service pmic_lbat_service -alias of:N*T*Cmediatek,mt6359p-lbat_serviceC* pmic_lbat_service -alias of:N*T*Cmediatek,mt6375-lbat-service pmic_lbat_service -alias of:N*T*Cmediatek,mt6375-lbat-serviceC* pmic_lbat_service -alias of:N*T*Cmediatek,mt6377-lbat-service pmic_lbat_service -alias of:N*T*Cmediatek,mt6377-lbat-serviceC* pmic_lbat_service -alias of:N*T*Cmediatek,mtk-drm-gateic-drv-rt4801h mediatek_drm_gateic -alias of:N*T*Cmediatek,mtk-drm-gateic-drv-rt4801hC* mediatek_drm_gateic -alias of:N*T*Cmediatek,mtk-drm-gateic-drv-rt4831a mediatek_drm_gateic -alias of:N*T*Cmediatek,mtk-drm-gateic-drv-rt4831aC* mediatek_drm_gateic -alias platform:mtk-spi spi_mt65xx -alias of:N*T*Cmediatek,mt2701-spi spi_mt65xx -alias of:N*T*Cmediatek,mt2701-spiC* spi_mt65xx -alias of:N*T*Cmediatek,mt2712-spi spi_mt65xx -alias of:N*T*Cmediatek,mt2712-spiC* spi_mt65xx -alias of:N*T*Cmediatek,mt6589-spi spi_mt65xx -alias of:N*T*Cmediatek,mt6589-spiC* spi_mt65xx -alias of:N*T*Cmediatek,mt6765-spi spi_mt65xx -alias of:N*T*Cmediatek,mt6765-spiC* spi_mt65xx -alias of:N*T*Cmediatek,mt6983-spi spi_mt65xx -alias of:N*T*Cmediatek,mt6983-spiC* spi_mt65xx -alias of:N*T*Cmediatek,mt6985-spi spi_mt65xx -alias of:N*T*Cmediatek,mt6985-spiC* spi_mt65xx -alias of:N*T*Cmediatek,mt7622-spi spi_mt65xx -alias of:N*T*Cmediatek,mt7622-spiC* spi_mt65xx -alias of:N*T*Cmediatek,mt7629-spi spi_mt65xx -alias of:N*T*Cmediatek,mt7629-spiC* spi_mt65xx -alias of:N*T*Cmediatek,mt8135-spi spi_mt65xx -alias of:N*T*Cmediatek,mt8135-spiC* spi_mt65xx -alias of:N*T*Cmediatek,mt8173-spi spi_mt65xx -alias of:N*T*Cmediatek,mt8173-spiC* spi_mt65xx -alias of:N*T*Cmediatek,mt8183-spi spi_mt65xx -alias of:N*T*Cmediatek,mt8183-spiC* spi_mt65xx -alias of:N*T*Cmediatek,mt8192-spi spi_mt65xx -alias of:N*T*Cmediatek,mt8192-spiC* spi_mt65xx -alias of:N*T*Cmediatek,mt6893-spi spi_mt65xx -alias of:N*T*Cmediatek,mt6893-spiC* spi_mt65xx -alias of:N*T*Cmediatek,mt6577-uart-dma mtk_uart_apdma -alias of:N*T*Cmediatek,mt6577-uart-dmaC* mtk_uart_apdma -alias of:N*T*Cmediatek,mt2712-uart-dma mtk_uart_apdma -alias of:N*T*Cmediatek,mt2712-uart-dmaC* mtk_uart_apdma -alias of:N*T*Cmediatek,mt6779-uart-dma mtk_uart_apdma -alias of:N*T*Cmediatek,mt6779-uart-dmaC* mtk_uart_apdma -alias of:N*T*Cmediatek,mt6985-uart-dma mtk_uart_apdma -alias of:N*T*Cmediatek,mt6985-uart-dmaC* mtk_uart_apdma -alias of:N*T*Cmediatek,cqdma mtk_cqdma -alias of:N*T*Cmediatek,cqdmaC* mtk_cqdma -alias of:N*T*Cmediatek,mt6853-cqdma mtk_cqdma -alias of:N*T*Cmediatek,mt6853-cqdmaC* mtk_cqdma -alias of:N*T*Cmediatek,charger,pe mtk_pep -alias of:N*T*Cmediatek,charger,peC* mtk_pep -alias of:N*T*Cmediatek,mtk-xhci-p1 xhci_mtk_hcd_v2 -alias of:N*T*Cmediatek,mtk-xhci-p1C* xhci_mtk_hcd_v2 -alias of:N*T*Cmediatek,mt8173-xhci xhci_mtk_hcd_v2 -alias of:N*T*Cmediatek,mt8173-xhciC* xhci_mtk_hcd_v2 -alias of:N*T*Cmediatek,mt8195-xhci xhci_mtk_hcd_v2 -alias of:N*T*Cmediatek,mt8195-xhciC* xhci_mtk_hcd_v2 -alias of:N*T*Cmediatek,mtk-xhci xhci_mtk_hcd_v2 -alias of:N*T*Cmediatek,mtk-xhciC* xhci_mtk_hcd_v2 -alias of:N*T*Cmediatek,mt6375 mt6375 -alias of:N*T*Cmediatek,mt6375C* mt6375 -alias of:N*T*Cmediatek,mt2701-mmsys mediatek_drm -alias of:N*T*Cmediatek,mt2701-mmsysC* mediatek_drm -alias of:N*T*Cmediatek,mt2712-display mediatek_drm -alias of:N*T*Cmediatek,mt2712-displayC* mediatek_drm -alias of:N*T*Cmediatek,mt6779-mmsys mediatek_drm -alias of:N*T*Cmediatek,mt6779-mmsysC* mediatek_drm -alias of:N*T*Cmediatek,mt8173-mmsys mediatek_drm -alias of:N*T*Cmediatek,mt8173-mmsysC* mediatek_drm -alias of:N*T*Cmediatek,mt6885-mmsys mediatek_drm -alias of:N*T*Cmediatek,mt6885-mmsysC* mediatek_drm -alias of:N*T*Cmediatek,mt6893-disp mediatek_drm -alias of:N*T*Cmediatek,mt6893-dispC* mediatek_drm -alias of:N*T*Cmediatek,mt6983-disp mediatek_drm -alias of:N*T*Cmediatek,mt6983-dispC* mediatek_drm -alias of:N*T*Cmediatek,mt6985-disp mediatek_drm -alias of:N*T*Cmediatek,mt6985-dispC* mediatek_drm -alias of:N*T*Cmediatek,mt6895-disp mediatek_drm -alias of:N*T*Cmediatek,mt6895-dispC* mediatek_drm -alias of:N*T*Cmediatek,mt6886-disp mediatek_drm -alias of:N*T*Cmediatek,mt6886-dispC* mediatek_drm -alias of:N*T*Cmediatek,mt6873-mmsys mediatek_drm -alias of:N*T*Cmediatek,mt6873-mmsysC* mediatek_drm -alias of:N*T*Cmediatek,mt6853-mmsys mediatek_drm -alias of:N*T*Cmediatek,mt6853-mmsysC* mediatek_drm -alias of:N*T*Cmediatek,mt6833-mmsys mediatek_drm -alias of:N*T*Cmediatek,mt6833-mmsysC* mediatek_drm -alias of:N*T*Cmediatek,mt6879-mmsys mediatek_drm -alias of:N*T*Cmediatek,mt6879-mmsysC* mediatek_drm -alias of:N*T*Cmediatek,mt6855-mmsys mediatek_drm -alias of:N*T*Cmediatek,mt6855-mmsysC* mediatek_drm -alias of:N*T*Cmediatek,mt6835-mmsys mediatek_drm -alias of:N*T*Cmediatek,mt6835-mmsysC* mediatek_drm -alias of:N*T*Cmediatek,mt6983-disp-tdshp mediatek_drm -alias of:N*T*Cmediatek,mt6983-disp-tdshpC* mediatek_drm -alias of:N*T*Cmediatek,mt6895-disp-tdshp mediatek_drm -alias of:N*T*Cmediatek,mt6895-disp-tdshpC* mediatek_drm -alias of:N*T*Cmediatek,mt6879-disp-tdshp mediatek_drm -alias of:N*T*Cmediatek,mt6879-disp-tdshpC* mediatek_drm -alias of:N*T*Cmediatek,mt6855-disp-tdshp mediatek_drm -alias of:N*T*Cmediatek,mt6855-disp-tdshpC* mediatek_drm -alias of:N*T*Cmediatek,mt6985-disp-tdshp mediatek_drm -alias of:N*T*Cmediatek,mt6985-disp-tdshpC* mediatek_drm -alias of:N*T*Cmediatek,mt2701-disp-color mediatek_drm -alias of:N*T*Cmediatek,mt2701-disp-colorC* mediatek_drm -alias of:N*T*Cmediatek,mt6779-disp-color mediatek_drm -alias of:N*T*Cmediatek,mt6779-disp-colorC* mediatek_drm -alias of:N*T*Cmediatek,mt6885-disp-color mediatek_drm -alias of:N*T*Cmediatek,mt6885-disp-colorC* mediatek_drm -alias of:N*T*Cmediatek,mt8173-disp-color mediatek_drm -alias of:N*T*Cmediatek,mt8173-disp-colorC* mediatek_drm -alias of:N*T*Cmediatek,mt6873-disp-color mediatek_drm -alias of:N*T*Cmediatek,mt6873-disp-colorC* mediatek_drm -alias of:N*T*Cmediatek,mt6853-disp-color mediatek_drm -alias of:N*T*Cmediatek,mt6853-disp-colorC* mediatek_drm -alias of:N*T*Cmediatek,mt6833-disp-color mediatek_drm -alias of:N*T*Cmediatek,mt6833-disp-colorC* mediatek_drm -alias of:N*T*Cmediatek,mt6983-disp-color mediatek_drm -alias of:N*T*Cmediatek,mt6983-disp-colorC* mediatek_drm -alias of:N*T*Cmediatek,mt6895-disp-color mediatek_drm -alias of:N*T*Cmediatek,mt6895-disp-colorC* mediatek_drm -alias of:N*T*Cmediatek,mt6879-disp-color mediatek_drm -alias of:N*T*Cmediatek,mt6879-disp-colorC* mediatek_drm -alias of:N*T*Cmediatek,mt6855-disp-color mediatek_drm -alias of:N*T*Cmediatek,mt6855-disp-colorC* mediatek_drm -alias of:N*T*Cmediatek,mt6985-disp-color mediatek_drm -alias of:N*T*Cmediatek,mt6985-disp-colorC* mediatek_drm -alias of:N*T*Cmediatek,mt6886-disp-color mediatek_drm -alias of:N*T*Cmediatek,mt6886-disp-colorC* mediatek_drm -alias of:N*T*Cmediatek,mt6835-disp-color mediatek_drm -alias of:N*T*Cmediatek,mt6835-disp-colorC* mediatek_drm -alias of:N*T*Cmediatek,mt6779-disp-ccorr mediatek_drm -alias of:N*T*Cmediatek,mt6779-disp-ccorrC* mediatek_drm -alias of:N*T*Cmediatek,mt6885-disp-ccorr mediatek_drm -alias of:N*T*Cmediatek,mt6885-disp-ccorrC* mediatek_drm -alias of:N*T*Cmediatek,mt6873-disp-ccorr mediatek_drm -alias of:N*T*Cmediatek,mt6873-disp-ccorrC* mediatek_drm -alias of:N*T*Cmediatek,mt6853-disp-ccorr mediatek_drm -alias of:N*T*Cmediatek,mt6853-disp-ccorrC* mediatek_drm -alias of:N*T*Cmediatek,mt6833-disp-ccorr mediatek_drm -alias of:N*T*Cmediatek,mt6833-disp-ccorrC* mediatek_drm -alias of:N*T*Cmediatek,mt6983-disp-ccorr mediatek_drm -alias of:N*T*Cmediatek,mt6983-disp-ccorrC* mediatek_drm -alias of:N*T*Cmediatek,mt6895-disp-ccorr mediatek_drm -alias of:N*T*Cmediatek,mt6895-disp-ccorrC* mediatek_drm -alias of:N*T*Cmediatek,mt6879-disp-ccorr mediatek_drm -alias of:N*T*Cmediatek,mt6879-disp-ccorrC* mediatek_drm -alias of:N*T*Cmediatek,mt6855-disp-ccorr mediatek_drm -alias of:N*T*Cmediatek,mt6855-disp-ccorrC* mediatek_drm -alias of:N*T*Cmediatek,mt6985-disp-ccorr mediatek_drm -alias of:N*T*Cmediatek,mt6985-disp-ccorrC* mediatek_drm -alias of:N*T*Cmediatek,mt6886-disp-ccorr mediatek_drm -alias of:N*T*Cmediatek,mt6886-disp-ccorrC* mediatek_drm -alias of:N*T*Cmediatek,mt6835-disp-ccorr mediatek_drm -alias of:N*T*Cmediatek,mt6835-disp-ccorrC* mediatek_drm -alias of:N*T*Cmediatek,mt6983-disp-c3d mediatek_drm -alias of:N*T*Cmediatek,mt6983-disp-c3dC* mediatek_drm -alias of:N*T*Cmediatek,mt6895-disp-c3d mediatek_drm -alias of:N*T*Cmediatek,mt6895-disp-c3dC* mediatek_drm -alias of:N*T*Cmediatek,mt6879-disp-c3d mediatek_drm -alias of:N*T*Cmediatek,mt6879-disp-c3dC* mediatek_drm -alias of:N*T*Cmediatek,mt6985-disp-c3d mediatek_drm -alias of:N*T*Cmediatek,mt6985-disp-c3dC* mediatek_drm -alias of:N*T*Cmediatek,mt6886-disp-c3d mediatek_drm -alias of:N*T*Cmediatek,mt6886-disp-c3dC* mediatek_drm -alias of:N*T*Cmediatek,mt6835-disp-c3d mediatek_drm -alias of:N*T*Cmediatek,mt6835-disp-c3dC* mediatek_drm -alias of:N*T*Cmediatek,mt6779-disp-gamma mediatek_drm -alias of:N*T*Cmediatek,mt6779-disp-gammaC* mediatek_drm -alias of:N*T*Cmediatek,mt6885-disp-gamma mediatek_drm -alias of:N*T*Cmediatek,mt6885-disp-gammaC* mediatek_drm -alias of:N*T*Cmediatek,mt6873-disp-gamma mediatek_drm -alias of:N*T*Cmediatek,mt6873-disp-gammaC* mediatek_drm -alias of:N*T*Cmediatek,mt6853-disp-gamma mediatek_drm -alias of:N*T*Cmediatek,mt6853-disp-gammaC* mediatek_drm -alias of:N*T*Cmediatek,mt6833-disp-gamma mediatek_drm -alias of:N*T*Cmediatek,mt6833-disp-gammaC* mediatek_drm -alias of:N*T*Cmediatek,mt6983-disp-gamma mediatek_drm -alias of:N*T*Cmediatek,mt6983-disp-gammaC* mediatek_drm -alias of:N*T*Cmediatek,mt6895-disp-gamma mediatek_drm -alias of:N*T*Cmediatek,mt6895-disp-gammaC* mediatek_drm -alias of:N*T*Cmediatek,mt6879-disp-gamma mediatek_drm -alias of:N*T*Cmediatek,mt6879-disp-gammaC* mediatek_drm -alias of:N*T*Cmediatek,mt6855-disp-gamma mediatek_drm -alias of:N*T*Cmediatek,mt6855-disp-gammaC* mediatek_drm -alias of:N*T*Cmediatek,mt6985-disp-gamma mediatek_drm -alias of:N*T*Cmediatek,mt6985-disp-gammaC* mediatek_drm -alias of:N*T*Cmediatek,mt6886-disp-gamma mediatek_drm -alias of:N*T*Cmediatek,mt6886-disp-gammaC* mediatek_drm -alias of:N*T*Cmediatek,mt6835-disp-gamma mediatek_drm -alias of:N*T*Cmediatek,mt6835-disp-gammaC* mediatek_drm -alias of:N*T*Cmediatek,mt6885-disp-aal mediatek_drm -alias of:N*T*Cmediatek,mt6885-disp-aalC* mediatek_drm -alias of:N*T*Cmediatek,mt6873-disp-aal mediatek_drm -alias of:N*T*Cmediatek,mt6873-disp-aalC* mediatek_drm -alias of:N*T*Cmediatek,mt6853-disp-aal mediatek_drm -alias of:N*T*Cmediatek,mt6853-disp-aalC* mediatek_drm -alias of:N*T*Cmediatek,mt6833-disp-aal mediatek_drm -alias of:N*T*Cmediatek,mt6833-disp-aalC* mediatek_drm -alias of:N*T*Cmediatek,mt6983-disp-aal mediatek_drm -alias of:N*T*Cmediatek,mt6983-disp-aalC* mediatek_drm -alias of:N*T*Cmediatek,mt6895-disp-aal mediatek_drm -alias of:N*T*Cmediatek,mt6895-disp-aalC* mediatek_drm -alias of:N*T*Cmediatek,mt6879-disp-aal mediatek_drm -alias of:N*T*Cmediatek,mt6879-disp-aalC* mediatek_drm -alias of:N*T*Cmediatek,mt6855-disp-aal mediatek_drm -alias of:N*T*Cmediatek,mt6855-disp-aalC* mediatek_drm -alias of:N*T*Cmediatek,mt6985-disp-aal mediatek_drm -alias of:N*T*Cmediatek,mt6985-disp-aalC* mediatek_drm -alias of:N*T*Cmediatek,mt6886-disp-aal mediatek_drm -alias of:N*T*Cmediatek,mt6886-disp-aalC* mediatek_drm -alias of:N*T*Cmediatek,mt6835-disp-aal mediatek_drm -alias of:N*T*Cmediatek,mt6835-disp-aalC* mediatek_drm -alias of:N*T*Cmediatek,mt6779-disp-dither mediatek_drm -alias of:N*T*Cmediatek,mt6779-disp-ditherC* mediatek_drm -alias of:N*T*Cmediatek,mt6885-disp-dither mediatek_drm -alias of:N*T*Cmediatek,mt6885-disp-ditherC* mediatek_drm -alias of:N*T*Cmediatek,mt6873-disp-dither mediatek_drm -alias of:N*T*Cmediatek,mt6873-disp-ditherC* mediatek_drm -alias of:N*T*Cmediatek,mt6853-disp-dither mediatek_drm -alias of:N*T*Cmediatek,mt6853-disp-ditherC* mediatek_drm -alias of:N*T*Cmediatek,mt6833-disp-dither mediatek_drm -alias of:N*T*Cmediatek,mt6833-disp-ditherC* mediatek_drm -alias of:N*T*Cmediatek,mt6983-disp-dither mediatek_drm -alias of:N*T*Cmediatek,mt6983-disp-ditherC* mediatek_drm -alias of:N*T*Cmediatek,mt6895-disp-dither mediatek_drm -alias of:N*T*Cmediatek,mt6895-disp-ditherC* mediatek_drm -alias of:N*T*Cmediatek,mt6879-disp-dither mediatek_drm -alias of:N*T*Cmediatek,mt6879-disp-ditherC* mediatek_drm -alias of:N*T*Cmediatek,mt6855-disp-dither mediatek_drm -alias of:N*T*Cmediatek,mt6855-disp-ditherC* mediatek_drm -alias of:N*T*Cmediatek,mt6985-disp-dither mediatek_drm -alias of:N*T*Cmediatek,mt6985-disp-ditherC* mediatek_drm -alias of:N*T*Cmediatek,mt6886-disp-dither mediatek_drm -alias of:N*T*Cmediatek,mt6886-disp-ditherC* mediatek_drm -alias of:N*T*Cmediatek,mt6835-disp-dither mediatek_drm -alias of:N*T*Cmediatek,mt6835-disp-ditherC* mediatek_drm -alias of:N*T*Cmediatek,mt6983-disp-chist mediatek_drm -alias of:N*T*Cmediatek,mt6983-disp-chistC* mediatek_drm -alias of:N*T*Cmediatek,mt6895-disp-chist mediatek_drm -alias of:N*T*Cmediatek,mt6895-disp-chistC* mediatek_drm -alias of:N*T*Cmediatek,mt6879-disp-chist mediatek_drm -alias of:N*T*Cmediatek,mt6879-disp-chistC* mediatek_drm -alias of:N*T*Cmediatek,mt6985-disp-chist mediatek_drm -alias of:N*T*Cmediatek,mt6985-disp-chistC* mediatek_drm -alias of:N*T*Cmediatek,mt6886-disp-chist mediatek_drm -alias of:N*T*Cmediatek,mt6886-disp-chistC* mediatek_drm -alias of:N*T*Cmediatek,mt2701-disp-ovl mediatek_drm -alias of:N*T*Cmediatek,mt2701-disp-ovlC* mediatek_drm -alias of:N*T*Cmediatek,mt6779-disp-ovl mediatek_drm -alias of:N*T*Cmediatek,mt6779-disp-ovlC* mediatek_drm -alias of:N*T*Cmediatek,mt8173-disp-ovl mediatek_drm -alias of:N*T*Cmediatek,mt8173-disp-ovlC* mediatek_drm -alias of:N*T*Cmediatek,mt6885-disp-ovl mediatek_drm -alias of:N*T*Cmediatek,mt6885-disp-ovlC* mediatek_drm -alias of:N*T*Cmediatek,mt6983-disp-ovl mediatek_drm -alias of:N*T*Cmediatek,mt6983-disp-ovlC* mediatek_drm -alias of:N*T*Cmediatek,mt6985-disp-ovl mediatek_drm -alias of:N*T*Cmediatek,mt6985-disp-ovlC* mediatek_drm -alias of:N*T*Cmediatek,mt6895-disp-ovl mediatek_drm -alias of:N*T*Cmediatek,mt6895-disp-ovlC* mediatek_drm -alias of:N*T*Cmediatek,mt6886-disp-ovl mediatek_drm -alias of:N*T*Cmediatek,mt6886-disp-ovlC* mediatek_drm -alias of:N*T*Cmediatek,mt6873-disp-ovl mediatek_drm -alias of:N*T*Cmediatek,mt6873-disp-ovlC* mediatek_drm -alias of:N*T*Cmediatek,mt6853-disp-ovl mediatek_drm -alias of:N*T*Cmediatek,mt6853-disp-ovlC* mediatek_drm -alias of:N*T*Cmediatek,mt6833-disp-ovl mediatek_drm -alias of:N*T*Cmediatek,mt6833-disp-ovlC* mediatek_drm -alias of:N*T*Cmediatek,mt6879-disp-ovl mediatek_drm -alias of:N*T*Cmediatek,mt6879-disp-ovlC* mediatek_drm -alias of:N*T*Cmediatek,mt6855-disp-ovl mediatek_drm -alias of:N*T*Cmediatek,mt6855-disp-ovlC* mediatek_drm -alias of:N*T*Cmediatek,mt6835-disp-ovl mediatek_drm -alias of:N*T*Cmediatek,mt6835-disp-ovlC* mediatek_drm -alias of:N*T*Cmediatek,mt2701-disp-rdma mediatek_drm -alias of:N*T*Cmediatek,mt2701-disp-rdmaC* mediatek_drm -alias of:N*T*Cmediatek,mt6779-disp-rdma mediatek_drm -alias of:N*T*Cmediatek,mt6779-disp-rdmaC* mediatek_drm -alias of:N*T*Cmediatek,mt8173-disp-rdma mediatek_drm -alias of:N*T*Cmediatek,mt8173-disp-rdmaC* mediatek_drm -alias of:N*T*Cmediatek,mt6885-disp-rdma mediatek_drm -alias of:N*T*Cmediatek,mt6885-disp-rdmaC* mediatek_drm -alias of:N*T*Cmediatek,mt6983-disp-rdma mediatek_drm -alias of:N*T*Cmediatek,mt6983-disp-rdmaC* mediatek_drm -alias of:N*T*Cmediatek,mt6895-disp-rdma mediatek_drm -alias of:N*T*Cmediatek,mt6895-disp-rdmaC* mediatek_drm -alias of:N*T*Cmediatek,mt6886-disp-rdma mediatek_drm -alias of:N*T*Cmediatek,mt6886-disp-rdmaC* mediatek_drm -alias of:N*T*Cmediatek,mt6873-disp-rdma mediatek_drm -alias of:N*T*Cmediatek,mt6873-disp-rdmaC* mediatek_drm -alias of:N*T*Cmediatek,mt6853-disp-rdma mediatek_drm -alias of:N*T*Cmediatek,mt6853-disp-rdmaC* mediatek_drm -alias of:N*T*Cmediatek,mt6833-disp-rdma mediatek_drm -alias of:N*T*Cmediatek,mt6833-disp-rdmaC* mediatek_drm -alias of:N*T*Cmediatek,mt6879-disp-rdma mediatek_drm -alias of:N*T*Cmediatek,mt6879-disp-rdmaC* mediatek_drm -alias of:N*T*Cmediatek,mt6855-disp-rdma mediatek_drm -alias of:N*T*Cmediatek,mt6855-disp-rdmaC* mediatek_drm -alias of:N*T*Cmediatek,mt6835-disp-rdma mediatek_drm -alias of:N*T*Cmediatek,mt6835-disp-rdmaC* mediatek_drm -alias of:N*T*Cmediatek,mt6985-disp-mdp-rdma mediatek_drm -alias of:N*T*Cmediatek,mt6985-disp-mdp-rdmaC* mediatek_drm -alias of:N*T*Cmediatek,mt6779-disp-rsz mediatek_drm -alias of:N*T*Cmediatek,mt6779-disp-rszC* mediatek_drm -alias of:N*T*Cmediatek,mt6885-disp-rsz mediatek_drm -alias of:N*T*Cmediatek,mt6885-disp-rszC* mediatek_drm -alias of:N*T*Cmediatek,mt6873-disp-rsz mediatek_drm -alias of:N*T*Cmediatek,mt6873-disp-rszC* mediatek_drm -alias of:N*T*Cmediatek,mt6853-disp-rsz mediatek_drm -alias of:N*T*Cmediatek,mt6853-disp-rszC* mediatek_drm -alias of:N*T*Cmediatek,mt6833-disp-rsz mediatek_drm -alias of:N*T*Cmediatek,mt6833-disp-rszC* mediatek_drm -alias of:N*T*Cmediatek,mt6879-disp-rsz mediatek_drm -alias of:N*T*Cmediatek,mt6879-disp-rszC* mediatek_drm -alias of:N*T*Cmediatek,mt6983-disp-rsz mediatek_drm -alias of:N*T*Cmediatek,mt6983-disp-rszC* mediatek_drm -alias of:N*T*Cmediatek,mt6895-disp-rsz mediatek_drm -alias of:N*T*Cmediatek,mt6895-disp-rszC* mediatek_drm -alias of:N*T*Cmediatek,mt6886-disp-rsz mediatek_drm -alias of:N*T*Cmediatek,mt6886-disp-rszC* mediatek_drm -alias of:N*T*Cmediatek,mt6855-disp-rsz mediatek_drm -alias of:N*T*Cmediatek,mt6855-disp-rszC* mediatek_drm -alias of:N*T*Cmediatek,mt6985-disp-rsz mediatek_drm -alias of:N*T*Cmediatek,mt6985-disp-rszC* mediatek_drm -alias of:N*T*Cmediatek,mt6835-disp-rsz mediatek_drm -alias of:N*T*Cmediatek,mt6835-disp-rszC* mediatek_drm -alias of:N*T*Cmediatek,mt6985-disp-mdp-rsz mediatek_drm -alias of:N*T*Cmediatek,mt6985-disp-mdp-rszC* mediatek_drm -alias of:N*T*Cmediatek,mt2701-disp-wdma mediatek_drm -alias of:N*T*Cmediatek,mt2701-disp-wdmaC* mediatek_drm -alias of:N*T*Cmediatek,mt6779-disp-wdma mediatek_drm -alias of:N*T*Cmediatek,mt6779-disp-wdmaC* mediatek_drm -alias of:N*T*Cmediatek,mt8173-disp-wdma mediatek_drm -alias of:N*T*Cmediatek,mt8173-disp-wdmaC* mediatek_drm -alias of:N*T*Cmediatek,mt6885-disp-wdma mediatek_drm -alias of:N*T*Cmediatek,mt6885-disp-wdmaC* mediatek_drm -alias of:N*T*Cmediatek,mt6873-disp-wdma mediatek_drm -alias of:N*T*Cmediatek,mt6873-disp-wdmaC* mediatek_drm -alias of:N*T*Cmediatek,mt6853-disp-wdma mediatek_drm -alias of:N*T*Cmediatek,mt6853-disp-wdmaC* mediatek_drm -alias of:N*T*Cmediatek,mt6833-disp-wdma mediatek_drm -alias of:N*T*Cmediatek,mt6833-disp-wdmaC* mediatek_drm -alias of:N*T*Cmediatek,mt6879-disp-wdma mediatek_drm -alias of:N*T*Cmediatek,mt6879-disp-wdmaC* mediatek_drm -alias of:N*T*Cmediatek,mt6983-disp-wdma mediatek_drm -alias of:N*T*Cmediatek,mt6983-disp-wdmaC* mediatek_drm -alias of:N*T*Cmediatek,mt6895-disp-wdma mediatek_drm -alias of:N*T*Cmediatek,mt6895-disp-wdmaC* mediatek_drm -alias of:N*T*Cmediatek,mt6886-disp-wdma mediatek_drm -alias of:N*T*Cmediatek,mt6886-disp-wdmaC* mediatek_drm -alias of:N*T*Cmediatek,mt6855-disp-wdma mediatek_drm -alias of:N*T*Cmediatek,mt6855-disp-wdmaC* mediatek_drm -alias of:N*T*Cmediatek,mt6985-disp-wdma mediatek_drm -alias of:N*T*Cmediatek,mt6985-disp-wdmaC* mediatek_drm -alias of:N*T*Cmediatek,mt6835-disp-wdma mediatek_drm -alias of:N*T*Cmediatek,mt6835-disp-wdmaC* mediatek_drm -alias of:N*T*Cmediatek,mt2701-disp-mutex mediatek_drm -alias of:N*T*Cmediatek,mt2701-disp-mutexC* mediatek_drm -alias of:N*T*Cmediatek,mt2712-disp-mutex mediatek_drm -alias of:N*T*Cmediatek,mt2712-disp-mutexC* mediatek_drm -alias of:N*T*Cmediatek,mt6779-disp-mutex mediatek_drm -alias of:N*T*Cmediatek,mt6779-disp-mutexC* mediatek_drm -alias of:N*T*Cmediatek,mt6885-disp-mutex mediatek_drm -alias of:N*T*Cmediatek,mt6885-disp-mutexC* mediatek_drm -alias of:N*T*Cmediatek,mt6983-disp-mutex mediatek_drm -alias of:N*T*Cmediatek,mt6983-disp-mutexC* mediatek_drm -alias of:N*T*Cmediatek,mt6985-disp-mutex mediatek_drm -alias of:N*T*Cmediatek,mt6985-disp-mutexC* mediatek_drm -alias of:N*T*Cmediatek,mt6895-disp-mutex mediatek_drm -alias of:N*T*Cmediatek,mt6895-disp-mutexC* mediatek_drm -alias of:N*T*Cmediatek,mt6886-disp-mutex mediatek_drm -alias of:N*T*Cmediatek,mt6886-disp-mutexC* mediatek_drm -alias of:N*T*Cmediatek,mt6873-disp-mutex mediatek_drm -alias of:N*T*Cmediatek,mt6873-disp-mutexC* mediatek_drm -alias of:N*T*Cmediatek,mt6853-disp-mutex mediatek_drm -alias of:N*T*Cmediatek,mt6853-disp-mutexC* mediatek_drm -alias of:N*T*Cmediatek,mt6833-disp-mutex mediatek_drm -alias of:N*T*Cmediatek,mt6833-disp-mutexC* mediatek_drm -alias of:N*T*Cmediatek,mt6879-disp-mutex mediatek_drm -alias of:N*T*Cmediatek,mt6879-disp-mutexC* mediatek_drm -alias of:N*T*Cmediatek,mt6835-disp-mutex mediatek_drm -alias of:N*T*Cmediatek,mt6835-disp-mutexC* mediatek_drm -alias of:N*T*Cmediatek,mt6855-disp-mutex mediatek_drm -alias of:N*T*Cmediatek,mt6855-disp-mutexC* mediatek_drm -alias of:N*T*Cmediatek,mt8173-disp-mutex mediatek_drm -alias of:N*T*Cmediatek,mt8173-disp-mutexC* mediatek_drm -alias of:N*T*Cmediatek,mt6885-disp-dsc mediatek_drm -alias of:N*T*Cmediatek,mt6885-disp-dscC* mediatek_drm -alias of:N*T*Cmediatek,mt6983-disp-dsc mediatek_drm -alias of:N*T*Cmediatek,mt6983-disp-dscC* mediatek_drm -alias of:N*T*Cmediatek,mt6985-disp-dsc mediatek_drm -alias of:N*T*Cmediatek,mt6985-disp-dscC* mediatek_drm -alias of:N*T*Cmediatek,mt6895-disp-dsc mediatek_drm -alias of:N*T*Cmediatek,mt6895-disp-dscC* mediatek_drm -alias of:N*T*Cmediatek,mt6886-disp-dsc mediatek_drm -alias of:N*T*Cmediatek,mt6886-disp-dscC* mediatek_drm -alias of:N*T*Cmediatek,mt6873-disp-dsc mediatek_drm -alias of:N*T*Cmediatek,mt6873-disp-dscC* mediatek_drm -alias of:N*T*Cmediatek,mt6853-disp-dsc mediatek_drm -alias of:N*T*Cmediatek,mt6853-disp-dscC* mediatek_drm -alias of:N*T*Cmediatek,mt6879-disp-dsc mediatek_drm -alias of:N*T*Cmediatek,mt6879-disp-dscC* mediatek_drm -alias of:N*T*Cmediatek,mt6855-disp-dsc mediatek_drm -alias of:N*T*Cmediatek,mt6855-disp-dscC* mediatek_drm -alias of:N*T*Cmediatek,mt6835-disp-dsc mediatek_drm -alias of:N*T*Cmediatek,mt6835-disp-dscC* mediatek_drm -alias of:N*T*Cmediatek,mt6853-disp-cm mediatek_drm -alias of:N*T*Cmediatek,mt6853-disp-cmC* mediatek_drm -alias of:N*T*Cmediatek,mt6983-disp-cm mediatek_drm -alias of:N*T*Cmediatek,mt6983-disp-cmC* mediatek_drm -alias of:N*T*Cmediatek,mt6895-disp-cm mediatek_drm -alias of:N*T*Cmediatek,mt6895-disp-cmC* mediatek_drm -alias of:N*T*Cmediatek,mt6886-disp-cm mediatek_drm -alias of:N*T*Cmediatek,mt6886-disp-cmC* mediatek_drm -alias of:N*T*Cmediatek,mt6879-disp-cm mediatek_drm -alias of:N*T*Cmediatek,mt6879-disp-cmC* mediatek_drm -alias of:N*T*Cmediatek,mt6853-disp-spr mediatek_drm -alias of:N*T*Cmediatek,mt6853-disp-sprC* mediatek_drm -alias of:N*T*Cmediatek,mt6983-disp-spr mediatek_drm -alias of:N*T*Cmediatek,mt6983-disp-sprC* mediatek_drm -alias of:N*T*Cmediatek,mt6985-disp-spr mediatek_drm -alias of:N*T*Cmediatek,mt6985-disp-sprC* mediatek_drm -alias of:N*T*Cmediatek,mt6895-disp-spr mediatek_drm -alias of:N*T*Cmediatek,mt6895-disp-sprC* mediatek_drm -alias of:N*T*Cmediatek,mt6886-disp-spr mediatek_drm -alias of:N*T*Cmediatek,mt6886-disp-sprC* mediatek_drm -alias of:N*T*Cmediatek,mt6879-disp-spr mediatek_drm -alias of:N*T*Cmediatek,mt6879-disp-sprC* mediatek_drm -alias of:N*T*Cmediatek,mt6985-disp-postalign mediatek_drm -alias of:N*T*Cmediatek,mt6985-disp-postalignC* mediatek_drm -alias of:N*T*Cmediatek,mt6985-disp-oddmr mediatek_drm -alias of:N*T*Cmediatek,mt6985-disp-oddmrC* mediatek_drm -alias of:N*T*Cmediatek,mt6779-disp-merge mediatek_drm -alias of:N*T*Cmediatek,mt6779-disp-mergeC* mediatek_drm -alias of:N*T*Cmediatek,mt6885-disp-merge mediatek_drm -alias of:N*T*Cmediatek,mt6885-disp-mergeC* mediatek_drm -alias of:N*T*Cmediatek,mt6983-disp-merge mediatek_drm -alias of:N*T*Cmediatek,mt6983-disp-mergeC* mediatek_drm -alias of:N*T*Cmediatek,mt6895-disp-merge mediatek_drm -alias of:N*T*Cmediatek,mt6895-disp-mergeC* mediatek_drm -alias of:N*T*Cmediatek,mt6985-disp-merge mediatek_drm -alias of:N*T*Cmediatek,mt6985-disp-mergeC* mediatek_drm -alias of:N*T*Cmediatek,mt6885-dmdp-aal mediatek_drm -alias of:N*T*Cmediatek,mt6885-dmdp-aalC* mediatek_drm -alias of:N*T*Cmediatek,mt6873-dmdp-aal mediatek_drm -alias of:N*T*Cmediatek,mt6873-dmdp-aalC* mediatek_drm -alias of:N*T*Cmediatek,mt6983-dmdp-aal mediatek_drm -alias of:N*T*Cmediatek,mt6983-dmdp-aalC* mediatek_drm -alias of:N*T*Cmediatek,mt6895-dmdp-aal mediatek_drm -alias of:N*T*Cmediatek,mt6895-dmdp-aalC* mediatek_drm -alias of:N*T*Cmediatek,mt6985-dmdp-aal mediatek_drm -alias of:N*T*Cmediatek,mt6985-dmdp-aalC* mediatek_drm -alias of:N*T*Cmediatek,mt6983-disp-y2r mediatek_drm -alias of:N*T*Cmediatek,mt6983-disp-y2rC* mediatek_drm -alias of:N*T*Cmediatek,mt6895-disp-y2r mediatek_drm -alias of:N*T*Cmediatek,mt6895-disp-y2rC* mediatek_drm -alias of:N*T*Cmediatek,mt6985-disp-y2r mediatek_drm -alias of:N*T*Cmediatek,mt6985-disp-y2rC* mediatek_drm -alias of:N*T*Cmediatek,mt6886-disp-y2r mediatek_drm -alias of:N*T*Cmediatek,mt6886-disp-y2rC* mediatek_drm -alias of:N*T*Cmediatek,mt6983-disp-dlo-async3 mediatek_drm -alias of:N*T*Cmediatek,mt6983-disp-dlo-async3C* mediatek_drm -alias of:N*T*Cmediatek,mt6895-disp-dlo-async3 mediatek_drm -alias of:N*T*Cmediatek,mt6895-disp-dlo-async3C* mediatek_drm -alias of:N*T*Cmediatek,mt6985-disp-dlo-async mediatek_drm -alias of:N*T*Cmediatek,mt6985-disp-dlo-asyncC* mediatek_drm -alias of:N*T*Cmediatek,mt6886-disp-dlo-async3 mediatek_drm -alias of:N*T*Cmediatek,mt6886-disp-dlo-async3C* mediatek_drm -alias of:N*T*Cmediatek,mt6983-disp-dli-async3 mediatek_drm -alias of:N*T*Cmediatek,mt6983-disp-dli-async3C* mediatek_drm -alias of:N*T*Cmediatek,mt6895-disp-dli-async3 mediatek_drm -alias of:N*T*Cmediatek,mt6895-disp-dli-async3C* mediatek_drm -alias of:N*T*Cmediatek,mt6985-disp-dli-async mediatek_drm -alias of:N*T*Cmediatek,mt6985-disp-dli-asyncC* mediatek_drm -alias of:N*T*Cmediatek,mt6886-disp-dli-async3 mediatek_drm -alias of:N*T*Cmediatek,mt6886-disp-dli-async3C* mediatek_drm -alias of:N*T*Cmediatek,mt6983-disp-inlinerotate mediatek_drm -alias of:N*T*Cmediatek,mt6983-disp-inlinerotateC* mediatek_drm -alias of:N*T*Cmediatek,mt6895-disp-inlinerotate mediatek_drm -alias of:N*T*Cmediatek,mt6895-disp-inlinerotateC* mediatek_drm -alias of:N*T*Cmediatek,mt6985-disp-inlinerotate mediatek_drm -alias of:N*T*Cmediatek,mt6985-disp-inlinerotateC* mediatek_drm -alias of:N*T*Cmediatek,mt6886-disp-inlinerotate mediatek_drm -alias of:N*T*Cmediatek,mt6886-disp-inlinerotateC* mediatek_drm -alias of:N*T*Cmediatek,mt6983-mmlsys-bypass mediatek_drm -alias of:N*T*Cmediatek,mt6983-mmlsys-bypassC* mediatek_drm -alias of:N*T*Cmediatek,mt6895-mmlsys-bypass mediatek_drm -alias of:N*T*Cmediatek,mt6895-mmlsys-bypassC* mediatek_drm -alias of:N*T*Cmediatek,mt6885-dp-intf mediatek_drm -alias of:N*T*Cmediatek,mt6885-dp-intfC* mediatek_drm -alias of:N*T*Cmediatek,mt6895-dp-intf mediatek_drm -alias of:N*T*Cmediatek,mt6895-dp-intfC* mediatek_drm -alias of:N*T*Cmediatek,mt6985-dp-intf mediatek_drm -alias of:N*T*Cmediatek,mt6985-dp-intfC* mediatek_drm -alias of:N*T*Cmediatek,mt8183-ufsphy phy_mtk_ufs -alias of:N*T*Cmediatek,mt8183-ufsphyC* phy_mtk_ufs -alias i2c:mm8013 mm8013 -alias of:N*T*Cmediatek,clk-disable-unused clk_disable_unused -alias of:N*T*Cmediatek,clk-disable-unusedC* clk_disable_unused -alias of:N*T*Cmediatek,devinfo nvmem_mtk_devinfo -alias of:N*T*Cmediatek,devinfoC* nvmem_mtk_devinfo -alias of:N*T*Cmediatek,pwm-leds leds_mtk_pwm -alias of:N*T*Cmediatek,pwm-ledsC* leds_mtk_pwm -alias of:N*T*Cpanel,sycamore panel_boe_sycamore_90hz_drv -alias of:N*T*Cpanel,sycamoreC* panel_boe_sycamore_90hz_drv -alias of:N*T*Cmediatek,common-disp-iommu-bank1 iommu_secure -alias of:N*T*Cmediatek,common-disp-iommu-bank1C* iommu_secure -alias of:N*T*Cmediatek,common-disp-iommu-bank2 iommu_secure -alias of:N*T*Cmediatek,common-disp-iommu-bank2C* iommu_secure -alias of:N*T*Cmediatek,common-disp-iommu-bank3 iommu_secure -alias of:N*T*Cmediatek,common-disp-iommu-bank3C* iommu_secure -alias of:N*T*Cmediatek,common-disp-iommu-bank4 iommu_secure -alias of:N*T*Cmediatek,common-disp-iommu-bank4C* iommu_secure -alias of:N*T*Cmediatek,common-mdp-iommu-bank1 iommu_secure -alias of:N*T*Cmediatek,common-mdp-iommu-bank1C* iommu_secure -alias of:N*T*Cmediatek,common-mdp-iommu-bank2 iommu_secure -alias of:N*T*Cmediatek,common-mdp-iommu-bank2C* iommu_secure -alias of:N*T*Cmediatek,common-mdp-iommu-bank3 iommu_secure -alias of:N*T*Cmediatek,common-mdp-iommu-bank3C* iommu_secure -alias of:N*T*Cmediatek,common-mdp-iommu-bank4 iommu_secure -alias of:N*T*Cmediatek,common-mdp-iommu-bank4C* iommu_secure -alias of:N*T*Cmediatek,common-apu-iommu0-bank1 iommu_secure -alias of:N*T*Cmediatek,common-apu-iommu0-bank1C* iommu_secure -alias of:N*T*Cmediatek,common-apu-iommu0-bank2 iommu_secure -alias of:N*T*Cmediatek,common-apu-iommu0-bank2C* iommu_secure -alias of:N*T*Cmediatek,common-apu-iommu0-bank3 iommu_secure -alias of:N*T*Cmediatek,common-apu-iommu0-bank3C* iommu_secure -alias of:N*T*Cmediatek,common-apu-iommu0-bank4 iommu_secure -alias of:N*T*Cmediatek,common-apu-iommu0-bank4C* iommu_secure -alias of:N*T*Cmediatek,common-apu-iommu1-bank1 iommu_secure -alias of:N*T*Cmediatek,common-apu-iommu1-bank1C* iommu_secure -alias of:N*T*Cmediatek,common-apu-iommu1-bank2 iommu_secure -alias of:N*T*Cmediatek,common-apu-iommu1-bank2C* iommu_secure -alias of:N*T*Cmediatek,common-apu-iommu1-bank3 iommu_secure -alias of:N*T*Cmediatek,common-apu-iommu1-bank3C* iommu_secure -alias of:N*T*Cmediatek,common-apu-iommu1-bank4 iommu_secure -alias of:N*T*Cmediatek,common-apu-iommu1-bank4C* iommu_secure -alias of:N*T*Cmediatek,common-peri-iommu-m4-bank1 iommu_secure -alias of:N*T*Cmediatek,common-peri-iommu-m4-bank1C* iommu_secure -alias of:N*T*Cmediatek,common-peri-iommu-m4-bank2 iommu_secure -alias of:N*T*Cmediatek,common-peri-iommu-m4-bank2C* iommu_secure -alias of:N*T*Cmediatek,common-peri-iommu-m4-bank3 iommu_secure -alias of:N*T*Cmediatek,common-peri-iommu-m4-bank3C* iommu_secure -alias of:N*T*Cmediatek,common-peri-iommu-m4-bank4 iommu_secure -alias of:N*T*Cmediatek,common-peri-iommu-m4-bank4C* iommu_secure -alias of:N*T*Cmediatek,common-peri-iommu-m6-bank1 iommu_secure -alias of:N*T*Cmediatek,common-peri-iommu-m6-bank1C* iommu_secure -alias of:N*T*Cmediatek,common-peri-iommu-m6-bank2 iommu_secure -alias of:N*T*Cmediatek,common-peri-iommu-m6-bank2C* iommu_secure -alias of:N*T*Cmediatek,common-peri-iommu-m6-bank3 iommu_secure -alias of:N*T*Cmediatek,common-peri-iommu-m6-bank3C* iommu_secure -alias of:N*T*Cmediatek,common-peri-iommu-m6-bank4 iommu_secure -alias of:N*T*Cmediatek,common-peri-iommu-m6-bank4C* iommu_secure -alias of:N*T*Cmediatek,common-peri-iommu-m7-bank1 iommu_secure -alias of:N*T*Cmediatek,common-peri-iommu-m7-bank1C* iommu_secure -alias of:N*T*Cmediatek,common-peri-iommu-m7-bank2 iommu_secure -alias of:N*T*Cmediatek,common-peri-iommu-m7-bank2C* iommu_secure -alias of:N*T*Cmediatek,common-peri-iommu-m7-bank3 iommu_secure -alias of:N*T*Cmediatek,common-peri-iommu-m7-bank3C* iommu_secure -alias of:N*T*Cmediatek,common-peri-iommu-m7-bank4 iommu_secure -alias of:N*T*Cmediatek,common-peri-iommu-m7-bank4C* iommu_secure -alias of:N*T*Cmediatek,usb-meta usb_meta -alias of:N*T*Cmediatek,usb-metaC* usb_meta -alias of:N*T*Cmediatek,common-emimpu emi_mpu -alias of:N*T*Cmediatek,common-emimpuC* emi_mpu -alias of:N*T*Cpanel,sycamore panel_tianma_sycamore_90hz_drv -alias of:N*T*Cpanel,sycamoreC* panel_tianma_sycamore_90hz_drv -alias i2c:sgm41541 sgm415xx_charger -alias i2c:sgm41542 sgm415xx_charger -alias i2c:sgm41543 sgm415xx_charger -alias i2c:sgm41543D sgm415xx_charger -alias i2c:sgm41513 sgm415xx_charger -alias i2c:sgm41513A sgm415xx_charger -alias i2c:sgm41513D sgm415xx_charger -alias i2c:sgm41516 sgm415xx_charger -alias i2c:sgm41516D sgm415xx_charger -alias of:N*T*Csgm,sgm41541 sgm415xx_charger -alias of:N*T*Csgm,sgm41541C* sgm415xx_charger -alias of:N*T*Csgm,sgm41542 sgm415xx_charger -alias of:N*T*Csgm,sgm41542C* sgm415xx_charger -alias of:N*T*Csgm,sgm41543 sgm415xx_charger -alias of:N*T*Csgm,sgm41543C* sgm415xx_charger -alias of:N*T*Csgm,sgm41543D sgm415xx_charger -alias of:N*T*Csgm,sgm41543DC* sgm415xx_charger -alias of:N*T*Csgm,sgm41513 sgm415xx_charger -alias of:N*T*Csgm,sgm41513C* sgm415xx_charger -alias of:N*T*Csgm,sgm41513A sgm415xx_charger -alias of:N*T*Csgm,sgm41513AC* sgm415xx_charger -alias of:N*T*Csgm,sgm41513D sgm415xx_charger -alias of:N*T*Csgm,sgm41513DC* sgm415xx_charger -alias of:N*T*Csgm,sgm41516 sgm415xx_charger -alias of:N*T*Csgm,sgm41516C* sgm415xx_charger -alias of:N*T*Csgm,sgm41516D sgm415xx_charger -alias of:N*T*Csgm,sgm41516DC* sgm415xx_charger -alias of:N*T*Carm,sec-rng sec_rng -alias of:N*T*Carm,sec-rngC* sec_rng -alias of:N*T*Cmediatek,pd_adapter mtk_pd_adapter -alias of:N*T*Cmediatek,pd_adapterC* mtk_pd_adapter -alias of:N*T*Cmediatek,mt6375-chg mt6375_charger -alias of:N*T*Cmediatek,mt6375-chgC* mt6375_charger -alias platform:leds-gpio leds_gpio -alias of:N*T*Cgpio-leds leds_gpio -alias of:N*T*Cgpio-ledsC* leds_gpio -alias net-pf-16-proto-16-family-nl80211 cfg80211 -alias platform:mtk-tpd gt9896s -alias of:N*T*Cmediatek,charger,pe4 mtk_pep40 -alias of:N*T*Cmediatek,charger,pe4C* mtk_pep40 -alias of:N*T*Cmediatek,usb-boost usb_boost -alias of:N*T*Cmediatek,usb-boostC* usb_boost -alias of:N*T*Cmediatek,mt6375-auxadc mt6375_auxadc -alias of:N*T*Cmediatek,mt6375-auxadcC* mt6375_auxadc -alias of:N*T*Cmediatek,low_battery_throttling mtk_low_battery_throttling -alias of:N*T*Cmediatek,low_battery_throttlingC* mtk_low_battery_throttling -alias platform:mt6377-regulator mt6377_regulator -alias of:N*T*Cmediatek,mt6577-uart 8250_mtk -alias of:N*T*Cmediatek,mt6577-uartC* 8250_mtk -alias of:N*T*Cmediatek,mt6985-uart 8250_mtk -alias of:N*T*Cmediatek,mt6985-uartC* 8250_mtk -alias of:N*T*Cmediatek,mt8135-mmc mtk_mmc -alias of:N*T*Cmediatek,mt8135-mmcC* mtk_mmc -alias of:N*T*Cmediatek,mt8173-mmc mtk_mmc -alias of:N*T*Cmediatek,mt8173-mmcC* mtk_mmc -alias of:N*T*Cmediatek,mt8183-mmc mtk_mmc -alias of:N*T*Cmediatek,mt8183-mmcC* mtk_mmc -alias of:N*T*Cmediatek,mt8195-mmc mtk_mmc -alias of:N*T*Cmediatek,mt8195-mmcC* mtk_mmc -alias of:N*T*Cmediatek,mt2701-mmc mtk_mmc -alias of:N*T*Cmediatek,mt2701-mmcC* mtk_mmc -alias of:N*T*Cmediatek,mt2712-mmc mtk_mmc -alias of:N*T*Cmediatek,mt2712-mmcC* mtk_mmc -alias of:N*T*Cmediatek,mt7622-mmc mtk_mmc -alias of:N*T*Cmediatek,mt7622-mmcC* mtk_mmc -alias of:N*T*Cmediatek,mt8516-mmc mtk_mmc -alias of:N*T*Cmediatek,mt8516-mmcC* mtk_mmc -alias of:N*T*Cmediatek,mt7620-mmc mtk_mmc -alias of:N*T*Cmediatek,mt7620-mmcC* mtk_mmc -alias of:N*T*Cmediatek,mt6779-mmc mtk_mmc -alias of:N*T*Cmediatek,mt6779-mmcC* mtk_mmc -alias of:N*T*Cmediatek,common-mmc-v2 mtk_mmc -alias of:N*T*Cmediatek,common-mmc-v2C* mtk_mmc -alias of:N*T*Cmediatek,mt6985-mmc mtk_mmc -alias of:N*T*Cmediatek,mt6985-mmcC* mtk_mmc -alias of:N*T*Cmediatek,mt6886-mmc mtk_mmc -alias of:N*T*Cmediatek,mt6886-mmcC* mtk_mmc -alias of:N*T*Cmediatek,mt6835-mmc mtk_mmc -alias of:N*T*Cmediatek,mt6835-mmcC* mtk_mmc -alias of:N*T*Cmediatek,mt6835-mmqos mmqos_mt6835 -alias of:N*T*Cmediatek,mt6835-mmqosC* mmqos_mt6835 -alias of:N*T*Cmediatek,rt-pd-manager rt_pd_manager -alias of:N*T*Cmediatek,rt-pd-managerC* rt_pd_manager -alias i2c:sgm41541 sgm415xx_slave_charger -alias i2c:sgm41542 sgm415xx_slave_charger -alias i2c:sgm41543 sgm415xx_slave_charger -alias i2c:sgm41543D sgm415xx_slave_charger -alias i2c:sgm41513 sgm415xx_slave_charger -alias i2c:sgm41513A sgm415xx_slave_charger -alias i2c:sgm41513D sgm415xx_slave_charger -alias i2c:sgm41516 sgm415xx_slave_charger -alias i2c:sgm41516D sgm415xx_slave_charger -alias of:N*T*Csgm,sgm41543_slave sgm415xx_slave_charger -alias of:N*T*Csgm,sgm41543_slaveC* sgm415xx_slave_charger -alias of:N*T*Cmediatek,clock_buffer mt6377_clkbuf -alias of:N*T*Cmediatek,clock_bufferC* mt6377_clkbuf -alias of:N*T*Cmediatek,mt6983-mml mtk_mml -alias of:N*T*Cmediatek,mt6983-mmlC* mtk_mml -alias of:N*T*Cmediatek,mt6893-mml mtk_mml -alias of:N*T*Cmediatek,mt6893-mmlC* mtk_mml -alias of:N*T*Cmediatek,mt6879-mml mtk_mml -alias of:N*T*Cmediatek,mt6879-mmlC* mtk_mml -alias of:N*T*Cmediatek,mt6895-mml mtk_mml -alias of:N*T*Cmediatek,mt6895-mmlC* mtk_mml -alias of:N*T*Cmediatek,mt6985-mml mtk_mml -alias of:N*T*Cmediatek,mt6985-mmlC* mtk_mml -alias of:N*T*Cmediatek,mt6886-mml mtk_mml -alias of:N*T*Cmediatek,mt6886-mmlC* mtk_mml -alias of:N*T*Cmediatek,mt6893-mml_sys mtk_mml -alias of:N*T*Cmediatek,mt6893-mml_sysC* mtk_mml -alias of:N*T*Cmediatek,mt6983-mml_aal mtk_mml -alias of:N*T*Cmediatek,mt6983-mml_aalC* mtk_mml -alias of:N*T*Cmediatek,mt6893-mml_aal mtk_mml -alias of:N*T*Cmediatek,mt6893-mml_aalC* mtk_mml -alias of:N*T*Cmediatek,mt6879-mml_aal mtk_mml -alias of:N*T*Cmediatek,mt6879-mml_aalC* mtk_mml -alias of:N*T*Cmediatek,mt6895-mml_aal0 mtk_mml -alias of:N*T*Cmediatek,mt6895-mml_aal0C* mtk_mml -alias of:N*T*Cmediatek,mt6895-mml_aal1 mtk_mml -alias of:N*T*Cmediatek,mt6895-mml_aal1C* mtk_mml -alias of:N*T*Cmediatek,mt6985-mml_aal mtk_mml -alias of:N*T*Cmediatek,mt6985-mml_aalC* mtk_mml -alias of:N*T*Cmediatek,mt6886-mml_aal mtk_mml -alias of:N*T*Cmediatek,mt6886-mml_aalC* mtk_mml -alias of:N*T*Cmediatek,mt6983-mml_color mtk_mml -alias of:N*T*Cmediatek,mt6983-mml_colorC* mtk_mml -alias of:N*T*Cmediatek,mt6893-mml_color mtk_mml -alias of:N*T*Cmediatek,mt6893-mml_colorC* mtk_mml -alias of:N*T*Cmediatek,mt6879-mml_color mtk_mml -alias of:N*T*Cmediatek,mt6879-mml_colorC* mtk_mml -alias of:N*T*Cmediatek,mt6895-mml_color mtk_mml -alias of:N*T*Cmediatek,mt6895-mml_colorC* mtk_mml -alias of:N*T*Cmediatek,mt6985-mml_color mtk_mml -alias of:N*T*Cmediatek,mt6985-mml_colorC* mtk_mml -alias of:N*T*Cmediatek,mt6886-mml_color mtk_mml -alias of:N*T*Cmediatek,mt6886-mml_colorC* mtk_mml -alias of:N*T*Cmediatek,mt6893-mml_fg mtk_mml -alias of:N*T*Cmediatek,mt6893-mml_fgC* mtk_mml -alias of:N*T*Cmediatek,mt6983-mml_hdr mtk_mml -alias of:N*T*Cmediatek,mt6983-mml_hdrC* mtk_mml -alias of:N*T*Cmediatek,mt6893-mml_hdr mtk_mml -alias of:N*T*Cmediatek,mt6893-mml_hdrC* mtk_mml -alias of:N*T*Cmediatek,mt6879-mml_hdr mtk_mml -alias of:N*T*Cmediatek,mt6879-mml_hdrC* mtk_mml -alias of:N*T*Cmediatek,mt6895-mml_hdr mtk_mml -alias of:N*T*Cmediatek,mt6895-mml_hdrC* mtk_mml -alias of:N*T*Cmediatek,mt6985-mml_hdr mtk_mml -alias of:N*T*Cmediatek,mt6985-mml_hdrC* mtk_mml -alias of:N*T*Cmediatek,mt6886-mml_hdr mtk_mml -alias of:N*T*Cmediatek,mt6886-mml_hdrC* mtk_mml -alias of:N*T*Cmediatek,mt6983-mml_mutex mtk_mml -alias of:N*T*Cmediatek,mt6983-mml_mutexC* mtk_mml -alias of:N*T*Cmediatek,mt6893-mml_mutex mtk_mml -alias of:N*T*Cmediatek,mt6893-mml_mutexC* mtk_mml -alias of:N*T*Cmediatek,mt6879-mml_mutex mtk_mml -alias of:N*T*Cmediatek,mt6879-mml_mutexC* mtk_mml -alias of:N*T*Cmediatek,mt6895-mml_mutex mtk_mml -alias of:N*T*Cmediatek,mt6895-mml_mutexC* mtk_mml -alias of:N*T*Cmediatek,mt6985-mml_mutex mtk_mml -alias of:N*T*Cmediatek,mt6985-mml_mutexC* mtk_mml -alias of:N*T*Cmediatek,mt6886-mml_mutex mtk_mml -alias of:N*T*Cmediatek,mt6886-mml_mutexC* mtk_mml -alias of:N*T*Cmediatek,mt6983-mml_rdma mtk_mml -alias of:N*T*Cmediatek,mt6983-mml_rdmaC* mtk_mml -alias of:N*T*Cmediatek,mt6893-mml_rdma mtk_mml -alias of:N*T*Cmediatek,mt6893-mml_rdmaC* mtk_mml -alias of:N*T*Cmediatek,mt6879-mml_rdma mtk_mml -alias of:N*T*Cmediatek,mt6879-mml_rdmaC* mtk_mml -alias of:N*T*Cmediatek,mt6895-mml_rdma0 mtk_mml -alias of:N*T*Cmediatek,mt6895-mml_rdma0C* mtk_mml -alias of:N*T*Cmediatek,mt6895-mml_rdma1 mtk_mml -alias of:N*T*Cmediatek,mt6895-mml_rdma1C* mtk_mml -alias of:N*T*Cmediatek,mt6985-mml_rdma mtk_mml -alias of:N*T*Cmediatek,mt6985-mml_rdmaC* mtk_mml -alias of:N*T*Cmediatek,mt6886-mml_rdma mtk_mml -alias of:N*T*Cmediatek,mt6886-mml_rdmaC* mtk_mml -alias of:N*T*Cmediatek,mt6983-mml_rsz mtk_mml -alias of:N*T*Cmediatek,mt6983-mml_rszC* mtk_mml -alias of:N*T*Cmediatek,mt6893-mml_rsz mtk_mml -alias of:N*T*Cmediatek,mt6893-mml_rszC* mtk_mml -alias of:N*T*Cmediatek,mt6879-mml_rsz mtk_mml -alias of:N*T*Cmediatek,mt6879-mml_rszC* mtk_mml -alias of:N*T*Cmediatek,mt6895-mml_rsz0 mtk_mml -alias of:N*T*Cmediatek,mt6895-mml_rsz0C* mtk_mml -alias of:N*T*Cmediatek,mt6895-mml_rsz1 mtk_mml -alias of:N*T*Cmediatek,mt6895-mml_rsz1C* mtk_mml -alias of:N*T*Cmediatek,mt6895-mml_rsz2 mtk_mml -alias of:N*T*Cmediatek,mt6895-mml_rsz2C* mtk_mml -alias of:N*T*Cmediatek,mt6895-mml_rsz3 mtk_mml -alias of:N*T*Cmediatek,mt6895-mml_rsz3C* mtk_mml -alias of:N*T*Cmediatek,mt6985-mml_rsz mtk_mml -alias of:N*T*Cmediatek,mt6985-mml_rszC* mtk_mml -alias of:N*T*Cmediatek,mt6985-mml_rsz2 mtk_mml -alias of:N*T*Cmediatek,mt6985-mml_rsz2C* mtk_mml -alias of:N*T*Cmediatek,mt6886-mml_rsz mtk_mml -alias of:N*T*Cmediatek,mt6886-mml_rszC* mtk_mml -alias of:N*T*Cmediatek,mt6985-mml_pq_rdma mtk_mml -alias of:N*T*Cmediatek,mt6985-mml_pq_rdmaC* mtk_mml -alias of:N*T*Cmediatek,mt6985-mml_birsz mtk_mml -alias of:N*T*Cmediatek,mt6985-mml_birszC* mtk_mml -alias of:N*T*Cmediatek,mt6893-mml_tcc mtk_mml -alias of:N*T*Cmediatek,mt6893-mml_tccC* mtk_mml -alias of:N*T*Cmediatek,mt6983-mml_tdshp mtk_mml -alias of:N*T*Cmediatek,mt6983-mml_tdshpC* mtk_mml -alias of:N*T*Cmediatek,mt6893-mml_tdshp mtk_mml -alias of:N*T*Cmediatek,mt6893-mml_tdshpC* mtk_mml -alias of:N*T*Cmediatek,mt6879-mml_tdshp mtk_mml -alias of:N*T*Cmediatek,mt6879-mml_tdshpC* mtk_mml -alias of:N*T*Cmediatek,mt6895-mml_tdshp mtk_mml -alias of:N*T*Cmediatek,mt6895-mml_tdshpC* mtk_mml -alias of:N*T*Cmediatek,mt6985-mml_tdshp mtk_mml -alias of:N*T*Cmediatek,mt6985-mml_tdshpC* mtk_mml -alias of:N*T*Cmediatek,mt6886-mml_tdshp mtk_mml -alias of:N*T*Cmediatek,mt6886-mml_tdshpC* mtk_mml -alias of:N*T*Cmediatek,mt6983-mml_wrot mtk_mml -alias of:N*T*Cmediatek,mt6983-mml_wrotC* mtk_mml -alias of:N*T*Cmediatek,mt6893-mml_wrot mtk_mml -alias of:N*T*Cmediatek,mt6893-mml_wrotC* mtk_mml -alias of:N*T*Cmediatek,mt6879-mml_wrot mtk_mml -alias of:N*T*Cmediatek,mt6879-mml_wrotC* mtk_mml -alias of:N*T*Cmediatek,mt6895-mml_wrot mtk_mml -alias of:N*T*Cmediatek,mt6895-mml_wrotC* mtk_mml -alias of:N*T*Cmediatek,mt6985-mml_wrot mtk_mml -alias of:N*T*Cmediatek,mt6985-mml_wrotC* mtk_mml -alias of:N*T*Cmediatek,mt6886-mml_wrot mtk_mml -alias of:N*T*Cmediatek,mt6886-mml_wrotC* mtk_mml -alias of:N*T*Carm,dsu-pmu arm_dsu_pmu -alias of:N*T*Carm,dsu-pmuC* arm_dsu_pmu -alias of:N*T*Cpanel,sycamore panel_tmips_sycamore_90hz_drv -alias of:N*T*Cpanel,sycamoreC* panel_tmips_sycamore_90hz_drv -alias of:N*T*Cmediatek,mt6377-gauge mt6377_battery -alias of:N*T*Cmediatek,mt6377-gaugeC* mt6377_battery -alias of:N*T*Cmediatek,charger,pd mtk_pd_charging -alias of:N*T*Cmediatek,charger,pdC* mtk_pd_charging -alias platform:novatek_ts nt36523n -alias of:N*T*Cmediatek,mt6835-spmi-pmif-mpu spmi_mtk_mpu -alias of:N*T*Cmediatek,mt6835-spmi-pmif-mpuC* spmi_mtk_mpu -alias of:N*T*Cmediatek,mt6886-spmi_pmif_mpu spmi_mtk_mpu -alias of:N*T*Cmediatek,mt6886-spmi_pmif_mpuC* spmi_mtk_mpu -alias of:N*T*Cmediatek,mt6895-spmi_pmif_mpu spmi_mtk_mpu -alias of:N*T*Cmediatek,mt6895-spmi_pmif_mpuC* spmi_mtk_mpu -alias of:N*T*Cmediatek,mt6983-spmi_pmif_mpu spmi_mtk_mpu -alias of:N*T*Cmediatek,mt6983-spmi_pmif_mpuC* spmi_mtk_mpu -alias of:N*T*Cmediatek,mt6985-spmi_pmif_mpu spmi_mtk_mpu -alias of:N*T*Cmediatek,mt6985-spmi_pmif_mpuC* spmi_mtk_mpu -alias of:N*T*Cmediatek,mt8183-dvfsrc mtk_emi -alias of:N*T*Cmediatek,mt8183-dvfsrcC* mtk_emi -alias of:N*T*Cmediatek,mt6873-dvfsrc mtk_emi -alias of:N*T*Cmediatek,mt6873-dvfsrcC* mtk_emi -alias of:N*T*Cmediatek,mt6853-dvfsrc mtk_emi -alias of:N*T*Cmediatek,mt6853-dvfsrcC* mtk_emi -alias of:N*T*Cmediatek,mt6885-dvfsrc mtk_emi -alias of:N*T*Cmediatek,mt6885-dvfsrcC* mtk_emi -alias of:N*T*Cmediatek,mt6893-dvfsrc mtk_emi -alias of:N*T*Cmediatek,mt6893-dvfsrcC* mtk_emi -alias of:N*T*Cmediatek,mt6833-dvfsrc mtk_emi -alias of:N*T*Cmediatek,mt6833-dvfsrcC* mtk_emi -alias of:N*T*Cmediatek,mt6877-dvfsrc mtk_emi -alias of:N*T*Cmediatek,mt6877-dvfsrcC* mtk_emi -alias of:N*T*Cmediatek,mt6983-dvfsrc mtk_emi -alias of:N*T*Cmediatek,mt6983-dvfsrcC* mtk_emi -alias of:N*T*Cmediatek,mt6895-dvfsrc mtk_emi -alias of:N*T*Cmediatek,mt6895-dvfsrcC* mtk_emi -alias of:N*T*Cmediatek,mt6879-dvfsrc mtk_emi -alias of:N*T*Cmediatek,mt6879-dvfsrcC* mtk_emi -alias of:N*T*Cmediatek,mt6855-dvfsrc mtk_emi -alias of:N*T*Cmediatek,mt6855-dvfsrcC* mtk_emi -alias of:N*T*Cmediatek,mt6985-dvfsrc mtk_emi -alias of:N*T*Cmediatek,mt6985-dvfsrcC* mtk_emi -alias of:N*T*Cmediatek,mt6886-dvfsrc mtk_emi -alias of:N*T*Cmediatek,mt6886-dvfsrcC* mtk_emi -alias of:N*T*Cmediatek,mt6835-dvfsrc mtk_emi -alias of:N*T*Cmediatek,mt6835-dvfsrcC* mtk_emi -alias i2c:ps5169 ps5169 -alias of:N*T*Cparade,ps5169 ps5169 -alias of:N*T*Cparade,ps5169C* ps5169 -alias i2c:upm7610 tcpc_upm7610 -alias i2c:rt1715 tcpc_upm7610 -alias i2c:rt1716 tcpc_upm7610 -alias of:N*T*Cmediatek,charger,pe45 mtk_pep45 -alias of:N*T*Cmediatek,charger,pe45C* mtk_pep45 -alias of:N*T*Cmediatek,I2C_LCD_BIAS sycamore_i2c -alias of:N*T*Cmediatek,I2C_LCD_BIASC* sycamore_i2c -alias i2c:I2C_LCD_BIAS sycamore_i2c -alias of:N*T*Cmediatek,mt6873-mdpm mtk_mdpm -alias of:N*T*Cmediatek,mt6873-mdpmC* mtk_mdpm -alias of:N*T*Cmediatek,mt6893-mdpm mtk_mdpm -alias of:N*T*Cmediatek,mt6893-mdpmC* mtk_mdpm -alias of:N*T*Cmediatek,mt6983-mdpm mtk_mdpm -alias of:N*T*Cmediatek,mt6983-mdpmC* mtk_mdpm -alias of:N*T*Cmediatek,mt6879-mdpm mtk_mdpm -alias of:N*T*Cmediatek,mt6879-mdpmC* mtk_mdpm -alias of:N*T*Cmediatek,mt6895-mdpm mtk_mdpm -alias of:N*T*Cmediatek,mt6895-mdpmC* mtk_mdpm -alias of:N*T*Cmediatek,mt6886-mdpm mtk_mdpm -alias of:N*T*Cmediatek,mt6886-mdpmC* mtk_mdpm -alias of:N*T*Cmediatek,mt6985-mdpm mtk_mdpm -alias of:N*T*Cmediatek,mt6985-mdpmC* mtk_mdpm -alias of:N*T*Cmediatek,mt6835-mdpm mtk_mdpm -alias of:N*T*Cmediatek,mt6835-mdpmC* mtk_mdpm diff --git a/recovery/root/lib/modules/modules.dep b/recovery/root/lib/modules/modules.dep deleted file mode 100644 index c40c5fa..0000000 --- a/recovery/root/lib/modules/modules.dep +++ /dev/null @@ -1,203 +0,0 @@ -/lib/modules/mt6577_auxadc.ko: -/lib/modules/sec.ko: -/lib/modules/phy-mtk-tphy.ko: -/lib/modules/mtk-pmic-keys.ko: -/lib/modules/cache-parity.ko: /lib/modules/mrdump.ko /lib/modules/aee_aed.ko -/lib/modules/mtk-pmic-wrap.ko: -/lib/modules/mtk-smi.ko: /lib/modules/aee_aed.ko -/lib/modules/hqsysfs.ko: -/lib/modules/device-apc-common.ko: /lib/modules/aee_aed.ko -/lib/modules/sc8960x_slave_charger.ko: /lib/modules/hqsysfs.ko /lib/modules/charger_class.ko -/lib/modules/aee_hangdet.ko: /lib/modules/mrdump.ko -/lib/modules/i2c-mt65xx.ko: /lib/modules/pinctrl-mtk-common-v2_debug.ko /lib/modules/pinctrl-mtk-v2.ko -/lib/modules/mtk_battery_oc_throttling.ko: -/lib/modules/rpmb-mtk.ko: /lib/modules/mcDrvModule.ko /lib/modules/ufs-mediatek-mod.ko /lib/modules/rpmb.ko /lib/modules/ufs-mediatek-dbg.ko /lib/modules/blocktag.ko /lib/modules/irq-dbg.ko /lib/modules/mrdump.ko /lib/modules/aee_aed.ko -/lib/modules/leds-mtk.ko: -/lib/modules/rt5133-regulator.ko: /lib/modules/extdev_io_class.ko -/lib/modules/mtu3.ko: -/lib/modules/mmqos-common.ko: /lib/modules/mtk-mmdvfs-debug.ko /lib/modules/mtk-mmdvfs-v3.ko /lib/modules/mtk-mmdvfs-ftrace.ko /lib/modules/mtk_tinysys_ipi.ko /lib/modules/mtk_rpmsg_mbox.ko /lib/modules/mtk-mbox.ko /lib/modules/mtk-mmdvfs.ko /lib/modules/mtk_dramc.ko /lib/modules/mtk-icc-core.ko /lib/modules/vcp_status.ko /lib/modules/mmprofile.ko /lib/modules/mtk-smi-dbg.ko /lib/modules/emi.ko /lib/modules/emi-mpu.ko /lib/modules/mtk-smi.ko /lib/modules/clk-common.ko /lib/modules/mrdump.ko /lib/modules/aee_aed.ko -/lib/modules/reset-ti-syscon.ko: -/lib/modules/spmi-mtk-pmif.ko: /lib/modules/mrdump.ko /lib/modules/aee_aed.ko -/lib/modules/pinctrl-mtk-v2.ko: -/lib/modules/vcp_status.ko: -/lib/modules/mtk_chg_type_det.ko: /lib/modules/tcpc_class.ko /lib/modules/pd_dbg_info.ko /lib/modules/charger_class.ko -/lib/modules/mtk-scpsys-mt6835.ko: /lib/modules/mtk-scpsys.ko -/lib/modules/panel-boeips-sycamore-90hz-drv.ko: /lib/modules/hx83102j.ko /lib/modules/mtk_disp_notify.ko /lib/modules/sycamore-i2c.ko /lib/modules/mtk_panel_ext.ko /lib/modules/hqsysfs.ko -/lib/modules/isee.ko: /lib/modules/bootprof.ko -/lib/modules/clk-dbg-mt6835.ko: /lib/modules/clk-common.ko /lib/modules/aee_aed.ko -/lib/modules/mtk_iommu.ko: /lib/modules/iommu_debug.ko /lib/modules/mtk-smi-dbg.ko /lib/modules/emi.ko /lib/modules/emi-mpu.ko /lib/modules/mtk-smi.ko /lib/modules/iommu_secure.ko /lib/modules/clk-common.ko /lib/modules/aee_aed.ko -/lib/modules/mtk-socinfo.ko: -/lib/modules/clk-mt6835-imgsys1.ko: /lib/modules/clk-common.ko /lib/modules/aee_aed.ko -/lib/modules/mtk_pep20.ko: /lib/modules/mtk_charger_framework.ko /lib/modules/mm8013.ko /lib/modules/adapter_class.ko /lib/modules/mtk_charger_algorithm_class.ko /lib/modules/mtk_disp_notify.ko /lib/modules/tcpc_class.ko /lib/modules/pd_dbg_info.ko /lib/modules/hqsysfs.ko /lib/modules/charger_class.ko -/lib/modules/mtk-mminfra-debug.ko: /lib/modules/tinysys-scmi.ko /lib/modules/mtk-cmdq-drv-ext.ko /lib/modules/device-apc-common.ko /lib/modules/vcp_status.ko /lib/modules/mmprofile.ko /lib/modules/irq-dbg.ko /lib/modules/iommu_debug.ko /lib/modules/mtk-smi-dbg.ko /lib/modules/emi.ko /lib/modules/emi-mpu.ko /lib/modules/mtk-smi.ko /lib/modules/clk-common.ko /lib/modules/aee_aed.ko -/lib/modules/monitor_hang.ko: /lib/modules/mrdump.ko -/lib/modules/mtk-mmdvfs-v3.ko: /lib/modules/mtk-mmdvfs-ftrace.ko /lib/modules/mtk_tinysys_ipi.ko /lib/modules/mtk_rpmsg_mbox.ko /lib/modules/mtk-mbox.ko /lib/modules/vcp_status.ko /lib/modules/mtk-smi-dbg.ko /lib/modules/emi.ko /lib/modules/emi-mpu.ko /lib/modules/mtk-smi.ko /lib/modules/clk-common.ko /lib/modules/aee_aed.ko -/lib/modules/pwm-mtk-disp.ko: -/lib/modules/mtk-mmc-dbg.ko: /lib/modules/blocktag.ko /lib/modules/mrdump.ko -/lib/modules/mtk-scpsys-bringup.ko: -/lib/modules/perf_helper.ko: -/lib/modules/uarthub_drv.ko: /lib/modules/mtk_disp_notify.ko -/lib/modules/rtc-mt6685.ko: /lib/modules/aee_aed.ko -/lib/modules/panel-tcl-sycamore-90hz-drv.ko: /lib/modules/mediatek-drm.ko /lib/modules/spi_slave.ko /lib/modules/mmqos-common.ko /lib/modules/mtk-mmdvfs-debug.ko /lib/modules/mtk-mmdvfs-v3.ko /lib/modules/mtk-mmdvfs-ftrace.ko /lib/modules/mtk_tinysys_ipi.ko /lib/modules/mtk_rpmsg_mbox.ko /lib/modules/mtk-mbox.ko /lib/modules/mtk-mmdvfs.ko /lib/modules/mtk_dramc.ko /lib/modules/leds-mtk.ko /lib/modules/mtk-mml.ko /lib/modules/system_heap.ko /lib/modules/mtk_sync.ko /lib/modules/mtk_slbc.ko /lib/modules/mtk-icc-core.ko /lib/modules/nt36523n.ko /lib/modules/tinysys-scmi.ko /lib/modules/mtk-cmdq-drv-ext.ko /lib/modules/device-apc-common.ko /lib/modules/vcp_status.ko /lib/modules/mmprofile.ko /lib/modules/irq-dbg.ko /lib/modules/iommu_debug.ko /lib/modules/mtk-smi-dbg.ko /lib/modules/emi.ko /lib/modules/emi-mpu.ko /lib/modules/mtk-smi.ko /lib/modules/clk-common.ko /lib/modules/mtk_disp_notify.ko /lib/modules/sycamore-i2c.ko /lib/modules/mtk_panel_ext.ko /lib/modules/hqsysfs.ko /lib/modules/mrdump.ko /lib/modules/aee_aed.ko -/lib/modules/clk-mt6835-mfgcfg.ko: /lib/modules/clk-common.ko /lib/modules/aee_aed.ko -/lib/modules/mtk-dvfsrc-helper.ko: /lib/modules/mtk-dvfsrc.ko /lib/modules/mtk_dramc.ko /lib/modules/mtk-scpsys.ko /lib/modules/aee_aed.ko -/lib/modules/clk-mt6835-nemi_reg.ko: /lib/modules/clk-common.ko /lib/modules/aee_aed.ko -/lib/modules/tcpc_wusb3812.ko: /lib/modules/tcpc_class.ko /lib/modules/pd_dbg_info.ko /lib/modules/hqsysfs.ko /lib/modules/charger_class.ko -/lib/modules/clk-mt6835-cam.ko: /lib/modules/clk-common.ko /lib/modules/aee_aed.ko -/lib/modules/mtk_tinysys_ipi.ko: /lib/modules/mtk_rpmsg_mbox.ko /lib/modules/mtk-mbox.ko -/lib/modules/mtk_dynamic_loading_throttling.ko: /lib/modules/mtk_low_battery_throttling.ko /lib/modules/pmic_lvsys_notify.ko /lib/modules/pmic_lbat_service.ko -/lib/modules/mtk_dcm.ko: -/lib/modules/mt6315-regulator.ko: -/lib/modules/mt6835_dcm.ko: /lib/modules/mtk_dcm.ko -/lib/modules/mtk-dvfsrc-regulator.ko: /lib/modules/mtk-dvfsrc.ko /lib/modules/mtk-scpsys.ko -/lib/modules/clkbuf.ko: -/lib/modules/mtk-mbox-mailbox.ko: -/lib/modules/mt6375-adc.ko: -/lib/modules/clk-mt6835-mmsys.ko: /lib/modules/clk-common.ko /lib/modules/aee_aed.ko -/lib/modules/spi_slave.ko: -/lib/modules/mediatek-drm-panel-drv.ko: /lib/modules/mediatek-drm-gateic.ko /lib/modules/mediatek-drm.ko /lib/modules/spi_slave.ko /lib/modules/mmqos-common.ko /lib/modules/mtk-mmdvfs-debug.ko /lib/modules/mtk-mmdvfs-v3.ko /lib/modules/mtk-mmdvfs-ftrace.ko /lib/modules/mtk_tinysys_ipi.ko /lib/modules/mtk_rpmsg_mbox.ko /lib/modules/mtk-mbox.ko /lib/modules/mtk-mmdvfs.ko /lib/modules/mtk_dramc.ko /lib/modules/leds-mtk.ko /lib/modules/mtk-mml.ko /lib/modules/system_heap.ko /lib/modules/mtk_sync.ko /lib/modules/mtk_slbc.ko /lib/modules/mtk-icc-core.ko /lib/modules/tinysys-scmi.ko /lib/modules/mtk-cmdq-drv-ext.ko /lib/modules/device-apc-common.ko /lib/modules/vcp_status.ko /lib/modules/mmprofile.ko /lib/modules/irq-dbg.ko /lib/modules/iommu_debug.ko /lib/modules/mtk-smi-dbg.ko /lib/modules/emi.ko /lib/modules/emi-mpu.ko /lib/modules/mtk-smi.ko /lib/modules/clk-common.ko /lib/modules/mtk_disp_notify.ko /lib/modules/mtk_panel_ext.ko /lib/modules/mrdump.ko /lib/modules/aee_aed.ko -/lib/modules/clk-mt6835-peri.ko: /lib/modules/clk-common.ko /lib/modules/aee_aed.ko -/lib/modules/mtk-kpd.ko: -/lib/modules/pd-chk-mt6835.ko: /lib/modules/clk-chk-mt6835.ko /lib/modules/device-apc-common.ko /lib/modules/clk-common.ko /lib/modules/aee_aed.ko -/lib/modules/clk-mt6835-bus.ko: /lib/modules/clk-common.ko /lib/modules/aee_aed.ko -/lib/modules/pinctrl-mtk-common-v2_debug.ko: /lib/modules/pinctrl-mtk-v2.ko -/lib/modules/mtk_panel_ext.ko: -/lib/modules/extcon-mtk-usb.ko: /lib/modules/tcpc_class.ko /lib/modules/pd_dbg_info.ko /lib/modules/charger_class.ko -/lib/modules/pmic_lvsys_notify.ko: -/lib/modules/mmprofile.ko: /lib/modules/aee_aed.ko -/lib/modules/sc8960x_charger.ko: /lib/modules/tcpc_class.ko /lib/modules/pd_dbg_info.ko /lib/modules/hqsysfs.ko /lib/modules/charger_class.ko -/lib/modules/mtk-spmi-pmic.ko: /lib/modules/regmap-spmi.ko -/lib/modules/emi.ko: /lib/modules/emi-mpu.ko /lib/modules/aee_aed.ko -/lib/modules/reboot-mode.ko: -/lib/modules/mtk-pm-domain-disable-unused.ko: -/lib/modules/mux_switch.ko: -/lib/modules/mtk-smi-dbg.ko: /lib/modules/emi.ko /lib/modules/emi-mpu.ko /lib/modules/mtk-smi.ko /lib/modules/clk-common.ko /lib/modules/aee_aed.ko -/lib/modules/mtk_slbc.ko: -/lib/modules/mt6375-battery.ko: /lib/modules/pmic_lbat_service.ko /lib/modules/aee_aed.ko -/lib/modules/pd_dbg_info.ko: -/lib/modules/tinysys-scmi.ko: -/lib/modules/mtk_rpmsg_mbox.ko: /lib/modules/mtk-mbox.ko -/lib/modules/rpmb.ko: -/lib/modules/hx83102j.ko: /lib/modules/mtk_disp_notify.ko /lib/modules/hqsysfs.ko -/lib/modules/mtk-mbox.ko: -/lib/modules/mtk_pbm.ko: /lib/modules/mtk_mdpm.ko /lib/modules/mtk_dynamic_loading_throttling.ko /lib/modules/mtk_low_battery_throttling.ko /lib/modules/pmic_lvsys_notify.ko /lib/modules/pmic_lbat_service.ko -/lib/modules/leds-mtk-disp.ko: /lib/modules/rt4831a_drv.ko /lib/modules/mediatek-drm-gateic.ko /lib/modules/mediatek-drm.ko /lib/modules/spi_slave.ko /lib/modules/mmqos-common.ko /lib/modules/mtk-mmdvfs-debug.ko /lib/modules/mtk-mmdvfs-v3.ko /lib/modules/mtk-mmdvfs-ftrace.ko /lib/modules/mtk_tinysys_ipi.ko /lib/modules/mtk_rpmsg_mbox.ko /lib/modules/mtk-mbox.ko /lib/modules/mtk-mmdvfs.ko /lib/modules/mtk_dramc.ko /lib/modules/leds-mtk.ko /lib/modules/mtk-mml.ko /lib/modules/system_heap.ko /lib/modules/mtk_sync.ko /lib/modules/mtk_slbc.ko /lib/modules/mtk-icc-core.ko /lib/modules/tinysys-scmi.ko /lib/modules/mtk-cmdq-drv-ext.ko /lib/modules/device-apc-common.ko /lib/modules/vcp_status.ko /lib/modules/mmprofile.ko /lib/modules/irq-dbg.ko /lib/modules/iommu_debug.ko /lib/modules/mtk-smi-dbg.ko /lib/modules/emi.ko /lib/modules/emi-mpu.ko /lib/modules/mtk-smi.ko /lib/modules/clk-common.ko /lib/modules/mtk_disp_notify.ko /lib/modules/mtk_panel_ext.ko /lib/modules/mrdump.ko /lib/modules/aee_aed.ko -/lib/modules/iommu_debug.ko: /lib/modules/aee_aed.ko -/lib/modules/mtk_charger_framework.ko: /lib/modules/mm8013.ko /lib/modules/adapter_class.ko /lib/modules/mtk_charger_algorithm_class.ko /lib/modules/mtk_disp_notify.ko /lib/modules/tcpc_class.ko /lib/modules/pd_dbg_info.ko /lib/modules/hqsysfs.ko /lib/modules/charger_class.ko -/lib/modules/mtk_wdt.ko: -/lib/modules/pidmap.ko: -/lib/modules/adapter_class.ko: -/lib/modules/mtk-spmi-pmic-adc.ko: -/lib/modules/syscon-reboot-mode.ko: /lib/modules/reboot-mode.ko -/lib/modules/clk-mt6835-scp_iic.ko: /lib/modules/clk-common.ko /lib/modules/aee_aed.ko -/lib/modules/pmic_lbat_service.ko: -/lib/modules/powerhal_cpu_ctrl.ko: -/lib/modules/mtk_charger_algorithm_class.ko: -/lib/modules/mediatek-drm-gateic.ko: /lib/modules/mediatek-drm.ko /lib/modules/spi_slave.ko /lib/modules/mmqos-common.ko /lib/modules/mtk-mmdvfs-debug.ko /lib/modules/mtk-mmdvfs-v3.ko /lib/modules/mtk-mmdvfs-ftrace.ko /lib/modules/mtk_tinysys_ipi.ko /lib/modules/mtk_rpmsg_mbox.ko /lib/modules/mtk-mbox.ko /lib/modules/mtk-mmdvfs.ko /lib/modules/mtk_dramc.ko /lib/modules/leds-mtk.ko /lib/modules/mtk-mml.ko /lib/modules/system_heap.ko /lib/modules/mtk_sync.ko /lib/modules/mtk_slbc.ko /lib/modules/mtk-icc-core.ko /lib/modules/tinysys-scmi.ko /lib/modules/mtk-cmdq-drv-ext.ko /lib/modules/device-apc-common.ko /lib/modules/vcp_status.ko /lib/modules/mmprofile.ko /lib/modules/irq-dbg.ko /lib/modules/iommu_debug.ko /lib/modules/mtk-smi-dbg.ko /lib/modules/emi.ko /lib/modules/emi-mpu.ko /lib/modules/mtk-smi.ko /lib/modules/clk-common.ko /lib/modules/mtk_disp_notify.ko /lib/modules/mtk_panel_ext.ko /lib/modules/mrdump.ko /lib/modules/aee_aed.ko -/lib/modules/aee_aed.ko: -/lib/modules/teeperf.ko: -/lib/modules/spi-mt65xx.ko: -/lib/modules/clk-chk-mt6835.ko: /lib/modules/device-apc-common.ko /lib/modules/clk-common.ko /lib/modules/aee_aed.ko -/lib/modules/mtk-uart-apdma.ko: -/lib/modules/mtk-cqdma.ko: -/lib/modules/extdev_io_class.ko: -/lib/modules/mtk_pep.ko: /lib/modules/mtk_charger_framework.ko /lib/modules/mm8013.ko /lib/modules/adapter_class.ko /lib/modules/mtk_charger_algorithm_class.ko /lib/modules/mtk_disp_notify.ko /lib/modules/tcpc_class.ko /lib/modules/pd_dbg_info.ko /lib/modules/hqsysfs.ko /lib/modules/charger_class.ko -/lib/modules/xhci-mtk-hcd-v2.ko: -/lib/modules/bus-parity.ko: /lib/modules/mrdump.ko /lib/modules/aee_aed.ko -/lib/modules/mtk-mminfra-imax.ko: -/lib/modules/clk-mt6835-vcodec.ko: /lib/modules/clk-common.ko /lib/modules/aee_aed.ko -/lib/modules/log_store.ko: -/lib/modules/timer-mediatek.ko: -/lib/modules/mt6375.ko: -/lib/modules/cmdq-platform-mt6835.ko: /lib/modules/mtk-cmdq-drv-ext.ko /lib/modules/device-apc-common.ko /lib/modules/vcp_status.ko /lib/modules/mmprofile.ko /lib/modules/irq-dbg.ko /lib/modules/iommu_debug.ko /lib/modules/mtk-smi-dbg.ko /lib/modules/emi.ko /lib/modules/emi-mpu.ko /lib/modules/mtk-smi.ko /lib/modules/clk-common.ko /lib/modules/aee_aed.ko -/lib/modules/mediatek-drm.ko: /lib/modules/spi_slave.ko /lib/modules/mmqos-common.ko /lib/modules/mtk-mmdvfs-debug.ko /lib/modules/mtk-mmdvfs-v3.ko /lib/modules/mtk-mmdvfs-ftrace.ko /lib/modules/mtk_tinysys_ipi.ko /lib/modules/mtk_rpmsg_mbox.ko /lib/modules/mtk-mbox.ko /lib/modules/mtk-mmdvfs.ko /lib/modules/mtk_dramc.ko /lib/modules/leds-mtk.ko /lib/modules/mtk-mml.ko /lib/modules/system_heap.ko /lib/modules/mtk_sync.ko /lib/modules/mtk_slbc.ko /lib/modules/mtk-icc-core.ko /lib/modules/tinysys-scmi.ko /lib/modules/mtk-cmdq-drv-ext.ko /lib/modules/device-apc-common.ko /lib/modules/vcp_status.ko /lib/modules/mmprofile.ko /lib/modules/irq-dbg.ko /lib/modules/iommu_debug.ko /lib/modules/mtk-smi-dbg.ko /lib/modules/emi.ko /lib/modules/emi-mpu.ko /lib/modules/mtk-smi.ko /lib/modules/clk-common.ko /lib/modules/mtk_disp_notify.ko /lib/modules/mtk_panel_ext.ko /lib/modules/mrdump.ko /lib/modules/aee_aed.ko -/lib/modules/charger_class.ko: -/lib/modules/phy-mtk-ufs.ko: -/lib/modules/pinctrl-mt6835.ko: /lib/modules/pinctrl-mtk-v2.ko -/lib/modules/regulator-vibrator.ko: -/lib/modules/mtk-icc-core.ko: -/lib/modules/mm8013.ko: /lib/modules/adapter_class.ko /lib/modules/tcpc_class.ko /lib/modules/pd_dbg_info.ko /lib/modules/hqsysfs.ko /lib/modules/charger_class.ko -/lib/modules/clk-disable-unused.ko: -/lib/modules/nvmem_mtk-devinfo.ko: -/lib/modules/leds-mtk-pwm.ko: /lib/modules/mediatek-drm.ko /lib/modules/spi_slave.ko /lib/modules/mmqos-common.ko /lib/modules/mtk-mmdvfs-debug.ko /lib/modules/mtk-mmdvfs-v3.ko /lib/modules/mtk-mmdvfs-ftrace.ko /lib/modules/mtk_tinysys_ipi.ko /lib/modules/mtk_rpmsg_mbox.ko /lib/modules/mtk-mbox.ko /lib/modules/mtk-mmdvfs.ko /lib/modules/mtk_dramc.ko /lib/modules/leds-mtk.ko /lib/modules/mtk-mml.ko /lib/modules/system_heap.ko /lib/modules/mtk_sync.ko /lib/modules/mtk_slbc.ko /lib/modules/mtk-icc-core.ko /lib/modules/tinysys-scmi.ko /lib/modules/mtk-cmdq-drv-ext.ko /lib/modules/device-apc-common.ko /lib/modules/vcp_status.ko /lib/modules/mmprofile.ko /lib/modules/irq-dbg.ko /lib/modules/iommu_debug.ko /lib/modules/mtk-smi-dbg.ko /lib/modules/emi.ko /lib/modules/emi-mpu.ko /lib/modules/mtk-smi.ko /lib/modules/clk-common.ko /lib/modules/mtk_disp_notify.ko /lib/modules/mtk_panel_ext.ko /lib/modules/mrdump.ko /lib/modules/aee_aed.ko -/lib/modules/panel-boe-sycamore-90hz-drv.ko: /lib/modules/hx83102j.ko /lib/modules/mtk_disp_notify.ko /lib/modules/sycamore-i2c.ko /lib/modules/mtk_panel_ext.ko /lib/modules/hqsysfs.ko -/lib/modules/tcpc_class.ko: /lib/modules/pd_dbg_info.ko /lib/modules/charger_class.ko -/lib/modules/mtk-dvfsrc.ko: /lib/modules/mtk-scpsys.ko -/lib/modules/clk-common.ko: /lib/modules/aee_aed.ko -/lib/modules/ufs-mediatek-mod.ko: /lib/modules/rpmb.ko /lib/modules/ufs-mediatek-dbg.ko /lib/modules/blocktag.ko /lib/modules/irq-dbg.ko /lib/modules/mrdump.ko /lib/modules/aee_aed.ko -/lib/modules/mtk-scpsys.ko: -/lib/modules/ufs-mediatek-dbg.ko: /lib/modules/mrdump.ko -/lib/modules/iommu_secure.ko: -/lib/modules/usb_meta.ko: /lib/modules/bootprof.ko -/lib/modules/emi-mpu.ko: /lib/modules/aee_aed.ko -/lib/modules/panel-tianma-sycamore-90hz-drv.ko: /lib/modules/mediatek-drm.ko /lib/modules/spi_slave.ko /lib/modules/mmqos-common.ko /lib/modules/mtk-mmdvfs-debug.ko /lib/modules/mtk-mmdvfs-v3.ko /lib/modules/mtk-mmdvfs-ftrace.ko /lib/modules/mtk_tinysys_ipi.ko /lib/modules/mtk_rpmsg_mbox.ko /lib/modules/mtk-mbox.ko /lib/modules/mtk-mmdvfs.ko /lib/modules/mtk_dramc.ko /lib/modules/leds-mtk.ko /lib/modules/mtk-mml.ko /lib/modules/system_heap.ko /lib/modules/mtk_sync.ko /lib/modules/mtk_slbc.ko /lib/modules/mtk-icc-core.ko /lib/modules/nt36523n.ko /lib/modules/tinysys-scmi.ko /lib/modules/mtk-cmdq-drv-ext.ko /lib/modules/device-apc-common.ko /lib/modules/vcp_status.ko /lib/modules/mmprofile.ko /lib/modules/irq-dbg.ko /lib/modules/iommu_debug.ko /lib/modules/mtk-smi-dbg.ko /lib/modules/emi.ko /lib/modules/emi-mpu.ko /lib/modules/mtk-smi.ko /lib/modules/clk-common.ko /lib/modules/mtk_disp_notify.ko /lib/modules/sycamore-i2c.ko /lib/modules/mtk_panel_ext.ko /lib/modules/hqsysfs.ko /lib/modules/mrdump.ko /lib/modules/aee_aed.ko -/lib/modules/zsmalloc.ko: -/lib/modules/sgm415xx_charger.ko: /lib/modules/tcpc_class.ko /lib/modules/pd_dbg_info.ko /lib/modules/hqsysfs.ko /lib/modules/charger_class.ko -/lib/modules/sec-rng.ko: -/lib/modules/clk-mt6835.ko: /lib/modules/clk-common.ko /lib/modules/aee_aed.ko -/lib/modules/mtk_pd_adapter.ko: /lib/modules/adapter_class.ko /lib/modules/tcpc_class.ko /lib/modules/pd_dbg_info.ko /lib/modules/charger_class.ko -/lib/modules/mt6375-charger.ko: /lib/modules/charger_class.ko -/lib/modules/leds-gpio.ko: -/lib/modules/mtk_printk_ctrl.ko: -/lib/modules/clk-mt6835-adsp.ko: /lib/modules/clk-common.ko /lib/modules/aee_aed.ko -/lib/modules/cfg80211.ko: -/lib/modules/system_heap.ko: -/lib/modules/gt9896s.ko: /lib/modules/spi-mt65xx.ko /lib/modules/mtk_disp_notify.ko /lib/modules/mtk_panel_ext.ko -/lib/modules/mtk_pep40.ko: /lib/modules/mtk_charger_framework.ko /lib/modules/mm8013.ko /lib/modules/adapter_class.ko /lib/modules/mtk_charger_algorithm_class.ko /lib/modules/mtk_disp_notify.ko /lib/modules/tcpc_class.ko /lib/modules/pd_dbg_info.ko /lib/modules/hqsysfs.ko /lib/modules/charger_class.ko -/lib/modules/aee_rs.ko: /lib/modules/mediatek-drm.ko /lib/modules/spi_slave.ko /lib/modules/mmqos-common.ko /lib/modules/mtk-mmdvfs-debug.ko /lib/modules/mtk-mmdvfs-v3.ko /lib/modules/mtk-mmdvfs-ftrace.ko /lib/modules/mtk_tinysys_ipi.ko /lib/modules/mtk_rpmsg_mbox.ko /lib/modules/mtk-mbox.ko /lib/modules/mtk-mmdvfs.ko /lib/modules/mtk_dramc.ko /lib/modules/leds-mtk.ko /lib/modules/mtk-mml.ko /lib/modules/system_heap.ko /lib/modules/mtk_sync.ko /lib/modules/mtk_slbc.ko /lib/modules/mtk-icc-core.ko /lib/modules/tinysys-scmi.ko /lib/modules/mtk-cmdq-drv-ext.ko /lib/modules/device-apc-common.ko /lib/modules/vcp_status.ko /lib/modules/mmprofile.ko /lib/modules/irq-dbg.ko /lib/modules/iommu_debug.ko /lib/modules/mtk-smi-dbg.ko /lib/modules/emi.ko /lib/modules/emi-mpu.ko /lib/modules/mtk-smi.ko /lib/modules/clk-common.ko /lib/modules/mtk_disp_notify.ko /lib/modules/mtk_panel_ext.ko /lib/modules/mrdump.ko /lib/modules/aee_aed.ko -/lib/modules/usb_boost.ko: /lib/modules/mtu3.ko /lib/modules/xhci-mtk-hcd-v2.ko /lib/modules/mtk-dvfsrc.ko /lib/modules/mtk-scpsys.ko -/lib/modules/mt6375-auxadc.ko: -/lib/modules/irq-dbg.ko: -/lib/modules/mtk-dvfsrc-devfreq.ko: /lib/modules/mtk-dvfsrc.ko /lib/modules/mtk-scpsys.ko -/lib/modules/mtk_low_battery_throttling.ko: /lib/modules/pmic_lvsys_notify.ko /lib/modules/pmic_lbat_service.ko -/lib/modules/mt6377-regulator.ko: -/lib/modules/8250_mtk.ko: /lib/modules/lenovo_keyboard.ko /lib/modules/mtk-uart-apdma.ko /lib/modules/uarthub_drv.ko /lib/modules/mtk_disp_notify.ko -/lib/modules/lenovo_keyboard.ko: /lib/modules/mtk_disp_notify.ko -/lib/modules/rt4831a_drv.ko: /lib/modules/leds-mtk.ko -/lib/modules/mtk-mmc.ko: /lib/modules/rpmb-mtk.ko /lib/modules/mcDrvModule.ko /lib/modules/ufs-mediatek-mod.ko /lib/modules/rpmb.ko /lib/modules/ufs-mediatek-dbg.ko /lib/modules/mtk-mmc-dbg.ko /lib/modules/cqhci.ko /lib/modules/blocktag.ko /lib/modules/mtk-dvfsrc.ko /lib/modules/irq-dbg.ko /lib/modules/mtk-scpsys.ko /lib/modules/mrdump.ko /lib/modules/aee_aed.ko -/lib/modules/mtk_disp_notify.ko: -/lib/modules/mmqos-mt6835.ko: /lib/modules/mmqos-common.ko /lib/modules/mtk-mmdvfs-debug.ko /lib/modules/mtk-mmdvfs-v3.ko /lib/modules/mtk-mmdvfs-ftrace.ko /lib/modules/mtk_tinysys_ipi.ko /lib/modules/mtk_rpmsg_mbox.ko /lib/modules/mtk-mbox.ko /lib/modules/mtk-mmdvfs.ko /lib/modules/mtk_dramc.ko /lib/modules/mtk-icc-core.ko /lib/modules/vcp_status.ko /lib/modules/mmprofile.ko /lib/modules/mtk-smi-dbg.ko /lib/modules/emi.ko /lib/modules/emi-mpu.ko /lib/modules/mtk-smi.ko /lib/modules/clk-common.ko /lib/modules/mrdump.ko /lib/modules/aee_aed.ko -/lib/modules/rt_pd_manager.ko: /lib/modules/tcpc_class.ko /lib/modules/pd_dbg_info.ko /lib/modules/charger_class.ko -/lib/modules/sgm415xx_slave_charger.ko: /lib/modules/hqsysfs.ko /lib/modules/charger_class.ko -/lib/modules/mt6377-clkbuf.ko: /lib/modules/clkbuf.ko -/lib/modules/mtk-cmdq-drv-ext.ko: /lib/modules/device-apc-common.ko /lib/modules/vcp_status.ko /lib/modules/mmprofile.ko /lib/modules/irq-dbg.ko /lib/modules/iommu_debug.ko /lib/modules/mtk-smi-dbg.ko /lib/modules/emi.ko /lib/modules/emi-mpu.ko /lib/modules/mtk-smi.ko /lib/modules/clk-common.ko /lib/modules/aee_aed.ko -/lib/modules/cqhci.ko: /lib/modules/blocktag.ko /lib/modules/mrdump.ko -/lib/modules/regmap-spmi.ko: -/lib/modules/dbgtop-drm.ko: -/lib/modules/clk-fmeter-mt6835.ko: /lib/modules/clk-common.ko /lib/modules/aee_aed.ko -/lib/modules/clk-mt6835-mdpsys.ko: /lib/modules/clk-common.ko /lib/modules/aee_aed.ko -/lib/modules/tcpci_late_sync.ko: /lib/modules/tcpc_class.ko /lib/modules/pd_dbg_info.ko /lib/modules/charger_class.ko -/lib/modules/mcDrvModule.ko: -/lib/modules/mtk-mmdvfs.ko: /lib/modules/mmprofile.ko /lib/modules/mtk-smi-dbg.ko /lib/modules/emi.ko /lib/modules/emi-mpu.ko /lib/modules/mtk-smi.ko /lib/modules/clk-common.ko /lib/modules/aee_aed.ko -/lib/modules/mtk-mml.ko: /lib/modules/system_heap.ko /lib/modules/mtk_sync.ko /lib/modules/mtk_slbc.ko /lib/modules/mtk-icc-core.ko /lib/modules/tinysys-scmi.ko /lib/modules/mtk-cmdq-drv-ext.ko /lib/modules/device-apc-common.ko /lib/modules/vcp_status.ko /lib/modules/mmprofile.ko /lib/modules/irq-dbg.ko /lib/modules/iommu_debug.ko /lib/modules/mtk-smi-dbg.ko /lib/modules/emi.ko /lib/modules/emi-mpu.ko /lib/modules/mtk-smi.ko /lib/modules/clk-common.ko /lib/modules/aee_aed.ko -/lib/modules/arm_dsu_pmu.ko: -/lib/modules/mtk_sync.ko: -/lib/modules/clk-bringup.ko: -/lib/modules/panel-tmips-sycamore-90hz-drv.ko: /lib/modules/mediatek-drm.ko /lib/modules/spi_slave.ko /lib/modules/mmqos-common.ko /lib/modules/mtk-mmdvfs-debug.ko /lib/modules/mtk-mmdvfs-v3.ko /lib/modules/mtk-mmdvfs-ftrace.ko /lib/modules/mtk_tinysys_ipi.ko /lib/modules/mtk_rpmsg_mbox.ko /lib/modules/mtk-mbox.ko /lib/modules/mtk-mmdvfs.ko /lib/modules/mtk_dramc.ko /lib/modules/leds-mtk.ko /lib/modules/mtk-mml.ko /lib/modules/system_heap.ko /lib/modules/mtk_sync.ko /lib/modules/mtk_slbc.ko /lib/modules/mtk-icc-core.ko /lib/modules/nt36523n.ko /lib/modules/tinysys-scmi.ko /lib/modules/mtk-cmdq-drv-ext.ko /lib/modules/device-apc-common.ko /lib/modules/vcp_status.ko /lib/modules/mmprofile.ko /lib/modules/irq-dbg.ko /lib/modules/iommu_debug.ko /lib/modules/mtk-smi-dbg.ko /lib/modules/emi.ko /lib/modules/emi-mpu.ko /lib/modules/mtk-smi.ko /lib/modules/clk-common.ko /lib/modules/mtk_disp_notify.ko /lib/modules/sycamore-i2c.ko /lib/modules/mtk_panel_ext.ko /lib/modules/hqsysfs.ko /lib/modules/mrdump.ko /lib/modules/aee_aed.ko -/lib/modules/mt6377-battery.ko: /lib/modules/pmic_lbat_service.ko -/lib/modules/mtk_pd_charging.ko: /lib/modules/mtk_charger_framework.ko /lib/modules/mm8013.ko /lib/modules/adapter_class.ko /lib/modules/mtk_charger_algorithm_class.ko /lib/modules/mtk_disp_notify.ko /lib/modules/tcpc_class.ko /lib/modules/pd_dbg_info.ko /lib/modules/hqsysfs.ko /lib/modules/charger_class.ko -/lib/modules/nt36523n.ko: /lib/modules/mtk_disp_notify.ko /lib/modules/hqsysfs.ko -/lib/modules/spmi-mtk-mpu.ko: -/lib/modules/bootprof.ko: -/lib/modules/mtk_dramc.ko: -/lib/modules/clk-mt6835-sramrc_apb.ko: /lib/modules/clk-common.ko /lib/modules/aee_aed.ko -/lib/modules/mtk-swpm-perf-arm-pmu.ko: -/lib/modules/mtk-emi.ko: /lib/modules/mtk-dvfsrc.ko /lib/modules/mtk-scpsys.ko -/lib/modules/mtk-mmdvfs-debug.ko: /lib/modules/mtk-mmdvfs-v3.ko /lib/modules/mtk-mmdvfs-ftrace.ko /lib/modules/mtk_tinysys_ipi.ko /lib/modules/mtk_rpmsg_mbox.ko /lib/modules/mtk-mbox.ko /lib/modules/mtk-mmdvfs.ko /lib/modules/vcp_status.ko /lib/modules/mmprofile.ko /lib/modules/mtk-smi-dbg.ko /lib/modules/emi.ko /lib/modules/emi-mpu.ko /lib/modules/mtk-smi.ko /lib/modules/clk-common.ko /lib/modules/mrdump.ko /lib/modules/aee_aed.ko -/lib/modules/mrdump.ko: -/lib/modules/iommu_test.ko: -/lib/modules/clk-mt6835-img.ko: /lib/modules/clk-common.ko /lib/modules/aee_aed.ko -/lib/modules/ps5169.ko: /lib/modules/mux_switch.ko -/lib/modules/blocktag.ko: /lib/modules/mrdump.ko -/lib/modules/device-apc-mt6835.ko: /lib/modules/device-apc-common.ko /lib/modules/aee_aed.ko -/lib/modules/tcpc_upm7610.ko: /lib/modules/tcpc_class.ko /lib/modules/pd_dbg_info.ko /lib/modules/hqsysfs.ko /lib/modules/charger_class.ko -/lib/modules/mediatek-cpufreq-hw.ko: -/lib/modules/load_track.ko: -/lib/modules/cmdq_helper_inf.ko: /lib/modules/mtk-cmdq-drv-ext.ko /lib/modules/device-apc-common.ko /lib/modules/vcp_status.ko /lib/modules/mmprofile.ko /lib/modules/irq-dbg.ko /lib/modules/iommu_debug.ko /lib/modules/mtk-smi-dbg.ko /lib/modules/emi.ko /lib/modules/emi-mpu.ko /lib/modules/mtk-smi.ko /lib/modules/clk-common.ko /lib/modules/aee_aed.ko -/lib/modules/mtk_pep45.ko: /lib/modules/mtk_charger_framework.ko /lib/modules/mm8013.ko /lib/modules/adapter_class.ko /lib/modules/mtk_charger_algorithm_class.ko /lib/modules/mtk_disp_notify.ko /lib/modules/tcpc_class.ko /lib/modules/pd_dbg_info.ko /lib/modules/hqsysfs.ko /lib/modules/charger_class.ko -/lib/modules/fusb304.ko: /lib/modules/mux_switch.ko -/lib/modules/sycamore-i2c.ko: -/lib/modules/uload_ind.ko: /lib/modules/load_track.ko -/lib/modules/mac80211.ko: /lib/modules/cfg80211.ko -/lib/modules/mtk-mmdvfs-ftrace.ko: -/lib/modules/mtk_mdpm.ko: diff --git a/recovery/root/lib/modules/modules.load b/recovery/root/lib/modules/modules.load deleted file mode 100644 index ed1c584..0000000 --- a/recovery/root/lib/modules/modules.load +++ /dev/null @@ -1,199 +0,0 @@ -bootprof.ko -irq-dbg.ko -dbgtop-drm.ko -mrdump.ko -mtk_disp_notify.ko -aee_aed.ko -aee_hangdet.ko -monitor_hang.ko -mtk_printk_ctrl.ko -log_store.ko -nvmem_mtk-devinfo.ko -mtk_wdt.ko -timer-mediatek.ko -sec-rng.ko -pinctrl-mtk-v2.ko -pinctrl-mt6835.ko -pinctrl-mtk-common-v2_debug.ko -device-apc-common.ko -device-apc-mt6835.ko -zsmalloc.ko -clk-common.ko -clk-mt6835.ko -clk-mt6835-adsp.ko -clk-mt6835-cam.ko -clk-mt6835-mmsys.ko -clk-mt6835-peri.ko -clk-mt6835-bus.ko -clk-mt6835-img.ko -clk-mt6835-mdpsys.ko -clk-mt6835-vcodec.ko -clk-mt6835-imgsys1.ko -clk-mt6835-mfgcfg.ko -clk-mt6835-nemi_reg.ko -clk-mt6835-scp_iic.ko -clk-mt6835-sramrc_apb.ko -mtk-scpsys.ko -mtk-scpsys-mt6835.ko -mtk-scpsys-bringup.ko -clk-bringup.ko -clk-chk-mt6835.ko -pd-chk-mt6835.ko -clk-fmeter-mt6835.ko -mtk_dramc.ko -mtk-dvfsrc.ko -mtk-dvfsrc-regulator.ko -clk-dbg-mt6835.ko -mtk-emi.ko -mtk-pmic-wrap.ko -mtk-spmi-pmic.ko -spmi-mtk-pmif.ko -spmi-mtk-mpu.ko -mt6315-regulator.ko -mt6377-regulator.ko -mtk-smi.ko -mtk-smi-dbg.ko -mtk-icc-core.ko -mtk-mmdvfs-ftrace.ko -mtk-mmdvfs-v3.ko -mtk-mmdvfs.ko -mtk-mmdvfs-debug.ko -mmqos-common.ko -mmqos-mt6835.ko -iommu_secure.ko -iommu_debug.ko -mtk_iommu.ko -iommu_test.ko -system_heap.ko -mtk-cmdq-drv-ext.ko -cmdq-platform-mt6835.ko -cmdq_helper_inf.ko -mtk-mml.ko -mtk_panel_ext.ko -sycamore-i2c.ko -panel-tianma-sycamore-90hz-drv.ko -panel-boe-sycamore-90hz-drv.ko -panel-tmips-sycamore-90hz-drv.ko -panel-boeips-sycamore-90hz-drv.ko -panel-tcl-sycamore-90hz-drv.ko -spi_slave.ko -mediatek-drm-gateic.ko -mediatek-drm-panel-drv.ko -mtk_slbc.ko -vcp_status.ko -mediatek-drm.ko -aee_rs.ko -mmprofile.ko -mtk-uart-apdma.ko -uarthub_drv.ko -8250_mtk.ko -lenovo_keyboard.ko -phy-mtk-tphy.ko -xhci-mtk-hcd-v2.ko -mtu3.ko -usb_boost.ko -mtk-spmi-pmic-adc.ko -regmap-spmi.ko -cqhci.ko -mtk-mmc-dbg.ko -mtk-mmc.ko -phy-mtk-ufs.ko -rpmb.ko -rpmb-mtk.ko -ufs-mediatek-mod.ko -ufs-mediatek-dbg.ko -blocktag.ko -pidmap.ko -mtk-pmic-keys.ko -mtk-kpd.ko -regulator-vibrator.ko -i2c-mt65xx.ko -rtc-mt6685.ko -mt6835_dcm.ko -mtk_dcm.ko -spi-mt65xx.ko -mt6375.ko -extdev_io_class.ko -rt5133-regulator.ko -mt6377-clkbuf.ko -clkbuf.ko -teeperf.ko -mcDrvModule.ko -isee.ko -mt6375-adc.ko -mt6375-auxadc.ko -mt6577_auxadc.ko -adapter_class.ko -charger_class.ko -mtk_charger_algorithm_class.ko -mt6375-charger.ko -mux_switch.ko -fusb304.ko -ps5169.ko -pd_dbg_info.ko -tcpc_class.ko -tcpc_upm7610.ko -tcpc_wusb3812.ko -sc8960x_charger.ko -sgm415xx_charger.ko -sc8960x_slave_charger.ko -sgm415xx_slave_charger.ko -mtk_chg_type_det.ko -mtk_pd_adapter.ko -mtk_pep40.ko -mtk_pep45.ko -mtk_pd_charging.ko -mtk_pep20.ko -mtk_pep.ko -mtk_charger_framework.ko -rt_pd_manager.ko -mm8013.ko -mt6377-battery.ko -mt6375-battery.ko -pwm-mtk-disp.ko -leds-mtk.ko -leds-mtk-disp.ko -leds-mtk-pwm.ko -rt4831a_drv.ko -extcon-mtk-usb.ko -tcpci_late_sync.ko -cache-parity.ko -usb_meta.ko -mtk_battery_oc_throttling.ko -mtk_low_battery_throttling.ko -pmic_lbat_service.ko -pmic_lvsys_notify.ko -mtk_dynamic_loading_throttling.ko -mtk_pbm.ko -mtk_mdpm.ko -reboot-mode.ko -syscon-reboot-mode.ko -reset-ti-syscon.ko -powerhal_cpu_ctrl.ko -perf_helper.ko -mtk-cqdma.ko -mtk_sync.ko -cfg80211.ko -mac80211.ko -mtk-mbox-mailbox.ko -tinysys-scmi.ko -mtk-mminfra-debug.ko -mtk-mminfra-imax.ko -gt9896s.ko -nt36523n.ko -hx83102j.ko -mtk-socinfo.ko -emi.ko -emi-mpu.ko -mtk_rpmsg_mbox.ko -mtk-mbox.ko -mtk_tinysys_ipi.ko -bus-parity.ko -clk-disable-unused.ko -mtk-pm-domain-disable-unused.ko -arm_dsu_pmu.ko -uload_ind.ko -load_track.ko -sec.ko -leds-gpio.ko -hqsysfs.ko diff --git a/recovery/root/lib/modules/modules.load.recovery b/recovery/root/lib/modules/modules.load.recovery deleted file mode 100644 index 31b27d7..0000000 --- a/recovery/root/lib/modules/modules.load.recovery +++ /dev/null @@ -1,197 +0,0 @@ -bootprof.ko -irq-dbg.ko -dbgtop-drm.ko -mrdump.ko -mtk_disp_notify.ko -aee_aed.ko -aee_hangdet.ko -monitor_hang.ko -mtk_printk_ctrl.ko -log_store.ko -nvmem_mtk-devinfo.ko -mtk_wdt.ko -timer-mediatek.ko -sec-rng.ko -pinctrl-mtk-v2.ko -pinctrl-mt6835.ko -pinctrl-mtk-common-v2_debug.ko -device-apc-common.ko -device-apc-mt6835.ko -zsmalloc.ko -clk-common.ko -clk-mt6835.ko -clk-mt6835-adsp.ko -clk-mt6835-cam.ko -clk-mt6835-mmsys.ko -clk-mt6835-peri.ko -clk-mt6835-bus.ko -clk-mt6835-img.ko -clk-mt6835-mdpsys.ko -clk-mt6835-vcodec.ko -clk-mt6835-imgsys1.ko -clk-mt6835-mfgcfg.ko -clk-mt6835-nemi_reg.ko -clk-mt6835-scp_iic.ko -clk-mt6835-sramrc_apb.ko -mtk-scpsys.ko -mtk-scpsys-mt6835.ko -mtk-scpsys-bringup.ko -clk-bringup.ko -clk-chk-mt6835.ko -pd-chk-mt6835.ko -clk-fmeter-mt6835.ko -mtk_dramc.ko -mtk-dvfsrc.ko -mtk-dvfsrc-regulator.ko -clk-dbg-mt6835.ko -mtk-emi.ko -mtk-pmic-wrap.ko -mtk-spmi-pmic.ko -spmi-mtk-pmif.ko -spmi-mtk-mpu.ko -mt6315-regulator.ko -mt6377-regulator.ko -mtk-smi.ko -mtk-smi-dbg.ko -mtk-icc-core.ko -mtk-mmdvfs-ftrace.ko -mtk-mmdvfs-v3.ko -mtk-mmdvfs.ko -mtk-mmdvfs-debug.ko -mmqos-common.ko -mmqos-mt6835.ko -iommu_secure.ko -iommu_debug.ko -mtk_iommu.ko -iommu_test.ko -system_heap.ko -mtk-cmdq-drv-ext.ko -cmdq-platform-mt6835.ko -cmdq_helper_inf.ko -mtk-mml.ko -mtk_panel_ext.ko -sycamore-i2c.ko -panel-tianma-sycamore-90hz-drv.ko -panel-boe-sycamore-90hz-drv.ko -panel-tmips-sycamore-90hz-drv.ko -panel-boeips-sycamore-90hz-drv.ko -panel-tcl-sycamore-90hz-drv.ko -spi_slave.ko -mediatek-drm-gateic.ko -mediatek-drm-panel-drv.ko -mediatek-drm.ko -aee_rs.ko -mmprofile.ko -mtk-uart-apdma.ko -uarthub_drv.ko -8250_mtk.ko -lenovo_keyboard.ko -phy-mtk-tphy.ko -xhci-mtk-hcd-v2.ko -mtu3.ko -usb_boost.ko -mtk-spmi-pmic-adc.ko -regmap-spmi.ko -cqhci.ko -mtk-mmc-dbg.ko -mtk-mmc.ko -phy-mtk-ufs.ko -rpmb.ko -rpmb-mtk.ko -ufs-mediatek-mod.ko -ufs-mediatek-dbg.ko -blocktag.ko -pidmap.ko -mtk-pmic-keys.ko -mtk-kpd.ko -regulator-vibrator.ko -i2c-mt65xx.ko -rtc-mt6685.ko -mt6835_dcm.ko -mtk_dcm.ko -spi-mt65xx.ko -mt6375.ko -extdev_io_class.ko -rt5133-regulator.ko -mt6377-clkbuf.ko -clkbuf.ko -teeperf.ko -mcDrvModule.ko -isee.ko -mt6375-adc.ko -mt6375-auxadc.ko -mt6577_auxadc.ko -adapter_class.ko -charger_class.ko -mtk_charger_algorithm_class.ko -mt6375-charger.ko -mux_switch.ko -fusb304.ko -ps5169.ko -pd_dbg_info.ko -tcpc_class.ko -tcpc_upm7610.ko -tcpc_wusb3812.ko -sc8960x_charger.ko -sgm415xx_charger.ko -sc8960x_slave_charger.ko -sgm415xx_slave_charger.ko -mtk_chg_type_det.ko -mtk_pd_adapter.ko -mtk_pep40.ko -mtk_pep45.ko -mtk_pd_charging.ko -mtk_pep20.ko -mtk_pep.ko -mtk_charger_framework.ko -rt_pd_manager.ko -mm8013.ko -mt6377-battery.ko -mt6375-battery.ko -pwm-mtk-disp.ko -leds-mtk.ko -leds-mtk-disp.ko -leds-mtk-pwm.ko -rt4831a_drv.ko -extcon-mtk-usb.ko -tcpci_late_sync.ko -cache-parity.ko -usb_meta.ko -mtk_battery_oc_throttling.ko -mtk_low_battery_throttling.ko -pmic_lbat_service.ko -pmic_lvsys_notify.ko -mtk_dynamic_loading_throttling.ko -mtk_pbm.ko -mtk_mdpm.ko -reboot-mode.ko -syscon-reboot-mode.ko -reset-ti-syscon.ko -powerhal_cpu_ctrl.ko -perf_helper.ko -mtk-cqdma.ko -mtk_sync.ko -cfg80211.ko -mac80211.ko -mtk-mbox-mailbox.ko -tinysys-scmi.ko -mtk-mminfra-debug.ko -mtk-mminfra-imax.ko -gt9896s.ko -nt36523n.ko -hx83102j.ko -mtk-socinfo.ko -emi.ko -emi-mpu.ko -mtk_rpmsg_mbox.ko -mtk-mbox.ko -mtk_tinysys_ipi.ko -bus-parity.ko -clk-disable-unused.ko -mtk-pm-domain-disable-unused.ko -arm_dsu_pmu.ko -uload_ind.ko -load_track.ko -sec.ko -leds-gpio.ko -hqsysfs.ko diff --git a/recovery/root/lib/modules/modules.softdep b/recovery/root/lib/modules/modules.softdep deleted file mode 100644 index b5ecbc7..0000000 --- a/recovery/root/lib/modules/modules.softdep +++ /dev/null @@ -1,2 +0,0 @@ -# Soft dependencies extracted from modules themselves. -softdep mt6835_dcm pre:mtk_dcm.ko diff --git a/recovery/root/system/bin/sycamore_keystore2_stage.sh b/recovery/root/system/bin/sycamore_keystore2_stage.sh new file mode 100755 index 0000000..4c97fa8 --- /dev/null +++ b/recovery/root/system/bin/sycamore_keystore2_stage.sh @@ -0,0 +1,36 @@ +#!/system/bin/sh + +SRC=/data/misc/keystore/persistent.sqlite +DIR=/tmp/misc/keystore-sycamore +DST=$DIR/persistent.sqlite + +setprop twrp.user.keystore_stage waiting + +i=0 +while [ ! -s "$SRC" ]; do + i=$((i + 1)) + if [ "$i" -ge 30 ]; then + setprop twrp.user.keystore_stage failed + exit 1 + fi + sleep 1 +done + +mkdir -p "$DIR" || exit 1 +rm -f "$DST" + +if ! cp "$SRC" "$DST"; then + setprop twrp.user.keystore_stage failed + exit 1 +fi + +restorecon "$DST" +chmod 0600 "$DST" + +if [ ! -s "$DST" ]; then + setprop twrp.user.keystore_stage failed + exit 1 +fi + +setprop twrp.user.keystore_stage ready +exit 0 diff --git a/recovery/root/system/etc/init/zz_sycamore_fscryptd.rc b/recovery/root/system/etc/init/zz_sycamore_fscryptd.rc deleted file mode 100644 index e276335..0000000 --- a/recovery/root/system/etc/init/zz_sycamore_fscryptd.rc +++ /dev/null @@ -1,11 +0,0 @@ -# Persistent, crypto-only vold/fscrypt owner for enforcing recovery. -# Explicit seclabel is required because recovery-cpio executables boot as rootfs. -service sycamore_fscryptd /system/bin/sycamore_fscryptd - class core - user root - group root - seclabel u:r:vold:s0 - -on init - restorecon /system/bin/vold_prepare_subdirs - start sycamore_fscryptd diff --git a/recovery/root/system/etc/init/zz_sycamore_keystore2.rc b/recovery/root/system/etc/init/zz_sycamore_keystore2.rc index 6bc8419..b0b3463 100644 --- a/recovery/root/system/etc/init/zz_sycamore_keystore2.rc +++ b/recovery/root/system/etc/init/zz_sycamore_keystore2.rc @@ -1,7 +1,25 @@ -service keystore2 /system/bin/keystore2 /tmp/misc/keystore +service sycamore_keystore2_stage /system/bin/sh /system/bin/sycamore_keystore2_stage.sh + class core + user root + group root + disabled + oneshot + seclabel u:r:recovery:s0 + +service keystore2 /system/bin/keystore2 /tmp/misc/keystore-sycamore override class early_hal user root group keystore readproc log writepid /dev/cpuset/foreground/tasks + disabled seclabel u:r:keystore:s0 + +on property:ro.crypto.type=file + start sycamore_keystore2_stage + +on property:twrp.user.keystore_stage=ready + start keystore2 + +on property:twrp.user.keystore_stage=failed + start keystore2 diff --git a/sepolicy/private/property_contexts b/sepolicy/private/property_contexts index 7683c06..65feaa1 100644 --- a/sepolicy/private/property_contexts +++ b/sepolicy/private/property_contexts @@ -1,2 +1,4 @@ -# R7v9.60: dynamic twrp.user..decrypt state +# Dynamic twrp.user..decrypt state. twrp.user. u:object_r:twrp_user_decrypt_prop:s0 + +vendor.soter.teei. u:object_r:sycamore_soter_teei_prop:s0 diff --git a/sepolicy/public/property.te b/sepolicy/public/property.te index 72daf8c..9693b5d 100644 --- a/sepolicy/public/property.te +++ b/sepolicy/public/property.te @@ -1,3 +1,6 @@ -# R7v9.60: TWRP per-user FBE state shared by vold and recovery. +# TWRP per-user FBE state shared by vold and recovery. system_public_prop(twrp_user_decrypt_prop) + +# MediaTek/Microtrust Soter TEE state published by the native TEE/KeyMint stack. +vendor_internal_prop(sycamore_soter_teei_prop) diff --git a/sepolicy/vendor/file_contexts b/sepolicy/vendor/file_contexts index 2137d21..ce53ca6 100644 --- a/sepolicy/vendor/file_contexts +++ b/sepolicy/vendor/file_contexts @@ -23,4 +23,6 @@ # Recovery-only crypto helper. Recovery cpio starts as rootfs, so init uses an # explicit native-vold seclabel; this exact mapping documents its intended type. -/system/bin/sycamore_fscryptd u:object_r:vold_exec:s0 + +# Sycamore recovery: Keystore2 working database staged on recovery tmpfs +/tmp/misc/keystore-sycamore(/.*)? u:object_r:tmpfs:s0 diff --git a/sepolicy/vendor/sycamore_fscryptd.te b/sepolicy/vendor/sycamore_fscryptd.te deleted file mode 100644 index 7bfbfe1..0000000 --- a/sepolicy/vendor/sycamore_fscryptd.te +++ /dev/null @@ -1,85 +0,0 @@ -# sycamore_fscryptd is staged in recovery cpio but deliberately runs in vold's -# native domain. Grant only immutable rootfs entrypoint/runtime access and the -# private recovery-to-vold Unix-socket connection. -recovery_only(` - allow vold rootfs:file { entrypoint execute getattr open read map }; - allow vold rootfs:dir { getattr search open read }; - # fs_mgr ReadDefaultFstab probes recovery-mounted metadata/DSU state. - # /metadata is forced to sycamore_recovery_metadata_file in recovery. - allow vold sycamore_recovery_metadata_file:dir search; - - # TWRP KeyStorage stages an upgraded KeyMint blob under /tmp/keymaster_key_blob. - # The file is created earlier by recovery metadata decrypt; native vold only - # needs the demonstrated write permission when systemwide fscrypt reuses it. - allow vold tmpfs:file { open write }; - - allow recovery vold:unix_stream_socket connectto; -') - -# R7v9.41: recovery-cpio linker64 remains rootfs; permit only ELF mapping -allow vold_prepare_subdirs rootfs:file { execute getattr map open read }; - -allow hal_gatekeeper_default rootfs:file { execute getattr map open read }; -allow vold_prepare_subdirs rootfs:dir read; - -# R7v9.51: complete stock-style read-side SQLite access to locksettings.db -allow recovery system_data_file:file { getattr ioctl lock open read }; - -# R7v9.58: Gatekeeper recovery-rootfs HAL/library directory enumeration -allow hal_gatekeeper_default rootfs:dir { open read }; - -# R7v9.60: TWRP per-user FBE state published by vold and consumed by recovery. -# Without this property, Parse_Users() skips locked user 0 entirely. - -set_prop(vold, twrp_user_decrypt_prop) -get_prop(recovery, twrp_user_decrypt_prop) -set_prop(recovery, twrp_user_decrypt_prop) - - -# R7v9.61: recovery is a client of the already-running Gatekeeper HAL -# for synthetic-password credential verification. -hal_client_domain(recovery, hal_gatekeeper) - -# R7v9.62: Beanpod Gatekeeper credential verification talks to -# /dev/isee_tee0, labeled teei_client_device in recovery. -allow hal_gatekeeper_default teei_client_device:chr_file { ioctl map open read write }; - -# R7v9.66: recovery submits the Gatekeeper HardwareAuthToken to -# Keystore2's android.security.authorization AIDL service. -allow recovery authorization_service:service_manager find; - -# R7v9.69: Keystore2 operates SQLite's recovery-side persistent database -# plus its journal/WAL/SHM sidecars under /tmp/misc/keystore. -# -# This is one logical SQLite lifecycle permission set rather than one -# permission-per-flash debugging. -allow keystore tmpfs:dir { - add_name - getattr - open - read - remove_name - search - write -}; - -allow keystore tmpfs:file { - create - getattr - ioctl - lock - map - open - read - setattr - unlink - write -}; - -# R7v9.70: Android SQLite probes the backing filesystem with ioctl 0xf50c. -# Ordinary ioctl permission does not authorize command-specific xperms. -allowxperm keystore tmpfs:file ioctl 0xf50c; - -# R7v9.69: recovery submits the Gatekeeper-generated HardwareAuthToken -# through android.security.authorization to Keystore2. -allow recovery keystore:keystore2 add_auth; diff --git a/sepolicy/vendor/sycamore_gatekeeper_recovery.te b/sepolicy/vendor/sycamore_gatekeeper_recovery.te new file mode 100644 index 0000000..ce82d88 --- /dev/null +++ b/sepolicy/vendor/sycamore_gatekeeper_recovery.te @@ -0,0 +1,26 @@ +# Recovery performs synthetic-password credential verification through the +# enforcing Gatekeeper HAL. +hal_client_domain(recovery, hal_gatekeeper) + +# Gatekeeper service/binaries are staged into the recovery rootfs. +allow hal_gatekeeper_default rootfs:file { + execute + getattr + map + open + read +}; + +allow hal_gatekeeper_default rootfs:dir { + open + read +}; + +# Beanpod Gatekeeper talks to the MediaTek TEE client device. +allow hal_gatekeeper_default teei_client_device:chr_file { + ioctl + map + open + read + write +}; diff --git a/sepolicy/vendor/sycamore_keymint_tee_recovery.te b/sepolicy/vendor/sycamore_keymint_tee_recovery.te index e06ed4f..0b4bf6f 100644 --- a/sepolicy/vendor/sycamore_keymint_tee_recovery.te +++ b/sepolicy/vendor/sycamore_keymint_tee_recovery.te @@ -9,5 +9,5 @@ recovery_only(` append getattr ioctl lock map open read watch watch_reads write }; - allow hal_keymint_default property_socket:sock_file write; + set_prop(hal_keymint_default, sycamore_soter_teei_prop) ') diff --git a/sepolicy/vendor/sycamore_keystore_recovery.te b/sepolicy/vendor/sycamore_keystore_recovery.te index 8850a8b..b7f0ad7 100644 --- a/sepolicy/vendor/sycamore_keystore_recovery.te +++ b/sepolicy/vendor/sycamore_keystore_recovery.te @@ -1,6 +1,48 @@ # Keystore2 is staged into the recovery rootfs but runs in its native # AOSP keystore domain. recovery_only(` - allow keystore rootfs:file { entrypoint map read execute getattr open }; - allow keystore rootfs:dir { read open }; + allow keystore rootfs:file { + entrypoint + execute + getattr + map + open + read + }; + + allow keystore rootfs:dir { + open + read + }; +') + +# Recovery-side Keystore2 SQLite database and sidecars. +allow keystore tmpfs:dir { + add_name + getattr + open + read + remove_name + search + write +}; + +allow keystore tmpfs:file { + create + getattr + ioctl + lock + map + open + read + setattr + unlink + write +}; + +allowxperm keystore tmpfs:file ioctl 0xf50c; + +# Recovery-side Keystore2 staging publishes completion state to init. +recovery_only(` + set_prop(recovery, twrp_user_decrypt_prop) ') diff --git a/sepolicy/vendor/sycamore_recovery.te b/sepolicy/vendor/sycamore_recovery.te deleted file mode 100644 index 8db7768..0000000 --- a/sepolicy/vendor/sycamore_recovery.te +++ /dev/null @@ -1,7 +0,0 @@ - -# TWRP libpixelflinger/codeflinger creates an executable anonymous code cache. -# Required when the recovery domain is enforcing. -recovery_only(` - allow recovery self:process execmem; - allow recovery ashmem_libcutils_device:chr_file execute; -') diff --git a/sepolicy/vendor/sycamore_recovery_binder_client.te b/sepolicy/vendor/sycamore_recovery_binder_client.te index 25707aa..1460f3e 100644 --- a/sepolicy/vendor/sycamore_recovery_binder_client.te +++ b/sepolicy/vendor/sycamore_recovery_binder_client.te @@ -4,7 +4,5 @@ recovery_only(` binder_use(recovery) - allow recovery keystore_service:service_manager find; - allow recovery keystore:binder call; allow keystore recovery:binder transfer; ') diff --git a/sepolicy/vendor/sycamore_recovery_fscrypt.te b/sepolicy/vendor/sycamore_recovery_fscrypt.te deleted file mode 100644 index 3748ebc..0000000 --- a/sepolicy/vendor/sycamore_recovery_fscrypt.te +++ /dev/null @@ -1,19 +0,0 @@ -# Recovery performs vold/fscrypt duties while bringing up FBE. -# Permissions are added only as demonstrated necessary by enforcing runtime. - -recovery_only(` - # TWRP executes the vold FBE setup in recovery. ro.crypto.type=file triggers - # the device-local init install_keyring action before fscrypt key install. - set_prop(recovery, vold_status_prop) - - # installProvisioningKey() searches and inserts fscrypt-provisioning keys - # into the init-created shared fscrypt session keyring. - allow recovery init:key { search setattr write }; - - allow recovery unencrypted_data_file:dir { getattr search }; - allow recovery unencrypted_data_file:file { getattr open read }; - - # installFsKeyringKey() opens /data before FS_IOC_ADD_ENCRYPTION_KEY. - allow recovery system_data_root_file:dir { read open ioctl }; - allowxperm recovery system_data_root_file:dir ioctl 0x6617; -') diff --git a/sepolicy/vendor/sycamore_recovery_metadata.te b/sepolicy/vendor/sycamore_recovery_metadata.te index e8fa50d..52db19c 100644 --- a/sepolicy/vendor/sycamore_recovery_metadata.te +++ b/sepolicy/vendor/sycamore_recovery_metadata.te @@ -1,8 +1,3 @@ # Recovery-only view of the metadata filesystem. The context= mount option # changes the in-memory mount view without relabeling persistent key files. type sycamore_recovery_metadata_file, fs_type, contextmount_type; - -recovery_only(` - allow recovery sycamore_recovery_metadata_file:dir { getattr search }; - allow recovery sycamore_recovery_metadata_file:file { getattr open read }; -') diff --git a/sepolicy/vendor/sycamore_recovery_metadata_mount.te b/sepolicy/vendor/sycamore_recovery_metadata_mount.te deleted file mode 100644 index 00bf558..0000000 --- a/sepolicy/vendor/sycamore_recovery_metadata_mount.te +++ /dev/null @@ -1,7 +0,0 @@ -# Recovery performs vold metadata-encryption duties in-process. -# MetadataCrypt.cpp temporarily sets the fsck execution context before -# mounting metadata-encrypted /data. - -recovery_only(` - allow recovery self:process setexec; -') diff --git a/sepolicy/vendor/sycamore_recovery_vold_key.te b/sepolicy/vendor/sycamore_recovery_vold_key.te deleted file mode 100644 index 545ab7f..0000000 --- a/sepolicy/vendor/sycamore_recovery_vold_key.te +++ /dev/null @@ -1,11 +0,0 @@ -# Recovery performs vold/fscrypt duties during metadata-encrypted /data mount. -# Grant only the stock vold Keystore2 key permissions proven necessary by -# enforcing runtime. - -recovery_only(` - allow recovery vold_key:keystore2_key { - convert_storage_key_to_ephemeral - manage_blob - use - }; -') diff --git a/sepolicy/vendor/sycamore_vold_prepare_subdirs_recovery.te b/sepolicy/vendor/sycamore_vold_prepare_subdirs_recovery.te new file mode 100644 index 0000000..cfd9645 --- /dev/null +++ b/sepolicy/vendor/sycamore_vold_prepare_subdirs_recovery.te @@ -0,0 +1,11 @@ +# Stock fscrypt_prepare_user_storage() executes vold_prepare_subdirs from the +# recovery rootfs. Keep the enforcing helper domain able to map that binary. +allow vold_prepare_subdirs rootfs:file { + execute + getattr + map + open + read +}; + +allow vold_prepare_subdirs rootfs:dir read; diff --git a/sepolicy/vendor/teei_device.te b/sepolicy/vendor/teei_device.te index 3b94e4d..9b38764 100644 --- a/sepolicy/vendor/teei_device.te +++ b/sepolicy/vendor/teei_device.te @@ -7,9 +7,6 @@ type ut_keymaster_device, dev_type; type teei_rpmb_device, dev_type; type utr_tui_device, dev_type; -# V18.1 diagnostic only: keep global recovery enforcing while allowing the -# production tee domain to expose any remaining recovery-rootfs AVC gaps. -permissive tee; # Permit only the production tee domain to use these device interfaces. The # daemon receives SYS_RAWIO from init and no other Linux capability. @@ -21,3 +18,17 @@ allow tee teei_fp_device:chr_file rw_file_perms; allow tee ut_keymaster_device:chr_file rw_file_perms; allow tee teei_rpmb_device:chr_file rw_file_perms; allow tee utr_tui_device:chr_file rw_file_perms; + +# Recovery cpio leaves the dynamic linker and runtime libraries labeled rootfs. +# teei_daemon remains in the native enforcing tee domain and needs immutable +# ELF traversal/mapping access to execute from the recovery environment. +recovery_only(` + allow tee rootfs:dir { getattr open read search }; + allow tee rootfs:file { execute getattr map open read }; +') + +# Microtrust TEE publishes vendor.soter.teei.init; init reacts to that state +# while KeyMint publishes the corresponding km.init state. +recovery_only(` + set_prop(tee, sycamore_soter_teei_prop) +') diff --git a/tools/assemble_vendor_boot.sh b/tools/assemble_vendor_boot.sh index 441501b..2d36b6c 100755 --- a/tools/assemble_vendor_boot.sh +++ b/tools/assemble_vendor_boot.sh @@ -58,7 +58,7 @@ verify_hash() { # TWRP's relink phony targets express their source modules as order-only # dependencies. A rebuilt executable or library can therefore leave an older -# copy in recovery/root. Refresh this diagnostic pair from their canonical +# copy in recovery/root. Refresh this critical pair from their canonical # build outputs immediately before archiving, and fail closed on either hash. verify_hash "$keystore2_source" "$expected_keystore2" verify_hash "$keystore2_crypto_source" "$expected_keystore2_crypto"