jtag/drivers: add support for Nu-Link (Nuvoton ICE) over usb
[fw/openocd] / src / jtag / drivers / ftdi.c
index 40d076ecfc6421c3c8b312080cd465a0537b55e3..f1d28d2fd26e826ded388dd238cb770d8100ec5f 100644 (file)
@@ -213,7 +213,7 @@ static int ftdi_set_signal(const struct signal *s, char value)
        return ERROR_OK;
 }
 
-static int ftdi_get_signal(const struct signal *s, uint16_t * value_out)
+static int ftdi_get_signal(const struct signal *s, uint16_t *value_out)
 {
        uint8_t data_low = 0;
        uint8_t data_high = 0;
@@ -550,8 +550,7 @@ static int ftdi_reset(int trst, int srst)
                        ftdi_set_signal(sig_nsrst, 'z');
        }
 
-       LOG_DEBUG_IO("trst: %i, srst: %i", trst, srst);
-       return ERROR_OK;
+       return mpsse_flush(mpsse_ctx);
 }
 
 static void ftdi_execute_sleep(struct jtag_command *cmd)
@@ -648,6 +647,11 @@ static int ftdi_initialize(void)
        else
                LOG_DEBUG("ftdi interface using shortest path jtag state transitions");
 
+       if (!ftdi_vid[0] && !ftdi_pid[0]) {
+               LOG_ERROR("Please specify ftdi_vid_pid");
+               return ERROR_JTAG_INIT_FAILED;
+       }
+
        for (int i = 0; ftdi_vid[i] || ftdi_pid[i]; i++) {
                mpsse_ctx = mpsse_open(&ftdi_vid[i], &ftdi_pid[i], ftdi_device_desc,
                                ftdi_serial, jtag_usb_get_location(), ftdi_channel);