Skip to contentSkip to conversation

snd-waveartist: Introduce Rockwell WaveArtist RWA010 driver

PATCH Superseded Ondrej Zary 1 participant 2 messages Mar 8, 2015

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

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
index e942096..8fceeba 100644
@@ -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
index 0216475..7a3b4a2 100644
@@ -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
index 9a15f14..23e11e2 100644
@@ -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
#1 lore raw

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
index 7c21784..b86c4c8 100644
@@ -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