Skip to content

[nrf fromlist] arch:riscv: Support for Direct ISRs for RISCV targets #2888

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

Draft
wants to merge 2,886 commits into
base: main
Choose a base branch
from

Conversation

Rafal-Nordic
Copy link
Contributor

Added support for Direct ISRs in the multithreaded enviroment

nordic-krch and others added 30 commits March 19, 2025 14:28
…n nrf54h20

Extend support in dt bindings and in the driver to allow use of
AIN8 to AIN13 analog inputs.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
(cherry picked from commit f2e1ac0)
…onfiguration

Add AIN9 pin in nrf54h20dk to verify AIN8-AIN13 inputs.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
(cherry picked from commit a5d023a)
…ection

Selection of the LF clock source for the GRTC should be performed
as early as possible, before starting GRTC.

Upstream PR #: 87199

Signed-off-by: Adam Kondraciuk <adam.kondraciuk@nordicsemi.no>
…GRTC

Disable automatic LFCLK selection for GRTC during driver initialization.
For Zephyr applications it is selected by `sys_clock_driver_init()`
depending on configuration and DTS.

Upstream PR #: 87199

Signed-off-by: Adam Kondraciuk <adam.kondraciuk@nordicsemi.no>
Added configuration for new audio PLL service.
Pull in new service implementation in new hal nordic.

Signed-off-by: Łukasz Stępnicki <lukasz.stepnicki@nordicsemi.no>
(cherry picked from commit 2bac5ee)
This fixes an issue where a subsequent Config Model Subscription Add
message with the same virtual address UUID would result in a Config
Model Subscription Status message with the Address field incorrectly set
to 0.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
(cherry picked from commit d3997c6)
…fset

The offset value in the PSA ITS non-volatile space is dedicated to
OpenThread key reference IDs. This offset must not overwrite any
other ranges already in use within the PSA ITS non-volatile space.

Signed-off-by: Arkadiusz Balys <arkadiusz.balys@nordicsemi.no>
(cherry picked from commit ba9f627)
This reverts commit f1f6bc0.

Signed-off-by: Théo Battrel <theo.battrel@nordicsemi.no>
The BLE acronym is not an official description of Bluetooth
LE, and the Bluetooth SIG only ever refers to it as Bluetooth
Low Energy or Bluetooth LE, so Zephyr should as well.

This commit does not change any board or vendor specific
documentation, and the term BLE may still be used in those.
It will be up to the vendors to update it if they want,
since many of them are using the term BLE in their
products.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
(cherry picked from commit 571f26c)
Update Kconfig options for qualification:
 - Remove experimental on qualified feature.
 - Add experimental on unqualified feature.
 - BT_L2CAP_ECRED is not marked as experimental upstream and we qualify it
   downstream.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
Signed-off-by: Trond Einar Snekvik <Trond.Einar.Snekvik@nordicsemi.no>
Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
Signed-off-by: Ingar Kulbrandstad <ingar.kulbrandstad@nordicsemi.no>
Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
Signed-off-by: Herman Berget <herman.berget@nordicsemi.no>
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
Signed-off-by: Théo Battrel <theo.battrel@nordicsemi.no>
(cherry picked from commit e92e87d)
…PSA key IDs

We need to make sure that within Zephyr different users of the PSA APIs
don't interfere with each other because of using the same numerical IDs
for persistent assets.

This takes care of the PSA key IDs when using persistent keys through
the PSA Crypto API.
See the comments in `<zephyr/psa/key_ids.h>` for more information.

This removes the recently-introduced Kconfig options that allowed changing
the base IDs subsystems were using for their persistent keys.

Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
(cherry picked from commit 0c368e8)
…tions

Commit removes weak attribute and renames some functions
in crypto_psa.c since there is no centralized distribution
of the PSA key ID in bsim tests and no necessity to
reimplement native mesh approach.

Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
(cherry picked from commit acc752f)
Commit removes api prefix for static functions
in crypto psa.

Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
(cherry picked from commit e075e08)
Commit removes centralized PSA key ID distribution
in mesh bsim tests since secure storage is
instantiated on every simulated device.

Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
(cherry picked from commit 6a9802e)
… runner is used

The logic to detect the default JLink location was placed at the top of
the script, executing whenever the script was imported. The west
extension command framework loads all runners when initializing, and so
this logic was being executed even when using another runner.

Move the logic to a function that is only executed when the JLink runner
is selected, to avoid executing it at all times.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
(cherry picked from commit 4c12a8c)
…cutable

Instead of hardcoding a set of paths and trying to find the JLink
executable in them, use the corresponding Windows registry to locate it:

