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 | |