xref: /haiku/src/add-ons/kernel/drivers/audio/echo/generic/family.h (revision 4dd9e43637031d2c5a6755a0184040f0de8f2884)
1c2ddc71cSJérôme Duval //********************************************************************************
2c2ddc71cSJérôme Duval //
3c2ddc71cSJérôme Duval // family.h
4c2ddc71cSJérôme Duval //
5c2ddc71cSJérôme Duval // This header file deals with variations between the different families of
6c2ddc71cSJérôme Duval // products.  Current families:
7c2ddc71cSJérôme Duval //
8c2ddc71cSJérôme Duval //  Echogals - Darla20, Gina20, Layla20, and Darla24
9c2ddc71cSJérôme Duval //  Echo24 - 	Gina24, Layla24, Mona, Mia, and Mia MIDI
10c2ddc71cSJérôme Duval //  Indigo - 	Indigo, Indigo io, and Indigo dj
11c2ddc71cSJérôme Duval //  3G -			Gina3G, Layla3G
12c2ddc71cSJérôme Duval //
13c2ddc71cSJérôme Duval //----------------------------------------------------------------------------
14c2ddc71cSJérôme Duval //
15626bc4beSJérôme Duval // This file is part of Echo Digital Audio's generic driver library.
16626bc4beSJérôme Duval // Copyright Echo Digital Audio Corporation (c) 1998 - 2005
17c2ddc71cSJérôme Duval // All rights reserved
18c2ddc71cSJérôme Duval // www.echoaudio.com
19c2ddc71cSJérôme Duval //
20626bc4beSJérôme Duval // This library is free software; you can redistribute it and/or
21626bc4beSJérôme Duval // modify it under the terms of the GNU Lesser General Public
22626bc4beSJérôme Duval // License as published by the Free Software Foundation; either
23626bc4beSJérôme Duval // version 2.1 of the License, or (at your option) any later version.
24c2ddc71cSJérôme Duval //
25626bc4beSJérôme Duval // This library is distributed in the hope that it will be useful,
26c2ddc71cSJérôme Duval // but WITHOUT ANY WARRANTY; without even the implied warranty of
27626bc4beSJérôme Duval // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
28626bc4beSJérôme Duval // Lesser General Public License for more details.
29c2ddc71cSJérôme Duval //
30626bc4beSJérôme Duval // You should have received a copy of the GNU Lesser General Public
31626bc4beSJérôme Duval // License along with this library; if not, write to the Free Software
32626bc4beSJérôme Duval // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
33c2ddc71cSJérôme Duval //
34c2ddc71cSJérôme Duval //********************************************************************************
353895766dSshatty 
363895766dSshatty #ifndef _FAMILY_H_
373895766dSshatty #define _FAMILY_H_
383895766dSshatty 
393895766dSshatty //===========================================================================
403895766dSshatty //
413895766dSshatty // Echogals
423895766dSshatty //
433895766dSshatty // To build an Echogals driver, make sure and #define ECHOGALS_FAMILY
443895766dSshatty //
453895766dSshatty //===========================================================================
463895766dSshatty 
473895766dSshatty #ifdef ECHOGALS_FAMILY
483895766dSshatty 
493895766dSshatty #define MIDI_SUPPORT
503895766dSshatty 
513895766dSshatty #define READ_DSP_TIMEOUT		1000000L		// one second
52c2ddc71cSJérôme Duval #define MIN_MTC_1X_RATE			8000
533895766dSshatty 
543895766dSshatty #endif // ECHOGALS_FAMILY
553895766dSshatty 
563895766dSshatty 
573895766dSshatty //===========================================================================
583895766dSshatty //
593895766dSshatty // Echo24
603895766dSshatty //
613895766dSshatty // To build an Echo24 driver, make sure and #define ECHO24_FAMILY
623895766dSshatty //
633895766dSshatty //===========================================================================
643895766dSshatty 
653895766dSshatty #ifdef ECHO24_FAMILY
663895766dSshatty 
673895766dSshatty #define MIDI_SUPPORT
683895766dSshatty 
693895766dSshatty #define DSP_56361									// Some Echo24 cards use the 56361 DSP
703895766dSshatty 
71c2ddc71cSJérôme Duval #define READ_DSP_TIMEOUT						100000L	// .1 second
72c2ddc71cSJérôme Duval 
73c2ddc71cSJérôme Duval #define STEREO_BIG_ENDIAN32_SUPPORT
74c2ddc71cSJérôme Duval 
75c2ddc71cSJérôme Duval #define LAYLA24_CARD_NAME			"Layla24"
76c2ddc71cSJérôme Duval #define LAYLA24_DSP_CODE			pwLayla24DSP
77c2ddc71cSJérôme Duval #define LAYLA24_HAS_VMIXER			FALSE
78c2ddc71cSJérôme Duval #define LAYLA24_2ASIC_FILENAME	"Layla24_2S_ASIC.c"
79*4dd9e436SJérôme Duval 
80c2ddc71cSJérôme Duval #define LAYLA24_DSP_FILENAME		"Layla24DSP.c"
81c2ddc71cSJérôme Duval 
82c2ddc71cSJérôme Duval #define MIN_MTC_1X_RATE							8000
83c2ddc71cSJérôme Duval 
84c2ddc71cSJérôme Duval #endif // ECHO24_FAMILY
85c2ddc71cSJérôme Duval 
86c2ddc71cSJérôme Duval 
87626bc4beSJérôme Duval 
88be188ae1SJérôme Duval 
89c2ddc71cSJérôme Duval //===========================================================================
90c2ddc71cSJérôme Duval //
91c2ddc71cSJérôme Duval // Indigo, Indigo IO, and Indigo DJ
92c2ddc71cSJérôme Duval //
93c2ddc71cSJérôme Duval // To build an Indigo driver, make sure and #define INDIGO_FAMILY
94c2ddc71cSJérôme Duval //
95c2ddc71cSJérôme Duval //===========================================================================
96c2ddc71cSJérôme Duval 
97c2ddc71cSJérôme Duval #ifdef INDIGO_FAMILY
98c2ddc71cSJérôme Duval 
99c2ddc71cSJérôme Duval #define DSP_56361								// Indigo only uses the 56361
1003895766dSshatty 
1013895766dSshatty #define READ_DSP_TIMEOUT		100000L	// .1 second
1023895766dSshatty 
1033895766dSshatty #define STEREO_BIG_ENDIAN32_SUPPORT
1043895766dSshatty 
105c2ddc71cSJérôme Duval #endif // INDIGO_FAMILY
1063895766dSshatty 
1073895766dSshatty 
108c2ddc71cSJérôme Duval //===========================================================================
109c2ddc71cSJérôme Duval //
110c2ddc71cSJérôme Duval // 3G
111c2ddc71cSJérôme Duval //
112c2ddc71cSJérôme Duval //===========================================================================
113c2ddc71cSJérôme Duval 
114c2ddc71cSJérôme Duval #ifdef ECHO3G_FAMILY
115c2ddc71cSJérôme Duval 
116c2ddc71cSJérôme Duval #define MIDI_SUPPORT
117c2ddc71cSJérôme Duval 
118c2ddc71cSJérôme Duval #define DSP_56361									// Some Echo24 cards use the 56361 DSP
119c2ddc71cSJérôme Duval 
120c2ddc71cSJérôme Duval #define READ_DSP_TIMEOUT						100000L	// .1 second
121c2ddc71cSJérôme Duval 
122c2ddc71cSJérôme Duval #define STEREO_BIG_ENDIAN32_SUPPORT
123c2ddc71cSJérôme Duval #define PHANTOM_POWER_CONTROL
124c2ddc71cSJérôme Duval 
125c2ddc71cSJérôme Duval #define MIN_MTC_1X_RATE							32000
126c2ddc71cSJérôme Duval 
127c2ddc71cSJérôme Duval #endif // ECHO3G_FAMILY
128c2ddc71cSJérôme Duval 
1293895766dSshatty 
1303895766dSshatty #endif // _FAMILY_H_
131