Commit Graph

1768 Commits

Author SHA1 Message Date
Luis Ubieda
f9d9e5bb6d modules: afbr: Add basic functionality
- Add AFBR module as a HAL.
- Platform layer to support running AFBR API using Zephyr.
- Ability to instantiate on device-tree.
- Samples in the module proving foundations works.
- Zephyr Sensor API support, by introducing:
    - Read/Decode for SENSOR_CHAN_DISTANCE (1-D results).
    - Streaming mode for DATA_READY (1-D results).

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-05-28 21:29:13 +02:00
Valerio Setti
9e190f6d92 modules: uoscore-uedhoc: select required PSA Crypto features
Let uOSCORE and uEDHOC Kconfigs select required PSA Crypto features
instead of having them selected in Mbed TLS' Kconfigs. Besides this the
previous configuration was enabling legacy support in Mbed TLS whereas
uOSCORE/uEDHOC use PSA Crypto APIs.

Signed-off-by: Valerio Setti <vsetti@baylibre.com>
2025-05-27 16:45:13 +02:00
Valerio Setti
df3485360a modules: mbedtls: don't enable RSA support for UOSCORE or UEDHOC
uOSCORE and uEDHOC only use ECDSA and ECDH for signatures and key
agreement respectively, so the support for RSA is not required.

Signed-off-by: Valerio Setti <vsetti@baylibre.com>
2025-05-27 16:45:13 +02:00
Andrei Menzopol
415214a99a modules: hal_nxp: update mcux-sdk-ng compoments.cmake
Select driver.spc
Use CONFIG_IEEE802154

Signed-off-by: Andrei Menzopol <andrei.menzopol@nxp.com>
2025-05-27 09:16:04 +02:00
Muzaffar Ahmed
e72b0735b1 drivers: wifi: siwx91x: Add missing 11ax flags
Added flags needed for 11ax and TWT to be enabled

Signed-off-by: Muzaffar Ahmed <muzaffar.ahmed@silabs.com>
2025-05-26 14:17:15 +02:00
Miguel Gazquez
be9549be60 soc: Add support for the WCH CH32V303
Adds support for building an image for the ch32v303.

Signed-off-by: Miguel Gazquez <miguel.gazquez@bootlin.com>
2025-05-24 18:03:53 +02:00
Miguel Gazquez
2b91c467f2 modules: Update hal_wch
Update hal_wch.

As the hal upstream changed name, there is now a name conflict.
Rename ch32fun.h to hal_ch32fun.h to fix this conflict.

Signed-off-by: Miguel Gazquez <miguel.gazquez@bootlin.com>
2025-05-24 18:03:53 +02:00
Sudan Landge
8b13c60ca6 modules: CMSIS_6: update copyright
As noted in PR #89370, the content of these files falls below the
trivial threshold. Therefore, it is not necessary to retain the original
copyright, which was carried over when the files were copied from the
`cmsis` module.

Signed-off-by: Sudan Landge <sudan.landge@arm.com>
2025-05-23 17:40:55 -04:00
Chun-Chieh Li
35cf9ada0e modules: hal_ethos_u: fix failure to override ETHOSU_TARGET_NPU_CONFIG
This fixes failure to override ETHOSU_TARGET_NPU_CONFIG in hal_ethos_u
due to CMP0126 not being NEW. See:
https://cmake.org/cmake/help/latest/policy/CMP0126.html#policy:CMP0126

Signed-off-by: Chun-Chieh Li <ccli8@nuvoton.com>
2025-05-23 09:37:07 +02:00
Piotr Koziar
3c050cfcfd modules: hal_nordic: nrf_802154: emit hfclk_ready with timer on nRF54LM20A
Right now, the power_clock_irq is not available on nRF54LM20A.
Since the onoff mechanism relies on the irq, the timer is used
to emit the hfclk_ready callback.

Signed-off-by: Piotr Koziar <piotr.koziar@nordicsemi.no>
2025-05-22 15:24:51 +02:00
Peter van der Perk
3d024e0953 modules: hal_nxp: Include TPM HAL driver for QDEC
Include TPM hal layer in case CONFIG_QDEC_TPM is enabled

Signed-off-by: Peter van der Perk <peter.vanderperk@nxp.com>
2025-05-22 02:21:39 +02:00
Vit Stanicek
44ae59e589 modules: hal_nxp: Edit lists for mimxrt685s/hifi4
Exclude fsl_power.c from DSP domains, as it doesn't compile on those
because of missing register definitions. Include fsl_dsp.c wherever it
can be included, as it's required for initialisation of DSP domains.

