xref: /openbmc/linux/sound/soc/codecs/hdac_hda.h (revision 37882100)
16bae5ea9SRakesh Ughreja /* SPDX-License-Identifier: GPL-2.0 */
26bae5ea9SRakesh Ughreja /*
36bae5ea9SRakesh Ughreja  * Copyright(c) 2015-18 Intel Corporation.
46bae5ea9SRakesh Ughreja  */
56bae5ea9SRakesh Ughreja 
66bae5ea9SRakesh Ughreja #ifndef __HDAC_HDA_H__
76bae5ea9SRakesh Ughreja #define __HDAC_HDA_H__
86bae5ea9SRakesh Ughreja 
9608b8c36SKai Vehmanen enum {
10608b8c36SKai Vehmanen 	HDAC_ANALOG_DAI_ID = 0,
11608b8c36SKai Vehmanen 	HDAC_DIGITAL_DAI_ID,
12608b8c36SKai Vehmanen 	HDAC_ALT_ANALOG_DAI_ID,
13608b8c36SKai Vehmanen 	HDAC_HDMI_0_DAI_ID,
14608b8c36SKai Vehmanen 	HDAC_HDMI_1_DAI_ID,
15608b8c36SKai Vehmanen 	HDAC_HDMI_2_DAI_ID,
164bb16cd8SSathyanarayana Nujella 	HDAC_HDMI_3_DAI_ID,
17*37882100SJunxiao Chang 	HDAC_DAI_ID_NUM
18608b8c36SKai Vehmanen };
19608b8c36SKai Vehmanen 
206bae5ea9SRakesh Ughreja struct hdac_hda_pcm {
216bae5ea9SRakesh Ughreja 	int stream_tag[2];
2203d0aa4dSRander Wang 	unsigned int format_val[2];
236bae5ea9SRakesh Ughreja };
246bae5ea9SRakesh Ughreja 
256bae5ea9SRakesh Ughreja struct hdac_hda_priv {
263fd63658SCezary Rojewski 	struct hda_codec *codec;
27*37882100SJunxiao Chang 	struct hdac_hda_pcm pcm[HDAC_DAI_ID_NUM];
28608b8c36SKai Vehmanen 	bool need_display_power;
296bae5ea9SRakesh Ughreja };
306bae5ea9SRakesh Ughreja 
316bae5ea9SRakesh Ughreja struct hdac_ext_bus_ops *snd_soc_hdac_hda_get_ops(void);
326bae5ea9SRakesh Ughreja 
336bae5ea9SRakesh Ughreja #endif /* __HDAC_HDA_H__ */
34