blob: 4a772b105a45ea90d0d0bb978ea0f1a29a112e47 [file] [log] [blame]
# config.mk
#
# Product-specific compile-time definitions.
#
# Check whether to use a perf or a debug kernel configuration.
# Fairphone Open (sibon) releases are userdebug builds, so use a perf kernel there. Otherwise, both
# userdebug and eng builds are considered debug configurations.
KERNEL_USE_PERF_CONFIG=true
ifeq ($(PRODUCT_FLAVOR), sibon)
ifneq (,$(filter eng,$(TARGET_BUILD_VARIANT)))
KERNEL_USE_PERF_CONFIG=false
endif
else
ifneq (,$(filter userdebug eng,$(TARGET_BUILD_VARIANT)))
KERNEL_USE_PERF_CONFIG=false
endif
endif
#Architecture
ifeq ($(TARGET_ARCH),)
TARGET_ARCH := arm
endif
ARCH_ARM_HAVE_TLS_REGISTER := true
TARGET_ARCH_VARIANT := armv7-a-neon
TARGET_CPU_ABI := armeabi-v7a
TARGET_CPU_ABI2 := armeabi
TARGET_CPU_SMP := true
TARGET_CPU_VARIANT := krait
TARGET_KERNEL_ARCH := arm
PROTOBUF_SUPPORTED := true
TARGET_USE_KRAIT_PLD_SET := true
TARGET_KRAIT_BIONIC_PLDOFFS := 10
TARGET_KRAIT_BIONIC_PLDTHRESH := 10
TARGET_KRAIT_BIONIC_BBTHRESH := 64
TARGET_KRAIT_BIONIC_PLDSIZE := 64
#Audio
AUDIO_FEATURE_ENABLED_COMPRESS_VOIP := false
AUDIO_FEATURE_ENABLED_EXTN_FORMATS := true
AUDIO_FEATURE_ENABLED_EXTN_POST_PROC := true
AUDIO_FEATURE_ENABLED_FLUENCE := true
AUDIO_FEATURE_ENABLED_FM_POWER_OPT := true
AUDIO_FEATURE_ENABLED_HFP := true
AUDIO_FEATURE_ENABLED_HWDEP_CAL := true
AUDIO_FEATURE_ENABLED_LOW_LATENCY_CAPTURE := true
AUDIO_FEATURE_ENABLED_MULTI_VOICE_SESSIONS := true
AUDIO_FEATURE_ENABLED_NEW_SAMPLE_RATE := true
AUDIO_FEATURE_ENABLED_PROXY_DEVICE := true
AUDIO_FEATURE_LOW_LATENCY_PRIMARY := true
BOARD_USES_ALSA_AUDIO := true
BOARD_USES_GENERIC_AUDIO := true
USE_CUSTOM_AUDIO_POLICY := 1
#Board
TARGET_BOARD_PLATFORM := msm8974
TARGET_BOOTLOADER_BOARD_NAME := FP2
TARGET_BOOTLOADER_PLATFORM_OVERRIDE := $(TARGET_DEVICE)
TARGET_HARDWARE_3D := false
# Camera
TARGET_USES_AOSP := false
TARGET_USES_MEDIA_EXTENSIONS := true
USE_CAMERA_STUB := false
USE_DEVICE_SPECIFIC_CAMERA := true
# Charger
BOARD_HAL_STATIC_LIBRARIES := libhealthd.FP2
#Display
NUM_FRAMEBUFFER_SURFACE_BUFFERS := 3
#Encryption
TARGET_HW_DISK_ENCRYPTION := false
#File system
BOARD_BOOTIMAGE_PARTITION_SIZE := 0x01000000
BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE := ext4
BOARD_CACHEIMAGE_PARTITION_SIZE := 671088640
BOARD_FLASH_BLOCK_SIZE := 131072 # (BOARD_KERNEL_PAGESIZE * 64)
BOARD_PERSISTIMAGE_FILE_SYSTEM_TYPE := ext4
BOARD_PERSISTIMAGE_PARTITION_SIZE := 5242880
BOARD_RECOVERYIMAGE_PARTITION_SIZE := 0x01000000
BOARD_SYSTEMIMAGE_PARTITION_SIZE := 2147483648
BOARD_TOMBSTONESIMAGE_PARTITION_SIZE := 73400320
BOARD_USERDATAIMAGE_PARTITION_SIZE := 27358941675
TARGET_BOOTIMG_SIGNED := true
TARGET_USERIMAGES_USE_EXT4 := true
#General
BOARD_EGL_CFG := device/fairphone/FP2/egl.cfg
TARGET_HAVE_HDMI_OUT := false
TARGET_NO_BOOTLOADER := false
TARGET_NO_KERNEL := false
TARGET_USES_OVERLAY := true
#GPS
TARGET_NO_RPC := true
# Graphics
# Enables Adreno RS driver
OVERRIDE_RS_DRIVER := libRSDriver_adreno.so
# Shader cache config options
# Maximum size of the GLES Shaders that can be cached for reuse.
# Increase the size if shaders of size greater than 12KB are used.
MAX_EGL_CACHE_KEY_SIZE := 12*1024
# Maximum GLES shader cache size for each app to store the compiled shader
# binaries. Decrease the size if RAM or Flash Storage size is a limitation
# of the device.
MAX_EGL_CACHE_SIZE := 2048*1024
TARGET_ADDITIONAL_GRALLOC_10_USAGE_BITS := 0x02000000U
TARGET_USES_ION := true
TARGET_USES_NEW_ION_API := true
USE_OPENGL_RENDERER := true
# HIDL
DEVICE_MANIFEST_FILE := device/fairphone/FP2/manifest.xml
ifeq ($(PRODUCT_FLAVOR), gms)
DEVICE_MANIFEST_FILE += device/fairphone/FP2/manifest_gms.xml
endif
# FM
BOARD_HAVE_QCOM_FM := true
#Init and updater
TARGET_INIT_VENDOR_LIB := libinit_msm8974
TARGET_RECOVERY_UPDATER_LIBS := librecovery_updater_msm
# Lights
TARGET_PROVIDES_LIBLIGHT := true
# Control flag between KM versions
TARGET_HW_KEYMASTER_V03 := true
#Kernel
BOARD_KERNEL_BASE := 0x00000000
BOARD_KERNEL_OFFSET := 0x00080000
BOARD_KERNEL_PAGESIZE := 2048
BOARD_KERNEL_TAGS_OFFSET := 0x01E00000
BOARD_RAMDISK_OFFSET := 0x02000000
TARGET_COMPILE_WITH_MSM_KERNEL := true
TARGET_HAS_QC_KERNEL_SOURCE := true
TARGET_KERNEL_APPEND_DTB := false
TARGET_USES_64_BIT_BINDER := true
ifeq ($(KERNEL_USE_PERF_CONFIG), false)
BOARD_KERNEL_CMDLINE := console=ttyHSL0,115200,n8 androidboot.hardware=qcom user_debug=31 msm_rtb.filter=0x3b7 ehci-hcd.park=3 androidboot.bootdevice=msm_sdcc.1
else
BOARD_KERNEL_CMDLINE := androidboot.hardware=qcom user_debug=31 msm_rtb.filter=0x3b7 ehci-hcd.park=3 androidboot.bootdevice=msm_sdcc.1
endif
BOARD_KERNEL_SEPARATED_DT := true
BOARD_MKBOOTIMG_ARGS:= --kernel_offset $(BOARD_KERNEL_OFFSET) --ramdisk_offset $(BOARD_RAMDISK_OFFSET) --tags_offset $(BOARD_KERNEL_TAGS_OFFSET)
# QCOM hardware
BOARD_USES_QCOM_HARDWARE := true
# QCOM Power
TARGET_HAS_LEGACY_POWER_STATS := true
TARGET_HAS_NO_WLAN_STATS := true
TARGET_USES_INTERACTION_BOOST := true
#SELinux
BOARD_SEPOLICY_DIRS += \
device/fairphone/FP2/sepolicy
#Widevine
BOARD_WIDEVINE_OEMCRYPTO_LEVEL := 3
# WiFi
BOARD_HAS_QCOM_WLAN := true
BOARD_HOSTAPD_DRIVER := NL80211
BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_qcwcn
BOARD_WLAN_DEVICE := qcwcn
BOARD_WPA_SUPPLICANT_DRIVER := NL80211
BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_qcwcn
PRODUCT_VENDOR_MOVE_ENABLED := true
TARGET_DISABLE_WCNSS_CONFIG_COPY := true
TARGET_USES_QCOM_WCNSS_QMI := true
WIFI_DRIVER_FW_PATH_AP := "ap"
WIFI_DRIVER_FW_PATH_STA := "sta"
WPA_SUPPLICANT_VERSION := VER_0_8_X
# Workaround framework bluetooth dependency
BOARD_HAVE_BLUETOOTH_QCOM := true
BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := device/qcom/common
TARGET_RELEASETOOLS_EXTENSIONS := device/fairphone/FP2
#Radio files
TARGET_ADD_RADIO_FILES := true
# Vendor-specific definitions
include vendor/fairphone/fp2/BoardConfigVendor.mk