On Tue, Feb 15, 2022 at 01:00:47PM +0100, Stefan Wahren wrote: > Am 15.02.22 um 06:52 schrieb Lukas Wunner: > > Commit b1d84a3d0a26 ("pinctrl: bcm2835: Add support for all GPIOs on > > BCM2711") used a different label for the bcm2711 gpio_chip vis-à-vis > > the bcm2835. > > > > That breaks compatibility for GPIO_LOOKUP_IDX() and GPIO_HOG() clauses > > when porting from older Raspberry Pi Compute Modules to the CM4 or CM4S. > > could you explain the breakage more in detail, is it kernel or user space? This kernel module (which is sought to be upstreamed mid-term) requests GPIOs at runtime for a chardev: https://github.com/RevolutionPi/piControl/blob/master/revpi_core.c#L50 That fails on BCM2711 because a different label name was used, even though the pin-controller is otherwise compatible to BCM2835. > A little bit off topic, but what is this CM4S? Is it special version of > the CM4? Can you provide a link or something? BCM2711 in a CM1/CM3-compatible form factor. There is no public documentation at this point besides the device-tree overlay and what's being discussed in the forums and on GitHub: https://github.com/raspberrypi/linux/blob/rpi-5.15.y/arch/arm/boot/dts/bcm2711-rpi-cm4s.dts https://forums.raspberrypi.com/viewtopic.php?t=325975 https://github.com/search?q=cm4s&type=commits > > The name change seems unwarranted given it's essentially the same > > hardware, so use the old name instead. > > I disagree at this point. The pinctrl of bcm2835 and bcm2711 are > different. For example the bcm2835 has only 54 GPIOs while the bcm2711 > has 58. Four additional GPIOs don't justify a different label name given the pin-controller otherwise behaves the same. We also had minimal differences in pin assignment on BCM2835/6/7 and that didn't justify a different label name either. Thanks, Lukas