[meta-xilinx] [PATCH 1/2] u-boot-spl-zynq-init.inc: Add virtual/boot-bin provider

Manjukumar Harthikote Matha MANJUKUM at xilinx.com
Mon Dec 4 14:32:03 PST 2017



> -----Original Message-----
> From: meta-xilinx-bounces at yoctoproject.org [mailto:meta-xilinx-
> bounces at yoctoproject.org] On Behalf Of Nathan Rossi
> Sent: Sunday, December 03, 2017 1:03 AM
> To: meta-xilinx at yoctoproject.org
> Subject: [meta-xilinx] [PATCH 1/2] u-boot-spl-zynq-init.inc: Add virtual/boot-bin
> provider
> 
> Add back the PROVIDES for virtual/boot-bin and additionally improve the logic that
> enables the provide so that U-Boot can be built without providing virtual/boot-bin.
> 
> In order for the u-boot recipe to provide virtual/boot-bin for Zynq and ZynqMP
> targets the selected provider for virtual/boot-bin must be the current u-boot (e.g. u-
> boot or u-boot-xlnx) or the provider must be unset. When u-boot provides
> virtual/boot-bin it is only enabling the deployment of boot.bin. In cases where it is
> not the provider it forcibly prevents the deployment of boot.bin. This ensures that
> the platform-init files are still provided even if SPL is not used for the boot.bin.
> 
> Additionally for ZynqMP if u-boot is not providing the boot.bin do not depend on
> virtual/pmu-firmware. Since the boot.bin is what contains the pmu binary.
> 
> Signed-off-by: Nathan Rossi <nathan at nathanrossi.com>
> ---
>  recipes-bsp/u-boot/u-boot-spl-zynq-init.inc | 21 +++++++++++++++++++--
>  1 file changed, 19 insertions(+), 2 deletions(-)
> 
> diff --git a/recipes-bsp/u-boot/u-boot-spl-zynq-init.inc b/recipes-bsp/u-boot/u-
> boot-spl-zynq-init.inc
> index 2123e27168..50eae1f129 100644
> --- a/recipes-bsp/u-boot/u-boot-spl-zynq-init.inc
> +++ b/recipes-bsp/u-boot/u-boot-spl-zynq-init.inc
> @@ -34,8 +34,12 @@ python () {
>                  return c[0:len(c) - len(i)]
>          return c
> 
> +    if d.getVar("SOC_FAMILY") not in ["zynq", "zynqmp"]:
> +        # continue on this is not a zynq/zynqmp target
> +        return
> +
>      # Determine if target machine needs to provide a custom platform init files
> -    if d.getVar("SPL_BINARY") and d.getVar("SOC_FAMILY") in ["zynq", "zynqmp"]:
> +    if d.getVar("SPL_BINARY"):
>          hasconfigs = [strip_config_name(c) for c in (d.getVar("HAS_PLATFORM_INIT")
> or "").split()]
>          currentconfig = strip_config_name(d.getVar("UBOOT_MACHINE"))
> 
> @@ -46,7 +50,20 @@ python () {
>              # setup task to modify platform init after unpack and before configure
>              bb.build.addtask("do_zynq_platform_init", "do_configure",
> "do_prepare_recipe_sysroot", d)
> 
> -    if "boot.bin" in d.getVar("SPL_BINARY") and d.getVar("SOC_FAMILY") in
> ["zynqmp"]:
> +    if "boot.bin" not in d.getVar("SPL_BINARY"):
> +        # not deploying the boot.bin, just building SPL
> +        return
> +
> +    # assume that U-Boot is to provide the boot.bin if no other provides are selected
> or U-Boot is selected
> +    providesbin = not(d.getVar("PREFERRED_PROVIDER_virtual/boot-bin")) or
> d.getVar("PREFERRED_PROVIDER_virtual/boot-bin") == d.getVar("PN")
> +    if providesbin:
> +        # add provides, if U-Boot is set to provide boot.bin
> +        d.appendVar("PROVIDES", " virtual/boot-bin")
> +    else:
> +        # prevent U-Boot from deploying the boot.bin
> +        d.setVar("SPL_BINARY", "")
> +
> +    if providesbin and d.getVar("SOC_FAMILY") in ["zynqmp"]:
>          # depend on the pmu-firmware build
>          d.appendVar("DEPENDS", " virtual/pmu-firmware")
>          # determine the path relative to the source tree
> --

ACK and applied the series

Thanks,
Manju



More information about the meta-xilinx mailing list