source: rtems/bsps/sparc/shared/amba/ambapp_names.c @ 31720925

5
Last change on this file since 31720925 was 31720925, checked in by Sebastian Huber <sebastian.huber@…>, on 12/22/18 at 06:13:44

grlib: Move header files

Update #3678.

  • Property mode set to 100644
File size: 10.9 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 <grlib/ambapp.h>
16#include <grlib/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_AHBFROM, "AHBFROM"},
129  {GAISLER_PCIEXP, "PCIEXP"},
130  {GAISLER_APBPS2, "APBPS2"},
131  {GAISLER_VGACTRL, "VGACTRL"},
132  {GAISLER_LOGAN, "LOGAN"},
133  {GAISLER_SVGACTRL, "SVGACTRL"},
134  {GAISLER_T1AHB, "T1AHB"},
135  {GAISLER_MP7WRAP, "MP7WRAP"},
136  {GAISLER_GRSYSMON, "GRSYSMON"},
137  {GAISLER_GRACECTRL, "GRACECTRL"},
138  {GAISLER_ATAHBSLV, "ATAHBSLV"},
139  {GAISLER_ATAHBMST, "ATAHBMST"},
140  {GAISLER_ATAPBSLV, "ATAPBSLV"},
141  {GAISLER_MIGDDR2, "MIGDDR2"},
142  {GAISLER_LCDCTRL, "LCDCTRL"},
143  {GAISLER_SWITCHOVER, "SWITCHOVER"},
144  {GAISLER_FIFOUART, "FIFOUART"},
145  {GAISLER_MUXCTRL, "MUXCTRL"},
146  {GAISLER_B1553BC, "B1553BC"},
147  {GAISLER_B1553RT, "B1553RT"},
148  {GAISLER_B1553BRM, "B1553BRM"},
149  {GAISLER_AES, "AES"},
150  {GAISLER_ECC, "ECC"},
151  {GAISLER_PCIF, "PCIF"},
152  {GAISLER_CLKMOD, "CLKMOD"},
153  {GAISLER_HAPSTRAK, "HAPSTRAK"},
154  {GAISLER_TEST_1X2, "TEST_1X2"},
155  {GAISLER_WILD2AHB, "WILD2AHB"},
156  {GAISLER_BIO1, "BIO1"},
157  {GAISLER_AESDMA, "AESDMA"},
158  {GAISLER_GRPCI2, "GRPCI2"},
159  {GAISLER_GRPCI2_DMA, "GRPCI2_DMA"},
160  {GAISLER_GRPCI2_TB, "GRPCI2_TB"},
161  {GAISLER_MMA, "MMA"},
162  {GAISLER_SATCAN, "SATCAN"},
163  {GAISLER_CANMUX, "CANMUX"},
164  {GAISLER_GRTMRX, "GRTMRX"},
165  {GAISLER_GRTCTX, "GRTCTX"},
166  {GAISLER_GRTMDESC, "GRTMDESC"},
167  {GAISLER_GRTMVC, "GRTMVC"},
168  {GAISLER_GEFFE, "GEFFE"},
169  {GAISLER_GPREG, "GPREG"},
170  {GAISLER_GRTMPAHB, "GRTMPAHB"},
171  {GAISLER_SPWCUC, "SPWCUC"},
172  {GAISLER_SPW2_DMA, "SPW2_DMA"},
173  {GAISLER_SPWROUTER, "SPWROUTER"},
174  {GAISLER_EDCLMST, "EDCLMST"},
175  {GAISLER_GRPWTX, "GRPWTX"},
176  {GAISLER_GRPWRX, "GRPWRX"},
177  {GAISLER_GPREGBANK, "GPREGBANK"},
178  {GAISLER_MIG_7SERIES, "MIG_7SERIES"},
179  {GAISLER_GRSPW2_SIST, "GRSPW2_SIST"},
180  {GAISLER_SGMII, "SGMII"},
181  {GAISLER_RGMII, "RGMII"},
182  {GAISLER_IRQGEN, "IRQGEN"},
183  {GAISLER_GRDMAC, "GRDMAC"},
184  {GAISLER_AHB2AVLA, "AHB2AVLA"},
185  {GAISLER_SPWTDP, "SPWTDP"},
186  {GAISLER_L3STAT, "L3STAT"},
187  {GAISLER_GR740THS, "GR740THS"},
188  {GAISLER_GRRM, "GRRM"},
189  {GAISLER_CMAP, "CMAP"},
190  {GAISLER_CPGEN, "CPGEN"},
191  {GAISLER_AMBAPROT, "AMBAPROT"},
192  {GAISLER_IGLOO2_BRIDGE, "IGLOO2_BRIDGE"},
193  {GAISLER_AHB2AXI, "AHB2AXI"},
194  {GAISLER_AXI2AHB, "AXI2AHB"},
195  {GAISLER_FDIR_RSTCTRL, "FDIR_RSTCTRL"},
196  {GAISLER_APB3MST, "APB3MST"},
197  {GAISLER_LRAM, "LRAM"},
198  {GAISLER_BOOTSEQ, "BOOTSEQ"},
199  {GAISLER_TCCOP, "TCCOP"},
200  {GAISLER_SPIMASTER, "SPIMASTER"},
201  {GAISLER_SPISLAVE, "SPISLAVE"},
202  {GAISLER_GRSRIO, "GRSRIO"},
203  {0, NULL}
204};
205
206static ambapp_device_name PENDER_devices[] =
207{
208  {0, NULL}
209};
210
211static ambapp_device_name ESA_devices[] =
212{
213  {ESA_LEON2, "LEON2"},
214  {ESA_LEON2APB, "LEON2APB"},
215  {ESA_IRQ, "IRQ"},
216  {ESA_TIMER, "TIMER"},
217  {ESA_UART, "UART"},
218  {ESA_CFG, "CFG"},
219  {ESA_IO, "IO"},
220  {ESA_MCTRL, "MCTRL"},
221  {ESA_PCIARB, "PCIARB"},
222  {ESA_HURRICANE, "HURRICANE"},
223  {ESA_SPW_RMAP, "SPW_RMAP"},
224  {ESA_AHBUART, "AHBUART"},
225  {ESA_SPWA, "SPWA"},
226  {ESA_BOSCHCAN, "BOSCHCAN"},
227  {ESA_IRQ2, "IRQ2"},
228  {ESA_AHBSTAT, "AHBSTAT"},
229  {ESA_WPROT, "WPROT"},
230  {ESA_WPROT2, "WPROT2"},
231  {ESA_PDEC3AMBA, "PDEC3AMBA"},
232  {ESA_PTME3AMBA, "PTME3AMBA"},
233  {0, NULL}
234};
235
236static ambapp_device_name ASTRIUM_devices[] =
237{
238  {0, NULL}
239};
240
241static ambapp_device_name OPENCHIP_devices[] =
242{
243  {OPENCHIP_APBGPIO, "APBGPIO"},
244  {OPENCHIP_APBI2C, "APBI2C"},
245  {OPENCHIP_APBSPI, "APBSPI"},
246  {OPENCHIP_APBCHARLCD, "APBCHARLCD"},
247  {OPENCHIP_APBPWM, "APBPWM"},
248  {OPENCHIP_APBPS2, "APBPS2"},
249  {OPENCHIP_APBMMCSD, "APBMMCSD"},
250  {OPENCHIP_APBNAND, "APBNAND"},
251  {OPENCHIP_APBLPC, "APBLPC"},
252  {OPENCHIP_APBCF, "APBCF"},
253  {OPENCHIP_APBSYSACE, "APBSYSACE"},
254  {OPENCHIP_APB1WIRE, "APB1WIRE"},
255  {OPENCHIP_APBJTAG, "APBJTAG"},
256  {OPENCHIP_APBSUI, "APBSUI"},
257  {0, NULL}
258};
259
260static ambapp_device_name OPENCORES_devices[] =
261{
262  {0, NULL}
263};
264
265static ambapp_device_name CONTRIB_devices[] =
266{
267  {CONTRIB_CORE1, "CORE1"},
268  {CONTRIB_CORE2, "CORE2"},
269  {0, NULL}
270};
271
272static ambapp_device_name EONIC_devices[] =
273{
274  {0, NULL}
275};
276
277static ambapp_device_name RADIONOR_devices[] =
278{
279  {0, NULL}
280};
281
282static ambapp_device_name GLEICHMANN_devices[] =
283{
284  {GLEICHMANN_CUSTOM, "CUSTOM"},
285  {GLEICHMANN_GEOLCD01, "GEOLCD01"},
286  {GLEICHMANN_DAC, "DAC"},
287  {GLEICHMANN_HPI, "HPI"},
288  {GLEICHMANN_SPI, "SPI"},
289  {GLEICHMANN_HIFC, "HIFC"},
290  {GLEICHMANN_ADCDAC, "ADCDAC"},
291  {GLEICHMANN_SPIOC, "SPIOC"},
292  {GLEICHMANN_AC97, "AC97"},
293  {0, NULL}
294};
295
296static ambapp_device_name MENTA_devices[] =
297{
298  {0, NULL}
299};
300
301static ambapp_device_name SUN_devices[] =
302{
303  {SUN_T1, "SUN_T1"},
304  {SUN_S1, "SUN_S1"},
305  {0, NULL}
306};
307
308static ambapp_device_name MOVIDIA_devices[] =
309{
310  {0, NULL}
311};
312
313static ambapp_device_name ORBITA_devices[] =
314{
315  {ORBITA_1553B, "1553B"},
316  {ORBITA_429, "429"},
317  {ORBITA_SPI, "SPI"},
318  {ORBITA_I2C, "I2C"},
319  {ORBITA_SMARTCARD, "SMARTCARD"},
320  {ORBITA_SDCARD, "SDCARD"},
321  {ORBITA_UART16550, "UART16550"},
322  {ORBITA_CRYPTO, "CRYPTO"},
323  {ORBITA_SYSIF, "SYSIF"},
324  {ORBITA_PIO, "PIO"},
325  {ORBITA_RTC, "RTC"},
326  {ORBITA_COLORLCD, "COLORLCD"},
327  {ORBITA_PCI, "PCI"},
328  {ORBITA_DSP, "DSP"},
329  {ORBITA_USBHOST, "USBHOST"},
330  {ORBITA_USBDEV, "USBDEV"},
331  {0, NULL}
332};
333
334static ambapp_device_name SYNOPSYS_devices[] =
335{
336  {0, NULL}
337};
338
339static ambapp_device_name NASA_devices[] =
340{
341  {NASA_EP32, "EP32"},
342  {0, NULL}
343};
344
345static ambapp_device_name CAL_devices[] =
346{
347  {CAL_DDRCTRL, "DDRCTRL"},
348  {0, NULL}
349};
350
351static ambapp_device_name EMBEDDIT_devices[] =
352{
353  {0, NULL}
354};
355
356static ambapp_device_name CETON_devices[] =
357{
358  {0, NULL}
359};
360
361static ambapp_device_name ACTEL_devices[] =
362{
363  {ACTEL_COREMP7, "COREMP7"},
364  {0, NULL}
365};
366
367static ambapp_vendor_devnames vendors[] =
368{
369  {VENDOR_GAISLER, "GAISLER", GAISLER_devices},
370  {VENDOR_PENDER, "PENDER", PENDER_devices},
371  {VENDOR_ESA, "ESA", ESA_devices},
372  {VENDOR_ASTRIUM, "ASTRIUM", ASTRIUM_devices},
373  {VENDOR_OPENCHIP, "OPENCHIP", OPENCHIP_devices},
374  {VENDOR_OPENCORES, "OPENCORES", OPENCORES_devices},
375  {VENDOR_CONTRIB, "CONTRIB", CONTRIB_devices},
376  {VENDOR_EONIC, "EONIC", EONIC_devices},
377  {VENDOR_RADIONOR, "RADIONOR", RADIONOR_devices},
378  {VENDOR_GLEICHMANN, "GLEICHMANN", GLEICHMANN_devices},
379  {VENDOR_MENTA, "MENTA", MENTA_devices},
380  {VENDOR_SUN, "SUN", SUN_devices},
381  {VENDOR_MOVIDIA, "MOVIDIA", MOVIDIA_devices},
382  {VENDOR_ORBITA, "ORBITA", ORBITA_devices},
383  {VENDOR_SYNOPSYS, "SYNOPSYS", SYNOPSYS_devices},
384  {VENDOR_NASA, "NASA", NASA_devices},
385  {VENDOR_CAL, "CAL", CAL_devices},
386  {VENDOR_EMBEDDIT, "EMBEDDIT", EMBEDDIT_devices},
387  {VENDOR_CETON, "CETON", CETON_devices},
388  {VENDOR_ACTEL, "ACTEL", ACTEL_devices},
389  {0, NULL, NULL}
390};
391
392/*****************************************************************/
393
394static char *ambapp_get_devname(ambapp_device_name *devs, int id)
395{
396  while (devs->device_id > 0) {
397    if (devs->device_id == id)
398      return devs->name;
399    devs++;
400  }
401  return NULL;
402}
403
404char *ambapp_device_id2str(int vendor, int id)
405{
406  ambapp_vendor_devnames *ven = &vendors[0];
407
408  while (ven->vendor_id > 0) {
409    if (ven->vendor_id == vendor)
410      return ambapp_get_devname(ven->devices, id);
411    ven++;
412  }
413  return NULL;
414}
415
416char *ambapp_vendor_id2str(int vendor)
417{
418  ambapp_vendor_devnames *ven = &vendors[0];
419
420  while (ven->vendor_id > 0) {
421    if (ven->vendor_id == vendor)
422      return ven->name;
423    ven++;
424  }
425  return NULL;
426}
427
428int ambapp_vendev_id2str(int vendor, int id, char *buf)
429{
430  char *dstr, *vstr;
431
432  *buf = '\0';
433
434  vstr = ambapp_vendor_id2str(vendor);
435  if (vstr == NULL)
436    return 0;
437
438  dstr = ambapp_device_id2str(vendor, id);
439  if (dstr == NULL)
440    return 0;
441
442  strcpy(buf, vstr);
443  strcat(buf, "_");
444  strcat(buf, dstr);
445
446  return strlen(buf);
447}
Note: See TracBrowser for help on using the repository browser.