summaryrefslogtreecommitdiff
path: root/firmware/export/cs42l55.h
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/export/cs42l55.h')
-rw-r--r--firmware/export/cs42l55.h481
1 files changed, 481 insertions, 0 deletions
diff --git a/firmware/export/cs42l55.h b/firmware/export/cs42l55.h
new file mode 100644
index 0000000000..8a6640f7c2
--- /dev/null
+++ b/firmware/export/cs42l55.h
@@ -0,0 +1,481 @@
1/***************************************************************************
2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/
8 * $Id: wm8975.h 28159 2010-09-24 22:42:06Z Buschel $
9 *
10 * Copyright (C) 2010 by Michael Sparmann
11 *
12 * This program is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License
14 * as published by the Free Software Foundation; either version 2
15 * of the License, or (at your option) any later version.
16 *
17 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
18 * KIND, either express or implied.
19 *
20 ****************************************************************************/
21
22#ifndef __CS42L55_H__
23#define __CS42L55_H__
24
25/* volume/balance/treble/bass interdependency */
26#define VOLUME_MIN -580
27#define VOLUME_MAX 120
28
29#define AUDIOHW_CAPS (BASS_CAP | TREBLE_CAP)
30
31extern int tenthdb2master(int db);
32
33extern void audiohw_set_master_vol(int vol_l, int vol_r);
34extern void audiohw_set_lineout_vol(int vol_l, int vol_r);
35extern void audiohw_enable_lineout(bool enable);
36
37/* Register addresses and bits */
38
39#define HIDDENCTL 0x00
40#define HIDDENCTL_LOCK 0x00
41#define HIDDENCTL_UNLOCK 0x99
42
43#define CHIPVERSION 0x01
44
45#define PWRCTL1 0x02
46#define PWRCTL1_PDN_CODEC (1 << 0)
47#define PWRCTL1_PDN_ADCA (1 << 1)
48#define PWRCTL1_PDN_ADCB (1 << 2)
49#define PWRCTL1_PDN_CHRG (1 << 3)
50
51#define PWRCTL2 0x03
52#define PWRCTL2_PDN_LINA_MASK (3 << 0)
53#define PWRCTL2_PDN_LINA_HIGH (0 << 0)
54#define PWRCTL2_PDN_LINA_LOW (1 << 0)
55#define PWRCTL2_PDN_LINA_NEVER (2 << 0)
56#define PWRCTL2_PDN_LINA_ALWAYS (3 << 0)
57#define PWRCTL2_PDN_LINB_MASK (3 << 2)
58#define PWRCTL2_PDN_LINB_HIGH (0 << 2)
59#define PWRCTL2_PDN_LINB_LOW (1 << 2)
60#define PWRCTL2_PDN_LINB_NEVER (2 << 2)
61#define PWRCTL2_PDN_LINB_ALWAYS (3 << 2)
62#define PWRCTL2_PDN_HPA_MASK (3 << 4)
63#define PWRCTL2_PDN_HPA_HIGH (0 << 4)
64#define PWRCTL2_PDN_HPA_LOW (1 << 4)
65#define PWRCTL2_PDN_HPA_NEVER (2 << 4)
66#define PWRCTL2_PDN_HPA_ALWAYS (3 << 4)
67#define PWRCTL2_PDN_HPB_MASK (3 << 6)
68#define PWRCTL2_PDN_HPB_HIGH (0 << 6)
69#define PWRCTL2_PDN_HPB_LOW (1 << 6)
70#define PWRCTL2_PDN_HPB_NEVER (2 << 6)
71#define PWRCTL2_PDN_HPB_ALWAYS (3 << 6)
72
73#define CLKCTL1 0x04
74#define CLKCTL1_MCLKDIS (1 << 0)
75#define CLKCTL1_MCLKDIV2 (1 << 1)
76#define CLKCTL1_SCLKMCLK_MASK (3 << 2)
77#define CLKCTL1_SCLKMCLK_BURST (0 << 2)
78#define CLKCTL1_SCLKMCLK_AFTER (2 << 2)
79#define CLKCTL1_SCLKMCLK_BEFORE (3 << 2)
80#define CLKCTL1_INV_SCLK (1 << 4)
81#define CLKCTL1_MASTER (1 << 5)
82
83#define CLKCTL2 0x05
84#define CLKCTL2_MCLKLRCK_MASK (3 << 0)
85#define CLKCTL2_MCLKLRCK_125 (1 << 0)
86#define CLKCTL2_MCLKLRCK_136 (3 << 0)
87#define CLKCTL2_32KGROUP (1 << 2)
88#define CLKCTL2_SPEED_MASK (3 << 3)
89#define CLKCTL2_SPEED_SINGLE (1 << 3)
90#define CLKCTL2_SPEED_HALF (2 << 3)
91#define CLKCTL2_SPEED_QUARTER (3 << 3)
92#define CLKCTL2_8000HZ 0x1d
93#define CLKCTL2_11025HZ 0x1b
94#define CLKCTL2_12000HZ 0x19
95#define CLKCTL2_16000HZ 0x15
96#define CLKCTL2_22050HZ 0x13
97#define CLKCTL2_24000HZ 0x11
98#define CLKCTL2_32000HZ 0x0d
99#define CLKCTL2_44100HZ 0x0b
100#define CLKCTL2_48000HZ 0x09
101
102#define CLSHCTL 0x06
103#define CLSHCTL_ADPTPWR_MASK (3 << 4)
104#define CLSHCTL_ADPTPWR_VOLUME (0 << 4)
105#define CLSHCTL_ADPTPWR_HALF (1 << 4)
106#define CLSHCTL_ADPTPWR_FULL (2 << 4)
107#define CLSHCTL_ADPTPWR_SIGNAL (3 << 4)
108
109#define MISCCTL 0x07
110#define MISCCTL_FREEZE (1 << 0)
111#define MISCCTL_DIGSFT (1 << 2)
112#define MISCCTL_ANLGZC (1 << 3)
113#define MISCCTL_UNDOC4 (1 << 4)
114#define MISCCTL_DIGMUX (1 << 7)
115
116#define ALHMUX 0x08
117#define ALHMUX_HPAMUX_MASK (1 << 0)
118#define ALHMUX_HPAMUX_DACA (0 << 0)
119#define ALHMUX_HPAMUX_PGAA (1 << 0)
120#define ALHMUX_HPBMUX_MASK (1 << 1)
121#define ALHMUX_HPBMUX_DACB (0 << 1)
122#define ALHMUX_HPBMUX_PGAB (1 << 1)
123#define ALHMUX_LINEAMUX_MASK (1 << 2)
124#define ALHMUX_LINEAMUX_DACA (0 << 2)
125#define ALHMUX_LINEAMUX_PGAA (1 << 2)
126#define ALHMUX_LINEBMUX_MASK (1 << 3)
127#define ALHMUX_LINEBMUX_DACB (0 << 3)
128#define ALHMUX_LINEBMUX_PGAB (1 << 3)
129#define ALHMUX_ADCAMUX_MASK (3 << 4)
130#define ALHMUX_ADCAMUX_PGAA (0 << 4)
131#define ALHMUX_ADCAMUX_AIN1A (1 << 4)
132#define ALHMUX_ADCAMUX_AIN2A (2 << 4)
133#define ALHMUX_ADCBMUX_MASK (3 << 4)
134#define ALHMUX_ADCBMUX_PGAB (0 << 6)
135#define ALHMUX_ADCBMUX_AIN1B (1 << 6)
136#define ALHMUX_ADCBMUX_AIN2B (2 << 6)
137
138#define HPFCTL 0x09
139#define HPFCTL_HPFA_CF_MASK (3 << 0)
140#define HPFCTL_HPFA_CF_1_8 (0 << 0)
141#define HPFCTL_HPFA_CF_119 (1 << 0)
142#define HPFCTL_HPFA_CF_236 (2 << 0)
143#define HPFCTL_HPFA_CF_464 (3 << 0)
144#define HPFCTL_HPFB_CF_MASK (3 << 2)
145#define HPFCTL_HPFB_CF_1_8 (0 << 2)
146#define HPFCTL_HPFB_CF_119 (1 << 2)
147#define HPFCTL_HPFB_CF_236 (2 << 2)
148#define HPFCTL_HPFB_CF_464 (3 << 2)
149#define HPFCTL_HPFRZA (1 << 4)
150#define HPFCTL_HPFA (1 << 5)
151#define HPFCTL_HPFRZB (1 << 6)
152#define HPFCTL_HPFB (1 << 7)
153
154#define ADCCTL 0x0a
155#define ADCCTL_ADCAMUTE (1 << 0)
156#define ADCCTL_ADCBMUTE (1 << 1)
157#define ADCCTL_INV_ADCA (1 << 2)
158#define ADCCTL_INV_ADCB (1 << 3)
159#define ADCCTL_DIGSUM_MASK (3 << 4)
160#define ADCCTL_DIGSUM_NORMAL (0 << 4)
161#define ADCCTL_DIGSUM_HALFSUM (1 << 4)
162#define ADCCTL_DIGSUM_HALFDIFF (2 << 4)
163#define ADCCTL_DIGSUM_SWAPPED (3 << 4)
164#define ADCCTL_PGA_VOLUME_GROUP (1 << 6)
165#define ADCCTL_ADC_VOLUME_GROUP (1 << 7)
166
167#define PGAACTL 0x0b
168#define PGAACTL_VOLUME_MASK (0x3f << 0)
169#define PGAACTL_VOLUME_SHIFT 0
170#define PGAACTL_MUX_MASK (1 << 6)
171#define PGAACTL_MUX_AIN1A (0 << 6)
172#define PGAACTL_MUX_AIN2A (1 << 6)
173#define PGAACTL_BOOST (1 << 7)
174
175#define PGABCTL 0x0c
176#define PGABCTL_VOLUME_MASK (0x3f << 0)
177#define PGABCTL_VOLUME_SHIFT 0
178#define PGABCTL_MUX_MASK (1 << 6)
179#define PGABCTL_MUX_AIN1B (0 << 6)
180#define PGABCTL_MUX_AIN2B (1 << 6)
181#define PGABCTL_BOOST (1 << 7)
182
183#define ADCAATT 0x0d
184#define ADCAATT_VOLUME_MASK (0xff << 0)
185#define ADCAATT_VOLUME_SHIFT 0
186
187#define ADCBATT 0x0e
188#define ADCBATT_VOLUME_MASK (0xff << 0)
189#define ADCBATT_VOLUME_SHIFT 0
190
191#define PLAYCTL 0x0f
192#define PLAYCTL_MSTAMUTE (1 << 0)
193#define PLAYCTL_MSTBMUTE (1 << 1)
194#define PLAYCTL_INV_PCMA (1 << 2)
195#define PLAYCTL_INV_PCMB (1 << 3)
196#define PLAYCTL_PB_VOLUME_GROUP (1 << 4)
197#define PLAYCTL_DEEMPH (1 << 6)
198#define PLAYCTL_PDN_DSP (1 << 7)
199
200#define AMIXACTL 0x10
201#define AMIXACTL_AMIXAVOL_MASK (0x7f << 0)
202#define AMIXACTL_AMIXAVOL_SHIFT 0
203#define AMIXACTL_AMIXAMUTE (1 << 7)
204
205#define AMIXBCTL 0x11
206#define AMIXBCTL_AMIXBVOL_MASK (0x7f << 0)
207#define AMIXBCTL_AMIXBVOL_SHIFT 0
208#define AMIXBCTL_AMIXBMUTE (1 << 7)
209
210#define PMIXACTL 0x12
211#define PMIXACTL_PMIXAVOL_MASK (0x7f << 0)
212#define PMIXACTL_PMIXAVOL_SHIFT 0
213#define PMIXACTL_PMIXAMUTE (1 << 7)
214
215#define PMIXBCTL 0x13
216#define PMIXBCTL_PMIXBVOL_MASK (0x7f << 0)
217#define PMIXBCTL_PMIXBVOL_SHIFT 0
218#define PMIXBCTL_PMIXBMUTE (1 << 7)
219
220#define BEEPFO 0x14
221#define BEEPFO_ONTIME_MASK (0xf << 0)
222#define BEEPFO_ONTIME_86 (0x0 << 0)
223#define BEEPFO_ONTIME_430 (0x1 << 0)
224#define BEEPFO_ONTIME_780 (0x2 << 0)
225#define BEEPFO_ONTIME_1200 (0x3 << 0)
226#define BEEPFO_ONTIME_1500 (0x4 << 0)
227#define BEEPFO_ONTIME_1800 (0x5 << 0)
228#define BEEPFO_ONTIME_2200 (0x6 << 0)
229#define BEEPFO_ONTIME_2500 (0x7 << 0)
230#define BEEPFO_ONTIME_2800 (0x8 << 0)
231#define BEEPFO_ONTIME_3200 (0x9 << 0)
232#define BEEPFO_ONTIME_3500 (0xa << 0)
233#define BEEPFO_ONTIME_3800 (0xb << 0)
234#define BEEPFO_ONTIME_4200 (0xc << 0)
235#define BEEPFO_ONTIME_4500 (0xd << 0)
236#define BEEPFO_ONTIME_4800 (0xe << 0)
237#define BEEPFO_ONTIME_5200 (0xf << 0)
238#define BEEPFO_FREQ_MASK (0xf << 4)
239#define BEEPFO_FREQ_254_76 (0x0 << 4)
240#define BEEPFO_FREQ_509_51 (0x1 << 4)
241#define BEEPFO_FREQ_571_65 (0x2 << 4)
242#define BEEPFO_FREQ_651_04 (0x3 << 4)
243#define BEEPFO_FREQ_689_34 (0x4 << 4)
244#define BEEPFO_FREQ_756_04 (0x5 << 4)
245#define BEEPFO_FREQ_869_45 (0x6 << 4)
246#define BEEPFO_FREQ_976_56 (0x7 << 4)
247#define BEEPFO_FREQ_1019_02 (0x8 << 4)
248#define BEEPFO_FREQ_1171_88 (0x9 << 4)
249#define BEEPFO_FREQ_1302_08 (0xa << 4)
250#define BEEPFO_FREQ_1378_67 (0xb << 4)
251#define BEEPFO_FREQ_1562_50 (0xc << 4)
252#define BEEPFO_FREQ_1674_11 (0xd << 4)
253#define BEEPFO_FREQ_1953_13 (0xe << 4)
254#define BEEPFO_FREQ_2130_68 (0xf << 4)
255
256#define BEEPVO 0x15
257#define BEEPVO_VOLUME_MASK (0x1f << 0)
258#define BEEPVO_VOLUME_SHIFT 0
259#define BEEPVO_OFFTIME_MASK (7 << 5)
260#define BEEPVO_OFFTIME_1230 (0 << 5)
261#define BEEPVO_OFFTIME_2580 (1 << 5)
262#define BEEPVO_OFFTIME_3900 (2 << 5)
263#define BEEPVO_OFFTIME_5200 (3 << 5)
264#define BEEPVO_OFFTIME_6600 (4 << 5)
265#define BEEPVO_OFFTIME_8050 (5 << 5)
266#define BEEPVO_OFFTIME_9350 (6 << 5)
267#define BEEPVO_OFFTIME_10800 (7 << 5)
268
269#define BTCTL 0x16
270#define BTCTL_TCEN (1 << 0)
271#define BTCTL_BASSCF_MASK (3 << 1)
272#define BTCTL_BASSCF_50 (0 << 1)
273#define BTCTL_BASSCF_100 (1 << 1)
274#define BTCTL_BASSCF_200 (2 << 1)
275#define BTCTL_BASSCF_250 (3 << 1)
276#define BTCTL_TREBCF_MASK (3 << 3)
277#define BTCTL_TREBCF_5000 (0 << 3)
278#define BTCTL_TREBCF_7000 (1 << 3)
279#define BTCTL_TREBCF_10000 (2 << 3)
280#define BTCTL_TREBCF_15000 (3 << 3)
281#define BTCTL_BEEP_MASK (0 << 6)
282#define BTCTL_BEEP_OFF (0 << 6)
283#define BTCTL_BEEP_SINGLE (1 << 6)
284#define BTCTL_BEEP_MULTIPLE (2 << 6)
285#define BTCTL_BEEP_CONTINUOUS (3 << 6)
286
287#define TONECTL 0x17
288#define TONECTL_BASS_MASK (0xf << 0)
289#define TONECTL_BASS_SHIFT 0
290#define TONECTL_TREB_MASK (0xf << 4)
291#define TONECTL_TREB_SHIFT 4
292
293#define MSTAVOL 0x18
294#define MSTAVOL_VOLUME_MASK (0xff << 0)
295#define MSTAVOL_VOLUME_SHIFT 0
296
297#define MSTBVOL 0x19
298#define MSTBVOL_VOLUME_MASK (0xff << 0)
299#define MSTBVOL_VOLUME_SHIFT 0
300
301#define HPACTL 0x1a
302#define HPACTL_HPAVOL_MASK (0x7f << 0)
303#define HPACTL_HPAVOL_SHIFT 0
304#define HPACTL_HPAMUTE (1 << 7)
305
306#define HPBCTL 0x1b
307#define HPBCTL_HPBVOL_MASK (0x7f << 0)
308#define HPBCTL_HPBVOL_SHIFT 0
309#define HPBCTL_HPBMUTE (1 << 7)
310
311#define LINEACTL 0x1c
312#define LINEACTL_LINEAVOL_MASK (0x7f << 0)
313#define LINEACTL_LINEAVOL_SHIFT 0
314#define LINEACTL_LINEAMUTE (1 << 7)
315
316#define LINEBCTL 0x1d
317#define LINEBCTL_LINEBVOL_MASK (0x7f << 0)
318#define LINEBCTL_LINEBVOL_SHIFT 0
319#define LINEBCTL_LINEBMUTE (1 << 7)
320
321#define AINADV 0x1e
322#define AINADV_VOLUME_MASK (0xff << 0)
323#define AINADV_VOLUME_SHIFT 0
324
325#define DINADV 0x1f
326#define DINADV_VOLUME_MASK (0xff << 0)
327#define DINADV_VOLUME_SHIFT 0
328
329#define MIXCTL 0x20
330#define MIXCTL_ADCASWP_MASK (3 << 0)
331#define MIXCTL_ADCASWP_NORMAL (0 << 0)
332#define MIXCTL_ADCASWP_HALFSUM (1 << 0)
333#define MIXCTL_ADCASWP_HALFSUM2 (2 << 0)
334#define MIXCTL_ADCASWP_SWAPPED (3 << 0)
335#define MIXCTL_ADCBSWP_MASK (3 << 2)
336#define MIXCTL_ADCBSWP_NORMAL (0 << 2)
337#define MIXCTL_ADCBSWP_HALFSUM (1 << 2)
338#define MIXCTL_ADCBSWP_HALFSUM2 (2 << 2)
339#define MIXCTL_ADCBSWP_SWAPPED (3 << 2)
340#define MIXCTL_PCMASWP_MASK (3 << 4)
341#define MIXCTL_PCMASWP_NORMAL (0 << 4)
342#define MIXCTL_PCMASWP_HALFSUM (1 << 4)
343#define MIXCTL_PCMASWP_HALFSUM2 (2 << 4)
344#define MIXCTL_PCMASWP_SWAPPED (3 << 4)
345#define MIXCTL_PCMBSWP_MASK (3 << 6)
346#define MIXCTL_PCMBSWP_NORMAL (0 << 6)
347#define MIXCTL_PCMBSWP_HALFSUM (1 << 6)
348#define MIXCTL_PCMBSWP_HALFSUM2 (2 << 6)
349#define MIXCTL_PCMBSWP_SWAPPED (3 << 6)
350
351#define LIMCTL1 0x21
352#define LIMCTL1_CUSH_MASK (7 << 2)
353#define LIMCTL1_CUSH_0 (0 << 2)
354#define LIMCTL1_CUSH_3 (1 << 2)
355#define LIMCTL1_CUSH_6 (2 << 2)
356#define LIMCTL1_CUSH_9 (3 << 2)
357#define LIMCTL1_CUSH_12 (4 << 2)
358#define LIMCTL1_CUSH_18 (5 << 2)
359#define LIMCTL1_CUSH_24 (6 << 2)
360#define LIMCTL1_CUSH_30 (7 << 2)
361#define LIMCTL1_LMAX_MASK (7 << 5)
362#define LIMCTL1_LMAX_0 (0 << 5)
363#define LIMCTL1_LMAX_3 (1 << 5)
364#define LIMCTL1_LMAX_6 (2 << 5)
365#define LIMCTL1_LMAX_9 (3 << 5)
366#define LIMCTL1_LMAX_12 (4 << 5)
367#define LIMCTL1_LMAX_18 (5 << 5)
368#define LIMCTL1_LMAX_24 (6 << 5)
369#define LIMCTL1_LMAX_30 (7 << 5)
370
371#define LIMCTL2 0x22
372#define LIMCTL2_LIMRRATE_MASK (0x3f << 0)
373#define LIMCTL2_LIMRRATE_SHIFT 0
374#define LIMCTL2_LIMIT_ALL (1 << 6)
375#define LIMCTL2_LIMIT (1 << 7)
376
377#define LIMCTL3 0x23
378#define LIMCTL3_LIMARATE_MASK (0x3f << 0)
379#define LIMCTL3_LIMARATE_SHIFT 0
380
381#define ALCCTL1 0x24
382#define ALCCTL1_ALCARATE_MASK (0x3f << 0)
383#define ALCCTL1_ALCARATE_SHIFT 0
384#define ALCCTL1_ALCA (1 << 6)
385#define ALCCTL1_ALCB (1 << 7)
386
387#define ALCCTL2 0x25
388#define ALCCTL2_ALCRRATE_MASK (0x3f << 0)
389#define ALCCTL2_ALCRRATE_SHIFT 0
390
391#define ALCCTL3 0x26
392#define ALCCTL3_ALCMIN_MASK (7 << 2)
393#define ALCCTL3_ALCMIN_0 (0 << 2)
394#define ALCCTL3_ALCMIN_3 (1 << 2)
395#define ALCCTL3_ALCMIN_6 (2 << 2)
396#define ALCCTL3_ALCMIN_9 (3 << 2)
397#define ALCCTL3_ALCMIN_12 (4 << 2)
398#define ALCCTL3_ALCMIN_18 (5 << 2)
399#define ALCCTL3_ALCMIN_24 (6 << 2)
400#define ALCCTL3_ALCMIN_30 (7 << 2)
401#define ALCCTL3_ALCMAX_MASK (7 << 5)
402#define ALCCTL3_ALCMAX_0 (0 << 5)
403#define ALCCTL3_ALCMAX_3 (1 << 5)
404#define ALCCTL3_ALCMAX_6 (2 << 5)
405#define ALCCTL3_ALCMAX_9 (3 << 5)
406#define ALCCTL3_ALCMAX_12 (4 << 5)
407#define ALCCTL3_ALCMAX_18 (5 << 5)
408#define ALCCTL3_ALCMAX_24 (6 << 5)
409#define ALCCTL3_ALCMAX_30 (7 << 5)
410
411#define NGCTL 0x27
412#define NGCTL_NGDELEAY_MASK (3 << 0)
413#define NGCTL_NGDELEAY_50 (0 << 0)
414#define NGCTL_NGDELEAY_100 (1 << 0)
415#define NGCTL_NGDELEAY_150 (2 << 0)
416#define NGCTL_NGDELEAY_200 (3 << 0)
417#define NGCTL_THRESH_MASK (7 << 2)
418#define NGCTL_THRESH_SHIFT 2
419#define NGCTL_NG_BOOST30 (1 << 5)
420#define NGCTL_NG (1 << 6)
421#define NGCTL_NGALL (1 << 7)
422
423#define ALSZDIS 0x28
424#define ALSZDIS_LIMSRDIS (1 << 3)
425#define ALSZDIS_ALCAZCDIS (1 << 4)
426#define ALSZDIS_ALCASRDIS (1 << 5)
427#define ALSZDIS_ALCBZCDIS (1 << 6)
428#define ALSZDIS_ALCBSRDIS (1 << 7)
429
430#define STATUS 0x29
431#define STATUS_ADCAOVFL (1 << 0)
432#define STATUS_ADCBOVFL (1 << 1)
433#define STATUS_MIXAOVFL (1 << 2)
434#define STATUS_MIXBOVFL (1 << 3)
435#define STATUS_DSPAOVFL (1 << 4)
436#define STATUS_DSPBOVFL (1 << 5)
437#define STATUS_SPCLKERR (1 << 6)
438#define STATUS_HPDETECT (1 << 7)
439
440#define CPCTL 0x2a
441#define CPCTL_CHGFREQ_MASK (0xf << 0)
442#define CPCTL_CHGFREQ_SHIFT 0
443
444#define HIDDEN2E 0x2e
445#define HIDDEN2E_DEFAULT 0x30
446
447#define HIDDEN32 0x32
448#define HIDDEN32_DEFAULT 0x07
449
450#define HIDDEN33 0x33
451#define HIDDEN33_DEFAULT 0xff
452
453#define HIDDEN34 0x34
454#define HIDDEN34_DEFAULT 0xf8
455
456#define HIDDEN35 0x35
457#define HIDDEN35_DEFAULT 0xdc
458
459#define HIDDEN36 0x36
460#define HIDDEN36_DEFAULT 0xfc
461
462#define HIDDEN37 0x37
463#define HIDDEN37_DEFAULT 0xac
464
465#define HIDDEN3A 0x3a
466#define HIDDEN3A_DEFAULT 0xf8
467
468#define HIDDEN3C 0x3c
469#define HIDDEN3C_DEFAULT 0xd3
470
471#define HIDDEN3D 0x3d
472#define HIDDEN3D_DEFAULT 0x23
473
474#define HIDDEN3E 0x3e
475#define HIDDEN3E_DEFAULT 0x81
476
477#define HIDDEN3F 0x3f
478#define HIDDEN3F_DEFAULT 0x46
479
480
481#endif /* __CS42L55_H__ */