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:
2026-05-24 11:22:19 +02:00
parent 00320d87ec
commit 4ee1c2b631
7 changed files with 419 additions and 2 deletions

27
probes.yaml Normal file
View File

@@ -0,0 +1,27 @@
# bs_explorer probe-config profiles
#
# Loaded at runtime by modules/probes/, layered on top of the built-in
# config.script defaults. Looked up CWD-relative (run from the repo
# root), or via $BS_PROBES.
#
# defaults: applied on every `jtag_open` (restores a known baseline
# so opening without a profile is deterministic).
# profiles: named override sets; select with `jtag_open <idx> <name>`.
#
# Each key is a probe variable (see modules/config/config.script for the
# full list); each value is what `set <KEY> <value>` would assign.
defaults:
# Baseline for a standalone FT2232H JTAG probe: drive ADBUS4 as the
# "JTAG buffer enable" output (matches the built-in default).
PROBE_FTDI_SET_PIN_DIR_ADBUS4: 1
profiles:
# Embedded FlashPro on Microsemi eval kits (FT4232H, JTAG on channel A
# = probe index 0). Its ADBUS4 must be left high-Z or the chain stays
# silent. Usage: jtag_open 0 flashpro
flashpro:
PROBE_FTDI_SET_PIN_DIR_ADBUS4: 0
# Plain FT2232H probe: nothing to override beyond the defaults.
ft2232h: {}