Commit Graph

5281 Commits

Author SHA1 Message Date
Fabio Baltieri
ecf29a77f8 doc: release: drop the notes about listing github issues
Drop the notes about listing all the github issues with the release
notes. That was a huge list of github issues sorted by closing time,
very noisy and hard to maintain.

The unfiltered list of changes is already in the commit history, a
distilled list is now in the blog posts and a final list is in the notes
summary.

The issue list has been skipped in 3.4 already, let's just drop it from
the process.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-07-25 16:45:15 +02:00
Carlo Caione
aab07357b7 doc: release: Add DT changes
Add DT changes to the 3.5 release notes.

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2023-07-25 11:22:10 +02:00
Carlo Caione
15e84cbfac dts: Move to 'zephyr,memory-attr'
Move to 'zephyr,memory-attr' and use the newly introduced helpers.

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2023-07-25 11:22:10 +02:00
Carlo Caione
7483e43f0c devicetree: Add 'zephyr,memory-attr' and DT helpers
The 'zephyr,memory-region-mpu' property was addede gqas a
convenient way to create and configure MPU regions using information
coming from DT. It has been used a lot since it was introduced so I
guess we can consider it a Zephyr success story ™ .

Unfortunately it has been proved to be a bit limited and with some
important limitations:

1. It was introduced as a property of the compatible
   zephyr,memory-region that is used to create linker regions and
   sections from DT data. This means that we can actually create MPU
   regions only for DT-defined regions and sections.
2. The naming is unfortunate because it is implying that it is used only
   for MPU.
3. It is misplaced being in include/zephyr/linker/devicetree_regions.h
   and still it has nothing to do with the linker at all.
4. It is exporting a function called LINKER_DT_REGION_MPU that again has
   nothing to do with the linker.

Point (1) is also particularly limiting because it is preventing us to
characterize memory regions that are not generated using the
'zephyr,memory-region' compatible, like generic mmio-sram regions.

While we fix all the issues, we also want to extend a bit the range of
usefulness of this property. We are renaming it 'zephyr,memory-attr' and
it is now carrying information about the type of memory the property is
attached to (cacheable, non-cacheable, IO, eXecutable, etc...). The user
can use this property and the DT API coming with it to act on the memory
node it is accompanied by.

We are still providing the DT_MEMORY_ATTR_APPLY() macro that can be used
to create the MPU regions as before, but we are adding also a
DT_MEMORY_ATTR_FOREACH_NODE() macro that can be used to cycle through
the memory nodes and act on those.

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2023-07-25 11:22:10 +02:00
Nicolas Pitre
52e2f83185 kernel/timeout: introduce the timepoint API
This is meant as a substitute for sys_clock_timeout_end_calc()

Current sys_clock_timeout_end_calc() usage opens up many bug
possibilities due to the actual timeout evaluation's open-coded nature.

Issue ##50611 is one example.

- Some users store the returned value in a signed variable, others in
  an unsigned one, making the comparison with UINT64_MAX (corresponding
  to K_FOREVER) wrong in the signed case.

- Some users compute the difference and store that in a signed variable
  to compare against 0 which still doesn't work with K_FOREVER. And when
  this difference is used as a timeout argument then the K_FOREVER
  nature of the timeout is lost.

- Some users complexify their code by special-casing K_NO_WAIT and
  K_FOREVER inline which is bad for both code readability and binary
  size.

Let's introduce a better abstraction to deal with absolute timepoints
with an opaque type to be used with a well-defined API.
The word "timeout" was avoided in the naming on purpose as the timeout
namespace is quite crowded already and it is preferable to make a
distinction between relative time periods (timeouts) and absolute time
values (timepoints).

A few stacks are also adjusted as they were too tight on X86.

Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
2023-07-25 09:12:26 +02:00
cyliang tw
177638f11d doc: releases: Add release notes for NuMaker M46x
Add release notes for NuMaker M46x platform in 3.5 release.

