Linux 4.1.18
[linux/fpc-iii.git] / include / sound / atmel-ac97c.h
blobf2a1cdc3766116d9f8ac4899e3b42c1392983e30
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/platform_data/dma-dw.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.
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.
32 struct ac97c_platform_data {
33 struct dw_dma_slave rx_dws;
34 struct dw_dma_slave tx_dws;
35 int reset_pin;
38 #endif /* __INCLUDE_SOUND_ATMEL_AC97C_H */