UART4 with RTS/CTS?

Is there anyone out there who has actually gotten UART4 working correctly with hardware flow control? I have HDMI disabled, the proper pins muxed, the latest omap-serial driver from Linux 3.12 seems to set the TI chip’s registers correctly. But no matter what I do, UART4 transmit totally ignores CTS. sending whether it’s asserted or not. Google finds lots of hits complaining about the issue, and lots of suggestions about what might be wrong, but nothing that definitively says whether or not this can be made to work.

So the question is simple: has anyone ever gotten this to work, or is the TI chip fundamentally flawed?

Yes, I’m using UART4 CTS P8-35, also UART4 rx/tx

root@arm-ticktock:/sys/devices/bone_capemgr.9# uname -a
Linux arm-ticktock 3.8.13-bone40.1 #1 SMP Thu Feb 20 21:12:57 EST 2014 armv7l GNU/Linux
root@arm-ticktock:/sys/devices/bone_capemgr.9# cat slots
0: 54:PF—
1: 55:PF—
2: 56:PF—
3: 57:PF—
4: ff:P-O-L Bone-LT-eMMC-2G,00A0,Texas Instrument,BB-BONE-EMMC-2G
5: ff:P-O-- Bone-Black-HDMI,00A0,Texas Instrument,BB-BONELT-HDMI
6: ff:P-O-- Bone-Black-HDMIN,00A0,Texas Instrument,BB-BONELT-HDMIN
7: ff:P-O-L Override Board Name,00A0,Override Manuf,BB-UART4
8: ff:P-O-L Override Board Name,00A0,Override Manuf,BB-UART4-RTSCTS
root@arm-ticktock:/sys/devices/bone_capemgr.9# ls -l /lib/firmware/BB-UART4*
-rw-r–r-- 1 root root 861 Feb 21 02:14 /lib/firmware/BB-UART4-00A0.dtbo
-rw-r–r-- 1 root root 936 Feb 21 02:14 /lib/firmware/BB-UART4-RTSCTS-00A0.dtbo
root@arm-ticktock:/sys/devices/bone_capemgr.9# grep optarg /boot/uboot/uEnv.txt
#optargs=capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN,BB-BONE-EMMC-2G
optargs=quiet init=/lib/systemd/systemd capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN capemgr.enable_partno=BB-UART4,BB-UART4-RTSCT
root@arm-ticktock:/sys/devices/bone_capemgr.9#

Interesting. My further investigations led me to the omap-serial driver, which sets Auto-CTS for the port only when a certain flag is set, and it appears to be never set, even with the latest version of the driver (I’m running kernel 3.12). I had to patch the driver to force that flag. Maybe I should go back and look at the 3.8 version to see if it’s something that worked back then but then broke in the process of upgrading.

Opps, missed your kernel version....

I can verify 3.8 is working, happily seeing the PPS signal from a GPS module.

Mike

can you give uart driver for insmod kernel! thanks!!!