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

Mb sb sha512 patch #1912

Closed
wants to merge 371 commits into from
Closed

Conversation

michalek-no
Copy link
Contributor

No description provided.

peknis and others added 30 commits July 1, 2024 10:00
As the Infocenter will soon be taken offline, updating
links to point to TechDocs.

Upstream PR: zephyrproject-rtos/zephyr#73693

Signed-off-by: Pekka Niskanen <[email protected]>
(cherry picked from commit ce1ade30b61d889cbc595ae84e419c34d4ab419f)
(cherry picked from commit 3b2e37f)
…e.yaml

Set the bootloader choice for the
sample.modules.canopennode.program_download test case in the sample.yaml
file instead of sysbuild.conf. The reason for this change is to avoid
building MCUboot by default when using the --sysbuild option, as it may
not be compatible with all platforms. This is currently causing issues
on platforms like nRF54H20 where sysbuild is always used.

Upstream PR: zephyrproject-rtos/zephyr#74101

Signed-off-by: Gerard Marull-Paretas <[email protected]>
(cherry picked from commit 4ca5c66b34e973a83f909d06ffde857e90f57aa6)
(cherry picked from commit f9bfe53)
When TF-M is used, zephyr must use a different interrupt line for
GRTC.

Upstream PR: zephyrproject-rtos/zephyr#74084

Signed-off-by: Vidar Lillebø <[email protected]>
(cherry picked from commit ff95bb4af6923553c545da9374ed665bf2ec471d)
(cherry picked from commit 4f182bc)
… validation

Fix missing validation of Connection Update Ind PDU. Ignore
invalid connection update parameters and force a silent
local connection termination.

Signed-off-by: Vinayak Kariappa Chettimada <[email protected]>
(cherry picked from commit 4b6d3f1)
Signed-off-by: Vinayak Kariappa Chettimada <[email protected]>
(cherry picked from commit 996a1da)
…ntation

Refactor reused function in BT_CTLR_LE_ENC feature.

Signed-off-by: Vinayak Kariappa Chettimada <[email protected]>
(cherry picked from commit fe205a5)
Signed-off-by: Vinayak Kariappa Chettimada <[email protected]>
(cherry picked from commit 34675d9)
…eeded

A Host shall consider any error code that it does not
explicitly understand equivalent to the error code
Unspecified Error (0x1F).

Signed-off-by: Vinayak Kariappa Chettimada <[email protected]>
(cherry picked from commit 78466c8)
Signed-off-by: Vinayak Kariappa Chettimada <[email protected]>
(cherry picked from commit 4160a17)
Add unit tests to cover explicit LLCP error code check and
cover the same in the Controller implementation.

Signed-off-by: Vinayak Kariappa Chettimada <[email protected]>
(cherry picked from commit d6f2bc9)
Signed-off-by: Vinayak Kariappa Chettimada <[email protected]>
(cherry picked from commit 9dadf11)
…on changes

If the new encryption state is the same as the old one, there's no point in
doing additional processing or callbacks. Simply log a warning and ignore
the HCI event in such a case.

Signed-off-by: Johan Hedberg <[email protected]>
(cherry picked from commit bf363d7)
Signed-off-by: Vinayak Kariappa [email protected] <[email protected]>
(cherry picked from commit 5582bf9)
While all in-tree SoCs have been ported to HWMv2, Zephyr still supports
out-of-tree SoCs in HWMv1 format, including boards. Add a clear
deprecation message so that users get notified that this is a deprecated
feature to be removed in the future.

Upstream PR: zephyrproject-rtos/zephyr#74143

Signed-off-by: Gerard Marull-Paretas <[email protected]>
(cherry picked from commit 5301880b6f5b73337b02e7c9bd5498f70d11fd48)
(cherry picked from commit 30ec4f7)
Sysbuild sets the EXTRA_CONF_FILE before loading kconfig.cmake.
This hides any user defined EXTRA_CONF_FILE added to the sysbuild cache.

Clear the local sysbuild EXTRA_CONF_FILE so that the hidden cache
variable re-enters current scope.

Upstream PR: zephyrproject-rtos/zephyr#74082

Signed-off-by: Torsten Rasmussen <[email protected]>
(cherry picked from commit 2385766)
`west build` can be invoked without specifying the source directory when
being invoked from the source directory itself.
When using `west build` for incremental builds, then the build command
will examine the CMake cache to determine the application dir by using
the value of CMAKE_HOME_DIRECTORY.

With sysbuild, this leads to the wrong assumption that the sysbuild
itself is the application to build.

