Commit graph

107559 commits

Author SHA1 Message Date
Immo Birnbaum
d789f339ef soc: xlnx: zynq7000: remove PS GPIO controller's static memory mapping
Remove the PS GPIO controller's static MMU region entry from the
mmu_regions table for both the XC7Zxxx and XC7ZxxxS variants of the
Zynq 7000.

The PS GPIO controller's device driver has been switched over to
using a named DEVICE_MMIO mapping.

Signed-off-by: Immo Birnbaum <mail@birnbaum.immo>
2024-12-19 19:56:23 +01:00
Immo Birnbaum
fef27d8231 drivers: gpio: xlnx_ps: switch driver over to DEVICE_MMIO mapping
Set up a named device MMIO memory mapping in the GPIO controller's
parent device, map the virtual memory in the init function of the
parent device.

Once the controller's register space has been successfully mapped,
propagate the mapped virtual address to all child (= GPIO bank)
devices. While it is possible to add a named mapping to every
single GPIO bank device and initialize it in the respective bank
device's init function, this would result in multiple virtual
address mappings all pointing to the same 4k of physical memory.
I assume that, although all those mappings having the same attri-
butes, such a setup is at least discouraged.

Signed-off-by: Immo Birnbaum <mail@birnbaum.immo>
2024-12-19 19:56:23 +01:00
Raffael Rostagno
f98868eb81 tests: uart_elementary: esp32: Add test configs
Add test configuration for ESP32 devices.

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2024-12-19 19:56:06 +01:00
Raffael Rostagno
a7e08cc16b drivers: serial: esp32: Standard baudrate on config_get
Return standard baudrate on a uart_config_get call instead of
rough calculated numbers.

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2024-12-19 19:56:06 +01:00
Raffael Rostagno
31ea95fb52 tests: uart_basic_api: uart_elementary: Get baudrate from device tree
Add option (BAUDRATE_FROM_DTS) to get baudrate value from
device tree, for devices which differ from standard (115200).

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2024-12-19 19:56:06 +01:00
Dominik Ermel
486428951b drivers/flash: Correct flash_erase userspace handler
As the erase callback is optional, handler should not check
if it is not NULL.

Fixes #81777

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2024-12-19 19:55:53 +01:00
Manuel Argüelles
a09a186565 doc: migration-guide-4.1: add note about nxp,kinetis-rtc change
Add note about compatible change for nxp,kinetis-rtc.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2024-12-19 19:55:43 +01:00
Manuel Argüelles
bf7837b8ac dts: bindings: rename nxp,kinetis-rtc compatible
Rename "nxp,kinetis-rtc" compatible to "nxp,rtc" to remove the
device family from its name.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2024-12-19 19:55:43 +01:00
Riadh Ghaddab
e0f0256538 zms: optimize write function by skipping unnecessary reads
when performing a write ZMS checks if the data exists in the storage to
avoid double writing the same data and save some memory cycle life time.
However this downgrades the write performance.
Enable this feature only when CONFIG_ZMS_NO_DOUBLE_WRITE is enabled.

Signed-off-by: Riadh Ghaddab <rghaddab@baylibre.com>
2024-12-19 19:55:30 +01:00
Håvard Reierstad
4b086612cc Bluetooth: Mesh: Correct DFU metadata shell doc
Specifies that the `CONFIG_BT_MESH_SHELL_DFU_METADATA` must be enabled
to use the `dfu metadata` commands in the mesh shell.

Signed-off-by: Håvard Reierstad <haavard.reierstad@nordicsemi.no>
2024-12-19 19:55:17 +01:00
Håvard Reierstad
06f9281e2b Bluetooth: Mesh: Add documentation for mesh shell blob flash stream
Adds documentation for the mesh shell blob flash stream feature. This
feature allows the user to specify the flash area to write the BLOB to.

Signed-off-by: Håvard Reierstad <haavard.reierstad@nordicsemi.no>
2024-12-19 19:55:17 +01:00
Sreeraj Sudhakaran
cc09f44fcd doc: Correct semtech_sx1276mb1mas shield name
The documentation incorrectly referred to the Semtech shield as
semtech_sx1271mb1mas. It should be semtech_sx1276mb1mas.

