Skip to content
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

Cherry pick upstream PR #79919 #2119

Draft
wants to merge 1,671 commits into
base: main
Choose a base branch
from
Draft

Conversation

ankuns
Copy link
Contributor

@ankuns ankuns commented Oct 16, 2024

cherry-picks from upstream zephyr pr 79919

juhaylinen and others added 30 commits October 4, 2024 10:49
Add support for nRF91x and nRF700x by providing overlay
configuration files.

Signed-off-by: Juha Ylinen <[email protected]>
(cherry picked from commit d96769f)
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 b8f9cb9)
Friend's replies on LPN's polls do not assume randomization in
advertiser. Zero randomization will help to optimize time when
LPN keeps receiving window open and save power.

Signed-off-by: Aleksandr Khromykh <[email protected]>
(cherry picked from commit e29c864)
Fixes issue where randomness can be removed for advertising sets that
have to handle other adv types than the BT_MESH_FRIEND_ADV tag type.

Signed-off-by: Anders Storrø <[email protected]>
Signed-off-by: Aleksandr Khromykh <[email protected]>
Signed-off-by: Dominik Ermel <[email protected]>
(cherry picked from commit 0f9b369)
…N_MANAGER

Active partition ID need to be extracted basing on PARTITION_MANAGER
products.

ref.:NCSDK-26693

Signed-off-by: Andrzej Puzdrowski <[email protected]>
(cherry picked from commit 09eb172)
Using a comment to explain Kconfig options make them
invisible to Kconfig search. Use help instead.

Signed-off-by: Sigurd Hellesvik <[email protected]>
(cherry picked from commit 76c76ed)
Added overlay with m25r64 on-DK memory selecton.
This aim to support testing DFU with secondary partition moved to the
external flash.

Signed-off-by: Andrzej Puzdrowski <[email protected]>
(cherry picked from commit cb3f066)
Necessary changes for NCS CI.

- Add a Jenkinsfile
- Add a commit-tags workflow: This enables sauce tag checking in sdk-zephyr
- compliance.yml: Disable check for merge commits, since we have upmerges
downstream. Also, since in the code we refer to Kconfig symbols that are defined
in the sdk-nrf repository, the Kconfig checks (Kconfig, KconfigBasic and
KconfigBasicNoModules) will not pass so exclude them. Also, disable any
maintainers-related checks
- scripts/gitlint: Extend the max commit line lengths for Gitlint to account
for sauce tags

Signed-off-by: Carles Cufi <[email protected]>
Signed-off-by: Dominik Ermel <[email protected]>
Signed-off-by: Martí Bolívar <[email protected]>
Signed-off-by: Vinayak Kariappa Chettimada <[email protected]>
Signed-off-by: Krishna T <[email protected]>
Signed-off-by: Dominik Ermel <[email protected]>
Signed-off-by: Carles Cufi <[email protected]>
(cherry picked from commit c39f4b1)
There is no point to use PICOLIB here as it bloats the tests.

Signed-off-by: Dominik Ermel <[email protected]>
(cherry picked from commit 14cf3aa)
Provides an option to enable TLS session caching for an MQTT
client's secure socket.

Signed-off-by: Jan Tore Guggedal <[email protected]>
Signed-off-by: Robert Lubos <[email protected]>
Signed-off-by: Dominik Ermel <[email protected]>
Signed-off-by: Johann Fischer <[email protected]>
(cherry picked from commit cf41e66)
This commit adds an extra parameter in the configuration
structure to configure native TLS support at runtime.

Signed-off-by: Mirko Covizzi <[email protected]>
(cherry picked from commit aed2d4a)
TF-M will uses SPU alignment during build time to make sure all
partitions can be locked down with the SPU.

So adding them for nRF53

Signed-off-by: Markus Swarowsky <[email protected]>
(cherry picked from commit 99c9a2b)
TF-M will uses SPU alignment during build time to make sure all
partitions can be locked down with the SPU.

