Skip to content

Conversation

@bjarki-andreasen
Copy link
Contributor

No description provided.

krish2718 and others added 30 commits April 3, 2025 12:33
Move the cmake file of OSAL to it's own repo and build as a standalone
library, this is porting friendly.

Signed-off-by: Chaitanya Tata <[email protected]>
(cherry picked from commit f74ff15)
These are duplicates of nRF7o bus library.

Signed-off-by: Chaitanya Tata <[email protected]>
(cherry picked from commit f8b3320)
Add appropriate tags for these to be run in CI.

Signed-off-by: Chaitanya Tata <[email protected]>
(cherry picked from commit 1d5447d)
Update the `nrf_wifi` repository so that git ignores binary blobs
fetched by `west blobs fetch nrf_wifi`.

Signed-off-by: Jordan Yates <[email protected]>
(cherry picked from commit 1b0fe8f)
Pull fix to add NULL checks to avoid crashes.

Signed-off-by: Chaitanya Tata <[email protected]>
(cherry picked from commit 8444e26)
Update the driver to use the updated mode specific
data structure names.

Signed-off-by: Sachin D Kulkarni <[email protected]>
(cherry picked from commit 922d207)
`NRF70_SYSTEM_WITH_RAW_MODES` is more accurately described as an
additional option on top of `NRF70_SYSTEM_MODE`, not as a unique
choice of `NRF70_OPER_MODES`.

This allows the elimination of multiple `NRF70_SYSTEM_MODE ||
NRF70_SYSTEM_WITH_RAW_MODES` dependencies.

Signed-off-by: Jordan Yates <[email protected]>
(cherry picked from commit d95de82)
This symbol now has the same meaning as `NRF70_SYSTEM_MODE`.

Signed-off-by: Jordan Yates <[email protected]>
(cherry picked from commit 2e711aa)
Update the nrf70 Wi-Fi driver to use the mode specific
APIs (as a precursor to enable combining modes as required).

Signed-off-by: Sachin D Kulkarni <[email protected]>
(cherry picked from commit a6dfdb9)
Add test cases for SoftAP and P2P modes.

Signed-off-by: Sachin D Kulkarni <[email protected]>
(cherry picked from commit 522387e)
…ode.

Fix compilation issues for SoftAP mode which were missed in the mode
specific code changes.

Signed-off-by: Sachin D Kulkarni <[email protected]>
(cherry picked from commit 5f69ab7)
Pull in the latest fixes for the SAP and P2P mode builds.

Signed-off-by: Sachin D Kulkarni <[email protected]>
(cherry picked from commit d2e0bb2)
Add wifi_spi label to nRF54h and nRF54l dts files to help
in shield overlay files

