probes: add probe-config profiles loaded from probes.yaml
- new modules/probes/ parses probes.yaml (libyaml): a defaults: map applied on every jtag_open + named profiles: selected with `jtag_open <idx> <profile>` (jtag_profiles lists them); each value is pushed into the script envvar store the driver reads at open time - ships a flashpro profile (ADBUS4 high-Z) that lets the IGLOO2 kit's embedded FlashPro (FT4232H, port 0) detect the chain - CLAUDE.md: decision entry for probes.yaml + a design note on the probe / JTAG-link / device config strategy (driver-neutral link layer) Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -107,7 +107,7 @@ the full walkthrough (probe → proxy → flash) lives in
|
||||
| Category | Commands |
|
||||
|----------|----------|
|
||||
| Script control | `set`, `print`, `print_env_var`, `if`, `goto`, `call`, `return`, `rand`, `init_array`, `system`, `pause` |
|
||||
| Probe / chain | `jtag_probes`, `jtag_open`, `jtag_close`, `jtag_scan`, `jtag_autoinit`, `jtag_ndev`, `jtag_devices` |
|
||||
| Probe / chain | `jtag_probes`, `jtag_open`, `jtag_close`, `jtag_profiles`, `jtag_scan`, `jtag_autoinit`, `jtag_ndev`, `jtag_devices` |
|
||||
| BSDL / pins | `jtag_bsdl`, `jtag_pins`, `jtag_mode`, `jtag_pin_dir`, `jtag_pin_set`, `jtag_pin_get`, `jtag_push_pop` |
|
||||
| I²C / MDIO / SPI over BS pins (EXTEST) | `jtag_i2c_scl`, `jtag_i2c_sda`, `jtag_i2c_rd`, `jtag_i2c_wr`, `jtag_mdio_mdc`, `jtag_mdio_io`, `jtag_mdio_rd`, `jtag_mdio_wr`, `jtag_spi_cs/mosi/miso/clk`, `jtag_spi_xfer` |
|
||||
| FPGA registry | `fpga_list`, `fpga_info` |
|
||||
@@ -121,6 +121,10 @@ Use `help <command>` for per-command help.
|
||||
|
||||
- **FTDI** MPSSE (FT2232D/H, FT4232H, …) — see the `PROBE_FTDI_*` block
|
||||
in `modules/config/config.script` for pin mapping and TCK frequency.
|
||||
Boards that wire the FT4232H differently (e.g. the embedded FlashPro on
|
||||
Microsemi eval kits, which needs ADBUS4 left high-Z) are handled by a
|
||||
**probe profile** in `probes.yaml`: `jtag_profiles` lists them,
|
||||
`jtag_open <idx> <profile>` applies one (e.g. `jtag_open 0 flashpro`).
|
||||
- **SEGGER J-Link**
|
||||
- **Linux GPIO** (sysfs; deprecated on recent kernels, libgpiod migration TBD)
|
||||
- **Digilent JTAG-SMT2 / SMT2-NC** — built in by default on Linux
|
||||
@@ -159,6 +163,7 @@ modules/
|
||||
├── os_interface/ Portable fs/network wrappers
|
||||
└── natsort/ Natural-order pin-name sorting
|
||||
fpga_registry.yaml FPGA registry (IDCODE → BSDL, IR opcodes, proxy, caveats)
|
||||
probes.yaml Probe-config profiles (defaults + per-probe overrides)
|
||||
bsdl_files/ BSDL files for target FPGAs
|
||||
bscan_proxies/ BSCAN proxy bitstreams (MIT, from quartiq)
|
||||
scripts/ Example scripts
|
||||
|
||||
Reference in New Issue
Block a user