/* * Driver for the Atmel AC97C controller * * Copyright (C) 2005-2009 Atmel Corporation * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 as published * by the Free Software Foundation. */ #ifndef __INCLUDE_SOUND_ATMEL_AC97C_H #define __INCLUDE_SOUND_ATMEL_AC97C_H #include <linux/dw_dmac.h> #define AC97C_CAPTURE 0x01 #define AC97C_PLAYBACK 0x02 #define AC97C_BOTH (AC97C_CAPTURE | AC97C_PLAYBACK) /** * struct atmel_ac97c_pdata - board specific AC97C configuration * @rx_dws: DMA slave interface to use for sound capture. * @tx_dws: DMA slave interface to use for sound playback. * @reset_pin: GPIO pin wired to the reset input on the external AC97 codec, * optional to use, set to -ENODEV if not in use. AC97 layer will * try to do a software reset of the external codec anyway. * @flags: Flags for which directions should be enabled. * * If the user do not want to use a DMA channel for playback or capture, i.e. * only one feature is required on the board. The slave for playback or capture * can be set to NULL. The AC97C driver will take use of this when setting up * the sound streams. */ struct ac97c_platform_data { struct dw_dma_slave rx_dws; struct dw_dma_slave tx_dws; unsigned int flags; int reset_pin; }; #endif /* __INCLUDE_SOUND_ATMEL_AC97C_H */