diff options
author | Biao Huang <biao.huang@mediatek.com> | 2016-02-17 03:16:34 +0800 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2016-02-19 00:30:22 +0100 |
commit | b1c5b77035e086c9c3c8157dcc294a17e67a6ce0 (patch) | |
tree | c33d14ebc2d60737c351a025dbb2baf1ad676d8d /drivers/pinctrl | |
parent | 31763d3b369c44159919ff2fbfafbb90613e1de2 (diff) | |
download | linux-b1c5b77035e086c9c3c8157dcc294a17e67a6ce0.tar.bz2 |
pinctrl: mediatek: add input-enable and direction setting for eint resources
To use pin as eint, user should make sure that:
1. pin is set to right mode, this is done in .irq_request_resources
implementation already.
2. direction of the pin is input, which should call GPIO API to set
pin to input gpio.
We add what step 2 do to .irq_request_resources so that user doesn't
need call GPIO API any more when pin for eint usage.
Signed-off-by: Biao Huang <biao.huang@mediatek.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/pinctrl')
-rw-r--r-- | drivers/pinctrl/mediatek/pinctrl-mtk-common.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/pinctrl/mediatek/pinctrl-mtk-common.c b/drivers/pinctrl/mediatek/pinctrl-mtk-common.c index 578897a1c45f..342d85b9861f 100644 --- a/drivers/pinctrl/mediatek/pinctrl-mtk-common.c +++ b/drivers/pinctrl/mediatek/pinctrl-mtk-common.c @@ -863,6 +863,10 @@ static int mtk_pinctrl_irq_request_resources(struct irq_data *d) /* set mux to INT mode */ mtk_pmx_set_mode(pctl->pctl_dev, pin->pin.number, pin->eint.eintmux); + /* set gpio direction to input */ + mtk_pmx_gpio_set_direction(pctl->pctl_dev, NULL, pin->pin.number, true); + /* set input-enable */ + mtk_pconf_set_ies_smt(pctl, pin->pin.number, 1, PIN_CONFIG_INPUT_ENABLE); return 0; } |