Commit graph

15394 commits

Author SHA1 Message Date
Robert Lubos
35af68b840 net: mqtt: Allow to bind client to a specific interface
Add a new "if_name" pointer to the transport configuration structure,
allowing the application to bind MQTT client to a specific network
interface.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2025-06-11 16:18:31 -07:00
Daniel Leung
26ea29ddba toolchain: xcc: define __deprecated only if not already defined
Some tests explicitly test for deprecated functions and they
override the macro __deprecated to avoid compiler warnings.
So, for xcc/xt-clang, only define __deprecated if it has not
already been defined.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2025-06-11 16:10:53 -07:00
Fin Maaß
db79e78b98 net: mii: use BIT() macro in mii.h
use BIT() macro in mii.h.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-06-11 10:22:46 -07:00
Fin Maaß
ed4d421ace drivers: ethernet: remove phy related configs from eth config
remove phy related configs from eth config.
phy related configs chould go directly into the phy.
Most ethernet drivers didn't support the now removed
functions yet. Users should instead use `phy_configure_link()`
together with the `net_eth_get_phy()` function.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-06-11 10:17:37 -07:00
Jamie McCrae
656b6f37da devicetree: fixed-partition: Add sub-partition macros
Adds some macros for usage with sub-partitions

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2025-06-11 10:13:56 -07:00
Benjamin Cabé
66f5d701bd shell: fix alignment issue
Casting a char* to a struct* requires checking alignment as this can fail
on platforms requiring strict alignment (ex. Xtensa)

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-06-11 08:56:04 -07:00
Mike J. Chen
9075d53355 kernel: fix timeout bugs
When CONFIG_TIMEOUT_64BIT is y, positive values are relative/delta
timeouts and negative values are absolute timeouts, except
for two special values. -1 is K_WAIT_FOREVER and 0 is K_NO_WAIT.
The reserved value of -1 means INT64_MAX is not a valid argument
to K_TIMEOUT_ABS_TICKS(), but there was no check. If a literal
was passed, a preprocessor/compiler warning would be generated
for overflow, but if a variable was passed as the argument,
then the code would compile but not work correctly since the
absolute timeout would be changed to a relative one. One
example of this is task_wdt_init() if no channels are enabled.

Rather than just fixing task_wdt, and trying to find other cases
in an adhoc way, this CL changes K_TIMEOUT_ABS_TICKS() to
limit the larges value to (INT64_MAX-1). It does so silently,
but given the range of int64_t, there should be no practical
difference.

Also, change the implementation for Z_IS_TIMEOUT_RELATIVE() to
fix the case where INT64_MAX relative timeout was being
improperly reported as being not a relative timeout. This was
again due to the -1 reserved value.

Add some tests for these changes to the timer_api test.

Signed-off-by: Mike J. Chen <mjchen@google.com>
2025-06-11 09:56:13 +02:00
Benjamin Cabé
9ab0ea73a8 shell: Introduce structured help message
In order to enable better and more consistent help messages for shell
commands, this commit introduces a new SHELL_HELP macro that allows to
document a command's description and usage in a more structured way.

This will allow to get rid of inconsistent (and duplicated!) variations
of "Syntax: ...", "Syntax:\n ...", "Usage: ...", in the commands, and
formatting of the description+usage will be taken care of by the shell
when it detects the help message is using the "structured" format.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-06-11 09:55:21 +02:00
TOKITA Hiroshi
ba48d83bec devicetree: Use IS_EQ() for DT_SAME_NODE()
`DT_SAME_NODE()` is judged by `==` and cannot be used as
a condition for `COND_CODE_1()`.
Using `IS_EQ()` to make it possible for compile-time
calculation.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2025-06-11 08:19:41 +02:00
Keith Packard
107198204c zephyr/linker: Move .tbss section back to ROMABLE_REGION
Placing this in RAMABLE_REGION messes up the TLS offsets computed by the
linker, presumably because it's not adjacent to the .tdata section.

