36 #ifndef __OS_HAL_GPIOIF_H__
37 #define __OS_HAL_GPIOIF_H__
39 #include "mhal_osai.h"
40 #include "mhal_gpioif.h"
189 #define MTK_GPIOIF_MAX_GRP_NUM 6
437 gpioif_group group, u8 edge_type_gpio_0, u8 edge_type_gpio_1,
498 gpioif_group group, u8 gpio, u8 enable, u32 min_p, u32 init_v);
514 gpioif_group group, u8 control_setting, u32 low_limit, u32 high_limit,
515 u32 reset_value, u8 event_cnt_mode);
Back to reset value when the counter reaches high limit value.
Definition: os_hal_gpioif.h:263
GPIOIF Event Counter Mode.
Definition: os_hal_gpioif.h:224
mtk_os_gpioif_mode
This enum defines GPIOIF counter mode which can support.
Definition: os_hal_gpioif.h:222
GPIOIF group2(gpio8~11)
Definition: os_hal_gpioif.h:210
int mtk_os_hal_gpioif_get_cap_fifo1_val(gpioif_group group, u32 idex)
This function is used to get capture fifo1 value.
gpioif_group
This enum defines GPIOIF group selection.
Definition: os_hal_gpioif.h:204
GPIOIF maximum interrupt mode limit selection <invalid>
Definition: os_hal_gpioif.h:284
Interrupt issued when the counter reaches high limit value.
Definition: os_hal_gpioif.h:278
GPIOIF group4(gpio16~19)
Definition: os_hal_gpioif.h:214
int mtk_os_hal_gpioif_enable_event_counter(gpioif_group group)
This function is used to enable event counter mode.
int mtk_os_hal_gpioif_event_counter_setting(gpioif_group group, u8 control_setting, u32 low_limit, u32 high_limit, u32 reset_value, u8 event_cnt_mode)
This function is used to set event counter mode setting.
int mtk_os_hal_gpioif_get_cap_fifo0_count(gpioif_group group)
This function is used to get capture fifo0 count.
int mtk_os_hal_gpioif_read_gpio_cap_fifo0_value(gpioif_group group, u32 *pvalue)
This function is used to read capture fifo0 value.
int mtk_os_hal_gpioif_get_int_event_over_count(gpioif_group group)
This function is used to get GPIOIF interrupt event overflow count value.
GPIOIF group3(gpio12~15)
Definition: os_hal_gpioif.h:212
int mtk_os_hal_gpioif_read_gpio_event_count(gpioif_group group, u32 *pvalue)
This function is used to read gpio event counter value.
int mtk_os_hal_gpioif_get_int_cap_f0_p_count(gpioif_group group)
This function is used to get capture fifo0 empty count value.
int mtk_os_hal_gpioif_get_int_event_high_count(gpioif_group group)
This function is used to get GPIOIF interrupt event high count value.
int mtk_os_hal_gpioif_read_gpio_cap_fifo1_value(gpioif_group group, u32 *pvalue)
This function is used to read capture fifo1 value.
Saturare on low limit value.
Definition: os_hal_gpioif.h:257
int mtk_os_hal_gpioif_read_reset_val(gpioif_group group, u32 *pvalue)
This function is used to read reset value of GPIOIF Event Counter.
int mtk_os_hal_gpioif_ctlr_init(gpioif_group group)
Init GPIOIF controller.
int mtk_os_hal_gpioif_ctlr_deinit(gpioif_group group)
Deinit GPIOIF controller.
int mtk_os_hal_gpioif_limit_comparator(gpioif_group group, gpioif_sa_mode_limit_select sa_limit_v, gpioif_interrupt_limit_select interrupt_limit_v)
This function is used to set interrupt mode or saturation mode of the GPIO event counter.
Saturare on high limit value.
Definition: os_hal_gpioif.h:259
GPIOIF Both Event Counter Mode and Capture Counter Mode.
Definition: os_hal_gpioif.h:228
int mtk_os_hal_gpioif_interrupt_bit_wise(gpioif_group group, u32 bit, u8 enable)
This function is used to enable/disable interrupt.
Not saturare on limit value.
Definition: os_hal_gpioif.h:255
GPIOIF 200MHz clock source.
Definition: os_hal_gpioif.h:244
int mtk_os_hal_gpioif_get_int_cap_f1_full_count(gpioif_group group)
This function is used to get GPIOIF interrupt capture fifo1 count value.
int mtk_os_hal_gpioif_dump_int(gpioif_group group)
This function is used to dump all software counter in interrupt function.
GPIOIF Embedded XTAL KHz(26MHz) clock source.
Definition: os_hal_gpioif.h:238
int mtk_os_hal_gpioif_hardware_reset(gpioif_group group, mtk_os_gpioif_mode mode, u8 active_reset)
This function uses GPIO_2 pin to reset GPIOIF event counter.
int mtk_os_hal_gpioif_interrupt_count_init(gpioif_group group)
This function is used to initialize all software counter in interrupt function.
GPIOIF Embedded 32KHz clock source.
Definition: os_hal_gpioif.h:240
GPIOIF maximum supported Mode <invalid>
Definition: os_hal_gpioif.h:230
gpioif_interrupt_limit_select
This enum defines GPIOIF interrupt mode selection of GPIO event counter.
Definition: os_hal_gpioif.h:272
int mtk_os_hal_gpioif_get_int_cap_f1_p_count(gpioif_group group)
This function is used to get capture fifo1 empty count value.
int mtk_os_hal_gpioif_counter_clock_setting(gpioif_group group, u8 enable)
This function is used to enable/disable GPIOIF source clock.
GPIOIF group0(gpio0~3)
Definition: os_hal_gpioif.h:206
int mtk_os_hal_gpioif_global_cr_reset(gpioif_group group)
This function is used to reset all GPIOIF group globally and make the register of the GPIOIF group to...
int mtk_os_hal_gpioif_select_clock_source(gpioif_group group, gpioif_source_clock clock_source)
This function is used to select the GPIOIF clock source.
GPIOIF maximum saturare mode limit selection <invalid>
Definition: os_hal_gpioif.h:265
int mtk_os_hal_gpioif_get_int_gpio2_rst_done_count(gpioif_group group)
This function is used to get GPIOIF gpio2 interrupt reset done count value.
GPIOIF Capture Counter Mode.
Definition: os_hal_gpioif.h:226
int mtk_os_hal_gpioif_get_int_cap_f1_np_count(gpioif_group group)
This function is used to get capture fifo1 not empty count value.
int mtk_os_hal_gpioif_software_reset(gpioif_group group, mtk_os_gpioif_mode mode)
This function is used to perform software reset of the GPIO event counter.
int mtk_os_hal_gpioif_disable_capture_counter(gpioif_group group)
This function is used to disable capture counter mode.
int mtk_os_hal_gpioif_get_int_cap_f0_full_count(gpioif_group group)
This function is used to get GPIOIF interrupt capture fifo0 count value.
int mtk_os_hal_gpioif_read_low_limit_val(gpioif_group group, u32 *pvalue)
This function is used to read low limit value of GPIOIF Event Counter.
int mtk_os_hal_gpioif_set_direction_mode(gpioif_group group, u8 control_setting, u32 low_limit, u32 high_limit, u32 reset_value, gpioif_source_clock clock_source)
This function is used to set GPIOIF direction mode.
int mtk_os_hal_gpioif_get_int_cap_f0_np_count(gpioif_group group)
This function is used to get capture fifo0 not empty count value.
Interrupt issued when the counter reaches both low and high limit value.
Definition: os_hal_gpioif.h:282
int mtk_os_hal_gpioif_disable_event_counter(gpioif_group group)
This function is used to disable event counter mode.
int mtk_os_hal_gpioif_set_quadrature_mode(gpioif_group group, u8 control_setting, u32 low_limit, u32 high_limit, u32 reset_value, gpioif_source_clock clock_source)
This function is used to set GPIOIF quadrature mode.
int(* gpioif_int_callback)(void *user_data)
This defines the callback function prototype.
Definition: os_hal_gpioif.h:310
int mtk_os_hal_gpioif_get_int_event_uf_count(gpioif_group group)
This function is used to get GPIOIF interrupt event underflow count value.
GPIOIF group5(gpio20~23)
Definition: os_hal_gpioif.h:216
int mtk_os_hal_gpioif_get_cap_fifo1_count(gpioif_group group)
This function is used to get capture fifo1 count.
int mtk_os_hal_gpioif_de_glitch(gpioif_group group, u8 gpio, u8 enable, u32 min_p, u32 init_v)
This function is used to set GPIOIF de-glitch setting.
GPIOIF AXI1 MHz(125MHz) clock source.
Definition: os_hal_gpioif.h:242
int mtk_os_hal_gpioif_read_high_limit_val(gpioif_group group, u32 *pvalue)
This function is used to read high limit value of GPIOIF Event Counter.
int mtk_os_hal_gpioif_set_capture_mode(gpioif_group group, u8 edge_type_gpio_0, u8 edge_type_gpio_1, gpioif_source_clock clock_source)
This function is used to set GPIOIF capture mode.
gpioif_sa_mode_limit_select
This enum defines GPIOIF saturation mode selection of GPIO event counter when reaching limit value ...
Definition: os_hal_gpioif.h:253
Back to reset value when the counter reaches low limit value.
Definition: os_hal_gpioif.h:261
int mtk_os_hal_gpioif_set_updown_mode(gpioif_group group, u8 control_setting, u32 low_limit, u32 high_limit, u32 reset_value, gpioif_source_clock clock_source)
This function is used to set GPIOIF updown mode.
Interrupt issued when the counter reaches low limit value.
Definition: os_hal_gpioif.h:276
int mtk_os_hal_gpioif_get_int_reset_cap_f0_full_count(gpioif_group group)
This function is used to get GPIOIF interrupt reset capture fifo0 count value.
gpioif_source_clock
This enum defines GPIOIF clock source selection.
Definition: os_hal_gpioif.h:236
Not interrupt.
Definition: os_hal_gpioif.h:274
int mtk_os_hal_gpioif_get_cap_fifo0_val(gpioif_group group, u32 idex)
This function is used to get capture fifo0 value.
int mtk_os_hal_gpioif_capture_fifo_init(gpioif_group group)
This function is used to initialize software capture fifo counter.
int mtk_os_hal_gpioif_interrupt_control(gpioif_group group, u8 enable, u8 clear, u32 bit)
This function is used to control interrupt.
int mtk_os_hal_gpioif_int_callback_register(gpioif_group group, gpioif_int_callback callback, void *user_data)
This function is used to register user's interrupt callback.
int mtk_os_hal_gpioif_get_int_reset_cap_f1_full_count(gpioif_group group)
This function is used to get GPIOIF interrupt reset capture fifo1 count value.
GPIOIF maximum clock source <invalid>
Definition: os_hal_gpioif.h:246
GPIOIF group1(gpio4~7)
Definition: os_hal_gpioif.h:208
int mtk_os_hal_gpioif_get_int_event_low_count(gpioif_group group)
This function is used to get GPIOIF interrupt event low count value.