From: Simon Gleissner <simon(a)gleissner.de>
Sent: 10 March 2019 22:32
Subject: [opensuse-arm] libgpiod on RasPi 3B+ apparently does not work
I'm using Tumbleweed JeOS (20190308, aarch64) on a RaspberryPI 3B+, which
works astonishingly good and stable.
During my attempts to use the GPIOs with libgpiod, i've found that the GPIOs
are not named as they should be. Also setting GPIOs does not seem to work,
if they are changed with gpioset.
Regarding the naming of the GPIOs, all of them are unnamed:
I think it is because we use an upstream kernel which does not name it. I guess this would
not be too difficult to get it, but someone need to make the patch and upstream it.
# gpioinfo pinctrl-bcm2835
gpiochip0 - 54 lines:
line 0: unnamed unused input active-high
line 1: unnamed unused input active-high
line 2: unnamed unused input active-high
line 3: unnamed unused input active-high
line 4: unnamed unused input active-high ...
line 29: unnamed "led0" output active-high [used]
line 30: unnamed unused output active-high
line 31: unnamed unused output active-high ...
line 47: unnamed unused output active-high ...
There are references for Raspian, that the 'unnamed' entries should contain
the GPIO names, e.g. at https://www.beyondlogic.org/an-introduction-to-
Also the "led0" and other output-GPIOs do not match in their position.
It seems that there is a mismatch in the device tree and I think the
Tumbleweed kernel uses a generic .dts config file, whereas Raspian uses an
It should match just fine. On my RPi3 B, it does match.
I have checked the mailing list and found, that the problem is not new:
I also have found an article in the opensuse wiki, which describes the
functionality, but does not help with the mapping:
Additionally, I have tried setting all possible GPIOs with libgpiod's gpioset
(some of them crashed the system), but it was not possible to change the
GPIO output (I've connected a LED). However, with the deprecated sysfs
GPIO subsystem this worked instantly without any problems (with offset
I have updated this wiki page now to use '--mode=wait' option. Otherwise, this
tool set the GPIO to 1 and exit immediately and release the GPIO and does not set it
anymore and you will not notice that anything happened. With wait mode, press ctrl-c to
stop setting the value.
Question: did anyone here succeeded in using libgpiod for setting GPIOs in
On Tumbleweed 20190308, with my RPi3 B, the following command just works to set GPIO26 to
1 (3V3) :
gpioset --mode=wait gpiochip0 26=1
Could you test the '--mode=wait' option, please?
IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may
also be privileged. If you are not the intended recipient, please notify the sender
immediately and do not disclose the contents to any other person, use it for any purpose,
or store or copy the information in any medium. Thank you.