Signed-off-by: Bansidhar P.M <[email protected]>
(cherry picked from commit eb93df2)
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 <[email protected]>
(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 <[email protected]>
(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 <[email protected]>
(cherry picked from commit 208e686)
Some file names are changed, fix file names in
doxygen comments.

Signed-off-by: Kapil Bhatt <[email protected]>
(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 <[email protected]>
(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 <[email protected]>
(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 <[email protected]>
(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 <[email protected]>
(cherry picked from commit 3ef187d)
…ents

Fix doxygen comments of arguments.

Signed-off-by: Kapil Bhatt <[email protected]>
(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 <[email protected]>
(cherry picked from commit 0b8601c)
nRF70 now by default uses variale buffers.

Signed-off-by: Chaitanya Tata <[email protected]>
(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 <[email protected]>
(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 <[email protected]>
(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 <[email protected]>
(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 <[email protected]>
(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 <[email protected]>
(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 <[email protected]>
(cherry picked from commit 21b7122)
nordic-krch and others added 20 commits May 5, 2025 09:43
 Add test for CPU load.

Signed-off-by: Krzysztof Chruściński <[email protected]>
(cherry picked from commit 688b561)
Add documentation for CPU load module.

Signed-off-by: Krzysztof Chruściński <[email protected]>
(cherry picked from commit f68a086)
Add sys_trace_idle_exit to RISCV cpu_idle functions and allow
enabling CPU_LOAD module for RISCV and disable it for SMP.

Signed-off-by: Krzysztof Chruściński <[email protected]>
(cherry picked from commit 4026daa)
Allow test execution for riscv since it now supports cpu_load module.

Signed-off-by: Krzysztof Chruściński <[email protected]>
(cherry picked from commit 29bc28a)
Add calls to sys_trace_idle and sys_trace_idle_exit in nrf54h specific
idle states to allow measuring CPU load on nrf54h20 when power
management is enabled.

Signed-off-by: Krzysztof Chruściński <[email protected]>
(cherry picked from commit 37fe750)
…rd variant

The required jlink script was not added due to missing entry in the
board check. Also change the check for app vs rad to be on SOC level.

Signed-off-by: Håkon Amundsen <[email protected]>
(cherry picked from commit 4edc003)
This is needed for next generation Secure Domain firmware.

Upstream PR #: 88908

Signed-off-by: Sebastian Bøe <[email protected]>
Protection circuit must be disabled to use NFCT antenna pins
as GPIOs. It can be done by adding nfct-pins-as-gpios to nfct
node in the devicetree in cpuapp. Node must be disabled as
NFCT is not used. In legacy platforms same property was added
to uicr node because that information was stored in UICR. In
nrf54h20 it is not part of UICR so property is part of nfct
node.

Signed-off-by: Krzysztof Chruściński <[email protected]>
(cherry picked from commit 7249fac)
Port SYS_INIT to use soc_early_init_hook as SYS_INITs are legacy.

Upstream PR #: 88908

Signed-off-by: Sebastian Bøe <[email protected]>
…service

Add an IPC service API for booting local domain cores.

Upstream PR #: 88908

Signed-off-by: Sebastian Bøe <[email protected]>
…nit_hook

Boot the radiocore from the app in soc_late_init_hook.

Upstream PR #: 88908

Signed-off-by: Sebastian Bøe <[email protected]>
…/cpuapp/iron

Add support for nrf54h20dk/nrf54h20/cpuapp/iron to the
samples/sysbuild/hello_world sample.

Upstream PR #: 88908

Signed-off-by: Sebastian Bøe <[email protected]>
… test

nrf54h should be capable of operating
the CAN interface when GPD is enabled.

Signed-off-by: Bartosz Miller <[email protected]>
(cherry picked from commit a1a8d28)
…RF_IRONSIDE

Add a promptless symbol that can be selected by different drivers. It is
there to ensure that the corresponding library is not added to the build
unless it contains at least one source file.

Signed-off-by: Grzegorz Swiderski <[email protected]>
(cherry picked from commit 3353bbc)
Events used in `call.c` should've been defined as static.

Signed-off-by: Grzegorz Swiderski <[email protected]>
(cherry picked from commit 52f8340)
Applied as noup because of conflicts.

Upstream PR #: 89333

Add an IPC service API for triggering updates of the Nordic IRONside SE
firmware using the IRONside call module.

Co-authored-by: Håkon Amundsen <[email protected]>
Signed-off-by: Jonathan Nilsen <[email protected]>
Upstream PR #: 89333

Enable the cpusec_bellboard by default for the cpuapp iron board variant
so that IPC toward the secure domain is available by default. Because
IPC is needed to boot the radio core, this fits the standard use case.

Signed-off-by: Jonathan Nilsen <[email protected]>
…e update service

Upstream PR #: 89333

Add a sample demonstrating how to use the IRONside update service to
update the IRONside SE firmware on the nrf54h20dk/nrf54h20/cpuapp/iron
board.

Co-authored-by: Håkon Amundsen <[email protected]>
Signed-off-by: Jonathan Nilsen <[email protected]>
…o 26

The tx-en-settle-time-us is set to 26 to take into account
the time needed for the RF output power rise time of the nRF5 SoC.

Upstream PR #: 89465

Signed-off-by: Andrzej Kuros <[email protected]>
…XTO during restart

Some SoCs generates unexpected RXTO event during restart.
Restart happens when ENDRX_STARTRX short is enabled and STOPRX
is triggered (via short or by CPU). STOPRX starts closing
procedure and ENDRX event is generated at some point which
triggers STARTRX and closing procedure is interrupted. RXTO
should not be triggered in that case. Due to internal timings
some SoC on fast UARTE instance will trigger RXTO followed
by RXSTARTED. This RXTO event shall be cleared as receiver is
actually restarted and not stopped.

Affected SoC is not in tree so Kconfig is added which enables
the workaround.

Upstream PR #: 88935

Signed-off-by: Krzysztof Chruściński <[email protected]>
Implement PM_DEVICE_RUNTIME for gpio_nrfx.c

PM is required to request/release the GPD domain if such exists
for a given GPIO instance. Without this, every single API call
will result in a requesting the GPD domain, which makes it slow
and unusable from ISRs, given GPD requires IPC. Now, user can
simply get the GPIO before using it, and put it once done,
calling the APIs from ISR while resumed.

Signed-off-by: Bjarki Arge Andreasen <[email protected]>
Introduce spi_context_cs_get() and spi_context_cs_put() which shall
be used from drivers to get/put the GPIO port the CS GPIO belongs to
before and after a transaction, in line with the SPI drivers pm
action hook being called.

Signed-off-by: Bjarki Arge Andreasen <[email protected]>
Implement calling spi_context_cs_get_all() and
spi_context_cs_put_all() in line with pm resume/suspend.

Signed-off-by: Bjarki Arge Andreasen <[email protected]>
Add CS GPIO to nrf54h20dk/nrf54h20/cpuapp which is connected to
PORT which is in the "fast domain". The fast domain needs to be
resumed from thread context given it requires IPC communication.

This thus ensures that GPIO can be used with and without
PM_DEVICE_RUNTIME enabled.

Signed-off-by: Bjarki Arge Andreasen <[email protected]>
@bjarki-andreasen bjarki-andreasen force-pushed the spim-gpio-pm branch 2 times, most recently from 7713ac8 to 049b4bc Compare May 9, 2025 08:56
@sonarqubecloud
Copy link

sonarqubecloud bot commented May 9, 2025

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.