Re: [PATCH 8/8] arm64: dts: renesas: salvator: add a connection from adv748x codec (HDMI input) to the R-Car SoC

Kuninori Morimoto
2020-03-10T01:07:26Z

Hi Alex

> Should the adv748x driver also implement anything to configure the frequency
> of MCLK clock? I mean something like .set_sysclk and .set_fmt callbacks of
> snd_soc_dai_ops?
>
> Or is the driver implementation, which depends on mclk-fs to be 256, the audio
> stream format to be 8x S24_LE, and requires strictly 48kHz sampling rate on
> the HDMI input, a totally acceptable first attempt at writing a DAI driver?
>
> I'm a bit bothered by that, as the hardware is also capable of decoding
> stereo, sampling rate 32-192kHz, a variety of PCM and compressed/encrypted
> formats, 128-768fs MCLK multipliers, and a row of I2S options.
>
> I just find it confusing to place the configuration interfaces.
> For instance, the patches use the media ioctl for audio output selection to
> select I2S protocol. While works, it does not feel right (shouldn't it be in
> the device tree?)
>
> Maybe you can point me at a driver doing something similar? I'm studying media
> drivers now, but not many of them use ASoC interfaces for devices providing a
> clock. Or maybe I should better look at sound/soc/...?

Setting Sound Clock for all cases/patterns are very complex and difficult actually.
(ADV7482 configuration) x (ADG divider / selector) x etc, etc...

Thus, Current R-Car sound is assuming that audio_clk_a/b/c/i are providing
route clock (= no configuration, fixed clock), and ADG divides it,
and provide best clock to each SSIx.

Current Salvator/ULCB already have 44.1/48kHz route clock (= CS2000 and Audio_CLK_A),
and we can reuse it for all SSIx. Thus, ADV7482 clock is not necessary, I guess ?
Or providing specific clock for some case is enough
(ADG will automatically select it if necessary).

If ADV7482 needs more detail clock settings combination,
then, there is no method to adjust to it.
We need to consider such system somehow.

Thank you for your help !!

Best regards
---
Kuninori Morimoto