Commit graph

126,787 commits

Author SHA1 Message Date
Parthiban Nallathambi
455e76f68f drivers: gpio: fix pincm lut size
LUT sizes directly reflects the global data when enabled in dts
(even if no or few pins are really consumed). Also the PINCM
numbering across the series (g, l and c) is within 255, so fix
to use uint8_t to save the global space.

Signed-off-by: Parthiban Nallathambi <parthiban@linumiz.com>
2025-07-21 07:25:50 -04:00
Parthiban Nallathambi
7a70fab29b drivers: gpio: add support for mspm0L series banks
All the HAL API/wrapper depends on PINCM indexing, which cannot
be derived from neither pin number nor the address offset.

With current approach, update the LUT table of possible PINCM's
for L series with GPIO A, B and C banks.

Signed-off-by: Parthiban Nallathambi <parthiban@linumiz.com>
2025-07-21 07:25:50 -04:00
Parthiban Nallathambi
4e78996e16 soc: ti: mspm0: add support for L series
mspm0 family of SoC series is split into three category,

mspm0g - high performance
mspm0l - low power
mspm0c - entry level

With G already part added, add support for L series of SoC's.

Signed-off-by: Parthiban Nallathambi <parthiban@linumiz.com>
2025-07-21 07:25:50 -04:00
Parthiban Nallathambi
6bef297052 drivers: clock: conditional compile ulpclk udiv divider
although udiv is represented in clock tree of L series, this is
not really present or controllable from SYSCTL registers. Enable
udiv only if present in dts.

Signed-off-by: Parthiban Nallathambi <parthiban@linumiz.com>
2025-07-21 07:25:50 -04:00
Parthiban Nallathambi
2dc6307628 soc: ti: mspm0: restructure common files
mspm0 series (currently g, l and c) shares the common SoC
level init functions and pin control/muxing configurations.

To avoid duplication for each series, create a common path
and move the SoC and pin control definitions.

Other common functionalities like Power Management, Power off
handling will be added in future, which will be common across
series.

Signed-off-by: Parthiban Nallathambi <parthiban@linumiz.com>
2025-07-21 07:25:50 -04:00
Parthiban Nallathambi
abe9c49aad drivers: pinctrl: add pin function for 11/0xB
MSPM0Lx series supports pin function upto 11 i.e 0xb, extend
the pin control function number to 11.

Signed-off-by: Parthiban Nallathambi <parthiban@linumiz.com>
2025-07-21 07:25:50 -04:00
Parthiban Nallathambi
ae596652b1 soc: ti/mspm0: move flash config to common defconfig
Flash size and address is extracted from dts, which will be common
for all the upcoming series of SoC's like MSPM0L, MSPM0C. Move the
flash address and size to soc level defconfig.

Signed-off-by: Parthiban Nallathambi <parthiban@linumiz.com>
2025-07-21 07:25:50 -04:00
Parthiban Nallathambi
b4d0082450 manifest: ti: add support for MSPM0L series
Update manifest to point MSPM0L series support.
Currently it only supports L2228's devicetree pin functions.

Signed-off-by: Parthiban Nallathambi <parthiban@linumiz.com>
2025-07-21 07:25:50 -04:00
Matt Rodgers
873fae67f8 samples: adc: add board overlays for STM32 differential mode
Add overlays used for testing differential mode support in STM32 ADC
driver:
- Nucleo F303K8
- Nucleo H753ZI

Signed-off-by: Matt Rodgers <mrodgers@witekio.com>
2025-07-21 07:25:30 -04:00
Matt Rodgers
56621fa1de drivers: adc: stm32: add support for differential mode
Differential mode support consists of:
- If differential mode is supported by the underlying hardware AND at
  least one differential channel is enabled in the devicetree for this
  ADC instance, then perform a differential mode calibration in addition
  to the usual single ended calibration during initialisation.
- Set channels to the appropriate differential or single ended mode
  during channel setup.

Currently the N6 series is not supported even though the underlying
hardware supports differential mode, due to complications in the
calibration procedure.

Signed-off-by: Matt Rodgers <mrodgers@witekio.com>
Co-authored-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2025-07-21 07:25:30 -04:00
Saravanan Sekar
7ed3c4fc46 samples: drivers: pwm: Add a sample to test pwm capture
Add a sample to test pwm capture function.

Signed-off-by: Saravanan Sekar <saravanan@linumiz.com>
2025-07-21 07:25:10 -04:00
Saravanan Sekar
7cd96d693e dts: arm: ti: mspm0: Add timer TIMA1 node for pwm capture
Add a support for timer TIMA1 node for pwm capture.

