rules.mk 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297
  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. KERNEL_DECOMPRESS_SIZE := 0x1C00000
  17. DEFINES += KERNEL_DECOMPRESS_SIZE=$(KERNEL_DECOMPRESS_SIZE)
  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. DEFINES += MTK_DTBO_FEATURE
  23. ifeq (yes,$(strip $(MTK_BUILD_ROOT)))
  24. SELINUX_STATUS := 2
  25. DEFINES += MTK_BUILD_ROOT
  26. endif
  27. DEFINES += PLATFORM=\"$(PLATFORM)\"
  28. DEFINES += SELINUX_STATUS=$(SELINUX_STATUS)
  29. DEFINES += PERIPH_BLK_BLSP=1
  30. DEFINES += WITH_CPU_EARLY_INIT=0 WITH_CPU_WARM_BOOT=0 \
  31. MMC_SLOT=$(MMC_SLOT)
  32. CFG_DTB_EARLY_LOADER_SUPPORT := yes
  33. ifeq ($(CFG_DTB_EARLY_LOADER_SUPPORT), yes)
  34. DEFINES += CFG_DTB_EARLY_LOADER_SUPPORT=1
  35. endif
  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. $(info libshowlogo new path ------- $(LOCAL_DIR)/../../lib/libshowlogo)
  106. INCLUDES += -I$(LOCAL_DIR)/include \
  107. -I$(LOCAL_DIR)/include/platform \
  108. -I$(LOCAL_DIR)/../../lib/libshowlogo \
  109. -I$(LK_TOP_DIR)/app/mt_boot/ \
  110. -Icustom/$(FULL_PROJECT)/lk/include/target \
  111. -Icustom/$(FULL_PROJECT)/lk/lcm/inc \
  112. -Icustom/$(FULL_PROJECT)/lk/inc \
  113. -Icustom/$(FULL_PROJECT)/common \
  114. -Icustom/$(FULL_PROJECT)/kernel/dct/ \
  115. -I$(BUILDDIR)/include/dfo \
  116. -I$(LOCAL_DIR)/../../dev/lcm/inc
  117. INCLUDES += -I$(DRVGEN_OUT)/inc
  118. OBJS += \
  119. $(LOCAL_DIR)/bitops.o \
  120. $(LOCAL_DIR)/mt_gpio.o \
  121. $(LOCAL_DIR)/mt_disp_drv.o \
  122. $(LOCAL_DIR)/mt_gpio_init.o \
  123. $(LOCAL_DIR)/mt_i2c.o \
  124. $(LOCAL_DIR)/platform.o \
  125. $(LOCAL_DIR)/uart.o \
  126. $(LOCAL_DIR)/interrupts.o \
  127. $(LOCAL_DIR)/timer.o \
  128. $(LOCAL_DIR)/debug.o \
  129. $(LOCAL_DIR)/boot_mode.o \
  130. $(LOCAL_DIR)/load_image.o \
  131. $(LOCAL_DIR)/atags.o \
  132. $(LOCAL_DIR)/partition_setting.o \
  133. $(LOCAL_DIR)/mt_get_dl_info.o \
  134. $(LOCAL_DIR)/addr_trans.o \
  135. $(LOCAL_DIR)/factory.o \
  136. $(LOCAL_DIR)/mtk_key.o \
  137. $(LOCAL_DIR)/mt_logo.o\
  138. $(LOCAL_DIR)/boot_mode_menu.o\
  139. $(LOCAL_DIR)/mt_pmic_wrap_init.o\
  140. $(LOCAL_DIR)/mmc_common_inter.o \
  141. $(LOCAL_DIR)/mmc_core.o\
  142. $(LOCAL_DIR)/mmc_test.o\
  143. $(LOCAL_DIR)/msdc.o\
  144. $(LOCAL_DIR)/msdc_dma.o\
  145. $(LOCAL_DIR)/msdc_utils.o\
  146. $(LOCAL_DIR)/msdc_irq.o\
  147. $(LOCAL_DIR)/upmu_common.o\
  148. $(LOCAL_DIR)/mt_pmic.o\
  149. $(LOCAL_DIR)/mt6311.o\
  150. $(LOCAL_DIR)/mtk_wdt.o\
  151. $(LOCAL_DIR)/mt_rtc.o\
  152. $(LOCAL_DIR)/ddp_manager.o\
  153. $(LOCAL_DIR)/ddp_path.o\
  154. $(LOCAL_DIR)/ddp_ovl.o\
  155. $(LOCAL_DIR)/ddp_rdma.o\
  156. $(LOCAL_DIR)/ddp_misc.o\
  157. $(LOCAL_DIR)/ddp_info.o\
  158. $(LOCAL_DIR)/ddp_dither.o\
  159. $(LOCAL_DIR)/ddp_dump.o\
  160. $(LOCAL_DIR)/ddp_dsi.o\
  161. $(LOCAL_DIR)/primary_display.o\
  162. $(LOCAL_DIR)/disp_lcm.o\
  163. $(LOCAL_DIR)/ddp_pwm.o\
  164. $(LOCAL_DIR)/pwm.o \
  165. $(LOCAL_DIR)/mtk_auxadc.o\
  166. $(LOCAL_DIR)/mt_dummy_read.o\
  167. $(LOCAL_DIR)/mt_efuse.o
  168. ifeq ($(MTK_SECURITY_SW_SUPPORT),yes)
  169. OBJS += $(LOCAL_DIR)/img_auth_stor.o
  170. endif
  171. ifneq ($(MACH_FPGA_LED_SUPPORT), yes)
  172. OBJS += $(LOCAL_DIR)/mt_leds.o
  173. endif
  174. # SETTING of USBPHY type
  175. #OBJS += $(LOCAL_DIR)/mt_usbphy_d60802.o
  176. #OBJS += $(LOCAL_DIR)/mt_usbphy_e60802.o
  177. OBJS += $(LOCAL_DIR)/mt_battery.o
  178. ifneq ($(MTK_EMMC_SUPPORT),yes)
  179. # OBJS +=$(LOCAL_DIR)/mtk_nand.o
  180. # OBJS +=$(LOCAL_DIR)/bmt.o
  181. endif
  182. ifeq ($(MTK_USB2JTAG_SUPPORT),yes)
  183. OBJS += $(LOCAL_DIR)/mt_usb2jtag.o
  184. DEFINES += MTK_USB2JTAG_SUPPORT
  185. endif
  186. ifeq ($(MTK_MT8193_SUPPORT),yes)
  187. OBJS +=$(LOCAL_DIR)/mt8193_init.o
  188. OBJS +=$(LOCAL_DIR)/mt8193_ckgen.o
  189. OBJS +=$(LOCAL_DIR)/mt8193_i2c.o
  190. endif
  191. ifeq ($(MTK_KERNEL_POWER_OFF_CHARGING),yes)
  192. OBJS +=$(LOCAL_DIR)/mt_kernel_power_off_charging.o
  193. DEFINES += MTK_KERNEL_POWER_OFF_CHARGING
  194. endif
  195. ifeq ($(MTK_PUMP_EXPRESS_SUPPORT),yes)
  196. DEFINES += MTK_PUMP_EXPRESS_SUPPORT
  197. endif
  198. ifeq ($(MTK_BQ24261_SUPPORT),yes)
  199. OBJS +=$(LOCAL_DIR)/bq24261.o
  200. else
  201. ifeq ($(MTK_BQ24296_SUPPORT),yes)
  202. OBJS +=$(LOCAL_DIR)/bq24296.o
  203. else
  204. ifeq ($(MTK_NCP1854_SUPPORT),yes)
  205. OBJS +=$(LOCAL_DIR)/ncp1854.o
  206. endif
  207. endif
  208. endif
  209. ifeq ($(DUMMY_AP),yes)
  210. OBJS +=$(LOCAL_DIR)/dummy_ap.o
  211. #OBJS +=$(LOCAL_DIR)/spm_md_mtcmos.o
  212. endif
  213. ifeq ($(MTK_EFUSE_WRITER_SUPPORT), yes)
  214. DEFINES += MTK_EFUSE_WRITER_SUPPORT
  215. endif
  216. ifeq ($(MTK_GOOGLE_TRUSTY_SUPPORT),yes)
  217. DEFINES += MTK_GOOGLE_TRUSTY_SUPPORT
  218. endif
  219. MTK_LOADER_BACKUP ?= yes
  220. ifeq ($(MTK_LOADER_BACKUP),yes)
  221. DEFINES += MTK_LOADER_BACKUP
  222. endif
  223. ifeq ($(MTK_USERIMAGES_USE_F2FS), yes)
  224. DEFINES += MTK_USERIMAGES_USE_F2FS
  225. endif
  226. ifeq ($(MTK_DM_VERITY_OFF),yes)
  227. DEFINES += MTK_DM_VERITY_OFF
  228. endif
  229. OBJS += $(LOCAL_DIR)/dm_verity_status.o
  230. MTK_RC_TO_VENDOR ?= yes
  231. ifeq ($(CUSTOM_SEC_AUTH_SUPPORT), yes)
  232. LIBSEC := -L$(LOCAL_DIR)/lib -lsec
  233. else
  234. LIBSEC := -L$(LOCAL_DIR)/lib -lsec -lcrypto
  235. endif
  236. LIBSEC_PLAT := -lsecplat -ldevinfo
  237. MBLOCK_LIB_SUPPORT := yes
  238. ifeq ($(MBLOCK_LIB_SUPPORT), yes)
  239. DEFINES += MBLOCK_LIB_SUPPORT=2
  240. MBLOCK_LIB_SUPPORT := 2
  241. MODULES += lib/mblock
  242. INCLUDES += -I$(LOCAL_DIR)/../../lib/mblock
  243. endif
  244. LINKER_SCRIPT += $(BUILDDIR)/system-onesegment.ld