Commit graph

23353 commits

Author SHA1 Message Date
Nhut Nguyen
be6abc3208 drivers: pinctrl: Add support for RZ/T2L
This is the initial commit to support PINCTRL driver for Renesas RZ/T2L

Signed-off-by: Nhut Nguyen <nhut.nguyen.kc@renesas.com>
Signed-off-by: Hieu Nguyen <hieu.nguyen.ym@bp.renesas.com>
2025-03-17 09:26:13 +01:00
Ayush Singh
99e7223a1c drivers: gpio_cc13xx_cc26xx: Update for latest sdk
- It seems that the mask variants of GPIO functions are not present in
  the latest sdk, so replace those with direct register access.

Signed-off-by: Ayush Singh <ayush@beagleboard.org>
2025-03-17 09:25:58 +01:00
Ryan McClelland
705491e306 drivers: gpio: shell: fix warning
A warning is generated due to a cast-function-type. Remove the unused
arg.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2025-03-17 02:21:37 +01:00
Peter Mitsis
701aab92e2 kernel: Add Z_IS_TIMEOUT_RELATIVE() macro
Introduces the Z_IS_TIMEOUT_RELATIVE() macro to help ensure that
checking for relative/absolute timeouts is consistent. Using this
macro also helps ensure that we get the correct behavior when using
32-bit timeouts (CONFIG_TIMEOUT_64BIT=n).

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2025-03-17 02:21:02 +01:00
Ajay Neeli
d012b14f17 drivers: i2c: xilinx_axi: Remove nested spinlock
Removed nested spinlock acquisition in i2c_xilinx_axi_write to prevent
ztest failures due to invalid spinlock usage.
Ensured spinlocks are not consecutively acquired without unlocking,
preventing potential deadlocks.

Signed-off-by: Ajay Neeli <ajay.neeli@amd.com>
2025-03-17 02:20:20 +01:00
Jordan Yates
826e598218 console: winstream: add missing Kconfig dependency
Add a missed dependency to all sub-symbols of `WINSTREAM_CONSOLE`.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-03-15 13:08:03 +01:00
Robert Hancock
df5ffc9165 drivers: serial: uart_xlnx_ps: Fix interrupt mode issues
This driver had some issues with interrupt-driven operation, which
manifested by the console breaking when enabling the Zephyr shell on the
kv260_r5 target for example. Fixed the following:

-Ensure device is fully hardware reset during initialization

-Changed poll_out to be more consistent with other drivers, i.e. only
wait for the UART to accept the character, not for it to be fully
transmitted.

-Added implementation for err_check function, as otherwise there was no
way to detect or clear the error interrupts enabled by irq_err_enable.

-Fixed logic for enabling/disabling interrupts. This should only be done
by explicit enable/disable calls, not as part of fifo_fill etc.

-This hardware does not produce interrupts for TX FIFO empty or RX FIFO
threshold when enabling them if the TX FIFO is already empty or RX FIFO
already contains data. When enabling interrupts in these cases, use a
timer to trigger a user callback to match the normal UART API usage,
similar to the xlnx_uartlite driver.

-Other minor cleanups to interrupt-driven functions.

Signed-off-by: Robert Hancock <robert.hancock@calian.com>
2025-03-15 13:07:28 +01:00
Robert Hancock
a52230b8be drivers: serial: uart_xlnx_ps: run clang-format
Updated code formatting with clang-format. No functional change
intended.

Signed-off-by: Robert Hancock <robert.hancock@calian.com>
2025-03-15 13:07:28 +01:00
Jordan Yates
f4fda91e0b watchdog: cmsdk_apb: don't reconfigure after start
Do not allow attempting to install new channels after the watchdog has
been started.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-03-15 13:07:05 +01:00
Jordan Yates
1f02f39b9e watchdog: cmsdk_apb: reset state before starting
Reset the watchdog back to the initial state before enabling the
expiry interrupt. This prevents the watchdog expiring immediately if
there is a long gap between `wdt_install_timeout` and `wdt_setup`.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-03-15 13:07:05 +01:00
Ayush Singh
8a4fd9bb1f drivers: cc13xx_cc26xx: pwm: Fix pm bug
- The current code will cause stall if some other subsystem (like subg)
  also needs to manage pm states.
- So add a check to only re-enable suspend if it was disabled by PWM.

Signed-off-by: Ayush Singh <ayush@beagleboard.org>
2025-03-15 13:06:39 +01:00
Sai Santhosh Malae
935c8e4701 drivers: pwm: siwx91x: Add siwx91x PWM driver
Implement PWM driver for siwx91x device

