Commit 182c842f authored by Sean Wang's avatar Sean Wang Committed by Linus Walleij

pinctrl: mediatek: add ies register support to pinctrl-mtk-common-v2.c

Certain SoCs have to program an extra IES register to configure input
enabled mode so that we add it in the existing path as an option.
Signed-off-by: default avatarRyder.Lee <ryder.lee@mediatek.com>
Signed-off-by: default avatarSean Wang <sean.wang@mediatek.com>
Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
parent 0d7ca772
......@@ -244,15 +244,27 @@ static int mtk_pinconf_set(struct pinctrl_dev *pctldev, unsigned int pin,
MTK_DISABLE);
if (err)
goto err;
/* else: fall through */
err = mtk_hw_set_value(hw, pin, PINCTRL_PIN_REG_DIR,
MTK_OUTPUT);
if (err)
goto err;
break;
case PIN_CONFIG_INPUT_ENABLE:
case PIN_CONFIG_SLEW_RATE:
reg = (param == PIN_CONFIG_SLEW_RATE) ?
PINCTRL_PIN_REG_SR : PINCTRL_PIN_REG_DIR;
arg = (param == PIN_CONFIG_INPUT_ENABLE) ? 0 :
(param == PIN_CONFIG_OUTPUT_ENABLE) ? 1 : arg;
err = mtk_hw_set_value(hw, pin, reg, arg);
if (hw->soc->ies_present) {
mtk_hw_set_value(hw, pin, PINCTRL_PIN_REG_IES,
MTK_ENABLE);
}
err = mtk_hw_set_value(hw, pin, PINCTRL_PIN_REG_DIR,
MTK_INPUT);
if (err)
goto err;
break;
case PIN_CONFIG_SLEW_RATE:
err = mtk_hw_set_value(hw, pin, PINCTRL_PIN_REG_SR,
arg);
if (err)
goto err;
......
......@@ -767,6 +767,7 @@ static const struct mtk_pin_soc mt7622_data = {
.eint_hw = &mt7622_eint_hw,
.gpio_m = 1,
.eint_m = 1,
.ies_present = false,
.bias_disable_set = mtk_pinconf_bias_disable_set,
.bias_disable_get = mtk_pinconf_bias_disable_get,
.bias_set = mtk_pinconf_bias_set,
......
......@@ -54,6 +54,7 @@ enum {
PINCTRL_PIN_REG_PUPD,
PINCTRL_PIN_REG_R0,
PINCTRL_PIN_REG_R1,
PINCTRL_PIN_REG_IES,
PINCTRL_PIN_REG_MAX,
};
......@@ -151,6 +152,7 @@ struct mtk_pin_soc {
/* Specific parameters per SoC */
u8 gpio_m;
u8 eint_m;
bool ies_present;
/* Specific pinconfig operations */
int (*bias_disable_set)(struct mtk_pinctrl *hw,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment