1 | /* SPDX-License-Identifier: GPL-2.0 */ |
2 | #define TS7800_FPGA_MAGIC 0x00b480 |
3 | #define FPGAID(_magic, _rev) ((_magic << 8) + _rev) |
4 | |
5 | /* |
6 | * get yer id's from http://ts78xx.digriz.org.uk/ |
7 | * do *not* make up your own or 'borrow' any! |
8 | */ |
9 | enum fpga_ids { |
10 | /* Technologic Systems */ |
11 | TS7800_REV_1 = FPGAID(TS7800_FPGA_MAGIC, 0x01), |
12 | TS7800_REV_2 = FPGAID(TS7800_FPGA_MAGIC, 0x02), |
13 | TS7800_REV_3 = FPGAID(TS7800_FPGA_MAGIC, 0x03), |
14 | TS7800_REV_4 = FPGAID(TS7800_FPGA_MAGIC, 0x04), |
15 | TS7800_REV_5 = FPGAID(TS7800_FPGA_MAGIC, 0x05), |
16 | TS7800_REV_6 = FPGAID(TS7800_FPGA_MAGIC, 0x06), |
17 | TS7800_REV_7 = FPGAID(TS7800_FPGA_MAGIC, 0x07), |
18 | TS7800_REV_8 = FPGAID(TS7800_FPGA_MAGIC, 0x08), |
19 | TS7800_REV_9 = FPGAID(TS7800_FPGA_MAGIC, 0x09), |
20 | |
21 | /* Unaffordable & Expensive */ |
22 | UAE_DUMMY = FPGAID(0xffffff, 0x01), |
23 | }; |
24 | |
25 | struct fpga_device { |
26 | unsigned present:1; |
27 | unsigned init:1; |
28 | }; |
29 | |
30 | struct fpga_devices { |
31 | /* Technologic Systems */ |
32 | struct fpga_device ts_rtc; |
33 | struct fpga_device ts_nand; |
34 | struct fpga_device ts_rng; |
35 | }; |
36 | |
37 | struct ts78xx_fpga_data { |
38 | unsigned int id; |
39 | int state; |
40 | |
41 | struct fpga_devices supports; |
42 | }; |
43 | |