Commit graph

528 commits

Author SHA1 Message Date
Sergei Ovchinnikov
76c4765a3b drivers: watchdog: nPM10 Series Watchdog driver
Nordic's nPM10 Series PMIC watchdog driver implementation and devicetree
bindings.

Signed-off-by: Sergei Ovchinnikov <sergei.ovchinnikov@nordicsemi.no>
2026-05-21 06:33:15 -04:00
Davide Di Lello
82741b2614 drivers: infineon: Update copyright for Infineon
Update structure of the copyright

Signed-off-by: Davide Di Lello <Davide.Dilello@Infineon.com>
2026-05-12 22:19:02 +02:00
Kevin Wang
d81a19a140 drivers: watchdog: Add select HAS_WDT_DISABLE_AT_BOOT at atcwdt200 Kconfig
atcwdt200 already supports the CONFIG_WDT_DISABLE_AT_BOOT feature.
However, HAS_WDT_DISABLE_AT_BOOT was not enabled in the driver config layer
at that time.
This PR fixes that issue.

Signed-off-by: Kevin Wang <kevinwang821020@google.com>
2026-05-12 11:21:40 +02:00
Fiona Behrens
a20f4aea7e drivers: wdt: numaker: use clock controller to get clock frequency
Use the Clock controller to get the frequency of the WDT clock instead
of hand roling with some defines owned/intendet for the clock
controller.

Signed-off-by: Fiona Behrens <me@kloenk.dev>
2026-05-08 06:44:14 -05:00
Fiona Behrens
a4c4d6ad67 driver: clock_control: init nuvoton numicro m4 scc
Add System Clock Controller for the M480 nuvoton MCU.
This only adds the base driver to setup HIRC, HXT, LIRC, LXT and
PLL. Configuring the PLL driver from a target frequency with
calculating values to best match this frequency.

Signed-off-by: Fiona Behrens <me@kloenk.dev>
2026-05-08 06:44:14 -05:00
Steven Chang
b9cbec5444 drivers: watchdog: kb106x: Fix watchdog reset flag misconfiguration.
- Fix watchdog reset flag misconfiguration.

Signed-off-by: Steven Chang <steven@ene.com.tw>
2026-05-07 13:20:02 +01:00
Sanjay Vallimanalan
143953b66a drivers: watchdog: Add MSPM0 watchdog driver
TI MSPM0 has a WWDT module to initiate a reset when correct operation of
the device has failed due to an unexpected software or system delay.

Signed-off-by: Sanjay Vallimanalan <sanjay@linumiz.com>
Signed-off-by: Jackson Farley <j-farley@ti.com>
2026-05-07 09:10:50 +02:00
Patryk Koscik
783a780db6 drivers: watchdog: gecko: add Series 0 support
The EFM32HG (Series 0) WDOG has no IRQ support, no window mode
and no reset-disable bit.

Guard the logic with HAL feature macros and use `IF_ENABLED` with
`DT_INST_IRQ_HAS_IDX` for conditional IRQ setup.

Add the `wdog0` node to the EFM32HG device tree.

Signed-off-by: Patryk Koscik <pkoscik@antmicro.com>
2026-05-05 09:48:35 +02:00
Scott Laboe
696c37dd1d drivers: wdt: numaker: initial commit
- Initial implementation for the numaker watchdog timer peripheral.
 - Add binding to the m48x series soc.

Signed-off-by: Scott Laboe <scottyl2.718@gmail.com>
2026-04-30 07:50:44 +02:00
Sunil Hegde
c4a791d712 drivers: watchdog: wdt_ti_rtc: Configure reset or NMI using DT property
If DT has IRQ defined, the board supports NMI mode, if reset-capable
property is set then the board can support reset as well. Based
on these DT properties and the flags passed by the application,
NMI mode or Reset mode can be set.

Signed-off-by: Sunil Hegde <s-hegde3@ti.com>
2026-04-23 18:23:29 -04:00
Holt Sun
241f08509c drivers: watchdog: wdt_mcux_wwdt: allow reset-none callback
Allow WWDT callbacks without warning configuration when
WDT_FLAG_RESET_NONE is selected.

This restores callback-at-expiry behavior for reset-none
flows while keeping reset-enabled modes on the guarded
warning-interrupt path.

