* [PATCH] board: xilinx: zynqmp: Register alternate FPGA device for zu63dr_SE
@ 2026-04-07 10:34 Michal Simek
2026-04-15 13:08 ` Michal Simek
0 siblings, 1 reply; 2+ messages in thread
From: Michal Simek @ 2026-04-07 10:34 UTC (permalink / raw)
To: u-boot, git
Cc: Ilias Apalodimas, Jonathan Humphreys, Mattijs Korpershoek,
Naman Trivedi, Neal Frager, Tom Rini, Vincent Stehlé
The zu63dr_SE and zu67dr_SE devices share the same silicon ID code
0x046D7093 and cannot be distinguished at runtime. The SOC driver
reports zu67dr_SE for this ID, which causes fpga loadb to reject
zu63dr_SE bitstreams.
Register zu63dr_SE as an alternate FPGA device when zu67dr_SE is
detected. This allows users to load either bitstream by selecting
the appropriate device number:
- Device 0 (zu67dr_SE): fpga loadb 0 ${loadaddr} ${filesize}
- Device 1 (zu63dr_SE): fpga loadb 1 ${loadaddr} ${filesize}
Signed-off-by: Michal Simek <michal.simek@amd.com>
---
board/xilinx/zynqmp/zynqmp.c | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/board/xilinx/zynqmp/zynqmp.c b/board/xilinx/zynqmp/zynqmp.c
index 769e52bcfb5f..a1d8ae266730 100644
--- a/board/xilinx/zynqmp/zynqmp.c
+++ b/board/xilinx/zynqmp/zynqmp.c
@@ -183,6 +183,23 @@ int board_init(void)
zynqmppl.name = strdup(name);
fpga_init();
fpga_add(fpga_xilinx, &zynqmppl);
+
+ /*
+ * zu63dr_SE and zu67dr_SE share ID 0x046D7093.
+ * Register zu63dr_SE as alternate device.
+ */
+ if (!strcmp(name, "zu67dr_SE")) {
+ xilinx_desc *alt;
+
+ alt = calloc(1, sizeof(*alt));
+ if (!alt) {
+ log_err("Failed to allocate alt FPGA descriptor\n");
+ } else {
+ *alt = zynqmppl;
+ alt->name = "zu63dr_SE";
+ fpga_add(fpga_xilinx, alt);
+ }
+ }
}
}
#endif
--
2.43.0
base-commit: 4951c9780b251212ee38ae0f368fd79e6a571c11
branch: debian-sent3
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] board: xilinx: zynqmp: Register alternate FPGA device for zu63dr_SE
2026-04-07 10:34 [PATCH] board: xilinx: zynqmp: Register alternate FPGA device for zu63dr_SE Michal Simek
@ 2026-04-15 13:08 ` Michal Simek
0 siblings, 0 replies; 2+ messages in thread
From: Michal Simek @ 2026-04-15 13:08 UTC (permalink / raw)
To: u-boot, git
Cc: Ilias Apalodimas, Jonathan Humphreys, Mattijs Korpershoek,
Naman Trivedi, Neal Frager, Tom Rini, Vincent Stehlé
On 4/7/26 12:34, Michal Simek wrote:
> The zu63dr_SE and zu67dr_SE devices share the same silicon ID code
> 0x046D7093 and cannot be distinguished at runtime. The SOC driver
> reports zu67dr_SE for this ID, which causes fpga loadb to reject
> zu63dr_SE bitstreams.
>
> Register zu63dr_SE as an alternate FPGA device when zu67dr_SE is
> detected. This allows users to load either bitstream by selecting
> the appropriate device number:
> - Device 0 (zu67dr_SE): fpga loadb 0 ${loadaddr} ${filesize}
> - Device 1 (zu63dr_SE): fpga loadb 1 ${loadaddr} ${filesize}
>
> Signed-off-by: Michal Simek <michal.simek@amd.com>
> ---
>
> board/xilinx/zynqmp/zynqmp.c | 17 +++++++++++++++++
> 1 file changed, 17 insertions(+)
>
> diff --git a/board/xilinx/zynqmp/zynqmp.c b/board/xilinx/zynqmp/zynqmp.c
> index 769e52bcfb5f..a1d8ae266730 100644
> --- a/board/xilinx/zynqmp/zynqmp.c
> +++ b/board/xilinx/zynqmp/zynqmp.c
> @@ -183,6 +183,23 @@ int board_init(void)
> zynqmppl.name = strdup(name);
> fpga_init();
> fpga_add(fpga_xilinx, &zynqmppl);
> +
> + /*
> + * zu63dr_SE and zu67dr_SE share ID 0x046D7093.
> + * Register zu63dr_SE as alternate device.
> + */
> + if (!strcmp(name, "zu67dr_SE")) {
> + xilinx_desc *alt;
> +
> + alt = calloc(1, sizeof(*alt));
> + if (!alt) {
> + log_err("Failed to allocate alt FPGA descriptor\n");
> + } else {
> + *alt = zynqmppl;
> + alt->name = "zu63dr_SE";
> + fpga_add(fpga_xilinx, alt);
> + }
> + }
> }
> }
> #endif
Applied.
M
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-04-15 13:09 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-07 10:34 [PATCH] board: xilinx: zynqmp: Register alternate FPGA device for zu63dr_SE Michal Simek
2026-04-15 13:08 ` Michal Simek
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox