Commit Graph

91132 Commits

Author SHA1 Message Date
Fabio Baltieri 8ac651b10d doc: input: add two paragraphs about keymap and hid mapping
Add a paragraph about the input-keymap binding and one about the HID
mapping functions.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-02-12 11:07:06 -06:00
Henrik Brix Andersen 55db3a48ca doc: releases: release-notes: 3.6: no relevant EEPROM changes
Remove the EEPROM subsection from the v3.6.0 release notes.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-02-12 11:05:16 -06:00
Rodrigo Peixoto 08f163cdf6 doc: zbus: improve sensor-based illustration example
The sensor-based illustration example did not consider the HLP feature
and used the work queue to publish to the Trigger channel. With the HLP,
that is not necessary anymore. The timer ISR can publish to the channel
directly. So, this commit improves the example description by
considering the HLP feature.

Signed-off-by: Rodrigo Peixoto <rodrigopex@gmail.com>
2024-02-12 13:36:57 +01:00
Daniel Leung 575eb123e9 tests: mem_protect/obj_validation: fix check for heap size
Commit 3fbf12487c introduced a way
to add to CONFIG_HEAP_MEM_POOL_SIZE if, for example, subsystems
need more heap space. However, the size check in obj_validation
was still using the old kconfig, and was failing when extra
space was specified. So update the size check to use the updated
size.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2024-02-12 13:36:48 +01:00
Jamie McCrae 7567e7a627 samples: mgmt: mcumgr: smp_svr: Fix shell mgmt overlay
Fixes a wrong Kconfig selection in the overlay file

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2024-02-12 13:20:32 +01:00
Emil Gydesen 3e634268d6 Bluetooth: ISO: Introduce bt_iso_chan_send_ts
The bt_iso_chan_send function could take an optional
timestamp by using 0 as an indicator. The issue with
this approach was that a timestamp value of 0 is valid,
and could cause potential issue with syncing streams
in a group.

To fully support transmitting with and without timestamp,
bt_iso_chan_send_ts has been introduced, which is the only
function of the two (bt_iso_chan_send being the other) that
supports timestamps.

A new function, rather than adding a boolean to the existing,
was chosen as it simplifies the individual functions as well
as making it more explicit what the function does.

Since the bt_iso_chan_send function is used by LE audio, both
the BAP and CAP send functions have similarly been updated.
Likewise, all tests and samples have been updated to use the
updated function(s), and BT_ISO_TIMESTAMP_NONE has been
removed.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-02-12 13:13:10 +01:00
Krzysztof Chruściński 5db338c035 drivers: serial: nrfx_uarte: Fix misbehavior due to preemption
UART_RX_RDY event can be generated from UARTE interrupt or k_timer
handler. When ENDRX event occurs then k_timer is stopped (it can
be restarted if there is another buffer provided). However, if UARTE
interrupt priority is higher than k_timer priority (RTC is used
underneath) then k_timer handler may still be executed later.
K_timer notifies new bytes based on RXDRDY HW event which is
counter by the TIMER (using PPI). It may happen that RXDRDY
event arrives due to byte received into RX FIFO but since there is
not buffer provided it stays in that FIFO. Given all this, it
was possible that RX_RDY event was reported from ENDRX UARTE event,
timer was stopped but because UARTE interrupt had higher priority
timer handler is executed after UARTE interrupt is handled. In
timer handler TIMER counter reports more bytes and calls
UART_RX_RDY event with null buffer and non-zero amount of bytes.

Fixed by generating UART_RX_RDY event only if RX buffer is not
null.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-02-12 12:52:32 +01:00
Guillaume Gautier 24b9b60025 tests: drivers: adc_dma: add nucleo_f401re to the adc_dma test
Add Nucleo F401RE to the adc_dma test

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2024-02-12 12:19:56 +01:00
Guillaume Gautier 02219189d0 drivers: adc: stm32: add dma support for stm32f4 adc
Add ADC DMA support for STM32F4 (and similar series F2, F7 and L1)

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2024-02-12 12:19:56 +01:00
Gerson Fernando Budke d97f3c9c08 doc: release: 3.6: Add notes about Gigadevices
Add 3.6.0 release notes for Gigadevices.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2024-02-12 09:13:39 +00:00
Gerson Fernando Budke a50a529ddf doc: release: 3.6: Add notes about Atmel
Add 3.6.0 release notes for Atmel.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2024-02-12 09:13:39 +00:00
Anas Nashif 592a7cd6a7 tests: devmux: fix test identifiers
Fix test identifier, use correct component/sub-component.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-02-11 10:58:23 -05:00
Anas Nashif 9541677c86 tests: cmsis-dsp: rename tag to match west module name
Rename all tags to match module name.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-02-11 10:58:23 -05:00
Tom Burdick b4e66299cd imxrt1010_evk: Fix i2c pinctrl dts
i2c pads were incorrectly configured and failed to work when testing
against an external fram part. Correct the i2c pinctrl settings for
arduino i2c to match other boards in the mimxrt lineup.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2024-02-11 08:09:02 +01:00
Maureen Helm 076c0df3d8 release: Zephyr v3.6.0-rc2
Sets the version to v3.6.0-rc2.

