blob: a27adf3f97e3c41cab4e4f4034415ac92ed4929b [file] [log] [blame]
Alexander Martinz54fdc2d2021-04-22 14:19:05 +02001#
Alexander Martinzae2138e2021-08-26 17:27:03 +02002# Copyright (C) 2021 SHIFT GmbH
3# Copyright (C) 2021 The LineageOS Project
Alexander Martinz54fdc2d2021-04-22 14:19:05 +02004#
Alexander Martinzae2138e2021-08-26 17:27:03 +02005# SPDX-License-Identifier: Apache-2.0
Alexander Martinz54fdc2d2021-04-22 14:19:05 +02006#
7
Kevin F. Haggertydc80eaa2021-04-09 08:18:37 -06008# Use the non-open-source parts
9include vendor/shift/axolotl/BoardConfigVendor.mk
Alexander Martinz54fdc2d2021-04-22 14:19:05 +020010
11DEVICE_PATH := device/shift/axolotl
12
Alexander Martinz88e692b2022-02-09 15:33:36 +010013# We copy prebuilt binaries and libs instead of packaging them
14BUILD_BROKEN_ELF_PREBUILT_PRODUCT_COPY_FILES := true
15
Alexander Martinzae2138e2021-08-26 17:27:03 +020016#####
Alexander Martinz54fdc2d2021-04-22 14:19:05 +020017
18# Architecture
19TARGET_ARCH := arm64
20TARGET_ARCH_VARIANT := armv8-a
21TARGET_CPU_ABI := arm64-v8a
22TARGET_CPU_ABI2 :=
23TARGET_CPU_VARIANT := generic
24TARGET_CPU_VARIANT_RUNTIME := kryo385
25
26TARGET_2ND_ARCH := arm
27TARGET_2ND_ARCH_VARIANT := armv8-2a
28TARGET_2ND_CPU_ABI := armeabi-v7a
29TARGET_2ND_CPU_ABI2 := armeabi
30TARGET_2ND_CPU_VARIANT := generic
31TARGET_2ND_CPU_VARIANT_RUNTIME := kryo385
32
33# Bootloader
34TARGET_BOOTLOADER_BOARD_NAME := sdm845
35TARGET_NO_BOOTLOADER := true
Alexander Martinz54fdc2d2021-04-22 14:19:05 +020036
Alexander Martinzae2138e2021-08-26 17:27:03 +020037# Display
38TARGET_SCREEN_DENSITY := 420
39
Alexander Martinz54fdc2d2021-04-22 14:19:05 +020040# Kernel
Alexander Martinz904f9872021-08-05 12:55:04 +020041TARGET_NO_KERNEL := false
42TARGET_NO_KERNEL_OVERRIDE := false
43
Alexander Martinzd25a9642023-10-17 18:53:16 +020044ifeq ($(TARGET_BUILD_VARIANT),eng)
Alexander Martinz4904e4f2024-06-27 10:47:29 +020045 TARGET_KERNEL_CONFIG := lineage_axolotl_eng_defconfig
Alexander Martinzd25a9642023-10-17 18:53:16 +020046else
Alexander Martinz4904e4f2024-06-27 10:47:29 +020047 TARGET_KERNEL_CONFIG := lineage_axolotl_defconfig
Alexander Martinzd25a9642023-10-17 18:53:16 +020048endif
Alexander Martinz4904e4f2024-06-27 10:47:29 +020049TARGET_KERNEL_SOURCE := kernel/shift/sdm845
Alexander Martinz54fdc2d2021-04-22 14:19:05 +020050
Bruno Martins21da5da2022-09-08 12:03:17 +010051TARGET_KERNEL_LLVM_BINUTILS := false
Michael Bestas964a9222022-10-31 20:39:59 +020052TARGET_KERNEL_CLANG_VERSION := r416183b
53TARGET_KERNEL_CLANG_PATH := $(abspath .)/prebuilts/clang/kernel/$(HOST_PREBUILT_TAG)/clang-$(TARGET_KERNEL_CLANG_VERSION)
Bruno Martins21da5da2022-09-08 12:03:17 +010054
Alexander Martinz54fdc2d2021-04-22 14:19:05 +020055BOARD_KERNEL_IMAGE_NAME := Image.gz-dtb
56BOARD_KERNEL_BASE := 0x00000000
57BOARD_KERNEL_PAGESIZE := 4096
Alexander Martinz54fdc2d2021-04-22 14:19:05 +020058
Alexander Martinz9b928682022-01-14 09:34:39 +010059BOARD_KERNEL_CMDLINE := androidboot.hardware=qcom
60# Enable console for eng builds
61ifeq ($(TARGET_BUILD_VARIANT),eng)
62 BOARD_KERNEL_CMDLINE += console=ttyMSM0,115200n8 earlycon=msm_geni_serial,0xA84000
63endif
64BOARD_KERNEL_CMDLINE += androidboot.console=ttyMSM0 printk.devkmsg=on
Alexander Martinz85f3b2f2022-09-22 17:27:45 +020065BOARD_KERNEL_CMDLINE += androidboot.configfs=true loop.max_part=7
Alexander Martinz54fdc2d2021-04-22 14:19:05 +020066BOARD_KERNEL_CMDLINE += msm_rtb.filter=0x237
67BOARD_KERNEL_CMDLINE += ehci-hcd.park=3
68BOARD_KERNEL_CMDLINE += service_locator.enable=1
Alexander Martinz04224742024-07-23 17:10:43 +020069BOARD_KERNEL_CMDLINE += androidboot.memcg=1
Alexander Martinz54fdc2d2021-04-22 14:19:05 +020070BOARD_KERNEL_CMDLINE += androidboot.usbcontroller=a600000.dwc3 swiotlb=2048
71BOARD_KERNEL_CMDLINE += androidboot.boot_devices=soc/1d84000.ufshc
Alexander Martinz54fdc2d2021-04-22 14:19:05 +020072
Alexander Martinzae2138e2021-08-26 17:27:03 +020073# (BOARD_KERNEL_PAGESIZE * 32)
74BOARD_FLASH_BLOCK_SIZE := 131072
75
76BOARD_KERNEL_SEPARATED_DTBO := true
Alexander Martinz54fdc2d2021-04-22 14:19:05 +020077BOARD_INCLUDE_DTB_IN_BOOTIMG := true
Alexander Martinzae2138e2021-08-26 17:27:03 +020078BOARD_BOOT_HEADER_VERSION := 2
79BOARD_MKBOOTIMG_ARGS += --header_version $(BOARD_BOOT_HEADER_VERSION)
Alexander Martinz54fdc2d2021-04-22 14:19:05 +020080
81# Platform
82TARGET_BOARD_PLATFORM := sdm845
Alexander Martinz54fdc2d2021-04-22 14:19:05 +020083
Alexander Martinzae2138e2021-08-26 17:27:03 +020084#####
Alexander Martinz54fdc2d2021-04-22 14:19:05 +020085
86# AB
87AB_OTA_UPDATER := true
Alexander Martinzae2138e2021-08-26 17:27:03 +020088AB_OTA_PARTITIONS += \
89 boot \
90 dtbo \
91 recovery \
92
93AB_OTA_PARTITIONS += \
Alexander Martinzcd276832023-11-27 15:24:01 +010094 odm \
Alexander Martinzae2138e2021-08-26 17:27:03 +020095 product \
96 system \
97 system_ext \
98 vendor \
99
100AB_OTA_PARTITIONS += \
101 vbmeta \
102 vbmeta_system \
103 vbmeta_vendor \
104
105# AVB
106BOARD_AVB_VBMETA_SYSTEM := system system_ext
107BOARD_AVB_VBMETA_SYSTEM_KEY_PATH := external/avb/test/data/testkey_rsa4096.pem
108BOARD_AVB_VBMETA_SYSTEM_ALGORITHM := SHA256_RSA4096
109BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP)
Michael Bestas62028092023-01-31 20:28:46 +0200110BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX_LOCATION := 1
Alexander Martinzae2138e2021-08-26 17:27:03 +0200111
Alexander Martinzcd276832023-11-27 15:24:01 +0100112BOARD_AVB_VBMETA_VENDOR := odm vendor
Alexander Martinzae2138e2021-08-26 17:27:03 +0200113BOARD_AVB_VBMETA_VENDOR_KEY_PATH := external/avb/test/data/testkey_rsa4096.pem
114BOARD_AVB_VBMETA_VENDOR_ALGORITHM := SHA256_RSA4096
115BOARD_AVB_VBMETA_VENDOR_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP)
Michael Bestas62028092023-01-31 20:28:46 +0200116BOARD_AVB_VBMETA_VENDOR_ROLLBACK_INDEX_LOCATION := 2
Alexander Martinzae2138e2021-08-26 17:27:03 +0200117
118# Enable AVB 2.0
119BOARD_AVB_ENABLE := true
120
121# Build the image with verity pre-disabled - https://android.googlesource.com/platform/external/avb/+/58305521295e51cb52a74d8d8bbaed738cf0767a
Nolen Johnson4c0f6842021-05-09 16:04:34 -0400122BOARD_AVB_MAKE_VBMETA_IMAGE_ARGS += --flags 3
Alexander Martinzae2138e2021-08-26 17:27:03 +0200123
124#####
125
126# ANT+
127BOARD_ANT_WIRELESS_DEVICE := "qualcomm-hidl"
Alexander Martinz54fdc2d2021-04-22 14:19:05 +0200128
129# APEX
130DEXPREOPT_GENERATE_APEX_IMAGE := true
131
132# Audio
Alexander Martinzae2138e2021-08-26 17:27:03 +0200133AUDIO_FEATURE_ENABLED_AUDIOSPHERE := true
134AUDIO_FEATURE_ENABLED_EXTENDED_COMPRESS_FORMAT := true
Alexander Martinzae2138e2021-08-26 17:27:03 +0200135AUDIO_FEATURE_ENABLED_GEF_SUPPORT := true
Alexander Martinzae2138e2021-08-26 17:27:03 +0200136BOARD_USES_ALSA_AUDIO := true
Alexander Martinz54fdc2d2021-04-22 14:19:05 +0200137
Alexander Martinz3f93efe2022-11-11 16:06:29 +0100138# Audio - Sound Trigger
139BOARD_SUPPORTS_SOUND_TRIGGER := true
140BOARD_SUPPORTS_OPENSOURCE_STHAL := true
141
Alexander Martinzae2138e2021-08-26 17:27:03 +0200142# Filesystem
143TARGET_FS_CONFIG_GEN := $(DEVICE_PATH)/rootdir/config.fs
Alexander Martinz54fdc2d2021-04-22 14:19:05 +0200144
Michael Bestas39f97cd2023-05-12 04:18:32 +0300145# GPS
146BOARD_VENDOR_QCOM_GPS_LOC_API_HARDWARE := default
147LOC_HIDL_VERSION := 3.0
148
Alexander Martinzae2138e2021-08-26 17:27:03 +0200149# Graphics
150TARGET_USES_GRALLOC1 := true
151TARGET_USES_HWC2 := true
152TARGET_USES_ION := true
Alexander Martinz54fdc2d2021-04-22 14:19:05 +0200153
Alexander Martinzae2138e2021-08-26 17:27:03 +0200154# HIDL
155DEVICE_MANIFEST_FILE := $(DEVICE_PATH)/vintf/manifest.xml
156DEVICE_MATRIX_FILE := $(DEVICE_PATH)/vintf/compatibility_matrix.xml
Alexander Martinz54fdc2d2021-04-22 14:19:05 +0200157
Alexander Martinzae2138e2021-08-26 17:27:03 +0200158# Light
159TARGET_PROVIDES_LIBLIGHT := true
160
161# LMKD
162TARGET_LMKD_STATS_LOG := true
163
Alexander Martinzae2138e2021-08-26 17:27:03 +0200164# Power
165TARGET_TAP_TO_WAKE_NODE := "/proc/touchpanel/double_tap_enable"
Alexander Martinz54fdc2d2021-04-22 14:19:05 +0200166
167# Qualcomm BSP
168BOARD_USES_QCOM_HARDWARE := true
Alexander Martinz54fdc2d2021-04-22 14:19:05 +0200169
Sal Savage601310e2022-04-15 15:38:17 -0700170# Properties
171TARGET_VENDOR_PROP += $(DEVICE_PATH)/vendor.prop
172
Alexander Martinzae2138e2021-08-26 17:27:03 +0200173# Recovery
174BOARD_INCLUDE_RECOVERY_DTBO := true
Alexander Martinz32079de2022-01-07 12:18:10 +0100175TARGET_RECOVERY_FSTAB := $(DEVICE_PATH)/rootdir/etc/fstab.axolotl
Alexander Martinzae2138e2021-08-26 17:27:03 +0200176TARGET_RECOVERY_PIXEL_FORMAT := RGBX_8888
177TARGET_RECOVERY_UI_LIB := libfstab
Michael Bestas2d668bb2022-10-14 07:09:19 +0300178TARGET_RECOVERY_UI_MARGIN_HEIGHT := 16
179TARGET_RECOVERY_UI_MARGIN_WIDTH := 16
Alexander Martinzae2138e2021-08-26 17:27:03 +0200180
Alexander Martinzae2138e2021-08-26 17:27:03 +0200181# RIL
182ENABLE_VENDOR_RIL_SERVICE := true
183
184# Security patch level
Alexander Martinz3fd2fd02023-11-27 17:38:58 +0100185VENDOR_SECURITY_PATCH := 2023-10-05
Alexander Martinzae2138e2021-08-26 17:27:03 +0200186
Alexander Martinzd0f142d2021-12-20 09:26:53 +0100187# SELinux
Edwin Moquete91512e12022-08-29 01:37:22 +0000188include device/qcom/sepolicy_vndr-legacy-um/SEPolicy.mk
Alexander Martinzae2138e2021-08-26 17:27:03 +0200189BOARD_VENDOR_SEPOLICY_DIRS += $(DEVICE_PATH)/sepolicy/vendor
190
191# Treble
192BOARD_VNDK_VERSION := current
193BOARD_SYSTEMSDK_VERSIONS := 29
194
LuK13370fbcf182022-03-23 20:42:28 +0100195# Trust
196TARGET_TRUST_USB_CONTROL_PATH := /sys/devices/platform/soc/a600000.ssusb/usb_data_enabled
197TARGET_TRUST_USB_CONTROL_ENABLE := 0
198TARGET_TRUST_USB_CONTROL_DISABLE := 1
199
Alexander Martinzae2138e2021-08-26 17:27:03 +0200200# WLAN
201BOARD_WLAN_DEVICE := qcwcn
202BOARD_HOSTAPD_DRIVER := NL80211
203BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_$(BOARD_WLAN_DEVICE)
204BOARD_WPA_SUPPLICANT_DRIVER := NL80211
205BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_$(BOARD_WLAN_DEVICE)
Alexander Martinz424914f2022-10-18 14:48:52 +0200206#WIFI_DRIVER_DEFAULT := qca_cld3
Alexander Martinzae2138e2021-08-26 17:27:03 +0200207WIFI_DRIVER_STATE_CTRL_PARAM := "/dev/wlan"
208WIFI_DRIVER_STATE_OFF := "OFF"
209WIFI_DRIVER_STATE_ON := "ON"
210WIFI_HIDL_FEATURE_DUAL_INTERFACE := true
211WIFI_HIDL_UNIFIED_SUPPLICANT_SERVICE_RC_ENTRY := true
212WPA_SUPPLICANT_VERSION := VER_0_8_X
213
214##### Partition handling
215
Alexander Martinzae2138e2021-08-26 17:27:03 +0200216BOARD_DYNAMIC_PARTITION_ENABLE := true
217
218# Define the Dynamic Partition sizes and groups.
219BOARD_SUPER_PARTITION_SIZE := 12884901888
220BOARD_SUPER_PARTITION_GROUPS := axolotl_dynamic_partitions
221BOARD_AXOLOTL_DYNAMIC_PARTITIONS_SIZE := 6438256640
222BOARD_AXOLOTL_DYNAMIC_PARTITIONS_PARTITION_LIST := \
Alexander Martinzcd276832023-11-27 15:24:01 +0100223 odm \
Alexander Martinzae2138e2021-08-26 17:27:03 +0200224 product \
225 system \
226 system_ext \
227 vendor \
228
229# Set error limit to BOARD_SUPER_PARTITON_SIZE - 500MB
230BOARD_SUPER_PARTITION_ERROR_LIMIT := 12360613888
231
232# boot.img
233BOARD_BOOTIMAGE_PARTITION_SIZE := 0x04000000
234
235# dtbo.img
236BOARD_DTBOIMG_PARTITION_SIZE := 0x0800000
237
238# metadata.img
239BOARD_METADATAIMAGE_PARTITION_SIZE := 16777216
240BOARD_USES_METADATA_PARTITION := true
241
Alexander Martinzcd276832023-11-27 15:24:01 +0100242# odm.img
243BOARD_USES_ODMIMAGE := true
244BOARD_ODMIMAGE_FILE_SYSTEM_TYPE := ext4
245TARGET_COPY_OUT_ODM := odm
246
Alexander Martinzae2138e2021-08-26 17:27:03 +0200247# persist.img
248BOARD_PERSISTIMAGE_PARTITION_SIZE := 33554432
249BOARD_PERSISTIMAGE_FILE_SYSTEM_TYPE := ext4
250
251# product.img
252BOARD_USES_PRODUCTIMAGE := true
253BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE := ext4
254TARGET_COPY_OUT_PRODUCT := product
255
256# recovery.img
257BOARD_RECOVERYIMAGE_PARTITION_SIZE := 0x06000000
258
259# system.img
260BOARD_SYSTEMIMAGE_FILE_SYSTEM_TYPE := ext4
261
262# system_ext.img
263BOARD_SYSTEM_EXTIMAGE_FILE_SYSTEM_TYPE := ext4
264TARGET_COPY_OUT_SYSTEM_EXT := system_ext
265
266# userdata.img
267TARGET_USERIMAGES_USE_EXT4 := true
268TARGET_USERIMAGES_USE_F2FS := true
Alexander Martinzaaa2ec52023-11-27 11:54:49 +0100269BOARD_USERDATAIMAGE_PARTITION_SIZE := 108982120448
Alexander Martinzae2138e2021-08-26 17:27:03 +0200270BOARD_USERDATAIMAGE_FILE_SYSTEM_TYPE := f2fs
271
272# vendor.img
273BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4
274
275# vendor.img - split
Alexander Martinzae2138e2021-08-26 17:27:03 +0200276TARGET_COPY_OUT_VENDOR := vendor
Alexander Martinzae2138e2021-08-26 17:27:03 +0200277
278# Reserve space for gapps installation and other customizations
279# product: 1500 MB
280# system: 500 MB
281# system_ext: 500 MB
282# vendor: 250 MB
Alexander Martinz095c8592022-02-09 19:11:58 +0100283ifneq ($(WITH_GMS),true)
284 BOARD_PRODUCTIMAGE_EXTFS_INODE_COUNT := -1
285 BOARD_PRODUCTIMAGE_PARTITION_RESERVED_SIZE := 1572864000
286 BOARD_SYSTEM_EXTIMAGE_EXTFS_INODE_COUNT := -1
287 BOARD_SYSTEM_EXTIMAGE_PARTITION_RESERVED_SIZE := 524288000
288 BOARD_SYSTEMIMAGE_EXTFS_INODE_COUNT := -1
289 BOARD_SYSTEMIMAGE_PARTITION_RESERVED_SIZE := 524288000
290 BOARD_VENDORIMAGE_PARTITION_RESERVED_SIZE := 262144000
291endif
Alexander Martinz245360f2022-04-08 08:48:22 +0200292
293# Include ShiftOS specific BoardConfig if existing
294-include device/shift/axolotl/shiftos/BoardConfig.mk