Signed-off-by: Vit Stanicek <vit.stanicek@nxp.com>
2025-05-21 20:11:19 +02:00
Chaitanya Tata
5f6e2a73cb modules: hostap: Fix build
Due to recent POSIX rejig, we need to select an extra config option for
"gettimeofday".

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2025-05-21 12:34:22 +02:00
Krzysztof Chruściński
1ca4b333b4 modules: hal_nordic: nrfx: Decouple clock control from nrfx_clock
Create Kconfig configuration for nrfx_clock driver and use that to export
configuration to nrfx via nrfx_kconfig. So far nrfx_kconfig was using
Kconfig flags from clock_control which created a fixed connection between
nrfx_clock and clock_control and nrfx_clock could not be used without
clock_control in Zephyr.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-05-21 12:33:00 +02:00
Saravanan Sekar
ce2c8f2b99 soc: mspm0: Add a support for TI MSPM0-G series SoC
Add a support for Texas Instruments MSPM0 fmaily and
MSPM0-G series SoC.

Signed-off-by: Saravanan Sekar <saravanan@linumiz.com>
Signed-off-by: Jackson Farley <j-farley@ti.com>
2025-05-21 08:04:32 +02:00
Sadik Ozer
7898a5141c soc: adi: Do not download hal_adi for TF-M build
Set HAL_ADI_PATH to TF-M uses hal_adi that comes with zephyr.

Signed-off-by: Sadik Ozer <sadik.ozer@analog.com>
2025-05-21 08:01:25 +02:00
Sadik Ozer
ccb3588003 boards: Add MAX32657EVKit NS board
This commit enables max32657 NS board support

To build:
- west build -b max32657evkit/max32657/ns -p

Signed-off-by: Sadik Ozer <sadik.ozer@analog.com>
2025-05-21 08:01:25 +02:00
Robin Kastberg
05401b3f44 modules: hal_rpi_pico: set -std=gnu11 in a toolchain independent way.
Set `-std=gnu11` in a more toolchain independent way.

Signed-off-by: Robin Kastberg <robin.kastberg@iar.com>
2025-05-19 16:36:04 +02:00
Hao Luo
2990819454 hal: uart: Add ambiq uart hal support
This commit adds support for ambiq hal uart.

Signed-off-by: Hao Luo <hluo@ambiq.com>
2025-05-19 13:32:44 +02:00
Anas Nashif
2aacbcaab5 style: add missing curly braces in if/while/for statements.
Add missing curly braces in if/while/for statements.

This is a style guideline we have that was not enforced in CI. All
issues fixed here were detected by sonarqube SCA.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-05-17 14:10:33 +02:00
Tiffany Hsieh
9c1ab4f876 modules: mbedtls: fix PSA Kconfig file generation on Windows
When running in a Windows environment, convert the slash direction to
match that used in config.psa and config-psa.h to eliminate the issue.

Signed-off-by: Tiffany Hsieh <thsieh@atmosic.com>
2025-05-16 19:07:10 +02:00
Anas Nashif
5fe84d5b69 arch: nios2: remove arch
Remove architecture and dependencies.
Remove altera HAL supporting nios2

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-05-15 20:01:05 -04:00
Jason Yu
c488c652cd modules: hal_nxp: Unified to use SDK NG driver
Some NXP boards are using legacy SDK driver, such as S32K, K64, MIMX8Q,
and so on. The legacy SDK driver will not be updated, migrate to use
SDK NG driver.

Signed-off-by: Jason Yu <zejiang.yu@nxp.com>
2025-05-15 19:32:19 +02:00
Martin Hoff
742261ddaa drivers: rtc: add silabs siwx91x rtc driver
Add the support of silabs siwx91x basic rtc driver.

Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
2025-05-15 14:09:23 +02:00
Jérôme Pouiller
1d4a0d78e3 drivers: memc: Add support for siwx91x QSPI controller
Silabs siwx91x includes a memory controller for (Quad-)SPI PSRAM. It
allows the application to use the PSRAM as if it was any other RAM.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2025-05-15 09:00:39 +02:00
Quang Le
4f63592f56 drivers: spi: Initial support for RZ/G3S
Add SPI driver support for Renesas RZ/G3S

Signed-off-by: Quang Le <quang.le.eb@bp.renesas.com>
Signed-off-by: Binh Nguyen <binh.nguyen.xw@renesas.com>
2025-05-15 09:00:31 +02:00
Jérôme Pouiller
31646fd06e modules: hal_silabs: Update WiseConnect SDK
Import the new version of the WiseConnect SDK.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2025-05-14 19:36:07 +02:00
Camille BAUD
e4783692e4 modules: hal_wch: add CH32V203 support
Adds CH32V203 support

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-05-14 11:02:52 +01:00
Sudan Landge
f726cb5123 modules: CMSIS_6: Switch to CMSIS_6 for Cortex-M
What is the change?
Switch to module CMSIS_6 for Cortex-M while continuing to use
cmsis module (version 5.9.0) for Cortex-A/R.

Why do we need this change?

The current cmsis module consists of:
- Cortex-M support from upstream cmsis 5.9.0
- Cortex-A/R support which was not upstreamed to CMSIS

Upstream cmsis 5.9 was deprecated so we should be using CMSIS_6 however,
it seems due to lack of Cortex-A/R support in upstream and other reasons,
this was pushed back.

