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>
This commit is contained in:
Jonathan Bell
2022-09-15 10:34:52 +01:00
parent 1ca6aa36dd
commit 724e5de6c8
2 changed files with 5 additions and 0 deletions

View File

@@ -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

View File

@@ -163,7 +163,11 @@ void probe_init() {
// 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);