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 */
9enum 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
25struct fpga_device {
26 unsigned present:1;
27 unsigned init:1;
28};
29
30struct 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
37struct ts78xx_fpga_data {
38 unsigned int id;
39 int state;
40
41 struct fpga_devices supports;
42};
43

source code of linux/arch/arm/mach-orion5x/ts78xx-fpga.h