CONFIG_GPIO_SYSFS 使 /sys/class/leds 消失

CONFIG_GPIO_SYSFS 使 /sys/class/leds 消失

我正在开发一个嵌入式 Linux 板,带有一个按钮和几个 LED。

默认情况下,我可以通过以下方式控制 LED

/sys/class/leds/redled/brightness

但是,我无法监控该按钮。如果我启用 CONFIG_GPIO_SYSFS,我就看不到 LED 了 - /sys/class/leds/ 为空。此外,理论上应该连接 LED 的 GPIO 不会执行任何操作,所以我什至无法破解它。

关于如何让这两个功能都正常工作有什么想法吗?

答案1

事实证明,解决方案非常简单。结果我戳错了GPIO。起始偏移量定义为:

$LINUX/arch/arm/mach-at91/include/mach/gpio.h

作为:

#define PIN_BASE    NR_AIC_IRQS

NR_AIC_IRQS 在同一目录中的 irqs.h 中定义:

#define NR_AIC_IRQS 32

我正在寻找的引脚是 PB12 和 PB13,我在 gpio.h 中找到它们定义为:

#define AT91_PIN_PB12   (PIN_BASE + 0X20 + 12)
#define AT91_PIN_PB13   (PIN_BASE + 0X20 + 13)

所以我要找的引脚是 32 + 32 + 12 = 76 和 77。

相关内容