[Gta04-owner] Possible hardware problem with battery charging

Dr. H. Nikolaus Schaller hns at goldelico.com
Sat Apr 13 10:05:22 CEST 2013


Hi Bob,

Am 09.04.2013 um 23:41 schrieb Bob Ham:

> On Mon, 2013-04-08 at 11:58 +0200, Dr. H. Nikolaus Schaller wrote:
> 
>> You may try to modify the boot.scr to use mpurate=800 - or remove completely.
> 
> Just so that you know, it's unlikely that I'll be able to try this until
> at least next week.

I have found some some background information about an mpurate bug in kernel code:

<http://markmail.org/message/m3vtheze2244c6yg>

Basically it is a very simple patch to arch/arm/plat-omap/clock.c:

> Or fix "if" statement in the "arch/arm/plat-omap/clock.c" file 
> "omap_clk_setup" function: 
> 
> if (mpurate < 1000) 
>     mpurate *= 1000000; 
> 
> To: 
> 
> if (mpurate < 2000) 
>     mpurate *= 1000000; 

Like others on the original discussion 2 years ago I also wonder
why it did not yet find its way into the mainline kernel...

But: I tried to apply the patch and the kernel successfully reports
that the CPU has been successfully switched to 1 GHz, but after a
while it kernel panics!

This means: the 3.7 kernel isn't mature/stable enough to run at 1 GHz
or dynamic mpurate and probably needs more patches at yet to be
identified locations.

Maybe something to cooperate with the BeagleBoard XM
team (Robert Nelson) and look deeper into his 3.8 kernel patches.

<rant>sometimes it makes me dissatisfied that we still have to fix things
in the 3.7 kernel that did work flawless on the 2.6.32 kernel 2 years ago...
</rant>

Until we have a good fix, I have added a workaround patch to reduce
clock rate to 800 MHz, if it was set to 1000 MHz:

<http://git.goldelico.com/?p=gta04-kernel.git;a=commit;h=d5f37cc93e69cfcd1c545ae598e99e3712487329>

One thing is still a problem: GPS does not appear to work properly.
The dmesg prints a lot of !!!!!! on dmesg and communication is a little instable.

So I suspect that something in the UART code is CPU version dependent
or assumes that the CPU is running slower than 1GHz (timing loop?).

I also found that I had accidentially included the gsm voice routing patch
but it still makes some white background noise. If I revert the twl4030.c
codec driver to the original neil's version, it works without noise:

<http://git.goldelico.com/?p=gta04-kernel.git;a=commit;h=e91db679071a92e81509838ae2aa04a9c0ae9a82>

This means that the sound patch is either incomplete or does not work
with Neil's original code. Maybe because Radek's tree has some other
patches (or kernel config) that are needed before making it work.

Maybe directly modifying pinmux in a driver is the issue. There is a very
nice function intended exactly for this purpose and we should start to use
it to tristate the McBSP:

	snd_soc_dai_set_tristate()

Finally, I think your battery charging problem may also be kernel related...

BR,
Nikolaus



More information about the Gta04-owner mailing list