So adding them for nRF91

Signed-off-by: Markus Swarowsky <[email protected]>
(cherry picked from commit 6912166)
Change introduces common static Partition Manager configuration.
The tfm_nonsecure partition must be SPU region aligned.

Ref: NCSDK-18033
Ref: NCSDK-19515

Signed-off-by: Marek Pieta <[email protected]>
Signed-off-by: Markus Swarowsky <[email protected]>
(cherry picked from commit 82e6076)
Enabling USB CDC by default in Thingy:53 board configuration
caused that there were two instances of USB CDC in MCUBoot. Change
disables one instance which was added automatically by NCS if
MCUBoot bootloader was built as a child image.

Jira: NCSDK-18596

Signed-off-by: Mateusz Kapala <[email protected]>
Signed-off-by: Johann Fischer <[email protected]>
(cherry picked from commit 0cbfe19)
Change enables MCUboot bootloader by default to allow programming
samples and applications without external programmer (using MCUboot
serial recovery). Change also enables network core to prevent build
failures when building MCUboot with nRF53 multi image DFU.

Jira: NCSDK-18263

Signed-off-by: Marek Pieta <[email protected]>
Signed-off-by: Vinayak Kariappa Chettimada <[email protected]>
Signed-off-by: Johann Fischer <[email protected]>
Signed-off-by: Joakim Andersson <[email protected]>
(cherry picked from commit 6e623f7)
This patch backports the nrf9131ek to a time before tfm was refactored.

To be reverted when TF-M is updated.

Signed-off-by: Maximilian Deubel <[email protected]>
(cherry picked from commit 55be58b)
Configuration allows DFU with serial transport using
mcumgr and over BT using nRF Connect.

Signed-off-by: Mateusz Michalek <[email protected]>
(cherry picked from commit 4d6f8b4)
Added description of sample testcase for building smp_svr with
support of secondary partition in on PDK spi_nor flash.

Signed-off-by: Andrzej Puzdrowski <[email protected]>
(cherry picked from commit a41c7c3)
We have our own psa crypto samples to show how to used PSA crypto with
NCS.

This sample still uses CONFIG_MBEDTLS_BUILTIN which is not supported
anymore, therefore removing the support for it in NCS.

Ref: NCSDK-17944
Signed-off-by: Markus Swarowsky <[email protected]>
(cherry picked from commit 9a0218b)
Sets up default for builds with partition manager.

Signed-off-by: Mateusz Michalek <[email protected]>
Signed-off-by: Grzegorz Chwierut <[email protected]>
(cherry picked from commit 1970b3c)
The Synopsys Designware SPI peripheral core is wrapped in hardware that
manages interrupts, power and clock. The SPI core registers are shifted
by 0x500 bytes.
Before the SPI core is used, the power and clock must be enabled by
writing to EXMIF.TASKS_START register.
Interrupts must be enabled by writing to EXMIF.INTENSET/INTENCLR
registers.

The SER register must be configured unconditionally during peripheral
setup. Otherwise, the serial transaction does not complete.

The "snps,designware-spi" compatible is added to the EXMIF node so that
the peripheral can be used with the spi_dw driver specially modified
for that purpose.

Signed-off-by: Rafał Kuźnia <[email protected]>
Signed-off-by: Andrzej Głąbek <[email protected]>
(cherry picked from commit 7ea6937)
(cherry picked from commit 9cd1336)
Added DTS with partitioning which involves external flash
as place for slo1_partition.external slot1_partition

Signed-off-by: Andrzej Puzdrowski <[email protected]>
(cherry picked from commit e06581a)
Added description of sample testcase for building smp_svr with
support of secondary partition in on PDK spi_nor flash uisng
DTS.

Signed-off-by: Andrzej Puzdrowski <[email protected]>
(cherry picked from commit 00c13a3)
Adds a sysbuild Kconfig file which enables external flash when
partition manager is enabled

