uzbek-plus/logs/b10/b10b3/B10B3-RBL1-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

27 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# B10B3-RBL1-RESULT — software reboot to lk1st fastboot (no RESET) and what a Linux reboot does to the LBC
Date: 2026-10-04 (UTC 11:13–11:46). Interrupts the production-profile run p1 after usbpull3 (board CHARGING, VDD_MAX 08).
Production-run logs saved first: `rbl1/prodrun/` (board monitor 1159 samples → also `p1-mon-board-final.txt`, dmesg → `p1/dmesg-at-rbl.txt`).
## Mechanism (sources)
- lk1st (`/home/q/aurora-lkbuild/b9l-src`, `project/msm8916.mk`: `USE_PON_REBOOT_REG=1`): `aboot.c:5606` `check_hard_reboot_mode()` →
`platform/msm_shared/reboot.c:84` reads PON_SOFT_RB_SPARE 0x88F bits 7:2 (and scrubs them); `reboot.h`: FASTBOOT_MODE = 0x02 → fastboot.
- Kernel: CONFIG_REBOOT_MODE/SYSCON_REBOOT_MODE=y, DT `pon@800 { compatible = "qcom,pm8916-pon"; mode-bootloader = <0x02>; }`,
`qcom_pon_reboot_mode_write()` writes `magic << reason_shift(2)` into 0x88F. busybox `reboot` has no argument →
`b10/b10b3/rbl/reboot-bootloader` (freestanding aarch64, sha 0428be0c…): `sync` + `reboot(MAGIC1, MAGIC2, RESTART2, "bootloader")`.
## Result
1. **lk1st entered fastboot without RESET** (UART: `fastboot_init()`, `fastboot: processing commands`; host 18d1:d00d).
2. **lk1st fastboot data phase is broken after a Linux reboot**: `download:01861000` arrived, no data; after abort `fastboot: oops!`, `getvar`
timed out. **A physical USB replug in lk restored it** (`getvar product: lk1st-msm8916`), then `fastboot boot` of the B9C RAM image
(fa855e1c, no LBC driver writes) worked.
3. PMIC state before (v3 production image, CHARGING) → after (B9C RAM, before any driver):
- RTC continuous: 34940 s → 36836 s (no RTC reset); PON_REASON1 0x808 10→**11** (b0 Hard Reset + USB), POFF_REASON1 0x80C 00→**02** (PS_HOLD),
POFF_REASON2 0x80D 80→**00** (no stage-3). → a **PS_HOLD hard reset without power loss** — not a class A, not a stage-3.
- **Charger registers partly back to SBL defaults:** IBAT_MAX 04→00, IBAT_SAFE 04→0a, CHG_CTRL a0→90, TCHG_MAX 7f→1d.
Unchanged: VDD_MAX 08 (equal to the SBL default here — not decisive), VDD_SAFE 08, BOOT_DONE 80, 0x105B 09, 0x10EE 00, TCHG_EN 80,
CHG_STATUS 05, RT 21, path 02. 0x88F 00 (scrubbed by lk1st).
→ After a Linux reboot SBL (or the PMIC hard reset) re-initialises at least IBAT_MAX/IBAT_SAFE/CHG_CTRL/TCHG. Whether VDD_MAX (e.g. the HOLD
value 02) survives is **not yet known** (it was 08 = default in this test). This corrects the earlier blanket note "LBC settings survive warm
reboots" (that was observed only for RESET/stage-3 paths in the older tests, not verified for this path).
State now: B9C RAM image (no charger driver), SBL charge state (IBAT 90 mA, VDD 4.20 V), FAST + path 02.