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