blob: edb4fa3bd9b02f059a4b46fad3bfdfadfd88b24c
1 | # Copyright (C) 2011 Amlogic Inc |
2 | # |
3 | # Licensed under the Apache License, Version 2.0 (the "License"); |
4 | # you may not use this file except in compliance with the License. |
5 | # You may obtain a copy of the License at |
6 | # |
7 | # http://www.apache.org/licenses/LICENSE-2.0 |
8 | # |
9 | # Unless required by applicable law or agreed to in writing, software |
10 | # distributed under the License is distributed on an "AS IS" BASIS, |
11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
12 | # See the License for the specific language governing permissions and |
13 | # limitations under the License. |
14 | |
15 | # |
16 | # This file is the build configuration for a full Android |
17 | # build for Meson reference board. |
18 | # |
19 | |
20 | ANDROID_BUILD_TYPE := 64 |
21 | # Dynamic enable start/stop zygote_secondary in 64bits |
22 | # and 32bit system, default closed |
23 | #TARGET_DYNAMIC_ZYGOTE_SECONDARY_ENABLE := true |
24 | |
25 | # Inherit from those products. Most specific first. |
26 | ifneq ($(ANDROID_BUILD_TYPE), 32) |
27 | ifeq ($(TARGET_DYNAMIC_ZYGOTE_SECONDARY_ENABLE), true) |
28 | $(call inherit-product, device/amlogic/common/dynamic_zygote_seondary/dynamic_zygote_64_bit.mk) |
29 | else |
30 | $(call inherit-product, build/target/product/core_64_bit.mk) |
31 | endif |
32 | endif |
33 | |
34 | $(call inherit-product, device/amlogic/common/products/tv/product_tv.mk) |
35 | $(call inherit-product, device/amlogic/einstein/device.mk) |
36 | $(call inherit-product-if-exists, vendor/google/products/gms.mk) |
37 | |
38 | TARGET_WITH_MEDIA_EXT_LEVEL := 3 |
39 | |
40 | ######################################################################### |
41 | # |
42 | # media ext |
43 | # |
44 | ######################################################################### |
45 | ifeq ($(TARGET_WITH_MEDIA_EXT_LEVEL), 1) |
46 | TARGET_WITH_MEDIA_EXT :=true |
47 | TARGET_WITH_SWCODEC_EXT :=true |
48 | else |
49 | ifeq ($(TARGET_WITH_MEDIA_EXT_LEVEL), 2) |
50 | TARGET_WITH_MEDIA_EXT :=true |
51 | TARGET_WITH_CODEC_EXT := true |
52 | else |
53 | ifeq ($(TARGET_WITH_MEDIA_EXT_LEVEL), 3) |
54 | TARGET_WITH_MEDIA_EXT :=true |
55 | TARGET_WITH_SWCODEC_EXT := true |
56 | TARGET_WITH_CODEC_EXT := true |
57 | TARGET_WITH_PLAYERS_EXT :=true |
58 | endif |
59 | endif |
60 | endif |
61 | |
62 | # einstein: |
63 | |
64 | |
65 | PRODUCT_PROPERTY_OVERRIDES += \ |
66 | sys.fb.bits=32 \ |
67 | ro.hdmi.device_type=0 |
68 | |
69 | PRODUCT_NAME := einstein |
70 | PRODUCT_DEVICE := einstein |
71 | PRODUCT_BRAND := Android |
72 | PRODUCT_MODEL := AOSP on einstein |
73 | PRODUCT_MANUFACTURER := amlogic |
74 | |
75 | TARGET_KERNEL_BUILT_FROM_SOURCE := false |
76 | |
77 | PRODUCT_TYPE := tv |
78 | |
79 | WITH_LIBPLAYER_MODULE := false |
80 | |
81 | BOARD_AML_VENDOR_PATH := vendor/amlogic/ampere/ |
82 | BOARD_WIDEVINE_TA_PATH := vendor/amlogic/ |
83 | |
84 | OTA_UP_PART_NUM_CHANGED := true |
85 | |
86 | #AB_OTA_UPDATER :=true |
87 | |
88 | ifeq ($(AB_OTA_UPDATER),true) |
89 | AB_OTA_PARTITIONS := \ |
90 | boot \ |
91 | system \ |
92 | vendor \ |
93 | odm |
94 | |
95 | TARGET_BOOTLOADER_CONTROL_BLOCK := true |
96 | TARGET_NO_RECOVERY := true |
97 | TARGET_PARTITION_DTSI := partition_mbox_ab.dtsi |
98 | else |
99 | TARGET_NO_RECOVERY := false |
100 | TARGET_PARTITION_DTSI := partition_mbox_normal.dtsi |
101 | |
102 | BOARD_CACHEIMAGE_PARTITION_SIZE := 69206016 |
103 | BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE := ext4 |
104 | endif |
105 | |
106 | #########Support compiling out encrypted zip/aml_upgrade_package.img directly |
107 | #PRODUCT_BUILD_SECURE_BOOT_IMAGE_DIRECTLY := true |
108 | PRODUCT_AML_SECUREBOOT_USERKEY := ./uboot/board/amlogic/txlx_t962x_r311_v1/aml-user-key.sig |
109 | PRODUCT_AML_SECUREBOOT_SIGNTOOL := ./uboot/fip/txlx/aml_encrypt_txlx |
110 | PRODUCT_AML_SECUREBOOT_SIGNBOOTLOADER := $(PRODUCT_AML_SECUREBOOT_SIGNTOOL) --bootsig \ |
111 | --amluserkey $(PRODUCT_AML_SECUREBOOT_USERKEY) \ |
112 | --aeskey enable |
113 | PRODUCT_AML_SECUREBOOT_SIGNIMAGE := $(PRODUCT_AML_SECUREBOOT_SIGNTOOL) --imgsig \ |
114 | --amluserkey $(PRODUCT_AML_SECUREBOOT_USERKEY) |
115 | PRODUCT_AML_SECUREBOOT_SIGBIN := $(PRODUCT_AML_SECUREBOOT_SIGNTOOL) --binsig \ |
116 | --amluserkey $(PRODUCT_AML_SECUREBOOT_USERKEY) |
117 | |
118 | ######################################################################## |
119 | # |
120 | # Live TV |
121 | # |
122 | ######################################################################## |
123 | TARGET_BUILD_LIVETV := true |
124 | |
125 | ######################################################################## |
126 | # |
127 | # ATV |
128 | # |
129 | ######################################################################## |
130 | ifneq ($(BOARD_COMPILE_ATV),false) |
131 | BOARD_COMPILE_CTS := true |
132 | TARGET_BUILD_GOOGLE_ATV:= true |
133 | DONT_DEXPREOPT_PREBUILTS:= true |
134 | endif |
135 | ######################################################################## |
136 | |
137 | ######################################################################## |
138 | # |
139 | # CTS |
140 | # |
141 | ######################################################################## |
142 | ifeq ($(BOARD_COMPILE_CTS),true) |
143 | BOARD_WIDEVINE_OEMCRYPTO_LEVEL := 1 |
144 | BOARD_PLAYREADY_LEVEL := 1 |
145 | TARGET_BUILD_CTS:= true |
146 | TARGET_BUILD_NETFLIX:= true |
147 | endif |
148 | ######################################################################## |
149 | |
150 | ######################################################################### |
151 | # |
152 | # Dm-Verity |
153 | # |
154 | ######################################################################### |
155 | #BUILD_WITH_DM_VERITY := true |
156 | #TARGET_USE_SECURITY_DM_VERITY_MODE_WITH_TOOL := true |
157 | ifeq ($(TARGET_USE_SECURITY_DM_VERITY_MODE_WITH_TOOL), true) |
158 | BUILD_WITH_DM_VERITY := true |
159 | endif # ifeq ($(TARGET_USE_SECURITY_DM_VERITY_MODE_WITH_TOOL), true) |
160 | ifeq ($(BUILD_WITH_DM_VERITY), true) |
161 | PRODUCT_PACKAGES += \ |
162 | libfs_mgr \ |
163 | fs_mgr \ |
164 | slideshow |
165 | endif |
166 | ifneq ($(BOARD_USES_RECOVERY_AS_BOOT), true) |
167 | ifeq ($(AB_OTA_UPDATER),true) |
168 | ifeq ($(BUILD_WITH_DM_VERITY), true) |
169 | PRODUCT_COPY_FILES += \ |
170 | device/amlogic/einstein/fstab.AB.verity.amlogic:root/fstab.amlogic |
171 | else |
172 | PRODUCT_COPY_FILES += \ |
173 | device/amlogic/einstein/fstab.AB.amlogic:root/fstab.amlogic |
174 | endif |
175 | else |
176 | ifeq ($(BUILD_WITH_DM_VERITY), true) |
177 | PRODUCT_COPY_FILES += \ |
178 | device/amlogic/einstein/fstab.verity.amlogic:root/fstab.amlogic |
179 | else |
180 | PRODUCT_COPY_FILES += \ |
181 | device/amlogic/einstein/fstab.amlogic:root/fstab.amlogic |
182 | endif |
183 | endif |
184 | else |
185 | ifeq ($(AB_OTA_UPDATER),true) |
186 | ifeq ($(BUILD_WITH_DM_VERITY), true) |
187 | PRODUCT_COPY_FILES += \ |
188 | device/amlogic/einstein/fstab.AB.verity.amlogic:recovery/root/fstab.amlogic |
189 | else |
190 | PRODUCT_COPY_FILES += \ |
191 | device/amlogic/einstein/fstab.AB.amlogic:recovery/root/fstab.amlogic |
192 | endif |
193 | else |
194 | ifeq ($(BUILD_WITH_DM_VERITY), true) |
195 | PRODUCT_COPY_FILES += \ |
196 | device/amlogic/einstein/fstab.verity.amlogic:recovery/root/fstab.amlogic |
197 | else |
198 | PRODUCT_COPY_FILES += \ |
199 | device/amlogic/einstein/fstab.amlogic:recovery/root/fstab.amlogic |
200 | endif |
201 | endif |
202 | endif |
203 | |
204 | ######################################################################### |
205 | # |
206 | # WiFi |
207 | # |
208 | ######################################################################### |
209 | |
210 | WIFI_MODULE := AP62x8 |
211 | WIFI_BUILD_IN := true |
212 | include device/amlogic/common/wifi.mk |
213 | |
214 | # Change this to match target country |
215 | # 11 North America; 14 Japan; 13 rest of world |
216 | PRODUCT_DEFAULT_WIFI_CHANNELS := 11 |
217 | |
218 | ######################################################################### |
219 | # |
220 | # Bluetooth |
221 | # |
222 | ######################################################################### |
223 | |
224 | BOARD_HAVE_BLUETOOTH := true |
225 | BLUETOOTH_MODULE := AP62x8 |
226 | BCM_BLUETOOTH_LPM_ENABLE := true |
227 | include device/amlogic/common/bluetooth.mk |
228 | |
229 | |
230 | ######################################################################### |
231 | # |
232 | # ConsumerIr |
233 | # |
234 | ######################################################################### |
235 | |
236 | #PRODUCT_PACKAGES += \ |
237 | # consumerir.amlogic \ |
238 | # SmartRemote |
239 | #PRODUCT_COPY_FILES += \ |
240 | # frameworks/native/data/etc/android.hardware.consumerir.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.consumerir.xml |
241 | |
242 | |
243 | #PRODUCT_PACKAGES += libbt-vendor |
244 | |
245 | ifeq ($(SUPPORT_HDMIIN),true) |
246 | PRODUCT_PACKAGES += \ |
247 | libhdmiin \ |
248 | HdmiIn |
249 | endif |
250 | |
251 | PRODUCT_COPY_FILES += \ |
252 | frameworks/native/data/etc/android.hardware.ethernet.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.ethernet.xml |
253 | |
254 | # Audio |
255 | # |
256 | BOARD_ALSA_AUDIO=tiny |
257 | include device/amlogic/common/audio.mk |
258 | |
259 | ######################################################################### |
260 | # |
261 | # Camera |
262 | # |
263 | ######################################################################### |
264 | |
265 | ifneq ($(TARGET_BUILD_CTS), true) |
266 | PRODUCT_COPY_FILES += \ |
267 | frameworks/native/data/etc/android.hardware.camera.front.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.front.xml \ |
268 | frameworks/native/data/etc/android.hardware.camera.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.xml |
269 | endif |
270 | |
271 | |
272 | |
273 | ######################################################################### |
274 | # |
275 | # PlayReady DRM |
276 | # |
277 | ######################################################################### |
278 | #export BOARD_PLAYREADY_LEVEL=3 for PlayReady+NOTVP |
279 | #export BOARD_PLAYREADY_LEVEL=1 for PlayReady+OPTEE+TVP |
280 | ######################################################################### |
281 | # |
282 | # Verimatrix DRM |
283 | ########################################################################## |
284 | #verimatrix web |
285 | BUILD_WITH_VIEWRIGHT_WEB := false |
286 | #verimatrix stb |
287 | BUILD_WITH_VIEWRIGHT_STB := false |
288 | ######################################################################### |
289 | |
290 | |
291 | #DRM Widevine |
292 | ifeq ($(BOARD_WIDEVINE_OEMCRYPTO_LEVEL),) |
293 | BOARD_WIDEVINE_OEMCRYPTO_LEVEL := 3 |
294 | endif |
295 | |
296 | ifeq ($(BOARD_WIDEVINE_OEMCRYPTO_LEVEL), 1) |
297 | TARGET_USE_OPTEEOS := true |
298 | TARGET_ENABLE_TA_SIGN := true |
299 | TARGET_USE_HW_KEYMASTER := true |
300 | endif |
301 | |
302 | $(call inherit-product, device/amlogic/common/media.mk) |
303 | |
304 | ######################################################################### |
305 | # |
306 | # Languages |
307 | # |
308 | ######################################################################### |
309 | |
310 | # For all locales, $(call inherit-product, build/target/product/languages_full.mk) |
311 | PRODUCT_LOCALES := en_US en_AU en_IN fr_FR it_IT es_ES et_EE de_DE nl_NL cs_CZ pl_PL ja_JP \ |
312 | zh_TW zh_CN zh_HK ru_RU ko_KR nb_NO es_US da_DK el_GR tr_TR pt_PT pt_BR rm_CH sv_SE bg_BG \ |
313 | ca_ES en_GB fi_FI hi_IN hr_HR hu_HU in_ID iw_IL lt_LT lv_LV ro_RO sk_SK sl_SI sr_RS uk_UA \ |
314 | vi_VN tl_PH ar_EG fa_IR th_TH sw_TZ ms_MY af_ZA zu_ZA am_ET hi_IN en_XA ar_XB fr_CA km_KH \ |
315 | lo_LA ne_NP si_LK mn_MN hy_AM az_AZ ka_GE my_MM mr_IN ml_IN is_IS mk_MK ky_KG eu_ES gl_ES \ |
316 | bn_BD ta_IN kn_IN te_IN uz_UZ ur_PK kk_KZ |
317 | |
318 | ################################################################################# |
319 | # |
320 | # PPPOE |
321 | # |
322 | ################################################################################# |
323 | #ifneq ($(TARGET_BUILD_GOOGLE_ATV), true) |
324 | #BUILD_WITH_PPPOE := true |
325 | #endif |
326 | |
327 | ifeq ($(BUILD_WITH_PPPOE),true) |
328 | PRODUCT_PACKAGES += \ |
329 | PPPoE \ |
330 | libpppoejni \ |
331 | libpppoe \ |
332 | pppoe_wrapper \ |
333 | pppoe \ |
334 | droidlogic.frameworks.pppoe \ |
335 | droidlogic.external.pppoe \ |
336 | droidlogic.software.pppoe.xml |
337 | PRODUCT_PROPERTY_OVERRIDES += \ |
338 | ro.platform.has.pppoe=true |
339 | endif |
340 | |
341 | ################################################################################# |
342 | # |
343 | # DEFAULT LOWMEMORYKILLER CONFIG |
344 | # |
345 | ################################################################################# |
346 | BUILD_WITH_LOWMEM_COMMON_CONFIG := true |
347 | |
348 | BOARD_USES_USB_PM := true |
349 | |
350 | |
351 | include device/amlogic/common/software.mk |
352 | ifeq ($(TARGET_BUILD_GOOGLE_ATV),true) |
353 | PRODUCT_PROPERTY_OVERRIDES += \ |
354 | ro.sf.lcd_density=320 |
355 | else |
356 | PRODUCT_PROPERTY_OVERRIDES += \ |
357 | ro.sf.lcd_density=240 |
358 | endif |
359 | |
360 | # hdcp_tx22 |
361 | PRODUCT_COPY_FILES += \ |
362 | device/amlogic/common/hdcp_tx22/hdcp_tx22:vendor/bin/hdcp_tx22 |
363 | |
364 | ######################################################################### |
365 | # |
366 | # A/B update |
367 | # |
368 | ######################################################################### |
369 | ifeq ($(AB_OTA_UPDATER),true) |
370 | PRODUCT_PACKAGES += \ |
371 | bootctrl.amlogic \ |
372 | bootctl |
373 | |
374 | PRODUCT_PACKAGES += \ |
375 | update_engine \ |
376 | update_engine_client \ |
377 | update_verifier \ |
378 | delta_generator \ |
379 | brillo_update_payload \ |
380 | android.hardware.boot@1.0-impl \ |
381 | android.hardware.boot@1.0-service |
382 | endif |
383 | ######################################################################### |
384 | # |
385 | # OpenGLES Version |
386 | # |
387 | ######################################################################### |
388 | PRODUCT_PROPERTY_OVERRIDES += \ |
389 | ro.opengles.version=131072 |
390 |