Configuring Flow Control on UART4

402 views
Skip to first unread message

alex.h...@gmail.com

unread,
Aug 22, 2013, 12:31:37 PM8/22/13
to beagl...@googlegroups.com
Hi there.

I am trying to configure the UART4 on the beaglebone black. I took the device tree source file from /lib/firmware for UART4 and added the necessary pins for RTS/CTS. This seemed to work, however in practice the BBB does not properly respond to RTS pulled high from the other device. Writes of "packets" complete, but any new writes do not continue. Attached file of scope capture shows my problem, where the BBB continues to send data.

Am I improperly configuring the UART? (I have disabled the HDMI cape). I have attached my dts and output from 'cat /proc/tty/driver/OMAP-SERIAL' below.

Kernel 3.8.13, Angstrom

/*
 * Copyright (C) 2013 CircuitCo
 *
 * Virtual cape for UART4 on connector pins P9.13 P9.11 P8.33, P8.35
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 */
/dts-v1/;
/plugin/;

/ {
   compatible = "ti,beaglebone", "ti,beaglebone-black";

   /* identification */
   part-number = "BB-UART4";
   version = "00A0";

   /* state the resources this cape uses */
   exclusive-use =
      /* the pin header uses */
      "P9.13",   /* uart4_txd */
      "P9.11",   /* uart4_rxd */
      "P8.33",
      "P8.35",
      /* the hardware ip uses */
      "uart4";

   fragment@0 {
      target = <&am33xx_pinmux>;
      __overlay__ {
         bb_uart4_pins: pinmux_bb_uart4_pins {
            pinctrl-single,pins = <
               0x070 0x26   /* gpmc_wait0.uart4_rxd | MODE6 */
               0x074 0x06   /* gpmc_wpn.uart4_txd | MODE6 */
               0x0D4 0x06  /* P8_33 = UART4_RTSN = lcd_data13, MODE6 */
               0x0D0 0x26  /* P8_35 = UART4_CTSN = lcd_data12, MODE6 */
            >;
         };
      };
   };

   fragment@1 {
      target = <&uart5>;   /* really uart4 */
      __overlay__ {
         status = "okay";
         pinctrl-names = "default";
         pinctrl-0 = <&bb_uart4_pins>;
      };
   };
}; 

$ cat /proc/tty/driver/OMAP-SERIAL 
serinfo:1.0 driver revision:
0: uart:OMAP UART0 mmio:0x44E09000 irq:88 tx:553 rx:0 RTS|CTS|DTR|DSR
4: uart:OMAP UART4 mmio:0x481A8000 irq:61 tx:1658 rx:1831 brk:5 CTS|DSR  //<- Note - no RTS
$



20130821_163024.jpg

cadinhu.rvs

unread,
Sep 16, 2013, 4:13:07 PM9/16/13
to beagl...@googlegroups.com
Got the same issue here.

Simple UART communication is OK, but I'm trying to use RTS and CTS too.
Reply all
Reply to author
Forward
0 new messages