ALS
上传用户:lgb322
上传日期:2013-02-24
资源大小:30529k
文件大小:4k
源码类别:

嵌入式Linux

开发平台:

Unix_Linux

  1. ALS-007/ALS-100/ALS-200 based sound cards
  2. =========================================
  3. Support for sound cards based around the Avance Logic
  4. ALS-007/ALS-100/ALS-200 chip is included.  These chips are a single
  5. chip PnP sound solution which is mostly hardware compatible with the
  6. Sound Blaster 16 card, with most differences occurring in the use of
  7. the mixer registers.  For this reason the ALS code is integrated
  8. as part of the Sound Blaster 16 driver (adding only 800 bytes to the
  9. SB16 driver).
  10. To use an ALS sound card under Linux, enable the following options as
  11. modules in the sound configuration section of the kernel config:
  12.   - 100% Sound Blaster compatibles (SB16/32/64, ESS, Jazz16) support
  13.   - FM synthesizer (YM3812/OPL-3) support 
  14.   - standalone MPU401 support may be required for some cards; for the
  15.     ALS-007, when using isapnptools, it is required
  16. Since the ALS-007/100/200 are PnP cards, ISAPnP support should probably be
  17. compiled in.  If kernel level PnP support is not included, isapnptools will
  18. be required to configure the card before the sound modules are loaded.
  19. When using kernel level ISAPnP, the kernel should correctly identify and
  20. configure all resources required by the card when the "sb" module is
  21. inserted.  Note that the ALS-007 does not have a 16 bit DMA channel and that
  22. the MPU401 interface on this card uses a different interrupt to the audio
  23. section.  This should all be correctly configured by the kernel; if problems
  24. with the MPU401 interface surface, try using the standalone MPU401 module,
  25. passing "0" as the "sb" module's "mpu_io" module parameter to prevent the
  26. soundblaster driver attempting to register the MPU401 itself.  The onboard
  27. synth device can be accessed using the "opl3" module.
  28. If isapnptools is used to wake up the sound card (as in 2.2.x), the settings
  29. of the card's resources should be passed to the kernel modules ("sb", "opl3"
  30. and "mpu401") using the module parameters.  When configuring an ALS-007, be
  31. sure to specify different IRQs for the audio and MPU401 sections - this card
  32. requires they be different.  For "sb", "io", "irq" and "dma" should be set
  33. to the same values used to configure the audio section of the card with
  34. isapnp.  "dma16" should be explicitly set to "-1" for an ALS-007 since this
  35. card does not have a 16 bit dma channel; if not specified the kernel will
  36. default to using channel 5 anyway which will cause audio not to work. 
  37. "mpu_io" should be set to 0.  The "io" parameter of the "opl3" module should
  38. also agree with the setting used by isapnp.  To get the MPU401 interface
  39. working on an ALS-007 card, the "mpu401" module will be required since this
  40. card uses separate IRQs for the audio and MPU401 sections and there is no
  41. parameter available to pass a different IRQ to the "sb" driver (whose
  42. inbuilt MPU401 driver would otherwise be fine).  Insert the mpu401 module
  43. passing appropriate values using the "io" and "irq" parameters.
  44. The resulting sound driver will provide the following capabilities:
  45.   - 8 and 16 bit audio playback
  46.   - 8 and 16 bit audio recording
  47.   - Software selection of record source (line in, CD, FM, mic, master)
  48.   - Record and playback of midi data via the external MPU-401
  49.   - Playback of midi data using inbuilt FM synthesizer
  50.   - Control of the ALS-007 mixer via any OSS-compatible mixer programs. 
  51.     Controls available are Master (L&R), Line in (L&R), CD (L&R), 
  52.     DSP/PCM/audio out (L&R), FM (L&R) and Mic in (mono).
  53. Jonathan Woithe
  54. jwoithe@physics.adelaide.edu.au
  55. 30 March 1998
  56. Modified 2000-02-26 by Dave Forrest, drf5n@virginia.edu to add ALS100/ALS200
  57. Modified 2000-04-10 by Paul Laufer, pelaufer@csupomona.edu to add ISAPnP info.
  58. Modified 2000-11-19 by Jonathan Woithe, jwoithe@physics.adelaide.edu.au
  59.  - updated information for kernel 2.4.x.