Commit graph

136,983 commits

Author SHA1 Message Date
Zhaoxiang Jin
1c6f877c71 soc: mcxn: enable p-state driver for nxp mcxn
Enable p-state driver for nxp mcxn, currently tested
on frdm-mcxn236 but should be easily extendable to
other mcxn boards.

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2025-11-18 17:44:23 -05:00
Zhaoxiang Jin
e23f4acdb5 dts: bindings: p_state: Add bindings for NXP mcxn
1. Add p-state binding for nxp mcxn series.
2. Add p-state nodes for nxp mcxn series.

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2025-11-18 17:44:23 -05:00
Zhaoxiang Jin
86ace20292 boards: frdm_mcxn236: Update CLKOUT source clock
Use the primary clock source FRO12M as the clock source for
CLKOUT. Compared with the secondary clock source(main clock,
the primary clock source is more stable and will not cause
timing problems of camera PCLK, HSYNC and VSYNC due to
unexpected changes.

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2025-11-18 17:44:23 -05:00
Yong Cong Sin
a028d8fafc driver: i2c: i2c_dw: clear block mode on init
Depending on the IP's `IC_TX_CMD_BLOCK_DEFAULT` parameter, we
might have to clear the `TX_CMD_BLOCK` bit on init so that
Controller mode works.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
Signed-off-by: Yong Cong Sin <yongcong.sin@gmail.com>
2025-11-18 17:44:10 -05:00
Declan Snyder
687935bb68 drivers: spi_mcux_flexcomm: Abbreviate ctx
I was getting real tired of typing this out, can't believe it hasn't
already been done.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-11-18 17:42:34 -05:00
Declan Snyder
7cb3fca42e drivers: spi_mcux_flexcomm: Fix length unit mixups in DMA path
This driver had a lot of regressions introduced by commits that were
clearly mixing up what values had units of bytes and what values had
units of words. Fix the issues in the DMA path of the driver.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-11-18 17:42:34 -05:00
Declan Snyder
93b766f4f8 drivers: spi_mcux_flexcomm: Remove asserts
The asserts are hard to debug and unrecoverable, they just say kernel
panicked but difficult to realize where and why, it's better to return
an error and log message clearly from spi driver.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-11-18 17:42:34 -05:00
Declan Snyder
45cade7822 drivers: spi_mcux_flexcomm: Remove wrong assert
It is not illegal to provide an RX len with no buffer.
It just means the controller should clock out that many
words but not store them in memory. So remove the assert
and just avoid null dereference.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-11-18 17:42:34 -05:00
Declan Snyder
d3818d4365 drivers: spi_mcux_flexcomm: Refactor get_last_tx_word
Refactor this function to return an error code, instead of assert.
Put the data into a pointed argument instead.
Refactor other functions to make sure to
propogate this error all the way up the call stack.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-11-18 17:42:34 -05:00
Declan Snyder
2a7f651c1f drivers: spi_mcux_flexcomm: Skip xfer if empty
If the transfer is empty we do nothing. Avoids assert in later code
paths.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-11-18 17:42:34 -05:00
Chen Xingyu
8c8a0fe6fe boards: alientek: dnesp32s3b: Add board DNESP32S3B
DNESP32S3B is a development board from Alientek, featuring a compatible
ESP32-S3-WROOM-1-N16R8 module and rich set of on-board peripherals,
providing an out-of-the-box development experience for AIoT applications.

Signed-off-by: Chen Xingyu <hi@xingrz.me>
2025-11-18 17:41:09 -05:00
Andrej Butok
9e0012b313 drivers: gpio: nxp: fix gpio_mcux_lpc_configure()
- Enables Digital mode for both input and output GPIO
  pins, in gpio_mcux_lpc_configure().
- Fixes #99255

Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
2025-11-18 17:38:58 -05:00
Siddhant Modi
1d2448e979 drivers: eeprom: mb85rsxx: Adding support for new product ID
This commit adds support for the 0x40 product ID
needed by the MB85RSMTA version of the chip.

Signed-off-by: Siddhant Modi <siddhant.modi@gmail.com>
2025-11-18 17:38:39 -05:00
Yong Cong Sin
3c5807f6ec arch: riscv: stacktrace: support stacktrace in early system init
Add support for stacktrace in dummy thread which is used to run
the early system initialization code before the kernel switches
to the main thread.

On RISC-V, the dummy thread will be running temporarily on the
interrupt stack, but currently we do not initialize the stack
info for the dummy thread, hence check the address against the
interrupt stack.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
Signed-off-by: Yong Cong Sin <yongcong.sin@gmail.com>
2025-11-18 17:38:22 -05:00
Yong Cong Sin
4f5f42fa69 kernel: thread: constify thread arg of read-only functions
Since these helper functions are read-only, mark the `thread`
arg as `const` so that we can pass const thread to it without
triggering warnings.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
Signed-off-by: Yong Cong Sin <yongcong.sin@gmail.com>
2025-11-18 17:38:22 -05:00
Pisit Sawangvonganan
489b8a386c drivers: gpio_stm32: consolidate *pincfg writes
Use a local accumulator (`cfg`) to build the pin configuration and commit
it to `*pincfg` only once. This keeps intermediate values in registers,
reduces RAM write traffic.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2025-11-18 17:36:49 -05:00
Stanislav Bobokalo
0786873a4c dts: ra6: fix typo in pinctrl node name
Correct a typo in the pinctrl node name to maintain consistent naming
across the RA family.

Signed-off-by: Stanislav Bobokalo <stanislav.b@embedd.it>
2025-11-18 17:36:30 -05:00
Alberto Escolar Piedras
612ae54950 boards/native nrf54lm20bsim: Remove experimental warning
This simulated board has been there for more than 5 months.
The real board (nrf54lm20dk) is properly supported and in the market.
So there is no need to have this warning anymore.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2025-11-18 17:36:18 -05:00
Aleksandr Khromykh
613d228002 bluetooth: mesh: update max oob size till 32 bytes
Commit updates maximum OOB authentication size from 8 bytes
till 32 bytes according to specification errata ES-27446.
Since previous OOB API does not allow to expose OOB values
with such width the new API has been introduced.
The previous API was deprecated and hidden under
BT_MESH_PROV_OOB_API_LEGACY option and left for backward
compatibility with existing code base.

Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
2025-11-18 10:48:18 -05:00
Aleksandr Khromykh
6bf8409e39 bluetooth: mesh: adjust adv stack dependency and size
Commit removes legacy dependancy on Host crypto.
Additionally, it adapts advertiser stack size if
provisioner feature has been enabled (tested with
mesh_shell and thread analyzer).

Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
2025-11-18 10:48:18 -05:00
Aleksandr Khromykh
8b2e37f0e2 bluetooth: mesh: prevent getting wrong authentication size
Commit moves SHA256 authentication size under SHA256 macro.

Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
2025-11-18 10:48:18 -05:00
Aleksandr Khromykh
760d190723 bluetooth: mesh: zeroing not used part of auth array
Commit set zero to not used part of authentication array
to prevent garbage from the previous provisioning using.

Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
2025-11-18 10:48:18 -05:00
Aleksandr Khromykh
666950efff bluetooth: mesh: improve oob size checking
Commit improves oob size checking to catch wrong size
as early as possible and prevents zero size.

Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
2025-11-18 10:48:18 -05:00
Frode van der Meeren
48f82d1e34 tests: bluetooth: tester: Fix VCS tests
Zephyr automatically sets the persisted flag for VCS if the volume is
changed after the service is registered. As some of these PTS tests
require a set volume with the flag cleared, the initial volume needs to
be set before registering VCS.

Signed-off-by: Frode van der Meeren <frode.vandermeeren@nordicsemi.no>
2025-11-18 10:48:01 -05:00
Piotr Kosycarz
0d1f73b6fd boards: nordic: nrf54lm20dk: enable debugging for flpr
Use specific jlink device for app and flpr core.
This will enable flpr core debugging.

Signed-off-by: Piotr Kosycarz <piotr.kosycarz@nordicsemi.no>
2025-11-18 10:47:48 -05:00
Seppo Takalo
0364ef4965 MAINTAINERS: Add Seppo Takalo as collaborator for modem area
I'm working at Nordic Semiconductor in a team that is developing the
Serial Modem application for nRF91 and I have spend significant amount
of time for studying the CMUX protocol to implement the power saving
mechanism for it and submitted it here.

I therefore have quite a good understanding of the Zephyr's modem
subsystem.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2025-11-18 10:47:35 -05:00
Ayush Singh
9f4a0153b8 dts: arm64: ti: ti_am62x_a53: Use GPIO Proxy
After trying out a few different approaches, I think having separate
nodes for each bank in devicetree and having a GPIO proxy node for the
controller is the best solution right now.

To be more specific, GPIO proxy solution still allows for bank level
GPIO toggling. The linux kernel GPIO davinci driver is currently limited
to single pin operations. This might not be a problem in Linux, but I
feel like embedded systems would prefer having support for bank level
operations.

This also does not pose a problem for the future implementation of
interrupts due to that fact that the interrupt router is separate device
and will require a separate driver. In fact, the GPIO interrupt router
is shared between main_gpio0 and main_gpio1.

This patch also reverts the previous bank offset related work on GPIO
davinci driver.

The patch has been tested on PocketBeagle 2.

Signed-off-by: Ayush Singh <ayush@beagleboard.org>
2025-11-18 10:47:20 -05:00
Fin Maaß
4670a6a6ec boards: litex: add missing netif:eth to supported
add missing netif:eth to supported for litex board.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-11-18 10:47:12 -05:00
Jamie McCrae
2e54630612 mgmt: mcumgr: grp: img_mgmt: Add support for up to 8 images
Adds slot/image information for using up to 8 images on a device

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2025-11-18 10:46:40 -05:00
Jamie McCrae
764b61f306 dfu: boot: mcuboot: Add support for up to 8 images
Adds slot/image information for using up to 8 images on a device

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2025-11-18 10:46:40 -05:00
Jukka Rissanen
d164f8b55d lib: posix: Add shim for getopt API
Allow user to use the new sys_getopt API via the old non-Posix
compliant getopt API. This is a temporary solution and the shim
will be deprecated and eventually removed at some point.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2025-11-18 10:46:29 -05:00
Jukka Rissanen
22f9ef0a33 sys: getopt: Rename getopt to sys_getopt to avoid conflicts with Posix
Summary:

As Zephyr getopt is not really compatible with Posix getopt, rename
Zephyr getopt to sys_getopt.

Background:

Zephyr getopt module was introduced in #31356 to be used by the shell.
Zephyr's getopt is not the standard one. It has multiple APIs which make
it more suited for a system like Zephyr where different components may
want to use it for different purposes. Including APIs to init it,
get and set its internal state etc.
Several Zephyr modules (shell, net, wifi, ztest) use this getopt with
these special APIs. The getopt module is bundled in the POSIX
compatibility API subsystem (CONFIG_POSIX_C_LIB_EXT).

Problem description:

As it is not the standard getopt(), no C library can possibly provide
a Zephyr compatible version (even if such C library were to provide a
standard getopt()). As it is bundled in Zephyr's POSIX API in
CONFIG_POSIX_C_LIB_EXT), multiple components that depend on it are
selecting CONFIG_POSIX_C_LIB_EXT. Zephyr core components should not
depend on the POSIX API in this way.

