I am thinking of using nRF5340 Audio on a development board.
The I2S-compatible IC on the headset side is an IC called AK4432VT.
The following settings are required to support the above IC.
MCLK: 12.288MHz
BICK: 3.07MHz
LRCK: 48kHz
Bit length: 32bit
To achieve this, I set the source as follows.
static nrfx_i2s_config_t cfg = {
/* Pins are configured by pinctrl. */
.skip_gpio_cfg = true,
.skip_psel_cfg = true,
.irq_priority = DT_IRQ(I2S_NL, priority),
.mode = NRF_I2S_MODE_MASTER,
.format = NRF_I2S_FORMAT_I2S,
.alignment = NRF_I2S_ALIGN_LEFT,
.ratio = NRF_I2S_RATIO_256X,
.mck_setup = 0xCCCCC000,
.channels = NRF_I2S_CHANNELS_STEREO,
.clksrc = NRF_I2S_CLKSRC_ACLK,
.enable_bypass = true,
.sample_width = NRF_I2S_SWIDTH_32BIT,
};
Now the expected waveform is displayed, but
LED2 is no longer lit and synchronization is no longer possible.
This is probably due to the change in MCLK,
but what and how should I change to make it synchronized?