Commit Graph

15489 Commits

Author SHA1 Message Date
William Tambe
abeccfec28 xtensa: support for more than 32 interrupts
This change add support for using more than 32 interrupts.

Signed-off-by: William Tambe <williamt@cadence.com>
2025-06-27 08:59:56 -10:00
Johann Fischer
5ba44ffd3e usb: host: allow status stage to be omitted
For testing purposes, allow the status stage to be omitted.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2025-06-27 08:52:22 -10:00
Kate Wang
8548b3cb8a include: drivers: mipi_dsi: add member in mipi_dsi_msg structure
Add member in mipi_dsi_msg structure to store user data, incase the high
level driver or application needs to pass down extra configuration.

Signed-off-by: Kate Wang <yumeng.wang@nxp.com>
2025-06-27 08:49:44 -10:00
Victor Brzeski
3c47f91be4 include: kernel: add macros to enable allocation from specific sections
This change adds two macros that allow the user to specify the section
the memslab buffer should be allocated from. This is useful for systems
where memory must reside in DMA-able memory like USB.

Signed-off-by: Victor Brzeski <vbrzeski@gmail.com>
2025-06-27 10:00:14 -05:00
Frank Kühndel
dbb8ee38f2 drivers: reset: Add MPFS MSS driver
Add driver for Microchip PolarFire SoC (MPFS) peripheral clock and soft
reset control.

Normally, the peripheral clocks and reset state are controlled by the
Hart Software Services (HSS) running on the Monitor processor.  As an
alternative to using HSS services, applications can now enable the reset
controller in a device tree overly, for example:

&reset {
  status = "okay";
};

&uart4 {
  resets = <&reset MSS_RESET_ID_MMUART4>;
};

Embedded the reset controller node in system controller node.

Signed-off-by: Frank Kühndel <frank.kuehndel@embedded-brains.de>
Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
Signed-off-by: Conor Paxton <conor.paxton@microchip.com>
2025-06-27 09:59:08 -05:00
Daniel Marjamäki
eb80530618 sca: Fix undefined behavior during preprocessing
According to the C standard it is undefined behavior to use preprocessor
directives inside macro invocations.

Cppcheck stops when it see this UB with an error message, and so this
change will improve Cppcheck analysis

This is a refactoring to fix UB, no logical change is intended.

Signed-off-by: Daniel Marjamäki <daniel.marjamaki@cppchecksolutions.com>
2025-06-27 14:14:35 +02:00
Ren Chen
caeda699f5 drivers: spi: add it51xxx spi driver
This commit adds it51xxx spi driver.

Tested with: samples/drivers/spi_flash

Signed-off-by: Ren Chen <Ren.Chen@ite.com.tw>
2025-06-27 14:14:16 +02:00
Zak Essadaoui
41a83bd3a0 usb: hid: Define sensor page usages IDs
This commit adds the following:
    * Sensor related usage IDs in the Sensors' page of the HID standard.
    * A HID usage macro that works with IDs of 2 bytes.
    * A macro to define the exponent in a report descriptor.

The values and naming came from the following document: https://www.usb.org/sites/default/files/hutrr39b_0.pdf

Signed-off-by: Zak Essadaoui <zak0@meta.com>
2025-06-27 14:14:03 +02:00
Tomasz Bursztyka
175da6bdb0 init: Make entry init-function less and introduce service objects
Since the addition of deinit operation in device, init and deinit have
been within each device, rendering their init entry's init function
useless.

In order to save ROM space, let's remove the init function from
init entry altogether, and introduce a new object called "service"
which owns an init function to go along with SYS_INIT/SYS_INIT_NAMED.

Signed-off-by: Tomasz Bursztyka <tobu@bang-olufsen.dk>
2025-06-27 14:13:58 +02:00
Josuah Demangeon
7538b7bdf0 usb: device_next: new USB Video Class implementation
Introduce a new USB Video Class (UVC) implementation from scratch.
It exposes a native Zephyr Video driver interface, allowing to call the
video_enqueue()/video_dequeue() interface. It will query the attached
video device to learn about the video capabilities, and use this to
configure the USB descriptors. At runtime, this UVC implementation will
send this device all the control requests, which it will send to the
attached video device. The application can poll the format currently
selected by the host, but will not be alerted when the host configures
a new format, as there is no video.h API for it yet.

Signed-off-by: Josuah Demangeon <me@josuah.net>
2025-06-27 12:25:41 +02:00
Bjarki Arge Andreasen
1663253de6 drivers: spi: add DEINIT_ variants of SPI_DEVICE_ macros
Add DEVICE_DEINIT variants of SPI_DEVICE_ macros. These include

