^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) /* SPDX-License-Identifier: GPL-2.0-or-later */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) #ifndef __SOUND_REVO_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) #define __SOUND_REVO_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) * ALSA driver for ICEnsemble ICE1712 (Envy24)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) * Lowlevel functions for M-Audio Revolution 7.1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) * Copyright (c) 2003 Takashi Iwai <tiwai@suse.de>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) #define REVO_DEVICE_DESC \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) "{MidiMan M Audio,Revolution 7.1},"\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) "{MidiMan M Audio,Revolution 5.1},"\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) "{MidiMan M Audio,Audiophile 192},"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) #define VT1724_SUBDEVICE_REVOLUTION71 0x12143036
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) #define VT1724_SUBDEVICE_REVOLUTION51 0x12143136
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) #define VT1724_SUBDEVICE_AUDIOPHILE192 0x12143236
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) /* entry point */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) extern struct snd_ice1712_card_info snd_vt1724_revo_cards[];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) * MidiMan M-Audio Revolution GPIO definitions
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) #define VT1724_REVO_CCLK 0x02
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) #define VT1724_REVO_CDIN 0x04 /* not used */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) #define VT1724_REVO_CDOUT 0x08
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) #define VT1724_REVO_CS0 0x10 /* AK5365 chipselect for (revo51) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) #define VT1724_REVO_CS1 0x20 /* front AKM4381 chipselect */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) #define VT1724_REVO_CS2 0x40 /* surround AKM4355 CS (revo71) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) #define VT1724_REVO_I2C_DATA 0x40 /* I2C: PT 2258 SDA (on revo51) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) #define VT1724_REVO_I2C_CLOCK 0x80 /* I2C: PT 2258 SCL (on revo51) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) #define VT1724_REVO_CS3 0x80 /* AK4114 for AP192 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) #define VT1724_REVO_MUTE (1<<22) /* 0 = all mute, 1 = normal operation */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) #endif /* __SOUND_REVO_H */