diff options
author | Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com> | 2009-02-05 07:11:00 -0500 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2009-02-05 09:08:51 -0500 |
commit | 4ede028f8716523fc31e0d3d01b81405613dfb8f (patch) | |
tree | bd8e9ebd0396e1e687f8bd5bd8b2b53f89a53ea1 /include/sound | |
parent | e4967d6016b7785edafdb871e6d3e4426cb4bd1f (diff) |
ALSA: Add ALSA driver for Atmel AC97 controller
This patch adds ALSA support for the AC97 controller found on Atmel
AVR32 devices.
Tested on ATSTK1006 + ATSTK1000 with a development board with a AC97
codec.
Signed-off-by: Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'include/sound')
-rw-r--r-- | include/sound/atmel-ac97c.h | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/include/sound/atmel-ac97c.h b/include/sound/atmel-ac97c.h new file mode 100644 index 000000000000..e6aabdb45865 --- /dev/null +++ b/include/sound/atmel-ac97c.h | |||
@@ -0,0 +1,40 @@ | |||
1 | /* | ||
2 | * Driver for the Atmel AC97C controller | ||
3 | * | ||
4 | * Copyright (C) 2005-2009 Atmel Corporation | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify it | ||
7 | * under the terms of the GNU General Public License version 2 as published | ||
8 | * by the Free Software Foundation. | ||
9 | */ | ||
10 | #ifndef __INCLUDE_SOUND_ATMEL_AC97C_H | ||
11 | #define __INCLUDE_SOUND_ATMEL_AC97C_H | ||
12 | |||
13 | #include <linux/dw_dmac.h> | ||
14 | |||
15 | #define AC97C_CAPTURE 0x01 | ||
16 | #define AC97C_PLAYBACK 0x02 | ||
17 | #define AC97C_BOTH (AC97C_CAPTURE | AC97C_PLAYBACK) | ||
18 | |||
19 | /** | ||
20 | * struct atmel_ac97c_pdata - board specific AC97C configuration | ||
21 | * @rx_dws: DMA slave interface to use for sound capture. | ||
22 | * @tx_dws: DMA slave interface to use for sound playback. | ||
23 | * @reset_pin: GPIO pin wired to the reset input on the external AC97 codec, | ||
24 | * optional to use, set to -ENODEV if not in use. AC97 layer will | ||
25 | * try to do a software reset of the external codec anyway. | ||
26 | * @flags: Flags for which directions should be enabled. | ||
27 | * | ||
28 | * If the user do not want to use a DMA channel for playback or capture, i.e. | ||
29 | * only one feature is required on the board. The slave for playback or capture | ||
30 | * can be set to NULL. The AC97C driver will take use of this when setting up | ||
31 | * the sound streams. | ||
32 | */ | ||
33 | struct ac97c_platform_data { | ||
34 | struct dw_dma_slave rx_dws; | ||
35 | struct dw_dma_slave tx_dws; | ||
36 | unsigned int flags; | ||
37 | int reset_pin; | ||
38 | }; | ||
39 | |||
40 | #endif /* __INCLUDE_SOUND_ATMEL_AC97C_H */ | ||