mirror of
https://github.com/adulau/aha.git
synced 2024-12-28 19:56:18 +00:00
[ALSA] Add snd-miro driver
Added snd-miro driver for miroSOUND PCM by Martin Langer. Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
cbac4b0cb6
commit
1841f613fd
5 changed files with 1563 additions and 0 deletions
|
@ -1014,6 +1014,23 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
|
|||
|
||||
The power-management is supported.
|
||||
|
||||
Module snd-miro
|
||||
---------------
|
||||
|
||||
Module for Miro soundcards: miroSOUND PCM 1 pro,
|
||||
miroSOUND PCM 12,
|
||||
miroSOUND PCM 20 Radio.
|
||||
|
||||
port - Port # (0x530,0x604,0xe80,0xf40)
|
||||
irq - IRQ # (5,7,9,10,11)
|
||||
dma1 - 1st dma # (0,1,3)
|
||||
dma2 - 2nd dma # (0,1)
|
||||
mpu_port - MPU-401 port # (0x300,0x310,0x320,0x330)
|
||||
mpu_irq - MPU-401 irq # (5,7,9,10)
|
||||
fm_port - FM Port # (0x388)
|
||||
wss - enable WSS mode
|
||||
ide - enable onboard ide support
|
||||
|
||||
Module snd-mixart
|
||||
-----------------
|
||||
|
||||
|
|
|
@ -292,6 +292,20 @@ config SND_OPTI93X
|
|||
To compile this driver as a module, choose M here: the module
|
||||
will be called snd-opti93x.
|
||||
|
||||
config SND_MIRO
|
||||
tristate "Miro miroSOUND PCM1pro/PCM12/PCM20radio driver"
|
||||
depends on SND
|
||||
select SND_OPL4_LIB
|
||||
select SND_CS4231_LIB
|
||||
select SND_MPU401_UART
|
||||
select SND_PCM
|
||||
help
|
||||
Say 'Y' or 'M' to include support for Miro miroSOUND PCM1 pro,
|
||||
miroSOUND PCM12 and miroSOUND PCM20 Radio soundcards.
|
||||
|
||||
To compile this driver as a module, choose M here: the module
|
||||
will be called snd-miro.
|
||||
|
||||
config SND_SB8
|
||||
tristate "Sound Blaster 1.0/2.0/Pro (8-bit)"
|
||||
depends on SND
|
||||
|
|
|
@ -6,8 +6,10 @@
|
|||
snd-opti92x-ad1848-objs := opti92x-ad1848.o
|
||||
snd-opti92x-cs4231-objs := opti92x-cs4231.o
|
||||
snd-opti93x-objs := opti93x.o
|
||||
snd-miro-objs := miro.o
|
||||
|
||||
# Toplevel Module Dependency
|
||||
obj-$(CONFIG_SND_OPTI92X_AD1848) += snd-opti92x-ad1848.o
|
||||
obj-$(CONFIG_SND_OPTI92X_CS4231) += snd-opti92x-cs4231.o
|
||||
obj-$(CONFIG_SND_OPTI93X) += snd-opti93x.o
|
||||
obj-$(CONFIG_SND_MIRO) += snd-miro.o
|
||||
|
|
1457
sound/isa/opti9xx/miro.c
Normal file
1457
sound/isa/opti9xx/miro.c
Normal file
File diff suppressed because it is too large
Load diff
73
sound/isa/opti9xx/miro.h
Normal file
73
sound/isa/opti9xx/miro.h
Normal file
|
@ -0,0 +1,73 @@
|
|||
#ifndef _MIRO_H_
|
||||
#define _MIRO_H_
|
||||
|
||||
#define ACI_REG_COMMAND 0 /* write register offset */
|
||||
#define ACI_REG_STATUS 1 /* read register offset */
|
||||
#define ACI_REG_BUSY 2 /* busy register offset */
|
||||
#define ACI_REG_RDS 2 /* PCM20: RDS register offset */
|
||||
#define ACI_MINTIME 500 /* ACI time out limit */
|
||||
|
||||
#define ACI_SET_MUTE 0x0d
|
||||
#define ACI_SET_POWERAMP 0x0f
|
||||
#define ACI_SET_TUNERMUTE 0xa3
|
||||
#define ACI_SET_TUNERMONO 0xa4
|
||||
#define ACI_SET_IDE 0xd0
|
||||
#define ACI_SET_WSS 0xd1
|
||||
#define ACI_SET_SOLOMODE 0xd2
|
||||
#define ACI_SET_PREAMP 0x03
|
||||
#define ACI_GET_PREAMP 0x21
|
||||
#define ACI_WRITE_TUNE 0xa7
|
||||
#define ACI_READ_TUNERSTEREO 0xa8
|
||||
#define ACI_READ_TUNERSTATION 0xa9
|
||||
#define ACI_READ_VERSION 0xf1
|
||||
#define ACI_READ_IDCODE 0xf2
|
||||
#define ACI_INIT 0xff
|
||||
#define ACI_STATUS 0xf0
|
||||
#define ACI_S_GENERAL 0x00
|
||||
#define ACI_ERROR_OP 0xdf
|
||||
|
||||
/* ACI Mixer */
|
||||
|
||||
/* These are the values for the right channel GET registers.
|
||||
Add an offset of 0x01 for the left channel register.
|
||||
(left=right+0x01) */
|
||||
|
||||
#define ACI_GET_MASTER 0x03
|
||||
#define ACI_GET_MIC 0x05
|
||||
#define ACI_GET_LINE 0x07
|
||||
#define ACI_GET_CD 0x09
|
||||
#define ACI_GET_SYNTH 0x0b
|
||||
#define ACI_GET_PCM 0x0d
|
||||
#define ACI_GET_LINE1 0x10 /* Radio on PCM20 */
|
||||
#define ACI_GET_LINE2 0x12
|
||||
|
||||
#define ACI_GET_EQ1 0x22 /* from Bass ... */
|
||||
#define ACI_GET_EQ2 0x24
|
||||
#define ACI_GET_EQ3 0x26
|
||||
#define ACI_GET_EQ4 0x28
|
||||
#define ACI_GET_EQ5 0x2a
|
||||
#define ACI_GET_EQ6 0x2c
|
||||
#define ACI_GET_EQ7 0x2e /* ... to Treble */
|
||||
|
||||
/* And these are the values for the right channel SET registers.
|
||||
For left channel access you have to add an offset of 0x08.
|
||||
MASTER is an exception, which needs an offset of 0x01 */
|
||||
|
||||
#define ACI_SET_MASTER 0x00
|
||||
#define ACI_SET_MIC 0x30
|
||||
#define ACI_SET_LINE 0x31
|
||||
#define ACI_SET_CD 0x34
|
||||
#define ACI_SET_SYNTH 0x33
|
||||
#define ACI_SET_PCM 0x32
|
||||
#define ACI_SET_LINE1 0x35 /* Radio on PCM20 */
|
||||
#define ACI_SET_LINE2 0x36
|
||||
|
||||
#define ACI_SET_EQ1 0x40 /* from Bass ... */
|
||||
#define ACI_SET_EQ2 0x41
|
||||
#define ACI_SET_EQ3 0x42
|
||||
#define ACI_SET_EQ4 0x43
|
||||
#define ACI_SET_EQ5 0x44
|
||||
#define ACI_SET_EQ6 0x45
|
||||
#define ACI_SET_EQ7 0x46 /* ... to Treble */
|
||||
|
||||
#endif /* _MIRO_H_ */
|
Loading…
Reference in a new issue