BoardConfig.mk 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166
  1. #
  2. # Copyright (C) 2023 The Android Open Source Project
  3. #
  4. # Licensed under the Apache License, Version 2.0 (the "License");
  5. # you may not use this file except in compliance with the License.
  6. # You may obtain a copy of the License at
  7. #
  8. # http://www.apache.org/licenses/LICENSE-2.0
  9. #
  10. # Unless required by applicable law or agreed to in writing, software
  11. # distributed under the License is distributed on an "AS IS" BASIS,
  12. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. # See the License for the specific language governing permissions and
  14. # limitations under the License.
  15. #
  16. # PRODUCT_COPY_FILES directives.
  17. BUILD_BROKEN_ELF_PREBUILT_PRODUCT_COPY_FILES := true
  18. DISABLE_ARTIFACT_PATH_REQUIREMENTS := true
  19. # Manifest
  20. PRODUCT_ENFORCE_VINTF_MANIFEST_OVERRIDE := true
  21. # Architecture
  22. TARGET_ARCH := arm64
  23. TARGET_ARCH_VARIANT := armv8-2a
  24. TARGET_CPU_ABI := arm64-v8a
  25. TARGET_CPU_ABI2 :=
  26. TARGET_CPU_VARIANT := generic
  27. TARGET_CPU_VARIANT_RUNTIME := kryo300
  28. TARGET_2ND_ARCH := arm
  29. TARGET_2ND_ARCH_VARIANT := armv8-2a
  30. TARGET_2ND_CPU_ABI := armeabi-v7a
  31. TARGET_2ND_CPU_ABI2 := armeabi
  32. TARGET_2ND_CPU_VARIANT := generic
  33. TARGET_2ND_CPU_VARIANT_RUNTIME := cortex-a75
  34. # Bootloader
  35. TARGET_BOOTLOADER_BOARD_NAME := kalama
  36. TARGET_NO_BOOTLOADER := true
  37. # Platform
  38. BOARD_USES_QCOM_HARDWARE := true
  39. TARGET_BOARD_PLATFORM := kalama
  40. QCOM_BOARD_PLATFORMS += kalama
  41. # File systems
  42. TARGET_USES_MKE2FS := true
  43. TARGET_USERIMAGES_USE_EXT4 := true
  44. TARGET_USERIMAGES_USE_F2FS := true
  45. BOARD_HAS_LARGE_FILESYSTEM := true
  46. # Kernel
  47. BOARD_CUSTOM_BOOTIMG_MK := device/samsung/dm2q/bootimg.mk
  48. TARGET_PREBUILT_KERNEL := device/samsung/dm2q/prebuilt/Image.gz
  49. TARGET_PREBUILT_DTB := device/samsung/dm2q/prebuilt/dtb
  50. BOARD_PREBUILT_DTBOIMAGE := device/samsung/dm2q/prebuilt/dtbo
  51. BOARD_INCLUDE_DTB_IN_BOOTIMG := true
  52. BOARD_INCLUDE_RECOVERY_DTBO := true
  53. TARGET_KERNEL_ARCH := arm64
  54. BOARD_BOOT_HEADER_VERSION := 2
  55. BOARD_KERNEL_BASE := 0x00000000
  56. BOARD_KERNEL_CMDLINE := \
  57. video=vfb:640x400,bpp=32,memsize=3072000 \
  58. printk.devkmsg=on \
  59. firmware_class.path=/vendor/firmware_mnt/image \
  60. bootconfig \
  61. androidboot.hardware=qcom \
  62. androidboot.memcg=1 \
  63. androidboot.usbcontroller=a600000.dwc3 \
  64. loop.max_part=7 \
  65. androidboot.selinux=permissive
  66. BOARD_KERNEL_IMAGE_NAME := Image
  67. BOARD_KERNEL_PAGESIZE := 4096
  68. BOARD_KERNEL_OFFSET := 0x00008000
  69. BOARD_RAMDISK_OFFSET := 0x02000000
  70. BOARD_KERNEL_SECOND_OFFSET := 0x00000000
  71. BOARD_KERNEL_TAGS_OFFSET := 0x01e00000
  72. BOARD_DTB_OFFSET := 0x01f00000
  73. BOARD_MKBOOTIMG_ARGS := \
  74. --board "SRPVH05B003" \
  75. --dtb $(TARGET_PREBUILT_DTB) \
  76. --dtb_offset $(BOARD_DTB_OFFSET) \
  77. --header_version $(BOARD_BOOT_HEADER_VERSION) \
  78. --kernel_offset $(BOARD_KERNEL_OFFSET) \
  79. --pagesize $(BOARD_KERNEL_PAGESIZE) \
  80. --ramdisk_offset $(BOARD_RAMDISK_OFFSET) \
  81. --second_offset $(BOARD_KERNEL_SECOND_OFFSET) \
  82. --tags_offset $(BOARD_KERNEL_TAGS_OFFSET)
  83. # System as root
  84. BOARD_ROOT_EXTRA_FOLDERS := \
  85. cache \
  86. carrier \
  87. data_mirror \
  88. efs \
  89. linkerconfig \
  90. odm_dlkm \
  91. oem \
  92. optics \
  93. postinstall \
  94. prism \
  95. second_stage_resources \
  96. spu \
  97. system_ext \
  98. vendor_dlkm
  99. # Partitions
  100. BOARD_FLASH_BLOCK_SIZE := 262144
  101. BOARD_BOOTIMAGE_PARTITION_SIZE := 100663296
  102. BOARD_RECOVERYIMAGE_PARTITION_SIZE := 104857600
  103. # Dynamic Partitions
  104. BOARD_SUPER_PARTITION_SIZE := 12664700928
  105. BOARD_SUPER_PARTITION_GROUPS := samsung_dynamic_partitions
  106. BOARD_SAMSUNG_DYNAMIC_PARTITIONS_SIZE := 12660506624
  107. BOARD_SAMSUNG_DYNAMIC_PARTITIONS_PARTITION_LIST := system odm product system_ext vendor vendor_dlkm
  108. # Workaround for error copying vendor files to recovery ramdisk
  109. BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := erofs
  110. TARGET_COPY_OUT_VENDOR := vendor
  111. # Properties
  112. TARGET_VENDOR_PROP += device/samsung/dm2q/vendor.prop
  113. # Android Verified Boot
  114. BOARD_AVB_ENABLE := true
  115. BOARD_AVB_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP)
  116. BOARD_AVB_RECOVERY_KEY_PATH := external/avb/test/data/testkey_rsa4096.pem
  117. BOARD_AVB_RECOVERY_ALGORITHM := SHA256_RSA4096
  118. BOARD_AVB_RECOVERY_ROLLBACK_INDEX := 1
  119. BOARD_AVB_RECOVERY_ROLLBACK_INDEX_LOCATION := 1
  120. BOARD_AVB_MAKE_VBMETA_IMAGE_ARGS += --flag 2
  121. # Crypto
  122. TW_INCLUDE_CRYPTO := true
  123. TW_INCLUDE_RESETPROP := true
  124. BOARD_USES_QCOM_FBE_DECRYPTION := true
  125. BOARD_USES_METADATA_PARTITION := true
  126. # Recovery
  127. RECOVERY_SDCARD_ON_DATA := true
  128. TARGET_RECOVERY_QCOM_RTC_FIX := true
  129. TARGET_RECOVERY_PIXEL_FORMAT := "RGBX_8888"
  130. # TWRP specific build flags
  131. TW_THEME := portrait_hdpi
  132. TW_BRIGHTNESS_PATH := "/sys/class/backlight/panel0-backlight/brightness"
  133. TW_CUSTOM_CPU_TEMP_PATH := /sys/class/thermal/thermal_zone50/temp
  134. TW_BACKUP_EXCLUSIONS := /data/fonts
  135. TW_MAX_BRIGHTNESS := 612
  136. TW_DEFAULT_BRIGHTNESS := 355
  137. TW_EXCLUDE_DEFAULT_USB_INIT := true
  138. TW_HAS_DOWNLOAD_MODE := true
  139. TW_H_OFFSET := -100
  140. TW_Y_OFFSET := 100
  141. TW_INCLUDE_NTFS_3G := true
  142. TW_NO_REBOOT_BOOTLOADER := true
  143. TW_FRAMERATE := 120
  144. # TWRP Debug Flags
  145. TARGET_USES_LOGD := true
  146. TWRP_INCLUDE_LOGCAT := true