Fix systimer timestamp conversion
Perf improvement, improved systimer accuracy on 26MHz C2, one step towards removing Clocks, what else do we need? (a way to do all this without taking a critical section to read frequencies).
This PR replaces the old assumption that the systimer counter divides evenly into microseconds with a bit of precomputation that ensures precision. The PR also introduces an optimized method for the more common cases, where the end result can be obtained by shifting instead of 64-bit integer division.
/hil full
Triggered full HIL run for #4634.
Run: https://github.com/esp-rs/esp-hal/actions/runs/20106494606
Status update: ❌ HIL (full) run failed (conclusion: failure).
/hil full
Triggered full HIL run for #4634.
Run: https://github.com/esp-rs/esp-hal/actions/runs/20245654039
Status update: ❌ HIL (full) run failed (conclusion: failure).
/hil esp32
I want to see if that hang reproduces today
Triggered HIL run for #4634 (chips: esp32).
Run: https://github.com/esp-rs/esp-hal/actions/runs/20260954095
Status update: ✅ HIL (per-chip) run succeeded.