* Add support for Sigmatel STAC9202/9250/9251 codecs.
@ 2007-01-02 19:31 Tobin Davis
2007-01-08 11:24 ` Takashi Iwai
2007-01-16 16:24 ` Nicholas Taylor
0 siblings, 2 replies; 6+ messages in thread
From: Tobin Davis @ 2007-01-02 19:31 UTC (permalink / raw)
To: alsa-devel
[-- Attachment #1: Type: text/plain, Size: 394 bytes --]
Summary: Add support for Sigmatel STAC9202/9250/9251 codecs.
This patch adds support for Gateway laptops based on the
Sigmatel STAC9250 codecs, as well as basic support for
STAC9202/9250/9251 codecs. Some Gateway systems require
probe_mask=1 to work. More work to be done prior to alsa 1.0.14
final.
Signed off by Tobin Davis <tdavis@dsl-only.net>
[-- Attachment #2: gateway.patch --]
[-- Type: text/x-patch, Size: 6835 bytes --]
diff -r 9998aa91f5da Documentation/ALSA-Configuration.txt
--- a/Documentation/ALSA-Configuration.txt Fri Dec 22 12:44:25 2006 +0100
+++ b/Documentation/ALSA-Configuration.txt Tue Jan 02 11:27:11 2007 -0800
@@ -814,8 +814,9 @@ Prior to version 0.9.0rc4 options had a
ALC882/885
3stack-dig 3-jack with SPDIF I/O
- 6stck-dig 6-jack digital with SPDIF I/O
+ 6stack-dig 6-jack digital with SPDIF I/O
arima Arima W820Di1
+ macpro MacPro support
auto auto-config reading BIOS (default)
ALC883/888
@@ -888,6 +889,11 @@ Prior to version 0.9.0rc4 options had a
ref Reference board
3stack D945 3stack
5stack D945 5stack + SPDIF
+
+ STAC9202/9250/9251
+ ref Reference board, base config
+ m2-2 Some Gateway MX series laptops
+ m6 Some Gateway NX series laptops
STAC9227/9228/9229/927x
ref Reference board
diff -r 9998aa91f5da pci/hda/patch_sigmatel.c
--- a/pci/hda/patch_sigmatel.c Fri Dec 22 12:44:25 2006 +0100
+++ b/pci/hda/patch_sigmatel.c Mon Jan 01 22:48:14 2007 -0800
@@ -48,6 +48,13 @@ enum {
};
enum {
+ STAC_925x_REF,
+ STAC_M2_2,
+ STAC_MA6,
+ STAC_925x_MODELS
+};
+
+enum {
STAC_D945_REF,
STAC_D945GTP3,
STAC_D945GTP5,
@@ -129,6 +136,18 @@ static hda_nid_t stac9200_dac_nids[1] =
0x02,
};
+static hda_nid_t stac925x_adc_nids[1] = {
+ 0x03,
+};
+
+static hda_nid_t stac925x_mux_nids[1] = {
+ 0x0f,
+};
+
+static hda_nid_t stac925x_dac_nids[1] = {
+ 0x02,
+};
+
static hda_nid_t stac922x_adc_nids[2] = {
0x06, 0x07,
};
@@ -160,6 +179,11 @@ static hda_nid_t stac9200_pin_nids[8] =
static hda_nid_t stac9200_pin_nids[8] = {
0x08, 0x09, 0x0d, 0x0e,
0x0f, 0x10, 0x11, 0x12,
+};
+
+static hda_nid_t stac925x_pin_nids[8] = {
+ 0x07, 0x08, 0x0a, 0x0b,
+ 0x0c, 0x0d, 0x10, 0x11,
};
static hda_nid_t stac922x_pin_nids[10] = {
@@ -238,6 +262,12 @@ static struct hda_verb stac9200_core_ini
static struct hda_verb stac9200_core_init[] = {
/* set dac0mux for dac converter */
{ 0x07, AC_VERB_SET_CONNECT_SEL, 0x00},
+ {}
+};
+
+static struct hda_verb stac925x_core_init[] = {
+ /* set dac0mux for dac converter */
+ { 0x06, AC_VERB_SET_CONNECT_SEL, 0x00},
{}
};
@@ -283,6 +313,23 @@ static struct snd_kcontrol_new stac9200_
HDA_CODEC_VOLUME("Capture Volume", 0x0a, 0, HDA_OUTPUT),
HDA_CODEC_MUTE("Capture Switch", 0x0a, 0, HDA_OUTPUT),
HDA_CODEC_VOLUME("Capture Mux Volume", 0x0c, 0, HDA_OUTPUT),
+ { } /* end */
+};
+
+static struct snd_kcontrol_new stac925x_mixer[] = {
+ HDA_CODEC_VOLUME("Master Playback Volume", 0xe, 0, HDA_OUTPUT),
+ HDA_CODEC_MUTE("Master Playback Switch", 0xe, 0, HDA_OUTPUT),
+ {
+ .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
+ .name = "Input Source",
+ .count = 1,
+ .info = stac92xx_mux_enum_info,
+ .get = stac92xx_mux_enum_get,
+ .put = stac92xx_mux_enum_put,
+ },
+ HDA_CODEC_VOLUME("Capture Volume", 0x09, 0, HDA_OUTPUT),
+ HDA_CODEC_MUTE("Capture Switch", 0x09, 0, HDA_OUTPUT),
+ HDA_CODEC_VOLUME("Capture Mux Volume", 0x0f, 0, HDA_OUTPUT),
{ } /* end */
};
@@ -408,6 +455,43 @@ static struct snd_pci_quirk stac9200_cfg
"Dell Latitude D620", STAC_REF),
SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x01cb,
"Dell Latitude 120L", STAC_REF),
+ {} /* terminator */
+};
+
+static unsigned int ref925x_pin_configs[8] = {
+ 0x40c003f0, 0x424503f2, 0x01813022, 0x02a19021,
+ 0x90a70320, 0x02214210, 0x400003f1, 0x9033032e,
+};
+
+static unsigned int stac925x_MA6_pin_configs[8] = {
+ 0x40c003f0, 0x424503f2, 0x01813022, 0x02a19021,
+ 0x90a70320, 0x90100211, 0x400003f1, 0x9033032e,
+};
+
+static unsigned int stac925xM2_2_pin_configs[8] = {
+ 0x40c003f3, 0x424503f2, 0x041800f4, 0x02a19020,
+ 0x50a103F0, 0x90100210, 0x400003f1, 0x9033032e,
+};
+
+static unsigned int *stac925x_brd_tbl[STAC_925x_MODELS] = {
+ [STAC_REF] = ref925x_pin_configs,
+ [STAC_M2_2] = stac925xM2_2_pin_configs,
+ [STAC_MA6] = stac925x_MA6_pin_configs,
+};
+
+static const char *stac925x_models[STAC_925x_MODELS] = {
+ [STAC_REF] = "ref",
+ [STAC_M2_2] = "m2-2",
+ [STAC_MA6] = "m6",
+};
+
+static struct snd_pci_quirk stac925x_cfg_tbl[] = {
+ /* SigmaTel reference board */
+ SND_PCI_QUIRK(PCI_VENDOR_ID_INTEL, 0x2668, "DFI LanParty", STAC_REF),
+ SND_PCI_QUIRK(0x107b, 0x0316, "Gateway M255", STAC_REF),
+ SND_PCI_QUIRK(0x107b, 0x0366, "Gateway MP6954", STAC_REF),
+ SND_PCI_QUIRK(0x107b, 0x0461, "Gateway NX560XL", STAC_MA6),
+ SND_PCI_QUIRK(0x1002, 0x437b, "Gateway MX6453", STAC_M2_2),
{} /* terminator */
};
@@ -1699,6 +1783,56 @@ static int patch_stac9200(struct hda_cod
return 0;
}
+static int patch_stac925x(struct hda_codec *codec)
+{
+ struct sigmatel_spec *spec;
+ int err;
+
+ spec = kzalloc(sizeof(*spec), GFP_KERNEL);
+ if (spec == NULL)
+ return -ENOMEM;
+
+ codec->spec = spec;
+ spec->num_pins = 8;
+ spec->pin_nids = stac925x_pin_nids;
+ spec->board_config = snd_hda_check_board_config(codec, STAC_925x_MODELS,
+ stac925x_models,
+ stac925x_cfg_tbl);
+ if (spec->board_config < 0) {
+ snd_printdd(KERN_INFO "hda_codec: Unknown model for STAC925x, using BIOS defaults\n");
+ err = stac92xx_save_bios_config_regs(codec);
+ if (err < 0) {
+ stac92xx_free(codec);
+ return err;
+ }
+ spec->pin_configs = spec->bios_pin_configs;
+ } else if (stac925x_brd_tbl[spec->board_config] != NULL){
+ spec->pin_configs = stac925x_brd_tbl[spec->board_config];
+ stac92xx_set_config_regs(codec);
+ }
+
+ spec->multiout.max_channels = 2;
+ spec->multiout.num_dacs = 1;
+ spec->multiout.dac_nids = stac925x_dac_nids;
+ spec->adc_nids = stac925x_adc_nids;
+ spec->mux_nids = stac925x_mux_nids;
+ spec->num_muxes = 1;
+ spec->num_dmics = 0;
+
+ spec->init = stac925x_core_init;
+ spec->mixer = stac925x_mixer;
+
+ err = stac92xx_parse_auto_config(codec, 0x8, 0x7);
+ if (err < 0) {
+ stac92xx_free(codec);
+ return err;
+ }
+
+ codec->patch_ops = stac92xx_patch_ops;
+
+ return 0;
+}
+
static int patch_stac922x(struct hda_codec *codec)
{
struct sigmatel_spec *spec;
@@ -2149,6 +2283,12 @@ struct hda_codec_preset snd_hda_preset_s
{ .id = 0x83847627, .name = "STAC9271D", .patch = patch_stac927x },
{ .id = 0x83847628, .name = "STAC9274X5NH", .patch = patch_stac927x },
{ .id = 0x83847629, .name = "STAC9274D5NH", .patch = patch_stac927x },
+ { .id = 0x83847632, .name = "STAC9202", .patch = patch_stac925x },
+ { .id = 0x83847633, .name = "STAC9202D", .patch = patch_stac925x },
+ { .id = 0x83847634, .name = "STAC9250", .patch = patch_stac925x },
+ { .id = 0x83847635, .name = "STAC9250D", .patch = patch_stac925x },
+ { .id = 0x83847636, .name = "STAC9251", .patch = patch_stac925x },
+ { .id = 0x83847637, .name = "STAC9250D", .patch = patch_stac925x },
/* The following does not take into account .id=0x83847661 when subsys =
* 104D0C00 which is STAC9225s. Because of this, some SZ Notebooks are
* currently not fully supported.
[-- Attachment #3: Type: text/plain, Size: 347 bytes --]
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
[-- Attachment #4: Type: text/plain, Size: 161 bytes --]
_______________________________________________
Alsa-devel mailing list
Alsa-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/alsa-devel
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: Add support for Sigmatel STAC9202/9250/9251 codecs.
2007-01-02 19:31 Add support for Sigmatel STAC9202/9250/9251 codecs Tobin Davis
@ 2007-01-08 11:24 ` Takashi Iwai
2007-01-16 16:24 ` Nicholas Taylor
1 sibling, 0 replies; 6+ messages in thread
From: Takashi Iwai @ 2007-01-08 11:24 UTC (permalink / raw)
To: Tobin Davis; +Cc: alsa-devel
At Tue, 02 Jan 2007 11:31:39 -0800,
Tobin Davis wrote:
>
> Summary: Add support for Sigmatel STAC9202/9250/9251 codecs.
>
> This patch adds support for Gateway laptops based on the
> Sigmatel STAC9250 codecs, as well as basic support for
> STAC9202/9250/9251 codecs. Some Gateway systems require
> probe_mask=1 to work. More work to be done prior to alsa 1.0.14
> final.
>
>
> Signed off by Tobin Davis <tdavis@dsl-only.net>
Applied to ALSA HG tree now.
Since a part of the patch conflicted (it includes the change that
was already merged), I fixed it manually.
Please check whether the latest HG tree is OK.
Thanks.
Takashi
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Add support for Sigmatel STAC9202/9250/9251 codecs.
2007-01-02 19:31 Add support for Sigmatel STAC9202/9250/9251 codecs Tobin Davis
2007-01-08 11:24 ` Takashi Iwai
@ 2007-01-16 16:24 ` Nicholas Taylor
2007-01-16 22:24 ` Tobin Davis
1 sibling, 1 reply; 6+ messages in thread
From: Nicholas Taylor @ 2007-01-16 16:24 UTC (permalink / raw)
To: alsa-devel
Hi. I'm a first time user of this newsgroup and a relatively new Linux
user. I use the mx6453 model (which I believe leaves me with 9250) and
have been dealing with no sound in Linux for a few weeks now. When I
saw the previous threads concerning test patches for the Sigmatel codecs
in this newsgroup, I was hoping it might fix the problem.
I tried installing the patch using the instructions you gave on
http://article.gmane.org/gmane.linux.alsa.devel/42922 for test patch 6.
However, once I added the module I was still getting invalid dep range
errors in the output from dmesg (I'd post it here, but I'm in Windows at
the moment) I know you said more work needs to be done on this patch,
but I thought there might also be the chance I did something wrong.
Does applying the patch involve a different set of steps than test patch 6?
Also, konsole initially gave me this when I removed the snd_hda_codec
and put it back in with modprobe
WARNING: Error inserting snd_hda_codec
(/lib/modules/2.6.15-26-amd64-generic/kernel/sound/pci/hda/snd-hda-codec.ko):
Unknown symbol in module, or unknown parameter (see dmesg)
FATAL: Error inserting snd_hda_intel
(/lib/modules/2.6.15-26-amd64-generic/kernel/sound/pci/hda/snd-hda-intel.ko):
Unknown symbol in module, or unknown parameter (see dmesg)
A restart made reinserting the module run smoothly, but I can't kick the
feeling I'm doing something wrong here. Again, I'm new to this
newsgroup and Linux in general, so if I'm not supplying enough
information about the issue, I'm sorry and I'll give you whatever else
you need.
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Add support for Sigmatel STAC9202/9250/9251 codecs.
2007-01-16 16:24 ` Nicholas Taylor
@ 2007-01-16 22:24 ` Tobin Davis
2007-01-17 12:38 ` Takashi Iwai
0 siblings, 1 reply; 6+ messages in thread
From: Tobin Davis @ 2007-01-16 22:24 UTC (permalink / raw)
To: Nicholas Taylor; +Cc: alsa-devel
[-- Attachment #1.1: Type: text/plain, Size: 3360 bytes --]
What I found from other testers is that you need to add "probe_mask=1"
to the driver when loading. This can be done a couple of ways. The
easiest way to test it is with modprobe as follows:
modprobe snd-hda-intel probe_mask=1
The other method that makes this more permanent is to add probe_mask=1
to your modprobe.conf file. Since each distribution is different, the
best I can tell you is to look in /etc for either a modprobe.conf or
modules.conf file. There might also be variations of those files (i.e.
modprobe.preload, modprobe.d/sound.conf, etc). Ther should be something
like this:
alias sound-slot-0 snd-hda-intel
Add the following line to the same file, below the alias line:
options snd-hda-intel probe_mask=1
That should fix your dep range issues and give you working sound.
As a final note, the latest patch is available in alsa-driver-1.0.14rc2
available from alsa-project.org. The only issues I know of are crashes
with the Gateway NX560XL, which are as of yet unresolved. I do have
good reports of your model working though.
Tobin
On Tue, 2007-01-16 at 11:24 -0500, Nicholas Taylor wrote:
> Hi. I'm a first time user of this newsgroup and a relatively new Linux
> user. I use the mx6453 model (which I believe leaves me with 9250) and
> have been dealing with no sound in Linux for a few weeks now. When I
> saw the previous threads concerning test patches for the Sigmatel codecs
> in this newsgroup, I was hoping it might fix the problem.
>
> I tried installing the patch using the instructions you gave on
> http://article.gmane.org/gmane.linux.alsa.devel/42922 for test patch 6.
> However, once I added the module I was still getting invalid dep range
> errors in the output from dmesg (I'd post it here, but I'm in Windows at
> the moment) I know you said more work needs to be done on this patch,
> but I thought there might also be the chance I did something wrong.
> Does applying the patch involve a different set of steps than test patch 6?
>
> Also, konsole initially gave me this when I removed the snd_hda_codec
> and put it back in with modprobe
>
> WARNING: Error inserting snd_hda_codec
> (/lib/modules/2.6.15-26-amd64-generic/kernel/sound/pci/hda/snd-hda-codec.ko):
> Unknown symbol in module, or unknown parameter (see dmesg)
> FATAL: Error inserting snd_hda_intel
> (/lib/modules/2.6.15-26-amd64-generic/kernel/sound/pci/hda/snd-hda-intel.ko):
> Unknown symbol in module, or unknown parameter (see dmesg)
>
> A restart made reinserting the module run smoothly, but I can't kick the
> feeling I'm doing something wrong here. Again, I'm new to this
> newsgroup and Linux in general, so if I'm not supplying enough
> information about the issue, I'm sorry and I'll give you whatever else
> you need.
>
>
> -------------------------------------------------------------------------
> Take Surveys. Earn Cash. Influence the Future of IT
> Join SourceForge.net's Techsay panel and you'll get the chance to share your
> opinions on IT & business topics through brief surveys - and earn cash
> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/alsa-devel
--
Tobin Davis <tdavis@dsl-only.net>
[-- Attachment #1.2: Type: text/html, Size: 5104 bytes --]
[-- Attachment #2: Type: text/plain, Size: 347 bytes --]
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
[-- Attachment #3: Type: text/plain, Size: 161 bytes --]
_______________________________________________
Alsa-devel mailing list
Alsa-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/alsa-devel
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: Add support for Sigmatel STAC9202/9250/9251 codecs.
2007-01-16 22:24 ` Tobin Davis
@ 2007-01-17 12:38 ` Takashi Iwai
[not found] ` <1169089334.27941.63.camel@localhost>
0 siblings, 1 reply; 6+ messages in thread
From: Takashi Iwai @ 2007-01-17 12:38 UTC (permalink / raw)
To: Tobin Davis; +Cc: alsa-devel, Nicholas Taylor
At Tue, 16 Jan 2007 14:24:18 -0800,
Tobin Davis wrote:
>
> What I found from other testers is that you need to add "probe_mask=1" to the driver
> when loading. This can be done a couple of ways. The easiest way to test it is with
> modprobe as follows:
>
> modprobe snd-hda-intel probe_mask=1
This actually specifies to probe only the first codec.
What else codec does this device have? You can see the codec_mask
values by building with --with-debug=detect option.
I'm wondering why probing other codecs result in the dep range error
(that basically means the communication failure between the controller
and the codec chip).
Takashi
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2007-01-18 11:01 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-01-02 19:31 Add support for Sigmatel STAC9202/9250/9251 codecs Tobin Davis
2007-01-08 11:24 ` Takashi Iwai
2007-01-16 16:24 ` Nicholas Taylor
2007-01-16 22:24 ` Tobin Davis
2007-01-17 12:38 ` Takashi Iwai
[not found] ` <1169089334.27941.63.camel@localhost>
2007-01-18 11:01 ` Takashi Iwai
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.