【发布时间】:2021-10-14 22:49:04
【问题描述】:
我知道可以通过pinctrl subsystem 将 Gpio 引脚配置为多个替代功能(i2c、uart...)。可以在设备树中配置。现在我想在运行时读取分配给特定引脚的功能,我看了一下/proc/sys/class/gpio,但信息似乎不存在,有人有提示吗?
【问题讨论】:
-
没有这个接口。某些控制器(例如 Intel 控制器)可能会提供可通过调试获得的调试信息,从中可以解码您需要的内容。 解码 因为它将是原始寄存器值,并且您必须知道哪些位对应于您的需要。同样,在英特尔上,有一种直接打印的特定模式,更容易解析。示例:
pin 57 (SLP_S0B) 44:INT34C6:00 mode 1 0x44000700 0x00000051 0x00000000 [LOCKED full, ACPI]. -
是的,基本上所有的SoC都应该提供这种状态寄存器,以提供配置的Alternate功能,但我注意到设备驱动程序不支持它,也许我需要破解用于我的目的的设备驱动程序
-
破解设备驱动程序并将更改上传到上游绝对是一个胜利。
标签: linux gpio device-driver