Commit graph

85,247 commits

Author SHA1 Message Date
Martí Bolívar
2dc1b071ae doc: release: split DT into its own section
By popular demand, create a separate devicetree section, splitting it
apart from the "build/infrastructure" section.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2022-06-03 10:31:53 +02:00
Henrik Brix Andersen
e2ad6cfdc7 doc: releases: 3.1: remove empty EEPROM section
Remove the empty EEPROM section. There are user-facing changes to the
EEPROM drivers/API for this release.

Fixes: #46213

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2022-06-03 09:32:09 +02:00
Yonatan Schachter
dfb0db9bfc Release notes: Added RPi Pico to v3.1.0 release notes
Add new features added to the Raspberry Pi Pico series to
the v3.1.0 release notes.

Signed-off-by: Yonatan Schachter <yonatan.schachter@gmail.com>
2022-06-03 09:31:19 +02:00
Stephanos Ioannidis
baa63bf83b doc: release-notes: Add C library release notes for 3.1
This commit adds the C library release notes for the Zephyr 3.1
release.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-06-03 09:30:53 +02:00
Stephanos Ioannidis
77d9395f23 doc: release-notes: Add C++ subsystem release notes for 3.1
This commit adds the C++ subsystem release notes for the Zephyr 3.1
release.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-06-03 09:30:53 +02:00
Tom Burdick
fe9854c072 doc: release: Add i2c release notes for v3.1.0
Added comments about enhancements, drivers, and significant bug fixes.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2022-06-02 21:46:07 -07:00
Carlo Caione
b780a5f152 doc: release notes V3.1.0: Add ARM64 and IPC notes
Added notes for ARM64 and IPC.

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2022-06-02 15:10:07 -07:00
Tom Burdick
11b9da4396 doc: release: Adds DMA release notes for v3.1.0
Adds comments on added drivers, improvements, and fixes for DMA

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2022-06-02 12:53:29 -07:00
Daniel DeGrasse
efbe031aa5 doc: release: add release notes for disk drivers
Add release notes for disk drivers. Primary update since 3.0 was
addition of generic SDMMC disk driver.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2022-06-02 12:53:10 -07:00
Andrzej Głąbek
a78e7c5c90 samples/drivers/adc: Fix output specification
This is a follow-up to commit f5ffd05e6b.

Since twister removes leading spaces from received lines before
further processing, the regular expression for checking the output
produced by the sample cannot contain such space. Also negative
values read from ADC channels need to be allowed.
For consistency, remove the leading space also in the actual string
printed by the sample.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2022-06-02 16:04:04 +02:00
Evgeniy Paltsev
554aa9cde3 ARC: west: mdb runner: change folder to run MDB
Make the build folder the place where MDB is run. Otherwise mdb
will store the .sc.project folder in the place where twister is
launched (so .sc.project folder will be shared across the runs)

For that we add **kwargs argument to popen_ignore_int method
so we can pass a cwd argument to the Popen constructor.

Signed-off-by: Evgeniy Paltsev <PaltsevEvgeniy@gmail.com>
Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
2022-06-02 13:09:51 +02:00
Joakim Andersson
21dcb29660 boards: mps3_an547: Fix strange symbol in example run command
Fix strange symbol instead of underscore in example run command

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2022-06-02 12:56:49 +02:00
Sylvio Alves
7c2305612d drivers: i2c: fix esp32 fifo rx value
Fix #46112 introduced a regression regarding rx fifo length.
This fixes it so that the last byte is not placed in
wrong buffer index.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2022-06-02 12:56:33 +02:00
Stephanos Ioannidis
3d5a28a394 doc: develop: Fix typo in newlib page
Add a missing space to fix documentation display issues.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-06-02 12:56:25 +02:00
Evgeniy Paltsev
801fe1fa06 doc: add ARC release-notes for 3.1
Add ARC architecture and boards release notes

Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
Signed-off-by: Evgeniy Paltsev <PaltsevEvgeniy@gmail.com>
2022-06-01 16:37:12 +02:00
Dominik Ermel
b332864640 doc/releases/3.1: Add notes on MCUMGR to zcbor transition
The commit adds release notes on MCUMGR transition from TinyCBOR
to zcbor, and deprecation of several Kconfig options that are
no longer needed.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2022-06-01 16:36:45 +02:00
Erwan Gouriou
5ba4811484 doc: release notes V3.1.0: Shields Updates
Update V3.1.0 release notes with shields additions.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2022-06-01 16:36:33 +02:00
Erwan Gouriou
8cae92f3eb doc: release notes V3.1.0: bt_disable and HCI close addition
Update V3.1.0 release notes with bt_disable addition

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2022-06-01 16:36:33 +02:00
Erwan Gouriou
86c4357c26 doc: release notes V3.1.0: STM32 Updates
Update V3.1.0 release notes with STM32 related changes.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2022-06-01 16:36:33 +02:00
Robert Lubos
3b27614ee7 doc: release: 3.1: Add release notes for networking
Add networking release notes based on commit history.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2022-06-01 16:36:02 +02:00
Gerard Marull-Paretas
dead2df30a doc: release-notes: add pinctrl release notes
Add list of platforms that have a new pinctrl driver to the release
notes.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-06-01 16:35:24 +02:00
Andrzej Puzdrowski
177dd8608f releae-note: note on MCUboot for 3.1.0 release
Added description on changes since the last major release
for the MCUboot.

