This is an automated email from the ASF dual-hosted git repository.

github-actions[bot] pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/nuttx-website.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new 93cf07d0d2 Publishing docs: 0dcbf44487dc1327e4932521e18a0e797dbfaf00 
(web: b3ba9359c605c5e92ad2feac6444e03d16143fd3)
93cf07d0d2 is described below

commit 93cf07d0d2ab6e84920c9e8becaf506ad6acdf57
Author: Swatantra Yadav <[email protected]>
AuthorDate: Thu Oct 22 01:09:01 2026 +0000

    Publishing docs: 0dcbf44487dc1327e4932521e18a0e797dbfaf00 (web: 
b3ba9359c605c5e92ad2feac6444e03d16143fd3)
---
 .../applications/system/wifibridge/index.rst.txt   |  53 ++-
 .../os/drivers/special/power/index.rst.txt         |   2 +
 .../os/drivers/special/power/lm51772.rst.txt       | 178 +++++++++
 .../_sources/os/drivers/special/power/smps.rst.txt |  72 ++++
 .../latest/_sources/os/filesystem/index.rst.txt    |   4 +-
 .../applications/system/wifibridge/index.html      |  50 ++-
 .../components/drivers/special/power/lm51772.html  |   5 +
 .../components/drivers/special/power/smps.html     |   5 +
 .../latest/guides/programs/fully_linked_elf.html   |   2 +-
 .../guides/programs/partially_linked_elf.html      |   2 +-
 content/docs/latest/objects.inv                    | Bin 257174 -> 257473 bytes
 content/docs/latest/os/drivers/special/index.html  |  18 +
 .../drivers/special/power/battery/fakegauge.html   |   4 +-
 .../latest/os/drivers/special/power/index.html     |  18 +
 .../latest/os/drivers/special/power/lm51772.html   | 445 +++++++++++++++++++++
 .../os/drivers/special/power/power_management.html |   4 +-
 .../special/power/{index.html => smps.html}        | 153 +++++--
 content/docs/latest/os/filesystem/index.html       |   4 +-
 .../arm/stm32c0/boards/nucleo-c092rc/index.html    |  60 +--
 .../arm64/fvp-v8r/boards/fvp-armv8r/index.html     |  88 ++--
 .../arm64/zynq-mpsoc/boards/zcu111/index.html      |  60 +--
 .../boards/esp32c3-legacy-devkit/index.html        |   4 +-
 .../esp32c3/boards/esp32c3-devkit/index.html       |   6 +-
 .../esp32c6/boards/esp32c6-devkitc/index.html      |   2 +-
 .../esp32c6/boards/esp32c6-devkitm/index.html      |   2 +-
 .../esp32h2/boards/esp32h2-devkit/index.html       |   2 +-
 content/docs/latest/searchindex.js                 |   2 +-
 27 files changed, 1059 insertions(+), 186 deletions(-)

diff --git 
a/content/docs/latest/_sources/applications/system/wifibridge/index.rst.txt 
b/content/docs/latest/_sources/applications/system/wifibridge/index.rst.txt
index c5804fde6f..bca530a5bc 100644
--- a/content/docs/latest/_sources/applications/system/wifibridge/index.rst.txt
+++ b/content/docs/latest/_sources/applications/system/wifibridge/index.rst.txt
@@ -41,6 +41,9 @@ The defaults used when an option is not given on the command 
line are:
 ``CONFIG_NETUTILS_WIFIBRIDGE_DHCPD``
   Allow the ``-d`` option, which runs the DHCP server on the bridge
   (``CONFIG_NETUTILS_DHCPD``).
+``CONFIG_NETUTILS_WIFIBRIDGE_PERSIST``
+  Allow ``save`` and ``clear``, which keep the configuration across resets
+  (see `Keeping the configuration`_).
 
 Change the default passphrase before deploying a board.
 
@@ -50,9 +53,12 @@ Usage
 .. code-block:: console
 
    wifibridge start [-s <ssid>] [-p <passphrase>] [-c <channel>] [-3]
-                    [-a <ipaddr>] [-d]
+                    [-a <ipaddr>] [-d|-D]
    wifibridge stop
    wifibridge status
+   wifibridge save [-s <ssid>] [-p <passphrase>] [-c <channel>] [-3]
+                   [-a <ipaddr>] [-d|-D]
+   wifibridge clear
 
 ``start``
   Configure the Wi-Fi interface as an access point, create the bridge,
@@ -73,17 +79,58 @@ Usage
   ``-d``
     Run the DHCP server on the bridge.  Leave it out when another DHCP
     server is reachable through the Ethernet port.
+  ``-D``
+    Do not run the DHCP server.  It is the default; with ``save`` it
+    turns off a ``-d`` that was kept before.
 ``stop``
   Stop the DHCP server, remove the ports, delete the bridge and stop the
   access point.
 ``status``
   Show whether the bridge exists, its address, the state of the two
   ports and the SSID of the access point.
+``save``
+  Keep the configuration, see `Keeping the configuration`_.  It takes the
+  same options as ``start``, and does not start anything.
+``clear``
+  Forget the saved configuration.
 
 The Ethernet and Wi-Fi interfaces carry no IP address of their own: only
 the bridge does.  The Ethernet interface needs a MAC address, which a
 board without a factory programmed one has to provide.
 
+Keeping the configuration
+=========================
+
+With ``CONFIG_NETUTILS_WIFIBRIDGE_PERSIST``, ``wifibridge save`` keeps the
+SSID, the passphrase, the channel, the security, the address and the DHCP
+server option, and ``wifibridge start`` uses them instead of the defaults
+of the configuration.  The options of ``start`` still win, for that run
+only.  ``wifibridge clear`` forgets them and the defaults are used again.
+The options of ``save`` are applied over what is already saved, if there is
+something, and over the defaults otherwise.
+
+.. code-block:: console
+
+   nsh> wifibridge save -s MyBridge -p mypassphrase -c 11 -a 10.0.0.7 -d
+   nsh> reboot
+   ...
+   nsh> wifibridge start
+   nsh> wifibridge status
+   br0   present 10.0.0.7
+   eth0  up
+   wlan0 up ssid "MyBridge"
+
+The configuration is one record, with a CRC, at the start of
+``CONFIG_NETUTILS_WIFIBRIDGE_STORAGE``.  That is a file of a file system
+that is mounted at boot (the default is ``/data/wifibridge.conf``), or a block
+device, such as the MTD of a few pages of the flash (it needs ``CONFIG_BCH``
+to be opened by name).  Saving a device erases and writes the flash that
+holds it, so it should be used for this alone.  A record that is missing or
+damaged is ignored.  The passphrase is stored as is.
+
+On the PIC32MZ-W1, ``CONFIG_PIC32MZ_PROGMEM`` with ``CONFIG_MTD_PROGMEM``
+provides such a device in the last pages of the program flash.
+
 Example
 =======
 
@@ -102,7 +149,7 @@ Limitations
 * Only the access point mode is supported.  A station cannot be bridged
   at layer 2 because it cannot send frames with foreign source addresses.
 * ``start`` fails with ``EEXIST`` if the bridge already exists.
-* The SSID and the passphrase are not saved: they come from the
-  command line or from the defaults of the configuration.
+* The saved configuration does not include the names of the interfaces and
+  the netmask, which come from the configuration.
 * The rest of the limits of the bridge apply, see
   :doc:`/os/networking/bridge`.
diff --git 
a/content/docs/latest/_sources/os/drivers/special/power/index.rst.txt 
b/content/docs/latest/_sources/os/drivers/special/power/index.rst.txt
index c5eb790497..4e0561071f 100644
--- a/content/docs/latest/_sources/os/drivers/special/power/index.rst.txt
+++ b/content/docs/latest/_sources/os/drivers/special/power/index.rst.txt
@@ -8,6 +8,8 @@ Power-related Drivers
   pm/index.rst
   regulator.rst
   battery/fakegauge.rst
+  smps.rst
+  lm51772.rst
 
 .. toctree::
    :maxdepth: 1
