diff mbox series

[meta-ti,master/kirkstone,7/7] conf: machine: Rework do_image_wic dependencies

Message ID 20221207214312.21735-7-afd@ti.com
State Accepted
Delegated to: Ryan Eatmon
Headers show
Series [meta-ti,master/kirkstone,1/7] conf: machine: Remove multi-certificate image comment | expand

Commit Message

Andrew Davis Dec. 7, 2022, 9:43 p.m. UTC
The WIC image for K3 depends on the TI-SCI firmware, on AM65x and J721e
also the bootloader. Make this clear by only depending on firmware in
the base k3.inc file, then adding the bootloader dependency in AM65x and
J721e specific includes.

Remove unneeded overrides from the evm level files.

Remove do_image_tar dependencies as the tar files do not include
the bootloader nor TI-SCI firmware, only the boot partition of
the WIC file needs these.

Signed-off-by: Andrew Davis <afd@ti.com>
---
 meta-ti-bsp/conf/machine/include/am62xx.inc   |  3 ---
 meta-ti-bsp/conf/machine/include/am64xx.inc   |  8 +++-----
 meta-ti-bsp/conf/machine/include/am65xx.inc   | 10 +++++-----
 meta-ti-bsp/conf/machine/include/j721e.inc    | 11 +++++++++++
 meta-ti-bsp/conf/machine/include/k3.inc       |  3 +--
 meta-ti-bsp/conf/machine/include/omap-a15.inc |  2 +-
 meta-ti-bsp/conf/machine/include/ti43x.inc    |  2 +-
 meta-ti-bsp/conf/machine/j7200-evm.conf       |  3 ---
 meta-ti-bsp/conf/machine/j721e-evm.conf       |  3 ---
 meta-ti-bsp/conf/machine/j721e-hs-evm.conf    |  7 -------
 meta-ti-bsp/conf/machine/j721s2-evm.conf      |  3 ---
 meta-ti-bsp/conf/machine/j784s4-evm.conf      |  3 ---
 12 files changed, 22 insertions(+), 36 deletions(-)

Comments

Denys Dmytriyenko Dec. 12, 2022, 10:26 p.m. UTC | #1
On Wed, Dec 07, 2022 at 03:43:12PM -0600, Andrew Davis via lists.yoctoproject.org wrote:
> The WIC image for K3 depends on the TI-SCI firmware, on AM65x and J721e
> also the bootloader. Make this clear by only depending on firmware in
> the base k3.inc file, then adding the bootloader dependency in AM65x and
> J721e specific includes.

I'd like to suggest a bit more detailed commenting around the depends and 
mcdepends and boot files, especially with this cleanup. Specifically mention 
second/third stage bootloaders and FWs, e.g. R5 SPL vs. A53/A72 SPL vs. 
A53/A72 U-boot vs. TI-SCI when pulling dependencies - tiboot3.bin, sysfw.itb, 
tispl.bin, u-boot.img and where they all come from. It's getting harder and 
harder for an average user/developer to follow all these details with every 
new K3 SOC release... :)


> Remove unneeded overrides from the evm level files.
> 
> Remove do_image_tar dependencies as the tar files do not include
> the bootloader nor TI-SCI firmware, only the boot partition of
> the WIC file needs these.

Funny that Ryan and I just discussed this usage of do_image_wic and 
do_iamge_tar in another thread (and I haven't yet had time to review this 
series) and I was thinking that indeed we don't really need do_image_tar 
at all, while do_image_wic is rather important.