Signed-off-by: Saravanan Sekar <saravanan@linumiz.com>
2025-07-21 07:25:10 -04:00
Saravanan Sekar
e051ec23ca drivers: pwm: Add a support for TI MSPM0 PWM capture
TI MSPM0 timer module has capture block used to capture timings of input
signal. Add a support for TI MSPM0 PWM capture.

Signed-off-by: Saravanan Sekar <saravanan@linumiz.com>
2025-07-21 07:25:10 -04:00
Ioannis Damigos
9709452cb6 tests: arm_sw_vector_relay: Add test case for RAM vector table relocation
Add test case to cover RAM vector table relocation when
CONFIG_SRAM_VECTOR_TABLE is selected

Signed-off-by: Ioannis Damigos <ioannis.damigos.uj@renesas.com>
2025-07-21 07:24:09 -04:00
Ioannis Damigos
c1bced810d tests: arm_sw_vector_relay: Take into account CONFIG_SRAM_VECTOR_TABLE
Take into account vector table RAM relocation.

Signed-off-by: Ioannis Damigos <ioannis.damigos.uj@renesas.com>
2025-07-21 07:24:09 -04:00
Anas Nashif
ac4aabc10d twister: support filtering tests using regex
Use --test-pattern to filter scenarios using regular expressions, for
example:

./scripts/twister --test-pattern '^kernel.semaphore.*' -v

will run all those test using this identifier pattern, and nothing else.
Multiple patterns are possible.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-07-21 07:23:58 -04:00
Tomi Fontanilles
5e4688fc15 secure_storage: increase stack sizes of tests
Certain implementations require more stack to operate.
Increase the stack size to avoid overflows.

Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
2025-07-21 07:23:49 -04:00
Jamie McCrae
5b21c2dde3 tests: settings: Add retention test
A clone of the zms test, using the retention backend, with support
for nrf52840dk and qemu_cortex_m3

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2025-07-21 07:23:29 -04:00
Jamie McCrae
7627367024 settings: Add retention backend
Adds a retention backend for settings

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2025-07-21 07:23:29 -04:00
Cheng Chang
c9651c6710 Bluetooth: host: a2dp: Fix stream recv callback not be checked
Now when role is sink and source sends data, stream recv callback is
not registered, apps works fail. so stream recv callback should be
checked.

Signed-off-by: Cheng Chang <cheng.chang@nxp.com>
2025-07-21 07:23:15 -04:00
Jordan Yates
365774246a spi: nrfx_spim: initial pin state to SLEEP, not DEFAULT
Configure the initial pin state of the SPIM peripheral to SLEEP, not
DEFAULT. This fixes the pins being configured in DEFAULT until the first
time the interface is used if `zephyr,pm-device-runtime-auto` is
enabled.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-07-21 07:23:06 -04:00
Jun Lin
f1f7ca459b drivers: input: npcx: init semaphore before interrupt enable
A kernel panic was observed on a platform when k_sem_give() was called
in npcx_kbd_ksi_isr(). From the panic information, it appears that
the semaphore was used before it was initialized. This commit prevents
the potential issue by enabling the interrupt only after
the input_kbd_matrix_common_init() function is called
(where the semaphore is initialized).

Signed-off-by: Jun Lin <CHLin56@nuvoton.com>
2025-07-21 07:22:53 -04:00
Jordan Yates
69acc016eb serial: nrfx_uarte: initial pin state to SLEEP
Configure the initial pin state of the UARTE peripheral to SLEEP, not
left uninitialised. This fixes the pin configuration not being set until
the interface is used if `zephyr,pm-device-runtime-auto` is enabled.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-07-21 07:22:38 -04:00
Pieter De Gendt
373c0724c9 scripts: ci: check_compliance: Capture failing tests
If a compliance test itself throws an exception, the entire script is
aborted.
Update this by capturing the exception and failing only the test itself.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2025-07-21 07:22:26 -04:00
Georgij Černyšiov
e71f79d644 scripts: west: runners: stm32cubeprogrammer: fix E0606 related to dl_file
Initialize 'dl_file' to 'None' before the logic that determines
which binary file to load.

Resolves the E0606 Pylint warning.

