Maestro3
上传用户:jlfgdled
上传日期:2013-04-10
资源大小:33168k
文件大小:4k
- 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.
- One 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'.
- And the last is 'gpio_pin', which tells the driver which GPIO pin number
- the external amp uses (0-15), The Allegro uses 8 by default, all others 1.
- If everything loads correctly and seems to be working but you get no sound,
- try tweaking this value.
- Systems known to need a different value
- Panasonic ToughBook CF-72: gpio_pin=13
- 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.