> Signed-off-by: Andrew Davis <afd@ti.com>
> ---
>  meta-ti-bsp/conf/machine/include/am62xx.inc   |  3 ---
>  meta-ti-bsp/conf/machine/include/am64xx.inc   |  8 +++-----
>  meta-ti-bsp/conf/machine/include/am65xx.inc   | 10 +++++-----
>  meta-ti-bsp/conf/machine/include/j721e.inc    | 11 +++++++++++
>  meta-ti-bsp/conf/machine/include/k3.inc       |  3 +--
>  meta-ti-bsp/conf/machine/include/omap-a15.inc |  2 +-
>  meta-ti-bsp/conf/machine/include/ti43x.inc    |  2 +-
>  meta-ti-bsp/conf/machine/j7200-evm.conf       |  3 ---
>  meta-ti-bsp/conf/machine/j721e-evm.conf       |  3 ---
>  meta-ti-bsp/conf/machine/j721e-hs-evm.conf    |  7 -------
>  meta-ti-bsp/conf/machine/j721s2-evm.conf      |  3 ---
>  meta-ti-bsp/conf/machine/j784s4-evm.conf      |  3 ---
>  12 files changed, 22 insertions(+), 36 deletions(-)
> 
> diff --git a/meta-ti-bsp/conf/machine/include/am62xx.inc b/meta-ti-bsp/conf/machine/include/am62xx.inc
> index 9d8bc87c..411e5265 100644
> --- a/meta-ti-bsp/conf/machine/include/am62xx.inc
> +++ b/meta-ti-bsp/conf/machine/include/am62xx.inc
> @@ -12,9 +12,6 @@ PREFERRED_PROVIDER_virtual/libgles2 ?= "ti-img-rogue-umlibs"
>  PREFERRED_PROVIDER_virtual/libgbm ?= "ti-img-rogue-umlibs"
>  PREFERRED_PROVIDER_virtual/gpudriver ?= "ti-img-rogue-driver"
>  
> -do_image_wic[mcdepends] = "mc::k3r5:ti-sci-fw:do_deploy"
> -do_image_tar[mcdepends] = "mc::k3r5:ti-sci-fw:do_deploy"
> -
>  TFA_BOARD = "lite"
>  TFA_K3_SYSTEM_SUSPEND = "1"
>  
> diff --git a/meta-ti-bsp/conf/machine/include/am64xx.inc b/meta-ti-bsp/conf/machine/include/am64xx.inc
> index f1a91991..0fd15b90 100644
> --- a/meta-ti-bsp/conf/machine/include/am64xx.inc
> +++ b/meta-ti-bsp/conf/machine/include/am64xx.inc
> @@ -17,19 +17,17 @@ KERNEL_DEVICETREE = " \
>  # Default tiboot3.bin on AM64x is for SR2.0 HS-FS
>  BBMULTICONFIG = "k3r5-sr2-hs-fs"
>  do_image_wic[mcdepends] = "mc::k3r5-sr2-hs-fs:ti-sci-fw:do_deploy"
> -do_image_tar[mcdepends] = "mc::k3r5-sr2-hs-fs:ti-sci-fw:do_deploy"
> +IMAGE_BOOT_FILES += "tiboot3-am64x_sr2-hs-fs-evm.bin"
>  
>  # Since default tiboot3.bin on AM64x is for SR2.0 HS-FS, add a version for GP
>  BBMULTICONFIG += "k3r5-gp"
> -IMAGE_BOOT_FILES += "tiboot3-am64x-gp-evm.bin"
>  do_image_wic[mcdepends] += "mc::k3r5-gp:ti-sci-fw:do_deploy"
> -do_image_tar[mcdepends] += "mc::k3r5-gp:ti-sci-fw:do_deploy"
> +IMAGE_BOOT_FILES += "tiboot3-am64x-gp-evm.bin"
>  
>  # Since default tiboot3.bin on AM64x is for SR2.0 HS-FS, add a version for SR2.0 HS-SE
>  BBMULTICONFIG += "k3r5-sr2-hs-se"
> -IMAGE_BOOT_FILES += "tiboot3-am64x_sr2-hs-evm.bin"
>  do_image_wic[mcdepends] += "mc::k3r5-sr2-hs-se:ti-sci-fw:do_deploy"
> -do_image_tar[mcdepends] += "mc::k3r5-sr2-hs-se:ti-sci-fw:do_deploy"
> +IMAGE_BOOT_FILES += "tiboot3-am64x_sr2-hs-evm.bin"
>  
>  TFA_BOARD = "lite"
>  
> diff --git a/meta-ti-bsp/conf/machine/include/am65xx.inc b/meta-ti-bsp/conf/machine/include/am65xx.inc
> index 88259717..424864d3 100644
> --- a/meta-ti-bsp/conf/machine/include/am65xx.inc
> +++ b/meta-ti-bsp/conf/machine/include/am65xx.inc
> @@ -26,17 +26,17 @@ KERNEL_DEVICETREE = " \
>      ti/k3-am654-evm-ov5640.dtbo \
>  "
>  
> -BBMULTICONFIG += "k3r5-sr2"
> +# On AM65x the file tiboot3.bin comes from the bootloader not ti-sci-fw
> +do_image_wic[mcdepends] += "mc::k3r5:virtual/bootloader:do_deploy"
>  
> -# Since J721e does not support multi-cert tiboot3.bin add standalone sysfw.itb
> +# Default sysfw.itb on AM65x is for SR2.0
> +BBMULTICONFIG += "k3r5-sr2"
> +do_image_wic[mcdepends] += "mc::k3r5-sr2:ti-sci-fw:do_deploy"
>  IMAGE_BOOT_FILES += "sysfw.itb"
>  
>  # Since default sysfw.itb on AM65x is for SR2.0, add a version for SR1.0
>  IMAGE_BOOT_FILES += "sysfw-am65x-evm.itb"
>  
> -do_image_wic[mcdepends] += "mc::k3r5-sr2:ti-sci-fw:do_deploy"
> -do_image_tar[mcdepends] += "mc::k3r5-sr2:ti-sci-fw:do_deploy"
> -
>  TFA_BOARD = "generic"
>  
>  OPTEEMACHINE = "k3-am65x"
> diff --git a/meta-ti-bsp/conf/machine/include/j721e.inc b/meta-ti-bsp/conf/machine/include/j721e.inc
> index 12ee0c90..6322fe46 100644
> --- a/meta-ti-bsp/conf/machine/include/j721e.inc
> +++ b/meta-ti-bsp/conf/machine/include/j721e.inc
> @@ -9,6 +9,17 @@ PREFERRED_PROVIDER_virtual/libgles2 ?= "ti-img-rogue-umlibs"
>  PREFERRED_PROVIDER_virtual/libgbm ?= "ti-img-rogue-umlibs"
>  PREFERRED_PROVIDER_virtual/gpudriver ?= "ti-img-rogue-driver"
>  
> +# On J721e the file tiboot3.bin comes from the bootloader not ti-sci-fw
> +do_image_wic[mcdepends] += "mc::k3r5:virtual/bootloader:do_deploy"
> +
> +# Default sysfw.itb on J721e is for SR1.1
> +BBMULTICONFIG += "k3r5-sr1-1"
> +do_image_wic[mcdepends] += "mc::k3r5-sr1-1:ti-sci-fw:do_deploy"
> +IMAGE_BOOT_FILES += "sysfw.itb"
> +
> +# Since default sysfw.itb on J721e is for SR1.1, add a version for SR1.0
> +IMAGE_BOOT_FILES += "sysfw-j721e-evm.itb"
> +
>  TFA_BOARD = "generic"
>  
>  OPTEEMACHINE = "k3-j721e"
> diff --git a/meta-ti-bsp/conf/machine/include/k3.inc b/meta-ti-bsp/conf/machine/include/k3.inc
> index bd71becf..a34b67ff 100644
> --- a/meta-ti-bsp/conf/machine/include/k3.inc
> +++ b/meta-ti-bsp/conf/machine/include/k3.inc
> @@ -47,7 +47,6 @@ MACHINE_FEATURES += "efi"
>  
>  WKS_FILE ?= "sdimage-2part-efi.wks"
>  do_image_wic[depends] += "virtual/bootloader:do_deploy"
> -do_image_wic[mcdepends] += "mc::k3r5:virtual/bootloader:do_deploy mc::k3r5:ti-sci-fw:do_deploy"
> -do_image_tar[mcdepends] += "mc::k3r5:virtual/bootloader:do_deploy mc::k3r5:ti-sci-fw:do_deploy"
> +do_image_wic[mcdepends] += "mc::k3r5:ti-sci-fw:do_deploy"
>  
>  TI_SECURE_DEV_PKG = "${TI_SECURE_DEV_PKG_K3}"
> diff --git a/meta-ti-bsp/conf/machine/include/omap-a15.inc b/meta-ti-bsp/conf/machine/include/omap-a15.inc
> index f548f3fd..0843fb28 100644
> --- a/meta-ti-bsp/conf/machine/include/omap-a15.inc
> +++ b/meta-ti-bsp/conf/machine/include/omap-a15.inc
> @@ -50,4 +50,4 @@ MACHINE_FEATURES = "kernel26 apm usbgadget usbhost vfat ext2 screen alsa etherne
>  IMAGE_FSTYPES += "tar.xz wic.xz wic.bmap"
>  WKS_FILE ?= "sdimage-2part.wks"
>  IMAGE_BOOT_FILES ?= "${SPL_BINARY} u-boot.${UBOOT_SUFFIX} ${UBOOT_EXTLINUX_BOOT_FILES}"
> -do_image_wic[depends] += "u-boot:do_deploy"
> +do_image_wic[depends] += "virtual/bootloader:do_deploy"
> diff --git a/meta-ti-bsp/conf/machine/include/ti43x.inc b/meta-ti-bsp/conf/machine/include/ti43x.inc
> index 5509a54d..74a964db 100644
> --- a/meta-ti-bsp/conf/machine/include/ti43x.inc
> +++ b/meta-ti-bsp/conf/machine/include/ti43x.inc
> @@ -59,4 +59,4 @@ MACHINE_FEATURES = "kernel26 apm usbgadget usbhost vfat ext2 screen alsa etherne
>  IMAGE_FSTYPES += "tar.xz wic.xz wic.bmap"
>  WKS_FILE ?= "sdimage-2part.wks"
>  IMAGE_BOOT_FILES ?= "${SPL_BINARY} u-boot.${UBOOT_SUFFIX} ${UBOOT_EXTLINUX_BOOT_FILES}"
> -do_image_wic[depends] += "u-boot:do_deploy"
> +do_image_wic[depends] += "virtual/bootloader:do_deploy"
> diff --git a/meta-ti-bsp/conf/machine/j7200-evm.conf b/meta-ti-bsp/conf/machine/j7200-evm.conf
> index 303ec182..33c39a52 100644
> --- a/meta-ti-bsp/conf/machine/j7200-evm.conf
> +++ b/meta-ti-bsp/conf/machine/j7200-evm.conf
> @@ -12,6 +12,3 @@ KERNEL_DEVICETREE = " \
>  "
>  
>  UBOOT_MACHINE = "j7200_evm_a72_config"
> -
> -do_image_wic[mcdepends] = "mc::k3r5:ti-sci-fw:do_deploy"
> -do_image_tar[mcdepends] = "mc::k3r5:ti-sci-fw:do_deploy"
> diff --git a/meta-ti-bsp/conf/machine/j721e-evm.conf b/meta-ti-bsp/conf/machine/j721e-evm.conf
> index d28d16d1..fe28e6f5 100644
> --- a/meta-ti-bsp/conf/machine/j721e-evm.conf
> +++ b/meta-ti-bsp/conf/machine/j721e-evm.conf
> @@ -7,9 +7,6 @@ require conf/machine/include/j721e.inc
>  SERIAL_CONSOLES = "115200;ttyS2 115200;ttyS3"
>  SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}"
>  
> -# Since J721e does not support multi-cert tiboot3.bin add standalone sysfw.itb
> -IMAGE_BOOT_FILES += "sysfw.itb"
> -
>  KERNEL_DEVICETREE = " \
>      ti/k3-j721e-common-proc-board.dtb \
>      ti/k3-j721e-common-proc-board-infotainment.dtbo \
> diff --git a/meta-ti-bsp/conf/machine/j721e-hs-evm.conf b/meta-ti-bsp/conf/machine/j721e-hs-evm.conf
> index 9ef7b86a..acd5ca18 100644
> --- a/meta-ti-bsp/conf/machine/j721e-hs-evm.conf
> +++ b/meta-ti-bsp/conf/machine/j721e-hs-evm.conf
> @@ -18,10 +18,3 @@ SPL_BINARY = "tispl.bin_HS"
>  UBOOT_BINARY = "u-boot.img_HS"
>  UBOOT_SYMLINK = "u-boot.img"
>  SYSFW_SYMLINK = ""
> -
> -BBMULTICONFIG += "k3r5-sr1-1"
> -
> -# Since default sysfw.itb on J721e is for SR1.1, add a version for SR1.0
> -IMAGE_BOOT_FILES += "sysfw-j721e-evm.itb"
> -do_image_wic[mcdepends] += "mc::k3r5-sr1-1:ti-sci-fw:do_deploy"
> -do_image_tar[mcdepends] += "mc::k3r5-sr1-1:ti-sci-fw:do_deploy"
> diff --git a/meta-ti-bsp/conf/machine/j721s2-evm.conf b/meta-ti-bsp/conf/machine/j721s2-evm.conf
> index 46d5dbf6..3576414d 100644
> --- a/meta-ti-bsp/conf/machine/j721s2-evm.conf
> +++ b/meta-ti-bsp/conf/machine/j721s2-evm.conf
> @@ -15,6 +15,3 @@ KERNEL_DEVICETREE = " \
>  "
>  
>  UBOOT_MACHINE = "j721s2_evm_a72_defconfig"
> -
> -do_image_wic[mcdepends] = "mc::k3r5:ti-sci-fw:do_deploy"
> -do_image_tar[mcdepends] = "mc::k3r5:ti-sci-fw:do_deploy"
> diff --git a/meta-ti-bsp/conf/machine/j784s4-evm.conf b/meta-ti-bsp/conf/machine/j784s4-evm.conf
> index f8be7d18..73f3eb8c 100644
> --- a/meta-ti-bsp/conf/machine/j784s4-evm.conf
> +++ b/meta-ti-bsp/conf/machine/j784s4-evm.conf
> @@ -14,6 +14,3 @@ KERNEL_DEVICETREE = " \
>  "
>  
>  UBOOT_MACHINE = "j784s4_evm_a72_defconfig"
> -
> -do_image_wic[mcdepends] = "mc::k3r5:ti-sci-fw:do_deploy"
> -do_image_tar[mcdepends] = "mc::k3r5:ti-sci-fw:do_deploy"
> -- 
> 2.38.1
Andrew Davis Dec. 13, 2022, 4:55 p.m. UTC | #2
On 12/12/22 4:26 PM, Denys Dmytriyenko wrote:
> On Wed, Dec 07, 2022 at 03:43:12PM -0600, Andrew Davis via lists.yoctoproject.org wrote:
>> The WIC image for K3 depends on the TI-SCI firmware, on AM65x and J721e
>> also the bootloader. Make this clear by only depending on firmware in
>> the base k3.inc file, then adding the bootloader dependency in AM65x and
>> J721e specific includes.
> 
> I'd like to suggest a bit more detailed commenting around the depends and
> mcdepends and boot files, especially with this cleanup. Specifically mention
> second/third stage bootloaders and FWs, e.g. R5 SPL vs. A53/A72 SPL vs.
> A53/A72 U-boot vs. TI-SCI when pulling dependencies - tiboot3.bin, sysfw.itb,
> tispl.bin, u-boot.img and where they all come from. It's getting harder and
> harder for an average user/developer to follow all these details with every
> new K3 SOC release... :)
> 


I did add some extra comments, and this patch hopefully organizes
things in a way that makes them easier to understand. Agree the
amount of bits needed to boot K3 is more than ideal, moving the
FW into the U-Boot build (binman) should clean up some of this.
Not sure when that will land, but when it does we can give
this another round of cleanup.

Maybe some readme is needed? Seems outside the scope of this patch though.

> 
>> Remove unneeded overrides from the evm level files.
>>
>> Remove do_image_tar dependencies as the tar files do not include
>> the bootloader nor TI-SCI firmware, only the boot partition of
>> the WIC file needs these.
> 
> Funny that Ryan and I just discussed this usage of do_image_wic and
> do_iamge_tar in another thread (and I haven't yet had time to review this
> series) and I was thinking that indeed we don't really need do_image_tar
> at all, while do_image_wic is rather important.
> 

I saw that, seems we need just _wic and _ext now? Or some better way
of letting the build know when we need our bootloader. I have no
good solution right now.

Andrew