Signed-off-by: Sreeraj Sudhakaran <sreerajsudhakaran@gmail.com>
2024-12-19 19:55:04 +01:00
Valerio Setti
3fa522c720 tests/samples: remove ENTROPY_GENERATOR from BT related tests/samples
Since now Mbed TLS automatically selects ENTROPY_GENERATOR (or the
test generator, depending on the platform) we can remove this dependency
from all BT related tests and samples.

Signed-off-by: Valerio Setti <vsetti@baylibre.com>
2024-12-19 17:53:37 +01:00
Valerio Setti
aa64dd32f1 samples|tests: secure-storage: allow all test rng sources
Add MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG_ALLOW_NON_CSPRNG to the list of
test Kconfigs. Typical use case of this:

- the platform has "zephyr,entropy" defined in the devicetree which means
  that CSPRNG_AVAILABLE is set;
- for some reason the board actually does not have any entropy driver
  enabled (ex: ENTROPY_BT_HCI is disabled in nrf5340bsim when BT is _not_
  enabled in the build);
- since TEST_RANDOM_GENERATOR is enabled then also TEST_CSPRNG_GENERATOR
  would be;
- unfortunately the call to psa_generate_random() would fail in
  get_random_data() (in modules/mbedtls/zephyr_entropy.c) because
  MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG_ALLOW_NON_CSPRNG is not set and it would
  not reach "subsys/random/random_test_csprng.c".

This commit fixes this problem.

Signed-off-by: Valerio Setti <vsetti@baylibre.com>
2024-12-19 17:53:37 +01:00
Valerio Setti
46b8536a27 mbedtls: add TEST_CSPRNG_GENERATOR to the list of non-CS sources
Strong entropy/random sources are a must to get secure crypto algorithms,
but sometimes its useful to allow non-CS sources as well for sake of
test purposes. MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG_ALLOW_NON_CSPRNG was
designed exactly for this scope, but recently also TEST_CSPRNG_GENERATOR
was added and it acts similarly:

- MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG_ALLOW_NON_CSPRNG operates in
  "zephyr/modules/mbedtls/zephyr_entropy.c" allowing
  mbedtls_psa_external_get_random() to try both sys_csrand_get() first
  and then sys_rand_get() as fallback.

- TEST_CSPRNG_GENERATOR instead operates in
  "zephyr/subsys/random/random_test_csprng.c" and it basically wraps
  the call to sys_csrand_get() with a call to sys_rand_get().

Albeit they operate at different level, the result is identical, so
Mbed TLS should support both of them when MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG
is set and there is no CSPRNG_ENABLED.

Signed-off-by: Valerio Setti <vsetti@baylibre.com>
2024-12-19 17:53:37 +01:00
Valerio Setti
bc3baf096a boards|soc: remove selection of ENTROPY_GENERATOR
Now that MbedTLS is capable of automatically enabling
CONFIG_ENTROPY_GENERATOR (when available), we can remove forced
enablements in boards|soc deconfig files.

Signed-off-by: Valerio Setti <vsetti@baylibre.com>
2024-12-19 17:53:37 +01:00
Valerio Setti
39068cc70e mbedtls: select ENTROPY_GENERATOR when a driver is available
This is based on the introduction of a helper Kconfig symbol in
"subsys/random/Kconfig" which is named CSPRNG_AVAILABLE. When this is
enabled it means that there is a "zephyr,entropy" property defined in the
device-tree, therefore Mbed TLS can select ENTROPY_GENERATOR to allow
the platform specific driver to be included into the build.

This commit also changes other locations where CSPRNG_ENABLED was used
moving it to CSPRNG_AVAILABLE in order to solve dependency loop
build failures.

Signed-off-by: Valerio Setti <vsetti@baylibre.com>
2024-12-19 17:53:37 +01:00
Andrzej Puzdrowski
2cea407afb drivers/flash/Kconfig.nrf_rram: bufferd write by default
Enable buffered write for nRF54l RRAM flash driver by default.
CONFIG_NRF_RRAM_WRITE_BUFFER_SIZE=1 means that write will be buffered
by 16 B buffer (native RRAM write-bock-size).
This allows optimal life-endurance of RRAM memory.

For reference" DTS declares 16 write-block-size already.

