greybus: arche-platform: Pull wake/detect low in poweroff
authorVaibhav Hiremath <vaibhav.hiremath@linaro.org>
Fri, 12 Feb 2016 20:34:06 +0000 (02:04 +0530)
committerGreg Kroah-Hartman <gregkh@google.com>
Mon, 15 Feb 2016 21:18:40 +0000 (13:18 -0800)
When SVC goes down, make sure that wake/detect is also pulled low.
Note that this is not the criteria for SVC poweroff, but it is required
to have right state on wake/detect line before powering off.
And on next boot, the boot-sequence code would take care of
handshaking with SVC.

Tested-on: Tested on EVT1.2 and DB3.5 platform.

Signed-off-by: Vaibhav Hiremath <vaibhav.hiremath@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
drivers/staging/greybus/arche-platform.c

index 1336fc4194c72f6223e7370d779783ad7a58b1df..b2f3919f7cb32cf17b9f5d18f0fefeedf5c85d62 100644 (file)
@@ -136,6 +136,10 @@ static int arche_platform_coldboot_seq(struct arche_platform_drvdata *arche_pdat
 
 static void arche_platform_poweroff_seq(struct arche_platform_drvdata *arche_pdata)
 {
+       /* 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);
        /* As part of exit, put APB back in reset state */
        svc_reset_onoff(arche_pdata->svc_reset_gpio,