linux/sound/atmel/ac97c.h
<<
>>
Prefs
   1/*
   2 * Register definitions for Atmel AC97C
   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 __SOUND_ATMEL_AC97C_H
  11#define __SOUND_ATMEL_AC97C_H
  12
  13#define AC97C_MR                0x08
  14#define AC97C_ICA               0x10
  15#define AC97C_OCA               0x14
  16#define AC97C_CARHR             0x20
  17#define AC97C_CATHR             0x24
  18#define AC97C_CASR              0x28
  19#define AC97C_CAMR              0x2c
  20#define AC97C_CORHR             0x40
  21#define AC97C_COTHR             0x44
  22#define AC97C_COSR              0x48
  23#define AC97C_COMR              0x4c
  24#define AC97C_SR                0x50
  25#define AC97C_IER               0x54
  26#define AC97C_IDR               0x58
  27#define AC97C_IMR               0x5c
  28#define AC97C_VERSION           0xfc
  29
  30#define AC97C_CATPR             PDC_TPR
  31#define AC97C_CATCR             PDC_TCR
  32#define AC97C_CATNPR            PDC_TNPR
  33#define AC97C_CATNCR            PDC_TNCR
  34#define AC97C_CARPR             PDC_RPR
  35#define AC97C_CARCR             PDC_RCR
  36#define AC97C_CARNPR            PDC_RNPR
  37#define AC97C_CARNCR            PDC_RNCR
  38#define AC97C_PTCR              PDC_PTCR
  39
  40#define AC97C_MR_ENA            (1 << 0)
  41#define AC97C_MR_WRST           (1 << 1)
  42#define AC97C_MR_VRA            (1 << 2)
  43
  44#define AC97C_CSR_TXRDY         (1 << 0)
  45#define AC97C_CSR_TXEMPTY       (1 << 1)
  46#define AC97C_CSR_UNRUN         (1 << 2)
  47#define AC97C_CSR_RXRDY         (1 << 4)
  48#define AC97C_CSR_OVRUN         (1 << 5)
  49#define AC97C_CSR_ENDTX         (1 << 10)
  50#define AC97C_CSR_ENDRX         (1 << 14)
  51
  52#define AC97C_CMR_SIZE_20       (0 << 16)
  53#define AC97C_CMR_SIZE_18       (1 << 16)
  54#define AC97C_CMR_SIZE_16       (2 << 16)
  55#define AC97C_CMR_SIZE_10       (3 << 16)
  56#define AC97C_CMR_CEM_LITTLE    (1 << 18)
  57#define AC97C_CMR_CEM_BIG       (0 << 18)
  58#define AC97C_CMR_CENA          (1 << 21)
  59#define AC97C_CMR_DMAEN         (1 << 22)
  60
  61#define AC97C_SR_CAEVT          (1 << 3)
  62#define AC97C_SR_COEVT          (1 << 2)
  63#define AC97C_SR_WKUP           (1 << 1)
  64#define AC97C_SR_SOF            (1 << 0)
  65
  66#define AC97C_CH_MASK(slot)                                             \
  67        (0x7 << (3 * (AC97_SLOT_##slot - 3)))
  68#define AC97C_CH_ASSIGN(slot, channel)                                  \
  69        (AC97C_CHANNEL_##channel << (3 * (AC97_SLOT_##slot - 3)))
  70#define AC97C_CHANNEL_NONE      0x0
  71#define AC97C_CHANNEL_A         0x1
  72
  73#endif /* __SOUND_ATMEL_AC97C_H */
  74