- SPI_DEVICE_DT_DEINIT_DEFINE()
- SPI_DEVICE_DT_INST_DEINIT_DEFINE()

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-06-27 10:57:59 +02:00
Steven Chang
7d2be3bbff drivers: gpio: gpio driver
Add gpio driver for ENE KB106X

Signed-off-by: Steven Chang <steven@ene.com.tw>
2025-06-27 10:57:20 +02:00
Steven Chang
d9310b6648 drivers: pinctrl: pinctrl driver
Add pinctrl driver for ENE KB106X

Signed-off-by: Steven Chang <steven@ene.com.tw>
2025-06-27 10:57:20 +02:00
Ta Minh Nhat
096801f1a9 driver: i3c: initial i3c driver basic support for RA family
This commit introduces basic support for I3C master mode.

Signed-off-by: Ta Minh Nhat <nhat-minh.ta.yn@bp.renesas.com>
2025-06-27 09:42:22 +02:00
Ryan McClelland
ea8f69c6b1 drivers: i3c: create i3c bus helpers
Create bus helpers that will send ccc commands as well as update
items within the i3c descriptor. These are different than the
direct ccc functions as these can give a bit of convience to also
updating the descriptor.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2025-06-26 18:50:43 -10:00
Cong Nguyen Huu
003e391a8f drivers: introduce Single Edge Nibble Transmission (SENT) driver
This driver allows to communication (receive data) with SENT device

Signed-off-by: Cong Nguyen Huu <cong.nguyenhuu@nxp.com>
2025-06-26 18:50:07 -10:00
Bjarki Arge Andreasen
8a928ea1d7 drivers: i2c: add I2C_DEVICE_DT_DEINIT macros
Add device deinit variants of the I2C_DEVICE_DT_*_DEFINE macros.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-06-26 22:15:52 -05:00
Yishai Jaffe
077ba1078b cfb: added API for drawing a circle
Added a new CFB API for drawing a circle. Using the Midpoint Circle
Algorithm for optimization.

Signed-off-by: Yishai Jaffe <yishai1999@gmail.com>
2025-06-26 22:09:48 -05:00
Philipp Steiner
e9b9569085 drivers: fuelgauge: format fuel_gauge.h
format fuel_gauge.h according to the clang-format settings

Signed-off-by: Philipp Steiner <philipp.steiner1987@gmail.com>
2025-06-26 22:08:44 -05:00
Philipp Steiner
73999c16c4 drivers: fuelgauge: Add additional properties
Adds properties for current direction, charge and voltage alarms

Signed-off-by: Philipp Steiner <philipp.steiner1987@gmail.com>
2025-06-26 22:08:44 -05:00
Adrien Maillard
4d73cd3980 updatehub: report error before rollback on unconfirmed image
Report the error state to the UpdateHub server before triggering a rollback
in autohandler mode. This prevents the server from redeploying the same
(failed) update after rollback, avoiding update loops. Also exposes a new
public syscall: updatehub_report_error(), allowing manual mode users to
report an error explicitly.

Signed-off-by: Adrien Maillard <adrien.maillard@edu.hefr.ch>
2025-06-26 22:07:51 -05:00
Lyle Zhu
78a22f461a Bluetooth: Classic: SCO: Add SCO conn connected/disconnected cb
Add two functions to register/unregister SCO conn connected/
disconnected callback.

Add macro BT_SCO_CONN_CB_DEFINE to defined static SCO connect callback.
Define section `bt_sco_conn_cb` to ROM.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2025-06-26 22:05:25 -05:00
Tim Pambor
542ea03c1a include: cbprintf: Fix call to memcpy with null pointer
cbprintf_package_convert may invoke z_cbprintf_cpy with a null pointer
to buf and zero length to indicate a flush operation. This triggers
an error from the undefined behavior sanitizer due to memcpy being called
with a null src, which is undefined behavior according to the C standard.

This is avoided by exiting early in z_cbprintf_cpy when length is zero.

Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
2025-06-26 11:02:08 -05:00
Alain Volmat
616c6ed21f dts: bindings: support 15-pin and 22-pin RaspberryPi CSI camera connector
Update the RaspberryPi CSI camera connector nexus gpio in order to only
expose the list of GPIO pins in order to support both 15-pin and 22-pin
connectors as well as 15-pin to 22-pin conversion cables.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-06-26 10:59:54 -05:00
Sayooj K Karun
41adc8a61a include: zephyr: sys: Refactor MIN_HEAP_DEFINE macro
Remove calling of `min_heap_init()` from MIN_HEAP_DEFINE

