Commit graph

126,787 commits

Author SHA1 Message Date
Bhavin Sharma
d368921ae6 drivers: display: Added LPM013M126 display driver.
Add support for JDI LPM013M126 RGB memory display

Co-developed-by: Elgin Perumbilly <elgin.perumbilly@siliconsignals.io>
Signed-off-by: Elgin Perumbilly <elgin.perumbilly@siliconsignals.io>
Signed-off-by: Bhavin Sharma <bhavin.sharma@siliconsignals.io>
2025-09-19 08:31:05 -04:00
Marek Matej
ccf27a9701 tests: boards: espressif: Nested IRQ
Add test suite to test nested interrupts on ESP32 Xtensa targets.

Signed-off-by: Marek Matej <marek.matej@espressif.com>
2025-09-19 08:29:49 -04:00
Alain Volmat
9cc26d64e3 drivers: memc: stm32: removal of sdram1/sdram2/psram sections handling
SDRAM1 / SDRAM2 / PSRAM sections were being referenced in order to make
them accessible for the framebuffer. This is now addressed via the
mechanism provided by Zephyr hence this is no more necessary.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-09-19 08:28:22 -04:00
Alain Volmat
65ecc42331 display: stm32_ltdc: use LINKER_DT_NODE_REGION_NAME for ext-sdram
Use the LINKER_DT_NODE_REGION_NAME macro in order to get the
memory-region into which to put the framebuffer for the LTDC.
This is made possible since all memory areas have the
zephyr,memory-region compatible, allowing to have each region
referenced within the linker script generated by Zephyr.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-09-19 08:28:22 -04:00
Alain Volmat
76b6f6ebc2 dts: arm: st: add zephyr,memory-region on all missing stm32 dts
Add the compatible zephyr,memory-region for all mmio-sram region
which do not have yet that compatible as well as add the label to
those regions. This allow to have a linker memory report which list
all areas and also have all regions accessible via the linker script.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-09-19 08:28:22 -04:00
Mark Wang
a5edd6ae92 libsbc: fix hiding headers to doxygen
remove CONFIG_LIBSBC_ENCODER and CONFIG_LIBSBC_DECODER from sbc.h, then
include the required heders files path defaultly to fix building errors.

Signed-off-by: Mark Wang <yichang.wang@nxp.com>
2025-09-19 08:28:12 -04:00
Mark Wang
11862613c3 libsbc: update header file comments as doxygen style
update sbc.h comments as doxygen style.

Signed-off-by: Mark Wang <yichang.wang@nxp.com>
2025-09-19 08:28:12 -04:00
Chaitanya Tata
3de9df0a5a modules: hostap: Add interface arg to cli commands
Now that we support multiple VIFs, need to add argument for the
interface for any command.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2025-09-19 08:27:55 -04:00
Chaitanya Tata
b29dddf073 modules: hostap: Use per-interface control connection
For hostapd also use per-interface control connection like we do for
supplicant.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2025-09-19 08:27:55 -04:00
Chaitanya Tata
e68f50d841 manifest: nrf_wifi: Pull fix for max VIF check
Fixes second interface bring up failure.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2025-09-19 08:27:55 -04:00
Chaitanya Tata
386dcbe72c drivers: nrf_wifi: Fix scan crash for 2nd VIF
Move the VIF initialization to top to do it for both VIFs, this fixes a
crash when scanning on the 2nd VIF.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2025-09-19 08:27:55 -04:00
Chaitanya Tata
f49c92e94e modules: hostap: Enable AP mode if usage includes AP
If the usage mode has AP, then automatically enable AP mode.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2025-09-19 08:27:55 -04:00
Chaitanya Tata
8121e8a235 modules: hostap: Adjust memories to handle dual mode
To handle the dual mode usage (STA + AP) increase the heap and stack
size.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2025-09-19 08:27:55 -04:00
Chaitanya Tata
19449e4396 wifi: treewide: Adjust defaults for dual mode usage
In case STA + AP mode is enabled, then adjust the defaults to accomodate
the second interface.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2025-09-19 08:27:55 -04:00
Chaitanya Tata
23a0665653 boards: nrf70: Add second virtual interface
Add second virtual interface by default to the DTS.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2025-09-19 08:27:55 -04:00
Chaitanya Tata
53a885a696 modules: hostap: Update WPA supplicant to use per-VIF control channel
Update WPA supplicant functions to pass the control channel (socket) as a
parameter instead of relying on a global socket. This change aligns with
the PR 80 modifications in hostap repo and ensures that each Virtual
Interface (VIF) uses its dedicated control channel for communication.

