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