UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Observer aroytman
Observer
217 Views
Registered: ‎12-07-2017

Interfacing PMU from 32 bit OS to load bitstream

Hello all,

 

I work with the ZCU102 evaluation board.

I have a problem interfacing PMU firmware from a 32 bit commercial OS, a.k.a. ARMv7 mode.

U-boot runs, loads the OS that starts running. It switches the CPU to 32 bit.

 

I need to load the FPGA dynamically from OS. This is the service that is requested from PMU. The BOOT.BIN is packaged w/o any bitstream.

No authentication/encryption is used. It worked with version 2017.2, but does not work with 2018.2.

With complete package (fsbl, pmu, u-boot) from 2018.2 I get this failure message: “Crypto flags not matched with Image crypto operation”.

This comes from XFpga_PL_BitSream_Load (xilfpga_pcap.c).

 

However, u-boot is able to load the FPGA via command at the prompt.

The bit file was created by 2017.2 version – seems not to matter since u-boot can load it.

Using a file created by 2018.2 gives same results.

 

I did not find an updated documentation regarding PMU interface change, however, after some debugging I see that parameter that used to hold the

length of bitstream now holds  a pointer to length. I did not find other differences except this one: the zynqmp_load  (zynqmppl.c) routine now has this line:

bstype |= BIT(ZYNQMP_FPGA_BIT_NS);

just before calling invoke_smc.

 

I changed my code to do the same, but seems that this is not what is eventually goes to PmIpiHandler (xpfw_mod_pm.c) -  I printed the what is pointed to by the Payload parameter.

 

Any thoughts, pointers where to look, documentation of updated interface, etc. are most welcome.

 

Kind regards

Tags (1)
0 Kudos