XuSenfeng

个人站

复读了,更新随缘,有的文件不全或者图片缺失具体看我的笔记库(https://github.com/XuSenfeng/note)


RTC

目录

RTC

Linux内核将RTC设备抽象为rtc_device结构体,因此RTC设备驱动就是申请并初始化rtc_device,最后将rtc_device注册到Linux内核里面

结构体的重点是rtc_class_ops

设备树

snvs_rtc: snvs-rtc-lp {
    compatible = "fsl,sec-v4.0-mon-rtc-lp";
    regmap = <&snvs>;
    offset = <0x34>;
    interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
};

lp就是掉电以后依旧有效

驱动文件rtc_snvs.c

使用内部的rtc

不需要配置,

imx6ul-tsc: probe of 2040000.tsc failed with error -2
snvs_rtc 20cc000.snvs:snvs-rtc-lp: rtc core: registered 20cc000.snvs:snvs-r as rtc0
i2c /dev entries driver

在初始化的时候已经完成, 作为rtc0

使用date命令进行设置时间

使用-s命令进行设置时间, 使用hwclock保存到硬件