> 
>> Signed-off-by: Andrew Davis <afd@ti.com>
>> ---
>>   meta-ti-bsp/conf/machine/include/am62xx.inc   |  3 ---
>>   meta-ti-bsp/conf/machine/include/am64xx.inc   |  8 +++-----
>>   meta-ti-bsp/conf/machine/include/am65xx.inc   | 10 +++++-----
>>   meta-ti-bsp/conf/machine/include/j721e.inc    | 11 +++++++++++
>>   meta-ti-bsp/conf/machine/include/k3.inc       |  3 +--
>>   meta-ti-bsp/conf/machine/include/omap-a15.inc |  2 +-
>>   meta-ti-bsp/conf/machine/include/ti43x.inc    |  2 +-
>>   meta-ti-bsp/conf/machine/j7200-evm.conf       |  3 ---
>>   meta-ti-bsp/conf/machine/j721e-evm.conf       |  3 ---
>>   meta-ti-bsp/conf/machine/j721e-hs-evm.conf    |  7 -------
>>   meta-ti-bsp/conf/machine/j721s2-evm.conf      |  3 ---
>>   meta-ti-bsp/conf/machine/j784s4-evm.conf      |  3 ---
>>   12 files changed, 22 insertions(+), 36 deletions(-)
>>
>> diff --git a/meta-ti-bsp/conf/machine/include/am62xx.inc b/meta-ti-bsp/conf/machine/include/am62xx.inc
>> index 9d8bc87c..411e5265 100644
>> --- a/meta-ti-bsp/conf/machine/include/am62xx.inc
>> +++ b/meta-ti-bsp/conf/machine/include/am62xx.inc
>> @@ -12,9 +12,6 @@ PREFERRED_PROVIDER_virtual/libgles2 ?= "ti-img-rogue-umlibs"
>>   PREFERRED_PROVIDER_virtual/libgbm ?= "ti-img-rogue-umlibs"
>>   PREFERRED_PROVIDER_virtual/gpudriver ?= "ti-img-rogue-driver"
>>   
>> -do_image_wic[mcdepends] = "mc::k3r5:ti-sci-fw:do_deploy"
>> -do_image_tar[mcdepends] = "mc::k3r5:ti-sci-fw:do_deploy"
>> -
>>   TFA_BOARD = "lite"
>>   TFA_K3_SYSTEM_SUSPEND = "1"
>>   
>> diff --git a/meta-ti-bsp/conf/machine/include/am64xx.inc b/meta-ti-bsp/conf/machine/include/am64xx.inc
>> index f1a91991..0fd15b90 100644
>> --- a/meta-ti-bsp/conf/machine/include/am64xx.inc
>> +++ b/meta-ti-bsp/conf/machine/include/am64xx.inc
>> @@ -17,19 +17,17 @@ KERNEL_DEVICETREE = " \
>>   # Default tiboot3.bin on AM64x is for SR2.0 HS-FS
>>   BBMULTICONFIG = "k3r5-sr2-hs-fs"
>>   do_image_wic[mcdepends] = "mc::k3r5-sr2-hs-fs:ti-sci-fw:do_deploy"
>> -do_image_tar[mcdepends] = "mc::k3r5-sr2-hs-fs:ti-sci-fw:do_deploy"
>> +IMAGE_BOOT_FILES += "tiboot3-am64x_sr2-hs-fs-evm.bin"
>>   
>>   # Since default tiboot3.bin on AM64x is for SR2.0 HS-FS, add a version for GP
>>   BBMULTICONFIG += "k3r5-gp"
>> -IMAGE_BOOT_FILES += "tiboot3-am64x-gp-evm.bin"
>>   do_image_wic[mcdepends] += "mc::k3r5-gp:ti-sci-fw:do_deploy"
>> -do_image_tar[mcdepends] += "mc::k3r5-gp:ti-sci-fw:do_deploy"
>> +IMAGE_BOOT_FILES += "tiboot3-am64x-gp-evm.bin"
>>   
>>   # Since default tiboot3.bin on AM64x is for SR2.0 HS-FS, add a version for SR2.0 HS-SE
>>   BBMULTICONFIG += "k3r5-sr2-hs-se"
>> -IMAGE_BOOT_FILES += "tiboot3-am64x_sr2-hs-evm.bin"
>>   do_image_wic[mcdepends] += "mc::k3r5-sr2-hs-se:ti-sci-fw:do_deploy"
>> -do_image_tar[mcdepends] += "mc::k3r5-sr2-hs-se:ti-sci-fw:do_deploy"
>> +IMAGE_BOOT_FILES += "tiboot3-am64x_sr2-hs-evm.bin"
>>   
>>   TFA_BOARD = "lite"
>>   
>> diff --git a/meta-ti-bsp/conf/machine/include/am65xx.inc b/meta-ti-bsp/conf/machine/include/am65xx.inc
>> index 88259717..424864d3 100644
>> --- a/meta-ti-bsp/conf/machine/include/am65xx.inc
>> +++ b/meta-ti-bsp/conf/machine/include/am65xx.inc
>> @@ -26,17 +26,17 @@ KERNEL_DEVICETREE = " \
>>       ti/k3-am654-evm-ov5640.dtbo \
>>   "
>>   
>> -BBMULTICONFIG += "k3r5-sr2"
>> +# On AM65x the file tiboot3.bin comes from the bootloader not ti-sci-fw
>> +do_image_wic[mcdepends] += "mc::k3r5:virtual/bootloader:do_deploy"
>>   
>> -# Since J721e does not support multi-cert tiboot3.bin add standalone sysfw.itb
>> +# Default sysfw.itb on AM65x is for SR2.0
>> +BBMULTICONFIG += "k3r5-sr2"
>> +do_image_wic[mcdepends] += "mc::k3r5-sr2:ti-sci-fw:do_deploy"
>>   IMAGE_BOOT_FILES += "sysfw.itb"
>>   
>>   # Since default sysfw.itb on AM65x is for SR2.0, add a version for SR1.0
>>   IMAGE_BOOT_FILES += "sysfw-am65x-evm.itb"
>>   
>> -do_image_wic[mcdepends] += "mc::k3r5-sr2:ti-sci-fw:do_deploy"
>> -do_image_tar[mcdepends] += "mc::k3r5-sr2:ti-sci-fw:do_deploy"
>> -
>>   TFA_BOARD = "generic"
>>   
>>   OPTEEMACHINE = "k3-am65x"
>> diff --git a/meta-ti-bsp/conf/machine/include/j721e.inc b/meta-ti-bsp/conf/machine/include/j721e.inc
>> index 12ee0c90..6322fe46 100644
>> --- a/meta-ti-bsp/conf/machine/include/j721e.inc
>> +++ b/meta-ti-bsp/conf/machine/include/j721e.inc
>> @@ -9,6 +9,17 @@ PREFERRED_PROVIDER_virtual/libgles2 ?= "ti-img-rogue-umlibs"
>>   PREFERRED_PROVIDER_virtual/libgbm ?= "ti-img-rogue-umlibs"
>>   PREFERRED_PROVIDER_virtual/gpudriver ?= "ti-img-rogue-driver"
>>   
>> +# On J721e the file tiboot3.bin comes from the bootloader not ti-sci-fw
>> +do_image_wic[mcdepends] += "mc::k3r5:virtual/bootloader:do_deploy"
>> +
>> +# Default sysfw.itb on J721e is for SR1.1
>> +BBMULTICONFIG += "k3r5-sr1-1"
>> +do_image_wic[mcdepends] += "mc::k3r5-sr1-1:ti-sci-fw:do_deploy"
>> +IMAGE_BOOT_FILES += "sysfw.itb"
>> +
>> +# Since default sysfw.itb on J721e is for SR1.1, add a version for SR1.0
>> +IMAGE_BOOT_FILES += "sysfw-j721e-evm.itb"
>> +
>>   TFA_BOARD = "generic"
>>   
>>   OPTEEMACHINE = "k3-j721e"
>> diff --git a/meta-ti-bsp/conf/machine/include/k3.inc b/meta-ti-bsp/conf/machine/include/k3.inc
>> index bd71becf..a34b67ff 100644
>> --- a/meta-ti-bsp/conf/machine/include/k3.inc
>> +++ b/meta-ti-bsp/conf/machine/include/k3.inc
>> @@ -47,7 +47,6 @@ MACHINE_FEATURES += "efi"
>>   
>>   WKS_FILE ?= "sdimage-2part-efi.wks"
>>   do_image_wic[depends] += "virtual/bootloader:do_deploy"
>> -do_image_wic[mcdepends] += "mc::k3r5:virtual/bootloader:do_deploy mc::k3r5:ti-sci-fw:do_deploy"
>> -do_image_tar[mcdepends] += "mc::k3r5:virtual/bootloader:do_deploy mc::k3r5:ti-sci-fw:do_deploy"
>> +do_image_wic[mcdepends] += "mc::k3r5:ti-sci-fw:do_deploy"
>>   
>>   TI_SECURE_DEV_PKG = "${TI_SECURE_DEV_PKG_K3}"
>> diff --git a/meta-ti-bsp/conf/machine/include/omap-a15.inc b/meta-ti-bsp/conf/machine/include/omap-a15.inc
>> index f548f3fd..0843fb28 100644
>> --- a/meta-ti-bsp/conf/machine/include/omap-a15.inc
>> +++ b/meta-ti-bsp/conf/machine/include/omap-a15.inc
>> @@ -50,4 +50,4 @@ MACHINE_FEATURES = "kernel26 apm usbgadget usbhost vfat ext2 screen alsa etherne
>>   IMAGE_FSTYPES += "tar.xz wic.xz wic.bmap"
>>   WKS_FILE ?= "sdimage-2part.wks"
>>   IMAGE_BOOT_FILES ?= "${SPL_BINARY} u-boot.${UBOOT_SUFFIX} ${UBOOT_EXTLINUX_BOOT_FILES}"
>> -do_image_wic[depends] += "u-boot:do_deploy"
>> +do_image_wic[depends] += "virtual/bootloader:do_deploy"
>> diff --git a/meta-ti-bsp/conf/machine/include/ti43x.inc b/meta-ti-bsp/conf/machine/include/ti43x.inc
>> index 5509a54d..74a964db 100644
>> --- a/meta-ti-bsp/conf/machine/include/ti43x.inc
>> +++ b/meta-ti-bsp/conf/machine/include/ti43x.inc
>> @@ -59,4 +59,4 @@ MACHINE_FEATURES = "kernel26 apm usbgadget usbhost vfat ext2 screen alsa etherne
>>   IMAGE_FSTYPES += "tar.xz wic.xz wic.bmap"
>>   WKS_FILE ?= "sdimage-2part.wks"
>>   IMAGE_BOOT_FILES ?= "${SPL_BINARY} u-boot.${UBOOT_SUFFIX} ${UBOOT_EXTLINUX_BOOT_FILES}"
>> -do_image_wic[depends] += "u-boot:do_deploy"
>> +do_image_wic[depends] += "virtual/bootloader:do_deploy"
>> diff --git a/meta-ti-bsp/conf/machine/j7200-evm.conf b/meta-ti-bsp/conf/machine/j7200-evm.conf
>> index 303ec182..33c39a52 100644
>> --- a/meta-ti-bsp/conf/machine/j7200-evm.conf
>> +++ b/meta-ti-bsp/conf/machine/j7200-evm.conf
>> @@ -12,6 +12,3 @@ KERNEL_DEVICETREE = " \
>>   "
>>   
>>   UBOOT_MACHINE = "j7200_evm_a72_config"
>> -
>> -do_image_wic[mcdepends] = "mc::k3r5:ti-sci-fw:do_deploy"
>> -do_image_tar[mcdepends] = "mc::k3r5:ti-sci-fw:do_deploy"
>> diff --git a/meta-ti-bsp/conf/machine/j721e-evm.conf b/meta-ti-bsp/conf/machine/j721e-evm.conf
>> index d28d16d1..fe28e6f5 100644
>> --- a/meta-ti-bsp/conf/machine/j721e-evm.conf
>> +++ b/meta-ti-bsp/conf/machine/j721e-evm.conf
>> @@ -7,9 +7,6 @@ require conf/machine/include/j721e.inc
>>   SERIAL_CONSOLES = "115200;ttyS2 115200;ttyS3"
>>   SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}"
>>   
>> -# Since J721e does not support multi-cert tiboot3.bin add standalone sysfw.itb
>> -IMAGE_BOOT_FILES += "sysfw.itb"
>> -
>>   KERNEL_DEVICETREE = " \
>>       ti/k3-j721e-common-proc-board.dtb \
>>       ti/k3-j721e-common-proc-board-infotainment.dtbo \
>> diff --git a/meta-ti-bsp/conf/machine/j721e-hs-evm.conf b/meta-ti-bsp/conf/machine/j721e-hs-evm.conf
>> index 9ef7b86a..acd5ca18 100644
>> --- a/meta-ti-bsp/conf/machine/j721e-hs-evm.conf
>> +++ b/meta-ti-bsp/conf/machine/j721e-hs-evm.conf
>> @@ -18,10 +18,3 @@ SPL_BINARY = "tispl.bin_HS"
>>   UBOOT_BINARY = "u-boot.img_HS"
>>   UBOOT_SYMLINK = "u-boot.img"
>>   SYSFW_SYMLINK = ""
>> -
>> -BBMULTICONFIG += "k3r5-sr1-1"
>> -
>> -# Since default sysfw.itb on J721e is for SR1.1, add a version for SR1.0
>> -IMAGE_BOOT_FILES += "sysfw-j721e-evm.itb"
>> -do_image_wic[mcdepends] += "mc::k3r5-sr1-1:ti-sci-fw:do_deploy"
>> -do_image_tar[mcdepends] += "mc::k3r5-sr1-1:ti-sci-fw:do_deploy"
>> diff --git a/meta-ti-bsp/conf/machine/j721s2-evm.conf b/meta-ti-bsp/conf/machine/j721s2-evm.conf
>> index 46d5dbf6..3576414d 100644
>> --- a/meta-ti-bsp/conf/machine/j721s2-evm.conf
>> +++ b/meta-ti-bsp/conf/machine/j721s2-evm.conf
>> @@ -15,6 +15,3 @@ KERNEL_DEVICETREE = " \
>>   "
>>   
>>   UBOOT_MACHINE = "j721s2_evm_a72_defconfig"
>> -
>> -do_image_wic[mcdepends] = "mc::k3r5:ti-sci-fw:do_deploy"
>> -do_image_tar[mcdepends] = "mc::k3r5:ti-sci-fw:do_deploy"
>> diff --git a/meta-ti-bsp/conf/machine/j784s4-evm.conf b/meta-ti-bsp/conf/machine/j784s4-evm.conf
>> index f8be7d18..73f3eb8c 100644
>> --- a/meta-ti-bsp/conf/machine/j784s4-evm.conf
>> +++ b/meta-ti-bsp/conf/machine/j784s4-evm.conf
>> @@ -14,6 +14,3 @@ KERNEL_DEVICETREE = " \
>>   "
>>   
>>   UBOOT_MACHINE = "j784s4_evm_a72_defconfig"
>> -
>> -do_image_wic[mcdepends] = "mc::k3r5:ti-sci-fw:do_deploy"
>> -do_image_tar[mcdepends] = "mc::k3r5:ti-sci-fw:do_deploy"
>> -- 
>> 2.38.1
Denys Dmytriyenko Jan. 18, 2023, 6:36 p.m. UTC | #3
On Wed, Dec 07, 2022 at 03:43:12PM -0600, Andrew Davis via lists.yoctoproject.org wrote:
> The WIC image for K3 depends on the TI-SCI firmware, on AM65x and J721e
> also the bootloader. Make this clear by only depending on firmware in
> the base k3.inc file, then adding the bootloader dependency in AM65x and
> J721e specific includes.
> 
> Remove unneeded overrides from the evm level files.
> 
> Remove do_image_tar dependencies as the tar files do not include
> the bootloader nor TI-SCI firmware, only the boot partition of
> the WIC file needs these.
> 
> Signed-off-by: Andrew Davis <afd@ti.com>
> ---
> diff --git a/meta-ti-bsp/conf/machine/include/j721e.inc b/meta-ti-bsp/conf/machine/include/j721e.inc
> index 12ee0c90..6322fe46 100644
> --- a/meta-ti-bsp/conf/machine/include/j721e.inc
> +++ b/meta-ti-bsp/conf/machine/include/j721e.inc
> @@ -9,6 +9,17 @@ PREFERRED_PROVIDER_virtual/libgles2 ?= "ti-img-rogue-umlibs"
>  PREFERRED_PROVIDER_virtual/libgbm ?= "ti-img-rogue-umlibs"
>  PREFERRED_PROVIDER_virtual/gpudriver ?= "ti-img-rogue-driver"
>  
> +# On J721e the file tiboot3.bin comes from the bootloader not ti-sci-fw
> +do_image_wic[mcdepends] += "mc::k3r5:virtual/bootloader:do_deploy"
> +
> +# Default sysfw.itb on J721e is for SR1.1
> +BBMULTICONFIG += "k3r5-sr1-1"

