Re: [PATCH 2/2] serial: imx: Fix the CTS_B polarity in RS485 mode

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Clemens,

On Sun, Feb 19, 2017 at 7:26 PM, Clemens Gruber
<clemens.gruber@xxxxxxxxxxxx> wrote:

> But CTS_B is an active-low output, according to the IMX6DQ reference
> manual.

This 'active-low' term is what causes confusion in my opinion.

Active-low or active-high depends on how the user sets
SER_RS485_RTS_ON_SEND flag.
>
> The CTS field in _UCR2 has the following description on page 5252:
> 0  The CTS_B pin is high (inactive)
> 1  The CTS_B pin is low (active)

The logic levels mentioned here are correct.

>
> We had to invert the signal in hardware before connecting it to the
> active-high transceive-enable pin of a transceiver.
>
> If you want CTS_B high during transmit, I think you need it the other
> way around: SER_RS485_RTS_ON_SEND cleared and SER_RS485_RTS_AFTER_SEND
> set.

On the system I tried I need to drive CTS_B pin high so that the TXEN
RS485 transceiver can trasmit data. Then it needs to go low so that RX
can happen.

In order to do so:

SER_RS485_RTS_ON_SEND set
SER_RS485_RTS_AFTER_SEND cleared.

,which works for the native CTS_B case and also the gpio-rts case.
--
To unsubscribe from this list: send the line "unsubscribe linux-serial" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux PPP]     [Linux FS]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Linmodem]     [Device Mapper]     [Linux Kernel for ARM]

  Powered by Linux