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.
- 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.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
sound/rt5663.h
Detected Declarations
- No top-level syscall, struct, function, initcall, or export declaration detected by the generator.
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
- Immediate include surface: `sound/rt5663.h`.
- 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.