[v2] atf: Reorganize

Submitted by C.R. Guo on March 19, 2019, 4:01 a.m. | Patch ID: 159656

Details

Message ID 1552968095-28896-1-git-send-email-chunrong.guo@nxp.com
State New
Headers show

Commit Message

C.R. Guo March 19, 2019, 4:01 a.m.
From: Chunrong Guo <chunrong.guo@nxp.com>

*Add FUSE DISTRO_FEATURES
*Add chassistype and ddrphyopt
*Install srk.pri and srk.pub

Signed-off-by: Chunrong Guo <chunrong.guo@nxp.com>
---
 recipes-bsp/atf/atf_git.bb | 93 +++++++++++++++++++++++++++++++++-------------
 1 file changed, 68 insertions(+), 25 deletions(-)

Patch hide | download patch | download mbox

diff --git a/recipes-bsp/atf/atf_git.bb b/recipes-bsp/atf/atf_git.bb
index 45bd376..fd1ee30 100644
--- a/recipes-bsp/atf/atf_git.bb
+++ b/recipes-bsp/atf/atf_git.bb
@@ -2,6 +2,7 @@  DESCRIPTION = "ARM Trusted Firmware"
 
 LICENSE = "BSD"
 LIC_FILES_CHKSUM = "file://license.rst;md5=e927e02bca647e14efd87e9e914b2443"
+PR = "r1"
 
 inherit deploy
 
@@ -29,21 +30,27 @@  LDFLAGS[unexport] = "1"
 AS[unexport] = "1"
 LD[unexport] = "1"
 
-# set secure option
-# fuseopt ?= "FUSE_PROV=1  FUSE_FILE=$(CONFIG_SEC_FUSE_FILE)"
-
 BOOTTYPE ?= "nor nand qspi flexspi_nor sd emmc"
-BUILD_SECURE = "${@bb.utils.contains('COMBINED_FEATURES', 'secure', 'true', 'false', d)}"
-BUILD_OPTEE = "${@bb.utils.contains('COMBINED_FEATURES', 'optee', 'true', 'false', d)}"
+BUILD_SECURE = "${@bb.utils.contains('DISTRO_FEATURES', 'secure', 'true', 'false', d)}"
+BUILD_OPTEE = "${@bb.utils.contains('DISTRO_FEATURES', 'optee', 'true', 'false', d)}"
+BUILD_FUSE = "${@bb.utils.contains('DISTRO_FEATURES', 'fuse', 'true', 'false', d)}"
 
 uboot_boot_sec ?= "${DEPLOY_DIR_IMAGE}/u-boot.bin-tfa-secure-boot"
 uboot_boot ?= "${DEPLOY_DIR_IMAGE}/u-boot.bin-tfa"
 rcw ?= ""
 rcw_ls1012afrwy = "_default"
 rcw_ls1012ardb = "_default"
