sound/soc/codecs/da732x.h

Source file repositories/reference/linux-study-clean/sound/soc/codecs/da732x.h

File Facts

System
Linux kernel
Corpus path
sound/soc/codecs/da732x.h
Extension
.h
Size
3394 bytes
Lines
124
Domain
Driver Families
Bucket
sound/soc
Inferred role
Driver Families: implementation source
Status
source implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

#ifndef __DA732X_H_
#define __DA732X_H_

#include <sound/soc.h>

/* General */
#define	DA732X_U8_MASK			0xFF
#define	DA732X_4BYTES			4
#define	DA732X_3BYTES			3
#define	DA732X_2BYTES			2
#define	DA732X_1BYTE			1
#define	DA732X_1BYTE_SHIFT		8
#define	DA732X_2BYTES_SHIFT		16
#define	DA732X_3BYTES_SHIFT		24
#define	DA732X_4BYTES_SHIFT		32

#define	DA732X_DACS_DIS			0x0
#define	DA732X_HP_DIS			0x0
#define	DA732X_CLEAR_REG		0x0

/* Calibration */
#define	DA732X_DAC_OFFSET_STEP		0x20
#define	DA732X_OUTPUT_OFFSET_STEP	0x80
#define	DA732X_HP_OUT_TRIM_VAL		0x0
#define	DA732X_WAIT_FOR_STABILIZATION	1
#define	DA732X_HPL_DAC			0
#define	DA732X_HPR_DAC			1
#define	DA732X_HP_DACS			2
#define	DA732X_HPL_AMP			0
#define	DA732X_HPR_AMP			1
#define	DA732X_HP_AMPS			2

/* Clock settings */
#define DA732X_STARTUP_DELAY		100
#define	DA732X_PLL_OUT_196608		196608000
#define	DA732X_PLL_OUT_180634		180633600
#define	DA732X_PLL_OUT_SRM		188620800
#define	DA732X_MCLK_10MHZ		10000000
#define	DA732X_MCLK_20MHZ		20000000
#define	DA732X_MCLK_40MHZ		40000000
#define	DA732X_MCLK_54MHZ		54000000
#define	DA732X_MCLK_VAL_0_10MHZ		0
#define	DA732X_MCLK_VAL_10_20MHZ	1
#define	DA732X_MCLK_VAL_20_40MHZ	2
#define	DA732X_MCLK_VAL_40_54MHZ	3
#define	DA732X_DAI_ID1			0
#define	DA732X_DAI_ID2			1
#define	DA732X_SRCCLK_PLL		0
#define	DA732X_SRCCLK_MCLK		1

#define	DA732X_LIN_LP_VOL		0x4F
#define	DA732X_LP_VOL			0x40

/* Kcontrols */
#define	DA732X_DAC_EN_MAX		2
#define	DA732X_ADCL_MUX_MAX		2
#define	DA732X_ADCR_MUX_MAX		3
#define	DA732X_HPF_MODE_MAX		3
#define	DA732X_HPF_MODE_SHIFT		4
#define	DA732X_HPF_MUSIC_SHIFT		0
#define	DA732X_HPF_MUSIC_MAX		4
#define	DA732X_HPF_VOICE_SHIFT		4
#define	DA732X_HPF_VOICE_MAX		8
#define	DA732X_EQ_EN_MAX		1
#define	DA732X_HPF_VOICE		1
#define	DA732X_HPF_MUSIC		2
#define	DA732X_HPF_DISABLED		0
#define	DA732X_NO_INVERT		0
#define	DA732X_INVERT			1
#define	DA732X_SWITCH_MAX		1
#define	DA732X_ENABLE_CP		1
#define	DA732X_DISABLE_CP		0
#define	DA732X_DISABLE_ALL_CLKS		0
#define	DA732X_RESET_ADCS		0

/* dB values */
#define DA732X_MIC_VOL_DB_MIN		0
#define DA732X_MIC_VOL_DB_INC		50
#define DA732X_MIC_PRE_VOL_DB_MIN	0
#define DA732X_MIC_PRE_VOL_DB_INC	600
#define DA732X_AUX_VOL_DB_MIN		-6000
#define DA732X_AUX_VOL_DB_INC		150
#define DA732X_HP_VOL_DB_MIN		-2250
#define DA732X_HP_VOL_DB_INC		150
#define	DA732X_LIN2_VOL_DB_MIN		-1650
#define	DA732X_LIN2_VOL_DB_INC		150
#define	DA732X_LIN3_VOL_DB_MIN		-1650
#define DA732X_LIN3_VOL_DB_INC		150
#define	DA732X_LIN4_VOL_DB_MIN		-2250
#define DA732X_LIN4_VOL_DB_INC		150

Annotation

Implementation Notes