9#ifndef HAL_GPIO_V150_REGS_OP_H
10#define HAL_GPIO_V150_REGS_OP_H
30#define hal_gpio_set_bit(x, y, z) (((uint32_t)(x) & ~bit(y)) | (((uint32_t)(z) & 1U) << (uint32_t)(y)))
33#define hal_gpio_toggle_bit(x, y) (((x) & ~bit(y)) | ((~(x)) & bit(y)))
36#define hal_gpio_read_bit(x, y) (((uint32_t)(x) >> (uint32_t)(y)) & 1U)
57static inline void hal_gpio_gpio_sw_out_set_bit(uint32_t channel, uint32_t
group, uint32_t group_pin, uint32_t val)
70static inline uint32_t hal_gpio_gpio_sw_out_get_bit(uint32_t channel, uint32_t
group, uint32_t group_pin)
81static inline void hal_gpio_gpio_sw_out_toggle_bit(uint32_t channel, uint32_t
group, uint32_t group_pin)
94static inline uint32_t hal_gpio_gpio_sw_oen_get_bit(uint32_t channel, uint32_t
group, uint32_t group_pin)
106static inline void hal_gpio_gpio_sw_oen_set_bit(uint32_t channel, uint32_t
group, uint32_t group_pin, uint32_t val)
119static inline uint32_t hal_gpio_gpio_sw_ctl_get_bit(uint32_t channel, uint32_t
group, uint32_t group_pin)
131static inline void hal_gpio_gpio_sw_ctl_set_bit(uint32_t channel, uint32_t
group, uint32_t group_pin, uint32_t val)
144static inline uint32_t hal_gpio_gpio_int_en_get_bit(uint32_t channel, uint32_t
group, uint32_t group_pin)
156static inline void hal_gpio_gpio_int_en_set_bit(uint32_t channel, uint32_t
group, uint32_t group_pin, uint32_t val)
167static inline void hal_gpio_gpio_int_en_disable_all(uint32_t channel, uint32_t
group)
179static inline uint32_t hal_gpio_gpio_int_mask_get_bit(uint32_t channel, uint32_t
group, uint32_t group_pin)
191static inline void hal_gpio_gpio_int_mask_set_bit(uint32_t channel, uint32_t
group, uint32_t group_pin, uint32_t val)
202static inline void hal_gpio_gpio_int_mask_unmask_all(uint32_t channel, uint32_t
group)
212static inline void hal_gpio_gpio_int_mask_mask_all(uint32_t channel, uint32_t
group)
224static inline uint32_t hal_gpio_gpio_int_type_get_bit(uint32_t channel, uint32_t
group, uint32_t group_pin)
236static inline void hal_gpio_gpio_int_type_set_bit(uint32_t channel, uint32_t
group, uint32_t group_pin, uint32_t val)
249static inline uint32_t hal_gpio_gpio_int_polarity_get_bit(uint32_t channel, uint32_t
group, uint32_t group_pin)
261static inline void hal_gpio_v150_gpio_int_polarity_set_bit(uint32_t channel, uint32_t
group, uint32_t group_pin,
275static inline uint32_t hal_gpio_gpio_int_dedge_get_bit(uint32_t channel, uint32_t
group, uint32_t group_pin)
287static inline void hal_gpio_gpio_int_dedge_set_bit(uint32_t channel, uint32_t
group, uint32_t group_pin, uint32_t val)
300static inline uint32_t hal_gpio_gpio_int_debounce_get_bit(uint32_t channel, uint32_t
group, uint32_t group_pin)
312static inline void hal_gpio_gpio_int_debounce_set_bit(uint32_t channel, uint32_t
group, uint32_t group_pin,
325static inline uint32_t hal_gpio_gpio_int_raw_get_data(uint32_t channel, uint32_t
group)
336static inline uint32_t hal_gpio_gpio_intr_get_data(uint32_t channel, uint32_t
group)
348static inline void hal_gpio_gpio_int_eoi_set_bit(uint32_t channel, uint32_t
group, uint32_t group_pin, uint32_t val)
359static inline void hal_gpio_gpio_int_eoi_clr_all(uint32_t channel, uint32_t
group)
371static inline void hal_gpio_gpio_data_set_set_bit(uint32_t channel, uint32_t
group, uint32_t group_pin, uint32_t val)
384static inline void hal_gpio_gpio_data_clr_set_bit(uint32_t channel, uint32_t
group, uint32_t group_pin, uint32_t val)
396static inline uint32_t hal_gpio_gpio_get_int_en(uint32_t channel, uint32_t
group)
#define hal_gpio_toggle_bit(x, y)
Definition hal_gpio_v150_regs_op.h:33
uintptr_t g_gpios_regs[GPIO_CHANNEL_MAX_NUM]
Definition hal_gpio.c:13
void hal_gpio_v150_intr_rebase(uint32_t channel, uint32_t group)
Init all GPIO interrupt relative regs. Disable, mask and clean all interruption status.
Definition hal_gpio_v150_regs_op.c:14
#define hal_gpio_read_bit(x, y)
Definition hal_gpio_v150_regs_op.h:36
#define hal_gpio_set_bit(x, y, z)
Definition hal_gpio_v150_regs_op.h:30
@ GPIO_CHANNEL_MAX_NUM
Definition gpio_porting.h:69
osal_u32 group
Definition oal_net.h:3
volatile uint32_t gpio_int_mask
Definition hal_gpio_v150_regs_def.h:100
volatile uint32_t gpio_sw_out
Definition hal_gpio_v150_regs_def.h:96
volatile uint32_t gpio_int_raw
Definition hal_gpio_v150_regs_def.h:105
volatile uint32_t gpio_int_dedge
Definition hal_gpio_v150_regs_def.h:103
volatile uint32_t gpio_intr
Definition hal_gpio_v150_regs_def.h:106
volatile uint32_t gpio_data_set
Definition hal_gpio_v150_regs_def.h:108
volatile uint32_t gpio_data_clr
Definition hal_gpio_v150_regs_def.h:109
volatile uint32_t gpio_sw_oen
Definition hal_gpio_v150_regs_def.h:97
volatile uint32_t gpio_int_polarity
Definition hal_gpio_v150_regs_def.h:102
volatile uint32_t gpio_int_debounce
Definition hal_gpio_v150_regs_def.h:104
volatile uint32_t gpio_int_type
Definition hal_gpio_v150_regs_def.h:101
volatile uint32_t gpio_int_eoi
Definition hal_gpio_v150_regs_def.h:107
volatile uint32_t gpio_int_en
Definition hal_gpio_v150_regs_def.h:99
volatile uint32_t gpio_sw_ctl
Definition hal_gpio_v150_regs_def.h:98
Register definition of GPIO channel. A GPIO channel contains a maximum of 8 groups of pin....
Definition hal_gpio_v150_regs_def.h:118
volatile gpio_group_regs_t gpio_group_cfg[GPIO_GROUP_MAX_NUM]
Definition hal_gpio_v150_regs_def.h:119
unsigned int uintptr_t
Definition td_type.h:65