I want to enable a full UART on UART-1 for my project,

I want to enable a full UART on UART-1 for my project, so that I could establish a FUll modem handshaking between beaglebone black and a PC. Can someone provide me with a good link that could help me with this.

By “full UART” are you trying to say with RTS/CTS or something else?

Ya I mean RTS/CTS but I am a little confused about what is the use of DTR and DSR. Would they be of any use if we are using RTS/CTS.

Thanks for your quick response.

I thought https://github.com/pantoniou/linux-bbxm/blob/not-capebus-v31/Documentation/devicetree/bindings/serial/omap_serial.txt would have something about enabling RTS/CTS. Have you tried simply adding the pins to the pin mix settings and see if that triggers it? I’ll have to look at the driver later. (Currently traveling.)

I haven’t tried it, I would try it. But don’t we need a kernel object for full UART on UART1 or is it already there?

Kernel should already handle RTS/CTS. You just need to enable the pinmux and use the right termios call (stty).

I tried enabling UART1_RTS and CTS by changing their mode in device tree overlay.
But when I did dmesg | tail it gave the following error

[ 1048.757474] bone-capemgr bone_capemgr.9: slot #6: Requesting firmware ‘uart2pinmux-00A0.dtbo’ for board-name ‘Override Board Name’, version
‘00A0’
[ 1048.763222] bone-capemgr bone_capemgr.9: slot #6: dtbo ‘uart2pinmux-00A0.dtbo’ loaded; converting to live tree
[ 1048.766751] bone-capemgr bone_capemgr.9: slot #6: #2 overlays
[ 1048.779917] pinctrl-single 44e10800.pinmux: pin 44e1097c already requested by 4819c000.i2c; cannot claim for helper.14
[ 1048.791395] pinctrl-single 44e10800.pinmux: pin-95 (helper.14) status -22
[ 1048.798670] pinctrl-single 44e10800.pinmux: could not request pin 95 on device pinctrl-single
[ 1048.807732] bone-pinmux-helper helper.14: Failed to select default state
[ 1048.849694] bone-pinmux-helper: probe of helper.14 failed with error -22
[ 1048.850051] bone-capemgr bone_capemgr.9: slot #6: Applied #2 overlays.
[ 1053.953480] [drm:output_poll_execute], [CONNECTOR:5:HDMI-A-1] status updated from 2 to 2

Can you suggest me how to go further ahead.

Please share your .dts file and post to the mailing list (use pastebin or gist if large). Include a full description of what you are doing, what you expect and what you see.

https://github.com/chayansharma/Demo this is where I’ve added my .dts file. After this I compiled the .dts to .dtb using DTC and then move the .dtb file to /lib/firmware. I was expecting to see no error in dmesg | tail, but the above mentioned error occurred. I doubt maybe this is because the UART-1 RTS and CTS are used by i2c2. So I need to somehow free these pins from i2c and use as UART1_RTS and CTS. So if you can suggest how to do this

#1) Use another UART
#2) See #1, perhaps look at BeagleBoard.org - bone101 and consider UART4 or UART5
#3) You can check out http://circuitco.com/support/index.php?title=Weather_Cape_Work-Around to give you some ideas, but it won’t work because that I2C bus is actually used by the main .dts, not an overlay. You’ll need to patch the main .dts. Check out Pignology News: Getting UART2 (/dev/ttyO1) Working on BeagleBone Black.