xref: /haiku/src/add-ons/kernel/drivers/audio/echo/generic/family.h (revision 626bc4bee107897c38c596c3440cf0a74b4b9c40)
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 //
15*626bc4beSJérôme Duval // This file is part of Echo Digital Audio's generic driver library.
16*626bc4beSJé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 //
20*626bc4beSJérôme Duval // This library is free software; you can redistribute it and/or
21*626bc4beSJérôme Duval // modify it under the terms of the GNU Lesser General Public
22*626bc4beSJérôme Duval // License as published by the Free Software Foundation; either
23*626bc4beSJérôme Duval // version 2.1 of the License, or (at your option) any later version.
24c2ddc71cSJérôme Duval //
25*626bc4beSJé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
27*626bc4beSJérôme Duval // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
28*626bc4beSJérôme Duval // Lesser General Public License for more details.
29c2ddc71cSJérôme Duval //
30*626bc4beSJérôme Duval // You should have received a copy of the GNU Lesser General Public
31*626bc4beSJérôme Duval // License along with this library; if not, write to the Free Software
32*626bc4beSJé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"
79c2ddc71cSJé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 
87*626bc4beSJérôme Duval 
88c2ddc71cSJérôme Duval //===========================================================================
89c2ddc71cSJérôme Duval //
90c2ddc71cSJérôme Duval // Indigo, Indigo IO, and Indigo DJ
91c2ddc71cSJérôme Duval //
92c2ddc71cSJérôme Duval // To build an Indigo driver, make sure and #define INDIGO_FAMILY
93c2ddc71cSJérôme Duval //
94c2ddc71cSJérôme Duval //===========================================================================
95c2ddc71cSJérôme Duval 
96c2ddc71cSJérôme Duval #ifdef INDIGO_FAMILY
97c2ddc71cSJérôme Duval 
98c2ddc71cSJérôme Duval #define DSP_56361								// Indigo only uses the 56361
993895766dSshatty 
1003895766dSshatty #define READ_DSP_TIMEOUT		100000L	// .1 second
1013895766dSshatty 
1023895766dSshatty #define STEREO_BIG_ENDIAN32_SUPPORT
1033895766dSshatty 
104c2ddc71cSJérôme Duval #endif // INDIGO_FAMILY
1053895766dSshatty 
1063895766dSshatty 
107c2ddc71cSJérôme Duval //===========================================================================
108c2ddc71cSJérôme Duval //
109c2ddc71cSJérôme Duval // 3G
110c2ddc71cSJérôme Duval //
111c2ddc71cSJérôme Duval //===========================================================================
112c2ddc71cSJérôme Duval 
113c2ddc71cSJérôme Duval #ifdef ECHO3G_FAMILY
114c2ddc71cSJérôme Duval 
115c2ddc71cSJérôme Duval #define MIDI_SUPPORT
116c2ddc71cSJérôme Duval 
117c2ddc71cSJérôme Duval #define DSP_56361									// Some Echo24 cards use the 56361 DSP
118c2ddc71cSJérôme Duval 
119c2ddc71cSJérôme Duval #define READ_DSP_TIMEOUT						100000L	// .1 second
120c2ddc71cSJérôme Duval 
121c2ddc71cSJérôme Duval #define STEREO_BIG_ENDIAN32_SUPPORT
122c2ddc71cSJérôme Duval #define PHANTOM_POWER_CONTROL
123c2ddc71cSJérôme Duval 
124c2ddc71cSJérôme Duval #define MIN_MTC_1X_RATE							32000
125c2ddc71cSJérôme Duval 
126c2ddc71cSJérôme Duval #endif // ECHO3G_FAMILY
127c2ddc71cSJérôme Duval 
1283895766dSshatty 
1293895766dSshatty #endif // _FAMILY_H_
130