您的位置:首页 > 其它

Cloud39E的UART1串口使用问题

2016-03-16 09:29 363 查看
39e的板子要用到uart2,即CIS_DATA0/GPIO6_PD/RXD2、CIS_DATA1/GPIO7_PD/TXD2这两个pin要利用成RXD2、TXD2功能,那么在软件上配置如下就可以正常使用:

1、kernel/arch/arm/mach-ak39/ak39-gpio.c修改如下:

struct gpio_sharepin_cfg share_cfg_module[] = {

{ePIN_AS_UART2, SHARE_CFG2, 0, 0, (0xff<<4), (0x5a<<4), 0, 0,0, 0},

{ePIN_AS_CAMERA, SHARE_CFG2, 0, 0, (0xff00f), (0x0), 0, 0,0, 0},

}

2、kernel/arch/arm/mach-ak39/mach-cloud39e_ak3918e+h42.c修改如下:

static struct platform_device *ak3918_platform_devices[] __initdata = {

&ak39_uart0_device,

&ak39_uart1_device,

}

3、drivers/tty/serial/ak39_uart.c修改如下:

static void ak39_serial_set_termios(struct uart_port *port,

struct ktermios *termios, struct ktermios *old)

{

......

/* flow control setting */

if(port->line != 0)

{

if((termios->c_cflag & CRTSCTS)) /* directly */

{

switch (port->line) {

case 1:

AK_GPIO_UART1_FLOW(1);

break;

}

regval &= ~(1<<18|1<<19);

}

else /* inversly */

{

switch(port->line) {

case 1:

ak_setpin_as_gpio(8);

ak_setpin_as_gpio(9);

break;

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: