Sysfs doesn't recognize any GPIO chip - Ubuntu 18.04

972 Views Asked by At

I am trying to set GPIOs of an embedded Mini PC with Ubuntu 18.04 as inputs or outputs for handling several sub-projects. My PC is the Supermicro SYS E100-9W-E, it provides 1x 8-bit GPIO via the DB9. The kernel version of the system is 5.4.0-74-generic. I have read a lot about sysfs and character device nowadays, and in the past, I had an experience with the GPIOs of the Raspberry Pi. In my system, I am unable to find any 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

Also, there is nothing at the chardev interface (such as /dev/gpiochip0) and nothing to the /sys/kernel/debug/gpio. libgpiod couldn't detect any chip, too. Moreover, there is nothing to configure at the BIOS menu, such as presetting I/O pins as input or output. The following quote is the only thing I could find in the MOBO/PC manuals:

General Purpose I/O Header: The JGP1 (General Purpose Input/Output) header is a general purpose I/O expander on a pin header via the SMBus. Each pin can be configured to be an input pin or output pin. The GPIO is controlled via the PCA9554APW 8-bit GPIO expansion from PCH SMBus. The base address is 0xF040. The expander slave address is 0x4C for WRITE and READ. Refer to the table below for pin definitions.

Pin - Definition

  • 1 - P3V3SB
  • 2 - GND
  • 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

I tried also to echo several numbers at the export file at the /sys/class/gpio but nothing happened.

Do you have any suggestions about the kernel configuration or the Driver that I should follow?

0

There are 0 best solutions below