From: "Mark Brown" <broonie@xxxxxxxxxx> Sent: Thursday, 16 May, 2024 14:13:19 > On Wed, May 15, 2024 at 03:54:09PM +0200, Elinor Montmasson wrote: > >> Add an optional DT clock "cpu_sysclk" to get the CPU DAI system-clock >> frequency when using the generic codec. >> It is set for both Tx and Rx. >> The way the frequency value is used is up to the CPU DAI driver >> implementation. > >> + struct clk *cpu_sysclk = clk_get(&pdev->dev, "cpu_sysclk"); >> + if (!IS_ERR(cpu_sysclk)) { >> + priv->cpu_priv.sysclk_freq[TX] = clk_get_rate(cpu_sysclk); >> + priv->cpu_priv.sysclk_freq[RX] = priv->cpu_priv.sysclk_freq[TX]; >> + clk_put(cpu_sysclk); >> + } > > I don't really understand the goal here - this is just reading whatever > frequency happens to be set in the hardware when the driver starts up > which if nothing else seems rather fragile? The driver allow to set the sysclk frequency of the CPU DAI through `priv->cpu_priv.sysclk_freq` when calling `fsl_asoc_card_hw_params()`. Currently it is hard-coded per use-case in the driver. My reasoning was that with a generic codec/compatible, there might be use-cases needing to use this parameter, so I exposed it here via DT. Is it a bad idea to expose this parameter ? This is not a requirement for the driver to work, most of the current compatibles do not use this parameter. It is currently used only for `fsl,imx-audio-cs42888`. In that case I can remove this commit. Best regards, Elinor Montmasson