[Letux-kernel] twl4030 charging

H. Nikolaus Schaller hns at goldelico.com
Mon Jul 25 18:54:01 CEST 2016

The problem is for pulling out ones hair :)

So far I know:
* during boot an USB OTG plug event is recognised
* this updates the current to 500mA
* this properly sets BCIAUTOUSB and a little later USBFASTMCHG
* after that, ITHEN and MESVAC become 1
* and BCIMSTATEC reports "Quick charge USB 1"
* this indicates that charging has started
* then, an ICHGLOW interrupt occurs and is processed (again updating the current to 500mA)
* then some background process reads charger properties (/sys)
* suddenly (after ca. 20ms) - without obvious reason - ITHEN and MESVAC become 0
* shortly after, another ICHGLOW interrupt occurs and is processed (unclear if that always occurs)
* and again a little later BCIMSTATEC switches from "Quick charge USB 1" to "No charging device"
* no more interrupts observed

This all happens within ~20 ms

So the symptoms can be summarized as:

After successful plug-in detection the charger starts, but almost immediately stops again for invisible reasons.
It ends in a state (ITHEN disabled, simulating a non-existing battery) that the driver does take the twl4030 out
of, even after replugging USB.

It is still a big mystery...


More information about the Letux-kernel mailing list