BoardConfig.mk 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. #
  2. # Copyright (C) 2023 The Android Open Source Project
  3. # Copyright (C) 2023 SebaUbuntu's TWRP device tree generator
  4. #
  5. # SPDX-License-Identifier: Apache-2.0
  6. #
  7. DEVICE_PATH := device/nokia/cap_sprout
  8. # For building with minimal manifest
  9. ALLOW_MISSING_DEPENDENCIES := true
  10. # A/B
  11. AB_OTA_UPDATER := true
  12. AB_OTA_PARTITIONS += \
  13. system \
  14. system_ext \
  15. product \
  16. vendor \
  17. vbmeta_system
  18. # Architecture
  19. TARGET_ARCH := arm64
  20. TARGET_ARCH_VARIANT := armv8-a
  21. TARGET_CPU_ABI := arm64-v8a
  22. TARGET_CPU_ABI2 :=
  23. TARGET_CPU_VARIANT := generic
  24. TARGET_CPU_VARIANT_RUNTIME := generic
  25. TARGET_2ND_ARCH := arm
  26. TARGET_2ND_ARCH_VARIANT := armv7-a-neon
  27. TARGET_2ND_CPU_ABI := armeabi-v7a
  28. TARGET_2ND_CPU_ABI2 := armeabi
  29. TARGET_2ND_CPU_VARIANT := generic
  30. TARGET_2ND_CPU_VARIANT_RUNTIME := cortex-a9
  31. # APEX
  32. DEXPREOPT_GENERATE_APEX_IMAGE := true
  33. # Bootloader
  34. TARGET_NO_BOOTLOADER := true
  35. # Build Rules
  36. BUILD_BROKEN_DUP_RULES := true
  37. BUILD_BROKEN_ELF_PREBUILT_PRODUCT_COPY_FILES := true
  38. # Crypto
  39. TW_INCLUDE_CRYPTO := true
  40. TW_INCLUDE_CRYPTO_FBE := true
  41. TW_INCLUDE_FBE_METADATA_DECRYPT := true
  42. BOARD_USES_QCOM_FBE_DECRYPTION := true
  43. # Debugging Configs
  44. TWRP_INCLUDE_LOGCAT := true
  45. TARGET_USES_LOGD := true
  46. # Kernel
  47. BOARD_BOOT_HEADER_VERSION := 2
  48. BOARD_KERNEL_BASE := 0x00000000
  49. BOARD_KERNEL_CMDLINE := androidboot.hardware=qcom androidboot.console=ttyMSM0 androidboot.memcg=1 lpm_levels.sleep_disabled=1 video=vfb:640x400,bpp=32,memsize=3072000 msm_rtb.filter=0x237 service_locator.enable=1 swiotlb=1 earlycon=msm_geni_serial,0x4a90000 loop.max_part=7 cgroup.memory=nokmem,nosocket
  50. BOARD_KERNEL_PAGESIZE := 4096
  51. BOARD_RAMDISK_OFFSET := 0x01000000
  52. BOARD_KERNEL_TAGS_OFFSET := 0x00000100
  53. BOARD_MKBOOTIMG_ARGS += --header_version $(BOARD_BOOT_HEADER_VERSION)
  54. BOARD_MKBOOTIMG_ARGS += --ramdisk_offset $(BOARD_RAMDISK_OFFSET)
  55. BOARD_MKBOOTIMG_ARGS += --tags_offset $(BOARD_KERNEL_TAGS_OFFSET)
  56. BOARD_KERNEL_IMAGE_NAME := Image
  57. BOARD_INCLUDE_DTB_IN_BOOTIMG := true
  58. BOARD_KERNEL_SEPARATED_DTBO := true
  59. TARGET_KERNEL_CONFIG := cap_sprout_defconfig
  60. TARGET_KERNEL_SOURCE := kernel/nokia/cap_sprout
  61. # Kernel - prebuilt
  62. TARGET_FORCE_PREBUILT_KERNEL := true
  63. ifeq ($(TARGET_FORCE_PREBUILT_KERNEL),true)
  64. TARGET_PREBUILT_KERNEL := $(DEVICE_PATH)/prebuilt/kernel
  65. TARGET_PREBUILT_DTB := $(DEVICE_PATH)/prebuilt/dtb.img
  66. BOARD_MKBOOTIMG_ARGS += --dtb $(TARGET_PREBUILT_DTB)
  67. BOARD_INCLUDE_DTB_IN_BOOTIMG :=
  68. BOARD_PREBUILT_DTBOIMAGE := $(DEVICE_PATH)/prebuilt/dtbo.img
  69. BOARD_KERNEL_SEPARATED_DTBO :=
  70. endif
  71. # Metadata
  72. BOARD_USES_METADATA_PARTITION := true
  73. # Partitions
  74. BOARD_FLASH_BLOCK_SIZE := 262144 # (BOARD_KERNEL_PAGESIZE * 64)
  75. BOARD_BOOTIMAGE_PARTITION_SIZE := 100663296
  76. BOARD_RECOVERYIMAGE_PARTITION_SIZE := 100663296
  77. BOARD_HAS_LARGE_FILESYSTEM := true
  78. BOARD_SYSTEMIMAGE_PARTITION_TYPE := ext4
  79. BOARD_USERDATAIMAGE_FILE_SYSTEM_TYPE := ext4
  80. BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4
  81. TARGET_COPY_OUT_VENDOR := vendor
  82. BOARD_SUPER_PARTITION_SIZE := 9126805504 # TODO: Fix hardcoded value
  83. BOARD_SUPER_PARTITION_GROUPS := nokia_dynamic_partitions
  84. BOARD_NOKIA_DYNAMIC_PARTITIONS_PARTITION_LIST := system system_ext product vendor
  85. BOARD_NOKIA_DYNAMIC_PARTITIONS_SIZE := 9122611200 # TODO: Fix hardcoded value
  86. # Platform
  87. BOARD_USES_QCOM_HARDWARE := true
  88. TARGET_BOARD_PLATFORM := trinket
  89. TARGET_BOOTLOADER_BOARD_NAME := $(TARGET_BOARD_PLATFORM)
  90. QCOM_BOARD_PLATFORMS := $(TARGET_BOARD_PLATFORM)
  91. # Recovery
  92. TARGET_RECOVERY_PIXEL_FORMAT := RGBX_8888
  93. TARGET_USERIMAGES_USE_EXT4 := true
  94. TARGET_USERIMAGES_USE_F2FS := true
  95. TARGET_RECOVERY_FSTAB := $(DEVICE_PATH)/recovery.fstab
  96. TARGET_VENDOR_PROP := $(DEVICE_PATH)/vendor.prop
  97. # Verified Boot
  98. BOARD_AVB_ENABLE := true
  99. BOARD_AVB_MAKE_VBMETA_IMAGE_ARGS += --flags 3
  100. # Security Patch
  101. PLATFORM_SECURITY_PATCH := 2099-12-31
  102. VENDOR_SECURITY_PATCH := $(PLATFORM_SECURITY_PATCH)
  103. # Platform Version
  104. PLATFORM_VERSION := 99.87.36
  105. PLATFORM_VERSION_LAST_STABLE := $(PLATFORM_VERSION)
  106. # TWRP Configuration
  107. TW_THEME := portrait_hdpi
  108. TW_EXTRA_LANGUAGES := true
  109. TW_SCREEN_BLANK_ON_BOOT := true
  110. TW_INPUT_BLACKLIST := "hbtp_vm"
  111. TW_USE_TOOLBOX := true
  112. TW_INCLUDE_REPACKTOOLS := true
  113. TW_NO_FLASH_CURRENT_TWRP := true # For A/B devices that has dedicated recovery, removing that option in Advance.
  114. TW_EXCLUDE_DEFAULT_USB_INIT := true
  115. TW_HAS_MTP := true
  116. TW_FORCE_KEYMASTER_VER := true
  117. # Maintainer/Version
  118. TW_DEVICE_VERSION := Crypton