1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef __SOC_PXA_AUDIO_H__
3 #define __SOC_PXA_AUDIO_H__
4 
5 #include <sound/core.h>
6 #include <sound/pcm.h>
7 #include <sound/ac97_codec.h>
8 
9 /*
10  * @reset_gpio: AC97 reset gpio (normally gpio113 or gpio95)
11  *              a -1 value means no gpio will be used for reset
12  * @codec_pdata: AC97 codec platform_data
13 
14  * reset_gpio should only be specified for pxa27x CPUs where a silicon
15  * bug prevents correct operation of the reset line. If not specified,
16  * the default behaviour on these CPUs is to consider gpio 113 as the
17  * AC97 reset line, which is the default on most boards.
18  */
19 typedef struct {
20 	int (*startup)(struct snd_pcm_substream *, void *);
21 	void (*shutdown)(struct snd_pcm_substream *, void *);
22 	void (*suspend)(void *);
23 	void (*resume)(void *);
24 	void *priv;
25 	int reset_gpio;
26 	void *codec_pdata[AC97_BUS_MAX_DEVICES];
27 } pxa2xx_audio_ops_t;
28 
29 extern void pxa_set_ac97_info(pxa2xx_audio_ops_t *ops);
30 extern void pxa27x_configure_ac97reset(int reset_gpio, bool to_gpio);
31 
32 #endif
33