zephyr/drivers/watchdog/wdt_iwdg_stm32.h
Francois Ramu 842a6ba02d drivers: watchdog: stm32 iwdt enable and update during setup
To follow the IWDG configuration sequence, the timeout install is
just preparing the reload and prescaler parameters.
Then during the iwdg setup the watchdog is enabled and configured
at the same time.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2023-01-30 15:05:39 +00:00

38 lines
865 B
C

/*
* Copyright (c) 2016 Open-RnD Sp. z o.o.
* Copyright (c) 2017 RnDity Sp. z o.o.
*
* SPDX-License-Identifier: Apache-2.0
*/
#ifndef ZEPHYR_DRIVERS_WATCHDOG_IWDG_STM32_H_
#define ZEPHYR_DRIVERS_WATCHDOG_IWDG_STM32_H_
#include <zephyr/types.h>
/**
* @brief Driver for Independent Watchdog (IWDG) for STM32 MCUs
*
* The driver targets all STM32 SoCs. For details please refer to
* an appropriate reference manual and look for chapter called:
*
* Independent watchdog (IWDG)
*
*/
/* driver data */
struct iwdg_stm32_data {
/* IWDG peripheral instance. */
IWDG_TypeDef *Instance;
uint32_t prescaler;
uint32_t reload;
};
#define IWDG_STM32_DATA(dev) \
((struct iwdg_stm32_data * const)(dev)->data)
#define IWDG_STM32_STRUCT(dev) \
((IWDG_TypeDef *)(IWDG_STM32_DATA(dev))->Instance)
#endif /* ZEPHYR_DRIVERS_WATCHDOG_IWDG_STM32_H_ */