In any case, it doesn't really matter as all we want the linker to do is
compute offsets from the TLS base value for all .tdata and .tbss values.

Signed-off-by: Keith Packard <keithp@keithp.com>
2025-06-11 08:14:46 +02:00
Keith Packard
513e6ed5d2 arch/common: Mark interrupt tables const when !DYNAMIC_INTERRUPTS
When not using dynamic interrupt mapping, various interrupt tables are
configured to be stored in read-only memory in the linker script.. Mark
them const so that the linker doesn't complain.

This affects _sw_isr_table, _irq_vector_table, and z_shared_sw_isr_table in
arch/common along with _VectorTable in arch/arc.

Signed-off-by: Keith Packard <keithp@keithp.com>
2025-06-10 22:13:09 +02:00
Keith Packard
5890c73087 linker: Place .tbss section in RAM, not FLASH
If this section is placed in FLASH, the section gets marked
as writable even though .tbss values will never be stored there.

Signed-off-by: Keith Packard <keithp@keithp.com>
2025-06-10 22:13:09 +02:00
Maksim Salau
bdd94261a5 modbus: serial: Add non-compliant mode with custom stop-bit settings
The mode is activated by the CONFIG_MODBUS_NONCOMPLIANT_SERIAL_MODE option
and allows any stop-bit setting for the serial port.

Signed-off-by: Maksim Salau <msalau@iotecha.com>
2025-06-10 12:53:23 -04:00
Guennadi Liakhovetski
5f4177b47c llext: add context save and restore
Some applications need to save LLEXT context, e.g. when suspending,
to later restore it quickly without a full relinking. Add 2 functions
for context saving and restoring. Since these functions are likely to
change in the future, put them in llext_experimental.c, which depends
on CONFIG_LLEXT_EXPERIMENTAL and is disabled by default.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2025-06-10 12:52:38 -04:00
Guennadi Liakhovetski
d8195c05c7 llext: rename _llext_list to llext_list
Beginning symbols or structure field names with an underscore isn't a
widely used style in Zephyr, remove the leading underscore from
_llext_list.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2025-06-10 12:52:38 -04:00
Alberto Escolar Piedras
f19432a576 include mwdt: Change ifdef from NATIVE_APPLICATION to NATIVE_BUILD
NATIVE_APPLICATION is now deprecated so nobody will set it,
but NATIVE_BUILD should cover the same case this build error
is trying to warn about. Let's use it instead.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2025-06-10 13:29:28 +02:00
Lu Jia
634b72a76c Bluetooth: Add API to obtain ACL connection corresponding to a2dp
When connecting two devices with an application, it
is necessary to differentiate which is the remote device.

Signed-off-by: Lu Jia <jialu@xiaomi.com>
2025-06-10 13:28:16 +02:00
Sai Santhosh Malae
9c436baf85 drivers: adc: siwx91x: Analog pin initialization
Modified pinctrl driver to configure analog pins for
ULP and HP modes.

Signed-off-by: Sai Santhosh Malae <Santhosh.Malae@silabs.com>
2025-06-10 12:07:33 +02:00
Sai Santhosh Malae
6d5e217262 drivers: adc: siwx91x: ADC clock initialization for siwx91x
Clock driver changes required for initializing the ADC clock
for the siwx91x driver

Signed-off-by: Sai Santhosh Malae <Santhosh.Malae@silabs.com>
2025-06-10 12:07:33 +02:00
Furkan Akkiz
e5fb161de4 dts: arm: adi: Add MAX32657 DMA instances and binding file
Add DMA0 and DMA1 nodes to MAX32657 dtsi file and add binding file
for DMA slots.

Signed-off-by: Furkan Akkiz <hasanfurkan.akkiz@analog.com>
2025-06-10 08:47:42 +02:00
Qiankun Li
448b787c82 net: l2: wifi: Modify btwt_setup usage.
Soft ap supports WIFI_BTWT_AGREEMENT_MAX BTWT sessions.
The BTWT parameters for each session can be different.