There's a slight problem - k3r5-sr1-1 multiconfig previously only applied to 
the HS j721e-hs-evm device, but not the GP j721e-evm, see below.

Hence there's no corresponding k3r5 config j721e-evm-k3r5-sr1-1.conf exists, 
only the one for the HS - j721e-hs-evm-k3r5-sr1-1.conf

Since you moved the above BBMULTICONFIG line into the common j721e.inc, it now 
breaks with the error:

MACHINE=j721e-evm-k3r5-sr1-1 is invalid. Please set a valid MACHINE in your local.conf, environment or other configuration file.

I can re-spin this series with a fix, so it's easier for Ryan to apply...


> +do_image_wic[mcdepends] += "mc::k3r5-sr1-1:ti-sci-fw:do_deploy"
> +IMAGE_BOOT_FILES += "sysfw.itb"
> +
> +# Since default sysfw.itb on J721e is for SR1.1, add a version for SR1.0
> +IMAGE_BOOT_FILES += "sysfw-j721e-evm.itb"
> +
>  TFA_BOARD = "generic"
>  
>  OPTEEMACHINE = "k3-j721e"

<snip>

> diff --git a/meta-ti-bsp/conf/machine/j721e-evm.conf b/meta-ti-bsp/conf/machine/j721e-evm.conf
> index d28d16d1..fe28e6f5 100644
> --- a/meta-ti-bsp/conf/machine/j721e-evm.conf
> +++ b/meta-ti-bsp/conf/machine/j721e-evm.conf
> @@ -7,9 +7,6 @@ require conf/machine/include/j721e.inc
>  SERIAL_CONSOLES = "115200;ttyS2 115200;ttyS3"
>  SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}"
>  
> -# Since J721e does not support multi-cert tiboot3.bin add standalone sysfw.itb
> -IMAGE_BOOT_FILES += "sysfw.itb"
> -
>  KERNEL_DEVICETREE = " \
>      ti/k3-j721e-common-proc-board.dtb \
>      ti/k3-j721e-common-proc-board-infotainment.dtbo \
> diff --git a/meta-ti-bsp/conf/machine/j721e-hs-evm.conf b/meta-ti-bsp/conf/machine/j721e-hs-evm.conf
> index 9ef7b86a..acd5ca18 100644
> --- a/meta-ti-bsp/conf/machine/j721e-hs-evm.conf
> +++ b/meta-ti-bsp/conf/machine/j721e-hs-evm.conf
> @@ -18,10 +18,3 @@ SPL_BINARY = "tispl.bin_HS"
>  UBOOT_BINARY = "u-boot.img_HS"
>  UBOOT_SYMLINK = "u-boot.img"
>  SYSFW_SYMLINK = ""
> -
> -BBMULTICONFIG += "k3r5-sr1-1"
> -
> -# Since default sysfw.itb on J721e is for SR1.1, add a version for SR1.0
> -IMAGE_BOOT_FILES += "sysfw-j721e-evm.itb"
> -do_image_wic[mcdepends] += "mc::k3r5-sr1-1:ti-sci-fw:do_deploy"
> -do_image_tar[mcdepends] += "mc::k3r5-sr1-1:ti-sci-fw:do_deploy"
Ryan Eatmon Jan. 18, 2023, 7:28 p.m. UTC | #4
On 1/18/2023 12:36, Denys Dmytriyenko wrote:
> On Wed, Dec 07, 2022 at 03:43:12PM -0600, Andrew Davis via lists.yoctoproject.org wrote:
>> The WIC image for K3 depends on the TI-SCI firmware, on AM65x and J721e
>> also the bootloader. Make this clear by only depending on firmware in
>> the base k3.inc file, then adding the bootloader dependency in AM65x and
>> J721e specific includes.
>>
>> Remove unneeded overrides from the evm level files.
>>
>> Remove do_image_tar dependencies as the tar files do not include
>> the bootloader nor TI-SCI firmware, only the boot partition of
>> the WIC file needs these.
>>
>> Signed-off-by: Andrew Davis <afd@ti.com>
>> ---
>> diff --git a/meta-ti-bsp/conf/machine/include/j721e.inc b/meta-ti-bsp/conf/machine/include/j721e.inc
>> index 12ee0c90..6322fe46 100644
>> --- a/meta-ti-bsp/conf/machine/include/j721e.inc
>> +++ b/meta-ti-bsp/conf/machine/include/j721e.inc
>> @@ -9,6 +9,17 @@ PREFERRED_PROVIDER_virtual/libgles2 ?= "ti-img-rogue-umlibs"
>>   PREFERRED_PROVIDER_virtual/libgbm ?= "ti-img-rogue-umlibs"
>>   PREFERRED_PROVIDER_virtual/gpudriver ?= "ti-img-rogue-driver"
>>   
>> +# On J721e the file tiboot3.bin comes from the bootloader not ti-sci-fw
>> +do_image_wic[mcdepends] += "mc::k3r5:virtual/bootloader:do_deploy"
>> +
>> +# Default sysfw.itb on J721e is for SR1.1
>> +BBMULTICONFIG += "k3r5-sr1-1"
> 
> There's a slight problem - k3r5-sr1-1 multiconfig previously only applied to
> the HS j721e-hs-evm device, but not the GP j721e-evm, see below.
> 
> Hence there's no corresponding k3r5 config j721e-evm-k3r5-sr1-1.conf exists,
> only the one for the HS - j721e-hs-evm-k3r5-sr1-1.conf
> 
> Since you moved the above BBMULTICONFIG line into the common j721e.inc, it now
> breaks with the error:
> 
> MACHINE=j721e-evm-k3r5-sr1-1 is invalid. Please set a valid MACHINE in your local.conf, environment or other configuration file.
> 
> I can re-spin this series with a fix, so it's easier for Ryan to apply...