Signed-off-by: Andrzej Puzdrowski <andrzej.puzdrowski@nordicsemi.no>
2024-12-19 17:38:12 +01:00
Balaji Srinivasan
a627ffc11e drivers: ethernet: Fix assert on receiving large PDUs
This patch fixes an assert in net_buf_simple_add() function when the
lan_9250 driver would add previously added data to the net buffer
on receiving large (>128 bytes) packat. This fix was to use the frags
field of the net_buf structure instead.

Tested with a nRF54L15 DK and eth3 click board (with nordic connect sdk
2.8.0 and this patch).

Signed-off-by: Balaji Srinivasan <balaji.srinivasan@autostoresystem.com>
2024-12-19 17:38:03 +01:00
Robert Lubos
982402a99d posix: Move POSIX configs out of experimental
Many out of the POSIX subsystem configs are enabled automatically
when merely CONFIG_POSIX_API is enabled, which is a prerequisite for
many networking samples. This causes a massive experimental warning
printout when building with warnings enabled.

Since the new POSIX Kconfig configuration options are already present
in Zephyr for 2 release cycles and seem settled, I suggest we move
them out of experimental phase.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2024-12-19 17:37:40 +01:00
Xavier Razavet
1ac3470efb drivers: Narrow Band Unit interruption driver creation
Creation of the new zephyr\soc\nxp\common\nxp_nbu.c driver which manage
the interruption of the NBU. This modification is mandatory to support a
coex application which includes Bluetooth and 802.15.4 on the same
narrow band path.

Signed-off-by: Xavier Razavet <xavier.razavet@nxp.com>
2024-12-19 17:37:24 +01:00
Samuel Coleman
5a93b27aa9 soc: st: stm32: common: fix wakeup off-by-one.
Wakeup pin indices are 1-based, but `LISTIFY` is 0-based. Consequently, the
last element of the pin-to-register-bit lookup table was never populated.

Signed-off-by: Samuel Coleman <samuel.coleman@rbr-global.com>
2024-12-19 17:37:11 +01:00
Jonathan Nilsen
18250bd312 boards: nordic: remove custom JLink reset scheme
Secure domain firmware v9.0.0 and onward no longer supports the
non-essential domain reset procedure which was used in the custom
JLink reset scheme for
nrf54h20dk/nrf54h20/cpuapp, nrf54h20dk/nrf54h20/cpurad,
nrf9280pdk/nrf9280/cpuapp and nrf9280pdk/nrf9280/cpurad.
All resets done through the ADAC interface now do a global reset
instead, which as of now "kills" the JLink session.

Remove the custom reset behavior as it will not work anymore moving
forward. This means that "monitor reset" in GDB can no longer be used
to debug the application from the start of execution. Using current
tooling, it is possible to debug from the start of execution by first
resetting the cores into a halted state, starting cores other than the
one you are debugging and then attaching GDB. For example:

> nrfutil device reset --reset-kind RESET_VIA_SECDOM
> nrfutil device go --core Network
> west attach

Signed-off-by: Jonathan Nilsen <jonathan.nilsen@nordicsemi.no>
2024-12-19 17:36:59 +01:00
Benjamin Cabé
d8f12d3d8c drivers: ssp: fix unused variable warning
fixes unused variable warning by ensuring it's declared only for
SSP_IP_VER > SSP_IP_VER_1_5

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-12-19 17:36:50 +01:00
Jan Behrens
75463fe950 drivers: stepper: test: Added drv8424 to stepper_api and build_all tests
Adds the drv8424 stepper driver to the build_all/stepper test and the
stepper_api test. The later test is also modified to ensure compatibility.

Signed-off-by: Jan Behrens <jan.behrens@navimatix.de>
2024-12-19 15:21:44 +01:00
Jan Behrens
4bd2ab7e1d drivers: stepper: test: Added drv8424 driver tests
Adds 2 test suites for the drv8424 stepper driver, testing API conformity
and return values in the first suite and gpio pin values in the second
suite

Signed-off-by: Jan Behrens <jan.behrens@navimatix.de>
2024-12-19 15:21:44 +01:00
Sarah Renkhoff
79d62944b1 drivers: stepper: Add driver for DRV8424 stepper motor controller
Adds a step/dir stepper driver for the drv8424 stepper driver.