-rcwsec ?= ""
-rcwsec_ls1012afrwy = "_sben"
-rcwsec_ls1012ardb = "_sben"
+rcwsec ?= "_sben"
+
+chassistype ?= "ls2088_1088"
+chassistype_ls1012ardb = "ls104x_1012"
+chassistype_ls1012afrwy = "ls104x_1012"
+chassistype_ls1043ardb = "ls104x_1012"
+chassistype_ls1046ardb = "ls104x_1012"
+
+ddrphyopt ?= ""
+ddrphyopt_lx2160ardb = "fip_ddr_sec"
+
 do_configure[noexec] = "1"
 
 do_compile() {
@@ -51,14 +58,23 @@  do_compile() {
     install -d ${S}/include/tools_share/openssl
     cp -r ${RECIPE_SYSROOT}/usr/include/openssl/*   ${S}/include/tools_share/openssl
     ${RECIPE_SYSROOT_NATIVE}/usr/bin/cst/gen_keys 1024
+
+    if [ "${BUILD_FUSE}" = "true" ]; then
+       ${RECIPE_SYSROOT_NATIVE}/usr/bin/cst/gen_fusescr ${RECIPE_SYSROOT_NATIVE}/usr/bin/cst/input_files/gen_fusescr/${chassistype}/input_fuse_file
+       fuseopt="fip_fuse FUSE_PROG=1 FUSE_PROV_FILE=fuse_scr.bin"
+    fi
     if [ "${BUILD_SECURE}" = "true" ]; then
-        secureopt="TRUSTED_BOARD_BOOT=1 $ddrphyopt CST_DIR=${RECIPE_SYSROOT_NATIVE}/usr/bin/cst"
+        secureopt="TRUSTED_BOARD_BOOT=1 ${ddrphyopt} CST_DIR=${RECIPE_SYSROOT_NATIVE}/usr/bin/cst"
         secext="_sec"
         bl33="${uboot_boot_sec}"
-        rcwsec="${rcwsec}"
+        if [ ${chassistype} = ls104x_1012 ]; then
+            rcwtemp="${rcwsec}"
+        else
+            rcwtemp="${rcw}"
+        fi
     else
         bl33="${uboot_boot}"
-        rcwsec="${rcw}"
+        rcwtemp="${rcw}"
     fi       
 
     if [ "${BUILD_OPTEE}" = "true" ]; then
@@ -70,39 +86,47 @@  do_compile() {
     for d in ${BOOTTYPE}; do
         case $d in
         nor)
-            rcwimg="${RCWNOR}${rcwsec}.bin"
+            rcwimg="${RCWNOR}${rcwtemp}.bin"
             uefiboot="${UEFI_NORBOOT}"
             ;;
         nand)
-            rcwimg="${RCWNAND}${rcwsec}.bin"
+            rcwimg="${RCWNAND}${rcwtemp}.bin"
             ;;
         qspi)
-            rcwimg="${RCWQSPI}${rcwsec}.bin"
+            rcwimg="${RCWQSPI}${rcwtemp}.bin"
             ;;
         sd)
-            rcwimg="${RCWSD}${rcwsec}.bin"
+            rcwimg="${RCWSD}${rcwtemp}.bin"
             ;;
         flexspi_nor)
-            rcwimg="${RCWXSPI}${rcwsec}.bin"
+            rcwimg="${RCWXSPI}${rcwtemp}.bin"
             uefiboot="${UEFI_XSPIBOOT}"
             ;;        
         esac
             
 	if [ -f "${DEPLOY_DIR_IMAGE}/rcw/${PLATFORM}/${rcwimg}" ]; then
+                oe_runmake V=1 -C ${S} realclean
+                oe_runmake V=1 -C ${S} all fip pbl PLAT=${PLATFORM} BOOT_MODE=${d} RCW=${DEPLOY_DIR_IMAGE}/rcw/${PLATFORM}/${rcwimg} BL33=${bl33} ${bl32opt} ${spdopt} ${secureopt} ${fuseopt}
+                cp -r ${S}/build/${PLATFORM}/release/bl2_${d}*.pbl ${S}
+                cp -r ${S}/build/${PLATFORM}/release/fip.bin ${S}
+                if [ "${BUILD_FUSE}" = "true" ]; then
+                    cp -f ${S}/build/${PLATFORM}/release/fuse_fip.bin ${S}
+                fi
+
                 if [ ${MACHINE} = ls1012afrwy ]; then
                     oe_runmake V=1 -C ${S} realclean
                     oe_runmake V=1 -C ${S} all fip pbl PLAT=ls1012afrwy_512mb BOOT_MODE=${d} RCW=${DEPLOY_DIR_IMAGE}/rcw/${PLATFORM}/${rcwimg} BL33=${bl33} ${bl32opt} ${spdopt} ${secureopt} ${fuseopt}
-                    cp -r ${S}/build/ls1012afrwy_512mb/release/bl2_qspi.pbl ${S}/bl2_${d}_512mb.pbl
+                    cp -r ${S}/build/ls1012afrwy_512mb/release/bl2_qspi${secext}.pbl ${S}/bl2_${d}${secext}_512mb.pbl
                     cp -r ${S}/build/ls1012afrwy_512mb/release/fip.bin ${S}/fip_512mb.bin
+                    if [ "${BUILD_FUSE}" = "true" ]; then
+                        cp -r ${S}/build/ls1012afrwy_512mb/release/fuse_fip.bin ${S}/fuse_fip_512mb.bin
+                    fi
                 fi
                 if [ -n "${uefiboot}" ]; then
                     oe_runmake V=1 -C ${S} realclean
                     oe_runmake V=1 -C ${S} all fip pbl PLAT=${PLATFORM} BOOT_MODE=${d} RCW=${DEPLOY_DIR_IMAGE}/rcw/${PLATFORM}/${rcwimg} BL33=${DEPLOY_DIR_IMAGE}/uefi/${PLATFORM}/${uefiboot} ${bl32opt} ${spdopt} ${secureopt} ${fuseopt}
                     cp -r ${S}/build/${PLATFORM}/release/fip.bin ${S}/fip_uefi.bin
                 fi
-                oe_runmake V=1 -C ${S} realclean
-                oe_runmake V=1 -C ${S} all fip pbl PLAT=${PLATFORM} BOOT_MODE=${d} RCW=${DEPLOY_DIR_IMAGE}/rcw/${PLATFORM}/${rcwimg} BL33=${bl33} ${bl32opt} ${spdopt} ${secureopt} ${fuseopt}
-                cp -r ${S}/build/${PLATFORM}/release/bl2_${d}*.pbl ${S}
         fi
         rcwimg=""
         uefiboot=""
@@ -111,13 +135,20 @@  do_compile() {
 
 do_install() {
     install -d ${D}/boot/atf
-    if [ "${BUILD_SECURE}" = "y" ]; then
+    cp -r ${S}/srk.pri ${D}/boot/atf
+    cp -r ${S}/srk.pub ${D}/boot/atf
+    if [ "${BUILD_SECURE}" = "true" ]; then
         secext="_sec"
     fi
     if [ -f "${S}/fip_uefi.bin" ]; then
         cp -r ${S}/fip_uefi.bin ${D}/boot/atf/fip_uefi.bin
     fi
-    cp -r ${S}/build/${PLATFORM}/release/fip.bin ${D}/boot/atf/fip.bin
+    if [ -f "${S}/fuse_fip.bin" ]; then
+        cp -r ${S}/fuse_fip.bin ${D}/boot/atf/fuse_fip.bin
+    fi
+    if [ -f "${S}/fip.bin" ]; then
+        cp -r ${S}/fip.bin ${D}/boot/atf/fip.bin
+    fi
     for d in ${BOOTTYPE}; do
         if [ -e  ${S}/bl2_${d}${secext}.pbl ]; then
             cp -r ${S}/bl2_${d}${secext}.pbl ${D}/boot/atf/bl2_${d}${secext}.pbl
@@ -125,16 +156,25 @@  do_install() {
     done
     if [ ${MACHINE} = ls1012afrwy ]; then
             cp -r ${S}/fip_512mb.bin ${D}/boot/atf/fip_512mb.bin
-            cp -r ${S}/bl2_qspi_512mb.pbl ${D}/boot/atf/fip_512mb.bin
+            cp -r ${S}/bl2_qspi${secext}_512mb.pbl ${D}/boot/atf/bl2_qspi${secext}_512mb.pbl
+            if [ -f "${S}/fuse_fip_512mb.bin" ]; then
+                cp -r ${S}/fuse_fip_512mb.bin ${D}/boot/atf/fuse_fip_512mb.bin
+            fi
     fi
     chown -R root:root ${D}
 }
 
 do_deploy() {
     install -d ${DEPLOYDIR}/atf
-    if [ "${BUILD_SECURE}" = "y" ]; then
+    cp -r ${D}/boot/atf/srk.pri ${DEPLOYDIR}/atf
+    cp -r  ${D}/boot/atf/srk.pub ${DEPLOYDIR}/atf
+    if [ "${BUILD_SECURE}" = "true" ]; then
         secext="_sec"
     fi
+        
+    if [ -f "${S}/fuse_fip.bin" ]; then
+        cp -r ${D}/boot/atf/fuse_fip.bin ${DEPLOYDIR}/atf/fuse_fip${secext}.bin
+    fi
 
     if [ -e ${D}/boot/atf/fip_uefi.bin ]; then
         cp -r ${D}/boot/atf/fip_uefi.bin ${DEPLOYDIR}/atf/fip_uefi.bin
@@ -146,8 +186,11 @@  do_deploy() {
         fi
     done
     if [ ${MACHINE} = ls1012afrwy ]; then
-        cp -r ${S}/bl2_qspi_512mb.pbl ${DEPLOYDIR}/atf/
+        cp -r ${S}/bl2_qspi${secext}_512mb.pbl ${DEPLOYDIR}/atf/
         cp -r ${S}/fip_512mb.bin ${DEPLOYDIR}/atf/fip_uboot${secext}_512mb.bin
+        if [ -f "${S}/fuse_fip_512mb.bin" ]; then
+                cp -r ${S}/fuse_fip_512mb.bin ${D}/boot/atf/fuse_fip_512mb${secext}.bin
+        fi
     fi
 }
 addtask deploy after do_install