sound/soc/codecs/rt5645.h

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

File Facts

System
Linux kernel
Corpus path
sound/soc/codecs/rt5645.h
Extension
.h
Size
77404 bytes
Lines
2214
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 __RT5645_H__
#define __RT5645_H__

/* Info */
#define RT5645_RESET				0x00
#define RT5645_VENDOR_ID			0xfd
#define RT5645_VENDOR_ID1			0xfe
#define RT5645_VENDOR_ID2			0xff
/*  I/O - Output */
#define RT5645_SPK_VOL				0x01
#define RT5645_HP_VOL				0x02
#define RT5645_LOUT1				0x03
#define RT5645_LOUT_CTRL			0x05
/* I/O - Input */
#define RT5645_IN1_CTRL1			0x0a
#define RT5645_IN1_CTRL2			0x0b
#define RT5645_IN1_CTRL3			0x0c
#define RT5645_IN2_CTRL				0x0d
#define RT5645_INL1_INR1_VOL			0x0f
#define RT5645_SPK_FUNC_LIM			0x14
#define RT5645_ADJ_HPF_CTRL			0x16
/* I/O - ADC/DAC/DMIC */
#define RT5645_DAC1_DIG_VOL			0x19
#define RT5645_DAC2_DIG_VOL			0x1a
#define RT5645_DAC_CTRL				0x1b
#define RT5645_STO1_ADC_DIG_VOL			0x1c
#define RT5645_MONO_ADC_DIG_VOL			0x1d
#define RT5645_ADC_BST_VOL1			0x1e
#define RT5645_ADC_BST_VOL2			0x20
/* Mixer - D-D */
#define RT5645_STO1_ADC_MIXER			0x27
#define RT5645_MONO_ADC_MIXER			0x28
#define RT5645_AD_DA_MIXER			0x29
#define RT5645_STO_DAC_MIXER			0x2a
#define RT5645_MONO_DAC_MIXER			0x2b
#define RT5645_DIG_MIXER			0x2c
#define RT5650_A_DAC_SOUR			0x2d
#define RT5645_DIG_INF1_DATA			0x2f
/* Mixer - PDM */
#define RT5645_PDM_OUT_CTRL			0x31
/* Mixer - ADC */
#define RT5645_REC_L1_MIXER			0x3b
#define RT5645_REC_L2_MIXER			0x3c
#define RT5645_REC_R1_MIXER			0x3d
#define RT5645_REC_R2_MIXER			0x3e
/* Mixer - DAC */
#define RT5645_HPMIXL_CTRL			0x3f
#define RT5645_HPOMIXL_CTRL			0x40
#define RT5645_HPMIXR_CTRL			0x41
#define RT5645_HPOMIXR_CTRL			0x42
#define RT5645_HPO_MIXER			0x45
#define RT5645_SPK_L_MIXER			0x46
#define RT5645_SPK_R_MIXER			0x47
#define RT5645_SPO_MIXER			0x48
#define RT5645_SPO_CLSD_RATIO			0x4a
#define RT5645_OUT_L_GAIN1			0x4d
#define RT5645_OUT_L_GAIN2			0x4e
#define RT5645_OUT_L1_MIXER			0x4f
#define RT5645_OUT_R_GAIN1			0x50
#define RT5645_OUT_R_GAIN2			0x51
#define RT5645_OUT_R1_MIXER			0x52
#define RT5645_LOUT_MIXER			0x53
/* Haptic */
#define RT5645_HAPTIC_CTRL1			0x56
#define RT5645_HAPTIC_CTRL2			0x57
#define RT5645_HAPTIC_CTRL3			0x58
#define RT5645_HAPTIC_CTRL4			0x59
#define RT5645_HAPTIC_CTRL5			0x5a
#define RT5645_HAPTIC_CTRL6			0x5b
#define RT5645_HAPTIC_CTRL7			0x5c
#define RT5645_HAPTIC_CTRL8			0x5d
#define RT5645_HAPTIC_CTRL9			0x5e
#define RT5645_HAPTIC_CTRL10			0x5f
/* Power */
#define RT5645_PWR_DIG1				0x61
#define RT5645_PWR_DIG2				0x62
#define RT5645_PWR_ANLG1			0x63
#define RT5645_PWR_ANLG2			0x64
#define RT5645_PWR_MIXER			0x65
#define RT5645_PWR_VOL				0x66
/* Private Register Control */
#define RT5645_PRIV_INDEX			0x6a
#define RT5645_PRIV_DATA			0x6c
/* Format - ADC/DAC */
#define RT5645_I2S1_SDP				0x70
#define RT5645_I2S2_SDP				0x71
#define RT5645_ADDA_CLK1			0x73
#define RT5645_ADDA_CLK2			0x74
#define RT5645_DMIC_CTRL1			0x75
#define RT5645_DMIC_CTRL2			0x76

Annotation

Implementation Notes