[Feature]add MT2731_MP2_MR2_SVN388 baseline version

Change-Id: Ief04314834b31e27effab435d3ca8ba33b499059
diff --git a/src/bsp/lk/project/adk2012-test.mk b/src/bsp/lk/project/adk2012-test.mk
new file mode 100644
index 0000000..79380cd
--- /dev/null
+++ b/src/bsp/lk/project/adk2012-test.mk
@@ -0,0 +1,5 @@
+TARGET := adk2012
+MODULES += \
+	app/tests \
+	app/shell
+
diff --git a/src/bsp/lk/project/aiv8133m1.mk b/src/bsp/lk/project/aiv8133m1.mk
new file mode 100644
index 0000000..5f9e4fb
--- /dev/null
+++ b/src/bsp/lk/project/aiv8133m1.mk
@@ -0,0 +1,32 @@
+# main project for aiv8133m1
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aiv8133m1
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+
+# buffer size used by fastboot to load images
+SCRATCH_SIZE        ?= 0x01000000 # 16MB
+# the maximum dram size for TEE loaded from stroage
+MAX_TEE_DRAM_SIZE   ?= 0x01000000 # 16MB
+# the maximum dram size for KERNEL loaded from stroage
+MAX_KERNEL_SIZE     ?= 0x01000000 # 16MB
+
+BOOTAPP := blxboot
+ENABLE_BL33_LOAD := 1
+ENABLE_BUILTIN_BL33 := 1
+LK_AS_BL33 := 0
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1 \
+
+LK_HEAP_IMPLEMENTATION=miniheap
+
+#image ab slot definition, override app/blxboot/images_ab_config_def.mk
+#When XX_HAS_SLOT == 1, blxboot will append suffix to the XX partition name.
+TZ_HAS_SLOT := 1
+BOOT_HAS_SLOT := 1
+
+GLOBAL_CFLAGS +=  -DTZ_HAS_SLOT=\"$(TZ_HAS_SLOT)\"
+                  -DBOOT_HAS_SLOT=\"$(BOOT_HAS_SLOT)\"
diff --git a/src/bsp/lk/project/aiv8168m1-rtos-bl33.mk b/src/bsp/lk/project/aiv8168m1-rtos-bl33.mk
new file mode 100644
index 0000000..9a73acf
--- /dev/null
+++ b/src/bsp/lk/project/aiv8168m1-rtos-bl33.mk
@@ -0,0 +1,15 @@
+# main project for fpga8168-rtos
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aiv8168m1-rtos
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+
+BOOTAPP := blxboot
+LK_AS_BL33 := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1 \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aiv8168m1-rtos.mk b/src/bsp/lk/project/aiv8168m1-rtos.mk
new file mode 100644
index 0000000..de9d0a7
--- /dev/null
+++ b/src/bsp/lk/project/aiv8168m1-rtos.mk
@@ -0,0 +1,20 @@
+# main project for fpga8168-rtos
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aiv8168m1-rtos
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+
+# buffer size used by fastboot to load images
+SCRATCH_SIZE        ?= 0x01000000 # 16MB
+# the maximum dram size for TEE loaded from stroage
+MAX_TEE_DRAM_SIZE   ?= 0x01000000 # 16MB
+# the maximum dram size for KERNEL loaded from stroage
+MAX_KERNEL_SIZE     ?= 0x01000000 # 16MB
+
+BOOTAPP := blxboot
+ENABLE_BL33_LOAD := 1
+ENABLE_BUILTIN_BL33 := 0
+LK_AS_BL33 := 0
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aiv8183m1v2.mk b/src/bsp/lk/project/aiv8183m1v2.mk
new file mode 100644
index 0000000..062e57c
--- /dev/null
+++ b/src/bsp/lk/project/aiv8183m1v2.mk
@@ -0,0 +1,18 @@
+# main project for aiv8183m1v2
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aiv8183m1v2
+WITH_KERNEL_VM := 0
+WITH_LINKER_GC := 1
+
+BOOTAPP := fitboot
+ENABLE_BUILTIN_BL33 := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1 \
+
+MODULES += \
+	app/fitboot
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aiv8183m1v2_64b.mk b/src/bsp/lk/project/aiv8183m1v2_64b.mk
new file mode 100644
index 0000000..3ea214a
--- /dev/null
+++ b/src/bsp/lk/project/aiv8183m1v2_64b.mk
@@ -0,0 +1,20 @@
+# main project for aiv8183m1v2_64b
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aiv8183m1v2_64b
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+WITH_DISPLAY := 1
+WITH_PANEL_TPV_PH060PB16A := 1
+
+BOOTAPP := fitboot
+ENABLE_BUILTIN_BL33 := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1 \
+
+MODULES += \
+	app/fitboot
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aiv8183m1v2_64b_cam.mk b/src/bsp/lk/project/aiv8183m1v2_64b_cam.mk
new file mode 100644
index 0000000..3c148d2
--- /dev/null
+++ b/src/bsp/lk/project/aiv8183m1v2_64b_cam.mk
@@ -0,0 +1,18 @@
+# main project for aiv8183m1v2_64b_cam
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aiv8183m1v2_64b_cam
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+
+BOOTAPP := fitboot
+ENABLE_BUILTIN_BL33 := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1 \
+
+MODULES += \
+	app/fitboot
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aiv8183m1v2_64b_cam_eng.mk b/src/bsp/lk/project/aiv8183m1v2_64b_cam_eng.mk
new file mode 100644
index 0000000..c381561
--- /dev/null
+++ b/src/bsp/lk/project/aiv8183m1v2_64b_cam_eng.mk
@@ -0,0 +1,18 @@
+# main project for aiv8183m1v2_64b_cam_eng
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aiv8183m1v2_64b_cam_eng
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+
+BOOTAPP := fitboot
+ENABLE_BUILTIN_BL33 := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1 \
+
+MODULES += \
+	app/fitboot
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aiv8183m1v2_64b_cam_k414.mk b/src/bsp/lk/project/aiv8183m1v2_64b_cam_k414.mk
new file mode 100644
index 0000000..57b2f61
--- /dev/null
+++ b/src/bsp/lk/project/aiv8183m1v2_64b_cam_k414.mk
@@ -0,0 +1,20 @@
+# main project for aiv8183m1v2_64b_cam_k414
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aiv8183m1v2_64b_cam_k414
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+WITH_DISPLAY := 1
+WITH_PANEL_TPV_PH060PB16A := 1
+
+BOOTAPP := fitboot
+ENABLE_BUILTIN_BL33 := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1 \
+
+MODULES += \
+	app/fitboot
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aiv8183m1v2_64b_cam_k414_eng.mk b/src/bsp/lk/project/aiv8183m1v2_64b_cam_k414_eng.mk
new file mode 100644
index 0000000..1c929ea
--- /dev/null
+++ b/src/bsp/lk/project/aiv8183m1v2_64b_cam_k414_eng.mk
@@ -0,0 +1,20 @@
+# main project for aiv8183m1v2_64b_cam_k414_eng
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aiv8183m1v2_64b_cam_k414_eng
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+WITH_DISPLAY := 1
+WITH_PANEL_TPV_PH060PB16A := 1
+
+BOOTAPP := fitboot
+ENABLE_BUILTIN_BL33 := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1 \
+
+MODULES += \
+	app/fitboot
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aiv8183m1v2_64b_eng.mk b/src/bsp/lk/project/aiv8183m1v2_64b_eng.mk
new file mode 100644
index 0000000..a89e197
--- /dev/null
+++ b/src/bsp/lk/project/aiv8183m1v2_64b_eng.mk
@@ -0,0 +1,20 @@
+# main project for aiv8183m1v2_64b_eng
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aiv8183m1v2_64b_eng
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+WITH_DISPLAY := 1
+WITH_PANEL_TPV_PH060PB16A := 1
+
+BOOTAPP := fitboot
+ENABLE_BUILTIN_BL33 := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1 \
+
+MODULES += \
+	app/fitboot
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aiv8183m1v2_64b_k414.mk b/src/bsp/lk/project/aiv8183m1v2_64b_k414.mk
new file mode 100644
index 0000000..97c1cb9
--- /dev/null
+++ b/src/bsp/lk/project/aiv8183m1v2_64b_k414.mk
@@ -0,0 +1,20 @@
+# main project for aiv8183m1v2_64b_k414
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aiv8183m1v2_64b_k414
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+WITH_DISPLAY := 1
+WITH_PANEL_TPV_PH060PB16A := 1
+
+BOOTAPP := fitboot
+ENABLE_BUILTIN_BL33 := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1 \
+
+MODULES += \
+	app/fitboot
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aiv8183m1v2_64b_k414_eng.mk b/src/bsp/lk/project/aiv8183m1v2_64b_k414_eng.mk
new file mode 100644
index 0000000..7497ffc
--- /dev/null
+++ b/src/bsp/lk/project/aiv8183m1v2_64b_k414_eng.mk
@@ -0,0 +1,20 @@
+# main project for aiv8183m1v2_64b_k414_eng
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aiv8183m1v2_64b_k414_eng
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+WITH_DISPLAY := 1
+WITH_PANEL_TPV_PH060PB16A := 1
+
+BOOTAPP := fitboot
+ENABLE_BUILTIN_BL33 := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1 \
+
+MODULES += \
+	app/fitboot
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aiv8183m1v2_64b_test.mk b/src/bsp/lk/project/aiv8183m1v2_64b_test.mk
new file mode 100644
index 0000000..c1811b4
--- /dev/null
+++ b/src/bsp/lk/project/aiv8183m1v2_64b_test.mk
@@ -0,0 +1,20 @@
+# main project for aiv8183m1v2_64b_test
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aiv8183m1v2_64b_test
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+WITH_DISPLAY := 1
+WITH_PANEL_TPV_PH060PB16A := 1
+
+BOOTAPP := fitboot
+ENABLE_BUILTIN_BL33 := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1 \
+
+MODULES += \
+	app/fitboot
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aiv8183m1v2_64b_test_k414.mk b/src/bsp/lk/project/aiv8183m1v2_64b_test_k414.mk
new file mode 100644
index 0000000..35518ae
--- /dev/null
+++ b/src/bsp/lk/project/aiv8183m1v2_64b_test_k414.mk
@@ -0,0 +1,20 @@
+# main project for aiv8183m1v2_64b_test_k414
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aiv8183m1v2_64b_test_k414
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+WITH_DISPLAY := 1
+WITH_PANEL_TPV_PH060PB16A := 1
+
+BOOTAPP := fitboot
+ENABLE_BUILTIN_BL33 := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1 \
+
+MODULES += \
+	app/fitboot
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aiv8365m1v1-aiot-emmc-mt7663.mk b/src/bsp/lk/project/aiv8365m1v1-aiot-emmc-mt7663.mk
new file mode 100644
index 0000000..6197598
--- /dev/null
+++ b/src/bsp/lk/project/aiv8365m1v1-aiot-emmc-mt7663.mk
@@ -0,0 +1,26 @@
+# main project for aiv8365m1v1-aiot-emmc
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aiv8168m1-rtos
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+
+# buffer size used by fastboot to load images
+SCRATCH_SIZE        ?= 0x01000000 # 16MB
+# the maximum dram size for TEE loaded from stroage
+MAX_TEE_DRAM_SIZE   ?= 0x01000000 # 16MB
+# the maximum dram size for KERNEL loaded from stroage
+MAX_KERNEL_SIZE     ?= 0x01000000 # 16MB
+
+DRAM_TYPE := LP4X_EMCP
+
+BOOTAPP := blxboot
+ENABLE_BL33_LOAD := 1
+ENABLE_BUILTIN_BL33 := 1
+LK_AS_BL33 := 0
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1 \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aiv8365m1v1-aiot-emmc.mk b/src/bsp/lk/project/aiv8365m1v1-aiot-emmc.mk
new file mode 100644
index 0000000..4a8edd8
--- /dev/null
+++ b/src/bsp/lk/project/aiv8365m1v1-aiot-emmc.mk
@@ -0,0 +1,24 @@
+# main project for aiv8365m1v1-aiot-emmc
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aiv8168m1-rtos
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+
+# buffer size used by fastboot to load images
+SCRATCH_SIZE        ?= 0x01000000 # 16MB
+# the maximum dram size for TEE loaded from stroage
+MAX_TEE_DRAM_SIZE   ?= 0x01000000 # 16MB
+# the maximum dram size for KERNEL loaded from stroage
+MAX_KERNEL_SIZE     ?= 0x01000000 # 16MB
+
+BOOTAPP := blxboot
+ENABLE_BL33_LOAD := 1
+ENABLE_BUILTIN_BL33 := 1
+LK_AS_BL33 := 0
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1 \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aiv8365m1v1-aiot.mk b/src/bsp/lk/project/aiv8365m1v1-aiot.mk
new file mode 100644
index 0000000..b2d70c0
--- /dev/null
+++ b/src/bsp/lk/project/aiv8365m1v1-aiot.mk
@@ -0,0 +1,24 @@
+# main project for aiv8133m1
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aiv8365m1v1-aiot
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+
+# buffer size used by fastboot to load images
+SCRATCH_SIZE        ?= 0x01000000 # 16MB
+# the maximum dram size for TEE loaded from stroage
+MAX_TEE_DRAM_SIZE   ?= 0x01000000 # 16MB
+# the maximum dram size for KERNEL loaded from stroage
+MAX_KERNEL_SIZE     ?= 0x01000000 # 16MB
+
+BOOTAPP := blxboot
+ENABLE_BL33_LOAD := 1
+ENABLE_BUILTIN_BL33 := 1
+LK_AS_BL33 := 0
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1 \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aiv8365p1-aiot-emmc.mk b/src/bsp/lk/project/aiv8365p1-aiot-emmc.mk
new file mode 100644
index 0000000..4a8edd8
--- /dev/null
+++ b/src/bsp/lk/project/aiv8365p1-aiot-emmc.mk
@@ -0,0 +1,24 @@
+# main project for aiv8365m1v1-aiot-emmc
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aiv8168m1-rtos
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+
+# buffer size used by fastboot to load images
+SCRATCH_SIZE        ?= 0x01000000 # 16MB
+# the maximum dram size for TEE loaded from stroage
+MAX_TEE_DRAM_SIZE   ?= 0x01000000 # 16MB
+# the maximum dram size for KERNEL loaded from stroage
+MAX_KERNEL_SIZE     ?= 0x01000000 # 16MB
+
+BOOTAPP := blxboot
+ENABLE_BL33_LOAD := 1
+ENABLE_BUILTIN_BL33 := 1
+LK_AS_BL33 := 0
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1 \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aiv8385-linux.aiot-emmc.mk b/src/bsp/lk/project/aiv8385-linux.aiot-emmc.mk
new file mode 100644
index 0000000..4f980ab
--- /dev/null
+++ b/src/bsp/lk/project/aiv8385-linux.aiot-emmc.mk
@@ -0,0 +1,18 @@
+# main project for aiv8385-linux.aiot-emmc
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aiv8385-linux.aiot-emmc
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+
+BOOTAPP := fitboot
+ENABLE_BUILTIN_BL33 := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1 \
+
+MODULES += \
+	app/fitboot
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aiv8385-linux.aiot-emmc_k414.mk b/src/bsp/lk/project/aiv8385-linux.aiot-emmc_k414.mk
new file mode 100644
index 0000000..f93bafc
--- /dev/null
+++ b/src/bsp/lk/project/aiv8385-linux.aiot-emmc_k414.mk
@@ -0,0 +1,18 @@
+# main project for aiv8385-linux.aiot-emmc_k414
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aiv8385-linux.aiot-emmc_k414
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+
+BOOTAPP := fitboot
+ENABLE_BUILTIN_BL33 := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1 \
+
+MODULES += \
+	app/fitboot
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/armemu-test.mk b/src/bsp/lk/project/armemu-test.mk
new file mode 100644
index 0000000..c799363
--- /dev/null
+++ b/src/bsp/lk/project/armemu-test.mk
@@ -0,0 +1,29 @@
+# top level project rules for the armemu-test project
+#
+LOCAL_DIR := $(GET_LOCAL_DIR)
+
+TARGET := armemu
+MODULES += \
+	lib/bio \
+	lib/partition \
+	lib/bcache \
+	lib/fs \
+	lib/fs/ext2 \
+	lib/gfx \
+	lib/gfxconsole \
+	lib/text \
+	lib/tga \
+	lib/evlog
+
+GLOBAL_DEFINES += \
+	WITH_KERNEL_EVLOG=1
+
+# extra rules to copy the armemu.conf file to the build dir
+#$(BUILDDIR)/armemu.conf: $(LOCAL_DIR)/armemu.conf
+#	@echo copy $< to $@
+#	$(NOECHO)cp $< $@
+
+#EXTRA_BUILDDEPS += $(BUILDDIR)/armemu.conf
+#GENERATED += $(BUILDDIR)/armemu.conf
+
+include project/virtual/test.mk
diff --git a/src/bsp/lk/project/aud8512am1v1-linux-slc-128m-lp4.mk b/src/bsp/lk/project/aud8512am1v1-linux-slc-128m-lp4.mk
new file mode 100644
index 0000000..09618f5
--- /dev/null
+++ b/src/bsp/lk/project/aud8512am1v1-linux-slc-128m-lp4.mk
@@ -0,0 +1,23 @@
+# main project for aud8512am1v1-linux-slc-128m-lp4
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8512am1v1-linux-slc-128m-lp4
+WITH_KERNEL_VM := 1
+WITH_LIB_NFTL := 1
+WITH_LINKER_GC := 1
+WITH_PMIC_MT6398 := 1
+WITH_VCORE_PWM_BUCK := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+#add for PEMI Init by haohao sun
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_LPDDR3=1 \
+    LP3_128MB_SUPPORT=1 \
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8512am1v1-linux-slc-128m.mk b/src/bsp/lk/project/aud8512am1v1-linux-slc-128m.mk
new file mode 100644
index 0000000..0e94dc0
--- /dev/null
+++ b/src/bsp/lk/project/aud8512am1v1-linux-slc-128m.mk
@@ -0,0 +1,23 @@
+# main project for aud8512am1v1-linux-slc-128m
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8512am1v1-linux-slc-128m
+WITH_KERNEL_VM := 1
+WITH_LIB_NFTL := 1
+WITH_LINKER_GC := 1
+WITH_PMIC_MT6398 := 1
+WITH_VCORE_PWM_BUCK := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+#add for PEMI Init by haohao sun
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_LPDDR3=1 \
+    LP3_128MB_SUPPORT=1 \
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8512am1v1-linux-slc-64m.mk b/src/bsp/lk/project/aud8512am1v1-linux-slc-64m.mk
new file mode 100644
index 0000000..ea0674e
--- /dev/null
+++ b/src/bsp/lk/project/aud8512am1v1-linux-slc-64m.mk
@@ -0,0 +1,22 @@
+# main project for aud8512am1v1-linux-slc-64M
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8512am1v1-linux-slc-64m
+WITH_KERNEL_VM := 0
+WITH_LIB_NFTL := 1
+WITH_LINKER_GC := 1
+WITH_PMIC_MT6398 := 1
+WITH_VCORE_PWM_BUCK := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+# add for dram config
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_LPDDR3=1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8512am1v1-linux-slc.mk b/src/bsp/lk/project/aud8512am1v1-linux-slc.mk
new file mode 100644
index 0000000..53c440c
--- /dev/null
+++ b/src/bsp/lk/project/aud8512am1v1-linux-slc.mk
@@ -0,0 +1,22 @@
+# main project for aud8512am1v1-linux-slc
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8512am1v1-linux-slc
+WITH_KERNEL_VM := 1
+WITH_LIB_NFTL := 1
+WITH_LINKER_GC := 1
+WITH_PMIC_MT6398 := 1
+WITH_VCORE_PWM_BUCK := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+# add for dram config
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_LPDDR3=1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8512ap1v1-linux-slc-128m-test.mk b/src/bsp/lk/project/aud8512ap1v1-linux-slc-128m-test.mk
new file mode 100644
index 0000000..24b2948
--- /dev/null
+++ b/src/bsp/lk/project/aud8512ap1v1-linux-slc-128m-test.mk
@@ -0,0 +1,22 @@
+# main project for aud8512ap1v1-linux-slc-128m-test
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8512ap1v1-linux-slc-128m-test
+WITH_KERNEL_VM := 1
+WITH_LIB_NFTL := 1
+WITH_LINKER_GC := 1
+WITH_PMIC_MT6398 := 1
+WITH_VCORE_PWM_BUCK := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+# add for dram config
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_LPDDR3=1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8512ap1v1-linux-slc-128m.mk b/src/bsp/lk/project/aud8512ap1v1-linux-slc-128m.mk
new file mode 100644
index 0000000..b47d447
--- /dev/null
+++ b/src/bsp/lk/project/aud8512ap1v1-linux-slc-128m.mk
@@ -0,0 +1,22 @@
+# main project for aud8512ap1v1-linux-slc-128m
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8512ap1v1-linux-slc-128m
+WITH_KERNEL_VM := 1
+WITH_LIB_NFTL := 1
+WITH_LINKER_GC := 1
+WITH_PMIC_MT6398 := 1
+WITH_VCORE_PWM_BUCK := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+# add for dram config
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_LPDDR3=1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8512ap1v1-linux-slc.mk b/src/bsp/lk/project/aud8512ap1v1-linux-slc.mk
new file mode 100644
index 0000000..7856537
--- /dev/null
+++ b/src/bsp/lk/project/aud8512ap1v1-linux-slc.mk
@@ -0,0 +1,22 @@
+# main project for aud8512ap1v1-linux-slc
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8512ap1v1-linux-slc
+WITH_KERNEL_VM := 1
+WITH_LIB_NFTL := 1
+WITH_LINKER_GC := 1
+WITH_PMIC_MT6398 := 1
+WITH_VCORE_PWM_BUCK := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+# add for dram config
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_LPDDR3=1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8512ap2v1-linux-slc-128m-test.mk b/src/bsp/lk/project/aud8512ap2v1-linux-slc-128m-test.mk
new file mode 100644
index 0000000..b9cedad
--- /dev/null
+++ b/src/bsp/lk/project/aud8512ap2v1-linux-slc-128m-test.mk
@@ -0,0 +1,21 @@
+# main project for aud8512ap2v1-linux-slc-128m-test
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8512ap2v1-linux-slc-128m-test
+WITH_KERNEL_VM := 1
+WITH_LIB_NFTL := 1
+WITH_LINKER_GC := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+# add for dram config
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_LPDDR3=1 \
+    LP3_128MB_SUPPORT=1 \
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8512ap2v1-linux-slc-128m.mk b/src/bsp/lk/project/aud8512ap2v1-linux-slc-128m.mk
new file mode 100644
index 0000000..838ec2a
--- /dev/null
+++ b/src/bsp/lk/project/aud8512ap2v1-linux-slc-128m.mk
@@ -0,0 +1,21 @@
+# main project for aud8512ap2v1-linux-slc-128m
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8512ap2v1-linux-slc-128m
+WITH_KERNEL_VM := 1
+WITH_LIB_NFTL := 1
+WITH_LINKER_GC := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+# add for dram config
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_LPDDR3=1 \
+    LP3_128MB_SUPPORT=1 \
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8512ap2v1-linux-slc-test.mk b/src/bsp/lk/project/aud8512ap2v1-linux-slc-test.mk
new file mode 100644
index 0000000..922fc87
--- /dev/null
+++ b/src/bsp/lk/project/aud8512ap2v1-linux-slc-test.mk
@@ -0,0 +1,20 @@
+# main project for aud8512ap2v1-linux-slc-test
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8512ap2v1-linux-slc-test
+WITH_KERNEL_VM := 1
+WITH_LIB_NFTL := 1
+WITH_LINKER_GC := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+# add for dram config
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_LPDDR3=1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8512ap2v1-linux-slc.mk b/src/bsp/lk/project/aud8512ap2v1-linux-slc.mk
new file mode 100644
index 0000000..5fc0363
--- /dev/null
+++ b/src/bsp/lk/project/aud8512ap2v1-linux-slc.mk
@@ -0,0 +1,20 @@
+# main project for aud8512ap2v1-linux-slc
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8512ap2v1-linux-slc
+WITH_KERNEL_VM := 1
+WITH_LIB_NFTL := 1
+WITH_LINKER_GC := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+# add for dram config
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_LPDDR3=1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8512bm1-emmc-32b.mk b/src/bsp/lk/project/aud8512bm1-emmc-32b.mk
new file mode 100644
index 0000000..148c489
--- /dev/null
+++ b/src/bsp/lk/project/aud8512bm1-emmc-32b.mk
@@ -0,0 +1,21 @@
+# main project for aud8512bm1-emmc-32b
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8512bm1-emmc-32b
+WITH_KERNEL_VM := 0
+WITH_LINKER_GC := 1
+WITH_PMIC_MT6398 := 1
+WITH_VCORE_PWM_BUCK := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+# add for dram config
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_LPDDR4=1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8512bm1-snand-32b.mk b/src/bsp/lk/project/aud8512bm1-snand-32b.mk
new file mode 100644
index 0000000..e3e45ce
--- /dev/null
+++ b/src/bsp/lk/project/aud8512bm1-snand-32b.mk
@@ -0,0 +1,22 @@
+# main project for aud8512bm1-snand-32b
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8512bm1-snand-32b
+WITH_KERNEL_VM := 1
+WITH_LIB_NFTL := 1
+WITH_LINKER_GC := 1
+WITH_PMIC_MT6398 := 1
+WITH_VCORE_PWM_BUCK := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+# add for dram config
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_LPDDR4=1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8512bp1-emmc-32b.mk b/src/bsp/lk/project/aud8512bp1-emmc-32b.mk
new file mode 100644
index 0000000..ab73090
--- /dev/null
+++ b/src/bsp/lk/project/aud8512bp1-emmc-32b.mk
@@ -0,0 +1,20 @@
+# main project for aud8512bp1-emmc-32b
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8512bp1-emmc-32b
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+WITH_PMIC_MT6398 := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+# add for dram config
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_LPDDR4=1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8512bp1-snand-32b.mk b/src/bsp/lk/project/aud8512bp1-snand-32b.mk
new file mode 100644
index 0000000..3244381
--- /dev/null
+++ b/src/bsp/lk/project/aud8512bp1-snand-32b.mk
@@ -0,0 +1,25 @@
+# main project for aud8512bp1-snand-32b
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8512bp1-snand-32b
+WITH_KERNEL_VM := 1
+WITH_LIB_NFTL := 1
+WITH_LINKER_GC := 1
+WITH_PMIC_MT6398 := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+# add for dram config
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_LPDDR4=1
+
+# add SLC nand GPT backup config
+GLOBAL_DEFINES += \
+    SUPPORT_SLC_GPT_BACKUP=1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8512fpga-ldvt-slc.mk b/src/bsp/lk/project/aud8512fpga-ldvt-slc.mk
new file mode 100644
index 0000000..bc40570
--- /dev/null
+++ b/src/bsp/lk/project/aud8512fpga-ldvt-slc.mk
@@ -0,0 +1,23 @@
+# main project for aud8512fpga-ldvt-slc
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8512fpga-ldvt-slc
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+WITH_PMIC_MT6395 := 1
+WITH_VCORE_PWM_BUCK := 1
+WITH_32K_OSC := 1
+WITH_USB_MD1122 := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+# add for dram config
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_LPDDR3=1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8516m3v5-emmc-32b-avs-test.mk b/src/bsp/lk/project/aud8516m3v5-emmc-32b-avs-test.mk
new file mode 100644
index 0000000..79bde36
--- /dev/null
+++ b/src/bsp/lk/project/aud8516m3v5-emmc-32b-avs-test.mk
@@ -0,0 +1,12 @@
+# main project for aud8516m3v5-emmc-32b-avs-test
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8516m3v5-emmc-32b-avs-test
+WITH_KERNEL_VM ?= 1
+WITH_LINKER_GC := 1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
+WITH_MTK_PMIC_WRAP_AND_PMIC ?= 1
diff --git a/src/bsp/lk/project/aud8516m3v5-emmc-32b-avs.mk b/src/bsp/lk/project/aud8516m3v5-emmc-32b-avs.mk
new file mode 100644
index 0000000..8ce14d6
--- /dev/null
+++ b/src/bsp/lk/project/aud8516m3v5-emmc-32b-avs.mk
@@ -0,0 +1,12 @@
+# main project for aud8516m3v5-emmc-32b-avs
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8516m3v5-emmc-32b-avs
+WITH_KERNEL_VM ?= 1
+WITH_LINKER_GC := 1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
+WITH_MTK_PMIC_WRAP_AND_PMIC ?= 1
diff --git a/src/bsp/lk/project/aud8516p1v1-slc-32b-gva-user.mk b/src/bsp/lk/project/aud8516p1v1-slc-32b-gva-user.mk
new file mode 100644
index 0000000..6ce7aac
--- /dev/null
+++ b/src/bsp/lk/project/aud8516p1v1-slc-32b-gva-user.mk
@@ -0,0 +1,11 @@
+# main project for aud8516p1v1-slc-32b-gva-user
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8516p1v1-slc-32b-gva-user
+WITH_KERNEL_VM ?= 1
+WITH_LINKER_GC := 1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8518am1-emmc.mk b/src/bsp/lk/project/aud8518am1-emmc.mk
new file mode 100644
index 0000000..4da9bd0
--- /dev/null
+++ b/src/bsp/lk/project/aud8518am1-emmc.mk
@@ -0,0 +1,21 @@
+# main project for aud8518am1-emmc
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8518am1-emmc
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+WITH_MTK_PMIC_WRAP_AND_PMIC := 1
+WITH_32K_OSC := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+# add for dram config
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_LPDDR4=1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8518am1-slc.mk b/src/bsp/lk/project/aud8518am1-slc.mk
new file mode 100644
index 0000000..e845e94
--- /dev/null
+++ b/src/bsp/lk/project/aud8518am1-slc.mk
@@ -0,0 +1,25 @@
+# main project for aud8518am1-slc
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8518am1-slc
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+WITH_MTK_PMIC_WRAP_AND_PMIC := 1
+WITH_32K_OSC := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+# add for dram config
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_LPDDR4=1
+
+# add SLC nand GPT common config
+GLOBAL_DEFINES += \
+    SUPPORT_GPT_FIXED_LBS=1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8518am2-emmc.mk b/src/bsp/lk/project/aud8518am2-emmc.mk
new file mode 100644
index 0000000..73fc633
--- /dev/null
+++ b/src/bsp/lk/project/aud8518am2-emmc.mk
@@ -0,0 +1,21 @@
+# main project for aud8518am2-emmc
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8518am2-emmc
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+WITH_PMIC_MT6395 := 1
+WITH_VCORE_I2C_BUCK := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+# add for dram config
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_PCDDR4=1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8518ap1-emmc-32b-amic.mk b/src/bsp/lk/project/aud8518ap1-emmc-32b-amic.mk
new file mode 100644
index 0000000..3317ce3
--- /dev/null
+++ b/src/bsp/lk/project/aud8518ap1-emmc-32b-amic.mk
@@ -0,0 +1,21 @@
+# main project for aud8518ap1-emmc-32b-amic
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8518ap1-emmc-32b-amic
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+WITH_PMIC_MT6395 := 1
+WITH_VCORE_I2C_BUCK := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+# add for dram config
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_LPDDR4=1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8518ap1-emmc-32b-avs-test.mk b/src/bsp/lk/project/aud8518ap1-emmc-32b-avs-test.mk
new file mode 100644
index 0000000..a2603fd
--- /dev/null
+++ b/src/bsp/lk/project/aud8518ap1-emmc-32b-avs-test.mk
@@ -0,0 +1,21 @@
+# main project for aud8518ap1-emmc-32b-avs-test
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8518ap1-emmc-32b-avs-test
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+WITH_PMIC_MT6395 := 1
+WITH_VCORE_I2C_BUCK := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+# add for dram config
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_LPDDR4=1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8518ap1-emmc-32b-avs.mk b/src/bsp/lk/project/aud8518ap1-emmc-32b-avs.mk
new file mode 100644
index 0000000..6afa241
--- /dev/null
+++ b/src/bsp/lk/project/aud8518ap1-emmc-32b-avs.mk
@@ -0,0 +1,21 @@
+# main project for aud8518ap1-emmc-32b-avs
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8518ap1-emmc-32b-avs
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+WITH_PMIC_MT6395 := 1
+WITH_VCORE_I2C_BUCK := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+# add for dram config
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_LPDDR4=1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8518ap1-emmc-32b-gva-eng.mk b/src/bsp/lk/project/aud8518ap1-emmc-32b-gva-eng.mk
new file mode 100644
index 0000000..d48ae2b
--- /dev/null
+++ b/src/bsp/lk/project/aud8518ap1-emmc-32b-gva-eng.mk
@@ -0,0 +1,21 @@
+# main project for aud8518ap1-emmc-32b-gva-eng
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8518ap1-emmc-32b-gva-eng
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+WITH_PMIC_MT6395 := 1
+WITH_VCORE_I2C_BUCK := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+# add for dram config
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_LPDDR4=1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8518ap1-emmc-32b-gva-user.mk b/src/bsp/lk/project/aud8518ap1-emmc-32b-gva-user.mk
new file mode 100644
index 0000000..dda64ea
--- /dev/null
+++ b/src/bsp/lk/project/aud8518ap1-emmc-32b-gva-user.mk
@@ -0,0 +1,21 @@
+# main project for aud8518ap1-emmc-32b-gva-user
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8518ap1-emmc-32b-gva-user
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+WITH_PMIC_MT6395 := 1
+WITH_VCORE_I2C_BUCK := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+# add for dram config
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_LPDDR4=1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8518ap1-emmc-32b.mk b/src/bsp/lk/project/aud8518ap1-emmc-32b.mk
new file mode 100644
index 0000000..5797447
--- /dev/null
+++ b/src/bsp/lk/project/aud8518ap1-emmc-32b.mk
@@ -0,0 +1,21 @@
+# main project for aud8518ap1-emmc-32b
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8518ap1-emmc-32b
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+WITH_PMIC_MT6395 := 1
+WITH_VCORE_I2C_BUCK := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+# add for dram config
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_LPDDR4=1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8518ap1-slc-32b-apo-test.mk b/src/bsp/lk/project/aud8518ap1-slc-32b-apo-test.mk
new file mode 100644
index 0000000..c1e4e8f
--- /dev/null
+++ b/src/bsp/lk/project/aud8518ap1-slc-32b-apo-test.mk
@@ -0,0 +1,26 @@
+# main project for aud8518ap1-slc-32b-apo-test
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8518ap1-slc-32b-apo-test
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+WITH_PMIC_MT6395 := 1
+WITH_VCORE_I2C_BUCK := 1
+MTK_TINYSYS_SCP_SUPPORT := yes
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+# add for dram config
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_LPDDR4=1
+
+# add SLC nand GPT common config
+GLOBAL_DEFINES += \
+    SUPPORT_GPT_FIXED_LBS=1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8518ap1-slc-32b-apo.mk b/src/bsp/lk/project/aud8518ap1-slc-32b-apo.mk
new file mode 100644
index 0000000..0ec9660
--- /dev/null
+++ b/src/bsp/lk/project/aud8518ap1-slc-32b-apo.mk
@@ -0,0 +1,26 @@
+# main project for aud8518ap1-slc-32b-apo
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8518ap1-slc-32b-apo
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+WITH_PMIC_MT6395 := 1
+WITH_VCORE_I2C_BUCK := 1
+MTK_TINYSYS_SCP_SUPPORT := yes
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+# add for dram config
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_LPDDR4=1
+
+# add SLC nand GPT common config
+GLOBAL_DEFINES += \
+    SUPPORT_GPT_FIXED_LBS=1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8518ap1-slc-32b-avs-test.mk b/src/bsp/lk/project/aud8518ap1-slc-32b-avs-test.mk
new file mode 100644
index 0000000..06442cf
--- /dev/null
+++ b/src/bsp/lk/project/aud8518ap1-slc-32b-avs-test.mk
@@ -0,0 +1,26 @@
+# main project for aud8518ap1-slc-32b-avs-test
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8518ap1-slc-32b-avs-test
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+WITH_PMIC_MT6395 := 1
+WITH_VCORE_I2C_BUCK := 1
+WITH_LP5523_LED := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+# add for dram config
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_LPDDR4=1
+
+# add SLC nand GPT common config
+GLOBAL_DEFINES += \
+    SUPPORT_GPT_FIXED_LBS=1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8518ap1-slc-32b-avs-vad-test.mk b/src/bsp/lk/project/aud8518ap1-slc-32b-avs-vad-test.mk
new file mode 100644
index 0000000..a1fb750
--- /dev/null
+++ b/src/bsp/lk/project/aud8518ap1-slc-32b-avs-vad-test.mk
@@ -0,0 +1,25 @@
+# main project for aud8518ap1-slc-32b-avs-vad-test
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8518ap1-slc-32b-avs-vad-test
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+WITH_PMIC_MT6395 := 1
+WITH_VCORE_I2C_BUCK := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+# add for dram config
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_LPDDR4=1
+
+# add SLC nand GPT common config
+GLOBAL_DEFINES += \
+    SUPPORT_GPT_FIXED_LBS=1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8518ap1-slc-32b-avs.mk b/src/bsp/lk/project/aud8518ap1-slc-32b-avs.mk
new file mode 100644
index 0000000..a068f5d
--- /dev/null
+++ b/src/bsp/lk/project/aud8518ap1-slc-32b-avs.mk
@@ -0,0 +1,26 @@
+# main project for aud8518ap1-slc-32b-avs
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8518ap1-slc-32b-avs
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+WITH_PMIC_MT6395 := 1
+WITH_VCORE_I2C_BUCK := 1
+WITH_LP5523_LED := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+# add for dram config
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_LPDDR4=1
+
+# add SLC nand GPT common config
+GLOBAL_DEFINES += \
+    SUPPORT_GPT_FIXED_LBS=1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8518ap1-slc-32b-codecdev-test.mk b/src/bsp/lk/project/aud8518ap1-slc-32b-codecdev-test.mk
new file mode 100644
index 0000000..8604ae7
--- /dev/null
+++ b/src/bsp/lk/project/aud8518ap1-slc-32b-codecdev-test.mk
@@ -0,0 +1,25 @@
+# main project for aud8518ap1-slc-32b-codecdev-test
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8518ap1-slc-32b-codecdev-test
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+WITH_PMIC_MT6395 := 1
+WITH_VCORE_I2C_BUCK := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+# add for dram config
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_LPDDR4=1
+
+# add SLC nand GPT common config
+GLOBAL_DEFINES += \
+    SUPPORT_GPT_FIXED_LBS=1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8518ap1-slc-32b-gva-eng.mk b/src/bsp/lk/project/aud8518ap1-slc-32b-gva-eng.mk
new file mode 100644
index 0000000..b6d9066
--- /dev/null
+++ b/src/bsp/lk/project/aud8518ap1-slc-32b-gva-eng.mk
@@ -0,0 +1,25 @@
+# main project for aud8518ap1-slc-32b-gva-eng
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8518ap1-slc-32b-gva-eng
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+WITH_PMIC_MT6395 := 1
+WITH_VCORE_I2C_BUCK := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+# add for dram config
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_LPDDR4=1
+
+# add SLC nand GPT common config
+GLOBAL_DEFINES += \
+    SUPPORT_GPT_FIXED_LBS=1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8518ap1-slc-32b-gva-user.mk b/src/bsp/lk/project/aud8518ap1-slc-32b-gva-user.mk
new file mode 100644
index 0000000..baedd16
--- /dev/null
+++ b/src/bsp/lk/project/aud8518ap1-slc-32b-gva-user.mk
@@ -0,0 +1,25 @@
+# main project for aud8518ap1-slc-32b-gva-user
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8518ap1-slc-32b-gva-user
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+WITH_PMIC_MT6395 := 1
+WITH_VCORE_I2C_BUCK := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+# add for dram config
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_LPDDR4=1
+
+# add SLC nand GPT common config
+GLOBAL_DEFINES += \
+    SUPPORT_GPT_FIXED_LBS=1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8518ap1-slc-32b-test.mk b/src/bsp/lk/project/aud8518ap1-slc-32b-test.mk
new file mode 100644
index 0000000..ce46b66
--- /dev/null
+++ b/src/bsp/lk/project/aud8518ap1-slc-32b-test.mk
@@ -0,0 +1,27 @@
+# main project for aud8518ap1-slc-32b-test
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8518ap1-slc-32b-test
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+WITH_PMIC_MT6395 := 1
+WITH_VCORE_I2C_BUCK := 1
+MTK_TINYSYS_SCP_SUPPORT := yes
+WITH_RT9460_CHARGER := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+# add for dram config
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_LPDDR4=1
+
+# add SLC nand GPT common config
+GLOBAL_DEFINES += \
+    SUPPORT_GPT_FIXED_LBS=1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8518ap1-slc-32b-uboot.mk b/src/bsp/lk/project/aud8518ap1-slc-32b-uboot.mk
new file mode 100644
index 0000000..3881be7
--- /dev/null
+++ b/src/bsp/lk/project/aud8518ap1-slc-32b-uboot.mk
@@ -0,0 +1,25 @@
+# main project for aud8518ap1-slc-32b-uboot
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8518ap1-slc-32b-uboot
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+WITH_PMIC_MT6395 := 1
+WITH_VCORE_I2C_BUCK := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+# add for dram config
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_LPDDR4=1
+
+# add SLC nand GPT common config
+GLOBAL_DEFINES += \
+    SUPPORT_GPT_FIXED_LBS=1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8518ap1-slc-32b-vad-test.mk b/src/bsp/lk/project/aud8518ap1-slc-32b-vad-test.mk
new file mode 100644
index 0000000..9b9f139
--- /dev/null
+++ b/src/bsp/lk/project/aud8518ap1-slc-32b-vad-test.mk
@@ -0,0 +1,26 @@
+# main project for aud8518ap1-slc-32b-vad-test
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8518ap1-slc-32b-vad-test
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+WITH_PMIC_MT6395 := 1
+WITH_VCORE_I2C_BUCK := 1
+
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+# add for dram config
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_LPDDR4=1
+
+# add SLC nand GPT common config
+GLOBAL_DEFINES += \
+    SUPPORT_GPT_FIXED_LBS=1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8518ap1-slc-32b.mk b/src/bsp/lk/project/aud8518ap1-slc-32b.mk
new file mode 100644
index 0000000..f68461b
--- /dev/null
+++ b/src/bsp/lk/project/aud8518ap1-slc-32b.mk
@@ -0,0 +1,26 @@
+# main project for aud8518ap1-slc-32b
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8518ap1-slc-32b
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+WITH_PMIC_MT6395 := 1
+WITH_VCORE_I2C_BUCK := 1
+WITH_BOOTMODE_HANDSHAKE :=1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+# add for dram config
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_LPDDR4=1
+
+# add SLC nand GPT common config
+GLOBAL_DEFINES += \
+    SUPPORT_GPT_FIXED_LBS=1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8518ap1-slc-test.mk b/src/bsp/lk/project/aud8518ap1-slc-test.mk
new file mode 100644
index 0000000..19a8a1f
--- /dev/null
+++ b/src/bsp/lk/project/aud8518ap1-slc-test.mk
@@ -0,0 +1,25 @@
+# main project for aud8518ap1-slc-test
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8518ap1-slc-test
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+WITH_PMIC_MT6395 := 1
+WITH_VCORE_I2C_BUCK := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+# add for dram config
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_LPDDR4=1
+
+# add SLC nand GPT common config
+GLOBAL_DEFINES += \
+    SUPPORT_GPT_FIXED_LBS=1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8518ap1-slc.mk b/src/bsp/lk/project/aud8518ap1-slc.mk
new file mode 100644
index 0000000..f5ee6bd
--- /dev/null
+++ b/src/bsp/lk/project/aud8518ap1-slc.mk
@@ -0,0 +1,27 @@
+# main project for aud8518ap1-slc
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8518ap1-slc
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+WITH_PMIC_MT6395 := 1
+WITH_VCORE_I2C_BUCK := 1
+WITH_RT9460_CHARGER := 1
+WITH_BOOTMODE_HANDSHAKE :=1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+# add for dram config
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_LPDDR4=1
+
+# add SLC nand GPT common config
+GLOBAL_DEFINES += \
+    SUPPORT_GPT_FIXED_LBS=1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8518bm1-emmc.mk b/src/bsp/lk/project/aud8518bm1-emmc.mk
new file mode 100644
index 0000000..c59b447
--- /dev/null
+++ b/src/bsp/lk/project/aud8518bm1-emmc.mk
@@ -0,0 +1,22 @@
+# main project for aud8518bm1-emmc
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8518bm1-emmc
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+WITH_PMIC_MT6395 := 1
+WITH_VCORE_PWM_BUCK := 1
+WITH_32K_OSC := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+# add for dram config
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_LPDDR3=1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8518bm1-ldvt-slc.mk b/src/bsp/lk/project/aud8518bm1-ldvt-slc.mk
new file mode 100644
index 0000000..478b3ed
--- /dev/null
+++ b/src/bsp/lk/project/aud8518bm1-ldvt-slc.mk
@@ -0,0 +1,25 @@
+# main project for aud8518bm1-ldvt-slc
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8518bm1-ldvt-slc
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+WITH_PMIC_MT6395 := 1
+WITH_32K_OSC := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+# add for dram config
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_LPDDR3=1
+
+# add SLC nand GPT common config
+GLOBAL_DEFINES += \
+    SUPPORT_GPT_FIXED_LBS=1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8518bm1-slc.mk b/src/bsp/lk/project/aud8518bm1-slc.mk
new file mode 100644
index 0000000..e2baee3
--- /dev/null
+++ b/src/bsp/lk/project/aud8518bm1-slc.mk
@@ -0,0 +1,26 @@
+# main project for aud8518bm1-slc
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8518bm1-slc
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+WITH_PMIC_MT6395 := 1
+WITH_VCORE_PWM_BUCK := 1
+WITH_32K_OSC := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+# add for dram config
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_LPDDR3=1
+
+# add SLC nand GPT common config
+GLOBAL_DEFINES += \
+    SUPPORT_GPT_FIXED_LBS=1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8518bm2-emmc.mk b/src/bsp/lk/project/aud8518bm2-emmc.mk
new file mode 100644
index 0000000..4a18a63
--- /dev/null
+++ b/src/bsp/lk/project/aud8518bm2-emmc.mk
@@ -0,0 +1,24 @@
+# main project for aud8518bm2-emmc
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8518bm2-emmc
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+WITH_PMIC_MT6395 := 1
+WITH_VCORE_PWM_BUCK := 1
+WITH_32K_OSC := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+# add for dram config
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_PCDDR3=1
+GLOBAL_DEFINES += \
+    SUPPORT_PCDDR3_32BIT=1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8518bp1-slc-32b-avs-test.mk b/src/bsp/lk/project/aud8518bp1-slc-32b-avs-test.mk
new file mode 100644
index 0000000..fe1a5ca
--- /dev/null
+++ b/src/bsp/lk/project/aud8518bp1-slc-32b-avs-test.mk
@@ -0,0 +1,25 @@
+# main project for aud8518bp1-slc-32b-avs-test
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8518bp1-slc-32b-avs-test
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+WITH_PMIC_MT6395 := 1
+WITH_VCORE_PWM_BUCK := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+# add for dram config
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_PCDDR3=1
+
+# add SLC nand GPT common config
+GLOBAL_DEFINES += \
+    SUPPORT_GPT_FIXED_LBS=1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8518bp1-slc-32b-avs.mk b/src/bsp/lk/project/aud8518bp1-slc-32b-avs.mk
new file mode 100644
index 0000000..1190dc7
--- /dev/null
+++ b/src/bsp/lk/project/aud8518bp1-slc-32b-avs.mk
@@ -0,0 +1,25 @@
+# main project for aud8518bp1-slc-32b-avs
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8518bp1-slc-32b-avs
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+WITH_PMIC_MT6395 := 1
+WITH_VCORE_PWM_BUCK := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+# add for dram config
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_PCDDR3=1
+
+# add SLC nand GPT common config
+GLOBAL_DEFINES += \
+    SUPPORT_GPT_FIXED_LBS=1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8518bp1-slc-32b-gva-eng.mk b/src/bsp/lk/project/aud8518bp1-slc-32b-gva-eng.mk
new file mode 100644
index 0000000..f2ccc14
--- /dev/null
+++ b/src/bsp/lk/project/aud8518bp1-slc-32b-gva-eng.mk
@@ -0,0 +1,25 @@
+# main project for aud8518bp1-slc-32b-gva-eng
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8518bp1-slc-32b-gva-eng
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+WITH_PMIC_MT6395 := 1
+WITH_VCORE_PWM_BUCK := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+# add for dram config
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_PCDDR3=1
+
+# add SLC nand GPT common config
+GLOBAL_DEFINES += \
+    SUPPORT_GPT_FIXED_LBS=1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8518bp1-slc-32b-gva-user.mk b/src/bsp/lk/project/aud8518bp1-slc-32b-gva-user.mk
new file mode 100644
index 0000000..ac905ad
--- /dev/null
+++ b/src/bsp/lk/project/aud8518bp1-slc-32b-gva-user.mk
@@ -0,0 +1,25 @@
+# main project for aud8518bp1-slc-32b-gva-user
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8518bp1-slc-32b-gva-user
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+WITH_PMIC_MT6395 := 1
+WITH_VCORE_PWM_BUCK := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+# add for dram config
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_PCDDR3=1
+
+# add SLC nand GPT common config
+GLOBAL_DEFINES += \
+    SUPPORT_GPT_FIXED_LBS=1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8518bp1-slc-32b-test.mk b/src/bsp/lk/project/aud8518bp1-slc-32b-test.mk
new file mode 100644
index 0000000..ec6254d
--- /dev/null
+++ b/src/bsp/lk/project/aud8518bp1-slc-32b-test.mk
@@ -0,0 +1,26 @@
+# main project for aud8518bp1-slc-32b-test
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8518bp1-slc-32b-test
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+WITH_PMIC_MT6395 := 1
+WITH_VCORE_PWM_BUCK := 1
+MTK_TINYSYS_SCP_SUPPORT := yes
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+# add for dram config
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_PCDDR3=1
+
+# add SLC nand GPT common config
+GLOBAL_DEFINES += \
+    SUPPORT_GPT_FIXED_LBS=1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8518bp1-slc-32b.mk b/src/bsp/lk/project/aud8518bp1-slc-32b.mk
new file mode 100644
index 0000000..d821670
--- /dev/null
+++ b/src/bsp/lk/project/aud8518bp1-slc-32b.mk
@@ -0,0 +1,25 @@
+# main project for aud8518bp1-slc-32b
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8518bp1-slc-32b
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+WITH_PMIC_MT6395 := 1
+WITH_VCORE_PWM_BUCK := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+# add for dram config
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_PCDDR3=1
+
+# add SLC nand GPT common config
+GLOBAL_DEFINES += \
+    SUPPORT_GPT_FIXED_LBS=1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8518bp1-slc-test.mk b/src/bsp/lk/project/aud8518bp1-slc-test.mk
new file mode 100644
index 0000000..ba8e426
--- /dev/null
+++ b/src/bsp/lk/project/aud8518bp1-slc-test.mk
@@ -0,0 +1,26 @@
+# main project for aud8518bp1-slc-test
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8518bp1-slc-test
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+WITH_PMIC_MT6395 := 1
+WITH_VCORE_PWM_BUCK := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+
+# add for dram config
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_PCDDR3=1
+
+# add SLC nand GPT common config
+GLOBAL_DEFINES += \
+    SUPPORT_GPT_FIXED_LBS=1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8518bp1-slc.mk b/src/bsp/lk/project/aud8518bp1-slc.mk
new file mode 100644
index 0000000..562e2fa
--- /dev/null
+++ b/src/bsp/lk/project/aud8518bp1-slc.mk
@@ -0,0 +1,26 @@
+# main project for aud8518bp1-slc
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8518bp1-slc
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+WITH_PMIC_MT6395 := 1
+WITH_VCORE_PWM_BUCK := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+
+# add for dram config
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_PCDDR3=1
+
+# add SLC nand GPT common config
+GLOBAL_DEFINES += \
+    SUPPORT_GPT_FIXED_LBS=1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8518fpga-slc.mk b/src/bsp/lk/project/aud8518fpga-slc.mk
new file mode 100644
index 0000000..4b4b59b
--- /dev/null
+++ b/src/bsp/lk/project/aud8518fpga-slc.mk
@@ -0,0 +1,27 @@
+# main project for aud8518fpga-slc
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8518fpga-slc
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+# add for fpga config
+GLOBAL_DEFINES += \
+    FPGA_PLATFORM=1
+
+# add SLC nand GPT common config
+GLOBAL_DEFINES += \
+    SUPPORT_GPT_FIXED_LBS=1
+
+# add for dram config
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_LPDDR3=1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8518fpga.mk b/src/bsp/lk/project/aud8518fpga.mk
new file mode 100644
index 0000000..6481c1d
--- /dev/null
+++ b/src/bsp/lk/project/aud8518fpga.mk
@@ -0,0 +1,23 @@
+# main project for aud8518fpga
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8518fpga
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+# add for fpga config
+GLOBAL_DEFINES += \
+    FPGA_PLATFORM=1
+
+# add for dram config
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_LPDDR3=1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8518sm1-slc-32b.mk b/src/bsp/lk/project/aud8518sm1-slc-32b.mk
new file mode 100644
index 0000000..20cedb4
--- /dev/null
+++ b/src/bsp/lk/project/aud8518sm1-slc-32b.mk
@@ -0,0 +1,26 @@
+# main project for aud8518sm1-slc-32b
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8518sm1-slc-32b
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+WITH_PMIC_MT6395 := 1
+WITH_VCORE_PWM_BUCK := 1
+WITH_32K_OSC := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+# add for dram config
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_LPDDR3=1
+
+# add SLC nand GPT common config
+GLOBAL_DEFINES += \
+    SUPPORT_GPT_FIXED_LBS=1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8518sp2-emmc-32b-uboot.mk b/src/bsp/lk/project/aud8518sp2-emmc-32b-uboot.mk
new file mode 100644
index 0000000..7fc4631
--- /dev/null
+++ b/src/bsp/lk/project/aud8518sp2-emmc-32b-uboot.mk
@@ -0,0 +1,24 @@
+# main project for aud8518sp2-emmc-32b-uboot
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8518sp2-emmc-32b-uboot
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+WITH_PMIC_MT6395 := 1
+WITH_VCORE_PWM_BUCK := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+# add for dram config
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_PCDDR3=1
+
+GLOBAL_DEFINES += \
+    SUPPORT_PCDDR3_32BIT_PINMUX_WIDTH_16BIT=1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8518sp2-emmc-uboot.mk b/src/bsp/lk/project/aud8518sp2-emmc-uboot.mk
new file mode 100644
index 0000000..c6e8fec
--- /dev/null
+++ b/src/bsp/lk/project/aud8518sp2-emmc-uboot.mk
@@ -0,0 +1,24 @@
+# main project for aud8518sp2-emmc-uboot
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8518sp2-emmc-uboot
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+WITH_PMIC_MT6395 := 1
+WITH_VCORE_PWM_BUCK := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+# add for dram config
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_PCDDR3=1
+
+GLOBAL_DEFINES += \
+    SUPPORT_PCDDR3_32BIT_PINMUX_WIDTH_16BIT=1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8518sp2-slc-32b-c4a-eng.mk b/src/bsp/lk/project/aud8518sp2-slc-32b-c4a-eng.mk
new file mode 100644
index 0000000..de232b6
--- /dev/null
+++ b/src/bsp/lk/project/aud8518sp2-slc-32b-c4a-eng.mk
@@ -0,0 +1,29 @@
+# main project for aud8518sp2-slc-32b-c4a-eng
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8518sp2-slc-32b-c4a-eng
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+WITH_PMIC_MT6395 := 1
+WITH_VCORE_PWM_BUCK := 1
+MTK_TINYSYS_SCP_SUPPORT := yes
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+# add for dram config
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_PCDDR3=1
+
+GLOBAL_DEFINES += \
+    SUPPORT_PCDDR3_32BIT_PINMUX_WIDTH_16BIT=1
+
+# add SLC nand GPT common config
+GLOBAL_DEFINES += \
+    SUPPORT_GPT_FIXED_LBS=1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8518sp2-slc-32b-c4a-user-test.mk b/src/bsp/lk/project/aud8518sp2-slc-32b-c4a-user-test.mk
new file mode 100644
index 0000000..055fb95
--- /dev/null
+++ b/src/bsp/lk/project/aud8518sp2-slc-32b-c4a-user-test.mk
@@ -0,0 +1,29 @@
+# main project for aud8518sp2-slc-32b-c4a-user-test
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8518sp2-slc-32b-c4a-user-test
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+WITH_PMIC_MT6395 := 1
+WITH_VCORE_PWM_BUCK := 1
+MTK_TINYSYS_SCP_SUPPORT := yes
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+# add for dram config
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_PCDDR3=1
+
+GLOBAL_DEFINES += \
+    SUPPORT_PCDDR3_32BIT_PINMUX_WIDTH_16BIT=1
+
+# add SLC nand GPT common config
+GLOBAL_DEFINES += \
+    SUPPORT_GPT_FIXED_LBS=1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8518sp2-slc-32b-c4a-user.mk b/src/bsp/lk/project/aud8518sp2-slc-32b-c4a-user.mk
new file mode 100644
index 0000000..e1adcae
--- /dev/null
+++ b/src/bsp/lk/project/aud8518sp2-slc-32b-c4a-user.mk
@@ -0,0 +1,29 @@
+# main project for aud8518sp2-slc-32b-c4a-user
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8518sp2-slc-32b-c4a-user
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+WITH_PMIC_MT6395 := 1
+WITH_VCORE_PWM_BUCK := 1
+MTK_TINYSYS_SCP_SUPPORT := yes
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+# add for dram config
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_PCDDR3=1
+
+GLOBAL_DEFINES += \
+    SUPPORT_PCDDR3_32BIT_PINMUX_WIDTH_16BIT=1
+
+# add SLC nand GPT common config
+GLOBAL_DEFINES += \
+    SUPPORT_GPT_FIXED_LBS=1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8518sp2-slc-32b-dsp.mk b/src/bsp/lk/project/aud8518sp2-slc-32b-dsp.mk
new file mode 100644
index 0000000..aa67a93
--- /dev/null
+++ b/src/bsp/lk/project/aud8518sp2-slc-32b-dsp.mk
@@ -0,0 +1,29 @@
+# main project for aud8518sp2-slc-32b-dsp
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8518sp2-slc-32b-dsp
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+WITH_PMIC_MT6395 := 1
+WITH_VCORE_PWM_BUCK := 1
+MTK_TINYSYS_SCP_SUPPORT := yes
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+# add for dram config
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_PCDDR3=1
+
+GLOBAL_DEFINES += \
+    SUPPORT_PCDDR3_32BIT_PINMUX_WIDTH_16BIT=1
+
+# add SLC nand GPT common config
+GLOBAL_DEFINES += \
+    SUPPORT_GPT_FIXED_LBS=1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8518sp2-slc-32b-gva-eng.mk b/src/bsp/lk/project/aud8518sp2-slc-32b-gva-eng.mk
new file mode 100644
index 0000000..acdce52
--- /dev/null
+++ b/src/bsp/lk/project/aud8518sp2-slc-32b-gva-eng.mk
@@ -0,0 +1,29 @@
+# main project for aud8518sp2-slc-32b-gva-eng
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8518sp2-slc-32b-gva-eng
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+WITH_PMIC_MT6395 := 1
+WITH_VCORE_PWM_BUCK := 1
+MTK_TINYSYS_SCP_SUPPORT := yes
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+# add for dram config
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_PCDDR3=1
+
+GLOBAL_DEFINES += \
+    SUPPORT_PCDDR3_32BIT_PINMUX_WIDTH_16BIT=1
+
+# add SLC nand GPT common config
+GLOBAL_DEFINES += \
+    SUPPORT_GPT_FIXED_LBS=1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8518sp2-slc-32b-gva-user-test.mk b/src/bsp/lk/project/aud8518sp2-slc-32b-gva-user-test.mk
new file mode 100644
index 0000000..c547a31
--- /dev/null
+++ b/src/bsp/lk/project/aud8518sp2-slc-32b-gva-user-test.mk
@@ -0,0 +1,29 @@
+# main project for aud8518sp2-slc-32b-gva-user-test
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8518sp2-slc-32b-gva-user-test
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+WITH_PMIC_MT6395 := 1
+WITH_VCORE_PWM_BUCK := 1
+MTK_TINYSYS_SCP_SUPPORT := yes
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+# add for dram config
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_PCDDR3=1
+
+GLOBAL_DEFINES += \
+    SUPPORT_PCDDR3_32BIT_PINMUX_WIDTH_16BIT=1
+
+# add SLC nand GPT common config
+GLOBAL_DEFINES += \
+    SUPPORT_GPT_FIXED_LBS=1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8518sp2-slc-32b-gva-user.mk b/src/bsp/lk/project/aud8518sp2-slc-32b-gva-user.mk
new file mode 100644
index 0000000..92d9e3a
--- /dev/null
+++ b/src/bsp/lk/project/aud8518sp2-slc-32b-gva-user.mk
@@ -0,0 +1,29 @@
+# main project for aud8518sp2-slc-32b-gva-user
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8518sp2-slc-32b-gva-user
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+WITH_PMIC_MT6395 := 1
+WITH_VCORE_PWM_BUCK := 1
+MTK_TINYSYS_SCP_SUPPORT := yes
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+# add for dram config
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_PCDDR3=1
+
+GLOBAL_DEFINES += \
+    SUPPORT_PCDDR3_32BIT_PINMUX_WIDTH_16BIT=1
+
+# add SLC nand GPT common config
+GLOBAL_DEFINES += \
+    SUPPORT_GPT_FIXED_LBS=1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8518sp2-slc-32b-mt7663-disp.mk b/src/bsp/lk/project/aud8518sp2-slc-32b-mt7663-disp.mk
new file mode 100644
index 0000000..bc9e187
--- /dev/null
+++ b/src/bsp/lk/project/aud8518sp2-slc-32b-mt7663-disp.mk
@@ -0,0 +1,29 @@
+# main project for aud8518sp2-slc-32b-mt7663-disp
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8518sp2-slc-32b-mt7663-disp
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+WITH_PMIC_MT6395 := 1
+WITH_VCORE_PWM_BUCK := 1
+MTK_TINYSYS_SCP_SUPPORT := yes
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+# add for dram config
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_PCDDR3=1
+
+GLOBAL_DEFINES += \
+    SUPPORT_PCDDR3_32BIT_PINMUX_WIDTH_16BIT=1
+
+# add SLC nand GPT common config
+GLOBAL_DEFINES += \
+    SUPPORT_GPT_FIXED_LBS=1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8518sp2-slc-32b-mt7663-test.mk b/src/bsp/lk/project/aud8518sp2-slc-32b-mt7663-test.mk
new file mode 100644
index 0000000..c3c0126
--- /dev/null
+++ b/src/bsp/lk/project/aud8518sp2-slc-32b-mt7663-test.mk
@@ -0,0 +1,29 @@
+# main project for aud8518sp2-slc-32b-mt7663-test
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8518sp2-slc-32b-mt7663-test
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+WITH_PMIC_MT6395 := 1
+WITH_VCORE_PWM_BUCK := 1
+MTK_TINYSYS_SCP_SUPPORT := yes
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+# add for dram config
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_PCDDR3=1
+
+GLOBAL_DEFINES += \
+    SUPPORT_PCDDR3_32BIT_PINMUX_WIDTH_16BIT=1
+
+# add SLC nand GPT common config
+GLOBAL_DEFINES += \
+    SUPPORT_GPT_FIXED_LBS=1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8518sp2-slc-32b-mt7663.mk b/src/bsp/lk/project/aud8518sp2-slc-32b-mt7663.mk
new file mode 100644
index 0000000..d93225e
--- /dev/null
+++ b/src/bsp/lk/project/aud8518sp2-slc-32b-mt7663.mk
@@ -0,0 +1,29 @@
+# main project for aud8518sp2-slc-32b-mt7663
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8518sp2-slc-32b-mt7663
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+WITH_PMIC_MT6395 := 1
+WITH_VCORE_PWM_BUCK := 1
+MTK_TINYSYS_SCP_SUPPORT := yes
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+# add for dram config
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_PCDDR3=1
+
+GLOBAL_DEFINES += \
+    SUPPORT_PCDDR3_32BIT_PINMUX_WIDTH_16BIT=1
+
+# add SLC nand GPT common config
+GLOBAL_DEFINES += \
+    SUPPORT_GPT_FIXED_LBS=1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8518sp2-slc-32b-test.mk b/src/bsp/lk/project/aud8518sp2-slc-32b-test.mk
new file mode 100644
index 0000000..99f7b42
--- /dev/null
+++ b/src/bsp/lk/project/aud8518sp2-slc-32b-test.mk
@@ -0,0 +1,29 @@
+# main project for aud8518sp2-slc-32b-test
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8518sp2-slc-32b-test
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+WITH_PMIC_MT6395 := 1
+WITH_VCORE_PWM_BUCK := 1
+MTK_TINYSYS_SCP_SUPPORT := yes
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+# add for dram config
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_PCDDR3=1
+
+GLOBAL_DEFINES += \
+    SUPPORT_PCDDR3_32BIT_PINMUX_WIDTH_16BIT=1
+
+# add SLC nand GPT common config
+GLOBAL_DEFINES += \
+    SUPPORT_GPT_FIXED_LBS=1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8518sp2-slc-32b.mk b/src/bsp/lk/project/aud8518sp2-slc-32b.mk
new file mode 100644
index 0000000..720c97d
--- /dev/null
+++ b/src/bsp/lk/project/aud8518sp2-slc-32b.mk
@@ -0,0 +1,29 @@
+# main project for aud8518sp2-slc-32b
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8518sp2-slc-32b
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+WITH_PMIC_MT6395 := 1
+WITH_VCORE_PWM_BUCK := 1
+MTK_TINYSYS_SCP_SUPPORT := yes
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+# add for dram config
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_PCDDR3=1
+
+GLOBAL_DEFINES += \
+    SUPPORT_PCDDR3_32BIT_PINMUX_WIDTH_16BIT=1
+
+# add SLC nand GPT common config
+GLOBAL_DEFINES += \
+    SUPPORT_GPT_FIXED_LBS=1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8518sp3-emmc-32b-c4a-eng.mk b/src/bsp/lk/project/aud8518sp3-emmc-32b-c4a-eng.mk
new file mode 100644
index 0000000..a92a41c
--- /dev/null
+++ b/src/bsp/lk/project/aud8518sp3-emmc-32b-c4a-eng.mk
@@ -0,0 +1,26 @@
+# main project for aud8518sp3-emmc-32b-c4a-eng
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8518sp3-emmc-32b-c4a-eng
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+WITH_PMIC_MT6395 := 1
+WITH_VCORE_PWM_BUCK := 1
+PMIC_MT6395_I2C0 := 1
+MTK_TINYSYS_SCP_SUPPORT := yes
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+# add for dram config
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_PCDDR3=1
+
+GLOBAL_DEFINES += \
+    SUPPORT_PCDDR3_32BIT_PINMUX_WIDTH_16BIT=1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8518sp3-emmc-32b-c4a-user-test.mk b/src/bsp/lk/project/aud8518sp3-emmc-32b-c4a-user-test.mk
new file mode 100644
index 0000000..0a9de91
--- /dev/null
+++ b/src/bsp/lk/project/aud8518sp3-emmc-32b-c4a-user-test.mk
@@ -0,0 +1,26 @@
+# main project for aud8518sp3-emmc-32b-c4a-user-test
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8518sp3-emmc-32b-c4a-user-test
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+WITH_PMIC_MT6395 := 1
+WITH_VCORE_PWM_BUCK := 1
+PMIC_MT6395_I2C0 := 1
+MTK_TINYSYS_SCP_SUPPORT := yes
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+# add for dram config
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_PCDDR3=1
+
+GLOBAL_DEFINES += \
+    SUPPORT_PCDDR3_32BIT_PINMUX_WIDTH_16BIT=1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8518sp3-emmc-32b-c4a-user.mk b/src/bsp/lk/project/aud8518sp3-emmc-32b-c4a-user.mk
new file mode 100644
index 0000000..772bb47
--- /dev/null
+++ b/src/bsp/lk/project/aud8518sp3-emmc-32b-c4a-user.mk
@@ -0,0 +1,26 @@
+# main project for aud8518sp3-emmc-32b-c4a-user
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8518sp3-emmc-32b-c4a-user
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+WITH_PMIC_MT6395 := 1
+WITH_VCORE_PWM_BUCK := 1
+PMIC_MT6395_I2C0 := 1
+MTK_TINYSYS_SCP_SUPPORT := yes
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+# add for dram config
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_PCDDR3=1
+
+GLOBAL_DEFINES += \
+    SUPPORT_PCDDR3_32BIT_PINMUX_WIDTH_16BIT=1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8518sp3-emmc-32b-gva-eng.mk b/src/bsp/lk/project/aud8518sp3-emmc-32b-gva-eng.mk
new file mode 100644
index 0000000..d16f69f
--- /dev/null
+++ b/src/bsp/lk/project/aud8518sp3-emmc-32b-gva-eng.mk
@@ -0,0 +1,26 @@
+# main project for aud8518sp3-emmc-32b-gva-eng
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8518sp3-emmc-32b-gva-eng
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+WITH_PMIC_MT6395 := 1
+WITH_VCORE_PWM_BUCK := 1
+PMIC_MT6395_I2C0 := 1
+MTK_TINYSYS_SCP_SUPPORT := yes
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+# add for dram config
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_PCDDR3=1
+
+GLOBAL_DEFINES += \
+    SUPPORT_PCDDR3_32BIT_PINMUX_WIDTH_16BIT=1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8518sp3-emmc-32b-gva-user-test.mk b/src/bsp/lk/project/aud8518sp3-emmc-32b-gva-user-test.mk
new file mode 100644
index 0000000..9bfe107
--- /dev/null
+++ b/src/bsp/lk/project/aud8518sp3-emmc-32b-gva-user-test.mk
@@ -0,0 +1,26 @@
+# main project for aud8518sp3-emmc-32b-gva-user-test
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8518sp3-emmc-32b-gva-user-test
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+WITH_PMIC_MT6395 := 1
+WITH_VCORE_PWM_BUCK := 1
+PMIC_MT6395_I2C0 := 1
+MTK_TINYSYS_SCP_SUPPORT := yes
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+# add for dram config
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_PCDDR3=1
+
+GLOBAL_DEFINES += \
+    SUPPORT_PCDDR3_32BIT_PINMUX_WIDTH_16BIT=1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8518sp3-emmc-32b-gva-user.mk b/src/bsp/lk/project/aud8518sp3-emmc-32b-gva-user.mk
new file mode 100644
index 0000000..36f506c
--- /dev/null
+++ b/src/bsp/lk/project/aud8518sp3-emmc-32b-gva-user.mk
@@ -0,0 +1,26 @@
+# main project for aud8518sp3-emmc-32b-gva-user
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8518sp3-emmc-32b-gva-user
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+WITH_PMIC_MT6395 := 1
+WITH_VCORE_PWM_BUCK := 1
+PMIC_MT6395_I2C0 := 1
+MTK_TINYSYS_SCP_SUPPORT := yes
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+# add for dram config
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_PCDDR3=1
+
+GLOBAL_DEFINES += \
+    SUPPORT_PCDDR3_32BIT_PINMUX_WIDTH_16BIT=1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8518sp3-emmc-32b-mt7663-disp.mk b/src/bsp/lk/project/aud8518sp3-emmc-32b-mt7663-disp.mk
new file mode 100644
index 0000000..b4ce58b
--- /dev/null
+++ b/src/bsp/lk/project/aud8518sp3-emmc-32b-mt7663-disp.mk
@@ -0,0 +1,26 @@
+# main project for aud8518sp3-emmc-32b-mt7663-disp
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := aud8518sp3-emmc-32b-mt7663-disp
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+WITH_PMIC_MT6395 := 1
+WITH_VCORE_PWM_BUCK := 1
+PMIC_MT6395_I2C0 := 1
+MTK_TINYSYS_SCP_SUPPORT := yes
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+# add for dram config
+GLOBAL_DEFINES += \
+    SUPPORT_TYPE_PCDDR3=1
+
+GLOBAL_DEFINES += \
+    SUPPORT_PCDDR3_32BIT_PINMUX_WIDTH_16BIT=1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/aud8521pevb2-nand.mk b/src/bsp/lk/project/aud8521pevb2-nand.mk
new file mode 100644
index 0000000..d01f2ea
--- /dev/null
+++ b/src/bsp/lk/project/aud8521pevb2-nand.mk
@@ -0,0 +1,11 @@
+# main project for aud8521pevb2-nand arm32
+ARCH := arm
+ARM_CPU := cortex-a7
+
+TARGET := aud8521pevb2-nand
+
+MODULES += \
+	app/fitboot
+
+LK_HEAP_IMPLEMENTATION=miniheap
+
diff --git a/src/bsp/lk/project/aud8521pevb2.mk b/src/bsp/lk/project/aud8521pevb2.mk
new file mode 100644
index 0000000..df055d9
--- /dev/null
+++ b/src/bsp/lk/project/aud8521pevb2.mk
@@ -0,0 +1,11 @@
+# main project for aud8521pevb2 arm32
+ARCH := arm
+ARM_CPU := cortex-a7
+
+TARGET := aud8521pevb2
+
+MODULES += \
+	app/fitboot
+
+LK_HEAP_IMPLEMENTATION=miniheap
+
diff --git a/src/bsp/lk/project/auto2635evb2-ivt.mk b/src/bsp/lk/project/auto2635evb2-ivt.mk
new file mode 100644
index 0000000..b091e7f
--- /dev/null
+++ b/src/bsp/lk/project/auto2635evb2-ivt.mk
@@ -0,0 +1,15 @@
+# main project for auto2635evb2-ivt
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := auto2635evb2-ivt
+WITH_KERNEL_VM ?= 1
+WITH_LINKER_GC := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/auto2701evb2-ivi.mk b/src/bsp/lk/project/auto2701evb2-ivi.mk
new file mode 100644
index 0000000..ffaa502
--- /dev/null
+++ b/src/bsp/lk/project/auto2701evb2-ivi.mk
@@ -0,0 +1,15 @@
+# main project for auto2701evb2-ivi arm32
+ARCH := arm
+ARM_CPU := cortex-a7
+
+TARGET := auto2701evb2-ivi
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=0
+
+MODULES += \
+	app/fitboot
+
+LK_HEAP_IMPLEMENTATION=miniheap
+
diff --git a/src/bsp/lk/project/auto2712-config/auto2712-android-partition.mk b/src/bsp/lk/project/auto2712-config/auto2712-android-partition.mk
new file mode 100644
index 0000000..a0c3a4c
--- /dev/null
+++ b/src/bsp/lk/project/auto2712-config/auto2712-android-partition.mk
@@ -0,0 +1,38 @@
+# partition definition of auto2712 android project
+TZ_PART_NAME := tee1
+RECOVERY_TZ_PART_NAME = tee1
+DTBO_PART_NAME := dtbo
+VPD_PART_NAME := vpd
+RECOVERY_VPD_PART_NAME = vpd
+BOOT_PART_NAME := boot
+ROOTFS_PART_NAME := system
+RECOVERY_BOOT_PART_NAME = recovery
+BL33_PART_NAME := uboot
+RECOVERY_BL33_PART_NAME := uboot
+SLAVE_CPU_PART_NAME := adsp
+RECOVERY_SLAVE_CPU_PART_NAME := adsp
+SCPSYS_PART_NAME := scpsys
+RECOVERY_SCPSYS_PART_NAME := scpsys
+SCPDATA_PART_NAME := scpdata
+RECOVERY_SCPDATA_PART_NAME := scpdata
+SCPCFG_PART_NAME := scpcfg
+RECOVERY_SCPCFG_PART_NAME := scpcfg
+
+GLOBAL_CFLAGS +=  -DTZ_PART_NAME=\"$(TZ_PART_NAME)\" \
+                  -DDTBO_PART_NAME=\"$(DTBO_PART_NAME)\" \
+                  -DVPD_PART_NAME=\"$(VPD_PART_NAME)\" \
+                  -DRECOVERY_VPD_PART_NAME=\"$(RECOVERY_VPD_PART_NAME)\" \
+                  -DBOOT_PART_NAME=\"$(BOOT_PART_NAME)\" \
+                  -DROOTFS_PART_NAME=\"$(ROOTFS_PART_NAME)\" \
+                  -DRECOVERY_BOOT_PART_NAME=\"$(RECOVERY_BOOT_PART_NAME)\" \
+                  -DRECOVERY_TZ_PART_NAME=\"$(RECOVERY_TZ_PART_NAME)\" \
+                  -DBL33_PART_NAME=\"$(BL33_PART_NAME)\" \
+                  -DRECOVERY_BL33_PART_NAME=\"$(RECOVERY_BL33_PART_NAME)\" \
+                  -DSLAVE_CPU_PART_NAME=\"$(SLAVE_CPU_PART_NAME)\" \
+                  -DRECOVERY_SLAVE_CPU_PART_NAME=\"$(RECOVERY_SLAVE_CPU_PART_NAME)\" \
+                  -DSCPSYS_PART_NAME=\"$(SCPSYS_PART_NAME)\" \
+                  -DRECOVERY_SCPSYS_PART_NAME=\"$(RECOVERY_SCPSYS_PART_NAME)\" \
+                  -DSCPDATA_PART_NAME=\"$(SCPDATA_PART_NAME)\" \
+                  -DRECOVERY_SCPDATA_PART_NAME=\"$(RECOVERY_SCPDATA_PART_NAME)\" \
+                  -DSCPCFG_PART_NAME=\"$(SCPCFG_PART_NAME)\" \
+                  -DRECOVERY_SCPCFG_PART_NAME=\"$(RECOVERY_SCPCFG_PART_NAME)\"
diff --git a/src/bsp/lk/project/auto2712-config/auto2712-android-partition_ab.mk b/src/bsp/lk/project/auto2712-config/auto2712-android-partition_ab.mk
new file mode 100644
index 0000000..bdd295c
--- /dev/null
+++ b/src/bsp/lk/project/auto2712-config/auto2712-android-partition_ab.mk
@@ -0,0 +1,48 @@
+# partition definition of auto2712 android project
+TZ_PART_NAME := tee
+RECOVERY_TZ_PART_NAME = tee
+DTBO_PART_NAME := dtbo
+VPD_PART_NAME := vpd
+RECOVERY_VPD_PART_NAME := vpd
+BOOT_PART_NAME := boot
+ROOTFS_PART_NAME := system
+RECOVERY_BOOT_PART_NAME = boot
+BL33_PART_NAME := bl33
+RECOVERY_BL33_PART_NAME := bl33
+SLAVE_CPU_PART_NAME := adsp
+RECOVERY_SLAVE_CPU_PART_NAME := adsp
+SCPSYS_PART_NAME := scpsys
+RECOVERY_SCPSYS_PART_NAME := scpsys
+SCPDATA_PART_NAME := scpdata
+RECOVERY_SCPDATA_PART_NAME := scpdata
+SCPCFG_PART_NAME := scpcfg
+RECOVERY_SCPCFG_PART_NAME := scpcfg
+
+# image ab slot definition, override app/blxboot/images_ab_config_def.mk
+# When XX_HAS_SLOT == 1, blxboot will append suffix to the XX partition name.
+TZ_HAS_SLOT := 1
+BL33_HAS_SLOT := 1
+SLAVE_CPU_HAS_SLOT := 1
+BOOT_HAS_SLOT := 1
+SCPSYS_HAS_SLOT := 1
+DTBO_HAS_SLOT := 1
+
+GLOBAL_CFLAGS +=  -DTZ_PART_NAME=\"$(TZ_PART_NAME)\" \
+                  -DDTBO_PART_NAME=\"$(DTBO_PART_NAME)\" \
+                  -DVPD_PART_NAME=\"$(VPD_PART_NAME)\" \
+                  -DRECOVERY_VPD_PART_NAME=\"$(RECOVERY_VPD_PART_NAME)\" \
+                  -DBOOT_PART_NAME=\"$(BOOT_PART_NAME)\" \
+                  -DROOTFS_PART_NAME=\"$(ROOTFS_PART_NAME)\" \
+                  -DRECOVERY_BOOT_PART_NAME=\"$(RECOVERY_BOOT_PART_NAME)\" \
+                  -DRECOVERY_TZ_PART_NAME=\"$(RECOVERY_TZ_PART_NAME)\" \
+                  -DBL33_PART_NAME=\"$(BL33_PART_NAME)\" \
+                  -DRECOVERY_BL33_PART_NAME=\"$(RECOVERY_BL33_PART_NAME)\" \
+                  -DSLAVE_CPU_PART_NAME=\"$(SLAVE_CPU_PART_NAME)\" \
+                  -DRECOVERY_SLAVE_CPU_PART_NAME=\"$(RECOVERY_SLAVE_CPU_PART_NAME)\" \
+                  -DSCPSYS_PART_NAME=\"$(SCPSYS_PART_NAME)\" \
+                  -DRECOVERY_SCPSYS_PART_NAME=\"$(RECOVERY_SCPSYS_PART_NAME)\" \
+                  -DSCPDATA_PART_NAME=\"$(SCPDATA_PART_NAME)\" \
+                  -DRECOVERY_SCPDATA_PART_NAME=\"$(RECOVERY_SCPDATA_PART_NAME)\" \
+                  -DSCPCFG_PART_NAME=\"$(SCPCFG_PART_NAME)\" \
+                  -DRECOVERY_SCPCFG_PART_NAME=\"$(RECOVERY_SCPCFG_PART_NAME)\"
+
diff --git a/src/bsp/lk/project/auto2712-config/auto2712-ivi_agl-partition.mk b/src/bsp/lk/project/auto2712-config/auto2712-ivi_agl-partition.mk
new file mode 100644
index 0000000..d2905b9
--- /dev/null
+++ b/src/bsp/lk/project/auto2712-config/auto2712-ivi_agl-partition.mk
@@ -0,0 +1,38 @@
+# partition definition of auto2712-ivi_agl project
+TZ_PART_NAME := tee_a
+RECOVERY_TZ_PART_NAME = tee_a
+DTBO_PART_NAME := dtbo
+VPD_PART_NAME := vpd
+RECOVERY_VPD_PART_NAME := vpd
+BOOT_PART_NAME := boot
+ROOTFS_PART_NAME := system
+RECOVERY_BOOT_PART_NAME = recovery
+BL33_PART_NAME := bl33
+RECOVERY_BL33_PART_NAME := bl33
+SLAVE_CPU_PART_NAME := adsp
+RECOVERY_SLAVE_CPU_PART_NAME := adsp
+SCPSYS_PART_NAME := scpsys
+RECOVERY_SCPSYS_PART_NAME := scpsys
+SCPDATA_PART_NAME := scpdata
+RECOVERY_SCPDATA_PART_NAME := scpdata
+SCPCFG_PART_NAME := scpcfg
+RECOVERY_SCPCFG_PART_NAME := scpcfg
+
+GLOBAL_CFLAGS +=  -DTZ_PART_NAME=\"$(TZ_PART_NAME)\" \
+                  -DDTBO_PART_NAME=\"$(DTBO_PART_NAME)\" \
+                  -DVPD_PART_NAME=\"$(VPD_PART_NAME)\" \
+                  -DRECOVERY_VPD_PART_NAME=\"$(RECOVERY_VPD_PART_NAME)\" \
+                  -DBOOT_PART_NAME=\"$(BOOT_PART_NAME)\" \
+                  -DROOTFS_PART_NAME=\"$(ROOTFS_PART_NAME)\" \
+                  -DRECOVERY_BOOT_PART_NAME=\"$(RECOVERY_BOOT_PART_NAME)\" \
+                  -DRECOVERY_TZ_PART_NAME=\"$(RECOVERY_TZ_PART_NAME)\" \
+                  -DBL33_PART_NAME=\"$(BL33_PART_NAME)\" \
+                  -DRECOVERY_BL33_PART_NAME=\"$(RECOVERY_BL33_PART_NAME)\" \
+                  -DSLAVE_CPU_PART_NAME=\"$(SLAVE_CPU_PART_NAME)\" \
+                  -DRECOVERY_SLAVE_CPU_PART_NAME=\"$(RECOVERY_SLAVE_CPU_PART_NAME)\" \
+                  -DSCPSYS_PART_NAME=\"$(SCPSYS_PART_NAME)\" \
+                  -DRECOVERY_SCPSYS_PART_NAME=\"$(RECOVERY_SCPSYS_PART_NAME)\" \
+                  -DSCPDATA_PART_NAME=\"$(SCPDATA_PART_NAME)\" \
+                  -DRECOVERY_SCPDATA_PART_NAME=\"$(RECOVERY_SCPDATA_PART_NAME)\" \
+                  -DSCPCFG_PART_NAME=\"$(SCPCFG_PART_NAME)\" \
+                  -DRECOVERY_SCPCFG_PART_NAME=\"$(RECOVERY_SCPCFG_PART_NAME)\"
diff --git a/src/bsp/lk/project/auto2712-config/auto2712-ivi_agl-partition_ab.mk b/src/bsp/lk/project/auto2712-config/auto2712-ivi_agl-partition_ab.mk
new file mode 100644
index 0000000..0c91426
--- /dev/null
+++ b/src/bsp/lk/project/auto2712-config/auto2712-ivi_agl-partition_ab.mk
@@ -0,0 +1,42 @@
+# partition definition of auto2712-ivi_agl project
+TZ_PART_NAME := tee_a
+RECOVERY_TZ_PART_NAME = tee_a
+DTBO_PART_NAME := dtbo
+VPD_PART_NAME := vpd
+RECOVERY_VPD_PART_NAME := vpd
+BOOT_PART_NAME := boot
+ROOTFS_PART_NAME := system
+RECOVERY_BOOT_PART_NAME = recovery
+BL33_PART_NAME := bl33
+RECOVERY_BL33_PART_NAME := bl33
+SLAVE_CPU_PART_NAME := adsp
+RECOVERY_SLAVE_CPU_PART_NAME := adsp
+SCPSYS_PART_NAME := scpsys
+RECOVERY_SCPSYS_PART_NAME := scpsys
+SCPDATA_PART_NAME := scpdata
+RECOVERY_SCPDATA_PART_NAME := scpdata
+SCPCFG_PART_NAME := scpcfg
+RECOVERY_SCPCFG_PART_NAME := scpcfg
+
+# image ab slot definition, override app/blxboot/images_ab_config_def.mk
+# When XX_HAS_SLOT == 1, blxboot will append suffix to the XX partition name.
+BOOT_HAS_SLOT := 1
+
+GLOBAL_CFLAGS +=  -DTZ_PART_NAME=\"$(TZ_PART_NAME)\" \
+                  -DDTBO_PART_NAME=\"$(DTBO_PART_NAME)\" \
+                  -DVPD_PART_NAME=\"$(VPD_PART_NAME)\" \
+                  -DRECOVERY_VPD_PART_NAME=\"$(RECOVERY_VPD_PART_NAME)\" \
+                  -DBOOT_PART_NAME=\"$(BOOT_PART_NAME)\" \
+                  -DROOTFS_PART_NAME=\"$(ROOTFS_PART_NAME)\" \
+                  -DRECOVERY_BOOT_PART_NAME=\"$(RECOVERY_BOOT_PART_NAME)\" \
+                  -DRECOVERY_TZ_PART_NAME=\"$(RECOVERY_TZ_PART_NAME)\" \
+                  -DBL33_PART_NAME=\"$(BL33_PART_NAME)\" \
+                  -DRECOVERY_BL33_PART_NAME=\"$(RECOVERY_BL33_PART_NAME)\" \
+                  -DSLAVE_CPU_PART_NAME=\"$(SLAVE_CPU_PART_NAME)\" \
+                  -DRECOVERY_SLAVE_CPU_PART_NAME=\"$(RECOVERY_SLAVE_CPU_PART_NAME)\" \
+                  -DSCPSYS_PART_NAME=\"$(SCPSYS_PART_NAME)\" \
+                  -DRECOVERY_SCPSYS_PART_NAME=\"$(RECOVERY_SCPSYS_PART_NAME)\" \
+                  -DSCPDATA_PART_NAME=\"$(SCPDATA_PART_NAME)\" \
+                  -DRECOVERY_SCPDATA_PART_NAME=\"$(RECOVERY_SCPDATA_PART_NAME)\" \
+                  -DSCPCFG_PART_NAME=\"$(SCPCFG_PART_NAME)\" \
+                  -DRECOVERY_SCPCFG_PART_NAME=\"$(RECOVERY_SCPCFG_PART_NAME)\"
diff --git a/src/bsp/lk/project/auto2712e-p1v1-ivi_agl-1G-nand-bl33.mk b/src/bsp/lk/project/auto2712e-p1v1-ivi_agl-1G-nand-bl33.mk
new file mode 100644
index 0000000..1701fd5
--- /dev/null
+++ b/src/bsp/lk/project/auto2712e-p1v1-ivi_agl-1G-nand-bl33.mk
@@ -0,0 +1,20 @@
+# SKU:2712E RAM SIZE:1G STORAGE_DEVICE:NAND flash
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := auto2712-nand
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+
+BOOTAPP := blxboot
+LK_AS_BL33 := 1
+
+MODULE_SRCS += platform/mediatek/mt2712/fixup/yocto_fixup.c
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+LK_HEAP_IMPLEMENTATION=miniheap
+
+include project/auto2712-config/auto2712-ivi_agl-partition.mk
+
diff --git a/src/bsp/lk/project/auto2712e-p1v1-ivi_agl-1G-nand.mk b/src/bsp/lk/project/auto2712e-p1v1-ivi_agl-1G-nand.mk
new file mode 100644
index 0000000..737f6a2
--- /dev/null
+++ b/src/bsp/lk/project/auto2712e-p1v1-ivi_agl-1G-nand.mk
@@ -0,0 +1,22 @@
+# SKU:2712E RAM SIZE:1G STORAGE_DEVICE:NAND flash
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := auto2712-nand
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+
+DRAM_SZ := DRAM_SZ_1G
+DRAM_BW := DRAM_BW_32BIT
+CA35_FREQ := CA35_FREQ_806MHZ
+CA72_FREQ := CA72_FREQ_1001MHZ
+
+BOOTAPP := blxboot
+ENABLE_BUILTIN_BL33 := 0
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+LK_HEAP_IMPLEMENTATION=miniheap
+
+include project/auto2712-config/auto2712-ivi_agl-partition.mk
diff --git a/src/bsp/lk/project/auto2712e-p1v1-ivi_agl-2G-emmc-bl33.mk b/src/bsp/lk/project/auto2712e-p1v1-ivi_agl-2G-emmc-bl33.mk
new file mode 100644
index 0000000..9935cd4
--- /dev/null
+++ b/src/bsp/lk/project/auto2712e-p1v1-ivi_agl-2G-emmc-bl33.mk
@@ -0,0 +1,19 @@
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := auto2712-emmc
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+
+BOOTAPP := blxboot
+LK_AS_BL33 := 1
+
+MODULE_SRCS += platform/mediatek/mt2712/fixup/yocto_fixup.c
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+LK_HEAP_IMPLEMENTATION=miniheap
+
+include project/auto2712-config/auto2712-ivi_agl-partition.mk
+
diff --git a/src/bsp/lk/project/auto2712e-p1v1-ivi_agl-2G-emmc.mk b/src/bsp/lk/project/auto2712e-p1v1-ivi_agl-2G-emmc.mk
new file mode 100644
index 0000000..8e53c2b
--- /dev/null
+++ b/src/bsp/lk/project/auto2712e-p1v1-ivi_agl-2G-emmc.mk
@@ -0,0 +1,22 @@
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := auto2712-emmc
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+
+DRAM_SZ := DRAM_SZ_2G
+DRAM_BW := DRAM_BW_64BIT
+CA35_FREQ := CA35_FREQ_806MHZ
+CA72_FREQ := CA72_FREQ_1001MHZ
+
+BOOTAPP := blxboot
+ENABLE_BUILTIN_BL33 := 0
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+LK_HEAP_IMPLEMENTATION=miniheap
+
+include project/auto2712-config/auto2712-ivi_agl-partition.mk
+
diff --git a/src/bsp/lk/project/auto2712e-p1v1-ivi_agl-2G-sdboot-bl33.mk b/src/bsp/lk/project/auto2712e-p1v1-ivi_agl-2G-sdboot-bl33.mk
new file mode 100644
index 0000000..579c7cb
--- /dev/null
+++ b/src/bsp/lk/project/auto2712e-p1v1-ivi_agl-2G-sdboot-bl33.mk
@@ -0,0 +1,18 @@
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := auto2712-sdboot
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+
+BOOTAPP := blxboot
+LK_AS_BL33 := 1
+
+MODULE_SRCS += platform/mediatek/mt2712/fixup/yocto_fixup.c
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+LK_HEAP_IMPLEMENTATION=miniheap
+
+include project/auto2712-config/auto2712-ivi_agl-partition.mk
diff --git a/src/bsp/lk/project/auto2712e-p1v1-ivi_agl-2G-sdboot.mk b/src/bsp/lk/project/auto2712e-p1v1-ivi_agl-2G-sdboot.mk
new file mode 100644
index 0000000..f7cb461
--- /dev/null
+++ b/src/bsp/lk/project/auto2712e-p1v1-ivi_agl-2G-sdboot.mk
@@ -0,0 +1,21 @@
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := auto2712-sdboot
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+
+DRAM_SZ := DRAM_SZ_2G
+DRAM_BW := DRAM_BW_64BIT
+CA35_FREQ := CA35_FREQ_806MHZ
+CA72_FREQ := CA72_FREQ_1001MHZ
+
+BOOTAPP := blxboot
+ENABLE_BUILTIN_BL33 := 0
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+LK_HEAP_IMPLEMENTATION=miniheap
+
+include project/auto2712-config/auto2712-ivi_agl-partition.mk
diff --git a/src/bsp/lk/project/auto2712fpga-ivi.mk b/src/bsp/lk/project/auto2712fpga-ivi.mk
new file mode 100644
index 0000000..2498162
--- /dev/null
+++ b/src/bsp/lk/project/auto2712fpga-ivi.mk
@@ -0,0 +1,15 @@
+# main project for auto2712fpga-ivi
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := auto2712fpga-ivi
+WITH_KERNEL_VM := 0
+WITH_LINKER_GC := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+MODULES += \
+        app/fitboot \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/auto2712h-p1v1-4G-emmc-bl33.mk b/src/bsp/lk/project/auto2712h-p1v1-4G-emmc-bl33.mk
new file mode 100644
index 0000000..89c100f
--- /dev/null
+++ b/src/bsp/lk/project/auto2712h-p1v1-4G-emmc-bl33.mk
@@ -0,0 +1,31 @@
+# SKU:2712h RAM SIZE:4G STORAGE_DEVICE:eMMC
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := auto2712-emmc
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+WITH_SMP := 1
+
+LK_AS_BL33 := 1
+BOOTAPP := blxboot
+
+# enable to load the bootimg within android boot image header format
+ENABLE_ANDROID_BOOTIMG_SUPPORT := 1
+
+# enable bcb recovery mode
+BCB_RECOVERY_SUPPORT := 1
+
+MODULE_SRCS += platform/mediatek/mt2712/fixup/android_fixup.c
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+ifneq (, $(filter yes, $(MTK_MRDUMP_SUPPORT) $(MTK_KEDUMP_MINI_SUPPORT) $(MTK_BOOT_REASON_SUPPORT)))
+MODULE_DEPS += \
+    lib/aee
+endif
+
+LK_HEAP_IMPLEMENTATION=miniheap
+
+include project/auto2712-config/auto2712-android-partition.mk
diff --git a/src/bsp/lk/project/auto2712h-p1v1-4G-emmc.mk b/src/bsp/lk/project/auto2712h-p1v1-4G-emmc.mk
new file mode 100644
index 0000000..8aa217f
--- /dev/null
+++ b/src/bsp/lk/project/auto2712h-p1v1-4G-emmc.mk
@@ -0,0 +1,23 @@
+# SKU:2712h RAM SIZE:4G STORAGE_DEVICE:eMMC
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := auto2712-emmc
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+
+CA35_FREQ := CA35_FREQ_806MHZ
+CA72_FREQ := CA72_FREQ_1391MHZ
+
+DRAM_SZ := DRAM_SZ_4G
+DRAM_BW := DRAM_BW_64BIT
+
+# enable bcb recovery mode
+BCB_RECOVERY_SUPPORT := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+LK_HEAP_IMPLEMENTATION=miniheap
+
+include project/auto2712-config/auto2712-android-partition.mk
diff --git a/src/bsp/lk/project/auto2712h-p1v1-4G-emmc_ab-bl33.mk b/src/bsp/lk/project/auto2712h-p1v1-4G-emmc_ab-bl33.mk
new file mode 100644
index 0000000..90d2511
--- /dev/null
+++ b/src/bsp/lk/project/auto2712h-p1v1-4G-emmc_ab-bl33.mk
@@ -0,0 +1,31 @@
+# SKU: 2712h RAM SIZE:4G STORAGE_DEVICE:eMMC
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := auto2712-emmc
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+WITH_SMP := 1
+
+LK_AS_BL33 := 1
+BOOTAPP := blxboot
+
+# enable to load the bootimg within android boot image header format
+ENABLE_ANDROID_BOOTIMG_SUPPORT := 1
+
+# enable bcb recovery mode
+BCB_RECOVERY_SUPPORT := 1
+
+MODULE_SRCS += platform/mediatek/mt2712/fixup/android_fixup.c
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+ifneq (, $(filter yes, $(MTK_MRDUMP_SUPPORT) $(MTK_KEDUMP_MINI_SUPPORT) $(MTK_BOOT_REASON_SUPPORT)))
+MODULE_DEPS += \
+    lib/aee
+endif
+
+LK_HEAP_IMPLEMENTATION=miniheap
+
+include project/auto2712-config/auto2712-android-partition_ab.mk
diff --git a/src/bsp/lk/project/auto2712h-p1v1-4G-emmc_ab.mk b/src/bsp/lk/project/auto2712h-p1v1-4G-emmc_ab.mk
new file mode 100644
index 0000000..b99ba0c
--- /dev/null
+++ b/src/bsp/lk/project/auto2712h-p1v1-4G-emmc_ab.mk
@@ -0,0 +1,29 @@
+# SKU:2712h RAM SIZE:4G STORAGE_DEVICE:eMMC
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := auto2712-emmc
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+MTK_TINYSYS_SCP_SUPPORT := 1
+
+CA35_FREQ := CA35_FREQ_1196MHZ
+CA72_FREQ := CA72_FREQ_1391MHZ
+BOOTAPP := blxboot
+ENABLE_BUILTIN_BL33 := 0
+DRAM_SZ := DRAM_SZ_4G
+DRAM_BW := DRAM_BW_64BIT
+
+# enable bcb recovery mode
+BCB_RECOVERY_SUPPORT := 1
+
+# UltraFastRVC project settings
+SCP_CFG_VA = 0xfffffff04e800000
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1 \
+    SCP_CFG_VA=$(SCP_CFG_VA)
+
+LK_HEAP_IMPLEMENTATION=miniheap
+
+include project/auto2712-config/auto2712-android-partition_ab.mk
diff --git a/src/bsp/lk/project/auto2712h-p2v2-2G-emmc-bl33.mk b/src/bsp/lk/project/auto2712h-p2v2-2G-emmc-bl33.mk
new file mode 100644
index 0000000..f7632fb
--- /dev/null
+++ b/src/bsp/lk/project/auto2712h-p2v2-2G-emmc-bl33.mk
@@ -0,0 +1,30 @@
+#SKU: 2712h RAM SIZE:2G STORAGE_DEVICE:eMMC
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := auto2712-emmc
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+
+LK_AS_BL33 := 1
+BOOTAPP := blxboot
+
+MODULE_SRCS += platform/mediatek/mt2712/fixup/android_fixup.c
+
+# enable to load the bootimg within android boot image header format
+ENABLE_ANDROID_BOOTIMG_SUPPORT := 1
+
+# enable bcb recovery mode
+BCB_RECOVERY_SUPPORT := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+ifneq (, $(filter yes, $(MTK_MRDUMP_SUPPORT) $(MTK_KEDUMP_MINI_SUPPORT) $(MTK_BOOT_REASON_SUPPORT)))
+MODULE_DEPS += \
+    lib/aee
+endif
+
+LK_HEAP_IMPLEMENTATION=miniheap
+
+include project/auto2712-config/auto2712-android-partition.mk
diff --git a/src/bsp/lk/project/auto2712h-p2v2-2G-emmc.mk b/src/bsp/lk/project/auto2712h-p2v2-2G-emmc.mk
new file mode 100644
index 0000000..21cd645
--- /dev/null
+++ b/src/bsp/lk/project/auto2712h-p2v2-2G-emmc.mk
@@ -0,0 +1,30 @@
+# SKU:2712h RAM SIZE:2G STORAGE_DEVICE:eMMC
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := auto2712-emmc
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+MTK_TINYSYS_SCP_SUPPORT := 1
+
+CA35_FREQ := CA35_FREQ_1196MHZ
+CA72_FREQ := CA72_FREQ_1391MHZ
+
+DRAM_SZ := DRAM_SZ_2G
+DRAM_BW := DRAM_BW_64BIT
+BOOTAPP := blxboot
+ENABLE_BUILTIN_BL33 := 0
+
+# enable bcb recovery mode
+BCB_RECOVERY_SUPPORT := 1
+
+# UltraFastRVC project settings
+SCP_CFG_VA = 0xfffffff04e800000
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1 \
+    SCP_CFG_VA=$(SCP_CFG_VA)
+
+LK_HEAP_IMPLEMENTATION=miniheap
+
+include project/auto2712-config/auto2712-android-partition.mk
diff --git a/src/bsp/lk/project/auto2712h-p2v2-2G-emmc_ab-bl33.mk b/src/bsp/lk/project/auto2712h-p2v2-2G-emmc_ab-bl33.mk
new file mode 100644
index 0000000..b3fa79a
--- /dev/null
+++ b/src/bsp/lk/project/auto2712h-p2v2-2G-emmc_ab-bl33.mk
@@ -0,0 +1,30 @@
+#SKU: 2712h RAM SIZE:2G STORAGE_DEVICE:eMMC
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := auto2712-emmc
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+
+LK_AS_BL33 := 1
+BOOTAPP := blxboot
+
+# enable to load the bootimg within android boot image header format
+ENABLE_ANDROID_BOOTIMG_SUPPORT := 1
+
+# enable bcb recovery mode
+BCB_RECOVERY_SUPPORT := 1
+
+MODULE_SRCS += platform/mediatek/mt2712/fixup/android_fixup.c
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+ifneq (, $(filter yes, $(MTK_MRDUMP_SUPPORT) $(MTK_KEDUMP_MINI_SUPPORT) $(MTK_BOOT_REASON_SUPPORT)))
+MODULE_DEPS += \
+    lib/aee
+endif
+
+LK_HEAP_IMPLEMENTATION=miniheap
+
+include project/auto2712-config/auto2712-android-partition_ab.mk
diff --git a/src/bsp/lk/project/auto2712h-p2v2-2G-emmc_ab.mk b/src/bsp/lk/project/auto2712h-p2v2-2G-emmc_ab.mk
new file mode 100644
index 0000000..d53aa9a
--- /dev/null
+++ b/src/bsp/lk/project/auto2712h-p2v2-2G-emmc_ab.mk
@@ -0,0 +1,29 @@
+# SKU:2712h RAM SIZE:2G STORAGE_DEVICE:eMMC
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := auto2712-emmc
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+MTK_TINYSYS_SCP_SUPPORT := 1
+
+CA35_FREQ := CA35_FREQ_1196MHZ
+CA72_FREQ := CA72_FREQ_1391MHZ
+BOOTAPP := blxboot
+ENABLE_BUILTIN_BL33 := 0
+DRAM_SZ := DRAM_SZ_2G
+DRAM_BW := DRAM_BW_64BIT
+
+# enable bcb recovery mode
+BCB_RECOVERY_SUPPORT := 1
+
+# UltraFastRVC project settings
+SCP_CFG_VA = 0xfffffff04e800000
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1 \
+    SCP_CFG_VA=$(SCP_CFG_VA)
+
+LK_HEAP_IMPLEMENTATION=miniheap
+
+include project/auto2712-config/auto2712-android-partition_ab.mk
diff --git a/src/bsp/lk/project/auto2712m-p1v1-2G-emmc-bl33.mk b/src/bsp/lk/project/auto2712m-p1v1-2G-emmc-bl33.mk
new file mode 100644
index 0000000..212e5de
--- /dev/null
+++ b/src/bsp/lk/project/auto2712m-p1v1-2G-emmc-bl33.mk
@@ -0,0 +1,30 @@
+# SKU:2712m RAM SIZE:2G STORAGE_DEVICE:eMMC
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := auto2712-emmc
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+
+LK_AS_BL33 := 1
+BOOTAPP := blxboot
+
+# enable to load the bootimg within android boot image header format
+ENABLE_ANDROID_BOOTIMG_SUPPORT := 1
+
+# enable bcb recovery mode
+BCB_RECOVERY_SUPPORT := 1
+
+MODULE_SRCS += platform/mediatek/mt2712/fixup/android_fixup.c
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+ifneq (, $(filter yes, $(MTK_MRDUMP_SUPPORT) $(MTK_KEDUMP_MINI_SUPPORT) $(MTK_BOOT_REASON_SUPPORT)))
+MODULE_DEPS += \
+    lib/aee
+endif
+
+LK_HEAP_IMPLEMENTATION=miniheap
+
+include project/auto2712-config/auto2712-android-partition.mk
diff --git a/src/bsp/lk/project/auto2712m-p1v1-2G-emmc.mk b/src/bsp/lk/project/auto2712m-p1v1-2G-emmc.mk
new file mode 100644
index 0000000..6945c3c
--- /dev/null
+++ b/src/bsp/lk/project/auto2712m-p1v1-2G-emmc.mk
@@ -0,0 +1,29 @@
+# SKU:2712m RAM SIZE:2G STORAGE_DEVICE:eMMC
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := auto2712-emmc
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+
+CA35_FREQ := CA35_FREQ_1196MHZ
+CA72_FREQ := CA72_FREQ_1196MHZ
+BOOTAPP := blxboot
+ENABLE_BUILTIN_BL33 := 0
+DRAM_SZ := DRAM_SZ_2G
+DRAM_BW := DRAM_BW_32BIT
+
+# enable bcb recovery mode
+BCB_RECOVERY_SUPPORT := 1
+
+# UltraFastRVC project settings
+SCP_CFG_VA = 0xfffffff04e800000
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1 \
+    SCP_CFG_VA=$(SCP_CFG_VA)
+
+LK_HEAP_IMPLEMENTATION=miniheap
+#MTK_TINYSYS_SCP_SUPPORT := 1
+
+include project/auto2712-config/auto2712-android-partition.mk
diff --git a/src/bsp/lk/project/auto2712m1v1-ivi-nand.mk b/src/bsp/lk/project/auto2712m1v1-ivi-nand.mk
new file mode 100644
index 0000000..dbb3ca3
--- /dev/null
+++ b/src/bsp/lk/project/auto2712m1v1-ivi-nand.mk
@@ -0,0 +1,17 @@
+# main project for auto2712m1v1-ivi-nand
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := auto2712m1v1-ivi-nand
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+
+DRAM_SZ := DRAM_SZ_1G
+DRAM_BW := DRAM_BW_32BIT
+
+CA35_FREQ := CA35_FREQ_806MHZ
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/auto2712m1v1-ivi-sdboot.mk b/src/bsp/lk/project/auto2712m1v1-ivi-sdboot.mk
new file mode 100644
index 0000000..159060a
--- /dev/null
+++ b/src/bsp/lk/project/auto2712m1v1-ivi-sdboot.mk
@@ -0,0 +1,14 @@
+# main project for auto2712m1v1-ivi
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := auto2712m1v1-ivi-sdboot
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+
+DRAM_SZ := DRAM_SZ_2G
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/auto2712m1v1-ivi-vp1.mk b/src/bsp/lk/project/auto2712m1v1-ivi-vp1.mk
new file mode 100644
index 0000000..59e2232
--- /dev/null
+++ b/src/bsp/lk/project/auto2712m1v1-ivi-vp1.mk
@@ -0,0 +1,15 @@
+# main project for auto2712m1v1-ivi-vp1
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := auto2712m1v1-ivi-emmc
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+
+DRAM_SZ := DRAM_SZ_2G
+CA35_FREQ := CA35_FREQ_1196MHZ
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/auto2712m1v1-ivi-vp3.mk b/src/bsp/lk/project/auto2712m1v1-ivi-vp3.mk
new file mode 100644
index 0000000..948ad99
--- /dev/null
+++ b/src/bsp/lk/project/auto2712m1v1-ivi-vp3.mk
@@ -0,0 +1,14 @@
+# main project for auto2712m1v1-ivi-vp3
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := auto2712m1v1-ivi
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+
+CA35_FREQ := CA35_FREQ_1196MHZ
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/auto2712m1v1-ivi.mk b/src/bsp/lk/project/auto2712m1v1-ivi.mk
new file mode 100644
index 0000000..66207c8
--- /dev/null
+++ b/src/bsp/lk/project/auto2712m1v1-ivi.mk
@@ -0,0 +1,15 @@
+# main project for auto2712m1v1-ivi
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := auto2712m1v1-ivi
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+
+DRAM_SZ := DRAM_SZ_2G
+CA35_FREQ := CA35_FREQ_806MHZ
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/auto2712p-p1v1-ivi_agl-4G-nor_emmc-bl33.mk b/src/bsp/lk/project/auto2712p-p1v1-ivi_agl-4G-nor_emmc-bl33.mk
new file mode 100644
index 0000000..9712b44
--- /dev/null
+++ b/src/bsp/lk/project/auto2712p-p1v1-ivi_agl-4G-nor_emmc-bl33.mk
@@ -0,0 +1,18 @@
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := auto2712-nor_emmc
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+
+BOOTAPP := blxboot
+LK_AS_BL33 := 1
+
+MODULE_SRCS += platform/mediatek/mt2712/fixup/yocto_fixup.c
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+LK_HEAP_IMPLEMENTATION=miniheap
+
+include project/auto2712-config/auto2712-ivi_agl-partition.mk
diff --git a/src/bsp/lk/project/auto2712p-p1v1-ivi_agl-4G-nor_emmc.mk b/src/bsp/lk/project/auto2712p-p1v1-ivi_agl-4G-nor_emmc.mk
new file mode 100644
index 0000000..f912b4c
--- /dev/null
+++ b/src/bsp/lk/project/auto2712p-p1v1-ivi_agl-4G-nor_emmc.mk
@@ -0,0 +1,22 @@
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := auto2712-nor_emmc
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+
+CA35_FREQ := CA35_FREQ_1196MHZ
+CA72_FREQ := CA72_FREQ_1599MHZ
+
+DRAM_SZ := DRAM_SZ_4G
+DRAM_BW := DRAM_BW_64BIT
+
+BOOTAPP := blxboot
+ENABLE_BUILTIN_BL33 := 0
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+LK_HEAP_IMPLEMENTATION=miniheap
+
+include project/auto2712-config/auto2712-ivi_agl-partition.mk
diff --git a/src/bsp/lk/project/auto2712p-p1v1-ivi_agl-4G-nor_emmc_ab-bl33.mk b/src/bsp/lk/project/auto2712p-p1v1-ivi_agl-4G-nor_emmc_ab-bl33.mk
new file mode 100644
index 0000000..bd40659
--- /dev/null
+++ b/src/bsp/lk/project/auto2712p-p1v1-ivi_agl-4G-nor_emmc_ab-bl33.mk
@@ -0,0 +1,18 @@
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := auto2712-nor_emmc
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+
+BOOTAPP := blxboot
+LK_AS_BL33 := 1
+
+MODULE_SRCS += platform/mediatek/mt2712/fixup/yocto_fixup.c
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+LK_HEAP_IMPLEMENTATION=miniheap
+
+include project/auto2712-config/auto2712-ivi_agl-partition_ab.mk
diff --git a/src/bsp/lk/project/auto2712p-p1v1-ivi_agl-4G-nor_emmc_ab.mk b/src/bsp/lk/project/auto2712p-p1v1-ivi_agl-4G-nor_emmc_ab.mk
new file mode 100644
index 0000000..8bcb529
--- /dev/null
+++ b/src/bsp/lk/project/auto2712p-p1v1-ivi_agl-4G-nor_emmc_ab.mk
@@ -0,0 +1,25 @@
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := auto2712-nor_emmc
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+
+CA35_FREQ := CA35_FREQ_1196MHZ
+CA72_FREQ := CA72_FREQ_1599MHZ
+
+DRAM_SZ := DRAM_SZ_4G
+DRAM_BW := DRAM_BW_64BIT
+
+BOOTAPP := blxboot
+ENABLE_BUILTIN_BL33 := 0
+
+# Function safety project settings
+MTK_TINYSYS_SCP_FUNCTION_SAFETY := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+LK_HEAP_IMPLEMENTATION=miniheap
+
+include project/auto2712-config/auto2712-ivi_agl-partition_ab.mk
diff --git a/src/bsp/lk/project/auto2712s-p1v1-4G-nor_emmc-bl33.mk b/src/bsp/lk/project/auto2712s-p1v1-4G-nor_emmc-bl33.mk
new file mode 100644
index 0000000..cd7369c
--- /dev/null
+++ b/src/bsp/lk/project/auto2712s-p1v1-4G-nor_emmc-bl33.mk
@@ -0,0 +1,31 @@
+#SKU: 2712S RAM SIZE:4G STORAGE_DEVICE:Nor flash- LK/TEE eMMC:others image such as boot.img
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := auto2712-nor_emmc
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+
+LK_AS_BL33 := 1
+BOOTAPP := blxboot
+ENABLE_SLAVE_CPU_LOAD := 1
+
+# enable to load the bootimg within android boot image header format
+ENABLE_ANDROID_BOOTIMG_SUPPORT := 1
+
+#enable bcb recovery mode
+BCB_RECOVERY_SUPPORT := 1
+
+MODULE_SRCS += platform/mediatek/mt2712/fixup/android_fixup.c
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+ifneq (, $(filter yes, $(MTK_MRDUMP_SUPPORT) $(MTK_KEDUMP_MINI_SUPPORT) $(MTK_BOOT_REASON_SUPPORT)))
+MODULE_DEPS += \
+    lib/aee
+endif
+
+LK_HEAP_IMPLEMENTATION=miniheap
+
+include project/auto2712-config/auto2712-android-partition.mk
diff --git a/src/bsp/lk/project/auto2712s-p1v1-4G-nor_emmc.mk b/src/bsp/lk/project/auto2712s-p1v1-4G-nor_emmc.mk
new file mode 100644
index 0000000..f63a9ea
--- /dev/null
+++ b/src/bsp/lk/project/auto2712s-p1v1-4G-nor_emmc.mk
@@ -0,0 +1,30 @@
+# SKU:2712S RAM SIZE:4G STORAGE_DEVICE:Nor flash- LK/TEE eMMC:others image such as boot.img
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := auto2712-nor_emmc
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+
+CA35_FREQ := CA35_FREQ_1196MHZ
+CA72_FREQ := CA72_FREQ_1495MHZ
+BOOTAPP := blxboot
+ENABLE_BUILTIN_BL33 := 0
+
+DRAM_SZ := DRAM_SZ_4G
+DRAM_BW := DRAM_BW_64BIT
+
+# enable bcb recovery mode
+BCB_RECOVERY_SUPPORT := 1
+
+# UltraFastRVC project settings
+#SCP_CFG_VA = 0xfffffff04e800000
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1 \
+#    SCP_CFG_VA=$(SCP_CFG_VA)
+
+LK_HEAP_IMPLEMENTATION=miniheap
+#MTK_TINYSYS_SCP_SUPPORT := 1
+
+include project/auto2712-config/auto2712-android-partition.mk
diff --git a/src/bsp/lk/project/auto2712s-p1v1-4G-nor_emmc_ab-bl33.mk b/src/bsp/lk/project/auto2712s-p1v1-4G-nor_emmc_ab-bl33.mk
new file mode 100644
index 0000000..7af11c1
--- /dev/null
+++ b/src/bsp/lk/project/auto2712s-p1v1-4G-nor_emmc_ab-bl33.mk
@@ -0,0 +1,31 @@
+# SKU:2712S RAM SIZE:4G STORAGE_DEVICE:Nor flash- LK/TEE eMMC:others image such as boot.img
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := auto2712-nor_emmc
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+
+LK_AS_BL33 := 1
+BOOTAPP := blxboot
+ENABLE_SLAVE_CPU_LOAD := 1
+
+# enable to load the bootimg within android boot image header format
+ENABLE_ANDROID_BOOTIMG_SUPPORT := 1
+
+# enable bcb recovery mode
+BCB_RECOVERY_SUPPORT := 1
+
+MODULE_SRCS += platform/mediatek/mt2712/fixup/android_fixup.c
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+ifneq (, $(filter yes, $(MTK_MRDUMP_SUPPORT) $(MTK_KEDUMP_MINI_SUPPORT) $(MTK_BOOT_REASON_SUPPORT)))
+MODULE_DEPS += \
+    lib/aee
+endif
+
+LK_HEAP_IMPLEMENTATION=miniheap
+
+include project/auto2712-config/auto2712-android-partition_ab.mk
diff --git a/src/bsp/lk/project/auto2712s-p1v1-4G-nor_emmc_ab.mk b/src/bsp/lk/project/auto2712s-p1v1-4G-nor_emmc_ab.mk
new file mode 100644
index 0000000..14e2731
--- /dev/null
+++ b/src/bsp/lk/project/auto2712s-p1v1-4G-nor_emmc_ab.mk
@@ -0,0 +1,26 @@
+# SKU:2712S RAM SIZE:4G STORAGE_DEVICE:Nor flash- LK/TEE eMMC:others image such as boot.img
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := auto2712-nor_emmc
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+
+CA35_FREQ := CA35_FREQ_1196MHZ
+CA72_FREQ := CA72_FREQ_1495MHZ
+BOOTAPP := blxboot
+ENABLE_BUILTIN_BL33 := 0
+
+DRAM_SZ := DRAM_SZ_4G
+
+# enable bcb recovery mode
+BCB_RECOVERY_SUPPORT := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1 \
+
+
+LK_HEAP_IMPLEMENTATION=miniheap
+
+
+include project/auto2712-config/auto2712-android-partition_ab.mk
diff --git a/src/bsp/lk/project/auto2712s-p1v1-ivi_agl-4G-nor_emmc-bl33.mk b/src/bsp/lk/project/auto2712s-p1v1-ivi_agl-4G-nor_emmc-bl33.mk
new file mode 100644
index 0000000..e53adec
--- /dev/null
+++ b/src/bsp/lk/project/auto2712s-p1v1-ivi_agl-4G-nor_emmc-bl33.mk
@@ -0,0 +1,19 @@
+# SKU:2712S RAM SIZE:4G STORAGE_DEVICE:Nor flash- LK/TEE eMMC:others image such as boot.img
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := auto2712-nor_emmc
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+
+BOOTAPP := blxboot
+LK_AS_BL33 := 1
+
+MODULE_SRCS += platform/mediatek/mt2712/fixup/yocto_fixup.c
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+LK_HEAP_IMPLEMENTATION=miniheap
+
+include project/auto2712-config/auto2712-ivi_agl-partition.mk
diff --git a/src/bsp/lk/project/auto2712s-p1v1-ivi_agl-4G-nor_emmc.mk b/src/bsp/lk/project/auto2712s-p1v1-ivi_agl-4G-nor_emmc.mk
new file mode 100644
index 0000000..bd48ae8
--- /dev/null
+++ b/src/bsp/lk/project/auto2712s-p1v1-ivi_agl-4G-nor_emmc.mk
@@ -0,0 +1,22 @@
+# SKU:2712S RAM SIZE:4G STORAGE_DEVICE:Nor flash- LK/TEE eMMC:others image such as boot.img
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := auto2712-nor_emmc
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+
+CA35_FREQ := CA35_FREQ_1196MHZ
+CA72_FREQ := CA72_FREQ_1495MHZ
+
+DRAM_SZ := DRAM_SZ_4G
+
+BOOTAPP := blxboot
+ENABLE_BUILTIN_BL33 := 0
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+LK_HEAP_IMPLEMENTATION=miniheap
+
+include project/auto2712-config/auto2712-ivi_agl-partition.mk
diff --git a/src/bsp/lk/project/auto2712s-p1v1-ivi_agl-4G-nor_emmc_ab-bl33.mk b/src/bsp/lk/project/auto2712s-p1v1-ivi_agl-4G-nor_emmc_ab-bl33.mk
new file mode 100644
index 0000000..b06899c
--- /dev/null
+++ b/src/bsp/lk/project/auto2712s-p1v1-ivi_agl-4G-nor_emmc_ab-bl33.mk
@@ -0,0 +1,19 @@
+# SKU:2712S RAM SIZE:4G STORAGE_DEVICE:Nor flash- LK/TEE eMMC:others image such as boot.img
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := auto2712-nor_emmc
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+
+BOOTAPP := blxboot
+LK_AS_BL33 := 1
+
+MODULE_SRCS += platform/mediatek/mt2712/fixup/yocto_fixup.c
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+LK_HEAP_IMPLEMENTATION=miniheap
+
+include project/auto2712-config/auto2712-ivi_agl-partition_ab.mk
diff --git a/src/bsp/lk/project/auto2712s-p1v1-ivi_agl-4G-nor_emmc_ab.mk b/src/bsp/lk/project/auto2712s-p1v1-ivi_agl-4G-nor_emmc_ab.mk
new file mode 100644
index 0000000..87a9e8d
--- /dev/null
+++ b/src/bsp/lk/project/auto2712s-p1v1-ivi_agl-4G-nor_emmc_ab.mk
@@ -0,0 +1,27 @@
+# SKU:2712S RAM SIZE:4G STORAGE_DEVICE:Nor flash- LK/TEE eMMC:others image such as boot.img
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := auto2712-nor_emmc
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+
+CA35_FREQ := CA35_FREQ_1196MHZ
+CA72_FREQ := CA72_FREQ_1495MHZ
+
+DRAM_SZ := DRAM_SZ_4G
+
+BOOTAPP := blxboot
+ENABLE_BUILTIN_BL33 := 0
+
+MTK_TINYSYS_SCP_SUPPORT := 1
+# UltraFastRVC project settings
+SCP_CFG_VA = 0xfffffff04e800000
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1 \
+    SCP_CFG_VA=$(SCP_CFG_VA)
+
+LK_HEAP_IMPLEMENTATION=miniheap
+
+include project/auto2712-config/auto2712-ivi_agl-partition_ab.mk
diff --git a/src/bsp/lk/project/auto2712s-p2v2-4G-nor_emmc-bl33.mk b/src/bsp/lk/project/auto2712s-p2v2-4G-nor_emmc-bl33.mk
new file mode 100644
index 0000000..cd7369c
--- /dev/null
+++ b/src/bsp/lk/project/auto2712s-p2v2-4G-nor_emmc-bl33.mk
@@ -0,0 +1,31 @@
+#SKU: 2712S RAM SIZE:4G STORAGE_DEVICE:Nor flash- LK/TEE eMMC:others image such as boot.img
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := auto2712-nor_emmc
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+
+LK_AS_BL33 := 1
+BOOTAPP := blxboot
+ENABLE_SLAVE_CPU_LOAD := 1
+
+# enable to load the bootimg within android boot image header format
+ENABLE_ANDROID_BOOTIMG_SUPPORT := 1
+
+#enable bcb recovery mode
+BCB_RECOVERY_SUPPORT := 1
+
+MODULE_SRCS += platform/mediatek/mt2712/fixup/android_fixup.c
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+ifneq (, $(filter yes, $(MTK_MRDUMP_SUPPORT) $(MTK_KEDUMP_MINI_SUPPORT) $(MTK_BOOT_REASON_SUPPORT)))
+MODULE_DEPS += \
+    lib/aee
+endif
+
+LK_HEAP_IMPLEMENTATION=miniheap
+
+include project/auto2712-config/auto2712-android-partition.mk
diff --git a/src/bsp/lk/project/auto2712s-p2v2-4G-nor_emmc.mk b/src/bsp/lk/project/auto2712s-p2v2-4G-nor_emmc.mk
new file mode 100644
index 0000000..f63a9ea
--- /dev/null
+++ b/src/bsp/lk/project/auto2712s-p2v2-4G-nor_emmc.mk
@@ -0,0 +1,30 @@
+# SKU:2712S RAM SIZE:4G STORAGE_DEVICE:Nor flash- LK/TEE eMMC:others image such as boot.img
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := auto2712-nor_emmc
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+
+CA35_FREQ := CA35_FREQ_1196MHZ
+CA72_FREQ := CA72_FREQ_1495MHZ
+BOOTAPP := blxboot
+ENABLE_BUILTIN_BL33 := 0
+
+DRAM_SZ := DRAM_SZ_4G
+DRAM_BW := DRAM_BW_64BIT
+
+# enable bcb recovery mode
+BCB_RECOVERY_SUPPORT := 1
+
+# UltraFastRVC project settings
+#SCP_CFG_VA = 0xfffffff04e800000
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1 \
+#    SCP_CFG_VA=$(SCP_CFG_VA)
+
+LK_HEAP_IMPLEMENTATION=miniheap
+#MTK_TINYSYS_SCP_SUPPORT := 1
+
+include project/auto2712-config/auto2712-android-partition.mk
diff --git a/src/bsp/lk/project/auto2712s-p2v2-4G-nor_emmc_ab-bl33.mk b/src/bsp/lk/project/auto2712s-p2v2-4G-nor_emmc_ab-bl33.mk
new file mode 100644
index 0000000..7af11c1
--- /dev/null
+++ b/src/bsp/lk/project/auto2712s-p2v2-4G-nor_emmc_ab-bl33.mk
@@ -0,0 +1,31 @@
+# SKU:2712S RAM SIZE:4G STORAGE_DEVICE:Nor flash- LK/TEE eMMC:others image such as boot.img
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := auto2712-nor_emmc
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+
+LK_AS_BL33 := 1
+BOOTAPP := blxboot
+ENABLE_SLAVE_CPU_LOAD := 1
+
+# enable to load the bootimg within android boot image header format
+ENABLE_ANDROID_BOOTIMG_SUPPORT := 1
+
+# enable bcb recovery mode
+BCB_RECOVERY_SUPPORT := 1
+
+MODULE_SRCS += platform/mediatek/mt2712/fixup/android_fixup.c
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1
+
+ifneq (, $(filter yes, $(MTK_MRDUMP_SUPPORT) $(MTK_KEDUMP_MINI_SUPPORT) $(MTK_BOOT_REASON_SUPPORT)))
+MODULE_DEPS += \
+    lib/aee
+endif
+
+LK_HEAP_IMPLEMENTATION=miniheap
+
+include project/auto2712-config/auto2712-android-partition_ab.mk
diff --git a/src/bsp/lk/project/auto2712s-p2v2-4G-nor_emmc_ab.mk b/src/bsp/lk/project/auto2712s-p2v2-4G-nor_emmc_ab.mk
new file mode 100644
index 0000000..14e2731
--- /dev/null
+++ b/src/bsp/lk/project/auto2712s-p2v2-4G-nor_emmc_ab.mk
@@ -0,0 +1,26 @@
+# SKU:2712S RAM SIZE:4G STORAGE_DEVICE:Nor flash- LK/TEE eMMC:others image such as boot.img
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := auto2712-nor_emmc
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+
+CA35_FREQ := CA35_FREQ_1196MHZ
+CA72_FREQ := CA72_FREQ_1495MHZ
+BOOTAPP := blxboot
+ENABLE_BUILTIN_BL33 := 0
+
+DRAM_SZ := DRAM_SZ_4G
+
+# enable bcb recovery mode
+BCB_RECOVERY_SUPPORT := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1 \
+
+
+LK_HEAP_IMPLEMENTATION=miniheap
+
+
+include project/auto2712-config/auto2712-android-partition_ab.mk
diff --git a/src/bsp/lk/project/auto2731-config/auto2731-ivt-partition.mk b/src/bsp/lk/project/auto2731-config/auto2731-ivt-partition.mk
new file mode 100644
index 0000000..952cda8
--- /dev/null
+++ b/src/bsp/lk/project/auto2731-config/auto2731-ivt-partition.mk
@@ -0,0 +1,24 @@
+# partition definition of auto2731-ivt project