While upstreaming Cortex-A/R support to CMSIS_6 could take its time,
this shouldn't stop Cortex-M to start using CMSIS_6.

Also, if we do not use CMSIS_6 for Cortex-M then using the
newer GCC 14.2 toolchain will return below compiler error:
```
zephyrproject/modules/hal/cmsis/CMSIS/Core/Include/core_cm85.h:4406:10:
fatal error: pac_armv81.h: No such file or directory
 4406 | #include "pac_armv81.h"
```
Using CMSIS_6 for Cortex-M will fix this.

Signed-off-by: Sudan Landge <sudan.landge@arm.com>
2025-05-14 09:11:32 +02:00
Sudan Landge
c4235fa489 modules: CMSIS_6: fix path and use it for TF-M
What is the change?
Fix the path for module CMSIS_6 and use CMSIS_6 module for TF-M.

Why do we need this change?

After Zephyr updated TF-M to v2.1.0,
bb037d4469842c96f5872b271490aceb0734d965 added a local copy of CMSIS_6
to stop Zephyr's TF-M from downloading the CMSIS_6 from upstream.
The correct way would be to have CMSIS_6 as a module in Zephyr (which
we have now) and pass the path of this module to TF-M.
A fork of the upstream CMSIS_6 was added to Zephyr however,
the path in west.yml makes it a lib and not a module.
Fixing the path generates the ZEPHYR_CMSIS_6_MODULE_DIR symbol which
can now be used to pass to TF-M and the copy in TF-M would no longer be
required.

Signed-off-by: Sudan Landge <sudan.landge@arm.com>
2025-05-14 09:11:32 +02:00
Tomi Fontanilles
35f7eda545 modules: mbedtls: make key exchange Kconfigs depend on, not select
Turn the MBEDTLS_RSA_FULL selects into depends on.
This is how the other MBEDTLS_KEY_EXCHANGE_* Kconfig options are defined.

This is done to avoid circular dependencies.

At the same time update uses of the affected MBEDTLS_KEY_EXCHANGE_*
Kconfig options to enable/disable the dependencies which used to be
automatically handled.

Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
2025-05-13 22:22:43 -04:00
Abderrahmane JARMOUNI
abdb1ef3bc modules: lvgl: input: fix indev binding to display
When no 'display' property is present in LVGL input dev node in DT,
we should default to LVGL Default Display to preserve the old behavior
and not break LV Input on setups with only one display.

Signed-off-by: Abderrahmane JARMOUNI <git@jarmouni.me>
2025-05-13 22:21:50 -04:00
Arkadiusz Balys
bfc5094dcd openthread: Fix kconfigs according to the Kconfig Style Guidelines
Removed redundant new lines, and added new lines if needed.

Signed-off-by: Arkadiusz Balys <arkadiusz.balys@nordicsemi.no>
2025-05-13 17:44:59 +02:00
Florijan Plohl
a7ad18db46 modules: hal_nxp: Include DAC12 HAL driver
Include DAC12 HAL driver in case CONFIG_DAC_MCUX_DAC12 is enabled.

Signed-off-by: Florijan Plohl <florijan.plohl@norik.com>
2025-05-13 03:20:29 +02:00
Hieu Nguyen
a82a5187dd drivers: can: Initial support for RZ/G3S
Add CAN driver support for Renesas RZ/G3S

Signed-off-by: Hieu Nguyen <hieu.nguyen.ym@bp.renesas.com>
Signed-off-by: Nhut Nguyen <nhut.nguyen.kc@renesas.com>
2025-05-09 17:59:38 +02:00
Adrian Gielniewski
a6bfd920f7 modules: openthread: fix unused function error
Compile `log_translate` function only if `CONFIG_LOG` is defined.

Signed-off-by: Adrian Gielniewski <adrian.gielniewski@nordicsemi.no>
2025-05-09 15:41:13 +02:00
Michael Hope
3dbf080698 hal: wch: widen the checks to include the CH32V family
Expand the current systick compatibility to include the CH32V00x
series. Change the HAL compatibility to include all of the CH32V
family.

Signed-off-by: Michael Hope <michaelh@juju.nz>
2025-05-09 01:40:22 +02:00
Arkadiusz Balys
ca40f410ac openthread: Change log level to PLATFORM in OpenThread platform
Stop using L2 log level in OpenThread platform files.

Signed-off-by: Arkadiusz Balys <arkadiusz.balys@nordicsemi.no>
2025-05-08 15:56:11 +02:00
Arkadiusz Balys
9a5f4b97bd openthread: Add possibility to initialize OpenThread in POST_KERNEL
The new CONFIG_OPENTHREAD_SYS_INIT Kconfig option allows OpenThread
to be automatically initialised during the Zephyr POST_KERNEL
initialisation stage.

If Zephyr's L2 layer OpenThread implementation is enabled, the
IEEE802.15.4 shim layer initialises OpenThread in the POST_KERNEL
phase. However, since Openthread may work without Zephyr's L2
layer, in this case, no object can initialise it automatically.
This new Kconfig option may help start OpenThread automatically
if the L2 Layer is disabled.

