[alsa-devel] [PATCH] opti93x: opti931 + QS1000 wavetable

Krzysztof Helt krzysztof.h1 at poczta.fm
Wed Sep 19 22:42:27 CEST 2007

From: Krzysztof Helt <krzysztof.h1 at wp.pl>

This patch adds support for a wavetable chip on 
the BTC 1817DW board.
The QS1000 is connected through the digital input
to the Opti931 chip.

Signed-off-by: Krzysztof Helt <krzysztof.h1 at wp.pl>


This is not a hot-fix and can be postponed after 1.0.15
(before Takashi asks).

A cornerstone of this patch is to set the auto-source
selection for the FM DAC. This way it does not affects
boards using the FM OPL synthesizers which do
not use the digital input.
If any other wavetable is connected to the opti chip
through the digital input, the format setting (MC_REG(21))
should be revised if it is correct for the new board.
However, in the whole opti92x-ad1848 this
register was never touched (so probably nobody
ever used the digital input ).


diff -urp linux-ref/sound/isa/opti9xx/opti92x-ad1848.c linux-2.6.23/sound/isa/opti9xx/opti92x-ad1848.c
--- linux-ref/sound/isa/opti9xx/opti92x-ad1848.c	2007-09-12 13:33:51.000000000 +0200
+++ linux-2.6.23/sound/isa/opti9xx/opti92x-ad1848.c	2007-09-19 22:13:02.000000000 +0200
@@ -501,6 +501,16 @@ static int __devinit snd_opti9xx_configu
 			(chip->hardware == OPTi9XX_HW_82C930 ? 0x00 : 0x04),
 		snd_opti9xx_write_mask(chip, OPTi9XX_MC_REG(5), 0x20, 0xbf);
+		/* 
+		 * The BTC 1817DW has QS1000 wavetable which is connected
+		 * to the serial digital input of the OPTI931.
+		 */
+		snd_opti9xx_write_mask(chip, OPTi9XX_MC_REG(21), 0x82, 0xff);
+		/* 
+		 * This bit sets OPTI931 to automaticaly select FM
+		 * or digital input signal.
+		 */
+		snd_opti9xx_write_mask(chip, OPTi9XX_MC_REG(26), 0x01, 0x01);
 #endif	/* OPTi93X */

Zaaresztuj ministra Koszmarka!

More information about the Alsa-devel mailing list