source: rtems/c/src/lib/libbsp/sparc/shared/amba/ambapp_names.c @ f1b1668

4.115
Last change on this file since f1b1668 was f1b1668, checked in by Daniel Hellstrom <daniel@…>, on 12/20/13 at 09:17:22

AMBAPP: updated PnP IDs database with SPWTDP

  • Property mode set to 100644
File size: 10.1 KB
Line 
1/*
2 *  AMBA Plug & Play Device and Vendor name database: Created from GRLIB 3386.
3 *
4 *  COPYRIGHT (c) 2009.
5 *  Aeroflex Gaisler.
6 *
7 *  The device and vendor definitions are extracted with a script from
8 *  GRLIB.
9 *
10 *  The license and distribution terms for this file may be
11 *  found in the file LICENSE in this distribution or at
12 *  http://www.rtems.org/license/LICENSE.
13 */
14
15#include <ambapp.h>
16#include <ambapp_ids.h>
17#include <string.h>
18
19#ifndef NULL
20#define NULL 0
21#endif
22
23typedef struct {
24  int device_id;
25  char *name;
26} ambapp_device_name;
27
28typedef struct {
29  unsigned int vendor_id;
30  char *name;
31  ambapp_device_name *devices;
32} ambapp_vendor_devnames;
33
34/**************** AUTO GENERATED FROM devices.vhd ****************/
35static ambapp_device_name GAISLER_devices[] =
36{
37  {GAISLER_LEON2DSU, "LEON2DSU"},
38  {GAISLER_LEON3, "LEON3"},
39  {GAISLER_LEON3DSU, "LEON3DSU"},
40  {GAISLER_ETHAHB, "ETHAHB"},
41  {GAISLER_APBMST, "APBMST"},
42  {GAISLER_AHBUART, "AHBUART"},
43  {GAISLER_SRCTRL, "SRCTRL"},
44  {GAISLER_SDCTRL, "SDCTRL"},
45  {GAISLER_SSRCTRL, "SSRCTRL"},
46  {GAISLER_I2C2AHB, "I2C2AHB"},
47  {GAISLER_APBUART, "APBUART"},
48  {GAISLER_IRQMP, "IRQMP"},
49  {GAISLER_AHBRAM, "AHBRAM"},
50  {GAISLER_AHBDPRAM, "AHBDPRAM"},
51  {GAISLER_GRIOMMU2, "GRIOMMU2"},
52  {GAISLER_GPTIMER, "GPTIMER"},
53  {GAISLER_PCITRG, "PCITRG"},
54  {GAISLER_PCISBRG, "PCISBRG"},
55  {GAISLER_PCIFBRG, "PCIFBRG"},
56  {GAISLER_PCITRACE, "PCITRACE"},
57  {GAISLER_DMACTRL, "DMACTRL"},
58  {GAISLER_AHBTRACE, "AHBTRACE"},
59  {GAISLER_DSUCTRL, "DSUCTRL"},
60  {GAISLER_CANAHB, "CANAHB"},
61  {GAISLER_GPIO, "GPIO"},
62  {GAISLER_AHBROM, "AHBROM"},
63  {GAISLER_AHBJTAG, "AHBJTAG"},
64  {GAISLER_ETHMAC, "ETHMAC"},
65  {GAISLER_SWNODE, "SWNODE"},
66  {GAISLER_SPW, "SPW"},
67  {GAISLER_AHB2AHB, "AHB2AHB"},
68  {GAISLER_USBDC, "USBDC"},
69  {GAISLER_USB_DCL, "USB_DCL"},
70  {GAISLER_DDRMP, "DDRMP"},
71  {GAISLER_ATACTRL, "ATACTRL"},
72  {GAISLER_DDRSP, "DDRSP"},
73  {GAISLER_EHCI, "EHCI"},
74  {GAISLER_UHCI, "UHCI"},
75  {GAISLER_I2CMST, "I2CMST"},
76  {GAISLER_SPW2, "SPW2"},
77  {GAISLER_AHBDMA, "AHBDMA"},
78  {GAISLER_NUHOSP3, "NUHOSP3"},
79  {GAISLER_CLKGATE, "CLKGATE"},
80  {GAISLER_SPICTRL, "SPICTRL"},
81  {GAISLER_DDR2SP, "DDR2SP"},
82  {GAISLER_SLINK, "SLINK"},
83  {GAISLER_GRTM, "GRTM"},
84  {GAISLER_GRTC, "GRTC"},
85  {GAISLER_GRPW, "GRPW"},
86  {GAISLER_GRCTM, "GRCTM"},
87  {GAISLER_GRHCAN, "GRHCAN"},
88  {GAISLER_GRFIFO, "GRFIFO"},
89  {GAISLER_GRADCDAC, "GRADCDAC"},
90  {GAISLER_GRPULSE, "GRPULSE"},
91  {GAISLER_GRTIMER, "GRTIMER"},
92  {GAISLER_AHB2PP, "AHB2PP"},
93  {GAISLER_GRVERSION, "GRVERSION"},
94  {GAISLER_APB2PW, "APB2PW"},
95  {GAISLER_PW2APB, "PW2APB"},
96  {GAISLER_GRCAN, "GRCAN"},
97  {GAISLER_I2CSLV, "I2CSLV"},
98  {GAISLER_U16550, "U16550"},
99  {GAISLER_AHBMST_EM, "AHBMST_EM"},
100  {GAISLER_AHBSLV_EM, "AHBSLV_EM"},
101  {GAISLER_GRTESTMOD, "GRTESTMOD"},
102  {GAISLER_ASCS, "ASCS"},
103  {GAISLER_IPMVBCTRL, "IPMVBCTRL"},
104  {GAISLER_SPIMCTRL, "SPIMCTRL"},
105  {GAISLER_L4STAT, "L4STAT"},
106  {GAISLER_LEON4, "LEON4"},
107  {GAISLER_LEON4DSU, "LEON4DSU"},
108  {GAISLER_PWM, "PWM"},
109  {GAISLER_L2CACHE, "L2CACHE"},
110  {GAISLER_SDCTRL64, "SDCTRL64"},
111  {GAISLER_GR1553B, "GR1553B"},
112  {GAISLER_1553TST, "1553TST"},
113  {GAISLER_GRIOMMU, "GRIOMMU"},
114  {GAISLER_FTAHBRAM, "FTAHBRAM"},
115  {GAISLER_FTSRCTRL, "FTSRCTRL"},
116  {GAISLER_AHBSTAT, "AHBSTAT"},
117  {GAISLER_LEON3FT, "LEON3FT"},
118  {GAISLER_FTMCTRL, "FTMCTRL"},
119  {GAISLER_FTSDCTRL, "FTSDCTRL"},
120  {GAISLER_FTSRCTRL8, "FTSRCTRL8"},
121  {GAISLER_MEMSCRUB, "MEMSCRUB"},
122  {GAISLER_FTSDCTRL64, "FTSDCTRL64"},
123  {GAISLER_NANDFCTRL, "NANDFCTRL"},
124  {GAISLER_N2DLLCTRL, "N2DLLCTRL"},
125  {GAISLER_N2PLLCTRL, "N2PLLCTRL"},
126  {GAISLER_SPI2AHB, "SPI2AHB"},
127  {GAISLER_DDRSDMUX, "DDRSDMUX"},
128  {GAISLER_APBPS2, "APBPS2"},
129  {GAISLER_VGACTRL, "VGACTRL"},
130  {GAISLER_LOGAN, "LOGAN"},
131  {GAISLER_SVGACTRL, "SVGACTRL"},
132  {GAISLER_T1AHB, "T1AHB"},
133  {GAISLER_MP7WRAP, "MP7WRAP"},
134  {GAISLER_GRSYSMON, "GRSYSMON"},
135  {GAISLER_GRACECTRL, "GRACECTRL"},
136  {GAISLER_ATAHBSLV, "ATAHBSLV"},
137  {GAISLER_ATAHBMST, "ATAHBMST"},
138  {GAISLER_ATAPBSLV, "ATAPBSLV"},
139  {GAISLER_MIGDDR2, "MIGDDR2"},
140  {GAISLER_LCDCTRL, "LCDCTRL"},
141  {GAISLER_SWITCHOVER, "SWITCHOVER"},
142  {GAISLER_FIFOUART, "FIFOUART"},
143  {GAISLER_MUXCTRL, "MUXCTRL"},
144  {GAISLER_B1553BC, "B1553BC"},
145  {GAISLER_B1553RT, "B1553RT"},
146  {GAISLER_B1553BRM, "B1553BRM"},
147  {GAISLER_AES, "AES"},
148  {GAISLER_ECC, "ECC"},
149  {GAISLER_PCIF, "PCIF"},
150  {GAISLER_CLKMOD, "CLKMOD"},
151  {GAISLER_HAPSTRAK, "HAPSTRAK"},
152  {GAISLER_TEST_1X2, "TEST_1X2"},
153  {GAISLER_WILD2AHB, "WILD2AHB"},
154  {GAISLER_BIO1, "BIO1"},
155  {GAISLER_AESDMA, "AESDMA"},
156  {GAISLER_GRPCI2, "GRPCI2"},
157  {GAISLER_GRPCI2_DMA, "GRPCI2_DMA"},
158  {GAISLER_GRPCI2_TB, "GRPCI2_TB"},
159  {GAISLER_SATCAN, "SATCAN"},
160  {GAISLER_CANMUX, "CANMUX"},
161  {GAISLER_GRTMRX, "GRTMRX"},
162  {GAISLER_GRTCTX, "GRTCTX"},
163  {GAISLER_GRTMDESC, "GRTMDESC"},
164  {GAISLER_GRTMVC, "GRTMVC"},
165  {GAISLER_GEFFE, "GEFFE"},
166  {GAISLER_GPREG, "GPREG"},
167  {GAISLER_GRTMPAHB, "GRTMPAHB"},
168  {GAISLER_SPWCUC, "SPWCUC"},
169  {GAISLER_SPW2_DMA, "SPW2_DMA"},
170  {GAISLER_SPWROUTER, "SPWROUTER"},
171  {GAISLER_EDCLMST, "EDCLMST"},
172  {GAISLER_GRPWTX, "GRPWTX"},
173  {GAISLER_GRPWRX, "GRPWRX"},
174  {GAISLER_GPREGBANK, "GPREGBANK"},
175  {GAISLER_MIG_SERIES7, "MIG_SERIES7"},
176  {GAISLER_SPWTDP, "SPWTDP"},
177  {0, NULL}
178};
179
180static ambapp_device_name PENDER_devices[] =
181{
182  {0, NULL}
183};
184
185static ambapp_device_name ESA_devices[] =
186{
187  {ESA_LEON2, "LEON2"},
188  {ESA_LEON2APB, "LEON2APB"},
189  {ESA_IRQ, "IRQ"},
190  {ESA_TIMER, "TIMER"},
191  {ESA_UART, "UART"},
192  {ESA_CFG, "CFG"},
193  {ESA_IO, "IO"},
194  {ESA_MCTRL, "MCTRL"},
195  {ESA_PCIARB, "PCIARB"},
196  {ESA_HURRICANE, "HURRICANE"},
197  {ESA_SPW_RMAP, "SPW_RMAP"},
198  {ESA_AHBUART, "AHBUART"},
199  {ESA_SPWA, "SPWA"},
200  {ESA_BOSCHCAN, "BOSCHCAN"},
201  {ESA_IRQ2, "IRQ2"},
202  {ESA_AHBSTAT, "AHBSTAT"},
203  {ESA_WPROT, "WPROT"},
204  {ESA_WPROT2, "WPROT2"},
205  {ESA_PDEC3AMBA, "PDEC3AMBA"},
206  {ESA_PTME3AMBA, "PTME3AMBA"},
207  {0, NULL}
208};
209
210static ambapp_device_name ASTRIUM_devices[] =
211{
212  {0, NULL}
213};
214
215static ambapp_device_name OPENCHIP_devices[] =
216{
217  {OPENCHIP_APBGPIO, "APBGPIO"},
218  {OPENCHIP_APBI2C, "APBI2C"},
219  {OPENCHIP_APBSPI, "APBSPI"},
220  {OPENCHIP_APBCHARLCD, "APBCHARLCD"},
221  {OPENCHIP_APBPWM, "APBPWM"},
222  {OPENCHIP_APBPS2, "APBPS2"},
223  {OPENCHIP_APBMMCSD, "APBMMCSD"},
224  {OPENCHIP_APBNAND, "APBNAND"},
225  {OPENCHIP_APBLPC, "APBLPC"},
226  {OPENCHIP_APBCF, "APBCF"},
227  {OPENCHIP_APBSYSACE, "APBSYSACE"},
228  {OPENCHIP_APB1WIRE, "APB1WIRE"},
229  {OPENCHIP_APBJTAG, "APBJTAG"},
230  {OPENCHIP_APBSUI, "APBSUI"},
231  {0, NULL}
232};
233
234static ambapp_device_name OPENCORES_devices[] =
235{
236  {0, NULL}
237};
238
239static ambapp_device_name CONTRIB_devices[] =
240{
241  {CONTRIB_CORE1, "CORE1"},
242  {CONTRIB_CORE2, "CORE2"},
243  {0, NULL}
244};
245
246static ambapp_device_name EONIC_devices[] =
247{
248  {0, NULL}
249};
250
251static ambapp_device_name RADIONOR_devices[] =
252{
253  {0, NULL}
254};
255
256static ambapp_device_name GLEICHMANN_devices[] =
257{
258  {GLEICHMANN_CUSTOM, "CUSTOM"},
259  {GLEICHMANN_GEOLCD01, "GEOLCD01"},
260  {GLEICHMANN_DAC, "DAC"},
261  {GLEICHMANN_HPI, "HPI"},
262  {GLEICHMANN_SPI, "SPI"},
263  {GLEICHMANN_HIFC, "HIFC"},
264  {GLEICHMANN_ADCDAC, "ADCDAC"},
265  {GLEICHMANN_SPIOC, "SPIOC"},
266  {GLEICHMANN_AC97, "AC97"},
267  {0, NULL}
268};
269
270static ambapp_device_name MENTA_devices[] =
271{
272  {0, NULL}
273};
274
275static ambapp_device_name SUN_devices[] =
276{
277  {SUN_T1, "SUN_T1"},
278  {SUN_S1, "SUN_S1"},
279  {0, NULL}
280};
281
282static ambapp_device_name MOVIDIA_devices[] =
283{
284  {0, NULL}
285};
286
287static ambapp_device_name ORBITA_devices[] =
288{
289  {ORBITA_1553B, "1553B"},
290  {ORBITA_429, "429"},
291  {ORBITA_SPI, "SPI"},
292  {ORBITA_I2C, "I2C"},
293  {ORBITA_SMARTCARD, "SMARTCARD"},
294  {ORBITA_SDCARD, "SDCARD"},
295  {ORBITA_UART16550, "UART16550"},
296  {ORBITA_CRYPTO, "CRYPTO"},
297  {ORBITA_SYSIF, "SYSIF"},
298  {ORBITA_PIO, "PIO"},
299  {ORBITA_RTC, "RTC"},
300  {ORBITA_COLORLCD, "COLORLCD"},
301  {ORBITA_PCI, "PCI"},
302  {ORBITA_DSP, "DSP"},
303  {ORBITA_USBHOST, "USBHOST"},
304  {ORBITA_USBDEV, "USBDEV"},
305  {0, NULL}
306};
307
308static ambapp_device_name SYNOPSYS_devices[] =
309{
310  {0, NULL}
311};
312
313static ambapp_device_name NASA_devices[] =
314{
315  {NASA_EP32, "EP32"},
316  {0, NULL}
317};
318
319static ambapp_device_name CAL_devices[] =
320{
321  {CAL_DDRCTRL, "DDRCTRL"},
322  {0, NULL}
323};
324
325static ambapp_device_name EMBEDDIT_devices[] =
326{
327  {0, NULL}
328};
329
330static ambapp_device_name CETON_devices[] =
331{
332  {0, NULL}
333};
334
335static ambapp_device_name ACTEL_devices[] =
336{
337  {ACTEL_COREMP7, "COREMP7"},
338  {0, NULL}
339};
340
341static ambapp_vendor_devnames vendors[] =
342{
343  {VENDOR_GAISLER, "GAISLER", GAISLER_devices},
344  {VENDOR_PENDER, "PENDER", PENDER_devices},
345  {VENDOR_ESA, "ESA", ESA_devices},
346  {VENDOR_ASTRIUM, "ASTRIUM", ASTRIUM_devices},
347  {VENDOR_OPENCHIP, "OPENCHIP", OPENCHIP_devices},
348  {VENDOR_OPENCORES, "OPENCORES", OPENCORES_devices},
349  {VENDOR_CONTRIB, "CONTRIB", CONTRIB_devices},
350  {VENDOR_EONIC, "EONIC", EONIC_devices},
351  {VENDOR_RADIONOR, "RADIONOR", RADIONOR_devices},
352  {VENDOR_GLEICHMANN, "GLEICHMANN", GLEICHMANN_devices},
353  {VENDOR_MENTA, "MENTA", MENTA_devices},
354  {VENDOR_SUN, "SUN", SUN_devices},
355  {VENDOR_MOVIDIA, "MOVIDIA", MOVIDIA_devices},
356  {VENDOR_ORBITA, "ORBITA", ORBITA_devices},
357  {VENDOR_SYNOPSYS, "SYNOPSYS", SYNOPSYS_devices},
358  {VENDOR_NASA, "NASA", NASA_devices},
359  {VENDOR_CAL, "CAL", CAL_devices},
360  {VENDOR_EMBEDDIT, "EMBEDDIT", EMBEDDIT_devices},
361  {VENDOR_CETON, "CETON", CETON_devices},
362  {VENDOR_ACTEL, "ACTEL", ACTEL_devices},
363  {0, NULL, NULL}
364};
365
366/*****************************************************************/
367
368static char *ambapp_get_devname(ambapp_device_name *devs, int id)
369{
370  while (devs->device_id > 0) {
371    if (devs->device_id == id)
372      return devs->name;
373    devs++;
374  }
375  return NULL;
376}
377
378char *ambapp_device_id2str(int vendor, int id)
379{
380  ambapp_vendor_devnames *ven = &vendors[0];
381
382  while (ven->vendor_id > 0) {
383    if (ven->vendor_id == vendor)
384      return ambapp_get_devname(ven->devices, id);
385    ven++;
386  }
387  return NULL;
388}
389
390char *ambapp_vendor_id2str(int vendor)
391{
392  ambapp_vendor_devnames *ven = &vendors[0];
393
394  while (ven->vendor_id > 0) {
395    if (ven->vendor_id == vendor)
396      return ven->name;
397    ven++;
398  }
399  return NULL;
400}
401
402int ambapp_vendev_id2str(int vendor, int id, char *buf)
403{
404  char *dstr, *vstr;
405
406  *buf = '\0';
407
408  vstr = ambapp_vendor_id2str(vendor);
409  if (vstr == NULL)
410    return 0;
411
412  dstr = ambapp_device_id2str(vendor, id);
413  if (dstr == NULL)
414    return 0;
415
416  strcpy(buf, vstr);
417  strcat(buf, "_");
418  strcat(buf, dstr);
419
420  return strlen(buf);
421}
Note: See TracBrowser for help on using the repository browser.