Commit graph

126,787 commits

Author SHA1 Message Date
Declan Snyder
d67e705d0b spi_nxp_lpspi: Fix DMA Async API
Fix the ASYNC DMA API on the lpspi driver and actually make the entire
driver go through that path. Rather than having an orthogonal
internally synchronous path we can just have both APIs go through the
same asynchronous path and just use wait_for_completion from spi context
to implement either sync or async.

Also make DMA driver default y if dependency (an lpspi having dmas
property) is met.

And lpspi_wait_tx_fifo_empty can be shared between drivers.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-03-14 17:53:24 +01:00
Leon Rinkel
b5cd22ea16 boards: adafruit: add initial support esp32s3 feather tft
The Adafruit Feather ESP32S3 is a development board in the Feather
standard layout, sharing peripheral placement with other devices labeled
as Feathers or FeatherWings. The board is equipped with an ESP32-S3 mini
module, a lithium ion battery charger and a USB-C connector. Compared to
the base model, this TFT variant additionally comes with a 240x135 pixel
IPS TFT color display.

Signed-off-by: Leon Rinkel <leon@rinkel.me>
2025-03-14 17:53:13 +01:00
Leon Rinkel
3caa0b9ed5 boards: adafruit: add initial support for esp32s3 feather
The Adafruit Feather ESP32S3 is a development board in the Feather
standard layout, sharing peripheral placement with other devices labeled
as Feathers or FeatherWings. The board is equipped with an ESP32-S3 mini
module, a lithium ion battery charger and a USB-C connector.

Signed-off-by: Leon Rinkel <leon@rinkel.me>
2025-03-14 17:53:13 +01:00
Krzysztof Chruściński
bec4a84749 tests: drivers: counter: basic_api: Add nrf54l15dk_nrf54l15_cpuflpr
Add overlay for nrf54l15dk_nrf54l15_cpuflpr target.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-03-14 14:52:12 +01:00
Tomi Fontanilles
b920686812 tests: secure_storage: enable entropy driver if available
On top of enabling and allowing test entropy sources, enable
CONFIG_ENTROPY_GENERATOR so that a real driver and entropy source gets
used if available.
This is needed for some PSA Crypto implementations that have random number
generation conditionally compiled in.

Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
2025-03-14 14:51:58 +01:00
Tomi Fontanilles
f50c3d9d26 tests: secure_storage: its: increase stack sizes
Some implementations require more stack than others.
Increase the Ztest and main stack sizes to accommodate them.

Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
2025-03-14 14:51:58 +01:00
Tomi Fontanilles
8627250d3c modules: mbedtls: add promptless CONFIG_MBEDTLS_PSA_CRYPTO_STORAGE_C
Add a Kconfig option to match the Mbed TLS define
instead of defining it based on CONFIG_SECURE_STORAGE.

This gives more flexibility regarding the potential re-definition of the
CONFIG_MBEDTLS_PSA_CRYPTO_STORAGE_C Kconfig option.

Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
2025-03-14 14:51:58 +01:00
Tomi Fontanilles
eb1ed1205f secure_storage: use hybrid key store in samples/tests
Use dynamic allocation for key material for
better compatibility as a fully static key store is a new
feature that not all PSA Crypto implementations support.

Explicitly enable CONFIG_MBEDTLS_ENABLE_HEAP to ensure that Mbed TLS uses
heap for the PSA keys' data (instead of failing at runtime).
This will turn off CONFIG_MBEDTLS_PSA_STATIC_KEY_SLOTS, making the
implementation default to dynamic key slots.

Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
2025-03-14 14:51:58 +01:00
Tomi Fontanilles
25ad578694 secure_storage: enable CONFIG_ENTROPY_GENERATOR in samples/tests
Explicitly enable CONFIG_ENTROPY_GENERATOR instead of relying on the
build system's defaults.

