天嵌 ARM开发社区

 找回密码
 注册
查看: 2877|回复: 5

TQ210 Linux下AT24L02的IIC驱动问题

[复制链接]
nettui 发表于 2013-6-20 15:21:31 | 显示全部楼层 |阅读模式
我在TQ210下写的IIC驱动,结果老是time out ,这可能是什么原因呢?请高手指教!
<7>i2c i2c-2: master_xfer[0] W, addr=0x50, len=2
<7>s3c-i2c s3c2440-i2c.2: START: 000000d0 to IICSTAT, a0 to DS
<7>s3c-i2c s3c2440-i2c.2: iiccon, 000000aa
<7>s3c-i2c s3c2440-i2c.2: timeout
<7>i2c i2c-2: master_xfer[0] W, addr=0x50, len=2
<7>s3c-i2c s3c2440-i2c.2: START: 000000d0 to IICSTAT, a0 to DS
<7>s3c-i2c s3c2440-i2c.2: iiccon, 000000aa
<7>s3c-i2c s3c2440-i2c.2: timeout
<7>i2c i2c-2: master_xfer[0] W, addr=0x50, len=2
<7>s3c-i2c s3c2440-i2c.2: START: 000000d0 to IICSTAT, a0 to DS
<7>s3c-i2c s3c2440-i2c.2: iiccon, 000000aa
<7>s3c-i2c s3c2440-i2c.2: timeout
<7>i2c i2c-2: master_xfer[0] W, addr=0x50, len=2
<7>s3c-i2c s3c2440-i2c.2: START: 000000d0 to IICSTAT, a0 to DS
<7>s3c-i2c s3c2440-i2c.2: iiccon, 000000aa
<7>s3c-i2c s3c2440-i2c.2: timeout
<7>i2c i2c-2: master_xfer[0] W, addr=0x50, len=2
<7>s3c-i2c s3c2440-i2c.2: START: 000000d0 to IICSTAT, a0 to DS
<7>s3c-i2c s3c2440-i2c.2: iiccon, 000000aa
<7>s3c-i2c s3c2440-i2c.2: timeout
<7>i2c i2c-2: master_xfer[0] W, addr=0x50, len=2
<7>s3c-i2c s3c2440-i2c.2: START: 000000d0 to IICSTAT, a0 to DS
<7>s3c-i2c s3c2440-i2c.2: iiccon, 000000aa
<7>s3c-i2c s3c2440-i2c.2: timeout
<7>i2c i2c-2: master_xfer[0] W, addr=0x50, len=2
<7>s3c-i2c s3c2440-i2c.2: START: 000000d0 to IICSTAT, a0 to DS
<7>s3c-i2c s3c2440-i2c.2: iiccon, 000000aa
<7>s3c-i2c s3c2440-i2c.2: timeout
<7>i2c i2c-2: master_xfer[0] W, addr=0x50, len=2
<7>s3c-i2c s3c2440-i2c.2: START: 000000d0 to IICSTAT, a0 to DS
<7>s3c-i2c s3c2440-i2c.2: iiccon, 000000aa
<7>s3c-i2c s3c2440-i2c.2: timeout
<7>i2c i2c-2: master_xfer[0] W, addr=0x50, len=2
<7>s3c-i2c s3c2440-i2c.2: START: 000000d0 to IICSTAT, a0 to DS
<7>s3c-i2c s3c2440-i2c.2: iiccon, 000000aa
<7>s3c-i2c s3c2440-i2c.2: timeout
<7>i2c i2c-2: master_xfer[0] W, addr=0x50, len=2
<7>s3c-i2c s3c2440-i2c.2: START: 000000d0 to IICSTAT, a0 to DS
<7>s3c-i2c s3c2440-i2c.2: iiccon, 000000aa
<7>s3c-i2c s3c2440-i2c.2: timeout
<7>i2c i2c-2: master_xfer[0] W, addr=0x50, len=2
<7>s3c-i2c s3c2440-i2c.2: START: 000000d0 to IICSTAT, a0 to DS
<7>s3c-i2c s3c2440-i2c.2: iiccon, 000000aa
<7>s3c-i2c s3c2440-i2c.2: timeout
<7>i2c i2c-2: master_xfer[0] W, addr=0x50, len=2
<7>s3c-i2c s3c2440-i2c.2: START: 000000d0 to IICSTAT, a0 to DS
<7>s3c-i2c s3c2440-i2c.2: iiccon, 000000aa
<7>s3c-i2c s3c2440-i2c.2: timeout
<4>here is the i2c_transfer
<7>i2c i2c-2: master_xfer[0] W, addr=0x50, len=1
<7>i2c i2c-2: master_xfer[1] R, addr=0x50, len=1
<7>s3c-i2c s3c2440-i2c.2: START: 000000d0 to IICSTAT, a0 to DS
<7>s3c-i2c s3c2440-i2c.2: iiccon, 000000aa
<7>s3c-i2c s3c2440-i2c.2: timeout
<4>the i2c_transfer return 0
<4>here is the i2c_transfer
<7>i2c i2c-2: master_xfer[0] W, addr=0x50, len=1
<7>i2c i2c-2: master_xfer[1] R, addr=0x50, len=1
<7>s3c-i2c s3c2440-i2c.2: START: 000000d0 to IICSTAT, a0 to DS
<7>s3c-i2c s3c2440-i2c.2: iiccon, 000000aa
<7>s3c-i2c s3c2440-i2c.2: timeout
<4>the i2c_transfer return 0

 楼主| nettui 发表于 2013-6-20 19:05:36 | 显示全部楼层