Signed-off-by: Hanan Arshad <hananarshad619@gmail.com>
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2025-09-19 08:27:55 -04:00
Chaitanya Tata
58e7dba8bc manifest: hostap: Pull hostap changes required for multiple VIF
This commit links the hostap PR required for the nrf7002 driver.
west.yml is updated

Signed-off-by: Hanan Arshad <hananarshad619@gmail.com>
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2025-09-19 08:27:55 -04:00
Chaitanya Tata
1c6a00bd5d drivers: wifi: nrf7002: Add support for multiple virtual interfaces (VIFs)
Description:
The nRF7002 firmware supports two virtual interfaces (VIFs) that can
operate in different modes (e.g., AP and STA). However, the existing
Zephyr driver only utilizes a single VIF, preventing full
multi-interface support.

This commit extends the nRF7002 driver to support multiple VIFs by
making the following modifications:

* The driver already contains an array of vif_ctx_zep, but only the
first item was being used. Now, a second Ethernet device is registered
using vif_ctx_zep[1], enabling multi-VIF operation.
* Introduced vif_ctx_cnt to keep track of active interfaces and manage
their state effectively.
* Ensured that FMAC (Firmware MAC) is initialized only once, avoiding
redundant initializations when multiple VIFs are present.
* The UMAC control commands previously did not associate responses with
the issuing VIF. A queue is now introduced to track the originating VIF
for each command and correctly route the response event to the
corresponding interface.

Signed-off-by: Hanan Arshad <hananarshad619@gmail.com>
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2025-09-19 08:27:55 -04:00
Chris Friedt
4e18ce7832 doc: release: 4.3: deprecate CONFIG_POSIX_READER_WRITER_LOCKS
The Kconfig option `CONFIG_POSIX_READER_WRITER_LOCKS` is being deprecated
and renamed to `CONFIG_POSIX_RW_LOCKS` in order to match the name of the
POSIX Option Group.

`_POSIX_READER_WRITER_LOCKS` is the name of the feature test macro.

There are a few instances where the name of the Option Group does not
correspond exactly to the name of the Option (Feature Test Macro), and
this is one of them.

Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
2025-09-19 08:27:49 -04:00
Romain Pelletant
6fe6a58ce3 doc: posix: update doc for POSIX_RW_LOCKS
- Replace POSIX_RW_LOCKS in documentation

Signed-off-by: Romain Pelletant <romainp@kickmaker.net>
2025-09-19 08:27:49 -04:00
Romain Pelletant
732823e0c6 posix: options: replace kconfig for rw lock
- Update Kconfig from CONFIG_POSIX_READER_WRITER_LOCKS to POSIX_RW_LOCKS

