Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c429bda2 authored by Takashi Iwai's avatar Takashi Iwai
Browse files

Merge branch 'for-next' into for-linus



Pull 4.15 updates to take over the previous urgent fixes.

Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parents 75ee94b2 9718a29d
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -82,6 +82,8 @@ tpt460
    Lenovo Thinkpad T460/560 setup
dual-codecs
    Lenovo laptops with dual codecs
alc700-ref
    Intel reference board with ALC700 codec

ALC66x/67x/892
==============

Documentation/sound/oss/ALS

deleted100644 → 0
+0 −66
Original line number Diff line number Diff line
ALS-007/ALS-100/ALS-200 based sound cards
=========================================

Support for sound cards based around the Avance Logic
ALS-007/ALS-100/ALS-200 chip is included.  These chips are a single
chip PnP sound solution which is mostly hardware compatible with the
Sound Blaster 16 card, with most differences occurring in the use of
the mixer registers.  For this reason the ALS code is integrated
as part of the Sound Blaster 16 driver (adding only 800 bytes to the
SB16 driver).

To use an ALS sound card under Linux, enable the following options as
modules in the sound configuration section of the kernel config:
  - 100% Sound Blaster compatibles (SB16/32/64, ESS, Jazz16) support
  - FM synthesizer (YM3812/OPL-3) support 
  - standalone MPU401 support may be required for some cards; for the
    ALS-007, when using isapnptools, it is required
Since the ALS-007/100/200 are PnP cards, ISAPnP support should probably be
compiled in.  If kernel level PnP support is not included, isapnptools will
be required to configure the card before the sound modules are loaded.

When using kernel level ISAPnP, the kernel should correctly identify and
configure all resources required by the card when the "sb" module is
inserted.  Note that the ALS-007 does not have a 16 bit DMA channel and that
the MPU401 interface on this card uses a different interrupt to the audio
section.  This should all be correctly configured by the kernel; if problems
with the MPU401 interface surface, try using the standalone MPU401 module,
passing "0" as the "sb" module's "mpu_io" module parameter to prevent the
soundblaster driver attempting to register the MPU401 itself.  The onboard
synth device can be accessed using the "opl3" module.

If isapnptools is used to wake up the sound card (as in 2.2.x), the settings
of the card's resources should be passed to the kernel modules ("sb", "opl3"
and "mpu401") using the module parameters.  When configuring an ALS-007, be
sure to specify different IRQs for the audio and MPU401 sections - this card
requires they be different.  For "sb", "io", "irq" and "dma" should be set
to the same values used to configure the audio section of the card with
isapnp.  "dma16" should be explicitly set to "-1" for an ALS-007 since this
card does not have a 16 bit dma channel; if not specified the kernel will
default to using channel 5 anyway which will cause audio not to work. 
"mpu_io" should be set to 0.  The "io" parameter of the "opl3" module should
also agree with the setting used by isapnp.  To get the MPU401 interface
working on an ALS-007 card, the "mpu401" module will be required since this
card uses separate IRQs for the audio and MPU401 sections and there is no
parameter available to pass a different IRQ to the "sb" driver (whose
inbuilt MPU401 driver would otherwise be fine).  Insert the mpu401 module
passing appropriate values using the "io" and "irq" parameters.

The resulting sound driver will provide the following capabilities:
  - 8 and 16 bit audio playback
  - 8 and 16 bit audio recording
  - Software selection of record source (line in, CD, FM, mic, master)
  - Record and playback of midi data via the external MPU-401
  - Playback of midi data using inbuilt FM synthesizer
  - Control of the ALS-007 mixer via any OSS-compatible mixer programs. 
    Controls available are Master (L&R), Line in (L&R), CD (L&R), 
    DSP/PCM/audio out (L&R), FM (L&R) and Mic in (mono).

Jonathan Woithe
jwoithe@just42.net
30 March 1998

Modified 2000-02-26 by Dave Forrest, drf5n@virginia.edu to add ALS100/ALS200
Modified 2000-04-10 by Paul Laufer, pelaufer@csupomona.edu to add ISAPnP info.
Modified 2000-11-19 by Jonathan Woithe, jwoithe@just42.net
 - updated information for kernel 2.4.x.
+0 −101
Original line number Diff line number Diff line
Driver
------

Information about Audio Excel DSP 16 driver can be found in the source
file aedsp16.c
Please, read the head of the source before using it. It contain useful
information.

Configuration
-------------

The Audio Excel configuration, is now done with the standard Linux setup.
You have to configure the sound card (Sound Blaster or Microsoft Sound System)
and, if you want it, the Roland MPU-401 (do not use the Sound Blaster MPU-401,
SB-MPU401) in the main driver menu. Activate the lowlevel drivers then select
the Audio Excel hardware that you want to initialize. Check the IRQ/DMA/MIRQ
of the Audio Excel initialization: it must be the same as the SBPRO (or MSS)
setup. If the parameters are different, correct it.
I you own a Gallant's audio card based on SC-6600, activate the SC-6600 support.
If you want to change the configuration of the sound board, be sure to
check off all the configuration items before re-configure it.

