OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [linux-2.4/] [Documentation/] [sound/] [SoundPro] - Blame information for rev 1765

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1275 phoenix
Documentation for the SoundPro CMI8330 extensions in the WSS driver (ad1848.o)
2
------------------------------------------------------------------------------
3
 
4
( Be sure to read Documentation/sound/CMI8330 too )
5
 
6
Ion Badulescu, ionut@cs.columbia.edu
7
February 24, 1999
8
 
9
(derived from the OPL3-SA2 documentation by Scott Murray)
10
 
11
The SoundPro CMI8330 (ISA) is a chip usually found on some Taiwanese
12
motherboards.  The official name in the documentation is CMI8330, SoundPro
13
is the nickname and the big inscription on the chip itself.
14
 
15
The chip emulates a WSS as well as a SB16, but it has certain differences
16
in the mixer section which require separate support. It also emulates an
17
MPU401 and an OPL3 synthesizer, so you probably want to enable support
18
for these, too.
19
 
20
The chip identifies itself as an AD1848, but its mixer is significantly
21
more advanced than the original AD1848 one. If your system works with
22
either WSS or SB16 and you are having problems with some mixer controls
23
(no CD audio, no line-in, etc), you might want to give this driver a try.
24
Detection should work, but it hasn't been widely tested, so it might still
25
mis-identify the chip. You can still force soundpro=1 in the modprobe
26
parameters for ad1848. Please let me know if it happens to you, so I can
27
adjust the detection routine.
28
 
29
The chip is capable of doing full-duplex, but since the driver sees it as an
30
AD1848, it cannot take advantage of this.  Moreover, the full-duplex mode is
31
not achievable through the WSS interface, b/c it needs a dma16 line which is
32
assigned only to the SB16 subdevice (with isapnp). Windows documentation
33
says the user must use WSS Playback and SB16 Recording for full-duplex, so
34
it might be possible to do the same thing under Linux. You can try loading
35
up both ad1848 and sb then use one for playback and the other for
36
recording. I don't know if this works, b/c I haven't tested it. Anyway, if
37
you try it, be very careful: the SB16 mixer *mostly* works, but certain
38
settings can have unexpected effects. Use the WSS mixer for best results.
39
 
40
There is also a PCI SoundPro chip. I have not seen this chip, so I have
41
no idea if the driver will work with it. I suspect it won't.
42
 
43
As with PnP cards, some configuration is required.  There are two ways
44
of doing this.  The most common is to use the isapnptools package to
45
initialize the card, and use the kernel module form of the sound
46
subsystem and sound drivers.  Alternatively, some BIOS's allow manual
47
configuration of installed PnP devices in a BIOS menu, which should
48
allow using the non-modular sound drivers, i.e. built into the kernel.
49
Since in this latter case you cannot use module parameters, you will
50
have to enable support for the SoundPro at compile time.
51
 
52
The IRQ and DMA values can be any that are considered acceptable for a
53
WSS.  Assuming you've got isapnp all happy, then you should be able to
54
do something like the following (which *must* match the isapnp/BIOS
55
configuration):
56
 
57
modprobe ad1848 io=0x530 irq=11 dma=0 soundpro=1
58
-and maybe-
59
modprobe sb io=0x220 irq=5 dma=1 dma16=5
60
 
61
-then-
62
modprobe mpu401 io=0x330 irq=9
63
modprobe opl3 io=0x388
64
 
65
If all goes well and you see no error messages, you should be able to
66
start using the sound capabilities of your system.  If you get an
67
error message while trying to insert the module(s), then make
68
sure that the values of the various arguments match what you specified
69
in your isapnp configuration file, and that there is no conflict with
70
another device for an I/O port or interrupt.  Checking the contents of
71
/proc/ioports and /proc/interrupts can be useful to see if you're
72
butting heads with another device.
73
 
74
If you do not see the chipset version message, and none of the other
75
messages present in the system log are helpful, try adding 'debug=1'
76
to the ad1848 parameters, email me the syslog results and I'll do
77
my best to help.
78
 
79
Lastly, if you're using modules and want to set up automatic module
80
loading with kmod, the kernel module loader, here is the section I
81
currently use in my conf.modules file:
82
 
83
# Sound
84
post-install sound modprobe -k ad1848; modprobe -k mpu401; modprobe -k opl3
85
options ad1848 io=0x530 irq=11 dma=0
86
options sb io=0x220 irq=5 dma=1 dma16=5
87
options mpu401 io=0x330 irq=9
88
options opl3 io=0x388
89
 
90
The above ensures that ad1848 will be loaded whenever the sound system
91
is being used.
92
 
93
Good luck.
94
 
95
Ion
96
 
97
NOT REALLY TESTED:
98
- recording
99
- recording device selection
100
- full-duplex
101
 
102
TODO:
103
- implement mixer support for surround, loud, digital CD switches.
104
- come up with a scheme which allows recording volumes for each subdevice.
105
This is a major OSS API change.

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.