+TZ_PART_NAME := tee_a

+RECOVERY_TZ_PART_NAME = tee_b

+DTBO_PART_NAME := dtbo

+BOOT_PART_NAME := boot_a

+RECOVERY_BOOT_PART_NAME = recovery

+SPM_PART_NAME := spm

+BL33_PART_NAME := bl33

+RECOVERY_BL33_PART_NAME := bl33

+ROOTFS_PART_NAME := system

+MD_PART_NAME := md1img_a

+HSM_OS_PART_NAME := hsm_os

+

+GLOBAL_CFLAGS +=  -DTZ_PART_NAME=\"$(TZ_PART_NAME)\" \

+                  -DRECOVERY_TZ_PART_NAME=\"$(RECOVERY_TZ_PART_NAME)\" \

+                  -DDTBO_PART_NAME=\"$(DTBO_PART_NAME)\" \

+                  -DBOOT_PART_NAME=\"$(BOOT_PART_NAME)\" \

+                  -DRECOVERY_BOOT_PART_NAME=\"$(RECOVERY_BOOT_PART_NAME)\" \

+                  -DSPM_PART_NAME=\"$(SPM_PART_NAME)\" \

+                  -DBL33_PART_NAME=\"$(BL33_PART_NAME)\" \

+                  -DRECOVERY_BL33_PART_NAME=\"$(RECOVERY_BL33_PART_NAME)\" \

