linux2.6.30.4内核移植(4)——完善串口驱动

时间:2021-01-09 12:22:20

在内核里支持两个串口,也就是芯片的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",

三、关于串口的内核配置如下:

linux2.6.30.4内核移植(4)——完善串口驱动

linux2.6.30.4内核移植(4)——完善串口驱动

linux2.6.30.4内核移植(4)——完善串口驱动

四、重新编译镜像,烧写到开发板,三个串口都可以使用了。