rules.mk 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305
  1. LOCAL_DIR := $(GET_LOCAL_DIR)
  2. ARCH := arm
  3. ARM_CPU := cortex-a7
  4. CPU := generic
  5. MMC_SLOT := 1
  6. PLATFORM_SECURITY_VERSION:=11
  7. DEFINES += PLATFORM_SECURITY_VERSION=$(PLATFORM_SECURITY_VERSION)
  8. MTK_AVB20_SUPPORT:=yes
  9. AVB_SHA256_CRYPTO_HW_SUPPORT:=no
  10. SYSTEM_AS_ROOT = no
  11. # mtk gpt version
  12. GPT_VER := 1
  13. DEFINES += GPT_VER=$(GPT_VER)
  14. # choose one of following value -> 2: permissive /3: enforcing
  15. SELINUX_STATUS := 3
  16. # overwrite SELINUX_STATUS value with PRJ_SELINUX_STATUS, if defined. it's by project variable.
  17. ifdef PRJ_SELINUX_STATUS
  18. SELINUX_STATUS := $(PRJ_SELINUX_STATUS)
  19. endif
  20. DEFINES += MTK_DTBO_FEATURE
  21. ifeq (yes,$(strip $(MTK_BUILD_ROOT)))
  22. SELINUX_STATUS := 2
  23. DEFINES += MTK_BUILD_ROOT
  24. endif
  25. CFG_MTK_WDT_COMMON := no
  26. DEFINES += PLATFORM=\"$(PLATFORM)\"
  27. DEFINES += SELINUX_STATUS=$(SELINUX_STATUS)
  28. DEFINES += PERIPH_BLK_BLSP=1
  29. DEFINES += WITH_CPU_EARLY_INIT=0 WITH_CPU_WARM_BOOT=0 \
  30. MMC_SLOT=$(MMC_SLOT)
  31. CFG_DTB_EARLY_LOADER_SUPPORT := yes
  32. ifeq ($(CFG_DTB_EARLY_LOADER_SUPPORT), yes)
  33. DEFINES += CFG_DTB_EARLY_LOADER_SUPPORT=1
  34. endif
  35. MTK_SECURITY_SW_SUPPORT ?= yes
  36. ifeq ($(MTK_SECURITY_SW_SUPPORT), yes)
  37. DEFINES += MTK_SECURITY_SW_SUPPORT
  38. endif
  39. ifneq ($(wildcard ../../../../../../vendor/mediatek/internal/testmode_enable),)
  40. ifeq ($(MTK_EFUSE_DOWNGRADE), yes)
  41. DEFINES += MTK_EFUSE_DOWNGRADE
  42. endif
  43. endif
  44. ifeq ($(MTK_SEC_FASTBOOT_UNLOCK_SUPPORT), yes)
  45. DEFINES += MTK_SEC_FASTBOOT_UNLOCK_SUPPORT
  46. ifeq ($(MTK_SEC_FASTBOOT_UNLOCK_KEY_SUPPORT), yes)
  47. DEFINES += MTK_SEC_FASTBOOT_UNLOCK_KEY_SUPPORT
  48. endif
  49. endif
  50. ifeq ($(CFG_MEMORY_RESERVED_SMALL_GRANULARITY),yes)
  51. DEFINES += CFG_MEMORY_RESERVED_SMALL_GRANULARITY=1
  52. endif
  53. ifeq ($(MTK_KERNEL_POWER_OFF_CHARGING),yes)
  54. #Fastboot support off-mode-charge 0/1
  55. #1: charging mode, 0:skip charging mode
  56. DEFINES += MTK_OFF_MODE_CHARGE_SUPPORT
  57. endif
  58. KEDUMP_MINI := yes
  59. ARCH_HAVE_MT_RAMDUMP := no
  60. DEFINES += $(shell echo $(BOOT_LOGO) | tr a-z A-Z)
  61. MTK_EMMC_POWER_ON_WP := no
  62. ifeq ($(MTK_EMMC_SUPPORT),yes)
  63. ifeq ($(MTK_EMMC_POWER_ON_WP),yes)
  64. DEFINES += MTK_EMMC_POWER_ON_WP
  65. endif
  66. endif
  67. ifdef MTK_CARRIEREXPRESS_PACK
  68. ifneq ($(strip $(MTK_CARRIEREXPRESS_PACK)), no)
  69. DEFINES += MTK_CARRIEREXPRESS_PACK
  70. ifeq ($(filter OP01, $(subst _, $(space), $(MTK_REGIONAL_OP_PACK))), OP01)
  71. DEFINES += MTK_CARRIEREXPRESS_PACK_OP01
  72. endif
  73. ifeq ($(filter OP02, $(subst _, $(space), $(MTK_REGIONAL_OP_PACK))), OP02)
  74. DEFINES += MTK_CARRIEREXPRESS_PACK_OP02
  75. endif
  76. ifeq ($(filter OP09, $(subst _, $(space), $(MTK_REGIONAL_OP_PACK))), OP09)
  77. DEFINES += MTK_CARRIEREXPRESS_PACK_OP09
  78. endif
  79. ifneq ($(filter NONE, $(subst _, $(space), $(OPTR_SPEC_SEG_DEF))), NONE)
  80. ifeq ($(filter OP01, $(subst _, $(space), $(OPTR_SPEC_SEG_DEF))), OP01)
  81. GLOBAL_DEVICE_DEFAULT_OPTR := 1
  82. DEFINES += GLOBAL_DEVICE_DEFAULT_OPTR=$(GLOBAL_DEVICE_DEFAULT_OPTR)
  83. endif
  84. ifeq ($(filter OP02, $(subst _, $(space), $(OPTR_SPEC_SEG_DEF))), OP02)
  85. GLOBAL_DEVICE_DEFAULT_OPTR := 2
  86. DEFINES += GLOBAL_DEVICE_DEFAULT_OPTR=$(GLOBAL_DEVICE_DEFAULT_OPTR)
  87. endif
  88. ifeq ($(filter OP09, $(subst _, $(space), $(OPTR_SPEC_SEG_DEF))), OP09)
  89. GLOBAL_DEVICE_DEFAULT_OPTR := 9
  90. DEFINES += GLOBAL_DEVICE_DEFAULT_OPTR=$(GLOBAL_DEVICE_DEFAULT_OPTR)
  91. endif
  92. endif
  93. endif
  94. endif
  95. MTK_PARTITION_COMMON := yes
  96. ifeq ($(MTK_PARTITION_COMMON), yes)
  97. DEFINES += MTK_PARTITION_COMMON
  98. endif
  99. MTK_MUSB := yes
  100. ifeq ($(MTK_MUSB), yes)
  101. INCLUDES += -I$(LK_TOP_DIR)/platform/common/mt_musb
  102. OBJS += \
  103. $(LOCAL_DIR)/mt_musb/mt_musbphy.o
  104. endif
  105. ifeq ($(CFG_MTK_WDT_COMMON), yes)
  106. INCLUDES += -I$(LK_TOP_DIR)/platform/common/wdt
  107. DEFINES += CFG_MTK_WDT_COMMON
  108. endif
  109. $(info libshowlogo new path ------- $(LOCAL_DIR)/../../lib/libshowlogo)
  110. INCLUDES += -I$(LOCAL_DIR)/include \
  111. -I$(LOCAL_DIR)/include/platform \
  112. -I$(LOCAL_DIR)/../../lib/libshowlogo \
  113. -I$(LK_TOP_DIR)/app/mt_boot/ \
  114. -Icustom/$(FULL_PROJECT)/lk/include/target \
  115. -Icustom/$(FULL_PROJECT)/lk/lcm/inc \
  116. -Icustom/$(FULL_PROJECT)/lk/inc \
  117. -Icustom/$(FULL_PROJECT)/common \
  118. -Icustom/$(FULL_PROJECT)/kernel/dct/ \
  119. -I$(BUILDDIR)/include/dfo \
  120. -I$(LOCAL_DIR)/../../dev/lcm/inc
  121. INCLUDES += -I$(DRVGEN_OUT)/inc
  122. OBJS += \
  123. $(LOCAL_DIR)/bitops.o \
  124. $(LOCAL_DIR)/mt_gpio.o \
  125. $(LOCAL_DIR)/mt_disp_drv.o \
  126. $(LOCAL_DIR)/mt_gpio_init.o \
  127. $(LOCAL_DIR)/mt_i2c.o \
  128. $(LOCAL_DIR)/platform.o \
  129. $(LOCAL_DIR)/uart.o \
  130. $(LOCAL_DIR)/interrupts.o \
  131. $(LOCAL_DIR)/timer.o \
  132. $(LOCAL_DIR)/debug.o \
  133. $(LOCAL_DIR)/boot_mode.o \
  134. $(LOCAL_DIR)/load_image.o \
  135. $(LOCAL_DIR)/atags.o \
  136. $(LOCAL_DIR)/partition_setting.o \
  137. $(LOCAL_DIR)/mt_get_dl_info.o \
  138. $(LOCAL_DIR)/addr_trans.o \
  139. $(LOCAL_DIR)/factory.o \
  140. $(LOCAL_DIR)/mtk_key.o \
  141. $(LOCAL_DIR)/mt_logo.o\
  142. $(LOCAL_DIR)/mt_pmic_wrap_init.o\
  143. $(LOCAL_DIR)/mmc_common_inter.o \
  144. $(LOCAL_DIR)/mmc_core.o\
  145. $(LOCAL_DIR)/mmc_test.o\
  146. $(LOCAL_DIR)/msdc.o\
  147. $(LOCAL_DIR)/msdc_dma.o\
  148. $(LOCAL_DIR)/msdc_utils.o\
  149. $(LOCAL_DIR)/msdc_irq.o\
  150. $(LOCAL_DIR)/upmu_common.o\
  151. $(LOCAL_DIR)/mt_pmic.o\
  152. $(LOCAL_DIR)/mt6311.o\
  153. $(LOCAL_DIR)/mt_rtc.o\
  154. $(LOCAL_DIR)/ddp_manager.o\
  155. $(LOCAL_DIR)/ddp_path.o\
  156. $(LOCAL_DIR)/ddp_ovl.o\
  157. $(LOCAL_DIR)/ddp_rdma.o\
  158. $(LOCAL_DIR)/ddp_misc.o\
  159. $(LOCAL_DIR)/ddp_info.o\
  160. $(LOCAL_DIR)/ddp_dither.o\
  161. $(LOCAL_DIR)/ddp_dump.o\
  162. $(LOCAL_DIR)/ddp_dsi.o\
  163. $(LOCAL_DIR)/primary_display.o\
  164. $(LOCAL_DIR)/disp_lcm.o\
  165. $(LOCAL_DIR)/ddp_pwm.o\
  166. $(LOCAL_DIR)/pwm.o \
  167. $(LOCAL_DIR)/mtk_auxadc.o\
  168. $(LOCAL_DIR)/mt_dummy_read.o\
  169. $(LOCAL_DIR)/mt_efuse.o
  170. ifneq ($(CFG_MTK_WDT_COMMON),yes)
  171. OBJS += $(LOCAL_DIR)/mtk_wdt.o
  172. endif
  173. ifeq ($(MTK_SECURITY_SW_SUPPORT),yes)
  174. OBJS += $(LOCAL_DIR)/img_auth_stor.o
  175. endif
  176. ifneq ($(MACH_FPGA_LED_SUPPORT), yes)
  177. OBJS += $(LOCAL_DIR)/mt_leds.o
  178. endif
  179. # SETTING of USBPHY type
  180. #OBJS += $(LOCAL_DIR)/mt_usbphy_d60802.o
  181. #OBJS += $(LOCAL_DIR)/mt_usbphy_e60802.o
  182. OBJS += $(LOCAL_DIR)/mt_battery.o
  183. ifneq ($(MTK_EMMC_SUPPORT),yes)
  184. # OBJS +=$(LOCAL_DIR)/mtk_nand.o
  185. # OBJS +=$(LOCAL_DIR)/bmt.o
  186. endif
  187. ifeq ($(MTK_USB2JTAG_SUPPORT),yes)
  188. OBJS += $(LOCAL_DIR)/mt_usb2jtag.o
  189. DEFINES += MTK_USB2JTAG_SUPPORT
  190. endif
  191. ifeq ($(MTK_MT8193_SUPPORT),yes)
  192. OBJS +=$(LOCAL_DIR)/mt8193_init.o
  193. OBJS +=$(LOCAL_DIR)/mt8193_ckgen.o
  194. OBJS +=$(LOCAL_DIR)/mt8193_i2c.o
  195. endif
  196. ifeq ($(MTK_KERNEL_POWER_OFF_CHARGING),yes)
  197. OBJS +=$(LOCAL_DIR)/mt_kernel_power_off_charging.o
  198. DEFINES += MTK_KERNEL_POWER_OFF_CHARGING
  199. endif
  200. ifeq ($(MTK_PUMP_EXPRESS_SUPPORT),yes)
  201. DEFINES += MTK_PUMP_EXPRESS_SUPPORT
  202. endif
  203. ifeq ($(MTK_BQ24261_SUPPORT),yes)
  204. OBJS +=$(LOCAL_DIR)/bq24261.o
  205. else
  206. ifeq ($(MTK_BQ24296_SUPPORT),yes)
  207. OBJS +=$(LOCAL_DIR)/bq24296.o
  208. else
  209. ifeq ($(MTK_NCP1854_SUPPORT),yes)
  210. OBJS +=$(LOCAL_DIR)/ncp1854.o
  211. endif
  212. endif
  213. endif
  214. ifeq ($(DUMMY_AP),yes)
  215. OBJS +=$(LOCAL_DIR)/dummy_ap.o
  216. #OBJS +=$(LOCAL_DIR)/spm_md_mtcmos.o
  217. endif
  218. ifeq ($(MTK_EFUSE_WRITER_SUPPORT), yes)
  219. DEFINES += MTK_EFUSE_WRITER_SUPPORT
  220. endif
  221. ifeq ($(MTK_GOOGLE_TRUSTY_SUPPORT),yes)
  222. DEFINES += MTK_GOOGLE_TRUSTY_SUPPORT
  223. endif
  224. MTK_LOADER_BACKUP ?= yes
  225. ifeq ($(MTK_LOADER_BACKUP),yes)
  226. DEFINES += MTK_LOADER_BACKUP
  227. endif
  228. ifeq ($(MTK_USERIMAGES_USE_F2FS), yes)
  229. DEFINES += MTK_USERIMAGES_USE_F2FS
  230. endif
  231. ifeq ($(MTK_DM_VERITY_OFF),yes)
  232. DEFINES += MTK_DM_VERITY_OFF
  233. endif
  234. OBJS += $(LOCAL_DIR)/dm_verity_status.o
  235. MTK_RC_TO_VENDOR ?= yes
  236. ifeq ($(CUSTOM_SEC_AUTH_SUPPORT), yes)
  237. LIBSEC := -L$(LOCAL_DIR)/lib -lsec
  238. else
  239. LIBSEC := -L$(LOCAL_DIR)/lib -lsec -lcrypto
  240. endif
  241. LIBSEC_PLAT := -lsecplat -ldevinfo
  242. MBLOCK_LIB_SUPPORT := yes
  243. ifeq ($(MBLOCK_LIB_SUPPORT), yes)
  244. DEFINES += MBLOCK_LIB_SUPPORT=2
  245. MBLOCK_LIB_SUPPORT := 2
  246. MODULES += lib/mblock
  247. INCLUDES += -I$(LOCAL_DIR)/../../lib/mblock
  248. endif
  249. # kernel mblock limitation
  250. DEFINES += KERNEL_MBLOCK_LIMIT=0x80000000
  251. LINKER_SCRIPT += $(BUILDDIR)/system-onesegment.ld