Commit graph

28,390 commits

Author SHA1 Message Date
Jason Yu
bd10f9301e drivers: hwinfo: mcux_src_rev2: Change to use dts as dependency
Originally the driver is selected if `HAS_MCUX_SRC_V2` is
selected in SOC level kConfig.
Change to use dts to mark the driver is avaiable for some SOC.

Signed-off-by: Jason Yu <zejiang.yu@nxp.com>
2025-09-17 08:43:16 +02:00
Qiang Zhang
93edbeba94 drivers: input: Adapt to the latest SDK kpp driver
Get the KPP_keyPressScanning status value
to determine the stability of key data.
Update read_keys_old data update timing.

Signed-off-by: Qiang Zhang <qiang.zhang_6@nxp.com>
2025-09-17 08:43:05 +02:00
Lucien Zhao
826a2eee56 drivers: i2s: i2s_mcux_sai: update driver to support RT1180
add CONFIG_SOC_SERIES_IMXRT118X macro to support
audioPllConfig initialization

Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
2025-09-17 08:42:44 +02:00
Benjamin Cabé
4f90ec359d drivers: spi: xmc4xxx: handle error from spi_context_cs_configure_all
This fixes CI issues ("error: statement with no effect") in the
project's weekly CI run, e.g.:

west twister -p xmc47_relax_kit/xmc4700 -s drivers.spi.loopback.internal

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-09-17 08:42:10 +02:00
Luis Ubieda
c98f6bccc4 spi: rtio: Add validation for NULL tx and rx buffers
In addition to #94710 fixes, SPI RTIO currently fails existing spi
loopback testcase: test_spi_null_tx_rx_buf_set.

This plus the referenced PR enable RTIO-enabled drivers to pass the
testsuite.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-09-16 16:08:15 -04:00
Paulo Santos
1e7e1dbb6d drivers: gpio_gecko: update driver to use signal-only output.
Enable the pin configuration as single-ended pull-up output, allowing for
a currentless, signal-only output.

Signed-off-by: Paulo Santos <pauloroberto.santos@edge.ufal.br>
2025-09-16 16:07:59 -04:00
Felix Wang
5525941d83 drivers: Counter: Fix LPIT disable interrupt bug
The parameter for LPIT_DisableInterrupts should be
lpit_interrupt_enable_t, not channel id.

Besides, improve the code to use BIT macro for shift
operation.

Signed-off-by: Felix Wang <fei.wang_3@nxp.com>
2025-09-16 16:06:48 +02:00
Jonas Berg
f683bc53d1 drivers: sensor: ti: ina2xx: Add INA228 test
Add test for Texas Instruments INA228 current sensor via I2C.

Signed-off-by: Jonas Berg <jonas.s.t.berg@gmail.com>
Signed-off-by: Wilkins White <ww@novadynamics.com>
2025-09-16 16:06:38 +02:00
Wilkins White
8ed9787089 drivers: sensor: ti: ina2xx: Add INA228
Add the Texas Instruments INA228 Power/Energy/Charge
monitor. This chip is similar to the INA237, but has
a more precise ADC and added energy/charge channels.

Signed-off-by: Wilkins White <ww@novadynamics.com>
2025-09-16 16:06:38 +02:00
Wilkins White
685fec5809 drivers: sensor: ti: ina2xx: Convert INA226
Convert the INA226 driver to INA2XX

Signed-off-by: Wilkins White <ww@novadynamics.com>
2025-09-16 16:06:38 +02:00
Wilkins White
5ffb8c6305 drivers: sensor: ti: ina2xx: Convert INA230
Convert the INA230 driver to INA2XX

Signed-off-by: Wilkins White <ww@novadynamics.com>
2025-09-16 16:06:38 +02:00
Wilkins White
9c113d0a00 drivers: sensor: ti: ina2xx: Convert INA237
Convert the INA237 driver to INA2XX

Signed-off-by: Wilkins White <ww@novadynamics.com>
2025-09-16 16:06:38 +02:00
Wilkins White
bb570cbea4 drivers: sensor: ti: ina2xx: Add common functions
This commit adds a common framework to reduce repeated
code in the INA2XX family.

Signed-off-by: Wilkins White <ww@novadynamics.com>
2025-09-16 16:06:38 +02:00
Wilkins White
06b1440890 drivers: sensor: ti: Rename ina23x to ina2xx
This commit renames the ina23x folder and common files to ina2xx.
The more generic name will support, e.g., the INA237 and INA228
series chips.

