/kernel/linux/linux-6.6/drivers/pinctrl/mediatek/ |
H A D | mtk-eint.c | 22 #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, in argument 128 struct mtk_eint *eint = irq_data_get_irq_chip_data(d); mtk_eint_mask() local 140 struct mtk_eint *eint = irq_data_get_irq_chip_data(d); mtk_eint_unmask() local 153 mtk_eint_get_mask(struct mtk_eint *eint, unsigned int eint_num) mtk_eint_get_mask() argument 165 struct mtk_eint *eint = irq_data_get_irq_chip_data(d); mtk_eint_ack() local 175 struct mtk_eint *eint = irq_data_get_irq_chip_data(d); mtk_eint_set_type() local 225 struct mtk_eint *eint = irq_data_get_irq_chip_data(d); mtk_eint_irq_set_wake() local 237 mtk_eint_chip_write_mask(const struct mtk_eint *eint, void __iomem *base, u32 *buf) mtk_eint_chip_write_mask() argument 252 struct mtk_eint *eint = irq_data_get_irq_chip_data(d); mtk_eint_irq_request_resources() local 282 struct mtk_eint *eint = irq_data_get_irq_chip_data(d); mtk_eint_irq_release_resources() local 304 mtk_eint_hw_init(struct mtk_eint *eint) mtk_eint_hw_init() argument 321 mtk_eint_debounce_process(struct mtk_eint *eint, int index) mtk_eint_debounce_process() argument 339 struct mtk_eint *eint = irq_desc_get_handler_data(desc); mtk_eint_irq_handler() local 404 mtk_eint_do_suspend(struct mtk_eint *eint) mtk_eint_do_suspend() argument 412 mtk_eint_do_resume(struct mtk_eint *eint) mtk_eint_do_resume() argument 420 mtk_eint_set_debounce(struct mtk_eint *eint, unsigned long eint_num, unsigned int debounce) mtk_eint_set_debounce() argument 476 mtk_eint_find_irq(struct mtk_eint *eint, unsigned long eint_n) mtk_eint_find_irq() argument 488 mtk_eint_do_init(struct mtk_eint *eint) mtk_eint_do_init() argument [all...] |
H A D | mtk-eint.h | 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 107 static inline int mtk_eint_find_irq(struct mtk_eint *eint, unsigne argument [all...] |
H A D | pinctrl-mtk-common.c | 31 #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...] |
H A D | pinctrl-mtk-common-v2.c | 18 #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). 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 numbe in mtk_xt_get_gpio_n() [all...] |
H A D | pinctrl-mtk-common.h | 14 #include "mtk-eint.h" 37 const struct mtk_desc_eint eint; member 44 .eint = _eint, \ 293 struct mtk_eint *eint; member
|
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-paris.c | 942 if (!hw->eint) in mtk_gpio_to_irq() 947 if (desc->eint.eint_n == EINT_NA) in mtk_gpio_to_irq() 950 return mtk_eint_find_irq(hw->eint, desc->eint.eint_n); in mtk_gpio_to_irq() 962 if (!hw->eint || in mtk_gpio_set_config() 964 desc->eint.eint_n == EINT_NA) in mtk_gpio_set_config() 969 return mtk_eint_set_debounce(hw->eint, desc->eint.eint_n, debounce); in mtk_gpio_set_config() 1126 return mtk_eint_do_suspend(pctl->eint); in mtk_paris_pinctrl_suspend() 1133 return mtk_eint_do_resume(pctl->eint); in mtk_paris_pinctrl_resume() [all...] |
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 | pinctrl-mtk-common-v2.h | 197 * 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
|
/kernel/linux/linux-5.10/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, in argument 112 struct mtk_eint *eint = irq_data_get_irq_chip_data(d); mtk_eint_mask() local 124 struct mtk_eint *eint = irq_data_get_irq_chip_data(d); mtk_eint_unmask() local 137 mtk_eint_get_mask(struct mtk_eint *eint, unsigned int eint_num) mtk_eint_get_mask() argument 149 struct mtk_eint *eint = irq_data_get_irq_chip_data(d); mtk_eint_ack() local 159 struct mtk_eint *eint = irq_data_get_irq_chip_data(d); mtk_eint_set_type() local 200 struct mtk_eint *eint = irq_data_get_irq_chip_data(d); mtk_eint_irq_set_wake() local 212 mtk_eint_chip_write_mask(const struct mtk_eint *eint, void __iomem *base, u32 *buf) mtk_eint_chip_write_mask() argument 227 struct mtk_eint *eint = irq_data_get_irq_chip_data(d); mtk_eint_irq_request_resources() local 257 struct mtk_eint *eint = irq_data_get_irq_chip_data(d); mtk_eint_irq_release_resources() local 279 mtk_eint_hw_init(struct mtk_eint *eint) mtk_eint_hw_init() argument 296 mtk_eint_debounce_process(struct mtk_eint *eint, int index) mtk_eint_debounce_process() argument 314 struct mtk_eint *eint = irq_desc_get_handler_data(desc); mtk_eint_irq_handler() local 380 mtk_eint_do_suspend(struct mtk_eint *eint) mtk_eint_do_suspend() argument 388 mtk_eint_do_resume(struct mtk_eint *eint) mtk_eint_do_resume() argument 396 mtk_eint_set_debounce(struct mtk_eint *eint, unsigned long eint_num, unsigned int debounce) mtk_eint_set_debounce() argument 451 mtk_eint_find_irq(struct mtk_eint *eint, unsigned long eint_n) mtk_eint_find_irq() argument 463 mtk_eint_do_init(struct mtk_eint *eint) mtk_eint_do_init() argument [all...] |
H A D | mtk-eint.h | 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 101 static inline int mtk_eint_find_irq(struct mtk_eint *eint, unsigne 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). 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 numbe 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.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.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()
|
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() 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() [all...] |
H A D | pinctrl-moore.h | 24 #include "mtk-eint.h" 32 .eint = { \
|
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-paris.h | 26 #include "mtk-eint.h" 46 .eint = _eint, \
|