ITADN
VR-25/acc/Issues

pm8150b_charger, Kernel OVP Conflict & Ghost Charging on Snapdragon 855, v2023.10.16

#307Open48nurullah 创建于 2026-03-07
4
48nurullahcommented
Technical Bug Report: Kernel OVP Conflict & Ghost Charging on Snapdragon 855/865 Environment: ACC Version: v2023.10.16 Kernel Charging Driver: pm8150b_charger Device Status: Confirmed on multiple charging cycles and levels. Issue Description: On devices utilizing the pm8150b driver, several charging switches force a fixed Float Voltage (fv) of 3600\text{mV} (3.6\text{V}). This creates a massive discrepancy when the actual battery voltage (vbat\_fg) is higher, causing the kernel to trigger an "over-voltage" protection state and ignore ACC's suspension commands. Specific Observations: Ghost Charging Case 1: Suspension was set to 55%, but the battery level continued to climb to 58% despite ACC reporting the switch as "off". Ghost Charging Case 2: Suspension set at higher levels saw the battery climb from 89% to 90% while reporting STATUS=Discharging. Kernel Error Log: pm8150b_charger: battery over-voltage vbat_fg = 4393000uV, fv = 3600000uV. Technical Analysis: The kernel enters a safety override mode because vbat\_fg (>4.0\text{V}) exceeds the forced fv (3.6\text{V}). This renders most switches (like charge_control_limit) unstable. While input_suspend successfully cuts the current, it often fails to trigger a true Bypass/Idle Mode (battIdleMode=false), leading to battery drain instead of external power usage. Requested Improvement: Please consider making the Float Voltage (fv) dynamic or allowing it to be set to a value closer to the actual battery voltage (e.g., 4350\text{mV}-4400\text{mV}) instead of hardcoding it to 3600\text{mV}. This would prevent the kernel from overriding ACC’s control and allow for stable suspension and true idle mode on these drivers.
0 条评论