Commit Graph

5963 Commits

Author SHA1 Message Date
Dominik Ermel
43d57ce1c2 doc/releases: Add note on update of LittleFS
The LittleFS is now at version 2.8.1.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2024-01-24 21:47:35 +01:00
Johan Hedberg
c1dfa97960 doc: coding_guidelines: Update reference to Bluetooth language document
Update the reference to the Bluetooth Appropriate Language Mapping
Tables document. The link is now the same as the Bluetooth SIG website
uses.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2024-01-24 18:02:38 +01:00
Pieter De Gendt
71d8213ef9 doc: develop: modules: Add entry for ZEPHYR_CURRENT_MODULE_NAME
A new cmake variable is added for zephyr modules, namely
`${ZEPHYR_CURRENT_MODULE_NAME}`. Add it to the documentation.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-01-24 10:54:17 +01:00
Yong Cong Sin
2166a6f92f doc: release: migration guide: 3.6: add note on DT IRQ macros changes
Add a note on the Devicetree IRQ macros changes, especially for
multilevel interrupt platforms.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2024-01-24 09:22:38 +00:00
Derek Snell
117dc55233 doc: linkserver: update installer link
Updates link to MCUXpresso Installer

Signed-off-by: Derek Snell <derek.snell@nxp.com>
2024-01-23 22:11:02 -05:00
Yong Cong Sin
450a66fa36 gen_defines: output the interrupt level of a node
Currently it is tedious to know the level of an interrupt for
a node in C. One would have to go through a very complex and
error prone macros to check if there's a parent interrupt
controller & if the controller has an interrupt number and thus
not a pseudo interrupt controller like the one found in
`rv32m1`. The level of a node is required to encode the
Zephyr's multi-level interrupt number

Since it is easier to do it in the `gen_defines` script, let's
do the heavy lifting there so that we can introduce new DT
macros to get the interrupt level very easily later.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2024-01-23 06:48:16 -05:00
Benjamin Cabé
de21b50002 doc: guidelines: drop mentions of Parasoft Codescan
Drop the section of the coding guidelines that's referring to Parasoft
Codescan as it's not used by the project anymore.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-01-23 10:02:39 +01:00
Markus Swarowsky
54a938a67a doc: services: tfm: Update version 2.0.0 in overview
Update the mention of the "currently integrated" version of TFM to match
the latest upgrade.

Signed-off-by: Markus Swarowsky <markus.swarowsky@nordicsemi.no>
2024-01-22 18:22:33 +01:00
Henrik Brix Andersen
e4c3f30feb doc: releases: migration-guide: 3.6: list removal of can_get_max_bitrate_t
Add a note about the removal of the optional can_get_max_bitrate_t callback
from the CAN controller driver API.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-22 13:09:09 +01:00
Henrik Brix Andersen
53da5f6f87 doc: releases: migration-guide: 3.6: removal of run-time CAN RTR filter
Add a note about the removal of the CAN_FILTER_DATA and CAN_FILTER_RTR
flags from the CAN controller driver API.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-21 11:00:31 +01:00
Henrik Brix Andersen
3436c93387 drivers: can: remove run-time RTR filtering, add build-time RTR filter
A growing number of CAN controllers do not have support for individual RX
hardware filters based on the Remote Transmission Request (RTR) bit. This
leads to various work-arounds on the driver level mixing hardware and
software filtering.

As the use of RTR frames is discouraged by CAN in Automation (CiA) - and
not even supported by newer standards, e.g. CAN FD - this often leads to
unnecessary overhead, added complexity, and worst-case to non-portable
behavior between various CAN controller drivers.

Instead, move to a simpler approach where the ability to accept/reject RTR
frames is globally configured via Kconfig. By default, all incoming RTR
frames are rejected at the driver level, a setting which can be supported
in hardware by most in-tree CAN controllers drivers.

Legacy applications or protocol implementations, where RTR reception is
required, can now select CONFIG_CAN_ACCEPT_RTR to accept incoming RTR
frames matching added CAN filters. These applications or protocols will
need to distinguish between RTR and data frames in their respective CAN RX
frame handling routines.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-21 11:00:31 +01:00
Pavel Vasilyev
981c79b7ce Bluetooth: Mesh: Drop explicit support for Bluetooth Mesh 1.0.1
Bluetooth Mesh Protocol 1.1 is backward compatible with Bluetooth Mesh
Profile 1.0.1, therefore the stack can still be qualified for 1.0.1 if
needed. But explicit support for both versions requires additional
maintenance efforts and doubles the CI time. To make the stack
qualifiable for 1.0.1, the one needs to remove Private Beacons reception
and compile out SHA256 algorithm support.

