| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140 |
- /**
- * @file wm_irq.h
- *
- * @brief interupt driver module
- *
- * @author dave
- *
- * Copyright (c) 2015 Winner Microelectronics Co., Ltd.
- */
- #ifndef WM_IRQ_H
- #define WM_IRQ_H
- #include "wm_type_def.h"
- typedef void (*intr_handler_func) (void *);
- /**
- * @typedef struct tls_irq_handler
- */
- typedef struct tls_irq_handler
- {
- void (*handler) (void *);
- void *data;
- u32 counter;
- } tls_irq_handler_t;
- /**
- * @defgroup Driver_APIs Driver APIs
- * @brief Driver APIs
- */
- /**
- * @addtogroup Driver_APIs
- * @{
- */
- /**
- * @defgroup IRQ_Driver_APIs IRQ Driver APIs
- * @brief IRQ driver APIs
- */
- /**
- * @addtogroup IRQ_Driver_APIs
- * @{
- */
- /**
- * @brief This function is used to initial system interrupt.
- *
- * @param[in] None
- *
- * @return None
- *
- * @note None
- */
- void tls_irq_init(void);
- /**
- * @brief This function is used to register interrupt handler function.
- *
- * @param[in] vec_no interrupt NO
- * @param[in] handler
- * @param[in] *data
- *
- * @return None
- *
- * @note None
- */
- void tls_irq_register_handler(u8 vec_no, intr_handler_func handler, void *data);
- /**
- * @brief This function is used to enable interrupt.
- *
- * @param[in] vec_no interrupt NO
- *
- * @return None
- *
- * @note None
- */
- void tls_irq_enable(u8 vec_no);
- /**
- * @brief This function is used to disable interrupt.
- *
- * @param[in] vec_no interrupt NO
- *
- * @return None
- *
- * @note None
- */
- void tls_irq_disable(u8 vec_no);
- /**
- * @brief This function is used to get the isr count.
- *
- * @param[in] None
- *
- * @retval count
- *
- * @note None
- */
- u8 tls_get_isr_count(void);
- /**
- * @brief This function is used to enter interrupt.
- *
- * @param[in] None
- *
- * @return 0:success
- *
- * @note None
- */
- int csi_kernel_intrpt_enter(void);
- /**
- * @brief This function is used to exit from interrupt.
- *
- * @param[in] None
- *
- * @return 0:success
- *
- * @note None
- */
- int csi_kernel_intrpt_exit(void);
- void tls_irq_priority(u8 vec_no, u32 prio);
- /**
- * @}
- */
- /**
- * @}
- */
- #endif /* WM_IRQ_H */
|