sound/soc/codecs/sma1303.h

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

File Facts

System
Linux kernel
Corpus path
sound/soc/codecs/sma1303.h
Extension
.h
Size
18483 bytes
Lines
610
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 _SMA1303_H
#define _SMA1303_H

#define  SMA1303_I2C_ADDR_00		0x1e
#define  SMA1303_I2C_ADDR_01		0x3e
#define  SMA1303_I2C_ADDR_10		0x5e
#define  SMA1303_I2C_ADDR_11		0x7e

#define  SMA1303_EXTERNAL_CLOCK_19_2	0x00
#define  SMA1303_EXTERNAL_CLOCK_24_576	0x01
#define  SMA1303_PLL_CLKIN_MCLK		0x02
#define  SMA1303_PLL_CLKIN_BCLK		0x03

#define  SMA1303_MONO			0x00
#define  SMA1303_STEREO			0x01

#define  SMA1303_I2C_RETRY_COUNT	3

/*
 * SMA1303 Register Definition
 */

/* SMA1303 Register Addresses */
#define  SMA1303_00_SYSTEM_CTRL		0x00
#define  SMA1303_01_INPUT1_CTRL1	0x01
#define  SMA1303_02_INPUT1_CTRL2	0x02
#define  SMA1303_03_INPUT1_CTRL3	0x03
#define  SMA1303_04_INPUT1_CTRL4	0x04
/* 0x05 ~ 0x08 : Reserved */
#define  SMA1303_09_OUTPUT_CTRL		0x09
#define  SMA1303_0A_SPK_VOL		0x0a
#define  SMA1303_0B_BST_TEST		0x0b
#define  SMA1303_0C_BST_TEST1		0x0c
#define  SMA1303_0D_SPK_TEST		0x0d
#define  SMA1303_0E_MUTE_VOL_CTRL	0x0e
/* 0x0F : Reserved */
#define  SMA1303_10_SYSTEM_CTRL1	0x10
#define  SMA1303_11_SYSTEM_CTRL2	0x11
#define  SMA1303_12_SYSTEM_CTRL3	0x12
/* 0x13 : Reserved */
#define  SMA1303_14_MODULATOR		0x14
#define  SMA1303_15_BASS_SPK1		0x15
#define  SMA1303_16_BASS_SPK2		0x16
#define  SMA1303_17_BASS_SPK3		0x17
#define  SMA1303_18_BASS_SPK4		0x18
#define  SMA1303_19_BASS_SPK5		0x19
#define  SMA1303_1A_BASS_SPK6		0x1a
#define  SMA1303_1B_BASS_SPK7		0x1b
/* 0x1C ~ 0x22 : Reserved */
#define  SMA1303_23_COMP_LIM1		0x23
#define  SMA1303_24_COMP_LIM2		0x24
#define  SMA1303_25_COMP_LIM3		0x25
#define  SMA1303_26_COMP_LIM4		0x26
/* 0x27 ~ 0x32 : Reserved */
#define  SMA1303_33_SDM_CTRL		0x33
#define  SMA1303_34_OTP_DATA1		0x34
/* 0x35 : Reserved */
#define  SMA1303_36_PROTECTION		0x36
#define  SMA1303_37_SLOPE_CTRL		0x37
#define  SMA1303_38_OTP_TRM0		0x38
/* 0x39 ~ 0x3A : Reserved */
#define  SMA1303_3B_TEST1		0x3b
#define  SMA1303_3C_TEST2		0x3c
#define  SMA1303_3D_TEST3		0x3d
#define  SMA1303_3E_ATEST1		0x3e
#define  SMA1303_3F_ATEST2		0x3f
/* 0x40 ~ 0x8A : Reserved */
#define	 SMA1303_8B_PLL_POST_N		0x8b
#define	 SMA1303_8C_PLL_N		0x8c
#define	 SMA1303_8D_PLL_A_SETTING	0x8d
#define	 SMA1303_8E_PLL_CTRL		0x8e
#define	 SMA1303_8F_PLL_P_CP		0x8f
#define  SMA1303_90_POSTSCALER		0x90
#define  SMA1303_91_CLASS_G_CTRL	0x91
#define  SMA1303_92_FDPEC_CTRL		0x92
/* 0x93 : Reserved */
#define  SMA1303_94_BOOST_CTRL1		0x94
#define  SMA1303_95_BOOST_CTRL2		0x95
#define  SMA1303_96_BOOST_CTRL3		0x96
#define  SMA1303_97_BOOST_CTRL4		0x97
/* 0x98 ~ 0x9F : Reserved */
#define  SMA1303_A0_PAD_CTRL0		0xa0
#define  SMA1303_A1_PAD_CTRL1		0xa1
#define	 SMA1303_A2_TOP_MAN1		0xa2
#define	 SMA1303_A3_TOP_MAN2		0xa3
#define	 SMA1303_A4_TOP_MAN3		0xa4
#define  SMA1303_A5_TDM1		0xa5
#define  SMA1303_A6_TDM2		0xa6
#define  SMA1303_A7_CLK_MON		0xa7
/* 0xA8 ~ 0xF9 : Reserved */

Annotation

Implementation Notes