Signed-off-by: Arkadiusz Balys <arkadiusz.balys@nordicsemi.no>
2025-05-08 15:56:11 +02:00
Abderrahmane JARMOUNI
4a75a930b9 modules: lvgl: add multi-display input support
Add support for binding LV input devs to multiple displays

Signed-off-by: Abderrahmane JARMOUNI <git@jarmouni.me>
2025-05-08 12:24:21 +02:00
Abderrahmane JARMOUNI
0be94452a9 modules: lvgl: add multi-display support in Zephyr
Add multi-display support in Zephyr ontop of LVGL which already supports
it.

This change allows for creating buffers and structures for each display
statically and automatically from deviceTree info, and call LV init
routines for each display

Signed-off-by: Abderrahmane JARMOUNI <git@jarmouni.me>
2025-05-08 12:24:21 +02:00
Chaitanya Tata
3953bb9ce3 nrf_wifi: Add nRF71 support
nRF7120 PDK support that uses IPC as comms b/w APP and Wi-Fi domains.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2025-05-06 15:32:11 +02:00
Arkadiusz Balys
596844a2cb openthread: Move OpenThread implementation from net to modules
Move OpenThread-related code from
zephyr/subsys/net/l2/openthread/openthread.c to
zephyr/modules/openthread/platform/openthread.c.

The primary goal of this refactor is to enable the use
of OpenThread as an independent module, without the necessity
of Zephyr's networking layer.

This change is particularly beneficial for simple applications
that have their own implementation of the IEEE802.15.4 driver
and do not require a networking layer. These applications can
now disable Zephyr's L2 and IEEE802.15.4 shim layers and
directly use the OpenThread module, saving valuable kilobytes
of memory.

In this approach if the CONFIG_NET_L2_OPENTHREAD
Kconfig option is set, Zephyr's L2 and IEEE802.15.4 layers
will be used, and everything will function as before.
The main difference is the Zephyr's L2 layer now uses
the OpenThread module, no longer implementing it.

While most of the functions in include/net/openthread.h
have been deprecated, they are still available for use to
maintain backwards compatibility.

Signed-off-by: Arkadiusz Balys <arkadiusz.balys@nordicsemi.no>
2025-05-05 14:25:13 +02:00
Duy Nguyen
84c4c6fa77 drivers: serial: Initial support for Renesas RX serial driver
Intial serial driver support for RX MCU, this driver utilize
the SCI HWIP for uart communication
Current support include polling API and Interrupt driven API,
some of the code is using Renesas RX Driver Package (RDP) as
hal layer

Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
Signed-off-by: Sang Tran <sang.tran.jc@renesas.com>
2025-05-02 09:18:16 +02:00
Duy Nguyen
2aa071c7ad drivers: pinctrl: Support pinctrl driver for Renesas RX
Intial support of pinctrl driver for Renesas RX MCU
family.
This support base on using Renesas RX driver package in
hal_renesas layer

Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
Signed-off-by: Phi Tran <phi.tran.jg@bp.renesas.com>
2025-05-02 09:18:16 +02:00
Duy Nguyen
dc470f782a goc: renesas: rx: Initial support for RX130 SOC
Minimal SOC layer support for Renesas RX SOC
This SOC is using Renesas RXv1 core

Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
2025-05-02 09:18:16 +02:00
Alain Volmat
d78842a5fd modules: stm32: add DCMIPP and DDR modules found on STM32MP13XX
Addition of the DCMIPP and DDR modules.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-04-30 23:03:17 +02:00
Benjamin Cabé
6c788e139e fatfs: add support for mmc disks when generating FF_VOLUME_STRS
add zephyr,mmc-disk's disk names as they were missing causing fatfs to
be unusable on boards that had otherwise valid DT configuration for
the mmc disks.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-04-30 16:26:10 +02:00
Nazar Palamar
c9ffcac8a7 drivers: wifi: AIROC: add support of new devices
- add support Wi-Fi Host Driver (WHD) 4.2.1
- add Country configuration from Kconfig

Support new devices:
 -- CYW43022
 -- CYW55500 (WIFI6)
 -- CYW55572 (WIFI6)

Support new modules:
 -- CYW43022CUB
 -- CYW955573M2IPA1_SM
 -- CYW955513SDM2WLIPA_SM
 -- CYW4373_MURATA_2BC
 -- CYW4373_MURATA_2AE
 -- CYW43439_STERLING_LWBPLUS

Signed-off-by: Nazar Palamar <nazar.palamar@infineon.com>
2025-04-30 13:59:50 +02:00
Ravi Dondaputi
eb9d98a1af modules: hostap: Increase supplicant stack size
SoftAP operation needs around 5700 bytes of stack. With a
buffer of 100 bytes, set the supplicant stack size to 5800.

