Go to the documentation of this file.
30 #define CS42L73_CHIP_ID 0x4a
31 #define CS42L73_DEVID_AB 0x01
32 #define CS42L73_DEVID_CD 0x02
33 #define CS42L73_DEVID_E 0x03
34 #define CS42L73_REVID 0x05
35 #define CS42L73_PWRCTL1 0x06
36 #define CS42L73_PWRCTL2 0x07
37 #define CS42L73_PWRCTL3 0x08
38 #define CS42L73_CPFCHC 0x09
39 #define CS42L73_OLMBMSDC 0x0A
40 #define CS42L73_DMMCC 0x0B
41 #define CS42L73_XSPC 0x0C
42 #define CS42L73_XSPMMCC 0x0D
43 #define CS42L73_ASPC 0x0E
44 #define CS42L73_ASPMMCC 0x0F
45 #define CS42L73_VSPC 0x10
46 #define CS42L73_VSPMMCC 0x11
47 #define CS42L73_VXSPFS 0x12
48 #define CS42L73_MIOPC 0x13
49 #define CS42L73_ADCIPC 0x14
50 #define CS42L73_MICAPREPGAAVOL 0x15
51 #define CS42L73_MICBPREPGABVOL 0x16
52 #define CS42L73_IPADVOL 0x17
53 #define CS42L73_IPBDVOL 0x18
54 #define CS42L73_PBDC 0x19
55 #define CS42L73_HLADVOL 0x1A
56 #define CS42L73_HLBDVOL 0x1B
57 #define CS42L73_SPKDVOL 0x1C
58 #define CS42L73_ESLDVOL 0x1D
59 #define CS42L73_HPAAVOL 0x1E
60 #define CS42L73_HPBAVOL 0x1F
61 #define CS42L73_LOAAVOL 0x20
62 #define CS42L73_LOBAVOL 0x21
63 #define CS42L73_STRINV 0x22
64 #define CS42L73_XSPINV 0x23
65 #define CS42L73_ASPINV 0x24
66 #define CS42L73_VSPINV 0x25
67 #define CS42L73_LIMARATEHL 0x26
68 #define CS42L73_LIMRRATEHL 0x27
69 #define CS42L73_LMAXHL 0x28
70 #define CS42L73_LIMARATESPK 0x29
71 #define CS42L73_LIMRRATESPK 0x2A
72 #define CS42L73_LMAXSPK 0x2B
73 #define CS42L73_LIMARATEESL 0x2C
74 #define CS42L73_LIMRRATEESL 0x2D
75 #define CS42L73_LMAXESL 0x2E
76 #define CS42L73_ALCARATE 0x2F
77 #define CS42L73_ALCRRATE 0x30
78 #define CS42L73_ALCMINMAX 0x31
79 #define CS42L73_NGCAB 0x32
80 #define CS42L73_ALCNGMC 0x33
81 #define CS42L73_MIXERCTL 0x34
82 #define CS42L73_HLAIPAA 0x35
83 #define CS42L73_HLBIPBA 0x36
84 #define CS42L73_HLAXSPAA 0x37
85 #define CS42L73_HLBXSPBA 0x38
86 #define CS42L73_HLAASPAA 0x39
87 #define CS42L73_HLBASPBA 0x3A
88 #define CS42L73_HLAVSPMA 0x3B
89 #define CS42L73_HLBVSPMA 0x3C
90 #define CS42L73_XSPAIPAA 0x3D
91 #define CS42L73_XSPBIPBA 0x3E
92 #define CS42L73_XSPAXSPAA 0x3F
93 #define CS42L73_XSPBXSPBA 0x40
94 #define CS42L73_XSPAASPAA 0x41
95 #define CS42L73_XSPAASPBA 0x42
96 #define CS42L73_XSPAVSPMA 0x43
97 #define CS42L73_XSPBVSPMA 0x44
98 #define CS42L73_ASPAIPAA 0x45
99 #define CS42L73_ASPBIPBA 0x46
100 #define CS42L73_ASPAXSPAA 0x47
101 #define CS42L73_ASPBXSPBA 0x48
102 #define CS42L73_ASPAASPAA 0x49
103 #define CS42L73_ASPBASPBA 0x4A
104 #define CS42L73_ASPAVSPMA 0x4B
105 #define CS42L73_ASPBVSPMA 0x4C
106 #define CS42L73_VSPAIPAA 0x4D
107 #define CS42L73_VSPBIPBA 0x4E
108 #define CS42L73_VSPAXSPAA 0x4F
109 #define CS42L73_VSPBXSPBA 0x50
110 #define CS42L73_VSPAASPAA 0x51
111 #define CS42L73_VSPBASPBA 0x52
112 #define CS42L73_VSPAVSPMA 0x53
113 #define CS42L73_VSPBVSPMA 0x54
114 #define CS42L73_MMIXCTL 0x55
115 #define CS42L73_SPKMIPMA 0x56
116 #define CS42L73_SPKMXSPA 0x57
117 #define CS42L73_SPKMASPA 0x58
118 #define CS42L73_SPKMVSPMA 0x59
119 #define CS42L73_ESLMIPMA 0x5A
120 #define CS42L73_ESLMXSPA 0x5B
121 #define CS42L73_ESLMASPA 0x5C
122 #define CS42L73_ESLMVSPMA 0x5D
123 #define CS42L73_IM1 0x5E
124 #define CS42L73_IM2 0x5F
125 #define CS42L73_IS1 0x60
126 #define CS42L73_IS2 0x61
127 #define CS42L73_MAX_REGISTER 0x61
131 #define PDN_ADCB (1 << 7)
132 #define PDN_DMICB (1 << 6)
133 #define PDN_ADCA (1 << 5)
134 #define PDN_DMICA (1 << 4)
135 #define PDN_LDO (1 << 2)
136 #define DISCHG_FILT (1 << 1)
140 #define PDN_MIC2_BIAS (1 << 7)
141 #define PDN_MIC1_BIAS (1 << 6)
142 #define PDN_VSP (1 << 4)
143 #define PDN_ASP_SDOUT (1 << 3)
144 #define PDN_ASP_SDIN (1 << 2)
145 #define PDN_XSP_SDOUT (1 << 1)
146 #define PDN_XSP_SDIN (1 << 0)
149 #define PDN_THMS (1 << 5)
150 #define PDN_SPKLO (1 << 4)
151 #define PDN_EAR (1 << 3)
152 #define PDN_SPK (1 << 2)
153 #define PDN_LO (1 << 1)
154 #define PDN_HP (1 << 0)
157 #define THMOVLD_150C 0
158 #define THMOVLD_132C 1
159 #define THMOVLD_115C 2
160 #define THMOVLD_098C 3
164 #define SP_3ST (1 << 7)
165 #define SPDIF_I2S (0 << 6)
166 #define SPDIF_PCM (1 << 6)
167 #define PCM_MODE0 (0 << 4)
168 #define PCM_MODE1 (1 << 4)
169 #define PCM_MODE2 (2 << 4)
170 #define PCM_MODE_MASK (3 << 4)
171 #define PCM_BIT_ORDER (1 << 3)
172 #define MCK_SCLK_64FS (0 << 0)
173 #define MCK_SCLK_MCLK (2 << 0)
174 #define MCK_SCLK_PREMCLK (3 << 0)
177 #define MS_MASTER (1 << 7)
181 #define MCLKDIS (1 << 0)
182 #define MCLKSEL_MCLK2 (1 << 4)
183 #define MCLKSEL_MCLK1 (0 << 4)
186 #define CS42L73_CLKID_MCLK1 0
187 #define CS42L73_CLKID_MCLK2 1
189 #define CS42L73_MCLKXDIV 0
190 #define CS42L73_MMCCDIV 1
192 #define CS42L73_XSP 0
193 #define CS42L73_ASP 1
194 #define CS42L73_VSP 2
197 #define MIC2_SDET (1 << 6)
198 #define THMOVLD (1 << 4)
199 #define DIGMIXOVFL (1 << 3)
200 #define IPBOVFL (1 << 1)
201 #define IPAOVFL (1 << 0)
204 #define ANLGOSFT (1 << 0)
207 #define HPA_MUTE (1 << 7)
209 #define LOA_MUTE (1 << 7)
211 #define HLAD_MUTE (1 << 0)
212 #define HLBD_MUTE (1 << 1)
213 #define SPKD_MUTE (1 << 2)
214 #define ESLD_MUTE (1 << 3)
217 #define CS42L73_RESET_GPIO 143
219 #define CS42L73_DEVID 0x00042A73
220 #define CS42L73_MCLKX_MIN 5644800
221 #define CS42L73_MCLKX_MAX 38400000
223 #define CS42L73_SPC(id) (CS42L73_XSPC + (id << 1))
224 #define CS42L73_MMCC(id) (CS42L73_XSPMMCC + (id << 1))
225 #define CS42L73_SPFS(id) ((id == CS42L73_ASP) ? CS42L73_ASPC : CS42L73_VXSPFS)