首页 > 解决方案 > Sysfs 无法识别任何 GPIO 芯片 - Ubuntu 18.04

问题描述

我正在尝试将带有 Ubuntu 18.04 的嵌入式 Mini PC 的 GPIO 设置为输入或输出,以处理多个子项目。我的电脑是Supermicro SYS E100-9W-E,它通过 DB9 提供 1 个 8 位 GPIO。系统的内核版本是 5.4.0-74-generic。现在我已经阅读了很多关于 sysfs 和字符设备的内容,并且在过去,我有过使用 Raspberry Pi 的 GPIO 的经验。在我的系统中,我找不到任何 gpiochip:

root@SYS:~# ls -l /sys/class/gpio/
total 0
--w------- 1 root root 4096 Jun 15 14:29 export
--w------- 1 root root 4096 Jun 15 12:16 unexport

此外,chardev 接口(例如 /dev/gpiochip0)没有任何内容,/sys/kernel/debug/gpio 没有任何内容。libgpiod也检测不到任何芯片。此外,在 BIOS 菜单中没有什么可配置的,例如将 I/O 引脚预设为输入或输出。以下引用是我在 MOBO/PC 手册中唯一能找到的内容:

通用 I/O 接头:JGP1(通用输入/输出)接头是通过 SMBus 在引脚接头上的通用 I/O 扩展器。每个引脚都可以配置为输入引脚或输出引脚。GPIO 通过 PCH SMBus 的 PCA9554APW 8 位 GPIO 扩展来控制。基地址为 0xF040。对于 WRITE 和 READ,扩展器从地址为 0x4C。请参阅下表了解引脚定义。

引脚 - 定义

  • 1 - P3V3SB
  • 2 - 接地
  • 3 - GP_P3V3_GP0
  • 4 - GP_P3V3_GP4
  • 5 - GP_P3V3_GP1
  • 6 - GP_P3V3_GP5
  • 7 - GP_P3V3_GP2
  • 8 - GP_P3V3_GP6
  • 9 - GP_P3V3_GP3
  • 10 - GP_P3V3_GP7

我还尝试在 /sys/class/gpio 的导出文件中回显几个数字,但什么也没发生。

您对我应该遵循的内核配置或驱动程序有什么建议吗?

标签: linuxgpioacpilibgpiod

解决方案


推荐阅读