Commit graph

17,121 commits

Author SHA1 Message Date
Luis Ubieda
a000acf85b gnss: rtk: Add basic integration
Incorporate the basic RTK API as well as a basic client integration
(serial) as a way to receive and publish the RTK data.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-07-21 09:19:14 -04:00
Luis Ubieda
7a90d9d34d crc: Add CRC24Q for RTCM3 checksum calculations
Used in GNSS RTK correction frames.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-07-21 09:19:14 -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
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
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
Tomáš Juřena
7f7690aa83 include: zephyr: dt-bindings: Fix MCOx_yyy masks
Macros MCO1_SEL, MCO1_PRE, MCO2_SEL, MCO2_PRE uses 4 bits wide masks as
defined in the RM0490 Rev 5 section 6.4.3, page 136

Signed-off-by: Tomáš Juřena <jurenatomas@gmail.com>
2025-07-19 15:49:39 -04:00
Tomáš Juřena
b7f906aaf3 include: zephyr: dt-bindings: Fix USB_SEL mask
Selecting the clock source for USB is only a bit value in the CCIPR2
register.
See RM0490 Rev 5 chapter 6.4.21 page 159.

Signed-off-by: Tomáš Juřena <jurenatomas@gmail.com>
2025-07-19 15:49:39 -04:00
Anas Nashif
58a3e7bded arch: add macros for dumping exceptions
Add macros for dumping exceptions depending on availablity of logging or
printk.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-07-19 15:49:28 -04:00
Anas Nashif
81fe171ce7 arch: unify how we include exception.h
Just include <zephyr/arch/exception.h> in architecture code. The file
redirects to the correct implementation.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-07-19 15:49:28 -04:00
Mark Geiger
edbce504b0 sensor: nrf-qdec: Allow sampleper register configurable through dts
Allow for users to define the sampling period via the sampleper
register on a per instance basis through device-tree properties.
The previous value was hard coded. The same value is now the default
value.

Signed-off-by: Mark Geiger <MarkGeiger@posteo.de>
2025-07-19 15:45:27 -04:00
Jukka Rissanen
45a0a4949d lib: net_buf: Add a way to create pool with aligned data
Add a new macro NET_BUF_POOL_VAR_ALIGN_DEFINE() which can be
used to create a pool with aligned data where both the start
of the data and the length of the data is aligned.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2025-07-19 15:37:01 -04:00
Camille BAUD
dbd85ae677 drivers: Add header file with common functions for BFLB
This moves the couple functions that are and will be all over
the various clock operations for all platforms.

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-07-19 15:30:45 -04:00
Yishai Jaffe
ed94a3b2cc dts: silabs: move gpio_gecko.h defines to dt-bindings
Removed gpio_gecko.h and merged its content with gecko-pinctrl-s1.h
since that's its main usage.

Signed-off-by: Yishai Jaffe <yishai1999@gmail.com>
2025-07-19 13:47:36 -04:00
Michele Sardo
6cc046061e arch: arm: coterx_m: Added some #include in fpu.h
Added missing #include for used types uint32_t and bool
in file fpu.h

Signed-off-by: Michele Sardo <msmttchr@gmail.com>
2025-07-19 13:45:07 -04:00
Chaitanya Tata
53ffd35525 net: Fix the return code for success
None of the drivers seem to return the number of bytes, they all return
0 for success, so, fix the docs.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2025-07-19 13:44:58 -04:00
Mohamed Moawad
4b90816982 posix: Map CLOCK_REALTIME and CLOCK_MONOTONIC to Zephyr clock IDs
Some toolchains may define CLOCK_REALTIME and
CLOCK_MONOTONIC in their libc headers
with values that differ from Zephyr's internal
SYS_CLOCK_REALTIME and SYS_CLOCK_MONOTONIC.

To ensure consistent behavior across all boards and
toolchains, Introduce a helper function to map
CLOCK_REALTIME and CLOCK_MONOTONIC to Zephyr's internal
clock IDs (SYS_CLOCK_REALTIME and SYS_CLOCK_MONOTONIC).

This prevents mismatched clock IDs being passed to
the kernel, avoiding invalid clockid errors when using
functions like clock_gettime().

Signed-off-by: Mohamed Moawad <moawad@synopsys.com>
2025-07-19 13:43:21 -04:00
Tom Burdick
7bc4d14cfc llext: Drop unused memory domain member
Not sure why this vestigal struct member was here at this point (18
months ago...) but its unused and was causing problems for certain
parts.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2025-07-19 13:40:42 -04:00
Luis Ubieda
c62e4b5a88 bmp581: Add dts-properties to set default configuration
The existing driver requires setting multiple attributes in order to
work basic fetch/get reads. Simplify this by allowing the user to set
dts node properties based on the use-case.