Module parameters
-----------------
To use this driver as a module, you must configure some module parameters, to
set up I/O addresses, IRQ lines and DMA channels. Some parameters are
mandatory while some others are optional. Here a list of parameters you can
use with this module:

Name		Description
====		===========
MANDATORY
io		I/O base address (0x220 or 0x240)
irq		irq line (5, 7, 9, 10 or 11)
dma		dma channel (0, 1 or 3)

OPTIONAL
mss_base	I/O base address for activate MSS mode (default SBPRO)
		(0x530 or 0xE80)
mpu_base	I/O base address for activate MPU-401 mode
		(0x300, 0x310, 0x320 or 0x330)
mpu_irq		MPU-401 irq line (5, 7, 9, 10 or 0)

A configuration file in /etc/modprobe.d/ directory will have lines like this:

options opl3 io=0x388
options ad1848 io=0x530 irq=11 dma=3
options aedsp16 io=0x220 irq=11 dma=3 mss_base=0x530

Where the aedsp16 options are the options for this driver while opl3 and
ad1848 are the corresponding options for the MSS and OPL3 modules.

Loading MSS and OPL3 needs to pre load the aedsp16 module to set up correctly
the sound card. Installation dependencies must be written in configuration
files under /etc/modprobe.d/ directory:

softdep ad1848 pre: aedsp16
softdep opl3 pre: aedsp16

Then you must load the sound modules stack in this order:
sound -> aedsp16 -> [ ad1848, opl3 ]

With the above configuration, loading ad1848 or opl3 modules, will
automatically load all the sound stack.

Sound cards supported
---------------------
This driver supports the SC-6000 and SC-6600 based Gallant's sound card.
It don't support the Audio Excel DSP 16 III (try the SC-6600 code).
I'm working on the III version of the card: if someone have useful
information about it, please let me know.
For all the non-supported audio cards, you have to boot MS-DOS (or WIN95)
activating the audio card with the MS-DOS device driver, then you have to
<ctrl>-<alt>-<del> and boot Linux.
Follow these steps:

1) Compile Linux kernel with standard sound driver, using the emulation
   you want, with the parameters of your audio card,
   e.g. Microsoft Sound System irq10 dma3
2) Install your new kernel as the default boot kernel.
3) Boot MS-DOS and configure the audio card with the boot time device
   driver, for MSS irq10 dma3 in our example.
4) <ctrl>-<alt>-<del> and boot Linux. This will maintain the DOS configuration
   and will boot the new kernel with sound driver. The sound driver will find
   the audio card and will recognize and attach it.

Reports on User successes
-------------------------

> Date: Mon, 29 Jul 1996 08:35:40 +0100
> From: Mr S J Greenaway <sjg95@unixfe.rl.ac.uk>
> To: riccardo@cdc8g5.cdc.polimi.it (Riccardo Facchetti)
> Subject: Re: Audio Excel DSP 16 initialization code
>
> Just to let you know got my Audio Excel (emulating a MSS) working
> with my original SB16, thanks for the driver!


Last revised: 20 August 1998
Riccardo Facchetti
fizban@tin.it

Documentation/sound/oss/CMI8330

deleted100644 → 0
+0 −152
Original line number Diff line number Diff line
Documentation for CMI 8330 (SoundPRO) 
-------------------------------------
Alessandro Zummo <azummo@ita.flashnet.it>

( Be sure to read Documentation/sound/oss/SoundPro too )


This adapter is now directly supported by the sb driver.

 The only thing you have to do is to compile the kernel sound
support as a module and to enable kernel ISAPnP support,
as shown below.


CONFIG_SOUND=m
CONFIG_SOUND_SB=m

CONFIG_PNP=y
CONFIG_ISAPNP=y


and optionally:


CONFIG_SOUND_MPU401=m

 for MPU401 support.


(I suggest you to use "make menuconfig" or "make xconfig" 
 for a more comfortable configuration editing)



Then you can do

 modprobe sb

and everything will be (hopefully) configured.

You should get something similar in syslog:

sb: CMI8330 detected.
sb: CMI8330 sb base located at 0x220
sb: CMI8330 mpu base located at 0x330
sb: CMI8330 mail reports to Alessandro Zummo <azummo@ita.flashnet.it>
sb: ISAPnP reports CMI 8330 SoundPRO at i/o 0x220, irq 7, dma 1,5




The old documentation file follows for reference
purposes.


How to enable CMI 8330 (SOUNDPRO) soundchip on Linux
------------------------------------------
Stefan Laudat <Stefan.Laudat@asit.ro>