I literally just ran into this while doing the test builds and added the 
missing file.  Please feel free to redo the patch series and I'll 
reapply everything.


> 
>> +do_image_wic[mcdepends] += "mc::k3r5-sr1-1:ti-sci-fw:do_deploy"
>> +IMAGE_BOOT_FILES += "sysfw.itb"
>> +
>> +# Since default sysfw.itb on J721e is for SR1.1, add a version for SR1.0
>> +IMAGE_BOOT_FILES += "sysfw-j721e-evm.itb"
>> +
>>   TFA_BOARD = "generic"
>>   
>>   OPTEEMACHINE = "k3-j721e"
> 
> <snip>
> 
>> diff --git a/meta-ti-bsp/conf/machine/j721e-evm.conf b/meta-ti-bsp/conf/machine/j721e-evm.conf
>> index d28d16d1..fe28e6f5 100644
>> --- a/meta-ti-bsp/conf/machine/j721e-evm.conf
>> +++ b/meta-ti-bsp/conf/machine/j721e-evm.conf
>> @@ -7,9 +7,6 @@ require conf/machine/include/j721e.inc
>>   SERIAL_CONSOLES = "115200;ttyS2 115200;ttyS3"
>>   SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}"
>>   
>> -# Since J721e does not support multi-cert tiboot3.bin add standalone sysfw.itb
>> -IMAGE_BOOT_FILES += "sysfw.itb"
>> -
>>   KERNEL_DEVICETREE = " \
>>       ti/k3-j721e-common-proc-board.dtb \
>>       ti/k3-j721e-common-proc-board-infotainment.dtbo \
>> diff --git a/meta-ti-bsp/conf/machine/j721e-hs-evm.conf b/meta-ti-bsp/conf/machine/j721e-hs-evm.conf
>> index 9ef7b86a..acd5ca18 100644
>> --- a/meta-ti-bsp/conf/machine/j721e-hs-evm.conf
>> +++ b/meta-ti-bsp/conf/machine/j721e-hs-evm.conf
>> @@ -18,10 +18,3 @@ SPL_BINARY = "tispl.bin_HS"
>>   UBOOT_BINARY = "u-boot.img_HS"
>>   UBOOT_SYMLINK = "u-boot.img"
>>   SYSFW_SYMLINK = ""
>> -
>> -BBMULTICONFIG += "k3r5-sr1-1"
>> -
>> -# Since default sysfw.itb on J721e is for SR1.1, add a version for SR1.0
>> -IMAGE_BOOT_FILES += "sysfw-j721e-evm.itb"
>> -do_image_wic[mcdepends] += "mc::k3r5-sr1-1:ti-sci-fw:do_deploy"
>> -do_image_tar[mcdepends] += "mc::k3r5-sr1-1:ti-sci-fw:do_deploy"
Denys Dmytriyenko Jan. 18, 2023, 8:55 p.m. UTC | #5
On Wed, Jan 18, 2023 at 01:28:12PM -0600, Ryan Eatmon wrote:
> 
> 
> On 1/18/2023 12:36, Denys Dmytriyenko wrote:
> >On Wed, Dec 07, 2022 at 03:43:12PM -0600, Andrew Davis via lists.yoctoproject.org wrote:
> >>The WIC image for K3 depends on the TI-SCI firmware, on AM65x and J721e
> >>also the bootloader. Make this clear by only depending on firmware in
> >>the base k3.inc file, then adding the bootloader dependency in AM65x and
> >>J721e specific includes.
> >>
> >>Remove unneeded overrides from the evm level files.
> >>
> >>Remove do_image_tar dependencies as the tar files do not include
> >>the bootloader nor TI-SCI firmware, only the boot partition of
> >>the WIC file needs these.
> >>
> >>Signed-off-by: Andrew Davis <afd@ti.com>
> >>---
> >>diff --git a/meta-ti-bsp/conf/machine/include/j721e.inc b/meta-ti-bsp/conf/machine/include/j721e.inc
> >>index 12ee0c90..6322fe46 100644
> >>--- a/meta-ti-bsp/conf/machine/include/j721e.inc
> >>+++ b/meta-ti-bsp/conf/machine/include/j721e.inc
> >>@@ -9,6 +9,17 @@ PREFERRED_PROVIDER_virtual/libgles2 ?= "ti-img-rogue-umlibs"
> >>  PREFERRED_PROVIDER_virtual/libgbm ?= "ti-img-rogue-umlibs"
> >>  PREFERRED_PROVIDER_virtual/gpudriver ?= "ti-img-rogue-driver"
> >>+# On J721e the file tiboot3.bin comes from the bootloader not ti-sci-fw
> >>+do_image_wic[mcdepends] += "mc::k3r5:virtual/bootloader:do_deploy"
> >>+
> >>+# Default sysfw.itb on J721e is for SR1.1
> >>+BBMULTICONFIG += "k3r5-sr1-1"
> >
> >There's a slight problem - k3r5-sr1-1 multiconfig previously only applied to
> >the HS j721e-hs-evm device, but not the GP j721e-evm, see below.
> >
> >Hence there's no corresponding k3r5 config j721e-evm-k3r5-sr1-1.conf exists,
> >only the one for the HS - j721e-hs-evm-k3r5-sr1-1.conf
> >
> >Since you moved the above BBMULTICONFIG line into the common j721e.inc, it now
> >breaks with the error:
> >
> >MACHINE=j721e-evm-k3r5-sr1-1 is invalid. Please set a valid MACHINE in your local.conf, environment or other configuration file.
> >
> >I can re-spin this series with a fix, so it's easier for Ryan to apply...
> 
> I literally just ran into this while doing the test builds and added
> the missing file.  Please feel free to redo the patch series and
> I'll reapply everything.

Well, it wasn't as simple as just adding the conf file...

Anyway, I'm beginning to suspect that J721e SR1.1 is identical to SR1 for GP 
devices and only differs for HS devices. See this code in the imggen Makefile:

https://git.ti.com/cgit/k3-image-gen/k3-image-gen/tree/Makefile#n50

ifeq ($(SOC_TYPE),gp)
ifeq ($(SOC), j721e_sr1_1)
override SOC = j721e
endif
endif

So, basically it falls back to the same code path, meaning building both of 
them is just a waste of time, moreover the filenames will need to be accounted 
for, as it does not generate the required sysfw-j721e_sr1_1-evm.itb and 
obviously fails to deploy...


> >>+do_image_wic[mcdepends] += "mc::k3r5-sr1-1:ti-sci-fw:do_deploy"
> >>+IMAGE_BOOT_FILES += "sysfw.itb"
> >>+
> >>+# Since default sysfw.itb on J721e is for SR1.1, add a version for SR1.0
> >>+IMAGE_BOOT_FILES += "sysfw-j721e-evm.itb"
> >>+
> >>  TFA_BOARD = "generic"
> >>  OPTEEMACHINE = "k3-j721e"
> >
> ><snip>
> >
> >>diff --git a/meta-ti-bsp/conf/machine/j721e-evm.conf b/meta-ti-bsp/conf/machine/j721e-evm.conf
> >>index d28d16d1..fe28e6f5 100644
> >>--- a/meta-ti-bsp/conf/machine/j721e-evm.conf
> >>+++ b/meta-ti-bsp/conf/machine/j721e-evm.conf
> >>@@ -7,9 +7,6 @@ require conf/machine/include/j721e.inc
> >>  SERIAL_CONSOLES = "115200;ttyS2 115200;ttyS3"
> >>  SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}"
> >>-# Since J721e does not support multi-cert tiboot3.bin add standalone sysfw.itb
> >>-IMAGE_BOOT_FILES += "sysfw.itb"
> >>-
> >>  KERNEL_DEVICETREE = " \
> >>      ti/k3-j721e-common-proc-board.dtb \
> >>      ti/k3-j721e-common-proc-board-infotainment.dtbo \
> >>diff --git a/meta-ti-bsp/conf/machine/j721e-hs-evm.conf b/meta-ti-bsp/conf/machine/j721e-hs-evm.conf
> >>index 9ef7b86a..acd5ca18 100644
> >>--- a/meta-ti-bsp/conf/machine/j721e-hs-evm.conf
> >>+++ b/meta-ti-bsp/conf/machine/j721e-hs-evm.conf
> >>@@ -18,10 +18,3 @@ SPL_BINARY = "tispl.bin_HS"
> >>  UBOOT_BINARY = "u-boot.img_HS"
> >>  UBOOT_SYMLINK = "u-boot.img"
> >>  SYSFW_SYMLINK = ""
> >>-
> >>-BBMULTICONFIG += "k3r5-sr1-1"
> >>-
> >>-# Since default sysfw.itb on J721e is for SR1.1, add a version for SR1.0
> >>-IMAGE_BOOT_FILES += "sysfw-j721e-evm.itb"
> >>-do_image_wic[mcdepends] += "mc::k3r5-sr1-1:ti-sci-fw:do_deploy"
> >>-do_image_tar[mcdepends] += "mc::k3r5-sr1-1:ti-sci-fw:do_deploy"
Denys Dmytriyenko Jan. 18, 2023, 9:08 p.m. UTC | #6
On Wed, Jan 18, 2023 at 03:55:29PM -0500, Denys Dmytriyenko wrote:
> On Wed, Jan 18, 2023 at 01:28:12PM -0600, Ryan Eatmon wrote:
> > 
> > 
> > On 1/18/2023 12:36, Denys Dmytriyenko wrote:
> > >On Wed, Dec 07, 2022 at 03:43:12PM -0600, Andrew Davis via lists.yoctoproject.org wrote:
> > >>The WIC image for K3 depends on the TI-SCI firmware, on AM65x and J721e
> > >>also the bootloader. Make this clear by only depending on firmware in
> > >>the base k3.inc file, then adding the bootloader dependency in AM65x and
> > >>J721e specific includes.
> > >>
> > >>Remove unneeded overrides from the evm level files.
> > >>
> > >>Remove do_image_tar dependencies as the tar files do not include
> > >>the bootloader nor TI-SCI firmware, only the boot partition of
> > >>the WIC file needs these.
> > >>
> > >>Signed-off-by: Andrew Davis <afd@ti.com>
> > >>---
> > >>diff --git a/meta-ti-bsp/conf/machine/include/j721e.inc b/meta-ti-bsp/conf/machine/include/j721e.inc
> > >>index 12ee0c90..6322fe46 100644
> > >>--- a/meta-ti-bsp/conf/machine/include/j721e.inc
> > >>+++ b/meta-ti-bsp/conf/machine/include/j721e.inc
> > >>@@ -9,6 +9,17 @@ PREFERRED_PROVIDER_virtual/libgles2 ?= "ti-img-rogue-umlibs"
> > >>  PREFERRED_PROVIDER_virtual/libgbm ?= "ti-img-rogue-umlibs"
> > >>  PREFERRED_PROVIDER_virtual/gpudriver ?= "ti-img-rogue-driver"
> > >>+# On J721e the file tiboot3.bin comes from the bootloader not ti-sci-fw
> > >>+do_image_wic[mcdepends] += "mc::k3r5:virtual/bootloader:do_deploy"
> > >>+
> > >>+# Default sysfw.itb on J721e is for SR1.1
> > >>+BBMULTICONFIG += "k3r5-sr1-1"
> > >
> > >There's a slight problem - k3r5-sr1-1 multiconfig previously only applied to
> > >the HS j721e-hs-evm device, but not the GP j721e-evm, see below.
> > >
> > >Hence there's no corresponding k3r5 config j721e-evm-k3r5-sr1-1.conf exists,
> > >only the one for the HS - j721e-hs-evm-k3r5-sr1-1.conf
> > >
> > >Since you moved the above BBMULTICONFIG line into the common j721e.inc, it now
> > >breaks with the error:
> > >
> > >MACHINE=j721e-evm-k3r5-sr1-1 is invalid. Please set a valid MACHINE in your local.conf, environment or other configuration file.
> > >
> > >I can re-spin this series with a fix, so it's easier for Ryan to apply...
> > 
> > I literally just ran into this while doing the test builds and added
> > the missing file.  Please feel free to redo the patch series and
> > I'll reapply everything.
> 
> Well, it wasn't as simple as just adding the conf file...
> 
> Anyway, I'm beginning to suspect that J721e SR1.1 is identical to SR1 for GP 
> devices and only differs for HS devices. See this code in the imggen Makefile:
> 
> https://git.ti.com/cgit/k3-image-gen/k3-image-gen/tree/Makefile#n50
> 
> ifeq ($(SOC_TYPE),gp)
> ifeq ($(SOC), j721e_sr1_1)
> override SOC = j721e
> endif
> endif
> 
> So, basically it falls back to the same code path, meaning building both of 
> them is just a waste of time, moreover the filenames will need to be accounted 
> for, as it does not generate the required sysfw-j721e_sr1_1-evm.itb and 
> obviously fails to deploy...

