i.MX93 UART RS-485 RTS does not toggle

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

i.MX93 UART RS-485 RTS does not toggle

跳至解决方案
565 次查看
davidpatton
Contributor III

As the subject title suggests, I am trying to get a UART on the iMX93 to work in RS-485 mode. I am using YOCTO SCARTHGAP with Linux 6.6.36.

From my device tree:

&lpuart2 { /* MODBUS1 */
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart2>;
rts-gpios = <&gpio3 25 GPIO_ACTIVE_HIGH>; /* TXEn */
status = "okay";
};
 
pinctrl_uart2: uart2grp {
fsl,pins = <
MX93_PAD_UART2_TXD__LPUART2_TX 0x031E
MX93_PAD_UART2_RXD__LPUART2_RX 0x131E
MX93_PAD_SD3_DATA3__GPIO3_IO25 0x051E /* TXEn */
>;
};
 
With the logic analyzer connected to RX/TX/RTS I can see that RTS never toggles, just stays low. If I do a TX, I would expect RTS to go high and the TX data contained within the time before it goes back low. I can see the TX data on the analyzer, but RTS does nothing.
 
I can toggle RTS (GPIO3_IO25) from the command line with gpioset so there doesn't appear to be an electrical problem.
 
Help please!
标签 (2)
标记 (1)
0 项奖励
回复
1 解答
477 次查看
davidpatton
Contributor III
I was stuck in my old i.MX6 mode thinking imx.c was the UART driver, for the i.MX93 it's fsl_lpuart.c. Unfortunately fsl_lpuart.c is not nearly as flexible as imx.c and does not support "rts-gpios" which I will need to port from imx.c into fsl_lpuart.c for our board to work.

在原帖中查看解决方案