The current usage can only set one set of parameters.
All sessions follow this set of parameters.

Add enhance code to support setting different
BTWT parameters for every sessions.

Usage:
wifi twt btwt_setup <sta_wait> <offset>
<twtli> <session_num>
<id0> <mantissa0> <exponent0> <nominal_wake0>
<id1> <mantissa1> <exponent1> <nominal_wake1>
<idx> <mantissax> <exponentx> <nominal_wakex>
The total number of '0, 1, ..., x' is session_num

For example:
wifi twt btwt_setup 0 0 0 2 0 112 10 128 1 32 10 64

Signed-off-by: Qiankun Li <qiankun.li@nxp.com>
2025-06-10 08:47:25 +02:00
Benjamin Cabé
9d785706df pinctrl: raspberrypi: rp2350: fix copy-paste error
correct the entry for PWM_3B_P23

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-06-09 14:52:18 -07:00
Benjamin Cabé
f72942067a drivers: led: fix LED_BRIGTHNESS_MAX typo
Renames LED_BRIGTHNESS_MAX to LED_BRIGHTNESS_MAX in led.h and all
in-tree users of the macro.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-06-09 14:50:33 -07:00
Pavel Maloletkov
26cf7a0064 net: http: fix __z_http_service_define fields incorrect order
Fixes an error:
error: designator order for field 'http_service_desc::backlog'
does not match declaration order in 'const http_service_desc'
When compiled for C++

Signed-off-by: Pavel Maloletkov <pavllick@gmail.com>
2025-06-09 14:43:04 -07:00
Sudan Landge
5a3c4941a2 pinctrl: add support for mps4
Add MPS4 pinctrl support by referring to
`mps4/common/partition/platform_base_address.h`
from TF-M's main branch.

Signed-off-by: Sudan Landge <sudan.landge@arm.com>
2025-06-09 14:35:12 -07:00
Jordan Yates
c0ca636692 adc: add microvolt conversion functions
Add a family of functions that convert to microvolts instead of
millivolts. The resolution of an ADC with a 600 mV reference and a 12
bit output (nRF SAADC for example) is an order of magnitude better than
millivolts (0.146 mV), even before considering non-unity gains.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-06-09 10:25:52 +01:00
Jordan Yates
8ab300d63e adc: 64bit gain inversion function
Add a variant of `adc_gain_invert` that operates on an `int64_t` instead
of `int32_t`.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-06-09 10:25:52 +01:00
Sayooj K Karun
cd7c78e92e lib: min_heap: Add min-heap data structure
Introduce a binary min-heap implementation as a generic data structure
for use in kernel and application code. A min-heap always maintains
the smallest element at the root, making insertion and removal of the
minimum element efficient (O(log n)).

The API allows both static and dynamic initialization, supports custom
comparators.

Signed-off-by: Sayooj K Karun <sayooj@aerlync.com>
2025-06-07 13:29:24 +01:00
Ivan Wagner
b9cd08b2ea drivers: sensor: lsm6dso: add support for tilt and tap triggers
Tilt or Tap can be selected via config and further tap parameters can be
configured via DT.

Signed-off-by: Ivan Wagner <ivan.wagner@tecinvent.ch>
2025-06-06 20:11:46 +01:00
Armando Visconti
a10f807994 drivers/lis2dux12: add read_and_decode APIs support
Add RTIO async and RTIO stream functionalities that enables,
among all the other things, the sensor data streaming from FIFO.

RTIO stream supports following triggers:

  - SENSOR_TRIG_FIFO_WATERMARK
  - SENSOR_TRIG_FIFO_FULL
  - SENSOR_TRIG_DATA_READY

Following FIFO parameters has to be defined in device tree to
correctly stream sensor data:

  - fifo-watermark
  - accel-fifo-batch-rate

