head	1.10;
access;
symbols
	RELENG_3_5_0_RELEASE:1.7.2.1
	RELENG_3_4_0_RELEASE:1.7.2.1
	RELENG_3_3_0_RELEASE:1.7.2.1
	RELENG_3_2_PAO:1.7.0.4
	RELENG_3_2_PAO_BP:1.7
	RELENG_3_2_0_RELEASE:1.7
	POST_VFS_BIO_NFS_PATCH:1.8
	PRE_VFS_BIO_NFS_PATCH:1.8
	POST_SMP_VMSHARE:1.8
	PRE_SMP_VMSHARE:1.8
	POST_NEWBUS:1.8
	PRE_NEWBUS:1.8
	RELENG_3_1_0_RELEASE:1.7
	RELENG_3:1.7.0.2
	RELENG_3_BP:1.7
	RELENG_2_2_8_RELEASE:1.2.4.3
	RELENG_3_0_0_RELEASE:1.4
	RELENG_2_2_7_RELEASE:1.2.4.1
	PRE_NOBDEV:1.2
	POST_DEVFS_SLICE:1.2
	PRE_DEVFS_SLICE:1.2
	RELENG_2_2_6_RELEASE:1.2
	POST_SOFTUPDATE:1.2
	PRE_SOFTUPDATE:1.2
	RELENG_2_2:1.2.0.4;
locks; strict;
comment	@# @;


1.10
date	99.09.26.22.20.28;	author peter;	state dead;
branches;
next	1.9;

1.9
date	99.05.27.06.12.40;	author roger;	state Exp;
branches;
next	1.8;

1.8
date	99.03.25.04.25.38;	author chuckr;	state Exp;
branches;
next	1.7;

1.7
date	99.01.04.10.40.13;	author luigi;	state Exp;
branches
	1.7.2.1
	1.7.4.1;
next	1.6;

1.6
date	98.12.31.07.28.24;	author luigi;	state Exp;
branches;
next	1.5;

1.5
date	98.11.02.09.39.54;	author obrien;	state Exp;
branches;
next	1.4;

1.4
date	98.10.02.17.26.36;	author luigi;	state Exp;
branches;
next	1.3;

1.3
date	98.09.30.14.09.00;	author des;	state Exp;
branches;
next	1.2;

1.2
date	98.02.17.19.17.08;	author nate;	state Exp;
branches
	1.2.4.1;
next	1.1;

1.1
date	98.02.17.14.16.02;	author scrappy;	state Exp;
branches;
next	;

1.2.4.1
date	98.06.10.17.37.00;	author jkh;	state Exp;
branches;
next	1.2.4.2;

1.2.4.2
date	98.10.14.16.33.06;	author luigi;	state Exp;
branches;
next	1.2.4.3;

1.2.4.3
date	98.10.22.13.35.22;	author luigi;	state Exp;
branches;
next	;

1.7.2.1
date	99.05.27.11.03.38;	author roger;	state Exp;
branches;
next	;

1.7.4.1
date	99.06.18.19.03.04;	author imp;	state Exp;
branches;
next	;


desc
@@


