Hello Community,
I want to use the AUART0 of the i.MX28 with the handshake signals. For this I am using the latest stable Linux Kernel 3.14.1.
The AUART0 part of the device tree:
auart0: serial@8006a000 { | |
pinctrl-names = "default"; | |
pinctrl-0 = <&auart0_pins_a>; | |
fsl,uart-has-rtscts; | |
status = "okay"; |
};
So the device tree uses all four pins of this UART. In Linux itself I configure the interface with:
stty -F /dev/ttyAPP0 raw 9600 -echo -echoe -echok -echoctl -echoke crtscts
The UART and the handshake signals are working in principle. But I've noticed a delay between the RTS signal and the stopbit as you can see in the attached figure. I think that 13 ms are really unnecessary and I can not trace it back where they are from.
I tried this too:
stty -F /dev/ttyAPP0 raw 9600 -echo -echoe -echok -echoctl -echoke -crtscts
The bits CTSEN and RTSEN of the UARTAPP_CTRL2 register are toggled, but there is still a something similar on the RTS lines, but now it os no CTS needed.
So my questions are, where are this delays come from?
How can I be sure who is toggling the RTS line (Linux or the i.MX28 hardware module) ?
best regards
I would suggest you to post this into linux-arm-kernel and linux-serial mailing lists.