Comment 37 for bug 708883

Revision history for this message
warmcat (andy-warmcat) wrote :

After a lot of help from kenws testing, I have a small patch which should stop the Panda going OFF. I can explain why it goes off without the patch, but since TI won't let me have a twl6030 datasheet I can't get right to the end yet.

Basically the Panda PMIC is seeing an overcurrent on one of its regulators, and reporting it via b6 of its interrupt sources VXXX_SHORT. Like other PMICs, if something bad like that happens the PMIC gives the CPU a short time to acknowledge the report of the bad news, and if the CPU doesn't come and clear the interrupt within that time, the PMIC will force the device OFF for safety.

The mainline twl6030 driver takes the approach that it will mask off all interrupt sources except the ones it is interested in, just MMC card detect and USB OTG ID status at the moment. Therefore if the VXXX_SHORT condition occurs with the driver as it is, the interrupt is not cleared and the PMIC panics forcing the Panda OFF.

The patch enables all interrupt sources instead, so the condition is acknowledged.

The variation in boards showing the problem or not is explained by the process spread of the overcurrent comparator in the PMIC; I was able to reduce the threshold on mine by lowering Vin and reducing the PMIC temperature so I could control whether VXXX_SHORT was generated or not since the actual current was marginal vs the comparator limit. But since the comparator limit would normally be quite a little bit above the max legal current, it suggests that on one regulator the Panda really is pulling more than it should.

So the root cause is genuinely excessive current on one of the regulators, but I don't know which one because I don't have a datasheet (although I would look at the 2.1V one first). The final fix will be to identify the regulator and reduce the current taken. But in the meanwhile this patch should remove the symptom.