]> git.karo-electronics.de Git - karo-tx-linux.git/blob - include/sound/atmel-ac97c.h
Merge greybus driver tree into 4.8-rc6
[karo-tx-linux.git] / 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/platform_data/dma-dw.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  *
27  * If the user do not want to use a DMA channel for playback or capture, i.e.
28  * only one feature is required on the board. The slave for playback or capture
29  * can be set to NULL. The AC97C driver will take use of this when setting up
30  * the sound streams.
31  */
32 struct ac97c_platform_data {
33         struct dw_dma_slave     rx_dws;
34         struct dw_dma_slave     tx_dws;
35         int                     reset_pin;
36 };
37
38 #endif /* __INCLUDE_SOUND_ATMEL_AC97C_H */