Re: [PATCH 1/4] ASoC: es8316: Enable support for S32 LE format and MCLK div by 2
This introduces a DT property but there's no documentation for it,
but I
don't see why we'd want this in the bindings - the driver should be
able
to tell from the input clock rate and required output/internal clocks
if
it needs to divide MCLK.
The problem here is that I have no knowledge what is the maximum MCLK that the codec accepts. According to the datasheet the maximum supported frequency of MCLK is 51.2 Mhz. But this doesn't seem to be the case in practice since a MCLK of 48Mhz causes noises in the sound output. The idea to divide the MCLK by 2 was proposed by a Everest Semiconductor engineer. So I don't know how to make this generic enough to be activated from the codec driver.
The usual constraint would be that MCLK can be at most some multiple of LRCLK or something similar (are all the other dividers in the chip set sensibly for the full scale MCLK?). In any case you're clearly aware of a specific case where it needs to be divided down which can be identified even if you're concerned about dividing down for other cases.
In practice no dt property is needed. We support 48M mclk, based on enabling MCLK divided by 2 for mclk greater than 24M . You may want code like this: /* enabling mclk divided by 2 for mclk > 24M */ if (es8316->sysclk > 24000000) mclk_div_option = true;
participants (1)
-
沈一超