VSF Documented
gpio.h
Go to the documentation of this file.
1/*****************************************************************************
2 * Copyright(C)2009-2022 by VSF Team *
3 * *
4 * Licensed under the Apache License, Version 2.0 (the "License"); *
5 * you may not use this file except in compliance with the License. *
6 * You may obtain a copy of the License at *
7 * *
8 * http://www.apache.org/licenses/LICENSE-2.0 *
9 * *
10 * Unless required by applicable law or agreed to in writing, software *
11 * distributed under the License is distributed on an "AS IS" BASIS, *
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. *
13 * See the License for the specific language governing permissions and *
14 * limitations under the License. *
15 * *
16 ****************************************************************************/
17
18#ifndef __HAL_DRIVER_AIC8800_HW_GPIO_H__
19#define __HAL_DRIVER_AIC8800_HW_GPIO_H__
20
21/*============================ INCLUDES ======================================*/
22
23#include "hal/vsf_hal_cfg.h"
24
25#if VSF_HAL_USE_GPIO == ENABLED
26
27/*============================ MACROS ========================================*/
28/*============================ MACROFIED FUNCTIONS ===========================*/
29/*============================ TYPES =========================================*/
30
31typedef enum vsf_gpio_mode_t {
32 // bit 9 : IOMUX_AGPIO_CONFIG_PULL_UP_LSB
33 // bit 8 : IOMUX_AGPIO_CONFIG_PULL_DN_LSB
34 // bit 16 : IOMUX_GPIO_CONFIG_PULL_FRC_LSB
35 __AIC8800_GPIO_MODE_ALL_BITS = (1 << 8) | (1 << 9) | (1 << 16),
36
37 VSF_GPIO_PULL_UP = (1 << 16) | (1 << 9),
38 VSF_GPIO_PULL_DOWN = (1 << 16) | (1 << 8),
39 VSF_GPIO_NO_PULL_UP_DOWN = (0 << 16) | (0 << 8),
40
41 VSF_GPIO_INPUT = (0 << 17),
44 VSF_GPIO_ANALOG = (3 << 17),
45 VSF_GPIO_EXTI = (4 << 17),
46 VSF_GPIO_AF = (5 << 17),
47
54
56
57/*============================ INCLUDES ======================================*/
58/*============================ PROTOTYPES ====================================*/
59
67extern void __vsf_hw_aic8800_gpio_init(void);
68
69#endif /* VSF_HAL_USE_GPIO */
70#endif /* __HAL_DRIVER_AIC8800_HW_GPIO_H__ */
void __vsf_hw_aic8800_gpio_init(void)
To ensure that the GPIO is working properly, it needs to be called inside vsf_driver_init()
Definition gpio.c:119
vsf_gpio_mode_t
Definition gpio.h:31
@ VSF_GPIO_NO_PULL_UP_DOWN
Definition gpio.h:39
@ VSF_GPIO_EXTI_MODE_HIGH_LEVEL
Definition gpio.h:50
@ VSF_GPIO_OUTPUT_PUSH_PULL
Definition gpio.h:43
@ VSF_GPIO_EXTI
Definition gpio.h:45
@ VSF_GPIO_EXTI_MODE_LOW_LEVEL
Definition gpio.h:49
@ __AIC8800_GPIO_MODE_ALL_BITS
Definition gpio.h:35
@ VSF_GPIO_EXTI_MODE_NONE
Definition gpio.h:48
@ VSF_GPIO_EXTI_MODE_RISING
Definition gpio.h:51
@ VSF_GPIO_EXTI_MODE_RISING_FALLING
Definition gpio.h:53
@ VSF_GPIO_PULL_UP
Definition gpio.h:37
@ VSF_GPIO_AF
Definition gpio.h:46
@ VSF_GPIO_INPUT
Definition gpio.h:41
@ VSF_GPIO_ANALOG
Definition gpio.h:44
@ VSF_GPIO_EXTI_MODE_FALLING
Definition gpio.h:52
@ VSF_GPIO_OUTPUT_OPEN_DRAIN
Definition gpio.h:42
@ VSF_GPIO_PULL_DOWN
Definition gpio.h:38