Signed-off-by: Sai Santhosh Malae <Santhosh.Malae@silabs.com>
2025-03-15 06:43:58 +01:00
Chia-Yang Lin
bd365a0bae drivers: rtc: rts5912: add rtc driver
Add rtc driver for Realtek rts5912.

Signed-off-by: Chia-Yang Lin <cylin0708@realtek.com>
2025-03-15 06:43:46 +01:00
Henrik Brix Andersen
d96e95ee76 drivers: serial: uart: neorv32: neorv32_uart_config_get() can be unused
Guard the neorv32_uart_config_get() function to avoid compilation warning
with CONFIG_UART_USE_RUNTIME_CONFIGURE=n.

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2025-03-15 00:35:36 +01:00
Declan Snyder
4e1c4cd623 spi_nxp_lpspi: Fix resource leak in transceive
There is a bug here clearly which is that if there is some error in the
transceive function, it returns without releasing the context.
This should be fixed by properly handling the errors with a context release
before returning.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-03-14 17:55:15 +01:00
Declan Snyder
97e29a9fde spi_nxp_lpspi: Fix TX word formation for multibyte
For multi-byte word, there is clearly a bug in that the same byte is
written to each spot in the word instead of writing all the bytes
properly.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-03-14 17:55:15 +01:00
Jeppe Odgaard
6c627df62e drivers: sensor: explorir_m: add calibration
Add calibration via a known gas concentration. This is the recommended way
of calibrating the sensor according to the datasheet.

Signed-off-by: Jeppe Odgaard <jeppe.odgaard@prevas.dk>
2025-03-14 17:54:39 +01:00
Lucien Zhao
d4f62b7c38 drivers: watchdog: add rt700_cm33_cpu0/1 support when getting wwdt clock
add rt700_cm33_cpu0/1 support when getting wwdt clock

Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
2025-03-14 17:53:53 +01:00
Daniel Baluta
43a48d4630 drivers: dma: sdma: Update buffer descriptor count
Some SDMA scripts (e.g multi-fifo) updates the buffer descriptor
count field after a transfer is complete.

Re-initialize the buffer descriptor to point to the correct
transfer size for the next transfer.

Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
2025-03-14 17:53:37 +01:00
Daniel Baluta
380ce33b2d dma: nxp: sdma: Enable multi fifo config for PDM
With PDM device NXP HAL uses multi-fifo script. In order
for this script to properly work we need to initialize
multi fifo and SW done configuration.

Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
2025-03-14 17:53:37 +01:00
Declan Snyder
d67e705d0b spi_nxp_lpspi: Fix DMA Async API
Fix the ASYNC DMA API on the lpspi driver and actually make the entire
driver go through that path. Rather than having an orthogonal
internally synchronous path we can just have both APIs go through the
same asynchronous path and just use wait_for_completion from spi context
to implement either sync or async.

Also make DMA driver default y if dependency (an lpspi having dmas
property) is met.

And lpspi_wait_tx_fifo_empty can be shared between drivers.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-03-14 17:53:24 +01:00
Dominik Lau
b4c0ec5bd4 drivers: serial: ns16550: allow clock_control_on returning ENOSYS
Fixes a regression caused by: 88830a3b
The ns16550 driver should handle possibility of
clock_control_on being a stub (i.e. returning ENOSYS)

Signed-off-by: Dominik Lau <dlau@antmicro.com>
2025-03-14 14:40:24 +01:00
Andreas Klinger
72b2f01298 drivers: sensor: add vishay veml6031 ambient light sensor
- add driver for Vishay VEML6031 High Accuracy Ambient Light Sensor.
- add new compatible "vishay,veml6031".
- read and write consecutive 8 bit registers as bulk operation.
- add driver to build all test of sensors.
- support fetch and get.
- triggered mode and interrupt is not yet supported.

Signed-off-by: Andreas Klinger <ak@it-klinger.de>
2025-03-14 14:40:12 +01:00
Sven Ginka
046fbdecfa drivers: i2c: sy1xx add support for i2c
Add i2c support for the sensry soc sy1xx.

Signed-off-by: Sven Ginka <s.ginka@sensry.de>
2025-03-14 14:39:55 +01:00
James Roy
ab4023c4ea drivers: display: Add SDL implementation example
Implement the '.clear' interface in the SDL driver
to allow the upper layers to use the display_clear
function.

