On Thu, 14 May 2009 11:09:08 +0300 Peter Ujfalusi <peter.ujfalusi@xxxxxxxxx> wrote: > Startup: > dac -> HS ramp up (HS enable, fake PGA) -> PGA > > Standby: > HS ramp down (HS disable, fake PGA) -> PGA -> dac > > If the order of the startup can be somehow altered to be: > dac -> PGA -> HS ramp up (HS enable, fake PGA) > Did you implement this fake or actually real PGA between "HeadsetL Mixer" and "HSOL"? I seems that there is an error in audio path that output pin control is tied to mixer and there is no widget in audio path defining the output amplifier. See SND_SOC_DAPM_MIXER_E("HeadsetL Mixer", SND_SOC_NOPM, 0, 0, &twl4030_dapm_hsol_controls[0], ARRAY_SIZE(twl4030_dapm_hsol_controls), headsetl_event, SND_SOC_DAPM_POST_PMU|SND_SOC_DAPM_POST_PMD), ... {"HSOL", NULL, "HeadsetL Mixer"}, {"HSOR", NULL, "HeadsetR Mixer"}, So startup/shutdown order should be correct if you define a new PGA between the HSOx and Headsetx mixer and let that to manage output pin power. -- Jarkko _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel