Colibri iMX7 rs485 handle


I have custom board for Colibri iMX7d. It has rs485 output builded by this scheme.

My dts file contains such definitions:

	pinctrl_uart5: uart5grp {
		fsl,pins = <
			MX7D_PAD_I2C3_SDA__UART5_DCE_RTS 0x4 /* SODIMM 94 RS485_RTS*/

	pinctrl_uart5_lpsr: uart5grp_lpsr {
		fsl,pins = <
			MX7D_PAD_LPSR_GPIO1_IO07__UART5_DTE_RX	0x9 /* SODIMM 29 RS485_RX */
			MX7D_PAD_LPSR_GPIO1_IO06__UART5_DTE_TX	0x9 /* SODIMM 37 RS485_TX */

&uart5 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_uart5 &pinctrl_uart5_lpsr>;
	assigned-clocks = <&clks IMX7D_UART5_ROOT_SRC>;
	assigned-clock-parents = <&clks IMX7D_OSC_24M_CLK>;

But when controller runs I can only send data. I see it on remote side. But not receive data.

I’m not sure about dts.

What could be the problem?


Did you enable RS485? Have a look here.

Otherwise, can you measure RTS with an oscilloscope and verify that its selects the correct direction both when sending and receiving.

Also, this might have to do with SW, so specifying what version you actually use would not hurt.


Hi max.tx ,

I have same issue . not able to receive data. I tried to enable uart as you suggested ,still same error.

any other solution ?

Can you ask a new question with all the details (hardware, software, carrier board, rs485 connection schematic) about your issue? Thanks.