sound/soc/codecs/rt5663.h

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

File Facts

System
Linux kernel
Corpus path
sound/soc/codecs/rt5663.h
Extension
.h
Size
39771 bytes
Lines
1129
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 __RT5663_H__
#define __RT5663_H__

#include <sound/rt5663.h>

/* Info */
#define RT5663_RESET				0x0000
#define RT5663_VENDOR_ID			0x00fd
#define RT5663_VENDOR_ID_1			0x00fe
#define RT5663_VENDOR_ID_2			0x00ff

#define RT5663_LOUT_CTRL			0x0001
#define RT5663_HP_AMP_2				0x0003
#define RT5663_MONO_OUT				0x0004
#define RT5663_MONO_GAIN			0x0007

#define RT5663_AEC_BST				0x000b
#define RT5663_IN1_IN2				0x000c
#define RT5663_IN3_IN4				0x000d
#define RT5663_INL1_INR1			0x000f
#define RT5663_CBJ_TYPE_2			0x0011
#define RT5663_CBJ_TYPE_3			0x0012
#define RT5663_CBJ_TYPE_4			0x0013
#define RT5663_CBJ_TYPE_5			0x0014
#define RT5663_CBJ_TYPE_8			0x0017

/* I/O - ADC/DAC/DMIC */
#define RT5663_DAC3_DIG_VOL			0x001a
#define RT5663_DAC3_CTRL			0x001b
#define RT5663_MONO_ADC_DIG_VOL			0x001d
#define RT5663_STO2_ADC_DIG_VOL			0x001e
#define RT5663_MONO_ADC_BST_GAIN		0x0020
#define RT5663_STO2_ADC_BST_GAIN		0x0021
#define RT5663_SIDETONE_CTRL			0x0024
/* Mixer - D-D */
#define RT5663_MONO1_ADC_MIXER			0x0027
#define RT5663_STO2_ADC_MIXER			0x0028
#define RT5663_MONO_DAC_MIXER			0x002b
#define RT5663_DAC2_SRC_CTRL			0x002e
#define RT5663_IF_3_4_DATA_CTL			0x002f
#define RT5663_IF_5_DATA_CTL			0x0030
#define RT5663_PDM_OUT_CTL			0x0031
#define RT5663_PDM_I2C_DATA_CTL1		0x0032
#define RT5663_PDM_I2C_DATA_CTL2		0x0033
#define RT5663_PDM_I2C_DATA_CTL3		0x0034
#define RT5663_PDM_I2C_DATA_CTL4		0x0035

/*Mixer - Analog*/
#define RT5663_RECMIX1_NEW			0x003a
#define RT5663_RECMIX1L_0			0x003b
#define RT5663_RECMIX1L				0x003c
#define RT5663_RECMIX1R_0			0x003d
#define RT5663_RECMIX1R				0x003e
#define RT5663_RECMIX2_NEW			0x003f
#define RT5663_RECMIX2_L_2			0x0041
#define RT5663_RECMIX2_R			0x0042
#define RT5663_RECMIX2_R_2			0x0043
#define RT5663_CALIB_REC_LR			0x0044
#define RT5663_ALC_BK_GAIN			0x0049
#define RT5663_MONOMIX_GAIN			0x004a
#define RT5663_MONOMIX_IN_GAIN			0x004b
#define RT5663_OUT_MIXL_GAIN			0x004d
#define RT5663_OUT_LMIX_IN_GAIN			0x004e
#define RT5663_OUT_RMIX_IN_GAIN			0x004f
#define RT5663_OUT_RMIX_IN_GAIN1		0x0050
#define RT5663_LOUT_MIXER_CTRL			0x0052
/* Power */
#define RT5663_PWR_VOL				0x0067

#define RT5663_ADCDAC_RST			0x006d
/* Format - ADC/DAC */
#define RT5663_I2S34_SDP			0x0071
#define RT5663_I2S5_SDP				0x0072

/* Function - Analog */
#define RT5663_ASRC_3				0x0085
#define RT5663_ASRC_6				0x0088
#define RT5663_ASRC_7				0x0089
#define RT5663_PLL_TRK_13			0x0099
#define RT5663_I2S_M_CLK_CTL			0x00a0
#define RT5663_FDIV_I2S34_M_CLK			0x00a1
#define RT5663_FDIV_I2S34_M_CLK2		0x00a2
#define RT5663_FDIV_I2S5_M_CLK			0x00a3
#define RT5663_FDIV_I2S5_M_CLK2			0x00a4

/* Function - Digital */
#define RT5663_V2_IRQ_4				0x00b9
#define RT5663_GPIO_3				0x00c2
#define RT5663_GPIO_4				0x00c3
#define RT5663_GPIO_STA2			0x00c4

Annotation

Implementation Notes