xref: /openbmc/linux/sound/soc/codecs/uda1380.h (revision 75bf465f0bc33e9b776a46d6a1b9b990f5fb7c37)
1*d2912cb1SThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */
2b7482f52SPhilipp Zabel /*
3b7482f52SPhilipp Zabel  * Audio support for Philips UDA1380
4b7482f52SPhilipp Zabel  *
5b7482f52SPhilipp Zabel  * Copyright (c) 2005 Giorgio Padrin <giorgio@mandarinlogiq.org>
6b7482f52SPhilipp Zabel  */
7b7482f52SPhilipp Zabel 
8b7482f52SPhilipp Zabel #ifndef _UDA1380_H
9b7482f52SPhilipp Zabel #define _UDA1380_H
10b7482f52SPhilipp Zabel 
11b7482f52SPhilipp Zabel #define UDA1380_CLK	0x00
12b7482f52SPhilipp Zabel #define UDA1380_IFACE	0x01
13b7482f52SPhilipp Zabel #define UDA1380_PM	0x02
14b7482f52SPhilipp Zabel #define UDA1380_AMIX	0x03
15b7482f52SPhilipp Zabel #define UDA1380_HP	0x04
16b7482f52SPhilipp Zabel #define UDA1380_MVOL	0x10
17b7482f52SPhilipp Zabel #define UDA1380_MIXVOL	0x11
18b7482f52SPhilipp Zabel #define UDA1380_MODE	0x12
19b7482f52SPhilipp Zabel #define UDA1380_DEEMP	0x13
20b7482f52SPhilipp Zabel #define UDA1380_MIXER	0x14
21b7482f52SPhilipp Zabel #define UDA1380_INTSTAT	0x18
22b7482f52SPhilipp Zabel #define UDA1380_DEC	0x20
23b7482f52SPhilipp Zabel #define UDA1380_PGA	0x21
24b7482f52SPhilipp Zabel #define UDA1380_ADC	0x22
25b7482f52SPhilipp Zabel #define UDA1380_AGC	0x23
26b7482f52SPhilipp Zabel #define UDA1380_DECSTAT	0x28
27b7482f52SPhilipp Zabel #define UDA1380_RESET	0x7f
28b7482f52SPhilipp Zabel 
29b7482f52SPhilipp Zabel #define UDA1380_CACHEREGNUM 0x24
30b7482f52SPhilipp Zabel 
31b7482f52SPhilipp Zabel /* Register flags */
32b7482f52SPhilipp Zabel #define R00_EN_ADC	0x0800
33b7482f52SPhilipp Zabel #define R00_EN_DEC	0x0400
34b7482f52SPhilipp Zabel #define R00_EN_DAC	0x0200
35b7482f52SPhilipp Zabel #define R00_EN_INT	0x0100
36b7482f52SPhilipp Zabel #define R00_DAC_CLK	0x0010
37b7482f52SPhilipp Zabel #define R01_SFORI_I2S   0x0000
38b7482f52SPhilipp Zabel #define R01_SFORI_LSB16 0x0100
39b7482f52SPhilipp Zabel #define R01_SFORI_LSB18 0x0200
40b7482f52SPhilipp Zabel #define R01_SFORI_LSB20 0x0300
41b7482f52SPhilipp Zabel #define R01_SFORI_MSB   0x0500
42b7482f52SPhilipp Zabel #define R01_SFORI_MASK  0x0700
43b7482f52SPhilipp Zabel #define R01_SFORO_I2S   0x0000
44b7482f52SPhilipp Zabel #define R01_SFORO_LSB16 0x0001
45b7482f52SPhilipp Zabel #define R01_SFORO_LSB18 0x0002
46b7482f52SPhilipp Zabel #define R01_SFORO_LSB20 0x0003
47b7482f52SPhilipp Zabel #define R01_SFORO_LSB24 0x0004
48b7482f52SPhilipp Zabel #define R01_SFORO_MSB   0x0005
49b7482f52SPhilipp Zabel #define R01_SFORO_MASK  0x0007
50b7482f52SPhilipp Zabel #define R01_SEL_SOURCE  0x0040
51b7482f52SPhilipp Zabel #define R01_SIM		0x0010
52b7482f52SPhilipp Zabel #define R02_PON_PLL	0x8000
53b7482f52SPhilipp Zabel #define R02_PON_HP	0x2000
54b7482f52SPhilipp Zabel #define R02_PON_DAC	0x0400
55b7482f52SPhilipp Zabel #define R02_PON_BIAS	0x0100
56b7482f52SPhilipp Zabel #define R02_EN_AVC	0x0080
57b7482f52SPhilipp Zabel #define R02_PON_AVC	0x0040
58b7482f52SPhilipp Zabel #define R02_PON_LNA	0x0010
59b7482f52SPhilipp Zabel #define R02_PON_PGAL	0x0008
60b7482f52SPhilipp Zabel #define R02_PON_ADCL	0x0004
61b7482f52SPhilipp Zabel #define R02_PON_PGAR	0x0002
62b7482f52SPhilipp Zabel #define R02_PON_ADCR	0x0001
63b7482f52SPhilipp Zabel #define R13_MTM		0x4000
64b7482f52SPhilipp Zabel #define R14_SILENCE	0x0080
65b7482f52SPhilipp Zabel #define R14_SDET_ON	0x0040
66b7482f52SPhilipp Zabel #define R21_MT_ADC	0x8000
67b7482f52SPhilipp Zabel #define R22_SEL_LNA	0x0008
68b7482f52SPhilipp Zabel #define R22_SEL_MIC	0x0004
69b7482f52SPhilipp Zabel #define R22_SKIP_DCFIL	0x0002
70b7482f52SPhilipp Zabel #define R23_AGC_EN	0x0001
71b7482f52SPhilipp Zabel 
72b7482f52SPhilipp Zabel #endif /* _UDA1380_H */
73