blob: 4f4a847e9e066b0be31b629b2d5eeb1df370e1a2 [file] [log] [blame]
Bharath831e6d32021-08-07 20:19:03 +05301# config.mk
2#
3# Product-specific compile-time definitions.
4#
5
6FP_PATH := device/fairphone/FP3
7
8# Architecture
9TARGET_ARCH := arm64
10TARGET_ARCH_VARIANT := armv8-a
11TARGET_CPU_ABI := arm64-v8a
12TARGET_CPU_ABI2 :=
13TARGET_CPU_VARIANT := generic
14TARGET_CPU_VARIANT_RUNTIME := kryo
15
16TARGET_2ND_ARCH := arm
17TARGET_2ND_ARCH_VARIANT := armv8-a
18TARGET_2ND_CPU_ABI := armeabi-v7a
19TARGET_2ND_CPU_ABI2 := armeabi
20TARGET_2ND_CPU_VARIANT := generic
21TARGET_2ND_CPU_VARIANT_RUNTIME := cortex-a53
22TARGET_CPU_CORTEX_A53 := true
23
24
25# Adreno
26BOARD_USES_ADRENO := true
27
28
29# Audio
30# QC Audio
31#AUDIO_FEATURE_ENABLED_MULTIPLE_TUNNEL := true
32#AUDIO_FEATURE_ENABLED_VOICE_CONCURRENCY := true
33AUDIO_FEATURE_ENABLED_AAC_ADTS_OFFLOAD := true
34AUDIO_FEATURE_ENABLED_ALAC_OFFLOAD := true
35AUDIO_FEATURE_ENABLED_APE_OFFLOAD := true
36AUDIO_FEATURE_ENABLED_AUDIOSPHERE := true
37AUDIO_FEATURE_ENABLED_COMPRESS_CAPTURE := false
38AUDIO_FEATURE_ENABLED_COMPRESS_VOIP := false
39AUDIO_FEATURE_ENABLED_DS2_DOLBY_DAP := false
40AUDIO_FEATURE_ENABLED_DTS_EAGLE := false
41AUDIO_FEATURE_ENABLED_EXTN_FLAC_DECODER := true
42AUDIO_FEATURE_ENABLED_EXTN_FORMATS := true
43AUDIO_FEATURE_ENABLED_EXTN_RESAMPLER := true
44AUDIO_FEATURE_ENABLED_FLAC_OFFLOAD := true
45AUDIO_FEATURE_ENABLED_FM_POWER_OPT := true
46AUDIO_FEATURE_ENABLED_HW_ACCELERATED_EFFECTS := false
47AUDIO_FEATURE_ENABLED_PCM_OFFLOAD := true
48AUDIO_FEATURE_ENABLED_PCM_OFFLOAD_24 := true
49AUDIO_FEATURE_ENABLED_PROXY_DEVICE := true
50AUDIO_FEATURE_ENABLED_SSR := true
51AUDIO_FEATURE_ENABLED_VORBIS_OFFLOAD := true
52AUDIO_FEATURE_ENABLED_WMA_OFFLOAD := true
53AUDIO_FEATURE_QSSI_COMPLIANCE := true
54BOARD_USES_ALSA_AUDIO := true
55BOARD_USES_SRS_TRUEMEDIA := false
56DOLBY_ENABLE := false
57DTS_CODEC_M_ := true
58MM_AUDIO_ENABLED_SAFX := true
59USE_CUSTOM_AUDIO_POLICY := 1
60
61AUDIO_FEATURE_ENABLED_ACDB_LICENSE := true
62AUDIO_FEATURE_ENABLED_ANC_HEADSET := true
63AUDIO_FEATURE_ENABLED_CUSTOMSTEREO := true
64AUDIO_FEATURE_ENABLED_DEV_ARBI := false
65AUDIO_FEATURE_ENABLED_DLKM := true
66AUDIO_FEATURE_ENABLED_DYNAMIC_LOG := false # TODO: Check if this is required, has proprietary depepndency
67AUDIO_FEATURE_ENABLED_EXT_HDMI := false # TODO: Check if this is required, has proprietary depepndency
68AUDIO_FEATURE_ENABLED_FLUENCE := true
69AUDIO_FEATURE_ENABLED_HDMI_EDID := true
70AUDIO_FEATURE_ENABLED_HDMI_PASSTHROUGH := true
71AUDIO_FEATURE_ENABLED_HDMI_SPK := true
72AUDIO_FEATURE_ENABLED_HFP := true
73AUDIO_FEATURE_ENABLED_HIFI_AUDIO := true
74AUDIO_FEATURE_ENABLED_INCALL_MUSIC := true
75AUDIO_FEATURE_ENABLED_KPI_OPTIMIZE := true
76AUDIO_FEATURE_ENABLED_MULTI_VOICE_SESSIONS := true
77AUDIO_FEATURE_ENABLED_NT_PAUSE_TIMEOUT := true
78AUDIO_FEATURE_ENABLED_SND_MONITOR := true
79AUDIO_FEATURE_ENABLED_SOURCE_TRACKING := true
80AUDIO_FEATURE_ENABLED_SPKR_PROTECTION := true
81AUDIO_FEATURE_ENABLED_SVA_MULTI_STAGE := true
82AUDIO_FEATURE_ENABLED_VBAT_MONITOR := true
83AUDIO_USE_LL_AS_PRIMARY_OUTPUT := true
84BOARD_SUPPORTS_QAHW := false
85BOARD_SUPPORTS_SOUND_TRIGGER := true
86MM_AUDIO_ENABLED_FTM := true
87TARGET_USES_QCOM_MM_AUDIO := true
88USE_XML_AUDIO_POLICY_CONF := 1
89
90
91# Bluetooth
Bharatha3224922021-08-16 18:53:43 +053092BLUETOOTH_HCI_USE_MCT := true
93BOARD_ANT_WIRELESS_DEVICE := "vfs-prerelease"
94BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := device/qcom/common
95BOARD_HAVE_BLUETOOTH := true
Bharath831e6d32021-08-07 20:19:03 +053096
97
98#Board
99BOOTLOADER_PLATFORM := msm8953 # use msm8953 LK configuration
100TARGET_BOARD_PLATFORM := msm8953
101TARGET_BOOTLOADER_BOARD_NAME := FP3
102TARGET_BOOTLOADER_PLATFORM_OVERRIDE := $(TARGET_DEVICE)
103TARGET_NO_BOOTLOADER := false
104
105
106# Broken flags
107BUILD_BROKEN_NINJA_USES_ENV_VARS := SDCLANG_AE_CONFIG SDCLANG_CONFIG SDCLANG_SA_ENABLED SDCLANG_CONFIG_AOSP
108BUILD_BROKEN_NINJA_USES_ENV_VARS += TEMPORARY_DISABLE_PATH_RESTRICTIONS
109BUILD_BROKEN_NINJA_USES_ENV_VARS += RTIC_MPGEN
110
111
112# Camera
113BOARD_QTI_CAMERA_32BIT_ONLY := true
114
115
116# Data
117
118
119# Dexpreopt
120# Enable dex pre-opt to speed up initial boot
121ifeq ($(HOST_OS),linux)
122 ifeq ($(WITH_DEXPREOPT),)
123 WITH_DEXPREOPT := true
124 WITH_DEXPREOPT_PIC := true
125 ifneq ($(TARGET_BUILD_VARIANT),user)
126 # Retain classes.dex in APK's for non-user builds
127 DEX_PREOPT_DEFAULT := nostripping
128 endif
129 endif
130endif
131
132
133# File systems and Partitions
134BOARD_BUILD_SYSTEM_ROOT_IMAGE := true
135BOARD_PERSISTIMAGE_FILE_SYSTEM_TYPE := ext4
136BOARD_USES_METADATA_PARTITION := true
137BOARD_USES_RECOVERY_AS_BOOT := true
138BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4
139TARGET_COPY_OUT_VENDOR := vendor
140TARGET_NO_RECOVERY := true
141TARGET_USERIMAGES_USE_EXT4 := true
142
143# Note: Support for Product partition is intentionally removed
144# because of the limited size of the partition(125MB).
145# It will be system/product/ instead.
146
147BOARD_BOOTIMAGE_PARTITION_SIZE := 0x04000000
148BOARD_DTBOIMG_PARTITION_SIZE := 8388608
149BOARD_FLASH_BLOCK_SIZE := 131072
150BOARD_METADATAIMAGE_PARTITION_SIZE := 16777216
151BOARD_OEMIMAGE_PARTITION_SIZE := 268435456
152BOARD_PERSISTIMAGE_PARTITION_SIZE := 33554432
153BOARD_SYSTEMIMAGE_PARTITION_SIZE := 3221225472
154BOARD_USERDATAIMAGE_PARTITION_SIZE := 51808043008
155BOARD_VENDORIMAGE_PARTITION_SIZE := 1073741824
156
157
158# Filesystem
159TARGET_FS_CONFIG_GEN := $(FP_PATH)/configs/config.fs
160
161
162# GPS
163
164
165# Graphics
166# MAX_VIRTUAL_DISPLAY_DIMENSION := 4096
167MAX_EGL_CACHE_KEY_SIZE := 12*1024
168MAX_EGL_CACHE_SIZE := 2048*1024
169NUM_FRAMEBUFFER_SURFACE_BUFFERS := 3
170OVERRIDE_RS_DRIVER := libRSDriver_adreno.so
171TARGET_FORCE_HWC_FOR_VIRTUAL_DISPLAYS := true
172TARGET_USES_C2D_COMPOSITION := true
173TARGET_USES_COLOR_METADATA := true
174TARGET_USES_GRALLOC1 := true
175TARGET_USES_HWC2 := true
176TARGET_USES_ION := true
177
178
179# HIDL
180DEVICE_FRAMEWORK_MANIFEST_FILE := $(FP_PATH)/framework_manifest.xml
181DEVICE_MANIFEST_FILE := $(FP_PATH)/manifest.xml
182DEVICE_MATRIX_FILE := $(FP_PATH)/compatibility_matrix.xml
183DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE := \
184 vendor/qcom/opensource/core-utils/vendor_framework_compatibility_matrix.xml
185
186
187# Kernel
188BOARD_KERNEL_BASE := 0x80000000
189BOARD_KERNEL_PAGESIZE := 2048
190BOARD_KERNEL_OFFSET := 0x00008000
191BOARD_KERNEL_TAGS_OFFSET := 0x00000100
192BOARD_RAMDISK_OFFSET := 0x01000000
193TARGET_COMPILE_WITH_MSM_KERNEL := true
194TARGET_KERNEL_VERSION ?= 4.9
195TARGET_KERNEL_SOURCE ?= kernel/msm-$(TARGET_KERNEL_VERSION)
196TARGET_KERNEL_ARCH := arm64
197TARGET_KERNEL_HEADER_ARCH := arm64
198TARGET_KERNEL_APPEND_DTB := true
199TARGET_USES_UNCOMPRESSED_KERNEL := false
200BOARD_KERNEL_IMAGE_NAME := Image.gz-dtb
201BOARD_KERNEL_SEPARATED_DTBO := true
202
203BOARD_KERNEL_CMDLINE := androidboot.console=ttyMSM0
204BOARD_KERNEL_CMDLINE += androidboot.hardware=qcom
205BOARD_KERNEL_CMDLINE += msm_rtb.filter=0x237
206BOARD_KERNEL_CMDLINE += ehci-hcd.park=3
207BOARD_KERNEL_CMDLINE += lpm_levels.sleep_disabled=1
208BOARD_KERNEL_CMDLINE += androidboot.bootdevice=7824900.sdhci
209BOARD_KERNEL_CMDLINE += earlycon=msm_serial_dm,0x78af000
210BOARD_KERNEL_CMDLINE += androidboot.usbconfigfs=true
211BOARD_KERNEL_CMDLINE += loop.max_part=7
212ifneq (,$(filter userdebug eng,$(TARGET_BUILD_VARIANT)))
213BOARD_KERNEL_CMDLINE += console=ttyMSM0,115200,n8
214BOARD_KERNEL_CMDLINE += androidboot.selinux=permissive
215endif
216
217# Declare boot header
218BOARD_BOOT_HEADER_VERSION := 1
219BOARD_MKBOOTIMG_ARGS += --header_version $(BOARD_BOOT_HEADER_VERSION)
220
221
222# Kernel modules
223BOARD_VENDOR_KERNEL_MODULES := \
224 $(KERNEL_MODULES_OUT)/audio_apr.ko \
225 $(KERNEL_MODULES_OUT)/audio_q6_notifier.ko \
226 $(KERNEL_MODULES_OUT)/audio_adsp_loader.ko \
227 $(KERNEL_MODULES_OUT)/audio_q6.ko \
228 $(KERNEL_MODULES_OUT)/audio_usf.ko \
229 $(KERNEL_MODULES_OUT)/audio_pinctrl_wcd.ko \
230 $(KERNEL_MODULES_OUT)/audio_swr.ko \
231 $(KERNEL_MODULES_OUT)/audio_wcd_core.ko \
232 $(KERNEL_MODULES_OUT)/audio_swr_ctrl.ko \
233 $(KERNEL_MODULES_OUT)/audio_wsa881x.ko \
234 $(KERNEL_MODULES_OUT)/audio_wsa881x_analog.ko \
235 $(KERNEL_MODULES_OUT)/audio_platform.ko \
236 $(KERNEL_MODULES_OUT)/audio_cpe_lsm.ko \
237 $(KERNEL_MODULES_OUT)/audio_hdmi.ko \
238 $(KERNEL_MODULES_OUT)/audio_stub.ko \
239 $(KERNEL_MODULES_OUT)/audio_wcd9xxx.ko \
240 $(KERNEL_MODULES_OUT)/audio_mbhc.ko \
241 $(KERNEL_MODULES_OUT)/audio_wcd9335.ko \
242 $(KERNEL_MODULES_OUT)/audio_wcd_cpe.ko \
243 $(KERNEL_MODULES_OUT)/audio_digital_cdc.ko \
244 $(KERNEL_MODULES_OUT)/audio_analog_cdc.ko \
245 $(KERNEL_MODULES_OUT)/audio_native.ko \
246 $(KERNEL_MODULES_OUT)/audio_machine_sdm450.ko \
247 $(KERNEL_MODULES_OUT)/audio_machine_ext_sdm450.ko
248
Bharath177fda82021-08-14 20:30:27 +0530249BOARD_VENDOR_KERNEL_MODULES += $(KERNEL_MODULES_OUT)/pronto_wlan.ko
250
Bharath831e6d32021-08-07 20:19:03 +0530251
252# Lights
253TARGET_PROVIDES_LIBLIGHT := true
254
255
256# NFC
257
258
259# Others
260BOARD_CHARGER_DISABLE_INIT_BLANK := true # Disable the init blank to avoid flicker
261BOARD_CHARGER_ENABLE_SUSPEND := true # Enable suspend during charger mode
262BOARD_DO_NOT_STRIP_VENDOR_MODULES := true
263BOARD_USES_GENERIC_AUDIO := true
264KASLRSEED_SUPPORT := true # Enable kaslr seed support
265TARGET_USES_AOSP := false
266TARGET_USES_AOSP_FOR_AUDIO := false
267TARGET_USE_MDTP := true # Enable MDTP during recovery
268TARGET_USES_QCOM_BSP := false
269TARGET_USES_MEDIA_EXTENSIONS := true
270
271
272# QCOM hardware
273BOARD_USES_QCOM_HARDWARE := true
274
275
276# Recovery
277TARGET_RECOVERY_FSTAB := $(FP_PATH)/fstabs-4.9/recovery_AB_split_variant.fstab
278
279
280# SELinux
281include device/qcom/sepolicy/SEPolicy.mk
282BOARD_VENDOR_SEPOLICY_DIRS += $(FP_PATH)/sepolicy/vendor
283
284
285# Seccomp
286BOARD_SECCOMP_POLICY := $(FP_PATH)/seccomp
287
288
289# Sensors
Bharath00a0ca22021-08-19 09:43:30 +0530290USE_SENSOR_MULTI_HAL := true
Bharath831e6d32021-08-07 20:19:03 +0530291
292
293# Treble
294BOARD_SYSTEMSDK_VERSIONS := 28
295BOARD_VNDK_VERSION := current
296
297
298# WiFi
Bharath177fda82021-08-14 20:30:27 +0530299BOARD_HAS_QCOM_WLAN := true
300BOARD_HOSTAPD_DRIVER := NL80211
301BOARD_WLAN_DEVICE := qcwcn
302BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_$(BOARD_WLAN_DEVICE)
303BOARD_WPA_SUPPLICANT_DRIVER := NL80211
304BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_$(BOARD_WLAN_DEVICE)
305WIFI_DRIVER_MODULE_NAME := "wlan"
306WIFI_DRIVER_MODULE_PATH := "vendor/lib/modules/pronto_wlan.ko"
307WIFI_DRIVER_FW_PATH_AP := "ap"
308WIFI_DRIVER_FW_PATH_P2P := "p2p"
309WIFI_DRIVER_FW_PATH_STA := "sta"
310WIFI_DRIVER_INSTALL_TO_KERNEL_OUT := true# Part of proprietary code
311WIFI_HIDL_UNIFIED_SUPPLICANT_SERVICE_RC_ENTRY := true
312WPA_SUPPLICANT_VERSION := VER_0_8_X
Bharath831e6d32021-08-07 20:19:03 +0530313
314# Vendor-specific definitions
315-include vendor/fairphone/fp3/BoardConfigVendor.mk