Commit Graph

116501 Commits

Author SHA1 Message Date
Henrik Lindblom
24b4ce189f drivers: stm32: dma: fix external dcache support
Several drivers checked for the presense and availability of data cache
through Kconfig symbol. This is supported according to the current
documentation, but the symbol DCACHE masks two types of cache devices: arch
and external caches. The latter is present on some Cortex-M33 chips, like
the STM32U5xx. The external dcache is bypassed when accessing internal
SRAM and only used for external memories.

In commit a2dd232410 ("drivers: adc: stm32: dma support") the rationale
for gating dcache for adc_stm32 behind STM32H7X is only hinted at, but
reason seems to be that it was the only SOC the change was tested on. The
SOC configures DCACHE=y so it is most likely safe to swap the SOC gate for
DCACHE.

The DCACHE ifdefs are now hidden inside the shared stm32_buf_in_nocache()
implementation.

Signed-off-by: Henrik Lindblom <henrik.lindblom@vaisala.com>
2025-06-06 10:19:58 +02:00
Peter Mitsis
811302e6d2 kernel: sys_heap: Fix chunk size request validation
Updates the heap code to ensure that when converting the requested
number of bytes to chunks, we do not return a value that exceeds
the number of chunks in the heap.

Fixes #90306

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2025-06-06 10:12:19 +02:00
Marcel Krüger
45f3b71b39 input_gpio: Fix not using latest pin state on pm resume
When the device was suspended and the pin level changed during
that time, the pin level of course isn't updated in the pins cb_data.
Once the device is resumed, this leads to potentially having
a wrong value in the pin state data leading to swallowing the first
event due to comparing the stored level vs. the new level before
reporting.

Also added some `const`s and deleted an unused struct element.

Signed-off-by: Marcel Krüger <marcel@mkgr.dev>
2025-06-06 10:12:11 +02:00
Abderrahmane JARMOUNI
b31251b4b4 drivers: stm32: i2c rtio: Fix 'timings' array size
'timings' is an array of 'struct i2c_config_timing' (3 x uint32_t).
'i2c_timings_##index' is an array of uint32_t (hence the cast when it
is assigned to 'timings'). Therefore 'ARRAY_SIZE(i2c_timings_##index)' is
off by a factor 3 when used for n_timings.

Signed-off-by: Abderrahmane JARMOUNI <git@jarmouni.me>
2025-06-06 10:11:59 +02:00
Yuval Peress
d17956a074 build: Support SYSROOT_DIR in native_sim and clang
When running naive sim builds using clang, respect user passed
SYSROOT_DIR values. Additionally, allow overriding the archive tool
when calling Make for the native simulator.

Add the sysroot (if available) to the native_simulator target and
TOOLCHAIN_C_FLAGS and TOOLCHAIN_LD_FLAGS. Additionally pass CMAKE_AR
to NSI_AR.

Signed-off-by: Yuval Peress <peress@google.com>
2025-06-06 10:11:49 +02:00
Yishai Jaffe
8a26316f17 boards: st: nucleo_l433rc_p: add die_temp, vref, and vbat nodes
Added die_temp, vref, and vbat nodes and their aliases to the
nucleo_l433rc_p board.

Signed-off-by: Yishai Jaffe <yishai1999@gmail.com>
2025-06-06 10:11:42 +02:00
Yishai Jaffe
7fe85f8cb4 drivers: serial: stm32: simplify logic
Simplify the logic for the `uart_stm32_cfg2ll_databits` function
regarding `LL_USART_DATAWIDTH_9B` being defined or not.

Signed-off-by: Yishai Jaffe <yishai1999@gmail.com>
2025-06-06 10:11:29 +02:00
Jan Behrens
0f22fde988 boards: shields: Added Mikroe Stepper 18 Click Shield
This shield includes a drv8426 stepper driver and a mcp4726 dac for
current control. Note that the micro-step pins are controlled by
physical switches and are thus not available in Zephyr.

Signed-off-by: Jan Behrens <jan.behrens@navimatix.de>
2025-06-06 10:11:17 +02:00
Jan Behrens
a3d298cb6a boards: shields: Added Mikroe Stepper 19 Click Shield
This shield includes a ti drv8424 stepper driver that is controlled
via gpio. Some of these pins are only available via the tca9538a gpio
expander on the shield.

