当前位置: 首页 > article >正文

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

&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 的日期和时间:

# 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

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

IOCTL接口
可以使用ioctl控制 /dev/rtc0。


http://www.kler.cn/a/288152.html

相关文章:

  • 【Qt】报错error: undefined reference to `vtable for的最简单解决
  • 【环境配置】macOS配置jdk与maven
  • Kafka-Eagle的配置——kafka可视化界面
  • element plus的表格内容自动滚动
  • 网络原理-网络层和数据链路层
  • mysql每日一题(上升的温度,date数据的计算)
  • 记录游戏高光时刻!4款电脑录屏工具分享
  • 牧野机床采集数据
  • 【Linux内存】Linux的内存管理机制
  • 3、DjangoAdmin导出excel和csv文件
  • win10系统 mysql8 免安装版配置启动
  • 高教社杯数模竞赛特辑论文篇-2016年A题:系泊系统设计(续)(附MATLAB代码实现)
  • 获得SSH秘钥和SSL环境的可见性和控制权
  • MT3608L 2.5A,高效率1.2MHz电流模式升压转换器芯片IC
  • WPF在ListBox内嵌入panel然后数据绑定中加入CheckBox
  • R18 XR :NR L2 enhancement
  • 用友U8 CRM exportdictionary.php SQL注入漏洞复现
  • 机械学习—零基础学习日志(如何理解概率论12)
  • 【Hadoop】电脑虚拟机开启/关闭Hadoop的操作
  • Python大数据之Hadoop学习——day07_Hive分区表和分桶表
  • 哨兵排序算法
  • Linux 动态库和静态库
  • Type-C接口诱骗取电快充方案
  • SAPUI5基础知识25 - 聚合绑定(Aggregation Binding)
  • 温馨网站练习运用
  • 【位运算】--- 初阶题目赏析