sound/soc/codecs/ak5558.h

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

File Facts

System
Linux kernel
Corpus path
sound/soc/codecs/ak5558.h
Extension
.h
Size
1601 bytes
Lines
53
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 _AK5558_H
#define _AK5558_H

#define AK5558_00_POWER_MANAGEMENT1    0x00
#define AK5558_01_POWER_MANAGEMENT2    0x01
#define AK5558_02_CONTROL1             0x02
#define AK5558_03_CONTROL2             0x03
#define AK5558_04_CONTROL3             0x04
#define AK5558_05_DSD                  0x05

/* AK5558_02_CONTROL1 fields */
#define AK5558_DIF			GENMASK(1, 1)
#define AK5558_DIF_MSB_MODE		(0 << 1)
#define AK5558_DIF_I2S_MODE		(1 << 1)

#define AK5558_BITS			GENMASK(2, 2)
#define AK5558_DIF_24BIT_MODE		(0 << 2)
#define AK5558_DIF_32BIT_MODE		(1 << 2)

#define AK5558_CKS			GENMASK(6, 3)
#define AK5558_CKS_128FS_192KHZ		(0 << 3)
#define AK5558_CKS_192FS_192KHZ		(1 << 3)
#define AK5558_CKS_256FS_48KHZ		(2 << 3)
#define AK5558_CKS_256FS_96KHZ		(3 << 3)
#define AK5558_CKS_384FS_96KHZ		(4 << 3)
#define AK5558_CKS_384FS_48KHZ		(5 << 3)
#define AK5558_CKS_512FS_48KHZ		(6 << 3)
#define AK5558_CKS_768FS_48KHZ		(7 << 3)
#define AK5558_CKS_64FS_384KHZ		(8 << 3)
#define AK5558_CKS_32FS_768KHZ		(9 << 3)
#define AK5558_CKS_96FS_384KHZ		(10 << 3)
#define AK5558_CKS_48FS_768KHZ		(11 << 3)
#define AK5558_CKS_64FS_768KHZ		(12 << 3)
#define AK5558_CKS_1024FS_16KHZ		(13 << 3)
#define AK5558_CKS_AUTO			(15 << 3)

/* AK5558_03_CONTROL2 fields */
#define AK5558_MODE_BITS	GENMASK(6, 5)
#define AK5558_MODE_NORMAL	(0 << 5)
#define AK5558_MODE_TDM128	(1 << 5)
#define AK5558_MODE_TDM256	(2 << 5)
#define AK5558_MODE_TDM512	(3 << 5)

#endif

Annotation

Implementation Notes