DS3231(4)

NAME
ds3231 - Extremely Accurate i2c-integrated real-time clock (RTC)/TCXO/Crystal

SYNOPSIS
device iic
device iicbus
device ds3231

DESCRIPTION
The ds3231 is a low-cost, extremely accurate I2C realtime clock (RTC) with an integrated temperature-compensated crystal oscillator (TCXO) and crystal.

The device incorporates a battery input and maintains accurate timekeeping when main power to the device is interrupted.

Access to ds3231 data is made with the sysctl(8) interface:

    dev.ds3231.0.%desc: Maxim DS3231 RTC
    dev.ds3231.0.%driver: ds3231
    dev.ds3231.0.%location: addr=0xd0
    dev.ds3231.0.%pnpinfo: name=rtc compat=maxim,ds3231
    dev.ds3231.0.%parent: iicbus1
    dev.ds3231.0.temperature: 23.2C
    dev.ds3231.0.temp_conv: 0
    dev.ds3231.0.bbsqw: 0
    dev.ds3231.0.sqw_freq: 8192
    dev.ds3231.0.sqw_mode: interrupt
    dev.ds3231.0.32khz_enable: 1

dev.ds3231.%d.temperature
    The read-only value of the current temperature read by the RTC.

dev.ds3231.%d.temp_conv
    Start a new temperature conversion. When read as 1, a temperature conversion is in progress. When read as 0 and then set to 1, a temperature conversion is started. The temperature conversion runs automatically on power up and once every 64 seconds afterward.

dev.ds3231.%d.bbsqw
    If set to 1 and dev.ds3231.%d.sqw_mode is set to square-wave, battery-backed square-wave output is enabled. If set to 0, the SQW pin will be set to high impendance when the RTC is being powered by battery.

dev.ds3231.%d.sqw_freq
    Select the frequency of the SQW pin when the square-wave output is enabled on dev.ds3231.%d.sqw_mode. It can be set to 1, 1024, 4096, and 8192.

dev.ds3231.%d.sqw_mode
    Set the operation mode for the SQW pin. It can be set to 'interrupt' (default) or 'square-wave'. In interrupt mode, the SQW pin is used to generate interrupts for the RTC alarms. In square-wave mode, the SQW pin drives a square-wave of dev.ds3231.%d.sqw_freq frequency.

dev.ds3231.%d.32khz_enable
    Enable the 32kHz output.

Please check the ds3231 datasheet for more details.

On a device.hints(5) based system, such as MIPS, these values are configurable for ds3231:

hint.ds3231.%d.at
    The iicbus(4) that the ds3231 is connected to.

hint.ds3231.%d.addr
    The 8-bit i2c address of ds3231. The default 8-bit address for ds3231 is 0xd0.

On a FDT(4) based system the following properties must be set:

compatible
    Must always be set to "maxim,ds3231".

reg The 7-bit i2c address of ds3231. The default 7-bit address for ds3231 is 0x68.

SEE ALSO
fdt(4), iic(4), iicbus(4), sysctl(8)

HISTORY
The ds3231 driver first appeared in FreeBSD 11.0.

AUTHORS
-nosplit The ds3231 driver and this manual page were written by Luiz Otavio O Souza <loos@FreeBSD.org>.