Merge branch 'fixes-for-linus' of git://git.monstr.eu/linux-2.6-microblaze
[linux-2.6] / include / sound / atmel-ac97c.h
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 */