What is changed:
- Removed `CONFIG_BT_MESH_V1d1` option.
- Removed `transport_legacy.c` which was using 1.0.1 implementation. The
  new transport layer has new SaR logic that should still be possible to
  qualify for 1.0.1.
- Removed the legacy transport Kconfig options. They are superseded by
  the new transport Kconfig options.
- Tester app: `overlay-mesh-v1d1.conf` is merged into
  `overlay-mesh.conf`.
- Removed BabbleSim tests for 1.0.1.
- Updated documentation.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2024-01-19 12:55:40 +01:00
Doug Foster
6a1f48bd4e doc: posix: Update services/portability/posix doc
Update index.rst located in doc/services/portability/posix/overview
to include link to POSIX samples.

Signed-off-by: Doug Foster <dougwfost@gmail.com>
2024-01-19 10:32:23 +01:00
Henrik Brix Andersen
93551a4a95 doc: releases: migration-guide: 3.6: note on removal of CAN_FILTER_FDF
Add a note about the removal of the CAN_FILTER_FDF flag from the CAN
controller driver API.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-19 09:55:43 +01:00
Dmitrii Golovanov
b6e48d04f6 doc: posix: Fix internal links
Fix several links to other Zephyr doc sections as internal.

Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
2024-01-19 09:32:29 +01:00
Jamie McCrae
aa523a4bde doc: release: 3.6: Add note on fixed MCUmgr UDP error code
Adds a note about a fixed error code

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2024-01-18 20:16:11 +01:00
Krzysztof Chruściński
a0382bd0f3 soc: arm: nordic_nrf: Disable UART runtime configuration
Since it takes 400 bytes of code and it is rarely used disable
by default this feature.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-01-18 11:12:55 +01:00
Fabio Baltieri
24cf2f6548 doc: use substitutions to replace all current harcoded SDK versions
This creates a set of substitution rules to replace all current usages
of SDK versions in the documentation, apart from a few that were not
meant to be copy-pastable anyway and the version has just been swapped
with a <version> placeholder.

Since code-block does not parse the content, these have all been
replaced with parsed-literal. That one though parses URLs, which cannot
be broken, so a series of URL substitutions are provided too.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-01-18 10:54:20 +01:00
Yong Cong Sin
b8008c4727 shell: shell_uart: improve macro compatibility with previous version
The `SHELL_UART_DEFINE` macro was previously
`SHELL_UART_DEFINE(_name, _tx_ringbuf_size, _rx_ringbuf_size)`,
before it got removed in #63967 and then reinstated in #66218 as
`SHELL_UART_DEFINE(_name)`.

However its current form isn't compatible with previous Zephyr
version, and would cause compilation error when an application
migrates from to v3.6, let's modify it to accept variable
arguments for now.

Added documentation for this public API and updated the
migration guide accordingly.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2024-01-18 10:52:08 +01:00
Emil Gydesen
490c5e3b20 Bluetooth: Audio: Shell: CAP change volume command
Add sthe change volume command to the CAP commander shell.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-01-17 12:00:09 -05:00
Emil Gydesen
77c76fd7aa doc: Bluetooth: Update audio status table
Put CAP Commander into WIP.
Put PBP source and sink into done.
Put GMAP into done (minus samples).

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-01-17 11:56:29 -05:00
Laurin Wolf
f59ab74ba8 docs: lwm2m: fix example x509 CA certificate resource id
The resource ID of the CA certificate in the Security Object should
be 0/0/4 instead of 0/0/5

Signed-off-by: Laurin Wolf <laurin@l5w.de>
2024-01-17 16:11:04 +00:00
Bjarki Arge Andreasen
08d6ff059e scripts: dts: gen_defines: Generate interrupt-controller macro
Extend the gen_defines.py write_interrupts(node) function to
generate macros to get the interrupt controller for an
interrupt specifier by idx and by name.

The information is already generated by edtlib.py and stored in
node.interrupts[].controller. This addition uses the node pointed
to by the controller member to generate the following example output

define DT_N_S_device1_IRQ_IDX_0_CONTROLLER \
       DT_N_S_gpio_800

define DT_N_S_device1_IRQ_NAME_test4_CONTROLLER \
       N_S_device1_IRQ_IDX_0_CONTROLLER

Signed-off-by: Bjarki Arge Andreasen <bjarki@arge-andreasen.me>
2024-01-17 13:18:00 +01:00
Erwan Gouriou
af126d010a include: pinctrl.h: Make PINCTRL_SKIP_SLEEP available with CONFIG_PM
In some cases, PINCTRL_STATE_SLEEP may be required even when
CONFIG_PM_DEVICE is not defined.
One example is the possibility/need to put JTAG pins to analog when
CONIG_PM=y and CONFIG_DEBUG=n.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2024-01-16 15:20:15 +00:00
Amrith Venkat Kesavamoorthi
879e3a42b0 drivers: gpio: PCF857x: Modify PCF8574 driver
Modify existing PCF8574 driver as PCF857x for:
PCF8574 - 8 channel I/O expander
PCF8575 - 16 channel I/O expander

