[Gta04-owner] Voice routing

Dr. H. Nikolaus Schaller hns at goldelico.com
Thu Nov 14 13:39:02 CET 2013


Hi,

Am 13.11.2013 um 16:46 schrieb Andreas Kemnade:

> Hi,
> 
> On Wed, 2013-11-13 at 12:12 +0100, Dr. H. Nikolaus Schaller wrote: 
>> Hi,
>> I have started to analyse the voice routing patch for the 3.12.0 kernel
>> because routing to SoC did not work any more [1].
>> 
>> After removing the patch it worked fine.
>> 
>> With the patch it appears that I have to switch to hw-routing
>> once and back to SoC to make it work.
>> 
>> This indicates an initialization issue.
>> 
>> What I have done is to replace writing directly to the twl registers
>> by a call to twl4030_voice_set_tristate() which tries to preserve
>> as much as possible of the original register contents.
>> 
>> Now, SW routing works in the dial script.
>> 
>> But HW routing does not (neither with old nor new patch). Maybe
>> I am also just missing something in the mixer settings?
>> 
> http://misc.andi.de1.cc/voice
> 
> tested with 3.12.0-wip (did uname -a to check what i am running on)
> hw routing works.

Hm. First of all I had a problem that 3.12.0-wip / master has a bug in the .config
so that our gta04 specific and the generic twl4030-audio drivers were compiled into the kernel.

The result was that we had 5 instead of 4 audio devices.

But it still does not work.

> Possible problem: One path (mic->modem or
> modem->speaker) is not completely in the DAPM route system, so not
> everything is powered on properly if not enough things are powered on.

Ah, that is a good hint.

Maybe nothing is powered on at all unless I run an arecord >/dev/null in the
background? I.e. the ALSA system does not know that the TWL4030 codec
and the microphone voltage etc. is to be activated.

Such a mechanism is certainly available in QtMoko and SHR/FSO code but
hidden so deeply that one would not find...

> I think Neil has improved my patch in his kernel to fix that.

Well, we should have it in the 3.12 since its was a rebase of the 3.7-plus which was
a rebase on Neil's 3.7 kernel.

But I don't know...

BR,
Nikolaus



More information about the Gta04-owner mailing list