mips32, homogenize code in the scan functions
Change-Id: I32fed3332857737048dd12da94fcaba140acb726 Signed-off-by: Salvador Arroyo <sarroyofdez@yahoo.es> Reviewed-on: http://openocd.zylin.com/4006 Tested-by: jenkins Reviewed-by: Freddie Chopin <freddie.chopin@gmail.com>
This commit is contained in:
parent
3421b89c98
commit
7ccd53bdde
|
@ -28,20 +28,20 @@
|
||||||
#include "mips_ejtag.h"
|
#include "mips_ejtag.h"
|
||||||
#include "mips32_dmaacc.h"
|
#include "mips32_dmaacc.h"
|
||||||
|
|
||||||
void mips_ejtag_set_instr(struct mips_ejtag *ejtag_info, int new_instr)
|
void mips_ejtag_set_instr(struct mips_ejtag *ejtag_info, uint32_t new_instr)
|
||||||
{
|
{
|
||||||
struct jtag_tap *tap;
|
assert(ejtag_info->tap != NULL);
|
||||||
|
struct jtag_tap *tap = ejtag_info->tap;
|
||||||
|
|
||||||
tap = ejtag_info->tap;
|
if (buf_get_u32(tap->cur_instr, 0, tap->ir_length) != new_instr) {
|
||||||
assert(tap != NULL);
|
|
||||||
|
|
||||||
if (buf_get_u32(tap->cur_instr, 0, tap->ir_length) != (uint32_t)new_instr) {
|
|
||||||
struct scan_field field;
|
struct scan_field field;
|
||||||
uint8_t t[4];
|
|
||||||
|
|
||||||
field.num_bits = tap->ir_length;
|
field.num_bits = tap->ir_length;
|
||||||
|
|
||||||
|
uint8_t t[4];
|
||||||
field.out_value = t;
|
field.out_value = t;
|
||||||
buf_set_u32(t, 0, field.num_bits, new_instr);
|
buf_set_u32(t, 0, field.num_bits, new_instr);
|
||||||
|
|
||||||
field.in_value = NULL;
|
field.in_value = NULL;
|
||||||
|
|
||||||
jtag_add_ir_scan(tap, &field, TAP_IDLE);
|
jtag_add_ir_scan(tap, &field, TAP_IDLE);
|
||||||
|
@ -182,13 +182,12 @@ int mips_ejtag_drscan_8(struct mips_ejtag *ejtag_info, uint8_t *data)
|
||||||
|
|
||||||
void mips_ejtag_drscan_8_out(struct mips_ejtag *ejtag_info, uint8_t data)
|
void mips_ejtag_drscan_8_out(struct mips_ejtag *ejtag_info, uint8_t data)
|
||||||
{
|
{
|
||||||
struct jtag_tap *tap;
|
assert(ejtag_info->tap != NULL);
|
||||||
tap = ejtag_info->tap;
|
struct jtag_tap *tap = ejtag_info->tap;
|
||||||
assert(tap != NULL);
|
|
||||||
|
|
||||||
struct scan_field field;
|
struct scan_field field;
|
||||||
|
|
||||||
field.num_bits = 8;
|
field.num_bits = 8;
|
||||||
|
|
||||||
field.out_value = &data;
|
field.out_value = &data;
|
||||||
field.in_value = NULL;
|
field.in_value = NULL;
|
||||||
|
|
||||||
|
@ -427,22 +426,22 @@ int mips_ejtag_init(struct mips_ejtag *ejtag_info)
|
||||||
|
|
||||||
int mips_ejtag_fastdata_scan(struct mips_ejtag *ejtag_info, int write_t, uint32_t *data)
|
int mips_ejtag_fastdata_scan(struct mips_ejtag *ejtag_info, int write_t, uint32_t *data)
|
||||||
{
|
{
|
||||||
struct jtag_tap *tap;
|
assert(ejtag_info->tap != NULL);
|
||||||
|
struct jtag_tap *tap = ejtag_info->tap;
|
||||||
tap = ejtag_info->tap;
|
|
||||||
assert(tap != NULL);
|
|
||||||
|
|
||||||
struct scan_field fields[2];
|
struct scan_field fields[2];
|
||||||
uint8_t spracc = 0;
|
|
||||||
uint8_t t[4] = {0, 0, 0, 0};
|
|
||||||
|
|
||||||
/* fastdata 1-bit register */
|
/* fastdata 1-bit register */
|
||||||
fields[0].num_bits = 1;
|
fields[0].num_bits = 1;
|
||||||
|
|
||||||
|
uint8_t spracc = 0;
|
||||||
fields[0].out_value = &spracc;
|
fields[0].out_value = &spracc;
|
||||||
fields[0].in_value = NULL;
|
fields[0].in_value = NULL;
|
||||||
|
|
||||||
/* processor access data register 32 bit */
|
/* processor access data register 32 bit */
|
||||||
fields[1].num_bits = 32;
|
fields[1].num_bits = 32;
|
||||||
|
|
||||||
|
uint8_t t[4] = {0, 0, 0, 0};
|
||||||
fields[1].out_value = t;
|
fields[1].out_value = t;
|
||||||
|
|
||||||
if (write_t) {
|
if (write_t) {
|
||||||
|
|
|
@ -210,8 +210,7 @@ struct mips_ejtag {
|
||||||
uint32_t ejtag_dba_step_size; /* size of step till next *DBAn register. */
|
uint32_t ejtag_dba_step_size; /* size of step till next *DBAn register. */
|
||||||
};
|
};
|
||||||
|
|
||||||
void mips_ejtag_set_instr(struct mips_ejtag *ejtag_info,
|
void mips_ejtag_set_instr(struct mips_ejtag *ejtag_info, uint32_t new_instr);
|
||||||
int new_instr);
|
|
||||||
int mips_ejtag_enter_debug(struct mips_ejtag *ejtag_info);
|
int mips_ejtag_enter_debug(struct mips_ejtag *ejtag_info);
|
||||||
int mips_ejtag_exit_debug(struct mips_ejtag *ejtag_info);
|
int mips_ejtag_exit_debug(struct mips_ejtag *ejtag_info);
|
||||||
int mips_ejtag_get_idcode(struct mips_ejtag *ejtag_info, uint32_t *idcode);
|
int mips_ejtag_get_idcode(struct mips_ejtag *ejtag_info, uint32_t *idcode);
|
||||||
|
|
Loading…
Reference in New Issue