blob: a6289d8b87ea7547cc3e1f830e4e93ff83416dd3 [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 Zvikaramba090c3eb2016-08-18 09:31:03 -040056# BOARD_CHARGER_ENABLE_SUSPEND := true
Zvikomborero VIncent Zvikaramba081e3a02016-07-26 06:07:53 -040057BOARD_CHARGER_SHOW_PERCENTAGE := true
Zvikomborero VIncent Zvikarambaa25011a2016-07-21 16:32:35 -040058
Zvikomborero VIncent Zvikaramba50c5cb32016-07-23 01:50:09 -040059#sec_s3fwrn5 <- NFC HAL
60
Zvikomborero VIncent Zvikarambaa25011a2016-07-21 16:32:35 -040061# CMHW
62BOARD_HARDWARE_CLASS += $(LOCAL_PATH)/cmhw
63
64# Crypto
65TARGET_HW_DISK_ENCRYPTION := true
66
67# default.prop
68ADDITIONAL_DEFAULT_PROPERTIES += \
69 camera2.portability.force_api=1
70
71# Display
72MAX_EGL_CACHE_KEY_SIZE := 12*1024
73MAX_EGL_CACHE_SIZE := 2048*1024
74NUM_FRAMEBUFFER_SURFACE_BUFFERS := 3
Zvikomborero Vincent Zvikaramba94239f92016-07-28 03:48:03 -040075OVERRIDE_RS_DRIVER := libRSDriver.so
Zvikomborero VIncent Zvikarambaa25011a2016-07-21 16:32:35 -040076TARGET_CONTINUOUS_SPLASH_ENABLED := true
77TARGET_HAVE_NEW_GRALLOC := true
78
79# Encryption
80TARGET_SWV8_DISK_ENCRYPTION := true
81
82# FM
83AUDIO_FEATURE_ENABLED_FM := true
84TARGET_QCOM_NO_FM_FIRMWARE := true
85
86# Fonts
87EXTENDED_FONT_FOOTPRINT := true
88
89# GPS
Vincent Zvikarambafe30ac62016-07-27 12:08:03 -040090#TARGET_GPS_HAL_PATH := $(LOCAL_PATH)/gps
91#TARGET_NO_RPC := true
Zvikomborero VIncent Zvikaramba46818ce2016-07-25 19:59:57 -040092
Zvikomborero VIncent Zvikarambad9b888a2016-08-18 13:51:47 -040093# Healthd
94BOARD_HAL_STATIC_LIBRARIES := libhealthd.qcom
95
Zvikomborero VIncent Zvikarambac313e052016-08-10 12:57:35 -040096#ART
Zvikomborero VIncent Zvikarambacd0cc552016-08-10 16:18:52 -040097#WITH_DEXPREOPT := true
Zvikomborero VIncent Zvikarambac313e052016-08-10 12:57:35 -040098
Zvikomborero VIncent Zvikarambaa25011a2016-07-21 16:32:35 -040099# Init
100TARGET_INIT_VENDOR_LIB := libinit_msm
101TARGET_LIBINIT_DEFINES_FILE := $(LOCAL_PATH)/init/init_gprimeltecan.cpp
102TARGET_PLATFORM_DEVICE_BASE := /devices/soc.0/
103TARGET_UNIFIED_DEVICE := true
104TARGET_PROVIDES_INIT_RC := true
105
106# Kernel
107BOARD_CUSTOM_BOOTIMG_MK := $(LOCAL_PATH)/mkbootimg.mk
108BOARD_KERNEL_BASE := 0x80000000
Vincent Zvikarambafe30ac62016-07-27 12:08:03 -0400109BOARD_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 -0400110BOARD_KERNEL_PAGESIZE := 2048
111BOARD_KERNEL_SEPARATED_DT := true
112BOARD_KERNEL_TAGS_OFFSET := 0x01E00000
113BOARD_RAMDISK_OFFSET := 0x02000000
Zvikomborero VIncent Zvikaramba4c443682016-08-12 09:35:35 -0400114TARGET_KERNEL_CONFIG := msm8916_sec_defconfig
115TARGET_KERNEL_VARIANT_CONFIG := msm8916_sec_fortuna_can_defconfig
116TARGET_KERNEL_SELINUX_CONFIG := selinux_defconfig
117TARGET_KERNEL_SELINUX_LOG_CONFIG := selinux_log_defconfig
Zvikomborero VIncent Zvikaramba11a048c2016-08-13 23:53:29 -0400118TARGET_KERNEL_SOURCE := kernel/samsung/grandprime
Zvikomborero VIncent Zvikarambaa25011a2016-07-21 16:32:35 -0400119
120# Lights
Zvikomborero VIncent Zvikaramba50c5cb32016-07-23 01:50:09 -0400121TARGET_PROVIDES_LIBLIGHT := false
Zvikomborero VIncent Zvikarambaa25011a2016-07-21 16:32:35 -0400122
123# malloc implementation
124MALLOC_IMPL := dlmalloc
125
Zvikomborero VIncent Zvikarambaa25011a2016-07-21 16:32:35 -0400126# Partition sizes
127TARGET_USERIMAGES_USE_EXT4 := true
128BOARD_BOOTIMAGE_PARTITION_SIZE := 13631488
129BOARD_RECOVERYIMAGE_PARTITION_SIZE := 15728640
130BOARD_SYSTEMIMAGE_PARTITION_SIZE := 2359296000
131BOARD_SYSTEMIMAGE_PARTITION_TPE := ext4
132BOARD_CACHEIMAGE_PARTITION_SIZE := 314572800
133BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE := ext4
134BOARD_PERSISTIMAGE_PARTITION_SIZE := 8388608
135BOARD_PERSISTIMAGE_FILE_SYSTEM_TYPE := ext4
Zvikomborero VIncent Zvikarambaa25011a2016-07-21 16:32:35 -0400136BOARD_USERDATAIMAGE_PARTITION_SIZE := 4942966784
137BOARD_FLASH_BLOCK_SIZE := 131072
Zvikomborero VIncent Zvikarambaa25011a2016-07-21 16:32:35 -0400138
139# Power
140TARGET_POWERHAL_VARIANT := qcom
141
142# Qualcomm support
143TARGET_USES_QCOM_BSP := true
144COMMON_GLOBAL_CFLAGS += -DQCOM_HARDWARE -DQCOM_BSP
Zvikomborero VIncent Zvikarambad9b888a2016-08-18 13:51:47 -0400145#HAVE_SYNAPTICS_I2C_RMI4_FW_UPGRADE := true
146#USE_DEVICE_SPECIFIC_QCOM_PROPRIETARY := true
147#TARGET_USES_NEW_ION_API := true
148
149#Includes
150TARGET_SPECIFIC_HEADER_PATH := $(LOCAL_PATH)/include
Zvikomborero VIncent Zvikarambaa25011a2016-07-21 16:32:35 -0400151
152# Recovery
153BOARD_USE_CUSTOM_RECOVERY_FONT := \"roboto_15x24.h\"
154BOARD_SUPPRESS_EMMC_WIPE := true
155TARGET_RECOVERY_PIXEL_FORMAT := ABGR_8888
156TARGET_RECOVERY_QCOM_RTC_FIX := true
157TARGET_USERIMAGES_USE_EXT4 := true
Vincent Zvikarambafe30ac62016-07-27 12:08:03 -0400158TARGET_USERIMAGES_USE_F2FS := false
Zvikomborero VIncent Zvikarambaa25011a2016-07-21 16:32:35 -0400159
160# RIL
161TARGET_RIL_VARIANT := caf
Zvikomborero VIncent Zvikarambad8c60662016-07-26 01:29:33 -0400162#override to enable audio.
Zvikomborero VIncent Zvikaramba081e3a02016-07-26 06:07:53 -0400163BOARD_PROVIDES_LIBRIL := false
Zvikomborero VIncent Zvikarambaa25011a2016-07-21 16:32:35 -0400164
165# SELinux
166include device/qcom/sepolicy/sepolicy.mk
Zvikomborero VIncent Zvikaramba8b4bdcb2016-07-22 01:42:16 -0400167include vendor/cm/sepolicy/sepolicy.mk
168include vendor/cm/sepolicy/qcom/sepolicy.mk
Zvikomborero VIncent Zvikarambaa25011a2016-07-21 16:32:35 -0400169
170BOARD_SEPOLICY_DIRS += \
171 device/samsung/gprimeltecan/sepolicy
172
173BOARD_SEPOLICY_UNION += \
Zvikomborero VIncent Zvikarambaa4ae2bf2016-07-25 00:41:06 -0400174 ueventd.te \
175 file.te \
176 shell.te \
177 surfaceflinger.te \
178 bluetooth_loader.te \
179 wcnss_service.te \
180 healthd.te \
181 rild.te \
182 qseecomd.te \
183 system_server.te \
184 time_daemon.te \
185 sysinit.te \
186 mm-qcamerad.te \
187 file_contexts \
188 init_shell.te \
Zvikomborero VIncent Zvikarambaec0cfbc2016-07-26 01:48:40 -0400189 init.te \
Zvikomborero VIncent Zvikaramba541d5a22016-07-26 02:55:00 -0400190 lkmd.te \
191 qmuxd.te \
192 rfs_access.te \
193 rmt_storage.te \
Zvikomborero VIncent Zvikarambaa4ae2bf2016-07-25 00:41:06 -0400194 keystore.te \
195 perfd.te \
196 mediaserver.te \
197 property_contexts
Zvikomborero VIncent Zvikarambaa25011a2016-07-21 16:32:35 -0400198
199# Time services
200BOARD_USES_QC_TIME_SERVICES := true
201
202# TWRP
203#RECOVERY_VARIANT := twrp
204BOARD_HAS_LARGE_FILESYSTEM := true
205BOARD_HAS_NO_SELECT_BUTTON := true
206BOARD_SUPPRESS_SECURE_ERASE := true
207RECOVERY_GRAPHICS_USE_LINELENGTH := true
208RECOVERY_SDCARD_ON_DATA := true
209TW_BRIGHTNESS_PATH := "/sys/class/leds/lcd-backlight/brightness"
Zvikomborero VIncent Zvikarambaa25011a2016-07-21 16:32:35 -0400210TW_MAX_BRIGHTNESS := 255
Zvikomborero VIncent Zvikarambaa25011a2016-07-21 16:32:35 -0400211TW_HAS_DOWNLOAD_MODE := true
Zvikomborero VIncent Zvikarambaa25011a2016-07-21 16:32:35 -0400212TW_HAS_MTP := true
Zvikomborero VIncent Zvikarambaa25011a2016-07-21 16:32:35 -0400213TW_INCLUDE_CRYPTO := true
214TW_INPUT_BLACKLIST := "accelerometer"
215TW_INTERNAL_STORAGE_PATH := "/data/media/0"
Zvikomborero VIncent Zvikarambaa25011a2016-07-21 16:32:35 -0400216TW_MTP_DEVICE := /dev/usb_mtp_gadget
217TW_NEW_ION_HEAP := true
218TW_NO_REBOOT_BOOTLOADER := true
219TW_NO_SCREEN_TIMEOUT := true
220TW_NO_USB_STORAGE := true
221TW_TARGET_USES_QCOM_BSP := true
222TW_THEME := portrait_hdpi
223ifeq ($(TW),)
224 TARGET_RECOVERY_FSTAB := $(LOCAL_PATH)/recovery.fstab
225else
226 TARGET_RECOVERY_FSTAB := $(LOCAL_PATH)/recovery/twrp.fstab
Zvikomborero VIncent Zvikarambaa25011a2016-07-21 16:32:35 -0400227endif
228
229# Vold
230BOARD_VOLD_DISC_HAS_MULTIPLE_MAJORS := true
231BOARD_VOLD_MAX_PARTITIONS := 67
232TARGET_USE_CUSTOM_LUN_FILE_PATH := /sys/devices/platform/msm_hsusb/gadget/lun%d/file
233
234# Wifi
Zvikomborero VIncent Zvikarambad6daffd2016-08-03 21:54:18 -0400235WLAN_CHIPSET := pronto
Zvikomborero VIncent Zvikarambaa25011a2016-07-21 16:32:35 -0400236BOARD_HAS_QCOM_WLAN := true
237BOARD_HAS_QCOM_WLAN_SDK := true
238BOARD_HAVE_SAMSUNG_WIFI := true
239BOARD_HOSTAPD_DRIVER := NL80211
240BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_qcwcn
241BOARD_WLAN_DEVICE := qcwcn
242BOARD_WPA_SUPPLICANT_DRIVER := NL80211
243BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_qcwcn
244TARGET_USES_QCOM_WCNSS_QMI := true
245TARGET_USES_WCNSS_CTRL := true
246WIFI_DRIVER_FW_PATH_AP := "ap"
247WIFI_DRIVER_FW_PATH_STA := "sta"
248WPA_SUPPLICANT_VERSION := VER_0_8_X
Zvikomborero VIncent Zvikarambad6daffd2016-08-03 21:54:18 -0400249WIFI_DRIVER_MODULE_PATH := "/system/lib/modules/wlan.ko"
250WIFI_DRIVER_MODULE_NAME := "wlan"
Zvikomborero VIncent Zvikarambaa25011a2016-07-21 16:32:35 -0400251
252# inherit from the proprietary version
253-include vendor/samsung/gprimeltecan/BoardConfigVendor.mk
Zvikomborero VIncent Zvikarambad6daffd2016-08-03 21:54:18 -0400254
255#make, move, symlink and strip the wlan kernel module.
Zvikomborero VIncent Zvikaramba4c443682016-08-12 09:35:35 -0400256KERNEL_EXTERNAL_MODULES:
257 make -C device/samsung/gprimeltecan/wlan/prima/ WLAN_ROOT=$(ANDROID_BUILD_TOP)/device/samsung/gprimeltecan/wlan/prima/ \
258 KERNEL_SOURCE=$(KERNEL_OUT) ARCH="arm" \
259 CROSS_COMPILE="arm-eabi-"
Zvikomborero VIncent Zvikaramba4c443682016-08-12 09:35:35 -0400260 mkdir $(KERNEL_MODULES_OUT)/$(WLAN_CHIPSET)/ -p
261 ln -sf /system/lib/modules/$(WLAN_CHIPSET)/$(WLAN_CHIPSET)_wlan.ko $(TARGET_OUT)/lib/modules/wlan.ko
262 mv device/samsung/gprimeltecan/wlan/prima/wlan.ko $(KERNEL_MODULES_OUT)/$(WLAN_CHIPSET)/$(WLAN_CHIPSET)_wlan.ko
263 arm-eabi-strip --strip-debug $(KERNEL_MODULES_OUT)/$(WLAN_CHIPSET)/$(WLAN_CHIPSET)_wlan.ko
Zvikomborero VIncent Zvikarambab4663fe2016-08-18 09:25:00 -0400264 make -C device/samsung/gprimeltecan/wlan/prima/ clean
Zvikomborero VIncent Zvikaramba4c443682016-08-12 09:35:35 -0400265TARGET_KERNEL_MODULES := KERNEL_EXTERNAL_MODULES