Path: blob/master/sound/soc/mediatek/common/mtk-soundcard-driver.h
26450 views
/* SPDX-License-Identifier: GPL-2.0 */1/*2* mtk-soundcard-driver.h -- MediaTek soundcard driver common definition3*4* Copyright (c) 2022 MediaTek Inc.5* Author: Trevor Wu <[email protected]>6*/78#ifndef _MTK_SOUNDCARD_DRIVER_H_9#define _MTK_SOUNDCARD_DRIVER_H_1011struct mtk_sof_priv;12struct mtk_soc_card_data;13struct snd_pcm_hw_constraint_list;1415enum mtk_pcm_constraint_type {16MTK_CONSTRAINT_PLAYBACK,17MTK_CONSTRAINT_CAPTURE,18MTK_CONSTRAINT_HDMIDP,19MTK_CONSTRAINT_MAX20};2122struct mtk_pcm_constraints_data {23const struct snd_pcm_hw_constraint_list *channels;24const struct snd_pcm_hw_constraint_list *rates;25};2627struct mtk_platform_card_data {28struct snd_soc_card *card;29struct snd_soc_jack *jacks;30const struct mtk_pcm_constraints_data *pcm_constraints;31u8 num_jacks;32u8 num_pcm_constraints;33u8 flags;34};3536struct mtk_soundcard_pdata {37const char *card_name;38struct mtk_platform_card_data *card_data;39const struct mtk_sof_priv *sof_priv;4041int (*soc_probe)(struct mtk_soc_card_data *card_data, bool legacy);42};4344/* Common playback/capture card startup ops */45extern const struct snd_soc_ops mtk_soundcard_common_playback_ops;46extern const struct snd_soc_ops mtk_soundcard_common_capture_ops;4748/* Exported for custom/extended soundcard startup ops */49int mtk_soundcard_startup(struct snd_pcm_substream *substream,50enum mtk_pcm_constraint_type ctype);5152int parse_dai_link_info(struct snd_soc_card *card);53void clean_card_reference(struct snd_soc_card *card);54int mtk_soundcard_common_probe(struct platform_device *pdev);55#endif565758