[funini.com] -> [kei@sodan] -> Kernel Reading

root/sound/pci/aw2/saa7146.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


/*****************************************************************************
 *
 * Copyright (C) 2008 Cedric Bregardis <cedric.bregardis@free.fr> and
 * Jean-Christian Hassler <jhassler@free.fr>
 *
 * This file is part of the Audiowerk2 ALSA driver
 *
 * The Audiowerk2 ALSA driver is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; version 2.
 *
 * The Audiowerk2 ALSA driver is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with the Audiowerk2 ALSA driver; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301,
 * USA.
 *
 *****************************************************************************/

/* SAA7146 registers */
#define PCI_BT_A        0x4C
#define IICTFR          0x8C
#define IICSTA          0x90
#define BaseA1_in       0x94
#define ProtA1_in       0x98
#define PageA1_in       0x9C
#define BaseA1_out      0xA0
#define ProtA1_out      0xA4
#define PageA1_out      0xA8
#define BaseA2_in       0xAC
#define ProtA2_in       0xB0
#define PageA2_in       0xB4
#define BaseA2_out      0xB8
#define ProtA2_out      0xBC
#define PageA2_out      0xC0
#define IER             0xDC
#define GPIO_CTRL       0xE0
#define ACON1           0xF4
#define ACON2           0xF8
#define MC1             0xFC
#define MC2             0x100
#define ISR             0x10C
#define PSR             0x110
#define SSR             0x114
#define PCI_ADP1        0x12C
#define PCI_ADP2        0x130
#define PCI_ADP3        0x134
#define PCI_ADP4        0x138
#define LEVEL_REP       0x140
#define FB_BUFFER1      0x144
#define FB_BUFFER2      0x148
#define TSL1            0x180
#define TSL2            0x1C0

#define ME      (1UL << 11)
#define LIMIT   (1UL << 4)
#define PV      (1UL << 3)

/* PSR/ISR/IER */
#define PPEF            (1UL << 31)
#define PABO            (1UL << 30)
#define IIC_S           (1UL << 17)
#define IIC_E           (1UL << 16)
#define A2_in           (1UL << 15)
#define A2_out          (1UL << 14)
#define A1_in           (1UL << 13)
#define A1_out          (1UL << 12)
#define AFOU            (1UL << 11)
#define PIN3            (1UL << 6)
#define PIN2            (1UL << 5)
#define PIN1            (1UL << 4)
#define PIN0            (1UL << 3)
#define ECS             (1UL << 2)
#define EC3S            (1UL << 1)
#define EC0S            (1UL << 0)

/* SSR */
#define PRQ             (1UL << 31)
#define PMA             (1UL << 30)
#define IIC_EA          (1UL << 21)
#define IIC_EW          (1UL << 20)
#define IIC_ER          (1UL << 19)
#define IIC_EL          (1UL << 18)
#define IIC_EF          (1UL << 17)
#define AF2_in          (1UL << 10)
#define AF2_out         (1UL << 9)
#define AF1_in          (1UL << 8)
#define AF1_out         (1UL << 7)
#define EC5S            (1UL << 3)
#define EC4S            (1UL << 2)
#define EC2S            (1UL << 1)
#define EC1S            (1UL << 0)

/* PCI_BT_A */
#define BurstA1_in      (1UL << 26)
#define ThreshA1_in     (1UL << 24)
#define BurstA1_out     (1UL << 18)
#define ThreshA1_out    (1UL << 16)
#define BurstA2_in      (1UL << 10)
#define ThreshA2_in     (1UL << 8)
#define BurstA2_out     (1UL << 2)
#define ThreshA2_out    (1UL << 0)

/* MC1 */
#define MRST_N          (1UL << 15)
#define EAP             (1UL << 9)
#define EI2C            (1UL << 8)
#define TR_E_A2_OUT     (1UL << 3)
#define TR_E_A2_IN      (1UL << 2)
#define TR_E_A1_OUT     (1UL << 1)
#define TR_E_A1_IN      (1UL << 0)

/* MC2 */
#define UPLD_IIC        (1UL << 0)

/* ACON1 */
#define AUDIO_MODE      (1UL << 29)
#define MAXLEVEL        (1UL << 22)
#define A1_SWAP         (1UL << 21)
#define A2_SWAP         (1UL << 20)
#define WS0_CTRL        (1UL << 18)
#define WS0_SYNC        (1UL << 16)
#define WS1_CTRL        (1UL << 14)
#define WS1_SYNC        (1UL << 12)
#define WS2_CTRL        (1UL << 10)
#define WS2_SYNC        (1UL << 8)
#define WS3_CTRL        (1UL << 6)
#define WS3_SYNC        (1UL << 4)
#define WS4_CTRL        (1UL << 2)
#define WS4_SYNC        (1UL << 0)

/* ACON2 */
#define A1_CLKSRC       (1UL << 27)
#define A2_CLKSRC       (1UL << 22)
#define INVERT_BCLK1    (1UL << 21)
#define INVERT_BCLK2    (1UL << 20)
#define BCLK1_OEN       (1UL << 19)
#define BCLK2_OEN       (1UL << 18)

/* IICSTA */
#define IICCC           (1UL << 8)
#define ABORT           (1UL << 7)
#define SPERR           (1UL << 6)
#define APERR           (1UL << 5)
#define DTERR           (1UL << 4)
#define DRERR           (1UL << 3)
#define AL              (1UL << 2)
#define ERR             (1UL << 1)
#define BUSY            (1UL << 0)

/* IICTFR */
#define BYTE2           (1UL << 24)
#define BYTE1           (1UL << 16)
#define BYTE0           (1UL << 8)
#define ATRR2           (1UL << 6)
#define ATRR1           (1UL << 4)
#define ATRR0           (1UL << 2)
#define ERR             (1UL << 1)
#define BUSY            (1UL << 0)

#define START   3
#define CONT    2
#define STOP    1
#define NOP     0

/* [<][>][^][v][top][bottom][index][help] */

[funini.com] -> [kei@sodan] -> Kernel Reading