Signed-off-by: Ravi Dondaputi <ravi.dondaputi@nordicsemi.no>
2025-04-29 20:08:57 -04:00
Adib Taraben
e92fb10971 drivers: hwinfo: add nxp mcxn reset_cause implementation
Implementation is specific to the NXP MCXN series.
Code mostly copied from hwinfo_mcux_rcm driver.

Signed-off-by: Adib Taraben <theadib@gmail.com>
2025-04-29 20:07:25 -04:00
Adrian Gielniewski
8661c3caea net: openthread: radio: fix otPlatRadioClearSrcMatch* return values
Fix the return values of `otPlatRadioClearSrcMatchShortEntry` and
`otPlatRadioClearSrcMatchExtEntry` to match the OpenThread API.

Signed-off-by: Adrian Gielniewski <adrian.gielniewski@nordicsemi.no>
2025-04-29 19:08:38 +02:00
Jukka Rissanen
259d41f1e0 net: mgmt: Use layer codes defined in net_mgmt.h
Instead of hard coding some random value to layer code, use the
code that is registered in net_mgmt.h
This way it is easier to keep track of used layer codes in the
future, and we also allow out-of-tree components a way to avoid
allocating same layer code to in-tree-source code.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2025-04-29 13:01:01 +02:00
Jukka Rissanen
702776bd1f net: mgmt: Remove the _ from symbols
The _ is a reserved character in front of the symbols so remove
it from network management event macros. The remaining string
without the _ will identify the network API anyway so having
underscore there is not needed.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2025-04-29 13:01:01 +02:00
Nirav Agrawal
49e96fb885 drivers: bluetooth: hci: add IW416 BT Controller Support
Added IW416 SoC support to enable Bluetooth HCI driver perform
firmware load, and works with blueooth HCI interface.

Removed cmake file from bt_controller/, added support in hal_nxp
module to fetch firmware blobs for iW416/nw612 BT Only FW.

Signed-off-by: Nirav Agrawal <nirav.agrawal@nxp.com>
2025-04-28 12:57:54 -05:00
Robin-Charles Guihéneuf
b0715dd3f2 lvgl: Add config to disable monochrome pixel software inversion
In some cases, pixel inversion is managed by the display hardware
and software inversion is not required.

Signed-off-by: Robin-Charles Guihéneuf <robin-charles@hotmail.fr>
2025-04-28 12:55:51 -05:00
Benjamin Cabé
047b11f0d1 soc: bflb: rename bouffalolab_bflb soc family to bflb
For simplicity/consistency with many other soc families, rename the
bouffalolab_bflb soc family to the simpler bflb.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-04-28 13:40:55 +02:00
Michael Hope
1d7a095779 soc: wch: move from qingke-v2 to the more specific qingke-v2a
The CH32V003 CPU is a QingKe V2A while others in the CH32V00x series
use the QingKe V2C. Prepare for adding support for the CH32V006 moving
to the more specifc qingke-v2a, moving some cases of SOC_CH32V003
actually meaning SOC_FAMILY_QINGKE_V2A.

Signed-off-by: Michael Hope <michaelh@juju.nz>
2025-04-26 10:55:45 +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
Jordan Yates
befb464d6e modules: fatfs: volume strings from DTS
Instead of relying on a hardcoded list of valid strings, automatically
create a perfectly sized array of disk names from devicetree.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-04-24 11:56:57 +02:00
Fengming Ye
fd0ac07a21 modules: hostap: remove zephyr wpa_msg socket pair
Background:
In DPP hostapd will put more than 1K bytes text in multiple
wpa_msg calls in one loop. This will drain hostapd monitor
socket pair and fail. Thus DPP connection will fail.

The monitor socket pair of wpa_supplicant and hostapd are not like
ctrl_iface socket pair, which are used for sending command to
hostap from other tasks. The monitor socket pair is used by wpa_msg
to send messages to attatched ctrl_iface monitors. But in zephyr case,
the monitor is hostap task itself.
This means hostap task is both the sender and receiver task.
So it writes all the wpa_msg text into FIFO and read it in next loop.
So there is risk of draining socket pair FIFO and missing msg.
And the reading socket loop can be omitted by directly handling msg
in wpa_msg_cb.

Linux uses monitor socket pair because hostap is a process and wpa_msg
does cross-process communication.
But zephyr hostap is used as module in the same binary with
zephyr kernel.
So the usage is different and we don't need to use socket pair to
notify ctrl_iface monitors.
As long as we don't do time-consuming process in zephyr_wpa_msg_cb,
it won't affect hostap task.
So the zephyr_wpa_msg_cb will only filter and restore interesting logs,
or raise mgmt events to wifi l2 mgmt task.

Fix:
Remove socket send flow in wpa_msg.
Directly filter and handle text in zephyr_wpa_msg_cb,
coding in zephyr repo.
This will save 2K RAM in supplicant case and 4K RAM in
supplicant & hostapd coex case, in current default hostap
socket pair config.
And this will save max 50% loops of hostap task.