+                  -DROOTFS_PART_NAME=\"$(ROOTFS_PART_NAME)\" \

+                  -DMD_PART_NAME=\"$(MD_PART_NAME)\" \

+                  -DHSM_OS_PART_NAME=\"$(HSM_OS_PART_NAME)\"

diff --git a/src/bsp/lk/project/auto2731-config/auto2731-ivt-partition_ab.mk b/src/bsp/lk/project/auto2731-config/auto2731-ivt-partition_ab.mk
new file mode 100644
index 0000000..e4327fc
--- /dev/null
+++ b/src/bsp/lk/project/auto2731-config/auto2731-ivt-partition_ab.mk
@@ -0,0 +1,30 @@
+# partition definition of auto2731-ivt project

+TZ_PART_NAME := tee

+RECOVERY_TZ_PART_NAME = tee

+DTBO_PART_NAME := dtbo

+BOOT_PART_NAME := boot

+RECOVERY_BOOT_PART_NAME = recovery

+SPM_PART_NAME := spm

+BL33_PART_NAME := bl33

+RECOVERY_BL33_PART_NAME := bl33

+ROOTFS_PART_NAME := system

+MD_PART_NAME := md1img

+HSM_OS_PART_NAME := hsm_os

+

+# image ab slot definition, override app/blxboot/images_ab_config_def.mk

