Re: DS3231 RTC module not detected

Archimedes Gaviola <[email protected]>
Newsgroups gmane.os.freebsd.devel.arm
Message-ID <CAJFbk7HdJDSNU0R1nNNMJsOePLpRb2=q9+OJOBTB8Boe6Ba6Ow@mail.gmail.com>
On Mon, Feb 21, 2022 at 4:01 PM Daniel O'Connor <[email protected]> wrote:

>
>
> > On 20 Feb 2022, at 14:59, Archimedes Gaviola <
> [email protected]> wrote:
> >> When you say "with the exact DS3231 driver.." what do you mean?
> >
> > I mean the appropriate DS3231 driver - ds3231(4) for the module which is
> a kernel loadable as the dominating driver with 13.0-RELEASE and
> 14.0-CURRENT which is MAX77620 RTC is the wrong one thus the module will
> not work properly. The clock stops and goes back to the time when you set
> it. This behavior is observable when my RPi system is rebooted or shutdown.
> With the loadable  ds3231 driver, this behavior is no longer observed and
> working as expected. For your DS1307, there's also an equivalent and
> perhaps the appropriate driver as described in the manual ds1307(4), it can
> be loaded as well via kldload.
>
> I tried loading ds1307.ko in the loader but it has no effect on the result
> - still shows up as a MAX77620 for me.
>
> I haven't tested pulling the power yet as I'm remote from it.
>

Did you re-compile your kernel? Brian has shared his resolution on
customizing the GENERIC kernel here
https://lists.freebsd.org/archives/freebsd-arm/2022-February/001024.html
which allows to free-up the i2c address 0x68 which by default is being used
by the MAX77620 RTC driver from the SOC_NVIDIA_TEGRA210. So, you need to
add these lines in your kernel (I assume it's still the GENERIC otherwise
use your existing config),

include         GENERIC
ident             GENERIC-PI
nooptions     SOC_NVIDIA_TEGRA210

and then recompile. Keep your /boot/msdos/config.txt and
/boot/msdos/overlays/ds1307.dtbo files intact. After recompiling and
rebooting, you can check the dmesg if the ds1307 driver is loaded,
otherwise invoke "kldload ds1307" and see if it's detected. Add a line into
your /boot/loader.conf with ds1307_enable="YES" if necessary. Lastly,
kindly backup your data before recompiling for safety.

This is the way I do it with my ds3231 driver, hope you will get the same
result.

Thanks,
Archimedes
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.