Currently the driver can decode FIFO content with Accelerometer
16-bit samples.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2025-06-06 09:11:04 -07:00
Jukka Rissanen
a2ff40e112 net: pkt: Fix net_pkt_pull() documentation
Fix the net_pkt_pull() documentation and mention that the
function can remove data from the start of the network packet.
The function is meant to work similar way net_buf_pull() but
it can handle multiple net_buf fragments.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2025-06-06 09:09:49 -07:00
Carles Cufi
3b8e1fa8df doc: kernel: Clarify relationship between direct and ZLI interrupts
The documentation did not state clearly that any zero-latency IRQ must
also be declared as a direct ISR. This is critical because failure to do
so may cause race conditions between the ZLI and regular ISRs when
executing the preable/postamble code in regular interrupts.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2025-06-06 14:49:16 +01:00
Raffael Rostagno
a08ec3c0ec soc: esp32c2: esp8684: Add pinctrl for i2c
Add pinctrl configuration for i2c peripheral.

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2025-06-06 14:48:37 +01:00
Andreas Schuster
41c6257046 include: dt-bindings: stm32g0_clock: add mco macros
Adds macros to be able to use the microcontroller clock output (MCO) on the
STM32G0 microcontroller.

Signed-off-by: Andreas Schuster <andreas.schuster@schuam.de>
2025-06-06 11:52:40 +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
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
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
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ß
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ß
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
Anas Nashif
6559c7f554 sys: slist/sflist: remove stray FIXME
The FIXME asking a question that is not valid anymore, remove the FIXME.

Fixes #90764

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-06-05 09:34:55 +02:00
Bjarki Arge Andreasen
b642925491 pm: policy: fix mocks of CONFIG_PM_POLICY_DEVICE_CONSTRAINTS
The APIs pm_policy_device_power_lock_get and
pm_policy_device_power_lock_put are not mocked properly as they
should be excluded based on CONFIG_PM_POLICY_DEVICE_CONSTRAINTS,
not CONFIG_PM.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-06-05 09:34:31 +02:00
Jiafei Pan
b0ba009d4d dts: add i.MX 943 Cortex-A Core dts
Added i.MX 943 Cortex-A Core dts file and clock binding header file.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2025-06-04 15:51:36 -04:00
Alex Ivanov
5a9394a1e0 llext: add dynamic heap allocation support
Some applications require loading extensions into the memory which does
not exist during the boot time and cannot be allocated statically. Make
the application responsible for LLEXT heap allocation. Do not allocate
LLEXT heap statically.

Signed-off-by: Alex Ivanov <alexivanov@google.com>
2025-06-04 15:50:57 -04:00
Peter Mitsis
e3aa34972e doc: arch: Update file summary for kernel interfaces
Updates the file summary on the various arch-specific kernel
interfaces to accomplish two things:
  1. Fix the path in the comment
  2. Standardize on language/format.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2025-06-04 15:50:02 -04:00
Bjarki Arge Andreasen
6aeca71a4d drivers: clock_control: nrf_clock_control: introduce startup time
Introduce get_startup_time API which allows users to request
clocks specs to be met in time for an event.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-06-04 17:00:40 +02:00
Bjarki Arge Andreasen
b1a5588c79 drivers: clock_control: nrf_clock_control: introduce resolve API
Introduce API which allows users to determine what the actual
minimum spec will be resulting from a requested minimum spec. This
is useful for optimizing code as the requested minimum may be
way worse than what will actually be applied.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-06-04 17:00:40 +02:00
Tien Nguyen
9a03938015 drivers: pinctrl: Add support for Renesas RZ/V2H
Add support for Renesas RZ/V2H

Signed-off-by: Tien Nguyen <tien.nguyen.zg@renesas.com>
Signed-off-by: Quang Le <quang.le.eb@bp.renesas.com>
2025-06-04 17:00:01 +02:00
Jiafei Pan
abcdb18568 arch: arm64: cache: optionally enable APIs for operation all dcache
Added new configuration item to optionally enable APIs for operation
all data cache, by default these APIs are disabled.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2025-06-04 16:59:43 +02:00