Signed-off-by: Georgij Černyšiov <geo.cgv@gmail.com>
2025-07-21 07:22:09 -04:00
Anas Nashif
9c480a3e80 stm32l562e_dk: map arduino_i2c to i2c1
Mapping for i2c was missing, added that and mapped it to i2c1.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-07-21 07:21:55 -04:00
Tomislav Milkovic
5410f74664 doc: connectivity: networking: api: tftp: Fix Kconfig option
Instead of CONFIG_MQTT_SN_LIB, correct Kconfig option to
enable TFTP client library is CONFIG_TFTP_LIB

Signed-off-by: Tomislav Milkovic <tomislav.milkovic95@gmail.com>
2025-07-21 07:21:20 -04:00
Tim Pambor
3d077c68ca scripts: requirements: Remove mock
Remove mock from requirements-actions.in as it is not needed anymore.

Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
2025-07-21 06:57:41 -04:00
Tim Pambor
12ba98b2dd scripts: requirements: Add back tomli
Add back tomli to the requirements-actions.txt as it is still used by
some dependencies.

Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
2025-07-21 06:57:41 -04:00
Robert Lubos
388a283d88 net: tcp: Fix declaration after label warning with clang
clang reports a warning about a label followed by a variable
declaration:

  label followed by a declaration is a C23 extension

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2025-07-21 06:57:14 -04:00
Robert Lubos
90bba475f5 net: tcp: Fix unaligned access warning with clang
Fix one leftover unaligned access warning generated by clang:

  warning: taking address of packed member 'th_seq' of class or
  structure 'tcphdr' may result in an unaligned pointer value

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2025-07-21 06:57:14 -04:00
Anas Nashif
87917a1087 tests: bt: host: mock k_heap_aligned_alloc
unit tests needs mocking for k_heap_aligned_alloc.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-07-20 23:25:14 -04:00
Luis Ubieda
ef41627f81 i3c: stm32: Prevent mutex deadlock on DAA failure
Make sure this function always unlocks bus_mutex.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-07-20 23:24:58 -04:00
Dmitrii Sharshakov
4044e0e75c drivers: hwinfo: rpi_pico: use bootrom method on RP2350
RP2350 provides a function to get OTP-backed chip ID. Prefer using this
on supported platforms for these reasons:
- a secure internal identifier, same as read by picotool
- works on flashless boards
- does not conflict with code running in XIP mode (e.g. when the other
 core tries to access device ID)
- when used with USB HWID serial number will match one BootROM has

Signed-off-by: Dmitrii Sharshakov <d3dx12.xx@gmail.com>
Co-authored-by: Alexander Wachter <alexander@wachter.cloud>
2025-07-20 18:49:09 -04:00
Jorge Ramirez-Ortiz
f9eeefa6e0 samples: net: latmon: latency monitor tool
Supports the EVL/Xenomai4 benchmarking tool as described in the
documentation. The benchmarking tool is accessed via the latmon service.

This code uses the J2 socket on FRDMk64-F:
             PIN_20: tx pulse to SUT
             PIN_18: rx ack from SUT

The client code running on the SUT shall monitor the falling edge of
PIN_20.

Example usage from the latmus client running Xenomai4:
 $ latmus -I gpiochip2,23,falling-edge  \
          -O gpiochip2,21 -g"histogram" \
          -z broadcast

Signed-off-by: Jorge Ramirez-Ortiz <jorge.ramirez@oss.qualcomm.com>
2025-07-20 12:27:30 -04:00
Jorge Ramirez-Ortiz
8c0c4bdace net: latmon: Add latency monitor service
Latmon service to interface with Xenomai's Latmus.

Link: https://evlproject.org/core/benchmarks/#latmus-gpio-response-time

Signed-off-by: Jorge Ramirez-Ortiz <jorge.ramirez@oss.qualcomm.com>
2025-07-20 12:27:30 -04:00
Peter Mitsis
0fef4cae82 doc: Add notes on lazy HiFi sharing
Updates the Xtensa hardware documentation to provide details about
the new lazy HiFi sharing model.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2025-07-20 12:25:17 -04:00
Peter Mitsis
24d67b8ab6 tests: Update HiFi ctx switching
Adds test case for lazy HiFi context switching.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2025-07-20 12:25:17 -04:00
Peter Mitsis
e50851d476 arch: xtensa: Add support for lazy HiFi ctx switching
When lazy HiFi context switching is enabled, the system starts with
the HiFi coprocessor disabled. Should the thread use that coprocessor,
it will generate an exception which in turn will enable the coprocessor
and save/restore the HiFi registers as appropriate. When switching
to a new thread, the HiFi coprocessor is again disabled.

