Commit graph

24538 commits

Author SHA1 Message Date
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
Armin Kessler
4bb5ffd786 driver: video: esp32: add video_flush() callback
Adding missing `video_flush()` callback to driver.

Signed-off-by: Armin Kessler <ake@espros.com>
2025-03-13 10:50:11 +01:00
The Nguyen
759ddf2685 drivers: mipi_dsi: add mipi phys timing setting for renesas,ra-mipi-dsi
Add timing configuration in dts for renesas,ra-mipi-dsi

Signed-off-by: The Nguyen <the.nguyen.yf@renesas.com>
2025-03-13 10:49:13 +01:00
The Nguyen
fadd3f8491 drivers: mipi_dsi: correct formatting for dsi_renesas_ra
Remove redundant code.
Format source code to make it prettier.

Signed-off-by: The Nguyen <the.nguyen.yf@renesas.com>
2025-03-13 10:49:13 +01:00
The Nguyen
ca1adf7c28 drivers: mipi_dsi: extend support of renesas,ra-mipi-dsi
Extend support for DSI generic write

Signed-off-by: The Nguyen <the.nguyen.yf@renesas.com>
2025-03-13 10:49:13 +01:00
The Nguyen
539d0f6f61 driver: display: use LP mode for ilitek,ili9806e-dsi
Update driver code to use LPM

Signed-off-by: The Nguyen <the.nguyen.yf@renesas.com>
2025-03-13 10:49:13 +01:00
Nitin Pandey
652c5f42ac driver: wifi: siwx91x: Fix scan params error for 5Ghz band
- Rejected non 2.4GHz band channels from Wifi-Scan.
- Overrode the WIFI_MGMT_SCAN_CHAN_MAX_MANUAL parameter to 50.
- Added check for wrong interface and invalid states

Signed-off-by: Nitin Pandey <nitin.pandey@silabs.com>
2025-03-13 10:49:03 +01:00
Nirav Agrawal
fbf3353ec6 drivers: serial: add support for uart_line_ctrl_set()
- For MCUX LPUART driver, added support to control RTS line
  High/Low from other driver/app code.

- This control is required to wakeup other device which is
  in sleep and configured its wakeup-source as UART-CTS line.

Signed-off-by: Nirav Agrawal <nirav.agrawal@nxp.com>
2025-03-13 07:40:49 +01:00
Jilay Pandya
761c6fbae6 tests: stepper_api: test stop, set_micro_step_res, set_micro_step_interval
unify error codes from all drivers based on stepper specification
add a generic test case for set_micro_step_interval and stop

Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
2025-03-13 07:31:06 +01:00
Ioannis Damigos
a7c0ec2c55 drivers: sensor: hs400x: Soft reset HS400x during initialization
Soft reset HS400x during initialization to make sure that
device is at a known state and writeable registers have the
default values.

Signed-off-by: Ioannis Damigos <ioannis.damigos.uj@renesas.com>
2025-03-13 07:22:36 +01:00
Khoa Nguyen
cf9e92742b drivers: comparator: Initial Comparator support for Renesas RA
Initial Comparator driver support for Renesas RA

Signed-off-by: Khoa Nguyen <khoa.nguyen.xh@renesas.com>
2025-03-13 07:22:00 +01:00
Phuc Pham
fe53749cdf drivers: adc: Initial support for RZ/G3S
Add ADC driver support for Renesas RZ/G3S

Signed-off-by: Phuc Pham <phuc.pham.xr@bp.renesas.com>
Signed-off-by: Binh Nguyen <binh.nguyen.xw@renesas.com>
2025-03-13 07:21:40 +01:00
Chris Friedt
7ee9c01f54 drivers: wifi: nxp: do not use deprecated posix kconfig
Update NXP_WIFI_SIGMA_AGENT to use non-deprecated POSIX Kconfig
options.

Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
2025-03-12 19:03:52 +01:00
Emanuele Di Santo
cdc2f2a52c drivers: timer: nrf_rtc_timer: do not start LFCLK unless CLOCK_CONTROL
Do not start the LF clock unless CONFIG_CLOCK_CONTROL_NRF is enabled.
This is similar to how it's done in Nordic's GRTC driver.

Authored-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Signed-off-by: Emanuele Di Santo <emdi@nordicsemi.no>
2025-03-12 19:02:55 +01:00
Nirav Agrawal
cacf8f6a47 drivers: bluetooth: hci_nxp_setup: support for bt disable and reinit
- added flag in nxp setup driver to perform HCI controller firmware-
  load and configuration only once. This avoid loading/setting-up
  controller fw on successive bt_init() after bt_disable() call.

Signed-off-by: Nirav Agrawal <nirav.agrawal@nxp.com>
2025-03-12 19:02:35 +01:00
Nirav Agrawal
438701fdd5 bluetooth: host: perform hci-reset in bt_disable()
- added HCI command to send hci-reset in bt_disable() func, and
  remove its call from the driver close() call.
- remove rsp buf pass to 'hci_reset_complete()' func as status is
  already checked under 'bt_hci_cmd_send_sync()'.

Signed-off-by: Nirav Agrawal <nirav.agrawal@nxp.com>
2025-03-12 19:02:35 +01:00