SLUSDF9 June 2020 BQ25790
In the POR sequence, right after the D+/D- detection, the charger initiates ADC reading on the VBUS pin voltage without any load current (VBUS at no load condition, VBUS0) before the converter starts switching. The default VINDPM threshold is set to be VBUS0 - 1.4 V (VBUS0 >= 7 V) or VBUS0 - 0.7V (VBUS0 < 7 V).
If the converter already starts switching, the VBUS0 measurement can be performed by setting the register bit FORCE_VINDPM_DET=1. The force VINDPM detection only can be done when VSYS_STAT = 0 (VBAT > VSYSMIN). To measure the VBUS0 when the converter is running, the charger suspends charging (if enabled) and the converter stops switching. Then the ADC measures the VBUS voltage without any input load current and update the VINDPM register bit. After the VINDPM register bit is reset, the FORCE_VINDPM_DET bit returns to 0 automatically. If VSYS_STAT = 1 (VBAT < VSYSMIN), VBUS0 measurement does not start, the FORCE_WINDPM_DET bit resets to 0 and the VINDPM register retains its current value. The host must ensure there is a battery presence prior to force VINDPM detection by setting FORCE_VINDPDM_DET bit to allow system to be supported by the battery during detection.
When the measured VBUS0 is too low, for example 3.6V, or too high, for example 25V, the calculated VINDPM based on the equation list above is out of the VINDPM register range, and then the changer sets the VINDPM register to be the minimal value (3.6V) or maximum (22V) value.