Fit-PC2i audio codec pin configuration

Audio codec and audio ports
Post Reply
sfzhi
Posts: 16
Joined: Tue Aug 16, 2011 10:41 am

Fit-PC2i audio codec pin configuration

Post by sfzhi »

Hi,
I have noticed that the default pin configuration of ALC662 (presumably set by the BIOS) indicates that there are a few more pins connected than there actually are. As a result, mixer applications (e.g. alsamixer on Linux) show a number of extraneous non-functional controls.
This can usually be resolved by tweaking the driver parameters, but in order to do that one needs to know the correct pin configuration. Can someone please share that information? Which pins of the codec chip are connected to which external connectors of fit-PC2i (rev. 1.2)? This is not so much about the physical pins, but about the NID in terms of HD-Audio specification.
Any help is greatly appreciated.

Thanks in advance,
Sergei.

Denis
Posts: 301
Joined: Sun Apr 26, 2009 3:24 pm

Re: Fit-PC2i audio codec pin configuration

Post by Denis »

The default NID settings are set by BIOS, but after they controlled only by the Linux/Windows driver.

You can view ALC662 driver code in Linux kernel to see NID controls. Also there is kernel option SND_HDA_RECONFIG that may be useful for you. Our kernel compiled without it, you will need to recompile.

Code: Select all

config SND_HDA_RECONFIG
	bool "Allow dynamic codec reconfiguration (EXPERIMENTAL)"
	depends on SND_HDA_HWDEP && EXPERIMENTAL
	help
	  Say Y here to enable the HD-audio codec re-configuration feature.
	  This adds the sysfs interfaces to allow user to clear the whole
	  codec configuration, change the codec setup, add extra verbs,
	  and re-configure the codec dynamically.
On Windows as I know it NID`s configuration related to registry stuff and also not straightforward at all.

If you need hardware schematic look at the SB-iAM design - schematics, dimensions, layout. The design is the same as on fitPC2i.
Compulab's Linux support

sfzhi
Posts: 16
Joined: Tue Aug 16, 2011 10:41 am

Re: Fit-PC2i audio codec pin configuration

Post by sfzhi »

Thank you for your response.

I know those Linux features. I compile the kernel myself, so that is not a problem. And by now I've learnt about sound on Linux more than I ever wanted to know. The thing is that Linux has to trust the default settings provided by BIOS, and if those are incorrect Linux has no other source of information to make the things right. The driver contains hard-coded pin configurations for some types of hardware, but not for fit-PC2i. So I have to figure it out myself.

The schematic would help a lot, but unfortunately the link you have posted seems to be dead (404 Not Found). Could you post a working one please?

Thanks,
Sergei.

Denis
Posts: 301
Joined: Sun Apr 26, 2009 3:24 pm

Re: Fit-PC2i audio codec pin configuration

Post by Denis »

Link above is fixed.

It would be really nice if you create some nice kernel patch for it!
Compulab's Linux support

sfzhi
Posts: 16
Joined: Tue Aug 16, 2011 10:41 am

Re: Fit-PC2i audio codec pin configuration

Post by sfzhi »

Thanks, the link is indeed fixed. But I'm a bit confused now. That schematic seems to be using a completely different audio codec chip with a different set of inputs and outputs, so as far as I can tell, it has nothing in common with fit-PC2i...

Denis
Posts: 301
Joined: Sun Apr 26, 2009 3:24 pm

Re: Fit-PC2i audio codec pin configuration

Post by Denis »

Sorry for wrong reference. Here is the correct one.
Attachments
alc662.jpg
alc662.jpg (53.83 KiB) Viewed 20832 times
Compulab's Linux support

sfzhi
Posts: 16
Joined: Tue Aug 16, 2011 10:41 am

Re: Fit-PC2i audio codec pin configuration

Post by sfzhi »

Thank you. The schematic clarifies a lot. With its help and a bit of experimenting I have come up with what I believe to be the correct pin configuration. Fortunately, no code changes in Linux are necessary. The pin configuration can be "fixed" as follows.

1. The kernel should be built with "CONFIG_SND_HDA_PATCH_LOADER=y".
2. Create a text file "/lib/firmware/alc662.cfg" with the following content:

Code: Select all

[codec]
0x10ec0662 0x10ec0662 0

[pincfg]
0x14 0x411111f0
0x15 0x01014030
0x16 0x411111f0
0x18 0x01a19051
0x19 0x411111f0
0x1a 0x01813050
0x1b 0x411111f0
0x1c 0x411111f0
0x1d 0x411111f0
0x1e 0x01441170
3. Add the following line to modprobe configuration:

Code: Select all

options snd_hda_intel position_fix=1 patch=alc662.cfg
Note: the "position_fix=1" part is not needed for pin configuration, but in my case it was needed to avoid warnings during boot.

Post Reply

Return to “Audio”