`HKEY_CURRENT_USER\\Software\\SEGGER\\J-Link`

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
(cherry picked from commit bb1794b)
During raw scan, Need to disable NRF_WIFI_MGMT_BUFF_OFFLOAD.
UMAC will send beacon and probe responses directly to the host,
regardless of the mgmt_buff_offload flag's value.
Host needs to resubmit buffers to LMAC.

Signed-off-by: Kapil Bhatt <kapil.bhatt@nordicsemi.no>
(cherry picked from commit 1179014)
…uffers

For different values of reorder buffer throughputs are consistent,
Setting reorder buffer size to half of the RX buffers configured.

Signed-off-by: Kapil Bhatt <kapil.bhatt@nordicsemi.no>
(cherry picked from commit 9f7307f)
Sidewalk becomes NCS Add-on.
There is no need to trigger Sidewalk tests.

Signed-off-by: Tomasz Tyzenhauz <tomasz.tyzenhauz@nordicsemi.no>
Added common overlay for nRF54L20 cores.

Upstream PR #: 87388

Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
…54l15_cpuflpr

Add overlay for nrf54l15dk_nrf54l15_cpuflpr target.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
(cherry picked from commit bec4a84)
Add printing reset reason at the beginning of the sample. Makes it easier
to determine if sample correctly wakes up from LP mode.

Signed-off-by: Bartlomiej Buczek <bartlomiej.buczek@nordicsemi.no>
(cherry picked from commit c08edf7)
This reverts commit 7d44195.

Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
Add TDM support for nRF54H20 and nRF54L20

Upstream PR #: 82144

Signed-off-by: Adam Kondraciuk <adam.kondraciuk@nordicsemi.no>
Added missing comparator node to nRF54L20 devicetree.

