从原理图可知,yy3568外挂一个RTC芯片AT8563,挂在I2C5上,中断脚位GPIO0_D3,却可输出 32.768kHz的时钟信号。
AT8563是一种实时时钟芯片,用于提供精确的时间和日期信息。它是一种低功耗设备,常用于嵌入式系统、电子设备和计算机等领域。AT8563可以通过I2C接口与主控芯片或微处理器连接,通过内部晶体振荡器来追踪时间,并提供精确的时钟功能。它通常用于记录事件时间戳、计时、闹钟功能和系统电源管理等应用场景。
AT8563和hym8563是完全可以替换的,所以我们在适配驱动的时候,直接使用hym8563驱动
&i2c5 {
status = "okay";
hym8563: hym8563@51 {
compatible = "haoyu,hym8563";
reg = <0x51>;
pinctrl-names = "default";
pinctrl-0 = <&rtc_int>;
interrupt-parent = <&gpio0>;
interrupts = <RK_PD3 IRQ_TYPE_LEVEL_LOW>;
};
};
通过menuconfig打开CONFIG_RTC_DRV_HYM8563
以上配置完成之后,就可以在/sys/class/rtc/ 下看到rtcN的。
AT8563注册在RTC1。
通过hwclock -r -f /dev/rtc1 读取rtc时钟
如果芯片没有同步时间时,驱动会提示:没有可用的有效时钟/日历值
通过hwclock -w -f /dev/rtc1 同步时间并写入到RTC中
再次通过hwclock -r -f /dev/rtc1 读取rtc时钟,就有对应时钟