1# config.mk
2#
3# Product-specific compile-time definitions
4#
5
6TARGET_BOARD_PLATFORM := msm8996
7TARGET_BOOTLOADER_BOARD_NAME := marlin
8TARGET_BOARD_INFO_FILE := device/google/marlin/marlin/board-info.txt
9
10TARGET_USES_INTERACTION_BOOST := true
11
12TARGET_USES_AOSP := true
13TARGET_ARCH := arm64
14TARGET_ARCH_VARIANT := armv8-a
15TARGET_CPU_ABI := arm64-v8a
16TARGET_CPU_ABI2 :=
17TARGET_CPU_VARIANT := kryo
18
19TARGET_2ND_ARCH := arm
20TARGET_2ND_ARCH_VARIANT := armv8-a
21TARGET_2ND_CPU_ABI := armeabi-v7a
22TARGET_2ND_CPU_ABI2 := armeabi
23TARGET_2ND_CPU_VARIANT := kryo
24
25TARGET_NO_BOOTLOADER := true
26TARGET_NO_KERNEL := false
27TARGET_NO_RECOVERY := true
28ifneq ($(findstring aosp_marlin_svelte, $(TARGET_PRODUCT)),)
29TARGET_RECOVERY_FSTAB := device/google/marlin/fstab.aosp_svelte
30else
31TARGET_RECOVERY_FSTAB := device/google/marlin/fstab.common
32endif
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
52
53TARGET_USES_QCOM_MM_AUDIO := true
54
55-include $(QCPATH)/common/msm8996/BoardConfigVendor.mk
56
57TARGET_AUX_OS_VARIANT_LIST := marlin
58
59# Some framework code requires this to enable BT
60BOARD_HAVE_BLUETOOTH := true
61BOARD_USES_WIPOWER := true
62BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := device/google/marlin/bluetooth
63BOARD_HAVE_BLUETOOTH_QCOM := true
64BOARD_USES_SDM845_BLUETOOTH_HAL := true
65BOARD_HAS_QCA_BT_ROME := true
66WCNSS_FILTER_USES_SIBS := true
67
68BOARD_HAS_QCOM_WLAN := true
69BOARD_WLAN_DEVICE := qcwcn
70WPA_SUPPLICANT_VERSION := VER_0_8_X
71BOARD_WPA_SUPPLICANT_DRIVER := NL80211
72BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_$(BOARD_WLAN_DEVICE)
73BOARD_HOSTAPD_DRIVER := NL80211
74BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_$(BOARD_WLAN_DEVICE)
75WIFI_DRIVER_FW_PATH_STA := "sta"
76WIFI_DRIVER_FW_PATH_AP  := "ap"
77
78USE_OPENGL_RENDERER := true
79BOARD_USE_LEGACY_UI := true
80NUM_FRAMEBUFFER_SURFACE_BUFFERS := 3
81OVERRIDE_RS_DRIVER:= libRSDriver_adreno.so
82
83TARGET_USERIMAGES_USE_EXT4 := true
84BOARD_BOOTIMAGE_PARTITION_SIZE := 0x02000000
85BOARD_SYSTEMIMAGE_PARTITION_SIZE := 2147483648
86BOARD_SYSTEMIMAGE_EXTFS_INODE_COUNT := 4096
87ifneq ($(findstring aosp_marlin_svelte, $(TARGET_PRODUCT)),)
88BOARD_SYSTEMIMAGE_FILE_SYSTEM_TYPE := squashfs
89BOARD_SYSTEMIMAGE_JOURNAL_SIZE := 0
90BOARD_SYSTEMIMAGE_SQUASHFS_COMPRESSOR := lz4
91endif
92BOARD_USERDATAIMAGE_PARTITION_SIZE := 10737418240
93BOARD_PERSISTIMAGE_PARTITION_SIZE := 33554432
94BOARD_PERSISTIMAGE_FILE_SYSTEM_TYPE := ext4
95BOARD_FLASH_BLOCK_SIZE := 131072 # (BOARD_KERNEL_PAGESIZE * 64)
96
97TARGET_USES_ION := true
98TARGET_USES_NEW_ION_API :=true
99ifneq ($(TARGET_USES_AOSP),true)
100TARGET_USES_QCOM_BSP := true
101endif
102
103BOARD_KERNEL_CMDLINE := console=ttyHSL0,115200,n8 androidboot.console=ttyHSL0 androidboot.hardware=marlin user_debug=31 ehci-hcd.park=3 lpm_levels.sleep_disabled=1 cma=32M@0-0xffffffff loop.max_part=7
104
105BOARD_ROOT_EXTRA_FOLDERS := firmware firmware/radio persist
106BOARD_ROOT_EXTRA_SYMLINKS := /vendor/lib/dsp:/dsp
107
108BOARD_SEPOLICY_DIRS += device/google/marlin/sepolicy
109ifneq ($(filter marlin marlinf, $(TARGET_PRODUCT)),)
110BOARD_SEPOLICY_DIRS += device/google/marlin/sepolicy/verizon
111endif
112BOARD_PLAT_PRIVATE_SEPOLICY_DIR := device/google/marlin/sepolicy/private
113
114BOARD_EGL_CFG := device/google/marlin/egl.cfg
115
116BOARD_KERNEL_BASE        := 0x80000000
117BOARD_KERNEL_PAGESIZE    := 4096
118ifneq ($(filter marlin_kasan, $(TARGET_PRODUCT)),)
119BOARD_KERNEL_OFFSET      := 0x80000
120BOARD_KERNEL_TAGS_OFFSET := 0x02500000
121BOARD_RAMDISK_OFFSET     := 0x02700000
122BOARD_MKBOOTIMG_ARGS     := --kernel_offset $(BOARD_KERNEL_OFFSET) --ramdisk_offset $(BOARD_RAMDISK_OFFSET) --tags_offset $(BOARD_KERNEL_TAGS_OFFSET)
123else
124BOARD_KERNEL_TAGS_OFFSET := 0x02000000
125BOARD_RAMDISK_OFFSET     := 0x02200000
126endif
127
128TARGET_KERNEL_ARCH := arm64
129TARGET_KERNEL_HEADER_ARCH := arm64
130TARGET_KERNEL_CROSS_COMPILE_PREFIX := aarch64-linux-android-
131TARGET_USES_UNCOMPRESSED_KERNEL := false
132
133MAX_EGL_CACHE_KEY_SIZE := 12*1024
134MAX_EGL_CACHE_SIZE := 2048*1024
135
136TARGET_NO_RPC := true
137
138TARGET_PLATFORM_DEVICE_BASE := /devices/soc/
139
140#Let charger mode enter suspend
141BOARD_CHARGER_ENABLE_SUSPEND := true
142
143#Enable Peripheral Manager
144TARGET_PER_MGR_ENABLED := true
145
146#Enable HW based full disk encryption
147# TODO: disable due to compile error due to mismatch with system/vold
148# TARGET_HW_DISK_ENCRYPTION := true
149
150#Enable SW based full disk encryption
151TARGET_SWV8_DISK_ENCRYPTION := false
152
153#Enable PD locater/notifier
154TARGET_PD_SERVICE_ENABLED := true
155
156BOARD_QTI_CAMERA_32BIT_ONLY := true
157TARGET_BOOTIMG_SIGNED := true
158
159# HTC_SENSOR_HUB
160LIBHTC_SENSORHUB_PROJECT := g_project
161
162#Enable/Disable Camera daemon
163CAMERA_DAEMON_NOT_PRESENT := true
164
165#TARGET_LDPRELOAD := libNimsWrap.so
166
167# TARGET_COMPILE_WITH_MSM_KERNEL := true
168
169TARGET_KERNEL_APPEND_DTB := true
170# Added to indicate that protobuf-c is supported in this build
171PROTOBUF_SUPPORTED := false
172
173#Add NON-HLOS files for ota upgrade
174ADD_RADIO_FILES := true
175TARGET_RECOVERY_UI_LIB := librecovery_ui_nanohub
176
177#Add support for firmare upgrade on 8996
178HAVE_SYNAPTICS_DSX_FW_UPGRADE := true
179
180# Enable MDTP (Mobile Device Theft Protection)
181TARGET_USE_MDTP := true
182
183TARGET_BOARD_KERNEL_HEADERS := device/google/marlin/kernel-headers
184
185# Install odex files into the other system image
186BOARD_USES_SYSTEM_OTHER_ODEX := true
187
188-include vendor/google_devices/marlin/BoardConfigVendor.mk
189# Build a separate vendor.img
190TARGET_COPY_OUT_VENDOR := vendor
191
192#NFC
193NXP_CHIP_TYPE := 3
194
195# Testing related defines
196BOARD_PERFSETUP_SCRIPT := platform_testing/scripts/perf-setup/sailin-setup.sh
197
198# Use mke2fs to create ext4 images
199TARGET_USES_MKE2FS := true
200
201BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED := true
202
203ifneq ($(findstring marlin_svelte, $(TARGET_PRODUCT)),)
204MALLOC_SVELTE := true
205endif
206
207DEVICE_MANIFEST_FILE := device/google/marlin/manifest.xml
208DEVICE_MATRIX_FILE   := device/google/marlin/compatibility_matrix.xml
209DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE := device/google/marlin/device_framework_matrix.xml
210
211# Exclude serif fonts for saving system.img size.
212EXCLUDE_SERIF_FONTS := true
213