linux/sound/pci/aw2/saa7146.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0-only */
   2/*****************************************************************************
   3 *
   4 * Copyright (C) 2008 Cedric Bregardis <cedric.bregardis@free.fr> and
   5 * Jean-Christian Hassler <jhassler@free.fr>
   6 *
   7 * This file is part of the Audiowerk2 ALSA driver
   8 *
   9 *****************************************************************************/
  10
  11/* SAA7146 registers */
  12#define PCI_BT_A        0x4C
  13#define IICTFR          0x8C
  14#define IICSTA          0x90
  15#define BaseA1_in       0x94
  16#define ProtA1_in       0x98
  17#define PageA1_in       0x9C
  18#define BaseA1_out      0xA0
  19#define ProtA1_out      0xA4
  20#define PageA1_out      0xA8
  21#define BaseA2_in       0xAC
  22#define ProtA2_in       0xB0
  23#define PageA2_in       0xB4
  24#define BaseA2_out      0xB8
  25#define ProtA2_out      0xBC
  26#define PageA2_out      0xC0
  27#define IER             0xDC
  28#define GPIO_CTRL       0xE0
  29#define ACON1           0xF4
  30#define ACON2           0xF8
  31#define MC1             0xFC
  32#define MC2             0x100
  33#define ISR             0x10C
  34#define PSR             0x110
  35#define SSR             0x114
  36#define PCI_ADP1        0x12C
  37#define PCI_ADP2        0x130
  38#define PCI_ADP3        0x134
  39#define PCI_ADP4        0x138
  40#define LEVEL_REP       0x140
  41#define FB_BUFFER1      0x144
  42#define FB_BUFFER2      0x148
  43#define TSL1            0x180
  44#define TSL2            0x1C0
  45
  46#define ME      (1UL << 11)
  47#define LIMIT   (1UL << 4)
  48#define PV      (1UL << 3)
  49
  50/* PSR/ISR/IER */
  51#define PPEF            (1UL << 31)
  52#define PABO            (1UL << 30)
  53#define IIC_S           (1UL << 17)
  54#define IIC_E           (1UL << 16)
  55#define A2_in           (1UL << 15)
  56#define A2_out          (1UL << 14)
  57#define A1_in           (1UL << 13)
  58#define A1_out          (1UL << 12)
  59#define AFOU            (1UL << 11)
  60#define PIN3            (1UL << 6)
  61#define PIN2            (1UL << 5)
  62#define PIN1            (1UL << 4)
  63#define PIN0            (1UL << 3)
  64#define ECS             (1UL << 2)
  65#define EC3S            (1UL << 1)
  66#define EC0S            (1UL << 0)
  67
  68/* SSR */
  69#define PRQ             (1UL << 31)
  70#define PMA             (1UL << 30)
  71#define IIC_EA          (1UL << 21)
  72#define IIC_EW          (1UL << 20)
  73#define IIC_ER          (1UL << 19)
  74#define IIC_EL          (1UL << 18)
  75#define IIC_EF          (1UL << 17)
  76#define AF2_in          (1UL << 10)
  77#define AF2_out         (1UL << 9)
  78#define AF1_in          (1UL << 8)
  79#define AF1_out         (1UL << 7)
  80#define EC5S            (1UL << 3)
  81#define EC4S            (1UL << 2)
  82#define EC2S            (1UL << 1)
  83#define EC1S            (1UL << 0)
  84
  85/* PCI_BT_A */
  86#define BurstA1_in      (1UL << 26)
  87#define ThreshA1_in     (1UL << 24)
  88#define BurstA1_out     (1UL << 18)
  89#define ThreshA1_out    (1UL << 16)
  90#define BurstA2_in      (1UL << 10)
  91#define ThreshA2_in     (1UL << 8)
  92#define BurstA2_out     (1UL << 2)
  93#define ThreshA2_out    (1UL << 0)
  94
  95/* MC1 */
  96#define MRST_N          (1UL << 15)
  97#define EAP             (1UL << 9)
  98#define EI2C            (1UL << 8)
  99#define TR_E_A2_OUT     (1UL << 3)
 100#define TR_E_A2_IN      (1UL << 2)
 101#define TR_E_A1_OUT     (1UL << 1)
 102#define TR_E_A1_IN      (1UL << 0)
 103
 104/* MC2 */
 105#define UPLD_IIC        (1UL << 0)
 106
 107/* ACON1 */
 108#define AUDIO_MODE      (1UL << 29)
 109#define MAXLEVEL        (1UL << 22)
 110#define A1_SWAP         (1UL << 21)
 111#define A2_SWAP         (1UL << 20)
 112#define WS0_CTRL        (1UL << 18)
 113#define WS0_SYNC        (1UL << 16)
 114#define WS1_CTRL        (1UL << 14)
 115#define WS1_SYNC        (1UL << 12)
 116#define WS2_CTRL        (1UL << 10)
 117#define WS2_SYNC        (1UL << 8)
 118#define WS3_CTRL        (1UL << 6)
 119#define WS3_SYNC        (1UL << 4)
 120#define WS4_CTRL        (1UL << 2)
 121#define WS4_SYNC        (1UL << 0)
 122
 123/* ACON2 */
 124#define A1_CLKSRC       (1UL << 27)
 125#define A2_CLKSRC       (1UL << 22)
 126#define INVERT_BCLK1    (1UL << 21)
 127#define INVERT_BCLK2    (1UL << 20)
 128#define BCLK1_OEN       (1UL << 19)
 129#define BCLK2_OEN       (1UL << 18)
 130
 131/* IICSTA */
 132#define IICCC           (1UL << 8)
 133#define ABORT           (1UL << 7)
 134#define SPERR           (1UL << 6)
 135#define APERR           (1UL << 5)
 136#define DTERR           (1UL << 4)
 137#define DRERR           (1UL << 3)
 138#define AL              (1UL << 2)
 139#define ERR             (1UL << 1)
 140#define BUSY            (1UL << 0)
 141
 142/* IICTFR */
 143#define BYTE2           (1UL << 24)
 144#define BYTE1           (1UL << 16)
 145#define BYTE0           (1UL << 8)
 146#define ATRR2           (1UL << 6)
 147#define ATRR1           (1UL << 4)
 148#define ATRR0           (1UL << 2)
 149#define ERR             (1UL << 1)
 150#define BUSY            (1UL << 0)
 151
 152#define START   3
 153#define CONT    2
 154#define STOP    1
 155#define NOP     0
 156