Signed-off-by: Romain Pelletant <romainp@kickmaker.net>
2025-09-19 08:27:49 -04:00
Benjamin Cabé
27fa721632 drivers: serial: opentitan: remove bogus depends on clause
CONFIG_SERIAL_SUPPORT_INTERRUPT is a Kconfig option that is supposed to
be selected by serial drivers that support interrupts. This commit
removes a bogus "depends on !SERIAL_SUPPORT_INTERRUPT" which does not
make sense and causes some tests to fail.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-09-19 08:06:42 +02:00
Benjamin Cabé
b1a74d75e8 doc: CMakeLists.txt: do not require sphinx
There are several doc-related build targets that do not require sphinx,
e.g. one might want to simply generate the Doxygen docs (Doxygen remaining
a hard dependency), so do not require sphinx to be present and, instead,
conditionally add the associated targets when sphinx is present.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-09-19 08:06:32 +02:00
Bjarki Arge Andreasen
61a9d6aa45 soc: nordic: enable CONFIG_PM_DEVICE_RUNTIME_DEFAULT_ENABLE for all
Enable CONFIG_PM_DEVICE_RUNTIME_DEFAULT_ENABLE by default for all
nordic SoCs if CONFIG_PM_DEVICE_RUNTIME is used. This will ensure
consistent behavior across all nordic SoCs and remove the need
for pasting the devicetree propert zephyr,pm-device-runtime-auto
everywhere.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-09-19 08:06:09 +02:00
Bjarki Arge Andreasen
9842594d79 doc: releases: 4.3: mention CONFIG_PM_DEVICE_RUNTIME_DEFAULT_ENABLE
Mention CONFIG_PM_DEVICE_RUNTIME_DEFAULT_ENABLE in 4.3 release notes.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-09-19 08:06:09 +02:00
Bjarki Arge Andreasen
7fe9043085 doc: services: pm: device_runtime: document DEFAULT_ENABLE option
Document the new CONFIG_PM_DEVICE_RUNTIME_DEFAULT_ENABLE option.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-09-19 08:06:09 +02:00
Bjarki Arge Andreasen
34c51c5ab4 pm: device: runtime: add PM_DEVICE_RUNTIME_DEFAULT_ENABLE
Many SoCs which use PM_DEVICE_RUNTIME need every device in the system
to have PM_DEVICE_RUNTIME enabled to function. Currently, this is only
possible by adding zephyr,pm-device-runtime-auto; to every node in
every devicetree which could potentially implement device power
management. This is very error prone since its easy to miss a node,
especially if users apply overlays, where users need to know and
remember to apply or reapply this property.

This commit adds a Kconfig, disabled by default, which automatically
treats every device as if it had the zephyr,pm-device-runtime-auto
property added to every node.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-09-19 08:06:09 +02:00
Sreeram Tatapudi
ed0fa4a0c4 MAINTAINERS: Adding a new file pattern for Infineon drivers
We are moving away from category based driver names. Updating the
"files:" patterns to include the newer drivers as well.

Signed-off-by: Sreeram Tatapudi <sreeram.praveen@infineon.com>
2025-09-18 19:10:35 -04:00
Declan Snyder
11d24034e0 boards: rt1180: fix lpspi with dma
Since this board is by default having hyperram as SRAM, need to set
NOCACHE_MEMORY when using dma to make sure the memory for the tcd pools
is not cached.

The previous approach to set zephyr,sram to dtcm just
caused an error because zephyr,dtcm was also set to dtcm, and the
default logic of the driver is put the tcdpools in dtcm, so what
happened was these buffer got linked over the rest of the app causing
massive failing of the image to work at all.

So instead of doing that we need to just keep running from hyperram but
set CONFIG_NOCACHE_MEMORY to have a place to put the tcd pools that wont
be cached.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-09-18 19:09:40 -04:00
Dipak Shetty
c85922f97c drivers: sensor: ti: tmp1075: fix one-shot conversion for shutdown mode
Add missing one-shot conversion logic in sample_fetch when driver is
configured for shutdown mode. Previously, the driver would attempt to
read temperature without triggering conversion, resulting in stale data.

Signed-off-by: Dipak Shetty <shetty.dipak@gmx.com>
2025-09-18 19:09:11 -04:00
Benjamin Cabé
91265f0eb6 boards: nrf52840_mdk_usb_dongle: disable pwmleds node
PWM leds for this board are not functional out-of-the-box as pwm0 needs
to be configured/enabled first. Disable the pwmleds node to reflect
this.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-09-18 19:08:54 -04:00
Arthur Gay
acf7657c45 drivers: sensor: lis2dh: Add self-test attribute
Add support for enabling and configuring the self-test mode of the
LIS2DH accelerometer through a dedicated sensor attribute.

