Skip to content

Commit

Permalink
Merge pull request #3 from HemanthJabalpuri/android-11
Browse files Browse the repository at this point in the history
update
  • Loading branch information
o0Mardev committed Jun 13, 2023
2 parents 6819c2c + d045d43 commit faf2b36
Show file tree
Hide file tree
Showing 209 changed files with 144 additions and 1,110 deletions.
9 changes: 5 additions & 4 deletions Android.mk
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
LOCAL_PATH := $(call my-dir)
ifeq ($(TARGET_DEVICE), CPH2021)
include $(call all-subdir-makefiles,$(LOCAL_PATH))
endif
LOCAL_PATH := $(call my-dir)

ifeq ($(TARGET_DEVICE),OP4B9B)
include $(call all-subdir-makefiles,$(LOCAL_PATH))
endif
5 changes: 1 addition & 4 deletions AndroidProducts.mk
Original file line number Diff line number Diff line change
@@ -1,4 +1 @@
PRODUCT_MAKEFILES := \
$(LOCAL_DIR)/twrp_CPH2021.mk

COMMON_LUNCH_CHOICES := twrp_CPH2021-eng
PRODUCT_MAKEFILES := $(LOCAL_DIR)/twrp_OP4B9B.mk
167 changes: 43 additions & 124 deletions BoardConfig.mk
Original file line number Diff line number Diff line change
@@ -1,155 +1,74 @@
# Device path

LOCAL_PATH := device/oppo/CPH2021

# system-as-root (SAR), OTA Assert

BOARD_BUILD_SYSTEM_ROOT_IMAGE := true
TARGET_OTA_ASSERT_DEVICE := CPH2021
# Platform
TARGET_BOARD_PLATFORM := mt6771

# Architecture:
# Note: ro.product.cpu.abi and ro.product.cpu.abi2 are obsolete,
# use ro.product.cpu.abilist instead.
# Bootloader
TARGET_BOOTLOADER_BOARD_NAME := oppo6771

# Architecture
TARGET_ARCH := arm64
TARGET_ARCH_VARIANT := armv8-a
TARGET_CPU_ABI := arm64-v8a
TARGET_CPU_ABI2 :=
TARGET_CPU_VARIANT := cortex-a73
TARGET_CPU_VARIANT := generic

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-a53

TARGET_CPU_ABI_LIST := arm64-v8a,armeabi-v7a,armeabi
TARGET_CPU_ABI_LIST_64_BIT := arm64-v8a
TARGET_CPU_ABI_LIST_32_BIT := armeabi-v7a,armeabi

# Bootloader

TARGET_BOOTLOADER_BOARD_NAME := mt6771
TARGET_BOARD_PLATFORM_GPU := Mali-G72 MP3
TARGET_NO_BOOTLOADER := true
TARGET_2ND_CPU_VARIANT := generic

# Kernel

BOARD_PAGE_SIZE := 2048
BOARD_KERNEL_CMDLINE := bootopt=64S3,32N2,64N2
BOARD_BOOT_HEADER_VERSION := 2
BOARD_KERNEL_PAGESIZE := 2048
BOARD_KERNEL_BASE := 0x40078000
BOARD_KERNEL_OFFSET := 0x00008000
BOARD_RAMDISK_OFFSET := 0x14f88000
BOARD_SECOND_OFFSET := 0xbff88000
BOARD_TAGS_OFFSET := 0x13f88000
BOARD_DTB_OFFSET := 0x13f88000
#BOARD_RECOVERY_DTBO_SIZE := 716448
#BOARD_RECOVERY_DTBO_OFFSET := 43454464
BOARD_HEADER_SIZE := 1660

BOARD_HASH_TYPE := sha1

BOARD_KERNEL_CMDLINE := bootopt=64S3,32N2,64N2 androidboot.selinux=permissive

BOARD_INCLUDE_RECOVERY_DTBO := true
BOARD_PREBUILT_DTBOIMAGE := $(LOCAL_PATH)/prebuilt/recovery_stock.img-recovery_dtbo

BOARD_KERNEL_IMAGE_NAME := Image.gz
TARGET_PREBUILT_KERNEL := $(LOCAL_PATH)/prebuilt/recovery.img-kernel
TARGET_PREBUILT_DTB := $(LOCAL_PATH)/prebuilt/recovery.img-dtb


