嵌入式系统设计与实例开发源码

源代码在线查看: maestro3

软件大小: 17783 K
上传用户: wwangllei
关键词: 嵌入式系统设计 源码
下载地址: 免注册下载 普通下载 VIP

相关代码

					An OSS/Lite Driver for the ESS Maestro3 family of sound chips											Zach Brown, January 2001								Driver Status and Availability				------------------------------								The most recent version of this driver will hopefully always be available at					http://www.zabbo.net/maestro3/								I will try and maintain the most recent stable version of the driver				in both the stable and development kernel lines.								Historically I've sucked pretty hard at actually doing that, however.								ESS Maestro3 Chip Family				-----------------------								The 'Maestro3' is much like the Maestro2 chip.  The noted improvement				is the removal of the silicon in the '2' that did PCM mixing.  All that				work is now done through a custom DSP called the ASSP, the Asynchronus				Specific Signal Processor.								The 'Allegro' is a baby version of the Maestro3.  I'm not entirely clear				on the extent of the differences, but the driver supports them both :)								The 'Allegro' shows up as PCI ID 0x1988 and the Maestro3 as 0x1998,				both under ESS's vendor ID of 0x125D.  The Maestro3 can also show up as				0x199a when hardware strapping is used.								The chip can also act as a multi function device.  The modem IDs follow				the audio multimedia device IDs.  (so the modem part of an Allegro shows				up as 0x1989)								Driver OSS Behavior				--------------------								This OSS driver exports /dev/mixer and /dev/dsp to applications, which				mostly adhere to the OSS spec.   This driver doesn't register itself				with /dev/sndstat, so don't expect information to appear there.								The /dev/dsp device exported behaves as expected.  Playback is				supported in all the various lovely formats.  8/16bit stereo/mono from				8khz to 48khz, with both read()/write(), and mmap().								/dev/mixer is an interface to the AC'97 codec on the Maestro3.  It is				worth noting that there are a variety of AC'97s that can be wired to				the Maestro3.  Which is used is entirely up to the hardware implementor.				This should only be visible to the user by the presence, or lack, of				'Bass' and 'Treble' sliders in the mixer.  Not all AC'97s have them.				The Allegro has an onchip AC'97.								The driver doesn't support MIDI or FM playback at the moment.								Compiling and Installing				------------------------								With the drivers inclusion into the kernel, compiling and installing				is the same as most OSS/Lite modular sound drivers.  Compilation				of the driver is enabled through the CONFIG_SOUND_MAESTRO3 variable				in the config system.  								It may be modular or statically linked.  If it is modular it should be				installed with the rest of the modules for the kernel on the system.				Typically this will be in /lib/modules/ somewhere.  'alias sound-slot-0				maestro3' should also be added to your module configs (typically				/etc/modules.conf) if you're using modular OSS/Lite sound and want to				default to using a maestro3 chip.								There are very few options to the driver.  One is 'debug' which will 				tell the driver to print minimal debugging information as it runs.  This				can be collected with 'dmesg' or through the klogd daemon.								The other is 'external_amp', which tells the driver to attempt to enable				an external amplifier.  This defaults to '1', you can tell the driver				not to bother enabling such an amplifier by setting it to '0'.								Power Management				----------------								This driver has a minimal understanding of PCI Power Management.  It will				try and power down the chip when the system is suspended, and power				it up with it is resumed.  It will also try and power down the chip				when the machine is shut down.							

相关资源