Signed-off-by: Jan Behrens <jan.behrens@navimatix.de>
2025-06-06 10:11:17 +02:00
Francois Ramu
cbe3e18396 drivers: flash: stm32h7RS flash size is fixed to 64KBytes
Fix the flash size to 64KB for the stm32H7RS series.
Restore the get_size API function for that series.
This is a specificity of this stm32 mcu (RefMan RM0477).

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2025-06-06 10:11:07 +02:00
Alain Volmat
48a8716dec shields: st_b_cams_imx_mb1854: add stm32n6 specifc confs
Add configuration for the STM32N6 DCMIPP driver which currently
requires to have the sensor pixel format and resolutions set via
KConfig

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-06-06 10:10:58 +02:00
Alain Volmat
314953b19b dts: arm: st: mp13: add dcmipp node in stm32mp135.dtsi
Add node describing the DCMIPP available on stm32mp135.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-06-06 10:10:58 +02:00
Alain Volmat
e4f6be0e5d boards: st: stm32n6570_dk: csi_22pins connector related labels
Add csi_22pins_connector and related label in order to use
shields relying on csi_pins_connector.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-06-06 10:10:58 +02:00
Alain Volmat
9600fc523c boards: st: stm32n6570_dk: Add IC17/IC18 settings for DCMIPP/CSI
Add configuration of the IC17 and IC18 clock dividers, used
by the dcmipp and csi IPs in the stm32n6.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-06-06 10:10:58 +02:00
Alain Volmat
56e38ee034 dts: arm: st: n6: add dcmipp node
Add node describing the dcmipp in stm32n6.dtsi

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-06-06 10:10:58 +02:00
Alain Volmat
fea5c421b4 drivers: video: dcmipp: add functions for external ISP functions usage
Add weak functions and their call within the dcmipp driver so that
externally provided ISP control functions can be called by the
driver at right timing in order to perform the control of the
ISP part of the DCMIPP.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-06-06 10:10:58 +02:00
Alain Volmat
cd8dccf211 drivers: video: introduction of the stm32 DCMIPP driver
The STM32 Digital Camera Memory Interface Pixel Processor (DCMIPP)
is a multi-pipeline camera interface allowing to capture
and process frames from parallel or CSI interfaces depending on its
version.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-06-06 10:10:58 +02:00
Alain Volmat
a3f9d52d10 dts-bindings: video: addition of stm32 dcmipp description
Addition of description for the STM32
Digital Camera Memory Interface Pixel Processor (DCMIPP).

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-06-06 10:10:58 +02:00
Florijan Plohl
e0bd460de0 drivers: sensor: Add icm40627 6-axis accelerometer driver
Initial driver for the icm40627 from Invensense/TDK, a 6-axis
accelerometer with gyroscope and temperature sensing capabilities.

Signed-off-by: Florijan Plohl <florijan.plohl@norik.com>
2025-06-06 10:10:23 +02:00
Noah Pendleton
b377543628 samples: fs: typo in project name
Looked like copy-paste typo from the `samples/subsys/usb/mass` sample.

Signed-off-by: Noah Pendleton <noah.pendleton@gmail.com>
2025-06-06 08:46:04 +02:00
Carles Cufi
03f46db859 include: sys_clock: Fix compilation when SYS_CLOCK_EXISTS is disabled
If `CONFIG_SYS_CLOCK_EXISTS=n`, then
`CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC` will likely not be defined at all.
Fix the compilation by moving the check for it being `== 0` to a
separate preprocessor #if statement.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2025-06-06 08:45:57 +02:00
Tim Lin
97cdedec80 drivers/timer: it51xxx: Compensate time calculation to reduce drift
The EC timer runs at 9.2 MHz, which leads to a non-integer number of
ticks per microsecond. This causes slight overestimation when delays
are computed using whole ticks (e.g., using 10 ticks for 1 µs).
To address this, the busy wait calculation is adjusted with a
compensation factor to minimize cumulative timing error over time.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2025-06-06 08:45:43 +02:00
Axel Le Bourhis
3c6a3826ad soc: nxp: rw: adjust ACL bt_conn_tx contexts to match Controller's
RW61x's controller uses 8 ACL packets, adjust `BT_BUF_ACL_TX_COUNT`
to match it.

Signed-off-by: Axel Le Bourhis <axel.lebourhis@nxp.com>
2025-06-06 08:45:33 +02:00
Axel Le Bourhis
df2dac7a68 soc: nxp: mcxw: adjust ACL bt_conn_tx contexts to match Controller's
MCXW7x's controller uses 12 ACL packets, adjust `BT_BUF_ACL_TX_COUNT`
to match it.

