LTE Module Series
SC20 Charging User Guide
SC20_Charging_User_Guide Confidential / Released 9 / 14
static const struct qpnp_vadc_map_pt adcmap_btm_threshold[] = {
{XXX, YYY}, //The former is the temperature value, and the latter is the voltage
}
The table is customized, it needs hardware engineers to get values from battery vendors and fill in.
High Temperature Shutdown
High temperature protection has been enabled on SC20, when the battery temperature is above 68
degrees, it will automatically shut down.
High temperature shutdown related files and codes are presented as follows:
1. android/frameworks/base/services/core/java/com/android/server/BatteryService.java: for executing
shutdown action.
private void shutdownIfOverTempLocked() {
//Shut down gracefully if temperature is too high (>68°C by default)
//Wait until the system has booted before attempting to display the shutdown dialog.
if (mBatteryProps.batteryTemperature > mShutdownBatteryTemperature) {
mHandler.post(new Runnable() {
@Override
public void run() {
if (ActivityManagerNative.isSystemReady()) {
Slog.e(TAG, "silent_reboot shutdownIfOverTempLocked");
Intent intent = new Intent(Intent.ACTION_REQUEST_SHUTDOWN);
intent.putExtra(Intent.EXTRA_KEY_CONFIRM, false);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
mContext.startActivityAsUser(intent, UserHandle.CURRENT);
}
}
});
}
}
2. android/frameworks/base/core/res/res/values/config.xml: set the temperature that triggers shutdown.
<!-- Shutdown if the battery temperature exceeds (this value * 0.1) Celsius. -->
<integer name="config_shutdownBatteryTemperature">680</integer>
If module shuts down immediately after being turned on, customer should first make sure that the battery
has power, then check whether it is caused by high temperature or not.