Signed-off-by: Wilkins White <ww@novadynamics.com>
2025-09-16 16:06:38 +02:00
Jordan Yates
f11c90c8b7 drivers: disk: sdmmc_stm32: support PINCTRL sleep
Add support for configuring pins into an alternate mode when the
device is powered off.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-09-16 16:05:23 +02:00
Jordan Yates
4abe1c4f91 drivers: disk: sdmmc_stm32: power up on request
Move power configuration from the device init function into the
`DISK_IOCTL_CTRL_INIT` and `DISK_IOCTL_CTRL_DEINIT` handlers. If
`pwr-gpios` is defined, this ensures that the card is not powered up
until requested, and enables power down the card when not in use.

This behaviour matches the implementation for `sdhc_spi`.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-09-16 16:05:23 +02:00
Jordan Yates
24e91227f3 drivers: disk: sdmmc_stm32: fix clock pointer ref
Provide a pointer to the first element of the clock list explicitly (as
done by `stm32_sdmmc_clock_enable`), instead of a pointer to the list.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-09-16 16:05:23 +02:00
Raffael Rostagno
9dcc2d8086 drivers: usb: dwc2: Limit RX FIFO size allocation
Limit RX FIFO size allocation to a percentage of the total
SPRAM available, to cap allocation according to memory size.

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2025-09-16 16:04:03 +02:00
Raffael Rostagno
41cac25632 drivers: usb: dwc2: esp32: Add support
Add USB device driver support for ESP32 devices with
USB-OTG peripheral.

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2025-09-16 16:04:03 +02:00
Tomasz Moń
0748b4e47d drivers: udc_dwc2: Control D+ pull-up on nRF54H20
Disable D+ pull-up on core disable to make sure that device does not
indicate its presence to host before the stack is ready (software
initializes controller and clears SftDiscon bit).

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2025-09-16 14:05:18 +02:00
Chun-Chieh Li
3f9b8e2010 drivers: misc: ethos_u: numaker: remove ethosu_set_basep_cache_mask
This follows change of ethos-u core driver (hal_ethos_u) which
removes cache flush/invalidate mask function ethosu_set_basep_cache_mask.

Signed-off-by: Chun-Chieh Li <ccli8@nuvoton.com>
2025-09-16 10:54:34 +01:00
Tom Chang
76d54c1a37 drivers: dma: npcx: add gdma support
This commit adds support for the GDMA functionality.

Signed-off-by: Tom Chang <CHChang19@nuvoton.com>
2025-09-16 09:53:30 +02:00
Tom Burdick
e8c676be47 rtio: More useful callback OPs
Callbacks now take a result parameter which may, if the callback was
linkd to by a previous submissions, have the result code from the last
submission.

Additionally the userdata is now const by default making it easier to
use the device pointer as the userdata which is very common.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2025-09-16 09:53:14 +02:00
Adrian Bonislawski
8658ce5c9e drivers: dma: dw: Add power management state check in get_status
Add power management state validation in dw_dma_get_status() to ensure
the device is in active state before attempting to read DMA status.
Returns -EINVAL if device is not active, preventing potential issues
when accessing hardware registers while device is suspended.

Signed-off-by: Adrian Bonislawski <adrian.bonislawski@intel.com>
2025-09-15 19:46:07 -04:00
Bjarki Arge Andreasen
5db84c7cb7 drivers: power_domain: introduce nrfs_swext device driver
Introduce nrfx_swext device driver for NRFS SWEXT power domain
device.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-09-15 19:45:44 -04:00
Jordan Yates
1c7f1e56cc sensor: current_amp: improve output resolution
Improve the output resolution by converting internally to microvolts
rather than millivolts.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-09-15 19:44:36 -04:00
Jordan Yates
1f144307cf sensor: current_amp: optional high-range gain fallback
Add the option to specify an alternate ADC gain value to use if the
initial measurement saturates the range. This enables higher data
resolutions when the values are small compared to the maximum signal
values, while still supporting the maximum.

