Re: [PATCH v3 7/7] ASoC: tas2770: expose SDOUT bus keeper via set_tdm_idle
From: Mark Brown
Date: Thu Mar 12 2026 - 10:37:50 EST
On Sun, Mar 01, 2026 at 06:05:26PM +1000, James Calligeros wrote:
> +static int tas2770_set_dai_tdm_idle(struct snd_soc_dai *dai,
> + unsigned int tx_mask,
> + unsigned int rx_mask,
> + int tx_mode, int rx_mode)
> +{
> + switch (tx_mode) {
> + case SND_SOC_DAI_TDM_IDLE_PULLDOWN:
> + ret = snd_soc_component_update_bits(component, TAS2770_DIN_PD,
> + TAS2770_DIN_PD_SDOUT,
> + TAS2770_DIN_PD_SDOUT);
> + if (ret)
> + return ret;
> +
> + break;
This and all the other cases only updates the bits it's specifically
setting for the mode, so _ZERO and _HIZ don't update the pull and this
doesn't update the _KEEP/_FILL settings. Not sure how often anyone is
going to change this at runtime though.
> + case SND_SOC_DAI_TDM_IDLE_OFF:
> + ret = snd_soc_component_update_bits(component, TAS2770_DIN_PD,
> + TAS2770_DIN_PD_SDOUT, 0);
> + if (ret)
> + return ret;
> +
> + ret = snd_soc_component_update_bits(component, TAS2770_TDM_CFG_REG4,
> + TAS2770_TDM_CFG_REG4_TX_KEEPER, 0);
Actually this does _KEEP but not _FILL.
Attachment:
signature.asc
Description: PGP signature