Lines Matching +full:dsp +full:- +full:ctrl
3 Copyright Echo Digital Audio Corporation (c) 1998 - 2004
21 Foundation, Inc., 59 Temple Place - Suite 330, Boston,
22 MA 02111-1307, USA.
26 Translation from C++ and adaptation for use in ALSA-Driver
41 /**** Echo24: Gina24, Layla24, Mona, Mia, Mia-midi ****/
44 #define DSP_56361 /* Some Echo24 cards use the 56361 DSP */
81 * These are the offsets for the memory-mapped DSP registers; the DSP base
93 * Interesting bits within the DSP registers
108 * DSP commands sent via slave mode; these are sent to the DSP by write_dsp()
133 #define MIDI_IN_SKIP_DATA (-1)
136 /*----------------------------------------------------------------------------
151 -Set the clock select bits in the control register to 0xe (see the #define
154 -Set double-speed mode if you want to use sample rates above 50 kHz
156 -Write the control register as you would normally
158 -Now, you need to set the frequency register. First, you need to determine the
161 frequency_reg = (LAYLA24_MAGIC_NUMBER / sample_rate) - 2
165 -Wait for the DSP handshake
166 -Write the frequency_reg value to the .SampleRate field of the comm page
167 -Send the vector command SET_LAYLA24_FREQUENCY_REG (see vmonkey.h)
175 -----------------------------------------------------------------------------*/
183 * DSP vector commands
252 #define DSP_FLAG_SPDIF_NONAUDIO 0x0002 /* Sets the "non-audio" bit
263 * Clock detect bits reported by the DSP for Gina20, Layla20, Darla24, and Mia
275 * Clock detect bits reported by the DSP for Gina24, Mona, and Layla24
291 * Layla clock numbers to send to DSP
356 * Return values from the DSP when ASIC is loaded
366 * DSP Audio formats
368 * These are the audio formats that the DSP can transfer
369 * via input and output pipes. LE means little-endian,
370 * BE means big-endian.
374 * 8-bit mono unsigned samples. For playback,
377 * means mono->stereo.
381 * 16-bit signed little-endian mono samples. Playback works
386 * 24-bit signed little-endian mono samples. Data is packed
392 * 24-bit signed little-endian mono samples in a 32-bit
393 * container. In other words, each sample is a 32-bit signed
394 * integer, where the actual audio data is left-justified
403 * data. "SS" means stereo->stereo.
410 * mono->mono.
415 * in big-endian format.
427 #define DSP_AUDIOFORM_MM_32LE 8 /* 32 bit mono->mono little-endian */
428 #define DSP_AUDIOFORM_MM_32BE 9 /* 32 bit mono->mono big-endian */
435 * Super-interleave is defined as interleaving by 4 or more. Darla20 and Gina20
439 * interleave. The interleave factor must be even. 16 - way interleave is the
442 * The actual format code is derived by taking the define below and or-ing with
559 /* Clock detect bits reported by the DSP */
570 #define E3G_FREQ_REG_DEFAULT (E3G_MAGIC_NUMBER / 48000 - 2)
591 * this is the magic number for the hardware that gives you 0 dB at -10.
600 * Defines how much time must pass between DSP load attempts
610 * no longer used, but the sizes must still be right for the DSP to see
624 /* sg_entry is a single entry for the scatter-gather list. The array of struct
625 sg_entry struct is read by the DSP, so all values must be little-endian. */
637 The comm page. This structure is read and written by the DSP; the
638 DSP code is a firm believer in the byte offsets written in the comments
641 Any reads from or writes to this structure should be in little-endian format.
650 __le32 handshake; /* DSP command handshake 0x010 4 */
670 /* Gina/Darla play filters - obsolete 0x3c0 168*4 */
672 /* Gina/Darla record filters - obsolete 0x660 192*4 */
679 __le32 nominal_level_mask; /* -10 level enable mask 0xb64 4 */
689 /* Mona, Gina24, Layla24, 3G ctrl reg 0xb80 4 */