Jetson Nano Development board and RTC

Hello,

Searching around the net and on NVIDIA forums I see some people claim they had success with adding RTC battery to Nano. Here is what I just tried a couple of hours ago. I have Development board B revision.

After soldering RTC battery holder and inserting non rechargable CR1220 battery (I ordered several CR1225 online I will use these when I get them), I booted with the latest L4T created with the SDK manager. Nano is connected to the network so system time is synced automatically soon after boot.
I can see two RTC clocks in the kernel log

[ 0.580246] vdd-rtc: 850 1100 mV at 1000 mV
[ 0.616673] camchar: rtcpu character device driver loaded
[ 1.693318] max77686-rtc max77620-rtc: rtc core: registered max77620-rtc as rtc0
[ 1.695787] rtc rtc1: alarm rtc device
[ 1.695809] tegra_rtc 7000e000.rtc: rtc core: registered 7000e000.rtc as rtc1
[ 1.695840] tegra_rtc 7000e000.rtc: Tegra internal Real Time Clock
[ 1.916831] tegra_rtc 7000e000.rtc: setting system clock to 2000-01-01 01:00:16 UTC (946688416)

Here is timedatectl after booting without any modification

Local time: Tue 2020-11-24 20:47:53 CST
Universal time: Wed 2020-11-25 01:47:53 UTC
RTC time: Sat 2000-01-01 01:07:26
Time zone: America/New York (CST, -0500)
System clock synchronized: no
systemd-timesyncd.service active: yes
RTC in local TZ: no

Now if I query each RTC by running

sudo hwclock -r -f /dev/rtc0 or
sudo hwclock -r -f /dev/rtc1

I get
1999-12-31 19:01:40.380424-0600
which is different then output from timedatectl
RTC time: Sat 2000-01-01 01:07:26

Next, I force rtc0 from system time

sudo hwclock -w -f /dev/rtc0

and run timedatectl again.

I see RTC time did not change. It will shows year 2000.

Next, I update rtc1 from system time using

sudo hwclock -w -f /dev/rtc1

and run timedatectl again.
Now I see RTC is changed and looks correct.

Next, I shutdown Nano, disconnect all cables from it leaving it for 30 min or so unplugged with CR
Next, I boot up with a disconnected Ethernet cable and no WIFE. (I log-in through UART since running headless)

Now I check timedatectl it it shows again 2000. When reading each rtc0 or rtc1 device and I see then set back to 1999

I did check the battery. It is brand new from the store. I also checked with a voltmeter. It was ~3.1V but soon I will have pack of CR1225.

Any ideas? Am I missing something?

1 Like

@oxoocoffee
Please share the picture of your base board with battery holder and also dimension of CR1220 battery.

Here it is


12.41mm

@rkasirajan Do you see anything unusual?

The D64 should be stuffed with 40V/3A Schottky Diode to get RTC working. Please refer attached pictures for location of Diode on base board, RTC schematic and Diode spec.

@rkasirajan
I will order one and report when I install and verify it works.
Also looks like I am also missing C5 cap. Not sure if I have one. Can this be replaced with any other value?

Ok I added just just the dido and non rechargeable battery. After setting time and leaving board overnight looks like time if correct. I booted without LAN/internet connected.
Thank you