Hello, I am new to device trees.
I have written an interrupt handler driver and made some preliminary device tree updates for a GPIO interrupt, but the GPIO interrupt is still not enabled or executing the interrupt handler. The IRQ domain has not yet been recognized, and I am trying to understand what this means.
At boot, where &gpio3 is gpio@020a4000, the following log is produced:
[ 0.106338] irq: no irq domain found for /soc/aips-bus@02000000/gpio@020a4000 !
Here are snippets of the updates I have from the colibri-imx6ull-wifi.dtsi:
/ {
...
gpio-intr-cap {
compatible = "gpio-intr-cap";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_gpio_int>;
gpio = <&gpio3 1 GPIO_ACTIVE_HIGH>;
interrupts = <1 IRQ_TYPE_LEVEL_HIGH>;
interrupt-parent = <&gpio3>;
};
};
&iomuxc {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_hog_1 &pinctrl_hog_2 &pinctrl_hog_8
&pinctrl_hog_4 &pinctrl_hog_5 &pinctrl_hog_9 &pinctrl_hog_10 &pinctrl_hog_11 &pinctrl_gpio_int>;
};
and colibri-imx6ull.dtsi:
&iomuxc {
imx6ull-colibri {
...
pinctrl_gpio_int: gpiointgrp {
fsl,pins = <
MX6UL_PAD_LCD_ENABLE__GPIO3_IO01 0x1b0b0 /* SODIMM 44 */
>;
};
...
};
I am trying to follow the example to this post:
Writing and compiling an out-of-tree kernel module and integrating that into my Yocto build is another problem I haven’t quite solved yet. I am trying to follow solution #1 at this post:
The statement, “Then follow the typical out of tree kernel module process using this environment,” is rather opaque to me. Any help here is appreciated.