67c4a9a5b9366f36e2b97b319afd32857f7d9bc7
[openocd.git] / src / helper / jep106.c
1 /***************************************************************************
2 * Copyright (C) 2015 Andreas Fritiofson *
3 * andreas.fritiofson@gmail.com *
4 * *
5 * This program is free software; you can redistribute it and/or modify *
6 * it under the terms of the GNU General Public License as published by *
7 * the Free Software Foundation; either version 2 of the License, or *
8 * (at your option) any later version. *
9 * *
10 * This program is distributed in the hope that it will be useful, *
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13 * GNU General Public License for more details. *
14 ***************************************************************************/
15
16 #ifdef HAVE_CONFIG_H
17 #include "config.h"
18 #endif
19
20 #include "jep106.h"
21 #include "log.h"
22
23 static const char * const jep106[][126] = {
24 #include "jep106.inc"
25 };
26
27 const char *jep106_manufacturer(unsigned bank, unsigned id)
28 {
29 if (id < 1 || id > 126) {
30 LOG_DEBUG("BUG: Caller passed out-of-range JEP106 ID!");
31 return "<invalid>";
32 }
33
34 /* index is zero based */
35 id--;
36
37 if (bank >= ARRAY_SIZE(jep106) || jep106[bank][id] == 0)
38 return "<unknown>";
39
40 return jep106[bank][id];
41 }