This is an automated email from Gerrit.

Jussi Kilpeläinen ([email protected]) just uploaded a new patch set to 
Gerrit, which you can find at http://openocd.zylin.com/2954

-- gerrit

commit da6506559019d97f0c754a4f52881181fe26bcd0
Author: Jussi Kilpeläinen <[email protected]>
Date:   Sun Sep 13 21:08:05 2015 +0300

    jtag/drivers/jlink.c: add JTAG_STABLECLOCKS cmd to allow svf playback
    
    When playing back a SVF file I get an error about JTAG_STABLECLOCKS 
commands.
    Added support to that one with JLink, like done to Bus Pirate in patch
    Ied6f7d9b28131a7ac83b203e4c64d4e9ffec0595.
    
    Change-Id: I357e696f96b04442ce50857c55e1b089b6310567
    Signed-off-by: Jussi Kilpeläinen <[email protected]>

diff --git a/src/jtag/drivers/jlink.c b/src/jtag/drivers/jlink.c
index de504c8..d664a21 100644
--- a/src/jtag/drivers/jlink.c
+++ b/src/jtag/drivers/jlink.c
@@ -218,6 +218,8 @@ static int jlink_get_status(void);
 static int jlink_swd_run_queue(struct adiv5_dap *dap);
 static void jlink_swd_queue_cmd(struct adiv5_dap *dap, uint8_t cmd, uint32_t 
*dst, uint32_t data);
 static int jlink_swd_switch_seq(struct adiv5_dap *dap, enum swd_special_seq 
seq);
+static void jlink_stableclocks(int num_cycles);
+
 
 /* J-Link tap buffer functions */
 static void jlink_tap_init(void);
@@ -374,12 +376,27 @@ static void jlink_execute_command(struct jtag_command 
*cmd)
                case JTAG_SLEEP:
                        jlink_execute_sleep(cmd);
                        break;
-               default:
+      case JTAG_STABLECLOCKS:
+         jlink_stableclocks(cmd->cmd.stableclocks->num_cycles);
+                  break;
+      default:
                        LOG_ERROR("BUG: unknown JTAG command type encountered");
                        exit(-1);
        }
 }
 
+static void jlink_stableclocks(int num_cycles)
+{
+   int i;
+   int tms = (tap_get_state() == TAP_RESET ? 1 : 0); 
+   jlink_tap_ensure_space(0, num_cycles);
+   for(i=0; i<num_cycles; i++) 
+   {
+      jlink_tap_append_step(tms, 0);
+   }
+
+}
+
 static int jlink_execute_queue(void)
 {
        struct jtag_command *cmd = jtag_command_queue;

-- 

------------------------------------------------------------------------------
_______________________________________________
OpenOCD-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openocd-devel

Reply via email to