As a result, basic settings results in the driver being up and running
from the start, one can just get sensor readings out of the box.

These still can be overriden at run-time if need be.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-07-19 13:26:42 -04:00
Declan Snyder
efdd8580ca soc: nxp: Flatten MCX SOCs
Turn MCX series into families.

Reasoning:
 1. The MCX SOCs are quite different from each other and having them all
    under one family in the HWMv2 hierarchy is fruitless because there
    are so many differences that it is confusing to try to introduce
    family-level code and configs since they would each only apply to a
    subset of the series. There is almost nothing that can be shared
    between all of them. Which is why there are comments in the MCX
    family files saying not to put anything in them. This is a technical
    waste.
 2. Therefore, turning all of them into families is almost 0 effort and
    makes sense. It will allow these different types of MCX to be
    further subdivided into series in the future as the MCX portfolio
    expands and such division will be necessary as new SOCs within each
    letter family are released.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-07-19 13:25:29 -04:00
Seppo Takalo
5a31f3d108 net: ppp: ipcp: Don't request DNS if not needed
When Kconfig option CONFIG_NET_L2_PPP_OPTION_DNS_USE is enabled,
Zephyr should request two DNS addresses in IPCP negotiation by sending
IPCP ConfReq for DNS otions using 0.0.0.0 as an address.

Remote peer may offer DNS by sending IPCP ConfNak with proper address.
This is explained in RFC 1332 and RFC 1877 (DNS extension).

When no DNS is required, we should only send IPCP ConfReq for IP
address, without having DNS fields in the same request.

However, when PPP is configured to serve a DNS using Kconfig option
CONFIG_NET_L2_PPP_OPTION_SERVE_DNS it should serve the DNS address in the
IPCP ConfNak message and from the ipcp.peer_options structure, not from
the ipcp.my_options.

This might break backward compatibility outside this repository
as DNS addresses used to be served from ipcp.my_options.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2025-07-19 13:24:41 -04:00
Robert Lubos
3d93657ca9 net: if: Add const qualifier to addr pointer where applicable
Some APIs taken in_addr/in6_addr pointer w/o const qualifier, while they
do not actually intend to modify the provided address. This commit
adds the missing const qualifier where applicable.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2025-07-19 13:24:08 -04:00
Fin Maaß
d4a2a2e581 drivers: ethernet: adin2111: make register access independent
don't use global buffers for reg_read and reg_write,
so we only need to rely on the spi drivers lock and
don't have to use our lock.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-07-19 10:24:05 +02:00
Mark Wang
e71b5122f7 bluetooth: classic: add role switch API
add bt_conn_br_switch_role and bt_conn_br_set_role_switchable to control
the role switch, add DEFAULT_ROLE_SWITCHABLE Kconfig to control the default
role switch state.

Signed-off-by: Mark Wang <yichang.wang@nxp.com>
2025-07-19 09:59:16 +02:00
Mark Wang
31fba83fb3 bluetooth: classic: add role changed callback
add `role_changed` to `struct bt_conn_cb` to notify the HCI_Role_Change
event to application.

Signed-off-by: Mark Wang <yichang.wang@nxp.com>
2025-07-19 09:59:16 +02:00
Jilay Pandya
3ce26616c9 drivers: stepper: rename gpio_steppper_controller to h_bridge_stepper
rename gpio stepper to h bridge stepper
minor correction in stepper_stop, stepper_stop shall cancel all active
movements and should not be concerned about keeping the coils energized
or not, since that is a concern of a motion controller and not a stepper
driver.

Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
2025-07-19 09:57:40 +02:00
Tom Burdick
cbfe7813c7 pmci: mctp: I2C+GPIO Target binding
Adds a I2C+GPIO Target device binding for MCTP communication over I2C.

The binding requires an i2c bus and gpio pin, along with a specified I2C
and endpoint address pair. These are then used to create an MCTP binding
which can be used to communicate in a peer to peer manner among other
MCTP endpoints.

Each message transmit signals to the bus controller using a GPIO logical
high and is unset on transmission completion. Pending transmitters are
queued using a semaphore avoiding memcpy being needed to asynchronously
transmit mctp pktbufs.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2025-07-19 09:53:21 +02:00
Tom Burdick
6464329346 pmci: mctp: I2C+GPIO controller bindings
Adds a custom MCTP binding for an I2C bus controller using GPIO signaling
for write requests rather than mode switching.

