1# config.mk
2#
3# Product-specific compile-time definitions
4#
5
6TARGET_BOARD_PLATFORM := msm8996
7TARGET_BOOTLOADER_BOARD_NAME := sailfish
8TARGET_BOARD_INFO_FILE := device/google/marlin/sailfish/board-info.txt
9
10ENABLE_SCHEDBOOST := true
11TARGET_USES_INTERACTION_BOOST := true
12
13TARGET_USES_AOSP := true
14TARGET_ARCH := arm64
15TARGET_ARCH_VARIANT := armv8-a
16TARGET_CPU_ABI := arm64-v8a
17TARGET_CPU_ABI2 :=
18#TODO: add kryo support? TARGET_CPU_VARIANT := kryo
19TARGET_CPU_VARIANT := generic
20
21TARGET_2ND_ARCH := arm
22TARGET_2ND_ARCH_VARIANT := armv7-a-neon
23TARGET_2ND_CPU_ABI := armeabi-v7a
24TARGET_2ND_CPU_ABI2 := armeabi
25TARGET_2ND_CPU_VARIANT := krait
26
27ENABLE_CPUSETS := true
28
29TARGET_NO_BOOTLOADER := true
30TARGET_NO_KERNEL := false
31TARGET_NO_RECOVERY := true
32TARGET_RECOVERY_FSTAB := device/google/marlin/fstab.common
33BOARD_USES_RECOVERY_AS_BOOT := true
34BOARD_BUILD_SYSTEM_ROOT_IMAGE := true
35BOOTLOADER_GCC_VERSION := arm-eabi-4.8
36# use msm8996 LK configuration
37BOOTLOADER_PLATFORM := msm8996
38
39TARGET_USES_OVERLAY := true
40TARGET_FORCE_HWC_FOR_VIRTUAL_DISPLAYS := true
41MAX_VIRTUAL_DISPLAY_DIMENSION := 4096
42TARGET_USES_GRALLOC1 := true
43TARGET_USES_HWC2 := true
44VSYNC_EVENT_PHASE_OFFSET_NS := 2000000
45SF_VSYNC_EVENT_PHASE_OFFSET_NS := 6000000
46
47BOARD_USES_GENERIC_AUDIO := true
48
49BOARD_USES_ALSA_AUDIO := true
50AUDIO_FEATURE_ENABLED_MULTI_VOICE_SESSIONS := true
51AUDIO_FEATURE_ENABLED_SND_MONITOR := true
52TARGET_USES_QCOM_MM_AUDIO := true
53
54-include $(QCPATH)/common/msm8996/BoardConfigVendor.mk
55
56TARGET_AUX_OS_VARIANT_LIST := sailfish
57
58# Some framework code requires this to enable BT
59BOARD_HAVE_BLUETOOTH := true
60BOARD_USES_WIPOWER := true
61BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := device/google/marlin/bluetooth
62BOARD_HAVE_BLUETOOTH_QCOM := true
63BOARD_HAS_QCA_BT_ROME := true
64WCNSS_FILTER_USES_SIBS := true
65
66BOARD_HAS_QCOM_WLAN := true
67BOARD_WLAN_DEVICE := qcwcn
68WPA_SUPPLICANT_VERSION := VER_0_8_X
69BOARD_WPA_SUPPLICANT_DRIVER := NL80211
70BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_$(BOARD_WLAN_DEVICE)
71BOARD_HOSTAPD_DRIVER := NL80211
72BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_$(BOARD_WLAN_DEVICE)
73WIFI_DRIVER_FW_PATH_STA := "sta"
74WIFI_DRIVER_FW_PATH_AP  := "ap"
75
76USE_OPENGL_RENDERER := true
77BOARD_USE_LEGACY_UI := true
78NUM_FRAMEBUFFER_SURFACE_BUFFERS := 3
79OVERRIDE_RS_DRIVER:= libRSDriver_adreno.so
80
81TARGET_USERIMAGES_USE_EXT4 := true
82BOARD_BOOTIMAGE_PARTITION_SIZE := 0x02000000
83BOARD_SYSTEMIMAGE_PARTITION_SIZE := 2147483648
84BOARD_USERDATAIMAGE_PARTITION_SIZE := 10737418240
85BOARD_PERSISTIMAGE_PARTITION_SIZE := 33554432
86BOARD_PERSISTIMAGE_FILE_SYSTEM_TYPE := ext4
87BOARD_FLASH_BLOCK_SIZE := 131072 # (BOARD_KERNEL_PAGESIZE * 64)
88
89TARGET_USES_ION := true
90TARGET_USES_NEW_ION_API :=true
91ifneq ($(TARGET_USES_AOSP),true)
92TARGET_USES_QCOM_BSP := true
93endif
94
95BOARD_KERNEL_CMDLINE := console=ttyHSL0,115200,n8 androidboot.console=ttyHSL0 androidboot.hardware=sailfish user_debug=31 ehci-hcd.park=3 lpm_levels.sleep_disabled=1 cma=32M@0-0xffffffff loop.max_part=7
96
97BOARD_ROOT_EXTRA_FOLDERS := bt_firmware firmware firmware/radio persist
98BOARD_ROOT_EXTRA_SYMLINKS := /vendor/lib/dsp:/dsp
99
100BOARD_SEPOLICY_DIRS += device/google/marlin/sepolicy
101ifneq ($(filter sailfish sailfishf, $(TARGET_PRODUCT)),)
102BOARD_SEPOLICY_DIRS += device/google/marlin/sepolicy/verizon
103endif
104
105BOARD_EGL_CFG := device/google/marlin/egl.cfg
106
107BOARD_KERNEL_BASE        := 0x80000000
108BOARD_KERNEL_PAGESIZE    := 4096
109ifneq ($(filter sailfish_kasan, $(TARGET_PRODUCT)),)
110BOARD_KERNEL_OFFSET      := 0x80000
111BOARD_KERNEL_TAGS_OFFSET := 0x02500000
112BOARD_RAMDISK_OFFSET     := 0x02700000
113BOARD_MKBOOTIMG_ARGS     := --kernel_offset $(BOARD_KERNEL_OFFSET) --ramdisk_offset $(BOARD_RAMDISK_OFFSET) --tags_offset $(BOARD_KERNEL_TAGS_OFFSET)
114else
115BOARD_KERNEL_TAGS_OFFSET := 0x02000000
116BOARD_RAMDISK_OFFSET     := 0x02200000
117endif
118
119TARGET_KERNEL_ARCH := arm64
120TARGET_KERNEL_HEADER_ARCH := arm64
121TARGET_KERNEL_CROSS_COMPILE_PREFIX := aarch64-linux-android-
122TARGET_USES_UNCOMPRESSED_KERNEL := false
123
124MAX_EGL_CACHE_KEY_SIZE := 12*1024
125MAX_EGL_CACHE_SIZE := 2048*1024
126
127TARGET_NO_RPC := true
128
129TARGET_PLATFORM_DEVICE_BASE := /devices/soc/
130
131#Let charger mode enter suspend
132BOARD_CHARGER_ENABLE_SUSPEND := true
133
134#Enable Peripheral Manager
135TARGET_PER_MGR_ENABLED := true
136
137#Enable HW based full disk encryption
138# TODO: disable due to compile error due to mismatch with system/vold
139# TARGET_HW_DISK_ENCRYPTION := true
140
141#Enable SW based full disk encryption
142TARGET_SWV8_DISK_ENCRYPTION := false
143
144#Enable PD locater/notifier
145TARGET_PD_SERVICE_ENABLED := true
146
147BOARD_QTI_CAMERA_32BIT_ONLY := true
148TARGET_BOOTIMG_SIGNED := true
149
150# Enable dex pre-opt to speed up initial boot
151ifeq ($(HOST_OS),linux)
152  ifeq ($(WITH_DEXPREOPT),)
153    WITH_DEXPREOPT := true
154    WITH_DEXPREOPT_PIC := true
155    ifneq ($(TARGET_BUILD_VARIANT),user)
156      # Retain classes.dex in APK's for non-user builds
157      DEX_PREOPT_DEFAULT := nostripping
158    endif
159  endif
160endif
161
162# HTC_SENSOR_HUB
163LIBHTC_SENSORHUB_PROJECT := g_project
164
165#Enable/Disable Camera daemon
166CAMERA_DAEMON_NOT_PRESENT := true
167
168#TARGET_LDPRELOAD := libNimsWrap.so
169
170# TARGET_COMPILE_WITH_MSM_KERNEL := true
171
172TARGET_KERNEL_APPEND_DTB := true
173# Added to indicate that protobuf-c is supported in this build
174PROTOBUF_SUPPORTED := false
175
176#Add NON-HLOS files for ota upgrade
177ADD_RADIO_FILES := true
178TARGET_RECOVERY_UI_LIB := librecovery_ui_nanohub
179
180#Add support for firmare upgrade on 8996
181HAVE_SYNAPTICS_DSX_FW_UPGRADE := true
182
183# Enable MDTP (Mobile Device Theft Protection)
184TARGET_USE_MDTP := true
185
186# Use prebuilt APN lib from Verizon Wireless
187TARGET_USE_VERIZON_APN_LIB_PREBUILT := true
188
189TARGET_BOARD_KERNEL_HEADERS := device/google/marlin/kernel-headers
190
191# Install odex files into the other system image
192BOARD_USES_SYSTEM_OTHER_ODEX := true
193
194-include vendor/google_devices/marlin/BoardConfigVendor.mk
195# Build a separate vendor.img
196TARGET_COPY_OUT_VENDOR := vendor
197
198#NFC
199NXP_CHIP_TYPE := PN551
200
201# Testing related defines
202BOARD_PERFSETUP_SCRIPT := platform_testing/scripts/perf-setup/sailin-setup.sh
203
204BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED := true
205
206DEVICE_MANIFEST_FILE := device/google/marlin/manifest.xml
207DEVICE_MATRIX_FILE   := device/google/marlin/compatibility_matrix.xml
208