X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=meta-agl-refhw-gen3%2Frecipes-bsp%2Farm-trusted-firmware%2Farm-trusted-firmware_%25.bbappend;h=09c7a76ba99f8d3748b814d9d87b90042eb59c18;hb=67a9b0cff91f63f087639fd33d16598dda6f7d09;hp=951a34f4041c95fd755c3e536d92c5372955636a;hpb=5b115837394e7a408638c0d46cde1b689d03832f;p=AGL%2Fmeta-agl-refhw.git diff --git a/meta-agl-refhw-gen3/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_%.bbappend b/meta-agl-refhw-gen3/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_%.bbappend index 951a34f..09c7a76 100644 --- a/meta-agl-refhw-gen3/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_%.bbappend +++ b/meta-agl-refhw-gen3/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_%.bbappend @@ -1,29 +1,66 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/files:" + +SRC_URI_append_rcar-gen3 = " file://0001-rcar_gen3-plat-Delete-FDT-function-calls.patch" + +# Apply the patch AGL applies for all rcar3 in meta-agl-bsp when +# building the standalone agl-refhw-h3 machine. +SRC_URI_append_agl-refhw-h3 = " file://0001-Boot-Normal-World-in-EL2.patch" + # It is believed the eMMC configuration below makes the result AGL -# reference hardware specific, mark it as such to try to prevent -# unintended usage on other boards. -COMPATIBLE_MACHINE = "agl-refhw-h3" +# reference hardware specific, mark it as such when building with +# MACHINE=agl-refhw-h3 to potentially flag this in an incorrectly +# configured build. +COMPATIBLE_MACHINE_agl-refhw-h3 = "agl-refhw-h3" # There are hardware issues in using hyperflash. arm-trusted-firmware, optee and # u-boot have to be stored into eMMC by using serial donwload. EMMC_BOOT_OPTION = "RCAR_SA6_TYPE=1" -DDR_8G_OPTION= "RCAR_DRAM_LPDDR4_MEMCONF=1" +# RCAR_DRAM_MEMRANK must be set, since in case of RCAR_DRAM_LPDDR4_MEMCONF=1 +# ddr_rank_judge is called. But for RCAR_DRAM_MEMRANK=0 it can determine values +# only for Salvator XS and Starter Kit Pre. +# +# RCAR_DRAM_MEMRANK=2 is set because for ATF from BSP v4.7.0: +# +# https://github.com/renesas-rcar/arm-trusted-firmware/tree/af9f429a48b438e314289f17947ad5d8036f398e +# +# _board_judge returns hardcoded 'brd = 8; /* 8Gbit/2rank */' by default. +# +DDR_8G_OPTION = "RCAR_DRAM_LPDDR4_MEMCONF=1 RCAR_DRAM_MEMRANK=2" -ATFW_OPT_append_agl-refhw-h3 = " ${EMMC_BOOT_OPTION}" +ATFW_OPT_agl-refhw-h3 = "LSI=H3 RCAR_DRAM_SPLIT=1 ${EMMC_BOOT_OPTION} ${DDR_8G_OPTION}" -# In arm-trusted-firmware-control.inc, a "extra_ipl_opt" task is appended to -# create firmware for 4x2g or 2x2g variation. it is supposed to use -# EXTRA_ATFW_OPT to customize the compiler opton. # -#EXTRA_ATFW_OPT_append_agl-refhw-h3 = " ${EMMC_BOOT_OPTION} ${DDR_8G_OPTION}" +# Handle building as extra firmware with MACHINE=h3ulcb # -# Unfortunately in do_extra_ipl_opt() it use d.setVar() instead of d.appendVar() -# to setup EXTRA_ATFW_OPT variable which makes it impossible to customize it properly -# by others... Override it. -# + +# Build options for building as extra firmware when MACHINE=h3ulcb, based on H3[4x2g] +H3ULCB[agl-refhw-4x2g] = "LSI=H3 RCAR_DRAM_SPLIT=1 ${EMMC_BOOT_OPTION} ${DDR_8G_OPTION}" + +# +# Need to prepend the compile tasks with a distclean that actually cleans +# out all the platform specific files like the new rcar_layout_tool output, +# otherwise they do not get rebuilt and board builds can get the wrong +# version of e.g. cert_headers_sa6. This needs to be addressed with +# upstream. # -do_ipl_opt_compile_agl-refhw-h3 () { - oe_runmake distclean - oe_runmake bl2 bl31 dummytool PLAT=${PLATFORM} ${EXTRA_ATFW_OPT} ${ATFW_OPT_LOSSY} ${EMMC_BOOT_OPTION} ${DDR_8G_OPTION} + +do_compile_prepend() { + oe_runmake distclean PLAT=${PLATFORM} MBEDTLS_COMMON_MK=1 ${ATFW_OPT} +} + +do_ipl_opt_compile_prepend() { + oe_runmake distclean PLAT=${PLATFORM} MBEDTLS_COMMON_MK=1 ${ATFW_OPT} +} + +do_extra_ipl_opt_refhw_fixup() { + # Rename agl-refhw-h3 firmware files to drop h3ulcb- + for f in ${DEPLOYDIR}/*-h3ulcb-agl-refhw-4x2g*; do + n=`basename $f | sed 's/h3ulcb-//'` + mv -f $f ${DEPLOYDIR}/$n + done } +EXTRA_IPL_OPT_POSTFUNCS = "" +EXTRA_IPL_OPT_POSTFUNCS_h3ulcb = "do_extra_ipl_opt_refhw_fixup" +do_extra_ipl_opt[postfuncs] += "${EXTRA_IPL_OPT_POSTFUNCS}"