+# When XX_HAS_SLOT == 1, blxboot will append suffix to the XX partition name.

+BOOT_HAS_SLOT := 1

+TZ_HAS_SLOT := 1

+MD_HAS_SLOT := 1

+

+GLOBAL_CFLAGS +=  -DTZ_PART_NAME=\"$(TZ_PART_NAME)\" \

+                  -DRECOVERY_TZ_PART_NAME=\"$(RECOVERY_TZ_PART_NAME)\" \

+                  -DDTBO_PART_NAME=\"$(DTBO_PART_NAME)\" \

+                  -DBOOT_PART_NAME=\"$(BOOT_PART_NAME)\" \

+                  -DRECOVERY_BOOT_PART_NAME=\"$(RECOVERY_BOOT_PART_NAME)\" \

+                  -DSPM_PART_NAME=\"$(SPM_PART_NAME)\" \

+                  -DBL33_PART_NAME=\"$(BL33_PART_NAME)\" \

+                  -DRECOVERY_BL33_PART_NAME=\"$(RECOVERY_BL33_PART_NAME)\" \

+                  -DROOTFS_PART_NAME=\"$(ROOTFS_PART_NAME)\" \

+                  -DMD_PART_NAME=\"$(MD_PART_NAME)\" \

+                  -DHSM_OS_PART_NAME=\"$(HSM_OS_PART_NAME)\"

