Skip to content

drivers: support direct ISRs in mbox_nrf_bellboard_rx and nrf_grtc_timer #3084

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1,072 commits into
base: main
Choose a base branch
from

Conversation

jonathannilsen
Copy link
Contributor

Use direct ISRs whenever CONFIG_GEN_SW_ISR_TABLE=n in these drivers:

  • drivers/mbox/mbox_nrf_bellboard_rx.c
  • drivers/timer/nrf_grtc_timer.c

Hi-Im-David and others added 30 commits July 3, 2025 13:16
…nrf2

Refactor of previous clock_control_nrf_auxpll.c to use
the nrf2 clock control API

Signed-off-by: David Jewsbury <[email protected]>
(cherry picked from commit 49b0f1a)
Auxpll driver has been refactored to use nrf2 API instead.

Signed-off-by: David Jewsbury <[email protected]>
(cherry picked from commit 9087e82)
…f2_auxpll driver

Test added for new nrf2_auxpll driver. Frequency checks are
against known usecases of the auxpll (USB, CAN and AUDIO).
Also update test to be more modular, only running certain tests
if in the devicetree.

Signed-off-by: David Jewsbury <[email protected]>
(cherry picked from commit bd5aefb)
Move lfosc_get_accuracy away from common library as
not all devices need this function.

Signed-off-by: David Jewsbury <[email protected]>
(cherry picked from commit 0285cf4)
Commit be40d854c2ccacf14ca3fcfb01bffdc9b075c6c9 introduced the ability
of building Zephyr with deprecation warnings enabled, by making
COMPILER_WARNINGS_AS_ERRORS depend on the newly added DEPRECATION_TEST
Kconfig option. This has the downside of disabling **all** warnings, not
only the deprecation ones.

This patch instead makes DEPRECATION_TEST disable only the deprecation
warning, but leaves COMPILER_WARNINGS_AS_ERRORS enabled.
This has the advantage of being able to see other unrelated warnings
(and fail if they appear) but has the disadvantage of not printing out
the deprecation warnings themselves (since they are disabled).

Signed-off-by: Carles Cufi <[email protected]>
(cherry picked from commit 892ac07)
If test plan is used, memory usage metrics are overridden.
Result of this operation is missing memory footprint.

This change removes redundand metrics update and fixes
described inconvenience.

Signed-off-by: Katarzyna Giądła <[email protected]>
(cherry picked from commit bec789d)
…mple

[nrf-squash!] [nrf noup] samples: mgmt: mcumgr: smp_svr: Add nrf5340dk-optimised sample

Fixes a missing MCUboot configuration for this specific
configuration which did not set the number of MCUboot sectors
properly

Signed-off-by: Jamie McCrae <[email protected]>
… paths

Fixes an issue where external sysbuild Kconfig path variables
were not provided and meant they could not be overwritten

Upstream PR #: 92591

Signed-off-by: Jamie McCrae <[email protected]>
Adding nRF54LM20A device.

Signed-off-by: Karol Lasończyk <[email protected]>

Signed-off-by: Sebastian Głąb <[email protected]>
(cherry picked from commit 387520c)
Adding board for nRF54LM20A device.

Signed-off-by: Karol Lasończyk <[email protected]>

Signed-off-by: Sebastian Głąb <[email protected]>
(cherry picked from commit 3d1fa8b)
Extends support and adds new overlays.

Signed-off-by: Karol Lasończyk <[email protected]>
Signed-off-by: Bjarki Arge Andreasen <[email protected]>

Signed-off-by: Sebastian Głąb <[email protected]>
(cherry picked from commit 061036f)
nordic,entropy-prng does not exist in Zephyr (it is part of NCS)
but we have in both the nordic,nrf-cracen-ctrdrbg which is
an actual source of true entropy and works with this SOC.
Let's use that instead.

Fixes failures to build targeting the nrf54lm20dk any test/sample
which uses the entropy driver.

Signed-off-by: Alberto Escolar Piedras <[email protected]>

