[ROC-RK3568-PC] [Firefly-Android] 10min带你了解RTC的使用

  • 博主主页: 【Systemcall小酒屋】
  • 博主追寻:热衷于用简单的案例讲述复杂的技术,“假传万卷书,真传一案例”,这是林群院士说过的一句话,另外“成就是最好的老师”,技术既要沉淀,也得分享,成就感的正反馈是支持我持续耕耘的动力!
  • 专栏目录: 【Firefly-RK356x板卡】
  • 专栏说明:基于Firefly旗下的RK356x板卡进行入门篇讲述,欢迎订阅,博主会持续更新!

文章目录

    • 一、HYM8563模块
    • 二、HYM8563模块
    • 三、接口使用
      • 3.1 sysfs 接口
      • 3.2 procfs 接口
      • 3.3 ioctl 接口

一、HYM8563模块

ROC-RK3568-PC开发板采用HYM8563作为RTC(Real Time Clock)。

[ROC-RK3568-PC] [Firefly-Android] 10min带你了解RTC的使用_第1张图片

HYM8563是一款低功耗CMOS实时时钟/日历芯片,它提供一个可编程的时钟输出,一个中断输出和一个掉电检测器,所有的地址和数据都通过I2C总线接口串行传递。最大总线速度为 400Kbits/s,每次读写数据后,内嵌的字地址寄存器会自动递增。

  • 可计时基于 32.768kHz 晶体的秒,分,小时,星期,天,月和年

  • 宽工作电压范围:1.0~5.5V

  • 低休眠电流:典型值为 0.25μA(VDD =3.0V, TA =25°C)

  • 内部集成振荡电容

  • 漏极开路中断引脚

二、HYM8563模块

Android SDK中的DTS配置参考: kernel/arch/arm64/boot/dts/rockchip/rk3568-firefly-port.dtsi

&i2c5 {
        status = "okay";

        hym8563: hym8563@51 {
                status = "okay";
                compatible = "haoyu,hym8563";
                reg = <0x51>;
                #clock-cells = <0>;
                rtc-irq-gpio = <&gpio0 RK_PD3 IRQ_TYPE_EDGE_FALLING>; // 下降沿中断
                clock-frequency = <32768>;
        };
};

驱动参考:kernel/drivers/rtc/rtc-hym8563.c

三、接口使用

Android 提供了三种用户空间调用接口。在 ROC-RK3568-PC开发板中对应的路径为:

  • sysfs接口:/sys/class/rtc/rtc0/

  • procfs接口: /proc/driver/rtc

  • ioctl接口: /dev/rtc0

3.1 sysfs 接口

可以直接使用 catecho 操作 /sys/class/rtc/rtc0/ 下面的接口。

比如查看当前 RTC 的日期和时间:

# cat /sys/class/rtc/rtc0/date
2021-03-10
# cat /sys/class/rtc/rtc0/time
03:35:01

设置开机时间,如设置 120 秒后开机:

#120秒后定时开机
echo +120 > /sys/class/rtc/rtc0/wakealarm
# 查看开机时间
cat /sys/class/rtc/rtc0/wakealarm
#关机
reboot -p

3.2 procfs 接口

打印 RTC 相关的信息:

# cat /proc/driver/rtc
rtc_time	: 03:36:05
rtc_date	: 2021-03-10
alrm_time	: 03:37:59
alrm_date	: 2021-03-10
alarm_IRQ	: yes
alrm_pending	: no
update IRQ enabled	: no
periodic IRQ enabled	: no
periodic IRQ frequency	: 1
max user IRQ frequency	: 64
24hr		: yes

3.3 ioctl 接口

可以使用 ioctl 控制 /dev/rtc0

详细使用说明可参考文档 kernel/Documentation/rtc.txt

你可能感兴趣的:(rk3568,嵌入式,设备树,rtc,hy8563)