Signed-off-by: Axel Le Bourhis <axel.lebourhis@nxp.com>
2025-06-06 08:45:33 +02:00
Axel Le Bourhis
928aa4a196 drivers: bluetooth: hci_nxp: fix discarding multi part adv reports
In case of extended advertising, advertising data can be reported in
parts, so we shouldn't discard them.
Instead, only discard the legacy advertising reports.

Signed-off-by: Axel Le Bourhis <axel.lebourhis@nxp.com>
2025-06-06 08:45:33 +02:00
Szymon Czapracki
c91b98c829 tests: Bluetooth: tester: Instructions for btsnoop and RTT logging
Updated the tester README with configuration options required to
build with support for btsnoop and SEGGER RTT log backends. This
helps developers capture logs for debugging and analysis during
Bluetooth testing.

Signed-off-by: Szymon Czapracki <szymon.czapracki@codecoup.pl>
2025-06-06 08:45:23 +02:00
Benjamin Cabé
17ab862169 scripts: ci: add vermin (min python version check)
Add a compliance check that allows to flag when a given file requires a
Python version higher than 3.10 (minimum supported version in Zephyr at
the time of writing) since not all Python scripts are tested against
3.10 in CI and we want to avoid introducing changes that could break
users.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-06-06 08:45:13 +02:00
Benjamin Cabé
710a7272ba scripts: requirements: update pinned dependencies
Run uv-compile to update to latest minor versions of dependencies.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-06-06 08:45:13 +02:00
Neil Chen
4427880741 boards: nxp: frdm_mcxa156: Correct macros values
Update macros CLOCK_INIT_CORE_CLOCK and BOARD_BOOTCLOCKFRO96M_CORE_CLOCK
value to 96Mhz, not 960Mhz.

Signed-off-by: Neil Chen <cheng.chen_1@nxp.com>
2025-06-06 08:45:02 +02:00
Mike J. Chen
9564a5e07b drivers: dma_mcux_lpc: fix bug using INPUTMUX
The typical way of calling INPUTMUX_AttachSignal() is to
bracket it around INPUTMUX_Init() and INPUTMUX_Deinit()
calls because we can reduce power consumption by not
keeping the interface powered when not changing INPUTMUX.

This driver was violating that convention, which caused
it to not coexist well with other code that followed the
usage convention because the INPUTMUX might be initialized
or not depending on execution order with the other modules.

Signed-off-by: Mike J. Chen <mjchen@google.com>
2025-06-06 08:44:54 +02:00
Mike J. Chen
2923504780 soc: nxp: imxrt: imxrt5xx: add Fusion F1 DSP selects
Add select for GEN_HANDLERS to use the more efficient
generated interrupt handlers.

Add select for HIFI3, which are the SIMD related registers.

Signed-off-by: Mike J. Chen <mjchen@google.com>
2025-06-06 08:43:52 +02:00
Alvis Sun
c2f45ca588 drivers: i3c: npcx: add support for target reset request handling
This patch introduces handling for the target reset request (RSTACT)
in the I3C controller.
It enables the controller to send a broadcast RSTACT command along with
the target reset pattern in a single frame.

Signed-off-by: Alvis Sun <yfsun@nuvoton.com>
2025-06-06 08:43:32 +02:00
Tomasz Leman
e70765391f soc: intel_adsp: Fix typo in cavs/power.c comment
This patch makes cosmetic changes to cavs/power.c by updating comments to
Doxygen style, fixing typos.

Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
2025-06-06 08:43:15 +02:00
Tomasz Leman
c26b0767f2 soc: intel_adsp: Update comment style and fix typos
This patch makes cosmetic changes to ace/power.c by updating comments to
Doxygen style, fixing typos, and removing an extraneous character for
improved readability and consistency.

Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
2025-06-06 08:43:15 +02:00
Tomasz Leman
fbafada9b6 soc: intel_adsp: Manage power gating based on core activity
This patch enhances the power management capabilities of the Intel ADSP
by ensuring that power gating states are appropriately managed based on
core activity. It prevents the primary core from entering power gating
if secondary cores are active and re-enables power gating when all
secondary cores are off, using pm_policy_state_lock_get and
pm_policy_state_lock_put functions.