Signed-off-by: Jamie McCrae <[email protected]>
(cherry picked from commit fb155f1)
Uses sysbuild by default when building an application which resides in
an allowed NCS-based directory when the sysbuild config key is not
set. Do not use sysbuild if the mps2 board is being used to avoid
problems with CI testing.

Signed-off-by: Jamie McCrae <[email protected]>
(cherry picked from commit 8926df9)
(cherry picked from commit d038c24)
(cherry picked from commit 1a5d3b4)
Enables MCUboot, empty network core and network core updates by
default when building for the thingy53

Signed-off-by: Jamie McCrae <[email protected]>
(cherry picked from commit 2bc6913)
(cherry picked from commit fa07877)
In sample.yaml:
`SB_CONFIG_PARTITION_MANAGER=n` moved to extar_args as extra_config
can't handle property with `SB_` prefix.

Signed-off-by: Andrzej Puzdrowski <[email protected]>
(cherry picked from commit 092fc54)
Add some socket options and address family extensions to Zephyr
headers, which will be useful for nRF Connect SDK.

Add secure socket options:
* Add CID socket options to NCS specific options.
* Add TLS/DTLS tls ciphersuite chosen socket option to NCS specific
  options.
* Add TLS/DTLS connection save/load socket options to NCS specific
  options.
* Add TLS/DTLS handshake status socket option to NCS specific options.

* Add SO_KEEPOPEN socket option.
* Add SO_RAI socket option, deprecate the old ones.

The "author" of this commit is a contact person; various people with
s-o-b lines following here have contributed to the maintenance of this
patch.

Signed-off-by: Andreas Moltumyr <[email protected]>
Signed-off-by: Andrzej Głąbek <[email protected]>
Signed-off-by: Christopher Métrailler <[email protected]>
Signed-off-by: Emanuele Di Santo <[email protected]>
Signed-off-by: Glenn Ruben Bakke <[email protected]>
Signed-off-by: Håkon Alseth <[email protected]>
Signed-off-by: Ioannis Glaropoulos <[email protected]>
Signed-off-by: Jan Tore Guggedal <[email protected]>
Signed-off-by: Joakim Andersson <[email protected]>
Signed-off-by: Martí Bolívar <[email protected]>
Signed-off-by: Mirko Covizzi <[email protected]>
Signed-off-by: Petri Honkala <[email protected]>
Signed-off-by: Robert Lubos <[email protected]>
Signed-off-by: Tommi Mammela <[email protected]>
Signed-off-by: Trond Einar Snekvik <[email protected]>
Signed-off-by: Torsten Rasmussen <[email protected]>
Signed-off-by: Eivind Jølsgard <[email protected]>
Signed-off-by: Dominik Ermel <[email protected]>
(cherry picked from commit a4e57b0)
Partition Manager (PM) is a component of the nRF Connect SDK (NCS)
which uses yaml files to resolve flash partition placement with a
holistic view of the entire device, including each firmware image
present on the flash device, and various subsystems, such as settings
and NFFS.

When this NCS extension is used, various source files which would use
partition information from devicetree in "vanilla" zephyr instead use
defines generated by PM instead.

This commit removes support for HEX_FILES_TO_MERGE, as it conflicts
with PM.

The settings subsystem pm.yml defines a partition 'settings_storage'.
The nffs subsystem pm.yml defines 'nffs_storage'.

Leverage label translation to avoid patching partition names.

Refer to the NCS documentation page for this feature for more details.

This is a long-running out of tree patch which has been worked on by
several people. The following sign-offs are in alphabetical order by
first name.

