build: Digilent backend on by default on UNIX

The driver dlopen's libdjtg/libdmgr and degrades to "no probe" if
they're absent, so building it in has no cost or dependency.
BS_ENABLE_DIGILENT now defaults ON on UNIX (needs <dlfcn.h>); disable
with -DBS_ENABLE_DIGILENT=OFF. Docs updated; also fixes the quartiq
license note in CLAUDE.md (MIT, not BSD-2).
This commit is contained in:
2026-05-23 17:16:36 +02:00
parent 888f0eed5b
commit 8e3428788c
3 changed files with 31 additions and 19 deletions

View File

@@ -103,9 +103,12 @@ high ("all ones" symptom). Standard FTDI driver path is dead on these
boards.
Workaround: `modules/drivers/digilent_jtag/` wraps libdjtg/libdmgr
(Digilent Adept Runtime). Built only when `-DBS_ENABLE_DIGILENT=ON`,
loaded via `dlopen` at runtime — no Digilent binary or header in the
repo. End-user just needs the Adept Runtime package installed.
(Digilent Adept Runtime), loaded via `dlopen` at runtime — no Digilent
binary or header in the repo. Because it's dlopen'd (degrades to "no
probe" if the libs are absent), it costs nothing to build in:
`BS_ENABLE_DIGILENT` defaults **ON** on UNIX (`<dlfcn.h>` required),
disable with `-DBS_ENABLE_DIGILENT=OFF`. Adept Runtime is only needed
at runtime to actually drive such a probe.
### Xilinx caveats
@@ -120,7 +123,7 @@ then `JSTART` and check `DONE`.
## External references
- **BSCAN proxy bitstreams**: `quartiq/bscan_spi_bitstreams` (BSD-2).
- **BSCAN proxy bitstreams**: `quartiq/bscan_spi_bitstreams` (MIT).
Pre-built `.bit` for most Xilinx parts; Migen sources to rebuild any
part that's missing (needs Vivado).
- **Reference host-side implementation**: `openocd/src/flash/nor/jtagspi.c`.
@@ -138,9 +141,9 @@ mkdir build && cd build && cmake .. && make
./bs/bs # interactive REPL
```
For Digilent SMT2-based boards, configure with
`cmake -DBS_ENABLE_DIGILENT=ON ..` and install the Adept Runtime
system-wide (provides `libdjtg.so` + `libdmgr.so`).
The Digilent SMT2 backend is built by default on UNIX (disable with
`-DBS_ENABLE_DIGILENT=OFF`). To actually use such a probe, install the
Adept Runtime system-wide (provides `libdjtg.so` + `libdmgr.so`).
No automated tests yet. Smoke test = banner appears, `exit` works.
After changes touching `jtag_core`, `drivers/ftdi_jtag`, or the