| /linux/drivers/pinctrl/mediatek/ |
| H A D | mtk-eint.c | 74 static void __iomem *mtk_eint_get_offset(struct mtk_eint *eint, in mtk_eint_get_offset() argument 78 unsigned int idx = eint->pins[eint_num].index; in mtk_eint_get_offset() 79 unsigned int inst = eint->pins[eint_num].instance; in mtk_eint_get_offset() 82 reg = eint->base[inst] + offset + (idx / 32 * 4); in mtk_eint_get_offset() 87 static unsigned int mtk_eint_can_en_debounce(struct mtk_eint *eint, in mtk_eint_can_en_debounce() argument 91 unsigned int bit = BIT(eint->pins[eint_num].index % 32); in mtk_eint_can_en_debounce() 92 void __iomem *reg = mtk_eint_get_offset(eint, eint_num, in mtk_eint_can_en_debounce() 93 eint->regs->sens); in mtk_eint_can_en_debounce() 100 if (eint->pins[eint_num].debounce && sens != MTK_EINT_EDGE_SENSITIVE) in mtk_eint_can_en_debounce() 106 static int mtk_eint_flip_edge(struct mtk_eint *eint, int hwirq) in mtk_eint_flip_edge() argument [all …]
|
| H A D | mtk-eint.h | 92 int mtk_eint_do_init(struct mtk_eint *eint, struct mtk_eint_pin *eint_pin); 93 int mtk_eint_do_suspend(struct mtk_eint *eint); 94 int mtk_eint_do_resume(struct mtk_eint *eint); 95 int mtk_eint_set_debounce(struct mtk_eint *eint, unsigned long eint_n, 97 int mtk_eint_find_irq(struct mtk_eint *eint, unsigned long eint_n); 100 static inline int mtk_eint_do_init(struct mtk_eint *eint, in mtk_eint_do_init() argument 106 static inline int mtk_eint_do_suspend(struct mtk_eint *eint) in mtk_eint_do_suspend() argument 111 static inline int mtk_eint_do_resume(struct mtk_eint *eint) in mtk_eint_do_resume() argument 116 static inline int mtk_eint_set_debounce(struct mtk_eint *eint, unsigned long eint_n, in mtk_eint_set_debounce() argument 122 static inline int mtk_eint_find_irq(struct mtk_eint *eint, unsigned long eint_n) in mtk_eint_find_irq() argument
|
| H A D | pinctrl-mtk-common-v2.c | 244 if (desc[i].eint.eint_n == eint_n) in mtk_xt_find_eint_num() 269 if (desc->eint.eint_m == NO_EINT_SUPPORT) in mtk_is_virt_gpio() 272 if (desc->funcs && !desc->funcs[desc->eint.eint_m].name) in mtk_is_virt_gpio() 294 desc[eint_n].eint.eint_n == eint_n) in mtk_xt_get_gpio_n() 341 desc->eint.eint_m); in mtk_xt_set_gpio_as_eint() 379 hw->eint = devm_kzalloc(hw->dev, sizeof(*hw->eint), GFP_KERNEL); in mtk_build_eint() 380 if (!hw->eint) in mtk_build_eint() 387 hw->eint->nbase = count_reg_names - (int)hw->soc->nbase_names; in mtk_build_eint() 388 if (hw->eint->nbase <= 0) in mtk_build_eint() 391 hw->eint->base = devm_kmalloc_array(&pdev->dev, hw->eint->nbase, in mtk_build_eint() [all …]
|
| H A D | pinctrl-mtk-common.c | 735 if (pin->eint.eintnum == eint_num) in mtk_find_pin_by_eint_num() 864 if (pin->eint.eintnum == NO_EINT_SUPPORT) in mtk_gpio_to_irq() 867 eint_n = pin->eint.eintnum; in mtk_gpio_to_irq() 869 return mtk_eint_find_irq(pctl->eint, eint_n); in mtk_gpio_to_irq() 884 if (pin->eint.eintnum == NO_EINT_SUPPORT) in mtk_gpio_set_config() 888 eint_n = pin->eint.eintnum; in mtk_gpio_set_config() 890 return mtk_eint_set_debounce(pctl->eint, eint_n, debounce); in mtk_gpio_set_config() 910 return mtk_eint_do_suspend(pctl->eint); in mtk_eint_suspend() 917 return mtk_eint_do_resume(pctl->eint); in mtk_eint_resume() 995 mtk_pmx_set_mode(pctl->pctl_dev, pin->pin.number, pin->eint.eintmux); in mtk_xt_set_gpio_as_eint() [all …]
|
| H A D | pinctrl-moore.c | 528 if (!hw->eint) in mtk_gpio_to_irq() 533 if (desc->eint.eint_n == (u16)EINT_NA) in mtk_gpio_to_irq() 536 return mtk_eint_find_irq(hw->eint, desc->eint.eint_n); in mtk_gpio_to_irq() 550 if (!hw->eint || in mtk_gpio_set_config() 552 desc->eint.eint_n == (u16)EINT_NA) in mtk_gpio_set_config() 557 return mtk_eint_set_debounce(hw->eint, desc->eint.eint_n, debounce); in mtk_gpio_set_config()
|
| H A D | pinctrl-mtk-common.h | 37 const struct mtk_desc_eint eint; member 44 .eint = _eint, \ 292 struct mtk_eint *eint; member
|
| H A D | pinctrl-paris.c | 909 if (!hw->eint) in mtk_gpio_to_irq() 914 if (desc->eint.eint_n == EINT_NA) in mtk_gpio_to_irq() 917 return mtk_eint_find_irq(hw->eint, desc->eint.eint_n); in mtk_gpio_to_irq() 929 if (!hw->eint || in mtk_gpio_set_config() 931 desc->eint.eint_n == EINT_NA) in mtk_gpio_set_config() 936 return mtk_eint_set_debounce(hw->eint, desc->eint.eint_n, debounce); in mtk_gpio_set_config() 1090 return mtk_eint_do_suspend(pctl->eint); in mtk_paris_pinctrl_suspend() 1097 return mtk_eint_do_resume(pctl->eint); in mtk_paris_pinctrl_resume()
|
| H A D | Kconfig | 168 map specific eint which doesn't have real gpio pin. 270 map specific eint which doesn't have real gpio pin. 282 map specific eint which doesn't have real gpio pin. 308 map specific eint which doesn't have real gpio pin.
|
| H A D | pinctrl-moore.h | 32 .eint = { \
|
| H A D | pinctrl-paris.h | 46 .eint = _eint, \
|
| H A D | pinctrl-mtk-common-v2.h | 221 struct mtk_eint_desc eint; member 298 struct mtk_eint *eint; member
|
| H A D | Makefile | 3 obj-$(CONFIG_EINT_MTK) += mtk-eint.o
|
| /linux/arch/arm64/boot/dts/exynos/ |
| H A D | exynos9810.dtsi | 228 compatible = "samsung,exynos9810-wakeup-eint", 229 "samsung,exynos850-wakeup-eint", 230 "samsung,exynos7-wakeup-eint"; 245 compatible = "samsung,exynos9810-wakeup-eint", 246 "samsung,exynos850-wakeup-eint", 247 "samsung,exynos7-wakeup-eint";
|
| H A D | exynos990.dtsi | 368 compatible = "samsung,exynos990-wakeup-eint", 369 "samsung,exynos850-wakeup-eint", 370 "samsung,exynos7-wakeup-eint";
|
| H A D | exynos850.dtsi | 398 compatible = "samsung,exynos850-wakeup-eint", 399 "samsung,exynos7-wakeup-eint"; 408 compatible = "samsung,exynos850-wakeup-eint", 409 "samsung,exynos7-wakeup-eint";
|
| H A D | exynos7885.dtsi | 268 compatible = "samsung,exynos7885-wakeup-eint", 269 "samsung,exynos7-wakeup-eint";
|
| H A D | exynos2200.dtsi | 1325 compatible = "samsung,exynos2200-wakeup-eint", 1326 "samsung,exynos850-wakeup-eint", 1327 "samsung,exynos7-wakeup-eint"; 1880 compatible = "samsung,exynos2200-wakeup-eint", 1881 "samsung,exynos850-wakeup-eint", 1882 "samsung,exynos7-wakeup-eint";
|
| H A D | exynos7870.dtsi | 667 compatible = "samsung,exynos7870-wakeup-eint", 668 "samsung,exynos7-wakeup-eint";
|
| H A D | exynosautov9.dtsi | 359 compatible = "samsung,exynosautov9-wakeup-eint", 360 "samsung,exynos850-wakeup-eint", 361 "samsung,exynos7-wakeup-eint";
|
| /linux/arch/arm/boot/dts/samsung/ |
| H A D | s3c64xx.dtsi | 182 compatible = "samsung,s3c64xx-wakeup-eint";
|
| H A D | exynos5410.dtsi | 168 compatible = "samsung,exynos4210-wakeup-eint";
|
| H A D | exynos5260.dtsi | 381 compatible = "samsung,exynos4210-wakeup-eint";
|
| /linux/arch/arm64/boot/dts/exynos/google/ |
| H A D | gs101.dtsi | 1773 compatible = "google,gs101-wakeup-eint", 1774 "samsung,exynos850-wakeup-eint", 1775 "samsung,exynos7-wakeup-eint"; 1786 compatible = "google,gs101-wakeup-eint", 1787 "samsung,exynos850-wakeup-eint", 1788 "samsung,exynos7-wakeup-eint";
|
| /linux/arch/arm64/boot/dts/mediatek/ |
| H A D | mt6779.dtsi | 177 "eint";
|
| /linux/arch/arm/boot/dts/mediatek/ |
| H A D | mt7629.dtsi | 153 reg-names = "base", "eint";
|