1b3882330843650b751817712db57b9a7061e7879Alexander Clouter#define TS7800_FPGA_MAGIC 0x00b480 239008f959f4f3b60eecc5cec0ca077146c1f366bAlexander Clouter#define FPGAID(_magic, _rev) ((_magic << 8) + _rev) 339008f959f4f3b60eecc5cec0ca077146c1f366bAlexander Clouter 439008f959f4f3b60eecc5cec0ca077146c1f366bAlexander Clouter/* 539008f959f4f3b60eecc5cec0ca077146c1f366bAlexander Clouter * get yer id's from http://ts78xx.digriz.org.uk/ 639008f959f4f3b60eecc5cec0ca077146c1f366bAlexander Clouter * do *not* make up your own or 'borrow' any! 739008f959f4f3b60eecc5cec0ca077146c1f366bAlexander Clouter */ 839008f959f4f3b60eecc5cec0ca077146c1f366bAlexander Clouterenum fpga_ids { 939008f959f4f3b60eecc5cec0ca077146c1f366bAlexander Clouter /* Technologic Systems */ 10b3882330843650b751817712db57b9a7061e7879Alexander Clouter TS7800_REV_1 = FPGAID(TS7800_FPGA_MAGIC, 0x01), 11b3882330843650b751817712db57b9a7061e7879Alexander Clouter TS7800_REV_2 = FPGAID(TS7800_FPGA_MAGIC, 0x02), 12b3882330843650b751817712db57b9a7061e7879Alexander Clouter TS7800_REV_3 = FPGAID(TS7800_FPGA_MAGIC, 0x03), 13b3882330843650b751817712db57b9a7061e7879Alexander Clouter TS7800_REV_4 = FPGAID(TS7800_FPGA_MAGIC, 0x04), 14b3882330843650b751817712db57b9a7061e7879Alexander Clouter TS7800_REV_5 = FPGAID(TS7800_FPGA_MAGIC, 0x05), 15b3882330843650b751817712db57b9a7061e7879Alexander Clouter TS7800_REV_6 = FPGAID(TS7800_FPGA_MAGIC, 0x06), 16b3882330843650b751817712db57b9a7061e7879Alexander Clouter TS7800_REV_7 = FPGAID(TS7800_FPGA_MAGIC, 0x07), 17b3882330843650b751817712db57b9a7061e7879Alexander Clouter TS7800_REV_8 = FPGAID(TS7800_FPGA_MAGIC, 0x08), 18b3882330843650b751817712db57b9a7061e7879Alexander Clouter TS7800_REV_9 = FPGAID(TS7800_FPGA_MAGIC, 0x09), 190c1355e36fdc304b102851312d80a1e69c01f5a2Alexander Clouter 200c1355e36fdc304b102851312d80a1e69c01f5a2Alexander Clouter /* Unaffordable & Expensive */ 210c1355e36fdc304b102851312d80a1e69c01f5a2Alexander Clouter UAE_DUMMY = FPGAID(0xffffff, 0x01), 2239008f959f4f3b60eecc5cec0ca077146c1f366bAlexander Clouter}; 2339008f959f4f3b60eecc5cec0ca077146c1f366bAlexander Clouter 2439008f959f4f3b60eecc5cec0ca077146c1f366bAlexander Clouterstruct fpga_device { 2539008f959f4f3b60eecc5cec0ca077146c1f366bAlexander Clouter unsigned present:1; 2639008f959f4f3b60eecc5cec0ca077146c1f366bAlexander Clouter unsigned init:1; 2739008f959f4f3b60eecc5cec0ca077146c1f366bAlexander Clouter}; 2839008f959f4f3b60eecc5cec0ca077146c1f366bAlexander Clouter 2939008f959f4f3b60eecc5cec0ca077146c1f366bAlexander Clouterstruct fpga_devices { 3039008f959f4f3b60eecc5cec0ca077146c1f366bAlexander Clouter /* Technologic Systems */ 3139008f959f4f3b60eecc5cec0ca077146c1f366bAlexander Clouter struct fpga_device ts_rtc; 3275bb6b9aab3255f440ef4e72a31978d1681105d6Alexander Clouter struct fpga_device ts_nand; 33a914d4309c4cf6e7c4d0dbce4822dcad38a7cf27Alexander Clouter struct fpga_device ts_rng; 3439008f959f4f3b60eecc5cec0ca077146c1f366bAlexander Clouter}; 3539008f959f4f3b60eecc5cec0ca077146c1f366bAlexander Clouter 3639008f959f4f3b60eecc5cec0ca077146c1f366bAlexander Clouterstruct ts78xx_fpga_data { 3739008f959f4f3b60eecc5cec0ca077146c1f366bAlexander Clouter unsigned int id; 3839008f959f4f3b60eecc5cec0ca077146c1f366bAlexander Clouter int state; 3939008f959f4f3b60eecc5cec0ca077146c1f366bAlexander Clouter 4039008f959f4f3b60eecc5cec0ca077146c1f366bAlexander Clouter struct fpga_devices supports; 4139008f959f4f3b60eecc5cec0ca077146c1f366bAlexander Clouter}; 42