At Sun, 08 Jul 2007 12:54:54 -0400, Brian Hinz wrote: > > OK, after a few days of familiarizing myself with the hda and stac9200 > specs, I think I see what's going on. I tossed out the pin config settings > from the windows driver and simply derived a set based on the stac9200 > datasheet and my best guesses as to how the hardware is actually configured. > At this point, dmesg shows: > > line_outs=0 (0x0/0x0/0x0/0x0/0x0) > speaker_outs=1 (0xe/0x0/0x0/0x0/0x0) > hp_outs=1 (0xd/0x0/0x0/0x0/0x0) > inputs: mic=0x10, fmic=0x0, line=0x0, fline=0x0, cd=0x0, aux=0x0 > > which corresponds at least to the number of external ports. Still no sound, > BUT, /proc/asound/card0/codec#0 shows something interesting (heh, actually > it's shown it all along, ignorance is bliss I guess...): > > ... > Node 0x08 [Pin Complex] wcaps 0x430681: Stereo Digital > Pincap 0x0810024: IN EAPD Detect > Pin Default 0x40c001fd: [N/A] SPDIF In at Ext N/A > Conn = Unknown, Color = Unknown > Pin-ctls: 0x00: > Power: 0x0 > ... > > the DigInPin is showing EAPD control. I wasn't sure about the meaning of > the "Power: 0x0" line in /proc/asound/card0/codec#0 so I put some debug > statements into patch_sigmatel.c to dump the DigInPin power state and EAPD > registers: > > [ 5701.644000] hda_codec: DigInPin PwrState: 00000033 Hm, how can it be? The proc file shows it's 0 (= all power-on), and you see a different value? > [ 5701.644000] hda_codec: EAPD Config: 00000000 > > According to the stac9200 datasheet, a PwrState of 0x3 means that the node > is powered down. A value of 0 on the EAPD pin means power down the external > amp, and a 1 means power up the amp if PwrState is < 0x2. If PwrState >= > 0x2, Pin47 is tri-stated. And Pin47 is ... GPIO3 (AKA: SPDIF_IN, EAPD)! > The stac9200 datasheet also states that "an external pull-down is required > if EAPD must be low when Pin Widget is powered down." I'm a bit skeptical about this relation. SPDIF-IN was used for the EAPD control on many boards with ac97 codecs, but EAPD is usually controlled via AC_VERB_SET_EAPD_BTLENABLE verb to the specific pin widget on HD-audio codecs. GPIO may be required for some weird setting, but it's nowhere defined in the datasheet. BTW, how did you find out that the HP pin is 0x0d and the speaker is 0x0e? Takashi _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel