RT-AC56 3.0.0.4.374.37 core
[tomato.git] / release / src-rt-6.x.4708 / linux / linux-2.6.36 / include / sound / atmel-ac97c.h
blobe6aabdb458653ff2b817c7a5b1e87c15048085a4
1 /*
2 * Driver for the Atmel AC97C controller
4 * Copyright (C) 2005-2009 Atmel Corporation
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
13 #include <linux/dw_dmac.h>
15 #define AC97C_CAPTURE 0x01
16 #define AC97C_PLAYBACK 0x02
17 #define AC97C_BOTH (AC97C_CAPTURE | AC97C_PLAYBACK)
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.
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.
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;
40 #endif /* __INCLUDE_SOUND_ATMEL_AC97C_H */