SAI BCLK and SYNC issue

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

SAI BCLK and SYNC issue

774 Views
millark
Contributor III

We are investigating an issue with the clocks the SAI interface on a IMX8Nano, kernel 5.15.5

When a stream of audio is first started, we see the mclk, bclk and sync all go high with the correct values. When a stream is stopped, we see all clock values torn down, mclk goes low but however bclk and sync remain high, even though there is no clock set.

The pcm5122 codec is running in salve mode and all clocks are provided by the imx8.

We need a way to take the bclk and sync low when mclk is low to ensure our dacs clock detection kicks in and puts the dac into standby mode.

Has anyone seen this behavior and are there any known workarounds. Looking at the registry, we don't see any area to auto set the bclk and sync low with mclk.

Any help appreciated.

Labels (1)
0 Kudos
Reply
3 Replies

694 Views
millark
Contributor III

Thanks Jorge for the reply. The issue is not that the clocks are not active, it is that when data stops, the mclk goes to gnd, but the bclk and sync remain high with no data. This isn't right as it will stop dacs from going into stanby mode if they are monitoring the bclk and sync status.

Is there a way these clokc lines can also be returned to gnd when a data stops, as per the behaviour of the mclk?

0 Kudos
Reply

690 Views
JorgeCas
NXP TechSupport
NXP TechSupport

Hello, 

Got it, please try to reset SAI. You can find more detailed information on section 13.10.3.2 ''SAI resets'' on reference manual.

Best regards.

0 Kudos
Reply

716 Views
JorgeCas
NXP TechSupport
NXP TechSupport

Hello,

When the i.MX8MN is set as master, the clock and frame sync are operational when the device is transmitting/receiving data, as soon as the data stops, the clocks also stop.

You should consider synchronous mode that is described on section 13.10.3.3.1 ''Synchronous mode'' on reference manual.

Best regards.

0 Kudos
Reply