rules.mk 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533
  1. LOCAL_DIR := $(GET_LOCAL_DIR)
  2. ARCH := arm
  3. ARM_CPU := cortex-a53
  4. CPU := generic
  5. MMC_SLOT := 1
  6. PLATFORM_SECURITY_VERSION:=21
  7. DEFINES += PLATFORM_SECURITY_VERSION=$(PLATFORM_SECURITY_VERSION)
  8. MTK_AVB20_SUPPORT:=yes
  9. AVB_SHA256_CRYPTO_HW_SUPPORT:=yes
  10. SYSTEM_AS_ROOT = no
  11. AVB_PERSIST_VALUE_SUPPORT:=yes
  12. # choose one of following value -> 1: disabled/ 2: permissive /3: enforcing
  13. SELINUX_STATUS := 3
  14. # set kernel decompress size limit (120MB)
  15. KERNEL_DECOMPRESS_SIZE := 0x07800000
  16. DEFINES += KERNEL_DECOMPRESS_SIZE=$(KERNEL_DECOMPRESS_SIZE)
  17. # overwrite SELINUX_STATUS value with PRJ_SELINUX_STATUS, if defined. it's by project variable.
  18. ifdef PRJ_SELINUX_STATUS
  19. SELINUX_STATUS := $(PRJ_SELINUX_STATUS)
  20. endif
  21. ifeq (yes,$(strip $(MTK_BUILD_ROOT)))
  22. SELINUX_STATUS := 2
  23. DEFINES += MTK_BUILD_ROOT
  24. endif
  25. USE_DTB_NO_DWS = yes
  26. LK_MAIN_DTB_BUILT_IN := yes
  27. DEVELOP_STAGE ?= SB
  28. # it may be set in ${PROJECT}.mk
  29. ifeq ($(DEVELOP_STAGE), FPGA)
  30. # DEFINES += FPGA_SET_BOOT_ARGUMENT
  31. DEFINES += MACH_FPGA=y
  32. DEFINES += MACH_FPGA_NO_DISPLAY=y
  33. #DEFINES += MSDC_ENABLE_DMA_MODE # Turn this option OFF when DMA mode is not ready (especially in FPGA early porting).
  34. DEFINES += NO_PMIC
  35. DEFINES += NO_BOOT_MODE_SEL
  36. DEFINES += NO_PLL_TURN_OFF
  37. DEFINES += NO_BAT_INIT
  38. DEFINES += NO_MD_POWER_DOWN
  39. #DEFINES += ENABLE_IO_THREAD
  40. DEFINES += NO_MD_LOAD
  41. DEFINES += NO_DCM
  42. DEFINES += NO_POWER_OFF
  43. DEFINES += NO_WDT
  44. endif
  45. ifeq ($(DEVELOP_STAGE), SB)
  46. DEFINES += MSDC_ENABLE_DMA_MODE # Turn this option OFF when DMA mode is not ready (especially in FPGA early porting).
  47. #DEFINES += NO_PMIC
  48. #DEFINES += NO_BOOT_MODE_SEL
  49. DEFINES += NO_PLL_TURN_OFF
  50. #DEFINES += NO_BAT_INIT
  51. #DEFINES += NO_MD_POWER_DOWN
  52. #DEFINES += NO_DCM
  53. #DEFINES += NO_WDT
  54. #DEFINES += MACH_FPGA_NO_DISPLAY=y
  55. DEFINES += ENABLE_IO_THREAD
  56. endif
  57. CFG_MTK_UART_COMMON := yes
  58. DEFINES += CONFIG_UART_BAUDRATE=921600
  59. DEFINES += CONFIG_UART_FPGA_CLK=10000000
  60. DEFINES += CONFIG_UART_EVB_CLK=26000000
  61. DEFINES += PLATFORM=\"$(PLATFORM)\"
  62. DEFINES += SELINUX_STATUS=$(SELINUX_STATUS)
  63. DEFINES += PERIPH_BLK_BLSP=1
  64. DEFINES += WITH_CPU_EARLY_INIT=0 WITH_CPU_WARM_BOOT=0 \
  65. MMC_SLOT=$(MMC_SLOT)
  66. DEFINES += MTK_CAN_FROM_CLUSTER1=1
  67. # provide PMIC full (cold) reset functionality
  68. MTK_PMIC_FULL_RESET := yes
  69. ifeq ($(MTK_PMIC_FULL_RESET), yes)
  70. DEFINES += MTK_PMIC_FULL_RESET
  71. endif
  72. MTK_3LEVEL_PAGETABLE := yes
  73. ifeq ($(MTK_3LEVEL_PAGETABLE), yes)
  74. DEFINES += MTK_3LEVEL_PAGETABLE
  75. endif
  76. MBLOCK_LIB_SUPPORT := yes
  77. ifeq ($(MBLOCK_LIB_SUPPORT), yes)
  78. DEFINES += MBLOCK_LIB_SUPPORT=2
  79. MBLOCK_LIB_SUPPORT := 2
  80. MODULES += lib/mblock
  81. INCLUDES += -I$(LOCAL_DIR)/../../lib/mblock
  82. endif
  83. PLAT_DBG_INFO_LIB_SUPPORT := yes
  84. ifeq ($(PLAT_DBG_INFO_LIB_SUPPORT), yes)
  85. DEFINES += PLAT_DBG_INFO_LIB_SUPPORT=1
  86. PLAT_DBG_INFO_LIB_SUPPORT := 1
  87. MODULES += lib/plat_dbg_info
  88. endif
  89. ifeq ($(MTK_DUAL_DISPLAY_SUPPORT), 2)
  90. CFLAGS += -DMTK_DUAL_DISPLAY_SUPPORT=2
  91. OBJS += $(LOCAL_DIR)/external_display.o
  92. endif
  93. # Android Test Mode Feature
  94. MTK_ATM_SUPPORT := yes
  95. ifneq ($(MTK_PRODUCT_LINE_PLATFORM),)
  96. DEFINES += MTK_PRODUCT_LINE_PLATFORM=\"$(MTK_PRODUCT_LINE_PLATFORM)\"
  97. endif
  98. MTK_SEC_SOCID_SUPPORT := yes
  99. ifeq ($(MTK_SECURITY_SW_SUPPORT), yes)
  100. DEFINES += MTK_SECURITY_SW_SUPPORT
  101. ifeq ($(MTK_SEC_SOCID_SUPPORT), yes)
  102. DEFINES += MTK_SEC_SOCID_SUPPORT
  103. endif
  104. endif
  105. ifeq ($(AVB_PERSIST_VALUE_SUPPORT), yes)
  106. DEFINES += AVB_PERSIST_VALUE_SUPPORT
  107. endif
  108. MTK_OTP_FRAMEWORK_V2 := no
  109. ifeq ($(MTK_SECURITY_ANTI_ROLLBACK), yes)
  110. DEFINES += MTK_SECURITY_ANTI_ROLLBACK
  111. ifneq ($(MTK_VER_SIMPLE_TEST),)
  112. DEFINES += MTK_VER_SIMPLE_TEST=$(MTK_VER_SIMPLE_TEST)
  113. endif
  114. ifeq ($(MTK_OTP_FRAMEWORK_V2), yes)
  115. DEFINES += MTK_OTP_FRAMEWORK_V2
  116. endif
  117. endif
  118. MD_RMA_SUPPORT := yes
  119. ifeq ($(MD_RMA_SUPPORT), yes)
  120. DEFINES += MD_RMA_SUPPORT
  121. endif
  122. MTK_SECURITY_OEM_WITH_DMCERT_ONLY_SUPPORT := no
  123. ifeq ($(MTK_SECURITY_OEM_WITH_DMCERT_ONLY_SUPPORT), yes)
  124. DEFINES += MTK_SECURITY_OEM_WITH_DMCERT_ONLY_SUPPORT
  125. endif
  126. MTK_SECURITY_YELLOW_STATE_SUPPORT := no
  127. ifeq ($(MTK_SECURITY_YELLOW_STATE_SUPPORT), yes)
  128. DEFINES += MTK_SECURITY_YELLOW_STATE_SUPPORT
  129. endif
  130. ifeq ($(MTK_GOOGLE_TRUSTY_SUPPORT), yes)
  131. DEFINES += MTK_LM_2LEVEL_PAGETABLE_MODE
  132. endif
  133. # choose one of following value -> 0: disabled/1: enable
  134. MTK_POWER_ON_WRITE_PROTECT := 1
  135. ifdef PRJ_MTK_POWER_ON_WRITE_PROTECT
  136. MTK_POWER_ON_WRITE_PROTECT := $(PRJ_MTK_POWER_ON_WRITE_PROTECT)
  137. endif
  138. ifeq ($(MTK_POWER_ON_WRITE_PROTECT), 1)
  139. DEFINES += MTK_POWER_ON_WRITE_PROTECT=$(MTK_POWER_ON_WRITE_PROTECT)
  140. ifeq ($(MTK_SIM_LOCK_POWER_ON_WRITE_PROTECT), yes)
  141. DEFINES += MTK_SIM_LOCK_POWER_ON_WRITE_PROTECT
  142. endif
  143. endif
  144. MTK_PERSIST_PARTITION_SUPPORT := 0
  145. ifdef PRJ_MTK_PERSIST_PARTITION_SUPPORT
  146. MTK_PERSIST_PARTITION_SUPPORT := $(PRJ_MTK_PERSIST_PARTITION_SUPPORT)
  147. endif
  148. ifeq ($(MTK_PERSIST_PARTITION_SUPPORT), 1)
  149. DEFINES += MTK_PERSIST_PARTITION_SUPPORT=$(MTK_PERSIST_PARTITION_SUPPORT)
  150. endif
  151. ifeq ($(MTK_SEC_FASTBOOT_UNLOCK_SUPPORT), yes)
  152. DEFINES += MTK_SEC_FASTBOOT_UNLOCK_SUPPORT
  153. ifeq ($(MTK_SEC_FASTBOOT_UNLOCK_KEY_SUPPORT), yes)
  154. DEFINES += MTK_SEC_FASTBOOT_UNLOCK_KEY_SUPPORT
  155. endif
  156. endif
  157. # used for DA tool to enter fastboot via setting RGU bit
  158. MTK_ENTER_FASTBOOT_VIA_RGU := yes
  159. ifeq ($(MTK_ENTER_FASTBOOT_VIA_RGU), yes)
  160. DEFINES += MTK_ENTER_FASTBOOT_VIA_RGU
  161. endif
  162. ifeq ($(MTK_KERNEL_POWER_OFF_CHARGING),yes)
  163. #Fastboot support off-mode-charge 0/1
  164. #1: charging mode, 0:skip charging mode
  165. DEFINES += MTK_OFF_MODE_CHARGE_SUPPORT
  166. endif
  167. MTK_PMIC_POWER_OFF := yes
  168. ifeq ($(MTK_PMIC_POWER_OFF), yes)
  169. DEFINES += MTK_PMIC_POWER_OFF
  170. endif
  171. DEFINES += MTK_SMC_K32_SUPPORT
  172. KEDUMP_MINI := yes
  173. ARCH_HAVE_MT_RAMDUMP := yes
  174. # Use it Carefully! Make sure that you know what you are doing!
  175. # This config will force MRDUMP enabled.
  176. ifeq ($(MTK_MRDUMP_ENABLE),)
  177. #MTK_MRDUMP_ENABLE := yes
  178. endif
  179. # Use SRAM to preserve control block
  180. ifneq ($(wildcard $(LOCAL_DIR)/include/platform/mtk_mrdump.h),)
  181. DEFINES += MTK_MRDUMP_SRAM_CB
  182. endif
  183. DEFINES += $(shell echo $(BOOT_LOGO) | tr a-z A-Z)
  184. MTK_POWER_ON_WP := yes
  185. ifeq ($(MTK_EMMC_SUPPORT),yes)
  186. ifeq ($(MTK_POWER_ON_WP),yes)
  187. DEFINES += MTK_POWER_ON_WP
  188. endif
  189. ifeq ($(MTK_EMMC_SUPPORT_OTP),yes)
  190. DEFINES += MTK_EMMC_SUPPORT_OTP
  191. endif
  192. endif
  193. ifeq ($(MTK_UFS_BOOTING),yes)
  194. ifeq ($(MTK_POWER_ON_WP),yes)
  195. DEFINES += MTK_POWER_ON_WP
  196. endif
  197. endif
  198. MTK_PARTITION_COMMON := yes
  199. ifeq ($(MTK_PARTITION_COMMON), yes)
  200. DEFINES += MTK_PARTITION_COMMON
  201. endif
  202. MTK_MUSB := yes
  203. ifeq ($(MTK_MUSB), yes)
  204. INCLUDES += -I$(LK_TOP_DIR)/platform/common/mt_musb
  205. OBJS += \
  206. $(LOCAL_DIR)/mt_musb/mt_musbphy.o
  207. endif
  208. $(info libshowlogo new path ------- $(LOCAL_DIR)/../../lib/libshowlogo)
  209. INCLUDES += -I$(LOCAL_DIR)/include \
  210. -I$(LOCAL_DIR)/include/platform \
  211. -I$(LOCAL_DIR)/../../lib/libshowlogo \
  212. -I$(LK_TOP_DIR)/app/mt_boot/ \
  213. -I$(LK_TOP_DIR)/platform/common/storage/mmc/inc \
  214. -Icustom/$(FULL_PROJECT)/lk/include/target \
  215. -Icustom/$(FULL_PROJECT)/lk/lcm/inc \
  216. -Icustom/$(FULL_PROJECT)/lk/inc \
  217. -Icustom/$(FULL_PROJECT)/common \
  218. -Icustom/$(FULL_PROJECT)/kernel/dct/ \
  219. -I$(BUILDDIR)/include/dfo \
  220. -I$(LOCAL_DIR)/../../dev/lcm/inc
  221. INCLUDES += -I$(DRVGEN_OUT)/inc
  222. OBJS += \
  223. $(LOCAL_DIR)/bitops.o \
  224. $(LOCAL_DIR)/mt_gpio.o \
  225. $(LOCAL_DIR)/mt_disp_drv.o \
  226. $(LOCAL_DIR)/mt_gpio_init.o \
  227. $(LOCAL_DIR)/mt_i2c.o \
  228. $(LOCAL_DIR)/mt_latch.o \
  229. $(LOCAL_DIR)/platform.o \
  230. $(LOCAL_DIR)/interrupts.o \
  231. $(LOCAL_DIR)/timer.o \
  232. $(LOCAL_DIR)/debug.o \
  233. $(LOCAL_DIR)/mt_debug_dump.o \
  234. $(LOCAL_DIR)/boot_mode.o \
  235. $(LOCAL_DIR)/custom_dtb_index.o \
  236. $(LOCAL_DIR)/load_image.o \
  237. $(LOCAL_DIR)/atags.o \
  238. $(LOCAL_DIR)/partition_setting.o \
  239. $(LOCAL_DIR)/mt_get_dl_info.o \
  240. $(LOCAL_DIR)/addr_trans.o \
  241. $(LOCAL_DIR)/factory.o \
  242. $(LOCAL_DIR)/mt_gpt.o\
  243. $(LOCAL_DIR)/mtk_key.o \
  244. $(LOCAL_DIR)/mt_logo.o\
  245. $(LOCAL_DIR)/boot_mode_menu.o\
  246. $(LOCAL_DIR)/mt_pmic_wrap_init.o\
  247. $(LOCAL_DIR)/msdc_io.o\
  248. $(LOCAL_DIR)/cust_msdc.o\
  249. $(LOCAL_DIR)/upmu_common.o\
  250. $(LOCAL_DIR)/mt_pmic_dlpt.o\
  251. $(LOCAL_DIR)/mt_pmic.o\
  252. $(LOCAL_DIR)/mtk_wdt.o\
  253. $(LOCAL_DIR)/mt_rtc.o\
  254. $(LOCAL_DIR)/ddp_manager.o\
  255. $(LOCAL_DIR)/ddp_path.o\
  256. $(LOCAL_DIR)/ddp_ovl.o\
  257. $(LOCAL_DIR)/ddp_rdma.o\
  258. $(LOCAL_DIR)/ddp_misc.o\
  259. $(LOCAL_DIR)/ddp_info.o\
  260. $(LOCAL_DIR)/ddp_dither.o\
  261. $(LOCAL_DIR)/ddp_dump.o\
  262. $(LOCAL_DIR)/ddp_dsi.o\
  263. $(LOCAL_DIR)/primary_display.o\
  264. $(LOCAL_DIR)/disp_lcm.o\
  265. $(LOCAL_DIR)/ddp_pwm.o\
  266. $(LOCAL_DIR)/pwm.o \
  267. $(LOCAL_DIR)/sec_efuse.o\
  268. $(LOCAL_DIR)/sec_policy.o\
  269. $(LOCAL_DIR)/mtk_auxadc.o\
  270. $(LOCAL_DIR)/mt_efuse.o\
  271. $(LOCAL_DIR)/aee_platform_debug.o\
  272. $(LOCAL_DIR)/mt_dramc_memtest.o\
  273. $(LOCAL_DIR)/../common/emi/emi_mpu_v1.o\
  274. $(LOCAL_DIR)/../common/emi/emi_info_v1.o\
  275. $(LOCAL_DIR)/pll.o \
  276. $(LOCAL_DIR)/spm_md_mtcmos.o \
  277. $(LOCAL_DIR)/md1_off.o \
  278. $(LOCAL_DIR)/mtk_dcm.o \
  279. $(LOCAL_DIR)/mtk_dcm_autogen.o \
  280. $(LOCAL_DIR)/mtk_mcdi.o \
  281. $(LOCAL_DIR)/crypto_hw.o \
  282. $(LOCAL_DIR)/oaep.o \
  283. $(LOCAL_DIR)/rsa_oaep.o \
  284. $(LOCAL_DIR)/anti_rollback_cust.o
  285. ifeq ($(MTK_AB_OTA_UPDATER),yes)
  286. OBJS += $(LOCAL_DIR)/write_protect_ab.o
  287. else
  288. OBJS += $(LOCAL_DIR)/write_protect.o
  289. endif
  290. ifeq ($(MTK_SMI_SUPPORT),yes)
  291. OBJS += $(LOCAL_DIR)/mtk_smi.o
  292. DEFINES += MTK_SMI_SUPPORT
  293. endif
  294. ifeq ($(MTK_UFS_BOOTING),yes)
  295. OBJS += \
  296. $(LOCAL_DIR)/ufs_aio_platform.o
  297. endif
  298. ifeq ($(MTK_TINYSYS_SCP_SUPPORT), yes)
  299. ifeq ($(MTK_MINIMUM_SCP_DRAM_SIZE), yes)
  300. DEFINES += MTK_MINIMUM_SCP_DRAM_SIZE
  301. endif
  302. DEFINES += MTK_TINYSYS_SCP_SUPPORT
  303. OBJS += $(LOCAL_DIR)/mt_scp.o
  304. OBJS += $(LOCAL_DIR)/mt_scp_l1c.o
  305. OBJS += $(LOCAL_DIR)/mt_scp_excep.o
  306. endif
  307. ifeq ($(MTK_TINYSYS_SSPM_SUPPORT), yes)
  308. OBJS += $(LOCAL_DIR)/mt_sspm.o
  309. DEFINES += MTK_TINYSYS_SSPM_SUPPORT
  310. endif
  311. ifeq ($(SPM_FW_USE_PARTITION), yes)
  312. DEFINES += SPM_FW_USE_PARTITION
  313. endif
  314. ifeq ($(MTK_SECURITY_SW_SUPPORT), yes)
  315. OBJS += $(LOCAL_DIR)/img_auth_stor.o
  316. endif
  317. ifneq ($(MACH_FPGA_LED_SUPPORT), yes)
  318. OBJS += $(LOCAL_DIR)/mt_leds.o
  319. else
  320. DEFINES += MACH_FPGA_LED_SUPPORT
  321. endif
  322. ifneq ($(MTK_EMMC_SUPPORT),yes)
  323. # OBJS +=$(LOCAL_DIR)/mtk_nand.o
  324. # OBJS +=$(LOCAL_DIR)/bmt.o
  325. endif
  326. ifeq ($(MTK_USB2JTAG_SUPPORT),yes)
  327. OBJS += $(LOCAL_DIR)/mt_usb2jtag.o
  328. DEFINES += MTK_USB2JTAG_SUPPORT
  329. endif
  330. ifeq ($(MTK_MT8193_SUPPORT),yes)
  331. #OBJS +=$(LOCAL_DIR)/mt8193_init.o
  332. #OBJS +=$(LOCAL_DIR)/mt8193_ckgen.o
  333. #OBJS +=$(LOCAL_DIR)/mt8193_i2c.o
  334. endif
  335. ifeq ($(MTK_KERNEL_POWER_OFF_CHARGING),yes)
  336. OBJS +=$(LOCAL_DIR)/mt_kernel_power_off_charging.o
  337. DEFINES += MTK_KERNEL_POWER_OFF_CHARGING
  338. endif
  339. ifeq ($(MTK_PUMP_EXPRESS_PLUS_SUPPORT),yes)
  340. DEFINES += MTK_PUMP_EXPRESS_PLUS_SUPPORT
  341. endif
  342. ifneq ($(MTK_CHARGER_NEW_ARCH), yes)
  343. ifeq ($(MTK_MT6370_PMU_BLED_SUPPORT),yes)
  344. OBJS += $(LOCAL_DIR)/mt6370_pmu_bled.o
  345. DEFINES += MTK_MT6370_PMU_BLED_SUPPORT
  346. endif
  347. OBJS += $(LOCAL_DIR)/mt_battery.o
  348. ifeq ($(MTK_BQ24261_SUPPORT),yes)
  349. OBJS +=$(LOCAL_DIR)/bq24261.o
  350. else
  351. ifeq ($(MTK_BQ24196_SUPPORT),yes)
  352. OBJS +=$(LOCAL_DIR)/bq24196.o
  353. else
  354. ifeq ($(MTK_BQ25896_SUPPORT),yes)
  355. OBJS +=$(LOCAL_DIR)/bq25890.o
  356. DEFINES += MTK_BQ25896_SUPPORT
  357. DEFINES += SWCHR_POWER_PATH
  358. endif
  359. endif
  360. endif
  361. ifeq ($(MTK_RT9466_SUPPORT),yes)
  362. OBJS += $(LOCAL_DIR)/rt9466.o
  363. DEFINES += MTK_RT9466_SUPPORT
  364. DEFINES += SWCHR_POWER_PATH
  365. endif
  366. ifeq ($(MTK_RT9468_SUPPORT),yes)
  367. OBJS += $(LOCAL_DIR)/rt9468.o
  368. DEFINES += MTK_RT9468_SUPPORT
  369. DEFINES += SWCHR_POWER_PATH
  370. endif
  371. ifeq ($(MTK_MT6370_PMU_CHARGER_SUPPORT),yes)
  372. OBJS += $(LOCAL_DIR)/mt6370_pmu_charger.o
  373. DEFINES += MTK_MT6370_PMU_CHARGER_SUPPORT
  374. DEFINES += SWCHR_POWER_PATH
  375. endif
  376. ifeq ($(MTK_CHARGER_INTERFACE),yes)
  377. OBJS += $(LOCAL_DIR)/mtk_charger_intf.o
  378. DEFINES += MTK_CHARGER_INTERFACE
  379. endif
  380. ifeq ($(MTK_NCP1854_SUPPORT),yes)
  381. OBJS +=$(LOCAL_DIR)/ncp1854.o
  382. endif
  383. endif
  384. #DUMMY_AP :=yes
  385. ifeq ($(DUMMY_AP),yes)
  386. OBJS +=$(LOCAL_DIR)/dummy_ap.o
  387. DEFINES += DUMMY_AP_MODE
  388. endif
  389. LK_LD_MD_SUPPORT := yes
  390. ifeq ($(LK_LD_MD_SUPPORT), yes)
  391. INCLUDES += -I$(LOCAL_DIR)/../common/md
  392. OBJS +=$(LOCAL_DIR)/ccci_lk_load_img_plat.o
  393. #DEFINES += LK_OPT_TO_KERNEL_CCCI
  394. DEFINES += LK_LD_MD_SUPPORT
  395. DEFINES += ENABLE_PARSING_LK_ENV
  396. ifneq (,$(strip $(MTK_PROTOCOL1_RAT_CONFIG)))
  397. DEFINES += MTK_PROTOCOL1_RAT_CONFIG="\"$(strip $(MTK_PROTOCOL1_RAT_CONFIG))\""
  398. endif
  399. endif
  400. ifeq ($(MTK_EFUSE_WRITER_SUPPORT), yes)
  401. DEFINES += MTK_EFUSE_WRITER_SUPPORT
  402. endif
  403. ifeq ($(TRUSTONIC_TEE_SUPPORT),yes)
  404. DEFINES += TRUSTONIC_TEE_SUPPORT
  405. endif
  406. ifeq ($(MTK_GOOGLE_TRUSTY_SUPPORT),yes)
  407. DEFINES += MTK_GOOGLE_TRUSTY_SUPPORT
  408. endif
  409. ifeq ($(MTK_SECURITY_SW_SUPPORT), yes)
  410. ifeq ($(CUSTOM_SEC_AUTH_SUPPORT), yes)
  411. LIBSEC := -L$(LOCAL_DIR)/lib --start-group -lsec
  412. else
  413. LIBSEC := -L$(LOCAL_DIR)/lib --start-group -lsec -lcrypto
  414. endif
  415. LIBSEC_PLAT := -lsecplat -ldevinfo --end-group
  416. else
  417. LIBSEC := -L$(LOCAL_DIR)/lib
  418. LIBSEC_PLAT := -lsecplat -ldevinfo
  419. endif
  420. MTK_GIC_VERSION := v3
  421. ifeq ($(MTK_NO_BIGCORES),yes)
  422. DEFINES += MTK_NO_BIGCORES
  423. endif
  424. ifeq ($(MTK_USERIMAGES_USE_F2FS), yes)
  425. DEFINES += MTK_USERIMAGES_USE_F2FS
  426. endif
  427. LINKER_SCRIPT += $(BUILDDIR)/system-onesegment.ld
  428. MTK_AEE_PLATFORM_DEBUG_SUPPORT := yes
  429. DEFINES += MTK_AEE_PLATFORM_DEBUG_SUPPORT
  430. ifeq ($(MTK_DM_VERITY_OFF),yes)
  431. DEFINES += MTK_DM_VERITY_OFF
  432. endif
  433. OBJS += $(LOCAL_DIR)/dm_verity_status.o
  434. MTK_RC_TO_VENDOR ?= yes
  435. ifneq ($(MTK_DYNAMIC_CCB_BUFFER_GEAR_ID),)
  436. DEFINES += MTK_DYNAMIC_CCB_BUFFER_GEAR_ID=$(MTK_DYNAMIC_CCB_BUFFER_GEAR_ID)
  437. endif
  438. -include $(LOCAL_DIR)/../../../../../../internal/bootloader/lk/rsc/rules.mk
  439. ifeq ($(AVB_SHA256_CRYPTO_HW_SUPPORT),yes)
  440. OBJS += $(LOCAL_DIR)/avb_crypto_hw.o
  441. endif
  442. CFG_LOG_STORE_SUPPORT := yes