/* No imput selected for microphone amplifiers */
        twl6040_write_reg_cache(codec, TWL6040_REG_MICLCTL, 0x18);
        twl6040_write_reg_cache(codec, TWL6040_REG_MICRCTL, 0x18);
+
+       /*
+        * We need to lower the default gain values, so the ramp code
+        * can work correctly for the first playback.
+        * This reduces the pop noise heard at the first playback.
+        */
+       twl6040_write_reg_cache(codec, TWL6040_REG_HSGAIN, 0xff);
+       twl6040_write_reg_cache(codec, TWL6040_REG_EARCTL, 0x1e);
+       twl6040_write_reg_cache(codec, TWL6040_REG_HFLGAIN, 0x1d);
+       twl6040_write_reg_cache(codec, TWL6040_REG_HFRGAIN, 0x1d);
+       twl6040_write_reg_cache(codec, TWL6040_REG_LINEGAIN, 0);
 }
 
 static void twl6040_restore_regs(struct snd_soc_codec *codec)