Issues using simple-audio-card driver with Xilinx Audio Formatter

Kuninori Morimoto kuninori.morimoto.gx at renesas.com
Fri Jul 9 03:16:45 CEST 2021


Hi Robert

> So the next issue I'm now facing is that the MCLK to SCLK divider is not being
> set properly in either the Audio Formatter (MM2S Fs Multiplier register) or in
> the I2S Transmitter (I2S Timing Control register). The xlnx_i2s driver has a
> set_clkdiv function defined in its snd_soc_dai_ops structure, however that
> doesn't appear to be getting called. And the xlnx_formatter_pcm driver doesn't
> seem to have any code to set XLNX_AUD_FS_MULTIPLIER at all.
> 
> In this case I have a sample rate to MCLK divider of 256, so it looks like I
> should add mclk-fs = <256> into the dai-link nodes in the device tree, but
> there will need to be some code added to the xlnx_formatter_pcm to do something
> with that information? And then should that driver have code to trigger the
> call to set_clkdiv on the CPU DAI as well?
> 
> These drivers originated in the Xilinx kernel tree (
> https://jpn01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FXilinx%2Flinux-xlnx%2Ftree%2Fmaster%2Fsound%2Fsoc%2Fxilinx&data=04%7C01%7Ckuninori.morimoto.gx%40renesas.com%7C48c9c4633dae479df6a408d9424d9abd%7C53d82571da1947e49cb4625a166a4a2a%7C0%7C0%7C637613723347710960%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=nMnJI78dvM12Yj8mqB8TzJfxtm3V1tUeJpVQ1FR1bhE%3D&reserved=0) and in that
> tree they've got a top-level xlnx_pl_snd_card.c driver which is defining the
> MCLK divider and instantiating the other components, however that driver is not
> in mainline and seems like it is kind of a hack. It seems like this SCLK
> divider setting is the main thing that is still needed to getting the Xilinx
> audio cores working in mainline using simple-sound-card..

Hmm... clock is one of difficult point to be generic, I guess.
audio-graph / audio-graph2 has customize feature in such case,
but simple-card doesn't.

	- create generic clock handling way on simple-card ?
	- add customize feature to simple-card ?
	- switch to audio-graph / audio-graph2, and use customize feature ?

Thank you for your help !!

Best regards
---
Kuninori Morimoto


More information about the Alsa-devel mailing list