This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AM69:MAIN_GPIO4 无法探测错误、"IRQ 索引 2 未找到"。

Guru**** 2538950 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1543224/am69-main_gpio4-fails-to-probe-with-error-irq-index-2-not-found

器件型号:AM69


工具/软件:

你好。

我目前正在努力满足设置 GPIO 中断的 CPU 亲和性的要求。 (请参阅下表。)

据我所知、GPIO 中断是根据每个组进行管理的。 不基于每引脚。
为了满足要求、需要如下表所示配置额外的 GPIO 模块。

为了 实现这一目标、我 在器件树文件中又启用了三个模块。

&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>;
};

当我使用此配置启动内核时、GPIO 驱动程序会打印以下错误。

[    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

我还发现对 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

我的 SDK 版本是 11。

谢谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、

    让我再深入研究一下、几天后再联系您。 感谢您的耐心。

    谢谢、

    Neehar

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、

    是否对此进行了任何更新?

    谢谢。

    Minsoo

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好、民洙、

    首先、Linux GPIO 驱动程序不支持更改或设置亲和性。

    此外、您是否对 rm-cfg.c 中的资源分区分配进行了任何更改?

    您是否还能在 DTS 中提供 GPIO 中断设置?

    谢谢、

    Neehar

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好、民洙、

    是否也在 R5F 内核上运行 RTOS? 如果是、您使用的是什么 GPIO 或控制器?

    如果 GPIO IRQ 首先由 MCU2_0 固件请求/拥有、则器件管理器 (DM) 会将 GPIO 资源标记 为分配给 MCU2_0。
    因此、当您在 Linux 中运行时、 A72 中的 GPIO 驱动程序会请求相同的中断、而该中断未被确认、并导致 GPIO 驱动程序报错。

    谢谢、

    Neehar

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、

    您是否也在 R5F 内核上运行 RTOS?

    由于我使用 TI SDK 提供的默认设置、因此我认为这取决于 Yocto SDK 的默认设置。

    默认在 R5F 内核上运行 RTOS 映像吗?

    谢谢。

    Minsoo

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好、民洙、

    您能否使用以下驱动程序补丁进行测试:

    e2e.ti.com/.../gpio_2D00_irq_2D00_comment.txt

    谢谢、

    Neehar

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好

    我试过这个补丁。

    它可以消除误差。 但是、当补丁删除驱动程序的 IRQ 设置过程时、其他依赖于 GPIO 中断的驱动程序根本不工作。

    谢谢、

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好、民洙、

    我将与其他工程师联系、以便查看并帮助解决您的问题。

    谢谢、

    Neehar

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好:

    对此有任何更新?

    谢谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好、民洙、

    对这一主题的支持将非常有限。 我们尚未在 Linux 下验证此功能。

    Jared 在之前的 E2E 主题中提供了帮助、他输入了内部 Jira 工单来支持 GPIO 中断的 CPU 亲和性。 由于其他待处理功能请求的积压、我们无法将此功能安排到路线图中、但我们计划在将来实施。

    此致、

    Takuma

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好:

    我的询问似乎没有得到正确的解释。
    我完全知道 IRQ 亲和性相关功能是不可能实现的。

    我目前询问的是、当我成功激活 MAIN_GPIO0 和 MAIN_GPIO2 时、当我通过将 MAIN_GPIO4 和 MAIN_GPIO6 的状态设置为“正常“来激活它们时、就无法在 MAIN_GPIO4 上从 IRQ 索引 2 开始注册任何 IRQ。

    使用此 设备树 文件...

    // k3-am69-sk.dts
    
    &main_gpio0 {
    	status = "okay";
    	pinctrl-names = "default";
    };
    
    &main_gpio2 {
    	status = "okay";
    	pinctrl-names = "default";
    };
    
    &main_gpio4 { // <~ main_gpio4 IRQ index 2 causes error
    	status = "okay";
    	pinctrl-names = "default";
    };
    
    &main_gpio6 { // All of the IRQ causes error.
    	status = "okay";
    	pinctrl-names = "default";
    };

    探测 GPIO 控制器 4、6 时导致错误。

    [    1.710311] davinci_gpio 620000.gpio: error -ENXIO: IRQ index 2 not found
    [    1.710571] davinci_gpio 630000.gpio: error -ENXIO: IRQ index 0 not found

    谢谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好、民洙、

    请参考此 E2E、了解 MAIN_GPIO2、MAIN_GPIO4 和 MAIN_GPIO6 的用法:关于  DRA821U:DRA821 处理器中的 GPIO 组和组 

    此致、

    Takuma