diff options
author | Hongzhou Yang <hongzhou.yang@mediatek.com> | 2015-01-27 08:13:55 +0100 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2015-03-18 02:02:16 +0100 |
commit | 30f010f5c4cfcdf3773d6f2dcbab3c349d05c668 (patch) | |
tree | a7762cb3f96f2fdec463de6a6ee939a9d4a892b8 /drivers/pinctrl/mediatek/pinctrl-mtk-common.h | |
parent | pinctrl: mediatek: Add EINT support to MTK pinctrl driver. (diff) | |
download | linux-30f010f5c4cfcdf3773d6f2dcbab3c349d05c668.tar.xz linux-30f010f5c4cfcdf3773d6f2dcbab3c349d05c668.zip |
arm64: mediatek: Add Pinctrl/GPIO/EINT driver for mt8173.
Add mt8173 support using mediatek common pinctrl driver.
MT8173 have a different ies_smt setting register than mt8135,
so adding this support to common code.
Signed-off-by: Hongzhou Yang <hongzhou.yang@mediatek.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/pinctrl/mediatek/pinctrl-mtk-common.h')
-rw-r--r-- | drivers/pinctrl/mediatek/pinctrl-mtk-common.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/pinctrl/mediatek/pinctrl-mtk-common.h b/drivers/pinctrl/mediatek/pinctrl-mtk-common.h index 8d7d32b68da5..740e6d227d0f 100644 --- a/drivers/pinctrl/mediatek/pinctrl-mtk-common.h +++ b/drivers/pinctrl/mediatek/pinctrl-mtk-common.h @@ -154,6 +154,11 @@ struct mtk_eint_offsets { * up/down bit, R0 and R1 resistor bit, so they need special pull setting. * If special setting is success, this should return 0, otherwise it should * return non-zero value. + * @spec_ies_smt_set: Some pins are irregular, their input enable and smt + * control register are discontinuous, but they are mapping together. That + * means when user set smt, input enable is set at the same time. So they + * also need special control. If special control is success, this should + * return 0, otherwise return non-zero value. * * @dir_offset: The direction register offset. * @pullen_offset: The pull-up/pull-down enable register offset. @@ -177,6 +182,8 @@ struct mtk_pinctrl_devdata { unsigned int n_pin_drv_grps; int (*spec_pull_set)(struct regmap *reg, unsigned int pin, unsigned char align, bool isup, unsigned int arg); + int (*spec_ies_smt_set)(struct regmap *reg, unsigned int pin, + unsigned char align, int value); unsigned int dir_offset; unsigned int ies_offset; unsigned int smt_offset; |