probe: if we have a separate SWDIO input, use it For boards with a level-shifter on SWDIO for compatibility with 1.8V VDDIO. Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
diff --git a/src/picoprobe_config.h b/src/picoprobe_config.h index 3ecef02..042fdff 100644 --- a/src/picoprobe_config.h +++ b/src/picoprobe_config.h
@@ -51,6 +51,7 @@ #define PROBE_PIN_OFFSET 12 #define PROBE_PIN_SWCLK (PROBE_PIN_OFFSET + 0) // 2 #define PROBE_PIN_SWDIO (PROBE_PIN_OFFSET + 2) // 3 +#define PROBE_PIN_SWDI (PROBE_PIN_OFFSET + 1) // 1 - for level-shifted input // Target reset config #define PROBE_PIN_RESET 0
diff --git a/src/probe.c b/src/probe.c index 8827bff..2c46a5c 100644 --- a/src/probe.c +++ b/src/probe.c
@@ -163,7 +163,11 @@ // Set SWDIO offset sm_config_set_out_pins(&sm_config, PROBE_PIN_SWDIO, 1); sm_config_set_set_pins(&sm_config, PROBE_PIN_SWDIO, 1); +#ifdef PROBE_PIN_SWDI + sm_config_set_in_pins(&sm_config, PROBE_PIN_SWDI); +#else sm_config_set_in_pins(&sm_config, PROBE_PIN_SWDIO); +#endif // Set SWD and SWDIO pins as output to start. This will be set in the sm pio_sm_set_consecutive_pindirs(pio0, PROBE_SM, PROBE_PIN_OFFSET, 2, true);