Commit Graph

8939 Commits

Author SHA1 Message Date
Rafael Aldo Hernández Luna
2e30bbca00 drivers: dac: Added dac driver for samd5x
Added driver and binding file for samd5x dac peripheral, the already
implemented dac_sam0.c lacks the configuration registers for this
microcontroller family and is fixed to only have one dac channel output,
also, the code gets too bulky when adding the samd5x dac configuration
using preprocessor directives that’s why I moved the implementation to its
own file.

Added dac to the supported list of same54_xpro.yaml, fixed Kconfig.samd5x
help spacing, added board defines to test_dac.c and test it out with
twister script on board.

Signed-off-by: Rafael Aldo Hernández Luna <aldo.hernandez@daikincomfort.com>
2025-07-19 09:54:41 +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
Amneesh Singh
c49ec80948 am243x_evm/am2434/r5f0_0: add SPI support
Add OMAP multi-channel SPI node to the device tree and add overlay for the
SPI loopback test.

Signed-off-by: Amneesh Singh <a-singh7@ti.com>
2025-07-19 09:47:37 +02:00
Amneesh Singh
b6d261b989 drivers: spi: introduce TI omap_mcspi
This patch adds the initial support for the OMAP Multi-Channel SPI. Some
things should be noted however:

- DMA xfers are not supported yet. Only PIO is supported as of now.
- Multi-Channel controller is not supported yet. Only single-channel
  controller mode is supported, this means that the controller can xfer
  messages with one slave at a time.

Signed-off-by: Amneesh Singh <a-singh7@ti.com>
2025-07-19 09:47:37 +02:00
Tomi Fontanilles
e4e8870180 dts: nordic: remove nordic,cryptocell compatible
It's unused.

Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
2025-07-11 13:14:49 -10:00
Vitaliy Livnov
e6894ad576 drivers: can: sam0: fix clock configuration for SAM0 series
Fixed a bug where unconfigured clocks were connected to the can
interface in the device tree for SAM0, causing the interface to work
incorrectly. Fixed by adding the correct index when calling GENCTRL.
Also, the default divider has been reduced to 6 to allow setting
the bitrate to 500 kbps.

Tested on a canopennode sample on a board with an ATSAMC21E18A
microcontroller.

Signed-off-by: Vitaliy Livnov <vitaliy.livnov@devkit.agency>
2025-07-10 15:53:46 -05:00
Eve Redero
91c71dde8a doc: drivers: display: add basic controller info
Add basic controller information (techno, resolution, color depth...)
for display drivers.

Signed-off-by: Eve Redero <eve.redero@gmail.com>
2025-07-09 17:18:39 -05:00
Khaoula Bidani
f02dc0d5e0 dts: arm: st: u3: fix flash erase block size and max erase time
- Change erase-block-size from 8192 to 4096 bytes to match
the 4 KB page size of STM32U3 flash.
- Update max-erase-time from 5 ms to 14 ms according to
datasheet specifications.
- These changes ensure correct flash erase behavior
and timing on STM32U3 devices.

Signed-off-by: Khaoula Bidani <khaoula.bidani-ext@st.com>
2025-07-09 17:15:56 -05:00
Van Petrosyan
4834201124 dts: bindings: mark power gpio in bg95 as optional
The Quectel BG95 binding currently marks mdm-power-gpios as
required.  This fits designs that expose the PWRKEY pin, but the
BG95-M3 in Mini PCIe form-factor boots automatically via its
on-module “Automatic Power-On Circuit” and does not route
PWRKEY to the card edge.

