X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=src%2Fjtag%2Fcore.c;h=bdfd6e5b259b90af1505c7a62442ea6bedd92b17;hp=b8235eb1e969358f4992368a4e7fd2cbc5df9e98;hb=a8234af06c16500426a421910886d26a46e6fa53;hpb=40c9668b703389890d30ab5a410e39f6f1e5251e diff --git a/src/jtag/core.c b/src/jtag/core.c index b8235eb1e9..bdfd6e5b25 100644 --- a/src/jtag/core.c +++ b/src/jtag/core.c @@ -137,6 +137,32 @@ int jtag_error_clear(void) return temp; } +/************/ + +static bool jtag_poll = 1; + +bool is_jtag_poll_safe(void) +{ + /* Polling can be disabled explicitly with set_enabled(false). + * It is also implicitly disabled while TRST is active and + * while SRST is gating the JTAG clock. + */ + if (!jtag_poll || jtag_trst != 0) + return false; + return jtag_srst == 0 || (jtag_reset_config & RESET_SRST_NO_GATING); +} + +bool jtag_poll_get_enabled(void) +{ + return jtag_poll; +} + +void jtag_poll_set_enabled(bool value) +{ + jtag_poll = value; +} + +/************/ jtag_tap_t *jtag_all_taps(void) {