Re: DS3231 RTC module not detected
- In reply to: Brian Scott : "Re: DS3231 RTC module not detected"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 20 Feb 2022 11:42:47 UTC
On 19.02.2022 6:01, Brian Scott wrote: > On 19/2/22 9:52 am, Daniel O'Connor wrote: >> >>> On 19 Feb 2022, at 00:52, Archimedes Gaviola >>> <archimedes.gaviola@gmail.com> wrote: >>> Thanks for the info! I followed similar with your DS1307 RTC by >>> creating a ds3231.dtso file and then compiling it with dtc to >>> generate a ds3231.dtbo. The result is it is detected as MAX77620 RTC >>> on 0xd0 address but when I run an i2c scan, the address detected is >>> 68. Does this should match? >> Mine was detected similarly: >> iic0: <I2C generic I/O> on iicbus0 >> rtc0: <MAX77620 RTC> at addr 0xd0 on iicbus0 >> usbus0: 5.0Gbps Super Speed USB v3.0 >> rtc0: registered as a time-of-day clock, resolution 1.000000s >> >> I am not sure why it shows up like that but it does seem to work. >> >>> With this setup I could update the date and time now by initiating an >>> ntpdate to match our time plus invoking tzsetup command for my >>> timezone which is doing well without any issue. Now, the moment I >>> shutdown the system and plug back the power cable (with disconnected >>> Ethernet cable just to make sure NTP servers are not called for >>> updates upon restart) the time remains as it was before shutting down >>> and then upon bootup system clock continues. I am expecting that it >>> should be real time even if the RPi4 system is shutdown or detached >>> from power due to the battery that will sustain the continuity of the >>> clock. I'm sure that I'm having good DS3231 modules as I also tested >>> my existing and another new spare and it is tested with OpenBSD too. >>> Below are the system info. Is there anything I've missed? FreeBSD >>> 13.0-RELEASE have the same outcome and behavior. >> That is strange, I tested powering mine off and it kept time but I am >> not 100% sure it was advancing correctly - I didn't take a precise >> note of when I powered it off etc.. >> >> Unfortunately it's not physically with me so I can't test it right now. >> >> I do note this sysctl: >> machdep.rtc_save_period: Save system time to RTC with this period (in >> seconds) >> >> Which suggests to me that the clock could be up to 30 minutes off if >> the power is removed (I believe it gets flushed out on a clean >> shutdown though). Perhaps that is the problem? >> >> -- >> Daniel O'Connor >> "The nice thing about standards is that there >> are so many of them to choose from." >> -- Andrew Tanenbaum >> >> > Hi people, > > I had the same problem a few months ago. > > The MAX77620 driver introduced for an NVIDIA TEGRA210 system seems to > unilaterally claim anything at address 68. It doesn't understand the > DS3231 and fails to operate properly, but in claiming the device, the > ds3231 driver doesn't get a chance. This is compounded by the MAX77620 > driver being compiled into the kernel by default so the loadable module > doesn't get to try until after the wrong driver has claimed it. > > The only answer at present is to build a custom kernel without the > unwanted driver. My kernel config is: > > include GENERIC > ident GENERIC-PI > nooptions SOC_NVIDIA_TEGRA210 > > Ideally, the TEGRA210 code would be fixed or removed from the GENERIC > kernel but that doesn't seem to have happened despite the adverse effect > on the many clock devices that live at address 68 and will already be in > use. > > I dislike building a custom kernel because everything else I do strives > to use precompiled binaries whenever possible. > > Cheers, > > > Brian > > Thanks for report, it should be fixed in a534b50e245d Michal