Skip to content

Conversation

@meijemac
Copy link
Contributor

Going to hibernate sleep (sleep mode 0xF) multiple times without powering down (or writing to any of the VPR's APB registers) in between will cause GPR x1 (ra) to not be saved

anangl and others added 30 commits August 1, 2025 11:34
Add implementation of the most common Soft Reset routine (sequence of
reset enable instruction 0x66 and reset instruction 0x99).

Upstream PR #: 93093

Signed-off-by: Andrzej Głąbek <[email protected]>
(cherry picked from commit 08c5be2)
…ad disabling

Using a GPIO reset for a flash chip that has a dual function pin
(RESET# or SIO3) and is to be used in Quad mode is rather a bad idea
and so is clearing of the Quad Enable bit at every initialization
of the flash driver, since this bit is usually non-volatile, so such
operation means unnecessary wearing of the flash chip. Soft Reset
should be use instead in such case.

Upstream PR #: 93093

Signed-off-by: Andrzej Głąbek <[email protected]>
(cherry picked from commit 5c268bc)
…" property

Add support for supplying power to the flash chip by activation of
a GPIO specified through the "supply-gpios" property. Implementation
of gpio_reset() is also slightly modified so that it is consistent
with soft_reset() and the new power_supply() and so that all these
functions can use a common routine that performs a reset recovery
delay.

Upstream PR #: 93093

Signed-off-by: Andrzej Głąbek <[email protected]>
(cherry picked from commit 81ae924)
Bluetooth 6.1 has version number 0x0F and was released in May 2025.
This commit ensures this version number is properly decoded.

Going forward we may consider removing printing the version
number as a string because the feature set is more important
than the version number.

Signed-off-by: Rubin Gerritsen <[email protected]>
(cherry picked from commit b63b993)
Add `DT_NODE_EXISTS` check to ensure cpurad partition
nodes exist before referencing their addresses.
This prevents build errors when these partitions are not
defined in the devicetree.

Upstream PR #: 93815

Signed-off-by: Triveni Danda <[email protected]>
(cherry picked from commit 72ecd41)
Fixes these files to no longer delete non-secure partitions as
they are not present, and updates the offset of the area to use

Signed-off-by: Jamie McCrae <[email protected]>
(cherry picked from commit 3d11c84)
… info

Allows returning image information for the firmware loader image
slot, showing version of the application and flags

Upstream PR #: 93875

Signed-off-by: Jamie McCrae <[email protected]>
(cherry picked from commit a1ba101)
Supplicant sends keepalive on timer expiry but due to driver + nRF70
delays it is delayed to the AP, meanwhile some APs disconnect due to
lack of keepalive.

Set the processing delay to 700ms (based on tests) to fix.

Signed-off-by: Chaitanya Tata <[email protected]>
(cherry picked from commit 7fe6930)
Helps in debugging crypto issues.

Signed-off-by: Chaitanya Tata <[email protected]>
(cherry picked from commit 7fbb0fd)
…g delay to capa

Pull the feature to add driver processing delay to the driver
capabilities. Useful to customize for sending keepalive.

Signed-off-by: Chaitanya Tata <[email protected]>
(cherry picked from commit d51127d)
30s is too aggressive for most APs, and hostapd also uses 5mins as the
default value.

Upstream PR #: 93920

Signed-off-by: Chaitanya Tata <[email protected]>
(cherry picked from commit 9a7025a)
With few APs we have seen unexplained disconnections and sending
keepalive often solves the problem, so, to fix interoperability reduce
the keepalive period to 30s.

Upstream PR #: 93920

Signed-off-by: Chaitanya Tata <[email protected]>
(cherry picked from commit f5f766d)
Explicit start radio core.

Upstream PR #: 93966

Signed-off-by: Piotr Kosycarz <[email protected]>
(cherry picked from commit 9425c47)
This commit sets `ZEPHYR_<MODULE_NAME>_KCONFIG` variable for each
Kconfig file discovered in `nrf/modules/<module>/Kconfig`.

This is not meant as a permanent solution; we should do more careful
consideration on the optimal approach forward that will allow
compliance_check.py to be used downstream with custom
module_ext_roots, and at the same time keep current flexibility for
module glue code handling intact.

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: Torsten Rasmussen <[email protected]>
Signed-off-by: Martí Bolívar <[email protected]>
Signed-off-by: Carles Cufi <[email protected]>
Signed-off-by: Jamie McCrae <[email protected]>
(cherry picked from commit ade9bb7)
Add scripts/quarantine.yaml file, which will be used in CI.

Signed-off-by: Piotr Golyzniak <[email protected]>
Signed-off-by: Andrzej Głąbek <[email protected]>
Signed-off-by: Maciej Perkowski <[email protected]>
Signed-off-by: Robert Lubos <[email protected]>
(cherry picked from commit b4f0ded)
This file is used for NCS-specific testing configuration based on
modifications to files in this repository.

Signed-off-by: Alperen Sener <[email protected]>
Signed-off-by: Elisabeth Solheim Klakken <[email protected]>
Signed-off-by: Mariusz Poslinski <[email protected]>
Signed-off-by: Markus Swarowsky <[email protected]>
Signed-off-by: Robert Lubos <[email protected]>
Signed-off-by: Sebastian Wezel <[email protected]>
Signed-off-by: Tomasz Tyzenhauz <[email protected]>
Signed-off-by: Fredrik Ås <[email protected]>
Signed-off-by: Michał Szablowski <[email protected]>
Signed-off-by: Tony Le <[email protected]>
Signed-off-by: Krishna T <[email protected]>
Signed-off-by: Dawid Przybylo <[email protected]>
Signed-off-by: Rubin Gerritsen <[email protected]>
Signed-off-by: Jørgen Kvalvaag <[email protected]>
Signed-off-by: Magne Værnes <[email protected]>
Signed-off-by: Lang Xie <[email protected]>
Signed-off-by: Alexander Svensen <[email protected]>
Signed-off-by: Jan Gałda <[email protected]>
Signed-off-by: Vladislav Litvinov <[email protected]>
Signed-off-by: Guojun Wang <[email protected]>
Signed-off-by: Piotr Kosycarz <[email protected]>
Signed-off-by: Thomas Stilwell <[email protected]>
Signed-off-by: Krzysztof Szromek <[email protected]>
Signed-off-by: Grzegorz Chwierut <[email protected]>
Signed-off-by: Eduardo Montoya <[email protected]>
Signed-off-by: Pavel Vasilyev <[email protected]>
(cherry picked from commit f6fc29e)
New Twister schema is not supported yet in sdk-zephyr, drop this patch
once Twister is updated.

Signed-off-by: Gerard Marull-Paretas <[email protected]>
(cherry picked from commit b1e95ba)
… map"

This reverts commit c37deeb.

This is only a temporary change, until we align our CI. To be removed
once natsort is avaialble in the NCS CI.

Signed-off-by: Robert Lubos <[email protected]>
(cherry picked from commit fdb19c5)
Kconfig search is handled in a separate docset in NCS, so remove the
page. This is a long-term noup patch.

Signed-off-by: Gerard Marull-Paretas <[email protected]>
Signed-off-by: Krishna T <[email protected]>
(cherry picked from commit af08933)
-This allows configurations enabled by PSA_WANTS_ALG_XXXX to be
 used to control which TF-M module is enabled
-If the TF-M image doesn't support e.g. the MAC APIs, then the
 MAC interface is not enabled

Note: This functionality requires that nrf_security is enabled

ref: NCSDK-11689

Make TF-M crypto module depend on PSA_WANT_GENERATE_RANDOM, same
as all other crypto modules, which have PSA_HAS to group all PSA
features that require the module.
This makes TF-M by default exclude the RNG module when not needed.

Signed-off-by: Frank Audun Kvamtrø <[email protected]>
Signed-off-by: Joakim Andersson <[email protected]>
(cherry picked from commit ff04215)
Out-of-tree crypto subsystems need to deselect MBEDTLS_BUILTIN, but
deselection is not supported. It is however supported to select a
dependency in a ! expression.

Signed-off-by: Sebastian Bøe <[email protected]>
(cherry picked from commit f778d9f)
We moved the header files in sdk-mbedtls from the library
folder to the include/library folder. This was done to avoid
issues when building MbedTLS with the nrf_security module
and the Oberon PSA core. The Oberon PSA core provides a subset
of these header files and since they are included with quotes
we cannot have them in the same directory.
This change make the needed adaptions in CMake for the
applications that don't use nrf_security.

Signed-off-by: Georgios Vasilakis <[email protected]>
Signed-off-by: Markus Swarowsky <[email protected]>
(cherry picked from commit a73fcf0)
The commits adds support for generating flash disks from Partition
Manager defined partitions.

Signed-off-by: Dominik Ermel <[email protected]>
(cherry picked from commit 1a14317)
The "zephyr-code-partition" chosen DTS node cannot be used when build
uses Partition Manager. In that case, mcumgr must rely on the
definitions provided by the Partition Manager.

Jira: NCSDK-21381

Signed-off-by: Marek Pieta <[email protected]>
Signed-off-by: Dominik Ermel <[email protected]>
(cherry picked from commit e1f0f17)
The commit adds bootutil hook, for nrf5340, to allow it
handling the non-accessible image-1/primary slot.

Signed-off-by: Andrzej Głąbek <[email protected]>
Signed-off-by: Vinayak Kariappa Chettimada <[email protected]>
Signed-off-by: Johann Fischer <[email protected]>
Signed-off-by: Dominik Ermel <[email protected]>
Signed-off-by: Jamie McCrae <[email protected]>
(cherry picked from commit 410e44f)
Migrates child image configuration for this sample over to sysbuild

Signed-off-by: Jamie McCrae <[email protected]>
(cherry picked from commit 30e3e32)
Migrates child image configuration for this sample over to sysbuild

Signed-off-by: Jamie McCrae <[email protected]>
(cherry picked from commit 97bbc75)
This is a follow-up to commit 9dd570f.

Since in NCS, unlike in vanilla Zephyr, the nano variant of newlib
is the default one, restore entries that disable the nano variant
in one sample and one test that require the full newlib variant.
This patch is supposed to be removed when picolibc becomes the default.

Signed-off-by: Andrzej Głąbek <[email protected]>
Signed-off-by: Dominik Ermel <[email protected]>
(cherry picked from commit 41c5668)
Disables partition manager when building some samples and tests
which use sysbuild to prevent build issues

Signed-off-by: Jamie McCrae <[email protected]>
(cherry picked from commit a2bc55a)
Add a Kconfig for th TFM_CRYPTO_PAKE_MODULE_ENABLED to support the PAKE
APIs.

noup as the PAKE support including the PAKE module doesn't exist yet in
upstream TF-M as they depend on mbed TLS support for it

Ref: NCSDK-22416
Signed-off-by: Markus Swarowsky <[email protected]>
(cherry picked from commit 8907bee)
hakehuang and others added 28 commits August 19, 2025 14:52
…SIZE

SRAM_SIZE is given in kilobytes

fixes: #92533

Signed-off-by: Hake Huang <[email protected]>
(cherry picked from commit fe811de)
Add ENTROPY_GENERATOR=y in overlays for l series devices.
This fixes an error where a trng source is not included in ncs.

Signed-off-by: Dag Erik Gjørvad <[email protected]>
Unbound feature in IPC with cpusys will be enabled by default.
This is needed to enable IPC link renewal.
If unbound is not needed then it can be disabled in overlay,
sysctrl will detect if it is present.

Upstream PR #: 94646

Signed-off-by: Łukasz Stępnicki <[email protected]>
…n single-mode"

This reverts commit e54b994.

Signed-off-by: Jakub Zymelka <[email protected]>
… single-ended ADC readings"

This reverts commit 84ab620.

Signed-off-by: Jakub Zymelka <[email protected]>
…C internal sampling timer"

This reverts commit 77547f8.

Signed-off-by: Jakub Zymelka <[email protected]>
…al sampling timer

The SAMPLERATE register can be used as a local timer instead
of triggering individual SAMPLE tasks. When SAMPLERATE.MODE is set
to Timers, it is sufficient to trigger SAMPLE task only once in order
to start the SAADC and triggering the STOP task will stop sampling.
The SAMPLERATE.CC field controls the sample rate.

The SAMPLERATE timer should not be combined with SCAN mode and
only one channel should be enabled when using the internal timer.

(cherry picked from commit 376b34c)

Signed-off-by: Jakub Zymelka <[email protected]>
…ended ADC readings

The ADC driver API already supports ADC readings which can return signed
values, these are differential readings. In Nordic's datasheet, we have
a mode called "single ended", but its just a name. "Single ended" is a
differential reading, with the negative channel tied to GND. This is not
compatible with zephyrs definition of a single ended reading.

To support Nordic's "single ended" mode, the user must configure
a differential reading, with the negative input tied to ground, which
the saadc driver can then use to configure the reading as Nordic SAADC
"single ended", and return negative values as expected.

(cherry picked from commit 138f977)

Signed-off-by: Jakub Zymelka <[email protected]>
…rection

Increment pointer only when channel was selected.

Upstream PR #: 94705

Signed-off-by: Jakub Zymelka <[email protected]>
This reverts commit 15cd2f6.

To be re-applied after cherry-picks.

Signed-off-by: Grzegorz Swiderski <[email protected]>
Upstream PR #: 94330

Allow the ZMS API to optionally accept 64 bit IDs. A typedef `zms_id_t`
is added, so that the maximum ID width can be controlled using Kconfig.

The current ATE structure is already large enough that it is possible to
reserve 64 bits for IDs without increasing its total size (128 bits).
This makes the feature a natural, low footprint alternative to Settings,
for cases where the supported key namespace must be larger than 32 bit
but not arbitrarily large.

The ATE format does have to be altered to accommodate larger IDs, but
the default "32 bit" format is left as is. Now, the `struct zms_ate`
describes one of two supported formats, selected based on an `#ifdef`.
In the future, it may be possible to support multiple ATE formats at
runtime, in which case the structure can be turned into a union.

In the new, "64 bit" ATEs, the `offset` and `metadata` fields are moved
into a union, because they are found to be mutually exclusive. With the
old format, the same fields are in different locations, but one of them
always gets filled with a dummy value, depending on the given ATE type.
To cover both cases, use a `memset` which the compiler can optimize away
when appropriate.

The only limitation is that the new ATE format has no room for data CRC,
but an alternative integrity check can be implemented by the caller.

Signed-off-by: Grzegorz Swiderski <[email protected]>
(cherry picked from commit 11e2cd69f89595f6eaafc74a75a78121532b8885)
Upstream PR #: 94330

* Explicitly skip tests that depend on CONFIG_ZMS_LOOKUP_CACHE.

* In `testcase.yaml`, use `extra_configs` instead of `extra_args` for
  setting Kconfigs.

Signed-off-by: Grzegorz Swiderski <[email protected]>
(cherry picked from commit bde68d15bb6e017f75dcec2b99d9cac642361661)
Upstream PR #: 94330

* Update the "corrupt ATE" tests to work with the new ATE format.

* Add a basic test to verify support to 64 bit ZMS IDs.

* Add a `testcase.yaml` entry to cover the above points and also run
  lookup cache tests to evaluate the 64 bit hash function.

Signed-off-by: Grzegorz Swiderski <[email protected]>
(cherry picked from commit 6313c77daec51a20f7d4e0f4ad213f4bac54010d)
ZMS legacy enabled by CONFIG_SETTINGS_ZMS_LEGACY uses a different lookup
cache function that is optimized for Settings subsystem.

Signed-off-by: Riadh Ghaddab <[email protected]>
(cherry picked from commit 491354b)
(cherry picked from commit 15cd2f6)
…th reset GPIO

Extend external memory node with 'reset-gpios' property.

Signed-off-by: Sebastian Głąb <[email protected]>
(cherry picked from commit 4330c06)
…rfutil_next

appends the --dev-id argument when using nrfutil_next runner.

Signed-off-by: Robert Robinson <[email protected]>
(cherry picked from commit 8e69b52)
…h reset GPIO

Extend external memory node with 'reset-gpios' property.
When this property is defined, driver will reset
the memory at startup.

Upstream PR #: 94843

Signed-off-by: Sebastian Głąb <[email protected]>
…pletes

To generate the GATT Database Hash characteristic, the function
`db_hash_setup` is called. It allocates an entry for the AES key that will
be used in the CMAC calculation. Next, `db_hash_update` is called to feed
all GATT database entries into the hash. Finally, `db_hash_finish`
produces the resulting hash.

However, the AES key entry allocated in `db_hash_setup` was not being
destroyed after the hash generation completed. This caused a memory
leak, eventually leading to the error `PSA_ERROR_INSUFFICIENT_MEMORY`
(`-134`).

This commit fixes the issue by destroying the allocated AES key after
the GATT Database Hash calculation is complete, by calling
`psa_destroy_key` in `db_hash_finish`.

Signed-off-by: Pavel Vasilyev <[email protected]>
(cherry picked from commit bcdd74d)
- Code optimization for platforms which don't use subscription feature
in the temperature service.
- Test adaptation to code changes

Signed-off-by: Rafal Dyla <[email protected]>
(cherry picked from commit 8876a3b)
This reverts commit 8ccb986.

To be re-applied after cherry-picks with a fix for a recent mistake.

Signed-off-by: Grzegorz Swiderski <[email protected]>
This reverts commit 73fe1ee.

Signed-off-by: Grzegorz Swiderski <[email protected]>
Upstream PR #: 94330

Allow the ZMS API to optionally accept 64 bit IDs. A typedef `zms_id_t`
is added, so that the maximum ID width can be controlled using Kconfig.

The current ATE structure is already large enough that it is possible to
reserve 64 bits for IDs without increasing its total size (128 bits).
This makes the feature a natural, low footprint alternative to Settings,
for cases where the supported key namespace must be larger than 32 bit
but not arbitrarily large.

The ATE format does have to be altered to accommodate larger IDs, but
the default "32 bit" format is left as is. Now, the `struct zms_ate`
describes one of two supported formats, selected by an `#if` condition.
In the future, it may be possible to support multiple ATE formats at
runtime, in which case the structure can be turned into a union.

In the new, "64 bit" ATEs, the `offset` and `metadata` fields are moved
into a union, because they are found to be mutually exclusive. With the
old format, the same fields are in different locations, but one of them
always gets filled with a dummy value, depending on the given ATE type.
To cover both cases, a `memset` is used, which should be optimized away
by the compiler when appropriate.

The only limitation is that the new ATE format has no room for data CRC,
but an alternative integrity check can be implemented by the caller.

Signed-off-by: Grzegorz Swiderski <[email protected]>
(cherry picked from commit ec7a4ad199b0a87e5d604cbea20c8e2f4f741303)
Upstream PR #: 94330

* Update the "corrupt ATE" tests to work with the new ATE format.

* Add a basic test to verify support to 64 bit ZMS IDs.

* Add a `testcase.yaml` entry to cover the above points and also run
  lookup cache tests to evaluate the 64 bit hash function.

Signed-off-by: Grzegorz Swiderski <[email protected]>
(cherry picked from commit d9e38a9c4521e9b4423526e2c8e91b64f15928c7)
ZMS legacy enabled by CONFIG_SETTINGS_ZMS_LEGACY uses a different lookup
cache function that is optimized for Settings subsystem.

Signed-off-by: Riadh Ghaddab <[email protected]>
(cherry picked from commit 491354b)
(cherry picked from commit 15cd2f6)
(cherry picked from commit 8ccb986)
…nto account

Currently all calls to otPlatLog with debug log level are printed.
Cleanup logging.c

Signed-off-by: Pieter De Gendt <[email protected]>
(cherry picked from commit 9983ff7)
…en COVERAGE

Skip checking timing expectation when COVERAGE is used.
Coverage mode affect timing - making code slower,
as additional operations are needed to gather coverage stats.

Upstream PR #: 94927

Signed-off-by: Piotr Kosycarz <[email protected]>
Signed-off-by: Maciej Meijer <[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.