Re: [PATCH] cs4270: add support for slave mode configurations

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

 



On Wed, Feb 25, 2009 at 7:37 AM, Daniel Mack <daniel@xxxxxxxx> wrote:
> Added support for scenarios where the Cirrus CS4270 audio codec is slave
> to the bitclk and lrclk. Mixed setups are unsupported.
>
> Signed-off-by: Daniel Mack <daniel@xxxxxxxx>

FYI, it's customary to CC: the author of a driver when posting patches for it.

> +       /* set master/slave audio interface */
> +       switch (format & SND_SOC_DAIFMT_MASTER_MASK) {
> +       case SND_SOC_DAIFMT_CBS_CFS:
> +               cs4270->slave_mode = 1;
> +               break;
> +       case SND_SOC_DAIFMT_CBM_CFM:
> +               cs4270->slave_mode = 0;
> +               break;
> +       case SND_SOC_DAIFMT_CBM_CFS:
> +               /* unsupported - cs4270 can eigther be slave or master to

Typo.  However, I suggest you get rid of the "case
SND_SOC_DAIFMT_CBM_CFS" and in the "default:", just have this:

> +       default:
                   /* all other modes are unsupported by the hardware */
> +               ret = -EINVAL;
> +       }
> +

>
>        reg = snd_soc_read(codec, CS4270_MODE);
>        reg &= ~(CS4270_MODE_SPEED_MASK | CS4270_MODE_DIV_MASK);
> -       reg |= cs4270_mode_ratios[i].speed_mode | cs4270_mode_ratios[i].mclk;
> +       reg |= cs4270_mode_ratios[i].mclk;
> +
> +       if (cs4270->slave_mode)
> +               reg |= CS4270_MODE_SLAVE;
> +       else
> +               reg |= cs4270_mode_ratios[i].speed_mode;

Are you sure that the mclk bits are still correct in slave mode?  I'm
looking at table 5 in the CS4270 manual, and it lists settings for
1x,2x,4x speed even though the register is set to slave mode instead.

-- 
Timur Tabi
Linux kernel developer at Freescale
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

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

  Powered by Linux