diff --git 
a/content/docs/latest/_sources/os/drivers/special/power/lm51772.rst.txt 
b/content/docs/latest/_sources/os/drivers/special/power/lm51772.rst.txt
new file mode 100644
index 0000000000..9da293e6e5
--- /dev/null
+++ b/content/docs/latest/_sources/os/drivers/special/power/lm51772.rst.txt
@@ -0,0 +1,178 @@
+==========================================
+TI LM51772 buck-boost controller
+==========================================
+
+The LM51772 driver (``drivers/power/supply/lm51772.c``) is a lower half
+of the :doc:`SMPS driver <smps>` for the Texas Instruments LM51772 buck-boost
+controller, controlled over I2C. It is enabled with
+``CONFIG_SMPS_LM51772``, which needs ``CONFIG_DRIVERS_SMPS`` and
+``CONFIG_I2C``. The register map and the bit fields, with the names of the
+datasheet, are in ``include/nuttx/power/lm51772.h``.
+
+The converter regulates a constant output voltage (``SMPS_OPMODE_CV``, the
+only mode) with an output current limit. The driver reports the state and
+the faults, but it has no output feedback.
+
+Board interface
+===============
+
+The board registers the device with::
+
+  int lm51772_register(const char *path, const struct lm51772_config_s 
*config);
+
+and describes the hardware in ``struct lm51772_config_s``:
+
+===================== ====================================================
+Field                 Description
+===================== ====================================================
+``i2c``               I2C bus
+``frequency``         I2C frequency
+``addr``              7-bit address, 0x6a if 0
+``r_isns_mohm``       Output sense resistor, in milliohms, which sets the
+                      scale of the current limit
+``v_out_min``,        Absolute maximum ratings of the board, 0 for none.
+``v_out_max``,        See below.
+``i_out_max``,
+``p_out_max``
+``enable``, ``arg``   Callback that drives the EN/UVLO pin. It is called
+                      with interrupts disabled when switching off, so it
+                      must not sleep.
+``init``, ``ninit``   Registers written at start, in order. See below.
+===================== ====================================================
+
+Start and stop
+--------------
+
+The controller is enabled and configured by ``PWRIOC_START``, not when the
+device is opened, because the upper half calls the lower half ``setup`` with
+interrupts disabled and the configuration needs I2C:
+
+#. The ``enable`` callback is called and the driver waits 15 ms for the
+   supplies of the controller.
+#. The driver reads ``STATUS_BYTE`` to check that the controller answers.
+   Otherwise the ``enable`` callback is called again to disable it and the
+   error is returned by ``PWRIOC_START``.
+#. The registers of ``init`` are written in order, and the step of the output
+   voltage is read back from ``MFR_SPECIFIC_D8`` (``SEL_FB_DIV20``).
+#. The output voltage target and the current limit are written, and the
+   latched faults are cleared.
+#. ``CONV_EN`` and ``CONV_EN2`` are set, and ``FORCE_DISCH`` is cleared.
+
+``PWRIOC_STOP`` clears ``CONV_EN`` and ``CONV_EN2`` and sets ``FORCE_DISCH``,
+which discharges the output. When the device is closed for the last time the
+``enable`` callback disables the controller and the converter stops, so a
+program that starts it has to keep the device open while it runs.
+
+Register list
+-------------
+
+``init`` lists the registers that the board needs to change from the values
+loaded by the controller. ``MFR_SPECIFIC_D0`` is written with ``CONV_EN``
+cleared, since the power stage starts only with ``PWRIOC_START``. If the
+output voltage step is not the default one (``MFR_SPECIFIC_D8``), the entry
+must be in the list. An ``ILIM_THRESHOLD`` entry sets the current limit at
+start, when the parameters keep it, and
+``LM51772_ILIM_THRESHOLD(ma, mohm)`` computes its value.
+
+Absolute maximum ratings
+------------------------
+
+The limits (``PWRIOC_SET_LIMITS``) and the parameters (``PWRIOC_SET_PARAMS``)
+set by the application are refused with ``-EINVAL`` when they exceed the
+ratings of the board: an output voltage outside of ``v_out_min`` to
+``v_out_max``, a current above ``i_out_max``, or a power ``v_out * i_out``
+above ``p_out_max``. A current or power limit left at 0 becomes the rating.
+When the parameters keep the current limit, the current of the ``init``
+``ILIM_THRESHOLD`` entry is used for the power check.
+
+The ``ILIM_THRESHOLD`` register saturates at 70 mV across the sense resistor
+(0x8c), and a current limit that needs a higher value is refused with
+``-EINVAL``.
+
+Faults
+======
+
+The faults come from ``STATUS_BYTE``:
+
+======================= ================================
+``STATUS_BYTE``         ``smps_fault_e``
+======================= ================================
+``VOUT`` (VOUT_OV)      ``SMPS_FAULT_OVERVOLTAGE``
+``IOUT`` (IOUT_OC)      ``SMPS_FAULT_OVERCURRENT``
+``TEMPERATURE``         ``SMPS_FAULT_OVERTEMP``
+``INPUT`` (VIN_UV),     ``SMPS_FAULT_OTHER``
+``CML``, ``OTHER``
+======================= ================================
+
+``OFF`` and ``BUSY`` are not faults. A fault state is reported by
+``PWRIOC_GET_STATE`` as ``SMPS_STATE_FAULT``. The faults are latched by the
+controller: after a fault disappears, for example when the input voltage
+returns above the ``VDET`` rising threshold and the converter restarts, they
+stay set until ``PWRIOC_CLEAN_FAULT``.
+
+Hardware notes
+==============
+
+These points depend on how the board connects the controller:
+
+- The EN/UVLO pin only enables the power stage. If the ``nRST`` pin is tied to
+  the input, the logic and the I2C interface are always on while the input is
+  present, and the controller keeps its registers across an ``enable``
+  callback with false and a reset of the processor. Only removing the input
+  returns the registers to their defaults.
+- The ``MODE`` pin selects forced PWM (high) or the power save mode (low). In
+  forced PWM the current can reverse and return to the input, so a source
+  that does not sink current needs the input overvoltage protection
+  (``EN_IVP`` in ``MFR_SPECIFIC_D3`` and the threshold in ``IVP_VOLTAGE``).
+- With no external UVLO divider on the EN/UVLO pin, the ``VDET`` thresholds
+  (``VDET_FALL`` in ``MFR_SPECIFIC_D3`` and ``VDET_RISE`` in
+  ``MFR_SPECIFIC_D4``) set the input undervoltage lockout.
+- ``EN_DTRK_STARTOVER`` (``MFR_SPECIFIC_D1``) starts the converter without
+  waiting for the PWM signal of the ``DTRK`` pin. It is set at reset, and a
+  board with the pin tied low should keep it set: on such a board the converter
+  did not start again after a stop with the bit cleared.
+- ``SEL_ISET_PIN`` (``MFR_SPECIFIC_D9``, set at reset) disables the internal
+  current limit DAC, and the limit would come from a resistor on the
+  ``ILIMCOMP/ISET`` pin. A board without that resistor needs it cleared, or
+  ``ILIM_THRESHOLD`` has no effect.
+- The ``nFLT/nINT`` pin is an open drain output that is low while a fault
+  condition is active, ``OFF`` included, and high impedance when the
+  condition goes away, even if the bit stays latched in ``STATUS_BYTE``.
+
+Example
+=======
+
+A board that describes a 8 milliohm sense resistor, a 9 to 24 V output, 8 A
+and 120 W, and writes one register::
+
+  static const struct lm51772_reg_s g_init[] =
+  {
+    { LM51772_REG_MFR_SPECIFIC_D1,
+      LM51772_D1_EN_THER_WARN | LM51772_D1_EN_DTRK_STARTOVER },
+    { LM51772_REG_ILIM_THRESHOLD, LM51772_ILIM_THRESHOLD(5000, 8) }
+  };
+
+  static void board_smps_enable(void *arg, bool enable)
+  {
+    /* Drive the EN/UVLO pin */
+  }
+
+  int board_smps_init(struct i2c_master_s *i2c)
+  {
+    struct lm51772_config_s config;
+
+    config.i2c         = i2c;
+    config.frequency   = 400000;
+    config.addr        = 0;
+    config.r_isns_mohm = 8;
+    config.v_out_min   = 9.0f;
+    config.v_out_max   = 24.0f;
+    config.i_out_max   = 8.0f;
+    config.p_out_max   = 120.0f;
+    config.enable      = board_smps_enable;
+    config.arg         = NULL;
+    config.init        = g_init;
+    config.ninit       = nitems(g_init);
+
+    return lm51772_register("/dev/smps0", &config);
+  }
diff --git a/content/docs/latest/_sources/os/drivers/special/power/smps.rst.txt 
b/content/docs/latest/_sources/os/drivers/special/power/smps.rst.txt
new file mode 100644
index 0000000000..baa3974cd5
--- /dev/null
+++ b/content/docs/latest/_sources/os/drivers/special/power/smps.rst.txt
@@ -0,0 +1,72 @@
+=====================================
+Switched-Mode Power Supply (``smps``)
+=====================================
+
+The SMPS driver is split into an "upper half" character driver
+(``drivers/power/supply/smps.c``) and chip-specific "lower half" drivers.
+It is enabled with ``CONFIG_DRIVERS_SMPS``. The application interface is
+defined in ``include/nuttx/power/smps.h`` and
+``include/nuttx/power/power_ioctl.h``. A lower half registers itself with
+``smps_register()`` as ``/dev/smpsN``.
+
+Application interface
+=====================
+
+========================= ============================ ===================
+IOCTL                     Argument                     Description
+========================= ============================ ===================
+``PWRIOC_SET_MODE``       ``enum smps_opmode_e``       Select the
+                                                       operation mode
+``PWRIOC_SET_LIMITS``     ``struct smps_limits_s *``   Set the absolute
+                                                       limits
+``PWRIOC_SET_PARAMS``     ``struct smps_params_s *``   Set the output
+                                                       voltage, current
+                                                       and power
+``PWRIOC_START``          none                         Start the
+                                                       converter
+``PWRIOC_STOP``           none                         Stop the converter
+``PWRIOC_GET_STATE``      ``struct smps_state_s *``    Get the state and
+                                                       the faults
+``PWRIOC_GET_FAULT``      ``uint8_t *``                Get the faults
+``PWRIOC_SET_FAULT``      ``uint8_t``                  Set a fault
+``PWRIOC_CLEAN_FAULT``    ``uint8_t``                  Clear the latched
+                                                       faults
+========================= ============================ ===================
+
+Commands that the upper half does not know are forwarded to the ``ioctl``
+operation of the lower half.
+
+Sequence
+========
+
+#. Select a mode with ``PWRIOC_SET_MODE``. The upper half refuses
+   ``PWRIOC_START`` while the mode is ``SMPS_OPMODE_INIT``.
+#. Set the limits with ``PWRIOC_SET_LIMITS``, with ``lock`` set to true. The
+   limits can not be changed after they are locked, and the upper half
+   refuses ``PWRIOC_START`` and ``PWRIOC_SET_PARAMS`` until they are set and
+   locked.
+#. Set the parameters with ``PWRIOC_SET_PARAMS``. The upper half refuses
+   parameters above the limits with ``-EPERM``. The parameter that the mode
+   regulates must be set: ``v_out`` for ``SMPS_OPMODE_CV``, ``i_out`` for
+   ``SMPS_OPMODE_CC`` and ``p_out`` for ``SMPS_OPMODE_CP``. The parameters
+   can be set again while the converter runs, unless they are locked.
+#. Start and stop the converter with ``PWRIOC_START`` and ``PWRIOC_STOP``.
+
+The lower half ``setup`` operation is called when the device is opened for
+the first time and ``shutdown`` when it is closed for the last time, with
+interrupts disabled. The open count is kept for every open, so closing a
+descriptor does not shut the converter down while another one is open.
+
+Supported chips
+===============
+
+========== ===== ====================================================
+Chip       Bus   Notes
+========== ===== ====================================================
+LM51772    I2C   Buck-boost controller, constant voltage only. See
+                 :doc:`lm51772`.
+========== ===== ====================================================
+
+The ``b-g474e-dpow1`` and ``stm32f334-disco`` boards register an SMPS
+device that is driven by the 
:doc:`../../../../applications/examples/smps/index`
+example.
diff --git a/content/docs/latest/_sources/os/filesystem/index.rst.txt 
b/content/docs/latest/_sources/os/filesystem/index.rst.txt
index 6d26a45ad9..3df0b6b0b2 100644
--- a/content/docs/latest/_sources/os/filesystem/index.rst.txt
+++ b/content/docs/latest/_sources/os/filesystem/index.rst.txt
@@ -494,7 +494,9 @@ belonging to a unified interface:
     only the ones that are required according to the flags.
   :param int flags: A bit field that can have values including ``CH_STAT_MODE``
     , ``CH_STAT_UID``, ``CH_STAT_GID``, ``CH_STAT_ATIME`` or ``CH_STAT_MTIME``
-    which are or-ed together.
+    which are or-ed together. ``lchown()``, ``lchmod()`` and ``lutimens()``
+    also set ``CH_STAT_NOFOLLOW``: if ``relpath`` names a symbolic link, the
+    file system must change the link itself, not the file that it points to.
 
 .. c:function:: int syncfs(FAR struct inode *mountpt)
 
diff --git a/content/docs/latest/applications/system/wifibridge/index.html 
b/content/docs/latest/applications/system/wifibridge/index.html
index 349e81b034..fbfe5781ca 100644
--- a/content/docs/latest/applications/system/wifibridge/index.html
+++ b/content/docs/latest/applications/system/wifibridge/index.html
@@ -251,6 +251,7 @@
 <li class="toctree-l4"><a class="reference internal" 
href="#overview">Overview</a></li>
 <li class="toctree-l4"><a class="reference internal" 
href="#configuration">Configuration</a></li>
 <li class="toctree-l4"><a class="reference internal" 
href="#usage">Usage</a></li>
+<li class="toctree-l4"><a class="reference internal" 
href="#keeping-the-configuration">Keeping the configuration</a></li>
 <li class="toctree-l4"><a class="reference internal" 
href="#example">Example</a></li>
 <li class="toctree-l4"><a class="reference internal" 
href="#limitations">Limitations</a></li>
 </ul>
@@ -336,15 +337,21 @@ and <code class="docutils literal notranslate"><span 
class="pre">wlan0</span></c
 <dt><code class="docutils literal notranslate"><span 
class="pre">CONFIG_NETUTILS_WIFIBRIDGE_DHCPD</span></code></dt><dd><p>Allow the 
<code class="docutils literal notranslate"><span class="pre">-d</span></code> 
option, which runs the DHCP server on the bridge
 (<code class="docutils literal notranslate"><span 
class="pre">CONFIG_NETUTILS_DHCPD</span></code>).</p>
 </dd>
+<dt><code class="docutils literal notranslate"><span 
class="pre">CONFIG_NETUTILS_WIFIBRIDGE_PERSIST</span></code></dt><dd><p>Allow 
<code class="docutils literal notranslate"><span class="pre">save</span></code> 
and <code class="docutils literal notranslate"><span 
class="pre">clear</span></code>, which keep the configuration across resets
+(see <a class="reference internal" href="#keeping-the-configuration">Keeping 
the configuration</a>).</p>
+</dd>
 </dl>
 <p>Change the default passphrase before deploying a board.</p>
 </section>
 <section id="usage">
 <h2>Usage<a class="headerlink" href="#usage" title="Permalink to this 
heading"></a></h2>
 <div class="highlight-console notranslate"><div 
class="highlight"><pre><span></span><span class="go">wifibridge start [-s 
&lt;ssid&gt;] [-p &lt;passphrase&gt;] [-c &lt;channel&gt;] [-3]</span>
-<span class="go">                 [-a &lt;ipaddr&gt;] [-d]</span>
+<span class="go">                 [-a &lt;ipaddr&gt;] [-d|-D]</span>
 <span class="go">wifibridge stop</span>
 <span class="go">wifibridge status</span>
+<span class="go">wifibridge save [-s &lt;ssid&gt;] [-p &lt;passphrase&gt;] [-c 
&lt;channel&gt;] [-3]</span>
+<span class="go">                [-a &lt;ipaddr&gt;] [-d|-D]</span>
+<span class="go">wifibridge clear</span>
 </pre></div>
 </div>
 <dl>
@@ -366,6 +373,9 @@ it.</p>
 <dt><code class="docutils literal notranslate"><span 
class="pre">-d</span></code></dt><dd><p>Run the DHCP server on the bridge.  
Leave it out when another DHCP
 server is reachable through the Ethernet port.</p>
 </dd>
+<dt><code class="docutils literal notranslate"><span 
class="pre">-D</span></code></dt><dd><p>Do not run the DHCP server.  It is the 
default; with <code class="docutils literal notranslate"><span 
class="pre">save</span></code> it
+turns off a <code class="docutils literal notranslate"><span 
class="pre">-d</span></code> that was kept before.</p>
+</dd>
 </dl>
 </dd>
 <dt><code class="docutils literal notranslate"><span 
class="pre">stop</span></code></dt><dd><p>Stop the DHCP server, remove the 
ports, delete the bridge and stop the
@@ -374,11 +384,45 @@ access point.</p>
 <dt><code class="docutils literal notranslate"><span 
class="pre">status</span></code></dt><dd><p>Show whether the bridge exists, its 
address, the state of the two
 ports and the SSID of the access point.</p>
 </dd>
+<dt><code class="docutils literal notranslate"><span 
class="pre">save</span></code></dt><dd><p>Keep the configuration, see <a 
class="reference internal" href="#keeping-the-configuration">Keeping the 
configuration</a>.  It takes the
+same options as <code class="docutils literal notranslate"><span 
class="pre">start</span></code>, and does not start anything.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span 
class="pre">clear</span></code></dt><dd><p>Forget the saved configuration.</p>
+</dd>
 </dl>
 <p>The Ethernet and Wi-Fi interfaces carry no IP address of their own: only
 the bridge does.  The Ethernet interface needs a MAC address, which a
 board without a factory programmed one has to provide.</p>
 </section>
