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.

[参考译文] Linux/AM3352:引脚 V14和 U14上的中断

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/579960/linux-am3352-interrupts-on-pins-v14-and-u14

器件型号:AM3352

工具/软件:Linux

大家好:

我的定制板具有4个扩展 UART 芯片、中断引脚为 A15、D14、V14、U14

uart1 -> A15用于中断

uart2 -> D14表示中断

uart3 -> V14用于中断

uart4 -> U14表示中断

uart1和 uart2工作正常、但 uart3和 uart4无法工作

以下是配置器件树(uart1和 uart2)中的中断所遵循的步骤:

1.将引脚设置为中断模式:

0x1b0 (PIN_INPUT | MUX_MODE0)/*(A15) xdma_event_int0、INT0 */
0x1b4 (PIN_INPUT | MUX_MODE0)/*(D14) xdma_event_intr1、INT1 */

2. 按 TRM 查找中断编号

这里是 uart1和 uart2节点:

Exar_uart0:Exar_uart0@9000000{
DEVICE_TYPE ="串行";
ti、hwmds ="Exar_uart1";
兼容="Exar、16m890";
reg =<0x09000000 0x07>;
时钟频率=<29491200>;
interrupt-parent =<&INTc>;
中断=<123>;
MODE-SEP-GPIO =<&GPIO0 27 GPIO_ACTIVE_HIGH>;/* 232/422/485模式 SEL *
状态="确定";
};

Exar_uart1:Exar_uart1@9000008{
DEVICE_TYPE ="串行";
ti、hwmds ="Exar_uart2";
兼容="Exar、16m890";
REG =<0x09000008 0x07>;
时钟频率=<29491200>;
FIFO-大小=<128>;
interrupt-parent =<&INTc>;
中断=<124>;
MODE-SEP-GPIO =<&GPIO0 26 GPIO_ACTIVE_HIGH>;/* 232/422/485模式 SEL *
状态="确定";
}; 

uart1和 uart2工作正常、但按照这些步骤操作、uart3和 uart4无法工作、

我认为可能注册的中断 不正确、  

uart3和 uart4的中断引脚是 V14和 U14、当我从 TRM 获取中断编号时、找不到相同 的引脚源。

因此、我选择类似的源名称:

 


但模式(6)下的 U14为 ehrpwm1A、模式(6)下的 V14为 ehrpwm0_synco


如何解决?

这里是我的 uart3和 uart4器件树节点

Exar_uart2:Exar_uart2@a000000{
DEVICE_TYPE ="串行";
ti、hwmds ="Exar_uart3";
兼容="Exar、16m890";
reg =<0x0a000000 0x07>;
时钟频率=<29491200>;
FIFO-大小=<128>;
interrupt-parent =<&INTc>;
中断=<86>;
MODE-SEP-GPIO =<&GPIO0 23 GPIO_ACTIVE_HIGH>;/* 232/422/485模式 SEL *
状态="正常";
};

Exar_uart3:Exar_uart3@a000008{
DEVICE_TYPE ="串行";
ti、hwmds ="Exar_uart4";
兼容="Exar、16m890";
REG =<0x0a000008 0x07>;
时钟频率=<29491200>;
FIFO-大小=<128>;
interrupt-parent =<&INTc>;
中断=<87>;
MODE-SEP-GPIO =<&GPIO0 22 GPIO_ACTIVE_HIGH>;/* 232/422/485模式 SEL *
状态="正常";
}; 

非常感谢!

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

    引脚 V14和 U14没有直接外部中断模式。 您可以将它们设置为 GPIO 模式(GPIO1_17和 GPIO1_18)、并设置 GPIO 中断。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好、Biser

    感谢您的回答、您能否举个例子或提示将 GPIO 中断添加到我的节点?

    非常感谢!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    软件团队将在此处对此进行评论。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    非常感谢! Biser
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Phil、

    您需要更改中断父级、i、e:
    uart3:
    interrupt-parent =<&GPIO1>;
    中断=<98 IRQ_TYPE_LEVEL_HIGH>;/*或低电平,具体取决于您的用例*//*GPIOINT1A*/

    uart4:
    interrupt-parent =<&GPIO1>;
    中断=<99 IRQ_TYPE_LEVEL_HIGH>;/*或低电平、具体取决于您的用例*//* GPIOINT1B*/

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