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.

[参考译文] PROCESSOR-SDK-J722S:J722s mcu20 CAN 't 请求 GPIO 组中断、该资源是否已获取?

Guru**** 2430620 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1545489/processor-sdk-j722s-j722s-mcu20-can-t-request-gpio-bank-interrupt-is-the-resource-already-taken

器件型号:PROCESSOR-SDK-J722S


工具/软件:

尊敬的 TI 专家:
  1。我使用 J722s EVM 和 SDK v11 示例代码作为环境。 SDcard、spl 引导模式。

  2.在 Vision App mcu20 代码中、我无法使用 Sciclient_rmIrqSet 请求所有 GPIO0/1 组中断。  引脚中断正常。

  3.我 在 mcu20 主任务和结果中打印所有主 gpiomux 内向寄存器 (0xA00000)、  

[MCU2_0] 26.651552 s:Addr = 0:66948100
[MCU2_0] 26.651573s:地址= 4:100be
[MCU2_0] 26.651587s:Addr = 8:100bf
[MCU2_0] 26.651601 s:Addr = c:100c0
[MCU2_0] 26.651614s:Addr = 10:100c1
[MCU2_0] 26.651627s:Addr = 14:100c2
[MCU2_0] 26.651641 s:Addr = 18:100c3
[MCU2_0] 26.651653s:Addr = 1c:100b4
[MCU2_0] 26.651666 s:Addr = 20:100b5
[MCU2_0] 26.651678s:Addr = 24:100b6
[MCU2_0] 26.651691 s:Addr = 28:100b7
[MCU2_0] 26.651703 s:Addr = 2c:100b8
[MCU2_0] 26.651716s:Addr = 30:0
[MCU2_0] 26.651728s:Addr = 34:0
[MCU2_0] 26.651741 s:Addr = 38:0
[MCU2_0] 26.651753s:Addr = 3c:0
[MCU2_0] 26.651765s:地址= 40:0
[MCU2_0] 26.651777 s:Addr = 44:0
[MCU2_0] 26.651788s:Addr = 48:0
[MCU2_0] 26.651800s:Addr = 4c:0

似乎有 人已经采取了 GPIO 组中断、 我无法独占、只有我可以申请的 GPIO 组是 GPIO1、bank5、这不在上面的列表中。

我的问题是:
1. 我认为这可能是我未能使用  Sciclient_rmIrqSet ()  在 mcu20 中请求 GPIO 组中断的原因。  

2.在 J722s SDK v11 中、哪个代码将接收所有这些组中断、  

3.我能否尝试将其移除并使 mcub20 使用 GPIO 组中断?

