Adapt for Mi Mix 4
Signed-off-by: Jyotiraditya Panda <jyotiraditya@aospa.co>
This commit is contained in:
parent
a586911fad
commit
1ae73b4597
42 changed files with 257 additions and 178 deletions
|
@ -16,7 +16,7 @@
|
|||
|
||||
LOCAL_PATH := $(call my-dir)
|
||||
|
||||
ifeq ($(TARGET_DEVICE), renoir)
|
||||
ifeq ($(TARGET_DEVICE), odin)
|
||||
subdir_makefiles=$(call first-makefiles-under,$(LOCAL_PATH))
|
||||
$(foreach mk,$(subdir_makefiles),$(info including $(mk) ...)$(eval include $(mk)))
|
||||
|
||||
|
|
|
@ -15,4 +15,4 @@
|
|||
#
|
||||
|
||||
PRODUCT_MAKEFILES := \
|
||||
$(LOCAL_DIR)/twrp_renoir.mk
|
||||
$(LOCAL_DIR)/twrp_odin.mk
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
# limitations under the License.
|
||||
#
|
||||
|
||||
DEVICE_PATH := device/xiaomi/renoir
|
||||
DEVICE_PATH := device/xiaomi/odin
|
||||
|
||||
# For building with minimal manifest
|
||||
ALLOW_MISSING_DEPENDENCIES := true
|
||||
|
@ -38,7 +38,7 @@ TARGET_2ND_CPU_VARIANT_RUNTIME := cortex-a55
|
|||
DEXPREOPT_GENERATE_APEX_IMAGE := true
|
||||
|
||||
# Assert
|
||||
TARGET_OTA_ASSERT_DEVICE := renoir
|
||||
TARGET_OTA_ASSERT_DEVICE := odin
|
||||
|
||||
# A/B
|
||||
AB_OTA_UPDATER := true
|
||||
|
@ -85,8 +85,8 @@ BOARD_KERNEL_CMDLINE += video=vfb:640x400,bpp=32,memsize=3072000
|
|||
KERNEL_LD := LD=ld.lld
|
||||
TARGET_KERNEL_ADDITIONAL_FLAGS := DTC_EXT=$(shell pwd)/prebuilts/misc/linux-x86/dtc/dtc
|
||||
TARGET_KERNEL_CLANG_COMPILE := true
|
||||
TARGET_KERNEL_CONFIG := renoir_defconfig
|
||||
TARGET_KERNEL_SOURCE := kernel/xiaomi/renoir
|
||||
TARGET_KERNEL_CONFIG := vendor/odin-qgki_defconfig
|
||||
TARGET_KERNEL_SOURCE := kernel/xiaomi/odin
|
||||
NEED_KERNEL_MODULE_RECOVERY := true
|
||||
|
||||
# Metadata
|
||||
|
|
|
@ -17,12 +17,12 @@
|
|||
cc_library {
|
||||
name: "bootctrl.lahaina",
|
||||
defaults: ["bootctrl_hal_defaults"],
|
||||
static_libs: ["libgptutils.renoir"],
|
||||
static_libs: ["libgptutils.odin"],
|
||||
}
|
||||
|
||||
cc_library_shared {
|
||||
name: "android.hardware.boot@1.1-impl-qti",
|
||||
stem: "android.hardware.boot@1.0-impl-1.1-qti",
|
||||
defaults: ["android.hardware.boot@1.1-impl-qti_defaults"],
|
||||
static_libs: ["libgptutils.renoir"],
|
||||
static_libs: ["libgptutils.odin"],
|
||||
}
|
||||
|
|
|
@ -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.
|
||||
$(call inherit-product, $(SRC_TARGET_DIR)/product/gsi_keys.mk)
|
||||
|
||||
LOCAL_PATH := device/xiaomi/renoir
|
||||
LOCAL_PATH := device/xiaomi/odin
|
||||
|
||||
# API
|
||||
PRODUCT_SHIPPING_API_LEVEL := 30
|
||||
|
@ -88,6 +88,7 @@ TW_INCLUDE_RESETPROP := true
|
|||
TW_INCLUDE_REPACKTOOLS := true
|
||||
TW_INPUT_BLACKLIST := "hbtp_vm"
|
||||
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_H_OFFSET := -80
|
||||
TWRP_INCLUDE_LOGCAT := true
|
||||
|
@ -120,7 +121,7 @@ RECOVERY_LIBRARY_SOURCE_FILES += \
|
|||
$(TARGET_OUT_SYSTEM_EXT_SHARED_LIBRARIES)/vendor.display.config@2.0.so
|
||||
|
||||
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 += \
|
||||
qcom_decrypt \
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
|
||||
|
||||
cc_library {
|
||||
name: "libgptutils.renoir",
|
||||
name: "libgptutils.odin",
|
||||
vendor: true,
|
||||
recovery_available: true,
|
||||
shared_libs: [
|
||||
|
|
|
@ -36,10 +36,15 @@
|
|||
|
||||
#<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 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 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 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 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 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/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
|
||||
|
|
|
@ -25,139 +25,127 @@
|
|||
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
on boot
|
||||
write /sys/class/android_usb/android0/iSerial ${ro.serialno}
|
||||
on early-init
|
||||
setprop sys.usb.configfs 0
|
||||
|
||||
on init
|
||||
mkdir /config
|
||||
mount configfs none /config
|
||||
mkdir /config/usb_gadget/g1 0770
|
||||
mkdir /config/usb_gadget/g2 0770
|
||||
mkdir /config/usb_gadget/g1/strings/0x409 0770
|
||||
mkdir /config/usb_gadget/g2/strings/0x409 0770
|
||||
mkdir /config/usb_gadget/g1 0770 shell shell
|
||||
write /config/usb_gadget/g1/bcdUSB 0x0200
|
||||
write /config/usb_gadget/g2/bcdUSB 0x0200
|
||||
write /config/usb_gadget/g1/os_desc/use 1
|
||||
write /config/usb_gadget/g1/idVendor 0x18d1
|
||||
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/g2/strings/0x409/serialnumber ${ro.serialno}
|
||||
write /config/usb_gadget/g1/strings/0x409/manufacturer ${ro.product.manufacturer}
|
||||
write /config/usb_gadget/g2/strings/0x409/manufacturer ${ro.product.manufacturer}
|
||||
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/mtp.gs0
|
||||
mkdir /config/usb_gadget/g1/functions/ptp.gs1
|
||||
mkdir /config/usb_gadget/g1/functions/accessory.gs2
|
||||
mkdir /config/usb_gadget/g1/functions/audio_source.gs3
|
||||
mkdir /config/usb_gadget/g1/functions/midi.gs5
|
||||
mkdir /config/usb_gadget/g1/functions/ffs.adb
|
||||
|
||||
|
||||
mkdir /config/usb_gadget/g1/functions/ffs.diag
|
||||
mkdir /config/usb_gadget/g1/functions/ffs.diag_mdm
|
||||
mkdir /config/usb_gadget/g1/functions/ffs.diag_mdm2
|
||||
mkdir /config/usb_gadget/g1/functions/diag.diag
|
||||
mkdir /config/usb_gadget/g1/functions/diag.diag_mdm
|
||||
mkdir /config/usb_gadget/g1/functions/diag.diag_mdm2
|
||||
mkdir /config/usb_gadget/g1/functions/cser.dun.0
|
||||
mkdir /config/usb_gadget/g1/functions/cser.nmea.1
|
||||
mkdir /config/usb_gadget/g1/functions/cser.dun.2
|
||||
mkdir /config/usb_gadget/g1/functions/gsi.rmnet
|
||||
mkdir /config/usb_gadget/g1/functions/gsi.rndis
|
||||
mkdir /config/usb_gadget/g1/functions/gsi.dpl
|
||||
mkdir /config/usb_gadget/g1/functions/qdss.qdss
|
||||
mkdir /config/usb_gadget/g1/functions/qdss.qdss_mdm
|
||||
mkdir /config/usb_gadget/g1/functions/rndis_bam.rndis
|
||||
mkdir /config/usb_gadget/g1/functions/rndis.rndis
|
||||
mkdir /config/usb_gadget/g1/functions/rmnet_bam.rmnet
|
||||
mkdir /config/usb_gadget/g1/functions/rmnet_bam.dpl
|
||||
mkdir /config/usb_gadget/g1/functions/rmnet_bam.rmnet_bam_dmux
|
||||
mkdir /config/usb_gadget/g1/functions/rmnet_bam.dpl_bam_dmux
|
||||
mkdir /config/usb_gadget/g1/functions/ncm.0
|
||||
mkdir /config/usb_gadget/g1/functions/ccid.ccid
|
||||
mkdir /config/usb_gadget/g1/functions/uac2.0
|
||||
mkdir /config/usb_gadget/g1/functions/uvc.0
|
||||
mkdir /config/usb_gadget/g1/configs/b.1 0770
|
||||
mkdir /config/usb_gadget/g2/configs/b.1 0770
|
||||
mkdir /config/usb_gadget/g1/configs/b.1/strings/0x409 0770
|
||||
mkdir /config/usb_gadget/g2/configs/b.1/strings/0x409 0770
|
||||
write /config/usb_gadget/g1/configs/b.1/MaxPower 900
|
||||
write /config/usb_gadget/g1/os_desc/use 1
|
||||
write /config/usb_gadget/g1/os_desc/b_vendor_code 0x1
|
||||
write /config/usb_gadget/g1/os_desc/qw_sign "MSFT100"
|
||||
write /config/usb_gadget/g1/functions/diag.diag/serial ${ro.serialno}
|
||||
symlink /config/usb_gadget/g1/configs/b.1 /config/usb_gadget/g1/os_desc/b.1
|
||||
mkdir /dev/usb-ffs 0775 shell system
|
||||
mkdir /dev/usb-ffs/adb 0770 shell system
|
||||
mount functionfs adb /dev/usb-ffs/adb uid=2000,gid=1000,rmode=0770,fmode=0660
|
||||
write /sys/class/android_usb/android0/f_ffs/aliases adb
|
||||
setprop sys.usb.configfs 1
|
||||
|
||||
on boot
|
||||
setprop sys.usb.mtp.device_type 3
|
||||
setprop vendor.usb.product_string ${ro.product.model}
|
||||
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}
|
||||
enable vendor.qcom-usb-sh
|
||||
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
|
||||
write /sys/class/udc/${ro.boot.usbcontroller}/device/../mode peripheral
|
||||
|
||||
on property:sys.usb.config=none
|
||||
write /config/usb_gadget/g1/UDC "none"
|
||||
stop adbd
|
||||
setprop sys.usb.ffs.ready 0
|
||||
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
|
||||
on property:sys.usb.ffs.ready=1
|
||||
mkdir /config/usb_gadget/g1/configs/b.1 0777 shell shell
|
||||
symlink /config/usb_gadget/g1/configs/b.1 /config/usb_gadget/g1/os_desc/b.1
|
||||
mkdir /config/usb_gadget/g1/configs/b.1/strings/0x409 0770 shell shell
|
||||
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
|
||||
write /config/usb_gadget/g1/UDC ${sys.usb.controller}
|
||||
setprop sys.usb.state ${sys.usb.config}
|
||||
|
||||
on property:sys.usb.config=mtp
|
||||
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "mtp"
|
||||
on property:sys.usb.config=mtp && property:vendor.usb.use_ffs_mtp=1 && property:sys.usb.configfs=1
|
||||
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/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 0x2A70
|
||||
write /config/usb_gadget/g1/idProduct 0XF003
|
||||
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/idVendor 0x0B05
|
||||
write /config/usb_gadget/g1/idProduct 0x7772
|
||||
write /config/usb_gadget/g1/UDC ${sys.usb.controller}
|
||||
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
|
||||
|
||||
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"
|
||||
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/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 0x2A70
|
||||
write /config/usb_gadget/g1/idProduct 0x9011
|
||||
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
|
||||
rm /config/usb_gadget/g1/configs/b.1/f6
|
||||
rm /config/usb_gadget/g1/configs/b.1/f7
|
||||
rm /config/usb_gadget/g1/configs/b.1/f8
|
||||
rm /config/usb_gadget/g1/configs/b.1/f9
|
||||
write /config/usb_gadget/g1/idVendor 0x05C6
|
||||
write /config/usb_gadget/g1/idProduct 0xF000
|
||||
symlink /config/usb_gadget/g1/functions/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}
|
||||
setprop sys.usb.state ${sys.usb.config}
|
||||
|
||||
|
|
|
@ -1,54 +1,45 @@
|
|||
#!/system/bin/sh
|
||||
|
||||
|
||||
# find necessary modules for touchscreen, etc. to ensure no mismatch with kernel
|
||||
copy-modules()
|
||||
{
|
||||
if grep -Fq twrpfastboot /proc/cmdline
|
||||
then
|
||||
copy-modules() {
|
||||
if grep -Fq twrpfastboot /proc/cmdline; then
|
||||
echo "using ramdisk modules (fastboot boot)"
|
||||
return
|
||||
fi
|
||||
|
||||
if [ -f /lib/modules/modules.load.recovery -a -f /lib/modules/xiaomi_touch.ko ] && lsmod | grep -Fq xiaomi_touch
|
||||
then
|
||||
if [ -f /lib/modules/modules.load.recovery ] && [ -f /lib/modules/xiaomi_touch.ko ] && lsmod | grep -Fq xiaomi_touch; then
|
||||
echo "using vendor_boot modules"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
suffix=$(getprop ro.boot.slot_suffix)
|
||||
if [ -z "$suffix" ]
|
||||
then
|
||||
if [ -z "$suffix" ]; then
|
||||
suffix="_$(getprop ro.boot.slot)"
|
||||
fi
|
||||
|
||||
echo "using vendor$suffix modules"
|
||||
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/*
|
||||
cp -afR /v/lib/modules/* /vendor/lib/modules/
|
||||
umount /v
|
||||
rmdir /v
|
||||
}
|
||||
|
||||
install-touch()
|
||||
{
|
||||
if [ -f /lib/modules/modules.load.recovery -a -f /lib/modules/xiaomi_touch.ko ] && lsmod | grep -Fq xiaomi_touch
|
||||
then
|
||||
install-touch() {
|
||||
if [ -f /lib/modules/modules.load.recovery ] && [ -f /lib/modules/xiaomi_touch.ko ] && lsmod | grep -Fq xiaomi_touch; then
|
||||
echo "vendor_boot touchscreen modules already loaded"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ ! -f /vendor/lib/modules/xiaomi_touch.ko ]
|
||||
then
|
||||
if [ ! -f /vendor/lib/modules/xiaomi_touch.ko ]; then
|
||||
echo "! vendor touchscreen modules not found"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "loading vendor touchscreen modules"
|
||||
for module in $(modprobe -D -d /vendor/lib/modules goodix_core focaltech_touch | grep modules)
|
||||
do
|
||||
insmod /vendor/lib/modules/$(basename $module)
|
||||
for module in $(modprobe -D -d /vendor/lib/modules msm_drm fts_touch_spi | grep modules); do
|
||||
insmod /vendor/lib/modules/"$(basename "$module")"
|
||||
done
|
||||
}
|
||||
|
||||
|
@ -56,6 +47,3 @@ copy-modules
|
|||
install-touch
|
||||
|
||||
exit 0
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -36,10 +36,15 @@
|
|||
|
||||
#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
|
||||
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 erofs ro 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 erofs ro 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/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
|
||||
|
|
|
@ -15,6 +15,12 @@
|
|||
"Controller": "cpuset",
|
||||
"File": "top-app/cpus"
|
||||
},
|
||||
{
|
||||
"Name": "AudioAppCapacityCPUs",
|
||||
"Controller": "cpuset",
|
||||
"File": "audio-app/cpus"
|
||||
},
|
||||
|
||||
{
|
||||
"Name": "MemLimit",
|
||||
"Controller": "memory",
|
||||
|
@ -53,7 +59,7 @@
|
|||
{
|
||||
"Name": "FreezerState",
|
||||
"Controller": "freezer",
|
||||
"File": "cgroup.freeze"
|
||||
"File": "frozen/freezer.state"
|
||||
}
|
||||
],
|
||||
|
||||
|
@ -79,7 +85,7 @@
|
|||
"Params":
|
||||
{
|
||||
"Controller": "freezer",
|
||||
"Path": ""
|
||||
"Path": "frozen"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -92,7 +98,7 @@
|
|||
"Params":
|
||||
{
|
||||
"Controller": "freezer",
|
||||
"Path": "../"
|
||||
"Path": ""
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -162,6 +168,19 @@
|
|||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "AudioAppPerformance",
|
||||
"Actions" : [
|
||||
{
|
||||
"Name" : "JoinCgroup",
|
||||
"Params" :
|
||||
{
|
||||
"Controller": "schedtune",
|
||||
"Path": "audio-app"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
"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",
|
||||
|
@ -538,27 +597,27 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"Name": "FreezerDisabled",
|
||||
"Name": "FreezerThawed",
|
||||
"Actions": [
|
||||
{
|
||||
"Name": "SetAttribute",
|
||||
"Params":
|
||||
{
|
||||
"Name": "FreezerState",
|
||||
"Value": "0"
|
||||
"Value": "THAWED"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "FreezerEnabled",
|
||||
"Name": "FreezerFrozen",
|
||||
"Actions": [
|
||||
{
|
||||
"Name": "SetAttribute",
|
||||
"Params":
|
||||
{
|
||||
"Name": "FreezerState",
|
||||
"Value": "1"
|
||||
"Value": "FROZEN"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
|
@ -22,5 +22,5 @@
|
|||
/persist_image emmc /dev/block/bootdevice/by-name/persist flags=display="Persist";flashimg=1
|
||||
|
||||
# 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
|
||||
|
|
|
@ -118,21 +118,6 @@
|
|||
</interface>
|
||||
<fqname>@1.0::Isigma_miracast/sigmahal</fqname>
|
||||
</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">
|
||||
<name>vendor.qti.hardware.wifi.keystore</name>
|
||||
<transport>hwbinder</transport>
|
||||
|
|
|
@ -59,6 +59,7 @@ firmware_directories /vendor/firmware_mnt/image/
|
|||
/dev/ipa_adpl 0660 system oem_2905
|
||||
/dev/synx_device 0660 root camera
|
||||
/dev/hab 0666 system system
|
||||
/dev/hgsl 0666 system system
|
||||
/dev/iio:device* 0664 system system
|
||||
|
||||
#permissions for UFS RPMB BSG device node
|
||||
|
@ -173,14 +174,37 @@ firmware_directories /vendor/firmware_mnt/image/
|
|||
#qvr
|
||||
/dev/qvr_external_sensor_ioctl 0660 system system
|
||||
/sys/kernel/qvr_external_sensor/fd 0660 system system
|
||||
/dev/bus/usb/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
|
||||
/dev/wcnss_wlan 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/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/17a10040.qcom,wcn6750/net/wlan*/queues/rx-* rps_cpus 0660 system system
|
||||
/dev/spidev0.0 0660 system audio
|
||||
/dev/i2c-7 0660 system audio
|
||||
/dev/msm_camera/* 0660 system camera
|
||||
|
@ -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_scale 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
|
||||
|
|
40
recovery/root/vendor/etc/vintf/manifest.xml
vendored
40
recovery/root/vendor/etc/vintf/manifest.xml
vendored
|
@ -162,22 +162,22 @@
|
|||
<hal format="hidl">
|
||||
<name>com.qualcomm.qti.uceservice</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>2.2</version>
|
||||
<version>2.3</version>
|
||||
<interface>
|
||||
<name>IUceService</name>
|
||||
<instance>com.qualcomm.qti.uceservice</instance>
|
||||
</interface>
|
||||
<fqname>@2.2::IUceService/com.qualcomm.qti.uceservice</fqname>
|
||||
<fqname>@2.3::IUceService/com.qualcomm.qti.uceservice</fqname>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.qti.data.factory</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>2.1</version>
|
||||
<version>2.3</version>
|
||||
<interface>
|
||||
<name>IFactory</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
<fqname>@2.1::IFactory/default</fqname>
|
||||
<fqname>@2.3::IFactory/default</fqname>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.qti.esepowermanager</name>
|
||||
|
@ -202,12 +202,12 @@
|
|||
<hal format="hidl">
|
||||
<name>vendor.qti.hardware.bluetooth_audio</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>2.0</version>
|
||||
<version>2.1</version>
|
||||
<interface>
|
||||
<name>IBluetoothAudioProvidersFactory</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
<fqname>@2.0::IBluetoothAudioProvidersFactory/default</fqname>
|
||||
<fqname>@2.1::IBluetoothAudioProvidersFactory/default</fqname>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.qti.hardware.bluetooth_sar</name>
|
||||
|
@ -329,6 +329,16 @@
|
|||
</interface>
|
||||
<fqname>@2.0::IIop/default</fqname>
|
||||
</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">
|
||||
<name>vendor.qti.hardware.perf</name>
|
||||
<transport>hwbinder</transport>
|
||||
|
@ -424,14 +434,6 @@
|
|||
</interface>
|
||||
<fqname>@1.0::ISoter/default</fqname>
|
||||
</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">
|
||||
<name>vendor.qti.hardware.tui_comm</name>
|
||||
<transport>hwbinder</transport>
|
||||
|
@ -537,6 +539,16 @@
|
|||
</interface>
|
||||
<fqname>@1.0::ISlaService/default</fqname>
|
||||
</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">
|
||||
<name>vendor.xiaomi.hardware.campostproc</name>
|
||||
<transport>hwbinder</transport>
|
||||
|
|
Binary file not shown.
BIN
recovery/root/vendor/lib64/libGPreqcancel.so
vendored
BIN
recovery/root/vendor/lib64/libGPreqcancel.so
vendored
Binary file not shown.
BIN
recovery/root/vendor/lib64/libGPreqcancel_svc.so
vendored
BIN
recovery/root/vendor/lib64/libGPreqcancel_svc.so
vendored
Binary file not shown.
BIN
recovery/root/vendor/lib64/libQSEEComAPI.so
vendored
BIN
recovery/root/vendor/lib64/libQSEEComAPI.so
vendored
Binary file not shown.
BIN
recovery/root/vendor/lib64/libdiag.so
vendored
BIN
recovery/root/vendor/lib64/libdiag.so
vendored
Binary file not shown.
BIN
recovery/root/vendor/lib64/libdrm.so
vendored
BIN
recovery/root/vendor/lib64/libdrm.so
vendored
Binary file not shown.
BIN
recovery/root/vendor/lib64/libdrmfs.so
vendored
BIN
recovery/root/vendor/lib64/libdrmfs.so
vendored
Binary file not shown.
BIN
recovery/root/vendor/lib64/libdrmtime.so
vendored
BIN
recovery/root/vendor/lib64/libdrmtime.so
vendored
Binary file not shown.
Binary file not shown.
BIN
recovery/root/vendor/lib64/libkeymasterprovision.so
vendored
BIN
recovery/root/vendor/lib64/libkeymasterprovision.so
vendored
Binary file not shown.
BIN
recovery/root/vendor/lib64/libkeymasterutils.so
vendored
BIN
recovery/root/vendor/lib64/libkeymasterutils.so
vendored
Binary file not shown.
BIN
recovery/root/vendor/lib64/libops.so
vendored
BIN
recovery/root/vendor/lib64/libops.so
vendored
Binary file not shown.
BIN
recovery/root/vendor/lib64/libqcbor.so
vendored
BIN
recovery/root/vendor/lib64/libqcbor.so
vendored
Binary file not shown.
BIN
recovery/root/vendor/lib64/libqdutils.so
vendored
BIN
recovery/root/vendor/lib64/libqdutils.so
vendored
Binary file not shown.
BIN
recovery/root/vendor/lib64/libqisl.so
vendored
BIN
recovery/root/vendor/lib64/libqisl.so
vendored
Binary file not shown.
BIN
recovery/root/vendor/lib64/libqservice.so
vendored
BIN
recovery/root/vendor/lib64/libqservice.so
vendored
Binary file not shown.
BIN
recovery/root/vendor/lib64/libqtikeymaster4.so
vendored
BIN
recovery/root/vendor/lib64/libqtikeymaster4.so
vendored
Binary file not shown.
Binary file not shown.
BIN
recovery/root/vendor/lib64/librpmb.so
vendored
BIN
recovery/root/vendor/lib64/librpmb.so
vendored
Binary file not shown.
BIN
recovery/root/vendor/lib64/libsecureui_svcsock.so
vendored
BIN
recovery/root/vendor/lib64/libsecureui_svcsock.so
vendored
Binary file not shown.
BIN
recovery/root/vendor/lib64/libspcom.so
vendored
BIN
recovery/root/vendor/lib64/libspcom.so
vendored
Binary file not shown.
BIN
recovery/root/vendor/lib64/libspl.so
vendored
BIN
recovery/root/vendor/lib64/libspl.so
vendored
Binary file not shown.
BIN
recovery/root/vendor/lib64/libssd.so
vendored
BIN
recovery/root/vendor/lib64/libssd.so
vendored
Binary file not shown.
BIN
recovery/root/vendor/lib64/libtime_genoff.so
vendored
BIN
recovery/root/vendor/lib64/libtime_genoff.so
vendored
Binary file not shown.
Binary file not shown.
|
@ -10,5 +10,11 @@
|
|||
"target_path" : "hardware/qcom-caf/bootctrl",
|
||||
"remote" : "LineageOS",
|
||||
"revision" : "lineage-18.1-caf"
|
||||
},
|
||||
{
|
||||
"repository" : "imjyotiraditya/msm-5.4-odin",
|
||||
"target_path" : "kernel/xiaomi/odin",
|
||||
"remote" : "github",
|
||||
"revision" : "android-11"
|
||||
}
|
||||
]
|
||||
|
|
|
@ -18,15 +18,15 @@
|
|||
$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk)
|
||||
$(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_base.mk)
|
||||
|
||||
# Inherit from renoir device
|
||||
$(call inherit-product, device/xiaomi/renoir/device.mk)
|
||||
# Inherit from odin device
|
||||
$(call inherit-product, device/xiaomi/odin/device.mk)
|
||||
|
||||
# Inherit some common TWRP stuff.
|
||||
$(call inherit-product, vendor/twrp/config/common.mk)
|
||||
|
||||
# Device identifier. This must come after all inclusions
|
||||
PRODUCT_DEVICE := renoir
|
||||
PRODUCT_NAME := twrp_renoir
|
||||
PRODUCT_DEVICE := odin
|
||||
PRODUCT_NAME := twrp_odin
|
||||
PRODUCT_BRAND := Xiaomi
|
||||
PRODUCT_MODEL := Mi 11 Lite 5G
|
||||
PRODUCT_MODEL := Mi Mix 4
|
||||
PRODUCT_MANUFACTURER := Xiaomi
|
Loading…
Reference in a new issue