Andrew, Ryan,

First of all, this patch set was not locally tested - shame on you, Andrew! :)

Second, do we want to go back to SR1.1 only for HS, or jump through the hoops 
to make it work for GP as well?


> > >>+do_image_wic[mcdepends] += "mc::k3r5-sr1-1:ti-sci-fw:do_deploy"
> > >>+IMAGE_BOOT_FILES += "sysfw.itb"
> > >>+
> > >>+# Since default sysfw.itb on J721e is for SR1.1, add a version for SR1.0
> > >>+IMAGE_BOOT_FILES += "sysfw-j721e-evm.itb"
> > >>+
> > >>  TFA_BOARD = "generic"
> > >>  OPTEEMACHINE = "k3-j721e"
> > >
> > ><snip>
> > >
> > >>diff --git a/meta-ti-bsp/conf/machine/j721e-evm.conf b/meta-ti-bsp/conf/machine/j721e-evm.conf
> > >>index d28d16d1..fe28e6f5 100644
> > >>--- a/meta-ti-bsp/conf/machine/j721e-evm.conf
> > >>+++ b/meta-ti-bsp/conf/machine/j721e-evm.conf
> > >>@@ -7,9 +7,6 @@ require conf/machine/include/j721e.inc
> > >>  SERIAL_CONSOLES = "115200;ttyS2 115200;ttyS3"
> > >>  SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}"
> > >>-# Since J721e does not support multi-cert tiboot3.bin add standalone sysfw.itb
> > >>-IMAGE_BOOT_FILES += "sysfw.itb"
> > >>-
> > >>  KERNEL_DEVICETREE = " \
> > >>      ti/k3-j721e-common-proc-board.dtb \
> > >>      ti/k3-j721e-common-proc-board-infotainment.dtbo \
> > >>diff --git a/meta-ti-bsp/conf/machine/j721e-hs-evm.conf b/meta-ti-bsp/conf/machine/j721e-hs-evm.conf
> > >>index 9ef7b86a..acd5ca18 100644
> > >>--- a/meta-ti-bsp/conf/machine/j721e-hs-evm.conf
> > >>+++ b/meta-ti-bsp/conf/machine/j721e-hs-evm.conf
> > >>@@ -18,10 +18,3 @@ SPL_BINARY = "tispl.bin_HS"
> > >>  UBOOT_BINARY = "u-boot.img_HS"
> > >>  UBOOT_SYMLINK = "u-boot.img"
> > >>  SYSFW_SYMLINK = ""
> > >>-
> > >>-BBMULTICONFIG += "k3r5-sr1-1"
> > >>-
> > >>-# Since default sysfw.itb on J721e is for SR1.1, add a version for SR1.0
> > >>-IMAGE_BOOT_FILES += "sysfw-j721e-evm.itb"
> > >>-do_image_wic[mcdepends] += "mc::k3r5-sr1-1:ti-sci-fw:do_deploy"
> > >>-do_image_tar[mcdepends] += "mc::k3r5-sr1-1:ti-sci-fw:do_deploy"
Andrew Davis Jan. 18, 2023, 10:30 p.m. UTC | #7
On 1/18/23 3:08 PM, Denys Dmytriyenko wrote:
> On Wed, Jan 18, 2023 at 03:55:29PM -0500, Denys Dmytriyenko wrote:
>> On Wed, Jan 18, 2023 at 01:28:12PM -0600, Ryan Eatmon wrote:
>>>
>>>
>>> On 1/18/2023 12:36, Denys Dmytriyenko wrote:
>>>> On Wed, Dec 07, 2022 at 03:43:12PM -0600, Andrew Davis via lists.yoctoproject.org wrote:
>>>>> The WIC image for K3 depends on the TI-SCI firmware, on AM65x and J721e
>>>>> also the bootloader. Make this clear by only depending on firmware in
>>>>> the base k3.inc file, then adding the bootloader dependency in AM65x and
>>>>> J721e specific includes.
>>>>>
>>>>> Remove unneeded overrides from the evm level files.
>>>>>
>>>>> Remove do_image_tar dependencies as the tar files do not include
>>>>> the bootloader nor TI-SCI firmware, only the boot partition of
>>>>> the WIC file needs these.
>>>>>
>>>>> Signed-off-by: Andrew Davis <afd@ti.com>
>>>>> ---
>>>>> diff --git a/meta-ti-bsp/conf/machine/include/j721e.inc b/meta-ti-bsp/conf/machine/include/j721e.inc
>>>>> index 12ee0c90..6322fe46 100644
>>>>> --- a/meta-ti-bsp/conf/machine/include/j721e.inc
>>>>> +++ b/meta-ti-bsp/conf/machine/include/j721e.inc
>>>>> @@ -9,6 +9,17 @@ PREFERRED_PROVIDER_virtual/libgles2 ?= "ti-img-rogue-umlibs"
>>>>>   PREFERRED_PROVIDER_virtual/libgbm ?= "ti-img-rogue-umlibs"
>>>>>   PREFERRED_PROVIDER_virtual/gpudriver ?= "ti-img-rogue-driver"
>>>>> +# On J721e the file tiboot3.bin comes from the bootloader not ti-sci-fw
>>>>> +do_image_wic[mcdepends] += "mc::k3r5:virtual/bootloader:do_deploy"
>>>>> +
>>>>> +# Default sysfw.itb on J721e is for SR1.1
>>>>> +BBMULTICONFIG += "k3r5-sr1-1"
>>>>
>>>> There's a slight problem - k3r5-sr1-1 multiconfig previously only applied to
>>>> the HS j721e-hs-evm device, but not the GP j721e-evm, see below.
>>>>
>>>> Hence there's no corresponding k3r5 config j721e-evm-k3r5-sr1-1.conf exists,
>>>> only the one for the HS - j721e-hs-evm-k3r5-sr1-1.conf
>>>>
>>>> Since you moved the above BBMULTICONFIG line into the common j721e.inc, it now
>>>> breaks with the error:
>>>>
>>>> MACHINE=j721e-evm-k3r5-sr1-1 is invalid. Please set a valid MACHINE in your local.conf, environment or other configuration file.
>>>>
>>>> I can re-spin this series with a fix, so it's easier for Ryan to apply...
>>>
>>> I literally just ran into this while doing the test builds and added
>>> the missing file.  Please feel free to redo the patch series and
>>> I'll reapply everything.
>>
>> Well, it wasn't as simple as just adding the conf file...
>>
>> Anyway, I'm beginning to suspect that J721e SR1.1 is identical to SR1 for GP
>> devices and only differs for HS devices. See this code in the imggen Makefile:
>>

Your suspicion is correct, SR1.1 is a re-spin made to fix a ROM bug relating to HS,
and so SR1.1 GP chips are effectively the same as SR1.0 GP.

>> https://git.ti.com/cgit/k3-image-gen/k3-image-gen/tree/Makefile#n50
>>
>> ifeq ($(SOC_TYPE),gp)
>> ifeq ($(SOC), j721e_sr1_1)
>> override SOC = j721e
>> endif
>> endif
>>
>> So, basically it falls back to the same code path, meaning building both of
>> them is just a waste of time, moreover the filenames will need to be accounted
>> for, as it does not generate the required sysfw-j721e_sr1_1-evm.itb and
>> obviously fails to deploy...
> 
> Andrew, Ryan,
> 
> First of all, this patch set was not locally tested - shame on you, Andrew! :)
> 

Testing, what's that? Sounds like a maintainers' problem :D

> Second, do we want to go back to SR1.1 only for HS, or jump through the hoops
> to make it work for GP as well?
> 