+<section id="keeping-the-configuration">
+<h2>Keeping the configuration<a class="headerlink" 
href="#keeping-the-configuration" title="Permalink to this heading"></a></h2>
+<p>With <code class="docutils literal notranslate"><span 
class="pre">CONFIG_NETUTILS_WIFIBRIDGE_PERSIST</span></code>, <code 
class="docutils literal notranslate"><span class="pre">wifibridge</span> <span 
class="pre">save</span></code> keeps the
+SSID, the passphrase, the channel, the security, the address and the DHCP
+server option, and <code class="docutils literal notranslate"><span 
class="pre">wifibridge</span> <span class="pre">start</span></code> uses them 
instead of the defaults
+of the configuration.  The options of <code class="docutils literal 
notranslate"><span class="pre">start</span></code> still win, for that run
+only.  <code class="docutils literal notranslate"><span 
class="pre">wifibridge</span> <span class="pre">clear</span></code> forgets 
them and the defaults are used again.
+The options of <code class="docutils literal notranslate"><span 
class="pre">save</span></code> are applied over what is already saved, if there 
is
+something, and over the defaults otherwise.</p>
+<div class="highlight-console notranslate"><div 
class="highlight"><pre><span></span><span class="go">nsh&gt; wifibridge save -s 
MyBridge -p mypassphrase -c 11 -a 10.0.0.7 -d</span>
+<span class="go">nsh&gt; reboot</span>
+<span class="go">...</span>
+<span class="go">nsh&gt; wifibridge start</span>
+<span class="go">nsh&gt; wifibridge status</span>
+<span class="go">br0   present 10.0.0.7</span>
+<span class="go">eth0  up</span>
+<span class="go">wlan0 up ssid "MyBridge"</span>
+</pre></div>
+</div>
+<p>The configuration is one record, with a CRC, at the start of
+<code class="docutils literal notranslate"><span 
class="pre">CONFIG_NETUTILS_WIFIBRIDGE_STORAGE</span></code>.  That is a file 
of a file system
+that is mounted at boot (the default is <code class="docutils literal 
notranslate"><span class="pre">/data/wifibridge.conf</span></code>), or a block
+device, such as the MTD of a few pages of the flash (it needs <code 
class="docutils literal notranslate"><span class="pre">CONFIG_BCH</span></code>
+to be opened by name).  Saving a device erases and writes the flash that
+holds it, so it should be used for this alone.  A record that is missing or
+damaged is ignored.  The passphrase is stored as is.</p>
+<p>On the PIC32MZ-W1, <code class="docutils literal notranslate"><span 
class="pre">CONFIG_PIC32MZ_PROGMEM</span></code> with <code class="docutils 
literal notranslate"><span class="pre">CONFIG_MTD_PROGMEM</span></code>
+provides such a device in the last pages of the program flash.</p>
+</section>
 <section id="example">
 <h2>Example<a class="headerlink" href="#example" title="Permalink to this 
heading"></a></h2>
 <div class="highlight-console notranslate"><div 
class="highlight"><pre><span></span><span class="go">nsh&gt; wifibridge start 
-s MyBridge -p mypassphrase -d</span>
@@ -396,8 +440,8 @@ board without a factory programmed one has to provide.</p>
 <li><p>Only the access point mode is supported.  A station cannot be bridged
 at layer 2 because it cannot send frames with foreign source 
addresses.</p></li>
 <li><p><code class="docutils literal notranslate"><span 
class="pre">start</span></code> fails with <code class="docutils literal 
notranslate"><span class="pre">EEXIST</span></code> if the bridge already 
exists.</p></li>
-<li><p>The SSID and the passphrase are not saved: they come from the
-command line or from the defaults of the configuration.</p></li>
+<li><p>The saved configuration does not include the names of the interfaces and
+the netmask, which come from the configuration.</p></li>
 <li><p>The rest of the limits of the bridge apply, see
 <a class="reference internal" href="../../../os/networking/bridge.html"><span 
class="doc">Ethernet Bridge</span></a>.</p></li>
 </ul>
diff --git a/content/docs/latest/components/drivers/special/power/lm51772.html 
b/content/docs/latest/components/drivers/special/power/lm51772.html
new file mode 100644
index 0000000000..264096bd85
--- /dev/null
+++ b/content/docs/latest/components/drivers/special/power/lm51772.html
@@ -0,0 +1,5 @@
+<!-- SPDX-License-Identifier: Apache-2.0 -->
+<html><head>
+<script>location.replace("../../../../os/drivers/special/power/lm51772.html" + 
location.hash);</script>
+<meta http-equiv="refresh" content="0; 
url=../../../../os/drivers/special/power/lm51772.html">
+</head></html>
diff --git a/content/docs/latest/components/drivers/special/power/smps.html 
b/content/docs/latest/components/drivers/special/power/smps.html
new file mode 100644
index 0000000000..9dbda5d7af
--- /dev/null
+++ b/content/docs/latest/components/drivers/special/power/smps.html
@@ -0,0 +1,5 @@
+<!-- SPDX-License-Identifier: Apache-2.0 -->
+<html><head>
+<script>location.replace("../../../../os/drivers/special/power/smps.html" + 
location.hash);</script>
+<meta http-equiv="refresh" content="0; 
url=../../../../os/drivers/special/power/smps.html">
+</head></html>
diff --git a/content/docs/latest/guides/programs/fully_linked_elf.html 
b/content/docs/latest/guides/programs/fully_linked_elf.html
index 84c628419e..e3cd493e6a 100644
--- a/content/docs/latest/guides/programs/fully_linked_elf.html
+++ b/content/docs/latest/guides/programs/fully_linked_elf.html
@@ -488,7 +488,7 @@ NuttX package: <code class="docutils literal 
notranslate"><span class="pre">nutt
 <div 
class="admonition-here-is-an-alternative-minimal-and-possibly-outdated-version 
admonition">
 <p class="admonition-title">Here is an alternative minimal (and possibly 
outdated) version</p>
 <div class="sphinx_collapse docutils">
-<input class="sphinx_collapse__input" 
id="8e444d83-ac71-4b7a-92d1-456447692cc6" 
name="8e444d83-ac71-4b7a-92d1-456447692cc6" type="checkbox"><label 
class="sphinx_collapse__label" for="8e444d83-ac71-4b7a-92d1-456447692cc6"><i 
class="sphinx_collapse__icon"></i>Show content:</label><div 
class="sphinx_collapse__content docutils">
+<input class="sphinx_collapse__input" 
id="067e4e4e-7b94-4858-8389-4246981d846a" 
name="067e4e4e-7b94-4858-8389-4246981d846a" type="checkbox"><label 
class="sphinx_collapse__label" for="067e4e4e-7b94-4858-8389-4246981d846a"><i 
class="sphinx_collapse__icon"></i>Show content:</label><div 
class="sphinx_collapse__content docutils">
 <div class="highlight-text notranslate"><div 
class="highlight"><pre><span></span>SECTIONS
 {
 .text 0x00000000 :
diff --git a/content/docs/latest/guides/programs/partially_linked_elf.html 
b/content/docs/latest/guides/programs/partially_linked_elf.html
index b9fc4904da..58cbdd815b 100644
--- a/content/docs/latest/guides/programs/partially_linked_elf.html
+++ b/content/docs/latest/guides/programs/partially_linked_elf.html
@@ -514,7 +514,7 @@ NuttX package: <code class="docutils literal 
notranslate"><span class="pre">nutt
 <div 
class="admonition-here-is-an-alternative-minimal-and-possibly-outdated-version 
admonition">
 <p class="admonition-title">Here is an alternative minimal (and possibly 
outdated) version</p>
 <div class="sphinx_collapse docutils">
-<input class="sphinx_collapse__input" 
id="04e6c284-cb20-46da-94a6-d6c240cd086b" 
name="04e6c284-cb20-46da-94a6-d6c240cd086b" type="checkbox"><label 
class="sphinx_collapse__label" for="04e6c284-cb20-46da-94a6-d6c240cd086b"><i 
class="sphinx_collapse__icon"></i>Show content:</label><div 
class="sphinx_collapse__content docutils">
+<input class="sphinx_collapse__input" 
id="2afd7bab-57f5-4e7c-984f-46f9f0b4acfe" 
name="2afd7bab-57f5-4e7c-984f-46f9f0b4acfe" type="checkbox"><label 
class="sphinx_collapse__label" for="2afd7bab-57f5-4e7c-984f-46f9f0b4acfe"><i 
class="sphinx_collapse__icon"></i>Show content:</label><div 
class="sphinx_collapse__content docutils">
 <div class="highlight-text notranslate"><div 
class="highlight"><pre><span></span>SECTIONS
 {
 .text 0x00000000 :
diff --git a/content/docs/latest/objects.inv b/content/docs/latest/objects.inv
index eab56ebd6f..f7ea0e8baf 100644
Binary files a/content/docs/latest/objects.inv and 
b/content/docs/latest/objects.inv differ
diff --git a/content/docs/latest/os/drivers/special/index.html 
b/content/docs/latest/os/drivers/special/index.html
index 91746ab47a..9e38bb8815 100644
--- a/content/docs/latest/os/drivers/special/index.html
+++ b/content/docs/latest/os/drivers/special/index.html
@@ -916,6 +916,24 @@ and thus expose them to applications.</p>
 <li class="toctree-l3"><a class="reference internal" 
href="power/battery/fakegauge.html#usage">Usage</a></li>
 </ul>
 </li>
+<li class="toctree-l2"><a class="reference internal" 
href="power/smps.html">Switched-Mode Power Supply (<code class="docutils 
literal notranslate"><span class="pre">smps</span></code>)</a><ul>
+<li class="toctree-l3"><a class="reference internal" 
href="power/smps.html#application-interface">Application interface</a></li>
+<li class="toctree-l3"><a class="reference internal" 
href="power/smps.html#sequence">Sequence</a></li>
+<li class="toctree-l3"><a class="reference internal" 
href="power/smps.html#supported-chips">Supported chips</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" 
href="power/lm51772.html">TI LM51772 buck-boost controller</a><ul>
+<li class="toctree-l3"><a class="reference internal" 
href="power/lm51772.html#board-interface">Board interface</a><ul>
+<li class="toctree-l4"><a class="reference internal" 
href="power/lm51772.html#start-and-stop">Start and stop</a></li>
+<li class="toctree-l4"><a class="reference internal" 
href="power/lm51772.html#register-list">Register list</a></li>
+<li class="toctree-l4"><a class="reference internal" 
href="power/lm51772.html#absolute-maximum-ratings">Absolute maximum 
ratings</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" 
href="power/lm51772.html#faults">Faults</a></li>
+<li class="toctree-l3"><a class="reference internal" 
href="power/lm51772.html#hardware-notes">Hardware notes</a></li>
+<li class="toctree-l3"><a class="reference internal" 
href="power/lm51772.html#example">Example</a></li>
+</ul>
+</li>
 <li class="toctree-l2"><a class="reference internal" 
href="power/power_management.html">Power Management</a><ul>
 <li class="toctree-l3"><a class="reference internal" 
href="power/power_management.html#power-management-pm-subsystem">Power 
Management (PM) Subsystem</a></li>
 <li class="toctree-l3"><a class="reference internal" 
href="power/power_management.html#dynamic-clocking">Dynamic Clocking</a><ul>
diff --git 
a/content/docs/latest/os/drivers/special/power/battery/fakegauge.html 
b/content/docs/latest/os/drivers/special/power/battery/fakegauge.html
index 8d5e14772a..9e2c053c6e 100644
--- a/content/docs/latest/os/drivers/special/power/battery/fakegauge.html
+++ b/content/docs/latest/os/drivers/special/power/battery/fakegauge.html
@@ -46,7 +46,7 @@
     <script src="../../../../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../../../../genindex.html" />
     <link rel="search" title="Search" href="../../../../../search.html" />
-    <link rel="next" title="Power Management" href="../power_management.html" 
/>
+    <link rel="next" title="Switched-Mode Power Supply (smps)" 
href="../smps.html" />
     <link rel="prev" title="Regulator Drivers" href="../regulator.html" /> 
 </head>
 
@@ -272,7 +272,7 @@ real batteries.</p>
           </div>
           <footer><div class="rst-footer-buttons" role="navigation" 
aria-label="Footer">
         <a href="../regulator.html" class="btn btn-neutral float-left" 
title="Regulator Drivers" accesskey="p" rel="prev"><span class="fa 
fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
-        <a href="../power_management.html" class="btn btn-neutral float-right" 
title="Power Management" accesskey="n" rel="next">Next <span class="fa 
fa-arrow-circle-right" aria-hidden="true"></span></a>
+        <a href="../smps.html" class="btn btn-neutral float-right" 
title="Switched-Mode Power Supply (smps)" accesskey="n" rel="next">Next <span 
class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
     </div>
 
   <hr/>
diff --git a/content/docs/latest/os/drivers/special/power/index.html 
b/content/docs/latest/os/drivers/special/power/index.html
index a40bacf620..eee6ba6c4b 100644
--- a/content/docs/latest/os/drivers/special/power/index.html
+++ b/content/docs/latest/os/drivers/special/power/index.html
@@ -228,6 +228,24 @@
 <li class="toctree-l2"><a class="reference internal" 
href="battery/fakegauge.html#usage">Usage</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" 
href="smps.html">Switched-Mode Power Supply (<code class="docutils literal 
notranslate"><span class="pre">smps</span></code>)</a><ul>
+<li class="toctree-l2"><a class="reference internal" 
href="smps.html#application-interface">Application interface</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="smps.html#sequence">Sequence</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="smps.html#supported-chips">Supported chips</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="lm51772.html">TI 
LM51772 buck-boost controller</a><ul>
+<li class="toctree-l2"><a class="reference internal" 
href="lm51772.html#board-interface">Board interface</a><ul>
+<li class="toctree-l3"><a class="reference internal" 
href="lm51772.html#start-and-stop">Start and stop</a></li>
+<li class="toctree-l3"><a class="reference internal" 
href="lm51772.html#register-list">Register list</a></li>
+<li class="toctree-l3"><a class="reference internal" 
href="lm51772.html#absolute-maximum-ratings">Absolute maximum ratings</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" 
href="lm51772.html#faults">Faults</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="lm51772.html#hardware-notes">Hardware notes</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="lm51772.html#example">Example</a></li>
+</ul>
+</li>
 </ul>
 </div>
 <div class="toctree-wrapper compound">
diff --git a/content/docs/latest/os/drivers/special/power/lm51772.html 
b/content/docs/latest/os/drivers/special/power/lm51772.html
new file mode 100644
index 0000000000..347a4a99dc
--- /dev/null
+++ b/content/docs/latest/os/drivers/special/power/lm51772.html
@@ -0,0 +1,445 @@
+<!--
+ Documentation/_templates/layout.html
+
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.  The
+ ASF licenses this file to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance with the
+ License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+ License for the specific language governing permissions and limitations
+ under the License.
+-->
+
+
+
+<!DOCTYPE html>
+<html class="writer-html5" lang="en">
+<head>
+  <meta charset="utf-8" /><meta name="generator" content="Docutils 0.19: 
https://docutils.sourceforge.io/"; />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>TI LM51772 buck-boost controller &mdash; NuttX latest 
documentation</title>
+      <link rel="stylesheet" type="text/css" 
href="../../../../_static/pygments.css" />
+      <link rel="stylesheet" type="text/css" 
href="../../../../_static/css/theme.css" />
+      <link rel="stylesheet" type="text/css" 
href="../../../../_static/copybutton.css" />
+      <link rel="stylesheet" type="text/css" 
href="../../../../_static/sphinx_collapse.css" />
+      <link rel="stylesheet" type="text/css" 
href="../../../../_static/sphinx-design.4cbf315f70debaebd550c87a6162cf0f.min.css"
 />
+      <link rel="stylesheet" type="text/css" 
href="../../../../_static/custom.css" />
+
+  
+    <link rel="shortcut icon" href="../../../../_static/favicon.ico"/>
+      <script src="../../../../_static/jquery.js"></script>
+      <script 
src="../../../../_static/_sphinx_javascript_frameworks_compat.js"></script>
+      <script data-url_root="../../../../" id="documentation_options" 
src="../../../../_static/documentation_options.js"></script>
+      <script src="../../../../_static/doctools.js"></script>
+      <script src="../../../../_static/sphinx_highlight.js"></script>
+      <script src="../../../../_static/clipboard.min.js"></script>
+      <script src="../../../../_static/copybutton.js"></script>
+      <script src="../../../../_static/design-tabs.js"></script>
+    <script src="../../../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" />
+    <link rel="next" title="Power Management" href="power_management.html" />
+    <link rel="prev" title="Switched-Mode Power Supply (smps)" 
href="smps.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+  <a href="../../../../index.html" class="nuttx-brand">
+    
+      <img src="../../../../_static/NuttX.png" class="logo" alt="NuttX logo"/>
+    
+    
+      <span class="nuttx-brand-name">NuttX</span>
+    
+  </a>
+
+  <div class="version-selector">
+    <label class="nuttx-version-label" for="nuttx-version">Version</label>
+    <select id="nuttx-version"
+            onchange="javascript:location.href = this.value;">
+    <option value="../../../../../latest" selected="selected">latest</option>
+    
+    <option value="../../../../../10.0.0" >10.0.0</option>
+    
+    <option value="../../../../../10.0.1" >10.0.1</option>
+    
+    <option value="../../../../../10.1.0" >10.1.0</option>
+    
+    <option value="../../../../../10.2.0" >10.2.0</option>
+    
+    <option value="../../../../../10.3.0" >10.3.0</option>
+    
+    <option value="../../../../../11.0.0" >11.0.0</option>
+    
+    <option value="../../../../../12.0.0" >12.0.0</option>
+    
+    <option value="../../../../../12.1.0" >12.1.0</option>
+    
+    <option value="../../../../../12.2.0" >12.2.0</option>
+    
+    <option value="../../../../../12.2.1" >12.2.1</option>
+    
+    <option value="../../../../../12.3.0" >12.3.0</option>
+    
+    <option value="../../../../../12.4.0" >12.4.0</option>
+    
+    <option value="../../../../../12.5.0" >12.5.0</option>
+    
+    <option value="../../../../../12.5.1" >12.5.1</option>
+    
+    <option value="../../../../../12.6.0" >12.6.0</option>
+    
+    <option value="../../../../../12.7.0" >12.7.0</option>
+    
+    <option value="../../../../../12.8.0" >12.8.0</option>
+    
+    <option value="../../../../../12.9.0" >12.9.0</option>
+    
+    <option value="../../../../../12.10.0" >12.10.0</option>
+    
+    <option value="../../../../../12.11.0" >12.11.0</option>
+    
+    <option value="../../../../../12.12.0" >12.12.0</option>
+    
+    <option value="../../../../../12.13.0" >12.13.0</option>
+    
+    <option value="../../../../../13.0.0" >13.0.0</option>
+    
+    <option value="../../../../../13.0.1" >13.0.1</option>
+    
+    <option value="../../../../../13.1.0" >13.1.0</option>
+    
+    </select>
+  </div>
+
+  
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" 
method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search 
docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" 
role="navigation" aria-label="Navigation menu">
+              <p class="caption" role="heading"><span 
class="caption-text">Table of Contents</span></p>
+<ul class="current">
+<li class="toctree-l1"><a class="reference internal" 
href="../../../../index.html">Home</a></li>
+<li class="toctree-l1"><a class="reference internal" 
href="../../../../introduction/index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" 
href="../../../../quickstart/index.html">Getting Started</a></li>
+<li class="toctree-l1"><a class="reference internal" 
href="../../../../platforms/index.html">Supported Platforms</a></li>
+<li class="toctree-l1"><a class="reference internal" 
href="../../../../guides/index.html">Guides</a></li>
+<li class="toctree-l1 current"><a class="reference internal" 
href="../../../index.html">OS Design</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" 
href="../../../index.html#build-modes">Build modes</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../../../index.html#the-kernel">The kernel</a></li>
+<li class="toctree-l2 current"><a class="reference internal" 
href="../../../index.html#device-drivers">Device drivers</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" 
href="../../index.html">Device Drivers</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" 
href="../../index.html#lower-half-and-upper-half">Lower-half and 
upper-half</a></li>
+<li class="toctree-l4"><a class="reference internal" 
href="../../index.html#subdirectories-of-nuttx-drivers">Subdirectories of <code 
class="docutils literal notranslate"><span 
class="pre">nuttx/drivers</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" 
href="../../index.html#skeleton-files">Skeleton Files</a></li>
+<li class="toctree-l4 current"><a class="reference internal" 
href="../../index.html#drivers-early-initialization">Drivers Early 
Initialization</a><ul class="current">
+<li class="toctree-l5"><a class="reference internal" 
href="../../character/index.html">Character Device Drivers</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="../../block/index.html">Block Device Drivers</a></li>
+<li class="toctree-l5 current"><a class="reference internal" 
href="../index.html">Specialized Device Drivers</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="../../thermal/index.html">Thermal Framework</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="../../drivers_design.html">OS Drivers Design</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="../../device_drivers.html">Device Drivers</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="../../device_nodes.html">Device Nodes</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="../../ioctl.html">ioctl</a></li>
+<li class="toctree-l5"><a class="reference internal" href="../../usb.html">USB 
(Universal Serial Bus)</a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" 
href="../../../index.html#file-systems-and-networking">File systems and 
networking</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../../../index.html#running-programs">Running programs</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../../../index.html#media-and-security">Media and security</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../../../index.html#portability">Portability</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../../../index.html#reference">Reference</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" 
href="../../../../reference/index.html">API Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" 
href="../../../../applications/index.html">Applications</a></li>
+<li class="toctree-l1"><a class="reference internal" 
href="../../../../developing/index.html">Developing NuttX</a></li>
+<li class="toctree-l1"><a class="reference internal" 
href="../../../../about/index.html">About</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav 
class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">NuttX</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../../../index.html" class="icon icon-home" 
aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../../../index.html">OS 
Design</a></li>
+          <li class="breadcrumb-item"><a href="../../index.html">Device 
Drivers</a></li>
+          <li class="breadcrumb-item"><a href="../index.html">Specialized 
Device Drivers</a></li>
+          <li class="breadcrumb-item"><a href="index.html">Power-related 
Drivers</a></li>
+      <li class="breadcrumb-item active">TI LM51772 buck-boost controller</li>
+      <li class="wy-breadcrumbs-aside">
+              <a 
href="https://github.com/apache/nuttx/blob/master/Documentation/os/drivers/special/power/lm51772.rst";
 class="fa fa-github"> Edit on GitHub</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" 
itemtype="http://schema.org/Article";>
+           <div itemprop="articleBody">
+             
+  <section id="ti-lm51772-buck-boost-controller">
+<h1>TI LM51772 buck-boost controller<a class="headerlink" 
href="#ti-lm51772-buck-boost-controller" title="Permalink to this 
heading"></a></h1>
+<p>The LM51772 driver (<code class="docutils literal notranslate"><span 
class="pre">drivers/power/supply/lm51772.c</span></code>) is a lower half
+of the <a class="reference internal" href="smps.html"><span class="doc">SMPS 
driver</span></a> for the Texas Instruments LM51772 buck-boost
+controller, controlled over I2C. It is enabled with
+<code class="docutils literal notranslate"><span 
class="pre">CONFIG_SMPS_LM51772</span></code>, which needs <code 
class="docutils literal notranslate"><span 
class="pre">CONFIG_DRIVERS_SMPS</span></code> and
+<code class="docutils literal notranslate"><span 
class="pre">CONFIG_I2C</span></code>. The register map and the bit fields, with 
the names of the
+datasheet, are in <code class="docutils literal notranslate"><span 
class="pre">include/nuttx/power/lm51772.h</span></code>.</p>
+<p>The converter regulates a constant output voltage (<code class="docutils 
literal notranslate"><span class="pre">SMPS_OPMODE_CV</span></code>, the
+only mode) with an output current limit. The driver reports the state and
+the faults, but it has no output feedback.</p>
+<section id="board-interface">
+<h2>Board interface<a class="headerlink" href="#board-interface" 
title="Permalink to this heading"></a></h2>
+<p>The board registers the device with:</p>
+<div class="highlight-none notranslate"><div 
class="highlight"><pre><span></span>int lm51772_register(const char *path, 
const struct lm51772_config_s *config);
+</pre></div>
+</div>
+<p>and describes the hardware in <code class="docutils literal 
notranslate"><span class="pre">struct</span> <span 
class="pre">lm51772_config_s</span></code>:</p>
+<table class="docutils align-default">
+<thead>
+<tr class="row-odd"><th class="head"><p>Field</p></th>
+<th class="head"><p>Description</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">i2c</span></code></p></td>
+<td><p>I2C bus</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">frequency</span></code></p></td>
+<td><p>I2C frequency</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">addr</span></code></p></td>
+<td><p>7-bit address, 0x6a if 0</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">r_isns_mohm</span></code></p></td>
+<td><p>Output sense resistor, in milliohms, which sets the
+scale of the current limit</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">v_out_min</span></code>,</p></td>
+<td><p>Absolute maximum ratings of the board, 0 for none.</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">v_out_max</span></code>,</p></td>
+<td><p>See below.</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">i_out_max</span></code>,</p></td>
+<td></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">p_out_max</span></code></p></td>
+<td></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">enable</span></code>, <code class="docutils literal 
notranslate"><span class="pre">arg</span></code></p></td>
+<td><p>Callback that drives the EN/UVLO pin. It is called
+with interrupts disabled when switching off, so it
+must not sleep.</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">init</span></code>, <code class="docutils literal 
notranslate"><span class="pre">ninit</span></code></p></td>
+<td><p>Registers written at start, in order. See below.</p></td>
+</tr>
+</tbody>
+</table>
+<section id="start-and-stop">
+<h3>Start and stop<a class="headerlink" href="#start-and-stop" 
title="Permalink to this heading"></a></h3>
+<p>The controller is enabled and configured by <code class="docutils literal 
notranslate"><span class="pre">PWRIOC_START</span></code>, not when the
+device is opened, because the upper half calls the lower half <code 
class="docutils literal notranslate"><span class="pre">setup</span></code> with
+interrupts disabled and the configuration needs I2C:</p>
+<ol class="arabic simple">
+<li><p>The <code class="docutils literal notranslate"><span 
class="pre">enable</span></code> callback is called and the driver waits 15 ms 
for the
+supplies of the controller.</p></li>
+<li><p>The driver reads <code class="docutils literal notranslate"><span 
class="pre">STATUS_BYTE</span></code> to check that the controller answers.
+Otherwise the <code class="docutils literal notranslate"><span 
class="pre">enable</span></code> callback is called again to disable it and the
+error is returned by <code class="docutils literal notranslate"><span 
class="pre">PWRIOC_START</span></code>.</p></li>
+<li><p>The registers of <code class="docutils literal notranslate"><span 
class="pre">init</span></code> are written in order, and the step of the output
+voltage is read back from <code class="docutils literal notranslate"><span 
class="pre">MFR_SPECIFIC_D8</span></code> (<code class="docutils literal 
notranslate"><span class="pre">SEL_FB_DIV20</span></code>).</p></li>
+<li><p>The output voltage target and the current limit are written, and the
+latched faults are cleared.</p></li>
+<li><p><code class="docutils literal notranslate"><span 
class="pre">CONV_EN</span></code> and <code class="docutils literal 
notranslate"><span class="pre">CONV_EN2</span></code> are set, and <code 
class="docutils literal notranslate"><span 
class="pre">FORCE_DISCH</span></code> is cleared.</p></li>
+</ol>
+<p><code class="docutils literal notranslate"><span 
class="pre">PWRIOC_STOP</span></code> clears <code class="docutils literal 
notranslate"><span class="pre">CONV_EN</span></code> and <code class="docutils 
literal notranslate"><span class="pre">CONV_EN2</span></code> and sets <code 
class="docutils literal notranslate"><span 
class="pre">FORCE_DISCH</span></code>,
+which discharges the output. When the device is closed for the last time the
+<code class="docutils literal notranslate"><span 
class="pre">enable</span></code> callback disables the controller and the 
converter stops, so a
+program that starts it has to keep the device open while it runs.</p>
+</section>
+<section id="register-list">
+<h3>Register list<a class="headerlink" href="#register-list" title="Permalink 
to this heading"></a></h3>
+<p><code class="docutils literal notranslate"><span 
class="pre">init</span></code> lists the registers that the board needs to 
change from the values
+loaded by the controller. <code class="docutils literal notranslate"><span 
class="pre">MFR_SPECIFIC_D0</span></code> is written with <code class="docutils 
literal notranslate"><span class="pre">CONV_EN</span></code>
+cleared, since the power stage starts only with <code class="docutils literal 
notranslate"><span class="pre">PWRIOC_START</span></code>. If the
+output voltage step is not the default one (<code class="docutils literal 
notranslate"><span class="pre">MFR_SPECIFIC_D8</span></code>), the entry
+must be in the list. An <code class="docutils literal notranslate"><span 
class="pre">ILIM_THRESHOLD</span></code> entry sets the current limit at
+start, when the parameters keep it, and
+<code class="docutils literal notranslate"><span 
class="pre">LM51772_ILIM_THRESHOLD(ma,</span> <span 
class="pre">mohm)</span></code> computes its value.</p>
+</section>
+<section id="absolute-maximum-ratings">
+<h3>Absolute maximum ratings<a class="headerlink" 
href="#absolute-maximum-ratings" title="Permalink to this heading"></a></h3>
+<p>The limits (<code class="docutils literal notranslate"><span 
class="pre">PWRIOC_SET_LIMITS</span></code>) and the parameters (<code 
class="docutils literal notranslate"><span 
class="pre">PWRIOC_SET_PARAMS</span></code>)
+set by the application are refused with <code class="docutils literal 
notranslate"><span class="pre">-EINVAL</span></code> when they exceed the
+ratings of the board: an output voltage outside of <code class="docutils 
literal notranslate"><span class="pre">v_out_min</span></code> to
+<code class="docutils literal notranslate"><span 
class="pre">v_out_max</span></code>, a current above <code class="docutils 
literal notranslate"><span class="pre">i_out_max</span></code>, or a power 
<code class="docutils literal notranslate"><span class="pre">v_out</span> <span 
class="pre">*</span> <span class="pre">i_out</span></code>
+above <code class="docutils literal notranslate"><span 
class="pre">p_out_max</span></code>. A current or power limit left at 0 becomes 
the rating.
+When the parameters keep the current limit, the current of the <code 
class="docutils literal notranslate"><span class="pre">init</span></code>
+<code class="docutils literal notranslate"><span 
class="pre">ILIM_THRESHOLD</span></code> entry is used for the power check.</p>
+<p>The <code class="docutils literal notranslate"><span 
class="pre">ILIM_THRESHOLD</span></code> register saturates at 70 mV across the 
sense resistor
+(0x8c), and a current limit that needs a higher value is refused with
+<code class="docutils literal notranslate"><span 
class="pre">-EINVAL</span></code>.</p>
+</section>
+</section>
+<section id="faults">
+<h2>Faults<a class="headerlink" href="#faults" title="Permalink to this 
heading"></a></h2>
+<p>The faults come from <code class="docutils literal notranslate"><span 
class="pre">STATUS_BYTE</span></code>:</p>
+<table class="docutils align-default">
+<thead>
+<tr class="row-odd"><th class="head"><p><code class="docutils literal 
notranslate"><span class="pre">STATUS_BYTE</span></code></p></th>
+<th class="head"><p><code class="docutils literal notranslate"><span 
class="pre">smps_fault_e</span></code></p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">VOUT</span></code> (VOUT_OV)</p></td>
+<td><p><code class="docutils literal notranslate"><span 
class="pre">SMPS_FAULT_OVERVOLTAGE</span></code></p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">IOUT</span></code> (IOUT_OC)</p></td>
+<td><p><code class="docutils literal notranslate"><span 
class="pre">SMPS_FAULT_OVERCURRENT</span></code></p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">TEMPERATURE</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span 
class="pre">SMPS_FAULT_OVERTEMP</span></code></p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">INPUT</span></code> (VIN_UV),</p></td>
+<td><p><code class="docutils literal notranslate"><span 
class="pre">SMPS_FAULT_OTHER</span></code></p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">CML</span></code>, <code class="docutils literal notranslate"><span 
class="pre">OTHER</span></code></p></td>
+<td></td>
+</tr>
+</tbody>
+</table>
+<p><code class="docutils literal notranslate"><span 
class="pre">OFF</span></code> and <code class="docutils literal 
notranslate"><span class="pre">BUSY</span></code> are not faults. A fault state 
is reported by
+<code class="docutils literal notranslate"><span 
class="pre">PWRIOC_GET_STATE</span></code> as <code class="docutils literal 
notranslate"><span class="pre">SMPS_STATE_FAULT</span></code>. The faults are 
latched by the
+controller: after a fault disappears, for example when the input voltage
+returns above the <code class="docutils literal notranslate"><span 
class="pre">VDET</span></code> rising threshold and the converter restarts, they
+stay set until <code class="docutils literal notranslate"><span 
class="pre">PWRIOC_CLEAN_FAULT</span></code>.</p>
+</section>
+<section id="hardware-notes">
+<h2>Hardware notes<a class="headerlink" href="#hardware-notes" 
title="Permalink to this heading"></a></h2>
+<p>These points depend on how the board connects the controller:</p>
+<ul class="simple">
+<li><p>The EN/UVLO pin only enables the power stage. If the <code 
class="docutils literal notranslate"><span class="pre">nRST</span></code> pin 
is tied to
+the input, the logic and the I2C interface are always on while the input is
+present, and the controller keeps its registers across an <code 
class="docutils literal notranslate"><span class="pre">enable</span></code>
+callback with false and a reset of the processor. Only removing the input
+returns the registers to their defaults.</p></li>
+<li><p>The <code class="docutils literal notranslate"><span 
class="pre">MODE</span></code> pin selects forced PWM (high) or the power save 
mode (low). In
+forced PWM the current can reverse and return to the input, so a source
+that does not sink current needs the input overvoltage protection
+(<code class="docutils literal notranslate"><span 
class="pre">EN_IVP</span></code> in <code class="docutils literal 
notranslate"><span class="pre">MFR_SPECIFIC_D3</span></code> and the threshold 
in <code class="docutils literal notranslate"><span 
class="pre">IVP_VOLTAGE</span></code>).</p></li>
+<li><p>With no external UVLO divider on the EN/UVLO pin, the <code 
class="docutils literal notranslate"><span class="pre">VDET</span></code> 
thresholds
+(<code class="docutils literal notranslate"><span 
class="pre">VDET_FALL</span></code> in <code class="docutils literal 
notranslate"><span class="pre">MFR_SPECIFIC_D3</span></code> and <code 
class="docutils literal notranslate"><span class="pre">VDET_RISE</span></code> 
in
+<code class="docutils literal notranslate"><span 
class="pre">MFR_SPECIFIC_D4</span></code>) set the input undervoltage 
lockout.</p></li>
+<li><p><code class="docutils literal notranslate"><span 
class="pre">EN_DTRK_STARTOVER</span></code> (<code class="docutils literal 
notranslate"><span class="pre">MFR_SPECIFIC_D1</span></code>) starts the 
converter without
+waiting for the PWM signal of the <code class="docutils literal 
notranslate"><span class="pre">DTRK</span></code> pin. It is set at reset, and a
+board with the pin tied low should keep it set: on such a board the converter
+did not start again after a stop with the bit cleared.</p></li>
+<li><p><code class="docutils literal notranslate"><span 
class="pre">SEL_ISET_PIN</span></code> (<code class="docutils literal 
notranslate"><span class="pre">MFR_SPECIFIC_D9</span></code>, set at reset) 
disables the internal
+current limit DAC, and the limit would come from a resistor on the
+<code class="docutils literal notranslate"><span 
class="pre">ILIMCOMP/ISET</span></code> pin. A board without that resistor 
needs it cleared, or
+<code class="docutils literal notranslate"><span 
class="pre">ILIM_THRESHOLD</span></code> has no effect.</p></li>
+<li><p>The <code class="docutils literal notranslate"><span 
class="pre">nFLT/nINT</span></code> pin is an open drain output that is low 
while a fault
+condition is active, <code class="docutils literal notranslate"><span 
class="pre">OFF</span></code> included, and high impedance when the
+condition goes away, even if the bit stays latched in <code class="docutils 
literal notranslate"><span class="pre">STATUS_BYTE</span></code>.</p></li>
+</ul>
+</section>
+<section id="example">
+<h2>Example<a class="headerlink" href="#example" title="Permalink to this 
heading"></a></h2>
+<p>A board that describes a 8 milliohm sense resistor, a 9 to 24 V output, 8 A
+and 120 W, and writes one register:</p>
+<div class="highlight-none notranslate"><div 
class="highlight"><pre><span></span>static const struct lm51772_reg_s g_init[] =
+{
+  { LM51772_REG_MFR_SPECIFIC_D1,
+    LM51772_D1_EN_THER_WARN | LM51772_D1_EN_DTRK_STARTOVER },
+  { LM51772_REG_ILIM_THRESHOLD, LM51772_ILIM_THRESHOLD(5000, 8) }
+};
+
+static void board_smps_enable(void *arg, bool enable)
+{
+  /* Drive the EN/UVLO pin */
+}
+
+int board_smps_init(struct i2c_master_s *i2c)
+{
+  struct lm51772_config_s config;
+
+  config.i2c         = i2c;
+  config.frequency   = 400000;
+  config.addr        = 0;
+  config.r_isns_mohm = 8;
+  config.v_out_min   = 9.0f;
+  config.v_out_max   = 24.0f;
+  config.i_out_max   = 8.0f;
+  config.p_out_max   = 120.0f;
+  config.enable      = board_smps_enable;
+  config.arg         = NULL;
+  config.init        = g_init;
+  config.ninit       = nitems(g_init);
+
+  return lm51772_register("/dev/smps0", &amp;config);
+}
+</pre></div>
+</div>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" 
aria-label="Footer">
+        <a href="smps.html" class="btn btn-neutral float-left" 
title="Switched-Mode Power Supply (smps)" accesskey="p" rel="prev"><span 
class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="power_management.html" class="btn btn-neutral float-right" 
title="Power Management" accesskey="n" rel="next">Next <span class="fa 
fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2020-2026, The Apache Software Foundation.</p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/latest/os/drivers/special/power/power_management.html 
b/content/docs/latest/os/drivers/special/power/power_management.html
index ecd7c59606..70e2db568f 100644
--- a/content/docs/latest/os/drivers/special/power/power_management.html
+++ b/content/docs/latest/os/drivers/special/power/power_management.html
@@ -47,7 +47,7 @@
     <link rel="index" title="Index" href="../../../../genindex.html" />
     <link rel="search" title="Search" href="../../../../search.html" />
     <link rel="next" title="PTP Clock Driver Framework" href="../ptp.html" />
-    <link rel="prev" title="Battery Gauge" href="battery/fakegauge.html" /> 
+    <link rel="prev" title="TI LM51772 buck-boost controller" 
href="lm51772.html" /> 
 </head>
 
 <body class="wy-body-for-nav"> 
@@ -401,7 +401,7 @@ such functions calls to get the dynamic clock frequency.</p>
            </div>
           </div>
           <footer><div class="rst-footer-buttons" role="navigation" 
aria-label="Footer">
-        <a href="battery/fakegauge.html" class="btn btn-neutral float-left" 
title="Battery Gauge" accesskey="p" rel="prev"><span class="fa 
fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="lm51772.html" class="btn btn-neutral float-left" title="TI 
LM51772 buck-boost controller" accesskey="p" rel="prev"><span class="fa 
fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
         <a href="../ptp.html" class="btn btn-neutral float-right" title="PTP 
Clock Driver Framework" accesskey="n" rel="next">Next <span class="fa 
fa-arrow-circle-right" aria-hidden="true"></span></a>
     </div>
 
diff --git a/content/docs/latest/os/drivers/special/power/index.html 
b/content/docs/latest/os/drivers/special/power/smps.html
similarity index 55%
copy from content/docs/latest/os/drivers/special/power/index.html
copy to content/docs/latest/os/drivers/special/power/smps.html
index a40bacf620..27159f7af6 100644
--- a/content/docs/latest/os/drivers/special/power/index.html
+++ b/content/docs/latest/os/drivers/special/power/smps.html
@@ -25,7 +25,7 @@
   <meta charset="utf-8" /><meta name="generator" content="Docutils 0.19: 
https://docutils.sourceforge.io/"; />
 
   <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-  <title>Power-related Drivers &mdash; NuttX latest documentation</title>
+  <title>Switched-Mode Power Supply (smps) &mdash; NuttX latest 
documentation</title>
       <link rel="stylesheet" type="text/css" 
href="../../../../_static/pygments.css" />
       <link rel="stylesheet" type="text/css" 
href="../../../../_static/css/theme.css" />
       <link rel="stylesheet" type="text/css" 
href="../../../../_static/copybutton.css" />
@@ -46,8 +46,8 @@
     <script src="../../../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../../../genindex.html" />
     <link rel="search" title="Search" href="../../../../search.html" />
-    <link rel="next" title="Power Management" href="pm/index.html" />
-    <link rel="prev" title="FIFO and named pipe drivers" href="../pipes.html" 
/> 
+    <link rel="next" title="TI LM51772 buck-boost controller" 
href="lm51772.html" />
+    <link rel="prev" title="Battery Gauge" href="battery/fakegauge.html" /> 
 </head>
 
 <body class="wy-body-for-nav"> 
@@ -195,9 +195,10 @@
           <li class="breadcrumb-item"><a href="../../../index.html">OS 
Design</a></li>
           <li class="breadcrumb-item"><a href="../../index.html">Device 
Drivers</a></li>
           <li class="breadcrumb-item"><a href="../index.html">Specialized 
Device Drivers</a></li>
-      <li class="breadcrumb-item active">Power-related Drivers</li>
+          <li class="breadcrumb-item"><a href="index.html">Power-related 
Drivers</a></li>
+      <li class="breadcrumb-item active">Switched-Mode Power Supply (<code 
class="docutils literal notranslate"><span class="pre">smps</span></code>)</li>
       <li class="wy-breadcrumbs-aside">
-              <a 
href="https://github.com/apache/nuttx/blob/master/Documentation/os/drivers/special/power/index.rst";
 class="fa fa-github"> Edit on GitHub</a>
+              <a 
href="https://github.com/apache/nuttx/blob/master/Documentation/os/drivers/special/power/smps.rst";
 class="fa fa-github"> Edit on GitHub</a>
       </li>
   </ul>
   <hr/>
@@ -205,44 +206,122 @@
           <div role="main" class="document" itemscope="itemscope" 
itemtype="http://schema.org/Article";>
            <div itemprop="articleBody">
              
-  <section id="power-related-drivers">
-<h1>Power-related Drivers<a class="headerlink" href="#power-related-drivers" 
title="Permalink to this heading"></a></h1>
-<div class="toctree-wrapper compound">
-<p class="caption" role="heading"><span class="caption-text">Supported 
Drivers</span></p>
-<ul>
-<li class="toctree-l1"><a class="reference internal" 
href="pm/index.html">Power Management</a><ul>
-<li class="toctree-l2"><a class="reference internal" 
href="pm/index.html#interfaces">Interfaces</a></li>
-<li class="toctree-l2"><a class="reference internal" 
href="pm/index.html#callbacks">Callbacks</a></li>
-</ul>
-</li>
-<li class="toctree-l1"><a class="reference internal" 
href="regulator.html">Regulator Drivers</a><ul>
-<li class="toctree-l2"><a class="reference internal" 
href="regulator.html#consumer-interface">Consumer interface</a></li>
-<li class="toctree-l2"><a class="reference internal" 
href="regulator.html#writing-a-regulator-driver">Writing a regulator 
driver</a></li>
-<li class="toctree-l2"><a class="reference internal" 
href="regulator.html#proc-regulator">/proc/regulator</a></li>
-<li class="toctree-l2"><a class="reference internal" 
href="regulator.html#remote-regulators">Remote regulators</a></li>
-</ul>
-</li>
-<li class="toctree-l1"><a class="reference internal" 
href="battery/fakegauge.html">Battery Gauge</a><ul>
-<li class="toctree-l2"><a class="reference internal" 
href="battery/fakegauge.html#fake-gauge">Fake Gauge</a></li>
-<li class="toctree-l2"><a class="reference internal" 
href="battery/fakegauge.html#features">Features</a></li>
-<li class="toctree-l2"><a class="reference internal" 
href="battery/fakegauge.html#usage">Usage</a></li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="toctree-wrapper compound">
-<ul>
-<li class="toctree-l1"><a class="reference internal" 
href="power_management.html">Power Management</a></li>
-</ul>
-</div>
+  <section id="switched-mode-power-supply-smps">
+<h1>Switched-Mode Power Supply (<code class="docutils literal 
notranslate"><span class="pre">smps</span></code>)<a class="headerlink" 
href="#switched-mode-power-supply-smps" title="Permalink to this 
heading"></a></h1>
+<p>The SMPS driver is split into an “upper half” character driver
+(<code class="docutils literal notranslate"><span 
class="pre">drivers/power/supply/smps.c</span></code>) and chip-specific “lower 
half” drivers.
+It is enabled with <code class="docutils literal notranslate"><span 
class="pre">CONFIG_DRIVERS_SMPS</span></code>. The application interface is
+defined in <code class="docutils literal notranslate"><span 
class="pre">include/nuttx/power/smps.h</span></code> and
+<code class="docutils literal notranslate"><span 
class="pre">include/nuttx/power/power_ioctl.h</span></code>. A lower half 
registers itself with
+<code class="docutils literal notranslate"><span 
class="pre">smps_register()</span></code> as <code class="docutils literal 
notranslate"><span class="pre">/dev/smpsN</span></code>.</p>
+<section id="application-interface">
+<h2>Application interface<a class="headerlink" href="#application-interface" 
title="Permalink to this heading"></a></h2>
+<table class="docutils align-default">
+<thead>
+<tr class="row-odd"><th class="head"><p>IOCTL</p></th>
+<th class="head"><p>Argument</p></th>
+<th class="head"><p>Description</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">PWRIOC_SET_MODE</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span 
class="pre">enum</span> <span class="pre">smps_opmode_e</span></code></p></td>
+<td><p>Select the
+operation mode</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">PWRIOC_SET_LIMITS</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span 
class="pre">struct</span> <span class="pre">smps_limits_s</span> <span 
class="pre">*</span></code></p></td>
+<td><p>Set the absolute
+limits</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">PWRIOC_SET_PARAMS</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span 
class="pre">struct</span> <span class="pre">smps_params_s</span> <span 
class="pre">*</span></code></p></td>
+<td><p>Set the output
+voltage, current
+and power</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">PWRIOC_START</span></code></p></td>
+<td><p>none</p></td>
+<td><p>Start the
+converter</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">PWRIOC_STOP</span></code></p></td>
+<td><p>none</p></td>
+<td><p>Stop the converter</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">PWRIOC_GET_STATE</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span 
class="pre">struct</span> <span class="pre">smps_state_s</span> <span 
class="pre">*</span></code></p></td>
+<td><p>Get the state and
+the faults</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">PWRIOC_GET_FAULT</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span 
class="pre">uint8_t</span> <span class="pre">*</span></code></p></td>
+<td><p>Get the faults</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">PWRIOC_SET_FAULT</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span 
class="pre">uint8_t</span></code></p></td>
+<td><p>Set a fault</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">PWRIOC_CLEAN_FAULT</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span 
class="pre">uint8_t</span></code></p></td>
+<td><p>Clear the latched
+faults</p></td>
+</tr>
+</tbody>
+</table>
+<p>Commands that the upper half does not know are forwarded to the <code 
class="docutils literal notranslate"><span class="pre">ioctl</span></code>
+operation of the lower half.</p>
+</section>
+<section id="sequence">
+<h2>Sequence<a class="headerlink" href="#sequence" title="Permalink to this 
heading"></a></h2>
+<ol class="arabic simple">
+<li><p>Select a mode with <code class="docutils literal notranslate"><span 
class="pre">PWRIOC_SET_MODE</span></code>. The upper half refuses
+<code class="docutils literal notranslate"><span 
class="pre">PWRIOC_START</span></code> while the mode is <code class="docutils 
literal notranslate"><span class="pre">SMPS_OPMODE_INIT</span></code>.</p></li>
+<li><p>Set the limits with <code class="docutils literal notranslate"><span 
class="pre">PWRIOC_SET_LIMITS</span></code>, with <code class="docutils literal 
notranslate"><span class="pre">lock</span></code> set to true. The
+limits can not be changed after they are locked, and the upper half
+refuses <code class="docutils literal notranslate"><span 
class="pre">PWRIOC_START</span></code> and <code class="docutils literal 
notranslate"><span class="pre">PWRIOC_SET_PARAMS</span></code> until they are 
set and
+locked.</p></li>
+<li><p>Set the parameters with <code class="docutils literal 
notranslate"><span class="pre">PWRIOC_SET_PARAMS</span></code>. The upper half 
refuses
+parameters above the limits with <code class="docutils literal 
notranslate"><span class="pre">-EPERM</span></code>. The parameter that the mode
+regulates must be set: <code class="docutils literal notranslate"><span 
class="pre">v_out</span></code> for <code class="docutils literal 
notranslate"><span class="pre">SMPS_OPMODE_CV</span></code>, <code 
class="docutils literal notranslate"><span class="pre">i_out</span></code> for
+<code class="docutils literal notranslate"><span 
class="pre">SMPS_OPMODE_CC</span></code> and <code class="docutils literal 
notranslate"><span class="pre">p_out</span></code> for <code class="docutils 
literal notranslate"><span class="pre">SMPS_OPMODE_CP</span></code>. The 
parameters
+can be set again while the converter runs, unless they are locked.</p></li>
+<li><p>Start and stop the converter with <code class="docutils literal 
notranslate"><span class="pre">PWRIOC_START</span></code> and <code 
class="docutils literal notranslate"><span 
class="pre">PWRIOC_STOP</span></code>.</p></li>
+</ol>
+<p>The lower half <code class="docutils literal notranslate"><span 
class="pre">setup</span></code> operation is called when the device is opened 
for
+the first time and <code class="docutils literal notranslate"><span 
class="pre">shutdown</span></code> when it is closed for the last time, with
+interrupts disabled. The open count is kept for every open, so closing a
+descriptor does not shut the converter down while another one is open.</p>
+</section>
+<section id="supported-chips">
+<h2>Supported chips<a class="headerlink" href="#supported-chips" 
title="Permalink to this heading"></a></h2>
+<table class="docutils align-default">
+<thead>
+<tr class="row-odd"><th class="head"><p>Chip</p></th>
+<th class="head"><p>Bus</p></th>
+<th class="head"><p>Notes</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p>LM51772</p></td>
+<td><p>I2C</p></td>
+<td><p>Buck-boost controller, constant voltage only. See
+<a class="reference internal" href="lm51772.html"><span class="doc">TI LM51772 
buck-boost controller</span></a>.</p></td>
+</tr>
+</tbody>
+</table>
+<p>The <code class="docutils literal notranslate"><span 
class="pre">b-g474e-dpow1</span></code> and <code class="docutils literal 
notranslate"><span class="pre">stm32f334-disco</span></code> boards register an 
SMPS
+device that is driven by the <a class="reference internal" 
href="../../../../applications/examples/smps/index.html"><span class="doc">smps 
Switched-Mode Power Supply</span></a>
+example.</p>
+</section>
 </section>
 
 
            </div>
           </div>
           <footer><div class="rst-footer-buttons" role="navigation" 
aria-label="Footer">
-        <a href="../pipes.html" class="btn btn-neutral float-left" title="FIFO 
and named pipe drivers" accesskey="p" rel="prev"><span class="fa 
fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
-        <a href="pm/index.html" class="btn btn-neutral float-right" 
title="Power Management" accesskey="n" rel="next">Next <span class="fa 
fa-arrow-circle-right" aria-hidden="true"></span></a>
+        <a href="battery/fakegauge.html" class="btn btn-neutral float-left" 
title="Battery Gauge" accesskey="p" rel="prev"><span class="fa 
fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="lm51772.html" class="btn btn-neutral float-right" title="TI 
LM51772 buck-boost controller" accesskey="n" rel="next">Next <span class="fa 
fa-arrow-circle-right" aria-hidden="true"></span></a>
     </div>
 
   <hr/>
diff --git a/content/docs/latest/os/filesystem/index.html 
b/content/docs/latest/os/filesystem/index.html
index b1f4bd8e6d..09730ce14d 100644
--- a/content/docs/latest/os/filesystem/index.html
+++ b/content/docs/latest/os/filesystem/index.html
@@ -1010,7 +1010,9 @@ the root of the file system.</p></li>
 only the ones that are required according to the flags.</p></li>
 <li><p><strong>flags</strong> (<span><span class="c-expr sig sig-inline 
c"><span class="kt">int</span></span></span>) – A bit field that can have 
values including <code class="docutils literal notranslate"><span 
class="pre">CH_STAT_MODE</span></code>
 , <code class="docutils literal notranslate"><span 
class="pre">CH_STAT_UID</span></code>, <code class="docutils literal 
notranslate"><span class="pre">CH_STAT_GID</span></code>, <code class="docutils 
literal notranslate"><span class="pre">CH_STAT_ATIME</span></code> or <code 
class="docutils literal notranslate"><span 
class="pre">CH_STAT_MTIME</span></code>
-which are or-ed together.</p></li>
+which are or-ed together. <code class="docutils literal notranslate"><span 
class="pre">lchown()</span></code>, <code class="docutils literal 
notranslate"><span class="pre">lchmod()</span></code> and <code class="docutils 
literal notranslate"><span class="pre">lutimens()</span></code>
+also set <code class="docutils literal notranslate"><span 
class="pre">CH_STAT_NOFOLLOW</span></code>: if <code class="docutils literal 
notranslate"><span class="pre">relpath</span></code> names a symbolic link, the
+file system must change the link itself, not the file that it points 
to.</p></li>
 </ul>
 </dd>
 </dl>
diff --git 
a/content/docs/latest/platforms/arm/stm32c0/boards/nucleo-c092rc/index.html 
b/content/docs/latest/platforms/arm/stm32c0/boards/nucleo-c092rc/index.html
index 1306f1d993..d7a2b3d516 100644
--- a/content/docs/latest/platforms/arm/stm32c0/boards/nucleo-c092rc/index.html
+++ b/content/docs/latest/platforms/arm/stm32c0/boards/nucleo-c092rc/index.html
@@ -162,48 +162,28 @@
 <li class="toctree-l3"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#architecture">Architecture</a></li>
 <li class="toctree-l3"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#vendor">Vendor</a></li>
 <li class="toctree-l3 current"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#chip">Chip</a><ul class="current">
-<li class="toctree-l4"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#families">Families</a></li>
-<li class="toctree-l4 current"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#parts">Parts</a><ul class="current">
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#atmega">atmega</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#cxd56xx">cxd56xx</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#esp32">esp32</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#fvp-v8r">fvp-v8r</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#ht32f491x3">ht32f491x3</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#imx9">imx9</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#imxrt">imxrt</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#n32h7">n32h7</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#nrf52">nrf52</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#nrf53">nrf53</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#nrf91">nrf91</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#qemu">qemu</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#rp23xx">rp23xx</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#rp23xx-rv">rp23xx-rv</a></li>
-<li class="toctree-l5 current"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#stm32c0">stm32c0</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#stm32c5">stm32c5</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#stm32f0">stm32f0</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#stm32f1">stm32f1</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#stm32f2">stm32f2</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#stm32f3">stm32f3</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#stm32f4">stm32f4</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#stm32f7">stm32f7</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#stm32g0">stm32g0</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#stm32g4">stm32g4</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#stm32h5">stm32h5</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#stm32h7">stm32h7</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#stm32l0">stm32l0</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#stm32l1">stm32l1</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#stm32l4">stm32l4</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#stm32l5">stm32l5</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#stm32n6">stm32n6</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#stm32u0">stm32u0</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#stm32u3">stm32u3</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#stm32u5">stm32u5</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#stm32wb">stm32wb</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#stm32wl5">stm32wl5</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#tiva">tiva</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#zynq-mpsoc">zynq-mpsoc</a></li>
+<li class="toctree-l4 current"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#families">Families</a><ul 
class="current">
+<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#unknown">(unknown)</a></li>
+<li class="toctree-l5 current"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#arm">arm</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#arm64">arm64</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#avr">avr</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#hc">hc</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#mips">mips</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#misoc">misoc</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#or1k">or1k</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#renesas">renesas</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#risc-v">risc-v</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#sim">sim</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#sparc">sparc</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#tricore">tricore</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#x86">x86</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#x86-64">x86_64</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#xtensa">xtensa</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#z16">z16</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#z80">z80</a></li>
 </ul>
 </li>
+<li class="toctree-l4"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#parts">Parts</a></li>
 </ul>
 </li>
 </ul>
diff --git 
a/content/docs/latest/platforms/arm64/fvp-v8r/boards/fvp-armv8r/index.html 
b/content/docs/latest/platforms/arm64/fvp-v8r/boards/fvp-armv8r/index.html
index b9d62e1b4d..16a9a4c7e6 100644
--- a/content/docs/latest/platforms/arm64/fvp-v8r/boards/fvp-armv8r/index.html
+++ b/content/docs/latest/platforms/arm64/fvp-v8r/boards/fvp-armv8r/index.html
@@ -160,56 +160,52 @@
 <li class="toctree-l2"><a class="reference internal" 
href="../../../../z80/index.html">Z80</a></li>
 <li class="toctree-l2 current"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html">Tags</a><ul class="current">
 <li class="toctree-l3"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#architecture">Architecture</a></li>
-<li class="toctree-l3 current"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#vendor">Vendor</a><ul class="current">
-<li class="toctree-l4"><a class="reference internal" 
href="../../../../../_tags/vendor-aifoundry.html">vendor:aifoundry (1)</a></li>
-<li class="toctree-l4"><a class="reference internal" 
href="../../../../../_tags/vendor-allwinner.html">vendor:allwinner (4)</a></li>
-<li class="toctree-l4"><a class="reference internal" 
href="../../../../../_tags/vendor-amd.html">vendor:amd (1)</a></li>
-<li class="toctree-l4 current"><a class="reference internal" 
href="../../../../../_tags/vendor-arm.html">vendor:arm (5)</a><ul 
class="current">
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../arm/fvp-v8r-aarch32/boards/fvp-armv8r-aarch32/index.html">ARM 
Armv8-R AEM FVP</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../arm/mps/boards/mps2-an500/index.html">MPS2 AN500 
Board</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../arm/mps/boards/mps2-an521/index.html">MPS2 AN521 
Board</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../arm/mps/boards/mps3-an547/index.html">MPS3 AN547 
Board</a></li>
-<li class="toctree-l5 current"><a class="current reference internal" 
href="#">FVP ARMv8-r</a></li>
+<li class="toctree-l3"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#vendor">Vendor</a></li>
+<li class="toctree-l3 current"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#chip">Chip</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#families">Families</a></li>
+<li class="toctree-l4 current"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#parts">Parts</a><ul class="current">
+<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#atmega">atmega</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#cxd56xx">cxd56xx</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#esp32">esp32</a></li>
+<li class="toctree-l5 current"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#fvp-v8r">fvp-v8r</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#ht32f491x3">ht32f491x3</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#imx9">imx9</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#imxrt">imxrt</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#n32h7">n32h7</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#nrf52">nrf52</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#nrf53">nrf53</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#nrf91">nrf91</a></li>
+<li class="toctree-l5 current"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#qemu">qemu</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#rp23xx">rp23xx</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#rp23xx-rv">rp23xx-rv</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#stm32c0">stm32c0</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#stm32c5">stm32c5</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#stm32f0">stm32f0</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#stm32f1">stm32f1</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#stm32f2">stm32f2</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#stm32f3">stm32f3</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#stm32f4">stm32f4</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#stm32f7">stm32f7</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#stm32g0">stm32g0</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#stm32g4">stm32g4</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#stm32h5">stm32h5</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#stm32h7">stm32h7</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#stm32l0">stm32l0</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#stm32l1">stm32l1</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#stm32l4">stm32l4</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#stm32l5">stm32l5</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#stm32n6">stm32n6</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#stm32u0">stm32u0</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#stm32u3">stm32u3</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#stm32u5">stm32u5</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#stm32wb">stm32wb</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#stm32wl5">stm32wl5</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#tiva">tiva</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#zynq-mpsoc">zynq-mpsoc</a></li>
 </ul>
 </li>
-<li class="toctree-l4"><a class="reference internal" 
href="../../../../../_tags/vendor-artery.html">vendor:artery (1)</a></li>
-<li class="toctree-l4"><a class="reference internal" 
href="../../../../../_tags/vendor-bouffalolab.html">vendor:bouffalolab 
(2)</a></li>
-<li class="toctree-l4"><a class="reference internal" 
href="../../../../../_tags/vendor-broadcom.html">vendor:broadcom (2)</a></li>
-<li class="toctree-l4"><a class="reference internal" 
href="../../../../../_tags/vendor-canaan.html">vendor:canaan (2)</a></li>
-<li class="toctree-l4"><a class="reference internal" 
href="../../../../../_tags/vendor-espressif.html">vendor:espressif (35)</a></li>
-<li class="toctree-l4"><a class="reference internal" 
href="../../../../../_tags/vendor-eswin.html">vendor:eswin (3)</a></li>
-<li class="toctree-l4"><a class="reference internal" 
href="../../../../../_tags/vendor-example.html">vendor:example (1)</a></li>
-<li class="toctree-l4"><a class="reference internal" 
href="../../../../../_tags/vendor-gigadevice.html">vendor:gigadevice 
(7)</a></li>
-<li class="toctree-l4"><a class="reference internal" 
href="../../../../../_tags/vendor-holtek.html">vendor:holtek (1)</a></li>
-<li class="toctree-l4"><a class="reference internal" 
href="../../../../../_tags/vendor-hpmicro.html">vendor:hpmicro (2)</a></li>
-<li class="toctree-l4"><a class="reference internal" 
href="../../../../../_tags/vendor-infineon.html">vendor:infineon (4)</a></li>
-<li class="toctree-l4"><a class="reference internal" 
href="../../../../../_tags/vendor-ingenic.html">vendor:ingenic (1)</a></li>
-<li class="toctree-l4"><a class="reference internal" 
href="../../../../../_tags/vendor-maxim.html">vendor:maxim (1)</a></li>
-<li class="toctree-l4"><a class="reference internal" 
href="../../../../../_tags/vendor-microchip.html">vendor:microchip (46)</a></li>
-<li class="toctree-l4"><a class="reference internal" 
href="../../../../../_tags/vendor-moxa.html">vendor:moxa (1)</a></li>
-<li class="toctree-l4"><a class="reference internal" 
href="../../../../../_tags/vendor-nations.html">vendor:nations (1)</a></li>
-<li class="toctree-l4"><a class="reference internal" 
href="../../../../../_tags/vendor-nordic.html">vendor:nordic (17)</a></li>
-<li class="toctree-l4"><a class="reference internal" 
href="../../../../../_tags/vendor-nuvoton.html">vendor:nuvoton (1)</a></li>
-<li class="toctree-l4"><a class="reference internal" 
href="../../../../../_tags/vendor-nxp.html">vendor:nxp (58)</a></li>
-<li class="toctree-l4"><a class="reference internal" 
href="../../../../../_tags/vendor-onsemi.html">vendor:onsemi (1)</a></li>
-<li class="toctree-l4"><a class="reference internal" 
href="../../../../../_tags/vendor-phyplus.html">vendor:phyplus (1)</a></li>
-<li class="toctree-l4"><a class="reference internal" 
href="../../../../../_tags/vendor-quicklogic.html">vendor:quicklogic 
(1)</a></li>
-<li class="toctree-l4"><a class="reference internal" 
href="../../../../../_tags/vendor-raspberry-pi.html">vendor:raspberry-pi 
(18)</a></li>
-<li class="toctree-l4"><a class="reference internal" 
href="../../../../../_tags/vendor-realtek.html">vendor:realtek (4)</a></li>
-<li class="toctree-l4"><a class="reference internal" 
href="../../../../../_tags/vendor-renesas.html">vendor:renesas (7)</a></li>
-<li class="toctree-l4"><a class="reference internal" 
href="../../../../../_tags/vendor-rockchip.html">vendor:rockchip (4)</a></li>
-<li class="toctree-l4"><a class="reference internal" 
href="../../../../../_tags/vendor-sifive.html">vendor:sifive (1)</a></li>
-<li class="toctree-l4"><a class="reference internal" 
href="../../../../../_tags/vendor-silabs.html">vendor:silabs (3)</a></li>
-<li class="toctree-l4"><a class="reference internal" 
href="../../../../../_tags/vendor-sony.html">vendor:sony (1)</a></li>
-<li class="toctree-l4"><a class="reference internal" 
href="../../../../../_tags/vendor-sophgo.html">vendor:sophgo (1)</a></li>
-<li class="toctree-l4"><a class="reference internal" 
href="../../../../../_tags/vendor-st.html">vendor:st (114)</a></li>
-<li class="toctree-l4"><a class="reference internal" 
href="../../../../../_tags/vendor-starfive.html">vendor:starfive (1)</a></li>
-<li class="toctree-l4"><a class="reference internal" 
href="../../../../../_tags/vendor-thead.html">vendor:thead (1)</a></li>
-<li class="toctree-l4"><a class="reference internal" 
href="../../../../../_tags/vendor-ti.html">vendor:ti (10)</a></li>
-<li class="toctree-l4"><a class="reference internal" 
href="../../../../../_tags/vendor-zilog.html">vendor:zilog (9)</a></li>
 </ul>
 </li>
-<li class="toctree-l3"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#chip">Chip</a></li>
 </ul>
 </li>
 </ul>
diff --git 
a/content/docs/latest/platforms/arm64/zynq-mpsoc/boards/zcu111/index.html 
b/content/docs/latest/platforms/arm64/zynq-mpsoc/boards/zcu111/index.html
index ddbdeb68a6..217f57789a 100644
--- a/content/docs/latest/platforms/arm64/zynq-mpsoc/boards/zcu111/index.html
+++ b/content/docs/latest/platforms/arm64/zynq-mpsoc/boards/zcu111/index.html
@@ -162,48 +162,28 @@
 <li class="toctree-l3"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#architecture">Architecture</a></li>
 <li class="toctree-l3"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#vendor">Vendor</a></li>
 <li class="toctree-l3 current"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#chip">Chip</a><ul class="current">
-<li class="toctree-l4"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#families">Families</a></li>
-<li class="toctree-l4 current"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#parts">Parts</a><ul class="current">
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#atmega">atmega</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#cxd56xx">cxd56xx</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#esp32">esp32</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#fvp-v8r">fvp-v8r</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#ht32f491x3">ht32f491x3</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#imx9">imx9</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#imxrt">imxrt</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#n32h7">n32h7</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#nrf52">nrf52</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#nrf53">nrf53</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#nrf91">nrf91</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#qemu">qemu</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#rp23xx">rp23xx</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#rp23xx-rv">rp23xx-rv</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#stm32c0">stm32c0</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#stm32c5">stm32c5</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#stm32f0">stm32f0</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#stm32f1">stm32f1</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#stm32f2">stm32f2</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#stm32f3">stm32f3</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#stm32f4">stm32f4</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#stm32f7">stm32f7</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#stm32g0">stm32g0</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#stm32g4">stm32g4</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#stm32h5">stm32h5</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#stm32h7">stm32h7</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#stm32l0">stm32l0</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#stm32l1">stm32l1</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#stm32l4">stm32l4</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#stm32l5">stm32l5</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#stm32n6">stm32n6</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#stm32u0">stm32u0</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#stm32u3">stm32u3</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#stm32u5">stm32u5</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#stm32wb">stm32wb</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#stm32wl5">stm32wl5</a></li>
-<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#tiva">tiva</a></li>
-<li class="toctree-l5 current"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#zynq-mpsoc">zynq-mpsoc</a></li>
+<li class="toctree-l4 current"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#families">Families</a><ul 
class="current">
+<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#unknown">(unknown)</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#arm">arm</a></li>
+<li class="toctree-l5 current"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#arm64">arm64</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#avr">avr</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#hc">hc</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#mips">mips</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#misoc">misoc</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#or1k">or1k</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#renesas">renesas</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#risc-v">risc-v</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#sim">sim</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#sparc">sparc</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#tricore">tricore</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#x86">x86</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#x86-64">x86_64</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#xtensa">xtensa</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#z16">z16</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#z80">z80</a></li>
 </ul>
 </li>
+<li class="toctree-l4"><a class="reference internal" 
href="../../../../../_tags/tagsindex.html#parts">Parts</a></li>
 </ul>
 </li>
 </ul>
diff --git 
a/content/docs/latest/platforms/risc-v/esp32c3-legacy/boards/esp32c3-legacy-devkit/index.html
 
b/content/docs/latest/platforms/risc-v/esp32c3-legacy/boards/esp32c3-legacy-devkit/index.html
index 32edde40cb..1340af87f4 100644
--- 
a/content/docs/latest/platforms/risc-v/esp32c3-legacy/boards/esp32c3-legacy-devkit/index.html
+++ 
b/content/docs/latest/platforms/risc-v/esp32c3-legacy/boards/esp32c3-legacy-devkit/index.html
@@ -291,14 +291,14 @@ mount ESP32-C3 DevKit on a breadboard.</p>
 <table class="docutils align-center">
 <tbody>
 <tr class="row-odd"><td><figure class="align-center" id="id1">
-<img alt="../../../../../_images/ESP32-C3-DevKitC-02-v1.1.png" 
src="../../../../../_images/ESP32-C3-DevKitC-02-v1.1.png" />
+<img alt="../../../../../_images/ESP32-C3-DevKitC-02-v1.11.png" 
src="../../../../../_images/ESP32-C3-DevKitC-02-v1.11.png" />
 <figcaption>
 <p><span class="caption-text">ESP32-C3-DevKitC-02</span><a class="headerlink" 
href="#id1" title="Permalink to this image"></a></p>
 </figcaption>
 </figure>
 </td>
 <td><figure class="align-center" id="id2">
-<img alt="../../../../../_images/ESP32-C3-DevKitM-1-v1.0.png" 
src="../../../../../_images/ESP32-C3-DevKitM-1-v1.0.png" />
+<img alt="../../../../../_images/ESP32-C3-DevKitM-1-v1.01.png" 
src="../../../../../_images/ESP32-C3-DevKitM-1-v1.01.png" />
 <figcaption>
 <p><span class="caption-text">ESP32-C3-DevKitM-1</span><a class="headerlink" 
href="#id2" title="Permalink to this image"></a></p>
 </figcaption>
diff --git 
a/content/docs/latest/platforms/risc-v/esp32c3/boards/esp32c3-devkit/index.html 
b/content/docs/latest/platforms/risc-v/esp32c3/boards/esp32c3-devkit/index.html
index ecc81e53a0..20ed033ab8 100644
--- 
a/content/docs/latest/platforms/risc-v/esp32c3/boards/esp32c3-devkit/index.html
+++ 
b/content/docs/latest/platforms/risc-v/esp32c3/boards/esp32c3-devkit/index.html
@@ -297,14 +297,14 @@ For the compact third-party ESP32-C3 SuperMini, see
 <table class="docutils align-center">
 <tbody>
 <tr class="row-odd"><td><figure class="align-center" id="id1">
-<img alt="../../../../../_images/ESP32-C3-DevKitC-02-v1.11.png" 
src="../../../../../_images/ESP32-C3-DevKitC-02-v1.11.png" />
+<img alt="../../../../../_images/ESP32-C3-DevKitC-02-v1.1.png" 
src="../../../../../_images/ESP32-C3-DevKitC-02-v1.1.png" />
 <figcaption>
 <p><span class="caption-text">ESP32-C3-DevKitC-02</span><a class="headerlink" 
href="#id1" title="Permalink to this image"></a></p>
 </figcaption>
 </figure>
 </td>
 <td><figure class="align-center" id="id2">
-<img alt="../../../../../_images/ESP32-C3-DevKitM-1-v1.01.png" 
src="../../../../../_images/ESP32-C3-DevKitM-1-v1.01.png" />
+<img alt="../../../../../_images/ESP32-C3-DevKitM-1-v1.0.png" 
src="../../../../../_images/ESP32-C3-DevKitM-1-v1.0.png" />
 <figcaption>
 <p><span class="caption-text">ESP32-C3-DevKitM-1</span><a class="headerlink" 
href="#id2" title="Permalink to this image"></a></p>
 </figcaption>
@@ -814,7 +814,7 @@ and 2, respectively. The RMT peripheral is better explained
 in the ESP-IDF documentation. The minimal data unit in the frame is called the
 RMT symbol, which is represented by <code class="docutils literal 
notranslate"><span class="pre">rmt_item32_t</span></code> in the driver:</p>
 <figure class="align-center">
-<img alt="../../../../../_images/rmt_symbol3.png" 
src="../../../../../_images/rmt_symbol3.png" />
+<img alt="../../../../../_images/rmt_symbol.png" 
src="../../../../../_images/rmt_symbol.png" />
 </figure>
 <p>The example <code class="docutils literal notranslate"><span 
class="pre">irtest</span></code> can be used to test the RMT peripheral. 
Connecting
 these pins externally to each other will make the transmitter send RMT items
diff --git 
a/content/docs/latest/platforms/risc-v/esp32c6/boards/esp32c6-devkitc/index.html
 
b/content/docs/latest/platforms/risc-v/esp32c6/boards/esp32c6-devkitc/index.html
index 3a174ed688..153ce8f996 100644
--- 
a/content/docs/latest/platforms/risc-v/esp32c6/boards/esp32c6-devkitc/index.html
+++ 
b/content/docs/latest/platforms/risc-v/esp32c6/boards/esp32c6-devkitc/index.html
@@ -857,7 +857,7 @@ and 2, respectively. The RMT peripheral is better explained
 in the ESP-IDF documentation. The minimal data unit in the frame is called the
 RMT symbol, which is represented by <code class="docutils literal 
notranslate"><span class="pre">rmt_item32_t</span></code> in the driver:</p>
 <figure class="align-center">
-<img alt="../../../../../_images/rmt_symbol.png" 
src="../../../../../_images/rmt_symbol.png" />
+<img alt="../../../../../_images/rmt_symbol1.png" 
src="../../../../../_images/rmt_symbol1.png" />
 </figure>
 <p>The example <code class="docutils literal notranslate"><span 
class="pre">irtest</span></code> can be used to test the RMT peripheral. 
Connecting
 these pins externally to each other will make the transmitter send RMT items
diff --git 
a/content/docs/latest/platforms/risc-v/esp32c6/boards/esp32c6-devkitm/index.html
 
b/content/docs/latest/platforms/risc-v/esp32c6/boards/esp32c6-devkitm/index.html
index 3f375014dc..52b871a748 100644
--- 
a/content/docs/latest/platforms/risc-v/esp32c6/boards/esp32c6-devkitm/index.html
+++ 
b/content/docs/latest/platforms/risc-v/esp32c6/boards/esp32c6-devkitm/index.html
@@ -641,7 +641,7 @@ and 2, respectively. The RMT peripheral is better explained
 in the ESP-IDF documentation. The minimal data unit in the frame is called the
 RMT symbol, which is represented by <code class="docutils literal 
notranslate"><span class="pre">rmt_item32_t</span></code> in the driver:</p>
 <figure class="align-center">
-<img alt="../../../../../_images/rmt_symbol1.png" 
src="../../../../../_images/rmt_symbol1.png" />
+<img alt="../../../../../_images/rmt_symbol2.png" 
src="../../../../../_images/rmt_symbol2.png" />
 </figure>
 <p>The example <code class="docutils literal notranslate"><span 
class="pre">irtest</span></code> can be used to test the RMT peripheral. 
Connecting
 these pins externally to each other will make the transmitter send RMT items
diff --git 
a/content/docs/latest/platforms/risc-v/esp32h2/boards/esp32h2-devkit/index.html 
b/content/docs/latest/platforms/risc-v/esp32h2/boards/esp32h2-devkit/index.html
index c2e7bb4c00..1c34e27a9f 100644
--- 
a/content/docs/latest/platforms/risc-v/esp32h2/boards/esp32h2-devkit/index.html
+++ 
b/content/docs/latest/platforms/risc-v/esp32h2/boards/esp32h2-devkit/index.html
@@ -837,7 +837,7 @@ and 2, respectively. The RMT peripheral is better explained
 in the ESP-IDF documentation. The minimal data unit in the frame is called the
 RMT symbol, which is represented by <code class="docutils literal 
notranslate"><span class="pre">rmt_item32_t</span></code> in the driver:</p>
 <figure class="align-center">
-<img alt="../../../../../_images/rmt_symbol2.png" 
src="../../../../../_images/rmt_symbol2.png" />
+<img alt="../../../../../_images/rmt_symbol3.png" 
src="../../../../../_images/rmt_symbol3.png" />
 </figure>
 <p>The example <code class="docutils literal notranslate"><span 
class="pre">irtest</span></code> can be used to test the RMT peripheral. 
Connecting
 these pins externally to each other will make the transmitter send RMT items
diff --git a/content/docs/latest/searchindex.js 
b/content/docs/latest/searchindex.js
index 397e024603..4785f677d9 100644
--- a/content/docs/latest/searchindex.js
+++ b/content/docs/latest/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["ReleaseNotes/NuttX-0.1.0", 
"ReleaseNotes/NuttX-0.1.1", "ReleaseNotes/NuttX-0.1.2", 
"ReleaseNotes/NuttX-0.2.1", "ReleaseNotes/NuttX-0.2.2", 
"ReleaseNotes/NuttX-0.2.3", "ReleaseNotes/NuttX-0.2.4", 
"ReleaseNotes/NuttX-0.2.5", "ReleaseNotes/NuttX-0.2.6", 
"ReleaseNotes/NuttX-0.2.7", "ReleaseNotes/NuttX-0.2.8", 
"ReleaseNotes/NuttX-0.2.9", "ReleaseNotes/NuttX-0.3.0", 
"ReleaseNotes/NuttX-0.3.1", "ReleaseNotes/NuttX-0.3.10", 
"ReleaseNotes/NuttX-0.3.11", "ReleaseNote [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["ReleaseNotes/NuttX-0.1.0", 
"ReleaseNotes/NuttX-0.1.1", "ReleaseNotes/NuttX-0.1.2", 
"ReleaseNotes/NuttX-0.2.1", "ReleaseNotes/NuttX-0.2.2", 
"ReleaseNotes/NuttX-0.2.3", "ReleaseNotes/NuttX-0.2.4", 
"ReleaseNotes/NuttX-0.2.5", "ReleaseNotes/NuttX-0.2.6", 
"ReleaseNotes/NuttX-0.2.7", "ReleaseNotes/NuttX-0.2.8", 
"ReleaseNotes/NuttX-0.2.9", "ReleaseNotes/NuttX-0.3.0", 
"ReleaseNotes/NuttX-0.3.1", "ReleaseNotes/NuttX-0.3.10", 
"ReleaseNotes/NuttX-0.3.11", "ReleaseNote [...]
\ No newline at end of file

Reply via email to