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 629052719d Publishing docs: 6b9b216ff303e6ad644b69ffd579c70af1cd2c1f 
(web: f00550751a61b12a64aa21e37c37970b114408b4)
629052719d is described below

commit 629052719d14964b4b422c9f7e68d15a6df94d1b
Author: Xiang Xiao <[email protected]>
AuthorDate: Thu Nov 5 00:09:09 2026 +0000

    Publishing docs: 6b9b216ff303e6ad644b69ffd579c70af1cd2c1f (web: 
f00550751a61b12a64aa21e37c37970b114408b4)
---
 .../applications/mlearning/cmsis-nn/index.rst.txt  |   2 +-
 .../mlearning/tflite-micro/index.rst.txt           |   2 +-
 .../latest/_sources/applications/nsh/nsh.rst.txt   |   2 +
 .../applications/system/flatbuffers/index.rst.txt  |   2 +-
 .../guides/chip-specific/stm32_nucleo.rst.txt      |  23 ++++++++
 .../guides/chip-specific/stm32_ports.rst.txt       |  24 +++++++++
 .../os/drivers/character/leds/ws2812.rst.txt       |  13 -----
 .../_sources/os/drivers/special/syslog.rst.txt     |  38 +++++++++++++
 .../_sources/os/filesystem/file_permission.rst.txt |  28 ++++++----
 content/docs/latest/_sources/os/memory/iob.rst.txt |  26 +++++++++
 .../latest/_sources/os/scheduling/wqueue.rst.txt   |  24 +++++++++
 .../arm/stm32u0/boards/nucleo-u083rc/index.rst.txt |   2 +-
 .../platforms/sim/sim/boards/sim/index.rst.txt     |  60 +++++++++++++++++++++
 .../reference/user/03_task_control.rst.txt         |   5 +-
 .../_sources/reference/user/07_signals.rst.txt     |  10 +++-
 .../_sources/reference/user/11_network.rst.txt     |   4 +-
 .../applications/mlearning/cmsis-nn/index.html     |   2 +-
 .../applications/mlearning/tflite-micro/index.html |   2 +-
 content/docs/latest/applications/nsh/nsh.html      |   4 ++
 .../applications/system/flatbuffers/index.html     |   2 +-
 content/docs/latest/genindex.html                  |  20 +++++--
 .../latest/guides/chip-specific/stm32_nucleo.html  |  38 ++++++++++++-
 .../latest/guides/chip-specific/stm32_ports.html   |  25 +++++++++
 .../latest/guides/programs/fully_linked_elf.html   |   2 +-
 .../guides/programs/partially_linked_elf.html      |   2 +-
 content/docs/latest/objects.inv                    | Bin 261859 -> 262031 bytes
 .../latest/os/drivers/character/leds/index.html    |   1 -
 .../latest/os/drivers/character/leds/ws2812.html   |  10 ----
 content/docs/latest/os/drivers/special/index.html  |   1 +
 content/docs/latest/os/drivers/special/syslog.html |  33 ++++++++++++
 .../docs/latest/os/filesystem/file_permission.html |  27 ++++++----
 content/docs/latest/os/memory/iob.html             |  26 +++++++++
 content/docs/latest/os/scheduling/wqueue.html      |  35 ++++++++++++
 .../boards/pimoroni-pico-plus-2-w/index.html       |   2 +-
 .../arm/stm32c0/boards/nucleo-c071rb/index.html    |  60 ++++++++++++++-------
 .../arm/stm32c5/boards/nucleo-c562re/index.html    |  60 +++++++--------------
 .../arm/stm32f0/boards/nucleo-f072rb/index.html    |  60 +++++++--------------
 .../stm32f0/boards/stm32f051-discovery/index.html  |  60 +++++++--------------
 .../stm32f0/boards/stm32f072-discovery/index.html  |  60 +++++++--------------
 .../arm/stm32u0/boards/nucleo-u083rc/index.html    |   2 +-
 .../arm64/zynq-mpsoc/boards/zcu111/index.html      |  60 ++++++++++++++-------
 .../latest/platforms/sim/sim/boards/sim/index.html |  48 +++++++++++++++++
 .../latest/reference/user/03_task_control.html     |   5 +-
 content/docs/latest/reference/user/07_signals.html |  12 +++--
 content/docs/latest/reference/user/11_network.html |   4 +-
 content/docs/latest/searchindex.js                 |   2 +-
 46 files changed, 658 insertions(+), 272 deletions(-)

diff --git 
a/content/docs/latest/_sources/applications/mlearning/cmsis-nn/index.rst.txt 
b/content/docs/latest/_sources/applications/mlearning/cmsis-nn/index.rst.txt
index e5bd176c70..6987215be0 100644
--- a/content/docs/latest/_sources/applications/mlearning/cmsis-nn/index.rst.txt
+++ b/content/docs/latest/_sources/applications/mlearning/cmsis-nn/index.rst.txt
@@ -11,7 +11,7 @@ tree (DSP plus NN) for NNABLA.
 
 Enable with ``CONFIG_MLEARNING_CMSIS_NN``. The Makefile and CMake build
 download a pinned CMSIS-NN commit
-(``72e1ebf623ab1660a3e14e4e36fdcddce46f1991``) and compile:
+(``18bb0fd4ecea4b17a5a3c444c8d3a8cf28b1e68f``) and compile:
 
 - Activation functions
 - Basic math
diff --git 
a/content/docs/latest/_sources/applications/mlearning/tflite-micro/index.rst.txt
 
b/content/docs/latest/_sources/applications/mlearning/tflite-micro/index.rst.txt
index 037131f2f0..6f2d25e498 100644
--- 
a/content/docs/latest/_sources/applications/mlearning/tflite-micro/index.rst.txt
+++ 
b/content/docs/latest/_sources/applications/mlearning/tflite-micro/index.rst.txt
@@ -7,7 +7,7 @@ running ``.tflite`` models on memory-constrained targets. NuttX 
integrates
 it from ``apps/mlearning/tflite-micro``.
 
 The build downloads a pinned TFLM snapshot
-(``cfa4c91d1b36c37c7c104b9c664615e59f1abfe3``, 24 February 2024) from
+(``fd2a85dfb3bedac81920e8667565b1044c6b6a43``, 4 November 2026) from
 https://github.com/tensorflow/tflite-micro and applies NuttX patches that
 add INT8-only operator registrations and an ``extern "C"`` entry point for
 the hello-world example.
diff --git a/content/docs/latest/_sources/applications/nsh/nsh.rst.txt 
b/content/docs/latest/_sources/applications/nsh/nsh.rst.txt
index 1fb8a40000..501c34a04b 100644
--- a/content/docs/latest/_sources/applications/nsh/nsh.rst.txt
+++ b/content/docs/latest/_sources/applications/nsh/nsh.rst.txt
@@ -242,6 +242,8 @@ Built-In Variables
 ``$?``         The exit status of the last simple command. |br|
         On backgrounded commands, this variable holds only |br|
         the result of spawning the background command.
+``$!``         The PID of the last command started in the |br|
+        background.
 ======  ====================================================
 
 Current Working Directory
diff --git 
a/content/docs/latest/_sources/applications/system/flatbuffers/index.rst.txt 
b/content/docs/latest/_sources/applications/system/flatbuffers/index.rst.txt
index a7ad75b037..ee9762e58a 100644
--- a/content/docs/latest/_sources/applications/system/flatbuffers/index.rst.txt
+++ b/content/docs/latest/_sources/applications/system/flatbuffers/index.rst.txt
@@ -3,7 +3,7 @@
 =============================
 
 ``apps/system/flatbuffers`` vendors Google `FlatBuffers
-<https://github.com/google/flatbuffers>`_ ``v23.5.26`` and applies
+<https://github.com/google/flatbuffers>`_ ``v25.9.23`` and applies
 ``flatbuffers.patch``. TensorFlow Lite Micro uses the headers to read
 ``.tflite`` model schemas.
 
diff --git 
a/content/docs/latest/_sources/guides/chip-specific/stm32_nucleo.rst.txt 
b/content/docs/latest/_sources/guides/chip-specific/stm32_nucleo.rst.txt
index 635ca332b5..f5a04b9220 100644
--- a/content/docs/latest/_sources/guides/chip-specific/stm32_nucleo.rst.txt
+++ b/content/docs/latest/_sources/guides/chip-specific/stm32_nucleo.rst.txt
@@ -62,8 +62,31 @@ I2C        ``CONFIG_I2C_DRIVER``               ``/dev/i2cN`` 
for every enabled
 The file systems are not mounted when ``CONFIG_DISABLE_MOUNTPOINT`` is
 set. The IWDG uses ``STM32_LSI_FREQUENCY`` from the board ``board.h``.
 
+Timers
+------
+
+Timer and oneshot devices are registered from one option per instance,
+N being the TIM or LPTIM instance number:
+
+============================================  ===================
+Option                                        Device
+============================================  ===================
+``CONFIG_BOARD_STM32_COMMON_TIMn_TIMER``      ``/dev/timerN``
+``CONFIG_BOARD_STM32_COMMON_TIMn_ONESHOT``    ``/dev/oneshotN``
+``CONFIG_BOARD_STM32_COMMON_LPTIMn_TIMER``    ``/dev/lptimerN``
+``CONFIG_BOARD_STM32_COMMON_LPTIMn_ONESHOT``  ``/dev/lponeshotN``
+============================================  ===================
+
+The options need ``CONFIG_TIMER`` or ``CONFIG_ONESHOT`` (a TIM oneshot
+also ``CONFIG_STM32_ONESHOT``) and the ``CONFIG_STM32_TIMn`` or
+``CONFIG_STM32_LPTIMn`` instance. An instance is either a timer or a
+oneshot. A TIM oneshot counts in microseconds. An LPTIM counts on its
+kernel clock, ``STM32_LPTIMn_CLKIN`` in the board ``board.h``.
+
 Rules for boards:
 
 - Do not repeat any of the features above in the board directory.
 - Board-independent initialization is added to
   ``stm32_common_initialize()``, not to individual boards.
+- ``board.h`` defines ``STM32_LPTIMn_CLKIN`` for every LPTIM instance of
+  the chip.
diff --git 
a/content/docs/latest/_sources/guides/chip-specific/stm32_ports.rst.txt 
b/content/docs/latest/_sources/guides/chip-specific/stm32_ports.rst.txt
index 21f88a369d..8399b74b52 100644
--- a/content/docs/latest/_sources/guides/chip-specific/stm32_ports.rst.txt
+++ b/content/docs/latest/_sources/guides/chip-specific/stm32_ports.rst.txt
@@ -1120,6 +1120,30 @@ size macros must use ``STM32_`` prefix (not 
``STM32F7_``, ``STM32H5_``, etc.).
 **Per-family hardware register definitions** (in 
``arch/arm/src/<family>/hardware/``)
 must use ``STM32_XXX_`` (not ``STM32L4_XXX_``, ``STM32WB4_XXX_``, etc.).
 
+Board clock configuration convention
+------------------------------------
+
+The board ``board.h`` configures the clock tree and the family RCC code
+writes what the board defines.  All families use the same interface:
+
+* Register field values, built from the field macros of the family RCC
+  header: ``STM32_PLLCFG_*`` for the PLLs and ``STM32_RCC_<REG>_<FIELD>`` for
+  the other fields, for example::
+
+    #define STM32_PLLCFG_PLLM        RCC_PLLCFG_PLLM(4)
+    #define STM32_RCC_CFGR_PPRE1     RCC_CFGR_PPRE1_HCLKd2
+
+* Clock frequencies matching those fields: ``STM32_SYSCLK_FREQUENCY``,
+  ``STM32_HCLK_FREQUENCY``, ``STM32_PCLKn_FREQUENCY`` and the other
+  ``STM32_<clock>_FREQUENCY`` macros, as constants or expressions of other
+  frequencies.
+* Peripheral input clocks: ``STM32_TIMn_CLKIN`` and ``STM32_LPTIMn_CLKIN``
+  (see above), one for every instance of the chip.
+
+The board does not pass numeric divisors for the RCC code to convert into
+register fields.  The RCC code keeps reserved register bits at their reset
+value.
+
 Next steps
 ==========
 