Signed-off-by: Arthur Gay <arthur.gay@marshmallow.kids>
2025-09-18 19:08:32 -04:00
Dominik Kilian
0b237daa2d samples: ipc: static_vrings: Exclude unsupported platforms
List of allowed platforms for this sample was
changed in PR #85997. This enabled more
platforms including those that are not needed.
This commit excludes nrf5340/cpuapp_ns and
nrf5340/cpunet platforms since they are not
supported by this sample.

Signed-off-by: Dominik Kilian <Dominik.Kilian@nordicsemi.no>
2025-09-18 19:08:18 -04:00
Albort Xue
7b561f7605 drivers: flash: flash_mcux_flexspi_nor: Adjust bit field check sequence.
Adjust the bit field check sequence for "en4b" to support some flash
devices that offer multiple mechanisms for entering 4-byte address
mode.

Signed-off-by: Albort Xue <yao.xue@nxp.com>
2025-09-18 13:51:28 -04:00
Alvis Sun
2a6bb840ed maintainers: add npck boards to Nuvoton NPCX platforms
As title.

Signed-off-by: Alvis Sun <yfsun@nuvoton.com>
2025-09-18 13:51:16 -04:00
Benjamin Cabé
81760b7172 boards: infineon: xmc4x_relax_kit: pwmleds should be disabled initially
The pwmleds node for `xmc45_relax_kit` and `xmc47_relax_kit` should be
disabled initially due to the PWM controller the pwmleds node use not
being enabled by default.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-09-18 13:51:04 -04:00
Robert Lubos
77c348a9de doc: release-notes-4.3: Mention the backlog support for listen()
Add a note that the backlog parameter of the listen() function is now
respected and the backlog support has been implemented for the TCP
server.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2025-09-18 13:50:46 -04:00
Robert Lubos
388f7fcbbc tests: net: socket: tcp: Add tests for listen backlog
Add test cases verifying that the backlog feature of the TCP server
works as expected.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2025-09-18 13:50:46 -04:00
Robert Lubos
13a228381b net: tcp: Remove duplicate headers and function declarations
TCP somehow ended up with two internal headers with duplicate set of
internal function declarations. As tcp.h looks like a subset of the
tcp_internal.h header, combine the two headers into a single
tcp_internal.h and remove tcp.h. There were some differences in doxygen
API descriptions, so I've used the description that better described the
actual function purpose.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2025-09-18 13:50:46 -04:00
Robert Lubos
3d85e8f0ac net: tcp: Implement TCP connection backlog
Implement TCP connection backlog for TCP server. The backlog parameter
is already specified by the listen() socket API, however it was never
implemented in Zephyr. It can be useful to limit the number of incoming
connections on the server side, and thus limit the connection flood and
resource shortage.

The backlog is implemented as a atomic counter inside the TCP context.
The counter is initialized on the listen() call (and thus no connection
can be accepted before listen() is called), and then decremented
whenever new connection is initiated. When the application accepts
the incoming connection, it should call the net_tcp_conn_accepted()
API (done automatically for sockets) to inform the TCP layer that the
backlog can be incremented. The backlog value is also incremented back
if the connection is released before the connection was passed to the
application.

For tracking the parent (listening) socket, the 'accepted_conn' pointer
on the client context has been reused. Note, that the pointer used to be
cleared before the accept_cb() call before, to prevent consecutive calls
to the callback, however this was not really needed - the TCP state is
changed anyway, and the accept_cb() is only used in TCP_SYN_RECEIVED
state. The pointer is no cleared when the application accepts the
connection (or the client or the associated parent context is closed).

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2025-09-18 13:50:46 -04:00
Jamie McCrae
8498c39e13 drivers: Fix some Kconfig bleeds
Fixes instances of Kconfig options appearing for completely
irrelevant builds

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2025-09-18 13:50:33 -04:00
The Nguyen
d6926cd676 dts: doc: add binding type for CRC device driver
Add CRC binding type for supported device doc generator

