# # Copyright 2017 The Android 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. # # This contains the module build definitions for the hardware-specific # components for this device. # # As much as possible, those components should be built unconditionally, # with device-specific names to avoid collisions, to avoid device-specific # bitrot and build breakages. Building a component unconditionally does # *not* include it on all devices, so it is safe even with hardware-specific # components. # Architecture TARGET_ARCH := arm64 TARGET_ARCH_VARIANT := armv8-a TARGET_CPU_ABI := arm64-v8a TARGET_CPU_ABI2 := TARGET_CPU_VARIANT := generic TARGET_CPU_VARIANT_RUNTIME := kryo385 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 := generic TARGET_2ND_CPU_VARIANT_RUNTIME := kryo385 # Bootloader TARGET_BOOTLOADER_BOARD_NAME := sdm845 TARGET_NO_RECOVERY := true BOARD_USES_RECOVERY_AS_BOOT := true TARGET_USES_UEFI := true # Kernel BOARD_KERNEL_CMDLINE := \ androidboot.selinux=permissive \ androidboot.console=ttyMSM0 \ androidboot.hardware=qcom \ androidboot.usbcontroller=a600000.dwc3 \ lpm_levels.sleep_disabled=1 \ msm_rtb.filter=0x237 \ service_locator.enable=1 \ swiotlb=2048 \ ehci-hcd.park=3 \ androidboot.configfs=true \ loop.max_part=7 \ panic_on_err=1 \ msm_drm.dsi_display0=dsi_panel_cmd_display:config0 \ zram.backend=z3fold \ video=vfb:640x400,bpp=32,memsize=3072000 BOARD_KERNEL_IMAGE_NAME := Image.gz-dtb BOARD_KERNEL_PAGESIZE := 4096 BOARD_BOOT_HEADER_VERSION := 1 BOARD_KERNEL_BASE := 0x00000000 BOARD_KERNEL_TAGS_OFFSET := 0x00000100 BOARD_KERNEL_OFFSET := 0x00008000 BOARD_KERNEL_SECOND_OFFSET := 0x00f00000 BOARD_RAMDISK_OFFSET := 0x01000000 TARGET_KERNEL_ARCH := $(TARGET_ARCH) TARGET_NO_KERNEL := false BOARD_PREBUILT_DTBOIMAGE := $(DEVICE_PATH)/prebuilt/dtbo.img TARGET_PREBUILT_KERNEL := $(DEVICE_PATH)/prebuilt/$(BOARD_KERNEL_IMAGE_NAME) BOARD_INCLUDE_RECOVERY_DTBO := true BOARD_MKBOOTIMG_ARGS += --ramdisk_offset $(BOARD_RAMDISK_OFFSET) BOARD_MKBOOTIMG_ARGS += --tags_offset $(BOARD_KERNEL_TAGS_OFFSET) BOARD_MKBOOTIMG_ARGS += --kernel_offset $(BOARD_KERNEL_OFFSET) BOARD_MKBOOTIMG_ARGS += --second_offset $(BOARD_KERNEL_SECOND_OFFSET) BOARD_MKBOOTIMG_ARGS += --header_version $(BOARD_BOOT_HEADER_VERSION) # Platform TARGET_BOARD_PLATFORM := $(TARGET_BOOTLOADER_BOARD_NAME) TARGET_BOARD_PLATFORM_GPU := qcom-adreno630 # Partition Info BOARD_FLASH_BLOCK_SIZE := 131072 BOARD_BOOTIMAGE_PARTITION_SIZE := 0x04000000 BOARD_SYSTEMIMAGE_PARTITION_SIZE := 4227858432 # Reserve space for data encryption (44712771584-16384) BOARD_USERDATAIMAGE_PARTITION_SIZE := 44712755200 BOARD_USERDATAIMAGE_FILE_SYSTEM_TYPE := ext4 BOARD_VENDORIMAGE_PARTITION_SIZE := 1056714752 BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4 TARGET_USERIMAGES_USE_EXT4 := true TARGET_USERIMAGES_USE_F2FS := true # Workaround for error copying vendor files to recovery ramdisk TARGET_COPY_OUT_VENDOR := vendor # Recovery BUILD_BROKEN_ELF_PREBUILT_PRODUCT_COPY_FILES := true TARGET_RECOVERY_DEVICE_MODULES += android.hardware.boot@1.0 TARGET_RECOVERY_FSTAB := $(COMMON_PATH)/recovery.fstab # Use mke2fs to create ext4 images TARGET_USES_MKE2FS := true # Encryption BOARD_USES_METADATA_PARTITION := true BOARD_USES_QCOM_FBE_DECRYPTION := true PLATFORM_VERSION := 99.87.36 PLATFORM_VERSION_LAST_STABLE := $(PLATFORM_VERSION) PLATFORM_SECURITY_PATCH := 2099-12-31 PRODUCT_ENFORCE_VINTF_MANIFEST := true VENDOR_SECURITY_PATCH := $(PLATFORM_SECURITY_PATCH) # Extras BOARD_SEPOLICY_DIRS += $(COMMON_PATH)/sepolicy # TWRP specific build flags TARGET_RECOVERY_QCOM_RTC_FIX := true TARGET_RECOVERY_PIXEL_FORMAT := BGRA_8888 TARGET_USE_CUSTOM_LUN_FILE_PATH := /config/usb_gadget/g1/functions/mass_storage.0/lun.%d/file RECOVERY_SDCARD_ON_DATA := true TW_ENABLE_BLKDISCARD := true TW_EXCLUDE_ENCRYPTED_BACKUPS := false TW_SKIP_ADDITIONAL_FSTAB := true TW_BRIGHTNESS_PATH := "/sys/class/backlight/panel0-backlight/brightness" TW_INPUT_BLACKLIST := "hbtp_vm" TW_NO_SCREEN_BLANK := true TW_MAX_BRIGHTNESS := 1023 #TW_DEFAULT_BRIGHTNESS := 420 TW_THEME := portrait_hdpi TW_EXCLUDE_DEFAULT_USB_INIT := true TW_EXTRA_LANGUAGES := true TW_INCLUDE_CRYPTO := true TW_INCLUDE_NTFS_3G := true TW_INCLUDE_PYTHON := true TW_INCLUDE_RESETPROP := true TW_HAS_EDL_MODE := true # TWRP Debug Flags #TWRP_EVENT_LOGGING := true TARGET_USES_LOGD := true TWRP_INCLUDE_LOGCAT := true TARGET_RECOVERY_DEVICE_MODULES += debuggerd RECOVERY_BINARY_SOURCE_FILES += $(TARGET_OUT_EXECUTABLES)/debuggerd TARGET_RECOVERY_DEVICE_MODULES += strace RECOVERY_BINARY_SOURCE_FILES += $(TARGET_OUT_EXECUTABLES)/strace # Custom TWRP Versioning #USE_CUSTOM_VERSION := true # device version is optional - the default value is "0" if nothing is set in device tree #CUSTOM_TWRP_DEVICE_VERSION := 0 # See https://github.com/minimal-manifest-twrp/android_device_common_version-info for details ifneq ($(USE_CUSTOM_VERSION),) ifneq ($(wildcard device/common/version-info/.),) # version prefix is optional - the default value is "LOCAL" if nothing is set in device tree # CUSTOM_TWRP_VERSION_PREFIX := UNOFFICIAL # Repo must be synced for automatic custom versioning to work include device/common/version-info/custom_twrp_version.mk ifeq ($(CUSTOM_TWRP_VERSION),) CUSTOM_TWRP_VERSION := $(shell date +%Y%m%d)-01 endif endif endif # # end local build flags #