VSF Documented
|
#include "../driver.h"
#include "hal/vsf_hal.h"
#include "./i_reg_gpio.h"
#include "../vendor/plf/aic8800/src/driver/iomux/reg_iomux.h"
#include "../vendor/plf/aic8800/src/driver/aic1000lite_regs/aic1000Lite_iomux.h"
#include "../vendor/plf/aic8800/src/driver/pmic/pmic_api.h"
#include "hal/driver/common/gpio/gpio_template.inc"
Data Structures | |
struct | vsf_hw_gpio_t |
Macros | |
#define | VSF_GPIO_CFG_REIMPLEMENT_API_CAPABILITY ENABLED |
#define | VSF_GPIO_CFG_CHANGE_DIR_FIRST ENABLED |
#define | VSF_GPIO_CFG_CAPABILITY_SUPPORT_OUTPUT_AND_CLEAR 1 |
#define | VSF_GPIO_CFG_CAPABILITY_SUPPORT_OUTPUT_AND_SET 1 |
#define | VSF_HW_GPIO_CFG_MULTI_CLASS VSF_GPIO_CFG_MULTI_CLASS |
#define | VSF_HW_EXTI_GPIO_CFG_MULTI_CLASS VSF_GPIO_CFG_MULTI_CLASS |
#define | VSF_HW_GPIO_CFG_PROTECT_LEVEL interrupt |
#define | __vsf_gpio_protect vsf_protect(VSF_HW_GPIO_CFG_PROTECT_LEVEL) |
#define | __vsf_gpio_unprotect vsf_unprotect(VSF_HW_GPIO_CFG_PROTECT_LEVEL) |
#define | __AIC8800_GPIO_IS_VAILID_PIN(__P) |
#define | __AIC8800_GPIO_FUNCTION_MASK IOMUX_GPIO_CONFIG_SEL_MASK |
#define | VSF_GPIO_CFG_IMP_PREFIX vsf_hw |
#define | VSF_GPIO_CFG_IMP_UPCASE_PREFIX VSF_HW |
#define | VSF_GPIO_CFG_IMP_LV0(__IDX, __HAL_OP) |
Typedefs | |
typedef struct vsf_hw_gpio_t | vsf_hw_gpio_t |
#define VSF_GPIO_CFG_REIMPLEMENT_API_CAPABILITY ENABLED |
#define VSF_GPIO_CFG_CHANGE_DIR_FIRST ENABLED |
#define VSF_GPIO_CFG_CAPABILITY_SUPPORT_OUTPUT_AND_CLEAR 1 |
#define VSF_GPIO_CFG_CAPABILITY_SUPPORT_OUTPUT_AND_SET 1 |
#define VSF_HW_GPIO_CFG_MULTI_CLASS VSF_GPIO_CFG_MULTI_CLASS |
#define VSF_HW_EXTI_GPIO_CFG_MULTI_CLASS VSF_GPIO_CFG_MULTI_CLASS |
#define VSF_HW_GPIO_CFG_PROTECT_LEVEL interrupt |
#define __vsf_gpio_protect vsf_protect(VSF_HW_GPIO_CFG_PROTECT_LEVEL) |
#define __vsf_gpio_unprotect vsf_unprotect(VSF_HW_GPIO_CFG_PROTECT_LEVEL) |
#define __AIC8800_GPIO_IS_VAILID_PIN | ( | __P | ) |
#define __AIC8800_GPIO_FUNCTION_MASK IOMUX_GPIO_CONFIG_SEL_MASK |
#define VSF_GPIO_CFG_IMP_PREFIX vsf_hw |
#define VSF_GPIO_CFG_IMP_UPCASE_PREFIX VSF_HW |
#define VSF_GPIO_CFG_IMP_LV0 | ( | __IDX, | |
__HAL_OP | |||
) |
typedef struct vsf_hw_gpio_t vsf_hw_gpio_t |
void __vsf_hw_aic8800_gpio_init | ( | void | ) |
To ensure that the GPIO is working properly, it needs to be called inside vsf_driver_init()
vsf_err_t vsf_hw_gpio_port_config_pins | ( | vsf_hw_gpio_t * | hw_gpio_ptr, |
vsf_gpio_pin_mask_t | pin_mask, | ||
vsf_gpio_cfg_t * | cfg_ptr | ||
) |
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 | ||
) |
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 | ) |
vsf_err_t vsf_hw_gpio_exti_irq_config | ( | vsf_hw_gpio_t * | hw_gpio_ptr, |
vsf_gpio_exti_irq_cfg_t * | irq_cfg_ptr | ||
) |
vsf_err_t vsf_hw_gpio_exti_irq_enable | ( | vsf_hw_gpio_t * | hw_gpio_ptr, |
vsf_gpio_pin_mask_t | pin_mask | ||
) |
vsf_err_t vsf_hw_gpio_exti_irq_disable | ( | vsf_hw_gpio_t * | hw_gpio_ptr, |
vsf_gpio_pin_mask_t | pin_mask | ||
) |
void __vsf_hw_gpio_irq_handler | ( | vsf_hw_gpio_t * | hw_gpio_ptr | ) |