Merge remote-tracking branch 'asoc/topic/dapm' into asoc-next
[sfrench/cifs-2.6.git] / arch / arm / mach-orion5x / ts78xx-fpga.h
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 };