Commit graph

24538 commits

Author SHA1 Message Date
Benjamin Cabé
abc03fe279 drivers: rtc: ds3231: make header file private
rtc_ds3231.h only contains register definitions and bitmasks used
internally by the driver - make this header file private.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-09-03 01:24:15 +02:00
Adib Taraben
4ca352b052 phy_adin2111.c: correctly assign state parameter with state from device
This fixes an unintialized variable access problem in callback.

Signed-off-by: Adib Taraben <theadib@gmail.com>
2025-09-03 01:18:54 +02:00
Shan Pen
cdd4460a31 drivers: disk: sdmmc_stm32: Add compatibility macros for STM32F4 SDIO
Add compatibility macros to map SDMMC constants to SDIO equivalents
for STM32F4 series MCUs. STM32F4 uses SDIO peripheral with SDIO_*
constants while newer STM32F7/H7 series use SDMMC peripheral with
SDMMC_* constants.

This fixes compilation errors on STM32F4 platforms where SDMMC_*
constants are undefined:
- SDMMC_CLOCK_EDGE_RISING
- SDMMC_CLOCK_BYPASS_ENABLE/DISABLE
- SDMMC_CLOCK_POWER_SAVE_ENABLE/DISABLE
- SDMMC_HARDWARE_FLOW_CONTROL_DISABLE

Fixes zephyrproject-rtos/zephyr#94896

Signed-off-by: Shan Pen <bricle031@gmail.com>
2025-09-02 21:40:24 +02:00
Liam Ogletree
97752191f4 drivers: flash: Add support for Atmel AT25 SPI flash variant
The AT25XV021A variant is a flash variant of Atmel's AT25 family
that adds extra protections, requiring additional writes to the
device to program or erase data.

This commit adds a flash driver for AT25XV021A devices instead of
modifying (1) the existing AT45 SPI flash driver or (2) the
existing AT24/25 EEPROM driver because this variant poses
fundamental changes that affect all aspects of the driver.

Notably,
 - AT25XV021A includes a second status register, and the format
	and functions of the existing status register is
	changed from the existing drivers.
 - AT25XV021A requires executing page or chip erase commands
	before writing, making it incompatible with the
	existing AT24/25 EEPROM driver.
 - AT25XV021A adds a software protection layer that requires
	extra writes before executing program or erase commands.

Tested writing to and erasing from an AT25XV021A device. Tested
reading from an AT25XV021A device across page boundaries. Tested
chip erase function. Tested driver initialization from varying
initial hardware states.

Signed-off-by: Liam Ogletree <liam.ogletree@cirrus.com>
2025-09-02 21:40:07 +02:00
Terry Geng
1f53d6a2d3 drivers: spi: spi_pico_pio: Remove pio from ...data
Make use of the inline function to reduce unnecessary variables.

Signed-off-by: Terry Geng <terry@terriex.com>
2025-09-02 21:39:55 +02:00
Terry Geng
814750d115 drivers: misc: pio_rpi_pico: Make pio_rpi_pico_get_pio inline.
The `pio` value is stored in the internal `pio_rpi_pico_config` structure
that is not exposed. However, it is the first element of the structure.
Here, I convert the pointer to `pio_rpi_pico_config` into a pointer to PIO
to access this value.

Signed-off-by: Terry Geng <terry@terriex.com>
2025-09-02 21:39:55 +02:00
Joel Guittet
7837f5e509 drivers: wifi: esp32: fix integration of connection manager
Connection manager doesn't depends on ESP32 Wi-FI AP+STA mode.
This modification fix integration of connection manager binding
in the Wi-Fi ESP32 driver.

