Open
Description
Device Information
System Model or SKU
- Framework Laptop 13 (11th Gen Intel® Core™)
- Framework Laptop 13 (12th Gen Intel® Core™)
- Framework Laptop 13 (13th Gen Intel® Core™)
- Framework Laptop 13 (AMD Ryzen™ 7040 Series)
- Framework Laptop 13 (Intel® Core™ Ultra Series 1)
- Framework Laptop 16 (AMD Ryzen™ 7040 Series)
BIOS VERSION
03.09
DIY Edition information
Memory: Kingston FURY Impact 32GB (2 x 16GB), KF556S40IBK2-32
Storage: SK Hynix Platinum P41 M2 SSD (1TB), SHPP41-1000GM-2
Standalone Operation
- Yes
- No
Operating System (please complete the following information):
- OS/Distribution: Fedora
- Version: 42
- Linux Kernel Version: 6.14.9-300.fc42.x86_64
Issue Description
Hello,
The following Framework forum thread has been looking into ways to minimize how frequently the FW13 cycles between charging and discharging when sudden CPU power draw spikes occur.
Based on discussions in the thread and looking at the EC firmware source code, here is my current understanding of the logic behind when the battery discharges with A/C power plugged in on the Azalea EC firmware branch.
- The FW13 supports power adapters up to 100W. Plugging in any adapter larger than that will only utilize max 100W of power.
- While the ISL2941 charger on the FW13 can utilize the full PSU voltage, the PSU current is derated to 90% of the full current by the EC firmware.
- Because of the current limit, the adapter (ADP) power is limited to max 54W with the stock FW 60W charger and 90W with a 100W charger.
- The ADP voltage is reduced to the system (SYS) voltage by the ISL2941 circuit, up to VsysMax. The EC logic sets VsysMax at the current battery voltage as calculated by the smart battery driver plus a fixed 8mA voltage offset.
- The SYS voltage is further reduced to whatever lower voltages are required by the laptop components.
- When the combined power draw of the laptop components exceeds the power made available from the adapter (54W/90W), the ISL2941 discharges the battery to make up the power deficit.
Assuming this is all accurate, the following questions came up in the forum thread that it would be welcome to have feedback from the FW dev team on.
- Why is adapter current limited to 90%? It seems that setting this this to a higher limit like 95% would give the system more power to work with before dipping into battery usage.
- Why is the VSysMax voltage set based on 8mV offsets in battery voltage? Since the battery voltage constantly recalculates itself as observed by monitoring
ectool battery
, VSysMax also constantly changes. This seemingly causes unnecessary instability in regulated SYS voltage. - Users in the forum thread have suggested setting VSysMax to a constant battery desired voltage instead of basing it on calculated battery voltage. See code suggestions here and here. Are there any unintended consequences for setting VSysMax in this manner?
Metadata
Metadata
Assignees
Labels
No labels