* Sigmatel STAC 9202 Codec
@ 2006-12-21 21:34 Allyn, Mark A
2006-12-21 21:54 ` Tobin Davis
0 siblings, 1 reply; 2+ messages in thread
From: Allyn, Mark A @ 2006-12-21 21:34 UTC (permalink / raw)
To: alsa-devel
[-- Attachment #1.1: Type: text/plain, Size: 273 bytes --]
Folks:
Do any of you know if there is support for the Sigmatel STAC 9202 Codec?
(ID 8384:7642) I tried the latest release of alsa (1.0.14rc1) and it did
not work.
The enclosed file is the contents of the /proc/card0/codec#0 file.
Thank yo
Mark Allyn
[-- Attachment #1.2: Type: text/html, Size: 1358 bytes --]
[-- Attachment #2: codec_out --]
[-- Type: application/octet-stream, Size: 3634 bytes --]
Codec: SigmaTel ID 7632
Address: 0
Vendor Id: 0x83847632
Subsystem Id: 0x100
Revision Id: 0x100101
Default PCM:
rates [0x7e0]: 44100 48000 88200 96000 176400 192000
bits [0xe]: 16 20 24
formats [0x1]: PCM
Default Amp-In caps: N/A
Default Amp-Out caps: ofs=0x1f, nsteps=0x1f, stepsize=0x05, mute=1
Node 0x02 [Audio Output] wcaps 0xd0401: Stereo
Power: 0x0
Node 0x03 [Audio Input] wcaps 0x1d0541: Stereo
Power: 0x0
Connection: 1
0x14
Node 0x04 [Audio Input] wcaps 0x140311: Stereo Digital
PCM:
rates [0x160]: 44100 48000 96000
bits [0xe]: 16 20 24
formats [0x5]: PCM AC3
Connection: 1
0x07
Node 0x05 [Audio Output] wcaps 0x40211: Stereo Digital
PCM:
rates [0x1e0]: 44100 48000 88200 96000
bits [0xe]: 16 20 24
formats [0x5]: PCM AC3
Node 0x06 [Audio Selector] wcaps 0x300901: Stereo
Connection: 3
0x02* 0x07 0x14
Node 0x07 [Pin Complex] wcaps 0x430681: Stereo Digital
Pincap 0x0810024: IN EAPD Detect
Pin Default 0x01c5e150: [Jack] SPDIF In at Ext Rear
Conn = Optical, Color = White
Pin-ctls: 0x00:
Power: 0x0
Node 0x08 [Pin Complex] wcaps 0x400301: Stereo Digital
Pincap 0x0810: OUT
Pin Default 0x01451130: [Jack] SPDIF Out at Ext Rear
Conn = Optical, Color = Black
Pin-ctls: 0x00:
Connection: 2
0x05* 0x14
Node 0x09 [Audio Selector] wcaps 0x30010d: Stereo Amp-Out
Amp-Out caps: ofs=0x00, nsteps=0x0f, stepsize=0x05, mute=0
Amp-Out vals: [0x0f 0x0f]
Connection: 1
0x0f
Node 0x0a [Pin Complex] wcaps 0x400181: Stereo
Pincap 0x083f: IN OUT HP Detect
Pin Default 0x0221401f: [Jack] HP Out at Ext Front
Conn = 1/8, Color = Green
Pin-ctls: 0xc0: OUT HP
Connection: 1
0x0e
Node 0x0b [Pin Complex] wcaps 0x400181: Stereo
Pincap 0x081737: IN OUT Detect
Pin Default 0x02a19020: [Jack] Mic at Ext Front
Conn = 1/8, Color = Pink
Pin-ctls: 0x24: IN
Connection: 1
0x0e
Node 0x0c [Pin Complex] wcaps 0x400181: Stereo
Pincap 0x081737: IN OUT Detect
Pin Default 0x01813021: [Jack] Line In at Ext Rear
Conn = 1/8, Color = Blue
Pin-ctls: 0x20: IN
Connection: 1
0x0e
Node 0x0d [Pin Complex] wcaps 0x400181: Stereo
Pincap 0x083f: IN OUT HP Detect
Pin Default 0x01014010: [Jack] Line Out at Ext Rear
Conn = 1/8, Color = Green
Pin-ctls: 0xc0: OUT HP
Connection: 1
0x0e
Node 0x0e [Audio Selector] wcaps 0x300105: Stereo Amp-Out
Amp-Out caps: N/A
Amp-Out vals: [0x00 0x00]
Connection: 1
0x06
Node 0x0f [Audio Selector] wcaps 0x30010d: Stereo Amp-Out
Amp-Out caps: ofs=0x00, nsteps=0x04, stepsize=0x27, mute=0
Amp-Out vals: [0x04 0x04]
Connection: 5
0x0b* 0x0c 0x0d 0x0a 0x11
Node 0x10 [Pin Complex] wcaps 0x400104: Mono Amp-Out
Amp-Out caps: N/A
Amp-Out vals: [0x00]
Pincap 0x0810: OUT
Pin Default 0x500701f0: [N/A] Line Out at Int N/A
Conn = Analog, Color = Unknown
Pin-ctls: 0x00:
Connection: 1
0x12
Node 0x11 [Pin Complex] wcaps 0x400001: Stereo
Pincap 0x0820: IN
Pin Default 0x90330122: [Fixed] CD at Int N/A
Conn = ATAPI, Color = Unknown
Pin-ctls: 0x20: IN
Node 0x12 [Audio Mixer] wcaps 0x200100: Mono
Connection: 1
0x06
Node 0x13 [Beep Generator Widget] wcaps 0x70000c: Mono Amp-Out
Amp-Out caps: ofs=0x03, nsteps=0x03, stepsize=0x17, mute=1
Amp-Out vals: [0x00]
Node 0x14 [Audio Selector] wcaps 0x30090d: Stereo Amp-Out
Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
Amp-Out vals: [0x00 0x00]
Connection: 2
0x09* 0x15
Node 0x15 [Pin Complex] wcaps 0x400001: Stereo
Pincap 0x0820: IN
Pin Default 0x50a001f1: [N/A] Mic at Int N/A
Conn = Unknown, Color = Unknown
Pin-ctls: 0x00:
[-- 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] 2+ messages in thread
* Re: Sigmatel STAC 9202 Codec
2006-12-21 21:34 Sigmatel STAC 9202 Codec Allyn, Mark A
@ 2006-12-21 21:54 ` Tobin Davis
0 siblings, 0 replies; 2+ messages in thread
From: Tobin Davis @ 2006-12-21 21:54 UTC (permalink / raw)
To: Allyn, Mark A; +Cc: alsa-devel
[-- Attachment #1: Type: text/plain, Size: 517 bytes --]
On Thu, 2006-12-21 at 13:34 -0800, Allyn, Mark A wrote:
> Folks:
>
> Do any of you know if there is support for the Sigmatel STAC 9202
> Codec? (ID 8384:7642) I tried the latest release of alsa (1.0.14rc1)
> and it did not work.
It's actually 8384:7632 in your codec.out.
This is another patch I've been working on. It was added after
1.0.14rc1.
I've attached it for you. Let me know if it works.
Also, what is the subsystem id for this? (lspci -v|fgrep -A1 Audio)
--
Tobin Davis <tdavis@dsl-only.net>
[-- Attachment #2: gateway-mp6954.patch.4 --]
[-- Type: text/x-patch, Size: 5206 bytes --]
diff -r 1ede4dc9b6ea pci/hda/patch_sigmatel.c
--- a/pci/hda/patch_sigmatel.c Sun Dec 10 00:00:38 2006 +0000
+++ b/pci/hda/patch_sigmatel.c Mon Dec 11 09:37:26 2006 -0800
@@ -48,6 +48,11 @@ enum {
};
enum {
+ STAC_925x_REF,
+ STAC_925x_MODELS
+};
+
+enum {
STAC_D945_REF,
STAC_D945GTP3,
STAC_D945GTP5,
@@ -129,6 +134,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 +177,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 +260,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 +311,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 +453,30 @@ 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_brd_tbl[STAC_925x_MODELS] = {
+ [STAC_REF] = ref925x_pin_configs,
+};
+
+static const char *stac925x_models[STAC_925x_MODELS] = {
+ [STAC_REF] = "ref",
+};
+
+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, 0x0366, "Gateway MP6954",
+ STAC_REF),
+ SND_PCI_QUIRK(0x107b, 0x0367, "Gateway MX6453",
+ STAC_REF),
{} /* terminator */
};
@@ -1699,6 +1768,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 {
+ 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 = stac9200_parse_auto_config(codec);
+ 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;
@@ -2137,6 +2256,10 @@ 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 = 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] 2+ messages in thread
end of thread, other threads:[~2006-12-21 21:54 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-12-21 21:34 Sigmatel STAC 9202 Codec Allyn, Mark A
2006-12-21 21:54 ` Tobin Davis
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.