149 lines
5.1 KiB
BlitzBasic
Executable File
149 lines
5.1 KiB
BlitzBasic
Executable File
SUMMARY = "Initial chipram"
|
|
|
|
LICENSE = "GPLv2"
|
|
PV = "0.1"
|
|
PR = "r0"
|
|
LIC_FILES_CHKSUM = "file://COPYING;md5=d41d8cd98f00b204e9800998ecf8427e"
|
|
|
|
inherit sign_unisoc_binary deploy
|
|
#UNISOC_SIGN_ENABLE ?= "no"
|
|
UNISOC_SIGN_ENABLE ?= "yes"
|
|
DEPENDS += "unisoc-sign-native"
|
|
|
|
CHIPRAM_MACHINE ?=""
|
|
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
|
|
|
CHIPRAM_DEBUG ?="${@bb.utils.contains('USERDEBUG', 'userdebug', '-DCONFIG_DEBUG', '', d)}"
|
|
export CHIPRAM_DEBUG_FLAG="${CHIPRAM_DEBUG}"
|
|
|
|
CHIPRAM_PATCH_FILEPATH ?=""
|
|
FILESEXTRAPATHS:prepend := "${CHIPRAM_PATCH_FILEPATH}:"
|
|
|
|
CHIPRAM_MACHINE_PATCH ?=""
|
|
SRC_URI = " \
|
|
${CHIPRAM_MACHINE_PATCH} \
|
|
"
|
|
|
|
STORAGE_TYPE ?= "none"
|
|
DEPENDS += "${@bb.utils.contains('STORAGE_TYPE', 'nand', 'mcp-gen-native', '', d)}"
|
|
export CHIPRAM_SECURE_BOOT_FLAG="${CHIPRAM_SECSET}"
|
|
|
|
do_compile () {
|
|
if [ ${STORAGE_TYPE} = "nand" ]; then
|
|
#add include file of nand paramters before compiling
|
|
perl ${STAGING_BINDIR_NATIVE}/nandgen.pl \
|
|
-h ${EXTERNALSRC}/include/sprd_nand_param.h \
|
|
-x ${STAGING_BINDIR_NATIVE}/mcp.xls
|
|
fi
|
|
|
|
if [ ${AB_PARTITIONS} = "true" ]; then
|
|
export CONFIG_AB_PARTITIONS=true
|
|
fi
|
|
|
|
if [ ${MULTI_LUNS} = "true" ]; then
|
|
export CONFIG_UFS_MULTI_LUNS=true
|
|
fi
|
|
|
|
if [ -n "${CHIPRAM_MACHINE}" ] ;then
|
|
if [ -z "${CHIPRAM_CROSS_COMPILE_DIR}" ] ;then
|
|
export CROSS_COMPILE=${TARGET_PREFIX}
|
|
if [ ${CHIPRAM_SUPPORT_BOTH_EMMC_UFS} = "yes" ] || [ ${CHIPRAM_SUPPORT_BOTH_EMMC_NAND} = "yes" ]; then
|
|
#########build spl-emmc.bin###########################
|
|
export CONFIG_EMMC_SPL=true
|
|
oe_runmake -C ${S} O=${B} distclean
|
|
oe_runmake -C ${S} O=${B}/emmc ${CHIPRAM_MACHINE}
|
|
oe_runmake -C ${S} O=${B}/emmc
|
|
|
|
if [ ${CHIPRAM_SUPPORT_BOTH_EMMC_UFS} = "yes" ]; then
|
|
#########build spl-ufs.bin###########################
|
|
export CONFIG_UFS_SPL=true
|
|
oe_runmake -C ${S} O=${B}/ufs ${CHIPRAM_MACHINE}
|
|
oe_runmake -C ${S} O=${B}/ufs
|
|
fi
|
|
|
|
if [ ${SUPPORT_EMMC_UFS_SDBOOT} = "yes" ]; then
|
|
#########build spl-sd.bin###########################
|
|
export CONFIG_SD_SPL=true
|
|
oe_runmake -C ${S} O=${B}/sd ${CHIPRAM_MACHINE}
|
|
oe_runmake -C ${S} O=${B}/sd
|
|
fi
|
|
|
|
if [ ${CHIPRAM_SUPPORT_BOTH_EMMC_NAND} = "yes" ]; then
|
|
#########build spl-nand.bin###########################
|
|
install -m 0644 ${S}/../../devtools/mcp_gen/mcp.xls ${STAGING_BINDIR_NATIVE}/
|
|
install -m 0755 ${S}/../../devtools/mcp_gen/*.pl ${STAGING_BINDIR_NATIVE}/
|
|
install -m 0755 ${S}/../../devtools/mcp_gen/*.sh ${STAGING_BINDIR_NATIVE}/
|
|
cp -av ${S}/../../devtools/mcp_gen/Spreadsheet ${STAGING_BINDIR_NATIVE}/Spreadsheet
|
|
|
|
#add include file of nand paramters before compiling
|
|
perl ${STAGING_BINDIR_NATIVE}/nandgen.pl \
|
|
-h ${EXTERNALSRC}/include/sprd_nand_param.h \
|
|
-x ${STAGING_BINDIR_NATIVE}/mcp.xls
|
|
|
|
export CONFIG_NANDC_SPL=true
|
|
oe_runmake -C ${S} O=${B}/nand ${CHIPRAM_MACHINE}
|
|
oe_runmake -C ${S} O=${B}/nand
|
|
fi
|
|
else
|
|
if [ ${STORAGE_TYPE} = "nand" ]; then
|
|
export CONFIG_NANDC_SPL=true
|
|
elif [ ${STORAGE_TYPE} = "emmc" ]; then
|
|
export CONFIG_EMMC_SPL=true
|
|
fi
|
|
oe_runmake -C ${S} O=${B} distclean
|
|
oe_runmake -C ${S} O=${B} ${CHIPRAM_MACHINE}
|
|
oe_runmake -C ${S} O=${B}
|
|
fi
|
|
|
|
else
|
|
mkdir -p ${CHIPRAM_CROSS_COMPILE_DIR}/unisoc-tool
|
|
${CHIPRAM_CROSS_COMPILE_DIR}/${CHIPRAM_CROSS_COMPILE_NAME} -d ${CHIPRAM_CROSS_COMPILE_DIR}/unisoc-tool -y
|
|
export CROSS_COMPILE="${CHIPRAM_CROSS_COMPILE_DIR}/unisoc-tool/sysroots/x86_64-unisocsdk-linux/usr/bin/aarch64-unisoc-linux/aarch64-unisoc-linux-"
|
|
oe_runmake -C ${S} O=${B} distclean
|
|
oe_runmake -C ${S} O=${B} ${CHIPRAM_MACHINE}
|
|
oe_runmake -C ${S} O=${B}
|
|
rm -rf ${CHIPRAM_CROSS_COMPILE_DIR}/unisoc-tool
|
|
fi
|
|
fi
|
|
|
|
}
|
|
|
|
do_deploy(){
|
|
if [ -n "${CHIPRAM_MACHINE}" ] ;then
|
|
if [ ${CHIPRAM_SUPPORT_BOTH_EMMC_UFS} = "yes" ] || [ ${CHIPRAM_SUPPORT_BOTH_EMMC_NAND} = "yes" ]; then
|
|
install -d ${DEPLOYDIR}/
|
|
install -m 0644 ${B}/emmc/nand_fdl/fdl1.bin ${DEPLOYDIR}/
|
|
sign_unisoc_bin "${DEPLOYDIR}/fdl1.bin"
|
|
|
|
install -m 0644 ${B}/emmc/nand_spl/u-boot-spl-16k.bin ${DEPLOYDIR}/u-boot-spl-16k.bin
|
|
sign_unisoc_bin "${DEPLOYDIR}/u-boot-spl-16k.bin"
|
|
|
|
install -m 0644 ${B}/emmc/nand_spl/u-boot-spl-16k.bin ${DEPLOYDIR}/u-boot-spl-16k-emmc.bin
|
|
sign_unisoc_bin "${DEPLOYDIR}/u-boot-spl-16k-emmc.bin"
|
|
|
|
if [ ${SUPPORT_EMMC_UFS_SDBOOT} = "yes" ];then
|
|
install -m 0644 ${B}/sd/nand_spl/u-boot-spl-16k.bin ${DEPLOYDIR}/u-boot-spl-16k.bin
|
|
sign_unisoc_bin "${DEPLOYDIR}/u-boot-spl-16k.bin"
|
|
fi
|
|
|
|
if [ ${CHIPRAM_SUPPORT_BOTH_EMMC_UFS} = "yes" ];then
|
|
install -m 0644 ${B}/ufs/nand_spl/u-boot-spl-16k.bin ${DEPLOYDIR}/u-boot-spl-16k-ufs.bin
|
|
sign_unisoc_bin "${DEPLOYDIR}/u-boot-spl-16k-ufs.bin"
|
|
fi
|
|
|
|
if [ ${CHIPRAM_SUPPORT_BOTH_EMMC_NAND} = "yes" ];then
|
|
install -m 0644 ${B}/nand/nand_spl/u-boot-spl-16k.bin ${DEPLOYDIR}/u-boot-spl-16k-nand.bin
|
|
sign_unisoc_bin "${DEPLOYDIR}/u-boot-spl-16k-nand.bin"
|
|
fi
|
|
else
|
|
install -d ${DEPLOYDIR}/
|
|
install -m 0644 ${B}nand_fdl/fdl1.bin ${DEPLOYDIR}/
|
|
sign_unisoc_bin "${DEPLOYDIR}/fdl1.bin"
|
|
|
|
install -m 0644 ${B}nand_spl/u-boot-spl-16k.bin ${DEPLOYDIR}/
|
|
sign_unisoc_bin "${DEPLOYDIR}/u-boot-spl-16k.bin"
|
|
fi
|
|
fi
|
|
}
|
|
addtask deploy before do_build after do_compile
|