Linux GPIO相关API函数
of函数
of函数
int of_gpio_named_count(struct device_node *np, const char *propname)
int of_gpio_count(struct device_node *np)
int of_get_named_gpio(struct device_node *np, const char *propname, int index)
gpio操作函数
gpio操作函数
int gpio_request(unsigned gpio, const char *label)
void gpio_free(unsigned gpio)
int gpio_direction_input(unsigned gpio)
int gpio_direction_output(unsigned gpio, int value)
int __gpio_get_value(unsigned gpio)
void __gpio_set_value(unsigned gpio, int value)
初始化gpio步骤
- 从设备树中获取设备节点
- 从设备树中获取IO口
- 申请IO口
- 设置IO口方向
- 获取/设置IO口值
- 释放IO口
从设备树中获取设备节点 of_find_node_by_path()
从设备树中获取IO口 int of_get_named_gpio(struct device_node *np, const char *propname, int index)
申请IO口 gpio_request(unsigned gpio, const char *label)
设置IO口输入 int gpio_direction_input(unsigned gpio)
设置IO口输入 int gpio_direction_output(unsigned gpio, int value)
获取IO口值 int __gpio_get_value(unsigned gpio)
设置IO口值 void __gpio_set_value(unsigned gpio, int value)
释放IO口 void gpio_free(unsigned gpio)