Instead, have west build look for APP_DIR which points to the correct
source dir when sysbuild is used. Use APPLICATION_SOURCE_DIR when
APP_DIR is not set, as this indicates a no-sysbuild build.

Keep CMAKE_HOME_DIRECTORY behavior as last fallback mechanism.

Upstream PR: zephyrproject-rtos/zephyr#74230

Signed-off-by: Torsten Rasmussen <[email protected]>
(cherry picked from commit 6439bfe)
We have recently added a new platform where the USB controller is only
supported in the new USB device support. This forces us to introduce a
new supported feature tag to distinguish the dependency. Use "usbd",
which is also the prefix of the new device support.

There are many boards that already have new driver support, but we will
replace the "usb_device" feature when the old device support is
deprecated.

Signed-off-by: Johann Fischer <[email protected]>
(cherry picked from commit 37fc9e2)
(cherry picked from commit ae86637)
Distinguish between test case dependencies where a board has a test
feature "usbd" and where no dependency is required other than the
devicetree overlay file, as here to build the UDC skeleton driver.

Signed-off-by: Johann Fischer <[email protected]>
(cherry picked from commit 1695eed)
(cherry picked from commit 49a2e22)
The tests do not depend on the usb_device or usbd feature.

Signed-off-by: Johann Fischer <[email protected]>
(cherry picked from commit 43c9176)
(cherry picked from commit a5f183f)
Use new feature "usbd" to distinguish the dependency.

Signed-off-by: Johann Fischer <[email protected]>
(cherry picked from commit 1e5a501)
(cherry picked from commit 4199b57)
…ol OUT

Make sure to feed control OUT endpoint with at least 8 bytes buffer to
make it possible to always receive SETUP data. This solves the assertion
failure in net_buf_add() called inside dwc2_handle_evt_setup() when a
host decides to start new control transfer immediately after it has
issued control transfer with Data Stage from host to device with wLength
less than 8.

Signed-off-by: Tomasz Moń <[email protected]>
(cherry picked from commit fa0a6e2)
(cherry picked from commit e624485)
Release buffer allocated in dwc2_ctrl_feed_dout() on endpoint deactivate
to prevent the buffer from leaking on USB stack disable.

Signed-off-by: Tomasz Moń <[email protected]>
(cherry picked from commit fb27c36)
(cherry picked from commit f1e5155)
Reduce RAM disk size from 192 sectors down to 1 sector to solve linking
issue due to qemu_cortex_m3 target having too little RAM. The RAM disk
size does not really matter in this test case and should be as small as
possible.

Enable test random generator to solve missing sys_rand_get() required by
networking subsystem.

Signed-off-by: Tomasz Moń <[email protected]>

Upstream PR: zephyrproject-rtos/zephyr#74220

(cherry picked from commit 1830a84)
Allow to protect the data part of each NVS item with a 32-bit CRC.
This uses 4 more bytes per NVS item.

Signed-off-by: Adrien Ricciardi <[email protected]>
(cherry picked from commit b76d630)
Signed-off-by: Andrzej Głąbek <[email protected]>
(cherry picked from commit c1add2c)
Adapt the test_nvs_gc_corrupt_close_ate test to forge the data CRC.

Signed-off-by: Adrien Ricciardi <[email protected]>
(cherry picked from commit e13840c)
Signed-off-by: Andrzej Głąbek <[email protected]>
(cherry picked from commit 2ec7254)
The CONFIG_NVS_DATA_CRC configuration item allows to enable a CRC-32
on the data part of the NVS items.

Signed-off-by: Adrien Ricciardi <[email protected]>
(cherry picked from commit 61474ac)
Signed-off-by: Andrzej Głąbek <[email protected]>
(cherry picked from commit ff1c5e1)
…evice config

Pass the list of supported twister fixtures for a given platform to pytest
via DeviceConfig. This allows for the pytest suites to use knowledge of the
fixtures for test suite configuration.

Signed-off-by: Henrik Brix Andersen <[email protected]>
(cherry picked from commit a7d55cf)
(cherry picked from commit d52796f)
…iguration

Allow twister fixtures to contain extra information, which can be used for
test suite configuration. The extra information can be appended to existing
fixtures separated by a colon (i.e. <fixture>:<configuration>).

This is especially useful for the pytest harness, where a fixture of a
given type may need to refer to an instance of a particular piece of host
hardware needed by the pytest suite (e.g. a network interface, a UART, or a
CAN interface connected to the device under test).

Signed-off-by: Henrik Brix Andersen <[email protected]>
(cherry picked from commit 3eb3c33)
(cherry picked from commit c53780b)
…ong with fixture

