I am implementing MMU support on iMX6Q, and have run into a curious and confusing situation.
To get things going quickly, I had grabbed some code I developed for ARMv5 MMU as a starting point, knowing I'd have to tweak it quite a bit. It was basically working, but I was starting to have trouble with memory allocation and decided I had better read the ARMv7 docs and see what needed to be fixed.
To my confusion, the page-table implemented as ARMv5 with sub-pages are working! even though SCTRL bit 23 is 1, meaning they shouldn't. Whereas when I try to implement page-tables as per ARMv7 document, everything locks up.
What MMU version is the iMX6Q running? All the Cortex-A9 doc says it should be ARMv7, but it is behaving like ARMv5, which should not even be possible. Anybody know what the story is?