snd-waveartist: Introduce Rockwell WaveArtist RWA010 driver
Subsystems (2)
PATCH 1/2 snd-waveartist: Introduce Rockwell WaveArtist RWA010 driver
This is a new ALSA driver driver for Rockwell WaveArtist RWA010 chips found on some (rare) ISA sound cards, such as DCS Multimedia S717.
I wasn't able to get the old OSS WaveArtist driver to work with my card but it was a great source of information about the chip (as the full datasheet is not available - only a brief one and a design guide).
However, the OSS driver only supports few of the mixer registers so I had to install the card in Windows and dump mixer registers while changing the mixer settings. Then tried what the rest of the registers do and the result is a fully working mixer which even supports more controls than the Windows driver.
Someone with a NetWinder can add support for it to this driver and then remove the old OSS one.
--- include/sound/mpu401.h | 1 + sound/isa/Kconfig | 11 + sound/isa/Makefile | 2 + sound/isa/waveartist.c | 1399 ++++++++++++++++++++++++++++++++++++++++++++++++ sound/isa/waveartist.h | 74 +++ 5 files changed, 1487 insertions(+) create mode 100644 sound/isa/waveartist.c create mode 100644 sound/isa/waveartist.h
include/sound/mpu401.h +1 -0
@@ -44,6 +44,7 @@#define MPU401_HW_INTEL8X0 17/* Intel8x0 driver */ #define MPU401_HW_PC98II 18/* Roland PC98II */ #define MPU401_HW_AUREAL 19/* Aureal Vortex */ +#define MPU401_HW_WAVEARTIST 20/* Rockwell WaveArtist */ #define MPU401_INFO_INPUT (1 << 0)/* input stream */ #define MPU401_INFO_OUTPUT (1 << 1)/* output stream */
sound/isa/Kconfig +11 -0
@@ -454,5 +454,16 @@ config SND_MSND_CLASSIC To compile this driver as a module, choose M here: the module will be called snd-msnd-classic. +config SND_WAVEARTIST + tristate "Rockwell WaveArtist RWA010" + select SND_OPL3_LIB + select SND_MPU401_UART + select SND_PCM + help + Say Y here to include support for Rockwell WaveArtist RWA010 chips. + + To compile this driver as a module, choose M here: the module + will be called snd-waveartist. + endif # SND_ISA
sound/isa/Makefile +2 -0
@@ -12,6 +12,7 @@ snd-es18xx-objs := es18xx.o snd-opl3sa2-objs := opl3sa2.o snd-sc6000-objs := sc6000.o snd-sscape-objs := sscape.o +snd-waveartist-objs := waveartist.o # Toplevel Module Dependency obj-$(CONFIG_SND_ADLIB) += snd-adlib.o
@@ -23,6 +24,7 @@ obj-$(CONFIG_SND_ES18XX) += snd-es18xx.o obj-$(CONFIG_SND_OPL3SA2) += snd-opl3sa2.o obj-$(CONFIG_SND_SC6000) += snd-sc6000.o obj-$(CONFIG_SND_SSCAPE) += snd-sscape.o +obj-$(CONFIG_SND_WAVEARTIST) += snd-waveartist.o obj-$(CONFIG_SND) += ad1816a/ ad1848/ cs423x/ es1688/ galaxy/ gus/ msnd/ opti9xx/ \ sb/ wavefront/ wss/
sound/isa/waveartist.c new file +1399 -0
1,399 lines not on this page · raw message
sound/isa/waveartist.h new file +74 -0
74 lines not on this page · raw message
Signature · 1 line
Ondrej Zary
PATCH 2/2 ns558: Add Rockwell WaveArtist gameport ID
Add support for gameport on Rockwell WaveArtist based sound cards.
--- drivers/input/gameport/ns558.c | 1 + 1 file changed, 1 insertion(+)
drivers/input/gameport/ns558.c +1 -0
@@ -189,6 +189,7 @@ static const struct pnp_device_id pnp_devids[] = { { .id = "YMH0006", .driver_data = 0 }, /* Opl3-SA */ { .id = "YMH0022", .driver_data = 0 }, /* Opl3-SAx */ { .id = "PNPb02f", .driver_data = 0 }, /* Generic */ + { .id = "RSS5004", .driver_data = 0 }, /* Rockwell WaveArtist */ { .id = "", }, };
Signature · 1 line
Ondrej Zary