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