8. RTC¶
8.1. Introduction¶
ROC-RK3576-PC development BOARD uses TT8563RH as RTC(Real Time Clock), TT8563RH is a low power CMOS real-time Clock/calendar chip, it provides a programmable Clock output, an interrupt Output and a power down detector, all addresses and data are passed serially through the I2C bus interface.
Timing can be based on 32.768kHz crystals in seconds, minutes, hours, weeks, days, months and years
Wide working voltage range :1.0~5.5V
Low resting current: Typical 0.25μA(VDD =3.0V, TA =25°C)
Internal integrated oscillating capacitor
drain open circuit interrupt pin
ROC-RK3576-PC has a capacitor to supply power to the RTC as shown in the following figure to ensure that the RTC runs in a short time.
8.2. Driver RTC¶
DTS Reference: kernel/arch/arm64/boot/dts/rockchip/ROC-RK3576-PC.dts.dtsi
Driver Reference: kernel/drivers/rtc/rtc-hym8563.c
8.3. Interface usage¶
Linux provides three user-space call interfaces. The corresponding path in the ROC-RK3576-PC development board is:
SYSFS Interface :
/sys/class/rtc/rtc0/
PROCFS Interface :
/proc/driver/rtc
IOCTL Interface :
/dev/rtc0
8.3.1. SYSFS Interface¶
You can directly use the interface below cat
and echo
operations /sys/class/rtc/rtc0/
.
For example, check the date and time of the current RTC:
# cat /sys/class/rtc/rtc0/date
2013-01-18
# cat /sys/class/rtc/rtc0/time
09:36:10
Set the startup time, such as starting up after 120 seconds:
#Start the machine regularly after 120 seconds
echo +120 > /sys/class/rtc/rtc0/wakealarm
# View boot time
cat /sys/class/rtc/rtc0/wakealarm
#To turn it off
reboot -p
8.3.2. PROCFS Interface¶
Print RTC related information:
# cat /proc/driver/rtc
rtc_time : 06:53:50
rtc_date : 2022-06-21
alrm_time : 06:55:05
alrm_date : 2022-06-21
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
8.3.3. IOCTL Interface¶
You can use ioctl
to control /dev/rtc0
.
Please refer to the document rtc.txt
for detailed instructions.