Signed-off-by: cyliang tw <cyliang@nuvoton.com>
2023-07-24 08:27:21 +00:00
Fabio Baltieri
d026ce898a Revert "doc: release-notes: Update tf-m and mbed TLS"
This reverts commit a64f430d6f.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-07-22 10:56:52 -04:00
Yves Vandervennet
58e4df6460 west: runner: add support for NXP's linkserver
Linkserver is a utility for launching and managing GDB servers for NXP
debug probes, which also provides a command-line target flash programming
capabilities. Linkserver can be used with NXP MCUXpresso for Visual Studio
Code.

For more information about LinkServer, please visit the LinkServer web
page (link [1] below).

This commit adds a runner to west, supporting debug and flash commands.

Documentation is also added.

[1] - LinkServer web page:
    https://www.nxp.com/design/software/development-software/mcuxpresso-software-and-tools-/linkserver-for-microcontrollers:LINKERSERVER

Signed-off-by: Yves Vandervennet <yves.vandervennet@nxp.com>
2023-07-21 14:57:25 -05:00
David Brown
a64f430d6f doc: release-notes: Update tf-m and mbed TLS
Describe the versions of TF-M and Mbed TLS being used.

Signed-off-by: David Brown <david.brown@linaro.org>
2023-07-21 19:08:01 +00:00
Mulin Chao
976474d194 doc: releases: Add release notes for npcx flash driver
Add release notes for npcx flash driver in 3.5 release.

Signed-off-by: Mulin Chao <mlchao@nuvoton.com>
2023-07-21 13:32:11 +00:00
Tom Burdick
34a24ec4cd docs: RTIO documentation updates
Updates docs to account for the large number of changes that have
occured since the initial documentation was written.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2023-07-20 12:00:50 -04:00
Nerijus Bendžiūnas
7c08a9b6ad doc: fix FIXED_PARITION_ID typo
It seems flash_map.rst is the only place for this typo.

Signed-off-by: Nerijus Bendžiūnas <nerijus.bendziunas@gmail.com>
2023-07-20 11:49:28 -04:00
Jai Arora
7daaad454a docs: update posix docs with pthread_equal
add pthread_equal to supported api list

Signed-off-by: Jai Arora <infolinesoni@gmail.com>
2023-07-20 16:24:16 +02:00
Marcel Krüger
f055110802 doc: Add hint for automatic power domain swiching
Add a hint that when a device is on a power domain
and the device and power domain have runtime PM,
the power domain will automatically resumed/susepended.

Signed-off-by: Marcel Krüger <marcel.krueger@ithinx.io>
2023-07-20 16:23:36 +02:00
Jamie McCrae
d52b634610 doc: mgmt: mcumgr: Add details on making handlers
Adds a guide on how to make out-of-tree MCUmgr function handlers
and groups, with an example showing a test implementation.

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-07-20 16:22:31 +02:00
Jamie McCrae
35f380510c doc: release: 3.5: Add note on MCUmgr SMP version 2 error conversion
Adds a note on the new MCUmgr SMP version 2 to legacy MCUmgr error
type conversion feature.

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-07-20 10:35:14 +00:00
Yong Cong Sin
335acf817d posix: signal: implement strsignal
Implementation and ztest for strsignal.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-07-18 15:35:42 -04:00
Yong Cong Sin
ff4b81e5e5 posix: signal: implement sigismember
Implementation and ztest for sigismember.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-07-18 15:35:42 -04:00
Yong Cong Sin
88cd494430 posix: signal: implement sigdelset
Implementation and ztest for sigdelset.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-07-18 15:35:42 -04:00
Yong Cong Sin
8011449542 posix: signal: implement sigaddset
Implementation and ztest for sigaddset.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-07-18 15:35:42 -04:00
Yong Cong Sin
b9720e27c0 posix: signal: implement sigfillset
Implementation and ztest for sigfillset.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-07-18 15:35:42 -04:00
Yong Cong Sin
6910eb4a9b posix: signal: implement sigemptyset
Implementation and ztest for sigemptyset.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-07-18 15:35:42 -04:00
Daniel Leung
9f02eeadf8 serial: allow callback setting to be exclusive
Both the IRQ API and Asynchronous API support callback.
However, since they are both interrupt driven, having
callbacks on both API would interfere with each other
in almost all cases. So this adds a kconfig to signal
that the callbacks should be exclusive to each other.
In other words, if one is set, the other should not
be active. Drivers implementing both APIs have been
updated to remove the callbacks from the other API.
Though, this still leaves the option to disable
the kconfig and allows both APIs to have callbacks
if one desires.