Upstream PR #: 87352

Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
P1.7 used for led 0 was not passing gpio_api_1pin test (probably
shortened with another pin in the test setup. Use different pin
that passes the gpio_api_1pin test. At current stage this PDK is
'virtual' so this pin is not attached to any LED and it can be
changed.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
(cherry picked from commit b298faa)
This reverts commit 8a64a2e.

We shouldn't have noups to fix things that can
and should be fixed elsewhere/differently.

Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
This reverts commit fcb4238.

We shouldn't have noups to fix things that can
and should be fixed elsewhere/differently.

Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
…ofile

TF-M small profile does not support secure storage (know as Protected
storage), this commit add filter for tfm test case to pass it
incase of small profile been set, see tf-m profiles in below link

https://tf-m-user-guide.trustedfirmware.org/configuration/profiles/index.html

Signed-off-by: Sadik Ozer <sadik.ozer@analog.com>
(cherry picked from commit 6932885)
Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
…nabled scenarios

Explicitly set the TF-M profile to not rely on the build system defaults
which might differ.

Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
(cherry picked from commit 62fe34d)
Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
rado17 and others added 25 commits April 3, 2025 12:33
Create dedicated memory pools for Wi-Fi management and
data operations (defaults: 20KB for management and 130KB for data).
Setting Data pool to 110KB for non-Nordic SOCs to resolve
RAM overflows seen in twister runs.

Remove the `HEAP_MEM_POOL_ADD_SIZE_NRF70` hint since we are
creating separate heaps for driver and not allocating from
system heap.

Signed-off-by: Ravi Dondaputi <ravi.dondaputi@nordicsemi.no>
(cherry picked from commit aa0cb68)
…ry pools

Pull changes for creating separate memory pools for control traffic
and data traffic.

Signed-off-by: Ravi Dondaputi <ravi.dondaputi@nordicsemi.no>
(cherry picked from commit 7f775c3)
With introduction of OSAL wrapper for memory allocation, usage of
zephyr's native malloc calls need to be removed. When NRF70 driver
is not enabled, OSAL needs to be built explicitly.

Signed-off-by: Ravi Dondaputi <ravi.dondaputi@nordicsemi.no>
(cherry picked from commit 208e686)
Some file names are changed, fix file names in
doxygen comments.

Signed-off-by: Kapil Bhatt <kapil.bhatt@nordicsemi.no>
(cherry picked from commit 46829bb)
With recent code restructuring file name and path
has been changed in nrf_wifi lib.

Signed-off-by: Kapil Bhatt <kapil.bhatt@nordicsemi.no>
(cherry picked from commit 9285344)
… info

Pull in change to include reg chan info along with reg domain in the
GET_REG_DOMAIN event for the radio test and offloaded raw TX modes.

Signed-off-by: Sachin D Kulkarni <Sachin.Kulkarni@nordicsemi.no>
(cherry picked from commit a34198b)
Pull in fix for CI failure in Offloaded raw TX mode caused
due to commit 0cd3bb2291a7dd22f4cdb1a4cd935a213c2bbfab in nrf_wifi

Signed-off-by: Sachin D Kulkarni <Sachin.Kulkarni@nordicsemi.no>
(cherry picked from commit 69ce6af)
Add prompt to Kconfig NRF70_SYSTEM_WITH_RAW_MODES.
It is assigned in a configuration file, but is not directly
user-configurable (has no prompt). It gets its value
indirectly from other symbols.

Signed-off-by: Kapil Bhatt <kapil.bhatt@nordicsemi.no>
(cherry picked from commit 3ef187d)
…ents

Fix doxygen comments of arguments.

Signed-off-by: Kapil Bhatt <kapil.bhatt@nordicsemi.no>
(cherry picked from commit 5f3bd5d)
nRF70 driver now uses a separate heap, so, no need to explicitly
configure the kernel heap.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
(cherry picked from commit 0b8601c)
nRF70 now by default uses variale buffers.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
(cherry picked from commit 8fe1df6)
Fine-tune the heap to get peak UDP (TX and RX) results but with minimal
heap consumption.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
(cherry picked from commit be4c79b)
This uses the network packet as is without the need for a copy all the
way till the packet is handed over to RPU.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
(cherry picked from commit 5119f9c)
Now that nRF70 by default uses zero-copy fine-tune the configuration to
get optimal memory while getting peak throughputs.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
(cherry picked from commit e33d9ee)
… address packets

The RFC1122 section 3.3.6 says we SHOULD drop the packets if L2 address
is brodcast but L3 address is unicast, but we had seen some Wi-Fi access
points in the field not conforming to that, and DHCP offer is dropped
due to this and causes Wi-Fi connectivity issues.

As the RFC saus it's SHOULD and not a MUST, add a config option to allow
such packets, disabled by default.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
(cherry picked from commit 4cd6654)
Add new Ethernet driver config option,
ETHERNET_CONFIG_TYPE_EXTRA_TX_PKT_HEADROOM, which allows Ethernet
drivers to inform L2 about the extra net_pkt headroom they need to be
allocated.
This is only supported when CONFIG_NET_L2_ETHERNET_RESERVE_HEADER is
enabled, so that it's possible to fit entire packet into a single
net_buf, which is needed for zero-copy transmission.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
(cherry picked from commit 78c3996)
It seems that this change was solely added to address issues with old
TCP stack, which blindly queued packets intended for TX for potential
further retransmission, expecting that the packet would remain intact
during transmission.

I think this assumption was wrong, as it's natural that lower layers
append respective headers to the packet, and this "header stripping"
behavior was specific for Ethernet L2 only. If an upper layer expects
that the packet would need to be retransmitted at some point, it should
clone it instead.

Therefore, remove the L2 header stripping from the Ethernet L2 to avoid
any potential issues in zero-copy case.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
(cherry picked from commit 21b7122)
Fix linking errors by using the Zephyr flags for libary too.

Upstream PR #: 87835

Signed-off-by: Kapil Bhatt <kapil.bhatt@nordicsemi.no>
…it failures

Reconfigure DATA heap sizes to fix the driver init failures.

Upstream PR #: 87979

Signed-off-by: Ravi Dondaputi <ravi.dondaputi@nordicsemi.no>
Add a debug shell to the driver to provide advanced debug support such
as reading/writing to RPU memory and registers etc.

Upstream PR #: 87823

Signed-off-by: Sachin D Kulkarni <Sachin.Kulkarni@nordicsemi.no>
Move the wifi_util to the newly created nrf70 shell as a sub-shell.

Upstream PR #: 87823

Signed-off-by: Sachin D Kulkarni <Sachin.Kulkarni@nordicsemi.no>
Added binding and node for audio clock on nRF54L20
with fixed frequency of 24 MHz.

Upstream PR #: 87105

Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
…s on nRF54

Added support for audio clock for nRF54L20 and AudioPLL
for nRF54H20 in DMIC PDM driver.

Upstream PR #: 87105

Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
Add option to use direct ISR.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Added support for Direct ISRs in the multithreaded enviroment

Signed-off-by: Rafal Dyla <rafal.dyla@nordicsemi.no>
For test only. Remove it later

Signed-off-by: Rafal Dyla <rafal.dyla@nordicsemi.no>
Copy link

Quality Gate Failed Quality Gate failed

Failed conditions
6 Security Hotspots
8.7% Duplication on New Code (required ≤ 3%)
E Reliability Rating on New Code (required ≥ A)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.