Changes done in this commit:

Rename the getopt*() APIs to sys_getopt*() and move them into a module
under lib/utils with its own Kconfig option to enable it.
Zephyr's users are changed to use this new component.
The POSIX subsystem can continue providing getopt() by calling the new
sys_getopt() and in that way retain backwards compatibility for external
users.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2025-11-18 10:46:29 -05:00
Vladislav Kulikov
a2f057da97 MAINTAINERS: add vlad-kulikov as SMF maintainer
This is a follow-up to @keith-zephyr’s note that SMF is looking for a
new maintainer:
https://github.com/zephyrproject-rtos/zephyr/pull/97943#issuecomment-3439589314

I am proposing this shortly after getting collaborator only
because there is an active search and I am already working in SMF
(source-level changes, SMF-related RFCs, and improving the
sibling-transition path to make the common transition at least
~30% faster). If there were no open need, I would have waited longer
before proposing this.

Signed-off-by: Vladislav Kulikov <vlad_kulikov_c@pm.me>
2025-11-18 10:46:09 -05:00
Emil Gydesen
1c51cbfb52 tests: Bluetooth: Tester: Decrease BSIM UART poll timeout
Modify the timeout from 10ms to 100us. The reason for this
is that the UART can only hold 4 octets at a time, which
cases events larger than 4 octets to require multiple
timeout before the entire event can be sent.

