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

Nrfs service id reorder #2131

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

Conversation

Rafal-Nordic
Copy link
Contributor

No description provided.

rugeGerritsen and others added 30 commits October 4, 2024 14:12
This action will automatically manage a PR to sdk-nrf
once a PR to sdk-zephyr is created.

This includes:
 - Creating an initial PR
 - Updating and (optionally) rebase it once the PR
   to sdk-nrf is merged.

The action can be disabled by adding the string
"manifest-pr-skip" to the title or body of the PR.

This will simplify cherry-picking changes from upstream
zephyr.

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

Cleanup the Kconfig generating code in hwm_v2.cmake by moving common
logic inside the kconfig_gen() helper function.

This prepares the code for board extension feature.

Signed-off-by: Torsten Rasmussen <[email protected]>
(cherry picked from commit d39cc46b56294b6eb297a67478334c23db8c8ca3)
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)
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]>
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)
Add triggers for SUIT DFU tests.

Signed-off-by: Krzysztof Szromek <[email protected]>
adjusting region resolution to match erase-block-size

Signed-off-by: Mateusz Michalek <[email protected]>
Add fast PWM instance for the nRF54H20 device.

Upstream PR: zephyrproject-rtos/zephyr#75047

Signed-off-by: Adam Kondraciuk <[email protected]>
This commit provides an additional threshold value for comparison when
a custom k_busy_wait() implementation is chosen.

Upstream PR: zephyrproject-rtos/zephyr#73068

Signed-off-by: Adam Kondraciuk <[email protected]>
The nRF54H20 PPR target has not enough memory to run some of
kernel/timer tests.

Upstream PR: zephyrproject-rtos/zephyr#73068

Signed-off-by: Adam Kondraciuk <[email protected]>
Enable the device runtime power management on the SPIM shim.

Upstream PR: zephyrproject-rtos/zephyr#75715

Signed-off-by: Adam Kondraciuk <[email protected]>
Add configuration for testing SPI with device runtime PM enabled
for nRF platforms.

Upstream PR: zephyrproject-rtos/zephyr#75715

Signed-off-by: Adam Kondraciuk <[email protected]>
Add overlay and enable test for nrf52840dk.

Upstream PR: zephyrproject-rtos/zephyr#76088

Signed-off-by: Bartlomiej Buczek <[email protected]>
Add overlay and enable test for nrf54h20dk.

Upstream PR: zephyrproject-rtos/zephyr#76088

Signed-off-by: Bartlomiej Buczek <[email protected]>
Add overlay and enable test for nrf54l15pdk.

Upstream PR: zephyrproject-rtos/zephyr#76088

Signed-off-by: Bartlomiej Buczek <[email protected]>
…r nrf54.

It will increase test coverage for adc driver, no test uses
ADC_GAIN_2_3 setting yet.

Upstream PR: zephyrproject-rtos/zephyr#76088

Signed-off-by: Bartlomiej Buczek <[email protected]>
Tests are checking error codes returned from adc_read() and adc_setup_channel() used with invalid configurations.

Upstream PR: zephyrproject-rtos/zephyr#76191

Signed-off-by: Bartlomiej Buczek <[email protected]>
…uracy

On nrf boards expected accuracy from ref voltage is 64 instead of 32.

Upstream PR: zephyrproject-rtos/zephyr#76088

Signed-off-by: Bartlomiej Buczek <[email protected]>
This is a long-term noup patch because crypto driver support is
NCS-only for both cryptocell and CRACEN.

Set HAS_HW_NRF_CC3XX to be defined in NS build when cryptocell
is accessed through the PSA API.
We need to know which CC3XX features are available.

Set PSA as the entropy source for 54L.

PSA is the only NCS-supported interface to CRACEN.

Signed-off-by: Georgios Vasilakis <[email protected]>
Signed-off-by: Joakim Andersson <[email protected]>
Signed-off-by: Dominik Ermel <[email protected]>
Signed-off-by: Sebastian Bøe <[email protected]>
Signed-off-by: Robert Lubos <[email protected]>
Signed-off-by: Rubin Gerritsen <[email protected]>
The nRF54H20 supports a Bluetooth controller.
The HCI driver interface has changed upstream in
zephyrproject-rtos/zephyr#72323
so now we need to add it to device tree.

