BSP_OBJ :=`cat /proc/cpuinfo | grep processor | wc -l` ifneq ($(strip $(BSP_CHIPRAM_TOOLCHAIN)),) LOCAL_TOOLCHAIN := $(BSP_CHIPRAM_TOOLCHAIN) else #use default ifeq ($(BSP_BOARD_ARCH) , arm64) LOCAL_TOOLCHAIN := $(shell pwd)/../prebuilts/gcc/linaro-x86/aarch64/gcc-linaro-4.8/gcc-linaro-4.8-2015.06-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu- else ifeq ($(BSP_BOARD_ARCH), arm) LOCAL_TOOLCHAIN := $(shell pwd)/../prebuilts/gcc/linux-x86/arm/arm-eabi-4.8/bin/arm-eabi- else ifeq ($(BSP_BOARD_ARCH), x86) LOCAL_TOOLCHAIN := $(shell pwd)/../prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.9/bin/x86_64-linux-android- endif endif BSP_BUILT_SPL := $(BSP_CHIPRAM_OUT)/nand_spl/u-boot-spl-16k.bin BSP_BUILT_FDL1 := $(BSP_CHIPRAM_OUT)/nand_fdl/fdl1.bin BSP_BUILT_DDR_SCAN := $(BSP_CHIPRAM_OUT)/ddr_scan/ddr_scan.bin BSP_BUILT_SPL_ELF := $(BSP_CHIPRAM_OUT)/nand_spl/u-boot-spl BSP_BUILT_SPL_MAP := $(BSP_CHIPRAM_OUT)/nand_spl/u-boot-spl.map ifeq ($(BUILD_FPGA),true) BSP_BUILT_DDR_SCAN := $(BSP_CHIPRAM_OUT)/ddr_scan/ddr_scan.bin endif BSP_CHIPRAM_CONFIG := $(BSP_CHIPRAM_OUT)/include/config.h all: $(BSP_CHIPRAM_CONFIG) ifeq ($(strip $(BSP_CHIPRAM_BUILD_DOUBLE_SPL)),true) $(MAKE) CROSS_COMPILE=$(LOCAL_TOOLCHAIN) AP_VERSION="$(ANDROID_BUILD_DESC)" CONFIG_UFS_SPL=true O=$(BSP_CHIPRAM_OUT) -j$(BSP_OBJ) @mkdir -p $(BSP_CHIPRAM_DIST)/.out @cp $(BSP_BUILT_SPL) $(BSP_CHIPRAM_DIST)/.out/u-boot-spl-16k-ufs.bin @cp $(BSP_BUILT_SPL_ELF) $(BSP_CHIPRAM_DIST)/.out/u-boot-spl-16k-ufs @cp $(BSP_BUILT_SPL_MAP) $(BSP_CHIPRAM_DIST)/.out/u-boot-spl-ufs.map @mv $(BSP_CHIPRAM_DIST)/.out/* $(BSP_CHIPRAM_DIST)/ @echo "Install chipram spl-ufs target done" @rm -rf $(BSP_CHIPRAM_OUT)/.out $(MAKE) CROSS_COMPILE=$(LOCAL_TOOLCHAIN) AP_VERSION="$(ANDROID_BUILD_DESC)" O=$(BSP_CHIPRAM_OUT) distclean $(MAKE) CROSS_COMPILE=$(LOCAL_TOOLCHAIN) O=$(BSP_CHIPRAM_OUT) $(BSP_CHIPRAM_DEFCONFIG)_config ifeq ($(strip $(BOARD_KERNEL_SEPARATED_DT)),true) @echo "#define CONFIG_OF_LIBFDT" >> $(BSP_CHIPRAM_CONFIG) endif ifeq ($(strip $(BSP_PRODUCT_SECURE_BOOT)),SPRD) @echo "#define CONFIG_SPRD_SECBOOT" >> $(BSP_CHIPRAM_CONFIG) @echo "#define CONFIG_SECBOOT" >> $(BSP_CHIPRAM_CONFIG) @echo "CONFIG_SPRD_SECBOOT = y" >> $(BSP_CHIPRAM_OUT)/include/config.mk endif ifeq ($(strip $(TARGET_BUILD_VARIANT)),userdebug) @echo "#define CONFIG_DEBUG" >> $(BSP_CHIPRAM_CONFIG) endif ifeq ($(strip $(BSP_BUILD_VARIANT)),userdebug) @echo "#define CONFIG_DEBUG" >> $(BSP_CHIPRAM_CONFIG) endif ifeq ($(strip $(BSP_PRODUCT_DISABLE_VAB)),true) @echo "#define CONFIG_DISABLE_VAB" >> $(BSP_CHIPRAM_CONFIG) endif ifeq ($(strip $(BSP_NOT_VERIFY_MODEM_FLAG)),true) @echo "#define NOT_VERIFY_MODEM" >> $(BSP_CHIPRAM_CONFIG) @echo "NOT_VERIFY_MODEM = y" >> $(BSP_CHIPRAM_OUT)/include/config.mk endif ifeq ($(strip $(BSP_KCE_ENCRYPT_FLAG)),true) @echo "#define KCE_ENCRYPT_FLAG" >> $(BSP_CHIPRAM_CONFIG) @echo "KCE_ENCRYPT_FLAG = y" >> $(BSP_CHIPRAM_OUT)/include/config.mk endif ifeq ($(strip $(BSP_PKCS1_PSS_FLAG)),true) @echo "#define PKCS1_PSS_FLAG" >> $(BSP_CHIPRAM_CONFIG) @echo "PKCS1_PSS_FLAG = y" >> $(BSP_CHIPRAM_OUT)/include/config.mk endif ifeq ($(strip $(BSP_SPRD_SECUREBOOT_ALGORITHM)),ecc384) @echo "#define CONFIG_SECBOOT_ECC_ALGORITHM" >> $(BSP_CHIPRAM_CONFIG) @echo "CONFIG_SECBOOT_ECC_ALGORITHM = y" >> $(BSP_CHIPRAM_OUT)/include/config.mk endif ifeq ($(strip $(BSP_SECURE_BOOT_KCE)),true) @echo "#define CHIPRAM_KCE_FLAG" >> $(BSP_CHIPRAM_CONFIG) @echo "CHIPRAM_KCE_FLAG = y" >> $(BSP_CHIPRAM_OUT)/include/config.mk endif ifeq ($(strip $(BOARD_KBC_BYPASS_SECURE_BOOT)),true) @echo "#define CONFIG_KBC_BYPASS_SECURE_BOOT" >> $(BSP_CHIPRAM_CONFIG) endif ifeq ($(strip $(CONFIG_SANSA_SECBOOT)),true) @echo "#define CONFIG_SANSA_SECBOOT" >> $(BSP_CHIPRAM_CONFIG) @echo "#define CONFIG_SECBOOT" >> $(BSP_CHIPRAM_CONFIG) @echo "CONFIG_SANSA_SECBOOT = y" >> $(BSP_CHIPRAM_OUT)/include/config.mk endif ifeq ($(strip $(BSP_BOARD_TEE_CONFIG)),trusty) @echo "#define CONFIG_LOAD_TOS_ALONE 1" >> $(BSP_CHIPRAM_CONFIG) @echo "CONFIG_LOAD_TOS_ALONE = y" >> $(BSP_CHIPRAM_OUT)/include/config.mk endif ifeq ($(strip $(BSP_BOARD_TEECFG_CUSTOM)),true) @echo "#define CONFIG_TEECFG_CUSTOM 1" >> $(BSP_CHIPRAM_CONFIG) @echo "CONFIG_TEECFG_CUSTOM = y" >> $(BSP_CHIPRAM_OUT)/include/config.mk ifneq ($(strip $(BSP_BOARD_TEECFG_MEM_ADDR)),) @echo "#define CONFIG_TEECFG_LDADDR_START $(BSP_BOARD_TEECFG_MEM_ADDR)" >> $(BSP_CHIPRAM_CONFIG) endif ifneq ($(strip $(BSP_BOARD_TEECFG_MEM_SIZE)),) @echo "#define CONFIG_TEECFG_MEM_SIZE $(BSP_BOARD_TEECFG_MEM_SIZE)" >> $(BSP_CHIPRAM_CONFIG) endif endif ifeq ($(strip $(BSP_BOARD_ATF_CONFIG)),true) @echo "#define CONFIG_LOAD_ATF 1" >> $(BSP_CHIPRAM_CONFIG) @echo "CONFIG_LOAD_ATF = y" >> $(BSP_CHIPRAM_OUT)/include/config.mk ifeq ($(strip $(BSP_BOARD_ATF_BOOT_TOS_CONFIG)),true) @echo "#define CONFIG_ATF_BOOT_TOS 1" >> $(BSP_CHIPRAM_CONFIG) @echo "CONFIG_ATF_BOOT_TOS = y" >> $(BSP_CHIPRAM_OUT)/include/config.mk endif endif ifneq ($(strip $(BSP_BOARD_SML_MEM_ADDR)),) @echo "#define CONFIG_SML_LDADDR_START $(BSP_BOARD_SML_MEM_ADDR)" >> $(BSP_CHIPRAM_CONFIG) endif ifneq ($(strip $(BSP_BOARD_TOS_MEM_ADDR)),) @echo "#define CONFIG_TOS_LDADDR_START $(BSP_BOARD_TOS_MEM_ADDR)" >> $(BSP_CHIPRAM_CONFIG) endif ifneq ($(strip $(BSP_BOARD_SEC_MEM_SIZE)),) @echo "#define CONFIG_SML_TOS_RUNNING_SIZE $(BSP_BOARD_SEC_MEM_SIZE)" >>$(BSP_CHIPRAM_CONFIG) @echo "#define CONFIG_SEC_MEM_SIZE $(BSP_BOARD_SEC_MEM_SIZE)" >>$(BSP_CHIPRAM_CONFIG) endif ifeq ($(strip $(BSP_BOARD_TOS_ASLR_SEED)),true) @echo "#define CONFIG_TOS_ASLR_SEED" >> $(BSP_CHIPRAM_CONFIG) @echo "CONFIG_TOS_ASLR_SEED = y" >> $(BSP_CHIPRAM_OUT)/include/config.mk endif ifeq ($(strip $(BSP_DDR_512M_LIMITED)),true) @echo "#define CONFIG_CHIPRAM_DDR_512M " >> $(BSP_CHIPRAM_CONFIG) endif ifeq ($(strip $(BSP_DDR_1G_LIMITED)),true) @echo "#define CONFIG_CHIPRAM_DDR_1G " >> $(BSP_CHIPRAM_CONFIG) endif ifeq ($(strip $(BSP_DDR_CUSTOMIZE_LIMITED)),true) @echo "#define CONFIG_CHIPRAM_DDR_CUSTOMIZE $(BSP_DDR_CUSTOMIZE_SIZE) " >> $(BSP_CHIPRAM_CONFIG) endif ifeq ($(strip $(BSP_HWFEATURE_DDR)),true) @echo "#define CONFIG_CHIPRAM_DDR_MAX_FREQ 1536" >> $(BSP_CHIPRAM_CONFIG) endif $(MAKE) CROSS_COMPILE=$(LOCAL_TOOLCHAIN) AP_VERSION="$(ANDROID_BUILD_DESC)" CONFIG_EMMC_SPL=true O=$(BSP_CHIPRAM_OUT) -j$(BSP_OBJ) @mkdir -p $(BSP_CHIPRAM_DIST)/.out @cp $(BSP_BUILT_SPL) $(BSP_CHIPRAM_DIST)/.out/u-boot-spl-16k-emmc.bin @cp $(BSP_BUILT_SPL_ELF) $(BSP_CHIPRAM_DIST)/.out/u-boot-spl-16k-emmc @cp $(BSP_BUILT_SPL_MAP) $(BSP_CHIPRAM_DIST)/.out/u-boot-spl-emmc.map @mv $(BSP_CHIPRAM_DIST)/.out/* $(BSP_CHIPRAM_DIST)/ @echo "Install chipram spl-emmc target done" @rm -rf $(BSP_CHIPRAM_OUT)/.out else $(MAKE) CROSS_COMPILE=$(LOCAL_TOOLCHAIN) AP_VERSION="$(ANDROID_BUILD_DESC)" O=$(BSP_CHIPRAM_OUT) -j$(BSP_OBJ) @mkdir -p $(BSP_CHIPRAM_DIST) # @cp $(BSP_BUILT_SPL) $(BSP_CHIPRAM_DIST) # @cp $(BSP_BUILT_DDR_SCAN) $(BSP_CHIPRAM_DIST) # @cp $(BSP_BUILT_FDL1) $(BSP_CHIPRAM_DIST) @echo "Install chipram target done" endif .PHONY: $(BSP_CHIPRAM_OUT) $(BSP_CHIPRAM_OUT): @echo "Start chipram build" $(BSP_CHIPRAM_CONFIG): $(BSP_CHIPRAM_OUT) @mkdir -p $(BSP_CHIPRAM_OUT) $(MAKE) CROSS_COMPILE=$(LOCAL_TOOLCHAIN) O=$(BSP_CHIPRAM_OUT) distclean ifeq ($(strip $(BSP_CHIPRAM_DEFCONFIG)),) $(MAKE) CROSS_COMPILE=$(LOCAL_TOOLCHAIN) O=$(BSP_CHIPRAM_OUT) $(BSP_UBOOT_DEFCONFIG)_config else $(MAKE) CROSS_COMPILE=$(LOCAL_TOOLCHAIN) O=$(BSP_CHIPRAM_OUT) $(BSP_CHIPRAM_DEFCONFIG)_config endif ifeq ($(strip $(BOARD_KERNEL_SEPARATED_DT)),true) @echo "#define CONFIG_OF_LIBFDT" >> $(BSP_CHIPRAM_CONFIG) endif ifeq ($(strip $(TARGET_BUILD_VARIANT)),userdebug) @echo "#define CONFIG_DEBUG" >> $(BSP_CHIPRAM_CONFIG) endif ifeq ($(strip $(BSP_BUILD_VARIANT)),userdebug) @echo "#define CONFIG_DEBUG" >> $(BSP_CHIPRAM_CONFIG) endif #ifeq ($(strip $(BSP_KERNEL_VERSION)),kernel4.14) ifeq ($(strip $(BSP_PRODUCT_SECURE_BOOT)),SPRD) @echo "#define CONFIG_SPRD_SECBOOT" >> $(BSP_CHIPRAM_CONFIG) @echo "#define CONFIG_SECBOOT" >> $(BSP_CHIPRAM_CONFIG) @echo "CONFIG_SPRD_SECBOOT = y" >> $(BSP_CHIPRAM_OUT)/include/config.mk endif ifeq ($(strip $(BSP_PRODUCT_DISABLE_VAB)),true) @echo "#define CONFIG_DISABLE_VAB" >> $(BSP_CHIPRAM_CONFIG) endif ifeq ($(strip $(BSP_NOT_VERIFY_MODEM_FLAG)),true) @echo "#define NOT_VERIFY_MODEM" >> $(BSP_CHIPRAM_CONFIG) @echo "NOT_VERIFY_MODEM = y" >> $(BSP_CHIPRAM_OUT)/include/config.mk endif ifeq ($(strip $(BSP_KCE_ENCRYPT_FLAG)),true) @echo "#define KCE_ENCRYPT_FLAG" >> $(BSP_CHIPRAM_CONFIG) @echo "KCE_ENCRYPT_FLAG = y" >> $(BSP_CHIPRAM_OUT)/include/config.mk endif ifeq ($(strip $(BSP_PKCS1_PSS_FLAG)),true) @echo "#define PKCS1_PSS_FLAG" >> $(BSP_CHIPRAM_CONFIG) @echo "PKCS1_PSS_FLAG = y" >> $(BSP_CHIPRAM_OUT)/include/config.mk endif ifeq ($(strip $(BSP_SPRD_SECUREBOOT_ALGORITHM)),ecc384) @echo "#define CONFIG_SECBOOT_ECC_ALGORITHM" >> $(BSP_CHIPRAM_CONFIG) @echo "CONFIG_SECBOOT_ECC_ALGORITHM = y" >> $(BSP_CHIPRAM_OUT)/include/config.mk endif ifeq ($(strip $(BSP_SECURE_BOOT_KCE)),true) @echo "#define CHIPRAM_KCE_FLAG" >> $(BSP_CHIPRAM_CONFIG) @echo "CHIPRAM_KCE_FLAG = y" >> $(BSP_CHIPRAM_OUT)/include/config.mk endif ifeq ($(strip $(BOARD_KBC_BYPASS_SECURE_BOOT)),true) @echo "#define CONFIG_KBC_BYPASS_SECURE_BOOT" >> $(BSP_CHIPRAM_CONFIG) endif #endif #BSP_KERNEL_VERSION ifeq ($(strip $(BSP_BOARD_TEE_CONFIG)),trusty) @echo "#define CONFIG_LOAD_TOS_ALONE 1" >> $(BSP_CHIPRAM_CONFIG) @echo "CONFIG_LOAD_TOS_ALONE = y" >> $(BSP_CHIPRAM_OUT)/include/config.mk endif ifeq ($(strip $(BSP_BOARD_TEECFG_CUSTOM)),true) @echo "#define CONFIG_TEECFG_CUSTOM 1" >> $(BSP_CHIPRAM_CONFIG) @echo "CONFIG_TEECFG_CUSTOM = y" >> $(BSP_CHIPRAM_OUT)/include/config.mk ifneq ($(strip $(BSP_BOARD_TEECFG_MEM_ADDR)),) @echo "#define CONFIG_TEECFG_LDADDR_START $(BSP_BOARD_TEECFG_MEM_ADDR)" >> $(BSP_CHIPRAM_CONFIG) endif ifneq ($(strip $(BSP_BOARD_TEECFG_MEM_SIZE)),) @echo "#define CONFIG_TEECFG_MEM_SIZE $(BSP_BOARD_TEECFG_MEM_SIZE)" >> $(BSP_CHIPRAM_CONFIG) endif endif ifeq ($(strip $(BSP_BOARD_ATF_CONFIG)),true) @echo "#define CONFIG_LOAD_ATF 1" >> $(BSP_CHIPRAM_CONFIG) @echo "CONFIG_LOAD_ATF = y" >> $(BSP_CHIPRAM_OUT)/include/config.mk ifeq ($(strip $(BSP_BOARD_ATF_BOOT_TOS_CONFIG)),true) @echo "#define CONFIG_ATF_BOOT_TOS 1" >> $(BSP_CHIPRAM_CONFIG) @echo "CONFIG_ATF_BOOT_TOS = y" >> $(BSP_CHIPRAM_OUT)/include/config.mk endif endif ifneq ($(strip $(BSP_BOARD_SML_MEM_ADDR)),) @echo "#define CONFIG_SML_LDADDR_START $(BSP_BOARD_SML_MEM_ADDR)" >> $(BSP_CHIPRAM_CONFIG) endif ifneq ($(strip $(BSP_BOARD_TOS_MEM_ADDR)),) @echo "#define CONFIG_TOS_LDADDR_START $(BSP_BOARD_TOS_MEM_ADDR)" >> $(BSP_CHIPRAM_CONFIG) endif ifneq ($(strip $(BSP_BOARD_SEC_MEM_SIZE)),) @echo "#define CONFIG_SML_TOS_RUNNING_SIZE $(BSP_BOARD_SEC_MEM_SIZE)" >>$(BSP_CHIPRAM_CONFIG) @echo "#define CONFIG_SEC_MEM_SIZE $(BSP_BOARD_SEC_MEM_SIZE)" >>$(BSP_CHIPRAM_CONFIG) endif ifeq ($(strip $(BSP_DDR_512M_LIMITED)),true) @echo "#define CONFIG_CHIPRAM_DDR_512M " >> $(BSP_CHIPRAM_CONFIG) endif ifeq ($(strip $(BSP_DDR_1G_LIMITED)),true) @echo "#define CONFIG_CHIPRAM_DDR_1G " >> $(BSP_CHIPRAM_CONFIG) endif ifeq ($(strip $(BSP_DDR_CUSTOMIZE_LIMITED)),true) @echo "#define CONFIG_CHIPRAM_DDR_CUSTOMIZE $(BSP_DDR_CUSTOMIZE_SIZE) " >> $(BSP_CHIPRAM_CONFIG) endif ifeq ($(strip $(BSP_HWFEATURE_DDR)),true) @echo "#define CONFIG_CHIPRAM_DDR_MAX_FREQ 1536" >> $(BSP_CHIPRAM_CONFIG) endif