Tool/software:
Hello.
I am currently working on the requirement to set the CPU affinity of GPIO interrupts. (See the table below.)
As far as my knowledge goes, GPIO interrupts are managed on a per-bank basis. Not in per-pin basis.
In order to meet the requirement, it will be necessary to configure the additional GPIO modules as following table.
In order to achieve this, I enabled three more modules in the device tree file.
&main_gpio2 { status = "okay"; pinctrl-names = "default"; pinctrl-0 = <&card_intr_pins_con_2>; }; &main_gpio4 { status = "okay"; pinctrl-names = "default"; pinctrl-0 = <&card_intr_pins_con_4>; }; &main_gpio6 { status = "okay"; pinctrl-names = "default"; pinctrl-0 = <&card_intr_pins_con_6>; };
When I boot the kernel with this config, GPIO driver prints the following error.
[ 1.712423] davinci_gpio 620000.gpio: error -ENXIO: IRQ index 2 not found [ 1.712694] davinci_gpio 630000.gpio: error -ENXIO: IRQ index 0 not found
I also discoverd that a similar discussion was held on AM64x.
https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1000615/processor-sdk-am64x-gpio1-device-fails-to-initialize-with-error-irq-index-2-not-found/3715207?tisearch=e2e-sitesearch&keymatch=IRQ%20index%20not%20found
My SDK version is 11.
Thanks.