[Note: The CMI 8338 is unrelated and is supported by cmpci.o]

	
	In order to use CMI8330 under Linux  you just have to use a proper isapnp.conf, a good isapnp and a little bit of patience.  I use isapnp 1.17, but
you may get a better one I guess at http://www.roestock.demon.co.uk/isapnptools/.

	Of course you will have to compile kernel sound support as module, as shown below:

CONFIG_SOUND=m
CONFIG_SOUND_OSS=m
CONFIG_SOUND_SB=m
CONFIG_SOUND_ADLIB=m
CONFIG_SOUND_MPU401=m
# Mikro$chaft sound system (kinda useful here ;))	
CONFIG_SOUND_MSS=m

	The /etc/isapnp.conf file will be:

<snip below>


(READPORT 0x0203)
(ISOLATE PRESERVE)
(IDENTIFY *)
(VERBOSITY 2)
(CONFLICT (IO FATAL)(IRQ FATAL)(DMA FATAL)(MEM FATAL)) # or WARNING
(VERIFYLD N)


# WSS 

(CONFIGURE CMI0001/16777472 (LD 0
(IO 0 (SIZE 8) (BASE 0x0530))
(IO 1 (SIZE 8) (BASE 0x0388))
(INT 0 (IRQ 7 (MODE +E)))
(DMA 0 (CHANNEL 0))
(NAME "CMI0001/16777472[0]{CMI8330/C3D Audio Adapter}")
(ACT Y)
))

# MPU

(CONFIGURE CMI0001/16777472 (LD 1
(IO 0 (SIZE 2) (BASE 0x0330))
(INT 0 (IRQ 11 (MODE +E)))
(NAME "CMI0001/16777472[1]{CMI8330/C3D Audio Adapter}")
(ACT Y)
))

# Joystick

(CONFIGURE CMI0001/16777472 (LD 2
(IO 0 (SIZE 8) (BASE 0x0200))
(NAME "CMI0001/16777472[2]{CMI8330/C3D Audio Adapter}")
(ACT Y)
))

# SoundBlaster 
 
(CONFIGURE CMI0001/16777472 (LD 3
(IO 0 (SIZE 16) (BASE 0x0220))
(INT 0 (IRQ 5 (MODE +E)))
(DMA 0 (CHANNEL 1))
(DMA 1 (CHANNEL 5))
(NAME "CMI0001/16777472[3]{CMI8330/C3D Audio Adapter}")
(ACT Y)
))


(WAITFORKEY)

<end of snip>

	The module sequence is trivial:

/sbin/insmod soundcore
/sbin/insmod sound
/sbin/insmod uart401
# insert this first
/sbin/insmod ad1848 io=0x530 irq=7 dma=0 soundpro=1
# The sb module is an alternative to the ad1848 (Microsoft Sound System)
# Anyhow, this is full duplex and has MIDI
/sbin/insmod sb io=0x220 dma=1 dma16=5 irq=5 mpu_io=0x330



Alma Chao <elysian@ethereal.torsion.org> suggests the following in
a /etc/modprobe.d/*conf file:

alias sound ad1848
alias synth0 opl3
options ad1848 io=0x530 irq=7 dma=0 soundpro=1
options opl3 io=0x388

Documentation/sound/oss/ESS

deleted100644 → 0
+0 −34
Original line number Diff line number Diff line
Documentation for the ESS AudioDrive chips

In 2.4 kernels the SoundBlaster driver not only tries to detect an ESS chip, it
tries to detect the type of ESS chip too. The correct detection of the chip 
doesn't always succeed however, so unless you use the kernel isapnp facilities
(and you chip is pnp capable) the default behaviour is 2.0 behaviour which
means: only detect ES688 and ES1688.

All ESS chips now have a recording level setting. This is a need-to-have for
people who want to use their ESS for recording sound.

Every chip that's detected as a later-than-es1688 chip has a 6 bits logarithmic
master volume control.

Every chip that's detected as a ES1887 now has Full Duplex support. Made a 
little testprogram that shows that is works, haven't seen a real program that
needs this however.

For ESS chips an additional parameter "esstype" can be specified. This controls
the (auto) detection of the ESS chips. It can have 3 kinds of values:

-1   Act like 2.0 kernels: only detect ES688 or ES1688.
0	 Try to auto-detect the chip (may fail for ES1688)
688  The chip will be treated as  ES688
1688  ,,  ,,   ,,  ,,    ,,   ,, ES1688
1868  ,,  ,,   ,,  ,,    ,,   ,, ES1868
1869  ,,  ,,   ,,  ,,    ,,   ,, ES1869
1788  ,,  ,,   ,,  ,,    ,,   ,, ES1788
1887  ,,  ,,   ,,  ,,    ,,   ,, ES1887
1888  ,,  ,,   ,,  ,,    ,,   ,, ES1888

Because Full Duplex is supported for ES1887 you can specify a second DMA
channel by specifying module parameter dma16. It can be one of: 0, 1, 3 or 5.
Loading