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

[nrf noup] modules: hostap: Add NCS PSA for hostap crypto ALT #2126

Closed

Conversation

VivekUppunda
Copy link
Contributor

This brings in PSA Kconfig and CMakelist.txt changes to NCS. Currently, it contains known PSA configurations and source files that are needed or will be needed in the future. WPA3 and Enterprise is currently disabled with this setting.

nordicjm and others added 30 commits October 4, 2024 14:12
…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]>
sampling

Calibrate adc before taking measurement.

Upstream PR: zephyrproject-rtos/zephyr#76088

Signed-off-by: Bartlomiej Buczek <[email protected]>
Updated label name, added new entries to trigger CI.

Signed-off-by: Grzegorz Chwierut <[email protected]>
nrf-squash! [nrf noup] include: net: add NCS extensions

This commit removes deprecated RAI socket options.

Signed-off-by: Mirko Covizzi <[email protected]>
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]>
The Thingy:53 enabled MCUboot and external flash by default.
Therefore, it should also enable drivers for its external
flash by default.

Signed-off-by: Sigurd Hellesvik <[email protected]>
fixup! [nrf noup] samples: mgmt: mcumgr: add hci_rpmsg child image config

Removes child/parent configuration for this sample

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

fixup! [nrf noup] samples: bluetooth: hci_pwr_ctrl: add dynamic control

Removes child/parent configuration for this sample

Signed-off-by: Jamie McCrae <[email protected]>
jfischer-no and others added 16 commits October 17, 2024 14:02
… 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)
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)
…DACv2

Version 2 of the ADAC interface implemented by secure domain firmware
changes the ADAC RESET command used in the custom reset handling in
the JLink support scripts. The command has been split into two
commands, RESET and START, and has different semantics from
the previous RESET command. The new RESET command resets both the
application and radio domains without starting the CPUs again, and the
START command must then be used to start the CPUs.

Update the JLink support scripts for nrf54h20dk/nrf54h20/cpuapp,
nrf54h20dk/nrf54h20/cpurad, nrf9280pdk/nrf9280/cpuapp and
nrf9280pdk/nrf9280/cpurad so that they read out the ADAC interface
version from the device and use the newer commands if ADAC version 2 is
detected. If the version is lower than 2, the legacy implementation is
used.

Also improve the CTRL-AP MAILBOX transaction implementation
to avoid the need for arbitrary sleeps or unnecessary polling of
the MAILBOX. This should improve stability when using the script.

Signed-off-by: Jonathan Nilsen <[email protected]>
(cherry picked from commit d403d73)
…er for cpurad

Some tests are failing on nrf54h20 cpurad in non-obvious manner
because of this memory region being too small.
Instead of adding overlays to each individual application,
make this region larger at expense of cpuapp equivalent.

Signed-off-by: Nikodem Kastelik <[email protected]>
(cherry picked from commit e0860eb)
This concerns both `nordic,owned-memory` and `nordic,owned-partitions`.

Introduce a property named `nordic,access`, which is meant to replace
the `owner-id` and `perm-*` properties. It allows for describing how
multiple domains should access a single memory region, possibly with
different permissions per owner, but without having to create more than
one DT node for this purpose.

This change is also motivated by updated memory protection requirements
on the nRF54H20, which mandate that a given memory region must only be
reserved by one domain, even if multiple domains can have access to it.
This restriction is now described in the binding itself.

Signed-off-by: Grzegorz Swiderski <[email protected]>
(cherry picked from commit 365e9d6)
… bindings

Apply the following changes to `nrf54h20dk` and `nrf9280pdk`:

* Convert `perm-*` properties to the newly introduced `nordic,access`,
  both in board files and tests.

* Redefine shared regions to specify multiple access owners per node,
  and ensure that each such region is reserved by one domain at a time.
  `cpuapp_cpurad_ram0x_region` is only enabled by Radiocore, while
  `cpuapp_cpucell_ram0x_region` is only enabled by Application core.

* Divide `shared_ram3x_region` so that each sub-region is owned by a
  different domain. Their addresses must be rounded down to fit the
  current UICR format.

Signed-off-by: Grzegorz Swiderski <[email protected]>
(cherry picked from commit 13b1cfa)
Update the default memory maps for `nrf54h20dk` and `nrf9280pdk` to
remove the `shared_ram20_region` and `shared_ram3x_region` nodes,
because their child nodes no longer need to be grouped together:

  * IPC buffers in RAM20 are statically allocated.
  * DMA buffers in RAM3x have separate access owners.

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

This new version introduces a new sub-command `uicr-compile`, which will
generate `uicr.hex` based on a new binary format required by an upcoming
release of Secure Domain Firmware (SDFW) closer to production.

Since this is a breaking change, and SDFW is not finalized yet, we need
to support two nrf-regtool versions for a short time, and use different
CLI invocations based on which version is installed. Hence, the minimum
required version is unchanged.

Additionally, retire CONFIG_NRF_REGTOOL_EXTRA_GENERATE_ARGS. There will
be no use for it moving forward.

Signed-off-by: Grzegorz Swiderski <[email protected]>
(cherry picked from commit 6c4eb43567fc82935ccff21ebfe843ccc1ac88e1)
This will be replaced by a different solution upstream (NCSDK-27673).

Migrate the existing BICR bindings from NCS 2.4.99-cs3 to NCS 2.7.0.
They are updated to remove obsoleted values. Enable generating bicr.hex
for Application core by default.

LFXO CLOAD value is a resualt of DK's characterization.

The BICR LFOSC.LFXOCONFIG.MODE field supports disabling the usage of an
external crystal oscillator to disable LFXO as LF clock source.

Signed-off-by: Grzegorz Swiderski <[email protected]>
Signed-off-by: Karol Lisak <[email protected]>
Signed-off-by: Karsten Koenig <[email protected]>
This brings in PSA Kconfig and CMakelist.txt changes to NCS.
Currently, it contains known PSA configurations and source files
that are needed or will be needed in the future. WPA3 and
Enterprise is currently disabled with this setting.

Signed-off-by: Vivekananda Uppunda <[email protected]>
@VivekUppunda VivekUppunda force-pushed the noup_changes_hostap_configuration branch from 0451341 to 4c417f8 Compare October 18, 2024 00:27
@VivekUppunda VivekUppunda added this to the ncs-2.8.0 milestone Oct 18, 2024
@krish2718
Copy link
Contributor

These changes are cherry-picked as part of #2142

@krish2718 krish2718 closed this Oct 30, 2024
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.