SSI as i2s master with 16 bit audio

It it possible to configure the SSI in i2s master mode while playing or recording 16 bit audio?

According to the reference manual for i.MX6, the "word length is fixed to 32 in I2S Master mode". Is there any way to work around this limitation? Or is it simply impossible to use master mode if one wants 16 bit?

The following workaround seems to work: Set SSIx_SCR.I2S_MODE to 0 (normal mode) instead of 1 (I2S master mode). This has been tested in loopback mode as well as with an external codec. Driver was initialised with the following register settings:

Since posting this question, I've tried a potential workaround. Instead of setting SSIx_SCR.I2S_MODE to 1 (I2S master mode) I set it to 0 (normal mode). All other register settings are the same as described in the i.MX 6 reference manual chapter 61.8.1.4 "I2S Mode" when configuring I2s master mode, including those bits that would be internally overridden had I2S master mode been selected in SSIx_SCR.I2S_MODE.

The samples generated are now 16 bit instead of 32, as seen by oscilloscope. I've also done loopback tests where the received samples are the same as the sent samples. I havent't tried to communicate with a real audio codec yet.

It would be great if you could look at this workaround and see if there is any flaw in it, or if it is safe.

The following workaround seems to work: Set SSIx_SCR.I2S_MODE to 0 (normal mode) instead of 1 (I2S master mode). This has been tested in loopback mode as well as with an external codec. Driver was initialised with the following register settings: