diff options
author | Vaibhav Hiremath | 2016-01-06 19:16:45 +0100 |
---|---|---|
committer | Greg Kroah-Hartman | 2016-01-07 05:03:18 +0100 |
commit | ae0bf3a62805fa80c8277dd293d9d9d9b8b4c7c0 (patch) | |
tree | f50efae3fd6aff4d2c95f2d15e7a4b0ac35be76e | |
parent | greybus: arche-platform: Export gpio (reset & sys_boot) to user (diff) | |
download | kernel-qcow2-linux-ae0bf3a62805fa80c8277dd293d9d9d9b8b4c7c0.tar.gz kernel-qcow2-linux-ae0bf3a62805fa80c8277dd293d9d9d9b8b4c7c0.tar.xz kernel-qcow2-linux-ae0bf3a62805fa80c8277dd293d9d9d9b8b4c7c0.zip |
greybus: arche-apb-ctrl: Set wake_detect gpio to low initially
This patch enables handshaking of AP and SVC using wake_detect
gpio (WD_8A and WD_8B).
Note that WAKE_DETECT polarity is active-high, so in order to
enable handshaking between AP <=> SVC, we need to set wake_detect
gpio to low initially, so that driver can send WAKE_DET signal
(active-high) to SVC and then SVC can send back WAKE_MOD signal
(active-low).
And on reception of WAKE_MOD signal, driver would bring respective
APB out of reset.
WD_8A => APB1
WD_8B => APB2
Signed-off-by: Vaibhav Hiremath <vaibhav.hiremath@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
-rw-r--r-- | drivers/staging/greybus/arche-apb-ctrl.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/staging/greybus/arche-apb-ctrl.c b/drivers/staging/greybus/arche-apb-ctrl.c index 8046e1eced83..d3db7fbb33b4 100644 --- a/drivers/staging/greybus/arche-apb-ctrl.c +++ b/drivers/staging/greybus/arche-apb-ctrl.c @@ -195,7 +195,8 @@ static int apb_ctrl_init_seq(struct platform_device *pdev, gpio_set_value(apb->boot_ret_gpio, 0); udelay(50); - ret = devm_gpio_request(dev, apb->wake_detect_gpio, "wake detect"); + ret = devm_gpio_request_one(dev, apb->wake_detect_gpio, + GPIOF_INIT_LOW, "wake detect"); if (ret) dev_err(dev, "Failed requesting wake_detect gpio %d\n", apb->wake_detect_gpio); |