Allow specifying the python-can configuration context to use along with the
"can" fixture. This opens up for specifying board-specific contexts in the
twister hardware map file.

Signed-off-by: Henrik Brix Andersen <[email protected]>
(cherry picked from commit afb2791)
(cherry picked from commit 27c0cfd)
The list of reserved PPIs by MPSL should be kept if MPSL is enabled.
The 802154 radio driver is not the only user of MPSL.

Upstream PR: zephyrproject-rtos/zephyr#74139

Signed-off-by: Jonathan Rico <[email protected]>
(cherry picked from commit 0cadaf1)
…e output

Extend automated testing on HW by veryfing console output.

Signed-off-by: Piotr Kosycarz <[email protected]>
(cherry picked from commit c9c9c97)
(cherry picked from commit 34773c0)
Use of ARGV1 is undefined when number of arguments to function is less
than 2. Therefore switch to ARGN which holds arguments beyond required
arguments.
If there are no optional arguments, then ARGN is just an empty list,
thus making it safe to use.

Signed-off-by: Torsten Rasmussen <[email protected]>
(cherry picked from commit e65c632)
(cherry picked from commit a6ed71f)
…nt for samples

This commit refactors sysbuild entry code by creating a CMake sysbuild
module for image processing and place sysbuild entry code in a
<app>/sysbuild/CMakeLists.txt file.

A template/CMakeLists.txt file will be use as template for applications
which doesn't provide their own entry file.

An application may create a sysbuild/CMakeLists.txt file.
The sysbuild/CMakeLists.txt file is similar in nature to the
toplevel CMakeLists.txt file but intended to used by sysbuild.
This allows application developers to adjust how an application is
built with sysbuild.

Signed-off-by: Torsten Rasmussen <[email protected]>
(cherry picked from commit fc1884e)
(cherry picked from commit ecb3d83)
…sbuild

APPLICATION_CONFIG_DIR is supported in Zephyr and allows to adjust the
location from which prj.conf and friends are picked up.

This also works for images when using sysbuild, however sysbuild itself
ignores the value of APPLICATION_CONFIG_DIR, meaning that sysbuild only
accepts sysbuild.conf located directly in the sample folder.

Extend sysbuild to support APPLICATION_CONFIG_DIR so sysbuild follows
regular Zephyr CMake behavior.

Introduce SB_APPLICATION_CONFIG_DIR to allow changing the location
for sysbuild only, without propagating the value to images.

Signed-off-by: Torsten Rasmussen <[email protected]>
(cherry picked from commit 2b427f1)
(cherry picked from commit 6be1849)
… folder

If not defined by caller, then set APPLICATION_BINARY_DIR to
CMAKE_CURRENT_BINARY_DIR. This is normally be done by
`find_package(Zephyr)`, but due to the indirection introduced with
fc1884e to allow applications to
provide their own sysbuild entry point, then the APPLICATION_BINARY_DIR
is unexpectedly set to the bin dir of the entry point.

Restore the old behavior so that APPLICATION_BINARY_DIR per default
again points to top-level sysbuild binary dir.

Upstream PR: zephyrproject-rtos/zephyr#74210

Signed-off-by: Torsten Rasmussen <[email protected]>
(cherry picked from commit c17f1bc)
57300 and others added 27 commits July 16, 2024 16:37
This automated patch is inserted before a cherry-pick of:

ad16407 cmake: scripts: support board extension

This allows the above commit to be applied cleanly, even though it
appears to conflict with the following commit(s):

ec3b301 [nrf fromlist] scripts: support soc/boards in Zephyr modules

The conflicts are left to be fixed in a follow-up patch, instead of
doing so in the cherry-pick itself.

Signed-off-by: Grzegorz Swiderski <[email protected]>
Upstream PR: zephyrproject-rtos/zephyr#72857

Fixes: #69548

Support extending an existing board with new board variants.

This commit introduces the following changes to allow a board to be
extended out-of-tree.

The board yaml schema is extended to support an extend field which
will be used to identify the board to be extended.

A board 'plank' can be extended like this:
> board:
>   extend: plank
>   variants:
>     - name: ext
>       qualifier: soc1

For the rest of the build system this means that there is no longer a
single board directory.
The existing CMake variable BOARD_DIR is kept and reference the
directory which defines the board.
A new CMake variable BOARD_DIRECTORIES provides a list of all
directories which defines board targets for the board.
This means the directory which defines the board as well as all
directories that extends the board.

Signed-off-by: Torsten Rasmussen <[email protected]>
(cherry picked from commit ad16407aca8ccde1aaa57d4d1dcb15bb4d0bfc25)
This patch finalizes the 3-way merge between:

