Skip to content
  • Ondrej Zary's avatar
    ALSA: introduce snd-cmi8328: C-Media CMI8328 driver · f9933487
    Ondrej Zary authored
    
    
    Introduce snd-cmi8328 driver for C-Media CMI8328-based sound cards, such as
    AudioExcel AV500.
    
    It supports PCM playback and capture (full-duplex) through wss_lib, gameport,
    OPL3 and MPU401. The AV500 card has onboard Dream wavetable synth connected
    to the MPU401 port and Aux 1 input internally which works too.
    The CDROM interface is not supported (as the drivers for these CDROMs were
    removed from the kernel some time ago).
    
    A separate driver is needed because CMI8328 is completely different chip to
    CMI8329/CMI8330. It's configured by magic registers (there's no PnP). Sound is
    provided by a real WSS codec (CS4231A) and the SB part is just a SB Pro
    emulation (for DOS games, useless for Linux).
    
    When SB is enabled, the CMI8328 chip disables access to the WSS codec,
    emulates SoundBlaster on one side and outputs sound data to the codec - so SB
    and WSS can't work together with this card. The WSS codec can do full duplex
    by itself so there's no need for crazy things like snd-cmi8330 does
    (combining SB and WSS parts into one driver).
    
    Signed-off-by: default avatarOndrej Zary <linux@rainbow-software.org>
    Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    f9933487