DeviceTree中的命名GPIO

Faz*_*ton 7 linux embedded sysfs gpio device-tree

我正在尝试为嵌入式系统创建设备树,并希望向用户空间公开一些GPIO。这些不是,也不应该由内核驱动程序使用。例如,有一个USB设备焊接到板上,由用户空间驱动器控制。它具有GPIO重置线,用户空间库需要访问该重置线。

我希望这些文件在sysfs中通过名称公开,以便用户空间可以访问/sys/class/gpio/usbreset而不需要知道不可思议的gpio编号并需要专门“导出”它。我尝试将其设置为GPIO猪,该猪初始化GPIO,但其名称未出现在sysfs中,并且在将其拖入时无法导出gpio。我知道我可以选择其他内核驱动程序类型,例如LED,但它不是LED,对我来说,这似乎不是很干净。

在sysfs中导出命名的GPIO的正确方法是什么?

小智 0

我建议编写一个简单的内核模块来请求 GPIO,然后导出一个链接,该链接可以被命名,因此适合您的请求。

https://www.kernel.org/doc/Documentation/gpio/sysfs.txt

从上面的链接:

导出 GPIO 后,gpiod_export_link() 允许创建从 sysfs 中其他位置到 GPIO sysfs 节点的符号链接。驱动程序可以使用它在 sysfs 中的自己的设备下提供具有描述性名称的接口