ad16407 cmake: scripts: support board extension

and:

ec3b301 [nrf fromlist] scripts: support soc/boards in Zephyr modules

Signed-off-by: Grzegorz Swiderski <[email protected]>
Upstream PR: zephyrproject-rtos/zephyr#72857

Fixes: #72374

Support extending an existing SoC with new CPU clusters.

This commit introduces the following changes to allow an SoC to be
extended out-of-tree.

The SoC yaml schema is extended to support an extend field which
will be used to identify the SoC to be extended with extra CPU clusters.

A SoC 'a_soc' can be extended like this:
> socs:
>   extend: a_soc
>   cpuclusters:
>     - name: extra_core

Signed-off-by: Torsten Rasmussen <[email protected]>
(cherry picked from commit c602935faf814c161ea78d19e5a858f7022978c2)
…sion

Upstream PR: zephyrproject-rtos/zephyr#72857

This commit adds new tests for verifying the functionality of the board
and SoC extension feature.

It does so by defining:
- A new CPU cluster on an existing SoC
- Two new board variants on top of an existing board

The new board variants are defined on top of the existing `native_sim`
board, so that the following native_sim board targets are available for
the test.
Existing board targets:
- native_sim/native
- native_sim/native/64

Extended board targets:
- native_sim/native/one
- native_sim/native/64/two

The new CPU cluster is defined for the existing `an521` SoC.
Existing CPU Clusters on an521:
- cpu0
- cpu1

New CPU Cluster:
- cputest

For SoC tests the mps2 board is used.
This means that for testing, the following board targets using the an521
SoC are:
- mps2/an521/cpu0
- mps2/an521/cpu1
- mps2/an521/cputest

Signed-off-by: Torsten Rasmussen <[email protected]>
(cherry picked from commit 04dda379d7ea202712c68aba60b473cd4b5774ef)
…config

Upstream PR: zephyrproject-rtos/zephyr#72857

Adds an optional priority parameter to the flash runner run once
configuration which allows for deciding upon which file should
ultimately be used

Signed-off-by: Jamie McCrae <[email protected]>
(cherry picked from commit 88a4c4ecf6906c7b66e6f42402f1f3e22456ff05)
…n once config

Upstream PR: zephyrproject-rtos/zephyr#72857

Removes validating the qualifiers for flash run once configuration
as files may be present that contain information for qualifiers
that are not present in a single repository but are spaced out in
other repositories, or might be optional

Signed-off-by: Jamie McCrae <[email protected]>
(cherry picked from commit b72acf47e550090878fa87145c9766504c3deb13)
…n dts.cmake

Upstream PR: zephyrproject-rtos/zephyr#73903

Instead of hardcoding the name `devicetree_target`, we can update the
generated `dts.cmake` to accept `DEVICETREE_TARGET` as input variable.
This will become useful in multi-image builds, where we would like to
process multiple devicetrees.

Signed-off-by: Grzegorz Swiderski <[email protected]>
(cherry picked from commit cd187c719ae9162a2ab6bd6aeff511a4cc684bdc)
Upstream PR: zephyrproject-rtos/zephyr#73903

Add new functions to `sysbuild_extensions.cmake`, which will mirror the
familiar dt_* API from Zephyr `extensions.cmake`. For example:

   dt_nodelabel(<var> NODELABEL <label>)

gets the following sysbuild counterpart, with one extra argument:

   sysbuild_dt_nodelabel(<var> IMAGE <image> NODELABEL <label>)

This API allows sysbuild to retrieve devicetree information for a given
<image>, only after its respective `ExternalZephyrProject_Cmake()` call.

This works by importing the generated `dts.cmake` files from each
image's build directory, and creating multiple CMake targets to hold the
generated properties - much like how the `CMakeCache.txt` and `.config`
are also imported to be used by the related `sysbuild_get()` function.

The dt_* API itself also has to be updated, in order to read properties
from a variable `DEVICETREE_TARGET` set in the parent scope.

Signed-off-by: Grzegorz Swiderski <[email protected]>
(cherry picked from commit 3bf9a41a20ae52adc3ccadc2ff79425160f8ad73)
Upstream PR: zephyrproject-rtos/zephyr#74316

Taking a cue from `nrfx/templates`, introduce this file so that it can
be overridden out-of-tree to add external nRF product definitions.

Signed-off-by: Grzegorz Swiderski <[email protected]>
(cherry picked from commit 6ee6468dc7f7a1391d1961e696bbc671ae350c2f)
…ets root"

This reverts commit 3a41bb5.

NCS snippet root should have been set in `zephyr/module.yml`.

