Hi3515——关于I2C和DS1339

来源:互联网 发布:淘宝top排行榜在哪里 编辑:程序博客网 时间:2024/05/16 10:49

from   http://blog.csdn.net/wolfliuming/article/details/6400378


Hi3515的RTC模块貌似有BUG,文档上建议不要使用,所以只能外扩一个DS1339来作为实时时钟,但是找到海思给的linux源码,I2C和DS1339的驱动都没改,在make menuconfig里面改了一下,/dev目录下没反应,只能跟到bus_for_each_dev函数中,发现DS1339的驱动压根就么有挂到I2C的设备链表中,更纠结的是,连I2C的设备描述符都么有,悲剧鸟,难不成就像之前的串口一样又要自己动手。。。

仔细想了想,不对,我们A/D那块也是用I2C控制的,如果I2C不正常工作的话那A/D是如何正常工作的呢,但是这里的确么有I2C的设备描述符啊,继续寻找,原来海思没有直接在linux的源码上改,自己另外写了I2C驱动,而且是和linux源码独立的,然后编译成ko文件加载的,怪不得呢,这样就解决了I2C的问题,但是DS1339的驱动还是要动手啊,只要仿照A/D那块自己写一个就OK了,抓过那块的源码过来看,发现就是一些对寄存器的操作,这时终于明白了,如果可以直接对寄存器操作的话连驱动不都省了么。。。
赶紧动手试一下,找到DS1339的手册,直接读DS1339的寄存器,果然可以,试了下,时间走的很正常,而且也可以设置,哈哈,问题解决,over。。。
0 0