[Feature]Upload Modem source code

Change-Id: Id4294f30faced84d3e6fd6d5e61e1111bf287a37
diff --git a/mcu/make/module/custom/driver/custom.mak b/mcu/make/module/custom/driver/custom.mak
new file mode 100644
index 0000000..1c61162
--- /dev/null
+++ b/mcu/make/module/custom/driver/custom.mak
@@ -0,0 +1,74 @@
+INC_DIR =
+COMP_DEFS =
+FOLDER_LIST =
+# source file folder for xgen
+GEN_FOLDER_LIST = $(strip $(BUILD_SYSDIR)) $(strip $(BUILD_CODEGENDIR))
+INC_DIR += $(strip $(BUILD_SYSDIR)) $(strip $(BUILD_CODEGENDIR))
+# Define source file lists to SRC_LIST
+# Define source file folder to FOLDER_LIST
+
+FOLDER_LIST += $(GEN_FOLDER_LIST)
+
+SRC_LIST += $(foreach DIR,$(FOLDER_LIST), \
+  $(foreach FILE,$(wildcard $(DIR)/*.c),$(FILE)) \
+)
+SRC_LIST += $(foreach DIR,$(FOLDER_LIST), \
+  $(foreach FILE,$(wildcard $(DIR)/*.cpp),$(FILE)) \
+)
+SRC_LIST += $(foreach DIR,$(FOLDER_LIST), \
+  $(foreach FILE,$(wildcard $(DIR)/*.s),$(FILE)) \
+)
+SRC_LIST += $(foreach DIR,$(FOLDER_LIST), \
+  $(foreach FILE,$(wildcard $(DIR)/*.S),$(FILE)) \
+)
+SRC_LIST += $(foreach DIR,$(FOLDER_LIST), \
+  $(foreach FILE,$(wildcard $(DIR)/*.dws),$(FILE)) \
+)
+SRC_LIST += $(foreach DIR,$(FOLDER_LIST), \
+  $(foreach FILE,$(wildcard $(DIR)/*.rec),$(FILE)) \
+)
+
+ifeq ($(strip $(MTK_MODEM_ARCH)), MT6297)
+  SRC_LIST += custom/protocol/common/ps/custom_nras_config.c
+endif
+
+ifeq ($(strip $(LGE_SECURITY)), TRUE)
+  INC_DIR += custom/modem/lgesecurity
+endif
+		   
+
+ifeq ($(strip $(MTK_MODEM_ARCH)), MT6297P)
+  SRC_LIST += custom/protocol/common/ps/custom_nras_config.c
+endif
+
+SRC_LIST :=  $(call uniq,$(SRC_LIST))
+
+INC_DIR += driver/sys_drv/cache/inc
+INC_DIR += driver/sys_drv/cache/inc/$(MD_VER_FOLDER)
+
+INC_DIR :=  $(call uniq,$(INC_DIR))
+
+# Add gblob sml verify file
+SRC_LIST += custom/middleware/common/custom_sml_sec_verify.c
+
+SRC_LIST += custom/middleware/common/custom_nvram_lid_prot.c
+
+# Define the specified compile options to COMP_DEFS
+COMP_DEFS += __UCS2_ENCODING \
+            MMI_ON_HARDWARE_P \
+            APCS_INTWORK \
+            USE_JAM=0 \
+            COMPILER_SUPPORTS_LONG=1
+
+ifeq ($(filter __NOR_FLASH_BOOTING__,$(strip $(DEFINES))),)
+  ifdef NEED_BUILD_BOOTLOADER
+    ifeq ($(strip $(NEED_BUILD_BOOTLOADER)),TRUE)
+      COMP_DEFS += __BL_ENABLE__
+      COMP_DEFS += REMAPPING
+    endif
+  endif
+endif
+
+ifeq ($(strip $(ENHANCED_SINGLE_BANK_NOR_FLASH_SUPPORT)),TRUE)
+  COMP_DEFS += REMAPPING
+endif
diff --git a/mcu/make/module/custom/driver/custom_driver.mak b/mcu/make/module/custom/driver/custom_driver.mak
new file mode 100644
index 0000000..6865989
--- /dev/null
+++ b/mcu/make/module/custom/driver/custom_driver.mak
@@ -0,0 +1,151 @@
+# Define ./interface/modem folder path by project option 
+ifneq ($(filter __MD93__,$(strip $(MODULE_DEFS))),)
+	MD_VER_FOLDER_PATH = mt6293
+else ifneq ($(filter __MD95__,$(strip $(MODULE_DEFS))),)
+	MD_VER_FOLDER_PATH = mt6295
+else ifneq ($(filter __MD97__,$(strip $(MODULE_DEFS))),)
+	MD_VER_FOLDER_PATH = mt6297
+else ifneq ($(filter __MD97P__,$(strip $(MODULE_DEFS))),)
+	MD_VER_FOLDER_PATH = mt6297p
+else
+	#no match chip
+endif
+AUTO_MERGE_FOLDER = ./custom/driver/audio ./custom/driver/drv/misc_drv
+
+INC_DIR =
+COMP_DEFS =
+FOLDER_LIST =
+
+INC_DIR += ./interface/driver/storage/sim
+# Define source file lists to SRC_LIST
+# Define source file folder to FOLDER_LIST
+
+#driver
+ifneq ($(strip $(TEST_LOAD_TYPE)),BASIC)
+  FOLDER_LIST += $(call CUSTOM_FLD_MAPPING,./custom/driver/audio)
+endif
+
+FOLDER_LIST += ./custom/driver/common
+
+FOLDER_LIST += $(call CUSTOM_FLD_MAPPING,./custom/driver/drv/misc_drv) \
+               
+ifneq ($(strip $(TEST_LOAD_TYPE)),BASIC)
+  ifneq ($(strip $(TEST_LOAD_TYPE)),L1S)
+    ifdef GPS_SUPPORT
+      ifneq ($(strip $(GPS_SUPPORT)),NONE)
+        FOLDER_LIST += $(call CUSTOM_FLD_MAPPING,./custom/driver/drv/gps)
+        INC_DIR += $(call CUSTOM_FLD_MAPPING,./custom/driver/drv/gps)
+      endif
+    endif
+  endif
+endif
+
+## 
+AUTO_MERGE_TMP := $(foreach DIR,$(AUTO_MERGE_FOLDER),$(if $(filter $(DIR)/_Default_BB/$(strip $(PLATFORM)) $(call CUSTOM_FLD_MAPPING,$(DIR)),$(FOLDER_LIST)),$(DIR),))
+
+SRC_LIST += $(foreach DIR,$(AUTO_MERGE_TMP), \
+  $(subst /,/,$(foreach file,$(wildcard $(DIR)/_Default_BB/$(strip $(PLATFORM))/*.c) $(wildcard $(DIR)/_Default_BB/$(strip $(PLATFORM))/*.cpp),$(if $(wildcard $(call CUSTOM_FLD_MAPPING,$(DIR))/$(notdir $(file))),,$(file))) $(wildcard $(call CUSTOM_FLD_MAPPING,$(DIR))/*.c) $(wildcard $(call CUSTOM_FLD_MAPPING,$(DIR))/*.cpp)) \
+)
+
+FOLDER_LIST := $(filter-out $(foreach DIR,$(AUTO_MERGE_TMP),$(DIR)/_Default_BB/$(strip $(PLATFORM)) $(call CUSTOM_FLD_MAPPING,$(DIR))),$(FOLDER_LIST))
+
+SRC_LIST += $(foreach DIR,$(FOLDER_LIST), \
+  $(foreach FILE,$(wildcard $(DIR)/*.c),$(FILE)) \
+)
+SRC_LIST += $(foreach DIR,$(FOLDER_LIST), \
+  $(foreach FILE,$(wildcard $(DIR)/*.cpp),$(FILE)) \
+)
+SRC_LIST += $(foreach DIR,$(FOLDER_LIST), \
+  $(foreach FILE,$(wildcard $(DIR)/*.s),$(FILE)) \
+)
+SRC_LIST += $(foreach DIR,$(FOLDER_LIST), \
+  $(foreach FILE,$(wildcard $(DIR)/*.S),$(FILE)) \
+)
+SRC_LIST += $(foreach DIR,$(FOLDER_LIST), \
+  $(foreach FILE,$(wildcard $(DIR)/*.dws),$(FILE)) \
+)
+SRC_LIST += $(foreach DIR,$(FOLDER_LIST), \
+  $(foreach FILE,$(wildcard $(DIR)/*.rec),$(FILE)) \
+)
+
+#only in MoDIS
+ifeq ($(filter __MTK_TARGET__, $(strip $(MODULE_DEFS))),)
+  MODIS_DIS_FILE := custom_emi.c custom_flash.c usb_custom.c wndrv_configure.c wndrv_rf_ah.c wndrv_rf_maxim.c
+  MODIS_DIS_FILE += custom_flash_norfdm5.c afe.c mal1_create.c kbdmain_joystick.c ERS_api.c ERS_sys.s custom_sfi.c
+  MODIS_DIS_FILE += combo_flash_init.c combo_flash_nor.c
+  SRC_LIST := $(foreach file,$(SRC_LIST),$(if $(filter $(notdir $(call Lower,$(file))),$(call Lower,$(MODIS_DIS_FILE))),,$(file)))
+endif
+ 
+SRC_LIST :=  $(call uniq,$(SRC_LIST))
+
+#  Define include path lists to INC_DIR
+#ifeq ($(strip $(DSP_SOLUTION)),DUALMACDSP)
+# AUDFOLDER = driver/audio/src/v2
+#else
+  AUDFOLDER = driver/audio/src/v1
+#endif
+
+INC_DIR += driver/btmt/rf_desense
+
+
+INC_DIR += $(strip $(AUDFOLDER))/inc
+INC_DIR += driver/btmt/rf_desense \
+           driver/peripheral/inc \
+           driver/storage/flash/mtd/inc \
+           driver/storage/flash/fdm/inc \
+           driver/connectivity/usb_class/include
+INC_DIR += driver/sys_drv/cache/inc
+INC_DIR += driver/sys_drv/cache/inc/$(MD_VER_FOLDER)
+
+INC_DIR += service/nvram/include
+
+# File System custom file (temporary solution)
+INC_DIR += driver/storage/mc/inc
+
+ifeq ($(filter __MTK_TARGET__,$(strip $(MODULE_DEFS))),)
+  INC_DIR += MoDIS_VC9/drv_sim/include
+endif
+
+INC_DIR :=  $(call uniq,$(INC_DIR))
+
+
+# Define the specified compile options to COMP_DEFS
+COMP_DEFS += __UCS2_ENCODING \
+            MMI_ON_HARDWARE_P \
+            APCS_INTWORK \
+            USE_JAM=0 \
+            COMPILER_SUPPORTS_LONG=1
+
+ifeq ($(filter __NOR_FLASH_BOOTING__,$(strip $(DEFINES))),)
+  ifdef NEED_BUILD_BOOTLOADER
+    ifeq ($(strip $(NEED_BUILD_BOOTLOADER)),TRUE)
+      COMP_DEFS += __BL_ENABLE__
+      COMP_DEFS += REMAPPING
+    endif
+  endif
+endif
+
+ifeq ($(strip $(ENHANCED_SINGLE_BANK_NOR_FLASH_SUPPORT)),TRUE)
+  COMP_DEFS += REMAPPING
+endif
+INC_DIR += driver/peripheral/inc
+INC_DIR += driver/devdrv/usim/inc
+INC_DIR += driver/devdrv/elm/inc
+INC_DIR += interface/driver/devdrv/cuif/inc
+INC_DIR += interface/driver/sleep_drv \
+           interface/driver/dvfs_drv/$(MD_VER_FOLDER)
+
+INC_DIR += interface/l1/el1/external
+
+INC_DIR += interface/protocol/general \
+           $(UNIVERSAL_COMMON)/interface/modem/$(MD_VER_FOLDER_PATH)/common/nr/external/custom
+
+ifneq ($(filter __MIPS_IA__, $(strip $(MODULE_DEFS))),)
+INC_DIR += driver/sys_drv/mmu/inc
+endif
+
+# *************************************************************************
+# From Global include path 
+# *************************************************************************
+INC_DIR += driver/connectivity/usb_driver/inc
+