2008-07-09 18:27:56 +04:00
/*
2011-07-25 15:44:45 +04:00
* Alchemy ALSA ASoC audio support .
2008-07-09 18:27:56 +04:00
*
2011-07-25 15:44:45 +04:00
* ( c ) 2007 - 2011 MSC Vertriebsges . m . b . H . ,
2009-10-31 22:15:08 +03:00
* Manuel Lauss < manuel . lauss @ gmail . com >
2008-07-09 18:27:56 +04:00
*
* 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 _AU1X_PCM_H
# define _AU1X_PCM_H
struct au1xpsc_audio_data {
void __iomem * mmio ;
unsigned long cfg ;
unsigned long rate ;
2010-08-26 16:53:51 +04:00
struct snd_soc_dai_driver dai_drv ;
2008-07-09 18:27:56 +04:00
unsigned long pm [ 2 ] ;
2009-09-08 21:45:17 +04:00
struct mutex lock ;
2011-07-25 15:44:45 +04:00
int dmaids [ 2 ] ;
2008-07-09 18:27:56 +04:00
} ;
/* easy access macros */
# define PSC_CTRL(x) ((unsigned long)((x)->mmio) + PSC_CTRL_OFFSET)
# define PSC_SEL(x) ((unsigned long)((x)->mmio) + PSC_SEL_OFFSET)
# define I2S_STAT(x) ((unsigned long)((x)->mmio) + PSC_I2SSTAT_OFFSET)
# define I2S_CFG(x) ((unsigned long)((x)->mmio) + PSC_I2SCFG_OFFSET)
# define I2S_PCR(x) ((unsigned long)((x)->mmio) + PSC_I2SPCR_OFFSET)
# define AC97_CFG(x) ((unsigned long)((x)->mmio) + PSC_AC97CFG_OFFSET)
# define AC97_CDC(x) ((unsigned long)((x)->mmio) + PSC_AC97CDC_OFFSET)
# define AC97_EVNT(x) ((unsigned long)((x)->mmio) + PSC_AC97EVNT_OFFSET)
# define AC97_PCR(x) ((unsigned long)((x)->mmio) + PSC_AC97PCR_OFFSET)
# define AC97_RST(x) ((unsigned long)((x)->mmio) + PSC_AC97RST_OFFSET)
# define AC97_STAT(x) ((unsigned long)((x)->mmio) + PSC_AC97STAT_OFFSET)
# endif