diff --git a/src/bsp/lk/project/auto2731evb-ivt-emmc-bl33.mk b/src/bsp/lk/project/auto2731evb-ivt-emmc-bl33.mk
new file mode 100644
index 0000000..4c8f7f2
--- /dev/null
+++ b/src/bsp/lk/project/auto2731evb-ivt-emmc-bl33.mk
@@ -0,0 +1,31 @@
+# main project for EVB emmc
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := auto2731evb-ivt-nand_emmc
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+
+SCRATCH_SIZE        ?= 0x01000000 # 16MB
+MAX_TEE_DRAM_SIZE   ?= 0x01000000 # 16MB
+MAX_KERNEL_SIZE     ?= 0x01000000 # 16MB
+MAX_SPMFW_SIZE      ?= 0x00010000 # 64KB
+MAX_MD_SIZE         ?= 0x06C00000 # 128MB-->96M-->84M-->108M
+
+CA35_FREQ := CA35_FREQ_806MHZ
+
+BOOTAPP := blxboot
+LK_AS_BL33 := 1
+BL33_DRAM_SIZE_MB := 512
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1 \
+    MAX_MD_SIZE=$(MAX_MD_SIZE)
+
+LK_HEAP_IMPLEMENTATION=miniheap
+
+ifeq ($(strip $(AB_OTA_UPDATER)),yes)
+include project/auto2731-config/auto2731-ivt-partition_ab.mk
+else
+include project/auto2731-config/auto2731-ivt-partition.mk
+endif
diff --git a/src/bsp/lk/project/auto2731evb-ivt-emmc.mk b/src/bsp/lk/project/auto2731evb-ivt-emmc.mk
new file mode 100644
index 0000000..2ba13b6
--- /dev/null
+++ b/src/bsp/lk/project/auto2731evb-ivt-emmc.mk
@@ -0,0 +1,28 @@
+# main project for EMMC evb
+ARCH := arm
+ARM_CPU := cortex-a7
+TARGET := auto2731evb-ivt-emmc-lp4
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+
+SCRATCH_SIZE        ?= 0x01000000 # 16MB
+MAX_TEE_DRAM_SIZE   ?= 0x01000000 # 16MB
+MAX_KERNEL_SIZE     ?= 0x01000000 # 16MB
+MAX_SPMFW_SIZE      ?= 0x00010000 # 64KB
+
+CA35_FREQ := CA35_FREQ_806MHZ
+
+BOOTAPP := blxboot
+ENABLE_BUILTIN_BL33 := 0
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=0
+
+LK_HEAP_IMPLEMENTATION=miniheap
+
+ifeq ($(strip $(AB_OTA_UPDATER)),yes)
+include project/auto2731-config/auto2731-ivt-partition_ab.mk
+else
+include project/auto2731-config/auto2731-ivt-partition.mk
+endif
\ No newline at end of file
diff --git a/src/bsp/lk/project/auto2731evb-ivt-mcp_nand-bl33.mk b/src/bsp/lk/project/auto2731evb-ivt-mcp_nand-bl33.mk
new file mode 100644
index 0000000..631347d
--- /dev/null
+++ b/src/bsp/lk/project/auto2731evb-ivt-mcp_nand-bl33.mk
@@ -0,0 +1,33 @@
+# main project for EVB nand
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := auto2731evb-ivt-nand_emmc
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+
+SCRATCH_SIZE        ?= 0x01000000 # 16MB
+MAX_TEE_DRAM_SIZE   ?= 0x01000000 # 16MB
+MAX_KERNEL_SIZE     ?= 0x01000000 # 16MB
+MAX_SPMFW_SIZE      ?= 0x00010000 # 64KB
+MAX_MD_SIZE         ?= 0x06C00000 # 128MB-->96M-->84M-->108M
+
+CA35_FREQ := CA35_FREQ_806MHZ
+
+BOOTAPP := blxboot
+LK_AS_BL33 := 1
+BL33_DRAM_SIZE_MB := 512
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1 \
+    MAX_MD_SIZE=$(MAX_MD_SIZE) \
+    MTK_NAND_PAGE_SIZE=2048 \
+    BOOT_DEV_NAND \
+
+LK_HEAP_IMPLEMENTATION=miniheap
+
+ifeq ($(strip $(AB_OTA_UPDATER)),yes)
+include project/auto2731-config/auto2731-ivt-partition_ab.mk
+else
+include project/auto2731-config/auto2731-ivt-partition.mk
+endif
diff --git a/src/bsp/lk/project/auto2731evb-ivt-mcp_nand.mk b/src/bsp/lk/project/auto2731evb-ivt-mcp_nand.mk
new file mode 100644
index 0000000..5ff0662
--- /dev/null
+++ b/src/bsp/lk/project/auto2731evb-ivt-mcp_nand.mk
@@ -0,0 +1,30 @@
+# main project for EVB nand
+ARCH := arm
+ARM_CPU := cortex-a7
+TARGET := auto2731evb-ivt-nand
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+
+SCRATCH_SIZE        ?= 0x01000000 # 16MB
+MAX_TEE_DRAM_SIZE   ?= 0x01000000 # 16MB
+MAX_KERNEL_SIZE     ?= 0x01000000 # 16MB
+MAX_SPMFW_SIZE      ?= 0x00010000 # 64KB
+
+CA35_FREQ := CA35_FREQ_806MHZ
+
+BOOTAPP := blxboot
+ENABLE_BUILTIN_BL33 := 0
+NAND_DEBUG := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=0 \
+    MTK_NAND_PAGE_SIZE=2048 \
+
+LK_HEAP_IMPLEMENTATION=miniheap
+
+ifeq ($(strip $(AB_OTA_UPDATER)),yes)
+include project/auto2731-config/auto2731-ivt-partition_ab.mk
+else
+include project/auto2731-config/auto2731-ivt-partition.mk
+endif
diff --git a/src/bsp/lk/project/auto2731evb-ivt-nand.mk b/src/bsp/lk/project/auto2731evb-ivt-nand.mk
new file mode 100644
index 0000000..cca3211
--- /dev/null
+++ b/src/bsp/lk/project/auto2731evb-ivt-nand.mk
@@ -0,0 +1,29 @@
+# main project for EVB nand
+ARCH := arm
+ARM_CPU := cortex-a7
+TARGET := auto2731evb-ivt-nand-lp4
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+
+SCRATCH_SIZE        ?= 0x01000000 # 16MB
+MAX_TEE_DRAM_SIZE   ?= 0x01000000 # 16MB
+MAX_KERNEL_SIZE     ?= 0x01000000 # 16MB
+MAX_SPMFW_SIZE      ?= 0x00010000 # 64KB
+
+CA35_FREQ := CA35_FREQ_806MHZ
+
+BOOTAPP := blxboot
+ENABLE_BUILTIN_BL33 := 0
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=0 \
+    MTK_NAND_PAGE_SIZE=4096 \
+
+LK_HEAP_IMPLEMENTATION=miniheap
+
+ifeq ($(strip $(AB_OTA_UPDATER)),yes)
+include project/auto2731-config/auto2731-ivt-partition_ab.mk
+else
+include project/auto2731-config/auto2731-ivt-partition.mk
+endif
diff --git a/src/bsp/lk/project/auto2731evb-ivt-test-bl33.mk b/src/bsp/lk/project/auto2731evb-ivt-test-bl33.mk
new file mode 100644
index 0000000..22b5e7d
--- /dev/null
+++ b/src/bsp/lk/project/auto2731evb-ivt-test-bl33.mk
@@ -0,0 +1,32 @@
+# main project for EVB nand
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := auto2731evb-ivt-nand_emmc
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+
+SCRATCH_SIZE        ?= 0x01000000 # 16MB
+MAX_TEE_DRAM_SIZE   ?= 0x01000000 # 16MB
+MAX_KERNEL_SIZE     ?= 0x01000000 # 16MB
+MAX_SPMFW_SIZE      ?= 0x00010000 # 64KB
+MAX_MD_SIZE         ?= 0x06C00000 # 128MB-->96M-->84M-->108M
+
+CA35_FREQ := CA35_FREQ_806MHZ
+
+BOOTAPP := blxboot
+LK_AS_BL33 := 1
+BL33_DRAM_SIZE_MB := 512
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1 \
+    MAX_MD_SIZE=$(MAX_MD_SIZE) \
+    MTK_NAND_PAGE_SIZE=4096 \
+
+LK_HEAP_IMPLEMENTATION=miniheap
+
+ifeq ($(strip $(AB_OTA_UPDATER)),yes)
+include project/auto2731-config/auto2731-ivt-partition_ab.mk
+else
+include project/auto2731-config/auto2731-ivt-partition.mk
+endif
diff --git a/src/bsp/lk/project/auto2731evb-ivt-test.mk b/src/bsp/lk/project/auto2731evb-ivt-test.mk
new file mode 100644
index 0000000..cca3211
--- /dev/null
+++ b/src/bsp/lk/project/auto2731evb-ivt-test.mk
@@ -0,0 +1,29 @@
+# main project for EVB nand
+ARCH := arm
+ARM_CPU := cortex-a7
+TARGET := auto2731evb-ivt-nand-lp4
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+
+SCRATCH_SIZE        ?= 0x01000000 # 16MB
+MAX_TEE_DRAM_SIZE   ?= 0x01000000 # 16MB
+MAX_KERNEL_SIZE     ?= 0x01000000 # 16MB
+MAX_SPMFW_SIZE      ?= 0x00010000 # 64KB
+
+CA35_FREQ := CA35_FREQ_806MHZ
+
+BOOTAPP := blxboot
+ENABLE_BUILTIN_BL33 := 0
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=0 \
+    MTK_NAND_PAGE_SIZE=4096 \
+
+LK_HEAP_IMPLEMENTATION=miniheap
+
+ifeq ($(strip $(AB_OTA_UPDATER)),yes)
+include project/auto2731-config/auto2731-ivt-partition_ab.mk
+else
+include project/auto2731-config/auto2731-ivt-partition.mk
+endif
diff --git a/src/bsp/lk/project/auto2731evb-ivt-vp3-bl33.mk b/src/bsp/lk/project/auto2731evb-ivt-vp3-bl33.mk
new file mode 100644
index 0000000..1ad0a8a
--- /dev/null
+++ b/src/bsp/lk/project/auto2731evb-ivt-vp3-bl33.mk
@@ -0,0 +1,33 @@
+# main project for EVB nand
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := auto2731evb-ivt-nand_emmc
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+
+SCRATCH_SIZE        ?= 0x01000000 # 16MB
+MAX_TEE_DRAM_SIZE   ?= 0x01000000 # 16MB
+MAX_KERNEL_SIZE     ?= 0x01000000 # 16MB
+MAX_SPMFW_SIZE      ?= 0x00010000 # 64KB
+MAX_MD_SIZE         ?= 0x06C00000 # 128MB-->96M-->84M-->108M
+
+CA35_FREQ := CA35_FREQ_806MHZ
+
+BOOTAPP := blxboot
+LK_AS_BL33 := 1
+BL33_DRAM_SIZE_MB := 512
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1 \
+    MAX_MD_SIZE=$(MAX_MD_SIZE) \
+    MTK_NAND_PAGE_SIZE=4096 \
+    BOOT_DEV_NAND \
+
+LK_HEAP_IMPLEMENTATION=miniheap
+
+ifeq ($(strip $(AB_OTA_UPDATER)),yes)
+include project/auto2731-config/auto2731-ivt-partition_ab.mk
+else
+include project/auto2731-config/auto2731-ivt-partition.mk
+endif
diff --git a/src/bsp/lk/project/auto2731evb-ivt-vp3.mk b/src/bsp/lk/project/auto2731evb-ivt-vp3.mk
new file mode 100644
index 0000000..ae489de
--- /dev/null
+++ b/src/bsp/lk/project/auto2731evb-ivt-vp3.mk
@@ -0,0 +1,30 @@
+# main project for EVB nand
+ARCH := arm
+ARM_CPU := cortex-a7
+TARGET := auto2731evb-ivt-nand-lp4
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+
+SCRATCH_SIZE        ?= 0x01000000 # 16MB
+MAX_TEE_DRAM_SIZE   ?= 0x01000000 # 16MB
+MAX_KERNEL_SIZE     ?= 0x01000000 # 16MB
+MAX_SPMFW_SIZE      ?= 0x00010000 # 64KB
+
+CA35_FREQ := CA35_FREQ_806MHZ
+
+BOOTAPP := blxboot
+ENABLE_BUILTIN_BL33 := 0
+NAND_DEBUG := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=0 \
+    MTK_NAND_PAGE_SIZE=4096 \
+
+LK_HEAP_IMPLEMENTATION=miniheap
+
+ifeq ($(strip $(AB_OTA_UPDATER)),yes)
+include project/auto2731-config/auto2731-ivt-partition_ab.mk
+else
+include project/auto2731-config/auto2731-ivt-partition.mk
+endif
diff --git a/src/bsp/lk/project/auto2735-config/auto2735-ivt-partition.mk b/src/bsp/lk/project/auto2735-config/auto2735-ivt-partition.mk
new file mode 100644
index 0000000..b1a3916
--- /dev/null
+++ b/src/bsp/lk/project/auto2735-config/auto2735-ivt-partition.mk
@@ -0,0 +1,24 @@
+# partition definition of auto2735-ivt project

