sound/soc/codecs/wm8991.h

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

File Facts

System
Linux kernel
Corpus path
sound/soc/codecs/wm8991.h
Extension
.h
Size
35053 bytes
Lines
816
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 _WM8991_H
#define _WM8991_H

/*
 * Register values.
 */
#define WM8991_RESET                            0x00
#define WM8991_POWER_MANAGEMENT_1               0x01
#define WM8991_POWER_MANAGEMENT_2               0x02
#define WM8991_POWER_MANAGEMENT_3               0x03
#define WM8991_AUDIO_INTERFACE_1                0x04
#define WM8991_AUDIO_INTERFACE_2                0x05
#define WM8991_CLOCKING_1                       0x06
#define WM8991_CLOCKING_2                       0x07
#define WM8991_AUDIO_INTERFACE_3                0x08
#define WM8991_AUDIO_INTERFACE_4                0x09
#define WM8991_DAC_CTRL                         0x0A
#define WM8991_LEFT_DAC_DIGITAL_VOLUME          0x0B
#define WM8991_RIGHT_DAC_DIGITAL_VOLUME         0x0C
#define WM8991_DIGITAL_SIDE_TONE                0x0D
#define WM8991_ADC_CTRL                         0x0E
#define WM8991_LEFT_ADC_DIGITAL_VOLUME          0x0F
#define WM8991_RIGHT_ADC_DIGITAL_VOLUME         0x10
#define WM8991_GPIO_CTRL_1                      0x12
#define WM8991_GPIO1_GPIO2                      0x13
#define WM8991_GPIO3_GPIO4                      0x14
#define WM8991_GPIO5_GPIO6                      0x15
#define WM8991_GPIOCTRL_2                       0x16
#define WM8991_GPIO_POL                         0x17
#define WM8991_LEFT_LINE_INPUT_1_2_VOLUME       0x18
#define WM8991_LEFT_LINE_INPUT_3_4_VOLUME       0x19
#define WM8991_RIGHT_LINE_INPUT_1_2_VOLUME      0x1A
#define WM8991_RIGHT_LINE_INPUT_3_4_VOLUME      0x1B
#define WM8991_LEFT_OUTPUT_VOLUME               0x1C
#define WM8991_RIGHT_OUTPUT_VOLUME              0x1D
#define WM8991_LINE_OUTPUTS_VOLUME              0x1E
#define WM8991_OUT3_4_VOLUME                    0x1F
#define WM8991_LEFT_OPGA_VOLUME                 0x20
#define WM8991_RIGHT_OPGA_VOLUME                0x21
#define WM8991_SPEAKER_VOLUME                   0x22
#define WM8991_CLASSD1                          0x23
#define WM8991_CLASSD3                          0x25
#define WM8991_INPUT_MIXER1                     0x27
#define WM8991_INPUT_MIXER2                     0x28
#define WM8991_INPUT_MIXER3                     0x29
#define WM8991_INPUT_MIXER4                     0x2A
#define WM8991_INPUT_MIXER5                     0x2B
#define WM8991_INPUT_MIXER6                     0x2C
#define WM8991_OUTPUT_MIXER1                    0x2D
#define WM8991_OUTPUT_MIXER2                    0x2E
#define WM8991_OUTPUT_MIXER3                    0x2F
#define WM8991_OUTPUT_MIXER4                    0x30
#define WM8991_OUTPUT_MIXER5                    0x31
#define WM8991_OUTPUT_MIXER6                    0x32
#define WM8991_OUT3_4_MIXER                     0x33
#define WM8991_LINE_MIXER1                      0x34
#define WM8991_LINE_MIXER2                      0x35
#define WM8991_SPEAKER_MIXER                    0x36
#define WM8991_ADDITIONAL_CONTROL               0x37
#define WM8991_ANTIPOP1                         0x38
#define WM8991_ANTIPOP2                         0x39
#define WM8991_MICBIAS                          0x3A
#define WM8991_PLL1                             0x3C
#define WM8991_PLL2                             0x3D
#define WM8991_PLL3                             0x3E

#define WM8991_REGISTER_COUNT                   60
#define WM8991_MAX_REGISTER                     0x3F

/*
 * Field Definitions.
 */

/*
 * R0 (0x00) - Reset
 */
#define WM8991_SW_RESET_CHIP_ID_MASK            0xFFFF  /* SW_RESET_CHIP_ID - [15:0] */

/*
 * R1 (0x01) - Power Management (1)
 */
#define WM8991_SPK_ENA                          0x1000  /* SPK_ENA */
#define WM8991_SPK_ENA_BIT			12
#define WM8991_OUT3_ENA                         0x0800  /* OUT3_ENA */
#define WM8991_OUT3_ENA_BIT			11
#define WM8991_OUT4_ENA                         0x0400  /* OUT4_ENA */
#define WM8991_OUT4_ENA_BIT			10
#define WM8991_LOUT_ENA                         0x0200  /* LOUT_ENA */
#define WM8991_LOUT_ENA_BIT			9
#define WM8991_ROUT_ENA                         0x0100  /* ROUT_ENA */

Annotation

Implementation Notes