Short version: where are the device trees overlays to activate the RTC, eg dtoverlay=i2c-rtc,ds1307
?
Lots of details
- Added the appropriate overlays to
uEnv.txt
to activate i2c:
overlays=meson-g12a-uart-ao-a-on-gpioao-0-gpioao-1 meson-g12a-i2c-ee-m3-gpioa-14-gpioa-15 meson-g12a-uart-ao-b-on-gpioao-8-gpioao-9
-
i2c-tools
is installed and detects the bus and RTC:
root@zero:~# i2cdetect -l
i2c-3 i2c Meson I2C adapter I2C adapter
i2c-5 i2c DesignWare HDMI I2C adapter
root@zero:~# i2cdetect -y 3
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- 22 -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: 50 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- 68 -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
- I’ve informed the kernel about this new device:
root@zero:~# echo ds1307 0x68 > /sys/class/i2c-adapter/i2c-3/new_device
root@zero:~# dmesg | tail -2
[51258.026228] i2c i2c-3: new_device: Instantiated device ds1307 at 0x68
[51258.054499] rtc-ds1307 3-0068: registered as rtc1
root@zero:~# i2cdetect -y 3
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- 22 -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: 50 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- UU -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
- The clock can be accessed with the
hwclock
tool:
root@zero:~# hwclock --rtc /dev/rtc1 --systohc
root@zero:~# hwclock --rtc /dev/rtc1 --show
2022-03-04 11:44:43.254984-08:00
- On a raspberry pi, there are i2c-rtc overlays:
root@pi4:~ # find /boot/overlays/ -iname \*rtc\*
/boot/overlays/i2c-rtc-gpio.dtbo
/boot/overlays/i2c-rtc.dtbo
/boot/overlays/spi-rtc.dtbo
- Unfortunately I see no such overlays on my zero
root@zero:~# find /boot -iname \*rtc\* | wc -l
0