RK3568 驱动RTC 使用

一、简介

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

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

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

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

内部集成振荡电容

漏极开路中断引脚

二、RTC驱动

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

bash 复制代码
&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

三、接口使用

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

SYSFS接口:/sys/class/rtc/rtc0/

PROCFS接口: /proc/driver/rtc

IOCTL接口: /dev/rtc0

SYSFS接口

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

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

bash 复制代码
# cat /sys/class/rtc/rtc0/date
2021-03-10
#cat /sys/class/rtc/rtc0/time
03:35:01

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

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

PROCFS 接口

打印 RTC 相关的信息:

bash 复制代码
# 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

IOCTL接口

可以使用ioctl控制 /dev/rtc0。

相关推荐
Brilliantwxx5 小时前
【STM32】 NVIC 与 EXTI 中断 · 超详细源码级解析
stm32·单片机·嵌入式硬件
加载力科技6 小时前
硬盘咔咔响是坏盘信号!赶在数据丢失前克隆换盘:不重装系统、不丢文件
windows·嵌入式硬件·系统安全·策略模式·命令模式·硬盘
顺顺 尼6 小时前
linux 进程信号(上)
linux·c++·算法
niuTaylor7 小时前
飞腾 FT-2000/4 Ubuntu 内存卡 / NVMe SSD 系统制作完整指南
linux·服务器·人工智能·驱动开发·单片机
思茂信息7 小时前
CST软件BCI仿真模型及仿真案例
开发语言·单片机·嵌入式硬件·算法·emc
傲世仙尊8 小时前
信号量环形队列与线程池起步-把临界资源拆成很多份
linux
Huangjin007_8 小时前
【Linux 系统篇(二十五)】文件(二) 系统文件I/O详解
linux·运维·服务器
李永奉8 小时前
中科蓝讯SDK开发-BT897X、BT891X、AB573X、AB572X 系列 触摸按键提示音功能实现
网络·单片机·嵌入式硬件·mcu·物联网
ShineWinsu8 小时前
对于ProtoBuffer:ProtoBuffer的介绍以及安装
linux·网络·google·协议·序列化·反序列化·protobuffer
FlightYe9 小时前
视界原理之2D视频(二):视频文件里有什么
android·linux·网络·c++·ffmpeg·音视频·aac