As a concrete example, measuring charge currents from a small solar
panel (0 - 50mA), while also supporting high USB charge currents
(up to 1A).

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-09-15 19:44:36 -04:00
Anthony Williams
3e7a941094 sensor: icm45686: Fix one-shot missing shift value for XYZ channels
Fix missing shift values in `sensor_three_axis_data`  when performing
one-shot reads on SENSOR_CHAN_ACCEL_XYZ and SENSOR_CHAN_GYRO_XYZ

Signed-off-by: Anthony Williams <anthony289478@gmail.com>
2025-09-15 19:44:25 -04:00
Yangbo Lu
7e9ed6e579 drivers: ethernet: dsa_nxp_imx_netc: support PTP timestamping
Supported PTP timestamping. Now only gPTP was supported.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
2025-09-15 14:06:56 -04:00
Yangbo Lu
600443a6b1 drivers: ethernet: nxp_imx_netc: support receiving more types frames
Supported receiving more types frames. One was TX timestamp response
frame and the other one is RX timestamped frame which were for switch
port.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
2025-09-15 14:06:56 -04:00
Yangbo Lu
ee6b20e8c2 drivers: ethernet: nxp_imx_netc: handle ports without PTP clock enabled
PTP clock may be enabled per Ethernet port. Especially pseudo port for
switch management does not need PTP clock.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
2025-09-15 14:06:56 -04:00
Yangbo Lu
15dc8d78f2 net: pkt: support common usage of control block
Supported common usage of control block for any layer.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
2025-09-15 14:06:56 -04:00
Jan Kablitz
e93bf00d5d drivers: sensor: st: lis2du12: fix missing power down before sw reset
According to the LIS2DU12 datasheet (p.30), the device must be
inpower-down mode before executing a software reset.
Entering power-down requires setting the ODR field to 0x000.
This commit adds the missing call to set ODR=0x000 before issuing the
reset. Without this step, the sensor does not recover after a controller
reset and only resumes operation after a full power cycle.

Signed-off-by: Jan Kablitz <jan.kablitz@8tronix.de>
2025-09-15 13:59:25 -04:00
Jan Kablitz
b7c971d1d1 drivers: sensor: st: lis2du12: relocate definition of reboot function
Relocate private reboot function to allow ODR configuration before
execution. This will ensure proper power-down sequence prior to software
reset.

Signed-off-by: Jan Kablitz <jan.kablitz@8tronix.de>
2025-09-15 13:59:25 -04:00
Jakub Klimczak
91ac587124 drivers: ethernet: Add VIRTIO Network Device
Add a driver for the VIRTIO Ethernet device.
This is a minimal driver which sets a MAC address and transmits packets,
but does not support any extra features like the control channel or
checksum offloading.
Confirmed to work with the networking subsystem samples. For example, the
zperf sample shows a result of 85 Mbps download and 14 Mbps upload.

Signed-off-by: Jakub Klimczak <jklimczak@internships.antmicro.com>
2025-09-15 14:44:58 +02:00
Rafal Dyla
3cf2627d85 arch: riscv: Support for Direct ISRs for RISCV targets
Added missing features and configuration to support Direct ISRs

Signed-off-by: Rafal Dyla <rafal.dyla@nordicsemi.no>
2025-09-15 14:44:24 +02:00
Anisetti Avinash Krishna
08b8f3c40d drivers: bbram: Enables bbram driver for motorola, mc146818
Enables bbram driver for motorola, mc146818 under its MFD
to access the RAM of the RTC.

Signed-off-by: Anisetti Avinash Krishna <anisetti.avinash.krishna@intel.com>
2025-09-15 14:44:08 +02:00
Anisetti Avinash Krishna
2b1b3f0934 drivers: counter: Enables support for MFD in counter
Enabled support for MFD in CMOS counter.

Signed-off-by: Anisetti Avinash Krishna <anisetti.avinash.krishna@intel.com>
2025-09-15 14:44:08 +02:00
Anisetti Avinash Krishna
a1f89976d5 drivers: rtc: Enabled MFD support for RTC mc146818
Enabled support for motorola mc146818 RTC driver.

Signed-off-by: Anisetti Avinash Krishna <anisetti.avinash.krishna@intel.com>
2025-09-15 14:44:08 +02:00
Anisetti Avinash Krishna
fbec41494d drivers: mfd: Enabled motorola,mc146818 MFD
Enabled Motorola, mc146818 MFD, which implements RTC
read/write operations and prevents data corruption
by synchronizing these operations.

