Hans-Christian Egtvedt | 4ede028 | 2009-02-05 13:11:00 +0100 | [diff] [blame] | 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 */ |