On 8/13/21 1:27 PM, Adrian Fiergolski wrote:
Hi Mark,
I use U-Boot SPL, so the u-boot binary includes pmu-firmware. In my
case, the U-Boot SPL injects also the PM configuration object. So far
(gatesgarth), u-boot had multiconfig dependency:
do_compile[mcdepends] = "multiconfig::pmu:pmu-firmware:do_deploy"
This is the standalone version of pmu-firmware. If you have the board
configuration data, xsa or similar. It's recommended you use the
meta-xilinx-tools version instead. This generated a pmu-firmware that is
specific to your board. (May be smaller or more feature rich then the generic
one.)
BTW the format above is 'old' style. It might still work, but the current
recommended format is:
mc::<config>:<recipe>:<task>
(be sure to read to the end, as you may be able to skip all of this complexity,
but using pmufw instead.)
Note, if you are using zynqmp-generic, or including soc-zynqmp.inc in your
custom BSP, there is an easier way to do this:
do_compile[depends] += "${PMU_DEPENDS}"
do_compile[mcdepends] += "${PMU_MCDEPENDS}"
Note, doing it like the above will ensure your code works for pmu-firmware from
BOTH meta-xilinx-tools, and the standalone version. The build environments are
different, thus the different dependency models.
and thinks worked smoothly.
I aligned the names and the local.conf with your new naming (according
to meta-xilinx-standalone). So, the new dependency is:
do_compile[mcdepends] =
"multiconfig:microblaze-zynqmp-pmu:zynqmp-pmufw:pmu-firmware:do_deploy"
You need to add the multiconfig to your system, should be a basic example:
https://github.com/Xilinx/meta-xilinx/blob/master/meta-xilinx-standalone/README.md
Two pre-configured multiconfigs exist. zynqmp-pmufw and versal-fw. You will
need to activate the one that matches your confiuration:
local.conf:
BBMULTICONFIG += "zynqmp-pmufw"
However, after your work, I get an error when I try to build an image
for zynqmp:
NOTE: Resolving any missing task queue dependencies
ERROR: Nothing PROVIDES 'pmu-firmware'
pmu-firmware was skipped: incompatible with host aarch64-poky-linux (not
in COMPATIBLE_HOST)
pmu-firmware was skipped: incompatible with host aarch64-xilinx-elf (not
in COMPATIBLE_HOST)
pmu-firmware was skipped: incompatible with host aarch64-xilinx-elf (not
in COMPATIBLE_HOST
You don't have something configured properly. The zynqmp-pmufw multiconfig:
https://github.com/Xilinx/meta-xilinx/blob/gatesgarth/meta-xilinx-standalone/conf/multiconfig/zynqmp-pmufw.conf
It sets your 'DISTRO' to xilinx-standalone, as well as the DEFAULTTUNE to
'microblaze' (with some specific tuning options).
The message above looks like both DISTRO was not set, as well as the
architecture was set to aarch64 instead. So it didn't load the multiconfig.
You should be able to verify using:
bitbake mc:zynqmp-pmufw:pmu-firmware
(yes this format is slightly different then the mcdepends format above.)
How should I address that?
U-Boot is properly looking for
..tmp-microblaze-zynqmp-pmufw/deploy/images/falcon-zynqmp/pmu-firmware-zynqmp-pmu.bin
which hasn't been built yet.
The file that u-boot should look for is captured by "PMU_FIRMWARE_IMAGE_NAME",
and the file exists in PMU_FIRMWARE_DEPLOY_DIR -- if you are going to directly
incorporate the files from the multiconfig. OTHERWISE, if you instead depend on the
recipe 'pmufw' (in the regular non-multiconfig context). It will handle everything I
said above for you, and the output will end up the regular deploy dir, under the
PMU_FIRMWARE_IMAGE_NAME filename. This is the recommended way to do it.
So, my recommendation is:
u-boot:
DEPENDS += "pmufw"
do_compile[depends] += "pmufw:do_deploy"
local.conf:
BBMULTICONFIG += "zynqmp-pmufw"
Doing the above, both meta-xilinx-standalone and meta-xilinx-tools
implementations will work, and be completely transparent to the rest of the
system.
--Mark
Regards,
Adrian
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#4902):
https://lists.yoctoproject.org/g/meta-xilinx/message/4902
Mute This Topic: https://lists.yoctoproject.org/mt/84870075/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/meta-xilinx/unsub
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-