External I2S MCLK to CX3 instead of internally generated

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

Hi,

I want the I2S MCLK to be given externally to CX3 instead CX3 generates it out. How shall  I accomplish this?

Why I Need this?

------------------------

The MCLK generated out of CX3 is 11.3578MHz instead of 11.2896MHz. This makes I2S WCLK as 44.365KHz instead of 44.1 KHz which eventually causes some audio noise issues in my device. Thus, I thought of giving an external 11.2896MHz clock to MCLK of CX3.

0 Likes
1 Solution
Anonymous
Not applicable

Hi,

Please check if the FX3 i/p clock / crystal meets our specifications.

The MCLK can accept i/p from an external source, but the registers need to be configured.

The GCTL_I2S_CORE_CLK register has a bit that deciedes whether MCLK is input or output. (Please refer to the FX3 TRM).

This bit has to be set in the firmware *(uint32_t *)(0xE0052034) |= 0x4000000

This has to be done before the I2S Init function. As this feature has not been tested internally, please create a Tech Support case in case you face any issue with this.

Regards,

-Madhu

View solution in original post

0 Likes
1 Reply
Anonymous
Not applicable

Hi,

Please check if the FX3 i/p clock / crystal meets our specifications.

The MCLK can accept i/p from an external source, but the registers need to be configured.

The GCTL_I2S_CORE_CLK register has a bit that deciedes whether MCLK is input or output. (Please refer to the FX3 TRM).

This bit has to be set in the firmware *(uint32_t *)(0xE0052034) |= 0x4000000

This has to be done before the I2S Init function. As this feature has not been tested internally, please create a Tech Support case in case you face any issue with this.

Regards,

-Madhu

0 Likes