Signed-off-by: Sebastian Głąb <[email protected]>
(cherry picked from commit 0903efa)
Fixes wrongly set memory space for FLPR core.

Upstream PR #: 92437

Signed-off-by: Karol Lasończyk <[email protected]>

Signed-off-by: Sebastian Głąb <[email protected]>
The xiao_ble boards ship with a bootloader requiring an app offset of 0x27000.
The upstream board defines this via DT partitions, which will not be used if
partition manager is enabled.
Add a static partition configuration to allow binaries built for this board
to work out-of-the-box in NCS, and match the behavior with sysbuild disabled.

Signed-off-by: Aleksandar Stanoev <[email protected]>
nrf-squash! [nrf noup] ci: set `ZEPHYR_<MODULE_NAME>_KCONFIG` for NCS modules

Adds a static path for the NRF Kconfig variable in the check
compliance script, this is a temporary workaround due to supporting
an external root for NCS that should be reworked to use package
helper in future

Signed-off-by: Jamie McCrae <[email protected]>
nrf-squash! [nrf noup] scripts: ci: check_compliance: Add NCS sysbuild Kconfigs

Adds a Kconfig to the allow list as it is used in documentation but
is not defined

Signed-off-by: Jamie McCrae <[email protected]>
Add document for wifi credentials library, which use to load
and store credentials.

Signed-off-by: Kapil Bhatt <[email protected]>
(cherry picked from commit 900a7a9)
Add commands to connect with EAP-TTLS and EAP-PEAP
security modes.

Signed-off-by: Kapil Bhatt <[email protected]>
(cherry picked from commit 15cf0c5)
Modify the wifi documents for better format.

Signed-off-by: Kapil Bhatt <[email protected]>
(cherry picked from commit 81ba3df)
… not own it

Commit adds destruction of the persisted in PSA ITS key if
mesh does not own it (zero bit in the bitmap of persisted keys).

This is not standard mesh behavior, but might happen
if something happens between removing key data in mesh and
in the crypto library (for example power off in bettwen).

Previously, mesh wasn't able to import key with gotten stuck
key id. The current fix reproduces more robust behavior.

Upstream PR #: 92780

Signed-off-by: Aleksandr Khromykh <[email protected]>
Add definition of MSPI_PORT for other platforms to make the test
generic.

Upstream PR #: 92790

Signed-off-by: Magdalena Pastula <[email protected]>
… reset

Adds an optional boot mode field which can be used to boot into a
specific image or mode using MCUmgr's OS mgmt reset command

Signed-off-by: Jamie McCrae <[email protected]>
(cherry picked from commit 0adcf2e)
Automatically enable booting radio core if BT HCI interface is enabled.

Upstream PR #: 92787

Signed-off-by: Tomasz Chyrowicz <[email protected]>
…_len update"

This reverts commit 3c484e8.

Signed-off-by: Olivier Lesage <[email protected]>
Introduce a new bt_hci_cmd_alloc() API which only allocates a command
buffer and reserves sufficient headroom for H:4 and command headers, but
doesn't actually encode any of those headers into the buffer. Additionally,
modify bt_hci_cmd_send() and bt_hci_cmd_send_sync() so that they handle
such buffers and perform the header encoding correctly. To avoid
duplication, bt_hci_cmd_send_sync() now builds upon (i.e. calls internally)
the bt_hci_cmd_send() API.

Signed-off-by: Johan Hedberg <[email protected]>
(cherry picked from commit b530b26)
The command buffer was incorrectly encoded due to the recent change to H:4
encoding. Instead of fixing the header offset, just use the newly
introduced bt_hci_cmd_alloc() API, since that takes care of correctly
encoding the command header when it gets sent.

Signed-off-by: Johan Hedberg <[email protected]>
(cherry picked from commit 6c61c8c)
Use bt_hci_cmd_alloc() instead of the soon to be deprecated
bt_hci_cmd_create().

Signed-off-by: Johan Hedberg <[email protected]>
(cherry picked from commit 2ea9605)
Use bt_hci_cmd_alloc() instead of the soon to be deprecated
bt_hci_cmd_create().

