xref: /openbmc/linux/sound/pci/oxygen/pcm1796.h (revision 748b6ec3)
1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
233fa724eSClemens Ladisch #ifndef PCM1796_H_INCLUDED
333fa724eSClemens Ladisch #define PCM1796_H_INCLUDED
433fa724eSClemens Ladisch 
533fa724eSClemens Ladisch /* register 16 */
633fa724eSClemens Ladisch #define PCM1796_ATL_MASK	0xff
733fa724eSClemens Ladisch /* register 17 */
833fa724eSClemens Ladisch #define PCM1796_ATR_MASK	0xff
933fa724eSClemens Ladisch /* register 18 */
1033fa724eSClemens Ladisch #define PCM1796_MUTE		0x01
1133fa724eSClemens Ladisch #define PCM1796_DME		0x02
1233fa724eSClemens Ladisch #define PCM1796_DMF_MASK	0x0c
1333fa724eSClemens Ladisch #define PCM1796_DMF_48		0x04
1433fa724eSClemens Ladisch #define PCM1796_DMF_441		0x08
1533fa724eSClemens Ladisch #define PCM1796_DMF_32		0x0c
1633fa724eSClemens Ladisch #define PCM1796_FMT_MASK	0x70
1733fa724eSClemens Ladisch #define PCM1796_FMT_16_RJUST	0x00
1833fa724eSClemens Ladisch #define PCM1796_FMT_20_RJUST	0x10
1933fa724eSClemens Ladisch #define PCM1796_FMT_24_RJUST	0x20
2033fa724eSClemens Ladisch #define PCM1796_FMT_24_LJUST	0x30
2133fa724eSClemens Ladisch #define PCM1796_FMT_16_I2S	0x40
2233fa724eSClemens Ladisch #define PCM1796_FMT_24_I2S	0x50
2333fa724eSClemens Ladisch #define PCM1796_ATLD		0x80
2433fa724eSClemens Ladisch /* register 19 */
2533fa724eSClemens Ladisch #define PCM1796_INZD		0x01
2633fa724eSClemens Ladisch #define PCM1796_FLT_MASK	0x02
2733fa724eSClemens Ladisch #define PCM1796_FLT_SHARP	0x00
2833fa724eSClemens Ladisch #define PCM1796_FLT_SLOW	0x02
2933fa724eSClemens Ladisch #define PCM1796_DFMS		0x04
3033fa724eSClemens Ladisch #define PCM1796_OPE		0x10
3133fa724eSClemens Ladisch #define PCM1796_ATS_MASK	0x60
3233fa724eSClemens Ladisch #define PCM1796_ATS_1		0x00
3333fa724eSClemens Ladisch #define PCM1796_ATS_2		0x20
3433fa724eSClemens Ladisch #define PCM1796_ATS_4		0x40
3533fa724eSClemens Ladisch #define PCM1796_ATS_8		0x60
3633fa724eSClemens Ladisch #define PCM1796_REV		0x80
3733fa724eSClemens Ladisch /* register 20 */
3833fa724eSClemens Ladisch #define PCM1796_OS_MASK		0x03
3933fa724eSClemens Ladisch #define PCM1796_OS_64		0x00
4033fa724eSClemens Ladisch #define PCM1796_OS_32		0x01
4133fa724eSClemens Ladisch #define PCM1796_OS_128		0x02
4233fa724eSClemens Ladisch #define PCM1796_CHSL_MASK	0x04
4333fa724eSClemens Ladisch #define PCM1796_CHSL_LEFT	0x00
4433fa724eSClemens Ladisch #define PCM1796_CHSL_RIGHT	0x04
4533fa724eSClemens Ladisch #define PCM1796_MONO		0x08
4633fa724eSClemens Ladisch #define PCM1796_DFTH		0x10
4733fa724eSClemens Ladisch #define PCM1796_DSD		0x20
4833fa724eSClemens Ladisch #define PCM1796_SRST		0x40
4933fa724eSClemens Ladisch /* register 21 */
5033fa724eSClemens Ladisch #define PCM1796_PCMZ		0x01
5133fa724eSClemens Ladisch #define PCM1796_DZ_MASK		0x06
5233fa724eSClemens Ladisch /* register 22 */
5333fa724eSClemens Ladisch #define PCM1796_ZFGL		0x01
5433fa724eSClemens Ladisch #define PCM1796_ZFGR		0x02
5533fa724eSClemens Ladisch /* register 23 */
5633fa724eSClemens Ladisch #define PCM1796_ID_MASK		0x1f
5733fa724eSClemens Ladisch 
5833fa724eSClemens Ladisch #endif
59