Lines Matching full:slot
21 /* Describes configuration of PINT IRQ slot */
40 /* Attaches pin to PINT IRQ slot using INPUTMUX */
45 /* Three parameters here- INPUTMUX base, the ID of the PINT slot, in attach_pin_to_pint()
68 uint8_t slot = 0U; in nxp_pint_pin_enable() local
74 /* Find unused IRQ slot */ in nxp_pint_pin_enable()
76 slot = pin_pint_id[pin]; in nxp_pint_pin_enable()
78 for (slot = 0; slot < ARRAY_SIZE(pint_irq_cfg); slot++) { in nxp_pint_pin_enable()
79 if (!pint_irq_cfg[slot].used) { in nxp_pint_pin_enable()
83 if (slot == ARRAY_SIZE(pint_irq_cfg)) { in nxp_pint_pin_enable()
87 pin_pint_id[pin] = slot; in nxp_pint_pin_enable()
89 pint_irq_cfg[slot].used = true; in nxp_pint_pin_enable()
90 pint_irq_cfg[slot].pin = pin; in nxp_pint_pin_enable()
91 /* Attach pin to interrupt slot using INPUTMUX */ in nxp_pint_pin_enable()
92 attach_pin_to_pint(pin, slot); in nxp_pint_pin_enable()
96 PINT_PinInterruptConfig(pint_base, slot, trigger, NULL); in nxp_pint_pin_enable()
99 EnableDeepSleepIRQ(pint_irq_cfg[slot].irq); in nxp_pint_pin_enable()
101 DisableDeepSleepIRQ(pint_irq_cfg[slot].irq); in nxp_pint_pin_enable()
102 irq_enable(pint_irq_cfg[slot].irq); in nxp_pint_pin_enable()
116 uint8_t slot; in nxp_pint_pin_disable() local
122 slot = pin_pint_id[pin]; in nxp_pint_pin_disable()
123 if (slot == NO_PINT_ID) { in nxp_pint_pin_disable()
126 /* Remove this pin from the PINT slot if one was in use */ in nxp_pint_pin_disable()
127 pint_irq_cfg[slot].used = false; in nxp_pint_pin_disable()
128 PINT_PinInterruptConfig(pint_base, slot, kPINT_PinIntEnableNone, NULL); in nxp_pint_pin_disable()
141 uint8_t slot; in nxp_pint_pin_set_callback() local
147 slot = pin_pint_id[pin]; in nxp_pint_pin_set_callback()
148 if (slot == NO_PINT_ID) { in nxp_pint_pin_set_callback()
152 pint_irq_cfg[slot].callback = cb; in nxp_pint_pin_set_callback()
153 pint_irq_cfg[slot].user_data = data; in nxp_pint_pin_set_callback()
164 uint8_t slot; in nxp_pint_pin_unset_callback() local
170 slot = pin_pint_id[pin]; in nxp_pint_pin_unset_callback()
171 if (slot == NO_PINT_ID) { in nxp_pint_pin_unset_callback()
175 pint_irq_cfg[slot].callback = NULL; in nxp_pint_pin_unset_callback()
178 /* NXP PINT ISR handler- called with PINT slot ID */
179 static void nxp_pint_isr(uint8_t *slot) in nxp_pint_isr() argument
181 PINT_PinInterruptClrStatus(pint_base, *slot); in nxp_pint_isr()
182 if (pint_irq_cfg[*slot].used && pint_irq_cfg[*slot].callback) { in nxp_pint_isr()
183 pint_irq_cfg[*slot].callback(pint_irq_cfg[*slot].pin, in nxp_pint_isr()
184 pint_irq_cfg[*slot].user_data); in nxp_pint_isr()
204 * The IRQ handler will receive the PINT slot as a in intc_nxp_pint_init()