Signed-off-by: Fengming Ye <frank.ye@nxp.com>
2025-04-24 10:38:03 +02:00
Gerson Fernando Budke
531915deda drivers: serial: bouffalolab: Add bflb serial driver
Add Bouffalo Lab serial driver. The driver uses pinctrl to configure
pins and have power management capabilities.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2025-04-24 01:26:37 +02:00
Gerson Fernando Budke
6520633a90 drivers: pinctrl: bouffalolab: Add bflb pinctrl driver
Add Bouffalo Lab pinctrl driver.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2025-04-24 01:26:37 +02:00
Gerson Fernando Budke
3c45c8b5cf soc: riscv: bouffalolab: Add bl60x series cpu
Add initial version.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2025-04-24 01:26:37 +02:00
Gerson Fernando Budke
0020af2a8b west: Introduce hal bouffalo lab
Add initial version that uses bouffalo_sdk 1.4.5.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2025-04-24 01:26:37 +02:00
Arkadiusz Balys
66e78e05d3 openthread: Separate OpenThread Kconfigs from L2 layer
Moved OpenThread-related Kconfigs from L2 layer to
modules/openthread. All of those configs were not strictly related
to the L2 layer, so they fits better to OpenThread module.
This operation allows using OpenThread Kconfigs even if L2 layer is
disabled.

Enabling NET_L2_OPENTHREAD also configures those configs by
selecting the OPENTHREAD kconfig, so there is no change regarding
backwards compatibility. The only change is that the Kconfigs
related to Thread were moved to the modules space, so their
location in the menuconfig also changed.

Once it is done, a choice for setting different L2 implementations
seems to be redundant.

Signed-off-by: Arkadiusz Balys <arkadiusz.balys@nordicsemi.no>
2025-04-23 17:54:58 +02:00
Kate Wang
0017bfcedc drivers: mipi_dbi: introduce NXP DCnano driver
Introduce NXP NCNano driver using MIPI DBI class. This peripheral
supports 8080 and 6800 mode. The driver also supports used with
nxp,mipi_dsi_2l driver, for the panel with DPHY bus, such as g1120b0mipi.

Signed-off-by: Kate Wang <yumeng.wang@nxp.com>
2025-04-23 10:03:42 +02:00
Zhaoxiang Jin
e4a9467b25 modules: hal_nxp: Load SDK common drver per architecture
- The fsl_common_dsp driver needs to be loaded
    when building xtensa projects and the fsl_common_arm
    driver needs to be loaded when building arm projects.

  - Add a condition to load power driver, because the power
    driver is needed to build RT700 arm core project, but it
    is not needed to build hifi core project.

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2025-04-21 22:03:47 +02:00
Hao Luo
c188125165 soc: arm: ambiq: apollo510: Add support for Apollo510 SoC
Add all required parts (new SoC family/series, device tree) for
the Ambiq Apollo510 SoC.

Signed-off-by: Hao Luo <hluo@ambiq.com>
2025-04-21 20:04:31 +02:00
Sreeram Tatapudi
f64ff43a22 modules: hal_infineon: wifi-host-driver: Fixes cmake issues
- Fixes errors in the wifi_host_driver CMakeLists.txt (LWB5+)

Signed-off-by: Sreeram Tatapudi <sreeram.praveen@infineon.com>
2025-04-19 11:48:09 +02:00
Ravi Dondaputi
ba5b897cb6 wifi: nrf_wifi: Add control pool specific APIs
Memory allocations in HAL are using data pool. These operations
are in control plane. Add APIs for allocation/free operations on
control pool.

Signed-off-by: Ravi Dondaputi <ravi.dondaputi@nordicsemi.no>
2025-04-16 14:51:59 +02:00
Fengming Ye
541b64747c modules: hostap: enable DPP3 kconfig option
DPP3 is must when we want to pass DPP certificate with
different elliptical curves.

Signed-off-by: Fengming Ye <frank.ye@nxp.com>
2025-04-16 08:04:23 +02:00
Jordan Yates
b7542f17fa wifi: nrf70: configurable IOVDD settling delay
Make the IOVDD settling delay configurable, instead of hardcoding a
delay that happens to work for the dev kits. For example, the nPM1300
load switches have a soft-start time of 1.8 ms.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-04-15 11:24:53 +02:00
Przemyslaw Bida
150af78d6c net: openthread: Add tcat platform function implementation
Commit add tcat related function implementation

Signed-off-by: Przemyslaw Bida <przemyslaw.bida@nordicsemi.no>
2025-04-15 11:24:40 +02:00
Georgios Vasilakis
0151535b8f boards: nordic: Add initial support for nRF54L10 with TF-M
This adds the nrf54l15dk/nrf54l10/cpuapp/ns board variant to
Zephyr. It allows to build applications for this target.

This is an initial support for the non secure target which allows
building and running tfm_ipc and config_build.

This is NOT full support of the non secure target in upstream
Zephyr.

There are important limitations, such as:
  - The hardware Crypto accelerator is not supported and thus the non
    secur target is NOT secure for production applications in upstream
    Zephyr.
  - The BL2 is not supported, so no DFU is supported with this support

