工具与软件:
尊敬的 Expert:
客户需要在 am3352 Linux 3.2产品线上添加 UART 流控制支持。
请帮助我们了解如何启用 UART 硬件流控制(RTS、CTS)支持
RTS 和 CTS 引脚都不是从示波器上拉/下拉。
目前的修改:
arch\arm\mach-omap2\board-am335xevm.c
静态结构 pinmux_config uart1_pin_mux[]={
+ {"uart1_CTSN.uart1_CTSN"、OMAP_MUX_MODE0 | AM33XX_PIN_INPUT}、
+ {"uart1_rtsn.uart1_rtsn"、OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT}、
{"uart1_rxd.uart1_rxd"、OMAP_MUX_MODE0 | AM33XX_PIN_INPUT_PULLUP}、
{"uart1_TxD.uart1_TxD"、OMAP_MUX_MODE0 | AM33XX_PULL_ENBL}、
{NULL、0}、
};
Fatek 软件请设置"sty–F /dev/ttyO1 crtscts"驱动程序日志 show (dev_info)
drivers\tty\serial\OMAP-serial.c
/*硬件流控制配置*/
dev_info (up->port.dev、"==>>>Hardware Flow Control Configuration %u\n"、termios->c_cflag & CRTSCTS);
if (termios->c_cflag & CRTSCTS){
dev_info (up->port.dev、"==>>>Hardware Flow Control start\n");
EFR |=(UART_EFR_CTS | UART_EFR_RTS);
serial_out (up、UART_LCR、UART_LCR_CONF_MODE_A);
up->MCR = serial_in (up、UART_MCR);
serial_out (up、UART_MCR、up->MCR | UART_MCR_TCRTLR);
serial_out (up、UART_LCR、UART_LCR_CONF_MODE_B);
up->EFR = serial_in (up、UART_EFR);
serial_out (up、UART_EFR、up->EFR | UART_EFR_ECB);
serial_out (up、UART_TI752_TCR、OMAP_UART_TCR_TRIG);
serial_out (up、UART_EFR、EFR);/*启用 AUTORTS 和 AUTOCTS *
serial_out (up、UART_LCR、UART_LCR_CONF_MODE_A);
serial_out (up、UART_MCR、up->MCR | UART_MCR_RTS);
serial_out (up、uart_LCR、cval);
dev_info (up->port.dev、"==>>>>硬件流控制结束\n");
}
谢谢
Daniel