Signed-off-by: James Roy <rruuaanng@outlook.com>
2025-03-14 14:39:40 +01:00
Camille BAUD
55a3e606bb drivers: timer: Enable CH32V00x timer driver for CH32V20x/30x
This enables CH32V20x/30x to use the driver

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-03-14 14:39:30 +01:00
Camille BAUD
7955757450 drivers: gpio: Introduce CH32V20x/30x GPIOs support to CH32V0x driver
This introduces support for CH32V20x/30x GPIOs

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-03-14 14:39:30 +01:00
Camille BAUD
a2a89f1fb9 drivers: clock_control: Introduce CH32V20x/30x clock control
This introduces support for CH32V20x/30x Clock schemes and
improves WCH Clock control driver

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-03-14 14:39:30 +01:00
Camille BAUD
d549af466a drivers: pinctrl: Introduce WCH CH32V20x/30x pinctrl Driver
This introduces the picntrl driver and partial bindings for
WCH CH32 V20x and V30x series

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-03-14 14:39:30 +01:00
Verena Schweinstetter
5c2b7bcbf7 drivers: stepper: Add stepper driver for allegro a4979
Adding a stepper driver implementation for allegro a4979
microstepping programmable stepper motor driver.
The implemenation was tested using the drv8424/api testsuite.

Signed-off-by: Verena Schweinstetter <verena.schweinstetter@zeiss.com>
2025-03-14 09:23:57 +01:00
Quang Le
b7f99ffbdd drivers: gpio: Add support for RZ/N2L
Add GPIO driver for RZ/N2L

Signed-off-by: Quang Le <quang.le.eb@bp.renesas.com>
Signed-off-by: Nhut Nguyen <nhut.nguyen.kc@renesas.com>
2025-03-14 09:23:50 +01:00
Quang Le
020a0d312c drivers: interrupt controller: Add support for RZ/N2L
Add interrupt controller driver support for RZ/N2L

Signed-off-by: Quang Le <quang.le.eb@bp.renesas.com>
Signed-off-by: Nhut Nguyen <nhut.nguyen.kc@renesas.com>
2025-03-14 09:23:50 +01:00
Hoang Nguyen
6a00473fa6 drivers: serial: Add support for RZ/N2L
Add serial driver support for RZ/N2L

Signed-off-by: Hoang Nguyen <hoang.nguyen.jx@bp.renesas.com>
Signed-off-by: Nhut Nguyen <nhut.nguyen.kc@renesas.com>
2025-03-14 09:23:50 +01:00
Hoang Nguyen
da0c8e5842 drivers: pinctrl: Add support for RZ/N2L
This is the initial commit to support pinctrl driver for Renesas RZ/N2L

Signed-off-by: Hoang Nguyen <hoang.nguyen.jx@bp.renesas.com>
Signed-off-by: Nhut Nguyen <nhut.nguyen.kc@renesas.com>
2025-03-14 09:23:50 +01:00
Jun Lin
a4ea1a1ac8 drivers: i2c: npcx: enhance the transfer efficiency
The i2c_transfer() API allows multiple msgs objects to be carried in a
transaction. After handling the current msgs object in the interrupt
context, the driver notifies the calling thread to buffer the next
msgs object and generate the Re-Start if required.
However, if the calling thread is preempted by higher priority threads,
the I2C transaction time may become non-deterministic (depending on the
execution time of higher-priority threads). This commits modifies the
driver to handle msgs objects entirely in the interrupt context to
improve the I2C transfer efficiency..

Signed-off-by: Jun Lin <CHLin56@nuvoton.com>
2025-03-14 09:17:13 +01:00
IBEN EL HADJ MESSAOUD Marwa
18277b48f1 drivers: ethernet: Add API_V2 auto-negotiation support
- Added definitions for LAN8742 PHY registers and bit masks
  to support auto-negotiation.
- The function `eth_init_api_v2` requires the Ethernet interface
  to be properly initialized. In auto-negotiation mode,
  it reads the speed and duplex settings to configure
  the driver accordingly.
- Implemented functions to get link state and configure speed
  and duplex mode based on auto-negotiation results.
- Ensured proper initialization of semaphores and MAC configuration
  for both auto-negotiation enabled and disabled scenarios.

Signed-off-by: IBEN EL HADJ MESSAOUD Marwa <marwa.ibenelhadjmessaoud-ext@st.com>
2025-03-14 09:16:59 +01:00
Tien Nguyen
342d2d7954 drivers: dma: Initial support for RZ/G3S
Add DMA driver support for Renesas RZ/G3S

