rules.mk 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589
  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. AVB_PERSIST_VALUE_SUPPORT:=yes
  11. SYSTEM_AS_ROOT = no
  12. # mtk gpt version
  13. GPT_VER := 4
  14. DEFINES += GPT_VER=$(GPT_VER)
  15. # choose one of following value -> 1: disabled/ 2: permissive /3: enforcing
  16. SELINUX_STATUS := 3
  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. LK_MAIN_DTB_BUILT_IN := yes
  26. DEVELOP_STAGE ?= SB
  27. # it may be set in ${PROJECT}.mk
  28. ifeq ($(DEVELOP_STAGE), FPGA)
  29. DEFINES += MACH_FPGA=y
  30. DEFINES += MACH_FPGA_NO_DISPLAY=y
  31. DEFINES += NO_MD_POWER_DOWN
  32. endif
  33. ifeq ($(DEVELOP_STAGE), SB)
  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 += NO_DCM
  40. #DEFINES += MACH_FPGA_NO_DISPLAY=y
  41. DEFINES += ENABLE_IO_THREAD
  42. endif
  43. CFG_MTK_WDT_COMMON := yes
  44. DEFINES += PLATFORM=\"$(PLATFORM)\"
  45. DEFINES += SELINUX_STATUS=$(SELINUX_STATUS)
  46. DEFINES += PERIPH_BLK_BLSP=1
  47. DEFINES += WITH_CPU_EARLY_INIT=0 WITH_CPU_WARM_BOOT=0 \
  48. MMC_SLOT=$(MMC_SLOT)
  49. DEFINES += MTK_CAN_FROM_CLUSTER1=1
  50. # provide PMIC full (cold) reset functionality
  51. MTK_PMIC_FULL_RESET := yes
  52. ifeq ($(MTK_PMIC_FULL_RESET), yes)
  53. DEFINES += MTK_PMIC_FULL_RESET
  54. endif
  55. MTK_3LEVEL_PAGETABLE := yes
  56. ifeq ($(MTK_3LEVEL_PAGETABLE), yes)
  57. DEFINES += MTK_3LEVEL_PAGETABLE
  58. endif
  59. MBLOCK_LIB_SUPPORT := yes
  60. ifeq ($(MBLOCK_LIB_SUPPORT), yes)
  61. DEFINES += MBLOCK_LIB_SUPPORT=2
  62. MBLOCK_LIB_SUPPORT := 2
  63. MODULES += lib/mblock
  64. INCLUDES += -I$(LOCAL_DIR)/../../lib/mblock
  65. endif
  66. PLAT_DBG_INFO_LIB_SUPPORT := yes
  67. ifeq ($(PLAT_DBG_INFO_LIB_SUPPORT), yes)
  68. DEFINES += PLAT_DBG_INFO_LIB_SUPPORT=1
  69. PLAT_DBG_INFO_LIB_SUPPORT := 1
  70. MODULES += lib/plat_dbg_info
  71. endif
  72. # Android Test Mode Feature
  73. MTK_ATM_SUPPORT := yes
  74. MTK_SEC_SOCID_SUPPORT := yes
  75. MTK_SECURITY_SW_SUPPORT ?= yes
  76. ifeq ($(MTK_SECURITY_SW_SUPPORT), yes)
  77. DEFINES += MTK_SECURITY_SW_SUPPORT
  78. ifeq ($(MTK_SEC_SOCID_SUPPORT), yes)
  79. DEFINES += MTK_SEC_SOCID_SUPPORT
  80. endif
  81. endif
  82. ifeq ($(AVB_PERSIST_VALUE_SUPPORT), yes)
  83. DEFINES += AVB_PERSIST_VALUE_SUPPORT
  84. endif
  85. MTK_OTP_FRAMEWORK_V2 := no
  86. ifeq ($(MTK_SECURITY_ANTI_ROLLBACK), yes)
  87. DEFINES += MTK_SECURITY_ANTI_ROLLBACK
  88. ifneq ($(MTK_VER_SIMPLE_TEST),)
  89. DEFINES += MTK_VER_SIMPLE_TEST=$(MTK_VER_SIMPLE_TEST)
  90. endif
  91. ifeq ($(MTK_OTP_FRAMEWORK_V2), yes)
  92. DEFINES += MTK_OTP_FRAMEWORK_V2
  93. endif
  94. endif
  95. MTK_SECURITY_YELLOW_STATE_SUPPORT := no
  96. ifeq ($(MTK_SECURITY_YELLOW_STATE_SUPPORT), yes)
  97. DEFINES += MTK_SECURITY_YELLOW_STATE_SUPPORT
  98. endif
  99. MTK_SECURITY_OEM_WITH_DMCERT_ONLY_SUPPORT := no
  100. ifeq ($(MTK_SECURITY_OEM_WITH_DMCERT_ONLY_SUPPORT), yes)
  101. DEFINES += MTK_SECURITY_OEM_WITH_DMCERT_ONLY_SUPPORT
  102. endif
  103. MD_RMA_SUPPORT := yes
  104. ifeq ($(MD_RMA_SUPPORT), yes)
  105. DEFINES += MD_RMA_SUPPORT
  106. endif
  107. ifeq ($(MTK_GOOGLE_TRUSTY_SUPPORT), yes)
  108. DEFINES += MTK_LM_2LEVEL_PAGETABLE_MODE
  109. endif
  110. # choose one of following value -> 0: disabled/1: enable
  111. MTK_POWER_ON_WRITE_PROTECT := 1
  112. ifdef PRJ_MTK_POWER_ON_WRITE_PROTECT
  113. MTK_POWER_ON_WRITE_PROTECT := $(PRJ_MTK_POWER_ON_WRITE_PROTECT)
  114. endif
  115. ifeq ($(MTK_POWER_ON_WRITE_PROTECT), 1)
  116. DEFINES += MTK_POWER_ON_WRITE_PROTECT=$(MTK_POWER_ON_WRITE_PROTECT)
  117. ifeq ($(MTK_SIM_LOCK_POWER_ON_WRITE_PROTECT), yes)
  118. DEFINES += MTK_SIM_LOCK_POWER_ON_WRITE_PROTECT
  119. endif
  120. endif
  121. MTK_PERSIST_PARTITION_SUPPORT := 0
  122. ifdef PRJ_MTK_PERSIST_PARTITION_SUPPORT
  123. MTK_PERSIST_PARTITION_SUPPORT := $(PRJ_MTK_PERSIST_PARTITION_SUPPORT)
  124. endif
  125. ifeq ($(MTK_PERSIST_PARTITION_SUPPORT), 1)
  126. DEFINES += MTK_PERSIST_PARTITION_SUPPORT=$(MTK_PERSIST_PARTITION_SUPPORT)
  127. endif
  128. ifneq ($(MTK_PRODUCT_LINE_PLATFORM),)
  129. DEFINES += MTK_PRODUCT_LINE_PLATFORM=\"$(MTK_PRODUCT_LINE_PLATFORM)\"
  130. endif
  131. ifeq ($(MTK_SEC_FASTBOOT_UNLOCK_SUPPORT), yes)
  132. DEFINES += MTK_SEC_FASTBOOT_UNLOCK_SUPPORT
  133. ifeq ($(MTK_SEC_FASTBOOT_UNLOCK_KEY_SUPPORT), yes)
  134. DEFINES += MTK_SEC_FASTBOOT_UNLOCK_KEY_SUPPORT
  135. endif
  136. endif
  137. ifeq ($(MTK_COMBO_NAND_SUPPORT),yes)
  138. DEFINES += MTK_COMBO_NAND_SUPPORT
  139. endif
  140. ifeq ($(MTK_MLC_NAND_SUPPORT),yes)
  141. DEFINES += MTK_MLC_NAND_SUPPORT
  142. endif
  143. ifeq ($(MTK_KERNEL_POWER_OFF_CHARGING),yes)
  144. #Fastboot support off-mode-charge 0/1
  145. #1: charging mode, 0:skip charging mode
  146. DEFINES += MTK_OFF_MODE_CHARGE_SUPPORT
  147. endif
  148. DEFINES += MTK_SMC_K32_SUPPORT
  149. KEDUMP_MINI := yes
  150. ARCH_HAVE_MT_RAMDUMP := yes
  151. # Use it Carefully! Make sure that you know what you are doing!
  152. # This config will force MRDUMP enabled.
  153. ifeq ($(MTK_MRDUMP_ENABLE),)
  154. #MTK_MRDUMP_ENABLE := yes
  155. endif
  156. DEFINES += $(shell echo $(BOOT_LOGO) | tr a-z A-Z)
  157. MTK_POWER_ON_WP := yes
  158. ifeq ($(MTK_EMMC_SUPPORT),yes)
  159. ifeq ($(MTK_POWER_ON_WP),yes)
  160. DEFINES += MTK_POWER_ON_WP
  161. endif
  162. endif
  163. ifeq ($(MTK_UFS_SUPPORT),yes)
  164. ifeq ($(MTK_POWER_ON_WP),yes)
  165. DEFINES += MTK_POWER_ON_WP
  166. endif
  167. endif
  168. MTK_PARTITION_COMMON := yes
  169. ifeq ($(MTK_PARTITION_COMMON), yes)
  170. DEFINES += MTK_PARTITION_COMMON
  171. endif
  172. MTK_MUSB := yes
  173. ifeq ($(MTK_MUSB), yes)
  174. INCLUDES += -I$(LK_TOP_DIR)/platform/common/mt_musb
  175. OBJS += \
  176. $(LOCAL_DIR)/mt_musb/mt_musbphy.o
  177. endif
  178. ifeq ($(CFG_MTK_WDT_COMMON), yes)
  179. INCLUDES += -I$(LK_TOP_DIR)/platform/common/wdt
  180. DEFINES += CFG_MTK_WDT_COMMON
  181. endif
  182. $(info libshowlogo new path ------- $(LOCAL_DIR)/../../lib/libshowlogo)
  183. INCLUDES += -I$(LOCAL_DIR)/include \
  184. -I$(LOCAL_DIR)/include/platform \
  185. -I$(LOCAL_DIR)/../../lib/libshowlogo \
  186. -I$(LK_TOP_DIR)/app/mt_boot/ \
  187. -I$(LK_TOP_DIR)/platform/common/storage/mmc/inc \
  188. -Icustom/$(FULL_PROJECT)/lk/include/target \
  189. -Icustom/$(FULL_PROJECT)/lk/lcm/inc \
  190. -Icustom/$(FULL_PROJECT)/lk/inc \
  191. -Icustom/$(FULL_PROJECT)/common \
  192. -Icustom/$(FULL_PROJECT)/kernel/dct/ \
  193. -I$(BUILDDIR)/include/dfo \
  194. -I$(LOCAL_DIR)/../../dev/lcm/inc
  195. ifeq ($(MTK_TLC_NAND_SUPPORT),yes)
  196. INCLUDES += -I$(LOCAL_DIR)/include/ptgen
  197. endif
  198. INCLUDES += -I$(DRVGEN_OUT)/inc
  199. OBJS += \
  200. $(LOCAL_DIR)/bitops.o \
  201. $(LOCAL_DIR)/gpio.o \
  202. $(LOCAL_DIR)/mt_disp_drv.o \
  203. $(LOCAL_DIR)/gpio_init.o \
  204. $(LOCAL_DIR)/mt_i2c.o \
  205. $(LOCAL_DIR)/platform.o \
  206. $(LOCAL_DIR)/uart.o \
  207. $(LOCAL_DIR)/interrupts.o \
  208. $(LOCAL_DIR)/timer.o \
  209. $(LOCAL_DIR)/debug.o \
  210. $(LOCAL_DIR)/boot_mode.o \
  211. $(LOCAL_DIR)/load_image.o \
  212. $(LOCAL_DIR)/atags.o \
  213. $(LOCAL_DIR)/mt_get_dl_info.o \
  214. $(LOCAL_DIR)/addr_trans.o \
  215. $(LOCAL_DIR)/factory.o \
  216. $(LOCAL_DIR)/mtk_key.o \
  217. $(LOCAL_DIR)/mt_logo.o\
  218. $(LOCAL_DIR)/msdc_io.o\
  219. $(LOCAL_DIR)/cust_msdc.o \
  220. $(LOCAL_DIR)/mt_latch.o\
  221. $(LOCAL_DIR)/ddp_manager.o\
  222. $(LOCAL_DIR)/ddp_path.o\
  223. $(LOCAL_DIR)/ddp_ovl.o\
  224. $(LOCAL_DIR)/ddp_rdma.o\
  225. $(LOCAL_DIR)/ddp_misc.o\
  226. $(LOCAL_DIR)/ddp_info.o\
  227. $(LOCAL_DIR)/ddp_dither.o\
  228. $(LOCAL_DIR)/ddp_dump.o\
  229. $(LOCAL_DIR)/ddp_dsi.o\
  230. $(LOCAL_DIR)/primary_display.o\
  231. $(LOCAL_DIR)/disp_lcm.o\
  232. $(LOCAL_DIR)/ddp_pwm.o\
  233. $(LOCAL_DIR)/pwm.o \
  234. $(LOCAL_DIR)/sec_efuse.o\
  235. $(LOCAL_DIR)/emi_mpu.o\
  236. $(LOCAL_DIR)/sec_policy.o\
  237. $(LOCAL_DIR)/mtk_auxadc.o\
  238. $(LOCAL_DIR)/mt_efuse.o\
  239. $(LOCAL_DIR)/aee_platform_debug.o\
  240. $(LOCAL_DIR)/emi_info.o\
  241. $(LOCAL_DIR)/mt_dummy_read.o\
  242. $(LOCAL_DIR)/pll.o \
  243. $(LOCAL_DIR)/spm_md_mtcmos.o \
  244. $(LOCAL_DIR)/md1_off.o \
  245. $(LOCAL_DIR)/mtk_dcm.o \
  246. $(LOCAL_DIR)/mtk_dcm_autogen.o \
  247. $(LOCAL_DIR)/mtk_mcdi.o \
  248. $(LOCAL_DIR)/crypto_hw.o \
  249. $(LOCAL_DIR)/sec_debug.o \
  250. $(LOCAL_DIR)/anti_rollback_cust.o
  251. ifneq ($(CFG_MTK_WDT_COMMON),yes)
  252. OBJS += $(LOCAL_DIR)/mtk_wdt.o
  253. endif
  254. ifeq ($(MTK_AB_OTA_UPDATER),yes)
  255. OBJS += $(LOCAL_DIR)/write_protect_ab.o
  256. else
  257. OBJS += $(LOCAL_DIR)/write_protect.o
  258. endif
  259. ifeq ("$(PMIC_CHIP)","MT6357")
  260. OBJS += $(LOCAL_DIR)/mt_pmic_wrap_init_v1.o
  261. OBJS += $(LOCAL_DIR)/upmu_common_6357.o
  262. OBJS += $(LOCAL_DIR)/mt_pmic_6357.o
  263. OBJS += $(LOCAL_DIR)/mt_pmic_dlpt.o
  264. OBJS += $(LOCAL_DIR)/mt_battery.o
  265. OBJS += $(LOCAL_DIR)/mt_rtc.o
  266. else ifeq ("$(PMIC_CHIP)","MT6356")
  267. OBJS += $(LOCAL_DIR)/mt_pmic_wrap_init.o
  268. OBJS += $(LOCAL_DIR)/upmu_common_6356.o
  269. OBJS += $(LOCAL_DIR)/mt_pmic_6356.o
  270. OBJS += $(LOCAL_DIR)/mt_pmic_dlpt.o
  271. OBJS += $(LOCAL_DIR)/mt_battery_6356.o
  272. OBJS += $(LOCAL_DIR)/mt_rtc_6356.o
  273. else
  274. OBJS += $(LOCAL_DIR)/mt_pmic_wrap_init.o
  275. OBJS += $(LOCAL_DIR)/upmu_common.o
  276. OBJS += $(LOCAL_DIR)/mt_pmic.o
  277. endif
  278. ifeq ($(MTK_SMI_SUPPORT),yes)
  279. OBJS += $(LOCAL_DIR)/mtk_smi.o
  280. DEFINES += MTK_SMI_SUPPORT
  281. endif
  282. ifeq ($(MTK_UFS_SUPPORT),yes)
  283. OBJS += \
  284. $(LOCAL_DIR)/ufs_aio_platform.o
  285. endif
  286. ifeq ($(MNTL_SUPPORT), yes)
  287. OBJS += $(LOCAL_DIR)/kernel_os.o
  288. endif
  289. ifeq ($(MTK_TINYSYS_SCP_SUPPORT), yes)
  290. OBJS += $(LOCAL_DIR)/mt_scp.o
  291. DEFINES += MTK_TINYSYS_SCP_SUPPORT
  292. endif
  293. ifeq ($(MTK_TINYSYS_SSPM_SUPPORT), yes)
  294. OBJS += $(LOCAL_DIR)/mt_sspm.o
  295. DEFINES += MTK_TINYSYS_SSPM_SUPPORT
  296. ifeq ($(MTK_TINYSYS_SSPM_GPIO_SUPPORT), yes)
  297. DEFINES += MTK_TINYSYS_SSPM_GPIO_SUPPORT
  298. endif
  299. endif
  300. ifeq ($(SPM_FW_USE_PARTITION), yes)
  301. DEFINES += SPM_FW_USE_PARTITION
  302. DEFINES += SPM_FW_NO_USE_16BYTE
  303. endif
  304. ifeq ($(MCUPM_FW_USE_PARTITION), yes)
  305. DEFINES += MCUPM_FW_USE_PARTITION
  306. endif
  307. ifeq ($(MTK_SECURITY_SW_SUPPORT), yes)
  308. OBJS += $(LOCAL_DIR)/img_auth_stor.o
  309. endif
  310. ifneq ($(MACH_FPGA_LED_SUPPORT), yes)
  311. OBJS += $(LOCAL_DIR)/mt_leds.o
  312. else
  313. DEFINES += MACH_FPGA_LED_SUPPORT
  314. endif
  315. ifeq ($(MTK_TLC_NAND_SUPPORT),yes)
  316. OBJS +=$(LOCAL_DIR)/mtk_nand_ops.o
  317. OBJS +=$(LOCAL_DIR)/partition_nand.o
  318. OBJS +=$(LOCAL_DIR)/mt_partition.o
  319. OBJS +=$(LOCAL_DIR)/mtk_nand.o
  320. OBJS +=$(LOCAL_DIR)/bmt.o
  321. else
  322. OBJS +=$(LOCAL_DIR)/partition_setting.o
  323. endif
  324. ifeq ($(MNTL_SUPPORT),yes)
  325. OBJS +=$(LOCAL_DIR)/mntl.o
  326. OBJS +=$(LOCAL_DIR)/mntl_gpt.o
  327. endif
  328. ifeq ($(MTK_USB2JTAG_SUPPORT),yes)
  329. OBJS += $(LOCAL_DIR)/mt_usb2jtag.o
  330. DEFINES += MTK_USB2JTAG_SUPPORT
  331. endif
  332. ifeq ($(MTK_MT8193_SUPPORT),yes)
  333. #OBJS +=$(LOCAL_DIR)/mt8193_init.o
  334. #OBJS +=$(LOCAL_DIR)/mt8193_ckgen.o
  335. #OBJS +=$(LOCAL_DIR)/mt8193_i2c.o
  336. endif
  337. ifeq ($(MTK_KERNEL_POWER_OFF_CHARGING),yes)
  338. OBJS +=$(LOCAL_DIR)/mt_kernel_power_off_charging.o
  339. DEFINES += MTK_KERNEL_POWER_OFF_CHARGING
  340. endif
  341. ifeq ($(MTK_PUMP_EXPRESS_PLUS_SUPPORT),yes)
  342. DEFINES += MTK_PUMP_EXPRESS_PLUS_SUPPORT
  343. endif
  344. ifeq ($(MTK_BQ24261_SUPPORT),yes)
  345. OBJS +=$(LOCAL_DIR)/bq24261.o
  346. else
  347. ifeq ($(MTK_BQ24196_SUPPORT),yes)
  348. OBJS +=$(LOCAL_DIR)/bq24196.o
  349. else
  350. ifeq ($(MTK_BQ25896_SUPPORT),yes)
  351. OBJS +=$(LOCAL_DIR)/bq25890.o
  352. DEFINES += MTK_BQ25896_SUPPORT
  353. DEFINES += SWCHR_POWER_PATH
  354. else
  355. ifeq ($(MTK_FAN5405_SUPPORT),yes)
  356. OBJS +=$(LOCAL_DIR)/fan5405.o
  357. DEFINES += MTK_FAN5405_SUPPORT
  358. endif
  359. endif
  360. endif
  361. endif
  362. ifeq ($(MTK_HL7005_SUPPORT),yes)
  363. OBJS += $(LOCAL_DIR)/hl7005.o
  364. DEFINES += MTK_HL7005_SUPPORT
  365. endif
  366. ifeq ($(MTK_RT9458_SUPPORT),yes)
  367. OBJS += $(LOCAL_DIR)/rt9458.o
  368. DEFINES += MTK_RT9458_SUPPORT
  369. endif
  370. ifeq ($(MTK_RT9466_SUPPORT),yes)
  371. OBJS += $(LOCAL_DIR)/rt9466.o
  372. DEFINES += MTK_RT9466_SUPPORT
  373. DEFINES += SWCHR_POWER_PATH
  374. endif
  375. ifeq ($(MTK_RT9468_SUPPORT),yes)
  376. OBJS += $(LOCAL_DIR)/rt9468.o
  377. DEFINES += MTK_RT9468_SUPPORT
  378. DEFINES += SWCHR_POWER_PATH
  379. endif
  380. ifeq ($(MTK_RT5081_PMU_CHARGER_SUPPORT),yes)
  381. OBJS += $(LOCAL_DIR)/rt5081_pmu_charger.o
  382. DEFINES += MTK_RT5081_PMU_CHARGER_SUPPORT
  383. DEFINES += SWCHR_POWER_PATH
  384. endif
  385. ifeq ($(MTK_CHARGER_INTERFACE),yes)
  386. OBJS += $(LOCAL_DIR)/mtk_charger_intf.o
  387. DEFINES += MTK_CHARGER_INTERFACE
  388. endif
  389. ifeq ($(HIGH_BATTERY_VOLTAGE_SUPPORT),yes)
  390. DEFINES += HIGH_BATTERY_VOLTAGE_SUPPORT
  391. endif
  392. ifeq ($(MTK_NCP1854_SUPPORT),yes)
  393. OBJS +=$(LOCAL_DIR)/ncp1854.o
  394. endif
  395. #DUMMY_AP :=yes
  396. ifeq ($(DUMMY_AP),yes)
  397. OBJS +=$(LOCAL_DIR)/dummy_ap.o
  398. DEFINES += DUMMY_AP_MODE
  399. endif
  400. LK_LD_MD_SUPPORT := yes
  401. ifeq ($(LK_LD_MD_SUPPORT), yes)
  402. INCLUDES += -Iplatform//common/md
  403. OBJS +=$(LOCAL_DIR)/ccci_lk_load_img_plat.o
  404. #DEFINES += LK_OPT_TO_KERNEL_CCCI
  405. DEFINES += LK_LD_MD_SUPPORT
  406. DEFINES += ENABLE_PARSING_LK_ENV
  407. ifneq (,$(strip $(MTK_PROTOCOL1_RAT_CONFIG)))
  408. DEFINES += MTK_PROTOCOL1_RAT_CONFIG="\"$(strip $(MTK_PROTOCOL1_RAT_CONFIG))\""
  409. endif
  410. endif
  411. ifeq ($(MTK_EFUSE_WRITER_SUPPORT), yes)
  412. DEFINES += MTK_EFUSE_WRITER_SUPPORT
  413. endif
  414. ifeq ($(TRUSTONIC_TEE_SUPPORT),yes)
  415. DEFINES += TRUSTONIC_TEE_SUPPORT
  416. endif
  417. ifeq ($(RDA_STATUS_SUPPORT),yes)
  418. DEFINES += RDA_STATUS_SUPPORT
  419. endif
  420. ifeq ($(MTK_GOOGLE_TRUSTY_SUPPORT),yes)
  421. DEFINES += MTK_GOOGLE_TRUSTY_SUPPORT
  422. endif
  423. ifeq ($(MTK_SECURITY_SW_SUPPORT), yes)
  424. ifeq ($(CUSTOM_SEC_AUTH_SUPPORT), yes)
  425. LIBSEC := -L$(LOCAL_DIR)/lib --start-group -lsec
  426. else
  427. LIBSEC := -L$(LOCAL_DIR)/lib --start-group -lsec -lcrypto
  428. endif
  429. ifeq ($(MNTL_SUPPORT), yes)
  430. ifeq ($(MTK_ARM64), yes)
  431. LIBSEC_PLAT := -lsecplat -ldevinfo -lmntl_core_lk_arm64 --end-group
  432. else
  433. LIBSEC_PLAT := -lsecplat -ldevinfo -lmntl_core_lk_arm32 --end-group
  434. endif
  435. else
  436. LIBSEC_PLAT := -lsecplat -ldevinfo --end-group
  437. endif
  438. else
  439. LIBSEC := -L$(LOCAL_DIR)/lib
  440. ifeq ($(MNTL_SUPPORT), yes)
  441. ifeq ($(MTK_ARM64), yes)
  442. LIBSEC_PLAT := -lsecplat -ldevinfo -lmntl_core_lk_arm64
  443. else
  444. LIBSEC_PLAT := -lsecplat -ldevinfo -lmntl_core_lk_arm32
  445. endif
  446. else
  447. LIBSEC_PLAT := -lsecplat -ldevinfo
  448. endif
  449. endif
  450. MTK_GIC_VERSION := v3
  451. ifeq ($(MTK_NO_BIGCORES),yes)
  452. DEFINES += MTK_NO_BIGCORES
  453. endif
  454. LINKER_SCRIPT += $(BUILDDIR)/system-onesegment.ld
  455. MTK_AEE_PLATFORM_DEBUG_SUPPORT := yes
  456. DEFINES += MTK_AEE_PLATFORM_DEBUG_SUPPORT
  457. ifeq ($(MTK_USERIMAGES_USE_F2FS), yes)
  458. DEFINES += MTK_USERIMAGES_USE_F2FS
  459. endif
  460. ifeq ($(MTK_DM_VERITY_OFF),yes)
  461. DEFINES += MTK_DM_VERITY_OFF
  462. endif
  463. CFG_ENABLE_PICACHU := yes
  464. ifeq ($(CFG_ENABLE_PICACHU), yes)
  465. OBJS += $(LOCAL_DIR)/picachu_misc.o
  466. DEFINES += CFG_ENABLE_PICACHU
  467. endif
  468. OBJS += $(LOCAL_DIR)/dm_verity_status.o
  469. MTK_RC_TO_VENDOR ?= yes
  470. ifneq ($(MTK_DYNAMIC_CCB_BUFFER_GEAR_ID),)
  471. DEFINES += MTK_DYNAMIC_CCB_BUFFER_GEAR_ID=$(MTK_DYNAMIC_CCB_BUFFER_GEAR_ID)
  472. endif
  473. ifeq ($(MTK_EMMC_SUPPORT), yes)
  474. DEFINES += MTK_NEW_COMBO_EMMC_SUPPORT
  475. DEFINES += MTK_GPT_SCHEME_SUPPORT
  476. endif
  477. ifeq ($(MNTL_SUPPORT), yes)
  478. DEFINES += MNTL_SUPPORT
  479. endif
  480. -include $(LOCAL_DIR)/../../../../../../internal/bootloader/lk/rsc/rules.mk
  481. ifneq ($(filter user, $(TARGET_BUILD_VARIANT)),)
  482. MTK_DYNAMIC_CCB_BUFFER_GEAR_ID = 3
  483. else
  484. MTK_DYNAMIC_CCB_BUFFER_GEAR_ID =
  485. endif
  486. ifneq ($(MTK_DYNAMIC_CCB_BUFFER_GEAR_ID),)
  487. DEFINES += MTK_DYNAMIC_CCB_BUFFER_GEAR_ID=$(MTK_DYNAMIC_CCB_BUFFER_GEAR_ID)
  488. endif
  489. ifeq ($(AVB_SHA256_CRYPTO_HW_SUPPORT),yes)
  490. OBJS += $(LOCAL_DIR)/avb_crypto_hw.o
  491. endif
  492. # kernel mblock limitation
  493. DEFINES += KERNEL_MBLOCK_LIMIT=0x80000000
  494. CFG_LOG_STORE_SUPPORT := yes