I'd imagine there are very few SR1.0 HS chips left out there, and none went to
production, might be time we drop that support instead. Then just go back to
one type for J721e HS and call it the same for both GP and HS, drop all the
_sr1_1 postfixes or add them to GP (since it doesn't matter for GP).

Andrew

> 
>>>>> +do_image_wic[mcdepends] += "mc::k3r5-sr1-1:ti-sci-fw:do_deploy"
>>>>> +IMAGE_BOOT_FILES += "sysfw.itb"
>>>>> +
>>>>> +# Since default sysfw.itb on J721e is for SR1.1, add a version for SR1.0
>>>>> +IMAGE_BOOT_FILES += "sysfw-j721e-evm.itb"
>>>>> +
>>>>>   TFA_BOARD = "generic"
>>>>>   OPTEEMACHINE = "k3-j721e"
>>>>
>>>> <snip>
>>>>
>>>>> diff --git a/meta-ti-bsp/conf/machine/j721e-evm.conf b/meta-ti-bsp/conf/machine/j721e-evm.conf
>>>>> index d28d16d1..fe28e6f5 100644
>>>>> --- a/meta-ti-bsp/conf/machine/j721e-evm.conf
>>>>> +++ b/meta-ti-bsp/conf/machine/j721e-evm.conf
>>>>> @@ -7,9 +7,6 @@ require conf/machine/include/j721e.inc
>>>>>   SERIAL_CONSOLES = "115200;ttyS2 115200;ttyS3"
>>>>>   SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}"
>>>>> -# Since J721e does not support multi-cert tiboot3.bin add standalone sysfw.itb
>>>>> -IMAGE_BOOT_FILES += "sysfw.itb"
>>>>> -
>>>>>   KERNEL_DEVICETREE = " \
>>>>>       ti/k3-j721e-common-proc-board.dtb \
>>>>>       ti/k3-j721e-common-proc-board-infotainment.dtbo \
>>>>> diff --git a/meta-ti-bsp/conf/machine/j721e-hs-evm.conf b/meta-ti-bsp/conf/machine/j721e-hs-evm.conf
>>>>> index 9ef7b86a..acd5ca18 100644
>>>>> --- a/meta-ti-bsp/conf/machine/j721e-hs-evm.conf
>>>>> +++ b/meta-ti-bsp/conf/machine/j721e-hs-evm.conf
>>>>> @@ -18,10 +18,3 @@ SPL_BINARY = "tispl.bin_HS"
>>>>>   UBOOT_BINARY = "u-boot.img_HS"
>>>>>   UBOOT_SYMLINK = "u-boot.img"
>>>>>   SYSFW_SYMLINK = ""
>>>>> -
>>>>> -BBMULTICONFIG += "k3r5-sr1-1"
>>>>> -
>>>>> -# Since default sysfw.itb on J721e is for SR1.1, add a version for SR1.0
>>>>> -IMAGE_BOOT_FILES += "sysfw-j721e-evm.itb"
>>>>> -do_image_wic[mcdepends] += "mc::k3r5-sr1-1:ti-sci-fw:do_deploy"
>>>>> -do_image_tar[mcdepends] += "mc::k3r5-sr1-1:ti-sci-fw:do_deploy"
Denys Dmytriyenko Jan. 20, 2023, 8:51 p.m. UTC | #8
On Wed, Jan 18, 2023 at 04:30:07PM -0600, Andrew Davis via lists.yoctoproject.org wrote:
> On 1/18/23 3:08 PM, Denys Dmytriyenko wrote:
> >On Wed, Jan 18, 2023 at 03:55:29PM -0500, Denys Dmytriyenko wrote:
> >>Well, it wasn't as simple as just adding the conf file...
> >>
> >>Anyway, I'm beginning to suspect that J721e SR1.1 is identical to SR1 for GP
> >>devices and only differs for HS devices. See this code in the imggen Makefile:
> 
> Your suspicion is correct, SR1.1 is a re-spin made to fix a ROM bug relating to HS,
> and so SR1.1 GP chips are effectively the same as SR1.0 GP.
> 
> >Second, do we want to go back to SR1.1 only for HS, or jump through the hoops
> >to make it work for GP as well?
> 
> I'd imagine there are very few SR1.0 HS chips left out there, and none went to
> production, might be time we drop that support instead. Then just go back to
> one type for J721e HS and call it the same for both GP and HS, drop all the
> _sr1_1 postfixes or add them to GP (since it doesn't matter for GP).

I've posted a re-spin of this series last night with this change:
https://patchwork.yoctoproject.org/project/ti/list/?series=9825

Only #7 is different:
https://patchwork.yoctoproject.org/project/ti/patch/20230120014050.1988728-7-denis@denix.org/

Here's the exact change between v1 and v2, dropping sr1-1 multiconfig:


From e06c62f5ba6e37c6a8ee513010bff794f7e1b1cf Mon Sep 17 00:00:00 2001
From: Denys Dmytriyenko <denis@denix.org>
Date: Fri, 20 Jan 2023 01:08:28 +0000
Subject: [PATCH] fixup! conf: machine: Rework do_image_wic dependencies

Signed-off-by: Denys Dmytriyenko <denis@denix.org>
---
 meta-ti-bsp/conf/machine/include/j721e.inc            |  6 ------
 meta-ti-bsp/conf/machine/j721e-hs-evm-k3r5-sr1-1.conf | 11 -----------
 meta-ti-bsp/conf/machine/j721e-hs-evm-k3r5.conf       |  3 +--
 meta-ti-bsp/conf/multiconfig/k3r5-sr1-1.conf          |  3 ---
 4 files changed, 1 insertion(+), 22 deletions(-)
 delete mode 100644 meta-ti-bsp/conf/machine/j721e-hs-evm-k3r5-sr1-1.conf
 delete mode 100644 meta-ti-bsp/conf/multiconfig/k3r5-sr1-1.conf

diff --git a/meta-ti-bsp/conf/machine/include/j721e.inc b/meta-ti-bsp/conf/machine/include/j721e.inc
index 6322fe46..eba10d8d 100644
--- a/meta-ti-bsp/conf/machine/include/j721e.inc
+++ b/meta-ti-bsp/conf/machine/include/j721e.inc
@@ -12,14 +12,8 @@ PREFERRED_PROVIDER_virtual/gpudriver ?= "ti-img-rogue-driver"
 # On J721e the file tiboot3.bin comes from the bootloader not ti-sci-fw
 do_image_wic[mcdepends] += "mc::k3r5:virtual/bootloader:do_deploy"
 
-# Default sysfw.itb on J721e is for SR1.1
-BBMULTICONFIG += "k3r5-sr1-1"
-do_image_wic[mcdepends] += "mc::k3r5-sr1-1:ti-sci-fw:do_deploy"
 IMAGE_BOOT_FILES += "sysfw.itb"
 
-# Since default sysfw.itb on J721e is for SR1.1, add a version for SR1.0
-IMAGE_BOOT_FILES += "sysfw-j721e-evm.itb"
-
 TFA_BOARD = "generic"
 
 OPTEEMACHINE = "k3-j721e"
diff --git a/meta-ti-bsp/conf/machine/j721e-hs-evm-k3r5-sr1-1.conf b/meta-ti-bsp/conf/machine/j721e-hs-evm-k3r5-sr1-1.conf
deleted file mode 100644
index 6e809f46..00000000
--- a/meta-ti-bsp/conf/machine/j721e-hs-evm-k3r5-sr1-1.conf
+++ /dev/null
@@ -1,11 +0,0 @@
-#@TYPE: Machine
-#@NAME: J721e SR1.1 HS EVM (R5F)
-#@DESCRIPTION: Machine configuration for the TI J721e SR1.1 HS EVM (R5F core)
-
-# Booting SR1.1 requires different SYSFW, the rest is handled at runtime
-
-require conf/machine/j721e-hs-evm-k3r5.conf
-SOC_FAMILY:append = ":k3r5-sr1-1"
-
-SYSFW_SOC = "j721e_sr1_1"
-SYSFW_SYMLINK = "sysfw.itb"
diff --git a/meta-ti-bsp/conf/machine/j721e-hs-evm-k3r5.conf b/meta-ti-bsp/conf/machine/j721e-hs-evm-k3r5.conf
index a0d000b2..56312c0c 100644
--- a/meta-ti-bsp/conf/machine/j721e-hs-evm-k3r5.conf
+++ b/meta-ti-bsp/conf/machine/j721e-hs-evm-k3r5.conf
@@ -4,10 +4,9 @@
 
 require conf/machine/include/k3r5.inc
 
-SYSFW_SOC = "j721e"
+SYSFW_SOC = "j721e_sr1_1"
 SYSFW_CONFIG = "evm"
 SYSFW_SUFFIX = "hs"
-SYSFW_SYMLINK = ""
 
 SPL_BINARY = "spl/u-boot-spl.${UBOOT_SUFFIX}"
 SPL_SYMLINK = "u-boot-r5spl.${UBOOT_SUFFIX}"
diff --git a/meta-ti-bsp/conf/multiconfig/k3r5-sr1-1.conf b/meta-ti-bsp/conf/multiconfig/k3r5-sr1-1.conf
deleted file mode 100644
index 428f2212..00000000
--- a/meta-ti-bsp/conf/multiconfig/k3r5-sr1-1.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-require k3r5.conf
-
-MACHINE:append = "-sr1-1"
diff mbox series

Patch

diff --git a/meta-ti-bsp/conf/machine/include/am62xx.inc b/meta-ti-bsp/conf/machine/include/am62xx.inc
index 9d8bc87c..411e5265 100644
--- a/meta-ti-bsp/conf/machine/include/am62xx.inc
+++ b/meta-ti-bsp/conf/machine/include/am62xx.inc
@@ -12,9 +12,6 @@  PREFERRED_PROVIDER_virtual/libgles2 ?= "ti-img-rogue-umlibs"
 PREFERRED_PROVIDER_virtual/libgbm ?= "ti-img-rogue-umlibs"
 PREFERRED_PROVIDER_virtual/gpudriver ?= "ti-img-rogue-driver"
 
-do_image_wic[mcdepends] = "mc::k3r5:ti-sci-fw:do_deploy"
-do_image_tar[mcdepends] = "mc::k3r5:ti-sci-fw:do_deploy"
-
 TFA_BOARD = "lite"
 TFA_K3_SYSTEM_SUSPEND = "1"
 
diff --git a/meta-ti-bsp/conf/machine/include/am64xx.inc b/meta-ti-bsp/conf/machine/include/am64xx.inc
index f1a91991..0fd15b90 100644
--- a/meta-ti-bsp/conf/machine/include/am64xx.inc
+++ b/meta-ti-bsp/conf/machine/include/am64xx.inc
@@ -17,19 +17,17 @@  KERNEL_DEVICETREE = " \
 # Default tiboot3.bin on AM64x is for SR2.0 HS-FS
 BBMULTICONFIG = "k3r5-sr2-hs-fs"
 do_image_wic[mcdepends] = "mc::k3r5-sr2-hs-fs:ti-sci-fw:do_deploy"
-do_image_tar[mcdepends] = "mc::k3r5-sr2-hs-fs:ti-sci-fw:do_deploy"
+IMAGE_BOOT_FILES += "tiboot3-am64x_sr2-hs-fs-evm.bin"
 
 # Since default tiboot3.bin on AM64x is for SR2.0 HS-FS, add a version for GP
 BBMULTICONFIG += "k3r5-gp"
-IMAGE_BOOT_FILES += "tiboot3-am64x-gp-evm.bin"
 do_image_wic[mcdepends] += "mc::k3r5-gp:ti-sci-fw:do_deploy"
-do_image_tar[mcdepends] += "mc::k3r5-gp:ti-sci-fw:do_deploy"
+IMAGE_BOOT_FILES += "tiboot3-am64x-gp-evm.bin"
 
 # Since default tiboot3.bin on AM64x is for SR2.0 HS-FS, add a version for SR2.0 HS-SE
 BBMULTICONFIG += "k3r5-sr2-hs-se"
-IMAGE_BOOT_FILES += "tiboot3-am64x_sr2-hs-evm.bin"
 do_image_wic[mcdepends] += "mc::k3r5-sr2-hs-se:ti-sci-fw:do_deploy"
-do_image_tar[mcdepends] += "mc::k3r5-sr2-hs-se:ti-sci-fw:do_deploy"
+IMAGE_BOOT_FILES += "tiboot3-am64x_sr2-hs-evm.bin"
 
 TFA_BOARD = "lite"
 
diff --git a/meta-ti-bsp/conf/machine/include/am65xx.inc b/meta-ti-bsp/conf/machine/include/am65xx.inc
index 88259717..424864d3 100644
--- a/meta-ti-bsp/conf/machine/include/am65xx.inc
+++ b/meta-ti-bsp/conf/machine/include/am65xx.inc
@@ -26,17 +26,17 @@  KERNEL_DEVICETREE = " \
     ti/k3-am654-evm-ov5640.dtbo \
 "
 
-BBMULTICONFIG += "k3r5-sr2"
+# On AM65x the file tiboot3.bin comes from the bootloader not ti-sci-fw
+do_image_wic[mcdepends] += "mc::k3r5:virtual/bootloader:do_deploy"
 
-# Since J721e does not support multi-cert tiboot3.bin add standalone sysfw.itb
+# Default sysfw.itb on AM65x is for SR2.0
+BBMULTICONFIG += "k3r5-sr2"
+do_image_wic[mcdepends] += "mc::k3r5-sr2:ti-sci-fw:do_deploy"
 IMAGE_BOOT_FILES += "sysfw.itb"
 
 # Since default sysfw.itb on AM65x is for SR2.0, add a version for SR1.0
 IMAGE_BOOT_FILES += "sysfw-am65x-evm.itb"
 
-do_image_wic[mcdepends] += "mc::k3r5-sr2:ti-sci-fw:do_deploy"
-do_image_tar[mcdepends] += "mc::k3r5-sr2:ti-sci-fw:do_deploy"
-
 TFA_BOARD = "generic"
 
 OPTEEMACHINE = "k3-am65x"
diff --git a/meta-ti-bsp/conf/machine/include/j721e.inc b/meta-ti-bsp/conf/machine/include/j721e.inc
index 12ee0c90..6322fe46 100644
--- a/meta-ti-bsp/conf/machine/include/j721e.inc
+++ b/meta-ti-bsp/conf/machine/include/j721e.inc
@@ -9,6 +9,17 @@  PREFERRED_PROVIDER_virtual/libgles2 ?= "ti-img-rogue-umlibs"
 PREFERRED_PROVIDER_virtual/libgbm ?= "ti-img-rogue-umlibs"
 PREFERRED_PROVIDER_virtual/gpudriver ?= "ti-img-rogue-driver"
 
+# On J721e the file tiboot3.bin comes from the bootloader not ti-sci-fw
+do_image_wic[mcdepends] += "mc::k3r5:virtual/bootloader:do_deploy"
+
+# Default sysfw.itb on J721e is for SR1.1
+BBMULTICONFIG += "k3r5-sr1-1"
+do_image_wic[mcdepends] += "mc::k3r5-sr1-1:ti-sci-fw:do_deploy"
+IMAGE_BOOT_FILES += "sysfw.itb"
+
+# Since default sysfw.itb on J721e is for SR1.1, add a version for SR1.0
+IMAGE_BOOT_FILES += "sysfw-j721e-evm.itb"
+
 TFA_BOARD = "generic"
 
 OPTEEMACHINE = "k3-j721e"
diff --git a/meta-ti-bsp/conf/machine/include/k3.inc b/meta-ti-bsp/conf/machine/include/k3.inc
index bd71becf..a34b67ff 100644
--- a/meta-ti-bsp/conf/machine/include/k3.inc
+++ b/meta-ti-bsp/conf/machine/include/k3.inc
@@ -47,7 +47,6 @@  MACHINE_FEATURES += "efi"
 
 WKS_FILE ?= "sdimage-2part-efi.wks"
 do_image_wic[depends] += "virtual/bootloader:do_deploy"
-do_image_wic[mcdepends] += "mc::k3r5:virtual/bootloader:do_deploy mc::k3r5:ti-sci-fw:do_deploy"
-do_image_tar[mcdepends] += "mc::k3r5:virtual/bootloader:do_deploy mc::k3r5:ti-sci-fw:do_deploy"
+do_image_wic[mcdepends] += "mc::k3r5:ti-sci-fw:do_deploy"
 
 TI_SECURE_DEV_PKG = "${TI_SECURE_DEV_PKG_K3}"
diff --git a/meta-ti-bsp/conf/machine/include/omap-a15.inc b/meta-ti-bsp/conf/machine/include/omap-a15.inc
index f548f3fd..0843fb28 100644
--- a/meta-ti-bsp/conf/machine/include/omap-a15.inc
+++ b/meta-ti-bsp/conf/machine/include/omap-a15.inc
@@ -50,4 +50,4 @@  MACHINE_FEATURES = "kernel26 apm usbgadget usbhost vfat ext2 screen alsa etherne
 IMAGE_FSTYPES += "tar.xz wic.xz wic.bmap"
 WKS_FILE ?= "sdimage-2part.wks"
 IMAGE_BOOT_FILES ?= "${SPL_BINARY} u-boot.${UBOOT_SUFFIX} ${UBOOT_EXTLINUX_BOOT_FILES}"
-do_image_wic[depends] += "u-boot:do_deploy"
+do_image_wic[depends] += "virtual/bootloader:do_deploy"
diff --git a/meta-ti-bsp/conf/machine/include/ti43x.inc b/meta-ti-bsp/conf/machine/include/ti43x.inc
index 5509a54d..74a964db 100644
--- a/meta-ti-bsp/conf/machine/include/ti43x.inc
+++ b/meta-ti-bsp/conf/machine/include/ti43x.inc
@@ -59,4 +59,4 @@  MACHINE_FEATURES = "kernel26 apm usbgadget usbhost vfat ext2 screen alsa etherne
 IMAGE_FSTYPES += "tar.xz wic.xz wic.bmap"
 WKS_FILE ?= "sdimage-2part.wks"
 IMAGE_BOOT_FILES ?= "${SPL_BINARY} u-boot.${UBOOT_SUFFIX} ${UBOOT_EXTLINUX_BOOT_FILES}"
-do_image_wic[depends] += "u-boot:do_deploy"
+do_image_wic[depends] += "virtual/bootloader:do_deploy"
diff --git a/meta-ti-bsp/conf/machine/j7200-evm.conf b/meta-ti-bsp/conf/machine/j7200-evm.conf
index 303ec182..33c39a52 100644
--- a/meta-ti-bsp/conf/machine/j7200-evm.conf
+++ b/meta-ti-bsp/conf/machine/j7200-evm.conf
@@ -12,6 +12,3 @@  KERNEL_DEVICETREE = " \
 "
 
 UBOOT_MACHINE = "j7200_evm_a72_config"
-
-do_image_wic[mcdepends] = "mc::k3r5:ti-sci-fw:do_deploy"
-do_image_tar[mcdepends] = "mc::k3r5:ti-sci-fw:do_deploy"
diff --git a/meta-ti-bsp/conf/machine/j721e-evm.conf b/meta-ti-bsp/conf/machine/j721e-evm.conf
index d28d16d1..fe28e6f5 100644
--- a/meta-ti-bsp/conf/machine/j721e-evm.conf
+++ b/meta-ti-bsp/conf/machine/j721e-evm.conf
@@ -7,9 +7,6 @@  require conf/machine/include/j721e.inc
 SERIAL_CONSOLES = "115200;ttyS2 115200;ttyS3"
 SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}"
 