For simplicity, there are no restrictions as to which thread is allowed
to use the coprocessor.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2025-07-20 12:25:17 -04:00
Peter Mitsis
d397a91c62 kernel: Add arch_coprocessors_disable()
The intent of arch_coprocessors_disable() is to replace
arch_float_disable() in halt_thread() for the FPU will not
always be the only coprocessor that will need to be disabled.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2025-07-20 12:25:17 -04:00
Peter Mitsis
decedcabf6 arch: xtensa: Add hifi_owner for lazy switching
Adds a customized _cpu_arch structure for Xtensa so that it contains
a pointer to the thread that 'owns' the hifi register set for use
with lazy save/restore.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2025-07-20 12:25:17 -04:00
Peter Mitsis
6505cf2e54 arch: xtensa: Carve space for saved HiFi regs
As the BSA can not be used when lazy HiFi context switching is
used, a more permanent and predictable location in which to store
the registers is required. To this end ...
  1. reserve some space in the arch-specific portion of the k_thread
     structure for those registers.
  2. clear that region when the thread is created.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2025-07-20 12:25:17 -04:00
Peter Mitsis
cd351208d5 arch: xtensa: Refine HiFi sharing Kconfigs
Splits HiFi sharing into two different models.
 1. XTENSA_EAGER_HIFI_SHARING - unconditional save/restore
    of the HiFi registers when context switching
 2. XTENSA_LAZY_HIFI_SHARING - on demand save/restore of
    of the HiFi registers. If a thread does not use the
    HiFi registers, they are neither saved nor restored.

To maintain backwards compatibility, the eager model is the
default model when XTENSA_HIFI_SHARING is enabled.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2025-07-20 12:25:17 -04:00
Nirav Agrawal
b59d8d56bf bluetooth: bap_unicast_client: fix PTS BAP/UCL/SCC/BV-103-C failure
- In bap_unicast_client, it was assumed that ASE is binded with CIS
 handler during sending "received_stop_ready" to unicast_server.
- In case where unicast_client has not started the stream with
 "receiver_start_ready" att command to server, but wants to disable
 ASE which was Enabled previously (but not stream!) causes failure
 since there is no cis_create has happened and linked to ASE.
- In BAP_TS, "BAP/UCL/SCC/BV-103-C" has a same test conditions where
 client first enables the ASE, disable the ASE, and expecting
 "receiver_stop_ready" att command from client to server followed by
 server notification to enter its ASE in QoS_configured state.
- Removed this condition checks to send expected att command to
 server from Enabling ASE state to Disable ASE.

Signed-off-by: Nirav Agrawal <nirav.agrawal@nxp.com>
2025-07-20 12:24:43 -04:00
Peter van der Perk
2784cac77c soc: nxp: imx95: Fix systick flooding by enabling cache earlier
Systick is already enabled before late hook got called. In certain
circumstances systick could flooding the core and thus only handling
systicks. Enabling cache earlier using soc_early_init_hook ensures
that systick get handled quicker.

Signed-off-by: Peter van der Perk <peter.vanderperk@nxp.com>
2025-07-20 12:24:20 -04:00
Anas Nashif
f66460bed6 Revert "zephyr: Add zephyr module file"
This reverts commit 77229cb123.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-07-19 20:58:31 -04:00
Anas Nashif
2f35e68dd8 Revert "scripts: ci: check_compliance: Add support for module Kconfigs"
This reverts commit 6013fc7201.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-07-19 20:58:31 -04:00
Anas Nashif
9219c81b66 twister: make no-detailed-test-id default
Make this option default and reduce amount of details displayed by
twister.
This options has been enabled in CI for a while now with the intention
of making it default.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-07-19 15:50:47 -04:00
Lidor T
b68058787e counter: cmsdk_apb_dualtimer: Use clock freq from DT clocks
Previously, the CMSDK APB dual timer driver hardcoded the counter
clock frequency to 24 MHz, which limits reuse across SoCs and
boards with different timer clock sources.

This patch replaces the hardcoded frequency with a value derived
from the device tree's `clocks` phandle, using the
`clock-frequency` property of the referenced clock controller node.

If the property is missing, it falls back to a default 24 MHz.

Signed-off-by: Lidor T <lidor@exibit-iot.com>
2025-07-19 15:50:31 -04:00
Jamie McCrae
5ef8a576bf settings: Only use mutexes when multithreading is enabled
Allows usage of settings when multithreading is disabled

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2025-07-19 15:50:23 -04:00