This binding operates a lot like the I3C binding specification DMTF has
for MCTP. The controller expects to receive interrupts (from GPIO pins)
and upon getting an interrupt read a message from the I2C target device.

The macro does a lot of the heavy lifting to setup all the state needed
for capturing GPIOs, being able to do asynchronous reads/writes, and
such. The entire controller works using state machines driven by
interrupts leading to low latency and clear ram costs.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2025-07-19 09:53:21 +02:00
Tom Burdick
9e12c111bb i2c: Use a I2C_CONCAT rather than ## in names
Fixes an issue where the name is not a token itself but perhaps an
unrealized macro.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2025-07-19 09:53:21 +02:00
Ravinder Singh
394c97a819 Bluetooth: LE: CONN: Added bt_conn_le_set_default_phy function.
Added bt_le_set_default_phy in hci. This handles
the HCI_LE_Set_Default_PHY HCI command.
Added call to bt_conn_le_set_default_phy in central_gatt_write and
peripheral_gatt_write samples.

Signed-off-by: Ravinder Singh <ravinder.singh2@infineon.com>
2025-07-19 09:46:34 +02:00
Sean Kyer
4484354dcc secure_storage: Add global registry for PSA ITS UIDs
Allows for subsystems to reserve UID ranges when using
PSA ITS.

Signed-off-by: Sean Kyer <Sean.Kyer@analog.com>
2025-07-19 09:45:56 +02:00
Yanir Levin
6df14b432e arc: cache: Support region operations, SLC, and entire cache operations
Added configurable support for L1 cache region operations,
which offers improved performance over line operations.
Added configurable support for SLC (system level cache).
Added support for entire cache operations: flush_all,
invd_all, flush_and_invd_all.

Reviewed-by: Aaron Komisar <aaron.komisar@tandemg.com>
Signed-off-by: Yanir Levin <ylevin@gsitechnology.com>
2025-07-19 09:42:20 +02:00
Make Shi
c95d3167e2 Bluetooth: AVRCP: Implement unit message reception on the AVRCP target
- Add a new callback to support the situation when a unit info command is
  received, and add an API to respond to the unit info command.

Signed-off-by: Make Shi <make.shi@nxp.com>
2025-07-19 09:40:19 +02:00
Make Shi
a559fee00b Bluetooth: AVRCP: Refactored AVRCP API for CT/TG separation
- Only AVRCP connect and disconnect api for AVRCP common functions.
- Added _ct prefixes to all CT callback functions and feature APIs.
- Updated shell demo code for AVRCP API changes.

Signed-off-by: Make Shi <make.shi@nxp.com>
2025-07-19 09:40:19 +02:00
Alberto Escolar Piedras
f5bc01beae include/zephyr/linker/common-rom: Remove NATIVE_APPLICATION support
It is not possible to build anymore in that mode, so we do not
need to support building the constructors and initialization arrarys
in a way that support it.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2025-07-19 09:38:15 +02:00
Alberto Escolar Piedras
0cb474a338 include toolchain mwdt.h: Fix old comment
This ifdef was changed to use another kconfig option, but
the comment in the endif was forgotten, let's fix it.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2025-07-19 09:38:15 +02:00
Anas Nashif
e3278012e4 memmgmt: doc: replace Memory-Attr with Memory Attributes
No need to use abbriviated form here, just spell it out.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-07-16 16:39:59 -05:00
Anas Nashif
1a7ce3f45e Revert "init: Make entry init-function less and introduce service objects"
This reverts commit 175da6bdb0.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-07-16 16:39:36 -05:00
Tom Hughes
9fd547f94d zephyr: sw_isr_table: Fix compilation error
The IRQ_DIRECT_CONNECT macro eventually uses _Z_ISR_DIRECT_TABLE_ENTRY,
which defines a function. IRQ_DIRECT_CONNECT is meant to be used
inside functions. While nested functions are supported as an extension
in GNU C, the nested function cannot have static storage.

https://gcc.gnu.org/onlinedocs/gcc/Nested-Functions.html:

> A nested function always has no linkage. Declaring one with extern or
> static is erroneous.

./scripts/twister -c -s arch.interrupt.gen_isr_table_local.riscv --all

tests/kernel/gen_isr_table/src/main.c: In function
'gen_isr_table_test_build_time_direct_interrupt':
include/zephyr/sw_isr_table.h:197:41: error: invalid storage class for
function '__isr_table_entry_isr1_irq_2'
#define __MK_ISR_ELEMENT_NAME(func, id) __isr_table_entry_ ## func ## _irq_ ## id
                                        ^~~~~~~~~~~~~~~~~~

