[alsa-devel] asoc: s3c24xx+uda1380 - some questions

Mark Brown broonie at sirena.org.uk
Tue Jan 27 16:00:41 CET 2009

On Tue, Jan 27, 2009 at 03:19:39PM +0200, Vasily Khoruzhick wrote:

> I'm trying to develop asoc driver for hp ipaq rx1950 (s3c24xx + uda1380).
> 1st question: where I can enable/disable uda1380 codec power? I need to 
> control codec power for powersave reasons.

CCing in Philipp Zabel who wrote the UDA1380 driver.  Assuming you mean
control to cut the power to the chip the most standard way of doing it
would be with the regulator API but if the chip isn't being used much in
new designs it might not be worth it.

> I tried to add custom power function call to uda1380_set_bias_level in 
> uda1380.c (pointer to power function is stored in codec->private_data), as it 
> done for uda134x codec, but after enable-disable-enable cycle (for example, 
> after resuming from suspend) driver cannot communicate with codec anymore 
> (i2c bus is always busy), only reloading i2c driver helps.

The UDA134x is a bit of a special case since it needs the machine driver
to provide bitbanging functions for the L3 interface.

> 2nd question: for some reason, driver does not produce any sound during first 
> aplay invocation, only second and later aplay invocation driver produces 
> sound. What can be the reason of this problem?

That sounds like something in the teardown path should be done on
startup as well.  Can't think of any obvious gotchas there, though I'd
be looking at the codec and machine drivers since the CPU driver for the
S3C24xx is used in quite a few designs.

More information about the Alsa-devel mailing list