12-16-2020, 10:26 AM
(This post was last modified: 12-16-2020, 10:33 AM by dsimic.
Edit Reason: Weird whitespace fixes
)
As already stated in this thread, the BQ24171 datasheet describes a few reasons for stopping the battery charging or starting the status LED to flash. Below are a few relevant quotations from the datasheet.
Having all that in mind, @xyzzy , it may very well be that high battery temperature is the reason for the status LED to start flashing. However, I am not aware of the way for getting the battery temperature reading in Linux, as the battery's NTC resistor connects directly to the BQ24171, which has no way to communicate with the SoC. Another poor design choice for the PineBook Pro, IMHO.
However, if the battery temperature actually goes too high, it must also have something to do with the heat soak from the SoC running at full tilt. Which is also bad. Also, the BQ24171 has pretty much high operating temperature, but having it work in close proximity to a very hot SoC must raise its temperature significantly.
Quote:The STAT pin can be used to drive LED or communicate with the host processor. It indicates various charger operations: LOW when charge inprogress. HIGH when charge is complete or in SLEEP mode. Blinking at 0.5 Hz when fault occurs, including charge suspend, input overvoltage, timer fault and battery absent. (page 5)
Quote:Under high ambient temperature, the charge current will fold back to keep IC temperature not exceeding 120°C. (page 17)
Quote:The following conditions have to be valid before charging is enabled: (page 18)
...
* Thermal Shutdown (TSHUT) is not valid.
...
Quote:To initiate a charge cycle, the voltage on TS pin must be within the VT1 to VT5 thresholds. If VTS is outside of this range, the controller suspends charge and waits until the battery temperature is within the VT1 to VT5 range. During the charge cycle, the battery temperature must be within the VT1 to VT5 thresholds. If battery temperature is outside of this range, the controller suspends charge and waits until the battery temperature is within the VT1 to VT5 range. The controller suspends charge by turning off the PWM charge FETs. (page 22)
Quote:The QFN package has low thermal impedance, which provides good thermal conduction from the silicon to the ambient, to keep junctions temperatures low. The internal thermal regulation loop will fold back the charge current to keep the junction temperature from exceeding 120°C. As added level of protection, the charger conver terturns off and self-protects whenever the junction temperature exceeds the TSHUT threshold of 150°C. The charger stays off until the junction temperature falls below 130°C. (page 23)
Having all that in mind, @xyzzy , it may very well be that high battery temperature is the reason for the status LED to start flashing. However, I am not aware of the way for getting the battery temperature reading in Linux, as the battery's NTC resistor connects directly to the BQ24171, which has no way to communicate with the SoC. Another poor design choice for the PineBook Pro, IMHO.
However, if the battery temperature actually goes too high, it must also have something to do with the heat soak from the SoC running at full tilt. Which is also bad. Also, the BQ24171 has pretty much high operating temperature, but having it work in close proximity to a very hot SoC must raise its temperature significantly.