实例:
unsigned int otg_en_pin=952; ----->高通的gpio的基础值为902,这里我们时间的gpio为50,即这里定义值是要设置为952。
//young.yang add began
ret=gpio_request(otg_en_pin, "otg_en_pin"); ------>注册gpio,获得并占有gpio的使用权
if(ret){
printk("[young]:otg_en_pin request fail!!!!n");
}
gpio_direction_output(otg_en_pin, 1); ------>设置gpio的输入/输出状态,并指定初始输出值。
printk("[young]: otg_en_pin value = %dn",gpio_get_value(otg_en_pin));
//young.yang add end
查看gpio的工作状态:
在adb shell下查看如下目录
/sys/kernel/debug
cat gpio
下面为linux下gpio的常规操作函数:
Linux 提供了GPIO 操作的 API,具体初始化及注册函数在 driver/gpio/lib_gpio.c 中实现。
#include
int gpio_request(unsigned gpio, const char *label);
获得并占有 GPIO port 的使用权,由参数 gpio 指定具体 port。非空的label指针有助于诊断。主要告诉内核这块地址被占用了。当其他地方调用同一地址的