uzbek-plus/logs/b10/b10b3/B10B3-TESTD3-RESULT.md
q 58dcb3d121 B10: battery charging — PM8916 LBC supervisor v4 (CHARGE/HOLD, FAULT safe clamp to 4.00 V) and persistent B10B-5 cache
- LBC supervisor v1..v4 (linux/patches/b10b3-lbc-supervisor-v3.patch + b10/b10b3/lbc-v3-to-v4-fault-clamp.diff):
  CHARGING 4.20 V/450 mA -> HOLD 4.05 V after 60 min CV -> battery -> new cycle on USB insert; FAULT = VDD_MAX 4.00 V clamp
- RAM tests C/B/D/D2/D3/D4 (safety timer only ends fast charge), B10B-4 actuator audit (VDD_MAX works, USB_SUSP does not),
  B10B-5 FAULT clamp regression, production run, warm reboot via PON reboot reason
- cache = B10B-5 c3732515 (HW EDL write, readback + full partition verify), class-A persistent validation
- test-only hooks/images are not part of the production kernel; images with the AP PSK are not published
2026-10-04 19:00:27 +03:00

2.6 KiB
Raw Blame History

B10B3-TESTD3-RESULT — D3 kernel (VDD_MAX not rewritten at CHARGING entry): branch 2 + corrected interpretation

Date: 2026-10-04 (UTC 2026-10-03 21:32–21:37). Image b10/b10b3/out-d3/aurora-b10b3d3.img 4645a7ec = Test D DTB d7bcd042 + B9C initramfs/cmdline (unchanged) + kernel out-b10b3d3 (v3 + b10/b10b3/lbc-v3-to-d3.diff, 4 lines in lbc_enter_charging(); .config identical; object: +1 regmap_read, same regmap_write count). Class A before (RTC 3 s; pre-testD3-classA-*, pre-testD3-vs-preD2-diff.txt). Operator DMM 4.067 V before power-off, 4.058 V in B9C. RESET-held reboot → fastboot +10 s → RTC 6 s. Probe: safety timer 8 min (TCHG_MAX 0x01), INIT -> CHARGING … vbat 3992382 uV. Pre-check: v3 already performs CHG_FAILED <- 0x80 before CHARGING (lbc_charge_restart(chg, true), pm8916_lbc.c:373 → :342-343) — not a difference.

Result: CHGR RT 01 + path 01 in 10/10 samples (CHG_STATUS 05, CHG_CTRL a0, VDD_MAX 04, IBAT_MAX 04, TCHG 80/01, CHG_FAILED 00). The extra VDD_MAX write is not the cause. Timer test stopped as non-informative. Board left CHARGING on the D3 image.

Correction: the entry VBAT separates all eight runs

run driver VADC VBAT at INIT → CHARGING CHGR RT path
B10B-3 ram1 v1 3.810 V 20 02
t1 v2 3.848 V 21 02
t1-diag (t2) v2 3.896 V 21 02
Test D2 v3 3.930 V 01 01
Test C v3 3.955 V 01 01
Test B v3 3.973 V 01 01
Test D3 v3+D3 3.992 V 01 01
Test D v3 3.999 V 01 01
Every FAST_CHG_ON entry was ≤ 3.896 V, every non-FAST entry ≥ 3.930 V. With D3 the v3 register-write sequence equals v2's, and v2 vs v3
probe timing/order is the same (INIT after configure in both dmesgs). **The TESTD2 conclusion "low VBAT does not restore fast charge in v3" was
wrong**: 3.930 V was simply above a threshold that lies between 3.896 and 3.930 V (VADC at INIT, SBL-charge-loaded).
Best-supported hypothesis: the LBC enters its fast-charge state (FAST_CHG_ON, path 02) only when VBAT is below the VBAT_DET comparator at the
restart; above it, it charges in a state without FAST_CHG_ON (path 01). This matches the stock driver, which always sets the VBAT_DET override
(COMP_OVR1 = 0x2, "enable charging irrespective of VBAT above VBAT_DET", LBC:1660–1669) — we keep COMP_OVR1 = 00. Not proven; driver/version
is confounded with VBAT in the old runs only through v1/v2, and D3 removes the write difference.
Logs: d3r1/, d3r1-*.txt, UART logs/uart/b10b3d3-ram1-20261004-003317.log (480s), kernel build log build-b10b3d3-kernel.log.