工具/软件: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 * 状态="正常"; };
非常感谢!