7#ifndef ST25R3911B_INTERRUPT_H_
8#define ST25R3911B_INTERRUPT_H_
10#include <zephyr/types.h>
11#include <zephyr/kernel.h>
29#define ST25R3911B_IRQ_MASK_ALL (0xFFFFFFUL)
30#define ST25R3911B_IRQ_MASK_NONE (0UL)
31#define ST25R3911B_IRQ_MASK_OSC (0x80UL)
32#define ST25R3911B_IRQ_MASK_FWL (0x40UL)
33#define ST25R3911B_IRQ_MASK_RXS (0x20UL)
34#define ST25R3911B_IRQ_MASK_RXE (0x10UL)
35#define ST25R3911B_IRQ_MASK_TXE (0x08UL)
36#define ST25R3911B_IRQ_MASK_COL (0x04UL)
37#define ST25R3911B_IRQ_MASK_TIM (0x02UL)
38#define ST25R3911B_IRQ_MASK_ERR (0x01UL)
40#define ST25R3911B_IRQ_MASK_DCT (0x8000UL)
41#define ST25R3911B_IRQ_MASK_NRE (0x4000UL)
42#define ST25R3911B_IRQ_MASK_GPE (0x2000UL)
43#define ST25R3911B_IRQ_MASK_EON (0x1000UL)
44#define ST25R3911B_IRQ_MASK_EOF (0x0800UL)
45#define ST25R3911B_IRQ_MASK_CAC (0x0400UL)
46#define ST25R3911B_IRQ_MASK_CAT (0x0200UL)
47#define ST25R3911B_IRQ_MASK_NFCT (0x0100UL)
49#define ST25R3911B_IRQ_MASK_CRC (0x800000UL)
50#define ST25R3911B_IRQ_MASK_PAR (0x400000UL)
51#define ST25R3911B_IRQ_MASK_ERR2 (0x200000UL)
52#define ST25R3911B_IRQ_MASK_ERR1 (0x100000UL)
53#define ST25R3911B_IRQ_MASK_WT (0x080000UL)
54#define ST25R3911B_IRQ_MASK_WAM (0x040000UL)
55#define ST25R3911B_IRQ_MASK_WPH (0x020000UL)
56#define ST25R3911B_IRQ_MASK_WCAP (0x010000UL)
int st25r3911b_irq_enable(uint32_t mask)
Enable NFC Reader interrupts.
int st25r3911b_irq_init(struct k_sem *irq_sem)
Initialize NFC Reader interrupts.
uint32_t st25r3911b_irq_read(void)
Read NFC Reader interrupts status.
int st25r39_irq_clear(void)
Clear NFC Reader interrupts status.
int st25r3911b_irq_disable(uint32_t mask)
Disable NFC Reader interrupts.
int st25r3911b_irq_modify(uint32_t clr_mask, uint32_t set_mask)
Modify NFC Reader interrupts.
uint32_t st25r3911b_irq_wait_for_irq(uint32_t mask, int32_t timeout)
Wait for NFC Reader interrupts.