1/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef CM9780_H_INCLUDED
3#define CM9780_H_INCLUDED
4
5#define CM9780_JACK		0x62
6#define CM9780_MIXER		0x64
7#define CM9780_GPIO_SETUP	0x70
8#define CM9780_GPIO_STATUS	0x72
9
10/* jack control */
11#define CM9780_RSOE		0x0001
12#define CM9780_CBOE		0x0002
13#define CM9780_SSOE		0x0004
14#define CM9780_FROE		0x0008
15#define CM9780_HP2FMICOE	0x0010
16#define CM9780_CB2MICOE		0x0020
17#define CM9780_FMIC2LI		0x0040
18#define CM9780_FMIC2MIC		0x0080
19#define CM9780_HP2LI		0x0100
20#define CM9780_HP2MIC		0x0200
21#define CM9780_MIC2LI		0x0400
22#define CM9780_MIC2MIC		0x0800
23#define CM9780_LI2LI		0x1000
24#define CM9780_LI2MIC		0x2000
25#define CM9780_LO2LI		0x4000
26#define CM9780_LO2MIC		0x8000
27
28/* mixer control */
29#define CM9780_BSTSEL		0x0001
30#define CM9780_STRO_MIC		0x0002
31#define CM9780_SPDI_FREX	0x0004
32#define CM9780_SPDI_SSEX	0x0008
33#define CM9780_SPDI_CBEX	0x0010
34#define CM9780_SPDI_RSEX	0x0020
35#define CM9780_MIX2FR		0x0040
36#define CM9780_MIX2SS		0x0080
37#define CM9780_MIX2CB		0x0100
38#define CM9780_MIX2RS		0x0200
39#define CM9780_MIX2FR_EX	0x0400
40#define CM9780_MIX2SS_EX	0x0800
41#define CM9780_MIX2CB_EX	0x1000
42#define CM9780_MIX2RS_EX	0x2000
43#define CM9780_P47_IO		0x4000
44#define CM9780_PCBSW		0x8000
45
46/* GPIO setup */
47#define CM9780_GPI0EN		0x0001
48#define CM9780_GPI1EN		0x0002
49#define CM9780_SENSE_P		0x0004
50#define CM9780_LOCK_P		0x0008
51#define CM9780_GPIO0P		0x0010
52#define CM9780_GPIO1P		0x0020
53#define CM9780_GPIO0IO		0x0100
54#define CM9780_GPIO1IO		0x0200
55
56/* GPIO status */
57#define CM9780_GPO0		0x0001
58#define CM9780_GPO1		0x0002
59#define CM9780_GPIO0S		0x0010
60#define CM9780_GPIO1S		0x0020
61#define CM9780_GPII0S		0x0100
62#define CM9780_GPII1S		0x0200
63
64#endif
65