谢谢

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

    更新:  Linux 似乎采取了 GPIO 组中断。 我们关闭了 GPIO1 和 mcub20 可能会请求 GPIO1 组中断。 但 Linux 使用一些 GPIO0(SD 卡?)、 我们无法 关闭它、否则 Linux 无法启动。     

    我找到了 https://software-dl.ti.com/processor-sdk-linux/esd/docs/06_03_00_106/linux/GPIO/Kernel/GPIO/gpio.html、 它是否仍在 J722s 中、Foundational_Components 应该对 Kernel_Drivers 使用组中断?

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

    您好、

    是的、正确。 Linux 仅对其所需的所有 GPIO 中断使用分组中断。 您必须在 Linux 端的器件树中进行更改、以释放您希望使用的 GPIO 分组中断。 请注意、您不能在内核之间使用同一组、或者可能导致不规则结果或错误中断。

    谢谢、

    Neehar

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

    我的问题是:

    1.更改 Linux 是否可能不使用组中断?

    2.默认情况下、Linux 采用所有 GPIO0/1 组中断、而不保留任何其他内核中断。 这是问题。  我 只是删除了 dts 文件中的一些中断并且 Linux 无法启动。   如何在 Linux 中删除某个中断?

    ```μ s

    ++ b/linux/board-support/ti-linux-kernel-6.12.17+git-ti/arch/arm64/boot/dts/ti/k3-am62p-j722s-common-main.dtsi@

    @–557、7 +557、7 @@ MAIN_GPIO0:GPIO@600000

    {GPIO 控制器;

    #GPIO-cells =<2>;

    Interrupt-parent =<&MAIN_GPIO_intr>;

    Interrupts =<190>、<193>、<195>;  # remove 191 and 192

    中断控制器;

    ```μ s

    这将导致 Linux 系统无法启动、卡在以下位置:

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [quote userid=“602005" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1545489/processor-sdk-j722s-j722s-mcu20-can-t-request-gpio-bank-interrupt-is-the-resource-already-taken/5945989

    更新:  Linux 似乎采取了 GPIO 组中断。 我们关闭了 GPIO1 和 mcub20 可能会请求 GPIO1 组中断。 但 Linux 使用一些 GPIO0(SD 卡?)、 我们无法 关闭它、否则 Linux 无法启动。     

    我找到了 https://software-dl.ti.com/processor-sdk-linux/esd/docs/06_03_00_106/linux/GPIO/Kernel/GPIO/gpio.html、 它是否仍在 J722s 中、Foundational_Components 应该对 Kernel_Drivers 使用组中断?

    [/报价]

    请参阅以下链接来了解组中断:

    TDA4VM:有关 TDA4 GPIO 中断的问题 — 处理器论坛-处理器 — TI E2E 支持论坛

    TDA4VM:在 vision_apps 中配置 GPIO 中断 — 处理器论坛-处理器 — TI E2E 支持论坛

    TDA4VM:如何在 mcu3_0 上实现 GPIO 输入中断功能 — 处理器论坛-处理器 — TI E2E 支持论坛

    此致

      Semon

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

    尊敬的 TI 专家:

      我现在的问题可能是关于如何保持 Linux 中断正常工作的问题。  mcu20/ visionapp 似乎什么都没有。

    1.在 DTB 文件中设置“ti、davina-gpio-unbanked =<1>;“后、Linux GPIO 中断将不起作用。  

    2.如何在 Linux 端删除一些银行中断,它似乎在默认情况下全部删除。

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

    您好、

    让我在 Linux 方面进一步研究一下。 您的申请需要多少家银行?

    谢谢、

    Neehar

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

    尊敬的 TI 专家:

      在 Linux 方面、 可能使用 2-3 个 GPIO、也需要 2-3 组、因为引脚可能不在同一组中。该方法是必要的、所以我们稍后可以自行调整配置、  谢谢。

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

    您好、

    [quote userid=“602005" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1545489/processor-sdk-j722s-j722s-mcu20-can-t-request-gpio-bank-interrupt-is-the-resource-already-taken/5949148 在 DTB 文件中设置“ti、davina-gpio-unbanked =<1>;“后、Linux GPIO 中断将不起作用。  [/报价]

    这将不起作用、因为我们不支持 Linux 中的无分组中断。  

    [quote userid=“602005" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1545489/processor-sdk-j722s-j722s-mcu20-can-t-request-gpio-bank-interrupt-is-the-resource-already-taken/5948167

    ++ b/linux/board-support/ti-linux-kernel-6.12.17+git-ti/arch/arm64/boot/dts/ti/k3-am62p-j722s-common-main.dtsi@

    @–557、7 +557、7 @@ MAIN_GPIO0:GPIO@600000

    {GPIO 控制器;

    #GPIO-cells =<2>;

    Interrupt-parent =<&MAIN_GPIO_intr>;

    Interrupts =<190>、<193>、<195>;  # remove 191 and 192

    中断控制器;

    ```μ s

    这将导致 Linux 系统无法启动、卡在以下位置:

    [/报价]

    您是否可以测试如何移除不同的中断? 只要您没有为 gd_mmc1、vd_sd_dv 或 PMIC 等 GPIO 删除 GPIO 中断、引导就不会出现任何问题、因为这将影响通过 SD 卡引导。

    谢谢、

    Neehar