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]]
-=-=-=-=-=-=-=-=-=-=-=-

  • [meta-xilinx] PMU_SERVIC... Chris Laplante via lists.yoctoproject.org
    • Re: [meta-xilinx] P... Mark Hatle
      • Re: [meta-xilin... Chris Laplante via lists.yoctoproject.org
        • Re: [meta-x... Sandeep Gundlupet Raju via lists.yoctoproject.org
          • Re: [me... Chris Laplante via lists.yoctoproject.org
            • Re... Chris Laplante via lists.yoctoproject.org
              • ... Sandeep Gundlupet Raju via lists.yoctoproject.org
                • ... Chris Laplante via lists.yoctoproject.org
                • ... Sandeep Gundlupet Raju via lists.yoctoproject.org
                • ... Chris Laplante via lists.yoctoproject.org

Reply via email to