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