Signed-off-by: Grzegorz Swiderski <[email protected]>
Add a custom section in the linker which should always
be placed in the top of RAM. This will be used by the
KMU to push keys into it. Since when you provision a key
into the KMU you need to set specific a memory location
for the PUSH operation we need to keep this memory location
static across images/dfus.

This is a noup since the KMU is not supported upstream.

Ref: NCSDK-25121

Signed-off-by: Georgios Vasilakis <[email protected]>
Add a mailbox driver for VEVIF events (VPR irq).
The driver can be built in either 'rx' or 'tx' configuration.
The VPR sends the event, so it uses the 'tx' configuration,
while the master core uses the 'rx' configuration of the driver
to receive the VPR events.

Signed-off-by: Jakub Zymelka <[email protected]>
(cherry picked from commit bace4a1)

Signed-off-by: Sebastian Głąb <[email protected]>
Add a mbox VEVIF nodes to be used for communicating FLPR -> APP.

Signed-off-by: Jakub Zymelka <[email protected]>
(cherry picked from commit c7b3651)

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

Renaming 'LOCAL' to 'RX' and 'REMOTE' to 'TX'.
This seems more descriptive and intuitive to use.

Signed-off-by: Jakub Zymelka <[email protected]>
(cherry picked from commit 8091e93)

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

After changing the VEVIF and BELLBOARD names,
the dts for the individual boards must be aligned.

Signed-off-by: Jakub Zymelka <[email protected]>
(cherry picked from commit 9473e32)

Signed-off-by: Sebastian Głąb <[email protected]>
Add nRF54L15 APP and FLPR cores to ping-pong sample application.

Signed-off-by: Jakub Zymelka <[email protected]>
(cherry picked from commit bd40190)

Signed-off-by: Sebastian Głąb <[email protected]>
Add nRF54L15 APP and FLPR cores to icmsg sample application.

Signed-off-by: Jakub Zymelka <[email protected]>
(cherry picked from commit 2cb0a07)

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

Nrf54h20dk and nrf54l15 have UART Flow Control enabled
by default on all cores.
It's a source of problem when mbox sample is run in Twister.
Twister opens serial port only on host core,
thus nobody confirms reception of logs from remote core.
As a result, remote core stucks on printing boot banner.

Twister fails sample due to the timeout while waiting for messages
from remote to host.

Disable Flow Control on remote core when mbox sample is executed
on nrf54h20 or nrf54l15.

Upstream PR: zephyrproject-rtos/zephyr#75309

Signed-off-by: Sebastian Głąb <[email protected]>
According to the official MBOX API documentation available at
https://docs.zephyrproject.org/latest/hardware/peripherals/mbox.html
mbox_sen() shall return
-EMSGSIZE – If the supplied data size is unsupported by the driver.

Fix error code returned by the mbox_send().

Upstream PR: zephyrproject-rtos/zephyr#75114

Signed-off-by: Sebastian Głąb <[email protected]>
Upstream PR: zephyrproject-rtos/zephyr#75768

Add a new offload API to reset Wi-Fi statistics from
the Wi-Fi driver.

Signed-off-by: Kapil Bhatt <[email protected]>
Upstream PR: zephyrproject-rtos/zephyr#75768

Add "reset" as a subcommand of wifi statistics.
Also add help option in statistics command.

Signed-off-by: Kapil Bhatt <[email protected]>
…mits are provided

Current implementation will not work if comits were not provided.
ie. use case with list of changed files will fail as args.commits is None.

Upstream PR: zephyrproject-rtos/zephyr#75927

Signed-off-by: Piotr Kosycarz <[email protected]>
Upstream PR: zephyrproject-rtos/zephyr#72857

In the `Board` class, the `dir` member was renamed to `directories`,
both to indicate that it is now a list (in HWMv2 with board extensions)
and to reflect the addition of the `BOARD_DIRECTORIES` CMake variable.
Considering that the build system also keeps the `BOARD_DIR` variable,
and for the sake of backwards compatibility and brevity, it should be
useful to retain `Board.dir` in Python as well, symmetrically.

Signed-off-by: Grzegorz Swiderski <[email protected]>
(cherry picked from commit 25fd4b16e8c488792d0d8450e1b822292f94d3c3)
Upstream PR: zephyrproject-rtos/zephyr#72857

`Board.dir` can be used in place of `Board.directories[0]` for brevity.

Signed-off-by: Grzegorz Swiderski <[email protected]>
(cherry picked from commit 103f7b59548cf5d809d1f105c5c0e2e94396cdfc)
adjusting region resolution to match erase-block-size

Signed-off-by: Mateusz Michalek <[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.