Signed-off-by: Van Petrosyan <van.petrosyan@sensirion.com>
2025-07-09 17:14:59 -05:00
Benjamin Cabé
899b908b69 dts: bindings: update binding-types.txt with recently added types
SENT, PSI5, Virtio where all recently added types. Add them to the
binding-types.txt file so that their full name can be displayed in the
documentation.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-07-04 13:09:52 -05:00
Fabrice DJIATSA
dee3d3b214 dts: arm: st: u0: disable lptim2 by default
LPTIM2 is enabled by default; disable it to avoid
the build failure:
"Error: Only one LPTIM instance should be enabled"
when LPTIM1 is also enabled in the DTS.

Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
2025-07-04 13:09:15 -05:00
Guillaume Gautier
9977ce4eb6 dts: bindings: memc: stm32-fmc: reorder parameters to match code
Description of parameters in st,control property didn't match the values
used in the code.
Modify the description to match with the current driver implementation.
Also add a description for reg property to help setting it properly and
add corresponding dt-bindings.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2025-07-04 13:07:24 -05:00
Jonathan Nilsen
b18c326946 soc: nordic: move nrf_ironside from drivers/firmware to soc/nordic
Move the IronSide APIs to soc/nordic from drivers/firmware since
these are vendor specific APIs. The header files are now included
from <nrf_ironside/*.h>. Adjust code that uses these APIs accordingly.

Also move the DT binding for "nordic,ironside-call" from
bindings/firmware to bindings/misc.

Signed-off-by: Jonathan Nilsen <jonathan.nilsen@nordicsemi.no>
2025-07-02 17:57:45 -05:00
Grzegorz Swiderski
75dd614437 drivers: firmware: nrf_ironside: Update the spelling
s/IRONside/IronSide/g

Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
2025-07-02 17:57:45 -05:00
Alberto Escolar Piedras
0903efa882 soc nrf54lm20a: Fix entropy source
nordic,entropy-prng does not exist in Zephyr (it is part of NCS)
but we have in both the nordic,nrf-cracen-ctrdrbg which is
an actual source of true entropy and works with this SOC.
Let's use that instead.

Fixes failures to build targeting the nrf54lm20dk any test/sample
which uses the entropy driver.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2025-07-02 03:56:50 -10:00
Cong Nguyen Huu
fb1d1d3b58 boards: s32z270: enable support psi5
enable support psi5

Signed-off-by: Cong Nguyen Huu <cong.nguyenhuu@nxp.com>
2025-07-01 10:53:59 -10:00
Cong Nguyen Huu
c52ba71f94 drivers: introduce support Peripheral Sensor Interface (PSI5) driver
This driver allows to communication (send, receive) with PSI5 device

Signed-off-by: Cong Nguyen Huu <cong.nguyenhuu@nxp.com>
2025-07-01 10:53:59 -10:00
Ta Minh Nhat
8d88d02a43 dts: arm: renesas: correct i3c device node address
Fix Devicetree build warning due to mismatched address values
of I3C device node

Signed-off-by: Ta Minh Nhat <nhat-minh.ta.yn@bp.renesas.com>
2025-06-30 15:16:17 -05:00
Declan Snyder
dba69f3f14 dts: nxp: Fix RT11xx DT files hierarchy
The DT hierachy of the RT11xx series was somewhat incoherent. The boards
targets were directly including the series level DTSI with no SOC dtsi
in between, and there existed an SOC DTSI that had to be separately
included by a different board file, which didn't include the series DTSI
itself. It seems that this was only working if you included the files
exactly in the correct order in specific board files. Also, as a result
of this change, need to (correctly) define the cpu core only in the DTSI
for that core, instead of in the series generic dtsi, because that DTSI
was actually written with incorrect syntax due to duplicated node labels
on nodes right next to each other in the same file, and was relying on
other DTSI files to delete the duplicate nodes in order for it to build.
So overall this was a mess, needed cleanup.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-06-27 18:27:26 -05:00
Sylvio Alves
1df3403393 soc: esp32c6: add BLE support
Add BLE support to ESP32-C6 series.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2025-06-27 18:27:15 -05:00
Karol Lasończyk
387520c867 soc: nrf: Add nRF54LM20A device
Adding nRF54LM20A device.

Signed-off-by: Karol Lasończyk <karol.lasonczyk@nordicsemi.no>
2025-06-27 18:26:57 -05:00
Mahesh Mahadevan
7f269bfe9b dts: rw: No need to specify the exit latency
All this can be rolled into the single latency number.
Exit latency also triggers an additional timeout which
is not required for this SoC.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2025-06-27 18:21:25 -05:00
Victor Brzeski
e8638befaf usb: device_next: uac2: support higher bInterval values
This commit adds a device-tree prop for the audio streaming
terminals to specify the bInterval values for the Isochronous
endpoints.

Signed-off-by: Victor Brzeski <vbrzeski@gmail.com>
2025-06-27 09:02:29 -10:00
Erwan Gouriou
b73cf0a181 dts: stm32n6: Add axisram3/4/5/6 nodes
AXISRAM3/4/5/6 nodes are added as children of their respective controller.
They're declared as "zephyr,memory-region" and disabled by default.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2025-06-27 09:01:52 -10:00
Peter Wang
f8b14155f0 boards: frdm_mcxa166, frdm_mcxa276: add ostimer support
1. add the ostimer
2. by default, the systick is used.
3. The ostimer could be tested with below configure in xxx.overlay:
&systick {
    status = "disabled";
};

&ostimer0 {
    status = "okay";
};
And below configure in xxx.conf:
CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC=1000000

Signed-off-by: Peter Wang <chaoyi.wang@nxp.com>
2025-06-27 08:54:06 -10:00
Benjamin Cabé
e8513231fa dts: bindings: pinctrl: fix description of renesas,rx-pinctrl
Fixed typo whereby the description field started with `description: |`
instead of actual description.
Also added a proper title field while at it

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-06-27 10:09:56 -05:00
Mert Ekren
d30bfa9478 dts: arm: adi: Add MAX32657 SPI instance and binding file
Add SPI node to MAX32657 dtsi file

Signed-off-by: Mert Ekren <mert.ekren@analog.com>

226e230b349on how to improve this.
2025-06-27 10:01:27 -05:00
Sebastian Huber
2724a1e53c drivers: spi: mchp_mss_qspi: Add reset support
Add support to reset the device through a reset controller.

Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
2025-06-27 09:59:08 -05:00
Sebastian Huber
269773fff4 drivers: spi: mchp_mss: Add reset support
Add support to reset the device through a reset controller.

Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
2025-06-27 09:59:08 -05:00
Sebastian Huber
9832973bec drivers: gpio: mchp_mss: Add reset support
Add support to reset the device through a reset controller.

Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
2025-06-27 09:59:08 -05:00
Sebastian Huber
9132ac48bf drivers: i2c: mchp_mss: Add reset support
Add support to reset the device through a reset controller.

Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
2025-06-27 09:59:08 -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
Yangbo Lu
7d23683d45 dts: arm: nxp_imx943_m33: add ptp clock nodes
Added ptp clock nodes.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
2025-06-27 09:54:21 -05:00
Yangbo Lu
e0aa603f9c dts: bindings: nxp,enet-mac: convert to use ptp-clock property
Convert to use ethernet-controller ptp-clock property.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
2025-06-27 09:54:21 -05:00
Yangbo Lu
87d8bc63f5 dts: bindings: ethernet-controller: add ptp-clock property
Added ptp-clock property.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
2025-06-27 09:54:21 -05:00
Peter Wang
cec6d68284 boards: frdm_mcxa166, frdm_mcxa276: add temperature sensor support
1. enable temperature sensor support
2. verified samples/sensor/die_temp_polling

Signed-off-by: Peter Wang <chaoyi.wang@nxp.com>
2025-06-27 09:53:28 -05:00
Peter Wang
aa7618ba59 sensor: add nxp_lpadc_temp40 temperature sensor driver
1. add nxp_lpadc_temp40 temperature sensor driver
2. tested with frdm_mcxa166 and frdm_mcxa276 board

Signed-off-by: Peter Wang <chaoyi.wang@nxp.com>
2025-06-27 09:53:28 -05: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
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
Steven Chang
03227c3520 drivers: watchdog: watchdog driver
Add watchdog driver for ENE KB106X

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

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

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

Signed-off-by: Steven Chang <steven@ene.com.tw>
2025-06-27 10:57:20 +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
Steven Chang
dcdf6d5d65 dts: ene: kb106x device tree
Add ENE KB106X device tree files

Signed-off-by: Steven Chang <steven@ene.com.tw>
2025-06-27 10:57:20 +02:00
Saravanan Sekar
6f6530da77 dts: arm: ti: mspm0: Add a support for TI MSPM0 Timer PWM
Add a support for TI MSPM0 advanced Timer as PWM output signal generator.

Signed-off-by: Saravanan Sekar <saravanan@linumiz.com>
2025-06-27 10:57:05 +02:00
Saravanan Sekar
f7df5e84e3 drivers: pwm: Add a support for TI MSPM0 Timer PWM
TI MSPM0 SoC series has General Purpose Timer and Advanced control timers
with Compare block which is used to generate time expiry and output
waveform like PWM. Add driver support for MSPM0 PWM output.

Signed-off-by: Saravanan Sekar <saravanan@linumiz.com>
2025-06-27 10:57:05 +02:00
Saravanan Sekar
8b4a97f12c dts: arm: ti: mspm0: Set timer node name per datasheet
Set timer node name per datasheet for timg0.

Signed-off-by: Saravanan Sekar <saravanan@linumiz.com>
2025-06-27 10:57:05 +02:00