Signed-off-by: Tien Nguyen <tien.nguyen.zg@renesas.com>
Signed-off-by: Nhut Nguyen <nhut.nguyen.kc@renesas.com>
2025-03-14 09:16:42 +01:00
Corey Wharton
6d01483b01 drivers: i3c: i3c_dw: skip I3C bus init on pure I2C buses
If the bus is only used I2C we can skip I3C bus initialization which
will send a number of unnecessary CCC transactions.

Signed-off-by: Corey Wharton <xodus7@cwharton.com>
2025-03-14 05:47:26 +01:00
Corey Wharton
a19429eb39 drivers: i3c: i3c_dw: make transfer timeout a Kconfig option
The current value of 1s is much too long, default to 100ms instead
which is enough for even a large 4kB FM I2C transfer to finish in
time let alone a typical I3C transfer. Make this configurable in
case projects want to tune this.

Signed-off-by: Corey Wharton <xodus7@cwharton.com>
2025-03-14 05:47:26 +01:00
Corey Wharton
b818a7662d drivers: i3c: i3c_dw: dynamically attach I2C devices on transfer
The maximum number of attached devices is limited by the maximum
number of entries in the device address table. For I3C devices
these have to by allocated permanently when devices are attached
but for I2C devices we can dynamically allocate an entry in the
table on a I2C transfer and free it after the transfer is completed.
This allows the maximum number of I2C + I3C devices on a bus to be
larger than the address table size as long as the number of I3C
devices is maxdevs - 1.

Signed-off-by: Corey Wharton <xodus7@cwharton.com>
2025-03-14 05:47:26 +01:00
Corey Wharton
e330a69aec drivers: i3c: i3c_dw: mark device busy during transfers
Prevent the device from being automatically suspended during transfers.

Signed-off-by: Corey Wharton <xodus7@cwharton.com>
2025-03-14 05:47:26 +01:00
Corey Wharton
6ed98bfc42 drivers: i3c: i3c_dw: add pinctrl support
Adds pinctrl support on init and on PM actions. General PM support is added
to the driver to enable the later.

Signed-off-by: Corey Wharton <xodus7@cwharton.com>
2025-03-14 05:47:26 +01:00
Tom Chang
1d59f95ad4 drivers: flash: npcx: avoid obstruction by eSPI TAF when EC access flash
This commit applies the arbitration when EC and eSPI TAF access flash.

Signed-off-by: Tom Chang <CHChang19@nuvoton.com>
2025-03-14 05:46:23 +01:00
Tom Chang
de3da0e4fa drivers: espi: npcx: update the arbitration for eSPI TAF access
This commit adds the arbitration when EC and eSPI TAF access flash
simultaneously.

Signed-off-by: Tom Chang <CHChang19@nuvoton.com>
2025-03-14 05:46:23 +01:00
Johann Fischer
bc6f7d2c15 drivers: udc_ambiq: do not leak UDC_AMBIQ_MAX_QMESSAGES
Do not leak UDC_AMBIQ_MAX_QMESSAGES Kconfig option.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2025-03-13 16:57:47 +00:00
Johann Fischer
e3fffa5931 drivers: udc_ambiq: do not include DWC2 hardware header
This should not be necessary for this driver.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2025-03-13 16:57:47 +00:00
Hui Bai
c61afbfa40 driver: wifi: Update security type to EAP for enterprise AP in scan results
Updated security type to WIFI_SECURITY_TYPE_EAP for enterprise AP
when handling scan results.

Signed-off-by: Hui Bai <hui.bai@nxp.com>
2025-03-13 16:57:15 +00:00
Fabio Baltieri
60a9a202df kscan: drop kscan and any reference
Drop the whole kscan subsystem and reference to it.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2025-03-13 16:56:26 +00:00
Luis Ubieda
df1d3b8ef3 sensor: paa3905: Add streaming mode
Working through either Motion detection or through Data-Ready.

Data-ready has a back-up timer to trigger worst case, if no motion
occurs within 10X data-rate.

On every streaming event, the driver checks for the sensor health, and
attempts recoverying its state if it detects issues.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-03-13 16:56:07 +00:00
Luis Ubieda
53bb372980 sensor: PA3905: Add basic functionality
- Add bus support for SPI (based on RTIO).
- Support read/decode API for one-shot reads on the following channels:
    - SENSOR_CHAN_POS_DX.
    - SENSOR_CHAN_POS_DY.
    - SENSOR_CHAN_POS_DXYZ.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-03-13 16:56:07 +00:00