Maestro3
上传用户:jlfgdled
上传日期:2013-04-10
资源大小:33168k
文件大小:4k
源码类别:

Linux/Unix编程

开发平台:

Unix_Linux

  1. An OSS/Lite Driver for the ESS Maestro3 family of sound chips
  2. Zach Brown, January 2001
  3. Driver Status and Availability
  4. ------------------------------
  5. The most recent version of this driver will hopefully always be available at
  6. http://www.zabbo.net/maestro3/
  7. I will try and maintain the most recent stable version of the driver
  8. in both the stable and development kernel lines.
  9. Historically I've sucked pretty hard at actually doing that, however.
  10. ESS Maestro3 Chip Family
  11. -----------------------
  12. The 'Maestro3' is much like the Maestro2 chip.  The noted improvement
  13. is the removal of the silicon in the '2' that did PCM mixing.  All that
  14. work is now done through a custom DSP called the ASSP, the Asynchronus
  15. Specific Signal Processor.
  16. The 'Allegro' is a baby version of the Maestro3.  I'm not entirely clear
  17. on the extent of the differences, but the driver supports them both :)
  18. The 'Allegro' shows up as PCI ID 0x1988 and the Maestro3 as 0x1998,
  19. both under ESS's vendor ID of 0x125D.  The Maestro3 can also show up as
  20. 0x199a when hardware strapping is used.
  21. The chip can also act as a multi function device.  The modem IDs follow
  22. the audio multimedia device IDs.  (so the modem part of an Allegro shows
  23. up as 0x1989)
  24. Driver OSS Behavior
  25. --------------------
  26. This OSS driver exports /dev/mixer and /dev/dsp to applications, which
  27. mostly adhere to the OSS spec.   This driver doesn't register itself
  28. with /dev/sndstat, so don't expect information to appear there.
  29. The /dev/dsp device exported behaves as expected.  Playback is
  30. supported in all the various lovely formats.  8/16bit stereo/mono from
  31. 8khz to 48khz, with both read()/write(), and mmap().
  32. /dev/mixer is an interface to the AC'97 codec on the Maestro3.  It is
  33. worth noting that there are a variety of AC'97s that can be wired to
  34. the Maestro3.  Which is used is entirely up to the hardware implementor.
  35. This should only be visible to the user by the presence, or lack, of
  36. 'Bass' and 'Treble' sliders in the mixer.  Not all AC'97s have them.
  37. The Allegro has an onchip AC'97.
  38. The driver doesn't support MIDI or FM playback at the moment.
  39. Compiling and Installing
  40. ------------------------
  41. With the drivers inclusion into the kernel, compiling and installing
  42. is the same as most OSS/Lite modular sound drivers.  Compilation
  43. of the driver is enabled through the CONFIG_SOUND_MAESTRO3 variable
  44. in the config system.  
  45. It may be modular or statically linked.  If it is modular it should be
  46. installed with the rest of the modules for the kernel on the system.
  47. Typically this will be in /lib/modules/ somewhere.  'alias sound-slot-0
  48. maestro3' should also be added to your module configs (typically
  49. /etc/modules.conf) if you're using modular OSS/Lite sound and want to
  50. default to using a maestro3 chip.
  51. There are very few options to the driver.  One is 'debug' which will 
  52. tell the driver to print minimal debugging information as it runs.  This
  53. can be collected with 'dmesg' or through the klogd daemon.
  54. One is 'external_amp', which tells the driver to attempt to enable
  55. an external amplifier.  This defaults to '1', you can tell the driver
  56. not to bother enabling such an amplifier by setting it to '0'.
  57. And the last is 'gpio_pin', which tells the driver which GPIO pin number
  58. the external amp uses (0-15), The Allegro uses 8 by default, all others 1.
  59. If everything loads correctly and seems to be working but you get no sound, 
  60. try tweaking this value. 
  61. Systems known to need a different value
  62.         Panasonic ToughBook CF-72: gpio_pin=13 
  63. Power Management
  64. ----------------
  65. This driver has a minimal understanding of PCI Power Management.  It will
  66. try and power down the chip when the system is suspended, and power
  67. it up with it is resumed.  It will also try and power down the chip
  68. when the machine is shut down.