Hi Zp,
Some answers to your questions:
1: the hardware and the software are identical for EvoPrimer and Open4. Just the name and the colour case changes ! But it can be exist some quality dispersion between several exemplary.
2, 3 : some registers are not documented, and the initialization code was provided by the LCD manufacturer.
4, 5 : The flag MUTE_ON_INVALID is supposed to mute the sound if the configuration is not correct. The documentation is very poor, we got some help from ST engineers, but it was not simple to implement. No more documentation exists, only evaluation boards and corresponding software. We just implemented the minimum for CircleOS.
But take a look at internet, this codec has been used in some boards under Linux.