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