From: OpenOCD-Gerrit <ope...@us...> - 2020-07-13 22:53:39
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Main OpenOCD repository". The branch, master has been updated via 49232a80d2cb1a2e188a037cad94fd760ae64808 (commit) via 1f5962203a06803b8ccf4c374b81e45918291f4f (commit) from fd9a7a8c8ab2431a2bc69ab515d868cdf5178761 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 49232a80d2cb1a2e188a037cad94fd760ae64808 Author: Antonio Borneo <bor...@gm...> Date: Wed Apr 1 09:39:40 2020 +0200 bitbang: remove superfluous switch between jtag and swd The SWD framework already takes care of switching between JTAG and SWD by calling driver's switch_seq() in swd_connect() and in swd_quit(); there is no need for the driver to force the switch again. Remove the extra switch between jtag and swd. Change-Id: I84de4bffb593374b96fce31951c6cc83f92d2578 Signed-off-by: Antonio Borneo <bor...@gm...> Reviewed-on: http://openocd.zylin.com/5554 Tested-by: jenkins diff --git a/src/jtag/drivers/bcm2835gpio.c b/src/jtag/drivers/bcm2835gpio.c index df557c5c6..f547d93a4 100644 --- a/src/jtag/drivers/bcm2835gpio.c +++ b/src/jtag/drivers/bcm2835gpio.c @@ -535,7 +535,6 @@ static int bcm2835gpio_init(void) if (swd_mode) { bcm2835gpio_bitbang.write = bcm2835gpio_swd_write; - bitbang_switch_to_swd(); } return ERROR_OK; diff --git a/src/jtag/drivers/bitbang.c b/src/jtag/drivers/bitbang.c index 72e9320b4..e5df3cf40 100644 --- a/src/jtag/drivers/bitbang.c +++ b/src/jtag/drivers/bitbang.c @@ -416,7 +416,7 @@ static void bitbang_exchange(bool rnw, uint8_t buf[], unsigned int offset, unsig } } -int bitbang_swd_switch_seq(enum swd_special_seq seq) +static int bitbang_swd_switch_seq(enum swd_special_seq seq) { LOG_DEBUG("bitbang_swd_switch_seq"); @@ -441,12 +441,6 @@ int bitbang_swd_switch_seq(enum swd_special_seq seq) return ERROR_OK; } -void bitbang_switch_to_swd(void) -{ - LOG_DEBUG("bitbang_switch_to_swd"); - bitbang_exchange(false, (uint8_t *)swd_seq_jtag_to_swd, 0, swd_seq_jtag_to_swd_len); -} - static void swd_clear_sticky_errors(void) { bitbang_swd_write_reg(swd_cmd(false, false, DP_ABORT), diff --git a/src/jtag/drivers/bitbang.h b/src/jtag/drivers/bitbang.h index 7516c24a6..52dfbda30 100644 --- a/src/jtag/drivers/bitbang.h +++ b/src/jtag/drivers/bitbang.h @@ -71,7 +71,5 @@ extern bool swd_mode; int bitbang_execute_queue(void); extern struct bitbang_interface *bitbang_interface; -void bitbang_switch_to_swd(void); -int bitbang_swd_switch_seq(enum swd_special_seq seq); #endif /* OPENOCD_JTAG_DRIVERS_BITBANG_H */ diff --git a/src/jtag/drivers/imx_gpio.c b/src/jtag/drivers/imx_gpio.c index 7dcfb6790..debddedfe 100644 --- a/src/jtag/drivers/imx_gpio.c +++ b/src/jtag/drivers/imx_gpio.c @@ -552,7 +552,6 @@ static int imx_gpio_init(void) if (swd_mode) { imx_gpio_bitbang.write = imx_gpio_swd_write; - bitbang_switch_to_swd(); } return ERROR_OK; diff --git a/src/jtag/drivers/sysfsgpio.c b/src/jtag/drivers/sysfsgpio.c index a4d7ad9ec..f9470a47b 100644 --- a/src/jtag/drivers/sysfsgpio.c +++ b/src/jtag/drivers/sysfsgpio.c @@ -694,13 +694,6 @@ static int sysfsgpio_init(void) goto out_error; } - if (sysfsgpio_swd_mode_possible()) { - if (swd_mode) - bitbang_swd_switch_seq(JTAG_TO_SWD); - else - bitbang_swd_switch_seq(SWD_TO_JTAG); - } - return ERROR_OK; out_error: commit 1f5962203a06803b8ccf4c374b81e45918291f4f Author: Antonio Borneo <bor...@gm...> Date: Wed Apr 1 09:37:54 2020 +0200 bitbang: document bitbang callbacks Change-Id: I732c2eeb452f3ba8a2385d0e02fccbe86381812c Signed-off-by: Antonio Borneo <bor...@gm...> Reviewed-on: http://openocd.zylin.com/5553 Tested-by: jenkins diff --git a/src/jtag/drivers/bitbang.h b/src/jtag/drivers/bitbang.h index bbbc693df..7516c24a6 100644 --- a/src/jtag/drivers/bitbang.h +++ b/src/jtag/drivers/bitbang.h @@ -38,21 +38,29 @@ typedef enum { * sample requests together. Not waiting for a value to come back can greatly * increase throughput. */ struct bitbang_interface { - /** Sample TDO. */ + /** Sample TDO and return the value. */ bb_value_t (*read)(void); /** The number of TDO samples that can be buffered up before the caller has * to call read_sample. */ size_t buf_size; + /** Sample TDO and put the result in a buffer. */ int (*sample)(void); + /** Return the next unread value from the buffer. */ bb_value_t (*read_sample)(void); /** Set TCK, TMS, and TDI to the given values. */ int (*write)(int tck, int tms, int tdi); + + /** Blink led (optional). */ int (*blink)(int on); + + /** Sample SWDIO and return the value. */ int (*swdio_read)(void); + + /** Set direction of SWDIO. */ void (*swdio_drive)(bool on); }; ----------------------------------------------------------------------- Summary of changes: src/jtag/drivers/bcm2835gpio.c | 1 - src/jtag/drivers/bitbang.c | 8 +------- src/jtag/drivers/bitbang.h | 12 +++++++++--- src/jtag/drivers/imx_gpio.c | 1 - src/jtag/drivers/sysfsgpio.c | 7 ------- 5 files changed, 10 insertions(+), 19 deletions(-) hooks/post-receive -- Main OpenOCD repository |