工具与软件:
您好!
我对 GPIO 中断的分配有疑问、一次在固件 mcu1_0中、一次在 mpu1 (A72 Linux)上。
电路板:J784s4定制电路板
PDK:09.02.00.30
Linux
SPL 引导
在‘的‘m中、我们已经借助器件树将两个 GPIO 组"wkup_GPIO0"和"main_GPIO0"添加到 Linux。
因为使用了一些 WKUP 引脚
&main_gpio0 {
status = "okay";
pinctrl-names = "default";
gpio-line-names = MAIN_GPIO0_LINE_NAMES;
};
&wkup_gpio0 {
status = "okay";
pinctrl-names = "default";
gpio-line-names = WKUP_GPIO0_LINE_NAMES;
};
我们还在 mcu1-0固件中配置了 GPIO 驱动器、使其可以对引脚上的上升沿做出反应、当前按预期工作。 
在 Mcu1_0中用于触发中断处理程序的引脚是 WKUP_GPIO0_0 -> H38。
根据参考手册、我已经看到16个 GPIO 引脚总是共享一个 ISR 矢量、在我们的案例中为 ISR 矢量103
受影响。

问题:
现在我有问题"GPIO-Davinic.c"Linux 驱动程序抱怨 IRQ 103的错误
无法请求、并且探测器失败、因为中断资源已在使用中(中断向量103)
elixir.bootlin.com/.../gpio-davinci.c
在"wkup_GPIO0"器件树节点上、中断向量
Interrupts =<103>、<104>、<105>、<106>、<107> <108>被确定为
设备。
wkup_gpio0: gpio@42110000 {
compatible = "ti,j721e-gpio", "ti,keystone-gpio";
reg = <0x00 0x42110000 0x00 0x100>;
gpio-controller;
#gpio-cells = <2>;
interrupt-parent = <&wkup_gpio_intr>;
interrupts = <103>, <104>, <105>, <106>, <107>, <108>;
interrupt-controller;
#interrupt-cells = <2>;
ti,ngpio = <89>;
ti,davinci-gpio-unbanked = <0>;
power-domains = <&k3_pds 167 TI_SCI_PD_EXCLUSIVE>;
clocks = <&k3_clks 167 0>;
clock-names = "gpio";
status = "disabled";
};
我能够通过从节点中删除 ISR Vector 103来解决原型问题
并将可用 GPIO 的数量减少16个。

我的问题:
1;在两个不同的域(main a72和 wakup mcu1-0)之间将 GPIO 控制器中的中断矢量拆分是否真的好?
2;TI 首选的避免此类分发问题(如中断)的方法是什么?
3;假设 MCU-1-0域中的任何 GPIO 中断是必需的、并且正在与 A72 Linux 上的另一个引脚共享相同的中断矢量。
中断分配的原型设计所描述的方法不起作用?
在 Linux 中、还使用了等待事件的 libgpiod 功能。

此致
Thomas