Signed-off-by: The Nguyen <the.nguyen.yf@renesas.com>
2025-09-18 13:50:24 -04:00
Marcel Wappler
9401406e6a net: lwm2m: finalize CBOR output on -ENOMEM instead of aborting
When encoding cached LwM2M 1.1 resources into SenML CBOR, the encoder
currently aborts with -ENOMEM if the number of records (minus
some CBOR delimiter elements) exceeds CONFIG_LWM2M_RW_SENML_CBOR_RECORDS.
This discards all serialized data and prevents any payload from
being sent, leaving the client stuck and caches filling up.

This patch changes the behavior: if some records were already
serialized before the buffer shortage, the CBOR output is finalized
(end marker added) and the partial payload is returned. This allows
the client to send useful data, and the upper layers can react by
reducing batch size.

Impact:
- Preserves forward progress instead of canceling the message
- Avoids cache lock-up
- No changes to the API or success path behavior

Signed-off-by: Marcel Wappler <marcel.wappler@decentlab.com>
2025-09-18 13:50:13 -04:00
Cherniaev Andrei
fceca3b268 doc: Kconfiglib development has moved
Details https://github.com/ulfalizer/Kconfiglib/issues/139

Signed-off-by: Cherniaev Andrei <dungeonlords789@naver.com>
2025-09-18 13:49:22 -04:00
Yongxu Wang
4121adff1c pm: introduce pm_cpu_shell interface
Introduce a shell for specific cpu core about PM control,
this aligns with existing design flow where the policy decides
the state based on next event timing, locks and latency constraints,
and the system naturally enters low power through the idle thread.

New shell commands under `cpu`:
  -  cpu states			: List supported CPU power states (from devicetree)
  -  cpu available		: For each state/substate, show if available
  -  cpu lock			: Lock specific low power mode
  -  cpu unlock			: Unlock specific low power mode
  -  cpu idle ms		: Sleep the current thread to let idle run PM

Signed-off-by: Yongxu Wang <yongxu.wang@nxp.com>
2025-09-18 13:48:30 -04:00
Yongxu Wang
8767cec875 pm: states: add enum-string conversion helpers
Add two helper functions to convert power management states between
enum and string:

- pm_state_to_string()
- pm_state_from_string()

Signed-off-by: Yongxu Wang <yongxu.wang@nxp.com>
2025-09-18 13:48:30 -04:00
Qiang Zhao
77f035ebe7 soc: imx93 m33: enable CPU_CORTEX_M_HAS_DWT
enable CPU_CORTEX_M_HAS_DWT for imx93 core m33

Signed-off-by: Qiang Zhao <qiang.zhao@nxp.com>
2025-09-18 13:48:15 -04:00
Qiang Zhao
80a145d4ed tests: drivers: adc: add imx93_evk support for adc_api case
Add necessary configuration for sar_adc1 on imx93 core cm33
There are some issues with USERSPACE, so add an overlay to
disable CONFIG_TEST_USERSPACE, will drop it once it works.

Signed-off-by: Qiang Zhao <qiang.zhao@nxp.com>
2025-09-18 13:48:15 -04:00
Qiang Zhao
96c2b83249 dts: arm: nxp_imx93_m33: add ADC node
Add ADC node on imx93 core m33

Signed-off-by: Qiang Zhao <qiang.zhao@nxp.com>
2025-09-18 13:48:15 -04:00
Qiang Zhao
b4f043d182 drivers: clock_control_mcux_ccm_rev2: add SAR_ADC clock support
Added SAR_ADC clock support for clock_control_mcux_ccm_rev2

Signed-off-by: Qiang Zhao <qiang.zhao@nxp.com>
2025-09-18 13:48:15 -04:00