[meta-xilinx] Provider of pmu-firmware [rel-v2018.1]

Nathan Rossi nathan at nathanrossi.com
Tue May 15 09:19:43 PDT 2018


On 15 May 2018 at 20:54, Martin Siegumfeldt <mns at gomspace.com> wrote:
> Hi,
>
> Based on https://github.com/Xilinx/meta-xilinx-tools/commit/a516c3a4a8b29e07233b5f2ecf91a2a3e63a1ff7 I would like to switch from building the pmu-firmware using the XSDK (i.e. through meta-xilinx-tools) to the generated toolchain (i.e. through meta-xilinx). However the latter layer seems not (directly at least) to provide this:
>
> martin at dell:~/work/tmp/xilinx$ ack ^'PROVIDES = "virtual/pmu-firmware' meta-xilinx-tools/ meta-xilinx
> meta-xilinx-tools/recipes-bsp/pmu-firmware/pmu-firmware_git.bb
> 3:PROVIDES = "virtual/pmu-firmware"
>
> Inspecting https://github.com/Xilinx/meta-xilinx/blob/rel-v2018.1/meta-xilinx-bsp/recipes-bsp/pmu-firmware/pmu-firmware_2017.3.bb
>
> provides the following information:
>
> # force this recipe to provide a target virtual/pmu-firmware. this is applied
> # after any class extender mapping and results in this recipe always providing
> # 'virtual/pmu-firmware'.
> python append_target_provides () {
>     d.appendVar("PROVIDES", " virtual/pmu-firmware")
> }

This is to work around the recipe only providing
"virtual/zynqmp-pmu-pmu-firmware" since the recipe is only valid for
the microblaze 'multilib'.

>
> which is not exactly clear to me? In any case, the recipes are named the same and I don't see how to switch between the providers? I tried deleting 'meta-xilinx-tools/recipes-bsp/pmu-firmware/pmu-firmware_git.bb' after which the meta-xilinx variant seems to be built but does not boot.
>
> Am I missing something or is the provider concept broken/incomplete?

The preferred provider selection should work, however due to the
naming of the recipes it might be a bit confusing.

To use the pmu-firmware (aka zynqmp-pmu-pmu-firmware) built in oe via
the meta-xilinx-bsp pmu-firmware recipe you should set the provider
like so:

PREFERRED_PROVIDER_virtual/pmu-firmware = "zynqmp-pmu-pmu-firmware"

(like how the zcu102-zynqmp machine does
https://github.com/Xilinx/meta-xilinx/blob/master/meta-xilinx-bsp/conf/machine/zcu102-zynqmp.conf#L28)

To use the pmu-firmware built using XSDK/xsct via the
meta-xilinx-tools pmu-firmware recipe you should set the provider like
so:

PREFERRED_PROVIDER_virtual/pmu-firmware = "pmu-firmware"

Regards,
Nathan


More information about the meta-xilinx mailing list