1 /*
2  *  CLPS711X system register bits definitions
3  *
4  *  Copyright (C) 2013 Alexander Shiyan <shc_work@mail.ru>
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  */
11 
12 #ifndef _LINUX_MFD_SYSCON_CLPS711X_H_
13 #define _LINUX_MFD_SYSCON_CLPS711X_H_
14 
15 #define SYSCON_OFFSET		(0x00)
16 #define SYSFLG_OFFSET		(0x40)
17 
18 #define SYSCON1_KBDSCAN(x)	((x) & 15)
19 #define SYSCON1_KBDSCAN_MASK	(15)
20 #define SYSCON1_TC1M		(1 << 4)
21 #define SYSCON1_TC1S		(1 << 5)
22 #define SYSCON1_TC2M		(1 << 6)
23 #define SYSCON1_TC2S		(1 << 7)
24 #define SYSCON1_BZTOG		(1 << 9)
25 #define SYSCON1_BZMOD		(1 << 10)
26 #define SYSCON1_DBGEN		(1 << 11)
27 #define SYSCON1_LCDEN		(1 << 12)
28 #define SYSCON1_CDENTX		(1 << 13)
29 #define SYSCON1_CDENRX		(1 << 14)
30 #define SYSCON1_SIREN		(1 << 15)
31 #define SYSCON1_ADCKSEL(x)	(((x) & 3) << 16)
32 #define SYSCON1_ADCKSEL_MASK	(3 << 16)
33 #define SYSCON1_EXCKEN		(1 << 18)
34 #define SYSCON1_WAKEDIS		(1 << 19)
35 #define SYSCON1_IRTXM		(1 << 20)
36 
37 #define SYSCON2_SERSEL		(1 << 0)
38 #define SYSCON2_KBD6		(1 << 1)
39 #define SYSCON2_DRAMZ		(1 << 2)
40 #define SYSCON2_KBWEN		(1 << 3)
41 #define SYSCON2_SS2TXEN		(1 << 4)
42 #define SYSCON2_PCCARD1		(1 << 5)
43 #define SYSCON2_PCCARD2		(1 << 6)
44 #define SYSCON2_SS2RXEN		(1 << 7)
45 #define SYSCON2_SS2MAEN		(1 << 9)
46 #define SYSCON2_OSTB		(1 << 12)
47 #define SYSCON2_CLKENSL		(1 << 13)
48 #define SYSCON2_BUZFREQ		(1 << 14)
49 
50 #define SYSCON3_ADCCON		(1 << 0)
51 #define SYSCON3_CLKCTL0		(1 << 1)
52 #define SYSCON3_CLKCTL1		(1 << 2)
53 #define SYSCON3_DAISEL		(1 << 3)
54 #define SYSCON3_ADCCKNSEN	(1 << 4)
55 #define SYSCON3_VERSN(x)	(((x) >> 5) & 7)
56 #define SYSCON3_VERSN_MASK	(7 << 5)
57 #define SYSCON3_FASTWAKE	(1 << 8)
58 #define SYSCON3_DAIEN		(1 << 9)
59 #define SYSCON3_128FS		SYSCON3_DAIEN
60 #define SYSCON3_ENPD67		(1 << 10)
61 
62 #define SYSCON_UARTEN		(1 << 8)
63 
64 #define SYSFLG1_MCDR		(1 << 0)
65 #define SYSFLG1_DCDET		(1 << 1)
66 #define SYSFLG1_WUDR		(1 << 2)
67 #define SYSFLG1_WUON		(1 << 3)
68 #define SYSFLG1_CTS		(1 << 8)
69 #define SYSFLG1_DSR		(1 << 9)
70 #define SYSFLG1_DCD		(1 << 10)
71 #define SYSFLG1_NBFLG		(1 << 12)
72 #define SYSFLG1_RSTFLG		(1 << 13)
73 #define SYSFLG1_PFFLG		(1 << 14)
74 #define SYSFLG1_CLDFLG		(1 << 15)
75 #define SYSFLG1_CRXFE		(1 << 24)
76 #define SYSFLG1_CTXFF		(1 << 25)
77 #define SYSFLG1_SSIBUSY		(1 << 26)
78 #define SYSFLG1_ID		(1 << 29)
79 #define SYSFLG1_VERID(x)	(((x) >> 30) & 3)
80 #define SYSFLG1_VERID_MASK	(3 << 30)
81 
82 #define SYSFLG2_SSRXOF		(1 << 0)
83 #define SYSFLG2_RESVAL		(1 << 1)
84 #define SYSFLG2_RESFRM		(1 << 2)
85 #define SYSFLG2_SS2RXFE		(1 << 3)
86 #define SYSFLG2_SS2TXFF		(1 << 4)
87 #define SYSFLG2_SS2TXUF		(1 << 5)
88 #define SYSFLG2_CKMODE		(1 << 6)
89 
90 #define SYSFLG_UBUSY		(1 << 11)
91 #define SYSFLG_URXFE		(1 << 22)
92 #define SYSFLG_UTXFF		(1 << 23)
93 
94 #endif
95