Signed-off-by: Joel Guittet <joelguittet@gmail.com>
2025-09-02 18:43:56 +02:00
Jordan Yates
03513a6910 lora: lbm: choice of reported RSSI type
Add a choice of which RSSI type should be reported to the application
layer, packet RSSI (which stops at the noise floor) or signal RSSI
(which estimates the LoRa signal strength into the noise floor).

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-09-02 18:41:44 +02:00
Jordan Yates
611e14bd6d lora: lbm: enable SX126x RX boost option
Add the option to enable the RX boost mode in devicetree.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-09-02 18:41:44 +02:00
Jordan Yates
38384e1233 lora: LoRa Basics Modem backend for SX12xx chips
As a first integration of the LoRa Basics Modem backend, implement the
LoRa API for the standard SX126x/SX127x chips.

Much of the logic from `lbm_common.c` is taken from the loramac-node
`sx12xx_common` implementation, but it should now be agnostic for all
LoRa RF transceivers.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-09-02 18:41:44 +02:00
Jordan Yates
01c97e205d lora: shift drivers to dedicated loramac-node folder
Move the current implementation of the LoRa API using `loramac-node` to
a dedicated folder in preparation for the LoRa basics modem
implementation.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-09-02 18:41:44 +02:00
Erwan Gouriou
c7086c7e67 drivers: flash_stm32_xspi: Fix Dummy Cycles on MX66UM1G45G NOR at 200MHz
This commit is fixing configuration of mx66uw1g45g NOR when working
at 200MHz.
According to its specification, when running at 200MHz, this memory should
use a Number Dummy Cycles configuration of 20 (DC bits in CFGR2), which is
the device's default configuration.
Applying the 66MHz configuration as done today was preventing flash to run
at frequency higher than 100Mhz.

This commit doesn't solve the more generic problem of this driver which
is applying this 66MHz configuration universally, irrespective of the
frequency and the memory device, but fixes the configuration which was
reported broken today.

Providing a global change would require starting a clear split between XSPI
controller configuration an bus device configuration, which is what new
MSPI API intend to solve, so this will be tackled once this driver will be
available.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2025-09-02 15:54:56 +02:00
Benjamin Cabé
c820085376 drivers: timer: stm32: fix typo in kconfig help
Corrected the LSE frequency value from 32678 to 32768.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-09-02 15:54:48 +02:00
Luc BEAUFILS
d31f0138ad drivers: wdt_iwdg_stm32.c: freeze watchdog in debug mode for mp2x SoCs
The IWDG4 is on the APB3 bus on STM32MP2x SoCs. When the system is
in debug mode, the watchdog should be frozen to prevent it from
expiring and resetting the system during debugging sessions.

Signed-off-by: Luc BEAUFILS <luc.beaufils@savoirfairelinux.com>
2025-09-02 15:53:41 +02:00
Luc BEAUFILS
df4ed5e281 clock_control: clock_stm32_ll_mp2: add wwdg1 clock support
WWDG1 clock = ((MCU clock / LSMCU div) /APB3 prescaler)

Signed-off-by: Luc BEAUFILS <luc.beaufils@savoirfairelinux.com>
2025-09-02 15:53:41 +02:00
Luc BEAUFILS
43b63b13e6 drivers: wdt_wwdg_stm32: freeze watchdog in debug mode for mp2x SoCs
Like the H7x series, the MP2x series has a WWDG1 peripheral in the APB3
bus. The MP2 has the same LL function to freeze the watchdog in debug
mode.

Signed-off-by: Luc BEAUFILS <luc.beaufils@savoirfairelinux.com>
2025-09-02 15:53:41 +02:00
Qiankun Li
e045e397e1 drivers: wifi: nxp: Set default bandwidth for softap
When params->bandwidth is 0, set it
as a default value(WIFI_FREQ_BANDWIDTH_20MHZ).

Signed-off-by: Qiankun Li <qiankun.li@nxp.com>
2025-09-02 12:33:01 +02:00
Aksel Skauge Mellbye
aec461634f drivers: gpio: silabs: Support EM4 wakeup interrupts
EM4 wakeup interrupts are dedicated interrupts tied to specific
pins that enable wakeup from EM4 through reset. Add support
for using these interrupts instead of the regular interrupts when
the GPIO_INT_TRIG_WAKE flag is set.