Signed-off-by: Amrith Venkat Kesavamoorthi <amrith@mr-beam.org>
2024-01-16 15:19:14 +00:00
Jonathan Rico
38c39af4df Bluetooth: L2CAP: Prepend SDU header immediately
Previously it was not always possible to prepend the header.

It was not possible if the application neglected to reserve the space
for headers.  This is bad because it forces a buffer segment allocation
even if the buffer had enough room for the headers. E.g. a payload of 10
bytes in a netbuf of 30 bytes would have been segmented.

We now explicitly reject the buffer if it does not have the headroom.

This allows us to do a nice thing; simplify L2CAP segmentation.

We convert the SDU from the application into a PDU payload, by
prepending the SDU header, i.e. the SDU length in the original buffer.

This PDU payload is ready to be chunked into PDUs without having to keep
track of where in the SDU we are. This has the effect of removing a
bunch of logic in the segmentation machine.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
Signed-off-by: Aleksander Wasaznik <aleksander.wasaznik@nordicsemi.no>
2024-01-16 11:29:43 +00:00
Jukka Rissanen
11f7fa2782 drivers: eth: phy: Remove syscall from phy API
No point marking the phy API to be callable from usermode,
the device cannot be accessed from usermode anyway so this
is pointless. User can call the phy API from supervisor mode
thread just fine.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-01-15 15:48:03 -06:00
Grzegorz Swiderski
460b6ef122 code_relocation: Add NOKEEP option
When using the code and data relocation feature, every relocated symbol
would be marked with `KEEP()` in the generated linker script. Therefore,
if any input files contained unused code, then it wouldn't be discarded
by the linker, even when invoked with `--gc-sections`.

This can cause unexpected bloat, or other link-time issues stemming from
some symbols being discarded and others not.

On the other hand, this behavior has been present since the feature's
introduction, so it should remain default for the users who rely on it.

This patch introduces support for `zephyr_code_relocate(... NOKEEP)`.
This will suppress the generation of `KEEP()` statements for all symbols
in a particular library or set of files.

Much like `NOCOPY`, the `NOKEEP` flag is passed to `gen_relocate_app.py`
in string form. The script is now equipped to handle multiple such flags
when passed from CMake as a semicolon-separated list, like so:

   "SRAM2:NOCOPY;NOKEEP:/path/to/file1.c;/path/to/file2.c"

Documentation and tests are updated here as well.

Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
2024-01-15 13:20:17 +01:00
Fabian Pflug
bccec3cccd doc: twister: fix spelling errors
Fis spelling errors in twister doc

Signed-off-by: Fabian Pflug <fabian.pflug@grandcentrix.net>
2024-01-15 11:33:06 +00:00
Jonathan Rico
75c2aeb8bd Bluetooth: L2CAP: stop stealing buffers from SDU pool
It seems like a nice idea at first, but leads to hard-to-debug
situations for the application.

The previous behavior can be implemented by the app by defining
`alloc_seg` and allocating from the same pool as `buf`.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2024-01-15 09:58:58 +01:00
Dmitrii Golovanov
b184fc3a62 posix: sched: Add CONFIG_POSIX_PRIORITY_SCHEDULING
Add `CONFIG_POSIX_PRIORITY_SCHEDULING` Kconfig option to select
APIs from PSE53 `_POSIX_PRIORITY_SCHEDULING` option group.

Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
2024-01-15 09:57:44 +01:00
Andrej Butok
a21076bbf3 doc: pyocd: Add CMSIS DAP Onboard Debug Probe support
Add the CMSIS DAP Onboard Debug Probes to the list
of supported probes by pyOCD.

Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
2024-01-12 15:57:32 -05:00
Daniel Leung
bd3c76c88d doc: force include interface header files first
Force include interface header files first before other files
under include. This is due to doxygen always using the first
found item during linking. Because of this, without forcing
the interface definitions first, almost all of these would
link to the same named items, for example, under ARC header
files instead. Hence the need to manually shuffle the items
so linking would actually link to the correct items.

Note that this only works with functions and macros that are
actually defined in the interface file. A simple doc section
with @def would not work as this is not an actual definition.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2024-01-11 21:06:03 -05:00
Daniel Leung
206e1d5b0e sys: atomic: move doxygen doc to atomic.h
This moves the doxygen doc from atomic_builtin.h to
atomic.h, as the doc should not have been inside
a particular implementation.

