xref: /openbmc/linux/sound/pci/oxygen/cm9780.h (revision 878ac3ee)
1878ac3eeSClemens Ladisch #ifndef CM9780_H_INCLUDED
2878ac3eeSClemens Ladisch #define CM9780_H_INCLUDED
3878ac3eeSClemens Ladisch 
4878ac3eeSClemens Ladisch #define CM9780_JACK		0x62
5878ac3eeSClemens Ladisch #define CM9780_MIXER		0x64
6878ac3eeSClemens Ladisch #define CM9780_GPIO_SETUP	0x70
7878ac3eeSClemens Ladisch #define CM9780_GPIO_STATUS	0x72
8878ac3eeSClemens Ladisch 
9878ac3eeSClemens Ladisch /* jack control */
10878ac3eeSClemens Ladisch #define CM9780_RSOE		0x0001
11878ac3eeSClemens Ladisch #define CM9780_CBOE		0x0002
12878ac3eeSClemens Ladisch #define CM9780_SSOE		0x0004
13878ac3eeSClemens Ladisch #define CM9780_FROE		0x0008
14878ac3eeSClemens Ladisch #define CM9780_HP2FMICOE	0x0010
15878ac3eeSClemens Ladisch #define CM9780_CB2MICOE		0x0020
16878ac3eeSClemens Ladisch #define CM9780_FMIC2LI		0x0040
17878ac3eeSClemens Ladisch #define CM9780_FMIC2MIC		0x0080
18878ac3eeSClemens Ladisch #define CM9780_HP2LI		0x0100
19878ac3eeSClemens Ladisch #define CM9780_HP2MIC		0x0200
20878ac3eeSClemens Ladisch #define CM9780_MIC2LI		0x0400
21878ac3eeSClemens Ladisch #define CM9780_MIC2MIC		0x0800
22878ac3eeSClemens Ladisch #define CM9780_LI2LI		0x1000
23878ac3eeSClemens Ladisch #define CM9780_LI2MIC		0x2000
24878ac3eeSClemens Ladisch #define CM9780_LO2LI		0x4000
25878ac3eeSClemens Ladisch #define CM9780_LO2MIC		0x8000
26878ac3eeSClemens Ladisch 
27878ac3eeSClemens Ladisch /* mixer control */
28878ac3eeSClemens Ladisch #define CM9780_BSTSEL		0x0001
29878ac3eeSClemens Ladisch #define CM9780_STRO_MIC		0x0002
30878ac3eeSClemens Ladisch #define CM9780_SPDI_FREX	0x0004
31878ac3eeSClemens Ladisch #define CM9780_SPDI_SSEX	0x0008
32878ac3eeSClemens Ladisch #define CM9780_SPDI_CBEX	0x0010
33878ac3eeSClemens Ladisch #define CM9780_SPDI_RSEX	0x0020
34878ac3eeSClemens Ladisch #define CM9780_MIX2FR		0x0040
35878ac3eeSClemens Ladisch #define CM9780_MIX2SS		0x0080
36878ac3eeSClemens Ladisch #define CM9780_MIX2CB		0x0100
37878ac3eeSClemens Ladisch #define CM9780_MIX2RS		0x0200
38878ac3eeSClemens Ladisch #define CM9780_MIX2FR_EX	0x0400
39878ac3eeSClemens Ladisch #define CM9780_MIX2SS_EX	0x0800
40878ac3eeSClemens Ladisch #define CM9780_MIX2CB_EX	0x1000
41878ac3eeSClemens Ladisch #define CM9780_MIX2RS_EX	0x2000
42878ac3eeSClemens Ladisch #define CM9780_P47_IO		0x4000
43878ac3eeSClemens Ladisch #define CM9780_PCBSW		0x8000
44878ac3eeSClemens Ladisch 
45878ac3eeSClemens Ladisch /* GPIO setup */
46878ac3eeSClemens Ladisch #define CM9780_GPI0EN		0x0001
47878ac3eeSClemens Ladisch #define CM9780_GPI1EN		0x0002
48878ac3eeSClemens Ladisch #define CM9780_SENSE_P		0x0004
49878ac3eeSClemens Ladisch #define CM9780_LOCK_P		0x0008
50878ac3eeSClemens Ladisch #define CM9780_GPIO0P		0x0010
51878ac3eeSClemens Ladisch #define CM9780_GPIO1P		0x0020
52878ac3eeSClemens Ladisch #define CM9780_GPIO0IO		0x0100
53878ac3eeSClemens Ladisch #define CM9780_GPIO1IO		0x0200
54878ac3eeSClemens Ladisch 
55878ac3eeSClemens Ladisch /* GPIO status */
56878ac3eeSClemens Ladisch #define CM9780_GPO0		0x0001
57878ac3eeSClemens Ladisch #define CM9780_GPO1		0x0002
58878ac3eeSClemens Ladisch #define CM9780_GPIO0S		0x0010
59878ac3eeSClemens Ladisch #define CM9780_GPIO1S		0x0020
60878ac3eeSClemens Ladisch #define CM9780_GPII0S		0x0100
61878ac3eeSClemens Ladisch #define CM9780_GPII1S		0x0200
62878ac3eeSClemens Ladisch 
63878ac3eeSClemens Ladisch #endif
64