Signed-off-by: Anisetti Avinash Krishna <anisetti.avinash.krishna@intel.com>
2025-09-15 14:44:08 +02:00
Mathieu CHOPLAIN
5bef4a9d62 drivers: usb: udc: skeleton: handle special case of set_halt() for EP0
The UDC stack assumes that 'halt' on control endpoints is automatically
cleared by device drivers and never calls udc_ep_clear_halt() for such
endpoints. In practice, most controllers do perform this automatic clear
in hardware, but this requires special handling in udc_ep_set_halt() for
control endpoints (EP0), as setting the 'halted' bit on such endpoints will
lead to the software getting out-of-sync with the hardware.

Update the UDC skeleton driver to handle this edge case and add a comment
documenting the stack's behavior, along with the hardware behavior expected
by the code added to the skeleton driver for it to be functional.

Co-authored-by: Johann Fischer <johann.fischer@nordicsemi.no>
Signed-off-by: Mathieu CHOPLAIN <mathieu.choplain-ext@st.com>
2025-09-15 12:09:32 +02:00
Tomasz Leman
68be678c4b intel_adsp: tlb: Configure HPSRAM retention mode after power transitions
Explicitly configure retention mode when powering up HPSRAM banks to
ensure consistent behavior across hardware platforms.

After D3 power state transitions, the retention mode configuration can
become undefined due to hardware reset. This causes test failures in NVL
FPGA testing environment where the hardware strictly enforces retention
mode settings.

The fix ensures retention mode is properly set in two locations:
- sys_mm_drv_hpsram_pwr(): Configure retention mode for all bank
  power-up operations
- adsp_mm_restore_context(): Explicitly set retention mode during
  D3->D0 restore sequence after each bank is powered up

Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
2025-09-15 12:08:21 +02:00
Stefan Giroux
6cb06cdd08 drivers: sam0: dac: add sam0 dac support to samc21 processors
The SAMC21 has a different revision of the DAC peripheral.
This change adds an ifdef to handle the changed SYNCBUSY register.

Signed-off-by: Stefan Giroux <stefan.g@feniex.com>
2025-09-15 10:29:10 +02:00
Richard Yim
de1673a80b drivers: uhc: uhc_mcux_common: add direction handling for non-setup packets
added logic to determine the direction of USB transfers for non-setup
packets using the endpoint direction. This ensures proper handling of
USB_IN and USB_OUT directions.

Signed-off-by: Richard Yim <richardyim@ami.com>
2025-09-15 10:28:43 +02:00
Camille BAUD
b640228691 drivers: gpio: Add BL60x and BL70x GPIO driver
Adds the gpio driver for BL602, 604, 702, 704, 706

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-09-14 17:02:11 +02:00
Stoyan Bogdanov
49ef7d460c drivers: i2c: Add support for cc23x0 I2C
Add support for I2C to cc23x0 SoC. Only controller mode is implemented.

Signed-off-by: Stoyan Bogdanov <sbogdanov@baylibre.com>
2025-09-13 21:23:34 -04:00
Ajay Neeli
5296e74895 drivers: i2c: cdns: Add support for Target Mode
Add target mode support for Cadence I2C

Signed-off-by: Ajay Neeli <ajay.neeli@amd.com>
2025-09-13 21:23:19 -04:00
Kunihiko Hayashi
29956b0b24 drivers: arm_arch_timer: Move timer enablement after comparison value set
The timer is enabled before comparison value is set, which can lead to
unexpected behavior if the registers contain uninitialized values.

Should call arm_arch_timer_enable() after arm_arch_timer_set_compare().

Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
2025-09-13 21:23:06 -04:00
WenBin Zhang
29750ac05d drivers: ethernet: eth_stm32 v1/v2 are placed in separate files
v1/v2 are placed in separate files and prepare to add
asynchronous sending functionality for V2

Signed-off-by: WenBin Zhang <freey7955@gmail.com>
2025-09-13 18:15:10 -04:00
WenBin Zhang
678e226045 drivers: ethernet: rename eth_stm32_hal.c -> eth_stm32_hal_v2.c
Plan to restructure eth_stm32_hal into two files, eth_stm32_v1
and eth_stm32_v2, while retaining the git history of v2.

Signed-off-by: WenBin Zhang <freey7955@gmail.com>
2025-09-13 18:15:10 -04:00