免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2249 | 回复: 6

[硬件及驱动] 求助串口问题 急!! [复制链接]

论坛徽章:
0
发表于 2014-03-17 10:49 |显示全部楼层
芯片支持五个串口 源码中默认是两个
想增加三个串口,分别是UART2/UART4/UART5,更改了五个文件,分别是board-mx6q_sabresd.h、board-mx6q_sabresd.c、platform-imx-uart.c、 clock.c、mx6.h修改如下:

1.arch/arm/mach-mx6/board-mx6q_sabresd.h

/*UART2*/
MX6Q_PAD_EIM_D26_UART2_TXD,
MX6Q_PAD_EIM_D27_UART2_RXD,

/*UART4*/
MX6Q_PAD_KEY_COL0_UART4_TXD,
MX6Q_PAD_KEY_ROW0_UART4_RXD,

/*UART5 */
MX6Q_PAD_KEY_COL1_UART5_TXD,
MX6Q_PAD_KEY_ROW1_UART5_RXD,

2.arch/arm/mach-mx6/board-mx6q_sabresd.c

static inline void mx6q_sabresd_init_uart(void)
{
imx6q_add_imx_uart(0,NULL);
imx6q_add_imx_uart(1,NULL);
imx6q_add_imx_uart(2,NULL);
imx6q_add_imx_uart(3,NULL);
imx6q_add_imx_uart(4,NULL);
}

3.arch/arm/plat-mxc/devices/platform-imx-uart.c

#define imx6q_imx_uart_data_entry(_id, _hwid)
imx_imx_uart_lirq_data_entry(MX6Q, _id, _hwid, SZ_4K)
imx6q_imx_uart_data_entry(0,1),
imx6q_imx_uart_data_entry(1,2),
imx6q_imx_uart_data_entry(2,3),
imx6q_imx_uart_data_entry(3,4),
imx6q_imx_uart_data_entry(4,5),
};

4.arch/arm/mach-mx6/clock.c

_REGISTER_CLOCK("imx_uart.0", NULL, uart_clk[0]),
_REGISTER_CLOCK("imx_uart.1", NULL, uart_clk[0]),
_REGISTER_CLOCK("imx_uart.2", NULL, uart_clk[0]),
_REGISTER_CLOCK("imx_uart.3", NULL, uart_clk[0]),
_REGISTER_CLOCK("imx_uart.4", NULL, uart_clk[0]),

5.arch/arm/plat-mxc/include/mach/mx6.h

#define MX6Q_UART1_BASE_ADDR UART1_BASE_ADDR
#define MX6Q_UART2_BASE_ADDR UART2_BASE_ADDR
#define MX6Q_UART3_BASE_ADDR UART3_BASE_ADDR
#define MX6Q_UART4_BASE_ADDR UART4_BASE_ADDR
#define MX6Q_UART5_BASE_ADDR UART5_BASE_ADDR


#define MX6Q_INT_UART1  MXC_INT_UART1_ANDED
#define MX6Q_INT_UART2  MXC_INT_UART2_ANDED
#define MX6Q_INT_UART3  MXC_INT_UART3_ANDED
#define MX6Q_INT_UART4  MXC_INT_UART4_ANDED
#define MX6Q_INT_UART5  MXC_INT_UART5_ANDED

感觉该改的都改了啊 可是在板子上还是只能识别到两个囧。。。/dev目录下还是只有ttymxc0和ttymxc2,
cat /proc/tty/driver/IMX-uart命令也是只显示这两个串口的驱动信息,到底咋回事呢???

俺是笨女女 卡了好几天都找不到原因啊 555。。。麻烦大家帮忙给看一下把  谢谢拉!!

论坛徽章:
0
发表于 2014-03-17 17:32 |显示全部楼层
额 木有人回答。。。。
是因为2,4,5三个设备没有注册上么??还是没有和platform bus的驱动绑定上???
还是板级文件初始化的问题??? 有经验的大侠们受累帮俺分析下呗

论坛徽章:
1
拜羊年徽章
日期:2015-03-03 16:15:43
发表于 2014-03-18 09:58 |显示全部楼层
本帖最后由 linuxfellow 于 2014-03-18 10:06 编辑

要在iomux里增加对这几个uart口管脚功能配置

论坛徽章:
0
发表于 2014-03-19 17:29 |显示全部楼层
已经配置了~
找到出错的原因了 是文件系统的问题 一直在重新编译 烧写内核 文件系统还是原来的就没动过。。

后来烧了一个新的文件系统进去 打印的启动信息中显示已经把5个串口都识别了

不过中途卡住了 Kernel panic - not syncing: No init found.  Try passing init= option to kernel..

正在找原因。。。

谢谢你的回复~~ 能有人回复 好感动的说。。。。

回复 3# linuxfellow


   

论坛徽章:
1
拜羊年徽章
日期:2015-03-03 16:15:43
发表于 2014-03-19 19:41 来自手机 |显示全部楼层
现在问题可能是你的启动脚本有问题,或是启动脚本位置放的不对,内核找不到,没法启动init进程

论坛徽章:
1
拜羊年徽章
日期:2015-03-03 16:15:43
发表于 2014-03-19 19:52 来自手机 |显示全部楼层
内核文件系统是什么?烧错了内核镜像,还是rootfs链接不对。串口应该和rootfs关系不大

论坛徽章:
0
发表于 2014-03-21 10:18 |显示全部楼层
问题找到了 是rootfs打包压缩出的问题 没有cd到目录里面去
现在木有问题拉~~~~~^_^
谢谢回复~~~

回复 6# linuxfellow


   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP