323 uint32_t pin_index,
bool level);
SemiDrive driver common header file.
@ SDRV_STATUS_GROUP_GPIO
Definition: sdrv_common.h:27
int32_t status_t
Type used for all status and error return values.
Definition: sdrv_common.h:82
#define SDRV_ERROR_STATUS(group, code)
Construct a status code value from a group and code number. All the error statuses are negetive numbe...
Definition: sdrv_common.h:17
status_t sdrv_gpio_pin_interrupt_disable(uint32_t pin_index)
Disable interrupt for specific pin.
void(* sdrv_gpio_interrupt_handler_t)(uint32_t irq, uint32_t pin, void *arg)
Function prototype for gpio interrupt callback.
Definition: sdrv_gpio.h:77
gpio_interrupt
Definition for gpio interrupt type.
Definition: sdrv_gpio.h:39
@ GPIO_INTR_RISING_EDGE
Definition: sdrv_gpio.h:43
@ GPIO_INTR_LOW_LEVEL
Definition: sdrv_gpio.h:42
@ GPIO_INTR_FALLING_EDGE
Definition: sdrv_gpio.h:44
@ GPIO_INTR_DISABLE
Definition: sdrv_gpio.h:40
@ GPIO_INTR_HIGH_LEVEL
Definition: sdrv_gpio.h:41
@ GPIO_INTR_BOTH_EDGE
Definition: sdrv_gpio.h:45
status_t sdrv_gpio_set_pin_interrupt(uint32_t pin_index, gpio_interrupt_e intr)
Config interrupt type for specific pin.
status_t sdrv_gpio_ctrl_pin_async_interrupt_enable(sdrv_gpio_t *gpio_ctrl, uint32_t pin_index)
Enable asynchronous interrupt for specific pin.
enum gpio_interrupt_share gpio_interrupt_share_e
Definition for gpio interrupt share with core bit mask.
bool sdrv_gpio_ctrl_pin_async_interrupt_status(sdrv_gpio_t *gpio_ctrl, uint32_t pin_index)
Get specific pin asynchronous interrupt status.
status_t sdrv_gpio_clear_pin_async_interrupt_status(uint32_t pin_index)
Clear specific pin asynchronous interrupt status.
status_t sdrv_gpio_ctrl_pin_interrupt_enable(sdrv_gpio_t *gpio_ctrl, uint32_t pin_index)
Enable interrupt for specific pin.
status_t sdrv_gpio_toggle_pin_output_level(uint32_t pin_index)
Toggle specific pin output level.
status_t sdrv_gpio_cancel_interrupt_share_with(uint32_t pin_index, uint32_t mask)
Cancel gpio interrupt share with other core.
status_t sdrv_gpio_ctrl_set_pin_async_interrupt(sdrv_gpio_t *gpio_ctrl, uint32_t pin_index, gpio_interrupt_e intr)
Config asynchronous interrupt type for specific pin.
status_t sdrv_gpio_ctrl_pin_interrupt_disable(sdrv_gpio_t *gpio_ctrl, uint32_t pin_index)
Disable interrupt for specific pin.
status_t sdrv_gpio_set_pin_async_interrupt(uint32_t pin_index, gpio_interrupt_e intr)
Config asynchronous interrupt type for specific pin.
enum gpio_direction gpio_direction_e
Definition for gpio direction.
bool sdrv_gpio_ctrl_read_pin_input_level(sdrv_gpio_t *gpio_ctrl, uint32_t pin_index)
Get specific pin input level.
status_t sdrv_gpio_ctrl_clear_pin_async_interrupt_status(sdrv_gpio_t *gpio_ctrl, uint32_t pin_index)
Clear specific pin asynchronous interrupt status.
status_t sdrv_gpio_ctrl_set_pin_output_level(sdrv_gpio_t *gpio_ctrl, uint32_t pin_index, bool level)
Config gpio output level.
struct sdrv_gpio sdrv_gpio_t
GPIO Controller Instance.
status_t sdrv_gpio_set_pin_direction(uint32_t pin_index, gpio_direction_e dir)
Config gpio direction.
status_t sdrv_gpio_ctrl_set_pin_interrupt(sdrv_gpio_t *gpio_ctrl, uint32_t pin_index, gpio_interrupt_e intr)
Config interrupt type for specific pin.
status_t sdrv_gpio_pin_async_interrupt_disable(uint32_t pin_index)
Disable asynchronous interrupt for specific pin.
status_t sdrv_gpio_ctrl_clear_pin_interrupt_status(sdrv_gpio_t *gpio_ctrl, uint32_t pin_index)
Clear specific pin interrupt status.
enum gpio_interrupt gpio_interrupt_e
Definition for gpio interrupt type.
bool sdrv_gpio_ctrl_pin_interrupt_status(sdrv_gpio_t *gpio_ctrl, uint32_t pin_index)
Get specific pin interrupt status.
status_t sdrv_gpio_ctrl_toggle_pin_output_level(sdrv_gpio_t *gpio_ctrl, uint32_t pin_index)
Toggle specific pin output level.
sdrv_gpio_error
GPIO status error code.
Definition: sdrv_gpio.h:19
@ SDRV_GPIO_CTRL_NULL
Definition: sdrv_gpio.h:22
@ SDRV_GPIO_BAD_PIN
Definition: sdrv_gpio.h:20
@ SDRV_GPIO_IRQ_ATTACH_FAIL
Definition: sdrv_gpio.h:24
status_t sdrv_gpio_set_pin_output_level(uint32_t pin_index, bool level)
Config gpio output level.
bool sdrv_gpio_get_pin_output_level(uint32_t pin_index)
Get gpio output level.
bool sdrv_gpio_pin_async_interrupt_status(uint32_t pin_index)
Get specific pin asynchronous interrupt status.
status_t sdrv_gpio_ctrl_set_pin_direction(sdrv_gpio_t *gpio_ctrl, uint32_t pin_index, gpio_direction_e dir)
Config gpio direction.
bool sdrv_gpio_pin_interrupt_status(uint32_t pin_index)
Get specific pin interrupt status.
gpio_direction
Definition for gpio direction.
Definition: sdrv_gpio.h:31
@ GPIO_DIR_IN
Definition: sdrv_gpio.h:33
@ GPIO_DIR_OUT
Definition: sdrv_gpio.h:32
gpio_interrupt_share
Definition for gpio interrupt share with core bit mask.
Definition: sdrv_gpio.h:52
@ GPIO_INTR_SX0
Definition: sdrv_gpio.h:56
@ GPIO_INTR_SF
Definition: sdrv_gpio.h:53
@ GPIO_INTR_SP0
Definition: sdrv_gpio.h:54
@ GPIO_INTR_SX1
Definition: sdrv_gpio.h:57
@ GPIO_INTR_SP1
Definition: sdrv_gpio.h:55
status_t sdrv_gpio_ctrl_pin_async_interrupt_disable(sdrv_gpio_t *gpio_ctrl, uint32_t pin_index)
Disable asynchronous interrupt for specific pin.
bool sdrv_gpio_read_pin_input_level(uint32_t pin_index)
Get specific pin input level.
status_t sdrv_gpio_clear_pin_interrupt_status(uint32_t pin_index)
Clear specific pin interrupt status.
status_t sdrv_gpio_pin_async_interrupt_enable(uint32_t pin_index)
Enable asynchronous interrupt for specific pin.
status_t sdrv_gpio_interrupt_share_with(uint32_t pin_index, uint32_t mask)
Set gpio interrupt share with other core.
status_t sdrv_gpio_register_interrupt_handler(uint32_t pin_index, sdrv_gpio_interrupt_handler_t handler, void *arg)
Register interrupt callback function for specific pin.
status_t sdrv_gpio_unregister_interrupt_handler(uint32_t pin_index)
Unregister interrupt callback function for specific pin.
status_t sdrv_gpio_pin_interrupt_enable(uint32_t pin_index)
Enable interrupt for specific pin.
bool sdrv_gpio_ctrl_get_pin_output_level(sdrv_gpio_t *gpio_ctrl, uint32_t pin_index)
Get gpio output level.
SemiDrive pinctrl device driver header.
GPIO Controller Instance.
Definition: sdrv_gpio.h:64
uint32_t pin_start
Definition: sdrv_gpio.h:66
uint32_t pin_num
Definition: sdrv_gpio.h:67
paddr_t base
Definition: sdrv_gpio.h:65