Commit graph

114117 commits

Author SHA1 Message Date
Martin Hoff
eac798fc51 soc: adi: remove unused symbol sram_vector_table
The symbol SRAM_VECTOR_TABLE is not used in the adi/max32 soc. Removed
it in order to clean up the Kconfig file and avoid confusion with the
upcoming new definition of SRAM_VECTOR_TABLE symbol. (PR #87468)

Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
2025-04-25 11:05:17 +02:00
Andrej Butok
9126b1240d tests: littlefs: add 18 tested NXP boards to testcase.yaml
Adds 18 tested NXP boards to the littlefs testcase.yaml

Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
2025-04-25 11:04:51 +02:00
Henrik Lindblom
1a3fb4adfc drivers: stm32: use cache peripheral driver
Use cache API for disabling and enabling ICACHE. The driver handles waiting
for ongoing cache invalidation.

Signed-off-by: Henrik Lindblom <henrik.lindblom@vaisala.com>
2025-04-25 11:04:37 +02:00
Henrik Lindblom
9de3d6bf64 soc: stm32: use cache peripheral driver
Use the Zephyr cache API in soc initialization code instead of calling the
HAL directly. The change does not modify the pre-existing cache settings,
just changes the path they are enabled.

Signed-off-by: Henrik Lindblom <henrik.lindblom@vaisala.com>
2025-04-25 11:04:37 +02:00
Henrik Lindblom
6a3309a9e4 cache: stm32: add cortex-m33 peripheral driver
STM32 Cortex-M33, such as the L5/H5/U5 series, have a cache peripheral for
instruction and data caches, which are not present in the C-M33
architecture spec.

The driver defaults to direct mapped cache as it uses less power than the
alternative set associative mapping [1]. This has also been the default in
stm32 soc initialization code for chips that have the ICACHE peripheral,
which makes it the safest choice for backward compatibility. The exception
to the rule is STM32L5, which has the n-way cache mode selected in SOC
code.

[1]: https://en.wikipedia.org/wiki/Cache_placement_policies

Signed-off-by: Henrik Lindblom <henrik.lindblom@vaisala.com>
2025-04-25 11:04:37 +02:00
John Barbero Unenge
1d3018ad76 driver: mdio: mdio_nxp_enet: Implement c45 read/write
This change refactors the mdio_read / mdio_write functions into an
mdio_wransfer, and utilizes it to implement
mdio_{read,write,read_c45,write_c45}.

Heavily inspired by the implementation in drivers/mdio/mdio_sam.c

Signed-off-by: John Barbero Unenge <git@lsrkttn.com>
2025-04-25 11:04:30 +02:00
Younghyun Park
db168539cf drivers: spi: dw: read ssi component version
Read the Synopsys SSI component version to extend supported capability
based on the version.

Signed-off-by: Younghyun Park <younghyunpark@google.com>
2025-04-25 11:04:19 +02:00
Younghyun Park
0ee0a8de37 drivers: spi: dw: fix txftlr in HSSI controller
The TXFTLR register has 2 major fields which are TFT for triggering
interrupt threshold and TXFTLR for starting transfer threshold. This is
to ensure that sufficient data is ready for starting transfer.

Signed-off-by: Younghyun Park <younghyunpark@google.com>
2025-04-25 11:04:19 +02:00
Younghyun Park
71d37039db drivers: spi: dw: fix dfs offset in HSSI controller
The DFS(Data Frame Size) is at CTRLR0[4:0] in HSSI controller.

Signed-off-by: Younghyun Park <younghyunpark@google.com>
2025-04-25 11:04:19 +02:00
Derek Snell
dd825203b5 boards: nxp: add mcx_n9xx_evk
Another board for the MCXN947 SOC, very similar to FRDM-MCXN947

Signed-off-by: Derek Snell <derek.snell@nxp.com>
2025-04-25 11:04:08 +02:00
Martin Hoff
64d20cf412 tests: vector_table_relocation: add test for vector table relocation
Add a basic test for vector table relocation to SRAM. This test
verifies that the vector table can be relocated to SRAM and that
the VTOR register correctly points to the SRAM address range.

Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
2025-04-25 11:03:54 +02:00
Martin Hoff
136fe24453 arch: arm: cortex_m: generalizing SRAM vector table relocation
Allow to place the vector table section in SRAM with
CONFIG_SRAM_VECTOR_TABLE option for all cortex-m architecture that
have VTOR register.

Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
2025-04-25 11:03:54 +02:00
Martin Hoff
a085cfcd99 arch: add dependencie for CONFIG_SRAM_VECTOR_TABLE
Move SRAM_VECTOR_TABLE symbol from general Kconfig to Arch Kconfig
because it depends on the architecture possibility to relocate the
vector table.

Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
2025-04-25 11:03:54 +02:00
Daniel Baluta
c9f149cf6f drivers: intc: irqstr: Fix uninitialized variable error
Move initialization of 'enabled' variable together with declaration.
This fixes the following compiler error:
error: 'enabled' may be used uninitialized [-Werror=maybe-uninitialized]

This is not really an error but the compiler is tricked by the
K_SPINLOCK() macro.

Fixes: https://github.com/zephyrproject-rtos/zephyr/issues/88996
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
2025-04-24 22:58:59 +02:00
Jordan Yates
1c2fc02cf2 net: ip: net_if: consistent interface id logging
Update logging to consistently refer to interfaces by their ID, instead
of a mix of IDs and pointers.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-04-24 22:58:51 +02:00
Jordan Yates
3772c719e0 net: l2: ethernet: ethernet_ll_prepare_on_ipv4 handling
Shift the error handling for `ethernet_ll_prepare_on_ipv4` out into
`ethernet_send`, since that is the function that needs to handle the
various result types of the ARP process.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-04-24 22:58:51 +02:00
Jordan Yates
029f542bb4 net: l2: ethernet: arp: unref pkt if queue add fails
Make it clearer that the `net_buf_ref` is for `k_queue_unique_append`,
and reverse the reference if the queue add fails.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-04-24 22:58:51 +02:00
Jordan Yates
3546020178 tests: net: arp: test the packet queuing case
Test the case where the packet provided to `net_arp_prepare` is queued
for later transmission, instead of being replaced with an ARP query
or having ARP information populated.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-04-24 22:58:51 +02:00
Jordan Yates
d283130b68 net: l2: ethernet: arp: explicit error codes
Update `net_arp_prepare` to return a return code instead of a pointer,
so that the various results of the function can be differentiated.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-04-24 22:58:51 +02:00
Jordan Yates
4e0386a445 net: ip: net_if: warning message on send failure
Print a warning if sending a packet on the L2 interface fails. Currently
this is completely silent unless `NET_DBG` is enabled and the `context`
parameter is provided.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-04-24 22:58:51 +02:00
Chris Friedt
e71c12c68f posix: refactor timespec_to_timeoutms() to use tp_diff()
Use the tp_diff() macro as a means of converting an absolute timeout
with respect to a specific clock to a relative timeout, in ms.

Clamp the result between 0 and UINT32_MAX.

Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
2025-04-24 22:58:43 +02:00
Chris Friedt
89c1f15a6e posix: move timespec functions to posix_clock.h
Move somewhat useful (but private and internal functions) that deal
with struct timespec to posix_clock.h until there is a better API
available for dealing with operations on struct timespec.

Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
2025-04-24 22:58:43 +02:00
Chris Friedt
d40be58093 posix: doc: hide internal posix_clock.h functions from doxygen
Prevent doxygen from parsing internal functions declared in
posix_clock.h .

Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
2025-04-24 22:58:43 +02:00
Chris Friedt
615ae7e1b5 posix: always require clockid_t argument to timespec_to_timeoutms()
Always require the clockid_t argument to timespec_to_timeoutms() and
remove the unused variant that accepts no clockid_t parameter.

Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
2025-04-24 22:58:43 +02:00
Chris Friedt
a10f96e153 posix + tests: use CLOCK_REALTIME where specified by POSIX
Use CLOCK_REALTIME for the default clock source throughout
the POSIX implementation and tests so that we are
consistent with the specification.

Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
2025-04-24 22:58:43 +02:00
Chris Friedt
e75f285bd1 posix: add timespec_is_valid() private internal function
Add a common private function timespec_is_valid() that
can be used to check if a timespec object is valid, and
use that consistently in lib/posix/options.

Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
2025-04-24 22:58:43 +02:00
Chris Friedt
bb9ec32cf6 posix: cond: use clock specified via pthread_condattr_t
Use the clock specified via pthread_condattr_t in
pthread_cond_timedwait().

Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
2025-04-24 22:58:43 +02:00
Chris Friedt
8b60aa75fa posix: cond: check whether condattr is initialized in attr fns
Check whenther a pthread_condattr_t has been initialized in
pthread_condattr_*() functions.

Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
2025-04-24 22:58:43 +02:00
Chris Friedt
ce7ae220a2 posix: cond: use struct posix_cond and struct posix_condattr internally
Use struct posix_cond and struct posix_condattr internally.

Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
2025-04-24 22:58:43 +02:00
Chris Friedt
f208e3b02a posix: posix_internal: add definitions for posix_condattr, posix_cond
Add definitions for struct posix_condattr and struct posix_cond, which
are internal variants of the external pthread_condattr_t and
pthread_cond_t types.

Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
2025-04-24 22:58:43 +02:00
Chris Friedt
241469af9a posix: provide timespec_to_clock_timeoutms
Provide a private internal function timespec_to_clock_timeoutms() to
complement timespec_to_timeoutms(). This new variant accepts a clock_t
parameter that allows the caller to specify which clock to use.

The original timespec_to_timeoutms() then just becomes a static inline
wrapper around the original.

Note: timespec_to_clock_timeoutms() and timespec_to_timeoutms() might
have a limited lifespan, since it might make sense to create a
common timespec manipulation library.

Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
2025-04-24 22:58:43 +02:00
Chris Friedt
fffbd76683 posix: declare timespec_to_timeoutms() in posix_clock.h
Provide a single declaration of timespec_to_timeoutms() (which is
a private function), in the private header file posix_clock.h .

Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
2025-04-24 22:58:43 +02:00
Chris Friedt
3d146aed05 tests: posix: pthread: correct cases for pthread_timedjoin_np()
pthread_timedjoin_np() is allowed to take a negative tv_sec
parameter, since that is still a valid timespec.

Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
2025-04-24 22:58:43 +02:00
Kapil Bhatt
951a321c89 drivers: nrf_wifi: Add locally generated info
Add locally generated info for deauth process. If deauthentication
frame is coming from AP it will be set, in other cases
(Beacon loss, New connection from user in connected state,
disconnection from user) flag will not be set.

Signed-off-by: Kapil Bhatt <kapil.bhatt@nordicsemi.no>
2025-04-24 22:58:33 +02:00
Seppo Takalo
78ee0f0c23 net: lwm2m: Do not enforce canonical CBOR decoding
Our decoder can handle decoding of non-deterministic CBOR just fine.
There is no need to block valid CBOR if the server does not produce
length-first deterministic CBOR.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2025-04-24 22:58:24 +02:00
Jilay Pandya
92d914e465 drivers: stepper: fix trinamic controller names
dropping adi prefix & stepper_controller suffix from trinamic drivers.

Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
2025-04-24 20:29:07 +02:00
Sebastian Bøe
fff2fef27c west: runners: nrf_common: Temp hack for NRF54H20_IRON
Temp hack while waiting for NRF54H20_IRON support for Network in
nrfutil.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2025-04-24 20:28:51 +02:00
Jukka Rissanen
f3cd029cce drivers: eth: e1000: Add Ethernet statistics support
Support e1000 driver Ethernet statistics if relevant config
options are enabled.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2025-04-24 20:27:58 +02:00
Jukka Rissanen
0e5df7a67b net: vlan: Avoid printf modifier issue with size_t variable
Change the printf modifier to %zd for size_t variable printout
to avoid compiler warning.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2025-04-24 20:27:58 +02:00
Ryan McClelland
59c9e84ab6 doc: releases: add pcie note for kconfig CONFIG_NVME_PRP_PAGE_SIZE
Add a pcie note for the new kconfig CONFIG_NVME_PRP_PAGE_SIZE

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2025-04-24 20:27:50 +02:00
Ryan McClelland
05db1563c5 drivers: disk: nvme: fix warnings
There are warnings generated within NVMe. `prp` is a `void *` which
is 32bits wide on 32bit systems. This adds a cast to first cast it
to a `uintptr_t` and then casts it to a `uint64_t` to supress the
warning.

This also fix an issue where `int n_prp` is defined under a case
statement. This adds the { } around the block underneath it.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2025-04-24 20:27:50 +02:00
Ryan McClelland
2b5c2748f6 drivers: disk: nvme: allow building of nvme without mmu
Some SoCs do not have MMUs. Create a new KConfig that `NVME_PRP_PAGE_SIZE`
that will define the PRP page size, and will default to `MMU_PAGE_SIZE` if
there is a MMU. Otherwise, it defaults to 0x1000.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2025-04-24 20:27:50 +02:00
Shan Pen
46f5e7b722 boards: ruiside: art-pi2: add minimum support
- introduced a new vendor ruiside, updated
`dts/bindings/vendor-prefixes.txt`
- add art-pi2 board basic support

Signed-off-by: Shan Pen <bricle031@gmail.com>
2025-04-24 20:27:42 +02:00
Anders Nielsen
b469fc188b drivers: stepper: adi_tmc: Add progress log for stall guard tuning.
Replace stall guard retry error log on EAGAIN with enable/disable info log.
Log position, sg result and sg status on each rampstat_work_handler() call.
Treat only negative return values from tmc_spi_write_register() and
tmc_spi_read_register() as an error. Only log actual velocity when not 0.
Use helper functions rampstat_work_reschedule() and read_vactual().

Signed-off-by: Anders Nielsen <anders.nielsen@prevas.dk>
2025-04-24 16:55:15 +02:00
Anders Nielsen
4b4dc77340 drivers: stepper: adi_tmc: Use helper functions in tmc50xx.
Use rampstat_work_reschedule() and read_vactual().
Only log actual velocity when not 0.
Update log_stallguard() output.

Signed-off-by: Anders Nielsen <anders.nielsen@prevas.dk>
2025-04-24 16:55:15 +02:00
Hao Luo
b64a56362d dts: power: ambiq: change to use ambiq HAL to do power-on config
Changed to use ambiq HAL to do power-on config, no need to bind
pwrcfg any more

Signed-off-by: Hao Luo <hluo@ambiq.com>
2025-04-24 16:55:08 +02:00
Markus Becker
4e5b524775 samples: drivers: jesd216: Make output correct DTS syntax
This way, the content can directly be copied into DTS and overlay files.

Signed-off-by: Markus Becker <Markus.Becker@tridonic.com>
2025-04-24 16:54:59 +02:00
Jonathan Nilsen
6066c5c004 modules: hal_nordic: bump regtool to 9.1.0
Changes for this package version:

* CTRLSEL is now set appropriately for the SPIS121 pins.
* DPPI.LINK configuration is now skipped when processing
  the 'dppic130' devicetree node.

Signed-off-by: Jonathan Nilsen <jonathan.nilsen@nordicsemi.no>
2025-04-24 16:54:37 +02:00
Chaitanya Tata
4660f4c244 modules: nrf_wifi: Disable anomalies for both QSPIs
These are applicable for Wi-Fi over QSPI (nRF7002DK) or Flash over QSPI
(nRF52/53 + nRF7002EK) and as most Wi-Fi samples run on 128MHz (for
performance), disable the anomalies for both.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2025-04-24 16:54:27 +02:00
Chaitanya Tata
49a8dd51e4 nrf_wifi: Move QSPI defines to buslib
These are QSPI related which is part of buslib.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2025-04-24 16:54:27 +02:00