From 34d0f8a2a1f93b86fca5d786927e26d4a3f73541 Mon Sep 17 00:00:00 2001 From: Uwe Bonnes Date: Tue, 4 Aug 2020 11:50:58 +0200 Subject: [PATCH] ftdi: Recognize bitbang SWDIO settings. --- src/platforms/hosted/libftdi_swdptap.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/platforms/hosted/libftdi_swdptap.c b/src/platforms/hosted/libftdi_swdptap.c index 8474d9fa..95e27440 100644 --- a/src/platforms/hosted/libftdi_swdptap.c +++ b/src/platforms/hosted/libftdi_swdptap.c @@ -151,7 +151,7 @@ int libftdi_swdptap_init(swd_proc_t *swd_proc) active_cable->bb_swd_write.set_data_high || active_cable->bb_swd_write.clr_data_high; bool bb_direct_possible = - active_cable->bb_swdio_in_port_cmd == SET_BITS_LOW && + active_cable->bb_swdio_in_port_cmd == GET_BITS_LOW && active_cable->bb_swdio_in_pin == MPSSE_CS; if (!bb_swd_read && !bb_swd_write) { if (bb_direct_possible) @@ -173,7 +173,9 @@ int libftdi_swdptap_init(swd_proc_t *swd_proc) active_state.data_high |= active_cable->mpsse_swd_read.set_data_high; active_state.data_high &= ~(active_cable->mpsse_swd_read.clr_data_high); } else if (direct_bb_swd) { - DEBUG_INFO("Using direct bitbang for SWD.\n"); + DEBUG_INFO("Using direct bitbang with SWDIO %cBUS%d.\n", + (active_cable->bb_swdio_in_port_cmd == GET_BITS_LOW) ? 'C' : 'D', + __builtin_ctz(active_cable->bb_swdio_in_pin)); } else { DEBUG_INFO("Using switched bitbang for SWD.\n"); active_state.data_low |= active_cable->bb_swd_read.set_data_low;