Issue #92194

Signed-off-by: Tom Hughes <tomhughes@chromium.org>
2025-07-14 07:09:03 -10:00
Robert Lubos
151295f98e net: sockets: Move socket vtable definition
Offloaded socket implementations need to create the socket operations
vtable, therefore need access to struct socket_op_vtable. So far this
has been defined in a private header, so implementations needed to add
the header location to the include path in CMake.

Therefore, move struct socket_op_vtable definition to the internal part
of the public socket header, so it's no longer needed to include a
private header. This is also more consistent with the rest of the public
header content, as for example macros needed to register a socket
implementation are already there.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2025-07-11 16:32:49 -05:00
Dipak Shetty
fd1f4392a6 include: zephyr: bluetooth: uuid: fix typo in characteristic doxygen
Fixes correct GATT characteristic description for Device Time.

Signed-off-by: Dipak Shetty <shetty.dipak@gmx.com>
2025-07-11 16:32:39 -05:00
Ilya Tagunov
708c1dc488 linker: arc: add .rodata_in_data section to avoid unexpected placement
The .rodata_in_data section is produced by MWDT toolchain with -Hccm
option enabled. This option moves read-only data from the executable
memory (ICCM) to the data memory (DCCM), improving performance by
reducing conflicts between instruction fetches and data fetches.

Signed-off-by: Ilya Tagunov <Ilya.Tagunov@synopsys.com>
2025-07-11 16:32:28 -05:00
Tim Pambor
970c715ef4 sys: cbprintf: Suppress bugprone-sizeof-expression
clang-tidy reports a bugprone-sizeof-expression warning for
sizeof((__v)) when __v is a pointer type. This is a false-positive
in contexts like logging with %p, where using a pointer is
intentional and expected.

Add a NOLINT comment to suppress the warning in static analysis.

Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
2025-07-11 09:41:50 -05:00
Tim Pambor
9f5492acec sys: cbprintf: Fix performance-no-int-to-ptr warning
clang-tidy reports a performance-no-int-to-ptr warning due to the cast
(const char *)(uintptr_t)(v).

Previously, only char * was cast to const char *, but there's no downside
to constifying all pointer types.

This change updates the Z_CONSTIFY macro to apply const consistently,
which even aligns better with its name and resolves the warning.

Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
2025-07-11 09:41:50 -05:00
Josuah Demangeon
e0b706b6c6 drivers: video: stm32_dcmipp: move video/ header directory to drivers/
During #89407 a driver-specific header stm32_dcmipp.h got introduced to
support new functionnalities not yet covered by video APIs.
Move this header into a new <include/zephyr/drivers/video/> include
direcctory like what other driver classes do.

Signed-off-by: Josuah Demangeon <me@josuah.net>
2025-07-09 09:42:43 -05:00
Benjamin Cabé
86bea343b1 Bluetooth: BAP: fix bad doxygen @cond placement
Move `@cond INTERNAL_HIDDEN` comment where it belongs (fixing what was
probably a copy-paste/refactoring error).
This also makes the previously `bap_iso`, `group`, `_prev_seq_num`
visible again.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-07-08 13:41:02 -05:00
Benjamin Cabé
80b7745d24 include: math: doc: add doxygen groups
add doxygen groups to include/zephyr/math header files and fold them
under Utilities top-level group.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-07-08 13:39:35 -05:00
Benjamin Cabé
3d111dd6e9 include: dsp: doc: cleanup Doxygen for DSP headers
moved docs to Utilities group (vs. top-level)
cleaned several incorrect Doxygen group definitions

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-07-08 13:39:35 -05:00
Chris Friedt
7da64e7bda poxi: aio: include zephyr/toolchain.h for ZRESTRICT
Previously, ZRESTRICT was used in aio.h without also including
zephyr/toolchain.h.

Tests may have compiled because the toolchain header was included by
some other means.

We should explicitly include it to ensure that ZRESTRICT is defined.

Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
2025-07-04 16:44:02 -10:00
Yong Cong Sin
1967d1e699 drivers: syscon: do not assume that a function isn't supported
When a function pointer is `NULL`, it could be that the underlying
hardware doesn't support it, or it isn't implemented.

If a function isn't supported by the hardware, its driver should
return `-ENOTSUP`, the API layer should return `-ENOSYS` when a
function isn't implemented.

Signed-off-by: Yong Cong Sin <yongcong.sin@gmail.com>
2025-07-04 16:42:53 -10:00