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. 8250_omap RS485 RTS pin always high on v4.9 Kernel

Tool/software: Linux

Hello.

I have a problem when switching from the 4.1 to the 4.9 Kernel. Whenever the serial device is opens (open call on /dev/ttySx) I see the RTS pin going high (by using a logic analyzer). When the serial device is closed (close call) the RTS pin goes back to the low state. Is this a known bug or a misconfiguration?

I'm setting the rs485 related parameters through ioctl's.

Related Kernel Configs:

CONFIG_SERIAL_8250_OMAP=y
CONFIG_SERIAL_OMAP_CONSOLE=y
CONFIG_SERIAL_8250_OMAP_TTYO_FIXUP=y

I can see that the RTS pin is switching by software in some way, but I attach the related device-tree mappings anyways:

/* Setup UART1 pinmux (routed to RS485 connector) */
&uart1 {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&uart1_pins_default>;
pinctrl-1 = <&uart1_pins_sleep>;
status = "okay";
};

Inside am33xx_pinux:

uart1_pins_default: uart1_pins_default {
pinctrl-single,pins = <
0x180 ( PIN_INPUT_PULLUP | MUX_MODE0 ) /* (D16) uart1_rxd.uart1_rxd */
0x184 ( PIN_OUTPUT_PULLUP | MUX_MODE0 ) /* (D15) uart1_txd.uart1_txd */
0x17c ( PIN_OUTPUT | MUX_MODE0 ) /* (D17) uart1_rtsn.uart1_rtsn */
>;
};

uart1_pins_sleep: uart1_pins_sleep {
pinctrl-single,pins = <
0x180 ( PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (D16) uart1_rxd.uart1_rxd */
0x184 ( PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (D15) uart1_txd.uart1_txd */
0x17c ( PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (D17) uart1_rtsn.uart1_rtsn */
>;
};