VSF Documented
|
#include "./gpio.h"
#include "bflb_gpio.h"
#include "hardware/gpio_reg.h"
#include "hal/driver/common/gpio/gpio_template.inc"
Data Structures | |
struct | vsf_hw_gpio_t |
Macros | |
#define | VSF_GPIO_CFG_IMP_PREFIX vsf_hw |
#define | VSF_GPIO_CFG_IMP_UPCASE_PREFIX VSF_HW |
#define | VSF_GPIO_CFG_REIMPLEMENT_API_CAPABILITY ENABLED |
#define | VSF_GPIO_CFG_REIMPLEMENT_API_SET ENABLED |
#define | VSF_GPIO_CFG_REIMPLEMENT_API_CLEAR ENABLED |
#define | VSF_GPIO_CFG_CAPABILITY_SUPPORT_OUTPUT_AND_SET 1 |
#define | VSF_GPIO_CFG_CAPABILITY_SUPPORT_OUTPUT_AND_CLEAR 1 |
#define | VSF_HW_GPIO_CFG_MULTI_CLASS VSF_GPIO_CFG_MULTI_CLASS |
#define | getreg64(a) (*(volatile uint64_t *)(a)) |
#define | putreg64(v, a) (*(volatile uint64_t *)(a) = (v)) |
#define | VSF_GPIO_CFG_REIMPLEMENT_API_CAPABILITY ENABLED |
#define | VSF_GPIO_CFG_IMP_LV0(__IDX, __HAL_OP) |
Typedefs | |
typedef struct vsf_hw_gpio_t | vsf_hw_gpio_t |
Functions | |
void | __vsf_hw_bl61x_gpio_init (void) |
To ensure that the GPIO is working properly, it needs to be called inside vsf_driver_init() | |
void | vsf_hw_gpio_port_config_pins (vsf_hw_gpio_t *hw_gpio_ptr, vsf_gpio_pin_mask_t pin_mask, vsf_gpio_mode_t feature) |
void | vsf_hw_gpio_set_direction (vsf_hw_gpio_t *hw_gpio_ptr, vsf_gpio_pin_mask_t pin_mask, vsf_gpio_pin_mask_t direction_mask) |
vsf_gpio_pin_mask_t | vsf_hw_gpio_get_direction (vsf_hw_gpio_t *hw_gpio_ptr, vsf_gpio_pin_mask_t pin_mask) |
void | vsf_hw_gpio_set (vsf_hw_gpio_t *hw_gpio_ptr, vsf_gpio_pin_mask_t pin_mask) |
void | vsf_hw_gpio_clear (vsf_hw_gpio_t *hw_gpio_ptr, vsf_gpio_pin_mask_t pin_mask) |
vsf_gpio_pin_mask_t | vsf_hw_gpio_read (vsf_hw_gpio_t *hw_gpio_ptr) |
void | vsf_hw_gpio_write (vsf_hw_gpio_t *hw_gpio_ptr, vsf_gpio_pin_mask_t pin_mask, vsf_gpio_pin_mask_t value) |
void | vsf_hw_gpio_toggle (vsf_hw_gpio_t *hw_gpio_ptr, vsf_gpio_pin_mask_t pin_mask) |
vsf_gpio_capability_t | vsf_hw_gpio_capability (vsf_hw_gpio_t *hw_gpio_ptr) |
#define VSF_GPIO_CFG_IMP_PREFIX vsf_hw |
#define VSF_GPIO_CFG_IMP_UPCASE_PREFIX VSF_HW |
#define VSF_GPIO_CFG_REIMPLEMENT_API_CAPABILITY ENABLED |
#define VSF_GPIO_CFG_REIMPLEMENT_API_SET ENABLED |
#define VSF_GPIO_CFG_REIMPLEMENT_API_CLEAR ENABLED |
#define VSF_GPIO_CFG_CAPABILITY_SUPPORT_OUTPUT_AND_SET 1 |
#define VSF_GPIO_CFG_CAPABILITY_SUPPORT_OUTPUT_AND_CLEAR 1 |
#define VSF_HW_GPIO_CFG_MULTI_CLASS VSF_GPIO_CFG_MULTI_CLASS |
#define getreg64 | ( | a | ) | (*(volatile uint64_t *)(a)) |
#define putreg64 | ( | v, | |
a | |||
) | (*(volatile uint64_t *)(a) = (v)) |
#define VSF_GPIO_CFG_REIMPLEMENT_API_CAPABILITY ENABLED |
#define VSF_GPIO_CFG_IMP_LV0 | ( | __IDX, | |
__HAL_OP | |||
) |
typedef struct vsf_hw_gpio_t vsf_hw_gpio_t |
void __vsf_hw_bl61x_gpio_init | ( | void | ) |
To ensure that the GPIO is working properly, it needs to be called inside vsf_driver_init()
void vsf_hw_gpio_port_config_pins | ( | vsf_hw_gpio_t * | hw_gpio_ptr, |
vsf_gpio_pin_mask_t | pin_mask, | ||
vsf_gpio_mode_t | feature | ||
) |
void vsf_hw_gpio_set_direction | ( | vsf_hw_gpio_t * | hw_gpio_ptr, |
vsf_gpio_pin_mask_t | pin_mask, | ||
vsf_gpio_pin_mask_t | direction_mask | ||
) |
vsf_gpio_pin_mask_t vsf_hw_gpio_get_direction | ( | vsf_hw_gpio_t * | hw_gpio_ptr, |
vsf_gpio_pin_mask_t | pin_mask | ||
) |
void vsf_hw_gpio_set | ( | vsf_hw_gpio_t * | hw_gpio_ptr, |
vsf_gpio_pin_mask_t | pin_mask | ||
) |
void vsf_hw_gpio_clear | ( | vsf_hw_gpio_t * | hw_gpio_ptr, |
vsf_gpio_pin_mask_t | pin_mask | ||
) |
vsf_gpio_pin_mask_t vsf_hw_gpio_read | ( | vsf_hw_gpio_t * | hw_gpio_ptr | ) |
void vsf_hw_gpio_write | ( | vsf_hw_gpio_t * | hw_gpio_ptr, |
vsf_gpio_pin_mask_t | pin_mask, | ||
vsf_gpio_pin_mask_t | value | ||
) |
void vsf_hw_gpio_toggle | ( | vsf_hw_gpio_t * | hw_gpio_ptr, |
vsf_gpio_pin_mask_t | pin_mask | ||
) |
vsf_gpio_capability_t vsf_hw_gpio_capability | ( | vsf_hw_gpio_t * | hw_gpio_ptr | ) |