1# 2# Product-specific compile-time definitions. 3# 4# The generic product target doesn't have any hardware-specific pieces. 5# Primary Arch 6TARGET_ARCH := arm64 7TARGET_ARCH_VARIANT := armv8-a 8TARGET_CPU_ABI := arm64-v8a 9TARGET_CPU_VARIANT := cortex-a53 10 11# Secondary Arch 12TARGET_2ND_ARCH := arm 13TARGET_2ND_ARCH_VARIANT := armv8-a 14TARGET_2ND_CPU_ABI := armeabi-v7a 15TARGET_2ND_CPU_ABI2 := armeabi 16TARGET_2ND_CPU_VARIANT := cortex-a53 17 18TARGET_USES_64_BIT_BINDER := true 19TARGET_SUPPORTS_64_BIT_APPS := true 20 21TARGET_BOARD_PLATFORM := yukawa 22 23# Vulkan 24BOARD_INSTALL_VULKAN := true 25 26# OpenCL 27BOARD_INSTALL_OPENCL := true 28 29# BT configs 30BOARD_HAVE_BLUETOOTH := true 31 32# generic wifi 33WPA_SUPPLICANT_VERSION := VER_0_8_X 34BOARD_WPA_SUPPLICANT_DRIVER := NL80211 35BOARD_HOSTAPD_DRIVER := NL80211 36 37# Treble 38PRODUCT_FULL_TREBLE_OVERRIDE := true 39BOARD_VNDK_VERSION := current 40 41# AVB 42ifeq ($(TARGET_AVB_ENABLE), true) 43BOARD_AVB_ENABLE := true 44else 45BOARD_AVB_ENABLE := false 46endif 47 48TARGET_NO_BOOTLOADER := true 49TARGET_NO_KERNEL := false 50 51ifeq ($(TARGET_USE_AB_SLOT), true) 52BOARD_USES_RECOVERY_AS_BOOT := true 53AB_OTA_UPDATER := true 54 55AB_OTA_PARTITIONS += \ 56 boot \ 57 system \ 58 vendor \ 59 vbmeta 60endif 61 62BOARD_BOOTIMAGE_PARTITION_SIZE := 33554432 63BOARD_DTBOIMG_PARTITION_SIZE := 8388608 # 8 MiB 64BOARD_SYSTEMIMAGE_FILE_SYSTEM_TYPE ?= ext4 65BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4 66ifneq ($(TARGET_USE_AB_SLOT), true) 67BOARD_CACHEIMAGE_PARTITION_SIZE := 268435456 68BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE := ext4 69endif 70TARGET_USERIMAGES_USE_EXT4 := true 71TARGET_COPY_OUT_VENDOR := vendor 72 73# Super partition 74TARGET_USE_DYNAMIC_PARTITIONS := true 75BOARD_BUILD_SUPER_IMAGE_BY_DEFAULT := true 76BOARD_SUPER_PARTITION_GROUPS := db_dynamic_partitions 77BOARD_DB_DYNAMIC_PARTITIONS_PARTITION_LIST := system vendor 78ifeq ($(TARGET_USE_AB_SLOT), true) 79BOARD_SUPER_PARTITION_SIZE := 4831838208 80else 81BOARD_SUPER_PARTITION_SIZE := 2415919104 82endif 83BOARD_DB_DYNAMIC_PARTITIONS_SIZE := 2411724800 # Reserve 4M for DAP metadata 84BOARD_SUPER_PARTITION_METADATA_DEVICE := super 85BOARD_SUPER_IMAGE_IN_UPDATE_PACKAGE := true 86 87 88# Recovery 89TARGET_RECOVERY_PIXEL_FORMAT := RGBX_8888 90ifeq ($(TARGET_AVB_ENABLE), true) 91ifeq ($(TARGET_USE_AB_SLOT), true) 92TARGET_RECOVERY_FSTAB := device/amlogic/yukawa/fstab.yukawa.avb.ab 93else 94TARGET_RECOVERY_FSTAB := device/amlogic/yukawa/fstab.recovery.yukawa.avb 95BOARD_RECOVERYIMAGE_PARTITION_SIZE := 33554432 96endif 97BOARD_AVB_RECOVERY_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem 98BOARD_AVB_RECOVERY_ALGORITHM := SHA256_RSA2048 99BOARD_AVB_RECOVERY_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP) 100BOARD_AVB_RECOVERY_ROLLBACK_INDEX_LOCATION := 2 101else 102ifeq ($(TARGET_USE_AB_SLOT), true) 103TARGET_RECOVERY_FSTAB := device/amlogic/yukawa/fstab.yukawa 104else 105TARGET_RECOVERY_FSTAB := device/amlogic/yukawa/fstab.recovery.yukawa 106BOARD_RECOVERYIMAGE_PARTITION_SIZE := 33554432 107endif 108endif 109 110 111BOARD_KERNEL_OFFSET := 0x1080000 112BOARD_KERNEL_TAGS_OFFSET := 0x1000000 113BOARD_INCLUDE_DTB_IN_BOOTIMG := true 114BOARD_MKBOOTIMG_ARGS := --kernel_offset $(BOARD_KERNEL_OFFSET) 115BOARD_BOOT_HEADER_VERSION := 2 116BOARD_MKBOOTIMG_ARGS += --header_version $(BOARD_BOOT_HEADER_VERSION) 117 118# Pass unsigned dtbo image (generated by build/tasks/dtimages.mk) to Android 119# build system for AVB signing 120DTBO_UNSIGNED := dtbo-unsigned.img 121# $(PRODUCT_OUT) hasn't been defined yet, so use "=" instead of ":=" 122# so that it is resolved later 123BOARD_PREBUILT_DTBOIMAGE = $(PRODUCT_OUT)/$(DTBO_UNSIGNED) 124 125 126BOARD_KERNEL_CMDLINE += no_console_suspend console=ttyAML0,115200 earlycon 127BOARD_KERNEL_CMDLINE += printk.devkmsg=on 128BOARD_KERNEL_CMDLINE += androidboot.boot_devices=soc/ffe07000.mmc 129BOARD_KERNEL_CMDLINE += init=/init 130BOARD_KERNEL_CMDLINE += firmware_class.path=/vendor/firmware 131BOARD_KERNEL_CMDLINE += androidboot.hardware=yukawa 132ifneq ($(TARGET_SELINUX_ENFORCE), true) 133BOARD_KERNEL_CMDLINE += androidboot.selinux=permissive 134endif 135ifeq ($(TARGET_BUILTIN_EDID), true) 136BOARD_KERNEL_CMDLINE += drm.edid_firmware=edid/1920x1080.bin 137endif 138ifneq ($(TARGET_SENSOR_MEZZANINE),) 139BOARD_KERNEL_CMDLINE += overlay_mgr.overlay_dt_entry=hardware_cfg_$(TARGET_SENSOR_MEZZANINE) 140endif 141ifneq ($(TARGET_MEM_SIZE),) 142BOARD_KERNEL_CMDLINE += mem=$(TARGET_MEM_SIZE) 143endif 144 145USE_E2FSPROGS := true 146 147BOARD_USES_GENERIC_AUDIO := false 148BOARD_USES_ALSA_AUDIO := true 149TARGET_USES_MKE2FS := true 150TARGET_USES_HWC2 := true 151BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := device/amlogic/yukawa/bluetooth 152 153BOARD_SEPOLICY_DIRS += \ 154 device/amlogic/yukawa/sepolicy 155 156DEVICE_MANIFEST_FILE += device/amlogic/yukawa/manifest.xml 157ifeq ($(TARGET_USE_AB_SLOT), true) 158DEVICE_MANIFEST_FILE += device/amlogic/yukawa/hal/bootctrl/bootctrl.xml 159endif 160 161ifneq ($(TARGET_KERNEL_USE), 4.19) 162DEVICE_MANIFEST_FILE += device/amlogic/yukawa/manifest_kernel5.xml 163endif 164DEVICE_MATRIX_FILE := device/amlogic/yukawa/compatibility_matrix.xml 165 166ifneq ($(TARGET_SENSOR_MEZZANINE),) 167DEVICE_MANIFEST_FILE += device/amlogic/yukawa/sensorhal/manifest.xml 168endif 169 170# Generate an APEX image for experiment b/119800099. 171DEXPREOPT_GENERATE_APEX_IMAGE := true 172