openrisc/tap_vjtag: fix IR setting

Change-Id: I2b1f057dc9777ff263d6cefa4ff5958e85607a22
Signed-off-by: Franck Jullien <franck.jullien@gmail.com>
Reviewed-on: http://openocd.zylin.com/1694
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
__archive__
Franck Jullien 2013-10-13 08:23:01 +02:00 committed by Spencer Oliver
parent 49b7f68806
commit 8e6e7948de
1 changed files with 5 additions and 4 deletions

View File

@ -275,21 +275,22 @@ static int or1k_tap_vjtag_init(struct or1k_jtag *jtag_info)
} }
/* Select VIR */ /* Select VIR */
t[0] = ALTERA_CYCLONE_CMD_USER1; buf_set_u32(t, 0, tap->ir_length, ALTERA_CYCLONE_CMD_USER1);
field.num_bits = tap->ir_length; field.num_bits = tap->ir_length;
field.out_value = t; field.out_value = t;
field.in_value = NULL; field.in_value = NULL;
jtag_add_ir_scan(tap, &field, TAP_IDLE); jtag_add_ir_scan(tap, &field, TAP_IDLE);
/* Send the DEBUG command to the VJTAG IR */ /* Send the DEBUG command to the VJTAG IR */
buf_set_u32(t, 0, field.num_bits, (vjtag_node_address << m_width) | ALT_VJTAG_CMD_DEBUG); int dr_length = guess_addr_width(nb_nodes) + m_width;
field.num_bits = guess_addr_width(nb_nodes) + m_width; buf_set_u32(t, 0, dr_length, (vjtag_node_address << m_width) | ALT_VJTAG_CMD_DEBUG);
field.num_bits = dr_length;
field.out_value = t; field.out_value = t;
field.in_value = NULL; field.in_value = NULL;
jtag_add_dr_scan(tap, 1, &field, TAP_IDLE); jtag_add_dr_scan(tap, 1, &field, TAP_IDLE);
/* Select the VJTAG DR */ /* Select the VJTAG DR */
t[0] = ALTERA_CYCLONE_CMD_USER0; buf_set_u32(t, 0, tap->ir_length, ALTERA_CYCLONE_CMD_USER0);
field.num_bits = tap->ir_length; field.num_bits = tap->ir_length;
field.out_value = t; field.out_value = t;
field.in_value = NULL; field.in_value = NULL;