Do not pick your own FPGA ID, especially do not pick an existing one. If you contact me I will assign you a number(s) to use. Currently magic translates to 'product' whilst revision will mean, erm, revision. Each product+revision supports a number of devices through the FPGA 1) so the kernel knows which ones to enable.
For your FPGA code to be compatible you must make your FPGA return your assigned magic ID and revision in the same manner Technologic Systems themselves do; example Verilog code can be found elsewhere on this wiki on how to do this. If you do this it means that the (to be) mainlined 'hotplug' FPGA framework will be able to identify and automatically install the driver hooks so that you can use any functionality your FPGA provides that the Linux kernel has drivers instantly. The changes to support your FPGA to the kernel source is minimal.
N.B. do not use a 'Revision' value of '0x00' as this is reserved for internal use, it lets the device matching system ignore the revision componment and only match on 'Product'; this lets me keep the code base simpler
| Vendor | Product | Revision | Name | Supported Devices |
|---|---|---|---|---|
| Technologic Systems | 0x00b480 | 0x01 | TS7800_REV_1 | TS-RTC, TS-NAND, TS-RNG |
| Technologic Systems | 0x00b480 | 0x02 | TS7800_REV_2 | TS-RTC, TS-NAND, TS-RNG |
| Technologic Systems | 0x00b480 | 0x03 | TS7800_REV_3 | TS-RTC, TS-NAND, TS-RNG |
| Technologic Systems | 0x00b480 | 0x04 | TS7800_REV_4 | TS-RTC, TS-NAND, TS-RNG |
| Technologic Systems | 0x00b480 | 0x05 | TS7800_REV_5 | TS-RTC, TS-NAND, TS-RNG |
| Technologic Systems | 0x00b480 | 0x06 | TS7800_REV_6 | TS-RTC, TS-NAND, TS-RNG |
| Technologic Systems | 0x00b480 | 0x07 | TS7800_REV_7 | TS-RTC, TS-NAND, TS-RNG |
| Technologic Systems | 0x00b480 | 0x08 | TS7800_REV_8 | TS-RTC, TS-NAND, TS-RNG |
| Technologic Systems | 0x00b480 | 0x09 | TS7800_REV_9 | TS-RTC, TS-NAND, TS-RNG |
| Unaffordable & Expensive | 0xffffff | 0x01 | Basic FPGA Structure | None |