Fixes #48606

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-07-18 11:13:02 +00:00
Grzegorz Chwierut
57c27cd736 twister: pytest: Added fixture for mcumgr with unittests
Added mcumgr fixture to pytest-twister-harness. Added unittests for
new fixture.

Signed-off-by: Grzegorz Chwierut <grzegorz.chwierut@nordicsemi.no>
2023-07-17 16:23:59 -04:00
Kevin Townsend
f68cee9405 kconfig: Set BOOTLOADER_SRAM_SIZE default to 0
The current default value for `BOOTLOADER_SRAM_SIZE` is set to an
arbitrary-seeming value of `16`, which feels like a random magic
number.

Given that adding an offset in SRAM for a bootloader should always be
a conscious choice for a specific platform, this PR sets the default
to `0`. An appropriate value can be set at the SoC or board level,
overriding this default.

Signed-off-by: Kevin Townsend <kevin.townsend@linaro.org>
2023-07-17 10:13:33 +00:00
Mike Fikes
c59b04299f doc: isotp introduce CF abbreviation
Introduce the CF abbreviation as is done for
other abbreviations (like FF) before first use.

Signed-off-by: Mike Fikes <mike@fikesfarm.com>
2023-07-16 07:32:24 -04:00
Benjamin Cabé
ca2533aea1 doc: Drop Zephyr 2.2 from supported releases
As of June 30, 2023, Zephyr 3.2.0 is not supported anymore.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-07-14 09:30:48 -04:00
Chaitanya Tata
3e1681eaa1 doc: net: Add Wi-Fi management
Add Wi-Fi management docs and APIs.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2023-07-14 15:02:29 +02:00
Gerard Marull-Paretas
77aafa51a1 doc: align pseudo-Makefile with latest CMake changes
The SPHINXOPTS option was not aligned with latest changes in CMake, and
SPHINXOPTS_EXTRA was not present.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2023-07-13 14:27:56 +02:00
Benjamin Cabé
986d0c9e89 doc: doxygen: Enable Doxygen autobrief
Enable Doxygen AUTOBRIEF feature for both Javadoc and Qt style
documentation blocks. This treats the first sentence of a documentation
block as a brief description even when no @brief tag is present. This makes
the overview sections of the generated documentation much more useful.

See https://www.doxygen.nl/manual/config.html#cfg_javadoc_autobrief and
https://www.doxygen.nl/manual/config.html#cfg_qt_autobrief

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-07-13 09:20:51 +02:00
Gerard Marull-Paretas
7c418a065c doc: requirements: update Sphinx and rtd theme
rtd_theme 1.2.x is required when using Sphinx >= 6.0, otherwise certain
features like search are broken. Note that jQuery support needs to be
enabled manually now using `sphinxcontrib.jquery` extension. Also update
Sphinx to latest 6.x release, 6.2 as it contains some fixes.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2023-07-12 19:59:03 -04:00
Florian Grandel
390b119885 doc: release-notes: document cc13/26xx timer change
Documents the changes to the naming of the cc13/26xx timer compatible
and Kconfig options.

Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
2023-07-12 19:57:25 -04:00
Florian Grandel
8d2b461e6c doc: release-notes: remove typo
Removes a misplaced heading from the driver API list.

Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
2023-07-12 19:57:25 -04:00
Gerard Marull-Paretas
7f9215da0e doc: move requirements to doc/
Zephyr scripts do not require documentation dependencies, so let's
move them from scripts/ to doc/.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2023-07-12 09:13:49 -04:00
Gerard Marull-Paretas
d3d93d4399 doc: enable Sphinx tracebacks
When something goes wrong in Sphinx or extensions, we'll get a detailed
traceback, so we can easily debug issues in CI.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2023-07-12 09:13:49 -04:00
Gerard Marull-Paretas
2c89bf5798 doc: add cmake SPHINXOPTS_EXTRA option
Add a new CMake option to append options to SPHINXOPTS. This allows us
to easily extend default SPHINXOPTS. This patch also restores the "-j
auto" option in CI (now that we use a custom runner).

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2023-07-12 09:13:49 -04:00
Gerard Marull-Paretas
85ec85384a doc: add -W --keep-going to the default SPHINXOPTS list
Run Sphinx in warnings as error mode, but keep going so that all issues
are reported to the user.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2023-07-12 09:13:49 -04:00
Michael Jones
e4ca936551 doc: Remove sphinx warning bt_ots_init pattern
The bt_ots_init struct has been renamed to bt_ots_init_param in commit:

  cf0ff30b53

