设为首页 加入收藏

TOP

S3C2440 UART2被配置为CTS问题解决
2014-11-24 12:02:44 来源: 作者: 【 】 浏览:0
Tags:S3C2440 UART2 配置 CTS 问题 解决

Linux内核默认把uart2的功能设置为nRTS1、nTCTS1,没有作为正常串口使用,如果我们想要将uart2作为串口,需要做以下修改:linux2.6内核将GPHCON寄存器的值置为0x16faaa就是说GPH6被设置为nRTS1,GPH7被设置为nCTS1,此时,串口2是无法收发数据的。


1、修改arch/arm/mach-s3c2440/mach-smdk2440.c中的uart2的配置,修改后如下:
static struct s3c2410_uartcfg smdk2440_uartcfgs[] __initdata = {
[0] = {
.hwport = 0,
.flags = 0,
.ucon = 0x3c5,
.ulcon = 0x03,
.ufcon = 0x51,
},
[1] = {
.hwport = 1,
.flags = 0,
.ucon = 0x3c5,
.ulcon = 0x03,
.ufcon = 0x51,
},


/* IR port */


[2] = {
.hwport = 2,
.flags = 0,
.ucon = 0x3c5,
.ulcon = 0x03,/*old0x43*/
.ufcon = 0x51,
}


};


2、vi drivers/serial/samsung.c
//增加以下头文件
#include
#include
在static int s3c24xx_serial_startup(struct uart_port *port)函数最后,添加
s3c2410_gpio_cfgpin(S3C2410_GPH(6), S3C2410_GPH6_TXD2);
s3c2410_gpio_pullup(S3C2410_GPH(6), 1);
s3c2410_gpio_cfgpin(S3C2410_GPH(7), S3C2410_GPH7_RXD2);


s3c2410_gpio_pullup(S3C2410_GPH(7), 1);


3、重新编译zImage下载进开发板即可


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇U-Boot-2011.06-rc2移植到mini244.. 下一篇Linux下S3C2440 RTC实时时钟驱动..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Libevent C++ 高并发 (2025-12-26 00:49:30)
·C++ dll 设计接口时 (2025-12-26 00:49:28)
·透彻理解 C 语言指针 (2025-12-26 00:22:52)
·C语言指针详解 (经典 (2025-12-26 00:22:49)
·C 指针 | 菜鸟教程 (2025-12-26 00:22:46)