[alsa-devel] [PATCH] ASoC: max98090: add shutdown callback for max98090
Jianqun
xjq at rock-chips.com
Fri Apr 10 02:46:44 CEST 2015
Hi Anish Kumar
在 04/10/2015 03:38 AM, Anish Kumar 写道:
>> To fix pop noise when shutdown,the pop noise during shutdown
>> is the pmic cutoff power of codec without any notice.
> Is the power turned off without any intimation to the codec driver?
> Or is it physically removed? Can you describe the probelm
> better?
When device is shutdown with playing music, the origin driver does nothing for shutdown operation,
as a result, pmic will cut off the power of codec IC, thus cause a pop noise from speaker and headphone.
So the patch added a shutdown callback for driver, enable volume smoothing and disable zero cross,
this is referenced from mic_input which does the samething before mic switch.
I'm very happy if some suggestion from maximintegrate . :-)
>
> +static void max98090_i2c_shutdown(struct i2c_client *i2c)
> +{
> + struct max98090_priv *max98090 = dev_get_drvdata(&i2c->dev);
> +
> + dev_info(&i2c->dev, "shut down device\n");
> +
> + /* Enable volume smoothing, disable zero cross. This will cause
> + * a quick 40ms ramp to mute on shutdown.
> + */
> + regmap_write(max98090->regmap,
> + M98090_REG_LEVEL_CONTROL, M98090_VSENN_MASK);
> + regmap_write(max98090->regmap,
> + M98090_REG_DEVICE_SHUTDOWN, 0x00);
> + msleep(40);
> +}
> +
>
>
More information about the Alsa-devel
mailing list