1.10
log
@Bid a fond farewell to these files, they live on various forms in
dev/pcm/* and dev/pcm/isa/*
@
text
@In this file I will try to build a database of cards supported by
this driver. I also include the command to use for manual configuration
of the card in case your BIOS is not PnP-aware. Of course it is
your responsibility to pick up free port ranges and irq and drq
channels.

For PnP cards, I also include the vendor_id and serial numbers of
cards I have encountered. Underscores in the PnP id mean that
(I believe) there is a large variety of values in those positions,
and the code in the audio driver generally masks those bits.

Finally, where available, I have put the URL where you can find the
data sheets of the chip.

To my knowledge, there are the following families of audio cards:

* WSS (also called MSS) and clones:
   these are true full duplex cards, have a very nice architecture and
   are well documented. Chipsets implementing these functionalities
   are made from Crystal, Analog Devices, Yamaha, OPTI.

* SB16 and clones:
   these cards have a higly asymmetric architecture, and are not very
   well suited to full duplex operation. Made by Creative, Realtek.
   There is no documentation on the newer codecs (Vibra16X and ALS100+),
   so they are not fully working.

* ESS
   ESS builds cards that implement a superset of SB16. They are
   often capable of full duplex, but my driver does not support them
   other than in full duplex emulation. My fault, since documentation
   on these cards _is_ available.

* PCI cards.
   There are a quite few PCI audio cards around based on a number of
   different chipsets. Some of them are documented (e.g. S3 Sonic
   Vibes, Ensoniq ES1370), some are not (e.g. Yamaha YMF724),
   work is in progress to support such cards. See the notes below.
   Note that CreativeLabs has recently (fall'97) acquired Ensoniq
   and the audio division of OPTI, both of which had a PCI audio
   chipset. I don't know if there are other manufacturers of PCI
   audio cards.

Finally, some people wrote patches for the following chips:

	AD1816
	MAD16
	ESS
--------------------------
CHIPSET:
    CS4235: PnP id 0x25__630e
    CS4236: PnP id 0x36__630e 0x35__630e
    CS4237: PnP id 0x37__630e

MANUFACTURER:
    A/Open (or AcerOpen) AW32, AW35, AW37
    Also, integrated on the motherboard on some machines.
	
DATA SHEETS:
	http://www.crystal.com/ 	4237full.pdf

PNP CONFIG:
    pnp 1 0 os enable port0 0x534 port2 0x220 irq0 5 drq0 1 drq1 3

COMMENTS:
    Work like a charm. All modes, including full duplex, supported in
    MSS mode.

    Cards based on the 4237, and possibly the 4236 as well, connect
    the CD to AUX2. When used in MODE1/2 (as this driver does)
    there is no route in the input mixer from AUX2 to the ADC. So,
    to record directly from the CD, the only way is to set the
    input to SOUND_MASK_IMIX.

    Some machines with the cs4235 in non-pnp mode map the codec at 0x530
    instead of 0x534. For those machines you need an unusual config line

	device pcm0 at isa ? port 0x52C ...


--------------------------
CHIPSET:
    CS4232: PnP id 0x3242630e

MANUFACTURER:
    ???

DATA SHEETS:
	http://www.crystal.com/

PNP CONFIG:
    pnp 1 0 os enable port0 0x534 port2 0x220 irq0 5 drq0 1 drq1 3

COMMENTS:
    This chip is reported as broken in the OSS documentation. As a
    matter of fact, on my Intel Zappa motherboard, I have problems in
    make it use the secondary DMA channel. I have it working in
    half duplex (both capture and playback) in SB3.2 emulation,
    and working in playback mode in MSS emulation.
    Also have reports from some user that it works ok.

--------------------------
CHIPSET:
    AD1815/1816

MANUFACTURER:
    Analog Devices

DOCUMENTATION:
    http://www.analog.com

COMMENTS:
    This is a chip for ISA-PnP cards, and so should be configured
    using the PnP interface. For full function configure port2,
    irq0, drq0 and drq1 of ldn0.
    The driver is contributed by German Tischler

FORMATS:
    ALAW/ULAW/8bit/16bit(le)/16bit(be),8kHz-55.2kHz,full duplex

--------------------------
CHIPSET:
    OPTi931: PnP id 0x3109143e
    OPTi933: PnP id 0x3109143e (yes, it's the same)

MANUFACTURER:
    ExpertColor MED931 (europe)
    Shuttle HOT-247 (uses the 933, $15 retail in the US)

DATA SHEETS:
    http://www.opti.com/  opti931_21.pdf

PNP CONFIG:
    pnp 1 1 os enable port0 0x534 port2 0x220 port3 0xe0d irq0 10 drq0 1 drq1 6

COMMENTS:
    The data sheets of this chip are very cryptic and do not match
    what the cards I have seem to do. I have it working
    in WSS emulation, in full duplex and all modes.
    In SB emulation mode the driver does not work yet (maybe I do
    not initialize it the right way). It is not a major concern
    anyways.
    I am strongly convinced of a couple of bugs in the chip. I have
    sent email to OPTI but got no reply so far. The bugs are:
    - you cannot set both playback and capture format to use
      a companded mode (ULAW, ALAW). If you do, the card will screw
      up on the capture section.
      The driver has a partial fix in software: when using ULAW, it
      programs ULAW on the playback section, U8 on the capture, and
      does a conversion in software (much like the SBPro). Of course
      you lose 4-5 bits of dynamic range in the process.
    - in full duplex (and single DMA mode), the card occasionally
      misses interrupts, or generates spurious ones, or generates
      interrupts before setting the status bits in the registers.
      Spurious ints are not problematic since they can be easily
      ignored, but missing interrupts are a nightmare to handle...
      The only way to have this card work semi-reliably is to use
      auto-dma mode (which is the default mode of operation in the
      driver).
    In any case, these cards are very cheap and widely available and
    are a reasonable solution if you cannot find some other decent WSS
    device.

-------------------------------
CHIPSET:
    SB16: PnP id 0x__008c0e
    Vibra16X: PnP id 0xf0008c0e

MANUFACTURER:
    CreativeLabs

DATA SHEETS:
    http://www.creative.com sbhwpg.pdf or SBHWPG.EXE
    ftp://www.creaf.com/pub/creative/devinfo/ctsbhwpg.exe

PNP CONFIG:
    pnp 1 0 os enable port0 0x220 irq0 5 drq0 1 drq1 5

COMMENTS:
    SB16 really refers to a large number of different cards, starting
    from the original, non-PnP SB16, to more modern cards (SB16PnP,
    Vibra16C) and other including Wavetable Synthesis (AWE32, AWE64,
    etc.). All these cards have different PnP ID.  They have
    different synthesis devices, which we do not support, so we
    are not affected by these differences. Don't worry if the driver
    identifies the card as a different SB16 than the one you have.

    BEWARE -- all recent (1998 ?) SB16 use a new codec, Vibra16X,
    which is sufficiently different from the old one to not work with
    this driver in capture mode or in full duplex. Documentation is
    not available from Creative. I suggest to stay away from these
    cards (and from SB16 in general).

    Full duplex support of this card is tricky since one channel can
    work in 16-bit and the other in 8-bit mode. You will need to use
    the new set of ioctl to use separate data formats on the two
    channels (the vat driver does this). Of course, quality in 8-bit
    is much lower than in 16-bit.

    Full duplex operation is unsupported by Creative. It seems to
    work, although on my Vibra16C the command to stop DMA transfer
    seems to erroneously affect both channels instead of the one
    they are issued for. The driver has a workaround, but I cannot
    guarantee that it works for everybody. I have had several
    positive reports.

    Some docs on how to use this card with the voxware driver
    are at http://multiverse.com/~rhh/awedrv

--------------------------
CHIPSET:
    ALS100, ALS110, ALS120, ...
    Avance Asound 100: PnP id 0x01009305
    Avance Asound 100+: PnP id 0x10019305
    Avance Logic ALS120: PnP id 0x20019305

MANUFACTURER:
    Realtek (also Avance Asound and possibly other names)
    Asound Gold (AS007) has an ALS120
     

DOCUMENTATION:
    
    http://www.realtek.com.tw/cp/cp.html
    but not very useful or detailed.

COMMENTS:
    These card should be recognised as SB16 clones. Some of them
    emulate the Vibra16X, so the comments above apply.


------------------------------
CHIPSET:
    Yamaha SA2/SA3 . Both PnP and non-PnP versions.
    OPL3-SA2 Sound Chip: PnP id 0x2000a865
    OPL/SA3 : PnP id 0x3000a865

MANUFACTURER:
    no-name cards, and also used in various laptops, e.g. Toshiba
    Libretto and others. I

DATA SHEETS:
    http://www.yamaha.com ? YM711.pdf
    ftp://ftp.yamahayst.com/pub/Fax_Back_Doc/Sound
    http://www.imail.net.tw/qtronix/qumax_product_yamaha.htm

    This is a huge file containing a few pages scanned and converted
    to pdf. Not very detailed. Luckily, this chipset appears to do a
    good (i.e. bug-free) emulation of the WSS, so it is fully
    supported by the driver.

    pnp 1 0 os enable port0 0x220 port1 0x530 port2 0x388 port3 0x370 irq0 5 drq0 1 drq1 0

    this card emulates a WSS or SB. Have reports that it works, although
    it has incomplete mixer support (Yamaha defines an additional set
    of registers to control some mixer functions, such as the master
    output volume -- this is at 0x370 or 0x310). Currently we set
    the master volume to 100% for the PnP card. Will put in code to do the
    same for the non PnP card as soon as I find out how to tell
    the Yamaha from other cards.
    Driver reported to work also on
    Toshiba DynaBook Portege 300CT with OPL3SA-3(non-PNP), and on the
    Libretto50CT (has the non-PnP device).

------------------------
CHIPSET:
    ENSONIQ SoundscapeVIVO ENS4081: PnP id 0x8140d315
MANUFACTURER:
    Ensoniq Soundscape VIVO

PNP CONFIG:
    pnp 1 0 os enable port0 0x220 port1 0x530 irq0 5 drq0 1 drq1 5

COMMENTS:
    this card emulates a WSS or SB. Have reports that it works.

-------------------------
CHIPSET:
    AMD...

MANUFACTURER:
    GusPnP: PnP id 0x0100561e

PNP CONFIG:
    pnp 1 0 os enable port0 0x220 port1 0x320 port2 0x32c irq0 5 drq0 7 drq1 5

COMMENTS:
    It works in U8 and S16 mode, ulaw support still not working.
    The Gus has been discontinued, so support for this card is only
    there for historical reasons (the Gus used to be the only card
    well supported in full duplex mode).


---- THE FOLLOWING CARDS ARE NOT FULLY SUPPORTED: ----

CHIPSET:
    OPTI925: PnP id 0x2509143e

COMMENTS:
    there is code to recognize it as a SB clone. I have reports that
    it probes ok, but not sure if it works.

-------------------------
CHIPSET:
    OPTI924: PnP

COMMENT:
    I have this card but it is still unsupported.

-------------------------
CHIPSET:
    OPTI930:

    should work as an MSS clone, but support for it is not implemented
    yet.

CHIPSET:
    ESS1868
    ESS688

	http://www.esstech.com

    pnp 1 1 os enable irq0 7 drq0 1 port0 0x220

    There used to be documentation for the 1868 on the ESS site
    (files ds1868b1.pdf and ds1868b2.pdf) but I am unable to find
    it now (980122). I have asked ESS but no reply so far.

    partly supported in SB emulation.

    (the ESS688 is used on many notebooks. It is probably able to do 8
    and 16-bit, half duplex).

-------------------------
CHIPSET:
    es1370 (ensoniq)
    es1371 (ensoniq)
    used on SB64 PCI, Shuttle HOT-255, and maybe others

    A driver for this is in the works.
    see http://www.ensoniq.com/multimedia/semi_html/index.htm
    for documentation. See also http://alsa.jcu.cz/alsa/ for a Linux
    driver.

-------------------------
CHIPSET:
    YMF724
    used on various Yamaha (WaveForce) and other cards.

    NOT SUPPORTED.

    There is no public docs on this card, the closest thing being
    http://www.imail.net.tw/qtronix/driver/qumax/yamaha/ds1e1110.pdf
    http://www.imail.net.tw/qtronix/qumax_product_yamaha.htm
    which however does not document how the card works in non-legacy
    mode and how to make it talk to the AC97 codec.


--------------------------------------------------------------------
@


1.9
log
@Add support for ASound Gold card using the ALS120
chipset (a vibra 16x clone)
Identified automatically by its PnP ID

Approved by: Luigi
@
text
@@


1.8
log
@Add Turtle Beach Malibu soundcard (and a sample config) to CARDS as
a real example of a CS4237 soundcard.
Luigi said all contributions like this were welcome in this file.
@
text
@a79 6
    Actual product: Turtle Beach Malibu soundcard (CS4237).  The pnp
    config here is adjusted to leave dma 3 clear for lpr use:

    pnp 1 0 os irq0 15 irq1 0 drq0 1 drq1 0 port0 1332

    That line is in my /boot/kernel.conf (C. Robey, 3/24/99)
d212 1
a212 1
    ALS100, ALS110, ...
d214 2
d219 1
@


1.7
log
@Bring in ad1816 patches from German Tischler.
Fix 'device not configured' problem that people were experiencing
when only PCI devices are present.
@
text
@d80 6
@


1.7.4.1
log
@Import of PAO on the RELENG_3_2_PAO branch.  This is a branch off of
RELENG_3_2_0_RELEASE and does not have any changes since then
integrated.  This is a raw commit of the last PAO3 file.

Commits to userland code will happen later.  This only the commits
src/sys/...

This branch was approved by the core team at Usenix to allow merging
of PAO code into the mainline FreeBSD code.  The hope is that this
will reduce the divergence between the two.  The other hope is that
this branch will soon be made obsolete by merges into FreeBSD -stable
and -current.  I believe that there will be additional commiters from
the nomads group who will work on merging.

I have not tried to build anything out of this branch yet.  The
patched tree I did here built fine, so if something fails to build it
is my fault.

Submitted by:	The PAO team and nomads.
CVS repo appoved by:	Peter Wemm (peter),
	Jun-ichiro Hagino-san (itojun@@itojun.org), John Polkstra (jdp)
Obtained from:	PAO3-19990605.tar.gz
@
text
@a356 1
$Id: CARDS,v 1.5 1999/01/28 10:34:10 sanpei Exp $
@


1.7.2.1
log
@MFC: Add support for ALS120 based ISA sound card (ASound Gold)
identified by its PnP id
@
text
@d212 1
a212 1
    ALS100, ALS110, ALS120, ...
a213 2
    Avance Asound 100+: PnP id 0x10019305
    Avance Logic ALS120: PnP id 0x20019305
a216 1
    Asound Gold (AS007) has an ALS120
@


1.6
log
@Update documentation on cards and config
@
text
@d104 19
@


1.5
log
@spell check
@
text
@d1 5
a5 4
In this file I will try to build a database of cards supported by this
driver. I also include the command to use for manual configuration of
the card in case your BIOS is not PnP-aware. Of course it is your
responsibility to pick up free prot ranges and irq and drq channels.
d8 3
a10 2
cards I have encountered. Underscores in the PnP id mean that there is
a large variety of values in those positions.
d15 1
d17 37
a53 3
CS4236B: PnP id 0x35__630e
CS4236: PnP id 0x36__630e
CS4237: PnP id 0x37__630e
d55 5
d62 1
d65 2
a66 1
    work like a charm. All modes, including full duplex, supported in
d69 18
a86 5
    NOTE: cards based on the 4237, and possibly the 4236 as well,
        connect the CD to AUX2. When used in MODE1/2 (as this driver
	does) there is no route in the input mixer from AUX2 to the
	ADC. So, to record directly from the CD, the only way is
	to set the input to SOUND_MASK_IMIX.
d88 2
a89 1
CS4232: PnP id 0x3242630e
d91 1
d94 1
d105 1
d109 1
d155 1
d206 1
a206 1
    These card should be recognized as SB16 clones. Some of them
d222 2
d314 21
a334 1
    various PCI cards from Ensoniq, OPTI, CreativeLabs.
a335 4
    This code _cannot_ work on these cards as it is now, since I
    don't think they can use the ISA DMA controller. As there are
    no data sheets available for these PCI cards, none of them is
    supported at the moment.
@


1.4
log
@Update the pcm driver to the most recent version. This should
add support for Vibra16X, OPTi925, and bring in several assorted
fixes to the code and documentation.
Also present here are apm hooks so that laptops can properly
reconfigure the hardware after suspend (tested on the Libretto50).
Reviewed by: jordan
@
text
@d143 1
a143 1
    These card should be recognised as SB16 clones. Some of them
@


1.3
log
@Document that we support the CS4236B.
@
text
@d42 3
a44 1
OPTi931: PnP id 0x3109143e
d46 2
a47 1
	http://www.opti.com/  opti931_21.pdf
d49 4
d55 1
d72 15
a86 3
      misses interrupts, or generates spurious ones. Spurious ints are
      not problematic since they can be ignored, but missed ones are
      as you can imagine... This is fixed by auto-dma mode.
d88 2
a89 1
SB16 PnP: PnP id 0x__008c0e
d91 2
a92 1
	http://www.creative.com sbhwpg.pdf or SBHWPG.EXE
d94 1
d97 14
a110 5
    There are many such cards (plain SB16 PnP, AWE32, AWE64, Vibra16,
    etc.) all differing in the PnP id. They have different synthesis
    devices, which we do not support, so we are not affected by these
    differences. Don't worry if the driver identifies the card as a
    different SB16 than the one you have.
d119 1
a119 1
    work, although on my Vibra16 the command to stop DMA transfer
d128 36
a163 20
    NOTE: 980122 I have had a couple of reports from people using
    the Vibra16X (and clones, e.g. based on the Avance Logic
    chipsets) which appears to use two 8-bit DMA channels.  It
    might be possible that new SB16 are able to do true full duplex!
    The driver _does not_ support these boards although the fix
    should be relatively easy.

ASound:
    Avance Logic makes SB clones, and apparently documentation
    is available at

	http://www.realtek.com.tw/cp/cp.html

    these card should be recognised as SB16 clones.

Yamaha SA2/SA3

	http://www.yamaha.com ? YM711.pdf
    (this is a huge file containing a few pages scanned and converted
    to pdf. Not very useful or detailed.)
d165 1
a165 1
    pnp 1 0 os enable port0 0x220 port1 0x530 irq0 5 drq0 1 drq1 5
d170 13
a182 5
    output volume). Currently we set the master volume to 100%.
    Driver reported to work also on Toshiba DynaBook Portege 300CT
    with OPL3SA-3(non-PNP)

Ensoniq Soundscape VIVO
d184 1
d187 1
d190 3
a192 1
GusPnP: PnP id 0x0100561e
d194 4
d200 1
d202 3
d207 1
a207 1
NOT WORKING YET:
d209 2
a210 1
OPTI925: PnP id 0x2509143e
d212 1
d216 3
a218 1
OPTI924: PnP
d220 1
d223 3
a225 1
OPTI930:
d230 3
a232 2
ESS1868
ESS688
d247 8
a254 8
PCI cards:

    some vendors have PCI cards. This code _cannot_ work on these
    cards as it is now, since they cannot obviously use the ISA DMA
    controller. As there are no data sheets available for these PCI
    cards, none of them is supported at the moment, although support
    should be easy as soon as I can put my hands on the data sheets
    and cards.
d256 1
@


1.2
log
@- Updated to Luigi's 2-15-98 code.  The code in 2.2 is the same except for
  select/poll and DEVFS changes, which are limited to an include/define
  in sound.h and the actual select/poll implementation in sound.c

[ This commit is blind, but the code is similar enough that there will
  hopefully be no problems. ]
@
text
@d14 1
@


1.2.4.1
log
@Update to Luigi's latest sound driver for -stable (snd980419).
@
text
@d1 4
a4 5
In this file I will try to build a database of cards supported by
this driver. I also include the command to use for manual configuration
of the card in case your BIOS is not PnP-aware. Of course it is
your responsibility to pick up free port ranges and irq and drq
channels.
d7 2
a8 3
cards I have encountered. Underscores in the PnP id mean that
(I believe) there is a large variety of values in those positions,
and the code in the audio driver generally masks those bits.
a12 1
To my knowledge, there are the following families of audio cards:
d14 3
a16 39
* WSS (also called MSS) and clones:
   these are true full duplex cards, have a very nice architecture and
   are well documented. Chipsets implementing these functionalities
   are made from Crystal, Analog Devices, Yamaha, OPTI.

* SB16 and clones:
   these cards have a higly asymmetric architecture, and are not very
   well suited to full duplex operation. Made by Creative, Realtek.
   There is no documentation on the newer codecs (Vibra16X and ALS100+),
   so they are not fully working.

* ESS
   ESS builds cards that implement a superset of SB16. They are
   often capable of full duplex, but my driver does not support them
   other than in full duplex emulation. My fault, since documentation
   on these cards _is_ available.

* PCI cards.
   I have no documentation on these cards, so they are unsupported by
   my driver. Note that CreativeLabs has recently (fall'97) acquired
   Ensoniq and the audio division of OPTI, both of which had a PCI
   audio chipset. I don't know if there are other manufacturers of PCI
   audio cards.

Finally, some people wrote patches for the following chips:

	AD1816
	MAD16
	ESS
--------------------------
CHIPSET:
    CS4236: PnP id 0x36__630e 0x35__630e
    CS4237: PnP id 0x37__630e

MANUFACTURER:
    A/Open (or AcerOpen) AW32, AW35
    Also, integrated on the motherboard on some machines.
	
DATA SHEETS:
a18 1
PNP CONFIG:
d21 1
a21 2
COMMENTS:
    Work like a charm. All modes, including full duplex, supported in
d24 5
a28 12
    Cards based on the 4237, and possibly the 4236 as well, connect
    the CD to AUX2. When used in MODE1/2 (as this driver does)
    there is no route in the input mixer from AUX2 to the ADC. So,
    to record directly from the CD, the only way is to set the
    input to SOUND_MASK_IMIX.

--------------------------
CHIPSET:
    CS4232: PnP id 0x3242630e

MANUFACTURER:
    ???
d30 1
a30 2
DATA SHEETS:
	http://www.crystal.com/
a31 1
PNP CONFIG:
a33 1
COMMENTS:
d41 1
a41 3
--------------------------
CHIPSET:
    OPTi931: PnP id 0x3109143e
d43 1
a43 2
MANUFACTURER:
    ExpertColor MED931 (europe)
a44 4
DATA SHEETS:
    http://www.opti.com/  opti931_21.pdf

PNP CONFIG:
a46 1
COMMENTS:
d63 3
a65 15
      misses interrupts, or generates spurious ones, or generates
      interrupts before setting the status bits in the registers.
      Spurious ints are not problematic since they can be easily
      ignored, but missing interrupts are a nightmare to handle...
      The only way to have this card work semi-reliably is to use
      auto-dma mode (which is the default mode of operation in the
      driver).
    In any case, these cards are very cheap and widely available and
    are a reasonable solution if you cannot find some other decent WSS
    device.

-------------------------------
CHIPSET:
    SB16: PnP id 0x__008c0e
    Vibra16X: PnP id 0xf0008c0e
d67 1
a67 2
MANUFACTURER:
    CreativeLabs
d69 1
a69 2
DATA SHEETS:
    http://www.creative.com sbhwpg.pdf or SBHWPG.EXE
a70 1
PNP CONFIG:
d73 5
a77 14
COMMENTS:
    SB16 really refers to a large number of different cards, starting
    from the original, non-PnP SB16, to more modern cards (SB16PnP,
    Vibra16C) and other including Wavetable Synthesis (AWE32, AWE64,
    etc.). All these cards have different PnP ID.  They have
    different synthesis devices, which we do not support, so we
    are not affected by these differences. Don't worry if the driver
    identifies the card as a different SB16 than the one you have.

    BEWARE -- all recent (1998 ?) SB16 use a new codec, Vibra16X,
    which is sufficiently different from the old one to not work with
    this driver in capture mode or in full duplex. Documentation is
    not available from Creative. I suggest to stay away from these
    cards (and from SB16 in general).
d86 1
a86 1
    work, although on my Vibra16C the command to stop DMA transfer
d95 20
a114 36
--------------------------
CHIPSET:
    ALS100, ALS110, ...
    Avance Asound 100: PnP id 0x01009305

MANUFACTURER:
    Realtek (also Avance Asound and possibly other names)
     

DOCUMENTATION:
    
    http://www.realtek.com.tw/cp/cp.html
    but not very useful or detailed.

COMMENTS:
    These card should be recognised as SB16 clones. Some of them
    emulate the Vibra16X, so the comments above apply.


------------------------------
CHIPSET:
    Yamaha SA2/SA3 . Both PnP and non-PnP versions.
    OPL3-SA2 Sound Chip: PnP id 0x2000a865
    OPL/SA3 : PnP id 0x3000a865

MANUFACTURER:
    no-name cards, and also used in various laptops, e.g. Toshiba
    Libretto and others. I

DATA SHEETS:
    http://www.yamaha.com ? YM711.pdf

    This is a huge file containing a few pages scanned and converted
    to pdf. Not very detailed. Luckily, this chipset appears to do a
    good (i.e. bug-free) emulation of the WSS, so it is fully
    supported by the driver.
d116 1
a116 1
    pnp 1 0 os enable port0 0x220 port1 0x530 port2 0x388 port3 0x370 irq0 5 drq0 1 drq1 5
d121 5
a125 13
    output volume -- this is at 0x370 or 0x310). Currently we set
    the master volume to 100% for the PnP card. Will put in code to do the
    same for the non PnP card as soon as I find out how to tell
    the Yamaha from other cards.
    Driver reported to work also on
    Toshiba DynaBook Portege 300CT with OPL3SA-3(non-PNP), and on the
    Libretto50CT (has the non-PnP device).

------------------------
CHIPSET:
    ENSONIQ SoundscapeVIVO ENS4081: PnP id 0x8140d315
MANUFACTURER:
    Ensoniq Soundscape VIVO
a126 1
PNP CONFIG:
a128 1
COMMENTS:
d131 1
a131 6
-------------------------
CHIPSET:
    AMD...

MANUFACTURER:
    GusPnP: PnP id 0x0100561e
a132 1
PNP CONFIG:
a134 1
COMMENTS:
a135 3
    The Gus has been discontinued, so support for this card is only
    there for historical reasons (the Gus used to be the only card
    well supported in full duplex mode).
d138 1
a138 1
---- THE FOLLOWING CARDS ARE NOT FULLY SUPPORTED: ----
d140 1
a140 2
CHIPSET:
    OPTI925: PnP id 0x2509143e
a141 1
COMMENTS:
d145 1
a145 3
-------------------------
CHIPSET:
    OPTI924: PnP
a146 1
COMMENT:
d149 1
a149 3
-------------------------
CHIPSET:
    OPTI930:
d154 2
a155 3
CHIPSET:
    ESS1868
    ESS688
d170 8
a177 8
-------------------------
CHIPSET:
    various PCI cards from Ensoniq, OPTI, CreativeLabs.

    This code _cannot_ work on these cards as it is now, since I
    don't think they can use the ISA DMA controller. As there are
    no data sheets available for these PCI cards, none of them is
    supported at the moment.
a178 1
--------------------------------------------------------------------
@


1.2.4.2
log
@Add a reference to documentation
Submitted by:	Bruce Albrecht (bruce@@zuhause.mn.org)
@
text
@a142 1
    ftp://www.creaf.com/pub/creative/devinfo/ctsbhwpg.exe
@


1.2.4.3
log
@Update the -stable driver to what is in -current. Mostly
bugfixes, improved SB16 support, apm hooks. No ESS support
yet, some PnP device IDs still missing.
@
text
@d216 1
a216 1
    pnp 1 0 os enable port0 0x220 port1 0x530 port2 0x388 port3 0x370 irq0 5 drq0 1 drq1 0
@


1.1
log
@Upgrade Luigi's audio driver to Jan/23 version... will bring in Feb/15th
version as soon as I've tested it...

Installed/tested on my home machine...any problems, please report directly
to me.
@
text
@d159 1
a159 1
    pnp 1 1 os enable irq0 7 drq0 1 port1 0x220
@