Signed-off-by: Maureen Helm <maureen.helm@analog.com>
2024-02-10 11:48:35 -06:00
Ian Wakely 9fca406511 doc: release: 3.6: Adding additional ARM boards.
This adds the Adafruit QTPy RP2040 and the Wiznet W5500 Evaluation Pico
boards to the 3.6 release notes.

Signed-off-by: Ian Wakely <raveious.irw@gmail.com>
2024-02-10 16:36:08 +01:00
Emil Gydesen de296a2d7f Bluetooth: BAP: Fix BASE_SUBGROUP_MAX_COUNT value
The calculation for BASE_SUBGROUP_MAX_COUNT was off by one.
The macro did not consider the non-subgroup parameters of
the BASE that take up space. This effectively modifies
BASE_SUBGROUP_MAX_COUNT to be 24 instead of 25.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-02-10 16:34:27 +01:00
Thomas Stranger 850382bfd2 drivers: led: lp50xx: brightness: don't check uint >= 0
No need to check if an uint8_t is greater or equal 0 in
lp50xx_set_brightness.
Fixes CID 322654

Signed-off-by: Thomas Stranger <thomas.stranger@outlook.com>
2024-02-10 16:32:23 +01:00
David Leach a0a2e9536b manifest: Update trusted-firmware-m to address LPC55S69 failure
A bug was introduced with the TF-M 2.0 update. Patches have been
submitted to the TF-M upstream and were also applied to the Zephyr
fork.

Details on the patches applied:

Platform: nxp: Add initialization flag to the CMSIS USART driver.
Avoid possible USART_Deinit() stuck found in Zephyr TFM MCUBoot.
From Upstream TFM:SHA: I1f6c19c3e7e5556423ddf3aec7555ff44ed7e562

Crypto: Add FPU flags for p256m
Fixes build error in #67751
From Upstream TFM:SHA: I4ed6f6ac7c1f52fb5ced18f0006dd3eb7a6a7359

Fixes #67751

Signed-off-by: David Leach <david.leach@nxp.com>
2024-02-10 08:56:06 +01:00
Declan Snyder b6d9b3f923 boards: mimxrt1040_evk: Fix typo in CMakeLists.txt
Fix typo of board dir variable in CMakeLists.txt

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-02-09 17:28:11 -06:00
Eve Redero f0ea359858 doc: drivers: mipi-dbi: detail write-only and duplex options
Add clarifications to mipi-dbi bindings to avoid the confusion
between two options, write-only and duplex.

Signed-off-by: Eve Redero <eve.redero@gmail.com>
2024-02-09 16:38:15 -06:00
Wojciech Slenska 6b1b8157cd wifi: shell: added NULL check to net_mgmt callback
By default variable context.sh is set to NULL. If any net_mgmt
event will be called when the variable has default value, there
will be a system exception.

Signed-off-by: Wojciech Slenska <wsl@trackunit.com>
2024-02-09 16:36:03 -06:00
Robert Lubos 7b6e7d6088 net: ipv6: Improve Neighbor Discovery thread safety
Currently, the only thread-safe part of the IPv6 Neighbor processing
implementation are stale_counter related operation.

Fix this, by extending the mutex protection over all of the module, so
that message handlers, timers and API functions do not interfere with
each other.

As IPv6 Neighbor cache is tightly coupled with the Routing module, use
the same mutex to protect both, neighbor and routing tables, to prevent
deadlocks.

Also, replace the semaphore used with a mutex, as it seems more fit for
this particular job.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2024-02-09 16:34:34 -06:00
Fin Maaß 3c5172acac mgmt: hawkbit: Add error handling for HTTP requests
This patch adds error handling for HTTP requests in hawkbit

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2024-02-09 16:33:11 -06:00
Jonathan Rico f2d6cdfc00 Bluetooth: HCI: Add full opcode to hci_types.h
Mental arithmetic shouldn't be required to analyze logs.