diff --git 
a/content/docs/latest/_sources/os/drivers/character/leds/ws2812.rst.txt 
b/content/docs/latest/_sources/os/drivers/character/leds/ws2812.rst.txt
index 806d84dcd1..eba2d7f5f2 100644
--- a/content/docs/latest/_sources/os/drivers/character/leds/ws2812.rst.txt
+++ b/content/docs/latest/_sources/os/drivers/character/leds/ws2812.rst.txt
@@ -38,19 +38,6 @@ Upper half configuration resides in :menuselection:`Device 
Drivers --> LED suppo
 Some of the configuration options are described here - mostly for the purpose 
of helping
 with implementation of lower half drivers and board code.
 
-WS2812 driver variant
----------------------
-
-Allows user to choose between old-style SPI driver and driver split into upper 
and
-lower-half. The old style SPI driver could only drive the LEDs using a SPI 
interface,
-the new style can use any hardware supported by the lower half (including SPI,
-despite the naming.)
-
-When implementing lower half driver for new architecture, make the appropriate
-Kconfig option depend on :menuselection:`WS2812_NON_SPI_DRIVER`
-
-The old-style driver and its associated options are not described in this 
document.
-
 Number of ws2812s connected
 ---------------------------
 
diff --git a/content/docs/latest/_sources/os/drivers/special/syslog.rst.txt 
b/content/docs/latest/_sources/os/drivers/special/syslog.rst.txt
index 0532c9f235..2e4897822f 100644
--- a/content/docs/latest/_sources/os/drivers/special/syslog.rst.txt
+++ b/content/docs/latest/_sources/os/drivers/special/syslog.rst.txt
@@ -275,6 +275,42 @@ In nsh, you can view/set the syslog channel status through 
the setlogmask comman
 -  ``setlogmask <enable/disable> <channel>``. Enable or disable the
    specified channel.
 
+SYSLOG Channel Priorities
+-------------------------
+
+With ``CONFIG_SYSLOG_DROPMASK``, each channel can drop the messages of
+some priorities. The field ``sc_dropmask`` of ``struct syslog_channel_s``
+is an OR of ``LOG_MASK()`` values: the channel does not write the
+messages of these priorities. Zero (the value of a channel that does not
+set the field) means that the channel writes the messages of all
+priorities.
+
+``setlogmask()`` selects the messages for all channels. ``sc_dropmask``
+selects them for one channel. For example, the console can show only
+the urgent messages while the RAMLOG keeps all of them.
+
+``CONFIG_SYSLOG_CONSOLE_LEVEL`` sets ``sc_dropmask`` of the console
+channels (``CONFIG_SYSLOG_DEFAULT`` and ``CONFIG_SYSLOG_CONSOLE``).
+These channels write only the messages of this priority and of the more
+urgent priorities: 0 is ``LOG_EMERG``, 3 is ``LOG_ERR``, 7 is
+``LOG_DEBUG``. With 7 (the default), the console writes all messages.
+The assertion and crash reports use ``LOG_ALERT`` and ``LOG_EMERG``, so
+a value of 1 or more keeps them on the console.
+
+Output that does not come from ``syslog()`` has no priority, and all
+channels write it. This output is:
+
+-  ``syslog_write()`` (for example a write to ``/dev/log`` with
+   ``CONFIG_SYSLOG_CHARDEV``, or the console output with
+   ``CONFIG_CONSOLE_SYSLOG``).
+
+-  The output that the interrupt buffer (``CONFIG_SYSLOG_INTBUFFER``)
+   saved. With the interrupt buffer, the messages from interrupt
+   handlers lose their priority.
+
+Kernel code that writes the text of a message with ``syslog_write()``
+can call ``syslog_write_priority()`` instead, to give its priority.
+
 Interrupt Level SYSLOG Output
 -----------------------------
 
@@ -680,6 +716,8 @@ Core Channel Settings
 - ``CONFIG_SYSLOG_MAX_CHANNELS``: Set the maximum number of syslog channels 
(default: 1 in the architecture, configurable per platform).
 - ``CONFIG_SYSLOG_DEFAULT``: Enable the **default channel** (maps to UART 
output).
 - ``CONFIG_SYSLOG_CRLF``: (Shared) Applies line ending conversion to all 
channel output.
+- ``CONFIG_SYSLOG_DROPMASK``: Each channel can drop messages by priority 
(default: n). See `SYSLOG Channel Priorities`_.
+- ``CONFIG_SYSLOG_CONSOLE_LEVEL``: The lowest message priority that the 
console channels write (default: 7, all messages). See `SYSLOG Channel 
Priorities`_.
 
 Individual Channel & Destination Options
 ----------------------------------------
diff --git a/content/docs/latest/_sources/os/filesystem/file_permission.rst.txt 
b/content/docs/latest/_sources/os/filesystem/file_permission.rst.txt
index 93375a67ff..01923b7e6b 100644
--- a/content/docs/latest/_sources/os/filesystem/file_permission.rst.txt
+++ b/content/docs/latest/_sources/os/filesystem/file_permission.rst.txt
@@ -37,13 +37,17 @@ Helpers
   when ``CONFIG_FS_PERMISSION`` is disabled.
 
 ``inode_checkpathperm``
-  Require ``X_OK`` on every ancestor of an inode, and on the inode itself
-  when it is a pseudo directory or a mountpoint (directory search /
+  Require ``X_OK`` on every ancestor of an inode (directory search /
   traverse).  If ``amode`` is non-zero, also require that access on the
   inode.  Takes the inode tree read lock unless ``INODE_CHECK_LOCKED`` is
   set (caller already holds ``inode_lock`` / ``inode_rlock``).  Empty
   macro returning ``0`` when ``CONFIG_FS_PERMISSION`` is disabled.
 
+``INODE_PATH_AMODE``
+  The ``amode`` for the inode that ``inode_find`` returns: ``X_OK`` on a
+  mountpoint when the path goes into the volume, and nothing on the last
+  path component.
+
 ``inode_checkopenperm``
   Validate that the inode supports the requested open access, then apply
   mode checks for non-mountpoint inodes.
@@ -78,15 +82,20 @@ Applying the mount directory's mode bits as file open modes 
would require
 read/write on the mount directory merely to open a file beneath it.
 
 Traverse is separate: callers use ``inode_checkpathperm`` so parent
-directories and the mountpoint itself still require ``X_OK``.
+directories, and the mountpoint for a path that goes into the volume, still
+require ``X_OK``.  As POSIX specifies, the last path component needs no search
+permission: a directory with no execute bit can still be found with ``stat()``
+and changed with ``chmod()``.  ``chdir()`` is different: it needs search
+permission on the directory itself.
 
 Typical order after a successful ``inode_find``:
 
-1. ``inode_checkpathperm(inode, 0, 0)`` — search permission on the path
-   prefix (and on the mountpoint when entering a volume).  Call sites that
-   already hold the tree lock pass ``INODE_CHECK_LOCKED``; mount and
-   pseudoFS create/remove may pass a non-zero ``amode`` (for example
-   ``W_OK``) to combine traverse and target checks in one call.
+1. ``inode_checkpathperm(inode, INODE_PATH_AMODE(&desc), 0)`` — search
+   permission on the path prefix (and on the mountpoint when entering a
+   volume).  Call sites that already hold the tree lock pass
+   ``INODE_CHECK_LOCKED``; mount and pseudoFS create/remove pass
+   ``W_OK | X_OK`` on the directory to combine traverse and target checks in
+   one call.
 2. Operation-specific checks — ``inode_checkopenperm``, or the
    filesystem's own methods for paths inside a mount.
 
@@ -115,7 +124,8 @@ Where the checks run
   ``inode_rlock`` unless the caller already holds the tree lock
   (``INODE_CHECK_LOCKED``).
 * Inside ``inode_reserve`` / ``inode_remove`` for pseudoFS create and remove
-  (ancestor ``X_OK`` and parent ``W_OK`` in one call, under ``inode_lock``).
+  (ancestor and parent ``X_OK`` and parent ``W_OK`` in one call, under
+  ``inode_lock``).
 
 Who enforces what
 -----------------
diff --git a/content/docs/latest/_sources/os/memory/iob.rst.txt 
b/content/docs/latest/_sources/os/memory/iob.rst.txt
index 54c7f266db..e238ea157e 100644
--- a/content/docs/latest/_sources/os/memory/iob.rst.txt
+++ b/content/docs/latest/_sources/os/memory/iob.rst.txt
@@ -167,8 +167,11 @@ Public Function Prototypes
   - :c:func:`iob_free_queue_qentry()`
   - :c:func:`iob_get_queue_size()`
   - :c:func:`iob_copyin()`
+  - :c:func:`iob_copyin_iov()`
   - :c:func:`iob_trycopyin()`
+  - :c:func:`iob_trycopyin_iov()`
   - :c:func:`iob_copyout()`
+  - :c:func:`iob_copyout_iov()`
   - :c:func:`iob_clone()`
   - :c:func:`iob_clone_partial()`
   - :c:func:`iob_concat()`
@@ -255,6 +258,14 @@ Public Function Prototypes
   the I/O buffer chain, starting at ``offset``, extending the chain
   as necessary.
 
+.. c:function:: int iob_copyin_iov(FAR struct iob_s *iob, \
+                      FAR const struct iovec *iov, unsigned int iovlen, \
+                      int offset, bool throttled);
+
+  Copy data from an ``iov`` array of user buffers into the I/O
+  buffer chain, starting at ``offset``, extending the chain as
+  necessary.
+
 .. c:function:: int iob_trycopyin(FAR struct iob_s *iob, FAR const uint8_t 
*src, \
                      unsigned int len, unsigned int offset, bool throttled);
 
@@ -262,6 +273,14 @@ Public Function Prototypes
   the I/O buffer chain, starting at ``offset``, extending the chain
   as necessary BUT without waiting if buffers are not available.
 
+.. c:function:: int iob_trycopyin_iov(FAR struct iob_s *iob, \
+                         FAR const struct iovec *iov, unsigned int iovlen, \
+                         int offset, bool throttled);
+
+  Copy data from an ``iov`` array of user buffers into the I/O
+  buffer chain, starting at ``offset``, extending the chain as
+  necessary BUT without waiting if buffers are not available.
+
 .. c:function:: int iob_copyout(FAR uint8_t *dest, FAR const struct iob_s 
*iob, \
                    unsigned int len, unsigned int offset);
 
@@ -269,6 +288,13 @@ Public Function Prototypes
   buffer starting at ``offset`` in the I/O buffer, returning that
   actual number of bytes copied out.
 
+.. c:function:: int iob_copyout_iov(FAR const struct iovec *iov, unsigned int 
iovlen, \
+                       FAR const struct iob_s *iob, unsigned int len, \
+                       int offset);
+
+  Copy data ``len`` bytes of data from the I/O buffer chain
+  starting at ``offset`` into the user ``iov`` array of buffers.
+
 .. c:function:: int iob_clone(FAR struct iob_s *iob1, FAR struct iob_s *iob2, \
                    bool throttled, bool block);
 
diff --git a/content/docs/latest/_sources/os/scheduling/wqueue.rst.txt 
b/content/docs/latest/_sources/os/scheduling/wqueue.rst.txt
index c5277a3d61..cb390d6365 100644
--- a/content/docs/latest/_sources/os/scheduling/wqueue.rst.txt
+++ b/content/docs/latest/_sources/os/scheduling/wqueue.rst.txt
@@ -275,6 +275,20 @@ Work Queue Interfaces
   :return: Zero on success, ``-EINVAL`` for an invalid or predefined
     queue, or ``-EDEADLK`` when called by one of the queue's workers.
 
+.. c:function:: bool work_queue_in_queue(FAR struct kwork_wqueue_s *wqueue)
+
+  Report whether the caller runs on one of the queue's worker threads.
+  Kernel only.
+
+  :return: ``true`` if the caller is a worker of ``wqueue``.
+
+.. c:function:: void work_queue_dispatch(FAR struct kwork_wqueue_s *wqueue)
+
+  Run the expired work of ``wqueue`` on the calling thread. A callback
+  that waits for a result produced by another work item of the same
+  queue uses this to let that item run. Does nothing when the caller is
+  not one of the queue's workers. Kernel only.
+
 .. c:function:: int work_queue_wq(FAR struct kwork_wqueue_s *wqueue, \
                FAR struct work_s *work, worker_t worker, FAR void *arg, \
                clock_t delay)
@@ -339,6 +353,16 @@ Work Queue Interfaces
 
   :return: The worker priority on success or a negated errno on failure.
 
+.. c:function:: int work_queue_setpriority_wq( \
+               FAR struct kwork_wqueue_s *wqueue, int priority)
+
+  Set the scheduling priority of every worker of a custom queue.
+  ``work_queue_setpriority(qid, priority)`` does the same for ``HPWORK``
+  or ``LPWORK``. Kernel only.
+
+  :return: Zero on success or ``-EINVAL`` for an invalid queue or
+    priority.
+
 .. c:function:: int work_signal(int qid)
 
   Signal the worker thread to process the work
diff --git 
a/content/docs/latest/_sources/platforms/arm/stm32u0/boards/nucleo-u083rc/index.rst.txt
 
b/content/docs/latest/_sources/platforms/arm/stm32u0/boards/nucleo-u083rc/index.rst.txt
index acaff4e47f..339f09b873 100644
--- 
a/content/docs/latest/_sources/platforms/arm/stm32u0/boards/nucleo-u083rc/index.rst.txt
+++ 
b/content/docs/latest/_sources/platforms/arm/stm32u0/boards/nucleo-u083rc/index.rst.txt
@@ -49,7 +49,7 @@ Enabled features:
 
 - Quadrature encoder on TIM3 (PA6/PA7, D12/D11)
 
-- Timer driver on TIM6 (/dev/timer0)
+- Timer driver on TIM6 (/dev/timer6)
 
 - IWDG and WWDG watchdogs
 
diff --git 
a/content/docs/latest/_sources/platforms/sim/sim/boards/sim/index.rst.txt 
b/content/docs/latest/_sources/platforms/sim/sim/boards/sim/index.rst.txt
index 94a2583796..b2e3cfb35b 100644
--- a/content/docs/latest/_sources/platforms/sim/sim/boards/sim/index.rst.txt
+++ b/content/docs/latest/_sources/platforms/sim/sim/boards/sim/index.rst.txt
@@ -1163,6 +1163,66 @@ Of course, this configuration can only be used in 
environments that support X11!
       -CONFIG_EXAMPLES_NXTERM=n
       +CONFIG_EXAMPLES_NXTERM=y
 
+nxcamera
+--------
+
+This configuration tests the V4L2 drivers. The sim camera driver
+(``CONFIG_SIM_CAMERA``) opens the V4L2 capture devices of the host and
+registers each one as ``/dev/videoN`` in the simulator, and ``nxcamera``
+streams frames from such a device to the framebuffer or to a file.
+
+**Capture**
+
+A host without a camera can use the ``v4l2loopback`` module, fed with a test
+pattern by FFmpeg:
+
+.. code:: console
+
+   $ sudo modprobe v4l2loopback
+   $ ffmpeg -re -f lavfi -i testsrc=size=640x480:rate=30 \
+       -pix_fmt yuv420p -f v4l2 /dev/video0
+
+To write ten frames to a file on the host, enable ``CONFIG_FS_HOSTFS`` and
+``CONFIG_SIM_HOSTFS`` and run:
+
+.. code:: console
+
+   nsh> mount -t hostfs -o fs=/tmp /host
+   nsh> nxcamera
+   nxcamera> input /dev/video0
+   nxcamera> output /host/frames.yuv 10
+   nxcamera> stream 640 480 30 YU12
+   nxcamera> q
+
+``frames.yuv`` then holds ten 640x480 YUV 4:2:0 frames.
+
+**Memory-to-memory decoding**
+
+The sim decoder (``CONFIG_SIM_VIDEO_DECODER``) is a V4L2 memory-to-memory
+device, ``/dev/video1`` by default, that decodes H.264 with OpenH264. On top of
+this configuration it needs:
+
+* ``CONFIG_VIDEOUTILS_OPENH264`` and ``CONFIG_SIM_VIDEO_DECODER``
+* ``CONFIG_HAVE_CXX`` and ``CONFIG_HAVE_CXXINITIALIZE``, for the C++ runtime
+  OpenH264 uses (the default minimal C++ library is enough)
+* ``CONFIG_SYSTEM_NXCODEC``, ``CONFIG_FS_HOSTFS`` and ``CONFIG_SIM_HOSTFS``
+* ``CONFIG_NSH_MAXARGUMENTS=16``, for the ``nxcodec`` command line
+
+Create a stream on the host:
+
+.. code:: console
+
+   $ ffmpeg -f lavfi -i testsrc=size=320x240:rate=30 -t 2 -c:v libx264 \
+       -profile:v baseline -pix_fmt yuv420p -f h264 /tmp/t.h264
+
+and decode it in the simulator to YUV 4:2:0 frames:
+
+.. code:: console
+
+   nsh> mount -t hostfs -o fs=/tmp /host
+   nsh> cd /host
+   nsh> nxcodec -d /dev/video1 -s 320x240 -f H264 -i t.h264 -f YU12 -o o.yuv
+
 nxdoom
 ------
 
diff --git 
a/content/docs/latest/_sources/reference/user/03_task_control.rst.txt 
b/content/docs/latest/_sources/reference/user/03_task_control.rst.txt
index b133e3f68e..fb8dd1a620 100644
--- a/content/docs/latest/_sources/reference/user/03_task_control.rst.txt
+++ b/content/docs/latest/_sources/reference/user/03_task_control.rst.txt
@@ -422,8 +422,9 @@ Functions
 
   .. note:: ``CONFIG_LIBC_MAX_EXITFUNS`` must be larger than 0 to build
     ``atexit()``, ``on_exit()`` and ``at_quick_exit()``.  A C++ ELF
-    program (built with ``-fno-use-cxa-atexit``) with a static object in
-    a function calls ``atexit()`` too.
+    program (built with ``-fno-use-cxa-atexit``) with a static object
+    calls ``atexit()`` too, so the default is 1 when both ``CONFIG_ELF``
+    and ``CONFIG_HAVE_CXX`` are enabled.
 
   The number of functions is limited only by memory: the first
   ``CONFIG_LIBC_MAX_EXITFUNS`` entries are in the task information, the
diff --git a/content/docs/latest/_sources/reference/user/07_signals.rst.txt 
b/content/docs/latest/_sources/reference/user/07_signals.rst.txt
index d8f396a09d..ae0cadaaec 100644
--- a/content/docs/latest/_sources/reference/user/07_signals.rst.txt
+++ b/content/docs/latest/_sources/reference/user/07_signals.rst.txt
@@ -118,6 +118,9 @@ multi-threaded task group:
 -  If a task group receives a signal and more than one thread is waiting
    on that signal, then one and only one indeterminate thread out of
    that waiting group will receive the signal.
+-  If the action of the signal is the default action *Abnormal
+   Termination*, all threads of the task group end at once, also the
+   threads that block the signal.
 
 You can mask out that signal using ''sigprocmask()'' (or
 ''pthread_sigmask()''). That signal will then be effectively disabled
@@ -248,6 +251,9 @@ provided by NuttX:
   in the location pointed to by the argument oact. If the argument act is
   NULL, signal handling is unchanged by this function call; thus, the call
   can be used to inquire about the current handling of a given signal.
+  With ``CONFIG_SIG_DEFAULT``, oact reports ``SIG_DFL`` for a signal at its
+  default action, also when the default action is to ignore the signal
+  (``SIGCHLD``, for example).
 
   When a signal is caught by a signal-catching function installed by the
   sigaction() function, a new signal mask is calculated and installed for
@@ -273,8 +279,8 @@ provided by NuttX:
   **POSIX Compatibility:** Comparable to the POSIX interface of the same
   name. Differences from the POSIX implementation include:
 
-    -  There are no default actions so the special value ``SIG_DFL`` is
-       treated like ``SIG_IGN``.
+    -  Without ``CONFIG_SIG_DEFAULT``, there are no default actions so the
+       special value ``SIG_DFL`` is treated like ``SIG_IGN``.
     -  All ``sa_flags`` in struct sigaction of act input are ignored (all
        treated like ``SA_SIGINFO``). The one exception is if
        ``CONFIG_SCHED_CHILD_STATUS`` is defined; then ``SA_NOCLDWAIT`` is
diff --git a/content/docs/latest/_sources/reference/user/11_network.rst.txt 
b/content/docs/latest/_sources/reference/user/11_network.rst.txt
index 88033b4b83..fc74c5fd7a 100644
--- a/content/docs/latest/_sources/reference/user/11_network.rst.txt
+++ b/content/docs/latest/_sources/reference/user/11_network.rst.txt
@@ -305,8 +305,8 @@ the following paragraphs.
   -  ``EOPNOTSUPP``. Some bit in the flags argument is inappropriate for
      the socket type.
   -  ``EPIPE``. The local end has been shut down on a connection oriented
-     socket. In this case the process will also receive a SIGPIPE unless
-     MSG_NOSIGNAL is set.
+     socket, or the peer closed the connection. In this case the process
+     will also receive a SIGPIPE unless MSG_NOSIGNAL is set.
 
 .. c:function:: ssize_t recv(int sockfd, void *buf, size_t len, int flags);
 
diff --git a/content/docs/latest/applications/mlearning/cmsis-nn/index.html 
b/content/docs/latest/applications/mlearning/cmsis-nn/index.html
index 23ada8d346..b03f8c1ea2 100644
--- a/content/docs/latest/applications/mlearning/cmsis-nn/index.html
+++ b/content/docs/latest/applications/mlearning/cmsis-nn/index.html
@@ -214,7 +214,7 @@ TensorFlow Lite Micro uses when <code class="docutils 
literal notranslate"><span
 tree (DSP plus NN) for NNABLA.</p>
 <p>Enable with <code class="docutils literal notranslate"><span 
class="pre">CONFIG_MLEARNING_CMSIS_NN</span></code>. The Makefile and CMake 
build
 download a pinned CMSIS-NN commit
-(<code class="docutils literal notranslate"><span 
class="pre">72e1ebf623ab1660a3e14e4e36fdcddce46f1991</span></code>) and 
compile:</p>
+(<code class="docutils literal notranslate"><span 
class="pre">18bb0fd4ecea4b17a5a3c444c8d3a8cf28b1e68f</span></code>) and 
compile:</p>
 <ul class="simple">
 <li><p>Activation functions</p></li>
 <li><p>Basic math</p></li>
diff --git a/content/docs/latest/applications/mlearning/tflite-micro/index.html 
b/content/docs/latest/applications/mlearning/tflite-micro/index.html
index cf94108686..1ba59806e8 100644
--- a/content/docs/latest/applications/mlearning/tflite-micro/index.html
+++ b/content/docs/latest/applications/mlearning/tflite-micro/index.html
@@ -223,7 +223,7 @@
 running <code class="docutils literal notranslate"><span 
class="pre">.tflite</span></code> models on memory-constrained targets. NuttX 
integrates
 it from <code class="docutils literal notranslate"><span 
class="pre">apps/mlearning/tflite-micro</span></code>.</p>
 <p>The build downloads a pinned TFLM snapshot
-(<code class="docutils literal notranslate"><span 
class="pre">cfa4c91d1b36c37c7c104b9c664615e59f1abfe3</span></code>, 24 February 
2024) from
+(<code class="docutils literal notranslate"><span 
class="pre">fd2a85dfb3bedac81920e8667565b1044c6b6a43</span></code>, 4 November 
2026) from
 <a class="reference external" 
href="https://github.com/tensorflow/tflite-micro";>https://github.com/tensorflow/tflite-micro</a>
 and applies NuttX patches that
 add INT8-only operator registrations and an <code class="docutils literal 
notranslate"><span class="pre">extern</span> <span 
class="pre">&quot;C&quot;</span></code> entry point for
 the hello-world example.</p>
diff --git a/content/docs/latest/applications/nsh/nsh.html 
b/content/docs/latest/applications/nsh/nsh.html
index c0d76b722e..9816f74aa2 100644
--- a/content/docs/latest/applications/nsh/nsh.html
+++ b/content/docs/latest/applications/nsh/nsh.html
@@ -482,6 +482,10 @@ with the next command immediately following the <code 
class="docutils literal no
 On backgrounded commands, this variable holds only <br/>
 the result of spawning the background command.</p></td>
 </tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">$!</span></code></p></td>
+<td><p>The PID of the last command started in the <br/>
+background.</p></td>
+</tr>
 </tbody>
 </table>
 </section>
diff --git a/content/docs/latest/applications/system/flatbuffers/index.html 
b/content/docs/latest/applications/system/flatbuffers/index.html
index aede3d1f80..3321c10433 100644
--- a/content/docs/latest/applications/system/flatbuffers/index.html
+++ b/content/docs/latest/applications/system/flatbuffers/index.html
@@ -292,7 +292,7 @@
              
   <section id="flatbuffers-flatbuffers">
 <h1><code class="docutils literal notranslate"><span 
class="pre">flatbuffers</span></code> FlatBuffers<a class="headerlink" 
href="#flatbuffers-flatbuffers" title="Permalink to this heading"></a></h1>
-<p><code class="docutils literal notranslate"><span 
class="pre">apps/system/flatbuffers</span></code> vendors Google <a 
class="reference external" 
href="https://github.com/google/flatbuffers";>FlatBuffers</a> <code 
class="docutils literal notranslate"><span class="pre">v23.5.26</span></code> 
and applies
+<p><code class="docutils literal notranslate"><span 
class="pre">apps/system/flatbuffers</span></code> vendors Google <a 
class="reference external" 
href="https://github.com/google/flatbuffers";>FlatBuffers</a> <code 
class="docutils literal notranslate"><span class="pre">v25.9.23</span></code> 
and applies
 <code class="docutils literal notranslate"><span 
class="pre">flatbuffers.patch</span></code>. TensorFlow Lite Micro uses the 
headers to read
 <code class="docutils literal notranslate"><span 
class="pre">.tflite</span></code> model schemas.</p>
 <p>Enable <code class="docutils literal notranslate"><span 
class="pre">CONFIG_SYSTEM_FLATBUFFERS</span></code>. Include path:
diff --git a/content/docs/latest/genindex.html 
b/content/docs/latest/genindex.html
index 77ade2f8da..d3a012242d 100644
--- a/content/docs/latest/genindex.html
+++ b/content/docs/latest/genindex.html
@@ -676,8 +676,12 @@
       <li><a href="os/memory/iob.html#c.iob_contig">iob_contig (C function)</a>
 </li>
       <li><a href="os/memory/iob.html#c.iob_copyin">iob_copyin (C function)</a>
+</li>
+      <li><a href="os/memory/iob.html#c.iob_copyin_iov">iob_copyin_iov (C 
function)</a>
 </li>
       <li><a href="os/memory/iob.html#c.iob_copyout">iob_copyout (C 
function)</a>
+</li>
+      <li><a href="os/memory/iob.html#c.iob_copyout_iov">iob_copyout_iov (C 
function)</a>
 </li>
       <li><a href="os/memory/iob.html#c.iob_count">iob_count (C function)</a>
 </li>
@@ -690,11 +694,11 @@
       <li><a href="os/memory/iob.html#c.iob_free_queue">iob_free_queue (C 
function)</a>
 </li>
       <li><a 
href="os/memory/iob.html#c.iob_free_queue_qentry">iob_free_queue_qentry (C 
function)</a>
-</li>
-      <li><a href="os/memory/iob.html#c.iob_get_queue_size">iob_get_queue_size 
(C function)</a>
 </li>
   </ul></td>
   <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="os/memory/iob.html#c.iob_get_queue_size">iob_get_queue_size 
(C function)</a>
+</li>
       <li><a href="os/memory/iob.html#c.iob_initialize">iob_initialize (C 
function)</a>
 </li>
       <li><a href="os/memory/iob.html#c.iob_pack">iob_pack (C function)</a>
@@ -714,6 +718,8 @@
       <li><a href="os/memory/iob.html#c.iob_tryalloc">iob_tryalloc (C 
function)</a>
 </li>
       <li><a href="os/memory/iob.html#c.iob_trycopyin">iob_trycopyin (C 
function)</a>
+</li>
+      <li><a href="os/memory/iob.html#c.iob_trycopyin_iov">iob_trycopyin_iov 
(C function)</a>
 </li>
       <li><a href="glossary.html#term-IOCTL"><strong>IOCTL</strong></a>
 </li>
@@ -2284,12 +2290,12 @@
 </li>
       <li><a 
href="os/drivers/character/timers/watchdog.html#c.WDIOC_START">WDIOC_START (C 
macro)</a>
 </li>
-  </ul></td>
-  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a 
href="os/drivers/character/timers/watchdog.html#c.WDIOC_STOP">WDIOC_STOP (C 
macro)</a>
 </li>
       <li><a href="glossary.html#term-WDT"><strong>WDT</strong></a>
 </li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="glossary.html#term-WLAN"><strong>WLAN</strong></a>
 </li>
       <li><a href="os/scheduling/wqueue.html#c.work_available">work_available 
(C function)</a>
@@ -2303,12 +2309,18 @@
       <li><a href="os/scheduling/wqueue.html#c.work_queue">work_queue (C 
function)</a>
 </li>
       <li><a 
href="os/scheduling/wqueue.html#c.work_queue_create">work_queue_create (C 
function)</a>
+</li>
+      <li><a 
href="os/scheduling/wqueue.html#c.work_queue_dispatch">work_queue_dispatch (C 
function)</a>
 </li>
       <li><a 
href="os/scheduling/wqueue.html#c.work_queue_free">work_queue_free (C 
function)</a>
+</li>
+      <li><a 
href="os/scheduling/wqueue.html#c.work_queue_in_queue">work_queue_in_queue (C 
function)</a>
 </li>
       <li><a 
href="os/scheduling/wqueue.html#c.work_queue_next_wq">work_queue_next_wq (C 
function)</a>
 </li>
       <li><a 
href="os/scheduling/wqueue.html#c.work_queue_priority_wq">work_queue_priority_wq
 (C function)</a>
+</li>
+      <li><a 
href="os/scheduling/wqueue.html#c.work_queue_setpriority_wq">work_queue_setpriority_wq
 (C function)</a>
 </li>
       <li><a href="os/scheduling/wqueue.html#c.work_queue_wq">work_queue_wq (C 
function)</a>
 </li>
diff --git a/content/docs/latest/guides/chip-specific/stm32_nucleo.html 
b/content/docs/latest/guides/chip-specific/stm32_nucleo.html
index 51bd459303..f224789b62 100644
--- a/content/docs/latest/guides/chip-specific/stm32_nucleo.html
+++ b/content/docs/latest/guides/chip-specific/stm32_nucleo.html
@@ -199,7 +199,10 @@
 <li class="toctree-l2"><a class="reference internal" 
href="smaller_vector_tables.html">Smaller Vector Tables</a></li>
 <li class="toctree-l2 current"><a class="current reference internal" 
href="#">STM32 Nucleo standard</a><ul>
 <li class="toctree-l3"><a class="reference internal" 
href="#serial-console">Serial console</a></li>
-<li class="toctree-l3"><a class="reference internal" 
href="#common-board-initialization">Common board initialization</a></li>
+<li class="toctree-l3"><a class="reference internal" 
href="#common-board-initialization">Common board initialization</a><ul>
+<li class="toctree-l4"><a class="reference internal" 
href="#timers">Timers</a></li>
+</ul>
+</li>
 </ul>
 </li>
 <li class="toctree-l2"><a class="reference internal" 
href="stm32_ports.html">STM32 ports</a></li>
@@ -320,13 +323,46 @@ instances</p></td>
 </table>
 <p>The file systems are not mounted when <code class="docutils literal 
notranslate"><span class="pre">CONFIG_DISABLE_MOUNTPOINT</span></code> is
 set. The IWDG uses <code class="docutils literal notranslate"><span 
class="pre">STM32_LSI_FREQUENCY</span></code> from the board <code 
class="docutils literal notranslate"><span 
class="pre">board.h</span></code>.</p>
+<section id="timers">
+<h3>Timers<a class="headerlink" href="#timers" title="Permalink to this 
heading"></a></h3>
+<p>Timer and oneshot devices are registered from one option per instance,
+N being the TIM or LPTIM instance number:</p>
+<table class="docutils align-default">
+<thead>
+<tr class="row-odd"><th class="head"><p>Option</p></th>
+<th class="head"><p>Device</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">CONFIG_BOARD_STM32_COMMON_TIMn_TIMER</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span 
class="pre">/dev/timerN</span></code></p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">CONFIG_BOARD_STM32_COMMON_TIMn_ONESHOT</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span 
class="pre">/dev/oneshotN</span></code></p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">CONFIG_BOARD_STM32_COMMON_LPTIMn_TIMER</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span 
class="pre">/dev/lptimerN</span></code></p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">CONFIG_BOARD_STM32_COMMON_LPTIMn_ONESHOT</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span 
class="pre">/dev/lponeshotN</span></code></p></td>
+</tr>
+</tbody>
+</table>
+<p>The options need <code class="docutils literal notranslate"><span 
class="pre">CONFIG_TIMER</span></code> or <code class="docutils literal 
notranslate"><span class="pre">CONFIG_ONESHOT</span></code> (a TIM oneshot
+also <code class="docutils literal notranslate"><span 
class="pre">CONFIG_STM32_ONESHOT</span></code>) and the <code class="docutils 
literal notranslate"><span class="pre">CONFIG_STM32_TIMn</span></code> or
+<code class="docutils literal notranslate"><span 
class="pre">CONFIG_STM32_LPTIMn</span></code> instance. An instance is either a 
timer or a
+oneshot. A TIM oneshot counts in microseconds. An LPTIM counts on its
+kernel clock, <code class="docutils literal notranslate"><span 
class="pre">STM32_LPTIMn_CLKIN</span></code> in the board <code class="docutils 
literal notranslate"><span class="pre">board.h</span></code>.</p>
 <p>Rules for boards:</p>
 <ul class="simple">
 <li><p>Do not repeat any of the features above in the board directory.</p></li>
 <li><p>Board-independent initialization is added to
 <code class="docutils literal notranslate"><span 
class="pre">stm32_common_initialize()</span></code>, not to individual 
boards.</p></li>
+<li><p><code class="docutils literal notranslate"><span 
class="pre">board.h</span></code> defines <code class="docutils literal 
notranslate"><span class="pre">STM32_LPTIMn_CLKIN</span></code> for every LPTIM 
instance of
+the chip.</p></li>
 </ul>
 </section>
+</section>
 </section>
 
 
diff --git a/content/docs/latest/guides/chip-specific/stm32_ports.html 
b/content/docs/latest/guides/chip-specific/stm32_ports.html
index c47fb6ffeb..165f5f84cf 100644
--- a/content/docs/latest/guides/chip-specific/stm32_ports.html
+++ b/content/docs/latest/guides/chip-specific/stm32_ports.html
@@ -240,6 +240,7 @@
 <li class="toctree-l3"><a class="reference internal" 
href="#source-naming-rules">Source naming rules</a><ul>
 <li class="toctree-l4"><a class="reference internal" 
href="#ip-core-naming-convention">IP-core naming convention</a></li>
 <li class="toctree-l4"><a class="reference internal" 
href="#hardware-definition-naming-convention">Hardware definition naming 
convention</a></li>
+<li class="toctree-l4"><a class="reference internal" 
href="#board-clock-configuration-convention">Board clock configuration 
convention</a></li>
 </ul>
 </li>
 <li class="toctree-l3"><a class="reference internal" href="#next-steps">Next 
steps</a><ul>
@@ -3329,6 +3330,30 @@ size macros must use <code class="docutils literal 
notranslate"><span class="pre
 <p><strong>Per-family hardware register definitions</strong> (in <code 
class="docutils literal notranslate"><span 
class="pre">arch/arm/src/&lt;family&gt;/hardware/</span></code>)
 must use <code class="docutils literal notranslate"><span 
class="pre">STM32_XXX_</span></code> (not <code class="docutils literal 
notranslate"><span class="pre">STM32L4_XXX_</span></code>, <code 
class="docutils literal notranslate"><span 
class="pre">STM32WB4_XXX_</span></code>, etc.).</p>
 </section>
+<section id="board-clock-configuration-convention">
+<h3>Board clock configuration convention<a class="headerlink" 
href="#board-clock-configuration-convention" title="Permalink to this 
heading"></a></h3>
+<p>The board <code class="docutils literal notranslate"><span 
class="pre">board.h</span></code> configures the clock tree and the family RCC 
code
+writes what the board defines.  All families use the same interface:</p>
+<ul>
+<li><p>Register field values, built from the field macros of the family RCC
+header: <code class="docutils literal notranslate"><span 
class="pre">STM32_PLLCFG_*</span></code> for the PLLs and <code class="docutils 
literal notranslate"><span 
class="pre">STM32_RCC_&lt;REG&gt;_&lt;FIELD&gt;</span></code> for
+the other fields, for example:</p>
+<div class="highlight-none notranslate"><div 
class="highlight"><pre><span></span>#define STM32_PLLCFG_PLLM        
RCC_PLLCFG_PLLM(4)
+#define STM32_RCC_CFGR_PPRE1     RCC_CFGR_PPRE1_HCLKd2
+</pre></div>
+</div>
+</li>
+<li><p>Clock frequencies matching those fields: <code class="docutils literal 
notranslate"><span class="pre">STM32_SYSCLK_FREQUENCY</span></code>,
+<code class="docutils literal notranslate"><span 
class="pre">STM32_HCLK_FREQUENCY</span></code>, <code class="docutils literal 
notranslate"><span class="pre">STM32_PCLKn_FREQUENCY</span></code> and the other
+<code class="docutils literal notranslate"><span 
class="pre">STM32_&lt;clock&gt;_FREQUENCY</span></code> macros, as constants or 
expressions of other
+frequencies.</p></li>
+<li><p>Peripheral input clocks: <code class="docutils literal 
notranslate"><span class="pre">STM32_TIMn_CLKIN</span></code> and <code 
class="docutils literal notranslate"><span 
class="pre">STM32_LPTIMn_CLKIN</span></code>
+(see above), one for every instance of the chip.</p></li>
+</ul>
+<p>The board does not pass numeric divisors for the RCC code to convert into
+register fields.  The RCC code keeps reserved register bits at their reset
+value.</p>
+</section>
 </section>
 <section id="next-steps">
 <h2>Next steps<a class="headerlink" href="#next-steps" title="Permalink to 
this heading"></a></h2>
diff --git a/content/docs/latest/guides/programs/fully_linked_elf.html 
b/content/docs/latest/guides/programs/fully_linked_elf.html
index 04a1490cdc..0c2df8d07a 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="18974697-65d6-4587-90a3-b6f6016d094b" 
name="18974697-65d6-4587-90a3-b6f6016d094b" type="checkbox"><label 
class="sphinx_collapse__label" for="18974697-65d6-4587-90a3-b6f6016d094b"><i 
class="sphinx_collapse__icon"></i>Show content:</label><div 
class="sphinx_collapse__content docutils">
+<input class="sphinx_collapse__input" 
id="4751e901-0789-4964-913e-b695ba06ff31" 
name="4751e901-0789-4964-913e-b695ba06ff31" type="checkbox"><label 
class="sphinx_collapse__label" for="4751e901-0789-4964-913e-b695ba06ff31"><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 e7a998ecb1..4dbe26ed82 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="d61d31d6-e9f2-4b59-b21c-8320569a1d87" 
name="d61d31d6-e9f2-4b59-b21c-8320569a1d87" type="checkbox"><label 
class="sphinx_collapse__label" for="d61d31d6-e9f2-4b59-b21c-8320569a1d87"><i 
class="sphinx_collapse__icon"></i>Show content:</label><div 
class="sphinx_collapse__content docutils">
+<input class="sphinx_collapse__input" 
id="ed36ffce-0ec5-487e-9522-a04361ba3136" 
name="ed36ffce-0ec5-487e-9522-a04361ba3136" type="checkbox"><label 
class="sphinx_collapse__label" for="ed36ffce-0ec5-487e-9522-a04361ba3136"><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 4d6bcce4dd..cd9679311c 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/character/leds/index.html 
b/content/docs/latest/os/drivers/character/leds/index.html
index 3e2375ccd4..11c1b47b02 100644
--- a/content/docs/latest/os/drivers/character/leds/index.html
+++ b/content/docs/latest/os/drivers/character/leds/index.html
@@ -336,7 +336,6 @@ that only <code class="docutils literal notranslate"><span 
class="pre">LED_INIRQ
 <li class="toctree-l1"><a class="reference internal" 
href="userled.html">USERLED Drivers</a></li>
 <li class="toctree-l1"><a class="reference internal" href="ws2812.html">ws2812 
Drivers</a><ul>
 <li class="toctree-l2"><a class="reference internal" 
href="ws2812.html#configuration">Configuration</a><ul>
-<li class="toctree-l3"><a class="reference internal" 
href="ws2812.html#ws2812-driver-variant">WS2812 driver variant</a></li>
 <li class="toctree-l3"><a class="reference internal" 
href="ws2812.html#number-of-ws2812s-connected">Number of ws2812s 
connected</a></li>
 <li class="toctree-l3"><a class="reference internal" 
href="ws2812.html#ws2812s-have-white-led">ws2812s have white LED</a></li>
 <li class="toctree-l3"><a class="reference internal" 
href="ws2812.html#add-byte-order-transformation-functions">Add byte order 
transformation functions</a></li>
diff --git a/content/docs/latest/os/drivers/character/leds/ws2812.html 
b/content/docs/latest/os/drivers/character/leds/ws2812.html
index 27b22d9972..793e9d4c9b 100644
--- a/content/docs/latest/os/drivers/character/leds/ws2812.html
+++ b/content/docs/latest/os/drivers/character/leds/ws2812.html
@@ -240,16 +240,6 @@ the specific <code class="docutils literal 
notranslate"><span class="pre">&lt;ch
 <p>Upper half configuration resides in <span class="menuselection">Device 
Drivers ‣ LED support ‣ WS2812 LED driver</span> .
 Some of the configuration options are described here - mostly for the purpose 
of helping
 with implementation of lower half drivers and board code.</p>
-<section id="ws2812-driver-variant">
-<h3>WS2812 driver variant<a class="headerlink" href="#ws2812-driver-variant" 
title="Permalink to this heading"></a></h3>
-<p>Allows user to choose between old-style SPI driver and driver split into 
upper and
-lower-half. The old style SPI driver could only drive the LEDs using a SPI 
interface,
-the new style can use any hardware supported by the lower half (including SPI,
-despite the naming.)</p>
-<p>When implementing lower half driver for new architecture, make the 
appropriate
-Kconfig option depend on <span 
class="menuselection">WS2812_NON_SPI_DRIVER</span></p>
-<p>The old-style driver and its associated options are not described in this 
document.</p>
-</section>
 <section id="number-of-ws2812s-connected">
 <h3>Number of ws2812s connected<a class="headerlink" 
href="#number-of-ws2812s-connected" title="Permalink to this heading"></a></h3>
 <p>These LEDs are designed to be chained and this configuration option allows 
the user
diff --git a/content/docs/latest/os/drivers/special/index.html 
b/content/docs/latest/os/drivers/special/index.html
index 6e8e7f63f6..ad33e82e5a 100644
--- a/content/docs/latest/os/drivers/special/index.html
+++ b/content/docs/latest/os/drivers/special/index.html
@@ -735,6 +735,7 @@ and thus expose them to applications.</p>
 <li class="toctree-l3"><a class="reference internal" 
href="syslog.html#syslog-channel-interfaces">SYSLOG Channel Interfaces</a></li>
 <li class="toctree-l3"><a class="reference internal" 
href="syslog.html#syslog-channel-initialization">SYSLOG Channel 
Initialization</a></li>
 <li class="toctree-l3"><a class="reference internal" 
href="syslog.html#syslog-channel-filtering">SYSLOG Channel Filtering</a></li>
+<li class="toctree-l3"><a class="reference internal" 
href="syslog.html#syslog-channel-priorities">SYSLOG Channel Priorities</a></li>
 <li class="toctree-l3"><a class="reference internal" 
href="syslog.html#interrupt-level-syslog-output">Interrupt Level SYSLOG 
Output</a></li>
 </ul>
 </li>
diff --git a/content/docs/latest/os/drivers/special/syslog.html 
b/content/docs/latest/os/drivers/special/syslog.html
index 0966a8bcd3..416c0752ed 100644
--- a/content/docs/latest/os/drivers/special/syslog.html
+++ b/content/docs/latest/os/drivers/special/syslog.html
@@ -409,6 +409,37 @@ with either the SYSLOGIOC_GETCHANNELS or 
SYSLOGIOC_SETFILTER.</p>
 specified channel.</p></li>
 </ul>
 </section>
+<section id="syslog-channel-priorities">
+<h3>SYSLOG Channel Priorities<a class="headerlink" 
href="#syslog-channel-priorities" title="Permalink to this heading"></a></h3>
+<p>With <code class="docutils literal notranslate"><span 
class="pre">CONFIG_SYSLOG_DROPMASK</span></code>, each channel can drop the 
messages of
+some priorities. The field <code class="docutils literal notranslate"><span 
class="pre">sc_dropmask</span></code> of <code class="docutils literal 
notranslate"><span class="pre">struct</span> <span 
class="pre">syslog_channel_s</span></code>
+is an OR of <code class="docutils literal notranslate"><span 
class="pre">LOG_MASK()</span></code> values: the channel does not write the
+messages of these priorities. Zero (the value of a channel that does not
+set the field) means that the channel writes the messages of all
+priorities.</p>
+<p><code class="docutils literal notranslate"><span 
class="pre">setlogmask()</span></code> selects the messages for all channels. 
<code class="docutils literal notranslate"><span 
class="pre">sc_dropmask</span></code>
+selects them for one channel. For example, the console can show only
+the urgent messages while the RAMLOG keeps all of them.</p>
+<p><code class="docutils literal notranslate"><span 
class="pre">CONFIG_SYSLOG_CONSOLE_LEVEL</span></code> sets <code 
class="docutils literal notranslate"><span 
class="pre">sc_dropmask</span></code> of the console
+channels (<code class="docutils literal notranslate"><span 
class="pre">CONFIG_SYSLOG_DEFAULT</span></code> and <code class="docutils 
literal notranslate"><span class="pre">CONFIG_SYSLOG_CONSOLE</span></code>).
+These channels write only the messages of this priority and of the more
+urgent priorities: 0 is <code class="docutils literal notranslate"><span 
class="pre">LOG_EMERG</span></code>, 3 is <code class="docutils literal 
notranslate"><span class="pre">LOG_ERR</span></code>, 7 is
+<code class="docutils literal notranslate"><span 
class="pre">LOG_DEBUG</span></code>. With 7 (the default), the console writes 
all messages.
+The assertion and crash reports use <code class="docutils literal 
notranslate"><span class="pre">LOG_ALERT</span></code> and <code 
class="docutils literal notranslate"><span class="pre">LOG_EMERG</span></code>, 
so
+a value of 1 or more keeps them on the console.</p>
+<p>Output that does not come from <code class="docutils literal 
notranslate"><span class="pre">syslog()</span></code> has no priority, and all
+channels write it. This output is:</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span 
class="pre">syslog_write()</span></code> (for example a write to <code 
class="docutils literal notranslate"><span class="pre">/dev/log</span></code> 
with
+<code class="docutils literal notranslate"><span 
class="pre">CONFIG_SYSLOG_CHARDEV</span></code>, or the console output with
+<code class="docutils literal notranslate"><span 
class="pre">CONFIG_CONSOLE_SYSLOG</span></code>).</p></li>
+<li><p>The output that the interrupt buffer (<code class="docutils literal 
notranslate"><span class="pre">CONFIG_SYSLOG_INTBUFFER</span></code>)
+saved. With the interrupt buffer, the messages from interrupt
+handlers lose their priority.</p></li>
+</ul>
+<p>Kernel code that writes the text of a message with <code class="docutils 
literal notranslate"><span class="pre">syslog_write()</span></code>
+can call <code class="docutils literal notranslate"><span 
class="pre">syslog_write_priority()</span></code> instead, to give its 
priority.</p>
+</section>
 <section id="interrupt-level-syslog-output">
 <h3>Interrupt Level SYSLOG Output<a class="headerlink" 
href="#interrupt-level-syslog-output" title="Permalink to this 
heading"></a></h3>
 <p>As a general statement, SYSLOG output only supports <em>normal</em>
@@ -797,6 +828,8 @@ fixed at compile time.</p>
 <li><p><code class="docutils literal notranslate"><span 
class="pre">CONFIG_SYSLOG_MAX_CHANNELS</span></code>: Set the maximum number of 
syslog channels (default: 1 in the architecture, configurable per 
platform).</p></li>
 <li><p><code class="docutils literal notranslate"><span 
class="pre">CONFIG_SYSLOG_DEFAULT</span></code>: Enable the <strong>default 
channel</strong> (maps to UART output).</p></li>
 <li><p><code class="docutils literal notranslate"><span 
class="pre">CONFIG_SYSLOG_CRLF</span></code>: (Shared) Applies line ending 
conversion to all channel output.</p></li>
+<li><p><code class="docutils literal notranslate"><span 
class="pre">CONFIG_SYSLOG_DROPMASK</span></code>: Each channel can drop 
messages by priority (default: n). See <a class="reference internal" 
href="#syslog-channel-priorities">SYSLOG Channel Priorities</a>.</p></li>
+<li><p><code class="docutils literal notranslate"><span 
class="pre">CONFIG_SYSLOG_CONSOLE_LEVEL</span></code>: The lowest message 
priority that the console channels write (default: 7, all messages). See <a 
class="reference internal" href="#syslog-channel-priorities">SYSLOG Channel 
Priorities</a>.</p></li>
 </ul>
 </section>
 <section id="individual-channel-destination-options">
diff --git a/content/docs/latest/os/filesystem/file_permission.html 
b/content/docs/latest/os/filesystem/file_permission.html
index a674205af0..40cc7c3a39 100644
--- a/content/docs/latest/os/filesystem/file_permission.html
+++ b/content/docs/latest/os/filesystem/file_permission.html
@@ -235,13 +235,16 @@ and no mode-based checks are performed.</p>
 <code class="docutils literal notranslate"><span 
class="pre">i_owner</span></code> / <code class="docutils literal 
notranslate"><span class="pre">i_group</span></code> / <code class="docutils 
literal notranslate"><span class="pre">i_mode</span></code>.  Empty macro 
returning <code class="docutils literal notranslate"><span 
class="pre">0</span></code>
 when <code class="docutils literal notranslate"><span 
class="pre">CONFIG_FS_PERMISSION</span></code> is disabled.</p>
 </dd>
-<dt><code class="docutils literal notranslate"><span 
class="pre">inode_checkpathperm</span></code></dt><dd><p>Require <code 
class="docutils literal notranslate"><span class="pre">X_OK</span></code> on 
every ancestor of an inode, and on the inode itself
-when it is a pseudo directory or a mountpoint (directory search /
+<dt><code class="docutils literal notranslate"><span 
class="pre">inode_checkpathperm</span></code></dt><dd><p>Require <code 
class="docutils literal notranslate"><span class="pre">X_OK</span></code> on 
every ancestor of an inode (directory search /
 traverse).  If <code class="docutils literal notranslate"><span 
class="pre">amode</span></code> is non-zero, also require that access on the
 inode.  Takes the inode tree read lock unless <code class="docutils literal 
notranslate"><span class="pre">INODE_CHECK_LOCKED</span></code> is
 set (caller already holds <code class="docutils literal notranslate"><span 
class="pre">inode_lock</span></code> / <code class="docutils literal 
notranslate"><span class="pre">inode_rlock</span></code>).  Empty
 macro returning <code class="docutils literal notranslate"><span 
class="pre">0</span></code> when <code class="docutils literal 
notranslate"><span class="pre">CONFIG_FS_PERMISSION</span></code> is 
disabled.</p>
 </dd>
+<dt><code class="docutils literal notranslate"><span 
class="pre">INODE_PATH_AMODE</span></code></dt><dd><p>The <code class="docutils 
literal notranslate"><span class="pre">amode</span></code> for the inode that 
<code class="docutils literal notranslate"><span 
class="pre">inode_find</span></code> returns: <code class="docutils literal 
notranslate"><span class="pre">X_OK</span></code> on a
+mountpoint when the path goes into the volume, and nothing on the last
+path component.</p>
+</dd>
 <dt><code class="docutils literal notranslate"><span 
class="pre">inode_checkopenperm</span></code></dt><dd><p>Validate that the 
inode supports the requested open access, then apply
 mode checks for non-mountpoint inodes.</p>
 </dd>
@@ -273,14 +276,19 @@ the VFS does not invoke it for mount-crossing).</p>
 Applying the mount directory’s mode bits as file open modes would require
 read/write on the mount directory merely to open a file beneath it.</p>
 <p>Traverse is separate: callers use <code class="docutils literal 
notranslate"><span class="pre">inode_checkpathperm</span></code> so parent
-directories and the mountpoint itself still require <code class="docutils 
literal notranslate"><span class="pre">X_OK</span></code>.</p>
+directories, and the mountpoint for a path that goes into the volume, still
+require <code class="docutils literal notranslate"><span 
class="pre">X_OK</span></code>.  As POSIX specifies, the last path component 
needs no search
+permission: a directory with no execute bit can still be found with <code 
class="docutils literal notranslate"><span class="pre">stat()</span></code>
+and changed with <code class="docutils literal notranslate"><span 
class="pre">chmod()</span></code>.  <code class="docutils literal 
notranslate"><span class="pre">chdir()</span></code> is different: it needs 
search
+permission on the directory itself.</p>
 <p>Typical order after a successful <code class="docutils literal 
notranslate"><span class="pre">inode_find</span></code>:</p>
 <ol class="arabic simple">
-<li><p><code class="docutils literal notranslate"><span 
class="pre">inode_checkpathperm(inode,</span> <span class="pre">0,</span> <span 
class="pre">0)</span></code> — search permission on the path
-prefix (and on the mountpoint when entering a volume).  Call sites that
-already hold the tree lock pass <code class="docutils literal 
notranslate"><span class="pre">INODE_CHECK_LOCKED</span></code>; mount and
-pseudoFS create/remove may pass a non-zero <code class="docutils literal 
notranslate"><span class="pre">amode</span></code> (for example
-<code class="docutils literal notranslate"><span 
class="pre">W_OK</span></code>) to combine traverse and target checks in one 
call.</p></li>
+<li><p><code class="docutils literal notranslate"><span 
class="pre">inode_checkpathperm(inode,</span> <span 
class="pre">INODE_PATH_AMODE(&amp;desc),</span> <span 
class="pre">0)</span></code> — search
+permission on the path prefix (and on the mountpoint when entering a
+volume).  Call sites that already hold the tree lock pass
+<code class="docutils literal notranslate"><span 
class="pre">INODE_CHECK_LOCKED</span></code>; mount and pseudoFS create/remove 
pass
+<code class="docutils literal notranslate"><span class="pre">W_OK</span> <span 
class="pre">|</span> <span class="pre">X_OK</span></code> on the directory to 
combine traverse and target checks in
+one call.</p></li>
 <li><p>Operation-specific checks — <code class="docutils literal 
notranslate"><span class="pre">inode_checkopenperm</span></code>, or the
 filesystem’s own methods for paths inside a mount.</p></li>
 </ol>
@@ -307,7 +315,8 @@ statfs, readlink, mount, and umount.  <code class="docutils 
literal notranslate"
 <code class="docutils literal notranslate"><span 
class="pre">inode_rlock</span></code> unless the caller already holds the tree 
lock
 (<code class="docutils literal notranslate"><span 
class="pre">INODE_CHECK_LOCKED</span></code>).</p></li>
 <li><p>Inside <code class="docutils literal notranslate"><span 
class="pre">inode_reserve</span></code> / <code class="docutils literal 
notranslate"><span class="pre">inode_remove</span></code> for pseudoFS create 
and remove
-(ancestor <code class="docutils literal notranslate"><span 
class="pre">X_OK</span></code> and parent <code class="docutils literal 
notranslate"><span class="pre">W_OK</span></code> in one call, under <code 
class="docutils literal notranslate"><span 
class="pre">inode_lock</span></code>).</p></li>
+(ancestor and parent <code class="docutils literal notranslate"><span 
class="pre">X_OK</span></code> and parent <code class="docutils literal 
notranslate"><span class="pre">W_OK</span></code> in one call, under
+<code class="docutils literal notranslate"><span 
class="pre">inode_lock</span></code>).</p></li>
 </ul>
 </section>
 <section id="who-enforces-what">
diff --git a/content/docs/latest/os/memory/iob.html 
b/content/docs/latest/os/memory/iob.html
index 4486f70676..356250b1eb 100644
--- a/content/docs/latest/os/memory/iob.html
+++ b/content/docs/latest/os/memory/iob.html
@@ -370,8 +370,11 @@ module.</p>
 <li><p><a class="reference internal" href="#c.iob_free_queue_qentry" 
title="iob_free_queue_qentry"><code class="xref c c-func docutils literal 
notranslate"><span 
class="pre">iob_free_queue_qentry()</span></code></a></p></li>
 <li><p><a class="reference internal" href="#c.iob_get_queue_size" 
title="iob_get_queue_size"><code class="xref c c-func docutils literal 
notranslate"><span class="pre">iob_get_queue_size()</span></code></a></p></li>
 <li><p><a class="reference internal" href="#c.iob_copyin" 
title="iob_copyin"><code class="xref c c-func docutils literal 
notranslate"><span class="pre">iob_copyin()</span></code></a></p></li>
+<li><p><a class="reference internal" href="#c.iob_copyin_iov" 
title="iob_copyin_iov"><code class="xref c c-func docutils literal 
notranslate"><span class="pre">iob_copyin_iov()</span></code></a></p></li>
 <li><p><a class="reference internal" href="#c.iob_trycopyin" 
title="iob_trycopyin"><code class="xref c c-func docutils literal 
notranslate"><span class="pre">iob_trycopyin()</span></code></a></p></li>
+<li><p><a class="reference internal" href="#c.iob_trycopyin_iov" 
title="iob_trycopyin_iov"><code class="xref c c-func docutils literal 
notranslate"><span class="pre">iob_trycopyin_iov()</span></code></a></p></li>
 <li><p><a class="reference internal" href="#c.iob_copyout" 
title="iob_copyout"><code class="xref c c-func docutils literal 
notranslate"><span class="pre">iob_copyout()</span></code></a></p></li>
+<li><p><a class="reference internal" href="#c.iob_copyout_iov" 
title="iob_copyout_iov"><code class="xref c c-func docutils literal 
notranslate"><span class="pre">iob_copyout_iov()</span></code></a></p></li>
 <li><p><a class="reference internal" href="#c.iob_clone" 
title="iob_clone"><code class="xref c c-func docutils literal 
notranslate"><span class="pre">iob_clone()</span></code></a></p></li>
 <li><p><a class="reference internal" href="#c.iob_clone_partial" 
title="iob_clone_partial"><code class="xref c c-func docutils literal 
notranslate"><span class="pre">iob_clone_partial()</span></code></a></p></li>
 <li><p><a class="reference internal" href="#c.iob_concat" 
title="iob_concat"><code class="xref c c-func docutils literal 
notranslate"><span class="pre">iob_concat()</span></code></a></p></li>
@@ -489,6 +492,14 @@ the I/O buffer chain, starting at <code class="docutils 
literal notranslate"><sp
 as necessary.</p>
 </dd></dl>
 
+<dl class="c function">
+<dt class="sig sig-object c" id="c.iob_copyin_iov">
+<span class="kt"><span class="pre">int</span></span><span class="w"> 
</span><span class="sig-name descname"><span class="n"><span 
class="pre">iob_copyin_iov</span></span></span><span 
class="sig-paren">(</span><span class="pre">FAR</span><span class="w"> 
</span><span class="k"><span class="pre">struct</span></span><span class="w"> 
</span><span class="n"><span class="pre">iob_s</span></span><span class="w"> 
</span><span class="p"><span class="pre">*</span></span><span class="n"><span 
class [...]
+<dd><p>Copy data from an <code class="docutils literal notranslate"><span 
class="pre">iov</span></code> array of user buffers into the I/O
+buffer chain, starting at <code class="docutils literal notranslate"><span 
class="pre">offset</span></code>, extending the chain as
+necessary.</p>
+</dd></dl>
+
 <dl class="c function">
 <dt class="sig sig-object c" id="c.iob_trycopyin">
 <span class="kt"><span class="pre">int</span></span><span class="w"> 
</span><span class="sig-name descname"><span class="n"><span 
class="pre">iob_trycopyin</span></span></span><span 
class="sig-paren">(</span><span class="pre">FAR</span><span class="w"> 
</span><span class="k"><span class="pre">struct</span></span><span class="w"> 
</span><span class="n"><span class="pre">iob_s</span></span><span class="w"> 
</span><span class="p"><span class="pre">*</span></span><span class="n"><span 
class= [...]
@@ -497,6 +508,14 @@ the I/O buffer chain, starting at <code class="docutils 
literal notranslate"><sp
 as necessary BUT without waiting if buffers are not available.</p>
 </dd></dl>
 
+<dl class="c function">
+<dt class="sig sig-object c" id="c.iob_trycopyin_iov">
+<span class="kt"><span class="pre">int</span></span><span class="w"> 
</span><span class="sig-name descname"><span class="n"><span 
class="pre">iob_trycopyin_iov</span></span></span><span 
class="sig-paren">(</span><span class="pre">FAR</span><span class="w"> 
</span><span class="k"><span class="pre">struct</span></span><span class="w"> 
</span><span class="n"><span class="pre">iob_s</span></span><span class="w"> 
</span><span class="p"><span class="pre">*</span></span><span class="n"><span 
cl [...]
+<dd><p>Copy data from an <code class="docutils literal notranslate"><span 
class="pre">iov</span></code> array of user buffers into the I/O
+buffer chain, starting at <code class="docutils literal notranslate"><span 
class="pre">offset</span></code>, extending the chain as
+necessary BUT without waiting if buffers are not available.</p>
+</dd></dl>
+
 <dl class="c function">
 <dt class="sig sig-object c" id="c.iob_copyout">
 <span class="kt"><span class="pre">int</span></span><span class="w"> 
</span><span class="sig-name descname"><span class="n"><span 
class="pre">iob_copyout</span></span></span><span 
class="sig-paren">(</span><span class="pre">FAR</span><span class="w"> 
</span><span class="n"><span class="pre">uint8_t</span></span><span class="w"> 
</span><span class="p"><span class="pre">*</span></span><span class="n"><span 
class="pre">dest</span></span>, <span class="pre">FAR</span><span class="w"> 
</span> [...]
@@ -505,6 +524,13 @@ buffer starting at <code class="docutils literal 
notranslate"><span class="pre">
 actual number of bytes copied out.</p>
 </dd></dl>
 
+<dl class="c function">
+<dt class="sig sig-object c" id="c.iob_copyout_iov">
+<span class="kt"><span class="pre">int</span></span><span class="w"> 
</span><span class="sig-name descname"><span class="n"><span 
class="pre">iob_copyout_iov</span></span></span><span 
class="sig-paren">(</span><span class="pre">FAR</span><span class="w"> 
</span><span class="k"><span class="pre">const</span></span><span class="w"> 
</span><span class="k"><span class="pre">struct</span></span><span class="w"> 
</span><span class="n"><span class="pre">iovec</span></span><span class="w"> 
</spa [...]
+<dd><p>Copy data <code class="docutils literal notranslate"><span 
class="pre">len</span></code> bytes of data from the I/O buffer chain
+starting at <code class="docutils literal notranslate"><span 
class="pre">offset</span></code> into the user <code class="docutils literal 
notranslate"><span class="pre">iov</span></code> array of buffers.</p>
+</dd></dl>
+
 <dl class="c function">
 <dt class="sig sig-object c" id="c.iob_clone">
 <span class="kt"><span class="pre">int</span></span><span class="w"> 
</span><span class="sig-name descname"><span class="n"><span 
class="pre">iob_clone</span></span></span><span class="sig-paren">(</span><span 
class="pre">FAR</span><span class="w"> </span><span class="k"><span 
class="pre">struct</span></span><span class="w"> </span><span class="n"><span 
class="pre">iob_s</span></span><span class="w"> </span><span class="p"><span 
class="pre">*</span></span><span class="n"><span class="pre [...]
diff --git a/content/docs/latest/os/scheduling/wqueue.html 
b/content/docs/latest/os/scheduling/wqueue.html
index 5ca1ac6679..1477293ba9 100644
--- a/content/docs/latest/os/scheduling/wqueue.html
+++ b/content/docs/latest/os/scheduling/wqueue.html
@@ -483,6 +483,27 @@ queue, or <code class="docutils literal notranslate"><span 
class="pre">-EDEADLK<
 </dl>
 </dd></dl>
 
+<dl class="c function">
+<dt class="sig sig-object c" id="c.work_queue_in_queue">
+<span class="kt"><span class="pre">bool</span></span><span class="w"> 
</span><span class="sig-name descname"><span class="n"><span 
class="pre">work_queue_in_queue</span></span></span><span 
class="sig-paren">(</span><span class="pre">FAR</span><span class="w"> 
</span><span class="k"><span class="pre">struct</span></span><span class="w"> 
</span><span class="n"><span class="pre">kwork_wqueue_s</span></span><span 
class="w"> </span><span class="p"><span class="pre">*</span></span><span class= 
[...]
+<dd><p>Report whether the caller runs on one of the queue’s worker threads.
+Kernel only.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span 
class="pre">true</span></code> if the caller is a worker of <code 
class="docutils literal notranslate"><span class="pre">wqueue</span></code>.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="c function">
+<dt class="sig sig-object c" id="c.work_queue_dispatch">
+<span class="kt"><span class="pre">void</span></span><span class="w"> 
</span><span class="sig-name descname"><span class="n"><span 
class="pre">work_queue_dispatch</span></span></span><span 
class="sig-paren">(</span><span class="pre">FAR</span><span class="w"> 
</span><span class="k"><span class="pre">struct</span></span><span class="w"> 
</span><span class="n"><span class="pre">kwork_wqueue_s</span></span><span 
class="w"> </span><span class="p"><span class="pre">*</span></span><span class= 
[...]
+<dd><p>Run the expired work of <code class="docutils literal 
notranslate"><span class="pre">wqueue</span></code> on the calling thread. A 
callback
+that waits for a result produced by another work item of the same
+queue uses this to let that item run. Does nothing when the caller is
+not one of the queue’s workers. Kernel only.</p>
+</dd></dl>
+
 <dl class="c function">
 <dt class="sig sig-object c" id="c.work_queue_wq">
 <span class="kt"><span class="pre">int</span></span><span class="w"> 
</span><span class="sig-name descname"><span class="n"><span 
class="pre">work_queue_wq</span></span></span><span 
class="sig-paren">(</span><span class="pre">FAR</span><span class="w"> 
</span><span class="k"><span class="pre">struct</span></span><span class="w"> 
</span><span class="n"><span class="pre">kwork_wqueue_s</span></span><span 
class="w"> </span><span class="p"><span class="pre">*</span></span><span 
class="n"><sp [...]
@@ -572,6 +593,20 @@ is excluded from the wait to avoid self-deadlock.</p>
 </dl>
 </dd></dl>
 
+<dl class="c function">
+<dt class="sig sig-object c" id="c.work_queue_setpriority_wq">
+<span class="kt"><span class="pre">int</span></span><span class="w"> 
</span><span class="sig-name descname"><span class="n"><span 
class="pre">work_queue_setpriority_wq</span></span></span><span 
class="sig-paren">(</span><span class="pre">FAR</span><span class="w"> 
</span><span class="k"><span class="pre">struct</span></span><span class="w"> 
</span><span class="n"><span class="pre">kwork_wqueue_s</span></span><span 
class="w"> </span><span class="p"><span class="pre">*</span></span><span c [...]
+<dd><p>Set the scheduling priority of every worker of a custom queue.
+<code class="docutils literal notranslate"><span 
class="pre">work_queue_setpriority(qid,</span> <span 
class="pre">priority)</span></code> does the same for <code class="docutils 
literal notranslate"><span class="pre">HPWORK</span></code>
+or <code class="docutils literal notranslate"><span 
class="pre">LPWORK</span></code>. Kernel only.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Zero on success or <code class="docutils literal 
notranslate"><span class="pre">-EINVAL</span></code> for an invalid queue or
+priority.</p>
+</dd>
+</dl>
+</dd></dl>
+
 <dl class="c function">
 <dt class="sig sig-object c" id="c.work_signal">
 <span class="kt"><span class="pre">int</span></span><span class="w"> 
</span><span class="sig-name descname"><span class="n"><span 
class="pre">work_signal</span></span></span><span 
class="sig-paren">(</span><span class="kt"><span 
class="pre">int</span></span><span class="w"> </span><span class="n"><span 
class="pre">qid</span></span><span class="sig-paren">)</span><a 
class="headerlink" href="#c.work_signal" title="Permalink to this 
definition"></a><br /></dt>
diff --git 
a/content/docs/latest/platforms/arm/rp23xx/boards/pimoroni-pico-plus-2-w/index.html
 
b/content/docs/latest/platforms/arm/rp23xx/boards/pimoroni-pico-plus-2-w/index.html
index 63b6b9af65..f3b9198b0c 100644
--- 
a/content/docs/latest/platforms/arm/rp23xx/boards/pimoroni-pico-plus-2-w/index.html
+++ 
b/content/docs/latest/platforms/arm/rp23xx/boards/pimoroni-pico-plus-2-w/index.html
@@ -177,7 +177,7 @@
 <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 current"><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#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>
diff --git 
a/content/docs/latest/platforms/arm/stm32c0/boards/nucleo-c071rb/index.html 
b/content/docs/latest/platforms/arm/stm32c0/boards/nucleo-c071rb/index.html
index 5fd76993ea..00df653238 100644
--- a/content/docs/latest/platforms/arm/stm32c0/boards/nucleo-c071rb/index.html
+++ b/content/docs/latest/platforms/arm/stm32c0/boards/nucleo-c071rb/index.html
@@ -162,28 +162,48 @@
 <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 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>
+<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>
 </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/arm/stm32c5/boards/nucleo-c562re/index.html 
b/content/docs/latest/platforms/arm/stm32c5/boards/nucleo-c562re/index.html
index 7ba1bdefbb..9675e5526b 100644
--- a/content/docs/latest/platforms/arm/stm32c5/boards/nucleo-c562re/index.html
+++ b/content/docs/latest/platforms/arm/stm32c5/boards/nucleo-c562re/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 current"><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/arm/stm32f0/boards/nucleo-f072rb/index.html 
b/content/docs/latest/platforms/arm/stm32f0/boards/nucleo-f072rb/index.html
index 95a178556b..f63e781116 100644
--- a/content/docs/latest/platforms/arm/stm32f0/boards/nucleo-f072rb/index.html
+++ b/content/docs/latest/platforms/arm/stm32f0/boards/nucleo-f072rb/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 current"><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/arm/stm32f0/boards/stm32f051-discovery/index.html
 
b/content/docs/latest/platforms/arm/stm32f0/boards/stm32f051-discovery/index.html
index fae71de45b..67698fd326 100644
--- 
a/content/docs/latest/platforms/arm/stm32f0/boards/stm32f051-discovery/index.html
+++ 
b/content/docs/latest/platforms/arm/stm32f0/boards/stm32f051-discovery/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 current"><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/arm/stm32f0/boards/stm32f072-discovery/index.html
 
b/content/docs/latest/platforms/arm/stm32f0/boards/stm32f072-discovery/index.html
index 911de787c1..d5be2e9026 100644
--- 
a/content/docs/latest/platforms/arm/stm32f0/boards/stm32f072-discovery/index.html
+++ 
b/content/docs/latest/platforms/arm/stm32f0/boards/stm32f072-discovery/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 current"><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/arm/stm32u0/boards/nucleo-u083rc/index.html 
b/content/docs/latest/platforms/arm/stm32u0/boards/nucleo-u083rc/index.html
index c951052c8f..7b94b59aa5 100644
--- a/content/docs/latest/platforms/arm/stm32u0/boards/nucleo-u083rc/index.html
+++ b/content/docs/latest/platforms/arm/stm32u0/boards/nucleo-u083rc/index.html
@@ -260,7 +260,7 @@ supported by the OS.</p>
 <li><p>ADC with DMA enabled using A0-A3 pins</p></li>
 <li><p>PWM on TIM1 CH1 (PA8, D7)</p></li>
 <li><p>Quadrature encoder on TIM3 (PA6/PA7, D12/D11)</p></li>
-<li><p>Timer driver on TIM6 (/dev/timer0)</p></li>
+<li><p>Timer driver on TIM6 (/dev/timer6)</p></li>
 <li><p>IWDG and WWDG watchdogs</p></li>
 <li><p>button with software debouncing enabled (no RC filter on the 
board)</p></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 217f57789a..ddbdeb68a6 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,28 +162,48 @@
 <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 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>
+<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>
 </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/sim/sim/boards/sim/index.html 
b/content/docs/latest/platforms/sim/sim/boards/sim/index.html
index 4bf54d5bfd..22d1108225 100644
--- a/content/docs/latest/platforms/sim/sim/boards/sim/index.html
+++ b/content/docs/latest/platforms/sim/sim/boards/sim/index.html
@@ -1249,6 +1249,54 @@ definitions to the defconfig file:</p>
 </div>
 </div>
 </section>
+<section id="nxcamera">
+<h2>nxcamera<a class="headerlink" href="#nxcamera" title="Permalink to this 
heading"></a></h2>
+<p>This configuration tests the V4L2 drivers. The sim camera driver
+(<code class="docutils literal notranslate"><span 
class="pre">CONFIG_SIM_CAMERA</span></code>) opens the V4L2 capture devices of 
the host and
+registers each one as <code class="docutils literal notranslate"><span 
class="pre">/dev/videoN</span></code> in the simulator, and <code 
class="docutils literal notranslate"><span class="pre">nxcamera</span></code>
+streams frames from such a device to the framebuffer or to a file.</p>
+<p><strong>Capture</strong></p>
+<p>A host without a camera can use the <code class="docutils literal 
notranslate"><span class="pre">v4l2loopback</span></code> module, fed with a 
test
+pattern by FFmpeg:</p>
+<div class="highlight-console notranslate"><div 
class="highlight"><pre><span></span><span class="gp">$ </span>sudo<span 
class="w"> </span>modprobe<span class="w"> </span>v4l2loopback
+<span class="gp">$ </span>ffmpeg<span class="w"> </span>-re<span class="w"> 
</span>-f<span class="w"> </span>lavfi<span class="w"> </span>-i<span 
class="w"> </span><span class="nv">testsrc</span><span class="o">=</span><span 
class="nv">size</span><span class="o">=</span>640x480:rate<span 
class="o">=</span><span class="m">30</span><span class="w"> </span><span 
class="se">\</span>
+<span class="w">    </span>-pix_fmt<span class="w"> </span>yuv420p<span 
class="w"> </span>-f<span class="w"> </span>v4l2<span class="w"> 
</span>/dev/video0
+</pre></div>
+</div>
+<p>To write ten frames to a file on the host, enable <code class="docutils 
literal notranslate"><span class="pre">CONFIG_FS_HOSTFS</span></code> and
+<code class="docutils literal notranslate"><span 
class="pre">CONFIG_SIM_HOSTFS</span></code> and run:</p>
+<div class="highlight-console notranslate"><div 
class="highlight"><pre><span></span><span class="go">nsh&gt; mount -t hostfs -o 
fs=/tmp /host</span>
+<span class="go">nsh&gt; nxcamera</span>
+<span class="go">nxcamera&gt; input /dev/video0</span>
+<span class="go">nxcamera&gt; output /host/frames.yuv 10</span>
+<span class="go">nxcamera&gt; stream 640 480 30 YU12</span>
+<span class="go">nxcamera&gt; q</span>
+</pre></div>
+</div>
+<p><code class="docutils literal notranslate"><span 
class="pre">frames.yuv</span></code> then holds ten 640x480 YUV 4:2:0 
frames.</p>
+<p><strong>Memory-to-memory decoding</strong></p>
+<p>The sim decoder (<code class="docutils literal notranslate"><span 
class="pre">CONFIG_SIM_VIDEO_DECODER</span></code>) is a V4L2 memory-to-memory
+device, <code class="docutils literal notranslate"><span 
class="pre">/dev/video1</span></code> by default, that decodes H.264 with 
OpenH264. On top of
+this configuration it needs:</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span 
class="pre">CONFIG_VIDEOUTILS_OPENH264</span></code> and <code class="docutils 
literal notranslate"><span 
class="pre">CONFIG_SIM_VIDEO_DECODER</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span 
class="pre">CONFIG_HAVE_CXX</span></code> and <code class="docutils literal 
notranslate"><span class="pre">CONFIG_HAVE_CXXINITIALIZE</span></code>, for the 
C++ runtime
+OpenH264 uses (the default minimal C++ library is enough)</p></li>
+<li><p><code class="docutils literal notranslate"><span 
class="pre">CONFIG_SYSTEM_NXCODEC</span></code>, <code class="docutils literal 
notranslate"><span class="pre">CONFIG_FS_HOSTFS</span></code> and <code 
class="docutils literal notranslate"><span 
class="pre">CONFIG_SIM_HOSTFS</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span 
class="pre">CONFIG_NSH_MAXARGUMENTS=16</span></code>, for the <code 
class="docutils literal notranslate"><span class="pre">nxcodec</span></code> 
command line</p></li>
+</ul>
+<p>Create a stream on the host:</p>
+<div class="highlight-console notranslate"><div 
class="highlight"><pre><span></span><span class="gp">$ </span>ffmpeg<span 
class="w"> </span>-f<span class="w"> </span>lavfi<span class="w"> 
</span>-i<span class="w"> </span><span class="nv">testsrc</span><span 
class="o">=</span><span class="nv">size</span><span 
class="o">=</span>320x240:rate<span class="o">=</span><span 
class="m">30</span><span class="w"> </span>-t<span class="w"> </span><span 
class="m">2</span><span class="w"> </span>-c:v< [...]
+<span class="w">    </span>-profile:v<span class="w"> </span>baseline<span 
class="w"> </span>-pix_fmt<span class="w"> </span>yuv420p<span class="w"> 
</span>-f<span class="w"> </span>h264<span class="w"> </span>/tmp/t.h264
+</pre></div>
+</div>
+<p>and decode it in the simulator to YUV 4:2:0 frames:</p>
+<div class="highlight-console notranslate"><div 
class="highlight"><pre><span></span><span class="go">nsh&gt; mount -t hostfs -o 
fs=/tmp /host</span>
+<span class="go">nsh&gt; cd /host</span>
+<span class="go">nsh&gt; nxcodec -d /dev/video1 -s 320x240 -f H264 -i t.h264 
-f YU12 -o o.yuv</span>
+</pre></div>
+</div>
+</section>
 <section id="nxdoom">
 <h2>nxdoom<a class="headerlink" href="#nxdoom" title="Permalink to this 
heading"></a></h2>
 <p>Play <a class="reference internal" 
href="../../../../../applications/games/nxdoom/index.html"><span 
class="doc">NXDoom</span></a> on the Simulator using X11
diff --git a/content/docs/latest/reference/user/03_task_control.html 
b/content/docs/latest/reference/user/03_task_control.html
index 238dee5e52..49bbd1b29d 100644
--- a/content/docs/latest/reference/user/03_task_control.html
+++ b/content/docs/latest/reference/user/03_task_control.html
@@ -661,8 +661,9 @@ the program’s <code class="docutils literal 
notranslate"><span class="pre">mai
 <p class="admonition-title">Note</p>
 <p><code class="docutils literal notranslate"><span 
class="pre">CONFIG_LIBC_MAX_EXITFUNS</span></code> must be larger than 0 to 
build
 <code class="docutils literal notranslate"><span 
class="pre">atexit()</span></code>, <code class="docutils literal 
notranslate"><span class="pre">on_exit()</span></code> and <code 
class="docutils literal notranslate"><span 
class="pre">at_quick_exit()</span></code>.  A C++ ELF
-program (built with <code class="docutils literal notranslate"><span 
class="pre">-fno-use-cxa-atexit</span></code>) with a static object in
-a function calls <code class="docutils literal notranslate"><span 
class="pre">atexit()</span></code> too.</p>
+program (built with <code class="docutils literal notranslate"><span 
class="pre">-fno-use-cxa-atexit</span></code>) with a static object
+calls <code class="docutils literal notranslate"><span 
class="pre">atexit()</span></code> too, so the default is 1 when both <code 
class="docutils literal notranslate"><span class="pre">CONFIG_ELF</span></code>
+and <code class="docutils literal notranslate"><span 
class="pre">CONFIG_HAVE_CXX</span></code> are enabled.</p>
 </div>
 <p>The number of functions is limited only by memory: the first
 <code class="docutils literal notranslate"><span 
class="pre">CONFIG_LIBC_MAX_EXITFUNS</span></code> entries are in the task 
information, the
diff --git a/content/docs/latest/reference/user/07_signals.html 
b/content/docs/latest/reference/user/07_signals.html
index da7734bb9c..e30e119aac 100644
--- a/content/docs/latest/reference/user/07_signals.html
+++ b/content/docs/latest/reference/user/07_signals.html
@@ -408,6 +408,9 @@ receive the signal.</p></li>
 <li><p>If a task group receives a signal and more than one thread is waiting
 on that signal, then one and only one indeterminate thread out of
 that waiting group will receive the signal.</p></li>
+<li><p>If the action of the signal is the default action <em>Abnormal
+Termination</em>, all threads of the task group end at once, also the
+threads that block the signal.</p></li>
 </ul>
 <p>You can mask out that signal using ‘’sigprocmask()’’ (or
 ‘’pthread_sigmask()’’). That signal will then be effectively disabled
@@ -573,7 +576,10 @@ action to be associated with the specified signal. If the 
argument oact
 is not NULL, the action previously associated with the signal is stored
 in the location pointed to by the argument oact. If the argument act is
 NULL, signal handling is unchanged by this function call; thus, the call
-can be used to inquire about the current handling of a given signal.</p>
+can be used to inquire about the current handling of a given signal.
+With <code class="docutils literal notranslate"><span 
class="pre">CONFIG_SIG_DEFAULT</span></code>, oact reports <code 
class="docutils literal notranslate"><span class="pre">SIG_DFL</span></code> 
for a signal at its
+default action, also when the default action is to ignore the signal
+(<code class="docutils literal notranslate"><span 
class="pre">SIGCHLD</span></code>, for example).</p>
 <p>When a signal is caught by a signal-catching function installed by the
 sigaction() function, a new signal mask is calculated and installed for
 the duration of the signal-catching function. This mask is formed by
@@ -602,8 +608,8 @@ sigaction().</p>
 name. Differences from the POSIX implementation include:</p>
 <blockquote>
 <div><ul class="simple">
-<li><p>There are no default actions so the special value <code class="docutils 
literal notranslate"><span class="pre">SIG_DFL</span></code> is
-treated like <code class="docutils literal notranslate"><span 
class="pre">SIG_IGN</span></code>.</p></li>
+<li><p>Without <code class="docutils literal notranslate"><span 
class="pre">CONFIG_SIG_DEFAULT</span></code>, there are no default actions so 
the
+special value <code class="docutils literal notranslate"><span 
class="pre">SIG_DFL</span></code> is treated like <code class="docutils literal 
notranslate"><span class="pre">SIG_IGN</span></code>.</p></li>
 <li><p>All <code class="docutils literal notranslate"><span 
class="pre">sa_flags</span></code> in struct sigaction of act input are ignored 
(all
 treated like <code class="docutils literal notranslate"><span 
class="pre">SA_SIGINFO</span></code>). The one exception is if
 <code class="docutils literal notranslate"><span 
class="pre">CONFIG_SCHED_CHILD_STATUS</span></code> is defined; then <code 
class="docutils literal notranslate"><span 
class="pre">SA_NOCLDWAIT</span></code> is
diff --git a/content/docs/latest/reference/user/11_network.html 
b/content/docs/latest/reference/user/11_network.html
index 41df24a7b5..45d75a8f31 100644
--- a/content/docs/latest/reference/user/11_network.html
+++ b/content/docs/latest/reference/user/11_network.html
@@ -508,8 +508,8 @@ given.</p></li>
 <li><p><code class="docutils literal notranslate"><span 
class="pre">EOPNOTSUPP</span></code>. Some bit in the flags argument is 
inappropriate for
 the socket type.</p></li>
 <li><p><code class="docutils literal notranslate"><span 
class="pre">EPIPE</span></code>. The local end has been shut down on a 
connection oriented
-socket. In this case the process will also receive a SIGPIPE unless
-MSG_NOSIGNAL is set.</p></li>
+socket, or the peer closed the connection. In this case the process
+will also receive a SIGPIPE unless MSG_NOSIGNAL is set.</p></li>
 </ul>
 </dd></dl>
 
diff --git a/content/docs/latest/searchindex.js 
b/content/docs/latest/searchindex.js
index 7bc89143df..324af30cee 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