On 4/7/23 11:39 AM, Chris Laplante via lists.yoctoproject.org wrote:
Hello,
We noticed a difference between PetaLinux 2022.2 and meta-xilinx. When using
petalinux-package to create a boot image for ZynqMP, it seems that the .bif that
is generated uses the CBR method of loading PMU FW, as described here:
https://docs.xilinx.com/r/en-US/ug1137-zynq-ultrascale-mpsoc-swdev/PMU-Firmware-Loading-Options <https://docs.xilinx.com/r/en-US/ug1137-zynq-ultrascale-mpsoc-swdev/PMU-Firmware-Loading-Options>.
Contrast this to meta-xilinx (2022.2) which uses the FSBL method. We noticed
that when building BOOT.BIN using PetaLinux, everything works fine. When using
Yocto, we end up with PS_ERROR_OUT asserting and our red LED turning on. (This
is a custom board).
I don't know much about this. The best I can say is that Yocto Project
integration doesn't support the bootgen method (CBR) that has to do with secure
booting. You need a different bootgen then what we have integrated for secure
boot. PetaLinux constructs files externally of the Yocto Project configuration
with external helpers that know about secure configurations and other things.
(Sorry I don't understand much of this, only the basic BIF and bootgen calling
as implemented.)
I used a JTAG to check the source of the error when booting using the
Yocto-built BOOT.BIN. The output is below:
...
From the register reference
(https://docs.xilinx.com/r/en-US/ug1087-zynq-ultrascale-registers/ERROR_STATUS_2-PMU_GLOBAL-Register <https://docs.xilinx.com/r/en-US/ug1087-zynq-ultrascale-registers/ERROR_STATUS_2-PMU_GLOBAL-Register>), this last line means that it is a PMU_SERVICE error. Some online forums suggest it could be an issue with power sequencing. But if that’s the case, I don’t understand why it doesn’t occur with the PetaLinux-built BOOT.BIN.
I locally patched meta-xilinx to use the CBR method for PMU FW loading and
confirmed that PS_ERROR_OUT is not asserted. So for us it is a simple fix, but
I’d really like to figure out why before just committing the change.
Can you share these patches? I'd like to see how invasive they are and if they
require any components that are not part of the regular Yocto Project integrations.
As for the items below, I don't know. Hopefully someone else can chime in and
help.
--Mark
I have a few questions:
1. Is there a reason why PetaLinux uses the CBR method, while meta-xilinx uses
the FSBL method?
2. Can anyone explain why we would see the PMU_SERVICE issue when using FSBL
method, but not CBR method?
3. Would layer maintainers accept a patch that adds the CBR method for loading
PMU FW?
Thanks,
Chris
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#5209):
https://lists.yoctoproject.org/g/meta-xilinx/message/5209
Mute This Topic: https://lists.yoctoproject.org/mt/98128052/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/meta-xilinx/unsub
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-