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