blob: 12edd4878c484479b5b3c48f46d1ba16b8c56211 [file] [log] [blame]
Zvikomborero VIncent Zvikarambaa25011a2016-07-21 16:32:35 -04001FORCE_32_BIT := true
2
3-include vendor/samsung/gprimeltecan/BoardConfigVendor.mk
Zvikomborero VIncent Zvikarambaa25011a2016-07-21 16:32:35 -04004
5LOCAL_PATH := device/samsung/gprimeltecan
6
7# Inherit from common
8-include device/samsung/qcom-common/BoardConfigCommon.mk
9
10TARGET_SPECIFIC_HEADER_PATH := $(LOCAL_PATH)/include
11
12# ANT+
13BOARD_ANT_WIRELESS_DEVICE := "vfs-prerelease"
14
15# Platform
16TARGET_ARCH := arm
Zvikomborero VIncent Zvikarambaa4ae2bf2016-07-25 00:41:06 -040017TARGET_BOARD_PLATFORM := msm8916
Zvikomborero VIncent Zvikarambaa25011a2016-07-21 16:32:35 -040018TARGET_CPU_ABI := armeabi-v7a
19TARGET_CPU_ABI2 := armeabi
20TARGET_ARCH_VARIANT := armv7-a-neon
Zvikomborero VIncent Zvikarambaa4ae2bf2016-07-25 00:41:06 -040021TARGET_BOARD_PLATFORM_GPU := qcom-adreno306
Zvikomborero VIncent Zvikarambaa25011a2016-07-21 16:32:35 -040022#ARCH_ARM_HAVE_TLS_REGISTER := true
23
24# Architecture
25TARGET_CPU_SMP := true
26TARGET_CPU_VARIANT := cortex-a53
27TARGET_GLOBAL_CFLAGS += -mfpu=neon -mfloat-abi=softfp
28TARGET_GLOBAL_CPPFLAGS += -mfpu=neon -mfloat-abi=softfp
29
30# Audio
31AUDIO_FEATURE_LOW_LATENCY_PRIMARY := true
32BOARD_USES_ALSA_AUDIO := true
33
34# Asserts
Zvikomborero VIncent Zvikaramba11a048c2016-08-13 23:53:29 -040035TARGET_OTA_ASSERT_DEVICE := gprimeltecan,samsung_sm_g530w,g530w
Zvikomborero VIncent Zvikarambaa25011a2016-07-21 16:32:35 -040036
37# Bluetooth
38BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := $(LOCAL_PATH)/bluetooth
39BOARD_HAVE_BLUETOOTH := true
40BOARD_HAVE_BLUETOOTH_QCOM := true
41BLUETOOTH_HCI_USE_MCT := true
42
Zvikomborero VIncent Zvikarambaa4ae2bf2016-07-25 00:41:06 -040043# Custom RIL class
Zvikomborero VIncent Zvikaramba46818ce2016-07-25 19:59:57 -040044BOARD_RIL_CLASS := ../../../device/samsung/gprimeltecan/ril
Zvikomborero VIncent Zvikarambaa4ae2bf2016-07-25 00:41:06 -040045PROTOBUF_SUPPORTED := true
46
Zvikomborero VIncent Zvikarambaa25011a2016-07-21 16:32:35 -040047# Bootloader
48TARGET_BOOTLOADER_BOARD_NAME := MSM8916
49
50# Camera
51TARGET_USE_VENDOR_CAMERA_EXT := true
Zvikomborero VIncent Zvikaramba323d3162016-07-25 03:15:09 -040052TARGET_PROVIDES_CAMERA_HAL := true
Zvikomborero VIncent Zvikarambaa25011a2016-07-21 16:32:35 -040053USE_DEVICE_SPECIFIC_CAMERA := true
54
55# Charger
Zvikomborero VIncent Zvikaramba5b2139b2016-08-17 16:23:39 -040056BOARD_CHARGER_ENABLE_SUSPEND := true
Zvikomborero VIncent Zvikaramba081e3a02016-07-26 06:07:53 -040057BOARD_CHARGER_SHOW_PERCENTAGE := true
Zvikomborero VIncent Zvikaramba5b2139b2016-08-17 16:23:39 -040058BOARD_CHARGING_MODE_BOOTING_LPM := /sys/class/power_supply/battery/batt_lp_charging
59
60# Enable QCOM FM feature
Zvikomborero VIncent Zvikarambaaaaa8a72016-08-17 16:45:30 -040061AUDIO_FEATURE_ENABLED_FM := true
62BOARD_HAVE_QCOM_FM := true
Zvikomborero VIncent Zvikarambaa25011a2016-07-21 16:32:35 -040063
Zvikomborero VIncent Zvikaramba50c5cb32016-07-23 01:50:09 -040064#sec_s3fwrn5 <- NFC HAL
65
Zvikomborero VIncent Zvikarambaa25011a2016-07-21 16:32:35 -040066# CMHW
67BOARD_HARDWARE_CLASS += $(LOCAL_PATH)/cmhw
68
69# Crypto
70TARGET_HW_DISK_ENCRYPTION := true
71
72# default.prop
73ADDITIONAL_DEFAULT_PROPERTIES += \
74 camera2.portability.force_api=1
75
76# Display
77MAX_EGL_CACHE_KEY_SIZE := 12*1024
78MAX_EGL_CACHE_SIZE := 2048*1024
79NUM_FRAMEBUFFER_SURFACE_BUFFERS := 3
Zvikomborero Vincent Zvikaramba94239f92016-07-28 03:48:03 -040080OVERRIDE_RS_DRIVER := libRSDriver.so
Zvikomborero VIncent Zvikarambaa25011a2016-07-21 16:32:35 -040081TARGET_CONTINUOUS_SPLASH_ENABLED := true
82TARGET_HAVE_NEW_GRALLOC := true
83
84# Encryption
85TARGET_SWV8_DISK_ENCRYPTION := true
86
87# FM
88AUDIO_FEATURE_ENABLED_FM := true
89TARGET_QCOM_NO_FM_FIRMWARE := true
90
91# Fonts
92EXTENDED_FONT_FOOTPRINT := true
93
94# GPS
Vincent Zvikarambafe30ac62016-07-27 12:08:03 -040095#TARGET_GPS_HAL_PATH := $(LOCAL_PATH)/gps
96#TARGET_NO_RPC := true
Zvikomborero VIncent Zvikaramba46818ce2016-07-25 19:59:57 -040097
Zvikomborero VIncent Zvikarambad4edd822016-08-17 16:07:16 -040098# Healthd
99BOARD_HAL_STATIC_LIBRARIES := libhealthd.qcom
100
Zvikomborero VIncent Zvikarambac313e052016-08-10 12:57:35 -0400101#ART
Zvikomborero VIncent Zvikarambacd0cc552016-08-10 16:18:52 -0400102#WITH_DEXPREOPT := true
Zvikomborero VIncent Zvikarambac313e052016-08-10 12:57:35 -0400103
Zvikomborero VIncent Zvikarambaa25011a2016-07-21 16:32:35 -0400104# Init
105TARGET_INIT_VENDOR_LIB := libinit_msm
106TARGET_LIBINIT_DEFINES_FILE := $(LOCAL_PATH)/init/init_gprimeltecan.cpp
107TARGET_PLATFORM_DEVICE_BASE := /devices/soc.0/
108TARGET_UNIFIED_DEVICE := true
109TARGET_PROVIDES_INIT_RC := true
110
111# Kernel
112BOARD_CUSTOM_BOOTIMG_MK := $(LOCAL_PATH)/mkbootimg.mk
113BOARD_KERNEL_BASE := 0x80000000
Vincent Zvikarambafe30ac62016-07-27 12:08:03 -0400114BOARD_KERNEL_CMDLINE := console=null androidboot.hardware=qcom user_debug=23 msm_rtb.filter=0x3F ehci-hcd.park=3 androidboot.bootdevice=7824900.sdhci
Zvikomborero VIncent Zvikarambaa25011a2016-07-21 16:32:35 -0400115BOARD_KERNEL_PAGESIZE := 2048
116BOARD_KERNEL_SEPARATED_DT := true
117BOARD_KERNEL_TAGS_OFFSET := 0x01E00000
118BOARD_RAMDISK_OFFSET := 0x02000000
Zvikomborero VIncent Zvikaramba4c443682016-08-12 09:35:35 -0400119TARGET_KERNEL_CONFIG := msm8916_sec_defconfig
120TARGET_KERNEL_VARIANT_CONFIG := msm8916_sec_fortuna_can_defconfig
121TARGET_KERNEL_SELINUX_CONFIG := selinux_defconfig
122TARGET_KERNEL_SELINUX_LOG_CONFIG := selinux_log_defconfig
Zvikomborero VIncent Zvikaramba11a048c2016-08-13 23:53:29 -0400123TARGET_KERNEL_SOURCE := kernel/samsung/grandprime
Zvikomborero VIncent Zvikarambaa25011a2016-07-21 16:32:35 -0400124
125# Lights
Zvikomborero VIncent Zvikaramba50c5cb32016-07-23 01:50:09 -0400126TARGET_PROVIDES_LIBLIGHT := false
Zvikomborero VIncent Zvikarambaa25011a2016-07-21 16:32:35 -0400127
128# malloc implementation
129MALLOC_IMPL := dlmalloc
130
Zvikomborero VIncent Zvikarambaa25011a2016-07-21 16:32:35 -0400131# Partition sizes
132TARGET_USERIMAGES_USE_EXT4 := true
133BOARD_BOOTIMAGE_PARTITION_SIZE := 13631488
134BOARD_RECOVERYIMAGE_PARTITION_SIZE := 15728640
135BOARD_SYSTEMIMAGE_PARTITION_SIZE := 2359296000
136BOARD_SYSTEMIMAGE_PARTITION_TPE := ext4
137BOARD_CACHEIMAGE_PARTITION_SIZE := 314572800
138BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE := ext4
139BOARD_PERSISTIMAGE_PARTITION_SIZE := 8388608
140BOARD_PERSISTIMAGE_FILE_SYSTEM_TYPE := ext4
Zvikomborero VIncent Zvikarambaa25011a2016-07-21 16:32:35 -0400141BOARD_USERDATAIMAGE_PARTITION_SIZE := 4942966784
142BOARD_FLASH_BLOCK_SIZE := 131072
Zvikomborero VIncent Zvikarambaa25011a2016-07-21 16:32:35 -0400143
144# Power
145TARGET_POWERHAL_VARIANT := qcom
Zvikomborero VIncent Zvikaramba5b2139b2016-08-17 16:23:39 -0400146#CM_POWERHAL_EXTENSION := qcom
147
148# Media
149TARGET_QCOM_MEDIA_VARIANT := caf
150TARGET_ENABLE_QC_AV_ENHANCEMENTS := true
Zvikomborero VIncent Zvikarambaa25011a2016-07-21 16:32:35 -0400151
152# Qualcomm support
153TARGET_USES_QCOM_BSP := true
154COMMON_GLOBAL_CFLAGS += -DQCOM_HARDWARE -DQCOM_BSP
Zvikomborero VIncent Zvikarambad4edd822016-08-17 16:07:16 -0400155#HAVE_SYNAPTICS_I2C_RMI4_FW_UPGRADE := true
156#USE_DEVICE_SPECIFIC_QCOM_PROPRIETARY := true
157#TARGET_USES_NEW_ION_API := true
158
159#Includes
160TARGET_SPECIFIC_HEADER_PATH := $(LOCAL_PATH)/include
Zvikomborero VIncent Zvikarambaa25011a2016-07-21 16:32:35 -0400161
162# Recovery
163BOARD_USE_CUSTOM_RECOVERY_FONT := \"roboto_15x24.h\"
164BOARD_SUPPRESS_EMMC_WIPE := true
165TARGET_RECOVERY_PIXEL_FORMAT := ABGR_8888
166TARGET_RECOVERY_QCOM_RTC_FIX := true
167TARGET_USERIMAGES_USE_EXT4 := true
Vincent Zvikarambafe30ac62016-07-27 12:08:03 -0400168TARGET_USERIMAGES_USE_F2FS := false
Zvikomborero VIncent Zvikarambaa25011a2016-07-21 16:32:35 -0400169
170# RIL
171TARGET_RIL_VARIANT := caf
Zvikomborero VIncent Zvikarambad8c60662016-07-26 01:29:33 -0400172#override to enable audio.
Zvikomborero VIncent Zvikaramba081e3a02016-07-26 06:07:53 -0400173BOARD_PROVIDES_LIBRIL := false
Zvikomborero VIncent Zvikarambaa25011a2016-07-21 16:32:35 -0400174
175# SELinux
176include device/qcom/sepolicy/sepolicy.mk
Zvikomborero VIncent Zvikaramba8b4bdcb2016-07-22 01:42:16 -0400177include vendor/cm/sepolicy/sepolicy.mk
178include vendor/cm/sepolicy/qcom/sepolicy.mk
Zvikomborero VIncent Zvikarambaa25011a2016-07-21 16:32:35 -0400179
180BOARD_SEPOLICY_DIRS += \
181 device/samsung/gprimeltecan/sepolicy
182
183BOARD_SEPOLICY_UNION += \
Zvikomborero VIncent Zvikarambaa4ae2bf2016-07-25 00:41:06 -0400184 ueventd.te \
185 file.te \
186 shell.te \
187 surfaceflinger.te \
188 bluetooth_loader.te \
189 wcnss_service.te \
190 healthd.te \
191 rild.te \
192 qseecomd.te \
193 system_server.te \
194 time_daemon.te \
195 sysinit.te \
196 mm-qcamerad.te \
197 file_contexts \
198 init_shell.te \
Zvikomborero VIncent Zvikarambaec0cfbc2016-07-26 01:48:40 -0400199 init.te \
Zvikomborero VIncent Zvikaramba541d5a22016-07-26 02:55:00 -0400200 lkmd.te \
201 qmuxd.te \
202 rfs_access.te \
203 rmt_storage.te \
Zvikomborero VIncent Zvikarambaa4ae2bf2016-07-25 00:41:06 -0400204 keystore.te \
205 perfd.te \
206 mediaserver.te \
207 property_contexts
Zvikomborero VIncent Zvikarambaa25011a2016-07-21 16:32:35 -0400208
209# Time services
210BOARD_USES_QC_TIME_SERVICES := true
211
212# TWRP
213#RECOVERY_VARIANT := twrp
214BOARD_HAS_LARGE_FILESYSTEM := true
215BOARD_HAS_NO_SELECT_BUTTON := true
216BOARD_SUPPRESS_SECURE_ERASE := true
217RECOVERY_GRAPHICS_USE_LINELENGTH := true
218RECOVERY_SDCARD_ON_DATA := true
219TW_BRIGHTNESS_PATH := "/sys/class/leds/lcd-backlight/brightness"
Zvikomborero VIncent Zvikarambaa25011a2016-07-21 16:32:35 -0400220TW_MAX_BRIGHTNESS := 255
Zvikomborero VIncent Zvikarambaa25011a2016-07-21 16:32:35 -0400221TW_HAS_DOWNLOAD_MODE := true
Zvikomborero VIncent Zvikarambaa25011a2016-07-21 16:32:35 -0400222TW_HAS_MTP := true
Zvikomborero VIncent Zvikarambaa25011a2016-07-21 16:32:35 -0400223TW_INCLUDE_CRYPTO := true
224TW_INPUT_BLACKLIST := "accelerometer"
225TW_INTERNAL_STORAGE_PATH := "/data/media/0"
Zvikomborero VIncent Zvikarambaa25011a2016-07-21 16:32:35 -0400226TW_MTP_DEVICE := /dev/usb_mtp_gadget
227TW_NEW_ION_HEAP := true
228TW_NO_REBOOT_BOOTLOADER := true
229TW_NO_SCREEN_TIMEOUT := true
230TW_NO_USB_STORAGE := true
231TW_TARGET_USES_QCOM_BSP := true
232TW_THEME := portrait_hdpi
233ifeq ($(TW),)
234 TARGET_RECOVERY_FSTAB := $(LOCAL_PATH)/recovery.fstab
235else
236 TARGET_RECOVERY_FSTAB := $(LOCAL_PATH)/recovery/twrp.fstab
Zvikomborero VIncent Zvikarambaa25011a2016-07-21 16:32:35 -0400237endif
238
239# Vold
240BOARD_VOLD_DISC_HAS_MULTIPLE_MAJORS := true
241BOARD_VOLD_MAX_PARTITIONS := 67
242TARGET_USE_CUSTOM_LUN_FILE_PATH := /sys/devices/platform/msm_hsusb/gadget/lun%d/file
243
244# Wifi
Zvikomborero VIncent Zvikarambad6daffd2016-08-03 21:54:18 -0400245WLAN_CHIPSET := pronto
Zvikomborero VIncent Zvikarambaa25011a2016-07-21 16:32:35 -0400246BOARD_HAS_QCOM_WLAN := true
247BOARD_HAS_QCOM_WLAN_SDK := true
248BOARD_HAVE_SAMSUNG_WIFI := true
249BOARD_HOSTAPD_DRIVER := NL80211
250BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_qcwcn
251BOARD_WLAN_DEVICE := qcwcn
252BOARD_WPA_SUPPLICANT_DRIVER := NL80211
253BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_qcwcn
254TARGET_USES_QCOM_WCNSS_QMI := true
255TARGET_USES_WCNSS_CTRL := true
256WIFI_DRIVER_FW_PATH_AP := "ap"
257WIFI_DRIVER_FW_PATH_STA := "sta"
258WPA_SUPPLICANT_VERSION := VER_0_8_X
Zvikomborero VIncent Zvikarambad6daffd2016-08-03 21:54:18 -0400259WIFI_DRIVER_MODULE_PATH := "/system/lib/modules/wlan.ko"
260WIFI_DRIVER_MODULE_NAME := "wlan"
Zvikomborero VIncent Zvikarambaa25011a2016-07-21 16:32:35 -0400261
262# inherit from the proprietary version
263-include vendor/samsung/gprimeltecan/BoardConfigVendor.mk
Zvikomborero VIncent Zvikarambad6daffd2016-08-03 21:54:18 -0400264
265#make, move, symlink and strip the wlan kernel module.
Zvikomborero VIncent Zvikaramba4c443682016-08-12 09:35:35 -0400266KERNEL_EXTERNAL_MODULES:
267 make -C device/samsung/gprimeltecan/wlan/prima/ WLAN_ROOT=$(ANDROID_BUILD_TOP)/device/samsung/gprimeltecan/wlan/prima/ \
268 KERNEL_SOURCE=$(KERNEL_OUT) ARCH="arm" \
269 CROSS_COMPILE="arm-eabi-"
Zvikomborero VIncent Zvikaramba4c443682016-08-12 09:35:35 -0400270 mkdir $(KERNEL_MODULES_OUT)/$(WLAN_CHIPSET)/ -p
271 ln -sf /system/lib/modules/$(WLAN_CHIPSET)/$(WLAN_CHIPSET)_wlan.ko $(TARGET_OUT)/lib/modules/wlan.ko
272 mv device/samsung/gprimeltecan/wlan/prima/wlan.ko $(KERNEL_MODULES_OUT)/$(WLAN_CHIPSET)/$(WLAN_CHIPSET)_wlan.ko
273 arm-eabi-strip --strip-debug $(KERNEL_MODULES_OUT)/$(WLAN_CHIPSET)/$(WLAN_CHIPSET)_wlan.ko
Zvikomborero VIncent Zvikarambab4663fe2016-08-18 09:25:00 -0400274 make -C device/samsung/gprimeltecan/wlan/prima/ clean
Zvikomborero VIncent Zvikaramba4c443682016-08-12 09:35:35 -0400275TARGET_KERNEL_MODULES := KERNEL_EXTERNAL_MODULES