TARGET_KERNEL_ARCH := arm64
TARGET_KERNEL_HEADER_ARCH := arm64
BOARD_BOOTIMG_HEADER_VERSION := 2

BOARD_MKBOOTIMG_ARGS := --kernel_offset 0x00008000 --ramdisk_offset 0x14f88000 --second_offset 0xbff88000 --tags_offset 0x13f88000 --dtb $(TARGET_PREBUILT_DTB) --dtb_offset $(BOARD_DTB_OFFSET) --header_version 2

# Platform
BOARD_INCLUDE_DTB_IN_BOOTIMG := true

TARGET_BOARD_PLATFORM := mt6771
TARGET_BOARD_SUFFIX := _64
TARGET_USES_64_BIT_BINDER := true
TARGET_IS_64_BIT := true

# Build rule
#BUILD_BROKEN_DUP_RULES := true

#Crypto
#TW_INCLUDE_CRYPTO := true
TARGET_PREBUILT_KERNEL := $(DEVICE_PATH)/prebuilt/kernel
BOARD_PREBUILT_DTBOIMAGE := $(DEVICE_PATH)/prebuilt/dtbo
BOARD_PREBUILT_DTBIMAGE_DIR := $(DEVICE_PATH)/prebuilt/dtb

# MTK Hardware
BOARD_MKBOOTIMG_ARGS += --header_version $(BOARD_BOOT_HEADER_VERSION)
BOARD_MKBOOTIMG_ARGS += --ramdisk_offset 0x14f88000
BOARD_MKBOOTIMG_ARGS += --tags_offset 0x13f88000
BOARD_MKBOOTIMG_ARGS += --kernel_offset 0x00008000
BOARD_MKBOOTIMG_ARGS += --second_offset 0xbff88000
BOARD_MKBOOTIMG_ARGS += --dtb_offset 0x13f88000

BOARD_HAS_MTK_HARDWARE := true
BOARD_USES_MTK_HARDWARE := true
MTK_HARDWARE := true

# Partitions
BOARD_AVB_ENABLE := true
BOARD_AVB_RECOVERY_ALGORITHM := SHA256_RSA2048
BOARD_AVB_RECOVERY_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem
BOARD_AVB_RECOVERY_ROLLBACK_INDEX := 1
BOARD_AVB_RECOVERY_ROLLBACK_INDEX_LOCATION := 1

BOARD_BOOTIMAGE_PARTITION_SIZE := 33554432
BOARD_RECOVERYIMAGE_PARTITION_SIZE := 67108864
BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE := ext4
BOARD_CACHEIMAGE_PARTITION_SIZE := 452984832
BOARD_SYSTEMIMAGE_FILE_SYSTEM_TYPE := ext4
BOARD_SYSTEMIMAGE_PARTITION_SIZE := 4513071104
BOARD_USERDATAIMAGE_FILE_SYSTEM_TYPE := ext4
BOARD_USERDATAIMAGE_PARTITION_SIZE := 55135157760
BOARD_FLASH_BLOCK_SIZE := 131072

TARGET_USERIMAGES_USE_EXT4 := true

# Recovery

# Colors: RGBA_8888 = Blue, ABGR_8888, BGRA_8888=yellow, RGBX_8888 = Blue
TARGET_RECOVERY_PIXEL_FORMAT := "RGBX_8888"
BOARD_HAS_NO_SELECT_BUTTON := true
BOARD_HAS_LARGE_FILESYSTEM := true
BOARD_SUPPRESS_SECURE_ERASE := true
BOARD_USE_FRAMEBUFFER_ALPHA_CHANNEL := true
RECOVERY_GRAPHICS_USE_LINELENGTH := true
TARGET_DISABLE_TRIPLE_BUFFERING := false
RECOVERY_SDCARD_ON_DATA := true

# system properties

TARGET_SYSTEM_PROP := $(LOCAL_PATH)/system_prop.mk

# Workaround for error copying vendor files to recovery ramdisk

BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4
TARGET_COPY_OUT_VENDOR := vendor
TARGET_RECOVERY_PIXEL_FORMAT := RGBX_8888

