Files
banban/ql-kernel/threadx/common/include/ql_gpio.h

126 lines
4.7 KiB
C
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/*================================================================
Copyright (c) 2021, Quectel Wireless Solutions Co., Ltd. All rights reserved.
Quectel Wireless Solutions Proprietary and Confidential.
=================================================================*/
/**
******************************************************************************
* @file ql_gpio.h
* @author Juson.zhang
* @version V1.0.0
* @date 2019/12/17
* @brief This file contains the lcd functions's declaration
******************************************************************************
*/
#ifndef _QUEC_GPIO_H_
#define _QUEC_GPIO_H_
#include "quec_gpio.h"
#ifdef __cplusplus
extern "C" {
#endif
int ql_gpio_init(GPIO_PIN_NUMBER_E gpio_num, PIN_DIRECTION_E pin_dir, PIN_PULL_E pin_pull, PIN_LEVEL_E pin_level);
int ql_gpio_deinit(GPIO_PIN_NUMBER_E gpio_num);
int ql_gpio_set_level(GPIO_PIN_NUMBER_E gpio_num, PIN_LEVEL_E pin_level);
int ql_gpio_get_level(GPIO_PIN_NUMBER_E gpio_num, PIN_LEVEL_E *p_pin_level);
int ql_gpio_set_drv_level(GPIO_PIN_NUMBER_E gpio_num, QL_PIN_DRIVE_LEVEL_E drive_level);
int ql_gpio_get_drv_level(GPIO_PIN_NUMBER_E gpio_num, QL_PIN_DRIVE_LEVEL_E *drive_level);
int ql_gpio_set_direction(GPIO_PIN_NUMBER_E gpio_num, PIN_DIRECTION_E pin_dir);
int ql_gpio_get_direction(GPIO_PIN_NUMBER_E gpio_num, PIN_DIRECTION_E *p_pin_dir);
int ql_gpio_set_pull(GPIO_PIN_NUMBER_E gpio_num, PIN_PULL_E pin_pull);
int ql_gpio_get_pull(GPIO_PIN_NUMBER_E gpio_num, PIN_PULL_E *p_pin_pull);
int ql_eint_register(GPIO_PIN_NUMBER_E gpio_num, PIN_EDGE_E pin_edge, PIN_PULL_E pin_pull, void *eint_cb, void *wakeup_eint_cb);
int ql_eint_unregister(GPIO_PIN_NUMBER_E gpio_num);
int ql_eint_enable(GPIO_PIN_NUMBER_E gpio_num, PIN_EDGE_E pin_edge);
int ql_eint_disable(GPIO_PIN_NUMBER_E gpio_num);
int ql_eint_enable_wakeup(GPIO_PIN_NUMBER_E gpio_num, PIN_EDGE_E pin_edge);;
int ql_eint_disable_wakeup(GPIO_PIN_NUMBER_E gpio_num);
int ql_pin_set_func(GPIO_PIN_NUMBER_E gpio_num, unsigned char func_sel);
int ql_set_pmic_gpio_level(QL_PIMC_GPIO_E PINx,unsigned char level);
void ql_active_gpio_hisr(unsigned int gpio_num);
/*****************************************************************
* Function: ql_sfp_eint_register
*
* Description: Notice:注册特殊功能引脚唤醒中断
*
* Parameters:
* gpio_num : gpio号
* wakeup_eint_cb : 唤醒中断回调函数
* Return:
* 0 , the function execution succeed.
* -1, the parameter error.
*****************************************************************/
int ql_sfp_eint_register(GPIO_PIN_NUMBER_E gpio_num, void *wakeup_eint_cb);
/*****************************************************************
* Function: ql_sfp_eint_unregister
*
* Description: Notice:注销特殊功能引脚唤醒中断
*
* Parameters: gpio_num : gpio号
*
* Return:
* 0 , the function execution succeed.
* -1, the parameter error.
*****************************************************************/
int ql_sfp_eint_unregister(GPIO_PIN_NUMBER_E gpio_num);
/*****************************************************************
* Function: ql_gpio_map_clock
*
* Description: Notice
* Configure GPIO_122 to output 32K clock(32787Hz).
*
* Parameters:
* only: gpio_num = GPIO_PIN_NO_122
* Return:
* 0 , the function execution succeed.
* -1, the parameter error.
*****************************************************************/
int ql_gpio_map_clock(GPIO_PIN_NUMBER_E gpio_num);
/***********************************************************************
*
* Name: ql_set_usim2_io_vol
*
* Description: 设置usim相关引脚电压域(GPIO45~47,此接口仅适用于1606平台项目)
*
* Parameters: onoff: 开启或关闭电压域:0:关闭;1:开启
vol: 要设置的电压域,参考枚举QL_USIM2_IO_E
*
* Returns: 0 sucess
-1 fail
* Notes:
*
***********************************************************************/
int ql_set_usim2_io_vol(char onoff, QL_USIM2_IO_E vol);
/*****************************************************************
* Function: ql_peripherals_pin_not_config
*
* Description: Notice:设置gpio脚不配置复用功能
*
* Parameters:
* gpio_num : gpio号
* Return:
* 0 , the function execution succeed.
* -1, the parameter error.
*****************************************************************/
int ql_peripherals_pin_not_config(GPIO_PIN_NUMBER_E gpio_num);
#ifdef __cplusplus
} /*"C" */
#endif
#endif /* _QUEC_GPIO_H_ */