Re: Nokia N900 - audio TPA6130A2 problems

Jarkko Nikula
2015-08-03T18:48:52Z

On 08/03/2015 09:17 PM, Pali Rohár wrote:
> On Monday 03 August 2015 20:03:16 Jarkko Nikula wrote:
>> Hi
>>
>> On 08/01/2015 01:18 PM, Pali Rohár wrote:
>>> On Saturday 25 July 2015 15:17:13 Lars-Peter Clausen wrote:
>>> Hello, your patch did not helped. Problem is still there...
>>
>> For me v4.2-rc5 works, i.e. TPA6130A2 can still play loudly to
>> headphones. Don't know were there any i2c etc regression before it or
>> how easy it would be to reproduce.
>>
>
> Did you tested it on Nokia N900? Or other device?
>
N900. Seems to be only user of TPA6130A2 in mainline :-)

>> Logs below made me thinking can it be a HW issue? Although if it is
>> an HW issue it shouldn't work sometimes I guess. Do you have any
>> earlier well known configuration you could try is it an SW
>> regression or something else?
>>
>
> Stock Nokia's 2.6.28 kernel works always. With that kernel I have never
> seen this problem. So I do not think this is HW problem.
>
> This problem is there in more kernel versions, maybe in some older (like
> v3.5) is was there not so often. But do not remember correctly...
>
It is well possible that some regression got introduced to TPA6130A2 I2C
communication over the years without nobody than you now notices. We
used to do QA back in Meego N900 days but that was pre 3.x kernels.

> Maybe some power management problem? Something is not always initialized
> correctly?
>
> I remember that there is some problem (maybe in NoLo - Nokia bootloader)
> that sometimes chainloaded U-Boot (booted via NoLo) is not able to
> initialize mmc chip (all read operation fails). In U-Boot I added some
> code to enable some parts in twl4030 regulator and after that mmc is
> working always...
>
> So maybe something similar? Kernel expects that some PM or regulator
> parts are initialized, but they are only sometimes? Just speculation...
>
I'm thinking the same. I could figure SCL could be stuck low if TPA or
some other chip connected to the same I2C bus is without power and is
pulling I2C signals down.

--
Jarkko