summaryrefslogtreecommitdiffstats
path: root/drivers/pinctrl/mediatek
diff options
context:
space:
mode:
authorSean Wang <sean.wang@mediatek.com>2018-09-08 07:07:21 -0400
committerLinus Walleij <linus.walleij@linaro.org>2018-09-18 17:52:45 -0400
commit1dc5e53691596832991e6550fdbaeb1f9bd82383 (patch)
tree725ec3cbabc1bbfd04f6324603aadd38c399deff /drivers/pinctrl/mediatek
parentfb5fa8dc151b2364c975a9070eedb28a354a995a (diff)
pinctrl: mediatek: extend struct mtk_pin_soc to pinctrl-mtk-common-v2.c
Add two parameters gpio_m and eint_m for configuring GPIO mode and EINT mode, they might be varying depend on SoC. Signed-off-by: Ryder.Lee <ryder.lee@mediatek.com> Signed-off-by: Sean Wang <sean.wang@mediatek.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/pinctrl/mediatek')
-rw-r--r--drivers/pinctrl/mediatek/pinctrl-moore.c4
-rw-r--r--drivers/pinctrl/mediatek/pinctrl-mt7622.c2
-rw-r--r--drivers/pinctrl/mediatek/pinctrl-mtk-common-v2.h5
3 files changed, 8 insertions, 3 deletions
diff --git a/drivers/pinctrl/mediatek/pinctrl-moore.c b/drivers/pinctrl/mediatek/pinctrl-moore.c
index ba7511d4964c..b412b65d0441 100644
--- a/drivers/pinctrl/mediatek/pinctrl-moore.c
+++ b/drivers/pinctrl/mediatek/pinctrl-moore.c
@@ -63,7 +63,7 @@ static int mtk_pinmux_gpio_request_enable(struct pinctrl_dev *pctldev,
63{ 63{
64 struct mtk_pinctrl *hw = pinctrl_dev_get_drvdata(pctldev); 64 struct mtk_pinctrl *hw = pinctrl_dev_get_drvdata(pctldev);
65 65
66 return mtk_hw_set_value(hw, pin, PINCTRL_PIN_REG_MODE, MTK_GPIO_MODE); 66 return mtk_hw_set_value(hw, pin, PINCTRL_PIN_REG_MODE, hw->soc->gpio_m);
67} 67}
68 68
69static int mtk_pinmux_gpio_set_direction(struct pinctrl_dev *pctldev, 69static int mtk_pinmux_gpio_set_direction(struct pinctrl_dev *pctldev,
@@ -580,7 +580,7 @@ static int mtk_xt_set_gpio_as_eint(void *data, unsigned long eint_n)
580 return err; 580 return err;
581 581
582 err = mtk_hw_set_value(hw, gpio_n, PINCTRL_PIN_REG_MODE, 582 err = mtk_hw_set_value(hw, gpio_n, PINCTRL_PIN_REG_MODE,
583 MTK_GPIO_MODE); 583 hw->soc->eint_m);
584 if (err) 584 if (err)
585 return err; 585 return err;
586 586
diff --git a/drivers/pinctrl/mediatek/pinctrl-mt7622.c b/drivers/pinctrl/mediatek/pinctrl-mt7622.c
index a0045bb1cfe3..2fe1f27e21bc 100644
--- a/drivers/pinctrl/mediatek/pinctrl-mt7622.c
+++ b/drivers/pinctrl/mediatek/pinctrl-mt7622.c
@@ -765,6 +765,8 @@ static const struct mtk_pin_soc mt7622_data = {
765 .funcs = mt7622_functions, 765 .funcs = mt7622_functions,
766 .nfuncs = ARRAY_SIZE(mt7622_functions), 766 .nfuncs = ARRAY_SIZE(mt7622_functions),
767 .eint_hw = &mt7622_eint_hw, 767 .eint_hw = &mt7622_eint_hw,
768 .gpio_m = 1,
769 .eint_m = 1,
768}; 770};
769 771
770static const struct of_device_id mt7622_pinctrl_of_match[] = { 772static const struct of_device_id mt7622_pinctrl_of_match[] = {
diff --git a/drivers/pinctrl/mediatek/pinctrl-mtk-common-v2.h b/drivers/pinctrl/mediatek/pinctrl-mtk-common-v2.h
index a8e12ac90f0b..6041024a438f 100644
--- a/drivers/pinctrl/mediatek/pinctrl-mtk-common-v2.h
+++ b/drivers/pinctrl/mediatek/pinctrl-mtk-common-v2.h
@@ -9,7 +9,6 @@
9#ifndef __PINCTRL_MTK_COMMON_V2_H 9#ifndef __PINCTRL_MTK_COMMON_V2_H
10#define __PINCTRL_MTK_COMMON_V2_H 10#define __PINCTRL_MTK_COMMON_V2_H
11 11
12#define MTK_GPIO_MODE 1
13#define MTK_INPUT 0 12#define MTK_INPUT 0
14#define MTK_OUTPUT 1 13#define MTK_OUTPUT 1
15#define MTK_DISABLE 0 14#define MTK_DISABLE 0
@@ -142,6 +141,10 @@ struct mtk_pin_soc {
142 unsigned int nfuncs; 141 unsigned int nfuncs;
143 const struct mtk_eint_regs *eint_regs; 142 const struct mtk_eint_regs *eint_regs;
144 const struct mtk_eint_hw *eint_hw; 143 const struct mtk_eint_hw *eint_hw;
144
145 /* Specific parameters per SoC */
146 u8 gpio_m;
147 u8 eint_m;
145}; 148};
146 149
147struct mtk_pinctrl { 150struct mtk_pinctrl {