From cb626b40665e7a8d6798a5db4a9f27c03a519eb1 Mon Sep 17 00:00:00 2001 From: Moyster Date: Fri, 4 Nov 2016 18:59:30 +0100 Subject: [PATCH] initial commit --- Android.mk | 22 +++++++ AndroidBoard.mk | 21 +++++++ AndroidProducts.mk | 19 ++++++ BoardConfig.mk | 140 +++++++++++++++++++++++++++++++++++++++++ README.md | 27 ++++++++ cm.mk | 34 ++++++++++ device_m2note.mk | 23 +++++++ rootdir/etc/twrp.fstab | 15 +++++ rootdir/recovery.fstab | 19 ++++++ vendorsetup.sh | 20 ++++++ 10 files changed, 340 insertions(+) create mode 100644 Android.mk create mode 100644 AndroidBoard.mk create mode 100644 AndroidProducts.mk create mode 100644 BoardConfig.mk create mode 100644 README.md create mode 100644 cm.mk create mode 100644 device_m2note.mk create mode 100644 rootdir/etc/twrp.fstab create mode 100644 rootdir/recovery.fstab create mode 100644 vendorsetup.sh diff --git a/Android.mk b/Android.mk new file mode 100644 index 0000000..245e9a3 --- /dev/null +++ b/Android.mk @@ -0,0 +1,22 @@ +# +# Copyright (C) 2016 The CyanogenMod 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) + +ifeq ($(TARGET_DEVICE),m2note) +include $(call all-makefiles-under,$(LOCAL_PATH)) +endif + diff --git a/AndroidBoard.mk b/AndroidBoard.mk new file mode 100644 index 0000000..c68559f --- /dev/null +++ b/AndroidBoard.mk @@ -0,0 +1,21 @@ +# +# Copyright (C) 2016 The CyanogenMod 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) +include $(CLEAR_VARS) + +ALL_PREBUILT += $(INSTALLED_KERNEL_TARGET) + diff --git a/AndroidProducts.mk b/AndroidProducts.mk new file mode 100644 index 0000000..c0ed032 --- /dev/null +++ b/AndroidProducts.mk @@ -0,0 +1,19 @@ +# +# Copyright (C) 2016 The CyanogenMod 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)/device_m2note.mk + diff --git a/BoardConfig.mk b/BoardConfig.mk new file mode 100644 index 0000000..ab58057 --- /dev/null +++ b/BoardConfig.mk @@ -0,0 +1,140 @@ +# +# Copyright (C) 2016 The CyanogenMod 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. +# + +TARGET_OTA_ASSERT_DEVICE := m2note,m2n,m571,m571h + +RECOVERY_VARIANT=twrp + +TARGET_BOOTLOADER_BOARD_NAME := mt6753 +TARGET_NO_BOOTLOADER := true + +TARGET_BOARD_PLATFORM := mt6735 + +#Use dlmalloc instead of jemalloc +MALLOC_IMPL := dlmalloc + +# Architecture +TARGET_ARCH := arm64 +TARGET_ARCH_VARIANT := armv8-a +TARGET_CPU_ABI := arm64-v8a +TARGET_CPU_ABI2 := +TARGET_CPU_VARIANT := generic +TARGET_CPU_CORTEX_A53 := true + +TARGET_2ND_ARCH := arm +TARGET_2ND_ARCH_VARIANT := armv7-a-neon +TARGET_2ND_CPU_ABI := armeabi-v7a +TARGET_2ND_CPU_ABI2 := armeabi +TARGET_2ND_CPU_VARIANT := cortex-a53 + +# Architecture Extensions +TARGET_CPU_SMP := true +ARCH_ARM_HAVE_NEON := true +ARCH_ARM_HAVE_TLS_REGISTER := true +ARCH_ARM_HAVE_VFP := true + +TARGET_GLOBAL_CFLAGS += -mfpu=neon -mfloat-abi=softfp +TARGET_GLOBAL_CPPFLAGS += -mfpu=neon -mfloat-abi=softfp + +# Kernel +BOARD_KERNEL_IMAGE_NAME := Image.gz-dtb +BOARD_KERNEL_CMDLINE := bootopt=64S3,32N2,64N2 androidboot.selinux=permissive +MTK_APPENDED_DTB_SUPPORT := yes + +TARGET_KERNEL_CONFIG := cm_m2note_defconfig +TARGET_KERNEL_SOURCE := kernel/meizu/m2note + +TARGET_KERNEL_ARCH := arm64 +TARGET_KERNEL_HEADER_ARCH := arm64 +TARGET_KERNEL_CROSS_COMPILE_PREFIX := aarch64-linux-android- + +TARGET_BOARD_SUFFIX := _64 +TARGET_USES_64_BIT_BINDER := true + +BOARD_NAME := 1473302977 +BOARD_KERNEL_BASE := 0x40078000 +BOARD_KERNEL_OFFSET := 0x00008000 +BOARD_RAMDISK_OFFSET := 0x03f88000 +BOARD_TAGS_OFFSET := 0x0df88000 +BOARD_KERNEL_PAGESIZE := 2048 +BOARD_MKBOOTIMG_ARGS := --board $(BOARD_NAME) --kernel_offset $(BOARD_KERNEL_OFFSET) --ramdisk_offset $(BOARD_RAMDISK_OFFSET) --tags_offset $(BOARD_TAGS_OFFSET) --second_offset 0x00e88000 + +# Partitions +BOARD_BOOTIMAGE_PARTITION_SIZE := 16777216 +BOARD_RECOVERYIMAGE_PARTITION_SIZE := 20971520 +BOARD_SYSTEMIMAGE_PARTITION_SIZE := 1610612736 +BOARD_CACHEIMAGE_PARTITION_SIZE := 419430400 +BOARD_USERDATAIMAGE_PARTITION_SIZE := 12831948800 +BOARD_FLASH_BLOCK_SIZE := 131072 + +BOARD_HAS_NO_MISC_PARTITION := true +TW_DEFAULT_EXTERNAL_STORAGE := true +TW_FLASH_FROM_STORAGE := true +TW_SDEXT_NO_EXT4 := true +RECOVERY_SDCARD_ON_DATA := true + +# Crypto +TW_CRYPTO_REAL_BLKDEV := "/dev/block/platform/mtk-msdc.0/11230000.MSDC0/by-name/userdata" +TW_CRYPTO_MNT_POINT := "/data" +TW_CRYPTO_KEY_LOC := "footer" +TW_CRYPTO_FS_OPTIONS := "nosuid,nodev,noatime,discard,noauto_da_alloc,data =ordered" + +# TWRP config +#TW_USE_TOOLBOX := true +TW_EXCLUDE_SUPERSU := true +TW_MAX_BRIGHTNESS := 255 +TW_NO_USB_STORAGE := true +BOARD_USE_FRAMEBUFFER_ALPHA_CHANNEL := true +TARGET_DISABLE_TRIPLE_BUFFERING := false +TW_DEFAULT_BRIGHTNESS := 128 +TW_THEME := portrait_hdpi +TARGET_USERIMAGES_USE_EXT4 := true + +BOARD_HAS_NO_REAL_SDCARD := true +BOARD_HAS_FLIPPED_SCREEN := true + +BOARD_HAS_LARGE_FILESYSTEM := true +BOARD_HAS_NO_MISC_PARTITION := true +BOARD_HAS_NO_SELECT_BUTTON := true +BOARD_SUPPRESS_SECURE_ERASE := true +BOARD_SUPPRESS_EMMC_WIPE := true + +# Device config +DEVICE_RESOLUTION := 1080x1920 +DEVICE_SCREEN_WIDTH := 1080 +DEVICE_SCREEN_HEIGHT := 1920 +TW_THEME := portrait_hdpi + +TW_HAS_DOWNLOAD_MODE := false + +TARGET_RECOVERY_FSTAB := device/meizu/m2note/rootdir/recovery.fstab + +TW_INTERNAL_STORAGE_PATH := "/data/media" +TW_INTERNAL_STORAGE_MOUNT_POINT := "data" +TW_EXTERNAL_STORAGE_PATH := "/external_sd" +TW_EXTERNAL_STORAGE_MOUNT_POINT := "external_sd" + +TW_CUSTOM_CPU_TEMP_PATH := /sys/class/thermal/thermal_zone1/temp +TARGET_USE_CUSTOM_LUN_FILE_PATH := /sys/class/android_usb/f_mass_storage/lun/file +TW_MTP_DEVICE := /dev/mtp_usb +TW_BRIGHTNESS_PATH := /sys/devices/platform/leds-mt65xx/leds/lcd-backlight/brightness + +BOARD_USE_CUSTOM_RECOVERY_FONT := \"roboto_15x24.h\" +TARGET_RECOVERY_PIXEL_FORMAT := "RGBA_8888" + +TW_USE_MODEL_HARDWARE_ID_FOR_DEVICE_ID := false +TW_FORCE_CPUINFO_FOR_DEVICE_ID := false + diff --git a/README.md b/README.md new file mode 100644 index 0000000..ebdfe41 --- /dev/null +++ b/README.md @@ -0,0 +1,27 @@ +TWRP device tree for Meizu M2 Note (MT6753) +--- +based against CM-13.0 - Marshmallow +OTA device name : m2n / m2note / m571 / m571h + +1. Git clone this repository to $ANDROID_SOURCES/device/meizu/m2note/ +2. Add these lines to your local_manifest : +``` + + + + +``` +3. from the $ANDROID_SOURCES do : +``` +repo sync && make clean +. build/envsetup.sh +breakfast m2note +make -jX recoveryimage +``` +Note: Make sure to replace -jX by your CPU number of cores +1, e.g. a quadcore would use -j5 (4+1). + +Your newly built recovery.img will be placed in : +$ANDROID_SOURCES/out/target/product/m2note/ (recovery.img) + +Enjoy :) + diff --git a/cm.mk b/cm.mk new file mode 100644 index 0000000..b83f12b --- /dev/null +++ b/cm.mk @@ -0,0 +1,34 @@ +# +# Copyright (C) 2016 The CyanogenMod 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. +# + +# Inherit some common CM stuff. +$(call inherit-product, vendor/cm/config/common_full_phone.mk) + +# Inherit device configuration +$(call inherit-product, $(LOCAL_PATH)/device_m2note.mk) + +# Device identifier +PRODUCT_BRAND := MEIZU +PRODUCT_DEVICE := m2note +PRODUCT_MANUFACTURER := MEIZU +PRODUCT_MODEL := M2Note +PRODUCT_NAME := cm_m2note +PRODUCT_RELEASE_NAME := m2note +PRODUCT_RESTRICT_VENDOR_FILES := false + +PRODUCT_DEFAULT_LANGUAGE := en +PRODUCT_DEFAULT_REGION := US + diff --git a/device_m2note.mk b/device_m2note.mk new file mode 100644 index 0000000..640af0b --- /dev/null +++ b/device_m2note.mk @@ -0,0 +1,23 @@ +# +# Copyright (C) 2016 The CyanogenMod 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 := device/meizu/m2note + +PRODUCT_COPY_FILES += $(LOCAL_PATH)/rootdir/etc/twrp.fstab:recovery/root/etc/twrp.fstab + +# Necessary to mount a PC +$(call inherit-product, build/target/product/full.mk) + diff --git a/rootdir/etc/twrp.fstab b/rootdir/etc/twrp.fstab new file mode 100644 index 0000000..01cbe8d --- /dev/null +++ b/rootdir/etc/twrp.fstab @@ -0,0 +1,15 @@ +# mount point fstype device [device2] + +/boot emmc /dev/block/platform/mtk-msdc.0/11230000.MSDC0/by-name/boot flags=display="Boot";backup=1;flashimg=1 +/cache ext4 /dev/block/platform/mtk-msdc.0/11230000.MSDC0/by-name/cache flags=display="Cache";backup=1 +/lk emmc /dev/block/platform/mtk-msdc.0/11230000.MSDC0/by-name/lk flags=display="Uboot";backup=1;flashimg=1 +/logo emmc /dev/block/platform/mtk-msdc.0/11230000.MSDC0/by-name/logo flags=display="Logo";backup=1;flashimg=1 +/metadata emmc /dev/block/platform/mtk-msdc.0/11230000.MSDC0/by-name/metadata +/nvram emmc /dev/block/platform/mtk-msdc.0/11230000.MSDC0/by-name/nvram flags=display="Nvram";backup=1 +/secro emmc /dev/block/platform/mtk-msdc.0/11230000.MSDC0/by-name/secro flags=display="Secro";backup=1;flashimg=1 +/recovery emmc /dev/block/platform/mtk-msdc.0/11230000.MSDC0/by-name/recovery flags=display="Recovery";backup=1;backup=1 +/system ext4 /dev/block/platform/mtk-msdc.0/11230000.MSDC0/by-name/system flags=display="System";backup=1 +/data ext4 /dev/block/platform/mtk-msdc.0/11230000.MSDC0/by-name/userdata flags=length=-16384,encryptable=/dev/block/platform/mtk-msdc.0/11230000.MSDC0/by-name/metadata;display="Data";backup=1 +/external_sd auto /dev/block/mmcblk1p1 /dev/block/mmcblk1 flags=display="External SDcard";storage;removable;backup=0 +/usbotg auto /dev/block/sda1 /dev/block/sda flags=display="USB-OTG";storage;removable;backup=0 +/persistent emmc /dev/block/platform/mtk-msdc.0/11230000.MSDC0/by-name/frp diff --git a/rootdir/recovery.fstab b/rootdir/recovery.fstab new file mode 100644 index 0000000..27146ec --- /dev/null +++ b/rootdir/recovery.fstab @@ -0,0 +1,19 @@ +# 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 + +/dev/block/platform/mtk-msdc.0/by-name/boot /boot emmc defaults defaults +/dev/block/platform/mtk-msdc.0/by-name/cache /cache ext4 noatime,nosuid,nodev,noauto_da_alloc,discard wait,check +/dev/block/platform/mtk-msdc.0/by-name/lk /uboot emmc defaults defaults +/dev/block/platform/mtk-msdc.0/by-name/logo /logo emmc defaults defaults +/dev/block/platform/mtk-msdc.0/by-name/metadata /metadata emmc defaults defaults +/dev/block/platform/mtk-msdc.0/by-name/nvdata /nvdata ext4 noatime,nosuid,nodev,noauto_da_alloc,discard wait,check,autoformat +/dev/block/platform/mtk-msdc.0/by-name/nvram /nvram emmc defaults defaults +/dev/block/platform/mtk-msdc.0/by-name/recovery /recovery emmc defaults defaults +/dev/block/platform/mtk-msdc.0/by-name/system /system ext4 ro wait +/dev/block/platform/mtk-msdc.0/by-name/userdata /data ext4 noatime,nosuid,nodev,noauto_da_alloc,discard wait,check,resize,encryptable=/dev/block/platform/mtk-msdc.0/by-name/metadata + +/devices/mtk-msdc.0/11240000.MSDC1/mmc_host/mmc1 auto vfat defaults voldmanaged=sdcard1:auto,noemulatedsd +/devices/platform/mt_usb auto vfat defaults voldmanaged=usbotg:auto +/dev/block/platform/mtk-msdc.0/by-name/frp /persistent emmc defaults defaults diff --git a/vendorsetup.sh b/vendorsetup.sh new file mode 100644 index 0000000..77d980f --- /dev/null +++ b/vendorsetup.sh @@ -0,0 +1,20 @@ +# +# Copyright (C) 2016 The CyanogenMod 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. +# + +add_lunch_combo cm_m2note-eng +add_lunch_combo cm_m2note-userdebug +add_lunch_combo cm_m2note-user +