static void jlink_reset(int trst, int srst) { LOG_DEBUG("TRST: %i, SRST: %i.", trst, srst); /* Signals are active low. */ if (srst == 0) jaylink_set_reset(devh); if (srst == 1) jaylink_clear_reset(devh); if (trst == 1) jaylink_jtag_clear_trst(devh); if (trst == 0) jaylink_jtag_set_trst(devh); }
static bool assert_cs(void) { int ret; if (reset_cs) { ret = jaylink_clear_reset(jaylink_devh); if (ret != JAYLINK_OK) { msg_perr("jaylink_clear_reset() failed: %s.\n", jaylink_strerror(ret)); return false; } } else { ret = jaylink_jtag_clear_trst(jaylink_devh); if (ret != JAYLINK_OK) { msg_perr("jaylink_jtag_clear_trst() failed: %s.\n", jaylink_strerror(ret)); return false; } } return true; }