With this, a user can just "grep" the Bluetooth tree for the opcode
reported in an HCI error.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2024-02-09 16:32:24 -06:00
Pavel Vasilyev 0ea8cef97a Bluetooth: Mesh: Disable randomization on Link Close in RPR server
Disable randomization at the access layer in the Remote Provisioning
server when sending Link Stauts message as a responce on Link Close
message and then sending Link Report message right after it. Because of
the randomization, the report message is sent before the status message
which makes MESH/SR/RPR/PDU/BV-03-C test to fail.

This fixes MESH/SR/RPR/PDU/BV-03-C test.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2024-02-09 16:29:12 -06:00
Pavel Vasilyev 44f86b81a3 Bluetooth: Mesh: Disable randomization in DFD model for canceling update
Disable randomization in the access layer when cancelling update in the
distribution server model. This is needed because the server sends 2
messages in a row and the gets reordered by the access layer
randomization feature making DFU/SR/FD/BV-43-C test to fail.

This fixes DFU/SR/FD/BV-43-C test.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2024-02-09 16:29:12 -06:00
Pavel Vasilyev f0fc4c30da docs: bluetooth: mesh: Add note about reordering in randomization feat
Add a note to the access randomization feature that reordering can
happen and what should be done to avoid it.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2024-02-09 16:29:12 -06:00
Jonathan Rico a066921745 Bluetooth: conn: document obfuscated function: `send_buf()`
It is unclear from a cursory glance at the code what the caller of
`send_buf(buf)` should do with `buf` based on the returned error codes.

Document when ownership is and isn't transferred to `send_buf()`.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2024-02-09 16:27:50 -06:00
Jonathan Rico 18c3571145 Bluetooth: conn: check for disconnected earlier when sending
Verify the connection is active before popping the buffer from the TX
queue.

The current behavior enables a race condition between `create_frag` and
the connection being torn down, as `buf` can be popped from the TX queue
but not destroyed by `bt_conn_process_tx`.

In that case, `buf` will be leaked.

Original analysis and fix proposal by @watsug.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
Reported-by: Adam Augustyn<watsug@gmail.com>
2024-02-09 16:27:50 -06:00
Łukasz Duda 838f33494e net: tcp: Rate-limiting of neighbor reachability hints
This commit implements simple rate-limiting for Neighbor Reachability
Hints in TCP module to prevent the potentially costly process of
frequent neighbor searches in the table, enhancing system performance.

Signed-off-by: Łukasz Duda <lukasz.duda@nordicsemi.no>
2024-02-09 16:26:10 -06:00
Flavio Ceolin 36a497b5e4 tests: dynamic_thread_stack: Fix problems in multicore
When running it in a multicore and with incoherent cache environment it
is possible that the thread allocating dynamic stacks is switched to a
different cpu. In this situation further access to that memory (like
when releasing resources) will be invalid.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-02-09 14:23:14 -05:00
Flavio Ceolin d622533ca7 kernel: thread: Allow stack in coherent memory
When allowing dynamic thread stack allocation the stack may come from
the heap in coherent memory, trying to use cached memory is over
complicated because of heap meta data and cache line sizes.
Also when userspace is enabled, stacks have to be page aligned and the
address of the stack is used to track kernel objects.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-02-09 14:23:14 -05:00
Andrei Emeltchenko eef605d6cc tests: lib: acpi: Add test verifying assert on devscope overflow
Add test verifying we catch assert() when subsctrucure is too big.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2024-02-09 13:16:33 -06:00
Andrei Emeltchenko a7afc87527 tests: lib: acpi: General header cleanup
Cleanup headers and definitions to make code more readable.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2024-02-09 13:16:33 -06:00
Andrei Emeltchenko d89a274e7a tests: lib: acpi: Verify assert() on invalid size
Catch assert() when invalid unit size is bigger then actual
table or subtable size.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2024-02-09 13:16:33 -06:00
Andrei Emeltchenko bffcd1de2a tests: lib: acpi: Add testing acpi_dmar_ioapic_get()
Add testing for acpi_dmar_ioapic_get() function.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2024-02-09 13:16:33 -06:00
Andrei Emeltchenko 9c7b952db5 tests: lib: acpi: Add testing for dmar_foreach_devscope()
Add unit testing for dmar_foreach_devscope() function.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2024-02-09 13:16:33 -06:00
Andrei Emeltchenko 9cf06173f7 tests: lib: acpi: Refactor DMAR structure and tests
Refactor DMAR structure to allow more tests. Use fake void function
for invalid size tests.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2024-02-09 13:16:33 -06:00
Andrei Emeltchenko 80c8e9736b lib: acpi: Add asserts catching overflow
Add asserts catching sub-sctructure overflow.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2024-02-09 13:16:33 -06:00
Andrei Emeltchenko d90060aad7 lib: acpi: Add more ASSERT() in ACPI table parsing
Add more assert() to DMAR parsing functions.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2024-02-09 13:16:33 -06:00
Johann Fischer 7e99579c6c usb: device_next: fix buffer count configuration in CDC ACM pool
Multiple CDC ACM instances can block each other because there are only
buffers for a single instance. Fix this by configuring the number of
buffers in the pool based on the number of CDC ACM instances.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2024-02-09 17:38:52 +00:00
Tobias Röhmel 20f173773c drivers: Fix signs in max31865 temperature calculation
The reference document says that the formula for negative
temperatures has two minus signs missing.