Signed-off-by: Holt Sun <holt.sun@nxp.com>
2026-04-20 08:26:32 +02:00
Fin Maaß
e7a707e7a4 drivers: watchdog: litex: use mem_addr_t
use mem_addr_t for register addresses.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2026-04-15 17:15:46 -04:00
Fabrice DJIATSA
46f2c75b21 drivers: watchdog: stm32: stm32wb0 series don't support *_FreezePeriph
STM32WB0 watchdog does not support disable the Debug
module during STANDBY mode once the DBGMCU
clock is enabled.

Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
2026-04-03 23:12:22 +09:00
Ren Chen
db64bd6acf drivers: watchdog: it51xxx: improve error handling
`tests/drivers/watchdog/wdt_error_cases` test was failing
on `it51xxx_evb/it51526aw` due to insufficient error
handling. This change fixes those issues, and the following
tests now pass.
- tests/drivers/watchdog/wdt_error_cases
- tests/drivers/watchdog/wdt_basic_api
- tests/drivers/watchdog/wdt_basic_reset_none
- tests/drivers/watchdog/wdt_variables
- samples/drivers/watchdog

Signed-off-by: Ren Chen <Ren.Chen@ite.com.tw>
2026-04-01 09:17:29 -05:00
Pisit Sawangvonganan
c7ca7abc87 drivers: fix typo in (w1, watchdog, wifi)
Utilize a code spell-checking tool to scan for and correct spelling errors
in all files within:
- `drivers/w1`
- `drivers/watchdog`
- `drivers/wifi`

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2026-03-27 20:21:24 -04:00
Arjun Sahajan
1a3d043ab3 drivers: wdt: mchp_xec: Update WDT driver with new macros
Update PCR and GIRQ properties of WDT driver to use new macros

Signed-off-by: Arjun Sahajan <Arjun.Sahajan@microchip.com>
2026-03-26 19:27:05 -04:00
Fabian Blatz
92a78dfa89 drivers: watchdog: wdt_cc32xx: Remove unused variable
Fix build failure caused by unused `rv` variable.

Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
2026-03-25 15:07:02 -04:00
Yves Wang
7d29a090be drivers: watchdog: wwdt: use clock control API for clock management
Update the MCUX WWDT driver to partially use the Zephyr clock control API
instead of direct HAL clock APIs for clock on and get rate.

Keep using HAL clock APIs for set clock divider because the set rate API
accepts clock frequency and it may cause two external calls to get WWDT
frequency.

Support multiple instances.

Signed-off-by: Yves Wang <zhengjia.wang@nxp.com>
2026-03-24 15:38:06 -05:00
Yves Wang
8451ce6704 drivers: watchdog: imx_wdog: support multiple instances
Update the MCUX i.MX WDOG driver to support multiple device instances
instead of being hardcoded to instance 0.

Signed-off-by: Yves Wang <zhengjia.wang@nxp.com>
2026-03-24 15:38:06 -05:00
Yves Wang
57f867c671 drivers: watchdog: wdog32: support multiple instances
Update the MCUX WDOG32 driver to support multiple device instances
instead of being hardcoded to instance 0.