This solution is mostly a workaround and has the purpose
of increasing the performance and help prevent the tests
from failing due to the low speed caused by this. A
proper solution would likely be to switch to the async UART
API instead.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2025-11-18 10:45:41 -05:00
Emil Gydesen
42ad1a3821 tests: Bluetooth: Tester: Increase ISO buffers
The ISO buffers defaults to 1, but since there are
risks that the ISO RX events cannot be sent to
the upper tester via UART before the next RX,
the RX is increased. This also allows to better
support cases where the ISO interval is larger than
the SDU interval.
The ISO TX buffers are similarly increase to help
prevent cases where a TX isn't scheduled.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2025-11-18 10:45:41 -05:00
Tahsin Mutlugun
7d58e14261 boards: adi: Add full names for MAX32 boards that were missing them
Add missing `full_name` entries for MAX32657EVKIT and MAX32658EVKIT
in their respective board.yml files.

Signed-off-by: Tahsin Mutlugun <Tahsin.Mutlugun@analog.com>
2025-11-18 10:45:15 -05:00
Sebastian Głąb
87d15bb2be samples: boards: nordic: spis_wakeup: Run sample on APP+PPR
Extend sample with possibility to use PPR core instead of Radio core.

Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
2025-11-18 08:17:20 -05:00
Seppo Takalo
1d9947188d drivers: modem_cellular: Update nRF91 Serial Modem PPP script
nRF91 Serial Modem application does not anymore start PPP automatically.
Update initialization script to request it.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2025-11-18 08:13:09 -05:00
Tomi Fontanilles
fe0c6bc773 MAINTAINERS: add tomi-font as TF-M maintainer
Upgrade from collaborator to maintainer as suggested in
https://github.com/zephyrproject-rtos/zephyr/pull/99161#issuecomment-3521814531.

Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
2025-11-18 08:12:57 -05:00
Nicholas Lowell
e6d1941c30 shell / logging: shell log backend output Kconfig
Gives access to all log output format flag configurations
for shell backend.

