sound/soc/codecs/rt5616.h

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

File Facts

System
Linux kernel
Corpus path
sound/soc/codecs/rt5616.h
Extension
.h
Size
63879 bytes
Lines
1817
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 __RT5616_H__
#define __RT5616_H__

/* Info */
#define RT5616_RESET				0x00
#define RT5616_VERSION_ID			0xfd
#define RT5616_VENDOR_ID			0xfe
#define RT5616_DEVICE_ID			0xff
/*  I/O - Output */
#define RT5616_HP_VOL				0x02
#define RT5616_LOUT_CTRL1			0x03
#define RT5616_LOUT_CTRL2			0x05
/* I/O - Input */
#define RT5616_IN1_IN2				0x0d
#define RT5616_INL1_INR1_VOL			0x0f
/* I/O - ADC/DAC/DMIC */
#define RT5616_DAC1_DIG_VOL			0x19
#define RT5616_ADC_DIG_VOL			0x1c
#define RT5616_ADC_BST_VOL			0x1e
/* Mixer - D-D */
#define RT5616_STO1_ADC_MIXER			0x27
#define RT5616_AD_DA_MIXER			0x29
#define RT5616_STO_DAC_MIXER			0x2a

/* Mixer - ADC */
#define RT5616_REC_L1_MIXER			0x3b
#define RT5616_REC_L2_MIXER			0x3c
#define RT5616_REC_R1_MIXER			0x3d
#define RT5616_REC_R2_MIXER			0x3e
/* Mixer - DAC */
#define RT5616_HPO_MIXER			0x45
#define RT5616_OUT_L1_MIXER			0x4d
#define RT5616_OUT_L2_MIXER			0x4e
#define RT5616_OUT_L3_MIXER			0x4f
#define RT5616_OUT_R1_MIXER			0x50
#define RT5616_OUT_R2_MIXER			0x51
#define RT5616_OUT_R3_MIXER			0x52
#define RT5616_LOUT_MIXER			0x53
/* Power */
#define RT5616_PWR_DIG1				0x61
#define RT5616_PWR_DIG2				0x62
#define RT5616_PWR_ANLG1			0x63
#define RT5616_PWR_ANLG2			0x64
#define RT5616_PWR_MIXER			0x65
#define RT5616_PWR_VOL				0x66
/* Private Register Control */
#define RT5616_PRIV_INDEX			0x6a
#define RT5616_PRIV_DATA			0x6c
/* Format - ADC/DAC */
#define RT5616_I2S1_SDP				0x70
#define RT5616_ADDA_CLK1			0x73
#define RT5616_ADDA_CLK2			0x74

/* Function - Analog */
#define RT5616_GLB_CLK				0x80
#define RT5616_PLL_CTRL1			0x81
#define RT5616_PLL_CTRL2			0x82
#define RT5616_HP_OVCD				0x8b
#define RT5616_DEPOP_M1				0x8e
#define RT5616_DEPOP_M2				0x8f
#define RT5616_DEPOP_M3				0x90
#define RT5616_CHARGE_PUMP			0x91
#define RT5616_PV_DET_SPK_G			0x92
#define RT5616_MICBIAS				0x93
#define RT5616_A_JD_CTL1			0x94
#define RT5616_A_JD_CTL2			0x95
/* Function - Digital */
#define RT5616_EQ_CTRL1				0xb0
#define RT5616_EQ_CTRL2				0xb1
#define RT5616_WIND_FILTER			0xb2
#define RT5616_DRC_AGC_1			0xb4
#define RT5616_DRC_AGC_2			0xb5
#define RT5616_DRC_AGC_3			0xb6
#define RT5616_SVOL_ZC				0xb7
#define RT5616_JD_CTRL1				0xbb
#define RT5616_JD_CTRL2				0xbc
#define RT5616_IRQ_CTRL1			0xbd
#define RT5616_IRQ_CTRL2			0xbe
#define RT5616_INT_IRQ_ST			0xbf
#define RT5616_GPIO_CTRL1			0xc0
#define RT5616_GPIO_CTRL2			0xc1
#define RT5616_GPIO_CTRL3			0xc2
#define RT5616_PGM_REG_ARR1			0xc8
#define RT5616_PGM_REG_ARR2			0xc9
#define RT5616_PGM_REG_ARR3			0xca
#define RT5616_PGM_REG_ARR4			0xcb
#define RT5616_PGM_REG_ARR5			0xcc
#define RT5616_SCB_FUNC				0xcd
#define RT5616_SCB_CTRL				0xce
#define RT5616_BASE_BACK			0xcf

Annotation

Implementation Notes