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.
- 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
- No C-style include directives detected by the generator.
Detected Declarations
- No top-level syscall, struct, function, initcall, or export declaration detected by the generator.
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
- Atlas domain: Driver Families / sound/soc.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.