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