+TZ_PART_NAME := tee_a

+RECOVERY_TZ_PART_NAME = tee_b

+DTBO_PART_NAME := dtbo

+BOOT_PART_NAME := boot_a

+RECOVERY_BOOT_PART_NAME = recovery

+SPM_PART_NAME := spm

+BL33_PART_NAME := bl33

+RECOVERY_BL33_PART_NAME := bl33

+ROOTFS_PART_NAME := system

+MD_PART_NAME := md1img_a

+HSM_OS_PART_NAME := hsm_os

+

+GLOBAL_CFLAGS +=  -DTZ_PART_NAME=\"$(TZ_PART_NAME)\" \

+                  -DRECOVERY_TZ_PART_NAME=\"$(RECOVERY_TZ_PART_NAME)\" \

+                  -DDTBO_PART_NAME=\"$(DTBO_PART_NAME)\" \

+                  -DBOOT_PART_NAME=\"$(BOOT_PART_NAME)\" \

+                  -DRECOVERY_BOOT_PART_NAME=\"$(RECOVERY_BOOT_PART_NAME)\" \

+                  -DSPM_PART_NAME=\"$(SPM_PART_NAME)\" \

+                  -DBL33_PART_NAME=\"$(BL33_PART_NAME)\" \

+                  -DRECOVERY_BL33_PART_NAME=\"$(RECOVERY_BL33_PART_NAME)\" \

