#!/bin/sh # R2 read-only PMIC snapshot: PM8916 SID0 register blocks via regmap debugfs (positioned reads, no writes) + sysfs. grep -q " /sys/kernel/debug " /proc/mounts || mount -t debugfs debugfs /sys/kernel/debug R=/sys/kernel/debug/regmap/0-00/registers echo "uptime $(cut -d' ' -f1 /proc/uptime)" ls /sys/kernel/debug/regmap/ head -1 $R; tail -1 $R for b in 0x0100 0x0800 0x0900 0x1000 0x1200 0x1300 0x1600 0x2400 0x2800 0x3100 0x4000 0x6000 0x6100; do echo "== block $b"; dd if=$R bs=9 skip=$(($b)) count=256 2>/dev/null | grep -v ": 00$" done echo "== power_supply"; for d in /sys/class/power_supply/*; do echo "-- $d"; cat $d/uevent 2>/dev/null; done echo "== iio"; for d in /sys/bus/iio/devices/iio:device*; do echo "-- $d $(cat $d/name 2>/dev/null)"; for f in $d/in_*_input $d/in_*_raw; do [ -f "$f" ] && echo "$(basename $f)=$(cat $f 2>/dev/null)"; done; done echo "== thermal"; for d in /sys/class/thermal/thermal_zone*; do echo "$(cat $d/type) $(cat $d/temp)"; done echo "== dmesg"; dmesg | grep -i -E "pon|pm8916|lbc|bms|uvlo|vadc|spmi|brown|reboot|reset|watchdog|wdt|psci" | head -60 echo "== cmdline"; cat /proc/cmdline echo R2-PMIC-END