universal7580: add shim for strdup8to16
[GitHub/LineageOS/android_device_samsung_universal7580-common.git] / BoardConfigCommon.mk
CommitLineData
583a3f4a
S
1#
2# Copyright (C) 2018 The LineageOS Project
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8# http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15#
16
17LOCAL_PATH := device/samsung/universal7580-common
0933c8a4 18BUILD_TOP := $(shell pwd)
583a3f4a 19
6d34b204
DW
20BUILD_BROKEN_DUP_RULES := true
21
583a3f4a
S
22# Include path
23TARGET_SPECIFIC_HEADER_PATH := $(LOCAL_PATH)/include
24
1358b287
S
25ifneq ($(TARGET_DEVICE), gvwifi)
26TARGET_SPECIFIC_HEADER_PATH += $(LOCAL_PATH)/ril/include
27endif
28
583a3f4a
S
29# Firmware
30TARGET_NO_BOOTLOADER := true
31TARGET_NO_RADIOIMAGE := true
32
33# Platform
34TARGET_BOARD_PLATFORM := exynos5
e148bed6 35TARGET_SLSI_VARIANT := bsp
583a3f4a
S
36TARGET_SOC := exynos7580
37TARGET_BOOTLOADER_BOARD_NAME := universal7580
9e24d026 38BOARD_VENDOR := samsung
583a3f4a
S
39
40# CPU
41TARGET_ARCH := arm
99a54a4f 42TARGET_ARCH_VARIANT := armv8-a
583a3f4a
S
43TARGET_CPU_ABI := armeabi-v7a
44TARGET_CPU_ABI2 := armeabi
45TARGET_CPU_VARIANT := cortex-a53
583a3f4a 46
d11af90e
BM
47# Audio
48USE_XML_AUDIO_POLICY_CONF := 1
49
583a3f4a
S
50# Binder
51TARGET_USES_64_BIT_BINDER := true
52
53# Extracted with libbootimg
54BOARD_CUSTOM_BOOTIMG := true
55BOARD_CUSTOM_BOOTIMG_MK := hardware/samsung/mkbootimg.mk
56BOARD_MKBOOTIMG_ARGS := --kernel_offset 0x00008000 --ramdisk_offset 0x01000000 --tags_offset 0x00000100
57BOARD_KERNEL_BASE := 0x10000000
58BOARD_KERNEL_PAGESIZE := 2048
59BOARD_KERNEL_IMAGE_NAME := Image
60#BOARD_KERNEL_CMDLINE := The bootloader ignores the cmdline from the boot.img
61BOARD_KERNEL_SEPARATED_DT := true
62TARGET_CUSTOM_DTBTOOL := dtbhtoolExynos
a4afb280
BM
63BOARD_ROOT_EXTRA_FOLDERS += efs cpefs
64TARGET_FS_CONFIG_GEN := $(LOCAL_PATH)/config.fs
583a3f4a
S
65
66# Kernel
67TARGET_KERNEL_ARCH := arm64
68TARGET_KERNEL_CROSS_COMPILE_PREFIX := aarch64-linux-android-
0933c8a4 69KERNEL_TOOLCHAIN := $(BUILD_TOP)/prebuilts/gcc/$(HOST_OS)-x86/aarch64/aarch64-linux-android-4.9/bin
583a3f4a
S
70TARGET_LINUX_KERNEL_VERSION := 3.10
71
72# Kernel config
73TARGET_KERNEL_SOURCE := kernel/samsung/universal7580
74
75# Use these flags if the board has a ext4 partition larger than 2gb
76BOARD_HAS_LARGE_FILESYSTEM := true
77TARGET_USERIMAGES_USE_EXT4 := true
4bc9f6b7 78BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE := ext4
583a3f4a
S
79
80# Vendor separation
81TARGET_COPY_OUT_VENDOR := system/vendor
82
83# Device Tree
84BOARD_USES_DT := true
32f92b0e 85
f1473863
S
86# Graphics
87NUM_FRAMEBUFFER_SURFACE_BUFFERS := 3
e148bed6 88BOARD_USES_EXYNOS5_COMMON_GRALLOC := true
f1473863 89
e148bed6
S
90# VR Front buffer
91#BOARD_USES_VR_FRONT_BUFFER := true
32f92b0e
S
92
93# Samsung OpenMAX Video
e148bed6 94BOARD_USE_STOREMETADATA := true
32f92b0e
S
95BOARD_USE_METADATABUFFERTYPE := true
96BOARD_USE_DMA_BUF := true
97BOARD_USE_ANB_OUTBUF_SHARE := true
98BOARD_USE_IMPROVED_BUFFER := true
99BOARD_USE_NON_CACHED_GRAPHICBUFFER := true
100BOARD_USE_GSC_RGB_ENCODER := true
101BOARD_USE_CSC_HW := false
102BOARD_USE_QOS_CTRL := false
103BOARD_USE_S3D_SUPPORT := true
e148bed6
S
104BOARD_USE_TIMESTAMP_REORDER_SUPPORT := false
105BOARD_USE_DEINTERLACING_SUPPORT := false
32f92b0e 106BOARD_USE_VP8ENC_SUPPORT := true
e148bed6
S
107BOARD_USE_HEVCDEC_SUPPORT := true
108BOARD_USE_HEVCENC_SUPPORT := true
109BOARD_USE_HEVC_HWIP := false
110BOARD_USE_VP9DEC_SUPPORT := true
111BOARD_USE_VP9ENC_SUPPORT := false
112BOARD_USE_CUSTOM_COMPONENT_SUPPORT := true
113BOARD_USE_VIDEO_EXT_FOR_WFD_HDCP := false
114BOARD_USE_SINGLE_PLANE_IN_DRM := false
115
116# HWComposer
117BOARD_USES_VPP := true
118#BOARD_USES_VPP_V2 := true // 8890 only
119BOARD_HDMI_INCAPABLE := true
32f92b0e
S
120
121# Scalar
122BOARD_USES_SCALER := true
123
124# HWCServices - requires framework support
125#BOARD_USES_HWC_SERVICES := true
126
e148bed6
S
127# WiFiDisplay
128#BOARD_USES_VIRTUAL_DISPLAY := true - depends on platform changes
129BOARD_USES_VIRTUAL_DISPLAY_DECON_EXT_WB := false
130BOARD_USE_VIDEO_EXT_FOR_WFD_DRM := false
131BOARD_USES_VDS_BGRA8888 := true
132BOARD_VIRTUAL_DISPLAY_DISABLE_IDMA_G0 := false
133
134# LIBHWJPEG
135TARGET_USES_UNIVERSAL_LIBHWJPEG := true
136
137# FIMG2D
138BOARD_USES_SKIA_FIMGAPI := true
139BOARD_USES_FIMGAPI_V5X := true
140
141# SCALER
142BOARD_USES_DEFAULT_CSC_HW_SCALER := true
143BOARD_USES_SCALER_M2M1SHOT := true
144
9e24d026
S
145# Samsung HALs
146TARGET_AUDIOHAL_VARIANT := samsung
97f75cb0 147TARGET_POWERHAL_VARIANT := samsung
eac4829a
S
148
149# Wifi
150BOARD_WLAN_DEVICE := bcmdhd
151WPA_SUPPLICANT_VERSION := VER_0_8_X
152BOARD_WPA_SUPPLICANT_DRIVER := NL80211
153BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_bcmdhd
154WPA_SUPPLICANT_USE_HIDL := true
155BOARD_HOSTAPD_DRIVER := NL80211
156BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_bcmdhd
157WIFI_DRIVER_FW_PATH_PARAM := "/sys/module/dhd/parameters/firmware_path"
158WIFI_DRIVER_NVRAM_PATH_PARAM := "/sys/module/dhd/parameters/nvram_path"
998a97f9
S
159WIFI_DRIVER_NVRAM_PATH := "/vendor/etc/wifi/nvram_net.txt"
160WIFI_DRIVER_FW_PATH_STA := "/vendor/etc/wifi/bcmdhd_sta.bin"
161WIFI_DRIVER_FW_PATH_AP := "/vendor/etc/wifi/bcmdhd_apsta.bin"
eac4829a
S
162WIFI_BAND := 802_11_ABG
163
164# MACLOADER
165BOARD_HAVE_SAMSUNG_WIFI := true
166
a3b5a23b
S
167# Bluetooth
168BOARD_CUSTOM_BT_CONFIG := $(LOCAL_PATH)/bluetooth/libbt_vndcfg.txt
169BOARD_HAVE_BLUETOOTH := true
170BOARD_HAVE_BLUETOOTH_BCM := true
171BOARD_HAVE_SAMSUNG_BLUETOOTH := true
172
71ac95c9
S
173# Backlight
174BACKLIGHT_PATH := "/sys/class/backlight/panel/brightness"
73f22a1a 175
e0d96982
S
176# Recovery
177TARGET_RECOVERY_FSTAB := $(LOCAL_PATH)/ramdisk/etc/fstab.samsungexynos7580
178
c1a50488
DW
179# SELinux
180BOARD_SEPOLICY_DIRS += device/samsung/universal7580-common/sepolicy
181BOARD_SEPOLICY_VERS := $(PLATFORM_SDK_VERSION).0
182
38e8c6a3
EC
183# Soong namespaces
184PRODUCT_SOONG_NAMESPACES += $(LOCAL_PATH)
153604f1
JA
185
186# Shim
187TARGET_LD_SHIM_LIBS += \
177cd4b0
JA
188 /system/bin/mediaserver|/system/lib/libstagefright_shim.so \
189 /system/lib/libsec-ril.so|/vendor/lib/libcutils_shim.so \
190 /system/lib/libsec-ril-dsds.so|/vendor/lib/libcutils_shim.so