1

I was going through the presentation1 about the new ABI of the GPIO Character device, presumably merged in v5.9 of the linux.

I installed a new version of raspberry os, (uname: Linux raspberrypi 5.10.17-v7l+ #1414 SMP Fri Apr 30 13:20:47 BST 2021 armv7l GNU/Linux) but unfortunately found out there is still ABI v1 only inside /usr/include/linux/gpio.h.

Is there any information available when we can expect the new ABI to be part of the raspberry os?


1https://elinux.org/images/c/cb/Linux_GPIO-Evolution_and_Current_State_of_the_User_API.pdf

3

Strange. I am using version 2 of the /dev/gpiochip API on my recently updated Pis (mainly because API 2 has broken API 1).

Version 2 of the gpiochip API is present in all the Pis I have recently updated (32 and 64 bit).

For instance my Pi3B+

uname -a
Linux pi3bp 5.10.17-v7+ #1421 SMP Thu May 27 13:59:01 BST 2021 armv7l GNU/Linux

A fragment of /usr/include/linux/gpio.h

#define GPIO_V2_LINES_MAX 64

/*
 * The maximum number of configuration attributes associated with a line
 * request.
 */
#define GPIO_V2_LINE_NUM_ATTRS_MAX 10

/**
 * enum gpio_v2_line_flag - &struct gpio_v2_line_attribute.flags values
 * @GPIO_V2_LINE_FLAG_USED: line is not available for request
 * @GPIO_V2_LINE_FLAG_ACTIVE_LOW: line active state is physical low
 * @GPIO_V2_LINE_FLAG_INPUT: line is an input
 * @GPIO_V2_LINE_FLAG_OUTPUT: line is an output
 * @GPIO_V2_LINE_FLAG_EDGE_RISING: line detects rising (inactive to active)
 * edges
 * @GPIO_V2_LINE_FLAG_EDGE_FALLING: line detects falling (active to
 * inactive) edges

I suggest you update your Pi, perhaps with:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
sudo apt-get autoremove
5
  • Yeah, strangely, that helped. I even had corrupted package apt package file. Anyway solved now. Thanks!
    – Quest
    Aug 27 at 18:08
  • on the unrelevant note, do you, by any chance, know where I could find the datasheet for the PLLs registers description?
    – Quest
    Aug 29 at 15:41
  • What do you mean by PLLs registers?
    – joan
    Aug 29 at 16:33
  • I am looking for a register description of A2W_PLL*_CTRL, A2W_PLL*_ANA0, A2W_PLL*_FRAC and so on.. to determine a frequency of PLL*_per clock sources.
    – Quest
    Aug 29 at 16:52
  • No idea. Search shows elinux.org/The_Undocumented_Pi#Clocks I don't touch the PLLs and have never studied them.
    – joan
    Aug 29 at 17:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.