[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