summaryrefslogtreecommitdiff
path: root/static/freebsd/man4/ds3231.4 3.html
blob: 6db7c133c96d1798804126a2a37ed0e304d5a814 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
<table class="head">
  <tr>
    <td class="head-ltitle">DS3231(4)</td>
    <td class="head-vol">Device Drivers Manual</td>
    <td class="head-rtitle">DS3231(4)</td>
  </tr>
</table>
<div class="manual-text">
<section class="Sh">
<h1 class="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h1>
<p class="Pp"><code class="Nm">ds3231</code> &#x2014; <span class="Nd">Extremely
    Accurate i2c-integrated real-time clock (RTC)/TCXO/Crystal</span></p>
</section>
<section class="Sh">
<h1 class="Sh" id="SYNOPSIS"><a class="permalink" href="#SYNOPSIS">SYNOPSIS</a></h1>
<p class="Pp"><code class="Cd">device iic</code>
  <br/>
  <code class="Cd">device iicbus</code>
  <br/>
  <code class="Cd">device ds3231</code></p>
</section>
<section class="Sh">
<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1>
<p class="Pp">The <code class="Nm">ds3231</code> is a low-cost, extremely
    accurate I2C realtime clock (RTC) with an integrated temperature-compensated
    crystal oscillator (TCXO) and crystal.</p>
<p class="Pp">The device incorporates a battery input and maintains accurate
    timekeeping when main power to the device is interrupted.</p>
<p class="Pp">Access to <code class="Nm">ds3231</code> data is made with the
    <a class="Xr">sysctl(8)</a> interface:</p>
<div class="Bd Pp Li">
<pre>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</pre>
</div>
<dl class="Bl-tag">
  <dt id="dev.ds3231._d.temperature"><var class="Va">dev.ds3231.%d.temperature</var></dt>
  <dd>The read-only value of the current temperature read by the RTC.</dd>
  <dt id="dev.ds3231._d.temp_conv"><var class="Va">dev.ds3231.%d.temp_conv</var></dt>
  <dd>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.</dd>
  <dt id="dev.ds3231._d.bbsqw"><var class="Va">dev.ds3231.%d.bbsqw</var></dt>
  <dd>If set to 1 and <var class="Va">dev.ds3231.%d.sqw_mode</var> 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.</dd>
  <dt id="dev.ds3231._d.sqw_freq"><var class="Va">dev.ds3231.%d.sqw_freq</var></dt>
  <dd>Select the frequency of the SQW pin when the square-wave output is enabled
      on <var class="Va">dev.ds3231.%d.sqw_mode</var>. It can be set to 1, 1024,
      4096, and 8192.</dd>
  <dt id="dev.ds3231._d.sqw_mode"><var class="Va">dev.ds3231.%d.sqw_mode</var></dt>
  <dd>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 <var class="Va">dev.ds3231.%d.sqw_freq</var>
      frequency.</dd>
  <dt id="dev.ds3231._d.32khz_enable"><var class="Va">dev.ds3231.%d.32khz_enable</var></dt>
  <dd>Enable the 32kHz output.</dd>
</dl>
<p class="Pp">Please check the <code class="Nm">ds3231</code> datasheet for more
    details.</p>
<p class="Pp">On a <a class="Xr">device.hints(5)</a> based system, such as
    <code class="Li">MIPS</code>, these values are configurable for
    <code class="Nm">ds3231</code>:</p>
<dl class="Bl-tag">
  <dt id="hint.ds3231._d.at"><var class="Va">hint.ds3231.%d.at</var></dt>
  <dd>The <a class="Xr">iicbus(4)</a> that the <code class="Nm">ds3231</code> is
      connected to.</dd>
  <dt id="hint.ds3231._d.addr"><var class="Va">hint.ds3231.%d.addr</var></dt>
  <dd>The 8-bit i2c address of <code class="Nm">ds3231</code>. The default 8-bit
      address for <code class="Nm">ds3231</code> is 0xd0.</dd>
</dl>
<p class="Pp">On a <a class="Xr">FDT(4)</a> based system the following
    properties must be set:</p>
<dl class="Bl-tag">
  <dt id="compatible"><var class="Va">compatible</var></dt>
  <dd>Must always be set to &quot;maxim,ds3231&quot;.</dd>
  <dt id="reg"><var class="Va">reg</var></dt>
  <dd>The 7-bit i2c address of <code class="Nm">ds3231</code>. The default 7-bit
      address for <code class="Nm">ds3231</code> is 0x68.</dd>
</dl>
</section>
<section class="Sh">
<h1 class="Sh" id="SEE_ALSO"><a class="permalink" href="#SEE_ALSO">SEE
  ALSO</a></h1>
<p class="Pp"><a class="Xr">fdt(4)</a>, <a class="Xr">iic(4)</a>,
    <a class="Xr">iicbus(4)</a>, <a class="Xr">sysctl(8)</a></p>
</section>
<section class="Sh">
<h1 class="Sh" id="HISTORY"><a class="permalink" href="#HISTORY">HISTORY</a></h1>
<p class="Pp">The <code class="Nm">ds3231</code> driver first appeared in
    <span class="Ux">FreeBSD 11.0</span>.</p>
</section>
<section class="Sh">
<h1 class="Sh" id="AUTHORS"><a class="permalink" href="#AUTHORS">AUTHORS</a></h1>
<p class="Pp">The <code class="Nm">ds3231</code> driver and this manual page
    were written by <span class="An">Luiz Otavio O Souza</span>
    &lt;<a class="Mt" href="mailto:loos@FreeBSD.org">loos@FreeBSD.org</a>&gt;.</p>
</section>
</div>
<table class="foot">
  <tr>
    <td class="foot-date">December 10, 2024</td>
    <td class="foot-os">FreeBSD 15.0</td>
  </tr>
</table>