psc.h 1014 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. /* SPDX-License-Identifier: GPL-2.0-only */
  2. /*
  3. * Alchemy ALSA ASoC audio support.
  4. *
  5. * (c) 2007-2011 MSC Vertriebsges.m.b.H.,
  6. * Manuel Lauss <[email protected]>
  7. */
  8. #ifndef _AU1X_PCM_H
  9. #define _AU1X_PCM_H
  10. struct au1xpsc_audio_data {
  11. void __iomem *mmio;
  12. unsigned long cfg;
  13. unsigned long rate;
  14. struct snd_soc_dai_driver dai_drv;
  15. unsigned long pm[2];
  16. struct mutex lock;
  17. int dmaids[2];
  18. };
  19. /* easy access macros */
  20. #define PSC_CTRL(x) ((x)->mmio + PSC_CTRL_OFFSET)
  21. #define PSC_SEL(x) ((x)->mmio + PSC_SEL_OFFSET)
  22. #define I2S_STAT(x) ((x)->mmio + PSC_I2SSTAT_OFFSET)
  23. #define I2S_CFG(x) ((x)->mmio + PSC_I2SCFG_OFFSET)
  24. #define I2S_PCR(x) ((x)->mmio + PSC_I2SPCR_OFFSET)
  25. #define AC97_CFG(x) ((x)->mmio + PSC_AC97CFG_OFFSET)
  26. #define AC97_CDC(x) ((x)->mmio + PSC_AC97CDC_OFFSET)
  27. #define AC97_EVNT(x) ((x)->mmio + PSC_AC97EVNT_OFFSET)
  28. #define AC97_PCR(x) ((x)->mmio + PSC_AC97PCR_OFFSET)
  29. #define AC97_RST(x) ((x)->mmio + PSC_AC97RST_OFFSET)
  30. #define AC97_STAT(x) ((x)->mmio + PSC_AC97STAT_OFFSET)
  31. #endif