s3c24402440的UART2出现问题,UART0和UART1都能正常使用,就UART2不能使用,后来开启了DEBUG信息,发现UART2的ulcon设置为0x43,而其它的设置为0x03,后来对比发现是设置ULCON寄存器,其它的停止位都是1位,而UART2的设置为了2位。 可是将PC软件设置为2位也还不行。后来干脆将mach-smdk2440.c的串口配置进行修改,将ulcon的设置为0x3。后来全部串口正常。 arch/arm/mach-s3c2440/mach-smdk2440.c 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 = 0x43, //orig .ulcon = 0x03, .ufcon = 0x51, } }; |