I'm happy to hear that they were able to discover the secret to making this work!
Having coded for certain ARM Peripheral hardware, as well as a few other things at the register level, documentation is not often perfect. For my ARM projects, I had the convenience at the time to look at the Verilog RTL and synthesized netlist for the chip to (very gradually) figure things out. Data fields are sometimes not even at the register address in the docs, sometimes have moved to different bit numbers on different addresses, and sometimes really just do not do what the datasheet says, in addition to the more common too vague or complete omission items.
I'm sure this was quite a challenge with only a datasheet, maybe some Linux code that works differently, and a lot of experimentation time for these guys. Congratulations on your accomplishment!