Since it's not possible to tell what pin is associated with what
EM4WU interrupt at runtime, the driver must store a mapping table
sourced from device tree.

Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
2025-09-02 11:10:33 +02:00
Muzaffar Ahmed
d94b2fd4e4 drivers: wifi: siwx91x: Add support for definitive MFP config
Replaced the MFP config logic with dedicated getter and setter APIs

Signed-off-by: Muzaffar Ahmed <muzaffar.ahmed@silabs.com>
2025-09-02 11:09:39 +02:00
Francois Ramu
e5620e07c9 drivers: flash: stm32 xspi flash read with memcopy when executing
When the application is executed in external flash, the read operation
cannot be in indirect mode but with memcopy.
Note that writing or erasing the external flash being executed
is not possible during the execution.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2025-09-02 11:09:29 +02:00
Tomasz Bursztyka
9663b17dba drivers: clock_control: Fix setting hfxt oscillator in mspm0 clock
Trival fix, as there is no mspm0_hfclk_cfg (yet anyway?).

Signed-off-by: Tomasz Bursztyka <tobu@bang-olufsen.dk>
2025-09-02 10:00:05 +02:00
Tomasz Bursztyka
8454ff70f2 drivers: counter: Fix mspm0 alarm cancellation
Cancelling the alarm needs to reset the callback to NULL, else setting
an alarm subsequently will never work.

chan_id parameter being unused, using ARG_UNUSED() relevantly then.

Signed-off-by: Tomasz Bursztyka <tobu@bang-olufsen.dk>
2025-09-02 09:59:58 +02:00
Elmo Lan
79d7ce61d2 driver: crypto: fix timing discrepancies
Use a temporary variable to store and compare the reference time
instead of calling the time function multiple times,
which may lead to slight mismatches in comparison due to timing drift.

Signed-off-by: Elmo Lan <elmo_lan@realtek.com>
2025-09-02 07:56:56 +02:00
Manikanta Guntupalli
156e6488db drivers: i3c: Correct initialization order
The current initialization sequence enables the I3C controller before
setting the controller information, which can result in improper setup
and cause the controller to not function as expected.

Fix the initialization order by ensuring that the controller information
is set prior to enabling the controller.

Signed-off-by: Manikanta Guntupalli <manikanta.guntupalli@amd.com>
Signed-off-by: Balanakakamal V <balanakakamal.v@amd.com>
2025-09-01 23:28:09 +02:00
Pieter De Gendt
8993a5ed10 drivers: flash: shell: Fix printing partitions without labels
Commit df0f74d491c851b3e7e970f898c5c2fc3aab5b80 added a shell command to be
able to print out the partitions. However the label property is optional.

Print both the name and label if available.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2025-09-01 23:27:28 +02:00
Chun-Chieh Li
cfa837c6dd drivers: usb: udc: refine log message in udc_common.c
This refines log message in udc_common.c, including:
1. Add address of allocated net_buf info into udc_ep_buf_alloc log so
   that net_buf create/destroy can be easily monitored with calls to
   udc_ep_buf_alloc and udc_buf_destroy.
2. Add ep info into udc_ep_buf_alloc log on failure.

Signed-off-by: Chun-Chieh Li <ccli8@nuvoton.com>
2025-09-01 23:27:19 +02:00
Erwan Gouriou
f0a585645d dts: arm: st: n6: Disable axisram3
Those memories should be disabled by default and enabled
at application level.

Incidentally, fix the way Kconfig symbol is enabled as
we should not parse status of ramcfg, but status of enabled
memory nodes.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2025-09-01 23:27:13 +02:00
Gerson Fernando Budke
6bdd63fe93 drivers: serial: sam0: Fix rx ready
The uart_sam0_irg_rx_ready() function always returns true, even if
interrupt is disabled. This happens because the function do not
evaluate if the interrupt is enable of not. This fixes the issue
by adding the missing check.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2025-09-01 16:56:36 +01:00
Muzaffar Ahmed
42c065f9cc drivers: wifi: siwx91x: Add support for RTS Threshold
Implemented siwx91x_set_rts_threshold and siwx91x_get_rts_threshold

