| /OK3568_Linux_fs/kernel/drivers/pinctrl/mediatek/ |
| H A D | mtk-eint.c | 22 #include "mtk-eint.h" 51 static void __iomem *mtk_eint_get_offset(struct mtk_eint *eint, in mtk_eint_get_offset() argument 58 if (eint_num >= eint->hw->ap_num) in mtk_eint_get_offset() 59 eint_base = eint->hw->ap_num; in mtk_eint_get_offset() 61 reg = eint->base + offset + ((eint_num - eint_base) / 32) * 4; in mtk_eint_get_offset() 66 static unsigned int mtk_eint_can_en_debounce(struct mtk_eint *eint, in mtk_eint_can_en_debounce() argument 71 void __iomem *reg = mtk_eint_get_offset(eint, eint_num, in mtk_eint_can_en_debounce() 72 eint->regs->sens); in mtk_eint_can_en_debounce() 79 if (eint_num < eint->hw->db_cnt && sens != MTK_EINT_EDGE_SENSITIVE) in mtk_eint_can_en_debounce() 85 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 | 62 /* Used to fit into various EINT device */ 72 int mtk_eint_do_init(struct mtk_eint *eint); 73 int mtk_eint_do_suspend(struct mtk_eint *eint); 74 int mtk_eint_do_resume(struct mtk_eint *eint); 75 int mtk_eint_set_debounce(struct mtk_eint *eint, unsigned long eint_n, 77 int mtk_eint_find_irq(struct mtk_eint *eint, unsigned long eint_n); 80 static inline int mtk_eint_do_init(struct mtk_eint *eint) in mtk_eint_do_init() argument 85 static inline int mtk_eint_do_suspend(struct mtk_eint *eint) in mtk_eint_do_suspend() argument 90 static inline int mtk_eint_do_resume(struct mtk_eint *eint) in mtk_eint_do_resume() argument 95 static inline int mtk_eint_set_debounce(struct mtk_eint *eint, unsigned long eint_n, in mtk_eint_set_debounce() argument [all …]
|
| H A D | pinctrl-mtk-common-v2.c | 18 #include "mtk-eint.h" 238 if (desc[i].eint.eint_n == eint_n) in mtk_xt_find_eint_num() 248 * Some modules use virtual GPIO as eint (e.g. pmif or usb). 249 * In MTK platform, external interrupt (EINT) and GPIO is 1-1 mapping 250 * and we can set GPIO as eint. 251 * But some modules use specific eint which doesn't have real GPIO pin. 262 /* if the GPIO is not supported for eint mode */ in mtk_is_virt_gpio() 263 if (desc->eint.eint_m == NO_EINT_SUPPORT) in mtk_is_virt_gpio() 266 if (desc->funcs && !desc->funcs[desc->eint.eint_m].name) in mtk_is_virt_gpio() 285 * Only eint virtual eint number is greater than gpio number. in mtk_xt_get_gpio_n() [all …]
|
| H A D | pinctrl-mtk-common.c | 33 #include "mtk-eint.h" 705 if (pin->eint.eintnum == eint_num) in mtk_find_pin_by_eint_num() 835 if (pin->eint.eintnum == NO_EINT_SUPPORT) in mtk_gpio_to_irq() 838 eint_n = pin->eint.eintnum; in mtk_gpio_to_irq() 840 return mtk_eint_find_irq(pctl->eint, eint_n); in mtk_gpio_to_irq() 855 if (pin->eint.eintnum == NO_EINT_SUPPORT) in mtk_gpio_set_config() 859 eint_n = pin->eint.eintnum; in mtk_gpio_set_config() 861 return mtk_eint_set_debounce(pctl->eint, eint_n, debounce); in mtk_gpio_set_config() 882 return mtk_eint_do_suspend(pctl->eint); in mtk_eint_suspend() 889 return mtk_eint_do_resume(pctl->eint); in mtk_eint_resume() [all …]
|
| H A D | pinctrl-mtk-common-v2.h | 155 * for eint data per pin 156 * @eint_m: the eint mux for this pin 157 * @eitn_n: the eint number for this pin 169 * @eint: the eint data for this pin 178 struct mtk_eint_desc eint; member 251 struct mtk_eint *eint; member
|
| H A D | pinctrl-moore.c | 474 if (!hw->eint) in mtk_gpio_to_irq() 479 if (desc->eint.eint_n == (u16)EINT_NA) in mtk_gpio_to_irq() 482 return mtk_eint_find_irq(hw->eint, desc->eint.eint_n); in mtk_gpio_to_irq() 494 if (!hw->eint || in mtk_gpio_set_config() 496 desc->eint.eint_n == (u16)EINT_NA) in mtk_gpio_set_config() 501 return mtk_eint_set_debounce(hw->eint, desc->eint.eint_n, debounce); in mtk_gpio_set_config() 671 "Failed to add EINT, but pinctrl still can work\n"); in mtk_moore_pinctrl_probe()
|
| H A D | pinctrl-paris.c | 846 if (!hw->eint) in mtk_gpio_to_irq() 851 if (desc->eint.eint_n == EINT_NA) in mtk_gpio_to_irq() 854 return mtk_eint_find_irq(hw->eint, desc->eint.eint_n); in mtk_gpio_to_irq() 866 if (!hw->eint || in mtk_gpio_set_config() 868 desc->eint.eint_n == EINT_NA) in mtk_gpio_set_config() 873 return mtk_eint_set_debounce(hw->eint, desc->eint.eint_n, debounce); in mtk_gpio_set_config() 1007 "Failed to add EINT, but pinctrl still can work\n"); in mtk_paris_pinctrl_probe() 1026 return mtk_eint_do_suspend(pctl->eint); in mtk_paris_pinctrl_suspend() 1033 return mtk_eint_do_resume(pctl->eint); in mtk_paris_pinctrl_resume()
|
| H A D | pinctrl-mtk-common.h | 14 #include "mtk-eint.h" 37 const struct mtk_desc_eint eint; member 44 .eint = _eint, \ 270 struct mtk_eint *eint; member
|
| H A D | pinctrl-moore.h | 24 #include "mtk-eint.h" 32 .eint = { \
|
| H A D | pinctrl-paris.h | 26 #include "mtk-eint.h" 46 .eint = _eint, \
|
| H A D | Makefile | 3 obj-$(CONFIG_EINT_MTK) += mtk-eint.o
|
| H A D | Kconfig | 107 map specific eint which doesn't have real gpio pin.
|
| /OK3568_Linux_fs/kernel/drivers/pinctrl/samsung/ |
| H A D | pinctrl-exynos-arm64.c | 4 // with eint support. 48 /* Must start with EINTG banks, ordered by EINT group number. */ 62 /* Must start with EINTG banks, ordered by EINT group number. */ 69 /* Must start with EINTG banks, ordered by EINT group number. */ 75 /* Must start with EINTG banks, ordered by EINT group number. */ 81 /* Must start with EINTG banks, ordered by EINT group number. */ 87 /* Must start with EINTG banks, ordered by EINT group number. */ 98 /* Must start with EINTG banks, ordered by EINT group number. */ 104 /* Must start with EINTG banks, ordered by EINT group number. */ 110 /* Must start with EINTG banks, ordered by EINT group number. */ [all …]
|
| H A D | pinctrl-exynos-arm.c | 3 // Exynos specific support for Samsung pinctrl/gpiolib driver with eint support. 92 /* Must start with EINTG banks, ordered by EINT group number. */ 152 /* Must start with EINTG banks, ordered by EINT group number. */ 164 /* Must start with EINTG banks, ordered by EINT group number. */ 239 /* Must start with EINTG banks, ordered by EINT group number. */ 260 /* Must start with EINTG banks, ordered by EINT group number. */ 285 /* Must start with EINTG banks, ordered by EINT group number. */ 356 /* Must start with EINTG banks, ordered by EINT group number. */ 374 /* Must start with EINTG banks, ordered by EINT group number. */ 402 /* Must start with EINTG banks, ordered by EINT group number. */ [all …]
|
| H A D | pinctrl-samsung.h | 113 * @eint_func: function to set in CON register to configure pin as EINT. 115 * @eint_mask: bit mask of pins which support EINT function. 116 * @eint_offset: SoC-specific EINT register or interrupt offset of bank. 137 * @eint_base: base address of the pin-bank EINT registers. 138 * @eint_func: function to set in CON register to configure pin as EINT. 140 * @eint_mask: bit mask of pins which support EINT function. 141 * @eint_offset: SoC-specific EINT register or interrupt offset of bank.
|
| H A D | pinctrl-s3c24xx.c | 83 * struct s3c24xx_eint_data - EINT common data 85 * @domains: IRQ domains of particular EINT interrupts 246 /* Something must be really wrong if an unmapped EINT is unmasked */ in s3c2410_demux_eint0_3() 304 /* Something must be really wrong if an unmapped EINT is unmasked */ in s3c2412_demux_eint0_3() 348 .name = "s3c-eint", 377 /* Something is really wrong if an unmapped EINT is unmasked */ in s3c24xx_demux_eint() 463 { .compatible = "samsung,s3c2410-wakeup-eint", .data = (void *)1 }, 464 { .compatible = "samsung,s3c2412-wakeup-eint", .data = (void *)0 }, 507 dev_err(dev, "failed to get wakeup EINT IRQ %d\n", i); in s3c24xx_eint_init()
|
| H A D | pinctrl-s3c64xx.c | 218 * struct s3c64xx_eint_gpio_data - GPIO EINT data 220 * @domains: array of domains related to EINT interrupt groups 228 * Common functions for S3C64xx EINT configuration 300 * Functions for EINT GPIO configuration (EINT groups 1-9) 436 * Something must be really wrong if an unmapped EINT in s3c64xx_eint_gpio_irq() 616 * Something must be really wrong if an unmapped EINT in s3c64xx_irq_demux_eint() 680 { .compatible = "samsung,s3c64xx-wakeup-eint", }, 718 dev_err(dev, "failed to get wakeup EINT IRQ %d\n", i); in s3c64xx_eint_eint0_init()
|
| H A D | pinctrl-exynos.c | 3 // Exynos specific support for Samsung pinctrl/gpiolib driver with eint support. 461 { .compatible = "samsung,s5pv210-wakeup-eint", 463 { .compatible = "samsung,exynos4210-wakeup-eint", 465 { .compatible = "samsung,exynos7-wakeup-eint", 589 dev_err(dev, "irq number for eint-%s-%d not found\n", in exynos_eint_wkup_init()
|
| /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/pinctrl/ |
| H A D | samsung-pinctrl.txt | 42 compatible = "samsung,exynos7-wakeup-eint"; 156 - samsung,s3c2410-wakeup-eint: represents wakeup interrupt controller 158 - samsung,s3c2412-wakeup-eint: represents wakeup interrupt controller 160 - samsung,s3c64xx-wakeup-eint: represents wakeup interrupt controller 162 - samsung,s5pv210-wakeup-eint: represents wakeup interrupt controller 164 - samsung,exynos4210-wakeup-eint: represents wakeup interrupt controller 166 - samsung,exynos7-wakeup-eint: represents wakeup interrupt controller 325 compatible = "samsung,exynos4210-wakeup-eint";
|
| H A D | pinctrl-mt8183.txt | 19 "iocfg5", "iocfg6", "iocfg7", "iocfg8", "eint". 105 "eint";
|
| H A D | mediatek,mt6779-pinctrl.yaml | 35 - const: "eint" 165 "eint";
|
| /OK3568_Linux_fs/kernel/arch/sparc/include/asm/ |
| H A D | ecc.h | 41 * | RESV | ECHECK | EINT | 46 * EINT: Enable Interrupts for correctable errors. 0=off 1=on
|
| /OK3568_Linux_fs/kernel/arch/arm/mach-s3c/ |
| H A D | regs-irq-s3c24xx.h | 39 * 1 bit EINT, 4=EINT4, 23=EINT23
|
| /OK3568_Linux_fs/kernel/arch/arm/boot/dts/ |
| H A D | s3c24xx.dtsi | 32 compatible = "samsung,s3c2410-wakeup-eint";
|
| /OK3568_Linux_fs/u-boot/arch/arm/dts/ |
| H A D | exynos4x12.dtsi | 75 compatible = "samsung,exynos4210-wakeup-eint";
|