sound/soc/codecs/max9860.h

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

File Facts

System
Linux kernel
Corpus path
sound/soc/codecs/max9860.h
Extension
.h
Size
4102 bytes
Lines
155
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 _SND_SOC_MAX9860
#define _SND_SOC_MAX9860

#define MAX9860_INTRSTATUS   0x00
#define MAX9860_MICREADBACK  0x01
#define MAX9860_INTEN        0x02
#define MAX9860_SYSCLK       0x03
#define MAX9860_AUDIOCLKHIGH 0x04
#define MAX9860_AUDIOCLKLOW  0x05
#define MAX9860_IFC1A        0x06
#define MAX9860_IFC1B        0x07
#define MAX9860_VOICEFLTR    0x08
#define MAX9860_DACATTN      0x09
#define MAX9860_ADCLEVEL     0x0a
#define MAX9860_DACGAIN      0x0b
#define MAX9860_MICGAIN      0x0c
#define MAX9860_RESERVED     0x0d
#define MAX9860_MICADC       0x0e
#define MAX9860_NOISEGATE    0x0f
#define MAX9860_PWRMAN       0x10
#define MAX9860_REVISION     0xff

#define MAX9860_MAX_REGISTER 0xff

/* INTRSTATUS */
#define MAX9860_CLD          0x80
#define MAX9860_SLD          0x40
#define MAX9860_ULK          0x20

/* MICREADBACK */
#define MAX9860_NG           0xe0
#define MAX9860_AGC          0x1f

/* INTEN */
#define MAX9860_ICLD         0x80
#define MAX9860_ISLD         0x40
#define MAX9860_IULK         0x20

/* SYSCLK */
#define MAX9860_PSCLK        0x30
#define MAX9860_PSCLK_OFF    0x00
#define MAX9860_PSCLK_SHIFT  4
#define MAX9860_FREQ         0x06
#define MAX9860_FREQ_NORMAL  0x00
#define MAX9860_FREQ_12MHZ   0x02
#define MAX9860_FREQ_13MHZ   0x04
#define MAX9860_FREQ_19_2MHZ 0x06
#define MAX9860_16KHZ        0x01

/* AUDIOCLKHIGH */
#define MAX9860_PLL          0x80
#define MAX9860_NHI          0x7f

/* AUDIOCLKLOW */
#define MAX9860_NLO          0xff

/* IFC1A */
#define MAX9860_MASTER       0x80
#define MAX9860_WCI          0x40
#define MAX9860_DBCI         0x20
#define MAX9860_DDLY         0x10
#define MAX9860_HIZ          0x08
#define MAX9860_TDM          0x04

/* IFC1B */
#define MAX9860_ABCI         0x20
#define MAX9860_ADLY         0x10
#define MAX9860_ST           0x08
#define MAX9860_BSEL         0x07
#define MAX9860_BSEL_OFF     0x00
#define MAX9860_BSEL_64X     0x01
#define MAX9860_BSEL_48X     0x02
#define MAX9860_BSEL_PCLK_2  0x04
#define MAX9860_BSEL_PCLK_4  0x05
#define MAX9860_BSEL_PCLK_8  0x06
#define MAX9860_BSEL_PCLK_16 0x07

/* VOICEFLTR */
#define MAX9860_AVFLT        0xf0
#define MAX9860_AVFLT_SHIFT  4
#define MAX9860_AVFLT_COUNT  6
#define MAX9860_DVFLT        0x0f
#define MAX9860_DVFLT_SHIFT  0
#define MAX9860_DVFLT_COUNT  6

/* DACATTN */
#define MAX9860_DVA          0xfe
#define MAX9860_DVA_SHIFT    1
#define MAX9860_DVA_MUTE     0x5e

Annotation

Implementation Notes