gpiolib及gpio操作

本文详细介绍了Linux内核中用于管理GPIO资源的gpiolib库,包括如何获取GPIO号、使用经典和新接口进行GPIO操作、读写GPIO以及在控制台中查看GPIO占用情况的方法。强调了gpiolib在驱动程序规范性和可靠性中的重要性。
摘要由CSDN通过智能技术生成

gpiolib及gpio操作

在驱动工作时,有可能好几个驱动同时去操作一个gpio,这会造成混乱。所以内核提供了一些方法来管理gpio资源,这就是gpiolib。
在涉及到gpio的驱动程序的编写中,gpiolib并不是强制使用的,而是一种约束和规范,如果要让驱动程序规范、可靠,那么gpiolib是必须要使用的。

1.获知gpio号

内核通过gpio号来识别gpio

  • 对于一些经典的soc,比如s5pv210,可以用arch/arm/mach-s5pv210/include/mach/gpio.h 中的宏来获得gpio号
  • 而对于一些比较新的soc,比如imx6,则通常在设备树中以 reset-gpios = <&gpio1 15 1>;来表示gpio,而在驱动中使用gpio号 = of_get_named_gpio(xxxnode, "reset-gpios", 0);函数返回值来得到gpio号,详见设备树详解

2.gpiolib经典接口

gpiolib常用的接口通常有如下几个:

  • gpio_request:驱动中要想使用某一个gpio,就必须先调用gpio_request接口来向内核申请,得到允许后才可以去使用这个gpio
  • gpio_free: 对应gpio_request,用来释放申请后用完了的gpio
  • gpiochip_is_request
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值