2008-07-09 16:27:56 +02:00
/*
2011-07-25 13:44:45 +02:00
* Alchemy ALSA ASoC audio support .
2008-07-09 16:27:56 +02:00
*
2011-07-25 13:44:45 +02:00
* ( c ) 2007 - 2011 MSC Vertriebsges . m . b . H . ,
2009-10-31 20:15:08 +01:00
* Manuel Lauss < manuel . lauss @ gmail . com >
2008-07-09 16:27:56 +02: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 14:53:51 +02:00
struct snd_soc_dai_driver dai_drv ;
2008-07-09 16:27:56 +02:00
unsigned long pm [ 2 ] ;
2009-09-08 19:45:17 +02:00
struct mutex lock ;
2011-07-25 13:44:45 +02:00
int dmaids [ 2 ] ;
2008-07-09 16:27:56 +02: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