Most of the code changes here are taken from nRF Connect SDK
in order to avoid having noups there.

Signed-off-by: Georgios Vasilakis <georgios.vasilakis@nordicsemi.no>
2025-04-14 20:05:17 +02:00
Georgios Vasilakis
0c11af915d modules: TF-M: nordic: Update header for the NRF54L series
Update the header to include a generic header for the NRF54L
series and not a specific one for the NRF54L15.

Signed-off-by: Georgios Vasilakis <georgios.vasilakis@nordicsemi.no>
2025-04-14 20:05:17 +02:00
Zhaoxiang Jin
b39f8bdd9c modules: hal_nxp: Fix bt_controller cmake load issue
- In middleware/CMakeLists.txt, using add_subdirectory()
    to load the cmakelists.txt under bt_controller will
    result in the bt_controller directory not being found
    correctly, because the starting point of the query
    is mcux-sdk-ng/CMakeLists.txt. Need to add
    ${CMAKE_CURRENT_LIST_DIR} to bt_controller to correctly
    locate the folder.

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2025-04-14 20:04:59 +02:00
Robert Lubos
958872648a net: openthread: Fix ignored return values in platform diag module
Verify return values for otPlatRadio* functions and log the error
accordingly. For otPlatRadioTransmit() case, just log the error
and let the entire TX procedure proceed on the next timeout.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2025-04-11 14:53:59 +02:00
Robert Lubos
cbde1edc41 net: openthread: Remove unused function from radio.c
clear_pending_events() was not used anywhere.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2025-04-11 14:53:59 +02:00
Fengming Ye
3a921c1dab hal: nxp: mcux-ng: align imu adapter with SDK
Align cmake with NXP SDK.