Signed-off-by: Andrzej Puzdrowski <andrzej.puzdrowski@nordicsemi.no>
2022-06-01 16:35:09 +02:00
Andy Ross
3fff886da3 doc/releases: 3.1 release notes for kernel/xtensa/x86
Not a huge release, but a handful of noteworthy new features (and one
important bug)

Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
2022-06-01 16:34:51 +02:00
Flavio Ceolin
87e08afaca doc: release: 3.1: Add power management notes
Add release notes for Power Management subsystem.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2022-06-01 16:34:44 +02:00
Stephanos Ioannidis
31b9d00e55 doc: develop: c: Add dynamic memory management documentations
This commit adds the sections describing how the dynamic memory
management is handled to the C language support and standard library
documentations.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-06-01 15:26:48 +02:00
Stephanos Ioannidis
5cee62acd1 doc: kernel: Re-organise memory management API pages
The kernel documentation listed the memory management API pages under
two different sections: 'Kernel/Kernel Services' and
'Kernel/Memory Management' -- this creates unnecessary confusion and
makes it hard to look up all supported kernel memory management APIs.

This commit relocates the memory management API pages under
'Kernel/Kernel Services' to 'Kernel/Memory Management' so that all
memory management APIs provided by the kernel are described in one
unified section.

The link to the 'Kernel/Memory Management' index page is still left in
the 'Kernel Services' page because it may still be helpful to look at
it as part of the services provided by the Zephyr kernel -- it is just
more substantial than the rest and deserves more visibility.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-06-01 15:26:48 +02:00
Stephanos Ioannidis
123e6918f4 doc: develop: Improve C++ language support documentation
This commit reworks the C++ language support documentation such that:

1. it contains more up-to-date information regarding the available
   features.

2. it makes a clear distinction between the Zephyr C++ subsystem and
   the C++ standard library and describe the functionalities they
   provide.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-06-01 15:26:48 +02:00
Stephanos Ioannidis
3013f21a5c doc: develop: Improve C language support documentation
This commit reworks the C language support documentation such that it
is more up to date and contains more information about the Newlib.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-06-01 15:26:48 +02:00
Stephanos Ioannidis
c45a2213c6 doc: develop: Add 'Language Support' sub-category
This commit adds the 'Language Support' sub-category under the
'Developing with Zephyr' category with programming language support-
related documentations.

The contents of the 'C standard library' page have been relocated to
the 'C Language Support' page, and the contents of the 'C++ Support for
Applications' page have been relocated to the 'C++ Language Support'
page.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-06-01 15:26:48 +02:00
Stephanos Ioannidis
2598f0ed3c doc: toolchains: Add Zephyr SDK documentation
This commit adds a dedicated page for the Zephyr SDK under the
'Toolchains' sub-category under 'Developing with Zephyr'.