This:
- Makes sure the filtering works properly between entropy_driver and
entropy_not_secure test scenarios for the samples.
- Helps with TF-M builds in certain scenarios where key generation (via
`psa_generate_key()`) would fail due to the RNG functionality being
disabled.

Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
2025-03-14 14:51:58 +01:00
Tomi Fontanilles
744e9f70f4 tests: secure_storage: psa: crypto: improve compatibility
The psa_key_attributes_t type is implementation-defined according to
the PSA Crypto spec.
Compare its fields individually instead of doing a memcmp() over the
entire struct.

Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
2025-03-14 14:51:58 +01:00
Tomi Fontanilles
62fe34dd02 secure_storage: improve tests' compatibility in TF-M-enabled 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>
2025-03-14 14:51:58 +01:00
Sayooj K Karun
775712dc41 include: zephyr: net: Add NULL checks for phy API calls
Add missing NULL checks to the APIs in phy.h

Signed-off-by: Sayooj K Karun <sayooj@aerlync.com>
2025-03-14 14:41:57 +01:00
Marc Lasch
8aed2a1bab net: lwm2m: Prevent client restart on bootstrap finish retransmission
Ignore bootstrap 'transition done' state transition
(ENGINE_BOOTSTRAP_TRANS_DONE) from an invalid state. The client must be
in state ENGINE_BOOTSTRAP_REG_DONE to process a bootstrap finish command
received from the server.

The LwM2M client does not implement CoAP deduplication (rfc 7252,
section 4.5) and retransmissions of the bootstrap finish command `/bs`
would restart the registration client with undesired side effects.

Signed-off-by: Marc Lasch <marc.lasch@husqvarnagroup.com>
2025-03-14 14:41:15 +01:00
Triveni Danda
e7a65ac9b4 shell: Set default max argc count when WiFi shell is enabled
Set the default maximum argument count for the shell to 30
when the Wi-Fi shell is enabled, to ensure all Wi-Fi
commands work without failure.

Signed-off-by: Triveni Danda <triveni.danda@nordicsemi.no>
2025-03-14 14:40:57 +01:00
Fabio Baltieri
0bf3c9bc93 github: Update security page for v4.1.0 release
Updates the GitHub security page with the current supported versions
after the v4.1.0 release.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2025-03-14 14:40:44 +01:00
Pavel Vasilyev
886fabaf87 bluetooth: host: ecc: Change log level debug
This commit changes log level for already registered callback from
warning to debug as this is cause unnecessary noise and doesn't indicate
actual issue. Caller gets a certain error code for this case which can
be handled properly.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2025-03-14 14:40:34 +01:00
Dominik Lau
b4c0ec5bd4 drivers: serial: ns16550: allow clock_control_on returning ENOSYS
Fixes a regression caused by: 88830a3b
The ns16550 driver should handle possibility of
clock_control_on being a stub (i.e. returning ENOSYS)

Signed-off-by: Dominik Lau <dlau@antmicro.com>
2025-03-14 14:40:24 +01:00
Filip Kokosinski
5dbf61aeb8 include/zephyr/drivers/clock_control: return -ENOSYS for empty on/off
There are in-tree clock controllers that don't implement the `on`/`off`
calls, e.g. in Intel Agilex. Let's return `-ENOSYS` when that's the case.

Signed-off-by: Filip Kokosinski <fkokosinski@antmicro.com>
2025-03-14 14:40:24 +01:00
Andreas Klinger
8286db1ae7 samples: sensor: veml6031: add attribution test application
- Test all attribute combinations of Vishay sensor VEML6031 which is an
  ambient light sensor.
- Print out saturation case of sensor.
- Idea is to be able to find a good combination of attributes for an
  optimal working area.

