GPIO dynamic IRQ handling for AMlogic

Peter Höller drmedvet.hoeller at gmail.com
Sat Jul 9 13:14:45 PDT 2022


Hi,

we are working on an Odroid C2 rev2 (S905 AMlogic) project for 3 years now.
While upgrading to Kernel 5.16 we stumbled over the issue that there
were only 8 static IRQ availabe for GPIO, so you get reduzed down to 4
I/O-pins, if you use them with edge both, rising as well as falling -
if you set up the IRQs for GPIO statically.

Referring to your post
http://lists.infradead.org/pipermail/linux-amlogic/2020-July/007684.html
from Neil Armstraong:
<<
The only available driver for GPIO interrupts is irq-meson-gpio and
should be enough for most of your use-cases
if you pass the GPIO interrupt as `interrupt = ` and `interrupt-parent
=` as we do for the Ethernet PHY on some
boards.

>>

we completely understand there is no out-of-the-box upstream
compatibilty because you are loosing kernel's compatibilty for other
boards. But as we are using our kernel only for odroidC2 only, we
wondered how to customize it correctly:

So we need information as foollows please:

1.) What are the IRQ-ranges availabe for GPIO of odroid C2 working
with Kernel 5.16. Unfortunately, we cannot derive that information
from anywhere else.

2.) we would be verry happy to get further syntax information about
how exactly to implement the mentioned  'interrups =' and
'interrupt-parent =' in the DeviceTree with the correct IRQ-ranges.

and 3.) How to correctly declare/announce the GPIO-IRQs dynamically in
the DeviceTree (syntax) and, if so, which corresponding syntax-changes
are needed to be done where in the driver 'irq-meson-gpio' to make
this finally work.

with kind regards and many many thanks in advance

Peter



More information about the linux-amlogic mailing list