Signed-off-by: Andrzej Głąbek <[email protected]>
Signed-off-by: Andrzej Puzdrowski <[email protected]>
Signed-off-by: Håkon Øye Amundsen <[email protected]>
Signed-off-by: Ioannis Glaropoulos <[email protected]>
Signed-off-by: Joakim Andersson <[email protected]>
Signed-off-by: Johann Fischer <[email protected]>
Signed-off-by: Martí Bolívar <[email protected]>
Signed-off-by: Ole Sæther <[email protected]>
Signed-off-by: Robert Lubos <[email protected]>
Signed-off-by: Sebastian Bøe <[email protected]>
Signed-off-by: Sigvart Hovland <[email protected]>
Signed-off-by: Thomas Stenersen <[email protected]>
Signed-off-by: Torsten Rasmussen <[email protected]>
Signed-off-by: Øyvind Rønningstad <[email protected]>
Signed-off-by: Trond Einar Snekvik <[email protected]>
Signed-off-by: Gerard Marull-Paretas <[email protected]>
Signed-off-by: Tomasz Moń <[email protected]>
Signed-off-by: Dominik Ermel <[email protected]>
(cherry picked from commit fbfb4df)
gmarull and others added 23 commits October 16, 2024 13:31
Make nrfs compatible with the EngB soc revision.

Signed-off-by: Gerard Marull-Paretas <[email protected]>
(cherry picked from commit 72ab376)
So that any Haltium based SoC uses the same settings, including nRF54H20
EngB.

Signed-off-by: Gerard Marull-Paretas <[email protected]>
(cherry picked from commit 5a4655f)
…nRF54H20 EngB

Make sure cpuapp/cpurad cores are detected correctly when using nRF54H20
EngB.

Signed-off-by: Gerard Marull-Paretas <[email protected]>
(cherry picked from commit 091e38b)
The current DK is labeled as revision 0.8.0. Until now, no revisions were
needed, but a new hardware spin is coming, so we'll need to keep at least
two revisions in the near future until the final one becomes the default.
Prepare the board for that scenario. Note that the "old" nRF54H20 SoC is
now nRF54H20 EngB.

Signed-off-by: Gerard Marull-Paretas <[email protected]>
(cherry picked from commit 47212de)
Add a new revision for nRF54H20 DK: 0.9.0. This new hardware spin contains
the final nRF54H20 SoC. Treat it as the default, including twister.

Signed-off-by: Gerard Marull-Paretas <[email protected]>
(cherry picked from commit df9a84e)
nRF54H HAL is not compatible with C++98, add new board revisions to the
list so that they are skipped.

Signed-off-by: Gerard Marull-Paretas <[email protected]>
(cherry picked from commit d3ca4fd)
Update the HW models module to:
85944c64f224406e4d781aa382c5f1f71ed307fd

Including the following:
* 5340: Allocate a buffer for the APP core RAM (2nd version)
* 82ca90c Add NCS test-spec.yml to trigger downstream CI job
* a05d7a6 docs: top README: Mention nrf54l15 support and minor fixes
* cd64524 54 ECB/CCM tests: Remove comment which does not apply

Signed-off-by: Alberto Escolar Piedras <[email protected]>
(cherry picked from commit 942fa67)
…e libCs

ssize_t is not part of the C library ISO standard subset, and as such
one cannot expect a C library to expose the type by default.
Some libraries like glibc do not expose this type in general, and
trying to build using them results in build errors.

There is 3 possible options:
1. Continue using ssize_t and:
1.a define _POSIX_C_SOURCE before including any header
1.b include sys/types.h directly (A bit uglier)
3. Not use ssize_t, and instead rely on ISO standard types

Let's just go with 1.a assuming we want to keep using this type,
as that is the correct way of getting this type defined.

Signed-off-by: Alberto Escolar Piedras <[email protected]>
(cherry picked from commit b6f1767)
Update the HW models module to:
bf8e45bd1f870e49cc15392e045c28d54ea12285

Including the following:
* bf8e45b (52) CCM HAL: Support nrfx 3.7.0 with renamed TASK_CRYPT
* 14c14d7 HW_models/NHW_GRTC: Support MDK not exposing SYSCOUNTERVALID
* 6d66801 RADIO: Improve RSSISTART behaviour
* ceb6a80 hal grtc: Add replacements for new int group functions
* 838aa38 docs/README_HW_models: Add reference to Bsim HW models descr
* 0ff34d7 docs: Several updates and fixes
* 2972a93 AES_CCM: Avoid UBSAN pointer align warnwhen reading CNFPTR
* f8cd477 UART: Minor bugfix: Set rx status to off during ENABLE