Signed-off-by: Fengming Ye <frank.ye@nxp.com>
2025-04-10 15:51:37 +02:00
Jason Yu
530f9163db modules: hal_nxp: mcux-sdk-ng: Fix cmake variable scope error
The CMakeLists.txt files in folders modules/hal_nxp/mcux/mcux-sdk-ng/*/
are loaded in modules/hal_nxp/mcux/mcux-sdk-ng/CMakeLists.txt using
cmake function `add_subdirectory`.

One issue is, when variables defined in one CMakeLists.txt are needed
by another CMakeLists.txt, then the variables need be exposed to parent
scope. This is not convenient.

Another issue is, to expose variables, the function `set_variable_ifdef`
sets the variables as global variables. The CMake global variables
named `CONFIG_xxx` will be collected by Kconfig, and results in build
fail.

The solution is:
1. Replace `add_subdirectory` with `include`, so that the variables will
be in the same file scope, don't need to expose them.
2. Modify the implementation of `set_variable_ifdef`, don't set
variables as global variables.

Resolves #88135

Signed-off-by: Jason Yu <zejiang.yu@nxp.com>
2025-04-09 19:34:10 +02:00
Hui Bai
58c932cc46 hostap: Relocate hostapd related source code to new files
Created new files and relocate hostapd support code in glue layer to new
files. The new files will be compiled only if hostapd support is enabled.

Signed-off-by: Hui Bai <hui.bai@nxp.com>
2025-04-09 12:35:27 +02:00
Sreeram Tatapudi
970460e809 drivers: adc: Update configuration values for CAT1B ADC
- Update resolution and inter reference mV
	- make unused code conditional

Signed-off-by: Sreeram Tatapudi <sreeram.praveen@infineon.com>
2025-04-09 09:03:19 +02:00
Jonathan Nilsen
8c5755cc8a modules: hal_nordic: bump regtool to 9.0.1
Fixes an issue where pinctrl psel properties encoded with
NRF_PSEL_DISCONNECTED() caused a build failure.

Signed-off-by: Jonathan Nilsen <jonathan.nilsen@nordicsemi.no>
2025-04-09 09:03:00 +02:00
Ederson de Souza
c9a18fd487 mcuboot: Kconfig options for single app slot RAM loading mode
MCUboot has a configuration for single application slot RAM loading, in
which the single loader (or a hook thereof) can load an application from
an arbitrary flash location to RAM. Applications that are to be loaded
in this way need to specify, in their mcuboot header, the load address
in RAM they are meant to be loaded.

This patch adds a new Kconfig for this mode. The load address used comes
from devicetree chosen property "mcuboot,ram-load-dev", if it exists,
and if not, "zephyr,sram".

Signed-off-by: Ederson de Souza <ederson.desouza@intel.com>
2025-04-08 16:12:33 +02:00
Georgios Vasilakis
47c71e35ee boards: Add non-secure target for nrf54L15dk
This adds the nrf54l15dk/nrf54l15/cpuapp/ns board variant to
Zephyr. It allows to build applications for this target.

This is an initial support for the non secure target which allows
building and running tfm_ipc and config_build.

This is NOT full support of the non secure target in upstream
Zephyr.

There are important limitations, such as:
- The hardware Crypto accelerator is not supported and thus the non
  secur target is NOT secure for production applicatiions in upstream
  Zephyr.
- The BL2 is not supported, so no DFU is supported with this support

Most of the code chagnes here are taken from nRF Connect SDK
in order to avoid having noups there.

Signed-off-by: Georgios Vasilakis <georgios.vasilakis@nordicsemi.no>
2025-04-08 01:51:18 +02:00
Remi Buisson
7a20afba9a modules: hal_tdk: Add icp201xx support
icp201xx are barometric pressure and temperature sensors.
https://invensense.tdk.com/smartpressure

Signed-off-by: Remi Buisson <remi.buisson@tdk.com>
2025-04-07 15:17:44 +02:00
Chaitanya Tata
4875978d39 modules: nrf_wifi: Remove unnecessary check
The Zephyr base variable is not used below and also is deprecated and
not needed to be set.

Fixes #87950.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2025-04-04 09:35:47 +02:00
Julien Racki
87719828ac arch: arm: Adding fault description for the cortex A7
Add support for processing the Fault Status Registers and recoverable
data abort for the cortex A7.

Based on Cortex-A7 MPCore Technical Reference Manual (ARM DDI 0406).
(see https://developer.arm.com/documentation/ddi0406)

Signed-off-by: Julien Racki <julien.racki@st.com>
2025-04-04 09:35:03 +02:00
Chaitanya Tata
4818585006 modules: nrf_wifi: spi: Implement frequency switching
In order to support higher frequencies than 8MHz, we need to implement
frequency switching while waking up the RPU, as it has to be done only
at 8MHz, once RPU is awake, we can switch back to the configured (DTS)
frequency.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2025-04-03 11:07:47 +02:00
Khanh Nguyen
7ae800a0c9 drivers: timer: Add ULPT timer for power management on Renesas RA MCUs
drivers:
- Added ULPT timer driver in `renesas_ra_ulpt_timer.c`.
- Updated `clock_control_renesas_ra_cgc.c` for ULPT clock settings.
- Updated `uart_renesas_ra8_sci_b.c` for power management support.
- Updated `CMakeLists.txt` and `Kconfig` to integrate ULPT timer.
- Added `Kconfig.renesas_ra_ulpt` for ULPT-specific configurations.

dts bindings:
- Added `renesas,ra-ulpt.yaml` for ULPT node bindings.
- Added `renesas,ra-ulpt-timer.yaml` for ULPT timer bindings.

modules:
- Updated `Kconfig.renesas_fsp` to support ULPT and LPM.

Signed-off-by: Khanh Nguyen <khanh.nguyen.wz@bp.renesas.com>
2025-04-03 08:41:08 +02:00
S Mohamed Fiaz
701be0c331 driver: sleeptimer: siwx917: Add siwx91x Sleeptimer driver
This commit enables the Sleeptimer driver support for the siwx917 device.

Signed-off-by: S Mohamed Fiaz <fiaz.mohamed@silabs.com>
2025-04-03 06:24:54 +02:00
Quang Le
9736851528 drivers: interrupt controller: Add support for RZ/T
- Add interrupt controller driver support for RZ/T
- Remove a duplicate USE_RZ_FSP_EXT_IRQ in Kconfig

Signed-off-by: Quang Le <quang.le.eb@bp.renesas.com>
Signed-off-by: Nhut Nguyen <nhut.nguyen.kc@renesas.com>
Signed-off-by: Binh Nguyen <binh.nguyen.xw@renesas.com>
2025-04-02 12:52:54 +02:00
Jonathan Nilsen
8e1f27a9fd modules: hal_nordic: bump regtool to 9.0.0
Added support for VPR GPIOs and a more concise output print.

Signed-off-by: Jonathan Nilsen <jonathan.nilsen@nordicsemi.no>
2025-04-01 16:27:04 +02:00
Adam Kondraciuk
eb8ab0a937 modules: hal_nordic: nrfx: switch off auto clksel for 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.

Signed-off-by: Adam Kondraciuk <adam.kondraciuk@nordicsemi.no>
2025-04-01 11:52:26 +02:00
Laurentiu Mihalcea
8b5b6ca0c4 modules: hal_nxp: mcux-sdk: add missing entry for MICFIL
Add missing entry for DAI_NXP_MICFIL, which was accidentally removed
during the transition to SDK-NG.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2025-03-29 06:32:37 +01:00
Laurentiu Mihalcea
1cc2eb3454 modules: hal_nxp: set SDK-NG as unsupported for imx95's cm7
The new SDK-NG is missing some EDMA-related headers/drivers because of
which the 'dma_nxp_edma' driver no longer compiles with it. Mark the new
SDK as unsupported for this platform until this is fixed.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2025-03-29 06:32:37 +01:00
Chaitanya Tata
5119f9c379 drivers: nrf_wifi: Implement TX zero-copy feature
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>
2025-03-28 16:11:05 +01:00