That was previously triggering a warning in Sphinx, due to the same
name being used for a struct and function, and this pattern
was designed to silence it. We don't need the pattern any more as the
warning is gone.

Signed-off-by: Michael Jones <m.pricejones@gmail.com>
2023-07-12 11:48:42 +02:00
Daniel DeGrasse
8a686cac53 docs: flash_debug: host_tools: Fix reference to jlink host tools
Fix reference to JLink host tools to be located in correct section, so
that output documentation fills in the correct header name when this
section is referenced.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-07-11 13:15:06 -04:00
Chaitanya Tata
521e129528 doc: net: Add an entry about Wi-Fi Network managers
Add the entry to convey support for Wi-Fi Network Managers in Zephyr.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2023-07-11 14:55:30 +02:00
Chaitanya Tata
ea0084bfb9 doc: net: Add an entry for Wi-Fi Management
This was missing all along.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2023-07-11 14:55:30 +02:00
Jamie McCrae
c81f8d7721 doc: mgmt: mcumgr: Fix double maps
Fixes an issue where double maps were shown for some items,
and one whereby there was excess text.

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-07-10 15:27:25 +02:00
Jamie McCrae
7fa4570d10 doc: mgmt: mcumgr: Fix date typo
Fixes an issue where data was used instead of date

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-07-10 12:05:14 +02:00
Jamie McCrae
d98656f081 doc: kernel: code-relocation: Remove erroneous note
The note about required position for the function is not valid.

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-07-10 10:01:42 +00:00
Kirill Kobelev
4a8d61248a doc: introduction: Improve style and grammar across the chapter
The changes are cosmetic and they do not change the meaning of the docs.

Signed-off-by: Kirill Kobelev <kobelev17@cdsan.com>
2023-07-10 10:01:08 +00:00
Yong Cong Sin
4580708f54 posix: implement uname
Add implementation for posix uname.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-07-09 16:57:16 -04:00
Jakub Duchniewicz
adc36315b0 doc: Fix typos in zbus documentation
Fixes a few typos.

Signed-off-by: Jakub Duchniewicz <j.duchniewicz@gmail.com>
2023-07-09 19:58:59 +00:00
Harshil Bhatt
322cd468db docs: update posix docs with pthread_barrierattr
add pthread_barrierattr to supported api list

Signed-off-by: Harshil Bhatt <harshilbhatt2001@gmail.com>
2023-07-09 10:40:57 -04:00
Aaron Massey
e1401fcf5e emul: Add SBS Gauge emulator backend_api
In order to support easier setup of test scenarios with fuel gauge
emulators, we should expose an API that can change internal emulator state.

Add a minimal fuel gauge emulator backend API for setting the charging
current and voltage with a sample implementation in the emul_sbs_gauge with
an associated driver test.

Signed-off-by: Aaron Massey <aaronmassey@google.com>
2023-07-07 09:22:20 +02:00
Aleksandr Khromykh
9b4d080419 Bluetooth: Mesh: add shell statistic commands
Commit adds commands to get and to clear
the frame statistic.

Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
2023-07-07 09:20:33 +02:00