10. RTC¶
10.1. Introduction¶
AIO-3588L development BOARD uses HYM8563 as RTC(Real Time Clock), HYM8563 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.The maximum bus speed is 400Kbits/s, after each read and write data, the embedded word address register will automatically increment
- 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 
10.2. Driver RTC¶
Driver Reference: kernel-5.10/drivers/rtc/rtc-hym8563.c
10.3. Interface usage¶
Linux provides three user-space call interfaces. The corresponding path in the AIO-3588L development board is:
- SYSFS Interface : - /sys/class/rtc/rtc0/
- PROCFS Interface : - /proc/driver/rtc
- IOCTL Interface : - /dev/rtc0
10.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
10.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
10.3.3. IOCTL Interface¶
You can use ioctl to control /dev/rtc0.
Please refer to the document rtc.txt for detailed instructions.
