RE: Partial reconfiguration on ZynqMP

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi ,
	Please find my response inline.

> > -----Original Message-----
> > From: Simon Doppler <simon.doppler@xxxxxxxxxxxxx>
> > Sent: Wednesday, December 22, 2021 2:14 PM
> > To: mdf@xxxxxxxxxx; trix@xxxxxxxxxx; Michal Simek
> > <michals@xxxxxxxxxx>; linux-fpga@xxxxxxxxxxxxxxx
> > Cc: Adrian Fiergolski <adrian.fiergolski@xxxxxxxxxxxxx>
> > Subject: Partial reconfiguration on ZynqMP
> >
> > Hi everyone,
> >
> > We are currently trying to use partial reconfiguration for our ZynqMP-
> > based system (part is xczu6eg) and device-tree overlay based
> > reconfiguration crashes.
> > Our Linux system is using 5.10.0-xilinx-v2021.1.
> >
> > The reconfigurable partition is decoupled from the rest of the design
> > with an AXI-shutdown manager IP and a DFX decoupler (the
> > shutdown_requested signal of the AXI shutdown manager is used to drive
> > the request_shutdown of the DFX decoupler).
> >
> > The relevant parts of the device tree are:
> >
> > ---- BEGIN SNIP ----
> > fpga_full: fpga-full {
> > 		status = "okay";
> > 		reconf_region: reconf_region0 {
> > 			  compatible = "fpga-region";
> > 			  fpga-bridges = <&reconf_bridge0>;
> > 		};
> >        };
> >
> > reconf_bridge0: reconf_bridge@a0080000  {
> > 			status = "okay";
> > 			compatible = "xlnx,dfx-axi-shutdown-manager-
> 1.00";
> > 			reg = <0x0 0xa0080000 0x0 0x10>;
> > 			clock-names = "aclk";
> > 			clocks = <&zynqmp_clk 73>;
> > 			bridge-enable = <1>;
> > 		};
> > ---- END SNIP ----
> >
> > To reconfigure, I tested the following cases:
> >
> > 1. manual reconfiguration: WORKS
> >    - decouple by writing to the register directly
> >    - reconfigure directly with the fpga-manager
> >    - recouple by writing directly to the register
> >
> > 2. full reconfiguration with device-tree overlay: WORKS
> >    - we feed the full bitstream to the FPGA manager
> >    - using the following device-tree overlay:
> > ---- BEGIN SNIP ----
> > /dts-v1/;
> > /plugin/;
> >
> > &reconf_region {
> > 	firmware-name = "full.bit";
> > };
> > ---- BEGIN SNIP ----
> >
> > 3. partial reconfiguration with device-tree overlay:
> >    - we feed the full bitstream to the FPGA manager
> >    - using the following device-tree overlay:
> > ---- BEGIN SNIP ----
> > /dts-v1/;
> > /plugin/;
> >
> > &reconf_region {
> > 	partial-fpga-config;
> > 	fpga-bridges = <&reconf_bridge0>;
> > 	firmware-name = "partial.bit";
> > };
> > ---- BEGIN SNIP ----
> >
> > In this case, the whole system crashes (even the platform cable does
> > not respond anymore).
> > When setting an ILA trigger on the write valid signal of the AXI
> > control path of the AXI Shutdown manager, the ILA appears to trigger
> > but crashes before the data is shown in the hardware manager window of
> Vivado.
> >
> > When the partial bitstream written by the overlay is already loaded
> > (by hand, as is case 1), the reconfiguration using an overlay works
> > and the AXI Shutdown manager is written to as expected.
> >
> > Do you have an idea on what is going wrong here ?
> > As I manage to do the reconfiguration by hand, I suspect a
> > configuration/device-tree/software error.
> >

In the case 2 use case could you please provide more details (if possible please share the log)
needs to cross verify whether the axi shutdown manager is written/configured as expected.

Regards,
Navakishore.




[Index of Archives]     [LM Sensors]     [Linux Sound]     [ALSA Users]     [ALSA Devel]     [Linux Audio Users]     [Linux Media]     [Kernel]     [Gimp]     [Yosemite News]     [Linux Media]

  Powered by Linux