Signed-off-by: Johan Hedberg <[email protected]>
(cherry picked from commit 47fa056)
Use bt_hci_cmd_alloc() instead of the soon to be deprecated
bt_hci_cmd_create().

Signed-off-by: Johan Hedberg <[email protected]>
(cherry picked from commit fa0aece)
Use bt_hci_cmd_alloc() instead of the soon to be deprecated
bt_hci_cmd_create().

Signed-off-by: Johan Hedberg <[email protected]>
(cherry picked from commit 0d47556)
kapbh and others added 27 commits July 24, 2025 07:32
The Kconfig CONFIG_HS20 was undefined in zephyr hostap.
Need to add config for Hotspot 2.0 feature.

Signed-off-by: Kapil Bhatt <[email protected]>
(cherry picked from commit d6c2ebd)
Update hostap revision in manifest.

Upstream PR #: 93085

Signed-off-by: Kapil Bhatt <[email protected]>
…float

The Tx rate was previously stored as an integer, which caused loss of
precision for rates like 8.6 Mbps or 34.4 Mbps due to integer division.
The change will update data type to float.

Upstream PR #: 93085

Signed-off-by: Kapil Bhatt <[email protected]>
Create dedicated heap for supplicant operations and define
the heap size.

Upstream PR #: 93085

Signed-off-by: Ravi Dondaputi <[email protected]>
…nto common file

Refactor certificate processing code to eliminate duplication and
enable reuse across modules that require enterprise support.

Upstream PR #: 93085

Signed-off-by: Triveni Danda <[email protected]>
Firmware needs to know the connection type to be established.
use the wpa_proto field to derive the connection type.

Upstream PR #: 93085

Signed-off-by: Ajay Parida <[email protected]>
…ep-alive bit set

Protected keep-alive required bit set in case
of secure mode connection.

Upstream PR #: 93085

Signed-off-by: Ajay Parida <[email protected]>
Support to configure BSS max idle period at runtime.
This commit should be reverted on the next upmerge.

Signed-off-by: Kapil Bhatt <[email protected]>
…UART_x_NRF_HW_ASYNC"

This reverts commit 384e940.

Signed-off-by: Krzysztof Chruściński <[email protected]>
(cherry picked from commit 3c93896)
This target can also run this tests, we just overlays including
the ones for the real boards.

Signed-off-by: Alberto Escolar Piedras <[email protected]>
(cherry picked from commit ebd69ca)
… rename

Remove duplicated test configuration after
nrf54l20pdk/nrf54l20/cpuxxx was renamed to
nrf54lm20dk/nrf54lm20a/cpuxxx.

Signed-off-by: Sebastian Głąb <[email protected]>
(cherry picked from commit f0c143e)
Add a new simulated nrf54lm20 cpuapp target

Signed-off-by: Alberto Escolar Piedras <[email protected]>
(cherry picked from commit 5428743)
In preparation for simulated nRF54LM20 targets, let's add kconfig
options aking to the ones we have for the nRF54L15 devices.

Signed-off-by: Alberto Escolar Piedras <[email protected]>
(cherry picked from commit 65fb246)
…r nRF54LM20 rename

Remove duplicated test configuration after
nrf54l20pdk/nrf54l20/cpuxxx was renamed to
nrf54lm20dk/nrf54lm20a/cpuxxx.

Signed-off-by: Sebastian Głąb <[email protected]>
(cherry picked from commit 8791fcf)
…NABLED

In certain configurations timeout field is not present in the
data structure so preprocessor ifdef must be used instead of
compiler check.

Signed-off-by: Krzysztof Chruściński <[email protected]>
(cherry picked from commit eb99692)
Configure the initial pin state of the UARTE peripheral to SLEEP, not
left uninitialised. This fixes the pin configuration not being set until
the interface is used if `zephyr,pm-device-runtime-auto` is enabled.

Signed-off-by: Jordan Yates <[email protected]>
(cherry picked from commit 69acc01)
… on nrf54lm20dk

