if (arche_pdata->state == ARCHE_PLATFORM_STATE_OFF)
return;
- /* Send disconnect/detach event to SVC */
- gpio_set_value(arche_pdata->wake_detect_gpio, 0);
- usleep_range(100, 200);
+ /* If in fw_flashing mode, then no need to repeate things again */
+ if (arche_pdata->state != ARCHE_PLATFORM_STATE_FW_FLASHING) {
+ /* Send disconnect/detach event to SVC */
+ gpio_set_value(arche_pdata->wake_detect_gpio, 0);
+ usleep_range(100, 200);
+
+ clk_disable_unprepare(arche_pdata->svc_ref_clk);
+ }
- clk_disable_unprepare(arche_pdata->svc_ref_clk);
/* As part of exit, put APB back in reset state */
svc_reset_onoff(arche_pdata->svc_reset_gpio,
arche_pdata->is_reset_act_hi);