Adapt for Mi Mix 4

Signed-off-by: Jyotiraditya Panda <jyotiraditya@aospa.co>
This commit is contained in:
Jyotiraditya Panda 2021-09-21 15:41:24 +05:30
parent a586911fad
commit 1ae73b4597
42 changed files with 257 additions and 178 deletions

View file

@ -16,7 +16,7 @@
LOCAL_PATH := $(call my-dir) LOCAL_PATH := $(call my-dir)
ifeq ($(TARGET_DEVICE), renoir) ifeq ($(TARGET_DEVICE), odin)
subdir_makefiles=$(call first-makefiles-under,$(LOCAL_PATH)) subdir_makefiles=$(call first-makefiles-under,$(LOCAL_PATH))
$(foreach mk,$(subdir_makefiles),$(info including $(mk) ...)$(eval include $(mk))) $(foreach mk,$(subdir_makefiles),$(info including $(mk) ...)$(eval include $(mk)))

View file

@ -15,4 +15,4 @@
# #
PRODUCT_MAKEFILES := \ PRODUCT_MAKEFILES := \
$(LOCAL_DIR)/twrp_renoir.mk $(LOCAL_DIR)/twrp_odin.mk

View file

@ -14,7 +14,7 @@
# limitations under the License. # limitations under the License.
# #
DEVICE_PATH := device/xiaomi/renoir DEVICE_PATH := device/xiaomi/odin
# For building with minimal manifest # For building with minimal manifest
ALLOW_MISSING_DEPENDENCIES := true ALLOW_MISSING_DEPENDENCIES := true
@ -38,7 +38,7 @@ TARGET_2ND_CPU_VARIANT_RUNTIME := cortex-a55
DEXPREOPT_GENERATE_APEX_IMAGE := true DEXPREOPT_GENERATE_APEX_IMAGE := true
# Assert # Assert
TARGET_OTA_ASSERT_DEVICE := renoir TARGET_OTA_ASSERT_DEVICE := odin
# A/B # A/B
AB_OTA_UPDATER := true AB_OTA_UPDATER := true
@ -85,8 +85,8 @@ BOARD_KERNEL_CMDLINE += video=vfb:640x400,bpp=32,memsize=3072000
KERNEL_LD := LD=ld.lld KERNEL_LD := LD=ld.lld
TARGET_KERNEL_ADDITIONAL_FLAGS := DTC_EXT=$(shell pwd)/prebuilts/misc/linux-x86/dtc/dtc TARGET_KERNEL_ADDITIONAL_FLAGS := DTC_EXT=$(shell pwd)/prebuilts/misc/linux-x86/dtc/dtc
TARGET_KERNEL_CLANG_COMPILE := true TARGET_KERNEL_CLANG_COMPILE := true
TARGET_KERNEL_CONFIG := renoir_defconfig TARGET_KERNEL_CONFIG := vendor/odin-qgki_defconfig
TARGET_KERNEL_SOURCE := kernel/xiaomi/renoir TARGET_KERNEL_SOURCE := kernel/xiaomi/odin
NEED_KERNEL_MODULE_RECOVERY := true NEED_KERNEL_MODULE_RECOVERY := true
# Metadata # Metadata

View file

@ -17,12 +17,12 @@
cc_library { cc_library {
name: "bootctrl.lahaina", name: "bootctrl.lahaina",
defaults: ["bootctrl_hal_defaults"], defaults: ["bootctrl_hal_defaults"],
static_libs: ["libgptutils.renoir"], static_libs: ["libgptutils.odin"],
} }
cc_library_shared { cc_library_shared {
name: "android.hardware.boot@1.1-impl-qti", name: "android.hardware.boot@1.1-impl-qti",
stem: "android.hardware.boot@1.0-impl-1.1-qti", stem: "android.hardware.boot@1.0-impl-1.1-qti",
defaults: ["android.hardware.boot@1.1-impl-qti_defaults"], defaults: ["android.hardware.boot@1.1-impl-qti_defaults"],
static_libs: ["libgptutils.renoir"], static_libs: ["libgptutils.odin"],
} }

View file

@ -26,7 +26,7 @@ $(call inherit-product, $(SRC_TARGET_DIR)/product/virtual_ab_ota.mk)
# Installs gsi keys into ramdisk, to boot a developer GSI with verified boot. # Installs gsi keys into ramdisk, to boot a developer GSI with verified boot.
$(call inherit-product, $(SRC_TARGET_DIR)/product/gsi_keys.mk) $(call inherit-product, $(SRC_TARGET_DIR)/product/gsi_keys.mk)
LOCAL_PATH := device/xiaomi/renoir LOCAL_PATH := device/xiaomi/odin
# API # API
PRODUCT_SHIPPING_API_LEVEL := 30 PRODUCT_SHIPPING_API_LEVEL := 30
@ -88,6 +88,7 @@ TW_INCLUDE_RESETPROP := true
TW_INCLUDE_REPACKTOOLS := true TW_INCLUDE_REPACKTOOLS := true
TW_INPUT_BLACKLIST := "hbtp_vm" TW_INPUT_BLACKLIST := "hbtp_vm"
TW_BRIGHTNESS_PATH := "/sys/class/backlight/panel0-backlight/brightness" TW_BRIGHTNESS_PATH := "/sys/class/backlight/panel0-backlight/brightness"
TARGET_USE_CUSTOM_LUN_FILE_PATH := /config/usb_gadget/g1/functions/mass_storage.0/lun.%d/file
TW_Y_OFFSET := 80 TW_Y_OFFSET := 80
TW_H_OFFSET := -80 TW_H_OFFSET := -80
TWRP_INCLUDE_LOGCAT := true TWRP_INCLUDE_LOGCAT := true
@ -120,7 +121,7 @@ RECOVERY_LIBRARY_SOURCE_FILES += \
$(TARGET_OUT_SYSTEM_EXT_SHARED_LIBRARIES)/vendor.display.config@2.0.so $(TARGET_OUT_SYSTEM_EXT_SHARED_LIBRARIES)/vendor.display.config@2.0.so
PRODUCT_COPY_FILES += \ PRODUCT_COPY_FILES += \
$(OUT_DIR)/target/product/renoir/obj/SHARED_LIBRARIES/libandroidicu_intermediates/libandroidicu.so:$(TARGET_COPY_OUT_RECOVERY)/root/system/lib64/libandroidicu.so $(OUT_DIR)/target/product/odin/obj/SHARED_LIBRARIES/libandroidicu_intermediates/libandroidicu.so:$(TARGET_COPY_OUT_RECOVERY)/root/system/lib64/libandroidicu.so
PRODUCT_PACKAGES += \ PRODUCT_PACKAGES += \
qcom_decrypt \ qcom_decrypt \

