123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238 |
- #
- # Copyright (C) 2024 The LineageOS Project
- #
- # SPDX-License-Identifier: Apache-2.0
- #
- #BUILD_BROKEN_DUP_RULES := true
- #BUILD_BROKEN_ELF_PREBUILT_PRODUCT_COPY_FILES := true
- #BUILD_BROKEN_INCORRECT_PARTITION_IMAGES := true
- DEVICE_PATH := device/samsung/e3q
- # Architecture
- TARGET_ARCH := arm64
- TARGET_ARCH_VARIANT := armv9-a
- TARGET_CPU_ABI := arm64-v8a
- TARGET_CPU_VARIANT := generic
- TARGET_CPU_VARIANT_RUNTIME := kryo300
- # Assert
- TARGET_OTA_ASSERT_DEVICE := e3q
- # Board
- TARGET_BOARD_INFO_FILE := $(DEVICE_PATH)/board-info.txt
- # Boot
- BOARD_BOOT_HEADER_VERSION := 4
- BOARD_MKBOOTIMG_ARGS += --header_version $(BOARD_BOOT_HEADER_VERSION)
- BOARD_RAMDISK_USE_LZ4 := true
- # Bootloader
- TARGET_BOOTLOADER_BOARD_NAME := pineapple
- # Display
- TARGET_SCREEN_DENSITY := 450
- TARGET_GRALLOC_HANDLE_HAS_UBWCP_FORMAT = true
- # DTB / DTBO
- BOARD_INCLUDE_DTB_IN_BOOTIMG := true
- BOARD_USES_QCOM_MERGE_DTBS_SCRIPT := true
- TARGET_NEEDS_DTBOIMAGE := true
- # Init Boot
- BOARD_INIT_BOOT_HEADER_VERSION := 4
- BOARD_MKBOOTIMG_INIT_ARGS += --header_version $(BOARD_INIT_BOOT_HEADER_VERSION)
- # Kernel
- BOARD_KERNEL_CMDLINE := \
- androidboot.hardware=qcom \
- androidboot.memcg=1 \
- androidboot.usbcontroller=a600000.dwc3 \
- androidboot.load_modules_parallel=false \
- androidboot.hypervisor.protected_vm.supported=true \
- androidboot.selinux=permissive \
- aosp_is_booting \
- firmware_class.path=/vendor/firmware_mnt/image \
- loop.max_part=7 \
- printk.devkmsg=on \
- video=vfb:640x400,bpp=32,memsize=3072000 \
- audit=0
- BOARD_BOOTCONFIG := \
- androidboot.hardware=qcom \
- androidboot.memcg=1 \
- androidboot.usbcontroller=a600000.dwc3 \
- androidboot.load_modules_parallel=false \
- androidboot.hypervisor.protected_vm.supported=true \
- androidboot.selinux=permissive
- BOARD_KERNEL_IMAGE_NAME := Image
- BOARD_KERNEL_BASE := 0x00000000
- BOARD_KERNEL_PAGESIZE := 4096
- BOARD_USES_GENERIC_KERNEL_IMAGE := true
- TARGET_KERNEL_SOURCE := kernel/samsung/sm8650
- TARGET_KERNEL_CONFIG := \
- gki_defconfig \
- vendor/pineapple_GKI.config \
- oem/e3q-lego.config
- # Kernel modules
- BOARD_SYSTEM_KERNEL_MODULES_LOAD := $(strip $(shell cat $(DEVICE_PATH)/modules.load.system_dlkm))
- BOARD_VENDOR_KERNEL_MODULES_BLOCKLIST_FILE := $(DEVICE_PATH)/modules.blocklist
- BOARD_VENDOR_KERNEL_MODULES_LOAD := $(strip $(shell cat $(DEVICE_PATH)/modules.load))
- BOARD_VENDOR_RAMDISK_KERNEL_MODULES_BLOCKLIST_FILE := $(BOARD_VENDOR_KERNEL_MODULES_BLOCKLIST_FILE)
- BOARD_VENDOR_RAMDISK_KERNEL_MODULES_LOAD := $(strip $(shell cat $(DEVICE_PATH)/modules.load.vendor_boot))
- BOARD_VENDOR_RAMDISK_RECOVERY_KERNEL_MODULES_LOAD := $(strip $(shell cat $(DEVICE_PATH)/modules.load.recovery))
- BOOT_KERNEL_MODULES := $(strip $(shell cat $(DEVICE_PATH)/modules.load.recovery $(DEVICE_PATH)/modules.include.vendor_ramdisk))
- SYSTEM_KERNEL_MODULES := $(strip $(shell cat $(DEVICE_PATH)/modules.include.system_dlkm))
- BOARD_RECOVERY_KERNEL_MODULES_LOAD := $(strip $(shell cat $(DEVICE_PATH)/modules.load.recovery))
- BOARD_RECOVERY_RAMDISK_KERNEL_MODULES_LOAD := $(strip $(shell cat $(DEVICE_PATH)/modules.load.recovery))
- RECOVERY_KERNEL_MODULES := $(BOARD_RECOVERY_RAMDISK_KERNEL_MODULES_LOAD)
- TARGET_KERNEL_EXT_MODULE_ROOT := kernel/samsung/sm8650-modules
- TARGET_KERNEL_EXT_MODULES := \
- qcom/opensource/mmrm-driver \
- qcom/opensource/mm-drivers/hw_fence \
- qcom/opensource/mm-drivers/msm_ext_display \
- qcom/opensource/mm-drivers/sync_fence \
- qcom/opensource/securemsm-kernel \
- qcom/opensource/audio-kernel \
- qcom/opensource/camera-kernel \
- qcom/opensource/dataipa/drivers/platform/msm \
- qcom/opensource/datarmnet-ext/mem \
- qcom/opensource/datarmnet/core \
- qcom/opensource/datarmnet-ext/aps \
- qcom/opensource/datarmnet-ext/offload \
- qcom/opensource/datarmnet-ext/shs \
- qcom/opensource/datarmnet-ext/perf \
- qcom/opensource/datarmnet-ext/perf_tether \
- qcom/opensource/datarmnet-ext/sch \
- qcom/opensource/datarmnet-ext/wlan \
- qcom/opensource/display-drivers/msm \
- qcom/opensource/synx-kernel \
- qcom/opensource/dsp-kernel \
- qcom/opensource/eva-kernel \
- qcom/opensource/video-driver \
- qcom/opensource/graphics-kernel \
- qcom/opensource/wlan/platform \
- qcom/opensource/wlan/qcacld-3.0 \
- qcom/opensource/bt-kernel \
- qcom/opensource/spu-kernel \
- qcom/opensource/mm-sys-kernel/ubwcp \
- qcom/opensource/touch-drivers \
- nxp/opensource/driver
- # Metadata
- BOARD_USES_METADATA_PARTITION := true
- # Partitions
- BOARD_FLASH_BLOCK_SIZE := 262144 # (BOARD_KERNEL_PAGESIZE * 64)
- BOARD_BOOTIMAGE_PARTITION_SIZE := 100663296
- BOARD_CACHEIMAGE_PARTITION_SIZE := 367001600
- BOARD_DTBOIMG_PARTITION_SIZE := 16777216
- BOARD_INIT_BOOT_IMAGE_PARTITION_SIZE := 8388608
- BOARD_RECOVERYIMAGE_PARTITION_SIZE := 110034944
- BOARD_VENDOR_BOOTIMAGE_PARTITION_SIZE := 100663296
- BOARD_SUPER_PARTITION_SIZE := 14105444352
- BOARD_SUPER_PARTITION_GROUPS := samsung_dynamic_partitions
- BOARD_SAMSUNG_DYNAMIC_PARTITIONS_PARTITION_LIST := \
- odm \
- product \
- system \
- system_dlkm \
- system_ext \
- vendor \
- vendor_dlkm
- BOARD_SAMSUNG_DYNAMIC_PARTITIONS_SIZE := 14101250048 # (BOARD_SUPER_PARTITION_SIZE - 4MiB)
- BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE := ext4
- BOARD_ODMIMAGE_FILE_SYSTEM_TYPE := ext4
- BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE := ext4
- BOARD_SYSTEMIMAGE_FILE_SYSTEM_TYPE := ext4
- BOARD_SYSTEM_EXTIMAGE_FILE_SYSTEM_TYPE := ext4
- BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4
- BOARD_SYSTEM_DLKMIMAGE_FILE_SYSTEM_TYPE := ext4
- BOARD_VENDOR_DLKMIMAGE_FILE_SYSTEM_TYPE := ext4
- TARGET_COPY_OUT_ODM := odm
- TARGET_COPY_OUT_PRODUCT := product
- TARGET_COPY_OUT_SYSTEM_DLKM := system_dlkm
- TARGET_COPY_OUT_SYSTEM_EXT := system_ext
- TARGET_COPY_OUT_VENDOR := vendor
- TARGET_COPY_OUT_VENDOR_DLKM := vendor_dlkm
- BOARD_ROOT_EXTRA_FOLDERS := \
- efs
- # Platform
- BOARD_VENDOR := samsung
- BOARD_USES_QCOM_HARDWARE := true
- TARGET_BOARD_PLATFORM := pineapple
- # Properties
- TARGET_SYSTEM_PROP += $(DEVICE_PATH)/system.prop
- TARGET_VENDOR_PROP += $(DEVICE_PATH)/vendor.prop
- TARGET_PRODUCT_PROP += $(DEVICE_PATH)/product.prop
- TARGET_SYSTEM_EXT_PROP += $(DEVICE_PATH)/system_ext.prop
- TARGET_SYSTEM_DLKM_PROP += $(DEVICE_PATH)/system_dlkm.prop
- TARGET_ODM_PROP += $(DEVICE_PATH)/odm.prop
- TARGET_ODM_DLKM_PROP += $(DEVICE_PATH)/odm_dlkm.prop
- TARGET_VENDOR_DLKM_PROP += $(DEVICE_PATH)/vendor_dlkm.prop
- # Recovery
- TARGET_RECOVERY_FSTAB := $(DEVICE_PATH)/rootdir/etc/fstab.qcom
- BOARD_HAS_DOWNLOAD_MODE := true
- BOARD_INCLUDE_RECOVERY_DTBO := true
- BOARD_USES_FULL_RECOVERY_IMAGE := true
- BOARD_RECOVERY_MKBOOTIMG_ARGS := --header_version 2
- TARGET_RECOVERY_PIXEL_FORMAT := RGBX_8888
- TARGET_USERIMAGES_USE_F2FS := true
- # Releasetools
- TARGET_RELEASETOOLS_EXTENSIONS := $(DEVICE_PATH)
- # Security patch level
- VENDOR_SECURITY_PATCH := 2024-10-01
- # Verified Boot
- BOARD_AVB_ENABLE := true
- BOARD_AVB_MAKE_VBMETA_IMAGE_ARGS += --flags 3
- BOARD_MOVE_GSI_AVB_KEYS_TO_VENDOR_BOOT := true
- BOARD_AVB_BOOT_ALGORITHM := SHA256_RSA4096
- BOARD_AVB_BOOT_KEY_PATH := external/avb/test/data/testkey_rsa4096.pem
- BOARD_AVB_BOOT_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP)
- BOARD_AVB_BOOT_ROLLBACK_INDEX_LOCATION := 3
- BOARD_AVB_RECOVERY_ALGORITHM := SHA256_RSA4096
- BOARD_AVB_RECOVERY_KEY_PATH := external/avb/test/data/testkey_rsa4096.pem
- BOARD_AVB_RECOVERY_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP)
- BOARD_AVB_RECOVERY_ROLLBACK_INDEX_LOCATION := 1
- BOARD_AVB_VBMETA_SYSTEM := odm product system system_dlkm system_ext vendor vendor_dlkm
- BOARD_AVB_VBMETA_SYSTEM_ALGORITHM := SHA256_RSA4096
- BOARD_AVB_VBMETA_SYSTEM_KEY_PATH := external/avb/test/data/testkey_rsa4096.pem
- BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP)
- BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX_LOCATION := 2
- # Use sha256 hash algorithm for system_dlkm partition
- BOARD_AVB_SYSTEM_DLKM_ADD_HASHTREE_FOOTER_ARGS += --hash_algorithm sha256
- BOARD_AVB_VENDOR_ADD_HASHTREE_FOOTER_ARGS += --hash_algorithm sha256
- BOARD_AVB_VENDOR_DLKM_ADD_HASHTREE_FOOTER_ARGS += --hash_algorithm sha256
- BOARD_AVB_ODM_ADD_HASHTREE_FOOTER_ARGS += --hash_algorithm sha256
- # VINTF
- DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE := \
- $(DEVICE_PATH)/vintf/device_framework_matrix.xml \
- hardware/qcom-caf/common/vendor_framework_compatibility_matrix.xml \
- hardware/samsung/vintf/samsung_framework_compatibility_matrix.xml \
- vendor/lineage/config/device_framework_matrix.xml
- # DEVICE_FRAMEWORK_MANIFEST_FILE
- DEVICE_MATRIX_FILE := hardware/qcom-caf/common/compatibility_matrix.xml
- DEVICE_MANIFEST_FILE := \
- $(DEVICE_PATH)/vintf/manifest.xml
- # Inherit the proprietary files
- include vendor/samsung/e3q/BoardConfigVendor.mk
|