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