From: Simon Doppler <simon.doppler@fastree3d.com>
To: mdf@kernel.org, trix@redhat.com, michal.simek@xilinx.com,
linux-fpga@vger.kernel.org
Cc: Adrian Fiergolski <adrian.fiergolski@fastree3d.com>
Subject: Partial reconfiguration on ZynqMP
Date: Wed, 22 Dec 2021 09:43:55 +0100 [thread overview]
Message-ID: <23cf0454cadc24bc0fd7d898ab3d4bd4dfd95bac.camel@fastree3d.com> (raw)
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.
Best regards
Simon Doppler
next reply other threads:[~2021-12-22 8:43 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-12-22 8:43 Simon Doppler [this message]
[not found] ` <BYAPR02MB3925AB4E544B1E93232A4BB2D97D9@BYAPR02MB3925.namprd02.prod.outlook.com>
2021-12-23 6:03 ` Partial reconfiguration on ZynqMP Nava kishore Manne
2021-12-23 21:23 ` Simon Doppler
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=23cf0454cadc24bc0fd7d898ab3d4bd4dfd95bac.camel@fastree3d.com \
--to=simon.doppler@fastree3d.com \
--cc=adrian.fiergolski@fastree3d.com \
--cc=linux-fpga@vger.kernel.org \
--cc=mdf@kernel.org \
--cc=michal.simek@xilinx.com \
--cc=trix@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).