Signed-off-by: Sarah Renkhoff <sarah.renkhoff@navimatix.de>
2024-12-19 15:21:44 +01:00
Pieter De Gendt
b65a97ef0c modules: nanopb: Move pip dependencies to optional module
The west packages extension can be used to install module dependencies.

Upstream nanopb has added the pip package dependencies to the
zephyr/module.yml file. Remove in-tree pip package dependencies.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-12-19 15:20:11 +01:00
Pieter De Gendt
05b89ffafb tests: modules: nanopb: Test on Big Endian platform
Add a big endian test platform for validating serialization.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-12-19 15:20:11 +01:00
Sara Touqan
d7034e041c tests: drivers: i2c: Enable i2c2 for nucleo_u083rc board.
This commit enables I2C2 on nucleo_u083rc board
for i2c_target_api test.

Signed-off-by: Mohammad Badawi <zephyr@exalt.ps>
Signed-off-by: Sara Touqan <zephyr@exalt.ps>
2024-12-19 15:19:56 +01:00
Mohammad Badawi
fb5c4c9042 tests: drivers: adc: Enable DMA for nucleo_u083rc board for adc_api
Since DMA is supported by the nucleo_u083rc board, it should be enabled
in the board overlay for the ADC adc_api test, similar to the board
nucleo_h743zi.

Signed-off-by: Mohammad Badawi <zephyr@exalt.ps>
Signed-off-by: Sara Touqan <zephyr@exalt.ps>
2024-12-19 15:19:56 +01:00
Sara Touqan
bc6c07b432 drivers: Add shared IRQ support for STM32U0 series in DMA driver.
This commit Modifies the DMA STM32 Kconfig to enable shared IRQ
support for the STM32U0 series.
This change ensures DMA channels with shared IRQs are properly
configured for stm32u0 devices.

Signed-off-by: Mohammad Badawi <zephyr@exalt.ps>
Signed-off-by: Sara Touqan <zephyr@exalt.ps>
2024-12-19 15:19:56 +01:00
Sara Touqan
41ddd09850 boards: Enable additional modules for STM32 nucleo_u083rc.
This commit enables support for DMA,
SPI, RNG, Crypto, USB and RTC.

Signed-off-by: Mohammad Badawi <zephyr@exalt.ps>
Signed-off-by: Sara Touqan <zephyr@exalt.ps>
2024-12-19 15:19:56 +01:00
Sara Touqan
a0380bc61d dts: Add support for additional modules in STM32U0.
This commit Introduces DTS configurations for DMA,
SPI, RNG, Crypto, USB and RTC modules to enable
support in STM32U0.

Signed-off-by: Mohammad Badawi <zephyr@exalt.ps>
Signed-off-by: Sara Touqan <zephyr@exalt.ps>
2024-12-19 15:19:56 +01:00
Dominik Ermel
44e5f952ac tests/flash: Correct flash size for nrf52840 mx25 hi-perf tests
Correct expected flash size from flash_get_size.

Fixes #82619

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2024-12-19 15:19:32 +01:00
Dominik Ermel
9dad01c6dd tests/flash: Improve flash_get_size output on error
Now expected vs read size will be logged in case of error
to make it easier to understand problem or correct test
settings.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2024-12-19 15:19:32 +01:00
Benjamin Curtis Byers
fa1b93d148 drivers: clock_control: stm32 ll common: fix RCC pll disable
The clock_stm32_ll_common.c function set_up_plls calls
LL_RCC_PLL_Disable();and it was not waiting for the
disable to complete before trying to configure
the pll sysclock which creates a race condition for
pll configuration.The wait for re-enabling the RCC pll
is already there, it was just missing the wait for
the disable before configuration. Also added the wait for PLL2.

Signed-off-by: Benjamin Curtis Byers <ben.byers@ubcobikes.com>
2024-12-19 15:19:13 +01:00
Andrej Butok
183fb04eb6 boards: frdm_mcxw71: Optimize MCU-boot partitions
- Optimizes MCU-boot partitions for frdm_mcxw71.
- Enables support of MCUMgr via UART.

Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
2024-12-19 15:19:01 +01:00
Maciej Baczmanski
fb633641b3 posix: Ignore Wshadow warning for sigaction
Wrap `sigaction()` declaration with `TOOLCHAIN_IGNORE_WSHADOW_BEGIN`
and `TOOLCHAIN_IGNORE_WSHADOW_END` to ignore Wshadow warning
which occurs because `struct sigaction` already exists.

