[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