Signed-off-by: Sayooj K Karun <sayooj@aerlync.com>
2025-06-26 11:58:05 -04:00
Sayooj K Karun
ff657071ce include: zephyr: sys: Assert in min_heap_get_element
Assert in `min_heap_get_element()` if heap is NULL

Signed-off-by: Sayooj K Karun <sayooj@aerlync.com>
2025-06-26 11:58:05 -04:00
Sayooj K Karun
e719ba239f include: zephyr: sys: simplify MIN_HEAP_FOREACH macro
Refactor the `MIN_HEAP_FOREACH` macro to use a cleaner
for-loop style removing the need for a third `body` argument.
Update the sample application with the new macro changes.

Signed-off-by: Sayooj K Karun <sayooj@aerlync.com>
2025-06-26 11:58:05 -04:00
Jeppe Odgaard
dffbd4fc88 license: fix copyright owner
Change license owner to Prevas due to initially wrong owner due to company
mix-up during co-development.

Signed-off-by: Jeppe Odgaard <jeppe.odgaard@prevas.dk>
2025-06-26 10:56:48 -05:00
Ryan McClelland
d0d9894070 drivers: sensor: bmm350: expose magnetic reset
This exposes a driver specific function to perform a
magentic reset by the application.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2025-06-26 10:55:54 -05:00
Miguel Gazquez
8362e603bb dts: bindings: add DT bindings for the lsm9ds1 magnetometer
This commit adds a description for the magnetometer part of the lsm9ds1
sensor.

Signed-off-by: Miguel Gazquez <miguel.gazquez@bootlin.com>
2025-06-26 10:55:11 -05:00
David Jewsbury
8b5ff6ab36 dts: bindings: clock: add nordic,nrf-auxpll
Introduce Nordic NRF AUXPLL binding include.

Signed-off-by: David Jewsbury <david.jewsbury@nordicsemi.no>
2025-06-26 14:13:54 +02:00
Jukka Rissanen
25084203c2 net: dhcp: Remove only added DNS servers when stopping
Make sure that we remove only the added DNS servers when
the DHCP is stopped.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2025-06-26 14:08:19 +02:00
Jukka Rissanen
cdc6c324d7 net: dns: Save info about source when configuring DNS servers
Remember which DNS server was added by a source like DHCPv4 or v6
message. This will allow system to remove DNS servers that were added by
that source. Then when stopping for example DHCP, we can remove those
specific DNS servers and not leaving DNS servers hanging in the system.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2025-06-26 14:08:19 +02:00
Duy Nguyen
f92b70bdb0 include: arch: rx: Change noinit region to be after bss
Change noinit region to be after bss so that it would not cause
alignment issue for the data region setup

Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
2025-06-26 14:07:03 +02:00
Duy Nguyen
58ed8c16d6 include: arch: Update missing rx/exception.h include
Add missing zephyr/arch/rx/exception.h for RX architecture

Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
2025-06-26 14:07:03 +02:00
Duy Nguyen
d18f879566 include: arch: rx: Change data symbol name
The RX linker is using the name "data" for .data region start
which caused the application cannot use "data" for variable
naming globally.
This commit change the name to "__data_region_start" as expected
in the linker_defs.h file

Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
2025-06-26 14:07:03 +02:00
Duy Nguyen
2a332517c1 arch: rx: Add ARCH_EXCEPT for RX architect
Adding ARCH_EXCEPT for RX architect by using unconditional
trap interrupt no 3.

Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
2025-06-26 14:07:03 +02:00
Keith Packard
dc52b4aef0 arch/rx: Add missing linker script fragments
There were lots of missing chunks, including those necessary for C++
support.

Signed-off-by: Keith Packard <keithp@keithp.com>
2025-06-26 14:07:03 +02:00
Maxwell Weru
a972203871 net: lib: tls_credentials: clarify secure tag usage for TLS credentials
Updated documentation to clarify that while credential pairs should
generally share the same secure tag for subsystems supporting multiple
credentials per tag, some implementations may expect only one credential
per tag.