The content of this page is based on the Zephyr SDK installation
instruction from the 'Getting Started Guide'.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-06-01 15:26:48 +02:00
Stephanos Ioannidis
df14444a38 doc: toolchains: Add pages for individual toolchains
This commit adds individual documentation page for each toolchain type
based on the content from the `3rd_party_x_compilers.rst` file in order
to improve visibility.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-06-01 15:26:48 +02:00
Stephanos Ioannidis
26b019f2f0 doc: develop: Add 'Toolchains' sub-category
This commit adds the 'Toolchains' sub-category under the 'Developing
with Zephyr' category with toolchain-related documentations that were
previously located under the 'Getting Started Guide' sub-category.

It also reworks the toolchain-related documentation in the "Beyond
Getting Started Guide" document such that it is more up to date and any
confusing and/or misleading details are removed.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-06-01 15:26:48 +02:00
Stephanos Ioannidis
4ae0e186a1 doc: getting_started: Improve consistency for SDK instructions
This commit renames the "Install a Toolchain" section in the Getting
Started Guide to "Install Zephyr SDK" so that it reflects the actual
content of the section.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-06-01 15:26:48 +02:00
Carles Cufi
9a43a3e8a7 doc: relnotes: Add Bluetooth release notes for 3.1.0
As usual, populate the Bluetooth release notes, this time for Zephyr
3.1.0.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2022-06-01 12:59:38 +02:00
Marcin Niestroj
c4bd3f1e38 tests: net: socket: udp: verify that sent DGRAM was not fragmented
Datagrams should either be fully sent or not sent at all if networking
buffers or network interface MTU does not allow that.

Verify that by trying to send MTU+1 bytes in case of IPv4 (as IP level
fragmentation is not implemented) and IPv6 (should fail when IPv6
fragmentation support is not enabled and succeed otherwise). In case of
IPv6 try to send "total number of network buffers + 1", so that even with
IPv6 fragmentation enabled requested datagram will not be sent. In all
tested cases when datagram is too big, check that ENOMEM error code is set.

NOTE: Tested behavior is not 100% compliant with Linux, as on Linux
EMSGSIZE error code is set when trying to send datagram bigger than MTU,
when manually disabling IP fragmentation (by setting IP_MTU_DISCOVER to
IP_PMTUDISC_DO). However, it is not trivial to implement such
behavior (EMSGSIZE error due to MTU) now and there is always a risk of
running out of buffers (and getting ENOMEM), so for now implemented tests
just assume the latter case to always happen.

Add 3rd testcase, which enables IPv6 fragmentation support, so that UDP
socket behavior can be tested in that context.

Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
2022-06-01 11:17:07 +02:00
Marcin Niestroj
c00fdcb518 net: context: prevent truncating outgoing datagrams
Datagrams should either be fully sent or not sent at all if networking
buffers or network interface MTU does not allow that. So far the behavior
was to truncate outgoing packets, even for datagram sockets.

When there is not enough available payload buffer to fit all requested
data, fail if that happens for datagram socket.

Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
2022-06-01 11:17:07 +02:00
Stephanos Ioannidis
eb710039c0 libc: minimal: Fix gmtime() userspace support
The gmtime() function returns a global result variable, and this
variable must be placed in the `z_libc_partition` when userspace is
enabled.

Since gmtime() makes use of a global variable and this results in a
footprint increase, this commit makes the time functions optional by
introducing `CONFIG_MINIMAL_LIBC_TIME` Kconfig and making them only
available when this option is enabled.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-06-01 11:03:38 +02:00
Stephanos Ioannidis
2bcb713371 libc: Define Z_LIBC_DATA macro globally
This commit globally defines the `Z_LIBC_DATA` macro, which is used to
place variables into the libc memory partition, so that it can be
re-used.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-06-01 11:03:38 +02:00
Stephanos Ioannidis
4735e10630 libc: minimal: Introduce CONFIG_MINIMAL_LIBC_NON_REENTRANT_FUNCTIONS
This commit introduces a new configuration called
`CONFIG_MINIMAL_LIBC_NON_REENTRANT_FUNCTIONS`, which enables the
traditional non-reentrant (i.e. not thread-safe) version of the C
standard library functions such as rand() and gmtime() when the
respective configs are enabled.

The non-reentrant functions make use of the globals and require an
additional memory partition (MPU region), which is scarce on low-end
devices, when CONFIG_USERSPACE=y.

