Skip to content

Instantly share code, notes, and snippets.

View IntegralPilot's full-sized avatar

Michael Reeves IntegralPilot

View GitHub Profile
@Artingl
Artingl / ans.md
Created January 27, 2026 21:42
Changes in ans with newer firmware and M3

Changes in ans with newer firmware

Firstly, what is different?

When I tried to bring NVMe support on my M3 device, I found that there're references to ans3. I thought that this new coprocessor is M3 specific and is different from the previous ans2, which is why NVMe driver for my M3 was crashing in both m1n1 and linux. But I was pointed out that if you would use an M3 device on previous firmware versions, the same code used for ans2 would work no problem. And with newer version the older M1/M2 NVMe coprocessors also stopped working.

Thus, it is probable that the update for ans in this document would work on that devices too, but I cannot tell for sure since I only have an M3 device. So this is bound for checking.

Main differences

The only key differences I could spot are the register offsets. They're all different for the new ans3.

Here're all the register differences comparing to previous values: