环境:
- HelperA64开发板
- Linux3.10内核
- 主机:ubuntu16.04
目标:PCF8563实时时钟驱动的使用
问题:因为pcf8563的驱动是linux内核自带的,网上也有很多分析的方法,之后再深入分析下pcf的驱动,写驱动,得首先使用它。
一、设备树中添加设备节点
1、以前各大厂商都会有自己的arm架构代码在内核当中,而我们只需要进入相应的架构修改代码就行了,但是之后的内核发生了很大变化,就是引入了设备树,首先如下图,我这样加PCF8563设备在设备树中
2、修改内核配置,增加pcf8563驱动。
make menuconfig ARCH=arm64
编译开机还是没有检测到RTC的信息。
二、查询问题
在内核里找到驱动代码,通过调试,发现代码没有进入probe函数,所以我们上面加入设备树中设备不成功。
在开发板通过以下命令知道TWI就是I2C。
find / -name device
查出如下图所示
i2cdetect -y 0
三、解决问题
在TWI下加入我们的pcf8563设备和设置好address-cells和size-cells,如下图
四、成功打印