Re: [PATCH] ASoC: fsl-asoc-card: add wm8960 support

Nicolin Chen
2015-08-12T03:43:05Z

On Wed, Aug 12, 2015 at 11:22:30AM +0800, Zidan Wang wrote:
> add wm8960 support for fsl-asoc-card
>
> Signed-off-by: Zidan Wang <zidan.wang@freescale.com>

> + gpr_np = of_parse_phandle(np, "gpr", 0);
> + if (gpr_np) {
> + priv->gpr = syscon_node_to_regmap(gpr_np);
> + if (IS_ERR(priv->gpr)) {
> + ret = PTR_ERR(priv->gpr);
> + dev_err(&pdev->dev, "failed to get gpr regmap\n");
> + goto fail;
> + }
> + /*
> + * for imx6ul we should set SAI2_MCLK_DIR to enable
> + * codec MCLK
> + */
> + if (of_device_is_compatible(np, "fsl,imx6ul-evk-wm8960"))
> + regmap_update_bits(priv->gpr, 4, 1 << 20, 1 << 20);

What's this SAI2_MCLK_DIR? Can you provide the description of it?

And why not put it inside:
+ } else if (of_device_is_compatible(np, "fsl,imx-audio-wm8960")) {
+ priv->card.set_bias_level = fsl_asoc_card_set_bias_level;
+ priv->codec_priv.fll_id = WM8960_SYSCLK_AUTO;
+ priv->codec_priv.pll_id = WM8960_SYSCLK_AUTO;
+ priv->dai_fmt |= SND_SOC_DAIFMT_CBM_CFM;

> @@ -521,7 +545,10 @@ static int fsl_asoc_card_probe(struct platform_device *pdev)
> /* Normal DAI Link */
> priv->dai_link[0].cpu_of_node = cpu_np;
> priv->dai_link[0].codec_of_node = codec_np;
> - priv->dai_link[0].codec_dai_name = codec_dev->name;
> + if (strstr(codec_dev->name, "wm8960"))
> + priv->dai_link[0].codec_dai_name = "wm8960-hifi";
> + else
> + priv->dai_link[0].codec_dai_name = codec_dev->name;

What happens to the codec_dev->name over here so that you need to
specify the name?

Nicolin