好像是s3c24xx_i2c_irq函数没有执行,造成的超时,也就是中断没有触发,中断一般发生在IICDS寄存器写入完成,以及发送完成时,为什么没有触发呢?难道是因为板文件中没有添加平台数据。请版主帮忙解决下,谢谢!
 楼主| nettui 发表于 2013-6-20 19:33:10 | 显示全部楼层
        stat |= S3C2410_IICSTAT_START;
        writel(stat, i2c->regs + S3C2410_IICSTAT);   内核此处将IICSTAT寄存器第5位置1,则数据被自动发送出去,触发中断。但是为什么超时呢?
亚瑟王 发表于 2013-6-21 09:15:30 | 显示全部楼层
nettui 发表于 2013-6-20 19:33
stat |= S3C2410_IICSTAT_START;
        writel(stat, i2c->regs + S3C2410_IICSTAT);   内核此处将IICSTAT寄存 ...

内核已经包含了IIC驱动了,不需要额外编写啊。
超时一般是IIC初始化有问题,
1、可能是24C02匹配的上拉电阻的阻值(因为我们的IIC总线上挂载了多个IIC的设备,都操作正常,这个基本上可以排除)。
2、可能是软件初始化有问题。
 楼主| nettui 发表于 2013-6-21 11:07:06 | 显示全部楼层
亚瑟王 发表于 2013-6-21 09:15
内核已经包含了IIC驱动了,不需要额外编写啊。
超时一般是IIC初始化有问题,
1、可能是24C02匹配的上拉 ...

IIC总线驱动是/driver/i2c/buses/i2c-s3c2410.c  ,at24l02的设备驱动程序是不是没有提供啊?所以我才想编写下AT24L02的设备驱动程序啊
亚瑟王 发表于 2013-6-21 15:04:57 | 显示全部楼层
nettui 发表于 2013-6-21 11:07
IIC总线驱动是/driver/i2c/buses/i2c-s3c2410.c  ,at24l02的设备驱动程序是不是没有提供啊?所以我才想编 ...

24C02使用的是IIC驱动,用应用程序来实现读写的。天嵌科技提供有参考的例子程序的。本论坛可以下载的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-5-2 06:57 , Processed in 1.062500 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表