]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
ARM: dts: am335x-pdu001: Fix RS-485 transceiver switching
authorFelix Brack <fb@ltec.ch>
Thu, 29 May 2025 13:53:24 +0000 (15:53 +0200)
committerKevin Hilman <khilman@baylibre.com>
Mon, 7 Jul 2025 21:21:44 +0000 (14:21 -0700)
The wiring of the RS-485 transceiver of UART0 of the PDU-001 board
allows sending or receiving date exclusively. In other words: no
character transmitted will ever be received.
Hence the tx-filter counter in the OMAP serial driver can't work
correctly as it relies on receiving the transmitted characters.
This in turn will prevent reception of data unless we disable the
tx-filter counter.
This patch disables the tx-filter counter by enabling the DTS setting
rs485-rx-during-tx. This might sound like the opposite to be done but
it uses the enabling of rs485-rx-during-tx not for receiving the data
transmitted but for disabling the tx-fiter counter.

Tested-by: Felix Brack <fb@ltec.ch>
Signed-off-by: Felix Brack <fb@ltec.ch>
Link: https://lore.kernel.org/r/20250529135324.182868-1-fb@ltec.ch
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
arch/arm/boot/dts/ti/omap/am335x-pdu001.dts

index f0da94a738d58797f5bc9e4625dcbffbeeb0cb3a..c9ccb9de21ad7b104522b0f8393a3a572ce90230 100644 (file)
 
        rts-gpios = <&gpio1 9 GPIO_ACTIVE_HIGH>;
        rs485-rts-active-high;
+       rs485-rx-during-tx;
        rs485-rts-delay = <0 0>;
        linux,rs485-enabled-at-boot-time;