forked from mauronofrio/android_device_xiaomi_davinci
-
Notifications
You must be signed in to change notification settings - Fork 8
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Hi I'm Xiaomi Mi 9T/ Redmi K20 (davinci)
- Loading branch information
0 parents
commit 9602514
Showing
52 changed files
with
2,001 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
LOCAL_PATH := $(call my-dir) | ||
|
||
ifeq ($(TARGET_DEVICE),davinci) | ||
include $(call all-subdir-makefiles,$(LOCAL_PATH)) | ||
endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
# | ||
# Copyright (C) 2019 The TwrpBuilder Open-Source Project | ||
# | ||
# Licensed under the Apache License, Version 2.0 (the "License"); | ||
# you may not use this file except in compliance with the License. | ||
# You may obtain a copy of the License at | ||
# | ||
# http://www.apache.org/licenses/LICENSE-2.0 | ||
# | ||
# Unless required by applicable law or agreed to in writing, software | ||
# distributed under the License is distributed on an "AS IS" BASIS, | ||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
# See the License for the specific language governing permissions and | ||
# limitations under the License. | ||
# | ||
|
||
LOCAL_PATH := $(call my-dir) | ||
|
||
ifneq ($(filter davinci,$(TARGET_DEVICE)),) | ||
include $(call all-makefiles-under,$(LOCAL_PATH)) | ||
endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
# | ||
# Copyright (C) 2019 The TwrpBuilder Open-Source Project | ||
# | ||
# Licensed under the Apache License, Version 2.0 (the "License"); | ||
# you may not use this file except in compliance with the License. | ||
# You may obtain a copy of the License at | ||
# | ||
# http://www.apache.org/licenses/LICENSE-2.0 | ||
# | ||
# Unless required by applicable law or agreed to in writing, software | ||
# distributed under the License is distributed on an "AS IS" BASIS, | ||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
# See the License for the specific language governing permissions and | ||
# limitations under the License. | ||
# | ||
|
||
PRODUCT_MAKEFILES := \ | ||
$(LOCAL_DIR)/omni_davinci.mk |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,124 @@ | ||
# | ||
# Copyright (C) 2019 The TwrpBuilder Open-Source Project | ||
# | ||
# Licensed under the Apache License, Version 2.0 (the "License"); | ||
# you may not use this file except in compliance with the License. | ||
# You may obtain a copy of the License at | ||
# | ||
# http://www.apache.org/licenses/LICENSE-2.0 | ||
# | ||
# Unless required by applicable law or agreed to in writing, software | ||
# distributed under the License is distributed on an "AS IS" BASIS, | ||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
# See the License for the specific language governing permissions and | ||
# limitations under the License. | ||
# | ||
|
||
DEVICE_PATH := device/xiaomi/davinci | ||
|
||
# Architecture | ||
TARGET_ARCH := arm64 | ||
TARGET_ARCH_VARIANT := armv8-a | ||
TARGET_CPU_ABI := arm64-v8a | ||
TARGET_CPU_ABI2 := | ||
TARGET_CPU_VARIANT := kryo | ||
|
||
TARGET_2ND_ARCH := arm | ||
TARGET_2ND_ARCH_VARIANT := armv8-a | ||
TARGET_2ND_CPU_ABI := armeabi-v7a | ||
TARGET_2ND_CPU_ABI2 := armeabi | ||
TARGET_2ND_CPU_VARIANT := cortex-a73 | ||
TARGET_USES_64_BIT_BINDER := true | ||
|
||
ENABLE_CPUSETS := true | ||
ENABLE_SCHEDBOOST := true | ||
|
||
# Bootloader | ||
TARGET_BOOTLOADER_BOARD_NAME := sm6150 | ||
TARGET_NO_BOOTLOADER := true | ||
TARGET_USES_UEFI := true | ||
|
||
# Platform | ||
TARGET_BOARD_PLATFORM := sm6150 | ||
TARGET_BOARD_PLATFORM_GPU := qcom-adreno618 | ||
|
||
# Kernel | ||
BOARD_KERNEL_CMDLINE := console=ttyMSM0,115200n8 androidboot.hardware=qcom androidboot.console=ttyMSM0 androidboot.memcg=1 lpm_levels.sleep_disabled=1 video=vfb:640x400,bpp=32,memsize=3072000 msm_rtb.filter=0x237 service_locator.enable=1 swiotlb=1 androidboot.usbcontroller=a600000.dwc3 firmware_class.path=/vendor/firmware_mnt/image earlycon=msm_geni_serial,0x880000 loop.max_part=7 cgroup.memory=nokmem,nosocket androidboot.selinux=permissive androidboot.vbmeta.avb_version=1.0 | ||
BOARD_KERNEL_BASE := 0x00000000 | ||
BOARD_KERNEL_PAGESIZE := 4096 | ||
BOARD_KERNEL_TAGS_OFFSET := 0x00000100 | ||
BOARD_RAMDISK_OFFSET := 0x01000000 | ||
BOARD_KERNEL_IMAGE_NAME := Image.gz-dtb | ||
TARGET_KERNEL_ARCH := arm64 | ||
TARGET_KERNEL_HEADER_ARCH := arm64 | ||
TARGET_PREBUILT_KERNEL := $(DEVICE_PATH)/prebuilt/Image.gz-dtb | ||
BOARD_PREBUILT_DTBOIMAGE := $(DEVICE_PATH)/prebuilt/dtbo.img | ||
BOARD_INCLUDE_RECOVERY_DTBO := true | ||
BOARD_BOOTIMG_HEADER_VERSION := 1 | ||
BOARD_MKBOOTIMG_ARGS := --ramdisk_offset $(BOARD_RAMDISK_OFFSET) | ||
BOARD_MKBOOTIMG_ARGS += --tags_offset $(BOARD_KERNEL_TAGS_OFFSET) | ||
BOARD_MKBOOTIMG_ARGS += --header_version $(BOARD_BOOTIMG_HEADER_VERSION) | ||
|
||
# QCOM | ||
#TARGET_USE_SDCLANG := true | ||
|
||
# Assert | ||
TARGET_OTA_ASSERT_DEVICE := davinci | ||
|
||
# Avb | ||
BOARD_AVB_ENABLE := true | ||
BOARD_AVB_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP) | ||
|
||
# Partitions | ||
BOARD_FLASH_BLOCK_SIZE := 262144 | ||
BOARD_BOOTIMAGE_PARTITION_SIZE := 134217728 | ||
BOARD_RECOVERYIMAGE_PARTITION_SIZE := 67108864 | ||
BOARD_SYSTEMIMAGE_PARTITION_SIZE := 3106136440 | ||
BOARD_SYSTEMIMAGE_PARTITION_TYPE := ext4 | ||
BOARD_USERDATAIMAGE_PARTITION_SIZE := 12884901888 | ||
BOARD_USERDATAIMAGE_FILE_SYSTEM_TYPE := ext4 | ||
BOARD_VENDORIMAGE_PARTITION_SIZE := 1375437080 | ||
BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4 | ||
|
||
# System as root | ||
BOARD_BUILD_SYSTEM_ROOT_IMAGE := true | ||
BOARD_ROOT_EXTRA_FOLDERS := bluetooth dsp firmware persist | ||
BOARD_SUPPRESS_SECURE_ERASE := true | ||
|
||
# File systems | ||
TARGET_USERIMAGES_USE_EXT4 := true | ||
TARGET_USERIMAGES_USE_F2FS := true | ||
|
||
# Workaround for error copying vendor files to recovery ramdisk | ||
BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4 | ||
TARGET_COPY_OUT_VENDOR := vendor | ||
|
||
# Recovery | ||
BOARD_HAS_LARGE_FILESYSTEM := true | ||
TARGET_RECOVERY_PIXEL_FORMAT := "BGRA_8888" | ||
|
||
# Crypto | ||
TW_INCLUDE_CRYPTO := true | ||
TW_INCLUDE_FBE := true | ||
|
||
# TWRP specific build flags | ||
TW_THEME := portrait_hdpi | ||
RECOVERY_SDCARD_ON_DATA := true | ||
TARGET_RECOVERY_QCOM_RTC_FIX := true | ||
TW_EXCLUDE_DEFAULT_USB_INIT := true | ||
TW_EXTRA_LANGUAGES := true | ||
TW_INCLUDE_NTFS_3G := true | ||
TW_USE_TOOLBOX := true | ||
TW_INPUT_BLACKLIST := "hbtp_vm" | ||
TW_BRIGHTNESS_PATH := "/sys/class/backlight/panel0-backlight/brightness" | ||
TW_MAX_BRIGHTNESS := 2047 | ||
TW_DEFAULT_BRIGHTNESS := 1200 | ||
#TW_SCREEN_BLANK_ON_BOOT := true | ||
TWRP_INCLUDE_LOGCAT := true | ||
TARGET_USES_LOGD := true | ||
TARGET_USES_MKE2FS := true | ||
TW_EXCLUDE_TWRPAPP := true | ||
|
||
# Hack: prevent anti rollback | ||
PLATFORM_SECURITY_PATCH := 2099-12-31 | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,58 @@ | ||
# android_device_xiaomi_davinci | ||
For building TWRP for Xiaomi Redmi K20 | ||
|
||
TWRP device tree for Xiaomi Redmi K20 | ||
|
||
## Features | ||
|
||
Works: | ||
|
||
- ADB | ||
- Decryption of /data | ||
- Screen brightness settings | ||
- Correct screenshot color | ||
- MTP | ||
- Flashing (opengapps, roms, images and so on) | ||
- Backup/Restore (Needs more testing) | ||
- USB OTG | ||
- Android Q Support | ||
|
||
TO-DO: | ||
|
||
- Vibration support | ||
|
||
## Compile | ||
|
||
First checkout minimal twrp with omnirom tree: | ||
|
||
``` | ||
repo init -u git://github.com/minimal-manifest-twrp/platform_manifest_twrp_omni.git -b twrp-9.0 | ||
repo sync | ||
``` | ||
|
||
Then add these projects to .repo/manifest.xml: | ||
|
||
```xml | ||
<project path="device/xiaomi/davinci" name="mauronofrio/android_device_xiaomi_davinci" remote="github" revision="android-9.0" /> | ||
``` | ||
|
||
Finally execute these: | ||
|
||
``` | ||
. build/envsetup.sh | ||
lunch omni_davinci-eng | ||
mka recoveryimage ALLOW_MISSING_DEPENDENCIES=true # Only if you use minimal twrp tree. | ||
``` | ||
|
||
To test it: | ||
|
||
``` | ||
fastboot boot out/target/product/davinci/recovery.img | ||
``` | ||
|
||
## Other Sources | ||
|
||
Precompiled Stock Kernel | ||
|
||
## Thanks | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
# | ||
# Copyright (C) 2019 The TwrpBuilder Open-Source Project | ||
# | ||
# Licensed under the Apache License, Version 2.0 (the "License"); | ||
# you may not use this file except in compliance with the License. | ||
# You may obtain a copy of the License at | ||
# | ||
# http://www.apache.org/licenses/LICENSE-2.0 | ||
# | ||
# Unless required by applicable law or agreed to in writing, software | ||
# distributed under the License is distributed on an "AS IS" BASIS, | ||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
# See the License for the specific language governing permissions and | ||
# limitations under the License. | ||
# | ||
|
||
# Release name | ||
PRODUCT_RELEASE_NAME := davinci | ||
|
||
$(call inherit-product, build/target/product/embedded.mk) | ||
|
||
# Inherit from our custom product configuration | ||
$(call inherit-product, vendor/omni/config/common.mk) | ||
|
||
## Device identifier. This must come after all inclusions | ||
PRODUCT_DEVICE := davinci | ||
PRODUCT_NAME := omni_davinci | ||
PRODUCT_BRAND := Xiaomi | ||
PRODUCT_MODEL := Xiaomi Redmi K20 | ||
PRODUCT_MANUFACTURER := Xiaomi | ||
|
||
# HACK: Set vendor patch level | ||
PRODUCT_PROPERTY_OVERRIDES += \ | ||
ro.vendor.build.security_patch=2099-12-31 | ||
|
Binary file not shown.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
# Android fstab file. | ||
# The filesystem that contains the filesystem checker binary (typically /system) cannot | ||
# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK | ||
|
||
# mount point fstype device device2 flags | ||
/boot emmc /dev/block/bootdevice/by-name/boot | ||
/dtbo emmc /dev/block/bootdevice/by-name/dtbo flags=backup=1;display="Dtbo";flashimg=1 | ||
/cache ext4 /dev/block/bootdevice/by-name/cache | ||
/recovery emmc /dev/block/bootdevice/by-name/recovery flags=backup=1 | ||
/system_root ext4 /dev/block/bootdevice/by-name/system flags=display="System";backup=0 | ||
/vendor ext4 /dev/block/bootdevice/by-name/vendor flags=display="Vendor";backup=0;wipeingui | ||
|
||
/system_image emmc /dev/block/bootdevice/by-name/system | ||
/vendor_image emmc /dev/block/bootdevice/by-name/vendor | ||
|
||
/data ext4 /dev/block/bootdevice/by-name/userdata flags=fileencryption=ice:aes-256-cts;wrappedkey | ||
/firmware vfat /dev/block/bootdevice/by-name/modem flags=display="Firmware";mounttodecrypt | ||
/cust ext4 /dev/block/bootdevice/by-name/cust flags=display="Cust" | ||
/misc emmc /dev/block/bootdevice/by-name/misc | ||
/modem emmc /dev/block/bootdevice/by-name/modem flags=backup=1;display="Modem" | ||
/bluetooth emmc /dev/block/bootdevice/by-name/bluetooth flags=backup=1;subpartitionof=/modem | ||
/dsp emmc /dev/block/bootdevice/by-name/dsp flags=backup=1;subpartitionof=/modem | ||
/efs1 emmc /dev/block/bootdevice/by-name/modemst1 flags=backup=1;display=EFS | ||
/efs2 emmc /dev/block/bootdevice/by-name/modemst2 flags=backup=1;subpartitionof=/efs1 | ||
/efsc emmc /dev/block/bootdevice/by-name/fsc flags=backup=1;subpartitionof=/efs1 | ||
/efsg emmc /dev/block/bootdevice/by-name/fsg flags=backup=1;subpartitionof=/efs1 | ||
/persist ext4 /dev/block/bootdevice/by-name/persist flags=display="Persist" | ||
|
||
# Removable storage | ||
/usb_otg vfat /dev/block/sdg1 /dev/block/sdg flags=fsflags=utf8;display="USB-OTG";storage;wipeingui;removable |
Oops, something went wrong.