universal7580: add bsp repos to lineage.dependencies
[GitHub/LineageOS/android_device_samsung_universal7580-common.git] / BoardConfigCommon.mk
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
17 LOCAL_PATH := device/samsung/universal7580-common
18 BUILD_TOP := $(shell pwd)
19
20 BUILD_BROKEN_DUP_RULES := true
21
22 # Include path
23 TARGET_SPECIFIC_HEADER_PATH := $(LOCAL_PATH)/include
24
25 ifneq ($(TARGET_DEVICE), gvwifi)
26 TARGET_SPECIFIC_HEADER_PATH += $(LOCAL_PATH)/ril/include
27 endif
28
29 # Firmware
30 TARGET_NO_BOOTLOADER := true
31 TARGET_NO_RADIOIMAGE := true
32
33 # Platform
34 TARGET_BOARD_PLATFORM := exynos5
35 TARGET_SLSI_VARIANT := bsp
36 TARGET_SOC := exynos7580
37 TARGET_BOOTLOADER_BOARD_NAME := universal7580
38 BOARD_VENDOR := samsung
39
40 # CPU
41 TARGET_ARCH := arm
42 TARGET_ARCH_VARIANT := armv8-a
43 TARGET_CPU_ABI := armeabi-v7a
44 TARGET_CPU_ABI2 := armeabi
45 TARGET_CPU_VARIANT := cortex-a53
46 TARGET_CPU_CORTEX_A53 := true
47
48 # Audio
49 USE_XML_AUDIO_POLICY_CONF := 1
50
51 # Binder
52 TARGET_USES_64_BIT_BINDER := true
53
54 # Extracted with libbootimg
55 BOARD_CUSTOM_BOOTIMG := true
56 BOARD_CUSTOM_BOOTIMG_MK := hardware/samsung/mkbootimg.mk
57 BOARD_MKBOOTIMG_ARGS := --kernel_offset 0x00008000 --ramdisk_offset 0x01000000 --tags_offset 0x00000100
58 BOARD_KERNEL_BASE := 0x10000000
59 BOARD_KERNEL_PAGESIZE := 2048
60 BOARD_KERNEL_IMAGE_NAME := Image
61 #BOARD_KERNEL_CMDLINE := The bootloader ignores the cmdline from the boot.img
62 BOARD_KERNEL_SEPARATED_DT := true
63 TARGET_CUSTOM_DTBTOOL := dtbhtoolExynos
64 BOARD_ROOT_EXTRA_FOLDERS += efs cpefs
65 TARGET_FS_CONFIG_GEN := $(LOCAL_PATH)/config.fs
66
67 # Kernel
68 TARGET_KERNEL_ARCH := arm64
69 TARGET_KERNEL_CROSS_COMPILE_PREFIX := aarch64-linux-android-
70 KERNEL_TOOLCHAIN := $(BUILD_TOP)/prebuilts/gcc/$(HOST_OS)-x86/aarch64/aarch64-linux-android-4.9/bin
71 TARGET_LINUX_KERNEL_VERSION := 3.10
72
73 # Kernel config
74 TARGET_KERNEL_SOURCE := kernel/samsung/universal7580
75
76 # Use these flags if the board has a ext4 partition larger than 2gb
77 BOARD_HAS_LARGE_FILESYSTEM := true
78 TARGET_USERIMAGES_USE_EXT4 := true
79 BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE := ext4
80
81 # Exclude AudioFX
82 TARGET_EXCLUDES_AUDIOFX := true
83
84 # Extended filesystem support
85 TARGET_EXFAT_DRIVER := sdfat
86
87 # Vendor separation
88 TARGET_COPY_OUT_VENDOR := system/vendor
89
90 # Device Tree
91 BOARD_USES_DT := true
92
93 # Graphics
94 NUM_FRAMEBUFFER_SURFACE_BUFFERS := 3
95 BOARD_USES_EXYNOS5_COMMON_GRALLOC := true
96
97 # VR Front buffer
98 #BOARD_USES_VR_FRONT_BUFFER := true
99
100 # Samsung OpenMAX Video
101 BOARD_USE_STOREMETADATA := true
102 BOARD_USE_METADATABUFFERTYPE := true
103 BOARD_USE_DMA_BUF := true
104 BOARD_USE_ANB_OUTBUF_SHARE := true
105 BOARD_USE_IMPROVED_BUFFER := true
106 BOARD_USE_NON_CACHED_GRAPHICBUFFER := true
107 BOARD_USE_GSC_RGB_ENCODER := true
108 BOARD_USE_CSC_HW := false
109 BOARD_USE_QOS_CTRL := false
110 BOARD_USE_S3D_SUPPORT := true
111 BOARD_USE_TIMESTAMP_REORDER_SUPPORT := false
112 BOARD_USE_DEINTERLACING_SUPPORT := false
113 BOARD_USE_VP8ENC_SUPPORT := true
114 BOARD_USE_HEVCDEC_SUPPORT := true
115 BOARD_USE_HEVCENC_SUPPORT := true
116 BOARD_USE_HEVC_HWIP := false
117 BOARD_USE_VP9DEC_SUPPORT := true
118 BOARD_USE_VP9ENC_SUPPORT := false
119 BOARD_USE_CUSTOM_COMPONENT_SUPPORT := true
120 BOARD_USE_VIDEO_EXT_FOR_WFD_HDCP := false
121 BOARD_USE_SINGLE_PLANE_IN_DRM := false
122
123 # HWComposer
124 BOARD_USES_VPP := true
125 #BOARD_USES_VPP_V2 := true // 8890 only
126 BOARD_HDMI_INCAPABLE := true
127
128 # Scalar
129 BOARD_USES_SCALER := true
130
131 # HWCServices - requires framework support
132 #BOARD_USES_HWC_SERVICES := true
133
134 # WiFiDisplay
135 #BOARD_USES_VIRTUAL_DISPLAY := true - depends on platform changes
136 BOARD_USES_VIRTUAL_DISPLAY_DECON_EXT_WB := false
137 BOARD_USE_VIDEO_EXT_FOR_WFD_DRM := false
138 BOARD_USES_VDS_BGRA8888 := true
139 BOARD_VIRTUAL_DISPLAY_DISABLE_IDMA_G0 := false
140
141 # LIBHWJPEG
142 TARGET_USES_UNIVERSAL_LIBHWJPEG := true
143
144 # FIMG2D
145 BOARD_USES_SKIA_FIMGAPI := true
146 BOARD_USES_FIMGAPI_V5X := true
147
148 # SCALER
149 BOARD_USES_DEFAULT_CSC_HW_SCALER := true
150 BOARD_USES_SCALER_M2M1SHOT := true
151
152 # Samsung HALs
153 TARGET_AUDIOHAL_VARIANT := samsung
154 TARGET_POWERHAL_VARIANT := samsung
155
156 # Wifi
157 BOARD_WLAN_DEVICE := bcmdhd
158 WPA_SUPPLICANT_VERSION := VER_0_8_X
159 BOARD_WPA_SUPPLICANT_DRIVER := NL80211
160 BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_bcmdhd
161 WPA_SUPPLICANT_USE_HIDL := true
162 BOARD_HOSTAPD_DRIVER := NL80211
163 BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_bcmdhd
164 WIFI_DRIVER_FW_PATH_PARAM := "/sys/module/dhd/parameters/firmware_path"
165 WIFI_DRIVER_NVRAM_PATH_PARAM := "/sys/module/dhd/parameters/nvram_path"
166 WIFI_DRIVER_NVRAM_PATH := "/vendor/etc/wifi/nvram_net.txt"
167 WIFI_DRIVER_FW_PATH_STA := "/vendor/etc/wifi/bcmdhd_sta.bin"
168 WIFI_DRIVER_FW_PATH_AP := "/vendor/etc/wifi/bcmdhd_apsta.bin"
169 WIFI_BAND := 802_11_ABG
170
171 # MACLOADER
172 BOARD_HAVE_SAMSUNG_WIFI := true
173
174 # Bluetooth
175 BOARD_CUSTOM_BT_CONFIG := $(LOCAL_PATH)/bluetooth/libbt_vndcfg.txt
176 BOARD_HAVE_BLUETOOTH := true
177 BOARD_HAVE_BLUETOOTH_BCM := true
178 BOARD_HAVE_SAMSUNG_BLUETOOTH := true
179
180 # Backlight
181 BACKLIGHT_PATH := "/sys/class/backlight/panel/brightness"
182
183 # Recovery
184 TARGET_RECOVERY_FSTAB := $(LOCAL_PATH)/ramdisk/etc/fstab.samsungexynos7580
185
186 # SELinux
187 BOARD_SEPOLICY_DIRS += device/samsung/universal7580-common/sepolicy
188 BOARD_SEPOLICY_VERS := $(PLATFORM_SDK_VERSION).0
189
190 # Soong namespaces
191 PRODUCT_SOONG_NAMESPACES += $(LOCAL_PATH)
192
193 # Shims
194 TARGET_LD_SHIM_LIBS := \
195 /system/lib/omx/libOMX.Exynos.AVC.Decoder.so|/vendor/lib/libui_shim.so \
196 /system/lib/omx/libOMX.Exynos.AVC.Encoder.so|/vendor/lib/libui_shim.so \
197 /system/lib/omx/libOMX.Exynos.MPEG4.Decoder.so|/vendor/lib/libui_shim.so \
198 /system/lib/omx/libOMX.Exynos.MPEG4.Encoder.so|/vendor/lib/libui_shim.so \
199 /system/lib/omx/libOMX.Exynos.VP8.Decoder.so|/vendor/lib/libui_shim.so \
200 /system/lib/omx/libOMX.Exynos.VP8.Encoder.so|/vendor/lib/libui_shim.so \
201 /system/lib/omx/libOMX.Exynos.WMV.Decoder.so|/vendor/lib/libui_shim.so