drivers/char/xilinx_hwicap

Xilinx OPB/XPS HWICAP FPGA self-reconfiguration interface

An on-chip interface that lets a MicroBlaze soft-CPU running Linux read and rewrite parts of its own FPGA bitstream at runtime, used on Xilinx Virtex-II Pro, Virtex-4, Virtex-5, Virtex-6 and Spartan-6 boards built around the older OPB and XPS buses through roughly 2011. It enabled partial reconfiguration features on embedded FPGA systems before Xilinx moved to the AXI-based HWICAP cores.

keep-annotate conf=0.72 last_sold=2011 deploy=low replacement=none subsystem=char category=firmware
72%

recommendation

Worth keeping but documenting as legacy, because it only binds to the older OPB/XPS HWICAP cores used in Virtex-II Pro through Virtex-6 era MicroBlaze designs (last specified in 2011), while AMD/Xilinx have since moved new designs to the AXI HWICAP v3.0 IP that this code does not target. Upstream activity in 2024 (a NULL-pointer bugfix and a treewide API update) shows it is still being maintained rather than dismantled, so removal would be premature even though deployments today are sparse.

repository signals

7 files
1,895 source lines
11 commits, 5y
+76 / −169 lines added / removed, 5y
9 authors, 5y
monthly commits · 2021-04-21 → 2026-04-21 · 11 total · active in 8/61 months
2021 2022 2023 2024 2025 2026 2021-04: 0 commits · +0 −0 2021-05: 0 commits · +0 −0 2021-06: 0 commits · +0 −0 2021-07: 0 commits · +0 −0 2021-08: 0 commits · +0 −0 2021-09: 0 commits · +0 −0 2021-10: 0 commits · +0 −0 2021-11: 0 commits · +0 −0 2021-12: 0 commits · +0 −0 2022-01: 0 commits · +0 −0 2022-02: 1 commit · +4 −4 2022-03: 0 commits · +0 −0 2022-04: 0 commits · +0 −0 2022-05: 0 commits · +0 −0 2022-06: 0 commits · +0 −0 2022-07: 0 commits · +0 −0 2022-08: 0 commits · +0 −0 2022-09: 0 commits · +0 −0 2022-10: 0 commits · +0 −0 2022-11: 0 commits · +0 −0 2022-12: 0 commits · +0 −0 2023-01: 0 commits · +0 −0 2023-02: 0 commits · +0 −0 2023-03: 1 commit · +1 −1 2023-04: 0 commits · +0 −0 2023-05: 0 commits · +0 −0 2023-06: 4 commits · +29 −33 2023-07: 0 commits · +0 −0 2023-08: 0 commits · +0 −0 2023-09: 0 commits · +0 −0 2023-10: 1 commit · +19 −119 2023-11: 0 commits · +0 −0 2023-12: 0 commits · +0 −0 2024-01: 0 commits · +0 −0 2024-02: 1 commit · +2 −2 2024-03: 1 commit · +1 −1 2024-04: 0 commits · +0 −0 2024-05: 0 commits · +0 −0 2024-06: 0 commits · +0 −0 2024-07: 0 commits · +0 −0 2024-08: 0 commits · +0 −0 2024-09: 0 commits · +0 −0 2024-10: 1 commit · +1 −1 2024-11: 0 commits · +0 −0 2024-12: 0 commits · +0 −0 2025-01: 0 commits · +0 −0 2025-02: 0 commits · +0 −0 2025-03: 0 commits · +0 −0 2025-04: 0 commits · +0 −0 2025-05: 0 commits · +0 −0 2025-06: 0 commits · +0 −0 2025-07: 0 commits · +0 −0 2025-08: 0 commits · +0 −0 2025-09: 0 commits · +0 −0 2025-10: 0 commits · +0 −0 2025-11: 0 commits · +0 −0 2025-12: 1 commit · +19 −8 2026-01: 0 commits · +0 −0 2026-02: 0 commits · +0 −0 2026-03: 0 commits · +0 −0 2026-04: 0 commits · +0 −0

sources

  1. lore.kernel.org

    Upstream still takes functional fixes for this driver; a NULL-vs-IS_ERR bugfix was posted in February 2024.

  2. lore.kernel.org

    The driver also received treewide API adaptation in April 2024, indicating it is still kept buildable in mainline.

  3. docs.amd.com

    The XPS HWICAP product spec is an older PLB-based core (DS586, June 22 2011) for Spartan-6 and Virtex-4/5/6-class devices, matching the Linux driver's legacy OPB/XPS bindings rather than current AMD FPGA flows.

  4. docs.amd.com

    AMD still documents HWICAP in 2025, but as AXI HWICAP v3.0; this suggests current new designs use AXI-era IP, not the OPB/XPS cores this Linux driver binds.

codex reasoning notes (technical)

Local source inspection via shell showed only legacy OF compatibles (xlnx,opb-hwicap-1.00.b and xlnx,xps-hwicap-1.00.a) and family strings up to virtex6 in xilinx_hwicap.c. Activity evidence came from lore_file_timeline on drivers/char/xilinx_hwicap/xilinx_hwicap.c, which showed 2024-2025 fixes/treewide churn rather than removal. Product URLs were obtained by web search on docs.amd.com; DS586 identifies the older XPS HWICAP core, while PG134 shows the modern AXI HWICAP line. Conclusion: legacy hardware/IP with low present-day deployment, but still enough upstream maintenance that deprecate/remove would be premature; annotate as legacy instead.