uzbek-plus/b10/b10b0/b10b0-dump.sh
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

13 lines
666 B
Bash

#!/bin/sh
# B10B-0 read-only full dump of PM8916 SID0: every 0x100 peripheral block whose TYPE (offset 0x04) is non-zero. Reads only.
grep -q " /sys/kernel/debug " /proc/mounts || mount -t debugfs debugfs /sys/kernel/debug
R=/sys/kernel/debug/regmap/0-00/registers
echo "== DUMP-START up=$(cut -d' ' -f1 /proc/uptime) $(uname -r) emmc=$(awk '{print "w="$5}' /sys/block/mmcblk0/stat)"
b=1
while [ $b -lt 256 ]; do
a=$((b * 256))
t=$(dd if=$R bs=9 skip=$((a + 4)) count=1 2>/dev/null | cut -d' ' -f2)
if [ -n "$t" ] && [ "$t" != "00" ]; then dd if=$R bs=9 skip=$a count=256 2>/dev/null; fi
b=$((b + 1))
done
echo "== DUMP-END up=$(cut -d' ' -f1 /proc/uptime)"