Signed-off-by: Alberto Escolar Piedras <[email protected]>
(cherry picked from commit 867e84c)
Add a function which can be used to remap embedded device address,
into addresses which can be used in the simulated native boards.

For the nrf_bsim boards we provide an actual implementation.
For other boards, we provide an optional dummy version which does
nothing.
It is up to each board implementation to decide if they want to
provide one or use the dummy.

Signed-off-by: Alberto Escolar Piedras <[email protected]>
(cherry picked from commit 5efe751)
Provide a new function for initializing the Rx side,
so users do not need to initialize the pointers by hand
if they did not use PBUF_DEFINE().

Let's also rename pbuf_init() to pbuf_tx_init() to clearly
signify the previous function was only meant to be used
by the Tx side.

Signed-off-by: Alberto Escolar Piedras <[email protected]>
(cherry picked from commit 5dc810e)
Add support in this IPC backends for POSIX arch targets in general,
and ensure the nrf5340bsim defines the buffer which will be used.

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

Enable this sample for the nrf5340bsim

Signed-off-by: Alberto Escolar Piedras <[email protected]>
(cherry picked from commit be35bbd)
Enable this sample for the nrf5340bsim

Signed-off-by: Alberto Escolar Piedras <[email protected]>
(cherry picked from commit ca62ff8)
Enable this sample for the nrf5340bsim

Signed-off-by: Alberto Escolar Piedras <[email protected]>
(cherry picked from commit 13efb39)
Increases default size of stack used by work queue RX thread
from 1024 to 1280 to avoid memory issues.

After adding the buffer with the default size of 128
that is allocated on the thread's stack (see #77552),
there is too little stack left during heavy stress.

Upstream PR: zephyrproject-rtos/zephyr#79557

Signed-off-by: Piotr Koziar <[email protected]>
ZMS is the abreviation of Zephyr Memory Storage.
It is a storage developed to target especially the non erasable devices.

The new memory storage system inherit from the NVS storage multiple
features and introduce new ones :
* Inherited features :
 - light key-value based storage
 - cache for entries
 - Wear Leveling of flash memory
 - Resilience to power failures
* New features :
 - cycle counter for non erasable devices (instead of erase emulation)
 - Keys up to 32-bit
 - Built-in support of CRC32 for data
 - Small size data (<= 8 bytes) integrated within entries

Upstream PR: zephyrproject-rtos/zephyr#77930

Signed-off-by: Riadh Ghaddab <[email protected]>
(cherry picked from commit 7d9d3fddea0a3ff999934c7aad99e54b2a8a864c)
List of added tests :
- zms.test_delete
- zms.test_zms_cache_collission
- zms.test_zms_cache_gc
- zms.test_zms_cache_hash_quality
- zms.test_zms_cache_init
- zms.test_zms_corrupted_sector_close_operation
- zms.test_zms_corrupted_write
- zms.test_zms_full_sector
- zms.test_zms_gc
- zms.test_zms_gc_3sectors
- zms.test_zms_gc_corrupt_ate
- zms.test_zms_gc_corrupt_close_ate
- zms.test_zms_mount
- zms.test_zms_write

Upstream PR: zephyrproject-rtos/zephyr#77930

Signed-off-by: Riadh Ghaddab <[email protected]>
(cherry picked from commit 3f31a7db7fe70ee92a0fe63c07fb7704abbb52b3)
This adds a user application that shows the usage of ZMS
The sample app shows three main functions of ZMS:
- read/write/delete key/value pairs
- fill all storage and delete it
- calculate free remaining space

Upstream PR: zephyrproject-rtos/zephyr#77930

