5.4.10.linux内核的gpiolib学习2

Posted Ocean&Star

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了5.4.10.linux内核的gpiolib学习2相关的知识,希望对你有一定的参考价值。

总结:先分析杂碎:struct s3c_gpio_chip,s5pv210_gpio_4bit

5.4.10.1、struct s3c_gpio_chip
gpiolib库的初始化实质就是对这个结构体数组进行赋值


(1)这个结构体是一个GPIO端口的抽象,这个结构体的一个变量就可以完全的描述一个IO端口。

(2)端口和IO口是两个概念。S5PV210有很多个IO口(160个左右),这些IO口首先被分成N个端口(port group),然后每个端口中又包含了M个IO口。譬如GPA0是一个端口,里面包含了8个IO口,我们一般记作:GPA0_0(或GPA0.0)、GPA0_1、

(3)内核中为每个GPIO分配了一个编号,编号是一个数字(譬如一共有160个IO时编号就可以从1到160连续分布),编号可以让程序很方便的去识别每一个GPIO。

5.4.10.2、s5pv210_gpio_4bit
(1)这个东西是一个结构体数组,数组中包含了很多个struct s3c_gpio_chip类型的变量。

cd /sys/class/gpio
ls
cd gpiochap0/
ls
cat label (GPA0) laber //gpio端口的名字
cat base base       //gpio基地址 端口地址

以上是关于5.4.10.linux内核的gpiolib学习2的主要内容,如果未能解决你的问题,请参考以下文章

linux使用gpiolib中设置输出读取value始终为0,修改哪里可以读取gpio管教值?

gpio子系统在sysfs中构建leds类

WARNING: at drivers/gpio/gpiolib.c:101 gpio_ensure_requested+0x5c/0x118()

linux下GPIO的用户层操作(sysfs)

Linux内核学习方法专题分享-2.资料推荐

2.14.2.内核和驱动的关联