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;
}
}
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;
}
}
相关文章推荐
- 一张图解AlphaGo原理及弱点
- JMeter安装教程
- 背包2
- 使用七牛上传图片并加水印
- 如何用storyboard添加导航条的barButtonItem
- 奇偶校验
- Scaffold a Flask Project - Real Python
- 国家图书馆借阅攻略
- 组合查询+模板方法模式
- MyEclipse连接Oracle错误:ORA-00604和ORA-12705
- LeetCode: 1. Two Sum【C 解题】
- PHP 二维数组和三维数组的过滤
- adb无法使用,提示error: unknown host service的解决办法
- 史上最详细的Android Studio系列教程三--快捷键
- iOS使用CollectionView实现瀑布流
- 001-递归
- 简单代码生成csv文件(excel)
- PHP函数之类
- Android Studio 设置内存大小及原理
- 背包(1)