Hello,
I also noticed last year that RS485 was problematic on i.MX hardware. We
use a i.MX7 SoC located on a SoM by manufacturer Toradex. The SoM itself
is plugged into a proprietary board that features a Renesas ISL8xxx
RS485 transceiver. We talk ModBus RTU over the RS485 link. The SoC is
the ModBus master, the slave is a insulation monitoring device.
Since we source the i.MX through Toradex, I opened a thread on their
community forum last year:
https://community.toradex.com/t/fixing-native-rs485-de-toggling-on-uart6/20573
I also realized very quickly that the newly introduced loopback logic
was the culprit. My solution currently consists of a new DT property
that effectively disables the toggling of the loopback mode:
https://gitlab.freedesktop.org/tobiasjakobi.compleo/linux-toradex/-/commit/98397c9436f48a149e2da0b2969a2d1d2d88c611
Anyway, I have tested Christoph's patch and can confirm that the patch
(also) fixes the problems we are seeing. Test was done by applying the
patch to 6.1.80. I haven't tested Rickard's patch so far.
Would be nice if this could later be backported to the 6.1.x kernel
(this is the kernel we currently use on our hardware).
With best wishes,
Tobias