Signed-off-by: Andreas Klinger <ak@it-klinger.de>
2025-03-14 14:40:12 +01:00
Andreas Klinger
72b2f01298 drivers: sensor: add vishay veml6031 ambient light sensor
- add driver for Vishay VEML6031 High Accuracy Ambient Light Sensor.
- add new compatible "vishay,veml6031".
- read and write consecutive 8 bit registers as bulk operation.
- add driver to build all test of sensors.
- support fetch and get.
- triggered mode and interrupt is not yet supported.

Signed-off-by: Andreas Klinger <ak@it-klinger.de>
2025-03-14 14:40:12 +01:00
Sven Ginka
74237cf956 board: sensry: add i2c pinctrl
add i2c default pinctrl to all i2c ports.

Signed-off-by: Sven Ginka <s.ginka@sensry.de>
2025-03-14 14:39:55 +01:00
Sven Ginka
1a8a4fa3fc dts: sy1xx: add support for i2c
adding i2c nodes to sensry soc sy1xx.

Signed-off-by: Sven Ginka <s.ginka@sensry.de>
2025-03-14 14:39:55 +01:00
Sven Ginka
046fbdecfa drivers: i2c: sy1xx add support for i2c
Add i2c support for the sensry soc sy1xx.

Signed-off-by: Sven Ginka <s.ginka@sensry.de>
2025-03-14 14:39:55 +01:00
James Roy
10a223b6fe doc: releases: Add a display release entry
Add the display_clear function in the display
subsystem to clear the target devices screen
display by resetting it to white.

Signed-off-by: James Roy <rruuaanng@outlook.com>
2025-03-14 14:39:40 +01:00
James Roy
ab4023c4ea drivers: display: Add SDL implementation example
Implement the '.clear' interface in the SDL driver
to allow the upper layers to use the display_clear
function.

Signed-off-by: James Roy <rruuaanng@outlook.com>
2025-03-14 14:39:40 +01:00
James Roy
1a55ecfbe6 drivers: display: Add display_clear function
Add a display_clear function to the display subsystem
to clear the target devices screen display. Introduce
a clear interface at the driver layer to implement
the display_clear function.

Signed-off-by: James Roy <rruuaanng@outlook.com>
2025-03-14 14:39:40 +01:00
Camille BAUD
2e18b0cc6d boards: Introduce WCH linkW
Introduce WCH linkW board based on CH32V208

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-03-14 14:39:30 +01:00
Camille BAUD
f67b321607 soc: Introduce Qingke V4C-based CH32V208 SoC
This introduces the only CH32 Serie Qingke V4C SoC, CH32V208

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-03-14 14:39:30 +01:00
Camille BAUD
55a3e606bb drivers: timer: Enable CH32V00x timer driver for CH32V20x/30x
This enables CH32V20x/30x to use the driver

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-03-14 14:39:30 +01:00
Camille BAUD
7955757450 drivers: gpio: Introduce CH32V20x/30x GPIOs support to CH32V0x driver
This introduces support for CH32V20x/30x GPIOs

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-03-14 14:39:30 +01:00
Camille BAUD
a2a89f1fb9 drivers: clock_control: Introduce CH32V20x/30x clock control
This introduces support for CH32V20x/30x Clock schemes and
improves WCH Clock control driver

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-03-14 14:39:30 +01:00
Camille BAUD
d549af466a drivers: pinctrl: Introduce WCH CH32V20x/30x pinctrl Driver
This introduces the picntrl driver and partial bindings for
WCH CH32 V20x and V30x series

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-03-14 14:39:30 +01:00
Sebastian Głąb
2e23dfd401 tests: drivers: audio: dmic_api: Enable test execution on nrf54l15
Enable execution of dmic_api test on nrf54l15:
- add 'dmic' to the list of supported peripherals;
- add overlay for nrf54l15;
- align Nordic's implementation of PDM driver to pass the test.

Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
2025-03-14 09:24:16 +01:00
Verena Schweinstetter
a1c3131949 tests: drivers: Add test case for allegro a4979
Adding a test case for stepper driver implementation of
allegro a4979 microstepping programmable stepper motor driver.

