rules.mk 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650
  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. # The value would be overwritten if it is defined in [project].mk
  9. MTK_AVB20_SUPPORT:=yes
  10. AVB_SHA256_CRYPTO_HW_SUPPORT:=yes
  11. AVB_PERSIST_VALUE_SUPPORT:=yes
  12. SYSTEM_AS_ROOT = no
  13. # mtk gpt version
  14. GPT_VER := 4
  15. DEFINES += GPT_VER=$(GPT_VER)
  16. # choose one of following value -> 1: disabled/ 2: permissive /3: enforcing
  17. SELINUX_STATUS := 3
  18. # overwrite SELINUX_STATUS value with PRJ_SELINUX_STATUS, if defined. it's by project variable.
  19. ifdef PRJ_SELINUX_STATUS
  20. SELINUX_STATUS := $(PRJ_SELINUX_STATUS)
  21. endif
  22. ifeq (yes,$(strip $(MTK_BUILD_ROOT)))
  23. SELINUX_STATUS := 2
  24. DEFINES += MTK_BUILD_ROOT
  25. endif
  26. USE_DTB_NO_DWS = yes
  27. LK_MAIN_DTB_BUILT_IN := yes
  28. ##############################################################################
  29. # The setting DEVELOP_STAGE may be overwritten by the one in project make file.
  30. ##############################################################################
  31. DEVELOP_STAGE ?= SB
  32. ifeq ($(DEVELOP_STAGE), FPGA)
  33. DEFINES += MACH_FPGA
  34. # DEFINES += FPGA_BOOT_FROM_LK # Turn this option OFF when jump from Preloader to LK. Otherwise, turn it ON.
  35. # DEFINES += FPGA_SET_BOOT_ARGUMENT # Turn this option ON only for LK self test (boot from LK).
  36. # DEFINES += FPGA_PRINT_BOOT_ARGUMENT # Print boot arguments for FPGA early porting
  37. # DEFINES += MACH_FPGA_NO_DISPLAY
  38. DEFINES += MSDC_ENABLE_DMA_MODE # Turn this option OFF when DMA mode is not ready (especially in FPGA early porting).
  39. DEFINES += NO_PMIC
  40. DEFINES += NO_BOOT_MODE_SEL
  41. DEFINES += NO_PLL_TURN_OFF
  42. DEFINES += NO_BAT_INIT
  43. DEFINES += NO_MD_POWER_DOWN
  44. DEFINES += NO_DCM
  45. DEFINES += NO_POWER_OFF
  46. DEFINES += NO_WDT
  47. DEFINES += ENABLE_IO_THREAD
  48. endif
  49. ifeq ($(DEVELOP_STAGE), SB)
  50. # DEFINES += FPGA_PRINT_BOOT_ARGUMENT # Print boot arguments for FPGA early porting
  51. # DEFINES += MACH_FPGA_NO_DISPLAY
  52. DEFINES += MSDC_ENABLE_DMA_MODE # Turn this option ON by MSDC owners when DMA mode is ready.
  53. # DEFINES += NO_PMIC
  54. # DEFINES += NO_BOOT_MODE_SEL
  55. DEFINES += NO_PLL_TURN_OFF
  56. #DEFINES += NO_BAT_INIT
  57. # DEFINES += NO_MD_POWER_DOWN
  58. # DEFINES += NO_DCM
  59. #DEFINES += NO_WDT
  60. # DEFINES += NO_POWER_OFF
  61. DEFINES += ENABLE_IO_THREAD
  62. endif
  63. ##############################################################################
  64. CFG_MTK_UART_COMMON := yes
  65. CFG_MTK_WDT_COMMON := yes
  66. DEFINES += CONFIG_UART_BAUDRATE=921600
  67. DEFINES += CONFIG_UART_FPGA_CLK=10000000
  68. DEFINES += CONFIG_UART_EVB_CLK=26000000
  69. DEFINES += PLATFORM=\"$(PLATFORM)\"
  70. DEFINES += SELINUX_STATUS=$(SELINUX_STATUS)
  71. DEFINES += PERIPH_BLK_BLSP=1
  72. DEFINES += WITH_CPU_EARLY_INIT=0 WITH_CPU_WARM_BOOT=0 \
  73. MMC_SLOT=$(MMC_SLOT)
  74. DEFINES += MTK_CAN_FROM_CLUSTER1=1
  75. DEFINES += BUS_DBG_NUMBER_V2
  76. DEFINES += HAS_PLATFORM_BUS_DBG_BIT_FIELDS
  77. DEFINES += BUSTRACKER
  78. # provide PMIC full (cold) reset functionality
  79. MTK_PMIC_FULL_RESET := yes
  80. ifeq ($(MTK_PMIC_FULL_RESET), yes)
  81. DEFINES += MTK_PMIC_FULL_RESET
  82. endif
  83. MTK_3LEVEL_PAGETABLE := yes
  84. ifeq ($(MTK_3LEVEL_PAGETABLE), yes)
  85. DEFINES += MTK_3LEVEL_PAGETABLE
  86. endif
  87. MBLOCK_LIB_SUPPORT := yes
  88. ifeq ($(MBLOCK_LIB_SUPPORT), yes)
  89. DEFINES += MBLOCK_LIB_SUPPORT=2
  90. MBLOCK_LIB_SUPPORT := 2
  91. MODULES += lib/mblock
  92. INCLUDES += -I$(LOCAL_DIR)/../../lib/mblock
  93. endif
  94. PLAT_DBG_INFO_LIB_SUPPORT := yes
  95. ifeq ($(PLAT_DBG_INFO_LIB_SUPPORT), yes)
  96. DEFINES += PLAT_DBG_INFO_LIB_SUPPORT=1
  97. PLAT_DBG_INFO_LIB_SUPPORT := 1
  98. MODULES += lib/plat_dbg_info
  99. endif
  100. ifeq ($(MTK_VPU_SUPPORT), yes)
  101. OBJS += $(LOCAL_DIR)/mt_vpu.o
  102. DEFINES += MTK_VPU_SUPPORT
  103. endif
  104. # Android Test Mode Feature
  105. MTK_ATM_SUPPORT := yes
  106. MTK_SEC_SOCID_SUPPORT := yes
  107. MTK_SECURITY_SW_SUPPORT ?= yes
  108. ifeq ($(MTK_SECURITY_SW_SUPPORT), yes)
  109. DEFINES += MTK_SECURITY_SW_SUPPORT
  110. ifeq ($(MTK_SEC_SOCID_SUPPORT), yes)
  111. DEFINES += MTK_SEC_SOCID_SUPPORT
  112. endif
  113. ifeq ($(AVB_PERSIST_VALUE_SUPPORT), yes)
  114. DEFINES +=AVB_PERSIST_VALUE_SUPPORT
  115. endif
  116. endif
  117. MTK_OTP_FRAMEWORK_V2 := yes
  118. ifeq ($(MTK_SECURITY_ANTI_ROLLBACK), yes)
  119. DEFINES += MTK_SECURITY_ANTI_ROLLBACK
  120. ifneq ($(MTK_VER_SIMPLE_TEST),)
  121. DEFINES += MTK_VER_SIMPLE_TEST=$(MTK_VER_SIMPLE_TEST)
  122. endif
  123. ifeq ($(MTK_OTP_FRAMEWORK_V2), yes)
  124. DEFINES += MTK_OTP_FRAMEWORK_V2
  125. endif
  126. endif
  127. MD_RMA_SUPPORT := yes
  128. ifeq ($(MD_RMA_SUPPORT), yes)
  129. DEFINES += MD_RMA_SUPPORT
  130. endif
  131. MTK_SECURITY_OEM_WITH_DMCERT_ONLY_SUPPORT := no
  132. ifeq ($(MTK_SECURITY_OEM_WITH_DMCERT_ONLY_SUPPORT), yes)
  133. DEFINES += MTK_SECURITY_OEM_WITH_DMCERT_ONLY_SUPPORT
  134. endif
  135. MTK_SECURITY_YELLOW_STATE_SUPPORT := no
  136. ifeq ($(MTK_SECURITY_YELLOW_STATE_SUPPORT), yes)
  137. DEFINES += MTK_SECURITY_YELLOW_STATE_SUPPORT
  138. endif
  139. ifeq ($(MTK_GOOGLE_TRUSTY_SUPPORT), yes)
  140. DEFINES += MTK_LM_2LEVEL_PAGETABLE_MODE
  141. endif
  142. # choose one of following value -> 0: disabled/1: enable
  143. MTK_POWER_ON_WRITE_PROTECT := 1
  144. ifdef PRJ_MTK_POWER_ON_WRITE_PROTECT
  145. MTK_POWER_ON_WRITE_PROTECT := $(PRJ_MTK_POWER_ON_WRITE_PROTECT)
  146. endif
  147. ifeq ($(MTK_POWER_ON_WRITE_PROTECT), 1)
  148. DEFINES += MTK_POWER_ON_WRITE_PROTECT=$(MTK_POWER_ON_WRITE_PROTECT)
  149. ifeq ($(MTK_SIM_LOCK_POWER_ON_WRITE_PROTECT), yes)
  150. DEFINES += MTK_SIM_LOCK_POWER_ON_WRITE_PROTECT
  151. endif
  152. endif
  153. MTK_PERSIST_PARTITION_SUPPORT := 0
  154. ifdef PRJ_MTK_PERSIST_PARTITION_SUPPORT
  155. MTK_PERSIST_PARTITION_SUPPORT := $(PRJ_MTK_PERSIST_PARTITION_SUPPORT)
  156. endif
  157. ifeq ($(MTK_PERSIST_PARTITION_SUPPORT), 1)
  158. DEFINES += MTK_PERSIST_PARTITION_SUPPORT=$(MTK_PERSIST_PARTITION_SUPPORT)
  159. endif
  160. ifneq ($(MTK_PRODUCT_LINE_PLATFORM),)
  161. DEFINES += MTK_PRODUCT_LINE_PLATFORM=\"$(MTK_PRODUCT_LINE_PLATFORM)\"
  162. endif
  163. ifeq ($(MTK_SEC_FASTBOOT_UNLOCK_SUPPORT), yes)
  164. DEFINES += MTK_SEC_FASTBOOT_UNLOCK_SUPPORT
  165. ifeq ($(MTK_SEC_FASTBOOT_UNLOCK_KEY_SUPPORT), yes)
  166. DEFINES += MTK_SEC_FASTBOOT_UNLOCK_KEY_SUPPORT
  167. endif
  168. endif
  169. # used for DA tool to enter fastboot via setting RGU bit
  170. MTK_ENTER_FASTBOOT_VIA_RGU := yes
  171. ifeq ($(MTK_ENTER_FASTBOOT_VIA_RGU), yes)
  172. DEFINES += MTK_ENTER_FASTBOOT_VIA_RGU
  173. endif
  174. ifeq ($(MTK_KERNEL_POWER_OFF_CHARGING),yes)
  175. #Fastboot support off-mode-charge 0/1
  176. #1: charging mode, 0:skip charging mode
  177. DEFINES += MTK_OFF_MODE_CHARGE_SUPPORT
  178. endif
  179. MTK_PMIC_POWER_OFF := yes
  180. ifeq ($(MTK_PMIC_POWER_OFF), yes)
  181. DEFINES += MTK_PMIC_POWER_OFF
  182. endif
  183. DEFINES += MTK_SMC_K32_SUPPORT
  184. KEDUMP_MINI := yes
  185. ARCH_HAVE_DCONFIG := yes
  186. ARCH_HAVE_MT_RAMDUMP := yes
  187. # Use it Carefully! Make sure that you know what you are doing!
  188. # This config will force MRDUMP enabled.
  189. ifeq ($(MTK_MRDUMP_ENABLE),)
  190. #MTK_MRDUMP_ENABLE := yes
  191. endif
  192. DEFINES += $(shell echo $(BOOT_LOGO) | tr a-z A-Z)
  193. MTK_POWER_ON_WP := yes
  194. ifeq ($(MTK_EMMC_SUPPORT),yes)
  195. ifeq ($(MTK_POWER_ON_WP),yes)
  196. DEFINES += MTK_POWER_ON_WP
  197. endif
  198. DEFINES += MTK_EMMC_SUPPORT_OTP
  199. endif
  200. ifeq ($(MTK_UFS_SUPPORT),yes)
  201. ifeq ($(MTK_POWER_ON_WP),yes)
  202. DEFINES += MTK_POWER_ON_WP
  203. endif
  204. endif
  205. MTK_PARTITION_COMMON := yes
  206. ifeq ($(MTK_PARTITION_COMMON), yes)
  207. DEFINES += MTK_PARTITION_COMMON
  208. endif
  209. MTK_SSUSB := yes
  210. ifeq ($(MTK_SSUSB), yes)
  211. INCLUDES += -I$(LK_TOP_DIR)/platform/common/mt_ssusb
  212. OBJS += \
  213. $(LOCAL_DIR)/mt_ssusb/mt_ssusbphy.o
  214. MTK_SSUSBPHY_A60810 := yes
  215. DEFINES += USB3_PHY_SIFV2
  216. #DEFINES += SUPPORT_U3
  217. #DEFINES += HAS_REDRIVER
  218. endif
  219. DEFINES += MTK_PICACHU_SUPPORT
  220. ifeq ($(CFG_MTK_WDT_COMMON), yes)
  221. INCLUDES += -I$(LK_TOP_DIR)/platform/common/wdt
  222. DEFINES += CFG_MTK_WDT_COMMON
  223. endif
  224. $(info libshowlogo new path ------- $(LOCAL_DIR)/../../lib/libshowlogo)
  225. INCLUDES += -I$(LOCAL_DIR)/include \
  226. -I$(LOCAL_DIR)/include/platform \
  227. -I$(LOCAL_DIR)/../../lib/libshowlogo \
  228. -I$(LK_TOP_DIR)/app/mt_boot/ \
  229. -I$(LK_TOP_DIR)/platform/common/storage/mmc/inc \
  230. -Icustom/$(FULL_PROJECT)/lk/include/target \
  231. -Icustom/$(FULL_PROJECT)/lk/lcm/inc \
  232. -Icustom/$(FULL_PROJECT)/lk/inc \
  233. -Icustom/$(FULL_PROJECT)/common \
  234. -Icustom/$(FULL_PROJECT)/kernel/dct/ \
  235. -I$(BUILDDIR)/include/dfo \
  236. -I$(LOCAL_DIR)/../../dev/lcm/inc
  237. INCLUDES += -I$(DRVGEN_OUT)/inc
  238. OBJS += \
  239. $(LOCAL_DIR)/bitops.o \
  240. $(LOCAL_DIR)/clkbuf.o \
  241. $(LOCAL_DIR)/gpio.o \
  242. $(LOCAL_DIR)/mt_disp_drv.o \
  243. $(LOCAL_DIR)/gpio_init.o \
  244. $(LOCAL_DIR)/mt_i2c.o \
  245. $(LOCAL_DIR)/mt_latch.o \
  246. $(LOCAL_DIR)/platform.o \
  247. $(LOCAL_DIR)/interrupts.o \
  248. $(LOCAL_DIR)/timer.o \
  249. $(LOCAL_DIR)/debug.o \
  250. $(LOCAL_DIR)/boot_mode.o \
  251. $(LOCAL_DIR)/custom_dtb_index.o \
  252. $(LOCAL_DIR)/load_image.o \
  253. $(LOCAL_DIR)/atags.o \
  254. $(LOCAL_DIR)/partition_setting.o \
  255. $(LOCAL_DIR)/mt_get_dl_info.o \
  256. $(LOCAL_DIR)/addr_trans.o \
  257. $(LOCAL_DIR)/factory.o \
  258. $(LOCAL_DIR)/mtk_key.o \
  259. $(LOCAL_DIR)/mt_logo.o\
  260. $(LOCAL_DIR)/boot_mode_menu.o\
  261. $(LOCAL_DIR)/cust_msdc.o\
  262. $(LOCAL_DIR)/msdc_io.o\
  263. $(LOCAL_DIR)/mtk_dbgtop.o\
  264. $(LOCAL_DIR)/ddp_manager.o\
  265. $(LOCAL_DIR)/ddp_path.o\
  266. $(LOCAL_DIR)/ddp_ovl.o\
  267. $(LOCAL_DIR)/ddp_dsc.o\
  268. $(LOCAL_DIR)/ddp_rdma.o\
  269. $(LOCAL_DIR)/ddp_misc.o\
  270. $(LOCAL_DIR)/ddp_info.o\
  271. $(LOCAL_DIR)/ddp_dither.o\
  272. $(LOCAL_DIR)/ddp_dump.o\
  273. $(LOCAL_DIR)/ddp_dsi.o\
  274. $(LOCAL_DIR)/primary_display.o\
  275. $(LOCAL_DIR)/disp_lcm.o\
  276. $(LOCAL_DIR)/ddp_pwm.o\
  277. $(LOCAL_DIR)/ddp_postmask.o\
  278. $(LOCAL_DIR)/pwm.o \
  279. $(LOCAL_DIR)/sec_efuse.o\
  280. $(LOCAL_DIR)/sec_policy.o\
  281. $(LOCAL_DIR)/mtk_auxadc.o\
  282. $(LOCAL_DIR)/mt_efuse.o\
  283. $(LOCAL_DIR)/mtk_mfgsys.o\
  284. $(LOCAL_DIR)/aee_platform_debug.o\
  285. $(LOCAL_DIR)/mt_dummy_read.o\
  286. $(LOCAL_DIR)/mt_dramc_memtest.o\
  287. $(LOCAL_DIR)/../common/emi/emi_mpu_v2.o\
  288. $(LOCAL_DIR)/../common/emi/emi_info_v2.o\
  289. $(LOCAL_DIR)/../common/dramc/dramc_v1.o\
  290. $(LOCAL_DIR)/pll.o \
  291. $(LOCAL_DIR)/spm_mtcmos.o \
  292. $(LOCAL_DIR)/ccci_lk_md_power_ctrl.o \
  293. $(LOCAL_DIR)/mtk_mcdi.o \
  294. $(LOCAL_DIR)/mtk_dcm.o \
  295. $(LOCAL_DIR)/mtk_dcm_autogen.o \
  296. $(LOCAL_DIR)/mt_pmic_wrap_init.o \
  297. $(LOCAL_DIR)/upmu_common.o \
  298. $(LOCAL_DIR)/mt_pmic.o \
  299. $(LOCAL_DIR)/mt_pmic_dlpt.o \
  300. $(LOCAL_DIR)/pmif.o \
  301. $(LOCAL_DIR)/spmi_common.o \
  302. $(LOCAL_DIR)/spmi.o \
  303. $(LOCAL_DIR)/spmi_dbg.o \
  304. $(LOCAL_DIR)/mt_rtc.o \
  305. $(LOCAL_DIR)/crypto_hw.o \
  306. $(LOCAL_DIR)/oaep.o \
  307. $(LOCAL_DIR)/rsa_oaep.o \
  308. $(LOCAL_DIR)/anti_rollback_cust.o
  309. MTK_DFD_ENABLE_CACHE_DUMP := yes
  310. ifeq ($(MTK_DFD_ENABLE_CACHE_DUMP), yes)
  311. DEFINES += MTK_DFD_ENABLE_CACHE_DUMP
  312. endif
  313. ifneq ($(CFG_MTK_WDT_COMMON),yes)
  314. OBJS += $(LOCAL_DIR)/mtk_wdt.o
  315. endif
  316. ifeq ($(MTK_AB_OTA_UPDATER),yes)
  317. OBJS += $(LOCAL_DIR)/write_protect_ab.o
  318. else
  319. OBJS += $(LOCAL_DIR)/write_protect.o
  320. endif
  321. ifeq ($(MTK_UFS_SUPPORT),yes)
  322. OBJS += \
  323. $(LOCAL_DIR)/ufs_aio_platform.o
  324. endif
  325. ifeq ($(MTK_SMI_SUPPORT),yes)
  326. OBJS += $(LOCAL_DIR)/mtk_smi.o
  327. DEFINES += MTK_SMI_SUPPORT
  328. endif
  329. ifeq ($(MTK_TINYSYS_SCP_SUPPORT), yes)
  330. ifeq ($(MTK_MINIMUM_SCP_DRAM_SIZE), yes)
  331. DEFINES += MTK_MINIMUM_SCP_DRAM_SIZE
  332. endif
  333. DEFINES += MTK_TINYSYS_SCP_SUPPORT
  334. OBJS += $(LOCAL_DIR)/mt_scp.o
  335. OBJS += $(LOCAL_DIR)/mt_scp_excep.o
  336. endif
  337. ifeq ($(MTK_DPM_SUPPORT), yes)
  338. DEFINES += MTK_DPM_SUPPORT
  339. OBJS += $(LOCAL_DIR)/mt_dpm.o
  340. endif
  341. ifeq ($(MTK_TINYSYS_SSPM_SUPPORT), yes)
  342. OBJS += $(LOCAL_DIR)/mt_sspm.o
  343. DEFINES += MTK_TINYSYS_SSPM_SUPPORT
  344. endif
  345. ifeq ($(MTK_AUDIODSP_SUPPORT), yes)
  346. OBJS += $(LOCAL_DIR)/mt_adsp.o
  347. DEFINES += MTK_AUDIODSP_SUPPORT
  348. endif
  349. ifneq ($(filter yes,$(MTK_TINYSYS_SCP_SUPPORT) $(MTK_AUDIODSP_SUPPORT)),)
  350. OBJS += $(LOCAL_DIR)/tinysys_platform.o
  351. endif
  352. ifeq ($(SPM_FW_USE_PARTITION), yes)
  353. DEFINES += SPM_FW_USE_PARTITION
  354. DEFINES += SPM_FW_USE_MD32
  355. endif
  356. ifeq ($(MTK_SECURITY_SW_SUPPORT), yes)
  357. OBJS += $(LOCAL_DIR)/img_auth_stor.o
  358. endif
  359. ifneq ($(MACH_FPGA_LED_SUPPORT), yes)
  360. OBJS += $(LOCAL_DIR)/mt_leds.o
  361. else
  362. DEFINES += MACH_FPGA_LED_SUPPORT
  363. endif
  364. ifneq ($(MTK_EMMC_SUPPORT),yes)
  365. # OBJS +=$(LOCAL_DIR)/mtk_nand.o
  366. # OBJS +=$(LOCAL_DIR)/bmt.o
  367. endif
  368. ifeq ($(MTK_USB2JTAG_SUPPORT),yes)
  369. OBJS += $(LOCAL_DIR)/mt_usb2jtag.o
  370. DEFINES += MTK_USB2JTAG_SUPPORT
  371. endif
  372. ifeq ($(MTK_MT8193_SUPPORT),yes)
  373. #OBJS +=$(LOCAL_DIR)/mt8193_init.o
  374. #OBJS +=$(LOCAL_DIR)/mt8193_ckgen.o
  375. #OBJS +=$(LOCAL_DIR)/mt8193_i2c.o
  376. endif
  377. ifeq ($(MTK_KERNEL_POWER_OFF_CHARGING),yes)
  378. OBJS +=$(LOCAL_DIR)/mt_kernel_power_off_charging.o
  379. DEFINES += MTK_KERNEL_POWER_OFF_CHARGING
  380. endif
  381. ifeq ($(MTK_PUMP_EXPRESS_PLUS_SUPPORT),yes)
  382. DEFINES += MTK_PUMP_EXPRESS_PLUS_SUPPORT
  383. endif
  384. ifneq ($(MTK_CHARGER_NEW_ARCH), yes)
  385. OBJS += $(LOCAL_DIR)/mt_battery.o
  386. ifeq ($(MTK_BQ24261_SUPPORT),yes)
  387. OBJS +=$(LOCAL_DIR)/bq24261.o
  388. else
  389. ifeq ($(MTK_BQ24196_SUPPORT),yes)
  390. OBJS +=$(LOCAL_DIR)/bq24196.o
  391. else
  392. ifeq ($(MTK_BQ25896_SUPPORT),yes)
  393. OBJS +=$(LOCAL_DIR)/bq25896.o
  394. DEFINES += MTK_BQ25896_SUPPORT
  395. DEFINES += SWCHR_POWER_PATH
  396. endif
  397. endif
  398. endif
  399. ifeq ($(MTK_BQ25890_SUPPORT),yes)
  400. OBJS += $(LOCAL_DIR)/bq25890.o
  401. DEFINES += MTK_BQ25890_SUPPORT
  402. DEFINES += SWCHR_POWER_PATH
  403. endif
  404. ifeq ($(MTK_RT9466_SUPPORT),yes)
  405. OBJS += $(LOCAL_DIR)/rt9466.o
  406. DEFINES += MTK_RT9466_SUPPORT
  407. DEFINES += SWCHR_POWER_PATH
  408. endif
  409. ifeq ($(MTK_RT9467_SUPPORT),yes)
  410. OBJS += $(LOCAL_DIR)/rt9467.o
  411. DEFINES += MTK_RT9467_SUPPORT
  412. DEFINES += SWCHR_POWER_PATH
  413. endif
  414. ifeq ($(MTK_RT9468_SUPPORT),yes)
  415. OBJS += $(LOCAL_DIR)/rt9468.o
  416. DEFINES += MTK_RT9468_SUPPORT
  417. DEFINES += SWCHR_POWER_PATH
  418. endif
  419. ifeq ($(MTK_MT6370_PMU_CHARGER_SUPPORT),yes)
  420. OBJS += $(LOCAL_DIR)/mt6370_pmu_charger.o
  421. DEFINES += MTK_MT6370_PMU_CHARGER_SUPPORT
  422. DEFINES += SWCHR_POWER_PATH
  423. endif
  424. ifeq ($(MTK_CHARGER_INTERFACE),yes)
  425. OBJS += $(LOCAL_DIR)/mtk_charger_intf.o
  426. DEFINES += MTK_CHARGER_INTERFACE
  427. endif
  428. ifeq ($(MTK_NCP1854_SUPPORT),yes)
  429. OBJS +=$(LOCAL_DIR)/ncp1854.o
  430. endif
  431. endif
  432. #DUMMY_AP :=yes
  433. ifeq ($(DUMMY_AP),yes)
  434. OBJS +=$(LOCAL_DIR)/dummy_ap.o
  435. DEFINES += DUMMY_AP_MODE
  436. endif
  437. LK_LD_MD_SUPPORT := yes
  438. ifeq ($(LK_LD_MD_SUPPORT), yes)
  439. INCLUDES += -I$(LOCAL_DIR)/../common/md
  440. OBJS +=$(LOCAL_DIR)/ccci_lk_load_img_plat.o
  441. DEFINES += LK_LD_MD_SUPPORT
  442. DEFINES += ENABLE_PARSING_LK_ENV
  443. ifneq (,$(strip $(MTK_PROTOCOL1_RAT_CONFIG)))
  444. DEFINES += MTK_PROTOCOL1_RAT_CONFIG="\"$(strip $(MTK_PROTOCOL1_RAT_CONFIG))\""
  445. endif
  446. endif
  447. ifeq ($(MTK_EFUSE_WRITER_SUPPORT), yes)
  448. DEFINES += MTK_EFUSE_WRITER_SUPPORT
  449. endif
  450. ifdef MTK_MT22_MODE
  451. DEFINES += MTK_MT22_MODE="\"$(MTK_MT22_MODE)\""
  452. endif
  453. ifdef MTK_SW_EFUSE_BONDING_DISPLAY
  454. DEFINES += MTK_SW_EFUSE_BONDING_DISPLAY=$(MTK_SW_EFUSE_BONDING_DISPLAY)
  455. endif
  456. ifdef MTK_SW_EFUSE_BONDING_CAMERA
  457. DEFINES += MTK_SW_EFUSE_BONDING_CAMERA=$(MTK_SW_EFUSE_BONDING_CAMERA)
  458. endif
  459. ifeq ($(TRUSTONIC_TEE_SUPPORT),yes)
  460. DEFINES += TRUSTONIC_TEE_SUPPORT
  461. endif
  462. ifeq ($(MTK_GOOGLE_TRUSTY_SUPPORT),yes)
  463. DEFINES += MTK_GOOGLE_TRUSTY_SUPPORT
  464. endif
  465. ifeq ($(MTK_SECURITY_SW_SUPPORT), yes)
  466. ifeq ($(CUSTOM_SEC_AUTH_SUPPORT), yes)
  467. LIBSEC := -L$(LOCAL_DIR)/lib --start-group -lsec
  468. else
  469. LIBSEC := -L$(LOCAL_DIR)/lib --start-group -lsec -lcrypto
  470. endif
  471. LIBSEC_PLAT := -lsecplat -ldevinfo --end-group
  472. else
  473. LIBSEC := -L$(LOCAL_DIR)/lib
  474. LIBSEC_PLAT := -lsecplat -ldevinfo
  475. endif
  476. MTK_GIC_VERSION := v3
  477. MTK_LK_REGISTER_WDT := no
  478. ifeq ($(MTK_LK_REGISTER_WDT),yes)
  479. DEFINES += MTK_LK_REGISTER_WDT
  480. OBJS += $(LOCAL_DIR)/mt_debug_dump.o
  481. endif
  482. ifeq ($(MTK_NO_BIGCORES),yes)
  483. DEFINES += MTK_NO_BIGCORES
  484. endif
  485. ifeq ($(MTK_USERIMAGES_USE_F2FS), yes)
  486. DEFINES += MTK_USERIMAGES_USE_F2FS
  487. endif
  488. LINKER_SCRIPT += $(BUILDDIR)/system-onesegment.ld
  489. MTK_AEE_PLATFORM_DEBUG_SUPPORT := yes
  490. DEFINES += MTK_AEE_PLATFORM_DEBUG_SUPPORT
  491. ifeq ($(MTK_DM_VERITY_OFF),yes)
  492. DEFINES += MTK_DM_VERITY_OFF
  493. endif
  494. ifneq ($(MTK_DYNAMIC_CCB_BUFFER_GEAR_ID),)
  495. DEFINES += MTK_DYNAMIC_CCB_BUFFER_GEAR_ID=$(MTK_DYNAMIC_CCB_BUFFER_GEAR_ID)
  496. endif
  497. ifneq ($(MD_CO_LOAD),)
  498. DEFINES += CCCI_CO_LOAD
  499. endif
  500. ifeq ($(MTK_ENABLE_GENIEZONE),yes)
  501. DEFINES += WITH_GZ_MD_SHAREMEM=1
  502. endif
  503. MTK_ENABLE_MPU_HAL_SUPPORT := yes
  504. ifeq ($(MTK_ENABLE_MPU_HAL_SUPPORT),yes)
  505. DEFINES += MTK_ENABLE_MPU_HAL_SUPPORT=1
  506. MODULES += lib/mpu_ctrl
  507. endif
  508. MTK_RC_TO_VENDOR ?= yes
  509. OBJS += $(LOCAL_DIR)/dm_verity_status.o
  510. ifeq ($(AVB_SHA256_CRYPTO_HW_SUPPORT),yes)
  511. OBJS += $(LOCAL_DIR)/avb_crypto_hw.o
  512. endif
  513. ifeq ($(MTK_MT6362_SUPPORT),yes)
  514. OBJS += $(LOCAL_DIR)/mt6362.o
  515. DEFINES += MTK_MT6362_SUPPORT
  516. endif
  517. ifeq ($(MTK_MT6360_LDO_SUPPORT),yes)
  518. OBJS += $(LOCAL_DIR)/mt6360_ldo.o
  519. DEFINES += MTK_MT6360_LDO_SUPPORT
  520. endif
  521. ifeq ($(MTK_5G_B_MT6360_MT6315),yes)
  522. OBJS += $(LOCAL_DIR)/mt6315-spmi.o
  523. OBJS += $(LOCAL_DIR)/mt6360_pmic.o
  524. DEFINES += MTK_MT6360_PMIC_SUPPORT
  525. DEFINES += MTK_5G_B_MT6360_MT6315
  526. endif
  527. CFG_LOG_STORE_SUPPORT := yes
  528. ifeq ($(MTK_TINYSYS_MCUPM_SUPPORT), yes)
  529. DEFINES += MTK_TINYSYS_MCUPM_SUPPORT
  530. OBJS += $(LOCAL_DIR)/mt_mcupm_excep.o
  531. endif
  532. SUPPORT_ARMV7VE := true
  533. # gpu dfd dump
  534. DEFINES += MTK_GPU_DFD_SUPPORT
  535. # kernel mblock limitation
  536. DEFINES += KERNEL_MBLOCK_LIMIT=0x80000000
  537. -include $(LOCAL_DIR)/../../../../../../internal/bootloader/lk/rsc/rules.mk