The Sound Open Firmware (SOF) project currently uses a custom power
management policy to achieve these effects. With this patch, the default
power management policy can be utilized, allowing the option to disable
the custom policy while maintaining system reliability and performance
across different core states.

Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
2025-06-06 08:43:15 +02:00
Luca Arato
ab0218ed7e sys: Remove static modifier
Remove static struct modifier from SPSC_DECLARE macro.
This solves a warning emitted when compiling for native_sim.

Signed-off-by: Luca Arato <luca.arato@secomind.com>
2025-06-06 08:43:03 +02:00
Bjarki Arge Andreasen
73bf428ea1 tests: kernel: workq: work_queue: add work timeout test
Add workqueue work timeout test to work_queue test suite.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-06-06 08:42:53 +02:00
Bjarki Arge Andreasen
8f9eae25c9 kernel: workq: introduce work timeout:
Introduce work timeout, which is an optional workqueue configuration
which enables monitoring for work items which take longer than
expected. This could be due to long running or deadlocked handlers.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-06-06 08:42:53 +02:00
Fin Maaß
7505ef3f04 drivers: ethernet: phy: mii: simplify if all are fixed link
If all instances are fixed link, remove code that is
not needed for that.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-06-06 08:42:41 +02:00
Fin Maaß
1c319304d1 tests: add for DT_ALL_INST_HAS_PROP_STATUS_OKAY() macro
add test for DT_ALL_INST_HAS_PROP_STATUS_OKAY() macro.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-06-06 08:42:41 +02:00
Fin Maaß
75ab4d5507 devicetree: add DT_ALL_INST_HAS_PROP_STATUS_OKAY() macro
add DT_ALL_INST_HAS_PROP_STATUS_OKAY() macro.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-06-06 08:42:41 +02:00
Fin Maaß
416a76002e tests: add for DT_ALL_INST_HAS_BOOL_STATUS_OKAY() macro
add test for DT_ALL_INST_HAS_BOOL_STATUS_OKAY() macro.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-06-06 08:42:41 +02:00
Fin Maaß
35a8e37ac2 devicetree: add DT_ALL_INST_HAS_BOOL_STATUS_OKAY() macro
add DT_ALL_INST_HAS_BOOL_STATUS_OKAY() macro.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-06-06 08:42:41 +02:00
Fin Maaß
ca6645d508 devicetree: shorten DT_ANY_INST_HAS_*_STATUS_OKAY
shorten DT_ANY_INST_HAS_*_STATUS_OKAY macros

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-06-06 08:42:41 +02:00
Amneesh Singh
07c1d95d69 drivers: adc: ti_am335x: initial support
This patch adds the ADC driver for TI K3 family of SoCs. Technical
reference can be found in the Technical Reference Manual (TRM) of the
board.

Signed-off-by: Amneesh Singh <a-singh7@ti.com>
2025-06-06 08:42:32 +02:00
Francois Ramu
b647d70bca samples: subsys: setting does not apply when sector size is 128K
Exclude the stm32h7 target boards to this samples/subsys/settings
because it does not apply for flash sector flash size larger
than 64K : all those stm32h7 mcu have sector size of 128K
The settings_subsys_init will fails (-33 DOM errno ) when it checks
nvs_sector_size > UINT16_MAX in settings_backend_init()
of the subsys/settings/src/settings_nvs.c

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2025-06-06 08:42:22 +02:00
Torsten Rasmussen
2d5a81035a cmake: add tfm / tfa image information to build info
Support for list of images in build info was added with commit
4061311da3 and is used by sysbuild.

Zephyr itself also uses CMake's External Project feature when including
TF-M or TF-A in a Zephyr build.

Populate build info with TF-M / TF-A information when said image is
included in the build.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2025-06-06 08:42:11 +02:00
Mario Paja
f12ba46175 samples: i2s: add nucleo u575 overlay & conf files
Adds Nucleo U575 overlay and config files

Signed-off-by: Mario Paja <mario.paja@zal.aero>
2025-06-06 08:41:59 +02:00
Mario Paja
041f942ba8 drivers: i2s: add sai support for stm32u5xx
This PR adds initial sai support for STM32u5xx

Signed-off-by: Mario Paja <mario.paja@zal.aero>
2025-06-06 08:41:59 +02:00
Mario Paja
9f78a6969e dts: arm: st: stm32u5xx add sai1 node
Add SAI1 A & B nodes on STM32U5 Series

Signed-off-by: Mario Paja <mario.paja@zal.aero>
2025-06-06 08:41:59 +02:00