Re: FDT access from a driver during attach
Robert Swindells <[email protected]> Mon, 28 Jul 2025 16:53:49 +0100
| Newsgroups | gmane.os.netbsd.ports.arm |
|---|---|
| Message-ID | <[email protected]> |
Vincent DEFERT <[email protected]> wrote: > I want to add interrupt handling to the Meson pinctrl driver. > I have seen that this is handled by attaching gpioirq to the desired pin > with gpioctl(8) and there's an example of how to implement the > underlying capability in sunxi_gpio.c. > I also have the S905 documentation and the source code of the vendor > Linux driver as reference. So far, so good. You could also look at rk_gpio.c and sys/dev/i2c/fusbtc.c, combined with a dump of the dtb for the Pinebook Pro. > The only thing I don't know is how to retrieve the GPIO interrupt > controller configuration. > It is stored in a gpio_intc node with the "amlogic,meson-gpio-intc" > compatible string, but none of the 2 gpio instances reference it. > How can I search the full FDT to find this node? I don't think you should need to search the device tree for this. I would expect you to write a driver that matches on that compat string, it would map the registers of the interrupt controller and hook up this interrupt controller to the main one. Then your device tree overlay to go with a driver for whatever you are planning to connect to the gpio would specify an interrupt-parent that points to the meson-gpio-intc node. The Ethernet PHY seems to be the only place in the Odroid-C2 device tree that uses this kind of thing but our driver isn't using GPIO interrupts to make it work.