Signed-off-by: Verena Schweinstetter <verena.schweinstetter@zeiss.com>
2025-03-14 09:23:57 +01:00
Verena Schweinstetter
5c2b7bcbf7 drivers: stepper: Add stepper driver for allegro a4979
Adding a stepper driver implementation for allegro a4979
microstepping programmable stepper motor driver.
The implemenation was tested using the drv8424/api testsuite.

Signed-off-by: Verena Schweinstetter <verena.schweinstetter@zeiss.com>
2025-03-14 09:23:57 +01:00
Quang Le
b7f99ffbdd drivers: gpio: Add support for RZ/N2L
Add GPIO driver for RZ/N2L

Signed-off-by: Quang Le <quang.le.eb@bp.renesas.com>
Signed-off-by: Nhut Nguyen <nhut.nguyen.kc@renesas.com>
2025-03-14 09:23:50 +01:00
Quang Le
020a0d312c drivers: interrupt controller: Add support for RZ/N2L
Add interrupt controller driver support for RZ/N2L

Signed-off-by: Quang Le <quang.le.eb@bp.renesas.com>
Signed-off-by: Nhut Nguyen <nhut.nguyen.kc@renesas.com>
2025-03-14 09:23:50 +01:00
Hoang Nguyen
6a00473fa6 drivers: serial: Add support for RZ/N2L
Add serial driver support for RZ/N2L

Signed-off-by: Hoang Nguyen <hoang.nguyen.jx@bp.renesas.com>
Signed-off-by: Nhut Nguyen <nhut.nguyen.kc@renesas.com>
2025-03-14 09:23:50 +01:00
Hoang Nguyen
da0c8e5842 drivers: pinctrl: Add support for RZ/N2L
This is the initial commit to support pinctrl driver for Renesas RZ/N2L

Signed-off-by: Hoang Nguyen <hoang.nguyen.jx@bp.renesas.com>
Signed-off-by: Nhut Nguyen <nhut.nguyen.kc@renesas.com>
2025-03-14 09:23:50 +01:00
Nhut Nguyen
954e80a832 boards: renesas: Add minimal support for board RSK+ for RZ/N2L
Add minimal support for board RSK+ for RZ/N2L

Signed-off-by: Nhut Nguyen <nhut.nguyen.kc@renesas.com>
Signed-off-by: Hoang Nguyen <hoang.nguyen.jx@bp.renesas.com>
2025-03-14 09:23:50 +01:00
Hoang Nguyen
fc9d39a06a soc: renesas: Add support for Renesas RZ/N2L
Add support for Renesas RZ/N2L

Signed-off-by: Hoang Nguyen <hoang.nguyen.jx@bp.renesas.com>
Signed-off-by: Nhut Nguyen <nhut.nguyen.kc@renesas.com>
2025-03-14 09:23:50 +01:00
Binh Nguyen
fa82af2456 MAINTAINERS: Update maintainer role for RZ Platform
Add @binhnguyen2434 as maintainer for Renesas RZ platform.

Signed-off-by: Binh Nguyen <binh.nguyen.xw@renesas.com>
2025-03-14 09:19:46 +01:00
Jun Lin
a4ea1a1ac8 drivers: i2c: npcx: enhance the transfer efficiency
The i2c_transfer() API allows multiple msgs objects to be carried in a
transaction. After handling the current msgs object in the interrupt
context, the driver notifies the calling thread to buffer the next
msgs object and generate the Re-Start if required.
However, if the calling thread is preempted by higher priority threads,
the I2C transaction time may become non-deterministic (depending on the
execution time of higher-priority threads). This commits modifies the
driver to handle msgs objects entirely in the interrupt context to
improve the I2C transfer efficiency..