fixes: #83111

Signed-off-by: Maciej Baczmanski <maciej.baczmanski@nordicsemi.no>
2024-12-19 15:18:45 +01:00
Jukka Rissanen
3f4b5a6f3b net: shell: ping: Do not wait in ICMP Echo-Req
Use the net_icmp_send_echo_request_no_wait() when sending
ICMP Echo-Req so that we can avoid the warning message from
system workqueue handler.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-12-19 15:18:33 +01:00
Jukka Rissanen
81c60e7257 net: icmp: Add a way to send ICMP Echo-Req without waiting
Create a net_icmp_send_echo_request_no_wait() variant that will
not wait when allocating net_buf to be sent. This variant will avoid
a warning to be printed when sending Echo-Req from a system workqueue
because the work cannot sleep in this case.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-12-19 15:18:33 +01:00
Pieter De Gendt
a292e89d42 modules: hal_tdk: Introduce kconfig symbol to prevent cmake warning
The CONFIG_ZEPHYR_HAL_TDK_MODULE is always set if the module is on disk,
introduce an implied symbol to prevent a cmake warning if no TDK drivers
are needed.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-12-19 15:18:19 +01:00
Jilay Pandya
cb94a761de drivers: modem: modem_cellular: add missing break statement
add missing break statement to fix coverity issue

Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
2024-12-19 15:18:06 +01:00
Erwan Gouriou
0881420294 MAINTAINERS: Add djiatsaf-st as STM32 collaborator
Add djiatsaf-st  as STM32 collaborator.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2024-12-19 15:17:55 +01:00
Pieter De Gendt
4986126900 doc: releases: migration-guide-4.1: Add device driver model update
Add entry about device driver APIs being placed into iterable sections.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-12-19 12:41:19 +01:00
Kyra Lengfeld
b65f53dd76 Bluetooth: Mesh: enable scanner before enabling proxy gatt
Once proxy gatt is enabled, due to the nature of gatt advertisements
being continuous, the controller will reject starting the scanner after
enabling proxy gatt. As such we should start the scanner first.

Currently the order works as we are using k_work to postpone the proxy
gatt service registration, because services can't be registered between
initializing BT and loading the settings.
Once we start using the new settings priority feature, we are sure to
envoke enabling proxy gatt after loading the settings, so the delayed
enabling can and should be removed.

This preventetive fix has been tested by running relevant bsim tests
after rearranging in which order the settings of the subsystems are
loaded via `h_commit`.

Signed-off-by: Kyra Lengfeld <kyra.lengfeld@nordicsemi.no>
2024-12-19 12:37:54 +01:00
Francois Ramu
2000ae6ac9 drivers: flash: stm32 flash register name for the stm32h7RS serie
Adapt the stm32 flash driver for the stm32h7rs serie where some
bit of the FLASH registers are named differently from stm32h7 serie.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2024-12-19 12:37:44 +01:00
Adrian Bonislawski
b0416f51b6 drivers: ssp: start with xtal clock on ssp ver >= 2.0
This patch will save configured link clock and ensure
ssp starts with xtal clock if ssp ver >= 2.0

Signed-off-by: Adrian Bonislawski <adrian.bonislawski@intel.com>
2024-12-19 12:37:24 +01:00
Przemyslaw Bida
e34f19a8ca net: openthread: Add openthread tcat multiradio config.
As per BHC-750 in TCAT case for now only allowed devices
are the ones that have either dual radio or multiplexed
radio capabilities. So the 'M' bit in BLE advertisement
should be always set to 1. In future specifications
devices without multiradio capabilities will be allowed
this is the reason why new Kconfig was introduced.

Signed-off-by: Przemyslaw Bida <przemyslaw.bida@nordicsemi.no>
2024-12-19 12:36:54 +01:00
Jordan Yates
2cbb8aebce samples: lora: add integration platforms
Add an integration platform to the LoRa samples so that changes to these
applications are checked in the PR CI.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2024-12-19 12:36:43 +01:00