sound/soc/codecs/rt5670.h

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

File Facts

System
Linux kernel
Corpus path
sound/soc/codecs/rt5670.h
Extension
.h
Size
70316 bytes
Lines
2030
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

struct rt5670_priv {
	struct snd_soc_component *component;
	struct regmap *regmap;
	struct snd_soc_jack *jack;
	struct snd_soc_jack_gpio hp_gpio;

	int jd_mode;
	bool in2_diff;
	bool gpio1_is_irq;
	bool gpio1_is_ext_spk_en;

	bool dmic_en;
	unsigned int dmic1_data_pin;
	/* 0 = GPIO6; 1 = IN2P; 3 = GPIO7*/
	unsigned int dmic2_data_pin;
	/* 0 = GPIO8; 1 = IN3N; */
	unsigned int dmic3_data_pin;
	/* 0 = GPIO9; 1 = GPIO10; 2 = GPIO5*/

	int sysclk;
	int sysclk_src;
	int lrck[RT5670_AIFS];
	int bclk[RT5670_AIFS];
	int master[RT5670_AIFS];

	int pll_src;
	int pll_in;
	int pll_out;

	int dsp_sw; /* expected parameter setting */
	int dsp_rate;
	int jack_type;
	int jack_type_saved;

	bool dac1_mixl_dac1_switch;
	bool dac1_mixr_dac1_switch;
	bool dac1_playback_switch_l;
	bool dac1_playback_switch_r;
};

void rt5670_jack_suspend(struct snd_soc_component *component);
void rt5670_jack_resume(struct snd_soc_component *component);
int rt5670_set_jack_detect(struct snd_soc_component *component,
	struct snd_soc_jack *jack);
const char *rt5670_components(void);

#endif /* __RT5670_H__ */

Annotation

Implementation Notes