The purpose of this option is to classify the MPU resource intensive
functions as a separate category and only enable them when there is a
demand for such.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-06-01 11:03:38 +02:00
Stephanos Ioannidis
b290926a99 libc: minimal: Add reentrant rand_r function
This commit adds the `rand_r` function, which is a reentrant (i.e.
thread-safe) version of the `rand` function, such that a thread-safe
variant is always available.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-06-01 11:03:38 +02:00
Roman Kellner
5a7b0fb616 doc: coding guidelines: Add rule based page hooks
Add rule based page hooks to allow to jump to
the respective rule in a webbrowser directly.

Example:

.../coding_guidelines/index.html#misrac-rule-2-2

Signed-off-by: Roman Kellner <rkellner@baumer.com>
2022-05-31 13:50:58 -07:00
Lucas Tamborrino
092406b08d esp32: drivers: i2c: fix command sequence
Closes #45008

Signed-off-by: Lucas Tamborrino <lucas.tamborrino@espressif.com>
2022-05-31 10:38:43 +02:00
Gerson Fernando Budke
2ef3fe7bca samples: net: cloud: tagio: Drop pinmux dependency
This dependency it is not required since majoprity of platforms are
working with new pinctrl API. This drops the pinmux dependency.

Fixes #46091

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2022-05-30 10:31:41 +02:00
Sjors Hettinga
d55c921e2f tests: net: socket: tcp: Add test for a broken link
A reproducible case to the behavior when during a connection
the link gets broken and all data is lost, the TCP connection
should properly terminate.

Signed-off-by: Sjors Hettinga <s.a.hettinga@gmail.com>
2022-05-30 10:30:38 +02:00
Ming Shao
33795e3776 twisterlib: fix the execution time for device testing
At the end of DeviceHandler.handle(), the execution time
should be recorded no matter what the harness.state is.
This reflects how much time has been spent on the device.
And it is also used later to determine if a test has been
attempted on a real device or just build-only.

Signed-off-by: Ming Shao <ming.shao@intel.com>
2022-05-30 10:30:00 +02:00
Stephanos Ioannidis
c875893e00 samples: clock_control_litex: Fix stale devicetree node reference
This commit fixes the stale reference to the devicetree
`clock0@82005000` node, which was changed in the commit
7b601b7f50.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-05-29 16:52:31 -04:00
Martí Bolívar
fa2054f93e release: Zephyr v3.1.0-rc3 v3.1.0-rc3
Release tag for Zephyr v3.1.0-rc3.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2022-05-27 17:48:53 -07:00
Mariusz Skamra
0492ef5bbf Bluetooth: audio: Fix call control client build
error: 'CONFIG_BT_TBS_MAX_PROVIDER_NAME_LENGTH' undeclared (first use
			in this function); did you mean
			'CONFIG_BT_TBS_CLIENT_MAX_PROVIDER_NAME_LENGTH'?
  292 |            CONFIG_BT_TBS_MAX_PROVIDER_NAME_LENGTH);
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |            CONFIG_BT_TBS_CLIENT_MAX_PROVIDER_NAME_LENGTH
etc.

This fixes build errors that were seen while building call control
client without server side (`CONFIG_BT_TBS`) enabled.
The options like BT_TBS_CLIENT_MAX_URI_LENGTH and
BT_TBS_CLIENT_MAX_PROVIDER_NAME_LENGTH have been removed because those
were not used in the code. In fact the client implementation used the
common options for BT_TBS_MAX_URI_LENGTH and
BT_TBS_MAX_PROVIDER_NAME_LENGTH that were moved in this patch to the
common Kconfig section.

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2022-05-27 17:47:58 -07:00
Erwan Gouriou
af4a044e6f soc: stm32wb: Move MB_MEM2 linker section to SRAM1
There was a confusion on MB_MEMx definitions. Both MB_MEM1/2
should be located in SRAM1. Fix this.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2022-05-27 17:46:49 -07:00
Olof Winge
dea9343d61 net: ipv4: Accept unspecified src address if dst is broadcast
To be able to accept DHCP discover/request incoming packets the ip stack
neeeds to accept unspecified src addr if the destination is broadcast
address.

Signed-off-by: Olof Winge <olof@skyshaper.net>
2022-05-27 15:46:44 -07:00