+                  -DROOTFS_PART_NAME=\"$(ROOTFS_PART_NAME)\" \

+                  -DMD_PART_NAME=\"$(MD_PART_NAME)\" \

+                  -DHSM_OS_PART_NAME=\"$(HSM_OS_PART_NAME)\"

diff --git a/src/bsp/lk/project/auto2735-config/auto2735-ivt-partition_ab.mk b/src/bsp/lk/project/auto2735-config/auto2735-ivt-partition_ab.mk
new file mode 100644
index 0000000..e41970a
--- /dev/null
+++ b/src/bsp/lk/project/auto2735-config/auto2735-ivt-partition_ab.mk
@@ -0,0 +1,29 @@
+# partition definition of auto2735-ivt project

+TZ_PART_NAME := tee

+RECOVERY_TZ_PART_NAME = tee

+DTBO_PART_NAME := dtbo

+BOOT_PART_NAME := boot

+RECOVERY_BOOT_PART_NAME = recovery

+SPM_PART_NAME := spm

+BL33_PART_NAME := bl33

+RECOVERY_BL33_PART_NAME := bl33

+ROOTFS_PART_NAME := system

+MD_PART_NAME := md1img_a

+HSM_OS_PART_NAME := hsm_os

+

+# image ab slot definition, override app/blxboot/images_ab_config_def.mk

+# When XX_HAS_SLOT == 1, blxboot will append suffix to the XX partition name.

+BOOT_HAS_SLOT := 1

+TZ_HAS_SLOT := 1

+

+GLOBAL_CFLAGS +=  -DTZ_PART_NAME=\"$(TZ_PART_NAME)\" \

+                  -DRECOVERY_TZ_PART_NAME=\"$(RECOVERY_TZ_PART_NAME)\" \

+                  -DDTBO_PART_NAME=\"$(DTBO_PART_NAME)\" \

+                  -DBOOT_PART_NAME=\"$(BOOT_PART_NAME)\" \

+                  -DRECOVERY_BOOT_PART_NAME=\"$(RECOVERY_BOOT_PART_NAME)\" \

+                  -DSPM_PART_NAME=\"$(SPM_PART_NAME)\" \

+                  -DBL33_PART_NAME=\"$(BL33_PART_NAME)\" \

+                  -DRECOVERY_BL33_PART_NAME=\"$(RECOVERY_BL33_PART_NAME)\" \

+                  -DROOTFS_PART_NAME=\"$(ROOTFS_PART_NAME)\" \

+                  -DMD_PART_NAME=\"$(MD_PART_NAME)\" \

+                  -DHSM_OS_PART_NAME=\"$(HSM_OS_PART_NAME)\"

