GPD Max2 7840 vs Mini2025 8840 BIOS/EC 充电架构对比分析

硬件平台概览

项目 Max2-7840 (ARN28) Mini2025-8840 (MiniPro)
CPU AMD Phoenix 7840U AMD Hawk Point 8840U
EC芯片 ITE IT5570 ITE IT5570
EC Base版本 EC-V14.6 EC-V14.6 (相同)
EC固件版本 V00.15 (2024/03/18) V2.03 (2025/02/19)
BIOS容量 32MB (33554432) 32MB (33554432)
EC容量 128KB (131072) 128KB (131072)
二进制差异度 与7840相比 ~47%不同

充电控制器

两者都使用 BQ24780S SMBus充电IC。

7840 EC固件调试字符串分析

WR 0x45                  ← SMBus写充电电压寄存器(ChargeVoltage)
WR 0x46                  ← SMBus写充电电流寄存器(ChargeCurrent)
Switch Bat 80%           ← 切换电池@80% 逻辑
bat auto wake 1 / 2      ← 电池自动唤醒逻辑
WackChearger=0 bat=%bd   ← 充电器唤醒阈值(0%)
WackChearger=30 bat=%bd  ← 充电器唤醒阈值(30%)
trigger DC MS enter S4   ← 插入DC时触发S4休眠
PD Adapter %dmV %dmA %bdW ← PD适配器协商输出
S0I3 AC IN / AC OUT      ← AC插入/拔出检测
TPC_ReConfigDriver OK    ← PD电源协商重构
Burst Time out           ← 充电超时保护
EC PROHOT Lo/Hi          ← EC过温保护

8840 EC固件调试字符串

AW87390                  ← 音频功放(硬件特有)
*几乎没有充电相关调试字符串*

EC Release Notes 核心差异

7840 EC — 从未提及充电阈值或旁路功能

  • V00.08: "Add charge led control when low battery"
  • V00.10: "For handle sound control"
  • V00.14: "Change use real battery percentage by RC/FCC"
  • V00.14: "Remove battery low can not enter MS"
  • V00.15: "Work in with BIOS to solve the problem that the rotating circle under the logo is not smooth"

8840 EC — 明确实现了电源管理相关功能

  • V1.08: "Enable charger BQ24780S Hybrid power boost mode" — 65W适配器时触发保护,混合电源增强
  • V1.06: "Auto set adapter input current according to PD power" — PD协商自动设置适配器输入电流
  • V1.06: "Modify charging voltage to 17.8V for new 4cell battery"
  • V2.01: "Remove the behavior of wake up MS if AC pulled out" — AC拔出不唤醒Modern Standby
  • V2.03: "Update SSD S0->MS and MS->S0 Power sequence"

根本原因分析

BQ24780S 工作模式

  1. 充电模式:适配器给电池充电,系统从电池回路取电
  2. 补充模式(Supplement):电池+适配器共同为系统供电
  3. 电池断开模式(Battery Disconnect / Hi-Z):电池断开,系统完全由适配器直接供电 ← 旁路关键
  4. 混合电源增强(Hybrid Power Boost):峰值负载时电池+适配器协同供电

7840 问题根源

  • EC直接通过 SMBus(WR 0x45/0x46) 控制 BQ24780S 的充电电压和电流寄存器
  • 充满后只能将充电电流降至涓流(WackChearger=30 表示30%以下才唤醒充电)
  • 系统始终经过电池回路取电,无法真正"旁路"电池
  • Switch Bat 80% 仅是一个状态标记,没有实施真正的电池断开
  • EC固件缺少对 BQ24780S Hi-Z/电池断开模式的支持
  • PD适配器协商存在(PD Adapter %dmV %dmA %bdW),但没有实现适配器直供逻辑

8840 改进方案

  • V1.08 启用了 Hybrid Power Boost 模式,允许电池在需要时与适配器协同供电,不需要时断开
  • V1.06 实现了 PD自适应输入电流,系统可直接从适配器取电而不经过电池
  • EC可以让 BQ24780S 进入 电池断开模式(Hi-Z),充满后完全停止充电
  • 系统跑在适配器直供电上,电池处于"断开"状态,无涓流充电
  • AC拔出不唤醒Modern Standby(V2.01),进一步优化电源状态管理

结论

7840 的EC固件缺少对 BQ24780S 电池断开模式(Hi-Z) 的支持,并且没有实现 PD 协商后的适配器直供逻辑。8840 的 EC 固件通过 Hybrid Power Boost + PD 自适应电流 两条路径实现了完整的电源旁路能力。这是 固件架构层面的差异,不是简单的参数配置问题。

功能移植可行性分析

方向一:把8840旁路功能移植到7840 EC固件

两者虽然都用 ITE IT5570 EC + BQ24780S 充电IC,但 EC 固件是整机级嵌入式固件,47% 的二进制差异意味着几乎不可能直接移植。

层面 差异点
GPIO映射 键盘矩阵、背光、风扇、充电LED、触摸板、指纹、摄像头 — 引脚分配完全不同
上电时序 S0/S3/S4/S5 各状态的电源轨控制时序因主板布局不同
风扇策略 不同散热模组,PWM曲线不同
电池参数 Mini2025用4cell 17.8V,Max2用不同配置
音频功放 AW87390 vs 其他型号,I2C控制不同
PD协商 Mini2025的PD CC引脚/中断引脚不同
ACPI交互 与BIOS/DSDT的SCI事件映射不同

结论:不可行。 直接刷8840的EC到7840上大概率变砖——键盘不响应、风扇乱转甚至不开机。

方向二:把7840硬件参数移植到8840固件使其兼容

反向操作,同样的问题:8840 EC的GPIO配置是硬编码的Mini2025主板布局,即使修改电池和充电参数,GPIO、键盘、时序等还是不对。

结论:不可行。

理论上唯一可行的做法

BQ24780S 充电IC本身支持所有模式,只是7840的EC固件没有实现这些功能的调用代码。如果你有 ITE EC固件源码(GPD/ITE不公开),可以:

  1. 保留7840原有的 GPIO/键盘/时序/风扇 等硬件适配代码
  2. 从8840 EC的源码中提取 BQ24780S控制模块(Hybrid Power Boost使能、PD自适应电流设置、电池断开逻辑)
  3. 移植到7840 EC源码中重新编译

现实中 拿不到源码,且二进制级别的补丁定位和移植几乎不可能(8051架构、无符号表、代码位置完全不同)。

可行的替代方案

方案 可行性 风险 说明
刷8840 EC到7840 ❌ 不可行 变砖 GPIO/时序/外设完全不匹配
改8840 EC适配7840硬件 ❌ 不可行 变砖 需要源码级修改,且无文档
二进制补丁移植旁路代码 ⚠️ 极困难 变砖 8051无符号表,无法定位函数边界
有源码时移植控制模块 ✅ 可行 但GPD/ITE不公开源码
OS层SMBus操作BQ24780S ✅ 可行 Linux i2c-dev / Windows WinRing0 直接写寄存器
向GPD要求固件更新 ✅ 可行 同厂同EC同充电IC,技术上可实现
BDC硬件改造(加MOSFET) ✅ 可行 需拆机焊接,失去保修

分析来源

  • Max2-7840 BIOS V0.41 + EC V00.15 (ARN28P)
  • Mini2025-8840 BIOS V2.08 + EC V2.03 (MiniPro)
  • 固件文件:ARN28P04100REL.rom / ARN28P_EC_V00.15.bin / Mini2025_2.08_GPD.bin / Mini2025_EC_V2.03.bin
  • 分析工具:二进制字符串提取、二进制差异比对、EC Release Notes