forked from auracaster/openocd
jtag: tcl: Add cget -idcode
This can be used to dynamically distinguish between similar chips in tcl code. Change-Id: Ic4dfb61693e78616355173142dc7f9b9683a9f73 Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com> Reviewed-on: http://openocd.zylin.com/5033 Tested-by: jenkins Reviewed-by: Matthias Welwarsky <matthias@welwarsky.de>
This commit is contained in:
committed by
Matthias Welwarsky
parent
ca7ba6b58d
commit
84e3f63a8c
@@ -307,11 +307,13 @@ static const struct command_registration jtag_command_handlers_to_move[] = {
|
||||
|
||||
|
||||
enum jtag_tap_cfg_param {
|
||||
JCFG_EVENT
|
||||
JCFG_EVENT,
|
||||
JCFG_IDCODE,
|
||||
};
|
||||
|
||||
static Jim_Nvp nvp_config_opts[] = {
|
||||
{ .name = "-event", .value = JCFG_EVENT },
|
||||
{ .name = "-idcode", .value = JCFG_IDCODE },
|
||||
|
||||
{ .name = NULL, .value = -1 }
|
||||
};
|
||||
@@ -404,8 +406,23 @@ static int jtag_tap_configure_cmd(Jim_GetOptInfo *goi, struct jtag_tap *tap)
|
||||
if (e != JIM_OK)
|
||||
return e;
|
||||
break;
|
||||
case JCFG_IDCODE:
|
||||
if (goi->isconfigure) {
|
||||
Jim_SetResultFormatted(goi->interp,
|
||||
"not settable: %s", n->name);
|
||||
return JIM_ERR;
|
||||
} else {
|
||||
if (goi->argc != 0) {
|
||||
Jim_WrongNumArgs(goi->interp,
|
||||
goi->argc, goi->argv,
|
||||
"NO PARAMS");
|
||||
return JIM_ERR;
|
||||
}
|
||||
}
|
||||
Jim_SetResult(goi->interp, Jim_NewIntObj(goi->interp, tap->idcode));
|
||||
break;
|
||||
default:
|
||||
Jim_SetResultFormatted(goi->interp, "unknown event: %s", n->name);
|
||||
Jim_SetResultFormatted(goi->interp, "unknown value: %s", n->name);
|
||||
return JIM_ERR;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user