# TWRP Related
PLATFORM_SECURITY_PATCH := 2099-12-31
VENDOR_SECURITY_PATCH := 2099-12-31
PLATFORM_VERSION := 99.87.36
PLATFORM_VERSION_LAST_STABLE := $(PLATFORM_VERSION)

TW_INPUT_BLACKLIST := "hbtp_vm"
TW_DEVICE_VERSION := $(shell date -u +" %F")
TW_MAX_BRIGHTNESS := 2047
TW_DEFAULT_BRIGHTNESS := 560
TW_BRIGHTNESS_PATH := /sys/class/leds/lcd-backlight/brightness
TW_CUSTOM_CPU_TEMP_PATH := /sys/devices/virtual/thermal/thermal_zone1/temp
TW_USE_TOOLBOX := true
TW_NO_SCREEN_BLANK := true
TW_NO_BATT_PERCENT := false
TW_EXCLUDE_TWRPAPP := true
TW_EXCLUDE_SUPERSU := true
TW_EXTRA_LANGUAGES := true
TW_DEFAULT_LANGUAGE := en
#TW_OZIP_DECRYPT_KEY := "172B3E14E46F3CE13E2B5121CBDC4321"
# TWRP flags
TW_THEME := portrait_hdpi

# My Testing Flags:

TARGET_USES_MKE2FS := true
TW_EXCLUDE_DEFAULT_USB_INIT := true
TW_BRIGHTNESS_PATH := /sys/class/leds/lcd-backlight/brightness
TW_MAX_BRIGHTNESS := 2047
TW_DEFAULT_BRIGHTNESS := 1200
TW_SCREEN_BLANK_ON_BOOT := true
ENABLE_CPUSETS := true
ENABLE_SCHEDBOOST := true

# OS
PLATFORM_SECURITY_PATCH := 2029-10-01
PLATFORM_VERSION := 16.1.0
TW_INCLUDE_CRYPTO := true
TARGET_USES_MKE2FS := true
TW_CUSTOM_CPU_TEMP_PATH := /sys/class/thermal/thermal_zone3/temp

# Debug
# Statusbar icons flags
TW_STATUS_ICONS_ALIGN := center
TW_CUSTOM_CPU_POS := 50
TW_CUSTOM_CLOCK_POS := 300
TW_CUSTOM_BATTERY_POS := 800

# Debugging
TWRP_INCLUDE_LOGCAT := true
TARGET_USES_LOGD := true

15 changes: 13 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,13 @@
# TWRP_CPH2021
Unofficial TWRP for Oppo A91 (Work in progress)
Unofficial TWRP for Oppo A91 running Android 11

### Specifications
https://m.gsmarena.com/oppo_a91-10000.php

### Working
- ADB
- MTP
- External SD Card

### Issues
- Decryption
- OTG (Not yet tested)
File renamed without changes.
File renamed without changes.
File renamed without changes.
28 changes: 0 additions & 28 deletions recovery/root/init.aging.rc

This file was deleted.

26 changes: 0 additions & 26 deletions recovery/root/init.recovery.mt6771.rc

This file was deleted.

31 changes: 31 additions & 0 deletions recovery/root/init.recovery.usb.rc
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
on init
setprop sys.usb.configfs 1

on fs
write /sys/class/power_supply/usb/otg_switch 1

on boot
write /config/usb_gadget/g1/idVendor 0x0E8D
mkdir /config/usb_gadget/g1/functions/mtp.gs0
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"
symlink /config/usb_gadget/g1/configs/b.1 /config/usb_gadget/g1/os_desc/b.1

on property:sys.usb.ffs.ready=1 && property:sys.usb.config=adb && property:sys.usb.configfs=1
write /config/usb_gadget/g1/idProduct 0x201C

on property:sys.usb.ffs.ready=1 && property:sys.usb.config=sideload && property:sys.usb.configfs=1
write /config/usb_gadget/g1/idProduct 0x201C

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 && property:sys.usb.configfs=1
write /config/usb_gadget/g1/idProduct 0x201D
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "mtp_adb"
write /config/usb_gadget/g1/functions/mtp.gs0/os_desc/interface.MTP/compatible_id "MTP"
symlink /config/usb_gadget/g1/functions/mtp.gs0 /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}
setprop sys.usb.state ${sys.usb.config}
Loading

0 comments on commit faf2b36

Please sign in to comment.