Signed-off-by: Rubin Gerritsen <[email protected]>
By default, the BLE stack calls sent callback for ATT data when the data
is passed to BLE controller for transmission. Enabling this Kconfig
option delays calling the sent callback until data transmission is
finished by BLE controller (the callback is delayed until receiving the
num complete packets event).

Jira: NCSDK-27422

Signed-off-by: Marek Pieta <[email protected]>
(cherry picked from commit d74e0b5)
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]>
rlubos and others added 19 commits October 16, 2024 16:32
Make sure Wi-Fi driver is enabled in networking samples supporting Wi-Fi
when sysbuild is used.

Signed-off-by: Robert Lubos <[email protected]>
nrf-squash! [nrf noup] ci: NCS-specific CI tweaks

Adapt to the changes in:
nrfconnect/action-commit-tags#4

Signed-off-by: Carles Cufi <[email protected]>
nrf-squash! [nrf noup] entropy: Add fake entropy nRF PRNG driver

Change psa driver to nordic entropy. nRF54L20 needs it as well
as nRF54H20.

Signed-off-by: Karol Lasończyk <[email protected]>
Peripherals are required to support the suspend state whenever VBUS
is powered, even if bus reset has not occurred (Mandate: Required,
Effective Date: February, 2010).

Remove the stale suspend check that essentially prevented the device
from hibernating when connected to already suspended bus.

(cherry picked from commit f57e78d)
Signed-off-by: Tomasz Moń <[email protected]>
Adhere to programming guide steps on Hibernation Exit on Host Initiated
Reset.

(cherry picked from commit 508bd3e)
Signed-off-by: Tomasz Moń <[email protected]>
Update the documented value range that `uart_irq_tx_ready` returns in
order to provide more information to the callers about the number of
bytes that could be writted with `uart_fifo_fill` without fragmentation.

Signed-off-by: Jordan Yates <[email protected]>
(cherry picked from commit 5bd53b6)
Signed-off-by: Tomasz Moń <[email protected]>
Update the interrupt driver UART drivers that use `struct ring_buf`
internally to report the number of bytes that can be pushed in
`uart_fifo_fill` without fragmentation.

Signed-off-by: Jordan Yates <[email protected]>
(cherry picked from commit 81352d0)
Signed-off-by: Tomasz Moń <[email protected]>
The async IRQ shim supports writes of any size up to the TX buffer size.

Signed-off-by: Jordan Yates <[email protected]>
(cherry picked from commit 3e5c72a)
Signed-off-by: Tomasz Moń <[email protected]>
Update nrfx drivers with the minimum number of bytes that can be sent
in a single call to `uart_fifo_fill`.

Signed-off-by: Jordan Yates <[email protected]>
(cherry picked from commit 0425b04)
Signed-off-by: Tomasz Moń <[email protected]>
…the heading

Move "Built-in functions" section down and increase the heading.

Signed-off-by: Johann Fischer <[email protected]>
(cherry picked from commit fc0437c)
Signed-off-by: Tomasz Moń <[email protected]>
…iven UART API

Align CDC ACM UART with Interrupt-driven UART API behavior description.
Use the same flags in uart_irq_rx_ready(), uart_irq_tx_ready(), and
uart_irq_is_pending(), which are updated after each uart_irq_update()
call. Allow TX FIFO to be filled if there is space.

Signed-off-by: Johann Fischer <[email protected]>
(cherry picked from commit 64ee885)
Signed-off-by: Tomasz Moń <[email protected]>
In general, it mirrors what is described in Interrupt-driven API
documentation, but here a little more explicitly and with a simplified
example, so that we can finally chisel it into the stone.

Signed-off-by: Johann Fischer <[email protected]>
(cherry picked from commit 1867e71)
Signed-off-by: Tomasz Moń <[email protected]>
…acy implementation

