sound/soc/mediatek/mt8189/mt8189-afe-common.h

Source file repositories/reference/linux-study-clean/sound/soc/mediatek/mt8189/mt8189-afe-common.h

File Facts

System
Linux kernel
Corpus path
sound/soc/mediatek/mt8189/mt8189-afe-common.h
Extension
.h
Size
4608 bytes
Lines
241
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 mt8189_afe_private {
	struct clk **clk;
	struct regmap *pmic_regmap;

	/* dai */
	void *dai_priv[MT8189_DAI_NUM];

	/* adda */
	int mtkaif_protocol;
	int mtkaif_chosen_phase[4];
	int mtkaif_phase_cycle[4];
	int mtkaif_calibration_num_phase;
	int mtkaif_dmic;
	int mtkaif_dmic_ch34;

	/* add for vs1 voter */
	bool is_adda_dl_on;
	bool is_adda_ul_on;
	/* adda dl vol idx is at maximum */
	bool is_adda_dl_max_vol;
	/* current vote status of vs1 */
	bool is_mt6363_vote;

	/* mck */
	int mck_rate[MT8189_MCK_NUM];

	/* channel merge */
	unsigned int cm_rate[CM_NUM];
	unsigned int cm_channels;
};

int mt8189_dai_adda_register(struct mtk_base_afe *afe);
int mt8189_dai_i2s_register(struct mtk_base_afe *afe);
int mt8189_dai_pcm_register(struct mtk_base_afe *afe);
int mt8189_dai_tdm_register(struct mtk_base_afe *afe);

#endif

Annotation

Implementation Notes