diff options
author | Tomas Vanek <vanekt@fbl.cz> | 2022-10-13 22:33:12 +0200 |
---|---|---|
committer | Antonio Borneo <borneo.antonio@gmail.com> | 2023-01-28 15:54:32 +0000 |
commit | 2dde7e914b429ffa5bc56faa20fb474ca451412e (patch) | |
tree | 234394876d0297079fe8d23f5801ad15cd718a5e /src/jtag/drivers | |
parent | b4dd8dbc37daf073bf6481fdc7f0f9d7f2e96809 (diff) | |
download | riscv-openocd-2dde7e914b429ffa5bc56faa20fb474ca451412e.zip riscv-openocd-2dde7e914b429ffa5bc56faa20fb474ca451412e.tar.gz riscv-openocd-2dde7e914b429ffa5bc56faa20fb474ca451412e.tar.bz2 |
jtag/drivers/bcm2835gpio: refactor delays to inline function
No functional change, the delay is unchanged.
Change-Id: I5b5e837d741ac01fc573657357c5fe61ad901319
Signed-off-by: Tomas Vanek <vanekt@fbl.cz>
Reviewed-on: https://review.openocd.org/c/openocd/+/7262
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
Diffstat (limited to 'src/jtag/drivers')
-rw-r--r-- | src/jtag/drivers/bcm2835gpio.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/src/jtag/drivers/bcm2835gpio.c b/src/jtag/drivers/bcm2835gpio.c index 320baba..635d9a5 100644 --- a/src/jtag/drivers/bcm2835gpio.c +++ b/src/jtag/drivers/bcm2835gpio.c @@ -66,6 +66,12 @@ static inline void bcm2835_gpio_synchronize(void) __sync_synchronize(); } +static inline void bcm2835_delay(void) +{ + for (unsigned int i = 0; i < jtag_delay; i++) + asm volatile (""); +} + static bool is_gpio_config_valid(enum adapter_gpio_config_index idx) { /* Only chip 0 is supported, accept unset value (-1) too */ @@ -178,8 +184,7 @@ static int bcm2835gpio_write(int tck, int tms, int tdi) GPIO_CLR = clear; bcm2835_gpio_synchronize(); - for (unsigned int i = 0; i < jtag_delay; i++) - asm volatile (""); + bcm2835_delay(); return ERROR_OK; } @@ -199,8 +204,7 @@ static int bcm2835gpio_swd_write_fast(int swclk, int swdio) GPIO_CLR = clear; bcm2835_gpio_synchronize(); - for (unsigned int i = 0; i < jtag_delay; i++) - asm volatile (""); + bcm2835_delay(); return ERROR_OK; } @@ -211,8 +215,7 @@ static int bcm2835gpio_swd_write_generic(int swclk, int swdio) set_gpio_value(&adapter_gpio_config[ADAPTER_GPIO_IDX_SWDIO], swdio); set_gpio_value(&adapter_gpio_config[ADAPTER_GPIO_IDX_SWCLK], swclk); /* Write clock last */ - for (unsigned int i = 0; i < jtag_delay; ++i) - asm volatile (""); + bcm2835_delay(); return ERROR_OK; } |