Hi! I've working to have the SPDIF support working, it has not been easy to understand and there is still some issues left. The soundcards manufacturers (like Hercules) dont seems to be interested in providing us any information about the use of the different GPIO pins. So , I wrote some code to controll the EGIO pins on the cs4630 from the ALSA mixer, and so test them all. I've been spaming and bombing Hercules with mails for a long time now without any response at all.
Finally i have discovered that on the Hercules Game Theater XP the EGPIO0 selects between Coxial or Toslink SPDIF. The code to controll the EPGIO pins are activated by defining the CONFIG_SND_CS46XX_DEBUG_GPIO, hopefully this dirty hack can be removed soon but maybe it can be useful to find out the use of the GPIO pins on other cs46xx based soundcards. This patch includes: - SDPIF input support, only 48khz - PCM multichannel bug fix. - Minor cleanups and bugfixes. One issue SPDIF input is that I dont know how to setup the DSP to detect the sample rate automatically, so in this moment only 48khz is supported, or change the code to support other sample rate, or we can have a module parameter to set the SPDIF input sample rate. Any AC3 decoding is not supported yet .... There have been some changes on the mixer, the following controls have been added: - SPDIF Output Switch - mutes, unmutes SPDIF output - SPDIF Input Switch - mutes, unmutes SPDIF input - SPDIF Input Volume - adjust the volume on SPDIF input - DAC capture Switch - capture what goes out to the CODEC, the primary use of this is to capture the input from the SPDIF, but it will capture all PCM playback as well. - ADC capture Switch - capture what goes analog input to the CODEC like, mic line in, aux in. etc ... - Optical/Coaxial SPDIF Input Switch - only Hercules Game Theater XP, switch between SPDIF toslink and coxial source, have not tested the coaxial input yet. (dont have any HW with SPDIF coaxial output) The patch is against current CVS. /Benny
spdif_input_patch.gz
Description: PostScript document