DA7213_DAI_CLK_EN_MASK,
                                            DA7213_DAI_CLK_EN_MASK);
 
+               /* PC synchronised to DAI */
+               snd_soc_update_bits(codec, DA7213_PC_COUNT,
+                                   DA7213_PC_FREERUN_MASK, 0);
+
                /* Slave mode, if SRM not enabled no need for status checks */
                pll_ctrl = snd_soc_read(codec, DA7213_PLL_CTRL);
                if (!(pll_ctrl & DA7213_PLL_SRM_EN))
 
                return 0;
        case SND_SOC_DAPM_POST_PMD:
+               /* PC free-running */
+               snd_soc_update_bits(codec, DA7213_PC_COUNT,
+                                   DA7213_PC_FREERUN_MASK,
+                                   DA7213_PC_FREERUN_MASK);
+
                /* Disable DAI clks if in master mode */
                if (da7213->master)
                        snd_soc_update_bits(codec, DA7213_DAI_CLK_MODE,
        /* Default to using SRM for slave mode */
        da7213->srm_en = true;
 
+       /* Default PC counter to free-running */
+       snd_soc_update_bits(codec, DA7213_PC_COUNT, DA7213_PC_FREERUN_MASK,
+                           DA7213_PC_FREERUN_MASK);
+
        /* Enable all Gain Ramps */
        snd_soc_update_bits(codec, DA7213_AUX_L_CTRL,
                            DA7213_GAIN_RAMP_EN, DA7213_GAIN_RAMP_EN);
 
 #define DA7213_DMIC_CLK_RATE_SHIFT                             2
 #define DA7213_DMIC_CLK_RATE_MASK                              (0x1 << 2)
 
+/* DA7213_PC_COUNT = 0x94 */
+#define DA7213_PC_FREERUN_MASK                                 (0x1 << 0)
+
 /* DA7213_DIG_CTRL = 0x99 */
 #define DA7213_DAC_L_INV_SHIFT                                 3
 #define DA7213_DAC_R_INV_SHIFT                                 7