0 项奖励
回复
1 回复
478 次查看
davidpatton
Contributor III
I was stuck in my old i.MX6 mode thinking imx.c was the UART driver, for the i.MX93 it's fsl_lpuart.c. Unfortunately fsl_lpuart.c is not nearly as flexible as imx.c and does not support "rts-gpios" which I will need to port from imx.c into fsl_lpuart.c for our board to work.
0 项奖励
回复
%3CLINGO-SUB%20id%3D%22lingo-sub-2259525%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3Ei.MX93%20UART%20RS-485%20RTS%20%E6%97%A0%E6%B3%95%E5%88%87%E6%8D%A2%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2259525%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E6%AD%A3%E5%A6%82%E9%A2%98%E7%9B%AE%E6%89%80%E7%A4%BA%EF%BC%8C%E6%88%91%E6%AD%A3%E8%AF%95%E5%9B%BE%E8%AE%A9%20iMX93%20%E4%B8%8A%E7%9A%84%20UART%20%E5%9C%A8%20RS-485%20%E6%A8%A1%E5%BC%8F%E4%B8%8B%E5%B7%A5%E4%BD%9C%E3%80%82%E6%88%91%E4%BD%BF%E7%94%A8%E7%9A%84%E6%98%AF%20YOCTO%20SCARTHGAP%20%E5%92%8C%20Linux%206.6.36%E3%80%82%3C%2FP%3E%3CP%3E%E4%BB%8E%E6%88%91%E7%9A%84%E8%AE%BE%E5%A4%87%E6%A0%91%E4%B8%AD%EF%BC%9A%3C%2FP%3E%3CDIV%3E%3CDIV%3E%3CSPAN%3E%26amp%3Blpuart2%3C%2FSPAN%3E%3CSPAN%3E%7B%20%3C%2FSPAN%3E%3CSPAN%3E%2F*%20MODBUS1%20*%2F%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Epinctrl-names%20%3D%20%3C%2FSPAN%3E%3CSPAN%3E%22%E9%BB%98%E8%AE%A4%22%3C%2FSPAN%3E%3CSPAN%3E%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Epinctrl-0%20%3D%26lt%3B%3C%2FSPAN%3E%3CSPAN%3E%26amp%3Bpinctrl_uart2%3C%2FSPAN%3E%3CSPAN%3E%26gt%3B%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Erts-gpios%20%3D%26lt%3B%3C%2FSPAN%3E%3CSPAN%3E%26amp%3Bgpio3%3C%2FSPAN%3E%20%3CSPAN%3E25%3C%2FSPAN%3E%20%3CSPAN%3Egpio_active_high%3C%2FSPAN%3E%3CSPAN%3E%26gt%3B%3B%20%3C%2FSPAN%3E%3CSPAN%3E%2F*%20TXEn%20*%2F%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%E7%8A%B6%E6%80%81%20%3D%20%3C%2FSPAN%3E%3CSPAN%3E%22%E5%A5%BD%E7%9A%84%22%3C%2FSPAN%3E%3CSPAN%3E%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%7D%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CDIV%3E%3CDIV%3E%3CSPAN%3Epinctrl_uart2%3C%2FSPAN%3E%3CSPAN%3E%3A%20%3C%2FSPAN%3E%3CSPAN%3Euart2grp%3C%2FSPAN%3E%3CSPAN%3E%7B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Efsl%2Cpins%20%3D%26lt%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EMX93_PAD_UART2_TXD__LPUART2_TX%3C%2FSPAN%3E%20%3CSPAN%3E0x031E%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EMX93_PAD_UART2_RXD__LPUART2_RX%3C%2FSPAN%3E%20%3CSPAN%3E0x131E%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EMX93_PAD_SD3_DATA3__GPIO3_IO25%3C%2FSPAN%3E%20%3CSPAN%3E0x051E%3C%2FSPAN%3E%20%3CSPAN%3E%2F*%20TXEn%20*%2F%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26gt%3B%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%7D%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%E5%B0%86%E9%80%BB%E8%BE%91%E5%88%86%E6%9E%90%E4%BB%AA%E8%BF%9E%E6%8E%A5%E5%88%B0%20RX%2FTX%2FRTS%20%E5%90%8E%EF%BC%8C%E6%88%91%E5%8F%AF%E4%BB%A5%E7%9C%8B%E5%88%B0%20RTS%20%E4%BB%8E%E6%9C%AA%E5%88%87%E6%8D%A2%EF%BC%8C%E5%8F%AA%E6%98%AF%E4%BF%9D%E6%8C%81%E4%BD%8E%E7%94%B5%E5%B9%B3%E3%80%82%E5%A6%82%E6%9E%9C%E6%88%91%E8%BF%9B%E8%A1%8C%E5%8F%91%E9%80%81%EF%BC%8C%E6%88%91%E5%B8%8C%E6%9C%9B%20RTS%20%E5%8F%98%E4%B8%BA%E9%AB%98%E7%94%B5%E5%B9%B3%EF%BC%8C%E5%B9%B6%E4%B8%94%E5%9C%A8%E5%AE%83%E5%8F%98%E5%9B%9E%E4%BD%8E%E7%94%B5%E5%B9%B3%E4%B9%8B%E5%89%8D%E7%9A%84%E6%97%B6%E9%97%B4%E5%86%85%E5%8C%85%E5%90%AB%E5%8F%91%E9%80%81%E6%95%B0%E6%8D%AE%E3%80%82%E6%88%91%E5%8F%AF%E4%BB%A5%E5%9C%A8%E5%88%86%E6%9E%90%E4%BB%AA%E4%B8%8A%E7%9C%8B%E5%88%B0%E5%8F%91%E9%80%81%E6%95%B0%E6%8D%AE%EF%BC%8C%E4%BD%86%20RTS%20%E6%B2%A1%E6%9C%89%E4%BB%BB%E4%BD%95%E5%8F%8D%E5%BA%94%E3%80%82%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%E6%88%91%E5%8F%AF%E4%BB%A5%E7%94%A8%20gpioset%20%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%88%87%E6%8D%A2%20RTS%EF%BC%88GPIO3_IO25%EF%BC%89%EF%BC%8C%E5%9B%A0%E6%AD%A4%E4%BC%BC%E4%B9%8E%E4%B8%8D%E5%AD%98%E5%9C%A8%E7%94%B5%E6%B0%94%E9%97%AE%E9%A2%98%E3%80%82%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%E8%AF%B7%E5%B8%AE%E5%B8%AE%E6%88%91%EF%BC%81%3C%2FSPAN%3E%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-2259525%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CLINGO-LABEL%3ELinux%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3EYocto%20Project%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2261444%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20i.MX93%20UART%20RS-485%20RTS%20does%20not%20toggle%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2261444%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E6%88%91%E8%BF%98%E5%81%9C%E7%95%99%E5%9C%A8%E4%BB%A5%E5%89%8D%E7%9A%84%20i.MX6%20%E6%A8%A1%E5%BC%8F%EF%BC%8C%E4%BB%A5%E4%B8%BA%20imx.c%20%E6%98%AF%20UART%20%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F%EF%BC%8C%E8%80%8C%20i.MX93%20%E7%9A%84%20UART%20%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F%E6%98%AF%20fsl_lpuart.c%E3%80%82%E9%81%97%E6%86%BE%E7%9A%84%E6%98%AF%EF%BC%8Cfsl_lpuart.c%20%E6%B2%A1%E6%9C%89%20imx.c%20%E9%82%A3%E4%B9%88%E7%81%B5%E6%B4%BB%EF%BC%8C%E8%80%8C%E4%B8%94%E4%B8%8D%E6%94%AF%E6%8C%81%22rts-gpios%22%20%EF%BC%8C%E6%88%91%E9%9C%80%E8%A6%81%E5%B0%86%20imx.c%20%E7%A7%BB%E6%A4%8D%E5%88%B0fsl_lpuart.c%E3%80%82%E8%AE%A9%E6%88%91%E4%BB%AC%E7%9A%84%E6%9D%BF%E6%AD%A3%E5%B8%B8%E5%B7%A5%E4%BD%9C%E3%80%82%3C%2FLINGO-BODY%3E