因主控没有集成 RTC 功能,需要外挂时钟芯片 PCF8563 -- i2c通讯;
把原厂提供的驱动添加完成后,可以板上 i2c0 下找到对应节点(PCF8563 挂在 i2c0 下),同时 dev 下也多了个设备 rtc0,执行操作 rtc 时钟命令 #hwclock ,返回读错误。(没有正确添加驱动前执行#hwclock 会提示找不到设备)
#dmesg 查找到读写PCF8563 超时
使用逻辑分析仪探测主控 i2c0 接口,结果是无信号输出;
找原厂分析结论是可能接口复用选择错误:
i2c-padmux的值需修改为2
/*
* padmux: 1 -> PAD_I2C0_SCL, PAD_I2C0_SDA
* 2 -> PAD_PWM0, PAD_PWM1
* 3 -> PAD_SR_IO00, PAD_SR_IO01
*/
i2c-padmux = <2>;
按要求修改后 #hwclock 能获取到时间,断电再上电时间可以保存,时间不再是1970年。