sound/soc/codecs/wm8903.h
Source file repositories/reference/linux-study-clean/sound/soc/codecs/wm8903.h
File Facts
- System
- Linux kernel
- Corpus path
sound/soc/codecs/wm8903.h- Extension
.h- Size
- 71587 bytes
- Lines
- 1222
- 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
linux/i2c.h
Detected Declarations
- No top-level syscall, struct, function, initcall, or export declaration detected by the generator.
Annotated Snippet
#ifndef _WM8903_H
#define _WM8903_H
#include <linux/i2c.h>
extern int wm8903_mic_detect(struct snd_soc_component *component,
struct snd_soc_jack *jack,
int det, int shrt);
/*
* Register values.
*/
#define WM8903_SW_RESET_AND_ID 0x00
#define WM8903_REVISION_NUMBER 0x01
#define WM8903_BIAS_CONTROL_0 0x04
#define WM8903_VMID_CONTROL_0 0x05
#define WM8903_MIC_BIAS_CONTROL_0 0x06
#define WM8903_ANALOGUE_DAC_0 0x08
#define WM8903_ANALOGUE_ADC_0 0x0A
#define WM8903_POWER_MANAGEMENT_0 0x0C
#define WM8903_POWER_MANAGEMENT_1 0x0D
#define WM8903_POWER_MANAGEMENT_2 0x0E
#define WM8903_POWER_MANAGEMENT_3 0x0F
#define WM8903_POWER_MANAGEMENT_4 0x10
#define WM8903_POWER_MANAGEMENT_5 0x11
#define WM8903_POWER_MANAGEMENT_6 0x12
#define WM8903_CLOCK_RATES_0 0x14
#define WM8903_CLOCK_RATES_1 0x15
#define WM8903_CLOCK_RATES_2 0x16
#define WM8903_AUDIO_INTERFACE_0 0x18
#define WM8903_AUDIO_INTERFACE_1 0x19
#define WM8903_AUDIO_INTERFACE_2 0x1A
#define WM8903_AUDIO_INTERFACE_3 0x1B
#define WM8903_DAC_DIGITAL_VOLUME_LEFT 0x1E
#define WM8903_DAC_DIGITAL_VOLUME_RIGHT 0x1F
#define WM8903_DAC_DIGITAL_0 0x20
#define WM8903_DAC_DIGITAL_1 0x21
#define WM8903_ADC_DIGITAL_VOLUME_LEFT 0x24
#define WM8903_ADC_DIGITAL_VOLUME_RIGHT 0x25
#define WM8903_ADC_DIGITAL_0 0x26
#define WM8903_DIGITAL_MICROPHONE_0 0x27
#define WM8903_DRC_0 0x28
#define WM8903_DRC_1 0x29
#define WM8903_DRC_2 0x2A
#define WM8903_DRC_3 0x2B
#define WM8903_ANALOGUE_LEFT_INPUT_0 0x2C
#define WM8903_ANALOGUE_RIGHT_INPUT_0 0x2D
#define WM8903_ANALOGUE_LEFT_INPUT_1 0x2E
#define WM8903_ANALOGUE_RIGHT_INPUT_1 0x2F
#define WM8903_ANALOGUE_LEFT_MIX_0 0x32
#define WM8903_ANALOGUE_RIGHT_MIX_0 0x33
#define WM8903_ANALOGUE_SPK_MIX_LEFT_0 0x34
#define WM8903_ANALOGUE_SPK_MIX_LEFT_1 0x35
#define WM8903_ANALOGUE_SPK_MIX_RIGHT_0 0x36
#define WM8903_ANALOGUE_SPK_MIX_RIGHT_1 0x37
#define WM8903_ANALOGUE_OUT1_LEFT 0x39
#define WM8903_ANALOGUE_OUT1_RIGHT 0x3A
#define WM8903_ANALOGUE_OUT2_LEFT 0x3B
#define WM8903_ANALOGUE_OUT2_RIGHT 0x3C
#define WM8903_ANALOGUE_OUT3_LEFT 0x3E
#define WM8903_ANALOGUE_OUT3_RIGHT 0x3F
#define WM8903_ANALOGUE_SPK_OUTPUT_CONTROL_0 0x41
#define WM8903_DC_SERVO_0 0x43
#define WM8903_DC_SERVO_2 0x45
#define WM8903_DC_SERVO_4 0x47
#define WM8903_DC_SERVO_5 0x48
#define WM8903_DC_SERVO_6 0x49
#define WM8903_DC_SERVO_7 0x4A
#define WM8903_DC_SERVO_READBACK_1 0x51
#define WM8903_DC_SERVO_READBACK_2 0x52
#define WM8903_DC_SERVO_READBACK_3 0x53
#define WM8903_DC_SERVO_READBACK_4 0x54
#define WM8903_ANALOGUE_HP_0 0x5A
#define WM8903_ANALOGUE_LINEOUT_0 0x5E
#define WM8903_CHARGE_PUMP_0 0x62
#define WM8903_CLASS_W_0 0x68
#define WM8903_WRITE_SEQUENCER_0 0x6C
#define WM8903_WRITE_SEQUENCER_1 0x6D
#define WM8903_WRITE_SEQUENCER_2 0x6E
#define WM8903_WRITE_SEQUENCER_3 0x6F
#define WM8903_WRITE_SEQUENCER_4 0x70
#define WM8903_CONTROL_INTERFACE 0x72
#define WM8903_GPIO_CONTROL_1 0x74
#define WM8903_GPIO_CONTROL_2 0x75
#define WM8903_GPIO_CONTROL_3 0x76
#define WM8903_GPIO_CONTROL_4 0x77
#define WM8903_GPIO_CONTROL_5 0x78
#define WM8903_INTERRUPT_STATUS_1 0x79
#define WM8903_INTERRUPT_STATUS_1_MASK 0x7A
Annotation
- Immediate include surface: `linux/i2c.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.