fixes #68710

Signed-off-by: Tobias Röhmel <tobias.roehmel@rwth-aachen.de>
2024-02-09 17:38:31 +00:00
Johann Fischer e3549ea28f usb: device_next: correct internal class API documentation
Correct documentation of the internal class API.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2024-02-09 10:52:16 -06:00
Markus Lassila ca7e69523c net: sockets: tls: Timeout DTLS with poll
Changed poll to perform incoming data check with connected
DTLS connections. This allows the CONFIG_NET_SOCKETS_DTLS_TIMEOUT
to timeout the connections to server socket if there is no
incoming data.

Previously, if the remote client closed the DTLS connection without
close notify, the timeout of the ongoing connection only happened
when next connection was taken to the server socket. Depending on
the timeouts, this could prevent the next connection from succeeding.

Signed-off-by: Markus Lassila <markus.lassila@nordicsemi.no>
2024-02-09 10:25:46 -06:00
Laurentiu Mihalcea 41289dac06 drivers: dma: dma_nxp_edma: add function for channel filtering
The point of this commit is to allow users to request specific
channels. The following code snippet shows how this may now be
achieved:

	int requested_channel = 5;
	int ret = dma_request_channel(dev, &requested_channel);

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2024-02-09 16:20:34 +00:00
Laurentiu Mihalcea 4ff5e29cfe drivers: dma: dma_nxp_edma: switch to using DT_INST_IRQN_BY_IDX
After #63289, multi-level interrupts are now encoded using
macro magic. This means that using the generic DT_INST_IRQ_BY_IDX()
to fetch the INTID is no longer an option as the queried INTID
will be the one specified through the node's `interrupts`
properties. To fix this, switch to using DT_INST_IRQN_BY_IDX()
which will return the correctly encoded INTID.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2024-02-09 16:20:34 +00:00
Laurentiu Mihalcea c07d987431 drivers: dma: dma_nxp_edma: query channel number from HAL config
Currently, the number of channels supported by the controlled
is computed based on the size of the channel array. This
works well only if there's no gaps (i.e: "dma-channels" property
is used or "valid-channels" property is used with contiguous
channels) but will break if there are any gaps. For instance,
if the user wants to use channels 16 and 17 and specifies them
through the "valid-channels" property, they won't be allowed
to do so because dma_request_channels() will stop at channel 1.
As such, to fix this, simply use the number of channels from
the HAL configuration which is the maximum number of channels.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2024-02-09 16:20:34 +00:00
Emil Gydesen 7cfc8b3340 Bluetooth: BAP: Reset _prev_seq_num on ISO connection
Once an ISO channel has connected, the sequence number
always starts at 0. This reset was missing in the implementation,
and the _prev_seq_num from a previous connection may have
been kept.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-02-09 14:39:40 +01:00
Thomas Ebert Hansen b15452bd08 Bluetooth: controller: Fix Data Length Update
Before a LL_FEATURE_REQ is sent, verify that the Data Length Update
procedure is still supported as it could have been unmasked as the result
of a previously completed Feature Exchange procedure.

Add unit test to verify the case of enqueuing both a
Feature Exchange procedure and Data Length Update procedure, where the
Feature Exchange procedure would result in the unmasking of the Data
Length Update procedure.

Signed-off-by: Thomas Ebert Hansen <thoh@oticon.com>
2024-02-09 13:46:41 +01:00