shell log backend doesn't use log_backend_std_get_flags()
and it's debateable if it should, so give it its own fullly
configurable format set for maximum backend bandwidth control

Signed-off-by: Nicholas Lowell <Nicholas.Lowell@lexmark.com>
2025-11-18 08:12:38 -05:00
Jakub Klimczak
3c4277391a zvfs: Remove test for static initialization of stdin, stdout, stderr
This removes a function that created a new mutex and conditional variable
and used memcpy() to compare them with ones in a given fdtable entry.
Since those struct members are initialized statically, this test doesn't
serve much of a purpose anymore. Moreover, padding bytes inside structs
are technically not required to be zero, so these memcpy() calls caused
SonarQube to complain.

Signed-off-by: Jakub Klimczak <jklimczak@internships.antmicro.com>
2025-11-18 08:12:19 -05:00
Jakub Klimczak
f16f3f641e zvfs: Move fdtable into ZVFS
The file descriptor table is used in every area that expects to work on
files through descriptor indices. It can only be operated on through
functions whose names indicate a relationship with ZVFS (`zvfs_*fd*`).
The integer file descriptor mechanism shouldn't be separate from ZVFS.
This will make cooperation between different file access APIs much
simpler. This commit also makes preparations for the fdtable becoming
optional.

Signed-off-by: Jakub Klimczak <jklimczak@internships.antmicro.com>
2025-11-18 08:12:19 -05:00
Jakub Klimczak
735f0d7363 zvfs: Move file operations from POSIX into ZVFS
This commit moves all operations on single files into ZVFS and makes the
POSIX subsystem call into ZVFS to perform them. It was necessary to define
a `struct zvfs_stat` to avoid a dependency cycle. Functions used
internally for file i/o operations are publicised since they won't require
any changes between various subsystems. This allows ZVFS to actually
fulfill its purpose of facilitating cooperation of different file APIs.