diff --git a/src/bsp/lk/project/auto2735evb-ivt-main-bl33.mk b/src/bsp/lk/project/auto2735evb-ivt-main-bl33.mk
new file mode 100644
index 0000000..2a6c00d
--- /dev/null
+++ b/src/bsp/lk/project/auto2735evb-ivt-main-bl33.mk
@@ -0,0 +1,33 @@
+# main project for EVB nand
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := auto2735evb-ivt-nand_bl33
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+
+SCRATCH_SIZE        ?= 0x01000000 # 16MB
+MAX_TEE_DRAM_SIZE   ?= 0x01000000 # 16MB
+MAX_KERNEL_SIZE     ?= 0x01000000 # 16MB
+MAX_SPMFW_SIZE      ?= 0x00010000 # 64KB
+MAX_MD_SIZE         ?= 0x10000000 # 256MB
+
+CA35_FREQ := CA35_FREQ_806MHZ
+
+BOOTAPP := blxboot
+LK_AS_BL33 := 1
+BL33_DRAM_SIZE_MB := 512
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1 \
+    MAX_MD_SIZE=$(MAX_MD_SIZE) \
+    MTK_NAND_PAGE_SIZE=4096 \
+    BOOT_DEV_NAND \
+
+LK_HEAP_IMPLEMENTATION=miniheap
+
+ifeq ($(strip $(AB_OTA_UPDATER)),yes)
+include project/auto2735-config/auto2735-ivt-partition_ab.mk
+else
+include project/auto2735-config/auto2735-ivt-partition.mk
+endif
diff --git a/src/bsp/lk/project/auto2735evb-ivt-vp3.mk b/src/bsp/lk/project/auto2735evb-ivt-vp3.mk
new file mode 100644
index 0000000..48ded95
--- /dev/null
+++ b/src/bsp/lk/project/auto2735evb-ivt-vp3.mk
@@ -0,0 +1,29 @@
+# main project for EVB nand
+ARCH := arm
+ARM_CPU := cortex-a7
+TARGET := auto2735evb-ivt-nand-lp4
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+
+SCRATCH_SIZE        ?= 0x01000000 # 16MB
+MAX_TEE_DRAM_SIZE   ?= 0x01000000 # 16MB
+MAX_KERNEL_SIZE     ?= 0x01000000 # 16MB
+MAX_SPMFW_SIZE      ?= 0x00010000 # 64KB
+
+CA35_FREQ := CA35_FREQ_806MHZ
+
+BOOTAPP := blxboot
+ENABLE_BUILTIN_BL33 := 0
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=0 \
+    MTK_NAND_PAGE_SIZE=4096 \
+
+LK_HEAP_IMPLEMENTATION=miniheap
+
+ifeq ($(strip $(AB_OTA_UPDATER)),yes)
+include project/auto2735-config/auto2735-ivt-partition_ab.mk
+else
+include project/auto2735-config/auto2735-ivt-partition.mk
+endif
diff --git a/src/bsp/lk/project/beagle-test.mk b/src/bsp/lk/project/beagle-test.mk
new file mode 100644
index 0000000..52af265
--- /dev/null
+++ b/src/bsp/lk/project/beagle-test.mk
@@ -0,0 +1,9 @@
+# top level project rules for the armemu-test project
+#
+TARGET := beagle
+
+MODULES += \
+	app/tests \
+	app/stringtests \
+	app/shell
+
diff --git a/src/bsp/lk/project/beaglebone-test.mk b/src/bsp/lk/project/beaglebone-test.mk
new file mode 100644
index 0000000..a4c8df3
--- /dev/null
+++ b/src/bsp/lk/project/beaglebone-test.mk
@@ -0,0 +1,10 @@
+# top level project rules for the armemu-test project
+#
+TARGET := beaglebone
+
+MODULES += \
+	app/tests \
+	app/stringtests \
+	app/shell
+
+
diff --git a/src/bsp/lk/project/dartuinoP0-test.mk b/src/bsp/lk/project/dartuinoP0-test.mk
new file mode 100644
index 0000000..5a0a342
--- /dev/null
+++ b/src/bsp/lk/project/dartuinoP0-test.mk
@@ -0,0 +1,7 @@
+include project/target/dartuinoP0.mk
+include project/virtual/test.mk
+include project/virtual/minip.mk
+
+# Console serial port is on pins PA9(TX) and PB7(RX)
+
+include project/virtual/fs.mk
diff --git a/src/bsp/lk/project/fpga8168-rtos.mk b/src/bsp/lk/project/fpga8168-rtos.mk
new file mode 100644
index 0000000..128b4be
--- /dev/null
+++ b/src/bsp/lk/project/fpga8168-rtos.mk
@@ -0,0 +1,23 @@
+# main project for fpga8168-rtos
+ARCH := arm64
+ARM_CPU := cortex-a53
+TARGET := fpga8168-rtos
+WITH_KERNEL_VM := 1
+WITH_LINKER_GC := 1
+
+# buffer size used by fastboot to load images
+SCRATCH_SIZE        ?= 0x01000000 # 16MB
+# the maximum dram size for TEE loaded from stroage
+MAX_TEE_DRAM_SIZE   ?= 0x01000000 # 16MB
+# the maximum dram size for KERNEL loaded from stroage
+MAX_KERNEL_SIZE     ?= 0x01000000 # 16MB
+
+BOOTAPP := blxboot
+ENABLE_BL33_LOAD := 1
+ENABLE_BUILTIN_BL33 := 1
+
+# arch for lz4 compression lib
+GLOBAL_DEFINES += \
+    LZ4_ARCH64=1 \
+
+LK_HEAP_IMPLEMENTATION=miniheap
diff --git a/src/bsp/lk/project/helio-test.mk b/src/bsp/lk/project/helio-test.mk
new file mode 100644
index 0000000..be93e79
--- /dev/null
+++ b/src/bsp/lk/project/helio-test.mk
@@ -0,0 +1,3 @@
+include project/target/helio.mk
+include project/virtual/test.mk
+
diff --git a/src/bsp/lk/project/lpcexpresso1549-test.mk b/src/bsp/lk/project/lpcexpresso1549-test.mk
new file mode 100644
index 0000000..c02ba25
--- /dev/null
+++ b/src/bsp/lk/project/lpcexpresso1549-test.mk
@@ -0,0 +1,6 @@
+MODULES += \
+	app/shell \
+	app/tests \
+	lib/debugcommands
+
+include project/target/lpcexpresso1549.mk
diff --git a/src/bsp/lk/project/lpclink2-lpcboot.mk b/src/bsp/lk/project/lpclink2-lpcboot.mk
new file mode 100644
index 0000000..4f0d0fd
--- /dev/null
+++ b/src/bsp/lk/project/lpclink2-lpcboot.mk
@@ -0,0 +1,9 @@
+MODULES += \
+	app/lpcboot
+
+GLOBAL_DEFINES += \
+	WITH_NO_FP=1
+
+#	WITH_NO_CLOCK_INIT=1
+
+TARGET := lpclink2
diff --git a/src/bsp/lk/project/lpclink2-mdebug.mk b/src/bsp/lk/project/lpclink2-mdebug.mk
new file mode 100644
index 0000000..7bd8055
--- /dev/null
+++ b/src/bsp/lk/project/lpclink2-mdebug.mk
@@ -0,0 +1,8 @@
+MODULES += app/mdebug
+
+#MODULES += app/shell lib/debugcommands
+
+GLOBAL_DEFINES += WITH_DEBUGGER_INFO=1
+#GLOBAL_DEFINES += WITH_NO_CLOCK_INIT=1
+
+TARGET := lpclink2
diff --git a/src/bsp/lk/project/lpcxpresso4337-test.mk b/src/bsp/lk/project/lpcxpresso4337-test.mk
new file mode 100644
index 0000000..4c269e8
--- /dev/null
+++ b/src/bsp/lk/project/lpcxpresso4337-test.mk
@@ -0,0 +1,6 @@
+MODULES += \
+	lib/debugcommands \
+	app/shell \
+	app/udctest
+
+TARGET := lpcxpresso4337
diff --git a/src/bsp/lk/project/nrf51-pca10000-test.mk b/src/bsp/lk/project/nrf51-pca10000-test.mk
new file mode 100644
index 0000000..56c67de
--- /dev/null
+++ b/src/bsp/lk/project/nrf51-pca10000-test.mk
@@ -0,0 +1,7 @@
+MODULES += \
+	app/shell \
+
+
+
+
+include project/target/nrf-pca10000.mk
diff --git a/src/bsp/lk/project/nrf51-pca10028-test.mk b/src/bsp/lk/project/nrf51-pca10028-test.mk
new file mode 100644
index 0000000..68a1192
--- /dev/null
+++ b/src/bsp/lk/project/nrf51-pca10028-test.mk
@@ -0,0 +1,8 @@
+MODULES += \
+	app/shell \
+    app/tests \
+
+
+
+
+include project/target/nrf-pca10028.mk
diff --git a/src/bsp/lk/project/or1ksim.mk b/src/bsp/lk/project/or1ksim.mk
new file mode 100644
index 0000000..20302f5
--- /dev/null
+++ b/src/bsp/lk/project/or1ksim.mk
@@ -0,0 +1,5 @@
+TARGET := or1ksim
+MODULES += \
+    app/shell \
+    app/tests \
+    lib/debugcommands
diff --git a/src/bsp/lk/project/pc-x86-64-test.mk b/src/bsp/lk/project/pc-x86-64-test.mk
new file mode 100644
index 0000000..052edbc
--- /dev/null
+++ b/src/bsp/lk/project/pc-x86-64-test.mk
@@ -0,0 +1,8 @@
+# top level project rules for the pc-x86-64-test project
+#
+ARCH := x86-64
+TARGET := pc-x86
+MODULES += \
+	app/shell
+
+include project/virtual/test.mk
diff --git a/src/bsp/lk/project/pc-x86-test.mk b/src/bsp/lk/project/pc-x86-test.mk
new file mode 100644
index 0000000..74e04a0
--- /dev/null
+++ b/src/bsp/lk/project/pc-x86-test.mk
@@ -0,0 +1,19 @@
+# top level project rules for the pc-x86-test project
+#
+LOCAL_DIR := $(GET_LOCAL_DIR)
+
+ARCH := x86
+TARGET := pc-x86
+MODULES += \
+	app/shell \
+	app/pcitests
+
+# extra rules to copy the pc-x86.conf file to the build dir
+#$(BUILDDIR)/pc-x86.conf: $(LOCAL_DIR)/pc-x86.conf
+#	@echo copy $< to $@
+#	$(NOECHO)cp $< $@
+
+#EXTRA_BUILDDEPS += $(BUILDDIR)/pc-x86.conf
+#GENERATED += $(BUILDDIR)/pc-x86.conf
+
+include project/virtual/test.mk
diff --git a/src/bsp/lk/project/qemu-m4-test.mk b/src/bsp/lk/project/qemu-m4-test.mk
new file mode 100644
index 0000000..417405c
--- /dev/null
+++ b/src/bsp/lk/project/qemu-m4-test.mk
@@ -0,0 +1,8 @@
+# main project for qemu-m4
+MODULES += \
+	app/shell
+
+include project/virtual/test.mk
+include project/virtual/fs.mk
+include project/virtual/minip.mk
+include project/target/qemu-m4.mk
diff --git a/src/bsp/lk/project/qemu-microblaze-test.mk b/src/bsp/lk/project/qemu-microblaze-test.mk
new file mode 100644
index 0000000..455858b
--- /dev/null
+++ b/src/bsp/lk/project/qemu-microblaze-test.mk
@@ -0,0 +1,2 @@
+include project/target/qemu-microblaze.mk
+include project/virtual/test.mk
diff --git a/src/bsp/lk/project/qemu-mips-test.mk b/src/bsp/lk/project/qemu-mips-test.mk
new file mode 100644
index 0000000..f33702c
--- /dev/null
+++ b/src/bsp/lk/project/qemu-mips-test.mk
@@ -0,0 +1,2 @@
+include project/target/qemu-mips.mk
+include project/virtual/test.mk
diff --git a/src/bsp/lk/project/qemu-virt-a15-test.mk b/src/bsp/lk/project/qemu-virt-a15-test.mk
new file mode 100644
index 0000000..728779a
--- /dev/null
+++ b/src/bsp/lk/project/qemu-virt-a15-test.mk
@@ -0,0 +1,12 @@
+# main project for qemu-arm32
+ARCH := arm
+ARM_CPU := cortex-a15
+
+MODULES += \
+	app/shell
+
+include project/virtual/test.mk
+include project/virtual/fs.mk
+include project/virtual/minip.mk
+include project/target/qemu-virt.mk
+
diff --git a/src/bsp/lk/project/qemu-virt-a53-test.mk b/src/bsp/lk/project/qemu-virt-a53-test.mk
new file mode 100644
index 0000000..16c114f
--- /dev/null
+++ b/src/bsp/lk/project/qemu-virt-a53-test.mk
@@ -0,0 +1,14 @@
+# main project for qemu-aarch64
+ARCH := arm64
+ARM_CPU := cortex-a53
+
+MODULES += \
+	app/shell
+
+WITH_LINKER_GC := 0
+
+include project/virtual/test.mk
+include project/virtual/fs.mk
+include project/virtual/minip.mk
+include project/target/qemu-virt.mk
+
diff --git a/src/bsp/lk/project/rpi2-test.mk b/src/bsp/lk/project/rpi2-test.mk
new file mode 100644
index 0000000..c71a7e7
--- /dev/null
+++ b/src/bsp/lk/project/rpi2-test.mk
@@ -0,0 +1,11 @@
+LOCAL_DIR := $(GET_LOCAL_DIR)
+
+TARGET := rpi2
+
+MODULES += \
+	app/shell \
+	app/stringtests \
+	app/tests \
+	lib/cksum \
+	lib/debugcommands \
+
diff --git a/src/bsp/lk/project/rpi3-test.mk b/src/bsp/lk/project/rpi3-test.mk
new file mode 100644
index 0000000..4e7991b
--- /dev/null
+++ b/src/bsp/lk/project/rpi3-test.mk
@@ -0,0 +1,11 @@
+LOCAL_DIR := $(GET_LOCAL_DIR)
+
+TARGET := rpi3
+
+MODULES += \
+	app/shell \
+	app/stringtests \
+	app/tests \
+	lib/cksum \
+	lib/debugcommands \
+
diff --git a/src/bsp/lk/project/sam3x-ek-test.mk b/src/bsp/lk/project/sam3x-ek-test.mk
new file mode 100644
index 0000000..3067688
--- /dev/null
+++ b/src/bsp/lk/project/sam3x-ek-test.mk
@@ -0,0 +1,5 @@
+TARGET := sam3x-ek
+MODULES += \
+	app/tests \
+	app/shell
+
diff --git a/src/bsp/lk/project/stellaris-launchpad-test.mk b/src/bsp/lk/project/stellaris-launchpad-test.mk
new file mode 100644
index 0000000..3398cc5
--- /dev/null
+++ b/src/bsp/lk/project/stellaris-launchpad-test.mk
@@ -0,0 +1,6 @@
+MODULES += \
+	app/shell \
+	app/tests \
+	lib/debugcommands
+
+include project/stellaris-launchpad.mk
diff --git a/src/bsp/lk/project/stellaris-launchpad.mk b/src/bsp/lk/project/stellaris-launchpad.mk
new file mode 100644
index 0000000..8e597e1
--- /dev/null
+++ b/src/bsp/lk/project/stellaris-launchpad.mk
@@ -0,0 +1,2 @@
+TARGET := stellaris-launchpad
+
diff --git a/src/bsp/lk/project/stm32-h103-test.mk b/src/bsp/lk/project/stm32-h103-test.mk
new file mode 100644
index 0000000..379b3fa
--- /dev/null
+++ b/src/bsp/lk/project/stm32-h103-test.mk
@@ -0,0 +1,6 @@
+MODULES += \
+	app/tests \
+	app/shell \
+	lib/debugcommands \
+
+include project/target/stm32-h103.mk
diff --git a/src/bsp/lk/project/stm32-p107-test.mk b/src/bsp/lk/project/stm32-p107-test.mk
new file mode 100644
index 0000000..e40466a
--- /dev/null
+++ b/src/bsp/lk/project/stm32-p107-test.mk
@@ -0,0 +1,7 @@
+MODULES += \
+	lib/debugcommands \
+	app/tests \
+	app/shell
+
+include project/target/stm32-p107.mk
+
diff --git a/src/bsp/lk/project/stm32-p407-test.mk b/src/bsp/lk/project/stm32-p407-test.mk
new file mode 100644
index 0000000..51da800
--- /dev/null
+++ b/src/bsp/lk/project/stm32-p407-test.mk
@@ -0,0 +1,7 @@
+MODULES += \
+	lib/debugcommands \
+	app/tests \
+	app/shell
+
+include project/target/stm32-p407.mk
+
diff --git a/src/bsp/lk/project/stm3220g-eval.mk b/src/bsp/lk/project/stm3220g-eval.mk
new file mode 100644
index 0000000..6463dee
--- /dev/null
+++ b/src/bsp/lk/project/stm3220g-eval.mk
@@ -0,0 +1,6 @@
+MODULES += \
+	lib/debugcommands \
+	app/tests \
+	app/shell
+
+TARGET := stm3220g
diff --git a/src/bsp/lk/project/stm32746g-eval2-test.mk b/src/bsp/lk/project/stm32746g-eval2-test.mk
new file mode 100644
index 0000000..a5e0359
--- /dev/null
+++ b/src/bsp/lk/project/stm32746g-eval2-test.mk
@@ -0,0 +1,10 @@
+include project/target/stm32746g-eval2.mk
+include project/virtual/test.mk
+include project/virtual/minip.mk
+
+MODULES += \
+    app/loader
+
+include project/virtual/fs.mk
+
+LK_HEAP_IMPLEMENTATION=cmpctmalloc
diff --git a/src/bsp/lk/project/stm32f4-discovery-test.mk b/src/bsp/lk/project/stm32f4-discovery-test.mk
new file mode 100644
index 0000000..936d496
--- /dev/null
+++ b/src/bsp/lk/project/stm32f4-discovery-test.mk
@@ -0,0 +1,4 @@
+include project/target/stm32f4-discovery.mk
+include project/virtual/test.mk
+
+# Console serial port is on pins PA2(TX) and PA3(RX)
diff --git a/src/bsp/lk/project/stm32f746g-disco-test.mk b/src/bsp/lk/project/stm32f746g-disco-test.mk
new file mode 100644
index 0000000..adfeef0
--- /dev/null
+++ b/src/bsp/lk/project/stm32f746g-disco-test.mk
@@ -0,0 +1,13 @@
+include project/target/stm32f746g-disco.mk
+include project/virtual/test.mk
+include project/virtual/minip.mk
+
+MODULES += \
+	lib/fs \
+    app/loader
+
+include project/virtual/fs.mk
+
+LK_HEAP_IMPLEMENTATION=cmpctmalloc
+
+# Console serial port is on pins PA9(TX) and PB7(RX)
diff --git a/src/bsp/lk/project/target/dartuinoP0.mk b/src/bsp/lk/project/target/dartuinoP0.mk
new file mode 100644
index 0000000..788a268
--- /dev/null
+++ b/src/bsp/lk/project/target/dartuinoP0.mk
@@ -0,0 +1,3 @@
+LOCAL_DIR := $(GET_LOCAL_DIR)
+
+TARGET := dartuinoP0
diff --git a/src/bsp/lk/project/target/helio.mk b/src/bsp/lk/project/target/helio.mk
new file mode 100644
index 0000000..11b3e44
--- /dev/null
+++ b/src/bsp/lk/project/target/helio.mk
@@ -0,0 +1 @@
+TARGET := helio
diff --git a/src/bsp/lk/project/target/lpcexpresso1549.mk b/src/bsp/lk/project/target/lpcexpresso1549.mk
new file mode 100644
index 0000000..3fb96e8
--- /dev/null
+++ b/src/bsp/lk/project/target/lpcexpresso1549.mk
@@ -0,0 +1,2 @@
+TARGET := lpcexpresso1549
+
diff --git a/src/bsp/lk/project/target/nrf-pca10000.mk b/src/bsp/lk/project/target/nrf-pca10000.mk
new file mode 100644
index 0000000..8253192
--- /dev/null
+++ b/src/bsp/lk/project/target/nrf-pca10000.mk
@@ -0,0 +1,3 @@
+LOCAL_DIR := $(GET_LOCAL_DIR)
+
+TARGET := nrf-pca10000
diff --git a/src/bsp/lk/project/target/nrf-pca10028.mk b/src/bsp/lk/project/target/nrf-pca10028.mk
new file mode 100644
index 0000000..b8ca9f0
--- /dev/null
+++ b/src/bsp/lk/project/target/nrf-pca10028.mk
@@ -0,0 +1,3 @@
+LOCAL_DIR := $(GET_LOCAL_DIR)
+
+TARGET := nrf-pca10028
\ No newline at end of file
diff --git a/src/bsp/lk/project/target/qemu-m4.mk b/src/bsp/lk/project/target/qemu-m4.mk
new file mode 100644
index 0000000..a1a8258
--- /dev/null
+++ b/src/bsp/lk/project/target/qemu-m4.mk
@@ -0,0 +1,4 @@
+# main project for qemu-m4
+TARGET := qemu-m4
+
+WITH_LINKER_GC := 0
diff --git a/src/bsp/lk/project/target/qemu-microblaze.mk b/src/bsp/lk/project/target/qemu-microblaze.mk
new file mode 100644
index 0000000..904483e
--- /dev/null
+++ b/src/bsp/lk/project/target/qemu-microblaze.mk
@@ -0,0 +1,2 @@
+TARGET := qemu-microblaze
+
diff --git a/src/bsp/lk/project/target/qemu-mips.mk b/src/bsp/lk/project/target/qemu-mips.mk
new file mode 100644
index 0000000..66f5396
--- /dev/null
+++ b/src/bsp/lk/project/target/qemu-mips.mk
@@ -0,0 +1,2 @@
+TARGET := qemu-mips
+
diff --git a/src/bsp/lk/project/target/qemu-virt.mk b/src/bsp/lk/project/target/qemu-virt.mk
new file mode 100644
index 0000000..ebeeedf
--- /dev/null
+++ b/src/bsp/lk/project/target/qemu-virt.mk
@@ -0,0 +1,4 @@
+# main project for qemu-virt
+TARGET := qemu-virt
+
+WITH_LINKER_GC := 0
diff --git a/src/bsp/lk/project/target/stm32-h103.mk b/src/bsp/lk/project/target/stm32-h103.mk
new file mode 100644
index 0000000..3869d4d
--- /dev/null
+++ b/src/bsp/lk/project/target/stm32-h103.mk
@@ -0,0 +1,4 @@
+LOCAL_DIR := $(GET_LOCAL_DIR)
+
+TARGET := stm32-h103
+
diff --git a/src/bsp/lk/project/target/stm32-p107.mk b/src/bsp/lk/project/target/stm32-p107.mk
new file mode 100644
index 0000000..058ddd2
--- /dev/null
+++ b/src/bsp/lk/project/target/stm32-p107.mk
@@ -0,0 +1,4 @@
+LOCAL_DIR := $(GET_LOCAL_DIR)
+
+TARGET := stm32-p107
+
diff --git a/src/bsp/lk/project/target/stm32-p407.mk b/src/bsp/lk/project/target/stm32-p407.mk
new file mode 100644
index 0000000..ac51071
--- /dev/null
+++ b/src/bsp/lk/project/target/stm32-p407.mk
@@ -0,0 +1,4 @@
+LOCAL_DIR := $(GET_LOCAL_DIR)
+
+TARGET := stm32-p407
+
diff --git a/src/bsp/lk/project/target/stm32746g-eval2.mk b/src/bsp/lk/project/target/stm32746g-eval2.mk
new file mode 100644
index 0000000..188dce9
--- /dev/null
+++ b/src/bsp/lk/project/target/stm32746g-eval2.mk
@@ -0,0 +1,5 @@
+LOCAL_DIR := $(GET_LOCAL_DIR)
+
+TARGET := stm32746g-eval2
+
+# Console serial port is on pins PA9(TX) and PA10(RX)
diff --git a/src/bsp/lk/project/target/stm32f4-discovery.mk b/src/bsp/lk/project/target/stm32f4-discovery.mk
new file mode 100644
index 0000000..afc7343
--- /dev/null
+++ b/src/bsp/lk/project/target/stm32f4-discovery.mk
@@ -0,0 +1,3 @@
+LOCAL_DIR := $(GET_LOCAL_DIR)
+
+TARGET := stm32f4-discovery
diff --git a/src/bsp/lk/project/target/stm32f746g-disco.mk b/src/bsp/lk/project/target/stm32f746g-disco.mk
new file mode 100644
index 0000000..7c39ac4
--- /dev/null
+++ b/src/bsp/lk/project/target/stm32f746g-disco.mk
@@ -0,0 +1,3 @@
+LOCAL_DIR := $(GET_LOCAL_DIR)
+
+TARGET := stm32f746g-disco
diff --git a/src/bsp/lk/project/target/uzed.mk b/src/bsp/lk/project/target/uzed.mk
new file mode 100644
index 0000000..35d753f
--- /dev/null
+++ b/src/bsp/lk/project/target/uzed.mk
@@ -0,0 +1,10 @@
+# top level project rules for the uzed project
+#
+LOCAL_DIR := $(GET_LOCAL_DIR)
+
+TARGET := uzed
+
+MODULES += \
+	app/zynq-common \
+	lib/version \
+
diff --git a/src/bsp/lk/project/target/zybo-microblaze.mk b/src/bsp/lk/project/target/zybo-microblaze.mk
new file mode 100644
index 0000000..a8c414d
--- /dev/null
+++ b/src/bsp/lk/project/target/zybo-microblaze.mk
@@ -0,0 +1,2 @@
+TARGET := zybo-microblaze
+
diff --git a/src/bsp/lk/project/target/zybo.mk b/src/bsp/lk/project/target/zybo.mk
new file mode 100644
index 0000000..d90b27a
--- /dev/null
+++ b/src/bsp/lk/project/target/zybo.mk
@@ -0,0 +1,10 @@
+# top level project rules for the zybo project
+#
+LOCAL_DIR := $(GET_LOCAL_DIR)
+
+TARGET := zybo
+
+MODULES += \
+	app/zynq-common \
+	lib/version \
+
diff --git a/src/bsp/lk/project/uzed-bootloader.mk b/src/bsp/lk/project/uzed-bootloader.mk
new file mode 100644
index 0000000..da1db5d
--- /dev/null
+++ b/src/bsp/lk/project/uzed-bootloader.mk
@@ -0,0 +1,15 @@
+# top level project rules for the uzed-bootloader project
+#
+MODULES += \
+	app/shell \
+	app/zynq-common \
+	app/lkboot
+
+GLOBAL_DEFINES += \
+	SYSPARAM_ALLOW_WRITE=1
+
+# disable SMP for this build, chain loading from SMP currently does not work
+WITH_SMP:=0
+
+include project/target/uzed.mk
+
diff --git a/src/bsp/lk/project/uzed-dram-test.mk b/src/bsp/lk/project/uzed-dram-test.mk
new file mode 100644
index 0000000..a137e8c
--- /dev/null
+++ b/src/bsp/lk/project/uzed-dram-test.mk
@@ -0,0 +1,6 @@
+# top level project rules for the uzed-dram-test project
+#
+ZYNQ_USE_SRAM := 0
+
+include project/uzed-test.mk
+
diff --git a/src/bsp/lk/project/uzed-test.mk b/src/bsp/lk/project/uzed-test.mk
new file mode 100644
index 0000000..3ae5e6d
--- /dev/null
+++ b/src/bsp/lk/project/uzed-test.mk
@@ -0,0 +1,16 @@
+# top level project rules for the uzed-test project
+#
+MODULES += \
+	app/inetsrv \
+	app/lkboot \
+	app/shell \
+	dev/gpio \
+	lib/klog \
+	lib/watchdog \
+
+GLOBAL_DEFINES += \
+	SYSPARAM_ALLOW_WRITE=1
+
+include project/target/uzed.mk
+include project/virtual/test.mk
+
diff --git a/src/bsp/lk/project/virtual/fs.mk b/src/bsp/lk/project/virtual/fs.mk
new file mode 100644
index 0000000..9583ff9
--- /dev/null
+++ b/src/bsp/lk/project/virtual/fs.mk
@@ -0,0 +1,9 @@
+# modules related to a file system layer
+
+MODULES += \
+    lib/fs \
+    lib/fs/ext2 \
+    lib/fs/spifs \
+    lib/fs/spifs/test \
+    lib/fs/memfs
+
diff --git a/src/bsp/lk/project/virtual/minip.mk b/src/bsp/lk/project/virtual/minip.mk
new file mode 100644
index 0000000..8654fcc
--- /dev/null
+++ b/src/bsp/lk/project/virtual/minip.mk
@@ -0,0 +1,6 @@
+# modules related to the minip stack
+
+MODULES += \
+    lib/minip \
+    app/inetsrv
+
diff --git a/src/bsp/lk/project/virtual/test.mk b/src/bsp/lk/project/virtual/test.mk
new file mode 100644
index 0000000..d3acdcf
--- /dev/null
+++ b/src/bsp/lk/project/virtual/test.mk
@@ -0,0 +1,15 @@
+# common libraries for -test variants
+
+MODULES += \
+  app/shell \
+  app/stringtests \
+  app/tests \
+  lib/aes \
+  lib/aes/test \
+  lib/cksum \
+  lib/debugcommands \
+  lib/libm \
+  lib/version \
+
+WITH_CPP_SUPPORT=true
+
diff --git a/src/bsp/lk/project/zybo-dram-test.mk b/src/bsp/lk/project/zybo-dram-test.mk
new file mode 100644
index 0000000..98c3bd4
--- /dev/null
+++ b/src/bsp/lk/project/zybo-dram-test.mk
@@ -0,0 +1,4 @@
+ZYNQ_USE_SRAM := 0
+
+include project/zybo-test.mk
+
diff --git a/src/bsp/lk/project/zybo-microblaze-test.mk b/src/bsp/lk/project/zybo-microblaze-test.mk
new file mode 100644
index 0000000..a751bb7
--- /dev/null
+++ b/src/bsp/lk/project/zybo-microblaze-test.mk
@@ -0,0 +1,3 @@
+# top level project for a microblaze target running on a zybo board
+include project/target/zybo-microblaze.mk
+include project/virtual/test.mk
diff --git a/src/bsp/lk/project/zybo-test.mk b/src/bsp/lk/project/zybo-test.mk
new file mode 100644
index 0000000..3ddaf78
--- /dev/null
+++ b/src/bsp/lk/project/zybo-test.mk
@@ -0,0 +1,14 @@
+# top level project rules for the zybo-test project
+#
+MODULES += \
+	app/inetsrv \
+	app/shell \
+	app/lkboot \
+	dev/gpio \
+
+GLOBAL_DEFINES += \
+	SYSPARAM_ALLOW_WRITE=1
+
+include project/target/zybo.mk
+include project/virtual/test.mk
+