I just published a tool I've been working on for ~3 years! In short, it provides a nice interface to interacting with Qualcomm register maps by allowing you to decode register address/value pairs or emit C code that can decode registers at runtime.

Unfortunately this means it's only really useful if you have access to Qualcomm register maps (i.e. because you work for a licensed vendor). But I figured it's worth sharing on the off chance someone finds it useful!

It supports parsing register in the auto-generated ".per" file format intended to be used by TRACE32 as well as ".FLAT" files (although those are known to have issues).

It would be very possible to build our own datasets of publicly documented registers from kernel sources and such.

https://github.com/linux-msm/decodepurr

@cas 🤔 in the off chance people are curious, finding repos that includes paths such as core/systemdrivers/hwio/scripts on some git hosting hub might return .per files that can be used to check that the tool works.

(I am under no relevant NDA.)