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 */
41