jlink: add detect hw type
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Cc: Nicolas Ferre <nicolas.ferre@atmel.com> Cc: Patrice Vilchez <patrice.vilchez@atmel.com>
This commit is contained in:
parent
bce76b80cc
commit
2c4f7f1dd4
|
@ -159,6 +159,20 @@ static char *jlink_cap_str[] = {
|
||||||
/* max speed 12MHz v5.0 jlink */
|
/* max speed 12MHz v5.0 jlink */
|
||||||
#define JLINK_MAX_SPEED 12000
|
#define JLINK_MAX_SPEED 12000
|
||||||
|
|
||||||
|
/* J-Link hardware versions */
|
||||||
|
#define JLINK_HW_TYPE_JLINK 0
|
||||||
|
#define JLINK_HW_TYPE_JTRACE 1
|
||||||
|
#define JLINK_HW_TYPE_FLASHER 2
|
||||||
|
#define JLINK_HW_TYPE_JLINK_PRO 3
|
||||||
|
#define JLINK_HW_TYPE_MAX 4
|
||||||
|
|
||||||
|
static char *jlink_hw_type_str[] = {
|
||||||
|
"J-Link",
|
||||||
|
"J-Trace",
|
||||||
|
"Flasher",
|
||||||
|
"J-Link Pro",
|
||||||
|
};
|
||||||
|
|
||||||
/* Queue command functions */
|
/* Queue command functions */
|
||||||
static void jlink_end_state(tap_state_t state);
|
static void jlink_end_state(tap_state_t state);
|
||||||
static void jlink_state_move(void);
|
static void jlink_state_move(void);
|
||||||
|
@ -206,6 +220,7 @@ static uint16_t vids[] = { VID, 0 };
|
||||||
static uint16_t pids[] = { PID, 0 };
|
static uint16_t pids[] = { PID, 0 };
|
||||||
|
|
||||||
static uint32_t jlink_caps;
|
static uint32_t jlink_caps;
|
||||||
|
static uint32_t jlink_hw_type;
|
||||||
|
|
||||||
/***************************************************************************/
|
/***************************************************************************/
|
||||||
/* External interface implementation */
|
/* External interface implementation */
|
||||||
|
@ -687,10 +702,16 @@ static int jlink_get_version_info(void)
|
||||||
|
|
||||||
uint32_t jlink_hw_version = buf_get_u32(usb_in_buffer, 0, 32);
|
uint32_t jlink_hw_version = buf_get_u32(usb_in_buffer, 0, 32);
|
||||||
uint32_t major_revision = (jlink_hw_version / 10000) % 100;
|
uint32_t major_revision = (jlink_hw_version / 10000) % 100;
|
||||||
|
jlink_hw_type = (jlink_hw_version / 1000000) % 100;
|
||||||
if (major_revision >= 5)
|
if (major_revision >= 5)
|
||||||
jlink_hw_jtag_version = 3;
|
jlink_hw_jtag_version = 3;
|
||||||
|
|
||||||
LOG_INFO("J-Link hw version %i", (int)jlink_hw_version);
|
LOG_INFO("J-Link hw version %i", (int)jlink_hw_version);
|
||||||
|
|
||||||
|
if (jlink_hw_type >= JLINK_HW_TYPE_MAX)
|
||||||
|
LOG_INFO("J-Link hw type uknown 0x%x", jlink_hw_type);
|
||||||
|
else
|
||||||
|
LOG_INFO("J-Link hw type %s", jlink_hw_type_str[jlink_hw_type]);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (jlink_caps & (1 << EMU_CAP_GET_MAX_BLOCK_SIZE))
|
if (jlink_caps & (1 << EMU_CAP_GET_MAX_BLOCK_SIZE))
|
||||||
|
|
Loading…
Reference in New Issue