ftdi: fix adapter_init rclk fallback
authorSpencer Oliver <spen@spen-soft.co.uk>
Mon, 24 Sep 2012 11:29:47 +0000 (12:29 +0100)
committerFreddie Chopin <freddie.chopin@gmail.com>
Tue, 2 Oct 2012 11:22:27 +0000 (11:22 +0000)
adapter_init expects jtag_get_speed (via ftdi_khz) to return a valid
fallback speed if the adapter does not support rclk. The call was failing
and so was the rest of the adapter init.

The makes the new ftdi driver emulate the old ftdi driver.

Change-Id: Ic7fac7d201241eb181e98f1ba7111f159731f6e0
Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk>
Reviewed-on: http://openocd.zylin.com/839
Tested-by: jenkins
Reviewed-by: Freddie Chopin <freddie.chopin@gmail.com>
src/jtag/drivers/ftdi.c

index 46797d7dfe3952d0e3ca221849e0d4fb0c8dfef9..a8d396c0825e46aa80032a0dedea817ae009ff30 100644 (file)
@@ -247,6 +247,11 @@ static int ftdi_speed_div(int speed, int *khz)
 
 static int ftdi_khz(int khz, int *jtag_speed)
 {
+       if (khz == 0 && !mpsse_is_high_speed(mpsse_ctx)) {
+               LOG_DEBUG("RCLK not supported");
+               return ERROR_FAIL;
+       }
+
        *jtag_speed = khz * 1000;
        return ERROR_OK;
 }