Commit graph

1783 commits

Author SHA1 Message Date
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
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
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