Also add an alias @atomic_api to replace the repetitive
wordings in the doc.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2024-01-11 21:06:03 -05:00
Henrik Brix Andersen
53217b980c doc: release: migration-guide: 3.6: mention change in mcp320x bindings
Mention the change in the microchip,mcp320x bindings to use the common
io-channel-cells name "input" instead of "channel".

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-11 17:32:28 +01:00
Jukka Rissanen
aeb1e41c22 doc: net: Add network configuration guide
Add a simple document describing various network related
configuration options and how they affect the available
resources in the system.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-01-11 10:26:47 -05:00
Yong Cong Sin
768ed26010 doc: posix: signal: fix sigsuspend typo
The `sigsuspend` is currently `igsuspend`, fix that.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2024-01-11 07:49:26 -05:00
Yong Cong Sin
f82b64504c doc: posix: signal: mark sigprocmask as supported
`sigprocmask()` is now implemented, mark it so.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2024-01-11 07:49:26 -05:00
Gerard Marull-Paretas
9e5e8e8c40 doc: extensions: zephyr-domain: make Breathe inserts optional
So that external users of the domain only interested in e.g. referencing
roles, can skip tweaks made to Breathe's directives.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-11 10:04:44 +01:00
Gerard Marull-Paretas
9f4a7ba0f5 doc: extensions: zephyr-domain: fix object descriptions
Zephyr's domain code-sample object description was incorrectly yielded,
making Sphinx inventory (objects.inv) unusable on other projects that
need to use the domain via Intersphinx.

Ref. https://www.sphinx-doc.org/en/master/extdev/domainapi.html

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-11 10:04:44 +01:00
Henrik Brix Andersen
1fa11bd038 doc: release: migration guide: 3.6: add note on stm32h7 CAN domain clk
Add a note describing the new default for the STM32H7 FDCAN CAN controller
domain/kernel clock and how to override it.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-10 20:59:55 -05:00
Christopher Friedt
b85b7a3490 doc: posix: overview: clarification on conformant implementations
Any C library with conformant implementations of POSIX features,
options, or option groups can be used in place of the versions
provided with Zephyr's POSIX implementation as long as there is
no source licensing compatibility or linking clause violation.

Implementations of such features, options, or option groups can
be used in whole or in part, as long as there is no conflict
with the rest of Zephyr or the application.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-01-10 18:17:10 +00:00
Christopher Friedt
5bbec7a45d docs: posix: option groups: add _POSIX_THREAD_SAFE_FUNCTIONS
The _POSIX_THREAD_SAFE_FUNCTIONS option was mentioned in
aep/index.rst but not expanded.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-01-10 18:17:10 +00:00
Christopher Friedt
ce42bf3820 doc: posix: option groups: add C_LANG_JUMP and C_LANG_MATH
Add POSIX_C_LANG_JUMP and POSIX_C_LANG_MATH option groups
with links to specification details on opengroup.org .

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-01-10 18:17:10 +00:00
Christopher Friedt
283d813c88 doc: posix: option groups: abbreviate POSIX_C_LANG_SUPPORT
In order to reduce verbosity on the primary Option Groups page,
simply add a note that the POSIX_C_LANG_SUPPORT is considered
supported with newlib, picolibc, or any other libc conforming to
the ISO C standard.

Add a link to the language support page that details C, C++, ..

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-01-10 18:17:10 +00:00
Fabio Baltieri
bd8cee8683 drivers: input: add an analog-axis driver
Add an input driver to read data from an analog device, such as a
thumbstick, connected to an ADC channel, and report it as an input
device.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-01-10 15:05:35 +01:00
Yong Cong Sin
9016cec150 doc: posix: mark sem_open, sem_close & sem_unlink as supported
The `sem_open()`, `sem_close()` & `sem_unlink()` functions are
now implemented, so mark them as supported.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2024-01-10 07:18:19 -05:00
Piotr Golyzniak
8831aa60eb scripts: twister: add copying of bsim exe
To make possible to build bsim tests by Twister, it is necessary to
copy executables to BabbleSim bin directory.

Signed-off-by: Piotr Golyzniak <metody159@gmail.com>
2024-01-10 12:10:58 +01:00
Jukka Rissanen
b0dd9a2980 doc: net: ppp: Fix the point-to-point documentation
The ppp doc was still referring to gsm-modem sample which
is no longer there. Also removed old information that is no
longer relevant.

Fixes #67171

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-01-10 12:06:19 +01:00
Jamie McCrae
7ff715b848 doc: release: 3.6: Add note on sysbuild shield fix
Adds a note that the sysbuild shield fix has been applied

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2024-01-09 10:37:38 -06:00