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

Commit 9025cea8 authored by Oswald Buddenhagen's avatar Oswald Buddenhagen Committed by Greg Kroah-Hartman
Browse files

ALSA: hda/sigmatel: fix S/PDIF out on Intel D*45* motherboards



commit f342ac00da1064eb4f94b1f4bcacbdfea955797a upstream.

The BIOS botches this one completely - it says the 2nd S/PDIF output is
used, while in fact it's the 1st one. This is tested on DP45SG, but I'm
assuming it's valid for the other boards in the series as well.

Also add some comments regarding the pins.
FWIW, the codec is apparently still sold by Tempo Semiconductor, Inc.,
where one can download the documentation.

Signed-off-by: default avatarOswald Buddenhagen <oswald.buddenhagen@gmx.de>
Cc: <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/20230405201220.2197826-2-oswald.buddenhagen@gmx.de


Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 4d419195
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -1701,6 +1701,7 @@ static const struct snd_pci_quirk stac925x_fixup_tbl[] = {
};

static const struct hda_pintbl ref92hd73xx_pin_configs[] = {
	// Port A-H
	{ 0x0a, 0x02214030 },
	{ 0x0b, 0x02a19040 },
	{ 0x0c, 0x01a19020 },
@@ -1709,9 +1710,12 @@ static const struct hda_pintbl ref92hd73xx_pin_configs[] = {
	{ 0x0f, 0x01014010 },
	{ 0x10, 0x01014020 },
	{ 0x11, 0x01014030 },
	// CD in
	{ 0x12, 0x02319040 },
	// Digial Mic ins
	{ 0x13, 0x90a000f0 },
	{ 0x14, 0x90a000f0 },
	// Digital outs
	{ 0x22, 0x01452050 },
	{ 0x23, 0x01452050 },
	{}
@@ -1752,6 +1756,7 @@ static const struct hda_pintbl alienware_m17x_pin_configs[] = {
};

static const struct hda_pintbl intel_dg45id_pin_configs[] = {
	// Analog outputs
	{ 0x0a, 0x02214230 },
	{ 0x0b, 0x02A19240 },
	{ 0x0c, 0x01013214 },
@@ -1759,6 +1764,9 @@ static const struct hda_pintbl intel_dg45id_pin_configs[] = {
	{ 0x0e, 0x01A19250 },
	{ 0x0f, 0x01011212 },
	{ 0x10, 0x01016211 },
	// Digital output
	{ 0x22, 0x01451380 },
	{ 0x23, 0x40f000f0 },
	{}
};