Signed-off-by: Yves Wang <zhengjia.wang@nxp.com>
2026-03-24 15:38:06 -05:00
Guillaume Gautier
fa317fbfab drivers: watchdog: stm32: add wwdg support for stm32c5
Add WWDG support for STM32C5. Replace the IS_WWDG_COUNTER macro (that
doesn't exist in the STM32C5 LL) by the IN_RANGE macro.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2026-03-24 10:51:54 -05:00
Guillaume Gautier
e5cdc0030b drivers: watchdog: stm32_iwdg: add support for stm32c5
Add the *_FreezePeriph function for STM32C5. While at it, fix the driver
for C0/F0/G0/L0 by calling the *_FreezePeriph function once the DBGMCU
clock is enabled (a #endif was missing). It is done the same
way for WWDG driver.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2026-03-24 10:51:54 -05:00
Guillaume Gautier
b963ba69ab drivers: watchdog: stm32: remove old macros
Some macros used in the IWDG driver are no longer present in HAL2. Replace
them by doing the same operation directly.
Also make some clean up/cosmetic changes.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2026-03-24 10:51:54 -05:00
James Walmsley
3e66900bc9 drivers: watchdog: remove build warning for empty watchdog library
Following the convention of other driver libraries, allow the library
to be empty, so there is no build warning if CONFIG_WATCHDOG is
enabled, but no driver is selected.

<!-- ps-id: 2581e043-e366-4115-b6d2-73ca070add8b -->

Signed-off-by: James Walmsley <james@fullfat-fs.co.uk>
2026-03-22 08:30:22 -05:00
Sylvio Alves
82dc0dd851 drivers: watchdog: add esp32c5 support
Extend the ESP32 watchdog driver to support ESP32-C5.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2026-03-19 14:53:05 -05:00
Yves Wang
e2c0dad4fb drivers: watchdog: nxp_s32: fix soft-lock unlock wait
Correct the syntax to check soft unlock status.

Signed-off-by: Yves Wang <zhengjia.wang@nxp.com>
2026-03-18 08:39:33 -05:00
Kevin Wang
c419bf0e1b drivers: watchdog: atcwdt200: add support for CONFIG_WDT_DISABLE_AT_BOOT
Add support for the CONFIG_WDT_DISABLE_AT_BOOT Kconfig option.
If the watchdog timer is enabled by default on the target board,
enabling this option will explicitly disable the watchdog during
the driver initialization phase.

Signed-off-by: Kevin Wang <kevinwang821020@google.com>
2026-03-18 18:20:10 +09:00
Jiafei Pan
b99c17993e drivers: watchdog: imx_wdog: add MMIO mapping support
Enable MMIO mapping support for the driver in order to enable
Cortex-A Core support

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2026-03-18 12:47:05 +09:00
Yves Wang
ae63923ba8 drivers: watchdog: nxp_fs26: fix watchdog field helpers
Fix broken FS26 watchdog field extraction and refresh checks.

Correct the device status macro, simple watchdog write error
handling, related register field helper macros, and use integer
duty-cycle values when selecting the watchdog window.

Signed-off-by: Yves Wang <zhengjia.wang@nxp.com>
2026-03-18 11:02:55 +09:00
Jean-Pierre De Jesus DIAZ
cde85a66ab drivers: watchdog: cc13xx_cc26xx: fix unused variable.
Removed the options variable on wdt_cc13xx_cc26xx_init
which was only initialized to zero and not used.

Signed-off-by: Jean-Pierre De Jesus DIAZ <me@jeandudey.tech>
2026-03-16 19:01:47 -05:00
Alain Volmat
429d6ec112 drivers: wdt_iwdg_stm32.c: add support for the STM32N6x
Add entry in order to stop the watchdog when entering in debug
mode on the STM32N6x.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2026-03-12 09:23:18 -05:00
Harini T
d9220b8286 watchdog: wdt_xilinx_wwdt: Add explicit state validation in feed
Add software state check (!data->wdt_started) to wdt_feed() validation
to ensure feed operations are only allowed after wdt_setup() has been
called.

Signed-off-by: Harini T <harini.t@amd.com>
2026-03-10 15:10:22 +01:00
Gerard Marull-Paretas
a9d73390f8 drivers: watchdog: sf32lb: add support for whole reset
Allow users configuring the reset mode (whole chip or HCPU only).

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2026-03-04 11:42:43 +01:00
Gerard Marull-Paretas
cc29015da6 drivers: watchdog: sf32lb: configure WDT to be reboot cause
Configure WDT to be a reboot cause.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2026-03-04 11:42:43 +01:00
Braeden Lane
bf4f8994e2 drivers: watchdog: wdt_infineon: clamp match count for S8SRSSLT
On CY_IP_S8SRSSLT devices (PSOC 4), the WDT match register is 16-bit.
When Cy_SysClk_IloCompensate returns a compensated count that exceeds
UINT16_MAX (e.g. for a ~2000ms timeout at ~32768 Hz), passing it to
Cy_WDT_SetMatch triggers a HAL assertion that causes a HardFault on
Cortex-M0+.

Clamp ilo_compensated_counts to UINT16_MAX in the setup path, matching
the existing clamp in the feed path (ifx_wdt_timeout_to_match).

Signed-off-by: Braeden Lane <Braeden.Lane@infineon.com>
2026-02-26 10:30:16 +01:00
William Markezana
03286aad00 drivers: watchdog: add Bouffalo Lab BL70x watchdog driver
Add a watchdog timer driver for all Bouffalo Lab SoC families.

Tested on Sipeed M0Sense (BL702) with tests/drivers/watchdog/wdt_basic_api.

Signed-off-by: William Markezana <william.markezana@gmail.com>
2026-02-23 08:52:12 +01:00
Sunil Hegde
33a7ed0179 drivers: watchdog: wdt_ti_rti: add callback support
- Add callback support for the watchdog driver.

Signed-off-by: Sunil Hegde <s-hegde3@ti.com>
2026-02-20 14:58:32 +01:00
Fabrice DJIATSA
d37e4da41c watchdog: drivers: stm32: fix timeout validation using absolute difference
The WWDG timeout check used a signed comparison between the requested
and computed timeout, causing valid configurations to be rejected when
the computed timeout was slightly lower than the requested one.

Replace the comparison by an absolute‑difference check so that the
configured timeout is accepted as long as it stays within the allowed
error margin.
This fixes spurious -EINVAL returned by install_timeout() on STM32.

Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
2026-02-18 16:36:44 +00:00
Mathieu Choplain
a11688fab5 drivers: *: stm32: don't check if clock device is ready
If the clock device (i.e., RCC) failed to initialize, we have bigger
problems than trying to call clock_control_{off,on,configure} on it.
Don't bother checking to save some footprint.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2026-02-13 18:59:16 +00:00
Pieter De Gendt
674a6a1bc8 drivers: watchdog: rts5817: Put API into iterable section
Use DEVICE_API macro to put the driver API into the correct iterable
section.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2026-02-11 07:59:49 +01:00
Mathieu Choplain
cdd4892756 drivers: watchdog: align drivers to (HAS_)WDT_DISABLE_AT_BOOT semantics
There are many drivers which control a disabled-by-default watchdog timer
but take the liberty of selecting HAS_WDT_DISABLE_AT_BOOT and interpreting
WDT_DISABLE_AT_BOOT=n as "enable the timer", which does not correspond to
the semantics of this option.

Update all such drivers to no longer select HAS_WDT_DISABLE_AT_BOOT and
ignore the WDT_DISABLE_AT_BOOT option.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2026-02-10 15:41:46 +00:00
Mathieu Choplain
61d0117615 drivers: watchdog: document semantics of WDT_DISABLE_AT_BOOT
WDT_DISABLE_AT_BOOT should only be used to forcefully disable watchdog
timers that are enabled by default after system reset. Update the Kconfig
help text of WDT_DISABLE_AT_BOOT and its dependency HAS_WDT_DISABLE_AT_BOOT
to make this clear.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2026-02-10 15:41:46 +00:00
Darcy Lu
59a6e3592f drivers: watchdog: add watchdog driver for RTS5817
Add watchdog driver for RTS5817

Signed-off-by: Darcy Lu <darcy_lu@realsil.com.cn>
2026-02-04 13:49:21 +01:00
Peter Wang
bb8ef5dd75 boards: frdm_mcxa577: add watchdog support
1. enable watchdog support
2. verified tests/drivers/watchdog/wdt_basic_api

Signed-off-by: Peter Wang <chaoyi.wang@nxp.com>
Signed-off-by: Neil Chen <cheng.chen_1@nxp.com>
2026-02-03 12:13:16 +00:00
Pete Johanson
53d78468c8 drivers: watchdog: Add MAX42500 driver
Add MAX42500 watchdog driver, including ability to configure voltage
monitors that can also generate reset conditions.

Signed-off-by: Pete Johanson <pete.johanson@analog.com>
2026-02-02 11:38:49 -06:00
Peter van der Perk
80c2beff83 drivers: watchdog: FS26 watchdog support RTIO
Under RTIO SPI behaves differently and thus FS26 didn't work and
would reset the board. This changes to add 8-bit transfer support
and doesn't lock the irq anymore since the SPI driver got changed.
Which would yield an assertion, best it ensure feed callee priority
is high enough.

Signed-off-by: Peter van der Perk <peter.vanderperk@nxp.com>
2026-01-23 10:43:47 +01:00
Dharun krithik k
682493add9 drivers: watchdog: infineon: add PSoC4 support
Add support for the Infineon PSoC4 family to the infineon watchdog driver.
PSoC4 specific ILO frequency and tick period definitions.
Initialization and configuration logic specific to PSoC4.

Signed-off-by: Dharun krithik k <dharunkrithik@aerlync.com>
Signed-off-by: Sayooj K Karun <sayooj@aerlync.com>
2026-01-22 08:39:16 +00:00
Matthias Blankertz
f58602891a drivers: watchdog: wdog32: Add missing include for k_msleep
In commit 1f9e39752a ("drivers: watchdog: wdog32: add delay before
init") a reference to k_msleep was added to
drivers/watchdog/wdt_mcux_wdog32.c without including the necessary
header. At least for the board frdm_mcxw71/mcxw716c, this causes a
compile failure in this file as soon as CONFIG_WATCHDOG is enabled.

Add the missing include to zephyr/kernel.h to fix the issue.

Signed-off-by: Matthias Blankertz <matthias.blankertz@inovex.de>
2026-01-20 20:11:49 -05:00
Albort Xue
c9dc320cf5 drivers: watchdog: wdt_mcux_wdog32: Support named clocks for clock sources
Add support for named clocks in the WDOG32 driver to properly handle
different clock sources. The driver now uses clock-names property to
identify which clock source is being used, based on the clk-source
property.

This change enables proper clock configuration and control for platforms
where the clock frequency is not statically defined in the device tree.
The driver will now configure and enable the appropriate clock during
initialization.

Updated all affected device tree files to include the clock-names
property aligned with their clk-source configuration.

Signed-off-by: Albort Xue <yao.xue@nxp.com>
2026-01-20 14:35:20 -05:00
Gaetan Perrot
f15e645e35 drivers: watchdog: nxp_ewm: fix redundant NULL check
nxp_ewm_install_timeout() accesses cfg fields before checking for
NULL, making the later NULL check ineffective.

Remove the redundant check.

Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
2026-01-16 11:43:06 +00:00