1#<MStar Software> 2#****************************************************************************** 3# MStar Software 4# Copyright (c) 2010 - 2014 MStar Semiconductor, Inc. All rights reserved. 5# All software, firmware and related documentation herein ("MStar Software") are 6# intellectual property of MStar Semiconductor, Inc. ("MStar") and protected by 7# law, including, but not limited to, copyright law and international treaties. 8# Any use, modification, reproduction, retransmission, or republication of all 9# or part of MStar Software is expressly prohibited, unless prior written 10# permission has been granted by MStar. 11# 12# By accessing, browsing and/or using MStar Software, you acknowledge that you 13# have read, understood, and agree, to be bound by below terms ("Terms") and to 14# comply with all applicable laws and regulations: 15# 16# 1. MStar shall retain any and all right, ownership and interest to MStar 17# Software and any modification/derivatives thereof. 18# No right, ownership, or interest to MStar Software and any 19# modification/derivatives thereof is transferred to you under Terms. 20# 21# 2. You understand that MStar Software might include, incorporate or be 22# supplied together with third party's software and the use of MStar 23# Software may require additional licenses from third parties. 24# Therefore, you hereby agree it is your sole responsibility to separately 25# obtain any and all third party right and license necessary for your use of 26# such third party's software. 27# 28# 3. MStar Software and any modification/derivatives thereof shall be deemed as 29# MStar's confidential information and you agree to keep MStar's 30# confidential information in strictest confidence and not disclose to any 31# third party. 32# 33# 4. MStar Software is provided on an "AS IS" basis without warranties of any 34# kind. Any warranties are hereby expressly disclaimed by MStar, including 35# without limitation, any warranties of merchantability, non-infringement of 36# intellectual property rights, fitness for a particular purpose, error free 37# and in conformity with any international standard. You agree to waive any 38# claim against MStar for any loss, damage, cost or expense that you may 39# incur related to your use of MStar Software. 40# In no event shall MStar be liable for any direct, indirect, incidental or 41# consequential damages, including without limitation, lost of profit or 42# revenues, lost or damage of data, and unauthorized system use. 43# You agree that this Section 4 shall still apply without being affected 44# even if MStar Software has been modified by MStar in accordance with your 45# request or instruction for your use, except otherwise agreed by both 46# parties in writing. 47# 48# 5. If requested, MStar may from time to time provide technical supports or 49# services in relation with MStar Software to you for your use of 50# MStar Software in conjunction with your or your customer's product 51# ("Services"). 52# You understand and agree that, except otherwise agreed by both parties in 53# writing, Services are provided on an "AS IS" basis and the warranty 54# disclaimer set forth in Section 4 above shall apply. 55# 56# 6. Nothing contained herein shall be construed as by implication, estoppels 57# or otherwise: 58# (a) conferring any license or right to use MStar name, trademark, service 59# mark, symbol or any other identification; 60# (b) obligating MStar or any of its affiliates to furnish any person, 61# including without limitation, you and your customers, any assistance 62# of any kind whatsoever, or any information; or 63# (c) conferring any license or right under any intellectual property right. 64# 65# 7. These terms shall be governed by and construed in accordance with the laws 66# of Taiwan, R.O.C., excluding its conflict of law rules. 67# Any and all dispute arising out hereof or related hereto shall be finally 68# settled by arbitration referred to the Chinese Arbitration Association, 69# Taipei in accordance with the ROC Arbitration Law and the Arbitration 70# Rules of the Association by three (3) arbitrators appointed in accordance 71# with the said Rules. 72# The place of arbitration shall be in Taipei, Taiwan and the language shall 73# be English. 74# The arbitration award shall be final and binding to both parties. 75# 76#****************************************************************************** 77#<MStar Software> 78 79# Source files folder 80source_dir := \ 81 ./mxlib/hal/$(TARGET_BOARD_PLATFORM) \ 82 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/bdma \ 83 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/sem \ 84 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/mmio \ 85 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/uart \ 86 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/irq \ 87 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/sys \ 88 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/miu \ 89 ./mxlib/drv/bdma \ 90 ./mxlib/drv/sem \ 91 ./mxlib/drv/mmio \ 92 ./mxlib/drv/uart \ 93 ./mxlib/drv/irq \ 94 ./mxlib/drv/sys \ 95 ./mxlib/drv/sys/closeSRC \ 96 ./mxlib/drv/miu \ 97 ./mxlib/msos/arm_ca53 \ 98 ./mxlib/msos/linux \ 99 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/msos/linux \ 100 ./mxlib/msos/common \ 101 ./mxlib/utopia_core/linux \ 102 ./mxlib/drv/cpu \ 103 ./mxlib/api/swi2c \ 104 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/cpu 105 106# Header file of specific chip 107chip_includes := \ 108 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM) \ 109 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/bdma \ 110 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/sem \ 111 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/mmio \ 112 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/uart \ 113 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/irq \ 114 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/sys \ 115 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/miu \ 116 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/cpu 117 118# Header files of library 119lib_includes := \ 120 $(LOCAL_PATH)/mxlib \ 121 $(LOCAL_PATH)/mxlib/drv/bdma \ 122 $(LOCAL_PATH)/mxlib/drv/miu \ 123 $(LOCAL_PATH)/mxlib/drv/sem \ 124 $(LOCAL_PATH)/mxlib/drv/mmio \ 125 $(LOCAL_PATH)/mxlib/drv/irq \ 126 $(LOCAL_PATH)/mxlib/drv/sys \ 127 $(LOCAL_PATH)/mxlib/drv/mmio \ 128 $(LOCAL_PATH)/mxlib/drv/uart \ 129 $(LOCAL_PATH)/mxlib/drv/audio/internal \ 130 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM) \ 131 $(LOCAL_PATH)/mxlib/msos \ 132 $(LOCAL_PATH)/mxlib/msos/linux \ 133 $(LOCAL_PATH)/mxlib/utopia_core/ \ 134 $(LOCAL_PATH)/mxlib/utopia_api_relation/ \ 135 $(LOCAL_PATH)/mxlib/msfs \ 136 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/msos/linux \ 137 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/cpu 138 139# Public Header files 140public_includes := \ 141 $(LOCAL_PATH)/mxlib/include \ 142 $(LOCAL_PATH)/mxlib/utopia_core \ 143 $(LOCAL_PATH)/project/k6_android 144 145# C flags 146cflags := \ 147 -DMSOS_TYPE_LINUX \ 148 -DMCU_ARM_CA12 \ 149 -DMS_OPTIMIZE \ 150 -DOS_LINUX \ 151 -DANDROID \ 152 -DTV_OS \ 153 -DCHIP_K6 \ 154 -DMS_C_STDLIB \ 155 -DFW_EMBEDDED_ASC \ 156 -DCONFIG_K6 \ 157 -DCONFIG_UTOPIAXP_CONF_PATH="\"/system/etc/utopia.conf\"" \ 158 -DCONFIG_UTOPIA_FRAMEWORK_DISABLE_SYSTEM_V_IPCS \ 159 -DDONT_USE_CMA \ 160 -DCONFIG_KERN_3_10_86 \ 161#=ACE================== 162source_dir += \ 163 ./mxlib/api/ace \ 164 ./mxlib/drv/ace \ 165 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/ace 166chip_includes += $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/ace/include 167lib_includes += \ 168 $(LOCAL_PATH)/mxlib/drv/ace \ 169 $(LOCAL_PATH)/mxlib/api/ace \ 170 $(LOCAL_PATH)/mxlib/drv/ace/include 171 172#=CEC================== 173source_dir += \ 174 ./mxlib/api/cec \ 175 ./mxlib/drv/cec \ 176 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/cec 177chip_includes += $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/cec/include 178lib_includes += \ 179 $(LOCAL_PATH)/mxlib/drv/cec \ 180 $(LOCAL_PATH)/mxlib/api/cec \ 181 $(LOCAL_PATH)/mxlib/drv/cec/include 182 183#=AUDIO================ 184source_dir += \ 185 ./mxlib/api/audio \ 186 ./mxlib/drv/audio \ 187 ./mxlib/drv/audsp \ 188 ./mxlib/drv/ipauth \ 189 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/audio \ 190 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/audsp 191chip_includes += \ 192 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM) \ 193 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/audio \ 194 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/audsp 195lib_includes += 196 197#=XC=================== 198source_dir += \ 199 ./mxlib/api/xc \ 200 ./mxlib/drv/xc \ 201 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/xc 202chip_includes += \ 203 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/xc/include 204lib_includes += \ 205 $(LOCAL_PATH)/mxlib/api/xc \ 206 $(LOCAL_PATH)/mxlib/drv/xc/include 207cflags += -DUTOPIA_V2 208 209#=DLC=================== 210source_dir += \ 211 ./mxlib/api/dlc \ 212 ./mxlib/drv/dlc \ 213 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/dlc 214chip_includes += \ 215 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/dlc/include 216lib_includes += \ 217 $(LOCAL_PATH)/mxlib/api/dlc \ 218 $(LOCAL_PATH)/mxlib/drv/dlc \ 219 $(LOCAL_PATH)/mxlib/drv/dlc/include 220cflags += -DUTOPIA_V2 221 222#=MBX================== 223source_dir += \ 224 ./mxlib/api/mbx \ 225 ./mxlib/drv/mbx \ 226 ./mxlib/drv/mbx/api_mbx \ 227 ./mxlib/drv/mbx/linux \ 228 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/mbx 229chip_includes += 230lib_includes += \ 231 $(LOCAL_PATH)/mxlib/drv/mbx 232 233#=PNL================== 234source_dir += \ 235 ./mxlib/api/pnl \ 236 ./mxlib/drv/pnl \ 237 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/pnl 238chip_includes += \ 239 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/pnl 240lib_includes += \ 241 $(LOCAL_PATH)/mxlib/drv/pnl \ 242 $(LOCAL_PATH)/mxlib/drv/pnl/include \ 243 $(LOCAL_PATH)/mxlib/api/pnl 244 245#=GFX================== 246source_dir += \ 247 ./mxlib/api/gfx \ 248 ./mxlib/drv/ge \ 249 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/ge 250chip_includes += \ 251 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/ge 252lib_includes += \ 253 $(LOCAL_PATH)/mxlib/drv/ge 254 255#=GOP================== 256source_dir += \ 257 ./mxlib/api/gop \ 258 ./mxlib/drv/gop \ 259 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/gop 260chip_includes += \ 261 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/gop 262lib_includes += \ 263 $(LOCAL_PATH)/mxlib/drv/gop 264 265#=VE=================== 266source_dir += \ 267 ./mxlib/drv/ve \ 268 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/ve 269chip_includes += \ 270 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/ve/include 271lib_includes += \ 272 $(LOCAL_PATH)/mxlib/drv/ve \ 273 $(LOCAL_PATH)/mxlib/drv/ve/include 274 275#=CMDQ================= 276source_dir += \ 277 ./mxlib/drv/cmdq \ 278 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/cmdq 279chip_includes += \ 280 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/cmdq 281lib_includes += \ 282 $(LOCAL_PATH)/mxlib/drv/cmdq 283 284#=GPD================== 285source_dir += \ 286 ./mxlib/api/gpd \ 287 ./mxlib/drv/gpd \ 288 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/gpd 289chip_includes += \ 290 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/gpd 291lib_includes += \ 292 $(LOCAL_PATH)/mxlib/drv/gpd 293 294#=HDMITX================== 295source_dir += \ 296 ./mxlib/api/hdmitx \ 297 ./mxlib/drv/hdmitx \ 298 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/hdmitx 299chip_includes += \ 300 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/hdmitx/include 301lib_includes += \ 302 $(LOCAL_PATH)/mxlib/api/hdmitx \ 303 $(LOCAL_PATH)/mxlib/drv/hdmitx/include 304 305#=NJPD_EX============== 306source_dir += \ 307 ./mxlib/api/njpeg_ex \ 308 ./mxlib/drv/njpd_ex \ 309 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/njpd_ex 310chip_includes += \ 311 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/njpd_ex 312lib_includes += \ 313 $(LOCAL_PATH)/mxlib/drv/njpd_ex 314 315#=MFE_EX=============== 316source_dir += \ 317 ./mxlib/api/mfe_ex \ 318 ./mxlib/drv/mfe_ex \ 319 ./mxlib/drv/mfe_ex/cModel \ 320 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/mfe_ex 321chip_includes += \ 322 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/mfe_ex 323lib_includes += \ 324 $(LOCAL_PATH)/mxlib/drv/mfe_ex \ 325 $(LOCAL_PATH)/mxlib/drv/mfe_ex/cModel 326 327#=VDEC_V3============== 328source_dir += \ 329 ./mxlib/api/vdec_v3 \ 330 ./mxlib/drv/hvd_v3 \ 331 ./mxlib/drv/mjpeg_v3 \ 332 ./mxlib/drv/mvd_v3 \ 333 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/hvd_v3 \ 334 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/vpu_v3 \ 335 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/mvd_v3 336chip_includes += \ 337 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/hvd_v3 \ 338 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/vpu_v3 \ 339 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/mvd_v3 340lib_includes += \ 341 $(LOCAL_PATH)/mxlib/api/vdec_v3 \ 342 $(LOCAL_PATH)/mxlib/drv/mjpeg_v3 \ 343 $(LOCAL_PATH)/mxlib/drv/hvd_v3 \ 344 $(LOCAL_PATH)/mxlib/drv/mvd_v3 \ 345 $(LOCAL_PATH)/mxlib/drv/flash/serial 346cflags += \ 347 -DVDEC3 \ 348 -DVDEC3_FB \ 349 -DSUPPORT_EVD=1 \ 350 -DSUPPORT_G2VP9=0 \ 351 -DSUPPORT_MSVP9=1 \ 352 -DSUPPORT_NEW_MEM_LAYOUT 353 354##=DIP================== 355#source_dir += \ 356# ./mxlib/drv/dip \ 357# ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/dip 358#chip_includes += \ 359# $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/dip 360#lib_includes += \ 361# $(LOCAL_PATH)/mxlib/drv/dip 362 363#=FLASH================ 364source_dir += \ 365 ./mxlib/drv/flash/serial \ 366 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/flash/serial 367chip_includes += \ 368 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/flash/serial 369lib_includes += \ 370 $(LOCAL_PATH)/mxlib/drv/flash/serial 371 372#=MVOP================= 373source_dir += \ 374 ./mxlib/drv/mvop \ 375 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/mvop 376chip_includes += \ 377 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/mvop 378lib_includes += \ 379 $(LOCAL_PATH)/mxlib/drv/mvop 380 381#=GPIO================= 382source_dir += \ 383 ./mxlib/drv/gpio \ 384 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/gpio 385chip_includes += \ 386 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/gpio 387lib_includes += \ 388 $(LOCAL_PATH)/mxlib/drv/gpio 389 390#=PWM================== 391source_dir += \ 392 ./mxlib/drv/pwm \ 393 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/pwm 394chip_includes += \ 395 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/pwm 396lib_includes += \ 397 $(LOCAL_PATH)/mxlib/drv/pwm 398 399#=SAR================== 400source_dir += \ 401 ./mxlib/drv/sar \ 402 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/sar 403chip_includes += \ 404 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/sar 405lib_includes += \ 406 $(LOCAL_PATH)/mxlib/drv/sar 407 408#=AESDMA=============== 409source_dir += \ 410 ./mxlib/drv/cipher \ 411 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/cipher \ 412 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/rsa 413chip_includes += \ 414 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/cipher \ 415 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/rsa 416lib_includes += \ 417 $(LOCAL_PATH)/mxlib/drv/cipher 418 419# ===================================================================== 420# 421# Do not modify following section !!!! 422# Unless you really want to modify make rule !!!! 423# 424 425# 426# static 427# 428include $(CLEAR_VARS) 429 430LOCAL_MODULE := libutopia 431LOCAL_MODULE_TAGS := optional 432 433ARCH_ARM_HAVE_THUMB_SUPPORT := true 434LOCAL_ARM_MODE := arm 435 436#LOCAL_SRC_FILES := \ 437# $(call find-subdir-subdir-files, $(source_dir), *.c, ) \ 438# $(call find-subdir-subdir-files, $(source_dir), *.s, ) 439 440LOCAL_SRC_FILES := \ 441 $(filter-out $(call find-subdir-subdir-files, $(source_dir), apiHDMITx_Wrap.c, ), $(call find-subdir-subdir-files, $(source_dir), *.c, )) \ 442 $(call find-subdir-subdir-files, $(source_dir), *.s, ) 443 444LOCAL_C_INCLUDES := \ 445 $(chip_includes) \ 446 $(lib_includes) \ 447 $(public_includes) 448 449LOCAL_CFLAGS := $(cflags) 450 451LOCAL_SHARED_LIBRARIES := libcutils 452 453include $(BUILD_STATIC_LIBRARY) 454 455# 456# shared 457# 458include $(CLEAR_VARS) 459 460LOCAL_MODULE := libutopia 461LOCAL_MODULE_TAGS := optional 462LOCAL_WHOLE_STATIC_LIBRARIES := libutopia 463LOCAL_SHARED_LIBRARIES := libcutils 464include $(BUILD_SHARED_LIBRARY) 465 466#last line is for chip UFO unify 467define _install_bsp 468 $(shell sed -i -e 's/#define DLL_PACKED.*/#define DLL_PACKED/g' $(LOCAL_PATH)/mxlib/include/MsTypes.h) 469 $(shell sed -i -e 's/#define UFO_PUBLIC_HEADER.*/#define UFO_PUBLIC_HEADER_700/g' $(LOCAL_PATH)/mxlib/include/UFO/UFO_k6.h) 470 $(shell rm -rf $(LOCAL_PATH)/bsp) 471 $(shell mkdir $(LOCAL_PATH)/bsp) 472 $(shell cp $(call intermediates-dir-for,STATIC_LIBRARIES,$(LOCAL_MODULE))/$(LOCAL_MODULE)$($(my_prefix)STATIC_LIB_SUFFIX) $(LOCAL_PATH)/bsp) 473 $(shell cp $(ANDROID_PRODUCT_OUT)/system/lib/$(LOCAL_MODULE).so $(LOCAL_PATH)/bsp) 474 $(shell cp -r $(LOCAL_PATH)/mxlib/include $(LOCAL_PATH)/bsp/include) 475 $(shell cp $(LOCAL_PATH)/mxlib/include/UFO/UFO_k6.h $(LOCAL_PATH)/mxlib/include/UFO.h) 476endef 477 478$(eval $(call _install_bsp))