Apply changes in commit c152e09
("usb: device: cdc_acm: block in uart_poll_out() routine")
to the new CDC ACM UART poll_out implementation.

Signed-off-by: Johann Fischer <[email protected]>
(cherry picked from commit 6cf2775)
Signed-off-by: Tomasz Moń <[email protected]>
… simultaneously

As it is still accepted practice, allow fifo_fill and poll_out to be
used simultaneously. The lock around fifo_fill was already in place.

Signed-off-by: Johann Fischer <[email protected]>
(cherry picked from commit ef89321)
Signed-off-by: Tomasz Moń <[email protected]>
…API behavior

Add note about CDC ACM virtual UART polling API behavior.

Signed-off-by: Johann Fischer <[email protected]>
(cherry picked from commit ece1f51)
Signed-off-by: Tomasz Moń <[email protected]>
…he current MPS

When the controller is connected to a full speed bus, regardless of
whether the controller supports high speed or not, the transfer size for
the bulk OUT endpoint should be equal to the MPS in the current
configuration.

Signed-off-by: Johann Fischer <[email protected]>
(cherry picked from commit 4875aa3)
Signed-off-by: Tomasz Moń <[email protected]>
…C ACM

Use delayable work to reduce CPU load when there is no transfer flow in
the host direction. This also improves the performance of poll out, as
introduced in commit commit fed6bde
("usb: device: cdc_acm: send more than 1 byte in poll out")
for the legacy CDC ACM implementation.

Signed-off-by: Johann Fischer <[email protected]>
(cherry picked from commit fe4d8a6)
Signed-off-by: Tomasz Moń <[email protected]>
…ssion

Verbatim from USB 2.0 specification:
The Remote Wakeup field indicates whether the device is currently enabled
to request remote wakeup. The default mode for devices that support
remote wakeup is disabled. If D1 is reset to zero, the ability of the
device to signal remote wakeup is disabled. If D1 is set to one,
the ability of the device to signal remote wakeup is enabled.
The Remote Wakeup field can be modified by the SetFeature() and
ClearFeature() requests using the DEVICE_REMOTE_WAKEUP feature selector.
This field is reset to zero when the device is reset.

Signed-off-by: Benedek Kupper <[email protected]>
(cherry picked from commit a6b911f)
Signed-off-by: Tomasz Moń <[email protected]>
Update the HW models module to:
eeed2591d38e5e9bf89658df67555f2777249fc0

eeed259 RADIO: Do not warn about TASK_RSSISTART during RXIDLE
565220e 54L15.mk: Fix flipper hal target name
bb8c6fd Makefile: Let's install libraries by default
6dbb843 RADIO: Implement immediate RSSI measurement when needed
3a5d567 RADIO: Allow triggering TASK_RSSISTART from register writes

Signed-off-by: Alberto Escolar Piedras <[email protected]>
(cherry picked from commit fb01071)
@NordicBuilder
Copy link
Contributor

The following west manifest projects have been modified in this Pull Request:

Name Old Revision New Revision Diff
hal_nordic zephyrproject-rtos/hal_nordic@bc25c09 zephyrproject-rtos/hal_nordic#233 zephyrproject-rtos/hal_nordic#233/files

Note: This message is automatically posted and updated by the Manifest GitHub Action.

katgiadla and others added 4 commits October 17, 2024 16:49
Align all existing samples/tests/applications which
contains nrf54l15pdk/nrf54l15/* by adding
nrf54l15dk/nrf54l15/* to enable twister builds.

Signed-off-by: Katarzyna Giądła <[email protected]>
Signed-off-by: Grzegorz Chwierut <[email protected]>
(cherry picked from commit 436d1bf)
Align mbox sample.yaml and icmsg flpr overlays to nrf54l15dk.

Signed-off-by: Jakub Zymelka <[email protected]>
(cherry picked from commit 3904c3b)
Service for powering peripherals that use GPIO pins
in the global power domains:
- Active Fast
- Active Slow
- Main Slow

Upstream PR: zephyrproject-rtos/zephyr#79264

Signed-off-by: Rafal Dyla <[email protected]>

(cherry picked from commit ec77fc3)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.