Signed-off-by: Muzaffar Ahmed <muzaffar.ahmed@silabs.com>
Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
2025-09-01 16:40:40 +02:00
Marek Matej
8752465f41 drivers: flash: shell: add partition listing
Add command `flash partitions` to list all existing partitions.

Signed-off-by: Marek Matej <marek.matej@espressif.com>
2025-09-01 09:32:06 +02:00
Julien Panis
22d04f7f93 drivers: crypto: cc23x0: Add power management
Add PM support to cc23x0 AES module.

Signed-off-by: Julien Panis <jpanis@baylibre.com>
2025-08-29 22:55:37 -04:00
Anisetti Avinash Krishna
e018a7e8dd drivers: pwm: Enable PWM support for PTL-h
Enable PWM support on PTL-h and add 64bit
address support for PWM driver.

Signed-off-by: Anisetti Avinash Krishna <anisetti.avinash.krishna@intel.com>
2025-08-29 19:18:28 -04:00
Declan Snyder
02b99470a3 drivers: ethernet: ksz8081: Save link state for get
Instead of using mdio bus for getting link state, only get it in the
monitor and save it off for get rate api implementation to use

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-08-29 18:19:17 +02:00
Declan Snyder
043ec3d9ee drivers: phy_ksz8081: Fix boot and link up
Two issues are being simultaneously address in this commit:

Issue 1:

Current issue is that zephyr boot / init is slow because it is blocked
by the phy ksz8081 init doing autonegotiation which can take on the
order of a few seconds.

Fix by now doing autonegotiation in the monitor handler instead of in
the cfg link call. The cfg link call will now only set the ANAR register
and a software flag to let the monitor handler know whether or not to
redo the autonegotiation sequence.

Issue 2:

The ksz8081 phy currently does not link up ever on cold boots on the NXP
RT platforms due to regression on mainline. My understanding of why is
not clear, but I found that re-setting the RMII override bit by the time
the monitor work handler runs with the change to fix the first issue,
makes the link come up.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-08-29 18:19:17 +02:00
Declan Snyder
be8a0f3d1e drivers: phy_ksz8081: Improve logging
Improve logging in the driver, using appropriate log levels.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-08-29 18:19:17 +02:00
Declan Snyder
aad41f8d66 phy: ksz8081: Minor refactor of init gpio code
Minor refactor to remove the #ifdefs inline in init function.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-08-29 18:19:17 +02:00
Christian Rask
23157c10e5 drivers: display: ili9xxx: add tearing effect support
Add tearing effect support for better display synchronization. If
tearing effect is configured in the mipi_dbi device, the display
controller configures its tearing effect register.
Display orientation configuration is updated to also rotated the
direction of the display pixel vertical scanline, such that scan order
matches the display orientation.

Signed-off-by: Christian Rask <christianrask2@gmail.com>
2025-08-29 11:05:38 +02:00
Christian Rask
fe356031db drivers: mipi_dbi: spi: add tearing effect support
Add tearing effect support for better display synchronization. This
allows users to configure an external interrupt on falling/rising edges
of the gpio connected to the display controllers tearing effect pin.
See dt-bindings/mipi_dbi/mipi_dbi.h for details of how this works for
mipi_dbi display interfaces.

Signed-off-by: Christian Rask <christianrask2@gmail.com>
2025-08-29 11:05:38 +02:00
Quy Tran
eb61b44ee9 drivers: cmt: Update cmt driver for Renesas RX
- Update sys_clock_set_timeout function for Renesas RX using CMT
- Remove some unused definitions

