I had planned on using the nRF52840 I2S peripheral in Nordic Master mode to either produce a 31.25 kHz sampling rate, or a 62.5 kHz sampling rate for my application.
There seems to be a discrepancy in your datasheet. Looking at the V1.0 spec, on Table 50: Configuration Examples we see an example showing how one can hit 31.25 kHz from the 64 MHZ clock which involves using an 8 MHz MCLK. Then in the electrical specification 6.11.11 section it says the maximum MCLK you can use is 4 MHz. Furthermore it says 48 kHz is the max LRCLK and 2 MHz is the faster SCK. Are these maximums in error? The MCLK ratio register defines MCLKS up to 10 MHz, Nordic’s own example shows using an 8 MHz MCLK, but the timing specifications say you can’t go above 4 MHz.
Also my 62.5 kHz setting would be violating the 48 kHz LRCLK maximum listed, even though it meets Config.Ratio >= 2*Config.SWDITH, SCK < MCLK, and that ConfiG.Ratio / (2*Config.SWIDTH) must be an integer rules.
My proposed settings would be (based on an external 32 MHz HF crystal being used to produce the 64 MHz internal clock):
MCLK: 4 MHz
Config.Ratio = 128
Config.SWIDTH = 16
Producing an SCK of 1000 kHz
Producing an LRCLK of 31.25 kHz
Or
MCLK: 8 MHz
Config.Ratio = 128
Config.SWIDTH = 16
Producing an SCK of 2000 kHz
Producing an LRCLK of 62.5 kHz
I’m not sure why this wouldn’t function for any reason other than the datasheet warns against MCLK above 4 MHz and frame clock above 48 kHz. Can you advise if this would be acceptable?