Signed-off-by: Jakub Klimczak <jklimczak@internships.antmicro.com>
2025-11-18 08:12:19 -05:00
Alexander Svensen
52f2686de6 tests: bluetooth: tester: CSIS: Add more commands
- Add command for setting the set size
- Add command for setting the SIRK
- Allows the following tests to pass:
 - CSIS/SR/CN/BV-01-C
 - CSIS/SR/CN/BV-02-C
 - CSIS/SR/CN/BV-03-C
 - CSIS/SR/CN/BV-04-C

Signed-off-by: Alexander Svensen <alexander.svensen@nordicsemi.no>
2025-11-18 08:12:06 -05:00
Alexander Svensen
fa8c244313 Bluetooth: Audio: CSIS: Check all pending notifications
- When a bonded device is reconnected, check flags for pending
  notifications for:
 - Lock
 - SIRK
 - Size

Previously only lock was checked

Signed-off-by: Alexander Svensen <alexander.svensen@nordicsemi.no>
2025-11-18 08:12:06 -05:00
Jordan Yates
f8f43c411e lib: net_buf: usage helper functions
Add helper functions for querying the internal fields of
`struct net_buf_pool` when `CONFIG_NET_BUF_POOL_USAGE` is enabled.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-11-18 08:11:56 -05:00
Charles Dias
394b49de28 boards: st: stm32u5g9j_dk1: Enable STTS22H and add ambient-temp alias
Add STTS22H node at I2C3 with node label stts22h_temperature
and add ambient-temp alias.

Signed-off-by: Charles Dias <charlesdias.cd@outlook.com>
2025-11-18 08:11:42 -05:00
Simon Maurer
c7fc608633 drivers: i2c: i2c_xilinx_axi: switch to DEVICE_MMIO API
Switch the Xilinx AXI I2C device driver to use the DEVICE_MMIO_...
macros instead of directly using the physical base address from the
device tree. This allows the driver to work on SoCs with an MMU,
such as the Zynq-7000.

Signed-off-by: Simon Maurer <mail@maurer.systems>
2025-11-18 08:11:16 -05:00
Tamas Jozsi
9ebf508e5f boards: arduino: add ADC support for the Nano Matter
Adds ADC capability to the A0-A7 pins on the board.

Signed-off-by: Tamas Jozsi <tamas.jozsi@silabs.com>
2025-11-18 08:11:01 -05:00
Henrik Brix Andersen
3cba0beef6 logging: mark custom header inclusion as experimental
Mark the custom logging header support as experimental.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2025-11-18 08:10:51 -05:00