* sdw_cdns_init() - Cadence initialization
  * @cdns: Cadence instance
  */
-int sdw_cdns_init(struct sdw_cdns *cdns)
+int sdw_cdns_init(struct sdw_cdns *cdns, bool clock_stop_exit)
 {
        struct sdw_bus *bus = &cdns->bus;
        struct sdw_master_prop *prop = &bus->prop;
        int divider;
        int ret;
 
-       /* Exit clock stop */
-       ret = cdns_clear_bit(cdns, CDNS_MCP_CONTROL,
-                            CDNS_MCP_CONTROL_CLK_STOP_CLR);
-       if (ret < 0) {
-               dev_err(cdns->dev, "Couldn't exit from clock stop\n");
-               return ret;
+       if (clock_stop_exit) {
+               ret = cdns_clear_bit(cdns, CDNS_MCP_CONTROL,
+                                    CDNS_MCP_CONTROL_CLK_STOP_CLR);
+               if (ret < 0) {
+                       dev_err(cdns->dev, "Couldn't exit from clock stop\n");
+                       return ret;
+               }
        }
 
        /* Set clock divider */
 
 irqreturn_t sdw_cdns_irq(int irq, void *dev_id);
 irqreturn_t sdw_cdns_thread(int irq, void *dev_id);
 
-int sdw_cdns_init(struct sdw_cdns *cdns);
+int sdw_cdns_init(struct sdw_cdns *cdns, bool clock_stop_exit);
 int sdw_cdns_pdi_init(struct sdw_cdns *cdns,
                      struct sdw_cdns_stream_config config);
 int sdw_cdns_exit_reset(struct sdw_cdns *cdns);