Signed-off-by: Jun Lin <CHLin56@nuvoton.com>
2025-03-14 09:17:13 +01:00
IBEN EL HADJ MESSAOUD Marwa
18277b48f1 drivers: ethernet: Add API_V2 auto-negotiation support
- Added definitions for LAN8742 PHY registers and bit masks
  to support auto-negotiation.
- The function `eth_init_api_v2` requires the Ethernet interface
  to be properly initialized. In auto-negotiation mode,
  it reads the speed and duplex settings to configure
  the driver accordingly.
- Implemented functions to get link state and configure speed
  and duplex mode based on auto-negotiation results.
- Ensured proper initialization of semaphores and MAC configuration
  for both auto-negotiation enabled and disabled scenarios.

Signed-off-by: IBEN EL HADJ MESSAOUD Marwa <marwa.ibenelhadjmessaoud-ext@st.com>
2025-03-14 09:16:59 +01:00
Tien Nguyen
7e39286441 tests: drivers: dma: Add support for RZ/G3S-SMARC
Enable DMA driver tests for RZ/G3S-SMARC

Signed-off-by: Tien Nguyen <tien.nguyen.zg@renesas.com>
Signed-off-by: Nhut Nguyen <nhut.nguyen.kc@renesas.com>
2025-03-14 09:16:42 +01:00
Tien Nguyen
6847234349 boards: renesas: rzg3s_smarc: Add DMA support
Add DMA support for board RZ/G3S-SMARC

Signed-off-by: Tien Nguyen <tien.nguyen.zg@renesas.com>
Signed-off-by: Nhut Nguyen <nhut.nguyen.kc@renesas.com>
2025-03-14 09:16:42 +01:00
Tien Nguyen
3d76a26b60 dts: Add DMA nodes to Renesas RZ/G3S devicetree
Add DMA nodes to Renesas RZ/G3S devicetree

Signed-off-by: Tien Nguyen <tien.nguyen.zg@renesas.com>
Signed-off-by: Nhut Nguyen <nhut.nguyen.kc@renesas.com>
2025-03-14 09:16:42 +01:00
Tien Nguyen
342d2d7954 drivers: dma: Initial support for RZ/G3S
Add DMA driver support for Renesas RZ/G3S

Signed-off-by: Tien Nguyen <tien.nguyen.zg@renesas.com>
Signed-off-by: Nhut Nguyen <nhut.nguyen.kc@renesas.com>
2025-03-14 09:16:42 +01:00
Lyle Zhu
218de8dc67 Bluetooth: L2CAP_BR: Code format
Change ```#if defined(CONFIG_BT_L2CAP_DYNAMIC_CHANNEL)
#if defined(CONFIG_BT_L2CAP_LOG_LEVEL_DBG)```
to `#if defined(CONFIG_BT_L2CAP_DYNAMIC_CHANNEL) &&
defined(CONFIG_BT_L2CAP_LOG_LEVEL_DBG)`.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2025-03-14 05:47:48 +01:00
Lyle Zhu
d82844695e Bluetooth: L2CAP_BR: CID of data sending is invalid
There is a corner case that the channel is in disconnecting status,
due to there is a disconnect request sent from peer.
At this time, the channel is status is `BT_L2CAP_CONNECTED`. But it
has been removed from `conn->channels` by calling the function
`l2cap_br_remove_tx_cid`.
And the disconnect event is notified upper layer via the callback
`ops->disconnected`. The thread of the callback context is blocked
due to the the calling of `printk` in the callback function.

Then the pending lower priority thread, sending the data in this
l2cap channel, is activated. Then in the function
`bt_l2cap_br_send_cb`, a NULL pointer will be got according to the
given CID. And unexpected behavior happens when accessing a NULL
pointer, since the invalid channel pointer is not checked in
function `bt_l2cap_br_send_cb`.

Check the channel pointer after function `bt_l2cap_br_lookup_tx_cid`
called. If the channel pointer is invalid, return error code
`-ESHUTDOWN` directly.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2025-03-14 05:47:36 +01:00