/* SPDX-License-Identifier: GPL-2.0 */ /* * Copyright (c) Hunan Goke,Chengdu Goke,Shandong Goke. 2021. All rights reserved. */ #ifndef __DRV_GPIO_EXT_H__ #define __DRV_GPIO_EXT_H__ #include "gk_type.h" #define GK_ERR_GPIO_NOT_INIT (int)(0x80470003) #define GK_ERR_GPIO_INVALID_PARA (int)(0x80470004) #define GK_ERR_GPIO_NULL_PTR (int)(0x80470005) #define GK_ERR_GPIO_INVALID_OPT (int)(0x80470006) /**GPIO output type*/ /** CNcomment:GPIO */ enum gpio_outputtype { GK_API_GPIO_OUTPUTTYPE_CMOS, GK_API_GPIO_OUTPUTTYPE_OD, GK_API_GPIO_OUTPUTTYPE_BUTT, }; int drv_gpio_init(void); /*param[in] u32GpioNo :gpio No.,for example the No. of GPIO5_1 is 41(5*8+1); param[in] u32DirBit: 0 - output, 1 - input */ int drv_gpio_set_direction_bit(unsigned int gpio_num, unsigned int dir_bit); int drv_gpio_get_direction_bit(unsigned int gpio_num, unsigned int* dir_bit ); int drv_gpio_read_bit(unsigned int gpio_num, unsigned int* bit_value); int drv_gpio_write_bit(unsigned int gpio_num, unsigned int bit_value); int drv_gpio_set_output_type(unsigned int gpio_num, enum gpio_outputtype output_type); int drv_gpio_get_output_type(unsigned int gpio_num, enum gpio_outputtype *output_type); #endif