hc
2023-11-06 15ade055295d13f95d49e3d99b09f3bbfb4a43e7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
/* 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