Fix mistake where one of test configurations
was skipped on nrf54lm20dk board.

Signed-off-by: Sebastian Głąb <[email protected]>
(cherry picked from commit 8e881b0)
…nd_buf"

This reverts commit 827eb44.

Signed-off-by: Aleksander Wasaznik <[email protected]>
…p_send_pdu"

This reverts commit 685c53a.

Signed-off-by: Aleksander Wasaznik <[email protected]>
… disconnect

Channel tx_queue purging on disconnect was inconsistently handled
by the different channels: iso, l2cap, l2cap_br.

iso channels handled purging in the tx_data_pull hook.

l2cap and l2cap_br did the purging in channel delete functions
and did not expect tx_data_pull to be called for a disconnected
channel. Their data_pull functions could return a ptr to a
net_buf that was still on the tx_queue, which is problematic
when the conn tx_processor unrefs the returned buffer resulting
in multiple calls to the buf destroy function.

To make things consistent and correct, remove the code that tries
to purge tx_queues in the tx_processor and only do purging in
the channels themselves when they are deleted/disconnected.

Also refactor and clarify referencing of the net_buf returned
by tx_data_pull. It was confusing who had a reference and
when, which could vary depending on the length of the original
buffer. There are three cases: the buffer length is less
than the tx.mps, greater the mps but less than the mtu so
requiring segementation but not fragmentation, or greater than
both mps and mtu so requiring both segmentation and fragmentation.
The conn layer would increase the refcnt if the length was
greater than the mtu, but not have any awareness of whether
the net_buf was still on the tx_queue or not.

Now it is the tx_data_pull callbacks responsibitity to increment
the reference count if it is returning a pointer to a net_buf
that it is still keeping on the tx_queue for segmentation purposes.
The conn layer will now always transfer that reference into a
fragment view and not conditional it on the length relative to
the mtu, and always decrement the reference to the parent when
the fragment is destroyed.

So there is no risk of decrementing a reference to a net buf
that might still be on a tx_queue, which simplifies error
handling in particular.

Also add error handling paths for when asserts are not enabled.

Signed-off-by: Mike J. Chen <[email protected]>
(cherry picked from commit a392c33)
Allow for an additional buffer reference if callback is provided. This
can be used to extend lifetime of the net buffer until the data
transmission is confirmed by ACK of the remote.

Signed-off-by: Marek Pieta <[email protected]>
(cherry picked from commit d6539f4)
(cherry picked from commit 685c53a)
If ATT sent callback is delayed until data transmission is done by BLE
controller, the transmitted buffer may have an additional reference. The
reference is used to extend lifetime of the net buffer until the data
transmission is confirmed by ACK of the remote.

send_buf function can be called multiple times, if buffer has to be
fragmented over HCI. In that case, the callback is provided as an
argument only for the last transmitted fragment. The `buf->ref == 1`
check is skipped because it's impossible to properly validate number of
references for the sent fragments if buffers may have the additional
reference.

Jira: NCSDK-28624

Signed-off-by: Marek Pieta <[email protected]>
(cherry picked from commit e589307)
(cherry picked from commit 827eb44)
Add early_disconnect test cases for iso/cis and l2cap/stress
to test the bluetooth stack handling of disconnects
while transmit is still in progress.

Signed-off-by: Mike J. Chen <[email protected]>
(cherry picked from commit 93997da)
Add support for nRF91x by providing overlay configuration file.

Signed-off-by: Juha Ylinen <[email protected]>
Signed-off-by: Robert Lubos <[email protected]>
(cherry picked from commit fc50f33)
Upstream PR #: 93582

Use direct ISRs for the bellboard interrupts whenever
CONFIG_GEN_SW_ISR_TABLE=n.

Signed-off-by: Jonathan Nilsen <[email protected]>
Upstream PR #: 93582

Use direct ISRs for the GRTC interrupt whenever
CONFIG_GEN_SW_ISR_TABLE=n.

Signed-off-by: Jonathan Nilsen <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.