mm: fix exec activate_mm vs TLB shootdown and lazy tlb switching race
[linux/fpc-iii.git] / arch / arm / mach-orion5x / ts78xx-fpga.h
blob2f4fe3ca5c1a9548779db82e8d41a45172190849
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #define TS7800_FPGA_MAGIC 0x00b480
3 #define FPGAID(_magic, _rev) ((_magic << 8) + _rev)
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),
21 /* Unaffordable & Expensive */
22 UAE_DUMMY = FPGAID(0xffffff, 0x01),
25 struct fpga_device {
26 unsigned present:1;
27 unsigned init:1;
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;
37 struct ts78xx_fpga_data {
38 unsigned int id;
39 int state;
41 struct fpga_devices supports;