Re: [PATCH] ASoC: fsl_sai: Enable transmitter when generating MCLK

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Nov 8, 2022 at 5:52 AM Marek Vasut <marex@xxxxxxx> wrote:

> For SAI to generate MCLK on external SoC pad, the transmitter must be
> enabled as well. With transmitter disabled, no clock are generated.
> Enable the transmitter using the TERE bit.
>

It is already done in trigger(), why need to do this operation in probe()
and set_bclk() again?

best regards
wang shengjiu

>
> Signed-off-by: Marek Vasut <marex@xxxxxxx>
> ---
> Cc: Fabio Estevam <festevam@xxxxxxxxx>
> Cc: Jaroslav Kysela <perex@xxxxxxxx>
> Cc: Liam Girdwood <lgirdwood@xxxxxxxxx>
> Cc: Mark Brown <broonie@xxxxxxxxxx>
> Cc: Nicolin Chen <nicoleotsuka@xxxxxxxxx>
> Cc: Shengjiu Wang <shengjiu.wang@xxxxxxxxx>
> Cc: Takashi Iwai <tiwai@xxxxxxxx>
> Cc: Xiubo Li <Xiubo.Lee@xxxxxxxxx>
> To: alsa-devel@xxxxxxxxxxxxxxxx
> ---
>  sound/soc/fsl/fsl_sai.c | 9 +++++++++
>  1 file changed, 9 insertions(+)
>
> diff --git a/sound/soc/fsl/fsl_sai.c b/sound/soc/fsl/fsl_sai.c
> index 1c9be8a5dcb13..98c62027e5799 100644
> --- a/sound/soc/fsl/fsl_sai.c
> +++ b/sound/soc/fsl/fsl_sai.c
> @@ -503,6 +503,10 @@ static int fsl_sai_set_bclk(struct snd_soc_dai *dai,
> bool tx, u32 freq)
>                 /* SAI is in master mode at this point, so enable MCLK */
>                 regmap_update_bits(sai->regmap, FSL_SAI_MCTL,
>                                    FSL_SAI_MCTL_MCLK_EN,
> FSL_SAI_MCTL_MCLK_EN);
> +
> +               /* Transmitter must be enabled to generate MCLK on pad */
> +               regmap_update_bits(sai->regmap, FSL_SAI_xCSR(1, ofs),
> +                                  FSL_SAI_CSR_TERE, FSL_SAI_CSR_TERE);
>         }
>
>         return 0;
> @@ -1445,6 +1449,11 @@ static int fsl_sai_probe(struct platform_device
> *pdev)
>             sai->soc_data->max_register >= FSL_SAI_MCTL) {
>                 regmap_update_bits(sai->regmap, FSL_SAI_MCTL,
>                                    FSL_SAI_MCTL_MCLK_EN,
> FSL_SAI_MCTL_MCLK_EN);
> +
> +               /* Transmitter must be enabled to generate MCLK on pad */
> +               regmap_update_bits(sai->regmap,
> +                                  FSL_SAI_xCSR(1,
> sai->soc_data->reg_offset),
> +                                  FSL_SAI_CSR_TERE, FSL_SAI_CSR_TERE);
>         }
>
>         ret = pm_runtime_put_sync(dev);
> --
> 2.35.1
>
>



[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Pulse Audio]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux