sound/soc/codecs/wm2200.h
Source file repositories/reference/linux-study-clean/sound/soc/codecs/wm2200.h
File Facts
- System
- Linux kernel
- Corpus path
sound/soc/codecs/wm2200.h- Extension
.h- Size
- 185118 bytes
- Lines
- 3671
- 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 _WM2200_H
#define _WM2200_H
#define WM2200_CLK_SYSCLK 1
#define WM2200_CLKSRC_MCLK1 0
#define WM2200_CLKSRC_MCLK2 1
#define WM2200_CLKSRC_FLL 4
#define WM2200_CLKSRC_BCLK1 8
#define WM2200_FLL_SRC_MCLK1 0
#define WM2200_FLL_SRC_MCLK2 1
#define WM2200_FLL_SRC_BCLK 2
/*
* Register values.
*/
#define WM2200_SOFTWARE_RESET 0x00
#define WM2200_DEVICE_REVISION 0x01
#define WM2200_TONE_GENERATOR_1 0x0B
#define WM2200_CLOCKING_3 0x102
#define WM2200_CLOCKING_4 0x103
#define WM2200_FLL_CONTROL_1 0x111
#define WM2200_FLL_CONTROL_2 0x112
#define WM2200_FLL_CONTROL_3 0x113
#define WM2200_FLL_CONTROL_4 0x114
#define WM2200_FLL_CONTROL_6 0x116
#define WM2200_FLL_CONTROL_7 0x117
#define WM2200_FLL_EFS_1 0x119
#define WM2200_FLL_EFS_2 0x11A
#define WM2200_MIC_CHARGE_PUMP_1 0x200
#define WM2200_MIC_CHARGE_PUMP_2 0x201
#define WM2200_DM_CHARGE_PUMP_1 0x202
#define WM2200_MIC_BIAS_CTRL_1 0x20C
#define WM2200_MIC_BIAS_CTRL_2 0x20D
#define WM2200_EAR_PIECE_CTRL_1 0x20F
#define WM2200_EAR_PIECE_CTRL_2 0x210
#define WM2200_INPUT_ENABLES 0x301
#define WM2200_IN1L_CONTROL 0x302
#define WM2200_IN1R_CONTROL 0x303
#define WM2200_IN2L_CONTROL 0x304
#define WM2200_IN2R_CONTROL 0x305
#define WM2200_IN3L_CONTROL 0x306
#define WM2200_IN3R_CONTROL 0x307
#define WM2200_RXANC_SRC 0x30A
#define WM2200_INPUT_VOLUME_RAMP 0x30B
#define WM2200_ADC_DIGITAL_VOLUME_1L 0x30C
#define WM2200_ADC_DIGITAL_VOLUME_1R 0x30D
#define WM2200_ADC_DIGITAL_VOLUME_2L 0x30E
#define WM2200_ADC_DIGITAL_VOLUME_2R 0x30F
#define WM2200_ADC_DIGITAL_VOLUME_3L 0x310
#define WM2200_ADC_DIGITAL_VOLUME_3R 0x311
#define WM2200_OUTPUT_ENABLES 0x400
#define WM2200_DAC_VOLUME_LIMIT_1L 0x401
#define WM2200_DAC_VOLUME_LIMIT_1R 0x402
#define WM2200_DAC_VOLUME_LIMIT_2L 0x403
#define WM2200_DAC_VOLUME_LIMIT_2R 0x404
#define WM2200_DAC_AEC_CONTROL_1 0x409
#define WM2200_OUTPUT_VOLUME_RAMP 0x40A
#define WM2200_DAC_DIGITAL_VOLUME_1L 0x40B
#define WM2200_DAC_DIGITAL_VOLUME_1R 0x40C
#define WM2200_DAC_DIGITAL_VOLUME_2L 0x40D
#define WM2200_DAC_DIGITAL_VOLUME_2R 0x40E
#define WM2200_PDM_1 0x417
#define WM2200_PDM_2 0x418
#define WM2200_AUDIO_IF_1_1 0x500
#define WM2200_AUDIO_IF_1_2 0x501
#define WM2200_AUDIO_IF_1_3 0x502
#define WM2200_AUDIO_IF_1_4 0x503
#define WM2200_AUDIO_IF_1_5 0x504
#define WM2200_AUDIO_IF_1_6 0x505
#define WM2200_AUDIO_IF_1_7 0x506
#define WM2200_AUDIO_IF_1_8 0x507
#define WM2200_AUDIO_IF_1_9 0x508
#define WM2200_AUDIO_IF_1_10 0x509
#define WM2200_AUDIO_IF_1_11 0x50A
#define WM2200_AUDIO_IF_1_12 0x50B
#define WM2200_AUDIO_IF_1_13 0x50C
#define WM2200_AUDIO_IF_1_14 0x50D
#define WM2200_AUDIO_IF_1_15 0x50E
#define WM2200_AUDIO_IF_1_16 0x50F
#define WM2200_AUDIO_IF_1_17 0x510
#define WM2200_AUDIO_IF_1_18 0x511
#define WM2200_AUDIO_IF_1_19 0x512
#define WM2200_AUDIO_IF_1_20 0x513
#define WM2200_AUDIO_IF_1_21 0x514
#define WM2200_AUDIO_IF_1_22 0x515
#define WM2200_OUT1LMIX_INPUT_1_SOURCE 0x600
#define WM2200_OUT1LMIX_INPUT_1_VOLUME 0x601
#define WM2200_OUT1LMIX_INPUT_2_SOURCE 0x602
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.