Signed-off-by: Riadh Ghaddab <[email protected]>
(cherry picked from commit 9106be03f65f25e5d32920bf1443f05e43a54731)
This adds the documentation for the Zephyr Memory Storage system.

Upstream PR: zephyrproject-rtos/zephyr#77930

Signed-off-by: Riadh Ghaddab <[email protected]>
(cherry picked from commit 7cc32ad6b45548b7173cbfa7b98d7bdff986f671)
…orage)

This adds the initial backend support for the ZMS storage system.

Upstream PR: zephyrproject-rtos/zephyr#78632

Signed-off-by: Riadh Ghaddab <[email protected]>
(cherry picked from commit b99b214b949d3ae10bf02eb60f4ade4fb42400a1)
Introduce ZMS_LOOKUP_CACHE_FOR_SETTINGS Kconfig option that enables a
dedicated hash function for the ZMS lookup cache that takes advantage
of the ZMS ID allocation scheme used by the ZMS settings backend.
As such, this option should only be used if an application uses ZMS via
the settings layer.

Signed-off-by: Riadh Ghaddab <[email protected]>
This adds the nrf54l15dk/nrf54l15/cpuapp/ns board variant to
sdk-zephyr. It allows to build nRF54l15dk with TF-M in nRF Connect SDK.

This is done as a noup as the out-of-tree board extension feature is
not available. When zephyrproject-rtos/zephyr#69548 is completed this
commit can be reverted and the variant be placed in sdk-nrf.

Signed-off-by: Tomi Fontanilles <[email protected]>
…TXCHANNEL

The Kconfig `IEEE802154_SELECTIVE_TXCHANNEL` is added along with
the new capability `IEEE802154_HW_SELECTIVE_TXCHANNEL`.
The new capability of the ieee802154 drivers allows to schedule
CSL transmissions as stated in IEEE 802.15.4-2020 chapter 6.12.2.7
CSL over multiple channels. The benefit of the new API is that
additional call to `ieee802154_radio_api::set_channel()` is not
required. The drivers will switch to the new channel as late as
possible for CSL transmissions thus will not interrupt any reception
that might be in progress until the very late moment when the
transmission actually starts.
This improves reception performance when CSL transmissions are used.

Upstream PR: zephyrproject-rtos/zephyr#79919

Signed-off-by: Damian Krolik <[email protected]>
Signed-off-by: Andrzej Kuroś <[email protected]>
…_TXCHANNEL

The ieee802154_nrf5 supports the IEEE802154_SELECTIVE_TXCHANNEL
Kconfig option and advertises the IEEE802154_HW_SELECTIVE_TXCHANNEL
capability.
The ieee802154_nrf5 driver now allows to schedule timed transmission
requests with selective tx channel, that is set at the latest
possible moment. This improves reception performance when the
timed transmissions are requested.

Upstream PR: zephyrproject-rtos/zephyr#79919

Signed-off-by: Damian Krolik <[email protected]>
Signed-off-by: Andrzej Kuroś <[email protected]>
The capabilities returned by radio_api->get_capabilities do not change.
The result is cached in a variable to improve performance.

Upstream PR: zephyrproject-rtos/zephyr#79919

Signed-off-by: Andrzej Kuroś <[email protected]>
…TXCHANNEL

For transmit_message if the transmission is timed and underlying
driver supports `IEEE802154_HW_SELECTIVE_TXCHANNEL` then use
the selective txchannel feature for transmission.
This does not change the current `channel` at the moment of call,
the driver will transmit the message on the channel selected through
`net_pkt_set_ieee802154_txchannel` then (after receiving an ACK
if requested) it will return to the original channel.
When Kconfig option IEEE802154_SELECTIVE_TXCHANNEL is turned on,
the timed transmissions scheduled some time ahead on different
channel will not abort ongoing reception until the exact moment
of transmission comes.

Upstream PR: zephyrproject-rtos/zephyr#79919

Signed-off-by: Andrzej Kuroś <[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.