Signed-off-by: Maxwell Weru <mburumaxwell@gmail.com>
2025-06-26 12:42:41 +02:00
Aleksandr Khromykh
b408445b4d bluetooth: mesh: remove tinycrypt support
Tinycrypt support deprecated in Zephyr 4.0 release.
Time to remove it.

Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
2025-06-26 11:13:19 +02:00
Michael Hope
b1cd947771 drivers: adc: add a driver for the CH32V003 ADC
The CH32V003 has a 8 channel, 10 bit onboard ADC. Add an immediate
mode driver and the appropriate pinctrl bindings. Note that the
CH32V003 GPIO pins have both a floating input and an analogue input
mode, and the pinctrl is needed to put the pin in analogue mode.

Signed-off-by: Michael Hope <michaelh@juju.nz>
2025-06-26 09:42:20 +02:00
Marco Marche
f5f90395c9 drivers: adc: ad7124: add current sources support
Adds support for configuring the AD7124's excitation current sources.

Signed-off-by: Marco Marche <marco.marche@gmail.com>
2025-06-26 09:39:25 +02:00
Michael Hope
b99b7d14f1 drivers: interrupt_controller: add a WCH EXTI external interrupt driver
The WCH External Trigger and Interrupt controller (EXTI) supports
between 8 and 22 lines where each line can trigger an interrupt on
rising edge, falling edge, or both edges. Lines are assigned to a
group, and each group has a separate interrupt. On the CH32V003/6,
there is one group of 8 lines, while on the CH32V208 there are
multiple groups with between one and six lines per group.

In the same way as the STM32 and GD32, define an EXTI driver that
configures the peripheral and an internal interface that can configure
individual lines.

Signed-off-by: Michael Hope <michaelh@juju.nz>
2025-06-26 09:38:56 +02:00
Thao Luong
720d4c61a9 drivers: clock_control: Add support for RA8P1
Add additional clocks to support for RA8P1.

Signed-off-by: Thao Luong <thao.luong.uw@renesas.com>
2025-06-25 15:56:20 -10:00
Alain Volmat
49f066c58b video: api: addition of video_set/get_selection APIs
Addition of selection APIs (set/get) in order to be able
to control the crop and compose of a video device.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-06-25 15:55:24 -10:00
Nirav Agrawal
5a8189bf2a bluetooth: host: gatt: fix null-ptr access if no include-svc userdata
- Issue: There is a bus-fault while accessing empty userdata structure
  pointer if application does not include any include service
  userdata instance (which consist of UUID list of included service)
  but service array has defined dummy entry for it assumed to be
  overridden by app during initial flow.
- For example, the issue has happened in case of tmap-central sample
 without "CONFIG_BT_OTS" support. there are some MCS attributes
 dependent on OTS service because of that
 "BT_GATT_INCLUDE_SERVICE(NULL)" entry is added as part of service
 definition. The given entry does not have userdata handler defined
 and is expecting to be overriden by the app if it will be included.
 During "bt_mcs_init()" call, "mcs.attrs[i].user_data" is not
 populated with any attr-instance pointer. This makes CPU to access
 null-address during reading local-database include-service attribute
 which was not provided by the app but the include-service entry was
 added to the db.
- Fix: Adding condition to check if user-data has null address, and
 returning back to avoid any hard-faults.

Signed-off-by: Nirav Agrawal <nirav.agrawal@nxp.com>
2025-06-25 15:51:24 -10:00
Michael Hope
a8375c986d include: dt-bindings: fix and extend the ch32v00x pinctrl definitions
These were wrong and incomplete. Rebuild based on section 7.2.11 of
the CH32V00XRM and added the CH32V007-only remaps.

Signed-off-by: Michael Hope <michaelh@juju.nz>
2025-06-25 15:44:37 -10:00
Bjarki Arge Andreasen
a4800beef2 drivers: rtc: api: adjust callback APIs to not be syscalls
The rtc device driver APIs rtc_update_set_callback and
rtc_alarm_set_callback are not allowed from usermode threads, thus
they should not be marked as syscalls. The APIs where never
implemented as sycalls, there is no z_vrfy wrapper for them, so
only change needed is to not mark them as syscalls with the
special __syscall "attribute" and z_impl wrapper.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-06-25 15:40:06 -10:00
Kristoffer Rist Skøien
ca2e98c4c9 debug: Added CPU usage callback
- Added a CPU load callback with threshold
- Changed cpu_load to use k_timer instead of k_work

Signed-off-by: Kristoffer Rist Skøien <kristoffer.skoien@nordicsemi.no>
2025-06-25 15:29:06 -10:00
Pieter De Gendt
0b8c00b5dd net: lib: dhcpv4: Support INIT-REBOOT
Add the init-reboot state for DHCPv4 to request an already assigned IP
address.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2025-06-25 14:09:46 +02:00