在内核里支持两个串口,也就是芯片的UART0和UART1,而UART2的驱动是针对红外接口的,而不是串口驱动,这里将其修改为串口驱动。
一、修改内核源码arch/arm/mach-s3c2440/mach-smdk2440.c文件的第100行,将其改为:
.ulcon = 0x03,
二、修改内核源码drivers/serial/samsung.c文件:
1、在第53行添加如下内容:
#include <mach/regs-gpio.h>
2、在第433行添加如下内容:
if(port->line == 2)
{
s3c2410_gpio_cfgpin(S3C2410_GPH6, S3C2410_GPH6_TXD2);
s3c2410_gpio_pullup(S3C2410_GPH6, 1);
s3c2410_gpio_cfgpin(S3C2410_GPH7, S3C2410_GPH7_RXD2);
s3c2410_gpio_pullup(S3C2410_GPH7, 1);
}
3、在第887行修改内容如下:
.dev_name = "tq2440_serial",
三、关于串口的内核配置如下:
四、重新编译镜像,烧写到开发板,三个串口都可以使用了。