helper: Add converter from JEP106 ID to manufacturer name
Use it to print the manufacturer of detected TAPs Change-Id: Ic4384c61c7f6f7ae2a9b860a805a5997542f72cc Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com> Reviewed-on: http://openocd.zylin.com/3177 Tested-by: jenkins Reviewed-by: Jiri Kastner <cz172638@gmail.com> Reviewed-by: Paul Fertser <fercerpav@gmail.com>
This commit is contained in:
@@ -36,6 +36,7 @@
|
||||
#include "swd.h"
|
||||
#include "interface.h"
|
||||
#include <transport/transport.h>
|
||||
#include <helper/jep106.h>
|
||||
|
||||
#ifdef HAVE_STRINGS_H
|
||||
#include <strings.h>
|
||||
@@ -894,6 +895,8 @@ void jtag_sleep(uint32_t us)
|
||||
|
||||
#define JTAG_MAX_AUTO_TAPS 20
|
||||
|
||||
#define EXTRACT_JEP106_BANK(X) (((X) & 0xf00) >> 8)
|
||||
#define EXTRACT_JEP106_ID(X) (((X) & 0xfe) >> 1)
|
||||
#define EXTRACT_MFG(X) (((X) & 0xffe) >> 1)
|
||||
#define EXTRACT_PART(X) (((X) & 0xffff000) >> 12)
|
||||
#define EXTRACT_VER(X) (((X) & 0xf0000000) >> 28)
|
||||
@@ -957,10 +960,11 @@ static void jtag_examine_chain_display(enum log_levels level, const char *msg,
|
||||
{
|
||||
log_printf_lf(level, __FILE__, __LINE__, __func__,
|
||||
"JTAG tap: %s %16.16s: 0x%08x "
|
||||
"(mfg: 0x%3.3x, part: 0x%4.4x, ver: 0x%1.1x)",
|
||||
"(mfg: 0x%3.3x (%s), part: 0x%4.4x, ver: 0x%1.1x)",
|
||||
name, msg,
|
||||
(unsigned int)idcode,
|
||||
(unsigned int)EXTRACT_MFG(idcode),
|
||||
jep106_manufacturer(EXTRACT_JEP106_BANK(idcode), EXTRACT_JEP106_ID(idcode)),
|
||||
(unsigned int)EXTRACT_PART(idcode),
|
||||
(unsigned int)EXTRACT_VER(idcode));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user