Commit graph

24538 commits

Author SHA1 Message Date
Andrzej Głąbek
c2b537fb6c drivers: flash_mspi_nor: Remove undesirable initial Quad disabling
Using a GPIO reset for a flash chip that has a dual function pin
(RESET# or SIO3) and is to be used in Quad mode is rather a bad idea
and so is clearing of the Quad Enable bit at every initialization
of the flash driver, since this bit is usually non-volatile, so such
operation means unnecessary wearing of the flash chip. Soft Reset
should be use instead in such case.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2025-09-10 13:02:01 +02:00
Andrzej Głąbek
ff13d4062f drivers: flash_mspi_nor: Add Soft Reset
Add implementation of the most common Soft Reset routine (sequence of
reset enable instruction 0x66 and reset instruction 0x99).

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2025-09-10 13:02:01 +02:00
Andrzej Głąbek
2fcb2158ae drivers: flash_mspi_nor: Complete handling of QER, add handling of OER
Complete implementation of quad_enable_set() by adding support for all
possible Quad Enable Requirements (QER) as specified by the SFDP JEDEC
standard (JESD216). Add also corresponding octal_enable_set() to handle
Octal Enable Requirements.

Also remove initial waiting from mxicy_mx25r_post_switch_mode() which
became unneeded, as now such waiting is done in cmd_wrsr() which is
called at the end of quad_enable_set().

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2025-09-10 13:02:01 +02:00
Andrzej Głąbek
cafa288197 drivers: flash_mspi_nor: Refactor handling of commands
- Use standard operation codes and parameters from SFDP for handling
  the used flash commands (allow to override some of them through dts
  with the `read-command`, `write-command`, and `rx-dummy` properties)
- Use all available erase types as specified by SFDP
- Allow using all IO modes
- Add support for switching to 4-byte addressing mode
- Use common functions for reading and writing of status registers
  and for enabling write operations
- Switch IO mode (between the target one and Single IO) in a common
  function that performs transfers and do it only when required for
  a given command
- Make checking of JEDEC ID at initialization optional

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2025-09-10 13:02:01 +02:00
Andrzej Głąbek
29bc5bf12c drivers: flash_mspi_nor: Get info from dts SFDP arrays
Get parameters for used flash commands and requirements for enabling
Quad and Octal modes from dts uint8-arrays containing data read from
SFDP tables for particular flash chips.
Also introduce `pre_init` quirk that allows alteration of the above
parameters or complementation of them in a specific way for particular
flash chip families.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2025-09-10 13:02:01 +02:00
Phi Bang Nguyen
2bfa1869d1 drivers: video: dcmipp: Define video device for each pipe
Define a video device for each pipe instead for the main dcmipp device
since the pipe is the device that communicates with application
(zephyr,camera chosen node), not the dcmipp device.

This helps to enable camera controls as well.

Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
2025-09-10 10:27:28 +01:00
Phi Bang Nguyen
ca030fbf88 drivers: video: stm32_dcmipp: Use normal child nodes for pipes
The pipe nodes are not video interfaces. Describe them as normal child
nodes instead of using port/endpoint.

Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
2025-09-10 10:27:28 +01:00
Phi Bang Nguyen
caa9c8c83a drivers: video: stm32_dcmipp: Fix a typo on driver instance name
The driver instance variable name is inst, not n.

Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
2025-09-10 10:27:28 +01:00
Phuc Pham
ebf3aa050a drivers: i2c: Add I2C support for Renesas RZ/A3UL, T2M, N2L, V2L
Add I2C driver support for Renesas RZ/A3UL, T2M, N2L, V2L

Signed-off-by: Phuc Pham <phuc.pham.xr@bp.renesas.com>
Signed-off-by: Nhut Nguyen <nhut.nguyen.kc@renesas.com>
2025-09-10 08:26:40 +02:00
Duy Vo
3d99f67436 drivers: crc: initial support for CRC driver
- Implement CRC syscall.
- Add CRC driver API.
- Introduce support for the CRC driver.

Co-authored-by: Zoe Kaute <zoe.kaute@brillpower.com>
Signed-off-by: Duy Vo <duy.vo.xc@bp.renesas.com>
2025-09-10 08:26:32 +02:00
Tony Han
9b7d73cf67 drivers: ethernet: ksz8081: fix compiling error about missing variable
The missing variable "config" in phy_mc_ksz8081_cfg_link() maybe
used by the macro "USING_INTERRUPT_GPIO", add the variable to avoid
compiling errors.

fixes: #95492

Signed-off-by: Tony Han <tony.han@microchip.com>
2025-09-09 21:42:38 -07:00
Dev Joshi
9320bd2911 drivers: fuelgauge: add support for TI bq40z50 chip
This commit adds driver support for bq40z50 fuel gauging chip from Texas
Instruments.

Signed-off-by: Dev Joshi <quic_devbhave@quicinc.com>
2025-09-09 21:42:23 -07:00
Jordan Yates
455d948ed6 flash: nrf_qspi_nor: active dwell time
Asynchronously release the device after a small delay to minimise power
state transitions under multiple sequential API calls (e.g. NVS).

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-09-09 20:41:31 -04:00
Jordan Yates
1e307bcae2 sensor: voltage_divider: request calibration
Request calibration of the ADC in the voltage divider driver to improve
the accuracy of the measured voltages.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-09-09 20:40:11 -04:00
Jordan Yates
9f44b011de bluetooth: hci: h4: optional reset pin
Add an optional reset pin for H4 HCI driver.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-09-09 20:39:59 -04:00
Erwan Gouriou
d12aa5bf61 drivers: interrupt_controller: stm32: Fix range handling
When iterating over range, we were going one index too far.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2025-09-09 17:28:48 +02:00
Benjamin Cabé
1ee48cf421 drivers: adc: adopt new sys_count_bits util function
Adopt new sys_count_bits helper from util.h and avoid
having conflicting definition

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2025-09-09 17:27:15 +02:00
Raffael Rostagno
7cb8951829 drivers: spi: esp32h2: Add support
Add GSPI support to ESP32-H2.

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2025-09-09 14:53:55 +02:00
Andrzej Głąbek
0e1dfd9403 drivers: mspi_dw: Add support for DQS line
Add possibility of using data strobe signal (DQS) called RXDS in
the SSI documentation. This signal may be necessary to make use
of DDR modes.
Remove also a TODO comment that should have been removed when support
for DDR was added in fc64fec8fe.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2025-09-09 14:53:24 +02:00
Emil Dahl Juhl
bed6ab353f spi: rtio: fix using rx_bufs entries for tx_buf
Within spi_rtio_copy there'd be a case where the tx_buf pointer would
mistakenly get assigned the address of an rx buffer.
Specifically this would happen in the case where there are no rx buffers
provided, and as such this would lead to pontential nullptr dereferences.

Correct the mistake to let tx_buf correctly point to the provided tx
buffers.

Signed-off-by: Emil Dahl Juhl <emil@s16s.ai>
2025-09-09 14:53:13 +02:00
Tahsin Mutlugun
69e31d87be drivers: i3c: max32: Do not exit CCC if no known I3C devices exist
I3C targets can join the bus after initialization so CCC should not exit
if no known I3C devices exist at init time.

Signed-off-by: Tahsin Mutlugun <Tahsin.Mutlugun@analog.com>
2025-09-09 12:19:41 +01:00
Marek Matej
5761bf8b53 drivers: counter: FIx unused config
Remove unused config from the counter driver Kconfig.
Fix typo in dependant config.

Signed-off-by: Marek Matej <marek.matej@espressif.com>
2025-09-09 12:19:12 +01:00
Marc Reilly
cc0fecd299 sensor: shell_battery: display labels for capacity are mAh
Update the units labels to be mAh

Signed-off-by: Marc Reilly <marc@cpdesign.com.au>
2025-09-09 11:44:59 +02:00
Marc Reilly
5bc2d0758a sensor: shell_battery: fix current value display
The sensor interface gives current channel values in Amps, but the "I"
(current) value is displayed in mA, so needs to be converted accordingly.

Signed-off-by: Marc Reilly <marc@cpdesign.com.au>
2025-09-09 11:44:59 +02:00
Evgenii Kosenko
8ef809f43c drivers: bluetooth: silabs_efr32: Declares periodic sync feature
Adds declaration for Periodic Advertising Synchronization Establishment
procedure supported by controller.

Signed-off-by: Evgenii Kosenko <Evgenii.Kosenko@silabs.com>
2025-09-09 10:32:05 +02:00
Yongxu Wang
f94b3b9e2b drivers: firmware: scmi: add cpu irq wake interface for nxp vendor
Add scmi_cpu_set_irq_mask function for scmi nxp cpu driver,
set cmc wakeup mask from scmi interface by this.

The CPU_IRQ_WAKE_SET is sent to the scmi platform
to determine which interrupt can wakeup the cpu platform
when the corresponding interrupt occurs

"1" means the IRQ cannot wakeup CPU platform
Each bit corresponds one-to-one with the interrupt
controller of the platform such as nvic in mcore

Signed-off-by: Yongxu Wang <yongxu.wang@nxp.com>
2025-09-09 10:31:22 +02:00
Yongxu Wang
6e69e50613 drivers: firmware: scmi: return converted status directly
Simplify error handling by returning scmi_status_to_errno(status)
directly after message response.

Signed-off-by: Yongxu Wang <yongxu.wang@nxp.com>
2025-09-09 10:31:22 +02:00
Quang Le
c1da8c50df drivers: spi: Fix spi_loopback failure for Renesas RZ/G3S-SMARC
Fixes the `spi_loopback` test failure on board Renesas `rzg3s_smarc` since
the test has been updated by zephyrproject-rtos/zephyr/pull/86383

Signed-off-by: Quang Le <quang.le.eb@bp.renesas.com>
Signed-off-by: Tien Nguyen <tien.nguyen.zg@renesas.com>
2025-09-09 09:10:12 +02:00
Vinayak Sunilkumar Priyadarsini
a87ed22fe1 drivers: sensor: adxl367: fix for temperature readout
Fix to ensure temperature is sampled at the same timestamp as x,y,z axis
data.

Signed-off-by: Vinayak Sunilkumar Priyadarsini <Vinayak.SunilkumarPriyadarsini@analog.com>
2025-09-09 07:35:00 +02:00
Fin Maaß
53debb6ab7 drivers: spi: nxp: lpspi: use DT_DRV_COMPAT to fix native cs
As the other spi_nxp_lpspi driver source files use DT_DRV_COMPAT
and that is used to determine in spi_context.h if the gpio cs
code is used, it also have to be defined in spi_nxp_lpspi_common.c
so there is no mismatch and breaking of the driver.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-09-09 07:34:36 +02:00
Fin Maaß
a584e36e27 arch: cache: set default of line size
set default of line size to the
value from the devicetree.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-09-08 15:53:36 -04:00
S Mohamed Fiaz
4cd8bcc523 drivers: i2c: silabs: add async combined write-read
Added support for combined write-read operations
with repeated start for asynchronous (async)
operations in the Silabs I2C driver for EFR
series 2 devices.

Signed-off-by: S Mohamed Fiaz <Fiaz.Mohamed@silabs.com>
2025-09-08 15:52:34 -04:00
S Mohamed Fiaz
ea6ec6b15a drivers: i2c: silabs: i2c driver for EFR series 2 devices
Added the i2c driver for EFR series 2 devices.

Signed-off-by: S Mohamed Fiaz <Fiaz.Mohamed@silabs.com>
2025-09-08 15:52:34 -04:00
Immo Birnbaum
4ef8e14297 drivers: ethernet: xlnx_gem: invert RX/TX checksum offload behaviour
Invert the RX/TX checksum offloading to hardware behaviour so that
hardware checksum generation / evaluation for TCP/UDP packets on
either IPv4 or IPv6 is enabled by default, but can be disabled
explicitly.

This behaviour, which should optimize network performance, has
become possible with the implementation of the device driver's
get_config function, indicating to the network stack that HW
checksum offloading is not supported for, e.g., ICMP packets.
Before this implementation, enabling the HW checksum offloading
resulted in invalid packets for any unsupported protocol and
could therefore not be enabled by default.

For QEMU, which does not support the emulation of the HW
checksum offloading, automatically disable the offloading.

Signed-off-by: Immo Birnbaum <mail@birnbaum.immo>
2025-09-08 15:51:57 -04:00
Chun-Chieh Li
13315d1ea0 drivers: usb: udc: numaker: refactor large isr function
For clear, this splits large isr function into smaller ones which are
dedicated for handling plug/unplug, wakeup, reset/suspend/resume, SOF,
Setup, and endpoint events.

Signed-off-by: Chun-Chieh Li <ccli8@nuvoton.com>
2025-09-08 11:13:23 -04:00
Chun-Chieh Li
866080d9c5 drivers: usb: udc: numaker: remove unneeded volatile
This removes unneeded 'volatile' qualifier for normal memory variables.

Signed-off-by: Chun-Chieh Li <ccli8@nuvoton.com>
2025-09-08 11:13:23 -04:00
Chun-Chieh Li
e6bc45504a drivers: usb: udc: numaker: support VBUS detect
This supports VBUS detect (caps.can_detect_vbus). This requires enables
VBUS detect interrupt early.

Signed-off-by: Chun-Chieh Li <ccli8@nuvoton.com>
2025-09-08 11:13:23 -04:00
Chun-Chieh Li
cf787d4e80 drivers: usb: udc: numaker: refine timing to clear interrupt flags
This refines interrupt handling sequence: clear interrupt flag first,
then process it. This can avoid one race condition when interrupt flag
is cleared but not processed for interrupts of the same type coming
very closely.

Signed-off-by: Chun-Chieh Li <ccli8@nuvoton.com>
2025-09-08 11:13:23 -04:00
Chun-Chieh Li
4516310f4b drivers: usb: udc: numaker: fix timing to enable D+ pull-up
This fixes timing to enable D+ pull-up so that device won't be recognized
by host until user application invokes udc_enable().

Signed-off-by: Chun-Chieh Li <ccli8@nuvoton.com>
2025-09-08 11:13:23 -04:00
Chun-Chieh Li
3bd8b61ff9 drivers: usb: udc: numaker: fix typo
This fixes typo in isr function name.

Signed-off-by: Chun-Chieh Li <ccli8@nuvoton.com>
2025-09-08 11:13:23 -04:00
Chun-Chieh Li
e2ff312b28 drivers: usb: udc: numaker: recover unwanted assignment break
This recovers unwanted assignment break caused by clang-format.

Signed-off-by: Chun-Chieh Li <ccli8@nuvoton.com>
2025-09-08 11:13:23 -04:00
S Mohamed Fiaz
e8fd6b1a12 driver: pwm: pwm_silabs_siwx91x: Add pm device support for pwm driver
This commit enables the pm device driver support
for the pwm_silabs_siwx91x driver.

Signed-off-by: S Mohamed Fiaz <fiaz.mohamed@silabs.com>
2025-09-08 14:37:36 +02:00
Utsav Munendra
19988acd90 drivers: flash_mspi: Implement flash API get_size
Implement the Zephyr Flash Driver API for completeness.

Signed-off-by: Utsav Munendra <utsavm@meta.com>
2025-09-08 09:50:20 +02:00
Tomáš Juřena
87dbd2e2a4 drivers: counter: stm32: Disable BYPSHAD in init
Disable the shadow registers bypass in init function before RTC
deinitialisation to avoid infinite loop as the bit cases the RSF bit
to be kept in 0. The systick is not working in PRE_KERNEL_1 so it will
never timeout.

Signed-off-by: Tomáš Juřena <jurenatomas@gmail.com>
2025-09-08 09:48:12 +02:00
Glenn Andrews
e38ba02c38 drivers: w1: use correct reset byte for overdrive mode
Test the received byte against the byte sent depending on the speed
selected, not the standard-speed mode byte every time.

Signed-off-by: Glenn Andrews <glenn.andrews.42@gmail.com>
2025-09-08 09:48:01 +02:00
Yurii Lozynskyi
c09edc10fc drivers: watchdog: Shift watchdog to pdl
Shift ifx_cat1 watchdog driver to using pdl instead of hal calls

Signed-off-by: Yurii Lozynskyi <yurii.lozynskyi@infineon.com>
2025-09-06 18:16:55 -04:00
Taras Zaporozhets
993b642f2e drivers: flash: sam0: Fix incorrect page write size
According to the datasheet, one page is made of 64 bytes
and one row is made of 4 pages, that is 256 bytes.
This MR fixes the incorrect page write size for sam0
and sets it to 64 bytes.

Signed-off-by: Taras Zaporozhets <zaporozhets.taras@gmail.com>
2025-09-06 10:35:25 +02:00
Camille BAUD
02d51a7059 drivers: gpio: Add BL61x GPIO driver
Adds the gpio driver for BL616 and 618

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-09-06 10:35:17 +02:00
Henrik Brix Andersen
ec1e05c421 drivers: hwinfo: add HWINFO driver for native_sim
Add a HWINFO driver for native_sim with support for getting the device
ID. Default device ID will be that returned from gethostid(), but the ID
can be overriden via the -hostid command line option.

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2025-09-06 08:40:34 +02:00
Alessandro Manganaro
d808d9e2f9 drivers: bluetooth: hci: stm32wba driver update for pm
Reworking  pm implementation in stm32wba ble hci driver.
Enabling "no-reset" quirk for stm32wba ble hci driver to
maintain specific configuration required for pm.

Signed-off-by: Alessandro Manganaro <alessandro.manganaro@st.com>
2025-09-06 08:40:02 +02:00