IMX6的LINUX下的IIC驱动(一)

IMX6的LINUX下的IIC驱动(一)

这一篇主要是使用IMX6处理器驱动AT24C16(24LC16B)芯片。第一篇介绍设备驱动层:

1.IMX6的IIC控制器

IMX6有三个IIC控制器。
IMX6芯片手册截图
我在这里使用的是IIC3控制器。

2.IIC3总线上挂接的其他芯片

2.1 RX8025-SA时钟芯片

RX8025-SA

RX8025-SA地址

根据RX8025-SA芯片手册,确定RX8025-SA的IIC地址使用的是0x32。为什么不是0x60???因为最后一位是读写位,在linux中右移一位,就是0x32了,在具体发送时,如果是读就会发送0x65,写的话发送0x64。

2.2 ts2003芯片

在我使用的开发板中IIC3还连接这触摸屏要用到的芯片。

ts2003

ts2003地址

ts2003地址就不重复说啦。。。

2.3 AT24C16芯片

在我使用的开发板中,没有实际的AT24C16芯片,我将IIC3的SDA与SCL两个引脚引出,自己焊接了一块AT24C16的最小单元,并且A2/A1/A0都接地。

AT24C16地址

AT24C16的地址为0x50。

3.IIC3总线设备树文件修改

在imx6qdl-sabresd.dtsi文件中找到&i2c3。添加上AT24C16信息。如下:
i2c3

compatible的字符串为:”at24cxx”。之后的match就是匹配的该字符串。

4.IIC3设备驱动

#include <linux/module.h>
#include <linux/init.h>
#include <linux/cdev.h>
#include <linux/fs.h>
  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值