-# Since J721e does not support multi-cert tiboot3.bin add standalone sysfw.itb
-IMAGE_BOOT_FILES += "sysfw.itb"
-
 KERNEL_DEVICETREE = " \
     ti/k3-j721e-common-proc-board.dtb \
     ti/k3-j721e-common-proc-board-infotainment.dtbo \
diff --git a/meta-ti-bsp/conf/machine/j721e-hs-evm.conf b/meta-ti-bsp/conf/machine/j721e-hs-evm.conf
index 9ef7b86a..acd5ca18 100644
--- a/meta-ti-bsp/conf/machine/j721e-hs-evm.conf
+++ b/meta-ti-bsp/conf/machine/j721e-hs-evm.conf
@@ -18,10 +18,3 @@  SPL_BINARY = "tispl.bin_HS"
 UBOOT_BINARY = "u-boot.img_HS"
 UBOOT_SYMLINK = "u-boot.img"
 SYSFW_SYMLINK = ""
-
-BBMULTICONFIG += "k3r5-sr1-1"
-
-# Since default sysfw.itb on J721e is for SR1.1, add a version for SR1.0
-IMAGE_BOOT_FILES += "sysfw-j721e-evm.itb"
-do_image_wic[mcdepends] += "mc::k3r5-sr1-1:ti-sci-fw:do_deploy"
-do_image_tar[mcdepends] += "mc::k3r5-sr1-1:ti-sci-fw:do_deploy"
diff --git a/meta-ti-bsp/conf/machine/j721s2-evm.conf b/meta-ti-bsp/conf/machine/j721s2-evm.conf
index 46d5dbf6..3576414d 100644
--- a/meta-ti-bsp/conf/machine/j721s2-evm.conf
+++ b/meta-ti-bsp/conf/machine/j721s2-evm.conf
@@ -15,6 +15,3 @@  KERNEL_DEVICETREE = " \
 "
 
 UBOOT_MACHINE = "j721s2_evm_a72_defconfig"
-
-do_image_wic[mcdepends] = "mc::k3r5:ti-sci-fw:do_deploy"
-do_image_tar[mcdepends] = "mc::k3r5:ti-sci-fw:do_deploy"
diff --git a/meta-ti-bsp/conf/machine/j784s4-evm.conf b/meta-ti-bsp/conf/machine/j784s4-evm.conf
index f8be7d18..73f3eb8c 100644
--- a/meta-ti-bsp/conf/machine/j784s4-evm.conf
+++ b/meta-ti-bsp/conf/machine/j784s4-evm.conf
@@ -14,6 +14,3 @@  KERNEL_DEVICETREE = " \
 "
 
 UBOOT_MACHINE = "j784s4_evm_a72_defconfig"
-
-do_image_wic[mcdepends] = "mc::k3r5:ti-sci-fw:do_deploy"
-do_image_tar[mcdepends] = "mc::k3r5:ti-sci-fw:do_deploy"