Greg Kroah-Hartman | b244131 | 2017-11-01 15:07:57 +0100 | [diff] [blame] | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 2 | #ifndef __ASM_ARCH_AUDIO_H__ |
| 3 | #define __ASM_ARCH_AUDIO_H__ |
| 4 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 5 | #include <sound/core.h> |
| 6 | #include <sound/pcm.h> |
Marek Vasut | 4ac0478 | 2009-07-30 02:55:01 +0200 | [diff] [blame] | 7 | #include <sound/ac97_codec.h> |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 8 | |
Mark Brown | eae1775 | 2009-04-13 11:48:03 +0100 | [diff] [blame] | 9 | /* |
| 10 | * @reset_gpio: AC97 reset gpio (normally gpio113 or gpio95) |
| 11 | * a -1 value means no gpio will be used for reset |
Marek Vasut | 4ac0478 | 2009-07-30 02:55:01 +0200 | [diff] [blame] | 12 | * @codec_pdata: AC97 codec platform_data |
Mark Brown | eae1775 | 2009-04-13 11:48:03 +0100 | [diff] [blame] | 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 | */ |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 19 | typedef struct { |
Takashi Iwai | f7cbb7f | 2006-01-13 18:48:06 +0100 | [diff] [blame] | 20 | int (*startup)(struct snd_pcm_substream *, void *); |
| 21 | void (*shutdown)(struct snd_pcm_substream *, void *); |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 22 | void (*suspend)(void *); |
| 23 | void (*resume)(void *); |
| 24 | void *priv; |
Mark Brown | eae1775 | 2009-04-13 11:48:03 +0100 | [diff] [blame] | 25 | int reset_gpio; |
Marek Vasut | 4ac0478 | 2009-07-30 02:55:01 +0200 | [diff] [blame] | 26 | void *codec_pdata[AC97_BUS_MAX_DEVICES]; |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 27 | } pxa2xx_audio_ops_t; |
| 28 | |
Mark Brown | 9f19d63 | 2008-06-10 12:30:05 +0100 | [diff] [blame] | 29 | extern void pxa_set_ac97_info(pxa2xx_audio_ops_t *ops); |
| 30 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 31 | #endif |