Home
last modified time | relevance | path

Searched full:eint (Results 1 – 25 of 112) sorted by relevance

12345

/kernel/linux/linux-6.6/drivers/pinctrl/mediatek/
Dmtk-eint.c22 #include "mtk-eint.h"
67 static void __iomem *mtk_eint_get_offset(struct mtk_eint *eint, in mtk_eint_get_offset() argument
74 if (eint_num >= eint->hw->ap_num) in mtk_eint_get_offset()
75 eint_base = eint->hw->ap_num; in mtk_eint_get_offset()
77 reg = eint->base + offset + ((eint_num - eint_base) / 32) * 4; in mtk_eint_get_offset()
82 static unsigned int mtk_eint_can_en_debounce(struct mtk_eint *eint, in mtk_eint_can_en_debounce() argument
87 void __iomem *reg = mtk_eint_get_offset(eint, eint_num, in mtk_eint_can_en_debounce()
88 eint->regs->sens); in mtk_eint_can_en_debounce()
95 if (eint_num < eint->hw->db_cnt && sens != MTK_EINT_EDGE_SENSITIVE) in mtk_eint_can_en_debounce()
101 static int mtk_eint_flip_edge(struct mtk_eint *eint, int hwirq) in mtk_eint_flip_edge() argument
[all …]
Dmtk-eint.h67 /* Used to fit into various EINT device */
78 int mtk_eint_do_init(struct mtk_eint *eint);
79 int mtk_eint_do_suspend(struct mtk_eint *eint);
80 int mtk_eint_do_resume(struct mtk_eint *eint);
81 int mtk_eint_set_debounce(struct mtk_eint *eint, unsigned long eint_n,
83 int mtk_eint_find_irq(struct mtk_eint *eint, unsigned long eint_n);
86 static inline int mtk_eint_do_init(struct mtk_eint *eint) in mtk_eint_do_init() argument
91 static inline int mtk_eint_do_suspend(struct mtk_eint *eint) in mtk_eint_do_suspend() argument
96 static inline int mtk_eint_do_resume(struct mtk_eint *eint) in mtk_eint_do_resume() argument
101 static inline int mtk_eint_set_debounce(struct mtk_eint *eint, unsigned long eint_n, in mtk_eint_set_debounce() argument
[all …]
Dpinctrl-mtk-common-v2.c18 #include "mtk-eint.h"
243 if (desc[i].eint.eint_n == eint_n) in mtk_xt_find_eint_num()
253 * Some modules use virtual GPIO as eint (e.g. pmif or usb).
254 * In MTK platform, external interrupt (EINT) and GPIO is 1-1 mapping
255 * and we can set GPIO as eint.
256 * But some modules use specific eint which doesn't have real GPIO pin.
267 /* if the GPIO is not supported for eint mode */ in mtk_is_virt_gpio()
268 if (desc->eint.eint_m == NO_EINT_SUPPORT) in mtk_is_virt_gpio()
271 if (desc->funcs && !desc->funcs[desc->eint.eint_m].name) in mtk_is_virt_gpio()
290 * Only eint virtual eint number is greater than gpio number. in mtk_xt_get_gpio_n()
[all …]
Dpinctrl-mtk-common.c31 #include "mtk-eint.h"
737 if (pin->eint.eintnum == eint_num) in mtk_find_pin_by_eint_num()
867 if (pin->eint.eintnum == NO_EINT_SUPPORT) in mtk_gpio_to_irq()
870 eint_n = pin->eint.eintnum; in mtk_gpio_to_irq()
872 return mtk_eint_find_irq(pctl->eint, eint_n); in mtk_gpio_to_irq()
887 if (pin->eint.eintnum == NO_EINT_SUPPORT) in mtk_gpio_set_config()
891 eint_n = pin->eint.eintnum; in mtk_gpio_set_config()
893 return mtk_eint_set_debounce(pctl->eint, eint_n, debounce); in mtk_gpio_set_config()
913 return mtk_eint_do_suspend(pctl->eint); in mtk_eint_suspend()
920 return mtk_eint_do_resume(pctl->eint); in mtk_eint_resume()
[all …]
Dpinctrl-mtk-common-v2.h197 * for eint data per pin
198 * @eint_m: the eint mux for this pin
199 * @eitn_n: the eint number for this pin
211 * @eint: the eint data for this pin
220 struct mtk_eint_desc eint; member
296 struct mtk_eint *eint; member
Dpinctrl-moore.c528 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()
722 "Failed to add EINT, but pinctrl still can work\n"); in mtk_moore_pinctrl_probe()
/kernel/linux/linux-5.10/drivers/pinctrl/mediatek/
Dmtk-eint.c22 #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 …]
Dmtk-eint.h62 /* 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 …]
Dpinctrl-mtk-common-v2.c18 #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 …]
Dpinctrl-mtk-common.c33 #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 …]
Dpinctrl-mtk-common-v2.h155 * 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
Dpinctrl-moore.c474 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()
/kernel/linux/linux-6.6/Documentation/devicetree/bindings/pinctrl/
Dsamsung,pinctrl-wakeup-interrupt.yaml32 - samsung,s3c2410-wakeup-eint
33 - samsung,s3c2412-wakeup-eint
34 - samsung,s3c64xx-wakeup-eint
35 - samsung,s5pv210-wakeup-eint
36 - samsung,exynos4210-wakeup-eint
37 - samsung,exynos7-wakeup-eint
38 - samsung,exynos850-wakeup-eint
39 - samsung,exynosautov9-wakeup-eint
56 - samsung,s3c2410-wakeup-eint
57 - samsung,s3c2412-wakeup-eint
[all …]
Dmediatek,mt6795-pinctrl.yaml35 Physical address base for GPIO base and eint registers.
41 - const: eint
52 - description: EINT interrupt
53 - description: EINT event_b interrupt
187 reg-names = "base", "eint";
Dmediatek,mt6779-pinctrl.yaml24 description: Physical addresses for GPIO base(s) and EINT registers.
83 - const: eint
106 const: eint
216 "eint";
/kernel/linux/linux-5.10/drivers/pinctrl/samsung/
Dpinctrl-exynos-arm64.c4 // 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 …]
Dpinctrl-exynos-arm.c3 // 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 …]
Dpinctrl-samsung.h113 * @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.
Dpinctrl-s3c24xx.c83 * 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()
Dpinctrl-s3c64xx.c218 * 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()
/kernel/linux/linux-6.6/drivers/pinctrl/samsung/
Dpinctrl-exynos-arm64.c4 // with eint support.
66 /* Must start with EINTG banks, ordered by EINT group number. */
80 /* Must start with EINTG banks, ordered by EINT group number. */
87 /* Must start with EINTG banks, ordered by EINT group number. */
93 /* Must start with EINTG banks, ordered by EINT group number. */
99 /* Must start with EINTG banks, ordered by EINT group number. */
105 /* Must start with EINTG banks, ordered by EINT group number. */
116 /* Must start with EINTG banks, ordered by EINT group number. */
122 /* Must start with EINTG banks, ordered by EINT group number. */
128 /* Must start with EINTG banks, ordered by EINT group number. */
[all …]
Dpinctrl-exynos-arm.c3 // 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 …]
Dpinctrl-samsung.h121 * @eint_func: function to set in CON register to configure pin as EINT.
123 * @eint_mask: bit mask of pins which support EINT function.
124 * @eint_offset: SoC-specific EINT register or interrupt offset of bank.
145 * @eint_base: base address of the pin-bank EINT registers.
146 * @eint_func: function to set in CON register to configure pin as EINT.
148 * @eint_mask: bit mask of pins which support EINT function.
149 * @eint_offset: SoC-specific EINT register or interrupt offset of bank.
Dpinctrl-s3c64xx.c218 * 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()
615 * Something must be really wrong if an unmapped EINT in s3c64xx_irq_demux_eint()
677 { .compatible = "samsung,s3c64xx-wakeup-eint", },
715 dev_err(dev, "failed to get wakeup EINT IRQ %d\n", i); in s3c64xx_eint_eint0_init()
/kernel/linux/linux-5.10/Documentation/devicetree/bindings/pinctrl/
Dsamsung-pinctrl.txt42 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";

12345