View file

@ -16,7 +16,7 @@
cc_library { cc_library {
name: "libgptutils.renoir", name: "libgptutils.odin",
vendor: true, vendor: true,
recovery_available: true, recovery_available: true,
shared_libs: [ shared_libs: [

View file

@ -36,10 +36,15 @@
#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags> #<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
system /system ext4 ro,barrier=1,discard wait,slotselect,avb=vbmeta_system,logical,first_stage_mount,avb_keys=/avb/q-gsi.avbpubkey:/avb/r-gsi.avbpubkey:/avb/s-gsi.avbpubkey system /system ext4 ro,barrier=1,discard wait,slotselect,avb=vbmeta_system,logical,first_stage_mount,avb_keys=/avb/q-gsi.avbpubkey:/avb/r-gsi.avbpubkey:/avb/s-gsi.avbpubkey
system /system erofs ro wait,slotselect,avb=vbmeta_system,logical,first_stage_mount,avb_keys=/avb/q-gsi.avbpubkey:/avb/r-gsi.avbpubkey:/avb/s-gsi.avbpubkey
system_ext /system_ext ext4 ro,barrier=1,discard wait,slotselect,avb=vbmeta_system,logical,first_stage_mount system_ext /system_ext ext4 ro,barrier=1,discard wait,slotselect,avb=vbmeta_system,logical,first_stage_mount
system_ext /system_ext erofs ro wait,slotselect,avb=vbmeta_system,logical,first_stage_mount
product /product ext4 ro,barrier=1,discard wait,slotselect,avb=vbmeta_system,logical,first_stage_mount product /product ext4 ro,barrier=1,discard wait,slotselect,avb=vbmeta_system,logical,first_stage_mount
product /product erofs ro wait,slotselect,avb=vbmeta_system,logical,first_stage_mount
vendor /vendor ext4 ro,barrier=1,discard wait,slotselect,avb,logical,first_stage_mount vendor /vendor ext4 ro,barrier=1,discard wait,slotselect,avb,logical,first_stage_mount
vendor /vendor erofs ro wait,slotselect,avb,logical,first_stage_mount
odm /odm ext4 ro,barrier=1,discard wait,slotselect,avb,logical,first_stage_mount odm /odm ext4 ro,barrier=1,discard wait,slotselect,avb,logical,first_stage_mount
odm /odm erofs ro wait,slotselect,avb,logical,first_stage_mount
/dev/block/by-name/metadata /metadata ext4 noatime,nosuid,nodev,discard wait,check,formattable,first_stage_mount /dev/block/by-name/metadata /metadata ext4 noatime,nosuid,nodev,discard wait,check,formattable,first_stage_mount
/dev/block/bootdevice/by-name/userdata /data f2fs noatime,nosuid,nodev,discard,inlinecrypt,reserve_root=32768,resgid=1065,fsync_mode=nobarrier latemount,wait,check,formattable,fileencryption=aes-256-xts:aes-256-cts:v2+inlinecrypt_optimized+wrappedkey_v0,keydirectory=/metadata/vold/metadata_encryption,metadata_encryption=aes-256-xts:wrappedkey_v0,quota,reservedsize=512M,sysfs_path=/sys/devices/platform/soc/1d84000.ufshc,checkpoint=fs /dev/block/bootdevice/by-name/userdata /data f2fs noatime,nosuid,nodev,discard,inlinecrypt,reserve_root=32768,resgid=1065,fsync_mode=nobarrier latemount,wait,check,formattable,fileencryption=aes-256-xts:aes-256-cts:v2+inlinecrypt_optimized+wrappedkey_v0,keydirectory=/metadata/vold/metadata_encryption,metadata_encryption=aes-256-xts:wrappedkey_v0,quota,reservedsize=512M,sysfs_path=/sys/devices/platform/soc/1d84000.ufshc,checkpoint=fs
/dev/block/bootdevice/by-name/misc /misc emmc defaults defaults /dev/block/bootdevice/by-name/misc /misc emmc defaults defaults

View file

@ -25,139 +25,127 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# #
on boot on early-init
write /sys/class/android_usb/android0/iSerial ${ro.serialno} setprop sys.usb.configfs 0
on init
mkdir /config
mount configfs none /config mount configfs none /config
mkdir /config/usb_gadget/g1 0770 mkdir /config/usb_gadget/g1 0770 shell shell
mkdir /config/usb_gadget/g2 0770
mkdir /config/usb_gadget/g1/strings/0x409 0770
mkdir /config/usb_gadget/g2/strings/0x409 0770
write /config/usb_gadget/g1/bcdUSB 0x0200 write /config/usb_gadget/g1/bcdUSB 0x0200
write /config/usb_gadget/g2/bcdUSB 0x0200 write /config/usb_gadget/g1/idVendor 0x18d1
write /config/usb_gadget/g1/os_desc/use 1 write /config/usb_gadget/g1/idProduct 0xd001
mkdir /config/usb_gadget/g1/strings/0x409 0770 shell shell
write /config/usb_gadget/g1/strings/0x409/serialnumber ${ro.serialno} write /config/usb_gadget/g1/strings/0x409/serialnumber ${ro.serialno}
write /config/usb_gadget/g2/strings/0x409/serialnumber ${ro.serialno}
write /config/usb_gadget/g1/strings/0x409/manufacturer ${ro.product.manufacturer} write /config/usb_gadget/g1/strings/0x409/manufacturer ${ro.product.manufacturer}
write /config/usb_gadget/g2/strings/0x409/manufacturer ${ro.product.manufacturer}
write /config/usb_gadget/g1/strings/0x409/product ${ro.product.model} write /config/usb_gadget/g1/strings/0x409/product ${ro.product.model}
write /config/usb_gadget/g2/strings/0x409/product ${ro.product.model} mkdir /config/usb_gadget/g1/functions/ffs.adb
mkdir /config/usb_gadget/g1/functions/mass_storage.0 mkdir /config/usb_gadget/g1/functions/mass_storage.0
mkdir /config/usb_gadget/g1/functions/mtp.gs0 mkdir /config/usb_gadget/g1/functions/mtp.gs0
mkdir /config/usb_gadget/g1/functions/ptp.gs1 write /config/usb_gadget/g1/os_desc/use 1
mkdir /config/usb_gadget/g1/functions/accessory.gs2
mkdir /config/usb_gadget/g1/functions/audio_source.gs3
mkdir /config/usb_gadget/g1/functions/midi.gs5
mkdir /config/usb_gadget/g1/functions/ffs.adb
mkdir /config/usb_gadget/g1/functions/ffs.diag
mkdir /config/usb_gadget/g1/functions/ffs.diag_mdm
mkdir /config/usb_gadget/g1/functions/ffs.diag_mdm2
mkdir /config/usb_gadget/g1/functions/diag.diag
mkdir /config/usb_gadget/g1/functions/diag.diag_mdm
mkdir /config/usb_gadget/g1/functions/diag.diag_mdm2
mkdir /config/usb_gadget/g1/functions/cser.dun.0
mkdir /config/usb_gadget/g1/functions/cser.nmea.1
mkdir /config/usb_gadget/g1/functions/cser.dun.2
mkdir /config/usb_gadget/g1/functions/gsi.rmnet
mkdir /config/usb_gadget/g1/functions/gsi.rndis
mkdir /config/usb_gadget/g1/functions/gsi.dpl
mkdir /config/usb_gadget/g1/functions/qdss.qdss
mkdir /config/usb_gadget/g1/functions/qdss.qdss_mdm
mkdir /config/usb_gadget/g1/functions/rndis_bam.rndis
mkdir /config/usb_gadget/g1/functions/rndis.rndis
mkdir /config/usb_gadget/g1/functions/rmnet_bam.rmnet
mkdir /config/usb_gadget/g1/functions/rmnet_bam.dpl
mkdir /config/usb_gadget/g1/functions/rmnet_bam.rmnet_bam_dmux
mkdir /config/usb_gadget/g1/functions/rmnet_bam.dpl_bam_dmux
mkdir /config/usb_gadget/g1/functions/ncm.0
mkdir /config/usb_gadget/g1/functions/ccid.ccid
mkdir /config/usb_gadget/g1/functions/uac2.0
mkdir /config/usb_gadget/g1/functions/uvc.0
mkdir /config/usb_gadget/g1/configs/b.1 0770
mkdir /config/usb_gadget/g2/configs/b.1 0770
mkdir /config/usb_gadget/g1/configs/b.1/strings/0x409 0770
mkdir /config/usb_gadget/g2/configs/b.1/strings/0x409 0770
write /config/usb_gadget/g1/configs/b.1/MaxPower 900
write /config/usb_gadget/g1/os_desc/b_vendor_code 0x1 write /config/usb_gadget/g1/os_desc/b_vendor_code 0x1
write /config/usb_gadget/g1/os_desc/qw_sign "MSFT100" write /config/usb_gadget/g1/os_desc/qw_sign "MSFT100"
write /config/usb_gadget/g1/functions/diag.diag/serial ${ro.serialno} setprop sys.usb.configfs 1
symlink /config/usb_gadget/g1/configs/b.1 /config/usb_gadget/g1/os_desc/b.1
mkdir /dev/usb-ffs 0775 shell system on boot
mkdir /dev/usb-ffs/adb 0770 shell system setprop sys.usb.mtp.device_type 3
mount functionfs adb /dev/usb-ffs/adb uid=2000,gid=1000,rmode=0770,fmode=0660 setprop vendor.usb.product_string ${ro.product.model}
write /sys/class/android_usb/android0/f_ffs/aliases adb write /config/usb_gadget/g1/strings/0x409/product ${vendor.usb.product_string}
write /config/usb_gadget/g2/strings/0x409/product ${vendor.usb.product_string}
on boot && property:vendor.usb.use_ffs_mtp=1
mkdir /config/usb_gadget/g1/functions/ffs.mtp
mkdir /dev/usb-ffs/mtp 0770 mtp mtp
mount functionfs mtp /dev/usb-ffs/mtp rmode=0770,fmode=0660,uid=1024,gid=1024,no_disconnect=1
on property:ro.boot.usbconfigfs=false
setprop sys.usb.configfs 0
on property:ro.boot.recover_usb=*
write /sys/bus/platform/devices/a600000.ssusb/mode "peripheral"
on property:ro.boot.usbcontroller=*
setprop sys.usb.controller ${ro.boot.usbcontroller}
setprop vendor.usb.controller ${sys.usb.controller} setprop vendor.usb.controller ${sys.usb.controller}
enable vendor.qcom-usb-sh write /sys/class/udc/${ro.boot.usbcontroller}/device/../mode peripheral
mkdir /config/usb_gadget/g1/functions/ffs.mtp
mkdir /config/usb_gadget/g1/functions/ffs.ptp
mkdir /dev/usb-ffs/mtp 0770 mtp mtp
mount functionfs mtp /dev/usb-ffs/mtp rmode=0770,fmode=0660,uid=1024,gid=1024,no_disconnect=1
mkdir /dev/usb-ffs/ptp 0770 mtp mtp
mount functionfs ptp /dev/usb-ffs/ptp rmode=0770,fmode=0660,uid=1024,gid=1024,no_disconnect=1
on property:sys.usb.config=none on property:sys.usb.ffs.ready=1
write /config/usb_gadget/g1/UDC "none" mkdir /config/usb_gadget/g1/configs/b.1 0777 shell shell
stop adbd symlink /config/usb_gadget/g1/configs/b.1 /config/usb_gadget/g1/os_desc/b.1
setprop sys.usb.ffs.ready 0 mkdir /config/usb_gadget/g1/configs/b.1/strings/0x409 0770 shell shell
setprop sys.usb.ffs.mtp.ready 0
write /config/usb_gadget/g1/bDeviceClass 0
write /config/usb_gadget/g1/bDeviceSubClass 0
write /config/usb_gadget/g1/bDeviceProtocol 0
rm /config/usb_gadget/g1/configs/b.1/f1
rm /config/usb_gadget/g1/configs/b.1/f2
rm /config/usb_gadget/g1/configs/b.1/f3
rm /config/usb_gadget/g1/configs/b.1/f4
rm /config/usb_gadget/g1/configs/b.1/f5
rmdir /config/usb_gadget/g1/functions/rndis.gs4
symlink /config/usb_gadget/g1/functions/ffs.mtp /config/usb_gadget/g1/configs/b.1/f1
symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=adb
start adbd
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=adb
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "adb" write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "adb"
rm /config/usb_gadget/g1/configs/b.1/f1
rm /config/usb_gadget/g1/configs/b.1/f2
rm /config/usb_gadget/g1/configs/b.1/f3
rm /config/usb_gadget/g1/configs/b.1/f4
rm /config/usb_gadget/g1/configs/b.1/f5
write /config/usb_gadget/g1/idVendor 0x18d1
write /config/usb_gadget/g1/idProduct 0x4ee7
symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f1 symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f1
write /config/usb_gadget/g1/UDC ${sys.usb.controller} write /config/usb_gadget/g1/UDC ${sys.usb.controller}
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=mtp on property:sys.usb.config=mtp && property:vendor.usb.use_ffs_mtp=1 && property:sys.usb.configfs=1
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "mtp"
rm /config/usb_gadget/g1/configs/b.1/f1 rm /config/usb_gadget/g1/configs/b.1/f1
symlink /config/usb_gadget/g1/functions/ffs.mtp /config/usb_gadget/g1/configs/b.1/f1
on property:sys.usb.config=mtp && property:sys.usb.configfs=1
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "mtp"
rm /config/usb_gadget/g1/configs/b.1/f2 rm /config/usb_gadget/g1/configs/b.1/f2
rm /config/usb_gadget/g1/configs/b.1/f3 rm /config/usb_gadget/g1/configs/b.1/f3
rm /config/usb_gadget/g1/configs/b.1/f4 rm /config/usb_gadget/g1/configs/b.1/f4
rm /config/usb_gadget/g1/configs/b.1/f5 rm /config/usb_gadget/g1/configs/b.1/f5
write /config/usb_gadget/g1/idVendor 0x2A70 write /config/usb_gadget/g1/idVendor 0x0B05
write /config/usb_gadget/g1/idProduct 0XF003 write /config/usb_gadget/g1/idProduct 0x7772
symlink /config/usb_gadget/g1/functions/ffs.mtp /config/usb_gadget/g1/configs/b.1/f1
symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2
write /config/usb_gadget/g1/UDC ${sys.usb.controller} write /config/usb_gadget/g1/UDC ${sys.usb.controller}
setprop sys.usb.state ${sys.usb.config} setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=mtp,adb on property:sys.usb.config=mtp,adb && property:sys.usb.configfs=1
start adbd start adbd
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=mtp,adb on property:sys.usb.config=mtp,adb && property:vendor.usb.use_ffs_mtp=1 && property:sys.usb.configfs=1
rm /config/usb_gadget/g1/configs/b.1/f1
rm /config/usb_gadget/g1/configs/b.1/f2
symlink /config/usb_gadget/g1/functions/ffs.mtp /config/usb_gadget/g1/configs/b.1/f1
symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=mtp,adb && property:sys.usb.configfs=1
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "mtp_adb" write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "mtp_adb"
rm /config/usb_gadget/g1/configs/b.1/f3
rm /config/usb_gadget/g1/configs/b.1/f4
rm /config/usb_gadget/g1/configs/b.1/f5
write /config/usb_gadget/g1/idVendor 0x0B05
write /config/usb_gadget/g1/idProduct 0x7773
write /config/usb_gadget/g1/UDC ${sys.usb.controller}
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=mass_storage && property:sys.usb.configfs=1
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "msc"
rm /config/usb_gadget/g1/configs/b.1/f1 rm /config/usb_gadget/g1/configs/b.1/f1
rm /config/usb_gadget/g1/configs/b.1/f2 rm /config/usb_gadget/g1/configs/b.1/f2
rm /config/usb_gadget/g1/configs/b.1/f3 rm /config/usb_gadget/g1/configs/b.1/f3
rm /config/usb_gadget/g1/configs/b.1/f4 rm /config/usb_gadget/g1/configs/b.1/f4
rm /config/usb_gadget/g1/configs/b.1/f5 rm /config/usb_gadget/g1/configs/b.1/f5
write /config/usb_gadget/g1/idVendor 0x2A70 rm /config/usb_gadget/g1/configs/b.1/f6
write /config/usb_gadget/g1/idProduct 0x9011 rm /config/usb_gadget/g1/configs/b.1/f7
symlink /config/usb_gadget/g1/functions/ffs.mtp /config/usb_gadget/g1/configs/b.1/f1 rm /config/usb_gadget/g1/configs/b.1/f8
symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2 rm /config/usb_gadget/g1/configs/b.1/f9
write /config/usb_gadget/g1/idVendor 0x05C6
write /config/usb_gadget/g1/idProduct 0xF000
symlink /config/usb_gadget/g1/functions/mass_storage.0 /config/usb_gadget/g1/configs/b.1/f1
write /config/usb_gadget/g1/UDC ${sys.usb.controller}
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=mass_storage,adb && property:sys.usb.configfs=1
start adbd
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=mass_storage,adb && property:sys.usb.configfs=1
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "adb_msc"
rm /config/usb_gadget/g1/configs/b.1/f1
rm /config/usb_gadget/g1/configs/b.1/f2
rm /config/usb_gadget/g1/configs/b.1/f3
rm /config/usb_gadget/g1/configs/b.1/f4
rm /config/usb_gadget/g1/configs/b.1/f5
rm /config/usb_gadget/g1/configs/b.1/f6
rm /config/usb_gadget/g1/configs/b.1/f7
rm /config/usb_gadget/g1/configs/b.1/f8
rm /config/usb_gadget/g1/configs/b.1/f9
write /config/usb_gadget/g1/idVendor 0x05C6
write /config/usb_gadget/g1/idProduct 0x9015
symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f1
symlink /config/usb_gadget/g1/functions/mass_storage.0 /config/usb_gadget/g1/configs/b.1/f2
write /config/usb_gadget/g1/UDC ${sys.usb.controller} write /config/usb_gadget/g1/UDC ${sys.usb.controller}
setprop sys.usb.state ${sys.usb.config} setprop sys.usb.state ${sys.usb.config}

View file

@ -1,54 +1,45 @@
#!/system/bin/sh #!/system/bin/sh
# find necessary modules for touchscreen, etc. to ensure no mismatch with kernel # find necessary modules for touchscreen, etc. to ensure no mismatch with kernel
copy-modules() copy-modules() {
{ if grep -Fq twrpfastboot /proc/cmdline; then
if grep -Fq twrpfastboot /proc/cmdline
then
echo "using ramdisk modules (fastboot boot)" echo "using ramdisk modules (fastboot boot)"
return return
fi fi
if [ -f /lib/modules/modules.load.recovery -a -f /lib/modules/xiaomi_touch.ko ] && lsmod | grep -Fq xiaomi_touch if [ -f /lib/modules/modules.load.recovery ] && [ -f /lib/modules/xiaomi_touch.ko ] && lsmod | grep -Fq xiaomi_touch; then
then
echo "using vendor_boot modules" echo "using vendor_boot modules"
exit 0 exit 0
fi fi
suffix=$(getprop ro.boot.slot_suffix) suffix=$(getprop ro.boot.slot_suffix)
if [ -z "$suffix" ] if [ -z "$suffix" ]; then
then
suffix="_$(getprop ro.boot.slot)" suffix="_$(getprop ro.boot.slot)"
fi fi
echo "using vendor$suffix modules" echo "using vendor$suffix modules"
mkdir /v mkdir /v
mount -t ext4 -o ro /dev/block/mapper/vendor$suffix /v mount -t ext4 -o ro /dev/block/mapper/vendor"$suffix" /v
rm -f /vendor/lib/modules/* rm -f /vendor/lib/modules/*
cp -afR /v/lib/modules/* /vendor/lib/modules/ cp -afR /v/lib/modules/* /vendor/lib/modules/
umount /v umount /v
rmdir /v rmdir /v
} }
install-touch() install-touch() {
{ if [ -f /lib/modules/modules.load.recovery ] && [ -f /lib/modules/xiaomi_touch.ko ] && lsmod | grep -Fq xiaomi_touch; then
if [ -f /lib/modules/modules.load.recovery -a -f /lib/modules/xiaomi_touch.ko ] && lsmod | grep -Fq xiaomi_touch
then
echo "vendor_boot touchscreen modules already loaded" echo "vendor_boot touchscreen modules already loaded"
exit 0 exit 0
fi fi
if [ ! -f /vendor/lib/modules/xiaomi_touch.ko ] if [ ! -f /vendor/lib/modules/xiaomi_touch.ko ]; then
then
echo "! vendor touchscreen modules not found" echo "! vendor touchscreen modules not found"
exit 1 exit 1
fi fi
echo "loading vendor touchscreen modules" echo "loading vendor touchscreen modules"
for module in $(modprobe -D -d /vendor/lib/modules goodix_core focaltech_touch | grep modules) for module in $(modprobe -D -d /vendor/lib/modules msm_drm fts_touch_spi | grep modules); do
do insmod /vendor/lib/modules/"$(basename "$module")"
insmod /vendor/lib/modules/$(basename $module)
done done
} }
@ -56,6 +47,3 @@ copy-modules
install-touch install-touch
exit 0 exit 0

View file

@ -36,10 +36,15 @@
#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags> #<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
system /system ext4 ro,barrier=1,discard wait,slotselect system /system ext4 ro,barrier=1,discard wait,slotselect
system /system erofs ro wait,slotselect
system_ext /system_ext ext4 ro,barrier=1,discard wait,slotselect system_ext /system_ext ext4 ro,barrier=1,discard wait,slotselect
system_ext /system_ext erofs ro wait,slotselect
product /product ext4 ro,barrier=1,discard wait,slotselect product /product ext4 ro,barrier=1,discard wait,slotselect
product /product erofs ro wait,slotselect
vendor /vendor ext4 ro,barrier=1,discard wait,slotselect vendor /vendor ext4 ro,barrier=1,discard wait,slotselect
vendor /vendor erofs ro wait,slotselect
odm /odm ext4 ro,barrier=1,discard wait,slotselect odm /odm ext4 ro,barrier=1,discard wait,slotselect
odm /odm erofs ro wait,slotselect
/dev/block/by-name/metadata /metadata ext4 noatime,nosuid,nodev,discard wait,check,formattable,first_stage_mount /dev/block/by-name/metadata /metadata ext4 noatime,nosuid,nodev,discard wait,check,formattable,first_stage_mount
/dev/block/bootdevice/by-name/userdata /data f2fs noatime,nosuid,nodev,nodiscard,inlinecrypt,reserve_root=32768,resgid=1065,fsync_mode=nobarrier latemount,wait,check,formattable,fileencryption=aes-256-xts:aes-256-cts:v2+inlinecrypt_optimized+wrappedkey_v0,keydirectory=/metadata/vold/metadata_encryption,metadata_encryption=aes-256-xts:wrappedkey_v0,quota,reservedsize=128M,sysfs_path=/sys/devices/platform/soc/1d84000.ufshc,checkpoint=fs /dev/block/bootdevice/by-name/userdata /data f2fs noatime,nosuid,nodev,nodiscard,inlinecrypt,reserve_root=32768,resgid=1065,fsync_mode=nobarrier latemount,wait,check,formattable,fileencryption=aes-256-xts:aes-256-cts:v2+inlinecrypt_optimized+wrappedkey_v0,keydirectory=/metadata/vold/metadata_encryption,metadata_encryption=aes-256-xts:wrappedkey_v0,quota,reservedsize=128M,sysfs_path=/sys/devices/platform/soc/1d84000.ufshc,checkpoint=fs
/dev/block/bootdevice/by-name/misc /misc emmc defaults defaults /dev/block/bootdevice/by-name/misc /misc emmc defaults defaults

View file

@ -15,6 +15,12 @@
"Controller": "cpuset", "Controller": "cpuset",
"File": "top-app/cpus" "File": "top-app/cpus"
}, },
{
"Name": "AudioAppCapacityCPUs",
"Controller": "cpuset",
"File": "audio-app/cpus"
},
{ {
"Name": "MemLimit", "Name": "MemLimit",
"Controller": "memory", "Controller": "memory",
@ -53,7 +59,7 @@
{ {
"Name": "FreezerState", "Name": "FreezerState",
"Controller": "freezer", "Controller": "freezer",
"File": "cgroup.freeze" "File": "frozen/freezer.state"
} }
], ],
@ -79,7 +85,7 @@
"Params": "Params":
{ {
"Controller": "freezer", "Controller": "freezer",
"Path": "" "Path": "frozen"
} }
} }
] ]
@ -92,7 +98,7 @@
"Params": "Params":
{ {
"Controller": "freezer", "Controller": "freezer",
"Path": "../" "Path": ""
} }
} }
] ]
@ -162,6 +168,19 @@
} }
] ]
}, },
{
"Name": "AudioAppPerformance",
"Actions" : [
{
"Name" : "JoinCgroup",
"Params" :
{
"Controller": "schedtune",
"Path": "audio-app"
}
}
]
},
{ {
"Name": "CpuPolicySpread", "Name": "CpuPolicySpread",
@ -375,6 +394,46 @@
} }
] ]
}, },
{
"Name": "AudioAppCapacity",
"Actions" : [
{
"Name" : "JoinCgroup",
"Params" :
{
"Controller": "cpuset",
"Path": "audio-app"
}
}
]
},
{
"Name": "BlkIOForeground",
"Actions" : [
{
"Name" : "JoinCgroup",
"Params" :
{
"Controller": "blkio",
"Path": ""
}
}
]
},
{
"Name": "BlkIOBackground",
"Actions" : [
{
"Name" : "JoinCgroup",
"Params" :
{
"Controller": "blkio",
"Path": "bg"
}
}
]
},
{ {
"Name": "LowIoPriority", "Name": "LowIoPriority",
@ -538,27 +597,27 @@
] ]
}, },
{ {
"Name": "FreezerDisabled", "Name": "FreezerThawed",
"Actions": [ "Actions": [
{ {
"Name": "SetAttribute", "Name": "SetAttribute",
"Params": "Params":
{ {
"Name": "FreezerState", "Name": "FreezerState",
"Value": "0" "Value": "THAWED"
} }
} }
] ]
}, },
{ {
"Name": "FreezerEnabled", "Name": "FreezerFrozen",
"Actions": [ "Actions": [
{ {
"Name": "SetAttribute", "Name": "SetAttribute",
"Params": "Params":
{ {
"Name": "FreezerState", "Name": "FreezerState",
"Value": "1" "Value": "FROZEN"
} }
} }
] ]

View file

@ -22,5 +22,5 @@
/persist_image emmc /dev/block/bootdevice/by-name/persist flags=display="Persist";flashimg=1 /persist_image emmc /dev/block/bootdevice/by-name/persist flags=display="Persist";flashimg=1
# Removable storage # Removable storage
/usbstorage vfat /dev/block/sdg1 /dev/block/sdg flags=fsflags=utf8;display="USB Storage";storage;wipeingui;removable /usbstorage auto /dev/block/sdg1 /dev/block/sdg flags=fsflags=utf8;display="USB Storage";storage;wipeingui;removable
/external_sd vfat /dev/block/mmcblk0p1 /dev/block/mmcblk0 flags=display="MicroSD";storage;wipeingui;removable /external_sd vfat /dev/block/mmcblk0p1 /dev/block/mmcblk0 flags=display="MicroSD";storage;wipeingui;removable

View file

@ -118,21 +118,6 @@
</interface> </interface>
<fqname>@1.0::Isigma_miracast/sigmahal</fqname> <fqname>@1.0::Isigma_miracast/sigmahal</fqname>
</hal> </hal>
<hal format="hidl">
<name>vendor.qti.hardware.systemhelper</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>ISystemEvent</name>
<instance>default</instance>
</interface>
<interface>
<name>ISystemResource</name>
<instance>default</instance>
</interface>
<fqname>@1.0::ISystemEvent/default</fqname>
<fqname>@1.0::ISystemResource/default</fqname>
</hal>
<hal format="hidl"> <hal format="hidl">
<name>vendor.qti.hardware.wifi.keystore</name> <name>vendor.qti.hardware.wifi.keystore</name>
<transport>hwbinder</transport> <transport>hwbinder</transport>

View file

@ -59,6 +59,7 @@ firmware_directories /vendor/firmware_mnt/image/
/dev/ipa_adpl 0660 system oem_2905 /dev/ipa_adpl 0660 system oem_2905
/dev/synx_device 0660 root camera /dev/synx_device 0660 root camera
/dev/hab 0666 system system /dev/hab 0666 system system
/dev/hgsl 0666 system system
/dev/iio:device* 0664 system system /dev/iio:device* 0664 system system
#permissions for UFS RPMB BSG device node #permissions for UFS RPMB BSG device node
@ -173,14 +174,37 @@ firmware_directories /vendor/firmware_mnt/image/
#qvr #qvr
/dev/qvr_external_sensor_ioctl 0660 system system /dev/qvr_external_sensor_ioctl 0660 system system
/sys/kernel/qvr_external_sensor/fd 0660 system system /sys/kernel/qvr_external_sensor/fd 0660 system system
/dev/bus/usb/001/002 0660 system system
/dev/bus/usb/001/003 0660 system system
/dev/bus/usb/001/004 0660 system system
/dev/bus/usb/001/005 0660 system system
/dev/bus/usb/002/002 0660 system system
/dev/bus/usb/002/003 0660 system system
/dev/bus/usb/002/004 0660 system system
/dev/bus/usb/002/005 0660 system system
/dev/bus/usb/003/002 0660 system system
/dev/bus/usb/003/003 0660 system system
/dev/bus/usb/003/004 0660 system system
/dev/bus/usb/003/005 0660 system system
/dev/hidraw0 0660 system system
/dev/hidraw1 0660 system system
/dev/hidraw2 0660 system system
/dev/hidraw3 0660 system system
/dev/hidraw4 0660 system system
/dev/hidraw5 0660 system system
/dev/hidraw6 0660 system system
/dev/hidraw7 0660 system system
/dev/hidraw8 0660 system system
/dev/hidraw9 0660 system system
# wlan # wlan
/dev/wcnss_wlan 0660 system system /dev/wcnss_wlan 0660 system system
/dev/wcnss_ctrl 0660 system system /dev/wcnss_ctrl 0660 system system
/sys/devices/soc/a000000.qcom,wcnss-wlan/net/wlan0/queues/rx-* rps_cpus 0660 system system /sys/devices/soc/a000000.qcom,wcnss-wlan/net/wlan0/queues/rx-* rps_cpus 0660 system system
/sys/devices/soc/a000000.qcom,wcnss-wlan/net/p2p0/queues/rx-* rps_cpus 0660 system system /sys/devices/soc/a000000.qcom,wcnss-wlan/net/p2p0/queues/rx-* rps_cpus 0660 system system
/sys/devices/platform/soc/18800000.qcom,icnss/net/wlan*/queues/rx-* rps_cpus 0660 system system /sys/devices/platform/soc/*.qcom,icnss/net/wlan*/queues/rx-* rps_cpus 0660 system system
/sys/devices/platform/soc/1c00000.qcom,pcie/pci0000:00/0000:00:00.0/0000:01:00.0/net/wlan*/queues/rx-* rps_cpus 0660 system system /sys/devices/platform/soc/1c00000.qcom,pcie/pci0000:00/0000:00:00.0/0000:01:00.0/net/wlan*/queues/rx-* rps_cpus 0660 system system
/sys/devices/platform/soc/17a10040.qcom,wcn6750/net/wlan*/queues/rx-* rps_cpus 0660 system system
/dev/spidev0.0 0660 system audio /dev/spidev0.0 0660 system audio
/dev/i2c-7 0660 system audio /dev/i2c-7 0660 system audio
/dev/msm_camera/* 0660 system camera /dev/msm_camera/* 0660 system camera
@ -473,3 +497,9 @@ firmware_directories /vendor/firmware_mnt/image/
/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* in_temp_raw 0664 system system /sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* in_temp_raw 0664 system system
/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* in_temp_scale 0664 system system /sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* in_temp_scale 0664 system system
/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* in_temp_scale_available 0664 system system /sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* in_temp_scale_available 0664 system system
# mius iio devices
/dev/iio:device* 0660 system system
/sys/bus/iio/devices/iio:device* buffer/enable 0600 system system
/sys/bus/iio/devices/iio:device* scan_elements/in_proximity_en 0600 system system
/sys/bus/iio/devices/iio:device* scan_elements/in_timestamp_en 0600 system system

View file

@ -162,22 +162,22 @@
<hal format="hidl"> <hal format="hidl">
<name>com.qualcomm.qti.uceservice</name> <name>com.qualcomm.qti.uceservice</name>
<transport>hwbinder</transport> <transport>hwbinder</transport>
<version>2.2</version> <version>2.3</version>
<interface> <interface>
<name>IUceService</name> <name>IUceService</name>
<instance>com.qualcomm.qti.uceservice</instance> <instance>com.qualcomm.qti.uceservice</instance>
</interface> </interface>
<fqname>@2.2::IUceService/com.qualcomm.qti.uceservice</fqname> <fqname>@2.3::IUceService/com.qualcomm.qti.uceservice</fqname>
</hal> </hal>
<hal format="hidl"> <hal format="hidl">
<name>vendor.qti.data.factory</name> <name>vendor.qti.data.factory</name>
<transport>hwbinder</transport> <transport>hwbinder</transport>
<version>2.1</version> <version>2.3</version>
<interface> <interface>
<name>IFactory</name> <name>IFactory</name>
<instance>default</instance> <instance>default</instance>
</interface> </interface>
<fqname>@2.1::IFactory/default</fqname> <fqname>@2.3::IFactory/default</fqname>
</hal> </hal>
<hal format="hidl"> <hal format="hidl">
<name>vendor.qti.esepowermanager</name> <name>vendor.qti.esepowermanager</name>
@ -202,12 +202,12 @@
<hal format="hidl"> <hal format="hidl">
<name>vendor.qti.hardware.bluetooth_audio</name> <name>vendor.qti.hardware.bluetooth_audio</name>
<transport>hwbinder</transport> <transport>hwbinder</transport>
<version>2.0</version> <version>2.1</version>
<interface> <interface>
<name>IBluetoothAudioProvidersFactory</name> <name>IBluetoothAudioProvidersFactory</name>
<instance>default</instance> <instance>default</instance>
</interface> </interface>
<fqname>@2.0::IBluetoothAudioProvidersFactory/default</fqname> <fqname>@2.1::IBluetoothAudioProvidersFactory/default</fqname>
</hal> </hal>
<hal format="hidl"> <hal format="hidl">
<name>vendor.qti.hardware.bluetooth_sar</name> <name>vendor.qti.hardware.bluetooth_sar</name>
@ -329,6 +329,16 @@
</interface> </interface>
<fqname>@2.0::IIop/default</fqname> <fqname>@2.0::IIop/default</fqname>
</hal> </hal>
<hal format="hidl">
<name>vendor.qti.hardware.mwqemadapter</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IMwqemAdapter</name>
<instance>MwqemAdapter</instance>
</interface>
<fqname>@1.0::IMwqemAdapter/MwqemAdapter</fqname>
</hal>
<hal format="hidl"> <hal format="hidl">
<name>vendor.qti.hardware.perf</name> <name>vendor.qti.hardware.perf</name>
<transport>hwbinder</transport> <transport>hwbinder</transport>
@ -424,14 +434,6 @@
</interface> </interface>
<fqname>@1.0::ISoter/default</fqname> <fqname>@1.0::ISoter/default</fqname>
</hal> </hal>
<hal format="hidl">
<name>vendor.qti.hardware.trustedui</name>
<transport>hwbinder</transport>
<fqname>@1.0::ITrustedInput/default</fqname>
<fqname>@1.0::ITrustedInput/qtee-vm</fqname>
<fqname>@1.1::ITrustedUI/default</fqname>
<fqname>@1.1::ITrustedUI/qtee-vm</fqname>
</hal>
<hal format="hidl"> <hal format="hidl">
<name>vendor.qti.hardware.tui_comm</name> <name>vendor.qti.hardware.tui_comm</name>
<transport>hwbinder</transport> <transport>hwbinder</transport>
@ -537,6 +539,16 @@
</interface> </interface>
<fqname>@1.0::ISlaService/default</fqname> <fqname>@1.0::ISlaService/default</fqname>
</hal> </hal>
<hal format="hidl">
<name>vendor.xiaomi.hardware.cameraperf</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IMiCameraPerfService</name>
<instance>default</instance>
</interface>
<fqname>@1.0::IMiCameraPerfService/default</fqname>
</hal>
<hal format="hidl"> <hal format="hidl">
<name>vendor.xiaomi.hardware.campostproc</name> <name>vendor.xiaomi.hardware.campostproc</name>
<transport>hwbinder</transport> <transport>hwbinder</transport>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -10,5 +10,11 @@
"target_path" : "hardware/qcom-caf/bootctrl", "target_path" : "hardware/qcom-caf/bootctrl",
"remote" : "LineageOS", "remote" : "LineageOS",
"revision" : "lineage-18.1-caf" "revision" : "lineage-18.1-caf"
},
{
"repository" : "imjyotiraditya/msm-5.4-odin",
"target_path" : "kernel/xiaomi/odin",
"remote" : "github",
"revision" : "android-11"
} }
] ]

View file

@ -18,15 +18,15 @@
$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk) $(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk)
$(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_base.mk) $(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_base.mk)
# Inherit from renoir device # Inherit from odin device
$(call inherit-product, device/xiaomi/renoir/device.mk) $(call inherit-product, device/xiaomi/odin/device.mk)
# Inherit some common TWRP stuff. # Inherit some common TWRP stuff.
$(call inherit-product, vendor/twrp/config/common.mk) $(call inherit-product, vendor/twrp/config/common.mk)
# Device identifier. This must come after all inclusions # Device identifier. This must come after all inclusions
PRODUCT_DEVICE := renoir PRODUCT_DEVICE := odin
PRODUCT_NAME := twrp_renoir PRODUCT_NAME := twrp_odin
PRODUCT_BRAND := Xiaomi PRODUCT_BRAND := Xiaomi
PRODUCT_MODEL := Mi 11 Lite 5G PRODUCT_MODEL := Mi Mix 4
PRODUCT_MANUFACTURER := Xiaomi PRODUCT_MANUFACTURER := Xiaomi