- 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
22 lines
1.6 KiB
Bash
22 lines
1.6 KiB
Bash
#!/bin/sh
|
|
# B10A read-only probe: power_supply/extcon/regulator state + PM8916 charger/BMS/VADC/PON register dump.
|
|
# Only reads (regmap debugfs positioned reads, sysfs/proc reads). No writes to any device register.
|
|
grep -q " /sys/kernel/debug " /proc/mounts || mount -t debugfs debugfs /sys/kernel/debug
|
|
R=/sys/kernel/debug/regmap/0-00/registers
|
|
echo "== B10A-PROBE-START $(date -u +%s) up $(cut -d' ' -f1 /proc/uptime)"
|
|
uname -a
|
|
echo "== power_supply"; ls -la /sys/class/power_supply/ 2>&1
|
|
for d in /sys/class/power_supply/*; do [ -e "$d/uevent" ] && { echo "-- $d"; cat "$d/uevent"; }; done
|
|
echo "== extcon"; for e in /sys/class/extcon/*; do echo "-- $e $(cat $e/name 2>/dev/null)"; cat $e/state 2>/dev/null; done
|
|
echo "== thermal"; for t in /sys/class/thermal/thermal_zone*; do echo "$t $(cat $t/type) $(cat $t/temp 2>/dev/null)"; done
|
|
echo "== hwmon"; for h in /sys/class/hwmon/*; do echo "$h $(cat $h/name)"; done
|
|
echo "== iio"; ls /sys/bus/iio/devices 2>&1
|
|
echo "== regmaps"; ls /sys/kernel/debug/regmap/
|
|
echo "== regulator_summary"; cat /sys/kernel/debug/regulator/regulator_summary 2>&1 | head -60
|
|
echo "== udc"; for u in /sys/class/udc/*; do echo "$u state=$(cat $u/state 2>/dev/null) speed=$(cat $u/current_speed 2>/dev/null)"; done
|
|
echo "== dmesg-power"; dmesg | grep -i -E "charg|batt|bms|vbus|usb_vbus|extcon|power_supply|ci_hdrc|pm8916|pon|uvlo|thermal|tsens|spmi" | head -80
|
|
echo "== interrupts"; grep -i -E "pm8916|spmi|pon|usb|chg|bat" /proc/interrupts
|
|
for blk in 0100 0800 0900 1000 1200 1300 1600 2400 2800 3100 3400 4000 a300; do
|
|
echo "== REG $blk"; dd if=$R bs=9 skip=$((0x$blk)) count=256 2>/dev/null
|
|
done
|
|
echo "== B10A-PROBE-END"
|