Signed-off-by: Quy Tran <quy.tran.pz@renesas.com>
2025-08-29 09:00:50 +02:00
Bjarki Arge Andreasen
1a47cd95d8 power_domain: nrfs_gdpwr: patch init sync
The nrfs_gdpwr driver has a two stage init, which requires tracking
an "expected" state of the power domain, to be applied once the
ipc service needed to control the power domain is ready. This was
tracked with the "off" member of struct domain_data.

So, "off" was initialized to false, but, should actually be
initialized to true, since by default, if nothing needs the power
domain, it should be turned off when ipc service is ready.

To fix this, rename "off" member to "on" and adjust logic.

Additionally, define the correct struct domain_data in the
DOMAIN_DEFINE() macro. Can save 2 bytes. This did not cause any
issue since we typecast it anyway, and its size is large enough.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-08-29 09:00:19 +02:00
Dmitrii Sharshakov
166e1a3b81 drivers: udc_rpi_pico: use reset API
No need to toggle reset line manually, use the standard reset API.

This improves code searchability and aids debugging.

Requires f2f496df84 to make sure reset
deassertion is waited for.

Signed-off-by: Dmitrii Sharshakov <d3dx12.xx@gmail.com>
2025-08-29 08:59:59 +02:00
Khaoula Bidani
302ab40380 drivers: clock_control: stm32: fix compilation issue
Fix compilation issue in test overlay without pll
like hse_8_bypass.overlay and hsi_8.overlay

Signed-off-by: Khaoula Bidani <khaoula.bidani-ext@st.com>
2025-08-28 19:57:57 +02:00
Michał Stasiak
2939ccdf42 drivers: adc: adc_nrfx_saadc: add nRF54LS05B analog pins
Added array of analong pins for nRF54LS05B.

Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
2025-08-28 13:59:34 +02:00
Ta Minh Nhat
4228444dd1 driver: ethernet: Add ethernet driver support for ra6m4 and ra6m5
Add ethernet support for RA6M4, RA6M5.
Add soc script for generating Renesas Partition Data (RFP file).

Signed-off-by: Ta Minh Nhat <nhat-minh.ta.yn@bp.renesas.com>
Singed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
2025-08-28 13:58:33 +02:00
Aaron Ye
0d46a93417 drivers: bluetooth: hci: stop rx thread when closes the HCI
Stops the RX thread when closes the HCI for Ambiq HCI driver

Signed-off-by: Aaron Ye <aye@ambiq.com>
2025-08-28 06:24:49 +02:00
Aaron Ye
2c63115f51 drivers: bluetooth: hci: add close function for Ambiq Apollo4 series
This commit adds close function support for Ambiq Apollo4 series SoC
so the bt_disable() API can be used.

Signed-off-by: Aaron Ye <aye@ambiq.com>
2025-08-28 06:24:49 +02:00
Aksel Skauge Mellbye
b83267dba0 drivers: serial: silabs_usart: Fix configure error cases
Enable uart_elementary test and fix edge cases where the
configure function did not return the appropriate error code
when given invalid parity or flow control parameters.

Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
2025-08-28 00:40:11 +02:00
Aksel Skauge Mellbye
3f7e614da6 drivers: watchdog: gecko: Fix API corner cases
Properly return the correct error codes when the watchdog API
is misused. Fail timeout install if WDT_FLAG_RESET_CPU_CORE is
set, a watchdog reset will at a minimum cause a soft reset of
the entire SoC.

Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
2025-08-28 00:40:04 +02:00
Aksel Skauge Mellbye
af4cbdcf31 drivers: adc: gecko: Fix error return values
Enable the adc_error_cases test on Series 2 devices and change
the return values in the driver for unsupported configurations
to what the test expects.

Ensure that the resolution configuration in the test is valid
such that the invalid buffer test correctly receives -ENOMEM.

Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
2025-08-28 00:39:57 +02:00
Qiang Zhang
2441e76ad0 driver: input: Add support for KPP driver.
Added support for KPP driver.

Signed-off-by: Qiang Zhang <qiang.zhang_6@nxp.com>
2025-08-27 09:47:10 +02:00